一種用于多路實(shí)時(shí)視頻的幀同步方法,該方法包括服務(wù)器端和客戶端兩個(gè)部分的內(nèi)容,在服務(wù)器端對(duì)原始視頻流加入同步信息,其步驟為:(1)從輸入視頻流中提取視頻幀;(2)以流媒體服務(wù)器時(shí)間為基準(zhǔn)對(duì)來(lái)自各相機(jī)的幀的到達(dá)時(shí)間進(jìn)行校準(zhǔn);(3)根據(jù)步驟(2)校準(zhǔn)后的時(shí)間,計(jì)算出一個(gè)幀同步序號(hào),作為該幀的同步信息;(4)將同步信息添加到視頻幀中。客戶端的同步處理主要包括:(1)接收來(lái)自服務(wù)器的各路視頻數(shù)據(jù)并解碼,提取同步信息;(2)將解碼后的幀放入各路視頻對(duì)應(yīng)的隊(duì)列中緩沖;(3)由一個(gè)定時(shí)器每過(guò)一定時(shí)間間隔檢查各路視頻的隊(duì)列并根據(jù)同步信息進(jìn)行播放。本方法可以有效地對(duì)多路視頻進(jìn)行幀同步處理,使接收端可以根據(jù)同步信息進(jìn)行同步播放。
【技術(shù)實(shí)現(xiàn)步驟摘要】
一種用于多路實(shí)時(shí)視頻的幀同步方法
本專利技術(shù)涉及視頻
,更具體地講,涉及一種對(duì)網(wǎng)絡(luò)流媒體進(jìn)行幀同步的方法。
技術(shù)介紹
在網(wǎng)絡(luò)多路視頻應(yīng)用中,往往會(huì)遇到播放時(shí)有的視頻因?yàn)榫W(wǎng)絡(luò)延時(shí)等一些原因播放落后于其它視頻,出現(xiàn)多路視頻播放不同步的現(xiàn)象。在一些專用視頻應(yīng)用中對(duì)多路視頻播放的精確同步有較高要求,例如全景視頻應(yīng)用和跨相機(jī)跟蹤應(yīng)用等。全景視頻應(yīng)用中,經(jīng)常在同一時(shí)刻需要顯示多路視頻,這些視頻可能屬于同一全景相機(jī)的不同攝像頭,也有可能是屬于不同相機(jī)。視頻在網(wǎng)絡(luò)傳輸會(huì)因?yàn)榫W(wǎng)絡(luò)環(huán)境不同產(chǎn)生時(shí)延,同時(shí)各個(gè)相機(jī)內(nèi)部時(shí)鐘可能不一致,從而導(dǎo)致多路視頻直接接收播放可能出現(xiàn)不同步的現(xiàn)象,嚴(yán)重影響到用戶的觀看體驗(yàn)。跨相機(jī)跟蹤應(yīng)用中,如果各個(gè)相機(jī)之間的視頻不同步,則會(huì)造成跟蹤目標(biāo)出現(xiàn)在多個(gè)相機(jī)的情況,對(duì)跟蹤效果有嚴(yán)重影響。目前多路視頻同步的方法一般都是按視頻幀的時(shí)間戳進(jìn)行同步。本專利技術(shù)前,中國(guó)專利技術(shù)專利“多路音視頻數(shù)據(jù)網(wǎng)絡(luò)傳輸與同步播放的方法”,申請(qǐng)?zhí)枮?00510017131.1,公開號(hào)為CN1933594,該專利公開了一種多路視頻網(wǎng)絡(luò)傳輸后同步播放的方法,該方法在服務(wù)器端對(duì)視頻幀標(biāo)記時(shí)間戳進(jìn)行網(wǎng)絡(luò)傳輸并在客戶端利用時(shí)間戳進(jìn)行同步播放。這種方法固定了時(shí)間戳的記時(shí)單位,但無(wú)法根據(jù)需要調(diào)整同步精度。同時(shí),在實(shí)時(shí)視頻服務(wù)中,時(shí)間戳不能只以服務(wù)器時(shí)間為標(biāo)準(zhǔn),需要綜合考慮相機(jī)采集時(shí)間與服務(wù)器時(shí)間來(lái)標(biāo)記時(shí)間戳。中國(guó)專利技術(shù)專利“多路視頻同步傳輸方法、裝置及系統(tǒng)”,申請(qǐng)?zhí)?01010159842.3,公開號(hào)為CN102238421A,該專利公開了一種多路視頻網(wǎng)絡(luò)傳輸后同步播放的方法,該方法對(duì)視頻幀添加水印,同一時(shí)段內(nèi)獲取的多路視頻中的多幀圖像暣添加的水印相同,客戶端進(jìn)行播放時(shí)多路視頻水印相同的一起播放,達(dá)到同步播放的效果。這種方法由于將水印嵌入圖像中,修改了圖像原本的信息,同時(shí)對(duì)于已編碼的視頻流,水印添加需要對(duì)圖像解碼后添加再編碼,處理時(shí)間較長(zhǎng)。同樣此方法在做實(shí)時(shí)視頻服務(wù)時(shí),沒(méi)有考慮到采集設(shè)備到服務(wù)器之間的傳輸時(shí)延。針對(duì)上述方法的不足,本專利技術(shù)提出了一種服務(wù)器和客戶端相互配合的多路視頻同步方法,可以有效地解決由服務(wù)器與客戶端之間由網(wǎng)絡(luò)延遲、各相機(jī)內(nèi)部時(shí)間不同、相機(jī)與服務(wù)器之間的傳輸延時(shí)等因素引起的同步問(wèn)題,并可以配置相關(guān)參數(shù)達(dá)到適應(yīng)不同同步精度的要求,無(wú)需修改圖像信息達(dá)到多路視頻精確同步的目的。
技術(shù)實(shí)現(xiàn)思路
本專利技術(shù)的目的是:提供了一種用于多路實(shí)時(shí)視頻的幀同步方法,使多路視頻在客戶端進(jìn)行播放時(shí)各路視頻時(shí)間同步,解決因網(wǎng)絡(luò)傳輸時(shí)延和不同相機(jī)時(shí)鐘不一致所引起的多路視頻播放不同步的情況,提高用戶的觀看體驗(yàn)。本專利技術(shù)的技術(shù)解決方案:根據(jù)相機(jī)時(shí)間與服務(wù)器時(shí)間,調(diào)節(jié)相機(jī)與服務(wù)器之間的時(shí)間偏移量,以此對(duì)相機(jī)視頻幀的時(shí)間戳進(jìn)行校準(zhǔn),根據(jù)服務(wù)器配置的基準(zhǔn)幀率確定的時(shí)間軸區(qū)間與校準(zhǔn)后的時(shí)間戳計(jì)算出一個(gè)與時(shí)間和基準(zhǔn)幀率相關(guān)的序號(hào)做為同步信息添加至視頻幀中進(jìn)行傳輸,客戶端使用這個(gè)序號(hào)判斷多路視頻中各幀是否是同一時(shí)刻的幀。并且本方法還引入了超時(shí)忽略播放機(jī)制、緩沖機(jī)制和追趕機(jī)制等來(lái)提高多路視頻同步的精確性。服務(wù)器提取出從相機(jī)得到的原始視頻流中的視頻幀以及對(duì)應(yīng)的時(shí)間戳,根據(jù)相機(jī)時(shí)間與服務(wù)器時(shí)間的時(shí)間偏移量對(duì)視頻流進(jìn)行時(shí)間校準(zhǔn)。服務(wù)器配置一個(gè)基準(zhǔn)幀率用于對(duì)時(shí)間軸進(jìn)行區(qū)間分割,區(qū)間長(zhǎng)度為基準(zhǔn)幀率的倒數(shù)。服務(wù)器根據(jù)校準(zhǔn)后的時(shí)間計(jì)算出幀同步序號(hào)作為該幀的同步信息添加到視頻幀中,幀同步序號(hào)為該幀校準(zhǔn)后的時(shí)間戳的分、秒以及在一秒之中所在的區(qū)間號(hào)計(jì)算得出。同步信息攜帶于視頻幀中長(zhǎng)度固定,根據(jù)具體的視頻編碼方式攜帶方式有所不同。客戶端在收到來(lái)自服務(wù)器的視頻流之后,首先提取視頻流中幀所附帶的長(zhǎng)度固定的同步信息,并對(duì)幀數(shù)據(jù)進(jìn)行解碼。客戶端會(huì)為每一路視頻建立一個(gè)緩沖隊(duì)列,解碼后的視頻幀會(huì)被放入該隊(duì)列。客戶端維護(hù)一個(gè)定時(shí)器,定時(shí)器每隔一段時(shí)間間隔會(huì)檢查緩沖隊(duì)列。若緩沖隊(duì)列的第一幀的幀同步序號(hào)為當(dāng)前應(yīng)該播放的序號(hào),則出隊(duì)播放;若緩沖隊(duì)列的第一幀的幀同步序號(hào)比當(dāng)前應(yīng)該播放的序號(hào)小,則丟棄該幀與之后所有幀同步序號(hào)小于當(dāng)前應(yīng)該播放序號(hào)的幀;若隊(duì)列為空則暫時(shí)忽略該隊(duì)列;若隊(duì)列被忽略,則檢查是否恢復(fù)正常;若半數(shù)以上隊(duì)列視頻流長(zhǎng)度小于一定閾值,則等待一段時(shí)間后繼續(xù);若半數(shù)以上隊(duì)列視頻流長(zhǎng)度大于一定閾值,則在之后一段時(shí)間每個(gè)定時(shí)器周期執(zhí)行兩次檢查。附圖說(shuō)明圖1為本多路視頻同步方法的總體示意圖;圖2為服務(wù)器端對(duì)視頻流的幀添加同步信息的流程圖;圖3為幀時(shí)間戳與幀同步序號(hào)對(duì)應(yīng)示意圖。具體實(shí)施方法下面結(jié)合附圖并以H.264編碼的視頻流為例對(duì)本專利技術(shù)作進(jìn)一步詳細(xì)的描述,在介紹本專利技術(shù)的具體實(shí)施方法之前,首先對(duì)一些基本概念進(jìn)行說(shuō)明:(1)相機(jī)時(shí)間:相機(jī)內(nèi)部系統(tǒng)的時(shí)間,各個(gè)相機(jī)內(nèi)部時(shí)間可能不一致;(2)服務(wù)器時(shí)間:流媒體服務(wù)器的時(shí)間,以該時(shí)間為標(biāo)準(zhǔn)進(jìn)行幀同步;(3)基準(zhǔn)幀率:在服務(wù)器運(yùn)行前配置;此幀率應(yīng)該大于任何相機(jī)的幀率;此幀率越大,同步精度越高;此幀率用于對(duì)時(shí)間軸進(jìn)行區(qū)間分割,每個(gè)區(qū)間對(duì)應(yīng)該一個(gè)編號(hào);(4)幀同步序號(hào):根據(jù)服務(wù)器時(shí)間對(duì)每幀生成的序號(hào),該序號(hào)為該幀落在時(shí)間軸上由基準(zhǔn)幀率分割而成的區(qū)間的編號(hào);該序號(hào)作為同步信息添加到NAL單元中,用于客戶端進(jìn)行同步處理;(5)原始視頻流:來(lái)自相機(jī)的未添加幀同步序號(hào)的視頻流;(6)緩沖隊(duì)列:客戶端對(duì)視頻流解碼后的幀放入緩沖隊(duì)列中等待播放;(7)緩沖時(shí)間:客戶端設(shè)置一個(gè)緩沖時(shí)間,該時(shí)間初始為緩沖隊(duì)列中隊(duì)頭與隊(duì)尾幀的間隔時(shí)間;在播放時(shí),盡量保證緩沖隊(duì)列隊(duì)頭與隊(duì)尾間隔時(shí)間長(zhǎng)度等于緩沖時(shí)間;(8)參考播放序號(hào):客戶端開放播放后,維護(hù)一個(gè)參考播放序號(hào),用于同步播放控制;參考序號(hào)決定了當(dāng)前應(yīng)該播放的視頻幀的幀同步序號(hào);(9)循環(huán)標(biāo)志:幀同步序號(hào)和參考播放序號(hào)包含一個(gè)循環(huán)標(biāo)志;幀同步序號(hào)或參考播放序號(hào)之間可直接比較當(dāng)且僅當(dāng)循環(huán)標(biāo)志相同;(10)忽略、播放狀態(tài):當(dāng)視頻處于忽略狀態(tài)時(shí),不播放該視頻直到視頻恢復(fù)播放狀態(tài)。本專利技術(shù)的總體示意圖如圖1所示,服務(wù)器對(duì)來(lái)自多個(gè)相機(jī)的原始視頻流添加同步信息;客戶端接收來(lái)自服務(wù)器的多路視頻流,并從中提取同步信息,根據(jù)同步信息與緩沖隊(duì)列通過(guò)定時(shí)器進(jìn)行同步播放。服務(wù)器對(duì)視頻流的幀添加同步信息的流程如圖2所示,由于服務(wù)器與相機(jī)之間存在傳輸時(shí)延,所以首先調(diào)節(jié)相機(jī)與服務(wù)器之間的時(shí)間偏移量,該時(shí)間偏移量應(yīng)該考慮相機(jī)與服務(wù)器之間的時(shí)延和相機(jī)時(shí)間系統(tǒng)與現(xiàn)實(shí)時(shí)間的誤差兩個(gè)方面。服務(wù)器從相機(jī)獲得原始視頻流,其中每一幀數(shù)據(jù)包括視頻幀的圖像數(shù)據(jù)與該幀的時(shí)間戳,通過(guò)時(shí)間偏移量對(duì)該時(shí)間戳進(jìn)行校準(zhǔn)。設(shè)在T時(shí)刻,視頻幀時(shí)間戳為tc,服務(wù)器時(shí)間為ts,時(shí)間偏移量為Δt,那么:tc=ts+Δt通過(guò)Δt可以對(duì)來(lái)自相機(jī)的幀的時(shí)間戳進(jìn)行校準(zhǔn),從而得到在服務(wù)器的時(shí)間系統(tǒng)下該幀以及后續(xù)幀的采集時(shí)間。服務(wù)器需要在每一個(gè)相機(jī)接入并開始工作前配置時(shí)間偏移量。在得到時(shí)間偏移量之后,服務(wù)器對(duì)每一幀視頻數(shù)據(jù)根據(jù)時(shí)間偏移量計(jì)算出該幀校準(zhǔn)后的時(shí)間戳,并通過(guò)校準(zhǔn)后的時(shí)間戳計(jì)算幀同步序號(hào)作為該幀的同步信息。幀同步序號(hào)的計(jì)算方法如下:(1)配置基準(zhǔn)幀率。基準(zhǔn)幀率應(yīng)該大于所有相機(jī)的幀率,才能保證使用基準(zhǔn)幀率對(duì)時(shí)間軸進(jìn)行區(qū)間分割時(shí),同一路視頻連續(xù)兩幀不會(huì)出現(xiàn)在同一時(shí)間區(qū)間中。為了方便編號(hào),基準(zhǔn)幀率應(yīng)能整除1000。(2)利用基準(zhǔn)幀率計(jì)算得本文檔來(lái)自技高網(wǎng)...

【技術(shù)保護(hù)點(diǎn)】
一種用于多路實(shí)時(shí)視頻的幀同步方法,其特征在于:其包括服務(wù)器端和客戶端,在服務(wù)器端對(duì)原始視頻流加入同步信息,服務(wù)器端具體步驟為:?(s1)從輸入視頻流中提取視頻幀;?(s2)以流媒體服務(wù)器時(shí)間為基準(zhǔn)對(duì)來(lái)自各相機(jī)的視頻幀的到達(dá)時(shí)間進(jìn)行校準(zhǔn);?(s3)根據(jù)步驟(s2)校準(zhǔn)后的時(shí)間,為每路視頻計(jì)算幀同步序號(hào),作為該路的同步信息;?(s4)將同步信息添加到每路視頻流的視頻幀中。?在客戶端的同步處理步驟為:?(c1)從來(lái)自服務(wù)器的視頻流中提取同步信息;?(c2)對(duì)各路視頻流分別建立緩沖隊(duì)列;?(c3)由一個(gè)定時(shí)器以固定時(shí)間間隔檢查各個(gè)緩沖隊(duì)列;?(c4)根據(jù)同步信息進(jìn)行同步播放。
【技術(shù)特征摘要】
1.一種用于多路實(shí)時(shí)視頻的幀同步方法,其特征在于:其包括服務(wù)器端和客戶端,在服務(wù)器端對(duì)原始視頻流加入同步信息,服務(wù)器端具體步驟為:(s1)從輸入視頻流中提取視頻幀;(s2)以流媒體服務(wù)器時(shí)間為基準(zhǔn)對(duì)來(lái)自各相機(jī)的視頻幀的到達(dá)時(shí)間進(jìn)行校準(zhǔn);(s3)根據(jù)步驟(s2)校準(zhǔn)后的時(shí)間,為每路視頻計(jì)算幀同步序號(hào),作為該路的同步信息;(s4)將同步信息添加到每路視頻流的視頻幀中;在客戶端的同步處理步驟為:(c1)從來(lái)自服務(wù)器的視頻流中提取同步信息;(c2)對(duì)各路視頻流分別建立緩沖隊(duì)列;(c3)由一個(gè)定時(shí)器以固定時(shí)間間隔檢查各個(gè)緩沖隊(duì)列;(c4)根據(jù)同步信息進(jìn)行同步播放;所述步驟(s3)包括步驟如下:(s3.1)配置一個(gè)基準(zhǔn)幀率用于對(duì)時(shí)間軸進(jìn)行區(qū)間分割,區(qū)間大小為基準(zhǔn)幀率的倒數(shù),一秒鐘包含的區(qū)間數(shù)等于基準(zhǔn)幀率;(s3.2)根據(jù)幀的校準(zhǔn)時(shí)間,計(jì)算出幀同步序號(hào);為保證幀同步序號(hào)有限且在短時(shí)間內(nèi)不重復(fù)出現(xiàn),幀同步序號(hào)實(shí)際是根據(jù)幀的校準(zhǔn)后時(shí)間戳的分、秒以及在一秒之中所在的區(qū)間號(hào)計(jì)算得出。2.根據(jù)權(quán)利要求1所述的用于多路實(shí)時(shí)視頻的幀同步方...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:周忠,張晉詩(shī),周頤,劉培富,
申請(qǐng)(專利權(quán))人:北京航空航天大學(xué),
類型:發(fā)明
國(guó)別省市:北京;11
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。