国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

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

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

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


      圖1是VoIP抖動緩沖區(qū)的動態(tài)處理方法的流程圖。
      具體實(shí)施例方式
      下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。
      參照圖l, 一種VoIP抖動緩沖區(qū)的動態(tài)處理方法,所述動態(tài)處理
      方法包括以下步驟
      1) 、初始化抖動緩沖區(qū)大小(jbs),設(shè)置兩個不同的閥值(hl,h2:)表示抖 動緩沖區(qū)條件;
      Jbs = 40 ms Hl= 100 ms H2 = 50ms
      2) 、接收到遠(yuǎn)端傳過來的語音包后,立即插入到抖動緩沖區(qū)的末尾;
      3) 、計(jì)算平均抖動,在一個固定長度設(shè)為N的滑動窗口范圍內(nèi)計(jì)算平
      均抖動,算式為
      上式中,人JO表示平均第i個包的平均抖動,N為滑動窗口長度;
      4) 計(jì)算抖動偏差KO,^— (0,算式為-
      4(0 =|刷—W)|人vg一var (0 = 77 Z人ar W
      上式中,J^^(0是移動平均抖動偏差;
      5) 如果平均抖動/。,g(/)〉閥值hl,則轉(zhuǎn)到步驟6);否則轉(zhuǎn)到步驟2),
      繼續(xù)等待下一個語音包到達(dá);
      6) 通過放慢緩沖內(nèi)的語音包數(shù)據(jù)節(jié)拍的方式來增加緩沖區(qū)大小,要增
      加的緩沖區(qū)目標(biāo)時長由以下公式計(jì)算獲得 +2x/avg—var(0
      7) 如果平均抖動uo〈閥值h2,則轉(zhuǎn)到步驟8),否則轉(zhuǎn)到步驟2), 繼續(xù)等待下一個語音包到達(dá);
      8) 通過加快緩沖內(nèi)的語音包數(shù)據(jù)節(jié)拍的方式來減小緩沖區(qū)大小,要
      減少的緩沖區(qū)目標(biāo)時長由以下公式計(jì)算獲得 本實(shí)施例的具體方法包括以下步驟
      1) 初始化抖動緩沖區(qū)大小(jbs =40 ms )(處理框圖101)。設(shè)置兩個 不同的閥值(hl,h2)表示抖動緩沖區(qū)條件。這里我們置閥值hl為 勵ms, h2為50ms.
      2) 接收語音包(處理框圖102)。接收到遠(yuǎn)端傳過來的語音包后,立 即插入到抖動緩沖區(qū)的末尾。
      3) 計(jì)算平均抖動(處理框圖103)。在一個固定長度設(shè)為N的滑動窗 口范圍內(nèi)計(jì)算平均抖動。
      這里,人J/)表示平均第i個包的平均抖動,N為滑動窗口長度。4) 計(jì)算抖動偏差乙(/),、_(/)(處理框圖104)
      <formula>formula see original document page 9</formula>
      5) 跟閥值hl做比較(判斷框105)。如果平均抖動J。vg(/):H詢值hl,則 轉(zhuǎn)到步驟6)。
      否則轉(zhuǎn)到處理框102,繼續(xù)等待下一個語音包到達(dá)。
      6) 增加緩沖區(qū)大小(處理框106)。在抖動比較厲害時,必須加大緩 沖區(qū)大小,以消除抖動的影響。我們可以通過放慢緩沖內(nèi)的語音包數(shù) 據(jù)節(jié)拍(即放慢播放速度)的方式來增加緩沖區(qū)大小。要增加的緩沖 區(qū)目標(biāo)時長由以下公式計(jì)算獲得
      <formula>formula see original document page 9</formula>
      7) 跟閥值h2做比較(判斷框107)。如果平均抖動4(/)<閥值112, 則轉(zhuǎn)到步驟8)。否則轉(zhuǎn)到步驟2),繼續(xù)等待下一個語音包到達(dá)。
      8) 減小緩沖區(qū)大小(處理框108)。意味著當(dāng)前網(wǎng)絡(luò)交通很通暢,抖 動很小。我們可以通過加快緩沖內(nèi)的語音包數(shù)據(jù)節(jié)拍(即加快播放速 度)的方式來減小緩沖區(qū)大小,進(jìn)而達(dá)到減小時延的目的。要減少的 緩沖區(qū)目標(biāo)時長由以下公式計(jì)算獲得
      權(quán)利要求
      1、一種VoIP抖動緩沖區(qū)的動態(tài)處理方法,其特征在于所述動態(tài)處理方法包括以下步驟1)、初始化抖動緩沖區(qū)大小jbs,置兩個不同的閥值(h1,h2)表示抖動緩沖區(qū)條件;2)、接收到遠(yuǎn)端傳過來的語音包后,立即插入到抖動緩沖區(qū)的末尾;3)、計(jì)算平均抖動,在一個固定長度設(shè)為N的滑動窗口范圍內(nèi)計(jì)算平均抖動,算式為<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)計(jì)算抖動偏差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,則轉(zhuǎn)到步驟6);否則轉(zhuǎn)到步驟2),繼續(xù)等待下一個語音包到達(dá);6)通過放慢緩沖內(nèi)的語音包數(shù)據(jù)節(jié)拍的方式來增加緩沖區(qū)大小,要增加的緩沖區(qū)目標(biāo)時長由以下公式計(jì)算獲得Javg(i)-h1+2×Javg-var(i)7)如果平均抖動Javg(i)<閥值h2,則轉(zhuǎn)到步驟8),否則轉(zhuǎn)到步驟2),繼續(xù)等待下一個語音包到達(dá);8)通過加快緩沖內(nèi)的語音包數(shù)據(jù)節(jié)拍的方式來減小緩沖區(qū)大小,要減少的緩沖區(qū)目標(biāo)時長由以下公式計(jì)算獲得h2-Javg(i)+Javg-var(i)。
      全文摘要
      一種VoIP抖動緩沖區(qū)的動態(tài)處理方法,包括以下步驟1)初始化抖動緩沖區(qū)大小jbs,設(shè)置兩個不同的閥值(h1,h2)表示抖動緩沖區(qū)條件;2)接收到遠(yuǎn)端傳過來的語音包后,立即插入到抖動緩沖區(qū)的末尾;3)計(jì)算平均抖動,在一個固定長度設(shè)為N的滑動窗口范圍內(nèi)計(jì)算平均抖動;4)計(jì)算抖動偏差J<sub>var</sub>(i)和移動平均抖動偏差J<sub>avg-var</sub>(i);5)如果平均抖動J<sub>avg</sub>(i)>閥值h1,轉(zhuǎn)到步驟6);否則轉(zhuǎn)到步驟2);6)通過放慢緩沖內(nèi)的語音包數(shù)據(jù)節(jié)拍的方式來增加緩沖區(qū)大小;7)如果平均抖動J<sub>avg</sub>(i)<閥值h2,則轉(zhuǎn)到步驟8),否則轉(zhuǎn)到步驟2);8)通過加快緩沖內(nèi)的語音包數(shù)據(jù)節(jié)拍的方式來減小緩沖區(qū)大小。本發(fā)明有效減小語音時延、減少語音失真。
      文檔編號H04L1/20GK101582832SQ200810062029
      公開日2009年11月18日 申請日期2008年5月17日 優(yōu)先權(quán)日2008年5月17日
      發(fā)明者宋旭東, 明 宗, 杜武平 申請人:紅杉樹(杭州)信息技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1