CN101119338B - 网络语音通信方法、系统、装置和即时通信终端 - Google Patents
网络语音通信方法、系统、装置和即时通信终端 Download PDFInfo
- Publication number
- CN101119338B CN101119338B CN2007101519241A CN200710151924A CN101119338B CN 101119338 B CN101119338 B CN 101119338B CN 2007101519241 A CN2007101519241 A CN 2007101519241A CN 200710151924 A CN200710151924 A CN 200710151924A CN 101119338 B CN101119338 B CN 101119338B
- Authority
- CN
- China
- Prior art keywords
- voice communication
- netstatus
- network
- network state
- state parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种网络语音通信方法,该方法包括:语音通信对端统计语音通信本端到所述语音通信对端的网络状态参数,并向所述语音通信本端发送所述网络状态参数;语音通信本端根据所述网络状态参数调节所述语音通信本端的语音通信状态。本发明实施例还公开了一种网络语音通信系统、装置和即时通讯终端。应用本发明以后,能够根据对端的网络状态反馈来调节当前语音编码状态,使之适应网络的变化并能够充分利用当前网络的可用带宽,从而可以提供尽可能好的语音质量。
Description
技术领域
本发明涉及互联网(Internet)应用技术领域,更具体地,本发明涉及网络语音通信方法、系统、装置和即时通信终端。
背景技术
随着互联网技术的不断成熟,互联网日益成为人们获取信息、交流、娱乐、营商等的重要平台。由于网络的普及化且其在数据传送上具有价格低廉的优势,因而发展出可用以利用网络来进行语音数据传送的技术,即网络语音通信(Voice Over Internet Protocol,VoIP)技术。
VoIP技术主要是先将连续的语音数据分割成细小的封包,然后再利用网际网络通信协议(Internet Protocol,IP)技术来传递细小的语音封包,以取代传统利用电话线传输语音的方法。并且,随着频宽日渐提升以及相关技术日渐成熟,VoIP技术的应用环境也日益成熟,各种支持VoIP技术的电子装置也日渐普及。例如:VoIP话机、VoIP电话网关器、VoIP交换器及无线网络电话等等。
即时通讯(Instant Messaging,IM)服务是一种基于互联网的通讯服务,一般以实现网络上即时通讯功能为主。目前,即时通讯服务已经在互联网上得到了广泛的应用和认可,即时通讯服务可以通过即时通讯系统来实现。即时通讯系统以其速度快、功能丰富、使用稳定而获得了广大网民的认可和喜爱。在现有的即时通讯服务中,用户之间可以通过即时通讯系统进行文字信息的交互、传送文件、发送手机短消息等多种操作。
语音通信已成为目前IM通信的必须组成部分,但是网络的异构性、不同运营商的互通瓶颈等网络问题会严重影响网络语音通信的质量。具体表现通话过程中有回声、烦扰的噪声、某些单词被剪切掉、停顿、延迟以及声音失真等,从而严重影响听者的感受。
发明内容
本发明实施例提供一种网络语音通信方法,以更好地保证网络语音通信中的语音质量。
本发明实施例提供一种网络语音通信系统,以更好地保证网络语音通信中的语音质量。
本发明实施例提供一种网络语音通信装置,以更好地保证网络语音通信中的语音质量。
本发明实施例还提供一种即时通讯终端,以更好地保证即时语音通讯中的语音质量。
本发明实施例的技术方案如下:
一种网络语音通信方法,预先设定N个语音编码码率,所述N等于3,语音编码码率按照从大到小的顺序依次分为Rmax、Rmid和Rmin;所述Rmax、Rmid和Rmin分别对应的网络状态参数为NetStatus(Rmax)、NetStatus(Rmid)和NetStatus(Rmin):该方法包括:
语音通信对端统计语音通信本端到所述语音通信对端的网络状态参数,并向所述语音通信本端发送所述网络状态参数;
语音通信本端测试所述N个语音编码码率所对应的N种网络状态下的N个网络状态参数;
当NetStatus(Rmin)减去NetStatus(Rmax)大于预先设定的阈值D1且NetStatus(Rmin)减去NetStatus(Rmid)大于预先设定的阈值D2时,判定NetStatus(Rmin)为最佳网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)不大于预先设定的阈值D1且NetStatus(Rmid)减去NetStatus(Rmax)大于预先设定的阈值D3时,判定NetStatus(Rmid)为最佳网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)不大于预先设定的阈值D1且NetStatus(Rmid)减去NetStatus(Rmax)不大于预先设定的阈值D3时,判定NetStatus(Rmax)为最佳网络状态参数;
语音通信本端将语音编码码率调整为该最佳网络状态参数所对应的语音编码码率。
一种网络语音通信系统,该系统包括:
语音通信对端,用于统计语音通信本端到所述语音通信对端的网络状态参数,并向所述语音通信本端发送所述网络状态参数,其中预先设定N个语音编码码率,所述N等于3,语音编码码率按照从大到小的顺序依次分为Rmax、Rmid和Rmin;所述Rmax、Rmid和Rmin分别对应的网络状态参数为NetStatus(Rmax)、NetStatus(Rmid)和NetStatus(Rmin);
语音通信本端,用于测试所述N个语音编码码率所对应的N种网络状态下的N个网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)大于预先设定的阈值D1且NetStatus(Rmin)减去NetStatus(Rmid)大于预先设定的阈值D2时,判定NetStatus(Rmin)为最佳网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)不大于预先设定的阈值D1且NetStatus(Rmid)减去NetStatus(Rmax)大于预先设定的阈值D3时,判定NetStatus(Rmid)为最佳网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)不大于预先设定的阈值D1且NetStatus(Rmid)减去NetStatus(Rmax)不大于预先设定的阈值D3时,判定NetStatus(Rmax)为最佳网络状态参数;并用于将语音编码码率调整为该最佳网络状态参数所对应的语音编码码率。
一种网络语音通信装置,包括网络调节模块和语音编解码模块,其中:
网络调节模块,用于接收由语音通信对端所统计的、该网络语音通信终端到所述语音通信对端的网络状态参数,并根据所述网络状态参数调节所述语音编解码模块的语音编码码率;,其中设定N个语音编码码率,所述N等于3,语音编码码率按照从大到小的顺序依次分为Rmax、Rmid和Rmin;所述Rmax、Rmid和Rmin分别对应的网络状态参数为NetStatus(Rmax)、NetStatus(Rmid)和NetStatus(Rmin);其中根据所述网络状态参数调节所述语音编解码模块的语音编码码率包括:测试所述N个语音编码码率所对应的N种网络状态下的N个网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)大于预先设定的阈值D1且NetStatus(Rmin)减去NetStatus(Rmid)大于预先设定的阈值D2时,判定NetStatus(Rmin)为最佳网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)不大于预先设定的阈值D1且NetStatus(Rmid)减去NetStatus(Rmax)大于预先设定的阈值D3时,判定NetStatus(Rmid)为最佳网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)不大于预先设定的阈值D1且NetStatus(Rmid)减去NetStatus(Rmax)不大于预先设定的阈值D3时,判定NetStatus(Rmax)为最佳网络状态参数;并用于将语音编码码率调整为该最佳网络状态参数所对应的语音编码码率;
语音编解码模块,用于采集音频信号,并按照网络调节模块所调节的语音编码码率对所述音频信号进行编码,并用于解析接收到的对端的音频码流并进行播放。
一种即时通信终端,包括上述网络语音通信装置。
从上述技术方案中可以看出,在本发明实施例中,语音通信对端统计语音通信本端到所述语音通信对端的网络状态参数,并向所述语音通信本端发送所述网络状态参数,然后语音通信本端根据所述网络状态参数调节所述语音通信本端的语音通信状态。由此可见,本发明实施例根据对端的网络状态反馈调节当前语音编码状态,使之适应网络的变化并能够充分利用当前网络的可用带宽,从而可以提供尽可能好的语音质量。
附图说明
图1为根据本发明实施例的网络语音通信方法流程图;
图2为根据本发明实施例的网络语音状态机转化示意图;
图3为根据本发明实施例的网络语音通信系统示意图;
图4为根据本发明较佳实施例的网络语音通信方法示意图。
具体实施方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
在本发明实施例中,根据对端针对网络状况的反馈统计来调节当前语音编码的参数,使之适应网络的变化,并能够充分利用当前网络的可用带宽,以提供尽可能好的语音质量。
图1为根据本发明实施例的网络语音通信方法流程图。
如图1所示,该方法包括:
步骤101:语音通信对端统计语音通信本端到所述语音通信对端的网络状态参数,并向所述语音通信本端发送所述网络状态参数。
由于语音是实时性较强的业务,对网络状态的统计间隔不能太长。目前比较通用的实时传输控制协议(RTCP)的反馈控制间隔一般设为5秒,在实际的应用中,可以根据不同需求设定反馈间隔。本发明实施例不限定采取何种方式进行网络状态参数的统计,既可以采取标准RTCP统计,也可以按照自定义的规则统计。
在这里,网络状态参数可以包括:丢包率、延时和网络抖动。丢包率是指一段时间内的语音包丢包率,下面以Lost代表丢包率;延时是指端到端的延时,一种通用的表示方法叫回路延时(Round Trip Time,RTT),回路延时指数据包从本端到对端,再回到本端所用的时间,下面以Delay表示延时。抖动(Jitter)是指各次传输的延迟时间不一样,称为网络抖动。本发明实施例中,可以通过多种方式来统计网络抖动,比如:通过实时传输控制协议(RTCP)方式或者平均值方式统计网络抖动。
具体地,下面更加详细地说如何统计网络状态参数。
设定一次统计的时间间隔为D,则Lost,Jitter,Delay分别按照如下计算:
Lost=(丢失的语音包数量)/(应该收到的语音包数量)*100(式1)
以百分比表示Lost,即丢包率。
Delay=SumN(Ri-Si)/N (式2)
N为时间间隔D内的收包总数,1<=i<=N。
Jitter在本发明实施例中可以采取两种方式计算:
(1)标准RTCP方式:
D(i,j)=(Rj-Ri)-(Sj-Si)=(Rj-Sj)-(Ri-Si) (式3)
J(i)=J(i-1)+(|D(i-1,i)|-J(i-1))/16 (式
4)
其中Ri为收到第i个包的时间,Si为发送第i个包的时间。
统计一段时间内的Jitter需要按照式(4)迭代计算出一段时间D内的Jitter。
(2)平均值方式:
J(D)=SumND(i-1,i)/N (式5)
其中D(i-1,i)的计算同式3。
步骤102:语音通信本端根据所述网络状态参数调节所述语音通信本端的语音通信状态。
优选地,该方法进一步包括:语音通信本端统计语音通信对端到所述语音通信本端的网络状态参数,并向所述语音通信对端发送所述语音通信对端到语音通信本端的网络状态参数;语音通信对端再根据所述语音通信对端到语音通信本端的网络状态参数调节所述语音通信对端的语音通信状态。
这样,语音通信双方可以相互反馈网络状况,从而实现对语音通信本端和语音通信对端之间的来回通信线路进行统计反馈,以保证语音通信本端和语音通信对端双方的通信质量。
语音通信本端和语音通信对端之间的网络互联状况可能有下列情况:
(1)互联带宽完全可以承载语音通信,几乎没有丢包,很小的稳定延时;
(2)互联带宽可以承载语音通信,有较频繁的小丢包,延时稍大,有一定的抖动;
(3)互联带宽不稳定,丢包较大,延时抖动厉害
(4)带宽不能承受高质量语音通信,有频繁的大丢包,延时抖动厉害
相应地,针对上述4情况,调节语音通信状态可以具体包括调节语音编码码率和/或启动前向纠错控制FEC抗丢包处理。
针对不同的网络带宽,需要根据对端反馈的三个网络参数调节编码码率,使之能够适应当前的网络情况。
对于第1种情况,可以采用最高编码码率进行语音通信;第2种情况需要启动适当的抗丢包措施(如FEC),仍然可以以高码率进行通信;第3种情况需要根据网络的变化调节编码码率;第4种在高码率的情况下可能引起更严重的丢包和抖动,需要降低编码码率以适应带宽。第2、第3、第4种情况都属于存在丢包的网络环境,需要开启FEC对抗网络丢包。
下面对语音编码方法和FEC处理进行具体说明。
语音编码方法归纳起来可以分成三大类:波形编码、参数编码和混合编码。
波形编码比较简单,编码前采样定理对模拟语音信号进行量化,然后进行幅度量化,再进行二进制编码。解码器作数/模变换后再由低通滤波器恢复出现原始的模拟语音波形,这就是最简单的脉冲编码调制(PCM),也称为线性PCM。可以通过非线性量化,前后样值的差分、自适应预测等方法实现数据压缩。波形编码的目标是让解码器恢复出的模拟信号在波形上尽量与编码前原始波形相一致,也即失真要最小。
参数编码又称为声码器,是根据人的发声机理,在编码端对语音信号进行分析,分解成有声音和无声音两部分。声码器每隔一定时间分析一次语音,传送一次分析的有/无声和滤波参数。在解码端根据接收的参数再合成声音。声码器编码后的码率可以做得很低,如1.2kbit/s、2.4kbit/s,但是也有其缺点。首先是合成语音质量较差,清晰度可以接受但是很不自然,难于辨认说话人是谁,其次是复杂度比较高。
混合编码是将波形编码和声码器的原理结合起来,音质比较好,最近有个别算法所取得的音质可与波形编码相当,复杂程度介乎与波形编码器和声码器之间。语音编码属性可以分为四类,分别是比特速率,时延、复杂性和质量。比特律是语音编码很重要的一方面。比特速率的范围可以从2.4kbit/s到64kbit/s,视不同需求和不同带宽而定。
语音的FEC技术目前比较通用的一般分为两种,一种是发送n个包后,第n+1个包作为冗余包,使前面一共n+1个包的组合具备一定的抗丢包能力;一种是进行两路编码,以第二路的较低速率编码作为第一路的冗余,发送时将第一路的第n个包和第二路的第n-1个包(记作包N)一起发送,这样当第N-1个包丢失时,第N个包到达时可以使用冗余包的部分恢复出丢失的数据。
在上述流程中,还可以预先设定N个语音编码码率,其中N为大于或等于2的自然数。此时,步骤102中根据所述网络状态参数调节语音通信状态具体包括:
测试所述N个语音编码码率所对应的N种网络状态下的N个网络状态参数;
从所述N个网络状态参数中确定出最佳网络状态参数;
语音通信本端将语音编码码率调整为该最佳网络状态参数所对应的语音编码码率。
优选地,N可以等于3,此时语音编码码率按照从大到小的顺序依次分为Rmax、Rmid和Rmin;所述Rmax、Rmid和Rmin分别对应的网络状态参数为NetStatus(Rmax)、NetStatus(Rmid)和NetStatus(Rmin):
那么,从N个网络状态参数中确定出最佳网络状态参数包括:
当NetStatus(Rmin)减去NetStatus(Rmax)大于预先设定的阈值D1且NetStatus(Rmin)减去NetStatus(Rmid)大于预先设定的阈值D2时,判定NetStatus(Rmin)为最佳网络状态参数;
当NetStatus(Rmin)减去NetStatus(Rmax)不大于预先设定的阈值D1且NetStatus(Rmid)减去NetStatus(Rmax)大于预先设定的阈值D3时,判定NetStatus(Rmid)为最佳网络状态参数;
当NetStatus(Rmin)减去NetStatus(Rmax)不大于预先设定的阈值D1且NetStatus(Rmid)减去NetStatus(Rmax)不大于预先设定的阈值D3时,判定NetStatus(Rmax)为最佳网络状态参数。
上述方法中,还可以进一步预先设定定时器,当将语音编码码率调整为该最佳网络状态参数所对应的语音编码码率之后,该方法进一步包括:在所设定的定时器时间内,保持所确定的该最佳网络状态参数所对应的语音编码码率。其中,当超过所述定时器时间且网络状态变好时,将所调整的语音编码码率再次调整为NetStatus(Rmax)。当超过所述定时器时间且网络状态变差时,测试除了当前语音编码码率之外的其它语音编码码率,并重新确定最佳网络状态参数;语音通信本端将语音编码码率调整为该重新确定的最佳网络状态参数所对应的语音编码码率。
针对N等于3的情形,可以采用一种基于状态机转换的策略来执行状态转换,包括3个基本状态:
1.正常状态:系统初始化时进入正常状态,码率设置为Rmax,同时监听网络状态并记录;
2.测试状态:测试除前一状态外的另外两种码率的表现,例如前一种状态的码率是Rmax,则测试Rmid和Rmin的表现,并记录在两种码率下的调节反馈
3.稳定状态:根据测试状态测试的结果,选定一种最适合当前网络状态的码率进入稳定状态。为防止频繁调节,进入稳定状态设定一个稳定时间,不满足稳定时间不允许再次调节。
此时,针对图1所示流程,可以进一步包括预先设定网络状态参数门限值,且设定Rmax所对应的网络语音状态为正常状态;当网络状态参数低于所述网络状态参数门限值时,将所述网络语音状态从正常状态设置为测试状态,所述测试状态包括:测试所述N个语音编码码率所对应的N种网络状态下的N个网络状态参数;从所述N个网络状态参数中确定出最佳网络状态参数。
针对上述状态装换,还可以进一步预先设定定时器,该方法还包括:
语音通信本端将语音编码码率调整为该最佳网络状态参数所对应的语音编码码率之后,
当超过所述定时器时间且网络状态变好时,将所调整的语音编码码率再次调整为Rmax,且将网络语音状态设置为正常状态;或
当超过所述定时器时间且网络状态变差时,测试除了当前语音编码码率之外的其它语音编码码率,并重新将网络语音状态设置为测试状态。
上述描述详细阐述了N等于3时的状态切换机制,本领域技术人员可以意识到,本发明实施例并不局限于N等于3,N可以为大于或等于2的任意自然数。
图2为根据本发明较佳实施例的网络语音状态机转化示意图。状态转换按照图中箭头所示的方向进行。每个状态下都需要对网络状态NetStatus进行实时监听与记录:
NetStatus=f(Lost,Delay,Jitter)=(C1-Lost)-(Delay/C2+Jitter/C3)*C4
(式6)
其中C1,C2,C3,C4为4个常量,可以通过大量测试确定取值。
如图2所示,状态转换包括:
(1)由正常状态到测试状态:
在正常状态时,编码码率为Rmax,始终保持对NetStatus的监听状态,一旦发现小于某个阈值T1,则进入测试状态。
(2)测试状态到稳定状态
操作步骤:
I.测试网络:转到测试状态时,上一个状态已经保留了当时编码码率下的网络状态信息,此时测试另外两种码率下的网络反馈信息,并予以记录;
II.选定最优码率:三种码率下的网络反馈分别记作NetStatus(Rmax),NetStatus(Rmid),NetStatus(Rmin),首先比较NetStatus(Rmax)和NetStatus(Rmin):
NetStatus(Rmin)-NetStatus(Rmax)>D1 (式7)
如果满足式7,认为Rmin编码码率在当前网络中表现较好,去除Rmax;接着比较NetStatus(Rmid)和NetStatus(Rmin)若满足
NetStatus(Rmin)-NetStatus(Rmid)>D2 (式8)
则认为Rmin最适合当前网络状态,Rmin为最优码率。
若上面不满足式7的条件,则认为Rmax优于Rmin,继续比较Rmax和Rmid:
NetStatus(Rmid)-NetStatus(Rmax)>D3 (式9)
如果满足式9则Rmid为最优码率,不满足则Rmax为最优码率。
III.选定最优码率后,切换到稳定状态,设置定时器Tstable。
(3)稳定状态到正常状态/测试状态
稳定状态有两种状态转换方向,一种是回归正常状态,一种是重新进入测试状态。
I.在设定的稳定时间Tstable内,保持测试状态选定的最优码率,不进行任何调节,但是保持对网络状态的记录。
II.超出稳定时间后,激活根据网络状态的调节,此时网络反馈的变化可能有两个方向:一种是网络变好,另一种是变得更差。当网络变好即满足NetStatus(RCurr)>T2时(RCurr表示当前稳定状态的编码码率),状态切换回正常状态,编码码率设定为Rmax。当网络变得更差时,即NetStatus(RCurr)<T3时,重新进入测试状态,测试除了RCurr之外两种码率在当前网络中的表现,选出最优码率重新进入稳定状态。
需要说明的是,当T2>=NetStatus(RCurr)>=T3时,仍然保留在稳定状态,不发生调节。
图3为根据本发明较佳实施例的网络语音通信方法示意图。
如图3所示,该方法包括:
步骤301:首先语音调节状态进入正常状态;
步骤302:判断网络反馈是否变差,如果是则执行步骤302及其后续步骤,如果没有则返回执行步骤301及其后续步骤;
步骤303:语音调节状态进入测试状态;
步骤304:测试三种码率下的语音通信表现,即测试三种码率下的网络反馈,分别记作NetStatus(Rmax),NetStatus(Rmid),NetStatus(Rmin);
步骤305:比较NetStatus(Rmax)和NetStatus(Rmin),如果NetStatus(Rmin)较优,则执行步骤306及其后续步骤,如果NetStatus(Rmax)较优,则执行步骤307及其后续步骤;
步骤306:比较NetStatus(Rmid)和NetStatus(Rmin),从中选出较优码率,并执行步骤308及其后续步骤;
步骤307:比较NetStatus(Rmid)和NetStatus(Rmax),从中选出较优码率,并执行步骤308及其后续步骤;
步骤308:根据判断出的最优码率进入稳定状态,并且设置定时器;
步骤309:当定时器超时的时候,继续检测网络情况;
步骤310:判断网络情况是否变好,如果是执行步骤301及其后续步骤,如果否执行步骤303及其后续步骤。
基于上述分析,本发明实施例还提出了一种网络语音通信系统。
图4为根据本发明实施例的网络语音通信系统示意图。
如图4所示,该系统包括:
语音通信对端402,用于统计语音通信本端401到所述语音通信对端402的网络状态参数,并向所述语音通信本端401发送所述网络状态参数;
语音通信本端401,用于根据所述网络状态参数调节所述语音通信本端401的语音通信状态。
在该系统中,所述语音通信本端401,可以进一步用于统计语音通信对端402到所述语音通信本端401的网络状态参数,并向所述语音通信对端401发送所述语音通信对端402到语音通信本端401的网络状态参数;
语音通信对端402,进一步用于根据所述语音通信对端402到语音通信本端401的网络状态参数调节所述语音通信对端402的语音通信状态。从而实现对语音通信本端401和语音通信对端402之间的来回通信线路进行统计反馈,从而保证语音通信本端401和语音通信对端402双方的通信质量。
可以将图3所示系统应用到各种具体网络应用环境中,例如应用到即时通讯环境中,此时语音通信本端401与所述语音通信对端402之间的网络为即时通讯IM网络。而且,语音通信本端401和语音通信对端402的具体结构可以相同或类似。
具体地,语音通信本端401包括网络调节模块4011和语音编解码模块4012。网络调节模块4011,用于接收由语音通信对端402所统计的、语音通信本端401到所述语音通信对端402的网络状态参数,并根据所述网络状态参数调节所述语音编解码模块4012的编码率;
语音编解码模块4012,用于采集音频信号(即语音信号输入),并按照网络调节模块所调节的编码率对所述音频信号进行编码,并负责解析接收到的对端的音频码流并进行播放。
其中,网络调节模块4011,进一步用于统计语音通信对端402到所述网络语音通信本端401的网络状态参数,并向所述语音通信对端402发送所述语音通信对端402到网络语音通信本端401的网络状态参数。所述网络状态参数可以包括网络抖动,此时网络调节模块4012,用于通过实时传输控制协议RTCP方式或者平均值方式统计所述网络抖动。
类似地,语音通信对端402包括网络调节模块4021和语音编解码模块4022。网络调节模块4021,用于接收由语音通信本端401所统计的、语音通信对端402到所述语音通信本端401的网络状态参数,并根据所述网络状态参数调节所述语音编解码模块4022的编码率;
语音编解码模块4022,用于采集音频信号,并按照网络调节模块所调节的编码率对所述音频信号进行编码,并负责解析接收到的对端的音频码流并进行播放。
可以将语音通信对端402和语音通信本端401嵌入到即时通信终端中,然后所述即时通信终端再和即时通信网络一起协同运作,以实现即时通信中的语音通信功能。
综上所述,应用本发明以后,可以根据对端的网络状态反馈来调节当前语音编码状态,使之适应网络的变化并能够充分利用当前网络的可用带宽,从而可以提供尽可能好的语音质量。
另外,本发明实施例还可以根据网络状态以状态机方式调节编码参数。低带宽下尽量保证语音的连续、清晰;在网络带宽富余的情况下,提供更好语音质量。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种网络语音通信方法,其特征在于,预先设定N个语音编码码率,所述N等于3,语音编码码率按照从大到小的顺序依次分为Rmax、Rmid和Rmin;所述Rmax、Rmid和Rmin分别对应的网络状态参数为NetStatus(Rmax)、NetStatus(Rmid)和NetStatus(Rmin):该方法包括:
语音通信对端统计语音通信本端到所述语音通信对端的网络状态参数,并向所述语音通信本端发送所述网络状态参数;
语音通信本端测试所述N个语音编码码率所对应的N种网络状态下的N个网络状态参数;
当NetStatus(Rmin)减去NetStatus(Rmax)大于预先设定的阈值D1且NetStatus(Rmin)减去NetStatus(Rmid)大于预先设定的阈值D2时,判定NetStatus(Rmin)为最佳网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)不大于预先设定的阈值D1且NetStatus(Rmid)减去NetStatus(Rmax)大于预先设定的阈值D3时,判定NetStatus(Rmid)为最佳网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)不大于预先设定的阈值D1且NetStatus(Rmid)减去NetStatus(Rmax)不大于预先设定的阈值D3时,判定NetStatus(Rmax)为最佳网络状态参数;
语音通信本端将语音编码码率调整为该最佳网络状态参数所对应的语音编码码率。
2.根据权利要求1所述的网络语音通信方法,其特征在于,该方法进一步包括:
所述语音通信本端统计语音通信对端到所述语音通信本端的网络状态参数,并向所述语音通信对端发送所述语音通信对端到语音通信本端的网络状态参数;
语音通信对端根据所述语音通信对端到语音通信本端的网络状态参数调节所述语音通信对端的语音通信状态。
3.根据权利要求1或2所述的网络语音通信方法,其特征在于,所述网络状态参数包括下列参数中的任一个或者多于一个的任意组合:
丢包率;
延时;
网络抖动。
4.根据权利要求1或2所述的网络语音通信方法,其特征在于,所述网络状态参数包括网络抖动;
所述统计网络状态参数包括:
通过实时传输控制协议RTCP方式或者平均值方式统计所述网络抖动。
5.根据权利要求1或2所述的网络语音通信方法,其特征在于,所述调节语音通信状态包括:
调节语音编码码率;和/或
启动前向纠错控制FEC抗丢包处理。
6.根据权利要求1所述的网络语音通信方法,其特征在于,进一步预先设定定时器,当将语音编码码率调整为该最佳网络状态参数所对应的语音编码码率之后,该方法进一步包括:
在所设定的定时器时间内,保持所确定的该最佳网络状态参数所对应的语音编码码率。
7.根据权利要求1所述的网络语音通信方法,其特征在于,该方法进一步包括:
当超过所述定时器时间且网络状态变好时,将所调整的语音编码码率再次调整为NetStatus(Rmax)。
8.根据权利要求1所述的网络语音通信方法,其特征在于,该方法进一步包括:
当超过所述定时器时间且网络状态变差时,测试除了当前语音编码码率之外的其它语音编码码率,并重新确定最佳网络状态参数;
语音通信本端将语音编码码率调整为该重新确定的最佳网络状态参数所对应的语音编码码率。
9.根据权利要求1所述的网络语音通信方法,其特征在于,该方法进一步包括预先设定网络状态参数门限值,且设定Rmax所对应的网络语音状态为正常状态,
当网络状态参数低于所述网络状态参数门限值时,将所述网络语音状态从正常状态设置为测试状态,所述测试状态包括:测试所述N个语音编码码率所对应的N种网络状态下的N个网络状态参数;从所述N个网络状态参数中确定出最佳网络状态参数。
10.根据权利要求9所述的网络语音通信方法,其特征在于,进一步预先设定定时器,该方法还包括:
语音通信本端将语音编码码率调整为该最佳网络状态参数所对应的语音编码码率之后,
当超过所述定时器时间且网络状态变好时,将所调整的语音编码码率再次调整为NetStatus(Rmax),且将网络语音状态设置为正常状态;或
当超过所述定时器时间且网络状态变差时,测试除了当前语音编码码率之外的其它语音编码码率,并重新将网络语音状态设置为测试状态。
11.一种网络语音通信系统,其特征在于,该系统包括:
语音通信对端,用于统计语音通信本端到所述语音通信对端的网络状态参数,并向所述语音通信本端发送所述网络状态参数,其中预先设定N个语音编码码率,所述N等于3,语音编码码率按照从大到小的顺序依次分为Rmax、Rmid和Rmin;所述Rmax、Rmid和Rmin分别对应的网络状态参数为NetStatus(Rmax)、NetStatus(Rmid)和NetStatus(Rmin);
语音通信本端,用于测试所述N个语音编码码率所对应的N种网络状态下的N个网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)大于预先设定的阈值D1且NetStatus(Rmin)减去NetStatus(Rmid)大于预先设定的阈值D2时,判定NetStatus(Rmin)为最佳网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)不大于预先设定的阈值D1且NetStatus(Rmid)减去NetStatus(Rmax)大于预先设定的阈值D3时,判定NetStatus(Rmid)为最佳网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)不大于预先设定的阈值D1且NetStatus(Rmid)减去NetStatus(Rmax)不大于预先设定的阈值D3时,判定NetStatus(Rmax)为最佳网络状态参数;并用于将语音编码码率调整为该最佳网络状态参数所对应的语音编码码率。
12.根据权利要求11所述的网络语音通信系统,其特征在于,
所述语音通信本端,进一步用于统计语音通信对端到所述语音通信本端的网络状态参数,并向所述语音通信对端发送所述语音通信对端到语音通信本端的网络状态参数;
语音通信对端,进一步用于根据所述语音通信对端到语音通信本端的网络状态参数调节所述语音通信对端的语音通信状态。
13.根据权利要求11所述的网络语音通信系统,其特征在于,语音通信本端与所述语音通信对端之间的网络为即时通讯IM网络。
14.一种网络语音通信装置,其特征在于,包括网络调节模块和语音编解码模块,其中:
网络调节模块,用于接收由语音通信对端所统计的、该网络语音通信终端到所述语音通信对端的网络状态参数,并根据所述网络状态参数调节所述语音编解码模块的语音编码码率,其中设定N个语音编码码率,所述N等于3,语音编码码率按照从大到小的顺序依次分为Rmax、Rmid和Rmin;所述Rmax、Rmid和Rmin分别对应的网络状态参数为NetStatus(Rmax)、NetStatus(Rmid)和NetStatus(Rmin);其中根据所述网络状态参数调节所述语音编解码模块的语音编码码率包括:测试所述N个语音编码码率所对应的N种网络状态下的N个网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)大于预先设定的阈值D1且NetStatus(Rmin)减去NetStatus(Rmid)大于预先设定的阈值D2时,判定NetStatus(Rmin)为最佳网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)不大于预先设定的阈值D1且NetStatus(Rmid)减去NetStatus(Rmax)大于预先设定的阈值D3时,判定NetStatus(Rmid)为最佳网络状态参数;当NetStatus(Rmin)减去NetStatus(Rmax)不大于预先设定的阈值D1且NetStatus(Rmid)减去NetStatus(Rmax)不大于预先设定的阈值D3时,判定NetStatus(Rmax)为最佳网络状态参数;并用于将语音编码码率调整为该最佳网络状态参数所对应的语音编码码率;
语音编解码模块,用于采集音频信号,按照网络调节模块所调节的语音编码码率对所述音频信号进行编码,并解析接收到的对端的音频码流并播放。
15.根据权利要求14所述的网络语音通信装置,其特征在于,网络调节模块,进一步用于统计语音通信对端到所述网络语音通信终端的网络状态参数,并向所述语音通信对端发送所述语音通信对端到网络语音通信终端的网络状态参数。
16.根据权利要求15所述的网络语音通信装置,其特征在于,所述网络状态参数包括网络抖动,
网络调节模块,用于通过实时传输控制协议RTCP方式或者平均值方式统计所述网络抖动。
17.一种即时通信终端,其特征在于,包括权利要求14-16中任一项所述的网络语音通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101519241A CN101119338B (zh) | 2007-09-20 | 2007-09-20 | 网络语音通信方法、系统、装置和即时通信终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101519241A CN101119338B (zh) | 2007-09-20 | 2007-09-20 | 网络语音通信方法、系统、装置和即时通信终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101119338A CN101119338A (zh) | 2008-02-06 |
CN101119338B true CN101119338B (zh) | 2010-07-07 |
Family
ID=39055276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101519241A Active CN101119338B (zh) | 2007-09-20 | 2007-09-20 | 网络语音通信方法、系统、装置和即时通信终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101119338B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656807B (zh) * | 2009-09-08 | 2012-07-04 | 中兴通讯股份有限公司 | 一种网络电话发送端的语音控制方法及网络电话发送终端 |
CN103152123B (zh) * | 2011-12-06 | 2015-08-12 | 沈阳高精数控技术有限公司 | 基于数控系统双环现场总线的自检错与自纠错的传输方法 |
CN103152470B (zh) * | 2011-12-07 | 2015-09-30 | 广州三星通信技术研究有限公司 | 在通信终端中提供通话质量信息的方法及其通信终端 |
CN103152497A (zh) * | 2013-03-29 | 2013-06-12 | 贵阳朗玛信息技术股份有限公司 | 手机VoIP系统中动态比特率的实现方法、装置及系统 |
CN104144053B (zh) * | 2013-05-09 | 2019-04-12 | 国民技术股份有限公司 | 一种音频调制速率自适应调整方法及终端 |
CN103259945A (zh) * | 2013-05-20 | 2013-08-21 | 苏州洲际传书信息科技有限公司 | 在voip通话中根据网络状况实现语音编码动态切换的方法 |
CN103414697B (zh) * | 2013-07-22 | 2017-04-05 | 中国联合网络通信集团有限公司 | 一种voip自适应语音编码方法、系统及sip服务器 |
CN104219220A (zh) * | 2014-02-14 | 2014-12-17 | 爱沟通网络科技有限公司 | 一种改善VoIP通信质量的系统和方法 |
CN104486359B (zh) * | 2014-12-30 | 2018-08-28 | 广州市高科通信技术股份有限公司 | Ims网络的语音质量的测试方法及装置、监控方法及系统 |
CN105162555B (zh) * | 2015-09-24 | 2019-06-25 | 广州市百果园网络科技有限公司 | 一种码率调整方法及其终端 |
CN105471865A (zh) * | 2015-11-23 | 2016-04-06 | 苏州工业园区云视信息技术有限公司 | 视频流动态适应网络状态的方法 |
CN107154913B (zh) * | 2016-03-02 | 2021-01-26 | 北京京东尚科信息技术有限公司 | 一种ip电话终端通信方法 |
CN107438056B (zh) * | 2016-05-26 | 2021-02-09 | 深圳富泰宏精密工业有限公司 | VoIP通讯模组、电子装置及VoIP通讯方法 |
CN106060028B (zh) * | 2016-05-26 | 2019-03-12 | 国网福建省电力有限公司 | 一种电力内外网语音通信安全隔离网关 |
CN107666366B (zh) * | 2016-07-28 | 2020-02-14 | 华为技术有限公司 | 一种调整编码速率的方法、装置及系统 |
CN106487652A (zh) * | 2016-09-19 | 2017-03-08 | 深圳市金立通信设备有限公司 | 一种信息交互方法及终端 |
CN107170460B (zh) * | 2017-06-30 | 2020-12-08 | 深圳Tcl新技术有限公司 | 音质调整方法、系统、主机端、及存储介质 |
CN110248257B (zh) * | 2018-03-07 | 2021-06-22 | 华为技术有限公司 | 数据传输方法、装置、网络接入设备和存储介质 |
CN111105778A (zh) * | 2018-10-29 | 2020-05-05 | 阿里巴巴集团控股有限公司 | 语音合成方法、装置、计算设备和存储介质 |
CN109495660B (zh) * | 2018-11-29 | 2021-05-18 | 广州市百果园信息技术有限公司 | 一种音频数据的编码方法、装置、设备和存储介质 |
CN113724716B (zh) * | 2021-09-30 | 2024-02-23 | 北京达佳互联信息技术有限公司 | 语音处理方法和语音处理装置 |
CN114785772A (zh) * | 2022-04-27 | 2022-07-22 | 广州宸祺出行科技有限公司 | 一种基于下载速率下载相应码率网约车音频的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1346198A (zh) * | 2000-09-30 | 2002-04-24 | 华为技术有限公司 | 一种ip语音数据包的抗丢包处理方法 |
WO2007025161A2 (en) * | 2005-08-24 | 2007-03-01 | Qualcomm Incorporated | Interleaving voip/vip transmissions in multiple sessions to increase quality of service in mobile devices having multiple interfaces |
CN1996897A (zh) * | 2005-12-28 | 2007-07-11 | 中兴通讯股份有限公司 | 一种在rtp中实时检测网络传输时延的方法 |
WO2007101328A1 (en) * | 2006-03-08 | 2007-09-13 | Mcmaster University | Adaptive voice packetization |
-
2007
- 2007-09-20 CN CN2007101519241A patent/CN101119338B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1346198A (zh) * | 2000-09-30 | 2002-04-24 | 华为技术有限公司 | 一种ip语音数据包的抗丢包处理方法 |
WO2007025161A2 (en) * | 2005-08-24 | 2007-03-01 | Qualcomm Incorporated | Interleaving voip/vip transmissions in multiple sessions to increase quality of service in mobile devices having multiple interfaces |
CN1996897A (zh) * | 2005-12-28 | 2007-07-11 | 中兴通讯股份有限公司 | 一种在rtp中实时检测网络传输时延的方法 |
WO2007101328A1 (en) * | 2006-03-08 | 2007-09-13 | Mcmaster University | Adaptive voice packetization |
Also Published As
Publication number | Publication date |
---|---|
CN101119338A (zh) | 2008-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101119338B (zh) | 网络语音通信方法、系统、装置和即时通信终端 | |
JP4842075B2 (ja) | 音声伝送装置 | |
Janssen et al. | Assessing voice quality in packet-based telephony | |
US20070206645A1 (en) | Method of dynamically adapting the size of a jitter buffer | |
US20110235500A1 (en) | Integrated echo canceller and speech codec for voice-over IP(VoIP) | |
US6697342B1 (en) | Conference circuit for encoded digital audio | |
US20100082335A1 (en) | System and method for transmitting and receiving wideband speech signals | |
CN101336450B (zh) | 在无线通信系统中用于语音编码的方法和装置 | |
US8438016B2 (en) | Silence-based adaptive real-time voice and video transmission methods and system | |
Dong et al. | A multiple description speech coder based on AMR-WB for mobile ad hoc networks | |
CN110149452A (zh) | 一种降低网络丢包率提升通话声音效果的方法 | |
US7715365B2 (en) | Vocoder and communication method using the same | |
Decina et al. | CCITT standards on digital speech processing | |
JP2005157045A (ja) | 音声伝送方法 | |
CN1574694B (zh) | 从等时远程通信流中删除编码帧以产生非等时远程通信流 | |
Yamada et al. | Voice quality evaluation of IP-based voice stream multiplexing schemes | |
Skoglund et al. | Voice over IP: Speech transmission over packet networks | |
Maheswari et al. | Performance evaluation of packet loss replacement using repetititon technique in voip streams | |
Zmily et al. | Quality codec interface for voip on differentiated services networks | |
Varun et al. | Transcoding of Voice Codecs G. 711 to G. 729 and Vice-versa Implementation on FPGA | |
US8873669B1 (en) | Adaptable codec for selecting encoding scheme based on quality of experience | |
KR100646308B1 (ko) | 패킷망에서의 무선 코덱 송수신 방법 | |
Maheswari et al. | An Improved Packet Loss Recovery in VoIP using combined source and receiver based technique | |
Maheswari et al. | Receiver based packet loss replacement technique for high quality VoIP streams | |
Yuhe et al. | New solutions of VoIP on multi-hop wireless network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |