本發(fā)明涉及計(jì)算機(jī)多媒體技術(shù)領(lǐng)域,尤其是涉及一種視頻的幀率檢測(cè)方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)發(fā)展的深入,越來(lái)越多的視頻內(nèi)容被生產(chǎn)與消費(fèi),同時(shí),視頻的質(zhì)量也越來(lái)越得到用戶的關(guān)注。導(dǎo)致視頻丟幀的環(huán)節(jié)主要在拍攝、傳輸、播放這三個(gè)環(huán)節(jié)。目前,有越來(lái)越多的視頻在智能手機(jī)、平板電腦上拍攝與播放,由于這些設(shè)備在性能上與專業(yè)設(shè)備存在差距,越來(lái)越多的視頻內(nèi)容在幀率這個(gè)指標(biāo)上存在瑕疵。與此同時(shí),通過(guò)移動(dòng)網(wǎng)絡(luò)傳輸視頻情況也加重了丟幀的問(wèn)題。因此,對(duì)視頻幀率的快速檢測(cè)的需求日益增多。
傳統(tǒng)的檢測(cè)方法主要是在拍攝時(shí),對(duì)拍攝的每一幀進(jìn)行編號(hào)(參考),并把這個(gè)編號(hào)添加到視頻幀上。然后在播放時(shí),對(duì)影響進(jìn)行掃描,如果出現(xiàn)編號(hào)跳躍的情況,就表示有丟幀。傳統(tǒng)方法主要是在攝像頭在采集到視頻圖片后加入幀編號(hào),因此無(wú)法檢測(cè)因攝像頭性能不佳導(dǎo)致的丟幀。另外,由于編號(hào)信息被放入到視頻幀中,因此,在檢測(cè)過(guò)程中必須完整播放一次視頻才能完成檢測(cè)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是針對(duì)上述問(wèn)題提供一種視頻的幀率檢測(cè)方法。
本發(fā)明的目的可以通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn):
一種視頻的幀率檢測(cè)方法,所述方法包括下列步驟:
1)讀取第一幀視頻數(shù)據(jù),并計(jì)算該幀視頻數(shù)據(jù)的二值特征;
2)讀取下一幀視頻數(shù)據(jù),并計(jì)算當(dāng)前視頻數(shù)據(jù)的二值特征;
3)比較當(dāng)前視頻數(shù)據(jù)的二值特征與其上一幀視頻數(shù)據(jù)的二值特征是否相同,若是則記錄掉幀并進(jìn)入步驟4),若否則進(jìn)入步驟4);
4)保存當(dāng)前視頻數(shù)據(jù)的二值特征,判斷當(dāng)前視頻數(shù)據(jù)是否為最后一幀視頻數(shù)據(jù),若是則結(jié)束視頻的幀率檢測(cè)并輸出掉幀記錄,若否則返回步驟2)。
所述二值特征的計(jì)算方法具體為:
11)對(duì)視頻數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,得到視頻數(shù)據(jù)的灰度圖;
12)提取步驟11)得到的灰度圖的二值特征,即為視頻數(shù)據(jù)的二值特征。
所述步驟11)具體為:
111)將視頻數(shù)據(jù)從YUV格式轉(zhuǎn)換為RGB格式;
112)對(duì)RGB格式的數(shù)據(jù)進(jìn)行灰度處理,得到灰度圖。
所述將視頻數(shù)據(jù)從YUV格式轉(zhuǎn)換為RGB格式具體為:
R=1.164(Y-16)+1.596(V-128)
G=1.164(Y-16)-0.813(V-128)-0.391(U-128)
B=1.164(Y-16)+2.018(U-128)
其中,R為RGB格式中R通道的值,G為RGB格式中G通道的值,B為RGB格式中B通道的值,Y為YUV格式中Y通道的值,U為YUV格式中U通道的值,V為YUV格式中V通道的值。
所述對(duì)RGB格式的數(shù)據(jù)進(jìn)行灰度處理具體為:
Gray=R×0.299+G×0.587+B×0.114
其中,Gray為得到的灰度圖,R為RGB格式中R通道的值,G為RGB格式中G通道的值,B為RGB格式中B通道的值。
所述步驟12)具體為:
121)將視頻數(shù)據(jù)的灰度圖按照相鄰的3×3個(gè)像素進(jìn)行分割得到所有3×3像素塊;
122)對(duì)每一個(gè)分割得到的3×3像素塊,將像素塊內(nèi)的每一個(gè)周圍點(diǎn)的像素與中心像素進(jìn)行數(shù)值比較,若該周圍點(diǎn)的像素大于中心像素,則周圍點(diǎn)的值記為1,否則該周圍點(diǎn)的值記為0;
123)以像素塊的左上角為起點(diǎn),按順時(shí)針?lè)较蛞来潍@取周圍點(diǎn)的值,得到的序列即為該像素塊的局部二值特征,將所有像素塊的局部二值特征進(jìn)行組合,得到灰度圖的二值特征。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
(1)傳統(tǒng)的檢測(cè)方法通過(guò)對(duì)視頻幀添加編號(hào)來(lái)進(jìn)行幀率檢測(cè),因而在攝像頭性能不佳時(shí),無(wú)法檢測(cè)到掉幀,與傳統(tǒng)方法相比,由于本方法是將當(dāng)前幀視頻數(shù)據(jù)的二值特征與上一幀視頻數(shù)據(jù)的二值特征進(jìn)行比對(duì),因而在攝像頭性能不佳導(dǎo)致丟幀時(shí),也可以檢測(cè)出來(lái)。
(2)本方法在檢測(cè)視頻幀率時(shí),只需有當(dāng)前幀的視頻數(shù)據(jù)和上一幀的視頻數(shù)據(jù)即可實(shí)現(xiàn),因此既可以對(duì)完整視頻進(jìn)行幀率檢測(cè),也可以對(duì)視頻的特定區(qū)間進(jìn)行幀率檢測(cè),在對(duì)視頻的特定區(qū)間進(jìn)行檢測(cè)時(shí),無(wú)需完整播放視頻,減小了檢測(cè)時(shí)間,提高了檢測(cè)效率。
(3)通過(guò)對(duì)視頻數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換提取視頻的二值特征,操作簡(jiǎn)單且效率高,便于實(shí)現(xiàn)。
(4)通過(guò)進(jìn)行像素值比較得到像素塊的局部二值特征,將所有像素塊的局部二值特征組合得到灰度圖的二值特征,只需通過(guò)比較即可完成計(jì)算,計(jì)算量小,計(jì)算速度快,從而提高了整體幀率檢測(cè)的速度。
(5)本方法無(wú)需對(duì)視頻進(jìn)行任何預(yù)處理即可實(shí)現(xiàn),實(shí)現(xiàn)簡(jiǎn)單,適用范圍廣。
附圖說(shuō)明
圖1為本發(fā)明的方法流程圖;
圖2為二值特征計(jì)算的示例圖,其中(2a)為3×3像素塊,(2b)為該像素塊在二值特征計(jì)算后的結(jié)果。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。本實(shí)施例以本發(fā)明技術(shù)方案為前提進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過(guò)程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
如圖1所示,為一種視頻的幀率檢測(cè)方法,包括下列步驟:
1)讀取第一幀視頻數(shù)據(jù),并計(jì)算該幀視頻數(shù)據(jù)的二值特征:
11)對(duì)視頻數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,得到視頻數(shù)據(jù)的灰度圖:
111)將視頻數(shù)據(jù)從YUV格式轉(zhuǎn)換為RGB格式,即:
R=1.164(Y-16)+1.596(V-128)
G=1.164(Y-16)-0.813(V-128)-0.391(U-128)
B=1.164(Y-16)+2.018(U-128)
其中,R為RGB格式中R通道的值,G為RGB格式中G通道的值,B為RGB格式中B通道的值,Y為YUV格式中Y通道的值,U為YUV格式中U通道的值,V為YUV格式中V通道的值;
112)對(duì)RGB格式的數(shù)據(jù)進(jìn)行灰度處理,得到灰度圖,即:
Gray=R×0.299+G×0.587+B×0.114
其中,Gray為得到的灰度圖,R為RGB格式中R通道的值,G為RGB格式中G通道的值,B為RGB格式中B通道的值;
12)提取步驟11)得到的灰度圖的二值特征,即為視頻數(shù)據(jù)的二值特征:
121)將視頻數(shù)據(jù)的灰度圖按照相鄰的3×3個(gè)像素進(jìn)行分割得到所有3×3像素塊;
122)對(duì)每一個(gè)分割得到的3×3像素塊,將像素塊內(nèi)的每一個(gè)周圍點(diǎn)的像素與中心像素進(jìn)行數(shù)值比較,若該周圍點(diǎn)的像素大于中心像素,則周圍點(diǎn)的值記為1,否則該周圍點(diǎn)的值記為0;
123)將所有周圍點(diǎn)的值按順時(shí)針排序得到二進(jìn)制序列,即為該像素塊的局部二值特征,將所有像素塊的局部二值特征進(jìn)行組合,得到灰度圖的二值特征;
2)讀取下一幀視頻數(shù)據(jù),并計(jì)算當(dāng)前視頻數(shù)據(jù)的二值特征;
3)比較當(dāng)前視頻數(shù)據(jù)的二值特征與其上一幀視頻數(shù)據(jù)的二值特征是否相同,若是則記錄掉幀并進(jìn)入步驟4),若否則進(jìn)入步驟4);
4)保存當(dāng)前視頻數(shù)據(jù)的二值特征,判斷當(dāng)前視頻數(shù)據(jù)是否為最后一幀視頻數(shù)據(jù),若是則結(jié)束視頻的幀率檢測(cè)并輸出掉幀記錄,若否則返回步驟2)。
如圖2所示,為步驟122)的具體示例圖,圖(2a)中為一個(gè)3×3像素塊,將像素塊中周圍每一塊的像素值與中心像素塊的像素值69進(jìn)行比較,大于69的塊標(biāo)記為1,小于或等于69的塊標(biāo)記為0,得到的結(jié)果如圖(2b)所示,將圖(2b)的值以像素塊的左上角為起點(diǎn),按順時(shí)針?lè)较蛞来潍@取周圍點(diǎn)的值,則得到該像素塊的二值特征為“01011010”。
利用本方法對(duì)一部長(zhǎng)約20分鐘,960×540分辨率的視頻進(jìn)行幀率檢測(cè),在一臺(tái)普通配置的電腦上耗時(shí)約150秒,與傳統(tǒng)方法相比,速度提高了8倍,可見(jiàn)本方法的效率有了顯著的提高。