两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

VoIP抖動緩沖區(qū)的動態(tài)處理方法

文檔序號:7687518閱讀:214來源:國知局
專利名稱:VoIP抖動緩沖區(qū)的動態(tài)處理方法
技術領域
本發(fā)明涉及VoIP語音技術,尤其是一種VoIP抖動緩沖區(qū)的動態(tài)
處理方法。
背景技術
在實時的VoIP語音網絡會議中,語音數據是經過壓縮打包后傳 輸的。每個數據包都包含壓縮后的語音數據以及目地I P地址信 息.雖然語音包在發(fā)送端是按一定間隔有序發(fā)送的,但是由于網絡傳 輸路徑可能不同,不同的數據包到達接收端的時間間隔并不一致。另 外,在采用UDP進行語音數據實時傳輸時,到達接收端的語音次序 也有可能發(fā)生錯亂。這兩個現象就是我們通常說的抖動。在一個多人 參加的VoIP音頻網絡會議中,劇烈的數據包抖動會導致聲音時斷時 續(xù),嚴重影響參會者的語音實時交流。為了有效的解決抖動問題,通 常在接收端會引入緩沖區(qū)技術來消除抖動的影響。
現有技術中有兩種方法設計抖動緩沖區(qū)
1) 、一個是固定長度抖動緩沖區(qū)在解碼和播放語音數據包之前,
放入一個固定長度緩沖區(qū),也就是緩沖內的語音包個數是固定不變
的。這個方法的特點是發(fā)送端到接收端的的時延固定不變,并且運 算復雜度最小。缺點是為了消除抖動,通常緩沖區(qū)的長度設置很長, 導致了聲音質量下降。
2) 可變抖動緩沖區(qū)為了盡可能縮小語音時延,最近幾年推出 了可變抖動緩沖區(qū)技術,目前這種技術在產品上應用越來越普遍。這種技術的核心思路是抖動緩沖區(qū)的長度根據當前網絡狀況快速自適 應調整。當網絡抖動劇烈時,通過插入靜音包來增加緩沖區(qū)長度;當 網絡條件趨向于暢通時,通過刪除緩沖區(qū)中最老的包來實現減小緩沖 區(qū)長度的目的。這種方法的優(yōu)點是語音時延較短。缺點是在緩沖區(qū) 中刪除或者增加語音包會導致語音失真。

發(fā)明內容
為了克服己有可變抖動緩存區(qū)方法的語音時延較大、語音失真較
大的不足,本發(fā)明提供一種有效減小語音時延、減少語音失真的VoIP
抖動緩沖區(qū)的動態(tài)處理方法。
本發(fā)明解決其技術問題所采用的技術方案是
一種VoIP抖動緩沖區(qū)的動態(tài)處理方法,所述動態(tài)處理方法包括以 下步驟
1) 、初始化抖動緩沖區(qū)大小(jbs),設置兩個不同的閥值(hl,h2)表示抖 動緩沖區(qū)條件;
Jbs = 40 ms Hl= 100 ms H2 = 50ms
2) 、接收到遠端傳過來的語音包后,立即插入到抖動緩沖區(qū)的末尾;
3) 、計算平均抖動,在一個固定長度設為N的滑動窗口范圍內計算平
均抖動,算式為-
上式中,人JO表示平均第i個包的平均抖動,N為滑動窗口長度;4) 計算抖動偏差乙(0,乙g— (0,算式為 W) =1 W)l
1 w
var (0 = : Z人ar W
上式中,J^,(0是移動平均抖動偏差;
5) 如果平均抖動u/;o閥值hl,則轉到步驟6);否則轉到步驟2),
繼續(xù)等待下一個語音包到達;
6) 通過放慢緩沖內的語音包數據節(jié)拍的方式來增加緩沖區(qū)大小,要增 加的緩沖區(qū)目標時長由以下公式計算獲得
7) 如果平均抖動人j/;x閥值h2,則轉到步驟8),否則轉到步驟2),
繼續(xù)等待下一個語音包到達;
8) 通過加快緩沖內的語音包數據節(jié)拍的方式來減小緩沖區(qū)大小,要 減少的緩沖區(qū)目標時長由以下公式計算獲得
本發(fā)明的技術構思為基于在一個固定窗的范圍內,通過計算加 權抖動緩沖區(qū)偏移量的移動平均值和語音包的抖動值來動態(tài)的調節(jié)抖 動緩沖區(qū)長度。抖動緩沖區(qū)長度將根據收到的數據和平均抖動時長在 滑動窗范圍內自動收縮或者擴展。收縮或者擴展緩沖區(qū)長度是通過改 變語音節(jié)拍的方式來實現。
采用自適抖動緩沖區(qū)算法假設第i語音包的發(fā)送時間戳為S,、
接收時間戳記為《,則對于兩個包i和i-l,變量D可以表示為第i個語音包的抖動可以表示如下-
J, = (15 x + Z —1))) /16
為了描述自適應抖動緩沖區(qū)算法,我們引入了幾個參數:其中A記 為播放時間戳,?!稙槎秳泳彌_區(qū)偏移量。自適應抖動緩沖區(qū)算法技術 描述如下
1) 基于網絡抖動和時延實時計算的值進行自適應調整
2) 計算每個到達包的抖動偏移量
3) 通過緩沖區(qū)平均偏移量和抖動管理緩沖區(qū)隊列。 A =《十A:xJ",.
其中,*為2 4范圍內波動的可變系數。系數yt值越大,播放的 語音包越多,但代價是抖動緩沖區(qū)引起的延遲也就越大。
4) 抖動緩沖區(qū)偏移量。^通過加權移動平均值計算獲得 丄,=0, _《
W ="x£, +(1-a)xo1j
這里,o,表示第i包從抖動緩沖區(qū)輸出時間。
這里也提供另外二種算法來計算抖動緩沖區(qū)偏移量0# 。設^為
當前這段語音的起始點(指靜音后收到的第一個語音包)到收到第i
包的這段時間內所有緩沖區(qū)偏移量集合。抖動緩沖區(qū)偏移量0#的二種
計算方法 or
其中,MED表示中值濾波器,FMH為FIR混合MED。
本技術對抖動緩沖區(qū)偏移量使用平滑算法。這樣,少部分延遲包
6將不會影響平均抖動緩沖區(qū)偏移量和到致抖動緩沖區(qū)大小增大。
本發(fā)明的有益效果主要表現在l)實時的改變緩沖區(qū)長度,使語 音時延盡可能的??;2)通過改變節(jié)拍的方式來實現緩沖區(qū)長度的調 整,比傳統的刪除或者插入語音包的可變動緩沖區(qū)技術失真?。?)
采用加權偏移量的計算方法,可以更精確的體現當前網絡狀態(tài)。


圖1是VoIP抖動緩沖區(qū)的動態(tài)處理方法的流程圖。
具體實施例方式
下面結合附圖對本發(fā)明作進一步描述。
參照圖l, 一種VoIP抖動緩沖區(qū)的動態(tài)處理方法,所述動態(tài)處理
方法包括以下步驟
1) 、初始化抖動緩沖區(qū)大小(jbs),設置兩個不同的閥值(hl,h2:)表示抖 動緩沖區(qū)條件;
Jbs = 40 ms Hl= 100 ms H2 = 50ms
2) 、接收到遠端傳過來的語音包后,立即插入到抖動緩沖區(qū)的末尾;
3) 、計算平均抖動,在一個固定長度設為N的滑動窗口范圍內計算平
均抖動,算式為
上式中,人JO表示平均第i個包的平均抖動,N為滑動窗口長度;
4) 計算抖動偏差KO,^— (0,算式為-
4(0 =|刷—W)|人vg一var (0 = 77 Z人ar W
上式中,J^^(0是移動平均抖動偏差;
5) 如果平均抖動/。,g(/)〉閥值hl,則轉到步驟6);否則轉到步驟2),
繼續(xù)等待下一個語音包到達;
6) 通過放慢緩沖內的語音包數據節(jié)拍的方式來增加緩沖區(qū)大小,要增
加的緩沖區(qū)目標時長由以下公式計算獲得 +2x/avg—var(0
7) 如果平均抖動uo〈閥值h2,則轉到步驟8),否則轉到步驟2), 繼續(xù)等待下一個語音包到達;
8) 通過加快緩沖內的語音包數據節(jié)拍的方式來減小緩沖區(qū)大小,要
減少的緩沖區(qū)目標時長由以下公式計算獲得 本實施例的具體方法包括以下步驟
1) 初始化抖動緩沖區(qū)大小(jbs =40 ms )(處理框圖101)。設置兩個 不同的閥值(hl,h2)表示抖動緩沖區(qū)條件。這里我們置閥值hl為 勵ms, h2為50ms.
2) 接收語音包(處理框圖102)。接收到遠端傳過來的語音包后,立 即插入到抖動緩沖區(qū)的末尾。
3) 計算平均抖動(處理框圖103)。在一個固定長度設為N的滑動窗 口范圍內計算平均抖動。
這里,人J/)表示平均第i個包的平均抖動,N為滑動窗口長度。4) 計算抖動偏差乙(/),、_(/)(處理框圖104)
<formula>formula see original document page 9</formula>
5) 跟閥值hl做比較(判斷框105)。如果平均抖動J。vg(/):H詢值hl,則 轉到步驟6)。
否則轉到處理框102,繼續(xù)等待下一個語音包到達。
6) 增加緩沖區(qū)大小(處理框106)。在抖動比較厲害時,必須加大緩 沖區(qū)大小,以消除抖動的影響。我們可以通過放慢緩沖內的語音包數 據節(jié)拍(即放慢播放速度)的方式來增加緩沖區(qū)大小。要增加的緩沖 區(qū)目標時長由以下公式計算獲得
<formula>formula see original document page 9</formula>
7) 跟閥值h2做比較(判斷框107)。如果平均抖動4(/)<閥值112, 則轉到步驟8)。否則轉到步驟2),繼續(xù)等待下一個語音包到達。
8) 減小緩沖區(qū)大小(處理框108)。意味著當前網絡交通很通暢,抖 動很小。我們可以通過加快緩沖內的語音包數據節(jié)拍(即加快播放速 度)的方式來減小緩沖區(qū)大小,進而達到減小時延的目的。要減少的 緩沖區(qū)目標時長由以下公式計算獲得
權利要求
1、一種VoIP抖動緩沖區(qū)的動態(tài)處理方法,其特征在于所述動態(tài)處理方法包括以下步驟1)、初始化抖動緩沖區(qū)大小jbs,置兩個不同的閥值(h1,h2)表示抖動緩沖區(qū)條件;2)、接收到遠端傳過來的語音包后,立即插入到抖動緩沖區(qū)的末尾;3)、計算平均抖動,在一個固定長度設為N的滑動窗口范圍內計算平均抖動,算式為<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><msub> <mi>J</mi> <mi>avg</mi></msub><mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo></mrow><mo>=</mo><mfrac> <mn>1</mn> <mi>N</mi></mfrac><munderover> <mi>&Sigma;</mi> <mrow><mi>k</mi><mo>=</mo><mn>1</mn> </mrow> <mi>N</mi></munderover><mi>J</mi><mrow> <mo>(</mo> <mi>i</mi> <mo>-</mo> <mi>k</mi> <mo>)</mo></mrow> </mrow>]]></math></maths>上式中,Javg(i)表示平均第i個包的平均抖動,N為滑動窗口長度;4)計算抖動偏差Jvar(i),Javg-var(i),算式為Jvar(i)=|*(j)-Javg(i)|<maths id="math0002" num="0002" ><math><![CDATA[ <mrow><msub> <mi>J</mi> <mrow><mi>avg</mi><mo>-</mo><mi>var</mi> </mrow></msub><mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo></mrow><mo>=</mo><mfrac> <mn>1</mn> <mi>N</mi></mfrac><munderover> <mi>&Sigma;</mi> <mrow><mi>k</mi><mo>=</mo><mn>1</mn> </mrow> <mi>N</mi></munderover><msub> <mi>J</mi> <mi>var</mi></msub><mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo></mrow> </mrow>]]></math></maths>上式中,Javg-var(i)是移動平均抖動偏差;5)如果平均抖動Javg(i)>閥值h1,則轉到步驟6);否則轉到步驟2),繼續(xù)等待下一個語音包到達;6)通過放慢緩沖內的語音包數據節(jié)拍的方式來增加緩沖區(qū)大小,要增加的緩沖區(qū)目標時長由以下公式計算獲得Javg(i)-h1+2×Javg-var(i)7)如果平均抖動Javg(i)<閥值h2,則轉到步驟8),否則轉到步驟2),繼續(xù)等待下一個語音包到達;8)通過加快緩沖內的語音包數據節(jié)拍的方式來減小緩沖區(qū)大小,要減少的緩沖區(qū)目標時長由以下公式計算獲得h2-Javg(i)+Javg-var(i)。
全文摘要
一種VoIP抖動緩沖區(qū)的動態(tài)處理方法,包括以下步驟1)初始化抖動緩沖區(qū)大小jbs,設置兩個不同的閥值(h1,h2)表示抖動緩沖區(qū)條件;2)接收到遠端傳過來的語音包后,立即插入到抖動緩沖區(qū)的末尾;3)計算平均抖動,在一個固定長度設為N的滑動窗口范圍內計算平均抖動;4)計算抖動偏差J<sub>var</sub>(i)和移動平均抖動偏差J<sub>avg-var</sub>(i);5)如果平均抖動J<sub>avg</sub>(i)>閥值h1,轉到步驟6);否則轉到步驟2);6)通過放慢緩沖內的語音包數據節(jié)拍的方式來增加緩沖區(qū)大小;7)如果平均抖動J<sub>avg</sub>(i)<閥值h2,則轉到步驟8),否則轉到步驟2);8)通過加快緩沖內的語音包數據節(jié)拍的方式來減小緩沖區(qū)大小。本發(fā)明有效減小語音時延、減少語音失真。
文檔編號H04L1/20GK101582832SQ200810062029
公開日2009年11月18日 申請日期2008年5月17日 優(yōu)先權日2008年5月17日
發(fā)明者宋旭東, 明 宗, 杜武平 申請人:紅杉樹(杭州)信息技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
游戏| 齐河县| 砀山县| 翁牛特旗| 乃东县| 阿鲁科尔沁旗| 高州市| 江山市| 闽侯县| 武冈市| 博湖县| 五峰| 工布江达县| 始兴县| 广饶县| 绵阳市| 余庆县| 汶川县| 松溪县| 聂拉木县| 凤庆县| 神池县| 大田县| 昭觉县| 夏河县| 沁水县| 巴林右旗| 文水县| 邵武市| 资溪县| 襄樊市| 喜德县| 乌海市| 南昌县| 普陀区| 潮州市| 固镇县| 扶风县| 龙川县| 南开区| 泰兴市|