本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別是涉及一種數(shù)據(jù)傳輸、處理方法及系統(tǒng)、微視儀及電子設(shè)備。
背景技術(shù):
由于家庭微視儀需要適配大量的手機(jī)或平板電腦終端(覆蓋高中低端)使用,各終端的多媒體播放能力各異,高端手機(jī)可以支持720P 30fps,而很多低端的終端只能支持720P 10fps的MJPEG播放能力,因此需要在不同的終端環(huán)境下使用不同的策略保證實(shí)時(shí)視頻錄制的用戶(hù)體驗(yàn)為最優(yōu)。
針對(duì)處理能力較弱的終端產(chǎn)品,瓶頸主要在處理器的多媒體處理能力方面不能匹配實(shí)時(shí)播放和錄制視頻的需求,造成視頻播放的延遲等不好的用戶(hù)體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種數(shù)據(jù)傳輸、處理方法及系統(tǒng)、微視儀及電子設(shè)備,用于解決現(xiàn)有技術(shù)中終端產(chǎn)品視頻處理能力弱,而不能匹配實(shí)時(shí)播放和錄制視頻的需求的問(wèn)題。
為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種雙碼流視頻數(shù)據(jù)傳輸方法,應(yīng)用于一微視儀中,所述微視儀與一電子設(shè)備進(jìn)行通信,所述方法包括:對(duì)獲取的視頻進(jìn)行處理,以生成對(duì)應(yīng)所述視頻的MJPEG碼流視頻數(shù)據(jù)以及H.264碼流視頻數(shù)據(jù);傳輸所述MJPEG碼流視頻數(shù)據(jù)以供播放戶(hù)視頻且傳輸所述H.264碼流視頻數(shù)據(jù)以供存儲(chǔ)所述視頻。
為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種雙碼流視頻數(shù)據(jù)傳輸系統(tǒng),應(yīng)用于一微視儀中,所述微視儀與一電子設(shè)備進(jìn)行通信,包括:視頻處理模塊,用以對(duì)獲取的視頻進(jìn)行處理,以生成對(duì)應(yīng)所述視頻的MJPEG碼流視頻數(shù)據(jù)以及H.264碼流視頻數(shù)據(jù);數(shù)據(jù)傳輸模塊,用以傳輸所述MJPEG碼流視頻數(shù)據(jù)以供播放戶(hù)視頻且傳輸所述H.264碼流視頻數(shù)據(jù)以供存儲(chǔ)所述視頻。
為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種微視儀,包括攝像頭以及處理器;所述攝像頭用于攝取視頻;所述處理器用以對(duì)所述攝像頭攝取的視頻進(jìn)行處理,以生成對(duì)應(yīng)所述視頻的MJPEG碼流視頻數(shù)據(jù)以及H.264碼流視頻數(shù)據(jù);傳輸所述MJPEG碼流視頻數(shù)據(jù)以供播放戶(hù)視頻且傳輸所述H.264碼流視頻數(shù)據(jù)以供存儲(chǔ)所述視頻。
為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種視頻數(shù)據(jù)處理方法,應(yīng)用于一電子設(shè)備中,所述電子設(shè)備與一微視儀進(jìn)行通信,所述方法包括:接收對(duì)應(yīng)一視頻的MJPEG碼流視頻數(shù)據(jù)以及H.264碼流視頻數(shù)據(jù),對(duì)接收的所述H.264碼流視頻數(shù)據(jù)進(jìn)行存儲(chǔ);獲取對(duì)應(yīng)所述視頻的每幀的時(shí)延以及相鄰幀之間的幀間隔;比較所述時(shí)延與所述幀間隔的大小,且根據(jù)所述比較的結(jié)果選取對(duì)應(yīng)的播放模式對(duì)接收的所述MJPEG碼流視頻數(shù)據(jù)進(jìn)行所述視頻的播放。
于本發(fā)明一具體實(shí)施例中,所述播放模式包括第一播放模式以及第二播放模式,當(dāng)所述時(shí)延大于或等于所述幀間隔時(shí),選取所述第一播放模式對(duì)接收的所述MJPEG碼流視頻數(shù)據(jù)進(jìn)行所述視頻的播放;當(dāng)所述時(shí)延小于所述幀間隔時(shí),選取所述第二播放模式對(duì)接收的所述MJPEG碼流視頻數(shù)據(jù)進(jìn)行所述視頻的播放;所述第一播放模式包括:通過(guò)預(yù)定幀數(shù)長(zhǎng)度的補(bǔ)償窗口將所述視頻分為多個(gè)部分以供分別處理,在每個(gè)所述補(bǔ)償窗口內(nèi)均選取一MJPEG幀進(jìn)行播放,且丟棄剩余的其他幀;所述第二播放模式包括:通過(guò)預(yù)定幀數(shù)長(zhǎng)度的補(bǔ)償窗口將所述視頻分為多個(gè)部分以供分別處理,在每個(gè)所述補(bǔ)償窗口內(nèi)均選取一MJPEG幀進(jìn)行丟棄,且播放剩余的的其他幀。
于本發(fā)明一具體實(shí)施例中,所述第一播放模式包括:在一補(bǔ)償窗口內(nèi),接收一視頻幀,獲取對(duì)應(yīng)所述視頻幀的MJPEG幀和H.264幀;判斷是否播放過(guò)與所述補(bǔ)償窗口對(duì)應(yīng)的MJPEG幀;若播放過(guò),則丟棄所述視頻幀對(duì)應(yīng)的MJPEG幀;若沒(méi)有播放過(guò),則判斷所述視頻幀是否為所述補(bǔ)償窗口內(nèi)的最后一幀,若是,則直接播放所述視頻幀對(duì)應(yīng)的MJPEG幀;若不是所述補(bǔ)償窗口內(nèi)的最后一幀,則判斷與所述視頻幀對(duì)應(yīng)的H.264幀的類(lèi)型,H.264幀的類(lèi)型若是關(guān)鍵幀,則直接播放所述視頻幀對(duì)應(yīng)的MJPEG幀;H.264幀的類(lèi)型若是前向預(yù)測(cè)編碼幀,則計(jì)算預(yù)設(shè)統(tǒng)計(jì)窗口對(duì)應(yīng)的信息量的當(dāng)前EMA與所述H.264幀的信息量之間的差值,且當(dāng)所述差值大于或等于預(yù)設(shè)的閾值時(shí),丟棄所述視頻幀對(duì)應(yīng)的MJPEG幀;丟棄或播放當(dāng)前視頻幀對(duì)應(yīng)的MJPEG幀后,返回所述接收一視頻幀的步驟以重新接收與所述補(bǔ)償窗口對(duì)應(yīng)的新的視頻幀,直到當(dāng)前補(bǔ)償窗口內(nèi)的視頻幀全部接收完。
于本發(fā)明一具體實(shí)施例中,所述第二播放模式包括:在一補(bǔ)償窗口內(nèi),接收一視頻幀,獲取對(duì)應(yīng)所述視頻幀的MJPEG幀和H.264幀;判斷是否丟棄過(guò)與所述補(bǔ)償窗口對(duì)應(yīng)的MJPEG幀;若丟棄過(guò),則播放所述視頻幀對(duì)應(yīng)的MJPEG幀;若沒(méi)有丟棄過(guò),則判斷所述視頻幀是否為所述補(bǔ)償窗口內(nèi)的最后一幀,若是,則直接丟棄所述視頻幀對(duì)應(yīng)的MJPEG幀;若不是所述補(bǔ)償窗口內(nèi)的最后一幀,則判斷與所述視頻幀對(duì)應(yīng)的H.264幀的類(lèi)型,H.264幀的類(lèi)型若是關(guān)鍵幀,則直接播放所述視頻幀對(duì)應(yīng)的MJPEG幀;H.264幀的類(lèi)型若是前向預(yù)測(cè)編碼幀,則計(jì)算預(yù)設(shè)統(tǒng)計(jì)窗口對(duì)應(yīng)的信息量的當(dāng)前EMA與所述H.264幀的信息量之間的差值,且當(dāng)所述差值大于或等于預(yù)設(shè)的閾值時(shí),丟棄所述視頻幀對(duì)應(yīng)的MJPEG幀;丟棄或播放當(dāng)前視頻幀對(duì)應(yīng)的MJPEG幀后,返回所述接收一視頻幀的步驟以重新接收與所述補(bǔ)償窗口對(duì)應(yīng)的新的視頻幀,直到當(dāng)前補(bǔ)償窗口內(nèi)的視頻幀全部接收完。
于本發(fā)明一具體實(shí)施例中,根據(jù)所述時(shí)延以及幀間隔計(jì)算所述補(bǔ)償窗口的幀數(shù)。
于本發(fā)明一具體實(shí)施例中,所述補(bǔ)償窗口的幀數(shù)為所述時(shí)延與所述幀間隔的比值加1。
于本發(fā)明一具體實(shí)施例中,所述當(dāng)前EMA為當(dāng)前H.264幀的信息量與舊的EMA進(jìn)行加權(quán)處理后的結(jié)果。
于本發(fā)明一具體實(shí)施例中,所述舊的EMA為除去當(dāng)前H.264幀的信息量的影響的EMA。
為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種視頻數(shù)據(jù)處理系統(tǒng),應(yīng)用于一電子設(shè)備中,所述電子設(shè)備與一微視儀進(jìn)行通信,所述系統(tǒng)包括:數(shù)據(jù)接收模塊,用以接收對(duì)應(yīng)一視頻的MJPEG碼流視頻數(shù)據(jù)以及H.264碼流視頻數(shù)據(jù);存儲(chǔ)模塊,用以對(duì)所述數(shù)據(jù)接收模塊接收的所述H.264碼流視頻數(shù)據(jù)進(jìn)行存儲(chǔ);播放模塊,用以獲取對(duì)應(yīng)所述視頻的每幀的時(shí)延以及相鄰幀之間的幀間隔;且比較所述時(shí)延與所述幀間隔的大小,且根據(jù)所述比較的結(jié)果選取對(duì)應(yīng)的播放模式對(duì)接收的所述MJPEG碼流視頻數(shù)據(jù)進(jìn)行所述視頻的播放。
為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種電子設(shè)備,應(yīng)用如上任一項(xiàng)所述的視頻數(shù)據(jù)處理方法對(duì)接收到的對(duì)應(yīng)一視頻的MJPEG碼流視頻數(shù)據(jù)以及H.264碼流視頻數(shù)據(jù)進(jìn)行處理。
如上所述,本發(fā)明的數(shù)據(jù)傳輸、處理方法及系統(tǒng)、微視儀及電子設(shè)備,在微視儀拍攝到視頻時(shí),將視頻處理為MJPEG碼流視頻數(shù)據(jù)以及H.264碼流視頻數(shù)據(jù)的雙碼流數(shù)據(jù)進(jìn)行傳輸,其中MJPEG碼流用于實(shí)時(shí)視頻的播放具有對(duì)多媒體處理能力要求低的特點(diǎn),H.264視頻碼流用于實(shí)時(shí)視頻的錄制具有占用存儲(chǔ)空間小的特點(diǎn),所以,在電子設(shè)備端,將MJPEG碼流視頻數(shù)據(jù)根據(jù)視頻的時(shí)延以及幀間隔的關(guān)系選擇相應(yīng)的播放模式進(jìn)行播放,減少播放的延時(shí),保證播放視頻的質(zhì)量,且對(duì)H.264碼流視頻數(shù)據(jù)進(jìn)行存儲(chǔ),從而實(shí)現(xiàn)對(duì)拍攝的視頻的存儲(chǔ)的同時(shí),可以保證視頻播放的質(zhì)量,且降低對(duì)終端產(chǎn)品的硬件性能的要求。本發(fā)明一方面將視頻播放錄制的硬件需求降到最低,另一方面保證即使硬件的播放能力比標(biāo)稱(chēng)的要求更低,軟件仍然可以較好的適應(yīng)硬件平臺(tái)的播放能力,而不會(huì)出現(xiàn)其他多媒體軟件中常見(jiàn)的累積延遲和馬賽克等問(wèn)題。
附圖說(shuō)明
圖1顯示為本發(fā)明的通信系統(tǒng)在一具體實(shí)施例中的結(jié)構(gòu)示意圖。-
圖2顯示為本發(fā)明的雙碼流視頻數(shù)據(jù)傳輸方法在一具體實(shí)施例中的流程示意圖。
圖3顯示為本發(fā)明的雙碼流視頻數(shù)據(jù)傳輸系統(tǒng)在一具體實(shí)施例中的模塊示意圖。
圖4顯示為本發(fā)明的視頻數(shù)據(jù)處理方法在一具體實(shí)施例中的流程示意圖。
圖5顯示為本發(fā)明的第一播放模式在一具體實(shí)施例中的應(yīng)用示意圖。
圖6顯示為本發(fā)明的第二播放模式在一具體實(shí)施例中的應(yīng)用示意圖。
圖7顯示為本發(fā)明的視頻數(shù)據(jù)處理系統(tǒng)在一具體實(shí)施例中的模塊示意圖.
圖8顯示為本發(fā)明的電子設(shè)備在一具體實(shí)施例中采用的軟件結(jié)構(gòu)示意圖。
元件標(biāo)號(hào)說(shuō)明
10 通信系統(tǒng)
11 微視儀
12 電子設(shè)備
20 雙碼流視頻數(shù)據(jù)傳輸方法
21、22 方法步驟
30 雙碼流視頻數(shù)據(jù)傳輸系統(tǒng)
31 視頻處理模塊
32 數(shù)據(jù)傳輸模塊
40 視頻數(shù)據(jù)處理方法
41~43 方法步驟
70 視頻數(shù)據(jù)處理系統(tǒng)
71 數(shù)據(jù)接收模塊
72 存儲(chǔ)模塊
73 播放模塊
具體實(shí)施方式
以下通過(guò)特定的具體實(shí)例說(shuō)明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說(shuō)明書(shū)所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過(guò)另外不同的具體實(shí)施方式加以實(shí)施或應(yīng)用,本說(shuō)明書(shū)中的各項(xiàng)細(xì)節(jié)也可以基于不同觀(guān)點(diǎn)與應(yīng)用,在沒(méi)有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。需說(shuō)明的是,在不沖突的情況下,以下實(shí)施例及實(shí)施例中的特征可以相互組合。
需要說(shuō)明的是,以下實(shí)施例中所提供的圖示僅以示意方式說(shuō)明本發(fā)明的基本構(gòu)想,遂圖示中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時(shí)的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時(shí)各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
家庭微視儀通常與相應(yīng)的終端產(chǎn)品進(jìn)行通信,終端產(chǎn)品在接收到微視儀上傳的視頻后進(jìn)行播放和存儲(chǔ),由于無(wú)線(xiàn)家庭微視儀需要適配大量的終端(覆蓋高中低端)使用,各終端的多媒體播放能力各異,高端終端可以支持720P 30fps,而很多低端的終端只能支持720P 10fps的MJPEG播放能力,因此需要在不同的終端環(huán)境下使用不同的策略保證實(shí)時(shí)視頻錄制的用戶(hù)體驗(yàn)為最優(yōu)。本發(fā)明一方面將硬件播放錄制的硬件需求降到最低,另一方面保證即使硬件的播放能力比標(biāo)稱(chēng)的要求更低,軟件仍然可以較好的適應(yīng)硬件平臺(tái)的播放能力,而不會(huì)出現(xiàn)其他多媒體軟件中常見(jiàn)的累積延遲和馬賽克等問(wèn)題。本發(fā)明具體的系統(tǒng)結(jié)構(gòu)如圖1所示,通信系統(tǒng)10包括微視儀11和電子設(shè)備12。
進(jìn)一步參閱圖2,顯示為本發(fā)明的雙碼流視頻數(shù)據(jù)傳輸方法在一具體實(shí)施例中的流程示意圖。所述雙碼流視頻數(shù)據(jù)傳輸方法20,應(yīng)用于所述微視儀11中,所述方法20包括:
21:對(duì)獲取的視頻進(jìn)行處理,以生成對(duì)應(yīng)所述視頻的MJPEG碼流視頻數(shù)據(jù)以及H.264碼流視頻數(shù)據(jù);所述視頻的獲取方式包括通過(guò)搭載于所述微視儀11的攝像頭進(jìn)行獲取。
22:傳輸所述MJPEG碼流視頻數(shù)據(jù)以供播放戶(hù)視頻且傳輸所述H.264碼流視頻數(shù)據(jù)以供存儲(chǔ)所述視頻。所述微視儀11還包括處理器,用以對(duì)所述攝像頭攝取的視頻進(jìn)行處理,以生成對(duì)應(yīng)所述視頻的MJPEG碼流視頻數(shù)據(jù)以及H.264碼流視頻數(shù)據(jù),并傳輸所述MJPEG碼流視頻數(shù)據(jù)以供播放戶(hù)視頻且傳輸所述H.264碼流視頻數(shù)據(jù)以供存儲(chǔ)所述視頻。
請(qǐng)參閱圖3,顯示為本發(fā)明的雙碼流視頻數(shù)據(jù)傳輸系統(tǒng)在一具體實(shí)施例中的模塊示意圖。所述雙碼流視頻數(shù)據(jù)傳輸系統(tǒng)30應(yīng)用于所述微視儀11中,所述雙碼流視頻數(shù)據(jù)傳輸系統(tǒng)30包括:
視頻處理模塊31,用以對(duì)獲取的視頻進(jìn)行處理,以生成對(duì)應(yīng)所述視頻的MJPEG碼流視頻數(shù)據(jù)以及H.264碼流視頻數(shù)據(jù);
數(shù)據(jù)傳輸模塊32,用以傳輸所述MJPEG碼流視頻數(shù)據(jù)以供播放戶(hù)視頻且傳輸所述H.264碼流視頻數(shù)據(jù)以供存儲(chǔ)所述視頻。
進(jìn)一步的參閱圖4,顯示為本發(fā)明的視頻數(shù)據(jù)處理方法在一具體實(shí)施例中的流程示意圖。所述視頻數(shù)據(jù)處理方法40應(yīng)用于所述電子設(shè)備12中,所述方法40包括:
41:接收對(duì)應(yīng)一視頻的MJPEG碼流視頻數(shù)據(jù)以及H.264碼流視頻數(shù)據(jù),對(duì)接收的所述H.264碼流視頻數(shù)據(jù)進(jìn)行存儲(chǔ);
42:獲取對(duì)應(yīng)所述視頻的每幀的時(shí)延以及相鄰幀之間的幀間隔;于本發(fā)明一具體實(shí)施例中,根據(jù)所述時(shí)延TDelay以及幀間隔TInt計(jì)算所述補(bǔ)償窗口的幀數(shù)N。具體為,所述補(bǔ)償窗口的幀數(shù)為所述時(shí)延與所述幀間隔的比值加1,公式為:N=TDelay/TInt+1。
43:比較所述時(shí)延與所述幀間隔的大小,且根據(jù)所述比較的結(jié)果選取對(duì)應(yīng)的播放模式對(duì)接收的所述MJPEG碼流視頻數(shù)據(jù)進(jìn)行所述視頻的播放。
于本發(fā)明一具體實(shí)施例中,所述播放模式包括第一播放模式以及第二播放模式,當(dāng)所述時(shí)延大于或等于所述幀間隔時(shí),即TDelay>=Tint時(shí),此時(shí)FDrop>=1,代表丟棄的幀數(shù)大于等于播放的幀數(shù),其中FDrop為每幀需要丟棄的幀數(shù)。選取所述第一播放模式對(duì)接收的所述MJPEG碼流視頻數(shù)據(jù)進(jìn)行所述視頻的播放;當(dāng)所述時(shí)延小于所述幀間隔時(shí),即TDelay<Tint時(shí),此時(shí)FDrop<1,代表丟棄的幀數(shù)小于播放的幀數(shù),選取所述第二播放模式對(duì)接收的所述MJPEG碼流視頻數(shù)據(jù)進(jìn)行所述視頻的播放。
進(jìn)一步的,所述第一播放模式包括:通過(guò)預(yù)定幀數(shù)長(zhǎng)度N的補(bǔ)償窗口將所述視頻分為多個(gè)部分以供分別處理,在每個(gè)所述補(bǔ)償窗口內(nèi)均選取一MJPEG幀進(jìn)行播放,且丟棄剩余的其他幀;所述第二播放模式包括:通過(guò)預(yù)定幀數(shù)長(zhǎng)度N的補(bǔ)償窗口將所述視頻分為多個(gè)部分以供分別處理,在每個(gè)所述補(bǔ)償窗口內(nèi)均選取一MJPEG幀進(jìn)行丟棄,且播放剩余的的其他幀。
于本發(fā)明一具體實(shí)施例中,結(jié)合圖5所示的第一播放模式應(yīng)用示意圖,所述第一播放模式具體包括:
在一補(bǔ)償窗口內(nèi),接收一視頻幀,獲取對(duì)應(yīng)所述視頻幀的MJPEG幀和H.264幀,其中H.264幀直接進(jìn)行存儲(chǔ);
判斷是否播放過(guò)與所述補(bǔ)償窗口對(duì)應(yīng)的MJPEG幀;
若播放過(guò),則丟棄所述視頻幀對(duì)應(yīng)的MJPEG幀;
若沒(méi)有播放過(guò),則判斷所述視頻幀是否為所述補(bǔ)償窗口內(nèi)的最后一幀,若是所述補(bǔ)償窗口內(nèi)的最后一幀,則直接播放所述視頻幀對(duì)應(yīng)的MJPEG幀;
若不是所述補(bǔ)償窗口內(nèi)的最后一幀,則判斷與所述視頻幀對(duì)應(yīng)的H.264幀的類(lèi)型,
H.264幀的類(lèi)型若是關(guān)鍵幀(I幀),則直接播放所述視頻幀對(duì)應(yīng)的MJPEG幀;
H.264幀的類(lèi)型若是前向預(yù)測(cè)編碼幀(P幀),則計(jì)算預(yù)設(shè)統(tǒng)計(jì)窗口對(duì)應(yīng)的信息量的當(dāng)前EMAnew與所述H.264幀的信息量Sizenew之間的差值,且當(dāng)所述差值大于或等于預(yù)設(shè)的閾值Threshold時(shí),丟棄所述視頻幀對(duì)應(yīng)的MJPEG幀;采用的公式為EMAnew-Sizenew>=Threshold。其中,EMAnew=α*Sizenew+(1-α)*EMAold,α=2/(C+1)為平滑系數(shù)C為統(tǒng)計(jì)窗口幀數(shù),窗口越大則信息量實(shí)時(shí)性越差,波動(dòng)越小。一般Fps(每秒幀率)為30。EMA初始值為0。一種,EMA為指數(shù)平滑平均(Exponential Moving Average)。
丟棄或播放當(dāng)前視頻幀對(duì)應(yīng)的MJPEG幀后,返回所述接收一視頻幀的步驟以重新接收與所述補(bǔ)償窗口對(duì)應(yīng)的新的視頻幀,直到當(dāng)前補(bǔ)償窗口內(nèi)的視頻幀全部接收完。
于本發(fā)明一具體實(shí)施例中,結(jié)合圖6所示的第二播放模式應(yīng)用示意圖,所述第二播放模式包括:
在一補(bǔ)償窗口內(nèi),接收一視頻幀,獲取對(duì)應(yīng)所述視頻幀的MJPEG幀和H.264幀;
判斷是否丟棄過(guò)與所述補(bǔ)償窗口對(duì)應(yīng)的MJPEG幀;
若丟棄過(guò),則播放所述視頻幀對(duì)應(yīng)的MJPEG幀;
若沒(méi)有丟棄過(guò),則判斷所述視頻幀是否為所述補(bǔ)償窗口內(nèi)的最后一幀,
若是所述補(bǔ)償窗口內(nèi)的最后一幀,則直接丟棄所述視頻幀對(duì)應(yīng)的MJPEG幀;
若不是所述補(bǔ)償窗口內(nèi)的最后一幀,則判斷與所述視頻幀對(duì)應(yīng)的H.264幀的類(lèi)型,
H.264幀的類(lèi)型若是關(guān)鍵幀(I幀),則直接播放所述視頻幀對(duì)應(yīng)的MJPEG幀;
H.264幀的類(lèi)型若是前向預(yù)測(cè)編碼幀(P幀),則計(jì)算預(yù)設(shè)統(tǒng)計(jì)窗口對(duì)應(yīng)的信息量的當(dāng)前EMAnew與所述H.264幀的信息量Sizenew之間的差值,且當(dāng)所述差值大于或等于預(yù)設(shè)的閾值Threshold時(shí),丟棄所述視頻幀對(duì)應(yīng)的MJPEG幀;采用的公式為EMAnew-Sizenew>=Threshold。其中,EMAnew=α*Sizenew+(1-α)*EMAold,α=2/(C+1)為平滑系數(shù)C為統(tǒng)計(jì)窗口幀數(shù),窗口越大則信息量實(shí)時(shí)性越差,波動(dòng)越小。一般Fps(每秒幀率)為30。EMA初始值為0。一種,EMA為指數(shù)平滑平均(Exponential Moving Average)。
丟棄或播放當(dāng)前視頻幀對(duì)應(yīng)的MJPEG幀后,返回所述接收一視頻幀的步驟以重新接收與所述補(bǔ)償窗口對(duì)應(yīng)的新的視頻幀,直到當(dāng)前補(bǔ)償窗口內(nèi)的視頻幀全部接收完。
進(jìn)一步參閱圖7,顯示為本發(fā)明的視頻數(shù)據(jù)處理系統(tǒng)在一具體實(shí)施例中的模塊示意圖。所述視頻數(shù)據(jù)處理系統(tǒng)70應(yīng)用于所述電子設(shè)備12中,所述系統(tǒng)70包括:
數(shù)據(jù)接收模塊71,用以接收對(duì)應(yīng)一視頻的MJPEG碼流視頻數(shù)據(jù)以及H.264碼流視頻數(shù)據(jù);
存儲(chǔ)模塊72,用以對(duì)所述數(shù)據(jù)接收模塊接收的所述H.264碼流視頻數(shù)據(jù)進(jìn)行存儲(chǔ);
播放模塊73,用以獲取對(duì)應(yīng)所述視頻的每幀的時(shí)延以及相鄰幀之間的幀間隔;且比較所述時(shí)延與所述幀間隔的大小,且根據(jù)所述比較的結(jié)果選取對(duì)應(yīng)的播放模式對(duì)接收的所述MJPEG碼流視頻數(shù)據(jù)進(jìn)行所述視頻的播放。
所述視頻數(shù)據(jù)處理系統(tǒng)70為與所述視頻數(shù)據(jù)處理方法40對(duì)應(yīng)的系統(tǒng)項(xiàng),兩者技術(shù)方案一一對(duì)應(yīng),所有關(guān)于所述視頻數(shù)據(jù)處理方法40的描述均可應(yīng)用于本實(shí)施例中,在此不一一贅述。
進(jìn)一步參閱圖8,顯示為本發(fā)明的電子設(shè)備在一具體實(shí)施例中采用的軟件結(jié)構(gòu)示意圖。
所述電子設(shè)備12在接收到MJPEG碼流和H.264碼流后,對(duì)H.264碼流直接進(jìn)行存儲(chǔ),而同時(shí)對(duì)H.264碼流的類(lèi)型(I幀或P幀)以及信息量進(jìn)行判斷,根據(jù)判斷結(jié)果對(duì)MJPEG碼流進(jìn)行自適應(yīng)選擇性丟幀,且根據(jù)丟幀處理后對(duì)MJPEG碼流進(jìn)行相應(yīng)的顯示。
本發(fā)明具有如下有益效果:
1.采用MJPEG碼流做圖片實(shí)時(shí)預(yù)覽,解碼時(shí)間短,有效縮短解碼延時(shí)。
2.采用MJPEG碼流做圖片實(shí)時(shí)預(yù)覽,解碼強(qiáng)度低,功耗低,對(duì)硬件多媒體性能要求低,可以適配大多數(shù)低端機(jī)型。
3.采用H.264碼流錄制多媒體視頻,壓縮比高,占用空間小。
4.自適應(yīng)選擇性丟幀算法保證在硬件支持的幀率下視頻播放較為流暢。
綜上所述,本發(fā)明的數(shù)據(jù)傳輸、處理方法及系統(tǒng)、微視儀及電子設(shè)備,在微視儀拍攝到視頻時(shí),將視頻處理為MJPEG碼流視頻數(shù)據(jù)以及H.264碼流視頻數(shù)據(jù)的雙碼流數(shù)據(jù)進(jìn)行傳輸,其中MJPEG碼流用于實(shí)時(shí)視頻的播放具有對(duì)多媒體處理能力要求低的特點(diǎn),H.264視頻碼流用于實(shí)時(shí)視頻的錄制具有占用存儲(chǔ)空間小的特點(diǎn),所以,在電子設(shè)備端,將MJPEG碼流視頻數(shù)據(jù)根據(jù)視頻的時(shí)延以及幀間隔的關(guān)系選擇相應(yīng)的播放模式進(jìn)行播放,減少播放的延時(shí),保證播放視頻的質(zhì)量,且對(duì)H.264碼流視頻數(shù)據(jù)進(jìn)行存儲(chǔ),從而實(shí)現(xiàn)對(duì)拍攝的視頻的存儲(chǔ)的同時(shí),可以保證視頻播放的質(zhì)量,且降低對(duì)終端產(chǎn)品的硬件性能的要求。所以,本發(fā)明有效克服了現(xiàn)有技術(shù)中的種種缺點(diǎn)而具高度產(chǎn)業(yè)利用價(jià)值。
上述實(shí)施例僅例示性說(shuō)明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術(shù)的人士皆可在不違背本發(fā)明的精神及范疇下,對(duì)上述實(shí)施例進(jìn)行修飾或改變。因此,舉凡所屬技術(shù)領(lǐng)域中具有通常知識(shí)者在未脫離本發(fā)明所揭示的精神與技術(shù)思想下所完成的一切等效修飾或改變,仍應(yīng)由本發(fā)明的權(quán)利要求所涵蓋。