專利名稱:對使用amr凈荷格式的基于ip的系統(tǒng)提高音頻質(zhì)量的系統(tǒng)和方法
背景基于IP的語音(VoIP)已經(jīng)在個人計算和載波共用中不斷得到普及。隨著技術(shù)的進步,在蜂窩設(shè)備中運行類似的業(yè)務(wù)變得可行。關(guān)鍵的技術(shù)問題是如何使業(yè)務(wù)適于應(yīng)付與臺式PC相比減少的帶寬和明顯更少的處理能力。基于蜂窩的即按即說(PoC)定義了用于移動設(shè)備的半雙工VoIP系統(tǒng)。通過使用無線數(shù)據(jù)網(wǎng)絡(luò)的分組交換能力,業(yè)務(wù)在地理上不受限制,這不同于諸如專用移動無線電(PMR)之類的常規(guī)雙向無線電系統(tǒng)。
為了使PoC獲得成功,手持機和網(wǎng)絡(luò)的性能應(yīng)該是最佳的。任何影響延遲的性能都可能意味著在業(yè)務(wù)的成功與失敗之間的差別。
PoC的音頻質(zhì)量受到蜂窩系統(tǒng)上可用的GPRS/EGPRS帶寬的限制。使用以在作為未確認傳輸協(xié)議的用戶數(shù)據(jù)報協(xié)議(UDP)之上的實時傳輸協(xié)議(RTP)封裝的自適應(yīng)多速率(AMR)編碼,音頻數(shù)據(jù)被穿過PoC系統(tǒng)傳送。結(jié)果,丟失的分組永不被重傳。
PTT是實時應(yīng)用,其中音頻數(shù)據(jù)的緩沖被保持最小,以減少從談話突發(fā)開始到重放開始的等待時間。每個RTP分組被加了時間戳以允許系統(tǒng)丟棄延遲的分組,這又防止談話突發(fā)無限制地增長。
當前,通過緩沖以減少抖動,以及通過對分組進行重新排序以糾正所接收的亂序的分組,已經(jīng)得到了改進AMR RTP分組的下行鏈路流的技術(shù)。然而,已經(jīng)顯示出上行鏈路(發(fā)送側(cè))中有限的帶寬引起了不能在下行鏈路中被糾正的丟失的分組。該帶寬限制可以由擁塞或者由具有最少數(shù)據(jù)資源的系統(tǒng)來引起。當前,僅有的減少上行鏈路中的帶寬的機制是改變AMR編碼速率。該方法并不單獨提供帶寬的足夠減少來防止由于GPRS鏈路上的最小帶寬而引起的丟失的分組。在使用最低的4.75kb AMR編碼速率時,已經(jīng)觀察到了由于有限的帶寬而引起的問題。
所需要的是一種在PoC或其他使用AMR凈荷格式的基于會話業(yè)務(wù)IP的應(yīng)用中進一步節(jié)省上行鏈路帶寬的系統(tǒng)和/或方法。
概要對使用自適應(yīng)多速率(AMR)凈荷格式的基于因特網(wǎng)協(xié)議(IP)的系統(tǒng)提高音頻質(zhì)量的一種系統(tǒng)、方法和計算機程序產(chǎn)品被提出。所述方法對標準RTP AMR幀封裝過程提供了增加的智能級別。如果指示網(wǎng)絡(luò)擁塞的網(wǎng)絡(luò)緩沖器超出其閾值,則確定是否將NO DATA(無數(shù)據(jù))幀置于當前RTP分組中來代替所述AMR幀。如果網(wǎng)絡(luò)狀況過于擁塞,則NO DATA幀被置于當前RTP分組中。對每個輸入AMR幀重復(fù)該過程。該過程首先確保,在用NO DATA幀替代AMR幀之前,所述AMR編碼速率被設(shè)置為其最低可能的編碼速率。所述替代模式遍布在整個RTP分組上,以避免NO DATA幀群。該過程也可以挑選出對于替代將是好的候選者的較低能量值的AMR幀。
附圖簡述
圖1是說明在標準PoC操作中所使用的典型上行鏈路側(cè)數(shù)據(jù)流的圖。
圖2是說明用于實施本發(fā)明的構(gòu)思的邏輯流程的流程圖。
圖3是進一步說明本發(fā)明的抽取(decimation)處理的流程圖。
圖4說明在沒有AMR幀替代的情況下在源處的實例RTP分組。
圖5說明在用NO DATA幀替代某些AMR幀的情況下在源處的實例RTP分組。
圖6在目的地比較了無替代的AMR幀和替代的AMR幀的RTP分組。
詳細描述在此所述的技術(shù)適用于任何使用AMR凈荷格式的基于會話業(yè)務(wù)IP的應(yīng)用或者任何捆綁AMR幀的協(xié)議。而且,本發(fā)明可以在移動終端中或者在應(yīng)用服務(wù)器被實施,以節(jié)省在擁塞時段期間的帶寬。本討論使用基于蜂窩的即按即說(PoC)來作為示例性實施例,以提供用于描述本發(fā)明的構(gòu)思的基礎(chǔ)。另外,與接收側(cè)相對,對于基于會話業(yè)務(wù)IP的應(yīng)用的傳送或發(fā)送側(cè),本發(fā)明解決了帶寬節(jié)省。
本發(fā)明提出了通過用NO DATA幀代替RTP分組中好的數(shù)據(jù)幀來進一步減少上行鏈路中的帶寬。該方法提供了通過減少丟失的AMR RTP分組的數(shù)量來適度降低音頻質(zhì)量的手段。
本發(fā)明使用來自移動電話中的GPRS模塊的反饋以減少在GPRS擁塞期間傳送的RTP分組的大小。
在PTT談話突發(fā)期間,從移動終端中的音頻子系統(tǒng)以固定的速率生成RTP分組。當該速率超出可以穿過GPRS網(wǎng)絡(luò)傳送分組的速率時,分組將被緩沖。如果未經(jīng)檢查,則該緩沖器將無限制地增長,最終導(dǎo)致丟失分組。緩沖數(shù)據(jù)還具有延遲傳送的效果。由于時間戳被置于RTP分組中,因此任何不可忽視的延遲都可能引起分組在接收側(cè)被丟棄,以防止談話突發(fā)的拉長。本發(fā)明通過用NO DATA幀代替一部分好的AMR幀來減小所緩沖的分組的大小。該技術(shù)將在系統(tǒng)已經(jīng)將AMR編碼速率退回至最小值4.75kb速率之后被使用。該技術(shù)壓縮所緩沖的分組,并且通過丟棄一些數(shù)據(jù)而不是整個分組來保持語音數(shù)據(jù)的完整性。
圖1是說明在標準PoC操作中所使用的典型的上行鏈路側(cè)數(shù)據(jù)流的圖。如上所述,本發(fā)明可以在移動終端中或者在PoC服務(wù)器中被實行。因此,圖1中的參考數(shù)字100可以表示移動終端或者PoC服務(wù)器。本描述的剩余部分將采用術(shù)語PoC服務(wù)器100來簡化描述。
語音數(shù)據(jù)開始作為話筒110的模擬輸入。數(shù)字信號處理器(DSP)120以每20毫秒一幀的速率將模擬語音數(shù)據(jù)轉(zhuǎn)換成數(shù)字化的AMR幀。然后AMR幀被路由至即按即說(PTT)客戶端130。PTT客戶端130將從1個至20個的任何地方的AMR幀捆綁成單個RTP AMR凈荷分組。然后包含AMR幀凈荷的RTP分組被路由至IP棧150。這時,隨著帶寬變得可用,GPRS/EGPRS棧從IP棧150取出IP分組。如果帶寬是可用的,則IP分組將經(jīng)由天線170穿過GPRS/EGPRS網(wǎng)絡(luò)160被傳送。如果帶寬不是可用的,則IP分組被緩沖在GPRS網(wǎng)絡(luò)模塊160中。如果緩沖器增長過大,則將丟失分組。
圖2是說明用于實施本發(fā)明的構(gòu)思的邏輯流程的流程圖。AMR格式化的RTP分組包含從1個至20個的AMR幀。移動終端在205收集來自音頻CODEC的AMR幀。在正常情況下,AMR幀將基于會話協(xié)商參數(shù)被封裝到RTP分組中并被發(fā)送。在本發(fā)明中,封裝算法將確定任何幀是否將被用NO DATA幀替代。第一步是在210檢查是否已經(jīng)達到GPRS緩沖閾值。如果GPRS緩沖器仍然具有空間,則AMR幀在215被放入RTP分組中。在220檢查RTP分組以查看它是否為滿。如果滿了,則RTP分組在225被發(fā)送。如果還沒有滿,則控制移動返回以在205獲得另一個AMR幀。
如果達到或超出GPRS緩沖器閾值,則在230進行檢查以查看AMR編解碼器速率是否被設(shè)置為其最低可能的速率。如果不是,則在235將它重設(shè)為最低的AMR編解碼器速率(4.75kbps),并且在210重新檢查緩沖器閾值。然而,如果GPRS緩沖器為滿的并且AMR編解碼器速率與其能夠達到的一樣低,則在240決定是否抽取當前AMR幀。如果該算法決定不抽取AMR幀,則象在215一樣,AMR幀被放到RTP分組中。如果當前AMR幀將被抽取,則NO DATA幀在245替代RTP分組中好的AMR幀,從而導(dǎo)致數(shù)據(jù)的壓縮,這減輕了帶寬上的負擔(dān)。在220檢查RTP分組以查看它是否為滿,并且如果為滿的,則在225發(fā)送RTP分組。否則,在205獲得另一個AMR幀,并且重復(fù)該過程。
該算法監(jiān)視GPRS(網(wǎng)絡(luò))模塊,以確定IP分組是否正在以它們被生成的速率穿過RF鏈路被傳送。所述GPRS模塊包括在傳送之前存儲數(shù)據(jù)的緩沖器。該緩沖器設(shè)計將提供在緩沖器開始充滿時通知PTT模塊的機制。在正常情況下緩沖器不應(yīng)該充滿,但是在擁塞情況下緩沖器將充滿。該PTT模塊將使用所述通知來控制其如何將AMR幀封裝在RTP分組中。來自GPRS模塊的通知機制將提供緩沖器狀態(tài)給PTT模塊,以使PTT模塊可以基于網(wǎng)絡(luò)擁塞來增加或減少分組替代。在正常情況下將不會發(fā)生幀替代。在最壞的情況下,整個分組將用NO DATA幀來充滿。
由于NO DATA幀不包含AMR數(shù)據(jù),因此每個幀替代將在幀大小上提供最低12比1的減小。封裝算法將盡力分散NO DATA幀對好的AMR幀的替代,以避免NO DATA幀群,以便減小對語音的影響。
圖3是進一步說明本發(fā)明的抽取處理的一種實施方式的流程圖。對所述算法的提高將識別用于替代的具有最小音頻能量的幀,以進一步減小對語音的影響。在抽取確定過程中,將在310確定AMR幀能量水平。如果它在320在閾值水平以下,則它是用于利用NO DATA幀替代的好的候選者。如果在320能量水平大于閾值,則在330替代AMR幀的第二決定可以基于其他因素被做出。思想是首先抽取所有低能量的AMR幀。
圖4說明在沒有AMR幀替代的情況下在源處的實例RTP分組。該實例示出每個包含十(10)個AMR幀的三個RTP分組以及用于總數(shù)為三十(30)個數(shù)據(jù)幀的分組報頭。
圖5說明在由于當前網(wǎng)絡(luò)擁塞狀況而除去某些AMR幀的情況下在源處的實例RTP分組。與圖4相比,每個RTP分組包含七個AMR幀而不是十個。另外,丟失的或被替代的AMR幀已經(jīng)被遍布在該分布上,以試圖避免丟失幀的群。
圖6在目的地比較了無替代的AMR幀和替代的AMR幀的RTP分組。左邊的列表示在源處沒有執(zhí)行幀替代的情況下所接收的AMR幀的RTP分組。在該實例中,源RTP分組是圖4中所示的那些分組。然而,網(wǎng)絡(luò)是擁塞的并且IP棧是過緩沖的,從而導(dǎo)致在目的地丟失一個RTP分組。這被顯示為NO DATA幀,而AMR幀11-20本應(yīng)該在那里。整個RTP分組的丟失對于音頻質(zhì)量具有引人注意的且大大不期望的影響。
圖6的右列表示在源處執(zhí)行幀替代的情況下所接收的AMR幀的RTP分組。在該實例中,源RTP分組是圖5中所示的那些分組。由于網(wǎng)絡(luò)是擁塞的,因此該源利用NO DATA幀來替代幾個AMR幀。該替代以相對平均的分布遍布在RTP分組上。因此,雖然實際上丟失了相同數(shù)量的AMR分組,但是沒有丟失整個RTP分組。每個RTP分組稍微受到幾個幀丟失的影響,但是總的音頻質(zhì)量沒有急劇地或突然地降低,并且會話可以相對正常地繼續(xù)。
應(yīng)該注意,以各種計算機程序指令形式的計算機程序代碼可以被用于實施在實現(xiàn)本發(fā)明的實施例時所涉及的至少部分過程。這種計算機程序代碼可以經(jīng)由包含所有或部分存儲在介質(zhì)上的計算機程序指令的計算機程序產(chǎn)品而被提供。所述介質(zhì)可以是固定的或可移動的。這種介質(zhì)可以是固定的存儲介質(zhì),但是它也可以僅僅容易地是可移動的光盤或磁盤或者磁帶。計算機程序指令可以駐留在任何介質(zhì)上,所述介質(zhì)能夠包含、存儲、傳送、傳播或傳輸計算機程序代碼,以供任何類型的計算平臺、指令執(zhí)行系統(tǒng)或者經(jīng)由總線或網(wǎng)絡(luò)互連的這種系統(tǒng)的集合來執(zhí)行。例如,這種計算機可讀介質(zhì)可以是但不限于電子的、磁的、光的、電磁的、紅外線的或半導(dǎo)體的系統(tǒng)或設(shè)備。
實施本發(fā)明的全部或部分的計算機程序指令也可以以在諸如因特網(wǎng)之類的網(wǎng)絡(luò)上進行檢索的信息流來實現(xiàn)。注意,當代碼可以經(jīng)由例如光學(xué)掃描被電子捕獲、然后被編輯和解釋或者以合適的方式被另外處理時,計算機可用或計算機可讀的介質(zhì)甚至可以是紙張或者是在其上打印計算機程序代碼的另一種合適的介質(zhì)。
在此公開了本發(fā)明的特定實施例。本領(lǐng)域普通技術(shù)人員將容易認識到,本發(fā)明在其他環(huán)境中可以具有其他的應(yīng)用。事實上,許多實施例和實施方式都是可能的。后面的權(quán)利要求書決不打算將本發(fā)明的范圍限制于上述的特定實施例。另外,“用于...的裝置”的任何陳述打算引出元件和權(quán)利要求的裝置加功能的解釋,然而未明確使用陳述“用于...的裝置”的任何元件并不打算被當作裝置加功能的元件,即使該權(quán)利要求另外包括了詞“裝置”。
權(quán)利要求
1.一種對使用自適應(yīng)多速率(AMR)凈荷格式的基于因特網(wǎng)協(xié)議(IP)的系統(tǒng)提高音頻質(zhì)量的方法,包括獲得AMR幀205;確定實時傳輸協(xié)議(RTP)分組的緩沖器是否由于擁塞的網(wǎng)絡(luò)狀況而已經(jīng)達到閾值容量210;如果緩沖器還沒有達到其容量,則將AMR幀放置到RTP分組中215;否則,基于當前的網(wǎng)絡(luò)擁塞狀況,確定何時將NO DATA幀放置到當前RTP分組中240;以及當網(wǎng)絡(luò)狀況表明過于擁塞時,將NO DATA幀放置到當前RTP分組中245。
2.權(quán)利要求1所述的方法,進一步包括在用NO DATA幀替代AMR幀以進入當前RTP分組中245之前,確定AMR編碼速率是否被設(shè)置為其最低可能的設(shè)置230,以及如果不是,將AMR編碼速率重設(shè)為其最低可能的設(shè)置235。
3.權(quán)利要求2所述的方法,進一步包括在RTP分組上遍布替代的NO DATA幀,以避免NO DATA幀群。
4.權(quán)利要求3所述的方法,進一步包括識別降到指定能量水平以下的AMR幀320;如果AMR幀替代變得必需,則早于具有大于閾值的能量水平的AMR幀來替代在所述指定能量水平以下的AMR幀245。
5.一種用于對使用自適應(yīng)多速率(AMR)凈荷格式的基于因特網(wǎng)協(xié)議(IP)的系統(tǒng)提高音頻質(zhì)量的系統(tǒng),包括用于獲得AMR幀205的裝置;用于確定實時傳輸協(xié)議(RTP)分組的緩沖器是否由于擁塞的網(wǎng)絡(luò)狀況而已經(jīng)達到閾值容量210的裝置;用于如果緩沖器還沒有達到其容量則將AMR幀放置到RTP分組中215的裝置;用于基于當前的網(wǎng)絡(luò)擁塞狀況來確定何時將NO DATA幀放置到當前RTP分組中240的裝置;以及用于當網(wǎng)絡(luò)狀況表明過于擁塞時將NO DATA幀放置到當前RTP分組中245的裝置。
6.權(quán)利要求5所述的系統(tǒng),進一步包括用于在用NO DATA幀替代AMR幀以進入當前RTP分組中之前確定AMR編碼速率是否被設(shè)置為其最低可能的設(shè)置230的裝置,以及如果不是,用于將AMR編碼速率重設(shè)為其最低可能的設(shè)置235的裝置。
7.權(quán)利要求6所述的系統(tǒng),進一步包括用于在RTP分組上遍布替代的NO DATA幀以避免NO DATA幀群的裝置。
8.權(quán)利要求7所述的系統(tǒng),進一步包括用于識別降到指定能量水平以下的AMR幀320的裝置;如果AMR幀替代變得必需,則早于具有大于閾值的能量水平的AMR幀來替代在所述指定能量水平以下的AMR幀245的裝置。
全文摘要
對使用自適應(yīng)多速率(AMR)凈荷格式的基于因特網(wǎng)協(xié)議(IP)的系統(tǒng)提高音頻質(zhì)量的方法被提出。如果指示網(wǎng)絡(luò)擁塞的網(wǎng)絡(luò)緩沖器超過其閾值210,則確定是否將NO DATA幀置于當前RTP分組中來代替所述AMR幀240。如果網(wǎng)絡(luò)狀況過于擁塞,則NO DATA幀被置于當前RTP分組中245。對每個輸入AMR幀重復(fù)該過程。在用NO DATA幀替代AMR幀245之前,該過程首先確保所述AMR編碼速率被設(shè)置為其最低可能的編碼速率230。替代模式遍布在整個RTP分組上,以避免NO DATA幀群。該過程也可以挑選出對于替代將是好的候選者的較低能量值的AMR幀320。
文檔編號H04L12/56GK101065946SQ200580040685
公開日2007年10月31日 申請日期2005年6月20日 優(yōu)先權(quán)日2004年12月21日
發(fā)明者G·R·科爾 申請人:索尼愛立信移動通訊股份有限公司