一种基于IP应用的抗误码编解码方法 本发明涉及一种编解码方法,更确切地说是涉及一种基于IP传送应用和抗误码的脉冲编码调制(PCM)编解码方法。
现有的对语音或音乐的基于IP传送应用的主要过程是:先对输入语音或音乐数据进行PCM编码,将经编码后的数据打包成帧;再经因特网(国际互联网-Internet)传输后,进行解包及PCM解码输出。
图1中示出这种基于IP传送应用的具体过程,包括:语音或音乐输入发送端10;进行脉冲编码调制(PCM)编码11;对单帧或多帧语音或音乐数据进行TCP(一种因特网传输层协议)或UDP(一种因特网传输层协议)打包12;对单帧或多帧语音或音乐数据进行因特网协议(IP)打包13;在信道(国际互联网)上传输14;接收端进行语音或音乐数据包的IP解包15;进行TCP或UDP的解包16;进行脉冲编码调制(PCM)解码17;最后恢复语音或音乐输出18。
目前有线IP(因特网协议)信道传输的可靠性虽已日益增强,但对于IP数据包的传输过程而言,、仍存在有一定的传输错误,其中除了有IP数据包的丢失情况外,占有相当大比例的错误是突发性质的,主要表现为传输帧中某个或某几个孤立的比特(BIT)错误。
在上述的对语音或音乐的基于IP传送应用的过程中,由于在语音或音乐的传输数据帧中没有设置错误校验功能,且对出错的IP数据包仅作简单处理或不作处理。在基于IP的语音或音乐的传输过程中,如果对于这种错误不加处理,就会影响语音或音乐的传输质量。如果仅仅对出错帧作简单的丢弃处理,一方面浪费掉大量有用的正确数据,另一方面也会对音乐或语音的传输质量造成影响。
本发明的目地是设计一种基于IP应用的抗误码编解码方法,针对现有技术中,对语音或音乐的传输数据帧中不设置错误校验功能和对出错帧仅作简单丢弃处理所带来的缺点,而提出一种新的基于IP应用的抗误码编解码方法,以增强语音或音乐帧在传输过程中的抗突发错误的能力,进而提高语音或音乐的传输质量。
本发明的目的是这样实现的:一种基于IP应用的抗误码编解码方法,其特征在于:
于发送侧,对语音或音乐数据流按段进行校验并插入校验信息,再对数据流及校验信息进行因特网传输层协议(TCP或UDP)的数据打包及因特网(IP)数据打包后发送;
于接收侧,对经因特网IP数据解包和因特网传输层协议(TCP或UDP)数据解包后的数据流及校验信息按段进行校验,对出错段进行语音或音乐数据恢复处理。
所述的于发送侧,对语音或音乐数据流按段进行校验并插入校验信息,和所述的于接收侧,对数据流及校验信息按段进行校验,进一步包括以下步骤:于发送侧,对经脉冲编码调制(PCM)编码后的语音或音乐数据按时间顺序进行分段;对每一分段内的数据进行校验并插入校验信息;将校验信息随各分段语音或音乐数据进行因特网传输层协议(TCP或UDP)的数据打包及因特网(IP)数据打包,形成可供下层协议传输的IP数据包;于接收侧,对经因特网(IP)数据解包及因特网传输层协议(TCP或UDP)数据解包后的语音或音乐数据,按所述的分段及校验信息进行校验,判断校验结果是否正确;在校验结果为错误时,确定发生错误的分段位置;对出错分段进行恢复处理,再进行脉冲编码调制(PCM)解码操作。
在判断校验结果是正确时,直接进行脉冲编码调制(PCM)解码操作,恢复输出语音或音乐。
所述的对经脉冲编码调制(PCM)编码后的语音或音乐数据进行分段是按一定的时间间隔顺序进行的。
所述分段的时间间隔为5ms-40ms。
所述的对打包前的每一分段内的数据进行校验并插入校验信息,和对解包后的每一分段内的数据及校验信息进行校验,是采用传统的循环校验(CRC)法进行的。
所述的将校验信息随各分段语音或音乐数据进行因特网传输层协议(TCP或UDP)的数据打包,是按一帧数据的长度,将校验信息随语音或音乐数据组成帧,再进行IP打包。
所述的对出错分段进行恢复处理,进一步包括:继续判断是否接收到下一分段;在有下一分段时,对当前出错分段作插值处理,利用波形插值法恢复当前出错分段的语音或音乐数据;在无下一分段时,对当前出错分段进行预测处理,利用线性预测法恢复当前出错分段的语音或音乐数据。
本发明的一种基于IP应用的抗误码PCM编码方法,其特征在于包括:
发送侧的因特网网关对语音或音乐信号进行量化编码成数据流;按时间间隔将数据流顺序分成段;对每一段内数据进行校验,并插入校验信息;按一帧时间长度将各分段数据及其校验信息打包成帧,再进行因特网传输层协议打包及因特网协议打包,通过信道传送到接收侧;
接收侧的因特网网关对经信道传输的数据进行因特网协议解包和因特网传输层协议解包;对解包后的数据流仍按原分段及其校验信息进行校验;对于校验正确的段,直接进行脉冲编码调制(PCM)解码操作;对于校验出错的段,由恢复处理模块进行恢复处理,然后再进行脉冲编码调制(PCM)解码操作,恢复输出语音或音乐。
所述的恢复处理模块,先判断是否接收到出错分段的下一分段数据;在有下一分段数据时,对当前出错分段作插值处理,利用波形插值法恢复当前出错分段的语音或音乐数据;在无下一分段数据时,对当前出错分段进行预测处理,利用线性预测法恢复当前出错分段的语音或音乐数据。
本发明的基本思想是在语音或音乐的IP数据包中插入若干错误校验域,对数据流进行分段校验,即在同一数据帧中,对数据按时间顺序分成数据段,对每段数据进行校验,并将校验信息插入数据段中传输,从而提高编码的抗误码能力,可以增大对错误帧处理的灵活性,并可充分利用已成功接收到的语音或音乐的数据包。
由于在每一帧语音或音乐的数据中插入了分段,在发生传输错误时,可以方便地确定错误位置,从而可以充分利用未出错分段的数据来恢复出错分段的数据;通过所确定的发生错误的位置,可以方便地采用传统的更为灵活的帧内恢复算法,以降低运算量的需求;由于大多数错误可以利用同帧内的正确数据进行恢复和处理,所以在发生错误时减小了需要等待下一帧数据的概率,降低了进行错误处理时需要附加的延时;由于抗误码能力的提高,可以容忍更长的数据包,减小由于设置包头带来的带宽损耗;帧内各分段可以采用很简单的校验方法(如CRC算法),因此不会因设置校验域而带来大的网络开销。
本发明中对出错分段的恢复处理,所涉及的线性预测处理法及波形插值处理法,可概括为:
所述的波形插值法包括:通过分别估计出出错分段上一个分段与下一个分段的基音周期,得到当前出错分段的语音基音个数;根据上一个与下一个分段的基音周期和当前出错分段的语音基音个数,通过插值得到当前出错分段的基音周期;分别从上一个分段与下一个分段中提取一个完整的基音;利用从上一个分段与下一个分段中提取的基音和当前出错分段的语音基音个数及基音周期,对当前出错分段的基音进行线性插值,获得当前出错分段各个基音中各点的相位及幅度。
所述的线性预测法包括:将出错分段上一个分段的数据分成两个子段,分别估计出每个子段的基音周期;根据第一子段的基音周期和第二子段的基音周期求出当前出错分段的语音基音个数;预测当前出错分段的语音基音周期;分别从第一子段与第二子段数据中提取一个完整的基音;利用从第一子段与第二子段中提取的基音和当前出错分段的语音基音个数及基音周期,对当前出错分段的基音进行线性插值,获得当前出错分段各个基音中各点的相位及幅度。
上述方法已公开在申请日为2000年9月30日、申请号为00129594.2、名称为“一种在网络上传输IP语音包的丢包恢复方法”的中国专利申请中,只是其IP语音数据包的概念被分段的概念所取代,相关内容不再详述。
该发明可以应用于目前INTERNET上公用网或专用网的IP语音或音乐传送,也可以用于未来移动通信中基于IP的核心网语音或音乐传送。
下面结合实施例及附图进一步说明本发明的技术。
图1是传统的基于IP应用的语音或音乐的传输过程示意框图。
图2是本发明的语音或音乐数据帧结构示意图。
图3是本发明的语音或音乐数据帧发生错误时的结构示意图。
图4是本发明的方法流程框图。
图5是本发明的接收端译码过程示意框图。
图6是本发明方法在IP网关中的应用示意图。
图1说明前已述及,不再赘述。
参见图4,并结合参见图2、图3,发送端编码的基本流程是:输入信源是语音或音乐信号,根据采样率顺序输入,获得采样量化的数据;对输入的数据进行脉冲编码调制(PCM)编码后按时间顺序并以一定的时间间隔分段(401);对每一段数据进行校验并插入校验信息(402);进行TCP或UDP打包形成数据帧(403),其分段及插入校验信息后的数据帧结构如图2中所示;对数据帧进行IP打包后(404),再送入下层(传输层)协议进行传输(405),如Internet传输。
接收端解码的基本流程是:接收端进行IP解包(406);进一步进行TCP或UDP解包(407);对解包后的数据按原分段及其校验信息进行校验(408);在无出错的正常情况下,PCM解码模块正常解码,输出语音或音乐信号(410);在出错情况下,根据校验结果确定错误发生的分段位置,如图3中出错比特(error bit)发生在帧结构的某一分段数据中,对出错分段进行恢复处理(409);再经PCM解码模块解码后输出语音或音乐信号(410)。
结合参见图5,对解包后的数据进行校验判断是否有出错分段(501);在当前分段出错情况下,对该出错分段进行恢复处理,是由恢复处理模块执行的,在判断出当前的出错分段后,需进一步判断该出错分段的下一分段是否可得(502);若可得,则利用下一分段数据对当前的出错分段作波形插值处理,以恢复出当前的出错分段(503);若下一分段不可得,则利用上一分段数据对当前的出错分段作线性预测处理(504);最后再对恢复出的当前出错分段数据作PCM解码,输出语音或音乐信号(505)。
采用本发明的方法,可以在接收端解码时检测出传输中的错误帧,并对错误帧进行恢复处理,保证了语音或音乐的传输质量。
参见图6,图中示出一个简单的应用本发明方法的实例,在因特网公用网或专用网上进行语音或音乐的传送。如图中所示,在其中的IP网关,采用本发明的编解码方法,在出现传输比特(BIT)出错的情况下,译码器能够自动纠正错误,保证译码质量。
具体操作为:
发送端交换机通过电话机等设备接收由用户线路传送的语音或音乐信号(模拟信号),进行量化(PCM编码),并将量化后的PCM编码数据传送给IP网关;IP网关对由交换机传输的语音或音乐数据进行传输层协议打包,同时按一定的时间间隔T(T=5ms),对每一时段内数据进行校验,并在数据流中插入校验位,然后以每30ms数据组成一帧再进行IP打包,通过Internet网络传送到接收端。
接收端的IP网关对由Internet网络传输的数据进行IP解包和传输层协议数据解包,同时对接收的数据进行分时段的校验,时段长度等于发送端的分时段长度T(T=5ms),对于校验正确的时段,直接进行脉冲编码调制(PCM)解码操作,对于校验出错的时段,由恢复处理模块进行恢复处理,然后再进行脉冲编码调制(PCM)解码操作,解码输出的语音或音乐,由交换机通过用户线路传送到电话机等用户终端设备,进行语音或音乐的输出。
分时段长度T可取5ms-40ms,若间隔太长,则会增加传输延时,影响语音或音乐的收听质量。
在此实施例中,校验位可采用简单的CRC校验算法。