用于流传输可缩放多媒体数据流的方法和装置的制作方法

文档序号:7681910阅读:141来源:国知局
专利名称:用于流传输可缩放多媒体数据流的方法和装置的制作方法
技术领域
本发明涉及流传输可缩放多媒体数据流,并且具体地涉及在损耗网络上在单播和 多播环境二者中流传输多媒体数据流。
背景技术
多媒体流应用典型地在由有线或无线网络提供的实时业务中。诸如多媒体流之类 的实时业务的特征在于延迟约束。通常客户端抛弃较晚抵达客户端的多媒体流数据(业务 数据)。多媒体流数据典型地具有与数据相关联的期限,这是因为它被在客户端设备处向用 户显示。由于诸如网络中的拥塞或信道损坏之类的原因,不能总保证向客户端及时地和正 确地递送多媒体流数据。因此,在客户端处,在回放期间可能存在多媒体数据遗失。由于多媒体数据的大容量,多媒体流应用经常需要大的网络带宽。对于那些带宽 受约束的网络来说,经常在这样的应用上施加数据传输率限制。这里,带宽、数据传输率和 网络传输率全部被可互换地使用。带宽典型地以赫兹来测量,但在数字通信中,频繁地以比 特每秒(bps)来指定带宽,所述比特每秒实际上是传输率。同时,可用于上层应用(例如文 件下载和网络浏览)的网络带宽可能取决于诸如网络拥塞、物理层信道断线(outage)等之 类的因素而随时间改变。在可用网络带宽小于由多媒体流应用请求的量时,为了减少数据 率,流服务器可能被强迫根据一些数据抛弃策略来抛弃多媒体数据。上述原因中的任何原 因都可以导致在客户端处发生数据损失,这可能对客户端回放质量产生负面影响。因此,具有当延迟和/或带宽受约束的多媒体流应用正在损耗网络上递送多媒体 数据时改善多媒体回放质量的方法和装置是有利的。如这里所使用的那样,“/”表示用于 相同或相似动作或组件的替代名称。

发明内容
多媒体流传输应用经常具有严格的延迟和带宽约束。本发明描述了一种用于使服 务器通过提供反馈信道的损耗网络向客户端流传输被可缩放编解码器压缩的多媒体内容。 利用本发明,可以改善客户端侧的多媒体回放质量。描述了一种方法和装置,其包括接收与层相关联的内容的编码分组;接收关于信 道状况的反馈信息;以及应用混合自动重复请求以基于所述反馈信息而递送所述分组。其 中应用按层的(layer-wise)混合自动重复请求的方法和装置进一步包括确定资源是否 被耗尽;如果资源未被耗尽,则调度用于层的层编码内容分组的递送;确定是否已经发送 用于层的全部层编码内容分组;如果尚未发送用于层的全部层编码内容分组,则前进至第 一确定步骤;确定是否已经从用户设备接收到确认消息;如果未接收到确认,则确定资源 是否被耗尽;以及如果资源未被耗尽,则调度层编码前向纠错分组的递送。


在结合附图而阅读以下具体实施方式
时,最好地从以下具体实施方式
理解本发明。所述附图包括在下面简要描述的以下附图
图1为在其中本发明以单播而操作的环境的概览。图2A和2B放在一起为本发明的操作的流程图。图3为根据本发明的原理的分组调度器的框图。图4为示例的时间可缩放性编码结构。图5为在其中本发明以多播而操作的环境的概览。图6为根据本发明的原理的分组调度器的框图。
具体实施例方式实时多媒体业务需要高的数据可靠性和低的有界(bounded)时间延迟。但是,在 其上提供这样的业务的许多网络易于发生错误并且带宽受限。因而,需要恰当的错误控制 技术以获得可接受的业务质量。如这里所使用的那样,“客户端”包括任何用户设备、端设备、移动终端、计算机、处 理器、膝上计算机、个人数字助理、双模移动电话、机顶盒或可以用于显示或回放包括音频、 视频和多媒体内容的内容的任何其他设备。如这里所使用的那样,源或业务数据包括任何 形式的未压缩/压缩内容,包括音频、视频和多媒体数据。前向纠错(FEC)编码是普遍使用的用以改善损耗网络的吞吐率的错误控制技术。 FEC向业务数据添加受控的冗余,并且也在网络上将冗余数据(这里也被称作FEC数据)发 送至客户端。每当存在数据损失时,客户端可以利用由FEC数据提供的冗余来检测和恢复 损失。但是,为了有效地恢复数据损失,需要根据网络损耗状况来调节FEC的量。但由于许 多网络信道(例如无线网络)的时间变化的特性,难以得到这样准确的信息。因此,对于这 样的网络来说,不足地提供FEC可以导致FEC失效,而过量地提供FEC可以不必要地降低网 络吞吐率,这两种情况都可以导致多媒体回放质量降低。重发送是在网络提供反馈信道并且客户端能够生成反馈信息时的另一普遍用于 损耗网络的技术。为重发送而设计的典型的协议如下工作。在发送器侧,当在网络上发送业 务数据时,服务器等待来自客户端而通过网络反馈信道的确认(ACK)。在接收器侧,只在客 户端正确地接收全部数据时才由客户端发送ACK。在特定时间段(被称作超时时段)之后, 如果服务器未接收到ACK,则它假定数据丢失,并且向客户端再次发送相同的数据。该过程 重复,直至服务器接收到来自客户端的对该数据的ACK,并且然后在存在后面的数据的情况 下对于后面的数据开始相同的过程。重发送方法通常只再次发送在发送期间丢失的数据, 所以它是带宽高效的。但是,服务器必须等待ACK以继续行动,这通常引入对实时多媒体业 务来说不合适的长的延迟。并且该方法不能很好地缩放。在客户端的数目大时,ACK的数 目将无界限地增长,并且因而可以严重地影响吞吐率。无界限的ACK的问题被称作ACK爆 炸(explosion)问题。第三方法为混合自动重复-请求(ARQ),其将重发送和FEC二者的益处组合。利用 混合ARQ,在发送器侧,服务器向客户端首先发出用户数据,然后发出FEC数据。在该过程期 间,在客户端已经接收到全部用户数据或对恢复损失来说足够的FEC数据时,客户端通过 由网络提供的反馈信道向服务器发回ACK。一旦服务器接收到ACK,它即停止发送任何更多 的数据。因为可以通过ACK根据当前网络状况恰当地调节向客户端发送的FEC数据的量,所以混合ARQ能够维持高带宽效率。但是,在网络经历过多损耗时,服务器可能在它可以接 收到ACK之前必须发送大量FEC数据。在FEC数据的量超过数据传输率限制、或FEC递送 的持续时间超过延迟约束时,利用混合ARQ方法仍可能发生内容数据损失,这可能降低多 媒体回放质量。可缩放源编码器压缩源内容并且生成可缩放编码比特流,以使得可以按如下方式 去除比特流的部分生成的子比特流形成对给定的解码器来说的另一有效比特流,所述另 一有效比特流代表具有与原始比特流相比的降低的重构质量的源内容。存在许多可缩放源 编码器,例如用于视频编码的H. 264/AVC(时间可缩放性)、SVC(时间、SNR和空间可缩放 性),以及用于图像编码的JPEG2000、SPIHT等。 由前述源编码器生成的可缩放源比特流可以被划分为数个层。第一层包含源的代 表,并且是可独立解码的。每个随后的层包含关于源的附加信息,并且必须依赖全部之前的 层以进行正确的解码。因此,一般来说,在可缩放比特流的全部层中,第一层在重构原始源 方面具有最高的重要性,并且其他层的重要性随着其层索引增加而减少。以下考虑在具有反馈信道的损耗网络上向客户端单播可缩放比特流的多媒体流 应用。该应用具有以下将描述的数据率传输率以及延迟约束。假定由可缩放源编码器将多媒体内容编码为M个层(M e N),以使得层m的重要 性随m增加而减少(l<m<M,meN)。进一步假定来自源层m的比特流被分组化为Km个 源分组以进行网络递送。另外,使用诸如Reed-Solomon(RS)码之类的特定FEC码为层m编 码Lm个FEC分组。具体地,假定Lm足够大以恢复层m的可能数据损失,而无任何数据传输 率或延迟约束。以下,“数据分组” 一般地包括源和FEC分组二者。在计算机网络中并且如这里所使用的那样,带宽经常用于指示数据传输率,并且 因而经常被表示为比特每秒。在大多数网络中,通信通道包括沿该通道的各个节点之间的 一系列链路。通道的带宽受限于任意两个链路之间的最低带宽。设B为被分配至该应用的网络传输比特率(以bps为单位),并且设T为其间该应 用被允许发送数据的时隙的持续时间(以秒为单位)。对于每个时隙,BT等于为该应用分 配的总比特预算(budget)(在给定时隙中在链路上发送或可以在链路上发送的总比特数 目),并且[d” d2]递增地表示其中的视频数据的回放期限。本发明将混合ARQ方法与可缩放源编码属性组合以进行多媒体数据流传输。在其 间服务器被允许发送数据的每个时隙的开始,服务器获得关于可缩放比特流的每个层的分 组的数目的信息,所述可缩放比特流具有落入W1, d2]的回放期限。这样的信息通常可以 在编码/存储内容数据的内容服务器处获得。网络服务器从内容服务器请求并接收这样的 信息。网络服务器然后通过诸如专用信息分组、或通过来自之前的时隙的分组递送的附属 (side)信息(例如在分组报头中)之类的手段,向客户端通知该信息。在发送器侧,一旦向网络服务器保证了客户端对关于层中的源分组的数目的信息 的接收,网络服务器即开始发送属于该时隙的数据分组。具体地,网络服务器首先发送来自 具有最低层索引(最高优先级)的层的数据分组,并且然后前进至具有递增的更高的层索 引的下一层。在每层内,首先发送源分组,随后发送FEC分组。在接收器侧,客户端接收用于层的数据分组,并且持续地检查它是否已接收到用 于该层的全部源分组,或它是否可以使用所接收的FEC分组来恢复任何遗失的源分组。这是可能的,因为客户端知晓它在该时隙中期望的用于每层的源分组的确切数目。一旦对于 当前层全部源分组可用,它即通过反馈信道向服务器发送ACK。客户端对于它接收的用于当 前层的每个数据分组重复以上过程。
在发送期间,对于服务器可能发生以下三种事件中的一种1.来自客户端的ACK抵达。2.用于时隙的比特预算BT耗尽。3.对于该时隙已经经过持续时间T。事件1指示客户端已经接收或能够恢复来自层m的全部视频分组。响应于该事 件,服务器停止发送用于层m的数据分组,并且(在m+1彡M时)进而发送来自层m+1的数 据分组。在当前层为最高的可用的层的情况中,服务器简单地保持空闲并且等待下一时隙。 在事件2或3发生时,它指示该应用已经达到了其数据传输率限制。然后服务器必须等待 下一时隙并且重复以上操作。可以将本发明进一步扩展至向客户端组多播多媒体数据。对于每个层m,在组中的 每个客户端已经接收到或能够恢复源层时,每次只向服务器发送回一个ACK。在一个实施 例中,在有线/无线网络中存在多个种类的客户端/接收器/用户设备。客户端组被基于 它们的信道损耗状况而分类/集簇。因此客户端所属的多播组可能由于单个客户端的信道 状况的改变而随时间改变。即,单个客户端可能基于其信道状况而随时间加入或离开一个 或更多组。在这样的情况下,组中的客户端在它们之间通信,并且可以在最不能够接收/恢 复内容层的单个客户端已经接收/恢复内容层时,对于组发送对应于该内容层的单个ACK。 在对重发送的请求的情况中,具有最多需要重发送的分组的单个客户端进行该请求。即,在 上述全部情况中,具有最多需要/最差状况的单个客户端是客户端组中唯一对每个内容层 进行响应的客户端。这通过使用反馈抑制来处理了 ACK爆炸问题。给定带宽或延迟约束,本发明分配剩余的资源以保证当前源层的正确的递送,从 具有最高重要性的数据开始,到具有最低重要性的数据。对于多媒体数据的每个成功递送 的层来说,因为混合ARQ的使用,本发明可以对于损耗网络维持高带宽效率。在属于时隙的 全部多媒体数据被递送到客户端之前耗尽了给定的资源的情况中,本发明通过利用源比特 流的可缩放性属性来保证最小性能损失。因此,本发明可以提供根据网络损耗状况的灵活 的比特率适配,并且提供在客户端处的改善的多媒体回放质量。图1为在其中本发明以单播而操作的环境的概览。服务器105调度用于在损耗网 络Iio上发送至客户端/用户设备的内容。如将在图3中所示的那样,服务器105可以包 括两个服务器——内容服务器和网络服务器。网络提供反馈信道以向服务器105通知用户 设备/客户端115a、115b接收到所发送的内容、或用户设备接收到对于恢复编码内容的当 前层来说足够的分组(内容和FEC)。图2A和2B放在一起为本发明的分组调度器的操作的流程图。在本发明的该实施 例中,以单播向多个客户端/用户设备/接收器发送/分派分组。在205处,分组调度器 (图3中所示)接收来自内容服务器(图3中所示)的层编码分组(内容和FEC)。分组调 度器还在210处在来自网络服务器(图3中所示)的反馈信道上接收来自客户端/用户设 备的反馈。然后分组调度器在步骤215处初始化时隙索引。在220处,分组调度器初始化 编码数据层索引。在225处执行测试以确定对于该时隙是否已经耗尽了任何资源。即进行以下确定确定用于该时隙的比特预算或用于分组递送的期限是否过期。如果已经耗尽了 任意资源,那么在260处递增时隙索引。如果未耗尽任何资源,则在230处,分组调度器指 令/调度网络服务器发送/分派属于当前编码数据层的下一内容分组。在235处,执行测试 以确定是否已经发送/分派了属于当前层的全部内容分组。如果尚未分派属于当前层的全 部内容分组,则过程前进至225。如果已经分派/发送了属于当前层的全部内容分组,则在 240处执行测试以确定是否已从客户端接收到ACK。如果未从客户端接收到ACK,则在265 处执行测试以确定当前层索引是否是最高层索引。如果当前层不是最高层,则过程前进至 255,其中分组调度器递增编码数据层索引。然后过程前进至225。如果当前层索引是最高 层索引,则在260处递增时隙。如果未从客户端接收到ACK,则在245处执行测试,以确定对 于该时隙是否已经耗尽了任何资源。即进行以下确定确定用于该时隙的比特预算或用于 分组递送的期限是否过期。如果已经耗尽了任意资源,则在260处递增时隙索引。如果未 耗尽资源,则在250处分组调度器指令/调度网络服务器发送/分派FEC分组。 图3为根据本发明的原理的服务器的框图。图1中所示的服务器105可以被实施 为内容服务器305a和网络服务器305b。内容服务器305a负责向网络服务器305b提供层 编码视频比特流,以及向分组调度器模块310提供源信息。分组调度器模块从内容服务器 接收层编码分组,并且经由网络服务器305b接收来自用户设备/客户端的反馈。如以上参 考图2A和2B所讨论的那样,分组调度器模块310向网络服务器305b转发分组调度信息。 可以以硬件或软件、或以其组合来实施分组调度器模块310。网络服务器305b通过下行链 路信道320向损耗网络315以及在损耗网络315上发送分组(内容和FEC)。损耗网络通过 下行链路信道330向客户端/用户设备340发送分组(内容和FEC)。如这里所使用的并 且尤其是在多播环境中,客户端/用户设备340可以是多个种类的客户端/接收器/用户 设备。损耗网络315通过反馈信道335从客户端/接收器/用户设备接收反馈,损耗网络 315将所述反馈通过反馈信道325转发至网络服务器305b。图3示出了单个客户端/用户 设备/接收器。在实践中,假定存在多个客户端。但是,图3的要点为本发明的该实施例 是到多个客户端的单播。还应当注意,分组调度器的功能可以如所示的独自在模块(软件 或硬件)中,或该功能可以在内容服务器305a和网络服务器305b之间分割、或可以将全部 三个单元(内容服务器305a、网络服务器305b和分组调度器310)组合在单个设备中。图4为使用H. 264主规格(main profile)来执行编码的示例时间可缩放性编码结 构。H. 264是若干可能的编码方案中的一个。图4中的画面集合被称作“画面组”或G0P,所 述画面组可以被划分为基层(BL)和多个增强层(EL)。图4示出了沿时间方向的3个EL。 BL包括瞬时解码器刷新(IDR)和P/B类型的片(slice)。EL包括分别被表示为Bs和B的、 参考和非参考B类型(什么是B类型?)的片。图4中的箭头指示在编码期间的参考依赖 性。参考依赖性形成层级运动预测结构。从图4中可以看到,BL是可独立解码的,而EL-n 必须依赖于BL和EL-m(其中m<n)以进行正确的解码。进一步地,因为该预测依赖性,来 自EL-m的遗失的画面仅影响来自诸如EL-n的较高层的画面。但是,来自BL的丢失的画面 可以影响全部后面的画面,直至接收到下一 IDR。结果,在这样的编码结构中,BL通常是最 重要的(并且因而是具有最低索引的层),随后是按照重要性的降序的EL-l、EL-2和EL-3。 这样的编码结构满足层内容编码。特别注意到,层混合ARQ还可以与其他内容编码可缩放 性维度一同工作。
图5是在其中本发明以多播操作的环境的概览。服务器105和损耗网络110如同 上面参考图1所描述的那样。多播组1505是基于它们的信道状况加入了多播组1的一类 客户端/用户设备/接收器,其中信道状况经常是与源的距离的函数。多播组2510是基于 它们的信道状况加入了多播组2的另一类客户端/用户设备/接收器。在该环境中可以存 在附加的多播组。
图6为根据本发明的原理的分组调度器的框图。在本发明的该实施例中,根据本 发明的原理的从单播到多播的扩展的描述,分组调度器为客户端组而非单独的客户端执行 调度。305a、305b、310-335如同上面参考图3所描述的那样。多播客户端组605a、605b和 605c每个可以具有单个客户端或多个客户端。应当理解,可以以多种形式的硬件、软件、固件、特殊用途处理器或其组合来实施 本发明。优选地,作为硬件和软件的组合来实施本发明。此外,优选地将该软件作为在程序 存储设备上被实体地具体化的应用程序来实施。该应用程序可以被上载至包括任何合适的 架构的机器,并且由所述包括任何合适的架构的机器执行。优选地,在具有诸如一个或更多 的中央处理单元(“CPU”)、随机存取存储器(“RAM”)和输入输入(“I/O”)接口的硬件 的计算机平台上实施该机器。该计算机平台还可以包括操作系统和微指令码。在这里所描 述的各种过程和功能可以是经由操作系统执行的微指令码的部分或应用程序的部分(或 其组合)。另外,诸如附加数据存储设备和打印设备之类的各种其他周边设备可以与该计算 机平台连接。还应当理解,因为优选地以软件来实施在附图中所描绘的系统构成组件和方法步 骤中的一些,所以取决于本发明被编排的方式,系统组件(或过程步骤)之间的实际连接可 以是不同的。给定这里的教学,相关领域普通技术人员将能够想到本发明的这些和相似的 实施方案或配置。
权利要求
一种方法,所述方法包括接收与层相关联的内容的编码分组;接收关于信道状况的反馈信息;以及应用混合自动重复请求以基于所述反馈信息而递送所述分组。
2.根据权利要求1所述的方法,其中应用按层的混合自动重复请求进一步包括确定资源是否被耗尽;如果所述资源未被耗尽,则调度用于层的层编码内容分组的递送;确定是否已经发送用于所述层的全部层编码内容分组;如果尚未发送用于层的全部层编码内容分组,则前进至所述第一确定步骤;确定是否已经从用户设备接收到确认消息;如果未接收到确认,则确定所述资源是否被耗尽;以及如果所述资源未被耗尽,则调度层编码前向纠错分组的递送。
3.根据权利要求2所述的方法,其进一步包括 初始化时隙索引;以及初始化层索引。
4.根据权利要求3所述的方法,其进一步包括如果所述层索引为最高层索引,则递增所述时隙索引;以及 重新初始化所述层索引。
5.根据权利要求3所述的方法,进一步包括如果所述层索引不是最高层索引,则递增 所述层索引。
6.根据权利要求2所述的方法,其中所述资源是带宽受约束的。
7.根据权利要求2所述的方法,其中所述资源是发送时间。
8.根据权利要求2所述的方法,其中所述层编码分组由可缩放编码器生成。
9.根据权利要求2所述的方法,其中所述层编码分组按照由所述层索引指示的所述层 编码分组的重要性的顺序而被调度以进行递送,另外,其中所述层索引按照重要性的降序 而增加。
10.一种装置,其包括用于接收与层相关联的内容的编码分组的部件; 用于接收关于信道状况的反馈信息的部件;以及 用于应用混合自动重复请求以基于所述反馈信息而递送所述分组的部件。
11.根据权利要求10所述的装置,其中所述用于应用按层的混合自动重复请求的部件 进一步包括用于确定资源是否被耗尽的部件;用于在所述资源未被耗尽的情况下调度用于层的层编码内容分组的递送的部件; 用于确定是否已经发送用于所述层的全部层编码内容分组的部件; 用于在尚未发送用于层的全部层编码内容分组的情况下前进至所述第一确定步骤的 部件;用于确定是否已经从用户设备接收到确认消息的部件;用于在未接收到确认的情况下确定所述资源是否被耗尽的部件;以及用于在所述资源未被耗尽的情况下调度层编码前向纠错分组的递送的部件。
12.根据权利要求11所述的装置,其进一步包括 用于初始化时隙索引的部件;以及用于初始化层索引的部件。
13.根据权利要求12所述的装置,其进一步包括用于在所述层索引为最高层索引的情况下递增所述时隙索引的部件;以及 用于重新初始化所述层索引的部件。
14.根据权利要求12所述的装置,其进一步包括用于在所述层索引不是最高层索引的 情况下递增所述层索引的部件。
15.根据权利要求11所述的装置,其中所述资源是带宽受约束的。
16.根据权利要求11所述的装置,其中所述资源是发送时间。
17.根据权利要求11所述的装置,其中所述层编码分组由可缩放编码器生成。
18.根据权利要求11所述的装置,其中所述层编码分组按照由所述层索引指示的所述 层编码分组的重要性的顺序而被调度以进行递送,另外,其中所述层索引按照重要性的降 序而增加。
全文摘要
描述了一种方法和装置,其包括接收与层相关联的内容的编码分组;接收关于信道状况的反馈信息;以及应用混合自动重复请求以基于所述反馈信息而递送所述分组。其中应用按层的混合自动重复请求的方法和装置进一步包括确定资源是否被耗尽;如果资源未被耗尽,则调度用于层的层编码内容分组的递送;确定是否已经发送用于层的全部层编码内容分组;如果未发送用于层的全部层编码内容分组,则前进至所述第一确定步骤;确定是否已经从用户设备接收到确认消息;如果未接收到确认消息,则确定资源是否被耗尽;以及如果资源未被耗尽,则调度层编码前向纠错分组的递送。
文档编号H04L1/18GK101849378SQ200780101374
公开日2010年9月29日 申请日期2007年11月1日 优先权日2007年11月1日
发明者刘正晔, 吴镇宇, 艾伦·J·斯坦 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1