带宽自适应流选择的制作方法

文档序号:7641743阅读:162来源:国知局
专利名称:带宽自适应流选择的制作方法
技术领域
本发明涉及带宽自适应流选择。
背景技术
传统多媒体流式传输系统典型地从源端( source ) 向目的端
(destination)流式传输一个音频流和一个相关视频流。音频和视频流的 组合带宽是在源端和目的端之间所需的信道带宽。如果例如由于网络阻塞 ^使得这种信道带宽减少,则传统系统具有很有限的方式来充分处理这种减 少。因此,现代的多媒体传输系统采用了使得源端适应变化源端-目的端带 宽的各种技术。
通常以比特流的形式处理和传输视频数据。速率控制涉及为 一组图像、 一个图像、 一个片段或一个宏块分配比特的处理。期望的速率控制方案应 该对于给定比特率最大化图像质量。存在三种常用类型的速率控制,包括 恒定比特率、可变比特率和精确比特。序列的长度可以已知或可以未知。 如果已知,则可实现用于压缩流的精确比特,其可用于某些存储应用。例 如,恒定比特率可用于恒定比特率传输信道,例如在广播中。恒定比特率 仅需要较小的緩沖器,并且通常在推(push )模式下使用。可变比特率可 用于可变带宽信道,例如用于数字视频盘。可变比特率典型地需要较大的 緩冲器,并且通常在拉(pull)模式下使用。由于任一信道具有有限的带 宽,所以可变比特率具有两个参数。 一个可变比特率参数是最大比特率, 另一个是平均比特率。设置可变比特率的最大比特率用于信道,设置可变 比特率的平均比特率用于存储空间。
典型的技术是使得多个交替音频和视频流可用于源端,其中交替流是相同内容的编码,但是具有不同的带宽。这给源端提供了从中选择用于向 目的端传输的最适当音频/视频流的可能。
不幸地,这种现有方法具有以下缺点,例如未完全适应变化源端-目的 端带宽或比特率、高图像质量变化和在图像中的阻塞。本发明公开的实施 例解决了这些和其它问题。

发明内容
通过用于带宽自适应流选择的设备和对应方法解决了本领域的这些和 其它缺点和不足。
一种选择多个交替输入流中的一个用于传输的示例性设备包括输入 确定装置,用于确定对于所述多个交替输入流中每一个的带宽需求;输出 测量装置,用于测量当前可用传输带宽;和流选择装置,用于选择所述多 个交替输入流中具有小于或等于所测量的当前可用传输带宽的最高确定带 宽需求的一个交替输入流用于传输。
该示例性设备还包括与所述输入确定装置信号通信的编码器;在所 述输入确定装置和所述流选择装置之间信号通信的子取样器;以及与所述 输出测量装置信号通信的接收器。
一种选择多个交替输入流中的一个用于传输的对应示例性方法包括 确定对于所述多个交替输入流中每一个的带宽需求;测量当前可用传输带 宽;和选择所述多个交替输入流中具有小于或等于所测量的当前可用传输 带宽的最高确定带宽需求的一个交替输入流用于传输。
根据结合附图将阅读的以下示例性实施例的描述,本发明公开内容的 这些和其它方面、特点和优点将变得清楚。


本发明公开内斜艮据以下示例性附图教导了带宽自适应流选择,其中 图1示出根据本发明公开内容的原理的带宽自适应流选择的流程图; 图2示出根据本发明乂^开内容的原理的带宽自适应流选择的视频编码
器框图3示出根据本发明公开内容的原理的带宽自适应流选择的具有视频编码和子取样的系统框图4示出根据本发明公开内容的原理的带宽自适应流选择的具有多个帧类型的流表;和
图5示出根据本发明公开内容的原理的带宽自适应流选择的具有多流视频编码和子取样的系统框图。
*实施方式
本发明公开的内容定义了一种方法,用于响应于输入和输出带宽动态 选择适当的交替流及其可选择子取样。因此,流带宽可以总是最佳地匹配 于源端-目的端信道容量。
在其它实施例中,对每一个交替流进行子取样,从而源端选择性M 送部分交替流。这样提供了使得流带宽适应于实际源端/目的端信道容量的 更多可能。
所述流可包括例如^f见频、音频或视频和音频的数据类型。例如,如果 编码器或其它源端产生超过一个音频编码流,则可使用带宽自适应流选捧来选定对于当前或瞬时网络或传输线路^H牛要发送的适当音频编码。
为了使得该选择方法适应于系统和流的经常变化动态情况,示例性实 施例连续测量源端-目的端信道容量,以及源端可从中选择的所有可能音频 /视频流带宽。
如图1所示,通过标号IOO—般地表示带宽自适应流选择的方法。该 方法包括向输入框112传递控制的开始框110。输入框112接收交替输入 流和它们的子取样译文,并且向功能框114传递控制。功能框114测量交 替输入流的带宽和每一个它们子取样的译文,并且向功能框116传递控制。 功能框116随后测量对于输出的可用带宽,并且向功能框118传递控制。 功能框118选择一个指定交替流的一个指定子取样译文,从而该选择具有 等于或小于可用输出带宽的所有可能的最高带宽。功能框118向结束框120传递控制。
转到图2,通过标号200 —般地表示带宽自适应流选择的视频编码器。 编码器200的输入端与求和点210的同相输入端以信号通信的方式连接。 求和点210的输出端与块转换功能220以信号通信的方式连接。
编码器200的输入端还与用于I图像的帧内预测块215以信号通信的 方式连接,所述帧内预测块215具有与转换器220的第二输入端连接的输 出端。转换器220与量化器230以信号通信的方式连接。应该理解,在可 选实施例中,用于速率控制的单独量化器参数确定单元可以使用在表示使 用哪个量化器参数的单元之间的信号来馈送量化器230。量化器230的输 出端与可变长度编码器("VLC" )240以信号通信的方式连接,其中VLC 240的输出端是编码器200的外部可用输出端。
量化器230的输出端还与逆量化器250以信号通信的方式连接。逆量 化器250与逆块转换功能260以信号通信的方式连接,随后逆块转换功能 260与基准图像存储器270以信号通信的方式连接。基准图像存储器270 的第一输出端与用于多个基准图像的移动估测器280的第一输入端信号以 通信的方式连接。编码器200的输入端还与移动估测器280的第二输入端 以信号通信的方式连接。
移动估测器280的输出端与移动补偿器290的第一输入端以信号通信 的方式连接。基准图像存储270的第二输入端与移动补偿器290的第二输 入端以信号通信的方式连接。移动补偿器290的输出端与求和点210的反 相输入端以信号通信的方式连接。
现在,转到图3,通过标号300 —般地表示用于带宽自适应流选择的 具有视频编码和子取样的系统。系统300包括编码器310,用于创建比 特流;与编码器以信号通信的方式连接的子取样器320,用于对比特流子 取样;以及,与子取样器信号以通信的方式连接的接收器330,用于接收 子取样后的比特流。
如图4所示,通过标号400 —般地表示用于带宽自适应流选择的具有 多个帧类型的流的表。所列出的流示出对于多个段实际传递的帧,分别包
括三个B帧、两个B帧、 一个B帧和无B帧。因此,在表顶部的流S1 被完全传递而没有通过子取样的帧减少,而在表底部的流S5 M本上子取 样减少为一个I帧。
转到图5,通过标号200 —般地表示用于带宽自适应流选择的具有多 流4见频编码和子取样的系统。系统500包括多流编码器510,用于创建 多比特流;与编码器以信号通信的方式连接的子取样器520,用于对多比 特流子取样;以及,与子取样器以信号通信的方式连接的接收器530,用 于接收子取样后的比特流。
流是包括不同类型帧的序列的编码。例如,在MPEG编码视频流中, 可以在I、 P和B帧之间区分。流创建器或编码器发送包含有全部帧类型 的完整流至子取样器。子取样器阻塞某些帧类型,或将它们继续传递至接 收器。
再参照图3,编码器获知流,并定义包括仅某些帧类型的流配置。由 于配置包括帧类型的子集,所以可以看作完整流的子取样译文。4艮据当前 使用的流配置阻塞或传递ii^帧是子取样器的功能。
再参照图4,对于MPEG^L频的示例性情况,编码器可才艮据B帧的数 目定义多流配置Si。例如,如果编码器对具有一个B帧的MPEG视频流 编码,则它将告诉子取样器存在3个不同的可能配置
1. 无子取样,即传递所有帧;
2. 通过丢下所有B帧来子取样;
3. 通过仅传递I帧至接收器来子取样。
再参照图5,编码器不仅可以对一个流编码,而且可以对使用相同源 端的多流编码,以允许更大自适应性。这些交替编码将用于不同比特率, 从而由于可以在分别具有子取样配置可能的交替编码之间选择,所以使得 子取样器有更多可能与接收器带宽匹配。
每一个配置都具有相关估测的比特率。在设置时,使得流配置和对应 的比特率对于子取样器已知。在运行期间,子取样器监控两个参数
1.在自身和接收器之间的可用带宽;和
2. 帧类型的比特率,因此不同流配置的比特率。
子取样器使用这种连续更新的信息来选择与接收器带宽最佳匹配的交 替流和子取样配置。即,其选择具有小于或等于可用带宽的最大比特率的 配置。
例如,如果编码器创建两个交替MPEG视频流, 一个具有一个B帧, 一个无B帧,则子取样器具有5个配置的可能
1. 交替流0的无子取样传递帧IO、 P0和B0。
2. 阻塞交替流O的B帧传递帧I0和P0。
3. 仅传递交替流0的I帧传递帧10。
4. 交替流1的无子取样传递帧II和Pl。
5. 仅传递交替流1的I帧传递帧Il。 在给定时间,子取样器可测量帧类型的比特率为
1. R(IO) = 30kb/s
2. R(P0) = 90kb/s
3. R(B0) = 80kb/s
4. R(Il) = 20kb/s
5. R(P1) = 80kb/s
上述基本比特率得到对于每一个配置的导出比特率如下
1. R(IO + P0 + B0) = 200kb/s
2. R(IO + P0) = 120kb/s
3. R(IO) = 30kb/s
4. R(Il + Pl) = 100kb/s
5. R(Il) = 20kb/s
因此,如果此时接收器的可用带宽是110kb/s,则子取样器将选择配置 4并发送完全交替流1。因此,该示例性实施例提供了一种从许多交流输入 流和它们的子取样译文中选择一个的方法,通过以下方式实现该方法,包 括测量交替输入流的带宽和它们的子取样译文中的每一个,测量用于输 出的可用带宽,以及选择一个指定交替流的一个指定子取样译文,从而该选捧具有等于或小于可用输出带宽的所有可能选择的最高带宽。
可选择具有音频和视频的不同组合的流。在极低信道带宽的情况下, 例如,示例性选择器甚至尽量向下子取样,以至于仅选择具有最低音频带 宽的流,同时完全丟弃视频流。
在可选实施例中,可使用速率控制来提供用于向选择器输入的交替数 据流。速率控制涉及为一组图像、 一个图像、 一个片段或一个宏块分配比 特的处理。本发明公开内容的优选实施例假设序列长度未知。图像组
(GOP)是在两个相邻帧间编码图像之间的图像,并且包括第一帧间编码 图像。
本发明公开内容的优选实施例可以满足比特率和/或存储需求,避免緩 冲器上溢和下溢,编码出具有期望数目比特的较好图像质量,限制在图像 之间的图像质量变化,以及以期望比特率编码出较好序列质量。
比特限制可用于流序列、GOP、图像、片段和/或宏块。比特限制可假 设例如序列的总比特和/或长度未知,GOP表示在两个邻近I图像之间的图 像,以及对于I、 P和B类型图像的初始图像比特限制比率是I:P:B = 6:3:1。 在对每一个GOP编码之后,可以更新该比率。例如,可以将随后的GOP 的初始比特限制比率初始化为从先前GOP得出的比特限制比率。所述比 特对应于GOP比特、平均GOP比特、先前GOP比特和总可用比特中的 最大数目。
可作为绝对差的和获得对于I图像或帧间块的编码复杂度估算,作为 绝对预测差的和获得对于P图像的编码复杂度估算,作为绝对双向预测差 的和获得对于B图像的编码复杂度估算以及作为绝对差获得对于宏块的编 码复杂度估算。
可通过等于2-GOP比特的平均比特率的緩冲器大小对编码緩沖器模 型化。如果编码器緩冲器下溢,则可附加0。如果要编码的图像可使得编 码緩沖器下溢,则可增加图像大小。如果要编码的图像可使得编码緩沖器 上溢,则可减小图像大小。可以根据编码緩冲器输出延迟确定端对端延迟。 在一个实例中,可以从一个图像确定端对端延迟。在可选实施例中,例如,可以从的任意数目图像(例如,6个图像)确定端对端延迟。对于其它应 用,当緩冲器半满时,可以从开始输出流确定端对端延迟。
也可以计算解码器緩冲器延迟。当计划移除图像时,图像的所有比特 将在解码器緩冲器中。对于某些应用,解码器緩冲器延迟取决于图像的最 大数目比特。对于其它应用,当緩冲器半满时,可以确定解码器緩冲器延 迟。
基于这里的教导,本发明公开内容的这些和其它特点和优点可以被相 关领域的技术人员容易确定。应该理解,本发明公开内容的教导可以以硬 件、软件、构件、专用处理器或者其组合的各种形式实现。此外,软件优 选地作为在程序存储单元上有形具体化的应用程序来实现。应用程序可以 上载到包括任意适合架构的机器,并通过其执行。优选地,机器可以在具 有例如一个或多个中央处理单元("CPU")、随才4取存储器(,RAM,,) 和输入/输出("I/O")接口的硬件的计算机平台上执行。计算机平台还 可包括操作系统和獨:指令代码。这里描述的各个处理和功能可以是可通过 CPU执行的微指令代码的一部分或应用程序的一部分,或其任意组合。此 外,各种其它外围单元可连接至计算机平台,例如附加数据存储单元和打 印单元。
还应该理解,由于在附图中描述的某些组成系统组件和方法优选地以 软件实现,所以在系统组件或处理功能块之间的实际连接可以根据本发明 公开内容编程方式而不同。给出这里的教导,相关领域的普通技术人员将 能够推测本发明公开内容的这些和类似实施或配置。
尽管参照附图描述了示例性实施例,应该理解本发明不限于这些精确 实施例,并且在不脱离本发明公开内容的范围和精神的情况下,可以由相 关领域普通l支术人员进行各种变化和修改。例如,可选实施例可以在序列 长度或容量已知时对精确的平均比特率编码,在使用两个完全双路编码之 后实现带宽自适应流选择,优化图像中的比特分配,识别情景改变,使用 统计复用器和/或实施用于分层数据(例如用于MPEG)的流选择。所有这 些变化和修改包括在如所附权利所阐述的本发明公开内容的范围内。
权利要求
1.一种选择多个交替输入流中的一个用于传输的方法,所述方法包括确定对于所述多个交替输入流中每一个的带宽需求;测量当前可用传输带宽;和选择所述多个交替输入流中具有小于或等于所测量的当前可用传输带宽的最高确定带宽需求的一个交替输入流用于传输。
2. 如权利要求l所述的方法,还包括 对交替输入流子取样;测量子取样后的交替输入流的带宽需求;如果所述子取样后的交替输入流具有小于或等于所测量的当前可用传 输带宽的最高确定带宽需求,则选择所述子取样后的交替输入流用于传输。
3. 如权利要求l所述的方法,还包括 对所述多个交替输入流中每一个子取样; 测量子取样后的交替输入流中每一个的带宽需求; 选择具有小于或等于所测量的当前可用传输带宽的最高确定带宽需求的所述子取样后的交替输入流用于传输。
4. 如权利要求1所述的方法,其中输入流至少包括一个图像组 (GOP),所述方法还包括通过从每一个GOP过滤掉一个图像,对所述交替输入流子取样,以 形成第 一子取样后的输入流;通过从每一个GOP过滤掉两个图像,对所述交替输入流子取样,以 形成第二子取样后的输入流;通过从每一个GOP过滤掉三个图像,对所述交替输入流子取样,以 形成第三子取样后的输入流;通过从每一个GOP过滤掉四个图像,对所述交替输入流子取样,以 形成第四子取样后的输入流;测量所述子取样后的交替输入流中每一个的带宽需求; 选择具有小于或等于所测量的当前可用传输带宽的最高确定带宽需求的所述子取样后的交替输入流用于传输。
5. 如权利要求l所述的方法,其中输入流包括I、 P和B图像,所述方法还包括通过从每一个GOP过滤掉至少一个图像,对所述交替输入流子取样, 以形成子取样后的交替输入流,其中在P图像之前过滤掉B图像,以及在 I图像之前过滤掉P图像;测量所述子取样后的交替输入流的带宽需求;如果所述子取样后的交替输入流具有小于或等于所测量的当前可用传 输带宽的最高确定带宽需求,则选择所述子取样后的交替输入流用于传输。
6. —种选择多个交替输入流中的一个用于传输的设备,所述设备包括输入确定装置,用于确定对于所述多个交替输入流中每一个的带宽需求;输出测量装置,用于测量当前可用传输带宽;和 流选择装置,用于选择所述多个交替输入流中具有小于或等于所测量 的当前可用传输带宽的最高确定带宽需求的一个交替输入流用于传输。
7. 如权利要求6所述的设备,还包括 与所述输入确定装置信号通信的编码器;在所述输入确定装置和所述流选择装置之间信号通信的子取样器;和 与所述输出测量装置信号通信的接收器。
8. 如权利要求7所述的设备,其中所述编码器提供至少一个输入流 至所述子取样器。
9. 如权利要求7所述的设备,其中所述编码器提供多个交替输入流 至所述子取样器。
10. 如权利要求7所述的设备,所述编码器包括 输入端子;与所述输入端子信号通信的预测单元; 与所述预测单元信号通信的转换单元; 与所述转换单元信号通信的量化单元;和 与所述量化单元信号通信的可变长度编码单元。
11. 如权利要求10所述的设备,所述编码器还包括 与所述量化单元信号通信的逆量化单元;与所述逆量化单元信号通信的逆转换单元; 与所述逆转换单元信号通信的基准图像单元;与所述基准图像单元和所述输入端子分别信号通信的移动估测单元,; 与所述基准图像单元和所述移动估测单元分别信号通信的移动补偿单 元和求和单元,具有与所述移动补偿单元信号通信的负输入端,与所述移 动补偿单元信号通信的正输入端,以及与所迷转换单元信号通信的输出端。
12. 如权利要求6所述的设备,还包括 对交替输入流子取样的装置; 测量子取样后的交替输入流的带宽需求的装置; 如果所述子取样后的交替输入流具有小于或等于所测量的当前可用传输带宽的最高确定带宽需求,则选择所述子取样后的交替输入流用于传输 的装置。
13. 如权利要求6所述的设备,还包括对所述多个交替输入流中每一个子取样的装置;测量子取样后的交替输入流中每一个的带宽需求的装置; 选捧具有小于或等于所测量的当前可用传输带宽的最高确定带宽需求的所述子取样后的交替输入流用于传输的装置。
14. 如权利要求6所述的设备,其中输入流至少包括一个图像组 (GOP),所述i殳备还包括通过从每一个GOP过滤掉一个图像,对所述交替输入流子取样,以 形成笫一子取样后的输入流的装置;通过从每一个GOP过滤掉两个图像,对所述交替输入流子取样,以 形成第二子取样后的输入流的装置;通过从每一个GOP过滤掉三个图像,对所述交替输入流子取样,以 形成第三子取样后的输入流的装置;通过从每一个GOP过滤掉四个图像,对所述交替输入流子取样,以 形成笫四子取样后的输入流的装置;测量所述子取样后的交替输入流中每一个的带宽需求的装置;选择具有小于或等于所测量的当前可用传输带宽的最高确定带宽需求 的所述子取样后的交替输入流用于传输的装置。
15. 如权利要求6所述的设备,其中输入流包括I、 P和B图4象,所 述设备还包括通过从每一个GOP过滤掉至少一个图像,对所述交替输入流子取样,以形成子取样后的交替输入流的装置,其中在P图像之前过滤掉B图像,以及在I图像之前过滤掉P图像;测量所述子取样后的交替输入流的带宽需求的装置; 如果所述子取样后的交替输入流具有小于或等于所测量的当前可用传输带宽的最高确定带宽需求,则选择所述子取样后的交替输入流用于传输的装置。
16. —种机器可读的程序存储装置,其有形地实现通过所述机器执行 的指令程序,以执行选择多个交替输入流中的一个用于传输的程序步骤, 所述程序步骤包括确定对于所述多个交替输入流中每一个的带宽需求; 测量当前可用传输带宽;和选择所述多个交替输入流中具有小于或等于所测量的当前可用传输带 宽的最高确定带宽需求的一个交替输入流用于传输。
17. 如权利要求16所述的程序存储装置,所述程序步骤还包括 对交替输入流子取样;测量子取样后的交替输入流的带宽需求;如果所述子取样后的交替输入流具有小于或等于所测量的当前可用传 输带宽的最高确定带宽需求,则选择所述子取样后的交替输入流用于传输。
18. 如权利要求16所述的程序存储装置,所述程序步骤还包括对所述多个交替输入流中每一个子取样;测量子取样后的交替输入流中每一个的带宽需求; 选择具有小于或等于所测量的当前可用传输带宽的最高确定带宽需求的所述子取样后的交替输入流用于传输。
19. 如权利要求16所述的程序存储装置,其中输入流至少包括一个 图像组(GOP),所述程序步骤还包括通过从每一个GOP过滤掉一个图像,对所述交替输入流子取样,以 形成第 一子取样后的输入流;通过从每一个GOP过滤掉两个图像,对所述交替输入流子取样,以 形成第二子取样后的输入流;通过从每一个GOP过滤掉三个图像,对所述交替输入流子取样,以 形成第三子取样后的输入流;通过从每一个GOP过滤掉四个图像,对所述交替输入流子取样,以 形成第四子取样后的输入流;测量所述子取样后的交替输入流中每一个的带宽需求;选择具有小于或等于所测量的当前可用传输带宽的最高确定带宽需求的所述子取样后的交替输入流用于传输。
20. 如权利要求16所述的程序存储装置,其中输入流包括I、 P和B 图像,所述程序步骤还包括通过从每一个GOP过滤掉至少一个图像,对所述交替输入流子取样, 以形成子取样后的交替输入流,其中在P图像之前过滤掉B图像,以及在 I图像之前过滤掉P图像;测量所述子取样后的交替输入流的带宽需求;如果所述子取样后的交替输入流具有小于或等于所测量的当前可用传 输带宽的最高确定带宽需求,则选择所述子取样后的交替输入流用于传输。
全文摘要
提供一种选择多个交替输入流中的一个用于传输的设备和对应方法,所述方法包括确定对于所述多个交替输入流中每一个的带宽需求(114);测量当前可用传输带宽(116);和选择所述多个交替输入流中具有小于或等于所测量的当前可用传输带宽的最高确定带宽需求的一个交替输入流用于传输(118)。
文档编号H04N7/12GK101346989SQ200680049025
公开日2009年1月14日 申请日期2006年7月10日 优先权日2006年1月10日
发明者D·S·图拉加, K·拉塔孔达, P·韦斯特林克 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1