用于输送视频服务到服务群组的自适应速率改变转让专利

申请号 : CN201180029421.1

文献号 : CN102934453B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : J.亚历山大

申请人 : 爱立信电视公司

摘要 :

视频流提供到观看者的机顶盒以满足观看者对视频点播服务的请求。以服务质量管理器基于为服务群组定义的参数选择的多个编码率之一编码视频流,在各种实施例中,服务群组可包括观看者或观看者及单个QAM服务的其它客户。用于确定编码率的参数可涉及当前分配的带宽、观看者的服务参数、其它客户的服务参数及关于编码率选择数据的历史数据。用于将流编码的编码率可在流传送期间响应其它服务请求而进行修改。编码率可基于来自服务群组中其它成员的预期服务请求而改变。

权利要求 :

1.一种用于为基于MPEG的数字视频信息流确定编码率的系统,包括:服务质量管理器,包括配置成为包括有线电视系统的观看者的客户确定数字视频信息流的编码率的处理器,所述处理器配置成:(a) 接收来自所述客户的服务配置文件的视频质量服务参数,其中所述视频质量服务参数指示要流传送到所述客户的视频质量的级别,(b) 确定当前是否在响应前一视频点播请求而为所述客户提供另一数字视频信息流,并且如果是,则确定所述另一数字视频信息流的相关联编码级别,(c) 确定与在服务于所述客户的共享传送媒体上的带宽有关的资源分配的级别,(d) 响应对视频点播服务的当前请求,为所述观看者确定多个编码率中的一个编码率,(e) 在确定当前在为所述客户提供所述另一数字视频信息流时,响应对视频点播服务的当前请求,降低当前用于提供到所述客户的所述另一数字视频信息流的视频编码的质量,(f) 为包括VOD会话管理器的VOD服务器提供授权以提供所述数字视频信息流,其中所述数字视频信息流以所述编码率编码,以及(g) 更新与用于将所述基于MPEG的数字视频信息流编码的所述编码率相符的资源分配的所述级别。

2.如权利要求1所述的系统,还包括编码率管理器,包括配置成与编码器通信的第二处理器,其中所述编码器将所述基于MPEG的数字视频信息流从第一编码率编码到第二编码率。

3.如权利要求1所述的系统,还包括VOD会话管理器,所述VOD会话管理器包括配置成通知所述服务质量管理器当前是否在响应所述前一视频点播请求而为所述客户提供另一数字视频信息流的第二处理器。

4.如权利要求1所述的系统,还包括历史使用数据库,所述历史使用数据库包括与用于为所述观看者将数字视频信息流编码的以前编码率有关的数据,其中所述服务质量管理器处理器配置成查询所述历史使用数据库。

5.如权利要求1所述的系统,包括存储当前分配到多个观看者的编码率的信息的资源分配数据库。

6.如权利要求1所述的系统,其中所述服务质量管理器处理器进一步配置成:通过将所述另一数字视频信息流的质量的降低考虑在内,更新用于所述客户的资源分配的所述级别。

7.如权利要求1所述的系统,其中多个编码率中的所述一个编码率大于在所述观看者的客户服务配置文件中指示的最小编码率。

8.如权利要求7所述的系统,其中更新与用于将所述基于MPEG的数字视频信息流编码的所述编码率相符的资源分配的所述级别不超过与所述客户服务配置文件相关联的阈值级别。

9.一种用于选择编码率的方法,包括以下步骤:

接收用于为与来自观看者的视频点播请求相关联的基于MPEG的数字视频信息流确定编码率的请求,所述请求响应所述观看者请求视频点播服务而始发;

确定与关联于所述观看者的客户服务配置文件相关联的视频质量编码级别;

确定当前是否在响应来自所述客户的前一视频点播请求而为所述客户提供另一数字视频信息流;

确定与在服务于所述客户的共享传送媒体上的带宽有关的资源分配的级别;

响应来自所述观看者对所述视频点播服务的当前请求,为用于所述观看者的所述基于MPEG的数字视频信息流从多个编码率选择所述编码率;

在确定当前在为所述客户提供所述另一数字视频信息流时,响应对视频点播服务的当前请求,降低当前用于提供到所述客户的所述另一数字视频信息流的视频编码的质量;

为所述客户提供最小编码率的授权在客户服务配置文件中定义,并且包括VOD会话管理器以提供所述数字视频信息流,其中所述数字视频信息流以所述编码率编码;以及基于用于将所述基于MPEG的数字视频信息流编码的所述编码率,更新相符的资源分配的所述级别。

10.如权利要求9所述的方法,还包括以下步骤:

选择在VOD服务器中存储的多个基于MPEG的数字视频文件的一个文件,其中所述多个基于MPEG的数字视频文件的每个文件是以不同编码率编码的共同视频节目;以及将多个基于MPEG的数字视频文件的所述一个文件流传送到所述观看者。

11.如权利要求9所述的方法,还包括以下步骤:

查询历史使用数据库,所述历史使用数据库包括与用于为所述观看者将数字视频信息编码的以前使用的编码率有关的历史编码率使用数据;

使用所述历史编码率使用数据,确定所选择的编码率。

12.如权利要求9所述的方法,还包括以下步骤:

通过将所述另一数字视频信息流的质量的降低考虑在内,更新用于所述客户的资源分配的级别。

13.如权利要求12所述的方法,其中资源分配的所述级别的更新记录用于将所述数字视频信息编码的编码率。

14.如权利要求13所述的方法,其中所选择的编码率大于在客户服务配置文件中为所述客户定义的最小编码率。

15.如权利要求10所述的方法,其中所述VOD服务器存储与共同电影节目相关联的按照不同编码率的多个基于MPEG的数字视频信息流。

16.如权利要求9所述的方法,其中确定与在服务于所述客户的共享传送媒体上的带宽有关的资源分配的级别进一步包括确定到包括多个客户的服务群组的资源分配的级别。

17.如权利要求16所述的方法,其中包括多个客户的服务群组包括共享共同QAM调制器的客户集。

18.如权利要求17所述的方法,其中基于用于将所述基于MPEG的数字视频信息流编码的所述编码率,更新相符的资源分配的所述级别包括更新所述服务群组的使用。

说明书 :

用于输送视频服务到服务群组的自适应速率改变

技术领域

[0001] 公开的发明一般涉及使得用于视频点播服务的视频编码率适用于在有线电视系统中服务群组中的订户,其中,速率自适应是基于当前或计划的带宽使用条件。

背景技术

[0002] 许多视频服务提供商响应来自观看者的显式请求,将视频信息传送到观看者。视频点播(“VOD”)服务的提供在技术领域为人所熟知,并且不同于根据调度发生的视频信息的广播传送。通过VOD,传送的实际视频节目由观看者确定,并且经常不能单独预测。然而,在聚合基础上,许多视频服务提供商能够预测用于VOD节目制作(programming)的观看者需求。
[0003] 视频服务提供商将VOD节目存储为数字视频文件。这些文件经常称为“视频资产”,并且被构建为“包”,这涉及格式化数据并且以某个方式定义内容的熟知工业标准。这允许内容的数字视频文件不同于元数据,元数据是与视频信息有关的数据。“包”的使用有利于文件以各种方式的处理。经常使用诸如MPEG等在技术领域熟知的标准化格式编码视频信息。在给定编码标准内,可以有支持的各种编码格式。
[0004] 视频服务提供商可使用一种编码格式存储视频节目,但可将它转换(“转码”)成另一格式以便分发。由于目标编码格式可与其它设备兼容,并且可以能够只显示更低分辨率,因此,这可能是必需的。一般情况下,使用更低分辨率格式要求更少的数据以输送视频信息,并且因此文件的传送要求更少的带宽。因此,一般情况下在用于将视频信息编码的编码方案、显示的视频图像的分辨率的相关联质量及传送视频数据要求的相关联带宽之间存在直接关系。
[0005] 视频服务提供商通常关注在分发视频中涉及的带宽,因为它是有限的资源。无论使用的分发技术如何,管理用于不同用户的带宽分配具挑战性。在许多情况下,服务提供商将基于使用的带宽量收取不同费用。因此,服务提供商关注观看者使用的带宽量,这是因为它能影响其它观看者接收的服务的质量(即,视频质量)。
[0006] 由于视频服务提供商能够以不同方式将视频节目转码,并且特定编码方案的使用影响与传送该节目相关联的带宽,因此,视频服务提供商将希望能够有效地管理基于使用的编码方案如何分配带宽。

发明内容

[0007] 本发明的各种实施例是可能的,包括定义用于以来自多个编码级别的给定编码级别为观看者流传送点播节目制作的系统和方法的实施例,其中,基于各种信息选择编码级别,信息能够包括用于服务群组的可用资源、用于观看者的服务参数及有关编码级别的历史信息。在另一实施例中,系统能够响应来自服务群组中其它观看者的其它请求,调整给定流的编码级别。

附图说明

[0008] 在如此概括描述本发明后,现在将参照附图,附图不一定按比例画出。
[0009] 图1示出用于使视频服务的视频编码率适应服务群组的环境的一个实施例。
[0010] 图2示出能够如何创建不同编码视频流的实施例。
[0011] 图3示出能够如何创建不同编码视频流的另一实施例。
[0012] 图4示出能够如何为不同视频流分配带宽的一个实施例。
[0013] 图5示出用于适应视频服务的视频编码率的环境的另一实施例。
[0014] 图6示出服务质量管理器系统的一个实施例。
[0015] 图7示出在SQM中基于客户的用于编码方案的选择的处理的一个实施例。
[0016] 图8示出在SQM中基于QAM服务群组的用于编码方案的选择的处理的一个实施例。
[0017] 图9示出在SQM中基于使用历史数据的用于编码方案的选择的处理的一个实施例。
[0018] 图10示出在SQM中基于使用历史数据的用于编码方案的选择的处理的另一实施例。
[0019] 图11示出在编码方案的选择中使用的历史数据的一个实施例。

具体实施方式

[0020] 现在,将在下文参照附图,更全面地描述本发明,附图中示出了发明的一些但并非所有实施例。实际上,这些发明可以许多不同的形式实施,并且不应视为限于本文所述的实施例;相反,这些实施例的提供是为了使本公开内容将满足可申请的法律要求。通篇类似的标号指类似的单元。
[0021] 得益于以上描述和相关联图形中所示的教导,这些发明所涉及领域的技术人员将明白本文所述发明的许多修改和其它实施例。因此,要理解发明并不限于公开的特定实施例,并且修改和其它实施例要包括在随附权利要求的范围内。虽然在本文中采用于一些特定的术语,但它们只是一般性和描述性地使用,并不是要进行限制。
[0022] 虽然某些方法、设备、系统和制品已在本文中描述,但本专利的覆盖范围并不限于此。与此相反,各种实施例包括在书面或在等同物原则下完全位于随附权利要求书范围内的各种设备、系统和制品。
[0023] 如应理解的一样,实施例可以各种方式实现,包括实现为方法、设备、系统或计算机程序产品。相应地,实施例可采用完全硬件实施例的形式,或者采用其中诸如处理器或其它专用装置等计算硬件编程为执行某些步骤的实施例的形式。此外,各种实现可采用在计算机可读存储媒体上的计算机程序产品形式,而在存储媒体中实施有计算机可读指令。任何合适的计算机可读存储媒体均可利用,包括硬盘、CD-ROM、光存储装置或磁存储装置。
[0024] 下面参照使用计算机硬件执行的方法、设备、系统和计算机可读程序产品的框图和流程图示图描述实施例。应理解的是,框图和流程图示图分别可部分通过执行计算机可读程序指令的处理器实现,例如,实现为在计算系统中的处理器或其它计算硬件组件上执行的逻辑步骤或操作。这些计算机可读程序指令加载到诸如专用计算机等计算机上或其它可编程数据处理设备上以产生专门配置的机器,使得在计算机或其它可编程数据处理设备上执行的指令实现在流程图方框中指定的功能。
[0025] 过程定义
[0026] 过程涉及为提供到观看者的视频流适应编码率。视频服务涉及视频点播服务(“VOD”),该服务将数字编码的视频由视频服务提供商(“VSP”)通过分发网络流传送到观看者。一般情况下,使用作为用于数字化视频的熟知工业标准的基于MPEG的编码标准将视频编码,但能够使用其它编码过程。此外,虽然使用有线电视服务提供商(“CSP”)形式的视频服务提供商和使用有线分发网络(例如,混合光纤同轴或其它共享传送媒体)说明本发明的原理,但本发明的原理适用于共享共同传送资源的其它分发媒体和技术,包括通信的无线形式。这明确包括视频服务的基于卫星或蜂窝(3G、4G、WCDMA等)的输送。
[0027] MPEG-2提供不同编码级别,这些级别支持不同帧速率和分辨率。这些又与不同比特率配置文件(profile)相关联。例如,称为“LL”、‘ML“、”H-14”和“HL”的MPEG级别对应于每秒4、15、60和80兆比特的带宽要求。其它编码过程可提供用于其它级别或格式分辨率。不必将本发明限于基于MPEG的编码级别,而是MPEG说明本发明的普通应用。
[0028] 由服务提供商适应编码率对用户是部分透明的,表现在观看者不明确请求适应编码率。相反,服务提供商可基于观看者不知道的条件调整编码率,如其它观看者对VOD服务的请求的量。一般情况下,观看者与限制或定义流传送的视频的质量的各种服务质量(“QOS”)参数相关联,并且那些参数可由服务提供商查阅以确认网络可适应或修改为在传送(或要传送)到观看者的流分配的带宽(“BW”)。
[0029] 适应编码率的过程表示用于鉴于其它观看者对VOD节目的请求而调整涉及观看者的有限资源(即,在共享媒体上可用的带宽)的一种方案。一般情况下,观看者的集体请求一般以一定的可预测性发生,并且因此服务提供商将可能观察可预测的业务模式。例如,星期六晚上可以是家庭在晚上7点到11点之间观看电影的普遍时间,而其它时间期(例如,星期二早上2点到上午9点)可不是观看者请求VOD节目的普遍时间。
[0030] 本文中所述带宽的分配一般不适用广播视频节目,就广播视频节目而言,带宽分配通常是可预测的。广播节目制作可持续提供(例如,每天24小时),或者可在一天的大部分时间(例如,每天20小时)提供。然而,提供节目制作的确定性意味着能够在可预测基础上分配适当的资源。由于此类型的分发对有所有观看者均可访问,因此,更多观看者可调谐到广播信道的事实不会消耗任何另外的带宽。相反,在另外的用户请求视频点播服务(以其各种形式,包括VOD电影、按次付费事件等)时,消耗在分发媒体上的另外带宽。在此情况发生时,对另外流传送的请求意味着另外的带宽在消耗,并且能够分配的只有固定量的带宽。
[0031] 然而,在其它广播视频环境中,提供的节目的数量可基于日时而有所不同,并且为不同节目制作的不同质量级别分配不同带宽是可能的。例如,在深夜期间,可广播更少的信道,并且这可允许某一节目制作调整编码的质量级别。在此类情况下,广播视频节目制作能够视为具有变化的业务级别和质量编码级别,并且因此本发明的原理的应用能够适用。然而,为便于说明,使用点播节目制作解释本发明的原理。
[0032] 分配用于VOD流的带宽量能够受用于该视频流的特定编码率影响。编码率的分配影响在用户的电视机上看到的图像的质量。虽然CSP希望观看者始终具有可能的最高质量观看体验,但这不是始终可行的。一些CSP可提供另外的收费以接收更高质量节目制作,这是因为它消耗更多带宽。并非所有观看者可发现另外的质量提供相当大的益处以表明包含的成本是物有所值。如果观看者没有适当的高分辨率电视,则更高编码可不产生更高质量图像,并且因此观看者可不愿意支付高编码质量的费用。备选,如果观看者具有能够显示高分辨率的电视,但节目制作原来不以高分辨率格式拍摄,则同样地,更低分辨率编码方案可对于观看者是可接受的。观看者可因此通过预订参数选择要应用到其节目的观看的各种QOS参数。此外,网络可选择基于这些参数更改编码率。参数能够由不同服务提供商以不同方式定义,而不脱离本发明的范围。此外,在一些实施例中,参数能够由服务提供商设置而无需来自观看者的明确指示。
[0033] 由服务提供商访问的QOS参数能够用于:i)确定是否应修改当前视频流的当前编码率以适应在共享媒体上的其它VOD请求,或者2)将来(例如,请求的)VOD视频流是否应使用特定编码率。在一个实施例中,QOS参数能够用于为VOD流定义默认或优选编码率。QOS参数影响选定的编码方案,并且因此影响为视频流分配的带宽或使用的编码率。因此,QOS的各种级别、视频流使用的各种编码率和各种带宽直接相关。因此,虽然这些概念互相关,但它们是可区分的。确定编码率便确定消耗的带宽量。
[0034] 在一个实施例中,QOS参数指示要提供到用户的视频流的质量的最小阈值。然而,如果服务提供商能够提供编码的更高默认级别,则此级别可被网络超过以便提供编码的该更高级别。例如,观看者可与指示要提供“适中”质量视频的QOS参数相关联,但服务提供商可在有可用带宽时提供“高”质量视频。然而,在其它情况下,服务提供商可预期在某些时间内,可能收到其它观看者的视频请求,并且由于它们可请求“高”质量视频,因此,带宽将不足以满足这些随后的请求。为避免这种可能性,服务提供商可修改用于第一请求的编码率。具体而言,如果添加高质量率编码的VOD流超过在分发设施上可用带宽的阈值,则网络可重新调整或降低其它VOD会话的编码率以便容纳当前请求。如果其它VOD会话包括具有允许更低QOS标准的QOS参数的观看者,但由于在他们请求会话时另外带宽可用于分配而当前在接收高质量会话,则情况尤其是如此。
[0035] QOS的阈值级别的定义和使用的结果编码率要求定义全域(universe),基于全域应用阈值。一般情况下,这些是群组的用户(即,与用户相关联的潜在或实际视频流的群组),使得总带宽定义能够分配的最大带宽。具有不同大小的用户的此全域(称为服务群组)能够以不同方式定义。在本发明中,定义了两种类型的服务群组。首先,能够将服务群组定义为“家庭”(household),这包括客户可在共同服务位置操作的各种潜在视频流传送接收装置的集。这能够称为客户,这是因为服务群组是有一个客户的群组(但在家庭中可以有多个个体)。其次,能够将服务群组定义为家庭集,这在一个实施例中大约是12-20个家庭。在此情况下,家庭集一般是单个QAM能够容纳的信道数量。因此,这称为QAM服务群组。
[0036] 就定义为家庭的服务群组而言,实施例反映了根据客户预订参数定义QOS参数的可行性。即,一般与服务位置相关联的客户同意用于在该位置接收服务的服务级别。一般情况下,位置是家庭,并且客户可具有位于其中的多个装置,这些装置可在各种时间以不同方式使用。与家庭相关联的客户可限制流的聚合数量或高质量视频流的数量。
[0037] 就定义为服务群组(“服务群组”)的群组而言,大小是基于单个QAM复用器一般能够服务的家庭的最大数量。QAM的带宽受到限制,并且这为限制用于到用户的VOD会话的聚合带宽提供了固有的基础。然而,单个QAM的带宽可随着技术改进而更改,并且用户的数量取决于各种因素。因此,需要定义灵活的机制。然而,此群组比单个家庭或客户更大,使得必须将与家庭的聚合数量相关联的阈值考虑在内。
[0038] 有鉴于此理解,能够更好地理解图1的上下文。图1示出反映包括多个家庭102a、102b、104的本发明的一个实施例的系统100。此家庭集在一个实施例中能够一起被视为服务群组,其中,它们全部连接到相同线缆分发网络120。每个家庭可具有不同设备和配置,并且一个典型的配置104已示出。在此配置中,家庭利用网关装置110,其服务于各种功能,包括充当本地路由选择集线器。网关也可具有用于与各种线缆头端组件传递信息的功能性。
家庭104还包括分别连接到两个电视机106a、106b的两个机顶盒(“STB”)105a、105b。在此实施例中,两个电视机均能够显示高质量(分辨率)视频。还包括连接到符合DOCSIS的线缆调制解调器107的PC 108,线缆调制解调器连接到内部线缆布线。PC可经因特网连接接收视频,并且在有线电视服务提供商与第三方提供的视频之间的不同已绘出。如果视频由有线电视服务提供商提供,则如本文中公开的一样,可能是CSP能够改变视频的质量。
[0039] 线缆头端包括在线缆分发网络120上接收各种输入并提供对应流的复用器150。复用器也从STB接收以及如虚线151所示向其它设备提供“上游”信令。虽然流可包括各种广播节目(未示出),但更有关的视频流与各种点播服务器140、142、144相关联。如将简要讨论的一样,存在可能的各种实施例,并且此实施例示出三种不同服务器。第一服务器140是在VOD服务器中存储的低质量(或更低分辨率)编码视频文件。相同的节目也可在VOD服务器142中以适中分辨率或适中质量图像编码存储。最后,示出了存储高质量或高分辨率图像的第三服务器144。并非所有实施例将具有物理上分开的服务器,而是在逻辑上这些服务器能够视为不同的实体,这有助于说明本发明的原理。
[0040] 示出三个级别的编码质量或分辨率只是为了便于说明。可存在另外的级别,并且三个编码级别的选择足以方便地说明本发明的原理。此外,存在关于如何存储文件以及如何提供流到复用器150的各种实施例。在图1的实施例中,实线指示能够输送信号和视频流的设施,而虚线一般只输送信令信息。虽然箭头已指示,但这些箭头说明信息的主要方向,并且设施实际上经常能够进行双向通信。
[0041] 三个VOD服务器140、142、144由VOD会话管理器132控制,该管理器也经线路151接收观看者的VOD有关信令请求。VOD会话管理器能够视为在VOD服务器中的控制应用程序,VOD服务器包括用于存储VOD视频资产的数据仓库。一般情况下,用户使用菜单结构请求VOD节目。这通过用户使用遥控器与机顶盒交互进行,产生向上游发送到VOD会话管理器的VOD请求。VOD会话管理器确保适当的VOD服务器将请求的节目流传送到复用器,并且由复用器在定义的信道上流传送到观看者的STB。VOD会话管理器随后通知STB要调谐的信道以便观看请求的电影。
[0042] 在此实施例中,VOD会话管理器132与两个其它单元交互:客户服务参数数据库134和服务质量管理器130。客户服务参数包括在确定应提供到观看者的质量级别中使用的各种预订有关的数据值。因此,这些参数一般基于客户(例如,一般情况下是家庭)定义。因此,每个家庭104、102a和102b将具有不同的客户服务参数集。这些集能够包括允许的同时VOD流数量、能够分配到客户的总点播带宽及流应处于的质量。为便于说明,用于家庭104的参数能够指示允许三个同时高质量流,包括两个高质量流和一个适中质量分辨率流。这例如将允许家庭同时在每台电视机上观看高质量节目,同时使用带有数字视频记录能力的STB,记录第三适中质量编码的节目。
[0043] VOD会话管理器132也与服务质量管理器130交互。服务质量管理器(“SQM”)能够也与客户服务参数交互(直接或经VOD会话管理器)以查明客户当前具有的在进行的现有VOD会话数量和类型。SQM经VOD会话管理器知道与该客户建立了的其它会话,指派到客户的服务级别及允许的网络资源的可用带宽。在其它实施例中,SQM能够查询观看者的STB以获得当前使用信息。然而,在许多情况下,有线电视服务提供商将保持此信息。因此,SQM随后能够通知VOD会话管理器应使用提供适当编码级别(例如,低、适中或高质量或编码分辨率级别)的哪个VOD服务器。因此,虽然VOD会话管理器关注要如何处理特定单独客户,但服务质量管理器也可具有关于此的输入,并且SQM知道请求观看者只是一个客户的资源和需求。
[0044] 因此,图1示出线缆头端的基本实施例100,其中,在不同VOD服务器中存储不同编码质量级别,并且基于客户相关联服务参数选择编码的适当质量级别。
[0045] 图2示出用于生成和控制各种编码视频流的备选实施例。图2中通过包括编码器230、232和234及编码器240、242和244的两个实施例示出要提供的流的适应。在一个实施例中,视频流250同时提供到三个编码器230、232、234。视频可从VOD服务器或其它源提供。每个编码器表示用于将视频输入转码成所需编码质量和输出格式的所需硬件/软件。当然,如前面所述,要求的带宽与编码级别相符。在一些实施例中,提供输入流250的视频源可已经以最高质量级别编码,并且在编码器234将视频流转码到“高”质量级别可实际上不要求转码。因此,在某些实施例中,能够绘出直线通过高级别编码器234。然而,为便于说明,假设将要求一些转码,并且因此存在编码器234。一般情况下,将视频信号转码通常通过接收更高质量信号作为输入并且以更低质量级别将它编码来进行。在交换器220接收每个编码器的输出。交换器220选择输入之一,并将信号传送到输出,输出又提供到复用器。交换器要选择哪个输入提供到复用器是由SQM 130控制。因此,SQM控制用于输入视频250的编码率(这假设为以前已由观看者选择)。虽然未示出,但SQM可与VOD服务器和客户服务参数交互。
[0046] 图2也示出用于选择向观看者提供的编码率的另一实施例,这涉及交换器223、编码器240、242和244及交换器222。在此实施例中,VOD输入流提供到交换器224,该交换器将视频引导到对应于编码器之一的特定输出端口。视频由编码器接收,转码并提供到交换器222。同样地,SQM一致地配置交换器224和222,使得在视频信号提供到编码器时,该编码器的对应输出通过交换器222交换到复用器。这样,观看者能够控制用于提供到观看者的视频的编码率。虽然相对于前一实施例,此实施例要求另外的“前端”交换器224,但此方案可能允许另一视频输入通过交换器224交换到未使用的其它两个编码器之一,并且随后通过交换器222交换回复用器。这样,未使用的视频资源可能能够用于请求VOD电影的另一观看者。
虽然每个编码器示为将单个流编码,但其它实施例可同时将多个流编码。
[0047] 另一实施例在图3中示出,其中能够存储几个编码流之一以便将来流传送到观看者。在图3中,复用器和其它设备未示出,这是因为明显的是在一个实施例中,VOD服务器301的输出提供到复用器。
[0048] 在图3中,视频流提供到三个编码器—低分辨率编码器302、适中分辨率级别编码器304和高分辨率级别编码器306。每个编码器同时将视频流转码,并且结果流发送到包括三个逻辑数据仓库310、312和314的VOD服务器301。这些数据仓库保持视频流的低分辨率编码副本及适中和高分辨率编码的副本。这样,VOD服务器存储所有三个编码版本,并且作为VOD服务器处理器303执行的控制应用程序的VOD会话管理器132选择要流传送出几个版本的哪个版本。因此,VOD会话管理器选择要流传送哪个版本,并且实际上控制流的速率。此实施例具有能够在非工作时间期间将新添加的电影流传送到VOD服务器,以及相同节目的各种编码级别能够存储在VOD服务器上,由此避免涉及编码器的资源争用问题的优点。
[0049] 用于提供不同编码流的每个实施例能够进行改变和修改。因此,本领域技术人员能够开发用于流传送和/或存储基于不同编码VOD的视频流的另外体系结构或变化。
[0050] 适应编码率
[0051] 响应更改的条件,包括另外观看者对点播视频的请求,实时适应用于点播视频流的编码率。一个实施例在图4中示出。在图4中,表示400是关于随时间示出的各种分配的带宽(这与编码类型相符)。X轴表示时间,并且是线性的。Y轴是分配的带宽,不是线性标度,而是通过相对宽度表示相对分配带宽。例如,在点410,视频1具有比在点412的BW2a更大(例如,更宽)的BW1的带宽。根据在时间435请求(并提供)到观看者435的视频2 420,降低了分配到视频1的带宽。网络确定用于视频1的带宽要降低以便容纳视频2,并且视频2将以降低的带宽BW2b显示。
[0052] 类似地,在第三视频流开始的时间437,用于视频1和视频2的相应带宽要降低以便容纳视频3 430。因此,某些阈值用于确定新视频流是否能够提供到观看者,这部分取决于当前提供到观看者集的流、其编码级别和每个观看者的服务参数。通过将流迁移到更低质量编码率,降低了分配的带宽。
[0053] 图5的实施例示出另一实施例,其中,编码组件由知道各种服务参数的其它组件控制。在图5中,系统包括能够如前面所述提供点播视频的不同编码流的各种编码结构。此外,也能够包含图3的实施例和其它变化。在图5中,添加了编码率管理器502,该管理器知道各种编码体系结构,并且知道如何管理交换资源220、224和222以实现所需编码率。编码率管理器消除了对来自SQM 130的网络配置知识的要求,SQM现在能够只指示编码速率管理器要提供哪个编码流。这允许服务方面与网络体系结构方面的分离。
[0054] 如前面所述,SQM接收有关客户的服务参数134的信息作为输入。另外,在一些实施例中,SQM也可接收历史使用数据,历史使用数据包括有关何时观看者或观看者集选择VOD节目制作和网络的相关联响应的信息。这包括有关何时系统500要调整用于观看者的速率编码的信息。因此,包括请求、分配和授予用于所有视频请求的带宽的所有历史数据可用作输入,以帮助SQM预测系统500应如何对VOD请求做出反应。
[0055] 例如,可保持指示五个不同编码级别可用于服务群组的观看者的数据。历史数据指示无论何时为晚上的请求为观看者分配最高编码级别(假设这是“级别5”),它通常由于来自服务群组的成员的其它随后请求而降到级别4。网络可转而分配级别4编码,以便避免更改编码级别。
[0056] SQM 130也具有包括服务群组参数506的可用数据,其定义用于涉及的特定QAM复用器的服务群组的大小和成员。一般情况下,QAM复用器具有足够的容量以容纳用于12-20个家庭的视频点播业务。服务群组也能够被视为基于物理分发资源能够分配的最大可能带宽。
[0057] 最后,在图5中,SQM与VOD会话管理器132交互以获得有关已建立的现有VOD会话数量和与哪些观看者和服务群组建立的信息。在各种实施例中,可能可涉及不同类型的服务群组。在各种实施例中,分配到VOD会话的当前带宽可存储在VOD会话管理器中,或者可保持在历史使用数据文件504中。因此,SQM知道哪些VOD会话在活动状态和每个会话当前具有的编码方案(及因此相关联的带宽)。
[0058] 服务质量管理系统体系结构
[0059] SQM系统体系结构的一个实施例在图6中示出。在图6中,系统410包括存储器469,该存储器能够包括RAM类型的存储器467和ROM类型的存储器465。RAM存储器可存储执行下述过程的服务质量管理器模块485和操作系统480的工作版本。ROM也可如技术领域熟知的一样存储BIOS数据426。处理器460执行SQM模块的指令及其它指令,并且经总线461与存储器通信。处理器也可与能够在共同位置或远处的第二数据仓库(存储系统463)交互。存储系统也可存储在启动时加载到RAM中的SQM模块485及操作系统480的副本。总线461允许在处理器之间进行数据传送,并且也允许使用I/O接口464和网络接口474进行输入/输出数据。SQM系统410的各种其它实施例是可能的,包括使用并行或分布式处理的体系结构。
[0060] 服务质量处理算法
[0061] 图6的上述SQM系统执行各种指令,这些指令是算法。一个此类算法是SQM分配带宽的过程能够基于各种输入,图7中示出了一个实施例。处理器700基于分配用于“新”客户(例如,家庭)的带宽705。客户是“新的”,这是因为当前未向它们分配带宽,或者这是针对另外的请求。因此,结合观看者请求VOD流启动过程。VOD服务器先确定请求的节目在库中是否存在,并且确定观看者是否有请求服务的授权。换而言之,在一个实施例中,节目请求应在分配资源之前可用。在此实施例中,VOD服务器请求SQM确定用于流的适当编码率,并且依赖SQM随后确保适当的编码器和交换资源已布置用于处理视频流。在另一实施例中,SQM能够确定适当的编码率,并且通知VOD服务器适当的编码率,以及VOD服务器随后调用编码率管理器以确保经编码和交换资源提供适当的编码率。图7中公开的过程能够根据任一布置适应和运行。
[0062] 在步骤710接收对编码级别的请求后,SQM查明用于此客户的当前使用配置文件。这涉及在步骤715中确定对于此客户,当前活动的VOD会话的数量。这可通过SQM查询VOD会话管理器来完成。接着,在步骤720中,SQM通过查询适当的数据库而获得客户QOS参数。因此,此时SQM知道有关以下的相关信息:1)有关VOD会话,客户在请求的内容,2)对于客户,在活动的VOD会话的数量,以及3)客户应接收编码的什么质量级别。
[0063] 一般情况下,客户QOS参数指示对于将用于VOD会话的流进行速率编码应存在的最小质量级别。例如,如果客户始终接收编码的最高质量,则默认级别将始终是最高编码级别。在一些实施例中,此类QOS参数未提供由服务提供商改变编码率的灵活性。另一方面,如果客户QOS参数指示编码的适中级别,则服务提供商可在可允许时提供高级别编码。如果提供高级别编码,则服务提供商可随后在视频的流传送期间将编码降低到适中级别以容纳来自该观看者对第二视频流的另一请求。因此,系统能够为第一请求提供高质量视频,并且将它降低以容纳第二请求。
[0064] SQM也可跟踪用于客户的总可允许带宽值或编码级别。在此实施例中,SQM可允许任意数量的流(或上至某个限制的多个流),使得不超过用于每个类型的流的聚合带宽。例如,阈值带宽限制可允许客户具有两个高质量流或三个适中质量流。关于能够如何分配带宽和/或能够修改现有流的多个变化是可能的。SQM也能够基于带宽或编码率级别(因为两者是相关的)跟踪和分配资源。
[0065] 有鉴于此理解,能够理解在步骤725中的逻辑。SQM确定为该请求的视频流分配默认编码率是否将超过分配到该客户的聚合带宽。如果在默认速率级别分配流不超过用于该客户的任何限制,则进行步骤735。在此步骤中,SQM指示编码器管理器分配用于提供所指示编码级别的资源。随后,在步骤745中,SQM为另外的视频流分配用于该客户的所指示带宽。
[0066] 然而,如果在步骤725期间为请求的VOD流分配默认带宽将超过指派到客户的阈值限制,则SQM将执行各种功能以调整或另外满足VOD请求而不超过带宽阈值限制。因此,在步骤730中,SQM可通过更改用于到该客户的当前视频流的编码级别,降低消耗的带宽。可选的是,在步骤740中,SQM可为新请求的VOD流分配编码的更低级别。要采取的特定步骤在每个实施例中有所不同,并且可包括另外或不同的步骤。
[0067] 在步骤750中,SQM随后就分配的编码的类型更新VOD会话管理器。(在其它实施例中,SQM可保留此信息。)在步骤755中,SQM授权VOD服务器流传送电影。编码管理器已建立必需的网络配置,使得所指示编码级别得以提供。过程随后在步骤760结束。
[0068] 图7示出在SQM中确定在当前提供到特定客户的视频流的上下文中和在该客户的QOS参数的上下文中如何容纳该客户的请求的处理。这要求网络保持有关分配到客户的资源的信息。图8示出在SQM中在QAM服务群组的上下文中容纳特定客户的请求的处理。在此情况中,上下文涉及确定能够分配到QAM服务群组的带宽阈值或编码率集,并且确定容纳客户的请求是否将超过此值。如果是,则请求修改到服务群组的当前提供视频流或者修改与当前视频相关联的编码级别。服务群组带宽分配算法802假设从服务群组的成员接收VOD请求的步骤已经发生。下一步骤804确定用于服务群组的分配的带宽及为服务群组已建立什么限制。接着,在步骤810中,SQM确定为请求的视频流分配默认速率编码是否将超过用于服务群组的阈值。如果确定为“否”,则执行为视频流设置适当编码级别的步骤840。
[0069] 如果步骤810中的确定是编码级别将超过服务群组阈值,则SQM确定服务群组中的哪些客户在接收视频流,并且在步骤820中比较用于每个流的当前编码级别和每个客户的单独使用。在步骤822中SQM修改编码级别并因此修改为给定客户消耗的带宽,并且在步骤824中更新服务群组的带宽使用。随后,SQM测试修改编码级别是否足以使带宽可用于服务群组,使得SQM能够为在请求的当前客户分配带宽。如果确定为“否”,则过程返回步骤820并检查其它客户。在此实施例中,假设在服务群组中有其编码能够降低以提供足够带宽容纳当前请求的足够数量的客户。这是否可能取决于如何为服务群组的成员设计服务级别。
[0070] 因此,在步骤830在某一点,SQM一般将确定足够的带宽已变得可用于容纳观看者的请求。此时,VOD会话管理器能够提供流,并且能够在步骤850更新用于该流的分配的编码(和相关联的使用的带宽)。在其它实施例中,SQM能够保持有关用于视频流的分配的带宽的数据。在步骤852中,SQM授权VOD服务器随后流传送视频,并且过程在步骤854中结束。
[0071] 图8部分示出响应客户之一添加新VOD会话,SQM能够如何管理服务群组中不同客户的编码级别。在一些实施例中,可没有足够的能力降低其它客户的编码级别以提供用于当前请求的VOD会话的足够带宽。在此类情况下,SQM可不得不拒绝对新VOD会话的请求。在各种实施例中,一些客户可具有保证某个级别的QOS参数,使得可能不可修改其编码率。各种实施例能够创建用于进行此操作的不同规则。例如,客户1可有权拥有一个高编码级别流或三个低编码流。规则能够定义,使得如果客户只具有一个流,则它将始终是高级别编码方案。在涉及另一客户(客户2)的服务群组中处理新VOD会话请求的上下文中,SQM可检查指派到客户1的编码级别。如果只有一个VOD会话用于客户,则SQM可如已分配般原样保留,并且确定是否有其VOD流编码级别能够修改的另一客户。然而,如果客户1具有两个VOD流,两个流均在高编码级别,则SQM可将两者降低到低编码级别。因此,SQM是否修改客户1的编码级别取决于存在用于该客户的流数量和在该客户的QOS参数中定义了什么限制以及SQM如何定义其规则。例如,在一个实施例中,SQM能够先将客户1的两个VOD流降低到两个适中编码的视频流,并且确定这是否为服务群组提供适当的带宽以容纳客户2的请求。
[0072] SQM确定如何调整客户的编码级别能够不但受用于该客户的QOS参数或为QAM服务群组定义的阈值级别影响,而且受为客户或QAM服务群组保持的历史带宽或速率级别使用数据影响。SQM能够应用各种规则确定用于修改现有速率编码的优先权以便容纳请求。右图5中所述,SQM 130可访问数据库504保持的历史使用数据。历史使用数据的使用能够用于确定如何为现有VOD流进行编码级别的调整以及如何为待定请求分配编码级别。
[0073] 历史数据指示VOD会话的高峰可能预期出现的时间,并且能够建议在某个时间期内将遇到的最大VOD会话的可能数量。因此,在通知SQM对VOD会话的请求时,SQM能够确定用于检查历史数据的相关时间窗口。在一个实施例中,这能够从在请求的节目确定(例如,有关电影的元数据将指示其持续时间),或者SQM能够只使用默认值(例如,假设大多数VOD电影具有大约2小时的持续时间)。例如,图11示出相对于一周的特定天的时间在该天处于活动状态的VOD会话的数量的假设记录。一周的每天可具有不同特性(例如,在周末晚上可比在周内发生更多VOD请求)。如可预期的一样,VOD请求的数量可在晚上增多,并且在早上减少。因此,在会话的平均数量相对低时(例如,早上6点)收到的对另外视频流的VOD请求不可能在随后的两小时(VOD节目的持续时间)内造成分配问题。然而,基于历史数据,由于VOD会话的平均数量在高峰时间内增多,而高峰时间能够在上午8点左右出现,因此,在早上6点电影的选择可在即将到来的两小时窗口中造成分配问题。
[0074] 图10中示出用于将历史数据考虑在内的SQM处理的一个实施例。过程1000从在步骤1010中接收对用于新视频流的编码率的请求开始。SQM在步骤1015中确定用于该客户的当前带宽使用,这涉及确定客户当前是否具有任何VOD活动会话。SQM也在步骤1020中检索客户的QOS参数,并且在步骤1025中确定要用于会话的暂时速率编码。在步骤1030中,SQM获得历史带宽分配,其能够定义用于特定客户、QAM群组和/或某一其它大小群组。
[0075] 在步骤1035中,SQM查明用于请求的视频流的暂时编码率的分配是否将导致在请求的视频流的时间窗口内1)该视频流或2)某一其它视频流的随后修改。如果回答为“否”,则默认带宽能够定义为暂时带宽。然而,如果分配该暂时带宽可能在即将到来的时间窗口中造成问题,则SQM检查客户的QOS参数是否允许更低质量编码率。假设QOS参数允许更低编码率,则更低编码率被分配到该视频流。在步骤1045中,SQM随后指示编码器管理器分配适当的编码器以在更低速率将视频流编码。在步骤1055中,更新的分配的带宽或编码率存储在VOD会话管理器(或其它组件)中。最后,在步骤1060中,SQM授权VOD服务器流传送新视频,并且过程在步骤1065中结束。
[0076] 上述算法只是历史使用数据能够由SQM用于确定应为请求的VOD流分配哪个编码率的一种方式。历史数据能够以其它方式使用。例如,如果预期存在将来带宽分配问题,则SQM可在随后的请求提出时解决该问题。上述实施例假设最小化分配的带宽以便避免在会话在进行时改变用于流的编码率的一种方案。某些网络/设备可以能够在VOD会话开始时选择特定编码率,但在流传送已开始后可能不能改变编码率。因此,在此类实施例中,可更希望如果客户的QOS参数允许的话在最初分配更低编码率。
[0077] 历史数据也能够以其它方式使用。例如,对在一段时间内指派的编码率的检查可告诉网络人员,某些编码级别从不使用。例如,可确定存在足够容量,使得从不使用低编码级别,并且因此从不应指派它。历史数据可将某些编码级别定义为“排除在外”和从不使用。随后,实际上能够通过将某些编码率在历史速率或带宽分配数据中定义为已禁止(或者通过定义在SQM中的分配规则),推翻SQM。
[0078] 典型应用
[0079] 系统的典型应用将相对于观看者(即,客户)进行解释。在此实施例中,观看者已预订一个高质量VOD流,或备选两个适中质量VOD流。观看者是包括其它位于附近的家庭的QAM服务群组的一部分,但观看者可能不知道此方面。
[0080] 使用图5示出过程,观看者(未示出)请求VOD服务,这使得请求被发送到VOD会话管理器132。VOD会话管理器确定观看者能够请求VOD会话,并且使VOD流可用。随后,VOD会话管理器请求SQM 130确定应使用什么质量编码。SQM知道这是用于观看者的唯一活动VOD会话(这可由VOD会话管理器指示)。随后,SQM查阅数据库134中的客户QOS参数,并且确定要为观看者提供一个高质量编码VOD流或两个适中质量VOD流。SQM也从在数据库504中存储的历史使用数据知道请求在接近高峰请求时间提出。为便于说明,假设VOD请求在星期六晚上7:30在包括观看者在内的许多家庭请求VOD流时提出。SQM也从服务群组参数知道可用于在QAM服务群组中分配的带宽量。随后,SQM确定适当的编码级别,并且通知编码率管理器502哪些交换器和编码器允许实现所需编码率(前面已提到关于能够如何获得编码的视频流的多个实施例是可能的)。完成VOD流到用户的提供的其它处理根据需要发生。在此示例中,假设足够的带宽可用于分配单个高质量编码流以满足观看者的请求。随后,编码率管理器通知SQM能够提供该编码级别。SQM适当地更新历史数据使用。VOD会话管理器如何交互以结合SQM控制流的提供的确切顺序能够有所不同。
[0081] 现在将示出在相同观看者现在提出对VOD流的第二请求,该请求与第一VOD流同时发生时本发明的其它方面。同样地,用户启动VOD请求,并且VOD服务器中的VOD会话管理器检查是否能够满足请求。作为处理的一部分,VOD服务器请求SQM 130确定和提供适当的编码级别。
[0082] SQM知道观看者具有高质量的活动VOD流并且提出了第二请求。SQM能够查询VOD会话管理器,或者后者能够通知前者。SQM从客户的QOS参数知道允许第二个流,但如果存在第二个流,则SQM知道两个流可被降低到适中编码级别。服务提供商可在SQM中定义了第二个流必须是适中质量编码但第一个流可根据条件为高或适中质量的规则。SQM还知道考虑到服务群组参数和历史使用数据,由于在此相同时间来自QAM服务群组中其它客户的频繁请求,将可能必需降低第一个流的质量。
[0083] 因此,SQM实现确定编码级别和为第二VOD流分配适中质量编码的算法。SQM也指示编码率管理器在编码器、交换器等中生成适当信号以在适中编码率提供第二VOD流。SQM将此信息通知VOD服务器,并且更新历史使用信息数据。SQM也通知编码率管理器降低第一个流的编码率。因此,现在为观看者呈现带有编码的适中级别的两个同时流。
[0084] SQM能够编程有修改或影响编码级别的选择的各种规则。例如,如果电影快接近结束,SQM能够允许第一VOD流在高编码率继续。因此,在可能预期没有来自其它观看者的另外请求直至第一个流结束后的情况下,SQM可允许第一电影保持不更改。
[0085] 本发明的原理也能够扩展到由线缆头端使用IP连接提供的视频流。因此,回到图1,观看者可使用线缆调制解调器107,通过因特网连接从VOD服务器接收视频流。VOD服务器可配置成生成IP兼容流,或者能够将流引导到IP编码器。VOD流的源可以是来自有线电视提供商中的VOD服务器,使得VOD流的提供能够如前面所示提供。在其它实施例中,视频业务的源可源于直接处理因特网业务并能够流传送基于IP的视频的服务器。在此实施例中,可不要求将协议从一种格式转换成另一格式的换码器。主要的不同在于输送机制是通过线缆分发网络经过IP连接。因此,有线电视服务提供商也能够管理VOD节目制作到观看者的计算机的提供。
[0086] 本领域技术人员将认识到与本文中公开的内容不同的本发明的许多变化是可能的。例如,能够经带宽,或者通过跟踪编码会话的数量,跟踪资源的级别的确定。或者,服务群组的域能够包括与公开的内容不同的其它大小或度量。确切的网络配置能够有所不同,并且能够在设备的各种组合中实施。