CN104394949A - 带有移动装置动作传感器输入的基于网络的游戏平台 - Google Patents

带有移动装置动作传感器输入的基于网络的游戏平台 Download PDF

Info

Publication number
CN104394949A
CN104394949A CN201380022708.0A CN201380022708A CN104394949A CN 104394949 A CN104394949 A CN 104394949A CN 201380022708 A CN201380022708 A CN 201380022708A CN 104394949 A CN104394949 A CN 104394949A
Authority
CN
China
Prior art keywords
game
methods
action data
action
data
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.)
Pending
Application number
CN201380022708.0A
Other languages
English (en)
Inventor
马努基·拉娜
罗伯特·S·考默若斯-金
马克·杰弗里
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.)
A Kuimo Co Ltd
Ai Golf LLC
Original Assignee
A Kuimo Co Ltd
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
Application filed by A Kuimo Co Ltd filed Critical A Kuimo Co Ltd
Publication of CN104394949A publication Critical patent/CN104394949A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • 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
    • A63F13/428Processing 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 involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • 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/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/812Ball games, e.g. soccer or baseball
    • 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/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • 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
    • 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/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/204Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform the platform being a handheld device
    • 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/406Transmission via wireless network, e.g. pager or GSM
    • 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Pinball Game Machines (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

提供了一种分布式游戏平台(100),其中,使用带有动作传感器的移动装置(10)(例如,智能电话)作为游戏的输入控制器。一个基于云的游戏规则引擎(110)管理多个玩家以及游戏中的显示内容。游戏输出被显示在任意启用网络的显示器(20)上,该显示器在物理上不同于移动装置(10)。多个玩家可以在多个地理位置处同时玩同一个游戏、或者不同的游戏。

Description

带有移动装置动作传感器输入的基于网络的游戏平台
相关申请的交叉引用
本申请要求于2012年5月2日提交的杰弗里(Jeffery)等人的题为“带有移动电话动作传感器输入的基于网络的运动游戏平台(WEB-BASED SPORTS GAME PLATFORM WITHMOBILE PHONE MOTION SENSOR INPUT)”的美国临时序列号61/641,825的权益,通过引用将其主题结合在此。本申请还涉及2011年10月7日提交的杰弗里(Jeffery)的题为“用于多媒体演示线程的动态组装的方法和***(METHOD AND SYSTEM FOR DYNAMICASSEMBLY OF MULTIMEDIA PRESENTATION THREADS)”的美国专利申请序列号13/269,534;2012年10月18日提交的杰弗里(Jeffery)等人的题为“用于使用移动装置的动作传感器分析运动动作的方法和***(METHOD AND SYSTEM TO ANALYZE SPORTSMOTIONS USING MOTION SENSORS OF A MOBILE DEVICE)”的美国申请序列号13/655,366;以及2012年10月24日提交的杰弗里(Jeffery)等人的题为“用于响应于移动装置的动作提供动态定制的运动指导的方法(METHOD TO PROVIDE DYNAMICCUSTOMIZED SPORTS INSTRUCTION RESPONSIVE TO MOTION OF A MOBILEDEVICE)”的美国申请序列号13/659,774;这些专利申请中的每一个的主题以其整体通过引用结合在此。
背景技术
1.技术领域
本发明涉及计算机游戏领域,并且更具体地涉及一种带有移动装置动作传感器输入的分布式基于网络的游戏平台。
2.相关技术说明
视频游戏中存在广泛的现有技术,可以追溯到1972年的第一款Pong游戏,其中,通过一个非常简单的控制器,用户在一个单色荧光屏上使用“球拍”(上下滑动的两条短线)来前后击打“球”(屏幕上的一个点)。控制器和游戏控制台在最近40年有了相当大的发展。例如,PlayStation Move定制了用于高尔夫球(老虎伍兹高尔夫(Tiger Woods Golf))和网球(网球四大满贯(Grand Slam Tennis))、或者格斗(The Fight)的控制器,其中,游戏控制台成本大约为250美元,而定制控制器成本为额外的70美元。例如,Move控制器使用一个摄像头,并且通过一个带有红外光传感器的蓝牙控制器来捕获动作。Xbox 360Kinect甚至不使用物理控制器,通过三个3-D摄像头和复杂的图案辨识算法来捕获玩家身体动作。Wii、PlayStation以及Xbox 360具有网络能力,从而使得多玩家能够通过他们的托管在线网络来玩游戏。
许多基于个人计算机的游戏使用计算机的键盘和/或鼠标作为控制器。在魔兽世界(Worldof Warcraft)中,例如,通过使用用于通信的键盘,用户点击他们的角色以及屏幕上的功能以控制战士在移动、战斗和布局过程中的动作。在智乐(Gameloft)的一起高尔夫(Let’s Golf)3和世界高尔夫PGA巡回赛(World PGA Tour Golf)中,玩家点击一个“滑动条”以控制化身(avatar)高尔夫球角色的挥杆。虽然这些游戏不需要购买昂贵的控制器,使用键盘和/或鼠标来控制它们是困难的。这在高技能的游戏(如高尔夫球)中是尤其明显的,在这样的游戏中,一次最优挥杆击球要求多维的身体动作,该多维的身体动作组合摆臂、转臀和转肩、手腕合页、臀部移位、前臂转动、以及由内向外的挥杆路径,其中的每一个动作不正确完成都将导致次于最优的击球。实际上,根本不可能使用键盘和/或鼠标来进行高尔夫挥杆的全部动力学的模拟。
任天堂(Nintendo)Wii控制器通过蓝牙连接来连接到游戏控制台上并使用ADXL330加速度计感测三轴中的加速度。Wii遥控器的特征还在于一个原相(PixArt)光学传感器,该光学传感器与一个10LED传感器条组合并且物理地连接到游戏控制台上,允许确定Wii遥控器指向哪儿。一家台湾公司华擎科技(ASRock)主张使用iPhone动作传感器来模仿用于Nintendo Wii游戏的控制器,从而使得用户能够使用iPhone作为游戏控制器来玩现有的基于Wii或PC的游戏。使用蓝牙或者WiFi网络将iPhone连接到游戏控制台上。这降低了控制器的成本,但是用户仍然需要游戏控制台或者在他们的个人计算机中的一个具体的游戏控制器硬件主板。ASRock软件安装也具有挑战性,并且存在某些可用性问题。
注意,Nintendo Wii控制器、或者使用iPhone的模拟ASRock Wii控制器提供了许多运动动作(如高尔夫挥杆、棒球挥杆、或者网球发球)的非准确表示的数据。也就是说,Wii控制器仅能够提供许多运动动作的总体近似。例如,它能够感测到你是否做了一个高尔夫挥杆动作并且能够大致感测到你如何用力地挥杆,但是该方法无法准确地计算出杆头通过撞击时的撞击速度或者精确角度。
金姆(Kim)的美国公开专利申请2010/0069158公开了一种用于带有移动电话、游戏服务器、以及连接到显示装置的游戏控制台的多玩家纸牌和棋盘游戏(如韩国花札(KoreanHwatu)和麻将(Mah-Jong))的方法。然而,金姆(Kim)明确地要求物理连线到显示装置的游戏控制台具有来自移动装置的简单的按键数据输入(ASCII数据),这些移动装置并不适合于用于运动游戏(如高尔夫球)的真实控制;并且这些移动电话必须连接到游戏控制台上(例如,通过蓝牙、红外或无线LAN连接)。
艾伦(Allen)等人的美国专利号8,019,878描述了一种通过移动装置控制局域网(LAN)上的网络浏览器以便创建游戏的方法。然而,该方法只限于连接到相同的LAN上的装置,并且要求移动装置与LAN上的网络浏览器的直接连接以及到网络浏览器的插件软件下载,该插件软件在当前可用的启用网络的电视中不能工作。
视频游戏现有技术中存在显著的局限性。在基于控制台的游戏的情况下,所有权的总成本对用户来说是显著的(至少要250美元用于支持单个游戏的平台,单独的游戏每个花费约为70美元、并且控制器花费额外的70美元)。或许这就是基于控制台的游戏销量几年来一直停滞的一个原因。对于基于PC、平板计算机、或移动电话的游戏,典型地用户输入是通过计算机键盘或者触摸屏来进行的,并且这种接口对于涉及运动身体动作的游戏(如高尔夫球、棒球、保龄球或网球)来说不是最优的。
发明内容
根据本发明的***和方法,提供了一种分布式游戏平台,其中,使用带有动作传感器的移动装置作为游戏的输入控制器。一个基于云的游戏服务器管理多个玩家以及游戏中的显示内容。游戏输出被显示在任意启用网络的显示器上,该显示器在物理上不同于移动装置。多个玩家可以在多个地理位置处同时玩同一个游戏、或者不同的游戏。
本发明的一个值得注意的特征在于每一个用户建立两个分开的、同时的互联网连接:一个是从用户的移动装置到基于云的游戏规则引擎,而另一个是从启用网络的显示器到游戏规则引擎。虽然不做要求,如果移动装置和显示装置都在同一个无线局域网(LAN)上,还可以有一个从移动装置直接到显示装置的连接。这种可选连接具有减少到用户与显示装置的延迟的优点。也就是说,在显示装置与移动装置位于相同的局域网(LAN)上时,通过LAN直接将挥杆数据传递给显示装置要快于通过多个路由器将数据发出到一个远程服务器、然后通过多个路由器返回至显示装置。
此外,采用了一种带有三级计算处理的分布式架构:使用移动装置的处理器分析身体动作,基于云的游戏规则引擎管理多个玩家、分析玩家交互、存储并分析玩家动作历史、并且推送(或允许拉取)游戏内容至每一个显示装置,并且显示装置本身处理本地游戏逻辑并使用从基于云的游戏规则引擎推送来的轻型游戏逻辑来渲染动画。
本方式至少有三个显著的优点:
不需要额外的设备。到2015年,全世界范围将有超过十亿部智能电话,并且所有这些新电话都将具有动作传感器。在此所披露的***的成本显著低于传统的游戏控制台,并且在不远的将来普通用户将具有所有的必需设备:具有动作传感器的移动装置、以及启用网络的显示器。
不需要计算机键盘、鼠标或触摸屏来控制游戏。键盘方式对于运动动作游戏(如高尔夫球、棒球或网球)来说是尤其不现实的。对于高尔夫球、棒球或网球来说,例如挥动手机击打一个显示在启用网络的电视上的虚拟球而不是敲击键盘上的按键或者点击鼠标将具有明显更好的真实世界的体验。此外,Wii游戏控制器和基于视频的身体动作捕获并不是特别准确,并且不能在当前启用高尔夫挥杆的精确分析,例如,仅仅是一个总体动作。
游戏控制台(如Wii或Xbox)使得能够对三维物体进行丰富的图形渲染,并且具有高性能超级计算机(如1990年代的Cray Y-MP)的等同计算能力。所披露的***使得多玩家能够在多个地理上分散的位置同时玩游戏,无需购买带有高性能图形处理器的游戏控制台或者个人计算机。所披露的游戏被专门设计成在任何启用网络的具有较低计算能力的装置上工作,并且具有丰富的图形内容,这是对某些控制台游戏(如老虎伍兹PGA高尔夫球巡回赛(Tiger Woods PGA Golf))的一种增强。
此外,要实现所披露的基于网络的分布式游戏平台,至少利用五种重要的技术创新:
(1)一种用于从移动装置传感器中准确地捕获原始动作数据、在移动装置上分析这些数据、以及以使能低延迟连接的形式传输经分析的数据的方法;
(2)一种***地减少从游戏规则引擎发送到启用网络的显示装置的游戏显示媒体的带宽和延迟以及用于对在启用网络的显示器上缓存的内容进行排队从而最小化带宽使用和延迟的方法;
(3)一种增强用于特定显示装置的游戏显示媒体从而模拟真实世界同时对显示装置的带宽和分辨率进行优化的方法;
(4)一种用于计算分配从而使得移动装置、游戏规则引擎、以及启用网络的显示器能够以分布式处理架构对游戏动作、多玩家、游戏规则、以及对应的输出显示动画进行最优分析的方法;以及
(5)一种用于游戏规则引擎和显示装置检测用户输入的方法,这些用户输入可以使用或者一个用户数据库的周期轮询或者一种事件驱动架构,其中,移动装置发布挥杆事件,并且游戏引擎和显示装置订阅特定用户的特定事件。
在结合附图阅读时,从以下优选实施例的详细说明中,本发明的这些和其他方面、特征以及优点将变得清晰。
附图说明
图1示出了移动装置的各种类型的转动运动;
图2示出了根据本发明的一个实施例的用于多玩家分布式游戏平台的示例性架构;
图3示出了根据本发明的一个实施例的多玩家游戏平台架构的示例性实施例;
图4(a)至图4(e)示出了本发明的一种高尔夫球游戏的一个优选实施例的各种用户体验;
图5示出了根据本发明的一个实施例的一种高尔夫球游戏的多玩家游戏平台的示例性实施例;
图6(a)和图6(b)示出了根据本发明的一个实施例的划分为对应于多个数字图像的多个分段的高尔夫球洞;
图7(a)和图7(b)示出了在对确定挥杆精确度有用的示例全高尔夫挥杆过程中的移动装置的劈起和滚动;
图8(a)和图8(b)示出了使用移动装置的劈起数据确定撞击点和高尔夫杆头通过该撞击点时的速度;
图9(a)和图9(b)示出了使用在示例全高尔夫挥杆过程中移动装置的劈起和偏转来确定撞击点;
图10示出了根据本发明的一个实施例使用层次、动态图片、和/或子画面动画来增强数字图像的真实性;
图11(a)至图11(c)示出了在示例网球挥杆或坐姿水平高尔夫挥杆过程中移动装置的劈起、偏转和滚动的变化;
图12(a)至图12(c)示出了棒球挥杆的偏转、滚动和劈起;并且
图13(a)至图13(c)示出了保龄球动作的劈起、滚动和偏转。
具体实施方式
如在此所使用的,移动装置是指具有微处理器、存储器、和集成动作传感器的手持式装置。这种移动装置的示例包括苹果iPhone、苹果iPod、以及三星Galaxy智能电话。应理解到,这里提到的这种移动装置仅用于说明性目的。
如在此所使用的,显示装置是指任何能够用图形方式显示网页的连接互联网的显示器。
如在此所使用的,图像是指任何视觉上可感知的图形元素,这些图形元素包括但不限于照片、子画面、动态图片、视频、光栅或向量图像、动画、以及其他由图形引擎生成的视觉对象、以及它们的组合。
如在此所使用的,带宽使用是指能够在一个给定时间段内沿着通信信道传递的数据量。
如在此所使用的,延迟是指在数据的传输和接收之间的时间延迟。
如在此所使用的,校准点是指在运动动作开始前在准备位置上的移动装置的时间和空间位置。
如在此所使用的,撞击点是指与虚拟对象撞击的时间和空间位置。
如在此所使用的,释放点是指虚拟对象的释放的时间和空间位置。
在某些运动中,如高尔夫球,撞击点和释放点在时间和空间上可以是同一物理位置。然而,在其他运动中,撞击点和释放点可以不重合。例如,在长曲棍球中,长柄球棍(球在撞击点撞击长曲棍球球棍)接住球并且然后从一个不同位置(在释放点)从该球棍投掷该球。此外,在某些运动中,由于没有撞击点,所以只有释放点。例如,在飞蝇钓中,通过将角动量传给钓竿的手腕甩动而出现释放点,其在某一最大值以上致使加重的鱼钩从钓竿上释放。
图1示出了移动装置10的动作传感器所测量的各种类型的转动运动。这些传感器包括捕获X、Y和Z加速度数据(以沿着对应的轴线的G表示)的加速度计、以及当移动装置10移动时对移动装置的劈起、滚动和偏转进行测量的陀螺仪。现在,这些动作传感器每秒采样大约100次(100赫兹),其中,(通过或者轮询或者数据推送)使得此数据可用于移动装置10上加载的应用。可以与本发明结合使用的代表性陀螺仪为意法半导体有限公司(STMicroelectronics,Inc.)制造的L3G4200D陀螺仪。然而,应理解到,本发明并不局限于当前可用的动作传感器技术。
图2示出了根据本发明的一个实施例的游戏平台100的一个示例性架构。正如所示,游戏平台100的三个主要部分是移动装置10、游戏服务器110、以及显示装置20。游戏服务器110包括管理多个进行中的游戏的游戏规则引擎115。正如所示,游戏规则引擎115可以访问用户数据库116、游戏资源数据库117、以及动作档案数据库118。用户数据库116存储登录信息和游戏信息。对于高尔夫球,游戏信息可以包括游戏过程中所做的每一次挥杆的挥杆数据、玩家的当前分数、当前高尔夫球洞号、当前选择的高尔夫球杆等。游戏资源数据库117可以包括用于在显示装置20上模拟游戏的图形内容。例如对于高尔夫球,游戏资源数据库117可以包括每个高尔夫球洞的各部分的多个2-D图像或视频,对这些图像或视频进行标引从而使得可以根据虚拟高尔夫球预计着陆在一个高尔夫球洞的哪个分段来检索图片。如将更详细描述的,游戏资源数据库117还可以包括各种其他的图形元素(如动态图片、视频和子画面)来增强游戏体验。动作档案数据库118包括用于长期分析的历史动作数据,例如对于高尔夫球,用于挥杆、推杆、和削球一致性改进的纵向比较的关于挥杆动作精确度的数据。
在所示出的实施例中,游戏服务器110是基于云的,通过互联网150使能全球连通性。对于每一个用户来说,用户的移动装置10和显示装置20可以通过分开并且不同的互联网连接同时连接到游戏服务器110。移动装置10将数据(包括分析后的动作数据)传输到游戏服务器110;反过来,游戏服务器110通过分开的互联网连接使得更易于将游戏媒体显示在显示装置20上。在一个实施例中,一个形式为软件应用的轻型游戏逻辑引擎120可以被推送到一个合适的启用网络的显示装置20,在显示装置处游戏规则引擎115的大量逻辑被编码,并且游戏规则引擎120然后可以执行有待以其他方式直接在游戏服务器110处执行的许多工作。
在一个实施例中,用户的移动装置10和显示装置20可以通过局域网(LAN)可选地连接到相同的网路,如图2中的虚线75所描绘的。LAN连接使得对于在相同的地理位置处的用户的动作和游戏动画显示之间的延迟非常低。在本实施例中,动作数据直接从移动装置10传递到显示装置20并且到游戏服务器110,以便使得在不同地理位置(不在相同的物理LAN上)的多玩家能够进行游戏。动作数据通过互联网150从每一个移动装置10传输到游戏服务器110,其中,动作数据被用来更新游戏中的其他玩家的显示装置10和/或20。LAN连接75使得数据能够非常快(毫秒)地传递到与移动装置10位于相同LAN上的显示装置20,从而加速那个特定玩家的游戏进行。因此,例如,对比将数据传输到游戏逻辑服务器然后通过一个非本地连接转发到显示装置20的可观(例如三分之一秒)延迟,当移动装置与显示装置均连接到相同的LAN上时,挥动移动装置10将会导致在显示装置20上出现一个几乎瞬时的球飞行。
当显示装置是个人计算机、启用网络的电视、平板计算机、或类似的计算装置时,可以通过安装一个合适的网络浏览器插件来完成连接。优选地,用户会被要求点击一个“同意按钮”以安装插件,并且使能为移动装置10搜索LAN以及与装置10的通信。或者,程序可以是一个定制网络浏览器,该浏览器被配置成用于“侦听”本地网络,从而使得插件能够高效地内置。目前的iPad、安卓(Android)、以及网络电视网络浏览器并不支持插件功能;然而,预期在不远的将来,这些装置中的某些将会变成更开放的平台并且使能类似的连接。对于iPad和Android平台,可以编写定制应用,这些定制应用基本上是围绕网络浏览器的带有集成插件的皮肤。因此,到移动装置10的直接LAN连接可以连接到众多启用网络的显示装置平台。
图3示出了根据本发明的一个实施例的多玩家游戏平台架构的示例性实施例。移动装置10和网络显示装置20可以位于相同的地理位置或者不同的位置。移动装置10与网络显示装置20之间的通信通过使用长轮询(如WebSocket)来进行。正如所示,在移动装置10与游戏服务器110、以及游戏服务器110与显示装置20之间建立了两种不同的长轮询连接180。游戏服务器110采用多个轮询端口130以支持多个用户与显示装置。
在本发明的以下描述中,披露了用于执行本发明的各个方面的示例性方法。应理解到,这里所披露的本发明的方法和***可以通过执行计算机程序代码来实现,该计算机程序代码由多种合适的编程语言(诸如C、C++、C#、Objective-C、Visual Basic以及Java)编写。应理解到,在某些实施例中,可以使用例如AJAX(异步JavaScript和XML)范例在显示装置上执行应用逻辑的大部分,以创建一个异步网络应用。此外,应理解到,在某些实施例中,应用的软件可以分布在多个不同的服务器(未示出)之间。
还应理解到,本发明的软件还将优选地包括各种使用一个合适的浏览器(例如Safari、Internet Explorer、Mozilla Firefox、Google Chrome、Opera)以客户端可访问的HTML、PHP、Javascript、XML以及AJAX编写的基于网络的应用。
本发明的一个显著方面是一种在渲染特定的显示装置20的最优图形分辨率的同时优化带宽使用并最小化延迟的***方法。延迟是需关注的一个尤其重要的问题,并且涉及到带宽使用和显示图形分辨率。用户输入身体动作与在输出显示装置上的模拟动作之间的时间延迟消弱了运动游戏的真实性。此外,加载下一个场景的延迟也可能让用户沮丧。另一个目标是使得用户体验尽可能天衣无缝,对输入动作几乎瞬时显示输出,以及丰富的图形内容的场景之间的切换小于一秒钟。
作为带宽使用的影响的示例,使用1Mb/秒(Tl)的连接,5MB(百万字节)的视频或照片将花费40秒来下载。使用5Mb/秒的连接,同一个视频将花费8秒来下载,这种连接在美国是平均家庭宽带连接速度。因此,如果游戏的数据密度(比特数)非常大,那么用户将可能会在内容下载过程中体会到明显的延迟。
预期在未来几年内在发达国家平均带宽使用将大幅提高至大约50Mb/s。这是由于4G和LTE蜂窝数据网的发明、以及固定线路电缆、以及电信运营商升级他们的***以保持与4G相竞争。以50Mb/s的速度,5MB的文件将只花费0.8秒来下载。然而,同时随着时间的推移,显示装置在大小和像素分辨率上在增加。作为示例,在2012年,在美国平均LCD电视显示装置为37",像素分辨率为1920×1080,成本为$300至$500,其中,相同的分辨率46"成本大致为$700,并且60"显示器成本低于$2000。到2015年,60"LCD可能接近$700的价格点,但是分辨率将增加到2560×1440。因此,存在针锋相对的因素:带宽使用和显示分辨率,两者均随着时间平行增加。
作为延迟的一个示例,随着用户挥动移动装置10(假设移动装置与显示装置在不同的网络上),在将数据通过互联网传输至进行计算的游戏服务器110上、然后传输到显示装置20时,存在时间延迟。如果多个大的带宽文件被同时传送到显示装置而超出了装置的带宽使用,这种时间延迟会被加剧,因为动作数据基本上必须与其他的正在通过瓶颈进行传送的游戏数据排队成一条线等候。这里所披露的方法在如下三个方面对***性能进行了优化:(1)带宽使用;(2)整体***延迟;以及(3)显示装置分辨率。
在图2和图3中,运动动作检测和输出显示的整体***延迟ΔT是:
ΔT=Δt挥杆分析+Δt网络12+Δt游戏服务器+Δt网络23+Δt图形引擎  (1)
其中,Δt挥杆分析是在移动装置上进行运动动作分析的时间,Δt网络12是通过网络从移动装置10到游戏服务器110的传输时间,Δt游戏服务器是在游戏服务器110的处理时间,Δt网络23是从游戏服务器110到显示装置20的传输时间,并且Δt图形引擎是在显示装置20上显示动画、图像或其他数据的处理和时间。在图3的实施例中,长轮询(如WebSockets)的优点是将来自移动装置10的动作数据作为一个事件向游戏引擎110广播,该游戏引擎转而向显示装置20进行广播。在美国大陆,WebSocket连接之间的延迟为大致50毫秒(ms)。对如动作数据和用户接口更新等小数据包使用在图3所示出的架构,整体***延迟因此主要受到移动装置10上的动作分析处理、游戏引擎处理以及图形引擎显示的约束,而不是通过互联网的数据传输时间,该时间大致为Δt网络12+Δt网络23=100毫秒。
实际上,图3的架构为多个同时的用户提供了移动装置10、游戏服务器110以及网络显示20之间的近实时同步。这种架构允许在移动装置10和网络显示装置20上的用户活动的近实时同步,与此同时,使得能够同时向和从游戏服务器110传送挥杆动作数据。另外,图3的架构是高度可扩展的,并且能够被实现以容纳数千玩家同时玩游戏,而不脱离基本设计。在这种情况下,在任意给定时间数千不同的游戏可能处于不同的完成阶段,并且该架构在任意给定时间在游戏服务器110的管理下还能够支持如高尔夫球、棒球、保龄球等不同类型的运动游戏。
本发明的这些与其他新颖要素将从虚拟多玩家高尔夫球游戏、两个或四个玩家网球游戏以及多玩家棒球游戏的背景下的以下本发明的详细描述中变得明显。然而,应理解到,以下示例并不是限制性的。
高尔夫游戏示例
参照图4至图10,将通过根据本发明的一个实施例的使用在此描述的技术实现的高尔夫球游戏的以下示例来进一步阐明本发明。图4(a)至图4(e)示出了用户体验;并且图5是相对应的分布式高尔夫球游戏架构。
在一个实施例中,要访问分布式游戏平台100,用户首先下载一个应用(“app”)到他们的移动装置10上。在苹果iPhone 4/4s的实施例中,该应用以Objective C编程,并且利用包括在Cocoa Touch SDK(软件开发包)中的CoreMotion框架以100样本每秒来访问内置的基于硬件的传感器(如加速度计、陀螺仪、以及磁力计)。这之上称为“信号处理管线”的层包括一个独立于平台的程序类以提供实时挥杆分析计算。在信号处理管线层之上安置了一个基于图形的游戏表示层,该游戏表示层处理由信号处理引擎所计算的数据、将这些数据传递给基于服务器的游戏规则引擎、并且将移动装置特定的内容呈现给用户以补充游戏体验。
在一个替代实施例中,移动网站可以使用移动浏览器中的简单Javascript事件处置器来访问相同的基于硬件的传感器。然而,使用现有技术的10样本每秒采样,通过浏览器访问这些传感器通常远慢于CoreMotion框架。这里,我们使用相同的信号处理管线来分析挥杆数据,并且一个交互式Javascript网站为移动装置建立了屏幕上图形交互。
在图4(a)中,用户使用他或她的移动装置10登录一个指定的网址,然后通过打开任何的标准浏览器并且导航到其上,用户的启用网络的显示器20连接到相同的网址。在用户建立连接时,在每一种情况下,呈现一个要求用户信息的登录页面。一旦登录,一个通过游戏服务器110从游戏资源数据库117下载的虚拟练习场或高尔夫球场呈现到启用网络的显示器20。然而,在网页初始加载到显示装置10的过程中,还可以在后台下载一个轻型游戏逻辑引擎120。这个基于网络的游戏引擎可以使用例如AJAX编程为一个异步应用。
在图4(b)中,一旦登录到两个装置10和20上,用户可以进入练习场或者选择玩游戏;在任一情况下,他或她都可以邀请朋友30来玩游戏。被邀请的朋友一旦登录到他们自己的装置上,可以接受邀请并参与主人的游戏。基于云的游戏规则引擎115通过以下方式管理玩家的族群:为每一个用户在玩家数据库中加入记录来形成每一个正在进行的游戏的一个临时表。每一个有账号的玩家在用户数据库116中具有他或她自己的一套数据库记录。
在图4(c)中,一旦游戏开始,每一个玩家从他们的特定虚拟高尔夫球袋中选择一个高尔夫球杆并且挥动他们自己的移动装置10,并且在“撞击”时,每一个装置分析挥杆并且发送一个挥杆数据的小包到游戏服务器110,其中,这些数据在用户数据库116中被更新。在以下小节中将对高尔夫挥杆动作分析进行详细描述。玩家与游戏规则引擎115之间的交互可以使用移动装置10的各种输入装置来完成,如通过按键输入、触摸触摸屏、以及在可用的情况下甚至通过语音识别。
使用下面小节(2)中所描述的三种方法中的一种,这些挥杆数据然后被传递给显示装置20。在图4(d)中,一个所下载的显示装置图形引擎125(使用算法来计算或者估计球飞行)在显示器20上渲染球飞行25。类似地,在朋友击打他们的虚拟球时,他们的动作数据被从他们对应的移动装置10发送到游戏服务器110,其中,这些数据被更新到用户数据库116。在图4(e)中,它们然后被传递给特定的用户,并且在他们的特定环境的每一个中渲染球飞行,从而使得每一个玩家也能够看到来自他们的朋友中的每一个的、来自在游戏环境中他们的特定位置的多个高尔夫挥杆游戏动作。
用户点击或触摸从而前进到他们对应的球飞行的位置。所下载的轻型基于网络的游戏引擎120包含用于显示装置在给定用户的高尔夫挥杆的情况下确定他们在虚拟高尔夫球场上的位置、以及通过游戏规则引擎115从游戏资源数据库117中请求适当的图形显示内容的逻辑。然后该过程重复,除了现在玩家最有可能在高尔夫球洞上的不同位置。玩家的位置被更新到用户数据库116中,并且游戏引擎120对在每一个玩家在虚拟高尔夫球场上对应的位置处的他们对应的球飞行进行渲染。另外,在一个实施例中,玩家能够互相通信,从而创建一个游戏玩家的社交网络。这种通信可以通过具有合适的例如IP电话、文本聊天、文本消息板应用的游戏规则引擎115来实现。
除了玩游戏,用户还可以购买多种虚拟商品和服务。这些包括但是不限于:高尔夫球课程、升级的高尔夫球杆、定制包或高尔夫球杆套、搞乱朋友击球的魔术球、赢得比赛的虚拟奖品等。如在2012年10月24日提交的杰弗里(Jeffery)等人的题为“用于响应于移动装置的动作提供动态定制的运动指导的方法(METHOD TO PROVIDE DYNAMIC CUSTOMIZEDSPORTS INSTRUCTION RESPONSIVE TO MOTION OF A MOBILE DEVICE)”的美国申请序列号13/659,774中所详述的,虚拟商品还可以包括基于用户特定的高尔夫挥杆所定制的高尔夫指导。
本发明的一个相关新颖方面是由预测分析所实现的一个“虚拟球童”。在***中用户所进行的每一次挥杆都被捕获在动作档案数据库118中。对于每一次用户击打,使用分析软件来挖掘这些数据,并且使用了预测模型。因此例如,在一号木杆100次挥杆之后,如果用户平均打了249码但是右旋球向右30码,在一个具体球洞的开球处,“虚拟球童”可能建议玩一次三木,以便空杆水障碍235码的距离并且在右25码。
动作档案数据库118也可以通过以下方式用在物理高尔夫球场上所捕获的数据来增强:通过触摸屏幕、或者每次击打之后语音命令、或者通过物理地附装到高尔夫球杆并经由蓝牙连接到移动装置的陀螺仪和加速度计来手动输入到他们的移动应用中。然后虚拟球童可以被扩展到打物理和虚拟高尔夫球,从而使得在物理高尔夫球场上可以给出类似于在虚拟球场上打球的意见。
所披露的高尔夫球游戏的附加技术方面将在以下部分进行描述:(1)分布式游戏引擎;(2)移动装置挥动分析;以及(3)显示装置优化。
(1)分布式游戏引擎
图5示出了用于高尔夫球游戏的游戏平台100的一个实施例。如之前所讨论的,游戏分析分布在***的三个主要组件中:移动装置10、游戏服务器110、以及显示装置20。图5提供了四个不同玩家30的游戏的不同模式的一个示例:A、B、C和D。应当理解,这个示例是说明性的,而不限于四个玩家。正如所示,玩家A具有一个移动装置10但是没有显示装置20。在这种模式下,游戏图形被单独地显示在玩家A的移动装置10上。玩家B位于一个不同于玩家A的地理位置并且可以访问显示装置20。在显示装置20上的游戏交互和图形显示将在下文进行描述。说明性地,玩家C和D位于一个不同于玩家A和B的相同的地理位置,带有一个显示装置20。位于相同的地理位置的用户可以使用一个单独的移动装置,该移动装置被配置成用于使用装置来了解对应玩家的身份,或者可以具有他们自己对应的移动装置。应当理解,在图5中所示的示例并不限于具体的硬件制造。
高尔夫挥杆的分析通过在下面部分所描述的方法在移动装置10上进行。这个分析的输出包括但不限于:移动电话的挥动速度、电话通过撞击(左旋球或右旋球)时的角度、前臂转动速率、手腕合页速率、以及挥动路径(由内向外或由外向内)。这些数据被传输到游戏服务器110,该游戏服务器根据需要更新用户数据库116、管理不同的用户交互、并且提供游戏内容。当用户登录时,可以将一个相对轻型的Javascript/AJAX游戏引擎120下载到一个启用HTML5的显示装置网络浏览器上。给定自高尔夫球游戏服务器110传递来的用户对应的挥杆数据,这个游戏引擎120控制一个特定的用户显示环境。游戏引擎120具有高尔夫游戏的游戏逻辑以及一个用于球飞行模拟和其他渲染的图形引擎125。如在以下部分所详细讨论的,每一个高尔夫球洞被分成对应于二维照片或视频的多个分段。如在以下部分所披露的,对每个洞的照片数量进行选择以优化用户体验以及***的带宽和延迟。为每个洞提前定义每个洞的网格位置,并且这些网格位置是用网络浏览器游戏引擎的Java代码编程的。将对应于每个洞的每个网格位置的图形内容存储在游戏资源数据库117中。
球飞行距离和方向主要由球杆头速度、球杆杆面、以及撞击时的角度来确定。对于不同的高尔夫球杆,杆面是不同的。然而,球杆的速度与用户手中的电话通过撞击时的速度是成正比的。如在以下部分所描述的,我们已经用高速摄像机以1,000帧每秒进行了详细的实验来验证手机速度和高尔夫一号木杆的球杆头速度的准确度。将这些数据与各种球杆和球杆头速度的球飞行距离供货商表进行比较。右旋球或右曲球降低了码数,而左旋球或左曲球增加了较小左曲度的码数,但是然后整体上降低了超过几度的左旋的码数。
给定用户手中电话的速度、用户的身高、以及球杆的长度,我们能够计算球杆头速度。更具体地说,使用各种高尔夫球杆的查找表,我们可以计算特定高尔夫球杆的球杆头速度,并且同样通过查找表将这个速度映射到每个球杆的各种杆面角度的球飞行中。然后挥杆路径以及左旋或右旋角度被用作分数乘法器/除法器以从移动电话传感器挥杆数据中准确地计算击球距离和方向。
图6(a)和图6(b)示出了如何将每个球洞划分为一个虚拟网格190。击球的长度和方向定义了一个击球终点的(X,Y)坐标。这个(X,Y)击球终点对应于一个特定的网格位置,参见图6(a)。对于每一个网格位置,将媒体119(其可以是图像、子画面、和/或视频)存储在游戏资源数据库117中。给定击球终点的(X,Y)坐标,网页图形引擎查询资源数据库117,并且通过查找表显示对应于该(X,Y)坐标的媒体119。用户体验是然后从站在(X,Y)坐标位置处的角度观看旗标网页上的媒体,参见图6(b)。当用户再次挥杆,从挥杆速度、所选择的球杆以及撞击时球杆头的角度来计算出下一个(X,Y)坐标。然后图形引擎为新位置显示来自数据库的适当的图像。
每一个用户的挥杆历史被更新到动作档案数据库118中。如前所述,这些数据被用于随着时间分析用户表现。用户数据库116也被更新,从而跟踪游戏中多个玩家的进度。这些数据被用作主数据来更新游戏引擎120,并且使得能够在一个特定用户显示屏幕上画出其他用户的化身以及球飞行模拟。
使用一个3-D图形引擎模块125对所模拟的球飞行进行2-D渲染,该图形引擎模块是游戏引擎120的一部分。对于1600×900的像素显示分辨率,通过将球动画显示为背景之上的一个单独物体来获得一次挥杆之后的高尔夫球飞行。球开始时在页面上居中,位于接近底部,并且大小为35像素宽乘以35像素高。一旦检测到挥杆,挥杆距离和方向就被传递到使用其来确定球飞行的准确路径的游戏引擎内。球飞行是一个经过其起始位置到一个高位置的指数曲线,该高位置由所使用的球杆所确定:
对于推杆(这创建了类似球滚动的直线路径),+0像素
对于一号木杆,+200像素
对于铁杆,+225至+325像素
对于挖起杆,+350像素。
然后,球停止在Y像素位置等于:图像地平线高度+(与旗标之间的当前距离-球被击打的前进距离)/2;以及X像素位置等于:图像的像素中心+球被击打的侧向距离*4。
贯穿球飞行,球被示出为以反指数速率“收缩”,其停止在3像素+170/当前挥杆的码数。以上给定的像素数量应当理解为说明性的而不是限制性的。
本发明的一个特别重要的特征是对在移动装置高尔夫挥杆之后的球飞行的近实时渲染,具有最小的延迟。在游戏正在进行时,网站重复地轮询用户数据库116,从而查找更新。当检测到更新时,获取挥杆数据并将其传递到游戏引擎120,从而触发由挥杆数据驱动的球飞行模拟。球在屏幕上飞行多高、其掉落多远、其向左或向右行进多远、球变得多小、以及动画需要多长时间都受到此挥杆数据的影响。来自参与者的球飞行在每一个玩家对应的屏幕上进行渲染。如果多个玩家在虚拟练习场上,例如,显示最高码数。如果玩家在高尔夫球游戏中,每一个玩家移动到由他们前面的挥杆所确定的球洞上的新位置。在游戏中,玩家继续游戏,直到他们虚拟地位于轻击区上,如果他们模拟推杆,那么一旦球进入球洞则前进到下一洞。
诸位发明人已经实现了多种用于移动装置挥动之后的球飞行的实时图形显示的方法。目前的AJAX方案(“短轮询”)可扩展性很好,并且可以被用于为大量用户实时地更新内容。
虽然所使用的默认轮询为每秒一次,有可能进行更频繁的轮询,如每秒5或6次。使用AJAX轮询或者“短轮询”,问题变为可用带宽的问题。即使数据未被传送,仅仅检查事件就占用某些带宽。所以,如果有大量用户,例如200,000,那么以每秒5次进行轮询要求相当数量的带宽。然而,带宽通常比处理能力和存储空间的可扩展性更好。另外,可以动态地调整轮询速度以管理带宽使用。
再次参见图3,示出了一种结合“长轮询”的架构。该架构使用WebSocket网络技术。诸位发明人已经创建了一个可扩展的长轮询架构,从而使得在服务器“推送”新数据到网站时几乎没有任何滞后。使用AJAX轮询,我们等待网站每半秒检查一次数据库,并且可以存在一个可感知的滞后。
长轮询允许数据双向通信,并且用于长轮询的一种可能技术是WebSocket,该技术是一种在单个TCP连接上提供全双工通讯信道的网络协议。WebSocket API正在被W3C标准化,并且WebSocket协议已经被IETF标准化为RFC 6455,该协议通过引用以其全文结合于此。
图3示出了一种通过长轮询架构使用移动装置作为控制器来控制和导航网络显示并且将移动装置所捕获的运动动作数据通过网络传输的方法。电话和网络显示装置可以位于相同或者不同的地理位置。移动装置与网络显示装置之间的通信通过使用web socket技术来进行。图5是图2的架构的一个实施例,该实施例专用于高尔夫并且可以使用短轮询方法或者图3的长轮询方法来实现。
(2)移动装置高尔夫挥杆分析
本发明的一个重要方面是动作分析器130,该动作分析器使用来自嵌入到移动装置10内的加速度计和陀螺仪的数据,遵循2012年10月18日提交的杰弗里(Jeffery)等人的题为“用于使用移动装置的动作传感器分析运动动作的方法和***(METHOD AND SYSTEMTO ANALYZE SPORTS MOTIONS USING MOTION SENSORS OF A MOBILE DEVICE)”的申请序列号13/655,366。本发明克服的一个具体挑战涉及如何准确地分析高尔夫挥杆,而不需要实际击球、或者握住球杆或球拍。虽然描述了一种用于高尔夫球的挥杆分析技术,应当理解,这里所描述的方法可应用于其他动作,例如但不限于击球或投球、瞄准并开枪、或者投掷钓竿。最后一部分将该动作分析方法推广到如保龄球、网球和棒球等其他运动。
图7示出了在示例全高尔夫挥杆过程中的移动装置10的劈起(a)和滚动(b)。本发明的一个重要要素是通过以下方式对移动装置10进行校准:在瞄球位置(位置1)中保持移动装置10静止。然后,劈起动作特征在后摆(位置2)中增加,并且在高尔夫后摆的顶部(位置3)具有局部最小值。然而,最小值(位置3)是转动大于180度的劈起动作传感器的人为现象。实际上,劈起在后摆的顶部继续增加至一个大于180度的最大值。然而,传感器的局限性将动作特征约束到0到180度。正如所示,劈起数据在下摆(位置4)中继续减少至回到撞击点(位置5)。
精确度分析
应注意到,在撞击点(位置5),移动装置10已经返回到初始校准点(位置1)附近,该初始校准点对于高尔夫而言是在与虚拟高尔夫球撞击时的手位置并且为一个局部最小值。针对高速高尔夫挥杆,由于陀螺仪的分辨率限制,在该撞击点处的最小值并未完全返回至校准零。确定撞击点至关重要,因为移动装置10在此点处的滚动限定了球杆的左旋或右旋。在其他运动中,撞击点在确定球棒或球拍的左旋和右旋和/或确定投球或抛投运动的释放点时是至关重要。从撞击点开始,高尔夫挥杆动作继续完成随球动作,位置(6)和(7)。
综上所述,随着高尔夫球手移动完成其挥杆动作,劈起数据、或当看屏幕(X轴)(见图1)时绕着将移动装置10切成上半部分和下半部分的轴的转动为最有说服力的数据流。可以在接近开始校准点(当高尔夫球手在其准备位置上时,通过挥杆动作前所花费的一秒(例如)过程中通过取所有电话位置/定向数据的平均值来将该开始校准点定义为“零”)的主要最小值处找到撞击。为了引出上下文,在高尔夫球手的挥杆动作中,随着高尔夫球手开始其后摆、当他或她挥动完成撞击时返回校准,出现劈起数据,然后随着他或她移动进入其随球动作,劈起数据再次出现。撞击是最靠近准备或校准点的劈起位置。
在一个实施例中,使用爬虫算法,全高尔夫挥杆的撞击点被选择成为劈起的第二最小值。在另一个实施例中,可以通过使该最小值与Z轴加速度的峰值对齐来确认该最小值。当找到劈起的不止一个主要最小值时,被选为撞击的最小值通过具有最大Z轴加速度的点来确定。本确认步骤在如下情况下有所帮助:高尔夫球手的后摆或随球转动如此大(从准备开始接近360度的转动)以至于陀螺仪完全翻转并且创建接近校准的额外最小值。
一旦发现撞击,通过从校准时的滚动数据减去撞击时的滚动数据来确定挥杆动作精确度。滚动数据、或当观看屏幕(Y轴)时绕着将电话切成左半部分和右半部分的轴的转动描述了球杆头上的“开放和封闭”杆面。图7(b)示出了该滚动数据的展开图。返回负差值的挥杆动作意味着用户在撞击时转动过大,其暗示了撞击时的封闭杆面和取决于该量值的结果左曲球或左旋球。返回正差值的挥杆动作意味着用户在撞击时转动过小,其暗示了撞击时的开放杆面和结果右曲球或右旋球。返回一个近似零值的挥杆动作意味着撞击时球杆面非常紧密匹配校准定向并且暗示着直线球飞行。
速度分析
球杆头速度对于高尔夫而言在定义球飞行距离中是一个关键参数。高尔夫球杆制造商具有经验表,这些经验表详细描述了以特定挥杆速度下移动的球杆头所击打的高尔夫球的球飞行距离。这种表还将球杆类型(例如,一号木杆、5铁杆、推杆)、球杆头斜角、杆身刚度、以及其他影响球飞行的变量考虑在内。
由于运动动作的力学,挥杆速度是一项复杂的计算。挑战在于这些传感器测量双手的动作,而我们对计算虚拟运动设备(如高尔夫球杆头)的速度感兴趣。使用合适安装的运动设备以专业运动员进行了大量试验来理解手和手臂动作如何转换成动作传感器数据输出。虽然示出了对高尔夫球的分析,但应认识到本方法可以是对其他运动动作的概括,如棒球、网球、保龄球、篮球、美式足球和乒乓球运动中找出的那些;然而,这些示例应当被理解为不是限制性的。
图8(b)示出了全高尔夫挥杆的挥杆动作元素。如果完全与双臂成一条线挥动球杆,则该移动装置的速度V与球杆头速度(V球杆头)关系如下:
V球杆头=Vx(臂长+球杆长度)/臂长  (2)
然而,专家球员使其手腕合页并转动其前臂来提高球杆头通过球的速度。这些合页和转动动作可以动态地提高球杆头通过撞击时的速度,从而使得等式(2)大多数高尔夫球手的高尔夫挥杆速度的估值下的总数。然而,由于没有手腕的合页,对推杆是有益的。
图8(a)具体地示出了如何针对高尔夫挥杆计算移动装置10的速度。针对一个示例全高尔夫挥杆动作,以图形方式示出了移动装置10的劈起的动作特征。以下用挥杆动作上标记的劈起数据中的点(4)、(5)和(6)示出了相应运动动作。我们首先找到劈起数据中的撞击点,被定义为挥杆动作的底部处的劈起的局部最小值(点5)。然后,我们以60度在劈起数据中向前和向后观看。这些采取正确手腕合页的数据点与挥杆动作中的位置(4)和(6)对齐。一般,这两个位置之间经过约十分之一秒,从而使得鉴于玩家的臂长,我们可以通过除以120度的弧长来得出移动装置10的在撞击周围的速度,其中,该弧的半径等于该臂长乘以所经过的时间量值:这得出移动装置10的速度(手速度)。由于挥杆长度减少,可以使用一种类似的方法用于以55度或以下的更短弧长进行削球。
在使用高速视频计时情况下,已经发现,一号木杆球杆头速度可以慢到手速度的2.4倍(这是在用刚臂挥动球杆的用户的情况下)或快到手速度的6倍(在世界级专业高尔夫球手的情况下)。这两个乘数之间的差值来自前臂转动与手腕合页的组合,其允许高尔夫球手迫使球杆头在其使双手在撞击周围行进通过90度弧长所用时间内行进通过大得多的弧长(有时甚至接近180度)。我们所选择的乘数直接受到Z轴和Y轴(偏转和滚动)上的通过撞击的陀螺仪加速度的驱动,这些轴分别解释手腕合页和前臂转动。
从用iPhone 4和4s进行的详细试验中发现,陀螺仪特别精确,从而使得滚动数据非常好地预测近似半度内的左旋球或右旋球。然而,来自iPhone 4的加速度计数据是“嘈杂的”,并且在整个高尔夫挥杆中不特别精确,但针对测量撞击周围的前臂转动速率效果良好。这就是我们将挥杆动作分成多个部分并通过撞击计算移动装置的平均速度V的原因:
V = D 2 30 - D 1 t 2 - t 1
其中,D2-D1为图8中的点(4)和(6)之间的距离;并且t2-t1为经过该距离所花费的时间。更短的距离是优选的,因为这能够实现撞击点处的瞬时速度的更接近的近似值。然而,当前陀螺仪的0.01秒分辨率需要我们使用120度的弧。未来,随着陀螺仪的采样分辨率的提高,30度的弧或更小的弧将是优选的。
等式(3)是移动装置的实际瞬时速度的近似值,并且仅是高尔夫球杆头的速度的第一阶近似值,因为其不包括上述手腕合页或前臂转动。通过用高速视频摄像机进行详细试验,我们能够为这些变量找出多个乘数,其结果是针对各种挥杆类型将球杆头速度计算在+/-10%内。在理想条件下,我们可以从球杆头速度预测球飞行距离。
我们预想加速度计的数据质量输出在基于iPhone或Android的电话的未来版中将显著提高。在本发明一个实施例中,通过对从后摆的顶部(tbs)到该移动装置的零(t0)的加速度(ax,ay,az)求积分来计算移动装置10(具有一个足够精确的加速度计)在撞击时的速度:
V x = ∫ t bs t 0 a x dx
V y = ∫ t bs t 0 a y dy
V z = ∫ t bs t 0 a z dz - - - ( 4 )
其中,撞击时的移动装置的总速度:
V = V x 2 + V y 2 + V z 2 - - - ( 5 )
其中,t0-tbs为从劈起数据测量的后摆的顶部(tbs)处的最小值与撞击时该挥杆的底部处的零(t0)之间的时间。在使用一个第四阶龙格-库塔算法的软件内计算积分。例如,见William H.出版社等,数值算法,第三版:科学计算领域,2007年。
速度分量向量(5)难于精确地用加速度计的当前版本计算,因为内置式加速度计具有嘈杂的输出,因此是我们当前使用该平均方法等式(3)的原因。挥杆动作上的数据被呈现给用户并是该应用程序的本地数据并被存储在用户的账户中的一个服务器上,以供挥杆一致性改进的纵向比较。
用户还可以通过托架将电话附装到其高尔夫球杆上并针对距离和精确度将实际实践挥杆动作与所计算的挥杆动作进行比较。当电话附装到球杆上时,我们使用类似的分析,但主要由于用户挥动高尔夫球杆速度比电话慢,乘数不同,电话比高尔夫球杆更轻,所以人的双手自然行动更快。
作为挥杆分析的附加示例,我们考虑推杆,而不是高尔夫球杆的全挥杆。PING公司之前已经创造一种用于推杆的iPhone应用程序。然而,其现有技术发明具有三个显著的局限性:其方法(1)需要附装到推杆上,(2)需要与物理球撞击,以及(3)对长推杆(大于大约20英尺)不精确。
在此描述的方法不具有这些局限性中的任何局限性。类似于上述全挥杆,用户握住移动装置10犹如其是一个推杆,并且保持静止一秒后其振动:电话准备就绪。然后,用户推击一个假想(虚拟)球。与全挥杆相比,来自电话的劈起数据现在是在撞击时具有一个最小值的相对平滑的正弦波函数。以与全高尔夫挥杆类似的方式分析推杆行程,但其中,从等式3计算平均速度,其中,D1和D2为通过与球的撞击时的回拉和行程的对应最大距离。推杆行程的优点在于函数是平滑的,并且与全高尔夫挥杆相比,速度相对缓慢。因此,等式(4)和(5)还可以用于计算撞击时的瞬时速度,我们使用两种方法,等式(4)的积分法和来自等式(3)的平均速度,针对与球撞击时推杆头处的速度,具有用于推杆的长度的标度乘数,见等式(2)。针对长推杆,该加速度方法变得越来越不精确,因此,该平均速度方法用从经验测量结果导出的乘数提供更好的结果。
假设理想条件下,可以从推杆头的速度计算球行进的距离。然而,最重要的是,我们能够在不撞击物理球的情况下量化撞击时(类似于全挥杆的左旋或右旋)的移动装置滚动角差。我们还可以分析陀螺仪加速度数据的错误,如通过推杆、或左拉或右推的减速度(从加速度的第二积分和滚动数据的组合识别这后两个错误)。关于挥杆动作精确度的数据也被呈现给用户并是该应用程序的本地数据并被存储在用户的账户中的服务器上,以供推杆一致性改进的纵向比较。
我们的推杆方法结合分布式游戏平台克服了高尔夫球游戏现有技术的一个主要缺点:在虚拟高尔夫球游戏中,推杆是众所周知不可靠的。已知参加PGA巡回赛的专家高尔夫球手在高尔夫球计算机游戏中一致地推杆三次或四次,而在物理高尔夫中他们可能推杆一次或者两次。如前面所讨论的,我们的使用移动装置陀螺仪的方法要比例如Nintendo Wii控制器准确的多,所以我们能够在虚拟的高尔夫球游戏中复制专业的高尔夫推杆。
多传感器撞击检测
以上描述了一种用于使用移动装置10的单个类型转动数据(劈起)来检测与虚拟对象的“撞击点”的技术。针对特定于运动动作(例如,一次全高尔夫挥杆)类型的特性来分析运动动作的特征(劈起数据作为时间的函数)。运动动作特征的先验结构对隔离虚拟撞击点的时间和空间位置是有必要的。在另一个实施例中,我们将我们的发明概念延伸至使得能够针对许多不同的动作特征和针对大范围动作进行撞击点检测。
图8(a)和图8(b)分别示出了在示例全高尔夫挥杆过程中的移动装置10的劈起和偏转的变化。在这种情况下,所使用的移动装置为苹果iPhone 4Gs。如上所述,对移动装置10的校准通过在瞄球位置(位置1)上保持移动装置10静止来完成。然后,劈起的动作特征在后摆(位置2)中增加,并且在高尔夫后摆的顶部(位置3)具有局部最小值。然而,最小值(位置3)是转动大于180度的劈起动作传感器的人为现象。如前面提到的,实际上,劈起在后摆的顶部继续增加至一个大于180度的最大值。然而,传感器的局限性将动作特征约束到0到180度。正如所示,劈起数据在下摆(位置4)中继续减少至回到撞击点(位置5)。
从用高速摄像机进行的详细试验中我们发现虚拟撞击点(位置5)是劈起的一个局部最小值,在该最小值处,移动装置已经返回至初始瞄球位置(位置1)附近。从该撞击点(位置5)开始,高尔夫挥杆继续完成随球动作(位置6和7)。
确定撞击点是至关重要的,因为电话在此点的滚动限定了球杆、球棒或球拍的左旋或右旋,和/或投球或抛投运动中的释放点。发明人之前已经使用爬虫软件对劈起动作特征搜索该第二最小值。然而,本方法不是普遍适用的,因为不同的挥杆动作具有不同的动作特征。
不同类型的高尔夫挥杆可以具有不同的动作特征。确切地,发现对于打高尔夫球的老年人而言,趋向于省略后摆,从而使得挥杆特征看上去更像削球,并且失去图9(a)中的第一最小值。
因此,搜索单个动作传感器输出的动作特征的特定特征的爬虫方法产生了错误的结果。确切地,在高尔夫球的情况下,职业高尔夫球手的全挥杆的动作特征在劈起数据的第二最小值处具有一个撞击点。然而,短挥杆不具有一个第二最小值;因此,在这些类型的击球中搜索该第二最小值将产生错误。相应地,使用单类型转动测量的动作特征数据来获得撞击点的方法具有多个局限性。在本实施例中,我们使用至少两种不同类型的转动测量(例如,高尔夫球中的劈起和偏转)来计算撞击点和/或释放点以克服这种情况。
图9(b)示出了全高尔夫挥杆过程中移动装置的偏转。在高尔夫球和棒球挥杆情况下,该偏转在通过撞击点(5)时迅速变化。因此,使用劈起和偏转动作传感器数据两者,可以通过寻找劈起动作数据的具有最大偏转导数的最小值(偏转的变化)来隔离撞击区。该方法对所有类型的高尔夫挥杆动作都起作用,并且使得能够对削球和推杆进行准确的撞击点检测。
多传感器撞击点检测方法的一个显著优点是能够使得移动装置处的动作分析的延迟最小化。具体地对于高尔夫球,不同的用户可以做出非常不同的高尔夫挥杆,并且他们可以在校准点之后偶尔延迟开始挥杆。最慢的挥杆在校准之后大致5秒完成,而最快的挥杆仅2秒。一种方法是在校准点之后5秒内采集数据以便捕获绝大部分挥杆,并且然后使用一个爬虫程序来检测撞击点最小值。然而,这个方法是低效的,因为它依赖于挥杆速度而增加了多达3秒的延迟、并且捕获了减慢移动装置上的处理的额外数据。
在我们的方法中,关键事件是在什么时候偏转等于校准点处的偏转、或者等效地过零,参见图9(b)。在右旋球的情况下,撞击点将是在偏转过零之后几百分之一秒;并且在左旋球的情况下,撞击点将是在偏转过校准点之前几百分之一秒。因此,偏转过零充当了一个定位在高尔夫挥杆底部的撞击点的指示器。具体来说,我们寻找在什么时候偏转过零,并且在另外150毫秒之后截断数据:从偏转过零开始大约加或减100毫秒,可以发现撞击点。
假设一个少于10毫秒的计算处理时间,使用我们的方法,总的撞击检测和挥杆分析时间将少于200毫秒。因此,对于高尔夫挥杆,使用我们原始的和创造性的多传感器撞击检测方法,移动装置动作分析的延迟(等式(1)中的Δt挥杆分析)可以从大致3秒被减少到少于200毫秒。假设用于小数据包传输的小于50毫秒的美国大陆的总公共互联网延迟,在等式(1)中的Δt网络l2+Δt网络23=100毫秒,从移动装置上的撞击点到移动装置上的球飞行的近似总延迟大约为350毫秒,其中,应当理解,数据传送可能包括从移动装置10到游戏服务器110并且回到显示装置20的数千英里。在高尔夫挥杆中用户花费了大约500毫秒来完成其随球动作,图7中的动作5至7。因此,图5的高尔夫游戏***中,球飞行几乎瞬时地出现在多个同时的用户30(A、B、C和D)的显示装置20上。
应当理解,这里所描述的减少移动装置动作分析延迟的方法并不限于高尔夫挥杆并且可推广到其他动作。此外,该多个传感器可以不是移动装置的劈起和偏转,但可以是移动装置上可用的该多个传感器输出中的任意两种。
如在本发明中所描述的,关于挥杆动作精确度的数据被呈现给用户并被存储在动作档案数据库118中的游戏服务器110中,以供挥杆、推杆和削球一致性改进的纵向比较。然后这些数据是以上所披露的“虚拟球童”分析以及提供定制高尔夫指导的基础,如在2012年10月24日提交的杰弗里(Jeffery)等人的题为“用于响应于移动装置的动作提供动态定制的运动指导的方法(METHOD TO PROVIDE DYNAMIC CUSTOMIZED SPORTS INSTRUCTIONRESPONSIVE TO MOTION OF A MOBILE DEVICE)”的美国申请序列号13/659,774中所详细披露的。
(3)显示装置优化
与现有技术相比,本发明的又一优点是一种被设计为用于在分布式互联网环境中运行的架构,由此优化显示装置带宽使用并且最小化总体延迟—在高尔夫球的背景下,挥动移动装置与在移动装置上渲染球飞行、并且渲染下一击球显示媒体之间的时间延迟。在将挥杆数据从移动装置10传递到游戏服务器110并且然后到图形引擎120的背景下,在等式(1)中讨论了最小化延迟。这里我们的重点在图形分辨率以及对一个特定用户的显示装置互联网连接速度(带宽使用)进行优化的方法上。
渲染一个3-D游戏(诸如高尔夫球)可能占用相当的计算能力,并且现有技术基于控制台的游戏的图形质量受到这一处理的限制。本方法在本质上与基于控制台的游戏的不同在于高尔夫球洞每一个都被分段并且图像被映射到这些分段。在一个实施例中,使用了当前可用的成像技术,如高动态范围(HDR)摄像头。可以通过动态图片(循环的短视频片断)和子画面(可由图形引擎控制的短视频)来进一步强化图像(如图10所示),从而使得例如树木、旗标和云朵看起来好像是在风中移动。代替照片,这些图像可以是全屏视频,如经压缩的高清晰度视频、HDR视频、或其他尚未发明的成像技术。效果可能是惊人的,并且对每一击球具有较低的数据密度和计算要求。虽然所使用的图像可以是(或者可以是基于)使用照相设备所拍摄的一个真实高尔夫球场的数字图像,应当理解,这些数字图像不必对应于一个真实的高尔夫球场,但是可以例如完全是艺术家对高尔夫球场的演绎或者代表一个真实高尔夫球场的地形的简化。
自2000年起网络浏览器中所支持的层叠样式表(CSS)使得能够在一个网页中对图形和文本进行格式化。CSS的一个特征是将一个编号分配给在一个页面上的图形层,称为Z-索引。Z-索引定义了该层的编号以及该层在包括一个特定网页的图像层叠中的对应顺序。
图10提供了我们的技术的一个说明性示例,该示例使用CSS以在模拟高尔夫球游戏中为图像增加深度。这个方法使在显示装置上的图形处理最小化,减小了延迟。一个300的Z-索引被分配给背景图像200,在图像的顶部是动画云210以及障碍物220和230,它们是位于特定码数的层。例如,在100码处的一棵树230、以及在150码处的灌木和树220每一个均被分别分配一个相应的Z-索引,100和150。
球飞行25初始具有一个300的Z-索引,从而使得其被显示在主背景上,然而,根据球飞行距离、以及左旋球或右旋球,Z-索引发生变化。例如,假设球飞行为120码带有一个向右的右旋,那么球飞行25的Z-索引变为125,从而其落到树层100之后以及灌木和树层150之前。因此,我们动态地改变球飞行的Z-索引以在2-D图像环境中创建景深效果,从而使得球落到对应于特定距离的层之后。这个方法并不限于2-D照片,还可以应用于数字视频、HDR视频或者其他尚未发明的成像技术。
通过披露一种减小延迟并优化显示装置的带宽使用的方法来进一步示出本发明的新颖性方面。
图像(标准3杆) 图像(标准4杆) 图像(标准5杆)
Aquimo 50 75 100
方法1 100 150 200
方法2 200 300 400
表1.数字高尔夫球游戏的现有技术方法中的图像密度的比较,其中,“Aquimo”是新发明方法。
表1是将新发明方法(“Aquimo”)与其他代表性方法进行比较,分别标记为方法2和方法3。具体地,对标准3杆我们使用少于50个图像,对标准4杆75个,以及对标准5杆100个,而其他方法使用2倍或者4倍于这个量。表2(a)至2(c)示出了分别使用5、20和50Mb/秒的代表性的带宽时这些图像的10%的代表性的加载时间(秒)。可用带宽随着时间而增加,我们的方法具体在图像分辨率和图像的预加载时间的维度上进行优化,并且总是优于现有技术。
表2a.低带宽(5Mb/秒)。
表2b.中带宽(10Mb/秒)。
表2c.高带宽(50Mb/秒)。
作为示例,我们使用过去玩家挥杆动作的分析来预测未来的球飞行。所以例如,给定平均一号木杆距离、用户的左旋球或右旋球、以及这些挥杆度量的标准偏差,我们可以预测球场上的上5个对应于强化图像的、球有可能着陆的区域。更细粒度方法(表2a至2c中的方法2和3)必须加载更多的图像以覆盖同样的区域。表2a至2c示出了所有方法的假设10%预加载的比较,以及对具有低、中、和高分辨率图像的三种带宽的比较。
我们的目标是为用户尽可能提供最好的图形体验,同时将用户显示装置的带宽使用因素包括进来。因此例如,向5Mb/秒的较低带宽连接的用户提供较低分辨率的图像,下5个图像的预加载时间为6秒,给定用户用来选择高尔夫球杆、与朋友聊天等的预期时间,这是可接受的。然而,如果用户具有50Mb/秒的连接,我们将提供高分辨率图像,5个图像的预加载时间为4秒。
特定显示装置的带宽使用如下:定义一个Javascript变量,开始加载(startLoad),当从游戏逻辑服务器中传送总共大约为2MB的游戏屏幕数字图像(2-D图像、动态图片、子画面等)时,将该变量设置为当前时间。当图像结束加载时,定义称为结束加载(finishLoad)的第二个变量:finishLoad-startLoad=时间(time)。如果用于单个图像的时间多于4秒,降低图像内容的分辨率;并且如果加载时间低于一秒,提高游戏数字内容分辨率。
因此,用合理的背景预加载时间,用户体验到可能的最高分辨率图像。这种效果是从击球到击球的瞬时过渡,最高分辨率图像可以匹配到用户的带宽使用。如在表2中的方法2和3所示,其他方法没有在这些维度上进行优化,并且因此具有受到限制的预加载下载时间,导致了启动游戏、击球或球洞之间过渡时的潜在的显著时间延迟,或者低于最优的图像分辨率。
附加运动游戏示例
这里所描述的技术可以推广到众多涉及身体动作、投球或击球的游戏。作为进一步的示例,我们描述了保龄球、网球和棒球。然而,本发明的方法和***并不限于高尔夫球或这些其他的运动,并且适用于许多其他的游戏,如赛车运动、美式足球、曲棍球、英式橄榄球等。另外,应当理解,除了运动游戏之外,本发明的方法和***还可以适用于其他的种类。
(1)保龄球
保龄球游戏可以由两个人互相对抗地进行,或者两个对阵团队。每一个用户(或团队)“看见”一个为保龄球馆框架的主视图、一个与球柱撞击的特写视图,并且他们还可以拉远并看到朋友正在同时玩游戏的每一侧上的球道。每一个都可以是优选带有记分牌上的闪光灯、喝彩声等的动态图片的照片、2-D艺术家渲染,或者主图像可以为全屏视频。
与现有技术(如Nintendo Wii控制器)相比,我们的方法的一个优点是移动电话动作传感器可以被用于更准确地为保龄球挥球进行建模。从而使得投球的速度、投球的方向、以及传给保龄球旋转速率的角转动也可以被测量。对每一次投球,用户首先将手机归零,以在身边的并且面对显示装置中心的手开始。他们感觉到振动、或者听到声音“挥球”,然后进行保龄球挥球动作。
类似于高尔夫球游戏,挥球在移动装置10上被分析,并且经分析的数据被传递给保龄球游戏服务器110,然后使用前面所描述的方法中的一种被传递到显示装置20。保龄球轨迹通过所下载的显示装置图形引擎125被动态地绘出。子画面被用于为各种球柱动作建模,并且根据被编程到基于网络的游戏引擎120中的逻辑而倒下,这取决于用于移动电话挥球分析而传递的球的速度、轨迹和旋转速率。我们使用与在前面所描述的高尔夫球游戏相同的预加载内容和最小化延迟的方法。也可以将保龄球指导结合到游戏环境中,遵循2012年10月24日提交的杰弗里(Jeffery)等人的题为“用于响应于移动装置的动作提供动态定制的运动指导的方法(METHOD TO PROVIDE DYNAMIC CUSTOMIZED SPORTS INSTRUCTIONRESPONSIVE TO MOTION OF A MOBILE DEVICE)”的美国申请序列号13/659,774。
(2)网球
网球是在带有球网的网球场上两个或者四个玩家之间进行的。我们对两个玩家的环境进行描述,但是本方法可以推广到四个玩家,不同的玩家同时进行多场游戏。从玩家的角度对网球场的各个区域进行拍照。我们使用最少的一组照片,这些照片被预加载到环境中以便能够为用户瞬时显示。使用例如喝彩声以及云移动的动态图片以及通过球童跑步穿过网球场捡碰到球网的球的子画面来强化这些2-D照片。或者,全屏视频可以被用来替代由动态图片所强化的照片。
为玩家的化身创建子画面,模仿主要的击球:发球、正手、反手、吊球等。这些子画面由基于网络的网球游戏引擎所控制,被下载到显示装置网页。球飞行通过所下载的图形显示引擎来动态地渲染,输入数据来自移动电话动作传感器。
使用移动电话内的动作传感器结合全球定位传感器来分析网球挥杆。在发球的开始,我们将电话归零,其中,用户的双手举起为发球做准备。我们然后可以分析电话的劈起和滚动以及电话通过与虚拟球的撞击时的速度,这些数据限定了传给虚拟球的方向和旋转。
类似地,分析反手、正手和吊球动作。对这些,我们在数据中寻找特定的与当虚拟球过球网时同步的旋转运动。我们还结合GPS数据以便知道是否玩家已经移动到屏幕的右边或左边,或者已经向前迈步靠近球网。这些数据被传递到网球游戏引擎,从而使得玩家能够看到动态地响应于他们的位置的网球场的变化。例如,如果玩家在屏幕的右侧向前迈步,他们看到靠近网球场右侧上的球网的2-D图像。
由于快节奏,最小化延迟在网球中尤其重要。每次击球之间有明显的停顿,从而使得有周期性的机会来对每一个用户移动电话重新校准零。在一个优选实施例中,移动装置10通过一个本地套接字连接75同时连接到基于网络的游戏服务器110和显示装置20。这个方法使得本地游戏组件之间能够进行直接的前后数据传送。
因此,动作分析几乎被同时地传递给本地游戏引擎120来显示球飞行。球用了大约一秒来飞越球网,反弹,并且我们使用0.2秒轮询或一个WebSocket(图3)来将这些用于图形渲染的移动电话数据传输给其他玩家的显示器。我们能够预期球的动作并且发送例如‘撞击前检测’数据,以便使得化身进行返回前挥杆动作,从而用最小的延迟来同步游戏。
另外,可以将网球指导结合到游戏环境内,遵循2012年10月24日提交的杰弗里(Jeffery)等人的题为“用于响应于移动装置的动作提供动态定制的运动指导的方法(METHOD TOPROVIDE DYNAMIC CUSTOMIZED SPORTS INSTRUCTION RESPONSIVE TO MOTIONOF A MOBILE DEVICE)”的美国申请序列号13/659,774。
(3)棒球
棒球特别适于所披露的方法。游戏资源数据库117可以包括在一个棒球场上的不同位置***地拍摄的2-D照片或视频。可以由人群、移动的云等的动态图片来强化照片。例如焰火以及飞机飞过上空等的子画面也可以被用于强化图像。
例如,游戏可以是单玩家与一个虚拟球队对打,或者两支多玩家的球队对打。对于每一个玩家/位置,我们创建了一个接和投掷的子画面的数据库117。例如,第一垒化身一只脚放在垒上,将主要从多个方向接球,将球扔回给投手,并且可以偶尔扔给第二、第三或本垒。因此,这些子画面可以根据游戏的顺序被预加载。
游戏规则引擎115确定多个玩家交互、与游戏资源数据库117以及用户数据库116接口连接,并且网站游戏引擎120和图形引擎125被下载到特定用户显示装置20上。挥杆和投掷动作分析在用户移动装置10上进行。因此例如,挥动球棒通过挥动移动装置来完成。我们在显示装置上定义一个虚拟好球区,并且用户向由投手化身投掷到这个区域内的虚拟球挥杆。我们使用在下面部分所描述的方法来定义挥杆的速度以及挥杆路径。挥杆的时机被用来粗略估计移动装置(球棒)是否错过了一次撞击的球、或者可能打到球。游戏规则引擎115定义了一组用于相应投手的挥杆,这导致了各种击球—安全打、高飞球、全垒打等。然后,游戏逻辑引擎120确定响应于移动装置挥杆的球飞行、以及子画面玩家动画响应。各个玩家可以由虚拟队友来控制—他们看到用于他们对应的位置的场地和子画面玩家化身的对应的2-D照片或视频。我们使用动作传感器来分析扔球,其中,屏幕上的一个虚拟手套接住了球。
在一个优选实施例中,使用以下方法来确定撞击或击打。可以从t球飞行=d/v计算虚拟投球到到达玩家花费的时间t球飞行,其中,d为从投手到本垒板的距离(举例来讲,针对大联盟棒球为60.5英尺,或针对小联盟为45英尺)并且v为投球的速度。假设大联盟棒球中为95mph,则棒球从投手到本垒板的飞行时间为43秒。即,t球飞行=43秒。该基于云的引擎将投掷的投球的时间戳t劈起加t球飞行与撞击点的时间戳t撞击点进行比较。如果它们与预先确定的时间间隔一致
Δt=|t撞击点-(t劈起+t球飞行)|  (6)
小于或等于δ秒,例如,0.15秒,则可以假设虚拟球棒已经击中虚拟球,并且可以通过基于云的图形引擎125在启用网络的显示器20上渲染球飞行的动画。然而,如果Δt>δ秒,则假设虚拟球棒没有击中虚拟球并且认为该挥杆是一击。
优选地,运动动作分析和同步使用同步的移动装置10、基于云(或以其他方式联网)的游戏服务器120、以及启用网络的显示器20,每个都具有0.1秒或更小的保真度。当前网络浏览器使内部时钟的不可靠的本地时钟时间戳和Javascript调用通常并不在完全相等的间隔下轮询。在一个优选实施例中,网络时间协议(NTP)可以用来在分组交换、可变延迟数据网络上使计算机***同步。我们使用Java Script NTP客户端来获取客户端(移动装置10和显示装置20)和服务器(基于云的软件引擎)的时间偏移。这基于精确的外部时钟设置初始协调时间。然后,我们在可能最高可靠粒度下使用setInterval()来调度Java Script回调,该粒度取决于网络浏览器。我们不假设在可靠的间隔下调用该回调,然而,但反而使用来自该回调内的调用新Date().getTime()并应用该偏移以获得实际协调时间,并且然后内插以找出投球的实际时间t劈起和虚拟撞击点t撞击点。然后使用这些数据以计算等式(6)。
因此,我们的方法可以推广并且延伸至运动动作撞击一个移动的虚拟对象的使用情况(如棒球或网球),并且可以类似地应用于网球、羽毛球、乒乓球、短柄墙球、曲棍球、篮球、美式足球、以及虚拟运动对象(例如,球、冰球、羽毛球)在运动中并且然后被运动动作或玩家虚拟运动设备击打、投掷或接住的所有其他类似运动。
可以将棒球指导(尤其是击球和投球)结合到游戏环境内,遵循2012年10月24日提交的杰弗里(Jeffery)等人的题为“用于响应于移动装置的动作提供动态定制的运动指导的方法(METHOD TO PROVIDE DYNAMIC CUSTOMIZED SPORTS INSTRUCTIONRESPONSIVE TO MOTION OF A MOBILE DEVICE)”的美国申请序列号13/659,774。
一般化的运动动作分析
使用来自移动装置的多个动作传感器的数据来分析高尔夫挥杆的方法可以推广到其他类型的运动动作。图11(a)至(c)示出网球正手、或坐姿水平高尔夫球挥杆动作的示例。在本示例中,挥杆路径为水平平面,但其中,前臂转动和手腕合页在撞击周围。因此,动作特征与站立高尔夫球挥杆不同,并且图11(a)中的劈起的撞击点现在是劈起数据的过零。挑战是检测正确的过零。在本示例中,偏转是在撞击点附近的局部最大值。因此,再次使用两种类型的转动测量(劈起和偏转),参见图11(a)和(b),分别为劈起和偏转,在劈起这种情况下,我们可以更精确地从单个传感器的数据检测撞击点。在网球挥杆的情况下,参见图11(c),撞击点处的滚动数据可以用来计算传给网球的左旋或右旋。
应注意到,校准点不需要是移动装置10静止保持在同一位置上持续一秒所在的特定准备位置。针对网球和乒乓球,校准点可以从玩家使他或她的双手在准备好打球的位置上的任一点中获得,和/或可以选择作为先前运动动作的终点或校准点。
为了说明优选实施例,其中,运动动作可以与移动的虚拟对象交互,并且释放点和撞击点与校准点不同,我们为棒球和保龄球提供了示例。
图12(a)至图12(c)中展示了棒球挥杆动作传感器数据。对于棒球挥杆而言,校准点是在双手中的伸出在身体前面的移动装置10的准备位置,其中,拇指指向为使得该移动装置(虚拟球棒)与虚拟球座上的球对齐;双手垂直于地面。所示的数据来自职业运动员并且展示了一个最优棒球挥杆动作的必不可少的特征。对于棒球运动动作而言,图12(a)中的偏转是关键变量,因为当挥动“球棒”通过与虚拟球的撞击点时,理想的手的位置是手掌平行于地面,这引起移动装置通过撞击时的偏转的快速变化。在校准点处的偏转为零;因此,当偏转过零时是撞击点,参见图13(a),即使移动装置相对于校准点转动九十度。在理想的棒球挥杆中,撞击点后就发生球棒的滚动,见图13(b)。在撞击点具有滚动最大值的情况下,手腕具有将球棒升起到球的顶部上方的倾向,引起落地球或失球:这就是“挥杆泡沫”。
移动装置10的劈起和偏转合起来提供对球棒通过撞击点时的角度的深刻理解。例如,图12(c)中的劈起数据示出了双手在冲击点走下坡路,因为劈起在撞击点是负的、并且直到撞击点之后才返回至零,并且因此如果虚拟球投掷在校准点以下(即,在好球区的下半部分中),球棒将会接触该虚拟球。
作为最后的示例,我们考虑释放点与校准点和撞击点两者都不同的使用情况。图13(a)和图13(c)展示了用于保龄球运动动作的移动装置动作传感器数据。在本示例中,校准点是静止、放松并且在玩家侧充分延伸的手,其中,手掌面朝前。保龄球动作是首先将虚拟保龄球向上带至下巴,抱在双手中,并且然后向下和向前挥动同时迈几步。该劈起数据展示了移动装置10的劈起如何随着移动装置10被向上带至下巴而提高,其中,当玩家开始向前迈步时具有一个局部最小值。然后,随着玩家在后挥杆作中向下挥动,劈起降低,其中,具有一个与初始校准零相对应的为零的劈起,并且然后动作过渡到至一个第二零的最后的后摆,第二零为虚拟保龄球的释放点。
类似于之前所描述的高尔夫球挥杆,可以从等式(3)中计算出虚拟保龄球的速度,并且类似于图8,或通过对等式(4)进行求积分来计算30或60度劈起点之间的时间差值。通过释放点的滚动数据的变化速率(滚动的导数)与给予虚拟保龄球的自旋速率成比例。因此,我们可以计算虚拟保龄球在释放点处的速度和旋转。
在本示例中,应注意到,释放点在空间上不同于校准点,并且从释放点进一步移除撞击点。在本示例中,撞击点出现在虚拟空间中。如前所述,使用基于云的游戏平台100,可以在HTML5启用网络的显示器(如网络电视)上的虚拟保龄球道上显示保龄球,并且鉴于虚拟保龄球的速度和旋转以及虚拟保龄球球道的长度在时间和空间上模拟与球柱的撞击。因此,玩家执行虚拟保龄动作,并看到虚拟保龄球走下球道并击中启用网络的显示器上的球柱,其中,通过从移动装置的挥动特征计算的速度和自旋确定路径和速度并且其在时间上被同步以看似好像一个连续动作。
虽然已经结合以上概括的各示例实施例描述了本发明,但明显的是,许多替代方案、修改和变化将对本领域的技术人员而言是明显的。相应地,如上所述的本发明的示例实施例旨在是说明性的而非限制性的。可以在不脱离本发明的精神和范围的情况下做出各种变化。

Claims (55)

1.一种游戏***,包括;
一个游戏服务器,该游戏服务器被配置成用于管理至少一个游戏,其中
(a)在一个第一装置与该游戏服务器之间建立一个第一连接,该第一装置具有多个第一动作传感器;
(b)在一个第二装置与该游戏服务器之间建立一个第二连接;
(c)响应于在一个游戏过程中该第一装置被一个第一玩家移动,在该游戏服务器通过该第一连接从该第一装置接收第一装置游戏动作数据,使用这些第一动作传感器以确定该第一装置游戏动作数据;
(d)在该第二装置显示与该游戏相关的第一图像内容,至少部分地基于该接收的第一装置游戏动作数据来渲染该第一图像内容。
2.如权利要求1所述的游戏***,其中,该第二装置是一个启用网络的显示器。
3.如权利要求1所述的游戏***,其中,该第一连接和该第二连接是分开的互联网连接。
4.如权利要求1所述的游戏***,其中,这些第一动作传感器包括一个陀螺仪和一个加速度计。
5.如权利要求1所述的游戏***,其中,该第一装置对从该陀螺仪和该加速度计获得的原始动作数据进行分析以确定该第一装置游戏动作数据。
6.如权利要求1所述的游戏***,其中,该第一装置游戏动作数据包括挥杆速度和滚转角。
7.如权利要求6所述的游戏***,其中,该第一装置游戏动作数据包括前臂转动速率、手腕合页、以及挥杆路径。
8.一种游戏***,包括;
一个游戏服务器,该游戏服务器被配置成用于管理至少一个游戏,其中
(a)在一个第一装置与该游戏服务器之间建立一个第一连接,该第一装置具有多个第一动作传感器;
(b)在一个第二装置与该游戏服务器之间建立一个第二连接;
(c)在一个第三装置与该游戏服务器之间建立一个第三连接,该第三装置具有多个第二动作传感器;
(d)响应于在一个游戏过程中该第一装置被一个第一玩家移动,在该游戏服务器通过该第一连接从该第一装置接收第一装置游戏动作数据,使用这些第一动作传感器以确定该第一装置游戏动作数据;
(e)在该第二装置显示与该游戏相关的第一图像内容,至少部分地基于该接收的第一装置游戏动作数据来渲染该第一图像内容;
(f)响应于在该游戏过程中该第三装置被一个第二玩家移动,在该游戏服务器通过该第三连接从该第三装置接收第三装置游戏动作数据,使用这些第二动作传感器以确定该第三装置游戏动作数据;以及
(g)在与该游戏相关的该第二装置显示第二图像内容,至少部分地基于该接收的第三装置游戏动作数据来渲染该第二图像内容。
9.如权利要求8所述的游戏***,其中,该第二装置是一个启用网络的显示器。
10.如权利要求8所述的游戏***,其中,该第一连接和该第二连接是分开的互联网连接。
11.如权利要求8所述的游戏***,其中,这些第一动作传感器包括一个陀螺仪和一个加速度计。
12.如权利要求8所述的游戏***,其中,该第一装置对从该陀螺仪和该加速度计获得的原始动作数据进行分析以确定该第一游戏动作数据。
13.如权利要求8所述的游戏***,其中,该第一装置游戏动作数据包括挥杆速度和滚转角。
14.如权利要求13所述的游戏***,其中,该第一装置游戏动作数据包括前臂转动速率、手腕合页、以及挥杆路径。
15.如权利要求8所述的游戏***,其中,该第二装置包括从具有游戏逻辑的该游戏服务器下载的一个异步网络应用。
16.一种方法,包括:
(a)在一个第一装置与一个游戏服务器之间建立一个第一连接,该第一装置具有多个第一动作传感器;
(b)在一个第二装置与该游戏服务器之间建立一个第二连接;
(c)响应于在一个游戏过程中该第一装置被一个第一玩家移动,在该游戏服务器通过该第一连接从该第一装置接收第一装置游戏动作数据,使用这些第一动作传感器以确定该第一装置游戏动作数据;以及
(d)在与该游戏相关的该第二装置显示图像内容,至少部分地基于该接收的第一游戏动作数据来渲染该图像内容。
17.如权利要求16所述的方法,进一步包括:
(e)在一个第三装置与该游戏服务器之间建立一个第三连接,该第三装置具有多个第二动作传感器;
(f)响应于在该游戏过程中该第三装置被一个第二玩家移动,在该游戏服务器通过该第三连接从该第三装置接收第三装置游戏动作数据,使用这些第二动作传感器以确定该第三装置游戏动作数据;以及
(g)在与该游戏相关的该第二装置显示图像内容,至少部分地基于该接收的第三装置游戏动作数据来渲染该图像内容。
18.如权利要求17所述的方法,其中,该游戏是高尔夫球的一个仿真版本,并且,随着游戏的进行而交替地执行步骤(c)和(d)、以及(f)和(g)。
19.如权利要求16所述的方法,其中,至少部分地基于该第一装置游戏动作数据来渲染该图像内容,该第一装置游戏动作数据由该第二装置通过一个本地网络连接从该第一装置接收。
20.如权利要求16所述的方法,其中,该第一装置是一个移动装置。
21.如权利要求20所述的方法,其中,该移动装置是一个智能电话。
22.如权利要求16所述的方法,其中,该第二装置是一个启用网络的显示器。
23.如权利要求16所述的方法,其中,该第一连接和该第二连接是分开的互联网连接。
24.如权利要求16所述的方法,其中,这些第一动作传感器包括一个陀螺仪和一个加速度计。
25.如权利要求24所述的方法,其中,该第一装置对从该陀螺仪和该加速度计获得的原始动作数据进行分析以确定该第一游戏动作数据。
26.如权利要求25所述的方法,其中,该第一装置游戏动作数据包括挥杆速度和滚转角。
27.如权利要求25所述的方法,其中,该第一装置游戏动作数据包括前臂转动速率、手腕合页、以及挥杆路径。
28.如权利要求16所述的方法,进一步包括:
将游戏逻辑从该游戏服务器下载到该第二装置,其中,该游戏逻辑包括一个异步网络应用。
29.如权利要求29所述的方法,其中,该异步网络应用被配置成用于渲染该图像内容而无需该游戏服务器的直接控制,并且通过轮询该游戏服务器而获得该运动的一个指示。
30.如权利要求29所述的方法,其中,该轮询是长轮询。
31.如权利要求30所述的方法,其中,该长轮询是根据WebSocket协议而执行的。
32.如权利要求16所述的方法,进一步包括:
(e)在一个第三装置与该游戏服务器之间建立一个第三连接,该第三装置具有多个第二动作传感器;
(f)在一个第四装置与该游戏服务器之间建立一个第四连接;
(g)响应于在该游戏过程中该第三装置被一个第二玩家移动,在该游戏服务器通过该第三连接从该第三装置接收第三装置游戏动作数据,使用这些第二动作传感器以确定该第三装置游戏动作数据;并且
(h)在与该游戏相关的该第二和第四装置显示图像内容,至少部分地基于该第三装置游戏动作数据来渲染该图像内容;
(i)其中,显示在该第二装置与该第四装置上的该图像内容包括实质上相同的图像内容。
33.如权利要求32所述的方法,进一步包括:
(i)响应于在该游戏过程中该第一装置被该第一玩家再次移动,在该游戏服务器通过该第一连接从该第一装置接收附加第一装置动作数据,使用这些第一动作传感器来确定该附加第一装置游戏动作数据;以及
(h)在与该游戏相关的该第二和第四装置显示图像内容,至少部分地基于该第三游戏动作数据来渲染该图像内容。
34.如权利要求32所述的方法,其中,该第二装置和该第四装置是分开的启用网络的显示器,这些显示器的位置为使得该第一玩家和该第二玩家无法同时观看到两者。
35.如权利要求32所述的方法,其中,该第一装置和该第三装置对从每个对应的装置上的一个陀螺仪和一个加速度计获得的原始动作数据进行分析以确定该第一游戏动作数据。
36.如权利要求32所述的方法,其中,该第一装置游戏动作数据包括挥杆速度和滚转角。
37.如权利要求32所述的方法,其中,该第一装置游戏动作数据包括前臂转动速率、手腕合页、以及挥杆路径。
38.如权利要求16所述的方法,进一步包括将一个邀请从该第一玩家发送至该第二玩家以邀请该第二玩家来玩该游戏。
39.如权利要求16所述的方法,其中,该游戏服务器便于利用一种IP电话协议来在该第一玩家与该第二玩家之间进行通信。
40.如权利要求16所述的方法,其中,该游戏为高尔夫球、棒球、保龄球、网球、篮球、乒乓球、美式足球、钓鱼、或曲棍球之一。
41.如权利要求16所述的方法,其中,渲染该图像数据包括从一个数据库中选择至少一个数字图像,所选择的该至少一个数字图像对应于一个虚拟球预计着陆的位置。
42.如权利要求41所述的方法,其中,该图像是一个数字照片。
43.如权利要求41所述的方法,其中,所选择的该至少一个数字图像包括多层。
44.如权利要求43所述的方法,其中,这些层中的每一层被分配一个索引值。
45.如权利要求44所述的方法,其中,该索引值被用来控制重叠元素的垂直层叠顺序。
46.如权利要求44所述的方法,其中,该索引值是一个Z-索引。
47.如权利要求16所述的方法,其中,渲染该图像数据包括基于玩家交互与该游戏的规则从一个内容数据库中选择多个显示元素。
48.如权利要求16所述的方法,其中,基于该第二装置的带宽要求来调整图像内容分辨率。
49.如权利要求16所述的方法,其中,渲染该图像内容包括通过将一个所选择的数字图像映射到3-D空间中、并且显示在球飞行的起始点和终止点之间的一个球飞行动画来示出球飞行。
50.如权利要求42所述的方法,其中,所选择的该数字图像由一个动态图片和一个子画面中的一个或多个而增强。
51.如权利要求41所述的方法,其中,每一个高尔夫球洞的数字图像的数量小于n,其中,对一个标准3杆球洞,n=50;对一个标准4杆球洞,n=75;以及对一个标准5杆球洞,n=100。
52.如权利要求41所述的方法,其中,该数字图像是一个视频。
53.如权利要求16所述的方法,其中,渲染该图像内容包括从一个数字图像的数据库中预选择多个数字图像,这些数字图像中的每一个都是一个高尔夫球场球洞的一部分,其中,该预选择基于使用该数字照片的预测可能性;以及
将这些预选择的数字图像存储在该第二装置的存储器中;以及
从该存储器中的这些预选择的数字图像中选择一个数字图像。
54.如权利要求16所述的方法,进一步包括:
(e)在一个第n装置与该游戏服务器之间建立一个第n连接,该第n装置具有多个第(n-1)动作传感器;
(f)在一个第(n+1)装置与该游戏服务器之间建立一个第(n+1)连接;
(g)响应于在该游戏过程中该第n装置被移动,在该游戏服务器通过该第n连接从该第n装置接收第n装置游戏动作数据,使用这些第(n-1)动作传感器以确定该第n装置游戏动作数据;以及
(h)在与该游戏相关的该第(n-1)和第(n+1)装置显示图像内容,至少部分地基于该第n装置游戏动作数据来渲染该图像内容;
(i)其中,n是一个整数,3≥n≥100。
55.如权利要求54所述的方法,进一步包括(j),其中,显示在该第(n-1)装置与该第(n+1)装置上的该图像内容包括实质上相同的图像内容。
CN201380022708.0A 2012-05-02 2013-05-02 带有移动装置动作传感器输入的基于网络的游戏平台 Pending CN104394949A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261641825P 2012-05-02 2012-05-02
US61/641,825 2012-05-02
US13/875,179 2013-05-01
US13/875,179 US9022870B2 (en) 2012-05-02 2013-05-01 Web-based game platform with mobile device motion sensor input
PCT/US2013/039219 WO2013166251A1 (en) 2012-05-02 2013-05-02 Web-based game platform with mobile device motion sensor input

Publications (1)

Publication Number Publication Date
CN104394949A true CN104394949A (zh) 2015-03-04

Family

ID=49512930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380022708.0A Pending CN104394949A (zh) 2012-05-02 2013-05-02 带有移动装置动作传感器输入的基于网络的游戏平台

Country Status (9)

Country Link
US (2) US9022870B2 (zh)
EP (1) EP2844359B1 (zh)
JP (1) JP6313283B2 (zh)
KR (1) KR101800795B1 (zh)
CN (1) CN104394949A (zh)
AU (1) AU2013256266B2 (zh)
BR (1) BR112014026924B1 (zh)
CA (1) CA2869785C (zh)
WO (1) WO2013166251A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105597323A (zh) * 2015-12-25 2016-05-25 北京像素软件科技股份有限公司 一种网络游戏中地形变化的实现方法及***
CN105933788A (zh) * 2016-04-15 2016-09-07 成都趣梦网络科技有限公司 一种html5游戏控制方法、装置及终端
CN106559481A (zh) * 2016-11-02 2017-04-05 深圳市合互联技术有限责任公司 一种提供应用的方法及服务器
CN107206280A (zh) * 2014-11-18 2017-09-26 雷蛇(亚太)私人有限公司 用于移动设备的游戏控制器以及操作游戏控制器的方法
CN109144642A (zh) * 2018-08-14 2019-01-04 Oppo广东移动通信有限公司 显示控制方法、装置、电子设备及存储介质
CN109621424A (zh) * 2018-12-18 2019-04-16 深圳源中瑞科技有限公司 一种可扩展的游戏构建方法、游戏运行方法和存储介质
CN112437910A (zh) * 2018-06-20 2021-03-02 威尔乌集团 握住和释放虚拟对象
CN112791385A (zh) * 2021-03-22 2021-05-14 腾讯科技(深圳)有限公司 游戏运行方法、装置、控制设备以及服务器
CN113476833A (zh) * 2021-06-10 2021-10-08 深圳市腾讯网域计算机网络有限公司 游戏动作识别方法、装置、电子设备和存储介质

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9821210B2 (en) * 2011-05-11 2017-11-21 Karsten Manufacturing Corporation Systems, methods, and articles of manufacture to measure, analyze and share golf swing characteristics
CN103677320B (zh) * 2012-08-30 2018-09-25 索尼公司 遥控器、远端设备、多媒体***及控制方法
JP5406396B1 (ja) * 2013-04-03 2014-02-05 株式会社 ディー・エヌ・エー サーバー装置、及び、プログラム
US9911231B2 (en) * 2013-10-08 2018-03-06 Samsung Electronics Co., Ltd. Method and computing device for providing augmented reality
IN2013CH04559A (zh) * 2013-10-08 2015-04-10 Samsung Electrinics Company
CN104571986B (zh) * 2013-10-22 2018-07-06 精工爱普生株式会社 显示***、显示装置以及显示方法
US9744458B2 (en) * 2013-11-13 2017-08-29 Gaijin Entertainment Corp. Method for simulating video games on mobile device
US9669300B2 (en) 2013-12-27 2017-06-06 Ballcraft, Llc Motion detection for existing portable devices
EP3119487A4 (en) * 2014-03-19 2017-10-18 Virtuix Holdings Inc. Method of generating an input in an omnidirectional locomotion system
US9339714B2 (en) 2014-05-20 2016-05-17 Arccos Golf Llc System and method for monitoring performance characteristics associated with user activities involving swinging instruments
US10222868B2 (en) 2014-06-02 2019-03-05 Samsung Electronics Co., Ltd. Wearable device and control method using gestures
ES2552881B1 (es) 2014-06-02 2016-07-12 Samsung Electronics Iberia, S.A.U. Dispositivo portable y método de control mediante gestos
WO2016036425A1 (en) * 2014-09-05 2016-03-10 Ballcraft, Llc Motion detection for portable devices
US11045723B1 (en) 2014-11-18 2021-06-29 Razer (Asia-Pacific) Pte. Ltd. Gaming controller for mobile device and method of operating a gaming controller
CN105897811B (zh) * 2015-01-26 2019-04-23 ***通信集团公司 一种数据同步方法和装置
US20160260319A1 (en) * 2015-03-04 2016-09-08 Aquimo, Llc Method and system for a control device to connect to and control a display device
JP2016209120A (ja) * 2015-04-30 2016-12-15 セイコーエプソン株式会社 スイング支援装置、スイング支援方法、プログラム、およびスイング支援システム
US9770639B2 (en) 2015-07-21 2017-09-26 Arccos Golf, Llc System and method for monitoring performance characteristics associated with user activities involving swinging instruments
US9578493B1 (en) 2015-08-06 2017-02-21 Adtile Technologies Inc. Sensor control switch
KR101729887B1 (ko) 2016-01-25 2017-04-25 엔에이치엔엔터테인먼트 주식회사 롱폴링 처리 방법 및 시스템
CN107092430B (zh) * 2016-02-18 2020-03-24 纬创资通(中山)有限公司 空间绘画计分方法、用于进行空间绘画计分的装置及***
WO2017161192A1 (en) * 2016-03-16 2017-09-21 Nils Forsblom Immersive virtual experience using a mobile communication device
CN106055078B (zh) 2016-05-31 2019-03-01 Oppo广东移动通信有限公司 一种移动终端的传感器处理方法、装置及移动终端
US10709975B2 (en) * 2016-06-29 2020-07-14 Intel Corporation Systems and methods for manipulating a virtual object
KR20180040451A (ko) * 2016-10-12 2018-04-20 엘지전자 주식회사 이동 단말기 및 그의 동작 방법
US11794094B2 (en) * 2016-10-17 2023-10-24 Aquimo Inc. Method and system for using sensors of a control device for control of a game
US10478732B2 (en) 2016-11-07 2019-11-19 Microsoft Technology Licensing, Llc Arbitrating an outcome of a multiplayer game session
US11318350B2 (en) 2016-12-29 2022-05-03 BioMech Sensor LLC Systems and methods for real-time data quantification, acquisition, analysis, and feedback
US9773330B1 (en) 2016-12-29 2017-09-26 BioMech Sensor LLC Systems and methods for real-time data quantification, acquisition, analysis, and feedback
US10973439B2 (en) 2016-12-29 2021-04-13 BioMech Sensor LLC Systems and methods for real-time data quantification, acquisition, analysis, and feedback
US10352962B2 (en) 2016-12-29 2019-07-16 BioMech Sensor LLC Systems and methods for real-time data quantification, acquisition, analysis and feedback
US9983687B1 (en) * 2017-01-06 2018-05-29 Adtile Technologies Inc. Gesture-controlled augmented reality experience using a mobile communications device
KR101881565B1 (ko) * 2017-01-10 2018-07-24 동서대학교산학협력단 운동 물리량 측정기반 모션데이터 생성-편집시스템 및 모션데이터 편집 프로그램 장치
US10682562B2 (en) 2017-01-17 2020-06-16 Arccos Golf Llc Autonomous personalized golf recommendation and analysis environment
JP2018126391A (ja) * 2017-02-09 2018-08-16 株式会社セガゲームス ゲーム装置、プログラム及びゲームシステム
JP7061848B2 (ja) * 2017-06-13 2022-05-02 任天堂株式会社 通信システム、サーバ、情報処理方法及びプログラム
US10593149B2 (en) * 2017-12-14 2020-03-17 Igt Skill based mobile device input to effect game outcome
US11465056B2 (en) 2018-01-12 2022-10-11 Bunch Live, Inc. Game mediation component for enriching multiplayer gaming sessions
US11103772B2 (en) 2018-01-12 2021-08-31 Bunch Live, Inc. Mediating multiplayer electronic game sessions
KR102046918B1 (ko) 2018-02-19 2019-11-20 동서대학교 산학협력단 서브모터를 이용한 모션 입력 장치 및 모션 입력 방법
US11642596B2 (en) 2019-04-29 2023-05-09 Bunch Live, Inc. Game mediation infrastructure for establishment of multiplayer gaming sessions
JP6624767B1 (ja) 2019-08-26 2019-12-25 株式会社ブラック 情報処理システム及び情報処理方法
US11295527B2 (en) * 2019-08-30 2022-04-05 Sprongo, LLC Instant technique analysis for sports
US11606617B2 (en) * 2020-03-11 2023-03-14 Augusta National, Inc. Method, apparatus and computer program product for presenting a sporting event
JP7457745B2 (ja) * 2022-03-30 2024-03-28 任天堂株式会社 ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317722B1 (en) 1998-09-18 2001-11-13 Amazon.Com, Inc. Use of electronic shopping carts to generate personal recommendations
US7789742B1 (en) 1999-05-12 2010-09-07 Wilbert Q. Murdock Smart golf club multiplayer system for the internet
US6545661B1 (en) * 1999-06-21 2003-04-08 Midway Amusement Games, Llc Video game system having a control unit with an accelerometer for controlling a video game
KR20010003645A (ko) 1999-06-24 2001-01-15 윤종용 이동통신시스템에서 에이티엠 시그널링 수행장치
US20070066396A1 (en) * 2002-04-05 2007-03-22 Denise Chapman Weston Retail methods for providing an interactive product to a consumer
JP2004113689A (ja) 2002-09-30 2004-04-15 Mitsumi Electric Co Ltd ゴルフゲーム機能付き携帯電話機
US20050032582A1 (en) 2002-12-19 2005-02-10 Satayan Mahajan Method and apparatus for determining orientation and position of a moveable object
US20050054457A1 (en) 2003-09-08 2005-03-10 Smartswing, Inc. Method and system for golf swing analysis and training
US7300358B2 (en) 2003-11-24 2007-11-27 Karsten Manufacturing Corporation Multiple flex shaft system for golf clubs
TW200537901A (en) 2004-04-22 2005-11-16 Yuh-Swu Hwang Method and apparatus enable mobile phone capable of exercise measuring and workout support
EP1904189A2 (en) 2004-05-19 2008-04-02 Motus Corporation Motion tracking and analysis apparatus and method and system implementations thereof
US7982738B2 (en) 2004-12-01 2011-07-19 Microsoft Corporation Interactive montages of sprites for indexing and summarizing video
US8083589B1 (en) * 2005-04-15 2011-12-27 Reference, LLC Capture and utilization of real-world data for use in gaming systems such as video games
KR100703490B1 (ko) 2005-04-18 2007-04-03 삼성전자주식회사 비동기 방식을 기반으로 한 이동 통신 단말기의 시간동기화 방법 및 그 시스템
US7942745B2 (en) 2005-08-22 2011-05-17 Nintendo Co., Ltd. Game operating device
US7927216B2 (en) 2005-09-15 2011-04-19 Nintendo Co., Ltd. Video game system with wireless modular handheld controller
US8218657B2 (en) 2005-09-02 2012-07-10 Netgear, Inc. System and method for automatic adjustment of streaming video bit rate
EP1810724A1 (en) 2006-01-19 2007-07-25 Friends-for-Golfers GmbH A self-learning golf diagnosis apparatus and method
US7806777B2 (en) 2006-04-18 2010-10-05 World Golf Tour, Inc. Automatically adapting virtual equipment model
WO2008052605A1 (en) 2006-10-31 2008-05-08 Friend For Golfers Gmbh Data processing system and golf diagnosis apparatus
EP2750098A3 (en) 2007-02-16 2014-08-06 BodyMedia, Inc. Systems and methods for understanding and applying the physiological and contextual life patterns of an individual or set of individuals
US20080293464A1 (en) 2007-05-21 2008-11-27 World Golf Tour, Inc. Electronic game utilizing photographs
JP2009000163A (ja) * 2007-06-19 2009-01-08 Nec Corp ゲームシステム、ゲームサーバ、携帯端末、ゲーム管理方法およびプログラム
US8850230B2 (en) 2008-01-14 2014-09-30 Microsoft Corporation Cloud-based movable-component binding
US8029359B2 (en) 2008-03-27 2011-10-04 World Golf Tour, Inc. Providing offers to computer game players
JP5438290B2 (ja) 2008-07-01 2014-03-12 住友ゴム工業株式会社 ゴルフクラブのスイングシミュレーション方法
JP2012507091A (ja) * 2008-10-27 2012-03-22 ソーシャル・ゲーミング・ネットワーク インターラクティブなプロキシミティディスプレイのテザーのための装置、方法およびシステム
KR20100086819A (ko) * 2009-01-23 2010-08-02 삼성전자주식회사 휴대단말기의 게임 실행 방법 및 시스템
US9459936B2 (en) 2009-05-01 2016-10-04 Kaazing Corporation Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
US8303387B2 (en) 2009-05-27 2012-11-06 Zambala Lllp System and method of simulated objects and applications thereof
US20110224012A1 (en) 2010-01-12 2011-09-15 Hashimoto Terry G Game Device Swing Detector
EP2392391B1 (en) 2010-02-03 2017-06-28 Nintendo Co. Ltd. Display device, game system, and game processing method
EP2353677A3 (en) * 2010-02-03 2014-01-22 Nintendo Co., Ltd. Game system, image output device, and image display method
CA2731025C (en) * 2010-02-05 2014-10-07 Fletcher Lu Mobile social fitness networked game
JP5730914B2 (ja) 2010-03-05 2015-06-10 ブラス・モンキー・インコーポレイテッドBrass Monkey,Inc. Webブラウザにおける双方向通信および内容制御のシステムおよび方法
KR101852812B1 (ko) * 2010-08-23 2018-04-27 엘지전자 주식회사 게임 애플리케이션 제공 방법 및 그 방법을 채용한 영상표시기기
US20120052933A1 (en) 2010-08-30 2012-03-01 Craig Alan Olson Multifunctional gaming platform
JP5258861B2 (ja) * 2010-09-27 2013-08-07 株式会社東芝 Gui処理装置、gui処理方法およびgui処理プログラム
KR101059258B1 (ko) 2010-12-31 2011-08-26 (주) 골프존 모바일 단말기를 이용한 가상 골프 시뮬레이션 방법, 이를 위한 어플리케이션의 가상 골프 시뮬레이션 구현 방법, 이를 위한 어플리케이션 설계 방법, 이를 위한 어플리케이션의 프로그램 수행 방법 및 이를 제공하는 모바일 단말기
US8910309B2 (en) * 2011-12-05 2014-12-09 Microsoft Corporation Controlling public displays with private devices
JP5248689B1 (ja) * 2012-02-17 2013-07-31 株式会社コナミデジタルエンタテインメント ゲーム制御装置、プログラム、ゲーム制御方法、ゲーム制御システム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107206280A (zh) * 2014-11-18 2017-09-26 雷蛇(亚太)私人有限公司 用于移动设备的游戏控制器以及操作游戏控制器的方法
CN105597323A (zh) * 2015-12-25 2016-05-25 北京像素软件科技股份有限公司 一种网络游戏中地形变化的实现方法及***
CN105933788A (zh) * 2016-04-15 2016-09-07 成都趣梦网络科技有限公司 一种html5游戏控制方法、装置及终端
CN106559481A (zh) * 2016-11-02 2017-04-05 深圳市合互联技术有限责任公司 一种提供应用的方法及服务器
CN112437910A (zh) * 2018-06-20 2021-03-02 威尔乌集团 握住和释放虚拟对象
CN109144642A (zh) * 2018-08-14 2019-01-04 Oppo广东移动通信有限公司 显示控制方法、装置、电子设备及存储介质
CN109621424A (zh) * 2018-12-18 2019-04-16 深圳源中瑞科技有限公司 一种可扩展的游戏构建方法、游戏运行方法和存储介质
CN109621424B (zh) * 2018-12-18 2022-05-13 深圳源中瑞科技有限公司 一种可扩展的游戏构建方法、游戏运行方法和存储介质
CN112791385A (zh) * 2021-03-22 2021-05-14 腾讯科技(深圳)有限公司 游戏运行方法、装置、控制设备以及服务器
CN113476833A (zh) * 2021-06-10 2021-10-08 深圳市腾讯网域计算机网络有限公司 游戏动作识别方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
AU2013256266B2 (en) 2015-04-09
KR20150006463A (ko) 2015-01-16
US20130296048A1 (en) 2013-11-07
BR112014026924A2 (pt) 2017-06-27
KR101800795B1 (ko) 2017-12-20
JP6313283B2 (ja) 2018-04-18
EP2844359B1 (en) 2017-01-11
EP2844359A4 (en) 2015-09-23
BR112014026924B1 (pt) 2022-05-17
CA2869785A1 (en) 2013-11-07
US20150238858A1 (en) 2015-08-27
US9022870B2 (en) 2015-05-05
AU2013256266A1 (en) 2014-10-16
EP2844359A1 (en) 2015-03-11
JP2015525085A (ja) 2015-09-03
CA2869785C (en) 2018-02-13
WO2013166251A1 (en) 2013-11-07

Similar Documents

Publication Publication Date Title
CN104394949A (zh) 带有移动装置动作传感器输入的基于网络的游戏平台
US11049258B2 (en) Stereoscopic image capture with performance outcome prediction in sporting environments
US11322043B2 (en) Remote multiplayer interactive physical gaming with mobile computing devices
CN110382064A (zh) 用于使用控制装置的传感器来控制游戏的方法和***
JP5286267B2 (ja) ゲーム装置、ゲームプログラム及びオブジェクトの操作方法
US20090029754A1 (en) Tracking and Interactive Simulation of Real Sports Equipment
US20110119332A1 (en) Movement animation method and apparatus
TW200914097A (en) Electronic game utilizing photographs
US20110172017A1 (en) Game machine, game program, and game machine control method
KR102573182B1 (ko) 단말 장치, 가상 스포츠 장치, 가상 스포츠 시스템 및 가상 스포츠 시스템의 동작방법
US11872491B2 (en) Mixed reality competitions involving real and virtual participants
US20220401841A1 (en) Use of projectile data to create a virtual reality simulation of a live-action sequence
US20220270447A1 (en) System and method for enabling wagering event between sports activity players with stored event metrics
KR20180064142A (ko) 온라인 및 오프라인을 연계한 스크린게임 방법 및 스크린게임 장치
KR101326868B1 (ko) 골프 게임 제공 방법 및 장치
KR20230058331A (ko) 모바일 기기를 이용한 포터블 가상 골프 시스템
WO2021183697A1 (en) Electronic video sports game
KR20230047710A (ko) 골프 코스 리스트 제공 장치 및 골프 코스 리스트 제공 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150304