目录

丢包补偿技术可以分为两类:基于发送端补偿、基于接受端补偿

基于发送端补偿:前向差错纠正、交织和重传技术

基于接受端补偿:错误隐蔽算法

  • 主动:主动重传
  • 被动:被动通道编码
    • 前向差错纠正技术(FEC)
      • 与媒体无关的方法
      • 利用音频属性的媒体相关方法
    • 基于交织的技术

与媒体无关的前向差错纠正

每个媒体数据包附带k个校验包,校验包的每个bit都是由相关数据包的同位置bit产生的。

下面是4个媒体数据包附带1个校验包:

TODO:疑问:具体怎么从FEC重构出3号包的呢?

优点:该方式补偿与具体的媒体内容无关,计算量小

缺点:不能立即解码,引入延时,带宽增加

媒体相关前向差错纠正

一种简单的抗丢包方式是,采用多个包传送同样的音频单元。一旦丢了一个,信息可以从另外一个包含该单元的恢复出来。

第一个传输的数据包称为主要编码,第二个传输的复本称为次要编码。

次要编码一般为主要编码的较低码率和较低音质的编码。

编码器的选择取决于带宽需求和计算复杂度需求。

如果主要编码器能做到高音质和低码率,那么次要编码器也可以采用和主要编码器一样的方法。

媒体相关前向差错纠正引起了包大小的额外开销:

8kHz PCM U律的主要编码器占用64kb/s带宽,全速率GSM编码的次要编码器占用13.2kb/s带宽,这样就增加了20%的带宽开销。

额外的带宽开销并不是固定而是可变的。分析表明,利用语音的特性,并不需要在每个语音包附加媒体相关前向差错纠正,加上这些策略,可以节省30%的带宽。

媒体相关前向差错纠正的一个好处就是不会引入大的延时,最多也就是一个包的延时。这适合实时交互的应用。

交织技术

当我们考虑比语音包还小的语音单元并且可以承受较大的延时,交织是一种很有用的抗丢包技术。

语音单元在传输之前重新排序,这样在传输流中原来领近的语音单元变成有规律间隔的单元,接收端再按原来的顺序排列回来。

下面将20ms包分为5ms单元:传输的一个丢包变成了分散的多包中的单元丢失。

交织的好处: