專利名稱:解決網絡抖動的方法及裝置的制作方法
技術領域:
本發(fā)明涉及數據傳輸技術,尤其涉及一種解決網絡抖動的方法及裝置。
技術背景隨著互聯(lián)網技術的不斷成熟,在網絡上進行語音交流變得相當普及,但 現(xiàn)有網絡的質量狀況并不能充分滿足語音交流的需要,網絡中固有的延時、 網絡抖動、丟包、亂序等問題對網絡上進行的語音交流造成了不可避免的影響,從而直接影響到語音交流的服務質量(Qos)。在對語音交流造成影響的各個因素中,網絡抖動是較常見的一個。網絡 抖動是指網絡中相鄰數據包的延時變化,以實現(xiàn)語音交流的即時通訊為例, 發(fā)送端以相同的時間間隔,如10毫秒(ms ),將語音幀發(fā)送到互聯(lián)網,通過 互聯(lián)網將語音幀發(fā)送到接收端,如果互聯(lián)網的網絡質量狀況能夠充分滿足語 音交流的需要,則這些語音幀在到達接收端時,仍會保持發(fā)送時的時間間隔, 從而使得接收端播放的語音與發(fā)送端發(fā)送的語音相一致。但是,現(xiàn)有網絡的質量狀況并不能滿足語音交流的需要,發(fā)送端發(fā)送的 語音幀在網絡上經歷不同的路由和網絡擁塞,使得每個語音幀在網絡中的延 時各不相同,在此情況下,語音幀到達接收端的時間間隔不再與發(fā)送時的時 間間隔完全一致,從而導致接收端播放的語音產生失真,直接影響到語音交 流的服務質量。為了解決網絡抖動對語音交流的影響,現(xiàn)有技術提供了一種Time-scale 抗抖動技術,該技術利用接收端的抖動緩沖區(qū)保存接收到的語音幀,采用同 步疊加算法(SOLA)、基音同步疊加算法(PSOLA)或者基于波形相似性的 同步疊加算法(WSOLA)等,對保存在抖動緩沖區(qū)中的所有語音幀進行時域 的拉伸或壓縮處理。具體包括若判斷得到在新的語音幀到來前,抖動緩沖 區(qū)中的所有語音幀將被播放完,即網絡延時增加時,則采用上述任一算法對 保存在抖動緩沖區(qū)中的所有語音幀做時域的拉伸處理,以延長語音幀的播放
時間;相反,若判斷得到抖動緩沖區(qū)將在短時間內收到很多語音幀,即網絡 延時減小時,為避免抖動緩沖區(qū)中的語音幀溢出,則采用上述任一算法對保 存在抖動緩沖區(qū)中的所有語音幀做時域的壓縮處理,以縮短語音幀的播放時 間。在對現(xiàn)有技術的研究和實踐過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術存在以下問題 Time-scale技術通過調整抖動緩沖區(qū)中保存的所有語音幀的播放時間來 適應網絡抖動的變化,但是語音幀中包括靜音幀和非靜音幀,由于對非靜音 幀進行時域處理會改變非靜音幀的原始采樣頻率,因此,如果接收端按照原 始采樣頻率播放經時域處理的非靜音幀,則會產生語音失真的問題,具體表 現(xiàn)是語速加快或者語速變的很慢。由此可見,Time-scale技術雖然能夠適應網 絡抖動的變化,但無法消除網絡抖動所帶來的語音失真問題。發(fā)明內容本發(fā)明實施例要解決的技術問題是提供一種解決網絡抖動的方法及裝 置,能夠消除網絡抖動帶來的語音失真。為解決上述技術問題,本發(fā)明所提供的實施例是通過以下技術方案實現(xiàn)的本發(fā)明實施例提供了一種解決網絡抖動的方法,包括在接收到的語音幀中查找是否有靜音幀,如果有,若判斷得到網絡延時 增加,則在靜音幀構成的靜音段中插入靜音幀,若判斷得到網絡延時減小, 則從靜音幀構成的靜音段中抽取靜音幀。優(yōu)選的,上述方法進一步包括對接收到的語音幀進行靜音檢測,并標 識出靜音幀。優(yōu)選的,所述對接收到的語音幀進行靜音檢測,并標識出靜音幀具體包括計算接收到的語音幀的語音信號能量以及背景噪聲能量,若所述背景噪 聲能量與語音信號能量的比值大于預置的靜音域值,則將所述語音幀標識為 靜音幀。 優(yōu)選的,判斷網絡延時是否增加具體包括獲取網絡抖動預測值,以及播放接收到的語音幀所需時間;計算所述網絡抖動預測值與所述時間的差值;將所述差值與預置的網絡抖動第一域值進行比較,若所述差值大于所述網絡抖動第一域值,則判斷得到網絡延時增加; 判斷網絡延時是否減小具體包括將所述網絡抖動預測值與所述時間的差值與預置的網絡第二域值進行比 較,若所述差值小于所述網絡抖動第二域值,則判斷得到網絡延時減小。 優(yōu)選的,所述獲取網絡抖動預測值具體為用從接收到的語音幀中取走語音幀的時間減去相對所述取走的語音幀最 近一次接收的語音幀的接收時間,得到網絡抖動預測值。優(yōu)選的,所述在所述靜音幀構成的靜音段中插入靜音幀具體包括用所述網絡抖動預測值與所述播放接收到的語音幀所需時間的差值減去 所述網絡抖動第一域值,再除以每幀語音幀播放時間,獲得插入靜音幀的幀 數;在靜音幀構成的靜音段中插入所述幀數的靜音幀。優(yōu)選的,所述從所述靜音幀構成的靜音段中抽取靜音幀具體包括用所述網絡抖動第二域值減去所述網絡抖動預測值與所述播放接收到的 語音幀所需時間的差值,再除以每幀語音幀播放時間,獲得抽取靜音幀的幀 數;從靜音幀構成的靜音段中抽取所述幀數的靜音幀。本發(fā)明實施例還提供了一種解決網絡抖動的裝置,包括靜音幀查找單 元,延時判斷單元,靜音幀插入單元,靜音幀抽取單元;所述靜音幀查找單元,用于在接收到的語音幀中查找是否有靜音幀,如 果有,則觸發(fā)所述延時判斷單元;所述延時判斷單元,若判斷得到網絡延時增加,則觸發(fā)所述靜音幀插入
單元,若判斷得到網絡延時減小,則觸發(fā)所述靜音幀抽取單元;所述靜音幀插入單元,用于在靜音幀構成的靜音段中插入靜音幀; 所述靜音幀抽取單元,用于從靜音幀構成的靜音段中抽取靜音幀。 優(yōu)選的,上述裝置進一步包括靜音幀檢測單元; 所述靜音幀檢測單元,用于對語音幀進行靜音檢測,并標識出靜音幀。 優(yōu)選的,所述靜音檢測單元具體包括能量計算單元,用于計算接收到的語音幀的語音信號能量以及背景噪聲靜音標識單元,用于計算背景噪聲能量與語音信號能量的比值,若所述 比值大于預置的靜音域值,則將所述語音幀標識為靜音幀。優(yōu)選的,所述延時判斷單元具體包括抖動預測單元,第一差值計算單 元,判斷單元;所述抖動預測單元,用于獲取網絡抖動預測值,以及播放所述接收到的 語音幀所需時間;所述第 一差值計算單元,用于計算所述網絡抖動預測值與所述時間的差值;所述判斷單元,用于將所述差值與預置的網絡抖動第一域值進行比較, 若所述差值大于所述網絡抖動第一域值,則判斷得到網絡延時增加,如果否, 則將所述差值與預置的網絡抖動第二域值進行比較,若所述差值小于所述網 絡抖動第二域值,則判斷得到網絡延時減小。優(yōu)選的,所述抖動預測單元具體包括第一時間獲取單元,第二時間獲 取單元,第二差值計算單元;所述第 一時間獲取單元,用于獲取從接收到的語音幀中取走語音幀的時間;所述第二時間獲取單元,用于獲取相對所述取走的語音幀最近一次接收 的語音幀的接收時間;
所述第二差值計算單元,用于用所述第 一時間獲取單元獲取的時間減去 所述第二時間獲取單元獲取的時間,得到網絡抖動預測值。優(yōu)選的,所述靜音幀插入單元具體包括第三差值計算單元,插入幀數 計算單元,插幀單元;所述第三差值計算單元,用于用所述第一差值計算單元獲取的差值減去 所述網絡抖動第一域值;所述插入幀數計算單元,用于用所述第三差值計算單元的計算結果除以 每幀語音幀播放時間,獲得插入靜音幀的幀數;所述插幀單元,用于在靜音幀構成的靜音段中插入所述幀數的靜音幀。優(yōu)選的,所述靜音幀抽取單元具體包括第四差值計算單元,抽取幀數 計算單元,抽幀單元;所述第四差值計算單元,用于用所述網絡抖動第二域值減去所述第一差 值計算單元獲取的差值;所述抽取幀數計算單元,用于用所述第四差值計算單元的計算結果除以 每幀語音幀播放時間,獲得抽取靜音幀的幀數;所述抽幀單元,用于從靜音幀構成的靜音段中抽取所述幀數的靜音幀。上述技術方案中具有如下有益效果本發(fā)明實施例中,如果接收到的語音幀中有標識為靜音幀的語音幀,則 判斷網絡延時是否變化,如果網絡延時增加,則在靜音幀構成的靜音段中插 入靜音幀,如果網絡延時減小,則從靜音幀構成的靜音段中抽取靜音幀。當 網絡延時變化時,在本發(fā)明實施例通過改變接收到的語音幀中的靜音幀的數 量,調整播放接收到的語音幀的時間以消除網絡抖動對語音通信的影響,并 且,插入或者抽取靜音幀并不影響非靜音幀的播放。因此,本發(fā)明實施例提 供的技術方案不僅解決了網絡抖動問題,而且還解決了因網絡抖動引起的語 音失真問題。
圖1為本發(fā)明第一實施例提供的解決網絡抖動的方法流程圖圖2為本發(fā)明第二實施例提供的解決網絡抖動的方法流程圖 圖3為本發(fā)明第三實施例提供的解決網絡抖動的方法流程圖 圖4為本發(fā)明實施例提供的解決網絡抖動的裝置組成示意圖 圖5為本發(fā)明實施例提供的延時判斷單元的組成示意圖; 圖6為本發(fā)明實施例提供的抖動預測單元的組成示意圖; 圖7為本發(fā)明實施例提供的靜音幀插入單元的組成示意圖; 圖8為本發(fā)明實施例提供的靜音幀抽取單元的組成示意圖; 圖9為本發(fā)明實施例提供的靜音幀檢測單元的組成示意圖。
具體實施方式
本發(fā)明實施例提供了 一種解決網絡抖動的方法及裝置,為了更清楚的解 釋本發(fā)明實施例的具體實現(xiàn)方式,以下結合附圖對本發(fā)明實施例進行詳細描 述。以下結合附圖對本發(fā)明實施例提供的解決網絡抖動的方法進行具體描述。在本發(fā)明實施例中,接收到的語音幀保存在抖動緩沖區(qū)中,該抖動緩沖 區(qū)為大小固定的一段存儲區(qū)。本發(fā)明實施例提供的解決網絡抖動的方法包括在接收到的語音幀中查 找是否有靜音幀,如果有,若判斷得到網絡延時增加,則在靜音幀構成的靜 音段中插入靜音幀,若判斷得到網絡延時減小,則從靜音幀構成的靜音段中 抽取靜音幀。請參見圖l,為本發(fā)明第一實施例提供的解決網絡抖動的方法流程圖,包括步驟101:在接收到的語音幀中查找是否有靜音幀的語音幀,如果有,則 進入步驟102,如果否,則結束流程;步驟102:判斷網絡延時是否增加,如果是,則進入步驟103,如果否, 則進入步驟104;步驟103:在靜音幀構成的靜音段中插入靜音幀;步驟104:判斷網絡延時是否減小,如果是,則進入步驟105;如果否, 則結束。步驟105:從靜音幀構成的靜音段中抽取靜音幀。本發(fā)明第一實施例提供的方法中,當網絡延遲變化時,通過改變接收到 的語音幀中的靜音幀的數量,調整播放接收到的語音幀的時間,消除了網絡 抖動對語音通信的影響。請參見圖2,為本發(fā)明第二實施例提供的解決網絡抖動的方法流程圖,該 方法包括步驟201:在接收到的語音幀中查找是否有靜音幀,如果有,則進入步驟 202,如果否,則結束流程;步驟202:獲取網絡抖動預測值Tjred,以及播放接收到的語音幀所需時 間T—buff;其中,接收到的語音幀的幀數可以實時統(tǒng)計,比如,每收到一個語音幀, 則幀數加l,取走一個語音幀,則幀數減l,并且,在傳送語音幀前,語音幀 發(fā)送端會將語音幀的編碼方式發(fā)送給語音幀接收端,語音幀接收端根據所述 編碼方式,獲得每幀語音幀播放時間T_frame,因此,T_buff可以計算得到。步驟203:計算T_pred與T—buff的差值;步驟204:將步驟203中計算出的差值與預置的網絡抖動第一域值T一max 進行比較,若所述差值大于T_max,則說明網絡延時增加,進入步驟205;如 果否,則進入步驟206;步驟205:在靜音幀構成的靜音段中插入靜音幀;步驟206:將步驟203計算出的差值與預置的網絡抖動第二域值T—min 進行比較,若該差值小于T一min,則說明網絡延時減小,進入步驟207;如果 該差值大于Tmin,則結束。
步驟207:從靜音幀構成的靜音段中抽取靜音幀。本發(fā)明第二實施例提供的方法中,采用的判斷網絡延遲是否變化的具體手段為獲取網絡抖動預測值T_pred,以及播放接收到的語音幀所需時間 T—buff,將Tjred與T—buff的差值與預置網絡抖動域值進行比較,從而判斷 網絡延遲是否變化。該實施例亦可實現(xiàn)消除網絡抖動對語音通信的影響,請參見圖3,為本發(fā)明第三實施例提供的解決網絡抖動的方法流程圖,該 方法包括步驟301:在接收到的語音幀中查找是否有靜音幀,如果有,則進入步驟 302,如果否,則結束流程;步驟302:獲取從接收到的語音幀中取走語音幀的時間T—get,以及相對 所述取走的語音幀最近一次接收的語音幀的接收時間T—last;其中,抖動緩沖區(qū)為一個大小固定的存儲區(qū),并且先進入該抖動緩沖區(qū) 中的語音幀先出去,因此,能夠被取走的語音幀可以認為是排在抖動緩沖區(qū) 第一位的語音幀,而相對該語音幀排在抖動緩沖區(qū)中最后一位的語音幀則是 相對被取走的語音幀最近一次接收到的語音幀。比如,抖動緩沖區(qū)可以保存 五個語音幀,這五個語音幀分別是A, B, C, D, E,其中,A為五個語音幀 中第一個進入抖動緩沖區(qū)的語音幀,其次為B, C, D,而E為五個語音幀中 最后一個進入抖動緩沖區(qū)的語音幀,那么,在這五個語音幀中當前能夠被取 走的則是排在第一位的A,而排在抖動緩沖區(qū)最后一位的E則是相對A最近 一次接收到的語音幀。步驟303:用T一get減去TJast,得到網絡抖動預測值T_pred;步驟304:獲取播放接收到的語音幀所需時間T_buff;步驟305:計算T_pred與T—buff的差值;步驟306:將步驟305計算出的差值與預置的網絡抖動第一域值T_max 進行比較,若所述差值大于T一max,則說明網絡延時增加,進入步驟307;如 果否,則進入步驟308;步驟307:用T_pred與T一buff的差值減去T max5 再除以每幀語音幀播
放時間T—frame,獲得插入靜音幀的幀數,在靜音幀構成的靜音段中插入所述 幀數的靜音幀;步驟308:將步驟305計算出的差值與預置的網絡抖動第二域值T一min 進行比較,若差值小于T—min,則說明網絡延時減小,進入步驟309;如果該 差值大于Tlmin,則結束。步驟309:用T—min減去T_pred與T—buff的差值,再除以T一frame獲得 抽取靜音幀的幀數,從所靜音幀構成的靜音段中抽取所述幀數的靜音幀。本發(fā)明第三實施例提供的方法中,采用的獲取預測網絡抖動值T_pred的 具體手段為用從接收到的語音幀中取走語音幀的時間T—get減去相對所述取 走的語音幀最近一次接收的語音幀的接收時間T一last,得到網絡抖動預測值。由于本發(fā)明第三實施例提供的方法中,需要得到T—get和TJast,因此, 該方法的執(zhí)行條件為每次從抖動緩沖區(qū)中取走一幀語音幀進行播放時,或 者,抖動緩沖區(qū)中每接收一幀語音幀時,執(zhí)行步驟301至步驟309。并且,本發(fā)明第三實施例中,根據T_pred, T_buff以及預置的網絡抖動 域值計算得到的抽取或者插入靜音幀的幀數,可以準確的消除網絡抖動對語 音的影響。此外,為了進一步提高消除網絡抖動對語音幀影響的準確度,可以對步 驟307及步驟309中計算出的插幀幀數和抽幀幀數進行調整。比如,可以用 抽幀幀數減去調節(jié)量x,插幀幀數加上調節(jié)量x, x為大于等于O的整數,在 具體實現(xiàn)時,技術人員可以按照系統(tǒng)要求選定x的取值。本發(fā)明第四實施例提供的方法與本發(fā)明第二實施例提供的方法的區(qū)別僅 在于,該方法采用固定閾值判斷方法,判斷網絡是否延遲,固定閾值判斷方 法具體包括在接收一個語音幀時,用該語音幀的網絡延時與預置的域值進行比較, 若該語音幀的網絡延時大于該閾值,則說明網絡延時增加,若小于該域值則 說明網絡延時減小。本發(fā)明第四實施例與本發(fā)明第二實施例的相同之處,請
參見前文內容,此處不再贅述。進一步,在該方法中為了準確消除網絡抖動對語音通信的影響,則可用 接收一個語音幀的網絡延時減去預置的域值得到網絡抖動預測值,然后按照 本發(fā)明第三實施例提供計算幀數的方法得到插入靜音幀的幀數或者抽取靜音 幀的幀數。以下介紹獲得網絡抖動第一域值T_max,及網絡抖動第二域值T一min的 方法。對于T—max和T—min的選擇,需要考慮網絡抖動的情況,如果T—max 太大,或者T_min太小都會造成無法準確判斷網絡延時變化的情況,反之亦 然,因此,本發(fā)明實施例中采用網絡抖動跟蹤技術,依據多次網絡抖動情況 來選擇T—max和T一min。具體方法包括取連續(xù)N次網絡抖動預測值中較小 的M個網絡抖動預測值的平均值作為T—max;取連續(xù)N次網絡抖動預測值中 較大的M個網絡抖動預測值的平均值作為T_min。比如,取連續(xù)五次網絡抖 動預測值中較大的三個網絡抖動預測的平均值作為T一max,取連續(xù)五次網絡 抖動預測值中較小的三個網絡抖動預測的平均值作為T—min。在本發(fā)明實施例中,接收到的語音幀保存在抖動緩沖區(qū)中,因此,可以 在抖動緩沖區(qū)中每收到一個語音幀,就對該語音幀進行靜音檢測,并標識出 靜音幀。那么,本發(fā)明第一實施例至第四實施例中查找靜音幀的方法具體為 根據靜音標識,在接收到的語音幀中查找靜音幀。如果不在抖動緩沖區(qū)每接收一個語音幀時進行靜音檢測,則本發(fā)明第一 實施例至第四實施例中查找靜音幀的方法具體為對接收到的語音幀進行靜 音檢測,獲的靜音幀。其中,對語音幀進行靜音檢測可以采用如下幾秤方法 第一種方式計算語音幀的語音信號能量以及背景噪聲能量,若所述背 景噪聲能量與語音信號能量的比值大于預置的靜音域值,則將所述語音幀標 識為靜音幀。其中,靜音域值可以取大于等于0.6小于1的任意數,但并不排 除靜音域值取其他值的可能性。
第二種方式計算語音幀的短時平均能量,若該能量小于靜音的能量判斷閾值,則將該語音幀標識為靜音幀;第三種方式根據語音幀的時域過零率判斷,如果過零率超過閾值,則 將該語音幀標識為靜音。以上簡要敘述了幾種靜音檢測方法,由于靜音檢測方法眾多,此處不再 列舉,其他未列舉的靜音檢測方法也適用于本發(fā)明實施例。以上介紹了本發(fā)明實施例提供的方法的具體實現(xiàn)過程,以下介紹本發(fā)明 實施例提供的裝置。請參見圖4,為本發(fā)明實施例提供的一種解決網絡抖動的裝置,包括靜 音幀查找單元401,延時判斷單元402,靜音幀插入單元403,靜音幀抽取單 元404;所述靜音幀查找單元401 ,用于在接收到的語音幀中查找是否有靜音幀, 如果有,則觸發(fā)所述延時判斷單元402;所述延時判斷單元402,若判斷得到網絡延時增加,則觸發(fā)所述靜音幀插 入單元403,若判斷得到網絡延時減小,則觸發(fā)所述靜音幀抽取單元404;所述靜音幀插入單元403,用于在所述靜音幀構成的靜音段中插入靜音幀;所述靜音幀抽取單元404,用于從所述靜音幀構成的靜音段中抽取靜音幀。在本發(fā)明實施例提供的裝置中,所述延時判斷單元402可以有多種實現(xiàn) 方式,此處列舉一種,請參見圖5,該單元具體包括抖動預測單元4021, 第一差值計算單元4022,判斷單元4023;所述抖動預測單元4021 ,用于獲取網絡抖動預測值T_pred,以及播放所 述接收到的語音幀所需時間T一buff;所述第一差值計算單元4022,用于計算所述網絡抖動預測值T_pred與 TJ)uff的差4直;
所述判斷單元4023,用于將所述差值與預置的網絡抖動第一域值T—max 進行比較,若所述差值大于所述網絡抖動第一域值T一max,則說明網絡延時 增加,如果否,則將所述差值與預置的網絡抖動第二域值T—min進行比較, 若所述差值小于所述網絡抖動第二域值T一min,則說明網絡延時減小。在本發(fā)明實施例提供的裝置中,所述抖動預測單元4021也有多種實現(xiàn)方 式,此處僅列舉一種,請參見圖6,該單元具體包括第一時間獲取單元40211, 第二時間獲取單元40212,第二差值計算單元40213;所述第一時間獲取單元40211,用于獲取從接收到的語音幀中取走語音幀 的時間;所述第二時間獲取單元40212,用于獲取相對所述取走的語音幀最近一次 接收到的語音幀的接收時間;所述第二差值計算單元40213,用于用所述第一時間獲取單元獲取的時間 減去所述第二時間獲取單元獲取的時間,得到網絡抖動預測值T_pred。為了能夠實現(xiàn)準確的插幀及抽幀處理,當所述抖動預測單元4021采用如 圖6所示的實現(xiàn)方式時,請參見圖7,靜音幀插入單元403具體包括第三差 值計算單元4031,插入幀數計算單元4032,插幀單元4033;第三差值計算單元4031,用于用所述第一差值計算單元4022獲取的差值 減去預置的網絡抖動第 一域值T—max;插入幀數計算單元4032,用第三差值計算單元4031的計算結果除以每幀 語音幀播放時間T_frame,獲得插入靜音幀的幀數;插幀單元4033,用于在所述靜音幀構成的靜音段中插入所述幀數的靜音幀。請參見圖8,靜音幀抽取單元404具體包括第四差值計算單元4041, 抽取幀數計算單元4042,抽幀單元4043;第四差值計算單元4041,用于用所述網絡抖動第二域值T_min減去第一 差值計算單元4022獲取的差值;
抽取幀數計算單元4042,用于用所述第四差值計算單元4041的計算結果 除以語音幀播放時間T一frame,獲得抽取靜音幀的幀數;抽幀單元4043,用于從所述靜音幀構成的靜音段中抽取所述幀數的靜音幀。如果采用在抖動緩沖區(qū)接收一個語音幀的時候進行一次靜音檢測,那么, 本發(fā)明實施例提供了一種靜音幀檢測單元,請參見圖9,該用于對接收到的語 音幀進行靜音檢測,并標識出靜音幀。該靜音檢測單元具體包括能量計算單元901,用于計算語音幀的語音信號能量以及背景噪聲能量;靜音標識單元902,用于計算背景噪聲能量與語音信號能量的比值,若該 比值大于預置的靜音域值,則將所述語音幀標識為靜音幀。本發(fā)明實施例提供的靜音幀查找單元401具體用于根據靜音標識查找靜 音幀。該靜音檢測單元可以設置在本發(fā)明實施例提供的解決網絡抖動的裝置 中,亦可設置的其他設備中并不影響本發(fā)明實施例的實現(xiàn)。如果本發(fā)明實施例不采用在抖動緩沖區(qū)每收到一個語音幀,對語音幀靜 音檢測的方式,則在本發(fā)明實施例提供的靜音幀查找單元401具體包括能 量計算單元,用于計算語音幀的語音信號能量以及背景噪聲能量;觸發(fā)單元,用于計算背景噪聲能量與語音信號能量的比值,若該比值大 于預置的靜音域值,則觸發(fā)延時判斷單元402。值得注意的是,在本發(fā)明實施例提供的方法及裝置中,也可以先判斷網 絡延時是否減小,再判斷網絡延時是否增加,并不影響本發(fā)明實施例的實現(xiàn)。以上對本發(fā)明所提供的 一種解決網絡抖動的方法及裝置進行了詳細介 紹,對于本領域的一般技術人員,依據本發(fā)明實施例的思想,在具體實施方 式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本 發(fā)明的限制。
權利要求
1、一種解決網絡抖動的方法,其特征在于,包括在接收到的語音幀中查找是否有靜音幀,如果有,若判斷得到網絡延時增加,則在靜音幀構成的靜音段中插入靜音幀,若判斷得到網絡延時減小,則從靜音幀構成的靜音段中抽取靜音幀。
2、 如權利要求l所述的方法,其特征在于,所述方法進一步包括對接 收到的語音幀進行靜音檢測,并標識出靜音幀。
3、 如權利要求2所述的方法,其特征在于,所述對接收到的語音幀進行 靜音檢測,并標識出靜音幀具體包括計算接收到的語音幀的語音信號能量以及背景噪聲能量,若所述背景噪 聲能量與語音信號能量的比值大于預置的靜音域值,則將所述語音幀標識為 靜音幀。
4、 如權利要求l或2或3所述的方法,其特征在于,判斷網絡延時是否 增加具體包括獲取網絡抖動預測值,以及播放接收到的語音幀所需時間; 計算所述網絡抖動預測值與所述時間的差值;將所述差值與預置的網絡抖動第一域值進行比較,若所述差值大于所述 網絡抖動第一域值,則判斷得到網絡延時增加; 判斷網絡延時是否減小具體包括將所述網絡抖動預測值與所述時間的差值與預置的網絡第二域值進行比 較,若所述差值小于所述網絡抖動第二域值,則判斷得到網絡延時減小。
5、 如權利要求4所述的方法,其特征在于,所述獲取網絡抖動預測值具 體為用從接收到的語音幀中取走語音幀的時間減去相對所述取走的語音幀最 近一次接收的語音幀的接收時間,得到網絡抖動預測值。
6、 如權利要求5所述的方法,其特征在于,所述在所述靜音幀構成的靜 音段中插入靜音幀具體包括 用所述網絡抖動預測值與所述播放接收到的語音幀所需時間的差值減去 所述網絡抖動第一域值,再除以每幀語音幀播放時間,獲得插入靜音幀的幀數;在靜音幀構成的靜音段中插入所述幀數的靜音幀。
7、 如權利要求6所述的方法,其特征在于,所述從所述靜音幀構成的靜 音段中抽取靜音幀具體包括用所述網絡抖動第二域值減去所述網絡抖動預測值與所述播放接收到的 語音幀所需時間的差值,再除以每幀語音幀播放時間,獲得抽取靜音幀的幀 數;從靜音幀構成的靜音段中抽取所述幀數的靜音幀。
8、 一種解決網絡抖動的裝置,其特征在于,包括靜音幀查找單元,延 時判斷單元,靜音幀插入單元,靜音幀抽取單元;所述靜音幀查找單元,用于在接收到的語音幀中查找是否有靜音幀,如 果有,則觸發(fā)所述延時判斷單元;所述延時判斷單元,若判斷得到網絡延時增加,則觸發(fā)所述靜音幀插入 單元,若判斷得到網絡延時減小,則觸發(fā)所述靜音幀抽取單元;所述靜音幀插入單元,用于在靜音幀構成的靜音段中插入靜音幀;所述靜音幀抽取單元,用于從靜音幀構成的靜音段中抽取靜音幀。
9、 如權利要求8所述的裝置,其特征在于,所述裝置進一步包括靜音 幀檢測單元;所述靜音幀檢測單元,用于對語音幀進行靜音檢測,并標識出靜音幀。
10、 如權利要求9所述的裝置,其特征在于,所述靜音檢測單元具體包括能量計算單元,用于計算接收到的語音幀的語音信號能量以及背景噪聲 能量;靜音標識單元,用于計算背景噪聲能量與語音信號能量的比值,若所述 比值大于預置的靜音域值,則將所述語音幀標識為靜音幀。
11、 如權利要求8或9或IO所述的裝置,其特征在于,所述延時判斷單元具體包括抖動預測單元,第一差值計算單元,判斷單元;所述抖動預測單元,用于獲取網絡抖動預測值,以及播放所述接收到的 語音幀所需時間;所述第一差值計算單元,用于計算所述網絡抖動預測值與所述時間的差值;所述判斷單元,用于將所述差值與預置的網絡抖動第一域值進行比較, 若所述差值大于所述網絡抖動第一域值,則判斷得到網絡延時增加,如果否, 則將所述差值與預置的網絡抖動第二域值進行比較,若所述差值小于所述網 絡抖動第二域值,則判斷得到網絡延時減小。
12、 如權利要求11所述的裝置,其特征在于,所述抖動預測單元具體包 括第一時間獲取單元,第二時間獲取單元,第二差值計算單元;所述第一時間獲取單元,用于獲取從接收到的語音幀中取走語音幀的時間;所述第二時間獲取單元,用于獲取相對所述取走的語音幀最近一次接收 的語音幀的接收時間;所述第二差值計算單元,用于用所述第一時間獲取單元獲取的時間減去 所述第二時間獲取單元獲取的時間,得到網絡抖動預測值。
13、 如權利要求12所述的裝置,其特征在于,所述靜音幀插入單元具體 包括第三差值計算單元,插入幀數計算單元,插幀單元;所述第三差值計算單元,用于用所述第一差值計算單元獲取的差值減去 所述網絡抖動第一域值;所述插入幀數計算單元,用于用所述第三差值計算單元的計算結果除以 每幀語音幀播放時間,獲得插入靜音幀的幀數;所述插幀單元,用于在靜音幀構成的靜音段中插入所述幀數的靜音幀。
14、如權利要求12所述的裝置,其特征在于,所述靜音幀抽取單元具體 包括第四差值計算單元,抽取幀數計算單元,抽幀單元;所述第四差值計算單元,用于用所述網絡抖動第二域值減去所述第一差 值計算單元獲取的差值;所述抽取幀數計算單元,用于用所述第四差值計算單元的計算結果除以 每幀語音幀播放時間,獲得抽取靜音幀的幀數;所述抽幀單元,用于從靜音幀構成的靜音段中抽取所迷幀數的靜音幀。
全文摘要
本發(fā)明公開了一種解決網絡抖動的方法及裝置。本發(fā)明方法包括在接收到的語音幀中查找是否有靜音幀,如果有,若判斷得到網絡延時增加,則在靜音幀構成的靜音段中插入靜音幀,若判斷得到網絡延時減小,則從靜音幀構成的靜音段中抽取靜音幀。本發(fā)明還提供了一種與所述方法對應的解決網絡抖動的裝置。當網絡延時變化時,在本發(fā)明實施例通過改變接收到的語音幀中的靜音幀的數量,調整播放接收到的語音幀的時間以消除網絡抖動對語音通信的影響,并且,插入或者抽取靜音幀并不影響非靜音幀的播放。因此,本發(fā)明實施例提供的技術方案不僅解決了網絡抖動問題,而且還解決了因網絡抖動引起的語音失真問題。
文檔編號G10L19/00GK101119323SQ20071015467
公開日2008年2月6日 申請日期2007年9月21日 優(yōu)先權日2007年9月21日
發(fā)明者王新亮 申請人:騰訊科技(深圳)有限公司