CN106714920A - 对媒体内容的智能流传输 - Google Patents

对媒体内容的智能流传输 Download PDF

Info

Publication number
CN106714920A
CN106714920A CN201580050309.4A CN201580050309A CN106714920A CN 106714920 A CN106714920 A CN 106714920A CN 201580050309 A CN201580050309 A CN 201580050309A CN 106714920 A CN106714920 A CN 106714920A
Authority
CN
China
Prior art keywords
game
asset
prefetched
context
prefetch
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.)
Granted
Application number
CN201580050309.4A
Other languages
English (en)
Other versions
CN106714920B (zh
Inventor
J·R·贾斯提斯
E·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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106714920A publication Critical patent/CN106714920A/zh
Application granted granted Critical
Publication of CN106714920B publication Critical patent/CN106714920B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • 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
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an MPEG-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/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • 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/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • 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/10Protocols in which an application is distributed across nodes in the network
    • 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/5681Pre-fetching or pre-delivering data based on network characteristics

Abstract

在各实施例中,提供了用于基于游戏内容的交互性水平来智能地流传输游戏内容的方法和系统。游戏内容的交互性水平使用对交互性水平进行分类的技术来被确定。交互性水平针对游戏内容的不同组成部分来被定义。流传输技术与具有特定交互性水平的游戏内容相关联。边缘计算基础结构可促进智能流传输,其中被分类为预取游戏资产或流游戏资产的游戏资产与预取指令相关联。预取指令从游戏服务器被传递到游戏平台,以指示游戏平台在预取游戏资产在其中被使用的预期的游戏上下文之前将该预取游戏资产预取到边缘计算基础结构。在预期的游戏上下文期间,资产被检索以供在游戏平台处输出。

Description

对媒体内容的智能流传输
背景
流传输媒体内容一般指在由内容递送网络提供的同时被终端用户持续接收并被呈现给终端用户的媒体内容。内容递送网络一般指被部署在跨因特网的多个数据中心中用于支持交互式和非交互式媒体内容的媒体流传输的大型分布式服务器系统。交互式内容包括在游戏服务器上被执行并被发送到游戏平台(例如,机顶盒、手持式设备、嵌入在电视机内的计算设备、视频游戏控制台)的视频游戏。非交互式内容包括视频(例如,电影和电视节目)和音频(例如,音乐)。在实践中,内容递送网络提供者可从内容提供者(例如,媒体公司)获得报酬来将他们的交互式和非交互式媒体内容递送给终端用户。支持流传输内容的体系架构和技术针对交互式和非交互式媒体内容可不同地起作用。非交互式媒体内容对于特定用户而言不是唯一的,由此,媒体内容可被流传输并被主存在数据中心服务器(例如,边缘服务器)中,使得媒体内容在被终端用户请求时不必直接从内容提供者的网络发送。例如,当用户作出对非交互式内容的请求时,非交互式内容可存在于对于用户而言本地的多个边缘服务器上,并且用户请求被导向到本地地具有该内容的优化的服务器。由此,非交互式内容可具有提升的服务质量并具有较少的基础结构花费。
相反,由于交互式媒体内容的个性化的性质,内容提供者针对交互式媒体内容而言不能像内容提供者针对非交互式媒体那样来利用边缘服务器。例如,中央游戏服务器必须渲染并执行游戏玩耍,并接着在对于该用户而言唯一的游戏流传输会话中接收来自用户的交互式反馈。由此,游戏流传输必须计及与提供流传输游戏相关联的基础结构花费、带宽要求以及延迟时间。传统的游戏设计和游戏流传输方法和系统没能提供用于解决流传输交互式内容的限制的方式。
概述
提供本概述以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在独立地用于帮助确定所要求保护的主题的范围。
本发明的各实施例提供了对游戏内容的智能流传输。对游戏内容的智能流传输可包括基于游戏内容的所标识的交互性水平来流传输游戏内容的变体和组合。游戏内容的交互性水平可基于使用若干不同的技术的游戏内容的交互性的分类来确定,诸如基于游戏开发者的分类、基于玩耍测试的分类或基于机器学习的分类。交互性水平可针对游戏内容的不同组成部分(诸如,各个游戏上下文或游戏内容的特定游戏资产)来定义。至少部分基于游戏组成部分的交互性水平来流传输游戏内容允许使用被不同地应用于具有特定交互性水平的游戏内容的流传输技术。具体而言,与高度交互内容相关联的游戏流传输限制可基于游戏内容上下文的所标识的低交互性水平而被缓解。
在一个实施例中,被标识为预定的交互性水平的游戏内容可被预取以提升游戏流传输。内容递送网络提供者可促进对经预取的内容的流传输。具体而言,视频游戏可基于将游戏资产分类为预取游戏资产或流游戏资产来设计,使得预取指令被开发。从游戏服务器被传递到游戏平台的预取指令,指示游戏平台在预期的游戏上下文(预取游戏资产在其中被使用)之前将该预取游戏资产预取到边缘计算基础结构。预取游戏资产从游戏服务器被预取到边缘计算基础结构。在预期的游戏上下文的发生之际,预取游戏资产从边缘计算基础结构中被下载,同时流游戏资产从游戏服务器被流传输,两者被组合并被提供以供在游戏平台处输出。
附图简述
下面参考附图详细描述本发明,其中:
图1是适用于实现本发明的各实施例的示例性计算环境的框图;
图2A-B是示出其中可以使用本发明的各实施例的示例性网络环境的框图;
图3是示出根据本发明的各实施例的用于对游戏内容的智能流传输的方法的示意图;
图4是示出根据本发明的各实施例的用于对游戏内容的智能流传输的方法的示意图;
图5是示出根据本发明的各实施例的用于对游戏内容的智能流传输的方法的流程图;
图6是示出根据本发明的各实施例的用于对游戏内容的智能流传输的方法的流程图;
图7是示出根据本发明的各实施例的用于对游戏内容的智能流传输的方法的流程图;以及
图8是示出根据本发明的各实施例的用于预取游戏内容的方法的流程图。
详细描述
此处用细节来描述本发明的各实施例的主题以满足法定要求。然而,描述本身并非旨在限制本专利的范围。相反,发明人已构想所要求保护的主题还可结合其它当前或未来技术以其它方式来实施,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。此外,尽管术语“步骤”和/或“框”可在此处用于指示所采用的方法的不同元素,但除非而且仅当明确描述了各个步骤的顺序时,术语不应被解释为意味着此处公开的各个步骤之中或之间的任何特定顺序。
出于本公开的目的,单词包括(“including)”具有与单词“包含(comprising)”一样广义的含义。另外,诸如一(“a)”和“一(an)”包括复数以及单数,除非另外相反地指明。这样,例如,“一个特征”的要求在存在一个或多个特征的情况下被满足。同样,术语“或”包括合取、析取及这两者(a或b由此包括a或b任一,以及a和b)。
流传输媒体内容一般指在由内容递送网络提供的同时被终端用户持续接收并被呈现给终端用户的媒体内容。内容递送网络一般指被部署在跨因特网的多个数据中心中用于支持媒体流传输的大型分布式服务器系统。内容递送网络提供者可促进交互式和非交互式媒体内容的流传输。交互式内容包括视频游戏,具体而言为在游戏服务器上被渲染并执行并被发送到游戏平台(例如,机顶盒、手持式设备、嵌入在电视机内的计算设备、视频游戏控制台)的视频游戏。非交互式内容可包括视频(例如,电影和电视节目)和音频(例如,音乐)。在实践中,内容递送网络提供者可从内容提供者(例如,媒体公司)获得报酬来将他们的交互式和非交互式媒体内容递送给终端用户。
支持流传输内容的体系架构和技术针对交互式和非交互式媒体内容可不同地起作用。非交互式媒体内容对于特定用户而言不是唯一的,由此,视频编码、缓冲器管理和错误纠正技术针对非交互式媒体和交互式媒体被不同地应用。具体而言,非交互式媒体内容可被流传输并被主存在数据中心服务器(例如,边缘服务器)中,使得媒体内容在被终端用户请求时不必直接从内容提供者的网络发送。边缘服务器提供边缘计算,边缘计算将应用、数据和计算能力服务从集中式点推离到网络的逻辑极端。边缘服务器促进减少延迟时间(由服务器和用户之间的距离导致的延迟)。因为由于光纤电缆被用于路由通信而使得因特网的速度受限于光的速度,所以距离是重要的。边缘服务器帮助缩短用户和服务器之间的距离。例如,当用户作出对非交互式内容的请求时,非交互式内容可存在于对于用户而言本地的多个边缘服务器上,并且用户请求被导向到本地地具有该内容的优化的服务器。由此,非交互式媒体内容可具有提升的服务质量并具有较少的基础结构花费。
相反,由于交互式媒体内容的个性化的性质,服务器针对交互式媒体内容而言不能以与服务器针对非交互式媒体相同的方式来利用视频编码、缓冲器管理、错误纠正和边缘服务器。例如,中央游戏服务器必须渲染并执行游戏玩耍并接着在对于该用户而言唯一的游戏流传输会话中接收来自用户的交互式反馈。由此,游戏流传输必须计及与提供流传输游戏相关联的附加的基础结构花费、带宽要求以及延迟时间。传统的游戏设计和游戏流传输方法和系统没能提供用于解决流传输交互式内容的限制的方式。
本发明的各实施例提供了用于智能流传输游戏内容的简单且高效的方法和系统。在高层次上,游戏内容的流传输可包括基于游戏内容的所标识的交互性水平来流传输游戏内容的变体和组合。游戏内容的交互性水平可基于使用若干不同的技术的游戏内容的交互性的分类来确定,诸如基于游戏开发者的分类、基于玩耍测试的分类或基于机器学习的分类。交互性水平可针对游戏内容的不同组成部分(诸如,各个游戏上下文或游戏内容的特定游戏资产)来定义。至少部分基于游戏组成部分的交互性水平来流传输游戏内容允许使用被不同地应用于具有特定交互性水平的游戏内容的流传输技术。具体而言,与高度交互内容相关联的游戏流传输限制可基于游戏内容上下文的所标识的低交互性水平而被缓解。
在一个实施例中,游戏流传输可包括用于针对游戏平台智能地预取游戏内容(例如,预取游戏资产)使得经预取的游戏内容可优化用户游戏流传输会话的预取指令。预取可一般指提前检索选择游戏内容,而非直接从游戏服务器流传输游戏内容。具体而言,被选择的游戏内容可在游戏服务器上被处理(例如,经渲染的图像或经准备的音频)并提前被流传输到辅助存储(例如,边缘计算基础结构),使得游戏内容在预期的游戏上下文之前被处理和可用。
作为背景,游戏流传输可包括被构想在本发明的各实施例中的若干不同技术。基本上,游戏流传输可在第一技术中起作用,使得游戏内容不被存储在用户的硬盘驱动中,并且游戏代码执行主要发生在进行执行操作的游戏服务器处。在替代实施例中,第二技术可被采用,其中游戏的某一小部分可被下载在例如高速缓存中以开始播放,而其他的游戏内容被下载到用户的设备。第三替代实施例可涉及第一技术和第二技术的全部或各部分的混合。不管游戏流传输的类型是什么,本发明的各实施例充分利用对游戏内容的预取(尤其如本文中描述的在边缘计算基础结构中)以改进游戏流传输体验。
本发明的各实施例可通过例如以下来有益地与支持游戏流传输的游戏平台工作:允许用户玩在游戏服务器处被执行但被下载在游戏平台处并在游戏平台处被本地地播放的游戏。具体而言,游戏的输出在游戏服务器上被执行并被发送到游戏平台(例如,机顶盒、手持式设备、嵌入在电视机内的计算设备、视频游戏控制台)。一些游戏平台可能不具有硬件图形支持,使得游戏内容的经渲染的图形被流传输到游戏平台。作为示例,大多数流传输游戏采用处理游戏内容的游戏服务器来操作。如本文中使用的,处理游戏内容或经处理的游戏内容可指被流传输到游戏平台的经渲染的游戏图像/图形和/或被准备的音频。经渲染的游戏图像和音频可相互同步。在这点上,游戏内容在游戏服务器上被执行和处理。
游戏流传输的架构是使得游戏服务器和游戏平台上的若干组件促进提供用户游戏会话。例如,该服务器可包括渲染图像或图形的渲染组件、压缩特殊数据(类似顶点缓冲区和纹理)的压缩组件、将所同步的经渲染的图像和音频发送到游戏平台的网络组件。在各实施例中,经渲染的图像和音频的经处理的游戏内容分别为经编码的视频和经编码的音频。经渲染的图像和音频可接着被单独地流传输,但基于共同时间戳来同步。
游戏平台包括用于处理游戏内容以供输出的若干不同组件。例如,接收组件可被配置为用于接收并处理经渲染的图像和音频并接着将它们输出给用户。附加地,媒体平台可包括允许用户与所输出的经处理的游戏内容进行交互的若干不同的控制特征(例如,遥控器或控制器)和接口特征(例如,显示接口、姿势接口)。由此,游戏平台处的交互组件可被配置为用于接收用户交互并将交互传递到游戏服务器,使得它们基于用户动作被处理来创建新的游戏内容。
本发明的各实施例旨在基于游戏内容的所标识的交互性水平来流传输游戏内容。游戏内容的交互性水平可基于使用若干不同的技术的游戏内容的交互性的分类来确定,诸如基于游戏开发者的分类、基于玩耍测试的分类或基于机器学习的分类。具体而言,游戏开发者可包括游戏上下文的交互性水平的元数据或其他指定。游戏开发者可使用API来标识游戏上下文(包括具体游戏上下文的特定场景或组成部分)的交互性水平。例如,交互性水平可以是游戏上下文的特定游戏资产的交互性水平。游戏资产在游戏上下文中越具有交互性,交互性水平的分类就越高,而游戏资产在游戏上下文中越不具有交互性,交互性水平的分类就越低。各个游戏还可与在智能流传输中使用的整体游戏交互性水平相关联。
基于玩耍测试的分类可包括在游戏过程期间标识游戏上下文和/或游戏资产的特定交互性。玩耍测试可包括基于人类的评估。例如,游戏测试者可将第一场景标识为具有高量的交互性资产,而将另一场景标识为具有低交互性水平的资产。基于对游戏内容的评估,运行时工具可被实现以在处理游戏以供流传输时将游戏内容的所标识的交互性水平作为因素。
此外,基于机器学习的分类可包括从与游戏内容的用户交互数据中习得在标识游戏内容的交互性水平时什么游戏上下文和/或游戏资产是交互的。具体而言,机器学习可被用于发现大量游戏玩耍数据集当中的模式,以在确定游戏内容的交互性水平时发现与交互式和非交互式游戏组成部分有关的未知特性。附加的计算工具还可促进标识游戏内容的交互性水平。计算工具可评估代码来查看什么组成部分需要交互输入来继续游戏处理。在确定游戏内容(包括游戏上下文和游戏资产)的交互性水平之际,游戏内容可至少部分基于组成部分的交互性水平来被流传输。
与高度交互内容相关联的游戏流传输限制可基于游戏内容上下文的所标识的低交互性水平而被缓解。游戏流传输限制一般指由于游戏内容的交互式性质而对游戏流传输的限定或约束。例如,视频编解码器或编码技术、缓冲器管理、差错纠正以及边缘基础结构使用技术均是可根据与特定游戏上下文相关联的交互性水平来被缓解的游戏流传输限制。流传输限制可被不同地应用于具有特定交互性水平的游戏内容。在各实施例中,游戏流传输限制的阈值可针对特定的交互性水平的指定来设置。由此,即使一游戏大致被标识为交互式媒体内容,标识游戏上下文的特定交互性水平依然允许变化的游戏限制被应用到游戏的具有不同交互性水平的各组成部分以提升用户游戏体验。
在一个实施例中,边缘基础结构可被用于促进预取游戏内容。预取游戏内容包括从与游戏服务器相关联的主存储中检索游戏内容(例如,预取游戏资产),在该游戏服务器中,游戏内容可被执行并被处理到与游戏平台相关联的辅助存储(例如,边缘计算基础机构)。具体而言,智能地预取游戏内容可指基于多个游戏流传输会话参数来处理游戏内容(即,渲染图像和准备音频),使得游戏内容在预期的游戏上下文之前从主存储中被检索并在辅助存储处变得可用。智能预取可与游戏流传输会话期间对其他经处理的游戏内容的主动流传输同时发生。通常,与游戏服务器相关联的主存储在地理上与辅助存储分布开来。在这点上,用户和预取游戏资产之间的距离被减少并提前可用。使得预取游戏资产更近并提前减少了延迟时间并允许附加处理特定预取游戏资产以用于改进的用户体验。
作为示例,背景音乐可被分类为预取游戏资产,使得在与游戏的触发预期的游戏上下文的用户交互之际,背景音乐就从游戏服务器处的主存储中被预取到辅助存储以支持预期的游戏上下文。背景音乐可在用户使用直接从主存储接收到的经处理的游戏内容来继续玩游戏的同时被下载。游戏玩耍可继续直到游戏的其中背景音乐被需要的预期的部分。在那时,辅助存储处的背景音乐与直接从主存储被流传输的经处理的游戏内容相组合。构想了,背景音乐可基于多个游戏流传输会话参数(例如,带宽、存储器缓冲区)被智能地预取,该多个游戏流传输会话参数可在用于盖写或确认用于检索预取游戏资产的预先编程的指令集的决定中被考虑。
预取游戏内容可通过游戏开发来促进。在游戏开发的游戏设计阶段期间,包括资产、规则、游戏玩法的设计、环境、故事线以及角色在内的游戏内容被定义。采用本发明的各实施例,游戏设计阶段还可包括标识可在游戏流传输会话期间的不同部分处被处理和预取的游戏内容。具体而言,游戏资产可被分类为预取游戏资产或流游戏资产,并与用于对预取游戏资产进行预取并提供预取游戏资产以供输出或将预取游戏资产与流游戏资产相组合以供输出的指令相关联。例如,音频预取游戏资产可以与视频流游戏资产一起输出,音频流游戏资产可与视频预取游戏资产一起输出,并且视频预取游戏资产可与视频流游戏资产相组合并一起输出。在本发明的各实施例中也构想了以上的任意其它的组合和变化。
此外,预期的游戏上下文可被定义并被用于触发对被智能地预取的一个或多个预取游戏资产的检索。预期的游戏上下文可触发对预取游戏资产的预取,使得预取游戏资产单独地或与流游戏资产相组合地在预期的游戏上下文发生之际被提供以供显示。游戏设计阶段可创造性地标识以下游戏资产:该游戏资产可被创建为预取游戏资产并被用在预期有游戏的可利用预取游戏资产的一部分时被预取的指令来编程。不同类型的指令可定义与预期的游戏上下文相关联的预取游戏资产包,并向游戏平台提供关于如何将预取游戏资产结合到游戏玩耍内的指导。在各实施例中,经编程的指令可具体地提供可被用于盖写或确认用于检索预取游戏资产的特定指令的游戏会话流传输参数的阈值。
支持游戏流传输的分布式网络基础结构的若干游戏流传输会话参数可在智能地预取游戏内容之前被参考。一般而言,分布式网络基础结构的游戏流传输会话参数可指网络基础结构的可变或恒定组分,其影响如何以及何时预取游戏内容。例如,游戏流传输会话参数可包括带宽、缓冲区存储器、用户交互式动作、预取游戏资产的大小、流游戏资产的大小和边缘计算基础结构。在这点上,游戏流传输会话参数在特定时间的值可影响预取游戏内容。作为示例,预取游戏资产可被分类为要在预期的游戏上下文期间被预取。在识别预期的游戏上下文之际,游戏服务器可指令游戏平台来下载多个预取游戏资产。
采用本发明的各实施例,预取还可包括游戏平台被配置为监视带宽并在发起对预取游戏资产的预取之前确定网络上可用的带宽达到预定的阈值。预定的阈值可被定义在指示游戏平台发起预取游戏内容的指令中。具体而言,下载预取游戏资产可基于游戏流传输会话的测量带宽被盖写或确认。换言之,预取游戏资产可在带宽达到预定的阈值时被预取。在一个场景中,游戏平台可确定带宽不足以进行下载预取游戏资产并在预期的游戏上下文期间直接从服务器流传输游戏资产。在这点上,即使游戏资产曾被分类为预取游戏资产,但这些游戏资产依然直接从游戏服务器被流传输。由此,对带宽的使用基于游戏流传输会话参数来针对游戏流传输会话被优化。
在另一示例中,在共享相同边缘计算基础结构的联合游戏会话中标识两个用户是可能的。即使游戏玩耍在游戏流传输会话期间对于每个用户的交互而言可能是唯一的,但是经预取的游戏内容可有益地被下载到要在用户之间被共享的边缘计算基础结构。例如,视频剪辑场景可被预取并与预期的游戏玩耍的一部分中的一对用户相关联地存储,这是因为两个用户共享相同的边缘计算基础结构并正在玩会在同一时间针对两个用户触发该剪辑场景的合作类视频游戏。由此,边缘计算基础结构可基于智能预取以与非交互式媒体内容类似的方式被用于交互式媒体内容。此外,附加的处理可用于预取游戏资产。预取游戏资产可被标识为以相较于其在预取游戏资产直接从游戏服务器被流传输的情况下被渲染而言更高的质量来被渲染。在这点上,预取资产的质量被提升,这是因为其在预期的上下文之前被预处理并变得可用并接着以更好的质量被输出。构想了本发明的新颖性特征的应用的其他变化和组合。
对被分类为预取的游戏内容的预取针对游戏流传输的若干不同方面提供了改进的功能性。例如,经处理的游戏内容不总是必须直接从游戏服务器被流传输;相反,选择游戏内容可在预期有游戏上下文之前被处理并在游戏流传输会话期间被智能地预取。此外,在游戏设计阶段期间,游戏开发者可创造性地设计游戏来支持本发明的各实施例的功能性。例如,在预期的游戏上下文期间对预取游戏资产和流游戏资产的标识以及关于如何在游戏期间使用这些资产的指令从根本上增强了游戏流传输。此外,可在游戏流传输会话期间提供资源的最大化,这是因为基于游戏流传输会话参数(例如,带宽)的可用性,预取游戏资产可在带宽可用时用附加的质量来被渲染或在带宽不可用时直接被流传输。附加地,边缘计算基础结构的计算资源可被充分利用来促进在游戏流传输中结合智能预取,使得预取游戏资产单独地或预取游戏资产与流游戏资产相组合地被提供以供在运行时输出。
在本发明的第一方面,提供存储计算机可使用指令的一个或多个计算机存储介质,该计算机可使用指令在被一个或多个计算设备使用时使得该一个或多个计算设备执行一种用于预取游戏内容的方法。该方法包括从分布式网络基础结构中的游戏服务器接收用于将预取游戏资产预取到边缘计算基础结构的预取指令。预取游戏资产在游戏流传输会话内被分类为预取游戏资产。该方法还包括对预取游戏资产进行预取。预取游戏资产在该预取游戏资产在其中被使用的预期的游戏上下文之前在游戏服务器处被处理。该方法还包括在预期的游戏上下文发生之际从边缘计算基础结构提供该预取游戏资产以供输出。
在本发明的第二方面,提供存储计算机可使用指令的一个或多个计算机存储介质,该计算机可使用指令在被一个或多个计算设备使用时使得该一个或多个计算设备执行一种用于预取游戏内容的方法。该方法包括将预取指令传送到分布式网络基础结构中的游戏平台;该预取指令指示游戏平台将预取游戏资产预取到边缘计算基础结构。预取游戏资产在游戏流传输会话内被分类为预取资产。该方法还包括接收来自游戏平台的预取请求,该预取请求基于参考至少一个游戏流传输会话参数来生成。该方法还包括处理预取游戏资产。该方法还包括将预取游戏资产传送到边缘计算基础结构,该预取游戏资产是直至预期的游戏上下文发生之前被存储在边缘计算基础结构处的经处理的游戏内容。
在本发明的第三方面,提供了一种用于预取游戏内容的计算机实现的方法。该方法包括标识游戏上下文以用于使用游戏中的游戏资产。该方法还包括将游戏资产标识为预取游戏资产。该方法还包括生成针对该游戏资产的预取指令,该预取指令定义游戏资产的功能。该方法包括将该预取指令嵌入到游戏的游戏代码内。该方法还包括在游戏代码的执行期间,将该预取指令传送到游戏平台,该预取指令指示游戏平台将游戏资产预取到边缘计算基础结构。该方法包括接收来自游戏平台的预取请求。该方法包括处理预取游戏资产。该方法包括将预取游戏资产传送到边缘计算基础结构。
在本发明的第四方面,提供了一种用于智能地流传输游戏内容的计算机实现的方法。该方法包括标识游戏内容的游戏上下文。该方法还包括用交互性水平来分类游戏上下文的至少一个组成部分。游戏上下文的交互性水平可基于使用若干不同的技术的游戏内容的交互性的分类来确定,诸如基于游戏开发者的分类、基于玩耍测试的分类或基于机器学习的分类。该方法还包括基于游戏上下文的交互性水平来流传输游戏上下文。至少部分基于游戏组成部分的交互性水平来流传输游戏内容允许使用被不同地应用于具有特定交互性水平的游戏上下文的流传输技术。
在简要描述了本发明各实施方式的概览之后,以下描述其中可实现本发明的各实施方式的示例性操作环境,以便为本发明各方面提供通用上下文。首先具体参考图1,示出了用于实现本发明的各实施方式的示例性操作环境,并将其概括地指定为计算设备100。计算设备100只是合适的计算环境的一个示例,并且不旨在对本发明的使用范围或功能提出任何限制。也不应将计算设备100解释为对所示出的任一组件或其组合有任何依赖性或要求。
本发明可以在由计算机或诸如个人数据助理或其他手持式设备之类的其他机器执行的计算机代码或机器可使用指令(包括诸如程序模块之类的计算机可执行指令)的一般上下文中描述。一般而言,包括例程、程序、对象、组件、数据结构等的程序模块指的是执行特定任务或实现特定抽象数据类型的代码。本发明可以在各种系统配置中实施,这些系统配置包括手持式设备、消费电子产品、通用计算机、专用计算设备等等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实施。
参考图1,计算设备100包括直接或间接耦合以下设备的总线110:存储器112、一个或多个处理器114、一个或多个呈现组件116、输入/输出(I/O)端口118、输入/输出(I/O)组件120和说明性电源122。总线110表示可以是一条或多条总线(诸如地址总线、数据总线、或其组合)。虽然为了清楚起见利用线条示出了图1的各框,但是实际上,各组件的轮廓并不是那样清楚,并且比喻性地来说,线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备等呈现组件认为是I/O组件。而且,处理器也具有存储器。可以认识到,这是本领域的特性,并且重申,图1的图示只是例示可结合本发明的一个或多个实施方式来使用的示例性计算设备。诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之间没有区别,它们全部都被认为是在图1的范围之内的并且被称为“计算设备”。
计算设备100通常包括各种计算机可读介质。计算机可读介质可以是可由计算设备100访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性与非易失性、可移动与不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或能用于存储所需信息且可以由计算设备100访问的任何其他介质。计算机存储介质将信号本身排除在外。
通信介质通常以诸如载波或其他传输机制之类的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传送介质。术语“经调制数据信号”是指使得以在信号中编码信息的方式来设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介质的范围内。
存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移动的,不可移动的,或两者的组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备100包括从诸如存储器112或I/O组件120等各种实体读取数据的一个或多个处理器。呈现组件116向用户或其他设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振荡组件等。I/O端口118允许计算设备100在逻辑上耦合至包括I/O组件120在内的其他设备,其中某些设备可以是内置的。说明性I/O组件120包括话筒、操纵杆、游戏板、扫描仪、硬/软按键、触摸屏显示器等等。
无线电124发送和/或接收无线电通信。计算设备100可以是适合于通过各种无线网络接收到的通信和介质的无线终端。计算设备100可通过无线协议(诸如码分多址“CDMA”、全球移动系统“GSM”,或时分多址“TDMA”等等)通信,以与其它设备(图1未示出)进行通信。无线电通信可以是近程连接、远程连接,或近程和远程无线电信连接两者的组合。当我们谈到“近”和“远”类型的连接时,我们不意指两个设备之间的空间关系。相反,我们通常称近程和远程为不同类别或类型的连接(即主要连接和次要连接)。近程连接包括到提供对无线通信网络的访问的设备(例如,移动热点)的连接,诸如使用802.11协议的无线局域网(WLAN)连接。到另一计算设备的蓝牙连接是近程连接的第二个示例。远程连接可包括使用CDMA、GPRS、GSM、TDMA和802.16协议的一个或多个的连接。
传感器126观察设备和环境特性和条件。示例传感器包括加速计、陀螺仪、GPS/位置、邻近度传感器、光传感器,和振动传感器。
现在转到图2,根据本发明的各实施例,包括可提供预取游戏内容的多个计算设备的游戏流传输基础结构200(在后文中称为“基础结构”)被示出。图2中示出的基础结构200是一个适当的基础结构的示例。基础结构200包括类似于如参考图1所描述的计算设备100的多个计算设备。基础结构200不应被解释为对其中所示出的任何单个模块/组件或各模块/组件的组合有任何依赖性或要求。其中的每个都可以包括单个设备或在分布式环境中协作的多个设备。例如,组件可包括被布置在分布式环境中的共同提供本文描述的功能的多个设备。另外,在网络环境内还可包括其他未示出的组件。
现在参考图2A,基础结构200可包括游戏服务器202、边缘计算基础结构204、游戏平台206和游戏开发服务器208,所有这些均在联网环境210中。网络可包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。因此,不在此进一步描述网络。
应当理解,此处所描述的这一和其他安排仅作为示例来阐明。附加于或替代于所示的安排和元素,可使用其他安排和元素(例如机器、接口、功能、次序、以及功能聚集),并且可完全省略某些元素。此外,本文所描述的许多元素是可以实现为分立或分布式组件或结合其他组件的、以及以任何合适的组合和在任何合适的位置的功能实体。此处被描述为由一个或多个实体执行的各种功能可由硬件、固件和/或软件来执行。例如,各种功能可由执行存储在存储器中的指令的处理器来执行。
游戏服务器202负责执行游戏以用于游戏流传输。一般而言,游戏被存储在游戏服务器202处,并且经处理的游戏内容经由边缘计算基础结构204被直接流传输212到游戏平台206。游戏执行还可基于被记录在游戏平台处的用户动作214,例如,控件和按钮按压被记录在游戏平台处并被传递216到游戏服务器。在基于用户动作214的进一步处理之际,游戏服务器可发送附加的经处理的游戏内容。以上描述的游戏流传输技术仅仅是示例性的,并且并不旨在限制本发明的实施例。构想了,本发明的创新特征可被应用到其他游戏流传输技术。
参考图2B,游戏服务器202可包括外部游戏流传输组件220。外部游戏流传输组件220可与游戏服务器202处的其他组件(未示出)一起操作来促进游戏的执行以用于游戏流传输。外部游戏流传输组件220负责基于游戏内容的交互性水平来管理游戏流传输。具体而言,游戏内容的不同组成部分(诸如,各个游戏上下文或游戏内容的特定游戏资产)可与一交互性水平相关联。例如,用户可以处于游戏前上下文、游戏中上下文或游戏后上下文中。游戏前上下文可以处于用于选择针对游戏流传输会话的游戏选项的菜单屏幕,游戏中上下文可以是游戏玩耍期间的某一点,并且游戏后上下文可以指游戏的某一阶段的结束处的剪辑场景。游戏上下文可一般地指代围绕游戏流传输会话的情况集合。在本发明的实施例中也构想了游戏上下文的任意变化和组合。
若干不同的技术(例如,经由分类组件260)可被用于确定不同游戏上下文和游戏资产的交互性水平,使得游戏上下文和游戏资产基于交互性水平被流传输。在基于交互性水平来流传输游戏内容的一个实施例中,外部游戏流传输组件220被配置成管理针对游戏服务器处的游戏资产的预取指令。外部游戏流传输组件202还可基于预期的游戏上下文来传递针对游戏资产的预取指令。游戏上下文的状态可定义一个或多个预期的游戏上下文,该一个或多个预期的游戏上下文触发外部游戏流传输组件来传递预取指令。
分类组件260可被实现以促进采用不同的交互性水平来对游戏内容进行分类。分类组件的位置旨在是示例性的;构想了,分类组件可被独立地实现或与游戏开发服务器208一起实现以实现属于其的功能。游戏内容的交互性水平可基于若干不同的技术来确定,诸如基于游戏开发者的分类、基于玩耍测试的分类或基于机器学习的分类。具体而言,游戏开发者可包括游戏上下文的交互性水平的元数据或其他指定。游戏开发者可使用API来标识游戏上下文(包括具体游戏上下文的特定场景或组成部分(例如,游戏资产))的交互性水平。基于玩耍测试的分类可包括在游戏玩耍期间标识游戏上下文和/或游戏资产的交互性。玩耍测试可包括基于人类的评估以及对游戏内容中游戏组成部分的交互性的分类。基于机器学习的分类可包括从与游戏内容的用户交互数据中习得在标识游戏内容的交互性水平时什么游戏上下文和/或游戏资产是交互的。在确定游戏内容(包括游戏上下文和游戏资产)的交互性水平之际,游戏内容可至少部分基于组成部分的交互性水平来被流传输。
外部游戏流传输组件220可使用流传输技术来生成流传输指令,这些流传输指令可被不同地应用到具有特定交互性水平的游戏内容。如讨论的,与高度交互内容相关联的游戏流传输限制可基于游戏内容上下文的所标识的低交互性水平而被缓解。例如,视频编解码器或编码技术、缓冲器管理、差错纠正以及边缘基础结构使用技术均是可根据与特定游戏上下文相关联的交互性水平来被缓解的游戏流传输限制。对游戏平台206的流传输指令可向游戏平台告知具有高交互性指定的游戏上下文,使得与高交互性游戏上下文相关联的缓冲器管理过程被用在游戏平台处。附加地,当低交互性水平针对游戏上下文被确定时,外部游戏流传输220可转而将预取指令传递到游戏平台以直接地(即,到游戏平台)或间接地(即,到边缘计算基础结构204)预取与低交互性水平相关联的游戏上下文。
在各实施例中,游戏流传输限制的阈值可针对特定的交互性水平的指定来设置。例如,缓冲器管理可用基于游戏上下文的交互性水平的阈值缓冲器大小来被定义。针对非交互视频内容的预处理时间也可用根据与视频内容相关联的交互性水平的用于预处理视频内容以供传输的阈值时间来被配置。本发明的各实施例构想了基于游戏上下文的交互性水平的指令和流传输限制的其他变体和组合。
参考图3,示出了示例性游戏上下文300简图。游戏上下文300包括四个上下文,主水平310、阿尔法320、贝塔330和伽玛340。游戏流传输会话可具有主水平310处的当前游戏上下文。基于附加因素(例如,用户交互或游戏编程),预期的上下文可以是阿尔法320。由此,触发用于预取与阿尔法320相关联的预取游戏资产的预取指令。此外,基于游戏玩耍期间与另一角色的交互,预期的上下文还可以是剪辑场景340。在这一点上,剪辑场景可在游戏上下文之前被预取为预取游戏资产,并且在游戏上下文的发生之际,剪辑场景就从边缘计算基础结构204处的辅助存储中下载。剪辑场景还可以在预取时间段期间被提供附加处理,使得剪辑场景以比其在以其他方式在游戏玩耍期间直接从游戏服务器202被流传输的情况下更高的质量来被渲染。
游戏开发服务器208负责提供218游戏流传输期间所执行的游戏代码。游戏开发服务器支持开发预取指令以及将预取指令嵌入到游戏代码内,使得预取指令可在游戏设计期间被有利地定义。在游戏开发的游戏设计阶段期间,包括资产、规则、游戏玩法的设计、环境、故事线以及角色在内的游戏内容被定义。采用本发明的各实施例,游戏设计阶段还可包括标识可在游戏流传输会话期间的不同部分处被处理和预取的游戏内容。具体而言,游戏资产可被分类为预取游戏资产或流游戏资产。参考图410,角色410可被定义为流游戏资产,而图形440被分类为预取游戏资产。附加地,剪辑场景420和背景430也可被分类为预取游戏资产,而游戏的其他元素直接从游戏服务器被流传输。
预取游戏资产可与用于对预取游戏资产进行预取的预取指令相关联。开发者可在游戏代码中嵌入指示外部游戏流传输组件220如何管理游戏服务器202处的预取指令的指令。指令可基于游戏上下文的状态来定义预期的游戏上下文,使得指令被传递来预取经处理的游戏内容。例如,如果当前游戏上下文是使得用户在距阶段结束处定义数量的动作内,则预期的游戏上下文可以是阶段结束的剪辑场景。在这点上,外部游戏流传输组件220可指示游戏平台下载预取游戏资产,使得经处理的游戏内容在预期的游戏上下文之前可用。游戏开发者还可定义预期的游戏上下文期间的预取游戏资产的使用。该使用可明确地定义预取游戏资产在其已经被预取到边缘计算基础结构之后被如何使用。使用可包括预取和流传输定时、仅显示游戏资产或与其他类型的游戏资产组合地显示游戏资产以及将预取游戏资产与游戏流传输会话的其他方面同步。例如,使用定义可支持同时地处理预取游戏资产与支持活动的游戏玩耍的当前游戏流传输会话元素。
预取指令还可包括针对游戏平台206的关于如何输出预取游戏资产的指示。具体而言,预取游戏资产可以与流游戏资产组合以用于输出。由此,可能存在输出预取指令中被捕捉的预取游戏资产的若干个不同变体。例如,音频预取游戏资产可以与视频流游戏资产一起输出,音频流游戏资产可与视频预取游戏资产一起输出,并且视频预取游戏资产可与视频流游戏资产相组合并一起输出。在本发明的各实施例中也构想了以上的任意其它的组合和变化。
继续参考图2B,预取指令可附加地被配置成计及游戏流传输会话参数250。一般而言,分布式网络基础结构的游戏流传输会话参数可指网络基础结构的影响如何以及何时预取游戏内容的可变或恒定组分。例如,游戏流传输会话参数250可包括带宽、缓冲区存储器、用户交互式动作、预取游戏资产的大小、流游戏资产的大小和边缘计算基础结构。预取指令用可被评估来确定盖写或确认预取指令的阈值来被配置。阈值基于游戏流传输会话参数和预取游戏资产来被定义以帮助游戏平台智能地对预取游戏资产进行预取。在这点上,某一预取游戏资产是否被预取可进一步基于评估游戏流传输会话参数250。
此外,专门的预取游戏资产可被定义以改进游戏玩耍的其他方面。预取游戏资产可被定义为破坏资产,使得该破坏资产被智能地用于在游戏玩耍期间修复破坏。例如,低带宽可导致图形中的毛刺或不良分辨率。替代于低分辨率图形直接从游戏服务器被流传输,已经被预取的破坏资产可被触发并输出。构想了,破坏资产可被交织到游戏上下文内以无缝地修复由游戏流传输会话参数中的限制(例如,低带宽)所导致的破坏。在本发明的各实施例中也构想了以上的任意其它的组合和变化。
边缘计算基础结构204负责将边缘计算提供到游戏流传输会话。边缘计算基础结构204提供远离游戏服务器202的游戏流传输处理。在这点上,游戏执行可依然在游戏服务器处进行;然而,经处理的游戏内容的至少各部分基于预取指令被传送。具体而言,边缘游戏流传输组件230被配置成预取游戏资产和处理流游戏资产。有时,对预取游戏资产的预取和对流游戏资产的处理可同时完成。预取游戏资产被预取以支持预期的游戏上下文,而流游戏资产支持当前游戏上下文。预取游戏资产基于在游戏服务器202和游戏平台206之间被传递的预取指令被预取。预取游戏资产接着基于来自游戏平台的指令从边缘计算基础结构204下载,以提供来自边缘计算基础结构处的辅助存储的预取游戏资产。
游戏平台206负责在游戏流传输会话期间处理游戏内容并提供经处理的游戏内容以供输出。内部游戏流传输组件240和附加组件(未示出)可促进游戏平台处的游戏流传输。具体而言,内部游戏流传输组件240被配置成处理针对各种游戏上下文的预取指令。预取指令可从具有外部游戏流传输组件220的游戏服务器202中接收到。预取指令包括关于如何预取针对预期的游戏上下文的游戏上下文的信息。预期的游戏上下文可基于游戏玩耍的当前游戏上下文。内部游戏流传输组件评估游戏指令并执行预取指令。评估预取指令可包括监视游戏会话参数。在各实施例中,内部游戏流传输组件240可自主地规定阈值和/或经编程的指令可具体地提供针对游戏会话流传输参数的阈值,这些游戏会话流传输参数的阈值可被用于盖写或确认用于检索预取游戏资产的特定指令。智能预取包括在将游戏流传输会话参数作为因素的同时检索预取游戏资产。智能预取可与在游戏流传输会话期间对其他经处理的游戏内容进行流传输的游戏流传输会话同时发生。在这点上,内部游戏流传输组件240可在作出要对预取游戏资产进行预取的确定之前评估当前可用带宽。在确定要对预取游戏资产进行预取之际,预取游戏资产被预取到边缘计算基础结构并在预期的游戏上下文期间被流传输。
内部游戏流传输组件240还负责输出经处理的游戏内容。经处理的游戏内容可以是流游戏资产和预取资产的不同变体和组合。预取指令可包括关于预取游戏资产的直接输出和组合输出的指令。例如,流传输游戏上下文的资产的一部分可以是预取游戏资产,而另一部分可以是流游戏资产。预取游戏资产可从边缘计算基础结构204中被下载,而流游戏资产直接从游戏服务器被流传输。用户动作可被接收并且游戏流传输处理的循环基于用户动作来继续。
现转至图5,提供了解说用于预取游戏内容的方法500的流程图。初始地在框510,从分布式网络基础结构中的游戏服务器接收用于预取游戏内容的预取指令。预取游戏资产在游戏流传输会话内被分类为预取游戏资产。预取游戏资产可在游戏开发阶段期间被分类为预取游戏资产。附加的游戏资产也可被分类为流游戏资产。在框520,预取游戏资产被预取。具体而言,预取游戏资产从与游戏服务器相关联的主存储中被预取并被存储在与边缘计算基础结构相关联的辅助存储中。预取游戏资产在该预取游戏资产在其中被使用的预期的游戏上下文之前在游戏服务器处被处理。预期的游戏上下文可以是多个游戏上下文中的一个,其中每个预期的游戏上下文是游戏玩耍中被在游戏流传输会话期间对于用户而言唯一的交互所触发的一部分。
预取游戏资产可基于参考触发预期的上下文的交互式动作以及基于交互式动作来确定要预取游戏资产来被预取。在各实施例中,预取游戏资产还可基于以下来被预取:监视并参考分布式网络基础结构的一个或多个游戏流传输会话参数并基于满足该一个或多个游戏流传输会话参数的阈值来确定要对预取游戏资产进行预取。构想了,预取指令在该一个或多个游戏流传输会话参数的阈值不被满足时可被盖写。在框530,预取游戏资产在预期的游戏上下文发生之际被提供以供输出。具体而言,预取游戏资产从边缘计算基础结构处的辅助存储中被下载并与来自主存储中的流游戏资产相组合。流游戏资产在游戏服务器处被直接执行和处理。
现转至图6,提供了解说用于预取游戏内容的方法600的流程图。初始地在框610,预取指令被传送到分布式网络基础结构中的游戏平台。预取指令指示游戏平台对预取游戏资产进行预取。预取游戏资产在游戏流传输会话内被分类为预取资产。预取指令还可与在游戏流传输会话内被分类为预取资产的流游戏资产相关联。在框620,从游戏平台接收到预取请求。预取请求基于参考至少一个游戏会话参数在游戏平台处被生成。在框630,预取游戏资产被处理。处理可包括以下中的至少一者:渲染图像和准备音频。在各实施例中,图像被渲染为视频并且音频被编码。在框640,预取游戏资产被传送。传送预取游戏资产包括将预取游戏资产从主存储流传输到辅助存储。辅助存储与边缘计算基础结构相关联,使得预取游戏资产在预期的游戏上下文发生之际从边缘计算基础结构中下载。
现转至图7,提供了解说用于预取游戏内容的方法700的流程图。初始地在框710,用于使用游戏中的游戏资产的游戏上下文被标识。游戏上下文可被定义为基于一个或多个因素(例如,当前游戏上下文、用户交互)被触发的预期的游戏上下文。在框720,游戏资产被分类为预取游戏资产。在各实施例中,至少一个附加组成部分被分类为流游戏资产。在框730,生成针对游戏资产的预取指令。预取指令定义游戏资产的功能。生成预取指令可附加地包括将游戏上下文分类为与另一游戏上下文相关的预期的游戏上下文以及将游戏资产的使用定义为预期的游戏上下文期间的预取资产。在各实施例中,游戏流传输会话参数也被标识并在预取指令中配置有阈值,使得在发送针对预取游戏资产的请求之前评估阈值。
在框740,预取指令被嵌入到游戏的游戏代码内。在框750,在游戏代码的执行期间,预取指令被传送到游戏平台。预取指令指示游戏平台对游戏资产进行预取。在框760,响应于预取指令,从游戏平台接收到预取请求。在框770,预取游戏资产被处理。游戏资产可以是经渲染的图形和/或所准备的音频。在框780,预取游戏资产被传送到边缘计算基础结构。边缘计算基础结构用作针对预取游戏资产的辅助存储,使得在预期的游戏上下文发生之际,预取游戏资产就从边缘计算基础结构中被下载。构想了,传送到边缘计算基础结构可包括同时传送针对预期的游戏上下文的预取游戏资产以及针对当前游戏上下文的流游戏资产。
现转至图8,提供了解说用于预取游戏内容的方法800的流程图。初始地在框810,游戏内容的游戏上下文被标识。在框820,游戏上下文的至少一个组成部分用交互性水平来被分类。对游戏上下文进行分类可基于基于游戏开发者的分类、基于玩耍测试的分类或基于机器学习的分类。在框830,游戏上下文至少基于游戏上下文的该组成部分的交互性水平来被流传输。构想了,基于游戏上下文的交互性水平来流传输游戏上下文还包括标识一个或多个游戏流传输限制;并且配置该一个或多个游戏流传输限制的阈值,其中这些阈值基于游戏上下文的交互性水平。
在各实施例中,预取指令可被定义,使得具有第一交互性水平的第一游戏组成部分可被预取到边缘计算基础结构。在标识预期的游戏上下文之际,第一游戏组成部分可从边缘计算基础结构中被流传输,而第二游戏组成部分同时从游戏服务器中被流传输。第二游戏组成部分具有第二交互性水平。边缘计算基础结构用作针对与无交互性相关联的游戏上下文的辅助存储,使得在预期的游戏上下文发生之际,该游戏上下文组成部分就从边缘计算基础结构中被下载。
参考各具体实施例描述了本发明的各实施例,各具体实施例在所有方面都旨在是说明性的而非限制性的。不偏离本发明范围的情况下,各替换实施例对于本发明所属领域的技术人员将变得显而易见。
从前面的描述可以看出,本发明很好地适用于实现上文所阐述的所有目的和目标,并且具有对于结构是显而易见且固有的其他优点。
可以理解,某些特征和子组合是有用的,并且可以在不参考其他特征或子组合的情况下使用。这由权利要求所构想的,并在权利要求的范围内。

Claims (10)

1.一个或多个储存计算机可使用指令的计算机存储介质,当所述计算机可使用指令被一个或多个处理器执行时导致所述一个或多个处理器来执行一种用于预取游戏内容的方法,所述方法包括:
从分布式网络基础结构中的游戏服务器接收用于将预取游戏资产预取到边缘计算基础结构的预取指令,其中所述预取游戏资产在游戏流传输会话内被分类为预取游戏资产;
对所述预取游戏资产进行预取,其中所述预取游戏资产在所述预取游戏资产在其中被使用的预期的游戏上下文之前在所述游戏服务器处被处理;以及
在所述预期的游戏上下文发生之际从所述边缘计算基础结构提供所述预取游戏资产以供输出。
2.如权利要求1所述的介质,其特征在于,所述预取游戏资产在游戏开发阶段期间被分类为预取资产,其中所述预取指令将多个预取游戏资产标识为与所述预期的游戏上下文相关联的包,所述指令在所述游戏开发阶段期间被定义。
3.如权利要求1所述的介质,其特征在于,对所述预取游戏资产进行预取是基于:
参考触发所述预期的游戏上下文的一个或多个交互式动作;以及
基于所述一个或多个交互式动作来确定要对所述预取游戏资产进行预取。
4.如权利要求1所述的介质,其特征在于,对所述预取游戏资产进行预取是基于:
参考所述分布式网络基础结构的一个或多个游戏流传输会话参数;以及
基于满足所述一个或多个游戏流传输会话参数的阈值来确定要对所述预取游戏资产进行预取。
5.如权利要求1所述的介质,其特征在于,对所述预取游戏资产进行预取以及提供所述预取游戏资产以供输出是基于:
从与所述游戏服务器相关联的主存储中预取所述预取游戏资产;
将所述预取游戏资产存储在与所述边缘计算基础结构相关联的辅助存储上;
从所述辅助存储下载所述预取游戏资产;以及
将来自所述辅助存储的所述预取游戏资产与来自所述主存储的流游戏资产相组合,其中所述流游戏内容直接在所述游戏服务器处被执行和处理。
6.一个或多个储存计算机可使用指令的计算机存储介质,当所述计算机可使用指令被一个或多个处理器执行时导致所述一个或多个处理器来执行一种用于预取游戏内容的方法,所述方法包括:
将预取指令传送到分布式网络基础结构中的游戏平台,所述预取指令指示所述游戏平台将预取游戏资产预取到边缘计算基础结构,其中所述预取游戏资产在游戏流传输会话内被分类为预取资产;
接收来自所述游戏平台的预取请求,其中所述预取请求基于参考至少一个游戏流传输会话参数来被生成;
处理所述预取游戏资产;以及
将所述预取游戏资产传送到所述边缘计算基础结构,其中所述预取游戏资产是直至预期的游戏上下文发生之前被存储在所述边缘计算基础结构处的、经处理的游戏内容。
7.如权利要求6所述的介质,其特征在于,所述预取指令进一步与流游戏资产相关联,其中所述流游戏资产在所述游戏流传输会话内被分类为流游戏资产。
8.如权利要求6所述的介质,其特征在于,流传输所述预取游戏资产与流传输与当前游戏上下文相关联的至少流游戏资产同时地发生。
9.一种用于智能地流传输游戏内容的计算机实现的方法,所述方法包括:
标识游戏内容的游戏上下文;
用交互性水平来分类所述游戏上下文的至少一个组成部分;
至少基于所述游戏上下文的所述组成部分的交互性水平来流传输所述游戏上下文,其中基于所述游戏上下文的交互性水平来流传输所述游戏上下文还包括:
标识一个或多个游戏流传输限制;以及
配置所述一个或多个游戏流传输限制的阈值,其中所述阈值基于所述游戏上下文的交互性水平。
10.如权利要求9所述的方法,其特征在于,进一步包括:
从边缘计算基础结构流传输具有第一交互性水平的第一游戏组成部分以及从游戏服务器流传输具有第二交互性水平的第二游戏组成部分同时地进行。
CN201580050309.4A 2014-09-17 2015-09-14 对媒体内容的智能流传输 Active CN106714920B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/488,905 US10154072B2 (en) 2014-09-17 2014-09-17 Intelligent streaming of media content
US14/488,905 2014-09-17
PCT/US2015/049879 WO2016044117A1 (en) 2014-09-17 2015-09-14 Intelligent streaming of media content

Publications (2)

Publication Number Publication Date
CN106714920A true CN106714920A (zh) 2017-05-24
CN106714920B CN106714920B (zh) 2020-01-17

Family

ID=54249586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580050309.4A Active CN106714920B (zh) 2014-09-17 2015-09-14 对媒体内容的智能流传输

Country Status (7)

Country Link
US (1) US10154072B2 (zh)
EP (1) EP3194042A1 (zh)
JP (1) JP6710201B2 (zh)
CN (1) CN106714920B (zh)
BR (1) BR112017003714A2 (zh)
RU (1) RU2696345C2 (zh)
WO (1) WO2016044117A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016048344A1 (en) * 2014-09-26 2016-03-31 Hewlett Packard Enterprise Development Lp Caching nodes
EP3673354A4 (en) * 2017-10-26 2021-04-07 Hewlett-Packard Development Company, L.P. ACTIVE PROCESSING FROM PERSISTENT MEMORY
US11537264B2 (en) 2018-02-09 2022-12-27 Sony Interactive Entertainment LLC Methods and systems for providing shortcuts for fast load when moving between scenes in virtual reality
CN109219007B (zh) * 2018-09-18 2021-02-02 南京邮电大学 一种面向雾计算的联盟合作绿色能源分配方法
JP7269780B2 (ja) 2019-04-08 2023-05-09 株式会社日立製作所 情報処理装置および情報処理装置のデータ管理方法
US11565177B2 (en) 2019-11-06 2023-01-31 Sony Interactive Entertainment Inc. Edge compute proxy for cloud gaming and 5G
US11606409B1 (en) * 2021-11-19 2023-03-14 Ambeent Inc. Optimizing quality of experience (QoE) levels for video streaming over wireless/cellular networks
CN115248809B (zh) * 2022-09-22 2022-12-30 山东康健因特智能控制科技有限公司 基于边缘计算的用户通讯数据管理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1515123A (zh) * 2001-04-17 2004-07-21 �����籨�绰����ͨѶ��˾ Ip媒体流绑定信息
CN101715104A (zh) * 2009-08-14 2010-05-26 中电天讯信息技术(北京)有限公司 可进行用户及内容管理的网络交互点读系统和方法
CN102571900A (zh) * 2010-12-08 2012-07-11 中国电信股份有限公司 一种实现远端实时操控的系统和方法
CN103096134A (zh) * 2013-02-08 2013-05-08 广州博冠信息科技有限公司 一种基于视频直播和游戏的数据处理方法和设备
WO2013101121A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Managed instruction cache prefetching

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802292A (en) 1995-04-28 1998-09-01 Digital Equipment Corporation Method for predictive prefetching of information over a communications network
US7197570B2 (en) 1998-07-22 2007-03-27 Appstream Inc. System and method to send predicted application streamlets to a client device
US6587113B1 (en) * 1999-06-09 2003-07-01 3Dlabs Inc., Ltd. Texture caching with change of update rules at line end
US6744438B1 (en) * 1999-06-09 2004-06-01 3Dlabs Inc., Ltd. Texture caching with background preloading
US7453801B2 (en) * 2001-11-08 2008-11-18 Qualcomm Incorporated Admission control and resource allocation in a communication system supporting application flows having quality of service requirements
US7916147B2 (en) * 2002-03-01 2011-03-29 T5 Labs Ltd. Centralised interactive graphical application server
US7130890B1 (en) 2002-09-04 2006-10-31 Hewlett-Packard Development Company, L.P. Method and system for adaptively prefetching objects from a network
US20110122063A1 (en) * 2002-12-10 2011-05-26 Onlive, Inc. System and method for remote-hosted video effects
US9314691B2 (en) * 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US8366552B2 (en) * 2002-12-10 2013-02-05 Ol2, Inc. System and method for multi-stream video compression
US9192859B2 (en) * 2002-12-10 2015-11-24 Sony Computer Entertainment America Llc System and method for compressing video based on latency measurements and other feedback
US9756349B2 (en) * 2002-12-10 2017-09-05 Sony Interactive Entertainment America Llc User interface, system and method for controlling a video stream
US20090118019A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US20120021835A1 (en) * 2005-02-11 2012-01-26 Iprd Labs Llc Systems and methods for server based video gaming
US20070266170A1 (en) * 2006-05-11 2007-11-15 Mockett Gregory P Interactive, rich-media delivery over an ip network using synchronized unicast and multicast
US7934058B2 (en) * 2006-12-14 2011-04-26 Microsoft Corporation Predictive caching of assets to improve level load time on a game console
US8187104B2 (en) * 2007-01-29 2012-05-29 Sony Online Entertainment Llc System and method for creating, editing, and sharing video content relating to video game events
US10058778B2 (en) * 2007-12-05 2018-08-28 Sony Interactive Entertainment America Llc Video compression system and method for reducing the effects of packet loss over a communication channel
US8613673B2 (en) * 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US9656160B2 (en) * 2007-12-15 2017-05-23 Sony Interactive Entertainment America Llc Massive multi-player online (MMO) games server and methods for executing the same
US20090322784A1 (en) * 2008-02-27 2009-12-31 Gabriele Sartori System and method for virtual 3d graphics acceleration and streaming multiple different video streams
US20090262136A1 (en) * 2008-04-22 2009-10-22 Tischer Steven N Methods, Systems, and Products for Transforming and Rendering Media Data
US20090300144A1 (en) 2008-06-03 2009-12-03 Sony Computer Entertainment Inc. Hint-based streaming of auxiliary content assets for an interactive environment
US9498711B2 (en) * 2008-11-04 2016-11-22 Quado Media Inc. Multi-player, multi-screens, electronic gaming platform and system
US8723891B2 (en) * 2009-02-27 2014-05-13 Ncomputing Inc. System and method for efficiently processing digital video
GB201003962D0 (en) * 2010-03-10 2010-04-21 Tangentix Ltd Multimedia content delivery system
US8954490B2 (en) * 2010-06-24 2015-02-10 International Business Machines Corporation Speculative and coordinated data access in a hybrid memory server
CN103080984B (zh) * 2010-06-30 2017-04-12 巴里·林恩·詹金斯 确定从视区看去可见的网格多边形或所述网格多边形的分段的集合的方法及系统
US9171396B2 (en) * 2010-06-30 2015-10-27 Primal Space Systems Inc. System and method of procedural visibility for interactive and broadcast streaming of entertainment, advertising, and tactical 3D graphical information using a visibility event codec
US9814977B2 (en) 2010-07-13 2017-11-14 Sony Interactive Entertainment Inc. Supplemental video content on a mobile device
EP3543958B1 (en) * 2010-09-13 2020-11-11 Barry Lynn Jenkins System and method of delivering and controlling streaming interactive media comprising predetermined packets of geometric, texture, lighting and other data which are rendered on a receiving device
EP2444134A1 (en) * 2010-10-19 2012-04-25 Travian Games GmbH Methods, server system and browser clients for providing a game map of a browser-based online multi-player game
US20130307847A1 (en) * 2010-12-06 2013-11-21 The Regents Of The University Of California Rendering and encoding adaptation to address computation and network
US20130016107A1 (en) * 2011-01-14 2013-01-17 Ciinow Inc. Method and mechanism for performing both server-side and client-side rendering of visual data
WO2012146985A2 (en) * 2011-04-28 2012-11-01 Approxy Inc. Ltd. Adaptive cloud-based application streaming
US8498722B2 (en) * 2011-05-31 2013-07-30 United Video Properties, Inc. Systems and methods for generating media based on player action in an interactive video gaming environment
US8657680B2 (en) * 2011-05-31 2014-02-25 United Video Properties, Inc. Systems and methods for transmitting media associated with a measure of quality based on level of game play in an interactive video gaming environment
US20120308192A1 (en) * 2011-05-31 2012-12-06 United Video Properties, Inc. Systems and methods for selecting videos for display to a player based on a duration of using exercise equipment
US9240030B2 (en) * 2011-06-09 2016-01-19 Google Inc. Method and mechanism for performing both server-side and client-side rendering of visual data
US8628423B2 (en) * 2011-06-28 2014-01-14 United Video Properties, Inc. Systems and methods for generating video hints for segments within an interactive video gaming environment
WO2013070228A2 (en) * 2011-11-10 2013-05-16 Empire Technology Development, Llc Speculative rendering using historical player data
US20130137518A1 (en) * 2011-11-29 2013-05-30 Keith V. Lucas System for Pre-Caching Game Content Based on Game Selection Probability
KR101563277B1 (ko) * 2011-12-09 2015-10-26 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 게임 컨텐트 데이터의 예측적 캐싱
US9294582B2 (en) * 2011-12-16 2016-03-22 Microsoft Technology Licensing, Llc Application-driven CDN pre-caching
US9386057B2 (en) * 2012-01-18 2016-07-05 Numecent Holdings, Inc. Application streaming and execution system for localized clients
US8849731B2 (en) 2012-02-23 2014-09-30 Microsoft Corporation Content pre-fetching for computing devices
US20130268621A1 (en) * 2012-04-08 2013-10-10 Broadcom Corporation Transmission of video utilizing static content information from video source
US8892684B2 (en) * 2012-05-25 2014-11-18 Microsoft Corporation Dynamic selection of resources for compression in a content delivery network
US9446306B2 (en) * 2012-07-19 2016-09-20 The Regents Of The University Of California System and method for local multiplayer gaming
WO2014043277A2 (en) * 2012-09-11 2014-03-20 Numecent Holdings Ltd. Application streaming using pixel streaming
EP2895242B1 (en) * 2012-09-14 2019-02-27 Tangentix Limited Method and apparatus for delivery of interactive multimedia content over a network
JP5760046B2 (ja) * 2012-10-26 2015-08-05 グリー株式会社 先読みキャッシュ方法、先読みキャッシュシステム及びプログラム
US20140195675A1 (en) * 2013-01-09 2014-07-10 Giga Entertainment Media Inc. Simultaneous Content Data Streaming And Interaction System
US20140344469A1 (en) * 2013-05-17 2014-11-20 Evology, Llc Method of in-application encoding for decreased latency application streaming
CN105246567B (zh) * 2013-05-31 2016-09-14 英派尔科技开发有限公司 受缓存影响的视频游戏
US20150049800A1 (en) * 2013-08-16 2015-02-19 Nvidia Corporation Estimation of entropy encoding bits in video compression

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1515123A (zh) * 2001-04-17 2004-07-21 �����籨�绰����ͨѶ��˾ Ip媒体流绑定信息
CN101715104A (zh) * 2009-08-14 2010-05-26 中电天讯信息技术(北京)有限公司 可进行用户及内容管理的网络交互点读系统和方法
CN102571900A (zh) * 2010-12-08 2012-07-11 中国电信股份有限公司 一种实现远端实时操控的系统和方法
WO2013101121A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Managed instruction cache prefetching
CN103096134A (zh) * 2013-02-08 2013-05-08 广州博冠信息科技有限公司 一种基于视频直播和游戏的数据处理方法和设备

Also Published As

Publication number Publication date
BR112017003714A2 (pt) 2017-12-05
CN106714920B (zh) 2020-01-17
US20160080442A1 (en) 2016-03-17
RU2017108527A (ru) 2018-09-17
WO2016044117A1 (en) 2016-03-24
RU2017108527A3 (zh) 2019-02-18
RU2696345C2 (ru) 2019-08-01
JP2017536143A (ja) 2017-12-07
EP3194042A1 (en) 2017-07-26
JP6710201B2 (ja) 2020-06-17
US10154072B2 (en) 2018-12-11

Similar Documents

Publication Publication Date Title
CN106714920A (zh) 对媒体内容的智能流传输
JP7073494B2 (ja) ゲームレンダリングにおけるメモリ管理
CN103650518B (zh) 预测性的多层高速缓存体系结构
US9326030B2 (en) Systems and methods for triggering user notifications of media content items
CN104903860B (zh) 第三方应用脚本能力
CN105593805B (zh) 基于移动装置定向定制移动媒体片尾用户界面
CN106164904A (zh) 客户端侧个人语音web导航
JP2015501993A (ja) ウェブアプリケーションのための軽量フレームワーク
WO2019007327A1 (zh) 视频播放方法、装置、计算设备以及存储介质
US20080195949A1 (en) Rendition of a content editor
CN111277869A (zh) 视频播放方法、装置、设备和存储介质
CN106791953A (zh) 多播放器控制方法、服务器及客户端
CN110096245A (zh) 分布式跨平台用户界面和应用投影
CN110300328A (zh) 一种视频播放控制方法、装置及可读存储介质
US11836758B1 (en) Systems, methods, and media for detecting content view ability
CN112988400A (zh) 显存优化方法、装置、电子设备以及可读存储介质
CN109213613A (zh) 图像信息的传输方法、装置、存储介质及电子设备
CN114404960A (zh) 云游戏资源数据处理方法、装置、计算机设备和存储介质
US20180173391A1 (en) Customizable Media Player Framework
CN110209964A (zh) 一种页面显示方法、装置及设备
US20180061258A1 (en) Data driven feature discovery
US11842387B1 (en) Personalized financial account statement
CN115934974A (zh) 一种多媒体数据的处理方法、装置、设备及介质
US11247120B2 (en) Digital pin board for a gaming platform
US11347387B1 (en) System for fan-based creation and composition of cross-franchise content

Legal Events

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