一種網(wǎng)絡(luò)實(shí)時(shí)音頻會話媒體數(shù)據(jù)多徑冗余傳輸方法
【技術(shù)領(lǐng)域】:
[0001] 本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)實(shí)時(shí)音頻會話媒體數(shù)據(jù)多徑冗 余傳輸方法。
【背景技術(shù)】:
[0002] 因特網(wǎng)采用"盡力而為"的傳輸機(jī)制,并不能為端到端媒體傳輸提供服務(wù)質(zhì)量 (QoS)保證。實(shí)時(shí)音頻會話是一類典型的網(wǎng)絡(luò)通信業(yè)務(wù),其媒體傳輸通常占用幾kbps到幾 百kbps的傳輸帶寬,是一類窄帶業(yè)務(wù),雖然占用帶寬小,但對傳輸實(shí)時(shí)性要求較高。目前 IP通信終端音頻媒體傳輸通常采用傳統(tǒng)RTP和UDP協(xié)議進(jìn)行傳輸控制,采用沒有服務(wù)質(zhì)量 (QoS)保證的端到端缺省路由路徑(單一路徑)進(jìn)行傳輸,端到端路徑環(huán)節(jié)中不確定擁塞引 起的數(shù)據(jù)丟包和時(shí)延抖動常常造成音頻媒體數(shù)據(jù)無法重組和解碼,嚴(yán)重影響實(shí)時(shí)音頻會話 的品質(zhì)。因特網(wǎng)已經(jīng)成為網(wǎng)絡(luò)通信重要的承載網(wǎng)絡(luò),改進(jìn)實(shí)時(shí)音頻會話媒體傳輸方式,提升 業(yè)務(wù)體驗(yàn)質(zhì)量是亟待解決的重要問題。
【發(fā)明內(nèi)容】
:
[0003] 針對現(xiàn)有技術(shù)的缺陷,本發(fā)明提供一種網(wǎng)絡(luò)實(shí)時(shí)音頻會話媒體數(shù)據(jù)多徑冗余傳輸 方法,該方法結(jié)合實(shí)時(shí)音頻媒體占用傳輸帶寬較低的特征,通過構(gòu)建端到端的不完全相交 傳輸路徑,并采用多徑冗余傳輸控制機(jī)制與協(xié)議,實(shí)現(xiàn)實(shí)時(shí)音頻媒體數(shù)據(jù)多路徑冗余方式 傳輸。這種多徑冗余傳輸方法可有效降低單一路徑條件變化引起的丟包、時(shí)延和抖動對媒 體數(shù)據(jù)端到端傳輸?shù)恼w影響,進(jìn)而提升實(shí)時(shí)音頻媒體數(shù)據(jù)傳輸?shù)目煽啃?,提升網(wǎng)絡(luò)音頻 會話業(yè)務(wù)的用戶體驗(yàn)質(zhì)量。
[0004] 本發(fā)明提供一種網(wǎng)絡(luò)實(shí)時(shí)音頻會話媒體數(shù)據(jù)多徑冗余傳輸方法,包括:
[0005] 音頻媒體數(shù)據(jù)的發(fā)送端將捕獲的音頻媒體數(shù)據(jù)按照實(shí)時(shí)音頻會話雙方協(xié)商的音 頻編解碼格式和網(wǎng)絡(luò)傳輸協(xié)議打包,采用冗余方式同時(shí)發(fā)送至多條不完全相交的傳輸路徑 上,進(jìn)行實(shí)時(shí)音頻媒體數(shù)據(jù)多徑冗余傳輸;
[0006] 音頻媒體數(shù)據(jù)的接收端對接收的來自不同傳輸路徑的音頻媒體數(shù)據(jù)分組進(jìn)行冗 余剔除和重組操作,并按照實(shí)時(shí)音頻會話雙方協(xié)商的音頻編解碼格式和網(wǎng)絡(luò)傳輸協(xié)議還原 原始音頻數(shù)據(jù)。
[0007] 可選地,所述多條不完全相交的傳輸路徑包括:一條基于缺省路由的默認(rèn)路徑和 一條或多條不完全相交的冗余傳輸路徑。
[0008] 可選地,根據(jù)所述實(shí)時(shí)音頻會話設(shè)置冗余系數(shù),所述多條不完全相交的傳輸路徑 的條數(shù)大于所述實(shí)時(shí)音頻會話設(shè)置的冗余系數(shù)。
[0009] 可選地,所述冗余剔除和重組操作,包括:
[0010] 設(shè)置并初始化子流緩沖區(qū)、重組緩沖區(qū)和抖動消除窗口;
[0011] 所述音頻媒體數(shù)據(jù)的接收端對接收到的所述音頻媒體數(shù)據(jù)分組進(jìn)行冗余剔除操 作;
[0012] 所述音頻媒體數(shù)據(jù)的接收端對冗余剔除操作后的所述音頻媒體數(shù)據(jù)分組進(jìn)行重 組操作。
[0013] 可選地,所述設(shè)置并初始化子流緩沖區(qū)、重組緩沖區(qū)和抖動消除窗口,包括:
[0014] 設(shè)置與不完全相交的傳輸路徑條數(shù)相同個(gè)數(shù)的子流緩沖區(qū),所述子流緩沖區(qū)用于 接收不同傳輸路徑的音頻媒體數(shù)據(jù)分組,初始化每個(gè)所述子流緩沖區(qū)的各個(gè)存儲位置為 空;
[0015] 設(shè)置重組緩沖區(qū),所述重組緩沖區(qū)用于存儲冗余剔除后的音頻媒體數(shù)據(jù)分組的序 號、存儲所述音頻媒體數(shù)據(jù)分組的子流緩沖區(qū)的序號及所述音頻媒體數(shù)據(jù)分組在存儲的子 流緩沖區(qū)中的存儲位置,初始化所述重組緩沖區(qū)大小為N,,所述重組緩沖區(qū)中用于存儲的 冗余剔除操作后的音頻媒體數(shù)據(jù)分組的序號全部初始化為-1,所述存儲所述音頻媒體數(shù)據(jù) 分組的子流緩沖區(qū)的序號及所述音頻媒體數(shù)據(jù)分組在存儲的子流緩沖區(qū)中的存儲位置全 部初始化為空;
[0016] 設(shè)置抖動消除窗口,所述抖動消除窗口用于實(shí)現(xiàn)所述音頻媒體數(shù)據(jù)分組的抖動消 除,初始化所述抖動消除窗口的大小為w,w G [w_,w_]。
[0017] 可選地,所述冗余剔除操作,包括:
[0018] S1、采用輪詢的方式查詢每個(gè)所述子流緩沖區(qū),得到最新接收到的所述音頻媒體 數(shù)據(jù)分組i,提取所述音頻媒體數(shù)據(jù)分組i的序號,記為FSN 1;
[0019] S2、將所述音頻媒體數(shù)據(jù)分組的序號FSNi與所述重組緩沖區(qū)大小N ,進(jìn)行模運(yùn)算, 得到數(shù)值m,即m = FSNi modN,,查詢所述重組緩沖區(qū)中m位置存儲的音頻媒體數(shù)據(jù)分組的 序號,記為LFSl;
[0020] S3、若-1,則將FSN i的值賦給J_FSN ",將所述音頻媒體數(shù)據(jù)分組i所在 的子流緩沖區(qū)的序號及存儲位置存儲到重組緩沖區(qū)m位置中,執(zhí)行步驟S1 ;
[0021] S4、若J_FSN"^ -1,F(xiàn)SN i > J_FSN ",則將FSNi的值賦給J_FSN ",將所述音頻媒體數(shù) 據(jù)分組i所在的子流緩沖區(qū)的序號及存儲位置存儲到重組緩沖區(qū)m位置中,執(zhí)行步驟S1 ;
[0022] S5、g -1,F(xiàn)SN J_FSN",則執(zhí)行步驟 S1。
[0023] 可選地,所述采用輪詢的方式查詢每個(gè)所述子流緩沖區(qū),包括:
[0024] 所述音頻媒體數(shù)據(jù)的接收端定期統(tǒng)計(jì)每個(gè)所述子流緩沖區(qū)中的音頻媒體數(shù)據(jù)分 組的接收與冗余剔除情況,得到不同傳輸路徑對應(yīng)的子流緩沖區(qū)的輪詢優(yōu)先級序列;
[0025] 所述音頻媒體數(shù)據(jù)的接收端根據(jù)所述輪詢優(yōu)先級序列查詢每個(gè)所述子流緩沖區(qū), 進(jìn)行冗余剔除操作。
[0026] 可選地,所述重組操作,包括:
[0027] 動態(tài)調(diào)節(jié)抖動消除窗口大小;
[0028] 根據(jù)所述抖動消除窗口大小,進(jìn)行所述音頻媒體數(shù)據(jù)分組回調(diào)操作。
[0029] 可選地,所述動態(tài)調(diào)節(jié)抖動消除窗口大小,包括:
[0030] 記錄音頻媒體數(shù)據(jù)分組i到達(dá)所述重組緩沖區(qū)的時(shí)間R(i),根據(jù)所述音頻媒體 數(shù)據(jù)分組i中時(shí)間戳或其他用于記錄音頻媒體數(shù)據(jù)分組發(fā)送時(shí)間的標(biāo)志位,得到所述音 頻媒體數(shù)據(jù)分組i的發(fā)送時(shí)間s(i),計(jì)算所述音頻媒體數(shù)據(jù)分組i的時(shí)延抖動J(i)= R⑴-S⑴;
[0031] 根據(jù)已到達(dá)所述重組緩沖區(qū)的音頻媒體數(shù)據(jù)分組,得到新到達(dá)所述重組緩沖區(qū)的 音頻媒體數(shù)據(jù)分組i的預(yù)期時(shí)延抖動
其中,N為固定值,i多N,P(k)為 加權(quán)系數(shù),且
[0032] 計(jì)算所述音頻媒體數(shù)據(jù)分組i時(shí)延抖動的類標(biāo)準(zhǔn)誤差
[0033] 設(shè)置閾值gi、82用于判斷抖動消除窗口大小更改范圍,且g g 2;
[0034]當(dāng)> 〇,增加抖動消除窗口大小,若JARMSE⑴G[gl,g2],抖動消除窗口增 加,若JARMSE(i) > g2,抖動消除窗口增加
1其 中,k G [0.5, 1];
[0035]當(dāng)./(/)_開)S〇,縮減抖動消除窗口大小,若JARMSE⑴G[gl,g2],抖動消除窗口縮 減2g1+A 7^],若JARMSE(i) > g2,抖動消除窗口縮減
其 中,k G [0.5, 1];
[0036] 若調(diào)節(jié)后的抖動消除窗口的大小W小于抖動消除窗口最小值W_,則將抖動消除 窗口的大小設(shè)置為抖動消除窗口最小值W_,若調(diào)節(jié)后的抖動消除窗口的大小W大于抖動 消除窗口最大值W_,則將抖動消除窗口的大小設(shè)置為抖動消除窗口最大值W_;
[0037] 當(dāng)JARMSE⑴< gi,抖動消除窗口的大小無需改變;
[0038] 若對抖動消除窗口大小進(jìn)行了修改,則更改的音頻媒體數(shù)據(jù)分組i的預(yù)期時(shí)延抖 動為區(qū)間[J(i)-4,J(i)+4]中任一整數(shù),否則,不進(jìn)行更改。
[0039] 可選地,所述根據(jù)所述抖動消除窗口大小,進(jìn)行所述音頻媒體數(shù)據(jù)分組回調(diào)操作, 包括:
[0040] 在抖動消除窗口中查找到音頻媒體數(shù)據(jù)分組序號為FSN的音頻媒體數(shù)據(jù)分組,按 照實(shí)時(shí)音頻會話雙方協(xié)商的音頻編解碼格式和網(wǎng)絡(luò)傳輸協(xié)議進(jìn)行回調(diào)解碼,在抖動消除窗 口中查找音頻媒體數(shù)據(jù)分組序號為FSN+1的音頻媒體數(shù)據(jù)分組;
[0041] 若查找到,則將音頻媒體數(shù)據(jù)分組序號為FSN+1的音頻媒體數(shù)據(jù)分組回調(diào)解碼, 繼續(xù)查找音頻媒體數(shù)據(jù)分組序號為FSN+2的音頻媒體數(shù)據(jù)分組,否則,判斷抖動消除窗口 是否有剩余,若無剩余,則將音頻媒體數(shù)據(jù)分組序號為FSN+1的音頻媒體數(shù)據(jù)分組再執(zhí)行 一次回調(diào)解碼操作,繼續(xù)查找音頻媒體數(shù)據(jù)分組序號為FSN+2的音頻媒體數(shù)據(jù)分組,否則, 等待預(yù)設(shè)時(shí)間t后繼續(xù)查找;
[0042] 若連續(xù)三次查找成功,則將抖動消除窗口縮減一個(gè)數(shù)據(jù)幀的大小,判斷此時(shí)抖動 消除窗口是否小于抖動消除窗口最小值W_,若是,則將抖動消除窗口的大小設(shè)置為抖動消 除窗口最小值w_,繼續(xù)執(zhí)行查找操作;
[0043] 若連續(xù)三次查找不成功,則將抖動消除窗口增加一個(gè)數(shù)據(jù)幀的大小,判斷此時(shí)抖 動消除窗口是否大于抖動消除窗口最大值w_,若是,則將抖動消除窗口的大小設(shè)置為抖動 消除窗口最大值wmax,繼續(xù)執(zhí)行查找操作。
[0044] 由上述技術(shù)方案可知,本發(fā)明的網(wǎng)絡(luò)實(shí)時(shí)音頻會話媒體數(shù)據(jù)多徑冗余傳輸方法, 包括:音頻媒體數(shù)據(jù)的發(fā)送端將捕獲的音頻媒體數(shù)據(jù)按照實(shí)時(shí)音頻會話雙方協(xié)商的音頻編 解碼格式和網(wǎng)絡(luò)傳輸協(xié)議打包,采用冗余方式同時(shí)發(fā)送至多條不完全相交的傳輸路徑上, 進(jìn)行實(shí)時(shí)音頻媒體數(shù)據(jù)多徑冗余傳輸,音頻媒體數(shù)據(jù)的接收端對接收的來自不同傳輸路徑 的音頻媒體數(shù)據(jù)分組進(jìn)行冗余剔除和重組操作,并按照實(shí)時(shí)音頻會話雙方協(xié)商的音頻編解 碼格式和網(wǎng)絡(luò)傳輸協(xié)議還原原始音頻數(shù)據(jù)。由此,通過對于實(shí)時(shí)音頻媒體數(shù)據(jù)采用多路徑 冗余傳輸可以有效地提高數(shù)據(jù)傳輸中的丟包補(bǔ)償概率,改善傳輸相關(guān)的丟包、時(shí)延和抖動 指標(biāo),進(jìn)而提升數(shù)據(jù)傳輸?shù)目煽啃?,改善業(yè)務(wù)體驗(yàn)質(zhì)量(Q〇E)。
【附圖說明】:
[0045] 圖1為本發(fā)明第一實(shí)施例提供的網(wǎng)絡(luò)實(shí)時(shí)音頻會話媒體數(shù)據(jù)多徑冗余傳輸方法 流程示意圖;
[0046] 圖2為本發(fā)明第二實(shí)施例提供的SIP Proxy/lMS CSCF參與會話協(xié)商的多徑中繼 傳輸服務(wù)系統(tǒng)的多徑冗余傳輸系統(tǒng)結(jié)構(gòu)圖;
[0047] 圖3為本發(fā)明第二實(shí)施例提供的網(wǎng)絡(luò)實(shí)時(shí)音頻會話媒體數(shù)據(jù)多徑冗余傳輸方法 流程示意圖;
[0048] 圖4為本發(fā)明第二實(shí)施例提供的SIP Proxy/lMS CSCF參與會話協(xié)商的多徑中繼 傳輸服務(wù)系統(tǒng)的音頻媒體數(shù)據(jù)分組的傳輸示意圖;
[0049