CN106621326B - 利用云转变的本地应用快速启动 - Google Patents

利用云转变的本地应用快速启动 Download PDF

Info

Publication number
CN106621326B
CN106621326B CN201610693724.8A CN201610693724A CN106621326B CN 106621326 B CN106621326 B CN 106621326B CN 201610693724 A CN201610693724 A CN 201610693724A CN 106621326 B CN106621326 B CN 106621326B
Authority
CN
China
Prior art keywords
game
client device
cloud
content
video game
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
CN201610693724.8A
Other languages
English (en)
Other versions
CN106621326A (zh
Inventor
D.佩里
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 LLC
Original Assignee
Sony Computer Entertainment America LLC
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 Sony Computer Entertainment America LLC filed Critical Sony Computer Entertainment America LLC
Priority to CN202010167418.7A priority Critical patent/CN111467793B/zh
Priority to CN202011041130.1A priority patent/CN112245900B/zh
Publication of CN106621326A publication Critical patent/CN106621326A/zh
Application granted granted Critical
Publication of CN106621326B publication Critical patent/CN106621326B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/31Communication aspects specific to video games, e.g. between several handheld game devices at close range
    • 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/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • 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
    • 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/45Controlling the progress of the video game
    • 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/45Controlling the progress of the video game
    • A63F13/48Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session
    • 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/50Controlling the output signals based on the game progress
    • A63F13/54Controlling the output signals based on the game progress involving acoustic signals, e.g. for simulating revolutions per minute [RPM] dependent engine sounds in a driving game or reverberation against a virtual wall
    • 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/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • 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/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5683Storage of data provided by user terminals, i.e. reverse caching
    • 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/50Features 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 details of game servers
    • A63F2300/53Features 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 details of game servers details of basic data processing
    • A63F2300/534Features 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 details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • 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/50Features 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 details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5566Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by matching opponents or finding partners to build a team, e.g. by skill level, geographical area, background, play style

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Optics & Photonics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Acoustics & Sound (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

提供了一种方法,其包括:在客户端装置处接收开始云视频游戏的第一命令;响应于接收到所述第一命令,由所述客户端装置从客户端本地存储装置检索初始内容;呈现所述初始内容到显示装置;从所述客户端装置向云游戏服务端发送第一请求以访问所述云视频游戏,所述云游戏服务端被配置来分配所述客户端装置到游戏机,其被配置来执行所述云视频游戏;在所述客户端装置处接收开始交互游戏玩法的第二命令;响应于接收到所述第二命令,从所述客户端装置向所述云游戏服务端发送第二请求,所述云游戏服务端被配置来响应于接收到所述第二请求,开始向所述客户端装置流式传送由所述执行的云视频游戏生成的交互游戏玩法内容。

Description

利用云转变的本地应用快速启动
技术领域
本公开涉及提供云视频游戏以供用户交互的系统和方法,并且更具体地,涉及本地视频游戏初始化与转变到云流视频游戏。
发明背景
相关技术的描述
一个当前快速成长技术的领域为云游戏的领域。用户能够通过网络(诸如互联网)访问云游戏站点上的许多游戏,并且开始交互/玩游戏。为了选择游戏进行游戏比赛,用户访问他/她在云游戏站点上的账户。用户被提供可用于用户账户进行游戏比赛的游戏列表。当用户选择游戏进行查看和/或游戏比赛时,用户在他可以访问游戏进行游戏比赛前,将必须等待直到(例如)用户账户被分配到云游戏机,游戏代码被加载,图形引擎初始化,图形被加载,游戏和用户设置被上传等。此外,由于视频游戏的初始内容的进程一般是线性过程,在视频游戏的初始内容中的每个选择点或其他断点后,加载、执行并流式传送后续内容到用户客户端装置时将要求用户等待。对于图形密集型游戏,访问和玩选择游戏的等待时间可能更长。等待可能致使用户失去对游戏的兴趣并且停止与游戏站点的交互,导致游戏开发者/游戏站点所有者的潜在损失。
在该情况下,本发明的实施方案随之产生。
发明内容
本公开的实施方案提供用于提供基于云的视频游戏的方法和系统。
根据一些实施方式,提供了一种方法,其包括以下方法操作:在客户端装置处接收第一命令以开始云视频游戏;响应于接收到所述第一命令,由所述客户端装置从客户端本地存储装置检索所述云视频游戏的初始内容;将所述初始内容呈现到连接到所述客户端装置的显示装置,所述呈现的初始内容限定所述云视频游戏的内容,其被配置来在呈现所述云视频游戏的交互游戏玩法内容前呈现;还响应于接收到所述第一命令,从所述客户端装置向云游戏服务端发送第一请求以访问所述云视频游戏,所述云游戏服务端被配置来响应于接收到所述第一请求,将所述客户端装置分配到游戏机,其被配置来执行所述云视频游戏并且准备由所述执行的云视频游戏生成的交互游戏玩法内容到所述客户端装置的流式传送;在所述客户端装置处接收第二命令以开始所述云视频游戏的交互游戏玩法;响应于接收到所述第二命令,从所述客户端装置向所述云游戏服务端发送第二请求,所述云游戏服务端被配置来响应于接收到所述第二请求,开始由所述执行的云视频游戏生成的交互游戏玩法内容到所述客户端装置的流式传送。
在一些实施方式中,所述呈现的初始内容不影响所述云视频游戏的游戏玩法情境内的用户进程或成就的级别。
在一些实施方式中,所述呈现的初始内容限定下列各项中的一个或多个:法律信息的叙述、标志呈现、启动画面、加载画面、评级画面、菜单。
在一些实施方式中,所述呈现的初始内容限定接口装置的配置过程,其被配置来为所述云视频游戏提供用户限定的输入。
在一些实施方式中,通过从所述云游戏服务端向所述客户端装置传输视频流和音频流用于由所述客户端装置呈现来限定所述流式传送所述交互游戏玩法内容到所述客户端装置。
在一些实施方式中,所述云游戏服务端被配置来通过访问保存的游戏数据和根据所述保存的游戏数据限定所述执行的云视频游戏的状态来准备交互游戏玩法内容的流式传送。
根据一些实施方式,提供了一种方法,其包括以下方法操作:在客户端装置处接收第一命令以开始云视频游戏;响应于接收到所述第一命令,由所述客户端装置从客户端本地存储装置检索所述云视频游戏的初始内容;将所述初始内容呈现到显示装置;还响应于接收到所述第一命令,从所述客户端装置向云游戏服务端发送第一请求以访问所述云视频游戏,所述云游戏服务端被配置来响应于接收到所述第一请求,执行所述云视频游戏并且准备流式传送由所述执行的云视频游戏生成的交互游戏玩法内容到所述客户端装置;在所述客户端装置处接收第二命令以开始所述云视频游戏的交互游戏玩法;响应于接收到所述第二命令,从所述客户端装置向所述云游戏服务端发送第二请求,所述云游戏服务端被配置来响应于接收到所述第二请求,开始流式传送由所述执行的云视频游戏生成的交互游戏玩法内容到所述客户端装置。
在一些实施方式中,所述呈现的初始内容不影响所述云视频游戏的游戏玩法情境内的用户进程或成就的级别。
在一些实施方式中,所述呈现的初始内容限定下列各项中的一个或多个:法律信息的叙述、标志呈现、启动画面、加载画面、评级画面、菜单或接口装置的配置过程,其被配置来为所述云视频游戏提供用户限定的输入。
在一些实施方式中,通过从所述云游戏服务端向所述客户端装置传输视频流和音频流用于由所述客户端装置呈现来限定所述流式传送所述交互游戏玩法内容到所述客户端装置。
在一些实施方式中,所述云游戏服务端被配置来通过访问保存的游戏数据和根据所述保存的游戏数据限定所述执行的云视频游戏的状态来准备交互游戏玩法内容的流式传送。
在一些实施方式中,所述方法还包括:还响应于接收到所述第二命令并且开始流式传送所述交互游戏玩法内容到所述客户端装置,在所述客户端装置处接收从与所述交互游戏玩法内容的用户交互性限定的用户输入,以及从所述客户端装置向所述云游戏服务端传送所述用户输入用于由所述执行的视频内容处理。
在一些实施方式中,所述方法还包括:在所述客户端装置处接收终止所述视频游戏的游戏玩法的第三命令;响应于接收到所述第三命令,从所述客户端装置向所述云游戏服务端发送第三请求,所述云游戏服务端被配置来响应于接收到所述第三请求,确定是否需要更新存储在所述客户端本地存储装置中的所述初始内容,并且如果是这样,则向所述客户端装置发送所述更新。
根据本公开的实施方式,提供了一种方法,其包括以下方法操作:由云游戏机执行云视频游戏,所述执行的云视频游戏被配置来生成视频内容用于流式传送到客户端装置;识别被配置来在所述客户端装置处高速缓存的可高速缓存的视觉内容,所述可高速缓存的视觉内容包括一个或多个视觉资产;向所述客户端装置发送混合数据流,其包括所述视频内容和所述可高速缓存的视觉内容,其中所述客户端装置被配置来将所述可高速缓存的视觉内容存储到客户端高速缓存,并且其中所述客户端装置还被配置来组合所述视频内容与所述视觉资产中的一个或多个以限定客户端图像流用于呈现到显示器。
在一些实施方式中,所述执行的云视频游戏被配置来识别所述视觉资产,其已存储到所述客户端高速缓存,并且其中生成所述视频内容被配置来从所述生成的视频内容中排除已存储到所述客户端高速缓存的所述视觉资产。
在一些实施方式中,所述执行的云视频游戏被配置来生成识别将与所述视频内容组合的所述视觉资产中的一个或多个的识别数据,其中所述混合数据流包括所述识别数据。
在一些实施方式中,所述识别数据还限定所述视频内容的图像帧内的空间或时间位置,在所述空间或时间位置处所述视觉资产中的一个或多个将插入所述视频内容。
在一些实施方式中,识别和发送所述可高速缓存的内容到所述客户端装置是响应于确定所述云视频游戏的游戏玩法完成已超出预限定的阈值。
从下面的具体实施方式中,结合附图,以示例的方式说明本发明的原理,本发明的其他方面和优点将变得明显。
附图简述
通过参考结合附图的以下描述,可更好地理解本发明以及其进一步优点。
图1A图示根据本发明的实施方案的用于预加载游戏内容到云游戏服务器上的示例性系统的简化框图。
图1B是根据本公开的实施方式的概念性地图示被执行用于流式传送云视频游戏到客户端装置的各个操作的流程图。
图2概念性地图示根据本公开的实施方式的用于云游戏与本地应用快速启动功能的系统。
图3图示根据本公开的实施方式的用于提供高速缓存优化的云游戏的系统。
图4概念性地图示根据本公开的实施方式的数据的流动以提供来自云游戏服务端的本地高速缓存优化的云视频游戏流式传送。
图5图示根据本公开的实施方式的用于提供本地应用快速启动功能的方法。
图6图示根据本公开的实施方式的用于提供本地应用快速启动功能的方法。
图7是根据本公开的实施方式的描绘数据带宽对比时间的图,其比较现有的常规游戏流式传送设置与采用客户端高速缓存的带宽利用率。
图8图示根据本发明的一个实施方案的示例性信息服务提供商架构,其用于向地理上分散且经由网络连接的用户递送信息内容和服务。
图9图示根据本发明的一个实施方案的用于控制向用户呈现的内容的示例性计算装置部件。
具体实施方式
在下面的描述中,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,对于本领域的一个技术人员将明显的是可在没有一些或全部这些具体细节的情况下实践本发明。在其他情况下,为了不模糊本发明,没有详细描述熟知的过程步骤。
当接收到用户请求游戏名称时,若干操作由与云游戏站点关联的数据中心内的服务器(或多个服务器)执行。当云游戏站点接收用户请求时,托管与选择的游戏名称关联的游戏的数据中心被识别并且请求被发送到识别的数据中心来针对选择的游戏名称例示游戏。响应于请求,在数据中心处的服务器识别游戏代码,加载识别的游戏代码并且初始化与游戏代码相关的文件来准备向用户呈现游戏内容。与游戏关联的游戏数据包括通用游戏数据和用户专用游戏数据。因此,初始化文件包括识别、加载和初始化通用游戏数据和用户专用游戏数据。初始化通用游戏数据可包括初始化图形引擎、安装图形数据、初始化声音文件、安装艺术作品等。初始化用户专用数据可包括定位和安装用户数据、用户历史、游戏历史等。通用游戏数据的加载可花费从几秒到几分钟的任何时间,这取决于游戏/游戏的图形的复杂度。
在加载和初始化通用游戏数据时,可提供“splash”屏幕(启动画面)用于在客户端装置处呈现。启动画面可被设计来提供正加载的游戏的代表性图像,以给予用户正加载的游戏类型的预览。通用游戏数据被加载后,可呈现音频内容并且呈现选择/导航画面以供用户选择/定制。在选择/导航画面提供的用户选择输入可包括游戏级别选择、游戏图标选择、游戏模式选择、游戏赢得的财物、可能需要上载额外的游戏内容的其他用户相关的数据。用户选择输入的上载可在游戏内容可用于用户进行游戏比赛前致使额外的延迟。在一些实施方案中,通过从游戏云系统向用户的计算装置流式传送游戏内容用于查看和交互而使游戏内容可用。在加载用户专用数据后,游戏内容可用于游戏比赛。
图1A图示用于通过云游戏站点加载游戏的游戏文件的示例性系统。所述系统包括在网络102(诸如互联网)上以通信方式连接到云游戏站点104的多个客户端装置100。当接收到来自客户端装置100的访问云游戏站点104的请求时,云游戏站点104访问存储在用户数据存储108中的用户账户信息106以识别与客户端装置关联的用户,请求通过所述客户端装置被发起。在一些实施方案中,云游戏站点还可验证识别的用户以便确定用户被授权查看/玩的全部游戏。接着用户账户识别/验证,云游戏站点访问游戏名称数据存储110,为发起请求的用户账户识别在游戏云站点可用的游戏名称。游戏名称数据存储110继而与游戏数据库112交互以得到可用于云游戏站点的全部游戏的游戏名称。随着引入新游戏,将更新游戏数据库112的游戏代码并且游戏名称数据存储110将配备有新引入的游戏的游戏名称信息。在发起请求时,客户端装置(从其发起请求)可在或没有在云游戏站点上注册。如果发起请求的客户端装置的用户不是注册的用户,则云游戏站点可识别用户为新用户并且选择适合新用户的游戏名称(例如,默认的一组游戏名称)。识别的游戏名称被返回客户端装置用于在显示屏幕100-a上呈现,如图1A所示。
检测在客户端装置上呈现的游戏名称中的一个处的用户交互并向云游戏站点发送信号。信号包括检测到用户交互处的游戏名称信息和在游戏名称处注册的用户交互。响应于从客户端装置接收的信号,云游戏站点积极确定数据中心(在此处托管游戏)并且向识别的数据中心发送信号以加载与为其检测到用户交互的游戏名称关联的游戏。在一些实施方案中,多于一个数据中心可能托管游戏。在这种实施方案中,云游戏站点可确定发起请求的客户端装置的地理位置,并且识别地理上接近客户端装置的数据中心,并且向数据中心发信号来预加载游戏。可使用客户端装置内的全球定位系统(GPS)机制、客户端的IP地址、客户端的ping信息等来确定用户的地理位置。当然,前述检测用户的地理位置的方式可能是示例性的并且其他类型的机制或工具可用于确定用户的地理位置。在用户与游戏交互期间,识别接近客户端装置的数据中心可最小化延迟。在一些实施方案中,识别的数据中心可能不具有所需的带宽/容量来托管游戏或可能过度使用。在这些实施方案中,云游戏站点可识别地理上接近客户端装置的第二数据中心。游戏的加载包括加载游戏代码和执行游戏的实例。
响应于接收来自云游戏站点的信号,识别的数据中心可在数据中心处选择服务器以在服务器上例示游戏。基于可用的硬件/软件能力和游戏要求来选择服务器。服务器可包括多个游戏控制台并且服务器可确定使用多个游戏控制台中的哪个来加载游戏。游戏控制台可类似于独立的游戏控制台,或可以是机架式服务器或刀片式服务器。刀片式服务器继而可包括多个服务器刀片,其中每个刀片具有例示单个专用应用(诸如游戏)所需的电路。当然,上文描述的游戏控制台是示例性的并且不应认为是限制性的。其他类型的游戏控制台,包括游戏站等,以及其他形式的刀片式服务器也可用于托管识别的游戏。
游戏控制台被识别后,将游戏的通用游戏相关的代码加载到游戏控制台并且在识别其上例示游戏的游戏控制台的网络上经由云游戏站点将信号返回到客户端装置。加载的游戏因此可用于用户。
图1B是根据本公开的实施方式的概念性地图示被执行用于流式传送云视频游戏到客户端装置的各个操作的流程图。游戏系统118执行视频游戏并且生成原始(未压缩的)视频120和音频122。出于流式传送的目的捕捉和编码视频120和音频122,如在所示的图中参考124处所指示。编码可提供视频和音频流的压缩以降低带宽使用并优化游戏体验。编码格式的示例包括H.265/MPEG-H、H.264/MPEG-4、H.263/MPEG-4、H.262/MPEG-2、WMV、VP6/7/8/9等。
编码的音频126和编码的视频128还被分包成网络包,如在参考标记132处所指示,用于在网络(诸如互联网)上传输。网络包编码过程还可采用数据加密过程,从而提供增强的数据安全性。在所示的实施方式中,生成音频包134和视频包136用于在网络上传输,如在参考140处所指示。
游戏系统118额外生成触觉反馈数据130,其也被分包成网络包用于网络传输。在所示的实施方式中,生成触觉反馈包138用于在网络上传输,如进一步在参考140处所指示。
在共同限定云游戏服务端/系统的一个或多个服务器上执行生成原始视频和音频及触觉反馈数据、编码视频和音频以及分包编码的音频/视频和触觉反馈数据用于传输的前述操作。如在参考140处所指示,在网络(诸如和/或包括互联网)上传输音频、视频和触觉反馈包。如在参考142处所指示,音频包134、视频包136和触觉反馈包138由客户端装置解码/重新组合以限定客户端装置处的编码的音频146、编码的视频148和触觉反馈数据150。如果加密了数据,那么还要解密网络包。编码的音频146和编码的视频148然后由客户端装置解码,如在参考144处所指示,以生成客户端侧原始音频和视频数据用于在显示装置152上呈现。触觉反馈数据150可被处理/传送以在控制器装置156或其他接口装置处产生触觉反馈效应,触觉效果可通过所述装置呈现。触觉效果的一个示例是控制器装置156的振动或隆隆声。
将了解的是视频游戏响应于用户输入,并且因此可以执行与上述类似的用于传输和处理用户输入但是以客户端装置到服务器的相反方向的程序流。如所示,用户操作的控制器装置156可生成输入数据158。该输入数据158在客户端装置处被分包用于在网络上传输到云游戏系统。输入数据包160由云游戏服务器拆包和重新组合以限定在服务器侧上的输入数据162。将输入数据162馈送到游戏系统118,所述游戏系统处理输入数据162以更新视频游戏的游戏状态。
在传输(参考140)音频包134、视频包136和触觉反馈包138期间,可监视在网络上的数据传输以确保服务端的云游戏流质量。例如,如参考164所指示,可监视网络状况,包括上行和下行网络带宽两者,并且可响应于可用带宽的变化来调整游戏流式传送。也就是,可基于目前网络状况来控制网络包的编码和解码,如参考166所指示。
图2概念性地图示根据本公开的实施方式的用于云游戏与本地应用快速启动功能的系统。用户226与客户端装置100交互,所述客户端装置被配置来访问云游戏服务。用户226可操作控制器装置156以生成并提供输入给客户端装置100。此外,客户端装置100可被配置来将内容呈现到显示装置152。将了解的是在一些实施方式中,显示装置152可以是头戴式显示器。
客户端装置在网络102上与云游戏服务器104通信,所述云游戏服务器提供到用户的云游戏账户的访问。云游戏服务器104从用户账户存储装置106中检索用户数据204,在所示的实施方案中,用户数据204专用于用户226。举例来说,用户数据204可包括各种云游戏相关的数据诸如名称206,其是用于用户游戏玩法的可用游戏名称。这些可以是用户已购买、租用、借用、被奖励的,或用户以其他方式获得对其访问用于游戏玩法的游戏名称。用户数据还可包括游戏保存数据208、战利品210、统计信息212、社交数据214(例如,包括社交图数据)和历史数据216(例如,用户访问历史,游戏玩法历史等)。
当用户226希望玩给定的用户具有访问许可的云视频游戏时,用户可在客户端装置100在显示器152上呈现的图形用户界面(GUI)上指示视频游戏的选择。针对游戏玩法选择视频游戏时,从客户端装置100向云游戏服务器104传送游戏请求。游戏请求可识别用户希望玩的游戏名称。响应于接收游戏请求,云游戏服务器104激活云游戏机118来例示请求的视频游戏名称。也就是,将云游戏机118分配到请求客户端装置100,并且开始执行请求的视频游戏名称。
与客户端装置100向云游戏服务器104传送游戏请求同时,客户端装置100还开始呈现来自本地存储装置232的初始内容234。初始内容呈现器(presenter)236管理初始内容234的检索、呈现和交互性。初始内容234对于请求的视频游戏可以是特定的,并且可包括在开始视频游戏的交互游戏玩法前可呈现给用户的任意游戏相关的内容。
为了本公开的目的,交互游戏玩法应指代在用户与执行的视频游戏之间的交互性,其直接能够实质上推进用户在视频游戏的竞争/叙事的情境内的进程。因此,视频游戏的交互游戏玩法不包括其他类型的内容呈现或游戏相关的交互诸如开启图像/视频、启动/加载画面或视频、法律信息画面、访问或配置游戏的设置(例如,控制器设置、游戏难度、视频设置、音频设置等)、游戏选择菜单(例如,保存的游戏选择、游戏级别选择、游戏类型选择(例如,街机、单人战役)等)和/或任意其他类型的游戏相关的内容或交互特征,其不直接能够推进在视频游戏的竞争或叙事的情境内用户的进程。
如上所述,视频游戏的初始内容234包括在开始交互游戏玩法前呈现的内容。初始内容234可包括标志画面、开启/启动画面(图像或动画/视频)、法律信息/免责声明画面、外围装置配置菜单、特征设置菜单等这样的内容。因为初始内容234是本地可从本地存储装置232中访问的,所以初始内容234的呈现可以很快发生,并且在非常快的系统中实际上可为即时或瞬时的。在将视频游戏的内容呈现到显示装置152前,用户不必等待云游戏系统-为客户端100提供/分配游戏机118、加载适当的视频游戏代码到分配的游戏机118、开始执行视频游戏代码和/或开始到客户端100的流式传送。这提供视频游戏的本地快速启动,同时云游戏系统准备好游戏机118用于游戏流式传送。因此,用户被提供参与和享受的初始内容,而不是被强迫等待云游戏系统的操作,这可能被感知为较差的云游戏体验。
游戏机118从游戏名称数据存储110得到请求的游戏名称代码,并且执行游戏名称代码来限定执行的视频游戏。向流式传送服务器220提供来自游戏机118的原始视频/音频输出,所述流式传送服务器出于流式传送的目的将原始视频/音频编码为压缩格式。如上所述,可根据网络通信协议在网络102上传送编码的音频和视频。在客户端装置224处的流式传送逻辑238处理输入的流式传送音频/视频用于呈现到显示器152。
将了解的是转变将经由流式传送服务器220从呈现来自本地存储装置232的初始内容234到呈现来自基于云的游戏机118的流式传送的视频游戏而发生。在一些实施方式中,视频游戏在游戏机118处的执行继续进行直到达到某一点,在所述点处视频游戏等待触发来开始流式传送视频游戏到客户端装置100。在一些实施方式中,可从在客户端装置100处接收的用户输入限定开始流式传送的触发。例如,用户可按按钮或经由控制器156提供某个其他输入来开始流式传送。
从内容的本地执行/呈现到内容的云流式传送的转变可被配置来提供平滑的用户体验。可将游戏机118执行视频游戏与在客户端装置处呈现初始内容同步。游戏机118可从客户端装置224接收关于呈现初始内容的状态更新,并且云游戏机118执行视频游戏可被调整以便与呈现初始内容234同步,并且从而允许到云流式传送的平滑转变。将了解的是在一些实施方式中,从本地内容到流式传送内容的转变在不需要用户输入的情况下自动发生,而在其他实施方式中,转变响应于用户输入而发生。
从初始内容的呈现到来自云的视频游戏的流式传送的转变可在整体游戏呈现的各个点处发生。例如,转变可跟随启动画面(图像/动画/视频)的呈现而发生,或跟随需要由用户主动选择或输入的菜单或其他内容的呈现而发生。在后一概念中,可将用户选择(例如,菜单项或选项)或输入传送到游戏机118处的执行的视频游戏,所述游戏机可处理选择/输入以确定下一个要呈现的内容。在一些实施方式中,下一个要呈现的内容将是另一启动画面或菜单,并且因此从本地执行初始内容到云视频游戏流式传送的转变在开始交互游戏玩法前呈现的画面/菜单之间发生。在一些事实方式中,云游戏机118可接收关于在客户端装置224处正呈现若干画面中的哪个画面的状态更新,并且游戏机118可被引导来执行和呈现下一个画面,所述画面将被流式传送到客户端装置224。
在一些实施方式中,转变在单个内容画面的呈现期间发生。例如,初始画面234可能包括连续呈现的多个画面。在画面的本地呈现期间,云游戏机118可接收指示正呈现哪个画面的状态更新,并且云游戏机118可被引导来执行和呈现当前正由客户端装置224呈现的同一画面。转变到流式传送可因此在当前画面的呈现期间发生,并且对于用户来说可无缝出现。在一些实施方案中,首先将画面内容的图像/视频部分转变为流式传送,而不转变音频直到下一个画面的呈现。在一些实施方式中,其中通过循环播放音频片段来限定音频,(视频和音频两者,或仅音频的)转变可在音频播放达到片段的结尾时发生。这种配置可避免音频呈现中的可听间断。
在一些实施方式中,开始视频游戏的流式传送的触发还触发视频游戏的交互游戏玩法的开始。例如,开始内容可包括在开始实际交互游戏玩法前要向用户呈现的视频游戏的全部内容。然后,在开始交互游戏玩法的点处,客户端装置100从呈现本地存储的内容转变到呈现基于云的流式传送内容。此外,将了解的是用户与初始内容的交互诸如用户选择或其他用户输入,可被传送到执行的视频游戏。以此方式,与本地存储的内容的交互可用于驱动基于云的视频游戏的执行。例如,用户可指示菜单选择并且这将被传送到游戏机118上的执行的视频游戏。菜单的呈现将来自本地存储装置232;然而,接着用户从菜单的选择,可将所述用户选择(例如,经由云游戏服务器104)传送到游戏机118并且游戏机118可处理所述用户选择。客户端装置100还可转变成经由流式传送服务器220从游戏机118流式传送用户选择的结果(例如,开始视频游戏的交互游戏玩法)。
如本领域的那些技术人员将了解的,执行的视频游戏可限定接收输入并处理所述输入以更新视频游戏的游戏状态的游戏引擎。在一些实施方式中,在游戏机118处初始化视频游戏的游戏引擎,同时在客户端装置处呈现初始内容234。游戏引擎可被初始化并且然后进入暂停状态,因为游戏机等待触发来继续游戏引擎的执行。接收触发(其可从用户输入限定)时,退出暂停的状态并且所得的游戏引擎的执行提供视频游戏的交互游戏玩法的开始。
在一些实施方式中,客户端装置224可被配置来向云游戏系统传送关于初始内容234的呈现的状态更新。这种状态更新可包括识别初始内容的呈现的当前状态的信息以及用户输入/选择/导航。响应于这种状态更新,游戏机118执行视频游戏可涉及执行视频游戏的情境内的各种选项中的任意选项。从客户端装置224呈现初始内容234到流式传送来自流式传送服务器220的视频游戏的转变可因此被管理和同步以提供平滑的用户体验。
在一些实施方式中,在游戏机处的游戏引擎的初始化可被配置来自动加载用户的上次保存的游戏数据,如在许多情况下,用户通常将希望从他们的上次保存的位置继续游戏玩法。将了解的是甚至在用户指示(例如,通过游戏菜单/选项的导航/选择)他/她希望继续他们的上次保存的游戏玩法前,该用户的上次保存的游戏数据的自动加载可抢先发生。这通过处理的划分而变得可能,其中客户端装置处理并呈现初始内容,而基于云的游戏机初始化游戏引擎用于最终的交互游戏玩法。目前描述的配置因此提供优于甚至常规的单机游戏的游戏体验,因为用户不需要等待他们的本地装置依序加载初始内容且然后加载他们的保存的游戏,因为它们由每个本地客户端装置100和基于云的游戏机118分别并行处理。
在一些实施方式中,云游戏服务器104可被配置来基于用户的游戏玩法历史针对给定的视频游戏来确定是否抢先加载上次保存的游戏。例如,在一些实施方式中,如果在用户上次视频游戏的游戏玩法会话期间,用户加载了先前上次保存的游戏,系统可被配置来自动加载用户的上次保存的游戏。在相关的实施方式中,如果自从上次游戏玩法会话经过了小于阈值量的时间,和在用户上次视频游戏的游戏玩法会话期间,用户加载了先前上次保存的游戏,系统可被配置来自动加载用户的上次保存的游戏。在其他实施方式中,系统可被配置来基于各种因素诸如社交网络活动、时刻、自从上次游戏玩法的时间长度、视频游戏的保存游戏对比非保存游戏(例如,街机、多玩家)的游戏玩法的相对量等确定是否自动加载用户的上次保存的游戏。
在所示的实施方式中,在交互游戏玩法期间,游戏机118执行游戏引擎来生成完全的未压缩的视频和音频数据流。流式传送服务器220接收完全的视频和音频数据流,并且处理它们用于在网络102上传输到客户端装置100。处理可需要将视频和音频数据编码成压缩格式,加密压缩的数据并且根据传输的网络协议分包数据。客户端装置100接收传送的数据,重新组合网络包并且解密和解码压缩的视频/音频数据用于呈现到显示器/HMD 152和音频装置(其可以是显示器152的部分)。
在上述的实施方式中,流式传送服务器向客户端装置100流式传送完全的视频和音频流的压缩版本。在一些实施方式中,如下文进一步详细论述,流式传送服务器220可被配置来流式传送还以其他方式优化的完全的视频和音频流的版本。如将论述,流式视频和音频可被配置成不考虑某些内容部分/资产(其随后在客户端100处被提供),使得游戏流式传送需要更少带宽或使得以更高的保真度(例如,更高的帧率或采样率、更高的分辨率等)流式传送流式视频和音频的剩余部分。
图3图示根据本公开的实施方式的用于提供高速缓存优化的云游戏的系统。广义地说,所示的系统被配置使得视频游戏的图像或音频部分存储在客户端装置处,并且正好在显示器上呈现前在客户端装置处与流式视频或音频组合,从而降低流式传送视频游戏所需的带宽。要在客户端装置处保存的部分可在存在可用带宽的时间段期间(如从监视用于游戏流式传送的带宽利用率和/或网络状况中确定的)传送到装置。
在所示的实施方式中,游戏机118执行存储在游戏名称存储装置110中的高速缓存优化的视频游戏的游戏版本标志300(名称A)。高速缓存优化的游戏版本标志300是视频游戏名称的专业版本,其被配置来提供本文所述的高速缓存优化的游戏流式传送功能。具体来说,高速缓存优化的游戏版本标志300可配置以输出排除了视频游戏的某些视觉或音频成分的视频和音频数据流,这从而减小了视频和音频数据流的数据大小。
由游戏机118执行游戏版本标记300限定游戏引擎302,所述游戏引擎接收和处理输入来更新游戏状态,并且输出图像帧数据350和音频数据352。游戏引擎302可被配置来从其输出的图像帧数据350或音频数据352任选地排除某些视觉或音频内容/资产。对于排除的视觉资产,游戏引擎302可生成识别排除的视觉资产的视觉资产标识符并且还可限定控制其呈现的参数诸如其在图像帧数据内的放置(限定其时间位置和空间位置)、大小、定向、色彩、亮度/对比度、其他视觉性质等。对于排除的音频资产,游戏引擎302可生成识别排除的音频资产的音频资产标识符并且还可限定控制其呈现的参数诸如音量、平衡/衰减器参数、放置、均衡参数等。视觉/音频资产标识符可伴随或被包括作为图像帧数据350或音频数据352的部分,并且用来指示在客户端装置100处处理时哪些视觉或音频资产与图像/音频流组合。
流式传送服务器220接收游戏机118生成的原始图像帧数据350和音频数据352。编码器314以压缩视频/音频格式编码图像帧数据350和音频数据352。加密模块316加密压缩的视频/音频用于在网络102上传输。流式传送服务器220还被配置来将来自游戏高速缓存数据存储装置304的视频游戏的高速缓存数据306传送到客户端装置100。高速缓存数据306可包括视觉内容/资产308和/或音频内容/资产310,其是为视频游戏限定的可高速缓存的内容/资产,可被存储在客户端装置处用于随后与视频/音频流组合。因此,流式传送服务器220发送混合的数据流354,其可包括压缩的视频/音频以及客户端可高速缓存的视觉和/或音频内容/资产。将了解的是加密模块316还可加密用于包含在混合的数据流354中的视觉/音频资产用于在网络102上传输。
将视觉/音频资产包含混合的数据流354中的具体时间可基于当前带宽使用和网络状况来确定。在一些实施方式中,流式传送服务器220被配置来监视流式传送混合数据流354的当前带宽使用并且确定除了压缩的视频/音频流,何时还存在可用带宽来流式传送视觉/音频资产。流式传送服务器220可确定初始网络状况并且在游戏流式传送期间持续监视网络状况,并且可结合当前带宽使用来参考网络状况以确定随时存在的可用带宽。
将了解的是要高速缓存的视觉/音频内容/资产在它们的应用和由客户端装置呈现前流式传送到客户端装置。在相对低带宽利用率的时期期间,未使用的带宽可用于流式传送视觉/音频资产到客户端装置。存储在客户端装置处的特定视觉/音频资产可被跟踪,并且游戏引擎可因此被配置来排除那些视觉/音频资产(已经在客户端处高速缓存的)不被包括在由游戏引擎生成的原始图像帧数据或音频数据中。
混合的数据流354在客户端装置100处被接收并且由数据流处理器328处理。在一些实施方式中,数据流处理器328对混合的数据流354执行信号分离功能以从混合的数据流中解析压缩的视频、压缩的音频和视觉/音频资产流。当视觉/音频资产在混合的数据流354中传送时,则高速缓存管理器326将视觉/音频资产存储到客户端高速缓存存储装置318,并且更具体来说为视觉内容数据322和/或音频内容数据324,其限定视频游戏的高速缓存数据320的部分。
数据流处理器328还从混合的数据流354产生(例如,信号分离和/或解压缩)视频和音频流。分别将视频和音频流传送到图像流组合器326或音频流组合器334。图像流组合器326被配置来确定视频流中排除了哪些部分图像帧数据,并且用从客户端高速缓存数据320中检索的视觉内容/资产填充这些部分。在一些实施方式中,前述视觉资产标识符连同或作为混合的数据流的部分被传送,并且被处理以识别要插入/组合到视频流中的视觉资产和关于它们的放置的参数以及可能其他视觉性质。在一些实施方式中,在视频流本身中编码标记,所述标记识别要添加的视觉资产及其在视频流内的位置(时间和空间两者)。
图像流组合器326将完全组合的视频流输出到视频信号生成器332。视频信号生成器332处理完全组合的视频流以生成适当的正确格式的视频信号以供显示装置152呈现。虽然在所示的系统中将显示装置152示出为单独的部件,但是在一些实施方式中,显示装置152并入作为客户端装置100的部分。
与图像流组合器326类似的方式,音频流组合器334被配置来确定在音频流中排除了哪些部分的音频数据,并且用从客户端高速缓存数据320中检索的音频内容/资产填充这些部分。在一些实施方式中,前述音频资产标识符连同或作为混合的数据流的部分被传送,并且被处理以识别要插入/组合到音频流中的音频资产和关于它们的放置的参数以及可能其他音频性质。在一些实施方式中,在音频流本身中编码标记,所述标记识别要添加的音频资产及其在音频流内的位置。
音频流组合器334将完全组合的音频流输出到音频信号生成器336。音频信号生成器336处理完全组合的音频流以生成适当的正确格式的音频信号以供音频装置340呈现。虽然在所示的系统中将音频装置340示出为单独的部件,但是在一些实施方式中,音频装置340并入作为客户端装置100的部分。此外,在一些实施方式中,音频装置340被包括作为显示装置152的部分。
图4概念性地图示根据本公开的实施方式的数据的流动以提供来自云游戏服务端400的本地高速缓存优化的云视频游戏流式传送。示出执行的视频游戏302,其限定游戏状态402,所述游戏状态限定视频游戏的变量的即刻状态。将了解的是执行的视频游戏302基于当前状态并基于从客户端装置100接收的输入数据418持续更新游戏状态402。
视频游戏302在通过云游戏服务端400被处理时,产生混合的数据流354。混合的数据流354包括图像数据404、音频数据406和高速缓存数据408。在所示的实施方式中,图像数据404限定示例性图像帧410。图像帧410的部分412未被完全限定,即,部分412由客户端装置100提供,而不是被完全限定/包括在图像帧410中,以便减小流式传送图像帧所需的带宽量。
高速缓存数据408包括数据限定的资产,所述资产将被插入图像数据404的图像帧诸如图像帧410中。高速缓存数据408由客户端装置100接收,从混合的数据流354中解析,并且存储到客户端高速缓存存储装置318作为图像高速缓存数据322的部分。在所示的实施方式中,从图像高速缓存数据322中检索先前被传送到客户端装置100的视觉资产414,并且插入图像帧410以限定先前未完全限定的部分412。所得的完整的图像帧形成完整的用于在显示装置上呈现的图像流132的部分。
将了解的是被传送到客户端装置并在客户端装置处高速缓存的视觉资产可以是任意类型的图像、物品、物体或可脱离云视频游戏生成的视频流单独提供的其他视觉性质,并且随后在客户端装置处插入视频流的图像帧以提供完整的图像帧用于呈现到显示器。视觉资产可包括静态物品,其在视频流中呈现时,在他们的外观的意义上来说是静态的,不基于当前游戏状态而经受改变。这些可包括,例如,物品诸如指示器、徽章、奖杯、奖章和其他类型的视觉物品,不基于当前游戏状态而动态确定其外观。例如,可能存在向用户指示角色或游戏玩法的当前状态的各种视觉指示器诸如能量、拥有的物品、其他用户的角色等。又如,用户假定驾驶车辆的视频游戏可包括车辆驾驶舱的视图。驾驶舱中的一些视觉物品可以是静态的,并且在用户的游戏视图中示出驾驶舱的同时(甚至随着视频游戏的交互游戏玩法行进)可不改变。可在不改变的情况下,在客户端装置处将静态视觉资产插入视频流。
然而,将了解的是在一些实施方式中,视觉资产可包括动态视觉资产,其外观至少部分基于游戏状态情况而确定。例如,动态视觉资产可由客户端装置基于当前游戏状态在色彩、大小、定向、透明度或任意其他视觉性质方面改变,并且由客户端装置在呈现到显示器前插入视频流。为了实现此操作,改变数据可与视频流传送以指示在插入视频流前要在视觉资产上执行的具体改变。
与上文论述类似的方式,在混合的数据流354中递送的音频数据406可补充有来自音频高速缓存数据324的音频资产以限定完整的音频流130用于通过音频装置呈现。音频资产可包括视频游戏使用的任意各种类型的音频或声音,包括但不限制于,声音效果、背景音乐、预录的音频片段等。将了解的是在客户端装置处生成/插入的具体音频对比云游戏机生成的具体音频在不同的实施方式中可不同。例如,在一些实施方式中,背景音乐/音频在客户端装置处生成并添加到音频流,而用户的实时交互游戏玩法触发或启用的其他声音效果由云游戏机生成。在一个特定的实施方式中,基于云游戏机生成和客户端装置在混合的数据流中接收的数据(其识别要产生声音、这种声音的时间和任意额外的音频相关的参数,例如,音量、均衡、方向性/原点等),在客户端装置处生成全部声音。
基于可指示期望未来游戏状态的当前游戏状态,可将视觉和音频资产预测或抢先传送到客户端装置。这对于减轻可在场景改变(例如,在视频游戏场景的整个视图可能改变时)发生的带宽利用率的突然增大可以是有用的。例如,如果玩家控制的角色在可发生场景改变的物理或时间位置附近或朝向可发生场景改变的物理或时间位置移动,则可将视觉/音频资产传送到客户端装置以在场景改变处使用。例如,如果玩家引导他的角色朝向门,并且打开或通过门导致场景改变,则在打开门前,可将视觉/音频资产传送到客户端,预期在场景改变期间使用。又如,当用户接近完成视频游戏的级别或场景时,那么可在完成级别/场景前将视觉/音频资产传送到客户端装置,在流式传送下一个级别/场景期间使用。在一些实施方式中,当用户的场景/级别的游戏玩法完成通过预限定的阈值时,那么在可用带宽允许时将视觉/音频资产传送到客户端装置。
在客户端装置100处的输入处理模块416被配置来处理来自控制器装置或其他输入装置的输入,并且将输入数据418传送到执行的视频游戏302。视频游戏302应用输入数据418来更新其游戏状态402。将了解的是基于该游戏状态,可确定预测的未来游戏状态,并且可基于预测的未来游戏状态来确定视觉/音频资产到客户端装置的传输。
图5图示根据本发明的实施方案的用于提供本地应用快速启动功能的方法。在方法操作500,在与云游戏服务端通信的客户端装置处接收开始视频游戏的请求。在方法操作502,确定是否这是初次请求游戏诸如首次购买游戏,或假设需要更新。如果是这样,则在方法操作504,下载和安装和/或更新视频游戏的开始内容。如果不需要更新或额外的下载,或跟随这种下载和安装/更新,则在方法操作506,从客户端装置的本地存储装置呈现视频游戏的初始内容。在方法操作508,在客户端装置处处理用户响应于呈现的初始内容的输入和/或选择,并且在方法操作510,更新初始内容的呈现的状态,因此返回到方法操作506。
同时,将访问视频游戏的请求传送到云游戏服务端,其认证用户对请求的视频游戏的的游戏所有权和/或购买。在方法操作518,云游戏机被初始化来执行请求的视频游戏并且被分配到用户的云游戏会话。在方法操作520,云游戏机执行视频游戏。在方法操作522,用户输入/选择由执行的视频游戏处理以更新执行的视频游戏的状态。输入/选择可从与初始内容的用户交互中限定。
在方法操作512,客户端装置请求和/或等待视频游戏的流式传送开始。在方法操作524,云游戏服务端生成并传送视频游戏的流式视频/音频,并且在方法操作514,流式视频/音频被客户端装置接收并被呈现用于用户交互。
图6图示根据本发明的实施方案的用于提供本地应用快速启动功能的方法。在方法操作600,用户经由客户端装置登录到云游戏服务端,这影响在方法操作612云游戏服务器对用户的认证。在方法操作602,用户在客户端装置处开始视频游戏,并且作为响应,在方法操作604,视频游戏的初始内容被从客户端装置的本地存储装置加载并且被呈现到显示器。
同时,在方法操作614,响应于开始视频游戏的用户请求,提供/分配游戏机到用户的客户端装置。在方法操作616,游戏机加载有请求的视频游戏名称。在方法操作618,占先或响应于用户请求,从用户的账户访问和加载保存的游戏数据。
在方法操作606,从客户端装置的用户接收请求来开始交互游戏玩法。在方法操作620,交互游戏玩法由云游戏机执行。在方法操作622,云游戏服务端生成传送到客户端装置的视频流。在方法操作608,视频流由客户端装置呈现。在方法操作610,交互输入有客户端装置接收并且被传送到云游戏机处的执行的视频游戏。执行的视频游戏处理交互输入来更新其游戏状态,并且基于更新后的游戏状态,如在参考622处所指示生成视频流。
图7是根据本公开的实施方式的描绘数据带宽对比时间的图,其比较现有的常规游戏流式传送设置与采用客户端高速缓存的带宽利用率。曲线700图示用于游戏流式传送的最大可用数据带宽。曲线702图示现有常规游戏流式传送设置的带宽利用率。曲线704图示游戏流式传送设置并入客户端可高速缓存的内容的带宽利用率,如在本文其他地方所述。在时间T0,为曲线702所示的带宽利用水平706在可用带宽内,并且因此用户将不会经历降低的流式传送质量。然而,在时间T2,场景转变或其他事件发生,这致使带宽利用率显著增大。带宽利用率升至峰值水平708,其超出最大可用带宽700,从而可能导致视频/音频流式传送质量的降低。在时间T3,带宽利用率返回到水平710,其在最大可用带宽内。
曲线704图示云游戏设置根据本公开的实施方式采用客户端高速缓存的带宽利用率。在时间T0到时间T1,宽带利用率处于水平712,其可略低于常规设置的相应水平706,这是由于在客户端处使用可高速缓存内容来提供视频/音频流的部分。在时间T1,确定用户的游戏玩法正接近将需要更大带宽利用率的场景转变或其他事件。因此,在发生场景转变前将要用于场景转变的可高速缓存的内容流式传送到客户端装置,导致带宽利用率增大到水平714。将了解的是水平714高于常规系统的带宽利用率的的水平716,但是仍在可用带宽700内。
在时间T2,场景转变发生,并且带宽利用率可升到水平718,而与常规系统不同,采用客户端高速缓存的系统的水平718仍在可用带宽700内使得没有发生流式传送质量的降低。在时间T3,场景转变完成并且带宽利用率降到水平720,其可由于持续应用客户端高速缓存的内容来提供视频/音频流的部分而低于那时水平710。
在一些实施方案中,客户端可以是通用计算机、专用计算机、便携式游戏控制台、个人计算机、膝上型计算机、平板计算机、移动计算装置、便携式游戏装置、蜂窝电话、机顶盒、流式传送媒体接口/装置、智能电视或联网的显示器、或能够被配置来实现本文限定的客户端的功能的任意其他计算装置。在一个实施方案中,云游戏服务器被配置来检测由用户使用的客户端装置的类型,并且提供适于用户的客户端装置的云游戏体验。例如,可优化图像设置、音频设置和其他类型的设置用于用户的客户端装置。
图8图示信息服务提供商架构的实施方案。信息服务提供商(ISP)1070向地理上分散并经由网络1086连接的用户1082递送许多信息服务。ISP仅可递送一种类型的服务诸如股票价格更新,或多种服务诸如广播媒体、新闻、运动、游戏等。另外,每个ISP提供的服务是动态的,即,在任意时间点处可添加或解除服务。因此,向特定个体提供特定类型的服务的ISP可随时间改变。例如,用户在她的家乡时可由靠近用户的ISP来服务,并且用户在前往不同的城市时可由不同过的ISP来服务。家乡的ISP向新ISP传送所需信息和数据,使得用户信息“跟随”用户到新的城市,这使数据更靠近用户并且更易于访问。在另一实施方案中,主从关系可建立在管理用户的信息的主ISP和在来自主ISP的控制下直接与用户对接的从ISP之间。在另一实施方案中,随着客户端环绕世界移动,数据从一个ISP传送到另一个ISP,使处于服务用户的更好位置的ISP是递送这些服务的ISP。
ISP 1070包括在网络上向客户提供基于计算机的服务的应用服务提供商(ASP)1072。使用ASP模型提供的软件有时也称为按需软件或软件即服务(SaaS)。提供到特定应用程序(诸如客户关系管理)的访问的简单形式是通过使用标准协议诸如HTTP。应用软件驻留在供应商的系统上并且由用户通过使用HTML的web浏览器、通过供应商提供的专用客户端软件、或其他远程接口诸如瘦客户端来访问。
在广泛地理区域上递送的服务通常使用云计算。云计算是计算的型式,其中动态可扩展并且通常在互联网上提供虚拟化的资源作为服务。用户不需要是支持他们的“云”中的技术基础设施的专家。云计算可被划分成不同的服务,诸如基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。云计算服务通常提供从web浏览器访问的线上的常见商业应用,而将软件和数据存储在服务器上。术语云基于互联网在计算机网络图中的描绘方式被用作比喻互联网(例如,使用服务器、存储装置和逻辑)并且是其隐藏的复杂基础设施的抽象物。
此外,ISP 1070包括游戏处理服务器(GPS)1074,其由游戏客户端用于玩单人和多玩家视频游戏。在互联网上玩的大多数视频游戏经由到游戏服务器的连接来操作。通常,游戏使用从玩家收集数据并将数据分配到其他玩家的专用服务器应用。这比点对点布置更高效和有效,但它需要单独的服务器来托管服务器应用。在另一实施方案中,GPS在玩家和他们各自的进行游戏的装置之间建立通信,在不依赖集中式GPS的情况下交换信息。
专用GPS是独立于客户端运行的服务器。这种服务器通常在位于数据中心的专用硬件上运行,从而提供更多带宽和专用处理能力。专用服务器是为大多数基于PC的多玩家游戏托管游戏服务器的优选方法。大量多玩家线上游戏在通常由拥有游戏名称的软件公司托管的专用服务器上运行,从而允许他们控制和更新内容。
广播处理服务器(BPS)1076分配音频或视频信号到受众。向非常窄范围的受众广播有时称为窄播。广播分布的最后航程是信号如何到达收听者或查看者,并且它可如同无线电台或电视台通过无线电到达天线和接收器,或可通过有线电视或有线广播(或“无线电缆”)经由站台或直接从网络到达。互联网还可为接收者带来广播或电视,特别是用允许共享信号和带宽的多播。历史上,广播被地理区域限定,诸如全国广播或区域广播。然而,随着快速互联网的扩散,不再通过地理位置来限定广播,因为内容可达到世界的几乎任意国家。
存储服务提供商(SSP)1078提供计算机存储空间和相关的管理服务。SSP还提供定期备份和存档。通过提供存储即服务,用户可根据需要订购更多存储。另一主要优点是SSP包括备份服务并且如果用户的计算机硬盘驱动器故障,用户将不会丢失他们的全部数据。此外,多个SSP可具有用户数据的总计或部分副本,从而允许用户以高效方式访问数据,无论用户位于何处或装置正用于访问数据。例如,用户在移动时可访问家用计算机以及移动电话中的个人文件。
通信提供商1080提供到用户的连接。通信提供商的一个种类是互联网服务提供商(ISP),其提供到互联网的访问。ISP使用适于递送互联网协议数据报的数据传输技术连接其客户,诸如拨号、DSL、电缆调制解调器、光纤、无线或专用高速互连。通信提供商还可提供消息传送服务,诸如电子邮件、即时消息传送和SMS短信发送。通信提供商的另一类型是网络服务提供商(NSP),其通过提供到互联网的直接主干访问来销售带宽或网络访问。网络服务提供商可由以下构成:电信公司、数据载体、无线通信提供商、互联网服务提供商、提供高速互联网访问的有线电视运营商等。
数据交换1088互连ISP 1070内部的若干模块并且经由网络1086将这些模块连接到用户1082。数据交换1088可覆盖小区域,其中ISP1070的全部模块极为靠近,或可在不同模块地理上分散时覆盖大地理区域。例如,数据交换1088可包括在数据中心的机柜内的快速千兆以太网(或更快),或洲际虚拟局域网(VLAN)。
用户1082用客户端装置1084访问远程服务,所述客户端装置包括至少CPU、存储器、显示器和I/O。客户端装置可以是PC、移动电话、上网本、平板计算机、游戏系统、PDA等。在一个实施方案中,ISP 1070识别客户端使用的的装置的类型并且调整采用的通信方法。在其他情况下,客户端装置使用标准通信方法诸如html来访问ISP 1070。
可利用各种计算机系统构造来实践本发明的实施方案,包括手持式装置、微处理器系统、基于微处理器或可编程的消费性电子产品、小型计算机、大型计算机等等。本发明还可在分布式计算环境中实践,在所述环境中由通过基于有线的或无线网络链接的远程处理装置执行任务。
考虑到上文实施方案,应理解本发明可采用涉及存储在计算机系统中的数据的各种计算机实施的操作。这些操作是需要物理操纵物理量的那些操作。本文所述的形成本发明的部分的操作中的任意操作是有用的机器操作。本发明还涉及用于执行这些操作的装置或设备。所述设备可为了所需目的特别构建,或所述设备可以是选择性地启用或由存储在计算机中的计算机程序配置的通用计算机。具体来说,各种通用计算机器可与根据本文教义编写的计算机程序一起使用,或可更方便的是构建更专业的设备来执行所需操作。
本发明还可体现为在计算机可读介质上的计算机可读代码。或者,可使用上述数据交换互连从服务器下载计算机可读代码。计算机可读介质是可存储数据且此后可由计算机系统读取的任意数据存储装置。计算机可读介质的示例包括硬盘驱动器、网络附加存储装置(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带和其他光学和非光学数据存储装置。计算机可读介质可包括计算机可读有形介质,其分布在网络耦接的计算机系统上,使得计算机可读代码以分布方式被存储和执行。
虽然以特定顺序描述方法操作,但是应理解的是可在操作之间执行其他整理操作,或可调整操作使得它们在略微不同的时间发生,或可分布在允许处理操作在与处理关联的不同间隔发生的系统中,只要覆盖操作的处理以期望的方式被执行。
虽然出于清楚理解的目的相当详细地描述了前述发明,但是将明显的是可在所附权利要求的范围内实践某些改变和修改。因此,本实施方案被认为是说明性并且不是限制性的,并且本发明不受限于本文给出的细节,但是可在所述权利要求的范围和等效物内进行修改。
图9示意性图示游戏控制台的整体系统架构诸如
Figure BDA0001084003430000281
Playstation
Figure BDA0001084003430000282
娱乐装置,其可与用于实施根据本发明的一个实施方案的头像控制系统的控制器兼容。提供系统单元1400,与可连接到系统单元1400的各种外围装置。系统单元1400与图2的计算服务器402-a类似。系统单元1400包括:Cell处理器1428、
Figure BDA0001084003430000283
动态随机存取存储器(XDRAM)单元1426、具有专用视频随机存取存储器(VRAM)单元1432的现实合成器图形单元1430和I/O桥1434。系统单元1400还包括用于从光盘1440a读取的Blu
Figure BDA0001084003430000284
光盘
Figure BDA0001084003430000285
光盘读取器1440和可移动的插入式硬盘驱动器(HDD)1436,可通过I/O桥1434访问。任选地,系统单元1400还包括用于读取紧凑闪存卡、Memory
Figure BDA0001084003430000286
存储卡等等的存储器读卡器1438,类似地可通过I/O桥1434访问。
I/O桥1434还连接到六个通用串行总线(USB)2.0端口1424、千兆以太网端口1422、IEEE 802.11b/g无线网络(Wi-Fi)端口1420和能够支持高达七个蓝牙连接的
Figure BDA0001084003430000287
无线链接端口1418。
在操作中,I/O桥1434处理全部无线、USB和以太网数据,包括来自一个或多个游戏控制器1402的数据。例如,当用户玩游戏时,I/O桥1434经由蓝牙链接接收来自游戏控制器1402的数据并将数据引导到Cell处理器1428,所述处理器相应地更新游戏的当前状态。
除了游戏控制器1402以外,无线、USB和以太网端口还为其他外围装置提供连接,诸如远程控制件1404、键盘1406、鼠标1408、便携式娱乐装置1410诸如Sony Playstation
Figure BDA0001084003430000288
娱乐装置、摄像机诸如
Figure BDA0001084003430000289
摄像机1412和麦克风耳机1414。这样的外围装置可因此理论上无线连接到系统单元1400;例如,便携式娱乐装置1410可经由Wi-Fi特设连接通信,而麦克风耳机1414可经由蓝牙链接通信。
这些接口的提供意指Playstation 3装置还潜在与其他外围装置兼容,诸如数字录像机(DVR)、机顶盒、数码相机、便携式媒体播放器、IP语音电话、移动电话、打印机和扫描仪。
另外,传统存储卡读卡器1416可经由USB端口1424连接到系统单元,使得能够读取
Figure BDA0001084003430000291
或Playstation
Figure BDA0001084003430000292
装置使用的种类的存储卡1448。
在本实施方案中,游戏控制器1402可操作来经由蓝牙链接与系统单元1400无线通信。然而,游戏控制器1402可代替连接到USB端口,从而还提供为游戏控制器1402的电池充电的电力。除了一个或多个模拟操纵杆和传统的控制按钮以外,游戏控制器还对六个自由度的运动、对应于每个轴上的平移和转动是敏感的。因此,除了常规的按钮或操纵杆命令以外或代替常规的按钮或操纵杆命令,游戏控制器的用户的手势和移动可被转换为游戏的输入。任选地,其他无线启用的外围装置诸如PlaystationTM便携式装置可用作控制器。在PlaystationTM便携式装置的情况下,可在装置的屏幕上提供额外的游戏或控制信息(例如,控制指令或生命的数量)。还可使用其他替代或补充控制装置,诸如跳舞毯(未示出)、光枪(未示出)、转向盘和踏板(未示出)或定制控制器,诸如用于快速反应答问游戏的单个或若干大按钮(也未示出)。
远程控制件1404还可操作来经由蓝牙链接与系统单元1400无线通信。远程控制件1404包括适于Blu RayTM光盘BD-ROM读取器1440的操作和光盘内容的导航的控制件。
除了常规的预录制和可录制的CD和所谓的Super Audio CD以外,Blu RayTM光盘BD-ROM读取器1440可操作来读取与Playstation和PlayStation 2兼容的CD-ROM。除了常规的预录制和可录制的DVD以外,读取器1440还可操作来读取与Playstation 2和PlayStation 3装置兼容的DVD-ROM。读取器1440还可操作来读取与Playstation 3装置兼容的BD-ROM,以及常规的预录制和可录制的Blu-Ray光盘。
系统单元1400可操作来通过到显示器和声音输出装置1442诸如具有显示器1444和一个或多个扬声器1446的监视器或电视机的音频和视频连接器,提供由Playstation 3装置经由现实合成器图形单元1430生成或解码的音频和视频。音频连接器1450可包括常规的模拟和数字输出,而视频连接器1452可不同地包括分量视频、超级视频、复合视频和一个或多个高清多媒体接口(HDMI)输出。因此,视频输出可以是诸如PAL或NTSC,或720p、1080i或1080p高清的格式。
音频处理(生成、解码等)由Cell处理器1428执行。Playstation 3装置的操作系统支持
Figure BDA0001084003430000301
5.1环绕立体声、
Figure BDA0001084003430000302
影院环绕(DTS)和来自
Figure BDA0001084003430000303
光盘7.1环绕立体声的解码。
在本实施方案中,摄像机1412包括单个电荷耦合装置(CCD)、LED指示器、和基于硬件的实时数据压缩和编码设备,使得可以按适当格式诸如基于内部图像的MPEG(运动图像专家组)标准来传送压缩的视频数据以供系统单元1400解码。照相机LED指示器被布置来响应于来自系统单元1400的适当控制数据而进行照亮,例如以表示相反的照明条件。摄像机1412的实施方案可经由USB、蓝牙或Wi-Fi通信端口不同地连接到系统单元1400。摄像机的实施方案可包括一个或多个关联的麦克风并且还能够传送音频数据。在摄像机的实施方案中,CCD可具有适于高清视频捕捉的分辨率。在使用时,摄像机捕捉的图像可(例如)被并入游戏或转换为游戏控制输入。
一般来说,为了成功发生与外围装置诸如摄像机或远程控制件经由系统单元1400的通信端口中的一个的数据传送,应提供一个适当的软件诸如装置驱动程序。装置驱动程序技术是熟知的并且在此将不详细描述,除了技术人员将意识到在所述的本实施方案中可能需要装置驱动程序或类似软件。
Cell处理器1428具有包括四个基本部件的架构:外部输入和输出结构,其包括存储器控制器1560和双总线接口控制器1570A、1570B;主处理器,称为Power处理部件1550;八个协处理器,称为协处理部件(SPE)1510A-H;和连接上述部件的环形数据总线,称为单元互连总线1580。Cell处理器的总浮点性能是218GFLOPS,对比Playstation 2装置的情感引擎的6.2GFLOPs。
Power处理部件(PPE)1550基于双向同时多线程Power 1470标准的PowerPC核心(PPU)1555,其运行有3.2GHz的内部时钟。它包括512kB二级(L2)高速缓存和32kB一级(L1)高速缓存。PPE 1550能够每时钟周期八个单一位置操作,从而转换为在3.2GHz25.6GFLOPs。PPE 1550的主要角色是充当处理大多数计算工作量的协处理部件1510A-H的控制器。在操作中,PPE 1550维持工作队列,为协处理部件1510A-H调度工作并且监视它们的进程。因此,每个协处理部件1510A-H都运行内核,所述内核的任务是取得工作、执行它并且与PPE 1550同步。
每个协处理部件(SPE)1510A-H都包括各自的协处理单元(SPU)1520A-H和各自的存储器流控制器(MFC)1540A-H,所述存储器流控制器继而包括各自的动态存储器存取控制器(DMAC)1542A-H,各自的存储器管理单元(MMU)1544A-H和总线接口(未示出)。每个SPU1520A-H是RISC处理器,其时钟在3.2GHz并且包括256kB本地RAM1530A-H,理论上可扩展到4GB。每个SPE给出理论的单精度25.6GFLOPS的性能。在单个时钟周期中,SPU可操作4个单精度浮点成员、4个32位的数、8个16位的整数或16个8位的整数。在同一时钟周期中,它还可执行存储器操作。SPU 1520A-H不直接访问系统存储器XDRAM 1426;由SPU 1520A-H形成的64位的地址被传送到MFC 1540A-H,所述MFC1540A-H指示其DMA控制器1542A-H经由部件互连总线1580和存储器控制器1560访问存储器。
部件互连总线(EIB)1580是在Cell处理器1428内部的逻辑上环形的通信总线,其连接上文称为PPE 1550的处理器部件、存储器控制器1560、双总线接口1570A、1570B和8个SPE 1510A-H,总共12个参与者。参与者可以每时钟周期8字节的速率同时读取和写到总线。如先前所述,每个SPE 1510A-H包括DMAC 1542A-H用于调度更长的读取或写入序列。EIB包括四个通道,两个呈顺时针方向并且两个呈逆时针方向。由于十二个参与者,在任意两个参与者之间最长的步进数据流是适当方向上的六步长。因此,在通过参与者之间的仲裁完全利用的情况下,对于12个时隙理论的峰值瞬时EIB带宽是每时钟96B。这等于在3.2GHz时钟频率理论的307.2GB/s(每秒千兆字节)的峰值带宽。
存储器控制器1560包括Rambus Incorporated开发的XDRAM接口1562。存储器控制器以理论的25.6GB/s的峰值带宽与Rambus XDRAM 1426对接。
双总线接口1570A、1570B包括Rambus
Figure BDA0001084003430000321
系统接口1572A、1572B。接口被组织成12个通道,每个8位宽,其中五个入站路径和七个出站路径。这在Cell处理器与I/O桥700(经由控制器170A)和现实模拟器图形单元200(经由控制器170B)之间提供理论的62.4GB/s(36.4GB/s出站,26GB/s入站)的峰值带宽。
由Cell处理器1428发送到现实模拟器图形单元1430的数据通常将包括显示列表,其为绘制顶点、将纹理应用到多边形、指定照明条件等的命令的序列。
实施方案可包括捕捉深度数据来更好地识别现实世界用户以及引导头像或场景的活动。物体可以是人物握住的东西或还可以是人物的手。在该说明书中,术语“深度照相机”和“三维照相机”指代能够得到距离或深度信息以及二维像素信息的任意照相机。例如,深度照相机可利用控制的红外照明来得到距离信息。另一示例性深度照相机可以是立体照相机对,其使用两个标准照相机三角测量距离信息。类似地,术语“深度感测装置”指代能够得到距离信息以及二维像素信息的任意类型的装置。
最近三维图像的进程已经打开了增大实时交互计算机动画的可能性的大门。具体来说,除了常规二维视频图像以外,新的“深度照相机”还提供捕捉和映射第三维度的能力。由于新的深度数据,本发明的实施方案允许实时在视频场景内的各种位置放置计算机生成的物体,包括在其他物体后面。
此外,本发明的实施方案为用户提供实时交互游戏体验。例如,用户可实时与各种计算机生成的物体交互。此外,可实时改变视频场景来增强用户的游戏体验。例如,可插入计算机生成的服装到用户的衣服上,并且可使用计算机生成的光源在视频场景内投射虚拟阴影。因此,使用本发明的实施方案和深度照相机,用户可在他们自己的客厅体验交互游戏环境。与常规照相机类似,深度照相机捕捉包括视频图像的多个像素的二维数据。这些值是像素的色彩值,一般是每个像素的红、绿和蓝(RGB)值。以此方式,照相机捕捉的物体在监视器上表现为二维物体。
本发明的实施方案还考虑分布式图像处理配置。例如,本发明不受限于在一个或甚至两个位置诸如在CPU中或在CPU和一个其他部件中进行捕捉的图像和显示图像处理。例如,输入图像处理可正如容易地在关联CPU、处理器或可执行处理的装置中进行;基本上可遍及互连的系统分布全部的图像处理。因此,本发明不受限于任意特定图像处理硬件电路和/或软件。本文所述的实施方案也不受限于一般硬件电路和/或软件的任意特定组合,或由处理部件执行的指令的任意特定源。
考虑到上文实施方案,应理解本发明可采用涉及存储在计算机系统中的数据的各种计算机实施的操作。这些操作包括需要物理操纵物理量的操作。通常,但并非必须,这些量采用电或磁信号的形式,所述信号能够被存储、传送、组合、比较和以其他方式操纵。此外,执行的操纵通常用术语诸如产生、识别、确定或比较来指代。
上述发明可用其他计算机系统配置来实践,包括手持式装置、微处理器系统、基于微处理器或可编程的消费性电子产品、小型计算机、大型计算机等等。本发明还可在分布式计算环境中实践,在所述环境中由通过通信网络链接的远程处理装置执行任务。
本发明还可体现为在计算机可读介质上的计算机可读代码。计算机可读介质是可存储此后可由计算机系统读取的数据的任意数据存储装置,包括电磁波载体。计算机可读介质的示例包括硬盘驱动器、网络附加存储装置(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带和其他光学和非光学数据存储装置。计算机可读介质还可被分布在网络耦接的计算机系统上,使得计算机可读代码以分布方式被存储和执行。
虽然出于清楚理解的目的相当详细地描述了前述发明,但是将明显的是可在所附权利要求的范围内实践某些改变和修改。因此,本实施方案被认为是说明性并且不是限制性的,并且本发明不受限于本文给出的细节,但是可在所述权利要求的范围和等效物内进行修改。

Claims (18)

1.一种方法,其包括:
在客户端装置处接收开始云视频游戏的第一命令;
响应于接收到所述第一命令,由所述客户端装置从客户端本地存储装置检索所述云视频游戏的初始内容;
呈现所述初始内容到连接到所述客户端装置的显示装置,所述呈现的初始内容限定所述云视频游戏的内容,其被配置来在呈现所述云视频游戏的交互游戏玩法内容前呈现;
还响应于接收到所述第一命令,并且也当检索和呈现所述初始内容时,从所述客户端装置向云游戏服务端发送第一请求以访问所述云视频游戏,所述云游戏服务端被配置来响应于接收到所述第一请求,分配所述客户端装置到游戏机,其被配置来执行所述云视频游戏并且准备流式传送所述执行的云视频游戏生成的交互游戏玩法内容到所述客户端装置;
在游戏机准备好执行所述云视频游戏后,从呈现从本地存储装置获取的初始内容转变为执行云视频游戏以使得能够开始云视频游戏的交互游戏玩法,其中所述游戏机从所述客户端装置接收关于呈现初始内容的状态更新,并调整所述游戏机执行所述云视频游戏以便与所述初始内容的呈现的完成同步;
响应于接收到开始所述交互游戏玩法的第二命令,从所述客户端装置向所述云游戏服务端发送第二请求,所述云游戏服务端被配置来响应于接收到所述第二请求,开始流式传送所述执行的云视频游戏生成的所述交互游戏玩法内容到所述客户端装置。
2.如权利要求1所述的方法,其中所述呈现的初始内容不影响所述云视频游戏的游戏玩法情境内的用户进程或成就的级别。
3.如权利要求1所述的方法,其中所述呈现的初始内容限定下列各项中的一个或多个:法律信息的叙述、标志呈现、启动画面、加载画面、评级画面、菜单。
4.如权利要求1所述的方法,其中所述呈现的初始内容限定接口装置的配置过程,其被配置来为所述云视频游戏提供用户限定的输入。
5.如权利要求1所述的方法,其中通过从所述云游戏服务端向所述客户端装置传输视频流和音频流用于由所述客户端装置呈现来限定所述流式传送所述交互游戏玩法内容到所述客户端装置。
6.如权利要求1所述的方法,其中所述云游戏服务端被配置来通过访问保存的游戏数据和根据所述保存的游戏数据限定所述执行的云视频游戏的状态来准备交互游戏玩法内容的流式传送。
7.一种方法,其包括:
在客户端装置处接收开始云视频游戏的第一命令;
响应于接收到所述第一命令,由所述客户端装置从客户端本地存储装置检索所述云视频游戏的初始内容;
呈现所述初始内容到显示装置;
还响应于接收到所述第一命令,并且也当检索和呈现所述初始内容时,从所述客户端装置向云游戏服务端发送第一请求以访问所述云视频游戏,所述云游戏服务端被配置来响应于接收到所述第一请求,执行所述云视频游戏并且准备流式传送所述执行的云视频游戏生成的交互游戏玩法内容到所述客户端装置;
在游戏机准备好执行所述云视频游戏后,从呈现从本地存储装置获取的初始内容转变为执行云视频游戏以使得能够开始云视频游戏的交互游戏玩法,其中所述游戏机从所述客户端装置接收关于呈现初始内容的状态更新,并调整所述游戏机执行所述云视频游戏以便与所述初始内容的呈现的完成同步;
响应于接收到开始所述交互游戏玩法的第二命令,从所述客户端装置向所述云游戏服务端发送第二请求,所述云游戏服务端被配置来响应于接收到所述第二请求,开始流式传送所述执行的云视频游戏生成的所述交互游戏玩法内容到所述客户端装置。
8.如权利要求7所述的方法,其中所述呈现的初始内容不影响所述云视频游戏的游戏玩法情境内的用户进程或成就的级别。
9.如权利要求7所述的方法,其中所述呈现的初始内容限定下列各项中的一个或多个:法律信息的叙述、标志呈现、启动画面、加载画面、评级画面、菜单、或接口装置的配置过程,其被配置来为所述云视频游戏提供用户限定的输入。
10.如权利要求7所述的方法,其中通过从所述云游戏服务端向所述客户端装置传输视频流和音频流用于由所述客户端装置呈现来限定所述流式传送所述交互游戏玩法内容到所述客户端装置。
11.如权利要求7所述的方法,其中所述云游戏服务端被配置来通过访问保存的游戏数据和根据所述保存的游戏数据限定所述执行的云视频游戏的状态来准备交互游戏玩法内容的流式传送。
12.如权利要求7所述的方法,其还包括:
还响应于接收到所述第二命令和开始流式传送所述交互游戏玩法内容到所述客户端装置,在所述客户端装置处接收从与所述交互游戏玩法内容的用户交互性限定的用户输入,并且从所述客户端装置向所述云游戏服务端传送所述用户输入用于由所述执行的视频游戏处理。
13.如权利要求7所述的方法,其还包括:
在所述客户端装置处接收终止所述视频游戏的游戏玩法的第三命令;
响应于接收到所述第三命令,从所述客户端装置向所述云游戏服务端发送第三请求,所述云游戏服务端被配置来响应于接收到所述第三请求,确定是否需要更新存储在所述客户端本地存储装置中的所述初始内容,并且如果是这样,则向所述客户端装置发送所述更新。
14.一种方法,其包括:
由云游戏机执行云视频游戏,所述执行的云视频游戏被配置来生成视频内容用于流式传送到客户端装置;
识别可高速缓存的视觉内容,其被配置来基于当前带宽使用和网络状况在所述客户端装置处高速缓存,所述可高速缓存的视觉内容包括用于随后与所述视频内容组合的一个或多个视觉资产;
向所述客户端装置发送混合数据流,其包括所述视频内容和所述可高速缓存的视觉内容,其中所述客户端装置被配置来将所述可高速缓存的视觉内容存储到客户端高速缓存,并且其中所述客户端装置还被配置来组合所述视频内容与视觉资产中的一个或多个以限定客户端图像流用于呈现到显示器。
15.如权利要求14所述的方法,其中所述执行的云视频游戏被配置来识别所述视觉资产,其已存储到所述客户端高速缓存,并且其中生成所述视频内容被配置来从所述生成的视频内容排除已存储到所述客户端高速缓存的所述视觉资产。
16.如权利要求14所述的方法,其中所述执行的云视频游戏被配置来生成识别将与所述视频内容组合的所述视觉资产中的所述一个或多个的识别数据,其中所述混合数据流包括所述识别数据。
17.如权利要求16所述的方法,其中所述识别数据还限定所述视频内容的图像帧内的空间或时间位置,在所述空间或时间位置处所述视觉资产中的一个或多个将插入所述视频内容中。
18.如权利要求14所述的方法,其中识别和发送所述可高速缓存的内容到所述客户端装置是响应于确定所述云视频游戏的游戏玩法完成已超出预限定的阈值。
CN201610693724.8A 2015-08-19 2016-08-19 利用云转变的本地应用快速启动 Active CN106621326B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010167418.7A CN111467793B (zh) 2015-08-19 2016-08-19 利用客户端侧资产整合的云游戏流式传送
CN202011041130.1A CN112245900B (zh) 2015-08-19 2016-08-19 基于预测活动的云游戏流

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562207285P 2015-08-19 2015-08-19
US62/207,285 2015-08-19
US14/845,104 US10315108B2 (en) 2015-08-19 2015-09-03 Local application quick start with cloud transitioning
US14/845,104 2015-09-03

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202010167418.7A Division CN111467793B (zh) 2015-08-19 2016-08-19 利用客户端侧资产整合的云游戏流式传送
CN202011041130.1A Division CN112245900B (zh) 2015-08-19 2016-08-19 基于预测活动的云游戏流

Publications (2)

Publication Number Publication Date
CN106621326A CN106621326A (zh) 2017-05-10
CN106621326B true CN106621326B (zh) 2020-10-27

Family

ID=56618276

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202011041130.1A Active CN112245900B (zh) 2015-08-19 2016-08-19 基于预测活动的云游戏流
CN201610693724.8A Active CN106621326B (zh) 2015-08-19 2016-08-19 利用云转变的本地应用快速启动
CN202010167418.7A Active CN111467793B (zh) 2015-08-19 2016-08-19 利用客户端侧资产整合的云游戏流式传送

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202011041130.1A Active CN112245900B (zh) 2015-08-19 2016-08-19 基于预测活动的云游戏流

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202010167418.7A Active CN111467793B (zh) 2015-08-19 2016-08-19 利用客户端侧资产整合的云游戏流式传送

Country Status (4)

Country Link
US (3) US10315108B2 (zh)
JP (2) JP6712310B2 (zh)
CN (3) CN112245900B (zh)
WO (1) WO2017030771A1 (zh)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9795879B2 (en) * 2014-12-31 2017-10-24 Sony Interactive Entertainment America Llc Game state save, transfer and resume for cloud gaming
US10742767B2 (en) * 2016-02-02 2020-08-11 Sony Interactive Entertainment LLC Systems and methods for downloading and updating save data to a data center
US10046236B2 (en) 2016-06-13 2018-08-14 Sony Interactive Entertainment America, LLC Browser-based cloud gaming
US20180250588A1 (en) * 2017-03-02 2018-09-06 Jayme Winick Universal game controller/console
US10491666B2 (en) * 2017-04-03 2019-11-26 Sony Interactive Entertainment America Llc Systems and methods for using a distributed game engine
US11069258B2 (en) * 2017-06-14 2021-07-20 Ifwizard Coprporation System for behavioral conditioning through gamification
CN111247507B (zh) 2017-10-26 2023-12-05 惠普发展公司,有限责任合伙企业 应用程序资产处理方法和系统及非暂态机器可读存储介质
CN108171783A (zh) * 2018-03-20 2018-06-15 联想(北京)有限公司 图像渲染方法、系统以及电子设备
US11161038B2 (en) * 2018-08-06 2021-11-02 Amazon Technologies, Inc. Systems and devices for controlling network applications
KR101950001B1 (ko) * 2018-08-31 2019-02-20 넷마블 주식회사 게임 어플리케이션 이외의 어플리케이션을 통한 제어에 기초하여 게임 서비스를 제공하는 서버 및 방법
CN109151565B (zh) * 2018-09-04 2019-12-20 北京达佳互联信息技术有限公司 播放语音的方法、装置、电子设备及存储介质
US10688390B2 (en) * 2018-11-05 2020-06-23 Sony Interactive Entertainment LLC Crowd-sourced cloud gaming using peer-to-peer streaming
US10708382B2 (en) * 2018-11-08 2020-07-07 Citrix Systems, Inc. Systems and methods for latency masking via prefix caching
US11087591B2 (en) * 2018-12-20 2021-08-10 Sony Interactive Entertainment LLC Anti-fraud cloud gaming blockchain
US11330317B2 (en) 2018-12-28 2022-05-10 Dish Network L.L.C. Methods and systems for discovery of a processing offloader
US11938406B2 (en) * 2019-06-07 2024-03-26 Nvidia Corporation Dynamic allocation of compute resources for highlight generation in cloud gaming systems
CN110417785A (zh) * 2019-07-31 2019-11-05 湖南微算互联信息技术有限公司 一种云手机游戏的安装方法、系统和存储介质
US11343354B2 (en) * 2019-10-23 2022-05-24 Nvidia Corporation Increasing user engagement during computing resource allocation queues for cloud services
US11213748B2 (en) * 2019-11-01 2022-01-04 Sony Interactive Entertainment Inc. Content streaming with gameplay launch
KR102668752B1 (ko) * 2019-11-28 2024-05-23 엘지전자 주식회사 이동 단말기 및 이동 단말기 제어 방법
WO2021120141A1 (en) * 2019-12-20 2021-06-24 Intel Corporation Asset caching in cloud rendering computing architectures
US11782833B2 (en) 2020-03-12 2023-10-10 Samsung Electronics Co., Ltd. System and method of determining available bandwidth in disaggregated tiered cache for cloud content storage
US11765235B2 (en) * 2020-03-12 2023-09-19 Samsung Electronics Co., Ltd. System and method of disk sharing for cloud content storage
US12113968B2 (en) 2020-03-31 2024-10-08 Sony Interactive Entertainment Inc. Transmission device, transmission method, and program
CN111447485A (zh) * 2020-03-31 2020-07-24 广州微算互联信息技术有限公司 一种实时的云游戏录制视频方法、系统、装置及存储介质
US11420130B2 (en) 2020-05-28 2022-08-23 Sony Interactive Entertainment Inc. Media-object binding for dynamic generation and displaying of play data associated with media
CN112023398A (zh) * 2020-06-23 2020-12-04 完美世界(北京)软件科技发展有限公司 一种游戏运行方法、装置、设备、系统及存储介质
CN111773662B (zh) * 2020-06-29 2024-08-06 山东浪潮科学研究院有限公司 一种基于雾计算的云游戏加速方法、系统、装置及介质
CN111966311B (zh) * 2020-07-15 2024-04-26 北京视博云信息技术有限公司 云游戏的显示设置方法、装置、可读存储介质及设备
CN111930328B (zh) * 2020-08-10 2024-03-15 西安万像电子科技有限公司 应用数据的显示方法、装置及系统
CN112023395B (zh) * 2020-08-24 2024-03-01 深圳威尔视觉传媒有限公司 云游戏加载方法、电子设备及计算机可读存储介质
CN112104622A (zh) * 2020-08-31 2020-12-18 北京爱奇艺科技有限公司 云应用启动方法、服务器、云设备及云端通信系统
EP4240505A4 (en) 2020-11-09 2024-09-11 Sony Interactive Entertainment Inc REPLAYABLE ACTIVITIES FOR INTERACTIVE CONTENT TITLES
CN113975793A (zh) * 2020-12-30 2022-01-28 万翼科技有限公司 云游戏的渲染方法及相关设备
CN113423018B (zh) * 2021-08-24 2021-11-02 腾讯科技(深圳)有限公司 一种游戏数据处理方法、装置及存储介质
CN113032048B (zh) * 2021-04-06 2024-06-21 维沃移动通信(深圳)有限公司 应用程序的启动方法和应用程序的启动装置
CN113179445B (zh) * 2021-04-15 2023-07-14 腾讯科技(深圳)有限公司 基于互动物品的视频分享方法、互动物品
CN112870711B (zh) * 2021-04-28 2021-07-16 腾讯科技(深圳)有限公司 一种云游戏的处理方法、装置、设备及存储介质
CN113368504B (zh) * 2021-06-09 2023-10-17 咪咕互动娱乐有限公司 云游戏服务系统、交互方法、存储介质
CN113440843B (zh) * 2021-06-25 2023-12-08 咪咕互动娱乐有限公司 云游戏启动控制方法、装置、云服务器和终端设备
CN113713369B (zh) * 2021-08-27 2023-09-15 厦门雅基软件有限公司 多人游戏的功能键映射方法、模拟操控方法、装置及设备
GB2610820A (en) * 2021-09-15 2023-03-22 Sony Interactive Entertainment Inc Content transmission system and method
WO2023055363A1 (en) 2021-09-30 2023-04-06 17Live Japan Inc. System, method and computer-readable medium for rendering a streaming
WO2024202727A1 (ja) * 2023-03-31 2024-10-03 ソニーグループ株式会社 情報処理装置および情報処理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103155521A (zh) * 2010-10-06 2013-06-12 摩托罗拉移动有限责任公司 用于在两个或多个设备之间转换媒体输出的方法和系统
CN103403694A (zh) * 2010-09-13 2013-11-20 索尼电脑娱乐美国公司 附加组件管理
CN103886009A (zh) * 2012-12-21 2014-06-25 索尼电脑娱乐美国公司 基于所记录的游戏玩法自动产生为云游戏建议的小游戏
US8898717B1 (en) * 2012-01-11 2014-11-25 Cisco Technology, Inc. System and method for obfuscating start-up delay in a linear media service environment

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8689265B2 (en) * 1999-03-30 2014-04-01 Tivo Inc. Multimedia mobile personalization system
US20020144276A1 (en) * 2001-03-30 2002-10-03 Jim Radford Method for streamed data delivery over a communications network
US7729946B2 (en) 2003-01-24 2010-06-01 Massive Incorporated Online game advertising system
JP2006303631A (ja) 2005-04-15 2006-11-02 Sony Corp オンスクリーン表示装置及びオンスクリーンディスプレイ生成方法
US8926435B2 (en) * 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
US8731000B2 (en) * 2009-09-30 2014-05-20 Cisco Technology, Inc. Decoding earlier frames with DTS/PTS backward extrapolation
KR20170129967A (ko) * 2010-09-13 2017-11-27 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 게임 서버를 포함하는 컴퓨터 게임 시스템에서 통신 네트워크를 통해 클라이언트들 간에 게임 세션을 이송하는 방법
JP5542020B2 (ja) * 2010-09-22 2014-07-09 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、情報処理方法、プログラム及び情報記憶媒体
JP2012128721A (ja) * 2010-12-16 2012-07-05 Sony Computer Entertainment Inc 情報処理装置、情報処理システム、情報処理方法、プログラム及び情報記憶媒体
US8904431B2 (en) * 2010-12-20 2014-12-02 Microsoft Corporation Current device location advertisement distribution
KR101312268B1 (ko) * 2010-12-24 2013-09-25 주식회사 케이티 클라우드 컴퓨팅 환경에서 게임 서비스 제공 방법, 클라우드 컴퓨팅 서버, 및 클라우드 컴퓨팅 시스템
US9317005B2 (en) 2011-04-26 2016-04-19 Canon Kabushiki Kaisha Image forming apparatus for determining remaining amount of developer in developer container
WO2012146985A2 (en) * 2011-04-28 2012-11-01 Approxy Inc. Ltd. Adaptive cloud-based application streaming
US10778905B2 (en) * 2011-06-01 2020-09-15 ORB Reality LLC Surround video recording
GB201206059D0 (en) * 2012-04-04 2012-05-16 Tangentix Ltd Hybrid client-server graphical content delivery method and apparatus
US9381432B2 (en) * 2012-08-24 2016-07-05 Microsoft Technology Licensing, Llc Game migration
TWI559965B (en) * 2012-12-21 2016-12-01 Sony Comp Entertainment Us Sharing recorded gameplay to a social graph
CN103902804B (zh) * 2012-12-27 2018-11-16 索尼电脑娱乐美国公司 能够基于先前用户游戏玩法而影子式玩视频游戏的系统和方法
US9564102B2 (en) * 2013-03-14 2017-02-07 Microsoft Technology Licensing, Llc Client side processing of player movement in a remote gaming environment
CN104092711A (zh) * 2013-04-01 2014-10-08 云联(北京)信息技术有限公司 一种云游戏实现方法及系统
US20150126282A1 (en) 2013-11-01 2015-05-07 Numecent Holdings Inc. Adaptive application streaming in cloud gaming
US8860720B1 (en) * 2014-01-02 2014-10-14 Ubitus Inc. System and method for delivering graphics over network
US9333433B2 (en) * 2014-02-04 2016-05-10 Sony Computer Entertainment America Llc Online video game service with split clients
US10105593B2 (en) * 2014-04-08 2018-10-23 Razer (Asia-Pacific) Pte. Ltd. File prefetching for gaming applications accessed by electronic devices
JP5815073B2 (ja) * 2014-05-02 2015-11-17 株式会社ソニー・コンピュータエンタテインメント クライアント装置、情報処理方法、プログラム及び情報記憶媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103403694A (zh) * 2010-09-13 2013-11-20 索尼电脑娱乐美国公司 附加组件管理
CN103155521A (zh) * 2010-10-06 2013-06-12 摩托罗拉移动有限责任公司 用于在两个或多个设备之间转换媒体输出的方法和系统
US8898717B1 (en) * 2012-01-11 2014-11-25 Cisco Technology, Inc. System and method for obfuscating start-up delay in a linear media service environment
CN103886009A (zh) * 2012-12-21 2014-06-25 索尼电脑娱乐美国公司 基于所记录的游戏玩法自动产生为云游戏建议的小游戏

Also Published As

Publication number Publication date
WO2017030771A1 (en) 2017-02-23
US20190282898A1 (en) 2019-09-19
US10315108B2 (en) 2019-06-11
US20170050110A1 (en) 2017-02-23
JP2018532444A (ja) 2018-11-08
CN106621326A (zh) 2017-05-10
JP7157099B2 (ja) 2022-10-19
JP2020151494A (ja) 2020-09-24
US11623141B2 (en) 2023-04-11
WO2017030771A8 (en) 2017-08-24
CN111467793B (zh) 2024-04-09
CN112245900B (zh) 2024-04-30
JP6712310B2 (ja) 2020-06-17
US20210362051A1 (en) 2021-11-25
CN111467793A (zh) 2020-07-31
CN112245900A (zh) 2021-01-22
US11083964B2 (en) 2021-08-10

Similar Documents

Publication Publication Date Title
CN106621326B (zh) 利用云转变的本地应用快速启动
US11213744B2 (en) User save data transfer management for fast initiation of cloud video game
US11759707B2 (en) Methods and systems for scheduling game play of a video game
JP6695449B2 (ja) ブラウザベースのクラウドゲーム
CN109152955B (zh) 云游戏中的用户保存数据管理方法
US11882188B2 (en) Methods and systems for maintaining smooth frame rate during transmission of streaming video content
CN113226500B (zh) 使用对等流式传输的众包云游戏
TW201637696A (zh) 經由雲端進行的應用之預測性即時遊玩

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant