多视频流传输中的带宽分配控制的制作方法

文档序号:7937468阅读:288来源:国知局

专利名称::多视频流传输中的带宽分配控制的制作方法
技术领域
:本发明涉及电信网络中的视频信号传输,并且更具体地涉及对拥塞的网络上的多视频流传输进行控制,使得各视频流根据编码质量而获得公平(equitable)份额的带宽。
背景技术
:如今,在诸如因特网的数据网络中传输视频是非常普遍的。为了接收这样的信号,用户可以使用一个经过适当配置的计算机或例如"机顶盒"(STB)的其他的接收机。STB变得越来越流行,并且很多STB具有IP连接,以能够在因特网上对例如视频之类的内容进行流传输或下载。通过互联网传送的电视(通常称为IP电视)是这种日渐增长的服务的一个很好的例子。当在IP网络中对视频数据进行流传输时,无法保证发送的数据能够达到目的地。当网络遭受拥塞和其他问题时,数据分组的传输将会发生延迟,一些分组甚至会丢失。为了提供更加可靠的端对端数据传送,传输控制协议(TCP)经常被用作传输协议。事实上,出于许多原因,在视频流传输系统中使用TCP是非常普遍的,但主要是因为TCP提供了确保可靠传送的机制,并且对网络拥塞进行管理。例如,TCP实现可靠性的一种方式是,强制接收机向发送方确认任何接收数据。如果在一个预定的时段后一个数据分组仍未被确认,则TCP假设这个分组没有被接收到,并且发送器重发同样的分组。TCP管理拥塞的一种方式是降低作为网络拥塞的函数的数据传输速率。以使用TCP来传送多个视频流并且所有视频流共享一个竞争的(contended)网络片段的情形为例。当拥塞发生时,TCP拥塞控制算法将强迫所有的流降低它们的传送率(deliverymte)从而清除拥塞。各流降低一个固定的因子并且最终所有的流将稳定在大约相同的带宽(假设一个往返时间类似)。采用这种方法并不是没有任何问题的,因为特别不希望视频流片段出现延迟。使用各种技术至少能够部分地消除这一问题,例如使用接收机缓存区、丢弃个别片段以及依靠错误恢复的方法来替代。有时还以可变比特率通过TCP来传送视频流。然而,上述的拥塞场景仍然会发生,当网络拥塞时,两个分别具有不同比特率的视频流将仍然稳定于大约相同的降低的比特率。这会导致一些特别不希望出现的结果,其中第一流最初采用高比特率进行编码(例如一个帧活动程度很高的视频序列,如体育视频序列),第二序列采用低比特率进行编码(例如一个帧活动程度很低的视频序列,如新闻或话剧视频序列)。当网络中发生拥塞时,TCP将这两个流的可用带宽削减至大致相同的水平。与以较低比特率进行编码并且因此仍然有足够的带宽对其低比特率的流进行流传输的第二流相比,这种情况对以较高比特率进行编码并因此而具有更高带宽要求的第一流的影响更大。换言之,第一高比特率流受到的影响比第二低比特率流要显著得多,因为第一流被赋予了与第二流相同的减小的带宽。这将使传送给各用户的视频的质量随着时间而发生变化,并且用户间质量的变化取决于浏览的视频片段的类型。另外一种消除在使用TCP时出现的这些问题中的一些的视频流传输方式是采用恒定比特率传送系统,在该系统中在数据传输开始前视频流可用的比特率是固定的(例如,借助于保留方案)。该传送方法更易于管理,但仍存在其自身的问题。仍然以上述两个视频流为例,其中,第一流具有高活动性的帧(例如一个体育片段),第二流具有不太活动的帧(例如一个新闻片段)。保留的并且被用于传送这两个流的比特率固定在一个预定的速率(该速率被视为足以用于大多数应用,此处该速率足以用于这两个流)。然而,第二流实际上不需要这么多带宽,因为在第二序列中活动性极低,因此第二序列的编码速率可以比第一序列的编码速率低得多。因此,使用该固定带宽来传输第二流浪费了很多带宽。如果第二流增大编码速率从而利用保留的整个带宽,则所得到的视频的质量将很可能大大高于第一流。然而,这种质量提高不一定象观众感受到的那么显著,因此可能会被浪费。此外,采用这种冗余带宽并不能充分利用网络资源。当考虑在序列本身期间活动性变化的视频序列时,上述问题变得非常的明显。例如,一个相对静止的新闻朗读序列可能穿插有高活动性足球片段的精彩场面。
发明内容本发明实施方式的目的就是解决上述问题中的一个或更多个。根据本发明的第一方面,提供了一种对视频片段在通信网络上的传输进行控制的方法,该方法包括以下步骤0在通信网络上传输与第一视频片段相对应的第一经编码视频序列以及与第二视频片段相对应的第二经编码视频序列,其中,所述第一经编码视频序列是利用第一比特率进行编码,所述第二经编码视频序列是利用第二比特率进行编码,并且其中,所述第一经编码视频序列和所述第二经编码视频序列都以第一质量水平进行编码;以及ii)对在所述网络中分配给所述第一经编码视频序列和所述第二经编码视频序列的带宽进行控制,其中,分配给所述第一经编码视频序列的第一带宽与所述第一经编码视频序列的比特率成比例,并且分配给所述第二经编码视频序列的第二带宽与所述第二经编码视频序列的比特率成比例。优选地,该方法进一步包括响应于所述控制步骤而执行的以下步骤iii)改变对所述第一经编码视频序列和所述第二经编码视频序列中的每一个进行编码的比特率,其中所述第一经编码视频序列和所述第二经编码视频序列都是以第二质量水平进行编码;以及iv)在所述通信网络上传输来自步骤iii)的所述第一经编码视频序列和所述第二经编码视频序列。可以响应于所述通信网络中的拥塞而对带宽进行控制。该网络通常是基于分组的网络,并且更具体地是IP网络。该网络可以采用经过改变的传输控制协议,其中,各经编码视频序列的带宽分配可以包括对传输控制协议中的回退因子进行调节。编码这一术语可以是指压縮,并且其中的编码技术可以是MPEG-4编码。根据本发明的第二个方面,提供了一种对视频片段在通信网络上的传输进行控制的系统,该系统包括i)服务器,其适于在通信网络上传输与第一视频片段相对应的第一经编码视频序列以及与第二视频片段相对应的第二经编码视频序列,其中,所述第一经编码视频序列是利用第一比特率进行编码,而所述第二经编码视频序列是利用第二比特率进行编码,并且其中,所述第一经编码视频序列和所述第二经编码视频序列都以第一质量水平进行编码;以及ii)用于对在所述网络中分配给所述第一经编码视频序列和所述第二经编码视频序列的带宽进行控制的装置,其中,分配给所述第一经编码视频序列的第一带宽与所述第一经编码视频序列的比特率成比例,并且分配给所述第二经编码视频序列的第二带宽与所述第二经编码视频序列的比特率成比例。为了更好地理解本发明,这里将仅仅作为示例对附图进行说明,在附图中图1是示出了用于以恒定质量对视频序列进行编码的比特率变化的图2是根据本发明的一个实施方式的系统的网络图3是示出了以三种质量水平进行编码的两个不同视频片段的图。具体实施例方式在此,参照特定实施例来描述本发明。然而,本发明并不限于这些例子。已提出按恒定质量而不是按恒定比特率对在竞争网络片段上传输的视频流进行编码。如果视频序列是以恒定质量进行编码的,则所使用的比特率可能变化很大。附图l示出了以恒定质量水平编码的90秒视频片段上的比特率。在这个例子中,通过将量化器参数(qp)设置为28而确定了质量水平。该量化器参数有效地控制了编码的质量水平—-量化器参数越小,质量就越高。该视频片段是许多视频序列中的一个典型视频序列,其比特率根据在给定时刻场景的复杂程度而变化。例如,其中有很多运动或动作的帧序列在相同的固定质量下通常要求更高的比特率来进行编码。图1中两个不同的曲线是针对两种不同缓存量。变化比较大的曲线表示在3帧上使用平均比特率的情况,而较平滑的曲线表示使用192帧的滑动窗时的情况。因此,通过增加缓存量,更加有效地平滑了比特率。作为如上所述对特定的内容序列进行编码的难度的函数,任何实际流传输系统的比特率将变化很大。当比较不同视频片段的类型时,这种变化表现得甚至更为明显。例如,由于典型场景的高活动性从而运动片段可能要求更高的平均比特率并且波动更大,而新闻报道片段可能要求低得多的比特率并且相对地静止。所以,为了将视频流以恒定的质量传送给共享一个竞争网络的用户,在所有的流上采用恒定带宽方法是没有效率的。必须使得分配给各视频流的带宽根据该时刻正在流传输的视频的确切要求而在时间上动态变化并且还处在任何网络带宽限制内。图2示出了系统200的一个例子,其包括连接到视频存储部208的视频编码器206,该视频存储部208进而连接到服务器210。该服务器210可以通过IP网络214与receiver—A216和receiver_B21这两个接收机中的每一个通信。接收机216和218可以向服务器210请求视频片段。IP网络214工作在经过修改的TCP配置下,下面将在本发明的一个实施方式中描述该经过修改的TCP配置。编码器206对要传输到接收机216和接收机218的视频序列进行编码。这里示出了两个视频序列,sequence—A202和sequence—B204。编码器206n能够以变化比特率进行编码,并且将编码视频序列输出到数据存储部208或直接输出到服务器210。数据存储部208用来存储编码的视频序列,直到它们被服务器210请求或需要为止。服务器210从数据存储部208或直接从编码器206检索(retrieve)编码视频序列,并将它们作为视频流通过IP网络214传输到两个接收机216和218中的任何一个。sequence—A202被请求并且将(在编码后)被发送给receiver—A216,并且sequence—B204被请求并且将被发送给receiver—B218。这些接收机例如可以是恰当配置的计算机或机顶盒,并且适于将接收到的视^S流解码,并且将编码序列解码成原始的视频以供用户观看。当IP网络214中出现拥塞时,采用经修改的TCP机制来应对。在本发明的实施方式中,对标准TCP协议进行修改以应对拥塞。具体地说,将内置在TCP中的动态拥塞控制算法修改成,使得在给定的时间点通过IP网络214而分配给任何视频流的带宽片段该内容的带宽需求的函数。因此,与不太复杂的视频序列(例如新闻播报片段)相比,应当给予更复杂的视频序列(例如体育视频序列)更多的带宽。同时,将通过IP网络214传输的视频序列修改成,使得它们以拥塞控制机制所允许的最大比特率来传输。目前,在TCP下,使用滑动窗机制来实现拥塞控制。滑动窗的长度决定了在要求确认之前可以发送多少数据。比特率是滑动窗大小和往返时间(发送数据和收到确认之间的时间)的函数。为了确保更复杂的视频序列得到更大份额的带宽,可以将动态拥塞控制算法改变为,使得更难或更复杂的内容具有更大的滑动窗。实际上,修改了TCP的"贪婪性(greediness)"。可以使用很多方法来改变TCP的"贪婪性"。一种方法就是通过修改回退因子(backofffactor)。通常,当拥塞发生时(假设分组的丢失是由拥塞引起),TCP将与所査询的流关联的滑动窗(回退因子)二等分。在本发明的一个实施方式中,当检测到拥塞时,我们可以调整该回退因子,使得滑动窗大小被设定为例如原始大小的四分之三。与回退因子被设定为1/2相比,其效果是受影响的流将更"贪婪"并确保了更大的带宽。然后,以减小的速率对正在传输的流进行编码,以利用该流可用的全部带宽。下面将参照图2中的系统200,更详细地阐述该方法。为编码器206提供两个不同的视频序列,sequence—A202和sequence一B204。各视频序列代表不同的视频片段。在本例中,sequence—A202是运动片段,例如足球比赛,而sequence一A是一个新闻报道片段。sequence—A202和sequence_A都被馈送到视频编码器206。编码器206取出各视频片段并对其进行编码。所使用的编码是MPEG-4AVC,也可以是任何其他适当配置的视频编解码。各视频序列被分割成预定时长的片段,并且以3个不同的参考质量进行编码。可以通过调整量化器参数来改变编码质量,从而改变该质量。然而,也可以采用其他工具,例如给出了用户所感知到的序列的实际感知质量的感知质量工具。当然,对应于更多或更少的质量水平,可以产生更多或更少的编码序列。在本例中,有三个编码序列,各编码序列以不同的质量水平进行编码,并且各编码序列包括四个编码片段。图3中更详细地示出了这一情况。图3示出了视频s叫uence—A202被编码成三个单独的编码视频序列编码视频sequence—Al300、s叫uence—A2310和sequence—A3320。编码视频s叫uence—Al302以第一且最高质量进行编码。编码视频s叫uence—A2310以第二且中等质量进行编码。编码视频sequence—A3320以第三且最低质量进行编码。编码视频序列300、310、320中的每一个被分成四个独立片段,其中各片段的起点对应于未编码视频s叫uence—A202中的同一点。因此,片段Al一2304的起点对应于片段A2一2314的起点和片段A3一2324的起点,但是这些片段是以不同的质量水平进行编码。如图1所示,以固定质量水平对特定视频序列进行编码所需的比特率会随着该序列中的具体内容而随时间变化。结果是,针对该片段的时长而使用固定比特率,但是在同一序列中该固定比特率可能随片段不同而不同。因此,对于sequence一Al300,用于片段Al一l302的比特率可能不同于用于片段A1—2304的比特率。在图3中还示出了包括编码的sequence—Bl330、sequence—B2340和sequence一B3350的编码视频序列sequence—B204。以与用于sequence—A202的质量水平相同的质量水平分别对这三个编码序列进行编码。因此,以与sequence—Al300相同的最高质量水平对sequence—Bl330进行编码。以与sequence—A2310相同的中等质量水平对sequence—B2340进行编码。以与sequence—A3320相同的低质量水平对s叫uence—B3350进行编码。对于与s叫uence—A202相对应的编码序列,与sequence一B204相对应的序列中的每一个也被分成多个片段,其中根据该时刻输入视频序列的对应部分的内容而以恒定比特率对各片段进行编码,但是与任意跟定序列中的下一片段相比,各片段的比特率可能不同。因此,对于这两个视频流,编码器分别生成以三个参考质量水平进行编码的视频序列(得到六个编码流),然后把它们发送到数据存储部208。数据存储部208存储这些数据直到需要它们为止。现在服务器201从receiver—A216接收对视频sequence—A202的请求,还从receiver—B218接收对视频sequence—B204的请求。服务器201从数据存储部208检索相应的编码视频序列。或者,这些编码序列可以由编码器206动态产生并被直接发送到服务器210。最初,服务器210使用最低质量的编码序列sequence—A3320和sequence—B3350。取决于服务器210认为IP网络214具有什么样的可用带宽,服务器210也可以使用任何其他序列。如果网络214可轻松应对这些视频流,并且可能通过告知接收机在缓存区中有缓存区溢出(这也可能表示接收机不能足够快地消耗这些数据)来表示存在更多的可用带宽,则服务器210将这两个编码序列都转换到次高质量的序列(在片段的边界进行转换,以保证视频序列的连续性)。当IP网络214变得拥塞时,必须减少服务器210可用于对编码视频序列进行流传输的带宽。在本发明的一个实施方式中,TCP机制被修改成对回退因子进行调节使得各流可用的带宽是该时刻正传输的序列/片段的比特率相对应的带宽片段。既然已经减少了用于这两个流的带宽,服务器210就确定使序列下降到目前的拥塞网络能够应对并且严格来说处于该网络对各流设定的新带宽限制内的其他质量水平中的哪一个。服务器210有效地选择在TCP对带宽的约束下能够传送的最高质量序列。然而,与使用更低比特率的序列相比,当拥塞发生时通过对使用更高比特率的序列赋予更大带宽,在给定的约束下,这两个序列应当都能够下降为相同质量水平的序列。可以通过对正在传输的各流调节某个"贪婪性"参数(例如上述回退因子),可以实现带宽限制。其目的是为每个流提供与拥塞发生时片段的比特率(无论使用何种质量水平)成比例的一个比率的原始带宽。其结果就是本系统在多个视频序列上提供了同等质量的视频流传输,使得使得各视频序列即使在发生拥塞的情况下也以与其他各流同等的质量水平进行编码。当网络被充分利用时,在任意时刻所传送的片段(例如当这两个流都处于最高质量时的Al一2和Bl一2,也许此时没有拥塞,或者当这两个流都处于中等质量时的A2—4和B2_4,此时有轻微的拥塞发生)的比特率之和将等于网络容量。通过动态改变TCP以确保各流获得针对给定质量其所需比例的带宽,从而在任意时刻正在传送的片段将具有相同质量(即使它们要求差别非常大的带宽)。有许多的因素会使得本算法混淆。其中一个因素是不同的^;可以具有不同的往返时间。即使使用标准的TCP算法,那些往返时间更长的流将获得更低比率的带宽。然而,由于往返时间对发送服务器而言是已知的,因此可以通过根据往返时间来调节回退因子来解决这一问题。总之,这里注意到,尽管以上描述了本发明的一些示例,在不脱离所附权利要求书的范围的情况下,可以对所述示例做出很多变型和修改,但是这些变形和修改都没有脱离本发明的权利要求的保护范围。本领域技术人员将会认识到对所述示例的修改。权利要求1、一种对视频片段在通信网络上的传输进行控制的方法,该方法包括以下步骤i)在通信网络上传输与第一视频片段相对应的第一经编码视频序列以及与第二视频片段相对应的第二经编码视频序列,其中,所述第一经编码视频序列是利用第一比特率进行编码,所述第二经编码视频序列是利用第二比特率进行编码,并且其中,所述第一经编码视频序列和所述第二经编码视频序列都以第一质量水平进行编码;以及ii)对在所述网络中分配给所述第一经编码视频序列和所述第二经编码视频序列的带宽进行控制,其中,分配给所述第一经编码视频序列的第一带宽与所述第一经编码视频序列的比特率成比例,并且分配给所述第二经编码视频序列的第二带宽与所述第二经编码视频序列的比特率成比例。2、根据权利要求1的所述方法,其中,该方法进一步包括响应于所述控制步骤而执行的以下步骤iii)改变对所述第一经编码视频序列和所述第二经编码视频序列中的每一个进行编码的比特率,其中所述第一经编码视频序列和所述第二经编码视频序列都是以第二质量水平进行编码;以及iv)在所述通信网络上传输来自步骤iii)的所述第一经编码视频序列和所述第二经编码视频序列。3、根据权利要求1或者2所述的方法,其中,响应于所述通信网络中的拥塞而对带宽进行控制。4、根据前述权利要求中任一项所述的方法,其中,所述通信网络是基于分组的网络。5、根据前述权利要求中任一项所述的方法,其中,所述通信网络是网际协议网络。6、根据前述权利要求中任一项所述的方法,其中,所述通信网络实现了传输控制协议。7、根据权利要求7所述的方法,其中,对带宽分配的控制包括以下步骤调节所述传输控制协议中的回退因子。8、根据前述权利要求中任一项所述的方法,其中,所述编码包括压縮。9、根据权利要求8所述的方法,其中,所述编码是MPEG-4编码。10、一种对视频片段在通信网络上的传输进行控制的系统,该系统包括i)服务器,其适于在通信网络上传输与第一视频片段相对应的第一经编码视频序列以及与第二视频片段相对应的第二经编码视频序列,其中,所述第一经编码视频序列是利用第一比特率进行编码,而所述第二经编码视频序列是利用第二比特率进行编码,并且其中,所述第一经编码视频序列和所述第二经编码视频序列都以第一质量水平进行编码;以及ii)用于对在所述网络中分配给所述第一经编码视频序列和所述第二经编码视频序列的带宽进行控制的装置,其中,分配给所述第一经编码视频序列的第一带宽与所述第一经编码视频序列的比特率成比例,并且分配给所述第二经编码视频序列的第二带宽与所述第二经编码视频序列的比特率成比例。全文摘要对任何实际的视频流传输系统而言,作为对所查询的序列进行编码的难度的函数的比特率变化很大。当对不同种类的不同视频片段进行比较时,这一变化甚至更为显著,例如在这些视频片段中,体育视频片段可能要求更高的平均比特率并由于典型场景的高活动性而波动更大,而新闻播报可能要求低得多的比特率并且是相对静止的。因此,为了向共享一个竞争网络的用户提供恒定质量的视频流,在所有的流上都采用恒定带宽方法是没有效果的。分配给各流的带宽必须能够根据在该时刻流传输的视频的确切需求而在时间上动态变化并且还必须处于任何网络带宽约束下。本发明限定了这种方法。文档编号H04N7/26GK101690078SQ200880010992公开日2010年3月31日申请日期2008年3月27日优先权日2007年4月2日发明者帕特里克·约瑟夫·马尔罗伊,斯蒂芬·克利福德·阿普尔比申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1