用于在流动互动式视频服务器之间切换用户会话的方法
2019-11-22

用于在流动互动式视频服务器之间切换用户会话的方法

一种方法,通过该方法从一个流动互动式视频服务器到另一个服务器的流动互动式视频用户会话被执行而不会明显中断视频流或用户互动性。

主机服务210极其适合于锦标赛。因为无游戏在本地客户端中执行,所以不存在用户作弊的机会。而且,由于输出路由1540多播UDP流的能力,使得主机服务210能够同时向观众中的数千人广播较大锦标赛。

如下所述,主机服务210上的用户将各自具有一个用户页面,在该用户页面中,用户可公布关于其本身的信息及其他数据。用户将能够公布的事情之一为来自其已保存的游戏播放的视频片段。举例而言,若用户已克服游戏中的特别困难的挑战,则用户可刚好“回倒”到其在游戏中获得其大成果的地点之前,且接着指导主机服务210将某一持续时间(例如,30秒)的视频片段保存在用户的用户页面上以供其他用户观看。为了实施这些,用户正使用的应用程序/游戏服务器1521-1525仅要做的事情是将储存于延迟缓冲器1515中的视频回放至RAID阵列1511-1512且接着在用户的用户页面上给所述视频片段编索引。

对于较大锦标赛,可使用现场直播的名人解说员来在特定比赛期间提供评论。尽管大量用户将是在观看较大锦标赛,且相对小数目将是在锦标赛中玩。可将来自名人解说员的音频路由到对在锦标赛中玩的用户进行主机代管且对锦标赛中的游戏的任何旁观者模式复本进行主机代管的应用程序/游戏服务器1521-1525,且可将音频加录于游戏音频之上。可在游戏上(也可能刚好在旁观者视图上)叠加名人解说员的视频。

假定快动作视频游戏的用户对于高延时具有小的容忍度,且给定所有上述延时原因,至今存在对于使视频在互联网上流动的服务器主机代管的视频游戏的限制。另外,若需要高度互动性的应用程序被主机代管于通用互联网上且使视频流动,则所述应用程序的用户遭受类似限制。所述服务需要网络配置,其中主机代管服务器直接设置于前端(在电缆宽带的状况下)或中央办公室(在数字用户线(DSL)的状况下)中,或商业背景中的LAN内(或特别分级的私用连接上),以便控制自客户端设备至服务器的路线及距离以最小化延时且可适应峰值而不造成延时。LAN(通常额定在lOOMbps-lGbps)及具有足够带宽的租用线路通常可支持峰值带宽要求(例如,18Mbps峰值带宽为100MbpsLAN容量的一小部分)。

以上描述提供由以通用互联网为基础的低延时流动互动式视频(其隐含地也包括连同视频一起的音频,如本文中所使用)的新颖基本概念致能的多种应用。经由互联网而提供流动视频的先前技术系统仅具有可通过高延时互动实施的所致能的应用。举例而言,用于线性视频的基本回放控制(例如,暂停、回倒、快进)在高延时下适当地工作,且有可能在线性视频馈送当中进行选择。此外,如先前所陈述,一些视频游戏的性质允许其以高延时来播放。但是,用于流动视频的先前技术方法的高延时(或低压缩比率)严重限制流动视频的潜在应用或使其部署变窄到专门化的网络环境,且甚至在所述环境中,先前技术也引入网络上的实质负担。本文中所描述的技术打开了在经由互联网的低延时流动互动式视频下可能的多种应用的大门,尤其是经由消费者级互联网连接而致能的所述应用。

显著益处尤其出现在利用图4a中所显示的系统的商业、学校及其他机构。商业及学校具有与安装、维护及升级PC相关联的实质成本,尤其当谈及执行诸如Maya的高性能应用程序的PC时。如先前所陈述,PC通常仅在一周的小时的一部分中被利用,且如在家庭中,具有给定水平的性能能力的PC在办公室或学校环境中的成本远高于在服务器中心环境中的成本。

在图12中所说明的实施例中,因为该8个核心中的每一者仅负责一个图像块,所以其很大程度上独立于其他核心而操作,每一者执行x264的单独实例化。使用以PCIExpressxl为基础的DVI捕获卡(诸如,来自Netherlands的MicrotronixofOosterhout的Sendero视频成像IP开发板)来捕获640X480、800X600或1280X720分辨率下的未经压缩的视频,且卡上的FPGA使用直接存储器存取(DMA)来将所捕获的视频经由DVI总线传送至系统RAM中。将所述图像块配置成4X2配置1205(尽管其说明为方形图像块,但在该实施例中,其具有160X240分辨率)。x264的每个实例化被配置成压缩该8个160X240图像块中的一者,且其经同步化以使得在初始I图像块压缩的后每一核心进入一循环,每一帧与另一帧不同相,以压缩一I图像块继的以七个P图像块,如图12中所说明。

还由于在服务器中压缩视频及在客户端设备中解压缩视频所需的时间而造成延时。当在服务器上执行的视频游戏正在计算待显示的下一个帧时,进一步造成延时。当前可用的视频压缩算法受到高数据速率或高延时。举例而言,运动JPEG为仅帧内有损的压缩算法,该压缩算法特征为低延时。视频的每个帧独立于视频的每个其他帧而压缩。当客户端设备接收经压缩的运动JPEG视频的一个帧时,其可立即解压缩该帧且显示该帧,从而导致非常低的延时。但因为每个帧分开进行压缩,所以算法不能够利用连续帧之间的类似性,且因此仅帧内视频压缩算法受到非常高俄数据速率。举例而言,60fps(每秒帧数)640X480运动JPEG视频可能需要40Mbps(每秒百万比特)或40Mbps(每秒百万比特)以上的数据。用于所述低分辨率视频窗的所述高数据速率在许多宽带应用程序中将是过于昂贵的(且对于大多数消费者的基于互联网的应用程序的确如此)。另外,因为每个帧经独立压缩,所以可能由于有损压缩而产生的帧中的假影可能出现于连续帧中的不同位置处。这可导致当解压缩视频时,在观看者看来为移动的视觉假影。

CPU483与额外设备通信且配置额外设备。

用于在流动互动式视频服务器之间切换用户会话的方法

一种方法,通过该方法从一个流动互动式视频服务器到另一个服务器的流动互动式视频用户会话被执行而不会明显中断视频流或用户互动性。

低延时视频压缩

在一个实施例中,可将所述模组实施于诸如Texas仪器的TMS320x架构(例如,TMS320C6000,TMS320C5000,...等)的可编程数字信号处理器(“DSP”)上。可使用各种不同的DSP,同时仍遵守所述基本原理。

另一先前技术方法允许具有电视接收器的观看者观看视频游戏现场直播,但仅在电视制作人员的控制下。美国与其他国家中的一些电视频道提供视频游戏观看频道,其中电视观众能够在视频游戏频道上观看特定的视频游戏用户(例如,参加锦标赛烦人顶级玩家)。这通过将视频游戏系统(PC和/或控制台)的视频输出馈送至用于电视频道的视频分配及处理设备中来完成。这正如电视频道广播现场直播的篮球比赛时的情况,其中若干个相机从篮球场周围的不同角度提供现场直播的馈送。电视频道接着能够利用其视频/音频处理及效应设备来操作来自各种视频游戏系统的输出。举例而言,电视频道可在来自视频游戏的视频之上叠加指示不同玩家的状态的文字(正如其可在现场直播的篮球比赛期间叠加文字),且电视频道可加录来自评论员(其可论述在比赛期间出现的动作)的音频。另外,可将视频游戏输出与记录游戏的实际玩家的视频的相机(例如,显示玩家对游戏的情绪反应)组合。

39的来回行程延时相比较。若来回行程延时小于新的I图像块应到达之前的帧的数目,则客户端415向主机服务210发送消息,请求新的I图像块。将此消息路由至视频压缩器404,且其并非产生用于数据已丢失的图像块的P图像块,而是产生I图像块。假定图4a及图4b中所显示的系统经设计以提供通常小于80毫秒的来回行程延时,则这导致图像块被校正于80毫秒内(在60fps下,帧具有16.67毫秒的持续时间,因此在全帧时间中,80毫秒延时将导致83.33毫秒内的经校正的图像块,83.33毫秒为5个帧时间,其为引人注意的中断,但远不及(例如)对于15个帧250毫秒中断引人注意)。当压缩器404脱离其通常的循环次序而产生此种I图像块时,若I图像块将引起所述帧的带宽超过可用带宽,则压缩器404将延迟其他图像块的循环,以使得其他图像块在所述帧时间期间接收P图像块(即使在所述帧期间一个图像块通常将应为I图像块),且接着通常的循环将自下一个帧开始继续,且通常将已接收到先前帧中的I图像块的图像块将接收I图像块。尽管此动作暂时延迟R帧循环的阶段,但其通常将在视觉上不引人注意。

在一个实施例中,若数据由于图4a或图4b中的视频压缩器404与客户端415之间的分组丢失而丢失,或由于到达得过晚以致不能解压缩及满足经解压缩帧的延时要求的分组被无次序地接收而丢失,则视频解压缩逻辑412能够减轻视觉假影。在流动I/P帧实施中,若存在丢失/延迟的分组,则整个屏幕受影响,从而可能引起屏幕完全冻结一段时间周期或显示其他屏幕宽视觉假影。举例而言,若丢失/延迟的分组引起I帧的丢失,则在接收新的I帧之前,解压缩器将缺乏用于跟随的所有P帧的参考。若丢失P帧,则其将影响跟随的用于整个屏幕的P帧。视I帧出现之前有多久,这将具有较长或较短的视觉影响。使用如图7a及图7b中所显示的交错I/P图像块,丢失/延迟的分组不太可能影响整个屏幕,因为其仅影响受影响的分组中所含有的图像块。若每个图像块的数据是在个别分组内发送,则若分组丢失,则其仅影响一个图像块。当然,视觉假影的持续时间将取决于I图像块分组是否丢失及在P图像块丢失的情况下在I图像块出现之前将花费多少个帧。但是,假定屏幕上的不同图像块是通过I帧非常频繁地(可能每个帧)更新,则即使屏幕上的一图像块受影响,其他图像块也可能不受影响。另外,若某一事件引起若干分组同时丢失(例如,邻接DSL线的电力中的暂时中断数据流的尖峰信号),则一些图像块将比其他图像块受到更大影响,但因为一些图像块将通过新的I图像块迅速地更新,所以其仅暂时受影响。而且,在流动I/P帧实施的情况下,不仅I帧为最关键帧,而且I帧极大,因此若存在引起丢弃/延迟的分组的事件,则与小得多的I图像块相比,I帧受影响存在较高机率(也即,若I帧的任何部分丢失,则根本不可能可解压缩I帧)。由于所有所述原因,与I/P帧的情况相比,当分组被丢弃/延迟时,使用I/P图像块导致小得多的视觉假影。

当游戏或应用程序在主机服务210中执行时,将游戏或应用程序的视频/音频输出恒定地记录在延迟缓冲器1515上。另外,看门狗进程执行每个应用程序/游戏服务器1521-1525,该看门狗进程将向主机服务控制系统401定期地报告应用程序/游戏服务器1521-1525正平稳地执行。若看门狗进程未能报告,则服务器控制系统401将试图与应用程序/游戏服务器1521-1525通信,且若成功,则将收集可用的无论什么机器状态。将无论什么可用的信息连同由延迟缓冲器1515记录的视频/音频一起发送到软件开发商。

便于游戏及应用程序的除错

对于以下论述,将假定所要的帧速率为60帧/秒,每个I帧为约160Kb,平均P帧及B帧为16Kb且每隔一秒产生一新的I帧。在该组参数下,平均数据速率将为:160Kb+16Kb*59=1.1Mbps。该数据速率适当地落在用于到家庭及办公室的许多当前宽带互联网连接的最大数据速率内。该技术也倾向于避免来自仅帧内编码的背景噪音问题,因为P帧及B帧追踪帧之间的差异,因此压缩假影倾向于不自帧至帧而呈现及消失,从而减少上文所描述的背景噪音问题。

客户端465含有耦合至蓝牙无线接口的控制信号逻辑413(图4a),该蓝牙无线接口与诸如键盘、鼠标、游戏控制器和/或麦克风和/或耳机的蓝牙输入设备479相接口。而且,客户端465的一个实施例在与显示设备468耦合的情况下能够以120fps输出视频,显示设备468能够支持120fps视频且向一对遮光眼镜466发信号(通常经由红外)以对于每个相继帧交替地遮蔽一只眼接着遮蔽另一只眼。用户所感觉的效果为“跳出”显示屏幕的立体3D图像。支持该操作的一种该显示设备468为SamsungHL-T5076S。因为用于每一只眼的视频流是单独的,所以在两个独立视频流由主机服务210压缩的一个实施例中,帧在时间上交错,且帧在客户端465内以两个独立解压缩过程来解压缩。

图4c示出了根据一个实施例的客户端设备。

盗版的消除

还应理解,所公开的标的物的要素也可作为计算机程序产品来提供,该计算机程序产品可包括在上面储存有指令的机器可读媒体,所述指令可用于程序化计算机(例如,处理器或其他电子设备)以执行一序列操作。或者,所述操作可通过硬件与软件的组合来执行。机器可读媒体可包括(但不限于)软盘、光盘、CD-ROM,及磁光盘、ROM、RAM、EPROM、EEPR0M、磁卡或光卡、传播媒体或适合于储存电子指令的其他类型的媒体/机器可读媒体。举例而言,所公开的标的物的要素可作为计算机程序产品来下载,其中程序可经由通信链路(例如,数据机或网络连接)借助于体现于载波或其他传播媒体中的数据信号而自远程计算机或电子设备传送至请求过程。

随着互联网宽带速度增加且宽带连接性在美国及全世界变得更广泛(更具体地,到家庭和到租赁连接互联网的PC的“网吧”),游戏被更多地经由下载而分配到PC或控制台。而且,宽带连接更多地用于玩多人及大型多人在线游戏(该两者在本公开中由首字母缩写词“MM0G”来指代)。这些改变减轻了与零售分配相关的一些成本及问题。下载在线游戏解决了游戏出版商的一些不利之处,因为分配成本通常较小且存在较少或不存在未出售媒体的成本。但已下载的游戏仍被盗版,且由于其大小(大小常常为几十亿字节)而使得其可能花费非常长的时间来下载。另外,多个游戏可装满小磁盘驱动器,例如连同便携式计算机一起或连同视频游戏控制台一起出售的那些磁盘驱动器。然而,就游戏或MMOG需要在线连接以使得游戏可玩的程度而言,盗版问题得以减轻,因为通常需要用户具有有效的用户帐户。不同于可由相机拍摄显示屏幕的视频或由麦克风记录来自扬声器的音频来复制的线性媒体(例如,视频及音乐),每个视频游戏体验是唯一的,且不可使用简单的视频/音频记录来复制。因此,甚至在未强力执行版权法且盗版猖獗的区域中,也可保护MMOG免于被盗版,从而可支持商业。举例而言,已成功地部署VivendiSA(维旺迪公司)的“魔兽世界”MM0G,而在全世界未遭受盗版。且许多在线或MMOG游戏(诸如,LindenLab(林登实验室)的“第二人生”MM0G)通过建在游戏中的经济模型而产生游戏运营商的收入,其中资产可使用在线工具而带来、出售且甚至建立。因此,可使用除传统游戏软件购买或订阅之外的机制来为在线游戏的使用付费。