Ip语音网络的多通道编解码任务调度方法

文档序号:7931633阅读:415来源:国知局
专利名称:Ip语音网络的多通道编解码任务调度方法
技术领域
本发明涉及IP语音网络的多通道编解码任务调度方法。
背景技术
实现IP语音一个十分重要的问题就是需要减少端到端的时间延迟。语音数据是实时的,用户话音经过的延时越长,接收端的语音效果就越差。IP网络的语音时间延迟是不可避免的,主要有两类一是网络的传播延迟,是由网络介质本身造成的,第二类延迟属于设备的处理延迟。减少IP语音的延迟主要目的就是要减少第二类延迟。
目前微处理器的处理能力大大提高,每片可以处理多个通道的语音数据。假设某个芯片的处理能力是10个通道,通道处理的IP语音数据压缩类型均为G.723。语音编解码算法的处理时间与处理器的性能有关,一般这种芯片对单通道G.723的编码时间为2ms,解码时间为0.2ms。
语音编解码算法的处理时间是相对固定的,而调度方法决定了处理延迟的大小。图1是现有传统的调度方法它采用对通道分时处理的调度方式。处理器每30ms(G.723一帧数据的采样周期)产生一次内部中断,按通道顺序对每个通道编解码。对第一个通道编码完后进行解码,再对下一个通道编码和解码。
按照这种编解码的调度方案,可以计算由于调度方式造成的延迟(a)由于多通道的编解码任务造成的延迟。以第10个通道为例,当30ms中断产生时开始通道1的编码,此时恰好接收到通道10的IP语音数据。那么通道10的解码任务被延迟的时间为已经处理的通道数×每个通道的编解码时间+通道10的编码时间=9×(2ms+0.2ms)+2ms=21.8ms。
(b)解码时间0.2ms。
(c)解码后数据在串口缓冲区最多保存5ms,串口每隔5ms将解码后的数据发送出去。
可见,通道10的IP语音数据解码后发送到串口可能被延迟27ms。另外,因为接收到IP语音数据的时间和通道的处理时间没有关系,因此某个时刻接收的IP语音数据很有可能要等到下一个30ms的中断才能处理。这样又增加了解码任务的延迟。

发明内容
本发明的目的就是为了解决以上问题,提供IP语音网络的多通道编解码任务调度方法,减小因为调度方式造成的延迟。
为实现上述目的,本发明提出一种IP语音网络的多通道编解码任务调度方法,对多个通道中需要处理的编码任务和解码任务的处理顺序进行调度安排,其特征是按任务优先级的方式调度,解码任务的优先级高,编码任务的优先级低。
由于采用了以上的方案,按照任务优先级的调度方式,提高解码任务的优先级,而解码任务所需时间大大小于编码任务所需时间,这样就减小了多通道处理引起的IP语音数据解码的延迟,同时不会使编码任务受到影响。


图1是现有的调度流程示意图。
图2是本发明的调度流程示意图。
具体实施例方式下面通过具体的实施例并结合附图对本发明作进一步详细的描述。
本发明的编解码任务调度流程请参考图2。本发明采用的是任务优先级的调度方式。在多通道的情况下,解码任务始终具有最高的优先级。一旦接收到IP语音数据,处理器将及时对该通道的IP语音数据解码,这样可以保证IP语音数据以最小的延迟解码后发送到串口。如果队列中已经没有待解码的IP语音数据,将进行一个通道的编码任务,并在单个通道的编码完成后继续查询有无IP数据等待解码。
某个通道的IP语音数据发送到串口可能被延迟的最长时间大约只有7.2ms,同样以10个通道的G.723任务为例,计算通道10可能的延迟(a)如果同时接收了10个通道的IP语音数据,那么通道10的解码输出被延迟的时间最长,延迟时间为已经处理的通道数×每个通道的解码时间=9×0.2ms=1.8ms。另一种情况,如果正在进行编码任务时有第10个通道的IP语音数据接收,则在完成通道的编码后继续处理通道10的解码任务,通道10的解码延迟时间为2ms。
(b)解码时间0.2ms(c)解码后数据在串口缓冲区最多保存5ms,串口每隔5ms将解码后的数据发送出去。
可见,本发明的调度方式将减小大约20ms的处理延迟。
本发明采用的处理方式有几个方面的特点(1)按任务优先级的方式调度。优先级有两种,解码任务的优先级高,编码任务的优先级低。本发明保证语音数据以最小的延迟处理解码任务,而不会由于编码任务的处理造成很大的延迟。
(2)由于优先处理解码任务,可能引起编码任务的延迟。但是解码处理的时间很短(10个通道的解码也只占用2ms时间),因此不会给编码任务带来大的影响。由于IP语音数据是以一定的速率在网络上传输的,并且按照一定的时间间隔放在队列中。通常都有机制保证队列中的IP语音数据不会无限制增加(比如消除抖动的jitterbuffer)。因此,不会产生编码无限期等待的情况。
(3)当多通道的处理达到峰值时,如果某个通道的编码任务出现延迟,不会对其他通道的解码任务造成延迟。但如果采用现有的调度方式,会导致多个通道的编码和解码延迟。
(4)各个通道的解码任务之间不存在优先级,只要接收到IP语音数据,立即对该通道解码。
权利要求
1.一种IP语音网络的多通道编解码任务调度方法,对多个通道中需要处理的编码任务和解码任务的处理顺序进行调度安排,其特征是按任务优先级的方式调度,解码任务的优先级高,编码任务的优先级低。
2.如权利要求1所述的IP语音网络的多通道编解码任务调度方法,其特征是按如下方法保证解码任务的高优先级查询有无IP数据等待解码,一旦一个通道接收到IP语音数据,处理器将立即对该通道的IP语音数据解码;如果队列中已经没有待解码的IP语音数据,则进行一个通道的编码任务,并在单个通道的编码完成后继续查询有无IP数据等待解码。
3.如权利要求2所述的IP语音网络的多通道编解码任务调度方法,其特征是当一个通道的编码任务完成后,使通道号增加1,以便在队列中再次没有待解码的IP语音数据时,进行下一个通道的编码任务。
4.如权利要求1或2或3所述的IP语音网络的多通道编解码任务调度方法,其特征是各个通道的解码任务之间的优先级相同。
全文摘要
本发明公开IP语音网络的多通道编解码任务调度方法,对多个通道中需要处理的编码任务和解码任务的处理顺序进行调度安排,减小因为调度方式造成的延迟,其特征是按任务优先级的方式调度,解码任务的优先级高,编码任务的优先级低。由于提高了解码任务的优先级,而解码任务所需时间大大小于编码任务所需时间,这样就减小了多通道处理引起的IP语音数据解码的延迟,同时不会使编码任务受到影响。
文档编号H04L12/56GK1486044SQ02144118
公开日2004年3月31日 申请日期2002年9月28日 优先权日2002年9月28日
发明者樊荣, 陈微, 李玉龙, 樊 荣 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1