專利名稱:用于語(yǔ)音ip傳輸?shù)淖赃m應(yīng)去抖動(dòng)緩沖器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無(wú)線通信系統(tǒng),并具體涉及用于分組交換通信的語(yǔ)音因特網(wǎng)協(xié)議 (VoIP)的自適應(yīng)去抖動(dòng)緩沖器。本發(fā)明適用于可能會(huì)丟失分組的任何系統(tǒng)。
背景技術(shù):
在通信系統(tǒng)中,可將分組的端對(duì)端延遲定義為從該分組在信號(hào)源處被生成的時(shí)刻 到該分組到達(dá)其目的地的時(shí)刻所經(jīng)過(guò)的時(shí)間。在分組交換通信系統(tǒng)中,分組從信號(hào)源傳播 到目的地的延遲可能會(huì)取決于包括但不限于信道條件和網(wǎng)絡(luò)負(fù)載的各種工作條件而變化。 信道條件是指無(wú)線鏈路的質(zhì)量。確定無(wú)線鏈路質(zhì)量的一些因素是信號(hào)強(qiáng)度、移動(dòng)速度和/ 或物理障礙。端對(duì)端延遲包括在網(wǎng)絡(luò)和分組所經(jīng)過(guò)的各種元件中引入的延遲。許多因素都能影 響端對(duì)端延遲。端對(duì)端延遲中的變化被稱為抖動(dòng)。抖動(dòng)會(huì)導(dǎo)致在分組不再有用之后才接收 到分組。例如,在諸如語(yǔ)音的低等待時(shí)間應(yīng)用中,如果分組被接收到太晚,則它可能會(huì)被接 收器丟棄。這樣的狀況導(dǎo)致通信質(zhì)量的惡化。
圖1是現(xiàn)有技術(shù)通信系統(tǒng)的框圖,其中接入終端包括去抖動(dòng)緩沖器;圖2示出了現(xiàn)有技術(shù)的去抖動(dòng)緩沖器;圖3是示出導(dǎo)致“下溢”的分組的傳輸、接收和再現(xiàn)的時(shí)序圖;圖4A和4B是示出兩種情形下的最佳去抖動(dòng)緩沖器長(zhǎng)度的計(jì)算的時(shí)序圖;圖5是示出由延遲分組引起的“下溢”的形成過(guò)程的時(shí)序圖;圖6是示出目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度的計(jì)算的流程圖;圖7A是示出第一情形下的分組的傳輸?shù)臅r(shí)序圖;圖7B是示出沒(méi)有采用去抖動(dòng)緩沖器自適應(yīng)的分組的接收的時(shí)序圖;圖7C是示出采用去抖動(dòng)緩沖器自適應(yīng)的分組的接收的時(shí)序圖,其中接收器可以 在分組的預(yù)期時(shí)刻之后接收到該分組。圖8A是示出允許接收器在分組的預(yù)期時(shí)刻之后接收到該分組的隱式緩沖器自適 應(yīng)的一個(gè)實(shí)例的流程圖;圖8B是自適應(yīng)去抖動(dòng)緩沖器的操作模式的狀態(tài)圖9是示出根據(jù)另一實(shí)例的去抖動(dòng)緩沖器自適應(yīng)的應(yīng)用的時(shí)序圖;圖10是示出根據(jù)一個(gè)實(shí)例的話音突峰中的語(yǔ)音信息的傳輸?shù)氖緢D,其中去抖動(dòng) 緩沖器延遲不足以避免數(shù)據(jù)碰撞;圖11是含有自適應(yīng)去抖動(dòng)緩沖器的通信系統(tǒng)的框圖;
圖12是包括自適應(yīng)去抖動(dòng)緩沖器和時(shí)間規(guī)整單元的接收器的一部分的框圖;圖13A示出了包括壓縮和擴(kuò)展閾值的自適應(yīng)去抖動(dòng)緩沖器的一個(gè)實(shí)例;圖13B示出了包括多個(gè)壓縮和擴(kuò)展閾值的自適應(yīng)去抖動(dòng)緩沖器的一個(gè)實(shí)例;圖14是示出對(duì)具有不同延遲的分組的接收進(jìn)行時(shí)間規(guī)整的過(guò)程的時(shí)序圖;圖15是示出以下實(shí)例的時(shí)序圖i)話音片段的靜音部分的壓縮;和ii)話音片段 的靜音部分的擴(kuò)展;圖16是示出話音信號(hào)的時(shí)序圖,其中話音信號(hào)的一些部分會(huì)重復(fù);圖17A是示出話音片段的示圖,其中被稱為RWindowSize的用于重疊相加 (add-overlap)操作的參考窗口中的PCM樣本的數(shù)目被標(biāo)識(shí),并且其中被稱為Segment的目 標(biāo)片段大小或期望的片段大小被標(biāo)識(shí);圖17B是示出根據(jù)一個(gè)實(shí)例的應(yīng)用重疊相加操作來(lái)壓縮話音片段的方法的示圖;圖18A是示出多個(gè)話音片段的示圖,其中被稱為RWindowSize的用于重疊相加操 作的參考窗口中的PCM樣本的數(shù)目被標(biāo)識(shí),并且其中被稱為Segment的目標(biāo)片段大小或期 望的片段大小被標(biāo)識(shí)以為擴(kuò)展當(dāng)前話音片段作準(zhǔn)備;圖18B是示出根據(jù)一個(gè)實(shí)例的應(yīng)用重疊相加操作來(lái)擴(kuò)展話音樣本的方法的示圖;圖18C是示出根據(jù)可選實(shí)例的應(yīng)用操作來(lái)擴(kuò)展話音樣本的方法的示圖;圖19是示出對(duì)分組進(jìn)行擴(kuò)展以便為混合ARQ重傳情況下延遲的分組和失序到達(dá) 的分組的到達(dá)留出余地的方法的示圖;圖20是示出兩個(gè)用戶之間的會(huì)話的時(shí)間線的示圖;圖21是示出根據(jù)一個(gè)實(shí)例的在話音突峰開(kāi)頭處的增強(qiáng)的流程圖;圖22是示出根據(jù)可選實(shí)例的在話音突峰開(kāi)頭處的增強(qiáng)的示圖;圖23是示出話音突峰結(jié)尾的增強(qiáng)的示圖;圖24是示出根據(jù)一個(gè)實(shí)例的在話音突峰結(jié)尾處的增強(qiáng)的流程圖;圖25是示出現(xiàn)有技術(shù)的去抖動(dòng)緩沖器和解碼器系統(tǒng)的操作的示圖,其中去抖動(dòng) 緩沖器以規(guī)則的時(shí)間間隔向解碼器傳遞分組;圖26是示出根據(jù)一個(gè)實(shí)例的自適應(yīng)去抖動(dòng)緩沖器和解碼器的操作的示圖,其中 自適應(yīng)去抖動(dòng)緩沖器以不規(guī)則的時(shí)間間隔向解碼器傳遞分組;圖27是示出根據(jù)一個(gè)實(shí)例的包括自適應(yīng)去抖動(dòng)緩沖器和時(shí)間規(guī)整(time wrap) 控制單元的接入終端(AT)的框圖;圖28示出了根據(jù)一個(gè)實(shí)例的包括自適應(yīng)去抖動(dòng)緩沖器并適于對(duì)分組進(jìn)行時(shí)間規(guī) 整的接收器的一部分;圖29示出了根據(jù)另一實(shí)例的包括自適應(yīng)去抖動(dòng)緩沖器并適于對(duì)分組進(jìn)行時(shí)間規(guī) 整的接收器的可選實(shí)例;圖30是示出根據(jù)一個(gè)實(shí)例的包括自適應(yīng)去抖動(dòng)緩沖器并適于對(duì)分組進(jìn)行時(shí)間規(guī) 整的接收器的一個(gè)實(shí)例中的解碼器中的調(diào)度器的一個(gè)實(shí)例的流程圖31是示出接收器的一個(gè)實(shí)例中的音頻接口單元中的調(diào)度器的流程圖;圖32示出了在解碼器外部計(jì)算調(diào)度方案的時(shí)間規(guī)整單元;
圖33示出了在解碼器中的時(shí)間規(guī)整單元中計(jì)算調(diào)度方案的時(shí)間規(guī)整單元。
具體實(shí)施例方式在分組交換系統(tǒng)中,數(shù)據(jù)被形成為分組并通過(guò)網(wǎng)絡(luò)被路由。每個(gè)分組基于分組內(nèi) (典型為信頭中)包含的分配地址而被發(fā)送到網(wǎng)絡(luò)中的目的地。分組的端對(duì)端延遲,或者 分組在網(wǎng)絡(luò)內(nèi)從第一用戶或“發(fā)送者”傳播到第二用戶或“接收者”所花費(fèi)的時(shí)間,取決于 以下因素而變化信道條件,網(wǎng)絡(luò)負(fù)載,系統(tǒng)的服務(wù)質(zhì)量(QoS)能力,以及除這些因素之外 的競(jìng)爭(zhēng)資源的其它流。應(yīng)注意,為了清楚起見(jiàn),下面的討論描述支持分組數(shù)據(jù)通信的擴(kuò)頻通 信系統(tǒng),其包括但不限于碼分多址(CDMA)系統(tǒng)、正交頻分多址(OFDMA)系統(tǒng)、寬帶碼分多址 (W-CDMA)系統(tǒng)、全球移動(dòng)通信系統(tǒng)(GSM)、支持諸如802. 11 (A、B、G) ,802. 16等的IEEE標(biāo)準(zhǔn) 的系統(tǒng)。在無(wú)線通信系統(tǒng)中,每個(gè)分組可能會(huì)遭受與屬于相同流的其它分組所經(jīng)歷的延遲 不同的從源到目的地的延遲。延遲中的這種變化被稱為“抖動(dòng)”。抖動(dòng)對(duì)接收器端的應(yīng)用產(chǎn) 生額外的復(fù)雜性。如果接收器不校正抖動(dòng),則接收到的消息在分組被重新組合時(shí)將會(huì)失真。 一些系統(tǒng)在根據(jù)接收到的分組而重建消息時(shí)對(duì)抖動(dòng)進(jìn)行校正。這樣的系統(tǒng)包含增加(被稱 為抖動(dòng)緩沖器延遲的)等待時(shí)間的去抖動(dòng)緩沖器。當(dāng)去抖動(dòng)緩沖器施加固定的較大的去抖 動(dòng)緩沖器延遲時(shí),它可以容納分組到達(dá)時(shí)間中的大抖動(dòng)量;然而,這種使用方式并不高效, 因?yàn)榫哂休^小延遲的分組也通過(guò)使用較大的去抖動(dòng)緩沖器延遲而被處理,盡管這些分組可 能已在之前被處理過(guò)。對(duì)于這些分組而言,這會(huì)導(dǎo)致比通過(guò)使用較小的去抖動(dòng)緩沖器延遲 而得到的延遲更大的端對(duì)端延遲。為了防止這種情況,含有去抖動(dòng)緩沖器的VoIP系統(tǒng)可以試圖適應(yīng)分組延遲中的 變化。例如,去抖動(dòng)緩沖器可以通過(guò)分析分組到達(dá)的統(tǒng)計(jì)數(shù)據(jù)來(lái)檢測(cè)分組延遲中的變化。許 多去抖動(dòng)緩沖器實(shí)現(xiàn)方案根本不使它們的延遲自適應(yīng),并且被配置成具有保守的大延遲。 在這種情況下,去抖動(dòng)緩沖器可能會(huì)對(duì)分組加入過(guò)大的延遲,從而使用戶的體驗(yàn)處于次優(yōu) 狀態(tài)。下面的討論描述的是通過(guò)改變?nèi)ザ秳?dòng)緩沖器延遲來(lái)適應(yīng)分組延遲行為中的變化 的自適應(yīng)去抖動(dòng)緩沖器。該去抖動(dòng)緩沖器利用話音時(shí)間規(guī)整來(lái)增強(qiáng)其跟蹤分組的可變延遲 的能力。下面的討論適用于分組化的通信,諸如具有周期性數(shù)據(jù)傳輸、低等待時(shí)間要求、數(shù) 據(jù)的順序處理或指定再現(xiàn)速率的通信。特別地,下面的討論詳細(xì)描述語(yǔ)音通信,其中數(shù)據(jù)或 者話音和靜音源于信號(hào)源并被傳輸?shù)侥康牡赜糜谠佻F(xiàn)。原始數(shù)據(jù)被分組并使用已知的編碼 方案被編碼。在接收器處,為數(shù)據(jù)的每個(gè)分組確定編碼方案。在話音通信中,例如,對(duì)話音 進(jìn)行的編碼的類型不同于對(duì)靜音進(jìn)行的編碼的類型。這允許通信系統(tǒng)利用包括靜音部分的 話音的周期性本質(zhì)。對(duì)于話音通信,數(shù)據(jù)呈現(xiàn)突發(fā)性,并且話音內(nèi)容可能會(huì)呈現(xiàn)重復(fù)性。由 于語(yǔ)音通信的參與者不希望聽(tīng)到延遲,而通信的質(zhì)量?jī)H允許有限的延遲,所以分組化的話 音傳輸具有低等待時(shí)間要求。分組化的話音可能會(huì)采取不同的路徑來(lái)到達(dá)接收器,然而,在 接收后,分組將以它們的原始順序被重新編譯。因此,接收到的分組化話音被順序地再現(xiàn)。 如果分組在空中傳輸或者物理層處理過(guò)程中被丟失,則該分組無(wú)法恢復(fù),但是接收器可以估計(jì)或猜測(cè)該分組的內(nèi)容。另外,話音通信的再現(xiàn)速率具有預(yù)定的再現(xiàn)速率或范圍。如果 再現(xiàn)速率在該范圍之外,則接收器處的質(zhì)量會(huì)惡化。本討論的應(yīng)用的一個(gè)實(shí)例是將其應(yīng)用 于話音通信。其它應(yīng)用可包括視頻通信、游戲通信或具有與話音通信類似的特性、規(guī)范和/ 或要求的其它通信。例如,視頻通信可能會(huì)期望使再現(xiàn)加速或減速。本討論對(duì)于這樣的應(yīng) 用可能是合乎要求的。如在本文中提供的那樣,自適應(yīng)去抖動(dòng)緩沖器可以允許接收器實(shí)現(xiàn) 系統(tǒng)的抖動(dòng)要求所指定的服務(wù)質(zhì)量。自適應(yīng)去抖動(dòng)緩沖器使目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度(例 如,去抖動(dòng)緩沖器中存儲(chǔ)的數(shù)據(jù)量)適應(yīng)于在該自適應(yīng)去抖動(dòng)緩沖器處接收到的數(shù)據(jù)的定 時(shí)和數(shù)據(jù)量。此外,自適應(yīng)去抖動(dòng)緩沖器使用該去抖動(dòng)緩沖器的狀態(tài)或大小(例如,自適應(yīng) 去抖動(dòng)緩沖器中存儲(chǔ)的數(shù)據(jù)的度量)來(lái)確定何時(shí)進(jìn)行時(shí)間規(guī)整對(duì)接收到的數(shù)據(jù)的處理和 再現(xiàn)是有益的。例如,如果數(shù)據(jù)以低速率到達(dá)自適應(yīng)去抖動(dòng)緩沖器,則自適應(yīng)去抖動(dòng)緩沖器 將該信息提供給時(shí)間規(guī)整單元,從而允許時(shí)間規(guī)整單元擴(kuò)展接收到的分組。如果自適應(yīng)去 抖動(dòng)緩沖器中存儲(chǔ)的數(shù)據(jù)超過(guò)閾值,則自適應(yīng)去抖動(dòng)緩沖器提醒時(shí)間規(guī)整單元壓縮分組以 便有效地跟上到來(lái)的數(shù)據(jù)。應(yīng)注意,時(shí)間規(guī)整是在可由通信的應(yīng)用和類型定義的限度內(nèi)進(jìn) 行的。例如,在話音通信中,時(shí)間規(guī)整不應(yīng)該壓縮話音(即,提高音高),以免收聽(tīng)者無(wú)法理 解通信內(nèi)容。類似地,時(shí)間規(guī)整不應(yīng)該將話音擴(kuò)展出某一范圍之外。在理想情況下,時(shí)間規(guī) 整的范圍被定義為使得收聽(tīng)者幾乎沒(méi)有不適或完全沒(méi)有不適。通信系統(tǒng)
圖1是示出數(shù)字通信系統(tǒng)50的框圖。兩個(gè)接入終端(AT)52和82經(jīng)由基站(BS) 70 進(jìn)行通信。在AT 52內(nèi),發(fā)射處理單元64將語(yǔ)音數(shù)據(jù)發(fā)送給編碼器60,該編碼器60對(duì)語(yǔ)音 數(shù)據(jù)進(jìn)行編碼和將其分組化并將經(jīng)分組的數(shù)據(jù)發(fā)送給低層處理單元58。然后為了實(shí)現(xiàn)發(fā) 射,數(shù)據(jù)被發(fā)送給BS 70。BS 70處理接收到的數(shù)據(jù)并將數(shù)據(jù)發(fā)射到AT 82,其中數(shù)據(jù)在低層 處理單元88被接收。然后數(shù)據(jù)被提供給去抖動(dòng)緩沖器86,該去抖動(dòng)緩沖器86存儲(chǔ)數(shù)據(jù)以 便隱藏或減小抖動(dòng)的影響。數(shù)據(jù)從去抖動(dòng)緩沖器86被發(fā)送給解碼器84,并接著被發(fā)送給接 收處理單元92。為了從AT 82發(fā)射,數(shù)據(jù)/語(yǔ)音從發(fā)射處理單元94被提供給編碼器90。低層處理 單元88處理用于發(fā)射到BS 70的數(shù)據(jù)。為了在AT 52接收來(lái)自BS 70的數(shù)據(jù),數(shù)據(jù)在低層 處理單元58被接收。然后數(shù)據(jù)的分組被發(fā)送給去抖動(dòng)緩沖器56,在這里它們被存儲(chǔ)直到達(dá) 到所需的緩沖器長(zhǎng)度或延遲為止。一旦達(dá)到該長(zhǎng)度或延遲,去抖動(dòng)緩沖器56就開(kāi)始向解碼 器54發(fā)送數(shù)據(jù)。解碼器54將經(jīng)分組的數(shù)據(jù)轉(zhuǎn)換成語(yǔ)音數(shù)據(jù)分組并將分組發(fā)送給接收處理 單元62。在本實(shí)例中,AT 52的行為與AT82類似。去抖動(dòng)緩沖器存儲(chǔ)器或去抖動(dòng)緩沖器被用在諸如上述的AT中,以便隱藏抖動(dòng)的影響。在一個(gè)實(shí) 例中,自適應(yīng)去抖動(dòng)緩沖器被用于諸如VoIP通信的分組交換通信。去抖動(dòng)緩沖器具有自適 應(yīng)緩沖存儲(chǔ)器并使用話音時(shí)間規(guī)整來(lái)增強(qiáng)其跟蹤可變延遲和抖動(dòng)的能力。在該實(shí)例中,使 去抖動(dòng)緩沖器的處理與解碼器的處理相協(xié)調(diào),其中去抖動(dòng)緩沖器確定對(duì)分組進(jìn)行時(shí)間規(guī)整 的時(shí)機(jī)或需要,并指示解碼器對(duì)分組進(jìn)行時(shí)間規(guī)整。解碼器通過(guò)按照去抖動(dòng)緩沖器的指示 對(duì)分組進(jìn)行壓縮或擴(kuò)展,來(lái)對(duì)分組進(jìn)行時(shí)間規(guī)整。圖2示出了去抖動(dòng)緩沖器的一個(gè)實(shí)例。到來(lái)的編碼分組被累積和存儲(chǔ)在緩沖器 中。在一個(gè)實(shí)例中,緩沖器是先進(jìn)先出(FIFO)緩沖器,其中數(shù)據(jù)以特定順序被接收并以相同的順序被處理;首先被處理的數(shù)據(jù)是首先被接收的數(shù)據(jù)。在另一實(shí)例中,去抖動(dòng)緩沖器 是記錄下一個(gè)要處理的分組的有序列表。自適應(yīng)去抖動(dòng)緩沖器可以是存儲(chǔ)器存儲(chǔ)單元,其 中去抖動(dòng)緩沖器的狀態(tài)是自適應(yīng)去抖動(dòng)緩沖器中存儲(chǔ)的數(shù)據(jù)的度量(或分組數(shù)量)。由去 抖動(dòng)緩沖器處理的數(shù)據(jù)可從去抖動(dòng)緩沖器發(fā)送給解碼器或其它裝置。經(jīng)編碼的分組可以對(duì) 應(yīng)于固定量(例如,與8Khz采樣速率下的話音數(shù)據(jù)的160個(gè)樣本相對(duì)應(yīng)的20msec)的話音 數(shù)據(jù)。在本發(fā)明的一個(gè)實(shí)例中,具有時(shí)間規(guī)整功能的解碼器所產(chǎn)生的樣本數(shù)目,可以基于分 組是否經(jīng)過(guò)了時(shí)間規(guī)整而變化。當(dāng)去抖動(dòng)緩沖器指示解碼器/時(shí)間規(guī)整器對(duì)分組進(jìn)行擴(kuò)展 時(shí),解碼器/時(shí)間規(guī)整器可產(chǎn)生多于160個(gè)樣本。另一方面,當(dāng)去抖動(dòng)緩沖器指示解碼器/ 時(shí)間規(guī)整器對(duì)分組進(jìn)行壓縮時(shí),解碼器/時(shí)間規(guī)整器可產(chǎn)生少于160個(gè)樣本。應(yīng)注意,可選 系統(tǒng)可以具有不同的再現(xiàn)方案,諸如不同于20ms語(yǔ)音編碼的再現(xiàn)方案。到達(dá)去抖動(dòng)緩沖器的分組可能不會(huì)以規(guī)則間隔到達(dá)。因此去抖動(dòng)緩沖器的設(shè)計(jì)目 標(biāo)之一是調(diào)整到來(lái)的數(shù)據(jù)的不規(guī)則性。在本發(fā)明的一個(gè)實(shí)例中,去抖動(dòng)緩沖器具有目標(biāo)去 抖動(dòng)緩沖器長(zhǎng)度。目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度是指在開(kāi)始再現(xiàn)第一分組之前需要在去抖動(dòng)緩沖 器中累積的數(shù)據(jù)量。在另一實(shí)例中,目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度可以指去抖動(dòng)緩沖器中的第一 分組在再現(xiàn)之前需要被延遲的時(shí)間量。圖2示出了目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度。通過(guò)在開(kāi)始分 組的再現(xiàn)之前在去抖動(dòng)緩沖器中累積足夠的分組,去抖動(dòng)緩沖器能夠以規(guī)則間隔再現(xiàn)隨后 的分組,同時(shí)將分組被用光的潛在可能性最小化。圖2示出了去抖動(dòng)緩沖器,其中首先接收 到去抖動(dòng)緩沖器中的聲碼器分組,是被調(diào)度為從去抖動(dòng)緩沖器輸出的下一分組。去抖動(dòng)緩 沖器包括充足的分組來(lái)實(shí)現(xiàn)所需的去抖動(dòng)緩沖器延遲。這樣,去抖動(dòng)緩沖器使分組所經(jīng)歷 的抖動(dòng)變得平滑并隱藏分組到達(dá)接收器的時(shí)間的變化。圖3示出了各種情形下的分組的傳輸、接收和再現(xiàn)的時(shí)間線。第一分組PKT 1在 時(shí)刻、被傳輸,并在時(shí)刻、被接收,并被再現(xiàn)。隨后的分組PKT 2、PKT 3和PKT 4在PKT 1之后以20ms的間隔被傳輸。在沒(méi)有時(shí)間規(guī)整的情況下,解碼器從第一分組的再現(xiàn)時(shí)刻起, 以規(guī)則的時(shí)間間隔(例如,20ms)再現(xiàn)分組。例如,如果解碼器以規(guī)則的20ms間隔再現(xiàn)分 組,則第一個(gè)接收到的分組在時(shí)刻、得到再現(xiàn),并且隨后的分組將在時(shí)刻、后的20ms、時(shí) 刻、后的40ms、時(shí)刻、后的60ms等時(shí)刻得到再現(xiàn)。如圖3所示,PKT 2(在不采用去抖動(dòng) 緩沖器延遲的情況下)的預(yù)期再現(xiàn)時(shí)刻為、=、+20!118。PKT 2在其預(yù)期再現(xiàn)時(shí)刻t2之前 被接收到。另一方面,分組3在其預(yù)期再現(xiàn)時(shí)刻t3 = t2+20ms之后被接收到。這種狀況被 稱為下溢。當(dāng)再現(xiàn)裝置準(zhǔn)備好再現(xiàn)分組,而分組卻沒(méi)有存在于去抖動(dòng)緩沖器中時(shí),就會(huì)發(fā)生 下溢。典型地,下溢會(huì)使解碼器產(chǎn)生擦除(erasure)并使再現(xiàn)質(zhì)量惡化。圖3還示出了第二種情形,在該情形中,去抖動(dòng)緩沖器在第一分組的再現(xiàn)之前引 入延遲t.。在這種情形下,去抖動(dòng)緩沖器延遲被加入以便使再現(xiàn)裝置每20ms都能夠接收 到分組(或樣本)。在這種情形下,盡管PKT 3在其預(yù)期再現(xiàn)時(shí)刻、之后才被接收到,但是 去抖動(dòng)緩沖器延遲的加入使得PKT 3在PKT 2再現(xiàn)之后的20ms得到再現(xiàn)?,F(xiàn)在,PKT 1在時(shí)刻tQ被發(fā)送,在時(shí)刻、被接收,并在時(shí)刻、+{_ = t/被再現(xiàn), 而不是像先前那樣,在時(shí)刻、被再現(xiàn)。再現(xiàn)裝置在PKT 1之后以例如20ms的預(yù)定間隔再現(xiàn) PKT 2,或者在時(shí)刻 t2,= ti+tdjb+20 = t2+tdjb 再現(xiàn) PKT 2,并在時(shí)刻 t3,= t3+tdjb 再現(xiàn) PKT 3。將再現(xiàn)延遲tdjb,允許第三分組得到再現(xiàn)而不會(huì)導(dǎo)致下溢。因此,如圖3所示,去抖動(dòng)緩 沖器延遲的引入可減少下溢并防止話音質(zhì)量的惡化。
話音由話音突峰和靜音段組成。靜音段的擴(kuò)展/壓縮對(duì)話音質(zhì)量具有極小的影響 或沒(méi)有影響。這就允許去抖動(dòng)緩沖器針對(duì)每個(gè)話音突峰而對(duì)第一分組的再現(xiàn)進(jìn)行不同的延 遲。圖4A和4B為不同的話音突峰示出了傳輸和接收的時(shí)間線。應(yīng)注意,去抖動(dòng)緩沖器延遲的量被確定以防止下溢。這被稱為“最佳去抖動(dòng)緩沖器延遲”。最佳去抖動(dòng)緩沖器延 遲涉及目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度。換言之,目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度被確定成允許足夠的數(shù)據(jù) 存儲(chǔ)在緩沖器中,以便使分組的再現(xiàn)與再現(xiàn)裝置的特性相一致。最佳去抖動(dòng)緩沖器延遲可 通過(guò)系統(tǒng)所經(jīng)歷的最大端對(duì)端延遲來(lái)確定??蛇x地,最佳去抖動(dòng)緩沖器延遲可以是基于系 統(tǒng)所經(jīng)歷的平均延遲。用于確定最佳去抖動(dòng)緩沖器延遲的其它方法也可以具體針對(duì)給定的 標(biāo)準(zhǔn)或系統(tǒng)設(shè)計(jì)來(lái)實(shí)現(xiàn)。此外,目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度被確定以便實(shí)現(xiàn)最佳去抖動(dòng)緩沖器 延遲,因此,目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度可以基于接收的分組速率、分組差錯(cuò)率(PER)或其它工 作統(tǒng)計(jì)數(shù)據(jù)來(lái)計(jì)算。圖4A和4B示出了兩個(gè)實(shí)例的最佳去抖動(dòng)緩沖器延遲。如圖所示,相繼的分組的 傳輸和接收之間的時(shí)間隨時(shí)間而變化。由于PKT 3具有從傳輸?shù)浇邮兆铋L(zhǎng)的延遲,所以使 用該差值來(lái)確定用于去抖動(dòng)處理的最佳延遲。使用具有目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度的去抖動(dòng)緩沖器,可以避免至少一些下溢狀況。 再參考圖3,第二種情形避免了(當(dāng)解碼器預(yù)期有分組到來(lái)并且再現(xiàn)裝置準(zhǔn)備好再現(xiàn)分組, 而沒(méi)有分組存在于分組存儲(chǔ)緩沖器中時(shí)發(fā)生的)下溢。此處,在、之后的20ms預(yù)定間隔 后,PKT 2得到再現(xiàn),其中、是PKT 1的再現(xiàn)時(shí)刻。盡管將PKT 3調(diào)度為在時(shí)刻t3再現(xiàn)或 者預(yù)期PKT 3在時(shí)刻t3再現(xiàn),但是PKT 3直到時(shí)刻、之后才被接收到。換言之,再現(xiàn)裝置 準(zhǔn)備好再現(xiàn)PKT 3,但是該分組并沒(méi)有存在于存儲(chǔ)緩沖器中。由于PKT 3在預(yù)期時(shí)刻不能用 于再現(xiàn),并且無(wú)法得到再現(xiàn),所以產(chǎn)生了關(guān)于PKT 3的大抖動(dòng)量和下溢。PKT 4在PKT 4的 預(yù)期再現(xiàn)時(shí)刻t4得到再現(xiàn)。應(yīng)注意,預(yù)期時(shí)刻t4是根據(jù)時(shí)刻、計(jì)算的。由于每個(gè)分組可 能會(huì)包含多于一個(gè)語(yǔ)音分組,所以由于下溢而引起的分組的丟失會(huì)使語(yǔ)音質(zhì)量惡化。供考慮的另一種情形涉及如圖5所示的“由于延遲分組而引起的下溢”的形成過(guò) 程,其中分組的傳輸、接收和預(yù)期再現(xiàn)時(shí)刻在時(shí)間上被示出。在這種情形下,每個(gè)分組在其 預(yù)期再現(xiàn)時(shí)刻后的短時(shí)間內(nèi)被接收到。例如,PKT 50的預(yù)期再現(xiàn)時(shí)刻是、,但是PKT 50直 到、后的時(shí)刻、’才被接收到。下一分組51預(yù)期在時(shí)刻、被接收到,但是它直到、后的 時(shí)刻t/才被接收到。這引起導(dǎo)致“延遲下溢”(即由于延遲分組而引起的下溢)的高百分 比的下溢的形成,并因而引起更高的端對(duì)端延遲。顯然,將再現(xiàn)延遲較大的量的去抖動(dòng)緩沖器,在將下溢保持在最少這方面是成功 的。然而,這樣的去抖動(dòng)緩沖器將較大的去抖動(dòng)緩沖器延遲引入到分組的端對(duì)端延遲中。較 大的端對(duì)端延遲會(huì)導(dǎo)致保持會(huì)話流中的困難。大于IOOms的延遲會(huì)使收聽(tīng)方認(rèn)為講話方還 沒(méi)有結(jié)束講話。因此,要獲得良好的質(zhì)量,在理想情況下既要考慮避免下溢也要考慮減小端 對(duì)端延遲。由于解決一個(gè)問(wèn)題會(huì)惡化另一個(gè)問(wèn)題,所以存在著問(wèn)題。換言之,較小的端對(duì)端 延遲通常會(huì)導(dǎo)致更多的下溢,而較大的端對(duì)端延遲通常會(huì)導(dǎo)致更少的下溢。因此,需要平衡 這些競(jìng)爭(zhēng)的目標(biāo)。具體而言,需要使去抖動(dòng)緩沖器能夠跟蹤和避免下溢并同時(shí)減小端對(duì)端 延遲。去抖動(dòng)緩沖器目標(biāo)長(zhǎng)度
自適應(yīng)去抖動(dòng)緩沖器的設(shè)計(jì)目標(biāo)是允許系統(tǒng)以語(yǔ)音分組的特定“下溢率”為目標(biāo), 同時(shí)實(shí)現(xiàn)低的端對(duì)端延遲。由于感覺(jué)到的質(zhì)量是下溢的百分比的函數(shù),所以以下溢的特定 百分比為目標(biāo)的能力使得語(yǔ)音質(zhì)量能夠得到控制。當(dāng)存在缺失的分組時(shí),在去抖動(dòng)緩沖器 處會(huì)發(fā)生分組下溢。當(dāng)分組被丟失或延遲時(shí),該分組是缺失的分組。當(dāng)丟失的分組在其到達(dá) 接收器前被丟棄時(shí)(諸如,當(dāng)它在接入網(wǎng)中的某處(例如,在物理層或前向鏈路調(diào)度器上) 被丟棄時(shí))會(huì)導(dǎo)致下溢。在這種情形下,通過(guò)使用去抖動(dòng)緩沖器延遲無(wú)法校正下溢,因?yàn)榉?組從未到達(dá)去抖動(dòng)緩沖器。可選地,可能會(huì)由于被延遲并在其再現(xiàn)時(shí)刻之后到達(dá)的分組而 發(fā)生下溢。除了跟蹤由于延遲分組而引起的下溢之外,自適應(yīng)去抖動(dòng)緩沖器還可以跟蹤由 于丟失的分組而引起的下溢??梢酝ㄟ^(guò)對(duì)下溢進(jìn)行權(quán)衡而得到去抖動(dòng)緩沖器延遲,來(lái)控制由于延遲分組而引起 的下溢的數(shù)目。表示由于延遲分組而引起的下溢的目標(biāo)百分比的值被稱為“下溢目標(biāo)”。該 值是用于去抖動(dòng)緩沖器的操作的目標(biāo)值,并被選擇為能夠?qū)⒍藢?duì)端延遲保持在合理的限度 內(nèi)。在一個(gè)實(shí)例中,(0.01)的值可用作“下溢目標(biāo)”。另一實(shí)例使用0.5% (0. 005)的 值。為了實(shí)現(xiàn)“下溢目標(biāo)”,可以使去抖動(dòng)緩沖器延遲自適應(yīng)。在本發(fā)明的一個(gè)實(shí)例中,可以使用由于延遲分組而引起的下溢(下文中稱為“延 遲下溢”)的百分比的經(jīng)過(guò)濾波的值,來(lái)使去抖動(dòng)緩沖器延遲自適應(yīng)。在每個(gè)靜音段的結(jié)尾 (或每個(gè)話音突峰的開(kāi)頭)處,去抖動(dòng)緩沖器延遲如圖6所示被更新。如圖6所示,算法規(guī) 定如下內(nèi)容1) If (PERdelay < TARGET_VALUE) thenDEJITTER_DELAY = DEJITTER_DELAY_CONSTANT ;2) If (PERdelay > TARGET_VALUE&&PERdelay > = last_PERdelay) thenDEJITTER_DELAY = DEJITTER_DELAY+CONSTANT ;3)Set DEJITTER_DELAY = MAX(MIN_JITTER, DEJITTER_DELAY);AND4)DEJITTER_DELAY = MIN_(MAX_JITTER, DEJITTER_DELAY). (1)在本實(shí)例中,可將初始去抖動(dòng)緩沖器延遲設(shè)置成諸如40ms的常數(shù)值。TARGET_ VALUE是“延遲下溢”的目標(biāo)值(例如)。PERdelay是在濾波器的參數(shù)允許實(shí)現(xiàn)TARGET_ VALUE的情況下,分組的“延遲下溢”率的經(jīng)過(guò)濾波的值。last_PERdelay是去抖動(dòng)緩沖器延遲 的前一次更新時(shí)的PERdelay的值。DEJITTER_DELAY是如上文中定義的目標(biāo)去抖動(dòng)緩沖器長(zhǎng) 度。在本實(shí)例中,CONSTANT等于20ms。MIN_JITTER和MAX_JITTER是去抖動(dòng)緩沖器延遲的 最小值和最大值;根據(jù)一個(gè)實(shí)例,這些值分別被設(shè)置為20ms和80ms。MIN_JITTER和MAX_ JITTER可以基于系統(tǒng)模擬來(lái)估計(jì)。(MIN_JITTER,MAX_JITTER, CONSTANT)的值可取決于使 用去抖動(dòng)緩沖器的通信系統(tǒng)而被最優(yōu)化。PERdelay可以在每個(gè)靜音段的結(jié)尾或在每個(gè)話音突峰的開(kāi)頭處被更新,其中PERdelay 被如下計(jì)算PERdelay = PER_C0NSTANT X PERdelay+ (1_PER_C0NSTANT) X Current_PERdelay (2)PER_C0NSTANT是供濾波器用于估計(jì)PERdelay的時(shí)間常數(shù)。該常數(shù)的值確定濾波器 的存儲(chǔ),并允許實(shí)現(xiàn)TARGET_VALUE。Current_PERdelay是在PERdelay的上一次更新和當(dāng)前更 新之 觀察到的“延遲下溢”率。
CUrrent_PERdelay被定義為上一次更新和當(dāng)前更新之間的延遲下溢分組的數(shù)目與 PERdelay的接收到的分組的總數(shù)的比率。 參考圖6,用于計(jì)算和更新去抖動(dòng)緩沖器延遲的處理100通過(guò)初始化DEJITTER_ DELAY而在步驟101開(kāi)始。在步驟102,通過(guò)比較而將PERdelay與TARGET_VALUE進(jìn)行比較。 如果 PERdelay 小于 TARGET_VALUE,則在步驟 104,從 DEJITTER_DELAY 中減去值 CONSTANT。如 果在步驟 102 中 PERdelay 大于 TARGET_VALUE,并且在步驟 103 中 PERdelay 大于 TARGET_VALUE 并大于或等于LAST_PERdeuy,并在步驟103中不小于last_PERdelay,則處理繼續(xù)進(jìn)行到?jīng)Q定 108。在步驟 108,DEJITTER_DELAY 被設(shè)置成 DEJITTER_DELAY 加上值 CONSTANT。從步驟 103繼續(xù),如果PERdelay_不大于TARGET_VALUE并且不大于或等于LAST_PERdeuy,則處理繼續(xù) 進(jìn)行到步驟110。此外,從步驟104繼續(xù),在步驟110,DEJITTER_DELAY被設(shè)置成等于MIN_ JITTER和DEJITTER_DELAY中的最大值。從步驟110,處理繼續(xù)進(jìn)行到步驟112,以便在步驟 112,將 DEJITTER_DELAY 設(shè)置成等于 MAX_JITTER 和 DEJITTER_DELAY 中的最小值。對(duì)延遲的跟蹤去抖動(dòng)緩沖器可以進(jìn)入對(duì)延遲進(jìn)行跟蹤(而不是對(duì)下溢率進(jìn)行跟蹤)的模式。所 跟蹤的延遲可以是端對(duì)端延遲或去抖動(dòng)緩沖器延遲。在一個(gè)實(shí)例中,去抖動(dòng)緩沖器在目標(biāo) 下溢率可以很容易滿足時(shí)進(jìn)入“延遲跟蹤”模式。這意味著去抖動(dòng)緩沖器能夠在某段時(shí)間 內(nèi)實(shí)現(xiàn)比目標(biāo)下溢率低的下溢率。該段時(shí)間可以是幾百毫秒到幾秒中的任何一段時(shí)間。在該模式下,去抖動(dòng)緩沖器具有目標(biāo)延遲值。這類似于上述的下溢目標(biāo)值??梢?以類似的方式使用上文中用于確定目標(biāo)下溢率的等式(1)來(lái)計(jì)算目標(biāo)延遲值。當(dāng)去抖動(dòng)緩 沖器進(jìn)入確定目標(biāo)延遲值的該模式時(shí),只要能夠維持目標(biāo)延遲,這就可以允許去抖動(dòng)緩沖 器減小其目標(biāo)下溢率。隱式緩沖器自適應(yīng)在一些情形下,解碼器可能會(huì)期待再現(xiàn)還沒(méi)有接收到的分組。圖5中示出了這種 情形,其中PKT 50的預(yù)期再現(xiàn)時(shí)刻是tQ,但是PKT 50在該時(shí)刻后才被接收到。類似地,PKT 51在其預(yù)期再現(xiàn)時(shí)刻、后才被接收到,PKT 52在其預(yù)期再現(xiàn)時(shí)刻t2后才被接收到,等等。 此處應(yīng)注意,分組相當(dāng)規(guī)則地到達(dá),但是由于PKT 50的接收時(shí)刻稍遲于其預(yù)期再現(xiàn)時(shí)刻, 所以它使所有隨后的分組也錯(cuò)過(guò)了它們的再現(xiàn)時(shí)刻。另一方面,如果解碼器能夠在時(shí)刻、 插入擦除并仍能夠在時(shí)刻、再現(xiàn)分組PKT 50,則它將使得所有分組都符合它們的再現(xiàn)時(shí) 刻。通過(guò)在擦除之后再現(xiàn)PKT 50而不是已經(jīng)對(duì)PKT 50進(jìn)行再現(xiàn),可以有效地使去抖動(dòng)緩 沖器長(zhǎng)度自適應(yīng)。應(yīng)注意,在PKT 50的擦除之后再現(xiàn)PKT 50可能會(huì)導(dǎo)致不連續(xù),這可以通過(guò)使 用2005年7月7日提交的標(biāo)題為“PHASE MATCHING INV0C0DERS”的共同未決的申請(qǐng)第 11/192,231號(hào)中描述的相位匹配技術(shù)來(lái)消除。如圖7A所示,在分組的接收中可能會(huì)存在間隙,諸如PKT 3和PKT 4之間的時(shí)間 間隙。對(duì)于每個(gè)分組而言,分組到達(dá)時(shí)間中的延遲可能是不同的。去抖動(dòng)緩沖器可以立即 采用調(diào)整以補(bǔ)償該延遲,來(lái)做出響應(yīng)。如圖所示,PKT 1、PKT 2和PKT 3分別在時(shí)刻、、t2和、被接收到。在時(shí)刻t4,預(yù)期將接收到PKT 4,但是PKT 4還沒(méi)有到達(dá)。假定在圖7A中, 預(yù)期每20ms就會(huì)接收到分組。在本示例中,PKT 2在PKTl后的20ms被接收到,并且PKT 3 在PKT 1后的40ms被接收到。PKT4預(yù)期在PKT 1后的60ms被接收到,但是直到PKT 1后 的80ms才到達(dá)。在圖7B中,在接收到的第一個(gè)分組PKT 1的再現(xiàn)之前,在去抖動(dòng)緩沖器處引入初 始延遲。此處,傳輸延遲是Dinit。在這種情況下,PKTl將在時(shí)刻Dinit由緩沖器再現(xiàn),PKT 2 將在時(shí)刻01_+20!11 8由緩沖器再現(xiàn),PKT 3將在時(shí)刻01_+40!118由緩沖器再現(xiàn),等等。在圖 7B中,當(dāng)PKT 4未能在預(yù)期時(shí)刻01_+60!118到達(dá)時(shí),擦除可由去抖動(dòng)緩沖器再現(xiàn)。在對(duì)分組 進(jìn)行再現(xiàn)的下一時(shí)刻,去抖動(dòng)緩沖器將試圖再現(xiàn)PKT 4。如果PKT 4仍未到達(dá),則可在時(shí)刻 Dinit+80ms發(fā)送另一個(gè)擦除。擦除將繼續(xù)被再現(xiàn),直到PKT 4到達(dá)去抖動(dòng)緩沖器為止。一旦 PKT 4到達(dá)去抖動(dòng)緩沖器,PKT 4就接著被再現(xiàn)。這樣的處理會(huì)導(dǎo)致延遲,因?yàn)橹钡浇邮盏?PKT 4才會(huì)對(duì)其它分組進(jìn)行再現(xiàn)。當(dāng)系統(tǒng)不能夠恢復(fù)(即,從未接收到)PKT 4時(shí),系統(tǒng)可以 對(duì)處理進(jìn)行復(fù)位,從而允許再現(xiàn)PKT 4之后的分組而不再現(xiàn)PKT 4。在上述情形下,去抖動(dòng) 緩沖器的端對(duì)端延遲具有增加的潛在可能,因?yàn)樵赑KT 4到達(dá)之前可能會(huì)長(zhǎng)時(shí)間地繼續(xù)發(fā) 送擦除。相反,根據(jù)如圖7C所示的實(shí)例,如果分組未能到達(dá)或者如果分組的接收被延遲, 則在PKT 4的預(yù)期再現(xiàn)時(shí)刻將再現(xiàn)擦除。這類似于上面關(guān)于圖7B所描述的情形,在該情形 下,系統(tǒng)等待PKT 4。在下一再現(xiàn)時(shí)刻,如果PKT 4仍未到達(dá)而下一分組PKT 5已經(jīng)到達(dá),則 PKT 5得到再現(xiàn)。為了進(jìn)一步說(shuō)明,假設(shè)PKT 4的接收被延遲并且去抖動(dòng)緩沖器預(yù)期在時(shí)刻 Dinit+80ms接收到PKT 4。當(dāng)PKT 4被延遲時(shí),將再現(xiàn)擦除。在時(shí)刻Dinit+100ms,如果PKT 4 仍未到達(dá),則對(duì)PKT 5進(jìn)行再現(xiàn)而不再現(xiàn)另一擦除。在該第二情形下,立即做出了對(duì)延遲的 調(diào)整并避免了通信網(wǎng)絡(luò)中過(guò)大的端對(duì)端延遲。該處理可被稱為IBA,因?yàn)樵谠佻F(xiàn)之前存儲(chǔ)在 緩沖器中的數(shù)據(jù)的大小是根據(jù)數(shù)據(jù)的接收而增加和減小的。隱式緩沖器自適應(yīng)(IBA)處理200由圖8A中的流程圖示出。處理200可以實(shí)現(xiàn) 在自適應(yīng)去抖動(dòng)緩沖器內(nèi)的控制器(諸如輸出控制器760或去抖動(dòng)緩沖器控制器756)中。 處理200可以駐留在支持自適應(yīng)去抖動(dòng)緩沖器的系統(tǒng)內(nèi)的其它部分中。在步驟202,在自適 應(yīng)去抖動(dòng)緩沖器處接收請(qǐng)求以提供用于再現(xiàn)的下一分組。下一分組被標(biāo)識(shí)為具有序列中的 索引i的分組,具體為PKT[i]。在步驟204,如果隱式緩沖器自適應(yīng)(IBA)模式被啟用,則 處理器繼續(xù)進(jìn)行到步驟206以根據(jù)IBA模式進(jìn)行處理;如果IBA模式被禁用,則處理繼續(xù)進(jìn) 行到步驟226以便不采用IBA模式進(jìn)行處理。如果在步驟206接收到PKT [i],則在步驟208,自適應(yīng)去抖動(dòng)緩沖器提供PKT [i] 以用于再現(xiàn)。IBA模式在步驟210被禁用,并且索引i被增加,S卩,(i = i+l)。此外,如果 在步驟206沒(méi)有接收到PKT [i]并且如果在步驟214接收到PKT [i+Ι],則處理繼續(xù)進(jìn)行到步 驟216以對(duì)PKT[i+l]進(jìn)行再現(xiàn)。IBA模式在步驟218被禁用,并且在步驟220,索引i被增 加兩次,即,(i = i+2)。如果在步驟214,PKT[i]和PKT[i+Ι]都沒(méi)有接收到,則在步驟222,控制器啟動(dòng)對(duì) 擦除的再現(xiàn);并且在步驟224,索引i被增加。應(yīng)注意,在本實(shí)例中,當(dāng)處于IBA模式中時(shí), 控制器總共檢查兩(2)個(gè)分組,來(lái)響應(yīng)諸如在步驟202中接收到的對(duì)下一分組的請(qǐng)求。這 有效地實(shí)現(xiàn)了分組窗口,其中控制器在該分組窗口的范圍內(nèi)搜索接收到的分組??蛇x實(shí)例可以實(shí)現(xiàn)不同的窗口大小,例如,搜索三⑶個(gè)分組,在該實(shí)例中將是分組序號(hào)為i、i+1和 i+2的分組。返回到步驟204,如果IBA模式?jīng)]有被啟用,則處理繼續(xù)進(jìn)行到步驟226以確定是 否接收到PKT [i]。如果接收到,則在步驟228,提供PKT [i]用于再現(xiàn),并且在步驟230,索引 i被增加。如果在步驟226沒(méi)有接收到PKT[i],則在步驟232,自適應(yīng)去抖動(dòng)緩沖器提供擦 除以用于再現(xiàn)。由于沒(méi)有接收到PKT[i]并且擦除取代PKT[i]而得到再現(xiàn),所以啟用IBA 模式。圖8B是與IBA模式有關(guān)的狀態(tài)圖。當(dāng)處于普通模式242時(shí),如果自適應(yīng)去抖動(dòng)緩 沖器提供PKT[i ]用于再現(xiàn),則控制器停留在普通模式。當(dāng)擦除得到再現(xiàn)時(shí),控制器從普通 模式242轉(zhuǎn)換到IBA模式240。一旦處于IBA模式240,控制器就停留在該模式中并繼續(xù)再 現(xiàn)擦除。在再現(xiàn)了 PKT[i]或PKT[i+l]之后,控制器從IBA模式240轉(zhuǎn)換到普通模式242。圖9是實(shí)現(xiàn)諸如圖8A和8B所示的IBA的去抖動(dòng)緩沖器的一個(gè)實(shí)例。在本示例 中,再現(xiàn)裝置從解碼器請(qǐng)求用于再現(xiàn)的樣本。然后,解碼器從去抖動(dòng)緩沖器請(qǐng)求足夠的分組 以允許再現(xiàn)裝置能夠進(jìn)行不間斷的再現(xiàn)。在本示例中,分組傳送語(yǔ)音通信,并且再現(xiàn)裝置每 20ms就再現(xiàn)一樣本。可選系統(tǒng)可以通過(guò)其它配置將來(lái)自去抖動(dòng)緩沖器的分組化的數(shù)據(jù)提供 給再現(xiàn)裝置,并且分組化的數(shù)據(jù)可以不同于語(yǔ)音通信。去抖動(dòng)緩沖器在圖9中作為分組的堆疊而被示出。在該示例中,緩沖器首先接收 到PKT 49,接著隨后接收到PKT 50、PKT 51、PKT 52、PKT 53等。該示例中的分組號(hào)指的 是分組的順序。然而,在分組化的系統(tǒng)中,并不能保證將以該順序接收到分組。為了便于 清楚地理解,在該示例中,分組以與傳輸順序相同的數(shù)字順序被接收,該順序也是再現(xiàn)的順 序。為了說(shuō)明的目的,在圖9中,將隨后接收到的分組堆在去抖動(dòng)緩沖器中的先前接收到的 分組的上面;例如,PKT 49堆在PKT50的上面,PKT 51堆在PKT 50的上面,等等。去抖動(dòng) 緩沖器中的位于堆疊底部的分組是首先要發(fā)送給再現(xiàn)裝置的分組。還應(yīng)注意,在本示例中, 未示出目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度。在圖9中,相對(duì)于時(shí)間而畫出了分組的接收、分組的預(yù)期接收時(shí)刻以及分組的再 現(xiàn)時(shí)刻。在每次接收到分組時(shí),都示出了更新后的緩沖器狀態(tài)。例如,PKT 49在時(shí)刻tQ被 接收到,其中預(yù)期在時(shí)刻tJ^PKT49進(jìn)行再現(xiàn)。在時(shí)刻tQ (即PKT 49的接收時(shí)刻)上方的 圖的頂部,示出了在接收到PKT 49之后的緩沖器狀態(tài)。將去抖動(dòng)緩沖器處接收到的每個(gè)分 組的接收時(shí)刻圖示為RECEIVED。就在RECEIVED時(shí)刻的下面,圖示了 ANTICIPATED PLAYBACK 時(shí)刻。再現(xiàn)時(shí)刻被標(biāo)識(shí)為PLAYBACK。在該實(shí)例中,在最初,下一個(gè)要再現(xiàn)的分組是PKT 49,它被預(yù)期在時(shí)刻tQ得到再 現(xiàn)。預(yù)期下一個(gè)相繼的分組在時(shí)刻、得到再現(xiàn),等等。第一分組PKT 49在預(yù)期再現(xiàn)時(shí)刻 tQ之前被接收到。因此,PKT 49按照預(yù)期在時(shí)刻、得到再現(xiàn)。預(yù)期下一分組PKT 50在時(shí) 刻、得到再現(xiàn)。然而,PKT 50的接收被延遲,并且擦除取代PKT 50而被發(fā)送給再現(xiàn)裝置。 PKT 50的延遲導(dǎo)致了如前所述的下溢。PKT 50在預(yù)期再現(xiàn)時(shí)刻、之后并在下一預(yù)期再現(xiàn) 時(shí)刻、之前被接收到。一旦接收到PKT 50,就將PKT 50存儲(chǔ)在去抖動(dòng)緩沖器中。因此,當(dāng) 在時(shí)刻t2接收到下一個(gè)對(duì)用于再現(xiàn)的分組的請(qǐng)求時(shí),系統(tǒng)在去抖動(dòng)緩沖器中尋找序號(hào)最低 的分組;并且PKT 50被提供給再現(xiàn)裝置以用于在時(shí)刻t2再現(xiàn)。應(yīng)注意,通過(guò)使用IBA,即使 沒(méi)有及時(shí)接收到PKT 50以按照預(yù)期進(jìn)行再現(xiàn),PKT50也能在之后得到再現(xiàn),并且具有從該點(diǎn)接續(xù)下來(lái)的剩余的序號(hào)的分組也能得到再現(xiàn)。如圖所示,隨后的分組PKT 5UPKT 52等 都被及時(shí)地接收和再現(xiàn)以避免更多的擦除。盡管看上去好像IBA增加了分組的端對(duì)端延遲,但這并非實(shí)際情況。由于IBA導(dǎo)致 更少數(shù)目的下溢,所以可以將從上文中的等式1估計(jì)的去抖動(dòng)緩沖器值維持在較小的值。 因此,IBA的整體效果將是分組整體的平均端對(duì)端延遲的減小。IBA可以增強(qiáng)具有話音突峰的通信的處理。話音突峰是指語(yǔ)音通信的話音部分,其 中語(yǔ)音通信包括符合正常話音模式(speech pattern)的話音部分和靜音部分。在話音處 理中,聲碼器為話音生成一種類型的分組并為靜音生成另一種類型的分組。話音分組以一 種編碼速率編碼,并且靜音以不同的編碼速率編碼。當(dāng)在去抖動(dòng)緩沖器處接收到經(jīng)編碼的 分組時(shí),去抖動(dòng)緩沖器根據(jù)編碼速率而識(shí)別分組類型。去抖動(dòng)緩沖器假定話音幀是話音突 峰的一部分。第一個(gè)非靜音幀是話音突峰的開(kāi)頭。話音突峰在靜音分組被接收到時(shí)結(jié)束。 在不連續(xù)的傳輸中,并非所有的靜音分組都被傳輸,這是因?yàn)榻邮掌骺赡軙?huì)實(shí)現(xiàn)模擬的噪 聲來(lái)占據(jù)通信的靜音部分。在連續(xù)傳輸中,所有的靜音分組都被傳輸和接收。在一個(gè)實(shí)例 中,去抖動(dòng)緩沖器根據(jù)接收到的分組的類型來(lái)調(diào)整去抖動(dòng)緩沖器長(zhǎng)度。換言之,系統(tǒng)可以決 定減小為通信的靜音部分所需的去抖動(dòng)緩沖器的長(zhǎng)度。應(yīng)注意,IBA方法可以適用于根據(jù) 預(yù)定的定時(shí)方案(諸如固定速率等)進(jìn)行再現(xiàn)的任何通信。時(shí)間規(guī)整話音突峰通常由數(shù)據(jù)的多個(gè)分組構(gòu)成。在一個(gè)實(shí)例中,可以將話音突峰的第一分 組的再現(xiàn)延遲與去抖動(dòng)緩沖器延遲相等的長(zhǎng)度。去抖動(dòng)緩沖器延遲可以以各種方式被確 定。在一種情形下,去抖動(dòng)緩沖器延遲可以是基于諸如上文中的等式1的算法而計(jì)算的去 抖動(dòng)緩沖器延遲。在另一情形下,去抖動(dòng)緩沖器延遲可以是接收與去抖動(dòng)緩沖器延遲的長(zhǎng) 度相等的語(yǔ)音數(shù)據(jù)所花費(fèi)的時(shí)間??蛇x地,可將去抖動(dòng)緩沖器延遲選擇為前述值中的較小 值。在該實(shí)例中,假設(shè)去抖動(dòng)緩沖器延遲通過(guò)使用等式1而被計(jì)算為60ms,并且話音突峰的 第一個(gè)分組在第一時(shí)刻ti被接收到。當(dāng)在第一分組后的50ms接收到話音突峰的下一分組 時(shí),自適應(yīng)去抖動(dòng)緩沖器數(shù)據(jù)等于去抖動(dòng)延遲60ms。換言之,從在自適應(yīng)去抖動(dòng)緩沖器處接 收到分組到分組的再現(xiàn)所經(jīng)過(guò)的時(shí)間為60ms。應(yīng)注意,可以設(shè)置自適應(yīng)去抖動(dòng)緩沖器的目
標(biāo)長(zhǎng)度以實(shí)現(xiàn)60ms延遲。這樣的計(jì)算確定的是為了滿足延遲時(shí)間而將要存儲(chǔ)的分組的數(shù)目。自適應(yīng)去抖動(dòng)緩沖器監(jiān)視數(shù)據(jù)對(duì)緩沖器的填充和從緩沖器的騰空,并調(diào)整緩沖 器的輸出以便將緩沖器維持在目標(biāo)延遲長(zhǎng)度,即調(diào)整數(shù)據(jù)量以便實(shí)現(xiàn)目標(biāo)延遲時(shí)間。當(dāng) 去抖動(dòng)緩沖器發(fā)送話音突峰的第一分組以用于再現(xiàn)時(shí),存在著等于A的延遲,其中A = MIN(去抖動(dòng)緩沖器延遲,接收等于去抖動(dòng)延遲的語(yǔ)音數(shù)據(jù)所花費(fèi)的時(shí)間)。話音突峰的隨 后的分組被延遲的時(shí)間為A加上再現(xiàn)先前分組所花費(fèi)的時(shí)間。因此,一旦已經(jīng)定義了第一 分組的去抖動(dòng)緩沖器延遲,就隱式地定義了相同話音突峰中的隨后分組的去抖動(dòng)緩沖器延 遲。在實(shí)踐中,去抖動(dòng)緩沖器延遲的定義可能會(huì)需要額外的考慮以便適應(yīng)諸如圖10中所示 的情況。圖10示出了話音突峰中的語(yǔ)音信息的傳輸。話音突峰150在時(shí)刻、被接收,并且 話音突峰154在時(shí)刻t2被接收。在話音突峰150和話音突峰154之間接收到20ms的靜音 段152。在接收到之后,自適應(yīng)去抖動(dòng)緩沖器可以存儲(chǔ)接收到的數(shù)據(jù)并為每個(gè)話音突峰分組
15的再現(xiàn)確定延遲。在該實(shí)例中,話音突峰150在時(shí)刻、在自適應(yīng)去抖動(dòng)緩沖器處被接收到, 其中自適應(yīng)去抖動(dòng)緩沖器延遲時(shí)間被計(jì)算為80ms。將去抖動(dòng)緩沖器延遲加到接收時(shí)刻上以 產(chǎn)生再現(xiàn)時(shí)刻。這樣,話音突峰150在再現(xiàn)之前被自適應(yīng)去抖動(dòng)緩沖器延遲了 80ms。話音 突峰150在時(shí)刻、開(kāi)始再現(xiàn),其中、=tjSOms,或者話音突峰150在接收到話音突峰150 之后的80ms開(kāi)始再現(xiàn);并且話音突峰150在時(shí)刻t4完成再現(xiàn)。通過(guò)使用諸如等式1的算法 來(lái)計(jì)算上述目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度,施加給話音突峰154的去抖動(dòng)緩沖器延遲是40ms。這 意味著話音突峰154的第一個(gè)分組將在時(shí)刻、得到再現(xiàn),其中t3 = t2+40ms,或者話音突峰 154的第一個(gè)分組將在接收到話音突峰154之后的40ms得到再現(xiàn)。然而,分組154在時(shí)刻 t3的再現(xiàn),與在時(shí)刻t4結(jié)束再現(xiàn)的話音突峰150的最后一個(gè)分組的再現(xiàn)是相沖突的。因此, (為分組154)計(jì)算出的40ms的去抖動(dòng)緩沖器延遲不能使話音突峰150有足夠的時(shí)間結(jié)束 再現(xiàn)。為了避免沖突并允許兩個(gè)分組都正確地得到再現(xiàn),應(yīng)該在話音突峰150的最后一個(gè) 分組已經(jīng)再現(xiàn)之后才對(duì)與話音突峰150之間具有靜音段的話音突峰154的第一個(gè)分組進(jìn)行 再現(xiàn)。在該實(shí)例中,話音突峰150和話音突峰154在時(shí)刻、至、之間相重疊。因此,再現(xiàn) 方法在這種情形下是不理想的。為了防止如本文中所述的分組再現(xiàn)之間的重疊,需要檢測(cè) 前一個(gè)話音突峰的最后一個(gè)分組被再現(xiàn)的時(shí)刻。因此,為分組進(jìn)行的去抖動(dòng)緩沖器延遲的 計(jì)算可以考慮前一個(gè)再現(xiàn)分組的再現(xiàn)時(shí)間,以便避免重疊或沖突。如上所述,在一個(gè)實(shí)例中,去抖動(dòng)緩沖器延遲是在話音突峰的開(kāi)頭處計(jì)算或更新 的。然而,將去抖動(dòng)緩沖器延遲的更新限制到話音突峰的開(kāi)頭,可能是有限制的,因?yàn)樵捯?突峰常常在長(zhǎng)度上有所變化并且工作條件在話音突峰期間可能會(huì)發(fā)生變化??紤]圖10的 實(shí)例。因此,需要在話音突峰期間更新去抖動(dòng)緩沖器延遲。應(yīng)注意,合乎需要的是,控制從自適應(yīng)去抖動(dòng)緩沖器中流出的數(shù)據(jù)流以便維持目 標(biāo)延遲長(zhǎng)度。這樣,如果自適應(yīng)去抖動(dòng)緩沖器正在接收具有可變延遲的數(shù)據(jù),則從自適應(yīng)去 抖動(dòng)緩沖器中流出的數(shù)據(jù)就可以得到調(diào)整,以便允許緩沖器填充有足夠的數(shù)據(jù)來(lái)滿足目標(biāo) 自適應(yīng)去抖動(dòng)緩沖器長(zhǎng)度。當(dāng)自適應(yīng)去抖動(dòng)緩沖器所接收的分組不充足時(shí),可以使用時(shí)間 規(guī)整來(lái)擴(kuò)展分組以便維持目標(biāo)延遲長(zhǎng)度。類似地,當(dāng)自適應(yīng)去抖動(dòng)緩沖器所接收的分組過(guò) 多并且正在存儲(chǔ)超出目標(biāo)延遲長(zhǎng)度的分組時(shí),可以使用時(shí)間規(guī)整來(lái)壓縮分組。自適應(yīng)去抖 動(dòng)緩沖器可以與解碼器配合工作以便對(duì)分組進(jìn)行時(shí)間規(guī)整,如本文中所述。圖11是包括通過(guò)網(wǎng)絡(luò)元件進(jìn)行通信的兩個(gè)接收器的系統(tǒng)的框圖。接收器是AT 252和AT 282;如圖所示,AT 252和282適于通過(guò)BS 270進(jìn)行通信。在AT 252中,發(fā)射處 理單元264將語(yǔ)音數(shù)據(jù)發(fā)送給編碼器260,編碼器260對(duì)語(yǔ)音數(shù)據(jù)進(jìn)行數(shù)字化并將經(jīng)分組的 數(shù)據(jù)發(fā)送給低層處理單元258。然后分組被發(fā)送給BS 270。當(dāng)AT 252接收到來(lái)自BS 270 的數(shù)據(jù)時(shí),數(shù)據(jù)首先在低層處理單元258中被處理,從這里,數(shù)據(jù)的分組被提供給自適應(yīng)去 抖動(dòng)緩沖器256。接收到的分組被存儲(chǔ)在自適應(yīng)去抖動(dòng)緩沖器256中,直到達(dá)到目標(biāo)去抖 動(dòng)緩沖器長(zhǎng)度為止。一旦達(dá)到了目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度,自適應(yīng)去抖動(dòng)緩沖器256就將數(shù) 據(jù)發(fā)送給解碼器254。在該示出的實(shí)例中,實(shí)現(xiàn)時(shí)間規(guī)整的壓縮和擴(kuò)展可以在解碼器254 中執(zhí)行,該解碼器254將分組化的數(shù)據(jù)轉(zhuǎn)換成語(yǔ)音數(shù)據(jù)并將語(yǔ)音數(shù)據(jù)發(fā)送給接收處理單元 262。在本發(fā)明的另一實(shí)例中,時(shí)間壓縮和擴(kuò)展(時(shí)間規(guī)整)可以在自適應(yīng)去抖動(dòng)緩沖器內(nèi) 由(未示出的)控制器執(zhí)行。AT 282的行為類似于AT 252。AT 282在從發(fā)射處理單元294 到編碼器290到低層處理單元288并最終到BS 270的路徑上發(fā)送數(shù)據(jù)。AT 282在從低層處理單元288到自適應(yīng)去抖動(dòng)緩沖器286到解碼器284到接收處理單元292的路徑上接收 數(shù)據(jù)。進(jìn)一步的處理并未示出,但是可能會(huì)影響諸如語(yǔ)音的數(shù)據(jù)的再現(xiàn)并且可能會(huì)涉及音 頻處理、屏幕顯示等。等式1中給出的去抖動(dòng)緩沖器等式在話音突峰的開(kāi)頭處計(jì)算去抖動(dòng)緩沖器延遲。 去抖動(dòng)緩沖器延遲可以表示諸如由話音突峰確定的特定分組數(shù)目,或者可以表示與(諸如 語(yǔ)音數(shù)據(jù)的)數(shù)據(jù)的再現(xiàn)等效的預(yù)期時(shí)刻。此處應(yīng)注意,去抖動(dòng)緩沖器具有目標(biāo)大小,并且 這確定了預(yù)期在所有時(shí)間點(diǎn)處在去抖動(dòng)緩沖器中看到的所存儲(chǔ)的數(shù)據(jù)量。由于信道條件和其它工作條件而引起的分組延遲的變化,會(huì)導(dǎo)致分組到達(dá)自適應(yīng) 去抖動(dòng)緩沖器的時(shí)間的差別。因此,自適應(yīng)去抖動(dòng)緩沖器中的數(shù)據(jù)量(分組數(shù)目)可能會(huì) 小于或大于所計(jì)算的去抖動(dòng)緩沖器延遲值DEJITTER_DELAY。例如,分組可能會(huì)以比它們最 初在編碼器處被生成的速率更慢或更快的速率到達(dá)去抖動(dòng)緩沖器。當(dāng)分組以慢于預(yù)期速率 的速率到達(dá)去抖動(dòng)緩沖器時(shí),去抖動(dòng)緩沖器會(huì)開(kāi)始耗盡,因?yàn)榈絹?lái)的分組將不能以相同的 速率補(bǔ)充流出的分組。換句話說(shuō),如果分組以比編碼器處的生成速率更快的速率到達(dá),則去 抖動(dòng)緩沖器的大小會(huì)開(kāi)始增加,因?yàn)榉纸M離開(kāi)去抖動(dòng)緩沖器的速率無(wú)法與它們進(jìn)入去抖動(dòng) 緩沖器的速率一樣快。前一種狀況會(huì)導(dǎo)致下溢,而后一種狀況會(huì)由于去抖動(dòng)緩沖器中更大 的緩沖時(shí)間而導(dǎo)致較高的端對(duì)端延遲。后一種狀況是重要的,因?yàn)槿绻纸M數(shù)據(jù)系統(tǒng)的端 對(duì)端延遲減小(AT移動(dòng)到負(fù)載更小的區(qū)域或者用戶移動(dòng)到具有更好信道質(zhì)量的區(qū)域),則 合乎需要的是將該延遲減小結(jié)合到話音的再現(xiàn)中。端對(duì)端延遲是重要的話音質(zhì)量因素,并 且再現(xiàn)延遲的任何減小都會(huì)被感覺(jué)為會(huì)話或話音質(zhì)量的提高。為了在去抖動(dòng)緩沖器中校正DEJITTER_DELAY和實(shí)際存在于去抖動(dòng)緩沖器中的數(shù) 據(jù)量之間的差別,去抖動(dòng)緩沖器的一個(gè)實(shí)例采用時(shí)間規(guī)整。時(shí)間規(guī)整涉及擴(kuò)展或壓縮話音 分組的持續(xù)時(shí)間。當(dāng)自適應(yīng)去抖動(dòng)緩沖器開(kāi)始耗盡時(shí),去抖動(dòng)緩沖器通過(guò)擴(kuò)展話音分組來(lái) 實(shí)現(xiàn)時(shí)間規(guī)整,并且當(dāng)自適應(yīng)去抖動(dòng)緩沖器變得大于DEJITTER_DELAY時(shí),去抖動(dòng)緩沖器通 過(guò)壓縮話音分組來(lái)實(shí)現(xiàn)時(shí)間規(guī)整。自適應(yīng)去抖動(dòng)緩沖器可以與解碼器配合工作以便對(duì)分組 進(jìn)行時(shí)間規(guī)整。時(shí)間規(guī)整提供話音質(zhì)量的實(shí)質(zhì)性的提高而不會(huì)增加端對(duì)端延遲。圖12是實(shí)現(xiàn)時(shí)間規(guī)整的自適應(yīng)去抖動(dòng)緩沖器的一個(gè)實(shí)例的框圖。物理層處理單 元302將數(shù)據(jù)提供給數(shù)據(jù)堆棧304。數(shù)據(jù)堆棧304將分組輸出給自適應(yīng)去抖動(dòng)緩沖器和控 制單元306。前向鏈路(FL)媒體接入控制(MAC)處理單元300向去抖動(dòng)處理單元306提供 越區(qū)切換指示。MAC層實(shí)現(xiàn)用于在物理層上(即通過(guò)空中)接收和發(fā)送數(shù)據(jù)的協(xié)議。MAC 層可以包括安全、加密、認(rèn)證和連接信息。在支持IS-856的系統(tǒng)中,MAC層包含管理控制信 道、接入信道以及前向和反向業(yè)務(wù)信道的規(guī)則。目標(biāo)長(zhǎng)度估計(jì)器314通過(guò)使用等式1中給 出的計(jì)算而向去抖 動(dòng)緩沖器提供目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度。對(duì)目標(biāo)長(zhǎng)度估計(jì)器314的輸入包 括分組到達(dá)信息和當(dāng)前分組差錯(cuò)率(PER)。應(yīng)注意,可選配置可以包括位于自適應(yīng)去抖動(dòng)緩 沖器和控制單元306內(nèi)的目標(biāo)長(zhǎng)度估計(jì)器314。在一個(gè)實(shí)例中,自適應(yīng)去抖動(dòng)緩沖器和控制單元306還包括控制為再現(xiàn)提供的數(shù) 據(jù)的速率的再現(xiàn)控制。從自適應(yīng)去抖動(dòng)緩沖器和控制單元306,分組被發(fā)送給不連續(xù)發(fā)射 (DTX)單元308,其中DTX單元308在話音數(shù)據(jù)未被接收到時(shí)向解碼器310提供背景噪聲信 息。應(yīng)注意,由自適應(yīng)去抖動(dòng)緩沖器和控制單元306提供的分組已準(zhǔn)備好用于解碼處理,并 且可被稱為聲碼器分組。解碼器310對(duì)分組進(jìn)行解碼并將脈沖編碼調(diào)制(PCM)話音樣本提供給時(shí)間規(guī)整單元312。在可選實(shí)例中,可以將時(shí)間規(guī)整單元312實(shí)現(xiàn)在解碼器310內(nèi)。 時(shí)間規(guī)整單元312從自適應(yīng)去抖動(dòng)緩沖器和控制單元306接收時(shí)間規(guī)整指示符。時(shí)間規(guī)整 指示符可以是控制信號(hào)、指令信號(hào)或標(biāo)記。在一個(gè)實(shí)例中,時(shí)間規(guī)整指示符可以是具有例如 壓縮、擴(kuò)展和不進(jìn)行時(shí)間規(guī)整的多狀態(tài)指示符。對(duì)于不同的壓縮級(jí)別和/或不同的擴(kuò)展級(jí) 別,可以有不同的值。在一個(gè)實(shí)例中,時(shí)間規(guī)整指示符指示時(shí)間規(guī)整單元312擴(kuò)展或壓縮數(shù) 據(jù)。時(shí)間規(guī)整指示符指示擴(kuò)展、壓縮或不進(jìn)行時(shí)間規(guī)整??梢詫r(shí)間規(guī)整指示符看作是啟 動(dòng)時(shí)間規(guī)整單 元312處的操作的控制信號(hào)。時(shí)間規(guī)整指示符可以是規(guī)定如何擴(kuò)展或壓縮分 組的消息。時(shí)間規(guī)整指示符可以標(biāo)識(shí)要進(jìn)行時(shí)間規(guī)整的分組以及所采取的操作是壓縮還是 擴(kuò)展。此外,時(shí)間規(guī)整指示符可以向時(shí)間規(guī)整單元312提供對(duì)選項(xiàng)的選擇。在靜音間隔期 間,DTX模塊將去抖動(dòng)緩沖器所提供的擦除流修改成擦除和靜音幀的流,其中解碼器使用該 擦除和靜音幀的流來(lái)重建更準(zhǔn)確和更高質(zhì)量的背景噪聲。在可選實(shí)例中,時(shí)間規(guī)整指示符 開(kāi)啟和關(guān)閉時(shí)間規(guī)整。在另一實(shí)例中,指示符標(biāo)識(shí)用于再現(xiàn)的壓縮和擴(kuò)展的量。時(shí)間規(guī)整 單元312可以修改來(lái)自解碼器的樣本并將樣本提供給音頻處理316,該音頻處理316可以包 括接口和轉(zhuǎn)換單元以及音頻驅(qū)動(dòng)器和揚(yáng)聲器。盡管時(shí)間規(guī)整指示符標(biāo)識(shí)了何時(shí)進(jìn)行壓縮或者何時(shí)進(jìn)行擴(kuò)展,但仍需要確定將對(duì) 給定分組應(yīng)用多少時(shí)間規(guī)整。在一個(gè)實(shí)施例中,時(shí)間規(guī)整的量是固定的,其中分組根據(jù)話音 周期或音高而被進(jìn)行時(shí)間規(guī)整。在一個(gè)實(shí)施例中,時(shí)間規(guī)整指示符是作為目標(biāo)擴(kuò)展級(jí)別或目標(biāo)壓縮級(jí)別的百分比 來(lái)傳遞的。換言之,時(shí)間規(guī)整指示符指示壓縮給定的百分比或者擴(kuò)展給定的百分比。在一種情形下,可能有必要識(shí)別到來(lái)的數(shù)據(jù)的已知特性。例如,編碼器可以預(yù)期已 知音調(diào)的數(shù)據(jù)或者具有例如特定長(zhǎng)度特性的數(shù)據(jù)。在這種情況下,由于可以預(yù)期特定特性, 所以使用時(shí)間規(guī)整來(lái)修改接收到的數(shù)據(jù)將不是理想的。例如,編碼器可以預(yù)期到來(lái)的數(shù)據(jù) 具有特定的音調(diào)長(zhǎng)度。然而,如果時(shí)間規(guī)整被啟用,則音調(diào)長(zhǎng)度可能會(huì)通過(guò)時(shí)間規(guī)整而被修 改。因此,在這種情形下,不應(yīng)該啟用時(shí)間規(guī)整?;谝粽{(diào)的通信包括但不限于文本電話 /聾 人電話裝置(TTY/TDD)信息、使用鍵盤輸入的應(yīng)用或者使用基于音調(diào)的通信的其它 應(yīng)用。在這樣的通信中,音調(diào)載波信息的長(zhǎng)度,并且因此,修改音高或音調(diào)長(zhǎng)度,諸如在再現(xiàn) 時(shí)的壓縮或擴(kuò)展,會(huì)導(dǎo)致該信息的丟失。在使有聽(tīng)力障礙的接收者能夠接收的TTY、TDD和 其它應(yīng)用中,解碼器也提供這種通信的其帶內(nèi)處理的狀態(tài)。該指示被用于掩蔽去抖動(dòng)緩沖 器所提供的時(shí)間規(guī)整指示。如果解碼器正在處理具有TTY/TDD信息的分組,則應(yīng)該禁用時(shí) 間規(guī)整。這可以用2種方式來(lái)實(shí)現(xiàn);向去抖動(dòng)緩沖器控制器提供TTY/TDD狀態(tài),或者向時(shí) 間規(guī)整單元提供TTY/TDD狀態(tài)。如果解碼器TTY/TDD狀態(tài)被提供給去抖動(dòng)緩沖器控制器, 則當(dāng)聲碼器指示TTY/TDD的處理時(shí),控制器不應(yīng)該指示任何擴(kuò)展或壓縮指示。如果解碼器 TTY/TDD狀態(tài)被提供給時(shí)間規(guī)整單元,則這會(huì)起到濾波器的作用,并且如果解碼器正在處理 TTY/TDD信息,則時(shí)間規(guī)整單元在接收到時(shí)間規(guī)整指示后不會(huì)采取操作。在如圖12所示的系統(tǒng)中,自適應(yīng)去抖動(dòng)緩沖器和控制單元306監(jiān)視到來(lái)數(shù)據(jù)的速 率,并且在過(guò)多或過(guò)少的分組被獲得或緩沖時(shí)生成時(shí)間規(guī)整指示符。自適應(yīng)去抖動(dòng)緩沖器 和控制單元306確定何時(shí)進(jìn)行時(shí)間規(guī)整以及采取什么操作。圖13A示出了通過(guò)使用壓縮和 擴(kuò)展閾值來(lái)做出時(shí)間規(guī)整決定的自適應(yīng)去抖動(dòng)緩沖器的一個(gè)實(shí)例的操作。自適應(yīng)去抖動(dòng)緩 沖器累積可能已經(jīng)以不規(guī)則的時(shí)間間隔到達(dá)的分組。去抖動(dòng)目標(biāo)長(zhǎng)度估計(jì)器314產(chǎn)生目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度;然后目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度被施加給去抖動(dòng)緩沖器。在實(shí)踐中,自適應(yīng) 去抖動(dòng)緩沖器和控制單元306使用去抖動(dòng)緩沖器長(zhǎng)度值來(lái)做出關(guān)于去抖動(dòng)緩沖器操作的 控制決定并控制再現(xiàn)。壓縮閾值和擴(kuò)展閾值分別指示何時(shí)觸發(fā)壓縮或擴(kuò)展??梢詫⑦@些閾 值指定為去抖動(dòng)目標(biāo)長(zhǎng)度的一小部分。如圖13A所示,目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度被給定為L(zhǎng)togrt。壓縮閾值被給定為T。。mpMSS, 并且擴(kuò)展閾值被給定為TExpand。當(dāng)去抖動(dòng)緩沖器長(zhǎng)度增加到超出壓縮閾值Tfompress時(shí),去抖 動(dòng)緩沖器向解碼器指示分組應(yīng)該被壓縮。以類似的方式,當(dāng)去抖動(dòng)緩沖器長(zhǎng)度減小到低于擴(kuò)展閾值TExpand時(shí),去抖動(dòng)緩沖器 向解碼器指示分組應(yīng)該被擴(kuò)展并應(yīng)該以更低的速率被有效地再現(xiàn)。 擴(kuò)展和壓縮閾值之間的操作點(diǎn)避免了下溢以及端對(duì)端延遲的過(guò)大的增加。因此, 目標(biāo)操作是在τ。。__和TExpand之間。在一個(gè)實(shí)例中,擴(kuò)展和壓縮閾值的值被分別設(shè)置成去抖 動(dòng)緩沖器的目標(biāo)值的50%和100%。盡管在一個(gè)實(shí)例中,時(shí)間規(guī)整可以在解碼器內(nèi)部執(zhí)行, 而在可選實(shí)例中,該功能可以在解碼器外部執(zhí)行,例如在解碼之后執(zhí)行。然而,在合成信號(hào) 之前對(duì)信號(hào)進(jìn)行時(shí)間規(guī)整可能會(huì)更簡(jiǎn)單。如果在解碼信號(hào)之后應(yīng)用這樣的時(shí)間規(guī)整方法, 則將需要估計(jì)信號(hào)的音高周期。在某些情形下,例如在W-CDMA系統(tǒng)中,去抖動(dòng)緩沖器長(zhǎng)度可以更大。時(shí)間規(guī)整閾 值發(fā)生器可以生成多個(gè)壓縮和擴(kuò)展閾值??梢皂憫?yīng)于工作條件而計(jì)算這些閾值。圖13B中 示出了多級(jí)別閾值。Ta是第一壓縮閾值,1^2是第二壓縮閾值,并且Tra是第三壓縮閾值。圖 中也示出了表示三個(gè)不同的壓縮閾值的值的TE1、Te2和TE3。閾值可以基于時(shí)間規(guī)整的百分 比(經(jīng)歷時(shí)間規(guī)整的分組數(shù)目)、壓縮分組的百分比、擴(kuò)展分組的百分比或者這兩個(gè)值的比 率。閾值的數(shù)目可以根據(jù)需要而變化,換言之,可能會(huì)需要更多或更少的閾值。閾值中的每 一個(gè)涉及不同的壓縮或擴(kuò)展速率,例如,對(duì)于要求更細(xì)粒度的系統(tǒng),可以使用更多的閾值, 而對(duì)于更粗糙的粒度,可以使用更少的閾值。TE1、TE2和TE3等可以是目標(biāo)延遲長(zhǎng)度的函數(shù)。 可以通過(guò)跟蹤延遲下溢并基于諸如PER的差錯(cuò)統(tǒng)計(jì)數(shù)據(jù)來(lái)改變閾值。圖14示出了采用時(shí)間規(guī)整和沒(méi)有采用時(shí)間規(guī)整的分組的再現(xiàn)。在圖14中,PKT 1 在時(shí)刻、被傳輸,PKT 2在時(shí)刻、被發(fā)送,等等。分組按照所指示的那樣到達(dá)接收器,其中 PKT 1在、’到達(dá),并且PKT 2在t2”到達(dá)。對(duì)于每個(gè)分組,將沒(méi)有使用時(shí)間規(guī)整的再現(xiàn)時(shí)刻 作為PLAYBACK WITHOUT WARPING(沒(méi)有采用規(guī)整的再現(xiàn))給出。相反,將使用時(shí)間規(guī)整的 再現(xiàn)時(shí)刻作為PLAYBACK WITH WARPING(采用規(guī)整的再現(xiàn))給出。由于本實(shí)例是關(guān)于諸如 話音通信的實(shí)時(shí)數(shù)據(jù)的,所以分組的預(yù)期再現(xiàn)時(shí)刻具有固定的時(shí)間間隔。在再現(xiàn)期間,理想 的是每個(gè)分組在預(yù)期再現(xiàn)時(shí)刻之前到達(dá)。如果分組的到達(dá)對(duì)于預(yù)期時(shí)刻的再現(xiàn)而言過(guò)遲, 則會(huì)對(duì)再現(xiàn)質(zhì)量造成影響。PKT 1和2被按時(shí)接收到,并且它們被再現(xiàn)而沒(méi)有經(jīng)歷時(shí)間規(guī)整。PKT 3和PKT 4 二者在同一時(shí)刻t4’被接收到。兩個(gè)分組的接收時(shí)刻是滿足要求的,因?yàn)槊總€(gè)分組都是在相 關(guān)的預(yù)期再現(xiàn)時(shí)刻(對(duì)于PKT 3為t4”,對(duì)于PKT 4為t5’)之前接收到的。PKT 3和4被 按時(shí)再現(xiàn)而沒(méi)有經(jīng)歷時(shí)間規(guī)整。當(dāng)在PKT 5的預(yù)期再現(xiàn)時(shí)刻之后的時(shí)刻t6’接收到PKT 5 時(shí),問(wèn)題發(fā)生了。在預(yù)期再現(xiàn)時(shí)刻,擦除取代PKT 5而得到再現(xiàn)。隨后,PKT 5在擦除已經(jīng) 開(kāi)始再現(xiàn)之后才到達(dá)。在沒(méi)有采用規(guī)整的第一種情形下,PKT 5被丟棄并且PKT 6被接收到并在下一預(yù)期再現(xiàn)時(shí)刻得到再現(xiàn)。應(yīng)注意,在這種情況下,PKT 6被及時(shí)接收到以用于再現(xiàn)。在第二種 情形下,如果PKT 5和PKT 5之后的所有分組被延遲,則每個(gè)分組對(duì)于預(yù)期再現(xiàn)而言會(huì)到達(dá) 得過(guò)遲,并會(huì)導(dǎo)致一串擦除。在這兩種情形下,信息都被丟失,即,在第一種情形下PKT 5被 丟棄;在第二種情形下PKT 5和隨后的分組被丟失。可選地,使用IBA技術(shù)允許PKT 5在下一預(yù)期再現(xiàn)時(shí)刻得到再現(xiàn),其中隨后的分組 從該點(diǎn)接續(xù)下來(lái)。IBA防止了數(shù)據(jù)的丟失,但延遲了分組流。沒(méi)有采用時(shí)間規(guī)整的這種再現(xiàn)會(huì)增加通信系統(tǒng)中的整個(gè)端對(duì)端延遲。如圖14所 示,分組間的延遲會(huì)導(dǎo)致丟失信息或者再現(xiàn)的延遲。通過(guò)實(shí)現(xiàn)時(shí)間規(guī)整,當(dāng)PKT 5在其預(yù)期再現(xiàn)時(shí)刻之后到達(dá)時(shí),分組被擴(kuò)展并且可 以避免擦除。例如,擴(kuò)展PKT 4可以使再現(xiàn)以23ms完成而不是20ms。PKT 5在其被接收到 時(shí)得到再現(xiàn)。這比發(fā)送擦除來(lái)進(jìn)行再現(xiàn)的情況(如圖14中所述的沒(méi)有采用時(shí)間規(guī)整但采 用了 IBA的再現(xiàn)的可選實(shí)例所示)要更快。用擴(kuò)展PKT 4來(lái)代替發(fā)送擦除,會(huì)使再現(xiàn)質(zhì)量 的惡化更小。因此,時(shí)間規(guī)整提供了更好的整體再現(xiàn)質(zhì)量以及等待時(shí)間的減小。如圖14所 示,通過(guò)使用時(shí)間規(guī)整,與不使用時(shí)間規(guī)整技術(shù)的情況相比,PKT 5之后的分組更早地得到 了再現(xiàn)。在該具體實(shí)例中,當(dāng)使用時(shí)間規(guī)整時(shí),PKT 7在時(shí)刻t9得到再現(xiàn),這要早于沒(méi)有采 用時(shí)間規(guī)整的情況。應(yīng)用時(shí)間規(guī)整以改善再現(xiàn)質(zhì)量,同時(shí)要考慮變化的工作條件以及話音傳輸中所傳 輸信息的特性的變化。由于具有話音突峰和靜音段的話音特性會(huì)變化,所以目標(biāo)去抖動(dòng)緩 沖器延遲長(zhǎng)度以及用于每種類型的數(shù)據(jù)的壓縮和擴(kuò)展閾值可能是不同的。圖15示出了隨著話音突峰的不同,由于去抖動(dòng)延遲的差異而引起的“靜音壓縮” 和“靜音擴(kuò)展”的實(shí)例。在圖15中,陰影區(qū)域120、124和128表示話音突峰,而無(wú)陰影的區(qū)域 122和126表示接收到的信息的靜音段。在被接收時(shí),話音突峰120起始于時(shí)刻、并結(jié)束于 時(shí)刻t2。在接收器處,去抖動(dòng)緩沖器延遲被引入,因此話音突峰120的再現(xiàn)開(kāi)始于時(shí)刻t/。 去抖動(dòng)緩沖器延遲被標(biāo)識(shí)為時(shí)刻t/與時(shí)刻、之間的差。在被接收時(shí),靜音段122起始于 時(shí)刻t2并結(jié)束于時(shí)刻t3。靜音段122被壓縮并被再現(xiàn)為從時(shí)刻t2’到t3’的靜音段132,這 要小于接收到的靜音段122的原始持續(xù)時(shí)間。在信號(hào)源處,話音突峰124起始于時(shí)刻t3并 結(jié)束于時(shí)刻t4。在接收器處,話音突峰124從時(shí)刻t3’到時(shí)刻t4’被再現(xiàn)。靜音段126 (時(shí) 刻t4到t5)在接收器處進(jìn)行再現(xiàn)時(shí)被擴(kuò)展為靜音段136,其中(t5’ -t4’ )大于(t5-t4)。當(dāng) 去抖動(dòng)緩沖器需要更早地再現(xiàn)分組時(shí)可以壓縮靜音段,并且當(dāng)去抖動(dòng)緩沖器需要延遲分組 的再現(xiàn)時(shí)可以擴(kuò)展靜音段。在一個(gè)實(shí)例中,靜音段的壓縮或擴(kuò)展會(huì)導(dǎo)致語(yǔ)音質(zhì)量微小的惡 化。因此,可以實(shí)現(xiàn)自適應(yīng)去抖動(dòng)延遲而不使語(yǔ)音質(zhì)量惡化。在圖15的實(shí)例中,自適應(yīng)去 抖動(dòng)緩沖器壓縮和擴(kuò)展由該自適應(yīng)去抖動(dòng)緩沖器識(shí)別和控制的靜音段。應(yīng)注意,如在本文中使用的那樣,時(shí)間規(guī)整是指響應(yīng)于到達(dá)時(shí)間和接收到的數(shù)據(jù) 的長(zhǎng)度而對(duì)再現(xiàn)進(jìn)行自適應(yīng)控制。時(shí)間規(guī)整可以通過(guò)在再現(xiàn)時(shí)壓縮數(shù)據(jù)、在再現(xiàn)時(shí)擴(kuò)展數(shù) 據(jù)或者在再現(xiàn)時(shí)壓縮和擴(kuò)展數(shù)據(jù)來(lái)實(shí)現(xiàn)。在一個(gè)實(shí)例中,使用閾值來(lái)觸發(fā)壓縮。在另一實(shí) 例中,使用閾值來(lái)觸發(fā)擴(kuò)展。在又一實(shí)例中,使用兩個(gè)觸發(fā)一個(gè)用于觸發(fā)壓縮,一個(gè)用于觸 發(fā)擴(kuò)展。其它實(shí)例可以采用指示時(shí)間規(guī)整的各種級(jí)別(例如,不同速率的快速再現(xiàn))的多 個(gè)觸發(fā)。也可以在解碼器內(nèi)部執(zhí)行時(shí)間規(guī)整。用于執(zhí)行解碼器時(shí)間規(guī)整的技術(shù)被記述在^J“Time Warping Frameslnside the Vocoder by Modifying the Residual”的共同未決的申請(qǐng)第11/123,467號(hào)中。在一個(gè)實(shí)例中,時(shí)間規(guī)整包含用于“融合”話音片段的方法。融合話音片段涉及比 較至少兩個(gè)連續(xù)的話音片段中的話音樣本,并且如果在所比較的片段之間發(fā)現(xiàn)相關(guān)性,則 生成至少兩個(gè)連續(xù)片段的單一片段。話音的融合是在試圖保持話音質(zhì)量時(shí)進(jìn)行的。保持話 音質(zhì)量并使引入到輸出的話音中的瑕疵(諸如是提供給用戶的質(zhì)量惡化的聲音,包括“咯 嚓聲”和“砰響聲”)最小化,是通過(guò)仔細(xì)地選擇要融合的分組來(lái)實(shí)現(xiàn)的。話音片段的選擇 基于片段的相似性或相關(guān)性。話音片段的相似性越接近,產(chǎn)生的話音質(zhì)量就越好并且引入 話音瑕疵的概率就越低。圖16示出了隨時(shí)間繪出的話音信號(hào)??v軸表示信號(hào)的幅度;并且橫軸表示時(shí)間。 應(yīng)注意,話音信號(hào)具有區(qū)別性的模式,其中話音信號(hào)的一些部分隨時(shí)間重復(fù)。在該實(shí)例中, 話音信號(hào)包括從時(shí)刻、到t2的第一片段,其在t2到t3期間作為第二片段重復(fù)。當(dāng)發(fā)現(xiàn)片 段的這種重復(fù)時(shí),片段中的一個(gè)或更多個(gè),諸如從時(shí)刻t2到時(shí)刻t3的片段,可以被消除而幾 乎不會(huì)對(duì)樣本的再現(xiàn)質(zhì)量造成影響或者實(shí)際上不會(huì)造成影響。在一個(gè)實(shí)例中,可以使用如在下文中給出的等式4來(lái)找出兩個(gè)話音片段之間的 關(guān)系。相關(guān)性是兩個(gè)片段之間的關(guān)系的強(qiáng)度的度量。等式4提供了絕對(duì)和邊界相關(guān)因子 (從-1到1)作為關(guān)系的強(qiáng)度的度量,其中與反映較強(qiáng)關(guān)系(即較大的相關(guān)性)的較高的正 數(shù)相比,較低的負(fù)數(shù)反映較弱的關(guān)系,即較小的相關(guān)性。如果等式4的應(yīng)用指示“良好的相 似性”,則執(zhí)行時(shí)間規(guī)整。如果等式4的應(yīng)用顯示出極弱的相似性,則瑕疵可能會(huì)存在于融 合的話音片段中。相關(guān)性給出如下
I [(x(/) - mx) x {y{i -d)- my)]Corr(d) 二 ’- ,—(4)
JZ (x(0 -概)A 2 JZ (y0-d)-myY2在等式4中,x和y表示兩個(gè)話音片段,m表示在其范圍內(nèi)計(jì)算兩個(gè)片段之間的相 關(guān)性的窗口,d表示相關(guān)性部分,并且i是索引。如果等式4的應(yīng)用指示可以融合片段而不 會(huì)引入瑕疵,則可以使用“重疊相加”技術(shù)來(lái)進(jìn)行融合。重疊相加技術(shù)將被比較的片段結(jié)合 在一起并從兩個(gè)分離的話音片段中生成一個(gè)話音片段。使用重疊相加的結(jié)合,可以基于諸 如等式5的等式,其中等式5給出如下
(Segmentl(i) * (WindowSize — i) + (Segment2(i) * /) a) OutSegment[i]
WindowSize
r n i、 。 。 r (Se2ment2(i) * (WindowSize - /) + (Segmentl(i) * /) 、b) OutSegment[i] = -^^―^----^^-—~~- (5)
WindowSizei = 0. . WindowSize-1WindowSize = RWindowSize合成的樣本可以是脈沖編碼調(diào)制(PCM)樣本。每個(gè)PCM樣本具有定義位長(zhǎng)度的預(yù) 定格式和PCM樣本的格式。例如,16位帶符號(hào)數(shù)可以是表示PCM樣本的格式。通過(guò)應(yīng)用等 式5而產(chǎn)生的重疊相加技術(shù),包括進(jìn)行加權(quán)以提供片段1的第一個(gè)PCM樣本和片段2的最 后一個(gè)PCM樣本之間的平滑過(guò)渡。在等式5中,“RWindowSize”是參考窗口中的PCM樣本 的數(shù)目,并且“OutSegment”是所產(chǎn)生的重疊相加后的片段的大小?!癢indowSize”等于參考 窗口大小并且“Segment”是目標(biāo)片段大小。這些變量是取決于采樣速率、話音的頻率內(nèi)容以及質(zhì)量和計(jì)算復(fù)雜度之間的期望折衷而確定的。圖17A和17B中示出了上述的重疊相加技術(shù)。在圖17A中,示出了由160個(gè)PCM 樣本組成的話音片段。在該實(shí)例中,RWindowSize由PCM樣本0-47表示。換言之,PCM樣本 0-47與大小為WindowSize的參考窗口中的樣本的數(shù)目相對(duì)應(yīng)。Segment是指目標(biāo)搜索區(qū) 域的大小并由PCM樣本10-104表示。在該實(shí)例中,將PCM樣本0_47與樣本10-104進(jìn)行比 較,一次比較一個(gè)PCM樣本,來(lái)找出參考樣本與目標(biāo)搜索區(qū)域之間的最佳相關(guān)性。目標(biāo)搜索 區(qū)域內(nèi)發(fā)現(xiàn)最大相關(guān)性的位置被稱為“偏移”。在偏移點(diǎn)處,可以將RWindowSize與對(duì)應(yīng)于 RffindowSize大小的Segment的部分結(jié)合。使對(duì)應(yīng)于PCM樣本104-160的話音片段保持不 變。
在圖17B中,以一次比較一個(gè)PCM樣本的方式將話音片段的第一個(gè)RWindowSize 樣本與話音片段的隨后的部分進(jìn)行比較。發(fā)現(xiàn)RWindowSize與目標(biāo)搜索區(qū)域(Segment)內(nèi) 相應(yīng)長(zhǎng)度的樣本之間的最大相關(guān)性的位置是“偏移”。偏移的長(zhǎng)度是從話音片段的開(kāi)頭到發(fā) 現(xiàn)RWindowSize與Segment之間的最大相關(guān)性的點(diǎn)之間的距離。一旦發(fā)現(xiàn)最大相關(guān)性,就 (在偏移點(diǎn)處)將RWindowSize與相應(yīng)長(zhǎng)度的Segment融合。換言之,通過(guò)將RWindowSize 加到Segment內(nèi)的相同長(zhǎng)度的部分上,來(lái)執(zhí)行重疊相加。這是在如圖所示的偏移點(diǎn)處進(jìn)行 的。如圖所示,從原始片段中復(fù)制剩余的樣本。所產(chǎn)生的話音樣本是通過(guò)將從原始話音片 段中復(fù)制的剩余樣本附加在融合的樣本上而構(gòu)成的,如圖所示。所產(chǎn)生的分組比原始片段 短偏移的長(zhǎng)度更短。該處理被稱為話音壓縮。壓縮的話音片段越少,人檢測(cè)到任何質(zhì)量惡 化的概率就越低。當(dāng)去抖動(dòng)緩沖器包含較少數(shù)目的語(yǔ)音分組時(shí),執(zhí)行話音擴(kuò)展。如果去抖動(dòng)緩沖器 具有較少數(shù)目的語(yǔ)音分組,則下溢的概率會(huì)增加。當(dāng)發(fā)生下溢時(shí),去抖動(dòng)緩沖器可以將擦除 饋送給解碼器。然而,這會(huì)導(dǎo)致語(yǔ)音質(zhì)量的惡化。為了防止語(yǔ)音質(zhì)量的這種惡化,可以延遲 去抖動(dòng)緩沖器中的最后幾個(gè)分組的再現(xiàn)。這是通過(guò)擴(kuò)展分組來(lái)實(shí)現(xiàn)的。話音擴(kuò)展可以通過(guò)重復(fù)話音片段的多個(gè)PCM樣本來(lái)實(shí)現(xiàn)。重復(fù)多個(gè)PCM樣本同時(shí) 避免瑕疵或音高平坦(Pitch flatness)是通過(guò)采用比執(zhí)行話音時(shí)間壓縮時(shí)更多的PCM話 音樣本進(jìn)行工作來(lái)實(shí)現(xiàn)的。例如,用于實(shí)現(xiàn)話音擴(kuò)展的PCM樣本的數(shù)目可以是話音時(shí)間壓 縮中使用的PCM樣本的數(shù)目的兩倍??梢詮南惹霸佻F(xiàn)過(guò)的話音分組中獲得額外的PCM樣本。圖18A示出了話音擴(kuò)展的一個(gè)實(shí)例,其中每個(gè)分組或話音片段的長(zhǎng)度為160個(gè)PCM 樣本并且“預(yù)擴(kuò)展的”話音片段被生成。在該實(shí)例中,將兩個(gè)話音片段(即,“當(dāng)前”話音片 段和“先前”話音片段)進(jìn)行比較。將當(dāng)前話音片段的第一個(gè)RWindowSize PCM樣本選擇 為參考樣本。將這些RWindowSize樣本與先前話音分組的Segment進(jìn)行比較,其中具有最 大相關(guān)性的點(diǎn)(或偏移)被確定。在偏移點(diǎn)處將RWindowSizePCM樣本與先前分組內(nèi)的相 應(yīng)大小的Segment重疊相加。通過(guò)復(fù)制并將其余的樣本從先前話音片段附加到經(jīng)過(guò)重疊相 加的片段上來(lái)生成預(yù)擴(kuò)展的話音片段,如圖18A所示。則擴(kuò)展后的話音片段的長(zhǎng)度是預(yù)擴(kuò) 展片段的長(zhǎng)度加上當(dāng)前話音片段的長(zhǎng)度,如圖18A所示。在該實(shí)例中,PCM樣本從話音片段 的開(kāi)頭處被偏移。在另一實(shí)例中,如圖18B所示擴(kuò)展當(dāng)前分組或話音樣本。參考樣本RWindowSize位 于當(dāng)前話音片段的開(kāi)頭處。將RWindowSize與其余的當(dāng)前話音分組進(jìn)行比較直到定位出具 有最大相關(guān)性的點(diǎn)(偏移)。將參考樣本與當(dāng)前話音片段內(nèi)被發(fā)現(xiàn)具有最大相關(guān)性的相應(yīng)PCM樣本重疊相加。然后通過(guò)復(fù)制開(kāi)始于分組的開(kāi)頭處并結(jié)束于偏移點(diǎn)的PCM樣本,將重疊 相加后的片段附加到該P(yáng)CM樣本上,并復(fù)制和附加來(lái)自當(dāng)前分組的未修改的剩余的PCM樣 本,來(lái)生成擴(kuò)展后的話音片段。擴(kuò)展后的話音片段的長(zhǎng)度等于偏移加上原始分組的長(zhǎng)度的 總禾口。在另一實(shí)例中,如圖18C所示擴(kuò)展話音,其中RWindowSize嵌在當(dāng)前分組或話音片 段內(nèi)并且不發(fā)生在分組的開(kāi)頭處。Roffset是與當(dāng)前分組的開(kāi)頭到RWindowSize所起始的 點(diǎn)之間的距離相對(duì)應(yīng)的話音片段的長(zhǎng)度。將RWindowSize與當(dāng)前分組中在具有最大相關(guān)性 的點(diǎn)處發(fā)現(xiàn)的相應(yīng)大小的PCM樣本重疊相加。然后通過(guò)復(fù)制開(kāi)始于原始分組或當(dāng)前分組 的開(kāi)頭處并結(jié)束于偏移處的PCM樣本,并附加重疊相加后的片段和來(lái)自原始分組的剩余的 PCM樣本,來(lái)生成擴(kuò)展后的話音片段。所產(chǎn)生的擴(kuò)展后的話音片段的長(zhǎng)度是原始分組的長(zhǎng)度 加上偏移減去Roffset樣本(即如上面定義的Roffset中的PCM樣本的數(shù)目)。經(jīng)濾波的時(shí)間規(guī)整閾倌為了避免壓縮和擴(kuò)展決定的擺動(dòng),當(dāng)自適應(yīng)去抖動(dòng)緩沖器中所存儲(chǔ)的分組的數(shù)目 快速變化時(shí),使用變量來(lái)估計(jì)自適應(yīng)去抖動(dòng)緩沖器的狀態(tài),即自適應(yīng)去抖動(dòng)緩沖器中所存 儲(chǔ)的分組數(shù)目,一個(gè)實(shí)例在采樣窗口上濾波這樣的變量。自適應(yīng)去抖動(dòng)緩沖器的狀態(tài)可以 指自適應(yīng)去抖動(dòng)緩沖器中所存儲(chǔ)的分組數(shù)目或者用于估計(jì)自適應(yīng)去抖動(dòng)緩沖器中所存儲(chǔ) 的數(shù)據(jù)的任何變量。在支持突發(fā)數(shù)據(jù)傳遞的稱為IxEV-DO的IS-856系統(tǒng)中,向給定接收器 傳遞的分組被時(shí)分復(fù)用在前向鏈路上,接收器可能會(huì)在一個(gè)時(shí)刻接收若干分組,在之后的 一端時(shí)間內(nèi)沒(méi)有分組被接收到。這導(dǎo)致在接收器的自適應(yīng)去抖動(dòng)緩沖器處接收到脈沖串形 式的數(shù)據(jù)。接收到的數(shù)據(jù)實(shí)際上會(huì)經(jīng)歷“集束”(bundling),其中可能會(huì)存在兩個(gè)或更多分 組在時(shí)間上相互接近地一起到達(dá)的情況。這樣的集束會(huì)很容易導(dǎo)致分組的擴(kuò)展和壓縮之間 的擺動(dòng),其中自適應(yīng)去抖動(dòng)緩沖器響應(yīng)于接收到的數(shù)據(jù)的速率和緩沖器的狀態(tài)而提供時(shí)間 規(guī)整指示。例如,考慮在話音突峰的開(kāi)頭時(shí),去抖動(dòng)緩沖器的計(jì)算出的值(延遲或長(zhǎng)度)為 40ms的情況。在稍后的時(shí)刻,去抖動(dòng)緩沖器載荷落到擴(kuò)展閾值以下,從而導(dǎo)致擴(kuò)展數(shù)據(jù)分組 的決定。緊隨該分組的再現(xiàn)之后,集束的三個(gè)分組到達(dá)了 ;到達(dá)的數(shù)據(jù)填充了去抖動(dòng)緩沖器 的大小使得壓縮閾值被超過(guò)。這將導(dǎo)致分組被壓縮。由于集束的分組到達(dá)之后可能跟隨著 一段時(shí)間內(nèi)沒(méi)有分組到達(dá)的狀態(tài),所以去抖動(dòng)緩沖器可能會(huì)再次被耗盡,從而導(dǎo)致分組被 擴(kuò)展。擴(kuò)展和壓縮之間的這種來(lái)回切換會(huì)導(dǎo)致要進(jìn)行時(shí)間規(guī)整的分組的高百分比。這是不 希望有的,因?yàn)槲覀兿M麑⑿盘?hào)信息由于時(shí)間規(guī)整而被修改的分組的百分比限制到很小的 值。一個(gè)實(shí)例通過(guò)使集束現(xiàn)象可能會(huì)對(duì)自適應(yīng)去抖動(dòng)緩沖器的自適應(yīng)控制以及數(shù)據(jù) 的時(shí)間規(guī)整和再現(xiàn)所造成的影響變平滑,來(lái)避免這種擺動(dòng)。該實(shí)例使用平均值來(lái)確定何時(shí) 進(jìn)行時(shí)間規(guī)整。平均值是通過(guò)濾波這種計(jì)算中所使用的變 量來(lái)計(jì)算的。在一個(gè)實(shí)例中,壓 縮和擴(kuò)展閾值是通過(guò)對(duì)去抖動(dòng)緩沖器的大小進(jìn)行濾波或求平均來(lái)確定的。應(yīng)注意,緩沖器 的大小是指緩沖器的當(dāng)前狀態(tài)。將緩沖器大小的經(jīng)濾波的值與擴(kuò)展閾值進(jìn)行比較,會(huì)導(dǎo)致更高數(shù)目的下溢,因?yàn)?通過(guò)使用未濾波的值可能已經(jīng)被擴(kuò)展的一些分組,在使用經(jīng)濾波的值的情況下沒(méi)被擴(kuò)展。 另一方面,將經(jīng)濾波的值與壓縮閾值進(jìn)行比較,可以用來(lái)抑制大部分的擺動(dòng)(或時(shí)間規(guī)整 控制之間的來(lái)回切換)而只有最小的負(fù)面影響或?qū)嶋H上沒(méi)有負(fù)面影響。因此,可以以不同的方式對(duì)待壓縮和擴(kuò)展閾值。在一個(gè)實(shí)例中,對(duì)照擴(kuò)展閾值來(lái)檢查自適應(yīng)去抖動(dòng)緩沖器大小的即時(shí)值。相反,對(duì) 照壓縮閾值來(lái)檢查去抖動(dòng)緩沖器的經(jīng)濾波的值。一種配置使用無(wú)限脈沖響應(yīng)(IIR)濾波器 來(lái)確定自適應(yīng)去抖動(dòng)緩沖器的平均大小,其中自適應(yīng)去抖動(dòng)緩沖器具有可被周期性(諸如 每60ms計(jì)算一次)重新計(jì)算的經(jīng)濾波的值。濾波器時(shí)間常數(shù)可以從集束統(tǒng)計(jì)數(shù)據(jù)中導(dǎo)出 并且用于lxEV-DO Rev A的該時(shí)間常數(shù)的一個(gè)實(shí)例可以是60msec。使用集束統(tǒng)計(jì)數(shù)據(jù)來(lái)導(dǎo) 出濾波器時(shí)間常數(shù),這是因?yàn)樗鼈兣c去抖動(dòng)緩沖器的即時(shí)大小在工作期間的擺動(dòng)情況之間 具有很強(qiáng)的相關(guān)性。由于缺失分組而引起的擴(kuò)展如上文中所述,自適應(yīng)去抖動(dòng)緩沖器和用于控制自適應(yīng)去抖動(dòng)緩沖器及控制接收 到的數(shù)據(jù)的時(shí)間規(guī)整的各種方法可以適于具體的系統(tǒng)規(guī)范和工作條件。對(duì)于實(shí)現(xiàn)重復(fù)請(qǐng)求 方案(諸如混合自動(dòng)重復(fù)請(qǐng)求(H-ARQ)方案)以改善性能的通信系統(tǒng),這樣的重復(fù)處理具 有關(guān)于如何擴(kuò)展話音分組的暗示。具體而言,H-ARQ會(huì)導(dǎo)致分組重新排序(即失序)地到 達(dá)??紤]圖19,其示出了具有一定長(zhǎng)度的去抖動(dòng)緩沖器和給定為目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度的 50%的擴(kuò)展閾值TExpand。正被再現(xiàn)的當(dāng)前分組具有序號(hào)20,它是PKT 20。去抖動(dòng)緩沖器包 含分別具有序號(hào)21、23和24并標(biāo)為PKT 2UPKT 23和PKT 24的三個(gè)分組。當(dāng)再現(xiàn)裝置在 再現(xiàn)了 PKT 20之后請(qǐng)求下一分組時(shí),擴(kuò)展閾值不會(huì)觸發(fā),因?yàn)槿ザ秳?dòng)緩沖器包含足以將緩 沖器長(zhǎng)度維持在計(jì)算出的去抖動(dòng)緩沖器長(zhǎng)度的50%以上的分組。在本實(shí)例中,PKT 21因此 沒(méi)有被擴(kuò)展。如果PKT22直到PKT 21結(jié)束再現(xiàn)的時(shí)刻還未到達(dá),則這會(huì)導(dǎo)致下溢,因?yàn)榉?組是按照順序再現(xiàn)的,并且因此再現(xiàn)裝置不會(huì)在PKT 22之前再現(xiàn)PKT23。即使擴(kuò)展閾值不 會(huì)觸發(fā),一個(gè)實(shí)例也預(yù)期到接收到的分組中的不連續(xù),并選擇擴(kuò)展PKT 21以便為PKT 22的 到達(dá)留出更多的時(shí)間。這樣,PKT 21的擴(kuò)展可以避免分組缺失和擦除。因此,即使去抖動(dòng) 緩沖器長(zhǎng)度超出了擴(kuò)展閾值TExpand,也可以擴(kuò)展分組??梢栽鰪?qiáng)應(yīng)對(duì)分組進(jìn)行擴(kuò)展的條件。如上文中所述,如果去抖動(dòng)緩沖器大小低于 擴(kuò)展閾值,則可以擴(kuò)展分組。在另一種情形下,如果具有下一序號(hào)的分組沒(méi)有存在于去抖動(dòng) 緩沖器中,則可以擴(kuò)展分組。如前所述,可以在話音突峰的開(kāi)頭處計(jì)算去抖動(dòng)緩沖器延遲。由于包括但不限于 信道條件和負(fù)載條件的網(wǎng)絡(luò)條件可能會(huì)在話音突峰期間(特別是在長(zhǎng)話音突峰期間)發(fā)生 變化,所以將一個(gè)實(shí)例配置成在話音突峰期間改變?nèi)ザ秳?dòng)緩沖器延遲。這樣,可以在話音 突峰期間每過(guò)CHANGE_JITTER_TIME秒就周期性地重新計(jì)算上文中給出的去抖動(dòng)緩沖器等 式??蛇x地,可以在觸發(fā)事件(諸如工作條件、負(fù)載、空中接口指示的顯著變化或者其它事 件)發(fā)生時(shí)重新計(jì)算變量。在一個(gè)實(shí)例中,可以將CHANGE_JITTER_TIME的值設(shè)置成0. 2秒 (200ms)。時(shí)間規(guī)整閾值,例如壓縮和擴(kuò)展閾值,可以在話音突峰期間提供關(guān)于如何改變?nèi)?值的引導(dǎo)。正常操作是指當(dāng)自適應(yīng)去抖動(dòng)緩沖器狀態(tài)在壓縮和擴(kuò)展閾值之間并在目標(biāo)去抖 動(dòng)緩沖器長(zhǎng)度周圍時(shí),接收器的操作。每個(gè)閾值充當(dāng)觸發(fā)。當(dāng)閾值被達(dá)到或違反時(shí),可以取 決于閾值而擴(kuò)展或壓縮自適應(yīng)去抖動(dòng)緩沖器中的分組。自適應(yīng)去抖動(dòng)緩沖器的大小在它接 收到分組時(shí)可以繼續(xù)擴(kuò)展或收縮。自適應(yīng)去抖動(dòng)緩沖器大小的這種持續(xù)的變化表明在通 信期間可能會(huì)連續(xù)地接近壓縮和擴(kuò)展閾值。通常,系統(tǒng)試圖將自適應(yīng)去抖動(dòng)緩沖器大小保持在擴(kuò)展和壓縮閾值之間,這被認(rèn)為是穩(wěn)定狀態(tài)。在穩(wěn)定狀態(tài)下,自適應(yīng)去抖動(dòng)緩沖器的 大小不變化;并且分組接收中的變化以及因此產(chǎn)生的自適應(yīng)去抖動(dòng)緩沖器大小的變化,可 以自動(dòng)地使壓縮/擴(kuò)展閾值觸發(fā)并相應(yīng)地對(duì)分組進(jìn)行壓縮/擴(kuò)展,直到達(dá)到新的自適應(yīng)去 抖動(dòng)緩沖器延遲。在這種情形下,自適應(yīng)去抖動(dòng)緩沖器目標(biāo)延遲長(zhǎng)度根據(jù)CHANGE_JITTER_ TIME而被更新??梢圆槐匾?jì)算去抖動(dòng)緩沖器的實(shí)際大小,因?yàn)槿ザ秳?dòng)緩沖器大小在由于 達(dá)到時(shí)間規(guī)整擴(kuò)展/壓縮閾值而引起觸發(fā)時(shí)會(huì)自動(dòng)地變化。在一個(gè)實(shí)例中,可以將CHANGE_ JITTER_TIME 的值設(shè)置成 0. 2 秒(200ms)。越區(qū)切換預(yù)規(guī)整典型地,越區(qū)切換伴隨著短時(shí)間的覆蓋損失。當(dāng)越區(qū)切換即將來(lái)臨時(shí)AT會(huì)經(jīng)歷 較差的信道條件和增加的分組延遲。一個(gè)實(shí)例以對(duì)話音分組應(yīng)用時(shí)間規(guī)整的特殊方式來(lái)處 理越區(qū)切換狀況。AT—決定越區(qū)切換到新的基站,該信息就被用于控制去抖動(dòng)緩沖器。在 接收到該越區(qū)切換信號(hào)后,AT進(jìn)入“預(yù)規(guī)整”模式。在該模式下,AT擴(kuò)展分組直到兩個(gè)條件 中的一個(gè)被滿足為止。在第一種條件下,去抖動(dòng)緩沖器繼續(xù)累積分組并且累積起來(lái)的擴(kuò)展 產(chǎn)生為PRE_WARPING_EXPANSION的去抖動(dòng)緩沖器大小。換言之,對(duì)分組進(jìn)行擴(kuò)展直到達(dá)到 PRE_ffARPI NG_EXPANS I ON 可選地,在第二種條件下,時(shí)間段WARPING_TIME已被滿足。計(jì)時(shí) 器在接收到越區(qū)切換信號(hào)或中斷指示符時(shí)開(kāi)始計(jì)時(shí);接收器在WARPING_TIME時(shí)停止計(jì)時(shí)。 一旦這兩個(gè)條件中的一個(gè)已被滿足,AT就退出預(yù)規(guī)整模式。在預(yù)規(guī)整模式期間,除非(稍 后描述的)EncLTalkspurt條件被滿足,否則不壓縮任何分組,因?yàn)槿ザ秳?dòng)緩沖器希望累積 足夠的分組以便以規(guī)則的間隔將它們發(fā)送給再現(xiàn)裝置。在分組以規(guī)則間隔(例如20ms)被 預(yù)期的實(shí)例中,可以將PRE_WARPING_EXPANSION的值設(shè)置成40ms,并將WARPING_TIME的值 設(shè)置成等于100個(gè)時(shí)隙(166ms)。越區(qū)切換僅是中斷事件的一種形式。去抖動(dòng)緩沖器可以實(shí)現(xiàn)用于處理越區(qū)切 換或其它類型的中斷的機(jī)制。為此,所需的信息是需要多少去抖動(dòng)超額量來(lái)處理中斷 (PRE_WARPING_EXPANSION)和去抖動(dòng)緩沖器將持續(xù)工作在這種中斷避免模式中多長(zhǎng)時(shí)間 (WARPING_TIME)。計(jì)算延遲下溢的數(shù)目由于上文中提供的自適應(yīng)去抖動(dòng)緩沖器等式被設(shè)計(jì)成以延遲下溢的百分比為目 標(biāo),所以合乎需要的是準(zhǔn)確地測(cè)量延遲下溢的數(shù)目。當(dāng)發(fā)生下溢時(shí),并不知道該下溢是由于 分組延遲引起的還是由于在網(wǎng)絡(luò)中某處(即,傳輸路徑)被丟棄的分組引起的。因此需要 準(zhǔn)確地確定下溢的類型。在一個(gè)實(shí)例中,對(duì)于使用RTP/UDP/IP的通信,每個(gè)分組包括RTP序號(hào)。序號(hào)被用 于以接收到的分組的傳輸順序來(lái)排列接收到的分組。當(dāng)發(fā)生下溢時(shí),引起下溢的分組的RTP 序號(hào)會(huì)存儲(chǔ)在諸如存儲(chǔ)器陣列的存儲(chǔ)器中。如果具有識(shí)別出的序號(hào)的分組較遲地到達(dá),則 將該下溢作為“延遲下溢”而計(jì)數(shù)?!把舆t下溢率”是下溢的數(shù)目與接收到的分組的總數(shù)的比率。在每次更新去抖動(dòng)緩 沖器等式時(shí),將下溢的數(shù)目和接收到的分組的數(shù)目都設(shè)置成零。對(duì)話音突峰開(kāi)頭和結(jié)尾處的增強(qiáng)考慮圖20,其示出了兩個(gè)用戶之間的會(huì)話的時(shí)間線。在該圖中,縱軸表示時(shí)間。每 個(gè)用戶發(fā)送話音突峰和靜音段,它們?nèi)缓笥闪硪挥脩艚邮?。為了清楚起?jiàn),帶陰影的塊段400和410表示用戶1的話音突峰(話音片段)。未帶陰影的塊段405表示用戶2的話音 突峰。時(shí)間線上的話音突峰外部的區(qū)域表示用戶沒(méi)有講話但是可能在聽(tīng)另一用戶講話或在 接收靜音段的時(shí)間。片段400在用戶2處得到再現(xiàn)。一旦話音片段400在用戶2處結(jié)束再 現(xiàn),用戶2就在開(kāi)始講話之前等待短時(shí)間間隔。用戶2的第一個(gè)話音片段405的開(kāi)頭隨后 由用戶1聽(tīng)到。用戶1所感覺(jué)到的會(huì)話往返行程延遲(RTD)是用戶1停止講話的時(shí)刻到用 戶1聽(tīng)到用戶2的話音片段的開(kāi)頭的時(shí)刻之間的時(shí)間間隙。會(huì)話RTD不是單向的端對(duì)端延 遲,而是用戶特定的并且從用戶的觀點(diǎn)來(lái)看是很重要的。例如,如果會(huì)話RTD對(duì)于用戶1而 言過(guò)大,這將促使用戶1再次開(kāi)始講話而不等待用戶2的話音片段得到再現(xiàn)。這打斷了會(huì) 話流并且會(huì)被感覺(jué)為會(huì)話質(zhì)量的惡化。
可以以不同的方式改變用戶1所體驗(yàn)的會(huì)話RTD。在一個(gè)實(shí)例中,可以改變用戶1 的話音片段的結(jié)尾被再現(xiàn)給用戶2的時(shí)刻。在第二實(shí)例中,改變的是用戶2的話音片段的 開(kāi)頭被再現(xiàn)給用戶1的時(shí)刻。應(yīng)注意,只有話音突峰的開(kāi)頭和結(jié)尾的延遲才會(huì)影響會(huì)話中 的語(yǔ)音質(zhì)量。設(shè)計(jì)目標(biāo)是進(jìn)一步減小在話音突峰開(kāi)頭和結(jié)尾處的延遲。在一個(gè)實(shí)例中,目標(biāo)是增強(qiáng)話音突峰的開(kāi)頭??梢酝ㄟ^(guò)操作用戶1的話音突峰的 第一個(gè)分組使得收聽(tīng)者用戶2比實(shí)現(xiàn)默認(rèn)自適應(yīng)去抖動(dòng)緩沖器延遲的情況更早地接收到 分組,來(lái)實(shí)現(xiàn)這種增強(qiáng)。施加給自適應(yīng)去抖動(dòng)緩沖器中的分組的延遲可以是默認(rèn)自適應(yīng)去 抖動(dòng)緩沖器延遲、計(jì)算出的值或者是被選擇成使得收聽(tīng)者能夠在特定時(shí)刻接收到分組的 值。在一種情形下,通過(guò)在每個(gè)接收到的話音突峰的開(kāi)頭處重新計(jì)算自適應(yīng)去抖動(dòng)緩沖器 延遲來(lái)改變?cè)捯敉环宓牡谝粋€(gè)分組的定時(shí)。當(dāng)減小施加給話音突峰的第一個(gè)分組的自適應(yīng) 去抖動(dòng)緩沖器延遲時(shí),該第一個(gè)分組被加快地發(fā)送給收聽(tīng)者。當(dāng)增加施加的延遲時(shí),該第一 個(gè)分組在較遲的時(shí)刻由收聽(tīng)者接收到。用于第一個(gè)分組的默認(rèn)去抖動(dòng)緩沖器延遲可以小于 計(jì)算出的去抖動(dòng)緩沖器延遲并且也可以大于計(jì)算出的去抖動(dòng)緩沖器延遲。在所示出的實(shí)例 中,通過(guò)可以以秒來(lái)測(cè)量的被稱為MAX_BEGINNING_DELAY的值,來(lái)限制每個(gè)話音突峰的第 一個(gè)分組的去抖動(dòng)延遲。該值可以是重新計(jì)算的去抖動(dòng)緩沖器延遲或被設(shè)計(jì)成使得收聽(tīng)者 能夠在指定時(shí)刻接收到分組的延遲。MAX_BEGINNING_DELAY的值可以小于實(shí)際計(jì)算的去抖 動(dòng)緩沖器延遲。當(dāng)MAX_BEGINNING_DELAY小于計(jì)算出的去抖動(dòng)緩沖器延遲并被施加給話音 突峰的第一個(gè)分組時(shí),話音突峰的隨后的分組將被自動(dòng)地?cái)U(kuò)展。隨后分組的自動(dòng)擴(kuò)展會(huì)發(fā) 生,是因?yàn)槿ザ秳?dòng)緩沖器不能以它再現(xiàn)分組的相同速率接收到分組。當(dāng)去抖動(dòng)緩沖器再現(xiàn) 分組時(shí),去抖動(dòng)緩沖器的大小發(fā)生減小并且擴(kuò)展閾值被接近。一旦達(dá)到擴(kuò)展閾值,擴(kuò)展就被 觸發(fā)并且話音突峰中的隨后的分組被擴(kuò)展直到去抖動(dòng)緩沖器接收到足以超過(guò)擴(kuò)展閾值的 到來(lái)的分組。通過(guò)實(shí)現(xiàn)MAX_BEGINNING_DELAY值,收聽(tīng)者更早地接收到了話音突峰的第一 個(gè)分組,同時(shí)隨后的分組被擴(kuò)展。收聽(tīng)者對(duì)更早地接收到初始分組感到滿意。增強(qiáng)話音突峰 的開(kāi)頭具有使下溢的數(shù)目發(fā)生小量增加的潛在可能;然而,適當(dāng)?shù)腗AX_BEGINNING_DELAY 值會(huì)減輕這種影響。在一個(gè)實(shí)例中,MAX_BEGINNING_DELAY的值被計(jì)算為實(shí)際去抖動(dòng)目標(biāo)的 一小部分;舉例來(lái)說(shuō),大小為 TARGET DE-JITTER BUFFERLENGTH 的 0. 7 倍的MAX_BEGINNING_ DELAY值會(huì)導(dǎo)致下溢的微小的增加。在另一實(shí)例中,MAX_BEGINNING_DELAY值可以是諸如 40ms的固定數(shù)字,這在例如支持IxEV-DO Rev A的系統(tǒng)中會(huì)導(dǎo)致下溢的微小增加。擴(kuò)展話音突峰中的隨后的分組不會(huì)使整體語(yǔ)音質(zhì)量惡化。這在圖20中被示出,其 中用戶2接收到來(lái)自用戶1的話音突峰的第一個(gè)分組并且初始或“單向延遲”被限制為Tdl。如圖所示,話音片段400在用戶2處被接收到而沒(méi)有經(jīng)過(guò)任何擴(kuò)展或壓縮,然而,話音片段 405在接收時(shí)在用戶1處被壓縮。圖21是示出對(duì)話音突峰的開(kāi)頭的增強(qiáng)的流程圖。首先在步驟510中確定系統(tǒng)是否 處于靜音模式。靜音模式可以與話音突峰之間的靜音段或者去抖動(dòng)緩沖器沒(méi)有正在接收分 組的時(shí)間相對(duì)應(yīng)。如果系統(tǒng)不處于靜音模式,則處理結(jié)束。如果它處于靜音模式,則在步驟 520中執(zhí)行目標(biāo)去抖動(dòng)長(zhǎng)度估計(jì)。然后,在步驟530中確定是否增強(qiáng)系統(tǒng)。根據(jù)一個(gè)實(shí)例, 增強(qiáng)指示計(jì)算出的目標(biāo)自適應(yīng)去抖動(dòng)長(zhǎng)度大于給定值,該給定值在一個(gè)實(shí)例中被給定為諸 如MAX_BEGINNING_DELAY的增強(qiáng)因子;在步驟540中,系統(tǒng)等待等于增強(qiáng)因子或目標(biāo)長(zhǎng)度的 一小部分的時(shí)間段以開(kāi)始再現(xiàn)。如果系統(tǒng)不被增強(qiáng),則在步驟550中,系統(tǒng)等待新目標(biāo)長(zhǎng)度 以開(kāi)始再現(xiàn)。新目標(biāo)的值可以等于計(jì)算出的目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度或最大去抖動(dòng)緩沖器長(zhǎng) 度。圖22也示出了對(duì)話音突峰的開(kāi)頭的增強(qiáng)。圖中示出的處理580開(kāi)始于對(duì)話音突 峰的識(shí)別。考慮兩種情形i)采用時(shí)間規(guī)整;和ii)沒(méi)有采用時(shí)間規(guī)整。在該實(shí)例中,使用 20ms長(zhǎng)度的話音分組??梢詫?shí)現(xiàn)任意長(zhǎng)度的話音分組。此處,自適應(yīng)去抖動(dòng)緩沖器在再現(xiàn) 分組之前等待120ms。該值是自適應(yīng)目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度并在步驟582中從自適應(yīng)去抖 動(dòng)緩沖器目標(biāo)估計(jì)器接收到。在本實(shí)例中,120ms等效于在不采用時(shí)間規(guī)整的情況下接收六 (6)個(gè)分組,每個(gè)分組的長(zhǎng)度為20ms。如果在步驟584,時(shí)間規(guī)整沒(méi)有被使用,則在120ms內(nèi) 提供了六(6)個(gè)分組。因此,在第一種情形下,去抖動(dòng)緩沖器在接收到六個(gè)分組之后將開(kāi)始 再現(xiàn)分組。這在時(shí)間上等效于120ms的延遲。在第二種情形下,通過(guò)實(shí)施時(shí)間規(guī)整,去抖動(dòng) 緩沖器可以擴(kuò)展接收到的前四(4)個(gè)分組并在接收到四(4)個(gè)分組之后開(kāi)始再現(xiàn)分組。因 此,即使這種情況下的80ms的去抖動(dòng)緩沖器延遲小于估計(jì)的120ms的去抖動(dòng)緩沖器延遲, 也可以通過(guò)擴(kuò)展前面幾個(gè)分組來(lái)避免潛在的下溢。換言之,采用時(shí)間規(guī)整的分組再現(xiàn)可以 比沒(méi)有采用時(shí)間規(guī)整的分組再現(xiàn)開(kāi)始得更早。因此,時(shí)間規(guī)整可以用于增強(qiáng)話音突峰的開(kāi) 頭而不會(huì)影響下溢的數(shù)目。在另一實(shí)例中,可以增強(qiáng)話音突峰的結(jié)尾。這是通過(guò)壓縮話音突峰的最后幾個(gè)分 組,從而減小端對(duì)端延遲來(lái)實(shí)現(xiàn)的。換言之,話音突峰結(jié)尾處的延遲被變得更小并且第二 用戶更快地從第一用戶聽(tīng)到了回應(yīng)。圖23中示出了對(duì)話音突峰結(jié)尾的增強(qiáng)。此處,1/8速 率分組指示話音突峰的結(jié)尾。這不同于可以用于傳輸語(yǔ)音數(shù)據(jù)的全速率(速率1)分組、 半速率(速率1/2)分組或四分之一速率(速率1/4)分組。也可以將其它速率的分組用于 靜音段期間或話音突峰結(jié)尾處的傳輸。在語(yǔ)音通信中實(shí)施1/8速率分組作為靜音指示符 分組,被進(jìn)一步記述在優(yōu)先權(quán)日期為2005年2月1日、標(biāo)題為“METHOD F0RDISC0NTINU0US TRANSMISSION AND ACCURATEREPRODUCTION OF BACKGROUND NOISE INFORMATION”的共同未 決的美國(guó)專利申請(qǐng)第11/123,478號(hào)中。如圖23所示,在沒(méi)有采用時(shí)間規(guī)整的情況下,分組N至分組N+4在100ms中被再 現(xiàn)。通過(guò)壓縮話音突峰的最后幾個(gè)分組,相同的分組N至分組N+4可以在70ms中得到再現(xiàn) 而不是在100ms中得到再現(xiàn)。當(dāng)實(shí)施時(shí)間壓縮時(shí),話音質(zhì)量幾乎沒(méi)有惡化或?qū)嶋H上沒(méi)有惡 化。對(duì)話音突峰的結(jié)尾的增強(qiáng),假定了接收器知曉對(duì)話音突峰結(jié)尾的識(shí)別,并能在接近結(jié)尾 時(shí)預(yù)期到它。當(dāng)在一個(gè)實(shí)例中通過(guò)實(shí)時(shí)傳輸協(xié)議(RTP)發(fā)送語(yǔ)音分組時(shí),可以在每個(gè)話音突峰的最后一個(gè)分組中設(shè)置“話音突峰結(jié)尾”指示符。當(dāng)正在提供分組以進(jìn)行再現(xiàn)時(shí),在去抖動(dòng) 緩沖器中的分組中檢查“話音突峰結(jié)尾”指示符。如果該指示符被設(shè)置在其中一個(gè)分組中 并且在正被提供以用于再現(xiàn)的當(dāng)前分組和“話音突峰結(jié)尾”分組之間沒(méi)有缺失的序號(hào),則對(duì) 正被提供以用于再現(xiàn)的分組以及當(dāng)前話音突峰的所有將來(lái)的分組進(jìn)行壓縮。
在另一實(shí)例中,如果系統(tǒng)處于話音突峰中并且1/8速率分組或設(shè)置有靜音指示符 描述(SID)位的分組被傳遞給再現(xiàn)裝置,則系統(tǒng)轉(zhuǎn)換到靜音??梢酝ㄟ^(guò)檢查1/8速率分組 的大小而檢測(cè)到1/8速率分組。SID位被攜帶在RTP信頭中。如果系統(tǒng)處于靜音狀態(tài),并且 既不是1/8速率分組也不是設(shè)置有SID位的分組被傳遞以用于再現(xiàn)時(shí),系統(tǒng)轉(zhuǎn)換到話音突 峰狀態(tài)。應(yīng)注意,在一個(gè)實(shí)例中,如本文中提供的自適應(yīng)去抖動(dòng)緩沖方法可以在系統(tǒng)處于話 音突峰狀態(tài)時(shí)被執(zhí)行,并且可以在系統(tǒng)處于靜音段時(shí)被忽略。應(yīng)注意,該方法可以正確地丟棄遲到的重復(fù)分組。如果重復(fù)分組到達(dá),則它將被簡(jiǎn) 單地丟棄,因?yàn)榉纸M的第一個(gè)實(shí)例已在適當(dāng)?shù)臅r(shí)刻得到再現(xiàn)并且其序號(hào)沒(méi)有被保存在包含 “延遲下溢”候選者的陣列中。當(dāng)在一個(gè)實(shí)例中通過(guò)RTP發(fā)送語(yǔ)音分組時(shí),可以在每個(gè)話音突峰的最后一個(gè)分組 中設(shè)置“話音突峰結(jié)尾”指示符。當(dāng)正在提供分組以進(jìn)行再現(xiàn)時(shí),在去抖動(dòng)緩沖器中的分組 中檢查“話音突峰結(jié)尾”指示符。如果該指示符被設(shè)置在其中一個(gè)分組中并且在正被提供 以用于再現(xiàn)的當(dāng)前分組和“話音突峰結(jié)尾”分組之間沒(méi)有缺失的序號(hào),則對(duì)正被提供以用于 再現(xiàn)的分組以及當(dāng)前話音突峰的所有將來(lái)的分組進(jìn)行壓縮。圖24中示出了根據(jù)一個(gè)實(shí)例的對(duì)話音突峰結(jié)尾的增強(qiáng)的流程圖。新分組開(kāi)始于 步驟600。在步驟605中,如果去抖動(dòng)緩沖器長(zhǎng)度大于或等于壓縮閾值,則在步驟635中生 成壓縮指示并且在步驟600中將結(jié)尾提供給新分組。在步驟605中,如果去抖動(dòng)緩沖器不大 于或等于壓縮閾值,則在步驟610中確定去抖動(dòng)緩沖器長(zhǎng)度是否小于或等于擴(kuò)展閾值。如 果其小于或等于擴(kuò)展閾值,則步驟615確定結(jié)尾是否等于表示靜音段或話音突峰結(jié)尾的分 組速率。在一個(gè)實(shí)例中,可以在靜音段期間或在話音突峰結(jié)尾處,以例如20ms的恒定間隔 發(fā)送連續(xù)的一串1/8速率分組。在圖24中,如果在步驟615中確定結(jié)尾不等于1/8速率分 組,則在步驟620中擴(kuò)展片段并返回到步驟600中的新分組。步驟625確定結(jié)尾是否等于 1/8。在步驟625中,如果結(jié)尾等于1/8速率,則在步驟635中生成壓縮指示。如果它不等 于1/8速率,則在步驟630中,再現(xiàn)是正常的,而不采用任何時(shí)間規(guī)整。時(shí)間規(guī)整質(zhì)量?jī)?yōu)化器當(dāng)許多連續(xù)的分組被壓縮(或擴(kuò)展)時(shí),這會(huì)顯著地使音頻加速(或減速)并會(huì) 導(dǎo)致質(zhì)量的惡化??梢酝ㄟ^(guò)隔開(kāi)經(jīng)時(shí)間規(guī)整的分組,即在經(jīng)過(guò)時(shí)間規(guī)整的分組后跟隨有一 些未經(jīng)過(guò)時(shí)間規(guī)整的分組以后再規(guī)整另一分組,來(lái)避免這種惡化。如果將上述隔開(kāi)經(jīng)規(guī)整的分組的方法應(yīng)用于擴(kuò)展,則會(huì)使一些本來(lái)會(huì)經(jīng)歷擴(kuò)展的 分組不經(jīng)歷擴(kuò)展。這會(huì)導(dǎo)致下溢,因?yàn)榉纸M的擴(kuò)展是在去抖動(dòng)緩沖器耗盡分組時(shí)執(zhí)行的。因 此,在一個(gè)實(shí)例中,可以將上述隔開(kāi)經(jīng)規(guī)整的分組的方法應(yīng)用于壓縮分組,即在經(jīng)過(guò)壓縮的 分組后可以跟隨有一些未經(jīng)過(guò)壓縮的分組,之后才可以壓縮另一個(gè)分組。典型地,在兩個(gè)經(jīng) 壓縮的分組之間不應(yīng)被壓縮的這種分組的數(shù)目可以設(shè)置成2或3。觸發(fā)時(shí)間規(guī)整的條件的設(shè)置此處描述的是用于觸發(fā)語(yǔ)音分組的時(shí)間規(guī)整(擴(kuò)展/壓縮)的許多條件。以下是用于確定將對(duì)分組進(jìn)行壓縮、進(jìn)行擴(kuò)展還是既不壓縮也不擴(kuò)展的(偽碼形式的)規(guī)則的組合集。If(in Pre-ffarping(Handoff Detected)Phase and no End of Talkspurt Detected)and DEJITTER_TARGET+PRE_WARPING EXPANSION not reached)Expand PacketEnd IfElseIf (End of Talkspurt Detected)CompressEnd ifElseIf (Compress Threshold Triggered)CompressEnd ifElse If(Expand Threshold Triggered or Next Packet not in Queue)ExpandEnd IfEnd IfEnd If.圖25示出了與解碼器功能耦合的常規(guī)去抖動(dòng)緩沖器的實(shí)現(xiàn)方案。在圖25中,預(yù)期 分組以20ms間隔到達(dá)去抖動(dòng)緩沖器。在該實(shí)例中可以觀察到,分組以不規(guī)則的間隔到達(dá), 即具有抖動(dòng)。去抖動(dòng)緩沖器累積分組直到達(dá)到特定去抖動(dòng)緩沖器長(zhǎng)度,以便一旦其開(kāi)始以 諸如20ms的規(guī)則間隔發(fā)送出分組,去抖動(dòng)緩沖器就不會(huì)被耗盡。在到達(dá)所需要的去抖動(dòng)緩 沖器長(zhǎng)度時(shí),去抖動(dòng)緩沖器開(kāi)始以20ms的規(guī)則間隔開(kāi)始再現(xiàn)分組。解碼器以規(guī)則間隔接收 這些分組并將每個(gè)分組轉(zhuǎn)換成每分組為20ms的語(yǔ)音??蛇x實(shí)例可以選擇其它時(shí)間間隔。作為比較,圖26示出了支持時(shí)間規(guī)整的自適應(yīng)去抖動(dòng)緩沖器的實(shí)例。此處,分組 以不規(guī)則的間隔到達(dá)自適應(yīng)去抖動(dòng)緩沖器。然而在這種情況下,目標(biāo)去抖動(dòng)緩沖器長(zhǎng)度小 得多。這是因?yàn)闀r(shí)間規(guī)整允許在去抖動(dòng)緩沖器開(kāi)始耗盡時(shí)擴(kuò)展分組,從而為自適應(yīng)去抖動(dòng) 緩沖器得到補(bǔ)充留出了時(shí)間。解碼器可以在自適應(yīng)去抖動(dòng)緩沖器開(kāi)始耗盡時(shí)擴(kuò)展分組,并 在自適應(yīng)去抖動(dòng)緩沖器開(kāi)始累積過(guò)多的分組時(shí)壓縮分組。可以觀察到,不均勻傳遞的語(yǔ)音 分組從自適應(yīng)去抖動(dòng)緩沖器被輸入到解碼器和時(shí)間規(guī)整單元中。由于采用了時(shí)間規(guī)整,這 些分組被允許以不規(guī)則的間隔到達(dá),解碼器取決于原始分組的到達(dá)時(shí)間而將每個(gè)分組轉(zhuǎn)換 成不同長(zhǎng)度的語(yǔ)音分組。例如,在該實(shí)例中,解碼器將每個(gè)分組轉(zhuǎn)換成每分組為15-35ms的 語(yǔ)音。由于分組因?yàn)闀r(shí)間規(guī)整而可以更早地得到再現(xiàn),所以所需的緩沖器大小變得更小,從 而在網(wǎng)絡(luò)中產(chǎn)生更小的等待時(shí)間。圖27是示出根據(jù)一個(gè)實(shí)例的AT的框圖。自適應(yīng)去抖動(dòng)緩沖器706、時(shí)間規(guī)整控制 單元718、接收電路714、處理器722的控制、存儲(chǔ)器710、發(fā)射電路712、解碼器708、H-ARQ 控制720、編碼器716、話音處理724、話音突峰ID 726、差錯(cuò)校正704可以如前面的實(shí)施例中所示耦合在一起。另外,它們可以經(jīng)由圖27中所示的通信總線702耦合在一起。圖28示出了一個(gè)實(shí)例中的分組處理,其中分組由去抖動(dòng)緩沖器接收并最終由揚(yáng)聲器再現(xiàn)。如圖所示,分組在去抖動(dòng)緩沖器處被接收。去抖動(dòng)緩沖器在從解碼器接收到分 組請(qǐng)求后向解碼器發(fā)送分組和時(shí)間規(guī)整信息。解碼器在從輸出驅(qū)動(dòng)器接收到請(qǐng)求后向輸出 驅(qū)動(dòng)器發(fā)送樣本。去抖動(dòng)緩沖器內(nèi)的輸入控制器保持對(duì)到來(lái)的分組的跟蹤,并且如果在到來(lái)的分組 中存在差錯(cuò)則給出指示。去抖動(dòng)緩沖器可以接收具有序號(hào)的分組。例如,差錯(cuò)可以在到來(lái) 分組的序號(hào)低于先前分組的序號(hào)時(shí),由輸入控制器檢測(cè)到。圖28中位于輸入控制器內(nèi)的分 類單元對(duì)到來(lái)的分組進(jìn)行分類。由分類單元定義的不同的類別可以包括“良好的分組”、“延 遲的分組”、“差分組”等。此外,輸入控制單元可以對(duì)分組進(jìn)行比較并將該信息發(fā)送給去抖 動(dòng)緩沖器控制器。圖28中示出的去抖動(dòng)緩沖器控制器接收來(lái)自去抖動(dòng)緩沖器的輸入和輸出控制器 的雙向輸入。去抖動(dòng)緩沖器控制器接收來(lái)自輸入控制器的數(shù)據(jù),其中這樣的數(shù)據(jù)指示到來(lái) 數(shù)據(jù)的特性,諸如接收到的良好分組的數(shù)目、接收到的差分組的數(shù)目等。去抖動(dòng)緩沖器可以 使用該信息來(lái)確定何時(shí)需要使去抖動(dòng)緩沖器收縮或增長(zhǎng),這會(huì)產(chǎn)生發(fā)送給時(shí)間規(guī)整控制器 的用于壓縮或擴(kuò)展的信號(hào)。去抖動(dòng)緩沖器控制器單元內(nèi)的分組差錯(cuò)率(PER)單元計(jì)算PER 延遲。去抖動(dòng)緩沖器的輸出控制器從去抖動(dòng)緩沖器請(qǐng)求分組。去抖動(dòng)緩沖器的輸出控制器 單元還可以指示最后一個(gè)被再現(xiàn)的分組。解碼器將分組請(qǐng)求發(fā)送給去抖動(dòng)緩沖器,并在這樣的請(qǐng)求后接收來(lái)自去抖動(dòng)緩沖 器的分組。解碼器內(nèi)的時(shí)間規(guī)整控制器單元從去抖動(dòng)緩沖器的輸出控制器接收時(shí)間規(guī)整控 制信息。時(shí)間規(guī)整控制信息指示將對(duì)分組進(jìn)行壓縮、擴(kuò)展還是使其保持不變。由解碼器接 收的分組被解碼并轉(zhuǎn)換成話音樣本;并且在從輸出驅(qū)動(dòng)器內(nèi)的緩沖器接收到請(qǐng)求后,樣本 被發(fā)送給輸出驅(qū)動(dòng)器。來(lái)自輸出驅(qū)動(dòng)器的樣本請(qǐng)求由解碼器內(nèi)的輸出控制器接收。相位匹配如前所述,在分組的預(yù)期再現(xiàn)時(shí)刻之后接收到分組,會(huì)導(dǎo)致擦除取代延遲分組而 得到再現(xiàn)。接收到自適應(yīng)去抖動(dòng)緩沖器處的擦除或缺失的分組,會(huì)導(dǎo)致解碼后的話音的不 連續(xù)。當(dāng)自適應(yīng)去抖動(dòng)緩沖器辨認(rèn)出潛在的不連續(xù)時(shí),自適應(yīng)去抖動(dòng)緩沖器可以請(qǐng)求解碼 器執(zhí)行相位匹配。如圖28所示,自適應(yīng)去抖動(dòng)緩沖器750可以包括接收來(lái)自輸出控制器760 的輸入的相位匹配控制器。相位匹配控制信息被發(fā)送給可以位于解碼器762中的相位匹配 單元。在一個(gè)實(shí)例中,相位匹配控制信息可以包括“相位偏移”和“游程長(zhǎng)度” (rim length) 信息。相位偏移是解碼器已經(jīng)解碼的分組數(shù)目和編碼器已經(jīng)編碼的分組數(shù)目之間的差。游 程長(zhǎng)度是指就在當(dāng)前分組的解碼之前,解碼器已經(jīng)解碼的連續(xù)擦除的數(shù)目。在一個(gè)實(shí)例中,相位匹配和時(shí)間規(guī)整都在具有公共控制代碼或軟件的解碼器中實(shí) 現(xiàn)。在一個(gè)實(shí)例中,解碼器實(shí)現(xiàn)波形內(nèi)插,其中a)如果沒(méi)有使用時(shí)間規(guī)整和相位匹配,則使用采用160個(gè)樣本的波形內(nèi)插 (waveform_ ,interpolation)來(lái)進(jìn)行語(yǔ)音編碼;b)如果使用了時(shí)間規(guī)整并且沒(méi)有使用相位匹配,則使用采用(160+-N*音高周期) 個(gè)樣本的波形內(nèi)插解碼(waveform_interpolation_decoding)來(lái)進(jìn)行語(yǔ)音編碼,其中N可 以是1或2;
c)如果沒(méi)有使用時(shí)間規(guī)整并且使用了相位匹配,則使用采用(160-A)個(gè)樣本的 波形內(nèi)插解碼(waveform_interpolation_decoding)來(lái)進(jìn)行語(yǔ)音編碼,其中A是相位匹配量。d)如果使用了相位匹配和時(shí)間規(guī)整二者,則使用采用(160-A+-N*音高周期)個(gè) 樣本的波形內(nèi)插解碼(waveform_interpolation_decoding)來(lái)進(jìn)行語(yǔ)音編碼,其中A是相
位匹配量。對(duì)輸出驅(qū)動(dòng)器的時(shí)鐘輸入,確定了該輸出驅(qū)動(dòng)器內(nèi)的緩沖器對(duì)數(shù)據(jù)進(jìn)行請(qǐng)求的頻 率。這是系統(tǒng)中的主要時(shí)鐘并且可以以許多不同的方式實(shí)現(xiàn)。系統(tǒng)的主時(shí)鐘可以通過(guò)PCM 樣本的采樣速率導(dǎo)出。例如,如果正在通信的是窄帶話音,則系統(tǒng)每秒再現(xiàn)8000個(gè)PCM樣 本(8KHz)。該時(shí)鐘可以驅(qū)動(dòng)系統(tǒng)的其余部分。一種方法是讓音頻接口 770在需要更多樣本 時(shí)從解碼器請(qǐng)求更多樣本。另一種方法是讓解碼器/時(shí)間規(guī)整單元獨(dú)立地運(yùn)行,由于該模 塊知道先前傳遞了多少PCM樣本,所以它知道接下來(lái)何時(shí)提供更多的樣本。調(diào)度器可以位于解碼器762中或音頻接口和控制單元810中。當(dāng)位于音頻接口控 制單元810中時(shí),調(diào)度器基于接收到的PCM樣本的數(shù)目來(lái)確定對(duì)分組的下一請(qǐng)求。當(dāng)調(diào)度 器位于解碼器中時(shí),調(diào)度器可以每過(guò)t ms就請(qǐng)求分組。例如,解碼器調(diào)度器可以每2ms就 從自適應(yīng)去抖動(dòng)緩沖器750請(qǐng)求分組。如果在解碼器中沒(méi)有啟用時(shí)間規(guī)整,或者如果時(shí)間 規(guī)整單元不位于解碼器762中,則調(diào)度器將與1個(gè)分組中的樣本數(shù)目恰好相對(duì)應(yīng)的一組樣 本發(fā)送給音頻接口和控制單元770。例如,在音頻接口單元770每過(guò)2ms就請(qǐng)求樣本的情況 下,解碼器的輸出控制器766發(fā)送16個(gè)PCM樣本(1個(gè)分組對(duì)應(yīng)于20ms,即8Khz采樣速率 下的話音數(shù)據(jù)的160個(gè)樣本)。換言之,當(dāng)時(shí)間規(guī)整控制器位于解碼器外部時(shí),解碼器的輸 出是用于樣本轉(zhuǎn)換的普通分組。音頻接口單元770將樣本的數(shù)目轉(zhuǎn)換成在解碼器執(zhí)行時(shí)間 規(guī)整的情況下它會(huì)接收到的樣本的數(shù)目。在另一種情形下,當(dāng)時(shí)間規(guī)整控制器位于解碼器內(nèi)并且時(shí)間規(guī)整被啟用時(shí),在壓 縮模式下,解碼器可以輸出更少的樣本;并且在擴(kuò)展模式下,解碼器可以輸出更多的樣本。圖30進(jìn)一步示出了調(diào)度功能由解碼器實(shí)現(xiàn)的情形。在步驟902,解碼器從去抖動(dòng) 緩沖器請(qǐng)求分組。在步驟904,分組被接收。在步驟906中,分組被轉(zhuǎn)換成“N”個(gè)樣本。在 步驟908中,“N”個(gè)產(chǎn)生的樣本被傳遞給音頻接口控制單元,并且在步驟910中,將下一分 組請(qǐng)求調(diào)度為N的函數(shù)。圖31示出了解碼器外部的音頻接口和控制單元中的調(diào)度。在步驟1002,音頻接 口單元首先請(qǐng)求一組PCM樣本。在步驟1004,接收到所請(qǐng)求的PCM樣本,并且在步驟1006 中,將下一分組請(qǐng)求調(diào)度為N的函數(shù)。時(shí)間規(guī)整指示符(諸如,不進(jìn)行時(shí)間規(guī)整指示符)可以是來(lái)自自適應(yīng)去抖動(dòng)緩沖 器的指令的一部分。圖32示出了在解碼器外部計(jì)算調(diào)度方案的例如音頻接口和控制單元 中的時(shí)間規(guī)整單元。分組類型、時(shí)間規(guī)整指示符和要進(jìn)行的規(guī)整量被輸入給時(shí)間規(guī)整單元。圖33示出了在解碼器中的時(shí)間規(guī)整單元中計(jì)算調(diào)度方案的時(shí)間規(guī)整單元。對(duì)時(shí) 間規(guī)整單元的輸入包括分組類型、時(shí)間規(guī)整指示符和要進(jìn)行的規(guī)整量。規(guī)整量和啟用信號(hào) 被輸入給時(shí)間規(guī)整單元的質(zhì)量?jī)?yōu)化單元。時(shí)間規(guī)整信息被輸出。盡管本說(shuō)明書描述了本發(fā)明的特定實(shí)例,但是普通技術(shù)人員能在不脫離本發(fā)明概 念的情況下提出本發(fā)明的變形。例如,本文中的教導(dǎo)是參照電路交換網(wǎng)絡(luò)元件進(jìn)行說(shuō)明的,但是其等效地適用于分組交換域網(wǎng)絡(luò)元件。此外,本文的教導(dǎo)不限于認(rèn)證三元組對(duì),還可適 用于包括兩個(gè)SRES值(一個(gè)是通常的格式,一個(gè)是本文公開(kāi)的新格式)的單個(gè)三元組。本領(lǐng)域的專業(yè)技術(shù)人員可以理解,可以使用許多不同的工藝和技術(shù)中的任意一種 來(lái)表示信息和信號(hào)。例如,上述說(shuō)明中提到過(guò)的數(shù)據(jù)、指令、命令、信息、信號(hào)、比特、符號(hào)、及 碼片都可以表示為電壓、電流、電磁波、磁場(chǎng)或磁性粒子、光場(chǎng)或光粒子、或以上的結(jié)合。本領(lǐng)域的專業(yè)技術(shù)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)例描述的各 種示例的邏輯塊、模塊、電路、方法及算法,能夠以電子硬件、計(jì)算機(jī)軟件、或二者的結(jié)合被 實(shí)現(xiàn)。為了清楚地說(shuō)明硬件和軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能一般性地描述 了各種示例的組件、程序塊、模塊、電路、方法及算法。這種功能究竟以硬件還是軟件方式來(lái) 實(shí)現(xiàn),取決于整個(gè)系統(tǒng)的特定的應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng) 用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)決定不應(yīng)被認(rèn)為超出了本發(fā)明的范 圍。 結(jié)合本文中所公開(kāi)的實(shí)例描述的多種示例的邏輯塊、模塊和電路可以用通用處理 器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)或其它可編程 邏輯器件、分立門或晶體管邏輯、分立硬件部件、或設(shè)計(jì)成執(zhí)行本文所述功能的以上的任意 組合來(lái)實(shí)現(xiàn)或執(zhí)行。通用處理器可以是微處理器,但是可替換地,處理器也可以是任何常規(guī) 的處理器、控制器、微控制器、或狀態(tài)機(jī)。處理器也可以被實(shí)現(xiàn)為計(jì)算器件的組合,例如,DSP 和微處理器的組合、多個(gè)微處理器的組合、一個(gè)或多個(gè)微處理器與一個(gè)DSP核心的組合、或 任意其它此類配置。結(jié)合本文中所公開(kāi)的實(shí)例描述的方法或算法可以直接用硬件、處理器執(zhí)行的軟件 模塊、或二者的結(jié)合來(lái)實(shí)施。軟件模塊可置于RAM存儲(chǔ)器、閃存、ROM存儲(chǔ)器、EPROM存儲(chǔ)器、 EEPROM存儲(chǔ)器、寄存器、硬盤、可移動(dòng)硬盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的 存儲(chǔ)介質(zhì)中??蓪⒋鎯?chǔ)介質(zhì)連接到處理器,以便處理器可從存儲(chǔ)介質(zhì)讀取信息并向存儲(chǔ)介 質(zhì)寫入信息??商鎿Q地,存儲(chǔ)介質(zhì)可以被集成在處理器中。處理器和存儲(chǔ)介質(zhì)可以置于ASIC 中。對(duì)所公開(kāi)的實(shí)例的上述說(shuō)明,是為了使本領(lǐng)域的任何專業(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使 用本發(fā)明。對(duì)這些實(shí)例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中 所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)例中實(shí)現(xiàn)。因此, 本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn) 一致的最寬的范圍。
權(quán)利要求
一種設(shè)備,包括存儲(chǔ)器存儲(chǔ)單元,其被配置成存儲(chǔ)數(shù)據(jù)的分組;和第一控制器,其適于確定用于所述存儲(chǔ)器存儲(chǔ)單元的目標(biāo)延遲長(zhǎng)度,并在所存儲(chǔ)的分組的數(shù)目超過(guò)所述目標(biāo)延遲長(zhǎng)度時(shí)啟動(dòng)對(duì)至少一個(gè)分組的壓縮。
2.如權(quán)利要求1所述的設(shè)備,其中,所述第一控制器進(jìn)一步被配置成維持由于延遲的 分組而引起的下溢的給定百分比。
3.如權(quán)利要求2所述的設(shè)備,其中,所述第一控制器進(jìn)一步被配置成將所述目標(biāo)延遲 長(zhǎng)度計(jì)算為If (PERdelay < TARGET_VALUE) thenDEJITTER_DELAY = DEJITTER_DELAY_CONSTANT ;If (PERdelay > TARGET_VALUE&&PERdelay >= last_PERdelay) then DEJITTER_DELAY = DEJITTER_DELAY+CONSTANT ;Set DEJITTER_DELAY = MAX(MIN_JITTER, DEJITTER_DELAY);andDEJITTER_DELAY = MIN(MAX_JITTER, DEJITIER_DELAY),其中,PERdelay是由于延遲的分組而引起的下溢的比率,TARGET_VALUE是延遲的分組的 目標(biāo)比率,DEJITTER_DELAY是自適應(yīng)去抖動(dòng)緩沖器的目標(biāo)延遲長(zhǎng)度,CONSTANT是預(yù)先定義 的值,并且MAX_JITTER和MIN_JITTER是分別表示最大和最小目標(biāo)延遲長(zhǎng)度的預(yù)先定義的值。
4.如權(quán)利要求3所述的設(shè)備,其中,所述第一控制器被配置成將所述PERdelay計(jì)算為PERdelay = PER_CONSTANTXPERdelay+(l-PER_CONSTANT) X Current_PERdelay其中,PER_C0NSTANT是用于估計(jì)PERdelay的濾波器的時(shí)間常數(shù)。
5.如權(quán)利要求4所述的設(shè)備,其中,所述第一控制器包括分組差錯(cuò)計(jì)算單元,其被配置成計(jì)算CUrrent_PERdelay作為延遲的分組的比率,其中,延 遲分組的在預(yù)期再現(xiàn)時(shí)刻之后被接收到,并且其中,所述CUrrent_PERdelay。
6.如權(quán)利要求5所述的設(shè)備,其中,所述分組差錯(cuò)計(jì)算單元被配置成計(jì)算所述 Current_PERdelay作為從PERdelay的上一次更新到當(dāng)前更新期間測(cè)量的延遲的分組與接收到 的包括延遲的分組的全部分組的比率,并將所述CUrrent_PERdelay計(jì)算為
7.如權(quán)利要求6所述的設(shè)備,其中,所述第一控制器被配置成識(shí)別接收到的分組的第 一部分,其中,所述第一部分與話音突峰相對(duì)應(yīng),并且其中,所述話音突峰包括多個(gè)順序的 分組。
8.如權(quán)利要求7所述的設(shè)備,其中,所述第一控制器被配置成通過(guò)所述第一部分的編 碼來(lái)識(shí)別所述第一部分。
9.如權(quán)利要求8所述的設(shè)備,其中,所述第一控制器被配置成確定所述話音突峰的第 一分組的預(yù)期再現(xiàn)時(shí)刻,并在所述預(yù)期再現(xiàn)時(shí)刻之前啟動(dòng)所述話音突峰的所述第一分組的 再現(xiàn)。
10.如權(quán)利要求9所述的設(shè)備,其中,所述第一控制器進(jìn)一步被配置成在所述第一分組的再現(xiàn)之后啟動(dòng)隨后的分組的擴(kuò)展。
11.如權(quán)利要求10所述的設(shè)備,其中,所述第一控制器被配置成識(shí)別話音突峰的開(kāi)頭 和結(jié)尾。
12.如權(quán)利要求11所述的設(shè)備,其中,所述第一控制器被配置成識(shí)別所述話音突峰的 結(jié)尾部分,并壓縮所述話音突峰的所述結(jié)尾部分中的至少一個(gè)分組。
13.如權(quán)利要求12所述的設(shè)備,其中,所述第一控制器被配置成通過(guò)接收到的分組的 編碼速率來(lái)識(shí)別所述話音突峰的所述結(jié)尾部分。
14.如權(quán)利要求13所述的設(shè)備,其中,所述第一控制器被配置成通過(guò)靜音指示符識(shí)別 所述話音突峰的所述結(jié)尾部分。
15.如權(quán)利要求14所述的設(shè)備,其中,所述第一控制器被配置成通過(guò)話音突峰結(jié)尾指 示符識(shí)別所述話音突峰的所述結(jié)尾部分。
16.一種用于處理經(jīng)分組的數(shù)據(jù)的方法,包括 將數(shù)據(jù)的分組存儲(chǔ)在存儲(chǔ)器存儲(chǔ)單元中;確定用于所述存儲(chǔ)器存儲(chǔ)單元的目標(biāo)延遲長(zhǎng)度;相對(duì)于所述目標(biāo)延遲長(zhǎng)度來(lái)估計(jì)所述存儲(chǔ)器存儲(chǔ)單元的狀態(tài),其中,所述存儲(chǔ)器存儲(chǔ) 單元的狀態(tài)是所述存儲(chǔ)器存儲(chǔ)單元中所存儲(chǔ)的數(shù)據(jù)的度量;和如果所述存儲(chǔ)器存儲(chǔ)單元的狀態(tài)違反所述目標(biāo)延遲長(zhǎng)度,則啟動(dòng)來(lái)自所述存儲(chǔ)器存儲(chǔ) 單元的至少一個(gè)分組的時(shí)間規(guī)整。
17.如權(quán)利要求16所述的方法,進(jìn)一步包括 將所述目標(biāo)延遲長(zhǎng)度計(jì)算為If (PERdelay < TARGET_VALUE) thenDEJITTER_DELAY = DEJITTER_DELAY_CONSTANT ; If (PERdelay > TARGET_VALUE&&PERdelay >= last_PERdelay) thenDEJITTER_DELAY = DEJITTER_DELAY+CONSTANT ; Set DEJITTER_DELAY = MAX(MIN_JITTER, DEJITTER_DELAY);andDEJITTER_DELAY = MIN(MAX_JITTER, DEJITTER_DELAY),其中,PERdelay是由于延遲的分組而引起的下溢的比率,TARGET_VALUE是延遲分組的目 標(biāo)比率,DEJITTER_DELAY是自適應(yīng)去抖動(dòng)緩沖器的目標(biāo)延遲長(zhǎng)度,CONSTANT是預(yù)先定義的 值,并且MAX_JITTER和MIN_JITTER是預(yù)先定義的值,所述預(yù)先定義的值分別是最大和最小 目標(biāo)延遲長(zhǎng)度。
18.如權(quán)利要求17所述的方法,進(jìn)一步包括 生成時(shí)間規(guī)整控制信號(hào);接收多個(gè)順序的分組;和響應(yīng)于所述時(shí)間規(guī)整控制信號(hào)而對(duì)片段進(jìn)行重疊相加。
19.如權(quán)利要求18所述的方法,其中,所述重疊相加包括將多個(gè)片段中的至少兩個(gè)結(jié)合為、八 ^r, (Segment\(i) * (WindowSize - / ) + (Segment2(i) * /)a) OatSegment[i\ =--WindowSize i = 0 至 WindowSize-lWindowSize = RffindowSize其中,OutSegment是所合成的重疊相加后的片段,Segment 1和Segment〗是將被重疊相 加的片段,WindowSize對(duì)應(yīng)于第一片段,并且RWindowSize對(duì)應(yīng)于第二片段。
20.如權(quán)利要求19所述的方法,其中,所述重疊相加進(jìn)一步包括 識(shí)別所述第一片段和所述第二片段之間的相關(guān)性最大的部分。
21.如權(quán)利要求20所述的方法,其中,所述識(shí)別所述第一片段和所述第二片段之間的 相關(guān)性最大的部分進(jìn)一步包括通過(guò)按照以下等式計(jì)算最大相關(guān)性來(lái)識(shí)別所述相關(guān)性最大的部分 其中,x表示所述第一片段,y表示話音的所述第二片段, m表示相關(guān)性窗口,i是索引值,并且 d表示相關(guān)性部分。
22.如權(quán)利要求16所述的方法,進(jìn)一步包括 對(duì)多個(gè)順序的分組進(jìn)行時(shí)間規(guī)整;禁止對(duì)至少一個(gè)順序的分組的時(shí)間規(guī)整,其中,所述至少一個(gè)順序的分組在所述多個(gè) 順序的分組之后;和在所述至少一個(gè)順序的分組之后,啟用時(shí)間規(guī)整。
23.如權(quán)利要求16所述的方法,進(jìn)一步包括計(jì)算時(shí)間規(guī)整比率,其中,所述時(shí)間規(guī)整比率是時(shí)間窗口上的經(jīng)過(guò)時(shí)間規(guī)整的分組的 數(shù)目;和啟動(dòng)分組的作為所述時(shí)間規(guī)整比率的函數(shù)的時(shí)間規(guī)整。
全文摘要
本發(fā)明公開(kāi)了一種用于分組交換通信的語(yǔ)音IP傳輸(VoIP)的自適應(yīng)去抖動(dòng)緩沖器。本發(fā)明所提供的去抖動(dòng)緩沖器方法和設(shè)備避免了下溢的再現(xiàn),同時(shí)平衡了端對(duì)端延遲。在一個(gè)實(shí)例中,去抖動(dòng)緩沖器在每個(gè)話音突峰的開(kāi)頭被重新計(jì)算。在另一實(shí)例中,話音突峰分組在接收到所有剩余的分組后被壓縮。
文檔編號(hào)H04L29/06GK101873267SQ20101020365
公開(kāi)日2010年10月27日 申請(qǐng)日期2005年8月30日 優(yōu)先權(quán)日2004年8月30日
發(fā)明者M·亞武茲, P·J·布萊克, R·卡普爾, S·D·斯平多拉 申請(qǐng)人:高通股份有限公司