有效负载,通常也被称作实际数据或者数据体,指的是数据传送中的货物。它是被传输数据中的一部分,而这部分才是数据传输的最基本的目的,和有效负载一同被传送的数据还有:数据头或称作元数据,有时候也被称为开销数据,这些数据用来辅助数据传输。
NetEQ模块基本上可以分为自适应缓冲器、语音解码器、抖动控制和丢包隐藏已经播放(PlayOut)四大部分
抖动控制(Jitter Control)和丢包隐藏(error concealment)模块由三大主要操作组成:
Expansion 扩展操作、Normal 正常播放操作and Accelerate加速操作
MCU(Micro Control Unit)模块是抖动缓冲区的微控制单元。控制新到达的数据包插入在缓冲区的位置,控制什么时候输出什么位置的数据包。
静态抖动缓冲控制算法:缓冲区的大小在语音通话建立后保持不变,对于抖动超出缓冲区大小的数据包会被丢弃。
优点:算法模型简单
缺点:网络抖动大,丢包率高;网络抖动小,语音延迟大。
自适应缓冲控制算法:缓冲区大小根据实际网络的抖动情况而变化,考虑多网络状态的多样化,缓冲区一般设置为自适应的。
网络延时高,调大缓冲区。延迟小,降低缓冲区。
缺点:算法多样模型复杂
优点:网络抖动大,丢包率较低;网络抖动小,语音延迟相对较小。
丢包隐藏原理:
丢包隐藏又叫丢包补偿,即Packet Loss Concealment,简称PLC。
Internet Low Bit Codec,简称iLBC,采用8kHZ采样率,有20ms和30ms两种编码的格式。
iLBC的丢包在解码段进行处理,iLBC在拿到每帧的比特流时判断是否完善,如果有丢包就进入PLC单元处理。