CN107666943B - 交互式流媒体的独立控制 - Google Patents
交互式流媒体的独立控制 Download PDFInfo
- Publication number
- CN107666943B CN107666943B CN201680030366.0A CN201680030366A CN107666943B CN 107666943 B CN107666943 B CN 107666943B CN 201680030366 A CN201680030366 A CN 201680030366A CN 107666943 B CN107666943 B CN 107666943B
- Authority
- CN
- China
- Prior art keywords
- mobile device
- media content
- server computing
- streaming
- computing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000002452 interceptive effect Effects 0.000 title claims description 16
- 238000000034 method Methods 0.000 claims abstract description 59
- 230000008859 change Effects 0.000 claims abstract description 30
- 239000002131 composite material Substances 0.000 claims abstract description 28
- 230000000977 initiatory effect Effects 0.000 claims abstract description 26
- 238000004891 communication Methods 0.000 claims description 46
- 230000033001 locomotion Effects 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 2
- 230000015654 memory Effects 0.000 description 34
- 230000009471 action Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 13
- 238000007726 management method Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 239000011521 glass Substances 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000010304 firing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/23—Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/25—Output arrangements for video game devices
- A63F13/26—Output arrangements for video game devices having at least one additional display device, e.g. on the game controller or outside a game booth
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/335—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/355—Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- A63F13/428—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1083—In-session procedures
- H04L65/1094—Inter-user-equipment sessions transfer or sharing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
在一个总体方面,一种方法可以包括在服务器计算设备处接收启动并流送与游戏会话有关的媒体内容的启动请求,所述启动请求由移动设备所提供,使用所述启动请求选择被配置为流送所述媒体内容的媒体主机,验证与所述移动设备相关联的用户以及启动所述游戏会话以便在不是所述移动设备的设备上流送至所述用户。此外,所述方法可以包括在所述游戏会话期间以及在流送所述媒体内容的同时,从所述移动设备接收多个实时控制请求,以及通过实时地将至少一个改变和所述媒体内容进行合成并且产生合成显示来执行所述控制请求,以及向不是所述移动设备的设备传送经编码的合成显示以便实时地进行流送。
Description
相关申请的交叉引用
本申请要求于2015年07月28日提交的美国申请No.14/810,994的优先权并且是所述申请的继续申请,所述申请的公开内容通过引用被结合于此。
技术领域
该描述总体上涉及交互式流媒体。特别地,该描述涉及使用计算设备进行交互式游戏。
背景技术
流媒体是指意在当其从内容提供方被传送时向终端用户进行渲染的内容,通常为音频、视频或其二者。由于内容被实时观看,所以所期望的是内容的连续且不中断的流。用户所感知的显示非受损媒体的不中断流的程度被称作系统的服务质量(即,QOS)。
发明内容
在一个总体方面,一个或多个计算机的一种系统能够被配置为通过使得在操作中使得系统执行动作的软件、固件、硬件或它们的组合被安装在所述系统上来执行特定操作或动作。一个或多个计算机程序能够被配置为通过包括指令来执行特定操作或动作,所述指令在被数据处理装置执行时使得所述装置执行所述动作。一个总体方面包括一种控制交互式流媒体的方法,所述方法包括在服务器计算设备处接收启动并流送与游戏会话有关的媒体内容的启动请求,所述启动请求由移动设备所提供。所述方法还包括在所述服务器计算设备处并且使用所述启动请求选择被配置为流送所述媒体内容的媒体主机,并且验证与所述移动设备相关联的用户以及启动所述游戏会话以便在不是所述移动设备的设备上流送至所述用户。所述方法还包括在所述游戏会话期间以及在流送所述媒体内容的同时,从所述移动设备接收多个实时控制请求,所述请求被配置为在所述媒体内容中生成至少一个改变,以及在接收到每个控制请求时,所述方法包括通过实时地将所述至少一个改变和所述媒体内容进行合成并且产生合成显示来执行所述控制请求,以及对所述合成显示进行编码以便传输至不是所述移动设备的设备。所述方法进一步包括向不是所述移动设备的设备传送经编码的合成显示以便实时地进行流送。该方面的其它实施例包括相对应的计算机系统、装置,以及记录在一个或多个计算机存储设备上的计算机程序,它们均被配置为执行所述方法的动作。
在另一个总体方面,一种系统能够被配置为包括媒体播放器,所述媒体播放器包括音频视频流电路,所述媒体播放器耦合至网络和显示设备并且被配置为从内容服务器计算设备接收流内容。所述系统还可以被配置为包括移动设备,所述移动设备被配置为确定所述移动设备接近于控制器并且无线连接至所述控制器。所述移动设备能够被配置为接收流送内容的多个内容服务器计算设备的列表,并且选择至少一个内容服务器来托管流会话。所述移动设备还可以被配置为建立与至少一个内容服务器的流会话以及将从所述控制器所接收的输入的表示中继至至少一个内容服务器计算设备。所述表示可以由所述移动设备生成并且包括多个冗余分组,所述冗余分组表示用于控制由至少一个内容服务器计算系统所提供的交互式流媒体内容的命令。该方面的其它实施例包括相对应的计算机系统、装置,以及记录在一个或多个计算机存储设备上的计算机程序,它们均被配置为执行所述方法的动作。
另一个总体方面包括一种方法,用于响应于接收到来自移动设备的流会话请求而从服务器计算系统向移动设备发送端口标识符以便通过网络递送数据。所述方法还包括在服务器计算系统处接收表示修改流媒体内容的请求的多个冗余数据集合。每个集合能够由相同的序列标识符所识别。所述方法还包括实时地执行修改流媒体内容的所述请求并且向移动设备通知所述执行,以及丢弃具有相同序列标识符的其它冗余数据集合。该方面的其它实施例包括相对应的计算机系统、装置,以及记录在一个或多个计算机存储设备上的计算机程序,它们均被配置为执行所述方法的动作。
一个或多个实施方式的细节在附图和以下描述中被给出。其它特征将由于该描述和附图以及权利要求而是显而易见的。
附图说明
图1是能够被用于交互式流媒体的独立控制的示例系统的框图。
图2是用户与本公开所描述的示例系统进行交互的示图。
图3是示出在媒体内容启动期间进行的示例配置序列的示图。
图4是图示控制交互式流媒体的示例过程的流程图。
图5是图示移动设备和服务器计算设备之间的传输协议的示例过程的流程图。
图6示出了能够被用来实施本公开所描述的技术的计算机设备和移动计算机设备的示例。
各图中同样的附图标记指示同样的要素。
具体实施方式
交互式流媒体内容通常可以使用应对媒体内容的处理、编码和流送的一个或多个服务器以及接收并解码从所述一个或多个服务器接收的媒体内容的媒体播放器的组合来提供。媒体内容的消费者能够通过操控一个或多个控制器或计算设备来控制和/或修改流媒体内容来与媒体内容进行交互。媒体的消费者可以实时地与一个或多个服务器进行交互。例如,实时交互可以涉及到处理在接收数据输入的几百毫秒内进行的交互而使得对于用户而言几乎立即能够得到反馈。
本公开所描述的系统和方法能够被用来独立地控制交互式流媒体会话和内容以及管理用户与这样的会话和内容的交互。实施方式可以包括使得用户能够在媒体播放器没有接收用户输入以及媒体播放器没有请求媒体内容的情况下与在所述媒体播放器处从一个或多个服务器所接收的媒体内容进行交互。在该实施方式中,用户控制、动作和/或请求可以在移动设备处被接收并且可以源自于控制器设备(与移动设备配对或耦合)。所述移动设备能够将任何所接收到的用户控制、动作和/或请求发送至服务器设备,所述服务器设备作为响应能够向媒体播放器提供媒体内容以及所更新/修改的媒体内容以便在连接的显示设备上进行显示。
总体上,用户命令能够在耦合至移动设备的控制器处进行输入。所述命令能够被移动设备所检测并且能够几乎实时或实时地被发送至一个或多个服务器。移动设备能够充当控制器和一个或多个服务器的中介。所述移动设备可以被配置为将(在控制器处所接收的)任何用户输入都发送至一个或多个服务器。所述一个或多个服务器能够通过修改流内容以执行用户正请求的命令来作出响应。一个或多个服务器和移动设备之间的该通信能够基于用户在控制器处所提供的输入以来回的方式继续进行。
在以下示例中,所描述的媒体播放器可以被配置为简单的视频解码设备。也就是说,媒体播放器可以不包括附加的通信/无线电电路,或者用于接受人类输入的物理接口。下文所描述的媒体播放器可以连接至显示设备和互联网,并且可以经由互联网从远程服务器设备接收流媒体内容。
在一个非限制示例中,移动设备能够在基于云的游戏环境中建立流会话。建立流会话可以包括向媒体播放器通知可以与之建立会话的一个或多个服务器。此外,建立流会话可以包括与用户输入的外围信号(即,控制器信号)链接并接受所述外围信号以及将所接收到用户输入的外围信号(即,控制器信号)发送至可以与之建立会话的一个或多个服务器。总体上,以上步骤能够以使得用户能够体验到与从媒体播放器流送且在显示设备上进行显示的媒体内容的实时交互性的速度来执行。
在一些实施方式中,用户能够通过连接至她的显示设备(例如,电视机)和互联网的媒体播放器而在所述显示设备上访问流媒体(例如,在线游戏、视频、应用等)。用户可能已经将游戏控制器和移动设备(或者例如移动电话、平板计算机)进行了配对或连接。所述移动设备例如可以经由互联网而连接至一个或多个远程服务器。用户能够在她的连接互联网的移动设备上访问应用,与一个或多个服务器建立会话以基于所选择游戏发起流媒体。一旦会话被建立,用户就可以将她的移动设备拿开且拿起游戏控制器(与她的移动设备配对/连接)并且开始通过流媒体会话玩游戏。能够通过将所述交互或命令送至移动设备(从控制器),使得所述移动设备将所述交互或命令接着送至一个或多个服务器以及使得所述一个或多个服务器实施所述命令,而在流媒体内插入和/或实施在控制器处所接收的用户交互或命令,所述一个或多个服务器通过执行所述命令并且将所产生的完成命令流送至来自媒体播放器的游戏流中来实施所述命令。
图1是能够被用于流送媒体内容的示例系统100的框图。示例系统100包括能够通过网络101交换数据的多个计算设备。所述设备可以包括移动设备102、服务器计算设备104以及媒体播放器106。如下文所描述的,可能有附加设备并且这样的设备可以被配置为互为替代。在一些实施方式中,设备102、104和106可以是膝上或台式计算机、智能电话、个人数字助理、便携式媒体播放器、平板计算机,或者能够使用网络101与其它计算设备或计算机系统进行通信的其它适当计算设备。
移动设备102在本文被表示为智能电话。在一些实施方式中,设备102可以是膝上计算机、笔记本计算机、平板计算机、可穿戴计算设备(例如,手表),或者另一种类型的移动计算设备。示例计算设备102可以包括一个或多个处理器(例如,客户端中央处理单元(CPU)108)以及一个或多个存储器设备(例如,客户端存储器110)。移动设备102能够执行客户端操作系统(O/S)112以及一个或多个客户端应用(例如,会话管理应用114、游戏应用120),所述客户端应用能够在移动设备102中包括的显示设备118上显示用户界面(UI)(例如,UI116)。
移动设备102可以包括应用120——在本文被示为“游戏应用(GAME APP)”——其能够被用来协助用户配置交互式媒体流。特别地,应用120能够被用户用来从经由应用120所提供的游戏目录中选择一款游戏。应用120还能够被用来结合会话管理应用144来配置与一个或多个控制器122的配对或连接和/或与服务器计算设备104的连接。
例如,会话管理应用114能够被移动设备102的用户用来在移动设备102和服务器计算设备104之间建立游戏会话。例如,会话管理应用114能够被配置为部署到一个或多个服务器(包括服务器计算设备104)的连接,并且能够将诸如游戏设备/控制器122的一个或多个外围设备通过网络101且经由移动设备102链接至服务器计算设备104。移动设备102和控制器122之间的链接可以是有线或无线的。
会话管理应用114能够被配置为将任何所接收的用户输入信号(例如,从控制器122所接收)经由移动设备102发送至服务器计算设备104。通常,会话管理应用114能够连接移动设备102和服务器计算设备104,保持所述连接,并且将任何所接收的信号或用户请求提供至服务器计算设备104。服务器计算设备104能够将所述信号或请求作为流输出提供至媒体播放器106以便在显示设备124上进行显示。所述信号和/或请求可以在系统100中的设备间进行传送从而使得用户能够体验到与(从服务器计算设备104)提供至媒体播放器106且在显示设备124上的媒体内容的实时交互性。
控制器122可以包括多个用户输入设备。例如,控制器122可以是游戏板、键盘、鼠标、游戏控制器、操纵杆、触摸屏、跳舞垫、方向盘、视频游戏控制器,或者它们的任意组合。在一些实施方式中,控制器可以是另一个移动设备,诸如智能电话或平板设备。控制器122通常能够连接至终端用户设备(诸如移动设备102、移动电话、平板计算机、膝上计算机等)。从控制器122到终端用户设备的连接可以包括但并不局限于蓝牙、蓝牙低能量(蓝牙LE)、USB、WiFi,或者简单地被物理连线到所述终端用户设备上所支持的输入端口。通常,终端用户设备(即,移动设备102控制器122)包括输入处理器,其能够将来自设备102的用户输入中继至远程流送器,所述远程流送器最终能够将所述信息提供至目标游戏/游戏会话。游戏内容和用户输入例如能够由媒体播放器106实时地流送。
如图1所示,系统100包括服务器计算设备104,其可以包括一个或多个计算设备(例如,服务器130a)以及一个或多个计算机可读存储设备(例如,数据库130b)。服务器130a可以包括一个或多个处理器(例如,服务器CPU 132)以及一个或多个存储器设备(例如,服务器存储器134)。计算设备102和106能够使用网络101与服务器计算设备104进行通信(并且服务器计算设备104能够使用网络101与计算设备102和106进行通信)。服务器130a能够执行服务器O/S 136。
在一些实施方式中,服务器计算设备104可以充当设备102或106所使用的游戏会话的全局协调器。例如,在接收到来自用户的游戏启动请求时,服务器计算设备104可以针对启动所请求的游戏验证用户授权。
如所示出的,服务器计算设备104包括主机协调器138、流送器140和游戏模块142。主机协调器138表示能够选择一个或多个主机以便提供特定游戏会话的模块。选择能够基于一个或多个信号,所述信号包括但并不局限于用户的地理位置、主机服务器到用户的地理距离、GPS、卫星或蜂窝信号强度,或者与用户、媒体提供方和/或游戏提供方的设施距离。
流送器140表示能够使用系统100中所示的设备流送媒体内容的处理器集合。流送器140可以连同来自游戏模块142的任意可执行游戏一起在服务器计算设备104上执行。特别地,流送器140能够捕捉、编码游戏画面并且将其输送至客户端设备(例如,移动设备102),并且能够将从设备102接收的输入命令注入到游戏中(即,经由流视频/音频)。
流送器140可以使用服务器计算设备104上的图形处理单元(GPU)来执行流送任务。流送任务可以包括向诸如移动设备102、媒体播放器106或者系统100中的其它设备的消费者设备提供直播流送图形密集游戏或其它媒体。通常,流送器140能够通过网络101被流送并且在实施用户请求/命令以与媒体内容进行交互时提供低延时。例如,低延时可以包括在控制器122处接收到用户的命令与响应于所述命令使动作得以被渲染在设备124上之间小于约100至约120毫秒的流送延时,并且可以包括有限缓冲以实现这样的速率。通常,流送器140从服务器计算设备104流送媒体内容,并且服务器计算设备104可以被配置以网络端口,所述网络端口不会被防火墙所阻隔或者被隐藏在任何网络地址翻译任务之后。通常,流送器140可以在从诸如移动设备102的客户端设备接收到流送内容的请求时开始这样做。
在一些实施方式中,流送器140能够适配于不同网络条件以选择适当的流配置。此外,例如,流送器140能够在运行时间检测网络条件变化,并且根据所检测到的变化作出反应以修改网络设置或流设置。
游戏模块142表示能够由诸如移动设备102的客户端设备所访问、执行并流送的多个基于媒体的游戏(例如,交互式媒体/视频游戏)。游戏模块142包括流送器通信模块144和媒体会话控制模块146。流送器通信模块144能够从客户端设备(例如,移动设备102)接收命令并且能够将所接收到的命令注入到游戏中的控制特征。媒体会话控制模块146例如能够从移动设备102接收客户端会话请求,并且能够托管媒体流会话。例如,媒体会话控制模块146能够在游戏模块142和移动设备102之间提供媒体信令通道。
系统100包括媒体播放器106。媒体播放器106可以被配置为流送媒体内容并且在电视、计算机或其它所连接的显示设备上显示这样的流送媒体内容。通常,例如,媒体播放器106所流送的媒体内容经由网络101而在互联网上被接收。系统100的实施方式包括使得用户能够与媒体播放器106所接收的媒体进行交互而所述播放器不必具有任何输入、解码或控制能力。在该实施方式中,用户控制、动作和/或请求从控制器设备(例如,与移动设备102进行通信的控制器122)被接收并且被直接从移动设备102而不是媒体播放器106送至服务器计算设备104。例如,服务器计算设备104能够将所递送的用户控制、动作和/或请求作为经更新的流媒体内容提供给媒体播放器106。
媒体播放器106的实施方式可以包括网络连接和视频解码器以便对在互联网上接收的音频和视频信号进行解码和流送。例如,媒体播放器106可以简单地执行对从在线服务器所接收的这样的信号的解码和显示。也就是说,媒体播放器106可以被配置为与互联网提供方和媒体服务器(例如,服务器104)进行通信,并且因此用于修改媒体播放器106所输出的内容的任何指示都可以由互联网提供方(用于访问互联网数据)和媒体服务器(用于访问媒体并实施用户所提供的请求)来提供。在一些实施方式中,媒体播放器106可以关于在线数据而仅被配置为接收器。例如,除了向服务器106确认命令或内容已经被接收和/或执行之外,媒体播放器可以不向任何其它设备提供通信并且因此可以使用通信无线电或者物理接口或控制来接受人类输入。这样的实施方式可以确保任何用户输入命令和会话建立命令都经由移动设备102被发送至服务器计算设备104。此外,在流内容和用户的输入之间所完成的任何解码都可以由移动设备102来执行。媒体播放器106可以从服务器接收指示以访问来自特定的媒体内容提供方的源内容。
在一些实施方式中,网络101可以是公共通信网络(例如,互联网、蜂窝数据网络、电话网络上的拨号调制解调器)或者私有通信网络(例如,私有LAN、租用线路)。在一些实施方式中,计算设备102、104和106能够使用一种或多种高速有线和/或无线通信协议(例如,802.11变体、WiFi、蓝牙、传输控制协议/互联网协议(TCP/IP)、以太网、IEEE 802.3等)与网络101进行通信。
在一些实施方式中,服务器计算设备104能够表示共同工作以执行服务器侧的操作的多于一个的计算设备。例如,虽然图1中并未示出,但是系统100可以包括能够包括共同工作以执行服务器侧的操作的多个服务器(计算设备)的计算机系统。在该示例中,单一所有者能够提供多个服务器。在一些情况下,所述多个服务器中的一个或多个能够为所有者提供其它功能。在非限制示例中,所述计算机系统还可以包括搜索服务器和web爬取器服务器。
在一些实施方式中,移动设备102能够采用操作系统112来执行会话管理应用114。会话管理应用114能够被配置为联系服务器计算设备104以检索移动设备102所请求的内容。例如,移动设备102能够请求游戏会话以利用游戏内容开始新的游戏。服务器计算设备104能够在游戏模块142处接收到所述请求并且使用流送器140、媒体会话控制模块146和流送器通信模块144开始在媒体播放器106上流送游戏内容。所述游戏内容可以通过互联网——例如经由网络101——进行流送,并且用户能够使用移动设备102和控制器122与所述内容进行交互。通常,所述交互从移动设备102流出(源自于设备102或控制器122)并且被发送至服务器计算设备104。例如,在服务器计算设备104从设备102(或者经由设备102从控制器122)接收到更新或命令时,服务器计算设备104能够将初始游戏内容以及针对游戏内容的更新提供至媒体播放器106。
在一个非限制示例中,用户能够通过使用控制器122发送命令来控制游戏内容以及与这样的内容的交互。控制器122能够将命令递送至移动设备102。例如,移动设备102能够将所述命令发送至服务器计算设备104,在那里游戏模块142能够实施所述命令以将经更新的游戏内容提供至媒体播放器106以便在电视上显示。简言之,移动设备102的用户能够(经由移动设备102间接地)与会话管理应用114进行通信以向会话管理应用114以及正利用媒体播放器106显示的内容提供输入或者以其它方式对它们的操作进行控制。
在一些实施方式中,移动设备102可以经由有线或无线连接而被连接至控制器122。例如,移动设备102例如能够使用诸如蓝牙、蓝牙低能量(蓝牙LE)和WiFi之类的一种或多种高速有线和/或无线通信协议直接与控制器122进行通信。移动设备102例如能够使用直接通信来识别与自身接近的一个或多个计算设备,并且能够促成设备102和控制器122之间的一个或多个会话和/或控制器122和服务器计算设备104之间的会话。在这些实施方式中,识别接近于移动设备102的一个或多个计算设备包括确定所述一个或多个计算设备处于通信协议的通信范围之内。
图2是用户与本公开所描述的示例系统进行交互的示图。如所示出的,用户202正在与显示器(例如,电视)206上从服务器(图1)经由媒体播放器106所流送的媒体内容204进行交互。这里,媒体播放器106可以物理连接(有线或无线)至电视204并且通过互联网与一个或多个服务器(图1)进行通信。例如,用户202可以将她的移动设备102随身携带或者放在她的游戏控制器122的范围周围。在一些实施方式中,移动设备102可以是智能电话、膝上计算机、平板计算机,或者能够通过互联网与一个或多个服务器(图1)连接和通信的其它计算设备。如上文详细描述的,所述控制器可以包括游戏板或者能够连接(有线或无线)至移动设备102的其它输入设备。
在该示例中,控制器122可以连接至移动设备102并与之进行交互,并且可以不与媒体播放器106、服务器、显示器或者接近控制器122的其它设备进行连接或通信。例如,所述控制器可以进行工作以与移动设备102进行交互,并且移动设备102可以被配置为将控制器加入到游戏会话中从而每个控制器输入都能够经由移动设备102而被汇集至托管云游戏会话的服务器。
移动设备102可以包括向用户202提供辅助以例如配置控制器122以及选择并启动游戏/游戏会话的应用(例如,图1中的应用120)。例如,移动设备102能够针对用户202配置游戏会话,以及在配置这样的会话时,移动设备102上的应用能够呈现游戏目录以供用户选择。用户随后能够选择要玩的游戏。一旦控制器被配置且游戏被选择,移动设备102就能够开始接收控制器输入并且将这样的输入汇集至服务器计算设备104以便处理、执行并且插入到流媒体内容204中。
在图2所描绘的示例中,用户202正在使用控制器122与流媒体内容204进行交互。用户202在控制器122上所录入的输入可以是移动设备102所控制的会话。也就是说,控制器122可以与设备102耦合或以其它方式与之通信,并且用户202所进行的每个录入都可以在移动设备102处被接收并且被发送至服务器以便录入到媒体内容204中。在该示例环境中,控制器122被配置为控制用户在媒体内容204所描绘的场景中所选取的路径,其在这里被示为目标和范围引导208。在该示例中,媒体内容204可以为用户提供在其中参与游戏会话的交互式游戏环境。
在一个示例中,用户能够使用控制器122来与流媒体内容204进行交互以便在内容内四处移动和/或操控范围引导208。特别地,用户能够倾斜、扭动控制器122或者操控其上的控制而使得范围引导208所表示的用户倾斜、扭动、转动,或者以其它方式进行移动并改变引导208的方向。控制器122的操控能够通过使得用户与内容204的不同部分进行交互或者由于用户使用控制器122在媒体内容204的不同区域内简单地四处移动而促成针对媒体内容的改变。例如,观看者在媒体内容204中遇到的改变能够实时发生,原因在于用户所发出的控制器命令能够被移动设备102检测到并且被发送至服务器(例如,图1中的服务器计算设备104)以便处理、执行,以及将任何更新中继至媒体播放器106。通常,实时的方面之所以是可能的是因为移动设备102通过将控制器输入连接至托管在服务器上的媒体内容和游戏功能而对游戏会话进行监管。通常,移动设备102能够进行工作以往来于托管流媒体内容的服务器发送和接收游戏(媒体)内容和通信分组。
在一些实施方式中,针对控制器的输入能够由特定量的扭矩或者按钮按压或扭动所指示。这样的移动可以由转盘的部分转动(即,浅转动)或转盘的多次转动(即,深转动)来表示。这些移动能够被移动设备102推断为浅转动、深转动、部分转动、倾斜转动等(并且例如能够相应地被传送至服务器计算设备104)。例如,深转动或浅转动命令可以由施加于控制器122的按钮或旋钮上的压力或扭矩的量所表示,但是对于移动设备102以及最终来自服务器计算设备104的游戏流而言,所述命令能够被解释并实施为游戏环境内用户所预期的深或浅转动。也就是说,不同于类似数字的命令(例如,开或关、左或右、播放或停止等),所述命令能够被系统100表示为类似模拟的命令,用户202可以通过部分操控按钮或旋钮而不是完全占用按钮或旋钮而在其中指示命令(例如,移动、选择等)的程度。
以类似的方式,用户202能够利用控制器122(以及向移动设备102)提供输入命令以通过将控制旋钮从起始位置向右转动大约120度以向服务器指示用户想要以大于90度的角度执行右转命令来执行深右转(例如,120-160度转动)。服务器计算设备104能够实施用户的意图,这是因为移动设备102能够检测到控制器操控的微小差异并且能够请求服务器计算设备104例如基于从设备102接收到的请求来执行深右转。所述深右转能够被执行并且服务器计算设备104能够实时地在媒体播放器106的流媒体中为用户提供这样的转动的视图。类似地,如果用户想要执行高跳跃,则所述用户能够选择按钮并且将所述按钮按下某个量从而向移动设备102(和服务器计算设备104)指示期望哪种类型的跳跃。
在以上示例中,用户选择按钮、转动转盘、移动控制等的速度能够指示所要执行哪种类型的转动或跳跃的阈值。例如,如果用户缓慢转动转盘来进行左转,则用户可能是简单地希望在前方稍微向左转向并且服务器能够在接收到所述用户命令时这样做。类似地,如果用户希望执行蹲下以隐藏不被另一个玩家发现(例如,在媒体内容中将自身的表示隐藏而不被媒体内容中的另一个玩家发现),则例如,所述用户能够快速蹲下或者将控制器(或控制器按钮)在空中快速从上向下位置移动。在输入控制请求时的用户速度(或者扭动控制旋钮的角度/距离)能够指示实施与移动相关联的距离或快捷度的指令。也就是说,除了执行蹲下的指令之外,用户蹲下的速度(或者用户转动控制以执行蹲下的量)能够被认为是以特定力度执行所述控制(例如,蹲下)的请求的一部分。这样,被快速执行的运动(或者扭转超过大约90度转动的控制旋钮)能够向服务器指示基于用户快速执行的手势而以较快的步速或者在更长时段内执行移动的请求。
在非限制示例中,在本文所描述的系统和方法中能够使用控制运动的弦杆(chord)。例如,视频游戏可以被配置以可选择杠杆(例如,范围选择器),所述杠杆能够被用来控制用户行走的速度。在该示例中,将杠杆向前或向后移动附加长度分别使得游戏中所渲染的角色跑动或更慢地行走。在另一个非限制示例中,视频游戏可以被配置以能够被用来控制用户的站立高度的第二杠杆或按钮。在行走的同时缓慢向下移动该杠杆会使得游戏中所渲染的角色蹲伏或暗中行走,而将以上两个杠杆远距离且快速地移动则会使得游戏中的角色跑动划入掩护。
图3是示出在媒体内容启动期间进行的示例配置序列300的示图。在一些实施方式中,序列300中所描述的要素和步骤可以涉及到图1中所示的要素和流程。其它实施方式是可能的。通常,媒体内容的启动可以包括移动设备102、控制器122、服务器计算设备104和媒体播放器106之间的通信。
如所示出的,图3包括针对媒体播放器302(例如,媒体播放器106)、移动设备304(例如,移动设备102)、全局协调器306、主机协调器308(例如,主机协调器138)、流送器310(例如,流送器140)、游戏312和GCS 314的序列。消息流程或序列300例如可以在系统100中执行,其中系统100是异步且非阻塞的。在步骤316,移动设备304确定是否存在游戏会话,并且如果设备304希望启动游戏,则在步骤318游戏启动请求被发送至全局协调器306。
在接收到所述游戏启动请求时,全局协调器306在步骤320针对游戏启动验证用户授权。例如,全局协调器306能够检索有关移动设备304的用户数据从而确定与设备304相关联的用户是否被准予访问特定游戏内容。
在执行用户授权之后,全局协调器306能够确定选择哪个主机来提供媒体内容,所述主机也被称作媒体主机,并且通过这样做协调器306基于一种或多种预先配置的策略执行主机选择过程(同样在步骤320)。例如,全局协调器可以选择能够被配置为针对用户托管游戏会话的候选主机的集合。在一些实施方式中,主机选择基于用户距特定服务提供方、服务塔台或其它物理提供方的地理距离。
在步骤322,全局协调器306能够将候选主机的集合发送至移动设备304。移动设备304能够选择特定主机和/或将候选主机提供至媒体播放器302以供选择。例如,移动设备304在接收到该候选主机列表时基于当前活跃的主机选择策略来选择最优主机。如步骤324所示出的,这些主机选择策略能够与随机选择器相关联,或者基于诸如速度测试、吞吐量潜能、服务质量和/或媒体相关联的提供方偏好列表之类的性能。在步骤326,特定速度测试或其它量度在媒体播放器302和主机协调器308(即,图1中的服务器计算设备104)之间被确定。
在步骤328,媒体播放器302选择主机并且将该选择通知移动设备304。在步骤330,移动设备304可以向主机协调器308发送流启动请求以请求流会话。作为所述请求的一部分,移动设备304可以提供全局协调器发出的独特会话令牌以及与记录的用户和/或存储令牌对应的的模糊标识符中的任一个或二者以便访问与用户相关联的游戏存档。
在步骤332,在接收到开始流会话以流送媒体内容的请求时,主机协调器308可以向全局协调器306验证所述会话请求。在步骤334和336,并行地,主机协调器308能够继续启动流送器310(336)以及例如从云存储映射(与用户相关联的)游戏存档(334)。
在步骤340,主机协调器308可以在游戏会话活跃时更新全局协调器306处的游戏会话状态。主机协调器308随后可以在步骤342绑定所述会话,并且通知移动设备304和媒体播放器302流送器已经就绪。
一旦流送器被启动(336),主机协调器308就可以(经由全局协调器306)告知移动设备304以在步骤348继续进行音频/视频连接以及在步骤350继续进行输入连接。与之并行地,主机在用户的)游戏存档(334)被映射到虚拟机时在步骤338启动游戏。
图4是图示控制交互式流媒体的示例过程400的流程图。如图4所示,在框402,服务器设备接收启动并流送与游戏会话有关的媒体内容的启动请求。在一些实施方式中,所述启动请求可以由移动设备所发起或提供。例如,服务器计算设备104可以从移动设备102接收启动请求。所述启动请求可以表示经由媒体播放器(例如,媒体播放器106)向显示设备流送游戏会话(或其它流媒体)的请求。
在框404,响应于接收到启动请求,服务器计算设备能够选择被配置为流送媒体内容的媒体主机。媒体主机可以使用所述启动请求中的信息和/或其它信息而被选择。例如,服务器计算设备104能够基于与移动设备102的用户相关联的预先配置的位置来选择被配置为流送特定媒体内容的媒体主机。例如,媒体主机可以是服务器计算机130a。
在框406,服务器计算系统能够验证与移动设备相关联的用户。例如,该验证过程可以包括独特会话令牌以及与用于访问用户相关联游戏存档的特定记录的用户或存储令牌相对应的标识符。在验证用户时,服务器计算设备104例如能够启动游戏会话以便在不是移动设备的设备上流送给用户。在一些实施方式中,不是移动设备的所述设备可以由耦合至能够呈现流媒体内容的诸如显示器124的显示设备的媒体播放器106所表示。在一些实施方式中,不是移动设备的所述设备可以是与能够提供流媒体的一个或多个服务器进行通信的计算设备。
在启动游戏会话时,服务器计算设备104例如能够将游戏会话映射至与用于移动设备的内容存储相关联的虚拟机。所述内容存储可以是本地的、远程的、基于云的,或者用户能够在其中存储内容的以其它方式配置的存储器。所存储的游戏会话是经配置的通信部署形式,其能够被用来允许移动设备和服务器计算系统之间有关特定游戏会话的通信。
在所述游戏会话期间以及在流送媒体内容的同时,在框408,服务器计算设备能够从移动设备102接收多个实时控制请求。所述实时控制请求可以被配置为在媒体内容中生成至少一个改变。例如,一个实时控制请求可以被配置为转动门把手以打开流媒体内容中所示出的房门。该示例中的指令可以包括用户利用控制器122所执行并且在移动设备102被接收的命令。该指令包括用于修改流媒体内容以(经由媒体播放器106)在显示器上向用户描绘门把手转动以及房门打开的机器可读命令。在该示例中,所述命令可能已经是与移动设备相关联的用户所录入的输入。所述输入例如可以源自于耦合至移动设备102的控制器122。
在接收到每个控制请求时,在框410,服务器计算设备104能够通过在针对媒体内容的改变发生时实时地将(a)针对媒体内容的至少一个改变和(b)流媒体内容进行合成以产生合成显示来执行所述控制请求。在一些实施方式中,所述合成显示在改变针对流媒体内容被执行时表示至少一个改变的流视频。也就是说,从原始流内容到新改变的视频内容的影像变形在其发生时被实时地示出。在该示例中,门把将在流媒体内容中转动并且房门将随着其打开而被示出。在操作中,在执行控制请求以打开房门的同时,例如,设备104随后能够对合成显示进行编码以便传输至不是移动设备的设备。例如,所述合成显示能够被流送至媒体播放器106以便在显示器124上进行显示。在框412,服务器计算设备104能够向不是移动设备的所述设备(例如,媒体播放器106或其它计算设备)传送经编码的合成显示以便实时流送。
在一些实施方式中,在控制器122处所接收的输入可以包括控制器122的径向转盘的部分转动,并且服务器计算设备104可以将该部分转动解释为移动的相对缩减部分。所述移动可以处于或朝向与所述径向转盘的部分转动相关联的方向。例如,所述移动可以涉及到右转、左转、深右转、浅左转等。改变媒体内容可以包括在流媒体内容中显示媒体内容中的角色的表示,例如,所述角色在媒体内容内执行浅左转。在一些实施方式中,输入可以包括控制器122上的快速划动,并且服务器计算设备104可以将所述快速划动解释为针对媒体内容实施改变的有所提高的速度。通常,划动速度能够通过将用户手指在控制器屏幕或按钮上行进的距离除以完成所述划动所花费的时间来计算。本公开中所描述的系统能够基于控制器的类型(例如,按钮、玻璃屏幕、手杖控制器等)来对其进行计算并且能够将移动从控制器投射到媒体内容中以确定是什么组成了快速和缓慢的输入。在非限制示例中,服务器104(或移动设备102)能够通过计算完成划动所花费时间内的划动距离而基于玻璃屏幕上的手指划动来计算在媒体内容中执行动作的速度。接下来,服务器104(或移动设备102)能够确定手指划动在玻璃上的何处开始和结束(以确定特定屏幕尺寸上的移动),并且能够将所述划动关联于媒体内容来确定如何在覆盖于玻璃上的距离和媒体内容中所覆盖的距离之间进行距离等同。这可以包括针对玻璃计算拖拽/摩擦力并且在对移动进行转换以便在媒体内容中执行时对这样的力加以考虑。
在一些实施方式中,每个游戏会话能够与访问端口标识符相关联。例如,所述访问端口标识符可以识别被配置为在服务器计算设备104和移动设备102之间中继用户输入的用户数据报协议(UDP)输入端口。
图5是图示移动设备和服务器计算设备之间的传输协议的示例过程500的流程图。简言之,过程500可以被用来确保用户所输入的数据在从耦合至提供所输入的数据的控制器的移动设备发送时在服务器计算设备处被接收。
在框502且响应于接收到来自移动设备的流会话请求,过程500可以包括从服务器计算设备104向移动设备102发送端口标识符以便通过网络(例如,互联网)递送数据。这样的网络可以被配置为使得能够在一个或多个服务器计算系统、移动设备以及与移动设备相关联的媒体播放器之间进行流送通信。例如,所述端口标识符可以包括要在向服务器计算设备104中继用户输入时与网络一起使用的UDP输入端口。
在框504,过程500可以包括在服务器计算设备104处接收表示修改流媒体内容的请求的多个冗余数据集合。每个数据集合可以由相同的序列标识符所识别。所述数据集合可以是相同的并且被识别从而确保冗余命令集合能够被发送以考虑可能导致命令数据无法传递的任何分组丢失或网络错误的情况。基于所述序列标识符,服务器计算设备能够确定所接收的数据集合是否是冗余的,即在之前已经接收过具有相同序列号的数据集合时,或者尽管冗余但是有关特定数据集合的所有分组都已经被丢弃或并未被传递时。
在框506,过程500可以包括实时地执行修改流媒体内容的所述请求并且向移动设备通知所述执行。特别地,修改流媒体内容可以包括在流媒体内容中执行从移动设备102所接收的输入命令(例如,朝房门开火)。所述执行可以包括在流媒体内容中朝房门实施开火并且通过实时地将至少一个改变(例如,示出武器开火以及房门中的弹孔)合成到媒体内容中以产生合成显示而提供该执行的图像流。所述合成显示能够被编码并传送至不是移动设备的设备(例如,媒体播放器106)。该显示能够在接收到修改流媒体内容的请求(即,接收到朝房门开火的输入命令)时实时地发生。
在框508,过程500可以包括丢弃具有相同序列标识符的任何其它冗余数据集合。例如,在请求/命令被实施和/或确保被捕捉之后,(通过序列标识符而被识别为冗余的)任何冗余数据都能够从服务器计算设备中被擦除从而确保不会实施过时的按键敲击。
在一些实施方式中,过程500能够确定特定请求/命令并未在服务器计算设备104处被接收。响应于确定冗余数据集合并未在服务器计算设备104处被接收,服务器计算设备104能够传送重置协议以防止与所述冗余数据集合相关联的命令的重播。
在一些实施方式中,多个实时控制请求中的一部分可以包括对流媒体内容中的内容进行修改的至少两个请求,并且每个请求可以包括由序列标识符所识别的冗余信息,所述冗余信息包括每个所接收的实时控制请求固定数量的分组集合。也就是说,冗余性能够被构建到命令发送和接收结构之中从而确保命令在服务器计算设备104处被正确接收并且被相应地执行。在一些实施方式中,相同数据的冗余分组能够从移动设备102被发送至服务器计算设备104。例如,针对每个实时控制请求包括大约15至大约20个相同分组集合的冗余信息可以被发送至服务器计算设备104。
图6示出了可以被用来与本文所描述的技术一起使用的通用计算机设备600和通用移动计算机设备650的示例。计算设备600意在表示各种形式的数字计算机,诸如膝上计算机、台式机、工作站、个人数字助理、服务器、刀锋服务器、大型机和其它适当计算机。计算设备650意在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其它类似的计算设备。这里所示出的组件、其连接和关系以及其功能仅意在是示例性的,而并非意在对本文中所描述和/或要求保护的发明的实施方式进行限制。
计算设备600包括处理器602、存储器604、存储设备606、连接到存储器604和高速扩展端口610的高速接口608,以及连接到低速总线614和存储设备606的低速接口612。组件602、604、606、608、610和612中的每个使用各种总线进行互连,并且可以安装在共用主板上,或者以其它适宜方式进行安装。处理器602能够处理指令以便在计算设备600内执行以在诸如耦合到高速接口608的显示器616的外部输入/输出设备上显示用于GUI的图形信息,所述指令包括存储在存储器604中或者存储设备606中的指令。在其它实施方式中,可以在适当情况下使用多个处理器和/或多个总线,以及多个存储器和多个类型的存储器。而且,多个计算设备600可以与提供必要操作的各部分的每个设备进行连接(例如,作为服务器组、刀锋服务器群组或多处理器系统)。
存储器604存储计算设备600内的信息。在一种实施方式中,存储器604是一个或多个易失性存储单元。在另一实施方式中,存储器604是一个或多个非易失性存储单元。存储器604还可以是其它形式的计算机可读介质,诸如磁盘或光盘。
存储设备606能够为计算设备600提供大型存储。在一种实施方式中,存储设备606可以是或者可包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其它类似固态存储设备、或者设备阵列,包括存储域网络或其它配置中的设备。计算机程序产品可有形体现在信息载体中。所述计算机程序产品还可包含指令,所述指令当被执行时,执行诸如以上所描述的一种或多种方法。所述信息载体是计算机或机器可读介质,诸如存储器604、存储设备606,或者处理器602上的存储器。
高速控制器608管理用于计算设备600的带宽密集操作,而低速控制器612管理较低带宽密集的操作。这样的功能分配仅是示例性的。在一种实施方式中,高速控制器608耦合到存储器604、显示器616(例如,通过图形处理器或加速器),并且耦合到可接受各种扩展卡(未示出)的高速扩展端口610。在该实施方式中,低速控制器612耦合到存储设备606和低速扩展端口614。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可耦合到一个或多个输入/输出设备,诸如键盘、指示设备、扫描仪,或者例如通过网络适配器耦合到诸如交换机或路由器之类的联网设备。
如图所示,计算设备600能够以多种不同形式来实现。例如,其可以被实施为标准服务器620,或者这种服务器分组中的多个服务器。其还可以被实施为机架式服务器计算系统624的一部分。此外,其还可以在诸如膝上计算机622的个人计算机中实施。作为选择,来自计算设备600的组件可以与诸如设备650的移动设备(未示出)中的其它组件相结合。每个这样的设备可包含一个或多个计算设备600和移动计算设备650,并且整个系统可由多个彼此通信的多个计算设备600、650所构成。
除其它组件之外,计算设备650包括处理器652、存储器664、诸如显示器654的输入/输出设备、通信接口666和收发器668。设备650还可提供以诸如微驱动器或其它设备的存储设备以提供附加存储。每个组件650、652、664、654、666和668使用各种总线进行互连,并且若干组件可安装在共用主板上或者以其它适宜方式进行安装。
处理器652能够执行计算设备650内的指令,包括存储在存储器664中的指令。所述处理器可被实施为包括单独且多个的模拟和数字处理器的芯片的芯片组。例如,所述处理器可提供设备650的其它组件的协同,诸如控制用户接口、设备650所运行的应用程序以及设备650所进行的无线通信。
处理器652可以通过耦合到显示器654的控制接口658和显示接口656与用户进行通信。显示器654例如可以是TFT LCD(薄膜晶体管液晶显示器)显示器或OLED(有机发光二极管)显示器,或者其它适当的显示技术。显示接口656可以包括用于驱动显示器654向用户呈现图形和其它信息的适当电路。控制接口658可以从用户接收命令并且对其进行转换以便提交至处理器652。此外,可以提供与处理器652进行通信的外部接口662,从而使得设备650能够与其它设备进行近域通信。例如,外部接口662在一些实施方式中可提供有线通信,或者在其它实施方式中提供无线通信,并且也可使用多个接口。
存储器664存储计算设备650内的信息。存储器664可以实施为一个或多个计算机可读介质或媒介、一个或多个易失性存储器单元或者一个或多个非易失性存储器单元。也以提供扩展存储器674并通过扩展接口672连接到设备650,例如,所述扩展接口672可以包括SIMM(单列内存模块)卡接口。这样的扩展存储器674可为设备650提供额外的存储空间,或者还可以为设备650存储应用或其它信息。特别地,扩展存储器674可以包括指令以执行或补充以上所描述的过程,并且还可以包括安全信息。例如,扩展存储器674由此可被提供作为设备650的安全模块,并且可以利用允许对设备650进行安全使用的指令进行编程。此外,可以经由SIMM卡提供安全应用以及附加信息,诸如以不可破坏的方式在SIMM卡上设置识别信息。
例如,如以下所讨论的,所述存储器可以包括闪存和/或NVRAM存储器。在一种实施方式中,计算机程序产品有形体现在信息载体中。所述计算机程序产品还可包含指令,所述指令当被执行时,执行诸如以上所描述的一个或多个方法。该信息载体是计算机或机器可读介质,诸如存储器664、扩展存储器674,或者处理器652上的存储器,其例如可以在收发器668或外部接口662上被接收。
设备650可通过通信接口666进行无线通信,在必要时,通信接口666包括数字信号处理电路。通信接口666可在各种模式或协议下提供通信,除其它之外,所述模式或协议诸如GSM语音呼叫、SMS、EMS或MMS消息发送、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS。例如,这样通信可通过射频收发器668进行。此外,诸如可使用蓝牙、WiFi或其它这样的收发器(未示出)进行短程通信。此外,GPS(全球定位系统)接收器模块670可为设备650提供附加的导航和位置相关的无线数据,其可由设备650上运行的应用适当使用。
设备650还使用音频编解码器660进行可听通信,所述音频编解码器660可以接收来自用户的话音信息并且将其转换为可用的数字信息。音频编解码器660同样可以诸如通过扬声器为用户生成可听声音,例如在设备650的听筒中。这样的声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并且还可以包括设备650上运行的应用所生成的声音。
如图所示,计算设备650可以以多种不同形式来实现。例如,其可以实施为蜂窝电话650。其还可以实施为智能电话682、个人数字助理或其它类似移动设备的一部分。
这里所描述的系统和技术的各种实施方式可以以数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合来实现。这些各种实施方式可以包括一个或多个计算机程序中的实施方式,所述计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,所述可编程系统可以为专用或通用的,其耦合以从存储设备、至少一个输入设备以及至少一个输出设备接收数据和指令并且向其传送数据和指令。
这些计算机程序(也称作程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且能够以高级程序和/或面向对象编程语言来实施,和/或以汇编/机器语言来实施。如这里所使用的,术语“机器可读介质”、“计算机可读介质”是指用来向可编程处理器提供机器指令和/或数据的任意计算机程序产品、装置和/或设备(例如,磁碟、光盘、存储器、可编程逻辑器件(PLD)),其包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指被用来为可编程处理器提供机器指令和/或数据的任意信号。
为了提供与用户的交互,这里所描述的系统和技术可在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)和用户能够通过其为计算机提供输入的键盘和指示设备(例如,鼠标或轨迹球)的计算机上实施。也可以使用其它类型的设备来提供与用户的交互;例如,提供给用户的反馈可以为任意形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且来自用户的输入可以以任意形式接收,包括声音、话音或触觉输入。
这里所描述的系统和技术可以在计算系统中实施,所述计算系统包括后端组件(例如,数据服务器),或者其包括中间件组件(例如,应用服务器),或者其包括前端组件(例如,具有用户能够通过其与这里所描述的系统和技术的实施方式进行交互的图形用户界面或web浏览器的客户端计算机),或者这些后端、中间件或前端组件的任意组合。所述系统的组件可通过任意形式或介质的数字数据通信(例如,通信网络)进行互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络进行交互。客户端和服务器的关系通过在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序所建立。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络进行交互。客户端和服务器的关系通过在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序所建立。
在这里所讨论的系统和方法收集有关用户的个人信息或者对个人信息加以利用的情况下,用户可以被提供以控制程序或特征是否收集用户信息(例如,有关用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前位置的信息),或者对是否可以和/或可以如何从内容服务器接收可能与用户更为相关的内容进行控制的机会。此外,某些数据可以在其被存储或使用之前以一种或多种方式被处理,而使得个人可识别信息得以被去除。例如,用户的身份可以被处理而使得无法针对用户确定个人可识别信息,或者可以将获得位置信息的用户的地理位置进行一般化处理(诸如处理为城市、ZIP码或州的级别)而使得无法确定用户的特定位置。因此,用户可以对内容服务器如何收集和使用有关该用户的信息加以控制。
已经详细描述了多个实施例。然而,将要理解的是,可以进行各种修改而并不背离说明书的精神和范围。
此外,附图中所描绘的逻辑流程并非必然要求所示的顺序或连续顺序来实现所期望的结果。此外,可以提供其它步骤,或者可以从所描述流程中删除步骤,并且可以向所描述的系统添加其它组件或者从其移除组件。因此,其它实施例也落入以下权利要求的范围之内。
在下文中,对根据本公开的系统和方法的另外的示例进行描述。
第一示例涉及一种控制交互式流媒体的方法,所述方法包括:在服务器计算设备处接收启动并流送与游戏会话有关的媒体内容的启动请求,所述启动请求由移动设备所提供;在所述服务器计算设备处并且使用所述启动请求选择被配置为流送所述媒体内容的媒体主机;验证与所述移动设备相关联的用户以及启动所述游戏会话以便在不是所述移动设备的设备上流送至所述用户;在所述游戏会话期间以及在流送所述媒体内容的同时,从所述移动设备接收多个实时控制请求,所述请求被配置为在所述媒体内容中生成至少一个改变;以及在接收到每个控制请求时:通过实时地将所述至少一个改变和所述媒体内容进行合成并且产生合成显示来执行所述控制请求,以及对所述合成显示进行编码以便传输至不是所述移动设备的设备;以及向不是所述移动设备的设备传送经编码的合成显示以便实时地进行流送。
在基于第一示例的第二示例中,不是所述移动设备的设备包括耦合至显示设备以用于呈现流媒体的媒体播放器。
在基于第一或第二示例的第三示例中,所述控制器包括以下中的至少一个:游戏板、键盘、鼠标、游戏控制器、操纵杆、触摸屏、跳舞垫和方向盘。
在基于第一至第三示例之一的第四示例中,所述合成显示表示至少一个改变在针对流媒体被执行时所述至少一个改变的流视频。
在基于第一至第四示例之一的第五示例中,所述多个实时控制请求包括使用来自与移动设备相关联的用户的输入修改流媒体内容的指令,并且其中所述输入源自于耦合至所述移动设备的控制器。
在基于第五示例的第六示例中,所述输入包括所述控制器上的径向转盘的部分转动,并且所述服务器计算设备将所述部分转动解释为朝向与所述径向转盘的部分转动相关联的方向的移动的相对缩减部分,以及针对所述媒体内容的改变包括在所述流媒体内容中显示在所述媒体内容内执行浅转动的所述媒体内容中的角色的表示。
在基于第五或第六示例的第七示例中,所述输入包括所述控制器上的快速划动,并且所述服务器计算设备将所述快速划动解释为实施针对媒体内容的改变的有所提高的速度。
在基于第一至第七示例之一的第八示例中,选择被配置为流送所述媒体内容的媒体主机基于与所述移动设备的用户相关联的地理位置。
在基于第一至第八示例之一的第九示例中,所述方法进一步包括在启动游戏会话时,将所述游戏会话映射至与用于移动设备的内容存储相关联的虚拟机,所述游戏会话被配置为允许移动设备和服务器计算系统之间的通信。
在基于第一至第九示例之一的第十示例中,所述多个实时控制请求中的一部分包括:对流媒体内容中的内容进行修改的至少两个请求,每个请求包括由序列标识符所识别的冗余信息,所述冗余信息包括每个所接收的实时控制请求的固定数量的分组集合;以及识别被配置为在所述服务器计算设备和移动设备之间中继用户输入的用户数据报协议输入端口的访问端口标识符。
在基于第十示例的第十一示例中,所述冗余信息包括针对每个实时控制请求的大约15至大约20个分组集合。
第十二示例涉及一种系统,包括:媒体播放器,所述媒体播放器包括音频视频流送电路,所述媒体播放器耦合至网络和显示设备并且被配置为从内容服务器计算设备接收流内容;移动设备,所述移动设备被配置为:确定所述移动设备接近于控制器并且无线连接至所述控制器;以及接收流送内容的多个内容服务器计算设备的列表,并且选择至少一个内容服务器来托管流会话;建立与至少一个内容服务器的流会话;以及将从所述控制器所接收的输入的表示中继至至少一个内容服务器计算设备,所述表示由所述移动设备生成并且包括多个冗余分组,所述冗余分组表示用于控制由至少一个内容服务器计算系统所提供的交互式流媒体内容的命令。
在基于第十二示例的第十三示例中,所述多个冗余分组包括针对每个输入的大约15至大约20个分组集合。
在基于第十二或第十三示例的第十四示例中,所述控制器包括以下中的至少一个:游戏板、键盘、鼠标、游戏控制器、操纵杆、触摸屏、跳舞垫和方向盘。
第十五示例涉及一种方法,包括:响应于接收到来自移动设备的流会话请求而从服务器计算系统向移动设备发送端口标识符以便通过网络递送数据;在服务器计算系统处接收表示修改流媒体内容的请求的多个冗余数据集合,每个集合由相同的序列标识符所识别;实时地执行修改流媒体内容的所述请求并且向移动设备通知所述执行;以及丢弃具有相同序列标识符的其它冗余数据集合。
在基于第十五示例的第十六示例中,所述多个冗余数据集合包括针对修改流媒体内容的每个请求的大约15至大约20个数据集合。
在基于第十五或第十六示例的第十七示例中,修改所述流媒体内容包括:通过实时地将至少一个改变合成到媒体内容中以产生合成显示而对流媒体内容执行从移动设备接收的输入命令;对所述合成显示进行编码以便传输至不是所述移动设备的设备;以及向不是所述移动设备的设备传送经编码的合成显示以便实时地进行流送。
在基于第十七示例的第十八示例中,不是所述移动设备的设备包括耦合至显示设备的媒体播放器以便实时地流送经编码的合成显示从而进行显示。
在基于第十五至第十八示例之一的第十九示例中,所述网络使得能够在服务器计算系统、移动设备以及与所述移动设备相关联的媒体播放器之间进行流送通信。
在基于第十五至第十九示例之一的第二十示例中,所述方法进一步包括响应于确定并未在所述服务器计算系统处接收到冗余数据集合,传送重置协议以防止与所述冗余数据集合相关联的命令的重播。
在基于第十五至第二十示例之一的第二十一示例中,修改流内容的所述请求由耦合至所述移动设备的控制器所发起。
Claims (21)
1.一种控制交互式流媒体的方法,所述方法包括:
在服务器计算设备处从移动设备接收用于发起所述移动设备和所述服务器计算设备之间的游戏会话并且启动并流送与所述游戏会话有关的来自所述服务器计算设备的媒体内容的启动请求;
在所述服务器计算设备处并且使用所述启动请求选择被配置为流送所述媒体内容的媒体主机;
验证与所述移动设备相关联的用户并且触发所述游戏会话的启动以便在不是所述移动设备的设备上流送媒体内容至所述用户;
在所述游戏会话期间并且在流送所述媒体内容的同时:
在所述服务器计算设备处从所述移动设备接收被配置为在所述媒体内容中生成至少一个改变的多个实时控制请求,所述多个实时控制请求从控制器设备被远程传送到所述移动设备;以及
在所述服务器计算设备处从所述移动设备接收到每个控制请求时:
通过实时地修改所述媒体内容来执行所述控制请求,所述修改包括对所述媒体内容执行所述至少一个改变以产生所述媒体内容和所述至少一个改变的合成显示,以及对所述合成显示进行编码以便传输至不是所述移动设备的所述设备,以及
向不是所述移动设备的所述设备传送经编码的合成显示以便实时地进行流送。
2.根据权利要求1所述的方法,其中不是所述移动设备的所述设备包括耦合至显示设备以用于呈现流媒体的媒体播放器。
3.根据权利要求1所述的方法,其中所述控制器设备包括以下中的至少一个:游戏板、键盘、鼠标、游戏控制器、操纵杆、触摸屏、跳舞垫和方向盘。
4.根据权利要求1所述的方法,其中所述合成显示表示所述至少一个改变在针对所述流媒体被执行时所述至少一个改变的流视频。
5.根据权利要求1所述的方法,其中所述多个实时控制请求包括使用从与所述移动设备相关联的所述用户接收到的输入修改流媒体内容的指令,并且其中所述输入源自于耦合至所述移动设备的所述控制器设备,所述移动设备被配置为解释所述输入并且管理所述输入到所述服务器计算设备的通信。
6.根据权利要求5所述的方法,其中所述输入包括所述控制器设备上的径向转盘的部分转动,并且所述服务器计算设备将所述部分转动解释为朝向与所述径向转盘的所述部分转动相关联的方向的移动的相对缩减部分,以及针对所述媒体内容的所述改变包括在所述流媒体内容中显示在所述媒体内容内执行浅转动的所述媒体内容中的角色的表示。
7.根据权利要求5所述的方法,其中所述输入包括所述控制器设备上的快速划动,并且所述服务器计算设备将所述快速划动解释为实施针对所述媒体内容的所述改变的有所提高的速度。
8.根据权利要求1所述的方法,其中选择被配置为流送所述媒体内容的媒体主机基于与所述移动设备的所述用户相关联的地理位置。
9.根据权利要求1所述的方法,进一步包括在启动所述游戏会话时,将所述游戏会话映射至与用于所述移动设备的内容存储相关联的虚拟机,所述游戏会话被配置为允许所述移动设备和所述服务器计算设备之间的通信。
10.根据权利要求1所述的方法,其中所述多个实时控制请求中的一部分包括:
至少两个请求,所述至少两个请求用于对所述流媒体中的内容进行修改,每个请求包括由序列标识符所识别的冗余信息,所述冗余信息包括每个所接收的实时控制请求的固定数量的分组集合;以及
访问端口标识符,所述访问端口标识符识别被配置为在所述服务器计算设备和所述移动设备之间中继用户输入的用户数据报协议输入端口。
11.根据权利要求10所述的方法,其中所述冗余信息包括针对每个实时控制请求的15至20个分组集合。
12.一种系统,包括:
媒体播放器,所述媒体播放器包括音频视频流电路,所述媒体播放器耦合至网络和显示设备并且被配置为接收流内容;
移动设备,所述移动设备被配置为:
确定到控制器的接近度并且无线连接至所述控制器;
接收流送内容的多个内容服务器计算设备的列表,并且选择至少一个内容服务器计算设备来托管流会话;
建立与所述至少一个内容服务器计算设备的流会话;
接收由所述控制器发起并且从所述控制器远程传送的输入,所述输入包括用于控制由所述至少一个内容服务器计算设备提供的所述内容的指令;以及
将在所述控制器处发起的所述输入的表示中继至所述至少一个内容服务器计算设备,其中,所述输入的所述表示由所述移动设备生成并且包括多个冗余分组,所述冗余分组包括用于控制由至少一个内容服务器计算设备所提供的所述内容的至少一个命令。
13.根据权利要求12所述的系统,其中所述多个冗余分组包括针对每个输入的15至20个分组集合。
14.根据权利要求12所述的系统,其中所述控制器包括以下中的至少一个:游戏板、键盘、鼠标、游戏控制器、操纵杆、触摸屏、跳舞垫和方向盘。
15.一种包括指令的非暂时性计算机可读存储介质,所述指令在通过至少一个处理器执行时使所述至少一个处理器执行操作,所述操作包括:
在服务器计算设备从移动设备接收用于发起所述移动设备和所述服务器计算设备之间的游戏会话并且启动并流送与所述游戏会话有关的来自所述服务器计算设备的媒体内容的启动请求;
在所述服务器计算设备处并且使用所述启动请求选择被配置为流送所述媒体内容的媒体主机;
验证与所述移动设备相关联的用户并且触发所述游戏会话的启动以便在不是所述移动设备的设备上流送媒体内容至所述用户;
在所述游戏会话期间并且在流送所述媒体内容的同时:
在所述服务器计算设备处从所述移动设备接收被配置为在所述媒体内容中生成至少一个改变的多个实时控制请求,所述多个实时控制请求从控制器设备被远程传送到所述移动设备;以及
在所述服务器计算设备处从所述移动设备接收到每个控制请求时:
通过实时地修改所述媒体内容来执行所述控制请求,所述修改包括对所述媒体内容执行所述至少一个改变以产生所述媒体内容和所述至少一个改变的合成显示,
对所述合成显示进行编码以便传输至不是所述移动设备的所述设备;以及
向不是所述移动设备的所述设备传送经编码的合成显示以便实时地进行流送。
16.根据权利要求15所述的非暂时性计算机可读存储介质,其中不是所述移动设备的所述设备包括耦合至显示设备以用于呈现流媒体的媒体播放器。
17.根据权利要求15所述的非暂时性计算机可读存储介质,其中所述控制器设备包括以下中的至少一个:游戏板、键盘、鼠标、游戏控制器、操纵杆、触摸屏、跳舞垫和方向盘。
18.根据权利要求15所述的非暂时性计算机可读存储介质,其中,所述合成显示表示在所述至少一个改变针对流送的媒体内容被执行时所述至少一个改变的流视频。
19.根据权利要求15所述的非暂时性计算机可读存储介质,其中所述多个实时控制请求包括使用从与所述移动设备相关联的所述用户接收到的输入修改流媒体内容的指令,并且其中所述输入源自于耦合至所述移动设备的所述控制器设备,所述移动设备被配置为解释并且管理所述游戏会话的所述多个实时控制请求到所述服务器计算设备的通信。
20.根据权利要求19所述的非暂时性计算机可读存储介质,其中所述输入包括所述控制器设备上的径向转盘的部分转动,并且所述服务器计算设备将所述部分转动解释为朝向与所述径向转盘的所述部分转动相关联的方向的移动的相对缩减部分,以及针对所述媒体内容的所述改变包括在所述流媒体内容中显示在所述媒体内容内执行浅转动的所述媒体内容中的角色的表示。
21.根据权利要求19所述的非暂时性计算机可读存储介质,其中,所述输入包括所述控制器设备上的快速划动,并且所述服务器计算设备将所述快速划动解释为实施针对所述媒体内容的所述改变的有所提高的速度。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/810,994 US10135892B2 (en) | 2015-07-28 | 2015-07-28 | Independent control of interactive streaming media |
US14/810,994 | 2015-07-28 | ||
PCT/US2016/044249 WO2017019764A1 (en) | 2015-07-28 | 2016-07-27 | Independent control of interactive streaming media |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107666943A CN107666943A (zh) | 2018-02-06 |
CN107666943B true CN107666943B (zh) | 2023-08-29 |
Family
ID=56616064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680030366.0A Active CN107666943B (zh) | 2015-07-28 | 2016-07-27 | 交互式流媒体的独立控制 |
Country Status (4)
Country | Link |
---|---|
US (5) | US10135892B2 (zh) |
EP (2) | EP3750606B1 (zh) |
CN (1) | CN107666943B (zh) |
WO (1) | WO2017019764A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10135892B2 (en) | 2015-07-28 | 2018-11-20 | Google Llc | Independent control of interactive streaming media |
US9813468B2 (en) | 2015-09-08 | 2017-11-07 | Microsoft Technology Licensing, Llc | Wireless control of streaming computing device |
US10456672B2 (en) | 2016-05-19 | 2019-10-29 | Google Llc | Methods and systems for facilitating participation in a game session |
US10491666B2 (en) * | 2017-04-03 | 2019-11-26 | Sony Interactive Entertainment America Llc | Systems and methods for using a distributed game engine |
CN110678239B (zh) | 2017-10-10 | 2024-02-09 | 谷歌有限责任公司 | 利用游戏元数据和量度的分布式基于样本的游戏剖析以及支持第三方内容的游戏api平台 |
US11140207B2 (en) | 2017-12-21 | 2021-10-05 | Google Llc | Network impairment simulation framework for verification of real time interactive media streaming systems |
US20190253465A1 (en) * | 2018-02-09 | 2019-08-15 | Blade | Method for broadcasting user sessions, host computer for implementing such a method, and method for providing services to a user |
FR3077905B1 (fr) * | 2018-02-09 | 2020-10-30 | Blade | Procede de diffusion de sessions d'utilisateur, ordinateur hote permettant de mettre en oeuvre ce procede, et procede de fourniture de services a un utilisateur |
EP4276814A3 (en) | 2018-03-22 | 2023-12-20 | Google LLC | Methods and systems for rendering and encoding content for online interactive gaming sessions |
US11077364B2 (en) | 2018-04-02 | 2021-08-03 | Google Llc | Resolution-based scaling of real-time interactive graphics |
EP3740292A2 (en) | 2018-04-02 | 2020-11-25 | Google LLC | Input device for an electronic system |
WO2019194953A1 (en) | 2018-04-02 | 2019-10-10 | Google Llc | Methods, devices, and systems for interactive cloud gaming |
KR102614649B1 (ko) | 2018-04-10 | 2023-12-14 | 구글 엘엘씨 | 게이밍 렌더링에서의 메모리 관리 |
EP3807766B1 (en) | 2018-11-16 | 2021-10-27 | Google LLC | Shadow tracking of real-time interactive simulations for complex system analysis |
US10926169B2 (en) * | 2019-04-04 | 2021-02-23 | Microsoft Technology Licensing, Llc | Cross-device accessory input and output for enhanced gaming experience |
US11089112B2 (en) | 2019-08-21 | 2021-08-10 | Facebook, Inc. | Low latency interactive media distribution using shared user hardware |
EP3869333B1 (en) | 2020-02-21 | 2024-11-20 | VK Investment GmbH | Methods for executing computer executable instructions |
US11991242B1 (en) * | 2022-12-14 | 2024-05-21 | Dell Products L.P. | Efficient distributed computing using edge computing devices |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102428703A (zh) * | 2009-03-23 | 2012-04-25 | 生命力有限公司 | 基于反馈数据来选择视频压缩格式的系统及方法 |
CN104144145A (zh) * | 2013-05-08 | 2014-11-12 | 上海恺达广告有限公司 | 利用掌上移动终端在线游戏的方法及系统 |
CN104202417A (zh) * | 2014-09-16 | 2014-12-10 | 腾讯科技(深圳)有限公司 | 基于云计算的信息处理方法、客户端、云服务器及系统 |
CN104468502A (zh) * | 2013-09-24 | 2015-03-25 | 奈飞公司 | 用于内容分布的服务器选择 |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754907B1 (en) | 2000-02-09 | 2004-06-22 | Sprint Communications Company, L.P. | Remote control of video-on-demand system |
US8840475B2 (en) * | 2002-12-10 | 2014-09-23 | Ol2, Inc. | Method for user session transitioning among streaming interactive video servers |
US7821975B2 (en) * | 2005-06-10 | 2010-10-26 | Motorola, Inc. | Establishing radio link control in wireless communication networks |
GB0721861D0 (en) * | 2007-11-07 | 2007-12-19 | Ie Ltd | Data distribution system |
US9656160B2 (en) * | 2007-12-15 | 2017-05-23 | Sony Interactive Entertainment America Llc | Massive multi-player online (MMO) games server and methods for executing the same |
US8613673B2 (en) * | 2008-12-15 | 2013-12-24 | Sony Computer Entertainment America Llc | Intelligent game loading |
US8881205B2 (en) | 2008-09-12 | 2014-11-04 | At&T Intellectual Property I, Lp | System for controlling media presentation devices |
US8926435B2 (en) * | 2008-12-15 | 2015-01-06 | Sony Computer Entertainment America Llc | Dual-mode program execution |
US20100317443A1 (en) | 2009-06-11 | 2010-12-16 | Comcast Cable Communications, Llc | Distributed Network Game System |
US8320364B2 (en) * | 2009-12-15 | 2012-11-27 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Control of bit-rate and packet duplication in a real-time media stream |
US8646012B2 (en) | 2010-02-02 | 2014-02-04 | Ericsson Television Inc | System and method of mapping customer premise equipment in a VOD system of a cable service provider |
KR101956639B1 (ko) * | 2010-09-13 | 2019-03-11 | 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 | 비디오 서버 및 게임 서버를 포함하는 컴퓨터 게임 시스템에서 컴퓨터 게임을 제공하는 방법 및 시스템 |
US20130198273A1 (en) * | 2010-10-16 | 2013-08-01 | James Charles Vago | Methods, devices, and systems for video gaming |
US8902970B1 (en) * | 2010-12-01 | 2014-12-02 | Amazon Technologies, Inc. | Altering streaming video encoding based on user attention |
US8908775B1 (en) * | 2011-03-30 | 2014-12-09 | Amazon Technologies, Inc. | Techniques for video data encoding |
US9089768B2 (en) | 2011-04-01 | 2015-07-28 | Electronic Arts Inc. | Method and system for remote game display |
US20120270576A1 (en) * | 2011-04-22 | 2012-10-25 | Intuitive Research And Technology Corporation | System and method for partnered media streaming |
US20140372517A1 (en) * | 2011-08-29 | 2014-12-18 | Patrick Zuili | Systems and Methods for a Video Sharing Social Network |
US9954718B1 (en) * | 2012-01-11 | 2018-04-24 | Amazon Technologies, Inc. | Remote execution of applications over a dispersed network |
US9001178B1 (en) * | 2012-01-27 | 2015-04-07 | Google Inc. | Multimedia conference broadcast system |
WO2013126507A1 (en) | 2012-02-21 | 2013-08-29 | Brass Monkey, Inc. | Mobile embedded servers systems and methods related thereto |
US9454303B2 (en) * | 2012-05-16 | 2016-09-27 | Google Inc. | Gesture touch inputs for controlling video on a touchscreen |
CA2793154C (en) * | 2012-06-29 | 2021-05-18 | Cyril PERRIN | Methods and systems for bandwidth-efficient remote procedure calls |
US9446306B2 (en) * | 2012-07-19 | 2016-09-20 | The Regents Of The University Of California | System and method for local multiplayer gaming |
DE112013005689T5 (de) | 2012-11-28 | 2015-09-10 | Nvidia Corporation | Tragbare Spielekonsole |
US9352226B2 (en) | 2012-12-21 | 2016-05-31 | Sony Interactive Entertainment America Llc | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay |
US9364743B2 (en) * | 2012-12-21 | 2016-06-14 | Sony Interactive Entertainment America Llc | Generation of a multi-part mini-game for cloud-gaming based on recorded gameplay |
US9233309B2 (en) * | 2012-12-27 | 2016-01-12 | Sony Computer Entertainment America Llc | Systems and methods for enabling shadow play for video games based on prior user plays |
US10051467B2 (en) * | 2013-01-23 | 2018-08-14 | Microsoft Technology Licensing, Llc | Restricted-use authentication codes |
KR20140116240A (ko) * | 2013-02-25 | 2014-10-02 | 삼성전자주식회사 | 서버 장치, 서버 장치의 게임 제어 방법, 모바일 장치, 모바일 장치의 제어 방법, 디스플레이 장치 및 디스플레이 장치의 게임 영상 표시 방법 |
US20140274384A1 (en) * | 2013-03-15 | 2014-09-18 | Electronic Arts Inc. | Delivering and consuming interactive video gaming content |
WO2014152628A1 (en) * | 2013-03-15 | 2014-09-25 | Savant Systems, Llc | Remote motion control using a general-purpose wireless mobile device |
US10905943B2 (en) * | 2013-06-07 | 2021-02-02 | Sony Interactive Entertainment LLC | Systems and methods for reducing hops associated with a head mounted system |
US9908048B2 (en) * | 2013-06-08 | 2018-03-06 | Sony Interactive Entertainment Inc. | Systems and methods for transitioning between transparent mode and non-transparent mode in a head mounted display |
GB2512154B (en) * | 2013-09-18 | 2015-07-22 | Imagination Tech Ltd | Sequence number retrieval for voice data with redundancy |
JP6191367B2 (ja) | 2013-09-30 | 2017-09-06 | トヨタ自動車株式会社 | 安否情報伝達方法および安否情報伝達システム |
US20150133214A1 (en) * | 2013-11-11 | 2015-05-14 | Amazon Technologies, Inc. | Video encoding based on areas of interest |
US9582904B2 (en) * | 2013-11-11 | 2017-02-28 | Amazon Technologies, Inc. | Image composition based on remote object data |
US10067652B2 (en) * | 2013-12-24 | 2018-09-04 | Dropbox, Inc. | Providing access to a cloud based content management system on a mobile device |
US20150189543A1 (en) * | 2013-12-26 | 2015-07-02 | International Datacasting Corporation | System and Methods for Providing an Enhanced Content Proxy in a Wireless Network |
US9754443B2 (en) * | 2014-02-13 | 2017-09-05 | Bally Gaming, Inc. | System and method for remote control gaming sessions using a mobile device |
US10379614B2 (en) * | 2014-05-19 | 2019-08-13 | Immersion Corporation | Non-collocated haptic cues in immersive environments |
US10296391B2 (en) * | 2014-06-30 | 2019-05-21 | Microsoft Technology Licensing, Llc | Assigning a player to a machine |
US10306705B2 (en) * | 2014-12-09 | 2019-05-28 | Verizon Patent And Licensing Inc. | Secure connected device control and monitoring system |
US9795879B2 (en) * | 2014-12-31 | 2017-10-24 | Sony Interactive Entertainment America Llc | Game state save, transfer and resume for cloud gaming |
US10297002B2 (en) * | 2015-03-10 | 2019-05-21 | Intel Corporation | Virtual touch pad method and apparatus for controlling an external display |
US10135892B2 (en) | 2015-07-28 | 2018-11-20 | Google Llc | Independent control of interactive streaming media |
-
2015
- 2015-07-28 US US14/810,994 patent/US10135892B2/en active Active
-
2016
- 2016-07-27 WO PCT/US2016/044249 patent/WO2017019764A1/en active Application Filing
- 2016-07-27 EP EP20185541.8A patent/EP3750606B1/en active Active
- 2016-07-27 EP EP16748429.4A patent/EP3328512A1/en not_active Withdrawn
- 2016-07-27 CN CN201680030366.0A patent/CN107666943B/zh active Active
-
2018
- 2018-10-30 US US16/175,195 patent/US11019122B2/en active Active
-
2021
- 2021-04-22 US US17/302,053 patent/US11394760B2/en active Active
-
2022
- 2022-07-18 US US17/813,089 patent/US12041106B2/en active Active
-
2024
- 2024-07-15 US US18/772,972 patent/US20250047731A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102428703A (zh) * | 2009-03-23 | 2012-04-25 | 生命力有限公司 | 基于反馈数据来选择视频压缩格式的系统及方法 |
CN104144145A (zh) * | 2013-05-08 | 2014-11-12 | 上海恺达广告有限公司 | 利用掌上移动终端在线游戏的方法及系统 |
CN104468502A (zh) * | 2013-09-24 | 2015-03-25 | 奈飞公司 | 用于内容分布的服务器选择 |
CN104202417A (zh) * | 2014-09-16 | 2014-12-10 | 腾讯科技(深圳)有限公司 | 基于云计算的信息处理方法、客户端、云服务器及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20210243239A1 (en) | 2021-08-05 |
US11394760B2 (en) | 2022-07-19 |
US20190068667A1 (en) | 2019-02-28 |
US11019122B2 (en) | 2021-05-25 |
US12041106B2 (en) | 2024-07-16 |
US20250047731A1 (en) | 2025-02-06 |
EP3328512A1 (en) | 2018-06-06 |
EP3750606B1 (en) | 2023-04-19 |
US10135892B2 (en) | 2018-11-20 |
WO2017019764A1 (en) | 2017-02-02 |
US20170034234A1 (en) | 2017-02-02 |
US20220353315A1 (en) | 2022-11-03 |
CN107666943A (zh) | 2018-02-06 |
EP3750606A1 (en) | 2020-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107666943B (zh) | 交互式流媒体的独立控制 | |
US12064687B2 (en) | System, method, and graphical user interface for controlling an application executing on a server | |
US11752429B2 (en) | Multi-user demo streaming service for cloud gaming | |
CN107029429B (zh) | 用于实现云游戏系统的时移辅导的系统、方法及可读媒体 | |
JP6695449B2 (ja) | ブラウザベースのクラウドゲーム | |
CN115228077A (zh) | 云游戏设备交接 | |
CN113226500B (zh) | 使用对等流式传输的众包云游戏 | |
TW201337643A (zh) | 具有輔助觸碰控制器的內容系統 | |
CN112402943A (zh) | 加入或重放来自游戏广播的游戏实例 | |
JP2023548708A (ja) | 画面表示方法、装置、端末機器及びコンピュータプログラム | |
JP2015139565A (ja) | ゲームに関わるサーバコンピュータ及びゲームプログラム | |
EP2945714B1 (en) | Generic companion-messaging between media platforms | |
WO2023093698A1 (zh) | 游戏直播的交互方法、存储介质、程序产品及电子设备 | |
US9954718B1 (en) | Remote execution of applications over a dispersed network | |
KR20210064914A (ko) | 게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치 |
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 |