用于时变容量的连接的流速率适应的制作方法

文档序号:7943155阅读:120来源:国知局
专利名称:用于时变容量的连接的流速率适应的制作方法
技术领域
本发明涉及从源到多个接收端(sink)的数据通信,其中根据从源到各个接收端 的路径条件,源可以自适应其到各个接收端的流速率。
背景技术
在数据流系统中,服务器可以与多个接收端进行通信。一般来说,从与服务器相关 联的数据源到各个数据接收端的路径包括从源到共享网络中第一交换节点的第一区间,通 过共享网络从第一交换节点到共享网络的第二交换节点的交换路径,和从第二交换节点到 各个接收端的第二区间。根据共享网络的负载条件和传输媒介的物理条件,路径能够支持 的最大流速率会随着时间变化。任意路径片段可以由多个连接共享,其中可以给连接指定 不同的优先级标识。如果连接承载容忍延迟的数据,例如计算机文件,则需要保持所传输数据的完整 性,随着路径条件的波动,则使用已知的点对点协议,其中该协议依靠对丢失数据或者察觉 到要丢失的数据进行重传。如果连接承载对延迟敏感的数据,例如实时视频信号,在这种情 况下数据重传是不可取的,极其重要的是信号源或者与信号源相关联的信号编码器根据各 个连接所察觉到的容量来适应信号内容。因此需要用于实时连接状态评估和信号内容适配的响应手段以确保在连接状态 随时间变化时保持服务质量。

发明内容
本发明提供用于根据从源到接收端的路径条件来控制从源到接收端的数据的流 速率的方法和装置。根据一个方面,本发明提供了一种从编码器通过时变连接向解码器的数据流的方 法。该方法包括以下步骤获得表征所述连接的测量结果;根据所述测量结果估计所述连 接的传送率变化;确定对与传送率变化相兼容的所述编码器的当前编码速率的调整以获得 适当的编码速率;以及根据所述适当的编码速率来指示所述编码器对信号进行编码。起初 为连接分配标称编码速率,其中可以根据编码器的分类来协商或确定该标称编码速率。测量结果可以包括性能特性,例如在所述编码器和所述解码器之间的传送延迟、 数据丢失率、或者解码器的接收缓冲器的占用率。优选地,在预定持续时间的时间窗上获得测量结果。可以通过标称编码速率乘以第一编码系数来更新编码速率,其中根据从测量结果 中获得的第一指标来确定第一编码系数。可以根据第一指标的预定函数来确定第一编码系 数。第一指标可以被选择作为时间窗上测量结果的均值。或者,可以通过标称编码速率乘以第二编码系数来更新编码速率,其中根据基于 所述时间窗期间的测量结果趋势的第二指标来确定第二编码系数。编码系数可以通过用其 当前值乘以根据第二指标的预定函数确定的系数来更新。测量结果趋势可以基于时间窗期 间上测量结果相对于时间的回归线的斜率。测量结果趋势还可以基于回归线斜率和时间窗 内短周期上的测量结果的梯度。根据另一方面,本发明提供一种确定从数据流服务器通过时变连接传输到客户端 设备的信号的可适应的编码速率的方法。该方法包括以下步骤确定所述连接的当前编码 速率;获得在第一时间量和第二时间量间的时间窗上的传送延迟测量结果;以及获得所述 时间窗上的数据丢失比率测量结果。于是可以确定在所述时间窗内所述传送延迟测量结果 相对于各时间量的回归线,并且回归线的斜率可以用于指示测量结果的趋势。还确定紧接 着所述第二时间量的所选择的传送延迟测量结果的梯度。根据所述斜率和所述梯度可以确定第一暂时性编码速率并且根据所述数据丢失 比率测量结果可以确定第二暂时性编码速率。然后,可以选择所述第一编码速率和所述第 二编码速率中的较小者以作为优选的编码速率,从而满足对传送延迟和数据丢失的更迫切 的要求。该方法进一步包括获得与所述客户端设备相关联的缓冲器占用率的测量结果的 步骤。如果满足传送延迟和数据丢失性能要求的优选编码速率超过了标称编码速率并且占 用率超过预定的缓冲器占用率门限,为了避免缓冲器溢出,将所述优选的编码速率减小到 等于所述标称编码速率。第一暂时性编码速率可以由所述当前编码速率乘以根据预定函数 确定的第一编码系数E *来确定Ε*= Γ(α,β),其中α是回归线的斜率,并且β是梯 度。该方法进一步将表示为θ的所述数据丢失比率测量结果,与预定的数据丢失比 率接受区间的下界Qmin和上界θ_进行比较。如果θ > θ max,将第二编码系数E M确定 为已〃=(1-θ)。如果θ < emin,将第二编码系数E 〃确定*E〃= X > 1,其中X是 设计参数。于是,可以将当前编码速率乘以所述第二编码系数E M以确定所述第二编码速率。根据另一方面,本发明提供一种用于数据流的系统。该系统包括与多个客户端 进行通信的流服务器,其中每个客户端包括解码器、数据缓冲器和接收端(sink)报告器 (reporter)0流服务器包括信号源;用于对由信号源所产生的信号进行编码的可适应编码 器;用于制定发送给多个客户端的下行控制分组的源报告器(reporter);以及从所述多个 客户端接收上行控制分组并确定用于所述多个客户端的各编码系数的流控制器。每个编码 系数确定发送给各客户端的信号的编码速率。与特定客户端相关联的接收端报告器制定发送给流控制器的上行控制分组。流控 制器使用通过在流服务器和特定客户端之间的连接交换的下行控制分组和相应的上行控制分组来确定连接的当前条件。从源报告器发送给特定客户端的下行控制分组包括分组标识符。响应于特定下行 控制分组,由特定客户端的接收端报告器发送的相应上行控制分组包括分组标识符。上行控制分组还可以包括与特定客户端相关联的数据缓冲器的占用率的指示。流 控制器处理特定客户端的上行控制分组以确定从流服务器到特定客户端的传输延迟和下 行控制分组的丢失率的指示。根据另一方面,本发明提供一种从编码器通过时变连接向解码器发送数据流的方 法。该方法包括以下步骤将编码系数与用于确定编码器输出的流速率的编码器相关联; 定义连接的性能指标和具有下界和上界的性能指标的接受区间;获得以当前编码系数在时 间窗上连接的一组性能测量结果;根据该组测量结果确定连接的指标的当前值;以及根据 接受间隔和指标的当前值将编码系数调整到优选的编码系数。如果指标的当前值小于接受区间的下界,当前编码系数乘以第一因数以产生优选 的编码系数。如果指标的当前值超过上界,当前编码系数乘以第二因数以产生优选的编码 系数。第一因数超过1而第二因数小于1。优选地,第一因数和第二因数的积小于1。如果 指标的当前值在接受区间内,当前编码系数保持不变。第一因数可以确定为指标的当前值和之间的差的函数。第二因数可以确定为指标 的当前值和上界之间的差的函数。指标可以确定为时间窗期间内传输延迟的均值、时间窗 期间内数据丢失的均值、或者在时间窗结束时所测量的解码器缓冲器的占用率的指示,其 中解码器缓冲器持有通过连接接收的数据。该方法进一步包括,如果优选的编码系数明显不同于当前的编码系数,则指示编 码器根据优选的编码系数和标称编码速率对信号进行编码的步骤。根据进一步的方面,基于对连接的多个性能特性的测量,本发明提供一种从编码 器通过时变连接向解码器发送数据流的方法。该方法包括以下步骤将编码系数与连接相 关联,其中编码系数确定编码器输出的流速率;将多个性能特性与连接相关联;以及定义 与多个性能特性一一对应的多个性能指标。在当前的编码系数上,可以在时间窗上获得连接的多组性能测量结果,其中每一 组性能测量结果对应于多个性能特性中的一个。使用相应组的测量结果来确定每个性能指 标的当前值以产生一组性能指标的当前值。从而根据每个性能指标的当前值来确定优选的 编码系数。该方法进一步通过比较多个性能指标的当前值与各接受区间来调整编码系数。定 义一组接受区间,其中每个区间对应于多个性能指标中的一个。每个接受区间由各自的下 界和各自的上界来定义。当该组性能指标的当前值中的每个元素小于相应接受区间的下界 时,当前的编码系数乘以大于1的第一因数以产生优选的编码系数。当该组性能指标的当 前值中的至少一个元素超出相应接受区间的上界时,当前的编码系数乘以小于1的第二因 数以产生优选的编码系数。第一因数超过1并且第二因数小于1。为了使编码系数以较慢的幅度增加并以相 对快的幅度减小,可以选择第一因数和第二因数的积小于1。多个性能特性可以包括从编码器到解码器的传输延迟、数据丢失、和持有通过连 接所接收的数据的解码器缓冲器的占用率。多个性能指标可以包括在时间窗期间内传输延迟的均值;在时间窗期间内数据丢失的均值;以及在时间窗期间内解码器缓冲器占用率 的值。通过在编码器和解码器之间控制数据的交换来获得多组性能测量结果。数据交换可 以基于使用实时传输协议(RTP)和实时传输控制协议(RTCP)。根据另一方面,本发明提供一种确定从数据流服务器通过时变连接发送到客户端 设备的信号的适应性编码速率的方法。该方法包括以下步骤确定连接的当前编码速率; 获得在第一时间量和第二时间量之间包括W个测量结果的时间窗上的连接的特定特性的 测量结果;以及从测量结果中确定特定特性的指标μ。如果μ在具有下界P1和上界μ 2的预定接受区间中,当前编码速率不需要改变。 否则,如果μ超过了接受区间的上界μ 2,当前编码速率乘以因数X2 < 1,或者如果μ低 于接受区间的下界P1,当前编码速率乘以因数X1 >1。如果特定特性是沿着连接的传输延迟,则根据以下步骤确定指标获得传输延迟 的测量结果ο ;通过增加测量结果ο和减去环形阵列V中当前索引处的条目来更新总和 Σ,其中环形阵列具有存储特定特性之前测量结果的W>1个条目;以及将测量结果σ存 储在环形阵列中的当前索引处。表示测量结果的累积量的计数器增加1,并且当前索引通过 增加1并模W来更新,也就是,当索引到达值W时,将索引复位为0。使用索引模W便于存储 最近的W个测量结果并且计数器的目的是为了隔开连续的时间窗,其中在该时间窗期间内 确定指标。因此,只有当计数器等于或者超过门限P*时,使用用作指标μ的总和Σ来确定 进行编码速率调整的需要。使用总和Σ而不是均值Σ /W的目的是减小计算强度。将下界 μ !确定为可接受的传输延迟乘以W的下界,并且将上界μ 2确定为可接受的传输延迟乘以 W的上界。在当前的编码速率的任意调整之后,将计数器复位为0。选择门限P*足够大,从 而在调整当前编码速率的任意两个连续步骤之间的时间间隔大于预定的最小时间间隔。可 以将因数X1确定为函数(μ「Σ ),并将系数X2确定为函数(Σ -μ2)。如果特定特性是数据丢失率,指标μ是在时间窗上确定的数据丢失率θ。下界 μ !和上界μ 2 > μ i是可接受的数据丢失率的边界。当θ小于μ 时将因数X ,确定为预 定的乘数X > 1,并在θ > ^时将因数X2确定为(1-Θ)。


通过参照示例性的附图来进一步描述本发明的实施方式。图1说明了根据本发明实施方式的结合用于时变容量的连接的流速率自适应系 统的网络;图2说明了根据本发明实施方式的包括通过可变容量的连接与解码器连接的编 码器的系统,其中编码器速率与连接的状态相适应;图3说明了根据本发明实施方式的用于存储表征连接的所选的测量结果的与图2 的编码器相关联的环形缓冲器;图4说明了根据本发明实施方式的在图2系统中的编码器处接收的连接测量结 果,其中测量结果在不相交的或重叠的时间窗上进行分析;图5是说明根据本发明实施方式的基于时间窗内测量结果变化来确定编码系数 的方法的流程图;图6说明了根据本发明的实施方式的时间窗内连续测量结果的示例性回归线,其中在图5的方法中使用回归线的斜率以确定编码速率的优选值;图7说明了在本发明实施方式中使用的具有正斜率和负斜率的另一组示例性回 归线;图8举例说明在用于解释图5的方法的产生负梯度和正斜率的回归线的时间窗上 的测量结果;图9举例说明在用于解释图5的方法的产生正梯度和负斜率的回归线的时间窗上 的测量结果;图10说明了根据本发明实施方式的图5的方法,其中编码系数的缩减发生在根据 在窗结束时由线性回归斜率和测量结果梯度所定义范围所确定的离散步骤中;图11说明了根据本发明实施方式的图5的方法,其中编码系数的增长发生在根据 在窗结束时由线性回归斜率和测量结果梯度所定义范围所确定的离散步骤中;图12是说明根据本发明实施方式的使用实时传输协议(RTP)和实时控制传输协 议(RTCP)获得连接测量结果的步骤的流程图;图13是说明根据本发明实施方式的基于由编码器发送的RTP分组和从解码器接 收的RTCP分组确定连接性能测量结果的处理的流程图;图14是表明根据本发明实施方式的确定连接指标和相应的编码系数的步骤的流 程图;图15说明了根据本发明实施方式的处理在不相交的或者重叠的时间窗上获得的 用于确定编码系数的测量结果的可替代方法;图16说明了根据本发明实施方式的用于在重叠的时间窗上计算测量结果的移动 平均值的方法;图17说明了根据本发明实施方式的基于将连接指标与预定边界相比较来确定优 选编码系数的方法;图18是说明根据本发明实施方式的图17方法的基本步骤的流程图;图19是提供根据本发明实施方式的图17方法步骤细节的流程图,其中进一步包 括使计算强度最小化的步骤;图20说明了根据两个指标的当前值的用于调整编码系数的图17所描述的过程的 扩展;图21说明了根据三个指标的当前值的用于调整编码系数的图17所描述的过程的 扩展;图22说明了用于解释本发明的实施方式的分组丢失比率相对于由流服务器传送 信号的编码速率与连接传送率的比率之间的变化。
具体实施例方式术语编码流速率编码信号的比特率可能随时间波动,并且这里将编码信号的最大比 特率称为流速率。自适应编码器自适应编码器是能够将信号编码到预定流速率范围内的特定流速 率的设备。该编码努力让编码信号保真度最大。
标称流速率(Nominal flow rate)这里将在客户端和流服务器之间协商的流速 率,或者由流服务器基于客户端设备的知识自动确定的流速率称为标称流速率。编码系数由E表示的编码系数是比例因数,其与标称流速率相乘以确定与在流 服务器和客户端之间连接的当前状态相匹配的优选流速率。连接传送率(transmittance)这里将在不破坏预设性能目标情况下的从流服务 器到客户端的连接所保持的最大流速率称为连接传送率。性能特性这里将性能特性定义为可测量的连接属性,例如,传输延迟变动,数据 丢失比例,信号失真等。标量(kalar)测量结果仅涉及一个连接属性的连接测量结果是标量测量结果。矢量测量结果多个同时期的连接测量结果组成矢量测量结果。统计量统计量是从一组数据采样中得到的值(例如,平均值)。指标(Metric)指标是电信网络中路径或者连接的质量的测量。指标可以涉及路 径中的路径或者连接的连接属性,例如延迟、可靠性、容量等的。标量指标这里将涉及一个连接属性的指标称为标量指标。由多个标量测量结果 确定标量指标。矢量指标这里将涉及至少两个连接属性的指标称为矢量指标。由多个矢量测量 结果确定矢量指标。接受区间这里将在预定的下限和预定的上限之间的,被认为是指示可接受的路 径或者连接性能的指标范围称为接受区间。下行(downstream)控制分组从流服务器向客户端发送的控制分组是下行控制 分组。上行(upstream)控制分组从客户端向流服务器发送的控制分组是上行控制分组。梯度通常,将涉及两个变量的连续函数的斜率当做梯度。在采样函数的情况下, 通过确定少量采样的斜率来估计梯度。这里,梯度是在包括少量采样的周期上确定的测量 采样的斜率。回归线划过一组数据并根据一些标准(例如,使数据偏离直线的均方和最小)确 定的直线是回归线。如果数据分布满足某些条件,回归线的斜率可以可靠地指示数据的趋势。实时传输协议(RTP) =RTP定义了用于在国际互联网上传送音频和视频的标准分 组格式(由国际互联网工程任务组(IETF),RFC 3550定义)。实时传输控制协议(RTCP) =RTCP提供用于RTP流的带外控制信息,并在流会话中 周期性地用于传送控制分组。RTCP的基本功能是提供连接质量的反馈。图1说明了用于数据流的系统,其中流服务器计算设备120(也称为流服务器 120),通过共享网络180(例如,国际互联网)将数据传送给客户端设备160(也称为客户端 160)。客户端160包括处理器和计算机可读媒介,其通过有线访问媒介150或者无线访问 媒介152经基站140与网络180连接,其中基站140可以通过有线或无线媒介与网络180相 连。在优选的实施方式中,服务器120使用现有的协议与客户端160交换控制数据。例如, 流服务器120可以利用实时传输协议(RTP)向客户端160发送控制数据,并且客户端可以使用实时传输控制协议(RTCP)向流服务器发送控制数据。其它协议可以设计用于连接质 量控制。根据本发明,客户端与流服务器协商数据编码速率,并且流服务器可以根据流服务 器120和客户端之间连接的状态变化来调整编码速率。特别是,流服务器120根据协商的 标称流速率(比特速率)和从流服务器120到客户端160的连接的各自状态给客户端160 分配各自的编码速率。流服务器还可以识别客户端的设备类型并据此确定标称流速率。图2说明了从流服务器120到客户端160的单一连接的实例。流服务器120包括 通过信道206与适应性编码器220连接的信号源204。适应性编码器220根据标称流速率 和由流控制器246确定的编码系数对来自源204的信号进行编码。流服务器120通过可能 具有时变容量的信道260与客户端160连接。客户端160包括接收器226,其中接收器2 检测信息信号(例如,视频信号)并将所检测的信号发送给解码器M0,其中解码器240可 将所检测的信号组织成适于用户观0的格式。缓冲器238可以与解码器240相关联以保持 数据一小段时间。所检测的信号也可以包括发送给接收端报告器242的控制分组。接收端 报告器可以处理从源报告器2M接收的控制分组并将控制分组中的特定测量结果和应答 通过控制信道270发送给流控制器M6。由于连接沈0的时变容量,及其重要的是流控制器246确定对时变信道260传送 率的精确估计并计算适当的编码系数E。适应性编码器220根据分配给客户端的标称编码 速率和编码系数的当前值对信号进行编码。包括存储在计算机可读媒介中的计算机可读指 令的流控制器246确定可允许的总体流速率(比特速率)或者选择性地调整信息内容以保 持信号的某些质量。在视频信号的例子中,编码器可以修改帧速率、每帧的内容、或者其两 者ο流控制器246使用通过在服务器120和客户端160之间控制分组的交换所获得的 测量结果。包括存储在计算机可读媒介中的计算机可读指令的源报告器2 制定要发送 给客户端160的下行控制分组(在图中没有给出)。包括存储在计算机可读媒介中的计算 机可读指令的、与每个客户端160相关联的接收端报告器M2,制定要发送给流控制器246 的上行控制分组(在图中没有给出)。流控制器246使用上行控制分组和通过在流服务器 和客户端160之间的连接交换的相应下行控制分组,来确定连接的当前状态和用于客户端 160适当的各自编码系数。每个编码系数确定用于发送给各客户端的信号的编码速率。从源报告器2 发送到特定客户端160的特定下行控制分组包括下行控制分组 标识符和其上传送下行分组的瞬时时间的指示符。响应于特定下行控制分组的,由专用客 户端160的接收端报告器242发送的相应上行控制分组返回下行控制分组标识符并指示特 定客户端接收到特定下行控制分组的时间。流控制器可以基于在预定宽度W的时间窗内所接收的测量结果计算编码系数E。 宽度W可以利用时间区间来定义,例如几个毫秒,或者多个所获得的测量结果,例如,最近 的1 个测量结果。在下文中,利用许多测量结果的实例来表示时间窗宽度。流服务器120包括至少一个处理器(在图中没有给出)和具有在其上存储计算 机可读指令的计算机可读存储媒介,例如,计算机可读存储媒介包括非易失性存储器设备, DVD,⑶-ROM或者软盘。计算机可读指令由至少一个处理器执行以使适应性编码器220、源 报告器228、以及流控制器246执行下文中所描述的功能。图3说明了在由流控制器246所保持的环形缓冲器320中存储的测量结果。为了清楚起见,在所说明的示例中的环形缓冲器仅包括在时间量、到、+7期间所获得的8个测 量结果342,其中(j+7)为当前的观测时间量。环形缓冲器可以保持大量的记录V。记录可 以包括单一的测量结果(标量测量结果)或者连同相应时间指示符的一组同时发生的测量 结果(矢量测量结果)。索引j的新记录重写索引(j_v)的之前的记录。因此,环形缓冲器 320保留了最近的ν个测量结果(标量或矢量测量结果)。一些测量结果,例如,与解码器 240相关联的缓冲器238的占用率,可以从由客户端160接收的上行控制分组中提取。此 外,通过比较将下行控制分组发送给客户端160的时间量和服务器120从客户端160接收 相应的上行控制分组的时间量,流控制器246可以确定传送延迟。通过比较发送给客户端 160的下行控制分组的序号和从客户端160接收的上行控制分组中提取的序号。可以检测 分组丢失(数据丢失)。将丢失分组数量和下行控制分组数量的比定义为分组丢失率,在下 文中用θ表示。环形缓冲器320中的每个记录包括(1)下行控制分组的序列号340(用j,j+1, j+2,...等表示),( 在服务器120处接收指示相同记录的序列号340的上行控制分组的 时间量342(用tj; tJ+1等表示);C3)包括在上行控制分组中的测量结果344,例如,缓冲器 238的占用率。保持足够的序列号340能够在合理的范围内任意宽度的时间窗上计算分组丢失 率。保持下行控制分组的发送时间和相应上行控制分组的接收时间342能够计算传输延 迟。因此,表征连接特性的测量结果可以包括在流控制器246处计算的诸如传输延迟和分 组丢失率的测量结果,以及从上行控制分组直接读取的测量结果。时间窗可以限制为包括控制分组的最大预定数量或者预定持续时间。如通过参考 图19所介绍的,可以使用两个条件,并用更严格的条件来定义时间窗。图4说明了从在流控制器246处接收的控制分组提取的连续的测量结果。在时间 窗结束时计算表征时变信道的指标。在图4的示例中,每个窗包括8个测量结果。指标可 以包括诸如延迟、数据丢失、解码器240处的缓冲器占用率、以及通过分析解码器的输出所 确定的信号质量的几个属性中的一些或全部。测量结果可以是涉及诸如数据丢失比例的一 个连接特性的标量,或者是包括诸如传输延迟、数据丢失、和与连接相关联的缓冲器占用率 的多个连接特性的矢量。在当前窗上的测量结果数据的分析结果可以确定后续时间窗的选择。如果对窗上 的测量结果的分析导致修改编码速率,也就是,修改编码系数E,则通过有效的时间间隔将 后续窗与当前窗隔隔开。否则,后续窗可以紧邻当前窗;后续窗也可以是与当前窗重叠的移 动窗。在图4的示例中,在窗420的最后测量结果之后确定的连接的指标可以导致更新 编码系数。在窗MOA结束时所确定的指标导致更新用于当前连接的编码系数E。因此,新 窗MOB直接跟在窗MOA之后。在窗MOB结束时所确定的指标也导致更新编码系数,并且 因此窗MOC直接跟在窗MOB之后。在窗MOC结束时所确定的指标导致更新编码系数,并 且因此窗MOD直接跟在窗MOC之后。在窗MOD结束时所确定的指标没有改变编码系数。 因此,后续窗MOE与窗MOD重叠。在窗MOE结束时所确定的指标没有改变编码系数。同 样地,在重叠窗MOF结束时所确定的指标没有改变编码系数。在重叠窗MOG结束时所确 定的指标导致修改编码系数。因此,新窗MOH直接跟在窗MOG之后。在窗MOH结束时所确定的指标导致修改编码系数并且后续的窗2401直接跟在后面。以标记为I,J,K,L,和M 的测量结果作为结束的重叠窗(移动窗)2401, 240J, 240K, 240L和MOM中没有一个以修改 编码系数作为结束。在重叠窗MON结束时所确定的指标导致修改编码系数并且新窗(在 图中没有给出)的直接跟随。图5说明了用于确定编码系数的优选的当前值的基本步骤。在步骤520中,将编 码系数E设为等于1.0,也就是,编码速率是当建立连接时所确定的标称编码速率。需要说 明的是,编码器当然是以根据编码信号的性质变化的速率产生数据。然而,编码系数E促成 编码器独立地修改其输出流速率而不考虑编码信号的变化(比特率的波动)。在步骤520 中还将环形缓冲器320(图幻的索引初始化为0(或者初始化为不超过缓冲器长度的任意 预设值)。在步骤522中,流控制器246获得由接收端报告器242发送的控制数据,从控制 分组提取连接测量结果,并将测量结果存储在环形缓冲器的“索引”的地址中,之后在步骤 524中将索引加1。如果地址索引达到W,将地址索引复位为0。如果步骤5 确定索引值 小于窗宽度W,重新回到步骤522以接收和处理新的测量结果(标量测量结果)或者一组同 时发生的测量结果(矢量测量结果)。可以将窗宽度表示为多个缓冲器记录,其中每个记 录保持有标量测量结果或矢量测量结果。如果步骤5 确定索引值至少等于窗宽度W,步 骤5 在窗结束之前的短期内确定表示为β的梯度。如果梯度β的幅度小于第一预定门 限盒,不更新编码系数并且重新回到步骤522。否则,步骤532利用线性回归技术确定最近W 个测量结果的趋势。在步骤540中,将回归线的斜率(表示为α)的幅度与第二预定门限§ 相比较。如果α的幅度(表示为I α I)小于§,重新回到步骤522以从流控制器处所接收 的新控制分组获得标量测量结果或矢量测量结果并进行存储。否则,如果I α| 步骤542 根据预定的函数Γ (α,β)确定新的编码系数E并将索引复位为0。步骤546确保将E值 限制为高于预定的最小值^lin并低于预定的最大值^liaxt5当测量结果指示高的连接传送率时,如果函数Γ (α,β)允许E值连续地增加,则 E值可能超过预设的设计上限Emax。步骤546于是将E值减小为^liax (E — min (E,Efflax))。当测量结果指示低的连接传送率时,如果函数Γ (α,β)允许E值连续地下降,则 将编码速率减小到低于特定值可能导致E值降到预设的设计下限^lint5步骤546于是将E 值增加为 Emin (Ε — max (Ε, Emin))。需要说明的是,利用作为从β和α的幅度的较小值中导出的连接传送率中的可 忽略的变量,步骤542在相当大的时间周期上不会被激活。然而,在环形缓冲器320中,新的 测量结果覆盖之前已经处理的测量结果,并且步骤532中,在最近的W个标量测量结果(或 者W个矢量测量结果)上确定回归线的斜率α。由与流控制器246相关联的处理器根据在存储媒介中存储的计算机可读指令来 执行图5中的步骤。图6说明了连接特性的连续测量结果,例如,延迟、数据丢失比例、客户端160处的 缓冲器占用率。回归线620的斜率是正的,表示连接条件恶化(连接传送率降低),并且因 此,需要通过减小编码速率,也就是减小编码系数Ε,来减小流速率。图7说明了在客户端160处的连接特性的连续测量结果。回归线620的斜率从正 值变为负值,表示在提高连接条件后的恶化。
13
图8说明了图4的窗420上的8个标量测量结果。从在时间量t」,tJ+1, ... , tJ+7 处获得的所选择的用于使偏离测量结果的方差和最小化的回归线620具有斜率α = 1. 64。 从最后两个测量结果所确定的梯度β是负的。从预定函数Γ (α,β)确定E值。在图10 中以表格形式阐述了示例性函数Γ (α,β)。图9说明了窗上的8个标量测量结果,其中回归线具有斜率α = -1. 64。从最后 两个测量结果所确定的梯度β是正的。从预定函数Γ (α,β)确定E值。图10说明了用于回归线的斜率α的正值的示例性函数Γ (α,β)。如图所示, 如果梯度β小于1.0并且α彡0,或者如果梯度β大于或等于1但α小于0.1,编码系 数E保持不变。图8的测量结果产生正的回归线斜率α和负的梯度β。从而,根据图10 的函数Γ (α,β ),编码系数E保持不变。同样地,图11说明了用于α的负值的示例性函数Γ (α,β)。如果β彡(-1.2) 或者如果β < (-1.2)但是α > (-0.2),E值保持不变。图9的测量结果产生负的回归线 斜率α和正的梯度β。从而,根据图11的函数Γ(α,β),编码系数E保持不变。包括图12Α和图12Β的图12说明了在流服务器120和客户端160之间使用已知 协议交换控制分组的过程。图12Α说明了将RTP(实时传输协议)控制分组发送给客户端 160的过程,并且图12B说明了从客户端160接收RTCP(实时控制传输协议)分组并在流 控制器246中处理RTCP分组内容的过程。图12A的过程从步骤1220开始,其中源报告器 228(图2、准备RTP控制分组。在步骤1222中,确定编码系数的当前值。在步骤12M中, 记录RTP的序号和传送RTP分组的时间。在步骤12 中,将RTP分组发送给各客户端160。图12B的过程从步骤1240开始,其中流控制器M6 (图幻从接收端报告器242接 收RTCP分组。在步骤1242,从RTCP分组中提取测量结果数据。在步骤1244中,确定当前 时间量和编码系数的前一次更新的时间量之间的差别。如果时间差小于预定的最小更新间 隔,重新回到步骤1240以考虑等待或现有的RTCP分组。否则,如果时间差等于或者超过最 小更新间隔,步骤1246确定新的可允许的编码速率。步骤1248确定是否需要更新编码系 数。如果需要,确定新的编码系数。否则重新返回到步骤1240。在步骤1260中,更新编码 系数并发送给编码器220,并且流控制器246 (图2)准备考虑新的RTCP分组(步骤1M0)。图12的步骤(在图13和图14中作详细描述)由前述的与流控制器246相关联 的处理器根据存储在存储媒介中的计算机可读指令来执行的。图13详细说明了图12的步骤1242。在步骤1320中,检测接收到的RTCP分组以 确定其是否包括来自接收端报告器M2的“接收器报告”。如果RTCP分组不包括接收器报 告,执行步骤1340以确定RTCP分组是否包括缓冲器占用率报告。如果RTCP分组包括接收 器报告,步骤1322确定作为RTCP分组到达的当前时间和传送相应RTP分组的时间之间的 时间差的传送延迟。相应的RTP分组是具有序号的RTP分组,所述序号与RTCP接收器报告 的“扩展所接收的最高序号”字段中所指示的号码相匹配。在步骤13 中,将最小的传送 延迟确定为在步骤1322中所计算的传送延迟和用于连接的最小传送延迟的前面的值的 较小者。将最小传送延迟初始化为任意大的值。保留最小的传送延迟以在将来用作测量有 波动的传送延迟的基准。图14是描述确定连接指标和相应的编码系数的步骤的概况的流程图。在步骤 1420中,使用任意已知的分析方法来计算在时间窗上获得的性能测量结果的回归线的斜率。还确定了靠近时间窗结束处的测量结果的梯度。在步骤1422中,还确定了在时间窗上 的数据丢失的统计量。在步骤1似4中,参照上述的图10和图11,确定基于回归线斜率和梯 度的编码系数的优选值(表示为E*)。在步骤14 中,根据在步骤1422中确定的数据丢 失的统计量来确定编码系数的优选值(表示为E**)。在步骤14 中,将新的编码系数E 选为E*和E**中的较小者。应当注意的是,在有利的连接的条件下,可以允许优选的编码 系数超过1. 0,也就是说,编码器可以产生即刻具有超过为连接指定的标称流速率的流速率 (比特率)的流。刚刚确定的编码系数E可以根据放置于连接的客户终端的缓冲器的占用率来进 行进一步的修改。如果没有获得缓冲器占用率的数据,则步骤1432将过程直接转到步骤 1260(图12)。否则,步骤1434确定在时间窗上获得的缓冲器占用率测量结果的统计量是 否超过了预定的门限。如果超过了,并且如果步骤14 所确定的编码系数超过1. 0,则在步 骤1440中将优选的编码系数减少到1,并且该过程返回到图12的步骤1260。需要说明的 是,步骤1434和1440服从示例性的规则。可以设计出管理缓冲器占用率统计量的使用的 其它规则。图15说明了根据另一实施方式的处理连接测量结果的方法,其中在连续的或者 重叠的窗上的测量结果的均值用于确定编码系数E的新值。基于在时间窗1520上获得的测 量结果的均值和相应于特定连接特性的统计量,例如传送延迟或者数据丢失,与特定连接 特性的预定的可接受的基准值进行比较。当统计量以一个显著的量超过基准值时,减小编 码系数,并且从而,将编码速率减小到标称流速率以下。如果统计量以一个显著的量低于基 准值时,增加编码系数。从而,可以定义对应于特定特性的两个边界P1* μ2,μι< μ2。 编码系数在统计量低于μ !时增加并在统计量超过μ 2时减小。间距(μ 2_μ D的选择是关 键的。非常小的间距可能导致在低值和高值之间不必要的快速摆动。非常大的间距可能导 致对显著的连接条件改变的响应慢,甚至没有响应。图16说明了定义为标量测量结果的平均值、以任意单位表示、并在连续的重叠窗 上获得的移动平均值,其中每个窗包括8个测量结果。最初4个重叠窗的均值16. 25、17. 0、 16. 75和17. 75展现出缓慢的变化,并且编码系数的当前值可以保持不变。然而,如图16所 示,在多个测量结果后确定的均值21. 5可以触发编码系数的修改和对适应性编码器220的 参数的调整。参照之前的图4所示出的,在时间窗结束时所确定的指标确定对随后的时间 窗的选择。图17说明了调节编码系数E为时变连接沈0的指标μ的当前值的方法。对于给 定的连接条件,指标μ的值随着编码系数E的增加而增加。在图17中分别以线1720和 1740表示的两个边界口工和μ 2定义了可接受的连接性能的范围。图17说明了指标μ依 据用于连接传送率的5个值的编码系数E的示例,其中5个值表示为I、η2, η3> 1和 η5,其中Ii1 > η2 > η3> η4> η5。开始时,将E设为等于1,从而编码器以分配给在 考虑中的客户的标称编码速率进行工作。选择标称编码速率使得连接性能在正常连接条件 下是可接受的,其中传送率等于I。在图17中,连接指标μ的采样值用索引(0)至(9) 来表示。考虑这样的情况,其中当E= 1.0时,传送率为其最大值η”并且当前指标具有在 口工和口2之间的值{索引(0)}。随后连接条件恶化,并且连接的传送率下降至值η2,其导 致高于边界μ2{索引(1)}的指标μ的新值。流控制器246将编码系数E减少力的值,导
15致在区间(μ1; μ2)内指标μ的新值{索引O)}。连接条件继续恶化,并且连接传送率下 降至η4< η2,导致高于区间(μ1; μ 2)的指标μ的新值{索引(3)}。响应于增加的指 标,流控制器246将编码系数减少%。指标μ的值下降至{索引但仍高于μ2。在两 次进一步将编码系数减少%和%之后,导致由索引(5)和(6)表示的值,编码系数大约为 0.56并且指标μ下降至区间(μ μ 2)之中的值{索引(6)}。于是提高了连接的条件, 从而在编码系数E的相同值0.56处,指标μ下降至区间μ2)下方的值{索引(7)}。 流控制器246通过e7增加编码系数,从而导致仍处于P1下方的μ {索引(8)}的增加值。 流控制器246进一步通过%将编码系数增加到0. 75的值,导致μ的增加值{索引(9)}在 区间(μ” μ2)中。编码系数E保持在0. 75的值直到连接传送率的进一步改变造成指标的 变化。图18是图17的过程的主要步骤的最初从步骤1820开始的流程图。在步骤1820 中,参照上述的图15和图16,由在窗上获得的测量结果来确定指标μ的新值。在步骤1拟4 中,新值与上边界μ 2进行比较,并且如果μ > μ 2,在步骤I860中通过用因数x 2 < 1乘 以E的当前值来减小编码系数,并且过程返回步骤1820。如果μ < μ2,步骤1拟6比较指 标μ的新值与可接受区间(μ1; μ2)的下边界μ1Ι5如果μ彡μ 可以确定的是指标的 新值在可接受区间(μ” μ2)中,并且过程返回步骤1820以处理指标μ的新值。如果μ < μ 在步骤1840中通过用因数X1 > 1乘以E的当前值来更新编码系数Ε,并且过程返 回到步骤1820。因数X1禾口 XjX1 > 1,X2 < 1)可以分别基于差(μ「μ)禾口(μ2-μ)。 如果积(X1X X2)小于1,当μ < P1时,E值以相对较小的步长增力Π,并且当μ >μ2时, E值以相对较大的步长减小。图19更详细地描述了图17的过程。将指标μ选择为在包括预定数量的测量结 果的窗上获得的测量结果的均值。为了降低流控制器Μ6的计算强度,将均值替换为在窗 上测量结果的和Σ并将接受区间(μ μ 2)替换为区间(Σ Σ 2),其中Σ i = WX μ Σ 2 =WX y2,w是在每个时间窗上测量结果的数量。在步骤1920中,将E值初始化为1,也就是,最初要求编码器以分配给在考虑中的 客户端的标称编码速率进行工作。将长度w的环形阵列V的所有条目(代表图3的环形缓 冲器320)设置为等于0,并且阵列V中w个条目的和Σ初始化为等于0。整数“索弓丨”跟踪 阵列V中的当前位置并且整数“周期”跟踪编码系数更新的最近的实例。在步骤1920中将 两个整数(索引和周期)中的每一个初始化为0。在步骤1922中,从在流控制器246处所接收的控制分组中提取测量结果ο。在步 骤1拟4中,通过减去阵列V的位置“索引”中的条目和增加新的测量结果σ,来更新与指标 μ成比例的总和Σ。阵列V是环形的,从而,在第一个时间窗后,在位置索引中减去的条目 表示在当前窗之间获得的测量结果。在第一个时间窗后,第一窗上的总和Σ正确地表示乘 以W的指标μ。在步骤1拟6中,将新的测量结果σ写入到阵列V的位置“索弓丨”中。在步骤1拟8 中,整数周期增加1,并且环形阵列V的当前位置索引增加1并模W,也就是,当索引值达到 w时,将索引复位为0。在步骤1930中,如果确定从直接在前的编码系数更新实例以来的测 量结果的数量小于预定界限P *,该过程返回到步骤1922以处理新的测量结果。否则该过 程进入到步骤1932。当到达步骤1932时,环形阵列V具有w个最近的测量结果,并且在时间的当前量和修改编码系数E的直接在前的时间量之间的时间间隔至少等于门限P*。选 择P*的值大到足以避免过分的更新速率,并且小到足以对连接状态的变换产生响应。P*的 值是由流控制器M6的设计者设置的设计参数。步骤1932将当前的总和Σ与可接受的总和区间(Σ 1;Σ2)的上界Σ2进行比较。 如果Σ>Σ 2,在步骤1940中通过用系数X2 < 1乘以E的当前值来减小Ε,在步骤1950中 将整数周期复位为等于0,并且该过程返回步骤1922。如果2,步骤1934将当前的总 和Σ与可接受的总和区间(Σ1;Σ2)的下界E1进行比较。如果Σ <Σ i,在步骤1942中 通过用系数χ工> 1乘以E的当前值以减小E,在步骤1950中将整数周期复位为等于0,并 且该过程返回步骤1922。如果步骤1934确定工,可以推断出当前的总和Σ在可接受 的总和区间(Σ 1;Σ 2)中。该过程返回步骤1922并且E值保持不变。图19的步骤由前述的与流控制器246相关联的处理器根据存储在各计算机可读 存储媒介上的计算机可读指令来执行。多个连接指标图17中考虑的指标μ是表示连接性能(例如,传送延迟、数据丢失比例、或者在 解码器240处的缓冲器占用率的多个方面中之一的标量。从而,边界P1和μ 2也是标量。 用于修改编码系数的准则可以基于涉及利用修改编码系数的系数X工和X2(图18和图19) 的一个性能方面的连接指标μ,其中该准则是确定指标的当前值相对于相同指标的可接受 范围的偏离程度的函数。考虑到连接性能的多个方面,可以将相应的指标归一化并且可以 将合成指标定义为利用据此所选择的边界P1* μ 2的多个归一化指标的加权和。例如, 可以关于考虑一些标称延迟值(例如,考虑中的用于连接的所估计的最小延迟)来归一化 延迟指标,从而成为无量纲(dimensionless)的。本质上是无量纲的数据丢失指标可以用 作归一化的指标,并且缓冲器占用率指标(也是无量纲的)关于各缓冲器的容量进行归一 化。例如,考虑分别在20毫秒、0. 02和200的延迟、数据丢失比例和缓冲器占用率的同期 测量结果。可以根据10毫秒的标称(基准)延迟将20毫秒的延迟指标归一化为2. 0的 值,并且根据250个数据单位的缓冲器容量可以将200个数据单位的缓冲器占用率归一化 为0.8。合成指标μ *可以定义为μ * = 卩 delay+aX 卩 loss+b X 卩 buffer' 其中 ^ delay、^ loss 不口
μ buffCT分别表示归一化的基于延迟的指标,数据丢失指标和归一化的缓冲器占用率指标。 分别选择参数a和b为80.0和2. 5,则将用于上述示例的指标的合成指标μ *确定为μ * =2. 0+80. 0X0. 02+2. 5X0. 8 = 5. 6。考虑连接性能多个方面的更全面的方法得出单独的指标并且指定用于每个性能 方面的单独的接受区间。当一组当前指标中的任意当前指标高于其接受区间时,编码系数 E减小。在随后的时间窗中确定的新指标受到由于编码系数E变化而导致的编码速率变化 以及连接传送率的任意变化的影响。编码系数E可以再次减小,直到没有一个新指标高于 其各自的接受区间为止。相反,仅当所有当前指标低于它们各自的接受区间时,才可能增加 编码系数Ε。当产生的新指标中的至少一个在其接受区间中并且没有一个保持的新指标高 于其接受区间时,E保持不变。图20说明了如上所述的根据两个指标μ (1)和μ⑵的当前值调整编码系数E的 方法。如在图20中所示,μ (1)向上增加而μ (2)向下增加。用于第一指标μ (1)的接受区间 2020(这里将其称为第一接受区间)具有下界μ /1)和上界μ 2(1)。用于第二指标μ⑵的接
17受区间2040(这里将其称为第二接受区间)具有下界μ,和上界μ2(2)。附图标记2022、 2024,2026和20 指示对应于编码系数值EpE2J3和&的第一指标的值,其中E1 <氏< E3 < E40附图标记2042、2044、2046和2048指示对应于编码系数值E1, E2, E3和E4的第二指 标的值。例如,利用在值&设置的编码系数,确定第一指标的值Q028)高于各自的上界 μ2(1),同时确定第二指标的值Ο048)在第二接受区间(μ/2),μ2(2))内。由于两个指标中 一个的值高于相应的接受上界,因此通过将编码系数的当前值乘以系数X2 < 1以降低编 码系数。编码器220相应地调整编码流速率,并且从调整流速率之后获得的新测量结果中 进行确定用于两个指标的新值。在将编码系数减小到值& < E4时,将第一指标的值Ο026) 确定为在第一接受区间(μ/1),μ2(1))内,同时将第二指标的值Ο046)确定为正好低于第 二接受区间(μ/2),μ2(2))的下界μ/2)。编码系数不会发生进一步的变化,除非⑴连接 状态的恶化导致指标中的一个超过其可接受的上界,在这种情况下编码系数进一步减小, 或者( 连接状态提高,从而第一和第二指标的值低于它们各自可接受的下界,从而提供 了增加编码系数的机会。利用在值E1设置的编码系数,确定第一指标μ (1)的值Ο022)低于下界μ ,同 时确定第二指标的值004 低于下界μ/2)。编码系数增加到值氏。从而,第二指标μ 的值增加到位于可接受区间(μ/2),μ2(2)内但接近上限μ2(2)的值0044)。第一指标μ (1) 增加到仍低于下界μ/1)的值(2024)。由于连接传送率没有变化,编码系数的进一步增加 可以将第二指标μ广)增加到高于上界μ2 的值。编码系数不会发生进一步的变化,直到 连接状态显著变化以提供增加编码系数的机会或者强制减小编码系数为止。图21说明了根据三个指标μ (1),μ⑵和μ 当前值的编码系数调整的方法。为了 清楚起见,将分别用于第一指标μ α),第二指标μ (2)和第三指标的三个可接受区间2102、 2122和2142画成非重叠的条纹。然而,可以理解的是,可以分别处理表示连接不同特性的 三个指标。从而,分别用于μ⑴,μ⑵和μ⑶的可接受区间2102、2122和2142的位置不会 反映出他们的相对值。第一可接受区间2102具有下界μ/1)和上界μ 2(1)。用于第二指标 μ (2)的第二可接受区间2122具有下界μ产和上界μ 2(2)。用于第三指标μ 的第三可接 受区间2142具有下界μ,和上界μ2 。附图标记2104、2106、2108、2110、2114、2116和 2118指示对应于E1至E7的编码系数值的第一指标μ (1)的值,其中& < EJ+1,1彡j彡6。 相似地,附图标记2124,2126,2128,2130,2132,2134,2136和2138指示对应于E1至E7的第 二指标μ⑵的值,并且附图标记2144、2146、2148、2150、2152、2154、2156和2158指示对应 于E1至E7的第三指标μ 的值。考虑适应性编码器220根据标称速率和编码系数E1已经调整了其编码参数的情 况。在特定窗结束时确定的指标矢量具有由2104、2124、2144指示的用于μ (1),μ (2)和μ (3) 的指标值。值2104、2124、2144低于它们各自可接受区间的下界。因此,逐步增加编码系数 直到从每一个步骤后获得的测量结果所确定的三个指标ω,μ⑵,μ 的任意一个充 分接近各个可接受区域的上界。在图21的示例中,在适应性编码器220调整其流速率以符 合编码系数氏后,由21 指示的指标μ (2)的值满足该条件。对于适应性编码器220根据标称速率和编码系数&已经调整其编码参数的情况, 由2108、21沘和2148所指示的指标μ (1), μ (2),μ (3)的值低于它们各自的可接受区间。将编码系数增加到值&,其中在该值E4上指标μω的值(附图标记2110)接近其可接受区 间的上界,同时指标μ⑵和μ(3)的值(2130和2150)在它们各自的可接受区间中。对于适应性编码器220根据标称速率和编码系数E7已经调整其编码参数的情况, 由2138指示的指标μ⑵的值超过可接受区间2122的上界。将编码系数减小至值& < E70 指标μ (1)和μ (3)减少到低于它们各自可接受区间的值2116和2156,相反指标μ (2)减少到 在其可接受区间2122中的值2136。从而,编码系数在值&处保持不变。连接传送率的减 小导致指标随后增加到分别由2114、2134和21Μ指示的值。随着指标μ⑵超过其上界, 编码系数减小至&的值。图22说明了作为由流服务器120通过连接向客户端160传送的信号的峰值编码 速率(峰值流速率)的函数的分组丢失比率θ。如之前所定义的,连接传送率是由从流服务 器到客户端的连接所持有的不会干扰预设性能目标的峰值流速率。在图22的示例中,仅根 据分组丢失性能来定义传送率。图22说明了相对于连接的传送率归一化的峰值编码速率 和分组丢失比率之间的示例性关系。峰值编码速率是已知的。然而,连接的传送率可以随时 间变化并且可以是未知的。如果峰值编码速率高于传送率,那么分组丢失比率θ大于0并 且峰值编码速率与传送率的比值可以确定为1/(1-θ ),并且编码速率通过系数(l-θ)进 行减小以消除分组丢失。分组丢失比率可以在如上所述的所选择的时间窗上进行测量。线 2210说明了根据峰值编码速率与当前传送率的比率P的分组丢失比率Θ。对于ρ <1.0, θ 的值为 0。当 P = 1. 5 时,θ = 0. 33,并且当 P = 2. 0 时,θ = 0. 5。如果θ的测量值为0,那么峰值编码速率与传送率的比率可以为大于0并小于 1. 0的任意值,并且难以精确地确定编码速率的适当增加(也就是,编码系数E的增加),其 中编码速率的适当增加会提高信号保真度并避免分组丢失。编码速率可以逐步增加直到测 量了分组丢失(θ >0)并且然后可以相应地纠正编码速率为止。当θ的测量值相当小时, 例如为0.001的级别,编码速率纠正可能就没有必要了。由分组丢失比率的下界emin(线 2220)和上界θ_(线2203)定义的可接受区间有助于避免对θ的小值的没有必要的处 理。^min和θ max的值是设计参数。可以认为θ min为值0.001和θ ■为值0. 002是足够 的。还提供了在其上存储有指令的诸如DVD、⑶-ROM、软盘、或者存储器(例如,非易失 性存储器)的计算机可读媒介,当指令由处理器执行时执行上述方法的步骤。尽管已经详细描述了本发明的特定实施方式,可以理解的是,所描述的实施方式 是说明性的而且并非是限制性的。在下列权利要求的范围内,并在不偏离本发明范围的更 宽泛的方面的情况下,可以对附图中所示出的和说明书中所描述的实施方式进行各种变化 和修改。
权利要求
1.一种确定从数据流服务器通过时变连接线路向客户端设备所传输的信号的适应性 编码速率的方法,该方法包括以下步骤确定所述连接线路的当前编码速率;在第一时间量和第二时间量之间的包括W个测量结果的时间窗上获得所述连接线路 的特定特性的测量结果;从所述测量结果确定所述特定特性的指标μ ;当μ值在具有下界P1和上界μ 2的预定接受区间中时,接受所述当前编码速率;以及 通过以下中的一个来调整所述当前编码速率 因数χ2 < ι用于μ值超过所述接受区间的所述上界μ2 ;以及 因数χ工> ι用于μ值低于所述接受区间的所述下界μ
2.根据权利要求ι所述的方法,其中所述特定特性是沿着所述连接线路的传输延迟并 且确定所述指标的步骤进一步包括以下步骤获得所述传输延迟的测量结果ο ;通过增加所述测量结果ο和减去环形阵列ν中当前索引处的条目来更新总和Σ,其中 所述环形阵列具有w >ι个存储所述特定特性的先前测量结果的条目; 将所述测量结果ο存储在所述环形阵列的所述当前索引处; 通过增加ι来更新所述当前索引,并将w的索引复位为ο ;给代表测量结果累积数量的计数器加ι ;其中当所述计数器小于预定门限P*时,重复 所述获得步骤;以及其中当所述计数器至少等于所述门限P *时,确定所述指标作为所述总和Σ。
3.根据权利要求2所述的方法,其中将所述下界P1确定为乘以W的可接受传输延迟 的下界,并且将所述上界μ 2确定为乘以W的可接受传输延迟的上界。
4.根据权利要求1至3中任意一项所述的方法,进一步包括在调整所述当前编码速率 的步骤后,将所述计数器复位为0的步骤。
5.根据权利要求2至4中任意一项所述的方法,进一步包括确定所述门限P*的步骤, 从而使任意两个调整所述当前编码速率的连续步骤之间的时间间隔超过预定的最小时间 间隔。
6.根据权利要求1至5中任意一项所述的方法,其中将所述因数X1确定为函数 (μ r Σ ),并将所述因数X 2确定为函数(Σ - μ 2)。
7.根据权利要求1至6中任意一项所述的方法,其中所述特定特性是数据丢失率,并 且所述指标是在所述时间窗上确定的数据丢失率θ,其中、和μ2> μ工是可接受的数据 丢失率的边界,其中当θ小于P1时,将所述因数X1确定为预定的乘数X >1,并且当θ > μ2时,将所述因数χ2确定为(1-Θ)。
8.一种将数据流从编码器通过时变连接线路发送给解码器的方法,该方法包括以下步骤将编码系数与所述连接线路相关联,所述编码系数确定所述编码器输出的流速率; 将多个性能特性与所述连接线路相关联; 定义与所述多个性能特性一一对应的多个性能指标;以当前的编码系数,在时间窗上获得所述连接线路的多组性能测量结果,每组性能测量结果对应于所述多个性能特性中的一个;使用相应组的性能测量结果确定每个性能指标的当前值以产生性能指标的一组当前 值;以及根据每个性能指标的所述当前值确定优选编码系数。
9.根据权利要求8所述的方法,进一步包括以下步骤定义一组接受区间,每个所述接受区间具有各自的下界和各自的上界并且分别对应于 所述多个性能指标中的一个;当性能指标的当前值的所述组中的每个元素都小于相应接受区间的下界时,将所述当 前编码系数乘以大于1的第一因数以产生所述优选编码系数;以及当性能指标的当前值的所述组中的至少一个元素超过相应接受区间的上界时,将所述 当前编码系数乘以小于1的第二因数以产生所述优选编码系数。
10.根据权利要求8至9中任意一项所述的方法,其中所述多个性能特性包括传输延 迟、数据丢失、以及持有通过所述连接线路所接收的数据的解码器缓冲器的占用率,并且所 述多个性能指标包括在所述时间窗期间,从所述编码器到所述解码器的传输延迟的均值; 在所述时间窗期间,数据丢失的值;以及 在所述时间窗期间,所述解码器缓冲器的占用率的值。
11.根据权利要求8至10中任意一项所述的方法,其中所述第一因数和所述第二因数 的乘积小于1。
12.根据权利要求8至11中任意一项所述的方法,进一步包括选择所述时间窗以通过 至少预定的最小时间间隔接跟随在之前的时间窗后面的步骤。
13.根据权利要求8至12中任意一项所述的方法,其中通过在所述编码器和所述解码 器之间利用实时传输协议(RTP)和实时传输控制协议(RTCP)的控制数据的交换来获得所 述多组性能测量结果。
14.一种从编码器通过时变连接线路向解码器发送数据流的方法,该方法包括以下步骤将编码系数与所述编码器相关联,所述编码系数确定所述编码器输出的流速率;定义所述连接线路的性能指标;定义具有下界和上界的所述性能指标的可接受区间;以当前编码系数在时间窗上获得所述连接线路的一组性能测量结果;根据所述测量结果的组确定所述连接线路的所述指标的当前值;根据以下两个步骤中的一个确定优选的编码系数当所述指标的所述当前值低于所述下界时,将所述当前编码系数乘以大于1的第一因 数以产生所述优选的编码系数;以及当所述指标的所述当前值超过所述上界时,将所述当前编码系数乘以小于1的第二因 数以产生所述优选的编码系数。
15.根据权利要求14所述的方法,进一步包括根据所述的优选编码系数和标称编码速 率指示所述编码器对信号进行编码的步骤。
16.根据权利要求14至15中任意一项所述的方法,其中所述第一因数是在所述下界和所述指标的所述当前值之间的差的函数,并且其中所述第二因数是在所述指标的所述当前 值和所述上界之间的差的函数。
17.根据权利要求14至16中任意一项所述的方法,其中所述指标是下列内容之一 在所述时间窗期间内,传输延迟的均值; 在所述时间窗期间内,数据丢失的均值;或者在所述时间窗结束处测量的解码器缓冲器的占用率的值,所述解码器缓冲器持有通过 所述连接线路接收的数据。
全文摘要
本发明公开了一种将数据流从编码器通过易受到时变条件影响的连接线路发送给解码器的方法。给连接线路分配标称流速率,并且利用与连接线路相关联的编码系数修改标称流速率以确定与连接线路的时变状态相兼容的可允许的流速率。多个性能特性与连接线路相关联并且在自适应选择的时间窗上获得相应组的性能测量结果。确定与性能特性一一对应的性能指标,并与各自预定的可接受区间的下界和上界进行比较。根据性能指标计算当前编码系数并用当前编码系数确定可接受的流速率。编码器的配置适于在可允许的流速率的限制条件下产生使信号保真度最大化的编码信号。
文档编号H04L29/06GK102106113SQ200880130542
公开日2011年6月22日 申请日期2008年10月16日 优先权日2008年7月28日
发明者F·R·拉波恩特, S·科特, Y·勒菲弗 申请人:万特里克斯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1