本發(fā)明涉及多媒體技術(shù)領(lǐng)域,具體涉及一種視頻畫面異常判斷方法、裝置及終端設(shè)備。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)及智能移動終端設(shè)備的發(fā)展,各種互聯(lián)網(wǎng)產(chǎn)品給人們的工作、生活帶來了很多便利與娛樂,近年來,各類用于視頻直播的直播平臺層出不窮,視頻直播給人們帶來更實(shí)時(shí)的社交體驗(yàn)。
在實(shí)時(shí)視頻直播中,由于不可事前預(yù)知的視頻采集、網(wǎng)絡(luò)中斷、編解碼不兼容等異常引起的黑屏現(xiàn)象,會導(dǎo)致直播事實(shí)中斷,造成嚴(yán)重的影響,此時(shí)直播平臺運(yùn)營方需要實(shí)時(shí)或準(zhǔn)實(shí)時(shí)地判斷問題發(fā)生情況以及時(shí)進(jìn)行處理,而目前處理此類問題一般以線上觀眾在觀看直播視頻過程中人眼發(fā)現(xiàn)并主動報(bào)障為主,人工跟進(jìn),故障反應(yīng)時(shí)間滯后。對于直播平臺而言,海量主播難免存在偶發(fā)的但漏報(bào)或誤報(bào)的故障,隱藏了故障產(chǎn)生的根源,且問題不能及時(shí)定位,故不能有效進(jìn)行技術(shù)改進(jìn),影響觀眾觀看體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的首要目的在于提供一種視頻畫面異常判斷方法及裝置;
本發(fā)明的另一目的在于提供一種實(shí)現(xiàn)上述視頻畫面異常判斷方法的終端設(shè)備。
為實(shí)現(xiàn)該目的,本發(fā)明采用如下技術(shù)方案:
第一方面,本發(fā)明提供一種視頻畫面異常判斷方法,包括如下步驟:
獲取視頻流解碼后的每一數(shù)據(jù)幀;
判斷所述數(shù)據(jù)幀的部分像素點(diǎn)的三基色的亮度值是否低于預(yù)設(shè)閾值,以確定該數(shù)據(jù)幀是否為異常數(shù)據(jù)幀;
當(dāng)所述數(shù)據(jù)幀為異常數(shù)據(jù)幀時(shí),確定該視頻流所輸出的畫面為異常狀態(tài),并將該視頻流的異常信息上傳到云端服務(wù)器。
具體的,所述部分像素點(diǎn)為數(shù)據(jù)幀的前N個(gè)連續(xù)的像素點(diǎn)和/或后M個(gè)連續(xù)的像素點(diǎn),當(dāng)所述前N個(gè)連續(xù)的像素點(diǎn)和/或后M個(gè)連續(xù)的像素點(diǎn)的三基色的亮度值低于預(yù)設(shè)閾值時(shí),確定該數(shù)據(jù)幀為異常數(shù)據(jù)幀,所述N、M為小于數(shù)據(jù)幀的像素?cái)?shù)的任意整數(shù)。
較佳的,所述N、M為大于等于5小于等于10的整數(shù)。
優(yōu)選的,在確定所述部分像素點(diǎn)的三基色的亮度值低于預(yù)設(shè)閾值后,還包括:
當(dāng)所述數(shù)據(jù)幀在預(yù)定位置處對應(yīng)的像素點(diǎn)的三基色的亮度值低于預(yù)設(shè)閾值時(shí),才確定該數(shù)據(jù)幀為異常數(shù)據(jù)幀。
具體的,判斷像素點(diǎn)的三基色的亮度值是否低于預(yù)設(shè)閾值,包括:
計(jì)算多個(gè)像素點(diǎn)的三基色中各顏色的亮度值的平均值,再分別與各顏色的預(yù)設(shè)閾值比較,以確定所述像素點(diǎn)的三基色的亮度值是否低于預(yù)設(shè)閾值;或
計(jì)算每一個(gè)像素點(diǎn)的三基色的亮度值的平均值,再計(jì)算多個(gè)像素點(diǎn)的三基色的亮度值的平均值,再與單一預(yù)設(shè)閾值比較,以確定所述像素點(diǎn)的三基色的亮度值是否低于預(yù)設(shè)閾值。
具體的,所述異常數(shù)據(jù)幀為黑屏數(shù)據(jù)幀,所述預(yù)設(shè)閾值為趨近于0的數(shù)值,像素點(diǎn)的三基色的亮度值的均值低于預(yù)設(shè)閾值為像素點(diǎn)的三基色的亮度值的均值為0或趨近于0。
具體的,所述數(shù)據(jù)幀的預(yù)定位置為多條分割線將所述數(shù)據(jù)幀按預(yù)設(shè)幾何布局進(jìn)行分割的交點(diǎn)。
優(yōu)選的,所述幾何布局包括九宮格布局和符合黃金比例布局。
進(jìn)一步的,所述方法還包括:
當(dāng)在預(yù)設(shè)時(shí)間內(nèi)的連續(xù)多個(gè)數(shù)據(jù)幀均為異常數(shù)據(jù)幀時(shí),才確定該視頻流所輸出的畫面處于異常狀態(tài)。
進(jìn)一步的,所述視頻流的異常信息關(guān)聯(lián)于直播間特征信息、主播用戶特征信息、觀看用戶特征信息的至少一項(xiàng)上傳到云端服務(wù)器。
第二方面,本發(fā)明提供一種視頻畫面異常判斷裝置,包括:
獲取模塊:用于獲取視頻流解碼后的每一數(shù)據(jù)幀;
判斷模塊:用于判斷所述數(shù)據(jù)幀的部分像素點(diǎn)的三基色的亮度值是否低于預(yù)設(shè)閾值,以確定該數(shù)據(jù)幀是否為異常數(shù)據(jù)幀;
上傳模塊:用于當(dāng)所述數(shù)據(jù)幀為異常數(shù)據(jù)幀時(shí),確定該視頻流所輸出的畫面為異常狀態(tài),并將該視頻流的異常信息上傳到云端服務(wù)器。
第三方面,本發(fā)明提供一種終端設(shè)備,用于實(shí)現(xiàn)上述視頻畫面異常判斷方法,包括:
觸敏顯示器:用于顯示該方法實(shí)現(xiàn)過程中產(chǎn)生的中間信息及結(jié)果信息;
存儲器:用于存儲上述方法實(shí)現(xiàn)過程中產(chǎn)生的候選中間數(shù)據(jù)以及結(jié)果數(shù)據(jù);
一個(gè)或多個(gè)處理器:所述處理器被配置為用于執(zhí)行實(shí)現(xiàn)上述方法的步驟。
與現(xiàn)有技術(shù)相比,本發(fā)明具備如下優(yōu)點(diǎn):
本發(fā)明基于觀看終端在解碼視頻流后加入簡單的加減法運(yùn)算和極少的邏輯判斷,快速并且準(zhǔn)確地判斷視頻畫面出現(xiàn)黑屏的情況,第一時(shí)間將終端出現(xiàn)黑屏的故障上報(bào)給服務(wù)器,以讓直播平臺運(yùn)營方及時(shí)地發(fā)現(xiàn)并處理故障產(chǎn)生的根源,然后可以根據(jù)該根源對技術(shù)進(jìn)行改進(jìn),提高觀眾對視頻直播的觀看體驗(yàn);
另外,由于判斷黑屏現(xiàn)象的邏輯在視頻流解碼后,并且只對每一數(shù)據(jù)幀的幾個(gè)像素點(diǎn)進(jìn)行簡單的加減法運(yùn)算和極少的邏輯判斷,涉及的計(jì)算量所消耗的資源較少,不會影響視頻流解碼的過程,同時(shí)由機(jī)器判斷并上報(bào)黑屏狀況,反應(yīng)時(shí)間快速,漏報(bào)或誤報(bào)的可能性較低,可以為直播平臺運(yùn)營方反饋更多的技術(shù)缺陷,讓直播平臺運(yùn)營方更有效地進(jìn)行技術(shù)改進(jìn),進(jìn)而提高觀眾觀看體驗(yàn)。
顯然,上述有關(guān)本發(fā)明優(yōu)點(diǎn)的描述是概括性的,更多的優(yōu)點(diǎn)描述將體現(xiàn)在后續(xù)的實(shí)施例揭示中,以及,本領(lǐng)域技術(shù)人員也可以本發(fā)明所揭示的內(nèi)容合理地發(fā)現(xiàn)本發(fā)明的其他諸多優(yōu)點(diǎn)。
本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
【附圖說明】
圖1為本發(fā)明視頻畫面異常判斷方法的一實(shí)施例流程示意圖;
圖2為數(shù)據(jù)幀的像素點(diǎn)的示意圖;
圖3為分割線按九宮格布局分割數(shù)據(jù)幀的示意圖;
圖4為一種符合黃金比例布局的圖形;
圖5為本發(fā)明視頻畫面異常判斷裝置的一實(shí)施例示意圖。
【具體實(shí)施方式】
下面結(jié)合附圖和示例性實(shí)施例對本發(fā)明作進(jìn)一步地描述,其中附圖中相同的標(biāo)號全部指的是相同的部件。此外,如果已知技術(shù)的詳細(xì)描述對于示出本發(fā)明的特征是不必要的,則將其省略。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時(shí),它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或無線耦接。這里使用的措辭“和/或”包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的全部或任一單元和全部組合。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語,應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會用理想化或過于正式的含義來解釋。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,這里所使用的“終端”、“終端設(shè)備”既包括無線信號接收器的設(shè)備,其僅具備無發(fā)射能力的無線信號接收器的設(shè)備,又包括接收和發(fā)射硬件的設(shè)備,其具有能夠在雙向通信鏈路上,執(zhí)行雙向通信的接收和發(fā)射硬件的設(shè)備。這種設(shè)備可以包括:蜂窩或其他通信設(shè)備,其具有單線路顯示器或多線路顯示器或沒有多線路顯示器的蜂窩或其他通信設(shè)備;PCS(Personal Communications Service,個(gè)人通信系統(tǒng)),其可以組合語音、數(shù)據(jù)處理、傳真和/或數(shù)據(jù)通信能力;PDA(Personal Digital Assistant,個(gè)人數(shù)字助理),其可以包括射頻接收器、尋呼機(jī)、互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)訪問、網(wǎng)絡(luò)瀏覽器、記事本、日歷和/或GPS(Global Positioning System,全球定位系統(tǒng))接收器;常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備,其具有和/或包括射頻接收器的常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備。這里所使用的“終端”、“終端設(shè)備”可以是便攜式、可運(yùn)輸、安裝在交通工具(航空、海運(yùn)和/或陸地)中的,或者適合于和/或配置為在本地運(yùn)行,和/或以分布形式,運(yùn)行在地球和/或空間的任何其他位置運(yùn)行。這里所使用的“終端”、“終端設(shè)備”還可以是通信終端、上網(wǎng)終端、音樂/視頻播放終端,例如可以是PDA、MID(Mobile Internet Device,移動互聯(lián)網(wǎng)設(shè)備)和/或具有音樂/視頻播放功能的移動電話,也可以是智能電視、機(jī)頂盒等設(shè)備。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,這里所使用的遠(yuǎn)端網(wǎng)絡(luò)設(shè)備,其包括但不限于計(jì)算機(jī)、網(wǎng)絡(luò)主機(jī)、單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器集或多個(gè)服務(wù)器構(gòu)成的云。在此,云由基于云計(jì)算(Cloud Computing)的大量計(jì)算機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)超級虛擬計(jì)算機(jī)。本發(fā)明的實(shí)施例中,遠(yuǎn)端網(wǎng)絡(luò)設(shè)備、終端設(shè)備與WNS服務(wù)器之間可通過任何通信方式實(shí)現(xiàn)通信,包括但不限于,基于3GPP、LTE、WIMAX的移動通信、基于TCP/IP、UDP協(xié)議的計(jì)算機(jī)網(wǎng)絡(luò)通信以及基于藍(lán)牙、紅外傳輸標(biāo)準(zhǔn)的近距無線傳輸方式。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明所稱的“應(yīng)用”、“應(yīng)用程序”、“應(yīng)用軟件”以及類似表述的概念,是業(yè)內(nèi)技術(shù)人員所公知的相同概念,是指由一系列計(jì)算機(jī)指令及相關(guān)數(shù)據(jù)資源有機(jī)構(gòu)造的適于電子運(yùn)行的計(jì)算機(jī)軟件。除非特別指定,這種命名本身不受編程語言種類、級別,也不受其賴以運(yùn)行的操作系統(tǒng)或平臺所限制。理所當(dāng)然地,此類概念也不受任何形式的終端所限制。
本發(fā)明所述方法的實(shí)現(xiàn)依賴于移動終端操作系統(tǒng)中的某一功能模塊或插件,具體為內(nèi)置于移動終端的相應(yīng)應(yīng)用程序內(nèi)的可執(zhí)行代碼或獨(dú)立于任何應(yīng)用程序的單獨(dú)可執(zhí)行的應(yīng)用程序,其可以限定于特定的應(yīng)用程序中執(zhí)行,也能夠運(yùn)行于各種兼容的應(yīng)用程序中。功能模塊或插件的具體實(shí)現(xiàn)形式不作為對本發(fā)明的具體限定。
直播間:本發(fā)明所述直播間包括以下含義,①一種基于網(wǎng)絡(luò)直播平臺創(chuàng)建的一個(gè)虛擬空間(或虛擬房間),直播間一般由主播客戶端創(chuàng)建并連接有多個(gè)觀看客戶端,即直播間中包括了主播及多個(gè)觀眾,位于該虛擬空間內(nèi)的觀看客戶端可以觀看主播客戶端的直播內(nèi)容,同時(shí)主播客戶端的用戶與觀看客戶端的用戶、觀看客戶端的用戶與觀看客戶端的用戶之間還可以進(jìn)行語音、圖片、文字或贈送電子贈品的互動;②一種以群組方式將用戶聚合在一起的即時(shí)通訊平臺,例如視頻會議系統(tǒng),用戶通過登錄客戶端的方式進(jìn)入群組,用戶在群組內(nèi)以群組成員的身份存在,同一個(gè)群組內(nèi)包含有多個(gè)群組成員,用戶可任意加入或退出群組,在群組內(nèi),可以進(jìn)行文字、語音、視頻等多種互動。
第一方面,如圖1所示是本發(fā)明視頻畫面異常判斷方法的一實(shí)施例流程示意圖,包括如下步驟:
步驟S100:獲取視頻流解碼后的每一數(shù)據(jù)幀。
視頻播放的流程一般包括步驟:輸入->解碼->輸出,其中“輸入”包括從文件或網(wǎng)絡(luò)讀取原數(shù)據(jù)提取流信息->分離音視頻流等步驟,然后再對音、視頻流解碼后輸出,在視頻流解碼前會分配內(nèi)存以存儲解碼后的數(shù)據(jù)幀,數(shù)據(jù)幀(Frame)對應(yīng)著編解碼器的最小處理單元,媒體流通常由大量的數(shù)據(jù)幀組成,編解碼器以幀為單位實(shí)現(xiàn)壓縮數(shù)據(jù)和原始數(shù)據(jù)之間的相互轉(zhuǎn)換,解碼后的數(shù)據(jù)幀包括YUV格式或RGB格式,本實(shí)施例以RGB格式的數(shù)據(jù)幀為例進(jìn)行說明,另外,幀的高度和寬度信息同樣可以獲得。本實(shí)施例的一種應(yīng)用場景為視頻直播領(lǐng)域,觀看終端從網(wǎng)絡(luò)上獲取直播間視頻數(shù)據(jù)流,在本地對視頻流解碼后獲取解碼后的每一數(shù)據(jù)幀,然后再執(zhí)行后續(xù)操作。
步驟S200:判斷所述數(shù)據(jù)幀的部分像素點(diǎn)的三基色的亮度值是否低于預(yù)設(shè)閾值,以確定該數(shù)據(jù)幀是否為異常數(shù)據(jù)幀。
在得到解碼后的每一數(shù)據(jù)幀后,判斷該數(shù)據(jù)幀的部分像素點(diǎn)的三基色的亮度值是否低于預(yù)設(shè)閾值,若判斷結(jié)果為是,則確定該數(shù)據(jù)幀為異常數(shù)據(jù)幀。
具體的,像素點(diǎn)的三基色為R(紅色)、G(綠色)和B(藍(lán)色),像素點(diǎn)的三基色的亮度值即為工業(yè)界的一種顏色標(biāo)準(zhǔn)“RGB色彩模式”中RGB值的多少,計(jì)算機(jī)上的所有顏色都由紅色、綠色、藍(lán)色三種色光按照不同的比例混合而成的,一組RGB值就是一個(gè)最小的顯示單位,計(jì)算機(jī)屏幕上的任何一種顏色都可以由一組RGB值來記錄和表達(dá),在計(jì)算機(jī)中,RGB值的“多少”就是指RGB各顏色的亮度,并用整數(shù)來表示,通常情況下,RGB各有256級亮度,用數(shù)字從0、1、2...直到255表示,其中RGB值為(0,0,0)表示黑色,RGB值為(255,255,255)表示白色。
具體的,判斷像素點(diǎn)的三基色的亮度值是否低于預(yù)設(shè)閾值,可以轉(zhuǎn)化為判斷像素點(diǎn)的三基色的亮度值的均值是否低于預(yù)設(shè)閾值,本實(shí)施例的一種實(shí)施方式為:計(jì)算多個(gè)像素點(diǎn)的三基色中各顏色的亮度值的平均值,再分別與各顏色的預(yù)設(shè)閾值比較,以確定所述像素點(diǎn)的三基色的亮度值是否低于預(yù)設(shè)閾值,例如像素點(diǎn)A的RGB值為(0,0,0),像素點(diǎn)B的RGB值為(3,3,3),像素點(diǎn)C的RGB值為(6,6,6),計(jì)算得到像素點(diǎn)的RGB均值為(3,3,3),再分別與R、G、B的預(yù)設(shè)閾值例如(5,5,5)比較;本實(shí)施例的另一種實(shí)施方式為:計(jì)算每一個(gè)像素點(diǎn)的三基色的亮度值的平均值,再計(jì)算多個(gè)像素點(diǎn)的三基色的亮度值的平均值,再與單一預(yù)設(shè)閾值比較,以確定所述像素點(diǎn)的三基色的亮度值是否低于預(yù)設(shè)閾值,此時(shí)上述像素點(diǎn)A、B、C的RGB均值為3,再與預(yù)設(shè)閾值例如5比較。
具體的,所述異常數(shù)據(jù)幀為黑屏數(shù)據(jù)幀,一般的,在存儲視頻圖像數(shù)據(jù)時(shí)的RGB數(shù)組元素的默認(rèn)初始值為(0,0,0),即為黑色,故本實(shí)施例所述預(yù)設(shè)閾值為[0,255]區(qū)間內(nèi)趨近于0的數(shù)值,可以理解的是在計(jì)算機(jī)圖像顯示領(lǐng)域中,表現(xiàn)為近似黑色的像素點(diǎn)的RGB值均接近(0,0,0),故本實(shí)施例的預(yù)設(shè)閾值可以是RGB閾值數(shù)組如(5,5,5)或單一閾值如5,此時(shí),像素點(diǎn)的三基色的亮度值低于預(yù)設(shè)閾值則可以理解為“像素點(diǎn)的三基色的亮度值為0或趨近于0”,即像素點(diǎn)表示為黑色或近似黑色的像素點(diǎn),當(dāng)數(shù)據(jù)幀的預(yù)設(shè)像素點(diǎn)的三基色的亮度值為0或趨近于0時(shí),確定該數(shù)據(jù)幀為黑屏數(shù)據(jù)幀,即此時(shí)視頻流所輸出的畫面為黑屏畫面。
具體的,所述部分像素點(diǎn)為數(shù)據(jù)幀的前N個(gè)連續(xù)的像素點(diǎn)和/或后M個(gè)連續(xù)的像素點(diǎn),所述N、M為小于數(shù)據(jù)幀的像素?cái)?shù)的任意整數(shù),優(yōu)選的,所述N、M為大于等于5小于等于10的整數(shù),在一種實(shí)施方式中,可以選取前10個(gè)連續(xù)的像素點(diǎn)為所述部分像素點(diǎn),然后判斷該些像素點(diǎn)的RGB值是否低于預(yù)設(shè)閾值,以此確定該數(shù)據(jù)幀是否為異常數(shù)據(jù)幀;在另一種實(shí)施方式中,也可以選取后10個(gè)連續(xù)的像素點(diǎn)為所述部分像素點(diǎn);更佳地,可以同時(shí)選取前10個(gè)連續(xù)的像素點(diǎn)和后10個(gè)連續(xù)的像素點(diǎn)作為所述部分像素點(diǎn),能更準(zhǔn)確地判斷數(shù)據(jù)幀是否為異常數(shù)據(jù)幀,如圖2所示是一數(shù)據(jù)幀的像素點(diǎn)示意圖,其中每一個(gè)方形代表一個(gè)像素點(diǎn),圖2中涂滿顏色的部分是數(shù)據(jù)幀前5個(gè)像素點(diǎn)和后5個(gè)像素點(diǎn)。
進(jìn)一步的,為了更加準(zhǔn)確地判斷數(shù)據(jù)幀為異常數(shù)據(jù)幀,本實(shí)施例在確定所述部分像素點(diǎn)的RGB值低于預(yù)設(shè)閾值后,還包括步驟:
判斷所述數(shù)據(jù)幀在預(yù)定位置處對應(yīng)的像素點(diǎn)的三基色的亮度值是否低于預(yù)設(shè)閾值時(shí),若是,才確定該數(shù)據(jù)幀為異常數(shù)據(jù)幀。
具體的,所述預(yù)定位置為多條分割線將所述數(shù)據(jù)幀按幾何布局進(jìn)行分割的交點(diǎn),根據(jù)人眼對視頻信息存在視覺冗余的原理,該些交點(diǎn)為人眼視覺焦點(diǎn),通過對這些特殊像素點(diǎn)的判斷即相當(dāng)于對整一數(shù)據(jù)幀進(jìn)行判斷,可以較快捷、準(zhǔn)確地確認(rèn)數(shù)據(jù)幀是否為異常數(shù)據(jù)幀,所述幾何布局包括九宮格布局和符合黃金比例的布局,如圖2所示是分割線按九宮格布局分割數(shù)據(jù)幀的示意圖,其中每一個(gè)方形代表一個(gè)像素點(diǎn),分割線的交點(diǎn)為圖2中涂滿顏色的方形,如圖3所示是一種符合黃金比例布局的圖形,通過將該圖形與數(shù)據(jù)幀相匹配,以圖3中所示的交點(diǎn)作為數(shù)據(jù)幀的所述預(yù)定位置,每一個(gè)交點(diǎn)對應(yīng)于數(shù)據(jù)幀的一個(gè)像素點(diǎn),本實(shí)施例通過選取特殊像素點(diǎn)作為判斷的像素點(diǎn),不需要對整一數(shù)據(jù)幀的像素點(diǎn)進(jìn)行判斷,可以適當(dāng)?shù)販p少資源消耗。
步驟S300:當(dāng)所述數(shù)據(jù)幀為異常數(shù)據(jù)幀時(shí),確定該視頻流所輸出的畫面為異常狀態(tài),并將該視頻流的異常信息上傳到云端服務(wù)器。
在上述確定一數(shù)據(jù)幀為異常數(shù)據(jù)幀后,確定此時(shí)視頻流所輸出的畫面為異常狀態(tài),也即黑屏狀態(tài),然后將視頻流的異常信息上傳到云端服務(wù)器。
優(yōu)選的,由于一些特殊的視頻直播場景如晚間的戶外直播,開播的環(huán)境亮度較低,若只判斷一數(shù)據(jù)幀即確定視頻流所輸出的畫面為異常狀態(tài)的誤判可能性較高,所以,為了更佳準(zhǔn)確地確定視頻流所輸出的畫面為異常狀態(tài),本實(shí)施例還包括步驟:
當(dāng)在預(yù)設(shè)時(shí)間內(nèi)的連續(xù)多個(gè)數(shù)據(jù)幀均為異常數(shù)據(jù)幀時(shí),才確定該視頻流所輸出的畫面處于異常狀態(tài)。即設(shè)定一個(gè)觀測時(shí)間閾值如3秒,若在3秒內(nèi)的連續(xù)的數(shù)據(jù)幀均為異常數(shù)據(jù)幀時(shí),才確定此時(shí)視頻流所輸出的畫面處于異常狀態(tài),然后再將視頻流的異常信息上傳到云端服務(wù)器。
具體的,所述視頻流的異常信息關(guān)聯(lián)于直播間特征信息、主播用戶特征信息、觀看用戶特征信息的至少一項(xiàng)上傳到云端服務(wù)器,直播間的特征信息包括直播間的頻道ID及其子頻道ID,本實(shí)施例通過將視頻流的異常信息上傳到服務(wù)器,服務(wù)器收集到該異常信息后對其分析以便對產(chǎn)生該異常情況的源頭作出處理。
第二方面,如圖4所示是本發(fā)明視頻畫面異常判斷裝置的一實(shí)施例示意圖,包括:
獲取模塊100:用于獲取視頻流解碼后的每一數(shù)據(jù)幀。
視頻播放的流程一般包括步驟:輸入->解碼->輸出,其中“輸入”包括從文件或網(wǎng)絡(luò)讀取原數(shù)據(jù)提取流信息->分離音視頻流等步驟,然后再對音、視頻流解碼后輸出,在視頻流解碼前會分配內(nèi)存以存儲解碼后的數(shù)據(jù)幀,數(shù)據(jù)幀(Frame)對應(yīng)著編解碼器的最小處理單元,媒體流通常由大量的數(shù)據(jù)幀組成,編解碼器以幀為單位實(shí)現(xiàn)壓縮數(shù)據(jù)和原始數(shù)據(jù)之間的相互轉(zhuǎn)換,解碼后的數(shù)據(jù)幀包括YUV格式或RGB格式,本實(shí)施例以RGB格式的數(shù)據(jù)幀為例進(jìn)行說明,另外,幀的高度和寬度信息同樣可以獲得。本實(shí)施例的一種應(yīng)用場景為視頻直播領(lǐng)域,觀看終端的獲取模塊100從網(wǎng)絡(luò)上獲取直播間視頻數(shù)據(jù)流,然后在本地對視頻流解碼后獲取解碼后的每一數(shù)據(jù)幀,然后再執(zhí)行后續(xù)操作。
判斷模塊200:用于判斷所述數(shù)據(jù)幀的預(yù)設(shè)像素點(diǎn)的三基色的亮度值的均值是否低于預(yù)設(shè)閾值,以確定該數(shù)據(jù)幀是否為異常數(shù)據(jù)幀。
在得到解碼后的每一數(shù)據(jù)幀后,判斷模塊200判斷該數(shù)據(jù)幀的部分像素點(diǎn)的三基色的亮度值是否低于預(yù)設(shè)閾值,若判斷結(jié)果為是,則確定該數(shù)據(jù)幀為異常數(shù)據(jù)幀。
具體的,所述異常數(shù)據(jù)幀為黑屏數(shù)據(jù)幀,一般的,在存儲視頻圖像數(shù)據(jù)時(shí)的RGB數(shù)組元素的默認(rèn)初始值為(0,0,0),即為黑色,故本實(shí)施例所述預(yù)設(shè)閾值為[0,255]區(qū)間內(nèi)趨近于0的數(shù)值,可以理解的是在計(jì)算機(jī)圖像顯示領(lǐng)域中,表現(xiàn)為近似黑色的像素點(diǎn)的RGB值均接近(0,0,0),故本實(shí)施例的預(yù)設(shè)閾值可以是RGB閾值數(shù)組如(5,5,5)或單一閾值如5,此時(shí),像素點(diǎn)的三基色的亮度值低于預(yù)設(shè)閾值則可以理解為“像素點(diǎn)的三基色的亮度值為0或趨近于0”,即像素點(diǎn)表示為黑色或近似黑色的像素點(diǎn),當(dāng)數(shù)據(jù)幀的預(yù)設(shè)像素點(diǎn)的三基色的亮度值為0或趨近于0時(shí),確定該數(shù)據(jù)幀為黑屏數(shù)據(jù)幀,即此時(shí)視頻流所輸出的畫面為黑屏畫面。
具體的,所述部分像素點(diǎn)為數(shù)據(jù)幀的前N個(gè)連續(xù)的像素點(diǎn)和/或后M個(gè)連續(xù)的像素點(diǎn),所述N、M為小于數(shù)據(jù)幀的像素?cái)?shù)的任意整數(shù),優(yōu)選的,所述N、M為大于等于5小于等于10的整數(shù),在一種實(shí)施方式中,可以選取前10個(gè)連續(xù)的像素點(diǎn)為所述部分像素點(diǎn),然后判斷該些像素點(diǎn)的RGB值是否低于預(yù)設(shè)閾值,以此確定該數(shù)據(jù)幀是否為異常數(shù)據(jù)幀;在另一種實(shí)施方式中,也可以選取后10個(gè)連續(xù)的像素點(diǎn)為所述部分像素點(diǎn);更佳地,可以同時(shí)選取前10個(gè)連續(xù)的像素點(diǎn)和后10個(gè)連續(xù)的像素點(diǎn)作為所述部分像素點(diǎn),能更準(zhǔn)確地判斷數(shù)據(jù)幀是否為異常數(shù)據(jù)幀。
上傳模塊300:用于當(dāng)所述數(shù)據(jù)幀為異常數(shù)據(jù)幀時(shí),確定該視頻流所輸出的畫面為異常狀態(tài),并將該視頻流的異常信息上傳到云端服務(wù)器。
在判斷模塊200確定一數(shù)據(jù)幀為異常數(shù)據(jù)幀后,確定此時(shí)視頻流所輸出的畫面為異常狀態(tài),也即黑屏狀態(tài),然后上傳模塊300將視頻流的異常信息上傳到云端服務(wù)器。
具體的,所述視頻流的異常信息關(guān)聯(lián)于直播間特征信息、主播用戶特征信息、觀看用戶特征信息的至少一項(xiàng)上傳到云端服務(wù)器,直播間的特征信息包括直播間的頻道ID及其子頻道ID,本實(shí)施例通過將視頻流的異常信息上傳到服務(wù)器,服務(wù)器收集到該異常信息后對其分析以便對產(chǎn)生該異常情況的源頭作出處理。
相應(yīng)的,本發(fā)明提供一種終端設(shè)備,用于實(shí)現(xiàn)第一方面所述視頻畫面異常判斷方法,包括觸敏顯示器;存儲器;一個(gè)或多個(gè)處理器。
所述處理器具有以下功能:
獲取視頻流解碼后的每一數(shù)據(jù)幀;
判斷所述數(shù)據(jù)幀的部分像素點(diǎn)的三基色的亮度值是否低于預(yù)設(shè)閾值,以確定該數(shù)據(jù)幀是否為異常數(shù)據(jù)幀;
當(dāng)所述數(shù)據(jù)幀為異常數(shù)據(jù)幀時(shí),確定該視頻流所輸出的畫面為異常狀態(tài),并將該視頻流的異常信息上傳到云端服務(wù)器。
本發(fā)明基于觀看終端在解碼視頻流后加入簡單的加減法運(yùn)算和極少的邏輯判斷,快速并且準(zhǔn)確地判斷視頻畫面出現(xiàn)黑屏的情況,第一時(shí)間將終端出現(xiàn)黑屏的故障上報(bào)給服務(wù)器,以讓直播平臺運(yùn)營方及時(shí)地發(fā)現(xiàn)并處理故障產(chǎn)生的根源,然后可以根據(jù)該根源對技術(shù)進(jìn)行改進(jìn),提高觀眾對視頻直播的觀看體驗(yàn);另外,由于判斷黑屏現(xiàn)象的邏輯在視頻流解碼后,并且只對每一數(shù)據(jù)幀的幾個(gè)像素點(diǎn)進(jìn)行簡單的加減法運(yùn)算和極少的邏輯判斷,涉及的計(jì)算量所消耗的資源較少,不會影響視頻流解碼的過程,同時(shí)由機(jī)器判斷并上報(bào)黑屏狀況,反應(yīng)時(shí)間快速,漏報(bào)或誤報(bào)的可能性較低,可以為直播平臺運(yùn)營方反饋更多的技術(shù)缺陷,讓直播平臺運(yùn)營方更有效地進(jìn)行技術(shù)改進(jìn),進(jìn)而提高觀眾觀看體驗(yàn)。
雖然上面已經(jīng)示出了本發(fā)明的一些示例性實(shí)施例,但是本領(lǐng)域的技術(shù)人員將理解,在不脫離本發(fā)明的原理或精神的情況下,可以對這些示例性實(shí)施例做出改變,本發(fā)明的范圍由權(quán)利要求及其等同物限定。