内容控制流媒体网络中的流量速率调节的方法和系统与流程

文档序号:15310148发布日期:2018-08-31 21:40阅读:261来源:国知局

本申请是2016年9月8日提交的名称为“用于全景多媒体流传输的方法和系统(methodandsystemforpanoramicmultimediastreaming)”的美国申请15/259,962的部分延续,并且要求2015年11月2日提交的名称为“内容控制流式传输流媒体网络中的流量速率调节的方法和系统(methodandsystemforflow-rateregulationinacontent-controlledstreamingnetwork)”的临时申请62/249,599的权益,这两个申请的全部内容在此通过引用而合并到本文。

本发明涉及包含全景视频信号的多媒体信号的流传输,其中,诸如人类或人工智能监控器的接收自动机可以选择从通用流媒体服务器发送的多媒体信号的内容。具体地,本发明涉及用于观看者控制视频信号内容以及用于根据内容选择、接收机条件和网络路径条件对从通用流媒体服务器发送的多媒体信号的流量速率进行适配的方法和装置。



背景技术:

一般而言,流媒体服务器已经被用于实现对各个客户端设备的多媒体信号的适配和分发。对于全景多媒体信号,需要在多媒体源与流媒体服务器之间建立高容量路径,需要在流媒体服务器与多个客户端设备之间建立自适应容量路径,并且流媒体服务器需要配备有强大的处理设施。流媒体服务器可以向多个客户端设备传输多媒体数据。服务器可以执行转码功能以根据客户端设备的特性以及从服务器到客户端设备的网络路径的条件来适配数据。多媒体数据可以表示视频信号、音频信号、静态图像和文本。

对包含全景视频信号的多媒体数据进行流传输需要相对较高的容量传输资源和更深入的处理。来自采用全景相机的视频源的全景视频信号占用相对高的传输介质带宽。直接从视频源向客户端设备发送全景视频信号需要从视频源到客户端的设备的宽带路径以及客户端设备处的高速处理能力。此外,视频信号可能需要进行适配以与各个客户端设备的不同特性相配。

在全景多媒体流传输系统中,希望为客户端提供在流传输会话期间自适应地选择全景场景的观看区域的能力。因此,本发明的一个目标是提供灵活的流媒体服务器,该流媒体服务器具有客户特定的信号内容过滤能力以及信号处理能力,以使信号适配不同类型的客户端设备,并且改变去往和来自客户端设备的网络路径的容量。本发明的另一个目标是提供一种用于调节托管流媒体服务器的网络中的数据流量速率的方法和系统。所述系统依赖于具有自适应处理能力和自适应网络连接性的灵活的流媒体服务器,其中,去往和来自多媒体数据源(包括全景视频源)以及客户端设备的网络路径的容量可以在时间和空间上变化。



技术实现要素:

公开了一种使用通用流媒体服务器的流传输系统。所述通用流媒体服务器基于客户端的命令来执行自适应内容过滤,并基于性能测量和客户端的内容规范来执行流量速率调节。所述流媒体服务器为通过具有不同容量的通信路径与服务器相连接的不同类型的客户端设备服务。

所述服务器包括至少一个内容过滤器,其被设计为根据特定内容定义参数,从接收自信号源的全内容信号中提取部分内容信号。包括处理器和存储器设备的控制器基于从客户端设备获取的性能测量,确定偏好编码速率。所述系统可以使用多个内容过滤器以同时生成被导向客户端设备的部分内容信号。

根据一方面,本发明提供一种通用流媒体服务器,其包括网络接口、内容过滤器、流量控制器和编码器。

网络接口被设计为接收来自全景信号源的源视频信号、来自客户端设备的内容定义参数和性能测量。包括解压缩模块和畸变校正模块的源信号处理模块从源视频信号中生成纯视频信号。纯视频信号是与在源处捕获的相应的场景对应的全覆盖信号。

内容过滤器被设计为根据内容定义参数,从纯视频信号中提取更新内容信号。内容过滤器的处理器被设计为确定更新内容信号的大小与当前内容信号的大小的比率。

流量控制器包括存储流量控制指令的存储器设备,所述流量控制指令使硬件处理器基于性能测量和更新内容信号的大小与当前内容信号的大小的比率,确定部分覆盖信号的当前允许流量速率。

编码器包括转码器模块和压缩模块,并且被设计为根据当前允许流量速率,对部分覆盖信号进行编码。

流量控制器被设计为与网络控制器(未示出)通信以获取通用流媒体服务器与客户端设备之间的与必要流量速率兼容的路径。

流控制指令使硬件处理器保存当前允许流量速率与先前允许流量速率之间的差的指示。如果所述差超过预定阈值,则所述指令使处理器延迟在预定延迟时段之后确定后续允许流量速率的处理,以确保所接收的性能测量与当前允许流量速率相对应。

内容过滤器包括相应的处理器和相应的存储器设备,相应的存储器设备存储使相应的处理器从纯视频信号中提取更新内容信号的内容选择指令。第一缓冲器保存全覆盖视频信号的数据块。第二缓冲器保存更新内容信号的数据块。

内容选择指令进一步使相应的处理器基于全内容信号的数据块的大小和对应的在确定当前允许流量速率中使用的更新信号的数据块的大小,确定更新内容信号的大小与当前内容信号的大小的比率。

通用流媒体服务器还包括帧采样模块,其包括存储帧采样指令的存储器设备,所述帧采样指令使相应的硬件处理器在远距离帧间隔期间对纯视频信号进行采样以导出帧采样视频信号。所述帧间隔被选择以使得帧采样视频信号具有不超过标称流量速率的恒定流量速率,并且其中网络接口进一步被设计为向客户端发送帧采样视频信号。

内容过滤器可被设计为从全内容视频信号中导出一组与不同的观看区域对应的预选内容过滤信号。包括存储信号压缩指令的存储器设备的压缩模块可被设计为压缩预选内容过滤信号以生成占据连续的时间窗口的连续的压缩内容过滤信号。网络接口进一步被设计为向客户端设备发送所述连续的压缩内容过滤信号;接收所述一组预选内容过滤信号的偏好内容过滤信号的指示;以及向内容过滤器传送所述指示。

根据另一方面,本发明提供一种在流传输系统中根据流量速率调节流传输信号的方法。所述方法包括在包括至少一个硬件处理器的服务器处,获取从中导出纯视频信号的源视频信号;向客户端设备发送纯视频信号的导出信号;以及在服务器的控制器处,接收来自客户端设备的定义全覆盖视频信号的偏好部分覆盖的内容选择参数。服务器的内容过滤器根据内容选择参数,从纯视频信号中提取部分覆盖视频信号。

服务器向客户端设备发送部分覆盖视频信号。在接收与部分覆盖视频信号相关的性能测量时,控制器基于性能测量,确定部分覆盖视频信号的更新允许流量速率。编码器根据更新允许流量速率,对部分覆盖视频信号进行编码。编码器对部分覆盖视频信号进行转码以生成与客户端设备的特性兼容的转码信号;以及压缩转码信号。

所述控制器可以指示编码器根据当前允许流量速率的约束,对部分覆盖视频信号进行编码。可替代地,控制器可以与网络控制器通信以获取服务器与客户端设备之间的与更新允许流量速率兼容的下游网络路径。

纯视频信号的导出信号可被生成为具有不超过预定标称流量速率的恒定流量速率的帧采样视频信号。可替代地,导出信号可被生成为从纯视频信号中导出的在预定标称流量速率内的压缩视频信号。纯视频信号的导出信号还可被生成为占据连续的时间窗口并且从纯视频信号中导出的连续的压缩内容过滤视频信号。

性能测量与在客户端的接收机处的条件和从服务器到客户端设备的下游网络路径的条件相关。控制器基于与接收机的条件相关的性能测量,确定主要度量。当至少一个主要度量高于相应的接受区间时,控制器基于主要度量,判定地降低当前允许流量速率。否则,当没有任何主要度量高于相应的接受区间时,控制器基于与下游网络路径相关的性能测量,确定次要度量。当至少一个次要度量高于相应的接受区间时,控制器基于次要度量的值,判定地降低信号的当前流量速率。

当每个主要度量低于相应的接受区间并且每个次要度量低于相应的接受区间时,控制器基于主要度量和次要度量,判定地增加当前允许流量速率。

根据另一方面,本发明提供一种流传输信号的方法,其包括在服务器处接收全覆盖信号,以及在包括硬件处理器的控制器处:

形成用于保存从全覆盖信号中导出的部分覆盖信号的标识符的寄存器;

从与服务器耦合的客户端设备接收定义观看区域的新的内容定义参数;以及

检查寄存器以确定与新的内容定义参数对应的匹配的部分覆盖信号的存在。

如果存在匹配的部分覆盖信号,则控制器在向客户端设备发送匹配的部分覆盖信号之前,将其导向编码器。如果不存在匹配的部分覆盖信号,则控制器将全覆盖信号导向内容过滤器以根据新的内容定义参数提取新的部分覆盖信号。

新的部分覆盖视频信号需要被转码以生成与客户端设备的特性兼容的转码视频信号。转码视频信号可以根据预定标称流量速率进一步被压缩。控制器确定编码视频信号的比特率,并将新的内容定义参数插入寄存器中。

所述方法还包括从客户端设备接收与在客户端设备的接收机处的条件和从服务器到接收机的网络路径的条件相关的性能测量。控制器基于性能测量来确定性能度量。控制器根据从对应的预定阈值中导出的性能度量以及编码视频信号的比特率,确定允许流量速率。

新的部分覆盖信号可被导向在不同允许流量速率下操作的多个编码器,以产生与相同的观看区域对应的但具有不同流量速率和/或不同格式的将要发送到不同客户端设备的编码信号。

所寻求的灵活的流媒体服务器的优选实现是云嵌入服务器。云计算使得能够动态访问可根据需要预留和释放的资源。所述资源包括处理单元、存储器设备和网络链路。

附图说明

将进一步参考示例性附图来描述本发明的实施例,其中:

图1示出根据本发明的实施例的用于全景多媒体流传输的系统,其包括一个全景多媒体源和一个通用流媒体服务器;

图2示出根据本发明的实施例的用于全景多媒体流传输的系统,其包括多个全景多媒体源和多个通用流媒体服务器;

图3示出根据本发明的实施例的全景多媒体源与通用流媒体服务器之间的通信选项;

图4示出与图3的通信选项对应的通信路径;

图5示出根据本发明的实施例的与图3的通信选项中的第一通信选项对应的端到端路径的组件;

图6示出了根据本发明的实施例的与图3的通信选项中的第二通信选项对应的端到端路径的组件;

图7示出根据本发明的实施例的与图3的通信选项中的第三通信选项对应的端到端路径的组件;

图8示出根据本发明的实施例的与图3的通信选项中的第四通信选项对应的端到端路径的组件;

图9示出根据本发明的实施例的在通用流媒体服务器的输入端和输出端处的多媒体信号和控制信号;

图10示出根据本发明的实施例的使用客户端特定适配模块的示例性通用流媒体服务器的组件;

图11详细描述根据本发明的实施例的图10的示例性通用流媒体服务器的客户特定适配模块;

图12示出压缩视频信号的流量速率的时间变化;

图13示出根据本发明的实施例的用于生成流量速率降低的但仍适于展示全景全空间覆盖范围以使得客户端能够选择偏好的部分覆盖视图的视频信号的模块;

图14示出根据本发明的实施例的请求和获取内容过滤的视频信号的过程;

图15示出从通用流媒体服务器向客户端设备发送的视频信号的时间流量速率变化,所述视频信号包括帧采样视频信号(随后是压缩视频信号);

图16示出根据本发明的实施例的图4的信号编辑模块,其被构建为内容过滤级和信号处理级;

图17示出根据本发明的实施例的图16的内容过滤级,其被实现为用于从全内容信号中同时生成不同的部分内容信号的内容过滤器阵列;

图18示出图16的信号处理级的信号处理单元;

图19示出根据本发明的实施例的图16的信号编辑模块,其包括内容过滤级和信号处理级的细节;

图20示出根据本发明的实施例的用于目标客户端设备的视频信号编辑的过程;

图21详细描述用于确定允许流量速率的模块;

图22示出根据本发明的实施例的客户端设备的组件;

图23示出根据本发明的实施例的通用流媒体服务器与全景多媒体源之间的通信路径;

图24示出根据本发明的实施例的通用流媒体服务器与全景多媒体源之间的通信路径以及通用流媒体服务器与流传输系统的多个异构客户端设备之间的通信路径;

图25示出根据本发明的实施例的通用流媒体服务器与多媒体信号源之间的通信路径以及通用流媒体服务器与两个客户端设备之间的通信路径,其中,与客户端设备相关联的自动机可以向通用流媒体服务器发送命令;

图26示出根据本发明的实施例的通用流媒体服务器的模块化结构;

图27示出根据本发明的实施例的与图26的通用流媒体服务器耦合的学习模块;

图28示出根据本发明的实施例的在通用流媒体服务器处执行的过程,其中,全景视频信号适配客户端设备类型,然后进行内容过滤;

图29示出根据本发明的另一个实施例的在通用流媒体服务器处执行的过程,其中,全景视频信号进行内容过滤,然后适配客户端设备类型;

图30是示出根据本发明的实施例的获取全景多媒体信号,并使所获取的多媒体信号适配各个客户端的过程的流程图;

图31是示出根据本发明的另一个实施例的以不同的顺序执行图30的过程的流程图;

图32示出根据本发明的实施例的在通用流媒体服务器处保存的用于特定视频源的流传输控制表;

图33示出根据本发明的实施例的多媒体信号对特定客户端的初始适配的过程;

图34示出根据本发明的实施例的记录用于每个类型的客户端设备的观看偏好模式的计数的表;

图35示出根据本发明的实施例的基于信号内容变化和性能度量的流量速率控制的过程;

图36示出根据本发明的实施例的通用流媒体服务器的控制系统;

图37示出根据本发明的实施例的图23和图24的流媒体系统中的信号的内容过滤和流量速率适配的组合过程;

图38示出根据本发明的实施例的通用流媒体服务器的内容过滤器;

图39示出根据本发明的实施例的在通用流媒体服务器处执行的启动流传输会话的初始过程;

图40示出根据本发明的实施例的自适应修改信号的内容和流量速率的方法;

图41示出根据本发明的实施例的基于与接收机条件和网络路径条件相关的性能测量来确定信号的偏好编码速率的标准;

图42示出根据本发明的实施例的基于图41中所示的标准来确定信号的偏好编码速率的过程;

图43示出根据本发明的另一个实施例的消除服务众多客户端的通用流媒体系统中的内容选择的冗余处理的方法;

图44示出根据本发明的另一个实施例的视频信号的瞬时并发内容过滤,以使能从一个观看区域到另一个观看区域的无缝过渡;

图45示出根据本发明的实施例的通用流媒体服务器与网络的路由器-交换机的耦合。

具体实施方式

术语

信号:占据时间窗口的数据流在本文中被称为“信号”。时间窗口的持续时间可从几微秒到若干小时变化。在本说明书中,术语“信号”是指基带信号。术语通过网络“发送信号”是指信号调制载波(诸如光载波),并发送调制载波的过程。术语从网络“接收信号”是指接收和解调调制载波以恢复调制基带信号的过程。

全景视频信号:可达到覆盖范围接近全覆盖的视频信号被称为“全景视频信号”。全景视频信号的覆盖范围可超过2π球面度。

全景多媒体信号:包括音频信号、图像信号、文本信号和全景视频信号的复合信号在本文中被称为“全景多媒体信号”。

通用流媒体服务器:分发全景多媒体信号(其中客户端控制内容选择并且流量速率对接收机和网络条件进行适配)的流媒体服务器被称为“通用流媒体服务器”。通用流媒体服务器可被简称为“服务器”。所述服务器包括至少一个硬件处理器和至少一个保存软件指令的存储器设备,所述软件指令使至少一个处理器执行获取全景多媒体信号以及根据流量控制,生成客户端特定内容过滤多媒体信号的功能。

全内容信号:多媒体信号可以包含多个不同类型的分量,诸如编码音频信号、编码视频信号、文本、静态图像等。任何分量可被构造为包含多个可分离的部分。例如,全景信号的全景视频分量可被划分为多个子分量,每个子分量覆盖小于4π球面度的相应对向立体角。

部分内容信号:该术语是指从全内容信号中导出的信号,其中,任一分量的至少一个可分离部分被过滤出,并且可以过滤出其它分量。

视频信号的覆盖范围:视频信号的覆盖范围(或空间覆盖范围)在本文中被定义为产生视频信号的相机可见的空间所对向的立体角。

全覆盖视频信号:4π球面度的覆盖范围的视频信号被称为“全覆盖视频信号”。全覆盖视频信号可以是全内容信号的分量。

信号滤波:术语“信号滤波”是指在信号接收机处执行的常规操作,以消除或减少由噪声和延迟抖动导致的信号衰减;信号滤波处理不会改变信号的内容。

内容过滤:该术语是指修改信号的信息(跟随信号滤波处理之后)以仅保留特定信息的处理;全覆盖(可达到覆盖)视频信号的内容过滤产生与减小(聚焦)的观看区域对应的部分覆盖视频信号。

全覆盖相机(或4π相机):产生全覆盖视频信号的相机在本文中被称为“全覆盖相机或4π相机”。

可达到覆盖视频信号:全覆盖视频信号由理想的相机产生。由相机产生的视频信号的实际覆盖范围被称为“可达到覆盖”。

部分覆盖视频信号:覆盖范围小于可达到覆盖范围的视频信号被称为“部分覆盖视频信号”。部分覆盖视频信号可以是部分内容信号的分量。

部分覆盖多媒体信号:包括音频信号、图像信号、文本信号和部分覆盖视频信号的复合信号在本文中被称为“部分覆盖多媒体信号”。

源:全景多媒体源包括全覆盖相机以及畸变校正和解压缩模块;本文中使用的术语“源”是指全景多媒体源。

原始视频信号:由相机产生的信号被称为“原始视频信号”。

校正视频信号:畸变校正的原始视频信号被称为“校正视频信号”。

源视频信号:在通用流媒体服务器处从全景多媒体源接收的视频信号被称为“源视频信号”;源视频信号可以是原始视频信号、校正视频信号、压缩视频信号或紧凑视频信号。

源多媒体信号:在通用流媒体服务器处从全景多媒体源接收的多媒体信号被称为“源多媒体信号”;除了诸如音频信号或文本信号的其它形式的信号之外,源多媒体信号还可以包含源视频信号。

处理器:本文中使用的术语“处理器”是指至少一个硬件(物理)处理设备,其与存储软件指令的至少一个存储器设备耦合,所述软件指令使至少一个硬件处理设备执行在软件指令中指定的操作。

压缩模块:该术语是指包括处理器和存储软件指令的存储器设备的公知设备,所述软件指令使处理器对初始视频信号进行编码以产生具有与直接对初始视频信号进行编码导致的比特率相比比特率降低的压缩视频信号。

解压缩模块:该术语是指包括处理器和存储软件指令的存储器设备的公知设备,所述软件指令使处理器解压缩压缩视频信号以产生从中生成压缩视频信号的初始视频信号的复制(replica)。

源压缩模块:与视频信号源耦合以从原始视频信号中或从自原始视频信号生成的畸变校正视频信号中生成压缩视频信号的压缩模块是“源压缩模块”。压缩模块340(图3、4、7和8)是源压缩模块。

服务器压缩模块:与服务器耦合以从源视频信号中生成压缩视频信号的压缩模块在本文中被称为“服务器压缩模块”。压缩模块1160(图11)、1340、1360(图13)和2030(图20)是服务器压缩模块。

服务器解压缩模块:与服务器耦合以生成原始视频信号的复制或从原始视频信号生成的畸变校正视频信号的复制的解压缩模块在本文中被称为“服务器解压缩模块”。解压缩模块350(图3、4、7和8)是服务器解压缩模块。

客户端解压缩模块:与客户端设备耦合以生成纯视频信号或在服务器处生成的内容过滤视频信号的复制的解压缩模块在本文中被称为“客户端解压缩模块”。压缩模块2270(图22)是客户端解压缩模块。

压缩视频信号:压缩的原始视频信号被称为“压缩视频信号”。

紧凑视频信号:压缩的校正信号被称为“紧凑视频信号”。

整流视频信号:对原始视频信号进行畸变校正处理,随后进行压缩,然后进行解压缩,或者对原始视频信号进行压缩处理,随后进行解压缩和畸变校正,而产生“整流视频信号”。

纯视频信号:校正视频信号或整流视频信号在本文中被称为“纯视频信号”。纯视频信号与在源处捕获的相应场景相对应。

信号样本:该术语是指源自纯视频信号或者源自从纯视频信号中导出的转码视频信号的全覆盖(可达到覆盖)视频信号。信号样本的流量速率(比特率)基本上低于该信号样本所源自的视频信号的流量速率。信号样本被发送到客户端设备,以使得客户端设备处的观看者能够选择并标识偏好观看区域。

编码器:编码器可以是模数转换器或数字到数字转码器。编码器产生被表示为比特流的编码信号。

编码速率:在相对短的时间段内测量的每单位时间的比特数被视为测量时间段内的“瞬时”编码速率。由于编码信号的性质,可能会发生编码速率的快速自然变化。控制器可以响应于通过由众多(非协调)用户共享的网络的通信路径的时变条件来控制编码速率变化。所控制的编码速率变化通常比编码速率的自发变化慢。

流量速率:在没有数据丢失的情况下,信号沿着到目的地的路径的流量速率等于信号在服务器处的编码速率。由于编码速率的自然波动,编码速率的参数表示可以由用户指定或在控制器处确定。参数表示可以基于自然变化编码速率的猜测统计分布。

度量:度量是从例如使用回归分析的充分性能测量中导出的特定性质或特性的单一度量。

接受区间:如果度量的值界定在定义“接受区间”的下限和上限之间,则度量被视为反映有利条件。接受区间是包含性的,即除了在中间的值之外,它还包括下限和上限的值。

度量索引:度量可被定义为处于以下三个状态之一:如果度量的值低于相应的接受区间的下限,则为状态“-1”;如果该值高于接受区间的上限,则为状态“1”,否则,即,如果该值在包括下限和上限的接受区间内,则为状态“0”。度量索引是度量的状态。

发射机:该术语是指用基带信号调制载波(光载波或微波载波)以产生调制载波的常规设备。

接收机:该术语是指对调制载波进行解调以提取所传输的基带信号的常规设备。

处理器:该术语是指硬件设备(物理处理设备)。

gb/s,mb/s:吉比特/秒(109比特/秒),兆比特/秒(106比特/秒)。本发明的服务器接收并传播全景多媒体信号。除了诸如音频信号和文本的其它形式的信号之外,全景多媒体信号还包含全景视频信号。具体描述和所要求保护的主题侧重于在与视频信号分量相关的新颖特征。然而,应当理解,服务器将编辑的全景视频信号连同其它类型的信号一起传送给客户端设备。

参考标号

100:用于流传输全景多媒体信号的系统

110:全景多媒体源

115:传输介质

120:通用流媒体服务器(简称为“服务器”)

150:网络

180:客户端设备

200:包括多个源和多个服务器的流媒体系统

310:全景4π相机

312:原始信号

320:在服务器处的畸变校正模块

322:校正信号

324:整流信号

330:在源处的畸变校正模块

340:压缩模块

342:压缩信号

343:紧凑信号

350:解压缩模块

352:解压缩信号

420:纯视频信号

460:信号编辑模块

480:高容量路径

490:低容量路径

500:第一通信路径

520:源发射机

528:到服务器的调制载波信号

540:服务器接收机

542:基带信号(畸变的)

560:到客户端设备的接口

585:到客户端的调制载波信号

600:第二通信路径

628:到服务器的调制载波信号

642:基带信号(畸变校正的)

685:到客户端的调制载波信号

700:第三通信路径

720:源发射机

728:到服务器的调制载波信号

740:服务器接收机

742:基带信号(畸变的、压缩的)

785:到客户端的调制载波信号

800:第四通信路径

828:到服务器的调制载波信号

842:基带信号(畸变校正的、压缩的)

885:到客户端的调制载波信号

900:源视频信号(312、322、342或343)

905:来自全景多媒体源的控制数据

925:到全景多媒体源的控制数据

935:来自客户端设备的上游控制信号

940:到客户端设备的编辑多媒体信号

945:到客户端设备的下游控制信号

1000:服务器的组件

1005:来自/去往源和客户端设备的所有数据

1008:至少一个到网络的双向链路

1010:服务器网络接口

1022:源控制数据模块

1024:源信号处理模块

1026:客户端控制数据模块

1060:客户特定适配模块

1061:客户端控制总线

1090:编辑多媒体信号的组合器

1120:内容过滤模块;也简称为“内容过滤器”

1122:内容过滤视频信号

1132:内容过滤转码视频信号

1140:转码模块

1142:转码内容过滤视频信号

1152:转码视频信号

1160:服务器压缩模块

1220:平均比特率

1225:有效比特率

1230:特定峰值比特率

1300:选择性观看选项

1320:帧采样模块

1322:全覆盖帧采样信号

1340:空间-时间服务器压缩模块

1342:全覆盖压缩信号

1360:空间-时间服务器压缩模块

1362:连续的预选内容过滤信号

1364:连续的部分覆盖信号

1402:从客户端到服务器的向服务器请求的消息

1404:从客户端到服务器的定义选定观看区域的消息

1440:从服务器到客户端的压缩的内容过滤视频信号

1520:压缩视频信号的平均比特率

1525:压缩视频信号的有效比特率

1600:信号编辑模块的基本组件

1610:内容过滤级

1612:选定内容

1630:信号处理单元

1650:到一组客户端设备的调整多媒体信号

1710:服务器网络接口

1720:内容标识符

1725:解压缩模块和/或畸变校正模块

1840:转码模块

1842:适配客户端设备的信号

1860:流量速率适配模块

1861:用于保存数据块的缓冲器

1862:存储用于流量速率适配的处理器可执行指令的存储器设备

1900:信号编辑模块的示例性实现

1922:用于保存内容过滤信号的数据块的缓冲器

1923:存储用于使处理器修改帧速率和/或分辨率的处理器可执行指令的存储器设备

2000:用于目标客户端设备的视频信号编辑的过程

2012:偏好观看区域的标识符

2014:业务性能测量

2016:标称帧速率和帧分辨率

2030:服务器压缩模块

2040:用于确定与目标客户端设备兼容的允许流量速率以及帧速率和帧分辨率的模块

2050:发射机

2052:视频信号以及伴随的多媒体信号(诸如音频信号和/或文本)和控制信号

2060:网络路径

2110:确定在目标客户端设备的显示设备处的必要流量速率的过程

2120:确定服务器与目标客户端设备之间的允许流量速率(参考2122)的过程

2122:允许流量速率

2130:确定必要压缩比的过程

2140:确定压缩比是否可接受的过程

2150:用于确定修改的帧速率和/或分辨率的模块

2152:修改的帧速率和/或修改的分辨率

2210:存储客户端设备表征数据的存储器设备

2220:存储用于与特定服务器交互的软件指令的存储器设备

2230:客户端发射机

2240:客户端接收机

2242:接口模块

2250:处理器

2260:保存传入的多媒体数据的数据块的存储器设备

2270:客户端解压缩模块

2280:用于保存显示数据块的存储器

2290:显示设备

2314:源110与服务器120之间的双向控制路径

2412:网络路径

2512:将控制信号905从源110传送到服务器120以及将控制信号925从服务器120传送到源110的双向控制路径

2525:从服务器120到客户端设备180的多媒体有效载荷信号路径

2526:服务器120与客户端设备之间的双向控制路径

2545:与客户端设备关联的自动机

2610:至少一个硬件处理器

2620:一组被设计为处理接收的全景视频信号900的模块

2621:信号过滤模块

2640:客户端设备相关模块

2641:客户端配置文件数据库

2642:客户端设备表征模块

2643:用于信号对客户端设备进行适配的模块

2651:服务器源接口

2652:源表征模块

2660:客户端特定模块

2661:服务器-客户端接口

2662:用于信号对客户端环境进行适配的模块

2663:用于信号对客户端观看偏好进行适配的模块

2725:学习模块

2820:解压缩模块和畸变校正模块

2830:使用至少一个相应的硬件处理器以用于信号对客户端设备类型进行适配的模块

2925:存储预定义的部分覆盖定义的存储器设备

2940:用于信号对客户端的设备进行适配的模块

3010:从选定的全景多媒体源中获取全景多媒体信号的过程

3012:过滤源视频信号以抵消由噪声和延迟抖动引起的劣化的过程

3014:在信号已经在源处被压缩的情况下对源视频信号进行解压缩的过程

3018:在信号尚未在源处进行畸变校正的情况下对视频信号进行畸变校正的过程

3020:从客户端接收服务请求的过程

3022:纯视频信号对客户端的设备的特性进行适配的过程

3026:压缩适配客户端设备的特性的视频信号的过程

3028:向客户端设备发送信号的过程

3030:来自指定偏好观看区域的客户端的控制信号

3032:确定观看偏好的过程

3034:内容过滤的过程

3000:获取全景多媒体信号以及所获取的多媒体信号对各个客户端进行适配的方法

3100:方法3000的变形

3200:流传输控制表

3300:视频信号对特定客户端设备的适配的过程

3310:在客户端接口模块处从客户端设备接收用于服务的请求的过程

3312:识别客户端设备的类型的过程

3314:确定先前的客户端设备的识别的过程

3316:识别与客户端设备类型对应的已有流类别的过程

3320:为新的设备类型创建新的流类别的过程

3322:纯视频信号对设备类型进行适配的过程

3324:记录新的流类别的过程

3326:选择已有流或创建新的流的过程

3330:向特定客户端设备发送信号的过程

3400:指示每个类型的客户端设备的观看选项的计数的表

3500:基于信号内容变化和性能度量的流量速率控制的过程

3510:接收性能测量的过程

3512:基于性能测量来计算性能度量的过程

3514:确定当前性能是否可接受的过程

3520:接收新的内容的定义的过程

3522:根据所接收的新的内容的定义过滤纯视频信号的内容的过程

3524:确定与新的内容对应的流量速率需求的过程

3540:确定是否在信号编码中执行当前允许流量速率或是否从网络控制器获取新的(更高)允许流量速率的过程

3542:执行当前流量速率的过程

3544:与网络控制器通信以获取增强的允许流量速率的过程

3550:根据允许流量速率(当前的或增强的)的约束对信号进行编码的过程

3600:通用流媒体服务器的流量控制系统

3610:流量控制器

3612:内容定义参数(内容选择参数)

3616:性能测量

3625:服务器网络接口

3630:流量控制器的处理器

3635:用于确定偏好流量速率的模块(模块3635可以执行过程3500)

3650:部分内容信号(内容过滤信号)

3640:部分内容信号3650的编码器

3660:发送到客户端设备的压缩信号

3700:内容过滤和信号流量速率适配的组合过程

3710:以内容定义参数和性能测量的形式从客户端设备接收控制数据的过程

3720:检查从客户端设备接收的内容定义参数以确定是否改变内容的过程

3730:确定偏好流量速率的过程

3740:确定是否需要改变流量速率的过程

3750:向编码器传送必要流量速率的过程

3760:向内容过滤器传送内容定义参数的过程

3770:确保所接收的客户端的控制数据与改变的信号内容对应的强制人为延迟

3822:专用于内容过滤的处理器

3824:使处理器3822从全内容信号中提取部分内容信号的软件指令

3826:保存全内容信号块的缓冲器

3828:保存部分内容信号块的缓冲器

3860:更新的内容信号

3900:在服务器处执行的启动流传输会话的初始过程

3910:从信号源接收压缩全内容信号的过程

3915:解压缩全内容信号以恢复在源处生成的原始信号的过程

3920:从客户端设备接收连接请求的过程

3925:确定连接请求是否指定内容定义参数的过程

3930:指定默认内容定义参数的过程

3940:基于默认的内容定义参数或指定的内容定义参数提取部分内容信号的过程

3950:确定是否在连接请求中指定用于所提取的信号的流量速率的过程

3955:向编码器提供默认流量速率的过程

3960:根据特定流量速率进行信号编码的过程

3970:向目标客户端设备发送编码信号

4000:编码信号的内容和流量速率的自适应修改的方法

4010:从与客户端设备相关联的自动机接收内容偏好的过程

4020:确定是否请求内容更改的过程

4030:从全内容信号中提取部分内容信号的过程

4040:根据标称编码速率进行信号编码的过程

4050:基于性能数据确定编码速率的过程

4060:根据偏好编码速率对内容特定信号根据编码的过程

4070:向目标客户端设备发送编码内容特定流量速率控制信号

4100:确定信号的偏好编码速率的标准

4110:保存当前允许流量速率

4120:基于主要度量确定允许流量速率的过程

4130:基于次要度量确定允许流量速率的过程

4140:基于主要度量和次要度量确定允许流量速率的过程

4210:基于与客户端的接收机相关的性能数据确定主要度量的过程

4220:确定任一主要度量是否高于相应的接受区间的过程

4225:基于主要度量确定降低的允许流量速率的过程

4230:基于与从服务器到客户端的设备的网络路径的条件相关的性能数据来确定次要度量的过程

4240:确定任一次要度量是否高于相应的接受区间的过程

4245:基于次要度量确定降低的允许流量速率的过程

4250:确定每个主要度量是否低于其预定接受区间以及每个次要度量是否低于其预定接受区间的过程

4255:保存当前编码速率的状态

4260:基于主要度量和次要度量确定新的编码速率的过程

4280:向相应的编码器传送必要编码速率的过程

4310:在服务器处接收全内容信号的过程

4320:创建用于保存已提取的部分内容信号的参数的寄存器的过程

4330:从特定客户端接收定义全内容信号的部分内容的参数的过程

4340:检查寄存器以确定先前提取的部分内容信号(是否)存在的过程

4350:选择过程4360或4370的过程

4360:提供对匹配的部分内容信号的访问的过程

4370:根据新的内容定义参数提取新的部分内容信号的过程

4380:将新的内容定义参数添加到寄存器中以供将来使用的过程

4390:将部分内容信号导向编码器的过程

4420:保存由信号编辑模块460生成的数据块的缓冲器

4450:多路器

4460:多个内容过滤的流

4540:连接至少一个服务器和/或其它路由器-交换机的路由器-交换机

4541:路由器-交换机4540的输入端口

4542:路由器-交换机4540的输出端口

具体实施方式

传统的流媒体服务器执行多媒体信号对各个客户端设备的适配和到各个客户端设备的分发。对于全景多媒体信号,需要在多媒体源与流媒体服务器之间建立高容量路径,并且需要在流媒体服务器与多个客户端设备之间建立自适应容量路径。

流媒体服务器可以获取流媒体服务器与客户端设备之间的连接的性能度量,并且根据性能度量来调整分配给该连接的流量速率。如果连接被分配保证的恒定流量速率,例如通过专用链路或网络路径的预留容量,则性能度量将取决于恒定流量速率的值和客户端设备的特性。如果连接被分配标称流量速率,例如通过网络的共享链路,则性能度量将取决于标称流量速率的值、来自其它数据源的网络数据业务的强度的波动以及客户端设备的特性。

流媒体服务器还可被配置为处理从全景多媒体源接收的信号以导出具有部分内容的信号。本发明的流媒体服务器可以从包含覆盖4π球面度的立体角的全覆盖全景视频信号的源接收信号,并且导出具有部分覆盖的信号。利用这种能力,观看视频信号的显示的某人可以使用输入设备根据其观看偏好来选择特定的部分覆盖。偏好视频信号的信息内容在很大程度上取决于所选的覆盖范围。因此,性能度量取决于标称流量速率的值、来自其它数据源的网络数据业务的强度的波动、客户端设备的特性以及所选的信息内容。

观看者可以指定保真度级别和信息内容,而不是指定标称流量速率。多媒体服务器可以将保真度级别转换为必要流量速率。

提供内容选择以及流量速率适配接收机和网络条件两者的流媒体服务器在本文中被称为“通用流媒体服务器”。

图1示出流媒体系统100,其包括通过传输介质115与通用流媒体服务器120耦合的全景多媒体源110。传输介质115可以是诸如光纤链路或无线链路的专用介质,或者可以是通过共享电信网络的交换路径。通用流媒体服务器可以通过网络150与多个客户端设备180进行通信,这些客户端设备分别被标识为180(0)至180(m),m>1。全景多媒体源110包括全覆盖相机并且可以包括畸变校正模块和/或压缩模块。在本文中也被称为4π相机的全覆盖相机产生全覆盖视频信号。从全景多媒体源110传输到通用流媒体服务器120的多媒体信号(在本文中被称为“源多媒体信号”)除了诸如音频信号或文本信号的形式的信号之外,还包括视频信号。

图2示出了流媒体系统200,其包括分别被标识为110(0)至110(v-1)的v(v≥1)个全景多媒体源110和分别被标识为120(0)至120(μ-1)的μ(μ≥1)个通用流媒体服务器,这些服务器可以同时服务多个客户端设备180中的m(m>1)个客户端设备。用流媒体服务器120可以通过网络150与全景多媒体源110和客户端设备进行通信。可替代地,用流媒体服务器120可以通过一个共享网络(未示出)与全景多媒体源110进行通信,而通过另一个网络(未示出)与客户端设备180进行通信。

多媒体全景源110优选采用全覆盖全景相机,在本文中被称为“4π相机”,其提供高达4π球面度的观看覆盖范围。4π相机的输出信号在本文中被称为“4π视频信号”。由于固有畸变,所捕获的场景的4π视频信号在平面屏幕上的显示可能与实际场景明显不同。为了消除或显著降低显示失真,可以将人工偏移失真应用于相机产生的信号,以使得显示与所捕获的场景非常相似。被称为“畸变校正”的用于校正失真的视频信号的许多处理在本领域中是公知的。

畸变校正处理可以在源处执行,即,直接应用于相机的输出信号,或者在通用流媒体服务器120处执行。

在源110处的视频信号可以通过高容量通信路径直接被传输到通用流媒体服务器120,或者在源处被压缩以产生(极)减少占用光谱带的压缩信号,其通过较低容量的通信路径被传输到通用流媒体服务器120以在通用流媒体服务器处进行解压缩。

图3示出了多媒体全景源110与服务器120之间的四个通信选项。所述多媒体全景源包括产生原始信号312的4π相机。原始信号312需要在显示之前或者进一步处理以使信号对特定接收者调整之前进行畸变校正。

与源耦合的通信设备未在图3中示出。如图3中所示,第一源包括4π相机,第二源包括4π相机和畸变校正模块330,第三源包括4π相机和源压缩模块340,而第四源包括4π相机、畸变校正模块330和源压缩模块340。

根据一个实施例,原始信号312可被传输到配备有畸变校正模块320的服务器120a,该畸变校正模块产生校正信号322,其进一步被处理以产生接收者特定信号。校正信号被视为与在源处捕获的相应的场景对应的“纯视频信号”。

根据另一个实施例,原始信号312可在与源110耦合的畸变校正模块330处被处理以产生校正信号(纯视频信号)322,其被传输到服务器120b以进行进一步的处理以产生接收者特定信号。

根据再一个实施例,原始信号312可在与源110耦合的压缩模块340处被处理以产生压缩信号342,其被传输到服务器120c。服务器120c配备有解压缩模块350,其对压缩信号342进行解压缩以产生解压缩信号352,其在畸变校正模块320处被处理以产生整流信号324。该整流信号是如上所定义的“纯视频信号”。通过无损压缩过程和理想的解压缩过程,解压缩信号352将是原始信号312的复制。通过理想的畸变校正,整流信号324将是所捕获的场景的忠实再现。

根据又一个实施例,原始信号312可在与源110耦合的畸变校正模块330处被处理以产生校正信号322,其在压缩模块340处被处理以产生紧凑信号343,其被传输到服务器120d。服务器120d配备有解压缩模块350,其对紧凑信号343进行解压缩以产生整流信号324。通过理想的畸变校正模块330、无损压缩过程和理想的解压缩过程,整流信号将是所捕获的场景的忠实再现,即,“纯视频信号”。

因此,本发明提供了一种在包括多个物理处理器和相关联的存储器设备的服务器处实现的流传输视频信号的方法。所述服务器被设计为从以下装置获取包括视频信号的全景多媒体信号:

(1)包括全景相机的信号源;

(2)包括全景相机和畸变校正模块的信号源;

(3)包括全景相机和压缩模块的信号源;或

(4)包括全景相机、畸变校正模块和压缩模块的信号源。

所述方法包括访问全景多媒体源以获取视频信号的过程。如果所获取的视频信号在源处未压缩并且尚未进行畸变校正,则视频信号在服务器处被畸变校正以产生“纯视频信号”,其可以被被显示在屏幕上,或进一步被处理以分发给客户端设备。如果所获取的视频信号在源处未压缩并且已进行畸变校正,则该视频信号构成“纯视频信号”。如果所获取的视频信号在源处已压缩但尚未进行畸变校正,则该视频信号在服务器处被解压缩,然后被畸变校正以产生“纯视频信号”。如果所获取的视频信号在源处已进行畸变校正和压缩,则该视频信号在服务器处被解压缩以产生“纯视频信号”。

图4示出了与图3的通信选项对应的通信路径。

根据第一通信选项,在全景多媒体源模块110a的4π相机310处产生的全景信号通过高容量路径480被传输到包括畸变校正模块320和信号编辑模块460的服务器120a,信号编辑模块460执行内容过滤以及根据流量速率约束,信号对客户端设备进行适配两者。服务器120a包括至少一个处理器(在图4中未示出)和存储被组织为畸变校正模块320和信号编辑模块460的处理器可执行指令(软件指令)的存储器设备。畸变校正模块320的软件指令被执行以使至少一个处理器使用所接收的信号和相机的已知特性来产生畸变校正信号322,其可直接被传送到平板显示设备或者在信号编辑模块460中进一步被处理。信号编辑模块460可以执行内容过滤处理以产生选择性部分覆盖流,每个选择性部分覆盖流针对相应的接收者。信号编辑模块460还可以产生分别针对相应接收者的全覆盖范围流。

根据第二通信选项,源模块110b包括4π相机310、畸变校正模块330和将畸变校正模块330的软件指令应用于4π相机的输出信号(原始信号312)的处理器(未示出)。所得到的畸变校正信号通过高容量通信路径480被传输到包括如上述第一实现中的信号编辑模块460的服务器120b。

根据第三通信选项,源模块110c包括4π相机310、压缩模块340和将压缩模块340的软件指令应用于4π相机的输出信号(原始信号312)的处理器(未示出)。所得到的压缩信号342通过与通信路径480相比具有较低容量的通信路径490被传输到包括解压缩模块350、畸变校正模块320和信号编辑模块460的服务器120c。服务器120c包括执行解压缩模块350的软件指令以产生解压缩信号352的至少一个处理器(未示出)。至少一个处理器还执行畸变校正模块320的软件指令以产生整流信号324。信号编辑模块460执行整流信号324的内容过滤以产生选择性部分覆盖流,每个选择性部分覆盖流针对相应的接收者。信号编辑模块460还可以产生分别针对相应接收者的全覆盖范围流。

根据第四通信选项,源模块110d包括4π相机310、畸变校正模块330、压缩模块340和将畸变校正模块330的软件指令应用于4π相机的输出信号(原始信号312)以产生校正信号322的处理器(未示出)。处理器运行压缩模块340的软件指令以产生紧凑信号343。紧凑信号343通过较低容量通信路径490被传输到包括解压缩模块350和信号编辑模块460的服务器120d。服务器120d包括执行解压缩模块350的软件指令以重构校正信号322的至少一个处理器(未示出)。如在前述通信选项中所述,信号编辑模块460执行整流信号324的内容过滤以产生选择性部分覆盖流,每个选择性部分覆盖流针对相应的接收者。信号编辑模块460还可以产生分别针对相应接收者的全覆盖范围流。

通过第一或第二通信选项,校正视频信号322被传送到信号编辑模块460。通过第三或第四通信选项,整流视频信号324被传送到信号编辑模块460。校正视频信号322和整流视频信号324两者都被视为与在源处捕获的相应场景对应的纯视频信号。

图5示出了与图3的通信选项中的第一通信选项对应的端到端路径500的组件。源110a产生(基带)原始信号312,其通过高容量路径480被传输到服务器120a。高容量路径480包括与源110a并置的源发射机520、传输介质115和与服务器120a并置的服务器接收机540。接收机540对通过传输介质115接收的调制载波信号528进行解调以获取原始信号312的复制542。服务器120a包括存储构成畸变校正模块320的软件指令的存储器设备和存储构成信号编辑模块460的软件指令的存储器设备。服务器120a还包括客户端设备接口560,这些接口包括服务器发射机。服务器120a的输出信号585通过网络150被传送到相应的客户端设备180。

图6示出了与图3的通信选项中的第二通信选项对应的端到端路径600的组件。源110b包括4π相机310和存储构成畸变校正模块330的软件指令的存储器设备,所述软件指令使处理器(未示出)产生校正信号322。校正信号322通过高容量路径480被传输到服务器120b。高容量路径480包括与源110b并置的源发射机520、传输介质115和与服务器120b并置的服务器接收机540。接收机540对通过传输介质115接收的调制载波信号628进行解调以获取校正信号322的复制642。服务器120b包括存储构成信号编辑模块460的软件指令的存储器设备。服务器120b还包括客户端设备接口560,这些接口包括服务器发射机。服务器120b的输出信号685通过网络150被传送到相应的客户端设备180。

图7示出了与图3的通信选项中的第三通信选项对应的端到端路径700的组件。源110c包括产生(基带)原始信号312的4π相机310和存储构成源压缩模块340的软件指令的存储器设备。源压缩模块340将原始信号312压缩成压缩信号342,其通过路径490被传输到服务器120c。路径490包括与源110c并置的源发射机720、传输介质115和与服务器120c并置的服务器接收机740。接收机740对通过传输介质115接收的调制载波信号728进行解调以获取压缩信号342的复制742。服务器120c包括存储构成服务器解压缩模块350的软件指令的存储器设备、存储构成畸变校正模块320的软件指令的存储器设备和存储构成信号编辑模块460的软件指令的存储器设备。服务器120c还包括客户端设备接口560,这些接口包括服务器发射机。服务器120c的输出信号785通过网络150被传送到相应的客户端设备180。

图8示出了与图3的通信选项中的第四通信选项对应的端到端路径800的组件。源110d包括4π相机310、存储构成畸变校正模块330的软件指令(这些软件指令使处理器(未示出)产生校正信号322)的存储器设备和存储构成源压缩模块340的软件指令(这些软件指令使处理器(未示出)产生紧凑信号343)的存储器设备。紧凑信号343通过路径490被传输到服务器120d。路径490包括与源110d并置的源发射机720、传输介质115和与服务器120c并置的服务器接收机740。接收机740对通过传输介质115接收的调制载波信号进行调制以获取紧凑信号343的复制842。服务器120d包括存储构成服务器解压缩模块350的软件指令的存储器设备和存储构成信号编辑模块460的软件指令的存储器设备。服务器120d还包括客户端设备接口560,这些接口包括服务器发射机。服务器120d的输出信号885通过网络150被传送到相应的客户端设备180。

图9示出了在通用流媒体服务器120的输入端和输出端处的多媒体信号和控制信号。

服务器120从源110接收包括视频信号900的多媒体信号,所述视频信号可以是原始信号312、校正信号322、压缩信号342或紧凑信号343。在服务器处从源110接收的视频信号在本文中被称为“源视频信号”。

服务器120可以从不同的全景多媒体源110接收多媒体信号,如图2中所示。因此,服务器可以接收来自第一源110的原始视频信号312、来自第二源110的校正视频信号322、来自第三源的压缩信号342和/或来自第四源的紧凑信号343。优选地,然后,服务器可以配备有畸变校正模块320和解压缩模块350,以便能够与不同类型的源110衔接并产生纯视频信号420,其可以是校正视频信号322或整流视频信号324。

服务器120接收来自客户端设备180的上游控制信号935和来自源110的控制信号905。服务器向客户端设备发送下游控制信号945,并且向源110发送控制数据925。无论什么源类型,作为服务器的内核的信号编辑模块460基于控制信号935和905来处理纯视频信号420。

上游控制信号935可以包括客户端的表征数据和客户端的请求。下游控制信号945可以包括对客户端的请求的响应。下游控制信号945还可以包括将要安装在客户端设备180处,以使每个对向(subtending)客户端设备能够将偏好观看区域传送给服务器的软件模块。控制数据905可以包括与源特性和在源处已执行的操作(诸如畸变校正和/或数据压缩)相关的数据。控制数据925可以包括表征服务器的数据。

服务器120的信号编辑模块460产生编辑多媒体信号940,每个编辑多媒体信号分别针对如下内容进行调整:相应客户端的观看偏好;相应客户端的设备的能力;以及从服务器到相应客户端的设备的网络路径的条件。服务器120向客户端设备发送编辑多媒体信号940。

图10示出了示例性服务器120的组件1000。所述服务器包括至少一个处理器(未示出)和存储被组织为多个模块的处理器可执行指令的多个存储器设备,所述模块包括网络接口1010、源控制数据模块1022、源信号处理模块1024、客户端控制数据模块1026和一组客户端特定适配模块1060。服务器网络接口1010与到至少一个网络的至少一个双向链路1008耦合,所述链路承载源自或去往信号源和客户端设备的所有信号1005。服务器网络接口1010包括服务器接收机540(图5和图6)或740(图7和图8),其对调制载波(光载波或无线微波载波)进行解调以检测从源110(110a、110b、110c或110d)发送的基带源视频信号900(原始信号312、校正信号322、压缩信号342或紧凑信号343)。至少一个双向链路1008中的双向链路承载:去往和来自至少一个源110和多个客户端设备的控制数据;源多媒体信号;以及被导向多个客户端设备的编辑多媒体信号。

源视频信号处理模块1024可以配备有畸变校正模块320和/或服务器解压缩模块350以产生纯视频信号420,其可以是校正视频信号322或整流视频信号324。

服务器网络接口1010将源视频信号900导向源视频信号处理模块1024,并将控制信号905导向源控制数据处理模块1022。源视频信号处理模块1024执行以下处理:

(1)视频信号畸变校正(模块320,图5);

(2)视频信号解压缩(模块350)和畸变校正(模块320,图7);或(3)视频信号解压缩(模块350,图8)。

模块1022和模块1024通信耦合,如图10中所示。模块1022的输出可影响模块1024的处理。模块1024可以生成被导向源110的控制数据925,其通过模块1022和服务器网络接口1010被传送。

模块1024将纯视频信号920导向分别被标识为1060(0)至1060(m-1)的m(m>1)个客户端特定适配模块1060。客户端特定适配模块1060优选采用独立的硬件处理器。每个客户端特定适配模块1060包括存储使相应的处理器执行必要的转码功能的指令的存储器设备。

从客户端设备接收的数据包括上游控制信号935。被导向客户端设备的数据包括控制信号945和编辑多媒体信号940。上游控制信号935在网络接口1010处被提取并且被导向客户端的控制数据模块1026。客户端特定适配模块1060通过客户端控制总线1061访问上游控制数据935,其中,客户端特定控制信号被保存在缓冲器1062中,或者通过本领域公知的其它方式保存。在客户端特定适配模块1060处生成的下游控制数据通过客户端控制总线1061、客户端控制数据模块1026、服务器网络接口1010和至少一个双向链路1008被分发到相应的客户端设备180。编辑的客户端特定多媒体信号940被组合(组合器1090),聚合流1095通过服务器网络接口1010、至少一个双向链路1008和至少一个网络被分发到相应的客户端设备180。

图11详细描述了客户端特定适配模块1060。该模块包括存储处理器可执行指令的至少一个存储器设备,所述处理器可执行指令在被执行时,使得至少一个处理器执行视频信号的内容过滤处理,以提取与所选择的观看区域对应的信号,并将内容过滤视频信号进行转码以与目标客户端设备180的能力兼容。视频信号可以根据允许流量速率的约束来进行压缩,所述流量速率可以是时变流量速率的代表性值。

客户端特定适配模块1060包括内容过滤模块(内容过滤器)1120;用于信号对客户端设备能力进行适配的转码模块1140;以及用于产生具有允许流量速率内的流量速率的视频信号的服务器压缩模块1160。

根据一个实施例,内容过滤模块1120处理纯视频信号420以提取与指定的观看区域对应的信号部分,从而产生内容过滤信号1122。内容过滤信号1122的平均流量速率低于纯视频信号420的平均流量速率。如果内容过滤信号1122与目标客户端设备的能力兼容并且具有满足相应允许值的流量速率,则所述信号可被传输到目标客户端设备。否则,转码模块1140被应用于转码内容过滤信号1122以与诸如帧速率的上限和帧分辨率上限的目标客户端设备的特性兼容。如果所得到的转码内容过滤信号1142具有不超过允许值的流量速率,则信号1142可被传输到目标客户端设备。否则,可以根据允许流量速率将服务器压缩模块1160应用于压缩信号1142,从而产生被压缩、转码和内容过滤的信号940。

根据另一个实施例,转码模块1140可被用于对纯视频信号420进行转码,以产生与目标客户端设备的能力兼容的转码信号1152。内容过滤器1120处理信号1152以提取与指定的观看区域对应的信号部分,从而产生内容过滤转码信号1132。内容过滤转码信号1132的平均流量速率低于纯视频信号420的平均流量速率。如果信号1132具有满足允许值的流量速率,则所述信号可被传输到目标客户端设备。否则,可以根据允许流量速率将服务器压缩模块1160应用于压缩信号1132,从而产生现在被压缩、转码和内容过滤的信号940。

在源或服务器处被畸变校正的未压缩或解压缩的视频信号是纯视频信号。为了向特定客户端设备提供服务,纯视频信号被转码以产生与客户端设备兼容的转码信号。纯视频信号与高达4π球面度的立体角的可达到覆盖范围相对应,并且可能具有例如多gb/s的大流量速率(比特率),其可能超过从服务器到客户端设备的路径的可用容量。转码信号也可能具有超过路径的容量的流量速率。因此,转码信号可被压缩以产生不超过路径的容量的流量速率。

压缩的转码信号被传输到客户端设备以进行解压缩并显示在客户端设备上。在客户端设备处的观看者然后可以标识偏好观看区域并向服务器发送偏好观看区域的描述符。然后可以对该信号进行内容过滤以仅保留与偏好观看区域对应的信号部分。内容过滤的信号可被压缩,然后被传输到客户端设备。

当服务器访问全景多媒体源110时,全景多媒体源提供包括视频信号的多媒体信号以及包括被应用于视频信号的任何信号处理(诸如畸变校正和压缩)的指示的控制数据。所获取的视频信号是全景视频信号,其可以由单个相机产生,或者通过组合来自多个相机的视频信号而产生。

为了使客户端设备的用户能够传送偏好观看区域的标识符,服务器向客户端设备发送为此目的而设计的软件模块。服务器可以部分地或全部安装在共享云计算网络内,在该网络中,物理处理器和关联的存储器设备按需分配。

图12示出了压缩视频信号的流量速率(比特率)的时间变化。如本领域中公知的,多个描述符可被用于表征可变流量速率信号(也被称为可变比特率)(诸如流量速率的平均值1220和峰值1230)以及表示信号突发持续时间的参数。可以使用这些描述符和被指定以传输可变比特率信号的共享网络路径的容量来确定有效流量速率(有效比特率)1125,所述有效流量速率需要在通信路径中进行分配以传送信号。服务器压缩模块1160被设计为确保有效流量速率(有效比特率)不超过(购买的)网络连接的允许流量速率。

图13示出了用于生成流量速率降低的但仍适于展示全景全空间覆盖范围以使得接收时间限制视频信号的客户端能够选择偏好的部分覆盖视图的时间限制视频信号的模块1300。

帧采样模块1320包括处理器可执行指令,其使得处理器在远距离帧间隔期间对纯视频信号420或源自纯视频信号的转码视频信号进行采样,以产生与全空间覆盖采样图像对应的帧采样视频信号1322。帧采样视频信号1322未被压缩并且具有不超过允许流量速率的恒定流量速率。帧采样视频信号1322可被显示在客户端设备上。

纯视频信号420可以是校正信号322或整流信号324(图3)。选择帧间采样周期以使得纯视频信号420的采样部分的流的(恒定)流量速率不超过允许流量速率。例如,如果纯视频信号420的数据流量速率是1gb/s,并且允许流量速率是5mb/s,则帧采样模块1320将从每个200个连续帧的组中选择一个帧。接收采样帧的特定客户端设备180然后在200个帧间隔(5秒,以40帧/秒的帧速率)期间重复显示每个帧。服务器120开始发送相应的编辑多媒体信号940(图9),并且在服务器接收到来自特定客户端设备的偏好观看区域的指示后,终止发送帧样本。

服务器120可以向每个客户端设备发送视图选择软件指令,以帮助客户端选择偏好观看区域。所述软件指令可以沿着相同的承载下游控制数据945(图9)的路径发送。

因此,服务器120可以使用包括处理器可执行指令的帧采样模块,这些指令使处理器在远距离帧间隔期间对视频信号进行采样以产生帧采样视频信号。该服务器还包括存储软件模块的存储器设备,这些软件模块用于分发给多个客户端设备以使得客户端设备的用户能够向服务器传送偏好观看区域的标识。

空间-时间服务器压缩模块1340包括处理器可执行指令,其使处理器对纯视频信号420或源自纯视频信号的转码视频信号进行压缩,以产生与全空间覆盖图像对应的压缩信号1342。压缩信号1342具有如图12所示的波动流量速率,并且服务器压缩模块1340确保有效流量速率(有效比特率)不超过允许流量速率。

与空间-时间服务器压缩模块1340类似的空间-时间压缩模块1360使处理器对源自纯视频信号420的预选内容过滤(部分覆盖)信号1362进行压缩。占据连续的时间窗口的连续的压缩内容过滤信号1364被发送到目标客户端设备。每个压缩信号1364具有如图12所示的波动流量速率,并且压缩模块1360确保每个压缩信号1364的有效流量速率(有效比特率)不超过允许流量速率。

图14示出了向客户端设备提供内容过滤视频信号的过程。在时间t1,特定客户端设备180的用户向服务器120发送请求观看特定事件的消息1402。该消息在时间t2在服务器120处被接收。可以设计若干观看选择方法来使得特定客户端设备的用户能够向服务器传送偏好观看区域的标识符。

在一种观看选择方法中,服务器在时间t3发送与所选择的全空间覆盖全景图像对应的帧采样信号1322。在时间t4,客户端设备180开始接收帧采样信号1322,其在累积一个帧的内容后被提交给显示设备。在时间t5,特定客户端设备的用户发送提供定义所选择的观看区域的参数的消息1404。消息1404在时间t6在服务器处被接收。服务器120制定与所选择的观看区域对应的相应的内容过滤视频信号。相应的内容过滤视频信号可被压缩以产生压缩内容过滤(部分空间覆盖)信号1440。服务器在时间t7终止帧采样信号1322的传输,并且在时间t9开始向客户端设备180发送压缩内容过滤信号1440。信号1440被解压缩并显示在客户端设备上。客户端设备在时间t8之前接收到帧采样信号1322的最后一帧,并且在时间t10开始接收压缩信号1440。压缩信号1440的传输在时间t11结束,并且在时间t12结束在客户端设备处接收信号。

在另一观看选择方法中,服务器生成全覆盖视频信号1342(如图13所示),其可兼容客户端设备并且被压缩到允许流量速率。服务器在时间t3发送信号1342,客户端设备180在时间t4开始接收压缩信号。压缩信号1342在客户端设备处进行解压缩并被提交给显示设备。在时间t4之后的事件序列类似于与帧采样视频信号1322的事例对应的事件序列。

在另一观看选择方法中,服务器从纯视频信号420中导出若干与预选观看区域对应的内容过滤视频信号1362(如图13所示)。每个导出的内容过滤视频信号与客户端设备的能力兼容并被压缩到允许流量速率。可以将连续的压缩信号1364发送到客户端设备,并且客户端设备的用户可以向服务器发送指示预选观看区域中的一个偏好区域的消息。

因此,本发明提供了一种流传输信号的方法,包括编辑视频信号的内容以生成与预定的一组观看区域对应的一组内容过滤信号。对每个内容过滤信号进行转码以产生与特定客户端设备兼容的一组转码信号。对每个转码信号进行压缩以生成一组压缩信号。压缩信号被连续发送到客户端设备。当从特定客户端设备接收与偏好观看区域对应的特定压缩信号的标识符时,随后只有特定压缩信号被发送到客户端设备。

图15示出了从服务器120传输到客户端设备180的视频信号的时间比特率变化(流量速率变化)。帧采样信号1322的比特率是恒定的并且被设置为不超过预定允许比特率的值。压缩内容过滤信号1440的比特率是时变的。如本领域所公知的,可变比特率由诸如平均比特率、峰值比特率和平均数据突发长度的参数来表征。这些参数连同相应的网络路径的容量可被用于确定“有效比特率”1525,其大于平均比特率。帧采样信号1322的构想确保所得到的恒定比特率不超过预定允许比特率(其可基于服务级别协议或网络约束)。在服务器120处的压缩处理被设计以确保压缩信号1440的有效比特率不超过允许比特率。

为了向特定客户端设备的一组客户端设备组提供服务,对纯视频信号进行转码以产生与客户端设备类型兼容的转码信号。转码信号可具有超过从服务器到客户端设备的一些路径的容量的流量速率。为了向客户端设备提供全覆盖(可达到的覆盖范围)视图,生成流量速率降低的信号样本并向客户端设备组播。信号样本可以是帧采样转码信号或压缩转码信号。当从特定客户端设备接收相应的偏好观看区域的标识符时,对转码信号进行内容过滤以产生与相应偏好观看区域对应的客户端特定信号。客户特定信号被压缩并被传输到特定客户端设备。

信号编辑模块

图16示出了服务器120的信号编辑模块460(图4至图8)的基本组件1600。在第一级1610中,纯视频信号420被处理以产生k(k≥1)个内容过滤信号1612。在第二级1620中,每个内容过滤信号1612适配相应的客户端设备或客户端设备群组180。每个内容过滤信号被导向相应的信号处理单元1630以产生相应的调整信号1650,其满足包括帧速率的上限、分辨率的上限和流量速率(比特率)的上限的多个条件。调整信号1650可适合于向多个客户端设备组播。内容过滤信号1612分别被标识为1612(0)至1612(k-1)。信号处理单元1630分别被标识为1630(0)至1630(k-1)。调整信号1650分别被标识为1650(0)至1650(k-1)。

图17示出了包括分别被标识为1120(0)至1120(k-1)的k个内容过滤模块1120的内容过滤级1610,以用于同时从全内容信号中生成不同的部分内容信号。通过服务器网络接口1710接收的全内容信号900可被解压缩和/或畸变校正(模块1725)以产生被路由到所有内容过滤器1120的输入端的纯视频信号420。标识所请求的内容的参数被分发以控制内容过滤器1120的输入1720。

每个内容过滤模块1120被设计以使得物理处理器(未示出)提取与指定的观看区域对应的纯视频信号420的部分。纯视频信号420被提交给每个内容过滤模块1120,内容过滤模块1120被激活以产生对应的内容过滤信号1612。特定内容过滤信号1612可被组播到已经指示与特定内容过滤信号对应的观看区域偏好的多个客户端。然而,客户端设备可具有不同的特性,到客户端设备的网络路径的容量可不同,并且由于网络路径容量和在客户端设备处的时变业务负载不同,到客户端设备的允许流量速率可不同。因此,内容过滤信号1612在第二级1620中被处理以适配客户端设备和网络路径。

图18示出了信号编辑模块460的第二级1620的信号处理单元1630,其包括用于使信号适配客户端设备类型的转码模块1840和用于进行信号流量速率适配以符合允许流量速率的模块1860。转码模块1840可以使视频信号进行适配以具有在相应的客户端设备的能力内的帧速率和分辨率。通过n(n≥1)种类型的活动客户端设备,转码模块1840产生分别被标识为1842(0)至1842(n-1)的n个信号1842,每个信号适配相应的设备类型。如果流量速率超过允许值,则模块1860可以进一步降低信号的流量速率。每个模块1860(j)(0≤j<n)包括用于保存相应的信号1842的数据块的缓冲器1861和存储用于进行流量速率适配的处理器可执行指令的存储器设备1862。

图19示出了信号编辑模块460的示例性实现1900。内容过滤级1610包括k个内容过滤模块1120(如图17所示)。每个内容过滤信号1612被提交给转码模块1840,以使该信号适配相应的客户端设备类型。转码模块1840包括用于保存内容过滤信号1612的数据块的缓冲器1922和用于存储处理器可执行指令的存储器设备1923,所述处理器可执行指令使处理器将帧速率和/或分辨率修改为与客户端接收机的能力兼容。转码模块1840的每个输出信号1842可以在流量速率适配模块1860处进一步被处理。

如图17中所示,分别被标识为1120(0)至1120(k-1)的k(k>1)个内容过滤器1120可同时被激活以提取不同的内容过滤信号1612(0)至1612(k-1),每个内容过滤信号在相应的信号处理单元1630处进一步被处理以产生适合于在相应的客户端设备或一组客户端设备处显示的信号1650。如图18所示,内容过滤信号1612被转码以与目标客户端设备180兼容,并且进一步被适配到不超过允许上限的流量速率。

图20示出了用于目标客户端设备180的视频信号编辑的过程2000。控制信号935可以提供业务性能测量2014、标称帧速率和帧分辨率2016以及偏好观看区域的标识符2012。纯视频信号420被导向内容过滤器1120(j),以提取与由目标客户端设备的用户标识的观看区域j对应的纯视频信号420的内容。流量速率计算模块2040被激活以确定允许流量速率ф以及将要在转码模块1840(j)中使用的与目标客户端设备180兼容的帧速率和帧分辨率。转码模块1840(j)被激活以使所提取的内容过滤信号1612(j)适配由流量速率计算模块2040确定的帧速率和帧分辨率。服务器压缩模块2030产生编辑视频信号940(图9),其与所标识的观看区域相对应,并且适配目标客户端设备180的能力和从服务器120到目标客户端设备180的网络路径的能力。发射机2050向目标客户端设备发送信号2052。信号2052包括视频信号940以及伴随的多媒体信号(诸如音频信号和/或文本)和控制信号。信号2052沿着网络路径2060被路由到目标客户端设备。

图21详细描述了流量速率计算模块2040。以可被存储在服务器处或被包括在从目标客户端接收的控制信号935中的目标客户端设备180的标称帧速率和标称帧分辨率开始,过程2110确定目标客户端设备180的显示设备处的必要流量速率r,如帧速率、每帧像素数量和每像素比特数量的直接相乘结果。独立地,过程2120基于沿着网络路径2060的业务性能的测量和在客户端设备处的接收缓冲器的占用率来确定服务器与目标客户端设备之间的允许流量速率ф(参考标号2122)。业务性能测量包括数据丢失指示符(如果有的话)和延迟抖动。业务性能测量使用本领域公知的技术来确定。基于所测量的业务性能来确定允许流量速率可以基于经验公式或者基于参数化分析模型。

过程2140确定在目标客户端服务器的显示设备处的必要流量速率r与沿着网络路径2060的允许流量速率ф的压缩比率(在过程2130中确定)是否适合于服务器压缩模块2030。如果流量速率r将被降低以满足压缩比限制,则过程2150可确定将要传送到转码模块1840(图20)的修改的帧速率和/或修改的分辨率2152。允许流量速率ф可被传送到服务器压缩模块2030。

图22示出了客户端设备180的组件。存储器设备2210存储客户端设备表征数据,诸如显示设备的帧速率的上限和帧分辨率的上限。存储器设备2220存储用于与特定服务器120交互的软件指令。这些指令可以包括使客户端设备的用户能够向服务器传送偏好观看区域的标识的软件模块。这些软件指令可由客户端设备的用户安装或者连同下游控制信号945(图9)一起从服务器120发送。客户端发射机2230将所有控制数据从客户端设备传输到相应的服务器120。客户端接收机2240接收来自服务器120的所有信号,其中包括编辑视频信号940(其可被压缩)、其它多媒体数据(音频信号和文本)和控制信号945。接口2242将控制信号945导向处理器2250,并且将编辑视频信号940以及伴随的音频信号和文本导向存储器设备2260,存储器设备缓冲包括视频信号940、音频数据和文本的传入多媒体数据的数据块。如果传入多媒体数据未被压缩,则所述数据可被传送到显示设备2290。否则,客户端解压缩模块2270对在存储器设备2260中缓冲的压缩数据块进行解压缩,以产生被保存在与显示设备2290耦合的存储器设备2280中的显示数据。值得注意的是,与全覆盖帧采样信号1322(图13、图14)的一个帧对应的数据块可以在从存储器设备2280中出列之前多次显示。

图23示出了通用流媒体服务器120与两个全景多媒体源110-0和110-1之间通过网络150的通信路径。多媒体源110包括全景相机310(例如,4π相机),并且可以包括畸变校正模块330和/或源压缩模块340(如图3至图8所示)。虽然仅示出两个全景多媒体源110,但是应当理解,通用流媒体服务器120可以同时连接更多个多媒体源110,如图2中所示。在优选的实现中,通用流媒体服务器是云嵌入式的,从而可以选择通用流媒体服务器的网络连接和处理能力以与变化的活动级别相配。来自全景多媒体源110的源多媒体信号通过具有适当传输能力的网络路径480/490(图4)被传输到通用流媒体服务器120。源多媒体信号包括源视频信号900。

通过理想的网络路径480/490,在通用流媒体服务器120处接收的多媒体信号将是所发送的视频信号的延迟复制。然而,网络路径480/490可以遍历在源处的数据路由器,在目的地处的数据路由器以及可能的一个或多个中间数据路由器。因此,所接收的多媒体信号可能遭受到噪声、延迟抖动以及可能的部分信号损失。通过在服务器120处的信号滤波和流量速率控制,所接收的多媒体信号的内容将是所发送的多媒体信号的内容的接近复制。

源视频信号900可以是由全景相机产生的“原始”视频信号312、校正视频信号322、或压缩视频信号342、或紧凑视频信号343(如图3中所示)。校正视频信号322使用畸变校正模块330从原始视频信号中产生。压缩视频信号342根据标准化压缩方法或专属压缩方法中的一个,使用源压缩模块340(图3)从原始信号312中产生。紧凑视频信号343使用源压缩模块340从校正视频信号322中产生。原始视频信号可以由单个全景相机或多个相机产生。

通用流媒体服务器120可以通过网络路径2314向全景多媒体源110发送控制信号925(图9),与有效载荷路径480/490相比,网络路径2314具有(极)更低的传输容量。

图24示出了支持通用流媒体服务器120、提供全景多媒体信号的信号源110以及多个客户端设备180的网络150。虽然仅示出一个信号源,但是应当理解,通用流媒体服务器120可以如图2中所示同时连接多个信号源。在通用流媒体服务器120与多个异构客户端设备180之间建立通信路径。通用流媒体服务器120通过网络路径2412向客户端设备发送编辑多媒体信号940(图9)。通用流媒体服务器120通过网络150内的控制路径(未示出)从各个客户端设备180接收控制数据935。控制数据935可以包括用于服务的请求以及观看区域的选择。

源多媒体信号通过具有足够高容量以支持高流量速率的有效载荷网络路径480/490从源110被传输到服务器120。多媒体信号包括源视频信号900(图3,312、322、342或343)。从服务器120到信号源110的控制信号通过控制路径进行传输,与有效载荷网络路径480/490相比,控制路径具有更低的容量。源多媒体信号的视频信号分量900可以是由全景相机产生的原始未压缩视频信号,或根据标准化压缩方法或专属压缩方法中的一个从原始视频信号中产生的压缩视频信号。原始视频信号可以由单个全景相机或多个相机产生。

通过理想的网络路径,在服务器120处接收的多媒体信号将是所发送的视频信号的延迟复制。然而,网络路径可以遍历在源处的数据路由器,在目的地处的数据路由器以及可能的一个或多个中间数据路由器。因此,所接收的多媒体信号可能遭受到噪声、延迟抖动以及可能的部分信号损失。通用流媒体服务器120从各个客户端设备180接收命令。这些命令可以包括用于服务的请求、观看模式的选择等。

从通用流媒体服务器到客户端设备180的视频信号(单独地或统称为940)分别对相应客户端设备180的能力、网络路径的可用容量(“带宽”)以及客户端的偏好进行适配。从各个客户端设备到通用流媒体服务器的控制数据统称为935(图9)。通用流媒体服务器120可以使用在共享云计算网络内分配的硬件处理单元和存储器设备来实现。可替代地,所选过程可以在云外的计算设施中实现。

图25示出了承载从源110到服务器120的多媒体信号的路径480/490,以及承载从源110到服务器120的控制信号905和从服务器120到源110的控制信号925的双向控制路径2512。下游网络路径2525承载从服务器120到客户端180的多媒体信号。双向控制路径2526承载到客户端设备180的下游控制信号以及从客户端设备180到服务器120的上游控制信号935。与客户端设备180相关联的自动机2545可以向通用流媒体服务器发送命令。自动机通常是一个人类观看者。但是,在某些应用中,可以设计具有人工智能能力的监控器。

从在多媒体源110处生成的全景多媒体信号900适配的客户端特定多媒体信号940可以被组播到多个异构客户端设备180。多媒体信号940分别对相应客户端设备的能力、网络路径的可用容量(“带宽“)以及客户端的偏好进行适配。

图26示出了包括至少一个硬件处理器2610的通用流媒体服务器120的模块化结构。服务器源接口2651控制与多媒体源110的通信。源表征模块2652表征多媒体源110,并将源特征数据传送到被设计为处理所接收的全景视频信号900的模块组2620。源表征数据可以从由全景多媒体源传送的表征数据或从所存储的记录中确定。模块组2620包括信号滤波模块2621,其用于抵消由于传输噪声和延迟抖动而导致的信号衰减,还可以包括服务器解压缩模块350和畸变校正模块320(图3)。信号滤波模块2621抵消由噪声和延迟抖动而导致的信号衰减。如果“原始”视频信号312(图3)在源处已进行畸变校正以产生“校正信号”322(其在源处进一步被压缩),则服务器解压缩模块350应用适当的解压缩处理以产生校正信号322的复制。否则,如果原始视频信号312在源处已进行压缩而未被畸变校正,则服务器解压缩模块350应用适当的解压缩处理以产生原始信号312的复制,然后使用畸变校正模块320对该复制进行畸变校正。

客户端设备相关的模块2640包括客户端设备表征模块2642和用于使信号适配客户端设备特性的模块2643。客户端设备表征模块2642可以依赖于存储一组客户端设备类型中的每个客户端设备类型的特性的客户端配置文件数据库2641或者从经由服务器-客户端接口2661接收的表征数据中提取客户端设备特性。客户端的设备特性可以涉及处理能力、帧速率的上限、帧分辨率的上限、流量速率的上限等。

客户端特定模块2660包括服务器-客户端接口2661、用于使信号适配客户端的环境的模块2662以及用于使信号适配客户端的观看偏好的模块2663。

图27示出了包括用于用于跟踪客户端的观看选项的选择的学习模块2725的通用流媒体服务器120。学习模块可以被配置为保存观看偏好数据并将观看偏好与客户端设备以及可选的客户端的环境的特性相关联。

因此,服务器包括网络接口模块,其被设计为通过至少一个网络建立去往和来自至少一个全景视频源的通信路径;以及多个客户端设备。可以考虑各种设计以基于以下模块来构建通用流媒体服务器120:

解压缩模块,其被设计为对在源处已被压缩的视频信号进行解压缩;

畸变校正模块,其被设计为对在源处尚未进行畸变校正的视频信号进行畸变校正;

转码模块,其被设计为使视频信号对多个客户端设备中的任一客户端设备的特性进行适配;

内容过滤器,其设计为对视频信号的内容进行编辑以对应所标识的观看区域;以及

控制模块,其被设计为与至少一个全景视频源进行通信以获取源视频信号,将视频信号传送到转码模块和内容过滤器以生成客户端特定视频信号,并将客户端特定视频信号发送到相应的客户端设备。

服务器可以进一步使用学习模块,其被设计为保存观看偏好数据,并将观看偏好与客户端设备的特性相关联。

图28示出了在通用流媒体服务器120处执行的过程,其中,全景视频信号适配客户端设备类型,然后进行内容过滤。在过程2820中,如果源视频信号900在源处已进行压缩,则所接收的源视频信号900被解压缩。如果源视频信号900在源处尚未进行畸变校正,则所接收的源视频信号900被畸变校正。过程2820产生纯视频信号420(图4至图8),其可以是如上所述的校正视频信号322或整流视频信号324(图3)。多个过程2830可以并行执行以将纯视频信号420转码为适配不同类型的客户端设备的视频信号。

过程2830中的每一个都是客户端设备类型特定的。过程2830对从过程2820中得到的纯视频信号420进行转码以产生适合于相应客户端设备类型的修改的信号。若干客户端可以使用相同类型的设备。然而,客户端可具有不同的观看偏好。由过程2830产生的视频信号在内容过滤器1120中对相应的(人)客户端的观看区域选择进行适配。然而,如果使用相同类型的设备的两个或更多客户端也具有类似的观看偏好,则可以执行单个内容过滤过程,并将所得到的适配信号传输到两个或更多个客户端。

图29示出了在通用流媒体服务器120处执行的过程,其中,全景视频信号被内容过滤,然后适配客户端设备类型。如图28的过程2820,如果源视频信号2340在源处已被压缩,则所接收的源视频信号2360被解压缩。如果源视频信号900在源处尚未进行畸变校正,则所接收的源视频信号900被畸变校正。过程2820产生纯视频信号420,其可以是如上所述的校正视频信号322或整流视频信号324(图3)。存储器设备存储部分覆盖观看区域的预定义描述符集2925。

多可以并行执行多个纯视频信号420的内容过滤过程,以产生与部分覆盖观看区域的预定义描述符对应的内容过滤视频信号。多个过程2940可以并行执行以使内容过滤视频信号适配不同类型的客户端设备。如果两个或更多个客户端选择相同的观看区域并且使用相同类型的客户端设备,则执行单个过程2940,并将所得到的适配视频信号传输到两个或更多个客户端。

图30示出了获取全景多媒体信号,并使所获取的多媒体信号适配相应客户端的方法3000。通用流媒体服务器120获取全景多媒体信号,并且优选地从所选择的全景多媒体源110中获取相应的元数据(过程3010)。所获取的全景多媒体信号包括源视频信号,其可以是原始视频信号、校正视频信号、压缩视频信号或紧凑视频信号(如图3所示)。对源视频信号进行滤波以抵消由噪声和延迟抖动导致的衰减(过程3012),并且如果信号在源处已进行压缩,则进行解压缩(过程3014)。如果最初在源处未进行畸变校正,则到目前为止的处理信号被畸变校正(过程3018)。过程3010至3018产生纯视频信号420。

当接收到来自客户端的服务请求时(过程3020),纯视频信号420对客户端的设备的特性进行适配(过程3022)。适配信号被压缩(过程3026),并且被传输到客户端设备(过程3028)。过程3026考虑可能由从服务器到客户端设备的网络路径的条件决定的流量速率约束。

客户端可能偏好特定的观看区域,并且与通用流媒体服务器120进行通信以定义偏好观看区域。当接收到来自客户端的指定偏好观看区域的控制信号3030时(过程3032),对在过程3022中产生的适配信号进行内容过滤(过程3034)、压缩(过程3026)并且将其传输到客户端设备(过程3028)。纯视图信号420可以在流传输会话期间多次进行内容过滤。

图31示出了与图30的方法类似的获取全景多媒体信号,并使所获取的多媒体信号适配相应的客户端的方法3100。其中只有执行过程3010、3020和3022的顺序不同。

图32示出了在通用流媒体服务器120处保存的与特定全景多媒体源110对应的示例性流传输控制表3200。被传送到特定客户端设备180的编辑多媒体信号940(图9、图24)取决于客户端设备的特性和使用客户端设备的观看者的观看偏好。在众多客户端设备180同时连接通用流媒体服务器120(实时观看活动)的情况下,可能出现以下情况:

(i)许多客户端使用相同特性的客户端设备180但具有不同的观看偏好;

(ii)许多客户端具有类似的观看偏好但使用不同特性的客户端设备;和/或

(iii)两个或更多个客户端使用相同特性的客户端设备并且具有相同的观看偏好。

因此,为了减少全景多媒体服务器120的处理工作:

对于相同特性的所有客户端设备,使信号对客户端设备进行适配的模块2643可以只执行一次,然后,对于具有类似客户端设备和类似观看偏好的所有客户端,使信号对客户端观看偏好进行适配的模块2663只执行一次;或者

对于具有类似观看偏好的所有客户端,使信号对客户端观看偏好进行适配模块2663可以只执行一次,然后,对于具有类似观看偏好和类似的客户端设备的所有客户端,使信号对客户端设备进行适配的模块2643只执行一次。

如前所述,模块2643被设计为使信号适配客户端设备特性,而模块2663被设计为使信号适配客户端的观看偏好。

客户端的服务请求可以按照随机的顺序到达,并且跟踪先前的信号适配过程的简单方式是使用流传输控制表3200(图32)。流传输控制表3200初始化为空。在图32的示例中,存在被表示为d0、d1、...、d7的八种类型的客户端设备180,并且存在例如根据观看立体角而量化的被表示为v0、v1、...、v5的六个观看选项。第一客户端使用类型d1的客户端设备访问通用流媒体服务器120,并且请求观看选项v3。然后,创建被表示为“流0”的流并在流传输控制表3200中指示。创建被表示为“流1”的另一个流以用于使用类型d5的客户端设备180并且指定观看选项v2的另一个客户端,等等。在控制表3200中仅标识出6个流,但是应当理解,通过大量同时连接的客户端设备180,可存在许多流。当接收到来自客户端的新的请求时,流传输控制表3200被访问以确定需要创建新的流还是将已有的流导向客户端。与某一设备类型对应的所有流在本文中被称为构成“流类别”。

图33示出了视频信号对特定客户端设备180的初始适配的流传输控制过程3300。在服务器客户端接口模块2661处从客户端设备180接收服务请求(过程3310),并且识别客户端设备180的类型(过程3312)。过程3314确定设备类型是否已被考虑。

如果客户端设备类型尚未被考虑(过程3314),则创建新的流类别(过程3320),并且使纯视频信号420适配设备类型(过程3322)。记录新的流类别(过程3324),创建新的流(过程3326),并将其传输到特定客户端设备(过程3330)。

如果设备类型已被考虑(过程3314),则标识流类别(过程3316)。此时,客户端可能尚未指示观看偏好,则可以指派默认观看选项。如果与所标识的观看区域对应的流已被创建(过程3326),则该流被传输到特定客户端设备(过程3330)。否则,创建新的流(过程3326),并将其传输到特定客户端设备(过程3330)。

图34示出了由学习模块2725产生的示例性表3400,其指示每种类型的客户端设备180的观看选项的计数。考虑了八种客户端设备类型(被表示为d0、d1、...、d7)和六个观看选项(被表示为v0、v1、...、v5)。该表可以累积预定义时间窗口(可以是移动的时间窗口)上由设备类型和观看选项定义的每个流的选择的计数。

在图34的示例性表中,客户端使用被表示为d1的客户端设备的最受欢迎观看选项是观看选项v3(在时间窗口上被选择64次)。因此,在通用流媒体服务器120处从类型d1的客户端设备接收的新的服务请求可初始被分配观看选项v3。

因此,本发明提供了一种在服务器处实现的流传输信号的方法,所述服务器可以使用在共享云计算网络内分配的硬件处理单元和存储器设备来实现。所述方法包括向多个客户端组播信号,从特定客户端接收修改信号的内容的请求,产生修改的信号,以及向特定客户端发送修改的信号的过程。所述信号可以从全景多媒体信号中导出,所述全景多媒体信号包含由单个相机产生的或通过组合来自多个相机的视频信号而产生的全景视频信号。修改的信号可以是部分覆盖多媒体信号。

为了产生修改的信号,所述方法包括对信号的视频信号分量进行畸变校正以产生畸变校正的视频信号,以及使畸变校正后的视频信号适配客户端设备以产生设备特定视频信号的过程。设备特定信号可以适配客户端的观看偏好。观看偏好可以在从客户端接收的请求中声明,或者基于客户端设备类型特定的默认值。

所述方法包括获取与服务器进行通信以请求流传输服务的客户端设备的特性的过程。客户端设备的特性和观看偏好的记录可被添加到在服务器处维护的观看偏好数据库中。

本发明进一步提供一种在服务器处实现的流传输信号的方法,所述服务器可以使用云计算网络的资源完全或部分地实现。服务器可以获取全景多媒体信号,然后对全景多媒体信号的视频信号分量进行解压缩和畸变校正以产生纯视频信号的过程。对于多个客户端设备中的给定客户端设备:

(i)对纯视频信号进行内容过滤以产生与所选择的观看区域对应的相应内容过滤信号;以及

(ii)使绑定到客户端设备的内容过滤信号适配客户端设备的特性以及从服务器到目标客户端设备的网络路径的特性;

每个客户端设备包括处理器、存储器设备和显示屏幕。客户端设备可以向服务器发送观看偏好的指示。服务器产生将要向客户端设备发送的与观看偏好对应的相应内容过滤信号。

服务器可以进一步执行以下过程:

(a)保存将观看偏好与客户端的设备的特性相关联的数据;以及

(b)使用所保存的数据来确定用于多个客户端设备中的每个客户端设备的默认观看偏好。

服务器可以获取在源处已进行执行畸变校正和压缩的全景视频信号,然后解压缩该全景视频信号以产生纯视频信号。随后产生一组修改的信号,其中,每个修改的信号与一组预定义的部分覆盖模式的相应部分覆盖模式相对应。当接收来自多个客户端设备的连接请求(其中,每个连接请求指定偏好的部分覆盖模式)时,服务器根据相应的偏好部分覆盖模式,对每个客户端设备确定相应的修改信号。绑定到特定客户端设备的相应的修改信号可以进一步进行适配以与特定客户端设备的特性和到特定客户端设备的网络路径的特性相配。

图35示出了基于信号内容改变和性能度量的下游信号流量速率控制的过程3500。服务器的流量控制器执行两个流量控制选项中的一个。在第一选项(选项0)中,内容过滤视频信号的编码器执行(过程3542)当前允许流量速率。在第二选项(选项1)中,流量控制器与提供从服务器到客户端设备的路径的网络的控制器进行通信(过程3544),以预留更高路径容量或释放过剩的路径容量。

服务器120的网络接口(1010,图10)从客户端设备120接收上游控制数据,其可以包含偏好视频信号内容的定义以及性能测量。如本领域所公知的,可以通过在第一设备与第二设备之间交换控制数据来评估将第一设备与第二设备相连接的通信路径的业务性能。第一设备可以发送有关发送时间和数据分组索引的指示,而第二设备可以检测延迟抖动和/或数据分组丢失,并向第一设备传送相关的信息。此外,第二设备可以跟踪在第二设备的解码器处的处理延迟或分组缓冲器占用率;这样的信息指示在第二设备处的当前处理负载,其可能需要降低从第一设备到第二设备的流量速率。

网络接口接收上游控制数据并提取性能测量数据(过程3510)。流量控制器使用本领域中公知的方法来确定性能度量。性能测量可以包括数据丢失、延迟抖动以及在客户端设备处的缓冲器(保存从在客户端设备处从服务器120接收的载波信号中检测的数据)的占用率。性能测量与当前允许流量速率相对应。流量控制器基于性能测量来确定(过程3512)性能度量,并且将性能度量与基于默认值的或在上游控制数据中定义的相应接受级别相比较(过程3514)。如果性能可接受,则内容过滤视频信号根据当前允许流量速率进行编码(过程3550)。如果性能不可接受,则流量控制器指示编码器根据更低的流量速率对内容过滤视频信号进行编码(选项0,过程3540、3542),或与网络控制器进行通信以获取更高容量的路径(选项1,过程3540、3544)。如果业务测量指示在客户端设备处的处理负载不可接受,则不会选择第二选项。

网络接口还提取(过程3520)定义全内容纯视频信号的偏好部分内容的数据,并向内容过滤器传送到该信息。内容过滤器从纯视频信号中提取新的内容过滤信号(过程3522),以根据所接收的新的内容的定义来生成内容过滤视频信号。流量控制器确定(过程3524)与新的内容对应的暂定流量速率需求。如果暂定流量速率未超过当前允许流量速率(过程3526),则根据允许流量速率对新的内容过滤视频信号进行编码(过程3550)。否则,流量控制器指示编码器根据当前允许流量速率的约束对新的内容过滤视频信号进行编码(选项0,过程3540、3542),或与网络控制器进行通信以获取更高容量的路径(选项1,过程3540、3544)。

图36示出了包括流量控制器3610的通用流媒体服务器120的流量控制系统。流量控制器包括处理器3630和存储形成用于确定偏好流量速率的模块3635的指令的存储器设备。模块3635可以执行图3的过程3500。服务器网络接口3625接收内容定义参数3612和性能测量3616。内容过滤器1120接收纯视频信号420(图4),并根据从与客户端设备相关联的自动机2545(图25)接收的所请求的部分内容的内容定义参数3612来提取部分内容信号3650。模块3635使用从客户端设备接收的性能测量3616来确定偏好流量速率。编码器3640根据偏好流量速率对部分内容信号进行编码,并产生将要向客户端设备发送的压缩信号3660。编码器3640包括转码器和服务器压缩模块(未示出)。

在通用流媒体服务器120处,从源接收的信号可被解压缩以再现原始全内容信号;优选地,源发送使用无损压缩技术压缩的信号。全内容信号在内容过滤器中进行处理以根据特定内容定义参数产生部分内容信号。如将在图41中进一步详细描述的,部分内容信号的偏好流量速率基于接收机性能测量或网络性能测量来确定。因此,对部分内容信号进行编码以产生将要向相应的客户端设备发送的压缩部分内容信号。

图37示出了图24的流媒体系统中的信号的内容过滤和流量速率适配的组合过程3700。通用流媒体服务器120以内容定义参数和性能测量的形式从客户端设备及关联的自动机连续地接收来自客户端的控制数据(过程3710)。如果来自客户端的内容定义参数指示改变内容的请求,则将内容定义参数导向内容过滤器1120(过程3720和3760),并且在施加人为延迟3770之后激活过程3710,以确保所接收的客户端控制数据与改变的信号内容相对应。否则,如果内容定义参数指示保持当前内容,则通用流媒体服务器确定偏好流量速率(过程3730)。如果偏好流量速率与当前流量速率相同,或者与当前流量速率相差不大,则不采取任何动作并且重新进行过程3710(过程3740)。如果偏好流量速率与当前流量速率明显不同,则将新的流量速率传送到编码器3640(过程3740和3750),并且在人为延迟3770之后激活过程3710,以确保所接收的客户端的控制数据与新的流量速率相对应。人为延迟应当超过通用流媒体服务器与客户端的设备之间的往返延迟。

图38示出了通用流媒体服务器的内容过滤器1120。内容过滤器1120包括处理器3822、用于保存纯视频信号420的数据块的缓冲器3826以及存储软件指令的存储器设备3824,所述软件指令使处理器从纯视频信号的缓冲数据块中提取部分内容的更新内容信号3860。部分内容信号的块被存储在缓冲器3828中。处理器3822执行软件指令,所述软件指令使缓冲器3828中的数据传输到可包括转码模块和/或压缩模块的后续处理级。

因此,本发明提供了一种包括网络接口1010、内容过滤器1120、流量控制器3610和编码器3640的通用流媒体服务器120。

网络接口被设计为接收来自全景信号源110的源视频信号900、来自客户端设备180的内容定义参数3612和性能测量3616。包括解压缩模块和畸变校正模块的源信号处理模块1024从源视频信号900中生成纯视频信号420。纯视频信号420是与在源处捕获的相应的场景对应的全覆盖信号。

内容过滤器1120被设计为根据内容定义参数3612,从纯视频信号420中提取更新内容信号3860。内容过滤器的处理器被设计为确定更新内容信号的大小与当前内容信号的大小的比率。

流量控制器3610包括存储流量控制指令3635的存储器设备,所述流量控制指令3635使硬件处理器3630基于性能测量和更新内容信号的大小与当前内容信号的大小的比率,确定部分覆盖信号的当前允许流量速率。

编码器3640包括转码器模块和压缩模块,并且被设计为根据当前允许流量速率,对部分覆盖信号进行编码。

流量控制器3610被设计为与网络控制器(未示出)通信以获取通用流媒体服务器120与客户端设备之间的与必要流量速率兼容的路径。

流控制指令3635使硬件处理器保存当前允许流量速率与先前允许流量速率之间的差的指示。如果所述差超过预定阈值,则所述指令使处理器延迟在预定延迟时段之后确定后续允许流量速率的处理,以确保所接收的性能测量与当前允许流量速率相对应。

内容过滤器1120包括相应的处理器3822和相应的存储器设备,相应的存储器设备存储使相应的处理器从纯视频信号420中提取更新内容信号的内容选择指令3824。第一缓冲器3826保存全覆盖视频信号的数据块。第二缓冲器保存更新内容信号3860的数据块。

内容选择指令3824进一步使相应的处理器基于全内容信号的数据块的大小和对应的在确定当前允许流量速率中使用的更新信号的数据块的大小,确定更新内容信号的大小与当前内容信号的大小的比率。

通用流媒体服务器还包括帧采样模块1320,其包括存储帧采样指令的存储器设备,所述帧采样指令使相应的硬件处理器在远距离帧间隔期间对纯视频信号420进行采样以导出帧采样视频信号1322(图13和图15)。所述帧间隔被选择以使得帧采样视频信号具有不超过标称流量速率的恒定流量速率,并且其中网络接口进一步被设计为向客户端发送帧采样视频信号。

内容过滤器1120可被设计为从全内容视频信号中导出一组与不同的观看区域对应的预选内容过滤信号。包括存储信号压缩指令的存储器设备的压缩模块可被设计为压缩预选内容过滤信号以生成占据连续的时间窗口的连续的压缩内容过滤信号。网络接口进一步被设计为向客户端设备发送所述连续的压缩内容过滤信号;接收所述一组预选内容过滤信号的偏好内容过滤信号的指示;以及向内容过滤器传送所述指示。

图39示出了在通用流媒体服务器120处执行的启动流传输会话的初始过程3900。通用流媒体服务器接收来自信号源的畸变校正压缩全内容信号(过程3910)并解压缩(过程3915)该全内容信号以产生与在源处捕获的相应场景对应的纯视频信号。服务器接收来自客户端设备的连接请求(过程3920);该请求可以包括信号的部分内容的参数。如果未提供内容定义参数,则使用默认内容选择(过程3925、3930)。通用流媒体服务器的内容过滤器基于默认内容选择或特定部分内容选择来提取(过程3940)部分内容信号。初始内容选择可以被设置为全内容。可以在连接请求中指定用于所提取的信号的流量速率,在这种情况下,通用流媒体服务器的编码器可以根据特定流量速率的约束对信号进行编码(过程3950和3960)。否则,可以向编码器提供默认流量速率(过程3955)。压缩编码部分内容(或全内容)信号被传输到目标客户端设备(过程3970)。

图40示出了自适应修改所传输的编码信号的视频信号内容和流量速率的方法4000。通用流媒体服务器从与客户端设备相关联的自动机(人)接收(过程4010)新的内容偏好。如果新的内容与当前内容相同(过程4020和4050),则通用流媒体服务器的内容过滤器保持其先前的设置,并且基于所接收的性能数据确定偏好编码速率(过程4050,确定偏好流量速率的模块3635,图36)。该信号根据偏好编码速率进行编码(过程4060)并被传输到目标客户端设备(过程4070)。如果过程4020确定新的内容与当前内容不同,则通用流媒体服务器的内容过滤器从纯视频信号中提取部分内容信号(过程4020和4030),并根据标称流量速率对信号进行编码(过程4040)。压缩编码部分内容信号被传输到目标客户端设备(过程4070)。

图41示出了基于与接收机条件和网络路径条件相关的性能测量来确定信号的偏好编码速率的标准4100。服务多个客户端设备的通用流媒体服务器从客户端设备接收与客户端的接收机条件相关的性能数据以及与从通用流媒体服务器到客户端的接收机的网络路径相关的性能数据。与通用流媒体服务器耦合的模块确定与接收机条件相关的主要度量以及与网络路径条件相关的次要度量。为每个度量指定一个接受区间,其由下限和上限限定。度量被如此定义以使得高于相应的上限的值指示性能不可接受,而低于相应的下限的值指示性能比预计的更好。度量可被视为处于以下三个状态之一:如果值低于相应的接受区间的下限,则为状态“-1”;如果值高于接受区间的上限,则为状态“1”,否则,即,如果值在包括下限和上限的接受区间内,则为状态“0”。在本文中使用的术语“度量状态”和“度量索引”是同义的。

接收机的条件和网络路径条件不是相互独立的。由于延迟抖动和/或数据丢失,网络路径可能影响到接收机的数据流。偏好编码速率(因此,流量速率)可以根据下面的规则(i)至(iv)来确定。

(i)如果任一主要度量偏离指示不可接受的接收机性能的相应预定接受区间,即,如果主要度量高于预定接受区间,则基于主要度量来确定新的判定降低的允许流量速率(过程4120),而不考虑次要度量的值。

(ii)如果没有任何主要度量高于预定接受区间,并且任一次要度量高于相应的接受区间,则基于次要度量来确定新的判定降低的允许编码速率(过程4130)。

(iii)如果每个主要度量低于相应的接受区间并且每个次要度量低于相应的接受区间,则可以基于主要度量和次要度量来判定地确定新的更高的允许流量速率(过程4140)。

(iv)如果上述(i)、(ii)或(iii)中的条件都不适用,则当前流量(编码速率)保持不变(4110)。

图42示出了基于图41的标准来确定信号的偏好编码速率的方法。该方法详细描述了图40的过程4050。该方法在同一视频信号内容选择(观看区域选择)内应用,即,当通用流媒体服务器确定当前视频信号内容在接收到用于视频信号内容改变的请求之前保持不变时。

通用流媒体服务器的控制器基于与客户端的接收机相关的性能数据来确定主要度量(过程4210)。如果任一主要度量高于相应的接受区间,则基于主要度量来确定判定降低的允许流量速率(过程4220和4225)并将其传送(过程4280)到相应的编码器。否则,如果没有任何主要度量高于其相应的接受区间,则通用流媒体服务器的控制器基于与从通用流媒体服务器到客户端的设备的网络路径的条件相关的性能数据来确定次要度量(过程4220和4230)。

如果任一次要度量高于其预定接受区间,则基于次要度量来确定判定降低的允许流量速率(过程4240和4245)并将其传送(过程4280)到相应的编码器。否则,如果每个主要度量低于其预定接受区间并且每个次要度量低于其预定接受区间,则基于主要度量和次要度量确定新的编码速率(过程4250和4260)并将其传送到相应的编码器(过程4280)。如果任一主要度量或任一次要度量在其相应的接受区间内,则维持当前编码速率(过程4255)。

因此,本发明提供了一种在流传输系统中根据流量速率调节流传输信号的方法。所述方法包括在包括至少一个硬件处理器的服务器120处,获取从中导出纯视频信号420的源视频信号900;向客户端设备180发送纯视频信号的导出信号;以及在服务器120的控制器3610处,接收来自客户端设备的定义全覆盖视频信号的偏好部分覆盖的内容选择参数3612。服务器的内容过滤器1120根据内容选择参数3612,从纯视频信号420中提取部分覆盖视频信号3650。

服务器向客户端设备180发送部分覆盖视频信号。在接收与部分覆盖视频信号相关的性能测量3616时,控制器3610基于性能测量,确定部分覆盖视频信号的更新允许流量速率。编码器3640根据更新允许流量速率,对部分覆盖视频信号进行编码。编码器3640对部分覆盖视频信号进行转码以生成与客户端设备的特性兼容的转码信号;以及压缩转码信号。

控制器3610可以指示编码器3640根据当前允许流量速率的约束,对部分覆盖视频信号进行编码。可替代地,控制器可以与网络控制器(未示出)进行通信以获取服务器120与客户端设备180之间的与更新允许流量速率兼容的下游网络路径。

纯视频信号的导出信号可被生成为具有不超过预定标称流量速率的恒定流量速率的帧采样视频信号1322(图13、图15)。可替代地,导出信号可被生成为从纯视频信号420中导出的在预定标称流量速率内的压缩视频信号1342(图13)。纯视频信号的导出信号还可被生成为占据连续的时间窗口并且从纯视频信号中导出的连续的压缩内容过滤视频信号1364(图13)。

性能测量与在客户端的接收机处的条件和从服务器到客户端设备的下游网络路径的条件相关。控制器3610基于与接收机的条件相关的性能测量,确定主要度量。当至少一个主要度量高于相应的接受区间时,控制器3610基于主要度量,判定地降低当前允许流量速率(图41)。否则,当没有任何主要度量高于相应的接受区间时,控制器3610基于与下游网络路径相关的性能测量,确定次要度量。当至少一个次要度量高于相应的接受区间时,控制器基于次要度量的值,判定地降低信号的当前流量速率(图41)。

当每个主要度量低于相应的接受区间并且每个次要度量低于相应的接受区间时,控制器基于主要度量和次要度量,判定地增加当前允许流量速率(图41)。

图43示出了消除服务众多客户端的通用流媒体服务器120中的内容选择的冗余处理的方法。在通用流媒体服务器120处接收全覆盖信号(过程4310)时,通用流媒体服务器的控制器创建(过程4320)用于保存所产生的部分覆盖信号(内容过滤信号)的参数的寄存器。最初,寄存器为空。在服务器处对压缩全覆盖信号进行解压缩以及畸变校正(如果在源处未进行畸变校正)。控制器从特定客户端设备接收(过程4330)定义偏好观看区域的参数。控制器检查(过程4340)寄存器以确定先前生成的部分覆盖信号是否存在。

如果寄存器内容指示已经生成匹配的部分覆盖信号,则控制器提供对匹配的部分覆盖信号的访问(过程4350和4360)。部分覆盖信号被导向编码器以进一步处理(过程4390)。部分覆盖信号可被导向在不同允许流量速率下操作的多个编码器,以产生具有不同流量的编码信号,其中所有编码信号与相同的观看区域相对应。编码器包括转码模块和服务器压缩模块。可替代地,可以将部分覆盖信号传送到一个编码器,以按顺序地产生具有不同流量速率的编码信号,其中所有编码信号与相同的观看区域相对应。

如果不存在匹配的部分覆盖信号,则控制器将全覆盖信号导向内容过滤器1120(图36),以根据定义偏好观看区域的新的内容定义参数来提取(过程4370)新的部分覆盖信号。将新的内容定义参数添加(过程4380)到寄存器中以供将来使用,并且新的部分覆盖信号被导向编码器以进一步处理。

因此,本发明提供一种流传输信号的方法,其包括在服务器处接收全覆盖信号,以及在包括硬件处理器的控制器处:

形成用于保存从全覆盖信号中导出的部分覆盖信号的标识符的寄存器;

从与服务器耦合的客户端设备接收定义观看区域的新的内容定义参数;以及

检查寄存器以确定与新的内容定义参数对应的匹配的部分覆盖信号的存在。

如果存在匹配的部分覆盖信号,则匹配的部分覆盖信号被传输到客户端设备。否则,则将全覆盖信号导向内容过滤器以根据新的内容定义参数提取新的部分覆盖信号。对新的部分覆盖视频信号进行编码以生成编码视频信号,并且确定编码视频信号的比特率。新的内容定义参数被添加到寄存器中。

编码的过程包括对新的部分覆盖视频信号进行转码以生成转码视频信号,然后根据预定义的标称流量速率的约束,压缩转码视频信号。

服务器从客户端设备接收与在客户端设备的接收机处的条件和从服务器到接收机的网络路径的条件相关的性能测量。控制器基于性能测量和允许流量速率,确定性能度量。允许流量速率根据性能度量与对应的预定阈值的偏差和编码视频信号的比特率来确定。

编码的过程可以进一步将新的部分覆盖信号导向在不同允许流量速率下操作的多个编码器,以产生具有与观看区域对应的不同流量速率的编码信号。

无缝内容更改

通用流媒体服务器120可以访问多个全景多媒体源110(图2),并且可以同时获取将要被处理并被传送到各种客户端设备180的多媒体信号。每个多媒体信号可以包括源视频信号900(图9、17、23和28),其可以是原始信号312、校正信号322、压缩信号342或紧凑信号343(图3)。源视频信号是全覆盖视频信号,其可以根据不同的内容定义参数组进行内容过滤,以生成与不同的观看区域对应的部分覆盖视频信号。源视频信号900可以在服务器处进行解压缩和/或畸变校正以生成与在源处捕获的相应场景对应的纯视频信号420。如图17、19、28和29中所示,服务器120可以使用多个内容过滤器1120。

服务器120使用包括内容过滤器1120、转码模块1140和压缩模块1160(图11)的信号编辑模块460来提供特定于每个活动的客户端设备的内容过滤视频信号。服务器可以从特定客户端设备180接收上游控制信号,其包含与新的观看区域对应的新的内容定义参数。为了提供从一个观看区域到另一个观看区域的无缝转换,服务器可以提供多个备用信号编辑模块460,从而当特定信号编辑模块460-a参与处理当前视频信号内容时,空闲的信号编辑模块460-b可以处理在新的内容定义参数中指定的视频信号内容,然后替换特定的信号编辑模块460-a,信号编辑模块460-a然后变成空闲的信号编辑模块。

图44示出了视频信号的瞬时并发内容过滤,以使能从一个观看区域到另一个观看区域的无缝过渡。纯视频信号420被传送到分别被标识为460(0)至460(7)的八个信号编辑模块460。从纯视频信号中生成六个不同的内容过滤信号,以分发给至少六个客户端设备180。具有索引0、1、2、3、5和7的信号编辑模块460同时生成相应的内容过滤视频信号。在上述信号编辑模块处生成的数据块分别被导向具有索引2、0、4、1、3和5的缓冲器4420。多路器4450组合从缓冲器读取的数据块,并且通过网络将得到的多个内容过滤的流4460分发给相应的客户端设备。

在图44的示例中,接收在信号编辑模块460(2)处处理的内容过滤视频信号的客户端设备180提供新的内容定义参数。包括硬件处理器的控制器(未示出)指示信号编辑模块460(6)(当前空闲)根据新的内容定义参数生成新的内容过滤视频信号。在过渡时段之后,信号编辑模块460(6)将新的内容过滤视频信号的数据块导向缓冲器4420(4),而信号编辑模块460(2)断开连接并成为备用的信号编辑模块。

图45示出了通用流媒体服务器120与网络的耦合。通用流媒体服务器120可以全部在云计算网络内实现,并且与客户端设备180的通信也可以在云计算网络内发生。可替代地,所生成的客户端绑定流940(图9)可以通过另一个网络的路由器/交换机4540被路由到客户端设备。路由器-交换机4540可以通过输入端口4541和输出端口4542连接许多其它服务器或其它路由器-交换机。

因此,服务器包括网络访问端口以通过共享网络与多个视频源和多个客户端设备进行通信。服务器可以部分地或完全地安装在其中根据需要动态分配物理处理器及相关联的存储器设备的共享云计算网络内。

总之,所公开的通用流媒体服务器被设计为与不同类型的多个全景多媒体源以及与具有不同能力的客户端设备进行交互。服务器可以与全景多媒体源交换控制信号,以使得能够获取多媒体信号以及多媒体信号的描述符和指示在源处执行的信号处理的数据。服务器可以与客户端设备交换控制信号,以协调全覆盖(可达到覆盖)全景视频信号的信号样本的传送,并且从客户端设备处的观看者获取偏好观看区域的标识符。

服务器被设计为实现若干捕获客户端的观看偏好的方法。根据一种方法,与可达到空间覆盖范围对应的信号样本被发送到客户端设备,客户端设备处的观看者可以向服务器发送偏好观看区域的标识符。然后,服务器发送对应的内容过滤视频信号。服务器将软件模块分发给对向客户端设备以使能此处理。根据另一个方法,服务器可以向客户端设备组播与不同的观看区域对应的多个内容过滤视频信号。内容滤波视频信号源自全覆盖(可达到覆盖)全景视频信号。在客户端设备处的观看者可以分别发信号通知他们各自的选择。服务器可以使用流传输控制表(图32)来消除冗余处理。

获取全景视频信号并对其进行转码以产生与客户端设备兼容的转码信号。转码信号的信号样本然后被传输到客户端设备。在从客户端设备接收偏好观看区域的描述符时,编辑转码信号的内容以产生与偏好观看区域对应的内容过滤信号。向客户端设备发送内容过滤信号或压缩形式的内容过滤信号而不是信号样本。

获取全景视频信号包括建立从服务器到全景多媒体源的连接,请求和接收包括全景视频信号的多媒体信号以及在源处应用于全景视频信号的任何信号处理的指示的过程。所获取的全景视频信号可以根据在源处执行的过程的指示来在服务器处进行解压缩和/或畸变校正。信号样本可以是包括转码信号的远距离帧的帧采样信号。可替代地,信号样本可以是压缩形式的转码信号。

已经在图19、28、29和43中描述并示出了服务众多客户端的通用流传输系统中的有效视频信号内容选择的布置。图43的流传输信号的方法包括在服务器120处接收(过程4310)全覆盖信号,并且在包括硬件处理器的控制器处:

形成(过程4320)用于保存从全覆盖信号中导出的部分覆盖信号的标识符的寄存器;

从与服务器120耦合的客户端设备180接收(过程4330)定义观看区域的新的内容定义参数;以及

检查(过程4340)寄存器以确定与新的内容定义参数对应的匹配的部分覆盖信号的存在。

如果存在匹配的部分覆盖信号(过程4350和4360),则控制器在向客户端设备发送匹配的部分覆盖信号之前,将其导向(过程4390)编码器。如果不存在匹配的部分覆盖信号,则控制器将全覆盖信号导向(过程4350)内容过滤器以根据新的内容定义参数提取(过程4370)新的部分覆盖信号。

新的部分覆盖视频信号需要被转码以生成与客户端设备的特性兼容的转码视频信号。转码视频信号可以根据预定标称流量速率进一步被压缩。控制器确定编码视频信号的比特率,并将新的内容定义参数插入(过程4380)寄存器中。

所述方法还包括从客户端设备接收与在客户端设备的接收机处的条件和从服务器到接收机的网络路径的条件相关的性能测量。控制器基于性能测量,确定性能度量。控制器根据从对应的预定阈值(图41)中导出的性能度量以及转码视频信号的比特率来确定允许流量速率。

新的部分覆盖信号可被导向在不同允许流量速率下操作的多个编码器,以产生与相同的观看区域对应的但具有不同流量速率和/或不同格式的将要发送到不同客户端设备的编码信号。

使相应的硬件处理器执行上述过程的处理器可执行指令可以存储在诸如软盘、硬盘、光盘、闪存rom、非易失性rom和ram的处理器可读介质中。可以使用各种处理器,诸如微处理器、数字信号处理器和门阵列。

虽然已经详细描述了本发明的具体实施例,但是应当理解,所描述的实施例旨在是说明性的而非限制性的。在不背离本发明的广泛方面范围的情况下,可以在所附权利要求的范围内对在附图中示出和说明书中描述的实施例进行各种改变和修改。

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