新四季網

用於語音ip傳輸的自適應去抖動緩衝器的製作方法

2023-06-10 20:06:51 1

專利名稱:用於語音ip傳輸的自適應去抖動緩衝器的製作方法
技術領域:
本發明涉及無線通信系統,並具體涉及用於分組交換通信的語音網際網路協議 (VoIP)的自適應去抖動緩衝器。本發明適用於可能會丟失分組的任何系統。
背景技術:
在通信系統中,可將分組的端對端延遲定義為從該分組在信號源處被生成的時刻 到該分組到達其目的地的時刻所經過的時間。在分組交換通信系統中,分組從信號源傳播 到目的地的延遲可能會取決於包括但不限於信道條件和網絡負載的各種工作條件而變化。 信道條件是指無線鏈路的質量。確定無線鏈路質量的一些因素是信號強度、移動速度和/ 或物理障礙。端對端延遲包括在網絡和分組所經過的各種元件中引入的延遲。許多因素都能影 響端對端延遲。端對端延遲中的變化被稱為抖動。抖動會導致在分組不再有用之後才接收 到分組。例如,在諸如語音的低等待時間應用中,如果分組被接收到太晚,則它可能會被接 收器丟棄。這樣的狀況導致通信質量的惡化。


圖1是現有技術通信系統的框圖,其中接入終端包括去抖動緩衝器;圖2示出了現有技術的去抖動緩衝器;圖3是示出導致「下溢」的分組的傳輸、接收和再現的時序圖;圖4A和4B是示出兩種情形下的最佳去抖動緩衝器長度的計算的時序圖;圖5是示出由延遲分組引起的「下溢」的形成過程的時序圖;圖6是示出目標去抖動緩衝器長度的計算的流程圖;圖7A是示出第一情形下的分組的傳輸的時序圖;圖7B是示出沒有採用去抖動緩衝器自適應的分組的接收的時序圖;圖7C是示出採用去抖動緩衝器自適應的分組的接收的時序圖,其中接收器可以 在分組的預期時刻之後接收到該分組。圖8A是示出允許接收器在分組的預期時刻之後接收到該分組的隱式緩衝器自適 應的一個實例的流程圖;圖8B是自適應去抖動緩衝器的操作模式的狀態圖9是示出根據另一實例的去抖動緩衝器自適應的應用的時序圖;圖10是示出根據一個實例的話音突峰中的語音信息的傳輸的示圖,其中去抖動 緩衝器延遲不足以避免數據碰撞;圖11是含有自適應去抖動緩衝器的通信系統的框圖;圖12是包括自適應去抖動緩衝器和時間規整單元的接收器的一部分的框圖;圖13A示出了包括壓縮和擴展閾值的自適應去抖動緩衝器的一個實例;圖13B示出了包括多個壓縮和擴展閾值的自適應去抖動緩衝器的一個實例;圖14是示出對具有不同延遲的分組的接收進行時間規整的過程的時序圖;圖15是示出以下實例的時序圖i)話音片段的靜音部分的壓縮;和ii)話音片段 的靜音部分的擴展;圖16是示出話音信號的時序圖,其中話音信號的一些部分會重複;圖17A是示出話音片段的示圖,其中被稱為RWindowSize的用於重疊相加 (add-overlap)操作的參考窗口中的PCM樣本的數目被標識,並且其中被稱為Segment的目 標片段大小或期望的片段大小被標識;圖17B是示出根據一個實例的應用重疊相加操作來壓縮話音片段的方法的示圖;圖18A是示出多個話音片段的示圖,其中被稱為RWindowSize的用於重疊相加操 作的參考窗口中的PCM樣本的數目被標識,並且其中被稱為Segment的目標片段大小或期 望的片段大小被標識以為擴展當前話音片段作準備;圖18B是示出根據一個實例的應用重疊相加操作來擴展話音樣本的方法的示圖;圖18C是示出根據可選實例的應用操作來擴展話音樣本的方法的示圖;圖19是示出對分組進行擴展以便為混合ARQ重傳情況下延遲的分組和失序到達 的分組的到達留出餘地的方法的示圖;圖20是示出兩個用戶之間的會話的時間線的示圖;圖21是示出根據一個實例的在話音突峰開頭處的增強的流程圖;圖22是示出根據可選實例的在話音突峰開頭處的增強的示圖;圖23是示出話音突峰結尾的增強的示圖;圖24是示出根據一個實例的在話音突峰結尾處的增強的流程圖;圖25是示出現有技術的去抖動緩衝器和解碼器系統的操作的示圖,其中去抖動 緩衝器以規則的時間間隔向解碼器傳遞分組;圖26是示出根據一個實例的自適應去抖動緩衝器和解碼器的操作的示圖,其中 自適應去抖動緩衝器以不規則的時間間隔向解碼器傳遞分組;圖27是示出根據一個實例的包括自適應去抖動緩衝器和時間規整(time wrap) 控制單元的接入終端(AT)的框圖;圖28示出了根據一個實例的包括自適應去抖動緩衝器並適於對分組進行時間規 整 的接收器的一部分;圖29示出了根據另一實例的包括自適應去抖動緩衝器並適於對分組進行時間規 整的接收器的可選實例;圖30是示出根據一個實例的包括自適應去抖動緩衝器並適於對分組進行時間規 整的接收器的一個實例中的解碼器中的調度器的一個實例的流程圖31是示出接收器的一個實例中的音頻接口單元中的調度器的流程圖;圖32示出了在解碼器外部計算調度方案的時間規整單元;圖33示出了在解碼器中的時間規整單元中計算調度方案的時間規整單元。
具體實施例方式在分組交換系統中,數據被形成為分組並通過網絡被路由。每個分組基於分組內 (典型為信頭中)包含的分配地址而被發送到網絡中的目的地。分組的端對端延遲,或者 分組在網絡內從第一用戶或「發送者」傳播到第二用戶或「接收者」所花費的時間,取決於 以下因素而變化信道條件,網絡負載,系統的服務質量(QoS)能力,以及除這些因素之外 的競爭資源的其它流。應注意, 為了清楚起見,下面的討論描述支持分組數據通信的擴頻通 信系統,其包括但不限於碼分多址(CDMA)系統、正交頻分多址(OFDMA)系統、寬帶碼分多址 (W-CDMA)系統、全球移動通信系統(GSM)、支持諸如802. 11 (A、B、G) ,802. 16等的IEEE標準 的系統。在無線通信系統中,每個分組可能會遭受與屬於相同流的其它分組所經歷的延遲 不同的從源到目的地的延遲。延遲中的這種變化被稱為「抖動」。抖動對接收器端的應用產 生額外的複雜性。如果接收器不校正抖動,則接收到的消息在分組被重新組合時將會失真。 一些系統在根據接收到的分組而重建消息時對抖動進行校正。這樣的系統包含增加(被稱 為抖動緩衝器延遲的)等待時間的去抖動緩衝器。當去抖動緩衝器施加固定的較大的去抖 動緩衝器延遲時,它可以容納分組到達時間中的大抖動量;然而,這種使用方式並不高效, 因為具有較小延遲的分組也通過使用較大的去抖動緩衝器延遲而被處理,儘管這些分組可 能已在之前被處理過。對於這些分組而言,這會導致比通過使用較小的去抖動緩衝器延遲 而得到的延遲更大的端對端延遲。為了防止這種情況,含有去抖動緩衝器的VoIP系統可以試圖適應分組延遲中的 變化。例如,去抖動緩衝器可以通過分析分組到達的統計數據來檢測分組延遲中的變化。許 多去抖動緩衝器實現方案根本不使它們的延遲自適應,並且被配置成具有保守的大延遲。 在這種情況下,去抖動緩衝器可能會對分組加入過大的延遲,從而使用戶的體驗處於次優 狀態。下面的討論描述的是通過改變去抖動緩衝器延遲來適應分組延遲行為中的變化 的自適應去抖動緩衝器。該去抖動緩衝器利用話音時間規整來增強其跟蹤分組的可變延遲 的能力。下面的討論適用於分組化的通信,諸如具有周期性數據傳輸、低等待時間要求、數 據的順序處理或指定再現速率的通信。特別地,下面的討論詳細描述語音通信,其中數據或 者話音和靜音源於信號源並被傳輸到目的地用於再現。原始數據被分組並使用已知的編碼 方案被編碼。在接收器處,為數據的每個分組確定編碼方案。在話音通信中,例如,對話音 進行的編碼的類型不同於對靜音進行的編碼的類型。這允許通信系統利用包括靜音部分的 話音的周期性本質。對於話音通信,數據呈現突發性,並且話音內容可能會呈現重複性。由 於語音通信的參與者不希望聽到延遲,而通信的質量僅允許有限的延遲,所以分組化的話 音傳輸具有低等待時間要求。分組化的話音可能會採取不同的路徑來到達接收器,然而,在 接收後,分組將以它們的原始順序被重新編譯。因此,接收到的分組化話音被順序地再現。 如果分組在空中傳輸或者物理層處理過程中被丟失,則該分組無法恢復,但是接收器可以估計或猜測該分組的內容。另外,話音通信的再現速率具有預定的再現速率或範圍。如果 再現速率在該範圍之外,則接收器處的質量會惡化。本討論的應用的一個實例是將其應用 於話音通信。其它應用可包括視頻通信、遊戲通信或具有與話音通信類似的特性、規範和/ 或要求的其它通信。例如,視頻通信可能會期望使再現加速或減速。本討論對於這樣的應 用可能是合乎要求的。如在本文中提供的那樣,自適應去抖動緩衝器可以允許接收器實現 系統的抖動要求所指定的服務質量。自適應去抖動緩衝器使目標去抖動緩衝器長度(例 如,去抖動緩衝器中存儲的數據量)適應於在該自適應去抖動緩衝器處接收到的數據的定 時和數據量。此外,自適應去抖動緩衝器使用該去抖動緩衝器的狀態或大小(例如,自適應 去抖動緩衝器中存儲的數據的度量)來確定何時進行時間規整對接收到的數據的處理和 再現是有益的。例如,如果數據以低速率到達自適應去抖動緩衝器,則自適應去抖動緩衝器 將該信息提供給時間規整單元,從而允許時間規整單元擴展接收到的分組。如果自適應去 抖動緩衝器中存儲的數據超過閾值,則自適應去抖動緩衝器提醒時間規整單元壓縮分組以 便有效地跟上到來的數據。應注意,時間規整是在可由通信的應用和類型定義的限度內進 行的。例如,在話音通信中,時間規整不應該壓縮話音(即,提高音高),以免收聽者無法理 解通信內容。類似地,時間規整不應該將話音擴展出某一範圍之外。在理想情況下,時間規 整的範圍被定義為使得收聽者幾乎沒有不適或完全沒有不適。通信系統
由基站(BS) 70 進行通信。在AT 52內,發射處理單元64將語音數據發送給編碼器60,該編碼器60對語音 數據進行編碼和將其分組化並將經分組的數據發送給低層處理單元58。然後為了實現發 射,數據被發送給BS 70。BS 70處理接收到的數據並將數據發射到AT 82,其中數據在低層 處理單元88被接收。然後數據被提供給去抖動緩衝器86,該去抖動緩衝器86存儲數據以 便隱藏或減小抖動的影響。數據從去抖動緩衝器86被發送給解碼器84,並接著被發送給接 收處理單元92。為了從AT 82發射,數據/語音從發射處理單元94被提供給編碼器90。低層處理 單元88處理用於發射到BS 70的數據。為了在AT 52接收來自BS 70的數據,數據在低層 處理單元58被接收。然後數據的分組被發送給去抖動緩衝器56,在這裡它們被存儲直到達 到所需的緩衝器長度或延遲為止。一旦達到該長度或延遲,去抖動緩衝器56就開始向解碼 器54發送數據。解碼器54將經分組的數據轉換成語音數據分組並將分組發送給接收處理 單元62。在本實例中,AT 52的行為與AT82類似。去抖動緩衝器存儲器或去抖動緩衝器被用在諸如上述的AT中,以便隱藏抖動的影響。在一個實 例中,自適應去抖動緩衝器被用於諸如VoIP通信的分組交換通信。去抖動緩衝器具有自適 應緩衝存儲器並使用話音時間規整來增強其跟蹤可變延遲和抖動的能力。在該實例中,使 去抖動緩衝器的處理與解碼器的處理相協調,其中去抖動緩衝器確定對分組進行時間規整 的時機或需要,並指示解碼器對分組進行時間規整。解碼器通過按照去抖動緩衝器的指示 對分組進行壓縮或擴展,來對分組進行時間規整。圖2示出了去抖動緩衝器的一個實例。到來的編碼分組被累積和存儲在緩衝器 中。在一個實例中,緩衝器是先進先出(FIFO)緩衝器,其中數據以特定順序被接收並以相同的順序被處理;首先被處理的數據是首先被接收的數據。在另一實例中,去抖動緩衝器 是記錄下一個要處理的分組的有序列表。自適應去抖動緩衝器可以是存儲器存儲單元,其 中去抖動緩衝器的狀態是自適應去抖動緩衝器中存儲的數據的度量(或分組數量)。由去 抖動緩衝器處理的數據可從去抖動緩衝器發送給解碼器或其它裝置。經編碼的分組可以對 應於固定量(例如,與SKhz採樣速率下的話音數據的160個樣本相對應的20msec)的話音 數據。在本發明的一個實例中,具有時間規整功能的解碼器所產生的樣本數目,可以基於分 組是否經過了時間規整而變化。當去抖動緩衝器指示解碼器/時間規整器對分組進行擴展 時,解碼器/時間規整器可產生多於160個樣本。另一方面,當去抖動緩衝器指示解碼器/ 時間規整器對分組進行壓縮時,解碼器/時間規整器可產生少於160個樣本。應注意,可選 系統可以具有不同的再現方案,諸如不同於20ms語音編碼的再現方案。到達去抖動緩衝器的分組可能不會以規則間隔到達。因此去抖動緩衝器的設計目 標之一是調 整到來的數據的不規則性。在本發明的一個實例中,去抖動緩衝器具有目標去 抖動緩衝器長度。目標去抖動緩衝器長度是指在開始再現第一分組之前需要在去抖動緩衝 器中累積的數據量。在另一實例中,目標去抖動緩衝器長度可以指去抖動緩衝器中的第一 分組在再現之前需要被延遲的時間量。圖2示出了目標去抖動緩衝器長度。通過在開始分 組的再現之前在去抖動緩衝器中累積足夠的分組,去抖動緩衝器能夠以規則間隔再現隨後 的分組,同時將分組被用光的潛在可能性最小化。圖2示出了去抖動緩衝器,其中首先接收 到去抖動緩衝器中的聲碼器分組,是被調度為從去抖動緩衝器輸出的下一分組。去抖動緩 衝器包括充足的分組來實現所需的去抖動緩衝器延遲。這樣,去抖動緩衝器使分組所經歷 的抖動變得平滑並隱藏分組到達接收器的時間的變化。圖3示出了各種情形下的分組的傳輸、接收和再現的時間線。第一分組PKT 1在 時刻、被傳輸,並在時刻、被接收,並被再現。隨後的分組PKT 2、PKT 3和PKT 4在PKT 1之後以20ms的間隔被傳輸。在沒有時間規整的情況下,解碼器從第一分組的再現時刻起,以規則的時間間隔 (例如,20ms)再現分組。例如,如果解碼器以規則的20ms間隔再現分組,則第一個接收到 的分組在時刻、得到再現,並且隨後的分組將在時刻、後的20ms、時刻、後的40ms、時刻 、後的60ms等時刻得到再現。如圖3所示,PKT 2 (在不採用去抖動緩衝器延遲的情況下) 的預期再現時刻為、=、+20!118。PKT 2在其預期再現時刻、之前被接收到。另一方面, 分組3在其預期再現時刻t3 = t2+20ms之後被接收到。這種狀況被稱為下溢。當再現裝置 準備好再現分組,而分組卻沒有存在於去抖動緩衝器中時,就會發生下溢。典型地,下溢會 使解碼器產生擦除(erasure)並使再現質量惡化。圖3還示出了第二種情形,在該情形中,去抖動緩衝器在第一分組的再現之前引 入延遲t·。在這種情形下,去抖動緩衝器延遲被加入以便使再現裝置每20ms都能夠接收 到分組(或樣本)。在這種情形下,儘管PKT 3在其預期再現時刻、之後才被接收到,但是 去抖動緩衝器延遲的加入使得PKT 3在PKT 2再現之後的20ms得到再現。現在,PKT 1在時刻tQ被發送,在時刻、被接收,並在時刻、+{_ = t/被再現, 而不是像先前那樣,在時刻、被再現。再現裝置在PKT 1之後以例如20ms的預定間隔再現 PKT 2,或者在時刻 t2,= t1+tdJb+20 = t2+tdjb 再現 PKT 2,並在時刻 t/ = t3+tdjb 再現 PKT 3。將再現延遲tdjb,允許第三分組得到再現而不會導致下溢。因此,如圖3所示,去抖動緩衝器延遲的引入可減少下溢並防止話音質量的惡化。話音由話音突峰和靜音段組成。靜音段的擴展/壓縮對話音質量具有極小的影響 或沒有影響。這就允許去抖動緩衝器針對每個話音突峰而對第一分組的再現進行不同的延 遲。圖4A和4B為不同的話音突峰示出了傳輸和接收的時間線。應注意,去抖動緩衝 器延遲的量被確定以防止下溢。這被稱為「最佳去抖動緩衝器延遲」。最佳去抖動緩衝器延 遲涉及目標去抖動緩衝器長度。換言之,目標去抖動緩衝器長度被確定成允許足夠的數據存儲在緩衝器中,以便 使分組的再現與再現裝置的特性相一致。最佳去抖動緩衝器延遲可通過系統所經歷的最大 端對端延遲來確定。可選地,最佳去抖動緩衝器延遲可以是基於系統所經歷的平均延遲。用 於確定最佳去抖動緩衝器延遲的其它方法也可以具體針對給定的標準或系統設計來實現。 此外,目標去抖動緩衝器長度被確定以便實現最佳去抖動緩衝器延遲,因此,目標去抖動緩 衝器長度可以基於接收的分組速率、分組差錯率(PER)或其它工作統計數據來計算。圖4A和4B示出了兩個實例的最佳去抖動緩衝器延遲。如圖所示,相繼的分組的 傳輸和接收之間的時間隨時間而變化。由於PKT 3具有從傳輸到接收最長的延遲,所以使 用該差值來確定用於去抖動處理的最佳延遲。使用具有目標去抖動緩衝器長度的去抖動緩衝器,可以避免至少一些下溢狀況。 再參考圖3,第二種情形避免了(當解碼器預期有分組到來並且再現裝置準備好再現分組, 而沒有分組存在於分組存儲緩衝器中時發生的)下溢。此處,在、之後的20ms預定間隔 後,PKT 2得到再現,其中、是?0 1的再現時刻。儘管將PKT 3調度為在時刻t3再現或 者預期PKT 3在時刻t3再現,但是PKT 3直到時刻、之後才被接收到。換言之,再現裝置 準備好再現PKT 3,但是該分組並沒有存在於存儲緩衝器中。由於PKT 3在預期時刻不能用 於再現,並且無法得到再現,所以產生了關於PKT 3的大抖動量和下溢。PKT 4在PKT 4的 預期再現時刻t4得到再現。應注意,預期時刻t4是根據時刻、計算的。由於每個分組可 能會包含多於一個語音分組,所以由於下溢而引起的分組的丟失會使語音質量惡化。供考慮的另一種情形涉及如圖5所示的「由於延遲分組而引起的下溢」的形成過 程,其中分組的傳輸、接收和預期再現時刻在時間上被示出。在這種情形下,每個分組在其 預期再現時刻後的短時間內被接收到。例如,PKT 50的預期再現時刻是、,但是PKT 50直 到、後的時刻、』才被接收到。下一分組51預期在時刻、被接收到,但是它直到、後的 時刻t/才被接收到。這引起導致「延遲下溢」(即由於延遲分組而引起的下溢)的高百分 比的下溢的形成,並因而引起更高的端對端延遲。顯然,將再現延遲較大的量的去抖動緩衝器,在將下溢保持在最少這方面是成功 的。然而,這樣的去抖動緩衝器將較大的去抖動緩衝器延遲引入到分組的端對端延遲中。較 大的端對端延遲會導致保持會話流中的困難。大於100ms的延遲會使收聽方認為講話方還 沒有結束講話。因此,要獲得良好的質量,在理想情況下既要考慮避免下溢也要考慮減小端 對端延遲。由於解決一個問題會惡化另一個問題,所以存在著問題。換言之,較小的端對端 延遲通常會導致更多的下溢,而較大的端對端延遲通常會導致更少的下溢。因此,需要平衡 這些競爭的目標。具體而言,需要使去抖動緩衝器能夠跟蹤和避免下溢並同時減小端對端 延遲。
去抖動緩衝器目標長度 自適應去抖動緩衝器的設計目標是允許系統以語音分組的特定「下溢率」為目標, 同時實現低的端對端延遲。由於感覺到的質量是下溢的百分比的函數,所以以下溢的特定 百分比為目標的能力使得語音質量能夠得到控制。當存在缺失的分組時,在去抖動緩衝器 處會發生分組下溢。當分組被丟失或延遲時,該分組是缺失的分組。當丟失的分組在其到達 接收器前被丟棄時(諸如,當它在接入網中的某處(例如,在物理層或前向鏈路調度器上) 被丟棄時)會導致下溢。在這種情形下,通過使用去抖動緩衝器延遲無法校正下溢,因為分 組從未到達去抖動緩衝器。可選地,可能會由於被延遲並在其再現時刻之後到達的分組而 發生下溢。除了跟蹤由於延遲分組而引起的下溢之外,自適應去抖動緩衝器還可以跟蹤由 於丟失的分組而引起的下溢。可以通過對下溢進行權衡而得到去抖動緩衝器延遲,來控制由於延遲分組而引起 的下溢的數目。表示由於延遲分組而引起的下溢的目標百分比的值被稱為「下溢目標」。該 值是用於去抖動緩衝器的操作的目標值,並被選擇為能夠將端對端延遲保持在合理的限度 內。在一個實例中,(0.01)的值可用作「下溢目標」。另一實例使用0.5% (0. 005)的 值。為了實現「下溢目標」,可以使去抖動緩衝器延遲自適應。在本發明的一個實例中,可以使用由於延遲分組而引起的下溢(下文中稱為「延 遲下溢」)的百分比的經過濾波的值,來使去抖動緩衝器延遲自適應。在每個靜音段的結尾 (或每個話音突峰的開頭)處,去抖動緩衝器延遲如圖6所示被更新。如圖6所示,算法規 定如下內容1) If (PERdelay TARGET_VALUE&&PERdelay > = last_PERdelay) thenDEJITTER_DELAY = DEJITTER_DELAY+CONSTANT ;3)SetDEJITTER_DELAY = MAX(MIN_JITTER, DEJITTER_DELAY);AND4)DEJITTER_DELAY = MIN(MAX_JITTER, DEJITTER_DELAY). (1)在本實例中,可將初始去抖動緩衝器延遲設置成諸如40ms的常數值。TARGET_ VALUE是「延遲下溢」的目標值(例如)。PERdelay是在濾波器的參數允許實現TARGET_ VALUE的情況下,分組的「延遲下溢」率的經過濾波的值。last_PERdelay是去抖動緩衝器延遲 的前一次更新時的PERdelay的值。DEJITTER_DELAY是如上文中定義的目標去抖動緩衝器長 度。在本實例中,CONSTANT等於20ms。MIN_JITTER和MAX_JITTER是去抖動緩衝器延遲的 最小值和最大值;根據一個實例,這些值分別被設置為20ms和80ms。MIN_JITTER和MAX_ JITTER可以基於系統模擬來估計。(MIN_JITTER,MAX_JITTER, CONSTANT)的值可取決於使 用去抖動緩衝器的通信系統而被最優化。PERdelay可以在每個靜音段的結尾或在每個話音突峰的開頭處被更新,其中PERdelay 被如下計算PERdelay = PER_C0NSTANT X PERdelay+(1-PER_C0NSTANT) X Current_PERdelay (2)PER_C0NSTANT是供濾波器用於估計PERdelay的時間常數。該常數的值確定濾波器 的存儲,並允許實現TARGET_VALUE。
Current, PERdelay是在PERdelay的上一次更新和當前更新之間觀察到的「延遲下溢」率。CUrrent_PERdelay被定義為上一次更新和當前更新之間的延遲下溢分組的數目與 PERdelay的接收到的分組的總數的比率。
Current PER,,=肚一經肺細⑶
-自上一次更新以來接收到的分組的數目參考圖6,用於計算和更新去抖動緩衝器延遲的處理100通過初始化DEJITTER_ DELAY而在步驟101開始。在步驟102,通過比較而將PERdelay與TARGET_VALUE進行比較。 如果 PERdelay 小於 TARGET_VALUE,則在步驟 104,從 DEJITTER_DELAY 中減去值 CONSTANT。如 果在步驟 102 中 PERdelay 大於 TARGET_VALUE,並且在步驟 103 中 PERdelay 大於 TARGET_VALUE 並大於或等於LAST_PERdeuy,並在步驟103中不小於last_PERdelay,則處理繼續進行到決定 108。在步驟 108,DEJITTER_DELAY 被設置成 DEJITTER_DELAY 加上值 CONSTANT。從步驟 103繼續,如果PERdelay-不大於TARGET_VALUE並且不大於或等於LAST_PERdeuy,則處理繼續 進行到步驟110。此外,從步驟104繼續,在步驟110,DEJITTER_DELAY被設置成等於MIN_ JITTER和DEJITTER_DELAY中的最大值。從步驟110,處理繼續進行到步驟112,以便在步驟 112,將 DEJITTER_DELAY 設置成等於 MAX_JITTER 和 DEJITTER_DELAY 中的最小值。對延遲的跟蹤去抖動緩衝器可以進入對延遲進行跟蹤(而不是對下溢率進行跟蹤)的模式。所 跟蹤的延遲可以是端對端延遲或去抖動緩衝器延遲。在一個實例中,去抖動緩衝器在目標下溢率可以很容易滿足時進入「延遲跟蹤」模 式。這意味著去抖動緩衝器能夠在某段時間內實現比目標下溢率低的下溢率。該段時間可 以是幾百毫秒到幾秒中的任何一段時間。在該模式下,去抖動緩衝器具有目標延遲值。這類似於上述的下溢目標值。可以 以類似的方式使用上文中用於確定目標下溢率的等式(1)來計算目標延遲值。當去抖動緩 衝器進入確定目標延遲值的該模式時,只要能夠維持目標延遲,這就可以允許去抖動緩衝 器減小其目標下溢率。隱式緩衝器自適應在一些情形下,解碼器可能會期待再現還沒有接收到的分組。圖5中示出了這種 情形,其中PKT 50的預期再現時刻是tQ,但是PKT 50在該時刻後才被接收到。類似地,PKT 51在其預期再現時刻、後才被接收到,PKT 52在其預期再現時刻t2後才被接收到,等等。 此處應注意,分組相當規則地到達,但是由於PKT 50的接收時刻稍遲於其預期再現時刻, 所以它使所有隨後的分組也錯過了它們的再現時刻。另一方面,如果解碼器能夠在時刻、 插入擦除並仍能夠在時刻、再現分組PKT 50,則它將使得所有分組都符合它們的再現時 刻。通過在擦除之後再現PKT 50而不是已經對PKT 50進行再現,可以有效地使去抖動緩 衝器長度自適應。應注意,在PKT 50的擦除之後再現PKT 50可能會導致不連續,這可以通過使 用2005年7月7日提交的標題為「PHASE MATCHING INV0C0DERS」的共同未決的申請第 11/192,231號中描述的相位匹配技術來消除。
如圖7A所示,在分組的接收中可能會存在間隙,諸如PKT 3和PKT 4之間的時間 間隙。對於每個分組而言,分組到達時間中的延遲可能是不同的。去抖動緩衝器可以立即 採用調整以補償該延遲,來做出響應。如圖所示,PKT UPKT 2和PKT 3分別在時刻ti、t2 和、被接收到。在時刻t4,預期將接收到PKT 4,但是PKT 4還沒有到達。假定在圖7A中, 預期每20ms就會接收到分組。在本示例中,PKT 2在PKTl後的20ms被接收到,並且PKT 3 在PKT 1後的40ms被接收到。PKT4預期在PKT 1後的60ms被接收到,但是直到PKT 1後 的80ms才到達。在圖7B中,在接收到的第一個分組PKT 1的再現之前,在去抖動緩衝器處引入初 始延遲。此處,傳輸延遲是Dinit。在這種情況下,PKTl將在時刻Dinit由緩衝器再現 ,PKT 2 將在時刻01_+20!118由緩衝器再現,PKT 3將在時刻01_+40!118由緩衝器再現,等等。在圖 7B中,當PKT 4未能在預期時刻01_+60!118到達時,擦除可由去抖動緩衝器再現。在對分組 進行再現的下一時刻,去抖動緩衝器將試圖再現PKT 4。如果PKT 4仍未到達,則可在時刻 Dinit+80ms發送另一個擦除。擦除將繼續被再現,直到PKT 4到達去抖動緩衝器為止。一旦 PKT 4到達去抖動緩衝器,PKT 4就接著被再現。這樣的處理會導致延遲,因為直到接收到 PKT 4才會對其它分組進行再現。當系統不能夠恢復(即,從未接收到)PKT 4時,系統可以 對處理進行復位,從而允許再現PKT 4之後的分組而不再現PKT 4。在上述情形下,去抖動 緩衝器的端對端延遲具有增加的潛在可能,因為在PKT 4到達之前可能會長時間地繼續發 送擦除。相反,根據如圖7C所示的實例,如果分組未能到達或者如果分組的接收被延遲, 則在PKT 4的預期再現時刻將再現擦除。這類似於上面關於圖7B所描述的情形,在該情形 下,系統等待PKT 4。在下一再現時刻,如果PKT 4仍未到達而下一分組PKT 5已經到達,則 PKT 5得到再現。為了進一步說明,假設PKT 4的接收被延遲並且去抖動緩衝器預期在時刻 Dinit+80ms接收到PKT 4。當PKT 4被延遲時,將再現擦除。在時刻Dinit+100ms,如果PKT 4 仍未到達,則對PKT 5進行再現而不再現另一擦除。在該第二情形下,立即做出了對延遲的 調整並避免了通信網絡中過大的端對端延遲。該處理可被稱為IBA,因為在再現之前存儲在 緩衝器中的數據的大小是根據數據的接收而增加和減小的。隱式緩衝器自適應(IBA)處理200由圖8A中的流程圖示出。處理200可以實現 在自適應去抖動緩衝器內的控制器(諸如輸出控制器760或去抖動緩衝器控制器756)中。 處理200可以駐留在支持自適應去抖動緩衝器的系統內的其它部分中。在步驟202,在自適 應去抖動緩衝器處接收請求以提供用於再現的下一分組。下一分組被標識為具有序列中的 索引i的分組,具體為PKT[i]。在步驟204,如果隱式緩衝器自適應(IBA)模式被啟用,則 處理器繼續進行到步驟206以根據IBA模式進行處理;如果IBA模式被禁用,則處理繼續進 行到步驟226以便不採用IBA模式進行處理。如果在步驟206接收到PKT [i],則在步驟208,自適應去抖動緩衝器提供PKT [i] 以用於再現。IBA模式在步驟210被禁用,並且索引i被增加,S卩,(i = i+l)。此外,如果 在步驟206沒有接收到PKT [i]並且如果在步驟214接收到PKT [i+Ι],則處理繼續進行到步 驟216以對PKT[i+l]進行再現。IBA模式在步驟218被禁用,並且在步驟220,索引i被增 加兩次,即,(i = i+2)。如果在步驟214,PKT[i]和PKT[i+Ι]都沒有接收到,則在步驟222,控制器啟動對擦除的再現;並且在步驟224,索引i被增加。應注意,在本實例中,當處於IBA模式中時, 控制器總共檢查兩(2)個分組,來響應諸如在步驟202中接收到的對下一分組的請求。這 有效地實現了分組窗口,其中控制器在該分組窗口的範圍內搜索接收到的分組。可選實例 可以實現不同的窗口大小,例如,搜索三(3)個分組,在該實例中將是分組序號為i、i+1和 i+2的分組。返回到步驟204,如果IBA模式沒有被啟用,則處理繼續進行到步驟226以確定是 否接收到PKT [i]。如果接收到,則在步驟228,提供PKT [i]用於再現,並且在步驟230,索引 i被增加。如果在步驟226沒有接收到PKT[i],則在步驟232,自適應去抖動緩衝器提供擦 除以用於再現。由於沒有接收到PKT[i]並且擦除取代PKT[i]而得到再現,所以啟用IBA 模式。圖8B是與IBA模式有關的狀態圖。當處於普通模式242時,如果自適應去抖動緩 衝器提供PKT[i]用於再現,則控制器停留在普通模式。當擦除得到再現時,控制器從普通 模式242轉換到IBA模式240。一旦處於IBA模式240,控制器就停留在該模式中並繼續再 現擦除。在再現了 PKT[i]或PKT[i+l]之後,控制器從IBA模式240轉換到普通模式242。圖9是實現諸如圖8A和8B所示的IBA的去抖動緩衝器的一個實例。在本示例 中,再現裝置從解碼器請求用於再現的樣本。然後,解碼器從去抖動緩衝器請求足夠的分組 以允許再現裝置能夠進行不間斷的再現。在本示例中,分組傳送語音通信,並且再現裝置每 20ms就再現一樣本。可選系統可以通過其它配置將來自去抖動緩衝器的分組化的數據提供 給再現裝置,並且分組化的數據可以不同於語音通信。去抖動緩衝器在圖9中作為分組的堆疊而被示出。在該示例中,緩衝器首先接收 到PKT 49,接著隨後接收到PKT 50、PKT 51、PKT 52、PKT 53等。該示例中的分組號指的 是分組的順序。然而,在分組化的系統中,並不能保證將以該順序接收到分組。為了便於 清楚地理解,在該示例中,分組以與傳輸順序相同的數字順序被接收,該順序也是再現的順 序。為了說明的目的,在圖9中,將隨後接收到的分組堆在去抖動緩衝器中的先前接收到的 分組的上面;例如,PKT 49堆在PKT50的上面,PKT 51堆在PKT 50的上面,等等。去抖動 緩衝器中的位於堆疊底部的分組是首先要發送給再現裝置的分組。還應注意,在本示例中, 未示出目標去抖動緩衝器長度。在圖9中,相對於時間而畫出了分組的接收、分組的預期接收時刻以及分組的再 現時刻。在每次接收到分組時,都示出了更新後的緩衝器狀態。例如,PKT 49在時刻tQ被 接收到,其中預期在時刻tJ^PKT49進行再現。在時刻tQ (即PKT 49的接收時刻)上方的 圖的頂部,示出了在接收到PKT 49之後的緩衝器狀態。將去抖動緩衝器處接收到的每個分 組的接收時刻圖示為RECEIVED。就在RECEIVED時刻的下面,圖示了 ANTICIPATED PLAYBACK 時刻。再現時刻被標識為PLAYBACK。在該實例中,在最初,下一個要再現的分組是PKT 49,它被預期在時刻、得到再 現。預期下一個相繼的分組在時刻、得到再現,等等。第一分組PKT 49在預期再現時刻 tQ之前被接收到。因此,PKT 49按照預期在時刻、得到再現。預期下一分組PKT 50在時 刻、得到再現。然而,PKT 50的接收被延遲,並且擦除取代PKT 50而被發送給再現裝置。PKT 50 的延遲導致了如前所述的下溢。PKT 50在預期再現時刻、之後並在下一預期再現時刻t2
12之前被接收到。一旦接收到PKT 50,就將PKT 50存儲在去抖動緩衝器中。因此,當在時 刻t2接收到下一個對用於再現的分組的請求時,系統在去抖動緩衝器中尋找序號最低的分 組;並且PKT 50被提供給再現裝置以用於在時刻t2再現。應注意,通過使用IBA,即使沒有 及時接收到PKT 50以按照預期進行再現,PKT50也能在之後得到再現,並且具有從該點接 續下來的剩餘的序號的分組也能得到再現。如圖所示,隨後的分組PKT 5UPKT 52等都被 及時地接收和再現以避免更多的擦除。儘管看上去好像IBA增加了分組的端對端延遲,但這並非實際情況。由於IBA導致 更少數目的下溢,所以可以將從上文中的等式1估計的去抖動緩衝器值維持在較小的值。 因此,IBA的整體效果將是分組整體的平均端對端延遲的減小。IBA可以增強具有話音突峰的通信的處理。話音突峰是指語音通信的話音部分,其 中語音通信包括符合正常話音模式(speech pattern)的話音部分和靜音部分。在話音處 理中,聲碼器為話音生成一種類型的分組並為靜音生成另一種類型的分組。話音分組以一 種編碼速率編碼,並且靜音以不同的編碼速率編碼。當在去抖動緩衝器處接收到經編碼的 分組時,去抖動緩衝器根據編碼速率而識別分組類型。去抖動緩衝器假定話音幀是話音突 峰的一部分。第一個非靜音幀是話音突峰的開頭。話音突峰在靜音分組被接收到時結束。 在不連續的傳輸中,並非所有的靜音分組都被傳輸,這是因為接收器可能會實現模擬的噪 聲來佔據通信的靜音部分。在連續傳輸中,所有的靜音分組都被傳輸和接收。在一個實例 中,去抖動緩衝器根據接收到的分組的類型來調整去抖動緩衝器長度。換言之,系統可以決 定減小為通信的靜音部分所需的去抖動緩衝器的長度。應注意,IBA方法可以適用於根據 預定的定時方案(諸如固定速率等)進行再現的任何通信。時間規整話音突峰通常由數據的多個分組構成。在一個實例中,可以將話音突峰的第一分 組的再現延遲與去抖動緩衝器延遲相等的長度。去抖動緩衝器延遲可以以各種方式被確 定。在一種情形下,去抖動緩衝器延遲可以是基於諸如上文中的等式1的算法而計算的去 抖動緩衝器延遲。在另一情形下,去抖動緩衝器延遲可以是接收與去抖動緩衝器延遲的長 度相等的語音數據所花費的時間。可選地,可將去抖動緩衝器延遲選擇為前述值中的較小 值。在該實例中,假設去抖動緩衝器延遲通過使用等式1而被計算為60ms,並且話音突峰的 第一個分組在第一時刻^被接收到。當在第一分組後的50ms接收到話音突峰的下一分組 時,自適應去抖動緩衝器數據等於去抖動延遲60ms。換言之,從在自適應去抖動緩衝器處接 收到分組到分組的再現所經過的時間為60ms。應注意,可以設置自適應去抖動緩衝器的目標長度以實現60ms延遲。這樣的計算確定的是為了滿足延遲時間而將要存儲的分組的數目。自適應去抖動緩衝器監視數據對緩衝器的填充和從緩衝器的騰空,並調整緩衝 器的輸出以便將緩衝器維持在目標延遲長度,即調整數據量以便實現目標延遲時間。當 去抖動緩衝器發送話音突峰的第一分組以用於再現時,存在著等於A的延遲,其中A = MIN(去抖動緩衝器延遲,接收等於去抖動延遲的語音數據所花費的時間)。話音突峰的隨 後的分組被延遲的時間為A加上再現先前分組所花費的時間。因此,一旦已經定義了第一 分組的去抖動緩衝器延遲,就隱式地定義了相同話音突峰中的隨後分組的去抖動緩衝器延 遲。在實踐中,去抖動緩衝器延遲的定義可能會需要額外的考慮以便適應諸如圖10中所示的情況。圖10示出了話音突峰中的語音信息的傳輸。話音突峰150在時刻、被接收,並且 話音突峰154在時刻t2被接收。在話音突峰150和話音突峰154之間接收到20ms的靜音 段152。在接收到之後,自適應去抖動緩衝器可以存儲接收到的數據並為每個話音突峰分組 的再現確定延遲。在該實例中,話音突峰150在時刻、在自適應去抖動緩衝器處被接收到, 其中自適應去抖動緩衝器延遲時間被計算為80ms。將去抖動緩衝器延遲加到接收時刻上以 產生再現時刻。這樣,話音突峰150在再現之前被自適應去抖動緩衝器延遲了 80ms。話音 突峰150在時刻、開始再現,其中、=tjSOms,或者話音突峰150在接收到話音突峰150 之後的80ms開始再現;並且話音突峰150在時刻t4完成再現。通過使用諸如等式1的算法 來計算上述目標去抖動緩衝器長度,施加給話音突峰154的去抖動緩衝器延遲是40ms。這 意味著話音突峰154的第一個分組將在時刻、得到再現,其中t3 = t2+40ms,或者話音突峰 154的第一個分組將在接收到話音突峰154之後的40ms得到再現。然而,分組154在時刻 t3的再現,與在時刻t4結束再現的話音突峰150的最後一個分組的再現是相衝突的。因此, (為分組154)計算出的40ms的去抖動緩衝器延遲不能使話音突峰150有足夠的時間結束 再現。為了避免衝突並允許兩個分組都正確地得到再現,應該在話音突峰150的最後一個 分組已經再現之後才對與話音突峰150之間具有靜音段的話音突峰154的第一個分組進行 再現。在該實例中,話音突峰150和話音突峰154在時刻、至、之間相重疊。因此,再現 方法在這種情形下是不理想的。為了防止如本文中所述的分組再現之間的重疊,需要檢測 前一個話音突峰的最後一個分組被再現的時刻。因此,為分組進行的去抖動緩衝器延遲的 計算可以考慮前一個再現分組的再現時間,以便避免重疊或衝突。如上所述,在一個實例中,去抖動緩衝器延遲是在話音突峰的開頭處計算或更新 的。然而,將去抖動緩衝器延遲的更新限制到話音突峰的開頭,可能是有限制的,因為話音 突峰常常在長度上有所變化並且工作條件在話音突峰期間可能會發生變化。考慮圖10的 實例。因此,需要在話音突峰期間更新去抖動緩衝器延遲。應注意,合乎需要的是,控制從自適應去抖動緩衝器中流出的數據流以便維持目 標延遲長度。這樣,如果自適應去抖動緩衝器正在接收具有可變延遲的數據,則從自適應去 抖動緩衝器中流出的數據就可以得到調整,以便允許緩衝器填充有足夠的數據來滿足目標 自適應去抖動緩衝器長度。當自適應去抖動緩衝器所接收的分組不充足時,可以使用時間 規整來擴展分組以便維持目標延遲長度。類似地,當自適應去抖動緩衝器所接收的分組過 多並且正在存儲超出目標延遲長度的分組時,可以使用時間規整來壓縮分組。自適應去抖 動緩衝器可以與解碼器配合工作以便對分組進行時間規整,如本文中所述。圖11是包括通過網絡元件進行通信的兩個接收器的系統的框圖。接收器是AT 252和AT 282;如圖所示,AT 252和282適於通過BS 270進行通信。在AT 252中,發射處 理單元264將語音數據發送給編碼器260,編碼器260對語音數據進行數位化並將經分組的 數據發送給低層處理單元258。然後分組被發送給BS 270。當AT 252接收到來自BS 270 的數據時,數據首先在低層處理單元258中被處理,從這裡,數據的分組被提供給自適應去 抖動緩衝器256。接收到的分組被存儲在自適應去抖動緩衝器256中,直到達到目標去抖 動緩衝器長度為止。一旦達到了目標去抖動緩衝器長度,自適應去抖動緩衝器256就將數 據發送給解碼器254。在該示出的實例中,實現時間規整的壓縮和擴展可以在解碼器254中執行,該解碼器254將分組化的數據轉換成語音數據並將語音數據發送給接收處理單元 262。在本發明的另一實例中,時間壓縮和擴展(時間規整)可以在自適應去抖動緩衝器內 由(未示出的)控制器執行。AT 282的行為類似於AT 252。AT 282在從發射處理單元294 到編碼器290到低層處理單元288並最終到BS 270的路徑上發送數據。AT 282在從低層 處理單元288到自適應去抖動緩衝器286到解碼器284到接收處理單元292的路徑上接收 數據。進一步的處理並未示出,但是可能會影響諸如語音的數據的再現並且可能會涉及音 頻處理、屏幕顯示等。等式1中給出的去抖動緩衝器等式在話音突峰的開頭處計算去抖動緩衝器延遲。 去抖動緩衝器延遲可以表示諸如由話音突峰確定的特定分組數目,或者可以表示與(諸如 語音數據的)數據的再現等效的預期時刻。此處應注意,去抖動緩衝器具有目標大小,並且 這確定了預期在所有時間點處在去抖動緩衝器中看到的所存儲的數據量。由於信道條件和其它工作條件而引起的分組延遲的變化,會導致分組到達自適應 去抖動緩衝器的時間的差別。因此,自適應去抖動緩衝器中的數據量(分組數目)可能會 小於或大於所計算的去抖動緩衝器延遲值DEJITTER_DELAY。例如,分組可能會以比它們最 初在編碼器處被生成的速率更慢或更快的速率到達去抖動緩衝器。當分組以慢於預期速率 的速率到達去抖動緩衝器時,去抖動緩衝器會開始耗盡,因為到來的分組將不能以相同的 速率補充流出的分組。換句話說,如果分組以比編碼器處的生成速率更快的速率到達,則去 抖動緩衝器的大小會開始增加,因為分組離開去抖動緩衝器的速率無法與它們進入去抖動 緩衝器的速率一樣快。前一種狀況會導致下溢,而後一種狀況會由於去抖動緩衝器中更大 的緩衝時間而導致較高的端對端延遲。後一種狀況是重要的,因為如果分組數據系統的端 對端延遲減小(AT移動到負載更小的區域或者用戶移動到具有更好信道質量的區域),則 合乎需要的是將該延遲減小結合到話音的再現中。端對端延遲是重要的話音質量因素,並 且再現延遲的任何減小都會被感覺為會話或話音質量的提高。為了在去抖動緩衝器中校正DEJITTER_DELAY和實際存在於去抖動緩衝器中的數 據量之間的差別,去抖動緩衝器的一個實例採用時間規整。時間規整涉及擴展或壓縮話音 分組的持續時間。當自適應去抖動緩衝器開始耗盡時,去抖動緩衝器通過擴展話音分組來 實現時間規整,並且當自適應去抖動緩衝器變得大於DEJITTER_DELAY時,去抖動緩衝器通 過壓縮話音分組來實現時間規整。自適應去抖動緩衝器可以與解碼器配合工作以便對分組 進行時間規整。時間規整提供話音質量的實質性的提高而不會增加端對端延遲。圖12是實現時間規整的自適應去抖動緩衝器的一個實例的框圖。物理層處理單 元302將數據提供給數據堆棧304。數據堆棧304將分組輸出給自適應去抖動緩衝器和控 制單元306。前向鏈路(FL)媒體接入控制(MAC)處理單元300向去抖動處理單元306提供 越區切換指示。MAC層實現用於在物理層上(即通過空中)接收和發送數據的協議。MAC 層可以包括安全、加密、認證和連接信息。在支持IS-856的系統中,MAC層包含管理控制信 道、接入信道以及前向和反向業務信道的規則。目標長度估計器314通過使用等式1中給 出的計算而向去抖動緩衝器提供目標去抖動緩衝器長度。對目標長度估計器314的輸入包 括分組到達信息和當前分組差錯率(PER)。應注意,可選配置可以包括位於自適應去抖動緩 衝器和控制單元306內的目標長度估計器314。在一個實例中,自適應去抖動緩衝器和控制單元306還包括控制為再現提供的數據的速率的再現控制。從自適應去抖動緩衝器和控制單元306,分組被發送給不連續發射 (DTX)單元308,其中DTX單元308在話音數據未被接收到時向解碼器310提供背景噪聲信 息。應注意,由自適應去抖動緩衝器和控制單元306提供的分組已準備好用於解碼處理,並 且可被稱為聲碼器分組。解碼器310對分組進行解碼並將脈衝編碼調製(PCM)話音樣本 提供給時間規整單元312。在可選實例中,可以將時間規整單元312實現在解碼器310內。 時間規整單元312從自適應去抖動緩衝器和控制單元306接收時間規整指示符。時間規整 指示符可以是控制信號、指令信號或標記。在一個實例中,時間規整指示符可以是具有例如 壓縮、擴展和不進行時間規整的多狀態指示符。對於不同的壓縮級別和/或不同的擴展級 別,可以有不同的值。在一個實例中,時間規整指示符指示時間規整單元312擴展或壓縮數 據。時間規整指示符指示擴展、壓縮或不進行時間規整。可以將時間規整指示符看作是啟 動時間規整單元312處的操作的控制信號。時間規整指示符可以是規定如何擴展或壓縮分 組的消息。時間規整指示符可以標識要進行時間規整的分組以及所採取的操作是壓縮還是 擴展。此外,時間規整指示符可以向時間規整單元312提供對選項的選擇。在靜音間隔期 間,DTX模塊將去抖動緩衝器所提供的擦除流修改成擦除和靜音幀的流,其中解碼器使用該 擦除和靜音幀的流來重建更準確和更高質量的背景噪聲。在可選實例中,時間規整指示符 開啟和關閉時間規整。在另一實例中,指示符標識用於再現的壓縮和擴展的量。時間規整 單元312可以修改來自解碼器的樣本並將樣本提供給音頻處理316,該音頻處理316可以包 括接口和轉換單元以及音頻驅動器和揚聲器。儘管時間規整指示符標識了何時進行壓縮或者何時進行擴展,但仍需要確定將對 給定分組應用多少時間規整。在一個實施例中,時間規整的量是固定的,其中分組根據話音 周期或音高而被進行時間規整。在一個實施例中,時間規整指示符是作為目標擴展級別或目標壓縮級別的百分比 來傳遞的。換言之,時間規整指示符指示壓縮給定的百分比或者擴展給定的百分比。在一種情形下,可能有必要識別到來的數據的已知特性。例如,編碼器可以預期已 知音調的數據或者具有例如特定長度特性的數據。在這種情況下,由於可以預期特定特性,所以使用時間規整來修改接收到的數據 將不是理想的。例如,編碼器可以預期到來的數據具有特定的音調長度。然而,如果時間規 整被啟用,則音調長度可能會通過時間規整而被修改。因此,在這種情形下,不應該啟用時 間規整。基於音調的通信包括但不限於文本電話/聾啞人電話裝置(TTY/TDD)信息、使用 鍵盤輸入的應用或者使用基於音調的通信的其它應用。在這樣的通信中,音調載波信息的 長度,並且因此,修改音高或音調長度,諸如在再現時的壓縮或擴展,會導致該信息的丟失。 在使有聽力障礙的接收者能夠接收的TTY、TDD和其它應用中,解碼器也提供這種通信的其 帶內處理的狀態。該指示被用於掩蔽去抖動緩衝器所提供的時間規整指示。如果解碼器正 在處理具有TTY/TDD信息的分組,則應該禁用時間規整。這可以用2種方式來實現;向去抖 動緩衝器控制器提供TTY/TDD狀態,或者向時間規整單元提供TTY/TDD狀態。如果解碼器 TTY/TDD狀態被提供給去抖動緩衝器控制器,則當聲碼器指示TTY/TDD的處理時,控制器不 應該指示任何擴展或壓縮指示。如果解碼器TTY/TDD狀態被提供給時間規整單元,則這會 起到濾波器的作用,並且如果解碼器正在處理TTY/TDD信息,則時間規整單元在接收到時 間規整指示後不會採取操作。
在如圖12所示的系統中,自適應去抖動緩衝器和控制單元306監視到來數據的速 率,並且在過多或過少的分組被獲得或緩衝時生成時間規整指示符。自適應去抖動緩衝器 和控制單元306確定何時進行時間規整以及採取什麼操作。圖13A示出了通過使用壓縮和 擴展閾值來做出時間規整決定的自適應去抖動緩衝器的一個實例的操作。自適應去抖動緩 衝器累積可能已經以不規則的時間間隔到達的分組。去抖動目標長度估計器314產生目標 去抖動緩衝器長度;然後目標去抖動緩衝器長度被施加給去抖動緩衝器。在實踐中,自適應 去抖動緩衝器和控制單元306使用去抖動緩衝器長度值來做出關於去抖動緩衝器操作的 控制決定並控制再現。壓縮閾值和擴展閾值分別指示何時觸發壓縮或擴展。可以將這些閾 值指定為去抖動目標長度的一小部分。如圖13A所示,目標去抖動緩衝器長度被給定為LTa,get。壓縮閾值被給定為Te。_ess, 並且擴展閾值被給定為TExpand。當去抖動緩衝器長度增加到超出壓縮閾值Te。mpress時,去抖 動緩衝器向解碼器指示分組應該被壓縮。以類似的方式,當去抖動緩衝器長度減小到低於擴展閾值TExpand時,去抖動緩衝器 向解碼器指示分組應該被擴展並應該以更低的速率被有效地再現。擴展和壓縮閾值之間的操作點避免了下溢以及端對端延遲的過大的增加。因此, 目標操作是在Te。__和TExpand之間。在一個實例中,擴展和壓縮閾值的值被分別設置成去抖 動緩衝器的目標值的50%和100%。儘管在一個實例中,時間規整可以在解碼器內部執行, 而在可選實例中,該功能可以在解碼器外部執行,例如在解碼之後執行。然而,在合成信號 之前對信號進行時間規整可能會更簡單。如果在解碼信號之後應用這樣的時間規整方法, 則將需要估計信號的音高周期。在某些情形下,例如在W-CDMA系統中,去抖動緩衝器長度可以更大。時間規整閾 值發生器可以生成多個壓縮和擴展閾值。可以響應於工作條件而計算這些閾值。圖13B中 示出了多級別閾值。Tei是第一壓縮閾值,Te2是第二壓縮閾值,並且Te3是第三壓縮閾值。圖 中也示出了表示三個不同的壓縮閾值的值的TE1、TE2和TE3。閾值可以基於時間規整的百分 比(經歷時間規整的分組數目)、壓縮分組的百分比、擴展分組的百分比或者這兩個值的比 率。閾值的數目可以根據需要而變化,換言之,可能會需要更多或更少的閾值。閾值中的每 一個涉及不同的壓縮或擴展速率,例如,對於要求更細粒度的系統,可以使用更多的閾值, 而對於更粗糙的粒度,可以使用更少的閾值。TE1、TE2和TE3等可以是目標延遲長度的函數。 可以通過跟蹤延遲下溢並基於諸如PER的差錯統計數據來改變閾值。圖14示出了採用時間規整和沒有採用時間規整的分組的再現。在圖14中,PKT 1 在時刻、被傳輸,PKT 2在時刻、被發送,等等。分組按照所指示的那樣到達接收器,其中 PKT 1在、』到達,並且PKT 2在t2」到達。對於每個分組,將沒有使用時間規整的再現時刻 作為PLAYBACK WITHOUT WARPING(沒有採用規整的再現)給出。相反,將使用時間規整的 再現時刻作為PLAYBACK WITH WARPING(採用規整的再現)給出。由於本實例是關於諸如 話音通信的實時數據的,所以分組的預期再現時刻具有固定的時間間隔。在再現期間,理想 的是每個分組在預期再現時刻之前到達。如果分組的到達對於預期時刻的再現而言過遲, 則會對再現質量造成影響。PKT 1和2被按時接收到,並且它們被再現而沒有經歷時間規整。PKT 3和PKT 4 二者在同一時刻t4』被接收到。兩個分組的接收時刻是滿足要求的,因為每個分組都是在相關的預期再現時刻(對於PKT 3為t4」,對於PKT 4為t5』)之前接收到的。PKT 3和4被 按時再現而沒有經歷時間規整。當在PKT 5的預期再現時刻之後的時刻t6』接收到PKT 5 時,問題發生了。在預期再現時刻,擦除取代PKT 5而得到再現。隨後,PKT 5在擦除已經 開始再現之後才到達。在沒有採用規整的第一種情形下,PKT 5被丟棄並且PKT 6被接收到並在下一預 期再現時刻得到再現。應注意,在這種情況下,PKT 6被及時接收到以用於再現。在第二種 情形下,如果PKT 5和PKT 5之後的所有分組被延遲,則每個分組對於預期再現而言會到達 得過遲,並會導致一串擦除。在這兩種情形下,信息都被丟失,即,在第一種情形下PKT 5被 丟棄;在第二種情形下PKT 5和隨後的分組被丟失。
可選地,使用IBA技術允許PKT 5在下一預期再現時刻得到再現,其中隨後的分組 從該點接續下來。IBA防止了數據的丟失,但延遲了分組流。沒有採用時間規整的這種再現會增加通信系統中的整個端對端延遲。如圖14所 示,分組間的延遲會導致丟失信息或者再現的延遲。通過實現時間規整,當PKT 5在其預期再現時刻之後到達時,分組被擴展並且可 以避免擦除。例如,擴展PKT 4可以使再現以23ms完成而不是20ms。PKT 5在其被接收到 時得到再現。這比發送擦除來進行再現的情況(如圖14中所述的沒有採用時間規整但採 用了 IBA的再現的可選實例所示)要更快。用擴展PKT 4來代替發送擦除,會使再現質量 的惡化更小。因此,時間規整提供了更好的整體再現質量以及等待時間的減小。如圖14所 示,通過使用時間規整,與不使用時間規整技術的情況相比,PKT 5之後的分組更早地得到 了再現。在該具體實例中,當使用時間規整時,PKT 7在時刻t9得到再現,這要早於沒有採 用時間規整的情況。應用時間規整以改善再現質量,同時要考慮變化的工作條件以及話音傳輸中所傳 輸信息的特性的變化。由於具有話音突峰和靜音段的話音特性會變化,所以目標去抖動緩 衝器延遲長度以及用於每種類型的數據的壓縮和擴展閾值可能是不同的。圖15示出了隨著話音突峰的不同,由於去抖動延遲的差異而引起的「靜音壓縮」 和「靜音擴展」的實例。在圖15中,陰影區域120、124和128表示話音突峰,而無陰影的區域 122和126表示接收到的信息的靜音段。在被接收時,話音突峰120起始於時刻、並結束於 時刻t2。在接收器處,去抖動緩衝器延遲被引入,因此話音突峰120的再現開始於時刻t/。 去抖動緩衝器延遲被標識為時刻t/與時刻、之間的差。在被接收時,靜音段122起始於 時刻t2並結束於時刻t3。靜音段122被壓縮並被再現為從時刻t2』到t/的靜音段132,這 要小於接收到的靜音段122的原始持續時間。在信號源處,話音突峰124起始於時刻t3並 結束於時刻t4。在接收器處,話音突峰124從時刻t/到時刻t/被再現。靜音段126 (時 刻t4到t5)在接收器處進行再現時被擴展為靜音段136,其中(t5』 -t4』 )大於(t5-t4)。當 去抖動緩衝器需要更早地再現分組時可以壓縮靜音段,並且當去抖動緩衝器需要延遲分組 的再現時可以擴展靜音段。在一個實例中,靜音段的壓縮或擴展會導致語音質量微小的惡 化。因此,可以實現自適應去抖動延遲而不使語音質量惡化。在圖15的實例中,自適應去 抖動緩衝器壓縮和擴展由該自適應去抖動緩衝器識別和控制的靜音段。應注意,如在本文中使用的那樣,時間規整是指響應於到達時間和接收到的數據 的長度而對再現進行自適應控制。時間規整可以通過在再現時壓縮數據、在再現時擴展數據或者在再現時壓縮和擴展數據來實現。在一個實例中,使用閾值來觸發壓縮。在另一實 例中,使用閾值來觸發擴展。在又一實例中,使用兩個觸發一個用於觸發壓縮,一個用於觸 發擴展。其它實例可以採用指示時間規整的各種級別(例如,不同速率的快速再現)的多 個觸發。也可以在解碼器內部執行時間規整。用於執行解碼器時間規整的技術被記述在 2005 ^ 5 ^ 5 日白勺feH^J「Time Warping Frameslnside the Vocoder by Modifying the Residual」的共同未決的申請第11/123,467號中。在一個實例中,時間規整包含用於「融合」話音片段的方法。融合話音片段涉及比 較至少兩個連續的話音片段中的話音樣本,並且如果在所比較的片段之間發現相關性,則 生成至少兩個連續片段的單一片段。話音的融合是在試圖保持話音質量時進行的。保持話 音質量並使引入到輸出的話音中的瑕疵(諸如是提供給用戶的質量惡化的聲音,包括「咯 嚓聲」和「砰響聲」)最小化,是通過仔細地選擇要融合的分組來實現的。話音片段的選擇 基於片段的相似性或相關性。話音片段的相似性越接近,產生的話音質量就越好並且引入 話音瑕疵的概率就越低。圖16示出了隨時間繪出的話音信號。縱軸表示信號的幅度;並且橫軸表示時間。 應注意,話音信號具有區別性的模式,其中話音信號的一些部分隨時間重複。在該實例中, 話音信號包括從時刻、到t2的第一片段,其在t2到t3期間作為第二片段重複。當發現片 段的這種重複時,片段中的一個或更多個,諸如從時刻t2到時刻t3的片段,可以被消除而幾 乎不會對樣本的再現質量造成影響或者實際上不會造成影響。在一個實例中,可以使用如在下文中給出的等式4來找出兩個話音片段之間的 關係。相關性是兩個片段之間的關係的強度的度量。等式4提供了絕對和邊界相關因子 (從-1到1)作為關係的強度的度量,其中與反映較強關係(即較大的相關性)的較高的正 數相比,較低的負數反映較弱的關係,即較小的相關性。如果等式4的應用指示「良好的相 似性」,則執行時間規整。如果等式4的應用顯示出極弱的相似性,則瑕疵可能會存在於融 合的話音片段中。相關性給出如下 在等式4中,x和y表示兩個話音片段,m表示在其範圍內計算兩個片段之間的相 關性的窗口,d表示相關性部分,並且i是索引。如果等式4的應用指示可以融合片段而不 會引入瑕疵,則可以使用「重疊相加」技術來進行融合。重疊相加技術將被比較的片段結合 在一起並從兩個分離的話音片段中生成一個話音片段。使用重疊相加的結合,可以基於諸 如等式5的等式,其中等式5給出如下 i = 0. . WindowSize-1WindowSize = RWindowSize合成的樣本可以是脈衝編碼調製(PCM)樣本。每個PCM樣本具有定義位長度的預定格式和PCM樣本的格式。例如,16位帶符號數可以是表示PCM樣本的格式。通過應用等 式5而產生的重疊相加技術,包括進行加權以提供片段1的第一個PCM樣本和片段2的最 後一個PCM樣本之間的平滑過渡。在等式5中,「RWindowSize」是參考窗口中的PCM樣本 的數目,並且「OutSegment」是所產生的重疊相加後的片段的大小。「WindowSize」等於參考 窗口大小並且「Segment」是目標片段大小。這些變量是取決於採樣速率、話音的頻率內容 以及質量和計算複雜度之間的期望折衷而確定的。圖17A和17B中示出了上述的重疊相加技術。在圖17A中,示出了由160個PCM 樣本組成的話音片段。在該實例中,RWindowSize由PCM樣本0-47表示。換言之,PCM樣本 0-47與大小為WindowSize的參考窗口中的樣本的數目相對應。Segment是指目標搜索區 域的大小並由PCM樣本10-104表示。在該實例中,將PCM樣本0-47與樣本10-104進行比 較,一次比較一個PCM樣本,來找出參考樣本與目標搜索區域之間的最佳相關性。目標搜索 區域內發現最大相關性的位置被稱為「偏移」。在偏移點處,可以將RWindowSize與對應於 RffindowSize大小的Segment的部分結合。使對應於PCM樣本104-160的話音片段保持不 變。在圖17B中,以一次比較一個PCM樣本的方式將話音片段的第一個RWindowSize 樣本與話音片段的隨後的部分進行比較。發現RWindowSize與目標搜索區域(Segment)內 相應長度的樣本之間的最大相關性的位置是「偏移」。偏移的長度是從話音片段的開頭到發 現RWindowSize與Segment之間的最大相關性的點之間的距離。一旦發現最大相關性,就 (在偏移點處)將RWindowSize與相應長度的Segment融合。換言之,通過將RWindowSize 加到Segment內的相同長度的部分上,來執行重疊相加。這是在如圖所示的偏移點處進行 的。如圖所示,從原始片段中複製剩餘的樣本。所產生的話音樣本是通過將從原始話音片 段中複製的剩餘樣本附加在融合的樣本上而構成的,如圖所示。所產生的分組比原始片段 短偏移的長度更短。該處理被稱為話音壓縮。壓縮的話音片段越少,人檢測到任何質量惡 化的概率就越低。當去抖動緩衝器包含較少數目的語音分組時,執行話音擴展。如果去抖動緩衝器 具有較少數目的語音分組,則下溢的概率會增加。當發生下溢時,去抖動緩衝器可以將擦除 饋送給解碼器。然而,這會導致語音質量的惡化。為了防止語音質量的這種惡化,可以延遲 去抖動緩衝器中的最後幾個分組的再現。這是通過擴展分組來實現的。話音擴展可以通過重複話音片段的多個PCM樣本來實現。重複多個PCM樣本同時 避免瑕疵或音高平坦(Pitch flatness)是通過採用比執行話音時間壓縮時更多的PCM話 音樣本進行工作來實現的。例如,用於實現話音擴展的PCM樣本的數目可以是話音時間壓 縮中使用的PCM樣本的數目的兩倍。可以從先前再現過的話音分組中獲得額外的PCM樣本。圖18A示出了話音擴展的一個實例,其中每個分組或話音片段的長度為160個PCM 樣本並且「預擴展的」話音片段被生成。在該實例中,將兩個話音片段(即,「當前」話音片 段和「先前」話音片段)進行比較。將當前話音片段的第一個RWindowSize PCM樣本選擇 為參考樣本。將這些RWindowSize樣本與先前話音分組的Segment進行比較,其中具有最 大相關性的點(或偏移)被確定。在偏移點處將RWindowSizePCM樣本與先前分組內的相 應大小的Segment重疊相加。通過複製並將其餘的樣本從先前話音片段附加到經過重疊相 加的片段上來生成預擴展的話音片段,如圖18A所示。則擴展後的話音片段的長度是預擴展片段的長度加上當前話音片段的長度,如圖18A所示。在該實例中,PCM樣本從話音片段 的開頭處被偏移。在另一實例中,如圖18B所示擴展當前分組或話音樣本。參考樣本RWindowSize位 於當前話音片段的開頭處。將RWindowSize與其餘的當前話音分組進行比較直到定位出具 有最大相關性的點(偏移)。將參考樣本與當前話音片段內被發現具有最大相關性的相應 PCM樣本重疊相加。然後通過複製開始於分組的開頭處並結束於偏移點的PCM樣本,將重疊 相加後的片段附加到該PCM樣本上,並複製和附加來自當前分組的未修改的剩餘的PCM樣 本,來生成擴展後的話音片段。擴展後的話音片段的長度等於偏移加上原始分組的長度的 總禾口。在另一實例中,如圖18C所示擴展話音,其 中RWindowSize嵌在當前分組或話音片 段內並且不發生在分組的開頭處。Roffset是與當前分組的開頭到RWindowSize所起始的 點之間的距離相對應的話音片段的長度。將RWindowSize與當前分組中在具有最大相關性 的點處發現的相應大小的PCM樣本重疊相加。然後通過複製開始於原始分組或當前分組 的開頭處並結束於偏移處的PCM樣本,並附加重疊相加後的片段和來自原始分組的剩餘的 PCM樣本,來生成擴展後的話音片段。所產生的擴展後的話音片段的長度是原始分組的長度 加上偏移減去Roffset樣本(即如上面定義的Roffset中的PCM樣本的數目)。經濾波的時間規整閾倌為了避免壓縮和擴展決定的擺動,當自適應去抖動緩衝器中所存儲的分組的數目 快速變化時,使用變量來估計自適應去抖動緩衝器的狀態,即自適應去抖動緩衝器中所存 儲的分組數目,一個實例在採樣窗口上濾波這樣的變量。自適應去抖動緩衝器的狀態可以 指自適應去抖動緩衝器中所存儲的分組數目或者用於估計自適應去抖動緩衝器中所存儲 的數據的任何變量。在支持突發數據傳遞的稱為IxEV-DO的IS-856系統中,向給定接收器 傳遞的分組被時分復用在前向鏈路上,接收器可能會在一個時刻接收若干分組,在之後的 一端時間內沒有分組被接收到。這導致在接收器的自適應去抖動緩衝器處接收到脈衝串形 式的數據。接收到的數據實際上會經歷「集束」(bundling),其中可能會存在兩個或更多分 組在時間上相互接近地一起到達的情況。這樣的集束會很容易導致分組的擴展和壓縮之間 的擺動,其中自適應去抖動緩衝器響應於接收到的數據的速率和緩衝器的狀態而提供時間 規整指示。例如,考慮在話音突峰的開頭時,去抖動緩衝器的計算出的值(延遲或長度)為 40ms的情況。在稍後的時刻,去抖動緩衝器載荷落到擴展閾值以下,從而導致擴展數據分組 的決定。緊隨該分組的再現之後,集束的三個分組到達了 ;到達的數據填充了去抖動緩衝器 的大小使得壓縮閾值被超過。這將導致分組被壓縮。由於集束的分組到達之後可能跟隨著 一段時間內沒有分組到達的狀態,所以去抖動緩衝器可能會再次被耗盡,從而導致分組被 擴展。擴展和壓縮之間的這種來回切換會導致要進行時間規整的分組的高百分比。這是不 希望有的,因為我們希望將信號信息由於時間規整而被修改的分組的百分比限制到很小的 值。一個實例通過使集束現象可能會對自適應去抖動緩衝器的自適應控制以及數據 的時間規整和再現所造成的影響變平滑,來避免這種擺動。該實例使用平均值來確定何時 進行時間規整。平均值是通過濾波這種計算中所使用的變量來計算的。在一個實例中,壓 縮和擴展閾值是通過對去抖動緩衝器的大小進行濾波或求平均來確定的。應注意,緩衝器的大小是指緩衝器的當前狀態。將緩衝器大小的經濾波的值與擴展閾值進行比較,會導致更高數目的下溢,因為 通過使用未濾波的值可能已經被擴展的一些分組,在使用經濾波的值的情況下沒被擴展。 另一方面,將經濾波的值與壓縮閾值進行比較,可以用來抑制大部分的擺動(或時間規整 控制之間的來回切換)而只有最小的負面影響或實際上沒有負面影響。因此,可以以不同 的方式對待壓縮和擴展閾值。在一個實例中,對照擴展閾值來檢查自適應去抖動緩衝器大小的即時值。相反,對 照壓縮閾值來檢查去抖動緩衝器的經濾波的值。一種配置使用無限脈衝響應(IIR)濾波器 來確定自適應去抖動緩衝器的平均大小,其中自適應去抖動緩衝器具有可被周期性(諸如 每60ms計算一次)重新計算的經濾波的值。濾波器時間常數可以從集束統計數據中導出 並且用於lxEV-DO Rev A的該時間常數的一個實例可以是60msec。使用集束統計數據來導 出濾波器時間常數,這是因為它們與去抖動緩衝器的即時大小在工作期間的擺動情況之間 具有很強的相關性。由於缺失分組而引起的擴展如上文中所述,自適應去抖動緩衝器和用於控制自適應去抖動緩衝器及控制接收 到的數據的時間規整的各種方法可以適於具體的系統規範和工作條件。對於實現重複請求 方案(諸如混合自動重複請求(H-ARQ)方案)以改善性能的通信系統,這樣的重複處理具 有關於如何擴展話音分組的暗示。具體而言,H-ARQ會導致分組重新排序(即失序)地到 達。考慮圖19,其示出了具有一定長度的去抖動緩衝器和給定為目標去抖動緩衝器長度的 50%的擴展閾值TExpand。正被再現的當前分組具有序號20,它是PKT 20。去抖動緩衝器包 含分別具有序號21、23和24並標為PKT 2UPKT 23和PKT 24的三個分組。當再現裝置在 再現了 PKT 20之後請求下一分組時,擴展閾值不會觸發,因為去抖動緩衝器包含足以將緩 衝器長度維持在計算出的去抖動緩衝器長度的50%以上的分組。在本實例中,PKT 21因此 沒有被擴展。如果PKT22直到PKT 21結束再現的時刻還未到達,則這會導致下溢,因為分 組是按照順序再現的,並且因此再現裝置不會在PKT 22之前再現PKT23。即使擴展閾值不 會觸發,一個實例也預期到接收到的分組中的不連續,並選擇擴展PKT 21以便為PKT 22的 到達留出更多的時間。這樣,PKT 21的擴展可以避免分組缺失和擦除。因此,即使去抖動 緩衝器長度超出了擴展閾值TExpand,也可以擴展分組。可以增強應對分組進行擴展的條件。如上文中所述,如果去抖動緩衝器大小低於 擴展閾值,則可以擴展分組。在另一種情形下,如果具有下一序號的分組沒有存在於去抖動 緩衝器中,則可以擴展分組。如前所述,可以在話音突峰的開頭處計算去抖動緩衝器延遲。由於包括但不限於 信道條件和負載條件的網絡條件可能會在話音突峰期間(特別是在長話音突峰期間)發生 變化,所以將一個實例配置成在話音突峰期間改變去抖動緩衝器延遲。這樣,可以在話音 突峰期間每過CHANGE_JITTER_TIME秒就周期性地重新計算上文中給出的去抖動緩衝器等 式。可選地,可以在觸發事件(諸如工作條件、負載、空中接口指示的顯著變化或者其它事 件)發生時重新計算變量。在一個實例中,可以將CHANGE_JITTER_TIME的值設置成0. 2秒 (200ms)。時間規整閾值,例如壓縮和擴展閾值,可以在話音突峰期間提供關於如何改變取值的引導。正常操作是指當自適應去抖動緩衝器狀態在壓縮和擴展閾值之間並在目標去抖動緩衝器長度周圍時,接收器的操作。每個閾值充當觸發。當閾值被達到或違反時,可以取 決於閾值而擴展或壓縮自適應去抖動緩衝器中的分組。自適應去抖動緩衝器的大小在它接 收到分組時可以繼續擴展或收縮。自適應去抖動緩衝器大小的這種持續的變化表明在通 信期間可能會連續地接近壓縮和擴展閾值。通常,系統試圖將自適應去抖動緩衝器大小保 持在擴展和壓縮閾值之間,這被認為是穩定狀態。在穩定狀態下,自適應去抖動緩衝器的 大小不變化;並且分組接收中的變化以及因此產生的自適應去抖動緩衝器大小的變化,可 以自動地使壓縮/擴展閾值觸發並相應地對分組進行壓縮/擴展,直到達到新的自適應去 抖動緩衝器延遲。在這種情形下,自適應去抖動緩衝器目標延遲長度根據CHANGE_JITTER_ TIME而被更新。可以不必要計算去抖動緩衝器的實際大小,因為去抖動緩衝器大小在由於 達到時間規整擴展/壓縮閾值而引起觸發時會自動地變化。在一個實例中,可以將CHANGE_ JITTER_TIME 的值設置成 0. 2 秒(200ms)。越區切換預規整典型地,越區切換伴隨著短時間的覆蓋損失。當越區切換即將來臨時,AT會經歷 較差的信道條件和增加的分組延遲。一個實例以對話音分組應用時間規整的特殊方式來處 理越區切換狀況。AT—決定越區切換到新的基站,該信息就被用於控制去抖動緩衝器。在 接收到該越區切換信號後,AT進入「預規整」模式。在該模式下,AT擴展分組直到兩個條件 中的一個被滿足為止。在第一種條件下,去抖動緩衝器繼續累積分組並且累積起來的擴展 產生為PRE_WARPING_EXPANSION的去抖動緩衝器大小。換言之,對分組進行擴展直到達到 PRE_ffARPI NG_EXPANS I ON 可選地,在第二種條件下,時間段WARPING_TIME已被滿足。計時 器在接收到越區切換信號或中斷指示符時開始計時;接收器在WARPING_TIME時停止計時。 一旦這兩個條件中的一個已被滿足,AT就退出預規整模式。在預規整模式期間,除非(稍 後描述的)EncLTalkspurt條件被滿足,否則不壓縮任何分組,因為去抖動緩衝器希望累積 足夠的分組以便以規則的間隔將它們發送給再現裝置。在分組以規則間隔(例如20ms)被 預期的實例中,可以將PRE_WARPING_EXPANSION的值設置成40ms,並將WARPING_TIME的值 設置成等於100個時隙(166ms)。越區切換僅是中斷事件的一種形式。去抖動緩衝器可以實現用於處理越區切 換或其它類型的中斷的機制。為此,所需的信息是需要多少去抖動超額量來處理中斷 (PRE_WARPING_EXPANSION)和去抖動緩衝器將持續工作在這種中斷避免模式中多長時間 (WARPING_TIME)。計算延遲下溢的數目由於上文中提供的自適應去抖動緩衝器等式被設計成以延遲下溢的百分比為目 標,所以合乎需要的是準確地測量延遲下溢的數目。當發生下溢時,並不知道該下溢是由於 分組延遲引起的還是由於在網絡中某處(即,傳輸路徑)被丟棄的分組引起的。因此需要 準確地確定下溢的類型。在一個實例中,對於使用RTP/UDP/IP的通信,每個分組包括RTP序號。序號被用 於以接收到的分組的傳輸順序來排列接收到的分組。當發生下溢時,引起下溢的分組的RTP 序號會存儲在諸如存儲器陣列的存儲器中。如果具有識別出的序號的分組較遲地到達,則 將該下溢作為「延遲下溢」而計數。
「延遲下溢率」是下溢的數目與接收到的分組的總數的比率。在每次更新去抖動緩 衝器等式時,將下溢的數目和接收到的分組的數目都設置成零。對話咅突峰開頭和結尾處的增強考慮圖20,其示出了兩個用戶之間的會話的時間線。在該圖中,縱軸表示時間。每 個用戶發送話音突峰和靜音段,它們然後由另一用戶接收。為了清楚起見,帶陰影的塊段 400和410表示用戶1的話音突峰(話音片段)。未帶陰影的塊段405表示用戶2的話音 突峰。時間線上的話音突峰外部的區域表示用戶沒有講話但是可能在聽另一用戶講話或在 接收靜音段的時間。片段400在用戶2處得到再現。一旦話音片段400在用戶2處結束再 現,用戶2就在開始講話之前等待短時間間隔。用戶2的第一個話音片段405的開頭隨後 由用戶1聽到。用戶1所感覺到的會話往返行程延遲(RTD)是用戶1停止講話的時刻到用 戶1聽到用戶2的話音片段的開頭的時刻之間的時間間隙。會話RTD不是單向的端對端延 遲,而是用戶特定的並且從用戶的觀點來看是很重要的。例如,如果會話RTD對於用戶1而 言過大,這將促使用戶1再次開始講話而不等待用戶2的話音片段得到再現。這打斷了會 話流並且會被感覺為會話質量的惡化。可以以不同的方式改變用戶1所體驗的會話RTD。在一個實例中,可以改變用戶1 的話音片段的結尾被再現給用戶2的時刻。在第二實例中,改變的是用戶2的話音片段的 開頭被再現給用戶1的時刻。應注意,只有話音突峰的開頭和結尾的延遲才會影響會話中 的語音質量。設計目標是進一步減小在話音突峰開頭和結尾處的延遲。在一個實例中,目標是增強話音突峰的開頭。可以通過操作用戶1的話音突峰的 第一個分組使得收聽者用戶2比實現默認自適應去抖動緩衝器延遲的情況更早地接收到 分組,來實現這種增強。施加給自適應去抖動緩衝器中的分組的延遲可以是默認自適應去 抖動緩衝器延遲、計算出的值或者是被選擇成使得收聽者能夠在特定時刻接收到分組的 值。在一種情形下,通過在每個接收到的話音突峰的開頭處重新計算自適應去抖動緩衝器 延遲來改變話音突峰的第一個分組的定時。當減小施加給話音突峰的第一個分組的自適應 去抖動緩衝器延遲時,該第一個分組被加快地發送給收聽者。當增加施加的延遲時,該第一 個分組在較遲的時刻由收聽者接收到。用於第一個分組的默認去抖動緩衝器延遲可以小於 計算出的去抖動緩衝器延遲並且也可以大於計算出的去抖動緩衝器延遲。在所示出的實例 中,通過可以以秒來測量的被稱為MAX_BEGINNING_DELAY的值,來限制每個話音突峰的第 一個分組的去抖動延遲。該值可以是重新計算的去抖動緩衝器延遲或被設計成使得收聽者 能夠在指定時刻接收到分組的延遲。MAX_BEGINNING_DELAY的值可以小於實際計算的去抖動緩衝器延遲。當MAX_ BEGINNING_DELAY小於計算出的去抖動緩衝器延遲並被施加給話音突峰的第一個分組時, 話音突峰的隨後的分組將被自動地擴展。隨後分組的自動擴展會發生,是因為去抖動緩衝 器不能以它再現分組的相同速率接收到分組。當去抖動緩衝器再現分組時,去抖動緩衝器 的大小發生減小並且擴展閾值被接近。一旦達到擴展閾值,擴展就被觸發並且話音突峰中 的隨後的分組被擴展直到去抖動緩衝器接收到足以超過擴展閾值的到來的分組。通過實現 MAX_BEGINNING_DELAY值,收聽者更早地接收到了話音突峰的第一個分組,同時隨後的分組 被擴展。收聽者對更早地接收到初始分組感到滿意。增強話音突峰的開頭具有使下溢的數 目發生小量增加的潛在可能;然而,適當的MAX_BEGINNING_DELAY值會減輕這種影響。
在一個實例中,MAX_BEGINNING_DELAY的值被計算為實際去抖動目標的一小部分; 舉例來說,大小為 TARGET DE-JITTER BUFFERLENGTH 的 0. 7 倍的 MAX_BEGINNING_DELAY 值 會導致下溢的微小的增加。在另一實例中,MAX_BEGINNING_DELAY值可以是諸如40ms的固 定數字,這在例如支持lxEV-DO Rev A的系統中會導致下溢的微小增加。擴展話音突峰中的隨後的分組不會使整體語音質量惡化。這在圖20中被示出,其 中用戶2接收到來自用戶1的話音突峰的第一個分組並且初始或「單向延遲」被限制為Tdl。 如圖所示,話音片段400在用戶2處被接收到而沒有經過任何擴展或壓縮,然而,話音片段 405在接收時在用戶1處被壓縮。圖21是示出對話音突峰的開頭的增強的流程圖。首先在步驟510中確定系統是否 處於靜音模式。靜音模式可以與話音突峰之間的靜音段或者去抖動緩衝器沒有正在接收分 組的時間相對應。如果系統不處於靜音模式,則處理結束。如果它處於靜音模式,則在步驟 520中執行目標去抖動長度估計。然後,在步驟530中確定是否增強系統。根據一個實例, 增強指示計算出的目標自適應去抖動長度大於給定值,該給定值在一個實例中被給定為諸 如MAX_BEGINNING_DELAY的增強因子;在步驟540中,系統等待等於增強因子或目標長度的 一小部分的時間段以開始再現。如果系統不被增強,則在步驟550中,系統等待新目標長度 以開始再現。新目標的值可以等於計算出的目標去抖動緩衝器長度或最大去抖動緩衝器長 度。圖22也示出了對話音突峰的開頭的增強。圖中示出的處理580開始於對話音突 峰的識別。考慮兩種情形i)採用時間規整;和ii)沒有採用時間規整。在該實例中,使用 20ms長度的話音分組。可以實現任意長度的話音分組。此處,自適應去抖動緩衝器在再現 分組之前等待120ms。該值是自適應目標去抖動緩衝器長度並在步驟582中從自適應去抖 動緩衝器目標估計器接收到。在本實例中,120ms等效於在不採用時間規整的情況下接收六 (6)個分組,每個分組的長度為20ms。如果在步驟584,時間規整沒有被使用,則在120ms內 提供了六(6)個分組。因此,在第一種情形下,去抖動緩衝器在接收到六個分組之後將開始 再現分組。這在時間上等效於120ms的延遲。在第二種情形下,通過實施時間規整,去抖動 緩衝器可以擴展接收到的前四(4)個分組並在接收到四(4)個分組之後開始再現分組。因 此,即使這種情況下的80ms的去抖動緩衝器延遲小於估計的120ms的去抖動緩衝器延遲, 也可以通過擴展前面幾個分組來避免潛在的下溢。換言之,採用時間規整的分組再現可以 比沒有採用時間規整的分組再現開始得更早。因此,時間規整可以用於增強話音突峰的開 頭而不會影響下溢的數目。在另一實例中,可以增強話音突峰的結尾。這是通過壓縮話音突峰的最後幾個分 組,從而減小端對端延遲來實現的。換言之,話音突峰結尾處的延遲被變得更小並且第二 用戶更快地從第一用戶聽到了回應。圖23中示出了對話音突峰結尾的增強。此處,1/8速 率分組指示話音突峰的結尾。這不同於可以用於傳輸語音數據的全速率(速率1)分組、 半速率(速率1/2)分組或四分之一速率(速率1/4)分組。也可以將其它速率的分組用於 靜音段期間或話音突峰結尾處的傳輸。在語音通信中實施1/8速率分組作為靜音指示符 分組,被進一步記述在優先權日期為2005年2月1日、標題為「METHOD F0RDISC0NTINU0US TRANSMISSION AND ACCURATEREPRODUCTION OF BACKGROUND NOISE INFORMATION」的共同未 決的美國專利申請第11/123,478號中。
25
如圖23所示,在沒有採用時間規整的情況下,分組N至分組N+4在IOOms中被再現。通過壓縮話音突峰的最後幾個分組,相同的分組N至分組N+4可以在70ms中得到再現 而不是在IOOms中得到再現。當實施時間壓縮時,話音質量幾乎沒有惡化或實際上沒有惡化。對話音突峰的結 尾的增強,假定了接收器知曉對話音突峰結尾的識別,並能在接近結尾時預期到它。當在一個實例中通過實時傳輸協議(RTP)發送語音分組時,可以在每個話音突峰 的最後一個分組中設置「話音突峰結尾」指示符。當正在提供分組以進行再現時,在去抖動 緩衝器中的分組中檢查「話音突峰結尾」指示符。如果該指示符被設置在其中一個分組中 並且在正被提供以用於再現的當前分組和「話音突峰結尾」分組之間沒有缺失的序號,則對 正被提供以用於再現的分組以及當前話音突峰的所有將來的分組進行壓縮。在另一實例中,如果系統處於話音突峰中並且1/8速率分組或設置有靜音指示符 描述(SID)位的分組被傳遞給再現裝置,則系統轉換到靜音。可以通過檢查1/8速率分組 的大小而檢測到1/8速率分組。SID位被攜帶在RTP信頭中。如果系統處於靜音狀態,並且 既不是1/8速率分組也不是設置有SID位的分組被傳遞以用於再現時,系統轉換到話音突 峰狀態。應注意,在一個實例中,如本文中提供的自適應去抖動緩衝方法可以在系統處於話 音突峰狀態時被執行,並且可以在系統處於靜音段時被忽略。應注意,該方法可以正確地丟棄遲到的重複分組。如果重複分組到達,則它將被簡 單地丟棄,因為分組的第一個實例已在適當的時刻得到再現並且其序號沒有被保存在包含 「延遲下溢」候選者的陣列中。當在一個實例中通過RTP發送語音分組時,可以在每個話音突峰的最後一個分組 中設置「話音突峰結尾」指示符。當正在提供分組以進行再現時,在去抖動緩衝器中的分組 中檢查「話音突峰結尾」指示符。如果該指示符被設置在其中一個分組中並且在正被提供 以用於再現的當前分組和「話音突峰結尾」分組之間沒有缺失的序號,則對正被提供以用於 再現的分組以及當前話音突峰的所有將來的分組進行壓縮。圖24中示出了根據一個實例的對話音突峰結尾的增強的流程圖。新分組開始於 步驟600。在步驟605中,如果去抖動緩衝器長度大於或等於壓縮閾值,則在步驟635中生 成壓縮指示並且在步驟600中將結尾提供給新分組。在步驟605中,如果去抖動緩衝器不大 於或等於壓縮閾值,則在步驟610中確定去抖動緩衝器長度是否小於或等於擴展閾值。如 果其小於或等於擴展閾值,則步驟615確定結尾是否等於表示靜音段或話音突峰結尾的分 組速率。在一個實例中,可以在靜音段期間或在話音突峰結尾處,以例如20ms的恆定間隔 發送連續的一串1/8速率分組。在圖24中,如果在步驟615中確定結尾不等於1/8速率分 組,則在步驟620中擴展片段並返回到步驟600中的新分組。步驟625確定結尾是否等於 1/8。在步驟625中,如果結尾等於1/8速率,則在步驟635中生成壓縮指示。如果它不等 於1/8速率,則在步驟630中,再現是正常的,而不採用任何時間規整。時間規整質量優化器當許多連續的分組被壓縮(或擴展)時,這會顯著地使音頻加速(或減速)並會 導致質量的惡化。可以通過隔開經時間規整的分組,即在經過時間規整的分組後跟隨有一 些未經過時間規整的分組以後再規整另一分組,來避免這種惡化。如果將上述隔開經規整的分組的方法應用於擴展,則會使一些本來會經歷擴展的分組不經歷擴展。這會導致下溢,因為分組的擴展是在去抖動緩衝器耗盡分組時執行的。因 此,在一個實例中,可以將上述隔開經規整的分組的方法應用於壓縮分組,即在經過壓縮的 分組後可以跟隨有一些未經過壓縮的分組,之後才可以壓縮另一個分組。典型地,在兩個經 壓縮的分組之間不應被壓縮的這種分組的數目可以設置成2或3。觸發時間規整的條件的設置此處描述的是用於觸發語音分組的時間規整(擴展/壓縮)的許多條件。以下是 用於確定將對分組進行壓縮、進行擴展還是既不壓縮也不擴展的(偽碼形式的)規則的組
A皇
口朱oIf(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示出了與解碼器功能耦合的常規去抖動緩衝器的實現方案。在圖25中,預期分組以20ms間隔到達去抖動緩衝器。在該實例中可以觀察到,分
組以不規則的間隔到達,即具有抖動。去抖動緩衝器累積分組直到達到特定去抖動緩衝器 長度,以便一旦其開始以諸如20ms的規則間隔發送出分組,去抖動緩衝器就不會被耗盡。 在到達所需要的去抖動緩衝器長度時,去抖動緩衝器開始以20ms的規則間隔開始再現分 組。解碼器以規則間隔接收這些分組並將每個分組轉換成每分組為20ms的語音。可選實 例可以選擇其它時間間隔。 作為比較,圖26示出了支持時間規整的自適應去抖動緩衝器的實例。此處,分組 以不規則的間隔到達自適應去抖動緩衝器。然而在這種情況下,目標去抖動緩衝器長度小 得多。這是因為時間規整允許在去抖動緩衝器開始耗盡時擴展分組,從而為自適應去抖動 緩衝器得到補充留出了時間。解碼器可以在自適應去抖動緩衝器開始耗盡時擴展分組,並 在自適應去抖動緩衝器開始累積過多的分組時壓縮分組。可以觀察到,不均勻傳遞的語音 分組從自適應去抖動緩衝器被輸入到解碼器和時間規整單元中。由於採用了時間規整,這些分組被允許以不規則的間隔到達,解碼器取決於原始分組的到達時間而將每個分組轉換 成不同長度的語音分組。例如,在該實例中,解碼器將每個分組轉換成每分組為15-35ms的 語音。由於分組因為時間規整而可以更早地得到再現,所以所需的緩衝器大小變得更小,從 而在網絡中產生更小的等待時間。圖27是示出根據一個實例的AT的框圖。自適應去抖動緩衝器706、時間規整控制 單元718、接收電路714、處理器722的控制、存儲器710、發射電路712、解碼器708、H-ARQ 控制720、編碼器716、話音處理724、話音突峰ID 726、差錯校正704可以如前面的實施例 中所示耦合在一起。另外,它們可以經由圖27中所示的通信總線702耦合在一起。圖28示出了一個實例中的分組處理,其中分組由去抖動緩衝器接收並最終由揚 聲器再現。如圖所示,分組在去抖動緩衝器處被接收。去抖動緩衝器在從解碼器接收到分 組請求後向解碼器發送分組和時間規整信息。解碼器在從輸出驅動器接收到請求後向輸出 驅動器發送樣本。去抖動緩衝器內的輸入控制器保持對到來的分組的跟蹤,並且如果在到來的分組 中存在差錯則給出指示。去抖動緩衝器可以接收具有序號的分組。例如,差錯可以在到來 分組的序號低於先前分組的序號時,由輸入控制器檢測到。圖28中位於輸入控制器內的分 類單元對到來的分組進行分類。由分類單元定義的不同的類別可以包括「良好的分組」、「延 遲的分組」、「差分組」等。此外,輸入控制單元可以對分組進行比較並將該信息發送給去抖 動緩衝器控制器。圖28中示出的去抖動緩衝器控制器接收來自去抖動緩衝器的輸入和輸出控制器 的雙向輸入。去抖動緩衝器控制器接收來自輸入控制器的數據,其中這樣的數據指示到來 數據的特性,諸如接收到的良好分組的數目、接收到的差分組的數目等。去抖動緩衝器可以 使用該信息來確定何時需要使去抖動緩衝器收縮或增長,這會產生發送給時間規整控制器 的用於壓縮或擴展的信號。去抖動緩衝器控制器單元內的分組差錯率(PER)單元計算PER 延遲。去抖動緩衝器的輸出控制器從去抖動緩衝器請求分組。去抖動緩衝器的輸出控制器 單元還可以指示最後一個被再現的分組。解碼器將分組請求發送給去抖動緩衝器,並在這樣的請求後接收來自去抖動緩衝 器的分組。解碼器內的時間規整控制器單元從去抖動緩衝器的輸出控制器接收時間規整控 制信息。時間規整控制信息指示將對分組進行壓縮、擴展還是使其保持不變。由解碼器接 收的分組被解碼並轉換成話音樣本;並且在從輸出驅動器內的緩衝器接收到請求後,樣本 被發送給輸出驅動器。來自輸出驅動器的樣本請求由解碼器內的輸出控制器接收。相位匹配如前所述,在分組的預期再現時刻之後接收到分組,會導致擦除取代延遲分組而 得到再現。接收到自適應去抖動緩衝器處的擦除或缺失的分組,會導致解碼後的話音的不 連續。當自適應去抖動緩衝器辨認出潛在的不連續時,自適應去抖動緩衝器可以請求解碼 器執行相位匹配。如圖28所示,自適應去抖動緩衝器750可以包括接收來自輸出控制器760 的輸入的相位匹配控制器。相位匹配控制信息被發送給可以位於解碼器762中的相位匹配 單元。在一個實例中,相位匹配控制信息可以包括「相位偏移」和「遊程長度」 (rim length) 信息。相位偏移是解碼器已經解碼的分組數目和編碼器已經編碼的分組數目之間的差。遊 程長度是指就在當前分組的解碼之前,解碼器已經解碼的連續擦除的數目。
28
在一個實例中,相位匹配和時間規整都在具有公共控制代碼或軟體的解碼器中實 現。在一個實例中,解碼器實現波形內插,其中a)如果沒有使用時間規整和相位匹配,則使用採用160個樣本的波形內插 (waveform_ interpolation)來進行語音編碼;b)如果使用了時間規整並且沒有使用相位匹配,則使用採用(160+-N*音高周期) 個樣本的波形內插解碼(waveform_interpolation_decoding)來進行語音編碼,其中N可 以是1或2;c)如果沒有使用時間規整並且使用了相位匹配,則使用採用(160-A)個樣本的 波形內插解碼(waveform_interpolation_decoding)來進行語音編碼,其中A是相位匹配量。d)如果使用了相位匹配和時間規整二者,則使用採用(160-A+-N*音高周期)個 樣本的波形內插解碼(waveform_interpolation_decoding)來進行語音編碼,其中A是相
位匹配量。對輸出驅動器的時鐘輸入,確定了該輸出驅動器內的緩衝器對數據進行請求的頻 率。這是系統中的主要時鐘並且可以以許多不同的方式實現。系統的主時鐘可以通過PCM 樣本的採樣速率導出。例如,如果正在通信的是窄帶話音,則系統每秒再現8000個PCM樣 本(8KHz)。該時鐘可以驅動系統的其餘部分。一種方法是讓音頻接口 770在需要更多樣本 時從解碼器請求更多樣本。另一種方法是讓解碼器/時間規整單元獨立地運行,由於該模 塊知道先前傳遞了多少PCM樣本,所以它知道接下來何時提供更多的樣本。調度器可以位於解碼器762中或音頻接口和控制單元810中。當位於音頻接口控 制單元810中時,調度器基於接收到的PCM樣本的數目來確定對分組的下一請求。當調度 器位於解碼器中時,調度器可以每過t ms就請求分組。例如,解碼器調度器可以每2ms就 從自適應去抖動緩衝器750請求分組。如果在解碼器中沒有啟用時間規整,或者如果時間 規整單元不位於解碼器762中,則調度器將與1個分組中的樣本數目恰好相對應的一組樣 本發送給音頻接口和控制單元770。例如,在音頻接口單元770每過2ms就請求樣本的情況 下,解碼器的輸出控制器766發送16個PCM樣本(1個分組對應於20ms,即8Khz採樣速率 下的話音數據的160個樣本)。換言之,當時間規整控制器位於解碼器外部時,解碼器的輸 出是用於樣本轉換的普通分組。音頻接口單元770將樣本的數目轉換成在解碼器執行時間 規整的情況下它會接收到的樣本的數目。在另一種情形下,當時間規整控制器位於解碼器內並且時間規整被啟用時,在壓 縮模式下,解碼器可以輸出更少的樣本;並且在擴展模式下,解碼器可以輸出更多的樣本。圖30進一步示出了調度功能由解碼器實現的情形。在步驟902,解碼器從去抖動 緩衝器請求分組。在步驟904,分組被接收。在步驟906中,分組被轉換成「N」個樣本。在 步驟908中,「N」個產生的樣本被傳遞給音頻接口控制單元,並且在步驟910中,將下一分 組請求調度為N的函數。圖31示出了解碼器外部的音頻接口和控制單元中的調度。在步驟1002,音頻接 口單元首先請求一組PCM樣本。在步驟1004,接收到所請求的PCM樣本,並且在步驟1006 中,將下一分組請求調度為N的函數。時間規整指示符(諸如,不進行時間規整指示符)可以是來自自適應去抖動緩衝器的指令的一部分。圖32示出了在解碼器外部計算調度方案的例如音頻接口和控制單元 中的時間規整單元。分組類型、時間規整指示符和要進行的規整量被輸入給時間規整單元。圖33示出了在解碼器中的時間規整單元中計算調度方案的時間規整單元。對時 間規整單元的輸入包括分組類型、時間規整指示符和要進行的規整量。規整量和啟用信號 被輸入給時間規整單元的質量優化單元。時間規整信息被輸出。
儘管本說明書描述了本發明的特定實例,但是普通技術人員能在不脫離本發明概 念的情況下提出本發明的變形。例如,本文中的教導是參照電路交換網絡元件進行說明的, 但是其等效地適用於分組交換域網絡元件。此外,本文的教導不限於認證三元組對,還可適 用於包括兩個SRES值(一個是通常的格式,一個是本文公開的新格式)的單個三元組。本領域的專業技術人員可以理解,可以使用許多不同的工藝和技術中的任意一種 來表示信息和信號。例如,上述說明中提到過的數據、指令、命令、信息、信號、比特、符號、及 碼片都可以表示為電壓、電流、電磁波、磁場或磁性粒子、光場或光粒子、或以上的結合。本領域的專業技術人員還可以進一步意識到,結合本文中所公開的實例描述的各 種示例的邏輯塊、模塊、電路、方法及算法,能夠以電子硬體、計算機軟體、或二者的結合被 實現。為了清楚地說明硬體和軟體的可互換性,在上述說明中已經按照功能一般性地描述 了各種示例的組件、程序塊、模塊、電路、方法及算法。這種功能究竟以硬體還是軟體方式來 實現,取決於整個系統的特定的應用和設計約束條件。專業技術人員可以對每個特定的應 用來使用不同方法來實現所描述的功能,但是這種實現決定不應被認為超出了本發明的範 圍。結合本文中所公開的實例描述的多種示例的邏輯塊、模塊和電路可以用通用處理 器、數位訊號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)或其它可編程 邏輯器件、分立門或電晶體邏輯、分立硬體部件、或設計成執行本文所述功能的以上的任意 組合來實現或執行。通用處理器可以是微處理器,但是可替換地,處理器也可以是任何常規 的處理器、控制器、微控制器、或狀態機。處理器也可以被實現為計算器件的組合,例如,DSP 和微處理器的組合、多個微處理器的組合、一個或多個微處理器與一個DSP核心的組合、或 任意其它此類配置。結合本文中所公開的實例描述的方法或算法可以直接用硬體、處理器執行的軟體 模塊、或二者的結合來實施。軟體模塊可置於RAM存儲器、快閃記憶體、ROM存儲器、EPROM存儲器、 EEPROM存儲器、寄存器、硬碟、可移動硬碟、CD-ROM、或技術領域內所公知的任意其它形式的 存儲介質中。可將存儲介質連接到處理器,以便處理器可從存儲介質讀取信息並向存儲介 質寫入信息。可替換地,存儲介質可以被集成在處理器中。處理器和存儲介質可以置於ASIC 中。對所公開的實例的上述說明,是為了使本領域的任何專業技術人員能夠實現或使 用本發明。對這些實例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中 所定義的一般原理可以在不脫離本發明的精神或範圍的情況下,在其它實例中實現。因此, 本發明將不會被限制於本文所示的這些實例,而是要符合與本文所公開的原理和新穎特點 一致的最寬的範圍。
權利要求
一種設備,包括緩衝存儲器存儲單元,其被配置成存儲數據的分組;和用於緩衝自適應的裝置,其被配置成將接收到的數據的分組的順序標識符與再現順序進行比較,所述用於緩衝自適應的裝置被配置成選擇接收到的分組的至少一個以用於再現。
2.如權利要求1所述的設備,其中,所述用於緩衝自適應的裝置進一步被配置成如果 沒有接收到具有預期再現順序標識符的預期分組,則啟動擦除的再現,其中,所述擦除在所 述預期分組的預期再現時刻被再現。
3.如權利要求1所述的設備,其中,所述用於緩衝自適應的裝置進一步被配置成確定下一預期再現時刻;將接收到的分組的順序標識符與包括所述預期再現順序標識符的多個順序標識符進 行比較;和如果沒有接收到所述預期分組和下一順序的分組,則啟動擦除的再現,其中,所述擦除 在所述預期分組的下一預期再現時刻被再現。
全文摘要
本發明公開了一種用於分組交換通信的語音IP傳輸(VoIP)的自適應去抖動緩衝器。本發明所提供的去抖動緩衝器方法和設備避免了下溢的再現,同時平衡了端對端延遲。在一個實例中,去抖動緩衝器在每個話音突峰的開頭被重新計算。在另一實例中,話音突峰分組在接收到所有剩餘的分組後被壓縮。
文檔編號G10L19/14GK101873266SQ201010202729
公開日2010年10月27日 申請日期2005年8月30日 優先權日2004年8月30日
發明者M·亞武茲, P·J·布萊克, R·卡普爾, S·D·斯平多拉 申請人:高通股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀