一种语音数据的编解码方法技术

技术编号:15194260 阅读:184 留言:0更新日期:2017-04-20 15:59
本发明专利技术主要披露了一种语音数据的编解码方法,包括以下操作步骤a:对信道端发送的语音数据进行编码,得到语音信息包Ss;步骤 b:在信息包Ss头部添加包长度和时间戳信息,得到扩展信息包Ss'并将其压入语音队列;步骤c:对信息包Ss'选择RS编码模式,进行RS纠错编码,生成冗余包Rs,并在Rs头部添加相关保护信息得到扩展冗余包Rs',并进一步将信息包Ss和扩展冗余包Rs'组合封装生成组合包;步骤d:在信道接收端,根据接收到的信息包和冗余包对丢失的信息包进行RS丢包恢复。信道接收端对收到的组合包进行拆包和校验过程,如果关联信息包数量SN与关联冗余包数量RN之和大于等于k数值时,转至丢包恢复操作后解码。本发明专利技术方法在接收端检测出错包是否能被恢复,能则立即恢复,进一步减小延时,有效修复网络丢包、延时、抖动引起的语音质量问题。

【技术实现步骤摘要】

本专利技术属于网络电话
,尤其涉及网络电话的语音处理技术。
技术介绍
随着网络技术日新月异的发展,作为当下最为热门的互联网技术之一的流媒体技术,是提供我们可以快速高保真的分享图像、音频、视频等多媒体文件的基础。在流媒体技术中,由于网络等外部原因,数据包丢失、乱序、延时到达等出错现象不可避免。而语音文件对网络质量最为敏感,如果音频文件的包出错,比如包的丢失、乱序、延时等达到一定程度,则严重影响接收端的语音听觉效果,出现抖动,噪声,语音模糊,严重时甚至无法识别语音内容。为了保证发送音频在接收端能够正常播放,则需要对音频包出错进行恢复,这一般都是通过在传输的音频包中增加冗余包来实现的。音频纠错编码是一种能够恢复一定数量范围内音频包出错的编码方法。在纠错编码中,用于生成冗余包的每组音频包的数量越多,则能够恢复的出错包数量越多。然而,每组音频包的数量增多则会导致接收延时增加等问题。在传输的带宽一定的情况下,用尽量少的引入延时来达到最大可能恢复发送音频包,则纠错编码效率越高。FEC编码是目前较常采用的一种数据恢复编码,其有较为高效的丢包恢复能力,FEC又分为多种编码实现方式,RS编码是其中最为高效的一种编码方式。然而,目前的FEC编码设计,存在对丢包恢复效果与编码效率之间难以达到平衡的难题。
技术实现思路
本专利技术的目的在于提供一种语音数据的编解码方法,在接收端检测出错包是否能被恢复,能则立即恢复,进一步减小延时,有效修复网络丢包、延时、抖动引起的语音质量问题。为了实现上述专利技术目的,本专利技术一种语音数据的编解码方法包括:步骤a:对信道端发送的语音数据进行编码,得到语音信息包Ss;步骤b:在信息包Ss头部添加包长度和时间戳信息,得到扩展信息包Ss'并将其压入语音队列;步骤c:对信息包Ss'选择RS编码模式,进行RS纠错编码,生成冗余包Rs,并在Rs头部添加相关保护信息得到扩展冗余包Rs',并进一步将信息包Ss和扩展冗余包Rs'组合封装生成组合包;步骤d:在信道接收端,根据接收到的信息包和冗余包对丢失的信息包进行RS丢包恢复。优选的,冗余包Rs头部添加相关保护信息包括:每组数据帧数量、该冗余包的序号、被保护的第一个信息包的序列号、被保护的所有信息包的时间戳信息,得到扩展冗余包Rs'。优选的,所述步骤c之前还包括:信道接收端对收到的所述组合包进行拆包和校验过程。其中,校验过程包括:根据Rs'携带的被保护信息报的时间戳判断是否与Rs'相关联的信息包已全部放入待解码队列,是则将Rs'丢弃,否则将该Rs'压入接收冗余队列末尾。优选的,上述校验过程还包括:取出接收冗余队列中第一个冗余包,根据其携带的被保护信息包的时间戳信息在接收语音队列中找出与该冗余包相关联的信息包,压入FEC解码语音队列,并记找到的关联信息包数量为SN。优选的,上述校验过程还包括:如果SN=k,则根据冗余包中携带的被保护的第一个信息包的序列号从接收冗余队列中找出与该冗余包相关联的冗余包丢弃,清空FEC解码语音队列并转至解码步骤,否则转至寻找关联冗余包步骤。优选的,上述寻找关联冗余包步骤具体是指:根据冗余包中携带的被保护的第一个信息包的序列号从接收冗余队列中找出与该冗余包相关联的冗余包,压入FEC解码冗余队列,记找到的关联冗余包数量为RN。优选的,上述校验过程还包括:如果RN+SN>=k,则转至丢包恢复步骤,否则清空FEC解码语音队列和FEC解码冗余队列并转至解码步骤。优选的,丢包恢复步骤是指:根据冗余包和接收到的信息包对丢失的信息包进行RS丢包恢复,在恢复出来的信息包头部添加序列号,根据序列号将恢复的信息包放至待解码队列的合适位置。本专利技术在发送端根据统计的丢包率,选择生成冗余包的信息包数量即最佳的RS编码模式,从而找出最高效的FECRS编码设计,在接收端检测出错包是否能被恢复,能则立即恢复,有效修复网络丢包、延时、抖动引起的语音质量问题。设计高效的音频FEC编码算法,在冗余包与信息包数量相等时,根据统计的丢包率选择生成合适的冗余包的信息包的数量以实现最佳的包出错恢复效果。本专利技术提供的方案通过在信道发送端发送信息包的同时发送高效编码的FEC冗余包,保证了信道接收端能够对音频传输过程中的包出错进行恢复,从而保证了接收端的音频质量。本专利技术提供的方案在发送冗余包与信息包数量相同的情况下,根据统计的丢包率选择最佳的RS编码模式,即确定RS编码最佳的信息包数量,来进行FEC编码,能够使包出错恢复率得到保证,又能尽量减小引入延时以及降低终端资源占用,从而保证信道接收端音频有较好的质量。本专利技术实例对发送端音频进行RS编码时,在保证丢包恢复概率的前提下,选择信息包数量最小的RS编码模式,减小引入延时、降低终端资源占用,在接收端检测出错包是否能被恢复,能则立即恢复,进一步减小延时,有效修复网络丢包、延时、抖动引起的语音质量问题。本专利技术实例FECRS编码的计算过程中,对部分运算事先制作成为运算表,使得在编解码的过程中部分运算转换为查表的方式,提高了运算效率。附图说明图1为本专利技术具体实施例中对语音数据传输处理的流程。具体实施方式专利技术的基本原理:一种在信道发送端对语音数据进行高效FEC编码的方法,该方法在每一帧语音数据上附加一个FEC冗余数据,通过信道发送。从而实现在较差网络环境下尽可能的减小网络抖动、延时以及对语音数据进行最大概率的恢复,提高了接收端的语音质量。该方法的具体的从根据语音信息数据进行高效FEC编码并根据标准格式进行流媒体包打包后经过信道发送到从信道接收包含音频数据和FEC冗余数据的流媒体包后进行校验纠错。为了更清楚地说明本专利技术实例的技术方案,下面将结合示例图对本专利技术的实施进行详细的介绍,下面的描述仅仅是本专利技术的一些实施例。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些实施例获得本专利技术的其他实施方式。图1为本专利技术具体实施例中对语音数据传输处理的流程。如图1所示,本专利技术的主要内容包括以下操作步骤:步骤S110:设置RSFEC编码模式,确定每组语音数据帧数量k。步骤S120:对信道发送端的语音数据进行编码得到语音信息包{Ss1,Ss2,...,Ssk本文档来自技高网...
一种语音数据的编解码方法

【技术保护点】
一种语音数据的编解码方法,其特征在于,所述方法包括以下操作:步骤a:对信道端发送的语音数据进行编码,得到语音信息包Ss;步骤 b:在所述信息包Ss头部添加包长度和时间戳信息,得到扩展信息包Ss'并将其压入语音队列;步骤c:对所述信息包Ss'选择RS编码模式,进行RS纠错编码,生成冗余包Rs, 并在Rs头部添加相关保护信息得到扩展冗余包Rs', 并进一步将所述信息包Ss和所述扩展冗余包Rs'组合封装生成组合包;步骤d:在信道接收端,根据接收到的信息包和冗余包对丢失的信息包进行RS丢包恢复。

【技术特征摘要】
1.一种语音数据的编解码方法,其特征在于,所述方法包括以下操作:步骤a:对信道端发送的语音数据进行编码,得到语音信息包Ss;步骤b:在所述信息包Ss头部添加包长度和时间戳信息,得到扩展信息包Ss'并将其压入语音队列;步骤c:对所述信息包Ss'选择RS编码模式,进行RS纠错编码,生成冗余包Rs,并在Rs头部添加相关保护信息得到扩展冗余包Rs',并进一步将所述信息包Ss和所述扩展冗余包Rs'组合封装生成组合包;步骤d:在信道接收端,根据接收到的信息包和冗余包对丢失的信息包进行RS丢包恢复。2.根据权利要求1所述的编解码方法,其特征在于,所述信息包Ss和所述冗余包Rs的数量都为k。3.根据权利要求2所述的编解码方法,其特征在于,还包括步骤:所述冗余包Rs头部添加所述相关保护信息包括:每组数据帧数量、该冗余包的序号、被保护的第一个信息包的序列号、被保护的所有信息包的时间戳信息,得到所述扩展冗余包Rs'。4.根据权利要求3所述的编解码方法,其特征在于,所述步骤d之前还包括:所述信道接收端对收到的所述组合包进行拆包和校验过程。5.根据权利要求4所述的编解码方法,其特征在于,所述校验过程包括:根据所述Rs'携带的被保护信息包的时间戳判断与Rs'相关联的信息包是否已全部放入待解码队列,是则将Rs'丢弃,否则将该Rs'压...

【专利技术属性】
技术研发人员:李俣菡黄敬佩徐晓峰李夏宾
申请(专利权)人:深圳市潮流网络技术有限公司
类型:发明
国别省市:广东;44

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

1