專利名稱:在話音突發(fā)期間重新同步以減少分組語音終端中同步延遲的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及處理分組化的音頻數(shù)據(jù)的方法和系統(tǒng),更具體地說,涉及接收和回放因特網(wǎng)協(xié)議(IP)語音或語音數(shù)據(jù)分組的系統(tǒng)和方法,如無線通信終端和基于個人計算機(jī)(PC)的終端。
背景在基于分組的終端和設(shè)備,如無線通信終端(例如,移動和蜂窩電話或個人通信裝置)、基于PC得終端以及IP電話網(wǎng)關(guān)等領(lǐng)域中,眾所周知的,音頻設(shè)備會每隔一定時間間隔請求將數(shù)據(jù)轉(zhuǎn)換成音頻。但是,這些時間間隔與接收含音頻數(shù)據(jù)的數(shù)據(jù)分組不是同步的。一個給定的分組可能含有一個或多個數(shù)據(jù)幀,該幀內(nèi)所含音頻信號的長度或時長一般在20毫秒至30毫秒的范圍內(nèi)(這里通稱為“幀長”,雖然指的是時間測量而非空間測量)。接收后,音頻數(shù)據(jù)幀通常存儲在抖動緩沖器中,以等待計算的播放時間。播放時間是音頻數(shù)據(jù)幀例如通過數(shù)模變換器(DAC)轉(zhuǎn)換成音頻信號,然后通過揚(yáng)聲器或某個其他類型的音頻變換器放大和再現(xiàn)以供收聽者聽到所經(jīng)歷的時間。在網(wǎng)關(guān)和變碼器的情況中,音頻通常被發(fā)送到基于采樣的電路交換網(wǎng)絡(luò)。因為音頻設(shè)備按隨機(jī)的時間間隔請求幀數(shù)據(jù),所以相對于音頻分組的接收,數(shù)據(jù)可存儲在抖動緩沖器中的時間可變。在抖動緩沖器中的存儲時間可以表示為幀長的一半加預(yù)期的抖動緩沖時長。用圖2對此加以說明分組在抖動緩沖器先駐留預(yù)期的10毫秒(之后即可播放),但是將在下一20毫秒期間的某個時間才提取該幀,這樣導(dǎo)致該幀在抖動緩沖器中額外存儲非期望的平均10毫秒時間。
因在現(xiàn)代語音終端和類似設(shè)備,如IP電話網(wǎng)關(guān)中,音頻設(shè)備與某個本地頻率源同步,這樣就會出現(xiàn)問題。例如,頻率源可能是,例如振蕩器或電話網(wǎng)絡(luò)時鐘信號。但是,在基于分組的終端里,含語音數(shù)據(jù)的分組的到達(dá)速率與驅(qū)動音頻設(shè)備的頻率源不相關(guān)且與之不同步。IP分組的到達(dá)速率與音頻設(shè)備請求語音數(shù)據(jù)幀的速率之間的差異可能造成非期望的且不定的“同步延遲”。
再者,由于時鐘速率的輕微差異,IP分組的到達(dá)速率與音頻設(shè)備請求語音數(shù)據(jù)幀的速率之間的差異可能隨時間而變化,由此構(gòu)成連續(xù)重新同步的問題。
涉及上述技術(shù)的先有共同授予的申請(本專利申請屬于它的部分繼續(xù)申請)中描述了一種在話音突發(fā)(talk spurt)開始時執(zhí)行同步而不連續(xù)執(zhí)行同步的系統(tǒng)和方法。但是,對于長話音突發(fā),如果無法以及時的方式執(zhí)行同步,這可能是不太優(yōu)化的方法。再者,如果采用語音編解碼器而又未使用靜音壓縮,可能難于以受控方式處理同步是個問題。
在Ward等人的EP 0921666A2中,介紹通過調(diào)整接收器中抖動緩沖器的存儲深度來降低非同步實體從分組網(wǎng)絡(luò)接收的分組語音通信的質(zhì)量下降。接收到語音采樣數(shù)據(jù)單元時將其存儲在抖動緩沖器中。從抖動緩沖器中提取存儲單元的速率不時因提取兩個單元但只遞交一個而加速,或因不提取單元卻在相應(yīng)位置遞交替代單元而減速。此技術(shù)據(jù)說可響應(yīng)分組接收事件控制存儲深度,使延遲最小,同時提供足夠的延遲量來平滑分組接收事件之間的差異。
在Nakabayashi的WO 01/11832A1中,描述了采用存儲從網(wǎng)絡(luò)接口接收到的分組的接收緩沖器和參考接收緩沖器的狀態(tài)來完成聲音再現(xiàn)操作的再現(xiàn)控制器。解碼器接收存儲的數(shù)據(jù),然后將解碼的數(shù)據(jù)提供給由再現(xiàn)時鐘鐘控的DAC。據(jù)說此過程可以防止因發(fā)送器和接收器之間的時鐘差異而導(dǎo)致的接收緩沖器的下溢和上溢,且可防止導(dǎo)致聲音損失的分組抖動。
Rosengren的US 6181712 B1描繪了將分組從輸入流發(fā)送到輸出流的技術(shù)。當(dāng)復(fù)用傳輸流時,可能使分組抖動達(dá)到使解碼器緩沖器下溢或上溢的程度。為了避免此情況,將時間窗口與數(shù)據(jù)分組相關(guān)聯(lián),并在分組中提供有關(guān)分組在窗口內(nèi)位置的位置信息。
優(yōu)選實施例概述根據(jù)本發(fā)明的當(dāng)前優(yōu)選實施例,克服了上述和其他的問題并實現(xiàn)其他優(yōu)點。
根據(jù)本
發(fā)明內(nèi)容
,除在話音突發(fā)開始時執(zhí)行同步之外,還可以在話音突發(fā)過程中執(zhí)行同步,由此可以對發(fā)現(xiàn)的失步事件作出及時反應(yīng)。此外,本方法還可以應(yīng)用于那些未采用語音靜音壓縮的情況。根據(jù)本發(fā)明的重新同步過程不需要進(jìn)行復(fù)雜的數(shù)據(jù)處理,因為可以利用可通過語音解碼器得到的信息來完成重新同步過程。
媒體子系統(tǒng)中實現(xiàn)的電路再現(xiàn)語音或其他類型的音頻信號,并可在回放音頻數(shù)據(jù)時工作以減小同步延遲。一種方法的工作原理為含音頻數(shù)據(jù)的幀發(fā)送到解碼器時測量同步延遲;確定應(yīng)該對同步延遲作多大調(diào)整;以及通過在選擇的當(dāng)前幀或選擇的后續(xù)幀中增加或刪除一個或多個音頻樣本來以可感知內(nèi)容(content-aware)的方式調(diào)整同步延遲,以免使回放的音頻數(shù)據(jù)的質(zhì)量顯著下降。當(dāng)通過一個以上的音頻樣本調(diào)整同步延遲時,可以通過一次調(diào)整確定的所有音頻樣本來進(jìn)行,也可以通過對確定的部分音頻樣本多次進(jìn)行調(diào)整來進(jìn)行。如果可能的話,調(diào)整步驟可選擇清音幀而不選擇過渡幀。所述確定步驟包括測量幀在抖動緩沖器中駐留的平均時長;以及調(diào)整同步延遲,以使平均時長接近期望的抖動緩沖器駐留時長。
在一個示范性(而非限定性)實施例中,所述電路包含在無線通信設(shè)備如蜂窩電話或個人計算機(jī)內(nèi)。在其他實施例中,所述電路和方法可以作為例如基于PC的終端、IP電話網(wǎng)關(guān)和IP至電路交換媒體變碼器的組成部分來實現(xiàn)。
附圖簡介下文參考附圖對優(yōu)選實施例進(jìn)行詳細(xì)說明,以闡述本發(fā)明的上述和其他方面,附圖中
圖1是音頻再現(xiàn)系統(tǒng)的媒體子系統(tǒng)的簡化方框圖,其中還說明音頻數(shù)據(jù)分組接收和回放過程中的媒體流;圖2是有助于理解圖1的媒體子系統(tǒng)與達(dá)到IP音頻數(shù)據(jù)分組之間的同步延遲的示意圖;圖3是說明采用20毫秒幀長的端到端呼叫中遇到的典型的端到端延遲的示意圖;圖4是說明執(zhí)行初始話音突發(fā)同步時媒體子系統(tǒng)操作的邏輯流程圖;圖5是說明執(zhí)行初始話音突發(fā)同步時媒體子系統(tǒng)操作的更為詳細(xì)的邏輯流程圖;圖6是說明話音突發(fā)期間執(zhí)行重新同步時媒體子系統(tǒng)操作的邏輯流程圖;以及圖7是說明圖6所示用于確定應(yīng)該對同步延遲作多大調(diào)整的步驟B中算法操作的邏輯流程圖。
優(yōu)選實施例的詳細(xì)說明首先應(yīng)注意,本發(fā)明適用于任何處理和回放分組化(或成幀的)音頻數(shù)據(jù)的系統(tǒng)或裝置,例如移動蜂窩電話、個人通信裝置、基于PC的終端、IP電話網(wǎng)關(guān)和IP至電路交換媒體變碼器。這些不同類型的設(shè)備和系統(tǒng)可以簡稱為終端。換言之,本發(fā)明適用于任何將基于分組的語音鏈接到電路交換的或其他形式的連續(xù)語音的設(shè)備。因此,本方法還適用于包括鏈接IP和PCM鏈路的網(wǎng)關(guān)和變碼器的各種設(shè)備。
圖1是音頻再現(xiàn)系統(tǒng)10的媒體子系統(tǒng)10A的簡化方框圖,其中還說明音頻接收過程中的媒體流。雖然主要是在無線通信設(shè)備(如蜂窩電話或個人通信裝置)上下文中進(jìn)行說明的,但是應(yīng)該明確的是,系統(tǒng)10還可以是作為示例而非限制的基于PC的終端或IP電話網(wǎng)關(guān)。IP分組從物理層到達(dá)網(wǎng)絡(luò)接口12,在本例中物理層例如是某種類型的分組交換媒體或網(wǎng)絡(luò),如撥號電話線路,以太網(wǎng)連接或無線空中接口(例如分組被調(diào)制到RF載波或光纖載波上)。網(wǎng)絡(luò)接口12還可以稱為系統(tǒng)10的IP棧。各分組達(dá)到網(wǎng)絡(luò)接口12的時間與音頻設(shè)備14的操作不同步音頻設(shè)備14可以是(僅作為實例)移動電話的DAC或IP電話網(wǎng)關(guān)的PCM連接。音頻設(shè)備14可以實現(xiàn)許多種不同的接口之一,例如(但不限于)Linux音頻API(應(yīng)用程序編程接口)、Windows音頻API和PCM線路卡。
當(dāng)分組到達(dá)網(wǎng)絡(luò)接口12時,媒體子系統(tǒng)10A接收到回叫(1),并通過實時傳輸協(xié)議(RTF)模塊16接收分組。關(guān)于RTP,可參考H.Schulzrinne、S.Casner、R.Frederick和V.Jacobson的“RTP實時應(yīng)用的傳輸協(xié)議”(IETF Network Working Group,RFC 1889,StandardsTrack,January 1996,75p.),以及H.Schulzrinne的“以最少控制實現(xiàn)音頻和視頻會議的RTP方案(profile)”(IETF Network Working GroupRFC 1890,Standards Track,January 1996,18p.)。分組內(nèi)所含幀的播放時間是計算得到的。在下一步(2),RTP模塊16使這些幀插入抖動緩沖器18中或在其中排隊。當(dāng)語音設(shè)備14開始播放完要播放的數(shù)據(jù)時,它會喚醒或中斷媒體子系統(tǒng)10A(3)并向RTP模塊發(fā)出要播放更多數(shù)據(jù)的請求。作為響應(yīng),RTP模塊16執(zhí)行檢查,以確定其內(nèi)部音頻緩沖器中是否有足夠的語音數(shù)據(jù)可供填滿音頻設(shè)備的緩沖器。如果有足夠的數(shù)據(jù),則立即將其寫入到音頻設(shè)備(跳至第6步)。如果緩沖器中的數(shù)據(jù)是舒適噪聲或沒有足夠量的數(shù)據(jù),則根據(jù)計算的幀播放時間從抖動緩沖器18中提取下一個可播放幀或使其出隊(4)。然后將出隊的幀發(fā)送到音頻編解碼器20,例如但不限于PCM編解碼器、G.711編解碼器(語音頻率的脈沖碼調(diào)制(PCM),ITU-T建議G.711,1972年第18頁)、G.723.1編解碼器(以5.3和6.3千比特/秒傳輸?shù)挠糜诙嗝襟w通信的雙速率語音編解碼器,ITU-T建議G.723.1,1996年3月第27頁)或AMR編解碼器(“強(qiáng)制語音編解碼器處理功能.AMR語音編解碼器;編碼轉(zhuǎn)換功能”(3GPPTechnical specification Group Services and System Aspects,3GTS 26.090V3.0.1,September 1999,61p.},音頻編解碼器20在第(5)步對音頻數(shù)據(jù)解碼,并將解碼的音頻數(shù)據(jù)幀返回給RTP模塊16。本發(fā)明的裝置和方法可使用的各種編解碼器20可以具有語音活動性檢測(VAD)功能,也可以不具有該功能。如果抖動緩沖中沒有數(shù)據(jù)要解碼,則生成舒適噪聲或錯誤隱藏數(shù)據(jù),具體視編解碼器類型和內(nèi)部狀態(tài)而定。在第(6)步,RTP模塊16將音頻數(shù)據(jù)寫入音頻設(shè)備14,然后媒體子系統(tǒng)10A返回睡眠狀態(tài),以等待下一次喚醒。
一般來說,音頻設(shè)備14按固定時間間隔(如每20毫秒(即編解碼器20幀速率))請求表示可播放聲音的數(shù)據(jù)。但是,從分組網(wǎng)絡(luò)接收IP分組的操作與音頻設(shè)備14生成的播放喚醒的操作不同步。更具體地來說,音頻設(shè)備14通常會處理長度與編解碼器20的幀長相同(如20毫秒)的數(shù)據(jù)塊形式的音頻。這導(dǎo)致平均同步延遲為一半幀長。例如,如果平均幀長為20毫秒,則平均同步延遲約為10毫秒。圖2說明20毫秒幀長的示例同步延遲,以及圖3說明幀長為20毫秒的兩終端之間的端到端延遲。在圖3中,測量點每隔一秒出現(xiàn)一個,低的軌跡表示0毫秒長度的抖動緩沖,而高的軌跡表示30毫秒的抖動緩沖。注意,圖3中該延遲導(dǎo)致約20毫秒的突然擺幅,然后突然偏移約20毫秒。延遲的變化是因到達(dá)IP分組與音頻設(shè)備14的操作之間失步造成的。同步延遲的逐漸偏移是因為兩個終端(發(fā)送裝置和接收裝置)采用不同的時鐘頻率,這導(dǎo)致這兩個終端之間不能維持同步。
上述參考的美國專利申請中的論述(本申請是它的部分繼續(xù)申請)基于了解許多現(xiàn)代音頻編解碼器具有語音活動性檢測(VAD)和舒適噪聲生成功能而作出的,這意味著檢測不到語音(即靜音)時,則無語音數(shù)據(jù)發(fā)送。相反,計算靜音信息描述符(SID)數(shù)據(jù),并周期性地傳送此數(shù)據(jù),接收端據(jù)此合成提供給收聽者的人造背景噪聲,通常稱為舒適噪聲。已經(jīng)發(fā)現(xiàn),語音數(shù)據(jù)往往在稱為話音突發(fā)的短暫時間間隔或周期內(nèi)到達(dá),平均持續(xù)約一秒,其前后為靜音期間,此期間生成舒適噪聲。因不在清音或靜音期間傳輸,節(jié)約了通信鏈路帶寬,還減少了電池供電的便攜式接收終端的功耗。有關(guān)舒適噪聲的使用,通??梢詤⒖脊餐谟璧摹apanen的美國專利5835889和Jarvinen等人的5960389。靜音描述符信息將以如下所述的方式來加以利用。
根據(jù)上述參考的美國專利申請的論述,媒體子系統(tǒng)10A與輸入數(shù)據(jù)分組的到達(dá)的同步在新的語音期間開始時,即新語音突發(fā)的開始處被重置。這意味著通常重新同步的精度約為一個幀長(如20毫秒)。媒體子系統(tǒng)10A所經(jīng)歷的同步延遲減少為小于編解碼器幀長(例如小于20毫秒),而不會對語音質(zhì)量產(chǎn)生不利影響。首先,音頻設(shè)備14的幀長設(shè)為與編解碼器20的幀長的一部分。例如,音頻設(shè)備14的幀長減少為編解碼器20的幀長的四分之一(即,減少到5毫秒)。這使音頻設(shè)備14每5毫秒請求一次音頻數(shù)據(jù)。從編解碼器20將一個20毫秒幀的音頻數(shù)據(jù)解碼到緩沖器14A,然后按5毫秒增量饋送到音頻設(shè)備14。此外,還記錄存儲在緩存器14A中的音頻數(shù)據(jù)的類型(即記錄它是語音數(shù)據(jù)還是舒適噪聲數(shù)據(jù))。
舒適噪聲生成期間,在每個音頻設(shè)備14回叫(或本例中每5毫秒)之后,檢查抖動緩沖器18以確定新的可播放數(shù)據(jù)(如語音數(shù)據(jù))是否已從分組數(shù)據(jù)網(wǎng)絡(luò)到達(dá)。如果沒有新的可播放數(shù)據(jù)到達(dá),則音頻設(shè)備14繼續(xù)基于緩沖器14A中的舒適噪聲數(shù)據(jù)工作。但是,如果在抖動緩沖器18中檢測到新的可播放數(shù)據(jù),則剛到達(dá)的可播放數(shù)據(jù)被編解碼器20解碼之后,用于覆蓋緩沖器14A中的舒適噪聲數(shù)據(jù)或?qū)⑵鋭h除。即,提前中止舒適噪聲數(shù)據(jù)的播放,而以通常方式更快地開始播放可播放(例如語音)數(shù)據(jù)。這樣,同步延遲減少為音頻設(shè)備幀長的一半,在本例中為減少到2.5毫秒,從而消除了7.5毫秒的端到端延遲。媒體子系統(tǒng)定時10A與到達(dá)語音數(shù)據(jù)分組的定時的同步在每個話音突發(fā)開始時進(jìn)行。
如上所述,可能在過長的話音突發(fā)期間出現(xiàn)某些時鐘漂移,這可以在該話音突發(fā)期間通過媒體子系統(tǒng)10A重新同步來容納,下文將對此作更為詳細(xì)的說明。
注意,上述錯誤隱藏數(shù)據(jù)不同于舒適噪聲數(shù)據(jù),如果存在的話,最好不要以語音數(shù)據(jù)替代它。
使用前述的過程不會使音頻設(shè)備14再現(xiàn)的語音質(zhì)量下降,因為同步操作在舒適噪聲生成期間進(jìn)行,而不是在正在向收聽者再現(xiàn)語音時進(jìn)行。再者,因為通常生成舒適噪聲所得音頻信號功率比生成濁音音頻信號所得音頻信號功率低,所以刪除部分舒適噪聲幀通常不可被收聽者聽見。
可以理解,如果編解碼器20的幀長更長(例如30毫秒或60毫秒),則前述同步優(yōu)化愈加有利。
參考圖4,操作用于回放音頻數(shù)據(jù)的媒體子系統(tǒng)10A的方法包括在步驟4-A,在音頻設(shè)備14生成舒適噪聲期間,檢測含有表示話音突發(fā)開始的音頻數(shù)據(jù)的數(shù)據(jù)分組是否達(dá)到。在步驟4-B,該方法通過在話音突發(fā)之前中止生成舒適噪聲使媒體子系統(tǒng)10A重新同步到話音突發(fā)開始,并在步驟4-C,音頻設(shè)備14回放話音突發(fā)。
假定到達(dá)數(shù)據(jù)分組含有至少一幀回放時長為X毫秒(例如在約20毫秒至約60毫秒的范圍內(nèi))的音頻數(shù)據(jù),音頻設(shè)備14設(shè)為按X/Y毫秒(其中Y大于1)給定的速率請求要回放的解碼音頻數(shù)據(jù)。例如,Y可以設(shè)為使X/Y<10毫秒。再例如,Y可以設(shè)為使X/Y=5毫秒。
圖5是圖4概括的過程的更為詳細(xì)的邏輯流程圖。該方法在步驟5-A應(yīng)音頻播放回叫事件而開始。在步驟5-B,確定RTP音頻緩沖器14A中是否有足夠的語音數(shù)據(jù)。如果確定是肯定的,則控制轉(zhuǎn)到步驟5-C,從緩沖器14A復(fù)制數(shù)據(jù)到音頻設(shè)備14。如果步驟5-B的確定是否定的,則控制繼續(xù)到步驟5-D,在其中確定抖動緩沖器18幀是否有可播放的語音數(shù)據(jù)。如果沒有,則在步驟5-E生成舒適噪聲,然后控制傳到步驟5-C,將舒適噪聲數(shù)據(jù)復(fù)制到音頻設(shè)備14。但是,如果在步驟5-D發(fā)現(xiàn)抖動緩沖器18中有可播放數(shù)據(jù),則在步驟5-F以(解碼的)語音數(shù)據(jù)替代RTP語音緩存器14A中的任何舒適噪聲數(shù)據(jù),控制然后轉(zhuǎn)到步驟5-C,將解碼的語音數(shù)據(jù)復(fù)制到音頻設(shè)備14。
至此已經(jīng)描述了根據(jù)本申請作為其部分繼續(xù)申請的上述參考美國專利申請的論述的方法和裝置,現(xiàn)在將說明本發(fā)明的實施例。
圖3所示的端到端延遲的緩慢移動還表明播放時間與音頻設(shè)備14提取分組時的時間之間的時間差在緩慢減小。音頻設(shè)備14最終嘗試在分組到達(dá)網(wǎng)絡(luò)接口12之前提取分組。在此情況下,抖動緩沖器18下溢,從而導(dǎo)致音頻設(shè)備14上分組丟失和端到端延遲增加20毫秒。
如果漂移沿另一個方面進(jìn)行,即如果延遲緩慢增長,則播放時間和分組提取時間之間的時間差會緩慢增加。在此情況下,抖動緩沖器18最終上溢,從而導(dǎo)致分組在抖動緩沖器18上被丟棄和端到端延遲增加20毫秒。
為了更好地理解本發(fā)明的操作,下文將首先對典型語音信號特征作簡要討論。語音信號包括幾個不同類型的部分。會話過程中,通常每次僅有一方說話,這形成了交替在語音信號的(活動/非活動)期間說和聽的總體結(jié)構(gòu)。這還意味著,平均來說至多50%的時間信號含有實際的語音信息。此外,語音信號還存在更精細(xì)的結(jié)構(gòu)。例如,通常語音信號會包含句子之間、詞匯之間、以及某些情況中甚至詞匯中的音素之間的非活動期??梢岳斫?,此更精細(xì)結(jié)構(gòu)的特性很大程度上取決于所用的語言和發(fā)言者的語音特征。
再者,活動語音還可以劃分為不同的從屬類別。典型的分類法將是劃分為(周期性的)濁音和(類似噪聲的)清音類別或類。GSM語音編解碼器(例如AMR編解碼器)處理20毫秒幀的語音,而在許多情況中,整個幀可以歸類為濁音幀或清音幀。但是,從清音到濁音(以及反之)的過渡發(fā)生得較快,在許多情況中,一個20毫秒的幀的持續(xù)時間足夠包括清音和濁音語音分量。因此,清音與濁音之間的過渡形成第三類別過渡語音(過渡幀)。再者,還可以將所謂的起始幀視為第四類別,它表示非活動語音期之后是包含活動語音期開始的幀。
在許多通信系統(tǒng)中,數(shù)據(jù)流可能在傳輸中會損失。例如,在通過無線電鏈路傳輸?shù)倪^程中,幀可能因比特誤碼而被破壞,或在分組交換網(wǎng)絡(luò)中,承載幀的分組可能因網(wǎng)絡(luò)擁塞而丟失。從接收裝置的角度來看,這意味著一些接收幀已被破壞,或甚至完全丟失。因為原則上說,即使非常短的中斷都會在重建的語音信號中引起惱人的人工噪聲,所以那些為在易錯(error prone)環(huán)境中工作而設(shè)計的語音編解碼器配備了錯誤隱藏算法,以將破壞的和/或丟失的幀的影響減到最小。錯誤隱藏通常根據(jù)先前的有效幀推算被破壞/刪除的幀的參數(shù)而利用語音信號的平穩(wěn)特征。此類型的錯誤隱藏技術(shù)僅在只需要替換短時語音的情況下才適用,但是當(dāng)短時間段內(nèi)多個連續(xù)幀或一定較大數(shù)量的幀丟失時,估計丟失的幀變得更為困難,錯誤隱藏處理過程的結(jié)果差于最優(yōu)結(jié)果。
幀刪除還導(dǎo)致其他影響。有效的語音壓縮(或解壓)部分地基于連續(xù)語音幀之間的強(qiáng)相關(guān)性。例如,在AMR中,語音編解碼器作為一種狀態(tài)機(jī)工作,將許多發(fā)送的語音參數(shù)相對于語音編碼器的當(dāng)前狀態(tài)編碼。編碼器的狀態(tài)隨每個發(fā)送幀更新,同樣解碼器狀態(tài)隨每個接收幀更新。當(dāng)發(fā)生幀刪除時,除實際丟失的幀,語音質(zhì)量下降還會傳播到后續(xù)幾個幀,因為編碼器和解碼器狀態(tài)之間的同步暫時丟失,因此無法對某些參數(shù)解碼。雖然錯誤隱藏可以部分地屏蔽此影響,但它通常需要發(fā)生丟失之后的至少少量的幀,直到解碼器的狀態(tài)重新與編碼器的狀態(tài)同步,語音質(zhì)量返回到可接受的或正常的水平。
就語音幀類型及其對主觀質(zhì)量的影響而言,語音信號可如上所述劃分為不同類型的幀。已經(jīng)注意到,不同幀類型通常對主觀語音質(zhì)量有不同的影響,即某些幀要比其他幀重要??梢灶A(yù)料到,承載非活動語音信號數(shù)據(jù)的那些語音幀不被視為對語音質(zhì)量有重要的影響。因此,通常非活動期間丟失一個幀或甚至多個(連續(xù))幀不會使語音質(zhì)量下降。
而且,含活動語音的某些幀對于主觀語音的重要性較其他幀大。清音幀通常類似于噪聲,承載相對小的頻譜信息。如果丟失,只要信號能級保持相對恒定,就可以補(bǔ)償這些幀,而不會有明顯的影響。但是,濁音幀通常含具有獨(dú)特頻譜特征的明顯的周期性結(jié)構(gòu)。因為濁音信號通常保持恒定(或在結(jié)構(gòu)上引入恒定且很小的變化),所以如果丟失,可以通過重復(fù)(或稍微調(diào)整)先前幀的結(jié)構(gòu)以基于外插的錯誤隱藏法較為有效地補(bǔ)償這些濁音幀。因此,只要沒有丟失太多幀(在許多情況中,兩個以上的幀丟失往往會導(dǎo)致輸出信號中產(chǎn)生可聽見的失真),錯誤隱藏就可以非常有效地隱藏丟失的濁音和清音幀,而不會在再現(xiàn)語音中產(chǎn)生惱人的質(zhì)量下降。
但是,其余幀類型,即過渡和起始幀對于錯誤隱藏算法來說明顯是較為困難的情況。這是可以預(yù)想到的,因為錯誤隱藏處理過程基于推算結(jié)果利用語音的固定特征來工作,但是這些幀類型會在信號特征曲線中帶入突變,這是無法以精確方式預(yù)測的。因此,丟失過渡幀或起始幀幾乎總是會造成可聽到的短暫語音質(zhì)量下降。
就同步而言,在常規(guī)系統(tǒng)中,當(dāng)新的話音突發(fā)開始時確定播放時間偏移量。如果當(dāng)前話音突發(fā)的播放延遲不同于先前話音突發(fā)所用的播放延遲,則接收器必須忽略掉部分信號,或者它必須生成一段附加信號以補(bǔ)償不連續(xù),具體視新播放延遲是短于先前的延遲,還是長于先前的延遲。如果不是非常小心地執(zhí)行此處理過程,則此類型的語音信號操作可能導(dǎo)致在不連續(xù)點處可感知語音質(zhì)量的明顯可聽出的劣化。常規(guī)方法旨在通過在信號只由舒適噪聲構(gòu)成時一直執(zhí)行重新同步來使質(zhì)量下降最小。
通過以可感知內(nèi)容方式在話音突發(fā)期間執(zhí)行重新同步使同步延遲最小,克服了上述和其他缺點。如上所述,語音信號包含不同的時間段,各時間段對總體主觀語音質(zhì)量有不同的影響。利用此知識,根據(jù)本發(fā)明的系統(tǒng)10在選擇的語音期間執(zhí)行重新同步,所選擇的語音期間應(yīng)使重新同步過程所需的信號操作不對語音質(zhì)量產(chǎn)生不利影響。應(yīng)注意,從最終用戶的觀點來看,操作語音信號會帶來不同于傳輸錯誤的影響,因此上述有關(guān)傳輸錯誤的討論也適用于此。
因此,當(dāng)采用以上給出的語音幀分類時,顯然不應(yīng)在過渡語音幀或起始語音幀期間執(zhí)行重新同步。再者,最好避免在濁音語音幀期間執(zhí)行重新同步,但是它可以在急需重新同步的情況下執(zhí)行。但在操作濁音語音信號時,最好的方法是以很小步長(例如一次只有幾個樣本或甚至一個樣本)來進(jìn)行重新同步,或以時長對應(yīng)于當(dāng)前基音周期的步長來進(jìn)行重新同步。
關(guān)于基音周期,可以注意到,在大多數(shù)CELP型語音編解碼器中,基音周期是編碼器提取的參數(shù)之一,并被發(fā)送到解碼器(這適用于例如GSM編解碼器EFR、AMR、AMR-WB、ITU-T編解碼器G.723.1 & G.729等)。再者,例如在AMR編解碼器中,20毫秒幀進(jìn)一步劃分成5毫秒的子幀,并針對每個子幀計算各自的基音周期值,并將其發(fā)送出去。
濁音和清音之間的近似幀分類可以遵循基音周期值的歷史信息來進(jìn)行。更具體地來說,語音的濁音段包含明顯的周期性結(jié)構(gòu),而基音周期的值(該周期長度)保持近似相等或僅在該段內(nèi)稍微變化。但是,語音的清音段通常是類似噪聲的信號,而無任何顯著的周期性。
在AMR解碼器中,與基音周期值相關(guān)的增益(“基音增益”)可用于進(jìn)一步精細(xì)描述濁音/清音指示信息通常在濁音語音中,基音增益高(接近于1.0),而且隨(子)幀保持相對恒定,而在清音語音中,基音增益以基本上類似隨機(jī)的方式變化。在AMR編解碼器(和上述所有編解碼器)中,基音增益還是對應(yīng)于每個子幀接收的參數(shù)。
可用于獲取在劃分或驗證濁音/清音幀的分類時使用的附加信息的其他方法可以是觀察接收幀內(nèi)的過零率(清音語音的過零率通常顯著高于濁音語音),觀察合成語音信號的能量(濁音信號的能量通常高于清音信號的能量),或觀察合成語音信號的高低能量帶之間的能量分布(對于濁音語音,大多數(shù)能量集中在低頻帶,而清音語音的情況則不是這樣)。其他用于執(zhí)行相對簡單的濁音/清音分類的方法包括觀察線性預(yù)測差錯,這可以在解碼器20中通過計算合成濾波器輸入信號(即,激勵信號)的能量與合成語音的能量之間的比率來進(jìn)行。通常,對于濁音語音來說,得到的線性預(yù)測差錯值比清音語音的低。另一技術(shù)基于自適應(yīng)的和固定的(代數(shù))碼本影響(contribution)(有關(guān)這些代碼的進(jìn)一步討論,請參見例如3GPP TS26.090,“AMR語音編解碼器;代碼轉(zhuǎn)換功能”)之間的能量分布。
應(yīng)注意,存在許多適于對濁音/清音進(jìn)行分類的其他方法,因此上述內(nèi)容不應(yīng)從限制意義上理解,而僅作為適于確定濁音/清音或刻劃其特征的典型方法。還應(yīng)注意,雖然這些方法通??梢灾付ㄔ谡Z音編碼器中執(zhí)行,但是本技術(shù)領(lǐng)域人員會認(rèn)識到,與上述列舉的各種方法的情況一樣,這些方法中的許多方法還可以在語音解碼器20中實現(xiàn)。
雖然采用上述示例方法的一種或多種會引入少量的額外計算負(fù)擔(dān),但因它們不是構(gòu)成正常語音解碼過程的操作,而是相對簡單的操作,所以與解碼處理過程本身的操作相比,這些操作的計算負(fù)擔(dān)基本可以忽略不計。
檢測過渡幀的一種方法可以是對接收幀的各半單獨(dú)執(zhí)行上述分析,而對相同幀的每一半進(jìn)行的不同濁音/清音判斷則會清楚地指明過渡幀。該技術(shù)在檢測從濁音到清音的過渡時尤其有用。作為語音發(fā)送的非活動幀(通常位于話音突發(fā)的結(jié)束位置)可以根據(jù)它們非常低的能量(與承載實際語音信號的幀進(jìn)行比較)來檢測。
應(yīng)理解,語音解碼器20中的幀類型分類詳細(xì)說明可以是編解碼器特定的,因此幀類型分類的上述討論應(yīng)理解為提供適當(dāng)實施例的幾個簡單實例,而不應(yīng)視為涵蓋了本主題的全部。
目前認(rèn)為清音或非活動類型的語音幀最適于執(zhí)行信號操作。但是,某些清音幀可承載具有較高能量(即高“音量”)且具有某種變化的信號,因此,應(yīng)該小心處理以不致于引入可導(dǎo)致可聽見劣化的能級不連續(xù)。因此,最好也在清音語音期間以小步長執(zhí)行重新同步。
如上所述,語音解碼器20一般可訪問可用于估計當(dāng)前語音幀類型的參數(shù)。因此,最好與語音解碼器20緊密配合執(zhí)行重新同步過程,因為這可以以最少的額外處理來實現(xiàn)重新同步。
參考圖6,可以采用如下方法減少同步延遲,而又不影響話音突發(fā)期間的語音質(zhì)量。在步驟A,當(dāng)語音幀發(fā)送到解碼器20時,計算同步延遲,而在步驟B,根據(jù)如下詳述的算法,確定應(yīng)該對所述同步延遲作多大調(diào)整。在步驟C,指令解碼器20通過增加或丟棄適當(dāng)數(shù)量的語音樣本來調(diào)整播放同步。當(dāng)解碼器20對幀進(jìn)行解碼時,它確定在當(dāng)前幀的哪個部分(或某個指定的適當(dāng)時間窗內(nèi)的幾個后續(xù)幀中)中可以進(jìn)行同步調(diào)整而不會降低語音質(zhì)量(步驟D)。最好對某個預(yù)定時長的數(shù)據(jù)以一個樣本大小的步長執(zhí)行此步驟,所述預(yù)定義時長的數(shù)據(jù)可以是少至一個樣本的音頻幀的任何片段。注意,調(diào)整可以對某整個段一次完成,也可以作為一系列較小的調(diào)整來進(jìn)行。
如上所述,一般在認(rèn)為用戶不可聽見的位置上刪除或添加音頻樣本。當(dāng)從幀中刪除樣本時,則縮短同步延遲,當(dāng)向幀增加樣本時,則同步延遲增加。例如,在音頻設(shè)備14中增加少量樣本會增加同步延遲,并補(bǔ)償因時鐘漂移導(dǎo)致的延遲圖中的緩慢移動(如圖3所示)。最好,如果可能的話,調(diào)整步驟選擇清音幀來進(jìn)行重新同步調(diào)整,而不選擇調(diào)整過渡幀。必要時,可以在濁音幀中進(jìn)行調(diào)整,但最好以小增量進(jìn)行調(diào)整,以避免產(chǎn)生可聽見的人工噪聲。
參考圖7,用于確定對同步延遲作多大調(diào)整的目前最優(yōu)但非限制性的算法如下(A)測量分組在抖動緩沖器18中駐留的平均時長;以及(B)調(diào)整同步延遲,使平均時長接近期望的抖動緩沖器18時長。
作為非限制性的實例,上述裝置和方法可以在無線通信設(shè)備、如移動電話、蜂窩無線電電話或個人計算機(jī)中實現(xiàn),分組可以是從無線電信道接收的語音分組。上述裝置和方法還可以在基于個人計算機(jī)(PC)的電話系統(tǒng)、因特網(wǎng)協(xié)議(IP)電話網(wǎng)關(guān)或IP至電路交換媒體代碼轉(zhuǎn)換器中實現(xiàn)。
此外,應(yīng)理解,雖然本發(fā)明內(nèi)容是在傳輸、存儲和再現(xiàn)語音或語音數(shù)據(jù)的上下文中公開的,但是這些論述不限于語音或語音數(shù)據(jù),其他類型的音頻數(shù)據(jù)(如音樂)也可以通過采用本文中討論的方法和裝置而獲益。在此情況下,可以假定話音突發(fā)表示某種其他類型的音頻信息,如靜音期之后的音樂段。
權(quán)利要求
1.一種用于在播放音頻數(shù)據(jù)時操作媒體子系統(tǒng)以減少同步延遲的方法,它包括當(dāng)含音頻數(shù)據(jù)的幀發(fā)送到解碼器時測量同步延遲;確定應(yīng)該調(diào)整的同步延遲量;以及通過在選擇的當(dāng)前幀或選擇的后續(xù)幀中增加或刪除一個或多個音頻樣本來以可感知內(nèi)容的方式調(diào)整同步延遲,以免使回放的音頻數(shù)據(jù)的質(zhì)量顯著下降。
2.如權(quán)利要求1所述的方法,其特征在于,所述確定步驟確定一個樣本大小的步長下的音頻樣本的數(shù)量。
3.如權(quán)利要求1所述的方法,其特征在于,當(dāng)通過一個以上的音頻樣本來調(diào)整所述同步延遲時,所述調(diào)整通過一次調(diào)整所有所述確定的音頻樣本來進(jìn)行。
4.如權(quán)利要求1所述的方法,其特征在于,當(dāng)通過一個以上的音頻樣本來調(diào)整所述同步延遲時,所述調(diào)整通過多次調(diào)整部分所述確定的音頻樣本來進(jìn)行。
5.如權(quán)利要求1所述的方法,其特征在于,可能的話,所述調(diào)整步驟選擇清音幀來進(jìn)行。
6.如權(quán)利要求1所述的方法,其特征在于,所述調(diào)整步驟不選擇過渡幀來進(jìn)行。
7.如權(quán)利要求1所述的方法,其特征在于,所述確定步驟包括測量幀在抖動緩沖器中駐留的平均時長;以及調(diào)整所述同步延遲,以使所述平均時長接近期望的抖動緩沖器駐留時長。
8.如權(quán)利要求1所述的方法,其特征在于,至少一個音頻數(shù)據(jù)幀的播放時長介于約20毫秒至約60毫秒之間。
9.一種用于再現(xiàn)語音信號的裝置,它包括緩沖電路,用于在將來自含有表示語音信號的數(shù)據(jù)的分組的數(shù)據(jù)發(fā)送到解碼器之前將其存儲;還包括控制電路,所述控制電路可在將包含音頻數(shù)據(jù)的幀發(fā)送到解碼器時進(jìn)行操作,用于測量同步延遲,確定應(yīng)該對所述同步延遲作多大調(diào)整,以及通過在選擇的當(dāng)前幀或選擇的后續(xù)幀中增加或刪除一個或多個音頻樣本來以可感知內(nèi)容的方式調(diào)整所述同步延遲,以免使回放的音頻數(shù)據(jù)的質(zhì)量顯著下降。
10.如權(quán)利要求9所述的裝置,其特征在于,所述控制電路確定一個樣本大小的步長下音頻樣本的數(shù)量。
11.如權(quán)利要求9所述的裝置,其特征在于,當(dāng)通過一個以上的音頻樣本來調(diào)整所述同步延遲時,所述調(diào)整通過一次調(diào)整所有所述確定的音頻樣本來進(jìn)行。
12.如權(quán)利要求9所述的裝置,其特征在于當(dāng)通過一個以上的音頻樣本來調(diào)整所述同步延遲時,所述調(diào)整通過多次調(diào)整部分所述確定的音頻樣本來進(jìn)行。
13.如權(quán)利要求9所述的裝置,其特征在于,可能的話,所述控制電路選擇清音幀來進(jìn)行所述調(diào)整。
14.如權(quán)利要求9所述的裝置,其特征在于,所述控制電路不選擇過渡幀進(jìn)行所述調(diào)整。
15.如權(quán)利要求9所述的裝置,其特征在于,所述控制電路在確定所述同步延遲應(yīng)該調(diào)整的量時,進(jìn)行操作以測量幀在所述緩沖器中駐留的平均時長,并調(diào)整所述同步延遲,以使所述平均時長接近期望的緩沖器駐留時長。
16.如權(quán)利要求9所述的裝置,其特征在于,至少一個音頻數(shù)據(jù)幀的播放時長介于約20毫秒至約60毫秒之間。
17.如權(quán)利要求9所述的裝置,其特征在于,所述電路包含在無線通信設(shè)備內(nèi),其中所述分組是從無線電信道接收的。
18.如權(quán)利要求9所述的裝置,其特征在于,所述電路包含在處理和回放分組語音數(shù)據(jù)的設(shè)備中。
19.如權(quán)利要求9所述的裝置,其特征在于,所述電路包括移動電話或個人通信裝置的一部分。
20.如權(quán)利要求9所述的裝置,其特征在于,所述電路包括蜂窩無線電電話的一部分。
21.如權(quán)利要求9所述的裝置,其特征在于,所述電路包括基于個人計算機(jī)的電話系統(tǒng)的一部分。
22.如權(quán)利要求9所述的裝置,其特征在于,所述電路包括因特網(wǎng)協(xié)議電話網(wǎng)關(guān)的一部分。
23.如權(quán)利要求9所述的裝置,其特征在于,所述電路包括因特網(wǎng)協(xié)議至電路交換媒體代碼轉(zhuǎn)換器的一部分。
24.一種用于在根據(jù)語音數(shù)據(jù)合成語音時操作通信設(shè)備的方法,所述方法可用于減少同步延遲并包括對于要發(fā)送到語音解碼器的含編碼語音數(shù)據(jù)的接收幀,測量所述同步延遲;確定應(yīng)該對所述同步延遲作多大調(diào)整;以及通過在所選幀中增加或刪除一個或多個音頻樣本來調(diào)整所述同步延遲,以免使再現(xiàn)的語音的質(zhì)量顯著下降,所述幀是根據(jù)至少一個與語音解碼器相關(guān)的參數(shù)來選擇的,以便在可能的情況下首選清音幀,其次才選擇濁音幀,而同時不選擇過渡幀。
25.如權(quán)利要求24所述的方法,其特征在于,所述確定步驟確定一個樣本大小的步長下的音頻樣本的數(shù)量。
26.如權(quán)利要求24所述的方法,其特征在于,當(dāng)通過一個以上的音頻樣本來調(diào)整所述同步延遲時,所述調(diào)整通過一次調(diào)整所有所述確定的音頻樣本來進(jìn)行。
27.如權(quán)利要求24所述的方法,其特征在于,當(dāng)通過一個以上的音頻樣本來調(diào)整所述同步延遲時,所述調(diào)整通過多次調(diào)整部分所述確定的音頻樣本來進(jìn)行。
28.如權(quán)利要求24所述的方法,其特征在于,所述確定步驟包括測量幀在抖動緩沖器中駐留的平均時長;以及調(diào)整所述同步延遲,以使所述平均時長接近期望的抖動緩沖器駐留時長。
29.如權(quán)利要求24所述的方法,其特征在于,所述至少一個與語音解碼器相關(guān)的參數(shù)由基音周期組成。
30.如權(quán)利要求24所述的方法,其特征在于,所述至少一個與語音解碼器相關(guān)的參數(shù)由基音增益組成。
31.如權(quán)利要求24所述的方法,其特征在于,所述至少一個與語音解碼器相關(guān)的參數(shù)由接收幀內(nèi)的過零率組成。
32.如權(quán)利要求24所述的方法,其特征在于,所述至少一個與語音解碼器相關(guān)的參數(shù)由自適應(yīng)的和固定的碼本影響之間的能量分布組成。
33.如權(quán)利要求24所述的方法,其特征在于,所述至少一個與語音解碼器相關(guān)的參數(shù)由合成語音信號的能量測量值組成。
34.如權(quán)利要求24所述的方法,其特征在于,所述至少一個與語音解碼器相關(guān)的參數(shù)由線性預(yù)測差錯值組成。
35.如權(quán)利要求24所述的方法,其特征在于,所述至少一個與語音解碼器相關(guān)的參數(shù)由合成濾波器輸入上的激勵信號與合成語音信號能量之間的比值組成。
36.如權(quán)利要求24所述的方法,其特征在于,所述語音解碼器包括GSM語音解碼器。
全文摘要
媒體子系統(tǒng)(10A)中實現(xiàn)的電路再現(xiàn)語音或其他類型的音頻信號,并可在回放音頻數(shù)據(jù)時工作以減小同步延遲。一種方法的工作原理為向解碼器傳送含有音頻數(shù)據(jù)的幀時測量同步延遲;確定應(yīng)該調(diào)整的同步延遲量;以及通過增加或刪除選擇的當(dāng)前幀或選擇的后續(xù)幀中的一個或多個音頻樣本來以可感知內(nèi)容的方式調(diào)整同步延遲,以免使回放的音頻數(shù)據(jù)的質(zhì)量顯著下降。當(dāng)通過一個以上的音頻樣本調(diào)整同步延遲時,可以通過確定的所有音頻樣本一次調(diào)整到位,也可以通過確定的部分音頻樣本進(jìn)行多次調(diào)整。如果可能的話,調(diào)整步驟可選擇清音幀而不選擇過渡幀。確定步驟包括測量幀在抖動緩沖器(18)中駐留的平均時長,并調(diào)整同步延遲,以使平均時長接近期望的抖動緩沖器駐留時長。
文檔編號H04J3/06GK1579059SQ02821661
公開日2005年2月9日 申請日期2002年8月21日 優(yōu)先權(quán)日2001年9月4日
發(fā)明者A·拉卡尼米, J·塞林, P·奧亞拉 申請人:諾基亞有限公司