专利名称:调度分组传输的制作方法
技术领域:
本发明的各个实施例涉舰媒体进行流传送(streaming)的领域。
背景技术:
无线流传送环境给系统设计者提出了许多挑战。例如,客户端可以拥有不 同的显示、功率、通信和计算能力。此外,无线通信链路可具有不同的最大带 宽、质量水平和时变特性。成功的无线视频流传送系统必须能通过时变无线通 信链路将视频流传送给异构客户端,而且该流传送必须以可扩缩的方式执行。 需要可扩縮性来使得能够流传送给具有不同设备能力的大量客户端。
流传送媒体传递系统典型地将媒体流编码一次然后把它流传送给不同网络 条件下的接收机。目前,典型的媒体传递系统从上到下扫描、按照分辨率的顺 序从最低到最高传输数据。分组传输的顺序称作调度(schedule)。
分组常常M:有噪的时变信道传输。在这些情况下,希望能够^M体快速
适应不同的网络条件,并且以为每个速率提供可能的最高质量媒体的方式来这 样做。
合并在本说明书中并形成本说明书一部分的附图示出了本发明的实施例, 并且和说明书一起,用来解释本发明的原理
图1A和1B是本发明的各个实施例可以在其上实践的示例系统的框图。 图2是根据本发明的一个实施例的可扩縮分组依赖性(dependency)的示例
树结构。
图3是根据本发明的各个实施例的调度分组传输的系统的框图。
图4是示出根据本发明的一个实施例的调度翻分组传输过程的流程图。
图5是示出根据本发明的一个实施例的融合(fose)数据分组过程的流程图。
除非明确注明,本说明书中提到的附图不应被理解为按比例绘制。
具体实施例方式
这里描述本发明(调度分组传输)的各个实施例。根据本发明的一个实施例,提供了一种调度分组传输的方法。接收多个 分组,其中所述多个数据 分组的至少一部分与一个媒体单元相关联并包括不同质量的信息。确定数据分
组的收益大小比(profit-to-size ratio)或失真大小比(distortion-to-size ratio)。至
少部分基于收益大小比或失真大小比,禾,动态规划(programming)为多个, 速率确定数据分组的多个调度。失真和收益是指代分组价值的两种方式。应当 理解,尽管在收益的上下文中描述本发明的实施例,但本发明的实施例也可以 利用失真。失真和收益指的是失真的量化度量,比如均方误差或绝对差之和, 或失真的感知(perceptual)度量,或媒体分组的绝对或相对重要性的任何其他表
不o
现在将详细参考本发明的各个实施例,本发明的示例在附图中示出。虽然 将结合各个实施例描述本发明,但应该理解它们不打算将本发明限于这些实施 例。相反,本发明的实施例意欲涵盖可选方案、修改和等效方案,这些可选方 案、修改和等效方案可以包含在随附的权利要求书的精神和范围内。进一步地, 为了提供本发明实施例的透彻理解,在本发明各个实施例的以下描述中阐述了 许多具体细节。在其他情况下,为了不会不必要地模糊本发明实施例的各方面, 没有详细地描述已知的方法、过程、部件和电路。
本发明的实施例提供了调度分组传输。在各个实施例中,选择分组的子集 (也称作调度),,小化经受变ttil率约束的失真(minimizing distortion subject to varying rate constraints)。本发明的实施例利用动态规划来确定多个调度从而以
不同传输速率传输分组。在一个实施例中,利用动态规划来为多个传输速率的 调度求解考虑某些类型分组的fM性的优先约束背包问题(Precedence Constraint
Knapsack Problem, PCKP)。在一个实施例中,M:将特定分组融合在一起,产
生IMA式调度。
图IA和IB是本发明的各个实施例可以在其上实践的示例系统的框图。首 先参考图1A,根据本发明的实施例示出了系统100。系统100包括衝过网络130 通信地耦合的数据源110和客户端120。数据源110包括数据调度器115。在系 统濯中,媒体(比如视频、图像、音频、图形、文本、娜)娜通过有线 或无线链路流传送给客户端,比如客户端120。在一个实施例中,数据调度器 115可操作以产生用于传输数据分组的至少一个分组传输调度。应当理解数据调 度器115可以被实施为软件、硬件、固件或其任意组合。此外,应当理解系统訓可包括附加部件,所述附加部件没有示出以便不会不必要地模糊本发明实施 例的各方面。
尽管关于视频数据的流传送来描述本发明的实施例,应当理解本发明的实 施例不限于视频数据的流传送。应当理解本发明的实施例也适用于其他类型的 媒体,包括但不限于基于音频的数据、基于图像的数据、图形数据、基于视 频的 、基于文本的,、基于网页的数据等。
在本实施例中, 源IIO产生视频流112, M网络130将视频流112 发送给客户端120。在一个实施例中,数据源110包括代码转换机(transcoder) (未示出),用来将视频流112转码为劍氐带宽的视频流。应当理解该代码转换 机可以位于数据源110和客户端120之间的任何节点处,比如在网络130内的
中间代码转换节点处。
首先参考图1B,根据本发明的另一个实施例示出了系统150。系统150包 括通过网络130通信地耦合的数据源110和客户端120。网络130包括包含数据 调度器115的中间节点132。在一个实施例中,中间节点132包括代码转换机(未 示出)用来将视频流112转码为劍氐带宽的视频流。在系统150中,媒体(比 如视频)娜mii有线或无线,超各流传送给客户端,比如客户端120。在一个实 施例中,数据调度器115可操作以产生用于传输数据分组的至少一个分组传输 调度。应当理解系统150的部件以与图1A的系统100的对应部件對以的方式操 作。系统150示出了系统100的部件的不同配置。
参考图1A和1B,系统100和系统150都使用数据调度器115来为使用多 个传输速率的分组传输产生调度。通常,流传送媒体传递系统典型地将媒体流 编码一次然后把它流传送给不同网络条件下的接收机。在这些系统中,希望能 够使媒体快速适应不同网络条件,并且以为每个速率提供可能的最高质量媒体 的方式来这样做。通过允许从编码的媒体流简单地抛弃数据单元来执行速率下 降,可扩縮编码方案实现了所述适应。例如,数据调度器115的实施例可操作 以确定丢弃哪些数据单元以达到可能的最高质量。
本发明的实施例确定为达到指定传输速率应该被选择的媒体流的分组子 集,例如调度。在一个实施例中,调度只包括完全分组(Mpacket)。在一个实施 例中,所有分组相互独立,其中速率和失真在不同分组上完全是加性(additive) 的。然而,通常情况并非如此,因为大多数压缩标准在编码后的分组间引入了
64繊性(dependency)。即使存在依赖性,对于给定速率w ,利用优先约束背包 问题(PCKP)可以找到调度^尺)。存在有效算法在0(M)时间内求解PCKP,
其中a是分组的总数目,是速率约束。然而,PCKP仅仅为单^HI率a寻找 S(i )。本发明的实施例以字节级粒度(byte-level granularity)为多^I率寻找调
度,比如"1,2,3,...,/ , 4OT这种解决方法要求执行7 次的PCKP算法,并且总 的运行时间为0(狄2)。本发明的实施例提供了一种更有效地确定与PCKP中相
同的调度的方法,但是计算它的运行时间为0(欣)。
本发明的实施例利用可扩縮编码标准,比如JPEG-2000可扩缩图像编码、 MPEG4可扩縮视频编码、H.264可扩缩视频编码、MPEG可扩縮高级音频编码 (可扩縮AAC)、可扩縮矢量图形(SVG)和专用的(proprietary)可扩縮编码 方法。本发明的实施例还利用传统上不被称为可扩缩的编码方法,比如JPEG、 MPEG-1、 MPEG-2、 MPEG4、 H.261、 H.263、和H.264以及非标准编解码器。 在各个实施例中,媒体分组具有不同价值或重要性(由收益或失真值表示)以 及不同大小的事实被利用。本发明的实施例l吏用收益大小比或失真大小比来表 示媒体分组的价值。
例如JPEG-2000比特流的^t媒体比特流由例如JPEG-2000分组的3电立可 解析(parsable)媒体分组组成,并且允许仅利用这些分组的子集迸行成功解码; 因lth3I31简单地抛弃分组来降低速率是可行的。尽管参考JPEG-2000编码标准 来描述本发明的实施例,但应当理解本发明的实施例可以使用比如上述所列的 实施独立可解析分组的其他编码标准和方法。
在一个实施例中,使用JPEG-2000编码图像,其使用均方误差(MSE)作 为失真度量。图2是根据本发明一个实施例的例如JPEG-2000的可扩縮分组依 赖性的示例树结构200。
JPEG-2000分组包括单个分片(single tile) (T)、 分辨率水平(R)、色彩分量(C)、分区(precinct) (P)和质量层的数据。更一 般地,在一个实施例中,分片是帧的媒体单元。
在一个实施例中,将TRCP标签定义为属于指定的JPEG-2000分片、^)f辛 率水平、色彩分量和分区(TRCP)的JPEG-2000分组(每个质量层均有一个) 的集合。应当注意,编码的原始排序可能发生变化,因为所述实施例的调度可 育浏分组进行重新排序。假定在使用正交滤波器时,例如在使用9/7抽头双正交 滤波器时,不同TRCP标签上的JPEG-2000分组是独立的。然而,在各质fijl
7上情况并非如此,各质量层是以线性方式依赖的。图2示出了JPEG-2000分组 的^l^性。黑色圆圈是实际的JPEG-2000分组,而白色圆圈是示出JPEG-2000 结构的抽象表示。注意对于n个TRCP标签和^标签中的m个层,JPEG-2000 分组的数量是yt二m,z。
在求解速率失真(rate-distortion,RD)调度时,使用与每个JPEG-2000分组 相关联的失真值(以及随后的收益值)。由于各层间的线性依赖性,附加分组仅 在同一TRCP标签内的其上的各层也被传输的情况下才是有用的。因此,M 递增地丢弃TRCP标签x的层来计算失真矢量。解码经过修改的JPEG-2000
码流并且计算经过修改的图像和原始图像间的均方误差。是丢弃质量层时
MSE增加的量,它^liiil增i也丢弃分组、解码并且计算得到的MSE来计算 的。對以地,p(;c)是增加质觀时MSE的下降量。
本发明的实施例提供了一种用于JPEG-2000图像的RD优化的新型建纟, 架。在一个实施例中,i顿动态规划来寻找调度。通过利用JPEG-2000分组的 依赖性结构,所述实施例在运行时间方面倉g够优于(beat)PCKP。在一个实施例中, RD折衷(tradeoff)用作所有其他调度算法的重要下限。
图3是根据本发明各个实施例的调度分组传输的系统300的框图。系统300 包括接收机310、收益-大小(profit-to-size)确定器320和分组调度器330。在 一个实施例中,收益-大小确定器包括分组融合器322。分组调度器330可操作 以至少部分基于收益大小比利用动态规划为多个数据速率确定数据分组的多个 调度。应当理解系统300可实施为软件、硬件、固件或其任意组合。此外,应 当理解系统300可以包括附加部件,所述附加部件未示出以便不会不必要地模 糊本发明实施例的各方面。
系统300的实施例可操作以执行i周度分组传输的过程。图4是示出根据本 发明的一个实施例的调度数据分组传输的过程400的流程图。在一个实施例中, 由处理器和电部件在计^t几可读且计^m可执行指令的控制下执行过程400。所 述计算机可读且计算机可执行指令驻留在例如数据存储功能部件(诸如计算机 可用易失性和非易失性存储器)中。然而,所述计算机可读且计算机可执行指
令可驻留在任何类型的计算ia可读介质中。在一个实施例中,由图3中的系统
300执行过程400。
在图4的410,接收多个数据分组,其中至少一部分所述数据分组与一个媒体单元(比如分片)相关联,并包括不同质量信息。在一个实施例中,所述
数据分组是依照JPEG-2000编码标准的分组。在一个实施例中,数据分组包括
识别相关联的媒体单元、分辨率水平、色彩分量、分区和质量水平的信息。在
一个实施例中,在图3中的接收机310处接收所述多个数据分组。
在一个实施例中,将寻找RD调度的问题表示为优化问题。定义x为TRCP 标签的索弓l。定义/,包含在TRCP标签x中的层的指示符矢量。在一个实施
例中,由于优先约束,々只能取具有若干1继之以全0的值,比如,如果柳=3,
贝化=£{
,[1,0,0],[1,1,0],[1,1,1]}°定义"(x)为长度为m的矢量,其中第,'个元
素等于不包括TRCP标签x的第,层所弓胞的失真变化。定义^(x)为长度为w的
矢量,其中第,个元素等于TRCP标签x的第/层的收益,该收益与通过包含该 分组而减小失真的量相等。定义+)为长度为m的矢量,其中该元素等于TRCP
标签x的该层的大小。
在420,确定数据分组的收益大小比。在一个实施例中,在图3中的收益 大小比确定器320处确定数据分组的收益大小比。在一个实施例中,如在430 所示,如果与该媒体单元相关联的较低质量水平分组比与该媒体单元相关联的 较高质量层分组具有更大的收益大小比,则将该较低质量层分组和较高质量层 分组融合为融合分组。己知RD调度的属性,本发明的实施例提供了寻找^A 式调度。确定^A式调度的运行时间为0(/Uog"。在一个实施例中,由于调度
相当(fairly)相关,因此使用融合分组的方法来寻找嵌入式调度。在一个实施 例中,在图3中的分组融合器322处S虫合数据分组。
图5是示出根据本发明一个实施例的融合数据分组的过程500的流程图。 在一个实施例中,由处理器和电部件在计算机可读且计算机可执行指令的控制 下执行过程500。所述计算机可读且计算机可执行指令驻留在例如数据存储功能 部件(例如计算机可用的易失性和非易失性存储器)中。然而,所述计算机可 读且计算机可执行指令可以驻留在任何类型的计算机可读介质中。在一个实施 例中,由图3中的分组融合器322执行过程500。
在510,接收与一个媒体单元(例如分片)相关联的第一数据分组和第二 分组,其中第一数据分组比第二数据分组包括更低质量的信息。在520,确 定第一数据分组和第二数据分组的收益大小比。应当理解部分背包问题 (fractional knapsack problem)按照它们的收益大小比的降序来对分组进行排序
9(SOrt)。从具有最大收益大小比的分组开始并且最后以具有最低收益大小比的 分组结束,将分组、添加到调度中。然而,使用这种方法不能保证优先约束将被 维持。
在530,如果第一数据分组比第二数据分组具有更大的收益大小比,贝鹏 第一数据分组和第二数据分组融合为融合数据分组。例如,假设一对层1和层o 分组违反了{尤先约束。可以将层1分组推回到紧接其层0分组之前,或者可以 将层0分组向前拉到层1分组之前。另一种方法是把这些分组作为单个分组来 考虑。通过将这两个分组锁定在一起,可以得到它们的融合收益大小比,该融 合收益大小比是它们的收益之和除以它们的大小之和。这个融合分组绝不会移 到层1分组之前或层0分组之后。
在一个实施例中,如在540所示,确定融合薩分组的信噪比。在一个实
施例中,融合数据分组的信噪比包括(comprise)第一数据分组和第二数据分组 的收益之和除以第一数据分组和第二数据分组的大小之和。例如,令p。 、 s。和^ 、 A分别对应于层0分组和层1分组的收益和大小。如果层1在层0之前,即如 果A >&,则产生了问题。通过某些代数运算,我们可以得到A^。"、&。
5
& & ^"o + ^ 50
如果同一 TRCP标签的各层基于它们的收益大小比翻转(flip),则这两个分组
被融合到一起并且被当作具有单个收益大小比的一个分组。然后使用融合分组 继续进行调度方法。由于排序可以在0(yUog"时间内完成,贪婪融合
(fUsed-greedy)算法的运行时间是0(Alog^ 。
在一个实施例中,如在550所示,在利用动态规划至少部分基于收益大小 比为多个数据速率确定数据分组的多个调度中利用融合分组,例如在过程400 中使用融合分组。
参考图4,在440,至少部分基于收益大小比为多个数据速率确定数据分组 的多个调度。在一个实施例中,如在450所示,禾胸动态规划确定所述多个调 度。在一个实施例中,所述动态规划包括优先约束背包问题(PCKP)。在一个 实施例中,在图3中的分组调度器330处确定例如调度340的所述多个调度。
在一个实施例中,考虑假设失真值是加性的,贝U由/,定义的调度所引起的
失真为z^sy Oc乂 °就收益值poo来说,"=2>^) -Z乂W^ ,其中!
是全1的矢量。相应地,最大化收益等效于最小化失真。公式1所示的优化问
10風就成为
e [l"..,l,O,...,O]
(1)
在一个实施例中,可以使用PCKP的己知解决方法对于单个速率求解这个问题。
在动态规划框架中用公式表示该问题,该框架允许在一次运行中对于速率 1,2,...,尺求解该问题。
令由公式2定义的斗,乂)为禾拥速率y和TRCP标签i到/的调度肖g达至啲最 大收益。令由公式3定义的外,乂)为j柳TRCP标签/以及标签i到,-i的组合的 速率)的最大收益。对于^1,2,...^,由^",。给出速率r的收益。在表格中维 护达到这些收益的调度将给出对应的调度S(w,,)。
0, i'-O或y-O; 4!W) = 4 - W), 7 (*, 0,…,0] ^ A (2) max(4i' — 1, /),万("■/)}, 其他
力=max(4 — 1, y. — ('),)+ Z (A} (3)
厶
当什么都没有发送时是冲,7)中的第一种情况。第二种情况是当标签,的顶层太
大而无法装下(fit),因此没有使用来自TRCP标签,'的分组。第三种情况决定 是否使用TRCP标签/ 。通过在TRCP标签/内的可允许层组合上最大化S(/,y)来
维持各层的4尤先属性。
在一个实施例中,如在442所示,至少部分基于 分组的质量信息优先约 束为多个数据速率确定数据分组的多个调度。在一个实施例中,如上所述且如 450所示,4顿动态规划来确定该多个调度。在一个实施例中,优先约束要求包 括与媒体单元相关联的较高质量水平分组的调度至少还包括与该媒体单元相关 联的较低质量水平分组。在一个实施例中,如在452所示,按照收益大小比的 顺序对数据分组进行排列。在454,对于该I^分组求解PCKP。
动态规划为^I率提供所得到的RD曲线和调度。在一个实施例中,{顿公式2中的动态规划,寻找对应于^I率的失真值的调度。检查所有这些调 度,将分组频率定义为在所有调度中使用该分组的次数。在一个实施例中,部 分背包问题的解决方法使用收益大小比,对于分组X,该收益大小比定义为
p(x)A(x)。
优先约束要求同一媒体单元的分组的各质量层彼此依赖。包括与媒体单元相 关联的较高水平分组的调度也必须包括与该同一媒体单元相关联的所有较低水
平的分组。应当理解由于层间依赖性,可以更经常地使用较低层分组(如图2 中的A。),以仅仅允许将更重要的较高层分组(如图2中的A)包含在内。
本发明的实施例将寻找RD调度的问题用公式表示为动态规划。M查看这 些调度,显而易见的是优先约束可能影响策略。另外并不重要的一些分组被非 常频繁地使用,因为其他分组依赖于它们。通过求解调度,对所有可能的调度 现在存在紧的下限。
在460,至少部分基于该多个调度确定一组嵌入式调度,其中用于特定速率 的嵌入式调度包括该特定速率的分组和更低速率的分组。彼此嵌入的调度对于 例如快速使分组选择适应动态网络条件的真实世界应用是有益的。在一个实施 例中,本发明提供为所有速率寻找一组嵌入式调度。在一个实施例中,在图3 中的分组调度器330处确定该组^A式调度。
假设存在两个调度S(《)和s(/g ,对应的速率为《和^ ,使得《 <《°
和S(&)之间的相关性C定义为S(&)中包含的来自S(《)的分组的份额
(fraction)。换句话说, S叩'(&) 。如果^《)的所有
分组都在S(^)中,贝糊度是完錄入的并且相关性为1。
调度之间的平均相关性被绘制为速率变化/^-《的函数。在低速率时,解决
方法将选择可能具剤氐收益大小比的非常小的分组,因为它们是符合(fitin)速 率约束的唯一分组。随着A7 的增加,《为低且^《)中的分组不太可能位于
S(^)中。然而,在高A/ ,平均相关性有所增加。这是因为《很大且图像中几
乎所有的分组都在s(/g中。这意味着S(iO中几乎所有的分组也包含在内。在
极大的A/ 时平均相关性的急居IJ下降也是因为S(《)中的非常小的分组。在这么
大的A/ 的情况下,S (Ri)中可能仅有1或2个分组。由于这些分组如此小,所以它们可能是合并到S(A)中的最后的分组。并且因为《处存在如此少的分
组,所以如果它们没有被包含在内,则相关性会显著下降。
还考虑在M固定的情况下调度相关性如何作为速率的函数而变化,例如当 A变化时检查/ 和W + A/ 的调度。在一个实施例中,随着速率的增加,可以添加
新的分组。在一个实施例中,添加小分组直至U具有足够的速率来易iJ除它们并用
更大更重要的分组代替它们。这是相关性减小的原因。而且, 一些TRCP标签
具有非常小的分组。所以,随着速率的逐渐增加,将添加这个标签的层O,然后 是层l,最后是层2。由于这些分组如此小,所以它们通常不在^/g中。
总之,本发明的实施例为不同传输速率提供了分组传输的调度。在各个实施 例中,本发明提供了选择最小化经受变化速率约束的失真的调度。本发明的实 施例fflil以分组的依赖性约束为条件对多,率求解PCKP而利用动态规划。 在一个实施例中,违反依赖性约束的分组被融合到一起以用于产生嵌入式调度。 这些嵌入式调度具有的性质是较低速率调度中的所有分组都包含在较高速率调 度中。例如,嵌入式调度实现了低复杂度、自适应的流传送。
因此描述了本发明(调度分组传输)的各个实施例。尽管己经在特定实施 例中描述了本发明,但应当理解本发明不应该被解释为受这些实施例限制,相 反应该根据如下的权利要求书来解释。
权利要求
1、一种用于调度分组传输的方法400,所述方法包括如下步骤接收410多个数据分组,其中所述多个数据分组的至少一部分与媒体单元相关联并且包括不同质量的信息;确定420所述数据分组的收益大小比或失真大小比;以及至少部分基于所述收益大小比或失真大小比为多个数据速率确定440所述数据分组的多个调度。
2、 如权禾腰求l所述的方法,其中所述M分组选自基本由下列项组成的列表中基于音频的数据分组、基于图像的数据分组、图形数据分组、基于视频的数据分组、基于文本的数据分组和基于网页的数据分组。
3、 如权利要求l所述的方法,其中所蹈少部分基于所述收益大小比或失真大小比为多个数据速率确定440所述数据分组的多个调度包括利用450动态规划方法来确定所述多个调度。
4、 如t又利要求1所述的方法,进一步包括至少部分基于所述多个调度确定460 —组嵌入式调度,其中用于特定速率的駄式调度包括所述特定速率的分组以及更低速率的分组。
5、 如权利要求l所述的方法,其中所述至少部分基于所述收益大小比或失真大小比为多个数据速率确定440所述数据分组的多个调度包括至少部分基于所述数据分组的质量信息优先约束为多个数据速率确定442所述数据分组的多个调度,其中包括与所述媒体单元相关联的较高质量水平分组的调度至少还包括与所述媒体单元相关联的较低质量水平分组。
6、 如权利要求1所述的方法,进一步包括如果与所述媒体单元相关联的劍氐质量水平分组比与所述媒体单元相关联的较高质量层分组具有更大的收益大小比或失真大小比,则将所述较低质量层分组和所述较高质SM分组融合430为融合分组。
7、 如权禾腰求3所述的方法,其中所述动态规戈抱括优先约束背包问题(PCKP)。
8、 如权禾腰求7所述的方法,其中所避少部分基于所述收益大小比或失真大小比为多个数据速率确定440所述数据分组的多个调度包括按照收益大小比的顺序排列452所述数据分组;和对于所述多个数据速率,求解454所述PCKP。
9、 如权利要求1所述的方法,其中所述多个数据分组是按照JPEG-2000编码标准的分组。
10、 如权利要求l所述的方法,其中 分组包括识别相关联的帧、分片、分辨率水平、色彩分量、分区和质量水平的信息。
全文摘要
调度分组传输。接收410多个数据分组,其中所述多个数据分组中的至少一部分与一个媒体单元相关联并包括不同质量信息。确定420数据分组的收益大小比或失真大小比。至少部分基于收益大小比或失真大小比利用动态规划为多个数据速率确定440数据分组的多个调度。
文档编号H04L12/56GK101682560SQ200880012225
公开日2010年3月24日 申请日期2008年4月2日 优先权日2007年4月16日
发明者C·陈, J·阿波斯托洛普洛斯, S·J·威 申请人:惠普开发有限公司