CN110336850A - 附加组件管理 - Google Patents

附加组件管理 Download PDF

Info

Publication number
CN110336850A
CN110336850A CN201910345262.4A CN201910345262A CN110336850A CN 110336850 A CN110336850 A CN 110336850A CN 201910345262 A CN201910345262 A CN 201910345262A CN 110336850 A CN110336850 A CN 110336850A
Authority
CN
China
Prior art keywords
video
add
assemble
game
superposition
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
CN201910345262.4A
Other languages
English (en)
Other versions
CN110336850B (zh
Inventor
R.F.A.佩雷拉
D.佩里
A.B.高尔特
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 America 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
Publication of CN110336850A publication Critical patent/CN110336850A/zh
Application granted granted Critical
Publication of CN110336850B publication Critical patent/CN110336850B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/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
    • 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/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/241Operating system [OS] processes, e.g. server setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/209Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform characterized by low level software layer, relating to hardware management, e.g. Operating System, Application Programming Interface
    • 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/538Features 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 performing operations on behalf of the game client, e.g. rendering
    • 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/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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
    • H04L65/762Media network packet handling at the source 

Abstract

一种计算系统,被配置为在服务器上执行计算机程序,并且通过通信网络提供程序输出的视频流至地理上远离的客户端。提供附加组件管理器以便于使用附加组件扩展计算机程序的功能。附加组件管理器响应于从客户端收到的命令,并且被配置为将单独的附加组件和附加组件数据关联到特定的用户账户。附加组件可位于服务器或一些其他远离客户端的位置。

Description

附加组件管理
本申请是申请号为201180047650.6、申请日为2011年9月13日、发明名称为“附加组件管理”的发明专利申请的分案申请。
相关申请的交叉引用
本申请要求2010年9月13日提交的申请序列号为61/382,470、标题为《Add-onManagement》的美国临时专利申请的优先权和权益。该申请涉及2010年6月29日提交的序列号为12/826,130,标题为《Video Game Overlay》的美国专利申请,和2010年6月29日提交的序列号为12/826,489,标题为《Voice Overlay》的美国专利申请。上述所有共同拥有的专利申请的公开内容都通过引用被合并在此。
技术领域
本发明涉及计算机系统领域,并且特别地涉及计算机程序的服务器端执行领域。
背景技术
附加组件是一组计算指令,用于扩展计算机程序功能或在其他方面增强计算机程序。附加组件用于广泛种类的应用程序中。例如,Adobe附加组件可以用来使微软文字处理软件能打印成.pdf文件,或使浏览器能查看.pdf文件。附加组件在在线视频游戏中是很受欢迎的。例如,著名的多玩家在线游戏有可用的数以百计的附加组件,其可以用来增强游戏玩法。这些附加组件通常是由第三方提供。用户从网站下载附加组件并将附加组件安装在用户的计算机适当的目录里从而将附加组件添加到计算机程序中。本文所使用的术语“附加组件”用于指代配置为扩展计算机程序功能的可选的计算指令,其中该附加组件专门为该计算机程序而开发。附加组件可能由第三方或由计算机程序的开发者开发。一些计算机程序配置为在特定目录查找附加组件。附加组件不同于于其他软件工具,如打印机驱动,因为它们被配置为增强一个特定的程序。附加组件有时被称为“插件”。
附加组件数据是附加组件中包括、产生或组织的数据。例如,在一个视频游戏中附加组件数据可能包括游戏中对象的位置,目录信息,购买和销售的记录,拍卖行数据,非玩家角色的特征,地图,历史信息,音频数据,事件定时信息,和/或类似物。
计算机程序通常包括计算指令或配置为用于在计算机程序和附加组件之间通信的应用程序接口(API)。例如,通常计算机程序被配置为在特定的目录查找附加组件。这个目录可以是存储计算机程序的目录的子目录。
发明内容
本发明的一些实施例包括在在服务器上执行计算机程序并且将作为程序执行结果而生成的视频流提供到远程客户端的系统中使用附加组件的系统和方法。附加组件可安装在服务器或客户端上。如果附加组件安装在客户端并且计算机程序安装在服务器,那么提供应用程序编程接口(API)以使得计算机程序可以就像附加组件安装在计算机程序本地的服务器上一样运行。服务器上的API被配置为通过通信网络让附加组件和计算机程序之间通信信息通过。
如果附加组件安装在服务器上,计算机程序可以安装在客户端或地理上远离客户端的位置。本发明的各种实施例可包括,例如,被配置为远程安装附加组件的软件工具,被配置为提供执行附加组件的虚拟环境的计算指令;附加组件数据的存储器,开启和关闭附加组件,安全执行附加组件,维护准许附加组件列表;和/或类似物。
本发明的多个实施例包括游戏服务器系统,其包括视频源,被配置为使用游戏逻辑生成视频帧和将视频帧编码为视频流,视频流是基于视频游戏的游戏环境的,游戏逻辑通过附加组件来增强;I/O设备,被配置为将视频流通信到地理上远离的客户端和从客户端接收游戏命令;附加组件存储器,被配置为在视频游戏可访问的位置存储附加组件,和在附加组件可访问的位置存储附加组件的附加组件数据;附加组件管理器,被配置为创建被配置用于视频游戏使用附加组件的附加组件环境,将附加组件与用户帐户相关联,并将附加组件的附加组件数据与用户帐户相关联;以及处理器,被配置为执行游戏逻辑或附加组件管理器。
本发明的各种实施例包括一种系统,其包括视频源,被配置为使用游戏逻辑生成视频帧和将视频帧编码为视频流,视频流基于视频游戏的状态和从地理上远离的客户端接收到的游戏命令,游戏逻辑通过附加组件增强;I/O设备,被配置为将视频流传输到地理上远离的客户端和从客户端接收游戏命令;附加组件管理器,被配置为响应于接收到游戏逻辑的新版本,自动更新附加组件;以及处理器,被配置为执行游戏逻辑或附加组件管理器。
本发明的各种实施例包括一种系统,其包括安装在第一计算设备的游戏逻辑,并且其被配置为生成视频帧并在显示器上呈现视频帧;安装在第一计算设备的第一API滤波器,并且其被配置为在游戏逻辑和附加组件之间重定向命令,附加组件安装在地理上远离第一计算设备的第二计算设备并且被配置为增强游戏逻辑的功能;I/O设备,被配置为在第一计算设备和第二计算设备之间通信命令;以及处理器,被配置为执行游戏逻辑。
本发明的各种实施例包括执行附加组件的方法,该方法包括在被配置为提供视频流给客户端的游戏服务器系统上安装附加组件,视频流是游戏逻辑执行的结果,附加组件被配置为扩展该游戏逻辑的功能,客户端地理上远离该游戏服务器系统;执行游戏逻辑;根据游戏逻辑接收来自客户端的游戏命令;将接收到的游戏命令从游戏逻辑传递至附加组件;使用附加组件生成附加组件数据;并且在地理上远离客户端的位置存储附加组件数据,附加组件数据与客户端用户的账户相关联。
本发明的各种实施例包括安装附加组件的方法,该方法包括识别将安装的附加组件;建立被配置用于将被计算机程序访问的附加组件的附加组件环境,计算机程序使用客户端执行并且位于地理上远离客户端的服务器上;在附加组件环境中放置附加组件;将附加组件与客户端用户的账户相关联;识别用于附加组件生成的附加组件数据的存储器;以及将存储器或附加组件数据与账户相关联。
本发明的各种实施例包括自动更新附加组件的方法,该方法包括在视频源接收游戏逻辑的更新版本,视频源被配置为基于从地理上远离的客户端接收的游戏命令生成视频流并提供视频流给远程客户端;确定附加组件是用于增强游戏逻辑的功能;向第三方发送附加组件更新版本的请求,请求包括附加组件的标识和更新应被提供到的地址;通过计算网络接收附加组件更新版本,附加组件更新版本被配置为增强游戏逻辑的更新版本;以及在被配置用于将由游戏逻辑使用的附加组件的附加组件环境中自动安装附加组件。
附图说明
图1示出了根据本发明各种实施例的系统,其被配置为执行由一个或多个附加组件增强的计算机程序。
图2是根据本发明各种实施例的视频源实施例的框图,视频源被配置为服务于由附加组件增强的多个视频游戏。
图3示出了根据本发明各种实施例的附加组件管理器的进一步的细节。
图4示出了根据本发明各种实施例的客户端的进一步的细节。
图5示出了根据本发明各种实施例的安装和/或使用附加组件的方法。
图6示出了根据本发明各种实施例的自动更新附加组件的方法。
具体实施方式
在上述的共同拥有的专利申请中公开了一种系统,其中在服务器上执行计算机程序,并给一个地理上远离的客户端提供计算机程序输出的视频流。本发明的各种实施例提供了在这些系统使用附加组件的能力。附加组件管理器安装,执行,支持,或除这些之外还管理附加组件,附加组件管理器可以位于服务器,客户端或其他位置。例如,附加组件管理器可以用来在服务器适当的环境中安装附加组件,从而可以通过计算机程序的API访问附加组件。附加组件生成的附加组件数据和附加组件本身通常关联到特定的,客户端,用户帐户,化身(avatar),和/或类似物。在发明的其他实施例中,计算机程序而非附加组件被安装在客户端。
图1示出了根据本发明的各种实施例的一个游戏系统100,其被配置为执行由一个或多个附加组件增强的计算机程序。游戏系统100被配置为通过网络115提供视频流到一个或更多的客户端110。游戏系统100通常包括视频服务器系统120和可选的游戏服务器125。视频服务器系统120被配置为以最低限度的服务质量提供视频流给一个或多个客户端110。例如,视频服务器系统120可能会收到游戏命令,该命令改变视频游戏中的状态或视角,并以最小的延迟(latency)向客户端110提供反映这种状态的改变的更新的视频流。视频服务器系统120可配置为提供多种多样的可供选择的视频格式(包括还没有被定义的格式)的视频流。此外,视频流可能包括被配置为以多种多样的帧率呈现给用户的视频帧。尽管在本发明的替代实施例中包括更高或更低的帧率,但是典型的帧率为30帧每秒,60帧每秒和120帧每秒。在一些实施例中,视频服务器系统120被配置为提供三维视频数据,例如根据分开人眼之间的距离的视角呈现的匹配的视频流。
客户端110,在这里分别指110A,110 B等,可能包括终端、个人计算机、游戏控制台、平板电脑、电话、电视机、机顶盒、自助服务终端、无线设备、数字键盘、独立设备、手持游戏设备和/或类似物。通常,客户端110被配置为接收编码的视频流,解码视频流,并且将生成的视频呈现给用户,例如,游戏的玩家。接收编码视频流和/或解码视频流的过程可选地包括在客户端接收缓冲区中存储若干单独的视频帧。视频流可在客户端110集成的显示器或分离的设备如监视器或电视上呈现给用户。客户端110可选地被配置为支持一个以上的游戏玩家。例如,游戏控制台可被配置为支持两个,三个,四个或更多的玩家同时在线。这些玩家的每个可能会收到单独的视频流,或单个视频流可包括专门为每个玩家产生的帧的区域,例如基于每个玩家视角而产生的。客户端110可选地是地理上分散的。游戏系统100包括的客户数量可能变化很大,从一个或两个到数千、数万,或者更多。在此使用的术语“游戏玩家”用于指的是玩游戏的人,术语“游戏设备”用于指的是用于玩游戏的设备。
客户端110被配置为通过网络115接收视频流。网络115可以是计算设备之间的任何类型的通信网络,包括电话网络、英特网、无线网络、电力线网络、局域网、广域网、专用网、和/或类似网络。网络115明确不包括完全在计算设备中的通信信道,如主板总线。在典型的实施例中,视频流通过标准协议如TCP/IP或UDP/IP通信。替代性地,视频流通过专用标准通信。
客户110典型的例子是个人计算机,其包括处理器、非易失性存储器、显示器、解码逻辑,网络通信能力和输入设备。解码逻辑可能包括硬件、固件和/或存储在计算机可读介质上的软件。解码(编码)视频流的系统是本领域众所周知的并随着使用的特定编码方案的不同而变化。
客户端110可能,但是不必然需要,进一步包括被配置为修改接收到的视频的系统。例如,客户端可被配置为执行进一步的呈现,在另一个视频图像上叠加一个视频图像、裁切视频图像和/或类似。客户端110可被配置为接收各种类型的视频帧,如I帧、P帧和B帧,以及将这些帧处理成图像以显示给用户。在一些实施例中,客户端110的一个成员被配置为在视频流上执行进一步的呈现,阴影(shading),3-D转换,或者类似操作。客户端110的一个成员可选地被配置为接收超过一个的音频或视频流。客户端110的输入设备可能包括,例如,键盘,操纵杆,定点设备,力反馈设备,运动和/或位置传感设备,鼠标,触摸屏,神经接口,摄像机(camera),有待开发的输入设备,和/或类似物。
客户端110收到的视频流(和可选的音频流)是由视频服务器系统120生成和提供的。和本文其他地方进一步描述的一样,该视频流包括视频帧(以及音频流包括音频帧)。视频帧被配置为(例如:它们包括在适当的数据结构中的像素信息)对显示给用户的图像提供有意义的贡献。有意义的贡献是游戏玩家很容易观察到的贡献。在此使用的术语“视频帧”是用于指包括被配置为贡献(例如,产生)显示给用户的图像的主要信息的帧。本文大部分关于“视频帧”的教导也可以应用到““音频帧”。客户端110可被配置为在同一时间接收超过一个视频流。例如,客户端110B可被配置为接收一对匹配的视频流,它们被配置为当视频流之一呈现给一只眼睛,而视频流的另一个呈现给另一只眼睛时,形成三维图像。
客户端110通常被配置为接收来自用户的输入。这些输入可包括被配置为改变视频游戏状态或其他影响游戏玩法的游戏命令。游戏命令可以使用输入设备接收和/或由客户端110上执行的计算指令自动生成。接收到的游戏命令通过网络115从客户端110通信至视频服务器系统120和/或游戏服务器125。例如,在一些实施例中,游戏命令通过视频服务器系统120通信到游戏服务器125。在一些实施例中,游戏命令单独的副本从客户端110通信到游戏服务器125和视频服务器系统120。游戏命令的通信可选地取决于命令的标识。游戏命令可选地通过不同于用于提供音频或视频流到客户端110A的路径或通信信道从客户端110A通信。
在各种实施例中,客户端110被配置为在每个客户端100和视频服务器系统120之间,或者在客户端110的不同成员之间通信附加组件数据。例如,使客户端之间能直接语音通信的附加组件可以包括客户端之间的音频数据通信。增强服务器侧计算机程序的功能的附加组件数据可存储在一个客户端110中以供服务器侧附加组件使用或供客户端侧的附加组件使用。附加组件数据也可存储在视频服务器系统120或附加组件服务器165上,并由位于一个客户端110、视频服务器系统120或附加组件服务器165上的附加组件使用。
游戏服务器125可选地是由不同于视频服务器系统120的实体运行。例如,游戏服务器125可能由多玩家游戏的发行商运行。在这个例子中,视频服务器系统120可选地被游戏服务器125视为客户端,并且可选地被配置为从游戏服务器125的角度看是执行现有技术游戏引擎的现有技术客户端。视频服务器系统120和游戏服务器125之间的通信可以通过网络115发生。这样,游戏服务器125可以是现有技术的多玩家游戏服务器,其发送游戏状态信息给多个客户端,其中一个客户端是视频服务器系统120。视频服务器系统120可被配置为同时与游戏服务器125的多个实例通信。例如,视频服务器系统120可以被配置为提供多个不同的视频游戏给不同的用户。这些不同的视频游戏的每个可由不同的游戏服务器125支持和/或由不同的实体发行。在一些实施例中,视频服务器系统120的几个地理上分布式的实例被配置为提供游戏视频给多个不同的用户。视频服务器系统120的这些实例的每一个可与游戏服务器125的相同实例通信。视频服务器系统120和一个或多个游戏服务器125之间的通信可选地通过专用通信信道发生。例如,视频服务器系统120可能通过高带宽信道连接到游戏服务器125,该高带宽信道专用于这两个系统之间的通信。
视频服务器系统120包括至少一个视频源130,I/O设备145,处理器150,非临时性存储器155。视频服务器系统120可能由一个计算设备组成或在多个计算设备中分布。这些计算设备可选地通过通信系统(如局域网)连接。
视频源130被配置为提供视频流,例如:形成电影的流媒体视频或一系列的视频帧。在一些实施例中,视频源130也被配置为提供音频流。在一些实施例中,视频源130包括视频游戏引擎和呈现逻辑。视频游戏引擎被配置为从玩家接收游戏命令和基于接收到的命令维护视频游戏的状态的副本。游戏状态包括游戏环境中对象的位置,以及通常地包括视角。游戏状态也可能包括对象的属性、图像、颜色和/或纹理。游戏状态通常基于游戏规则以及游戏命令(如前进,转弯,攻击,设置焦点,交互,使用,和/或类似)进行维护。游戏引擎的一部分可选地放置在游戏服务器125中。游戏服务器125可基于从使用地理上分散的客户端的多个玩家接收的游戏命令维护游戏状态的副本。在这些情况下,游戏状态由游戏服务器125提供至视频源130,其中存储有游戏状态的副本并执行呈现。游戏服务器125可通过网络115直接从客户端110接收游戏命令,和/或可通过视频服务器系统120接收游戏命令。
视频源130通常包括呈现逻辑,例如:硬件、固件和/或存储在计算机可读介质例如存储器155上的软件。呈现逻辑被配置为基于游戏状态创建视频流的视频帧。全部或部分呈现逻辑可选地被放置在图形处理单元(GPU)中。呈现逻辑通常包括处理级,被配置为用于基于游戏状态和视角确定对象之间的三维空间关系和/或应用适当的纹理等。呈现逻辑产生原始视频,其随后通常在通信给客户端110之前编码。例如,原始视频可根据Adobe标准、.wav、H.264、H.263、On2、VP6、VC-1、WMA、Huffyuv、Lagarith、MPG-x.Xvid.FFmpeg、x264、VP6-8、realvideo、mp3,或类似格式编码。编码过程产生视频流,可选地将其打包以传递给远程设备上的解码器。视频流以帧大小和帧率为特征。尽管可使用任何其他的帧大小,但是典型的帧大小包括800×600、1280×720(例如720p)、1024×768。帧率是每秒视频帧的数量。视频流可包括不同类型的视频帧。例如,H.264标准包括“P”帧和“I”帧。I帧包括刷新显示设备上所有宏块/像素的信息,而P帧包括刷新其子集的信息。P帧的数据大小通常比I帧小。此处使用的术语“帧大小”意思是指一帧内的像素的数目。术语“帧数据大小”用于指存储帧所需要的字节数。
在替代实施例中,视频源130包括视频记录设备,如摄像机。摄像机可以用来产生延迟的或者实时的视频,其可以包括在电脑游戏的视频流中。由此产生的视频流,可选地包括呈现的图像和使用照相机或视频摄像机记录的图像两者。视频源130也可能包括被配置为存储将被包含在视频流中的先前记录的视频的存储设备。视频源130可能还包括被配置为检测对象(例如,人)的运动或位置的运动或位置传感设备,以及被配置为确定游戏状态或产生基于所检测的运动和/或位置的视频的逻辑。
视频源130可选地被配置为提供被配置为放置在其他视频上的叠加。例如,这些叠加可能包括命令界面、登录说明、从另一个游戏玩家的视角呈现的视频帧、给游戏玩家的消息、其他游戏玩家的图像、其他游戏玩家的视频馈送(如:网络摄像头视频)。在客户端110A包括触摸屏界面的实施例中,叠加可包括虚拟键盘,操纵杆,触摸板,和/或类似物。在叠加的一个示例中,玩家的声音叠加在音频流上。视频源130可选地进一步包括一个或多个音频源。
在实施例中,其中视频服务器系统120被配置为基于来自多于一个玩家的输入维持游戏状态,每个玩家可以有不同的包括观看位置和方向的视角。视频源130可选地被配置为向每个玩家基于他们的视角提供单独的视频流。此外,视频源130可被配置为向每个客户端110提供不同的帧大小,帧数据大小和/或编码。视频源130可选地被配置为提供3-D视频。
I/O设备145被配置为用于视频服务器系统120发送和/或接收信息,如视频、命令、附加组件、附加组件数据、信息请求、游戏状态、客户端标识、玩家标识、游戏命令、安全信息、音频数据和/或类似物。I/O设备145通常包括通信硬件,如网卡或调制解调器。I/O设备145被配置为与游戏服务器125,网络115,和/或客户端110通信。I/O设备145被配置为从多于一个客户端110接收信息。I/O设备145可选地被配置为使用标准(如TCP或UDP)将信息接收为数据包。
处理器150被配置为执行被包括在本文讨论的视频服务器系统120的各种组件内的逻辑(例如,软件)。例如,可用软件指令给处理器150编程以执行视频源130,游戏服务器125,和/或附加组件管理器160的功能。视频服务器系统120可选地包括处理器150的多于一个的实例。也可用软件指令给处理器150编程以执行视频服务器系统120接收到的命令,或协调本文讨论的游戏系统100的各种元件的运行。处理器150可包括一个或多个硬件设备。处理器150是电子处理器。
存储器155包括非临时性模拟和/或数字存储设备。例如,存储155可包括模拟存储设备,被配置为存储视频帧。存储器155可包括计算机可读数字存储器,例如硬盘,光驱,或固态存储器。存储器115被配置为(例如,通过合适的数据结构或文件系统的方式)存储视频帧、人工帧(artificial frame)、包括视频帧和人工帧的视频流、音频帧、音频流、附加组件、附加组件数据和/或类似物。存储器155可选地分布在多个设备中。在一些实施例中,存储器155被配置为存储本文别处讨论的视频源130的软件组件。这些组件可能以需要时方便被提供的格式存储。
视频服务器系统120可选地进一步包括附加组件管理器160。附加组件管理器160被配置为便于使用附加组件来增强视频服务器系统120和/或客户端110上的计算机程序。例如,在一些实施例中,附加组件管理器160被配置为增强视频源130中的游戏程序。在一些实施例中,附加组件管理器160被配置为增强客户端110中的游戏程序。
可由附加组件管理器160执行的任务,包括但不限于,安装附加组件,更新附加组件,执行附加组件,存储附加组件数据,以及通信附加组件数据。在一些实施例中,附加组件管理器160包括被配置为用于重定向附加组件和相关联的计算机程序之间的通信的计算指令。附加组件管理器160可重定向来自计算机程序的,最初指向与计算机程序相关的特定位置的消息到可供选择的位置。例如,如果包括在视频源130中的计算机程序被配置为访问与计算机程序相关的特定目录中的附加组件和/或附加组件数据,附加组件管理器160可被配置为重定向那个访问到视频服务器系统120内的不同位置,到客户端110之一或到单独的附加组件服务器165。在其中计算机程序被配置为访问附加组件的特定目录可能是在其中执行计算机程序的目录的子目录。访问被重定向到的位置可选地是虚拟环境。另外,如果计算机程序在客户端110B中,并且被配置为访问客户端110B的特定目录内的附加组件,那么附加组件管理器可被配置成重定向这个访问至视频服务器系统120和/或附加组件服务器165内的位置。这样,客户端110B上的附加组件可用来增强视频服务器系统120上的计算机程序,反之亦然。同样,附加组件服务器165上的附加组件可用来增强客户端110或视频服务器系统120上的计算机程序。虚拟环境是在其中的某个位置或物理设备,如存储位置或路径,使用软件模拟的环境。
附加组件管理器160包括硬件、固件和/或存储在计算机可读介质上的软件。全部或部分附加组件管理器160可选地被放置在与视频服务器系统120一个或多个其他元件分离的计算设备上。例如,所有或部分附加组件管理器160可选地被放置在客户端110,附加组件服务器165,或者游戏系统100内的一些其他的位置上。附加组件管理器160进一步的细节在本文其他地方讨论。
可选的附加组件服务器165是被配置为存储和/或执行一个或多个附加组件的系统。附加组件服务器165也可以用来存储附加组件数据。附加组件服务器165和视频服务器系统120和/或客户端110之间的通信可直接或通过网络115发生。附加组件服务器165可选地由附加组件的发行商或开发者管理。在一些实施例中,来自计算机程序的通信信息被从接近计算机程序的位置重定向到附加组件服务器165的位置。例如,对附加组件数据或可执行的附加组件的访问可能从客户端110B或视频服务器系统120重定向到附加组件服务器165。游戏系统100可包含多于一个视频服务器系统120和/或多于一个附加组件服务器165。
附加组件服务器165包括硬件、固件和/或存储在计算机可读介质上的软件。例如,在一些实施例中,附加组件服务器165包括计算设备、数字存储器、电子处理器和I/O设备。数字存储器可包括附加组件的可执行代码,附加组件数据,图像,全部或部分附加组件管理器160,被配置为管理附加组件与游戏系统100其他元件通信的计算指令,和/或类似物。
图2是根据本发明的各种实施例的视频源130的实施例的框图,视频源130被配置为服务于附加组件增强的多个视频游戏。多个视频游戏可以包括相同视频游戏的多个实例和/或不同视频游戏的实例。视频游戏可选地为多玩家游戏。例如,一个或更多的视频游戏的游戏状态可由游戏服务器125一个或多个实例维护,每个都基于从多个客户端接收到的输入。图2所示的视频源130的元素(element)可选地使用处理器150执行。
使用游戏逻辑210不同的实例执行视频游戏,游戏逻辑210分别标记为210A,210B,210C等。游戏逻辑210被配置为使用游戏状态来确定可以呈现成被配置为展示给游戏玩家的视频流的游戏环境。游戏环境是二维或三维虚拟环境,包括游戏中的对象,化身,对象位置,他们的形状,纹理和他们之间的空间关系以及类似物。游戏环境可包括顶点数据,变换数据和纹理数据,和/或等等。
游戏环境的呈现通常是基于于特定的游戏玩家相关联的一个或多个视角。这些视角可以大大不同,比如顶视图和前视图。或者,视角可以来自相距大约人瞳孔之间的距离的不同位置,并配置为创建3D图像。视频源130可能包括超过1、2、3、5、7、15或31个游戏逻辑210的实例。游戏逻辑210可选地是游戏服务器125的客户端并且可配置为通过网络115与游戏服务器125通信。
游戏逻辑210被配置为从一个或多个客户端110接收游戏命令并且根据一组游戏规则处理接收到的命令。这些规则包括,例如,化身如何与其他化身或游戏对象交互、化身移动、游戏实例管理、和/或类似物。游戏逻辑210可选地也被配置为基于游戏中的事件产生音频数据。音频数据可能代表枪响,飞溅,引擎,语音,飞翔,下雨,音乐,或者其他可能发生在游戏中的任何声音。例如,某个事件,比如一个物体撞击另一个可能导致代表相关声音的音频数据。游戏逻辑210包括硬件、固件和/或存储在计算机可读介质上的软件。
游戏逻辑210的每个实例都可设置在单独的计算设备上,或者游戏逻辑210的几个实例可以设置在同一个计算设备上,或者游戏逻辑210的单个实例可以设置在所有的多个计算设备上。游戏逻辑210的实例可以根据用户目前正在体验的游戏环境的需求动态地更改所使用的计算设备的数量和/或标识。设置在相同计算设备上的游戏逻辑210的实例可选地在单独的虚拟机或虚拟I/O壳(virtual I/O shell)内执行。在一些实施例中,游戏逻辑210的不同实例被配置为直接互相通信游戏命令和/或游戏状态信息,例如,不需要通过游戏服务器125通信。
游戏逻辑210通常在操作系统(OS)215的顶部执行。操作系统215可包括WindowsTM,Linux,Unix,Mac OSTM,SolarisTM和/或等等。虚拟机平台可运行在操作系统215和游戏逻辑210之间。虚拟机平台可以包括商业系统,如ESX,Hyper-V和/或类似物。在这些实施例中,一个或多个游戏逻辑210可在虚拟机内执行。游戏逻辑210的多个实例可在操作系统215的相同实例上执行。例如,图2示出了游戏逻辑210A和游戏逻辑210B都在相同的操作系统215上执行。在相同操作系统215上执行的游戏逻辑210的实例可能会,也可能不会,被配置为玩相同的视频游戏。例如,游戏逻辑210A、210B和210C可能都是魔兽世界客户端,或可能分别是 的客户端。
在一些实施例中,由游戏逻辑210确定的游戏环境被传递给可选的虚拟3D视频驱动220。虚拟3D视频驱动220被配置为从游戏逻辑210的角度看起来像是控制图形处理单元的非虚拟3D视频驱动。游戏逻辑210的每一个实例可能关联自己的虚拟3D视频驱动220的实例,或虚拟3D视频驱动220可由游戏逻辑210两个或多个实例共享。在一些实施例中,由每个游戏逻辑210确定的游戏音频被传递到可选虚拟音频驱动285。游戏音频包括被配置为作为音频流的部分展现给游戏玩家的声音数据。游戏音频可由游戏规则引起,例如,开枪射击应该导致砰砰声,或可能从其他来源,如音乐声带,客户端110的成员,麦克风,和/或等等来接收。
在替代实施例中,游戏逻辑210被配置为包括如本文讨论的虚拟3D视频驱动220和/或虚拟音频驱动285的功能。在这些实施例中,虚拟3D视频驱动220和/或虚拟音频驱动285不是必需的。
虚拟3D视频驱动220进一步被配置为将接收到的游戏环境传递到(非虚拟)3D驱动230。可选地,将游戏环境传送至3D驱动230由虚拟3D视频驱动220的各种实例协调。例如,可如此协调传送,从而使得3D驱动230一次只从一个或最低数量的虚拟3D视频驱动220接收游戏环境。在典型的实施例中,配置每个虚拟3D视频驱动220,以使得它们对3D驱动230而言看起来像是单独的进程(process)和单独的视频数据源。因此,3D驱动230被配置为对哪个视频数据在呈现后导致哪个视频帧进行跟踪。
3D驱动230接收的视频数据被传递给图形处理单元(GPU)235以呈现为原始视频帧。图形处理单元235可选地用于并行呈现多于一个视频流。例如,图形处理单元235可并行地基于从游戏逻辑210A收到的视频数据生成第一视频流,基于从游戏逻辑210B收到的视频数据生成第二视频流,基于从游戏逻辑210C收到的视频数据生成第三视频流等等。并行产生视频流包括同时生成这些流。然而,并行产生视频流可能,但不一定,包括同时在图形处理单元235内处理每个帧。例如,在一些实施例中,3D驱动230替代地传递游戏逻辑210各种成员产生的视频数据到图形处理单元235。游戏逻辑210A生成的数据被用来制作视频帧,并且随后游戏逻辑210B生成的数据被用来制作视频帧等。在这种情况下,视频流并行产生而单个帧串行产生。替代地,多于一个的视频帧可同时在图形处理单元235内产生。在这种情况下,图形处理单元235的第一部分用于生成一帧,而图形处理单元235的第二部分用于生成第二帧,第一和第二帧源自不同的游戏逻辑210产生的视频数据。在一些实施例中,在同一时间,一组图形计算核心用于产生第一帧而第二组图形计算核心用于产生第二帧。生成的视频帧被传回3D驱动230的控制部。
虚拟3D视频驱动220可选地被配置为管理从3D驱动230转移原始呈现视频帧。例如,虚拟3D驱动220可用于协调来自3D驱动230控制部的视频帧到共享存储器240的转移。(呈现后,视频帧在图形处理单元235的存储器中或3D驱动230管理的存储器中。在这两种情况下他们都受3D驱动230的控制。)由于虚拟3D视频驱动220管理来往3D驱动230的视频数据和帧的通信,在一些实施例中,它们能够将视频帧放置在与特定的视频动态编码流水线(DEP)245相关联的共享存储器240的若干部分内。视频DEP 245分别标记为视频DEP 245A、视频DEP 245B、视频DEP 245C等。在这些实施例中,每个视频DEP 245被分配给予共享存储器240内特定的存储器位置,并被配置为从那些位置获取视频数据。
在其他实施例中,虚拟3D驱动220被配置为基于定时管理视频数据到共享存储器240的转移。在这些实施例中,每个虚拟3D驱动220管理的转移都是同步的,并且虚拟3D驱动220在视频DEP 245的数据在共享存储器240中时会通知每个视频DEP 245。一旦被通知的视频DEP 245成员获取这个数据,在虚拟3D视频驱动220的控制下,DEP的另一个成员的数据从3D驱动230转移到共享存储器240。在这些情况下可以基于时间表从本地GPU存储器将像素读回至共享存储器240。此处使用的术语“同步”和“同步的”意思是指两个事件通过时间表、定时信号、时间延迟、或一个事件直到另一事件已满足条件(例如,已完成)才开始,而在时间上相关联。例如,虚拟3D驱动220可同步运行,从而使得一旦图形处理单元235已完成来自第二虚拟3D驱动220的游戏环境的呈现,就从第一虚拟3D驱动220提供游戏环境至3D驱动230。同步的定时可选地选择为最佳使用图形处理单元235。
作为虚拟3D视频驱动220的管理结果,多个视频流可存储在共享存储器240中而没有混淆哪些帧属于哪个视频流。共享存储器240可选地配置为存储音频和视频数据。音频数据可以用视频数据相关讨论中的类似方式存储和/或管理。
虚拟音频驱动285可选地是游戏逻辑210和OS 215之间的虚拟I/O壳的一部分。它们被配置为从游戏逻辑210的角度看像是作为音频驱动并且将其从游戏逻辑210接收的任何音频数据传递给音频DEP 270之一。例如,在一些实施例中,与游戏逻辑210A相关联的虚拟音频驱动285被配置为发送音频数据给音频DEP 270A,并且与游戏逻辑210B相关联的虚拟音频驱动285被配置为发送音频数据给音频DEP 270B等。
一个或多个游戏逻辑210可选地每个都与附加组件环境287相关联。附加组件环境287包括硬件、固件和/或存储在计算机可读介质上的软件,并被配置为用于相关联的游戏逻辑210访问附加组件和/或附加组件数据。例如,在一些实施例中,附加组件环境287包括目录结构,被配置为存储附加组件和/或附加组件数据。具体的目录结构可以取决于游戏逻辑210A或210B的标识。例如,如果游戏逻辑210A被配置为在称作“附加组件”的子目录下寻找附加组件和在附加组件目录的子目录下寻找附加组件数据,那么附加组件环境287可包括这些子目录或这些子目录的虚拟表示。通常,附加组件环境287这样配置,以使得游戏逻辑210A可如同附加组件本地安装在游戏逻辑210A一样运行,例如在和游戏逻辑210A相同的目录结构或相同的本地文件系统内。甚至当游戏逻辑210和相关联的附加组件安装在通过网络115(如因特网)耦合的单独的计算设备上时,其仍然允许使用被配置为一起安装在同一个计算设备上的游戏逻辑210A和附加组件的实例。
在一些实施例中,附加组件环境287包括计算指令,该计算指令被配置为重定向游戏逻辑210和存储在客户端110中的一个上、附加组件服务器165和/或视频服务器系统120内其他位置的附加组件(和附加组件数据)之间的通信。例如,附加组件环境287可包括通过游戏逻辑210的API发送和接收消息和重定向这些消息的计算指令。附加组件环境287可选地包括过滤器,该过滤器被配置为来确定来自API的哪些消息应该重定向以及按照需要重定向特定信息到不同的位置。一个类似的过滤器可包含在附加组件本地。这个过滤器也可以被视为附加组件环境287的一部分并且被配置为从附加组件接收消息(如数据或命令)并将这些消息导向相关联的游戏逻辑210的成员。例如,当附加组件响应来自游戏逻辑210A的请求或命令时,请求或命令的响应被重定向回游戏逻辑210A。发生在两个方向的任意一个方向上的重定向都可包括通过网络115进行的数据包通信。附加组件环境287通常由部分的附加组件管理器160产生或包括部分的附加组件管理器160。
共享存储器240包括随机存取存储器(RAM)或类似的配置为用于高效的视频数据读写的存储器。共享存储器240被配置为为多个不同的视频DEP 245存储视频数据。用于不同视频DEP 245的视频数据可选地同时存储在共享存储器240中。共享存储器240可能由单个硬件设备组成或可能包括多个设备。
视频DEP 245是动态分配编码流水线,其每个都被配置为使用图形处理单元235编码呈现的视频数据。视频DEP 245的每个成员都被配置为编码成提供给视频DEP 245时指定的视频格式。这个格式的指定通常是基于客户端110之一的需要和/或视频服务器系统120和客户端110之间的通信路径的能力。视频DEP 245可选地响应来自一个客户端110的请求被动态提供。例如,当客户端110A连接视频服务器系统120并且发送视频流请求时,可提供视频DEP 245,以包括特别选择以满足客户端110A需求的元件,例如编码器。正如文中其他地方所讨论的,视频DEP 245的成员可选地被配置为使用不止一个编码方案。
视频DEP 245每个都包括抓取器(grabber)247,被配置为抓取来自共享存储器240的视频数据并转移这些视频数据到视频DEP 245的存储器。抓取器247可选地受虚拟3D视频驱动220的成员控制。例如,在各种实施例中,抓取器247由虚拟3D驱动220的成员控制以从共享存储器240内的特定位置和/或在与视频数据至视频DEP 245其他成员的转移同步的特定时间抓取视频数据。
视频DEP 245每个都可选地包括叠加逻辑290,该叠加逻辑被配置为在视频数据上叠加一个或多个视频图像,例如,图形处理单元235生成的帧。叠加是将要放置在第二图像上的第一图像或添加到另一个声音之上的声音。叠加可应用变化的程度的透明度。例如,第一图像可以不透明的,因此,完全隐藏了第二图像被覆盖的部分,或第一图像可以部分透明,在这种情况下,第二个图像在第一图像下仍然某种程度的可见。叠加可覆盖所有或部分底层图像。例如,叠加可被配置为覆盖较大的区域内的特定像素。在这种情况下,叠加被映射成客户端110之一的显示器上的像素或被映射成图形处理单元235生成的图像内的像素。映射可以以不同的方式完成。例如,叠加左下部分的像素可能会被分配给图形处理单元235生成的视频帧的特定像素。在一些实施例中,叠加逻辑290被配置为在应用叠加前调整叠加的大小。叠加逻辑290可选地位于视频DEP 245A内的其他位置。例如,在预处理器250之后。
叠加可包括各种各样的像素/视频图像。例如,叠加可包括通过互联网收到的游戏玩家的实时或静态图像,运动(或其他)事件的实时或静态图像,输入控制(例如,“a”、“b”、“TAB”、“回车”、“空格键”、“功能键”、“箭头”,和/或其他按键或输入设备)的图像,地图,文本和/或类似物。叠加在尺寸和形状方面的差异可以很大。在某些情况下,叠加是呈现3D游戏环境的结果。在图像上可以放置多于一个叠加。这些叠加可以是重叠的或分离的。叠加可选地以编码格式接收并在应用前先解码。
叠加的显示和内容可选地响应于收到的游戏命令,一个或多个的游戏玩家的身份,帐户类型,将要玩的游戏的特性,从先前或实时运动事件或真实世界游戏中采集的视频,游戏规则,和/或游戏逻辑210生成的视频内容。例如,叠加可能包括收到的游戏命令产生的菜单。叠加可能包括响应于像素模式(pixel pattern)的内容,例如,包含在游戏逻辑210生成的视频中的图像。叠加逻辑290可选地被配置为给单个视频帧应用多个叠加,这些叠加可能来自不同的源。
叠加逻辑290可选地被配置为在使用预处理器250预处理视频帧后和/或在使用编码器255之一编码后应用叠加。在一些实施例中,叠加包括在视频源130的输入(如I/O设备145)处通过互联网收到的图像,并且叠加逻辑290包括被配置为从图像中生成叠加的视频处理逻辑。接收到的图像可选地从图像源(如摄像机或文件存储器)接收。
视频DEP 245每个都可选地还包括预处理器(PRE)250。预处理器250被配置为执行色彩空间转换如RGB到YUV和/或缩放操作来提高或降低视频帧的分辨率。在图形处理单元235的输出是在YUV色彩空间或其他想要的色彩空间内的实施例中,预处理器250是可选的。多个预处理器250可以包含在被配置为产生具有不同大小的视频帧的多个视频流的视频DEP 245中。
视频DEP 245的每个都包括至少一个编码器(ENC)255。编码器255分别标记为编码器225A,编码器255B等。每个编码器225都被配置为根据特定的编解码器和可选地根据特定色彩深度和/或帧大小来编码视频数据。例如,编码器225可配置为将视频数据编码为Adobe标准,.flv,.wav,.avi,.mpg,H.264,H.263,On2,VP6,VC-1,WMA,和/或本文所讨论的其他编解码器。
视频DEP 245的成员可包括一个、两个或多个编码器255。这些编码器可以配置为以不同的编解码器和/或相同编解码器的不同格式编码。例如,编码器255A可配置为根据Flash标准以第一帧大小和色彩深度编码而编码器255配置为根据相同Flash标准以第二帧大小和颜色深度编码。视频DEP 245每个成员内的编码器255的标识通常在视频DEP 245被提供时确定。例如,单个命令或命令集可用于创建(提供)视频DEP 245A并规定创建的视频DEP 245A应该包括哪些组件。创建视频DEP 245A在本文其他地方进一步讨论。包括两个或两个以上的编码器255的视频DEP 245的成员替代地被视为两个或更多个具有一些但不是所有共有的组件的独立的视频DEP 245。例如,视频DEP 245A和视频DEP 245B可具有相同的预处理器250但是具有不同编码器255。
在一个示例中,编码器255A被配置为使用H.264编解码器而编码器255B被配置为使用H.263编解码器。有两个或两个以上的不同的编码器可用使得视频EDP 245A能在视频流传递期间改变编码。编码的改变可以是从一种类型的编码到另一种,或仅仅是特定类型的编码的特性的改变。例如,特性可能在色彩深度,每秒帧数,编码选项,像素数量,和/或等等方面改变。在一些实施例中,视频DEP 245A可选地配置为响应于客户端110A或客户端110A和视频源130之间通信信道的特性变化而在编码器255A和255B之间切换。
在实际中,当需要除正在使用的编解码器之外的不同的编解码器时,产生新的视频DEP 245并且在很短的一段时间内与当前视频EDP 245并行执行。新的视频DEP 245可选地是原始视频DEP 245的分支(branch)。例如,原始视频DEP 245的一些组件可用于新视频DEP 245。这两个视频DEP 245可具有以树结构逻辑排列的组件。
在一些实施例中,视频DEP 245被配置为使用两个或更多个不同的编码器同时生成两种或更多种不同的视频流。这些视频流都是基于图形处理单元255呈现的相同游戏环境,并且因此,包括基本相同的材料(可能除了叠加),并可以发送到不同的地方。例如,一个视频流可以发送给客户端110A,而其他发送到客户端110B。或者,一个视频流可以发送给客户端110A,而另一个发送到第三方可以观看该视频的网站。这个网站可选地是社交网站或游戏玩家站点的一部分。这两种不同的视频流在帧速率、编码类型、帧大小、色彩深度等方面可能不同。例如传递到社交网站的视频流可比送到使用客户端110A玩游戏的游戏玩家的视频流质量低得多。第二视频流可被导向正在玩游戏的游戏玩家或只是在观看玩游戏的人。视频流可选地被导向多于一个的地方。
视频DEP 245A可选地包括一个或多个后处理器(Post)260。后处理器260的单独例子分别标记为260A和260B。后处理器260被配置为根据公共或私有的网络协议以适合通过网络通信的格式将编码的视频帧打包在容器中。例如,一些协议(如Adobe RTMP)需要后处理而其他视频标准(如H.264附件B)不需要后处理。每个后处理器260可以关联到编码器255的特定成员,或几个后处理器260可被配置为从编码器255的一个成员接收编码视频帧。
后处理器260的输出被导向I/O设备145以传递给一个或多个客户端110。本文讨论的视频DEP 245的元件包括硬件、固件和/或存储在计算机可读介质上的软件。例如,每个视频DEP 245可能代表一组加载到存储器的并且使用电子处理器执行的软件。
音频DEP 270被配置为接收游戏逻辑210的成员生成的音频数据并且将音频数据编码成音频包。然后使用I/O设备145和网络115发送编码的数据包到客户端110。音频DEP270也可选地被配置为将音频叠加放置到从游戏逻辑210收到的音频数据上。不同的音频DEP 270分别标记为270 A,270B,270C等。
与视频DEP 245一样,音频DEP 270通常是根据需要分配并且被分配用来处理来自游戏逻辑210特定成员的音频数据。这个音频数据可基于视频游戏中的事件。例如,根据游戏规则(如落到水中产生飞溅的声音),视频游戏的一个或多个玩家采取的行动可能导致音频数据。音频DEP 270A的分配通常和视频DEP 245A的分配一样,响应于相同的因素并且以相同的方式执行。例如,包含在音频DEP 270A的元件可响应于客户端110之一的需求。音频DEP 270可从共享存储器240和/或直接从一个虚拟音频驱动285接收音频数据。
音频DEP 270A可选地包括抓取器275,该抓取器被配置为从一个虚拟音频驱动285接收音频数据,从视频服务器系统120外部的一个或多个源接收音频数据,和/或从共享存储器240得到音频数据。例如,在一些实施例中,抓取器275被配置为通过互联网获取从视频源130外部的源(比如一个或多个的客户端110)接收到的数据。从任意这些源收到的音频可以包括语音音频、音乐、音效、声道、警报和/或类似物。例如,使用客户端110A的游戏玩家的声音可从客户端110A接收,或者游戏玩家可提供音乐让使用另一个客户端110的游戏玩家听到。和音频流一样,音频数据可并行从多于一个的游戏玩家处接收。
音频DEP 270A可选地进一步包括叠加逻辑295。叠加逻辑295被配置为将一个或多个音频叠加放置在游戏逻辑210的成员生成的音频数据上。音频叠加可包括音频、音乐、音效、声道、警报和/或类似物。例如,在一些实施例中,音频叠加包括通过互联网从一个或多个游戏玩家收到的作为数据包的语音数据。这些数据包可选地在被包括进叠加之前通过叠加逻辑295解码。在游戏逻辑210的成员生成的音频数据上放置叠加可选地包括添加这些数据到生成的音频数据。全部或部分音频叠加可从音频源130外部的源接收。例如,在一些实施例中,叠加包括通过互联网在I/O设备145处收到的音频数据并且叠加逻辑290包括被配置为从这些音频数据生成音频叠加的音频处理逻辑。当提到音频叠加时,哪些数据是叠加和叠加应用在其上的数据是哪些的标识可以是任意的,因为在一些实施例中,音频数据没有分层次顺序的意义,而视频数据是可能有的。
音频DEP 270A进一步包括音频编码器280A。音频编码器280A被配置为根据音频编解码器将游戏逻辑210的成员生成的音频数据和音频叠加编码成音频包。编码通常在音频叠加已被应用到音频数据后进行。
抓取器275,音频编码器280A和叠加逻辑295包括硬件、固件和/或存储在计算机可读介质上的软件。音频DEP 270B和音频DEP 270C是音频DEP 270A的替代实施例。
视频源130的操作通常由控制器265管理。控制器265包括硬件、固件和/或存储在计算机可读介质上的软件。例如控制器265可包括存储在存储器中并且使用微处理器执行的软件。
在一些实施例中,控制器265被配置为响应玩游戏的请求提供游戏逻辑210A,虚拟音频驱动285和虚拟3D视频驱动220的实例。例如,如果从客户110A收到特定视频游戏的请求,控制器265从存储器155获取游戏逻辑210A、虚拟音频驱动285和虚拟3D视频驱动220并将它们放在工作存储器中。游戏逻辑210A可放置为与客户端110A和游戏服务器125都通信。为了玩视频游戏,随后使用处理器150执行游戏逻辑210A。
在一些实施例中,控制器265被配置为响应玩游戏的请求分配视频DEP 245和/或虚拟音频驱动285的实例。例如,控制器265可配置为首先确定或接收对视频DEP 245A和音频DEP 285A的需求,然后提供符合这些需求的计算指令。视频DEP 245A和音频DEP 285随后关联一个游戏逻辑210和一个虚拟3D驱动220。提供的视频DEP 245A可选地被配置为从共享存储器240内特定的区域获取原始视频数据。
在一些实施例中,通过询问客户端110A的用户来确定对视频DEP 245A和/或音频DEP 285A的需求。例如,控制器265可被配置为导致文本消息出现在客户端110A,该消息请求客户端110A的用户输入用户期望的视频流的特征。这些特性可包括连接类型,帧大小,编码方案,帧率,色彩深度,和/或类似物。输入的特征传回控制器265,当提供元件时,控制器265随后利用这些特征来选择包含在视频DEP 245A和/或音频DEP 285A中的元件。例如,如果用户请求特定的编码方案,那么选择被配置为使用请求的编码方案的编码器255并将其包括在视频DEP 245A中。
在一些实施例中,自动确定对视频DEP 245A和/或音频DEP 285A的需求。例如,使用客户端限定词(qualifier)收集的信息可用来确定对视频DEP 245A的需求。在这个例子中,如果客户端110A只包含Microsoft译码器和Adobe译码器,那么在视频DEP 245A中需要至少一个相应的编码器配置或其变体。使用视频DEP 245A将要生成的视频流的特征,如帧大小、色彩深度和帧速率,也可以以此方式由控制器265确定。
对视频DEP 245A和/或音频DEP 270的需求的确定可包括使用用户提供的特征和自动确定的特征两者。在一些实施例中,可能的特征受用户帐户类型、付款和/或订阅的限制。例如,用户可以付费以获得更高质量的视频流。
控制器265也可管理共享存储器240的共享。例如,控制器265可配置视频DEP 245A和/或音频DEP 285A以使用共享存储器240内特定的存储器位置和/或控制器265可被配置为配置视频DEP 245A和/或音频DEP 285A响应于某些定时信号来访问共享存储器240。所述定时信号是为了不同的视频DEP 245对共享存储器240的访问的同步而计时的。
图3根据本发明各种实施例说明了附加组件管理器160进一步的细节。通常,附加组件管理器160被配置为使能远程选择和安装附加组件以便于使用附加组建环境执行附加组件,管理附加组建数据,关联附加组件和附加组件数据到特定用户(游戏玩家)账户或化身,和/或类似物。附加组件管理器160通常包括存储在计算机可读介质上的软件,但也可包括固件或硬件。附加组件管理器160可设置在单个计算设备上或分布在超过一个的计算设备中。例如,在各种实施例中,附加组件管理器160的组件被设置在视频服务器系统120,附加组件服务器165和/或客户端110B上。
附加组件管理器160包括附加组件安装程序310,其被配置为安装与计算机程序相关联的附加组件。此处所使用的附加组件和计算机程序的相关联是表示附加组件被配置为增强或以其他方式扩展计算机程序的功能。通常,该附加组件被配置为与特定的计算机程序相关联。安装可选地是远程操作,例如,通过网络115响应于从客户端110B接收到的命令可在视频服务器系统120处执行的安装。这些命令是由附加组件管理器160接收并处理的。
附加组件安装程序310执行的安装可包括创建具有兼容附加组件执行的特性的附加组件环境287。如本文其他地方所讨论的,附加组件环境287可包括目录结构,被配置为重定向通信的计算指令等。例如,安装可包括创建相关于游戏逻辑210的目录,子目录,或其他目录结构的元件。在一些实施例中,安装包括添加被配置为重定向消息到其他设备的计算指令。这些计算指令的安装可在游戏逻辑210和/或附加组件的位置处。
可通过附加组件接口320开始和控制安装。附加组件接口320包括被配置为用于显示给客户端110的用户的用户界面,被配置为通过网络115生成和通信该用户界面的计算指令,和/或被配置为接收用户通过界面输入的命令的计算指令。在各种实施例中,配置用户界面以让用户选择要安装的附加组件,为附加组件或附加组件数据存储空间付费,对特定的化身选择应该激活哪个附加组件,打开和关闭附加组件,更新附加组件,管理准许的附加组件列表,和/或卸载附加组件。选择和输入命令通常是通过用户在显示的附加组件接口320的部分点击或输入文本等完成的。这些行为的结果通信到附加组件接口320的其他部分进行处理。部分附加组件接口320可选地作为叠加被包括在通信至客户端110的视频流内。
使用附加组件接口320,用户可以在视频服务器系统120或附加组件服务器165上远程安装一个或多个附加组件,和/或在远离客户端110的附加组件和游戏逻辑210的位置处安装用于重定向的合适的计算指令。例如,用户可以从准许的附加组件列表中选择一个或多个附加组件。准许的附加组件列表可选地存储在存储器155或附加组件服务器165中。准许的附加组件是游戏发行商,视频服务器系统120的管理者,或其他授权者已认证(qualified)的可与游戏逻辑210一起使用的附加组件。使用附加组件接口320用户可选地也可以选择附加组件应该关联哪些帐户,化身和/或游戏,以及附加组件应该存储在哪里,例如,存储在一个客户端110,视频服务器系统120,和/或附加组件服务器165。例如,用户可以指定应该只让一个或多个特定化身使用附加组件,而不让其他化身使用。
在本发明的一些实施例中,用户受附加组件数量和/或用户可用的附加组件数据存储量限制。该限制由附加组件管理器160管理并且可通过购买额外空间增加。例如,在一个实施例中,用户接收三个可以放置附加组件的虚拟“插口(slot)”并且可以通过付款或执行某些行为,如带入额外的玩家来购买额外的插口。
附加组件管理器160可选地被配置为用于用户打开或关闭安装的附加组件。例如,用户可能只有当参与某些游戏中的活动,如玩家与玩家的对战时希望使用附加组件。关闭附加组件并不必然意味着卸载它。在一些实施例中,关闭的附加组件不需要附加组件插口。在这些实施例中,用户可以有比可用插口更多的安装的附加组件。可替代地,每个安装的附加组件,无论是否激活,可能都需要插口。
在一些实施例中,附加组件管理器160被配置为更新附加组件。这些更新可以是手动和/或自动的。手动更新包括,例如,用户给附加组件管理器160提供附加组件发行商的网址或附加组件代码。附加组件管理器160可从发行商或一个客户端110获取附加组件。自动附加组件更新包括从附加组件发行商或其他来源自动获取附加组件。例如,当检测到附加组件过期时,附加组件管理器160可选地被配置为自动请求来自该附加组件的发行商或其他来源的更新,并如果可用,自动安装更新。这个过程可以对游戏玩家透明。在某些情况下,附加组件管理器160会等到来自源的附加组件可用,再执行更新。
具备手动或自动附加组件更新的附加组件管理器160可选地自动配置为检测附加组件何时过期并通知用户。附加组件管理器160也可配置为从附加组件发行商接收新版本附加组件可用的通知。
附加组件管理器160可选地配置为用于客户端110的用户通过附加组件接口320管理附加组件。通过附加组件接口320执行的管理可包括,例如,更新附加组件,购买附加组件,配置附加组件,移动附加组件,浏览安装的附加组件,激活和禁止附加组件,安装附加组件,卸载附加组件和/或类似行为。在一些实施例中,附加组件接口320配置为执行可以在客户端侧附加组件上执行的任何附加组件管理功能。卸载可选地包括移除被配置为重定向附加组件和游戏逻辑210之间消息的计算指令,和/或移除附加组件环境287。如本文其他地方所描述的,在一些实施例中,附加组件管理器160配置为自动更新附加组件。更新模式可选地使用附加组件接口320来管理。
附加组件管理器160可选地进一步包括账户管理器325,其被配置为管理附加组件和/或附加组件数据与客户端110B或其他客户端110的用户的关联。当用户(游戏玩家)安装附加组件时,账户管理器325将附加组件与特定视频游戏,用户,用户的账户,和/或化身相关联。通常这个关联作为每个用户安装的附加组件列表的一部分存储。当用户启动视频游戏时,账户管理器325读取该列表并且识别与用户相关联的附加组件。这些附加组件和合适的附加组件环境然后和游戏逻辑210、视频DEP245A和/或音频DEP 270A的提供一起来提供。附加组件可选地进一步随着用户切换不同的化身或激活和禁止附加组件而被提供或不被提供。
当用户不玩视频游戏时,账户管理器325管理用户相关联的附加组件数据的存储。附加组件数据可存储在存储器155,附加组件服务器165和/或客户端110中。当开始玩游戏时,该数据通常被复制到合适的附加组件环境287中以供一个或多个提供的附加组件使用。当结束玩游戏后,附加组件环境287中附加组件数据的副本被用来更新所存储的副本。附加组件数据存储在数据库,文件结构或类似物中,并且包括识别信息,如记录索引或文件名,该识别信息被配置为确定附加组件数据属于特定的用户(即游戏玩家)。在一些实施例中,帐户管理器325维护被配置为指示附加组件数据的哪些文件属于特定的用户和/或与特定的帐户或化身相关联的索引。
在各种实施例中,账户管理器325被配置为管理附加组件插口的数量和/或每个用户可访问的存储器,以对用户收取额外的插口和/或存储费,和/或提供给用户用于购买的额外的插口或存储。例如,如果用户试图激活比可用插口更多的附加组件,账户管理器可使用附加组件接口320向用户提供购买更多插口的机会。
附加组件管理器160可选地进一步包括被配置为更新附加组件的附加组件更新器330。当附加组件的新版本是可用的或响应于游戏逻辑210的新版本时可发生更新。例如,当游戏发行商发布游戏逻辑210的新版本时,用于该游戏的第三方附加组件通常将需要测试和/或更新。附加组件更新器330被配置为监控这样的事件(例如,附加组件和游戏逻辑210的新版本发布)并且作为响应来执行更新。在一些实施例中,该过程包括接收表明游戏逻辑210的新版本可用的信息,通知附加组件发行商需要附加组件的更新版本,接收更新的附加组件,并用更新的附加组件替代过期的附加组件。任何或所有的这些步骤可以自动进行或可涉及来自客户端110B的用户的输入。在一些实施例中,附加组件更新器330被配置为自动从第三方位置,如ftp服务器或网站获取附加组件。
附加组件管理器160进一步包括附加组件存储器335。附加组件存储器335包括至少一个电子存储设备,其被配置为存储数据、图像和/或可执行计算指令。例如,附加组件存储器335可以包括易失或非易失存储器,硬盘和光驱,静态或动态随机存取存储器,和/或类似物。附加组件存储器335可选地分布在多个包括视频服务器系统120,附加组件服务器165和客户端110的设备中。
附加组件存储器335可选地包括附加组件340。附加组件340包括数据、图像、可执行代码、脚本或其他被配置为用于扩展游戏逻辑210的功能的游戏内容。附加组件340可作为附加组件安装在视频服务器系统120,附加组件服务器165,客户端110,或其他地方上。在直接从第三方资源获取附加组件以用于执行的实施例中,附加组件340是可选的。附加组件存储器355可选地进一步包括准许附加组件340的准许列表345。附加组件340内的计算指令可选地由多于一个的游戏玩家共享。例如,在提供单个附加组件时,可以关联到游戏逻辑210A和游戏逻辑210B,使用不同计算线程独立访问计算指令。
附加组件存储器355可选地包括API过滤器350。如本文其他地方讨论的,API过滤器350包括被配置为用于重定向附加组件340和游戏逻辑210之间通信的计算指令。可配置这些计算指令以使得在附加组件服务器165或一个客户端110上的附加组件可以用来扩展视频服务器系统120上的游戏逻辑210的功能。可替代地,使用API过滤器350,在视频服务器系统120或附加组件服务器165上的附加组件可用于扩展安装在一个客户端110上的游戏逻辑210的功能。当API过滤器350安装在适当的位置时,即使当附加组件和计算机程序被网络115分开时,附加组件也可用来扩展计算机程序的功能。
附加组件存储器355可选地包括与附加组件一起被包括,由附加组件生成或组织的附加组件数据355。附加组件数据355可包括由多于一个的附加组件生成的数据。通常,当开始玩游戏或激活附加组件340时,复制该数据到合适的附加组件环境287中。当结束玩游戏时,附加组件环境287中的附加组件数据用于更新存储在附加组件存储器355中的附加组件数据副本。
图4根据本发明各种实施例说明了客户端的进一步的细节。I/O 405包括为客户端110配置的输入/输出设备,以发送和/或接收信息,如视频、命令、附加组件、附加组件数据、信息请求、游戏状态、客户端标识、玩家标识、游戏命令、安全信息、音频数据和/或类似物。在一些实施例中,I/O包括调制解调器或以太网端口。
客户端侧存储器410包括非临时性模拟和/或数字存储设备。例如,客户端侧存储器410可包括被配置为存储视频帧的模拟存储设备。客户端侧存储器410可包括计算机可读数字存储器,如硬盘,光驱,或固态存储器。客户端侧存储器410被配置为(例如,通过合适的数据结构或文件系统的方式)存储视频帧、人工帧、包括视频帧和人工帧两者的视频流、音频帧、音频流、附加组件、附加组件数据和/或类似物。其中的一些附加组件可与客户端110B上的游戏逻辑210的实例相关联,而相同的游戏逻辑210也与安装在地理上远离客户端110B的设备上的附加组件相关联。
API过滤器350是附加组件环境287的一部分,如本文其他地方所讨论的那样,被配置为重定向通信。处理器420包括中央处理单元(CPU)和至少一个图形处理单元(GPU)两者。显示器430被配置为显示客户端110B本地产生和/或视频服务器系统120产生的视频流。
用户输入440包括,例如,键盘,操纵杆,定点设备,电话,力反馈设备,运动和/或位置传感设备,鼠标,触摸屏,神经接口,摄像机,有待开发的输入设备和/或类似物。
图5根据本发明各种实施例说明了安装和/或使用附加组件的方法。这些方法可以应用在附加组件安装在附加组件服务器165,视频服务器系统120,或一个客户端110上的实施例中,以及游戏逻辑210安装在一个客户端110或视频服务器系统120上的实施例中。所有这些实施例的共同点是至少一个附加组件和相关联的游戏逻辑210在除了一个客户端110外的位置处安装和使用并且通过网络115与该一个客户端110分离。例如,如果游戏逻辑210安装在客户端110B上,那么至少一个相关联的附加组件在客户端110的不同成员,附加组件服务器165,视频服务器系统120,或第三方的位置安装和使用。如果游戏逻辑210安装在除客户端110B以外的其他位置,那么附加组件可以安装在客户端110B或任何本文所讨论的其他位置。图5中涉及安装附加组件的那些步骤可选地与涉及使用所安装的附加组件的那些步骤分开执行。附加组件的安装和执行都可由使用一个客户端110的游戏玩家初始化,或者可指定为游戏逻辑210的默认配置的一部分。一些实施例包括安装多于一个的附加组件。
首先考虑那些游戏逻辑210安装在视频服务器系统120上的实施例,安装过程可以以选择附加组件步骤510开始。在该步骤中,通常由使用一个客户端110的游戏玩家选择将被安装的附加组件。可以从使用附加组件接口320显示给游戏玩家的附加组件列表中选择,或可包括游戏玩家从存储位置或第三方资源选择附加组件。
在一些实施例中,只有准许的附加组件才可以被选择。在这些实施例中,确认附加组件步骤515可选地用于确认所选的附加组件340是包含在准许的附加组件的列表中的。该检查可包括在准许列表查找附加组件的名字(或其他标识符)或将准许的附加组件的校验和,URL或其他签名和所选附加组件的对应特征相比较。
在建立环境步骤520中,附加组件管理器160用于建立附加组件环境287的实例以执行选定的附加组件。在不同的实施例中,附加组件环境287建立在视频服务器系统120,附加组件服务器165,或一个客户端110上。例如,在视频源130上建立附加组件环境287可包括创建合适的目录结构以使得附加组件可以安装在相关联的游戏逻辑210所期望的位置上。在一个更具体的例子中,如果游戏逻辑210被配置为查找相对于游戏逻辑210目录的,叫做“附加组件”的子目录,那么创建环境步骤520可包括在合适的位置创建这个子目录。
在附加组件服务器165或一个客户端110上建立附加组件环境287通常包括在合适的位置安装被配置为重定向游戏逻辑210和附加组件之间的通信的计算指令。例如,第一API过滤器350可安装在游戏逻辑210的API处和第二API过滤器350可安装在将执行附加组件的位置处。这些API过滤器350被配置为重定向给彼此的消息从而使得被配置为在相同计算设备上共同运行的附加组件和相关联的游戏逻辑210可以通过网络115相互通信而运行。建立附加组件环境287可选地包括配置每个API过滤器350,从而使得无论它们在哪里安装都可以互相通信。例如,每个API过滤器350可被配置具有IP地址或对应API过滤器350的统一资源定位器。
在接收附加组件步骤525中,从存储器155,附加组件存储器335,一个客户端110或第三方位置接收要安装的附加组件。附加组件可选地通过网络115接收。在将要执行附加组件的位置,例如建立环境步骤520中建立的附加组件环境287处接收附加组件。接收附加组件步骤525的一些实施例包括从附加组件存储器335,客户端110B或第三方位置通信附加组件到视频服务器系统120。接收附加组件步骤525的一些实施例包括从附加组件存储器335,存储器155,第三方位置通信附加组件到客户端110B。
在放置步骤530中,在创建环境步骤520中创建的附加组件环境287中安装/放置接收到的附加组件。该安装可以发生在视频源130的目录结构内,或者在安装在附加组件服务器165,视频源130和/或客户端110上的API过滤器350的位置处。安装可包括提供附加组件的计算指令和可选地提供默认附加组件数据。创建环境步骤520可选地在放置步骤530之后或与其同时执行。例如,API过滤器350可在附加组件安装后安装。放置步骤520可选地包括与附加组件一起提供附加组件数据。该附加组件数据可能会或可能不会来自与附加组件相同的位置。例如,附加组件可从附加组件服务器165接收而附加组件数据从客户端110B接收。接收到的附加组件数据可以是默认附加组件数据或已经被游戏玩家行为修改过的附加组件数据。
在可选的关联步骤535中,放置步骤530中安装的附加组件和可选地所提供的附加组件数据,都关联到一个客户端110或一个客户端110的用户,即游戏玩家。该关联可涉及在分配给用户的附加组件列表中包括该附加组件的标识符或复制该附加组件到分配给用户的目录中。与用户的关联可为用户的账户,用户,特定的视频游戏,一个或多个特定的化身,和/或类似物所特有。当附加组件安装在一个客户端110或已经关联了帐户,用户等的位置上时,关联步骤530是可选地。在这种情况下与位置、设备、地址等等的关联,可能代替或补充与特定用户的关联。
一旦附加组件关联到帐户,用户,或位置等等,每次用户请求执行游戏逻辑210时,都可提供和/或使用它。例如,关联到用户的一个或多个附加组件可与游戏逻辑210A和视频DEP 245A接近同时地提供。提供过程可以包括如本文所述步骤510到530的变化。例如,当附加组件在先前已安装后再被提供时,选择附加组件步骤510可以仅仅包括解析之前关联到用户或位置等的附加组件列表。接收附加组件步骤525可以仅仅包括从一个或多个存储位置,如存储器155,附加组件存储器335,或客户端侧存储器410获取该附加组件和相关联的附加组件数据。
一旦提供了附加组件和任何相关联的附加组件数据,使用附加组件可以以执行游戏步骤540开始。在该步骤中,通常响应于从一个客户端110收到的请求来执行游戏逻辑210。该执行可选地包括在视频服务器系统120和游戏服务器125之间的通信,从而在视频服务器系统120处维护多玩家视频游戏的状态。
在接收命令步骤545中,通过一个游戏逻辑210从一个客户端110接收游戏命令。这通常是通过网络115发生。游戏命令可以是被配置为用于控制或使用附加组件的命令。例如,游戏命令可以被配置为使附加组件显示某些信息,执行某些功能或可以包括将由附加组件处理的数据。
在转发命令步骤550中,接收命令步骤550中接收的游戏命令被识别为附加组件的命令并转发给附加组件。在附加组件安装在和接收命令的游戏逻辑210相同的计算设备上的实施例中,该命令可从游戏逻辑210的API直接传递到附加组件的API。例如,游戏命令可通过游戏逻辑210A API传递到附加组件API的存储器位置。
在附加组件安装在与执行游戏逻辑210的不同的计算设备上的实施例中,API过滤器350用于在游戏逻辑210和附加组件之间通信接收到的命令。例如,命令可能首先从游戏逻辑210A通信到视频源130的第一API过滤器350。从游戏逻辑210A API的角度看,第一API过滤器350被配置为看起来像是附加组件API。因此,从游戏逻辑210A到第一API过滤器350的通信可以通过提供命令或指向命令的指针,到第一API过滤器350的存储器位置来实现。第一API过滤器350被配置为通信命令至在附加组件的位置,例如一个客户端110B或附加组件服务器165处的第二API过滤器350。该通信可以通过使用TCP/IP,UDP/IP,或者一些其他通信标准的网络115来发生。一旦收到命令,第二API过滤器350被配置为转发该命令至附加组件。第二API过滤器350被配置为从附加组件的角度看起来像是游戏逻辑API。因此,从第二API过滤器350到附加组件的通信可以通过提供命令或指向命令的指针,到附加组件存储器位置来实现。
在处理命令步骤555中,使用附加组件来处理命令。该处理可包括附加组件数据的产生。例如,命令可包括由用户或游戏逻辑210A提供的数据。该命令可能会导致附加组件记录或检测游戏中的事件并基于这些事件生成附加组件数据。该命令可导致附加组件提供包含在视频服务器系统120产生的音频或视频流中的音频和图像数据给一个客户端210。该命令可能导致图像在格式之间转换。例如,转换为pdf文件。从处理命令步骤555产生的该音频或图像数据,或任何其他数据,可选地通信到视频服务器系统120或一个客户端110,例如,通过网络115。该命令可能导致目前现有附加组件技术已知的任何其他结果。
在可选的存储步骤560中,存储处理命令步骤550中产生的附加组件数据。该存储器可能靠近附加组件,或者替代地在通过网络115与附加组件通信的位置处。例如,不管附加组件在哪,数据都可存储在视频服务器系统120,附加组件服务器165,和/或一个客户端110上。存储可实时或延迟后发生。例如,在一些实施例中,在游戏逻辑210A的特定执行期间,使用附加组件本地的附加组件数据的工作副本,并且当执行结束时,附加组件数据存储在其他地方。
在可选的生成步骤565中,视频数据作为附加组件处理游戏命令的结果产生。例如,游戏命令可能代表获得显示给游戏玩家的附加组件数据、位置、地图、文字、通知、物品和/或类似物(或呈现给游戏玩家的声音)的请求。视频数据可能包括二维或三维图像。例如,为了指示资源的位置,可能从存储器中读取二维图像/符号并且通过应用为叠加来转换为视频数据。叠加的使用在2010年6月29日提交的序列号为12/826,130的题为《Video GameOverlay》的美国专利申请中进一步讨论。在此通过引用从而包括该专利申请的内容在本文中。可替代性地,视频数据可能是附加组件添加二维或三维对象到随后使用GPU235呈现成视频数据的游戏环境中的结果。
在可选地提供步骤570中,生成步骤560中生成的视频数据作为视频流的一部分提供给一个或更多的客户端110。通常,这些客户端110包括客户端110的成员,在接收命令步骤545中从该客户端110的成员收到游戏命令,并且通过网络115提供视频流。例如,如果从客户端110B收到游戏命令,视频可提供给客户端110A和第三方目的地,以及客户端110B。第三方目的地可以是储存位置、网站、社交网站、电视、电话、和/或类似物。
现在考虑游戏逻辑210安装在客户端110B上并且在使用时至少一个附加组件在客户端110B外部的实施例。在这些实施例中,因为游戏环境可以基于游戏状态生成,游戏环境可以呈现成视频,视频可以显示,所有都在客户端110上,视频服务器系统120因此是可选的。游戏状态可以基于从游戏服务器125,客户端110的其他成员收到的状态信息,和/或仅仅基于客户端110B内的信息。图5所示的这些步骤可能变化如下:
在建立环境步骤520中,游戏逻辑210和附加组件必须在不同的计算设备上。这是因为,在讨论的实施例中,游戏逻辑210在客户端110B上并且至少一个游戏逻辑210和附加组件在被网络115分开的不同计算设备上。建立环境步骤520,因此包括在游戏逻辑210的位置和附加组件的位置都提供API过滤器350。在一些实施例中,一个游戏逻辑210和一个附加组件都在客户端110B上,而至少一个其他附加组件在不同的计算设备上,例如附加组件服务器165和/或视频服务器系统120上。在这些实施例中,建立环境步骤520指向为不同计算设备上的附加组件(们)创建附加组件环境287。
在接收附加组件步骤525中,附加组件是在附加组件服务器165,视频服务器系统120,不同的客户端110,或第三方位置,比如web服务器、文件服务器,或者附加组件开发商控制的其他位置处接收。在放置步骤530中,附加组件安装在除客户端110以外的位置,在客户端110上安装有将通过附加组件增强的游戏逻辑210的实例。例如,如果游戏逻辑210被设置在客户端210B上,附加组件可安装在客户端210C,附加组件服务器165,视频服务器系统120,或第三方的位置。放置步骤530可选地包括从客户端210B,附加组件服务器165或视频服务器系统120通信附加组件数据到附加组件安装的位置。
在关联附加组件步骤535中,用来保存附加组件关联的附加组件列表可选地存储在客户端210B。执行游戏步骤540和接收命令步骤545可选地限制在客户端110B。例如,接收命令步骤545可能包括通信来自用户输入440的命令到处理器420,而非通过网络115通信命令。在转发命令步骤550中,接收命令步骤544中收到的命令从客户端110B转发到附加组件的位置。处理步骤555产生的任何数据可选地通信回客户端210B。
在可选的存储步骤560中,处理命令步骤550中生成的数据存储在客户端110B,附加组件的位置,和/或其他地方。提供步骤570可以仅包括从处理器420提供产生步骤560中产生的视频数据到显示器430。虽然,在一些实施例中,该视频数据也可以提供给客户端110的其他成员或本文讨论的第三方位置。
现在回到更一般的情况,游戏逻辑210可以被设置在客户端110或视频服务器系统120上。图6根据本发明的各种实施例,说明了自动更新附加组件的方法。附加组件通常响应于收到游戏逻辑210更新版本而更新。图6示出步骤的任何组合可自动执行。获得更新附加组件的请求在收到执行游戏逻辑210更新版本的请求前做出是可能的。图6说明的方法可选地用来响应于接收一个更新的游戏逻辑210更新多于一个的附加组件。
在接收游戏逻辑更新步骤610中,游戏逻辑210的新版本在视频源130或客户端210B处接收。新版本通常是从相关联的视频游戏的发行商或其代理商收到。新版本可选地通过网络115接收。游戏逻辑210的新版本被配置为替换以前的版本。接收游戏逻辑更新步骤610可选地包括禁用任何过期的附加组件。
在确定附加组件使用步骤615中,确定附加组件是否已经用于增强游戏逻辑210先前版本的功能。确定附加组件使用步骤615可以包括,例如,检查与特定游戏逻辑210、视频游戏、用户、用户账户、客户端110等相关联的附加组件列表。这个列表可通过账户管理器325维护。可替代性地,确定附加组件使用步骤615可包括检查被配置为存储附加组件的存储位置以及查找被配置为增强游戏逻辑210的附加组件。
在发送请求步骤620中,发出请求获得更新的附加组件的请求。该请求通常向第三方做出,如附加组件的发行商或其代理商。请求包括更新应被提供到的地址,和可选地包括附加组件的标识符和附加组件应该与其兼容的游戏逻辑210的新版本。例如,请求可表明用于“魔兽世界6.542版本”游戏逻辑210的“首领警报”的新版本发送至视频服务器120,附加组件服务器165或客户端110B的地址。请求可选地通过网络115发送。发送请求步骤620可以在接收游戏逻辑更新步骤610中收到游戏逻辑210更新版本的时间和接收到请求执行游戏逻辑210的更新版本的请求的第一时间之间执行。发送请求步骤620可响应于在游戏逻辑更新步骤610中接收游戏逻辑210的更新版本而自动执行。发送请求步骤620可选地重复直到收到更新的附加组件。例如,请求可以最初每10分钟发送而随后每一小时发送。
在接收附加组件更新步骤625中,在发送请求步骤620中提供的地址处接收更新的附加组件。更新后的附加组件被配置为增强接收游戏逻辑更新步骤610收到的游戏逻辑210新版本,并可以通过网络115接收。接收附加组件更新步骤625可选地在接收游戏逻辑更新步骤610中收到游戏逻辑210的新版本的时间和收到执行游戏逻辑210更新版本的第一请求的时间之间执行。
在安装步骤630中,安装接收附加组件更新步骤625中收到的更新附加组件。安装可在存储器如附加组件存储器335或客户端侧存储器410上的附加组件中。替代地,安装可在附加组件环境287中,其中其可被使用而无需进一步提供。安装过程可选地类似于如图5所讨论的放置步骤530。安装步骤630可选地自动执行,例如不需要游戏玩家命令安装。
在接收执行请求步骤635中,接收执行在接收游戏逻辑更新步骤610中收到的游戏逻辑210的新版本的请求。该请求通过一个客户端110从游戏玩家接收,并且可选地通过网络115在视频源130处接收。接收执行请求步骤635可在发送请求步骤620,接收附加组件更新步骤625和安装步骤630中的任意一个或几个之前或之后发生。
在可选的请求捐赠步骤640中,捐赠给附加组件发行商的请求呈现给游戏玩家。通常是游戏玩家在接收执行请求步骤635中做出执行请求。请求捐赠可选地作为使用视频服务器系统120产生的视频流的叠加呈现。
在可选的通知用户步骤645中,通知在接收执行请求步骤635中做出执行请求的游戏玩家已接收到附加组件的新版本。该通知也可选地作为使用视频服务器系统120产生的视频流的叠加呈现。
本文特别说明和/或描述了几个实施例。然而,应当理解,修改和变化是被上述教导所覆盖的,并且在所附权利要求的范围内,不偏离本发明的精神及其期望范围。例如,尽管这里给出的示例是针对电脑游戏,在其他实施例中,教导的系统和方法应用于其它类型的计算机程序。这些其他类型的计算机程序可以包含图形程序、电子表格、文字处理、数据库程序、会计程序、项目管理计划、视频编辑程序、图像编辑程序、网站开发程序、库存程序、电子邮件程序、文件管理程序、文档管理/查看程序、绘图/计算机辅助设计程序、演示程序、和/或类似程序。此外,尽管本文讨论的许多例子涉及单个附加组件。公开的系统和方法可以应用于多组附加组件。这些组可以作为一个附加组件包来处理。
文中讨论的实施例是对本发明的说明。虽然本发明的实施例通过参考示例而描述,描述的方法和/或特定结构的各种修改或适应对本领域技术人员而言可以是显而易见的。依靠本发明的教导并通过这些教导对现有技术有贡献的所有这些修改、适应、或变化被认为是在本发明的精神和范围内的。因此,这些描述和附图不应被视为是限制性的,因为可理解,本发明绝不局限于示出的实施例。
本文所指的计算系统可包括集成电路、微处理器、个人计算机、服务器、分布式计算系统、通信设备、网络设备、或类似物,以及各种相同物的组合。计算系统也可能包括易失性和/或非易失性存储器如随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、磁介质、光介质、纳米介质、硬盘、光盘、数字通用光盘(DVD),和/或被配置为存储模拟或数字信息,如数据库中的其他设备。上面提到的逻辑的各种例子可以包括硬件、固件或存储在计算机可读介质上的软件,或其组合。此处使用的计算机可读介质,明确排除了纸。本文提到的方法的计算机实现步骤可包括一组存储在计算机可读介质上的指令,当其执行时,导致计算系统来执行这些步骤。依据程序软件的指令被编程为执行特定的功能的计算系统是用于执行那些特定功能的特殊用途计算系统。特殊用途计算系统在执行那些特定功能时处理的数据至少电子地保存在计算系统的缓存中,随着所存储的数据的每次改变而在物理上将特殊用途计算系统从一种状态改变到下一种状态。

Claims (20)

1.一种游戏服务器系统,包括:
视频源,被配置为使用游戏逻辑生成视频帧和将所述视频帧编码为视频流,所述视频流是基于视频游戏的游戏环境的,所述游戏逻辑通过叠加来增强;
I/O设备,被配置为将所述视频流通信到地理上远离的客户端和从客户端接收游戏命令;
叠加逻辑,用于访问叠加并将所述叠加应用于所述视频流的所述视频帧的一部分;
处理器,被配置为执行所述游戏逻辑和所述叠加逻辑,以使所述视频源利用所述叠加对所述视频帧进行编码,并将具有叠加的视频流通信到所述客户端。
2.如权利要求1所述的游戏服务器系统,其中所述叠加包括图像数据或音频数据中的一个。
3.如权利要求1所述的游戏服务器系统,其中所述叠加是图像数据,并且所述图像数据与透明度的程度相关联。
4.如权利要求1所述的游戏服务器系统,其中所述叠加是图像数据,并且所述图像数据被配置为在被应用于所述视频帧的所述部分之前被调整大小,其中所述视频帧的所述部分与像素位置相关联。
5.如权利要求1所述的游戏服务器系统,其中叠加是静态图像或运动图像。
6.如权利要求1所述的游戏服务器系统,其中所述叠加提供能够与之接口的输入控制的图形图像,以向所述视频游戏提供控制。
7.如权利要求1所述的游戏服务器系统,其中所述叠加提供被添加到所述视频游戏的所述视频帧的图像数据的图像数据。
8.如权利要求1所述的游戏服务器系统,其中所述叠加是除了所述视频游戏的音频数据之外的音频数据。
9.如权利要求1所述的游戏服务器系统,其中所述叠加是提供除了由所述视频游戏产生的信息之外的附加信息的图像数据。
10.如权利要求1所述的游戏服务器系统,其中所述视频源包括响应于玩所述视频游戏的请求而分配的动态编码流水线。
11.一种用于通过一个或多个游戏服务器传输视频游戏的计算机可实现方法,包括:
通过所述一个或多个服务器的游戏逻辑,生成被编码以产生视频流的视频帧,所述视频流是基于视频游戏的游戏环境的;
通过所述一个或多个服务器处理叠加逻辑,所述游戏逻辑被配置为与所述叠加逻辑通信以访问叠加并将所述叠加应用于所述视频流的所述视频帧的一部分;以及
在编码之后,将包括所述叠加的所述视频流通信到地理上远离的客户端,所述游戏逻辑被配置为在玩所述视频游戏期间从所述客户端接收游戏命令。
12.如权利要求11所述的方法,其中所述叠加包括图像数据或音频数据中的一个。
13.如权利要求11所述的方法,其中所述叠加是图像数据,并且所述图像数据与透明度的程度相关联。
14.如权利要求11所述的方法,其中所述叠加是图像数据,并且所述图像数据被配置为在被应用于所述视频帧的所述部分之前被调整大小,其中所述视频帧的所述部分与像素位置相关联。
15.如权利要求11所述的方法,其中叠加是静态图像或运动图像。
16.如权利要求11所述的方法,其中所述叠加提供能够与之接口的输入控制的图形图像,以向所述视频游戏提供控制。
17.如权利要求11所述的方法,其中所述叠加提供添加到所述视频游戏的所述视频帧的图像数据的图像数据。
18.如权利要求11所述的方法,其中所述叠加是除了所述视频游戏的音频数据之外的音频数据。
19.如权利要求11所述的方法,其中所述叠加是提供除了由所述视频游戏产生的信息之外的附加信息的图像数据。
20.如权利要求11所述的方法,其中所述服务器的一个或多个与响应于玩所述视频游戏的请求而分配的动态编码流水线相关联。
CN201910345262.4A 2010-09-13 2011-09-13 附加组件管理 Active CN110336850B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US38247010P 2010-09-13 2010-09-13
US61/382,470 2010-09-13
PCT/US2011/051461 WO2012037165A2 (en) 2010-09-13 2011-09-13 Add-on management
US13/231,751 US10039978B2 (en) 2010-09-13 2011-09-13 Add-on management systems
CN201180047650.6A CN103403694B (zh) 2010-09-13 2011-09-13 附加组件管理

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201180047650.6A Division CN103403694B (zh) 2010-09-13 2011-09-13 附加组件管理

Publications (2)

Publication Number Publication Date
CN110336850A true CN110336850A (zh) 2019-10-15
CN110336850B CN110336850B (zh) 2022-08-09

Family

ID=45807247

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910345262.4A Active CN110336850B (zh) 2010-09-13 2011-09-13 附加组件管理
CN201180047650.6A Active CN103403694B (zh) 2010-09-13 2011-09-13 附加组件管理

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201180047650.6A Active CN103403694B (zh) 2010-09-13 2011-09-13 附加组件管理

Country Status (5)

Country Link
US (7) US9878240B2 (zh)
EP (1) EP2609520B1 (zh)
KR (4) KR102288072B1 (zh)
CN (2) CN110336850B (zh)
WO (1) WO2012037165A2 (zh)

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US9077991B2 (en) * 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US20090118019A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US8549574B2 (en) 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
US9349201B1 (en) 2006-08-03 2016-05-24 Sony Interactive Entertainment America Llc Command sentinel
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
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
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
US9498714B2 (en) 2007-12-15 2016-11-22 Sony Interactive Entertainment America Llc Program mode switching
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US9426502B2 (en) 2011-11-11 2016-08-23 Sony Interactive Entertainment America Llc Real-time cloud-based video watermarking systems and methods
US9723319B1 (en) 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US8676591B1 (en) 2010-08-02 2014-03-18 Sony Computer Entertainment America Llc Audio deceleration
EP2609520B1 (en) 2010-09-13 2018-05-30 Sony Computer Entertainment America LLC Add-on management
KR20170129967A (ko) * 2010-09-13 2017-11-27 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 게임 서버를 포함하는 컴퓨터 게임 시스템에서 통신 네트워크를 통해 클라이언트들 간에 게임 세션을 이송하는 방법
US20130210522A1 (en) * 2012-01-12 2013-08-15 Ciinow, Inc. Data center architecture for remote graphics rendering
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9751011B2 (en) * 2012-05-25 2017-09-05 Electronics Arts, Inc. Systems and methods for a unified game experience in a multiplayer game
US20140004944A1 (en) * 2012-06-28 2014-01-02 Zynga Inc. Integrating online games with online feeds
US9135030B2 (en) * 2012-06-29 2015-09-15 M-Files Oy Method, an apparatus and a computer program product for extending an application in a client device
US8961302B2 (en) 2012-07-20 2015-02-24 Microsoft Technology Licensing, Llc Game browsing
US9381432B2 (en) 2012-08-24 2016-07-05 Microsoft Technology Licensing, Llc Game migration
EP2904591A1 (en) * 2012-10-02 2015-08-12 DR Gaming Technology Europe NV Controller for gaming devices
US20140171204A1 (en) * 2012-12-13 2014-06-19 Microsoft Corporation Asynchronous cloud rendered video delivery
US9717982B2 (en) 2012-12-21 2017-08-01 Microsoft Technology Licensing, Llc Client rendering of latency sensitive game features
US9526980B2 (en) 2012-12-21 2016-12-27 Microsoft Technology Licensing, Llc Client side processing of game controller input
CN103916432A (zh) * 2013-01-04 2014-07-09 云联(北京)信息技术有限公司 一种基于云计算的游戏实现方法及系统
JP2016508007A (ja) 2013-02-07 2016-03-10 アップル インコーポレイテッド デジタルアシスタントのためのボイストリガ
US9694277B2 (en) * 2013-03-14 2017-07-04 Microsoft Technology Licensing, Llc Client side processing of character interactions in a remote gaming environment
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US9564102B2 (en) 2013-03-14 2017-02-07 Microsoft Technology Licensing, Llc Client side processing of player movement in a remote gaming environment
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9027032B2 (en) 2013-07-16 2015-05-05 Damaka, Inc. System and method for providing additional functionality to existing software in an integrated manner
US9661269B2 (en) 2013-10-03 2017-05-23 Polycom, Inc. System for enabling communications and conferencing between dissimilar computing devices including mobile computing devices
US10391403B2 (en) * 2013-11-14 2019-08-27 Sony Interactive Entertainment LLC Game extensions in a gaming environment
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10315108B2 (en) 2015-08-19 2019-06-11 Sony Interactive Entertainment America Llc Local application quick start with cloud transitioning
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US10852912B2 (en) 2016-06-12 2020-12-01 Apple Inc. Image creation app in messaging app
US10785175B2 (en) * 2016-06-12 2020-09-22 Apple Inc. Polling extension application for interacting with a messaging application
US10595169B2 (en) 2016-06-12 2020-03-17 Apple Inc. Message extension app store
US10552480B1 (en) * 2017-02-21 2020-02-04 Amazon Technologies, Inc. Package management for asset processing
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US10964423B2 (en) * 2017-09-12 2021-03-30 AebeZe Labs System and method for labeling a therapeutic value to digital content
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10668383B2 (en) * 2018-07-11 2020-06-02 Zygna Inc. GPU authentication
KR101950001B1 (ko) * 2018-08-31 2019-02-20 넷마블 주식회사 게임 어플리케이션 이외의 어플리케이션을 통한 제어에 기초하여 게임 서비스를 제공하는 서버 및 방법
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11449920B1 (en) * 2019-12-12 2022-09-20 Amazon Technologies, Inc. Providing add-ons for network applications
US11638874B2 (en) * 2020-01-06 2023-05-02 Square Enix Ltd. Systems and methods for changing a state of a game object in a video game
US11771999B2 (en) * 2020-03-20 2023-10-03 Valve Corporation Personalized game notifications
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
EP4064208A4 (en) * 2020-07-27 2023-08-23 VRC Inc. SERVERS AND INFORMATION PROCESSING PROCEDURES
US11902343B1 (en) 2021-04-19 2024-02-13 Damaka, Inc. System and method for highly scalable browser-based audio/video conferencing
US11770584B1 (en) 2021-05-23 2023-09-26 Damaka, Inc. System and method for optimizing video communications based on device capabilities
US11868788B2 (en) 2021-11-04 2024-01-09 Here Global B.V. Method and apparatus for application plug-in management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060224761A1 (en) * 2005-02-11 2006-10-05 Vemotion Limited Interactive video applications
US20100134692A1 (en) * 2006-09-04 2010-06-03 Michael Costello Displaying Video
WO2010095411A1 (ja) * 2009-02-19 2010-08-26 パナソニック株式会社 記録媒体、再生装置、集積回路

Family Cites Families (373)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4372558A (en) 1978-11-21 1983-02-08 Matsushita Electric Industrial Co., Ltd. Remote game apparatus
US5263723A (en) 1989-10-27 1993-11-23 Wakeman & Deforrest Corporation Interactive contest system
US7448063B2 (en) 1991-11-25 2008-11-04 Actv, Inc. Digital interactive system for providing full interactivity with live programming events
US5926208A (en) 1992-02-19 1999-07-20 Noonen; Michael Video compression and decompression arrangement having reconfigurable camera and low-bandwidth transmission capability
US5553864A (en) 1992-05-22 1996-09-10 Sitrick; David H. User image integration into audiovisual presentation system and methodology
JP3148045B2 (ja) 1992-06-17 2001-03-19 富士通株式会社 三次元物体cg作成装置
JPH07325934A (ja) 1992-07-10 1995-12-12 Walt Disney Co:The 仮想世界に向上したグラフィックスを提供する方法および装置
US5411270A (en) 1992-11-20 1995-05-02 Sega Of America, Inc. Split-screen video game with character playfield position exchange
US5889499A (en) 1993-07-29 1999-03-30 S3 Incorporated System and method for the mixing of graphics and video signals
US6611607B1 (en) 1993-11-18 2003-08-26 Digimarc Corporation Integrating digital watermarks in multimedia content
CA2144253C (en) 1994-04-01 1999-09-21 Bruce F. Naylor System and method of generating compressed video graphics images
WO1995031061A1 (en) 1994-05-05 1995-11-16 Catapult Entertainment, Inc. Network architecture for real-time video games
US5636209A (en) 1994-05-05 1997-06-03 Perlman; Stephen G. Modem to support multiple site call conferenced data communications
US5558339A (en) 1994-05-05 1996-09-24 Perlman; Stephen G. Network architecture to support recording and playback of real-time video games
JPH07319747A (ja) 1994-05-24 1995-12-08 Nec Telecom Syst Ltd データ更新システム
US5641319A (en) 1994-08-10 1997-06-24 Lodgenet Entertainment Corporation Entertainment system for providing interactive video game responses to the game interrogations to the video game engines without being processed by the host computer
US5689577A (en) 1994-10-14 1997-11-18 Picker International, Inc. Procedure for the simplification of triangular surface meshes for more efficient processing
US5685775A (en) 1994-10-28 1997-11-11 International Business Machines Corporation Networking video games over telephone network
AU4158496A (en) 1994-11-14 1996-06-06 Catapult Entertainment, Inc. Method and apparatus for synchronizing the execution of multiple video game systems in a networked environment
US6005561A (en) 1994-12-14 1999-12-21 The 3Do Company Interactive information delivery system
US7690043B2 (en) 1994-12-19 2010-03-30 Legal Igaming, Inc. System and method for connecting gaming devices to a network for remote play
US7260834B1 (en) 1999-10-26 2007-08-21 Legal Igaming, Inc. Cryptography and certificate authorities in gaming machines
US20040209660A1 (en) 1994-12-19 2004-10-21 Carlson Rolf E. Universal gaming engine
US6272223B1 (en) 1997-10-28 2001-08-07 Rolf Carlson System for supplying screened random numbers for use in recreational gaming in a casino or over the internet
US5707286A (en) 1994-12-19 1998-01-13 Mikohn Gaming Corporation Universal gaming engine
US5623424A (en) 1995-05-08 1997-04-22 Kabushiki Kaisha Toshiba Rate-controlled digital video editing method and system which controls bit allocation of a video encoder by varying quantization levels
US5852672A (en) 1995-07-10 1998-12-22 The Regents Of The University Of California Image system for three dimensional, 360 DEGREE, time sequence surface mapping of moving objects
US5935004A (en) 1995-08-28 1999-08-10 Mediaone Group, Inc. System and method for scheduled delivery of a software program over a cable network
GB9519921D0 (en) 1995-09-29 1995-11-29 Philips Electronics Nv Graphics image manipulation
JP3745802B2 (ja) 1995-10-13 2006-02-15 株式会社日立製作所 画像生成/表示装置
US6331856B1 (en) 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
US5738583A (en) 1996-02-02 1998-04-14 Motorola, Inc. Interactive wireless gaming system
US5828843A (en) 1996-03-21 1998-10-27 Mpath Interactive, Inc. Object-oriented method for matching clients together with servers according to attributes included in join request
US6015344A (en) 1996-04-05 2000-01-18 Rlt Acquisition, Inc. Prize redemption system for games
US5846132A (en) 1996-04-10 1998-12-08 William W. Junkin Trust Interactive system allowing simulated or real time participation in a league
US6050898A (en) 1996-05-15 2000-04-18 Vr-1, Inc. Initiating and scaling massive concurrent data transaction
US6175854B1 (en) 1996-06-11 2001-01-16 Ameritech Services, Inc. Computer system architecture and method for multi-user, real-time applications
US5793985A (en) 1996-06-17 1998-08-11 Hewlett-Packard Company Method and apparatus for block-based motion estimation
US5828370A (en) 1996-07-01 1998-10-27 Thompson Consumer Electronics Inc. Video delivery system and method for displaying indexing slider bar on the subscriber video screen
US5878283A (en) 1996-09-05 1999-03-02 Eastman Kodak Company Single-use camera with motion sensor
US6085186A (en) 1996-09-20 2000-07-04 Netbot, Inc. Method and system using information written in a wrapper description language to execute query on a network
US6025801A (en) 1996-10-01 2000-02-15 Philips Electronics North America Corporation Video game with local updates mitigates latency effects in wide area network
JP2000502276A (ja) 1996-10-01 2000-02-29 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ エージェントによって減少されるマルチプレーヤビデオゲームにおけるラテンシーの影響
TW394702B (en) 1996-10-09 2000-06-21 Sega Enterprises Kk Player, solution and play implementation and play system
US5905988A (en) 1996-11-13 1999-05-18 Imaginon Method and apparatus for database transformation and adaptive playback
US6480541B1 (en) 1996-11-27 2002-11-12 Realnetworks, Inc. Method and apparatus for providing scalable pre-compressed digital video with reduced quantization based artifacts
US5974442A (en) 1996-12-31 1999-10-26 Intel Corporation Communication technique for interactive applications over a network with delays
US5899810A (en) 1997-01-24 1999-05-04 Kaon Interactive Corporation Distributed game architecture to overcome system latency
US6039648A (en) 1997-03-04 2000-03-21 Casino Data Systems Automated tournament gaming system: apparatus and method
US6152824A (en) 1997-03-06 2000-11-28 Mpath Interactive, Inc. Online gaming architecture
US5974503A (en) 1997-04-25 1999-10-26 Emc Corporation Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names
US6453334B1 (en) 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US6115038A (en) 1997-07-09 2000-09-05 Christofferson Enterprises, Llc Method for creating lower cost real-time 3D graphics in a distributed environment
US6112212A (en) * 1997-09-15 2000-08-29 The Pangea Project Llc Systems and methods for organizing and analyzing information stored on a computer network
GB2329810B (en) 1997-09-29 2002-02-27 Science Res Foundation Generation and use of compressed image data
US6606746B1 (en) 1997-10-16 2003-08-12 Opentv, Inc. Interactive television system and method for displaying a graphical user interface using insert pictures
US5884101A (en) 1998-04-17 1999-03-16 I-Cube, Inc. Apparatus for detecting data buffer faults
IL141104A0 (en) 1998-07-27 2002-02-10 Webtv Networks Inc Remote computer access
EA199800706A1 (ru) 1998-08-13 1999-02-25 Александр Иванович Силаев Способ игры со ставками (варианты) и устройство для его осуществления
US6697869B1 (en) 1998-08-24 2004-02-24 Koninklijke Philips Electronics N.V. Emulation of streaming over the internet in a broadcast application
US6599194B1 (en) 1998-09-08 2003-07-29 Darren Smith Home video game system with hard disk drive and internet access capability
US6409602B1 (en) 1998-11-06 2002-06-25 New Millenium Gaming Limited Slim terminal gaming system
US6241612B1 (en) 1998-11-09 2001-06-05 Cirrus Logic, Inc. Voice communication during a multi-player game
US6587109B1 (en) 1998-12-24 2003-07-01 B3D, Inc. System and method for real-time scalability of 3D graphics based on internet bandwidth and CPU speed
US6665872B1 (en) 1999-01-06 2003-12-16 Sarnoff Corporation Latency-based statistical multiplexing
US6754241B1 (en) 1999-01-06 2004-06-22 Sarnoff Corporation Computer system for statistical multiplexing of bitstreams
US6583793B1 (en) 1999-01-08 2003-06-24 Ati International Srl Method and apparatus for mapping live video on to three dimensional objects
KR100937734B1 (ko) 1999-01-28 2010-01-21 가부시키가이샤 세가 네트워크 게임 시스템
US6426748B1 (en) 1999-01-29 2002-07-30 Hypercosm, Inc. Method and apparatus for data compression for three-dimensional graphics
US6036601A (en) * 1999-02-24 2000-03-14 Adaboy, Inc. Method for advertising over a computer network utilizing virtual environments of games
US6665453B2 (en) 1999-03-16 2003-12-16 Intel Corporation Multi-resolution support for video images
IL160386A (en) 1999-04-06 2005-11-20 Broadcom Corp Video encoding and video/audio/data multiplexing device
US7178106B2 (en) 1999-04-21 2007-02-13 Sonic Solutions, A California Corporation Presentation of media content from multiple media sources
US6763371B1 (en) 1999-05-10 2004-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for collaborative communication in a communication network
US6792615B1 (en) 1999-05-19 2004-09-14 New Horizons Telecasting, Inc. Encapsulated, streaming media automation and distribution system
US6687663B1 (en) 1999-06-25 2004-02-03 Lake Technology Limited Audio processing method and apparatus
US6415317B1 (en) 1999-10-01 2002-07-02 Joshua Michael Yelon Software system for reducing the appearance of latency in a multi-user environment
US6716103B1 (en) * 1999-10-07 2004-04-06 Nintendo Co., Ltd. Portable game machine
WO2001031497A1 (en) 1999-10-22 2001-05-03 Activesky, Inc. An object oriented video system
US7028264B2 (en) 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6810528B1 (en) 1999-12-03 2004-10-26 Sony Computer Entertainment America Inc. System and method for providing an on-line gaming experience through a CATV broadband network
US6755743B1 (en) 1999-12-08 2004-06-29 Kabushiki Kaisha Sega Enterprises Communication game system and processing method thereof
US20020059637A1 (en) 2000-01-14 2002-05-16 Rakib Selim Shlomo Home gateway for video and data distribution from various types of headend facilities and including digital video recording functions
JP2003521039A (ja) 2000-01-21 2003-07-08 ソーセロン インコーポレイテッド ネットワーク上で豊富なメディアコンテンツを送達するためのシステム及び方法
CA2400587A1 (en) 2000-02-17 2001-09-07 Acclaim Entertainment, Inc. Multi-player computer game system and method
US6539354B1 (en) 2000-03-24 2003-03-25 Fluent Speech Technologies, Inc. Methods and devices for producing and using synthetic visual speech based on natural coarticulation
AU2001257037B2 (en) 2000-04-17 2005-02-24 Igt System and method of capturing a player's image for incorporation into a game
US6711283B1 (en) 2000-05-03 2004-03-23 Aperio Technologies, Inc. Fully automatic rapid microscope slide scanner
US7499453B2 (en) 2000-05-19 2009-03-03 Cisco Technology, Inc. Apparatus and methods for incorporating bandwidth forecasting and dynamic bandwidth allocation into a broadband communication system
DE10033110B4 (de) 2000-07-07 2005-06-16 Siemens Ag Verfahren, und System zur Übertragung digitalisierter Bewegtbilder von einem Sender zu einem Empfänger und zugehöriger Decoder
US7274368B1 (en) 2000-07-31 2007-09-25 Silicon Graphics, Inc. System method and computer program product for remote graphics processing
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US8932136B2 (en) 2000-08-25 2015-01-13 Opentv, Inc. Method and system for initiating an interactive game
AU2001291276B2 (en) 2000-08-25 2005-03-24 Opentv, Inc. Method of enhancing streaming media content
JP2002095018A (ja) 2000-09-12 2002-03-29 Canon Inc 画像表示制御装置及び画像表示システム、並びに画像データの表示方法
JP2002207685A (ja) 2000-10-12 2002-07-26 Sony Computer Entertainment Inc 仮想世界システム、サーバコンピュータおよび情報処理装置
AU2002211598A1 (en) 2000-10-16 2002-04-29 Cardionow, Inc. Medical image capture system and method
JP2002126354A (ja) 2000-10-24 2002-05-08 Murai Associates Corp ネットワーク型ゲームの参加方法ならびにそのサーバシステムおよび同方法がプログラムされ記録された記録媒体
AUPR100600A0 (en) 2000-10-25 2000-11-16 Aristocrat Technologies Australia Pty Limited Gaming graphics
US6884172B1 (en) 2000-10-25 2005-04-26 Ngame Limited Electronic game system
WO2002055163A2 (en) 2000-11-01 2002-07-18 Station Casinos Inc Method and system for remote gaming
US6959320B2 (en) 2000-11-06 2005-10-25 Endeavors Technology, Inc. Client-side performance optimization system for streamed applications
US7062567B2 (en) 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US7043524B2 (en) 2000-11-06 2006-05-09 Omnishift Technologies, Inc. Network caching system for streamed applications
US8831995B2 (en) 2000-11-06 2014-09-09 Numecent Holdings, Inc. Optimized server for streamed applications
US6918113B2 (en) 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications
WO2002043404A2 (en) 2000-11-22 2002-05-30 Leap Wireless International, Inc. Method and system for providing interactive services over a wireless communications network
US20020061062A1 (en) 2000-11-22 2002-05-23 O'brien Royal Filtering system and method for digital interactive streams
US7708205B2 (en) * 2003-11-13 2010-05-04 Metrologic Instruments, Inc. Digital image capture and processing system employing multi-layer software-based system architecture permitting modification and/or extension of system features and functions by way of third party code plug-ins
WO2002042921A1 (en) 2000-11-27 2002-05-30 Butterfly.Net, Inc. System and method for synthesizing environments to facilitate distributed, context-sensitive, multi-user interactive applications
US20030177187A1 (en) 2000-11-27 2003-09-18 Butterfly.Net. Inc. Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
US6996742B2 (en) 2000-11-28 2006-02-07 Sedna Patent Services, Llc Method for regenerating and streaming content from a video server using RAID 5 data striping
US20020075382A1 (en) 2000-12-01 2002-06-20 Yoram Cohen Method and apparatus for implementing a thin-client videophone in a cable television network
US7451196B1 (en) 2000-12-15 2008-11-11 Stream Theory, Inc. Method and system for executing a software application in a virtual environment
US6761636B2 (en) 2001-01-16 2004-07-13 Fucom Company, Ltd. Real time data exchange system
FI109633B (fi) 2001-01-24 2002-09-13 Gamecluster Ltd Oy Menetelmä videokuvan pakkauksen nopeuttamiseksi ja/tai sen laadun parantamiseksi
US7587520B1 (en) 2001-01-24 2009-09-08 3Dlabs Inc. Ltd. Image display system with visual server
US7305697B2 (en) 2001-02-02 2007-12-04 Opentv, Inc. Service gateway for interactive television
US20020115487A1 (en) 2001-02-16 2002-08-22 Wells William R. Gaming device network
US6475090B2 (en) 2001-03-29 2002-11-05 Koninklijke Philips Electronics N.V. Compensating for network latency in a multi-player game
US20020154691A1 (en) 2001-04-19 2002-10-24 Kost James F. System and process for compression, multiplexing, and real-time low-latency playback of networked audio/video bit streams
KR20040106434A (ko) 2001-05-01 2004-12-17 메타4핸드 인코포레이션 무선 네트웍 컴퓨팅
US7305691B2 (en) 2001-05-07 2007-12-04 Actv, Inc. System and method for providing targeted programming outside of the home
JP4293740B2 (ja) 2001-05-29 2009-07-08 株式会社リコー 画像圧縮装置
US20020184303A1 (en) 2001-05-31 2002-12-05 Virtaul Media, Inc. Embedded web server capable of managing dynamic content delivery of data stream, audio stream, or video stream
US20020186769A1 (en) 2001-06-12 2002-12-12 O'brien Royal System and method for transcoding
WO2002102050A2 (en) 2001-06-12 2002-12-19 Digital Interactive Streams, Inc. System and method for enhancing digital video
US20030009542A1 (en) 2001-06-14 2003-01-09 Kasal Alpay O. Digital entertainment solution
US6601009B2 (en) 2001-07-12 2003-07-29 Yahoo Inc Method and system of automatic bandwidth detection
US20030130040A1 (en) 2001-07-17 2003-07-10 Jeffrey Thomas Dripps Distributed video game system and method
US7367885B2 (en) 2001-08-09 2008-05-06 Igt 3-D text in a gaming machine
JP2003060638A (ja) 2001-08-15 2003-02-28 Sony Corp コンテンツ提供装置及びコンテンツ提供方法
JP3815278B2 (ja) 2001-08-30 2006-08-30 ソニー株式会社 ネットワークゲームシステム、ネットワークゲームサーバ装置、ネットワークゲーム端末装置、情報処理方法、及び情報処理プログラム
US20030048808A1 (en) 2001-09-12 2003-03-13 Stahl Thomas Anthony Method and apparatus for changing received streaming content channels
US7791641B2 (en) 2001-09-12 2010-09-07 Samsung Electronics Co., Ltd. Systems and methods for utilizing activity detection information in relation to image processing
MXPA04002722A (es) 2001-09-26 2005-11-04 Interact Devices Inc Sistema y metodo para comunicar senales de medios.
US7164238B2 (en) 2001-11-14 2007-01-16 Astral Communications, Inc. Energy savings device and method for a resistive and/or an inductive load and/or a capacitive load
US20030093806A1 (en) 2001-11-14 2003-05-15 Vincent Dureau Remote re-creation of data in a television system
US7297062B2 (en) 2001-11-23 2007-11-20 Cyberview Technology, Inc. Modular entertainment and gaming systems configured to consume and provide network services
KR100450823B1 (ko) 2001-11-27 2004-10-01 삼성전자주식회사 깊이 이미지 기반 3차원 물체의 표현을 위한 노드 구조
US7299487B1 (en) 2001-12-04 2007-11-20 Unisys Corporation Control program, for a co-processor in a video-on-demand system, which uses transmission control lists to send video data packets with respective subgroups of internet protocol headers
GB0219509D0 (en) 2001-12-05 2002-10-02 Delamont Dean Improvements to interactive TV games system
WO2003053066A1 (en) 2001-12-17 2003-06-26 Microsoft Corporation Skip macroblock coding
US20030151753A1 (en) 2002-02-08 2003-08-14 Shipeng Li Methods and apparatuses for use in switching between streaming video bitstreams
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US7133368B2 (en) 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
WO2003069787A2 (en) 2002-02-12 2003-08-21 Digital Interactive Streams, Inc. System and method for fault tolerant multimedia communication
US7636860B2 (en) 2002-02-13 2009-12-22 Realnetworks, Inc. Scalable and extensible secure rendering of digital content
EP1483741A2 (en) 2002-03-01 2004-12-08 t5 Labs Ltd Centralised interactive graphical application server
US6908390B2 (en) 2002-03-29 2005-06-21 Igt Apparatus and method for a gaming tournament network
US7483487B2 (en) 2002-04-11 2009-01-27 Microsoft Corporation Streaming methods and systems
GB0208317D0 (en) 2002-04-11 2002-05-22 Koninkl Philips Electronics Nv Controlling a home electronics system
US20030228906A1 (en) 2002-04-19 2003-12-11 Walker Jay S. Methods and apparatus for providing communications services at a gaming machine
US7023918B2 (en) 2002-05-30 2006-04-04 Ess Technology, Inc. Color motion artifact detection and processing apparatus compatible with video coding standards
US7038676B2 (en) 2002-06-11 2006-05-02 Sony Computer Entertainmant Inc. System and method for data compression
US7064765B2 (en) 2002-06-24 2006-06-20 Hewlett-Packard Development Company, L.P. System and method for grabbing frames of graphical data
JP2004045668A (ja) 2002-07-10 2004-02-12 Ricoh Co Ltd 静電荷像現像用現像剤、画像形成装置及び画像形成方法
US20040022391A1 (en) 2002-07-30 2004-02-05 O'brien Royal Digital content security system and method
US7072693B2 (en) 2002-08-05 2006-07-04 Calamp Corp. Wireless communications structures and methods utilizing frequency domain spatial processing
AU2003259828A1 (en) 2002-08-12 2004-02-25 Digital Interactive Streams, Inc Data streaming system and method
ATE375187T1 (de) 2002-08-12 2007-10-15 Alcatel Lucent Verfahren und vorrichtungen zur implementerung von hochinteraktiven unterhaltungsdiensten unter verwendung der medienströmungstechnologie, das die bereitstellung auf abstand von virtuelle realitätdiensten ermöglicht
KR20020086835A (ko) 2002-08-12 2002-11-20 김흥호 인터넷망을 이용한 비디오게임의 다중플레이 및 관전법
AU2003259338A1 (en) 2002-08-21 2004-03-11 Lime Studios Limited Improvements to interactive tv games system
DE60325921D1 (de) 2002-08-22 2009-03-12 Imec Inter Uni Micro Electr Verfahren zur MIMO-Übertragung für mehrere Benutzer und entsprechende Vorrichtungen
US6863612B2 (en) 2002-09-03 2005-03-08 Bidamic Inc. System and method for interactive on-line gaming
US7334043B2 (en) * 2002-09-17 2008-02-19 At&T Delaware Intellectual Property, Inc. Extending functionality of workflow applications using instant messaging (IM)
US20040063498A1 (en) 2002-09-30 2004-04-01 Sony Corporation System and method for flexibly implementing a wireless gaming network
JP2004128779A (ja) 2002-10-01 2004-04-22 Sony Corp 放送システム、記録装置、記録方法、プログラム、記録媒体
US7878908B2 (en) 2002-11-14 2011-02-01 Nintendo Co., Ltd. Multiplexed secure video game play distribution
US9108107B2 (en) 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
US20100166056A1 (en) 2002-12-10 2010-07-01 Steve Perlman System and method for encoding video using a selected tile and tile rotation pattern
US9003461B2 (en) 2002-12-10 2015-04-07 Ol2, Inc. Streaming interactive video integrated with recorded video segments
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US9227139B2 (en) * 2002-12-10 2016-01-05 Sony Computer Entertainment America Llc Virtualization system and method for hosting applications
US8840475B2 (en) 2002-12-10 2014-09-23 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
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
US8549574B2 (en) 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
US8054880B2 (en) 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
US8495678B2 (en) 2002-12-10 2013-07-23 Ol2, Inc. System for reporting recorded video preceding system failures
US8964830B2 (en) 2002-12-10 2015-02-24 Ol2, Inc. System and method for multi-stream video compression using multiple encoding formats
US8711923B2 (en) 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
US20090118019A1 (en) 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US8468575B2 (en) 2002-12-10 2013-06-18 Ol2, Inc. System for recursive recombination of streaming interactive video
US8526490B2 (en) 2002-12-10 2013-09-03 Ol2, Inc. System and method for video compression using feedback including data related to the successful receipt of video content
US8893207B2 (en) 2002-12-10 2014-11-18 Ol2, Inc. System and method for compressing streaming interactive video
US9032465B2 (en) 2002-12-10 2015-05-12 Ol2, Inc. Method for multicasting views of real-time streaming interactive video
US9061207B2 (en) 2002-12-10 2015-06-23 Sony Computer Entertainment America Llc Temporary decoder apparatus and method
US9756349B2 (en) 2002-12-10 2017-09-05 Sony Interactive Entertainment America Llc User interface, system and method for controlling a video stream
US7849491B2 (en) 2002-12-10 2010-12-07 Onlive, Inc. Apparatus and method for wireless video gaming
US9138644B2 (en) * 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US8661496B2 (en) 2002-12-10 2014-02-25 Ol2, Inc. System for combining a plurality of views of real-time streaming interactive video
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
US8366552B2 (en) 2002-12-10 2013-02-05 Ol2, Inc. System and method for multi-stream video compression
US8387099B2 (en) 2002-12-10 2013-02-26 Ol2, Inc. System for acceleration of web page delivery
US8832772B2 (en) 2002-12-10 2014-09-09 Ol2, Inc. System for combining recorded application state with application streaming interactive video output
US20110122063A1 (en) 2002-12-10 2011-05-26 Onlive, Inc. System and method for remote-hosted video effects
US10201760B2 (en) 2002-12-10 2019-02-12 Sony Interactive Entertainment America Llc System and method for compressing video based on detected intraframe motion
US8949922B2 (en) 2002-12-10 2015-02-03 Ol2, Inc. System for collaborative conferencing using streaming interactive video
US8090618B1 (en) * 2002-12-12 2012-01-03 Massive Incorporated Online game commerce system
KR100507780B1 (ko) 2002-12-20 2005-08-17 한국전자통신연구원 고속 마커프리 모션 캡쳐 장치 및 방법
US7729946B2 (en) * 2003-01-24 2010-06-01 Massive Incorporated Online game advertising system
US9177387B2 (en) 2003-02-11 2015-11-03 Sony Computer Entertainment Inc. Method and apparatus for real time motion capture
US7256779B2 (en) 2003-05-08 2007-08-14 Nintendo Co., Ltd. Video game play using panoramically-composited depth-mapped cube mapping
US7798905B2 (en) 2003-05-09 2010-09-21 Microsoft Corporation Method and apparatus for associating data with online game ratings
US6963353B1 (en) 2003-05-14 2005-11-08 Cisco Technology, Inc. Non-causal speaker selection for conference multicast
US7739715B2 (en) 2003-06-24 2010-06-15 Microsoft Corporation Variable play speed control for media streams
US7270605B2 (en) 2003-07-08 2007-09-18 Gt Peer-to-peer gaming system
US7139002B2 (en) 2003-08-01 2006-11-21 Microsoft Corporation Bandwidth-efficient processing of video images
CA2537280C (en) 2003-08-29 2014-04-01 Rgb Networks, Inc. Advanced, self-balancing video multiplexer system
US8662983B2 (en) 2003-09-09 2014-03-04 Wms Gaming Inc. Electronic game and system having overlayed video images
IL158158A (en) 2003-09-29 2012-05-31 Bamboo Mediacasting Ltd Distribution of multicast data to users
US7418472B2 (en) 2003-09-30 2008-08-26 Microsoft Corporation Systems and methods for determining remote device media capabilities
KR100969966B1 (ko) * 2003-10-06 2010-07-15 디즈니엔터프라이지즈,인크. 비디오 플레이어의 재생 및 특징을 제어하는 방법 및 시스템
US7822281B2 (en) 2003-10-31 2010-10-26 Canon Kabushiki Kaisha Digital video compression
US7246183B2 (en) 2003-11-14 2007-07-17 Avocent California Corporation Phase optimization for wireless KVM transmission
US7613344B2 (en) 2003-12-08 2009-11-03 Electronics And Telecommunications Research Institute System and method for encoding and decoding an image using bitstream map and recording medium thereof
WO2005065085A2 (en) 2003-12-21 2005-07-21 Kremen Stanley H System and apparatus for recording, transmitting, and projecting digital three-dimensional images
US20050160465A1 (en) 2004-01-21 2005-07-21 United Video Properties, Inc. Interactive television system with automatic switching from broadcast media to streaming media
US7246923B2 (en) 2004-02-11 2007-07-24 3M Innovative Properties Company Reshaping light source modules and illumination systems using the same
US7227894B2 (en) 2004-02-24 2007-06-05 Industrial Technology Research Institute Method and apparatus for MPEG-4 FGS performance enhancement
US7668712B2 (en) 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction
US7633994B2 (en) 2004-07-30 2009-12-15 Rearden, LLC. System and method for distributed input-distributed output wireless communications
ES2304251T3 (es) * 2004-04-14 2008-10-01 Telecom Italia S.P.A. Procedimiento y sistema para la gestion de la distribucion de contenidos en redes de comunicacion.
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US20050282636A1 (en) 2004-06-04 2005-12-22 O'brien Royal Gaming on demand system and methodology
US8099755B2 (en) 2004-06-07 2012-01-17 Sling Media Pvt. Ltd. Systems and methods for controlling the encoding of a media stream
US7707614B2 (en) 2004-06-07 2010-04-27 Sling Media, Inc. Personal media broadcasting system with output buffer
US20050286777A1 (en) 2004-06-27 2005-12-29 Roger Kumar Encoding and decoding images
US7664184B2 (en) 2004-07-21 2010-02-16 Amimon Ltd. Interpolation image compression
WO2006011153A2 (en) 2004-07-30 2006-02-02 Extreme Reality Ltd. A system and method for 3d space-dimension based image processing
US20060048136A1 (en) 2004-08-25 2006-03-02 Vries Jeff D Interception-based resource detection system
KR100456962B1 (ko) * 2004-08-27 2004-11-10 엔에이치엔(주) 게임 아이템 기능이 결합된 캐릭터 서비스 방법 및 시스템
US7590750B2 (en) 2004-09-10 2009-09-15 Microsoft Corporation Systems and methods for multimedia remoting over terminal server connections
US7458894B2 (en) * 2004-09-15 2008-12-02 Microsoft Corporation Online gaming spectator system
US8719075B2 (en) 2004-09-23 2014-05-06 Overstock.Com, Inc. System, program product, and methods for online image handling
US20060069796A1 (en) 2004-09-29 2006-03-30 Infinium Labs, Inc. Method for automatic patching of a sparsely streamed application
JP2007065928A (ja) 2005-08-30 2007-03-15 Toshiba Corp 情報記憶媒体、情報処理方法、情報転送方法、情報再生方法、情報再生装置、情報記録方法、情報記録装置、及びプログラム
US7240162B2 (en) 2004-10-22 2007-07-03 Stream Theory, Inc. System and method for predictive streaming
JP2008527468A (ja) 2004-11-13 2008-07-24 ストリーム セオリー,インコーポレイテッド ハイブリッド・ローカル/リモート・ストリーミング
US20060104353A1 (en) 2004-11-16 2006-05-18 Johnson Andrew W Video signal preprocessing to minimize prediction error
US7695369B2 (en) 2004-11-22 2010-04-13 Planetwide Games, Inc. Systems and methods for accessing online content during online gaming
US8425331B2 (en) 2004-12-07 2013-04-23 Microsoft Corporation User interface for viewing aggregated game, system and personal information
US8274518B2 (en) 2004-12-30 2012-09-25 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
US20060149845A1 (en) 2004-12-30 2006-07-06 Xinnia Technology, Llc Managed quality of service for users and applications over shared networks
US20060168291A1 (en) 2005-01-05 2006-07-27 Van Zoest Alexander Interactive multichannel data distribution system
WO2006100664A2 (en) 2005-03-21 2006-09-28 Yosef Mizrahi Method, system and computer-readable code for providing a computer gaming service
EP1875364A2 (en) 2005-03-23 2008-01-09 Stream Theory, Inc. System and method for tracking changes to files in streaming applications
US8024523B2 (en) 2007-11-07 2011-09-20 Endeavors Technologies, Inc. Opportunistic block transmission with time constraints
US20060218225A1 (en) * 2005-03-28 2006-09-28 Hee Voon George H Device for sharing social network information among users over a network
EP1866788B1 (en) 2005-04-01 2018-06-13 Cisco Technology, Inc. Stream control failover
US20060230428A1 (en) 2005-04-11 2006-10-12 Rob Craig Multi-player video game system
US20060282855A1 (en) 2005-05-05 2006-12-14 Digital Display Innovations, Llc Multiple remote display system
US7878907B2 (en) 2005-05-13 2011-02-01 Microsoft Corporation Real-time HD TV/video IP streaming to a game console
US20060258463A1 (en) 2005-05-13 2006-11-16 Professional Interactive Entertainment, Inc. System and method for network interactive game match-up and server selection
US20070254742A1 (en) 2005-06-06 2007-11-01 Digital Interactive Streams, Inc. Gaming on demand system and methodology
WO2007005911A2 (en) 2005-07-05 2007-01-11 White Technologies Group System for multimedia on demand over internet based network
US9061206B2 (en) 2005-07-08 2015-06-23 Activevideo Networks, Inc. Video game system using pre-generated motion vectors
US7936819B2 (en) 2005-07-08 2011-05-03 Tag Networks, Inc. Video encoder with latency control
US8875196B2 (en) * 2005-08-13 2014-10-28 Webtuner Corp. System for network and local content access
US20110157196A1 (en) * 2005-08-16 2011-06-30 Exent Technologies, Ltd. Remote gaming features
JP2007080357A (ja) 2005-09-13 2007-03-29 Toshiba Corp 情報記憶媒体、情報再生方法、情報再生装置
US8135040B2 (en) 2005-11-30 2012-03-13 Microsoft Corporation Accelerated channel change
US7596540B2 (en) * 2005-12-01 2009-09-29 Exent Technologies, Ltd. System, method and computer program product for dynamically enhancing an application executing on a computing device
WO2007067217A2 (en) 2005-12-02 2007-06-14 Cyberscan Technology, Inc. In-room gaming
KR20080085008A (ko) 2005-12-05 2008-09-22 볼리 엘티디. 모바일 디바이스를 이용하여 사용자가 대형 화면 게임을플레이할 수 있도록 하는 방법 및 시스템
KR100826871B1 (ko) 2005-12-08 2008-05-06 한국전자통신연구원 휴대용 단말기를 위한 스트리밍 방식 게임 소프트웨어 제공방법 및 시스템
JP5399077B2 (ja) 2005-12-27 2014-01-29 マッシブ・インコーポレーテッド ビデオゲームまたはモバイル機器環境などにおけるストリーミングメディアキャスト
US8738639B1 (en) * 2006-02-23 2014-05-27 Verizon Data Services Llc Methods and systems for an information directory providing audiovisual content
US8764566B2 (en) 2006-02-24 2014-07-01 Igt Internet remote game server
US8095400B2 (en) 2006-03-06 2012-01-10 Cbs Interactive, Inc. Online waiting room system, method and computer program product
IL174363A0 (en) 2006-03-16 2006-08-01 Vollee Ltd Method and system for providing video game sounds to a mobile device
US8392821B2 (en) 2006-03-17 2013-03-05 Viddler, Inc. Methods and systems for displaying videos with overlays and tags
EP1837060A1 (en) 2006-03-21 2007-09-26 In Fusio (S.A.) Method for displaying interactive video content from a video stream in a display of a user device
US7693157B2 (en) 2006-04-25 2010-04-06 Microsoft Corporation Quality of service support for A/V streams
JP4943502B2 (ja) 2006-04-29 2012-05-30 トムソン ライセンシング データパケットの損失を回復するための方法及び装置
US20070265094A1 (en) 2006-05-10 2007-11-15 Norio Tone System and Method for Streaming Games and Services to Gaming Devices
US20070266170A1 (en) 2006-05-11 2007-11-15 Mockett Gregory P Interactive, rich-media delivery over an ip network using synchronized unicast and multicast
US20080008439A1 (en) 2006-06-06 2008-01-10 Guangqun Liu Method and System For Dynamic Management Of Multiple Media Data Streams
US7841946B2 (en) 2006-06-29 2010-11-30 Spawn Labs, Inc. System for remote game access
US8000318B2 (en) 2006-06-30 2011-08-16 Embarq Holdings Company, Llc System and method for call routing based on transmission performance of a packet network
US8628414B2 (en) 2006-07-14 2014-01-14 Valve Corporation Enhanced commentary system for 3D computer entertainment
US20080025390A1 (en) 2006-07-25 2008-01-31 Fang Shi Adaptive video frame interpolation
US8221220B2 (en) 2006-08-11 2012-07-17 Disney Enterprises, Inc. Method and/or system for adaptive gaming experience
EP1901190A1 (en) * 2006-09-15 2008-03-19 Sony DADC Austria AG Method and system for managing access to add-on data files
CA2665252A1 (en) 2006-10-02 2008-04-10 Aftercad Software Inc. Method and system for delivering and interactively displaying three-dimensional graphics
US7818769B2 (en) 2006-10-02 2010-10-19 Mobitv, Inc. Methods and apparatus for implementing dynamic program guides on mobile devices
US8325819B2 (en) 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
US8261345B2 (en) 2006-10-23 2012-09-04 Endeavors Technologies, Inc. Rule-based application access management
US8825765B2 (en) 2006-11-28 2014-09-02 Verizon Patent And Licensing Inc. Cross platform gaming
US7715481B2 (en) 2006-11-29 2010-05-11 Ipera Technology, Inc. System and method for allocation of resources for processing video
JP2008139423A (ja) 2006-11-30 2008-06-19 Sony Corp コンテンツ再生システム、再生装置、再生切替方法及びプログラム
US20080147424A1 (en) * 2006-12-15 2008-06-19 Rowan Michael J System and method for multiplayer computerized game environment with non-intrusive, co-presented computerized ratings
US7824268B2 (en) 2006-12-19 2010-11-02 Electronic Arts, Inc. Live hosted online multiplayer game
WO2008092385A1 (en) 2007-01-29 2008-08-07 Chon Fong Kuok Systems and methods for online games
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
US20090305790A1 (en) 2007-01-30 2009-12-10 Vitie Inc. Methods and Apparatuses of Game Appliance Execution and Rendering Service
US8020099B1 (en) * 2007-02-13 2011-09-13 Vitie Inc. Methods and apparatus of setting up interactive session of graphical interactive application based on video
US9737812B2 (en) 2007-02-13 2017-08-22 Sizmek Technologies Ltd. Method of interacting with an interactive game program
GB0703974D0 (en) * 2007-03-01 2007-04-11 Sony Comp Entertainment Europe Entertainment device
US8898325B2 (en) * 2007-03-06 2014-11-25 Trion Worlds, Inc. Apparatus, method, and computer readable media to perform transactions in association with participants interacting in a synthetic environment
US8886545B2 (en) 2007-03-07 2014-11-11 Vlingo Corporation Dealing with switch latency in speech recognition
US20080220869A1 (en) * 2007-03-08 2008-09-11 Timothy Michael Midgley Method and apparatus for providing game guide data in a gaming environment
US20080220854A1 (en) * 2007-03-08 2008-09-11 Timothy Michael Midgley Method and apparatus for collecting user game play data and crediting users in an online gaming environment
US20080234047A1 (en) 2007-03-21 2008-09-25 Igt Wager game license management in a game table
US8634943B2 (en) 2007-05-02 2014-01-21 Bleacher League Entertainment Inc. Interactive sports-themed game
US20080284798A1 (en) 2007-05-07 2008-11-20 Qualcomm Incorporated Post-render graphics overlays
WO2008143844A1 (en) 2007-05-16 2008-11-27 Wms Gaming Inc. Streaming video for electronic gaming machines with real-time interactive control
US20080291208A1 (en) 2007-05-24 2008-11-27 Gary Keall Method and system for processing data via a 3d pipeline coupled to a generic video processing unit
WO2008156809A1 (en) * 2007-06-19 2008-12-24 Wms Gaming Inc. Plug-in architecture for a wagering game network
US8612972B2 (en) * 2007-06-27 2013-12-17 Microsoft Corporation Running add-on components in virtual environments
US20090006192A1 (en) * 2007-06-29 2009-01-01 Yahoo! Inc. Point of Presence Sponsorship Mechanism for Digital Content Objects
WO2009026391A1 (en) 2007-08-20 2009-02-26 Garagegames, Inc. System and method for communicating game parameters utilizing separate protocols
US8174620B2 (en) 2007-11-06 2012-05-08 Microsoft Corporation High definition media content processing
US8892738B2 (en) 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
TW200935917A (en) 2007-12-05 2009-08-16 Onlive Inc Tile-based system and method for compressing video
CA2707710C (en) 2007-12-05 2016-09-20 Onlive, Inc. Video compression system and method for compensating for bandwidth limitations of a communication channel
KR20100103547A (ko) 2007-12-05 2010-09-27 온라이브, 인크. 통신 채널의 검출된 전송률에 기초하여 비디오를 압축하기 위한 시스템 및 방법
AU2008333827A1 (en) 2007-12-05 2009-06-11 Ol2, Inc. System and method for compressing video by adjusting tile size based on detected intraframe motion or scene complexity
TW200951728A (en) 2007-12-05 2009-12-16 Onlive Inc Mothod for reporting recorded video preceding system failures
RU2491756C2 (ru) 2007-12-05 2013-08-27 Ол2, Инк. Система и способ защиты определенных типов мультимедийных данных, передаваемых по каналу связи
WO2009073831A1 (en) 2007-12-05 2009-06-11 Onlive, Inc. Video compression system and method for reducing the effects of packet loss over a communication channel
US9067140B2 (en) * 2007-12-05 2015-06-30 Verizon Patent And Licensing Inc. Method and apparatus for providing customized games
TW200942305A (en) 2007-12-05 2009-10-16 Onlive Inc Apparatus for streaming databases serving real-time applications used through streaming interactive video
WO2009073827A1 (en) 2007-12-05 2009-06-11 Onlive, Inc. System and method for compressing video based on detected intraframe motion
EP2232375A4 (en) 2007-12-05 2012-10-10 Onlive Inc SYSTEM AND METHOD FOR STORING PROGRAM CODES AND DATA IN AN APPLICATION HOSCENTER
WO2009073823A1 (en) 2007-12-05 2009-06-11 Onlive, Inc. System and method for compressing video by allocating bits to image tiles based on detected intraframe motion or scene complexity
JP2009141700A (ja) 2007-12-06 2009-06-25 Ricoh Co Ltd 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US9211473B2 (en) 2008-12-15 2015-12-15 Sony Computer Entertainment America Llc Program mode transition
US9498714B2 (en) 2007-12-15 2016-11-22 Sony Interactive Entertainment America Llc Program mode switching
US20090322784A1 (en) 2008-02-27 2009-12-31 Gabriele Sartori System and method for virtual 3d graphics acceleration and streaming multiple different video streams
EP2098994A1 (en) 2008-03-04 2009-09-09 Agfa HealthCare NV System for real-time volume rendering on thin clients via a render server
US7774488B2 (en) 2008-03-12 2010-08-10 International Business Machines Corporation Method and system for switching media streams in a client system based on environmental changes
US7873727B2 (en) 2008-03-13 2011-01-18 Board Of Regents, The University Of Texas Systems System and method for evaluating streaming multimedia quality
US8758140B2 (en) 2008-03-24 2014-06-24 Microsoft Corporation Method for viral invites as game and discovery mechanic
US20090247295A1 (en) 2008-03-31 2009-10-01 Weldon Marcus K Network-Based Methods and Apparatus for Rendering Images to an End User
US8831086B2 (en) 2008-04-10 2014-09-09 Qualcomm Incorporated Prediction techniques for interpolation in video coding
US8856268B2 (en) 2008-04-22 2014-10-07 Microsoft Corporation Sharing of console and web-based games and gaming profiles
US20090268821A1 (en) 2008-04-29 2009-10-29 The Hong Kong University Of Science And Technology Block parallel and fast motion estimation in video coding
US20090276402A1 (en) 2008-05-01 2009-11-05 Mobitv, Inc. Search system using media metadata tracks
US8308569B2 (en) 2008-05-12 2012-11-13 Microsoft Corporation Reward for resurrecting teammate in a multiplayer game
US8154553B2 (en) 2008-05-22 2012-04-10 Playcast Media System, Ltd. Centralized streaming game server
US8264493B2 (en) 2008-05-12 2012-09-11 Playcast Media Systems, Ltd. Method and system for optimized streaming game server
US9047236B2 (en) 2008-06-06 2015-06-02 Amazon Technologies, Inc. Client side stream switching
US20100005503A1 (en) 2008-07-01 2010-01-07 Kaylor Floyd W Systems and methods for generating a video image by merging video streams
US20100014825A1 (en) 2008-07-18 2010-01-21 Porto Technology, Llc Use of a secondary device to overlay disassociated media elements onto video content
TWI373945B (en) 2008-07-18 2012-10-01 Ubitus Technology Ltd Multimedia streaming transmission system and method thereof
US8321903B2 (en) 2008-07-28 2012-11-27 Playcast Media Systems, Ltd. External services allocation in closed on-demand systems
US8019899B2 (en) 2008-08-28 2011-09-13 Yahoo! Inc. Delivering partially processed results based on system metrics in network content delivery systems
US8352542B2 (en) 2008-09-08 2013-01-08 Seachange International, Inc. Method and system for providing an interactive application over a network
US20100061443A1 (en) 2008-09-10 2010-03-11 Maman Eran Method and system for video streaming of a graphical display of an application
US20100079676A1 (en) 2008-09-29 2010-04-01 International Business Machines Corporation Providing Multi-User Views
US8090014B2 (en) 2008-10-06 2012-01-03 Hewlett-Packard Development Company, L.P. Managing multiview streaming video data composed of frames
US20100205023A1 (en) 2008-10-08 2010-08-12 Digiboo Llc System and method for distributing digital content
US8687702B2 (en) 2008-10-27 2014-04-01 Advanced Micro Devices, Inc. Remote transmission and display of video data using standard H.264-based video codecs
US8897365B2 (en) 2008-11-19 2014-11-25 Nvidia Corporation Video rate control processor for a video encoding process
US8380808B2 (en) 2008-11-24 2013-02-19 Royal O'Brien Dynamic medium content streaming system
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
US9009337B2 (en) 2008-12-22 2015-04-14 Netflix, Inc. On-device multiplexing of streaming media content
US8499090B2 (en) 2008-12-30 2013-07-30 Intel Corporation Hybrid method for delivering streaming media within the home
US8401075B2 (en) 2008-12-31 2013-03-19 General Instrument Corporation Hybrid video encoder including real-time and off-line video encoders
US8221241B2 (en) 2009-01-13 2012-07-17 Igt Gaming involving devices in multiple locations
US7953883B2 (en) 2009-01-27 2011-05-31 Cisco Technology, Inc. Failover mechanism for real-time packet streaming sessions
US8364024B2 (en) 2009-02-03 2013-01-29 Broadcom Corporation Constructing video frames and synchronizing audio data in a media player from data received via a plurality of diverse protocol stack paths
US8711159B2 (en) 2009-02-23 2014-04-29 Microsoft Corporation VGPU: a real time GPU emulator
US8147340B2 (en) * 2009-03-05 2012-04-03 Igt Methods and regulated gaming machines configured for service oriented smart display buttons
US9723319B1 (en) * 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
US20100317443A1 (en) 2009-06-11 2010-12-16 Comcast Cable Communications, Llc Distributed Network Game System
CN101604371B (zh) * 2009-07-22 2012-02-08 阿里巴巴集团控股有限公司 插件权限的控制方法及系统
US20110028194A1 (en) * 2009-07-31 2011-02-03 Razer (Asia-Pacific) Pte Ltd System and method for unified-context mapping of physical input device controls to application program actions
US8401973B1 (en) * 2009-11-19 2013-03-19 Adobe Systems Incorporated Method and system for managing a license for an add-on software component
US8803892B2 (en) * 2010-06-10 2014-08-12 Otoy, Inc. Allocation of GPU resources across multiple clients
EP2609520B1 (en) * 2010-09-13 2018-05-30 Sony Computer Entertainment America LLC Add-on management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060224761A1 (en) * 2005-02-11 2006-10-05 Vemotion Limited Interactive video applications
US20100134692A1 (en) * 2006-09-04 2010-06-03 Michael Costello Displaying Video
WO2010095411A1 (ja) * 2009-02-19 2010-08-26 パナソニック株式会社 記録媒体、再生装置、集積回路

Also Published As

Publication number Publication date
CN110336850B (zh) 2022-08-09
US9878240B2 (en) 2018-01-30
KR102288072B1 (ko) 2021-08-10
KR20190086039A (ko) 2019-07-19
KR102126910B1 (ko) 2020-06-25
EP2609520B1 (en) 2018-05-30
US10835819B2 (en) 2020-11-17
US10039978B2 (en) 2018-08-07
US20200197798A1 (en) 2020-06-25
US20230218991A1 (en) 2023-07-13
KR20200075908A (ko) 2020-06-26
US20120064975A1 (en) 2012-03-15
US10617947B2 (en) 2020-04-14
US20180326300A1 (en) 2018-11-15
US20120064976A1 (en) 2012-03-15
KR20210032023A (ko) 2021-03-23
WO2012037165A3 (en) 2012-08-02
CN103403694B (zh) 2019-05-21
US20200197800A1 (en) 2020-06-25
KR20130095277A (ko) 2013-08-27
US11596861B2 (en) 2023-03-07
US11583766B2 (en) 2023-02-21
EP2609520A4 (en) 2014-02-12
EP2609520A2 (en) 2013-07-03
US20180154256A1 (en) 2018-06-07
CN103403694A (zh) 2013-11-20
KR102000618B1 (ko) 2019-10-21
KR102230426B1 (ko) 2021-03-22
WO2012037165A2 (en) 2012-03-22

Similar Documents

Publication Publication Date Title
CN103403694B (zh) 附加组件管理
US10846937B2 (en) Three-dimensional virtual environment
US11507733B2 (en) System and methods of virtual world interaction
CN103902489B (zh) 生成并执行计算机应用的Miniapp的方法和系统
US10719192B1 (en) Client-generated content within a media universe
CN103890815B (zh) 用于主管可被远程自动创建、主管和终止的瞬变虚拟世界的方法和系统
CN113795814A (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