CN101656807A - 一种网络电话发送端的语音控制方法及网络电话发送终端 - Google Patents

一种网络电话发送端的语音控制方法及网络电话发送终端 Download PDF

Info

Publication number
CN101656807A
CN101656807A CN200910190179A CN200910190179A CN101656807A CN 101656807 A CN101656807 A CN 101656807A CN 200910190179 A CN200910190179 A CN 200910190179A CN 200910190179 A CN200910190179 A CN 200910190179A CN 101656807 A CN101656807 A CN 101656807A
Authority
CN
China
Prior art keywords
occupancy
transmission
buffering area
domain
cycle
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.)
Granted
Application number
CN200910190179A
Other languages
English (en)
Other versions
CN101656807B (zh
Inventor
卞志俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gang Chunxia
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN2009101901790A priority Critical patent/CN101656807B/zh
Publication of CN101656807A publication Critical patent/CN101656807A/zh
Application granted granted Critical
Publication of CN101656807B publication Critical patent/CN101656807B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种网络电话发送端的语音控制方法,包括语音数据的采集、编码和发送过程,所述编码过程包括依据编码缓冲区及发送缓冲区的占用情况动态调整编码周期的步骤。本发明还公开了一种网络电话发送终端。本发明依据编码缓冲区的占用情况动态调整编码周期,避免因终端资源限制所造成的语音数据编码不及时而被覆盖的问题,从而保证了网络电话通话的语音质量。

Description

一种网络电话发送端的语音控制方法及网络电话发送终端
技术领域
本发明涉及通信领域,尤其涉及一种VoIP发送端的语音控制方法及VoIP发送终端。
背景技术
纯软件实现的网络电话(Voice over Internet Protocol,以下简称VoIP)终端一般运行在通用PC机上,使用普通互联网络接入的情况居多。由于Windows PC操作系统属于非抢占式多任务操作系统,当系统上所运行的程序过多或者受到病毒干扰等情况下,会出现系统资源不稳定的现象,导致纯软件实现的VoIP终端程序会遇到运行时资源得不到确保的问题,影响到VoIP通话质量,制约了VoIP应用的发展。因此需要提高VoIP软终端的通话效果,主要还需对VoIP软终端的发送端和接收端采集播放处理,以及网络通信过程进行改进和优化,通过智能的控制方法来尽量避免或减少端上的丢包、抖动和时延等问题。
下面对本文中用到的缩略词进行定义:
VoIP:即网络电话,将模拟的声音讯号经过压缩与封包之后,以数据封包的形式在IP网络进行语音讯号的传输,通俗来说也就是互联网电话或IP电话。
采集缓冲区:用户分配的缓冲区,供操作系统存放采集的语音数据,缓冲区快满时,操作系统会发送满的系统消息,用户只能在收到满的系统消息时读取数据而不能对采集缓冲区进行其它操作。
编码缓冲区:用户分配的编码前的缓冲区,用于将采集缓冲区中的语音数据取出,便于用户个性化的操作。
发送缓冲区:用户分配的编码后的缓冲区。
RTP:Real-time Transport Protocol,即实时传输协议,用于Internet上针对多媒体数据流的一种传输协议。
RTCP:Real-time Control Protocol,即实时控制协议,RTCP与RTP联合工作,采用与数据包相同的分发机制,将控制包周期性传输到所有会话参与者中。
PCM:Pulse Code Modulation,即脉码调制录音。所谓PCM录音就是将声音等模拟信号变成符号化的脉冲列,再予以记录。PCM信号是由[1]、[0]等符号构成的数字信号。
iLBC:一种专为包交换网络通信设计的编解码,优于目前流行的G.729、G.723.1,对丢包进行了特有处理,既使在丢包率相当高的网络环境下,仍可获得非常清晰的语音效果。
QoS:Quality of Service,即服务质量。QoS是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。
在通用操作系统中或移动终端上由软件实现的VoIP终端、任何一种IM或各种视频会议系统,当系统计算或处理资源不足时,如CPU利用率瞬间增高,影响系统消息的及时性,影响编码缓冲区的状态,编码缓冲区的语音数据占有率下降后在系统消息到达时急剧增高,甚至导致采集的语音数据丢失,这使得语音质量在源端已经变差,并且造成语音数据包的发送间隔突然变大,对接收端而言,数据包的抖动突然变大和丢失都将严重影响语音质量。会造成通信过程中系统消息阻塞,语音数据编解码不及时,从而语音包发送不连续,抖动增加的情况。
在此情况下,采集的数据不能按预定的周期存储和编码,编码缓冲区的语音数据占有率在系统消息未到达时下降,一旦系统消息到达,缓冲区数据量急剧增加,甚至新采集的语音数据将覆盖编码缓冲区中的语音数据,使得采集的语音数据丢失,严重影响采集的语音质量,这也造成语音包间的抖动突然增大,对接收端而言,抖动突然变大会使得语音质量变差。
目前基于发送端的语音质量控制方法没有考虑系统计算资源不足造成的影响,其采用的语音发送过程如图1,语音发送过程包括采集语音数据(有采集缓冲区),放入到编码缓冲区,编码,放入发送缓冲区,RTP打包发送到网络,应用程序每隔一定时间间隔执行该发送过程,即采集、编码、发送的周期都是一致的;有一些方案对于发送周期进行调整,依据实时传输控制协议RTCP包中的RR(接收端报告)包信息估计网络状态,从而调整发送速率的方法比较常见。
目前的语音发送过程一般为:(假设有编码缓冲区和发送缓冲区)
通过系统硬件采集长度为N(Bytes)的语音数据,形成一个PCM数据,放入采集缓冲区,设采集缓冲区的大小为N(Bytes)*2,即两块大小为N(Bytes)的缓冲。
1)采集缓冲区的一块缓冲满了,放入编码缓冲区。
2)编码缓冲区的数据占有率小于P,转到1),否则下一步。
3)使用某种编码方式压缩编码缓冲区中最老PCM数据,形成帧并放入发送缓冲区。
4)对帧进行RTP打包发送。
5)隔20ms,重复1)至-5)。
根据网络状态控制发送速率的方法通常流程为:
1)在RTP会话中,参与者周期性地传送RTCP包,RTCP包中的RR包含有已发送数据包数量,丢失数据包数量,据此可计算出最近周期内网络丢包率b。
2)分析丢包率。为防止QoS震荡,通常对丢包率作平滑处理,如λi=λi-1*(1-a)+a*b,其中λi-1为第i-1个时间段得到的平滑丢包率,b为RR包反馈的最新丢包率,a(0<a<1)是调整参数,a的大小决定b对最终结果影响的大小。
3)基于丢包率估计网络状态。如设定门限值λc和λi,根据平滑后的丢包率λ,估计如下,当λ>λc时,网络拥塞;当λ<λi时,网络空闲,介于两者之间时,网络状态适中。
4)调整发送速率。设初始速率为IR,MaxRate/MinRate是发送端最大最小发送速率,AIR是速率的线性增量β,是乘性减小因子。则控制方法为:
a)按初始速率发送数据,R=IR
b)根据接收端反馈的RTCP包中的信息计算出丢包率,平滑处理后进行网
c)络状态判断并根据下式调整发送速率。
If(λ>λc)       R=max{MinRate,(β*R)}
Else if(λ<λi)  R=min{MaxRate,(R+AIR)}
根据网络状态控制发送速率就仅仅考虑了网络的状态,忽视了系统计算资源不稳定造成VoIP终端程序运行时资源得不到确保,影响到VoIP通话质量的问题。
发明内容
本发明要解决的技术问题是提供一种可提高网络电话终端发送语音质量的网络电话发送端的语音控制方法及网络电话发送终端。
本发明的技术问题通过以下技术方案加以解决:
一种网络电话发送端的语音控制方法,包括语音数据的采集、编码和发送过程,所述编码过程包括依据编码缓冲区及发送缓冲区的占用情况动态调整编码周期的步骤。
上述方法中,所述调整编码周期的步骤具体执行以下操作:
步骤A1.动态检测编码缓冲区的占用率P和发送缓冲区的占用率O;
步骤B1.根据所述编码缓冲区的占用率P和发送缓冲区的占用率O的当次检测结果,执行模糊控制方法,以计算出所需编码周期;
步骤C1.将当前编码周期调整为根据步骤B1计算出的所需编码周期。
上述方法中,步骤B1所述模糊控制方法具体执行以下操作:
步骤S1.分别设定编码缓冲区的模糊集合CS、发送缓冲区的模糊集合SS和编码周期模糊集合CT;
步骤S2.分别设定所述占用率P的论域ep、所述占用率O的论域eo和所述编码周期的论域et;
步骤S3.分别建立所述模糊集合CS和所述论域ep的第一隶属度表、所述模糊集合SS和所述论域eo的第二隶属度表以及所述模糊集合CT和所述论域et的第三隶属度表;
步骤S4.基于所述第一隶属度表、第二隶属度表和第三隶属度表建立第一模糊控制规则;
步骤S5.对第一模糊控制规则进行逆模糊化,得到论域ep和论域eo与论域et的第一对应表
步骤S6.通过编码缓冲区的占用率P和发送缓冲区的占用率O在所述第一对应表中查找相应的编码周期。
上述方法中,所述发送过程包括依据发送缓冲区的占用情况动态调整发送周期的步骤。
上述方法中,所述调整发送周期的步骤具体执行以下操作:
步骤A2.根据发送缓冲区的占用率O,按照发送控制规则计算所需发送周期;
步骤B2.将当前发送周期调整为根据步骤A2计算出的所需发送周期。
上述方法中,所述发送控制规则通过设定发送缓冲区剩余区域大小与发送周期的第二对应表来建立;所述步骤B2具体通过根据发送缓冲区的占用率O在所述第二对应表中查找相应的发送周期来实现。
一种网络电话发送终端,包括采集模块、编码模块和发送模块,所述采集模块用于采集语音数据;所述编码模块用于对语音数据进行编码;所述发送模块用于发送编码后的语音数据;所述编码模块还用于依据编码缓冲区及发送缓冲区的占用情况动态调整编码周期。
上述发送终端,所述编码模块还包括第一检测单元和第一计算单元,所述第一检测单元用于动态检测编码缓冲区的占用率P和发送缓冲区的占用率O;所述第一计算单元用于根据所述编码缓冲区的占用率P和发送缓冲区的占用率O的本次检测结果,执行模糊控制方法,以计算出所需编码周期;所述编码模块还用于将当前编码周期调整为根据步骤B1计算出的所需编码周期调整本次编码周期。
上述发送终端,所述第一计算单元还用于分别设定编码缓冲区的模糊集合CS、发送缓冲区的模糊集合SS和编码周期模糊集合CT;分别设定所述占用率P的论域ep、所述占用率O的论域eo和所述编码周期的论域et;分别建立所述模糊集合CS和所述论域ep的第一隶属度表、所述模糊集合SS和所述论域eo的第二隶属度表以及所述模糊集合CT和所述论域et的第三隶属度表;基于所述第一隶属度表、第二隶属度表和第三隶属度表建立第一模糊控制规则;对第一模糊控制规则进行逆模糊化,得到论域ep和论域eo与论域et的第一对应表,所述第一计算单元还用于根据占用率P和占用率O,在所述第一对应表中查找相应的编码周期。
上述发送终端,所述发送模块还用于依据发送缓冲区的占用情况动态调整发送周期。
上述发送终端,所述发送模块包括第二计算单元,用于根据发送缓冲区的占用率O,按照发送控制规则计算所需发送周期;所述发送模块将当前发送周期调整为根据步骤A2计算出的所需发送周期。
上述发送终端,所述第二计算单元还用于通过设定发送缓冲区剩余区域大小与发送周期的第二对应表来建立所述发送控制规则;根据发送缓冲区的占用率O计算发送缓冲区剩余区域大小,并在所述第二对应表中查找相应的发送周期。
本发明与现有技术相比较的有益效果是:
(1)本发明依据编码缓冲区和发送缓冲区的占用情况动态调整编码周期,避免因终端资源限制所造成的语音数据编码不及时而被覆盖的问题,从而保证了VoIP通话的语音质量;
(2)本发明通过检测编码缓冲区的占用率P和发送缓冲区的占用率O,执行模糊控制方法计算编码周期并进行调整,能够自适应地调整编码周期,实现了消除抖动造成的语音质量变差之问题;
(3)本发明通过发送控制规则动态调整发送周期,可以有效消除通话时延,进一步提高了通话质量。
附图说明
图1是目前语音发送过程示意图;
图2是本发明一种实施方式中VoIP发送终端的结构示意图;
图3是本发明方法一种具体实施方式的调整编码周期流程图;
图4是本发明方法一种具体实施方式的编码周期控制流程图;
图5是本发明方法一种具体实施方式的编码缓冲区控制框图;
图6是本发明方法一种具体实施方式的控制发送周期的流程图。
具体实施方式
下面用具体实施方式结合附图对本发明做进一步详细说明。
本发明通过检测编码缓冲区占用率和发送缓冲区的占用率,使用模糊控制算法,计算合适的编码周期控制编码缓冲区的占用率,尽可能保证采集数据不丢失。
本发明通过使用相应控制算法计算合适的发送周期,控制发送缓冲区的占用率,具有自适应主机性能,改善发送端语音质量的良好效果。
本发明网络电话发送终端,其一种实施方式,如图2所示,包括采集模块、编码模块和发送模块。采集模块用于采集语音数据,被采集的语音数据具体可放入采集模块中的采集缓冲区。编码模块用于对语音数据进行编码,待编码的语音数据具体可存放在编码模块中的编码缓冲区。发送模块用于发送编码后的语音数据,待发送的语音数据具体可存放在发送模块中的发送缓冲区。编码模块还用于依据编码缓冲区及发送缓冲区的占用情况动态调整编码周期。
在一种实施方式中,编码模块还包括第一检测单元和第一计算单元,第一检测单元用于动态检测编码缓冲区的占用率P和发送缓冲区的占用率O;第一计算单元用于根据编码缓冲区的占用率P和发送缓冲区的占用率O,执行模糊控制方法,以计算出所需编码周期;编码模块还用于将当前编码周期调整为根据步骤B1计算出的所需编码周期。
第一检测单元用于通过下式计算获得编码缓冲区的占用率P:P=Md/M,其中M表示整个编码缓冲区的大小,Md表示已被数据占用的编码缓冲区的大小;通过下式计算获得发送缓冲区的占用率O:O=Bd/B,其中B表示整个发送缓冲区的大小,Bd表示已被数据占用的发送缓冲区的大小。
第一计算单元还用于分别设定编码缓冲区的模糊集合CS、发送缓冲区的模糊集合SS和编码周期模糊集合CT;分别设定所述编码缓冲区的占用率P的论域ep、所述发送缓冲区的占用率O的论域eo和所述编码周期的论域et;分别建立所述模糊集合CS和所述论域ep的第一隶属度表、所述模糊集合SS和所述论域eo的第二隶属度表以及所述模糊集合CT和所述论域et的第三隶属度表;基于所述第一隶属度表、第二隶属度表和第三隶属度表建立第一模糊控制规则;对第一模糊控制规则进行逆模糊化,得到论域ep和论域eo与论域et的第一对应表;第一计算单元还用于根据编码缓冲区的占用率P和发送缓冲区的占用率O,在第一对应表中查找相应的编码周期。
发送模块还可用于依据发送缓冲区的占用情况动态调整发送周期。
发送模块包括第二计算单元,第二计算单元根据发送缓冲区的占用率O,按照发送控制规则计算出所需发送周期;发送模块还用于将当前发送周期调整为计算出的所需发送周期。
发送模块还可以包括第二检测单元,第二检测单元用于动态检测发送缓冲区的占用率O。发送缓冲区的占用率O也可使用第一检测单元动态检测的结果。
第二计算单元还用于通过设定发送缓冲区剩余区域大小与发送周期的第二对应表来建立发送控制规则;根据发送缓冲区的占用率O计算发送缓冲区剩余区域大小,并在第二对应表中查找相应的发送周期。
本发明网络电话发送端的语音控制方法,其一种实施方式,包括语音数据的采集、编码和发送过程,该编码过程包括依据编码缓冲区及发送缓冲区的占用情况动态调整编码周期的步骤。
调整编码周期的步骤具体执行以下操作:
步骤A1.动态检测编码缓冲区的占用率P和发送缓冲区的占用率O;
步骤B1.根据编码缓冲区的占用率P和发送缓冲区的占用率O的本次检测结果,执行模糊控制方法,以计算出所需编码周期;
步骤C1.将当前编码周期调整为根据步骤B1计算出的所需编码周期。
本发明方法的另一种实施方式,其调整编码周期的过程如图3如示,具体包括以下步骤:
步骤301:动态检测编码缓冲区的占用率P和发送缓冲区的占用率O;检测当前编码缓冲区的占用率P,即缓冲区中编码前语音数据占整个缓冲区的比率,P=Md/M,其中M是编码缓冲区的大小,Md是编码缓冲区中数据的大小;检测当前发送缓冲区的占用率O,即缓冲区中编码后语音数据占整个缓冲区的比率,O=Bd/B,其中B是发送缓冲区的大小,Bd是发送缓冲区中数据的大小;
步骤302:选择模糊计算方法;根据编码缓冲区的占用率P和发送缓冲区的占用率O,执行模糊控制方法,选择模糊计算方法;
步骤303:计算编码周期;根据选择的模糊计算方法计算出所需编码周期;
步骤304:调整编码周期;判断是否需要改变当前的数据编码周期,如需改变当前的数据编码周期,则将当前编码周期改为计算所得,否则不改变编码周期。
通过执行这些步骤,一组最佳的编码周期在整个会话中被连续地使用。
在一种实施方式中,编码流程如图4所示,包括以下步骤:
启动编码流程;
步骤401:编码;从编码缓冲区中取出语音数据进行编码,将编码后的语音数据放入发送缓冲区;
步骤402:检测编码缓冲区的占用率P和发送缓冲区的占用率O;检测当前编码缓冲区的占用率P,即缓冲区中编码前语音数据占整个缓冲区的比率,P=Md/M,其中M是编码缓冲区的大小,Md是编码缓冲区中数据的大小;检测当前发送缓冲区的占用率O,即缓冲区中编码后语音数据占整个缓冲区的比率,O=Bd/B,其中B是发送缓冲区的大小,Bd是发送缓冲区中数据的大小;
步骤403:选择模糊计算方法;根据编码缓冲区的占用率P和发送缓冲区的占用率O,执行编码周期模糊控制方法,选择编码周期模糊计算方法;
步骤404:计算所需编码周期;根据选择的模糊计算方法计算出合适的所需编码周期;
步骤405:调整编码周期;判断是否需要改变当前的数据编码周期,如需改变当前的数据编码周期,则将当前编码周期改为计算所得,否则不改变编码周期;
步骤406:计算得到的所需编码周期到时,转步骤401。
其中,步骤403中的编码周期模糊控制方法具体包括以下步骤:
1.对检测到的编码缓冲区占用率P和发送缓冲区占用率O进行模糊化;
2.根据编码周期模糊控制方法获得模糊输出;
3.对模糊输出进行逆模糊化。
本实施方式的编码控制框图如图5所示,控制的参数为(P,O),输出结果为编码周期et。将检测到的编码缓冲区占用率P和发送缓冲区占用率O分别进行模糊化,作为模糊控制的输入,依据设定的模糊控制规则进行相应的模糊推理得到模糊输出,最后对模糊输出进行清晰化,得到精确的输出,即本次编码周期et。
本发明的模糊控制方法,在一种实施方式中包括以下步骤:
步骤S1:分别设定编码缓冲区的模糊集合CS、发送缓冲区的模糊集合SS和编码周期模糊集合CT。
CS、SS和CT分别为编码缓冲区的占用率、发送缓冲区的占用率和编码周期的模糊语言变量,将CS分为6个模糊集合,将SS分为5个模糊集合,将CT分为7个模糊集合。表示成模糊子集分别为:
CS={NF,ND,NZ,NA,NT,NH},依次表示太低,低,正常,较高,太高,最高。
SS={SF,SD,SZ,SA,ST},依次表示太低,低,正常,较高,太高。
CT={CL,CF,CB,CS,CZ,CM,CG},依次表示最短,非常短,比较短,稍短,正常,较长,非常长。
步骤S2:分别设定占用率P的论域ep、所述占用率O的论域eo和编码周期的论域et;
设定编码缓冲区和发送缓冲区为8个PCM数据大小,那么P的论域ep和O的论域eo分别为:
ep=1/8{-1,0,1,2,3,4,5,6,7}
eo=1/8{-1,0,1,2,3,4,5,6,7}
设编码周期的论域et为:
et={5,10,15,20,30,40}
步骤S3:分别建立模糊集合CS和论域ep的第一隶属度表,如表1所示;模糊集合SS和所述论域eo的第二隶属度表,如表2所示;以及模糊集合CT和所述论域et的第三隶属度表,如表3所示。
  语言\P(1/8)   -1   0   1   2   3   4   5   6   7
  NF   1   0.2   0   0   0   0   0   0   0
  ND   0.2   1   0.8   0.2   0   0   0   0   0
  NZ   0   0   0.2   1   0.8   0   0   0   0
  NA   0   0   0   0   0.2   1   0.3   0   0
  NT   0   0   0   0   0   0.2   0.8   0.3   0.2
  NH   0   0   0   0   0   0   0.2   0.8   0.9
表1
  语言\O(1/8)   -1   0   1   2   3   4   5   6   7
  SF   1   0.3   0   0   0   0   0   0   0
  SD   0.2   0.8   0.3   0.2   0   0   0   0   0
  SZ   0   0   0.9   0.8   0.4   0.2   0   0   0
  SA   0   0   0   0   0.7   1   0.4   0   0
  ST   0   0   0   0   0   0   0.8   0.8   1
表2
  语言\t   5   10   15   20   30   40
  CL   0.9   0.6   0   0   0   0
  CF   1   0.7   0   0   0   0
  CB   0.2   1   0.7   0   0   0
  CS   0   0.2   1   0.2   0   0
  CZ   0   0   0   1   0   0
  CM   0   0   0   0   1   0
  CG   0   0   0   0   0   1
表3
步骤S4:基于第一隶属度表、第二隶属度表和第三隶属度表建立第一模糊控制规则;
根据模糊控制经验和实际测试中的不断校正,得到模糊控制规则如表4所示。
  CS\SS   SF   SD   SZ   SA   ST
  NF   CG   CG   CG   CG   CG
  ND   CZ   CZ   CM   CG   CG
  NZ   CZ   CZ   CZ   CM   CG
  NA   CS   CB   CB   CS   CZ
  NT   CF   CF   CF   CB   CS
  NH   CL   CL   CB   CB   CB
表4
根据模糊输出进行逆模糊化得到精确的编码周期et,本实施方式采用下述公式进行加权平均。
et = Σ μ i * P i Σ μ i
其中ui表示所得模糊输出的对应各论域值的隶属度,pi表示各论域值。
步骤S5:对第一模糊控制规则进行逆模糊化,得到论域ep和论域eo与论域et的第一对应表,如表5所示。
  P\O   -1   0   1   2   3   4   5   6   7
  -1   40   40   40   40   40   40   40   40   40
  0   20   20   30   30   40   40   40   40   40
  1   20   20   30   30   40   40   40   40   40
  2   20   20   20   20   30   30   40   40   40
  3   20   20   20   20   30   30   40   40   40
  4   12   12   12   12   15   15   20   20   20
  5   9   9   9   9   12   12   15   15   15
  6   7   7   7   7   12   12   12   12   12
  7   7   7   7   7   12   12   12   12   12
表5
步骤S6:通过编码缓冲区的占用率P和发送缓冲区的占用率O在所述第一对应表中查找相应的编码周期。
本实施方式还包括语音数据发送周期控制的流程,其一种实施方式如图6所示,包括以下步骤:
步骤601:将发送缓冲区中的语音数据取出打包发送到网络;
步骤602:动态检测当前发送缓冲区的占用率O,即缓冲区中数据占整个缓冲区的比率,O=Bd/B,其中B是发送缓冲区的大小,Bd是发送缓冲区中数据的大小;
步骤603:根据当前的占用率O依据发送周期控制规则计算发送周期;
步骤604:判断是否需要改变当前的数据发送周期,如果需要改变当前的数据发送周期,那么将当前发送周期改为计算所得;否则不改变发送速率;
步骤605:计算的发送周期时间到时,转步骤601。
通过执行这些步骤,一组最佳的发送周期在整个会话中被连续的使用。
在一种具体实施方式中,发送控制规则可以定义如下:控制的参数为占用率O,输出结果为发送周期st。每次取一个话音包发送后检测缓冲区未被占用的大小sl,根据sl确定下一次发送的间隔。调整的依据为使得sl稳定在2,实践测试所得sl与st的对应表如表6所示:
  sl   -1   0   1   2   3   4   5   6   7
  st(ms)   30   25   20   20   12   9   9   7   7
表6
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (12)

1.一种网络电话发送端的语音控制方法,包括语音数据的采集、编码和发送过程,其特征在于,所述编码过程包括依据编码缓冲区及发送缓冲区的占用情况动态调整编码周期的步骤。
2.根据权利要求1所述的方法,其特征在于,所述调整编码周期的步骤具体执行以下操作:
步骤A1.动态检测编码缓冲区的占用率P和发送缓冲区的占用率O;
步骤B1.根据所述编码缓冲区的占用率P和发送缓冲区的占用率O的当次检测结果,执行模糊控制方法,以计算出所需编码周期;
步骤C1.将当前编码周期调整为根据步骤B1计算出的所需编码周期。
3.根据权利要求2所述的方法,其特征在于,步骤B1所述模糊控制方法具体执行以下操作:
步骤S1.分别设定编码缓冲区的模糊集合CS、发送缓冲区的模糊集合SS和编码周期模糊集合CT;
步骤S2.分别设定所述占用率P的论域ep、所述占用率O的论域eo和所述编码周期的论域et;
步骤S3.分别建立所述模糊集合CS和所述论域ep的第一隶属度表、所述模糊集合SS和所述论域eo的第二隶属度表以及所述模糊集合CT和所述论域et的第三隶属度表;
步骤S4.基于所述第一隶属度表、第二隶属度表和第三隶属度表建立第一模糊控制规则;
步骤S5.对第一模糊控制规则进行逆模糊化,得到论域ep和论域eo与论域et的第一对应表
步骤S6.通过编码缓冲区的占用率P和发送缓冲区的占用率O在所述第一对应表中查找相应的编码周期。
4.根据权利要求1至3任一所述的方法,其特征在于,所述发送过程包括依据发送缓冲区的占用情况动态调整发送周期的步骤。
5.根据权利要求4所述的方法,其特征在于,所述调整发送周期的步骤具体执行以下操作:
步骤A2.根据发送缓冲区的占用率O,按照发送控制规则计算所需发送周期;
步骤B2.将当前发送周期调整为根据步骤A2计算出的所需发送周期。
6.根据权利要求5所述的方法,其特征在于,所述发送控制规则通过设定发送缓冲区剩余区域大小与发送周期的第二对应表来建立;所述步骤B2具体通过根据发送缓冲区的占用率O在所述第二对应表中查找相应的发送周期来实现。
7.一种网络电话发送终端,包括采集模块、编码模块和发送模块,
所述采集模块用于采集语音数据;
所述编码模块用于对语音数据进行编码;
所述发送模块用于发送编码后的语音数据;
其特征在于,所述编码模块还用于依据编码缓冲区及发送缓冲区的占用情况动态调整编码周期。
8.根据权利要求9所述的发送终端,其特征在于,所述编码模块还包括第一检测单元和第一计算单元,所述第一检测单元用于动态检测编码缓冲区的占用率P和发送缓冲区的占用率O;所述第一计算单元用于根据所述编码缓冲区的占用率P和发送缓冲区的占用率O的本次检测结果,执行模糊控制方法,以计算出所需编码周期;所述编码模块还用于将当前编码周期调整为根据步骤B1计算出的所需编码周期调整本次编码周期。
9.根据权利要求8所述的发送终端,其特征在于,所述第一计算单元还用于分别设定编码缓冲区的模糊集合CS、发送缓冲区的模糊集合SS和编码周期模糊集合CT;分别设定所述占用率P的论域ep、所述占用率O的论域eo和所述编码周期的论域et;分别建立所述模糊集合CS和所述论域ep的第一隶属度表、所述模糊集合SS和所述论域eo的第二隶属度表以及所述模糊集合CT和所述论域et的第三隶属度表;基于所述第一隶属度表、第二隶属度表和第三隶属度表建立第一模糊控制规则;对第一模糊控制规则进行逆模糊化,得到论域ep和论域eo与论域et的第一对应表,所述第一计算单元还用于根据占用率P和占用率O,在所述第一对应表中查找相应的编码周期。
10.根据权利要求7至9任一所述的发送终端,其特征在于,所述发送模块还用于依据发送缓冲区的占用情况动态调整发送周期。
11.根据权利要求10所述的发送终端,其特征在于,所述发送模块包括第二计算单元,用于根据发送缓冲区的占用率O,按照发送控制规则计算所需发送周期;所述发送模块将当前发送周期调整为根据步骤A2计算出的所需发送周期。
12.根据权利要求11所述的发送终端,其特征在于,所述第二计算单元还用于通过设定发送缓冲区剩余区域大小与发送周期的第二对应表来建立所述发送控制规则;根据发送缓冲区的占用率O计算发送缓冲区剩余区域大小,并在所述第二对应表中查找相应的发送周期。
CN2009101901790A 2009-09-08 2009-09-08 一种网络电话发送端的语音控制方法及网络电话发送终端 Expired - Fee Related CN101656807B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101901790A CN101656807B (zh) 2009-09-08 2009-09-08 一种网络电话发送端的语音控制方法及网络电话发送终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101901790A CN101656807B (zh) 2009-09-08 2009-09-08 一种网络电话发送端的语音控制方法及网络电话发送终端

Publications (2)

Publication Number Publication Date
CN101656807A true CN101656807A (zh) 2010-02-24
CN101656807B CN101656807B (zh) 2012-07-04

Family

ID=41710881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101901790A Expired - Fee Related CN101656807B (zh) 2009-09-08 2009-09-08 一种网络电话发送端的语音控制方法及网络电话发送终端

Country Status (1)

Country Link
CN (1) CN101656807B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107809385A (zh) * 2017-10-11 2018-03-16 中国电子科技集团公司第三十研究所 一种Packet‑In消息的触发与控制方法
CN109547645A (zh) * 2018-12-29 2019-03-29 Tcl移动通信科技(宁波)有限公司 移动终端及其通话声音控制处理方法、装置及存储介质
US10917452B2 (en) 2016-09-07 2021-02-09 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Speech coding adjustment method in VoLTE communication and serving base station thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8238376B2 (en) * 2005-04-13 2012-08-07 Sony Corporation Synchronized audio/video decoding for network devices
CN101119338B (zh) * 2007-09-20 2010-07-07 腾讯科技(深圳)有限公司 网络语音通信方法、系统、装置和即时通信终端
CN101183917B (zh) * 2007-12-24 2010-09-01 腾讯科技(深圳)有限公司 一种多媒体数据编码速率调节方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10917452B2 (en) 2016-09-07 2021-02-09 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Speech coding adjustment method in VoLTE communication and serving base station thereof
CN108028723B (zh) * 2016-09-07 2021-03-16 深圳前海达闼云端智能科技有限公司 一种VoLTE通信语音编码调整的方法和服务基站
CN107809385A (zh) * 2017-10-11 2018-03-16 中国电子科技集团公司第三十研究所 一种Packet‑In消息的触发与控制方法
CN109547645A (zh) * 2018-12-29 2019-03-29 Tcl移动通信科技(宁波)有限公司 移动终端及其通话声音控制处理方法、装置及存储介质

Also Published As

Publication number Publication date
CN101656807B (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
WO2017148260A1 (zh) 语音编码发送方法和装置
CN102325274B (zh) 一种自适应网络带宽的视频流传输控制方法
CN101854308B (zh) VoIP系统高音质服务网络自适应实现方法
CN109743600B (zh) 基于可穿戴的现场运维自适应视频流传输速率控制方法
CN102668466B (zh) 通信网络中调度传输的方法和相应的通信节点
CN105100675A (zh) 一种终端视频通信的质量调节方法及系统
RU2009116472A (ru) Динамическая модификация свойств видео
CN103648058A (zh) 基于信道测量的3g媒体流跨层速率控制方法
US7411978B2 (en) Method of transmitting data packets using RTP and RTCP protocols
CN110996103A (zh) 一种根据网络情况对视频编码码率进行调节的方法
CN111741249B (zh) 一种网络拥塞检测方法及装置
EP1339193B1 (en) Data rate controller
Reis et al. Distortion optimized multi-service scheduling for next-generation wireless mesh networks
CN103037391B (zh) 基于数据流预测的低功耗rrc协议优化控制方法
CN106507024A (zh) 一种自适应码率调整方法及装置
CN106789427A (zh) 一种网络传输量计算方法
CN104754339B (zh) I帧调整方法、装置及系统
CN109495660A (zh) 一种音频数据的编码方法、装置、设备和存储介质
US8438016B2 (en) Silence-based adaptive real-time voice and video transmission methods and system
CN101656807B (zh) 一种网络电话发送端的语音控制方法及网络电话发送终端
CN100425033C (zh) 多速率网络视频流媒体承载方法及系统
US8649277B2 (en) Communication apparatus and method
JP2004535115A (ja) Ip電話技術のための動的待ち時間管理
US8218452B2 (en) Network detection of real-time applications using incremental linear regression
JP2014160911A (ja) パケット処理装置、方法及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Hua Wenmei

Inventor after: Bian Zhijun

Inventor after: Tao Jun

Inventor after: Yan Rongrong

Inventor before: Bian Zhijun

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: BIAN ZHIJUN TO: HUA WENMEI BIAN ZHIJUN YAO JUN YAN RONGRONG

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20170825

Address after: 021000 the Inner Mongolia Autonomous Region Hulun Buir City Oroqen Gan River town prosperity Road No. 42

Patentee after: Gang Chunxia

Address before: 518057 Nanshan District science and Technology Park, Guangdong, South Road, ZTE building, science and Technology Park

Patentee before: ZTE Corp.

TR01 Transfer of patent right
CB03 Change of inventor or designer information

Inventor after: Gang Chunxia

Inventor before: Hua Wenmei

Inventor before: Bian Zhijun

Inventor before: Tao Jun

Inventor before: Yan Rongrong

CB03 Change of inventor or designer information
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120704

CF01 Termination of patent right due to non-payment of annual fee