一种丢包补偿的方法和实现丢包补偿的装置及系统制造方法及图纸

技术编号:3543792 阅读:347 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种丢包补偿方法和实现丢包补偿的装置及系统,该方法用于数据帧的传输,包括:获取数据帧的丢帧情况;根据所述丢帧情况和丢包补偿算法对数据帧进行丢包补偿处理,并将经过丢包补偿处理的所述数据进行压缩编码后存储;其中,在丢包补偿算法中,需要使用编码后存储的数据时,对所述数据进行解码。采用本发明专利技术实施例提供的方案,由于在数据存储在静态空间时,增加了一个编解码过程,使得存储的数据量降低了,节省了该方法中对静态空间的需求。

【技术实现步骤摘要】

本专利技术涉及数据通讯领域,尤其涉及一种丢包补偿的方法和实现丢包补偿 的装置及系统。
技术介绍
G711语音编解码算法是一种采用脉冲编码调制(Pulse Code Modulation, PCM)技术,对8K采样率语音的压缩编码技术,是当前公共电话网络上使用最 为广泛的语音编解码算法。在因特网协议承栽语音(Voice over Internet Protocol, VoIP)处理过程中,常常以10ms的语音数据作为G.711编解码所处理的最小时 间间隔,因为在网络当中存在着诸多情况引起的丟包,所以G.711附录I为使用 者提供一种行之有效的丟包补偿算法。当前G.711附录I所描述的丢包补偿算法,是基于lOms作为一个数据帧长 度的。在整个设计当中设置两个较大的数据緩沖区history[390]*16bit, pitchbuf[390]*16bit。其中緩沖区history[390]中保存了已经播放的48.75ms的数 据,用来对接下来可能发生的丢失的1~6包进行补偿,同时也用来緩存3.75ms 的数据结果,以进行更好的语音平滑。緩沖区pitchbuf!390]只是在丢包中才进行 运算,在不丟包时不做任何改动,同时丟包时的输出数据也不对其进行更新。在实现本专利技术过程中,专利技术人发现,在上述方案中,history和pitchbuf都是 静态数据空间,在多通道同时编解码的方案当中,这两个緩冲区只能为本通道 服务,不能够被其他的通道或者计算所公用。因此,当通道数目较多时,将为 每个通道都分配静态数据空间,这样多个通道将占用很多的静态空间。
技术实现思路
本专利技术所要解决的技术问题在于,提供一种用于丢包补偿的方法和实现丟 包补偿的装置及系统。可节省丟包补偿中需要的数据存储空间。为此, 一方面,本专利技术的实施例提供了一种丟包补偿方法,所述方法用于数据帧的传输,包括获取数据帧的丟帧情况;根据所述丟帧情况和丢包补偿 算法对数据帧进行丢包补偿处理,并将经过丢包补偿处理的所述数据帧进行压 缩编码后存储;其中,在丢包补偿算法中,需要使用编码后存储的数据帧时, 对所述数据帧进行解码。另一方面,本专利技术的实施例提供了一种实现丟包补偿的装置,所述装置用 于根据数据帧传输中的丢包情况进行丢包补偿,该装置包括获取模块,用于 获取数据帧的丢帧情况;处理模块,用于才艮据所迷丟帧情况和丟包补偿算法对 数据帧进行丟包补偿处理,其中,在丢包补偿算法中,需要使用编码后存储的 数据帧时,对所述数据帧进行解码;编码存储模块,用于将经过丢包补偿处理 的数据帧进行压缩编码后存储。另一方面,本专利技术的实施例提供了一种实现丢包补偿的系统,所述系统用 于才艮据数据帧传输中的丢包情况进行丢包补偿,所述系统包括获取模块,用于获取数据帧的丢帧情况;编解码模块,用于根据所述丢帧情况和丢包补偿算法对数据帧进行丢包补 偿处理,并将经过丟包补偿处理的数据帧进行压缩编码后存储,其中,在丢包 补偿算法中,需要使用编码后存储的数据帧时,对所述数据帧进行解码。采用本专利技术实施例提供的方案,由于在数据存储在静态空间时,增加了一 个编解码过程,使得存储的数据量降低了,节省了该方法中对静态空间的需求。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述 中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付 出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例中丢包补偿方法的一个具体实施例的流程示意图; 图2是本专利技术实施例中丢包补偿方法的另 一个具体实施例的流程示意图; 图3是本专利技术实施例中实现丢包补偿装置的一个具体实施例的组成示意图 图4是图3中处理模块的一个具体实施例的组成示意图; 图5是图3中编码存储;^莫块的一个具体实施例的组成示意图; 图6是本专利技术实施例中丢包补偿系统的一个具体組成示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是 全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为了降低丢包补偿算法中相应緩沖区占用的静态存储空间,本专利技术实施例中提供了一种丢包补偿方法,用于数据帧的传输,如图l所示,该方法包括101、 获取数据帧的丢帧情况。102、 根据所述丢帧情况和丢包补偿算法对数据帧进行丢包补偿处理;其中, 在丢包补偿算法中,需要^f吏用编码后存储的数据帧时,对所述数据帧进行解码。103、 将经过丢包补偿处理的所述数据帧进行压缩编码后存储。。下面基于G.711附录I对本专利技术实施例中所描述的丢包补偿方法进行进一步 描述。在本实施例中,上述103中所指的存储的数据帧,可以是指G.711中定义的 緩沖区history和pitchbuf中存储的数据。在G.711中解码所需要的静态存储空 间为817*16bit,其中有3%*2*16bit的空间为第一緩冲区(或称为history)和第 二緩沖区(或称为pitchbuf),其余为其他变量的存储区。A中所指的压缩编码 在此例中具体可为将16bit数据编码转换为8bit数据。若原来的緩冲区是用16bit 的数字信号(Digital Signal Processor, DSP)实现的,那么经过编码后的数据可 以通过组合存储的方式,将8bit数据存储在16bit的DSP中。这样就可以将緩 冲区history和pitchbuf存储空间各减去一半,达到节省存储空间的目的。如图2所示,为本专利技术实施例中丢包补偿方法的实现流程图。在该流程中, 根据丢帧的情况不同,进行不同的处理,图中以6条带箭头的黑色曲线i兑明6 种不同的处理流程。且以H简称history緩冲区。0、 当判断当前帧和当前帧的前一帧都不是丢帧时,按流程0处理。具体包 括使用新接收的数据帧更新history中存储的数据,并对该数据帧进行3.75ms 的延时后再解码输出。1、 当判断当前帧不是丟帧,但是上一帧是丟帧时,按流程1处理。具体包 括对当前接收的数据帧进行解码;对存储在history中的数据帧进行解码; 根据history中存储的数据解码后的结果,对当前数据帧解码后的数据帧进 行平滑,以得到更好的语音质量;然后对平滑后的数据帧进行3.75ms的延时,以便进行输出;同时,对平滑后的数据帧进行压缩编码,如将16bit数据帧编码为8bit数据帧;将编码后的数据帧存储在history中。2、 当判断当前帧是丢帧,而且是第一次丢帧时,按流程2处理。具体包括 根据history中的数据更新pitchbuf中的数据帧,即保持第一次丟包时pitchbuf和history中存储的数据帧的一致性;接下来对更新后的pitchbuf (或history)中的数据帧进行解码,解码后的数 据帧可存储在一个临时緩沖区中,如定义一个pitchbuf一tmp[390]临时緩冲区。再利用临时緩沖区中存储的数据帧,计算得到基周期,并将临时緩沖区中 最后1/4基周期长度的数据帧保存到緩冲区lastq[30]当中,并对这1/本文档来自技高网...

【技术保护点】
一种丢包补偿方法,所述方法用于数据帧的传输,其特征在于,所述方法包括: 获取数据帧的丢帧情况; 根据所述丢帧情况和丢包补偿算法对所述数据帧进行丢包补偿处理,并将经过所述丢包补偿处理的数据帧进行压缩编码后存储; 其中,在所述丢包补偿算法中,当需要使用编码后存储的所述数据帧时,对所述数据帧进行解码。

【技术特征摘要】
1、一种丢包补偿方法,所述方法用于数据帧的传输,其特征在于,所述方法包括获取数据帧的丢帧情况;根据所述丢帧情况和丢包补偿算法对所述数据帧进行丢包补偿处理,并将经过所述丢包补偿处理的数据帧进行压缩编码后存储;其中,在所述丢包补偿算法中,当需要使用编码后存储的所述数据帧时,对所述数据帧进行解码。2、 如权利要求l所述的方法,其特征在于,所述根据所述丟帧情况和丟包 补偿算法对所述数据帧进行丢包补偿处理,并将经过所述丢包补偿处理的数据 帧进行压缩编码后存储的步骤包括当所述丢帧情况为当前凄t据帧不是丢帧,所述当前数据帧的前一数据帧是 丟帧时,根据第一处理策略对当所述前数据帧进行所述丟包补偿处理; 将经过丢包补偿处理的当前数据帧进行压缩编码后存储在第 一緩沖区。3、 如权利要求2所述的方法,其特征在于,所述根据第一处理策略对所述 当前数据帧进行所述丟包补偿处理包括对所述当前数据帧进行解码; 对存储在所述第 一緩冲区的数据帧进行解码;根据所述第 一緩冲区中解码后的数据帧对所述当前数据帧解码后的数据帧 进行平滑;对经过平滑后的数据帧进行延时。4、 如权利要求l所述的方法,其特征在于,所述根据所述丟帧情况和丟包 补偿算法对所述数据帧进行丢包补偿处理,并将经过所述丢包补偿处理的数据 帧进行压缩编码后存储的步骤包括当所述丟帧情况为所述当前数据帧是第一次丟帧时,4艮据第二处理策略对 所述当前数据帧进^f亍丢包补偿处理; 将经过所述丟包补偿处理的当前数据帧进行压缩编码后存储在第一緩冲区 和第二緩冲区。5、 如权利要求4所述的方法,其特征在于,所述根据第二处理策略对所述 当前数据帧进行丢包补偿处理包括根据所述第 一緩冲区的数据帧更新第二緩沖区;对所述更新后的第二緩冲区的数据帧进行解码,并根据解码后的数据帧获 得基周期;将更新后的第二緩沖区中的数据帧的最后1/4基周期长度的数据进行平滑; 将平滑后的数据替换所述第二緩沖区中相应的最后1/4基周期长度的数据, 得到替换后的数据帧;根据替换后的数据帧计算出补偿的数据帧; 对所述需要补偿的数据帧进行延时。6、 如权利要求l所述的方法,其特征在于,所述根据所述丢帧情况和丟包 补偿算法对所述数据帧进行丢包补偿处理,并将经过所述丢包补偿处理的数据 帧进行压缩编码后存储的步骤包括当所述丟帧情况为当前数据帧是第二次或第三次丟帧时,根据第三处理策 略对所述'当前数据帧进行丢包补偿处理;将经过所述丢包补偿处理的当前数据帧进行压缩编码后存储在第一緩冲区 和第二緩冲区。7、 如权利要求6所述的方法,其特征在于,所述根据第三处理策略对当前 数据帧进行丢包补偿处理包括对所述第一緩冲区或第二緩沖区的数据帧进行解码; 对解码后的数据帧进行相应的更新; 根据更新后的数据帧计算出补偿数据帧;对所述补偿数据帧和第一緩冲区中解码获得数据帧叠加后进行平滑,并进 行延时。8、 如权利要求l所述的方法,其特征在于,所述根据所述丟帧情况和丢包 补偿算法对所述数据帧进行丢包补偿处理,并将经过所述丟包补偿处理的数据 帧进行压缩编码后存储的步骤包括当所述丟帧情况为所述当前数据帧是第四、五或六次丟帧时,才艮据第四处 理策略对所述当前数据帧进行丢包补偿处理;将经过所述丢包补偿处理的当前数据帧进行压缩编码后存储在第 一緩沖区 和第二緩冲区。9、 如权利要求8所述的方法,其特征在于,所述根据第四处理策略对当前 数据帧进行丟包补偿处理包括对所述第一緩冲区或第二緩冲区的数据帧进行解码; 根据解码后的数据帧计算出相应的补偿结果,对整体数据帧进行平滑处理 后延时。10、 一种实现丟包补偿的装置,所述装置用于根据数据帧传输中的丢包情 况进行...

【专利技术属性】
技术研发人员:朝鲁檬
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1