周旭艷,李先哲,譚 彬,2,朱 兵,肖 英
(1.井岡山大學電子與信息工程學院,江西,吉安 343009;2.同濟大學電子與信息學院,上?!?01804)
一種基于RTP/RTCP協(xié)議的音視頻同步算法研究
*周旭艷1,李先哲1,譚彬1,2,朱兵1,肖英1
(1.井岡山大學電子與信息工程學院,江西,吉安343009;2.同濟大學電子與信息學院,上海201804)
提出了一種基于RTP/RTCP協(xié)議的音視頻同步算法。該算法將到達接收端的音視頻RTP數據包時間戳映射至一個公共的絕對時間軸上,以測算出網絡傳輸過程中的延時誤差△Ti。然后,針對接收端音視頻播映不同的速度,測算數據包在緩沖區(qū)等待播映過程中的延時誤差△Wi。最后以△Ti和△Wi的和作為總誤差給出相應的播映策略。仿真實驗結果表明,該算法的RSME低于其他同步算法,對于音視頻的失步現象具有較明顯的糾正效果,用戶對于播映質量的滿意度大幅提升。
音視頻同步; RTP/RTCP;時間戳;播映策略
隨著信息技術的發(fā)展,尤其是網絡技術、通信技術和多媒體技術的應用普及[1],使得網絡直播、視頻會議、遠程教學已經越來越貼近人們的生活。而這些多媒體業(yè)務對于音頻和視頻服務質量以及兩者之間同步的要求越來越高,因此如何提高多媒體中音視頻的同步效果已成為學術界研究的熱點。
Escobar等設計出一種流同步協(xié)議,它需要全網同步時間,適用于一般的通信模式[2];Palacharla S等提出了一種實時通信協(xié)議實現音視頻同步的解決方案[3];Chen T提出了一種基于語音信號與口型對應的同步算法[4];曹寧等提出了一種基于MCU模式的IP視頻會議中的音視頻同步的研究[5];劉麗霞等提出了一種基于FFMPEG解碼的音視頻同步實現算法[6]。以上算法均是基于特定環(huán)境及特定條件下實現音視頻的同步控制,并且算法復雜度較高。
本文針對音視頻流傳輸及播映特點,提出了一種基于RTP(Real-time Transport Protocol,實時傳輸協(xié)議)/RTCP RTCP(time Transport Control Protocol控制協(xié)議)的音視頻實時同步算法。該算法在接收端測算音視頻流在傳輸以及播映過程中所出現的誤差,并給出相應的播映策略。與其他算法比較,該算法無需全網同步時鐘,也無需采用反饋機制,適合于各種需要音視頻同步控制的場合。
音視頻同步是音視頻數據所特有的特性。當發(fā)送端將采集得到的音視頻數據經過網絡傳輸至接收端的過程中,音視頻數據間的時域特征必定會因某些因素遭到破壞,造成接收端無法正確播放音視頻數據。因此,需要研究從發(fā)送端的采集、編碼、傳輸,以及接收端的接收、解碼、緩沖、播映等各個環(huán)節(jié)提取影響同步的相關因素,從而提出一種更好的控制音視頻同步的方法,能夠滿足客戶高質量的主觀感受需求,達到“音唇同步”的緊密效果。音視頻流媒體的傳輸過程如圖1所示。
圖1 音視頻流媒體傳輸過程圖Fig.1 Process of audio and video streaming media transmission
目前,造成音視頻流的不同步主要因素[7-9]為:多個采集端起始時間偏移、各端時鐘漂移、延時抖動、網絡傳輸條件的變化、節(jié)點數據丟包以及播放時間的偏差等。根據失步因素以及音視頻流媒體傳輸過程,得出對音視頻同步影響最大的是音視頻的傳輸過程,因為網絡存在著極大的變數,尤其在網絡堵塞時,網絡的時延、丟包率、閃斷都將增加,從而造成音視頻的失步。其次,對音視頻同步影響較大的是接收端對音視頻數據包的緩沖,這是由于音視頻在播放之前必須在緩沖區(qū)內進行按序排隊及消抖,才能予以播映。
多媒體同步系統(tǒng)的同步性能評價通常從客觀和主觀兩個方面予以衡量。
2.1客觀標準
H.Liu[10]提出用均方根誤差RMSE(ROOT MEAN SQUARE ERROR)作為媒體連續(xù)性的二階測度(metric)。
RMSE可以用于測量出媒體信息流i的n(n=1,2,…,J)個多媒體單元的播映時間和產生時間,其中播映時間和產生時間分別用Gi(n)、Pi(n)表示。RMSE可用下列兩種方式予以定義:
公式中的Gv(n)為多媒體單元n的產生時間,Pv(n)為多媒體單元n的播映時間;Ga(m)為多媒體單元m的產生時間,Pa(m)為多媒體單元m的播映時間;Ma為播映的媒體流單元總數目。對于所測同步系統(tǒng),如果RMSE的值越小,則同步性能越好。
2.2主觀QOS評定
主觀QoS(quality of service服務質量)評定的是視頻與音頻錯位范圍可被接受程度。對應的音頻和視頻數據包的時延差稱為偏移。研究表明,當偏移范圍不超過±60 ms時,用戶對于播映情況非常滿意,媒體流“唇音同步”,該區(qū)域為同步區(qū)域;當偏移量滯后或超前范圍超過±160 ms時,用戶會明顯察覺到音視頻不同步,對播映情況非常不滿意,該區(qū)域為不同步區(qū)域;在同步區(qū)域和不同步區(qū)域之間,還存在著臨界區(qū)和調整區(qū)。音視頻同步關系如圖2所示。
圖2 音視頻同步關系Fig.2 Relationship between audio and video synchronization
根據上述音視頻不同步主因分析,可知音視頻失步誤差在網絡傳輸過程以及播放端的緩沖等待。因此,必須求出傳輸誤差以及等待誤差后,給出相應播放策略,就好比某一音樂家和一群伴舞者在舞臺上的同步。首先音樂家和各個伴舞者從不同地域乘坐不同交通工具趕到演出地點后,存在著時間誤差。其次,當該音樂家的節(jié)目時間到達后,音樂家和伴舞者在上臺之前,還必須在舞臺下面進行最后同步,才能保證節(jié)目的同步效果。
3.1算法設計思路
第一步:音視頻RTP數據包的傳輸誤差,我們將音視頻流中的RTP時間戳映射到一個公共的絕對參考時間上。RTP數據包的時間戳記錄的是RTP數據包中首字節(jié)的采樣時間,而RTCP SR報文包含與RTP時間戳相對應的實時信息,具體表現為音視頻同步源的時間信息和兩個SR報文之間所發(fā)送的RTP數據包數量。SR報文中的NTP時間戳為64位,反映的是SR包發(fā)出的絕對時間。因此,我們可以利用NTP時間戳作為公共參考時間系,將音頻與視頻RTP數據包的時間戳分別映射至該公共參考時間系上,再根據同源的RTP數據包的時間戳即可得出傳輸過程中的時延誤差。
第二步:將接收端緩沖區(qū)設置為FIFO(先進先出)模型,根據不同的音視頻播映速度可以計算出數據包在緩沖區(qū)排隊的時延誤差。
第三步:根據傳輸誤差和緩沖區(qū)誤差求出失步偏移DISP,并根據求出的DISP范圍采取相應的播映策略。
3.2音視頻RTP時間戳映射
在網絡中,保證音視頻信息的同步,采用的是RTP/RTCP協(xié)議。RTP詳細定義了在互聯(lián)網上傳遞音頻和視頻的標準數據包格式,但是RTP屬于一種輕型協(xié)議,提供的是一種無連接、無差錯控制的服務,因此需要RTCP為其服務質量提供保證。RTP的控制協(xié)議,它用于監(jiān)視網絡的服務質量和數據手法雙方的傳遞信息,主要功能是服務質量的監(jiān)視與反饋、媒體間的同步,以及多播組中成員的標識。
由于RTP包中的時間戳初始值是隨機產生的,在采集端同一時刻采集的音視頻RTP數據包中的時間戳將是不同的。其次,采集端對于音視頻采樣頻率是不同的,而音視頻RTP數據包的時間戳的增長又與數據采樣頻率相關,這也會導致同時采集的數據由于音視頻RTP包的不同而時間戳不同。因此,不能直接在接收端比較RTP包中的時間戳計算誤差。為了解決這個問題,我們將RTCP SR數據包的NTP時間戳作為一個公共的參考時間系,這是因為音視頻RTP數據包采用的是獨立的傳輸通道,在傳輸過程中為了保證傳輸質量,音視頻會話各自周期性地發(fā)送RTCP SR包。在兩個SR數據包坐標系中,假設發(fā)送端通過獨立信道發(fā)送了n個RTP音頻數據包與k個視頻數據包,發(fā)送數據包的數量與媒體采樣頻率直接關聯(lián)。這n個音頻RTP數據包中的任意一個均可以映射至NTP時間戳的公共參考時間系上,再將同源的視頻RTP數據包映射至同一坐標系上,即可得出音視頻同源數據包在網絡傳輸過程中的時間誤差。圖3描繪了音視頻RTP數據包在RTCP SR的NTP時間段內的映射情況。
圖3 RTP數據包在NTP時間戳坐標系映射圖Fig.3 The map of RTP packets in the NTP timestamp system
由圖3可知,音視頻RTP數據包映射坐標時間為:
其中,Ti(j)為音頻或視頻j數據包在NTP時間戳坐標系上的值;R為接收端對音視頻數據的采樣頻率,是一個衡量;△ti(k)為任意兩個相鄰的RTP數據包的時間戳差值。而Ti(1)可由下式計算:
ti(1)為音視頻RTP數據包1的時間戳,ti(0)為音視頻RTP數據包0的時間戳。因此,式(4)等于:
假設第jA個音頻包與第jV個視頻包同時到達接收端,由下列公式即可計算出音頻包和視頻包對應的絕對時間差值為:
3.3緩沖區(qū)時延
音頻和視頻數據進入接收端后,分別進入各自的緩沖區(qū)得到播映。音頻數據通過聲卡進行播映,而視頻數據通過顯卡進行播映,并且音視頻的播映速度是不同的。因此,誤差也是比較明顯的(在緩沖區(qū)內進行最后的同步控制)。RTP數據包i在緩沖區(qū)內的狀態(tài)如圖4所示。
圖4 接收端緩沖區(qū)RTP數據包等待播映示意圖Fig.4 The RTP packets wait to play at receive buffer
由圖4可知,設第i個數據包到達緩沖區(qū)時,第k個數據包正在播映,其剩余播映時間為Tr,此時等待隊列中還有i個數據包等待播映??傻脭祿黫等待時間為:
即:
則第jA個音頻包與第jV個視頻包的時延誤差時間為:
3.4播映策略
接收端的誤差控制即同步控制方法為:
STEP1:SKEW<T-,此時音視頻不同步,且視頻滯后于音頻,則刪除該晚到的視頻幀,不予播映;
STEP2:T-<DISP>T+,此時音視頻同步,無需調整即可播映;
STEP3:DISP>T+,此時音頻滯后于視頻,則延時DISP時間后,再進行同步判斷。
音視頻時間偏移DISP=(△Ti+△Wi)。根據上面定義的音視頻同步性能,T-=60 ms,T+=60 ms。
1、仿真實驗分析
以普通的Internet為測試網絡,音頻編碼格式為G.729A,使用8 kbps編碼速率,每30 ms語音作為一幀音頻;視頻編碼格式為H.264,編碼圖像為CIF格式,播放幀率為15 FPS。每次測試時間為10分鐘視頻,本文算法與文獻[11]進行同步測試,RMSE結果如表1所示。
表1 本文算法與文獻[11]的RSME比較Table 1 RSME Comparison between the algorithm in this thesis and the algorithm proposed in the paper 11
由表1所示,與文獻[11]提出的同步算法相比,本文算法的同步性能優(yōu)于文獻[7]算法,RMSE值平均降低了5.45%,最高降低了6.59%。
本文利用RTP/RTCP數據包中的各種時間戳,映射出音視頻RTP數據包到達接收端后的相對時間坐標,從而得出在網絡傳輸過程中由于時延、抖動等因素造成音視頻數據包失步的誤差,同時考慮了接收端在播映音視頻數據中的不同速度所造成的時延,根據總體誤差給出了相應的播映策略。該算法易于理解和實現,與傳統(tǒng)的RTP/RTCP音視頻同步算法比較,該算法無需全網同步時鐘與反饋機制,具有較低的算法復雜度,適用于各種遠程會議等場合。
[1]- [11]參考文獻:
[1] 齊成名.音視頻同步問題的研究與實現[D].哈爾濱:哈爾濱工業(yè)大學,2009.
[2] Escobar J, Partridge C, Deutsch D.Flow synchronization protocol[J].Networking, IEEE/ACM Transactions on 1994, 2(2): 111-121.
[3] Palacharla S, Karmouch A, Mahmoud S A.Design and implementation of a real-time multimedia presentation system using RTP[C].The Twenty-First Annual International Computer Software and Applications Conference.IEEE, 1997: 376-381.
[4] Chen T, Graf H P, Wang K.Lip synchronization using speech-assisted video processing[J].Signal Processing Letters, IEEE, 1995, 2(4): 57-59.
[5] 曹寧,胡建榮,馬銀松.IP視頻會議系統(tǒng)中音視頻同步的研究[J].中國圖像圖形學報,2005,(2):255-259.
[6] 劉麗霞,邊金松,張琍,穆森.基于FFMPEG解碼的音視頻同步實現[J].計算機工程與設計,2013,6:2088-2992.
[7] 方立華.網絡監(jiān)控系統(tǒng)中音視頻實時流同步技術的研究與設計[D].杭州:浙江工業(yè)大學,2012.
[8] 王少燕.多媒體通信中的音視頻同步問題研究與實現[D].西安:西安電子科技大學,2003.
[9] 陳運德,張燦, 陳德元.空間多媒體通信中音視頻同步技術研究[J].計算機仿真,2010,6:130-134.
[10] Liu H, El Zarki M.Delay and synchronization control middleware to support real-time multimedia services over wireless PCS networks[J].Selected Areas in Communications, IEEE Journal on, 1999, 17(9): 1660-1672.
[11]王鳳純,魯靜.基于RTP/RTCP的音視頻同步方法研究[J].軟件,2011,6:78-80.
RESEARCH OF AUDIO AND VIDEO SYNCHRONIZATION ALGORITHM BASED ON RTP/RTCP PROTOCOL
*ZHOU Xu-yan1, LI Xian-zhe1, TAN Bin1,2, ZHU Bing1, XIAO Ying1
(1.School of Electronics and Information Engineering,Jinggangshan University,Ji’an ,Jiangxi 343009,China;2.School of Electronics and Information,Tongji University,Shanghai 201804,China)
An algorithm of audio and video synchronization control based on RTP / RTCP protocol is proposed.The core idea of this algorithm was to map the timestamp of the audio frame and the video frame to a public absolute time axis at the receiver so as to compute the delay error△Tiduring the transfer process across the internet.Furthermore, the delay error △Wiof the packet which is waiting in the buffer was obtained according to different speed of audio and video broadcast at the receiving end.Finally, we use△Tiand△Wias the total error and give the corresponding broadcast strategy.Simulations results show that RSME of this algorithm is less than other synchronization algorithm.The method can well correct audio and video out of synchronization.The users’feeling of quality greatly enhanced.
audio and video synchronization; RTP/RTCP; timestamp; strategies for playing
TP301.6
ADOI:10.3969/j.issn.1674-8085.2015.02.010
1674-8085(2015)02-0038-04
2014-09-09;修改日期:2015-02-21
江西省科技廳科技支撐計劃項目 (20123BBE50076); 江西省教育廳科技計劃項目 (GJJ13539)
*周旭艷(1978-),女,江西上饒人,講師,碩士,主要從事嵌入式系統(tǒng)研究(E-mail:zhouxuyan@jgsu.edu.cn);
李先哲(1995-),男,山東淄博人,井岡山大學電子與信息工程學院2012級本科生(E-mail:jalxz@126.com);
譚彬(1982-),女,湖南常寧人,講師,博士研究生,主要從事無線通信視頻傳輸研究(E-mail:jatanbin@163.com);
朱兵(1975-),男,江西吉安人,副教授,碩士,主要從事嵌入式系統(tǒng)研究(E-mail:jazhubing@126.com);
肖英(1965-),女,江西吉安人,教授,碩士,主要從事計算機網絡通信和圖像處理研究(E-mail:mengya11@126.com).