一种减少解编码过程中数据传输延时的方法及其装置的制作方法

文档序号:6444973阅读:360来源:国知局
专利名称:一种减少解编码过程中数据传输延时的方法及其装置的制作方法
技术领域
本发明涉及数据传输技术,特别是指一种减少语音解编码过程中数据传输延时的方法及其装置。
背景技术
随着IP承载语音(VoIP,Voice over Internet Protocol)技术的发展和各种网络互联的要求,在语音编码传输的过程中,有时需要语音从一种编码方式转换到另一种编码方式再继续传输,有时甚至会需要多次编码方式的转换。如自适应多速率(AMR,Adaptive Multi-Rate)和G.729、G.723等编码方式之间的转换。
编、解码是一种软件实现的算法。目前,实现语音编码方式转换的方法是用两个处理器级联完成的。如图1所示,一个处理器A作为解码器,另一个处理器B作为编码器。处理器A完成输入的源编码语音包的解码操作,解码模块将输入的语音包进行解码,以标准数据格式传送到串行数据接口模块进行输出;处理器B由串行数据接口模块接收数据,将数据传送给编码模块进行编码,输出所要求格式的目的编码语音包。
在语音编码方式转换过程中,这种级联方式使两个处理器间的数据要经过串行数据接口模块进行传输,串行数据接口模块的作用相当一个转换器,将处理器内部的数据流传送格式与外部数据串行传送格式进行转换,因此在这种级联中,CPU间传递数据经过两个串行数据接口,引入较大的传输延时。如20ms大小的语音数据包,若通过串口传输,至少需要20ms的时间。CPU间的串行数据接口模块成为语音包编码方式转换过程的速率瓶颈。

发明内容
有鉴于此,本发明的主要目的在于提供了一种减少语音解编码过程中数据传输延时的方法及实现此方法的装置。
实现本发明,需要以下方法首先,语音包输入接口模块将源编码语音包转化为内部格式的数据流,传输给解码模块,解码模块从算法模块读出相应的算法对数据流进行解码,再将解码后的数据直接写到语音数据缓冲区,并通过设置标志位表示此数据为新数据;然后,编码模块直接从语音数据缓冲区读取这些数据,并且清除相应的标志位,再根据从算法模块读出的相应算法对数据流进行编码,编码后的数据流传输给语音包输出接口模块,语音包输出接口模块将数据流转化为目的编码语音包格式输出。
实现此方法的装置至少包括解码模块、语音数据缓冲区、编码模块和算法模块。
由上述方法可以看出,本发明将解码器和编码器整合在一个处理器内,通过共享内存传送语音数据流,减小了在解编码过程中数据的传输延时。


图1为通过串口级联解、编码器的示意图。
图2为本发明实现减少解编码过程中数据传输延时的组成及原理示意图。
具体实施例方式
以下通过具体实施例和参照附图2,对本发明进一步详细说明。
图2为本发明实现减少解编码过程中数据传输延时的组成及原理示意图。如图2所示,一个处理器内包括解码模块和编码模块,解码模块和编码模块采用共享内存作为语音数据缓冲区进行连接,其中还包括算法模块,存储用于编码和解码的算法。具体的语音包编码格式转换步骤如下首先,语音包输入接口模块将源编码语音包转化为内部格式的数据流,传输给解码模块,解码模块从算法模块读出相应的算法对数据流进行解码,再将解码后的数据直接写到语音数据缓冲区,并通过设置标志位表示此数据为新数据;然后,编码模块直接从语音数据缓冲区读取这些数据,并且清除相应的标志位,再根据从算法模块读出的相应算法对数据流进行编码,编码后的数据流传输给语音包输出接口模块,语音包输出接口模块将数据流转化为目的编码语音包格式输出。
这种方案下,通常减少的时间量约为源编码语音包输入语音的帧长。例如从AMR到G.729语音编码方式的转换,源编码语音包格式为AMR,帧长20ms,目的采用编码语音包格式为G.729,帧长10ms;采用本方法比串行数据接口方法可减少约20ms的延时。
其中,当源编码语音包或目的编码语音包的格式改变时,可通过语音包输入接口模块向算法模块输入新算法软件包或指令,替换原来的解码或编码的算法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种减少语音解编码过程中数据传输延时的方法,适用于IP语音进行一种以上编码格式转换的传输过程中,解码模块先将一种格式的源编码语音包解码为标准格式,编码模块再将标准格式的语音包编码为另一种所需的语音包格式继续传输,其特征在于该方法还包括以下步骤A、解码模块将输入的源编码语音包解码为标准格式的语音包数据后,存入语音数据缓冲区;B、编码模块直接从语音数据缓冲区读取步骤A解码后的语音包数据,编码为所需格式的语音包输出。
2.根据权利要求1所述的方法,其特征在于该方法进一步包括在语音数据缓冲区的数据中设置标识新数据的标志位;步骤A进一步包括在向语音数据缓冲区存入解码后语音包数据时,置数据的标志位;步骤B进一步包括从语音数据缓冲区读出语音包数据时,清除所读出数据的标志位。
3.根据权利要求1所述的方法,其特征在于所述解码模块和编码模块分别根据相应的算法完成解码和编码。
4.根据权利要求3所述的方法,其特征在于该方法进一步包括所述用于解码或编码的算法通过输入新算法或指令进行更新。
5.一种减少语音解编码处理器间数据传输延时的装置,其特征在于该装置包括解码模块,用于将输入的源编码语音包解码为标准格式的数据流存入语音数据缓冲区;语音数据缓冲区,用于存储解码模块和编码模块之间的数据流;编码模块,用于从语音数据缓冲区读出标准格式的数据流编码为所需格式的语音包。
6.根据权利要求5所述的装置,其特征在于该装置进一步包括用于存储编码和解码时所用算法的算法模块。
全文摘要
一种减少语音解编码过程中数据传输延时的方法,适用于IP语音进行一种以上编码格式转换的传输过程中,解码模块先将一种格式的源编码语音包解码为标准格式,编码模块再将标准格式的语音包编码为另一种所需的语音包格式继续传输,该方法还包括以下步骤a.解码模块将输入的源编码语音包解码为标准格式的语音包数据后,存入语音数据缓冲区;b.编码模块直接从语音数据缓冲区读取步骤A解码后的语音包数据,编码为所需格式的语音包输出。使用本发明,可减小语音包在解编过程中引入的传输延时。
文档编号G06F15/163GK1538315SQ0310975
公开日2004年10月20日 申请日期2003年4月15日 优先权日2003年4月15日
发明者邹立建, 曾思南, 张军 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1