CN112054986A - 动态分配计算资源以在云游戏系统中生成亮点 - Google Patents

动态分配计算资源以在云游戏系统中生成亮点 Download PDF

Info

Publication number
CN112054986A
CN112054986A CN202010218614.2A CN202010218614A CN112054986A CN 112054986 A CN112054986 A CN 112054986A CN 202010218614 A CN202010218614 A CN 202010218614A CN 112054986 A CN112054986 A CN 112054986A
Authority
CN
China
Prior art keywords
game
streaming media
record
client
stream
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
CN202010218614.2A
Other languages
English (en)
Inventor
S·霍姆斯
P·热尔韦斯
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of CN112054986A publication Critical patent/CN112054986A/zh
Pending legal-status Critical Current

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • 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/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/85Providing additional services to 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/85Providing additional services to players
    • A63F13/86Watching games played by other 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/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Optics & Photonics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了动态分配计算资源以在云游戏系统中生成亮点。在各种示例中,分配计算资源以用于在云游戏系统中生成亮点。本发明公开了在各种设备之间和之中分布的系统和方法,处理包括用户界面的生成和叠加、可操作事件的游戏流分析、生成亮点、亮点的存储和亮点的共享。云游戏系统中处理资源或计算资源的分配依赖于各种设备和/或网络的系统信息。记录、快照和/或其他亮点可使用所确定的计算资源的分配在云游戏系统中生成。

Description

动态分配计算资源以在云游戏系统中生成亮点
背景技术
在游戏会话期间,用户可能希望拥有游戏会话的至少一部分的屏幕截图、亮点(highlight)或剪辑,例如以便用户可以共享记录的材料、后期查看材料或以其他方式访问记录内容。传统的系统和方法允许玩家在其本地客户端设备上记录游戏会话或其部分内容。但是,为了能够在本地(例如,在客户端设备上)渲染游戏会话的帧,客户端设备必须包含大量的计算资源。除了在本地渲染游戏会话的帧外,执行诸如在本地生成记录的材料之类的功能需要额外的硬件和网络计算资源。
在其他传统系统和方法中,一旦生成游戏(gameplay)记录(例如,流查看(streamviewing)),则玩家能够从其客户端设备流式传输游戏会话。在流查看中,游戏的每个(或若干个)帧都可以从客户端设备的显示器中复制,然后上传到(通常)单独的服务或应用程序上,以便分发给流查看的观众(例如,在社交媒体上)。如果用户正在流查看其游戏流会话,则必须在客户端设备处复制每一帧并发送给第三方进行分发,因此需要大量带宽和处理能力。因此,与上述类似,如果没有足够的存储容量、GPU能力或其他硬件功能来有效执行生成亮点、存储和/或共享,则客户端设备无法使用这些能力。因此,具有有限硬件或带宽容量的客户端设备无法生成和/或共享快照、亮点或游戏记录,从而影响用户体验。
发明内容
本公开涉及云游戏系统中分配计算资源以生成亮点。本发明公开了在各种设备之间和之中分配处理的系统和方法,该处理包括用户界面生成和叠加、可操作事件的游戏流分析、亮点生成、亮点存储和亮点共享。如本文所用,亮点可包括游戏会话流的任何捕获,包括游戏快照或屏幕截图、整个游戏会话的记录或游戏会话部分(例如剪辑)的记录,例如游戏会话中特定动作和事件的记录。
与传统系统(如上述系统)相比,本公开的系统和方法分析客户端设备的硬件、软件和/或网络功能,以确定在系统内如何分配处理任务(例如,在一个或更多个客户端设备、一个或更多个流媒体服务器、一个或更多个辅助系统等之中分配处理任务等)。例如,委托代理(proxy agent)(负责亮点生成系统内的各种任务)可在客户端设备、流媒体设备和/或辅助系统(例如,卸载处理任务的远程系统)之间可变地转移。委托代理可以记录游戏流(例如,在内存设备(如缓冲区)中),生成和呈现与生成亮点相关的用户界面元素,分析游戏流中的可操作事件(例如,游戏中触发生成亮点的事件或动作),响应用于生成亮点的命令(例如,从客户端设备、流媒体设备、辅助系统或其组合),以及发出生成和存储亮点的信号。
因此,由于委托代理负责系统内的各种任务,因此委托代理的各种进程可在系统的各个设备之间转移。在某些示例中,流媒体设备(或系统的另一设备)可查询客户端设备以确定硬件、软件和/或带宽容量(此处称为系统信息)。响应于确定系统信息,在某些实施例中,委托代理的各种任务可以在系统设备之中动态地转移,以增强终端用户的云游戏体验。作为非限制示例,通过在客户端设备上执行某些处理任务(例如,生成亮点和存储亮点)以及在流媒体设备和/或辅助设备上执行某些处理任务(例如,针对可操作事件对游戏流进行分析),系统中的每个设备都将受益于带宽使用率的提高、处理速度的提高、低延迟和更高的游戏流分辨率。
附图说明
下面将参照所附的附图详细地描述用于在云游戏系统中分配用于生成亮点的计算资源的系统和方法,其中:
图1A是根据本公开一些实施例的、用于在云游戏系统中生成亮点的示例系统图;
图1B是根据本公开一些实施例的、用于在云游戏系统(包括客户端设备和流媒体设备)中生成亮点的示例系统图;
图1C是根据本公开一些实施例的、用于在云游戏系统中生成亮点的另一示例系统图;
图2是根据本公开的一些实施例的、用于生成亮点的从包括图形叠加的游戏会话的显示中截取的示例屏幕截图;
图3-图4是根据本公开的一些实施例的、示出了在云游戏系统中生成亮点的方法的流程图;以及
图5是适合用于实现本公开的一些实施例的示例计算环境的框图。
具体实施方式
公开了关于分配计算资源以在云游戏系统中生成亮点的系统和方法。如上所述,与传统的系统相比,本公开提供了在各个设备之间和之中转移亮点生成系统的一个或更多个任务,以便努力有效地分配系统中的计算资源、网络使用和存储要求。因此,一个或更多个流媒体设备(例如,负责渲染、编码、以及流式传输一个或更多个用户的游戏会话的服务器)、一个或更多个客户端设备(例如,平板电脑、计算机、智能手机、流媒体设备、游戏机或显示游戏流并接收和发送输入的其他设备)和/或一个或更多个辅助设备(例如,负责一个或更多个溢出任务的服务器)可负责以允许为系统的每个用户实现高质量、低延迟的游戏流的方式在系统内执行任务。
在某些示例中,与在云游戏环境中生成亮点相关联的任务可称为委托代理的任务。因此委托代理可分布在亮点生成系统的各个设备之间和之中。在某些示例中,委托代理可根据一个或更多个客户端设备中的每个客户端设备的系统信息在各个设备之间动态地转移任务。系统信息可包括存储容量、编码能力、处理能力、游戏流的记录设置、网络信息和/或其他系统信息。系统信息可与一个或更多个流媒体设备、一个或更多个客户端设备和/或一个或更多个辅助设备有关。因此,与传统的系统进一步相比,该传统系统中,一个或更多个客户端设备的任务是渲染游戏、生成亮点、存储亮点、共享亮点和执行每个生成亮点任务,本公开的亮点生成系统考虑到了一个或更多个客户端设备的限制。例如,一个或更多个第一客户端设备可具有比一个或更多个第二客户端设备更大的存储和/或处理能力,因此分布在各个设备之中的委托代理的任务,针对第一客户端设备的(例如自定义的)与针对一个或更多个第二客户端设备的自定义可以不同。作为非限制示例,用户界面元素可以在一个或更多个客户端设备上生成,而不是生成用户界面元素(例如,叠加)以用于控制由流媒体设备(例如,基于记录设置)执行的生成亮点或记录。通过在客户端应用程序中的一个或更多个客户端设备处生成用户界面元素,流媒体设备需要更少的带宽和计算资源,并且可以提高叠加中用户界面元素的图像质量。作为另一非限制示例,其中一个或更多个客户端设备具有足够的存储容量和/或处理能力,则游戏流的亮点的生成和存储可以由一个或更多个客户端设备执行,从而将存储和处理要求从一个或更多个流媒体设备卸载到一个或更多个客户端设备,以允许一个或更多个流媒体设备保持高图像质量、低延迟的游戏流。因此,与单个设备负责生成亮点的传统系统相比,通过动态地(在某些实施例中,在一个或更多个流媒体设备、一个或更多个客户端设备和/或一个或更多个辅助设备之间和之中)转移委托代理的任务,可以分配系统的存储、处理、计算和带宽负担,以努力减轻任意一个设备的个体负担。
如上所述,传统系统不在游戏流式传输环境中操作。即使游戏的记录被流式传输(例如,在流查看中),原始游戏渲染也会在一个或更多个客户端设备上执行,记录也会在一个或更多个客户端设备上执行。因此,在游戏流式传输环境中,由于一个或更多个流媒体设备负责接收来自一个或更多个客户端设备的输入、根据输入渲染游戏、对游戏流进行编码以及将游戏流发送到一个或更多个客户端设备,从而实现了附加约束。例如,在因特网上以低延迟流式传输高质量游戏内容,同时还允许将输入的带宽从一个或更多个客户端设备发送回一个或更多个流媒体设备时,游戏流式传输通常会遇到带宽问题。
除了单独的游戏流式传输系统的这些约束外,在游戏流式传输环境中引入亮点生成系统会带来更多的约束。例如,如果生成记录的亮点并将其存储在一个或更多个流媒体设备上,则亮点的文件大小会变得成本高昂,和/或可能需要使用额外的带宽将亮点发送或流式传输回一个或更多个客户端设备以供查看(例如,在游戏期间或游戏之后)。此外,由于除了为一个或更多个终端用户生成和存储亮点外,一个或更多个流媒体设备还负责管理游戏会话并将其流式传输至多个终端用户,因此一个或更多个流媒体设备的处理能力会受到影响(减少)。一个或更多个流媒体设备的处理能力降低会导致一个或更多个终端用户在游戏期间遇到质量较低的游戏流、更高的延迟和/或其他流质量问题。因此,通过在游戏流式传输环境中在各个设备之间和之中转移亮点生成系统的委托代理的一个或更多个任务,系统的约束以允许终端用户体验高图像质量、低延迟的游戏流以及相关的无缝亮点生成功能的方式来解释。
现在参考图1A,图1A是根据本公开一些实施例的、云游戏环境中的亮点生成系统100的示例系统图。应该理解的是,本文描述的这一布置和其他布置仅作为示例阐述。除了所示的这些布置和元素之外或替代其,还可使用其他布置和元素(例如,机器、接口、功能、命令、功能分组等),某些元素可以完全省略。此外,本文中描述的许多元素都是功能实体,其可以作为离散或分布式组件实现,也可以与其他组件结合实现,并在任何合适的组合和位置中实现。本文描述的由实体执行的各种功能可以由硬件、固件和/或软件执行。例如,由执行存储在内存中的指令的处理器可以执行各种功能。
亮点生成系统100可以包括一个或更多个客户端设备102、一个或更多个流媒体设备104、一个或更多个辅助设备106和/或一个或更多个网络108等。亮点生成系统100(及其组件和/或其特征)可以使用一个或更多个计算设备实现,例如图5中的计算设备500,本文将对此进行更详细的描述。
亮点生成系统100的每个设备或组件都可以使用一个或更多个网络108在彼此之间和之中进行通信。一个或更多个网络108可包括广域网(WAN)(例如,因特网、公共交换电话网络(PSTN)等)、局域网(LAN)(例如,Wi-Fi、以太网等)和/或其他网络类型。
一个或更多个客户端设备102可包括智能手机、笔记本电脑、平板电脑、台式计算机、可穿戴设备、游戏机、虚拟现实系统(例如,耳机、计算机、游戏机、一个或更多个遥控器、一个或更多个控制器和/或其他组件)、流媒体设备(例如NVIDIA SHIELD)、可包含智能个人助理的智能家居设备和/或能够支持至少显示游戏会话126的游戏流和/或游戏会话126的输入(来自一个或更多个输入设备112)的另一种类型的设备。
一个或更多个客户端设备102可包括显示器110、一个或更多个输入设备112、客户端应用程序114、一个或更多个数据存储116和/或委托代理118的至少某些功能。在某些示例中,委托代理118的至少某些功能可以在客户端应用程序114中执行。尽管图1中说明了一个或更多个客户端设备102的某些组件和/或特征,但这不旨在限制。例如,一个或更多个客户端设备102可包括附加或替代组件,例如且非限制地,本文关于图5中的计算设备500描述的组件。可以参考图1B和图1C在本文中更详细地描述一个或更多个客户端设备102的特征和功能。
客户端应用程序114可以是移动应用程序、计算机应用程序、控制台应用程序、游戏应用程序和/或其他类型的应用程序。客户端应用程序114可以包括指令,该指令在由一个或更多个客户端设备102的一个或更多个处理器执行时,使得一个或更多个处理器执行一个或更多个操作(例如但不限于本文关于亮点生成系统100描述的操作)。客户端应用程序114可以操作为用于使得能够玩游戏的游戏实例的辅助器(facilitator)。例如且非限制性地,客户端应用程序114可以显示从流媒体设备104接收的游戏流,接收和/或处理来自一个或更多个客户端设备102的一个或更多个输入设备112的输入,和/或使表示输入的输入数据发送到一个或更多个流媒体设备104。在一些示例中,如本文所述,客户端应用程序114可包括委托代理118的某些特征或功能,例如生成亮点和显示图形叠加128(图2),以生成亮点、记录或快照以及编程记录设置等。在一些示例中,客户端应用程序114可导致生成亮点、存储亮点、分析游戏流以用于确定应何时生成亮点、共享亮点等。在一些实施例中,一个或更多个客户端设备102可以包括任意数量的客户端应用程序114,在其中分配亮点生成系统100的特征和功能。
一个或更多个客户端设备102可以包括一个或更多个组件(例如,通信组件、网络接口等)和用于在一个或更多个网络(诸如,一个或更多个网络108)上进行通信的特征。作为非限制性示例,为了在亮点生成系统100内进行通信,一个或更多个客户端设备102可以使用有线以太网连接和/或Wi-Fi连接通过路由器访问互联网,以便与一个或更多个流媒体设备104、一个或更多个辅助设备106和/或一个或更多个其他客户端设备102进行通信。
显示器110可包括能够显示游戏的任何类型的显示器(例如,发光二极管显示器(LED)、有机LED显示器(OLED)、液晶显示器(LCD)、有源矩阵OLED显示器(AMOLED)、量子点显示器(QDD)、等离子显示器和/或其他类型的显示器)。在某些示例中,根据一个或更多个客户端设备102的配置,显示器110可以包括多于一个显示器(例如,用于计算机游戏的双显示显示器、用于配置游戏的第一显示器以及用于玩游戏的虚拟现实显示器等)。在显示器110是触摸屏显示器,例如智能手机、平板电脑、笔记本电脑等的触摸屏时,显示器110可用作一个或更多个客户端设备112的一个或更多个输入设备中的至少一个(例如,用于生成游戏实例132的输入,以便发送到一个或更多个流媒体设备104以更新游戏的渲染)。显示器110可显示一个或更多个游戏会话的游戏流,例如游戏会话126(A)、游戏会话126(B)和/或游戏会话126(C)(此处统称为“游戏会话126”)。游戏会话126可包括一个或更多个客户端设备102的用户参与的任意数量的游戏会话。
一个或更多个输入设备112可包括能够向游戏提供用户输入的任何类型的设备。一个或更多个输入设备可包括键盘、鼠标、操纵杆、触摸屏显示器、一个或更多个控制器、一个或更多个遥控器、耳机(例如虚拟现实耳机的传感器)、其他类型的输入设备和/或其组合。
一个或更多个数据存储116可以包括任意内存设备类型。在一个或更多个客户端设备102可以负责存储和/或生成亮点的实施例中,一个或更多个数据存储116可以存储一些或全部游戏流。例如,一个或更多个数据存储116可以存储整个游戏流,并且可以从所存储的游戏流生成快照、亮点和/或记录。快照、亮点和/或记录在生成后可单独地存储在一个或更多个数据存储116中,或者可以存储(例如,作为元数据)快照、亮点和/或记录的指示(例如,时间戳),以便可以使用该指示从所存储的游戏流中复制或检索该快照、亮点和/或记录。
在某些示例中,一个或更多个数据存储116可只存储游戏流的一部分。例如,一个或更多个数据存储116只存储快照、亮点和/或记录。缓冲区130可用于存储游戏流的一部分,可以从缓冲区复制或检索亮点、快照或记录(并单独存储在一个或更多个数据存储116中)。缓冲区130可以只存储游戏流的一部分(例如,可以将游戏流的最近30秒存储在缓冲区130中)。因此,当生成快照、亮点或记录时,除了缓冲区130中游戏流的至少一些部分外,在某些示例中,可以复制或检索游戏流的下一部分(例如,接下来的10秒),以便生成快照、亮点和/或记录。在一些非限制性示例中,缓冲区130可以包括循环或滚动缓冲区。
一个或更多个流媒体设备104可包括流媒体应用程序120,用于接收表示到一个或更多个客户端设备102的输入的输入数据、渲染游戏实例132、将游戏实例132编码到流中以及将该流发送到一个或更多个客户端设备102。在一些示例中,如本文所述,流媒体应用程序120可包括委托代理118的某些特征或功能,例如在游戏流中生成亮点和编码图形叠加128(图2)(例如,其中一个或更多个客户端设备102的处理能力有限)。此外,在一些示例中,流媒体应用程序120可使得生成亮点、存储亮点、分析游戏流,以用于确定应何时生成亮点、共享亮点等。在一些实施例中,一个或更多个流媒体设备104可以包括任意数量的流媒体应用程序120,在其中亮点生成系统100的特征和功能被分配。一个或更多个流媒体设备104的特征和功能可以在本文参照图1B和图1C详细地描述。
在一些实施例中,一个或更多个流媒体设备104可以渲染游戏实例132,并将游戏流作为多个游戏实例传送到两个或更多个设备。在这些实施例中,两个或更多个游戏实例可以是被渲染的游戏实例的副本。在这些实施例中,经由一个或更多个网络108发送两个游戏实例有利于在一个或更多个客户端设备102上同时显示游戏实例和/或在一个或更多个辅助设备106上捕获游戏流的至少部分。
一个或更多个流媒体设备104可以包括一个或更多个组件(例如,通信组件、网络接口等)和用于在一个或更多个网络(诸如一个或更多个网络108)上进行通信的特征。作为非限制性示例,为了在亮点生成系统100内进行通信,一个或更多个流媒体设备104可以通过互联网发送和接收数据,以便与一个或更多个辅助设备106、一个或更多个客户端设备102和/或一个或更多个其他流媒体设备104进行通信。
一个或更多个流媒体设备104可包括一个或更多个数据存储116,类似于本文所描述的一个或更多个客户端设备102和/或一个或更多个辅助设备106的一个或更多个数据存储116。例如,根据委托代理118的任务分配,一个或更多个流媒体设备104可负责生成、存储和/或共享游戏流的亮点、快照和/或记录。
一个或更多个辅助设备106可包括游戏分析应用程序124,用于从一个或更多个流媒体设备104和/或一个或更多个客户端设备102(例如,经由一个或更多个流媒体设备104)接收游戏流,并分析游戏流以获知游戏实例132中的事件和/或动作。事件和/或动作可以是可记录的事件,在检测到这些事件时,会导致一个或更多个辅助设备106、一个或更多个客户端设备102和/或一个或更多个流媒体设备104生成亮点、快照和/或记录。虽然在非限制性示例中被示出为由游戏分析应用程序124执行对游戏流的分析,但是对游戏流的分析可以作为委托代理118的任务包含在内。因此,在某些示例中,一个或更多个辅助设备106的游戏分析应用程序124可包括委托代理118的一些特征或功能,例如游戏流分析、确定何时生成亮点和/或使得生成亮点(例如,通过生成指示应生成亮点的信号并将该信号发送到一个或更多个客户端设备102和/或一个或更多个流媒体设备104)。一个或更多个辅助设备106的特征和功能在本文中可以参照图1B和图1C更详细地描述。
在某些实施例中,一个或更多个辅助设备106可以是用于记录和/或实时流式传输游戏流的第三方服务或设备。在一些实施例中,一个或更多个辅助设备106可以是流查看设备,其被配置为接收和发送游戏流的至少部分到多个查看设备。例如,在某些实施例中,一个或更多个辅助设备可以从一个或更多个流媒体设备104接收游戏流,并将游戏流重新分配给多个查看器(例如,“实时流式传输”)。在一些实施例中,与本文所公开的其他实施例类似,与传统的游戏流式传输系统相比,流式传输到一个或更多个辅助设备106(诸如第三方服务或设备)可以减少一个或更多个客户端设备102的处理资源和网络资源。
游戏分析应用程序124可以分析游戏流,以确定记录事件已经发生,并发信号给委托代理118以捕获(或从缓冲区保存)游戏流的至少部分。游戏分析应用程序124可以基于人工智能、计算机视觉、文本识别和/或其他程序和分析方法确定发生了记录事件。记录事件可以是由游戏指示为重要事件的任何实例。由游戏指示的重要事件可包括淘汰游戏中的另一角色、收集某些物品、进球、击出本垒打、登上高楼或山脉、执行或实现用户指定的任务或目标和/或其他事件类型。例如,在一些实施例中,游戏分析应用程序124可以识别游戏会话126中的图标(reticle)的变化,这些变化指示游戏内淘汰角色,并向委托代理118发出信号以捕获游戏流的至少部分。在另一示例中,游戏分析应用程序124可以识别游戏实例126中表示“玩家1淘汰了玩家4”或“玩家1触地得分”的文本(例如,使用光学字符识别(OCR)),并向委托代理118发出信号,以捕获游戏流的至少部分。
此外,虽然游戏分析应用程序124被列为一个或更多个辅助设备106的特征,但这不旨在是限制。例如,在一些实施例中,一个或更多个辅助设备106可不包含在亮点生成系统100中。因此,游戏分析应用程序124和/或其特征和功能可以在一个或更多个客户端设备102、一个或更多个流媒体设备104和/或其组合上执行。例如,与委托代理118的其他特征和功能类似,对游戏流的分析可由亮点生成系统100的一个或更多个其他设备执行。
一个或更多个辅助设备106可以包括一个或更多个组件(例如,通信组件、网络接口等)和用于在一个或更多个网络(诸如一个或更多个网络108)上进行通信的特征。作为非限制性示例,为了在亮点生成系统100内进行通信,一个或更多个辅助设备104可以通过互联网发送和接收数据,以便与一个或更多个流媒体设备104、一个或更多个客户端设备102和/或一个或更多个其他辅助设备106进行通信。
一个或更多个辅助设备106可包括一个或更多个数据存储116,类似于本文所述的一个或更多个客户端设备102和/或一个或更多个流媒体设备104的一个或更多个数据存储116。例如,根据委托代理118的任务分配,一个或更多个辅助设备106可以负责生成、存储和/或共享游戏流的亮点、快照和/或记录。
委托代理118可以包括用于在系统100内生成亮点的各种功能。如上所述,委托代理118可用于通过转移或分配由一个或更多个客户端设备102、一个或更多个辅助设备106和/或一个或更多个流媒体设备104在亮点生成系统100中使用的资源来克服其他系统的许多限制,以便有效和高效地执行生成亮点的各种功能。尽管委托代理118在图1A中列为一个或更多个客户端设备102、一个或更多个辅助设备106和一个或更多个流媒体设备104中的每一个的特征,但这不是旨在是限制。例如,委托代理118的任务可以在一个或更多个客户端设备102、一个或更多个辅助设备106、一个或更多个流媒体设备104和/或其组合上执行。对于非限制示例,并且相对于系统100中的委托代理118的功能,一个或更多个客户端设备102可以捕获游戏流的至少部分作为亮点,并且一个或更多个流媒体设备104可以使用游戏分析应用程序124分析游戏流,以向一个或更多个客户端设备102提供指示(例如,经由消息),以捕获亮点。在另一非限制示例中,图形叠加128的生成可以在一个或更多个流媒体设备104处,并且捕获游戏流的至少部分可在一个或更多个客户端设备102处。在另一非限制示例中,图形叠加128的生成可在一个或更多个客户端设备102处,并且捕获游戏流的至少部分可发生在一个或更多个流媒体设备104处。
委托代理118可以被配置为捕获游戏实例的至少部分作为亮点,在某些实施例中,亮点可以是屏幕截图、游戏流的简短记录和/或游戏的大量(甚至整个)记录。对何时捕获实例的确定可以基于捕获游戏流的至少部分的指示。该指示可以基于使用计算机视觉、人工智能(例如,将游戏会话的帧输入到被训练为检测游戏会话中的事件、动作或其他记录事件的神经网络)、OCR、游戏状态分析、用户输入(例如,到图形叠加128)和/或其他标准对游戏流的分析。委托代理118可以接收游戏实例,并将游戏实例的部分存储在一个或更多个数据存储116上。在某些示例中,委托代理118将游戏流的至少一些(例如,连续地)存储在一个或更多个数据存储116的缓冲区130中。在这样的示例中,缓冲区130可存储游戏实例的最近部分,以便可以从缓冲区130生成亮点、快照和/或记录。作为非限制性示例,给定的游戏实例中游戏的最近持续时间(例如30秒)可以记录在缓冲区130中,当接收到生成亮点的指示时,缓冲区130中的记录可以移动或复制到一个或更多个数据存储116中以进行永久存储。
委托代理118可被配置为生成图形叠加128,以用于配置记录设置、触发亮点生成、设置用户定义的记录事件以用于生成亮点和/或编程其他记录功能。例如,关于图2所述的图形叠加128可以包括多个功能,例如用于控制游戏流的至少部分的捕获方面。渲染图形叠加128可能需要某些客户端设备102未配备的计算资源和/或硬件。因此,在传统系统中,这些客户端设备102由于无法渲染图形叠加128而不能生成亮点。但是,委托代理118可以通过在一个或更多个客户端设备102、一个或更多个辅助设备106和/或一个或更多个流媒体设备104之间转移图形叠加128的渲染来克服这些限制。因此,在确定一个或更多个客户端设备102有足够的资源来生成图形叠加128的情况下,则一个或更多个客户端设备102可以生成图形叠加128(例如,在客户端应用程序114中)。在其他实施例中,例如在确定一个或更多个客户端设备102没有足够的资源来生成图形叠加128时,一个或更多个流媒体设备104和/或一个或更多个辅助设备106可以生成图形叠加128,并在游戏流中包括图形叠加。在某些实施例中,图形叠加128可包括用于捕获游戏流的剪辑、过滤生成的亮点、搜索生成的亮点、运行时状态、图像库(gallery)选择和/或热键管理的控件。
图形叠加128由独立于渲染游戏的应用程序(例如游戏应用程序)的应用程序生成。例如,在一个或更多个客户端设备102渲染图形叠加128的情况下,一个或更多个客户端设备102的客户端应用程序(例如,在一个或更多个客户端设备102处执行委托代理118功能的客户端应用程序)可以在显示器110(独立于游戏流的显示器)上渲染和显示图形叠加128。尽管独立地渲染,但图形叠加128可以与游戏流同时显示(例如,在显示器的一部分上,诸如左侧、顶部下拉、右侧、显示器上的弹出窗口等)。在另一示例中,在一个或更多个流媒体设备104渲染图形叠加128的情况下,一个或更多个流媒体设备104的流媒体应用程序(例如,在一个或更多个流媒体设备104处执行委托代理118功能的流媒体应用程序)可以渲染图形叠加128(独立于游戏的渲染),并可捕获游戏流中的图形叠加128和游戏(例如,覆盖在游戏流中的游戏上的图形叠加128)。由于图形叠加128可以单独渲染,作为与使用游戏状态数据渲染游戏的应用程序不同的应用程序的一部分,图形叠加128在本文中可以称为补充图形叠加。因此,可以显示图形叠加128以补充基于游戏的显示信息(例如,游戏本身以及游戏的图形叠加和GUI)。因此,当用户给图形叠加128提供输入时,无论是包含在来自一个或更多个流媒体设备104的游戏流中,还是/或在一个或更多个客户端设备102的客户端应用程序内渲染时,该输入可发送到委托代理118,而不是提供给游戏本身以影响游戏。
委托代理118可配置为将游戏流发送到其他设备和/或第三方服务以进行流查看。在一些实施例中,用于流查看的游戏流的发送可与游戏流同时发生,或与游戏流延迟发生。用于流查看的游戏流的发送可以与委托代理118记录游戏流独立地发生。例如,委托代理118可在一个或更多个客户端设备102处记录游戏流,并将游戏流发送到其他设备和/或第三方服务以进行流查看。在此示例中,一个或更多个流媒体设备104可通过一个或更多个网络108将游戏流流式传输到一个或更多个客户端设备102和一个或更多个辅助设备106二者。
因此,委托代理118及其相关功能可以分布在系统100内的各个设备之间和之中。但是,由于游戏正从一个或更多个流媒体设备104流式传输,并且由于委托代理118可以被分配在系统100内的不同设备之中,因此由游戏开发者实现记录功能好像可能成本过高。例如,在不使用委托代理118的情况下,可能需要游戏开发者具有不同的功能,这取决于计算资源在系统100内的不同分配。该功能可能需要生成不同类型的消息和/或应用程序编程接口(API)调用至不同的设备、组件和/或特征,这取决于计算资源的不同分配。为了避免或减少游戏开发者的该负担,系统100内的游戏开发者可能仅必须对相同的消息类型和/或相同的API调用类型的生成进行编程,而不用管计算资源在系统100中的分配如何。这样,委托代理118可以被配置为从正在一个或更多个流媒体设备104上渲染的游戏应用程序接收相同的消息类型和/或相同的API调用类型,并且可以确定和/或促进系统100内的任务分配。例如,用户可以向热键提供指示生成亮点的请求的输入,游戏应用程序可生成表示请求的指示的消息和/或API调用。委托代理118可以接收消息和/或API调用,并确定系统100中的哪些设备应执行生成亮点的不同任务。因此,对于游戏开发者或游戏应用程序,即使游戏是在一个或更多个流媒体设备104上生成和渲染的,游戏生成和渲染也可以看起来是在一个或更多个客户端设备102的本地硬件上执行的。因此,通过使用委托代理118,系统100的实现对游戏开发者基本上是无缝的,从而在游戏流式传输环境中集成亮点记录功能时减轻游戏开发者的实现负担。
此外,由于游戏被流式传输到一个或更多个客户端设备102,并且委托代理118可基于系统信息用于分配计算资源,因此一个或更多个客户端设备102具有任意特定硬件和/或软件配置(如某些操作系统、GPU等)的要求被消除。因此,无论其各自的硬件和/或软件配置如何,亮点生成系统100都可用于任何客户端设备102。
现在参考图1B。图1B是根据本公开一些实施例的、云游戏系统中使用一个或更多个客户端设备102和一个或更多个流媒体设备104的亮点生成系统140的另一示例系统图。此外,亮点生成系统140可包括一个或更多个客户端设备102(其可包括与图1A的一个或更多个客户端设备102类似的组件、特征和/或功能)和一个或更多个流媒体设备104(其可包括与图1A的流媒体设备104类似的组件、特征和/或功能)等,二者使用一个或更多个网络108(其可类似于图1A的一个或更多个网络108)彼此进行通信。
在亮点生成系统140中,一个或更多个流媒体设备104可以包括游戏实例132。游戏实例132被示出为与以下项进行双边通信或在以下项中进行双边通信:摄像机控制应用程序144、实时流式传输协议(RTSP)应用程序142和亮点捕获应用程序164。游戏实例132可用于摄像机控制应用程序144和/或亮点捕获应用程序164,或可发送到摄像机控制应用程序144和/或亮点捕获应用程序164。当生成游戏实例132时,摄像机控制应用程序144和/或亮点捕获应用程序164可以使用来自游戏实例132的数据执行各种功能,例如但不限于本文列出的那些功能。
摄像机控制应用程序144可包括游戏内摄影服务。例如,摄像机控制应用程序144可以捕获任何各种视角(例如180度、360度等)的游戏内射击。摄像机控制应用程序144可以使能从任何位置(例如,甚至从与用户当前视角不同的视角的位置)捕获游戏内射击。摄像机控制应用程序144(例如,NVIDIA的ANSEL)可在游戏过程中(例如,使用NVIDIA的FREESTYLE)捕获屏幕截图并应用一个或更多个后处理滤镜(例如,以调整颜色、饱和度,添加预定义的滤镜(如棕褐色、复古、夜间模式)和/或更改其他特性)。尽管在图1B中与亮点捕获应用程序164独立示出,但这并不旨在是限制。在某些示例中,摄像机控制应用程序144的某些特征和功能可由亮点捕获应用程序164执行。
亮点捕获应用程序164可包括一个或更多个流媒体设备104上的亮点捕获服务。亮点捕获应用程序164可以直接解释游戏实例132的对捕获游戏记录API请求。在一些实施例中,亮点捕获应用程序164可以是非流式的单系统平台,其可以直接解释所生成的游戏的对捕获一个或更多个流媒体设备104上的亮点的API请求。在一些实施例中,捕获一个或更多个流媒体设备104上的亮点可以经由软件(例如,表示硬件的软件)来实现。在其他实施例中,捕获一个或更多个流媒体设备104上的亮点可经由GPU硬件系统(例如基于NVIDIA的硬件的SHADOWPLAY系统)实现。
摄像机控制应用程序144可与一个或更多个数据存储116通信,其中数据存储116可包括缓冲区130。摄像机控制应用程序144可以进一步与使用中的缓冲区130通信。在一些实施例中,捕获的游戏流数据可以发送到一个或更多个数据存储116进行存储。一个或更多个数据存储116可包括包含游戏信息、图形叠加信息、用于标记亮点的游戏名称信息以及系统信息(例如,客户端设备102的系统信息,例如,是否支持某些特征或功能)的数据库。
RTSP应用程序142可以直接接收游戏实例132和/或通过摄像机控制应用程序144和/或亮点捕获应用程序164接收游戏实例132,并将游戏实例132编码到游戏流中,以便通过一个或更多个网络108进行传送。在一些实施例中,RTSP应用程序142可以充当路由器,以在摄像机控制应用程序144、亮点捕获应用程序164、游戏实例132和一个或更多个网络108之间进行通信。
在一些示例实施例中,RTSP应用程序142可以将捕获的游戏流传送到一个或更多个客户端设备102,以显示、共享和/或存储所捕获的游戏流。
亮点生成系统140可进一步包括具有chromium嵌入式框架(CEF)客户端146(或其他浏览器嵌入式框架客户端类型)的一个或更多个客户端设备102。CEF客户端146可与图形叠加148和/或显示器110进行双向通信。CEF客户端146可进一步与共享服务器166和可包括缓冲区178的一个或更多个数据存储176通信。CEF客户端146可通过一个或更多个网络108从RTSP应用程序142接收游戏流。CEF客户端146可以生成图形叠加128以进行捕获亮点和/或执行一个或更多个游戏流功能。CEF客户端146可以将来自一个或更多个输入设备112(如图1A所示)的输入传送至一个或更多个流媒体设备104。在一些实施例中,CEF客户端146可以接收来自图形叠加128的输入,指令可以适当地提交到(在某些实施例中)共享服务器166和/或一个或更多个流媒体设备104。由CEF客户端146接收的游戏流可以发送到显示器110。CEF客户端146可在游戏流被发送到显示器110之前解码游戏流或充当游戏流的解码器。
CEF客户端146进一步与亮点捕获应用程序172进行通信。亮点捕获应用程序172(例如亮点捕获应用程序164)可使用软件和/或硬件系统来捕获一个或更多个客户端设备102上的亮点。在一些实施例中,可以捕获游戏流并将其存储在一个或更多个数据存储176和/或缓冲区180中。亮点捕获应用程序172可从一个或更多个流媒体设备104接收解码的游戏流数据,并且可提供自动游戏亮点生成。亮点捕获应用程序172可将游戏流操纵为表单,该表单可以如对亮点的请求所指示的被存储、编辑和/或由一个或更多个客户端设备102以其他方式使用。亮点捕获应用程序172可从游戏生成元数据并将其与亮点文件相关联。
一个或更多个数据存储176可以包括一个或更多个客户端设备102上的缓冲区180。一个或更多个数据存储176和缓冲区180可类似于一个或更多个数据存储116和缓冲区130。一个或更多个数据存储176和/或缓冲区180可配置为在临时或永久存储中捕获游戏流,并可包括硬盘驱动器、固态驱动器、RAM或其他计算机存储介质。
共享服务器166可以是客户端插件,其用于解析CEF客户端146和亮点捕获应用程序172之间的数据。数据可以被解析并保留为信息,诸如热键和所保存的多个游戏实例132之间的设置。
在一些实施例中,亮点生成系统140可包括其他插件170。其他插件170可以是额外的插件,其可以实现到亮点生成系统140。其他插件170可与亮点捕获应用程序172、一个或更多个数据存储176、共享服务器166和/或CEF客户端146通信。在某些实施例中,其他插件170可以是第三方流查看服务、用于在线聊天的本地客户端软件和/或后处理过滤软件(例如NVIDIA的FREESTYLE)。其他插件170可以启用对游戏流数据的着色和过滤,可以通知其他在游戏中的玩家,或为一个或更多个客户端设备102提供系统信息。
亮点生成系统140可包括复用(muxing)应用程序174。复用应用程序174可以包括用于生成亮点文件的操作系统特定组件,例如通过标准化接口以复用视频数据和音频数据到文件中。
尽管系统140的组件如图1B中的特定分布所示,但这不是旨在是限制。例如,系统140的某些或所有组件、特征和/或功能可被视为委托代理(例如委托代理118)的组件、特征和/或功能。因此,在不同实施例中,如本文参照委托代理所述的,系统140中的组件、特征和/或功能的位置可以不同,例如,这取决于一个或更多个客户端设备102和/或一个或更多个流媒体设备104的系统信息。此外,尽管图1B中说明了一个或更多个客户端设备102和一个或更多个流媒体设备104,但这不旨在限制。在一些实施例中,一个或更多个辅助设备也可以包含在系统140中(例如,以执行针对自动亮点生成的游戏分析,例如,通过使用游戏分析应用程序作为其他插件170之一)。
现在参考图1C,图1C是根据本公开一些实施例的、用于在云游戏系统中生成亮点的另一示例系统图。在游戏流式传输环境内的亮点生成系统150中,一个或更多个客户端设备102可以响应于对一个或更多个输入设备112的输入接收输入数据,将输入数据发送到一个或更多个流媒体设备104和/或一个或更多个辅助设备106,从一个或更多个流媒体设备104接收经编码的游戏流,并在显示器110上显示经编码的游戏流。生成游戏实例(例如,图1A或图1B的游戏实例132)所需的计算密集型计算和处理可以卸载到一个或更多个流媒体设备104(例如,使得由一个或更多个流媒体设备104的一个或更多个GPU执行游戏会话的渲染)。在某些示例中,游戏会话可以从一个或更多个流媒体设备104流式传输到一个或更多个客户端设备102和/或一个或更多个辅助设备106。卸载游戏的生成会降低一个或更多个客户端设备102和一个或更多个辅助设备106对图形处理和渲染的要求。通过从一个或更多个客户端设备102中删除游戏生成和渲染的任务,一个或更多个客户端设备102可以使用其计算资源来捕获游戏中亮点的至少一部分、存储亮点、生成图形叠加(例如,图1A的图形叠加128)和/或执行一个或更多个其他任务以生成亮点(例如,属于本文中的委托代理118的任务)。
例如,一个或更多个客户端设备102基于从一个或更多个流媒体设备104接收游戏流在显示器上显示游戏实例的帧。一个或更多个客户端设备102可从一个或更多个输入设备112中的一个接收输入。输入数据可通过一个或更多个网络108发送到一个或更多个流媒体设备104和/或一个或更多个辅助设备106,然后一个或更多个流媒体设备104和/或一个或更多个辅助设备106可以接收输入数据。输入数据可在通信接口152处接收。一个或更多个CPU 154可以接收输入数据、处理输入数据并将数据发送到一个或更多个GPU 156,从而导致一个或更多个GPU 156生成游戏实例(例如,图1A的游戏实例132)的渲染。例如,在一些实施例中,输入数据可以表示在游戏中用户的角色的运动、发射武器、重新加载、传球、使车辆转向等。渲染组件158可以渲染游戏会话(例如,表示输入数据的结果),委托代理118可以捕获游戏实例的渲染作为一个或更多个数据存储116和/或缓冲区130中的显示数据。
然后,编码器160可以对游戏实例进行编码以生成经编码的游戏流,经编码的游戏流可以经由通信接口152通过一个或更多个网络108发送到一个或更多个客户端设备102和/或一个或更多个辅助设备106。一个或更多个客户端设备102可经由通信接口182接收经编码的游戏,解码器162可以解码经编码的游戏以生成要显示的游戏。然后,一个或更多个客户端设备102可通过显示器110显示游戏流。
在一些实施例中,亮点生成系统150可包括一个或更多个辅助设备106。在一些实施例中,游戏流可以例如同时发送到一个或更多个辅助设备106,并通过通信接口184接收。通信接口184可以将经编码的游戏流提交到解码器162、游戏分析应用程序124和/或委托代理118。委托代理118可以将游戏实例的至少部分存储在一个或更多个数据存储116和/或缓冲区130中。
现在参考图2,图2是根据本公开的一些实施例的、用于生成和调整游戏流和生成亮点的图形叠加的示例屏幕截图。图形叠加128可包括记录设置204、网络使用206、流设置208、位置210、自动记录选项212和/或其他设置。图形叠加128还可包括捕获控件214。
捕获控件214可以基于选择发送指示,以基于记录设置204捕获游戏流的至少部分。可在捕获控件214中呈现各种类型的捕获游戏流。例如,捕获控件214可通过向委托代理发出信号以捕获游戏流的至少部分而具有记录游戏(例如,快照、亮点、整个记录等)的选择。在操作中,游戏可以从委托代理收到捕获游戏流的信号的那一刻起被记录。在另一示例中,捕获控件214可具有捕获“重播(replay)”(例如,亮点)的选择,通过向委托代理发出信号,以将游戏会话中时间间隔保留在缓冲区(例如图1A的缓冲区)中和/或委托代理接收到信号后不将时间间隔额外记录在缓冲区中。换句话说,作为非限制示例,用户可以选择重播按钮,委托代理可以在按钮选择之前和/或选择之后捕获时间间隔。
捕获控件214还可具有用户可选元素来流式传输游戏流。当用户选择流式传输游戏流的选项时,一个或更多个客户端设备102可以将流式传输应用程序120生成的游戏实例发送到其他设备或发送到第三方服务器,以发送到其他设备(例如,一个或更多个辅助设备106、一个或更多个流媒体设备104、一个或更多个其他客户端设备102等)。
记录设置204可以控制委托代理(例如,图1A中的委托代理118)的各个方面。用户可以从用户可选元素中选择各种选项之一的记录设置204来记录游戏。例如,记录设置204可包括720、1080或4K分辨率。以这些分辨率中的每个分辨率记录游戏需要越来越多的资源(例如,网络资源或计算资源)和/或(图1A的一个或更多个数据储存116中的)空间,因此用户可以选择许多不同的记录设置中的一个,这具体取决于委托代理是否在客户端设备、辅助设备或流媒体设备(例如,图1A的一个或更多个客户端设备102、一个或更多个辅助设备106和一个或更多个流媒体设备104)上记录游戏。
在一些实施例中,记录设置204可包括用于选择一个或更多个客户端设备、一个或更多个辅助设备和/或一个或更多个流媒体设备(如图1A中所述的那些)中的哪些设备来激活委托代理的手动控制。这样,用户可以选择其优选位置进行游戏记录。
流的网络使用206可包括各种用户可选元素,以控制游戏流的网络使用。在某些方面和某些设置中,将游戏流式传输到客户端设备可能会通过网络使用大量数据。用户可以选择MB/S中(作为非限制示例)中的游戏流的使用,以限制客户端设备通过网络对游戏流的使用。
流设置208可以包括各种用户可选元素以控制流的质量。每个可选元素可向流应用程序发送指示(例如,图1A的流式处理应用程序120),以调整游戏实例的生成。用户可以选择以720p、1080p、4K或自定义分辨率生成游戏实例。此外,用户可以选择以60FPS、120FPS或自定义帧速率生成游戏实例。
在委托代理被设置为在客户端设备上本地记录游戏的情况下,用户可以选择客户端设备上数据存储的位置210。例如,如图2所示,用户可以选择“C”驱动器中的下载文件夹。
在某些方面,图形叠加128可包括自动记录选项212。自动记录选项212(其可称为“自动亮点”)被激活后,其可以激活游戏分析应用程序(例如,图1A的游戏分析应用程序124)。游戏分析应用程序被激活后可确定已发生记录事件,并发出信号给委托代理,以捕获游戏流的至少部分。
现在参考了图3-图4,本文描述的方法300和400的每个框都包括可以使用硬件、固件和/或软件的任意组合执行的计算过程。例如,各种功能可以由执行存储在内存中的指令的处理器执行。该方法也可以体现为存储在计算机存储介质上的计算机可用指令。该方法可由独立应用程序、服务或托管服务(独立地或与其他托管服务组合地)或另一产品的插件(仅举几例)提供。此外,例如,关于图1A的亮点生成系统100描述了方法300和400。但是,这些方法(包括但不限于本文描述的方法)可以另外或替代地由任何一个系统或任何系统组合执行。
图3是示出用于在游戏流式传输环境中生成亮点的方法300的流程图。在框B302处,方法300包括:渲染游戏实例。例如,游戏实例132可由一个或更多个流媒体设备104渲染。
在框B304处,方法300包括:将游戏实例编码到游戏流中。例如,游戏流可使用各种技术进行编码。对游戏流进行编码有助于通过一个或更多个网络108发送游戏实例132,以用于生成亮点和/或用于在一个或更多个客户端设备上显示。
在框B306处,方法300包括:将游戏流发送到客户端设备。例如,游戏流可通过一个或更多个网络108发送到一个或更多个客户端设备102。
在框B308处,方法300包括:接收捕获游戏流的至少部分作为记录的指示。例如,响应于一个或更多个客户端设备102上的用户输入(例如,对热键),响应于由游戏分析应用程序124对游戏流的分析和/或响应于系统100的另一动作或确定,接收生成亮点的指示。
在框B310处,方法300包括:确定与客户端设备相对应的系统信息。例如,可以确定一个或更多个客户端设备102、一个或更多个辅助设备106和/或一个或更多个流媒体设备104的系统信息。系统信息可以包括但不限于一个或更多个客户端设备102、一个或更多个辅助设备102和/或一个或更多个流媒体设备104的存储容量、编码能力和/或处理能力。在一些实施例中,系统信息可用于确定通过在系统100的各个设备之间和之中(在某些实施例中,动态地)分配委托代理的处理任务实现的渲染和/或流式处理比特率和/或帧速率(例如,最低服务质量(QoS))。在这些示例中,系统信息可表示基于一个或更多个设备的能力的能力度量。系统信息还可以包括或替代地包括游戏流的记录设置和/或一个或更多个网络108的网络信息。
在框B312处,方法300包括:至少部分地基于系统信息从在流媒体设备处生成记录和向客户端设备发送信号以使客户端设备生成记录中选择。例如,一个或更多个客户端设备102的系统信息可用于确定是否应在一个或更多个客户端设备102、一个或更多个流媒体设备104和/或一个或更多个辅助设备106上执行某些特征和/或功能。在一些示例中,可以使用系统100中的一个或更多个设备的最小能力测量(例如,在某些实施例中,阈值)来选择哪个设备用于生成记录。在另一示例中,可以使用实现(在非限制示例中,通过渲染和/或流式传输比特率和/或帧速率测量的)QoS的配置来选择哪个设备用于生成记录、执行记录分析、共享记录、存储记录和/或执行委托代理的一个或更多个其他任务。
在框B314处,方法300包括:在一个或更多个流媒体设备104处生成记录。例如,在一个或更多个客户端设备102不满足允许生成亮点和/或游戏流式传输有效运行(例如,低延迟和高质量)的最小能力测量(和/或QoS)或要求的情况下,可在一个或更多个流媒体设备104处生成记录。
在框B316处,方法300包括:向客户端设备发送信号,以使客户端设备生成记录。例如,在一个或更多个客户端设备102满足允许生成亮点和/或游戏流式传输能够有效运行(例如,低延迟和高质量)的最小能力测量或要求的情况下,可以在一个或更多个客户端设备102处生成记录,并且一个或更多个流媒体设备104和/或一个或更多个辅助设备106可将信号发送到一个或更多个客户端设备102,以使一个或更多个客户端设备102生成记录。
现在参考图4,图4是示出用于在游戏流式传输环境中生成亮点的方法400的另一流程图。在框B402处,方法400包括:从流媒体设备接收游戏流。例如,一个或更多个客户端设备102可从一个或更多个流媒体设备104接收游戏流。
在框B404处,方法400包括:在客户端设备的显示器上显示游戏流的第一实例。例如,游戏流的第一实例可显示在一个或更多个客户端设备102的显示器上。
在框B406处,方法400包括:将游戏流的第二实例的至少部分存储在缓冲区中。例如,游戏流的第二实例可存储在一个或更多个客户端设备102的缓冲区130中。
在框B408处,方法400包括:接收生成游戏流的第二实例的至少部分的记录的请求。例如,响应于一个或更多个客户端设备102上的用户输入(例如,对热键),响应于由游戏分析应用程序124对游戏流的分析和/或响应于系统100的另一动作或确定,接收生成亮点的指示。
在框B410处,方法400包括:使用缓冲区中游戏流的第二实例的至少部分生成记录。例如,可以复制存储在缓冲区130中的游戏流的第二实例中的至少一些以生成亮点(例如快照、记录、短片等)。
在框B412处,方法400包括:将记录存储在客户端设备上的数据存储中。例如,记录(例如,亮点)可以存储在一个或更多个客户端设备102的一个或更多个数据存储116中。
图5为适合用于实现本公开的一些实施例的示例计算环境的框图。计算设备500可包括直接或间接耦合以下设备的总线502:内存504、一个或更多个中央处理单元(CPU)506、一个或更多个图形处理单元(GPU)508、通信接口510、输入/输出(I/O)端口512、输入/输出组件514、电源516和一个或更多个呈现组件518(例如一个或更多个显示器)。
尽管图5的各个框被示出为经由总线502与线路连接,但这不意图是限制,只是为了清晰起见。例如,在某些实施例中,呈现组件518(如显示设备)可被视为I/O组件514(例如,如果显示器是触摸屏)。作为另一示例,一个或更多个CPU 506和/或一个或更多个GPU508可包括内存(例如,除了一个或更多个GPU 508、一个或更多个CPU 506和/或其他组件外,内存504还可表示存储设备)。换句话说,图5的计算设备只是说明性的。没有区分诸如“工作站”、“服务器”、“笔记本电脑”、“台式电脑”、“平板电脑”、“客户端设备”、“移动设备”、“手持设备”、“游戏机”、“电子控制单元(ECU)”、“虚拟现实系统”和/或其他设备或系统类型等类别,因为所有类别都在图5的计算设备范围内考虑。
总线502可以表示一个或更多个总线,例如地址总线、数据总线、控制总线或其组合。总线502可以包括一个或更多个总线类型,例如行业标准架构(ISA)总线、扩展行业标准架构(EISA)总线、视频电子标准协会(VESA)总线、外围组件互连(PCI)总线、外围组件互连快速(PCIe)总线和/或其他类型的总线。
内存504可以包括各种计算机可读介质中的任何一种。计算机可读介质可以是计算设备500可以访问的任何可用介质。计算机可读介质可包括易失性和非易失性的介质以及可移除和不可移除的介质。例如且非限制性地,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性的介质和/或可移除和不可移除的介质,所述信息诸如计算机可读指令、数据结构、程序模块和/或其他数据类型。例如,内存504可以存储计算机可读指令(例如,其表示一个或更多个程序和/或一个或更多个程序元素),诸如操作系统。计算机存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或其他内存技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或可用于存储所需信息且可由计算设备500访问的任何其他介质。如本文所用,计算机存储介质本身并不包含信号。
通信介质可以包含计算机可读指令、数据结构、应用程序和/或调制数据信号(诸如载波或其他传输机制)中的其他数据类型,并包括任何信息传递介质。术语“调制数据信号”可以指具有一个或更多个特性设置或以将信息编码到信号中的方式改变的信号。举例来说,非限制性地,通信介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频、红外和其他无线介质之类的无线介质。上述任何的组合也应包括在计算机可读介质的范围内。
一个或更多个CPU 506可配置为执行计算机可读指令,以控制计算设备500的一个或更多个组件,以执行本文所述的一个或更多个方法和/或过程。一个或更多个CPU 506中的每个均可以包括一个或更多个核心(例如,一个、二个、四个、八个、二十八个、七十二个等),这些核心能够同时处理众多软件线程。根据实现的计算设备500的类型,一个或更多个CPU 506可以包括任何类型的处理器,并可包括不同类型的处理器(例如,用于移动设备的核心较少的处理器和用于服务器的核心较多的处理器)。例如,根据计算设备500的类型,处理器可以是使用精简指令集计算(RISC)实现的ARM处理器,也可以是使用复杂指令集计算(CISC)实现的x86处理器。除一个或更多个微处理器或补充协处理器(例如数学协处理器)之外,计算设备500还可以包括一个或更多个CPU506。
计算设备500可以使用一个或更多个GPU 508来渲染图形(例如3D图形)。一个或更多个GPU 508可包括数百或数千个核心,这些核心能够同时处理数百或数千个软件线程。一个或更多个GPU 508可以响应于渲染命令(例如,经由主机接口从一个或更多个CPU 506接收的渲染命令)生成用于输出图像的像素数据。一个或更多个GPU 508可包括用于存储像素数据的图形内存,如显示内存。显示内存可以作为内存504的部分而被包括。一个或更多个GPU 508可以包括两个或更多个并行运行的GPU(例如,通过链接)。当组合在一起时,每个GPU 508可生成用于输出图像的不同部分或用于不同的输出图像的像素数据(例如,第一GPU用于第一图像,第二GPU用于第二图像)。每个GPU可以包括其自己的内存,也可以与其他GPU共享内存。
在计算设备500不包括GPU 508的示例中,一个或更多个CPU 506可以用来渲染图形。
通信接口510可以包括一个或更多个接收器、发射器和/或收发器,其使计算设备500能够通过电子通信网络(包括有线和/或无线通信)与其他计算设备通信。通信接口510可以包括用于使能通过任意数量的不同网络进行通信的组件和功能,例如无线网络(例如Wi-Fi、Z波、蓝牙、蓝牙LE、ZigBee等)、有线网络(例如通过以太网通信)、低功耗广域网(例如LoRaWAN、SigFox等)和/或互联网等。
I/O端口512可使计算设备500能够在逻辑上耦合到其他设备,包括I/O组件514、一个或更多个呈现组件518和/或其他组件,其中一些组件可内置于(例如,集成在)计算设备500中。说明性的I/O组件514包括麦克风、鼠标、键盘、操纵杆、游戏键盘、游戏控制器、卫星天线、扫描仪、打印机、无线设备等。I/O组件514可提供自然用户界面(NUI),其用于处理用户生成的空中手势、语音或其他生理输入。在某些情况下,输入可被发送到适当的网络元件以进行进一步处理。NUI可以实现与计算设备500的显示器相关联的语音识别、手写笔识别、面部识别、生物特征识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪以及触摸识别(如下更详细地所述)的任何组合。计算设备500可包括深度相机,如立体相机系统、红外相机系统、RGB相机系统、触摸屏技术以及这些的组合,以用于手势检测和识别。此外,计算设备500可包括加速度计或陀螺仪(例如,作为惯性测量单元(IMU)的一部分),其使得能够检测运动。在一些示例中,加速度计或陀螺仪的输出可以被计算设备500用于渲染沉浸式增强现实或虚拟现实。
电源516可包括硬接线电源、电池电源或其组合。电源516可为计算设备500供电,以使计算设备500的组件能够运行。
一个或更多个呈现组件518可以包括显示器(例如监视器、触摸屏、电视屏幕、平视显示器(HUD)、其他显示器类型或其组合)、扬声器和/或其他呈现组件。一个或更多个呈现组件518可以从其他组件(例如一个或更多个GPU 508、一个或更多个CPU506等)接收数据,并输出数据(例如,作为图像、视频、声音等)。
本公开可在计算机代码或机器可用指令的一般上下文中进行描述,包括由计算机或其他机器(例如个人数据助理或其他手持设备)执行的计算机可执行指令(诸如应用程序)。通常,应用程序(包括例程、程序、对象、组件、数据结构等)是指执行特定任务或实现特定抽象数据类型的代码。本公开可以在各种系统配置中实践,包括手持设备、消费类电子产品、通用计算机、更特种计算设备等。本公开也可以在分布式计算环境中实践,其中由通过通信网络链接的远程处理设备执行任务。
如本文所用,针对两个或更多个元素的记载“和/或”应解释为指仅一个元素或元素的组合。例如“元素A、元素B和/或元素C”可以包括仅元素A,仅元素B,仅元素C,元素A和元素B,元素A和元素C,元素B和元素C,或元素A、B和C。此外,“元素A或元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或元素A中的至少一个和元素B中的至少一个。
本公开的主题在本文中进行了具体描述以满足法定要求。但是,说明书本身并不旨在限制本公开的范围。相反,发明者已经考虑到,所要求保护的主题还可以其他方式体现,以结合其他现有或未来的技术包括与本文件中描述的步骤类似的不同步骤或步骤组合。此外,尽管本文可使用术语“步骤”和/或“框”来表示所采用方法的不同元素,但除非明确地描述各个步骤的顺序,否则不应将术语解释为暗示本文所公开的各个步骤之间或之中的任何特定顺序。

Claims (20)

1.一种方法,包括:
在流媒体设备处渲染游戏实例;
在所述流媒体设备处将所述游戏实例编码到游戏流中;
将所述游戏流发送到客户端设备以在所述客户端设备处显示;
接收捕获所述游戏流的至少一部分作为记录的指示;
分析与所述客户端设备相对应的系统信息,以确定所述客户端设备和所述流媒体设备之间记录任务的分配;
至少部分地基于所述记录任务的分配,选择执行以下中的至少一个:
在所述流媒体设备处生成所述记录;或
将信号发送到所述客户端设备以使所述客户端设备生成所述记录。
2.根据权利要求1所述的方法,其中:
当所述系统信息指示在所述客户端设备处生成所述记录将达到至少性能阈值水平时,选择执行所述将信号发送到所述客户端设备以使所述客户端设备生成所述记录;以及
当所述系统信息指示在所述客户端设备处生成所述记录不会达到至少所述性能阈值水平时,选择执行所述在所述流媒体设备处生成所述记录。
3.根据权利要求1所述的方法,其中至少部分地基于游戏流分析代理确定在所述游戏实例中发生记录事件,从所述游戏流分析代理接收所述指示。
4.根据权利要求1所述的方法,其中至少部分地基于从所述客户端设备接收输入以生成所述记录,从所述客户端设备接收所述指示。
5.根据权利要求1所述的方法,其中所述系统信息包括以下项中的至少一项:存储容量、编码能力、处理能力、所述记录设置或网络信息。
6.根据权利要求1所述的方法,其中至少部分地基于所述系统信息由所述客户端设备或所述流媒体设备将游戏流数据保持在缓冲区中,以及所述由所述客户端设备或所述流媒体设备生成所述记录包括使用至少部分来自所述缓冲区的所述游戏流的至少部分。
7.根据权利要求1所述的方法,还包括:
将所述游戏流发送到辅助设备;
其中选择执行来自以下中的至少一个:
在所述流媒体设备处生成所述记录;或
将信号发送到所述客户端设备以使所述客户端设备生成所述记录;
在所述辅助设备处生成所述记录;或
将信号发送到所述辅助设备以使在所述辅助设备处生成所述记录。
8.根据权利要求1所述的方法,还包括:
至少部分地基于所述系统信息,在所述流媒体设备处生成与所述渲染所述游戏实例相独立的补充图形叠加,所述补充图形叠加被配置为使得能够控制所述游戏流的一个或更多个记录特征;以及
对所述游戏流中的所述补充图形叠加进行编码,
其中所述游戏流包括所述图形叠加。
9.根据权利要求8所述的方法,还包括:
接收与和所述补充图形叠加的至少一个用户界面元素的交互相对应的输入的另一指示;以及
至少部分地基于所述另一指示,执行生成所述记录的动作。
10.一种用于生成游戏流中的游戏实例的记录的系统,包括:
在流媒体设备上执行的流媒体模块,所述流媒体模块被配置为在流媒体设备上生成所述游戏流中的所述游戏实例,对所述游戏流中的所述游戏实例进行编码以生成经编码的游戏实例,并将所述游戏流中的所述经编码的游戏实例发送到远离所述流媒体设备的客户端设备;
在具有相关联的系统信息的所述客户端设备上执行的客户端模块,所述客户端模块被配置为在所述客户端设备处接收所述游戏流中的所述经编码的游戏实例;以及
配置为接收指示以生成所述记录的委托代理,并且至少部分地基于所述系统信息和所述指示,动态地分配记录任务以用于在所述客户端设备、所述流媒体设备或所述客户端设备和所述流媒体设备的组合之间生成所述记录。
11.根据权利要求10所述的系统,其中所述委托代理被配置为在所述流媒体设备、所述客户端设备或所述客户端设备和所述流媒体设备以外的辅助设备中的至少一个上执行。
12.根据权利要求11所述的系统,其中所述辅助设备是实况媒体设备,其被配置为接收所述游戏流中的所述游戏实例的至少部分以及将其发送到多个查看设备。
13.根据权利要求10所述的系统,其中所述客户端模块还被配置为使得在所述客户端设备的显示器上显示所述游戏流。
14.根据权利要求10所述的系统,还包括游戏分析模块,所述游戏分析模块被配置为确定发生记录事件并生成用于生成所述记录的所述指示,所述游戏分析模块被配置为在所述客户端设备、所述流媒体设备或辅助设备中的至少一个上执行。
15.一种方法,包括:
在流媒体设备和远离所述流媒体设备的客户端设备之间发起云游戏会话,所述客户端设备包括用于在所述云游戏会话期间向游戏提供游戏玩法输入的输入设备;
在所述云游戏会话期间从所述流媒体设备接收所述游戏的游戏流,至少部分地基于所述游戏玩法输入渲染所述游戏流,并在所述接收之前在所述流媒体设备处捕获所述游戏流;
在客户端设备的显示器上显示所述游戏流的第一实例;
将所述游戏流的第二实例的至少部分存储在缓冲区中;
接收生成存储在所述缓冲区中的所述游戏流的所述第二实例的至少部分的记录的请求的指示;并且至少部分地基于所述指示,使用来自所述缓冲区的所述游戏流的所述第二实例的至少部分来生成所述记录;以及
将所述记录存储在所述客户端设备上的数据存储中。
16.根据权利要求15所述的方法,还包括:
从所述输入设备接收表示请求的第一输入,所述请求为显示所述游戏流的所述第一实例的显示的补充图形叠加,所述补充图形叠加与所述云游戏会话中的记录生成特征相关联;以及
至少部分地基于所述请求,在客户端应用程序内的显示器上显示所述补充图形叠加,所述客户端应用程序与在所述显示器上显示所述游戏流的所述第一实例的游戏应用程序相独立。
17.根据权利要求15所述的方法,还包括:
从所述输入设备接收表示请求的第一输入,所述请求为显示所述游戏流的所述第一实例的显示的补充图形叠加,所述补充图形叠加与所述云游戏会话内的记录生成特征相关联;
将所述请求发送到所述流媒体设备;
继续从所述流媒体设备接收所述游戏流,在发送所述请求后的至少一段时间内所述游戏流包括所述补充图形叠加,所述流媒体设备与渲染所述游戏流的游戏相独立地渲染所述补充图形叠加。
18.根据权利要求15所述的方法,还包括:
显示覆盖在所述游戏流的所述第一实例的显示上的补充图形叠加,所述图形叠加包括与所述生成所述记录相关联的多个可选界面元素。
19.根据权利要求18所述的方法,还包括:
接收对所述多个可选界面元素中的一个的选择,
其中接收所述指示至少部分地基于所述选择。
20.根据权利要求15所述的方法,其中所述指示从所述流媒体设备或所述流媒体设备和所述客户端设备以外的辅助设备中的至少一个接收,并且其中所述指示响应于所述流媒体设备或所述辅助设备中的至少一个确定所述游戏实例中已发生记录事件而生成。
CN202010218614.2A 2019-06-07 2020-03-25 动态分配计算资源以在云游戏系统中生成亮点 Pending CN112054986A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/435,156 US11938406B2 (en) 2019-06-07 2019-06-07 Dynamic allocation of compute resources for highlight generation in cloud gaming systems
US16/435,156 2019-06-07

Publications (1)

Publication Number Publication Date
CN112054986A true CN112054986A (zh) 2020-12-08

Family

ID=73460185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010218614.2A Pending CN112054986A (zh) 2019-06-07 2020-03-25 动态分配计算资源以在云游戏系统中生成亮点

Country Status (3)

Country Link
US (2) US11938406B2 (zh)
CN (1) CN112054986A (zh)
DE (1) DE102020111960A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113230665A (zh) * 2021-05-21 2021-08-10 珠海金山网络游戏科技有限公司 资源分配方法及装置
CN114866794A (zh) * 2022-04-28 2022-08-05 深圳市商汤科技有限公司 任务管理方法及装置、电子设备和存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11938406B2 (en) * 2019-06-07 2024-03-26 Nvidia Corporation Dynamic allocation of compute resources for highlight generation in cloud gaming systems
JP7254676B2 (ja) * 2019-10-17 2023-04-10 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および動画像編集方法
US11141658B2 (en) * 2020-01-30 2021-10-12 Dell Products L.P. Gameplay event detection and gameplay enhancement operations
US20220188152A1 (en) * 2020-12-16 2022-06-16 Marvell Asia Pte Ltd System and Method for Consumerizing Cloud Computing

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1881226A (zh) * 2005-06-16 2006-12-20 刘建军 一种适合移动通信环境的单机版以及网络游戏方法和计算力服务
US20100304860A1 (en) * 2009-06-01 2010-12-02 Andrew Buchanan Gault Game Execution Environments
US20120184373A1 (en) * 2010-12-24 2012-07-19 Kim I-Gil Apparatus and method for providing a game service in cloud computing environment
US20140228108A1 (en) * 2013-02-12 2014-08-14 Microsoft Corporation Dynamic allocation of computing resources in remote gaming environment
CN106237614A (zh) * 2015-06-15 2016-12-21 索尼互动娱乐美国有限责任公司 采撷对预先记录的游戏玩法的异步评论
US20170087464A1 (en) * 2015-09-30 2017-03-30 Sony Interactive Entertainment America Llc Multi-user demo streaming service for cloud gaming
CN107003983A (zh) * 2014-11-14 2017-08-01 艾普斯卓公司 配置网络

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9061207B2 (en) * 2002-12-10 2015-06-23 Sony Computer Entertainment America Llc Temporary decoder apparatus and method
US9032465B2 (en) * 2002-12-10 2015-05-12 Ol2, Inc. Method for multicasting views of real-time streaming interactive video
US8495678B2 (en) * 2002-12-10 2013-07-23 Ol2, Inc. System for reporting recorded video preceding system failures
KR101595075B1 (ko) * 2012-02-14 2016-02-17 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 클라우드 기반 게임 시스템에서의 부하 균형
TW201338537A (zh) * 2012-03-09 2013-09-16 Ind Tech Res Inst 動態派工錄影系統與方法
US9278288B2 (en) * 2014-01-31 2016-03-08 Google Inc. Automatic generation of a game replay video
US10203762B2 (en) * 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US10315108B2 (en) * 2015-08-19 2019-06-11 Sony Interactive Entertainment America Llc Local application quick start with cloud transitioning
US9782678B2 (en) * 2015-12-06 2017-10-10 Sliver VR Technologies, Inc. Methods and systems for computer video game streaming, highlight, and replay
US11794108B2 (en) * 2016-06-13 2023-10-24 Sony Interactive Entertainment LLC Method and system for saving a snapshot of game play and used to begin later execution of the game play by any user as executed on a game cloud system
US10179290B2 (en) * 2016-07-21 2019-01-15 Sony Interactive Entertainment America Llc Method and system for accessing previously stored game play via video recording as executed on a game cloud system
US10661169B1 (en) * 2017-03-06 2020-05-26 Amazon Technologies, Inc. Game content playback
EP3871744B1 (en) * 2018-03-22 2023-10-04 Google LLC Methods and systems for rendering and encoding content for online interactive gaming sessions
US11077364B2 (en) * 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
US11224804B2 (en) * 2018-07-17 2022-01-18 Roblox Corporation Personalized remote game update capture and recording system for multi-player online games
US11938406B2 (en) * 2019-06-07 2024-03-26 Nvidia Corporation Dynamic allocation of compute resources for highlight generation in cloud gaming systems

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1881226A (zh) * 2005-06-16 2006-12-20 刘建军 一种适合移动通信环境的单机版以及网络游戏方法和计算力服务
US20100304860A1 (en) * 2009-06-01 2010-12-02 Andrew Buchanan Gault Game Execution Environments
US20120184373A1 (en) * 2010-12-24 2012-07-19 Kim I-Gil Apparatus and method for providing a game service in cloud computing environment
US20140228108A1 (en) * 2013-02-12 2014-08-14 Microsoft Corporation Dynamic allocation of computing resources in remote gaming environment
CN107003983A (zh) * 2014-11-14 2017-08-01 艾普斯卓公司 配置网络
CN106237614A (zh) * 2015-06-15 2016-12-21 索尼互动娱乐美国有限责任公司 采撷对预先记录的游戏玩法的异步评论
US20170087464A1 (en) * 2015-09-30 2017-03-30 Sony Interactive Entertainment America Llc Multi-user demo streaming service for cloud gaming

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113230665A (zh) * 2021-05-21 2021-08-10 珠海金山网络游戏科技有限公司 资源分配方法及装置
CN113230665B (zh) * 2021-05-21 2023-08-29 珠海金山数字网络科技有限公司 资源分配方法及装置
CN114866794A (zh) * 2022-04-28 2022-08-05 深圳市商汤科技有限公司 任务管理方法及装置、电子设备和存储介质

Also Published As

Publication number Publication date
DE102020111960A1 (de) 2020-12-10
US20240173631A1 (en) 2024-05-30
US11938406B2 (en) 2024-03-26
US20200384369A1 (en) 2020-12-10

Similar Documents

Publication Publication Date Title
CN112054986A (zh) 动态分配计算资源以在云游戏系统中生成亮点
JP7280057B2 (ja) ビデオを記録および再生するシステムおよび方法
US11752429B2 (en) Multi-user demo streaming service for cloud gaming
US12011660B2 (en) Augmenting video games with add-ons
US11229839B2 (en) Save game load time reduction for cloud gaming
US11574654B2 (en) Automatic generation of video playback effects
EP3701489B1 (en) Memory management in gaming rendering
JP6310073B2 (ja) 描画システム、制御方法、及び記憶媒体
US10284753B1 (en) Virtual reality media content generation in multi-layer structure based on depth of field
US9455931B2 (en) Load balancing between processors
US9549152B1 (en) Application content delivery to multiple computing environments using existing video conferencing solutions
US9370718B2 (en) System and method for delivering media over network
US20180199041A1 (en) Altering streaming video encoding based on user attention
US20190250773A1 (en) Methods And Systems For Providing Shortcuts For Fast Load When Moving Between Scenes In Virtual Reality
KR20160143778A (ko) 비디오 게임에 있어서 관심 영역에 따른 힌트를 이용한 비디오 코딩
JP6710201B2 (ja) メディア・コンテンツのインテリジェントなストリーミング
JP6379107B2 (ja) 情報処理装置並びにその制御方法、及びプログラム
US9497238B1 (en) Application control translation
WO2024064614A1 (en) Ai player model gameplay training and highlight review
KR20160131827A (ko) 클라우드 스트리밍 서비스 시스템, 알파 레벨을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
JP2016509486A (ja) ネットワークを介して送信するためのビデオゲーム画面画像の生成及び符号化を行う方法及びシステム
CN115988159A (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