专利名称:基于客户带宽或性能的目标升级的视频多点广播的制作方法
技术领域:
本发明涉及视频编码,特别涉及用于视频流播的可升级(scalable)的视频编码方法。
通过网际协议(IP)网络进行的视频流播已使许多种多媒体应用程序成为现实。网际视频流播在补偿互联网缺乏服务质量(QoS)保证的同时,可对连续的媒体内容提供实时发送和呈现。通常,由于IP网络的带宽和其他性能参数(例如,信息包损失率)的变化和不可预测性,大多数提出的流播方案都是基于某种类型的分层(或升级)的视频编码体系。
互联网上的视频多点广播被预期将在21世纪成为许多种多媒体应用程序的重要技术部分。这些应用程序包括使全球数百万互联网用户观看主要的电视事件。为实现这种级别的激增,多点广播的互联网视频就要求品质可升级视频编码算法的发展。
诸如MPEG-2,MPEG-4,H.263这样的视频压缩标准已采用了一些视频升级方法。在这些标准中定义有时间,空间和质量(SNR)这几种升级类型。所有这些类型的可升级视频都包括一个基层(BL)和一个或多个增强层(EL)。可升级视频流的BL部分通常代表解码该视频流所需的最小数据量。视频流的EL部分代表附加信息,并能够在接收机解码时增强视频信号的呈现。
微粒升级法(FGS)是近来MPEG-4标准对流播应用程序所采用的一种新的视频压缩体系。FGS通常能够支持多种基于IP网络的特性的带宽变化情况,在特定情况下可支持互联网。以这种类型的升级性而编码的图像可以被逐步地解码。也就是,该解码器能够在接收到很少量的数据后就可以开始解码并显示图像。随着解码器接收到更多的数据,解码图像的质量被逐步地增强,直到所有信息都被接收,解码并显示。在领先的国际标准中,逐步图像编码是JPEG和MPEG-4视频中的静止图像,纹理编码工具中所支持的多种模式中的一种。
互联网与新的无线和移动网络的结合正在多煤体通信中创建一个全新程度的多元化状态。该多元化的这种增加程度强调了用于编码和传输的目的对可升级且自适应的视频方案的需求。然而,通常在升级级别和可升级视频流的质量之间必然要有一定的权衡。也就是说,带宽变化越高,支持希望带宽范围所需要的可升级视频流的整体视频质量就越低。
图1是示例性的现有技术中可升级编码系统的方框图。流播服务器100对一数据流进行编码,该数据流包括内编码(I)包108,预测编码(P)包,和双向编码(B)包(未示出)从而形成基层101和增强层102,该增强层具有多个增强通道103-107。在此现有技术的系统100中,对于使用可升级编码系统的多种比特率,对内容(例如视频片段)编码一次。然后,通过将BL101和EL102划分为一组离散的单独多点广播信道101,103-107,此可升级的内容可被多点广播到具有可变带宽或性能的一组接收机120,130,140。
如图1所示,不同客户120,130,140订购了不同数目的信道。客户120可接收基层101和第一到第三EL103-105。客户130接收基层101和仅仅第一EL103。客户140接收基层101和所有五层EL103-107。通过仅用一个可升级流对内容108,109进行编码,由于缺少FGS的运动补偿(MC),在非升级编解码器性能和FGS之间会导致很高的编码效率损失。
或者,可以采用不同的方法来提高FGS的质量,例如MC-FGS结构,频率加权,选择性增强等等。然而,所有这些提高质量的技术都只是围绕选定的比特率范围而提高质量。
并且,若一特定组的终端具有一定的性能(例如强大的MC功能),但现有技术不会允许流播服务器100利用这些接收端的性能,因为它必须发送能够被缺少这些性能的接收主机所解码的数据流。
因此需要一种改进的能够提供流播数据传输的方法。
本发明是一种用于传输视频数据的方法和系统。通过以下两种方法的任一种可以进行识别(1)将要传输给定视频片段的数据流的链路的平均或最小可用带宽,或者(2)数据流将要传输的接收主机的性能。通过以下两种方法中的一种可以进行选择(1)多个预定范围带宽中的一个相应带宽范围,使得所选的该范围包含所识别的平均最小可用带宽;或者(2)多个不同数据流类型中相应的一个,使得所识别的接收主机的性能被用于处理所选数据流类型的数据。该数据流以这种方式编码,该编码方式可利用已被或将被选择的数据流类型或带宽范围。该编码的数据流通过该链路传送到接收端。
图1是用于通过互联网传输流播数据的传统系统的方框图。
图2是根据本发明的示例系统的方框图。
图3是根据本发明第一示例方法的流程图,其中在选择一种类型的数据流传送到接收端之前对多种数据流进行编码。
图4是根据本发明第二示例方法的流程图,其中在对数据流编码之前选择一种类型的数据流传送到接收端。
图5是表示在复杂度和效率之间的折衷是如何影响对FGS数据流的数据流类型选择的示意图。
在本发明的实施例中,可升级范围是受限制的,以便提高传输/编码效率,并限制接收机复杂度要求的变化。
图2是根据本发明用于传输视频数据的系统的方框图。该系统具有一流播服务器200,用于编码并存储相同的内容(例如,视频片段)的多个数据流210,220,从而指定具有不同链路带宽或不同接收主机组性能的不同接收组。服务器200根据接收机的性能或者将接收机连接到服务器的链路的可用“平均”比特率,决定将哪个数据流(该内容的表述)多点广播到一组接收机。
服务器200能够编码表示相同内容(例如,视频片段)的两路或多路不同数据流。虽然只示出了两路数据流210和220,但也可以使用三路或更多数据流。
对于服务器200,例如,被指定各种比特率“范围”(最好不是很宽的范围)的一组FGS,逐步FGS(P-FGS)或运动补偿FGS(MC-FGS)流,可以被先验编码并存储以便以后使用,或者响应于请求而分别被实时编码。同样,可以使用各种质量提高工具。然后,当客户240,250或260想建立连接时,客户通知服务器200它的性能和平均可用带宽。然后,服务器200可以决定客户240,250,260位于哪个“带宽范围”(或该客户具有什么性能),并为每个客户或客户组选择一组信道。然后将该视频数据指定到此带宽范围(或客户性能)。
该系统在多点广播环境中特别适用,能够达到单播模式(允许剪辑数据流以便最好地服务于单独接收端)和广播模式(通过对所有的接收组只编码单独的数据流而在流播服务器中实现最有效的编码)之间的平衡。
在现有技术的系统中,对很大的比特率范围只使用一种可升级编码流的缺点是,会导致质量下降间隙。有利的是,系统200可考虑到终端性能或每个接收组的可用“平均”比特率而将比特流发送到各种接收机240,250,260。系统200可对一个流指定这些参数。这种方法当决定在可访问各个接收机组的多路信道中将传送并分配哪个视频数据流时,会考虑客户的/接收机的“平均”可用带宽或终端的性能。此示例方法可在接收机端实现更高的质量,和更有效地使用资源。
例如,假设如图2所示,客户240和260属于一个具有高平均可用带宽的接收机组,客户250属于一个具有低平均可用带宽的接收机组。对于低比特率的一组接收机(例如250),发送四个信道,包含基层数据228,229的一个信道221,包含FGS数据的最高有效位(MSB)的第二个信道223,包含有效性较小的FGS增强层数据的另两个信道224和225。对具有高比特率的另一组接收机240,260发送六个信道,包括,包含基层数据的一个信道218,包含FGS EL数据的MSB的一个层213,和包含有效性较小的FGS EL数据的其他四个信道214-217。
与现有系统中对一个视频片段只编码一个数据流所不同的是,在本系统200中,数据流210的各个层211,213,214,215并不需要与对应的数据流220的层221,223,224,225相同,即使这两个数据流是相同内容(例如视频片段)的表述。在本发明的某些实施例中,各种流共享相同的BL,但分别具有不同的EL。在另一些实施例中,多个流可能分别具有不同的BL。包括不同BL的一个例子是MC-FGS的情况,其中,为了预测BL,其中一个流的BL中包括部分EL。在此情况下,两个流中的BL不相同。例如,数据流210可以不进行频率加权就被编码,数据流220可以进行具有频率加权的编码,反之亦然。类似地,可以对数据流220进行选择性增强的编码或者其他任何能达到特定比特率范围的质量提高工具的编码。
在图2所示方法的背后还有许多种可能的变形,并且这对于本领域的技术人来说是容易理解的。在另一实施例中,低数据率的流220可能包括两个信道,一个信道包含基层数据,另一信道包含具有频率加权的FGS数据的MSB。高数据率的流210可能包含四个信道,一个信道包含基层数据,第二层包含FGS EL数据(没有频率计权)的MSB,另两个信道包含有效性较小的FGS EL数据。这些仅仅是例子,并不能限制本发明。
对于多点广播组(MG)中的接收端的任意混合,可使用一种根据混合接收端来确定选择哪个数据流的方法学。例如,假定有1000的设备在收听MG,其中的10%只有100kbps的带宽。其余的90%具有300kbps到1.0Mbps之间的带宽。则使用的MC-FGS流应当具有,对第一数据流(低数据率的用户)为100kbps的BL,对第二数据流(高数据率的用户)为300kbps的扩展BL。在另一实施例中,若30%或更多的设备具有300kbps以下的带宽,则发送100kbps的BL的FGS流更为合适。因此,该算法应当考虑到各种可升级的数据流,并根据这些流的复杂度或效率而决定传送哪种流。
系统200使用了比现有系统中更多的带宽,其中对所有的接收机只发送一个数据流,但系统200相对于在基于非升级的流播环境(例如单路广播传输)中对每个数据流单独进行剪辑的情况,则使用了较少的带宽。因此,系统200在网络的带宽利用和接收机240,250,260的实现质量之间提供了良好的折衷方案。
图3和图4表示利用系统200的两种示例方法,包括四个步骤。图3和图4中的这四个步骤分别以不同的顺序执行。一个步骤包括识别链路的带宽或接收主机的性能。关于带宽,识别将要发送给定视频片段的数据流的链路的平均或最小可用带宽。或者可以识别数据流将被发送到的接收主机的性能。
另一步骤包括选择带宽范围或者数据流类型。带宽范围可以是多种预定带宽范围中的一种,使得选择的范围包含所识别的平均或最小可用带宽。数据流类型可以是多种数据流类型中的一种,使得识别的接收主机的性能能够处理所选择数据流类型的数据。
另一步骤包括对数据流以下述方式进行编码,该编码方式能够利用已选择或将要选择的带宽范围或数据流类型。该编码可以在选择之前或之后进行。若编码步骤先于选择步骤,则在先前已被编码的相同数据流组中进行选择。
最后一个步骤包括,通过链路将编码的数据流发送到接收端。
图3示出了第一示例方法,其中编码步骤先于选择步骤。
在步骤300,服务器200对多个数据流进行编码。该多个数据流的每一个都分别对应于带宽范围和/或一组接收性能的不同组合。
在步骤302,将多个数据流存储在服务器200中。
在步骤304,从视频数据的接收机,或接收机的用户组接收到启动流播会话的请求。
在步骤306,接收机或多个接收机的用户组识别最小或平均可用带宽和/或接收机的特定性能。这包括接收机和发送机之间的通信,涉及例如发送机端哪个流是可用的(即哪些选项对接收机是可用的)。通过例如RTSP等协议可以实现这种通信/协商。然后接收机可以订购特定的(一组)可升级的视频轨道。
应当执行在第一次步骤300和302之前或之后开始步骤304和306。最好先执行步骤300和302。在任何情况下,在图3的实施例中,步骤306(识别性能和带宽)都在步骤308之前执行。
在步骤308中,服务器选择适当的将要传送到特定MG的流。这种选择可以被简化为应用简单的标准。例如,如果数据流的目标带宽范围不同,则选择具有不超过用户(或用户组)链路的数据率的最大带宽范围的数据流。如果数据流的目标接收端主机性能不同,则选择对应该特定主机(或用户组)性能的数据流。如果数据流的目标带宽范围和性能均不同,则同时应用这两个标准。
在步骤310,将用户或用户组的最佳可升级视频流(即,可以最好地利用接收端或接收端组的带宽和/或性能的可用流)传送给用户。
当首先执行步骤300-310之后,重复执行步骤304-310从而将数据传送到其他接收端。除非加入新的数据流,否则不需要重复步骤300和302。
因此,在图3的方法中,可以预先对表示相同视频片段的不同数据流进行编码。当识别了给定MG的带宽或性能时,适当的数据流就可以立刻被传送到该MG。在MG中可以根据多个接收器对特定可升级流的请求,将它们分组。
图3中方法的特定(但非限定性)例子包括利用微粒升级技术对多个数据流编码,这些数据流中每一个分别对应不同的数据率范围,数据流在该范围内被传输;确定链路的平均或最小可用带宽,在该可用带宽内可以传输这些数据流中的一个;在视频数据传输所经过的链路的数据率可以兼容的所有范围中,选择多个范围内具有最大数据率的一个范围;并传输对应该选择范围的数据流。
图4示出根据本发明第二示例性方法的流程图。在图4的方法中,识别步骤在编码步骤之前。根据对视频片段的请求,实时或近似实时地执行识别带宽或性能、选择带宽范围或数据流类型以及对利用该带宽范围或数据流类型的数据流进行编码的这些步骤。
利用图4的方法,可以对相同的视频片段在第一和第二次循环中执行识别、选择和编码步骤,在第一次和第二次循环中,分别使用所识别出的不同平均或最小可用带宽或接收端主机性能,在各第一和第二循环中分别为相同的视频片段提供不同的编码后数据流。因此,也可以对两个不同的可升级数据流进行编码,这两个不同可升级数据流分别对应各自的接收端或接收端组。
在步骤400,接收机用户或接收机组请求会话。
在步骤402,当链路已经建立时,服务器200(或代理服务器)从接收端主机接收链路的平均或最小可用带宽的标识符或接收端主机性能的标识符。
在步骤404,为用户或用户组选择适当的带宽和/或性能(即,最佳利用接收端或接收端组的带宽和/或性能的有限预定带宽/性能组合中的一个)。
在步骤406,服务器200根据接收端所选择的带宽和/或性能对数据流编码。
在步骤408,将编码后的数据流传输到用户或用户组。重复执行步骤400到408。每次从具有有限数目的带宽和/或性能的预定组中选择不同的带宽和/或性能组合。
在图3和4中,接收机根据它们的喜好(例如对于特定QoS级别希望付出的费用)或由经验得到的试验带宽(通过信道估算、RTCP报告等确定)来指示带宽。
下面的例子是为了说明具有三种不同数据流(QCIF、CIF和SD)的情况,他们都表示相同的视频片段。
对于四分之一公共交换格式(QCIF)分辨率图像(即,176×144像素)10kbps FGS30kbps FGS10+30 MCFGS对于公共交换格式(CIF)分辨率图像(即,352×288像素)100kbps FGS300kbps FGS100+300 MCFGS对于标准清晰度(SD)分辨率图像(即,720×480像素)1Mbps FGS3Mbps FGS5Mbps FGS在上述例子中,这三个数据流分别具有不同的BL和不同的El。但是,这些例子可以像上述关于频率加权的例子一样来设计,其中BL在所有情况下都是相似的。
图5示出复杂度和效率之间的折衷使用是怎样影响对FGS数据流的数据流类型的选择的。下面说明应用该策略的例子。假设有1000个设备收听MG,且它们中的90%具有300kbps和1Mbps之间的带宽。剩下的具有象100kpbs这样低的带宽。然后所使用MC-FGS流应当具有100kbps的BL和300kbps扩展BL。该扩展的基本级别包括正常BL信息、加上从一个或更多EL中获得的扩展信息。或者,如果30%或其以上的设备具有低于300kbps的带宽,则传输具有100kbps的BL的FGS流就更为适当。因此,就可以考虑根据带宽在FGS和MC-FGS结构之间进行切换(即,选择FGS流或MC-FGS流)。
因此,该算法应当关注多种可升级的流,并根据这些流的复杂度或效率决定应当传输哪个流。
有时,如果用户可用带宽剧烈变化,则在会话期间可以“重新做出”将哪个数据流发送到特定接收机的决定。这可以通过例如切换决定向该客户发送不同的流来完成。或者,可以将客户连接到具有非常相似的带宽/接收机特性的不同MG。
服务器200可以对流编码,这些流对于多种不同的接收机性能部件都是最优的,这些性能部件包括但不局限于CPU,存储器,协处理器(运动补偿,帧率上变换器,后处理等)。在决定将哪个流发送到给定多点广播组(MG)的时候,考虑相同的性能。从而可以在整个位率范围内改进该FGS质量。
虽然示例性系统200通过互联网传送数据流,但是本方法可以用于无线链路的可升级媒体流播。
虽然上述例子包括FGS,但本发明还可应用于其他可升级类型,例如基于小波的可升级视频编码(例如3D SPIHT(分割层次树)等),基于MPEG-4的混合时域-SNR-空间可升级技术。
虽然示例性系统200在服务器中存储了多种数据流,但是这些数据流还可以存储在代理服务器中。代理服务器可以是例如路由器或网关,或者无线网路的基站。该代理服务器可以为无线客户设备(例如电话、掌上电脑、个人数字助理、无线调制解调器等)提供多种不同数据流,使各流分别针对不同的带宽和/或客户性能组合。
具有两个或三个流的系统可以为具有更高带宽或其它处理性能的接收端提供改进的视频,而不会以大量牺牲效率为代价。服务器可以存储四个或五个流或更多。
应当理解,接收端可以是多种的设备中的任何一种,这些设备包括但不局限于台式、膝上或掌上计算机、电视、机顶转换盒、例如视频磁带记录器或数字视频记录器等视频图像存储设备、TiVO设备、上述各项的组合等。
本发明可以以计算机可执行处理和用于实现该处理的装置的形式来实现。本发明还可以以记录在实际介质中的计算机程序代码的形式来实现,这些介质例如软盘、只读存储器(ROM)、CD-ROM,硬盘驱动器、ZIPTM驱动器或任何其他计算机可读存储介质,其中当计算机载入计算机程序代码并执行它们时,计算机就变为实现本发明的装置。本发明还可以被实现为计算机程序代码的形式,这些计算机程序代码或者被计算机存储在存储介质、载入并执行,或者经过某些传输介质例如电线或电缆、光纤或电磁辐射被传输,其中当计算机载入并执行计算机程序代码时,计算机就变为用于实现本发明的装置。当在通用处理器上执行该计算机程序代码时,这些计算机程序代码片断将使处理器构成特定逻辑电路。
虽然利用特定实施例对本发明进行了说明,但是本发明并不局限于此。而且附加权利要求将包括本发明的其他变化和实施例,本领域技术人员在不脱离本发明范围和等效范围的情况下可以实现这些变化和实施例。
权利要求
1.一种用于传送视频数据的方法,包括以下步骤(a)识别下述组中的一个(1)将要传输给定视频片段的数据流的链路的平均或最小可用带宽;和(2)数据流将要传送的接收主机的性能;(b)选择下述组中的相应一个(1)多个预定范围带宽中的一个,使得所选的该范围包含该识别的平均或最小可用带宽;和(2)多个不同数据流类型中的一个,使得所识别的接收主机的性能被用于处理所选择数据流类型的数据;(c)对数据流以下述方式进行编码,该编码方式能够利用已选择或将要选择的带宽范围或数据流类型;(d)通过链路将编码的数据流传送到接收主机。
2.根据权利要求1的方法,其中-步骤(c)先于步骤(a),和-步骤(c)包括对多个数据流进行编码,每个数据流都分别对应于多个预定带宽范围中的一个不同的带宽范围。
3.根据权利要求2的方法,其中使用了可升级的编码技术,并且多个流中的两个数据具有共同的基层和分别不同的增强层。
4.根据权利要求3的方法,其中该两个数据流中的第一数据流的增强层具有频率加权,选择性增强,或者其他任何能达到特定比特率范围的质量提高工具,两个数据流中的第二数据流的增强层不具有频率加权。
5.根据权利要求1的方法,其中-步骤(a)先于步骤(c),且-响应于对视频片段的请求而实时或几乎实时地执行步骤(a),(b)和(c)。
6.根据权利要求1的方法,其中-步骤(a)先于步骤(c),且-对相同的视频片段以第一和第二循环来重复执行步骤(a),(b),(c)和(d),-在第一和第二循环的每一个执行期间,都在步骤(a)中识别各自不同的平均或最小可用带宽,或者接收主机的性能,-在第一和第二循环的每一个执行期间,都在步骤(c)中对相同的视频片段提供各自不同的编码数据流。
7.根据权利要求1的方法,其中步骤(a)包括从接收主机接收一个链路的平均或最小可用带宽的标识符,或者当建立连接时接收主机性能的标识符。
8.根据权利要求1的方法,其中该识别的性能是执行运动补偿的能力。
9.根据权利要求1的方法,其中-步骤(a)包括确定将要传送一个数据流的链路的平均或最小可用带宽;-步骤(b)包括从多个范围中选择具有最大数据率的一个范围,所述多个范围能被将要传送视频数据的链路的数据率适应;和-步骤(c)包括使用微粒升级技术来编码多个数据流,该多个数据流中的每一个都对应于将要传送该数据流的分别不同的数据率范围。
10.一种用于传送视频数据的系统,包括以下步骤(a)用于识别下述组中的一个的装置,该组包括(1)将要传输给定视频片段的数据流的链路的平均或最小可用带宽;和(2)数据流将要传送的接收主机的性能;(b)用于选择下述组中的相应一个的装置,该组包括(1)多个预定范围带宽中的一个,使得所选的该范围包含被识别的带宽;和(2)多个不同数据流类型中的一个,使得所识别的接收主机的性能被用于处理所选择数据流类型的数据;(c)用于对数据流以下述方式进行编码的装置,该编码方式能够利用已选择或将要选择的带宽范围或数据流类型;(d)用于通过链路将编码的数据流传送到接收主机的装置。
11.一种包含计算机程序代码的机器可读介质,其中,当一处理器执行该计算机程序代码时,该处理器可执行一种传送视频数据的方法,包括以下步骤(a)识别下述组中的一个(1)将要传输给定视频片段的数据流的链路的平均或最小可用带宽;和(2)数据流将要传送的接收主机的性能;(b)选择下述组中的相应一个(1)多个预定范围带宽中的一个,使得所选的范围包含该识别的带宽;和(2)多个不同数据流类型中的一个,使得所识别的接收主机的性能被用于处理所选择数据流类型的数据;(c)对数据流以下述方式进行编码,该编码方式能够利用已选择或将要选择的带宽范围或数据流类型;(d)通过链路将编码的数据流传送到接收主机。
12.一种被利用表示计算机程序代码的数据编码的信号,其中,当一处理器执行该计算机程序代码时,该处理器可执行一种传送视频数据的方法,包括以下步骤(a)识别下述组中的一个(1)将要传输给定视频片段的数据流的链路的平均或最小可用带宽;和(2)数据流将要传送的接收主机的性能;(b)选择下述组中的相应一个(1)多个预定范围带宽中的一个,使得所选的该范围包含该识别的带宽;和(2)多个不同数据流类型中的一个,使得所识别的接收主机的性能被用于处理所选择数据流类型的数据;(c)对数据流以下述方式进行编码,该编码方式能够利用已选择或将要选择的带宽范围或数据流类型;(d)通过链路将编码的数据流传送到接收主机。
全文摘要
一种可传送流播视频数据的服务器或代理服务器(200)。由以下两种中的任一种构成一标识符将要传送的给定视频片段的数据流(210,220)的链路的平均或最小可用带宽,或者数据流将要传送的接收主机(240,250,260)的性能。对以下两种进行选择多个预定范围带宽中的相应一个,使得所选的该范围包含该识别的平均最小可用带宽;或多个不同数据流类型(210,220)中的相应一个,使得所识别的接收主机(240,250,260)的性能能够处理所选择数据流类型的数据。对数据流以下述方式进行编码,该编码方式能够利用已选择或将要选择的带宽范围或数据流类型。通过链路将编码的数据流传送到接收端。
文档编号H04N7/24GK1618226SQ03802360
公开日2005年5月18日 申请日期2003年1月14日 优先权日2002年1月17日
发明者M·范德沙尔 申请人:皇家飞利浦电子股份有限公司