首页 / 国际专利分类库 / 电学 / 电通信技术 / 无线通信网络 / 网络数据管理 / 用于无线网络上的自适应速率多媒体通信的装置和方法

用于无线网络上的自适应速率多媒体通信的装置和方法

申请号 CN201380044494.7 申请日 2013-08-23 公开(公告)号 CN104584496A 公开(公告)日 2015-04-29
申请人 高通股份有限公司; 发明人 拉胡尔·高普兰; 钟由俊; 普拉桑吉特·潘达;
摘要 方法、设备和计算机可读媒体可基于发射器与接收器之间的网络条件而调整编码速率。所述发射器、接收器或所述发射器和接收器两者可确定所述编码速率。在一个方面中,确定所接收网络数据与所发射网络数据的比率。随后基于所述所确定比率而确定编码参数。在一个方面中,所述编码参数可用以调整 编码器 。在另一方面中,所述所确定编码参数可发射到编码或发射 节点 。在另一方面中,确定网络中缓冲的数据量。还确定所述网络的可持续的处理量。随后基于所述可持续的处理量和所述缓冲数据量而确定发射速率。随后基于所述发射速率而调整编码参数。
权利要求

1.一种用于确定网络队列排放持续时间的方法,其包括:
经由电子装置确定所发射网络数据的量相对于所接收网络数据的量的测量值;
确定网络中缓冲的数据量;以及
至少部分基于所述测量值和所述缓冲数据量而确定所述网络队列排放持续时间。
2.根据权利要求1所述的方法,其进一步包括:
确定当发射速率超过可持续的网络处理量时的持续时间;
确定所述发射速率超过所述可持续的网络处理量多少;以及
至少部分基于所述发射速率超过所述可持续的网络处理量多少和所述持续时间而确定所述网络中缓冲的所述数据量。
3.根据权利要求1所述的方法,其进一步包括:
接收由接收器接收的某一量的数据;以及
至少部分基于所述量而确定所述所接收网络数据。
4.根据权利要求3所述的方法,其进一步包括:
确定在接收由所述接收器接收的所述量的数据中的延迟;以及
至少部分基于所述延迟而确定所述所发射网络数据。
5.根据权利要求1所述的方法,其进一步包括:
接收由发射器发射的某一量的数据;以及
至少部分基于所述发射数据量而确定所述所发射网络数据。
6.根据权利要求5所述的方法,其进一步包括:
确定在接收由所述发射器发射的所述量的数据中的延迟;以及
至少部分基于所述延迟而确定所述所接收网络数据。
7.一种用于确定网络队列排放持续时间的设备,其包括:
处理器,其经配置以:
确定所发射网络数据的量相对于所接收网络数据的量的测量值;
确定网络中缓冲的数据量;以及
至少部分基于所述测量值和所述缓冲数据量而确定所述网络队列排放持续时间。
8.根据权利要求7所述的设备,其中所述处理器进一步经配置以:
确定当发射速率超过可持续的网络处理量时的持续时间;
确定所述发射速率超过所述可持续的网络处理量多少;以及
至少部分基于所述发射速率超过所述可持续的网络处理量多少和所述持续时间而确定所述网络中缓冲的所述数据量。
9.根据权利要求7所述的设备,其进一步包括接收器,所述接收器经配置以接收由接收器接收的某一量的数据,其中所述处理器进一步经配置以至少部分基于所述量而确定所述所接收网络数据。
10.根据权利要求9所述的设备,其中所述处理器进一步经配置以:
确定在接收由所述接收器接收的所述量的数据中的延迟;以及
至少部分基于所述延迟而确定所述所发射网络数据。
11.根据权利要求7所述的设备,其进一步包括接收器,所述接收器经配置以接收由发射器发射的某一量的数据,其中所述处理器进一步经配置以至少部分基于所述量而确定所述所发射网络数据。
12.根据权利要求11所述的设备,其中所述处理器进一步经配置以:
确定在接收由所述发射器发射的所述量的数据中的延迟;以及
至少部分基于所述延迟而确定所述所接收网络数据。
13.一种用于确定网络队列排放持续时间的设备,其包括:
用于确定所发射网络数据的量相对于所接收网络数据的量的测量值的装置;
用于确定网络中缓冲的数据量的装置;以及
用于至少部分基于所述测量值和所述缓冲数据量而确定所述网络队列排放持续时间的装置。
14.根据权利要求13所述的设备,其进一步包括:
用于确定当发射速率超过可持续的网络处理量时的持续时间的装置;
用于确定所述发射速率超过所述可持续的网络处理量多少的装置;以及用于至少部分基于所述发射速率超过所述可持续的网络处理量多少和所述持续时间而确定所述网络中缓冲的所述数据量的装置。
15.根据权利要求13所述的设备,其进一步包括:
用于接收由发射器发射的某一量的数据的装置;以及
用于至少部分基于所述量而确定所述所发射网络数据的装置。
16.根据权利要求15所述的设备,其进一步包括:
用于确定在接收由所述发射器发射的所述量的数据中的延迟的装置;以及用于至少部分基于所述延迟而确定所述所接收网络数据的装置。
17.根据权利要求13所述的设备,其进一步包括:
用于接收由接收器接收的某一量的数据的装置;以及
用于至少部分基于所述量而确定所述所接收网络数据的装置。
18.根据权利要求17所述的设备,其进一步包括:
用于确定在接收由所述接收器接收的所述量的数据中的延迟的装置;以及用于至少部分基于所述延迟而确定所述所发射网络数据的装置。
19.一种存储指令的非暂时性计算机可读媒体,所述指令在被执行时致使处理器执行确定网络队列排放持续时间的方法,所述方法包括:
确定所发射网络数据的量相对于所接收网络数据的量的测量值;
确定网络中缓冲的数据量;以及
至少部分基于所述测量值和所述缓冲数据量而确定所述网络队列排放持续时间。
20.根据权利要求19所述的非暂时性计算机可读媒体,所述方法进一步包括:
确定当发射速率超过可持续的网络处理量时的持续时间;
确定所述发射速率超过所述可持续的网络处理量多少;以及
至少部分基于所述发射速率超过所述可持续的网络处理量多少和量值而确定所述网络中缓冲的所述数据量。
21.根据权利要求19所述的非暂时性计算机可读媒体,所述方法进一步包括:
接收由接收器接收的某一量的数据;以及
至少部分基于所述量而确定所述所接收网络数据。
22.根据权利要求21所述的非暂时性计算机可读媒体,所述方法进一步包括:
确定在接收由所述接收器接收的所述量的数据中的延迟;以及
至少部分基于所述延迟而确定所述所发射网络数据。
23.根据权利要求19所述的非暂时性计算机可读媒体,所述方法进一步包括:
接收由发射器发射的某一量的数据;以及
至少部分基于所述量而确定所述所发射网络数据。
24.根据权利要求21所述的非暂时性计算机可读媒体,所述方法进一步包括:
确定在接收由所述发射器发射的所述量的数据中的延迟;以及
至少部分基于所述延迟而确定所述所接收网络数据。

说明书全文

用于无线网络上的自适应速率多媒体通信的装置和方法

技术领域

[0001] 本发明涉及在无线网络上对多媒体数据进行编码,且更具体来说涉及基于无线网络的当前容量来适配多媒体数据的一或多个编码参数。

背景技术

[0002] 多媒体数据可经编码以用于在无线网络上发射。当多媒体数据经编码时,编码过程的方法和参数可控制提供到接收器的数据的保真度。当接收器对经编码数据进行解码以(例如)播放视频或音频文件时,多媒体体验的质量可至少部分与经编码数据的保真度有关。
[0003] 提供的数据的保真度平还可影响经编码多媒体数据的大小。举例来说,高保真度经编码数据可大于提供较低质量多媒体体验的经编码数据。一些联网环境(例如一些不拥塞的网络环境)提供充分容量以相对低等待时间和丢包率发射高保真度经编码数据。在这些环境中,高保真度数据可提供良好用户体验。其它网络环境并不提供足以用可接受等待时间和损失率传送高保真度数据的容量。这些联网环境可能经受由设备正离线或其它原因引起的业务拥塞或服务中断。不良用户体验可导致这些环境。
[0004] 给定网络环境的网络容量可自身在上述不拥塞与拥塞环境之间变化。举例来说,网络可体验导致每用户相对高等待时间和低带宽的高峰使用周期,具有包丢失的进一步可能性。非高峰周期可提供等待时间和丢失率的改善。在这些联网环境中,对非高峰网络容量定制的发射速率可导致在高峰周期期间的不良用户体验,因为在这些周期期间发射的高保真度数据可超出网络的容量,从而导致丢弃的包和高等待时间。类似地,适合于具有可接受等待时间和损失率的高峰周期的发射速率可提供比在非高峰周期期间可能的情况低的保真度用户体验。在当网络容量相对高时的非高峰周期期间,较低发射速率可能未充分利用网络容量。

发明内容

[0005] 本发明的系统、方法和装置各自具有若干方面,其中没有单一方面单独负责其所期望属性。在不限制如通过以下的权利要求书表达的本发明的范围的情况下,现在将简洁地论述一些特征。在考虑此论述之后并且尤其在阅读标题为“具体实施方式”的部分之后,将理解本发明的特征如何提供优点,包含识别和应用旋转量和持续时间到多媒体呈现(例如,视频、图片序列)中包含的图片。
[0006] 揭示的一个方面是对数据进行编码的方法。所述方法包含经由电子装置确定所接收网络数据的量相对于所发射网络数据的量的测量值;以及至少部分基于所述测量值而调整编码参数。在一些方面中,所述测量值是所接收网络数据的量与所发射网络数据的量的比率。在其它方面中,所述测量值是所接收网络数据的量与所发射网络数据的量之间的差。在一些方面中,所述方法还包含接收由接收器接收的的某一量的数据,且至少部分基于所述量而确定所接收网络数据。在一些方面中,所述方法包含从接收器接收编码参数值,且至少基于所接收编码参数而调整所述编码参数。在一些方面中,所述方法还包含发射发射到所述接收器的某一量的数据。在一些方面中,所述方法还包含确定网络抖动,其中至少基于所述网络抖动而调整所述编码参数。在一些方面中,所述方法还包含确定所述编码参数的调整是否将增加发射速率,且确定对第二编码参数的第二调整,所述第二调整在所述网络抖动低于第一抖动阈值的情况下将进一步增加所述发射速率。
[0007] 在一些方面中,所述编码参数和所述第二编码参数是不同参数。在一些方面中,所述方法还包含确定所述编码参数的调整是否将减小发射速率;以及确定对第二编码参数的第二调整,所述第二调整在所述网络抖动高于第二抖动阈值的情况下将进一步减小所述发射速率。在一些方面中,所述编码参数和所述第二编码参数是不同参数。
[0008] 在一些方面中,所述方法还包含确定在接收由所述接收器接收的所述量的数据中的延迟,以及至少部分基于所述延迟而确定所述所发射网络数据。在一些方面中,所述方法还包含基于所确定测量值而确定发射速率,其中至少部分基于所述发射速率而调整所述编码参数。
[0009] 另一方面,所揭示的是确定发射速率的方法。所述方法包含确定网络中缓冲的数据量,确定网络的可持续的处理量,且至少部分基于所述可持续的处理量和缓冲的数据量而确定发射速率。在一些方面中,所述方法还包含至少部分基于所述发射速率而调整编码参数。在一些方面中,所述方法还包含基于网络中缓冲的数据量和网络的可持续的处理量中的至少一者而发射参数。在一些方面中,所述方法发射所述发射速率。
[0010] 在一些方面中,至少部分基于发射速率超过网络容量的持续时间而确定网络中缓冲的数据量。在一些方面中,至少部分基于发射速率与网络容量之间的差而确定网络中缓冲的数据量。
[0011] 所揭示的另一方面是确定网络往返时间的方法。所述方法包含发射识别时间的信息,在接收时间接收识别所述发射时间的信息,以及至少部分基于所述信息和所述接收时间而确定网络往返时间。在一些方面中,识别时间的信息是时戳且识别所述发射时间的信息是时戳。在一些方面中,所述方法还包含确定接收到所述发射信息时与发射所述接收信息时之间的延迟。在这些方面中,基于所述延迟确定网络往返时间。在一些方面中,发射识别时间的信息和接收识别发射时间的信息是反复地执行,其中所述时间针对每一反复不同,且至少部分基于每一不同时间而确定所述往返时间。在一些方面中,基于平均值确定网络往返时间。
[0012] 所揭示的另一方面是用于确定网络队列排放持续时间的方法。所述方法包含经由电子装置确定所发射网络数据的量相对于所接收网络数据的量的测量值,确定网络中缓冲的数据量,以及至少部分基于所述测量值和所述缓冲数据量确定所述网络队列排放持续时间。在一些方面中,所述测量值是所接收网络数据的量与所发射网络数据的量的比率。在其它方面中,所述测量值是所接收网络数据的量与所发射网络数据的量之间的差。
[0013] 在一些方面中,所述方法还包含确定当发射速率超过可持续的网络处理量时的持续时间,确定所述发射速率超过可持续的网络处理量多少,以及至少部分基于所述发射速率超过可持续的网络处理量多少和所述持续时间而确定网络中缓冲的数据量。
[0014] 在一些方面中,所述方法还包含接收由接收器接收的的某一量的数据,且至少部分基于所述量而确定所接收网络数据。在一些方面中,所述方法包含确定在接收由所述接收器接收的所述量的数据中的延迟,以及至少部分基于所述延迟而确定所述所发射网络数据。在一些方面中,所述方法包含接收由发射器发射的某一量的数据,以及至少部分基于所述发射的量的数据而确定所发射网络数据。在一些方面中,所述方法还包含确定在接收由发射器发射的所述量的数据中的延迟,以及至少部分基于所述延迟而确定所接收网络数据。
[0015] 所揭示的另一方面是确定单向网络发射延迟的方法。所述方法包含确定往返网络发射时间,接收第一消息的接收与第二消息的接收之间经过的时间的指示,以及至少部分基于所述往返网络发射时间和所述指示而确定所述单向网络发射延迟。
[0016] 在一些方面中,所述方法包含在第一时间发射第一消息,在第二时间发射第二消息,以及至少部分基于所述第一时间和所述第二时间而确定所述单向网络发射延迟。
[0017] 在一些方面中,所述单向网络发射时间是基于第一时间与第二时间之间经过的持续时间而确定。在一些方面中,所述单向网络发射延迟是基于第一时间与第二时间之间经过的持续时间与第一消息的接收和第二消息的接收之间经过的持续时间的比率而确定。
[0018] 揭示的另一方面是用于对数据进行编码的设备。所述设备包含经配置以进行以下操作的处理器:确定所发射网络数据的量相对于所接收网络数据的量的测量值,以及至少部分基于所述测量值而调整编码参数。在一些方面中,所述处理器经配置以确定所接收网络数据的量与所发射网络数据的量的比率作为所述测量值。在其它方面中,所述处理器经配置以确定所述测量值作为所接收网络数据的量与所发射网络数据的量之间的差。在一些方面中,所述设备还包含经配置以接收由接收器接收的某一量的数据的接收器,其中所述处理器进一步经配置以至少部分基于所述量而确定所接收网络数据。在一些方面中,所述设备还包含经配置以从接收器接收编码参数值的接收器,其中所述处理器经配置以至少基于所接收编码参数而进一步调整编码参数。在一些方面中,所述设备还包含发射发射到所述接收器的某一量的数据。在一些方面中,所述设备还包含经配置以确定网络抖动的处理器,其中所述处理器经配置以至少基于所述网络抖动而调整编码参数。在一些方面中,所述处理器进一步经配置以确定所述编码参数的所述调整是否将增加发射速率,且确定对第二编码参数的第二调整,所述第二调整在所述网络抖动低于第一抖动阈值的情况下将进一步增加所述发射速率。在一些方面中,所述编码参数和所述第二编码参数是不同参数。在一些方面中,所述处理器进一步经配置以确定所述编码参数的所述调整是否将减小发射速率,且确定对第二编码参数的第二调整,所述第二调整在所述网络抖动高于第二抖动阈值的情况下将进一步减小所述发射速率。在一些方面中,所述编码参数和所述第二编码参数是不同参数。在一些方面中,所述处理器进一步经配置以确定在接收由接收器接收的所述量的数据中的延迟,以及至少部分基于所述延迟而确定所发射的网络数据。在一些方面中,所述处理器进一步经配置以基于所确定测量值而确定发射速率,其中至少部分基于所述发射速率而调整编码参数。
[0019] 所揭示的另一方面是用于确定发射速率的设备。所述设备包含经配置以确定网络中缓冲的数据量、确定网络的可持续的处理量以及至少部分基于所述可持续的处理量和缓冲的数据量而确定发射速率的处理器。在一些方面中,所述处理器进一步经配置以至少部分基于所述发射速率而调整编码参数。在一些方面中,所述设备还包含经配置以基于网络中缓冲的数据量和网络的可持续的处理量中的至少一者而发射参数的发射器。在一些方面中,所述处理器进一步经配置以发射所述发射速率。
[0020] 在一些方面中,所述处理器经配置以至少部分基于发射速率超过网络容量的持续时间而确定网络中缓冲的数据量。在一些方面中,所述处理器经配置以至少部分基于发射速率与网络容量之间的差而确定网络中缓冲的数据量。
[0021] 所揭示的另一方面是用于确定网络往返时间的设备。所述设备包含经配置以发射识别时间的信息、在接收时间识别发射时间的接收器信息的发射器,以及经配置以至少部分基于所述信息和所述接收时间而确定网络往返时间的处理器。在一些方面中,识别时间的信息是时戳且识别所述发射时间的信息是时戳。在一些方面中,所述设备还包含经配置以确定当接收所述发射信息时与发射所接收信息时之间的延迟的处理器,其中所述网络往返时间是基于所述延迟而确定。
[0022] 在一些方面中,所述发射器进一步经配置以反复地发射识别时间的信息且所述接收器进一步经配置以反复地接收识别所述发射时间的信息,其中所述时间针对每一反复是不同的,且所述往返时间是至少部分基于每一不同时间而确定。在一些方面中,所述处理器经配置以基于平均值而确定网络往返时间。
[0023] 所揭示的另一方面是用于确定网络队列排放持续时间的设备。所述设备包含经配置以确定所发射网络数据的量相对于所接收网络数据的量的测量值、确定网络中缓冲的数据量以及至少部分基于所述测量值和缓冲的数据量而确定网络队列排放持续时间的处理器。在一些方面中,所述处理器经配置以确定所述测量值作为所接收网络数据的量与所发射网络数据的量的比率。在其它方面中,所述处理器经配置以确定所述测量值作为所接收网络数据的量与所发射网络数据的量之间的差。
[0024] 在一些方面中,所述处理器进一步经配置以确定当发射速率超过可持续的网络处理量时的持续时间,确定所述发射速率超过可持续的网络处理量多少,以及至少部分基于所述发射速率超过可持续的网络处理量多少和所述持续时间而确定网络中缓冲的数据量。在一些方面中,所述设备还包含经配置以接收由接收器接收的某一量的数据的接收器,其中所述处理器进一步经配置以至少部分基于所述量而确定所接收网络数据。在一些方面中,所述处理器进一步经配置以确定在接收由接收器接收的所述量的数据中的延迟,以及至少部分基于所述延迟而确定所发射的网络数据。
[0025] 在一些方面中,所述设备还包含经配置以接收由发射器发射的某一量的数据的接收器,其中所述处理器进一步经配置以至少部分基于所述量而确定所发射网络数据。在一些方面中,所述处理器进一步经配置以确定在接收由发射器发射的所述量的数据中的延迟,以及至少部分基于所述延迟而确定所接收网络数据。
[0026] 所揭示的另一方面是用于确定单向网络发射延迟的设备。所述设备包含经配置以确定往返网络发射时间的处理器,以及经配置以接收第一消息的接收与第二消息的接收之间经过的持续时间的指示的接收器,其中所述处理器进一步经配置以至少部分基于所述往返网络发射时间和所述指示而确定所述单向网络发射延迟。在一些方面中,所述设备包含经配置以在第一时间发射第一消息且经配置以在第二时间发射第二消息的发射器,其中所述处理器进一步经配置以至少部分基于所述第一时间和所述第二时间而确定所述单向网络发射延迟。在一些方面中,所述单向网络发射延迟是基于第一时间与第二时间之间经过的持续时间而确定。在一些方面中,所述处理器经配置以基于所述第一时间与所述第二时间之间经过的持续时间与第一消息的接收和第二消息的接收之间经过的持续时间的比率而确定所述单向网络发射延迟。
[0027] 所揭示的另一方面是用于对数据进行编码的设备。所述设备包含用于确定所发射网络数据的量相对于所接收网络数据的量的测量值的装置,以及用于至少部分基于所确定测量值而调整编码参数的装置。在一些方面中,所述用于确定测量值的装置经配置以确定所接收网络数据的量与所发射网络数据的量的比率。在其它方面中,所述用于确定测量值的装置经配置以确定所接收网络数据的量与所发射网络数据的量之间的差。
[0028] 在一些方面中,所述设备还包含用于接收由接收器接收的某一量的数据的装置,以及用于至少部分基于所述量而确定所接收网络数据的装置。在一些方面中,所述设备还包含用于确定在接收由接收器接收的所述量的数据中的延迟的装置,以及用于至少部分基于所述延迟而确定所发射网络数据的装置。在一些方面中,所述设备还包含用于基于所确定测量值而确定发射速率的装置,其中至少部分基于所述发射速率而调整所述编码参数。在一些方面中,所述设备还包含用于从接收器接收编码参数值的装置,其中所述用于调整编码参数的装置经配置以至少基于所接收编码参数而调整所述编码参数。在一些方面中,所述设备还包含用于发射发射到所述接收器的某一量的数据的装置。在一些方面中,所述设备包含用于确定网络抖动的装置,其中所述用于调整所述编码参数的装置经配置以至少基于所述网络抖动而调整所述编码参数。在一些方面中,所述设备包含用于确定所述编码参数的调整是否将增加发射速率的装置,用于确定对第二编码参数的第二调整的装置,所述第二调整在所述网络抖动低于第一抖动阈值的情况下将进一步增加所述发射速率。在一些方面中,所述编码参数和所述第二编码参数是不同参数。
[0029] 在一些方面中,所述设备还包含用于确定所述编码参数的调整是否将减小发射速率的装置;以及用于确定对第二编码参数的第二调整的装置,所述第二调整在所述网络抖动高于第二抖动阈值的情况下将进一步减小所述发射速率。在一些方面中,所述编码参数和所述第二编码参数是不同参数。
[0030] 所揭示的另一方面是用于确定发射速率的设备。所述设备包含用于确定网络中缓冲的数据量的装置,用于确定网络的可持续的处理量的装置,以及用于至少部分基于所述可持续的处理量和缓冲的数据量而确定发射速率的装置。在一些方面中,所述设备包含用于至少部分基于所述发射速率而调整编码参数的装置。在一些方面中,所述设备还包含用于基于网络中缓冲的数据量和网络的可持续的处理量中的至少一者而发射参数的装置。在一些方面中,所述设备还包含用于将发射速率发射到发射节点的装置。在一些方面中,至少部分基于发射速率超过网络容量的持续时间而确定网络中缓冲的数据量。在一些方面中,至少部分基于发射速率与网络容量之间的差而确定网络中缓冲的数据量。
[0031] 所揭示的另一方面是用于确定网络往返时间的设备。所述设备包含用于发射识别时间的信息的装置,用于在接收时间接收识别发射时间的信息的装置,以及用于至少部分基于所述信息和所述接收时间而确定网络往返时间的装置。在一些方面中,识别时间的信息是时戳且识别所述发射时间的信息是时戳。在一些方面中,所述设备还包含用于确定当接收所述发射信息时与发射所述接收信息时之间的延迟的装置,其中所述网络往返时间是基于所述延迟而确定。在一些方面中,所述用于发射识别时间的信息的装置和所述用于接收识别发射时间的信息的装置反复地执行发射和接收,其中所述时间针对每一反复不同,且所述往返时间是至少部分基于每一不同时间而确定。在一些方面中,基于平均值确定网络往返时间。
[0032] 所揭示的另一方面是用于确定网络队列排放持续时间的设备。所述设备包含用于确定所发射网络数据的量相对于所接收网络数据的量的测量值的装置,用于确定网络中缓冲的数据量的装置,以及用于至少部分基于所述测量值和缓冲的数据量而确定网络队列排放持续时间的装置。在一些方面中,所述用于确定测量值的装置经配置以确定所接收网络数据的量与所发射网络数据的量的比率。在其它方面中,所述用于确定测量值的装置经配置以确定所接收网络数据的量与所发射网络数据的量之间的差。
[0033] 在一些方面中,所述设备还包含用于确定当发射速率超过可持续的网络处理量时的持续时间的装置,用于确定发射速率超过可持续的网络处理量多少的装置,以及用于至少部分基于发射速率超过可持续的网络处理量多少和所述持续时间而确定网络中缓冲的数据量的装置。
[0034] 在一些方面中,所述设备还包含用于接收由发射器发射的某一量的数据的装置,以及用于至少部分基于所述量而确定所发射网络数据的装置。在一些方面中,所述设备还包含用于确定在接收由发射器发射的所述量的数据中的延迟的装置,以及用于至少部分基于所述延迟而确定所接收网络数据的装置。在一些方面中,所述设备包含用于接收由接收器接收的某一量的数据的装置,以及用于至少部分基于所述量而确定所接收网络数据的装置。在一些方面中,所述设备还包含用于确定在接收由接收器接收的所述量的数据中的延迟的装置,以及用于至少部分基于所述延迟而确定所发射网络数据的装置。
[0035] 所揭示的另一方面是用于确定单向网络发射延迟的设备。所述设备包含用于确定往返网络发射时间的装置,用于接收第一消息的接收与第二消息的接收之间经过的持续时间的指示的装置,以及用于至少部分基于所述往返网络发射时间和所述指示而确定所述单向网络发射延迟的装置。在一些方面中,所述设备还包含用于在第一时间发射第一消息的装置,用于在第二时间发射第二消息的装置,以及用于至少部分基于所述第一时间和所述第二时间而确定所述单向网络发射延迟的装置。在一些方面中,所述用于确定所述单向网络发射延迟的装置经配置以基于所述第一时间与所述第二时间之间经过的持续时间而确定所述单向网络发射延迟。在一些方面中,所述单向网络发射时间是基于第一时间与第二时间之间经过的持续时间与第一消息的接收和第二消息的接收之间经过的持续时间的比率而确定。
[0036] 所揭示的另一方面是存储指令的非暂时性计算机可读媒体,所述指令在被执行时致使处理器执行如下方法:确定所发射网络数据的量相对于所接收网络数据的量的测量值;以及至少部分基于所确定测量值而调整编码参数。在一些方面中,所述测量值是所接收网络数据的量与所发射网络数据的量的比率。在其它方面中,所述测量值是所接收网络数据的量与所发射网络数据的量之间的差。
[0037] 在一些方面中,所述方法还包含接收由接收器接收的的某一量的数据,且至少部分基于所述量而确定所接收网络数据。
[0038] 在一些方面中,所述方法还包含从接收器接收编码参数值,以及至少基于所接收编码参数而调整所述编码参数。在一些方面中,所述方法还包含发射发射到所述接收器的某一量的数据。在一些方面中,所述方法还包含确定网络抖动,其中至少基于所述网络抖动而进一步调整所述编码参数。在一些方面中,所述方法还包含确定所述编码参数的调整是否将增加发射速率;以及确定对第二编码参数的第二调整,所述第二调整在所述网络抖动低于第一抖动阈值的情况下将进一步增加所述发射速率。在一些方面中,所述编码参数和所述第二编码参数是不同参数。在一些方面中,所述方法还包含确定所述编码参数的调整是否将减小发射速率;以及确定对第二编码参数的第二调整,所述第二调整在所述网络抖动高于第二抖动阈值的情况下将进一步减小所述发射速率。在一些方面中,所述编码参数和所述第二编码参数是不同参数。在一些方面中,所述方法还包含确定在接收由所述接收器接收的所述量的数据中的延迟,以及至少部分基于所述延迟而确定所述所发射网络数据。在一些方面中,所述方法还包含基于所确定测量值而确定发射速率,其中至少部分基于所述发射速率而调整所述编码参数。
[0039] 所揭示的另一方面是存储指令的非暂时性计算机可读媒体,所述指令在被执行时致使处理器执行方法。所述方法包含确定网络中缓冲的数据量,确定网络的可持续的处理量,且至少部分基于所述可持续的处理量和缓冲的数据量而确定发射速率。在一些方面中,所述方法包含至少部分基于所述发射速率而调整编码参数。在一些方面中,所述方法还包含基于网络中缓冲的数据量和网络的可持续的处理量中的至少一者而发射参数。在一些方面中,所述方法还包含发射所述发射速率。在一些方面中,至少部分基于发射速率超过网络容量的持续时间而确定网络中缓冲的数据量。在一些方面中,所述方法至少部分基于发射速率与网络容量之间的差而确定网络中缓冲的数据量。
[0040] 所揭示的另一方面是存储指令的非暂时性计算机可读媒体,所述指令在被执行时致使处理器执行确定往返时间的方法。所述方法包含发射识别时间的信息,在接收时间接收识别所述发射时间的信息,以及至少部分基于所述信息和所述接收时间而确定网络往返时间。在一些方面中,识别时间的信息是时戳且识别所述发射时间的信息是时戳。在一些方面中,所述方法还包含确定当接收所述发射信息时与发射所述接收信息时之间的延迟,其中所述网络往返时间是基于所述延迟而确定。在一些方面中,发射识别时间的信息和接收识别发射时间的信息是反复地执行,且所述时间针对每一反复不同,且至少部分基于每一不同时间而确定所述往返时间。在一些方面中,基于平均值确定网络往返时间。
[0041] 所揭示的另一方面是存储指令的非暂时性计算机可读媒体,所述指令在被执行时致使处理器执行确定网络队列排放持续时间的方法。所述方法包含确定所发射网络数据的量相对于所接收网络数据的量的测量值,确定网络中缓冲的数据量,以及至少部分基于所述测量值和缓冲的数据量而确定所述网络队列排放持续时间。在一些方面中,所述测量值是所接收网络数据的量与所发射网络数据的量的比率。在其它方面中,所述测量值是所接收网络数据的量与所发射网络数据的量之间的差。
[0042] 在一些方面中,所述方法还包含确定当发射速率超过可持续的网络处理量时的持续时间,确定所述发射速率超过可持续的网络处理量多少,以及至少部分基于所述发射速率超过可持续的网络处理量多少和所述量值而确定网络中缓冲的数据量。在一些方面中,所述方法还包含接收由接收器接收的的某一量的数据,且至少部分基于所述量而确定所接收网络数据。在一些方面中,所述方法还包含确定在接收由所述接收器接收的所述量的数据中的延迟,以及至少部分基于所述延迟而确定所述所发射网络数据。
[0043] 在一些方面中,所述方法包含接收由发射器发射的某一量的数据,以及至少部分基于所述量而确定所发射网络数据。在一些方面中,所述方法还包含确定在接收由发射器发射的所述量的数据中的延迟,以及至少部分基于所述延迟而确定所接收网络数据。
[0044] 在一些方面中,所述方法还包含确定往返网络发射时间,接收第一消息的接收与第二消息的接收之间经过的持续时间的指示,以及至少部分基于所述往返网络发射时间和所述指示而确定所述单向网络发射延迟。在一些方面中,所述方法还包含在第一时间发射第一消息,在第二时间发射第二消息,以及至少部分基于所述第一时间和所述第二时间而确定所述单向网络发射延迟。在一些方面中,所述单向网络发射延迟是基于第一时间与第二时间之间经过的持续时间而确定。在一些方面中,所述单向网络发射延迟是基于第一时间与第二时间之间经过的持续时间与第一消息的接收和第二消息的接收之间经过的持续时间的比率而确定。
[0045] 所揭示的另一方面是发射编码参数的方法。所述方法包含经由电子装置确定所接收网络数据的量相对于所发射网络数据的量的测量值,以及发射编码参数,所述编码参数至少部分基于所确定的测量值。在一些方面中,所述测量值是所接收网络数据的量与所发射网络数据的量的比率。在其它方面中,所述测量值是所接收网络数据的量与所发射网络数据的量之间的差。
[0046] 在一些方面中,所述方法还包含接收由发射器发射的某一量的数据,以及至少部分基于所述量而确定所发射网络数据。在一些方面中,所述方法还包含将编码参数值发射到发射器。在一些方面中,所述方法还包含将所接收的某一量的数据发射到发射器。在一些方面中,所述方法还包含确定网络抖动,其中所述所发射参数是至少基于所述网络抖动。在一些方面中,所述方法还包含确定所述编码参数的调整是否将增加发射速率,且确定对第二编码参数的第二调整,所述第二调整在所述网络抖动低于第一抖动阈值的情况下将进一步增加所述发射速率。在一些方面中,所述编码参数和所述第二编码参数是不同参数。
在一些方面中,所述方法还包含确定所述编码参数的调整是否将减小发射速率;以及确定对第二编码参数的第二调整,所述第二调整在所述网络抖动高于第二抖动阈值的情况下将进一步减小所述发射速率。在一些方面中,所述编码参数和所述第二编码参数是不同参数。
在一些方面中,所述方法还包含确定在接收由发射器发射的所述量的数据中的延迟;以及至少部分基于所述延迟而确定所接收网络数据。在一些方面中,所述方法还包含基于所确定测量值而确定发射速率,其中所述所发射参数是至少部分基于所述发射速率。
[0047] 所揭示的另一方面是用于发射编码参数的设备。所述设备包含经配置以确定所接收网络数据的量相对于所发射网络数据的量的测量值的处理器,以及经配置以发射编码参数的发射器,所述编码参数至少部分基于所确定的测量值。在一些方面中,所述处理器经配置以确定所述测量值作为所接收网络数据的量与所发射网络数据的量的比率。在其它方面中,所述处理器经配置以确定所述测量值作为所接收网络数据的量与所发射网络数据的量之间的差。
[0048] 在一些方面中,所述设备还包含经配置以接收由发射器发射的某一量的数据的接收器,以及经配置以至少部分基于所述量而确定所发射网络数据的处理器。在一些方面中,所述设备包含经配置以将编码参数值发射到发射器的发射器。在一些方面中,所述设备还包含经配置以将接收的某一量的数据发射到发射器的发射器。在一些方面中,所述设备还包含经配置以确定网络抖动的处理器,其中所述所发射参数是至少基于所述网络抖动。在一些方面中,所述设备还包含经配置以确定所述编码参数的调整是否将增加发射速率且确定对第二编码参数的第二调整的处理器,所述第二调整在所述网络抖动低于第一抖动阈值的情况下将进一步增加所述发射速率。在一些方面中,所述编码参数和所述第二编码参数是不同参数。在一些方面中,所述设备还包含经配置以确定所述编码参数的所述调整是否将减小发射速率且确定对第二编码参数的第二调整的处理器,所述第二调整在所述网络抖动高于第二抖动阈值的情况下将进一步减小所述发射速率。在一些方面中,所述编码参数和所述第二编码参数是不同参数。
[0049] 在一些方面中,所述设备还包含经配置以确定在接收由发射器发射的所述量的数据中的延迟且至少部分基于所述延迟而确定所接收网络数据的处理器。在一些方面中,所述设备还包含经配置以基于所确定测量值而确定发射速率的处理器,其中所述所发射参数是至少部分基于所述发射速率。
[0050] 所揭示的另一方面是用于发射编码参数的设备。所述设备包含用于确定所接收网络数据的量相对于所发射网络数据的量的测量值的装置,以及用于发射编码参数的装置,所述编码参数至少部分基于所确定测量值。在一些方面中,所述用于确定测量值的装置经配置以确定所接收网络数据的量与所发射网络数据的量的比率。在其它方面中,所述用于确定测量值的装置经配置以确定所接收网络数据的量与所发射网络数据的量之间的差。
[0051] 在一些方面中,所述设备包含用于接收由发射器发射的某一量的数据的装置,以及用于至少部分基于所述量而确定所发射网络数据的装置。在一些方面中,所述设备还包含用于将编码参数值发射到发射节点的装置。在一些方面中,所述设备还包含用于将所接收的某一量的数据发射到发射节点的装置。在一些方面中,所述设备还包含用于确定网络抖动的装置,其中所述用于发射参数的装置是至少基于所述网络抖动。
[0052] 在一些方面中,所述设备还包含用于确定所述编码参数的调整是否将增加发射速率的装置,以及用于确定对第二编码参数的第二调整的装置,所述第二调整在所述网络抖动低于第一抖动阈值的情况下将进一步增加所述发射速率。在一些方面中,所述第一和第二编码参数是不同参数。在一些方面中,所述设备还包含用于确定所述编码参数的调整是否将减小发射速率的装置;以及用于确定对第二编码参数的第二调整的装置,所述第二调整在所述网络抖动高于第二抖动阈值的情况下将进一步减小所述发射速率。在一些方面中,所述编码参数和所述第二编码参数是不同参数。
[0053] 在一些方面中,所述设备还包含经配置以确定在接收由发射器发射的所述量的数据中的延迟且至少部分基于所述延迟而确定所接收网络数据的处理器。在一些方面中,所述设备还包含经配置以基于所确定测量值而确定发射速率的处理器,其中所述用于发射所述参数的装置经配置以使所述所发射参数至少部分基于所述发射速率。
[0054] 所揭示的另一方面是包括指令的非暂时性计算机可读存储媒体,所述指令在被执行时致使处理器执行发射编码参数的方法。所述方法包含经由电子装置确定所接收网络数据的量相对于所发射网络数据的量的测量值,以及发射编码参数,所述编码参数至少部分基于所确定的测量值。在一些方面中,所述方法包含接收由发射器发射的某一量的数据,以及至少部分基于所述量而确定所发射网络数据。在一些方面中,所述方法包含将编码参数值发射到发射器。在一些方面中,所述方法还包含将所接收的某一量的数据发射到发射器。在一些方面中,所述方法还包含确定网络抖动,其中所述所发射参数是至少基于所述网络抖动。在一些方面中,所述方法还包含确定所述编码参数的调整是否将增加发射速率,且确定对第二编码参数的第二调整,所述第二调整在所述网络抖动低于第一抖动阈值的情况下将进一步增加所述发射速率。在一些方面中,所述编码参数和所述第二编码参数是不同参数。在一些方面中,所述方法还包含确定所述编码参数的调整是否将减小发射速率;以及确定对第二编码参数的第二调整,所述第二调整在所述网络抖动高于第二抖动阈值的情况下将进一步减小所述发射速率。在一些方面中,所述编码参数和所述第二编码参数是不同参数。
[0055] 在一些方面中,所述方法还包含确定在接收由发射器发射的所述量的数据中的延迟,以及至少部分基于所述延迟而确定所接收网络数据。在一些方面中,所述方法包含基于所确定测量值而确定发射速率,其中所述所发射参数是至少部分基于所述发射速率。
[0056] 下文进一步参考附图描述符合本发明的这些及其它实施方案。

附图说明

[0057] 图1说明示范性视频编码和解码系统的功能框图
[0058] 图2展示示范性多媒体处理装置的功能框图。
[0059] 图3A图解说明示范性通信装置的功能框图。
[0060] 图3B图解说明示范性通信装置的功能框图。
[0061] 图4图解说明接收器报告400的一个实施例
[0062] 图5A图解说明用于对多媒体信息进行编码的方法的过程流程图
[0063] 图5B是示范性装置550的功能框图。
[0064] 图5C是说明发射信息与接收信息的相关的时序图的实例。
[0065] 图6A图解说明用于对多媒体信息进行编码的方法的过程流程图。
[0066] 图6B是示范性装置650的功能框图。
[0067] 图6C图解说明发射速率和接收速率。
[0068] 图7图解说明实施操作性实施例中的至少一者的发射器的随时间的发射速率。
[0069] 图8A图解说明用于确定网络往返时间的方法的过程流程图。
[0070] 图8B是示范性装置850的功能框图。
[0071] 图8C是说明在确定网络往返时间的方法的一个实施例中发射和接收的消息的序列图。
[0072] 图9A图解说明用于确定网络队列排放持续时间的方法的过程流程图。
[0073] 图9B是示范性装置950的功能框图。
[0074] 图10A是说明发射与接收速率之间的关系的曲线图。
[0075] 图10B是说明单向网络延迟的曲线图。
[0076] 图11A图解说明用于确定单向网络发射延迟的方法的过程流程图。
[0077] 图11B是示范性装置1150的功能框图。在图中,具有相同或相似功能的元件尽可能地具有相同名称。
[0078] 图12图解说明发射器报告1200的一个实施例。
[0079] 图13A图解说明用于确定编码参数的方法的过程流程图。
[0080] 图13B是示范性装置1350的功能框图。
[0081] 图13C是说明发射信息与接收信息的相关的时序图的实例。
[0082] 图14A图解说明用于确定编码参数的方法的过程流程图。
[0083] 图14B是示范性装置1450的功能框图。
[0084] 图15A图解说明用于确定编码参数的方法的过程流程图。
[0085] 图15B是示范性装置1550的功能框图。
[0086] 图16A图解说明用于基于网络抖动确定编码参数的方法的过程流程图。
[0087] 图16B是示范性装置1650的功能框图。

具体实施方式

[0088] 因为网络容量可为可变且不可预测的,所以可能需要改变发射速率以匹配当前网络容量。在无此类适配的情况下,用户可能体验到由于包丢失和等待时间所致的实质或延长的假象。在一些实施例中,这可导致多媒体数据的重放中的抖动或延迟。本文所描述的是提供基于时变网络条件对发射速率的动态适配以提供改善的用户体验的方法、设备和计算机可读媒体。在一些实施例中,通过更改将多媒体数据发射到网络上的编码器的一或多个编码参数可修改发射速率。
[0089] 在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些具体细节的情况下实践所述方面。举例来说,可以在框图中展示电组件/装置,以免用不必要的细节混淆所述实例。在其它实例中,可详细展示此些组件、其它结构和技术以进一步解释所述方面。
[0090] 还应注意,可能将所述实例描述成过程,这个过程被描绘成流程图、流图、有限状态图、结构图或框图。虽然流程图可以将操作描述成顺序过程,但是许多操作可以并行或同时执行,并且所述过程可以重复。另外,可重新布置操作的次序。过程在其操作完成时终止。过程可以对应于方法、功能、程序、子例程、子程序等。当过程对应于软件函数时,其终止对应于所述函数返回到调用函数或主函数。
[0091] 所属领域的技术人员将了解,可使用多种不同技术及技艺中的任一者来表示信息及信号。例如,可通过电压电流电磁波磁场或磁粒子、光场或光粒子或或其任何组合来表示贯穿以上描述可能参考的数据、指令、命令、信息、信号、位、符号和码片。
[0092] 下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本发明,所属领域的技术人员应了解,本文中所描述的一个方面可独立于任何其它方面而实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
[0093] 本文所揭示的是基于发射器与接收器之间的网络条件来适配发射速率的方法、设备和计算机可读媒体。因为网络条件可变化,所以发射速率的动态适配在与静态确定的发射或编码速率相比时可提供改善的用户体验。
[0094] 在设计提供自适应发射速率的系统时,可考虑至少两个设计方法。首先,可利用基于模型或闭合形式的方法。在此方法中,通过使用固定或闭合数学形式针对例如带宽等某些变量来对通道进行建模。以可通过实验导出的未知量对所述模型进行参数化。编码器输出也可以类似地建模且与所述通道模型同步执行。
[0095] 另一方法是基于状态或“模糊”的方法。此方法可为基于令牌的,因为网络统计数据是周期性地搜集且提供到导出预期网络状态的决策引擎。此状态随后确定所述系统采取的动作的过程。这可包含维持发射器的当前操作模式,或修改发射器参数以增加或减小数据发射到网络中的速率。在一实施例中,发射器可更改横跨从最小到最大量的预定范围的固定量中的位速率。
[0096] 基于试探性通道状态的方法的优点可包含可接受裕度、面对错误肯定的稳健性以及稳定输出。由于所述模型是基于由网络统计数据的可接受裕度支配的网络状态,因此系统对由网络变量的测量招致的不精确和/或偏差较不敏感。此外,由于系统是基于令牌的,因此网络变量的乱真偏差不会导致所导出编码器参数中的实质偏差。对发射器参数的更新可基于超过一或多个阈值的令牌计数(或关于单独网络变量的令牌计数的组合)而发生。系统的此特性可提供与乱真指示的隔绝水平。另外,可能需要提供对一或多个发射器参数的更新之间的最小持续时间。此最小持续时间提供发射器收敛到选定参数值集合的机会。
这可产生较可预测的编码器输出且减小发射器输出大体上偏离指定参数的可能性。系统的经量化方面帮助提供对一或多个发射器或编码器参数的更新之间的此最小持续时间。
[0097] 一个所揭示的实施例可将在时间“t”的发射速率Rv(t)推导为三个网络变量的映射:
[0098] Rv(t)=map(Rf(t),Df(t),Lf(t)) (1)
[0099] 其中:
[0100] Rf(t)是所测得的前向(发送器到接收器)处理量
[0101] Df(t)是所测得的前向(发送器到接收器)包延迟,且
[0102] Lf(t)是所测得的前向(发送器到接收器)包丢失
[0103] 图1说明示范性视频编码和解码系统的功能框图。如图1所示,系统10包含源装置12,其可经配置以经由通信信道15将经编码多媒体数据发射到目的地装置16。源装置12和目的地装置16可包括广泛范围的装置中的任一者,包含移动装置或大体上固定装置。
在某些情况下,源装置12和目的地装置16包括无线通信装置,例如无线手持机、所谓的蜂窝式或卫星无线电电话、个人数字助理(PDA)、移动媒体播放器或可在可为或可不为无线的通信信道15上传送视频信息的任何装置。然而,关于适配编码器22的一或多个参数的本发明的技术可用于许多不同系统和设定。图1仅是此系统的一个实例。
[0104] 在图1的实例中,源装置12可包含多媒体源20、多媒体编码器22、调制器/解调器(调制解调器)23和发射器24。目的地装置16可包含接收器26、调制解调器27、多媒体解码器28和多媒体播放器30。根据本发明,源装置12的多媒体编码器22可经配置以对多媒体数据进行编码。调制解调器23和发射器24可调制且发射无线信号到目的地装置16。以此方式,源装置12将经编码多媒体数据传送到目的地装置16。
[0105] 接收器26和调制解调器27接收且解调从源装置12接收的无线信号。因此,多媒体解码器28可接收所发射的多媒体数据。
[0106] 源装置12及目的装置16仅为这些译码装置的实例,其中源装置12产生用于发射到目的装置16的经译码多媒体数据。在某些情况下,装置12和16可以大体上对称方式操作以使得装置12和16中的每一者包含多媒体源/汇、编码/解码组件、调制器/解调器和发射器/接收器。因此,系统10可支持多媒体装置12与16之间的单向或双向多媒体发射。源装置12除目的地装置16之外还可与其它目的地装置(未图示)通信以执行与多个目的地装置的一或多个同时对话,例如用于多媒体流式传输、多媒体广播或多媒体电话。
[0107] 源装置12的多媒体源20可包含多媒体俘获装置,例如麦克、摄像机、含有先前俘获音频或视频的音频或视频存档,或来自内容提供者的音频或视频馈送。
[0108] 经编码多媒体信息可随后由调制解调器23根据通信标准(例如,例如码分多址(CDMA)或另一通信标准)调制,且经由发射器24发射到目的地装置16。调制解调器23可包含各种混频器滤波器放大器或其它经设计用于信号调制的组件。发射器24可包含经设计以用于发射数据的电路,包含放大器、滤波器和一或多个天线。
[0109] 目的地装置16的接收器26可经配置以经由信道15接收信息。调制解调器27可经配置以解调所述信息。多媒体编码过程可实施本文所描述的技术中的一或多者。在信道15上传送的信息可包含由多媒体编码器22界定的信息,其可由与本发明一致的多媒体解码器28使用。多媒体播放器30可向用户播放经解码多媒体数据的选择性子集或全部,且可包括多种播放器中的任一者,例如音频或视频播放器或视频电话播放器。
[0110] 在图1的实例中,通信信道15可包括任一无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理传输线、或无线和有线媒体的任一组合。因此,调制解调器23及发射器24可支持许多可能的无线协议、有线协议或有线及无线协议。通信信道15可形成例如局域网(LAN)、广域网(WAN)或全球网(例如,包括一或多个网络的互连的因特网)的基于包的网络的部分。通信信道15通常表示用于将视频数据从源装置12发射到目的装置16的任何合适的通信媒体或不同通信媒体的集合。通信信道15可包含可用于促进从源装置12到目的装置16的通信的路由器、交换器、基站或任何其它设备。本发明的技术不一定需要将经编码数据从一个装置传送到另一装置,且可适用于没有互逆解码的编码情形。而且,本发明的方面可适用于没有互逆编码的解码情形。
[0111] 多媒体编码器22和多媒体解码器28可与压缩标准一致地操作,例如ITU-T H.264标准,替代地描述为MPEG-4第10部分和高级视频译码(AVC),或称为高效视频译码(HEVC)的下一代视频译码标准。然而,本发明的技术不限于任何特定译码标准或其扩展。虽然图1中未图示,但在一些方面中,多媒体编码器22和多媒体解码器28可包含视频和音频编码器以及视频和音频解码器两者,且可包含适当的多路复用器-多路分用器单元,或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。如果适用,那么多路复用器-多路分用器单元可符合多路复用器协议(例如,ITU H.223),或例如用户数据报协议(UDP)等其它协议。
[0112] 多媒体编码器22和多媒体解码器28各自可实施为一或多个微处理器数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程阵列(FPGA)、离散逻辑电路、在微处理器或其它平台上执行的软件、硬件、固件或其任何组合。多媒体编码器22和多媒体解码器28中的每一者可包含在一或多个编码器或解码器中,其中任一者可集成为相应移动装置、订户装置、广播装置、服务器或类似者中的组合编码器/解码器(编解码器)的部分。
[0113] 图2展示示范性多媒体处理装置的功能框图。装置202为可经配置以实施本文中所描述的各种方法的装置的实例。举例来说,装置202可被实施为源装置12或目的地装置16。
[0114] 装置202可包含控制装置202的操作的处理器单元204。处理器单元204中的一或多者可被统称为中央处理单元(CPU)。存储器206(其可包含只读存储器(ROM)与随机存取存储器(RAM)两者)将指令及数据提供到处理器单元204。存储器206通常可被实施为计算机可读存储媒体。存储器206的一部分还可包含非易失性随机存取存储器(NVRAM)。处理器单元204可经配置以基于存储于存储器206内的程序指令执行逻辑及算术运算。存储器206中的指令可为可执行的以实施本文中所述的方法。
[0115] 处理器单元204可以通用微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑装置(PLD)、控制器、状态机、门控逻辑、离散硬件组件、专用硬件有限状态机或可执行信息的计算或其它操纵的任何其它合适的实体的任何组合来实施。在其中处理器单元204包含DSP的实施方案中,DSP可经配置以产生用于发射的包(例如,数据包)。在一些方面中,包可包括物理层数据单元(PPDU)。
[0116] 装置202还可包含用于存储软件的机器可读媒体。处理单元204可包括用于存储软件的一或多个非暂时性机器可读媒体。无论是被称作软件、固件、中间件微码、硬件描述语言或其它,应将软件广义地理解为意味着任何类型的指令。指令可包含代码(例如,呈源代码格式、二进制码格式、可执行代码格式或任何其它合适代码格式)。指令在由处理器单元204执行时致使装置202执行本文中所描述的各种功能。
[0117] 装置202可包含发射器210及/或接收器212以允许在装置202与远程位置之间分别发射及接收数据。发射器210及接收器212可组合为收发器214。天线216可附接到外壳208且与收发器214电耦合。装置202还可包含(未图示)多个发射器、多个接收器、多个收发器和/或多个天线。
[0118] 发射器210可经配置以无线发射包和/或信号。举例来说,发射器210可经配置以发射上文所论述的由处理器单元204产生的不同类型的包。待发射的包提供到发射器210。举例来说,处理器单元204可将包存储在存储器206中且发射器210可经配置以检索所述包。一旦发射器检索到包,发射器210便经由天线216发射包。在一些实施方案中,发射器
210可经由网络输入/输出224发射包。
[0119] 如果装置202被实施为目的地装置16,那么天线216检测无线发射的包/信号。接收器212可经配置以处理所检测包/信号且使其可用于处理器单元204。举例来说,接收器212可将包存储在存储器206中且处理器单元204可经配置以检索所述包。
[0120] 装置202还可包含信号检测器218,其可用于努检测且定量由收发器214接收的信号的电平。装置202还可包含供用于处理信号的数字信号处理器(DSP)220。DSP 220可经配置以产生用于发射的包或从接收器212接收包。在一些方面中,包可包括物理层数据单元(PPDU)。
[0121] 在一些方面中装置202可进一步包括用户接口222。所述用户接口222可包括小键盘、麦克风、扬声器和/或显示器。在一些实施方案中,装置202可与显示器耦合。举例来说,装置202可实施为机顶盒,其接收视频信息,处理所述信息用于显示,且将所述信息发射到电视用于显示。所述用户接口222可进一步包含将信息传达给装置202的用户和/或接收来自用户的输入的任何元件或组件。装置202还可包含包围装置202中包含的组件中的一或多者的外壳208。
[0122] 装置202的各种组件可由总线系统226耦合在一起。总线系统226可包含(例如)数据总线以及除数据总线之外还有电力总线、控制信号总线,和状态信号总线。所属领域的技术人员将了解,装置202的组件可耦合在一起,或使用一些其它机构接受输入或将输入提供到彼此。
[0123] 尽管图2中说明许多单独组件,但所属领域的技术人员将认识到可组合或共同实施组件中的一或多者。举例来说,处理器单元204可用以不仅实施上文相对于处理器单元204描述的功能性,并且实施上文相对于信号检测器218描述的功能性。另外,可使用多个单独元件实施图2中所说明的组件中的每一者。
[0124] 图3A图解说明示范性通信装置300的功能框图。在一实施例中,通信装置300可实施为图2的无线装置202。通信装置300包含编码器302、编码器参数管理器304和报告处理器306。编码器302接收至少两个输入:未经编码多媒体信息和编码器参数。未经编码多媒体数据可由一或多个多媒体应用程序(未图示)直接或间接提供到编码器302。编码器302还可从编码器参数管理器304接收一或多个编码器参数。编码参数可识别将应用的编码方案。编码器参数可为动态的且针对每一多媒体流或针对多媒体流的每一部分提供。
[0125] 编码器302可经配置以当产生多媒体数据的经编码版本时将经配置编码方案应用于多媒体数据。在一些实施方案中,多媒体数据的经编码版本可提供到发射器以用于发射,如上文所论述。在一些实施方案中,多媒体数据的经编码版本可进一步由源装置12处理(例如,加密、压缩)。
[0126] 编码器参数管理器304确定将发送到编码器302的编码参数。编码器参数可至少部分基于以下各项来选择:多媒体信息、源装置12的一或多个特性(例如,功率、处理能力、负载)、目的地装置的一或多个特性(例如,功率、处理能力、负载、与源装置的耦合)、网络的一或多个特性,和/或可用于源装置12的其它信息。在此论述由编码器参数管理器304确定编码参数的方面。在一些方面中,编码器参数管理器304还从接收器接收建议编码参数,所述接收器例如下文相对于图3B论述的装置350。在一些其它方面中,不从接收器接收建议编码参数。
[0127] 在一实施例中,编码器参数是至少部分基于由报告处理器306提供的带宽、处理量、延迟和损耗信息来确定。编码器参数可包含编码位速率。编码器参数还可包含时间适配参数、空间适配参数和容错性参数。容错性参数可包含(例如)H.264编码中的图片群组(GOP)大小和/或用来控制刷新的动态插入的参数。容错性参数可包含动态切片配置参数和/或时间可缩放性的动态应用。
[0128] 报告处理器306将带宽信息、延迟信息和损耗信息中的一或多者发送到编码器参数管理器304。在一实施例中,报告处理器306从经编码多媒体数据的接收器接收接收器报告。图4中展示接收器报告的一个实施例。
[0129] 图3B图解说明示范性通信装置350的功能框图。在一实施例中,通信装置350可实施为图2的无线装置202。通信装置350包含解码器352、编码器参数管理器354和报告处理器356。解码器352从编码器(例如编码器302)接收经编码多媒体数据。所述解码器解码经编码多媒体数据且输出经解码多媒体数据。解码器还可将解码器和/或接收器统计信息发送到编码器参数管理器354。
[0130] 编码器参数管理器354确定将发送到编码器的编码参数。举例来说,编码器参数管理器354可将编码参数发送到装置300。编码器参数可至少部分基于以下各项来选择:经解码多媒体信息、源装置12的一或多个特性(例如,功率、处理能力、负载)、目的地装置的一或多个特性(例如,功率、处理能力、负载、与源装置的耦合)、网络的一或多个特性,和/或可用于目的地装置16的其它信息。在此论述由编码器参数管理器354确定编码参数的方面。
[0131] 在一实施例中,编码器参数是至少部分基于由报告处理器356提供的带宽、处理量、延迟和损耗信息来确定。编码器参数可包含编码位速率。编码器参数还可包含时间适配参数、空间适配参数和容错性参数。容错性参数可包含(例如)H.264编码中的图片群组(GOP)大小和/或用来控制刷新帧的动态插入的参数。容错性参数可包含动态切片配置参数和/或时间可缩放性的动态应用。
[0132] 报告处理器356将带宽信息、延迟信息和损耗信息中的一或多者发送到编码器参数管理器354。在一实施例中,报告处理器356从经编码多媒体数据的发射器接收发射器报告。图12中展示发射器报告的一个实施例。
[0133] 图4图解说明接收器报告400的一个实施例。接收器报告400包含可用于实现编码器适配的数据字段。在一实施例中,这些字段可从定制反馈结构(例如RTP扩展)导出。在一实施例中,所述字段可从RTCP AVP和/或AVPF标准结构导出。
[0134] 为了如上文所描述基于发射器与接收器之间的网络的条件动态适配编码器参数,可建立发射器与接收器之间的反馈回路。此反馈回路可利用接收器报告来将关于所接收数据的信息传送到发射器。在一实施例中,接收器报告可以可为可配置的周期性间隔发射到发射器。在一实施例中,接收器报告可为事件触发的。举例来说,可当对一或多个网络条件的改变越过一或多个预定阈值时发射接收器报告。接收器报告的大小和结构,例如字段的数目、字段的大小或字段的类型,可不同于图4中所示,且还可基于正报告的网络统计数据而变化。在一些实施例中,接收器报告可在发射器与接收器之间的其它网络通信包上载运。举例来说,在利用实时协议(RTP)的实施例中,接收器报告可作为用于视频包的定制RTP扩展有效负载格式而随附。
[0135] 在一些实施例中,接收器报告可使用RTCP AVP和/或AVPF标准而结构化且传送。举例来说,在利用RTCPAVPF反馈协议的实施例中,以上信息可从常规/立即模式RTCP发送器/接收器报告、通用NACK、图片损耗指示(PLI)、TMMBR/TMMBN元组和完整内部请求(FIR)消息中的字段的组合导出。
[0136] 接收器报告400的字段可指代接收报告的发射器的上下文。接收器报告400可包含远标记时间接收字段405。远标记时间接收字段405可能已先前由接收器报告400的发射器接收。接收报告400还包含持续时间保持标记时间410。在一实施例中,持续时间保持标记时间字段410指示接收到字段405中提供的远标记时间与发射接收器报告之间的持续时间。接收报告400还包含靠近标记时间发送字段415。在一些实施例中,靠近标记时间发送字段415将作为远标记时间接收字段405返回,包含在源自接收接收报告400的装置的接收器报告中。在一些实施例中,接收报告400的接收器预期将靠近标记时间字段415发射回到接收报告的发射器。接收报告400还包含累积接收计数字段420。在一个实施例中,累积接收计数字段420指示由接收器接收的所接收消息的累积数目。在一实施例中,累积接收计数字段420指示由接收器接收的所接收包的累积数目。接收报告400还包含累积损耗计数字段425。累积损耗计数425指示由产生接收器报告400的接收器检测到的丢失的消息或包的累积数目。接收报告400进一步包含累积AU计数字段430。累积AU计数字段430指示由此接收器接收的视频存取单元的累积数目。接收器报告400进一步包含两个累积字节接收字段435(高阶位)和440(低阶位)。累积字节接收字段435和440指示由发送接收报告400的接收器在网络通信信道内接收的字节的总数。接收器报告400还包含AU元数据字段445。AU元数据字段指示帧信息。在一实施例中,接收器报告可取决于它们是否仅载运延迟相关信息(被称为短接收报告)或它们是否还包含网络处理量和损耗统计数据(被称为完整接收报告)而在大小方面不同。
[0137] 如所展示,接收器报告含有聚合字节计数和接收器时间线信息。接收器报告中包含的信息可用以计算移动平均接收速率Rf(t),其用作处理量的指示符。在一实施例中,Rf(t)可表示以每秒千位为单位的速率。在一个实施例中,Rf(t)可作为矩形移动平均导出为:
[0138]
[0139] 其中:
[0140] b(t)是在接收器时钟上在时间t接收的字节
[0141] Δt是用于计算平均的间隔
[0142] Δtf是用于可靠平均的最小间隔,且
[0143] Rv是当前发射速率
[0144] 应确定间隔Δtf以确保对网络抖动稳健的可靠平均。为了提供在可接受时间帧内适于网络处理量的丢失的能力,提供用于计算处理量的字节计数和时序信息的接收器报告可以比Δtf更精细的分辨率提供,表示为Δtrr,其中Δtrr<<Δtf。在一实施例中,发射器可先前存储所接收的接收器报告。发射器可搜索存储的接收器报告是否有最近报告以使得在静态编码速率Rv下Δt≥Δtf。
[0145] 通过使用平均策略来平滑网络抖动可改善处理量估计。在一实施例中,可如下采用单抽头(LP)无限脉冲响应(IIR)滤波器:
[0146] R′f(tn)=β.R′f(tn-1)+(1-β)·Rf(tn) (3)
[0147] 其中:
[0148] R′f(tk)是在时间tk(k=n,n-1)的单抽头IIR平均处理量估计
[0149] Rf(tn)是针对当前时刻tn的矩形移动平均处理量计算
[0150] 以上计算的处理量包含延迟Dr(tn),其可包括当接收器报告发射且随后由发射器接收且剖析时引入的延迟。因为此延迟,R′f(tn)指代在发射器的时钟上在时间(tn-Dr(tn))观测的接收器处的处理量估计。为了使用计算的处理量,确定消耗到产生测量。此测量将大体上不会落到低于针对给定数目令牌的阈值。相对于图5更详细论述此测量。
[0151] 图5A图解说明用于对多媒体信息进行编码的方法的过程流程图。在一实施例中,过程500可由图2中图解说明的无线装置202执行。在处理框505中,经由电子装置确定所接收网络数据的量相对于所发射网络数据的量的测量值。在一些方面中,所述测量可为所接收网络数据与所发射网络数据的比率。在一实施例中,所述比率可计算为:
[0152] ρ(tn)=R′f(tn)/Rv(tn) (4)
[0153] 其中:
[0154] tn是在发射节点处的时间n
[0155] Rv(tn)是在时间n的编码速率
[0156] R′f(tn)是在时间n的接收速率
[0157] 在一实施例中,发射器可维持随时间的编码或发射速率的记录。举例来说,实施例可界定积累且记录经编码或发射的数据量的持续时间。当所述持续时间已期满时,第二时间周期可开始,其中积累且记录在第二时间周期期间经编码或发射的数据量。此过程重复,导致一系列记录的编码或发射速率,表示在每一连续时间周期上经编码的数据的量。
[0158] 在一实施例中,例如R′f(tn)的接收速率可基于从接收器接收的报告(例如相对于图4描述的接收器报告)而确定。在一实施例中,接收器报告可周期性地接收。在一实施例中,接收器报告的发射可为事件触发的。在一实施例中,可发射事件触发和周期性接收报告两者。在一实施例中,接收接收器报告的频率可与如上文所论述积累且存储编码速率的频率相关。在另一实施例中,接收器报告的频率可与积累编码或发射信息的频率不相关。
[0159] 在一实施例中,所接收网络数据与所发射网络数据的比率可基于如上文所论述在时间上相关的接收速率和发射速率。举例来说,用以确定所述比率的速率可为延迟调整移动平均速率。在一些实施例中,发射速率和接收速率可通过基于延迟调整接收速率信息而相关。举例来说,接收信息可由接收器在接收器报告中发射到发射器。接收器报告可在由至少网络延迟和与接收器组装且封装接收信息以用于发射到发射器相关联的延迟引起的延迟周期之后由发射器接收。因为发射器和接收器不可共享共同时钟,所以不可能基于时戳或其它绝对时序信息使发射信息和接收信息相关。替代地,从收集接收信息时到发射器接收到接收信息时的估计确定延迟可用以使接收信息与发射信息相关。在一实施例中,所述延迟可以大体上根据图11中图解说明的过程1100的方式来确定。通过针对单个时间周期使编码速率与接收速率相关,所述比率更准确地反映在所述单个时间周期期间消耗与产生之间的关系。
[0160] 在一实施例中所述比率ρ(tn)可提供发射器与接收器之间的网络条件的指示。举例来说,如果所述比率近似为一(1),那么这可指示在时间tn减延迟Dr(tn)的发射速率是可持续的。在一些实施例中,与一(1)的距离α内的比率也可以视为指示可持续的网络条件。近似一(1)或一(1)±α的比率不一定指示100%信道利用率。
[0161] 如果如上文所描述所述比率小于一或小于(1-α),那么其可指示在利用等式(1)的实施例中(例如)Rv(tn)的当前编码或发射速率是不可持续的。为了验证低比率指示发射速率是不可持续的,发射器可维持发射器或编码器延迟调整移动平均输出速率的记录,(例如){rv(tn),rv(tn-1),rv(tn-2),...}。所述比率可随后计算为:
[0162] ρ(tn)=R′f(tn)/rv(tn)′ (5)
[0163] 其中:
[0164] tn是当接收到接收器报告‘n’时的发射器时刻
[0165] R′f(tn)是在时间tn的单抽头IIR平均处理量估计(来自等式(3))
[0166] rv(tn)是在间隔[tn-1-DR(tn-1),tn-DR(tn)]上测得,且
[0167] DR(tn)是在时间tn的接收器报告到达的平均反方向延迟
[0168] 如果如上文所描述所述比率大于一或大于一(1)+α,那么其可指示网络中的缓冲数据正在比所述网络上正编码且发送新数据的速率高的速率下接收。在网络从减少处理量的周期恢复之后可经历大于一的比率。在减少处理量的周期期间,数据源基于编码速率向网络中的数据发射可超出网络向接收器传送数据的容量。可缓冲此过量数据中的一些,且可丢弃过量数据中的一些。当网络恢复且网络的处理量增加时,网络中的缓冲数据可发送到接收器。此数据可由接收器以超出发射速率的速率接收。
[0169] 在框510处,基于所确定测量值而调整编码参数。基于测量值调整的编码参数可包含如先前论述的位速率参数、时间适配参数、空间适配参数或容错性参数。在一实施例中,如果所确定测量值是比率,且如上文所描述所述比率小于一或(1±α),那么可调整一或多个编码参数以减小由编码器产生的经编码多媒体数据的大小。在一实施例中,如果所确定比率小于一或小于(1±α),那么可调整编码参数以使经编码数据更具容错性。举例来说,如果如上文所描述所确定测量值小于一或(1±α),那么可减少编码位速率。在一实施例中,如果如上文所描述预定数目的顺序比率大于一或(1±α),那么可增加编码位速率。
[0170] 在一实施例中,在顺序阈值数目Fρ的比率经确定为小于一(1)或(1-α)之前可不调整编码参数。举例来说,如果针对每一顺序令牌或量子确定比率,那么在调整编码参数之前预定数目Fρ的具有小于(1-α)的比率的顺序令牌可能是必需的。这可避免对网络状态中的乱真偏差的过度反应。
[0171] 在一实施例中,当少于Fρ的顺序比率经确定为小于(1-α)且前向链路延迟估计高于第二阈值时可调整编码参数,所述第二阈值(例如)表示为
[0172] 在一实施例中,接收器侧处理量对发射速率的影响可以以下布尔型函数来表达:
[0173] B(Rv(tn+1)<(Rv(tn))={ρ(tn)<(1-α)&fp≥Fp}|
[0174]
[0175] 其中:
[0176] tn是当接收到接收器报告‘n’时的发射器时刻
[0177] Rv(tn)是在时刻tn的编码速率
[0178] ρ(tn)是所接收网络数据与所发射网络数据的比率(等式(5))
[0179] fp是指示低处理量的顺序确定比率的数目
[0180] Fp是指示低处理量的顺序确定比率的阈值数目
[0181] DF(tn)是在发射器时刻tn的前向路径延迟估计,且
[0182] 是前向路径高延迟阈值
[0183] 应注意虽然在上文所论述的实施例中,当比率小于一或小于(1-α)时执行一些发射或编码调整,但应理解其它实施例可确定作为以上实施例中所揭示的比率的倒数的比率。在这些其它实施例中,对发射或编码参数的调整可以与上述方式相反的方式执行。举例来说,在这些实施例中,如果所确定比率大于一或(1±α),那么可调整一或多个编码参数以减小由编码器产生的经编码多媒体数据的大小。在一实施例中,如果所确定比率大于一或大于(1+α),那么可调整编码参数以使经编码数据更具容错性。举例来说,如果如上文所描述所确定比率大于一或(1+α),那么可减少编码位速率。在一实施例中,如果预定数目的顺序比率小于一或(1-α),那么可增加编码位速率。图5B是示范性装置550的功能框图。在一实施例中,装置550可实施为图2中图解说明的无线装置202。装置550包含用于经由电子装置确定所接收网络数据的量相对于所发射网络数据的量的测量值的装置560。在一实施例中,装置560可经配置以执行上文相对于框505所论述的功能中的一或多者。用于确定测量值的装置560可包含处理器,例如图2的处理器204。装置560还可包含信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模的组合中的一或多者。装置
550进一步包含用于基于所确定测量值调整编码参数的装置565。在一实施例中,装置565可经配置以执行上文相对于框510所论述的功能中的一或多者。用于基于所确定比率调整编码参数的装置565可包含处理器,例如图2的处理器204。装置565还可包含处理器、信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。
[0184] 图5C是说明发射信息与接收信息的相关的时序图。图5C展示发射器570、接收器580和相关器575。在一实施例中,发射器570、相关器575或接收器580中的任一者可由图
2中图解说明的无线装置202实施。如图5C中示出,发射器570周期性地产生发射信息。
图5C展示分别在时间T0-3产生的发射信息585a-d。展示接收器580将接收器报告587a-d发射到相关器575。这些接收报告由接收器580分别在时间T0′-3′产生。由于至少网络延迟,接收报告587a-d由相关器575分别在时间T0″-3″接收。基于网络延迟,相关器575可使发射信息585a-d与接收信息586a-d相关。这在图5C中展示为使接收信息586a-d与发射信息585a-d相关联的虚线箭头。在一实施例中,相关器575和发射器570可在同一无线装置中实施。
[0185] 图6A图解说明用于对多媒体信息进行编码的方法的过程流程图。在一实施例中,过程600可由图2中图解说明的无线装置202执行。在处理框605中,确定网络中缓冲的数据量。
[0186] 在一实施例中,可至少部分基于一时间周期来确定缓冲的数据量,在所述时间周期期间经由网络发射的数据量超过在所述周期期间网络的容量。在一实施例中,此时间周期可确定为:
[0187] TR≈Fρ·ΔtRR (7)
[0188] 其中:
[0189] TR是反应时间
[0190] Fρ是针对基于处理量的速率减少的令牌阈值,且
[0191] ΔtRR是接收器报告间隔
[0192] 在一实施例中,网络中缓冲的数据量可至少部分基于在所述时间周期期间发射的数据量超出网络的容量多少。在一实施例中,如果发射速率是Rv(tn),那么在时刻tn发射速率超出网络容量的量可表达为:
[0193] R过剩=Rv(tn)-R′f(tn) (8)
[0194] 其中:
[0195] R′f(tn)是在时刻tn的估计接收器处理量
[0196] (参见等式(3))
[0197] 在一实施例中,网络中缓冲的数据量可随后确定为:
[0198] bR=R过剩·TR或 (9)
[0199] bR=(Rv(tn)-R′f(tn))·Fρ·ΔtRR (10)
[0200] 在处理框610中,确定网络的可持续的处理量。在一实施例中,所述可持续的处理量可至少部分基于安全裕度。可确定安全裕度以便提供在减少的网络容量(例如,由于网络拥塞或硬件失效)的周期期间缓冲的数据在网络容量改善之后完成发射的机会。在一些实施例中,安全裕度可至少部分基于所确定网络容量的百分比。举例来说,在一实施例中,可保留所确定网络容量的10%以提供过量容量。
[0201] 在框615中,基于可持续的处理量和缓冲数据的量而确定发射速率。在一实施例中,应确定发射速率以使得在时间周期tR内消除或排放网络中缓冲的数据量。在一些环境中,时间周期tR的一秒的值提供良好结果。在一实施例中,发射速率可确定为:
[0202]
[0203] 其中:
[0204] 表示基于上文所论述安全裕度的网络容量的百分比,且
[0205] bR表示网络中缓冲的数据量
[0206] tR假定为单位一(1秒)
[0207] 在一实施例中,通过将rv(tn+1)量化到来自速率Rv(D)的操作范围的值可获得最终速率Rv(tn+1),如下:
[0208] Rv(tn+1)=Quant(Rv(D)[rv(tn+1)]),其中Rv≤rv (12)
[0209] 在框620中,基于发射速率调整编码参数。基于发射速率调整的编码参数可包含如先前论述的位速率参数、时间适配参数、空间适配参数或容错性参数。
[0210] 图6B是示范性装置650的功能框图。在一实施例中,装置650可实施为图2中图解说明的无线装置202。装置650包含用于确定网络中缓冲的数据量的装置655。在一实施例中,装置655可经配置以执行上文相对于框605所论述的功能中的一或多者。用于确定缓冲的数据量的装置可包含处理器,例如图2的处理器204。装置655还可包含信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。装置650进一步包含用于确定网络的可持续的处理量的装置660。在一实施例中,装置660可经配置以执行上文相对于框610所论述的功能中的一或多者。用于确定网络中缓冲的数据量的装置660可包含处理器,例如图2的处理器204。装置660还可包含处理器、信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。装置650进一步包含用于基于可持续的处理量和缓冲的数据量而确定发射速率的装置665。在一实施例中,装置665可经配置以执行上文相对于框615所论述的功能中的一或多者。用于确定网络中缓冲的数据量的装置665可包含处理器,例如图2的处理器204。装置665还可包含处理器、信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。装置650进一步包含用于基于发射速率调整编码参数的装置670。在一实施例中,装置670可经配置以执行上文相对于框620所论述的功能中的一或多者。用于基于发射速率调整编码参数的装置670可包含处理器,例如图2的处理器204。装置670还可包含处理器、信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。
[0211] 图6C图解说明发射速率和接收速率。如所观测,上部线“Tx”表示超过由下部线“R”指示的接收速率的发射速率。时间周期690表示发射速率超过接收速率的持续时间的至少一部分。发射与接收速率之间的差异由Tx和R线的斜率的差表示。在一实施例中,可基于时间周期690以及在所述时间期间发射速率与接收速率之间的差来确定网络中缓冲的数据量。
[0212] 图7图解说明实施操作性实施例中的至少一者的发射器的随时间的发射速率。图7图解说明网络容量710。在一实施例中,基于网络中缓冲的数据量可从网络容量710折扣或减少发射速率。此减少的量由速率差异750表示,其提供由发射速率720表示的减少的发射速率。速率720可进一步折扣或减少安全裕度,如相对于图6A所论述。安全裕度由速率减少740表示。所得的进一步减少的发射速率由线730表示。此进一步减少的发射速率
730可被称为可持续的发射速率。在一实施例中,图7中所示的实际发射速率705a-b在可持续的网络容量730下方变化但并不超出可持续的网络容量730。
[0213] 图8A图解说明用于确定网络往返时间的方法的过程流程图。关于延迟的可靠且精确测量的一个挑战是跨越网络通信的全部元件的共同时钟的不存在。许多反馈协议需要共同时钟设施(例如,RTCP需要此类设施)或使用NTP 64位时钟协议。以NTP,每一装置与NTP服务器通信,所述服务器经由网络连接提供时钟时间。获得实时NTP时戳在一些联网环境中可提供可变且未知的等待时间。这些NTP时戳可能不能准确提供关于在网络容量变化时调整发射速率的时间信息。
[0214] 下文描述的过程800经由发射与接收节点之间的时间指示符的交换而确定网络往返时间。在一实施例中,过程800可由图2中图解说明的无线装置202执行。在一实施例中,过程800可由发射节点执行。在一些方面中,过程800可作为上文所论述的过程500或600中的一或多者的部分而执行。过程800也可在下文论述的过程900、1300或1400的一些方面中执行。
[0215] 在处理框805中,发射识别时间的信息。在一实施例中,所述信息是时戳。在另一实施例中,所述信息可为识别存储时戳的存储位置的索引或其它参考。在一实施例中,所述信息可经由网络发射到接收节点。在框810中,在接收时间接收识别发射时间的信息。在一实施例中,所接收的信息是在框805中发射的时戳。在一实施例中,在框810中接收的信息是由接收节点发射。
[0216] 在框815中,至少部分基于所述信息和接收时间而确定网络往返时间。在一实施例中,往返时间是至少部分基于经过的时间。经过的时间可至少部分基于在框805中发射信息的时间和在框810中接收识别发射时间的信息的时间而确定。举例来说,在一实施例中,经过的时间可为从在框810中接收信息的时间减去在框805中发射信息的时间。在一实施例中,往返时间也可以基于接收节点的所确定响应时间。举例来说,通过从经过的时间减去接收节点的所确定响应时间可确定往返时间。
[0217] 在一实施例中,框805和810反复地执行。在此实施例中,基于每一反复的结果可确定多个经过的时间。在一实施例中,可基于所确定响应时间调整这些多个经过的时间中的每一者。随后可基于所述多个经过的时间而确定网络往返时间。举例来说,所述多个经过的时间可经平均化以确定网络往返时间。在另一实施例中,多个经过的时间的移动平均可确定为网络往返时间。在一实施例中,网络往返时间可确定为从已接收到完整接收报告时的平均经过的时间。在一实施例中,过程800可由上文所论述的发射和接收节点两者执行。
[0218] 在一实施例中,可通过经由低通且单抽头无限脉冲响应(IIR)滤波器进行滤波来平滑所确定的网络往返时间。举例来说:
[0219] Δ′RR(tn+1)=β.Δ′RR(tn)+(1-β)·ΔRR(tn) (13)
[0220] 其中:
[0221] Δ′RR(tk)是在时间tk(k=n,n+1)的单抽头IIR平均处理量估计
[0222] ΔRR(tn)是针对当前时刻tn的矩形移动平均处理量计算
[0223] 图8B是示范性装置850的功能框图。在一实施例中,装置850可实施为图2中图解说明的无线装置202。装置850包含用于发射识别时间的信息的装置855。在一实施例中,装置855可经配置以执行上文相对于框805所论述的功能中的一或多者。在一实施例中,用于发射识别时间的信息的装置可包含发射器,例如图2的发射器210。装置855还可包含处理器、信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。装置850进一步包含用于在接收时间接收识别发射时间的信息的装置860。在一实施例中,装置860可经配置以执行上文相对于框810所论述的功能中的一或多者。
用于接收识别发射时间的信息的装置860可包含接收器,例如图2的接收器212。装置860还可包含处理器、信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。装置850进一步包含用于至少部分基于所述信息和接收时间而确定网络往返时间的装置865。在一实施例中,装置865可经配置以执行上文相对于框815所论述的功能中的一或多者。在一实施例中,用于至少部分基于所述信息和接收时间而确定网络往返时间的装置可包含处理器,例如图2的处理器204。装置865还可包含信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。
[0224] 图8C是说明在确定网络往返时间的方法的一个实施例中发射和接收的消息的序列图。展示两个装置870和875。在一实施例中,装置870或装置875可为图2中图解说明的无线装置202。在一些方面中,图8C中所示的装置1870可执行上文所论述的过程800。如图8C中示出,装置870首先将消息880发送到装置875。消息880可包含时间的指示。
在接收消息880后,装置875即刻将消息890发射到装置870。消息890可包含消息880中参考的时间的指示。装置875在接收到消息880的时间直到装置875将消息890发射到装置870的时间之间引入延迟885。从发送消息880直到接收消息890由装置870经历的总经过的时间是经过的时间895。在一实施例中,往返时间可基于经过的时间895。在一实施例中,往返时间也可以基于延迟885或延迟885的估计。举例来说,往返时间可通过从经过的时间895减去延迟885(如果已知)或延迟885的估计而确定。在一实施例中,图8C中所示的消息序列可反复地交换。随后可基于由图8C中所示的消息的反复交换产生的经过的时间895的多个值而确定估计往返时间。举例来说,所述多个值可经平均化以确定往返时间。应注意虽然图8C图解说明装置870将消息880发送到装置875且装置875将消息
890发送到装置870,但在一些实施例中,所述两个装置的作用可颠倒。在一些实施例中,图
8C中图解说明的消息交换将在两个方向中执行。举例来说,装置870将把消息880发送到装置875,且装置875将把消息880发送到装置870。装置875可将消息890发送到装置
870,且装置870可将消息890发送到装置875。
[0225] 图9A图解说明用于确定网络队列排放持续时间的方法的过程流程图。当带宽收缩在网络中形成时,发射节点可不立即反应。因此,发射节点可继续在比由带宽收缩引起的减少网络容量可支持的速率高的速率下发射。在此周期期间,不可持续的发射速率可导致网络中数据的缓冲,且潜在地导致丢包。在收缩的起因缓解之后,网络容量可改善。当此发生时,网络中缓冲的数据可通过网络传送到其目的地。如果发射速率已经由于所述收缩而减少,那么网络中缓冲数据的量可减小。缓冲数据减少的此过程可被称为网络排放或缓冲器排放。对网络排放缓冲数据所必要的时间可取决于在收缩缓解之后可用的网络处理量。从以上先前论述,在一实施例中网络中积聚的缓冲量可如下确定:
[0226] bR=(Rv(tn)-R′f(tn))·Fρ·ΔtRR (14)
[0227] 因此,在此实施例中排放bR的时间td可表示为:
[0228]
[0229] 另一实施例由过程900表示。在一实施例中,过程900可由图2中图解说明的无线装置202执行。在处理框905中,确定所接收网络数据的量相对于所发射网络数据的量的测量值。在一实施例中,所述测量值可为所接收网络数据与所发射网络数据的比率。在一些方面中,框905可与上文相对于图5A所论述的框505的描述大体上一致地执行。在一实施例中,当所述比率大于一或(1+α)时,正从网络移除(通过接收)的数据量大于正添加到网络(通过发射)的数据量。当此情况发生时,网络可称为“排放”,因为过量数据正从所述网络移除。举例来说,沿着发射器与接收器之间的网络路径的一或多个网络装置中缓冲的包可沿着所述网络路径移动且最终由接收器接收,因此将其从网络移除。如果所接收的包未经由新包的发射以它们被接收的速率进行替换,那么所述比率可大于一。在一实施例中,所述比率的大小可表示网络正在排放有多快。举例来说,具有三(3)的比率的网络可比具有二(2)的比率的网络排放更快。
[0230] 在框910中,确定网络中缓冲的数据量。网络中缓冲的数据量可影响排放缓冲数据所需的时间。在一些方面中,框910可与上文相对于图6A所论述的框605的描述大体上一致地执行。在框915中,至少部分基于所述测量值和缓冲数据的量而确定网络队列排放持续时间。在一些方面中,可根据上文所论述的等式(15)确定网络队列排放持续时间。
[0231] 图9B是示范性装置950的功能框图。在一实施例中,装置950可实施为图2中图解说明的无线装置202。装置950包含用于经由电子装置确定所发射网络数据的量相对于所接收网络数据的量的测量值的装置955。在一实施例中,装置955可经配置以执行上文相对于框905所论述的功能中的一或多者。用于确定测量值的装置955可包含处理器,例如图2的处理器204。装置955还可包含信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。装置950进一步包含用于确定网络中缓冲的数据量的装置960。在一实施例中,装置960可经配置以执行上文相对于框910所论述的功能中的一或多者。用于确定网络中缓冲的数据量的装置960可包含处理器,例如图2的处理器204。装置960还可包含处理器、信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。装置950进一步包含用于至少部分基于所述测量值和缓冲的数据量而确定网络队列排放持续时间的装置965。在一实施例中,装置965可经配置以执行上文相对于框915所论述的功能中的一或多者。在一实施例中,用于至少部分基于所述测量值和缓冲的数据量而确定网络队列排放持续时间的装置可包含处理器,例如图2的处理器204。装置965还可包含信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。
[0232] 图10A是说明发射与接收速率之间的关系的曲线图。标记“Tx”的顶部线表示随时间的发射速率,而标记“R”的下部线表示随时间的接收速率。在T0之前的第一时间周期期间,发射速率超过接收速率。可观测到此情形,因为在1010处发射速率线的斜率大于在1020处接收线的斜率。所述两个线的斜率之间的此关系导致在时间T0之前所述两个线之间的增加的距离。此增加距离表示网络中缓冲的数据。在时间T0,减少发射速率。这可视为在与1010处发射线的斜率相比时在1030处顶部线Tx的减少的斜率。在T0与T1之间的时间周期期间,接收器初始地以高速率继续接收。因为发射速率已在T0之后减少,所以接收器能够在T0与T1之间的时间周期期间减小网络中缓冲的数据量。在网络中缓冲的数据量减小时,接收速率也可以减少,如在1040处接收速率的变形可观测。在一实施例中,当发射速率减少时的T0与当接收速率与发射速率的比率近似为一(1)时的T1之间的时间可视为网络队列排放持续时间。在时间T1之后,发射速率和接收速率近似相等,如在T1之后发射线Tx与接收线R的相对等效斜率可以看出。发射速率与接收速率之间的距离可表示在实现稳定状态发射和接收速率之后网络中缓冲的标称数据量。
[0233] 图10B是说明网络延迟的曲线图。图10B的时间轴与图10A的时间轴在空间上相关。在图10B的时间T0之前的曲线图的部分期间,由于发射速率超过接收速率,延迟增加,且缓冲网络中的数据,如1060处所示。在时间T0,减少发射速率,如图10A的曲线图中示出。在网络中缓冲的数据排放且缓冲数据的量减少时,延迟减少,如1070处所示。在时间T1,当网络中缓冲的数据如图10A所示是标称的时,也经历标称延迟,如图10B中在1080示出。
[0234] 图11A图解说明用于确定单向网络发射延迟的方法的过程流程图。在一些网络环境中,将网络往返时间除以二可能不提供单向网络发射延迟的可靠指示。举例来说,如果一个方向经受不成比例地高的延迟,那么以此方法可确定不准确的单向发射延迟。在利用单向发射延迟来确定发射速率的实施例中,将往返时间除以二可导致基于所述单向发射延迟的不准确估计对发射速率的不适当改变。
[0235] 在一实施例中,过程1100可由图2中图解说明的无线装置202执行。在处理框1105中,可确定往返网络发射时间。在一实施例中,框1105可大体上根据图8A中图解说明的过程800而执行。在框1110中,接收第一消息的接收与第二消息的接收之间的经过的持续时间的指示。此经过的持续时间可被称为间隔到达持续时间。在一实施例中,所述指示可由第一和第二消息的接收器发射。在一实施例中,过程1100还可包含将第一和第二消息发送到接收器。在此实施例中,发送第一和第二消息之间的经过的持续时间可被称为间隔发射持续时间。
[0236] 在框1115中,基于往返网络发射时间和所述指示而确定单向网络发射延迟。在一实施例中,可基于间隔到达持续时间而确定单向网络发射延迟。在一实施例中,也可以基于间隔发射持续时间而确定所述单向网络发射延迟。
[0237] 举例来说,所确定往返时间可由上文所论述的间隔到达持续时间与间隔发射持续时间的比率进行加权以确定单向网络发射延迟。在一实施例中,前向和反向方向延迟可确定为:
[0238] Dr(tn)=·Δ′RR(tn) (16)
[0239] DF(tn)=Δ′RR(tn)-Dr(tn) (17)
[0240] 其中:
[0241] Dr(tn)是反向方向网络单向发射延迟
[0242] DF(tn)是正向方向网络单向发射延迟
[0243] Δ′RR(tn)是所确定的往返时间
[0244] 所述正向方向单向时间可为当从执行过程1100的节点到接收节点发射数据时的网络单向发射时间。所述反向方向单向时间可为当执行过程1100的节点从接收节点接收网络数据时的网络单向发射时间。在另一实施例中,前向和反向方向单向发射时间可如下确定:
[0245]
[0246] DF(tn/)=Δ′RR(tn)-Dr(tn) (19)
[0247] 图11B是示范性装置1150的功能框图。在一实施例中,装置1150可实施为图2中图解说明的无线装置202。装置1150包含用于确定往返网络发射时间的装置1155。在一实施例中,装置1155可经配置以执行上文相对于框1105所论述的功能中的一或多者。用于确定往返网络发射时间的装置可包含处理器,例如图2的处理器204。装置1155还可包含信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。装置1150进一步包含用于接收第一消息的接收与第二消息的接收之间经过的时间的指示的装置1160。在一实施例中,装置1160可经配置以执行上文相对于框1110所论述的功能中的一或多者。用于接收第一消息与第二消息的接收之间经过的持续时间的指示的装置1160可包含接收器,例如图2的接收器212。装置1160还可包含处理器、信号发生器、收发器、解码器或硬件和/或软件组件、电路模块的组合中的一或多者。装置1150进一步包含用于基于往返网络发射时间和所述指示而确定单向网络发射延迟的装置1165。在一实施例中,装置1165可经配置以执行上文相对于框1115所论述的功能中的一或多者。在一实施例中,用于基于往返网络发射延迟和所述指示而确定单向网络发射时间的装置可包含处理器,例如图2的处理器204。装置1165还可包含信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。
[0248] 图12图解说明发射器报告1200的一个实施例。发射器报告1200包含可用于实现编码器适配的数据字段。在一实施例中,这些字段可从定制反馈结构(例如RTP扩展)导出。在一实施例中,所述字段可从RTCP AVP和/或AVPF标准结构导出。
[0249] 如上文所论述,为了如上文所描述基于发射器与接收器之间的网络的条件动态适配编码器参数,可建立发射器与接收器之间的反馈回路。一些实施例可利用接收器报告(例如上述接收器报告400)来将关于所接收数据的信息传送到发射器。在一些其它实施例中,例如发射器报告1200的发射器报告可发射到接收器。接收器可随后确定目标发射或编码速率。接收器可随后将此信息发射到发射器或编码器。在一些实施例中,可利用发射器报告和接收器报告。
[0250] 在一实施例中,发射器报告可以可为可配置的周期性间隔发射到接收器。在一实施例中,发射器报告可为事件触发的。举例来说,可当对一或多个网络条件的改变越过一或多个预定阈值时发射发射器报告。发射器报告的大小和结构,例如字段的数目、字段的大小或字段的类型,可不同于图12中所示,且还可基于正报告的网络统计数据而变化。在一些实施例中,发射器报告可在发射器与接收器之间的其它网络通信包上载运。举例来说,在利用实时协议(RTP)的实施例中,发射器报告可作为用于视频包的定制RTP扩展有效负载格式而随附。
[0251] 在一些实施例中,发射器报告可使用RTCP AVP和/或AVPF标准而结构化且传送。举例来说,在利用RTCPAVPF反馈协议的实施例中,以上信息可从常规/立即模式RTCP发送器/接收器报告、通用NACK、图片损耗指示(P LI)、TMMBR/TMMBN元组和完整内部请求(FIR)消息中的字段的组合导出。
[0252] 发射器报告1200的字段可涉及发射器报告的发射器的上下文。发射器报告1200可包含远标记时间接收字段1205。远标记时间接收字段1205可能已经先前由发射器报告1200的发射器接收。发射器报告1200还包含持续时间保持标记时间1210。在一实施例中,持续时间保持标记时间字段1210指示当接收到字段1205中提供的远标记时间时与发射所述发射器报告时之间的持续时间。发射器报告1200还包含靠近标记时间发送字段1215。
在一些实施例中,靠近标记时间发送字段1215将作为远标记时间接收字段1205而返回,包含在源自接收发射器报告1200的装置的发射器报告中。在一些实施例中,发射器报告1200的接收器预期将靠近标记时间字段1215发射回到发射器报告的发射器。发射器报告1200还包含累积发射计数字段1220。在一个实施例中,累积发射计数字段1220指示由报告的发射器发射的发射消息的累积数目。发射器报告1200还包含累积损耗计数字段1225。累积损耗计数1225指示由产生发射器报告1200的发射器检测到的丢失消息或包的累积数目。
发射器报告1200进一步包含累积发射AU计数字段1230。累积发射AU计数字段1230指示由发射器报告的发射器发射的视频存取单元的累积数目。发射器报告1200进一步包含两个累积字节发射字段1235(高阶位)和1240(低阶位)。累积字节发射字段435和440指示由发射发射器报告1200的发射器在网络通信信道内发射的字节总数。发射器报告1200还包含AU元数据字段1245。所述AU元数据字段指示帧信息。在一实施例中,发射器报告可取决于它们是否仅载运延迟相关信息(被称为短发射器报告)或它们是否还包含网络处理量和损耗统计数据(被称为完整发射器报告)而在大小方面不同。
[0253] 如所展示,发射器报告含有聚合字节计数和发射器时间线信息。发射器报告中包含的信息可用以确定移动平均发射速率R′v(t),其用作处理量的指示符。在一实施例中,R′v(t)可表示以每秒千位为单位的速率。在一个实施例中,R′v(t)可作为矩形移动平均导出为:
[0254]
[0255] 其中:
[0256] b(t)是在发射器时钟上在时间t发射的字节
[0257] Δt是用于计算平均的间隔
[0258] Δtf是用于可靠平均的最小间隔,且
[0259] Rf是当前接收速率
[0260] 应确定间隔Δtf以确保对网络抖动稳健的可靠平均。为了提供在可接受时间帧内适于网络处理量的丢失的能力,提供用于计算处理量的字节计数和时序信息的发射器报告可以比Δtf更精细的分辨率提供,表示为Δttr,其中Δttr<<Δtf。在一实施例中,接收器可先前存储所接收的发射器报告。接收器可搜索存储的发射器报告是否有最近报告以使得在静态编码速率R′v下Δttr≥Δtf。
[0261] 通过使用平均策略来平滑网络抖动可改善处理量估计。在一实施例中,可如下采用单抽头(LP)无限脉冲响应(IIR)滤波器:
[0262] R′v(tn)=β.R′v(tn-1)+(1-β)·R′v(tn) (21)
[0263] 其中:
[0264] R′v(tk)是在时间tk(k=n,n-1)的单抽头IIR平均处理量估计
[0265] R′v(tn)是针对当前时刻tn的矩形移动平均处理量计算
[0266] 以上计算的发射处理量包含延迟Dr(tn),其可包括当发射器报告发射且随后由接收器接收且剖析时引入的延迟。因为此延迟,R′v(tn)指代在接收器的时钟上在时间(tn-Dr(tn))观测的发射器处的处理量估计。为了使用计算的处理量,确定消耗与产生比率。此比率将大体上不会落到低于针对给定数目令牌的阈值。此比率在上文相对于图5A当在一个方面中由发射器确定时以及相对于图13A当在一个方面中由接收器确定时论述。
[0267] 图13A图解说明用于对多媒体信息进行编码的方法的过程流程图。在一实施例中,过程1300可由图2中图解说明的无线装置202执行。在一实施例中,过程1300可由图2的装置202执行。在另一实施例中,过程1300可由接收器执行。在处理框1305中,确定所接收网络数据的量相对于所发射网络数据的量的测量值。在一些方面中,所述测量可为所接收网络数据与所发射网络数据的比率。在一实施例中,所述比率可计算为:
[0268] ρ(tn)=Rf(tn)/R′v(tn) (22)
[0269] 其中:
[0270] tn是在接收节点处的时间n
[0271] R′v(tn)是在时间n的估计编码速率
[0272] Rf(tn)是在时间n的接收速率
[0273] 在一实施例中,接收器可维持随时间的接收速率的记录。举例来说,实施例可界定积累且记录所接收的数据量的持续时间。当所述持续时间已期满时,第二时间周期可开始,其中积累且记录在第二时间周期期间接收的数据量。此过程重复,导致一系列记录的接收速率,表示在每一连续时间周期上接收的数据的量。接收器可经由发射器报告(例如上文相对于图12所论述的发射器报告1200)获得在一或多个周期期间经编码或发射的数据量。在一实施例中,可周期性地接收发射器报告。在一实施例中,发射器报告的发射可为事件触发的。在一实施例中,事件触发和周期性发射器报告两者可由接收器接收。在一实施例中,接收发射器报告的频率可与如上文所论述积累且存储接收速率的频率相关。在另一实施例中,发射器报告的频率可与接收器积累接收信息的频率不相关。
[0274] 在一实施例中,可由接收器基于由所述接收器实际上接收的数据而确定接收速率,例如Rf(tn)。
[0275] 在一实施例中,所接收网络数据与所发射网络数据的比率可基于如上文所论述在时间上相关的接收速率和发射速率。举例来说,用以确定所述比率的速率可为延迟调整移动平均速率。在一些实施例中,发射速率和接收速率可通过基于延迟调整发射速率信息而相关。举例来说,发射信息可由发射器在发射器报告中发射到接收器。发射器报告可在由至少网络延迟和与发射器组装且封装发射信息以用于发射到接收器相关联的延迟引起的延迟周期之后由接收器接收。因为发射器和接收器不可共享共同时钟,所以不可能基于时戳或其它绝对时序信息使发射信息和接收信息相关。而是,从当收集发射信息时到当接收器接收到发射信息时的延迟的估计可用以使发射信息与局部接收信息相关。在一实施例中,所述延迟可以大体上根据图11中图解说明的过程1100的方式来确定。通过针对单个时间周期使编码或发射速率与接收速率相关,所述比率更准确地反映在所述单个时间周期期间消耗与产生之间的关系。
[0276] 在一实施例中所述比率ρ(tn)可提供发射器与接收器之间的网络条件的指示。举例来说,如果所述比率近似为一(1),那么这可指示在时间tn减延迟Dr(tn)的发射速率是可持续的。在一些实施例中,与一(1)的距离α内的比率也可以视为指示可持续的网络条件。近似一(1)或一(1)±α的比率不一定指示100%信道利用率。
[0277] 如果如上文所描述所述比率小于一或小于(1-α),那么其可指示在利用等式(1)的实施例中(例如)R′v(tn)的当前编码或发射速率是不可持续的。为了验证低比率指示发射速率是不可持续的,接收器可维持接收器延迟调整移动平均输出速率的记录,例如{r′v(tn),r′v(tn-1),r′v(tn-2),...}。所述比率可随后计算为:
[0278] ρ(tn)=Rf(tn)/r′v(tn)′ (23)
[0279] 其中:
[0280] tn是当接收到发射器报告‘n’时的接收器时刻
[0281] Rf(tn)是在时间tn的接收速率
[0282] r′v(tn)是在间隔[tn-1-DT(tn-1),tn-DT(tn)]上估计,且
[0283] DT(tn)是在时间tn的发射器报告到达的平均反向方向延迟
[0284] 如果如上文所描述所述比率大于一或大于一(1)+α,那么其可指示网络中的缓冲数据正在比所述网络上正编码且发送新数据的速率高的速率下接收。在网络从减少处理量的周期恢复之后可经历大于一的比率。在减少处理量的周期期间,数据源基于编码速率向网络中的数据发射可超出网络向接收器传送数据的容量。可缓冲此过量数据中的一些,且可丢弃过量数据中的一些。当网络恢复且网络的处理量增加时,网络中的缓冲数据可发送到接收器。此数据可由接收器以超出发射速率的速率接收。
[0285] 在框1310处,基于所确定测量值而发射编码参数。在一实施例中,将编码参数发射到发射节点。在一实施例中,所发射编码参数可为当编码或发射数据时用于发射节点使用的建议经编码参数。
[0286] 基于测量值发射的编码参数可包含如先前论述的位速率参数、时间适配参数、空间适配参数或容错性参数。所发射的编码参数可不同于由发射节点使用的一或多个当前编码参数。
[0287] 在一实施例中,如果所确定测量值是比率,且如上文所描述所述比率小于一或(1±α),那么所述一或多个发射编码参数可用以减小在发射节点由编码器产生的经编码多媒体数据的大小。在一实施例中,如果所确定比率小于一或小于(1±α),那么可调整编码参数以使经编码数据更具容错性。举例来说,如果如上文所描述所确定比率小于一或(1±α),那么可减少编码位速率。在一实施例中,如果如上文所描述预定数目的顺序比率大于一或(1±α),那么可将增加编码位速率的建议发射到发射节点。
[0288] 在一实施例中,在顺序阈值数目Fρ的比率经确定为小于一(1)或(1-α)之前可不发射建议编码参数。举例来说,如果针对每一顺序令牌或量子确定比率,那么在发射建议编码参数之前预定数目Fρ的具有小于(1-α)的比率的顺序令牌可为必需的。这可避免对网络状态中的乱真偏差的过度反应。
[0289] 在一实施例中,当少于Fρ的顺序比率经确定为小于(1-α)且前向链路延迟高于第二阈值时可发射编码参数,所述第二阈值(例如)表示为
[0290] 在一实施例中,接收器侧处理量对发射速率的影响可以以下布尔型函数来表达:
[0291] B(Rv(tn+1)<(Rv(tn))={ρ(tn)<(1-α)&fp≥Fp}|
[0292]
[0293] 其中:
[0294] tn是当接收到发射器报告‘n’时的接收器时刻
[0295] R′v(tn)是在时刻tn的编码速率估计
[0296] ρ(tn)是所接收网络数据与所发射网络数据的比率(等式(23))
[0297] fp是指示低处理量的顺序确定比率的数目
[0298] Fp是指示低处理量的顺序确定比率的阈值数目
[0299] DF(tn)是在接收器时刻tn的前向路径延迟估计,且
[0300] 是前向路径高延迟阈值
[0301] 应注意虽然在上文所论述的实施例中,当所述比率小于一或小于(1-α)时接收器可向发射器推荐或建议一些发射或编码参数调整,但应理解其它实施例可确定作为以上实施例中所揭示的比率的倒数的比率。在这些其它实施例中,推荐或建议发射或编码参数可以与上述方式相反的方式发射。举例来说,在这些实施例中,如果所确定比率大于一或(1±α),那么可向发射器推荐或建议一或多个编码参数。这些推荐可减小在发射节点上由编码器产生的经编码多媒体数据的大小。在一实施例中,如果所确定比率大于一或大于(1+α),那么建议或推荐使经编码数据更具容错性的编码参数可由接收器发射到发射器。举例来说,如果如上文所描述所确定比率大于一或(1+α),那么可减少编码位速率。在一实施例中,如果预定数目的顺序比率小于一或(1-α),那么接收器可向发射器推荐增加编码位速率。
[0302] 图13B是示范性装置1350的功能框图。在一实施例中,装置1350可实施为图2中图解说明的无线装置202。装置1350包含用于经由电子装置确定所接收网络数据的量相对于所发射网络数据的量的测量值的装置1360。在一实施例中,装置1360可经配置以执行上文相对于框1305所论述的功能中的一或多者。用于确定测量值的装置1360可包含处理器,例如图2的处理器204。装置1360还可包含信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。装置1350进一步包含用于基于所确定测量值发射编码参数的装置1365。在一实施例中,装置1365可经配置以执行上文相对于框1310所论述的功能中的一或多者。用于基于所确定测量值发射编码参数的装置1365可包含发射器,例如图2的发射器210。装置1365还可包含处理器、信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。
[0303] 图13C是说明在接收器处发射信息与接收信息的相关的时序图。图13C展示发射器1370、接收器1380和相关器1375。在一实施例中,发射器1370、相关器1375或接收器1380中的任一者可由图2中图解说明的无线装置202实施。在一些方面中,相关器1375可与接收器1380在同一物理装置上实行或执行。如图13C中示出,接收器1380周期性地产生接收信息1385a-d。图13C展示分别在时间T0′-3′产生的接收信息1385a-d。展示发射器1370将发射器报告1387a-d发射到相关器1375。这些发射器报告分别在时间T0-3由发射器1380产生。由于至少网络延迟,发射器报告1387a-d分别在时间T0″-3″由相关器1375接收。基于网络延迟的确定,相关器1375可使接收信息1385a-d与发射信息1386a-d相关。
这在图13C中展示为使发射信息1386a-d与接收信息1385a-d相关联的虚线箭头。在一实施例中,相关器1375和接收器1380可在同一无线装置中实施。
[0304] 应注意一些实施方案包含将发射器报告发送到接收节点的发射节点,而接收节点将接收器报告发射到发射节点。在这些实施方案中,可组合图5C和13C的方面。举例来说,发射节点可接收接收器报告且使接收器报告中的信息与参考于发射节点时间参考的发射信息相关。接收节点可接收发射器报告且使发射器报告中的信息与参考于接收节点时间参考的接收信息相关。在这些方面中,接收节点可确定一或多个编码或发射参数且将所述参数发射到发射节点。发射节点可随后基于所发射的参数而适配一或多个编码参数。
[0305] 图14A图解说明用于将参数发射到发射节点的方法的过程流程图。在一实施例中,过程1400可由接收节点执行。在一实施例中,所发射的参数可表示用于接收所述参数的节点基于所述参数而调整编码过程的推荐、建议或指示。在一实施例中,过程1400可由图2中图解说明的无线装置202执行。在处理框1405中,确定网络中缓冲的数据量。
[0306] 在一实施例中,可至少部分基于一时间周期来确定缓冲的数据量,在所述时间周期期间经由网络发射的数据量超过在所述周期期间网络的容量。在一实施例中,此时间周期可确定为:
[0307] TR≈Fρ·ΔtTR (25)
[0308] 其中:
[0309] TR是反应时间
[0310] Fρ是针对基于处理量的速率减少的令牌阈值,且
[0311] ΔtTR是发射器报告间隔
[0312] 在一实施例中,网络中缓冲的数据量可至少部分基于在所述时间周期期间发射的数据量超出网络的容量多少。在一实施例中,如果发射速率是R′v(tn),那么在时刻tn发射速率超出网络容量的量可表达为:
[0313] R过剩=R′v(tn)-Rf(tn) (26)
[0314] 其中:
[0315] R′v(tn)是在时刻tn的估计发射器处理量
[0316] Rf(tn)是在时刻tn的接收器处理量
[0317] 在一实施例中,网络中缓冲的数据量则可为:
[0318] bR=R过剩·TR或 (27)
[0319] bR=(R′ v(tn)-Rf(tn))·Fρ·ΔtTR (28)
[0320] 在一些其它方面中,框1405可实质上根据上文相对于图6A所论述的框605的描述而执行。在处理框1410中,确定网络的可持续的处理量。在一实施例中,所述可持续的处理量可至少部分基于安全裕度。可确定安全裕度以便提供在减少的网络容量(例如,由于网络拥塞或硬件失效)的周期期间缓冲的数据在网络容量改善之后完成发射的机会。在一些实施例中,安全裕度可至少部分基于所确定网络容量的百分比。举例来说,在一实施例中,可保留所确定网络容量的10%以提供过量容量。在一些方面中,框1410可实质上根据上文相对于图6A所论述的框610的描述而执行。
[0321] 在框1415中,基于可持续的处理量和缓冲的数据量而确定推荐或建议发射速率。在一实施例中,应确定建议或推荐发射速率以使得在时间周期tR内消除或排放网络中缓冲的数据量。在一些环境中,时间周期tR的一秒的值提供良好结果。在一实施例中,发射速率可确定为:
[0322]
[0323] 其中:
[0324] 表示基于上文所论述安全裕度的网络容量的百分比,且
[0325] bR表示如上文相对于等式14tR所论述的网络中缓冲的数据量假定为单位一(1秒)
[0326] 在一实施例中,通过将rv(tn+1)量化到来自速率Rv(D)的操作范围的值可获得最终速率Rv(tn+1),如下:
[0327] Rv(tn+1)=Quant(Rv(D)[rv(tn+1)]),其中Rv≤rv (30)
[0328] 在框1420中,发射参数。所述参数是基于至少网络中缓冲的数据量和可持续的处理量中的至少一者。在一些方面中,发射发射速率。发射的其它参数可包含如先前相对于框1310论述的位速率参数、时间适配参数、空间适配参数或容错性参数。过程1400的一些实施方案并不包含框1415。
[0329] 图14B是示范性装置1450的功能框图。在一实施例中,装置1450可实施为图2中图解说明的无线装置202。装置1450包含用于确定网络中缓冲的数据量的装置1455。在一实施例中,装置1455可经配置以执行上文相对于框1405所论述的功能中的一或多者。
用于确定缓冲的数据量的装置可包含处理器,例如图2的处理器204。装置1455还可包含信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。
装置1450进一步包含用于确定网络的可持续的处理量的装置1460。在一实施例中,装置
1460可经配置以执行上文相对于框1410所论述的功能中的一或多者。用于确定网络中缓冲的数据量的装置1460可包含处理器,例如图2的处理器204。装置1460还可包含处理器、信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。装置1450进一步包含用于基于可持续的处理量和缓冲的数据量而确定发射速率的装置1465。在一实施例中,装置1465可经配置以执行上文相对于框1415所论述的功能中的一或多者。用于确定网络中缓冲的数据量的装置1465可包含处理器,例如图2的处理器
204。装置1465还可包含处理器、信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。装置1450的一些实施方案并不包含装置1465。装置
1450进一步包含用于基于网络中缓冲的数据量和网络的可持续的处理量中的至少一者而发射参数的装置1470。在一实施例中,装置1470可经配置以执行上文相对于框1420所论述的功能中的一或多者。用于基于网络中缓冲的数据量和网络的可持续的处理量中的至少一者而发射参数的装置1470可包含发射器,例如图2的发射器210。装置1470还可包含处理器、信号发生器、收发器、解码器或硬件和/或软件组件、电路和/或模块的组合中的一或多者。
[0330] 图15A图解说明用于确定编码参数的方法的过程流程图。在一实施例中,过程1500可由图2中图解说明的无线装置202执行。在一些方面中,过程1500可由编码且发射关于网络的信息的发射节点执行。发射节点可确定其将数据发射到接收节点的编码速率。
举例来说,所述节点可执行如上文相对于图5A和6A所描述的过程500和/或过程600。过程1500可在一些方面中作为过程500的框510和/或过程600的框620和/或过程1300的框1310和/或过程1400的框1420的部分而执行。在一些方面中,所确定的编码速率可基于从接收所发射数据的接收节点接收的接收器报告,例如接收器报告400。
[0331] 在一些方面中,发射节点可向接收节点发射发射器报告,例如上文相对于图12描述的发射器报告1200。发射节点还可从接收节点接收建议或推荐编码或发射参数。
[0332] 在一些实施方案中仅接收或发射节点中的一者可确定一或多个编码参数。在这些实施例中,由发射节点发射的数据可基于由所述一个节点确定的编码参数。在一些其它实施方案中,发射节点和接收节点两者可确定编码参数。在这些实施方案中,发射节点可调和编码参数的所述两个集合(由发射节点和接收节点确定)以确定“最终”编码参数集合。此“最终”编码参数集合可用以在发射到接收节点之前对数据进行编码。过程1500图解说明调和编码参数的过程的一个可能实施方案。实例过程1500在三种情形下确定“最终”或“混合”编码参数。这些情形包含1)仅由发射节点确定的参数可用;2)仅由接收节点确定的参数可用;或3)由发射节点确定的参数和由接收节点确定的参数两者均可用。
[0333] 框1505确定接收器确定的编码参数是否可用。在一些实施方案中,接收器可不确定编码参数。在一些实施方案中,发射节点可不将例如发射器报告1200的发射器报告发射到接收器。在这些实施方案中,接收器可不具有可用于确定一或多个发射或编码参数的信息。在这些实施方案中,过程1500从决策框1505移动到框1510,所述框1510确定发射器确定的编码参数是否可用。如果发射器确定的编码参数可用,那么过程1500移动到框1515,其中基于发射器确定的编码参数确定混合编码参数。
[0334] 在一些其它实施方案中,接收器可确定一或多个编码参数。举例来说,在这些实施方案中的一些中,例如发射器报告1200的发射器报告可发送到接收器。接收器可随后执行过程1300和/或过程1400且将一或多个编码或发射参数发射到发射节点。在这些实施方案中,过程1500从决策框1505移动到决策框1520,所述决策框1520确定发射器确定的编码参数是否可用。一些实施方案可完全依赖于接收器来确定一或多个编码参数。在这些实施方案中,接收器的确定可比发射节点的确定更准确。在这些实施方案中,过程1500从框1520移动到框1525,其中基于接收器确定的编码参数确定混合编码或发射参数。
[0335] 如果发射器确定和接收器确定的编码参数两者可用,那么过程1500从决策框1520移动到框1530,其中针对接收器确定的编码参数确定置信度得分。所述置信度得分可基于以下各项中的一或多者:接收器的编码参数推荐或建议的历史,接收器的编码参数推荐或建议的时序,接收器的信令可用性,和/或编码器速率适配的历史(例如,如果编码器最近已增加编码或发射速率、减少编码或发射速率或维持编码或发射速率)。
[0336] 在框1535中,针对发射器确定的一或多个编码参数确定置信度得分。所述置信度得分可基于以下各项中的一或多者:发射器的编码参数推荐或建议的历史,发射器的编码参数推荐或建议的时序,发射器的信令可用性,和/或编码器速率适配的历史(例如,如果编码器最近已增加编码或发射速率、减少编码或发射速率或维持编码或发射速率)。
[0337] 在框1540中,基于所述置信度得分、发射器确定的编码参数和接收器确定的编码参数确定混合编码参数。
[0338] 在一些其它实施例中,可不执行框1530-1540。而是,可确定混合编码参数以在利用发射器编码参数或接收器确定的编码参数的情况下实现导致当前编码速率的最小改变。在再其它实施例中,可不执行框1530-1540。而是,可基于由发射器确定的编码参数或接收器确定的编码参数的应用产生的最小发射或编码速率而确定混合编码参数。
[0339] 图15B展示用于无线通信设备的功能框图。所属领域的技术人员将了解无线通信设备可具有比图2中所示的简化无线通信设备202多的组件。展示的无线通信设备1550仅包含可用于描述权利要求书的范围内的实施方案的一些显要特征的那些组件。在一些方面中,设备1550可包含设备550、650、850、950、1150、1350、1450或1650的组件或电路中的一或多者。无线通信设备1550可包含接收器确定编码参数电路1560、置信度得分确定电路1565、发射器确定编码参数电路1570和混合编码参数确定电路1575。
[0340] 在一些实施方案中,接收器确定编码参数电路1560可经配置以执行上文相对于框1505所论述的功能中的一或多者。接收器确定编码参数电路1560可包含可编程芯片、处理器、存储器和网络接口中的一或多者。举例来说,接收器确定编码参数电路1560可包含处理器204。在一些实施方案中,用于确定接收器确定编码参数的装置可包含接收器确定编码参数电路1560。
[0341] 在一些实施方案中,置信度得分确定电路1575可经配置以执行上文相对于框1530和/或1540所论述的功能中的一或多者。置信度得分确定电路1565可包含可编程芯片、处理器、存储器和网络接口中的一或多者。举例来说,置信度得分确定电路1565可包含处理器204。在一些实施方案中,用于确定置信度得分的装置可包含置信度得分确定电路
1565。
[0342] 在一些实施方案中,发射器确定编码参数电路1570可经配置以执行上文相对于框1510和/或1520所论述的功能中的一或多者。发射器确定编码参数电路1570可包含可编程芯片、处理器、存储器和网络接口中的一或多者。举例来说,发射器确定编码参数电路1570可包含处理器204。在一些实施方案中,用于确定发射器确定编码参数的装置可包含发射器确定编码参数电路1570。
[0343] 在一些实施方案中,混合编码参数确定电路1575可经配置以执行上文相对于框1515、1525和/或1540所论述的功能中的一或多者。发射混合编码参数确定电路1575可包含可编程芯片、处理器、存储器和网络接口中的一或多者。举例来说,混合编码参数确定电路1575可包含处理器204。在一些实施方案中,用于确定混合编码参数的装置可包含混合编码参数电路1575。
[0344] 图16A图解说明用于确定编码参数的方法的过程流程图。在一些方面中,过程1600利用抖动信息作为辅助信息以用于动态位速率适配的目的。抖动信息可用以当满足某些条件时加速编码或发射速率增加或减小。
[0345] 在一实施例中,过程1600可由图2中图解说明的无线装置202执行。在一些方面中,过程1600可由编码且发射关于网络的信息的节点或装置执行。所述编码或发射节点可确定编码速率。举例来说,所述编码或发射节点可执行如上文相对于图5A和6A所描述的过程500和/或过程600。在一些方面中,过程1600可由确定用于发射或编码节点的编码参数的接收节点执行。所述接收节点可执行过程1300和/或1400中的一或多者。因此,在各种方面中,过程1600可作为框510、615、620、1310和/或1415中的一或多者的部分而执行。
[0346] 一些实施方案界定至少两个抖动阈值:
[0347] 用于速率减小的抖动阈值
[0348] 用于速率增加的抖动阈值
[0349] 以上抖动阈值可基于在下方界定的分类之后每一包的间隔到达抖动的移动平均而确定。
[0350] 在移动窗中包含当前间隔到达抖动值以在如下条件下计算
[0351] B<(1-α)R或
[0352] 且通过移动平均滤波计算
[0353] 否则,在移动窗中包含当前间隔到达抖动值以在如下条件下计算
[0354] B>(1-β)R且 B<(1-β)R且
[0355] 且通过移动平均滤波计算
[0356] 其中
[0357] B:测得的处理量或估计
[0358] R:编码速率
[0359] D0:网络中缓冲的数据量
[0360] 用以考虑速率增加的网络中缓冲的数据量的阈值
[0361] 用以考虑速率减小的网络中缓冲的数据量的阈值
[0362] α,β:设计参数
[0363] 由于可以可用的某一数据量来改善抖动数据的滤波,因此在一些实施方案中初始数据可用以训练抖动阈值。在这些实施方案中,当移动平均抖动值正在训练时可不执行进一步调整编码参数的抖动阈值的使用。当移动平均抖动值在训练周期之后变为可用时所测得的网络抖动可用以进一步减小或增加速率。举例来说,在一些实施方案中当以下情况时可使用网络抖动:
[0364] 1.当处理量或带宽和或损耗和或延迟指示应减少编码或发射速率时,确定当前间隔到达抖动J是否满足以下条件:
[0365]
[0366] 如果满足此条件,那么将编码或发射速率进一步减少Δdec。
[0367] 2.当处理量或带宽和或损耗和或延迟指示应增加编码或发射速率时,确定当前间隔到达抖动J是否满足以下条件:
[0368] 目 且B≈R
[0369] 如果满足此条件,那么将编码速率进一步增加Δinc。
[0370] 上述方法的一个实例实施方案图解说明为过程1600且在图16A中展示。在一些方面中,过程1600由图2中所示的无线装置202执行。过程1600可在一些方面中作为过程500的框510和/或过程600的框620和/或过程1300的框1310和/或过程1400的框1420的部分而执行。
[0371] 在框1605中,确定对编码参数的第一调整。在一些方面中,确定不同于现有编码参数的编码参数可表示对编码参数的调整。在框1610中,确定网络抖动。网络抖动在一些实施方案中可为包间隔到达抖动。在一些其它方面中,网络抖动可为经滤波网络抖动信息。
[0372] 框1615确定所述第一调整是否将增加发射速率。举例来说,在一些方面中,过程500、600、1300或1400中的一或多者可确定编码参数在应用的情况下将导致利用所确定编码参数的编码节点的发射速率的增加。在此情况下,过程1600从决策框1615移动到决策框1620。在框1620中,将网络抖动与第一抖动阈值进行比较。如果网络抖动小于第一抖动阈值,那么过程1600移动到框1630,其中确定进一步增加发射速率的对编码参数的第二调整。在一些方面中,在框1625中调整的编码参数也在框1605中调整。举例来说,在一些方面中,编码位速率在框1605中增加并且还进一步在框1625中增加。在一些其它方面中,在框1605中可调整容错性参数且在框1625中可调整时间适配参数和/或空间适配参数。在各种方面中,在框1625中调整的一或多个编码参数与在框1605中调整的一或多个编码参数重叠或不重叠。
[0373] 如果第一调整并不增加发射速率,那么框1630确定所述第一调整是否减小发射速率。如果第一调整的确减小发射速率,那么在框1635中将网络抖动与第二抖动阈值进行比较。网络抖动大于第二抖动阈值,则确定对编码参数的第二调整以进一步减小发射速率。如果网络抖动小于第二抖动阈值,那么过程1600从框1635移动到框1645。在一些方面中,第二抖动阈值高于第一抖动阈值。
[0374] 在框1645中,应用所述一或多个经调整编码参数。如果过程1600是在编码或发射节点上执行,那么应用经调整编码参数可包含基于经调整编码参数而编码和/或发射数据。如果过程1600是在接收节点上执行,那么应用经调整编码参数可包含将经调整编码参数的指示发射到编码或发射节点。
[0375] 图16B展示用于无线通信设备的功能框图。所属领域的技术人员将了解无线通信设备可具有比图2中所示的简化无线通信设备202多的组件。展示的无线通信设备1650仅包含可用于描述权利要求书的范围内的实施方案的一些显要特征的那些组件。在一些方面中,设备1650可包含设备550、650、850、950、1150、1350、1450或1550的组件或电路中的一或多者。无线通信设备1650可包含主要编码调整电路1655、抖动确定电路1660、辅助编码调整电路1665和抖动阈值设定电路1670。
[0376] 在一些实施方案中,主要编码调整电路1655可经配置以执行上文相对于框1605所论述的功能中的一或多者。主要编码调整电路1655可包含可编程芯片、处理器、存储器和网络接口中的一或多者。举例来说,主要编码调整电路1655可包含处理器204。在一些实施方案中,用于确定对编码参数的第一调整的装置可包含主要编码调整电路1655。
[0377] 在一些实施方案中,抖动确定电路1660可经配置以执行上文相对于框1610所论述的功能中的一或多者。抖动确定电路1660可包含可编程芯片、处理器、存储器和网络接口中的一或多者。举例来说,抖动确定电路1660可包含处理器204。在一些实施方案中,用于确定网络抖动的装置可包含抖动确定电路1660。
[0378] 在一些实施方案中,辅助编码调整电路1665可经配置以执行上文相对于框1625和/或1640所论述的功能中的一或多者。辅助编码调整电路1665可包含可编程芯片、处理器、存储器和网络接口中的一或多者。举例来说,辅助编码调整电路1665可包含处理器204。在一些实施方案中,用于对编码参数应用第二调整的装置可包含辅助编码调整电路
1665。
[0379] 在一些实施方案中,抖动阈值设定电路1670可经配置以执行上文相对于框1670所论述的功能中的一或多者。抖动阈值设定电路1670可包含可编程芯片、处理器、存储器和网络接口中的一或多者。举例来说,抖动阈值电路1670可包含处理器204。在一些实施方案中,用于确定网络抖动是否高于或低于阈值的装置可包含抖动阈值设定电路1670。贯穿本发明,网络节点可被称为发射器、接收器、发射节点或接收节点。虽然大部分网络节点发射且接收数据,但本发明内这些术语的使用既定指代在正通过本文所描述的方法管理其发射速率或编码速率的单向数据流的交换中的节点相应作用。举例来说,发射器或发射节点是发射正通过所揭示的方法管理其速率的单向数据流的节点。接收器或发射节点是接收正通过所揭示的方法管理其速率的单向数据流的节点。词“发射器”和“接收器”也可以用于指硬件组件,例如发射器210和接收器212。然而,所属领域的技术人员可容易(例如)基于所述词使用的上下文来在发射节点与发射器210之间进行区分。
[0380] 如本文所用,术语“确定(determine或determining)”包含广泛多种动作。举例来说,“确定”可包含推算、计算、处理、导出、研究、查找(例如,在表、数据库或另一数据结构中查找)、断定等等。而且,“确定”可包含接收(例如,接收信息)、存取(例如,在存储器中存取数据)等等。而且,“确定”可包含解析、选择、挑选、建立等等。
[0381] 如本文所用,术语“提供(provide或providing)”包含广泛多种动作。举例来说,“提供”可包含将值存储于位置中以用于后续检索,将值直接发射到接收方,发射或存储值的参考,及其类似者。“提供”还可包含编码、解码、加密、解密、验证、检验及其类似者。
[0382] 如本文所使用,涉及项目列表中的“至少一者”的短语是指那些项目的任何组合,包含单个成员。作为实例,“a、b或c中的至少一者”意在涵盖:a、b、c、a-b、a-c、b-c和a-b-c。
[0383] 上文所描述的方法的各种操作可由能够执行所述操作的任何合适装置(例如,各种硬件和/或软件组件、电路和/或模块)执行。一般来说,各图所说明的任何操作可由能够执行所述操作的对应功能装置执行。
[0384] 可使用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列信号(FPGA)或其它可编程逻辑装置(PLD)、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文所描述的功能的任何组合来实施或执行结合本发明而描述的各种说明性逻辑块、模块和电路。通用处理器可为微处理器,但在替代例中,处理器可为任何市售处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、一或多个微处理器与DSP核心的联合,或任何其它此类配置。
[0385] 在一个或一个以上方面,所描述功能可以硬件、软件、固件或其任何组合来实施。如果实施于软件中,那么可将功能作为一或多个指令或代码存储在计算机可读媒体上或经由计算机可读媒体进行传输。计算机可读媒体包含计算机存储媒体与包含促进计算机程序从一处传递到另一处的任何媒体的通信媒体两者。存储媒体可为可由计算机存取的任何可用媒体。举例来说且并非限制,所述计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于载运或存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。同样,任何连接可恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或无线技术(例如红外线、无线电和微波)从网站、服务器或其它远程源传输软件,那么所述同轴电缆、光纤电缆、双绞线、DSL或无线技术(例如红外线、无线电和微波)包含在媒体的定义中。如本文所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘用激光以光学方式复制数据。因此,在一些方面中,计算机可读媒体可包括非暂时性计算机可读媒体(例如,有形媒体)。另外,在一些方面中,计算机可读媒体可包括暂时计算机可读媒体(例如,信号)。上文的组合也应包含在计算机可读媒体的范围内。
[0386] 本文中所揭示的方法包括用于实现所描述的方法的一或多个步骤或动作。在不偏离权利要求书的范围的情况下,方法步骤及/或动作可互换。换句话说,除非规定了步骤或动作的特定次序,否则在不偏离权利要求书的范围的情况下可对特定步骤及/或动作的次序及/或用法加以修改。
[0387] 类似地,上文所描述的信号包含可用于各种实施方案中的一或多个字段。信号可包含额外字段、较少字段及/或替代字段布置,而不偏离权利要求书的范围。
[0388] 所描述的功能可以硬件、软件、固件或其任何组合实施。如果以软件实施,那么可将所述功能作为一个或一个以上指令存储在计算机可读媒体上。存储媒体可为可由计算机存取的任何可用媒体。举例来说且并非限制,所述计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于载运或存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。如本文所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及Blu- 光盘,其中磁盘通常以磁性方式复制数据,而光盘使用激光以光学方式复制数据。
[0389] 因此,某些方面可包括用于执行本文中所呈现的操作的计算机程序产品。举例来说,此计算机程序产品可包括存储有(和/或编码有)指令的计算机可读媒体,所述指令可由一或多个处理器执行以执行本文所描述的操作。对于某些方面,计算机程序产品可包含封装材料。
[0390] 也可经由传输媒体来传输软件或指令。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线路(DSL)或无线技术(例如,红外线、无线电及微波)从网站、服务器或其它远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或无线技术(例如,红外线、无线电及微波)包含在传输媒体的定义中。
[0391] 此外,应了解用于执行本文中所描述的方法及技术的模块及/或其它适当装置可在适当时由编码装置及/或解码装置下载及/或以其它方式获得。举例来说,可将此装置耦合到服务器以有利于传送用于执行本文中所描述的方法的装置。或者,可经由存储装置(例如,RAM、ROM、例如压缩光盘(CD)或软盘等等物理存储媒体等等)来提供本文所描述的各种方法,使得用户终端和/或基站可在将存储装置耦合或提供到所述装置后即获得所述各种方法。此外,可利用用于将本文中所描述的方法及技术提供到装置的任何其它合适的技术。
[0392] 应理解,权利要求书不限于上文所说明的精确配置及组件。在不偏离权利要求书的范围的情况下,可在上文所描述的方法和设备的布置、操作和细节中作出各种修改、改变和变化。
[0393] 虽然前述内容是针对本发明的各方面,但在不偏离本发明的基本范围的情况下,可设计出本发明的其它及另外方面,且由所附权利要求书确定本发明的范围。
QQ群二维码
意见反馈