流送媒体的统计复用的制作方法

文档序号:7992064阅读:152来源:国知局
流送媒体的统计复用的制作方法
【专利摘要】一种用于通过网络将流送媒体内容递送到客户端设备的方法包括针对多个服务中的每一个接收以不同位速率编码的多个媒体流。用于每个服务的多个媒体流包含要由客户端设备中的一个或多个接收的公共内容。所述媒体流中的每一个包括具有规定持续时间的多个段。针对每个服务为包含在用于该服务的媒体流内的每个段获得需要参数。每个需要参数反映通过网络以给定质量水平来传送用于该服务的媒体流的相应段所需的位速率。用于每个服务的媒体流中的一个通过至少部分地基于用于媒体流的每个对应段的需要参数将带宽分配给媒体流而被选择。所选择的媒体流被复用以从而形成复用的流。复用的流通过所述网络被自适应地流送到客户端设备。
【专利说明】流送媒体的统计复用
【背景技术】
[0001]随着诸如在MPEG标准(例如,MPEG-2、MPEG-4)中所使用的数字数据传输技术和数字视频压缩中的最近进展,可以在被单个模拟电视(TV)信道以其它方式占据的相同带宽中递送数个数字压缩的视频节目。这些能力提供了用于为服务提供商(例如,诸如CNN、ABC的广播电台)、网络运营商(例如,有线和卫星网络所有者)以及终端用户安排节目的机会。
[0002]在多节目传输环境中,数个节目(例如,信道)通过单个通信信道被编码、复用并且传送。因为这些节目共享有限的信道容量,所以节目的聚合位速率必须不大于通信信道速率。为了优化节目传输过程的质量和效率,能够按需变化节目或视频流的位速率以管理网络带宽的利用。
[0003]可以被用来管理带宽的一个视频传输技术是统计复用,所述统计复用将每个都包括压缩的视频位流的数个节目组合成单个复用的位流,例如,以用于多个节目在单个频率上的传输。以这种方式服务提供商可以基于使用相同的网络基础设施将更多节目提供给订户,例如在将先前已提供单个节目的相同的网络基础设施中提供四个节目。对于给定水平的视频质量,给定压缩流的位速率一般地基于对应视频信号的复杂性随着时间而变化。统计复用器试图估计视频信号的各种视频帧序列的复杂性,并且在对应的压缩视频位流之中分配信道位。在一些情况下,位被分配以便跨越所有复用的流来提供期望(例如,近似恒定)水平的视频质量。例如,具有相对大量的空间活动或运动的给定视频帧序列可能比其它序列更复杂并且因此比其它序列分配了更多位。在订户侧,诸如机顶盒的网络元件通过利用调谐到复用频率的调谐器和诸如通过使用它关联的节目ID (PID)来解码所期望的节目的解码器从复用的流当中拉出所期望的节目。
[0004]统计复用的一个问题是它需要在网络内提供专门设备,这仅对于以节目分配的同时方式服务大量的客户端的广播节目来说是成本效益合算的。也就是说,给定大量的客户,甚至对于昂贵的编码器和速率整形器来说,每客户成本可以是非常小的。然而,对于诸如牵涉单个客户的视频点播(VOD)和网络数字视频记录(NDVR)的应用来说,与统计复用相关联的带宽管理成本可能是不可接受地高的。
[0005]可以被用来管理带宽的另一技术牵涉自适应地将数据作为流送(streaming)媒体来流送。流送媒体在流送媒体可以在它一被接收就被播出而不是等待整个文件通过网络被转移的意义上不同于普通媒体。与流送媒体相关联的一个优点是它允许用户立即或在相当短的延迟情况下在实时基础上开始观看内容。相比之下,简单地将媒体文件下载到客户(这是用来管理带宽的非常有效的技术,因为它在位速率中允许非常宽的摆动)不允许用户在实时基础上开始观看内容。还必须在重放之前存储经下载的媒体,从而在订户设备上需要显著的且常常昂贵的存储能力。这个延迟和关联的附加费用对于客户而言可能是不可接受的,从而使流送媒体变得更有吸引力。
[0006]在自适应流送中,媒体数据流的编码位速率取决于特定网络条件而被动态地调整。为了实现这个,流送服务器连续地估计网络的当前状态,并且取决于与该特定流送通信频率数据链路相关联的可用带宽向上或向下调整所传送的位速率。[0007]媒体流送架构的一个问题是在流送服务器与客户端之间需要的紧密耦合。流送媒体需要的客户端与服务器之间的通信产生附加的服务器开销,因为服务器跟踪每个客户端的当前状态。重要地,这随着正被流送的媒体数据流的数目增加而限制服务器的可扩展性。此外,客户端不能够迅速地对改变条件起反应,所述改变条件诸如增加的分组丢失、降低的带宽、对不同内容或者修改现有内容(例如,加速或倒带)的用户请求等等,而不用首先与服务器进行通信并且等待服务器适应和响应。常常,当客户端报告了较低的可用带宽时,服务器不会足够迅速地适应,从而导致当超过可用带宽的分组未被接收到并且新的较低位速率分组未被及时地从服务器发送时使媒体中的中断被客户端上的用户注意到。为了避免这些问题,客户端常常缓冲数据,但缓冲引入延迟,这对于实况事件来说可能是不可接受的。
[0008]因此,统计复用和自适应流送均不是管理网络中带宽的完全令人满意的方法。

【发明内容】

[0009]根据本发明的一个方面,提供了用于通过网络将流送媒体内容递送到客户端设备的方法。所述方法包括针对多个服务中的每一个接收以不同位速率编码的多个媒体流。用于每个服务的多个媒体流包含要由客户端设备中的一个或多个接收的公共内容。媒体流中的每一个都包括具有规定持续时间的多个段。针对每个服务为包含在用于该服务的媒体流内的每个段获得需要参数。每个需要参数反映通过网络以给定质量水平来传送用于该服务的媒体流的相应段所需的位速率。用于每个服务的媒体流中的一个通过至少部分地基于用于媒体流的每个对应段的需要参数将带宽分配给媒体流而被选择。所选择的媒体流被复用以从而形成复用的流。复用的流通过网络被自适应地流送到客户端设备。
[0010]根据本发明的另一方面,提供了统计复用流送服务器。统计复用流送服务器包括统计复用器以用于针对多个服务中的每一个接收以不同位速率编码的多个媒体流。用于每个服务的多个媒体流包含要由一个或多个客户端设备接收的公共内容。媒体流中的每一个具有与其相关联的反映以给定质量水平通过网络来传送相应媒体流所需的位速率的一个或多个需要参数。统计复用器包括:(i)速率控制处理器,所述速率控制处理器用于通过基于与其相关联的需要参数将带宽分配给媒体流来选择用于每个服务的多个媒体流中的一个;以及(ii)复用器,所述复用器用于复用所选择的媒体流中的每一个以形成复用的媒体流。统计复用流送服务器同样包括自适应流送服务器以用于从统计复用器接收复用的媒体流并且通过网络自适应地将复用的媒体流流送到客户端设备。
【专利附图】

【附图说明】
[0011]图1示出了能够被用来将视频以及其它内容和服务递送到与各种不同的客户端设备相关联的用户的架构的一个示例。
[0012]图2示出了图1的统计复用流送服务器的逻辑框图。
[0013]图3示出了可以被作为图2中的统计复用器采用的统计复用器的一个示例。
[0014]图4示出了可以被作为图4中所示出的流送服务器采用的流送服务器的一个示例。
[0015]图5是图4中所示出的流服务器模块103的一个示例性实施方式的框图。
[0016]图6是示出了用于通过网络将流送媒体内容递送到客户端设备的方法的一个示例的流程图。
【具体实施方式】
[0017]统计复用和自适应流送两者都能够被一起用来以能够克服前述问题的方式来管理带宽。如在下面所详述的,对于待递送到客户端设备的每个服务(例如,节目、信道),多位速率视频编码器创建具有相同内容但是被以不同位速率编码的两个或更多个媒体流。视频编码器将需要参数附加到每个媒体流或者以其它方式使需要参数与每个媒体流相关联。需要参数给出了传送与其相关联的媒体流的短段(例如,1-5秒)所需要的位速率的指示。所需要的位速率可以例如通过期望的或以其它方式指定的视频质量水平来确定。统计复用器针对所有服务在逐段基础上聚合需要参数,并且基于它相对于用于所有服务的聚合需要参数的需要参数再次在逐段基础上将带宽分配给每个服务。
[0018]图1示出了能够被用为将视频以及其它内容和服务递送到与各种不同的客户设备相关联的用户的架构200的一个示例,所述各种不同的客户端设备可以包括但不限于PC、PDA、便携式计算机、媒体中心、便携式媒体播放器、移动电话以及机顶盒。在这个示例性示例中,示出了三个客户端设备,移动电话220、机顶终端230以及个人计算机(PC) 240。
[0019]头端210经由IP网络270与客户端设备220、230以及240中的每一个通信。例如,移动电话220通过IP网络270和诸如GSM或UMTS网络的无线网络与头端210进行通信。机顶终端230通过IP网络270和混合光纤/同轴电缆(HFC)网络260与头端210进行通信,并且PC240通过IP网络270典型地经由因特网服务提供商(未示出)与头端210进行通信。当然,图1中所描绘的架构被呈现仅用于示例性目的。更一般地,各种各样的不同客户设备可以通过其它类型的网络与头端进行通信,所述其它类型的网络包括例如全光纤、全同轴、xDSL (例如,ADSL、ADLS2、ADSL2+、VDSL以及VDSL2)以及卫星系统。
[0020]头端210是从其网络运营商递送编排内容并且将其它服务提供给客户端设备的设施。头端210包括多位速率视频编码器218和统计复用流送服务器215。多位速率视频编码器218以不同位速率将编排内容供应给统计复用流送服务器215。也就是说,对于任何给定服务(例如,节目),多位速率视频编码器218为要传送的需要不同量的带宽的该服务提供多个媒体流。例如,多位速率视频编码器218可以以例如2、4、8以及15MbPs提供给定服务的多个媒体流,从而提供两个标准清晰度媒体流和两个高清晰度媒体流。
[0021]应该注意的是,在一些情况下可以在网络本身代替头端中的一个中执行统计复用流送服务器215中的一些全部的功能性。例如,统计复用流送服务器215的功能性可以被转移到HFC网络260中的一个或多个集线器。
[0022]统计复用流送服务器215从多位速率视频编码器218接收用于每个服务的多个媒体流。统计复用流送服务器215为每个服务选择一个媒体流,其然后被复用并且通过适当的网络流送到客户端设备。术语“流送”被用来指示表示媒体内容的数据通过网络被提供给客户端设备并且内容的重放能够在内容被整体地递送之前开始(例如,在按需基础上提供数据而不是在重放之前整体地预递送数据)。
[0023]如对于本领域的普通技术人员而言众所周知的那样,媒体流的传输优选地使用视频编码标准,诸如MPEG-2,和诸如MPEG-2传输流、MPEG-4或实时协议(RTP)的传输标准,以及用于音频和辅助数据的编译标准。诸如机顶终端的较高端客户端设备典型地接收封装在MPEG-2传输流中的内容,而诸如PDA的较低端客户端设备接收使用诸如实时协议(RTP)的传输协议所封装的内容。
[0024]因为诸如机顶终端的许多较高端设备能够接收并且解码MPEG-2传输流,所以统计复用流送服务器215将典型地以这个格式来递送经编码的内容。另一方面,如果例如RTP被用作为递送机制,则在图1中所示出的示例中移动电话220根据RTP接收内容。因此,在流送服务器215的输出端与无线网络250之间采用了 RTP网关275。RTP网关275将由统计复用流送服务器215所提供的MPEG-2传输分组变换成适当的RTP传输分组。因为PC240和机顶终端230能够接收MPEG-2传输流,所以这种网关在统计复用流送服务器215与这些设备之间不是必要的。在这个示例中RTP网关275可以被包括在头端210中,但是替换地它可以位于在网络中的其它地方。
[0025]当然,媒体流可以根据各种媒体格式通过多位速率视频编码器218被编码并且不限于MPEG-2。例如,可以根据其它媒体格式来编码媒体流,所述其它媒体格式包括但不限于超文本标记语言(HTML)、虚拟超文本标记语言(VHTML)、X标记语言(XML)、H.261、H.263、
H.264或VCl格式以及诸如MPEG-2和MPEG-4的MPEG标准中的任一个。符合MPEG-2标准的视频流将在本文中被仅用于示例性的目的,并且不作为对本发明的限制。
[0026]由多位速率视频编码器218所递送的每个媒体流可以被逻辑上划分成具有预定持续时间的一系列段。每个媒体流都包括用于每个段的需要参数,其可以被以元数据或其它语法格式承载。需要参数是给出有关涉及压缩与其相关联的段的困难的信息的一个量度,其进而给出以给定质量水平来传送媒体流的该指定的段所需要的位速率的指示。因为需要参数固有地取决于给定段的复杂性,所以每个段仅具有每服务一个需要参数。也就是说,用于给定服务以不同位速率编码的各种媒体流的对应段将全部具有相同的需要参数。
[0027]可以以各种不同方式中的任一个来计算用于媒体流的每个段的需要参数。例如,在MPEG-2数字流的情况下,视频帧的复杂性由用来编码该帧的量化水平(QL)和用于编译帧的位的数目(R)的乘积来测量。这意味着帧的复杂性不是已知的直到它已被编码了为止。如果视频编码器218从内容提供商接收已经使用诸如MPEG-2的适合的编码技术压缩的内容,则需要参数可以指定每个媒体流间隔的实际复杂性。在这种情况下视频编码器218可以用作以新的速率将预压缩的视频位流转换成另一位流的转码器。为了简单,编码器和转码器两者都在本文中被称为编码器。
[0028]另一方面,如果来自内容提供商的内容首先被视频编码器218编码,则由视频编码器218所提供的需要参数可以不指定段的实际复杂性,因为可以在段已实际地被编码之前计算需要参数。在这种情况下由视频编码器218所提供的需要参数可以通过使用例如关于媒体流的一些预编码统计来估计复杂性,所述预编码统计诸如帧内活动或运动估计(ME)分数,其能够被用作复杂性的传统量度的替代。图示了需要参数如何能够被计算的示例在美国专利N0.6,731,685中被示出。
[0029]如先前提到的,需要参数可以被作为元数据包括在由视频编码器218所提供的经编码的媒体流中。以其中元数据被媒体流承载的方式将部分地取决于被使用的编码方案。例如,在MPEG-2的情况下,MPEG协议支持能够被用来将指令或其它信息提供给诸如统计复用器的下游设备的元数据的输送。更特别地,MPEG-2支持结合私有元数据,所述私有元数据在一些实施方式中可以被方便地用来承载需要参数元数据。这样的私有元数据可以在传输流层、节目基本流(PES)层或视频序列层(即,诸如1、B以及P图片的图像被定义所处于的层)被结合到MPEG-2编码的视频流中作为私有元数据。私有元数据可以以可能部分地取决于信息被嵌入所处于的层的任何适当的数据结构来实施。例如,在一个特定实施方式中,需要参数可以位于传输分组的适应字段中,并且描述元数据的结构的描述符可以位于节目映射表(PMT)中。
[0030]替换地,在媒体流被传送之前或在媒体流被传送之后,需要参数可以被结合到作为单独的文件被视频编码器218传送到统计复用流送服务器215的清单中。例如,采用这样的清单的一个流送技术在HTTP线路流(HLS)协议中被指定。
[0031]图2示出了图1的统计复用流送服务器的逻辑框图。统计复用流送服务器100包括统计复用器520和自适应流送服务器510。
[0032]在图2中所示出的示例中,统计复用器520从多位速率视频编码器218接收三个服务515、518以及522。当然,编码器218更一般地可以将任何数目的服务发送到统计复用器520。如上面所提到的,多位速率视频编码器218为每个节目提供多个媒体流,每个都被以不同位速率编码。在这个示例中编码器218提供了用于服务515的媒体流515ρ5152、5153、用于服务518的媒体流518ρ5182、5183以及用于服务522的媒体流522ρ5222、5223。尽管三个媒体流在这个示例中被提供用于每个服务,但是更一般地可以提供可能从服务到服务不同的任何适合数目的媒体流。
[0033]统计复用器520基于网络上的最大可用带宽和用于每个服务的对应段的需要参数来选择用于每个服务515、518以及522的媒体流中的一个。被选择用于每个服务的特定媒体流可以从段到段不同。以这种方式给定媒体流的更多复杂段能够在不超过可用的总带宽的情况下分配比媒体流的不 太复杂段更多位。统计复用器520然后复用所选择的媒体流段并且将它们发送到自适应流送服务器。在图2中,例如,对于一个段统计复用器520分别复用媒体流515^518^522^并且将复用的流发送到自适应流送服务器510,其然后能够将复用的媒体流流送到客户端设备。这个过程针对后续段继续,对于所述后续段统计复用器520可以选择媒体流的不同组合。
[0034]图3示出了可以被作为图2中所示出的统计复用器520采用的统计复用器的一个示例。当然,也可以采用其它统计复用器。在这个示例中统计复用器300包括从流送服务器接收对应的媒体流 515 (515^5152 和 5153)、518 (518ρ5182 和 5183)以及 522 (522”5222、5223)的元数据提取单元302^3022以及3023。元数据提取单元302^3022以及3023将需要参数数据提供给速率控制处理器325。元数据提取单元302^30?以及3023同样分别将媒体流传递到先进先出(FIFO)缓冲器312^3122以及3123。FIFO缓冲器312^3122以及3123将数据存储在媒体流中直到媒体流中的一个被选择用于每个服务为止。速率控制处理器325基于从元数据提取单元302接收到的需要参数来选择用于每个服务的媒体流中的一个。这个选择可以根据各种不同技术来执行,所述不同技术的几个示例性示例将在下面被讨论。一旦速率控制处理器325选择了媒体流,它就指导FIFO缓冲器312将所选择的媒体流发送到复用器320,其提供复用的位流。从复用器320输出的复用的位流被发送到传输分组缓冲器330并且然后发送到流送服务器510 (见图2)以用于跨网络信道传输到适当的客户端设备。
[0035]如上面所提到的,速率控制处理器325通过从与每个服务相关联的媒体流收集最近的需要参数将带宽(即,位速率)分配给要递送到客户端设备的服务。如先前提到的,与每个节目或服务相关联的媒体流全部具有相同的需要参数,并且因此仅需要从用于服务中的每一个的一个媒体流中提取需要参数。在一些情况下速率控制处理器325还可以能够访问由用户针对每个单独的信道和/或客户端设备的能力所建立的最小和最大带宽限制。在为每个服务的给定段选择适当媒体流之前,速率控制处理器325总计用于该段的所有需要参数并且与流的需要参数成比例地将需要位速率分配给每个流。具有指示它在该特定间隔期间的流比另一流更复杂的需要参数的流将分配更多带宽并且从而分配更高的位速率。
[0036]如果最大和最小带宽限制被正在接收相应流的每个客户端设备(或客户端设备组)建立了,则速率控制处理器325将一般地试图首先尊敬所有最小带宽限制。如果用于给定段的所有最小带宽的总和超过所有流可用的总带宽,则速率控制处理器325与它们的最小带宽限制成比例地在所有流之中分配总带宽。否则,每个服务被给予它用于该段的最小带宽。
[0037]分配给任何特定媒体流的最小带宽被减去针对该流先前计算的需要位速率,因为这指示需要的一部分已被满足了。在分配了最小带宽之后,任何剩余带宽被与它们剩余的需要成比例地分配给所有服务,其中约束是没有流能够超过其最大带宽限制。
[0038]如果仍然有剩余带宽可用于该段,(如果一个或多个媒体流达到它们的最大带宽限制则这是可能的),则剩余带宽可以被分配给仍然尚未达到它们的最大带宽限制的那些流。可以根据给定流的需要参数与属于尚未到达它们的最大带宽限制的那些流的需要参数的和的比来做出这个分配。
[0039]一旦速率控制器已将带宽分配给每个服务,则它为每个服务选择具有大概接近地符合所分配带宽的位速率的媒体流。特别地,速率控制器325将一般地选择具有最接近于但不大于所分配的带宽的位速率的媒体流。以这种方式当所选择的媒体流被一起复用时将不超过最大可用带宽。被选择用于每个服务的媒体流当然可以基于它们每个需要的带宽的相对量从段到段变化。结果,统计复用器520可以有规则地改变其选择,并且因此针对每个服务从一个媒体流切换到另一媒体流。
[0040]被速率控制器325选择的媒体流被FIFO缓冲器312p3122以及3123发送到复用器320。复用器320复用所选择的流并且将它们发送到传输缓冲器330以用于传输到图2中所示出的自适应流送服务器510。自适应流送服务器510进而以可以基于特定网络条件被动态地调整的位速率将复用的媒体流流送到客户端设备。
[0041]可以采用本文中所描述的方法、技术以及系统的流送服务器的一个示例在图4中被示出。在其中示出的流送服务器110特别适合于将诸如视频点播的点播内容流送到客户端设备。虽然服务器110将被用于说明的目的,但是本领域的普通技术人员将认识到,本文中所描述的方法、技术以及系统同样适用于采用不同架构的各种其它流送服务器。
[0042]流送服务器100包括存储器阵列101、互连设备102以及流服务器模块103a至103η (103)。存储器阵列101被用来存储点播内容并且在大小方面可以是许多千兆字节或兆兆字节。可以从包括但不限于动态随机存取存储器(DRAM)和同步DRAM (SDRAM)的常规存储器固态存储器构建这样的存储器阵列。流服务器模块103从存储器阵列101中检索内容并且生成能够被传送到客户端设备的数据的多个异步流。互连102控制数据在存储器阵列101与流服务器模块103之间的转移。互连102同样在流服务器模块103之中建立优先级,确定其中流服务器模块从存储器阵列101接收数据的顺序。
[0043]通信过程从通过关联的传输网络(例如,图1中的网络250、260以及270)正被从客户端设备(例如,图1中的客户端设备220、230以及240)发送的流请求开始。请求的命令通过信号线路114a-114n (114)到达流服务器模块103,其中协议信息被解码。如果请求从流服务器模块103a进入,例如,它通过总线117行进到主机CPU107。对于本地配置和状态更新,CPU107通过信号线路120被同样连接到本地控制接口 106,所述信号线路120通过线路121与系统操作员进行通信。典型地,这可以是使用串行连接或网络连接的终端或本地计算机。
[0044]控制功能或非流送负荷被主机CPU107处理。例如,根据RTSP协议的流控制由CPU107来执行。主机CPU107中的程序指令确定所期望的内容或节目材料在存储器阵列101中的位置。存储器阵列101是能够存储视频、音频以及其它信息的大规模存储器缓冲器。以这种方式,服务器系统100能够同时地将各种内容提供给多个客户设备。每个客户端设备能够接收相同的内容或不同的内容。提供给每个客户设备的内容作为数据的唯一异步媒体流被传送,所述数据的唯一异步媒体流可以或者可以不在时间上与发送到其它客户端设备的唯一异步媒体流一致。
[0045]如果所请求的内容不是已经驻留在存储器阵列101中,则加载节目的请求通过信号线路118、经由背板接口 105并且通过信号线路119被发出。外部处理器或CPU (未示出)通过在背板接口 104的控制下通过背板线路116加载所请求的节目内容来对请求作出响应。背板接口 104通过互连102被连接到存储器阵列101。这允许存储器阵列101被流服务器模块103以及背板接口 104共享。节目内容被从背板接口 104写入,通过信号线路115、经由互连102、通过信号线路112发送,并且最后到存储器阵101。
[0046]当节目材料的第一块已被加载到存储器阵列101中时,流送输出能够开始。流送输出还能够被延迟直到整个节目已被加载到存储器阵列101中为止,或者在之间的任何点处。数据重放被选择的一个或多个流服务器模块103控制。例如,如果流服务器模块103a被选择,则流服务器模块103a通过信号线路113a、经由互连102、通过信号线路111将读取请求发送到存储器阵列101。一块数据被从存储器阵列101读取,通过信号线路112、经有互连102并且通过信号线路113a发送到流服务器模块103a。一旦该块数据已到达流服务器模块103a,对于这个块传输协议堆栈就被生成并且结果得到的主要媒体流通过信号线路114a被发送到传输网络122a。该传输网络然后将主要媒体流承载到客户端设备。对于包含在节目源材料中的每个数据块重复这个过程。
[0047]如果所请求的节目内容已经驻留在存储器阵列101中,则CPU107向流服务器模块103a通知存储器阵列中的实际位置。采用这个信息,流服务器模块能够立即开始从存储器阵列101请求节目流。
[0048]图5是图4中所示出的流服务器模块103的一个示例性实施方式的框图。流服务器处理器(SSP)401用作自动负荷请求器以及协议编码器和解码器。SSP401通过信号线路113来请求和接收数据负荷。它然后编码并且形成网络层分组,诸如TCP/IP或UDP/IP等等。SSP401还可以计算将与将被随后生成的媒体流的每个段相关联的需要参数。经编码的分组被通过信号线路411a-411n (411)被发送出到一个或多个媒体访问控制器(MAC)402a-402n (402)。媒体访问控制器402通过像由所使用的特定物理网络所需要的那样将经编码的分组封装在数据链路层帧或数据报中来生成主要媒体流。在以太网的情况下,例如,媒体访问控制器402同样处理冲突的检测和链路层网络错误的自动恢复。MAC402还可以将元数据结合到诸如已由SSP401生成的需要参数的媒体流中。
[0049]媒体访问控制器402利用信号线路412a_412n (412)被连接到负责网络连接的物理媒体的媒体接口模块403a-403n( 403)。这可以是现在存在或者将在将来被创建的用于以太网的双绞线收发器、用于以太网的光纤接口、SONET或许多其它适合的物理接口,这样的接口适于所期望的网络的物理低层接口。媒体接口模块403然后通过信号线路114a-114n(114)将主要媒体流发送到适当的一个或多个客户端设备。
[0050]在实践中,流服务器处理器401取决于它们的功能来划分输入和输出分组。如果分组是输出的负荷分组,则其能够直接地在流服务器处理器(SSP)401中被生成。SSP401然后例如通过信号线路411&将该分组发送到嫩(:402&。MAC402a然后使用媒体接口模块403a和信号线路412a来通过信号线路114a将该分组作为主要流的一部分发送到网络。
[0051]客户端控制请求通过网络线路114a由媒体接口模块403a、信号线路412a以及MAC402a来接收。MAC402a然后将请求发送到SSP401。SSP401然后分开控制分组并且通过信号线路413将它们转发到模块CPU404。模块CPU404然后利用在ROM/闪存R0M406等等中的存储程序来处理该控制分组。为了程序执行并且存储局部变量,典型地包括一些工作RAM407。R0M406和RAM407通过局部总线415被连接到CPU,所述局部总线415被通常直接地连接到CPU404。
[0052]来自每个流服务器模块的模块CPU404使用信号线路414、控制总线接口 405以及总线信号线路117来将对节目内容和相关系统控制功能的请求转发到图4中的主机CPU107。通过将模块CPU404放置在每个流服务器模块中,能够靠近网络线路114a_114n处理会话管理和会话控制的任务。这分配CPU负荷并且每网络接口允许更大数目的同时流连接。
[0053]图6是示出了用于通过网络将流送媒体内容递送到客户端设备的方法的一个示例的流程图。在这个示例中当统计复用流送服务器针对多个服务中的每一个接收到以不同位速率编码的多个媒体流时方法在步骤610处开始。用于每个服务的多个媒体流包含相同的内容。媒体流中的每一个都包括具有规定持续时间的多个段。接下来,在步骤620处,为用于服务的媒体流的每个段获得需要参数。每个需要参数反映通过网络以给定质量水平来传送用于该服务的媒体流的相应段所需的位速率。媒体流中的一个在步骤630处通过至少部分地基于用于媒体流的每个对应段的需要参数将带宽分配给媒体流而被选择用于每个服务。所选择的媒休流在步骤640处被复用以从而形成复用的流。在步骤650处复用的流通过网络被自适应地流送到客户端设备。
[0054]如在本申请中所使用的,术语“组件”、“模块”、“单元”、“系统”、“装置”、“接口 ”等
等一般地旨在指的是计算机相关实体,要么硬件、硬件和软件的组合、软件,要么在执行的软件。例如,组件可以是但不限于是在处理器上运行的进程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。通过说明的方式,在控制器上运行的应用和控制器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,并且组件可以位于一个计算机上和/或分布在两个或更多个计算机之间。
[0055]此外,所要求保护的主题可以被实现为使用标准编程和/或工程技术来产生软件、固件、硬件或其任何组合以控制计算机实现所公开的主题的方法、装置或制品。如本文所用的术语“制品”旨在包含从任何计算机可读设备、载体或媒体可访问的计算机程序。例如,计算机可读存储媒体能够包括但不限于磁存储设备(例如,硬盘、软盘、磁条…)、光盘(例如,紧致盘(⑶)、数字通用盘(DVD)…)、智能卡、以及闪存设备(例如,卡、棒、键驱动器…)。当然,本领域的技术人员将认识到,在不背离所要求保护的主题的范围或精神的情况下可以对这个配置做出许多修改。
[0056]尽管被贯穿即时公开的全体具体地描述了,但是本发明的代表性实施例在各式各样的应用之上有用,并且上述讨论不旨在而且不应该被解释为限制性的,而是被提供为本发明的方面的示例性讨论。在本文中已经描述并且图示的是本发明的实施例以及它们的变化中的一些。本文所用的术语、描述以及图仅通过说明的方式被阐述并且不意为限制。本领域的技术人员将认识到,在本发明的精神和范围内许多变化是可能的,其中本发明旨在由以下权利要求和它们的等同物来限定,其中除非另外指示,否则所有术语在它们的最广泛的合理意义上 具有意义。
【权利要求】
1.一种通过网络将流送媒体内容递送到客户端设备的方法,包括: 针对多个服务中的每一个接收以不同位速率编码的多个媒体流,用于每个服务的所述多个媒体流包含要由所述客户端设备中的一个或多个接收的公共内容,所述媒体流中的每一个包括具有规定持续时间的多个段; 针对每个服务获得用于包含在用于该服务的所述媒体流内的每个段的需要参数,每个需要参数反映通过所述网络以给定质量水平来传送用于该服务的所述媒体流的相应段所需的位速率; 通过至少部分地基于用于所述媒体流的每个对应段的所述需要参数将带宽分配给所述媒体流来为每个服务选择所述多个媒体流中的一个; 复用所选择的媒体流以从而形成复用的流;以及 通过所述网络自适应地将所述复用的流流送到所述客户端设备。
2.根据权利要求1所述的方法,其中,用于每个服务的所述需要参数被结合到用于该服务的所述媒体流中的至少一个中,并且获得所述需要参数还包括从用于每个服务的所述媒体流中的至少一个中提取用于包含在所述相应媒体流内的每个段的所述需要参数。
3.根据权利要求1所述的方法,其中,所述需要参数基于相关联的所述媒体流的相应段的实际复杂性。
4.根据权利要求 1所述的方法,其中,所述需要参数基于相关联的所述媒体流的相应段的复杂性的估计。
5.根据权利要求1所述的方法,其中,将带宽分配给所述媒体流包括:合计用于每个服务的所述媒体流的对应段的所述需要参数以获得与每个段相关联的聚合需要参数以及至少部分地基于用于每个服务的所述媒体流的特定段的相应需要参数与所述聚合需要参数的比将总的可用带宽的一部分分配给该服务。
6.根据权利要求5所述的方法,其中,最小带宽与所述服务中的每一个相关联,并且还包括将相关联的所述最小带宽分配给每个服务以及至少部分地基于用于每个服务的特定段的相应需要参数与用于所述特定段的聚合需要参数的比将任何附加地可用的带宽分配给该服务。
7.一种统计复用流送服务器,包括: 统计复用器,所述统计复用器用于针对多个服务中的每一个接收以不同位速率编码的多个媒体流,用于每个服务的所述多个媒体流包含要由一个或多个客户端设备接收的公共内容,所述媒体流中的每一个具有相关联的反映以给定质量水平通过网络来传送相应媒体流所需的位速率的一个或多个需要参数,所述统计复用器包括:(i)速率控制处理器,所述速率控制处理器用于通过基于相关联的所述需要参数将带宽分配给所述媒体流来为每个服务选择所述多个媒体流中的一个;以及(ii)复用器,所述复用器用于复用所选择的媒体流中的每一个以形成复用的媒体流;以及 自适应流送服务器,所述自适应流送服务器用于从所述统计复用器接收所述复用的媒体流并且通过网络自适应地将所述复用的媒体流流送到所述客户端设备。
8.根据权利要求7所述的统计复用流送服务器,其中,所述媒体流中的每一个包括每个都与需要参数相关联的多个段,并且其中,所述速率控制处理器被配置成至少部分地基于每个相应段的需要参数将带宽分配给所述媒体流的每个段。
9.根据权利要求8所述的统计复用流送服务器,其中,将带宽分配给每个媒体流包括:通过合计用于每个服务的媒体流的对应段的所述需要参数以获得聚合需要参数,以及至少部分地基于用于服务的媒体流的特定段的相应需要参数与所述聚合需要参数的比将总的可用带宽的一部分分配给用于所述服务的所述媒体流的每个特定段,来将带宽分配给每个媒体流的每个段。
10.根据权利要求8所述的统计复用流送服务器,其中,用于每个媒体流的所述需要参数被作为元数据结合到每个相应媒体流中,并且还包括至少一个元数据提取单元,所述至少一个元数据提取单元用于从所述媒体流中提取所述元数据以及将所提取的元数据提供给所述速率控制处理器。
11.根据权利要求10所述的统计复用流送服务器,其中,由所述流送服务器生成的所述媒体流根据支持包含私有元数据的编码协议被编码,并且其中,所述需要参数被作为私有元数据结合到所述媒体流中。
12.根据权利要求11所述的统计复用流送服务器,其中,所述编码协议是MPEG协议。
13.一种用于通过一个或多个网络来递送内容的头端,包括: 多位速率视频编码器,所述多位速率视频编码器用于为多个服务提供编排内容,并且针对所述服务中的每一个,生成以不同位速率编码有所述编排内容的多个媒体流; 统计复用器,所述统计复用器用于从所述多位速率视频编码器接收所述媒体流,其中,所述统计复用器响应于用于每个服务的所述媒体流中的编排内容的相对编码复杂性的量度被配置成为每个服务选择所述媒体流中的一个并且复用所选择的媒体流以提供复用的媒体流,其中,用于服务的每个媒体流的所述相对编码复杂性通过用于该服务的媒体流的编码复杂性的量度与用于全部所述服务的媒体流的编码复杂性的总量度相比较来确定;以及 自适应流送服务器,所述自·适应流送服务器用于通过一个或多个网络将所述复用的流流送到客户端设备。
14.根据权利要求13所述的头端,其中,每个媒体流包括具有定义的持续时间的多个段,所述编码复复杂性的量度是与每个段相关联的需要参数,所述需要参数反映以给定质量水平来传送相应段所需的位速率。
15.根据权利要求14所述的头端,其中,所述相对编码复杂性针对所述媒体流的每个段被确定。
16.根据权利要求13所述的头端,其中,所述统计复用器包括:(i)速率控制处理器,所述速率控制处理器用于接收与每个媒体流相关联的所述需要参数并且基于所接收到的需要参数将带宽分配给所述媒体流,以及(ii)复用器,所述复用器用于复用所选择的媒体流中的每一个。
17.根据权利要求16所述的头端,其中,用于每个媒体流的所述需要参数被作为元数据结合到每个相应媒体流中,并且还包括至少一个元数据提取单元,所述至少一个元数据提取单元用于从所述媒体流中提取所述元数据并且将所提取的元数据提供给所述速率控制处理器。
18.根据权利要求13所述的头端,其中,由所述多位速率视频编码器生成的所述媒体流根据支持包含私有元数据的编码协议被编码,并且其中,所述需要参数被作为私有元数据结合到所述媒体流中。
19.根据权利要求18所述的头端,其中,所述编码协议在传输流层、节目基本流层以及视频序列层支持私有元数据。
20.根据权利要求19所述的头端,其中,所述编码协议符合MPEG协议,并且所述私有元数据位于所述媒体流中的传输分组`的适应字段中。
【文档编号】H04L29/06GK103828325SQ201280045604
【公开日】2014年5月28日 申请日期:2012年9月11日 优先权日:2011年9月20日
【发明者】马克·R·马吉 申请人:摩托罗拉移动有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1