实现快速平滑视点切换的多视点视频流媒体的制作方法

文档序号:13518727阅读:430来源:国知局
实现快速平滑视点切换的多视点视频流媒体的制作方法



背景技术:

针对诸如视频会议、点播观看媒体和体育赛事等的应用,视频流媒体系统在通信网络中流式传输视频相关数据。多摄像机视频流媒体系统使用摄像机阵列来采集多个视频流,视频观看人员可使用客户端软件来接收所述视频流并任选择地变更视角以从不同的视点观看视频内容。在视点变更过程中,可能的理想状况是,观看人员可以看到视点切换效果(例如,“冻结”时间效果或者“多利变焦”效果),这样,观看人员就可以体验平滑的视点变更。

但是,存在一些与摄像机阵列流媒体系统的视点切换相关联的问题。其中一个问题是视点变更的平滑性。通常,当观看人员选择从一个视点切换为另一个视点时,摄像机在两个指定摄像机视点中采集到画面还需要按顺序传递到系统的客户端应用侧,方便观看人员看到视点切换效果,体验平滑的视点切换。但是,在视频点播流媒体系统中,将采集到的视频进行压缩(例如,通常按照基于时序图像组(group-of-picture,gop)的压缩方案,如h.264进行压缩)并保存为压缩文件。如果客户端查看器需要产生视点切换效果,需要从不同视点下载所有相应的视频片段、提取相应的帧并进行连接以便播放。这仅在网速非常快且延迟低的情况下可行。另一个问题是视点变更的初始延迟。初始延迟是指用户选择变更视点与用户实际看到视点变更或视点切换效果开始之间的时间差。由于初始延迟会导致屏幕上的帧冻结,因此初始延迟会严重影响用户体验。



技术实现要素:

一种设备,包括:存储器,用于存储从多个摄像机视点获取的视频内容;一个或多个流媒体组件,用于将视频内容流式传输至客户端应用;以及一个或多个帧供给器组件。帧供给器组件用于:访问与第一摄像机视点对应的第一视频内容,并将所述第一视频内容提供至流媒体组件;响应于在所述视频服务器上接收到的流式传输与第二摄像机视点对应的第二视频内容的请求,访问与所述第一和第二摄像机视点中间的一个或多个摄像机视点对应的中间视频内容;以及访问所述第二视频内容,并将所述中间视频内容和所述第二中间视频提供至所述流媒体组件。

一种方法,包括:使用网络链接将第一视频内容从服务器流式传输至客户端应用,其中所述服务器存储从多个摄像机视点中获取的视频内容和与第一摄像机视点对应的所述流式传输的第一视频内容;在所述服务器上接收来自所述客户端应用的流式传输与第二摄像机视点对应的第二视频内容的请求;以及当响应于接收到的请求而将所述流式传输的视频内容从所述第一视频内容变更为所述第二视频内容时,通过使用网络链接流式传输与所述第一和第二摄像机视点中间的一个或多个摄像机视点对应的视频内容,在所述客户端应用上产生视频特效。

本发明内容旨在概述本专利申请的标的物。其并非旨在提供本发明的排他性或详尽的说明。详细说明包括于此,用于提供有关本专利申请的更多信息。

附图说明

图1是视频流媒体系统的一实例的方框图;

图2是操作视频流媒体系统的方法的一实例的流程图;

图3是视频流媒体系统的一实例的部分的方框图;

图4示出了处理客户端的摄像机视点切换请求的动作顺序的一实例;

图5是视频流媒体系统的另一实例的部分的方框图;

图6是视频流媒体系统的客户端的一实例的部分的方框图;

图7是创建流媒体业务实例的一实例的流程图;以及

图8是合并流媒体业务实例的一实例的流程图。

具体实施方式

以下描述和附图充分说明了具体实施例,以使本领域的技术人员能够实践这些实施例。其它实施例可以包括结构、逻辑、电性、工艺和其它变更。部分实施例的部分和特征可以包含在或者代替其它实施例。上述权利要求中规定的实施例囊括了权利要求所有可能的等同实施例。

图1是视频流媒体系统的一实施例的方框图。系统100包括摄像机阵列105和一个或多个服务器,该服务器在网络115上将视频发送至客户端应用或客户端120。摄像机阵列105在所希望的场景或赛事中以不同视角采集视频。将采集到的视频输入到存储服务器110,存储为未压缩的原始视频数据或压缩视频文件。系统可以包括流媒体服务器112,用于转发来自存储服务器的视频以及将视频发送到客户端120。在一些变型中,所述流媒体服务器112和所述存储服务器110包括在同一个物理服务器中。

在客户端侧,用户可以使用多视点视频播放器与流媒体服务器112互动,并且能够选择接收不同摄像机视角的视频。客户端侧设备可以包括图形用户界面(graphicaluserinterface,gui)。gui可以显示摄像机阵列中的摄像机,并且可以使用户在gui中选择摄像机切换至不同的摄像机视角。视点切换过程中,客户端可以用于播放某些视频特效(例如,冻结时间或视点切换),这样观看人员就可以体验更加平滑的视频变更。客户端接收到的视频通常为压缩视频(例如,采用h.264或mpeg-1/2进行压缩),并且可以根据不同的传输协议(例如,实时传输协议(real-timetransportprotocol,rtp)和超文本传输协议(hypertexttransferprotocol,http)等)将视频传递到客户端。

以前的方法是,视频流媒体系统依靠系统客户端侧的设备产生用户所希望的视频特效。例如,客户端120可以包括播放逻辑并发送视频片段请求以实现视频特效。但是,产生视频特效所需的视频数据量很大。根据客户端侧解决方案,客户端必须实时下载所有片段才能顺利产生想要的效果。如果网络带宽不足,用户在获得所选的视频效果时可能会出现延迟。在另一种情况下,客户端可能不请求视频特效,而想要在时间t处直接切换至视点i+n,其中i+n表示距离当前视点帧i的n个视频帧的视点。客户端需要下载视点i+n的视频片段,丢弃时间t之前的所有视频帧,并播放剩余的视频帧。因为预测压缩方案的本质使客户端必须解压连续视频帧以在时间t处到达所希望的帧,因此会导致起始延迟。这是因为无法通过现有的绝大部分预测视频编码方案(例如,mpeg-1/2或h.264)随机访问采用图像组结构创建的视频帧。

在另一个实例中,视频系统包括专用设备,从而产生专用于产生视频切换特效的辅助视频流。但是,当用户请求视点变更时,客户端120先下载特效视频流,然后在下载与用户打算切换的视点对应的视频流的同时播放特效流。客户端侧的播放器将在完成特效视频播放后继续播放目标视点的视频流。本解决方案因必须创建辅助视频流的实施而复杂化,提高了存储要求,同时也需要更多专用于为实时直播流式应用的辅助流创建的编码器。结果是,即使小规模应用,如果视点量很大的话,系统也会需要大量视频编码器。比较好的方法就是在视频流媒体系统的服务器侧产生所选的视频效果。

图2是操作视频流媒体系统的方法200的一实施例的流程图。在步骤205中,通过网络链接将第一视频内容从服务器流式传输至客户端应用。服务器存储从多个摄像机视点中获取的视频内容,并且该流式传输的第一视频内容对应于多个摄像机视点中的第一摄像机视点。在步骤210中,在所述服务器上接收来自所述客户端应用的流式传输与第二摄像机视点对应的第二视频内容的请求。

在步骤215中,当响应于所述接收到的请求而将所述流式传输的视频内容从所述第一视频内容变更为所述第二视频内容时,通过使用网络链接流式传输与所述第一和第二摄像机视点中间的一个或多个摄像机视点对应的视频内容,在所述客户端应用上产生视频特效。服务器侧切换方案是编码前在服务器侧上切换原始视频帧,解决了随机访问问题和客户端侧的方法中的视频特效创建问题。

图3是视频流媒体系统的部分的一实施例的方框图。系统300包括存储器305、一个或多个流媒体组件310以及一个或多个帧供给器组件315。组件可以包括软件、固件或硬件或它们的任一组合,从而执行上述功能。在一些实施例中,存储器305、流媒体组件310以及帧供给器组件315包括在结合了存储服务器和流媒体服务器功能的视频服务器中。

存储器305存储从多个摄像机视点中获取的视频内容。所述视频内容可以直接从摄像机阵列中获取,或者可以提前保存在包含多视点视频内容的视频文件中。流媒体服务器组件将视频内容流式传输至一个或多个客户端。在某些实施例中,流媒体组件为在视频服务器或流媒体服务器上执行的流媒体业务实例。各个流媒体业务实例可以在单独的进程或线程中运行。视频内容通过网络链接(例如,通过因特网)进行流式传输。

帧供给器组件访问与第一摄像机视点对应的第一视频内容,并将第一视频内容提供至流媒体服务器组件。响应于从客户端接收的流式传输与第二摄像机视点对应的第二视频内容的请求,帧供给器访问存储器中的第二视频内容以及与第一和第二摄像机视点中间的一个或多个摄像机视点对应的中间视频内容。帧供给器组件恢复的视频帧产生客户端请求的视频特效。可以将视频帧提供至视频编码器320,并且将编码后的视频流发送至客户端。通过客户端播放接收到的在视频流媒体系统的服务器侧创建的视频流,在客户端上产生请求的视频效果。

视频系统可以包括命令分析器组件325,该组件接收来自客户端应用的接收视频内容的请求。命令分析器组件325向帧供给器组件315发送确定帧供给器组件恢复哪些视频帧以及恢复视频帧的顺序的视点切换命令。恢复的内容和恢复顺序会产生客户端所请求的视频效果。

根据一些实施例,将存储器305被设置为二维先进先出(first-infirst-out,fifo)缓冲器。例如,一个fifo缓冲器行(或列)可以对应于摄像机阵列的多个摄像机视点中的一个摄像机视点。fifo缓冲器中的位置对应于与视频帧采样率相关联的时步的视频帧。帧供给器可以访问第一fifo缓冲器行获得第一视频内容,访问第二fifo缓冲器行获得第二视频内容,并访问不同于第一和第二fifo缓冲器行的一个或多个fifo缓冲器行获得中间视频内容。

在一些变型中,存储器被设置为多个fifo缓冲器。一个fifo缓冲器可以对应于摄像机阵列的多个摄像机视点中的一个摄像机视点。帧供给器可以访问第一fifo缓冲器获得第一视频内容,访问第二fifo缓冲器获得第二视频内容,并访问不同于第一和第二fifo缓冲器的一个或多个fifo缓冲器获得中间视频内容。

例如,如果客户端应用请求在时间t处通过视频冻结效果从视点i(与第i个摄像机对应的视点)切换至视点i+k(与第i+k个摄像机对应的视点),帧供给器可以接收来自命令分析器组件的命令,该命令使帧供给器按顺序恢复与时间t对应的fifo中fifoi到fifok的视点i、i+1、i+2、……、i+k的视频帧。帧供给器可以将这些帧发送至视频编码器进行编码,并发送至流媒体组件以向客户端流式传输视频内容。

根据一些实施例,存储器305被设置为视频帧矩阵缓冲器,包括与指定摄像机视点对应的第一矩阵维度和与视频帧采样率相关联的时步对应的第二矩阵维度。响应于接收第一种视频切换效果的命令,帧供给器组件从与所述第一摄像机视点和第一时步对应的第一视频帧开始,经过与所述一个或多个中间摄像机视点对应的视频帧矩阵缓冲器的一个或多个视频帧,到与所述第二摄像机视点对应的视频帧,遍历所述视频帧矩阵缓冲器以访问视频内容。

图3的实例中所示的存储器305按行设置,标记为v1、v2、……、vi、vn,与摄像机1到n的视点对应,并对应时间按列设置。矩阵网格的每个节点代表一个视频帧。水平轴的时间范围从当前播放时刻至稍后的某一时间点。时间维度可以对应于根据视频采样率确定的时步,并且可以在每个时步更新视频帧矩阵缓冲器。当新的多组视频帧插入到视频帧矩阵缓冲器末端时,可以从视频帧矩阵缓冲器中删除与所有视点对应的旧视频帧。视频帧矩阵缓冲器可以驻留在共享存储器或内部存储器中。所有帧供给器组件都能够访问视频帧。可以从摄像机矩阵中的摄像机实时接收视频帧矩阵缓冲器的视频帧,或者通过解码保存在视频文件中的比特流来读取视频文件中的视频帧。

帧供给器组件遍历与摄像机视点i对应的视频帧矩阵缓冲器的行,从而流式传输摄像机视点i的视频。针对上述冻结效果实例,帧供给器组件按列遍历视频帧矩阵缓冲器,从与摄像机视点i对应的行到与摄像机视点i+k对应的行以确定时间t。然后,帧供给器可以遍历摄像机视点i+k对应的行,以流式传输该视角的新视频内容。图3示出了帧供给器遍历的路径,从行vi开始,在时间维度上从列t1到列tj进行遍历,在视点方向上从行vi到行v2进行遍历,然后在时间维度上从列tj到列tn进行遍历。

针对其它类型的效果,帧供给器组件以视频帧矩阵缓冲器不同的时间/视点路径来遍历视频帧矩阵缓冲器。例如,在图3所示的视频帧矩阵缓冲器中,时间前进方向为从左向右通过列。可以通过从右向左遍历列来反向播放视频。通过帧供给器在时间方向和视点方向上按顺序恢复视频帧,能够产生随着时间推进的从摄像机视点i到摄像机视点i+k的视频切换效果,并且不会产生冻结效果。在图3所示的矩阵路径实例中,这将导致路径段有一个斜度,而不是严格地水平或垂直。

在一些实施例中,帧供给器组件将中间视频内容的一个或多个视频帧插入到第一视频内容和第二视频内容之间。视点插入可以用于通过现有视角的视频帧在新视角获取视频帧。通过视点插入,摄像机视点切换在客户端侧可以看上去更平滑。通过一个或多个三维(three-dimensional,3d)深度计算、重新投影和帧插入,能够实现视频插入。

图4示出了处理客户端的摄像机视点切换请求的动作顺序的一实施例。视频服务器和客户端之间的协议用于传输与摄像机标识、视点切换效果类型等有关的信息。客户端侧的功能块仅作为说明性实例。事实上,客户端侧的播放器可以连续播放视频服务器的视频流,而不会改变会话状态。

在步骤405中,视频服务器的流媒体业务实例将帧供给器组件供给的视频帧发送至客户端。在步骤410中,客户端播放所述视频帧。所述视频帧对应于视点i(例如,摄像机i的视点),并且客户端请求从视点i到视点j的视点变更。命令分析器组件接受并处理从客户端接收到的视点切换请求。在一些实施例中,命令分析器组件接收来自客户端的控制流,解析所述流以提取并转译视点切换命令。

在步骤415中,命令分析器组件将转译的控制命令传递给与所请求的视点切换的指定流媒体实例对应的帧供给器组件。在步骤420中,帧供给器组件遍历存储器中用于创建视频特效的视频帧。如果插入可行且需要插入的话,可以在步骤425中进行视点插入。将编码后的视频特效发送至客户端。在步骤430中,客户端播放所述视频特效。在步骤435中,帧供给器组件恢复与视点j对应的帧,并将视频帧发送至客户端。在步骤440中,客户端播放与所述视点j对应的视频帧。

图3所示的视频流媒体系统的实施例仅为说明视频流媒体系统中功能块布置的实例。图5示出了视频流媒体系统的另一实施例的部分的方框图。系统500包括一个独立的流媒体服务器,其包括一个或多个流媒体业务实例510。视频帧矩阵缓冲器505和帧供给器组件515包括在独立于流媒体服务器的单元(例如,存储服务器)中。系统500可以包括包含一个或多个标准视频编码器520的独立编码单元。命令分析器组件525可以是一个独立的单元,也可以包括在存储服务器或流媒体服务器中。

图6示出了客户端的一个实施例的部分。在所示的实例中,客户端包括两个组件:视点切换控制gui和视频播放器。切换控制gui605显示了摄像机阵列。用户可以选择切换控制gui605显示的摄像机作为代表来选择视点。用户选择不同的摄像机来切换摄像机视点。命令分析器组件接收请求,带有任一所请求的视频效果的请求视频内容由视频服务器或流媒体服务器流式传输至视频播放器610。视频播放器610可以是标准视频播放器(例如,视频局域网(localareanetwork,lan)客户端或vlc媒体播放器)。在某些变型中,切换控制gui605实现为视频播放器610的插件。客户端能够快退且与现有的视频播放器兼容。无切换控制gui的现有播放器也能够播放流媒体服务器流式传输的视频,但是用户可能无法切换带有视频特效的摄像机视点。

上述实施例在客户端数量小于摄像机阵列中摄像机数量小规模部署(例如,视频会议)中可能更有成本效益。例如,如果摄像机阵列由24台摄像机组成,但是仅有5个客户端,那么仅有5个流媒体业务实例需要5个编码器。如果客户端的数量远远大于摄像机的数量,系统所需的编码器可能等于客户端的数量,这将导致总的系统成本更高。但是,因为客户端应用仅偶尔更换视点,可以通过流式传输状态复制来拓展上述实施例至中到大规模部署,而不会大幅度增加成本。

仍然参考图3,命令分析器组件325可以接收来自多个客户端应用的接收视频内容的请求。通常,用户绝大部分时间都从一个摄像机视点观看赛事。命令分析器组件开始将视频内容流式传输至客户端应用,作为流媒体组件的第一流媒体业务实例的第一视频流。这样,多个用户能订阅一个流媒体业务实例。如果部分但并非所有用户请求视点切换至不同的摄像机视点,命令分析器组件可以将所请求的视频内容作为第二视频流进行流式传输,所请求的视频内容包括请求的视点以及原始摄像机视点和请求的摄像机视点中间的任一视频内容。命令分析器组件启动第二流媒体业务实例,从而提供第二视频流。

图7示出了创建流媒体业务实例的一个实施例。第一流媒体业务实例710分裂为两个具有完全相同的内部状态的实例,包括编码器参数和数据,如参考帧缓冲器等。分裂后,第二流媒体业务实例710b将保留和用户一样请求视点变更的客户端,并且移除所有其它用户。第一流媒体业务实例710a将保留原始用户,但是移除请求视点变更的客户端。将客户端请求视点变更的视点变更命令仅发送至第二流媒体业务实例710b。分裂后,第二流媒体业务实例710b的状态保持与之前完全相同,并且客户端将不会变更任何会话状态。因此,发出请求的客户端接收到平滑的播放和视点切换。

如果流媒体业务实例通过软件实现为使用unix或linux型操作系统的进程或线程,可以通过unix系统中“fork”功能等来轻易实施分裂进程。fork功能能够将一个进程分裂为两个具有相同内存堆、栈等的完全一样的进程。如果用硬件实现流媒体业务实例,可以通过创建具有预留硬件编码器的新流媒体业务实例来实现进程分裂,该编码器将编码器的状态和第一流媒体业务实例复制到第二流媒体业务实例。

作为流媒体业务复制的补充,提供流媒体业务实例合并。通过流媒体业务实例合并,将与相同摄像机视点对应的两个实例合并为一个流媒体实例,以便为未来视点切换请求释放资源。

图8示出了合并流媒体业务实例的一个实施例。假设命令分析器组件已经开始将视频内容通过第一流媒体业务实例810a从服务器流式传输至客户端应用,作为第一视频流,还开始通过第二流媒体业务实例810b将视频内容流式传输至第二客户端应用,作为第二视频流。第一视频内容对应于第一摄像机视点,并且第二视频内容对应于第二摄像机视点。如果命令分析器组件接收来自第二客户端应用的流式传输第一视频内容的请求,命令分析器组件可以生成开始通过流媒体业务实例810将第一视频流同时流式传输至第一客户端应用和第二客户端应用的命令。

这里描述的服务器侧切换方案的实施例不需要其它侧流来创建视频切换效果。另外,视频流媒体系统所需的视频编码器的数量与应用规模成比例,针对小规模应用,仅需要少量编码器,并且针对中或大规模应用,仅需要合理数量的编码器。服务器侧切换方案还减轻了服务器侧的视点切换、控制逻辑和视频处理的负担。因此,通过将视点切换gui插件添加到传统视频播放器中,可以轻易实现本系统的客户端。如果视频流媒体系统需要通过视点插入来创建针对稀疏摄像机系统的中间视点,上述做法很有用,因为视点插入是一项计算密集型任务。

其它说明和实例

实例1包括标的物(例如,视频服务器),其包括:存储器,用于存储从多个摄像机视点中获取的视频内容;流媒体组件,用于将视频内容流式传输至客户端应用;以及帧供给器组件,用于:访问与第一摄像机视点对应的第一视频内容,并将所述第一视频内容提供至流媒体组件;响应于在所述视频服务器上接收到的流式传输与第二摄像机视点对应的第二视频内容的请求,访问与所述第一和第二摄像机视点中间的一个或多个摄像机视点对应的中间视频内容;以及访问所述第二视频内容,并将所述中间视频内容和所述第二中间视频提供至所述流媒体组件。

在实例2中,任选地,实例1的标的物包括被设置为视频帧矩阵缓冲器的存储器,其包括与指定摄像机视点对应的第一矩阵维度和与视频帧采样率相关联的时步对应的第二矩阵维度。其中,任选地,所述帧供给器组件用于:响应于接收第一种视频特效的命令,从与所述第一摄像机视点和第一时步对应的第一视频帧开始,经过与所述一个或多个中间摄像机视点对应的视频帧矩阵缓冲器的一个或多个视频帧,到与所述第二摄像机视点对应的视频帧,遍历所述视频帧矩阵缓冲器以访问视频内容。

在实例3中,任选地,实例2的标的物包括设置为先入先出(first-infirst-out,fifo)缓冲器的视频帧矩阵缓冲器。

在实例4中,任选地,实例3的标的物包括帧供给器组件,用于:响应于接收第二种视频特效的命令,通过在所述第一摄像机视点维度和所述第二步长维度上遍历所述视频帧矩阵缓冲器来访问所述视频内容。

在实例5中,任选地,实例3和4中的一个或两个实例的标的物包括帧供给器组件,用于通过根据客户端应用请求的视频效果确定的矩阵路径来遍历视频帧矩阵缓冲器。

在实例6中,任选地,实例1到5的一个或任何组合的标的物包括帧供给器组件,用于将中间视频内容的一个或多个视频帧插入到第一视频内容和第二视频内容之间。

在实例7中,任选地,实例1到6的一个或任何组合的标的物包括命令分析器组件,用于:接收来自多个客户端应用的接收视频内容的请求;开始向所述多个客户端应用流式传输第一视频内容,作为流媒体组件的第一流媒体业务实例的第一视频流;以及响应来自少于所有客户端应用的流式传输第二视频内容的请求,开始向发出请求的客户端应用流式传输中间视频内容和第二视频内容,作为流媒体组件的第二流媒体业务实例的第二视频流。

在实例8中,任选地,实例1到7的一个或任何组合的标的物包括命令分析器组件,用于:接收来自多个客户端应用的接收视频内容的请求;开始将第一视频内容从服务器流式传输至第一客户端应用,作为流媒体组件的第一流媒体业务实例的第一视频流;通过流媒体组件的第三流媒体业务实例开始向第二客户端应用流式传输第三视频内容,其中,第三视频内容对应于第三摄像机视点;以及,响应于接收来自第二客户端应用的流式传输第一视频内容的请求,通过第一流媒体业务实例开始同时向第一客户端应用和第二客户端应用流式传输第一视频流。

实例9可以包括标的物(例如,操作视频流媒体设备的方法、进行作业的手段或者包括指令的机器可读介质,所述指令可以在机器执行指令时使机器进行作业),或者任选地,能够与实例1到8的一个或任何组合的标的物结合,从而包括该标的物,包括:使用网络链接将第一视频内容从服务器流式传输至客户端应用,其中所述服务器存储从多个摄像机视点中获取的视频内容和与第一摄像机视点对应的所述流式传输的第一视频内容;在所述服务器上接收来自所述客户端应用的流式传输与第二摄像机视点对应的第二视频内容的请求;以及,当响应于所述接收到的请求而将所述流式传输的视频内容从所述第一视频内容变更为所述第二视频内容时,通过使用网络链接流式传输与所述第一和第二摄像机视点中间的一个或多个摄像机视点对应的视频内容,在所述客户端应用上产生视频特效。

在实例10中,任选地,实例9的标的物包括将视频内容存储在视频帧矩阵中,其中,所述视频帧矩阵的第一维度对应于摄像机视点,并且所述视频帧矩阵的第二维度对应于与视频帧采样率相关联的时步。任选地,产生所述视频特效包括:从与所述第一摄像机视点和第一时步对应的第一视频帧开始,经过与所述一个或多个中间摄像机视点对应的视频帧矩阵的一个或多个视频帧,到与所述第二摄像机视点对应的视频帧,遍历所述视频帧矩阵以访问视频内容。

在实例11中,任选地,实例9和10中的一个或两个实例的标的物包括将所述视频内容存储在先入先出(first-infirst-out,fifo)缓冲器,其中,所述fifo的第一维度对应于摄像机视点,并且所述fifo的第二维度对应于与视频帧采样率相关联的时步。

在实例12中,任选地,实例11的标的物包括:通过从第一视频帧开始,经过所述第一摄像机视点维度和所述第二时步维度上的所述视频帧矩阵,到与所述第二摄像机视点对应的所述视频帧,遍历所述视频帧矩阵来访问视频内容。

在实例13中,任选地,实例9到12的一个或任何组合的标的物包括所述服务器实时接收来自所述多个摄像机视点的所述视频内容。

在实例14中,任选地,实例9到13的一个或任何组合的标的物包括通过第一流媒体业务实例向多个客户端应用流式传输与所述第一摄像机视点对应的所述第一视频内容,作为第一视频流;接收来自少于所有所述客户端应用的流式传输与所述第二摄像机视点对应的所述第二视频内容的请求;响应于所述请求,产生第二流媒体业务实例;以及通过所述第二流媒体业务实例向发出请求的客户端应用流式传输与所述第二摄像机视点的所述视频内容以及所述第一和第二摄像机视点中间的所述一个或多个摄像机视点对应的视频内容,作为第二视频流。

在实例15中,任选地,实例9到14的一个或任何组合的标的物包括:通过第一流媒体业务实例将所述第一视频内容从所述服务器流式传输至第一客户端应用,作为第一视频流;向第二客户端应用流式传输第三视频内容,其中所述第三视频内容对应于使用第二流媒体业务实例的第三摄像机视点;以及响应于在所述服务器上接收来自所述第二客户端应用的流式传输与所述第一摄像机视点对应的所述第一视频内容的请求,通过所述第一流媒体业务实例将所述第一视频流同时发送至所述第一客户端应用和所述第二客户端应用。

在实例16中,任选地,实例9到15的一个或任何组合的标的物包括:将所述第一和第二摄像机视点中间的所述一个或多个摄像机视点的视频帧插入到所述第一视频内容和所述第二视频内容之间。

实例17可以包括标的物(例如,视频系统),或者任选地,能够与实例1到16的一个或任何组合的标的物结合,从而包括该标的物,包括:视频帧矩阵缓冲器,用于存储从多个摄像机视点获取的视频内容,其中所述视频帧矩阵缓冲器包括与指定摄像机视点对应的第一矩阵维度和与视频帧采样率相关联的时步对应的第二矩阵维度;流媒体服务器,包括一个或多个流媒体业务实例,用于将视频内容流式传输至一个或多个客户端应用;命令分析器组件,用于从客户端应用接收变更流式传输至所述客户端应用的视频内容的摄像机视点的请求;以及帧供给器组件,用于访问所述视频帧矩阵缓冲器的视频内容,包括用于:访问与第一摄像机视点对应的所述视频帧矩阵缓冲器的第一视频内容,并将所述第一视频内容提供至所述流媒体服务器的流媒体业务实例;响应于来自所述命令分析器组件的流式传输与第二摄像机视点对应的第二视频内容的命令,访问与所述第一和第二摄像机视点中间的一个或多个摄像机视点对应的中间视频内容;以及访问所述第二视频内容,并将所述中间视频内容和所述第二中间视频提供至所述流媒体业务实例。

在实例18中,任选地,实例17的标的物包括命令分析器组件,用于:开始向多个客户端应用流式传输所述第一视频内容,作为所述流媒体服务器的第一流媒体业务实例的第一视频流;接收来自少于所有所述客户端应用的流式传输具有视频特效的所述第二视频内容的请求;响应于所述请求,开始向发出请求的所述客户端应用流式传输所述中间视频内容和所述第二视频内容,作为所述流媒体服务器的第二流媒体业务实例的第二视频流,其中,所述中间视频内容根据所述请求的视频特效确定。

在实例19中,任选地,实例17和18中的一个或两个实例的标的物包括命令分析器组件,用于:接收来自多个客户端应用的接收视频内容的请求;通过所述流媒体服务器的第一流媒体业务实例开始将第一视频内容从服务器流式传输至第一客户端应用,作为第一视频流;通过流媒体服务器的第三流媒体业务实例开始向第二客户端应用流式传输第三视频内容,其中,第三视频内容对应于第三摄像机视点;以及,响应于接收来自第二客户端应用的流式传输第一视频内容的请求,通过第一流媒体业务实例开始同时向第一客户端应用和第二客户端应用流式传输第一视频流。

在实例20中,任选地,实例17到19的一个或任何组合的标的物包括存储服务器,该存储服务器包括所述视频帧矩阵缓冲器和所述帧供给器组件。

实例21可以包括,或者任选地,与实例1到20中任何一个或多个实例的任何部分或任何部分的组合结合,以包括:包括执行实例1到20的任何一个或多个功能的手段的标的物,或者包括指令的机器可读介质,所述指令可以在机器执行指令时使机器执行实例1到20的任何一个或多个功能。

这些非限制性实例可以以任意置换或组合的方式结合。

上述详细描述包括对附图的引用,构成详细描述的一部分。通过举例,附图示出了实践本发明的具体实施例。这些实施例在本文中也被称为“实例”。在本文件中引用的所有出版物、专利和专利文件,其全部内容通过引用结合在本文中,就像单独通过引用结合在本文中一样。如果本文件与通过引用结合的其它文件的用途有不一致之处,应将结合的引用中的用途视为本文件用途的补充。针对不能调和的不一致之处,以本文件中的用途为主。

本文描述的方法实例至少一部分可以通过机器或计算机实施。部分实例可以包括计算机可读存储介质或机器可读存储介质,用可操作指令进行编码,从而配置电子设备以执行上述实例中描述的方法。这些方法的一种实施方式可以包括代码,例如,微码、汇编语言代码或高级语言代码等。这类代码可以包括用于执行各种方法的计算机可读指令。所述代码可以构成计算机程序产品的部分。代码可以确切地存储在一个或多个易失计算机可读介质、非暂时性计算机可读介质或非易失有形计算机可读介质中,例如在执行代码期间或其它时间。这些有形计算机可读存储介质的实例可以包括,但不限于,硬盘、可移动磁盘、可移动光盘(例如,光盘和数字视频光盘)、磁带、记忆卡或记忆棒、随机存储器(randomaccessmemory,ram)和只读存储器(read-onlymemory,rom)等。

摘要需要遵守37c.f.r.第1.72(b)章,要求摘要能让读者了解本技术发明的本质和大意。提交摘要时应当了解,摘要并不用于限制或解释权利要求的范围或含义。在此将以下权利要求结合到详细说明中,各项权利要求单独作为一个实施例。另外,在以下权利要求中,术语“包括”和“包含”都是开放式的,即,除了权利要求中此类术语后面所列的元件外,系统、设备、物品或进程包括的元件仍落入该权利要求的范围内。并且,在以下权利要求中,术语“第一”、“第二”和“第三”等仅用于标记,并不用于给使用这些术语的物体施加数值要求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1