发明名称 一种终端均衡速率的无线音视频并行传输方法
摘要 本发明涉及一种终端均衡速率的无线音视频并行传输方法。现有的方法在通过多个网络并行传输时,无法根据不同网络的特性,将音视频码以合适的速率通过不同网络并行传输,造成不同网络间的负载不均衡,降低了QoS质量。本发明提出的音视频数据实时传输方法基于多网络接口的多模终端,多模终端估计网络延时和丢包率等参数,智能地将音视频数据分配至多个无线网络,在各网络上以不同的速率并发地传输音视频码流。本发明通过多模终端收集的信息,估计网络的参数,将音视频码流以适合的速率分配到不同网络传输,充分利用多个网络提高传输能力,均衡各个网络的负载,防止网络拥塞,提高QoS质量。
申请公布号 CN102665142B 申请公布日期 2014.05.14
申请号 CN201210096448.9 申请日期 2012.04.05
申请人 浙江大学 发明人 陈惠芳;谢磊;洪钧煌
分类号 H04N21/647(2011.01)I;H04N21/2343(2011.01)I;H04W28/02(2009.01)I;H04W88/06(2009.01)I 主分类号 H04N21/647(2011.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 1.一种终端均衡速率的无线音视频并行传输方法,其特征在于该方法包括如下步骤:步骤(1)将输入多模终端的H.264编码的音视频码流分割及重组成具有不同传输优先级的码流,分割与重组的具体方法是:a)将音视频码流中的音频帧单独重组成音频码流,将视频帧中的I帧重组成高优先级视频码流,将视频中的其他帧重组为低优先级视频码流;b)将重组后的音频码流和高优先级的视频码流进行封包处理,放入高优先级传输队列;将重组后的低优先级视频码流进行封包处理,放入低优先级传输队列;步骤(2)在多模终端侧建立多条无线传输链路,具体方法是:c)多模终端接入适配模块监听多个网络接口,将网络接口状态、可接入网络标示符、信号强度信息发送到终端信息收集模块;d)终端信息收集模块根据网络标示符查询数据库,获取不同网络相应的资费信息,建立当前可接入网络列表;所述的可接入网络列表包含每个可接入网络的平均速率和资费信息;e)连接管理模块根据用户配置信息和上层应用QoS要求,在可接入网络列表中选择多路接入网络进行接入,并将选择的结果发送到接入适配模块;所述的用户配置信息包括用户对网络资费的承受范围,用户设定的拒绝连接网络的黑名单;所述的上层应用QoS要求是指应用程序为保证服务质量需要的最低传输速率;f)接入适配模块接收到连接管理模块的接入网络选择结果后,在相应的网络接口上初始化连接,在连接建立后,将连接结果返回至连接管理模块;g)连接管理模块根据收到的连接结果建立已连接网络列表,根据信息收集模块反馈的网络状态、用户配置或业务需求的变化信息执行网络切换,并更新连接网络列表;步骤(3)音视频码流通过步骤(2)中建立的多个网络进行传输,具体是:h)在传输初始阶段时,高优先级传输队列的数据选择已连接网络中的第一个网络进行传输,每个网络都以设定的初始速率R<sub>0</sub>传输低优先级发送队列的数据;所述的传输初始阶段,是指音视频码流在通过已连接网络进行传输时,传输速率采用设定的默认值的阶段;步骤(4)音视频数据包在经不同的网络接口发送之前加入包序号和时间戳,并加入相应网络接口的移动IP信息;接收端根据包序号和时间戳将数据包重组为音视频码流,并通过数据包中的移动IP信息向发送该数据包的终端网络接口返回ACK包;步骤(5)接入适配模块收集各个已建立连接的网络接口接收到的ACK包;根据接收到的ACK包,对每个网络链路进行延时估计和丢包率计算,具体是:k)当从一个网络链路上接收到第n个ACK包时,根据从发送数据包到接收该数据包的ACK包之间所经历的时间τ<sub>n</sub>,接收第n-1个ACK包时估计的往返时间,估计第n个ACK包的往返时间t<sub>rtt</sub>(n)如下:t<sub>rtt</sub>(n)=αt<sub>rtt</sub>(n-1)+(1-α)τ<sub>n</sub>估计该链路的延时时间t<sub>out</sub>如下:d<sub>rtt</sub>(n)=βd<sub>rtt</sub>(n-1)+(1-β)|τ<sub>n</sub>-t<sub>rtt</sub>|t<sub>out</sub>=t<sub>rtt</sub>+4d<sub>rtt</sub>其中α为往返时间估计值t<sub>rtt</sub>的平滑因子,d<sub>rtt</sub>为往返时间和链路延时的估计偏差,β为估计偏差d<sub>rtt</sub>的平滑因子;l)接入适配模块周期性地统计各条网络链路发送的包数和收到确认的包数,并估计链路的丢包率P(m)估计如下:P'(m)=(发送的包数-收到确认的包数)/发送的包数对丢包率进行平滑处理:P(m)=P'(m)    m=0P(m)=λP(m-1)+(1-λ)P'(m)  m&gt;0m表示估计值为第m个统计周期的估计值,λ为平滑因子;用平滑后的P(m)做丢包率的估计值;所述的发送的包数是指在一个周期内,通过该网络链路发送的数据包数;所述的收到确认的包数是指在一个周期内,通过该网络链路收到的ACK包数;步骤(6)接入适配模块将各个连接网络的估计延时和丢包率发送到连接管理模块,连接管理模块以周期T启动速率均衡模块进行速率均衡;根据步骤(5)所估计的延时和丢包率,均衡的步骤如下:m)将已连接网络按步骤(5)计算得到的估计延时按低到高的顺序排列,依次分配速率;n)设定阈值0&lt;K<sub>1</sub>&lt;K<sub>2</sub>,第i个网络的速率分配如下:<maths num="0001"><![CDATA[<math><mrow><msub><mi>R</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>min</mi><mo>{</mo><msub><mi>R</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>AIR</mi><mo>,</mo><msubsup><mi>R</mi><mi>i</mi><mi>max</mi></msubsup><mo>,</mo><msub><mi>R</mi><mi>max</mi></msub><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>R</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>}</mo><mo>,</mo><msub><mi>P</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>K</mi><mn>1</mn></msub></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><mi>R</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>max</mi><mo>{</mo><mi>&mu;R</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><msubsup><mi>R</mi><mi>i</mi><mi>min</mi></msubsup><mo>}</mo><mo>,</mo><msub><mi>P</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>></mo><msub><mi>K</mi><mn>2</mn></msub></mrow></math>]]></maths>R<sub>i</sub>(k)=R<sub>i</sub>(k-1)  其他k表示分配结果为第k个均衡周期的分配结果;其中<img file="FDA0000459919680000034.GIF" wi="86" he="67" />为设定的第i个网络的最小传输速率,支持高优先级码流传输;<img file="FDA0000459919680000035.GIF" wi="95" he="67" />为设定的第i个网络的最大传输速率;R<sub>max</sub>为设定的最大传输速率和,支持传输所有码流;AIR为速率线性增加的部分,μ为速率降低系数;P<sub>i</sub>(n)为第i个网络的丢包率估计值;步骤(7)速率均衡模块将速率分配结果发送到连接管理模块,连接管理模块检测发送速率<img file="FDA0000459919680000033.GIF" wi="216" he="125" />是否能承载源端视频码率R<sub>s</sub>;若R<sub>T</sub>≥R<sub>s</sub>,表明发送速率能承载源端视频码率;若R<sub>T</sub>&lt;R<sub>s</sub>,表明发送速率不能承载源端视频码率;当发送速率不能承载源端视频码率时,丢弃低优先级发送队列前端(R<sub>S</sub>-R<sub>T</sub>)T大小的数据;连接管理模块根据步骤(6)中的分配结果,分配音视频码流通过已连接的多个网络传输;步骤(8)接收端从各个链路接收数据,根据数据包中的包序号和时间戳,重组恢复码流;根据数据包中的移动IP信息,向相应链路的网络接口返回ACK包。
地址 310027 浙江省杭州市西湖区浙大路38号