專利名稱:在接收器終端提供話音分組緩沖器的連續(xù)自適應(yīng)控制的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及電信設(shè)備和終端,具體地涉及連接到分組交換網(wǎng)絡(luò)而且能比如在VoIP(基于網(wǎng)際互聯(lián)協(xié)議的話音)呼叫期間接收包含話音的數(shù)據(jù)分組的終端。雖然主要在接收和播放包含話音的分組這一背景中進(jìn)行描述,但是本發(fā)明也應(yīng)用于包含視頻信號(hào)的分組,而且一般而言應(yīng)用于如下分組,該分組傳送要在基本上連續(xù)和基本上一致的時(shí)間順序中(即以基本上既沒(méi)有中斷也沒(méi)有不連續(xù)的方式)呈現(xiàn)給收聽(tīng)者或者觀看者的時(shí)間有序內(nèi)容。話音內(nèi)容和視頻內(nèi)容是時(shí)間有序內(nèi)容的兩個(gè)主要但非限制性的例子。
背景技術(shù):
在比如通用分組無(wú)線電系統(tǒng)(GPRS)無(wú)線系統(tǒng)的分組交換系統(tǒng)中,由于數(shù)據(jù)分組到達(dá)時(shí)間的變化所造成的不確定可能對(duì)系統(tǒng)性能有顯著影響。分組到達(dá)時(shí)間變化的原因包括網(wǎng)絡(luò)資源的擁塞以及連續(xù)分組之間的路由變化。當(dāng)分組如在VoIP系統(tǒng)中那樣包含話音數(shù)據(jù)時(shí),為了獲得持續(xù)的話音輸出,在數(shù)據(jù)分組接收器處的緩沖深度或者緩沖延遲應(yīng)當(dāng)與分組到達(dá)時(shí)間的變化成比例。
常規(guī)的固定初始延遲數(shù)據(jù)緩沖器可以在某一程度上去除變化。然而,很有可能網(wǎng)絡(luò)條件將根據(jù)網(wǎng)絡(luò)資源的擁塞、接收終端的位置和網(wǎng)絡(luò)組件的具體實(shí)施而變化。利用常規(guī)(固定延遲)的緩沖,無(wú)法對(duì)有變化的網(wǎng)絡(luò)條件進(jìn)行反應(yīng)。此外,當(dāng)吞吐量一貫地低時(shí),無(wú)法防止接收器緩沖下溢。
出于這些原因,如果在輸出話音的緩沖延遲和最小中斷方面希望有最佳操作則需要引入某類自適應(yīng)緩沖器控制。該緩沖器控制應(yīng)以盡可能平穩(wěn)的方式改變緩沖延遲。換而言之,緩沖延遲的改變?cè)谳^長(zhǎng)間隔中以同一比率來(lái)完成比緩沖延遲在短的間隔中先減少、再增加、再次減少等等更為合乎需要。
至少兩種現(xiàn)有技術(shù)的緩沖器控制技術(shù)已經(jīng)需要網(wǎng)絡(luò)端對(duì)端延遲的準(zhǔn)確知識(shí)Ramjee R.(1994),“Adaptive Playout Mechanisms forPacketized Audio Applications in Wide-Area Networks”,發(fā)表于IEEEINFOCOM’94,計(jì)算機(jī)通信學(xué)報(bào)會(huì)議,6月12-13日,加拿大多倫多,Vol.2.pp.680-688;以及Liang Y.J.(2001),“Adaptive Playout SchedulingUsing Time-Scale Modification in Packet Voice Communications”,發(fā)表于聲學(xué)、語(yǔ)音和信號(hào)處理學(xué)報(bào)IEEE國(guó)際會(huì)議,5月7-11日,鹽湖城,Vol.3,pp 1445-1448。然而,為了準(zhǔn)確地獲得端對(duì)端延遲將需要在發(fā)送終端和接收終端使用同步時(shí)鐘,因此目前無(wú)法以最為商業(yè)可用的終端來(lái)準(zhǔn)確地獲得。
已經(jīng)提出不需要這類信息的另一技術(shù)Telefonaktiebolaget LMEricsson.“Adaptive Jitter Buffering”,WO 00/42749。這一方式嘗試在固定的采樣間隔估計(jì)網(wǎng)絡(luò)條件。盡管這一方式可能在停頓或者延遲尖峰(中斷被認(rèn)為是緩沖器為空的時(shí)間量,或者更確切地說(shuō),如果沒(méi)有引入時(shí)間縮放則是緩沖器會(huì)為空的時(shí)間量)以較短間隔出現(xiàn)時(shí)有一些用處,但是如果在連續(xù)停頓之間的間隔大于采樣間隔,則可能會(huì)存在在某一采樣間隔期間中不會(huì)出現(xiàn)停頓的情況。由此接著是控制機(jī)制將減少緩沖延遲,這就與已經(jīng)出現(xiàn)停頓的情形相悖。如果停頓在下一采樣間隔期間出現(xiàn),則由于緩沖器下溢而造成所不希望的話音停頓。在話音中斷之后,緩沖延遲在后繼采樣間隔期間再次增加。正如可以理解到的,這類操作可能容易造成如下情形緩沖延遲被控制機(jī)制減少/增加/減少等等,導(dǎo)致不必要的播放速率波動(dòng)。此外,在執(zhí)行緩沖延遲改變(采樣間隔)之前必須累積某一固定數(shù)目的分組。這就在分組以減少的速率到達(dá)時(shí)造成較慢的反應(yīng)時(shí)間,以及潛在地增加語(yǔ)音輸出中斷的可能性,因?yàn)榫彌_延遲僅在采樣間隔之后才增加。在WO 00/42749的方式中,緩沖器延遲的改變通過(guò)丟棄或者延遲分組來(lái)實(shí)現(xiàn),更具體地說(shuō),該改變是在靜默時(shí)段期間通過(guò)添加或者去除包含靜默的語(yǔ)音幀來(lái)實(shí)現(xiàn)的。然而,僅添加或者去除靜默會(huì)造成靜默時(shí)段與語(yǔ)音時(shí)段之間時(shí)間關(guān)系的改變,這可能導(dǎo)致在句子之間以及也可能在詞語(yǔ)之間不自然地發(fā)出過(guò)長(zhǎng)或者過(guò)短的靜默。靜默時(shí)段的持續(xù)時(shí)間可能因句子或者因詞語(yǔ)而變化,因此可能造成語(yǔ)音的不自然節(jié)奏。
一般來(lái)說(shuō),自適應(yīng)緩沖器控制應(yīng)當(dāng)僅在需要它時(shí)才應(yīng)用。在分組交換網(wǎng)絡(luò)中的情形可能是這樣分組以突發(fā)到達(dá),而在每個(gè)突發(fā)之間有長(zhǎng)的(可能數(shù)秒)延遲。如果長(zhǎng)期的到達(dá)間隔平均與創(chuàng)建分組的速率相同則這不成問(wèn)題。這僅意味著物理緩沖器大小應(yīng)當(dāng)在接收器側(cè)足夠的長(zhǎng)以適應(yīng)變化。然而,在自適應(yīng)緩沖器控制的設(shè)計(jì)中應(yīng)當(dāng)對(duì)這有所考慮,因?yàn)槿绻彌_延遲波動(dòng)則話音的播放速率不應(yīng)當(dāng)令人厭煩地波動(dòng)。
因此可以理解,用以應(yīng)對(duì)包含話音或者視頻信號(hào)的數(shù)據(jù)分組的到達(dá)時(shí)間可變性的當(dāng)前方式并不令人滿意,而且沒(méi)有充分地解決在VoIP和其它類型的基于數(shù)據(jù)分組的網(wǎng)絡(luò)系統(tǒng)中提供自然發(fā)聲的話音時(shí)固有的問(wèn)題。
在上文引用的共同受讓的美國(guó)專利申請(qǐng)中,緩沖器控制方式使用了對(duì)分組到達(dá)中斷的估計(jì)。盡管頗為適合于在許多網(wǎng)絡(luò)環(huán)境中使用,但是在語(yǔ)音分組以突發(fā)方式到達(dá)的一些高度動(dòng)態(tài)環(huán)境如用于增強(qiáng)型數(shù)據(jù)速率GSM演進(jìn)(EDGE)環(huán)境中,使用不同類型的緩沖控制機(jī)制可能更為適宜。例如,在這類網(wǎng)絡(luò)中,代表兩秒語(yǔ)音的分組可能在很短的間隔期間到達(dá),此后在包含語(yǔ)音的分組到達(dá)中可能有兩秒停頓。
發(fā)明內(nèi)容
根據(jù)這些教學(xué)的當(dāng)前優(yōu)選實(shí)施例來(lái)克服上述和其它問(wèn)題以及實(shí)現(xiàn)其它優(yōu)點(diǎn)。
本發(fā)明的一方面是基于以下實(shí)現(xiàn)盡管有長(zhǎng)的停頓,但是如果音頻信號(hào)樣本的整體到達(dá)速率與創(chuàng)建音頻信號(hào)的速率相同,則收聽(tīng)者不會(huì)感受到例如語(yǔ)音的音頻信號(hào)的不連續(xù)。因此,根據(jù)本發(fā)明,取代了測(cè)量分組到達(dá)之間的停頓,優(yōu)選地代之以測(cè)量如果沒(méi)有引入保留延遲則會(huì)在音頻信號(hào)的播放中出現(xiàn)的中斷,而且將分組緩沖器控制至少部分地基于這一測(cè)量。
換而言之,本發(fā)明的目的不是測(cè)量輸出語(yǔ)音中的中斷延遲(即收聽(tīng)者聽(tīng)到的中斷),因?yàn)槟且谎舆t取決于在分組到達(dá)的停頓之前就存在的保留延遲量。優(yōu)選地代之以測(cè)量如果沒(méi)有引入保留延遲就會(huì)聽(tīng)到的中斷延遲,而且以這一方式可以確定需要多少保留延遲來(lái)覆蓋平均中斷延遲。
如果根據(jù)慢的分組到達(dá)速率來(lái)減緩語(yǔ)音,則這一修改會(huì)影響基本延遲(因?yàn)槭褂昧嘶酒?,因此在那一情況下,如果到達(dá)間隔平均最多約為分組創(chuàng)建間隔的兩倍則防止了輸出語(yǔ)音的不連續(xù)。
公開(kāi)了一種設(shè)備、計(jì)算機(jī)程序和方法,用以接收和緩沖包含信息的數(shù)據(jù)分組,該信息代表了要在基本上連續(xù)和基本上一致的時(shí)間順序中呈現(xiàn)給個(gè)人的時(shí)間有序內(nèi)容,比如話音信號(hào);對(duì)信息進(jìn)行解碼以獲得樣本,以及在生成播放信號(hào)之前緩沖該樣本。根據(jù)分組網(wǎng)絡(luò)條件對(duì)每幀中的樣本進(jìn)行時(shí)間縮放從而能夠改變播放速率,以便在以與創(chuàng)建述數(shù)據(jù)分組的速率不同的速率接收數(shù)據(jù)分組時(shí)提供基本上連續(xù)的輸出信號(hào)。時(shí)間縮放操作使用基本延遲和保留延遲進(jìn)行操作,其中在以比創(chuàng)建數(shù)據(jù)分組的速率更慢的速率接收數(shù)據(jù)分組時(shí)將基本延遲控制為正值,而其中對(duì)保留延遲進(jìn)行管理以在基本延遲變?yōu)樨?fù)的情況下提供對(duì)中斷的防范。
當(dāng)結(jié)合附圖來(lái)閱讀時(shí),這些教學(xué)的上述和其它方面將會(huì)在下面對(duì)具體實(shí)施方式
的詳細(xì)描述中變得更為清楚明顯,在附圖中圖1是對(duì)根據(jù)本發(fā)明的自適應(yīng)緩沖器延遲控制的高級(jí)描述進(jìn)行圖示的系統(tǒng)框圖和過(guò)程流程圖;圖2是對(duì)圖1的估計(jì)更新塊進(jìn)行圖示的系統(tǒng)框圖和過(guò)程流程圖;
圖3是對(duì)圖1的緩沖延遲更新塊進(jìn)行圖示的系統(tǒng)框圖和過(guò)程流程圖;圖4是對(duì)圖1的緩沖延遲控制塊進(jìn)行圖示的系統(tǒng)框圖和過(guò)程流程圖;圖5是對(duì)圖4的確定時(shí)間縮放偏移塊進(jìn)行圖示的系統(tǒng)框圖和過(guò)程流程圖;圖6是對(duì)圖1的時(shí)間縮放塊進(jìn)行圖示的系統(tǒng)框圖和過(guò)程流程圖;圖7是對(duì)圖6的時(shí)序一致塊進(jìn)行圖示的系統(tǒng)框圖和過(guò)程流程圖;圖8是作為適用于實(shí)施圖1-7中所示的發(fā)明的一個(gè)實(shí)施例的移動(dòng)臺(tái)和無(wú)線網(wǎng)絡(luò)的簡(jiǎn)化框圖;圖9示出了用于對(duì)運(yùn)用本發(fā)明的第一例子進(jìn)行說(shuō)明的曲線圖集,該例子具體而言是基本延遲控制的例子,該基本延遲控制具有其后跟隨有慢鏈路的快速啟動(dòng);以及圖10示出了用于對(duì)運(yùn)用本發(fā)明的第二例子進(jìn)行說(shuō)明的曲線圖集,該例子具體而言是在長(zhǎng)的停頓之間具有高到達(dá)速率(突發(fā)鏈路)的保留延遲控制的例子。
具體實(shí)施例方式
無(wú)論所關(guān)注的信號(hào)是語(yǔ)音、音樂(lè)、某一其它類型的可聽(tīng)信號(hào)或者視頻信號(hào)或者一般而言任何時(shí)間有序信號(hào),都可以使用下文描述的自適應(yīng)緩沖器控制機(jī)制。因此,盡管在本公開(kāi)中使用了術(shù)語(yǔ)話音,但是對(duì)術(shù)語(yǔ)話音的使用不應(yīng)當(dāng)理解為僅意味著人類發(fā)聲。
一般來(lái)說(shuō),自適應(yīng)緩沖器控制應(yīng)當(dāng)僅在有需要時(shí)才影響話音信號(hào)。這一概念涉及到其它糾錯(cuò)方法,該方法僅在已經(jīng)出現(xiàn)一個(gè)或多個(gè)錯(cuò)誤時(shí)才起作用。在分組交換網(wǎng)絡(luò)中的情形可能是這樣,分組以突發(fā)到達(dá),而在每個(gè)突發(fā)之間有長(zhǎng)的(例如,數(shù)秒)延遲。如果長(zhǎng)期的到達(dá)間隔平均與生成話音分組的速率相同,則這一點(diǎn)不成問(wèn)題,而且僅意味著物理緩沖器大小應(yīng)當(dāng)在接收器側(cè)足夠地長(zhǎng)以適應(yīng)變化。然而,在自適應(yīng)控制系統(tǒng)的設(shè)計(jì)中應(yīng)當(dāng)對(duì)這有所考慮,因?yàn)槿绻彌_延遲波動(dòng)則話音的播放速率不應(yīng)當(dāng)令人厭煩地波動(dòng)。
基于軟件的自適應(yīng)控制實(shí)體要求基于硬件或者軟件的時(shí)鐘,這是因?yàn)樾枰纸M的到達(dá)時(shí)間。將這一時(shí)鐘實(shí)施為以話音幀間隔進(jìn)行遞增的計(jì)數(shù)器將是最簡(jiǎn)便的。然而,如果希望更準(zhǔn)確的時(shí)序,則應(yīng)當(dāng)將時(shí)鐘實(shí)施為更精確的軟件計(jì)數(shù)器或者硬件時(shí)鐘。在以下討論中考慮了軟件計(jì)數(shù)器,但是這不是對(duì)于本發(fā)明之實(shí)踐的限制。而且,假設(shè)話音分組在發(fā)送器處被順序編號(hào),使得分組的相對(duì)創(chuàng)建時(shí)間可以根據(jù)順序編號(hào)來(lái)確定。
圖1是根據(jù)本發(fā)明的自適應(yīng)緩沖器控制技術(shù)的邏輯流程圖。在圖1中,緩沖延遲被認(rèn)為是分組的播放點(diǎn)(該分組中第一幀的播放時(shí)間瞬間)與該分組的到達(dá)時(shí)間之差。目的在于根據(jù)兩個(gè)單獨(dú)參數(shù)來(lái)調(diào)節(jié)緩沖延遲(a)分組的到達(dá)間隔和(b)中斷。緩沖延遲因此被認(rèn)為是兩個(gè)分量的組合基本延遲和保留延遲。
基本延遲在這里被認(rèn)為是由于分組的到達(dá)速率而引入的緩沖延遲量。如果分組比創(chuàng)建它們更快地到達(dá),而且分組以與創(chuàng)建它們相同的速率播放,則基本延遲增加。基本延遲是通過(guò)根據(jù)分組的平均到達(dá)間隔調(diào)整對(duì)它們的播放來(lái)進(jìn)行控制的。分組沒(méi)有比創(chuàng)建它們更快地播放的原因在于,很有可能由于快速到達(dá),在某一點(diǎn)出現(xiàn)網(wǎng)絡(luò)緩沖器下溢,這就造成在接收器終端看到的分組到達(dá)產(chǎn)生停頓。在分組以快速方式到達(dá)的時(shí)間期間引入的基本延遲然后可以在這樣的停頓期間加以利用,而收聽(tīng)者不會(huì)聽(tīng)到話音信號(hào)的中斷。另一方面,如果分組以比創(chuàng)建它們的速率更慢的速率到達(dá),則分組的播放間隔相對(duì)于平均到達(dá)間隔有所增加,使得基本延遲保持為正。否則,慢的到達(dá)速率將造成語(yǔ)音的不連續(xù)。優(yōu)選地針對(duì)會(huì)話中具有最大順序編號(hào)的分組中的最后幀來(lái)估算基本延遲。
保留延遲在這里被認(rèn)為是附加延遲,該附加延遲被用作中斷的預(yù)期并且用作針對(duì)中斷的防范。中斷被認(rèn)為在基本延遲變?yōu)樨?fù)時(shí)出現(xiàn),這意味著具有會(huì)話最大順序編號(hào)的分組中的最后幀的基本延遲已經(jīng)被消耗了,而中斷延遲因此被定義為基本延遲保持為負(fù)的時(shí)間量。如果保留延遲足以覆蓋中斷延遲則聽(tīng)不到中斷。
話音幀的播放優(yōu)選地在第二話音分組已經(jīng)到達(dá)之后就立即開(kāi)始??梢匝舆t第二分組,使得可以適應(yīng)對(duì)慢鏈路的反應(yīng),因此初始延遲被嵌入到基本延遲而不是保留延遲中。在話音會(huì)話期間,修改保留延遲以覆蓋中斷的平均持續(xù)時(shí)間。在優(yōu)選實(shí)施例中,這是通過(guò)使用話音信號(hào)的時(shí)間縮放對(duì)分組的播放間隔進(jìn)行修改來(lái)實(shí)現(xiàn)的。
如圖1中所示,自適應(yīng)控制方法和系統(tǒng)10具有兩個(gè)組成部分異步部分12和同步部分14?,F(xiàn)在對(duì)它們進(jìn)行描述。
異步12異步部分12之所以如此命名是因?yàn)樗鼉H在分組到達(dá)時(shí)才起作用。隨著分組到達(dá),將它置于分組緩沖器12A中,而且在12B測(cè)量關(guān)于該分組的到達(dá)間隔。如果已經(jīng)出現(xiàn)中斷,則也測(cè)量中斷延遲。根據(jù)這些測(cè)量,在12C更新這些估計(jì)(中斷延遲、到達(dá)間隔)。
同步14在緩沖延遲的控制中使用到達(dá)間隔和中斷延遲的估計(jì)(來(lái)自塊12C)。在14A更新緩沖延遲的分量,此后時(shí)間計(jì)數(shù)器加一(塊14B),該計(jì)數(shù)器由此對(duì)應(yīng)于一個(gè)話音幀的持續(xù)時(shí)間。在測(cè)量到達(dá)間隔、中斷延遲和緩沖延遲分量時(shí)使用時(shí)間計(jì)數(shù)器。根據(jù)到達(dá)間隔平均來(lái)控制基本延遲,使得即使分組比創(chuàng)建它們更慢地到達(dá),緩沖器也不會(huì)下溢。另一方面,將保留延遲維持足夠大以覆蓋中斷延遲。通過(guò)確定對(duì)分組的播放速率均有影響的基本偏移和保留偏移來(lái)讓控制系統(tǒng)參與時(shí)間縮放。根據(jù)該偏移來(lái)估算時(shí)間縮放比率1.00+基本偏移+保留偏移。時(shí)間縮放比率是縮放的信號(hào)長(zhǎng)度與原始的信號(hào)長(zhǎng)度之比。如果時(shí)間縮放比率限制在0.5與2.0之間,則解碼次數(shù)對(duì)于一個(gè)話音幀的間隔而言可以是0次、1次或者2次。在塊14C、14D、14E、14F和14G的循環(huán)之后,在每次解碼之后,對(duì)樣本進(jìn)行時(shí)間縮放而且將之存儲(chǔ)于縮放緩沖器14G中。執(zhí)行解碼和時(shí)間縮放的循環(huán),直至在縮放緩沖器14G中存在有至少160個(gè)樣本,此后將縮放緩沖器14G中的最先160個(gè)樣本傳送到音頻緩沖器14H以供進(jìn)一步處理??梢宰⒁獾?,當(dāng)話音信號(hào)以8,000Hz(8,000Hz×0.02s=160)進(jìn)行采樣時(shí),160個(gè)樣本對(duì)應(yīng)于20ms話音幀(例如AMR或者GSM話音幀)。整個(gè)自適應(yīng)過(guò)程因此對(duì)于在它之后發(fā)生的任何音頻處理是透明的。在優(yōu)選實(shí)施例中,為縮放緩沖器14G而保留的最大大小是480個(gè)樣本(或者三個(gè)話音幀),不過(guò)可以適應(yīng)多于或者少于三個(gè)的話音幀。
如果在分組緩沖器12A中沒(méi)有分組而系統(tǒng)在等待下一個(gè)分組到達(dá)時(shí),則出現(xiàn)緩沖器下溢。分組緩沖器12A的下溢因此延遲下一個(gè)分組的播放點(diǎn),而它可以被認(rèn)為是通過(guò)時(shí)間縮放(插入話音幀)來(lái)加長(zhǎng)信號(hào)。當(dāng)分組緩沖器12A為滿時(shí)出現(xiàn)緩沖器上溢,而最先分組需要通過(guò)最新分組的到達(dá)來(lái)重寫(xiě)。在這一情況下,可以跳過(guò)一些分組的播放,使得可以維持分組同步。由于去除了話音幀,所以跳過(guò)分組順序編號(hào)可以被認(rèn)為是通過(guò)時(shí)間縮放來(lái)縮短信號(hào)。
時(shí)間縮放或者緩沖器下溢或者上溢的結(jié)果是以不規(guī)則的間隔播放分組。為簡(jiǎn)便起見(jiàn),優(yōu)選的是所有端對(duì)端延遲的改變都被嵌入于一個(gè)定義為虛擬播放點(diǎn)的變量中。本質(zhì)上,如果以穩(wěn)定的間隔播放其余分組,而仍然獲得與分組的實(shí)際不規(guī)則播放相同的端對(duì)端延遲,則虛擬播放點(diǎn)就是用于會(huì)話第一分組的播放點(diǎn)。
話音幀的類型可以是良好幀、不良幀(遺漏)或者等待幀(不增加讀順序編號(hào))。當(dāng)在分組緩沖器12A中沒(méi)有幀時(shí),或者當(dāng)在分組緩沖器12A中有幀、但是延遲了分組緩沖器12A中第一幀的播放時(shí),可能出現(xiàn)等待幀。對(duì)于等待幀而言,播放令人舒適的噪聲是優(yōu)選的。當(dāng)判決是否可以對(duì)給定幀進(jìn)行時(shí)間縮放時(shí)需要話音幀的類型。時(shí)間縮放僅當(dāng)幀的類型是良好幀時(shí)才執(zhí)行。對(duì)不良幀和等待幀不進(jìn)行時(shí)間縮放是優(yōu)選的,因?yàn)檫@些幀代表話音信號(hào)的不連續(xù)。
對(duì)于在圖1中示出的某些塊的構(gòu)造和操作進(jìn)行更具體的描述。關(guān)于延遲測(cè)量塊12B,使用下式來(lái)測(cè)量到達(dá)間隔(1)到達(dá)間隔=當(dāng)前時(shí)間-前一到達(dá)時(shí)間,其中前一到達(dá)時(shí)間是前一分組的到達(dá)時(shí)間。
在中斷的情況下,中斷延遲測(cè)量如下
(2)中斷延遲=當(dāng)前時(shí)間-前一播放時(shí)間,其中前一播放時(shí)間是如果沒(méi)有引入保留延遲則播放前一幀而且因此是在中斷之前的最后一幀的時(shí)間。
現(xiàn)在參照?qǐng)D2,對(duì)圖1的估計(jì)更新塊12C的構(gòu)造和操作進(jìn)行描述。先注意到在更新估計(jì)時(shí)有兩個(gè)不同的主要情況。第一情況是在如果尚未出現(xiàn)中斷則調(diào)用該功能時(shí)(塊212A過(guò)渡到塊212B)。在這一情況下,如果到達(dá)間隔小于分組創(chuàng)建間隔的三倍(如塊212B所確定的那樣),則更新到達(dá)間隔平均(塊212D)。為什么如果分組到達(dá)之間的停頓至少三倍于分組創(chuàng)建間隔則不更新到達(dá)間隔平均,這有兩個(gè)主要原因。第一原因在于,在優(yōu)選實(shí)施例中,縮放比率限制為最大到2.00。因此,比分組創(chuàng)建間隔的兩倍更大的到達(dá)間隔平均沒(méi)有效果。第二原因在于,話音分組可能以突發(fā)到達(dá)。在這點(diǎn)上顯然的是,到達(dá)間隔平均在突發(fā)期間為低。然而,當(dāng)在分組到達(dá)之間有長(zhǎng)的停頓時(shí),不應(yīng)當(dāng)更新到達(dá)間隔平均,否則它會(huì)暫時(shí)地變得大于實(shí)際的到達(dá)間隔平均,因此造成不必要的信號(hào)縮放。
第二估計(jì)更新情況是在已經(jīng)出現(xiàn)中斷時(shí)(塊212A過(guò)渡到塊212C)。中斷延遲估計(jì)(塊212G、212H)優(yōu)選地通過(guò)使用指數(shù)平均來(lái)更新。會(huì)話的第一中斷(如塊212C所確定的那樣)與后續(xù)中斷分別地加以估計(jì)。之所以優(yōu)選地這樣做是因?yàn)榈谝恢袛嗍亲羁赡茉诿總€(gè)會(huì)話中出現(xiàn)的中斷。因此,優(yōu)選更精確地知道第一中斷延遲的估計(jì),使得可以減少由于第一中斷而聽(tīng)到不連續(xù)的可能性。
在這兩種情況下都進(jìn)行檢查以確定基本延遲是否為負(fù)(塊212E),而且如果為負(fù)則可以重置用于估算基本延遲(參見(jiàn)下文的式7)的開(kāi)始點(diǎn)(塊212E過(guò)渡到塊212F)。這是通過(guò)將用于基本延遲的第一順序編號(hào)設(shè)置為到達(dá)分組的順序編號(hào)、將基本虛擬播放點(diǎn)設(shè)置為當(dāng)前時(shí)間,以及將基本延遲設(shè)置為等于創(chuàng)建間隔減一來(lái)完成的。這確保了下文示出的式7正確地執(zhí)行基本延遲的測(cè)量。在塊212I檢查到達(dá)順序編號(hào),而且如果它小于用于基本延遲的第一順序編號(hào),則將那一參數(shù)更新為已經(jīng)到達(dá)的分組的順序編號(hào)。另一方面,如果到達(dá)的順序編號(hào)大于當(dāng)前最大的到達(dá)的順序編號(hào),則也更新那一參數(shù)。以這一方式確保了基本延遲測(cè)量在分組紊亂地到達(dá)時(shí)也進(jìn)行工作?;狙舆t在中斷的情況下可能變?yōu)樨?fù),而且如果基本延遲已經(jīng)為負(fù)但是到達(dá)間隔小于創(chuàng)建間隔的三倍則也可能為負(fù)。在這一情況下不將其視為中斷而視為慢的到達(dá)速率。
重要的是注意到,到達(dá)間隔平均不對(duì)應(yīng)于實(shí)際的到達(dá)間隔平均,因?yàn)闆](méi)有將中斷和停頓納入考慮之中。結(jié)果,可以考慮反映出在中斷或者停頓之間的到達(dá)間隔平均。在圖2的描述中討論了在停頓期間不更新到達(dá)間隔平均的原因。當(dāng)已經(jīng)出現(xiàn)中斷時(shí)不更新到達(dá)間隔平均的原因在于,在這一方式中,影響緩沖延遲行為的兩個(gè)問(wèn)題是相分離的,即在鏈路接通時(shí)分組的到達(dá)間隔平均以及當(dāng)鏈路在足以使分組緩沖器12A下溢的時(shí)間段內(nèi)暫時(shí)地關(guān)斷時(shí)由中斷引起的延遲,如果沒(méi)有引入保留延遲的話。已經(jīng)發(fā)現(xiàn)這很好地對(duì)應(yīng)了分組交換網(wǎng)絡(luò)的性質(zhì),正是由于該性質(zhì),通常到達(dá)間隔平均最有可能接近它在中斷或者停頓出現(xiàn)之前的情況。
仍然參照?qǐng)D2,而且更特別地是到達(dá)間隔平均更新塊212D,優(yōu)選地僅當(dāng)尚未出現(xiàn)中斷或者停頓時(shí)才更新到達(dá)間隔平均。隨著第一分組到達(dá),將到達(dá)間隔平均設(shè)置為等于創(chuàng)建間隔。對(duì)于后續(xù)分組,通過(guò)使用如下的指數(shù)平均來(lái)更新該平均(3)到達(dá)間隔平均i+1=0.125×到達(dá)間隔+0.875×到達(dá)間隔平均i。
式(4)和式(5)用于更新第一中斷和后續(xù)中斷(分別是塊212H和212G)。先關(guān)于是否應(yīng)當(dāng)初始化中斷延遲估計(jì)來(lái)進(jìn)行確定。如果中斷延遲平均為零則初始化該估計(jì)。如果初始化,則中斷延遲平均被設(shè)置為所測(cè)量的中斷延遲,而平均偏差被設(shè)置為零。如果沒(méi)有初始化,則通過(guò)使用如下的指數(shù)平均來(lái)更新該估計(jì)(4)中斷延遲平均i+1=0.25×中斷延遲+0.75×中斷延遲平均i,以及(5)中斷延遲MDi+1=0.25×|中斷延遲-中斷延遲平均|+0.75×中斷延遲MDi,其中MD是平均偏差。
當(dāng)出現(xiàn)中斷而中斷平均不為零但是平均偏差為零時(shí),則平均偏差初始化如下(6)中斷延遲MD=|中斷延遲-中斷延遲平均|/2。
以這一方式,如果初始值為零,則平均偏差更快地收斂到有效值。
可以認(rèn)為,環(huán)境在連續(xù)會(huì)話之間沒(méi)有顯著地改變,因此中斷延遲估計(jì)可以用來(lái)在后繼會(huì)話中發(fā)揮作用。然而,如果在會(huì)話期間沒(méi)有出現(xiàn)中斷,則優(yōu)選地將該平均一分為二,使得最終它將收斂到零。立即將方差設(shè)置為零。以這一方式確保了如果狀況有改進(jìn)則該估計(jì)將對(duì)應(yīng)于這一行為。會(huì)話應(yīng)當(dāng)足夠地長(zhǎng)以便進(jìn)行除以二的操作,而在這一方式中,對(duì)于不大可能出現(xiàn)中斷情況的短會(huì)話而言,不必毫無(wú)目的地將該平均一分為二。有效會(huì)話的長(zhǎng)度可以例如是五秒,在該會(huì)話之后可以出現(xiàn)將第一中斷延遲和后續(xù)中斷延遲一分為二。
現(xiàn)在參照?qǐng)D3,對(duì)圖1的緩沖延遲更新塊14A的構(gòu)造和操作進(jìn)行描述。
先注意到?jīng)]有使用緩沖延遲本身而是使用它的分量(基本延遲和保留延遲)。因此不必計(jì)算緩沖延遲。然而,如果希望檢查該過(guò)程的整體完整性,則可以計(jì)算緩沖延遲而且將其與其分量之和做比較。
為在會(huì)話期間目前到達(dá)的具有最大順序編號(hào)的分組的最后幀來(lái)估算基本延遲。為簡(jiǎn)便起見(jiàn),優(yōu)選的是,與到達(dá)間隔平均有關(guān)的所有基本延遲修改都被嵌入到定義為基本虛擬播放點(diǎn)的一個(gè)變量中。本質(zhì)上,如果以有規(guī)則的間隔播放其余分組,而仍然得到與分組的實(shí)際不規(guī)則播放相同的基本延遲,則基本虛擬播放點(diǎn)就是用于在基本延遲的當(dāng)前估算時(shí)段中第一到達(dá)分組的播放點(diǎn)。換句話說(shuō),基本虛擬播放點(diǎn)是基本延遲的當(dāng)前估算時(shí)段的第一順序編號(hào)應(yīng)當(dāng)已經(jīng)進(jìn)行播放的時(shí)間,使得式(7)可以用來(lái)為即將來(lái)臨的分組計(jì)算延遲。正如上文關(guān)于圖2所討論的那樣,基本延遲的估算時(shí)段開(kāi)始于在基本延遲已經(jīng)變?yōu)樨?fù)之后第一分組到達(dá)的時(shí)間瞬間。
基本虛擬播放點(diǎn)先通過(guò)簡(jiǎn)單地將虛擬播放點(diǎn)改變添加到當(dāng)前基本虛擬播放點(diǎn)值來(lái)進(jìn)行更新。在這一更新之后,虛擬播放點(diǎn)改變被設(shè)置為零。
基本延遲代表了在會(huì)話中目前到達(dá)的具有最大順序編號(hào)的分組中的最后話音幀在沒(méi)有保留延遲的情況下在播放之前會(huì)在分組緩沖器12A中等待的時(shí)間量。
(7)基本延遲=基本虛擬播放點(diǎn)+創(chuàng)建間隔×(最大的到達(dá)順序編號(hào)-用于基本延遲的第一順序編號(hào))+創(chuàng)建間隔-1-當(dāng)前時(shí)間。
在塊314A中求解式7之后,在塊314B確定基本延遲是否已經(jīng)變?yōu)樨?fù)。如果沒(méi)有變?yōu)樨?fù),則控制傳遞到塊314C,其中讓前一播放時(shí)間等于當(dāng)前時(shí)間。然而,如果基本延遲已經(jīng)變?yōu)樨?fù),則控制傳遞到塊314D,其中測(cè)試保留延遲以確定它是否大于零,而且如果大于零則控制傳遞到塊314E以遞減保留延遲。以這一方式,當(dāng)基本延遲為負(fù)時(shí)保留延遲就被消耗了。然后控制傳遞到塊314F,其中確定當(dāng)前時(shí)間是否等于還是大于前一分組到達(dá)時(shí)間加上分組創(chuàng)建間隔的三倍。如果是這樣,則在塊314G檢測(cè)到中斷,否則認(rèn)為該延遲歸因于慢的到達(dá)速率并且因此它對(duì)于到達(dá)間隔平均估計(jì)具有影響。對(duì)于比創(chuàng)建間隔的三倍更小的停頓,根據(jù)到達(dá)間隔平均進(jìn)行縮放將防止確定出現(xiàn)中斷。
現(xiàn)在參照?qǐng)D4,對(duì)圖1的緩沖延遲控制塊14E的構(gòu)造和操作進(jìn)行描述,該緩沖延遲控制塊操作用以管理緩沖延遲的高級(jí)控制。時(shí)間縮放比率是三個(gè)分量之和1.00+基本偏移+保留偏移。這對(duì)應(yīng)于相對(duì)于到達(dá)間隔平均來(lái)控制基本延遲和相對(duì)于平均中斷來(lái)控制保留延遲這一概念。如果已知分組流的最后分組已經(jīng)到達(dá)(例如一個(gè)或多個(gè)尾部分組已經(jīng)到達(dá)),則無(wú)需修改話音信號(hào)的播放速率并且因此基本偏移和保留偏移均設(shè)置為零(塊414A過(guò)渡到塊414B)。否則,如果最后幀尚未到達(dá),則解碼幀的類型可確定接著要執(zhí)行的動(dòng)作。
在塊414C,如果正確地接收來(lái)自分組緩沖器12A的幀,則控制傳遞到塊414D以確定改變次數(shù)計(jì)數(shù)器是否應(yīng)當(dāng)減一,而且如果需要減一,則在塊414E執(zhí)行減一。接著確定計(jì)數(shù)器的次數(shù)是否已經(jīng)遞減到零,這將意味著如在塊414G中所確定的那樣可以改變縮放偏移,這一點(diǎn)將在下文中結(jié)合圖5進(jìn)行討論,否則就在塊414H中將基本偏移和保留偏移設(shè)置為零。回到塊414C,在緩沖器中有幀但是找不到下一幀的情況下,該幀被認(rèn)為是不良幀。在緩沖器中根本沒(méi)有幀的情況下,幀類型就稱為等待幀。在這兩種情況下,在塊414I中將基本偏移和保留偏移設(shè)置為零,而在塊414J中將次數(shù)改變計(jì)數(shù)器的設(shè)置為值二。在這一情況下,系統(tǒng)在最后的不連續(xù)之后等待兩個(gè)幀,因?yàn)槿绻槍?duì)包含不連續(xù)的話音進(jìn)行時(shí)間縮放,則該時(shí)間縮放可能無(wú)法以最佳方式進(jìn)行工作。
現(xiàn)在參照?qǐng)D5,對(duì)圖4的確定時(shí)間縮放偏移塊414G的構(gòu)造和操作進(jìn)行描述。當(dāng)設(shè)置了實(shí)際的時(shí)間縮放比率時(shí)使用時(shí)間縮放偏移。時(shí)間縮放比率是三個(gè)分量之和1.00+基本偏移+保留偏移。當(dāng)前優(yōu)選地允許時(shí)間縮放因子在0.5與2.00之間,使得播放速率讓收聽(tīng)者聽(tīng)起來(lái)很自然。
該系統(tǒng)先在塊514A確定所需的保留延遲量,使得可以補(bǔ)償下一中斷。由于第一中斷與其它中斷相分離,所以所需保留延遲量也取決于是否已經(jīng)出現(xiàn)第一中斷。更具體來(lái)說(shuō),如果尚未出現(xiàn)第一中斷,則所需(必需的)保留延遲為(8)所需保留延遲=第一中斷延遲平均+B×第一中斷延遲MD,否則(9)所需保留延遲=中斷延遲平均+C×中斷延遲MD。
在式(8)和式(9)中,常數(shù)B和C的值是防護(hù)與端對(duì)端延遲之間的折衷。例如,B的合理值可以是二,而C的合理值可以是一。以這一方式,對(duì)于在多數(shù)會(huì)話中出現(xiàn)的第一中斷將有更多防護(hù)。確定時(shí)間縮放偏移的方式取決于是否已經(jīng)中斷會(huì)話。
如果中斷尚未出現(xiàn),則控制傳遞到塊514C以相對(duì)于到達(dá)間隔平均來(lái)設(shè)置基本偏移,然后傳遞到塊514D以對(duì)基本偏移施加限制(在0與1之間),然后傳遞到塊514E,其中確定所要求的播放點(diǎn)改變。最后,控制傳遞到塊514F以確定保留偏移。
如上文討論過(guò)的那樣,基本延遲被認(rèn)為是由于分組的到達(dá)速率而引入的緩沖延遲量。因此,在塊514C相對(duì)于到達(dá)間隔平均來(lái)設(shè)置對(duì)基本延遲進(jìn)行控制的基本偏移(10)基本偏移=(到達(dá)間隔平均/創(chuàng)建間隔)-1。
上式(10)僅在到達(dá)間隔平均大于創(chuàng)建間隔時(shí)才使用。如果到達(dá)間隔平均小于創(chuàng)建間隔,則基本偏移將為負(fù)。然而,在這樣的情況下,很有能會(huì)由于在網(wǎng)絡(luò)側(cè)處的緩沖下溢而帶來(lái)停頓,因此播放速率不應(yīng)當(dāng)增加。出于這一原因,如果到達(dá)間隔平均小于創(chuàng)建間隔則將基本偏移設(shè)置為零?;酒苾?yōu)選地上限為值一(塊514D)。通過(guò)使用由式(10)獲得的基本偏移,可以防止緩沖器的下溢(如果沒(méi)有中斷而且到達(dá)間隔平均不大于創(chuàng)建間隔的約兩倍),因?yàn)榉纸M沒(méi)有比它們平均到達(dá)的速率更快地進(jìn)行播放。
為了使得保留延遲朝著預(yù)期值收斂,對(duì)取決于所要求的播放點(diǎn)改變量的保留偏移進(jìn)行估算。所要求的播放點(diǎn)改變(A)在塊514E中確定如下(11)所要求的播放點(diǎn)改變=所需的保留延遲-保留延遲。
上式(11)僅在保留延遲大于零時(shí)才使用,否則將所要求的播放點(diǎn)改變?cè)O(shè)置為零。之所以這樣的原因在于如果保留延遲為負(fù),則表示緩沖先前已經(jīng)上溢(因?yàn)楸A粞舆t減少了由于緩沖器上溢而跳過(guò)的幀數(shù)目),而增加保留延遲將僅僅增加進(jìn)一步上溢的可能性。
通過(guò)使用所要求的播放點(diǎn)改變,在塊514F調(diào)節(jié)保留延遲,使得它與所需的保留延遲相聯(lián)系。表1說(shuō)明了所要求的播放點(diǎn)改變量如何影響保留延遲的調(diào)節(jié)。當(dāng)滿足前兩行的條件時(shí),根據(jù)在它們下面的值來(lái)設(shè)置保留偏移。第一行使得保留偏移與所需數(shù)量相關(guān),而第二行確保了保留偏移和基本偏移的組合將總是為最大值1.00,因此將時(shí)間縮放比率上限為2.00。例如,如果所需的播放點(diǎn)改變是九幀,而基本偏移是0.875,則將保留偏移設(shè)置為0.125。
表1.根據(jù)所需播放點(diǎn)改變的保留偏移所要求的播放點(diǎn)改變>=負(fù) 0 1 8 16基本偏移<=任意 任意0.875 0.75 0.5
保留偏移 -0.12500.1250.250.5現(xiàn)在描述如果已經(jīng)中斷會(huì)話(從判決塊514B起的“是”路徑)則如何確定縮放比率。先在塊514G中將基本偏移設(shè)置為零。這對(duì)應(yīng)于單獨(dú)地補(bǔ)償中斷和到達(dá)間隔平均這一概念。接著在塊514H調(diào)節(jié)所需的保留延遲(12)所需的保留延遲i+1=所需的保留延遲i-(當(dāng)前時(shí)間-前一播放時(shí)間)。
通過(guò)使用式(12),從所需的保留延遲中減去中斷目前已經(jīng)經(jīng)歷的持續(xù)時(shí)間。在一些情況下,所需的保留延遲在求解式(12)之后可能為負(fù),并且出于這一原因?qū)⒃撝迪孪逓榱?。接著在塊514I確定所需的保留延遲是否大于當(dāng)前保留延遲。如果是則仍然需要為當(dāng)前中斷增加保留延遲,而且保留便宜設(shè)置如下(13)保留便宜=(所需的保留延遲/保留延遲)-1+D。
通過(guò)使用常數(shù)值D,可以更快地實(shí)現(xiàn)所需的保留延遲。D的合理值是0.25。式(13)僅在保留延遲大于零時(shí)才使用,否則將保留偏移設(shè)置為一。將保留便宜上限為一,使得最大時(shí)間縮放比率為二。
如果當(dāng)前保留延遲等于或者大于所需的保留延遲,則無(wú)需為當(dāng)前中斷增加保留延遲。然而,該系統(tǒng)可以開(kāi)始為下一中斷累積保留延遲。先確定對(duì)于下一中斷而言已經(jīng)存在多少保留延遲(14)用于下一中斷的保留延遲=保留延遲-所需的保留延遲。
用于下一中斷的所需保留延遲量然后估算如下(15)所需的下一保留延遲=中斷平均+C×中斷MD。
現(xiàn)在,所要求的播放點(diǎn)改變(B)在塊514K確定如下(16)所要求的播放點(diǎn)改變=所需的下一保留延遲-用于下一中斷的保留延遲。
此后,在表1中描述的過(guò)程被用來(lái)確定保留偏移(在塊514F)。由于該系統(tǒng)已經(jīng)預(yù)備好下一中斷,而當(dāng)前中斷仍在出現(xiàn),所以也需要引入更多保護(hù)以防備當(dāng)前中斷。如果在當(dāng)前中斷之后尚未使用全部保留延遲,則殘留的保留延遲可以用于下一中斷。
現(xiàn)在參照?qǐng)D6,對(duì)圖1的時(shí)間縮放塊14F的構(gòu)造和操作進(jìn)行描述。適當(dāng)?shù)臅r(shí)間縮放算法被用于這一過(guò)程,而且一般來(lái)說(shuō),時(shí)間縮放是具體實(shí)施的問(wèn)題。適當(dāng)?shù)臅r(shí)間縮放算法的非限制性例子可以在如下文獻(xiàn)中找到“Some Improvements on the Synchronized-overlap-add Methodof Time Scale Modification for Use in Real-time Speech Compression andNoise Filtering”,Wayman J.L,聲學(xué)、語(yǔ)音和信號(hào)處理IEEE學(xué)報(bào),元月,Vol.36,pp.139-140(1988);“An overlap-add technique Based uponWaveform Similarity(WSOLA)for High Quality Time-scale Modificationof Speech”,Verhelst W.,聲學(xué)、語(yǔ)音和信號(hào)處理IEEE國(guó)際會(huì)議,4月27-30號(hào),美國(guó)明尼阿波利斯,Vol.2,pp.554-557(1993);或者“A NewError Concealment Technique for Audio Transmission with Packet Loss”,Stenger A.,歐洲信號(hào)處理會(huì)議,意大利里雅斯特,9月10-13日,pp.1965-1968(1996)。
在塊614B中調(diào)用時(shí)間縮放算法之前,時(shí)間縮放比率在塊614A中設(shè)置如下(17)時(shí)間縮放比率=1.00+基本偏移+保留偏移。
由于時(shí)間縮放操作,在塊614C保持時(shí)序一致(在下文結(jié)合圖7進(jìn)行討論)。如果解碼幀的類型是等待幀或者不良幀,則使該幀通行經(jīng)過(guò)使用比率1.00的時(shí)間縮放算法塊614B。
在塊614B中對(duì)時(shí)間縮放算法的每次調(diào)用之后,將輸出樣本復(fù)制到縮放緩沖器14G。當(dāng)針對(duì)當(dāng)前20ms間隔最后一次調(diào)用時(shí)間縮放時(shí),縮放緩沖器14G中的最先160個(gè)樣本被移到音頻緩沖器14H以供進(jìn)一步處理(見(jiàn)圖1的塊14H)。
現(xiàn)在參照?qǐng)D7,對(duì)圖6的時(shí)序一致塊614C的構(gòu)造和操作進(jìn)行描述,為了保持一致的時(shí)序,采取以下動(dòng)作。先在塊714A確定解碼幀是否為等待幀。如果不是,則在塊714B修改延遲。用于基本延遲和保留延遲的引入樣本如下所示(18)基本縮放樣本i+1=基本縮放樣本i+160×基本偏移;以及(19)保留縮放樣本i+1=保留縮放樣本i+160×保留偏移。
接著,可以將保留延遲的改變作為幀的整數(shù)納入考慮之中(20)保留延遲改變=int(保留縮放樣本/160),其中int=整數(shù),(21)保留延遲i+1=保留延遲i+保留延遲改變。
未考慮的保留縮放幀的數(shù)量如下(22)保留縮放樣本i+1=保留縮放樣本i-保留延遲改變×160。
對(duì)于基本延遲,該改變被嵌入到基本虛擬播放點(diǎn)中(23)基本延遲改變=int(基本縮放樣本/160);以及(24)基本虛擬播放點(diǎn)改變i+1=基本虛擬播放點(diǎn)改變i+基本延遲改變。
未考慮的基本縮放樣本的數(shù)量如下(25)基本縮放樣本i+1=基本縮放樣本i-基本延遲改變×160。
在塊714A,如果確定幀是等待幀,則讀順序編號(hào)沒(méi)有增加,而且它因此將下一順序編號(hào)的播放點(diǎn)向上移動(dòng)一幀。
然后在塊714D確定是否在前一緩沖器下溢之后已經(jīng)啟動(dòng)了播放。如果在前一緩沖器下溢之后尚未開(kāi)始播放,而下一分組已經(jīng)到達(dá),則基本延遲還未消耗并且因此該等待幀在時(shí)間上將基本延遲的虛擬播放點(diǎn)(塊714E)向前移動(dòng)。在這一情況下,基本虛擬播放點(diǎn)加一。
如果已經(jīng)開(kāi)始播放,則控制代之以傳遞到塊714F,其中確定以下條件之一是否為真保留延遲是否為負(fù),或者在緩沖器中是否至少有一個(gè)幀。如果保留延遲為負(fù),則表示緩沖器在會(huì)話期間上溢。從這一上溢起,然后接著是緩沖器下溢,而在緩沖器下溢期間的時(shí)間將造成負(fù)的保留延遲朝著零增加。因此通過(guò)為每個(gè)等待幀將保留延遲加一來(lái)考慮到這一點(diǎn)(塊714G)。其它情形是即使在緩沖器中有幀,仍然不從緩沖器提取幀。這一情形可能在重新同步分組流時(shí)出現(xiàn)。同樣在這一情況下,在塊714G將保留延遲加一。
圖8示出了適合于實(shí)施本發(fā)明的無(wú)線通信系統(tǒng)50的非限制性實(shí)施例的簡(jiǎn)化框圖。無(wú)線通信系統(tǒng)50包括至少一個(gè)移動(dòng)臺(tái)(MS)100。圖8也示出了示例性網(wǎng)絡(luò)運(yùn)營(yíng)商60,該運(yùn)營(yíng)商例如具有用于連接到電信網(wǎng)絡(luò)如公共分組數(shù)據(jù)網(wǎng)絡(luò)或者PDN的節(jié)點(diǎn)30、至少一個(gè)基站控制器(BSC)40或者等效裝置以及也稱為基站(BS)的多個(gè)基站收發(fā)器(BTS)50,該基站收發(fā)器根據(jù)預(yù)定空中接口標(biāo)準(zhǔn)在前向或者下行鏈路方向上發(fā)送物理和邏輯信道到移動(dòng)臺(tái)100。從移動(dòng)臺(tái)100到網(wǎng)絡(luò)運(yùn)營(yíng)商也存在著對(duì)起始于移動(dòng)站的接入請(qǐng)求和業(yè)務(wù)進(jìn)行傳送的反向或者上行鏈路通信路徑。小區(qū)3與每個(gè)BTS 50相關(guān)聯(lián),其中一個(gè)小區(qū)在任何給定時(shí)間將被視為服務(wù)小區(qū),而一個(gè)或多個(gè)鄰近小區(qū)將被視為相鄰小區(qū)。較小的小區(qū)(例如微小區(qū))也是可用的。
空中接口標(biāo)準(zhǔn)可以遵循任何適當(dāng)?shù)臉?biāo)準(zhǔn)或者協(xié)議,而且可以實(shí)現(xiàn)語(yǔ)音和數(shù)據(jù)業(yè)務(wù),比如實(shí)現(xiàn)因特網(wǎng)70接入和網(wǎng)頁(yè)下載的數(shù)據(jù)業(yè)務(wù)。在本發(fā)明的當(dāng)前優(yōu)選實(shí)施例中,空中接口標(biāo)準(zhǔn)是使得能夠通過(guò)MS 100來(lái)實(shí)現(xiàn)VoIP功能的空中接口標(biāo)準(zhǔn),因此假設(shè)從因特網(wǎng)70到達(dá)的IP分組包含用于在MS 100進(jìn)行回放的語(yǔ)音信號(hào)樣本(即VoIP分組55)。然而,正如先前指出的那樣,到達(dá)的IP分組可能包含其它信息,比如音樂(lè)或者視頻信號(hào),或者一般而言包含內(nèi)容播放速率可以修改的任何時(shí)間有序內(nèi)容。
移動(dòng)臺(tái)100通常包括控制單元或者控制邏輯,比如微控制單元(MCU)120,該單元具有耦合到顯示器140之輸入的輸出和耦合到鍵盤(pán)或者小鍵盤(pán)160之輸出的輸入。移動(dòng)臺(tái)100可以是手持無(wú)線電電話,比如蜂窩電話或者個(gè)人通信器。移動(dòng)臺(tái)100也可以容置于在使用期間連接到另一設(shè)備的卡或者模塊之內(nèi)。例如,移動(dòng)臺(tái)100可以容置于PCMCIA或者類似類型的卡或者模塊中,該卡或者模塊在使用期間安裝于便攜數(shù)據(jù)處理器如膝上型或者筆記本計(jì)算機(jī)或者甚至是可由用戶佩戴的計(jì)算機(jī)之內(nèi)。
假設(shè)MCU 120包括有或耦合到某類存儲(chǔ)器130,該存儲(chǔ)器包括用于存儲(chǔ)操作程序和其它信息的非易失性存儲(chǔ)器以及用于暫時(shí)存儲(chǔ)所需數(shù)據(jù)、高速暫存存儲(chǔ)器(scratchpad memory)、接收的分組數(shù)據(jù)、待發(fā)送的分組數(shù)據(jù)等的易失性存儲(chǔ)器。出于本發(fā)明的目的,假設(shè)操作程序使得MCU 120能夠執(zhí)行實(shí)施根據(jù)本發(fā)明的自適應(yīng)話音播放和緩沖方法所要求的軟件例程、層和協(xié)議以及經(jīng)由顯示器140和小鍵盤(pán)160提供與用戶的適當(dāng)用戶接口(UI)。雖然未示出,但是通常提供麥克風(fēng)和揚(yáng)聲器用于使得用戶能夠以常規(guī)方式進(jìn)行話音呼叫以及根據(jù)本發(fā)明使得來(lái)自圖1的音頻緩沖器14H的話音信號(hào)能夠向MS 100的用戶播放。
移動(dòng)站100也包含無(wú)線部分,該無(wú)線部分包括數(shù)字信號(hào)處理器(DSP)180或者等效的高速處理器或者邏輯以及無(wú)線收發(fā)器,該無(wú)線收發(fā)器包括都耦合到天線240以便與網(wǎng)絡(luò)運(yùn)營(yíng)商通信的發(fā)送器200和接收器220。提供至少一個(gè)本地振蕩器如頻率合成器(SYNTH)260用于調(diào)諧收發(fā)器。通過(guò)天線240發(fā)送和接收數(shù)據(jù),比如數(shù)字化語(yǔ)音數(shù)據(jù)以及分組數(shù)據(jù)。
參照?qǐng)D1-7描述的各塊可以用硬件、軟件或者硬件和軟件的組合來(lái)不同地加以實(shí)施。在優(yōu)選實(shí)施例中,在MCU 120的控制和管理之下,使用存儲(chǔ)器130中的存儲(chǔ)單元來(lái)實(shí)施各種緩沖器,比如分組緩沖器12A、縮放緩沖器14G和音頻緩沖器14H,以及通過(guò)MCU 120在執(zhí)行從存儲(chǔ)器130讀取的程序指令的同時(shí)分別實(shí)施各種功能塊,比如解碼、緩沖延遲控制和時(shí)間縮放塊14D、14E和14F。然而,應(yīng)當(dāng)注意,在一些實(shí)施例中可以使用DSP 180來(lái)實(shí)施整體自適應(yīng)控制功能(包括話音信號(hào)修改)。
基于以上描述,應(yīng)當(dāng)理解,運(yùn)用本發(fā)明的一個(gè)優(yōu)點(diǎn)在于話音信號(hào)中斷的可能性與傳統(tǒng)的緩沖技術(shù)相比可以顯著地減少。利用傳統(tǒng)的緩沖,引入的緩沖延遲在某些情形中可能多余地大,或者另一方面又太小。因此,利用傳統(tǒng)的緩沖,感知的話音質(zhì)量變成在引入的緩沖延遲與實(shí)際體驗(yàn)的輸出話音中斷之間的折衷。通過(guò)使用本發(fā)明的自適應(yīng)緩沖器控制技術(shù),可以避免這一折衷。利用根據(jù)本發(fā)明的自適應(yīng)緩沖器控制,僅引入了必要的緩沖延遲量,因?yàn)楦鶕?jù)分組的到達(dá)間隔和分組內(nèi)容播放的中斷來(lái)實(shí)現(xiàn)緩沖延遲。
通過(guò)運(yùn)用本發(fā)明可以實(shí)現(xiàn)的自適應(yīng)話音緩沖和播放控制僅在需要之時(shí)才影響播放信號(hào)。這一概念總體上很好地與糾錯(cuò)方法相關(guān)聯(lián),該糾錯(cuò)方法一般而言通常僅在已經(jīng)出現(xiàn)錯(cuò)誤時(shí)才起作用。盡管在到達(dá)分組的平均吞吐量不理想時(shí)話音播放可能比原來(lái)更慢或者更快,但是這與輸出話音時(shí)常發(fā)生的中斷相比不那么讓收聽(tīng)者感到厭煩。
通過(guò)運(yùn)用本發(fā)明可以實(shí)現(xiàn)的自適應(yīng)話音緩沖和播放控制利用了指數(shù)估計(jì),這與如在一些現(xiàn)有技術(shù)的方式中那樣使用采樣間隔形成對(duì)照。因此,與一個(gè)采樣間隔的分辨率相對(duì)照,可以利用一個(gè)話音幀的時(shí)間分辨率(例如20ms)來(lái)進(jìn)行判決,由此提供更嚴(yán)密和更準(zhǔn)確的控制。中斷延遲的估計(jì)在連續(xù)中斷之間的間隔相對(duì)長(zhǎng)的環(huán)境中能夠維持持續(xù)的語(yǔ)音輸出。
總而言之,正如上文具體描述過(guò)的那樣,基本延遲是由于分組的到達(dá)速率而引入的緩沖延遲之分量。根據(jù)到達(dá)間隔平均來(lái)控制基本延遲。如果分組比創(chuàng)建它們更快地到達(dá),則分組以與創(chuàng)建它們相同的速率進(jìn)行播放,因此基本延遲逐漸地增加。優(yōu)選的是,分組沒(méi)有比創(chuàng)建它們更快地進(jìn)行播放,因?yàn)楹苡锌赡苡捎诜纸M比創(chuàng)建它們更快地到達(dá)這一事實(shí),在某一點(diǎn)將出現(xiàn)網(wǎng)絡(luò)緩沖器下溢,而這又造成到達(dá)接收器終端的分組的停頓。然后可以在停頓期間使用在快速到達(dá)分組的時(shí)段期間累積的基本延遲,而且如果基本延遲的總量覆蓋該停頓則聽(tīng)不到中斷。另一方面,如果分組比創(chuàng)建它們更慢地到達(dá),則增加分組的播放間隔,使得基本延遲不會(huì)變?yōu)樨?fù),而負(fù)的基本延遲將最終被體驗(yàn)為播放信號(hào)的中斷。
保留延遲是緩沖延遲的附加分量,該附加分量用作針對(duì)中斷的防范。當(dāng)基本延遲變?yōu)樨?fù)時(shí)認(rèn)為出現(xiàn)中斷。因此中斷延遲被定義為基本延遲保持為負(fù)的時(shí)間量。然而,如果保留延遲覆蓋了該中斷的時(shí)段則聽(tīng)不到中斷。優(yōu)選地在第二話音分組已經(jīng)到達(dá)之后立即啟動(dòng)話音幀的播放。等待第二話音分組的到達(dá),使得可以執(zhí)行對(duì)慢鏈路的反應(yīng),并且因此將初始延遲嵌入到基本延遲而不是保留延遲中。在話音會(huì)話期間修改保留延遲以便覆蓋中斷的平均持續(xù)時(shí)間。這是通過(guò)使用話音信號(hào)的時(shí)間縮放對(duì)分組的播放間隔進(jìn)行修改來(lái)實(shí)現(xiàn)的。
在下文中是運(yùn)用本發(fā)明的兩個(gè)例子。在這些例子中假設(shè)一個(gè)分組包括八個(gè)20ms語(yǔ)音幀,因此在連續(xù)分組之間的創(chuàng)建時(shí)間為160ms(8×20ms)。
基本延遲控制的例子其后跟隨有慢鏈路的快速啟動(dòng)(圖9)數(shù)個(gè)分組在時(shí)間瞬間零到達(dá),根據(jù)基本延遲初始地增加到1420ms這一事實(shí)可以看到這一點(diǎn)。這一高的到達(dá)速率使得平均到達(dá)間隔小于160ms。在這一快速開(kāi)始之后,分組以如下速率到達(dá),該速率一貫地慢于創(chuàng)建分組的速率(平均間隔是240),并且因此到達(dá)間隔平均開(kāi)始增加(在快鏈路狀況之后收斂到正確值需要一些時(shí)間)而基本延遲減少。當(dāng)?shù)竭_(dá)間隔平均超過(guò)創(chuàng)建間隔(也就是160ms)時(shí),基本偏移變得大于零,造成時(shí)間縮放比率大于1.00。因此,基本延遲沒(méi)有同樣快地減少,因?yàn)榉纸M比原來(lái)創(chuàng)建它們更慢地進(jìn)行播放。在時(shí)間瞬間5000ms,到達(dá)間隔平均已經(jīng)收斂以便接近正確值。由于使用固定點(diǎn)算法,基本偏移值沒(méi)有準(zhǔn)確地對(duì)應(yīng)于到達(dá)間隔平均,并且因此基本延遲繼續(xù)緩慢地減少。然而,基本延遲和保留延遲(保留延遲在這里為零)之和沒(méi)有變?yōu)樨?fù),因此聽(tīng)不到中斷。在這一情況下,沒(méi)有來(lái)自前一會(huì)話的中斷估計(jì),因此沒(méi)有使用保留延遲。下一例子將描述對(duì)保留延遲的使用。
保留延遲控制的例子在長(zhǎng)的停頓之間的高到達(dá)速率(圖10)數(shù)個(gè)分組在時(shí)間瞬間零到達(dá),而基本延遲初始地增加到940ms。跟隨這之后的是700ms停頓,在該停頓期間基本延遲減少。可以看出,一開(kāi)始到達(dá)的分組中包含的語(yǔ)音樣本的數(shù)量足以防止基本延遲在該停頓期間變?yōu)樨?fù),因此沒(méi)有檢測(cè)到中斷。這意味著,即時(shí)沒(méi)有保留延遲,基本延遲仍然具有足以覆蓋分組到達(dá)中此第一停頓的值。在該停頓之后另一分組突發(fā)到達(dá)。到達(dá)間隔平均僅在停頓(該停頓大于分組創(chuàng)建間隔的三倍)之間進(jìn)行更新,并且因此獲得160ms以下的值。因此基本偏移為零。在先前會(huì)話中檢測(cè)到中斷,并且因此在存儲(chǔ)器中有中斷估計(jì),根據(jù)該估計(jì)來(lái)確定所需的保留延遲。根據(jù)所需的保留延遲來(lái)設(shè)置保留偏移,因此時(shí)間縮放比率大于一。正如所能看到的,保留延遲開(kāi)始朝著所需的保留延遲收斂。在時(shí)間瞬間4600ms檢測(cè)到中斷,基本延遲在這里變?yōu)樨?fù)。從那一瞬間起,保留延遲開(kāi)始減少,因?yàn)樗F(xiàn)在被用來(lái)覆蓋中斷。然而,與此同時(shí)開(kāi)始針對(duì)下一中斷的準(zhǔn)備,這也對(duì)于當(dāng)前中斷提供了附加防護(hù)。在第一中斷結(jié)束(在時(shí)間瞬間5600,新的分組在這時(shí)到達(dá))之后,確定仍然需要用來(lái)對(duì)可能的后續(xù)中斷進(jìn)行覆蓋的保留延遲。利用這一方法,防止了緩沖器下溢,可以根據(jù)基本延遲和保留延遲在整個(gè)會(huì)話期間保持為正這一事實(shí)看到這一點(diǎn)。如果在這一情況下代之以使用傳統(tǒng)的固定延遲緩沖,則收聽(tīng)者將會(huì)聽(tīng)到從基本延遲變?yōu)樨?fù)的時(shí)間瞬間(在這一例子中為4600ms)開(kāi)始的一秒中斷。
以上描述已經(jīng)通過(guò)示例性和非限制性例子提供了對(duì)發(fā)明人當(dāng)前構(gòu)思用于實(shí)施本發(fā)明的最佳方法和裝置的完全和啟發(fā)性的描述。然而,在結(jié)合附圖和所附權(quán)利要求進(jìn)行閱讀時(shí),根據(jù)上述描述,各種修改和適應(yīng)對(duì)于本領(lǐng)域技術(shù)人員是明顯的。僅僅作為一些例子而言,本領(lǐng)域技術(shù)人員可以嘗試使用其它相似或者等效的時(shí)間持續(xù)時(shí)間、樣本數(shù)目、緩沖器大小、比率等。此外,在本發(fā)明的無(wú)線實(shí)施例中,鏈路可以包括光鏈路,而不需要包括RF鏈路。同樣,終端可以具有到網(wǎng)絡(luò)的有線連接。然而,對(duì)本發(fā)明的教學(xué)進(jìn)行的所有這些及相似修改仍然將落入本發(fā)明的范圍之內(nèi)。
另外,盡管上文主要在移動(dòng)電話如蜂窩電話終端或者移動(dòng)臺(tái)100的背景中進(jìn)行描述,但是本發(fā)明可以應(yīng)用于任何終端,該終端可以連接到分組交換網(wǎng)絡(luò)而且能接收分組和播放話音(或者一些其它時(shí)間有序內(nèi)容)。因此,這些教學(xué)也可應(yīng)用于例如袖珍型PC、膝上型PC和桌上型PC以及應(yīng)用于具有話音功能或者更一般地具有音頻功能的個(gè)人管理器和個(gè)人數(shù)字助理(PDA)。另外,同樣如上文指出的,本發(fā)明可以應(yīng)用于具有至少一個(gè)分組接收終端或者設(shè)備的那些系統(tǒng),其中所接收的分組傳送要在基本上連續(xù)和基本上一致的時(shí)間順序中(即以基本上沒(méi)有中斷和不連續(xù)的方式)呈現(xiàn)給收聽(tīng)者或者觀看者的時(shí)間有序內(nèi)容。話音內(nèi)容和視頻內(nèi)容是時(shí)間有序內(nèi)容的兩個(gè)非限制性例子。
另外,本發(fā)明的一些特征在沒(méi)有對(duì)其它特征的對(duì)應(yīng)使用時(shí)仍然可以不失其優(yōu)點(diǎn)地加以使用。因此,以上描述應(yīng)當(dāng)被視為僅僅對(duì)本發(fā)明的原理進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制。
權(quán)利要求
1.一種用以對(duì)耦合到分組網(wǎng)絡(luò)的設(shè)備進(jìn)行操作的方法,包括接收和緩沖包括話音信息的數(shù)據(jù)分組;對(duì)所述話音信息進(jìn)行解碼以獲得話音樣本;以及在生成話音播放信號(hào)之前緩沖所述解碼的話音樣本,其中根據(jù)分組網(wǎng)絡(luò)條件對(duì)每幀中所述解碼的話音樣本進(jìn)行時(shí)間縮放以調(diào)節(jié)緩沖延遲從而能夠改變?cè)捯舨シ潘俾?,以便在以與創(chuàng)建所述數(shù)據(jù)分組的速率不同的速率接收所述數(shù)據(jù)分組時(shí)提供基本上連續(xù)的輸出話音信號(hào),其中所述緩沖延遲包括基本延遲和保留延遲,在以比創(chuàng)建所述數(shù)據(jù)分組的速率更慢的速率接收所述數(shù)據(jù)分組時(shí)將所述基本延遲控制在正值的情況,而對(duì)所述保留延遲進(jìn)行管理以在所述基本延遲變?yōu)樨?fù)的情況下提供針對(duì)中斷的防范。
2.如權(quán)利要求1所述的方法,包括基本上異步的部分和基本上同步的部分,所述基本異步部分確定數(shù)據(jù)分組到達(dá)延遲,而所述基本同步部分響應(yīng)于所述異步部分的操作以基于每幀中所述解碼的話音樣本的時(shí)間縮放來(lái)控制所述緩沖延遲。
3.如權(quán)利要求1所述的方法,其中分組緩沖器的延遲是分組在所述分組的第一幀的播放之前在所述分組緩沖器中駐留的時(shí)間段。
4.如權(quán)利要求3所述的方法,還包括根據(jù)是否已經(jīng)出現(xiàn)中斷、以及如果已經(jīng)出現(xiàn)中斷則根據(jù)是第一中斷還是后續(xù)中斷來(lái)修正對(duì)平均到達(dá)間隔、中斷和所述基本延遲中至少一個(gè)的估計(jì)。
5.如權(quán)利要求1所述的方法,其中在第二話音分組到達(dá)之后啟動(dòng)話音幀的播放。
6.如權(quán)利要求1所述的方法,其中在話音會(huì)話期間修改所述保留延遲以便覆蓋中斷的平均持續(xù)時(shí)間。
7.如權(quán)利要求6所述的方法,其中修改所述保留延遲包括通過(guò)時(shí)間縮放來(lái)修改話音分組的播放間隔。
8.如權(quán)利要求1所述的方法,還包括將所接收的話音幀的類型檢測(cè)為不良幀、等待幀和良好幀之一,以及其中基本偏移值和保留偏移值的重新設(shè)置的出現(xiàn)時(shí)序是至少部分根據(jù)所檢測(cè)的幀類型的。
9.一種耦合到分組網(wǎng)絡(luò)的設(shè)備,包括接收器,用于接收和緩沖包括話音信息的數(shù)據(jù)分組;解碼器,用于對(duì)所述話音信息進(jìn)行解碼以獲得話音樣本;緩沖器,用于在生成話音播放信號(hào)之前緩沖所述解碼的話音樣本,還包括時(shí)間縮放功能,設(shè)置于所述解碼器與所述緩沖器之間,用于對(duì)每幀中解碼的話音樣本進(jìn)行時(shí)間縮放以調(diào)節(jié)緩沖延遲從而能夠改變?cè)捯舨シ潘俾剩员阍谝耘c創(chuàng)建所述數(shù)據(jù)分組的速率不同的速率接收所述數(shù)據(jù)分組時(shí)提供基本上連續(xù)的輸出話音信號(hào),其中所述緩沖延遲包括基本延遲和保留延遲,在以比創(chuàng)建所述數(shù)據(jù)分組的速率更慢的速率接收所述數(shù)據(jù)分組時(shí)將所述基本延遲控制在正值的情況,而對(duì)所述保留延遲進(jìn)行管理以在所述基本延遲變?yōu)樨?fù)的情況下提供針對(duì)中斷的防范。
10.如權(quán)利要求9所述的設(shè)備,包括基本上異步的部分和基本上同步的部分,所述基本異步部分確定數(shù)據(jù)分組到達(dá)延遲,而所述基本同步部分響應(yīng)于所述異步部分的操作以基于每幀中所述解碼的話音樣本的時(shí)間縮放來(lái)控制所述緩沖延遲。
11.如權(quán)利要求9所述的設(shè)備,其中接收分組緩沖器的緩沖延遲是分組在所述分組的第一幀的播放之前在所述分組緩沖器中駐留的時(shí)間段。
12.如權(quán)利要求11所述的設(shè)備,還包括如下單元,所述單元用以根據(jù)是否已經(jīng)出現(xiàn)中斷、以及如果已經(jīng)出現(xiàn)中斷則根據(jù)是第一中斷還是后續(xù)中斷來(lái)修正對(duì)平均到達(dá)間隔、中斷和所述基本延遲中至少一個(gè)的估計(jì)。
13.如權(quán)利要求9所述的設(shè)備,其中在第二話音分組到達(dá)之后啟動(dòng)話音幀的播放。
14.如權(quán)利要求9所述的設(shè)備,其中在話音會(huì)話期間修改所述保留延遲以便覆蓋中斷的平均持續(xù)時(shí)間。
15.如權(quán)利要求14所述的設(shè)備,其中修改所述保留延遲包括通過(guò)時(shí)間縮放來(lái)修改話音分組的播放間隔。
16.如權(quán)利要求9所述的設(shè)備,還包括檢測(cè)器,所述檢測(cè)用以將所接收的話音幀的類型檢測(cè)為不良幀、等待幀和良好幀之一,以及其中基本偏移值和保留偏移值的重新設(shè)置的出現(xiàn)時(shí)序是至少部分根據(jù)所檢測(cè)的幀類型的。
17.一種實(shí)施于計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序,用于指引數(shù)據(jù)處理器對(duì)耦合到分組交換網(wǎng)絡(luò)的設(shè)備進(jìn)行操作,所述設(shè)備通過(guò)如下操作來(lái)進(jìn)行操作接收和緩沖包括話音信息的數(shù)據(jù)分組;對(duì)所述話音信息進(jìn)行解碼以獲得話音樣本;以及在生成話音播放信號(hào)之前緩沖所述解碼的話音樣本,其中根據(jù)分組網(wǎng)絡(luò)條件對(duì)每幀中所述解碼的話音樣本進(jìn)行時(shí)間縮放以調(diào)節(jié)緩沖延遲從而能夠改變?cè)捯舨シ潘俾?,以便在以與創(chuàng)建所述數(shù)據(jù)分組的速率不同的速率接收所述數(shù)據(jù)分組時(shí)提供基本上連續(xù)的輸出話音信號(hào),其中所述緩沖延遲包括基本延遲和保留延遲,在以比創(chuàng)建所述數(shù)據(jù)分組的速率更慢的速率接收所述數(shù)據(jù)分組時(shí)將所述基本延遲控制在正值的情況,而對(duì)所述保留延遲進(jìn)行管理以在所述基本延遲變?yōu)樨?fù)的情況下提供針對(duì)中斷的防范。
18.如權(quán)利要求17所述的計(jì)算機(jī)程序,包括基本上異步的部分和基本上同步的部分,所述基本異步部分確定數(shù)據(jù)分組到達(dá)延遲,而所述基本同步部分響應(yīng)于所述異步部分的操作以基于每幀中所述解碼的話音樣本的時(shí)間縮放來(lái)控制所述緩沖延遲。
19.如權(quán)利要求17所述的計(jì)算機(jī)程序,其中分組緩沖器的延遲是分組在所述分組的第一幀的播放之前在所述分組緩沖器中駐留的時(shí)間段。
20.如權(quán)利要求19所述的計(jì)算機(jī)程序,還包括根據(jù)是否已經(jīng)出現(xiàn)中斷、以及如果已經(jīng)出現(xiàn)中斷則根據(jù)是第一中斷還是后續(xù)中斷來(lái)修正對(duì)平均到達(dá)間隔、中斷和所述基本延遲中至少一個(gè)的估計(jì)。
21.如權(quán)利要求17所述的計(jì)算機(jī)程序,其中在第二話音分組到達(dá)之后啟動(dòng)話音幀的播放。
22.如權(quán)利要求17所述的計(jì)算機(jī)程序,其中在話音會(huì)話期間修改所述保留延遲以便覆蓋中斷的平均持續(xù)時(shí)間。
23.如權(quán)利要求22所述的計(jì)算機(jī)程序,其中修改所述保留延遲包括通過(guò)時(shí)間縮放來(lái)修改話音分組的播放間隔。
24.如權(quán)利要求17所述的計(jì)算機(jī)程序,還包括將所接收的話音幀的類型檢測(cè)為不良幀、等待幀和良好幀之一,以及其中基本延遲偏移值和保留延遲偏移值的重新設(shè)置的出現(xiàn)時(shí)序是至少部分根據(jù)所檢測(cè)的幀類型的。
25.如權(quán)利要求17所述的計(jì)算機(jī)程序,其中所述設(shè)備包括用于通過(guò)無(wú)線鏈路耦合到所述分組交換網(wǎng)絡(luò)的接收器。
26.如權(quán)利要求17所述的計(jì)算機(jī)程序,其中所述設(shè)備包括用于通過(guò)有線鏈路耦合到所述分組交換網(wǎng)絡(luò)的接收器。
27.如權(quán)利要求17所述的計(jì)算機(jī)程序,其中所述設(shè)備包括蜂窩電話,所述蜂窩電話具有用于無(wú)線地耦合到所述分組交換網(wǎng)絡(luò)的RF接收器。
28.一種實(shí)施于計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序,用于指引數(shù)據(jù)處理器對(duì)耦合到分組交換網(wǎng)絡(luò)的設(shè)備進(jìn)行操作,所述設(shè)備通過(guò)如下操作來(lái)進(jìn)行操作接收和緩沖包括信息的數(shù)據(jù)分組,所述信息代表了要在基本上連續(xù)和基本上一致的時(shí)間順序中呈現(xiàn)給個(gè)人的時(shí)間有序內(nèi)容;對(duì)所述信息進(jìn)行解碼以獲得樣本;以及在生成播放信號(hào)之前緩沖所述樣本,其中根據(jù)分組網(wǎng)絡(luò)條件對(duì)每幀中的所述樣本進(jìn)行時(shí)間縮放從而能夠改變播放速率,以便在以與創(chuàng)建所述數(shù)據(jù)分組的速率不同的速率接收所述數(shù)據(jù)分組時(shí)提供基本上連續(xù)的輸出信號(hào),其中對(duì)所述樣本進(jìn)行時(shí)間縮放以調(diào)節(jié)基本延遲和保留延遲,在以比創(chuàng)建所述數(shù)據(jù)分組的速率更慢的速率接收所述數(shù)據(jù)分組時(shí)將所述基本延遲控制在正值的情況,而對(duì)所述保留延遲進(jìn)行管理以在所述基本延遲變?yōu)樨?fù)的情況下提供對(duì)呈現(xiàn)所述時(shí)間有序內(nèi)容時(shí)的中斷的防范。
29.如權(quán)利要求28所述的計(jì)算機(jī)程序,包括基本上異步的部分和基本上同步的部分,所述基本異步部分確定數(shù)據(jù)分組到達(dá)延遲,而所述基本同步部分響應(yīng)于所述異步部分的操作以控制所述基本延遲和所述保留延遲的值。
30.如權(quán)利要求28所述的計(jì)算機(jī)程序,還包括根據(jù)是否已經(jīng)出現(xiàn)中斷、以及如果已經(jīng)出現(xiàn)中斷則根據(jù)是第一中斷還是后續(xù)中斷來(lái)修正對(duì)平均到達(dá)間隔、中斷和所述基本延遲中至少一個(gè)的估計(jì)。
31.如權(quán)利要求28所述的計(jì)算機(jī)程序,還包括將所接收的幀的類型檢測(cè)為不良幀、等待幀和良好幀之一,以及其中基本偏移值和保留偏移值的重新設(shè)置的出現(xiàn)時(shí)序是至少部分根據(jù)所檢測(cè)的幀類型的。
32.一種包括用于耦合到分組網(wǎng)絡(luò)的接口的設(shè)備,包括接收器,用于包括信息的數(shù)據(jù)分組,所述信息代表了要在基本上連續(xù)和基本上一致的時(shí)間順序中呈現(xiàn)給個(gè)人的時(shí)間有序內(nèi)容;解碼器,用于對(duì)所述信息進(jìn)行解碼以獲得樣本;緩沖器,用于在生成播放信號(hào)之前存儲(chǔ)所述樣本;以及縮放器,用于根據(jù)分組網(wǎng)絡(luò)條件對(duì)每幀中的樣本進(jìn)行時(shí)間縮放從而能夠改變播放速率,以便在以與創(chuàng)建所述數(shù)據(jù)分組的速率不同的速率接收所述數(shù)據(jù)分組時(shí)提供基本上連續(xù)的輸出信號(hào),所述縮放器通過(guò)基本延遲和保留延遲進(jìn)行操作,在以比創(chuàng)建所述數(shù)據(jù)分組的速率更慢的速率接收所述數(shù)據(jù)分組時(shí)將所述基本延遲控制在正值的情況,而對(duì)所述保留延遲進(jìn)行管理以在所述基本延遲變?yōu)樨?fù)的情況下提供針對(duì)中斷的防范。
33.如權(quán)利要求32所述的設(shè)備,其中所述設(shè)備包括基本上異步的部分和基本上同步的部分,所述基本異步部分確定數(shù)據(jù)分組到達(dá)延遲,而所述基本同步部分響應(yīng)于所述異步部分的操作以控制所述縮放器的操作。
34.如權(quán)利要求32所述的設(shè)備,還包括估計(jì)器,所述估計(jì)器可操作用以根據(jù)是否已經(jīng)出現(xiàn)中斷、以及如果已經(jīng)出現(xiàn)中斷則根據(jù)是第一中斷還是后續(xù)中斷來(lái)修正對(duì)平均到達(dá)間隔、中斷和所述基本延遲中至少一個(gè)的估計(jì)。
35.如權(quán)利要求32所述的設(shè)備,還包括檢測(cè)器,所述檢測(cè)器用以將所接收的幀的類型檢測(cè)為不良幀、等待幀和良好幀之一,以及其中基本偏移值和保留偏移值的重新設(shè)置的出現(xiàn)時(shí)序是至少部分根據(jù)所檢測(cè)的幀類型的。
36.如權(quán)利要求32所述的設(shè)備,其中所述數(shù)據(jù)分組包括基于IP的話音分組。
37.如權(quán)利要求32所述的設(shè)備,其中所述設(shè)備包括具有基于IP的話音功能的蜂窩電話。
38.一種實(shí)施于計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序,用于指引數(shù)據(jù)處理器對(duì)耦合到網(wǎng)絡(luò)的設(shè)備進(jìn)行操作以便從所述網(wǎng)絡(luò)接收信號(hào)樣本和在播放之前自適應(yīng)地緩沖所述信號(hào)樣本,所述設(shè)備執(zhí)行操作包括從所述網(wǎng)絡(luò)接收包含分組的信號(hào)樣本;以及根據(jù)分組的到達(dá)間隔和根據(jù)播放中斷來(lái)調(diào)節(jié)緩沖延遲參數(shù),其中所述緩沖延遲參數(shù)的值是根據(jù)分組的播放點(diǎn)與所述分組的到達(dá)時(shí)間之差,而且是基本延遲和保留延遲的組合,其中所述基本延遲代表由于分組的到達(dá)速率而引入的緩沖延遲量,使得如果分組比創(chuàng)建它們更快地到達(dá),而且所述分組以與創(chuàng)建它們相同的速率進(jìn)行播放,則增加所述基本延遲,其中在分組到達(dá)的停頓期間消耗在其中所述分組比創(chuàng)建它們更快地到達(dá)的時(shí)間期間所引入的所述基本延遲以避免播放中斷;以及其中所述保留延遲代表附加延遲,所述附加延遲被用于對(duì)會(huì)在所述基本延遲變?yōu)樨?fù)時(shí)出現(xiàn)的播放中斷的預(yù)期,以及被用于針對(duì)所述播放中斷的防范。
39.如權(quán)利要求38所述的計(jì)算機(jī)程序,其中從所述網(wǎng)絡(luò)接收的所述分組包括基于IP的話音分組。
40.如權(quán)利要求38所述的計(jì)算機(jī)程序,其中所述設(shè)備包括蜂窩電話。
41.如權(quán)利要求38所述的計(jì)算機(jī)程序,其中針對(duì)目前已經(jīng)接收的具有最大分組順序編號(hào)的分組的最后幀來(lái)估算所述基本延遲。
42.如權(quán)利要求38所述的計(jì)算機(jī)程序,其中基本延遲修改與分組到達(dá)間隔平均有關(guān),而且被嵌入于基本虛擬播放點(diǎn)變量中,如果以有規(guī)律的間隔播放其余分組,而仍然獲得與分組的實(shí)際不規(guī)則播放相同的基本延遲值,則所述基本虛擬播放點(diǎn)變量代表了與用于在所述基本延遲的當(dāng)前估算時(shí)段中的第一到達(dá)分組的播放點(diǎn)相對(duì)應(yīng)的播放點(diǎn)。
43.如權(quán)利要求42所述的計(jì)算機(jī)程序,其中所述基本延遲被估算為等于基本虛擬播放點(diǎn)+創(chuàng)建間隔×(最大到達(dá)順序編號(hào)-用于基本的第一順序編號(hào))+創(chuàng)建間隔-1-當(dāng)前時(shí)間。
44.如權(quán)利要求43所述的計(jì)算機(jī)程序,其中所述基本延遲的估算時(shí)段開(kāi)始于在所述基本延遲已經(jīng)變?yōu)樨?fù)之后第一分組到達(dá)的時(shí)間瞬間。
45.如權(quán)利要求42所述的計(jì)算機(jī)程序,其中通過(guò)將虛擬播放點(diǎn)改變添加到當(dāng)前基本虛擬播放點(diǎn)值以及將所述虛擬播放點(diǎn)改變?cè)O(shè)置為零,來(lái)先更新所述基本虛擬播放點(diǎn)。
46.一種用于耦合到分組網(wǎng)絡(luò)的設(shè)備,包括用于接收包括信息的數(shù)據(jù)分組的裝置,所述信息代表了要在基本上連續(xù)和基本上一致的時(shí)間順序中呈現(xiàn)給個(gè)人的時(shí)間有序內(nèi)容;用于對(duì)所述信息進(jìn)行解碼以獲得樣本的裝置;用于在生成播放信號(hào)之前存儲(chǔ)所述樣本的裝置;以及用于根據(jù)分組網(wǎng)絡(luò)條件對(duì)每幀中的樣本進(jìn)行時(shí)間縮放從而能夠改變播放速率以便在以與創(chuàng)建所述數(shù)據(jù)分組的速率不同的速率接收所述數(shù)據(jù)分組時(shí)提供基本上連續(xù)的輸出信號(hào)的裝置,所述時(shí)間縮放裝置通過(guò)基本延遲和保留延遲進(jìn)行操作,在以比創(chuàng)建所述數(shù)據(jù)分組的速率更慢的速率接收所述數(shù)據(jù)分組時(shí)將所述基本延遲控制在正值的情況,而對(duì)所述保留延遲進(jìn)行管理以在所述基本延遲變?yōu)樨?fù)的情況下提供針對(duì)中斷的防范。
47.如權(quán)利要求46所述的設(shè)備,其中所述設(shè)備包括基本上異步的裝置和基本上同步的裝置,所述基本異步裝置用于獲得數(shù)據(jù)分組到達(dá)延遲,而所述基本同步裝置用于響應(yīng)于所述異步裝置的操作以控制所述時(shí)間縮放裝置的操作。
48.如權(quán)利要求46所述的設(shè)備,還包括用于根據(jù)是否已經(jīng)出現(xiàn)中斷、以及如果已經(jīng)出現(xiàn)中斷則根據(jù)是第一中斷還是后續(xù)中斷來(lái)修正對(duì)平均到達(dá)間隔、中斷和所述基本延遲中至少一個(gè)的估計(jì)的裝置。
49.如權(quán)利要求46所述的設(shè)備,還包括用于將所接收的幀的類型檢測(cè)為不良幀、等待幀和良好幀之一的裝置,以及其中基本偏移值和保留偏移值的重新設(shè)置的出現(xiàn)時(shí)序是至少部分根據(jù)所檢測(cè)的幀類型。
50.如權(quán)利要求46所述的設(shè)備,其中所述數(shù)據(jù)分組包括基于IP的話音分組。
51.如權(quán)利要求46所述的設(shè)備,其中所述設(shè)備包括具有基于IP的話音功能的蜂窩電話。
全文摘要
公開(kāi)了一種設(shè)備、計(jì)算機(jī)程序和方法,用以接收和緩沖包含信息的數(shù)據(jù)分組,該信息代表了要在基本上連續(xù)和基本上一致的時(shí)間順序中呈現(xiàn)給個(gè)人的時(shí)間有序內(nèi)容,比如話音信號(hào);對(duì)信息進(jìn)行解碼以獲得樣本,以及在生成播放信號(hào)之前緩沖樣本。根據(jù)分組網(wǎng)絡(luò)條件對(duì)樣本進(jìn)行時(shí)間縮放從而能夠改變播放速率,以便在以與創(chuàng)建述數(shù)據(jù)分組的速率不同的速率接收數(shù)據(jù)分組時(shí)提供基本上連續(xù)的輸出信號(hào)。時(shí)間縮放操作通過(guò)基本延遲和保留延遲進(jìn)行操作,在以比創(chuàng)建數(shù)據(jù)分組的速率更慢的速率接收數(shù)據(jù)分組時(shí)將基本延遲控制在正值的情況,而對(duì)保留延遲進(jìn)行管理以在基本延遲變?yōu)樨?fù)的情況下提供對(duì)中斷的防范。
文檔編號(hào)G10L21/04GK1969321SQ200580019322
公開(kāi)日2007年5月23日 申請(qǐng)日期2005年4月22日 優(yōu)先權(quán)日2004年4月28日
發(fā)明者雅尼·馬爾利拉 申請(qǐng)人:諾基亞公司