本申請案主張2014年7月31日申請的標(biāo)題為“基于冗余的包發(fā)射錯誤恢復(fù)的系統(tǒng)和方法(SYSTEM AND METHOD OF REDUNDANCY BASED PACKET TRANSMISSION ERROR RECOVERY)”的第62/031,675號美國臨時專利申請案的優(yōu)先權(quán),所述申請案的內(nèi)容以全文引用的方式并入本文中。
技術(shù)領(lǐng)域
本發(fā)明大體上涉及基于冗余的包發(fā)射錯誤恢復(fù)。
背景技術(shù):
技術(shù)的進步已經(jīng)產(chǎn)生了更小且更強大的計算裝置。舉例來說,當(dāng)前存在各種便攜式個人計算裝置,包括無線計算裝置,例如較小、輕重量且易于由用戶攜帶的便攜式無線電話、個人數(shù)字助理(PDA)和尋呼裝置。更具體地說,便攜式無線電話,例如蜂窩電話和因特網(wǎng)協(xié)議(IP)電話,可經(jīng)由無線網(wǎng)絡(luò)傳送話音和數(shù)據(jù)包。另外,許多此類無線電話包括并入其中的其它類型的裝置。舉例來說,無線電話還可包含數(shù)字靜態(tài)相機、數(shù)字?jǐn)z像機、數(shù)字記錄器和音頻文件播放器。并且,此類無線電話可處理可執(zhí)行指令,包含軟件應(yīng)用程序,例如可用以接入因特網(wǎng)的網(wǎng)絡(luò)瀏覽器應(yīng)用程序。由此,這些無線電話可包含大量計算能力。
通過數(shù)字技術(shù)發(fā)射話音是普遍的,尤其在長距離和數(shù)字無線電電話應(yīng)用中。可存在確定對可經(jīng)由信道發(fā)送的最少量的信息同時維持經(jīng)重構(gòu)語音的感知質(zhì)量的關(guān)注。如果通過取樣和數(shù)字化來發(fā)射語音,那么可使用約六十四千位每秒(kbps)的數(shù)據(jù)速率來實現(xiàn)模擬電話的語音品質(zhì)。通過在接收器處使用語音分析,接著譯碼、發(fā)射和重新合成,可實現(xiàn)數(shù)據(jù)速率的顯著減小。
用于壓縮語音的裝置可用于許多電信領(lǐng)域中。示范性領(lǐng)域為無線通信。無線通信的領(lǐng)域具有許多應(yīng)用,包括(例如)無繩電話、尋呼、無線本地回路、例如蜂窩式和個人通信服務(wù)(PCS)電話系統(tǒng)的無線電話、移動因特網(wǎng)協(xié)議(IP)電話和衛(wèi)星通信系統(tǒng)。特定應(yīng)用是用于移動訂戶的無線電話。
已開發(fā)用于無線通信系統(tǒng)的各種空中接口,包括(例如)頻分多址(FDMA)、時分多址(TDMA)、碼分多址(CDMA)以及時分同步CDMA(TD-SCDMA)。在與其的連接中,已經(jīng)建立各種國內(nèi)和國際標(biāo)準(zhǔn),包含例如高級移動電話服務(wù)(AMPS)、全球移動通信系統(tǒng)(GSM)和過渡標(biāo)準(zhǔn)95(IS-95)。示范性無線電話通信系統(tǒng)為碼分多址(CDMA)系統(tǒng)。IS-95標(biāo)準(zhǔn)及其衍生標(biāo)準(zhǔn)、IS-95A、ANSI J-STD-008和IS-95B(本文中共同稱作IS-95)由電信行業(yè)協(xié)會(TIA)和其它公認(rèn)標(biāo)準(zhǔn)機構(gòu)頒布以指定CDMA空中接口針對蜂窩式或PCS電話通信系統(tǒng)的使用。
IS-95標(biāo)準(zhǔn)隨后演進成例如cdma2000和WCDMA的“3G”系統(tǒng),所述“3G”系統(tǒng)提供更大容量和高速包數(shù)據(jù)服務(wù)。cdma2000的兩個變體由TIA發(fā)布的文獻(xiàn)IS-2000(cdma2000 1xRTT)和IS-856(cdma2000 1xEV-DO)呈現(xiàn)。cdma2000 1xRTT通信系統(tǒng)提供153kbps的峰值數(shù)據(jù)速率,而cdma2000 1xEV-DO通信系統(tǒng)定義范圍介于38.4kbps到2.4Mbps的一組數(shù)據(jù)速率。WCDMA標(biāo)準(zhǔn)實施于第三代合作伙伴計劃“3GPP”文獻(xiàn)第3G TS 25.211號、第3G TS 25.212號、第3G TS 25.213號以及第3G TS 25.214號中。國際移動電信高級(IMT-高級)規(guī)范陳述“4G”標(biāo)準(zhǔn)。對于高移動性通信(例如,來自火車和汽車),高級IMT規(guī)范設(shè)定100兆位/秒(Mbit/s)的峰值數(shù)據(jù)速率用于4G服務(wù),且對于低移動性通信(例如,來自行人和靜止用戶),高級IMT規(guī)范設(shè)定1千兆位/秒(Gbit/s)的峰值數(shù)據(jù)速率用于4G服務(wù)。
使用通過提取關(guān)于人類語音生成模型的參數(shù)來壓縮語音的技術(shù)的裝置被稱為語音譯碼器。語音譯碼器可包括編碼器和解碼器。編碼器將傳入語音信號劃分成時間塊或分析幀??蓪⒚恳粫r間區(qū)段(或“幀”)的持續(xù)時間選擇為足夠短,使得可預(yù)期信號的頻譜包絡(luò)保持相對固定。舉例來說,一個幀長度為二十毫秒,其對應(yīng)于八千赫茲(kHz)取樣速率下的160個樣本,不過可使用認(rèn)為適用于特定應(yīng)用的任何幀長度或取樣速率。
編碼器分析傳入語音幀以提取某些相關(guān)參數(shù),且隨后將所述參數(shù)量化成二進制表示(例如,一組位或二進制數(shù)據(jù)包)。數(shù)據(jù)包通過通信信道(即,有線和/或無線網(wǎng)絡(luò)連接)發(fā)射到接收器和解碼器。解碼器處理所述數(shù)據(jù)包、去量化經(jīng)處理的數(shù)據(jù)包以產(chǎn)生參數(shù),并使用經(jīng)去量化參數(shù)來重新合成語音幀。
語音譯碼器的功能是通過去除語音中固有的自然冗余來將經(jīng)數(shù)字化的語音信號壓縮成低位速率信號??赏ㄟ^用一組參數(shù)表示輸入語音幀且使用量化來用一組位表示所述參數(shù)來實現(xiàn)數(shù)字壓縮。如果輸入語音幀具有位數(shù)目Ni,且語音譯碼器產(chǎn)生的數(shù)據(jù)包具有位數(shù)目No,那么語音譯碼器所實現(xiàn)的壓縮因子是Cr=Ni/No。挑戰(zhàn)是在實現(xiàn)目標(biāo)壓縮因子時保留經(jīng)解碼語音的高話音質(zhì)量。語音譯碼器的性能取決于:(1)語音模型或上文所描述的分析和合成過程的組合執(zhí)行得多好,以及(2)在No位每幀的目標(biāo)位速率下參數(shù)量化過程執(zhí)行得多好。因此,語音模型的目標(biāo)是在每一幀具有較小一組參數(shù)的情況下,捕獲語音信號的本質(zhì)或目標(biāo)語音質(zhì)量。
語音譯碼器通常利用一組參數(shù)(包含向量)來描述語音信號。良好的一組參數(shù)為感知上準(zhǔn)確的語音信號的重構(gòu)理想地提供低系統(tǒng)帶寬。音調(diào)、信號功率、譜包絡(luò)(或共振峰)、振幅和相譜是語音譯碼參數(shù)的實例。
語音譯碼器可實施為時域譯碼器,其試圖通過利用高時間分辨率處理一次編碼較小語音片段(例如,5毫秒(ms)的子幀)來捕獲時域語音波形。對于每一子幀,借助于搜索算法來找出來自碼簿空間的高精度代表?;蛘?,語音譯碼器可實施為頻域譯碼器,其試圖用一組參數(shù)(分析)來捕獲輸入語音幀的短期語音譜,并利用對應(yīng)的合成過程來從譜參數(shù)再造語音波形。參數(shù)量化器通過根據(jù)已知量化技術(shù)用代碼向量的所存儲表示來表示參數(shù)而保留所述參數(shù)。
一種時域語音譯碼器是代碼激發(fā)線性預(yù)測性(CELP)譯碼器。在CELP譯碼器中,通過找出短期共振峰濾波器的系數(shù)的線性預(yù)測(LP)分析來去除語音信號中的短期相關(guān)性或冗余。將短期預(yù)測濾波器應(yīng)用于傳入語音幀產(chǎn)生LP殘差信號,用長期預(yù)測濾波器參數(shù)和后續(xù)隨機碼簿對所述LP殘差信號進行進一步模型化和量化。因此,CELP譯碼將編碼時域語音波形的任務(wù)劃分成編碼LP短期濾波器系數(shù)和編碼LP殘差的單獨任務(wù)??梢怨潭ㄋ俾?即,針對每一幀使用相同位數(shù)No)或以可變速率(其中針對不同類型的幀內(nèi)容使用不同的位速率)執(zhí)行時域譯碼。可變速率譯碼器嘗試使用將編解碼器參數(shù)編碼到足以獲得目標(biāo)質(zhì)量的層級所需要的位的量。
例如CELP譯碼器等時域譯碼器可依靠每幀的高位數(shù)N0來保留時域語音波形的準(zhǔn)確性。假如每幀的位數(shù)No相對較大(例如,8kbps或更高),那么此類譯碼器可傳遞極好的話音質(zhì)量。在低位速率(例如,4kbps和更低)時,歸因于受限的可用位數(shù),時域譯碼器可能無法保持高質(zhì)量和穩(wěn)健性能。在低位速率下,受限碼簿空間削減在較高速率商業(yè)應(yīng)用中所部署的時域譯碼器的波形匹配能力。因此,盡管隨著時間推移在改進,但以低位速率操作的許多CELP譯碼系統(tǒng)經(jīng)受表征為噪聲的感知上顯著的失真。
低位速率下的CELP譯碼器的替代方案是“噪聲激發(fā)線性預(yù)測性”(NELP)譯碼器,其在與CELP譯碼器類似的原理下操作。NELP譯碼器使用經(jīng)濾波偽隨機噪聲信號而非碼簿來模型化語音。由于NELP針對經(jīng)譯碼語音使用較簡單的模型,因此NELP實現(xiàn)比CELP低的位速率。NELP可用于壓縮或表示無聲語音或靜默。
以約2.4kbps的速率操作的譯碼系統(tǒng)在本質(zhì)上大體上是參數(shù)性的。就是說,此類譯碼系統(tǒng)通過以規(guī)則間隔發(fā)射描述語音信號的音調(diào)周期和譜包絡(luò)(或共振峰)的參數(shù)來操作。LP聲碼器系統(tǒng)對于這些所謂的參數(shù)性譯碼器具說明性。
LP聲碼器以每音調(diào)周期單個脈沖來模型化有聲語音信號。此基本技術(shù)可經(jīng)擴增以包含發(fā)射關(guān)于譜包絡(luò)的信息等等。盡管LP聲碼器一般來說提供合理的性能,但它們可能引入表征為蜂音的感知上相當(dāng)大的失真。
近年來,已出現(xiàn)了作為波形譯碼器和參數(shù)譯碼器兩者的混合的譯碼器。這些混合譯碼器中的說明性混合譯碼器是原型波形內(nèi)插(PWI)語音譯碼系統(tǒng)。PWI語音譯碼系統(tǒng)還可被稱為原型音調(diào)周期(PPP)語音譯碼器。PWI語音譯碼系統(tǒng)提供用于譯碼有聲語音的高效方法。PWI的基本概念是以固定間隔提取代表性音調(diào)循環(huán)(原型波形),發(fā)射其描述,以及通過原型波形之間的內(nèi)插來重構(gòu)語音信號。PWI方法可對LP殘差信號或所述語音信號操作。
例如無線電話等電子裝置可經(jīng)由網(wǎng)絡(luò)發(fā)送和接收數(shù)據(jù)。舉例來說,可經(jīng)由電路交換網(wǎng)絡(luò)(例如,公共交換電話網(wǎng)絡(luò)(PSTN)、全球移動通信系統(tǒng)(GSM)網(wǎng)絡(luò)等)或包交換網(wǎng)絡(luò)(例如,因特網(wǎng)協(xié)議話音(VoIP)網(wǎng)絡(luò)、長期演進話音(VoLTE)網(wǎng)絡(luò)等)發(fā)送和接收音頻數(shù)據(jù)。在包交換網(wǎng)絡(luò)中,音頻包可個別地從源裝置投送到目的地裝置。由于網(wǎng)絡(luò)條件,音頻包可能無序地到達(dá)。目的地裝置可在去抖動緩沖器中存儲接收到的包,并且如果接收到的包是無次序的,那么可重新布置接收到的包。
目的地裝置可基于接收到的包來重構(gòu)數(shù)據(jù)。由源裝置發(fā)送的特定包可能不會被目的地裝置接收到,或可能被目的地裝置錯誤地接收到。目的地裝置可能不能夠恢復(fù)與特定包相關(guān)聯(lián)的數(shù)據(jù)的全部或一部分。目的地裝置可基于不完整的包來重構(gòu)數(shù)據(jù)?;诓煌暾陌貥?gòu)的數(shù)據(jù)可能具有不利地影響用戶體驗的降級的質(zhì)量。替代地,目的地裝置可請求源裝置重傳特定包并且在等待接收重傳的包的同時可延遲重構(gòu)所述數(shù)據(jù)。與請求重傳和基于重傳的包來重構(gòu)數(shù)據(jù)相關(guān)聯(lián)的延遲可能是用戶可察覺的并且可能引起負(fù)面的用戶體驗。
技術(shù)實現(xiàn)要素:
在特定方面,一種裝置包含接收器、緩沖器、發(fā)射器和分析器。所述接收器經(jīng)配置以接收多個包。所述多個包對應(yīng)于一連串包的至少一個子集。所述多個包包含錯誤校正數(shù)據(jù)。所述多個包中的第一包的錯誤校正數(shù)據(jù)包含所述多個包中的第二包的部分副本。所述緩沖器經(jīng)配置以存儲所述多個包。所述分析器經(jīng)配置以確定所述序列的包中的特定包是否從所述緩沖器缺失,且確定所述特定包的部分副本是否作為另一包中的錯誤校正數(shù)據(jù)存儲在所述緩沖器中。所述分析器還經(jīng)配置以至少部分地基于確定所述緩沖器未存儲所述特定包,且所述緩沖器未存儲所述特定包的部分副本,而經(jīng)由所述發(fā)射器將重傳消息發(fā)送到第二裝置。
在另一特定的方面中,一種通信方法包含在裝置處接收多個包,所述多個包對應(yīng)于一連串包的至少一個子集。所述多個包包含錯誤校正數(shù)據(jù)。所述多個包中的第一包的錯誤校正數(shù)據(jù)包含所述多個包中的第二包的部分副本。所述方法還包含在所述裝置處確定所述序列的包中的特定包是否從緩沖器缺失。所述方法進一步包含在所述裝置處確定所述特定包的部分副本是否作為另一包中的錯誤校正數(shù)據(jù)存儲在所述緩沖器中。所述方法還包含:至少部分地基于確定所述緩沖器未存儲所述特定包,且所述緩沖器未存儲所述特定包的部分副本,而將重傳消息從所述裝置發(fā)送到第二裝置。
在另一特定的方面中,一種計算機可讀存儲裝置存儲指令,所述指令在由處理器執(zhí)行時,致使所述處理器執(zhí)行操作,包含接收多個包。所述多個包對應(yīng)于一連串包的至少一個子集。所述多個包包含錯誤校正數(shù)據(jù)。所述多個包中的第一包的錯誤校正數(shù)據(jù)包含所述多個包中的第二包的部分副本。所述操作還包含確定所述序列的包中的特定包是否從緩沖器缺失。所述操作進一步包含確定所述特定包的部分副本是否作為另一包中的錯誤校正數(shù)據(jù)存儲在所述緩沖器中。所述操作還包含至少部分地基于確定所述緩沖器未存儲所述特定包,且所述緩沖器未存儲所述特定包的部分副本,而將重傳消息發(fā)送到裝置。
本發(fā)明的其它方面、優(yōu)點和特征將在審閱全部申請案之后變得顯而易見,所述全部申請案包含以下章節(jié):附圖說明、具體實施方式和權(quán)利要求書。
附圖說明
圖1是可操作以執(zhí)行基于冗余的包發(fā)射錯誤恢復(fù)的系統(tǒng)的特定說明性方面的框圖;
圖2是基于冗余的包發(fā)射錯誤恢復(fù)的方法的特定的方面的圖;
圖3是基于冗余的包發(fā)射錯誤恢復(fù)的方法的另一特定方面的圖;
圖4是基于冗余的包發(fā)射錯誤恢復(fù)的方法的另一特定的方面的圖,且可對應(yīng)于圖3的302;
圖5是可操作以執(zhí)行基于冗余的包發(fā)射錯誤恢復(fù)的系統(tǒng)的另一特定方面的圖;
圖6是說明基于冗余的包發(fā)射錯誤恢復(fù)的特定方法的流程圖;
圖7是說明基于冗余的包發(fā)射錯誤恢復(fù)的另一特定方法的流程圖;
圖8是說明基于冗余的包發(fā)射錯誤恢復(fù)的另一特定方法的流程圖;以及
圖9是可操作以執(zhí)行基于冗余的包發(fā)射錯誤恢復(fù)的裝置的特定說明性方面的框圖。
具體實施方式
本文中描述的原理可例如應(yīng)用于頭戴式耳機、手機、其它音頻裝置或經(jīng)配置以執(zhí)行基于冗余的包傳輸錯誤恢復(fù)的裝置的組件。除非通過其上下文明確限制,否則在本文中使用術(shù)語“信號”來指示其一般含義中的任一者,包含如在導(dǎo)線、總線或其它傳輸媒體上表達(dá)的存儲器位置的狀態(tài)(或存儲器位置的集合)。除非通過其上下文明確地限制,否則在本文中使用術(shù)語“產(chǎn)生”來指示其一般含義中的任一者,例如計算或以其它方式產(chǎn)生。除非通過其上下文明確限制,否則在本文中使用術(shù)語“計算”來指示其一般含義中的任一者,例如計算、評估、估計,和/或從多個值中選擇。除非通過其上下文明確限制,否則在本文中使用術(shù)語“獲得”來指示其一般含義中的任一者,例如計算、導(dǎo)出、接收(例如從另一組件,塊或裝置),和/或檢索(例如從存儲器寄存器或存儲元件陣列)。
除非通過其上下文明確地限制,否則使用術(shù)語“產(chǎn)生”來指示其一般含義中的任一者,例如計算、產(chǎn)生和/或提供。除非通過其上下文明確地限制,否則使用術(shù)語“提供”來指示其一般含義中的任一者,例如計算、產(chǎn)生和/或生成。除非通過其上下文明確地限制,否則使用術(shù)語“耦合”來指示直接或間接電或物理連接。如果連接是間接的,那么所屬領(lǐng)域的技術(shù)人員將充分理解,正“耦合”的結(jié)構(gòu)之間可存在其它塊或組件。
術(shù)語“配置”可參考如通過其特定上下文指示的方法、設(shè)備/裝置和/或系統(tǒng)來使用。在本發(fā)明描述和所附權(quán)利要求書中使用術(shù)語“包括”的情況下,并不排除其它元件或操作。使用術(shù)語“基于”(如在“A基于B”中)來指示其一般含義中的任一者,包含情況(i)“至少基于”(例如“A至少基于B”),以及(如果在特定上下文中合適)(ii)“等于”(例如“A等于B”)。在其中A基于B包含至少基于的情況(i)下,此可包含其中A耦合到B的配置。類似地,使用術(shù)語“響應(yīng)于”來指示其普通含義中的任一者,包含“至少響應(yīng)于”。使用術(shù)語“至少一個”來指示其普通含義中的任一者,包含“一或多個”。使用術(shù)語“至少兩個”來指示其普通含義中的任一者,包含“兩個或更多個”。
除非特定上下文另有指示,否則術(shù)語“設(shè)備”與“裝置”也通用地且可互換地使用。除非另有指示,否則對具有特定特征的設(shè)備的操作的任何揭示內(nèi)容還明確地希望揭示具有類似特征的方法(且反之亦然),且對根據(jù)特定配置的設(shè)備的操作的任何揭示內(nèi)容還明確地希望揭示根據(jù)類似配置的方法(且反之亦然)。除非特定上下文另有指示,否則術(shù)語“方法”、“過程”、“程序”及“技術(shù)”通用地且可互換地使用。術(shù)語“元件”和“模塊”可用于指示較大配置的一部分。術(shù)語“包”可對應(yīng)于一個或多個幀。通過參考文獻(xiàn)的一部分的任何并入也應(yīng)理解為并入了在所述部分內(nèi)參考的術(shù)語或變量的定義,其中此些定義出現(xiàn)在文獻(xiàn)中的其它地方,以及并入了在所并入部分中參考的任何圖。
如本文所使用,術(shù)語“通信裝置”是指可用于經(jīng)由無線通信網(wǎng)路進行話音和/或數(shù)據(jù)通信的電子裝置。通信裝置的實例包含蜂窩式電話、個人數(shù)字助理(PDA)、手持式裝置、耳機、無線調(diào)制解調(diào)器、膝上型計算機、個人計算機等。
參看圖1,揭示了可操作以執(zhí)行基于冗余的錯誤恢復(fù)的系統(tǒng)的特定說明性方面,且所述系統(tǒng)通常標(biāo)示為100。系統(tǒng)100可包括目的地裝置102,所述目的地裝置經(jīng)由網(wǎng)絡(luò)190與一個或多個其它裝置(例如,源裝置104)通信。源裝置104可包含麥克風(fēng)146或可耦合到麥克風(fēng)146。目的地裝置102可包含揚聲器142或可耦合到揚聲器142。目的地裝置102可包含分析器122,其耦合到存儲器176或與存儲器176通信。目的地裝置102可包含接收器124、發(fā)射器192、緩沖器126、語音解碼器156或其一組合。存儲器176可經(jīng)配置以存儲分析數(shù)據(jù)120。分析數(shù)據(jù)120可包含檢索到的部分副本計數(shù)106、損失包的計數(shù)114、重傳計數(shù)154、質(zhì)量度量128、遞增閾值136、遞減閾值138、遞增量140、遞減量150、結(jié)果值118、錯誤恢復(fù)參數(shù)108或其組合。錯誤恢復(fù)參數(shù)108可包含緩沖深度110、重傳閾值112或這兩者。
目的地裝置102可包含與在圖1中所說明的相比更少或更多的組件。舉例來說,目的地裝置102可包含一個或多個處理器、一個或多個存儲器單元或這兩者。目的地裝置102可包含連網(wǎng)或分布式計算系統(tǒng)。舉例來說,存儲器176可為連網(wǎng)或分布式存儲器。在特定說明性方面中,目的地裝置102可包含通信裝置、解碼器、智能電話、蜂窩式電話、移動通信裝置、膝上型計算機、計算機、平板計算機、個人數(shù)字助理(PDA)、機頂盒、視頻播放器、娛樂單元、顯示裝置、電視機、游戲控制臺、音樂播放器、收音機、數(shù)字視頻播放器、數(shù)字視頻光盤(DVD)播放器、調(diào)諧器、相機、導(dǎo)航裝置或其一組合。此類裝置可包含用戶接口(例如,觸摸屏、話音辨識能力或其它用戶接口能力)。
在操作期間,第一用戶152可參與與第二用戶194的話音呼叫。第一用戶152可使用目的地裝置102且第二用戶194可使用源裝置104來進行話音呼叫。在話音呼叫期間,第二用戶194可向與源裝置104相關(guān)聯(lián)的麥克風(fēng)146中說話。輸入語音信號130可對應(yīng)于第二用戶194說出的詞語的一部分、一個詞語或多個詞語。舉例來說,輸入語音信號130可包含第一數(shù)據(jù)164和第二數(shù)據(jù)166。源裝置104可經(jīng)由麥克風(fēng)146從第二用戶194接收輸入語音信號130。在特定方面,麥克風(fēng)146可捕獲音頻信號,并且模/數(shù)轉(zhuǎn)換器(ADC)可將所捕獲的音頻信號從模擬波形轉(zhuǎn)換成由數(shù)字音頻樣本組成的數(shù)字波形。數(shù)字音頻樣本可由數(shù)字信號處理器處理。增益調(diào)整器可通過增加或減小音頻信號的振幅電平(例如,模擬波形或數(shù)字波形)來調(diào)整(例如模擬波形或數(shù)字波形的)增益。增益調(diào)整器可在模擬或數(shù)字域中操作。舉例來說,增益調(diào)整器可在數(shù)字域中操作,且可調(diào)整模/數(shù)轉(zhuǎn)換器所產(chǎn)生的數(shù)字音頻樣本。在增益調(diào)整之后,回聲消除器可減少可能已因揚聲器的輸出進入麥克風(fēng)146而產(chǎn)生的回聲。數(shù)字音頻樣本可由聲碼器(話音編碼器-解碼器)“壓縮”。回聲消除器的輸出可耦合到聲碼器預(yù)處理塊,例如濾波器、噪聲處理器、速率轉(zhuǎn)換器等。聲碼器的編碼器可壓縮數(shù)字音頻樣本,并且形成包的序列(例如,第一包132和第二包134)。所述序列的包中的每一者可包含數(shù)字音頻樣本的壓縮位的表示。舉例來說,第一包132與第二包134相比可在所述序列的包中較早。為了說明,第一包132可包含對應(yīng)于特定音頻幀(例如,音頻幀N)的第一數(shù)據(jù)164,且第二包134可包含對應(yīng)于后續(xù)音頻幀(例如,音頻幀N+2)的第二數(shù)據(jù)166。
在特定方面中,隨后的包(例如,第二包134)還可包含可用于重構(gòu)前一音頻幀(例如,音頻幀N)的冗余數(shù)據(jù)(例如,第一包132的部分副本)。舉例來說,第二包134可包含對應(yīng)于第一數(shù)據(jù)164的至少一部分的第一部分副本174。在特定方面,冗余數(shù)據(jù)(例如第一部分副本174)可對應(yīng)于“關(guān)鍵”語音幀。舉例來說,關(guān)鍵語音幀的損失可造成在目的地裝置102處產(chǎn)生的處理過的語音信號的音頻質(zhì)量的用戶可察覺的降級。
在特定方面中,源裝置104和目的地裝置102可在恒定位速率(例如,每秒13.2千位(kbps))信道上操作。在此方面中,對應(yīng)于主要數(shù)據(jù)(例如第二數(shù)據(jù)166)的主要幀位速率可降低(例如降低到9.6kbps),以適應(yīng)冗余數(shù)據(jù)(例如第一部分副本174)。舉例來說,恒定位速率的剩余位速率(例如,3.6kbps)可對應(yīng)于冗余數(shù)據(jù)。在特定方面中,取決于輸入語音信號130的特性,主要幀位速率的降低可在源裝置104處執(zhí)行,以減小對總體語音品質(zhì)的影響。
所述序列的包(例如包132和134)可存儲在可與源裝置104的處理器共享的存儲器中。處理器可為與數(shù)字信號處理器通信的控制處理器。
源裝置104可經(jīng)由網(wǎng)絡(luò)190將所述序列的包(例如第一包132、第二包134或這兩者)發(fā)射到目的地裝置102。舉例來說,源裝置104可包含收發(fā)器。收發(fā)器可調(diào)制某一形式的包序列(例如,其它信息可附加到包132和134)。收發(fā)器可在空中經(jīng)由天線發(fā)送經(jīng)調(diào)制的信息。
目的地裝置102的分析器122可接收所述序列的包中的一或多個包(例如第一包132、第二包134或這兩者)。舉例來說,目的地裝置102的天線可接收包括第一包132、第二包134或這兩者的某一形式的傳入包。第一包132、第二包134或這兩者可以是在目的地裝置102處“未經(jīng)”聲碼器的解碼器“壓縮的”。未經(jīng)壓縮的波形可被稱作經(jīng)重構(gòu)的音頻樣本。經(jīng)重構(gòu)的音頻樣本可通過聲碼器后處理塊來后處理,并且回音消除器可基于經(jīng)重構(gòu)的音頻樣本來去除回聲。為清楚起見,聲碼器的解碼器和聲碼器后處理塊可被稱為聲碼器解碼器模塊。在一些配置中,可通過分析器122來處理回音消除器的輸出。替代地,在其它配置中,可通過分析器122來處理聲碼器解碼器模塊的輸出。
分析器122可將目的地裝置102接收到包(例如第一包132、第二包134或這兩者)存儲在緩沖器126(例如去抖動緩沖器)中。在特定方面中,包可在目的地裝置102處無序地接收。如果包是無序的,那么分析器122可以重新排序緩沖器126中的一個或多個包。通過源裝置104發(fā)送的包的序列中的一個或多個包可能未被目的地裝置102接收到或者可能被目的地裝置102錯誤地接收。舉例來說,包(例如,第一包132)可能由于丟包而未被接收器124接收到或者可能由于網(wǎng)絡(luò)條件而被接收器124部分地接收到。
分析器122可確定所述序列的包中的特定包是否從緩沖器126缺失。舉例來說,緩沖器126中的每個包可包含序號。分析器122可維持分析數(shù)據(jù)120中的計數(shù)(例如,下一個序號)。舉例來說,下一序號可具有開始值(例如,0)。分析器122可在處理對應(yīng)于特定輸入信號(例如,輸入語音信號130)的每個包之后更新(例如,遞增1)下一個序號。在處理對應(yīng)于特定輸入信號(例如,輸入語音信號130)的最后一個包之后,分析器122可使下一個序號復(fù)位到開始值。
分析器122可確定緩沖器126包括具有下一個序號的下一個包(例如,第一包132)。分析器122可至少基于下一個包(例如,第一包132)產(chǎn)生處理過的語音信號。在特定方面中,分析器122可將第一包132提供到語音解碼器156,并且語音解碼器156可產(chǎn)生處理過的語音信號。分析器122(或語音解碼器156)可基于第一包132和第二包134產(chǎn)生處理過的語音信號。處理過的語音信號可對應(yīng)于第一包132的第一數(shù)據(jù)164和第二包134的第二數(shù)據(jù)166。分析器122(或語音解碼器156)可經(jīng)由揚聲器142將處理過的語音信號輸出到第一用戶152。分析器122可更新(例如,遞增或復(fù)位)下一個序號。
分析器122可確定源裝置104所發(fā)送的所述序列的包中的特定包(例如第一包132)是否從緩沖器126缺失。舉例來說,分析器122可基于確定緩沖器126并不存儲具有下一個序號的下一個包(例如,第一包132)來確定第一包132缺失。為了說明,分析器122可響應(yīng)于確定對應(yīng)于下一個序號的包(例如,第一包132)未在緩沖器126中被發(fā)現(xiàn)來確定第一包132缺失。分析器122可確定第一包132的部分副本是否存儲在緩沖器126中作為存儲在緩沖器126中的另一包(例如,第二包134)中的錯誤校正數(shù)據(jù)。舉例來說,每個包的標(biāo)頭中的一或多個字段可指示包是否包括錯誤校正數(shù)據(jù)并且可指示對應(yīng)的包。分析器122可檢查存儲在緩沖器126中的一或多個包(例如,第二包134)的特定字段。舉例來說,緩沖器126可存儲第二包134。第二包134的標(biāo)頭中的特定字段可指示第二包134包括對應(yīng)于第一包132的錯誤校正數(shù)據(jù)。舉例來說,特定字段可指示第一包132的序號。分析器122可基于確定第二包134的特定字段指示第一包132的序號來確定第一包132的部分副本存儲在緩沖器126中。分析器122可響應(yīng)于確定第一包132從緩沖器126缺失并且緩沖器126存儲第一包132的部分副本,來更新檢索到的部分副本計數(shù)106。
分析器122可至少基于下一個包(例如,第二包134)產(chǎn)生處理過的語音信號116。舉例來說,分析器122可基于第一部分副本174和第二數(shù)據(jù)166產(chǎn)生處理過的語音信號116。第一部分副本174可包含第一包132的第一數(shù)據(jù)164的至少一部分。在特定方面中,第一數(shù)據(jù)164可對應(yīng)于第一語音幀的第一語音參數(shù)。第一部分副本174可包括第一語音參數(shù)。在特定方面中,第二數(shù)據(jù)166可對應(yīng)于第二語音幀的第二語音參數(shù),并且第一部分副本174可對應(yīng)于第一語音參數(shù)與第二語音參數(shù)之間的差值。在此方面中,分析器122可基于第二語音參數(shù)和第一部分副本174的總和產(chǎn)生第一語音參數(shù)。
分析器122可基于第一語音參數(shù)產(chǎn)生處理過的語音信號116。將了解,使第一部分副本174作為第二包134中的錯誤校正數(shù)據(jù)可使得能夠基于特定語音幀的第一語音參數(shù)產(chǎn)生處理過的語音信號116,即使當(dāng)對應(yīng)于特定語音幀的第一包132從緩沖器126缺失時也是如此。
在特定方面中,分析器122可將第一部分副本174、第二包134或第一語音參數(shù)提供到語音解碼器156,并且語音解碼器156可產(chǎn)生處理過的語音信號116。分析器122(或語音解碼器156)可經(jīng)由揚聲器142將處理過的語音信號116輸出到第一用戶152。分析器122可更新(例如,遞增或復(fù)位)下一個序號。處理過的語音信號116可具有與僅基于第二數(shù)據(jù)166產(chǎn)生的處理過的語音信號相比更好的音頻質(zhì)量。舉例來說,基于第一部分副本174和第二數(shù)據(jù)166產(chǎn)生的處理過的語音信號116可具有與基于第二數(shù)據(jù)166且未基于第一數(shù)據(jù)164(或第一部分副本174)產(chǎn)生的處理過的語音信號相比較少的用戶可察覺的偽聲。
在特定方面中,分析器122可確定第一包132和第二包134從緩沖器126中缺失。舉例來說,分析器122可確定第一包132從緩沖器126中缺失,并且緩沖器126并不存儲第一包132的部分副本作為另一包中的錯誤校正數(shù)據(jù)。為了說明,分析器122可確定第一包132的序號并不通過對應(yīng)于存儲在緩沖器126中的輸入語音信號130的任何包的特定字段來指示。分析器122可基于確定第一包132和第二包134從緩沖器126中缺失來更新丟失包的計數(shù)114。在特定方面中,分析器122可更新(例如,遞增1)丟失包的計數(shù)114以反映第一包132從緩沖器126中缺失,并且緩沖器126并不存儲包含第一包132的部分副本的包(例如,第二包134)。分析器122可更新(例如,遞增或復(fù)位)下一個序號。
如參看圖2-3所描述,分析器122可基于丟失包的計數(shù)114、檢索到的部分副本計數(shù)106或這兩者來調(diào)整錯誤恢復(fù)參數(shù)108。舉例來說,分析器122可基于丟失包的計數(shù)114、檢索到的部分副本計數(shù)106或這兩者確定結(jié)果值118。在特定方面中,結(jié)果值118可為丟失包的計數(shù)114和檢索到的部分副本計數(shù)106的加權(quán)和。在特定方面中,分析器122可基于丟失包的計數(shù)114(例如,具有權(quán)重1)與經(jīng)加權(quán)值的總和來確定結(jié)果值118。分析器122可通過使檢索到的部分副本計數(shù)106乘以質(zhì)量度量128來確定經(jīng)加權(quán)值。質(zhì)量度量128可為默認(rèn)值、用戶提供的值或這兩者。質(zhì)量度量128可對應(yīng)于指派給檢索到的部分副本計數(shù)106的權(quán)重(例如,大于或等于0且小于或等于1)。
在特定方面中,質(zhì)量度量128可為檢索到的部分副本的質(zhì)量的量度。為了說明,當(dāng)檢索到的部分副本的質(zhì)量的量度較高時,質(zhì)量度量128可對應(yīng)于較低權(quán)重。分析器122可基于對應(yīng)于檢索到的部分副本(例如第一部分副本174)的數(shù)據(jù)(例如語音參數(shù))與從對應(yīng)于先前音頻幀的先前包檢索到的先前數(shù)據(jù)(例如先前語音參數(shù))之間的差異來確定質(zhì)量的量度。舉例來說,分析器122可基于語音參數(shù)與滿足特定閾值的先前語音參數(shù)之間的差異來確定品質(zhì)的量度。如果檢索到的部分副本(例如第一部分副本174)對應(yīng)于充分不同參數(shù),那么基于檢索到的部分副本(例如第一部分副本174)產(chǎn)生處理過的語音信號116可在對應(yīng)的主要包(例如第一包132)不存儲在緩沖器126中時,顯著改進處理過的語音信號116的音頻質(zhì)量。當(dāng)檢索到的部分副本(例如,第一部分副本174)對應(yīng)于與先前包相比足夠不同的參數(shù)時,分析器122可確定質(zhì)量的較高量度。
在特定方面中,檢索到的部分副本計數(shù)106可被指派與丟失包的計數(shù)114相比較低的權(quán)重。將較低權(quán)重指派給檢索到的部分副本的計數(shù)可使得局部冗余能夠降低對應(yīng)的缺失包對錯誤恢復(fù)參數(shù)的調(diào)整的影響。將了解,與不具有冗余相比,具有局部冗余可實現(xiàn)較小緩沖器的使用,較少重傳請求或這兩者。
分析器122可基于結(jié)果值118調(diào)整錯誤恢復(fù)參數(shù)108(例如,緩沖深度110、重傳閾值112或這兩者)。舉例來說,分析器122可基于遞增量140響應(yīng)于確定結(jié)果值118滿足遞增閾值136來遞增錯誤恢復(fù)參數(shù)108,如參看圖2-3所描述。在特定方面中,結(jié)果值118可在可導(dǎo)致處理過的語音信號的音頻質(zhì)量的可察覺降級的高丟包的條件期間滿足遞增閾值136。分析器122可遞增緩沖深度110以增大丟包的部分副本在緩沖器中作為另一包的錯誤校正數(shù)據(jù)的概率。分析器122可遞增重傳閾值112,以使目的地裝置102能夠?qū)⑤^多重傳消息(例如重傳消息144)發(fā)送到源裝置104,以請求丟失包的重傳。目的地裝置102可基于重傳的包產(chǎn)生處理過的語音信號,并且處理過的語音信號的音頻品質(zhì)可以得到改進。
作為另一實例,分析器122可基于遞減量150響應(yīng)于確定結(jié)果值118滿足遞減閾值138來遞減錯誤恢復(fù)參數(shù)108,如參看圖2-3所描述。在特定方面中,在低丟包的條件期間,結(jié)果值118可滿足遞減閾值138。分析器122可遞減緩沖深度110以減小緩沖器126的存儲器使用率。分析器122可遞減重傳閾值112,以減少由目的地裝置102發(fā)送以請求丟失包的重傳的重傳消息(例如重傳消息144)的數(shù)目。較少的重傳消息可導(dǎo)致與發(fā)送重傳消息和重傳包相關(guān)聯(lián)的減小的帶寬使用率。
在特定方面中,錯誤恢復(fù)參數(shù)108可具有最大值、最小值或這兩者。在此方面中,分析器122可調(diào)整錯誤恢復(fù)參數(shù)108處于由最小值和最大值界定的范圍內(nèi)。
遞增閾值136、遞減閾值138、遞增量140和遞減量150中的一或多個可針對每一錯誤恢復(fù)參數(shù)具有不同值或相同值。舉例來說,對應(yīng)于緩沖深度110的遞增閾值136、遞減閾值138、遞增量140和遞減量150中的一或多者可為不同于對應(yīng)于重傳閾值112的遞增閾值136、遞減閾值138、遞增量140和遞減量150中的一或多者。
遞增閾值136、遞減閾值138、遞增量140、遞減量150或其組合可為默認(rèn)值。在特定方面中,分析器122可動態(tài)地確定遞增量140、遞減量150或這兩者。舉例來說,分析器122可基于結(jié)果值118與遞增閾值136之間的差值來確定遞增量140。作為另一實例,分析器122可基于結(jié)果值118與遞減閾值138之間的差值來確定遞減量150。
在特定方面中,分析器122可基于結(jié)果值118來確定錯誤恢復(fù)參數(shù)108的調(diào)整量,并且可基于調(diào)整量使調(diào)整錯誤恢復(fù)參數(shù)108延遲到稍后的時間。舉例來說,分析器122可基于包的第一數(shù)目(例如,10)反復(fù)地確定調(diào)整量,并且可在處理第一數(shù)目的包之后調(diào)整錯誤恢復(fù)參數(shù)108。作為另一實例,目的地裝置102可接收來自源裝置104的突發(fā)中的包。舉例來說,第二用戶194可在談話之間暫停,并且包的每一突發(fā)可對應(yīng)于暫停之間的第二用戶194的語音。分析器122可在暫停期間基于調(diào)整量來調(diào)整錯誤恢復(fù)參數(shù)108,使得包的下一個突發(fā)可基于經(jīng)調(diào)整的錯誤恢復(fù)參數(shù)108得到處理,并且因此錯誤恢復(fù)參數(shù)108的調(diào)整可能不被用戶察覺。
在特定方面中,分析器122可請求基于重傳計數(shù)154、重傳閾值112或這兩者的特定包(例如,第一包132)的重傳。舉例來說,分析器122可基于確定重傳計數(shù)154滿足重傳閾值112且第一包132從緩沖器126缺失而經(jīng)由發(fā)射器192將重傳消息144發(fā)送到源裝置104。重傳消息144可請求第一包132的重傳。
重傳計數(shù)154可具有默認(rèn)初始值。分析器122可基于發(fā)送重傳消息144來更新重傳計數(shù)154(例如,遞增)。在特定方面中,重傳計數(shù)154可與特定時間周期相關(guān)聯(lián)。舉例來說,重傳計數(shù)154可指示在特定時間周期(例如,前一個5分鐘)期間由分析器122發(fā)送的重傳消息的數(shù)目。
源裝置104可響應(yīng)于接收到重傳消息144來重傳第一包132。在此方面中,分析器122可接收重傳的第一包132,并且可至少基于來自重傳的第一包132的第一數(shù)據(jù)164產(chǎn)生處理過的語音信號。舉例來說,分析器122可基于來自重傳的第一包132的第一數(shù)據(jù)164和來自第二包134的第二數(shù)據(jù)166,響應(yīng)于確定緩沖器126存儲第二包134而產(chǎn)生處理過的語音信號。在特定方面中,可能存在與發(fā)送重傳消息144和接收重傳的第一包132相關(guān)聯(lián)的往返延遲(例如,8毫秒(ms)到16ms)。舉例來說,源裝置104與目的地裝置102之間可存在最大數(shù)量(例如8)的混合自動重復(fù)請求(HARQ)實例。在第一HARQ實例期間,源裝置104可發(fā)送第一包132。在第二HARQ實例期間,目的地裝置102可發(fā)送重傳消息144。在第三HARQ實例期間,源裝置104可發(fā)送重傳的第一包132。往返延遲(例如,8ms到16ms)可對應(yīng)于第一HARQ實例與第三HARQ實例之間的時間差。
在特定實施方案中,發(fā)射時間線可分割成子幀的單元。每一子幀可涵蓋預(yù)定持續(xù)時間,例如,1毫秒(ms)。源裝置104可具有數(shù)據(jù)以發(fā)送到目的地裝置102,并且可根據(jù)選定的發(fā)射格式處理第一包132以獲得數(shù)據(jù)符號。發(fā)射格式可對應(yīng)于速率、包格式、調(diào)制編碼方案(MCS)等。源裝置104可在子幀t中將第一包132的第一發(fā)射以及控制信息發(fā)送到目的地裝置102。控制信息可指示選定的發(fā)射格式、用于數(shù)據(jù)發(fā)射的無線電資源等。目的地裝置102可根據(jù)選定的發(fā)射格式來接收和處理第一發(fā)射。如果目的地裝置102無法成功地解碼第一包132(例如,遇到錯誤或者在預(yù)期的時間第一包132未被接收),那么目的地裝置102可在子幀t+Δ中發(fā)送否定確認(rèn)(NAK)。
NAK充當(dāng)重傳請求。因此,在子幀t+M中,源裝置104可接收NAK,并且發(fā)送第一包132的第二發(fā)射。目的地裝置102可再次嘗試解碼第一包132。如果出現(xiàn)錯誤,那么目的地裝置102可發(fā)送另一NAK(例如,在子幀t+M+Δ中)。在子幀t處的初始發(fā)射之后第一包132的每一發(fā)射可被稱為HARQ發(fā)射,并且可包含用于第一包132的不同冗余信息(例如,數(shù)據(jù)符號的不同集合)。
系統(tǒng)100可支持同步HARQ和/或異步HARQ。對于同步HARQ,包(例如,第一包132)的發(fā)射可在已知為先驗的子幀中通過發(fā)射器(例如,源裝置104)和接收器(例如,目的地裝置102)發(fā)送。對于異步HARQ,包的發(fā)射(例如,第一包132)可被調(diào)度并且在一或多個子幀中發(fā)送。在特定實施方案中,系統(tǒng)100可支持HARQ、自動重復(fù)請求(ARQ)、另一重傳協(xié)議或其組合。
在特定方面中,分析器122可基于確定重傳計數(shù)154未能滿足重傳閾值112,特定包(例如第一包132)存儲在緩沖器126重,特定包(例如第一包132)的部分副本(例如第一部分副本174)存儲在緩沖器126中或其組合,而制止請求特定包(例如第一包132)的重傳。將了解,基于重傳的第一包132產(chǎn)生處理過的語音信號116可導(dǎo)致處理過的語音信號116具有更好的音頻質(zhì)量,而基于第一部分副本174產(chǎn)生處理過的語音信號116可導(dǎo)致產(chǎn)生處理過的語音信號116而不存在與請求和接收重傳的第一包132相關(guān)聯(lián)的往返延遲(例如,8ms到16ms)。
在特定方面中,分析器122可基于緩沖深度110而丟棄包。舉例來說,分析器122可確定存儲在緩沖器126中的包的數(shù)目(或總大小)滿足緩沖深度110。響應(yīng)于接收到后續(xù)包,分析器122可制止在緩沖器126中存儲所述后續(xù)包,或者可從緩沖器126中去除一或多個其它包。舉例來說,分析器122可去除已經(jīng)在緩沖器126中達(dá)最長持續(xù)時間的包,可去除并不包括對應(yīng)于另一包的錯誤校正數(shù)據(jù)的包或這兩者。
因此,系統(tǒng)100可實現(xiàn)丟失包的數(shù)據(jù)的局部恢復(fù),而不會重傳所述丟失包。舉例來說,分析器122可響應(yīng)于確定第一包132并不存儲在緩沖器126中,而從第二包134中恢復(fù)第一部分副本174。另一特定優(yōu)點是基于檢索到的部分副本的計數(shù)、丟失包的計數(shù)或這兩者來動態(tài)地調(diào)整錯誤恢復(fù)參數(shù)。舉例來說,分析器122可基于檢索到的部分副本計數(shù)106、丟失包的計數(shù)114或這兩者來動態(tài)地調(diào)整錯誤恢復(fù)參數(shù)108。因此,錯誤恢復(fù)參數(shù)108可響應(yīng)網(wǎng)絡(luò)條件、接收到的包中的冗余程度或這兩者。
參看圖2,揭示基于冗余的包發(fā)射錯誤恢復(fù)的方法的特定說明性方面,且通常表示為200。在特定方面中,可通過圖1的分析器122來執(zhí)行方法200。圖2說明基于丟失包的計數(shù)114、檢索到的部分副本計數(shù)106或這兩者來調(diào)整圖1的緩沖深度110。舉例來說,緩沖深度110的調(diào)整可為丟失包的計數(shù)114(p)的函數(shù)、檢索到的部分副本計數(shù)106(q)的函數(shù)或丟失包的計數(shù)114(p)和檢索到的部分副本計數(shù)106(q)的函數(shù)。
方法200包括在202處通過接收器接收在時間N處的經(jīng)編碼語音幀R(N)。舉例來說,圖1的接收器124可接收對應(yīng)于輸入語音信號130的特定音頻幀的特定包,如參看圖1所描述。
方法200還包括在204處確定下一個語音幀R(N-D)是否在去抖動緩沖器中可用。舉例來說,分析器122可確定下一個包是否存儲在緩沖器126中,如參看圖1所描述。下一個包可具有下一個序號。在特定方面中,分析器122可通過遞增先前處理過的包的序號來確定下一個序號。在替代方面中,分析器122可基于最近接收到的包的序號(例如,N)與緩沖深度110(例如,D)之間的差值來確定下一個序號。在此方面中,緩沖深度110可指示待存儲在緩沖器126中的最大數(shù)目的包。分析器122可確定對應(yīng)于下一個序號的下一個包(例如,第一包132)是否存儲在緩沖器126中。
方法200進一步包含響應(yīng)于在204處確定下一語音幀R(N-D)在去抖動緩沖器中可用,在206處將下一語音幀R(N-D)提供到語音解碼器。舉例來說,分析器122可響應(yīng)于確定下一個包(例如,第一包132)存儲在緩沖器126中,而將第一包132提供到語音解碼器156,如參看圖1所描述。
方法200還包括響應(yīng)于在204處確定下一個語音幀R(N-D)在去抖動緩沖器中不可用,在208處確定下一個語音幀R(N-D)的部分副本是否在去抖動緩沖器中可用。舉例來說,響應(yīng)于確定第一包132并不存儲在緩沖器126中,圖1的分析器122可確定第一包132的部分副本是否存儲在緩沖器126中,如參看圖1所描述。為了說明,分析器122可確定具有第一部分副本174的第二包134是否存儲在緩沖器126中。
方法200進一步包含響應(yīng)于在208處確定下一個語音幀R(N-D)的部分副本在去抖動緩沖器中可用,在206處將下一個語音幀R(N-D)的部分副本提供到語音解碼器,并且在210處確定在M個先前幀期間檢索到的部分副本的數(shù)目(q)。舉例來說,響應(yīng)于確定第二包134包含于緩沖器126中并且第二包134包含第一包132的第一部分副本174,圖1的分析器122可將第二包134提供到語音解碼器156。在特定方面中,分析器122可將第一部分副本174提供到語音解碼器156。分析器122還可更新檢索到的部分副本計數(shù)106,如參看圖1所描述。舉例來說,檢索到的部分副本計數(shù)106可對應(yīng)于特定數(shù)目的幀、特定時間周期或這兩者。特定數(shù)目(M)的幀可對應(yīng)于默認(rèn)值。在特定方面中,特定數(shù)目(M)的幀可由分析器122選擇或由用戶(例如,第一用戶152)選擇。在特定方面中,特定數(shù)目(M)的幀可以是自適應(yīng)的。舉例來說,分析器122可隨時間推移而更新特定數(shù)目(M)的幀。在特定方面中,分析器122可基于緩沖深度110已經(jīng)在特定時間周期(例如,5分鐘)期間調(diào)整的次數(shù)來更新特定數(shù)目(M)的幀。舉例來說,分析器122可響應(yīng)于確定緩沖深度110已經(jīng)在特定時間周期期間調(diào)整的次數(shù)滿足調(diào)整閾值來更新(例如,增大或減小)特定數(shù)目(M)的幀。
在特定方面中,檢索到的部分副本計數(shù)106可指示從特定數(shù)目(M)的最近處理過的包中檢索到的部分副本的數(shù)目。舉例來說,從由分析器122最近處理過的特定數(shù)目(例如,十個)包中,分析器122可能已成功地接收到第一數(shù)目(例如,7)個包,分析器122可能已檢索到分析器122未成功地接收到的第二數(shù)目(例如,2)個包的部分副本,并且部分副本可能已不可用于分析器122未成功地接收到的其余數(shù)目(例如,1)個包。在此實例中,檢索到的部分副本計數(shù)106可指示部分副本是從特定數(shù)目(例如,10)的最近處理過的包中針對第二數(shù)目(例如,2)個包檢索到的。
在替代方面中,檢索到的部分副本計數(shù)106可指示在特定時間周期(例如前5分鐘)檢索到的部分副本的數(shù)目。舉例來說,分析器122可在特定時間周期(例如前5分鐘)期間接收特定數(shù)目(例如20)個包。從特定數(shù)目(例如,20)個包中,分析器122已成功地接收第一數(shù)目(例如,12)個包,分析器122可能已檢索到分析器122未成功地接收到的第二數(shù)目(例如,6)個包的部分副本,并且部分副本可能已不可用于分析器122未成功地接收到的其余的數(shù)目(例如,2)個包。在此實例中,檢索到的部分副本計數(shù)106可指示在特定時間周期(例如前5分鐘)期間,檢索到分析器122接收到的第二數(shù)目(例如6)個包的部分副本。方法200可繼續(xù)進行到214。
方法200還包括響應(yīng)于在208處確定下一個語音幀R(N-D)的部分副本在去抖動緩沖器中不可用,在212處確定在M個先前幀期間丟失的包的數(shù)目(p)。舉例來說,圖1的分析器122可響應(yīng)于確定第二包134并不存儲在緩沖器126中而更新丟失包的計數(shù)114,如參看圖1所描述。為了說明,分析器122可確定緩沖器126并不存儲指示第一包132的部分副本(例如,第一部分副本174)包括于包中的包(例如,第二包134)。
方法200進一步包含在214處基于在M個先前幀期間丟失的包的數(shù)目(p)以及在M個先前幀期間檢索到的部分副本的數(shù)目(q)來確定結(jié)果值(r)。舉例來說,圖1的分析器122可基于丟失包的計數(shù)114(p)、檢索到的部分副本計數(shù)106(q)或這兩者來確定結(jié)果值118(r),如參看圖1所描述。在圖2中說明的實例中,r=f(p,q)。結(jié)果值118(r)可為丟失包的計數(shù)114(p)的函數(shù)、檢索到的部分副本計數(shù)106(q)的函數(shù)或丟失包的計數(shù)114(p)和檢索到的部分副本計數(shù)106(q)的函數(shù)。舉例來說,結(jié)果值118可為丟失包的計數(shù)114和檢索到的部分副本計數(shù)106的加權(quán)和。
方法200還包含在216處確定結(jié)果值(r)是否大于遞增閾值(T1)。舉例來說,圖1的分析器122可確定結(jié)果值118是否滿足(例如,大于)遞增閾值136,如參看圖1所描述。
方法200進一步包括響應(yīng)于在216處確定結(jié)果值(r)大于遞增閾值(T1),在222處基于用于下一個話音突峰的去抖動緩沖器的遞增量(Δn1)和深度(D舊)的總和來確定深度值(D新)。舉例來說,圖1的分析器122可響應(yīng)于確定結(jié)果值118滿足(例如,大于)遞增閾值136而基于遞增數(shù)量140和緩沖深度110(例如,D舊)的總和來確定調(diào)整量(例如,D新),如參看圖1所描述。方法200可繼續(xù)進行到224。
方法200還包括響應(yīng)于在216處確定結(jié)果值(r)小于或等于遞增閾值(T1),在220處確定結(jié)果值(r)是否小于遞減閾值(T2)。舉例來說,圖1的分析器122可響應(yīng)于確定結(jié)果值118未能滿足(例如,小于或等于)遞增閾值136,確定結(jié)果值118是否滿足(例如,小于)遞減閾值138,如參看圖1所描述。
方法200進一步包括響應(yīng)于在220處確定結(jié)果值(r)小于遞減閾值(T2),在222處基于用于下一個話音突峰的去抖動緩沖器的遞減量(Δn2)和深度(D舊)的總和來確定深度值(D新)。舉例來說,圖1的分析器122可響應(yīng)于確定結(jié)果值118滿足(例如,小于)遞減閾值138,基于遞減數(shù)量150與緩沖深度110(例如,D舊)之間的差值來確定調(diào)整量(例如,D新),如參看圖1所描述。
方法200還包括在224處將去抖動緩沖器的深度調(diào)整到深度值(D新)。舉例來說,圖1的分析器122可基于調(diào)整量(例如,D新)來調(diào)整緩沖深度110,如參看圖1所描述。方法200可繼續(xù)進行到202。
方法200還包含響應(yīng)于在220處確定結(jié)果值(r)大于或等于遞減閾值(T2),在202處接收后續(xù)包。舉例來說,圖1的分析器122可響應(yīng)于確定結(jié)果值118無法滿足遞增閾值136和遞減閾值138而制止調(diào)整緩沖深度110。
緩沖深度110(例如D)可具有第一深度值(例如D舊)。舉例來說,D=D舊。分析器122可至少部分地基于第一深度值(例如,D舊)來確定第二深度值(例如,D新)。分析器122可基于第二深度值(例如,D新)來調(diào)整緩沖深度110(例如,D)。舉例來說,在緩沖深度110的調(diào)整之后,D=D新。
方法200可基于丟失包的計數(shù)、檢索到的部分副本計數(shù)或這兩者來實現(xiàn)去抖動緩沖器的深度的動態(tài)調(diào)整。緩沖深度可響應(yīng)于網(wǎng)絡(luò)條件。在高丟包、數(shù)據(jù)冗余的缺乏或這兩者的條件期間,緩沖深度可增大以減少在目的地裝置處丟棄的包、以增大在去抖動緩沖器中找到丟失包的部分副本的概率,或這兩者。替代地,在低丟包、較高程度的數(shù)據(jù)冗或這兩者余的條件期間,緩沖深度可減小以減少去抖動緩沖器的存儲器使用率。
參看圖3,揭示基于冗余的包發(fā)射錯誤恢復(fù)的方法的特定說明性方面,且通常表示為300。在特定方面中,可通過圖1的分析器122來執(zhí)行方法300。
圖3說明基于丟失包的計數(shù)114、檢索到的部分副本計數(shù)106或這兩者來調(diào)整圖1的重傳閾值112。方法300包括圖2的方法200的202、204、206、208、210、212、214、216和220。
方法300還包括響應(yīng)于在208處確定下一個語音幀R(N-D)的部分副本在去抖動緩沖器中不可用,在302處執(zhí)行重傳分析。舉例來說,圖1的分析器122可響應(yīng)于確定緩沖器126既不存儲第一包132也不存儲指示第一包132的部分副本包括于其它包中的另一包而執(zhí)行重傳分析,如參看圖4所描述。
方法300進一步包括響應(yīng)于在216處確定結(jié)果值(r)大于遞增閾值(T1),在304處基于遞增數(shù)量(Δn1)和重傳閾值(RT舊)的總和來確定重傳值(RT新)。舉例來說,圖1的分析器122可響應(yīng)于確定結(jié)果值118滿足(例如,大于)遞增閾值136,基于遞增數(shù)量140和重傳閾值112(例如,RT舊)的總和而確定調(diào)整量(例如,RT新),如參看圖1所描述。方法300可繼續(xù)進行到308。
方法300還包含響應(yīng)于在220處確定結(jié)果值(r)小于遞減閾值(T2),在306處基于遞減數(shù)量(Δn2)和重傳閾值(RT舊)之間的差來確定重傳值(RT新)。舉例來說,圖1的分析器122可響應(yīng)于確定結(jié)果值118滿足(例如,小于)遞減閾值138,基于遞減量150與重傳閾值112(例如,RT舊)之間的差而確定調(diào)整量(例如,RT新),如參看圖1所描述。
方法300還包含在308處將重傳值調(diào)整為重傳值(RT新)。舉例來說,圖1的分析器122可基于調(diào)整量(例如RT新)來調(diào)整重傳閾值112,如參看圖1所描述。方法300可繼續(xù)進行到202。
重傳閾值112(例如,RT)可具有第一重傳閾值(例如,RT舊)。舉例來說,RT=RT舊。分析器122可至少部分地基于第一重傳值(例如,RT舊)來確定第二重傳閾值(例如,RT新)。分析器122可基于第二重傳閾值(例如,RT新)來調(diào)整重傳閾值112(例如,RT)。舉例來說,在重傳閾值112的調(diào)整之后,RT=RT新。在特定方面中,圖3的遞增閾值(T1)可與圖2的遞增閾值(T1)不同。在替代方面中,圖3的遞增閾值(T1)可與圖2的遞增閾值(T1)相同。在特定方面中,圖3的遞減閾值(T2)可與圖2的遞減閾值(T2)不同。在替代方面中,圖3的遞減閾值(T2)可與圖2的遞減閾值(T2)相同。
方法300可基于丟失包的計數(shù)、檢索到的部分副本計數(shù)或這兩者來實現(xiàn)重傳閾值的動態(tài)調(diào)整。重傳閾值可響應(yīng)于網(wǎng)絡(luò)條件。在高丟包、數(shù)據(jù)冗余的缺乏或這兩者的條件期間,重傳閾值可增大以使目的地裝置能夠發(fā)送更多的重傳請求?;蛘?,在低丟包、較高程度數(shù)據(jù)冗余或這兩者的條件期間,重傳閾值可減小以減少重傳網(wǎng)絡(luò)業(yè)務(wù)、以減少在產(chǎn)生處理過的語音信號中的延遲或這兩者。
參看圖4,揭示基于冗余的包發(fā)射錯誤恢復(fù)的方法的特定說明性方面,且通常表示為400。在特定方面中,可通過圖1的分析器122來執(zhí)行方法400。在特定方面中,方法400可對應(yīng)于圖3的302。
方法400包含在402處確定重傳計數(shù)是否小于重傳閾值(RT)。舉例來說,圖1的分析器122可確定重傳計數(shù)154是否滿足(例如小于)重傳閾值112,如參看圖1所描述。
方法400還包括響應(yīng)于在402處確定重傳計數(shù)小于重傳閾值(RT),在404處發(fā)送重傳消息,并且在406處遞增重傳計數(shù)。舉例來說,圖1的分析器122可響應(yīng)于確定重傳計數(shù)154滿足(例如,小于)重傳閾值112而發(fā)送重傳消息144,并且可更新(例如,遞增)重傳計數(shù)154,如參看圖1所描述。
方法400進一步包括響應(yīng)于在402處確定重傳計數(shù)大于或等于重傳閾值(RT),在408處制止發(fā)送重傳消息。舉例來說,響應(yīng)于確定重傳計數(shù)154未能滿足(例如,大于或等于)重傳閾值112,可制止分析器122發(fā)送重傳消息(例如,重傳消息144),如參看圖1所描述。
方法400可因此使目的地裝置能夠基于動態(tài)調(diào)整的重傳閾值而發(fā)送重傳請求。目的地裝置所發(fā)送的重傳請求的數(shù)目以及源裝置所重傳的包的數(shù)目可響應(yīng)于網(wǎng)絡(luò)條件。在高丟包、數(shù)據(jù)冗余的缺乏的條件或這兩者期間,重傳閾值可增大以使目的地裝置能夠發(fā)送更多的重傳請求,以增大重傳包的數(shù)目來減少處理過的語音信號中的錯誤。替代地,在低丟包、較高程度的數(shù)據(jù)冗余的條件或這兩者期間,重傳閾值可減小以減少重傳包的數(shù)目,從而導(dǎo)致重傳網(wǎng)絡(luò)業(yè)務(wù)的減少、與產(chǎn)生處理過的語音信號相關(guān)聯(lián)的延遲的減少或這兩者。
參看圖5,揭示了可操作以執(zhí)行基于冗余的錯誤恢復(fù)的系統(tǒng)的特定說明性方面,且所述系統(tǒng)通常表示為500。系統(tǒng)500不同于圖1的系統(tǒng)100之處可在于錯誤恢復(fù)參數(shù)108可包含緩沖延遲512,如本文所述。
包的序列可對應(yīng)于輸入語音信號130。包的序列中的每一個包可包含序號,如參看圖1所描述。舉例來說,第一包132可包括第一序號(例如,第一產(chǎn)生時戳),且第二包134可包括第二序號(例如,第二產(chǎn)生時戳)。第一產(chǎn)生時戳可指示源裝置104產(chǎn)生第一包132的第一時間,且第二產(chǎn)生時戳可指示源裝置104產(chǎn)生第二包134的第二時間。第一部分副本174可包括第一序號(例如,第一產(chǎn)生時戳)。
目的地裝置102接收到的每個包可由接收器124、分析器122或由目的地裝置102的另一組件指派接收時戳。舉例來說,第二包134可被指派第二接收時戳。分析器122可基于第二接收時戳來確定第一接收時戳,且可將第一接收時戳指派給第一部分副本174。第一接收時戳可與第二接收時戳相同或不同。舉例來說,第一接收時戳可指示比由第二接收時戳指示的第二接收時間早的第一接收時間。在此實例中,第一接收時間可對應(yīng)于第一包132將以及時方式被接收的所估計時間。為了說明,如果第一包132尚未延遲或丟失,那么第一接收時間可對應(yīng)于第一包132的所估計接收時間。
分析器122可基于與包、緩沖延遲512、緩沖時間線504和最后播放的包506相關(guān)聯(lián)的接收時戳來處理包,如本文所述。緩沖延遲512可對應(yīng)于包將存儲在緩沖器126中的閾值時間。舉例來說,緩沖延遲512可指示第一閾值時間(例如,5毫秒)。包可在第一接收時間(例如,下午1:00:00.000)接收。指示第一接收時間的接收時戳可與包相關(guān)聯(lián)。第二時間(例如,下午1:00:00.005)可對應(yīng)于接收時戳所指示的第一接收時間與緩沖延遲512的總和??稍诘诙r間處或在第二時間之后處理所述包。
緩沖時間線504可指示待處理的下一包。舉例來說,緩沖時間線504可指示從緩沖器126中最近處理的或最近進行擦除的特定包的序號。為了說明,分析器122可響應(yīng)于處理來自緩沖器126的包,處理來自緩沖器126的包的部分副本,或進行對應(yīng)于所述包的擦除,而更新緩沖器時間線504,以指示所述包的第一序號。在此實例中,分析器122可基于緩沖時間線504所指示的序號(例如第一序號)來確定將處理的下一包的下一序號。
最后播放的包506可指示最近從緩沖器126中處理的特定包。處理來自緩沖器126的特定包可包括處理來自緩沖器126的特定包或處理來自緩沖器126的特定包的部分副本。分析器122可更新最后播放的包506,以響應(yīng)于處理來自緩沖器126的包或處理來自緩沖器126的包的部分副本,而指示包的第一序號。
分析器122可確定最后播放的包506指示先前包是從緩沖器126中通過分析器122最近處理的。分析器122可確定特定包(例如第一包132)在所述序列的包中的先前包之后。分析器122可確定緩沖時間線504所指示的待處理的下一個包是否與所述序列的包中的第一包132相同或在所述第一包之后。在大約第一重放時間502,分析器122可響應(yīng)于確定如由緩沖時間線504指示的待處理的下一個包在所述序列的包中在第一包132之前而進行擦除。
分析器122可在進行擦除之后更新緩沖時間線504。舉例來說,緩沖時間線504可在進行擦除之前,指示第一特定包是待處理的下一個包。在進行擦除之后,分析器122可更新緩沖時間線504以指示第二特定包是待處理的下一個包。第二特定包可為在所述序列的包中的第一特定包之后的下一個包。
或者,分析器122可響應(yīng)于確定緩沖時間線504所指示的待處理的下一個包與所述序列的包中的第一包132相同或在所述第一包之后,確定緩沖器126是否存儲第一包132(或第一部分副本174)。分析器122可響應(yīng)于確定緩沖器126存儲第一部分副本174而確定第一部分副本174與指示第一接收時間的第一接收時戳相關(guān)聯(lián)。分析器122可在大約第一重放時間502,響應(yīng)于確定第一時間大于或等于第一接收時間與緩沖延遲512的總和而處理來自緩沖器126的第一部分副本174。緩沖延遲512可對應(yīng)于包將存儲在緩沖器126中的閾值時間。在特定實施方案中,分析器122可處理第一部分副本174,無論第一部分副本174是否已存儲在緩沖器126中達(dá)閾值時間。在此實施方案中,第一接收時間可比第二接收時間早。舉例來說,如果已經(jīng)以及時方式接收到第一包132,那么第一接收時間可對應(yīng)于第一包132的預(yù)期接收時間。如果已經(jīng)以及時方式接收到第一包132,那么分析器122可響應(yīng)于確定第一包132將已經(jīng)存儲在緩沖器126中達(dá)至少閾值時間,在大約第一重放時間處理第一部分副本174。緩沖延遲512可包含默認(rèn)值、可基于來自第一用戶152的用戶輸入或這兩者。如本文所述,分析器122可調(diào)整緩沖延遲512。在處理來自緩沖器126的第一部分副本174之后,分析器122可更新最后播放的包508以指示第一包132,且可更新緩沖時間線504以指示第二特定包(例如,第二包134)作為下一個待處理的包。第二特定包(例如,第二包134)可為所述序列的包中的第一包132之后的下一個包。
在特定實施方案中,響應(yīng)于確定第一包132和第一部分副本174從緩沖器126缺失,分析器122可對第二特定包(例如,第二包134)執(zhí)行與對第一包132執(zhí)行的分析類似的分析。舉例來說,分析器122可響應(yīng)于確定緩沖時間線504所指示的待處理的下一個包在所述序列的包中在第二特定包之前而進行擦除,且可在進行擦除之后更新緩沖時間線504?;蛘撸诖蠹s第一重放時間502,分析器122可響應(yīng)于確定緩沖時間線504所指示的待處理的下一個包與第二特定包相同或在第二特定包之后、第二特定包或第二特定包的部分副本存儲在緩沖器126中,且第一播放時間502大于或等于緩沖延遲512和與第二特定包相關(guān)聯(lián)的特定接收時間的總和而處理來自緩沖器126的第二特定包。
目的地裝置102可在電話呼叫期間接收所述序列的包(例如第一包132、第二包134或這兩者)。第一包132、第二包134或這兩者可包含語音數(shù)據(jù)。如本文所述,在電話呼叫期間在話音突峰的開始處或在話音突峰的結(jié)束處,分析器122可確定或更新緩沖延遲512。話音突峰可對應(yīng)于靜默間隔之間的連續(xù)語音段,在此期間可聽到背景噪聲。舉例來說,第一話音突峰可對應(yīng)于第一用戶152的語音,且第二話音突峰可對應(yīng)于第二用戶154的語音。第一話音突峰和第二話音突峰可通過靜默或背景噪聲的周期分隔開。
分析器122可確定先前延遲損失速率552。先前延遲損失速率552可對應(yīng)于在第一更新時間在緩沖延遲512的先前調(diào)整期間確定的延遲損失速率。分析器122可維持延遲損失包510的計數(shù)。延遲損失包510的計數(shù)可指示在對應(yīng)的重放時間處理來自緩沖器126的包的部分副本之后接收到的包的數(shù)目。對應(yīng)的重放時間可在第一更新時間之后。舉例來說,在第一更新時間之后,分析器122可在與第一包132相關(guān)聯(lián)的第一重放時間處理來自緩沖器126的第一部分副本174。分析器122可基于確定滿足一或多個條件而確定第一時間對應(yīng)于第一重放時間。舉例來說,如果在第一時間,最后播放的包506在第一包132之前,且第一包132在如由緩沖時間線504指示的待處理的下一個包之前或與所述下一個包相同,那么第一時間可對應(yīng)于第一重放時間。如果第一時間大于或等于與第一包132相關(guān)聯(lián)的接收時間(例如,第一部分副本174的第一接收時間)與緩沖延遲512的總和,那么第一時間可對應(yīng)于第一重放時間。如果第一包132是在第一時間滿足先前條件的所述序列的包中的最早的包,那么第一時間可對應(yīng)于第一重放時間。響應(yīng)于在處理第一部分副本174之后接收到第一包132,分析器122可更新(例如,遞增)延遲損失包的計數(shù)510。
分析器122可維持接收到的包計數(shù)514。舉例來說,分析器122可在第一更新時間之后使接收到的包計數(shù)514復(fù)位。分析器122可響應(yīng)于接收到包(例如,第二包134)而更新(例如,遞增1)接收到的包計數(shù)514。分析器122可基于延遲損失包的計數(shù)510和接收到的包計數(shù)514來確定第二延遲損失速率554。舉例來說,第二延遲損失速率554可對應(yīng)于延遲損失包的計數(shù)510和接收到的包計數(shù)514的量度(例如比率)。為了說明,第二延遲損失速率554可在特定時間間隔期間指示延遲損失包(例如,在處理包的部分副本之后接收到的包)的平均數(shù)目。第二延遲損失速率554可指示在特定時間間隔期間的網(wǎng)絡(luò)抖動。先前延遲損失速率552與第二延遲損失速率554之間的差值可指示接收到的包的延遲的變化。先前延遲損失速率552與第二延遲損失速率554之間的差值可指示延遲損失包的平均數(shù)目是增大還是減小。
分析器122可基于先前延遲損失速率552和第二延遲損失速率554來確定延遲損失速率556。舉例來說,延遲損失速率556可對應(yīng)于先前延遲損失速率552和第二延遲損失速率554的加權(quán)和。分析器122可將第一權(quán)重(例如,0.75)指派給先前延遲損失速率552,且將第二權(quán)重(例如,0.25)指派給第二延遲損失速率554。第一權(quán)重可與第二權(quán)重相同或不同。在特定實施方案中,第一權(quán)重可高于第二權(quán)重?;谙惹把舆t損失速率552和第二延遲損失速率554的加權(quán)和來確定延遲損失速率556可減少基于臨時網(wǎng)絡(luò)條件的延遲損失速率556的振蕩。舉例來說,包的捆綁可造成大量包(例如,3個)在相同時間到達(dá)之后在后續(xù)間隔期間沒有包到達(dá)。第二延遲損失速率554可從第一時間波動到第二時間,因為在第一時間確定的第二延遲損失速率554可對應(yīng)于接收到大量的包的間隔,且在第二時間確定的第二延遲損失速率554可對應(yīng)于沒有包到達(dá)的間隔。基于先前延遲損失速率552和第二延遲損失速率554的加權(quán)和來確定延遲損失速率556可減少包捆綁對延遲損失速率556的影響。
分析器122可響應(yīng)于確定延遲損失速率556無法滿足(例如,小于)目標(biāo)延遲損失速率528(例如,0.01),而使緩沖延遲512減小遞減量516(例如,20毫秒)。舉例來說,目標(biāo)延遲損失速率528可對應(yīng)于相對于接收到的包的延遲損失包的第一百分比(例如1%)。分析器122可響應(yīng)于確定延遲損失速率556滿足(例如,大于)目標(biāo)延遲損失速率528、延遲損失速率556大于或等于先前延遲損失速率552或這兩者,而使緩沖延遲512增大遞增量518(例如,20毫秒)。遞減量516、遞增量518、目標(biāo)延遲損失速率528或其組合可包括默認(rèn)值、可基于來自第一用戶152的用戶輸入或這兩者。遞減量516可與遞增量518相同或不同。
分析器122可將緩沖延遲512設(shè)置成緩沖延遲512和延遲下限538(例如,20毫秒)的最大值。舉例來說,響應(yīng)于確定緩沖延遲512低于延遲下限538,分析器122可將緩沖延遲512設(shè)置成延遲下限538。分析器122可將緩沖延遲512設(shè)置成緩沖延遲512和延遲上限536(例如,80毫秒)的最小值。舉例來說,響應(yīng)于確定緩沖延遲512超過延遲上限536,分析器122可將緩沖延遲512設(shè)置成延遲上限536。延遲下限538、延遲上限536或這兩者可為默認(rèn)值、可基于來自第一用戶152的用戶輸入,或這兩者。
因此,系統(tǒng)500可提供具有使得延遲的包可能在對應(yīng)的重放時間之前接收到的長緩沖延遲與減小與包的序列相關(guān)聯(lián)的端到端延遲的短緩沖延遲之間的平衡。
參看圖6,示出了基于冗余的包發(fā)射錯誤恢復(fù)的方法的特定說明性方面的流程圖,且所述方法通常表示為600。在特定方面中,可通過圖1的分析器122來執(zhí)行方法600。
方法600包含在602處確定一序列的包中的特定包是否從緩沖器缺失。舉例來說,圖1的分析器122可確定一序列的包中的特定包(例如,第一包132)是否從緩沖器126中缺失,如參看圖1所描述。
方法600還包括響應(yīng)于在602處確定特定包并未從緩沖器中缺失而在604處將特定包發(fā)送到語音解碼器。舉例來說,響應(yīng)于確定第一包132并未從緩沖器126中缺失,圖1的分析器122可將第一包132發(fā)送到語音解碼器156,如參看圖1所描述。
方法600進一步包含響應(yīng)于在602處確定所述特定包從所述緩沖器缺失,在606處確定所述特定包的部分副本是否作為另一包中的錯誤校正數(shù)據(jù)而存儲在所述緩沖器中。舉例來說,圖1的分析器122可響應(yīng)于確定第一包132從緩沖器126中缺失來確定第一包132的部分副本(例如,第一部分副本174)是否作為另一包(例如,第二包134)中的錯誤校正數(shù)據(jù)存儲在所述緩沖器中,如參看圖1所描述。
方法600還包括響應(yīng)于在606處確定部分副本存儲在緩沖器中而在608處更新檢索到的部分副本的計數(shù)。方法600可繼續(xù)進行到610。舉例來說,圖1的分析器122可響應(yīng)于確定包含第一部分副本174的第二包134存儲在緩沖器126中而更新檢索到的部分副本計數(shù)106的計數(shù),如參看圖1所描述。
方法600進一步包括響應(yīng)于在606處確定部分副本并不存儲在緩沖器中而在612處更新丟失包的計數(shù)。舉例來說,圖1的分析器122可響應(yīng)于確定包含第一部分副本174的第二包134并不存儲在緩沖器126中而更新丟失包的計數(shù)114,如參看圖1所描述。
方法600還包含在610處,基于檢索到的部分副本的計數(shù)、丟包的計數(shù)或這兩者來動態(tài)地調(diào)整錯誤恢復(fù)參數(shù)。舉例來說,圖1的分析器122可基于檢索到的部分副本計數(shù)106、丟失包的計數(shù)114或這兩者來動態(tài)地調(diào)整錯誤恢復(fù)參數(shù)108。
方法600進一步包含在614處確定重傳計數(shù)是否小于重傳閾值。舉例來說,圖1的分析器122可確定重傳計數(shù)154是否滿足(例如,小于)重傳閾值112,如參看圖1和4所描述。
方法600還包括響應(yīng)于在614處確定重傳計數(shù)小于重傳閾值,在616處將重傳消息發(fā)送到源裝置,并且在618處更新重傳計數(shù)。舉例來說,圖1的分析器122可響應(yīng)于確定重傳計數(shù)154滿足(例如小于)重傳閾值112,將重傳消息144發(fā)送到源裝置104并更新重傳計數(shù)154,如參看圖1所描述。重傳請求可請求特定包的重傳。
方法600進一步包含響應(yīng)于在614處確定重傳計數(shù)大于或等于重傳閾值,在620處制止將重傳消息發(fā)送到源裝置。舉例來說,圖1的分析器122可響應(yīng)于確定重傳計數(shù)154未能滿足(例如大于或等于)重傳閾值112,制止將重傳消息144發(fā)送到源裝置104,如參看圖1所描述。
方法600可因此基于丟失包的計數(shù)、檢索到的部分副本的計數(shù)或這兩者來實現(xiàn)錯誤恢復(fù)參數(shù)的動態(tài)調(diào)整。
圖6的方法600可由現(xiàn)場可編程門陣列(FPGA)裝置、專用集成電路(ASIC)、處理單元(例如,中央處理單元(CPU))、數(shù)字信號處理器(DSP)、控制器、另一硬件裝置、固件裝置或其任何組合實施。舉例來說,圖6的方法600可由執(zhí)行指令的處理器執(zhí)行,如相對于圖9所描述。
參看圖7,示出了基于冗余的包發(fā)射錯誤恢復(fù)的方法的特定說明性方面的流程圖,且所述方法通常表示為700。在特定方面中,可通過圖1的分析器122來執(zhí)行方法700。在特定方面中,方法700可對應(yīng)于圖6的610。
方法700包括在702處通過使檢索到的部分副本的計數(shù)乘以質(zhì)量度量來產(chǎn)生經(jīng)加權(quán)值。舉例來說,圖1的分析器122可通過使檢索到的部分副本計數(shù)106乘以質(zhì)量度量128來產(chǎn)生經(jīng)加權(quán)值,如參看圖1所描述。
方法700還包括在704處通過對丟失包的計數(shù)和經(jīng)加權(quán)值進行求和來產(chǎn)生結(jié)果值。舉例來說,圖1的分析器122可通過對丟失包的計數(shù)114和經(jīng)加權(quán)值進行求和來產(chǎn)生結(jié)果值118,如參看圖1所描述。
方法700進一步包含在706處確定結(jié)果值是否大于遞增閾值。舉例來說,圖1的分析器122可確定結(jié)果值118是否滿足(例如,大于)遞增閾值136。
方法700還包括響應(yīng)于在706處確定結(jié)果值大于遞增閾值,而在708處基于結(jié)果值與遞增閾值之間的差來確定遞增量。舉例來說,圖1的分析器122可響應(yīng)于確定結(jié)果值118滿足(例如,大于)遞增閾值136,而基于結(jié)果值118與遞增閾值136之間的差來確定遞增量140。
方法700進一步包含在710處基于遞增量來調(diào)整錯誤恢復(fù)參數(shù)。舉例來說,圖1的分析器122可基于遞增量140來調(diào)整錯誤恢復(fù)參數(shù)108,如參看圖1所描述。
方法700還包含響應(yīng)于在706處確定結(jié)果值小于或等于遞增閾值,而在712處確定結(jié)果值是否小于遞減閾值。舉例來說,圖1的分析器122可響應(yīng)于確定結(jié)果值118未能滿足(例如,小于或等于)遞增閾值136,確定結(jié)果值118是否滿足(例如,小于)遞減閾值138,如參看圖1所描述。
方法700進一步包含響應(yīng)于在712處確定結(jié)果值大于或等于遞減閾值,而在714處制止調(diào)整錯誤恢復(fù)參數(shù)。舉例來說,圖1的分析器122可響應(yīng)于確定結(jié)果值118未能滿足(例如,大于或等于)遞減閾值138,而制止調(diào)整錯誤恢復(fù)參數(shù)108,如參看圖1所描述。
方法700還包括響應(yīng)于在712處確定結(jié)果值小于遞減閾值,而在716處基于結(jié)果值與遞減閾值之間的差來確定遞減量。舉例來說,圖1的分析器122可響應(yīng)于確定結(jié)果值118滿足(例如,小于)遞減閾值138,而基于結(jié)果值118與遞減閾值138之間的差來確定遞減量150。
方法700進一步包含在718處基于遞減量來調(diào)整錯誤恢復(fù)參數(shù)。舉例來說,圖1的分析器122可基于遞減量150來調(diào)整錯誤恢復(fù)參數(shù)108,如參看圖1所描述。
方法700可因此基于丟失包的計數(shù)、檢索到的部分副本的計數(shù)或這兩者來實現(xiàn)錯誤恢復(fù)參數(shù)的動態(tài)調(diào)整。
圖7的方法700可由現(xiàn)場可編程門陣列(FPGA)裝置、專用集成電路(ASIC)、處理單元(例如,中央處理單元(CPU))、數(shù)字信號處理器(DSP)、控制器、另一硬件裝置、固件裝置或其任何組合實施。舉例來說,圖7的方法700可由執(zhí)行指令的處理器執(zhí)行,如相對于圖9所描述。
參看圖8,示出了基于冗余的包發(fā)射錯誤恢復(fù)的方法的特定說明性方面的流程圖,且所述方法通常表示為800。在特定方面中,可通過圖1和5的分析器122來執(zhí)行方法800。
方法800包括在802處,在第一更新時間確定對應(yīng)于錯誤恢復(fù)參數(shù)的先前調(diào)整的第一延遲損失速率。舉例來說,如參看圖5所描述,分析器122可確定先前延遲損失速率552。先前延遲損失速率552可對應(yīng)于在第一更新時間對錯誤恢復(fù)參數(shù)108(例如緩沖延遲512)的先前調(diào)整。
方法800還包括在804處確定對應(yīng)于多個包中的特定包的第二延遲損失速率。舉例來說,如參看圖5所描述,分析器122可確定第二延遲損失速率554。第二延遲損失速率554可對應(yīng)于與輸入語音信號130相關(guān)聯(lián)的多個包中的特定包。特定包可具有在第一更新時間之后的重放時間。
方法800進一步包括在806處基于第一延遲損失速率和第二延遲損失速率的加權(quán)和來確定延遲損失速率。舉例來說,分析器122可基于先前延遲損失速率552和第二延遲損失速率554的加權(quán)和來確定延遲損失速率556,如參看圖5所描述。
方法800還包括在810處確定延遲損失速率是否低于目標(biāo)延遲損失速率。舉例來說,分析器122可確定延遲損失速率556是否低于目標(biāo)延遲損失速率528,如參看圖5所描述。
方法800進一步包括響應(yīng)于在810處確定延遲損失速率低于目標(biāo)延遲損失速率,而在812處以遞減量遞減緩沖延遲。舉例來說,分析器122可響應(yīng)于確定延遲損失速率556低于目標(biāo)延遲損失速率528,使緩沖延遲512減小遞減量516,如參看圖5所描述。方法800可繼續(xù)進行到818。
方法800還包含響應(yīng)于在810處確定延遲損失速率大于或等于目標(biāo)延遲損失速率,在814處確定延遲損失速率是否大于目標(biāo)延遲損失速率,且延遲損失速率是否大于第一延遲損失速率。舉例來說,分析器122可響應(yīng)于確定延遲損失速率556大于或等于目標(biāo)延遲損失速率528,而確定延遲損失速率556是否大于目標(biāo)延遲損失速率528,且延遲損失速率556是否大于先前延遲損失速率552,如參看圖5所描述。方法800可響應(yīng)于在814處確定延遲損失速率等于目標(biāo)延遲損失速率或延遲損失速率小于或等于第一延遲損失速率而繼續(xù)進行到818。
方法800進一步包含響應(yīng)于在814處確定延遲損失速率大于目標(biāo)延遲損失速率,且延遲損失速率大于第一延遲損失速率,在816處使緩沖延遲遞增一遞增量。舉例來說,分析器122可響應(yīng)于確定延遲損失速率556大于目標(biāo)延遲損失速率528,且延遲損失速率556大于先前延遲損失速率552,而使緩沖延遲512增大遞增量518,如參看圖5所描述。在特定實施方案中,分析器122可響應(yīng)于確定延遲損失速率556低于目標(biāo)延遲損失速率528,使緩沖延遲512增加遞增量518。
方法800還包括在818處將緩沖延遲設(shè)置成延遲下限和緩沖延遲的最大值。舉例來說,分析器122可將緩沖延遲512設(shè)置成延遲下限538和緩沖延遲512的最大值,如參看圖5所描述。
方法800進一步包含在820處將緩沖延遲設(shè)置成延遲上限和緩沖延遲的最小值。舉例來說,分析器122可將緩沖延遲512設(shè)置成延遲上限536和緩沖延遲512的最小值,如參看圖5所描述。
方法800可因此基于延遲損失速率和目標(biāo)延遲損失速率來實現(xiàn)錯誤恢復(fù)參數(shù)(例如,緩沖延遲)的動態(tài)調(diào)整。延遲損失速率可對應(yīng)于相對于接收到的包的數(shù)目的延遲損失包的數(shù)目。延遲損失包可包含在對應(yīng)的重放時間在包的部分副本的處理之后接收到的包?;谘舆t損失速率和目標(biāo)延遲損失速率對緩沖延遲的動態(tài)調(diào)整可在具有使得延遲包可能在對應(yīng)的重放時間之前接收到的長緩沖延遲與減小與包的序列相關(guān)聯(lián)的端到端延遲的短緩沖延遲之間提供平衡。
圖8的方法800可由現(xiàn)場可編程門陣列(FPGA)裝置、專用集成電路(ASIC)、處理單元(例如,中央處理單元(CPU))、數(shù)字信號處理器(DSP)、控制器、另一硬件裝置、固件裝置或其任何組合實施。舉例來說,圖8的方法800可由執(zhí)行指令的處理器執(zhí)行,如相對于圖9所描述。
參考圖9,描繪了裝置(例如,無線通信裝置)的特定說明性方面的框圖,且所述裝置通常表示為900。在各種方面中,裝置900可具有與圖9中說明的組件相比更多或更少的組件。在說明性方面中,裝置900可對應(yīng)于圖1的目的地裝置102、源裝置104或這兩者。在說明性方面中,裝置900可執(zhí)行參考圖1到8描述的一或多個操作。
在特定方面中,裝置900包括處理器906(例如,中央處理單元(CPU))。裝置900可包含一或多個額外處理器910(例如,一或多個數(shù)字信號處理器(DSP))。處理器910可包含語音和音樂編解碼器(CODEC)908以及回聲消除器912。語音和音樂編解碼器908可包括聲碼器編碼器936、聲碼器解碼器938,或這兩者。
裝置900可包含存儲器176和編解碼器934。存儲器176可包含分析數(shù)據(jù)120。裝置900可包含經(jīng)由收發(fā)器950耦合到天線942的無線控制器940。在特定方面中,收發(fā)器950可包含圖1的接收器124、發(fā)射器192或這兩者。
裝置900可包含耦合到顯示器控制器926的顯示器928。圖1的揚聲器142、麥克風(fēng)946或這兩者可耦合到編解碼器934。編解碼器934可包含數(shù)/模轉(zhuǎn)換器902和模/數(shù)轉(zhuǎn)換器904。在說明性方面中,麥克風(fēng)946可對應(yīng)于圖1的麥克風(fēng)146。在特定方面中,編解碼器934可從麥克風(fēng)946接收模擬信號,使用模/數(shù)轉(zhuǎn)換器904將模擬信號轉(zhuǎn)換為數(shù)字信號,并將數(shù)字信號提供到語音和音樂編解碼器908。語音和音樂編解碼器908可處理數(shù)字信號。在特定方面中,語音和音樂編解碼器908可將數(shù)字信號提供到編解碼器934。編解碼器934可使用數(shù)/模轉(zhuǎn)換器902來將數(shù)字信號轉(zhuǎn)換為模擬信號,且可將模擬信號提供到揚聲器142。
裝置900可包含分析器122、緩沖器126、語音解碼器156或其組合。在特定方面中,分析器122、語音解碼器156或這兩者包含于處理器906、處理器910、編解碼器934、語音和音樂編解碼器908或其組合中。在特定方面中,分析器122、語音解碼器156或這兩者可包含于聲碼器編碼器936、聲碼器解碼器938或這兩者中。在特定實施方案中,語音解碼器156可在功能上與聲碼器解碼器938相同。語音解碼器156可對應(yīng)于處理器910外部的專用硬件電路(例如,DSP)。
分析器122、緩沖器126、語音解碼器156或其組合可用于實施本文中描述的基于冗余的錯誤恢復(fù)技術(shù)的硬件方面?;蛘呋蛄硗?,可實施軟件方面(或組合的軟件/硬件方面)。舉例來說,存儲器176可包含可由處理器910或裝置900的其它處理單元(例如,處理器906、編解碼器934或這兩者)執(zhí)行的指令956。指令956可對應(yīng)于分析器122、語音解碼器156或這兩者。
在特定方面中,裝置900可包含于封裝內(nèi)系統(tǒng)或芯片上系統(tǒng)裝置922中。在特定方面中,分析器122、緩沖器126、語音解碼器156、存儲器176、處理器906、處理器910、顯示器控制器926、編解碼器934和無線控制器940包含于封裝內(nèi)系統(tǒng)或芯片上系統(tǒng)裝置922中。在特定方面中,輸入裝置930和電源944耦合到芯片上系統(tǒng)裝置922。此外,在特定方面中,如圖9中所說明,顯示器928、輸入裝置930、揚聲器142、麥克風(fēng)946、天線942和電源944位于芯片上系統(tǒng)裝置922的外部。在特定方面中,顯示器928、輸入裝置930、揚聲器142、麥克風(fēng)946、天線942和電源944中的每一者可耦合到芯片上系統(tǒng)裝置922的組件,例如接口或控制器。
裝置900可包含移動通信裝置、智能電話、蜂窩式電話、膝上型計算機、計算機、平板計算機、個人數(shù)字助理、顯示裝置、電視機、游戲控制臺、音樂播放器、無線電、數(shù)字視頻播放器、數(shù)字視頻光盤(DVD)播放器、調(diào)諧器、相機、導(dǎo)航裝置或其任何組合。
在說明性方面中,處理器910可為可操作的以執(zhí)行參考圖1到8所描述的方法或操作的全部或一部分。舉例來說,麥克風(fēng)946可捕獲對應(yīng)于用戶語音信號的音頻信號。ADC904可將所捕獲的音頻信號從模擬波形轉(zhuǎn)換為由數(shù)字音頻樣本組成的數(shù)字波形。處理器910可處理數(shù)字音頻樣本。增益調(diào)整器可調(diào)整數(shù)字音頻樣本?;芈曄?12可減少可能已由進入麥克風(fēng)946的揚聲器142的輸出產(chǎn)生的任何回聲。
聲碼器編碼器936可壓縮對應(yīng)于經(jīng)處理語音信號的數(shù)字音頻樣本,且可形成包的序列(例如,數(shù)字音頻樣本的經(jīng)壓縮位的表示)。包的序列可存儲于存儲器176中。所述序列的一或多個包可包含對應(yīng)于所述序列的其它包的部分副本。收發(fā)器950可調(diào)制所述序列的某一形式的每一包(例如,其它信息可附加到所述包),且可經(jīng)由天線942發(fā)射經(jīng)調(diào)制的數(shù)據(jù)。
作為另一個實例,天線942可接收對應(yīng)于經(jīng)由網(wǎng)絡(luò)由另一裝置發(fā)送的一序列的包的傳入包。接收到的包可對應(yīng)于用戶語音信號。分析器122可將傳入包存儲在緩沖器126(例如,去抖動緩沖器)中。分析器122可確定待處理的下一個包是否存儲在緩沖器126中。
響應(yīng)于確定下一個包存儲在緩沖器126中,分析器122可將所述下一個包提供到聲碼器解碼器938。舉例來說,聲碼器解碼器938可解壓縮所述下一個包。響應(yīng)于確定所述下一個包并不存儲在緩沖器126中,分析器122可確定所述下一個包的部分副本是否存儲在緩沖器126中作為另一包中的錯誤校正數(shù)據(jù)。響應(yīng)于確定部分副本在另一包中存儲在緩沖器126中,分析器122可將部分副本或所述另一包提供到聲碼器解碼器938,且可更新圖1的檢索到的部分副本計數(shù)106。聲碼器解碼器938可解壓縮部分副本。
未經(jīng)壓縮的波形可被稱作經(jīng)重構(gòu)的音頻樣本。回聲消除器912可將回聲從經(jīng)重構(gòu)音頻樣本中去除。語音解碼器156可基于經(jīng)重構(gòu)音頻樣本產(chǎn)生處理過的語音信號。增益調(diào)整器可放大或抑制處理過的語音信號。DAC 902可將處理過的語音信號從數(shù)字波形轉(zhuǎn)換為模擬波形,且可將經(jīng)轉(zhuǎn)換的信號提供到揚聲器142。
響應(yīng)于確定下一個包或下一個包的部分副本都不存儲在緩沖器126中,分析器122可更新圖1的丟失包的計數(shù)114。分析器122可基于檢索到的部分副本計數(shù)106、丟失包的計數(shù)114或這兩者來調(diào)整錯誤恢復(fù)參數(shù)。
結(jié)合所描述的方面,一種設(shè)備可包含用于接收多個包的裝置。所述多個包可對應(yīng)于一序列的包的至少一個子集。所述多個包可包含錯誤校正數(shù)據(jù)。所述多個包中的第一包的錯誤校正數(shù)據(jù)可包含所述多個包中的第二包的部分副本。舉例來說,用于接收所述多個包的所述裝置可包括圖1的接收器124、收發(fā)器950或這兩者。
所述設(shè)備還可包含用于錯誤恢復(fù)的裝置。所述用于錯誤恢復(fù)的裝置可經(jīng)配置以:確定所述序列的包中的特定包是否從緩沖器缺失;確定所述特定包的部分副本是否作為另一包中的錯誤校正數(shù)據(jù)存儲在所述緩沖器中;至少部分地基于確定所述緩沖器并不存儲所述特定包,且所述緩沖器并不存儲所述特定包的部分副本,將重傳消息發(fā)送到第二裝置。舉例來說,所述用于錯誤恢復(fù)的裝置可包含分析器122、處理器906、處理器910、編解碼器934或其組合。
所屬領(lǐng)域的技術(shù)人員將進一步了解結(jié)合本文所揭示的方面描述的各種說明性邏輯塊、配置、模塊、電路和算法步驟可實施為電子硬件、由處理器執(zhí)行的計算機軟件或兩者的組合。上文已大體在其功能性方面描述了各種說明性組件、塊、配置、模塊、電路和步驟。將此功能性實施為硬件還是處理器可執(zhí)行指令取決于特定應(yīng)用和強加于整個系統(tǒng)的設(shè)計約束。所屬領(lǐng)域的技術(shù)人員可針對每一特定應(yīng)用以不同方式來實施所描述的功能性,此些實施決策不應(yīng)被解釋為會導(dǎo)致脫離本發(fā)明的范圍。
結(jié)合本文中所揭示的方面描述的方法或算法的步驟可直接用硬件、用由處理器執(zhí)行的軟件模塊、或用這兩者的組合實施。軟件模塊可駐存在隨機存取存儲器(RAM)、快閃存儲器、只讀存儲器(ROM)、可編程只讀存儲器(PROM)、可擦除可編程只讀存儲器(EPROM)、電可擦除可編程只讀存儲器(EEPROM)、寄存器、硬盤、可裝卸磁盤、壓縮光盤只讀存儲器(CD-ROM)或此項技術(shù)中已知的任何其它形式的非暫時性儲存媒體中。示范性存儲媒體耦合到處理器,使得處理器可從存儲媒體讀取信息并將信息寫入到存儲媒體。在替代方案中,存儲媒體可與處理器成一體式。處理器和存儲媒體可駐存在專用集成電路(ASIC)中。ASIC可駐存在計算裝置或用戶終端中。在替代方案中,處理器和存儲媒體可作為離散組件駐存在計算裝置或用戶終端中。
提供對所揭示方面的先前描述以使得所屬領(lǐng)域的技術(shù)人員能夠制作或使用所揭示的方面。所屬領(lǐng)域的技術(shù)人員將容易明白對這些方面的各種修改,且在不脫離本發(fā)明的范圍的情況下,本文中所界定的原理可應(yīng)用于其它方面。因此,本發(fā)明無意限于本文所示出的方面,而應(yīng)被賦予與如所附權(quán)利要求書所定義的原理和新穎特征一致的可能的最廣范圍。