本發(fā)明涉及網(wǎng)絡(luò)技術(shù),特別涉及視頻流處理方法、裝置和系統(tǒng)。
背景技術(shù):
在視頻直播、鑒黃、視頻監(jiān)控等應(yīng)用場景中,通常需要由服務(wù)器來對視頻流進(jìn)行智能識別。
具體地,服務(wù)器獲取采集端采集、壓縮和上傳的視頻流,并進(jìn)行解封裝、解碼等處理,其中,針對每幀原始圖像,分別對其解碼結(jié)果進(jìn)行智能分析,以確定是否需要在該原始圖像對應(yīng)的畫面上疊加處理效果,如果是,則將相應(yīng)的處理效果疊加到該原始圖像對應(yīng)的畫面上后,再經(jīng)過編碼等處理后發(fā)送給播放端。
比如,通過智能分析,確定出某一畫面中的某一位置出現(xiàn)了黃色暴力的內(nèi)容,那么則可認(rèn)為需要在該畫面上疊加處理效果,如可以采用馬賽克來遮擋所述黃色暴力的內(nèi)容。
但是,上述方式在實際應(yīng)用中會存在一定的問題,如:由于需要進(jìn)行二次編碼,因此大大地降低了圖像質(zhì)量,而且,增加了服務(wù)器的負(fù)擔(dān)。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了視頻流處理方法、裝置和系統(tǒng),能夠提升圖像質(zhì)量并減輕服務(wù)器的負(fù)擔(dān)。
具體技術(shù)方案如下:
一種視頻流處理方法,包括:
服務(wù)器獲取視頻流,針對其中的每幀原始圖像,若確定需要在所述原始圖像對應(yīng)的畫面上疊加處理效果,則將所述原始圖像以及所述原始圖像的處理方式信息分別發(fā)送給播放端,以便所述播放端在播放所述原始圖像對應(yīng)的畫面之前,按照所述處理方式信息在所述畫面上疊加處理效果,并將進(jìn)行疊加之后的畫面進(jìn)行播放。
一種視頻流處理方法,包括:
播放端獲取視頻流,在播放其中的每幀原始圖像對應(yīng)的畫面之前,若確定已經(jīng)獲取到所述原始圖像對應(yīng)的處理方式信息,則按照所述處理方式信息在所述原始圖像對應(yīng)的畫面上疊加處理效果,并將進(jìn)行疊加之后的畫面進(jìn)行播放。
一種視頻流處理裝置,包括:分析單元以及發(fā)送單元;
所述分析單元,用于獲取視頻流,針對其中的每幀原始圖像,若確定需要在所述原始圖像對應(yīng)的畫面上疊加處理效果,則將所述原始圖像以及所述原始圖像的處理方式信息分別發(fā)送給所述發(fā)送單元;
所述發(fā)送單元,用于將所述原始圖像以及所述原始圖像的處理方式信息分別發(fā)送給播放端,以便所述播放端在播放所述原始圖像對應(yīng)的畫面之前,按照所述處理方式信息在所述畫面上疊加處理效果,并將進(jìn)行疊加之后的畫面進(jìn)行播放。
一種視頻流處理裝置,包括:處理單元和播放單元;
所述處理單元,用于獲取視頻流,在播放其中的每幀原始圖像對應(yīng)的畫面之前,若確定已經(jīng)獲取到所述原始圖像對應(yīng)的處理方式信息,則按照所述處理方式信息在所述原始圖像對應(yīng)的畫面上疊加處理效果,并將進(jìn)行疊加之后的畫面通過所述播放單元進(jìn)行播放。
一種視頻流處理系統(tǒng),包括:如以上所述的兩種視頻流處理裝置。
基于上述介紹可以看出,采用本發(fā)明所述方案,服務(wù)器無需進(jìn)行二次編碼,從而大大地提升了圖像質(zhì)量,而且,也相應(yīng)地減輕了服務(wù)器的負(fù)擔(dān)。
【附圖說明】
圖1為本發(fā)明所述視頻流處理方法實施例的流程圖。
圖2為本發(fā)明所述服務(wù)器端的處理方法實施例的流程圖。
圖3為本發(fā)明所述播放端的處理方法實施例的流程圖。
圖4為本發(fā)明所述視頻流處理裝置第一實施例的組成結(jié)構(gòu)示意圖。
圖5為本發(fā)明所述視頻流處理裝置第二實施例的組成結(jié)構(gòu)示意圖。
【具體實施方式】
為了使本發(fā)明的技術(shù)方案更加清楚、明白,以下參照附圖并舉實施例,對本發(fā)明所述方案作進(jìn)一步地詳細(xì)說明。
實施例一
圖1為本發(fā)明所述視頻流處理方法實施例的流程圖,如圖1所示,包括以下具體實現(xiàn)方式。
在11中,服務(wù)器獲取視頻流,針對其中的每幀原始圖像,若確定需要在該原始圖像對應(yīng)的畫面上疊加處理效果,則將該原始圖像以及該原始圖像的處理方式信息分別發(fā)送給播放端。
在12中,播放端在播放該原始圖像對應(yīng)的畫面之前,按照所述處理方式信息在畫面上疊加處理效果,并將進(jìn)行疊加之后的畫面進(jìn)行播放。
服務(wù)器可接收采集端采集、壓縮和上傳的視頻流,并可針對其中的每幀原始圖像,分別進(jìn)行以下處理:
1)對該原始圖像進(jìn)行拷貝,得到拷貝圖像;
比如,將該原始圖像拷貝到一個緩沖區(qū)(buffer)中;
2)對該拷貝圖像的解碼結(jié)果進(jìn)行智能分析;
比如,可以采用現(xiàn)有的OpenCV深度學(xué)習(xí)方式或級聯(lián)分類器對解碼結(jié)果進(jìn)行智能分析;
3)根據(jù)智能分析結(jié)果確定出是否需要在該原始圖像對應(yīng)的畫面上疊加處理效果;
比如,當(dāng)需要進(jìn)行黃色暴力內(nèi)容查找時,若根據(jù)智能分析結(jié)果確定出該原始圖像對應(yīng)的畫面中不存在黃色暴力內(nèi)容,則可認(rèn)為不需要在該原始圖像對應(yīng)的畫面上疊加處理效果,否則,則可認(rèn)為需要在該原始圖像對應(yīng)的畫面上疊加處理效果,疊加處理效果可以是指用馬賽克來遮擋所述黃色暴力內(nèi)容等。
對于每幀原始圖像來說,如果不需要在該原始圖像對應(yīng)的畫面上疊加處理效果,那么服務(wù)器僅需要將該原始圖像發(fā)送給播放端,如果需要在該原始圖像對應(yīng)的畫面上疊加處理效果,那么服務(wù)器則需要將該原始圖像以及該原始圖像對應(yīng)的處理方式信息分別發(fā)送給播放端。
服務(wù)器將處理方式信息以何種格式發(fā)送給播放端不作限制,可根據(jù)實際需要而定。
對于播放端來說,其獲取來自服務(wù)器的視頻流,并在播放其中的每幀原始圖像對應(yīng)的畫面之前,首先確定是否已經(jīng)從服務(wù)器獲取到該原始圖像對應(yīng)的處理方式信息,如果是,則按照所述處理方式信息在該原始圖像對應(yīng)的畫面上疊加處理效果,并將進(jìn)行疊加之后的畫面進(jìn)行播放,否則,對該原始圖像對應(yīng)的畫面進(jìn)行播放。
采用上述處理方式,服務(wù)器無需進(jìn)行二次編碼,從而大大地提升了圖像質(zhì)量,而且,也相應(yīng)地減輕了服務(wù)器的負(fù)擔(dān)。
另外,服務(wù)器發(fā)送給播放端的處理方式信息中可包括:疊加方式,以及,疊加位置,疊加位置即指在畫面中的哪個位置/區(qū)域疊加處理效果。
對于一幀原始圖像來說,可以只在其對應(yīng)的畫面中的一個疊加位置處疊加處理效果,也可以同時在多個疊加位置處疊加處理效果,因此,該原始圖像對應(yīng)的處理方式信息中可包括一個或多個疊加位置,每個疊加位置可分別對應(yīng)一種疊加方式,或者,也可以至少有一個疊加位置對應(yīng)M種疊加方式,M為大于一的正整數(shù),播放端可以從這M種疊加方式中選出一種進(jìn)行疊加,如何進(jìn)行選擇不作限制,比如可以隨機(jī)地進(jìn)行選擇或者依據(jù)預(yù)先設(shè)定的規(guī)則進(jìn)行選擇。
處理方式信息中包括的疊加方式具體為何種方式同樣不作限制,可根據(jù)實際場景需求等而定。
由于采用何種疊加方式可以由播放端來進(jìn)行選擇,而不是由服務(wù)器寫死,因此對于同一畫面中的同一疊加位置,不同的播放端可以展示出不同的處理效果,從而提升了播放端對用戶個性化需求的響應(yīng)能力。
比如,畫面中某一位置出現(xiàn)了黃色暴力的內(nèi)容,需要進(jìn)行遮擋,服務(wù)器下發(fā)的處理方式信息中提供了兩種不同的遮擋方式可供選擇,那么對于兩個不同的播放端來說,其展示給用戶的畫面中就可以采用不同的遮擋方式。
實施例二
基于上述介紹,圖2為本發(fā)明所述服務(wù)器端的處理方法實施例的流程圖,如圖2所示,包括以下具體實現(xiàn)方式。
在21中,當(dāng)每獲取到一幀原始圖像時,對該原始圖像進(jìn)行拷貝,得到拷貝圖像。
在22中,對拷貝圖像進(jìn)行解碼等處理,并對解碼結(jié)果進(jìn)行智能分析。
在23中,根據(jù)智能分析結(jié)果確定是否需要在該原始圖像對應(yīng)的畫面上疊加處理效果,如果是,則執(zhí)行24,否則,執(zhí)行25。
在24中,將該原始圖像和該原始圖像對應(yīng)的處理方式信息分別發(fā)送給播放端,結(jié)束流程。
在25中,僅將該原始圖像發(fā)送給播放端,結(jié)束流程。
需要說明是,圖2所示流程僅為舉例說明,并不用于限制本發(fā)明的技術(shù)方案,比如,將該原始圖像發(fā)送給播放端的操作也可以不在24或25中執(zhí)行,而是在拷貝完成之后即執(zhí)行。
實施例三
圖3為本發(fā)明所述播放端的處理方法實施例的流程圖,如圖3所示,包括以下具體實現(xiàn)方式。
在31中,當(dāng)需要播放每幀原始圖像對應(yīng)的畫面時,確定是否已經(jīng)獲取到該原始圖像對應(yīng)的處理方式信息,如果是,則執(zhí)行32,否則,執(zhí)行34。
在32中,按照該原始圖像對應(yīng)的處理方式信息在該原始圖像對應(yīng)的畫面上疊加處理效果。
在33中,將進(jìn)行疊加之后的畫面進(jìn)行播放,結(jié)束流程。
在34中,將該原始圖像對應(yīng)的畫面進(jìn)行播放,結(jié)束流程。
以上是關(guān)于方法實施例的介紹,以下通過裝置和系統(tǒng)實施例,對本發(fā)明所述方案進(jìn)行進(jìn)一步說明。
實施例四
圖4為本發(fā)明所述視頻流處理裝置第一實施例的組成結(jié)構(gòu)示意圖,如圖4所示,包括:分析單元41以及發(fā)送單元42。
分析單元41,用于獲取視頻流,針對其中的每幀原始圖像,若確定需要在該原始圖像對應(yīng)的畫面上疊加處理效果,則將該原始圖像以及該原始圖像的處理方式信息分別發(fā)送給發(fā)送單元42。
發(fā)送單元42,用于將該原始圖像以及該原始圖像的處理方式信息分別發(fā)送給播放端,以便播放端在播放該原始圖像對應(yīng)的畫面之前,按照所述處理方式信息在畫面上疊加處理效果,并將進(jìn)行疊加之后的畫面進(jìn)行播放。
具體地,對于每幀原始圖像,分析單元41可對該原始圖像進(jìn)行拷貝,得到拷貝圖像,并對拷貝圖像的解碼結(jié)果進(jìn)行智能分析,根據(jù)智能分析結(jié)果確定出是否需要在該原始圖像對應(yīng)的畫面上疊加處理效果。
比如,可以采用現(xiàn)有的OpenCV深度學(xué)習(xí)方式或級聯(lián)分類器對解碼結(jié)果進(jìn)行智能分析。
若根據(jù)智能分析結(jié)果確定出需要在該原始圖像對應(yīng)的畫面上疊加處理效果,那么分析單元41可將該原始圖像以及該原始圖像的處理方式信息分別通過發(fā)送單元42發(fā)送給播放端,如果根據(jù)智能分析結(jié)果確定出不需要在該原始圖像對應(yīng)的畫面上疊加處理效果,那么分析單元41可僅將該原始圖像通過發(fā)送單元42發(fā)送給播放端。
其中,所述處理方式信息中可包括:疊加方式,以及,疊加位置;
每個疊加位置分別對應(yīng)一種疊加方式;
或者,至少一個疊加位置對應(yīng)M種疊加方式,M為大于一的正整數(shù),以便播放端從M種疊加方式中選出一種進(jìn)行疊加。
實施例五
圖5為本發(fā)明所述視頻流處理裝置第二實施例的組成結(jié)構(gòu)示意圖,如圖5所示,包括:處理單元51和播放單元52。
處理單元51,用于獲取視頻流,在播放其中的每幀原始圖像對應(yīng)的畫面之前,若確定已經(jīng)獲取到該原始圖像對應(yīng)的處理方式信息,則按照所述處理方式信息在該原始圖像對應(yīng)的畫面上疊加處理效果,并將進(jìn)行疊加之后的畫面通過播放單元52進(jìn)行播放。
其中,所述處理方式信息中可包括:疊加方式,以及,疊加位置;
每個疊加位置分別對應(yīng)一種疊加方式;
或者,至少一個疊加位置對應(yīng)M種疊加方式,M為大于一的正整數(shù);
當(dāng)一個疊加位置對應(yīng)M種疊加方式時,處理單元51可從M種疊加方式中選出一種進(jìn)行疊加。
實施例六
本實施例中公開了一種視頻流處理系統(tǒng),包括:
如實施例四中所述的視頻流處理裝置,以及,如實施例五中所述的視頻流處理裝置。
在實際應(yīng)用中,實施例四中所述的視頻流處理裝置可為服務(wù)器,實施例五中所述的視頻流處理裝置可為播放端如播放器等。
實施例四、實施例五和實施例六中所述的裝置和系統(tǒng)實施例的具體工作流程請參照前述方法實施例中的相應(yīng)說明,不再贅述。
在本發(fā)明所提供的幾個實施例中,應(yīng)該理解到,所揭露的裝置和方法等,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。