本發(fā)明涉及互聯(lián)網(wǎng)視頻播放技術(shù)領(lǐng)域,尤其涉及一種生成視頻摘要視點(diǎn)圖的方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)的飛速發(fā)展,基于互聯(lián)網(wǎng)的視頻也越來(lái)越受歡迎,用戶逐漸從傳統(tǒng)的接收電視臺(tái)信號(hào)“看電視”轉(zhuǎn)移到在互聯(lián)網(wǎng)視頻平臺(tái)上觀看各種直播、點(diǎn)播等視頻節(jié)目。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),由于很多視頻在時(shí)間上冗余度較高,部分時(shí)間段信息量較稀疏,或者換句話說,視頻在某些時(shí)間段上的內(nèi)容用戶可能并不感興趣,所以用戶往往有拖拽視頻播放的進(jìn)度條以便快速跳過當(dāng)前時(shí)間段或者快速瀏覽整個(gè)視頻內(nèi)容的需求,然而在現(xiàn)有技術(shù)中,用戶由于得到的信息有限,在拖拽進(jìn)度條進(jìn)行瀏覽時(shí)具有一定的盲目性,造成時(shí)間的浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種生成視頻摘要視點(diǎn)圖的方法及裝置,以提高用戶瀏覽視頻時(shí)的效率。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種生成視頻摘要視點(diǎn)圖的方法,所述方法包括:
將視頻劃分為多個(gè)視頻片段;
對(duì)于每個(gè)所述視頻片段:如果所述視頻片段內(nèi)包含關(guān)鍵幀,則提取所述關(guān)鍵幀,其中所述關(guān)鍵幀為視頻畫面中發(fā)生場(chǎng)景變化時(shí)的視頻幀;
根據(jù)提取的所有所述關(guān)鍵幀生成所述視頻的摘要視點(diǎn)圖。
可選的,如果所述視頻片段內(nèi)包含關(guān)鍵幀,則提取所述關(guān)鍵幀,包括:
將所述視頻片段中的每個(gè)視頻幀切分為多個(gè)畫面子塊;
根據(jù)預(yù)設(shè)算法,獲取每個(gè)視頻幀的中心子塊的中心梯度直方圖,其中所述中心子塊為位于中心區(qū)域的畫面子塊;
判斷相鄰兩個(gè)視頻幀的中心梯度直方圖的均方誤差是否大于第一閾值;
如果所述均方誤差大于所述第一閾值,則提取所述相鄰兩個(gè)視頻幀中的一個(gè)或兩個(gè)視頻幀作為關(guān)鍵幀。
可選的,根據(jù)提取的所有所述關(guān)鍵幀生成所述視頻的摘要視點(diǎn)圖之前,所述方法還包括:
判斷相鄰兩個(gè)視頻片段中前一視頻片段的最后一個(gè)關(guān)鍵幀和后一視頻片段的第一個(gè)關(guān)鍵幀的所述均方誤差是否大于所述第一閾值;
如果不大于所述第一閾值,則濾除前一視頻片段的最后一個(gè)關(guān)鍵幀或者后一視頻片段的第一個(gè)關(guān)鍵幀。
可選的,根據(jù)提取的所有所述關(guān)鍵幀生成所述視頻的摘要視點(diǎn)圖之前,所述方法還包括:
計(jì)算每個(gè)關(guān)鍵幀的信噪比;
濾除信噪比小于第二閾值的關(guān)鍵幀。
可選的,根據(jù)提取的所有所述關(guān)鍵幀生成所述視頻的摘要視點(diǎn)圖,包括:
獲取每個(gè)所述關(guān)鍵幀在不同分辨率下的縮略圖;
將同一分辨率下的所有縮略圖作為所述視頻在所述分辨率下的摘要視點(diǎn)圖。
根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種生成視頻摘要視點(diǎn)圖的裝置,所述裝置包括:
視頻劃分模塊,用于將視頻劃分為多個(gè)視頻片段;
關(guān)鍵幀提取模塊,用于對(duì)于每個(gè)所述視頻片段,如果所述視頻片段內(nèi)包含關(guān)鍵幀,則提取所述關(guān)鍵幀,其中所述關(guān)鍵幀為視頻畫面中發(fā)生場(chǎng)景變化時(shí)的視頻幀;
摘要視點(diǎn)圖生成模塊,用于根據(jù)提取的所有所述關(guān)鍵幀生成所述視頻的摘要視點(diǎn)圖。
可選的,所述關(guān)鍵幀提取模塊包括:
視頻幀處理子模塊,用于將所述視頻片段中的每個(gè)視頻幀切分為多個(gè)畫面子塊,根據(jù)預(yù)設(shè)算法,獲取每個(gè)視頻幀的中心子塊的中心梯度直方圖,其中所述中心子塊為位于中心區(qū)域的畫面子塊;
關(guān)鍵幀判斷子模塊,用于判斷相鄰兩個(gè)視頻幀的中心梯度直方圖的均方誤差是否大于第一閾值,如果所述均方誤差大于所述第一閾值,則提取所述相鄰兩個(gè)視頻幀中的一個(gè)或兩個(gè)視頻幀作為關(guān)鍵幀。
可選的,所述裝置還包括:
第一關(guān)鍵幀過濾模塊,用于在所述摘要視點(diǎn)圖根據(jù)提取的所有所述關(guān)鍵幀生成所述視頻的摘要視點(diǎn)圖之前,判斷相鄰兩個(gè)視頻片段中前一視頻片段的最后一個(gè)關(guān)鍵幀和后一視頻片段的第一個(gè)關(guān)鍵幀的所述均方誤差是否大于所述第一閾值,如果不大于所述第一閾值,則濾除前一視頻片段的最后一個(gè)關(guān)鍵幀或者后一視頻片段的第一個(gè)關(guān)鍵幀。
可選的,所述裝置還包括:
第二關(guān)鍵幀過濾模塊,用于在所述摘要視點(diǎn)圖根據(jù)提取的所有所述關(guān)鍵幀生成所述視頻的摘要視點(diǎn)圖之前,計(jì)算每個(gè)關(guān)鍵幀的信噪比,濾除信噪比小于第二閾值的關(guān)鍵幀。
可選的,所述摘要視點(diǎn)圖生成模塊用于:
獲取每個(gè)所述關(guān)鍵幀在不同分辨率下的縮略圖;
將同一分辨率下的所有縮略圖作為所述視頻在所述分辨率下的摘要視點(diǎn)圖。
本發(fā)明實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
在本發(fā)明實(shí)施例中,先將視頻劃分為多個(gè)視頻片段,然后判斷各視頻片段內(nèi)是否包含視頻畫面中發(fā)生場(chǎng)景變化的視頻幀,并將這些視頻幀作為關(guān)鍵幀提取出來(lái),生成視頻摘要視點(diǎn)圖,從而得到了對(duì)視頻具有概括性的重要畫面,這樣用戶通過查看這些重要畫面可大大提高瀏覽視頻時(shí)的效率,也節(jié)省了用戶的時(shí)間。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,對(duì)于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。此外,這些介紹并不構(gòu)成對(duì)實(shí)施例的限定,附圖中具有相同參考數(shù)字標(biāo)號(hào)的元件表示為類似的元件,除非有特別申明,附圖中的圖不構(gòu)成比例限制。
圖1是根據(jù)本發(fā)明一示例性實(shí)施例示出的一種生成視頻摘要視點(diǎn)圖的方法的流程圖;
圖2是根據(jù)本發(fā)明一示例性實(shí)施例示出的摘要視點(diǎn)圖在進(jìn)度條上的鏈接標(biāo)識(shí)示意圖;
圖3是根據(jù)本發(fā)明另一示例性實(shí)施例示出的一種生成視頻摘要視點(diǎn)圖的方法的流程圖;
圖4是根據(jù)本發(fā)明一示例性實(shí)施例示出的視頻幀畫面分割示意圖;
圖5是根據(jù)本發(fā)明又一示例性實(shí)施例示出的一種生成視頻摘要視點(diǎn)圖的方法的流程圖;
圖6是根據(jù)本發(fā)明又一示例性實(shí)施例示出的一種生成視頻摘要視點(diǎn)圖的方法的流程圖;
圖7是根據(jù)本發(fā)明又一示例性實(shí)施例示出的一種生成視頻摘要視點(diǎn)圖的方法的流程圖;
圖8是根據(jù)本發(fā)明一示例性實(shí)施例示出的通訊場(chǎng)景示意圖;
圖9是根據(jù)本發(fā)明一示例性實(shí)施例示出的一種生成視頻摘要視點(diǎn)圖的裝置的示意圖;
圖10是根據(jù)本發(fā)明另一示例性實(shí)施例示出的一種生成視頻摘要視點(diǎn)圖的裝置的示意圖;
圖11是根據(jù)本發(fā)明又一示例性實(shí)施例示出的一種生成視頻摘要視點(diǎn)圖的裝置的示意圖;
圖12是根據(jù)本發(fā)明又一示例性實(shí)施例示出的一種生成視頻摘要視點(diǎn)圖的裝置的示意圖;
圖13是根據(jù)本發(fā)明一示例性實(shí)施例示出的執(zhí)行生成視頻摘要視點(diǎn)圖的方法的電子設(shè)備的硬件結(jié)構(gòu)示意圖。
具體實(shí)施方式
這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
實(shí)施例一
圖1是根據(jù)本發(fā)明一示例性實(shí)施例示出的一種生成視頻摘要視點(diǎn)圖的方法的流程圖。該方法例如可以用于具有一定計(jì)算能力的手機(jī)、平板電腦、個(gè)人電腦、電視、服務(wù)器等設(shè)備。
參見圖1所示,該方法可以包括:
步驟S101,將視頻劃分為多個(gè)視頻片段。
文本可以有摘要,視頻也可以有摘要。在本發(fā)明實(shí)施例中,使用摘要視點(diǎn)圖來(lái)展示視頻的摘要。摘要視點(diǎn)圖實(shí)際上可以是一組圖片,其中每張圖片都分別源自視頻中的一幅畫面(或者說是一個(gè)視頻幀)。用戶查看摘要視點(diǎn)圖,便可大致獲知該視頻的基本內(nèi)容。
為了得到摘要視點(diǎn)圖,在本發(fā)明實(shí)施例中首先將視頻劃分為多個(gè)視頻片段。視頻片段又可稱為視頻切片。出于提高視頻轉(zhuǎn)碼速度和分發(fā)速度以及需要加密等原因,在對(duì)視頻進(jìn)行處理時(shí)可以先根據(jù)視頻的長(zhǎng)度做出視頻切片。每個(gè)視頻片段的長(zhǎng)度可以根據(jù)需求等由技術(shù)人員自行指定。通常來(lái)講越長(zhǎng)的視頻,視頻片段也就越多。當(dāng)把視頻切分為多個(gè)視頻片段后,便可對(duì)各視頻片段進(jìn)行并行處理,從而有助于提高處理效率。
步驟S102,對(duì)于每個(gè)所述視頻片段:如果所述視頻片段內(nèi)包含關(guān)鍵幀,則提取所述關(guān)鍵幀,其中所述關(guān)鍵幀為視頻畫面中發(fā)生場(chǎng)景變化時(shí)的視頻幀。
即使很短的視頻,也通常含有很多的視頻幀,所以選取哪些視頻幀構(gòu)成該視頻的摘要,是個(gè)重要問題。例如可以隨機(jī)選取視頻幀,也可以每隔一個(gè)時(shí)間段就選取一個(gè)視頻幀,而在本實(shí)施例中,為了更好的反映視頻內(nèi)容,對(duì)視頻進(jìn)行更好的概括,選取的是視頻畫面中發(fā)生場(chǎng)景變化時(shí)的視頻幀。
對(duì)于如何判斷畫面中是否發(fā)生場(chǎng)景變化,本實(shí)施例并不進(jìn)行限制,例如可以使用幀差法、直方圖法、邊緣計(jì)算等多種方法,本領(lǐng)域技術(shù)人員可以根據(jù)不同需求\不同場(chǎng)景而自行選擇、設(shè)計(jì),可以在此處使用的這些選擇和設(shè)計(jì)都沒有背離本發(fā)明的精神和保護(hù)范圍。
步驟S103,根據(jù)提取的所有所述關(guān)鍵幀生成所述視頻的摘要視點(diǎn)圖。
例如,可以直接將關(guān)鍵幀作為摘要視點(diǎn)圖,或者將關(guān)鍵幀進(jìn)行圖像縮放后作為摘要視點(diǎn)圖。
在生成了摘要視點(diǎn)圖之后,當(dāng)播放該視頻時(shí),便可以在進(jìn)度條上鏈接各個(gè)摘要視點(diǎn)圖,作為示例可參見圖2所示,在圖2中201即為各個(gè)摘要視點(diǎn)圖在進(jìn)度條上的鏈接標(biāo)識(shí),用戶通過點(diǎn)擊該標(biāo)識(shí)便可以看到該時(shí)間點(diǎn)的摘要視點(diǎn)圖。
在本實(shí)施例中,先將視頻劃分為多個(gè)視頻片段,然后判斷各視頻片段內(nèi)是否包含視頻畫面中發(fā)生場(chǎng)景變化的視頻幀,并將這些視頻幀作為關(guān)鍵幀提取出來(lái),生成視頻摘要視點(diǎn)圖,從而得到了對(duì)視頻具有概括性的重要畫面,這樣用戶通過查看這些重要畫面可大大提高瀏覽視頻時(shí)的效率,也節(jié)省了用戶的時(shí)間。
實(shí)施例二
圖3是根據(jù)本發(fā)明另一示例性實(shí)施例示出的一種生成視頻摘要視點(diǎn)圖的方法的流程圖。本實(shí)施例基于實(shí)施例一,在本實(shí)施例中,如果所述視頻片段內(nèi)包含關(guān)鍵幀,則提取所述關(guān)鍵幀,可以包括以下步驟:
步驟S301,將所述視頻片段中的每個(gè)視頻幀切分為多個(gè)畫面子塊。
作為示例可參見圖4所示,在圖4中,當(dāng)前視頻幀401被劃分為9個(gè)畫面子塊。
步驟S302,根據(jù)預(yù)設(shè)算法,獲取每個(gè)視頻幀的中心子塊的中心梯度直方圖,其中所述中心子塊為位于中心區(qū)域的畫面子塊。
在圖4中,可以將畫面子塊402作為中心子塊。當(dāng)然在本發(fā)明其他實(shí)施例中,還可以將位于畫面中心區(qū)域的兩個(gè)或更多的畫面子塊作為中心子塊,對(duì)此本發(fā)明實(shí)施例并不進(jìn)行限制。
對(duì)于預(yù)設(shè)算法的具體內(nèi)容本實(shí)施例并不進(jìn)行限制。作為示例,在本實(shí)施例中,為了加快計(jì)算速度同時(shí)又保證檢測(cè)的準(zhǔn)確性,使用了局部邊緣插值法。首先根據(jù)視頻的分辨率對(duì)每一幀進(jìn)行切分。通常分辨率越大的畫面可以切分成更多的子塊,而分辨率越小的畫面則子塊越少。分塊之后可以只對(duì)中心一個(gè)或兩個(gè)子塊進(jìn)行分析,這是因?yàn)橥鶊?chǎng)景的變化在畫面中心區(qū)域是最明顯的,而背景則有可能被各幀重復(fù)使用。作為示例,可以使用sobel算子分別在x方向(也即橫向)和y方向(也即縱向)上對(duì)中心子塊做卷積,得到中心子塊在橫向和縱向上的邊緣響應(yīng)Gx和Gy,下式給出了一種示例:
其中A代表中心子塊,具體可以是一個(gè)矩陣,而矩陣元素值例如可以是像素的值等等。
然后根據(jù)Gx和Gy,可進(jìn)一步得到強(qiáng)度G以及梯度的方向θ,例如如下式所示:
假設(shè)若把梯度方向分為16級(jí),那么把強(qiáng)度G按照θ方向值做梯度直方圖,便可得到一個(gè)16維的中心梯度直方圖。
步驟S303,判斷相鄰兩個(gè)視頻幀的中心梯度直方圖的均方誤差是否大于第一閾值。
步驟S304,如果所述均方誤差大于所述第一閾值,則提取所述相鄰兩個(gè)視頻幀中的一個(gè)或兩個(gè)視頻幀作為關(guān)鍵幀。
換句話說,當(dāng)相鄰的前后兩個(gè)視頻幀a、b的均方誤差大于第一閾值時(shí),可以認(rèn)為視頻畫面在從視頻幀a到視頻幀b的過程中發(fā)生了場(chǎng)景變化,或者說是發(fā)生了鏡頭切換。可將視頻幀b作為關(guān)鍵幀,當(dāng)然也可以將視頻a作為關(guān)鍵幀,或者將視頻幀a、b均作為關(guān)鍵幀,對(duì)此本實(shí)施例并不進(jìn)行限制,本領(lǐng)域技術(shù)人員可以根據(jù)場(chǎng)景或需求而自行決定。
此外,在本實(shí)施例或本發(fā)明其他某些實(shí)施例中,在提取出各關(guān)鍵幀之后,根據(jù)提取的所有所述關(guān)鍵幀生成所述視頻的摘要視點(diǎn)圖之前,還可以對(duì)關(guān)鍵幀進(jìn)行過濾,以濾除一些重復(fù)的或無(wú)意義的關(guān)鍵幀。
作為示例,過濾的方式可以有兩種:
過濾方式1:
判斷相鄰兩個(gè)視頻片段中前一視頻片段的最后一個(gè)關(guān)鍵幀和后一視頻片段的第一個(gè)關(guān)鍵幀的所述均方誤差是否大于所述第一閾值;
如果不大于所述第一閾值,則濾除前一視頻片段的最后一個(gè)關(guān)鍵幀或者后一視頻片段的第一個(gè)關(guān)鍵幀。
這樣便可以濾除掉在視頻切片位置處前后重復(fù)的關(guān)鍵幀。
過濾方式2:
計(jì)算每個(gè)關(guān)鍵幀的信噪比;
濾除信噪比小于第二閾值的關(guān)鍵幀。
這樣便可以濾除那些全黑或空白等關(guān)鍵幀,因?yàn)檫@些關(guān)鍵幀并未提供有價(jià)值的信息。
需要說明的是,以上兩種過濾方式可以單獨(dú)使用,也可以疊加使用,對(duì)此本發(fā)明實(shí)施例并不進(jìn)行限制。
此外還需要說明的是,對(duì)于個(gè)別的特殊情況,例如前一視頻片段的最后一個(gè)關(guān)鍵幀和后一視頻片段的第一個(gè)關(guān)鍵幀的所述均方誤差恰好等于第一閾值,本領(lǐng)域技術(shù)人員可以根據(jù)需求或場(chǎng)景等自行確定此時(shí)該執(zhí)行何種操作,對(duì)此本發(fā)明實(shí)施例并不進(jìn)行限制。
在本實(shí)施例中,借助相鄰視頻幀畫面中心區(qū)域的中心梯度直方圖,可以定位出那些發(fā)生了場(chǎng)景切換的視頻幀也即關(guān)鍵幀。此外,通過對(duì)關(guān)鍵幀進(jìn)行過濾,可以有效的濾除一些重復(fù)的或無(wú)意義的關(guān)鍵幀,從而有助于提高后續(xù)處理的效率。
實(shí)施例三
圖5是根據(jù)本發(fā)明又一示例性實(shí)施例示出的一種生成視頻摘要視點(diǎn)圖的方法的流程圖。本實(shí)施例基于實(shí)施例一或?qū)嵤├?/p>
在其他一些實(shí)施例中,可以將提取的所有關(guān)鍵幀直接作為所述視頻的摘要視點(diǎn)圖。不過在本實(shí)施例中,也可以將關(guān)鍵幀進(jìn)行處理后再作為摘要視點(diǎn)圖。參見圖5所示,在本實(shí)施例中,根據(jù)提取的所有所述關(guān)鍵幀生成所述視頻的摘要視點(diǎn)圖,可以包括:
步驟S501,獲取每個(gè)所述關(guān)鍵幀在不同分辨率下的縮略圖。
步驟S502,將同一分辨率下的所有縮略圖作為所述視頻在所述分辨率下的摘要視點(diǎn)圖。
這是因?yàn)椋煌目蛻舳酥С值姆直媛士赡懿煌?,例如?duì)于同一視頻來(lái)講,在電視上播放的是該視頻的一種分辨率,而在手機(jī)上播放時(shí)又是另一種分辨率。所以為了使各種客戶端均可以順利應(yīng)用摘要視點(diǎn)圖,在將關(guān)鍵幀轉(zhuǎn)換為摘要視點(diǎn)圖時(shí),可以根據(jù)不同分辨率對(duì)關(guān)鍵幀進(jìn)行處理,從而得到同一關(guān)鍵幀的多種縮略圖,這樣對(duì)于同一視頻也就可以得到多套縮略圖,以適應(yīng)不同的分辨率,滿足不同場(chǎng)合不同用戶的需求。
另外,參見圖6所示,在本實(shí)施例或本發(fā)明其他某些實(shí)施例中,鑒于視頻的摘要視點(diǎn)圖可能包含了眾多圖片,為了節(jié)省存儲(chǔ)空間及便于管理,在將同一分辨率下的所有縮略圖作為所述視頻在所述分辨率下的摘要視點(diǎn)圖之后,可以進(jìn)一步通過下面這種方式對(duì)一個(gè)視頻的摘要視點(diǎn)圖進(jìn)行壓縮:
步驟S601,將同一分辨率下的所有縮略圖組成一張圖片,并生成與所述圖片對(duì)應(yīng)的系統(tǒng)文件,其中所述系統(tǒng)文件中至少包括每個(gè)縮略圖在所述圖片中的位置信息;
步驟S602,存儲(chǔ)所述圖片及所述系統(tǒng)文件。
例如,對(duì)關(guān)鍵幀可以進(jìn)行插值降采樣,使之形成滿足客戶端視點(diǎn)圖大小的縮略圖。然后按照時(shí)間關(guān)系組合成一張N×M的大圖,即這張大圖由N×M張小圖排列而成。同時(shí)生成一個(gè)系統(tǒng)文件,用于記錄此大圖的各類信息,例如可以包括視頻信息、小圖分辨率信息、小圖排列信息、每個(gè)小圖的相對(duì)位置及所對(duì)應(yīng)的時(shí)間戳信息,等等。
此外參見圖7所示,存儲(chǔ)所述圖片及所述系統(tǒng)文件之后,所述方法還可以包括:
步驟S701,接收客戶端對(duì)所述視頻的摘要視點(diǎn)圖的請(qǐng)求。
例如,客戶端可以是手機(jī)、平板電腦、個(gè)人電腦、電視、投影器等終端設(shè)備。
步驟S702,獲取所述客戶端所對(duì)應(yīng)的分辨率。
步驟S703,獲取所存儲(chǔ)的所述分辨率下的所述圖片及對(duì)應(yīng)的系統(tǒng)文件。
步驟S704,根據(jù)所述系統(tǒng)文件將所述圖片拆分為縮略圖并發(fā)送給所述客戶端。
作為示例可參見圖8所示,在圖8中,服務(wù)器801為某視頻生成了多套摘要視點(diǎn)圖后,可以根據(jù)不同客戶端如手機(jī)802或電視803的請(qǐng)求,將相應(yīng)的縮略圖發(fā)送給客戶端。這樣客戶端將各縮略圖鏈接到進(jìn)度條上后,用戶便可以通過查看縮略圖對(duì)視頻進(jìn)行快速瀏覽了。
在本實(shí)施例中,在生成摘要視點(diǎn)圖時(shí)還考慮了不同分辨率的問題,生成了多套摘要視點(diǎn)圖,從而滿足了各類客戶端的需要。此外,在本實(shí)施例中,對(duì)摘要視點(diǎn)圖采取了存儲(chǔ)時(shí)組合成大圖存儲(chǔ)、使用時(shí)再拆分成小圖進(jìn)行發(fā)送的存儲(chǔ)管理方式,節(jié)省了存儲(chǔ)空間,也方便了管理。
下述為本發(fā)明裝置實(shí)施例,可以用于執(zhí)行本發(fā)明方法實(shí)施例。對(duì)于本發(fā)明裝置實(shí)施例中未披露的細(xì)節(jié),請(qǐng)參照本發(fā)明方法實(shí)施例。
圖9是根據(jù)本發(fā)明一示例性實(shí)施例示出的一種生成視頻摘要視點(diǎn)圖的裝置的示意圖。該裝置例如可以用于具有一定計(jì)算能力的手機(jī)、平板電腦、個(gè)人電腦、電視、服務(wù)器等設(shè)備。
參見圖9所示,該裝置可以包括:
視頻劃分模塊901,用于將視頻劃分為多個(gè)視頻片段。
為了得到摘要視點(diǎn)圖,在本發(fā)明實(shí)施例中首先將視頻劃分為多個(gè)視頻片段。視頻片段又可稱為視頻切片。出于提高視頻轉(zhuǎn)碼速度和分發(fā)速度以及需要加密等原因,在對(duì)視頻進(jìn)行處理時(shí)可以先根據(jù)視頻的長(zhǎng)度做出視頻切片。每個(gè)視頻片段的長(zhǎng)度可以根據(jù)需求等由技術(shù)人員自行指定。通常來(lái)講越長(zhǎng)的視頻,視頻片段也就越多。當(dāng)把視頻切分為多個(gè)視頻片段后,便可對(duì)各視頻片段進(jìn)行并行處理,從而有助于提高處理效率。
關(guān)鍵幀提取模塊902,用于對(duì)于每個(gè)所述視頻片段,如果所述視頻片段內(nèi)包含關(guān)鍵幀,則提取所述關(guān)鍵幀,其中所述關(guān)鍵幀為視頻畫面中發(fā)生場(chǎng)景變化時(shí)的視頻幀。
對(duì)于如何判斷畫面中是否發(fā)生場(chǎng)景變化,本實(shí)施例并不進(jìn)行限制,例如可以使用幀差法、直方圖法、邊緣計(jì)算等多種方法,本領(lǐng)域技術(shù)人員可以根據(jù)不同需求\不同場(chǎng)景而自行選擇、設(shè)計(jì),可以在此處使用的這些選擇和設(shè)計(jì)都沒有背離本發(fā)明的精神和保護(hù)范圍。
摘要視點(diǎn)圖生成模塊903,用于根據(jù)提取的所有所述關(guān)鍵幀生成所述視頻的摘要視點(diǎn)圖。
參見圖10所示,在本實(shí)施例或本發(fā)明其他某些實(shí)施例中,所述關(guān)鍵幀提取模塊可以包括:
視頻幀處理子模塊1001,用于將所述視頻片段中的每個(gè)視頻幀切分為多個(gè)畫面子塊,根據(jù)預(yù)設(shè)算法,獲取每個(gè)視頻幀的中心子塊的中心梯度直方圖,其中所述中心子塊為位于中心區(qū)域的畫面子塊;
關(guān)鍵幀判斷子模塊1002,用于判斷相鄰兩個(gè)視頻幀的中心梯度直方圖的均方誤差是否大于第一閾值,如果所述均方誤差大于所述第一閾值,則提取所述相鄰兩個(gè)視頻幀中的一個(gè)或兩個(gè)視頻幀作為關(guān)鍵幀。
換句話說,當(dāng)相鄰的前后兩個(gè)視頻幀a、b的均方誤差大于第一閾值時(shí),可以認(rèn)為視頻畫面在從視頻幀a到視頻幀b的過程中發(fā)生了場(chǎng)景變化,或者說是發(fā)生了鏡頭切換??蓪⒁曨l幀b作為關(guān)鍵幀,當(dāng)然也可以將視頻a作為關(guān)鍵幀,或者將視頻幀a、b均作為關(guān)鍵幀,對(duì)此本實(shí)施例并不進(jìn)行限制,本領(lǐng)域技術(shù)人員可以根據(jù)場(chǎng)景或需求而自行決定。
在本實(shí)施例中,借助相鄰視頻幀畫面中心區(qū)域的中心梯度直方圖,可以定位出那些發(fā)生了場(chǎng)景切換的視頻幀也即關(guān)鍵幀。此外,通過對(duì)關(guān)鍵幀進(jìn)行過濾,可以有效的濾除一些重復(fù)的或無(wú)意義的關(guān)鍵幀,從而有助于提高后續(xù)處理的效率。
參見圖11所示,在本實(shí)施例或本發(fā)明其他某些實(shí)施例中,所述裝置還可以包括:
第一關(guān)鍵幀過濾模塊1101,用于在所述摘要視點(diǎn)圖根據(jù)提取的所有所述關(guān)鍵幀生成所述視頻的摘要視點(diǎn)圖之前,判斷相鄰兩個(gè)視頻片段中前一視頻片段的最后一個(gè)關(guān)鍵幀和后一視頻片段的第一個(gè)關(guān)鍵幀的所述均方誤差是否大于所述第一閾值,如果不大于所述第一閾值,則濾除前一視頻片段的最后一個(gè)關(guān)鍵幀或者后一視頻片段的第一個(gè)關(guān)鍵幀。
這樣便可以濾除掉在視頻切片位置處前后重復(fù)的關(guān)鍵幀。
參見圖12所示,在本實(shí)施例或本發(fā)明其他某些實(shí)施例中,所述裝置還可以包括:
第二關(guān)鍵幀過濾模塊1201,用于在所述摘要視點(diǎn)圖根據(jù)提取的所有所述關(guān)鍵幀生成所述視頻的摘要視點(diǎn)圖之前,計(jì)算每個(gè)關(guān)鍵幀的信噪比,濾除信噪比小于第二閾值的關(guān)鍵幀。
這樣便可以濾除那些全黑或空白等關(guān)鍵幀,因?yàn)檫@些關(guān)鍵幀并未提供有價(jià)值的信息。
在本實(shí)施例或本發(fā)明其他某些實(shí)施例中,所述摘要視點(diǎn)圖生成模塊具體可以用于:
獲取每個(gè)所述關(guān)鍵幀在不同分辨率下的縮略圖;
將同一分辨率下的所有縮略圖作為所述視頻在所述分辨率下的摘要視點(diǎn)圖。
在其他一些實(shí)施例中,可以將提取的所有關(guān)鍵幀直接作為所述視頻的摘要視點(diǎn)圖。不過在本實(shí)施例中,也可以將關(guān)鍵幀進(jìn)行處理后再作為摘要視點(diǎn)圖。因此在本實(shí)施例中,根據(jù)提取的所有所述關(guān)鍵幀生成所述視頻的摘要視點(diǎn)圖,可以包括:
獲取每個(gè)所述關(guān)鍵幀在不同分辨率下的縮略圖;
將同一分辨率下的所有縮略圖作為所述視頻在所述分辨率下的摘要視點(diǎn)圖。
這是因?yàn)?,不同的客戶端支持的分辨率可能不同,例如?duì)于同一視頻來(lái)講,在電視上播放的是該視頻的一種分辨率,而在手機(jī)上播放時(shí)又是另一種分辨率。所以為了使各種客戶端均可以順利應(yīng)用摘要視點(diǎn)圖,在將關(guān)鍵幀轉(zhuǎn)換為摘要視點(diǎn)圖時(shí),可以根據(jù)不同分辨率對(duì)關(guān)鍵幀進(jìn)行處理,從而得到同一關(guān)鍵幀的多種縮略圖,這樣對(duì)于同一視頻也就可以得到多套縮略圖,以適應(yīng)不同的分辨率,滿足不同場(chǎng)合不同用戶的需求。
另外,在本實(shí)施例或本發(fā)明其他某些實(shí)施例中,鑒于視頻的摘要視點(diǎn)圖可能包含了眾多圖片,為了節(jié)省存儲(chǔ)空間及便于管理,在將同一分辨率下的所有縮略圖作為所述視頻在所述分辨率下的摘要視點(diǎn)圖之后,摘要視點(diǎn)圖生成模塊可以進(jìn)一步通過下面這種方式對(duì)一個(gè)視頻的摘要視點(diǎn)圖進(jìn)行壓縮:
將同一分辨率下的所有縮略圖組成一張圖片,并生成與所述圖片對(duì)應(yīng)的系統(tǒng)文件,其中所述系統(tǒng)文件中至少包括每個(gè)縮略圖在所述圖片中的位置信息;
存儲(chǔ)所述圖片及所述系統(tǒng)文件。
此外,存儲(chǔ)所述圖片及所述系統(tǒng)文件之后,所述摘要視點(diǎn)圖生成模塊還可以用于:
接收客戶端對(duì)所述視頻的摘要視點(diǎn)圖的請(qǐng)求;
獲取所述客戶端所對(duì)應(yīng)的分辨率;
獲取所存儲(chǔ)的所述分辨率下的所述圖片及對(duì)應(yīng)的系統(tǒng)文件;
根據(jù)所述系統(tǒng)文件將所述圖片拆分為縮略圖并發(fā)送給所述客戶端。
這樣,在生成摘要視點(diǎn)圖時(shí)還考慮了不同分辨率的問題,生成了多套摘要視點(diǎn)圖,從而滿足了各類客戶端的需要。此外,在本實(shí)施例中,對(duì)摘要視點(diǎn)圖采取了存儲(chǔ)時(shí)組合成大圖存儲(chǔ)、使用時(shí)再拆分成小圖進(jìn)行發(fā)送的存儲(chǔ)管理方式,節(jié)省了存儲(chǔ)空間,也方便了管理。
關(guān)于上述實(shí)施例中的裝置,其中各個(gè)單元\模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
本發(fā)明實(shí)施例還公開了一種非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì),存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令設(shè)置為:
將視頻劃分為多個(gè)視頻片段;
對(duì)于每個(gè)所述視頻片段:如果所述視頻片段內(nèi)包含關(guān)鍵幀,則提取所述關(guān)鍵幀,其中所述關(guān)鍵幀為視頻畫面中發(fā)生場(chǎng)景變化時(shí)的視頻幀;
根據(jù)提取的所有所述關(guān)鍵幀生成所述視頻的摘要視點(diǎn)圖。
圖13是根據(jù)本發(fā)明一示例性實(shí)施例示出的執(zhí)行生成視頻摘要視點(diǎn)圖的方法的電子設(shè)備的硬件結(jié)構(gòu)示意圖,如圖13所示,該設(shè)備包括:
一個(gè)或多個(gè)處理器1310以及存儲(chǔ)器1320,圖13中以一個(gè)處理器1310為例。
執(zhí)行生成視頻摘要視點(diǎn)圖的方法的電子設(shè)備還可以包括:輸入裝置1330和輸出裝置1340。
處理器1310、存儲(chǔ)器1320、輸入裝置1330和輸出裝置1340可以通過總線或者其他方式連接,圖13中以通過總線連接為例。
存儲(chǔ)器1320作為一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可用于存儲(chǔ)非易失性軟件程序、非易失性計(jì)算機(jī)可執(zhí)行程序以及模塊,如本發(fā)明實(shí)施例中的生成視頻摘要視點(diǎn)圖的方法對(duì)應(yīng)的程序指令/模塊(例如,附圖9所示的視頻劃分模塊901、關(guān)鍵幀提取模塊902和摘要視點(diǎn)圖生成模塊903)。處理器1310通過運(yùn)行存儲(chǔ)在存儲(chǔ)器1320中的非易失性軟件程序、指令以及模塊,從而執(zhí)行服務(wù)器的各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述方法實(shí)施例生成視頻摘要視點(diǎn)圖的方法。
存儲(chǔ)器1320可以包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需要的應(yīng)用程序;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)生成視頻摘要視點(diǎn)圖的裝置的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲(chǔ)器1320可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他非易失性固態(tài)存儲(chǔ)器件。在一些實(shí)施例中,存儲(chǔ)器1320可選包括相對(duì)于處理器1310遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過網(wǎng)絡(luò)連接至生成視頻摘要視點(diǎn)圖的裝置。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
輸入裝置1330可接收視頻文件等數(shù)據(jù)、信息或指令。輸出裝置1340可包括顯示屏等顯示設(shè)備,和\或,有線或無(wú)線網(wǎng)絡(luò)接口等通訊端口。
所述一個(gè)或者多個(gè)模塊存儲(chǔ)在所述存儲(chǔ)器1320中,當(dāng)被所述一個(gè)或者多個(gè)處理器1310執(zhí)行時(shí),執(zhí)行上述任意方法實(shí)施例中的生成視頻摘要視點(diǎn)圖的方法。
上述產(chǎn)品可執(zhí)行本發(fā)明實(shí)施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。未在本實(shí)施例中詳盡描述的技術(shù)細(xì)節(jié),可參見本發(fā)明實(shí)施例所提供的方法。
本發(fā)明實(shí)施例的電子設(shè)備以多種形式存在,包括但不限于:
移動(dòng)通信設(shè)備:這類設(shè)備的特點(diǎn)是具備移動(dòng)通信功能,并且以提供話音、數(shù)據(jù)通信為主要目標(biāo)。這類終端包括:智能手機(jī)(例如iPhone)、多媒體手機(jī)、功能性手機(jī),以及低端手機(jī)等。
超移動(dòng)個(gè)人計(jì)算機(jī)設(shè)備:這類設(shè)備屬于個(gè)人計(jì)算機(jī)的范疇,有計(jì)算和處理功能,一般也具備移動(dòng)上網(wǎng)特性。這類終端包括:PDA、MID和UMPC設(shè)備等,例如iPad。
便攜式娛樂設(shè)備:這類設(shè)備可以顯示和播放多媒體內(nèi)容。該類設(shè)備包括:音頻、視頻播放器(例如iPod),掌上游戲機(jī),電子書,以及智能玩具和便攜式車載導(dǎo)航設(shè)備。
服務(wù)器:提供計(jì)算服務(wù)的設(shè)備,服務(wù)器的構(gòu)成包括處理器、硬盤、內(nèi)存、系統(tǒng)總線等,服務(wù)器和通用的計(jì)算機(jī)架構(gòu)類似,但是由于需要提供高可靠的服務(wù),因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴(kuò)展性、可管理性等方面要求較高。
其他具有數(shù)據(jù)交互功能的電子裝置。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對(duì)相關(guān)技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。