專利名稱:Ip語音網(wǎng)絡(luò)的多通道編解碼任務(wù)調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明涉及IP語音網(wǎng)絡(luò)的多通道編解碼任務(wù)調(diào)度方法。
背景技術(shù):
實現(xiàn)IP語音一個十分重要的問題就是需要減少端到端的時間延遲。語音數(shù)據(jù)是實時的,用戶話音經(jīng)過的延時越長,接收端的語音效果就越差。IP網(wǎng)絡(luò)的語音時間延遲是不可避免的,主要有兩類一是網(wǎng)絡(luò)的傳播延遲,是由網(wǎng)絡(luò)介質(zhì)本身造成的,第二類延遲屬于設(shè)備的處理延遲。減少IP語音的延遲主要目的就是要減少第二類延遲。
目前微處理器的處理能力大大提高,每片可以處理多個通道的語音數(shù)據(jù)。假設(shè)某個芯片的處理能力是10個通道,通道處理的IP語音數(shù)據(jù)壓縮類型均為G.723。語音編解碼算法的處理時間與處理器的性能有關(guān),一般這種芯片對單通道G.723的編碼時間為2ms,解碼時間為0.2ms。
語音編解碼算法的處理時間是相對固定的,而調(diào)度方法決定了處理延遲的大小。圖1是現(xiàn)有傳統(tǒng)的調(diào)度方法它采用對通道分時處理的調(diào)度方式。處理器每30ms(G.723一幀數(shù)據(jù)的采樣周期)產(chǎn)生一次內(nèi)部中斷,按通道順序?qū)γ總€通道編解碼。對第一個通道編碼完后進行解碼,再對下一個通道編碼和解碼。
按照這種編解碼的調(diào)度方案,可以計算由于調(diào)度方式造成的延遲(a)由于多通道的編解碼任務(wù)造成的延遲。以第10個通道為例,當(dāng)30ms中斷產(chǎn)生時開始通道1的編碼,此時恰好接收到通道10的IP語音數(shù)據(jù)。那么通道10的解碼任務(wù)被延遲的時間為已經(jīng)處理的通道數(shù)×每個通道的編解碼時間+通道10的編碼時間=9×(2ms+0.2ms)+2ms=21.8ms。
(b)解碼時間0.2ms。
(c)解碼后數(shù)據(jù)在串口緩沖區(qū)最多保存5ms,串口每隔5ms將解碼后的數(shù)據(jù)發(fā)送出去。
可見,通道10的IP語音數(shù)據(jù)解碼后發(fā)送到串口可能被延遲27ms。另外,因為接收到IP語音數(shù)據(jù)的時間和通道的處理時間沒有關(guān)系,因此某個時刻接收的IP語音數(shù)據(jù)很有可能要等到下一個30ms的中斷才能處理。這樣又增加了解碼任務(wù)的延遲。
發(fā)明內(nèi)容
本發(fā)明的目的就是為了解決以上問題,提供IP語音網(wǎng)絡(luò)的多通道編解碼任務(wù)調(diào)度方法,減小因為調(diào)度方式造成的延遲。
為實現(xiàn)上述目的,本發(fā)明提出一種IP語音網(wǎng)絡(luò)的多通道編解碼任務(wù)調(diào)度方法,對多個通道中需要處理的編碼任務(wù)和解碼任務(wù)的處理順序進行調(diào)度安排,其特征是按任務(wù)優(yōu)先級的方式調(diào)度,解碼任務(wù)的優(yōu)先級高,編碼任務(wù)的優(yōu)先級低。
由于采用了以上的方案,按照任務(wù)優(yōu)先級的調(diào)度方式,提高解碼任務(wù)的優(yōu)先級,而解碼任務(wù)所需時間大大小于編碼任務(wù)所需時間,這樣就減小了多通道處理引起的IP語音數(shù)據(jù)解碼的延遲,同時不會使編碼任務(wù)受到影響。
圖1是現(xiàn)有的調(diào)度流程示意圖。
圖2是本發(fā)明的調(diào)度流程示意圖。
具體實施例方式下面通過具體的實施例并結(jié)合附圖對本發(fā)明作進一步詳細的描述。
本發(fā)明的編解碼任務(wù)調(diào)度流程請參考圖2。本發(fā)明采用的是任務(wù)優(yōu)先級的調(diào)度方式。在多通道的情況下,解碼任務(wù)始終具有最高的優(yōu)先級。一旦接收到IP語音數(shù)據(jù),處理器將及時對該通道的IP語音數(shù)據(jù)解碼,這樣可以保證IP語音數(shù)據(jù)以最小的延遲解碼后發(fā)送到串口。如果隊列中已經(jīng)沒有待解碼的IP語音數(shù)據(jù),將進行一個通道的編碼任務(wù),并在單個通道的編碼完成后繼續(xù)查詢有無IP數(shù)據(jù)等待解碼。
某個通道的IP語音數(shù)據(jù)發(fā)送到串口可能被延遲的最長時間大約只有7.2ms,同樣以10個通道的G.723任務(wù)為例,計算通道10可能的延遲(a)如果同時接收了10個通道的IP語音數(shù)據(jù),那么通道10的解碼輸出被延遲的時間最長,延遲時間為已經(jīng)處理的通道數(shù)×每個通道的解碼時間=9×0.2ms=1.8ms。另一種情況,如果正在進行編碼任務(wù)時有第10個通道的IP語音數(shù)據(jù)接收,則在完成通道的編碼后繼續(xù)處理通道10的解碼任務(wù),通道10的解碼延遲時間為2ms。
(b)解碼時間0.2ms(c)解碼后數(shù)據(jù)在串口緩沖區(qū)最多保存5ms,串口每隔5ms將解碼后的數(shù)據(jù)發(fā)送出去。
可見,本發(fā)明的調(diào)度方式將減小大約20ms的處理延遲。
本發(fā)明采用的處理方式有幾個方面的特點(1)按任務(wù)優(yōu)先級的方式調(diào)度。優(yōu)先級有兩種,解碼任務(wù)的優(yōu)先級高,編碼任務(wù)的優(yōu)先級低。本發(fā)明保證語音數(shù)據(jù)以最小的延遲處理解碼任務(wù),而不會由于編碼任務(wù)的處理造成很大的延遲。
(2)由于優(yōu)先處理解碼任務(wù),可能引起編碼任務(wù)的延遲。但是解碼處理的時間很短(10個通道的解碼也只占用2ms時間),因此不會給編碼任務(wù)帶來大的影響。由于IP語音數(shù)據(jù)是以一定的速率在網(wǎng)絡(luò)上傳輸?shù)模⑶野凑找欢ǖ臅r間間隔放在隊列中。通常都有機制保證隊列中的IP語音數(shù)據(jù)不會無限制增加(比如消除抖動的jitterbuffer)。因此,不會產(chǎn)生編碼無限期等待的情況。
(3)當(dāng)多通道的處理達到峰值時,如果某個通道的編碼任務(wù)出現(xiàn)延遲,不會對其他通道的解碼任務(wù)造成延遲。但如果采用現(xiàn)有的調(diào)度方式,會導(dǎo)致多個通道的編碼和解碼延遲。
(4)各個通道的解碼任務(wù)之間不存在優(yōu)先級,只要接收到IP語音數(shù)據(jù),立即對該通道解碼。
權(quán)利要求
1.一種IP語音網(wǎng)絡(luò)的多通道編解碼任務(wù)調(diào)度方法,對多個通道中需要處理的編碼任務(wù)和解碼任務(wù)的處理順序進行調(diào)度安排,其特征是按任務(wù)優(yōu)先級的方式調(diào)度,解碼任務(wù)的優(yōu)先級高,編碼任務(wù)的優(yōu)先級低。
2.如權(quán)利要求1所述的IP語音網(wǎng)絡(luò)的多通道編解碼任務(wù)調(diào)度方法,其特征是按如下方法保證解碼任務(wù)的高優(yōu)先級查詢有無IP數(shù)據(jù)等待解碼,一旦一個通道接收到IP語音數(shù)據(jù),處理器將立即對該通道的IP語音數(shù)據(jù)解碼;如果隊列中已經(jīng)沒有待解碼的IP語音數(shù)據(jù),則進行一個通道的編碼任務(wù),并在單個通道的編碼完成后繼續(xù)查詢有無IP數(shù)據(jù)等待解碼。
3.如權(quán)利要求2所述的IP語音網(wǎng)絡(luò)的多通道編解碼任務(wù)調(diào)度方法,其特征是當(dāng)一個通道的編碼任務(wù)完成后,使通道號增加1,以便在隊列中再次沒有待解碼的IP語音數(shù)據(jù)時,進行下一個通道的編碼任務(wù)。
4.如權(quán)利要求1或2或3所述的IP語音網(wǎng)絡(luò)的多通道編解碼任務(wù)調(diào)度方法,其特征是各個通道的解碼任務(wù)之間的優(yōu)先級相同。
全文摘要
本發(fā)明公開IP語音網(wǎng)絡(luò)的多通道編解碼任務(wù)調(diào)度方法,對多個通道中需要處理的編碼任務(wù)和解碼任務(wù)的處理順序進行調(diào)度安排,減小因為調(diào)度方式造成的延遲,其特征是按任務(wù)優(yōu)先級的方式調(diào)度,解碼任務(wù)的優(yōu)先級高,編碼任務(wù)的優(yōu)先級低。由于提高了解碼任務(wù)的優(yōu)先級,而解碼任務(wù)所需時間大大小于編碼任務(wù)所需時間,這樣就減小了多通道處理引起的IP語音數(shù)據(jù)解碼的延遲,同時不會使編碼任務(wù)受到影響。
文檔編號H04L12/56GK1486044SQ02144118
公開日2004年3月31日 申請日期2002年9月28日 優(yōu)先權(quán)日2002年9月28日
發(fā)明者樊榮, 陳微, 李玉龍, 樊 榮 申請人:華為技術(shù)有限公司