亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種動態(tài)圖片的生成方法及裝置與流程

文檔序號:11931632閱讀:271來源:國知局
一種動態(tài)圖片的生成方法及裝置與流程

本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種動態(tài)圖片的生成方法及裝置。



背景技術(shù):

動態(tài)圖片由多幀靜態(tài)圖片組成,并按照一定的播放順序進(jìn)行顯示,計(jì)算機(jī)等設(shè)備可以將動態(tài)圖片中所包含的靜態(tài)圖片逐幀讀取出來并顯示到屏幕上,進(jìn)而展示出簡單的動畫,例如,常見的GIF(Graphics Interchange Format,圖像互換格式)圖片、WebP(谷歌開發(fā)的一種圖片格式)動態(tài)圖片等。目前,在各種網(wǎng)絡(luò)交流平臺中,動態(tài)圖片有著極為廣泛的使用率。

動態(tài)圖片可以由人工組合靜態(tài)圖片來獲得,也可以從視頻中截取視頻段來自動生成?,F(xiàn)有的通過從視頻中截取視頻段來自動生成動態(tài)圖片的方法中,首先需要從視頻中選擇適合生成動態(tài)圖片的視頻段,然后采用所選擇的視頻段生成動態(tài)圖片,達(dá)到從視頻中自動生成動態(tài)圖片的目的?,F(xiàn)有技術(shù)中,可以預(yù)先通過深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)來訓(xùn)練適合生成GIF圖片的視頻段模型,然后在動態(tài)圖片的具體生成方法中,直接用該模型來選擇適合生成動態(tài)圖片的視頻段。

應(yīng)用上述方式可以很好的生成GIF圖片,但是,對上述神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練時(shí),需要大量的動態(tài)圖片及其對應(yīng)的視頻源,訓(xùn)練過程不但需要大量的數(shù)據(jù),還需要消耗大量的計(jì)算資源。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例的目的在于提供一種動態(tài)圖片的生成方法及裝置,以在不需要訓(xùn)練視頻段模型的基礎(chǔ)上,實(shí)現(xiàn)從視頻中提取視頻段,并自動生成動態(tài)圖片的目的。具體技術(shù)方案如下:

為達(dá)上述目的,第一方面,本發(fā)明實(shí)施例提供了一種動態(tài)圖片的生成方法,所述方法包括:

確定目標(biāo)視頻中發(fā)生場景變化的目標(biāo)播放時(shí)刻;

以所述目標(biāo)播放時(shí)刻為分割點(diǎn),將所述目標(biāo)視頻劃分成視頻段;

分別根據(jù)劃分得到的每個視頻段,生成動態(tài)圖片。

優(yōu)選的,所述分別根據(jù)劃分得到的每個視頻段,生成動態(tài)圖片,包括:

針對每一視頻段,執(zhí)行下述操作:

從該視頻段包含的圖像中確定目標(biāo)圖像;

按照該視頻段中各個圖像的播放順序,分別判斷每一對相鄰的目標(biāo)圖像是否相似;

按照預(yù)設(shè)的選擇規(guī)則,從所確定的目標(biāo)圖像中選擇圖像,并根據(jù)所選擇的圖像確定第一類圖像組;其中,所述選擇規(guī)則為:所選擇的圖像中任意相鄰圖像相似,第一圖像與第二圖像不相似,或者所述第一圖像為該視頻段的第一幀圖像;第三圖像與第四圖像不相似,或者所述第三圖像為該視頻段的最后一幀圖像,所述第一圖像為:所選擇的圖像中的第一幀圖像,所述第二圖像為:該視頻段中所述第一圖像的前一幀圖像,所述第三圖像為:所選擇的圖像中的最后一幀圖像,所述第四圖像為:該視頻段中所述第三圖像的后一幀圖像;

基于所確定的第一類圖像組,生成動態(tài)圖片。

優(yōu)選的,所述從該視頻段包含的圖像中確定目標(biāo)圖像,包括:

從該視頻段包含的圖像中抽取圖像作為目標(biāo)圖像。

優(yōu)選的,所述按照該視頻段中各個圖像的播放順序,分別判斷每一對相鄰的目標(biāo)圖像是否相似,包括:

獲得每幀所確定的目標(biāo)圖像的縮略圖;

按照該視頻段中各個圖像的播放順序,分別判斷每一對相鄰的目標(biāo)圖像對應(yīng)的縮略圖是否相似;

若為是,判定相鄰的目標(biāo)圖像相似;

若為否,判定相鄰的目標(biāo)圖像不相似。

優(yōu)選的,所述分別判斷每一對相鄰的目標(biāo)圖像對應(yīng)的縮略圖是否相似,包括:

分別計(jì)算每一對相鄰的目標(biāo)圖像對應(yīng)的縮略圖之間的相似度量值;

判斷所述相似度量值是否大于預(yù)設(shè)閾值;

若為是,判定相鄰的目標(biāo)圖像分別對應(yīng)的縮略圖相似;

若為否,判定相鄰的目標(biāo)圖像分別對應(yīng)的縮略圖不相似。

第二方面,本發(fā)明實(shí)施例提供了一種動態(tài)圖片的生成裝置,所述裝置包括:

確定模塊,用于確定目標(biāo)視頻中發(fā)生場景變化的目標(biāo)播放時(shí)刻;

劃分模塊,用于以所述目標(biāo)播放時(shí)刻為分割點(diǎn),將所述目標(biāo)視頻劃分成視頻段;

生成模塊,用于分別根據(jù)劃分得到的每個視頻段,生成動態(tài)圖片。

優(yōu)選的,所述生成模塊,包括:

確定子模塊,用于分別針對每一視頻段,從視頻段包含的圖像中確定目標(biāo)圖像;

判斷子模塊,用于分別針對每一視頻段,按照視頻段中各個圖像的播放順序,分別判斷每一對相鄰的目標(biāo)圖像是否相似;

選擇子模塊,用于分別針對每一視頻段,按照預(yù)設(shè)的選擇規(guī)則,從所確定的目標(biāo)圖像中選擇圖像,并根據(jù)所選擇的圖像確定第一類圖像組;其中,所述選擇規(guī)則為:所選擇的圖像中任意相鄰圖像相似,第一圖像與第二圖像不相似,或者所述第一圖像為該視頻段的第一幀圖像;第三圖像與第四圖像不相似,或者所述第三圖像為該視頻段的最后一幀圖像,所述第一圖像為:所選擇的圖像中的第一幀圖像,所述第二圖像為:該視頻段中所述第一圖像的前一幀圖像,所述第三圖像為:所選擇的圖像中的最后一幀圖像,所述第四圖像為:該視頻段中所述第三圖像的后一幀圖像;

生成子模塊,用于分別針對每一視頻段,基于所確定的第一類圖像組,生成動態(tài)圖片。

優(yōu)選的,所述確定子模塊,具體用于:

從該視頻段包含的圖像中抽取圖像作為目標(biāo)圖像。

優(yōu)選的,所述判斷子模塊,包括:

獲得子單元,用于獲得每幀所確定的目標(biāo)圖像的縮略圖;

第一判斷子單元,用于分別針對每一視頻段,按照視頻段中各個圖像的播放順序,分別判斷每一對相鄰的目標(biāo)圖像對應(yīng)的縮略圖是否相似;

第一判定子單元,用于在所述第一判斷子單元的判斷結(jié)果為是的情況下,判定相鄰的目標(biāo)圖像相似;

第二判定子單元,用于在所述第一判斷子單元的判斷結(jié)果為否的情況下,判定相鄰的目標(biāo)圖像不相似。

優(yōu)選的,所述判斷子模塊,包括:

計(jì)算子單元,用于分別針對每一視頻段,按照視頻段中各個圖像的播放順序,分別計(jì)算每一對相鄰的目標(biāo)圖像對應(yīng)的縮略圖之間的相似度量值;

第二判斷子單元,用于判斷所述相似度量值是否大于預(yù)設(shè)閾值;

第三判定子單元,用于在所述第二判斷子單元的判斷結(jié)果為是的情況下,判定相鄰的目標(biāo)圖像分別對應(yīng)的縮略圖相似;

第四判定子單元,用于在所述第二判斷子單元的判斷結(jié)果為否的情況下,判定相鄰的目標(biāo)圖像分別對應(yīng)的縮略圖不相似。

由以上可見,本發(fā)明實(shí)施例提供的一種動態(tài)圖片的生成方法及裝置中,首先確定目標(biāo)視頻中發(fā)生場景變化的目標(biāo)播放時(shí)刻;然后以目標(biāo)播放時(shí)刻為分割點(diǎn),將目標(biāo)視頻劃分成視頻段;最后分別根據(jù)劃分得到的每個視頻段,生成動態(tài)圖片。本發(fā)明實(shí)施例以目標(biāo)播放時(shí)刻為分割點(diǎn),將目標(biāo)視頻劃分成多個視頻段,劃分出的每個視頻段即為適合生成動態(tài)圖片的視頻段,與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例在不需要訓(xùn)練視頻段模型的基礎(chǔ)上,實(shí)現(xiàn)從視頻中提取視頻段,并自動生成動態(tài)圖片的目的;而且本發(fā)明實(shí)施例對計(jì)算資源的需求少,可以直接在單機(jī)上完成從視頻中截取視頻段來自動生成動態(tài)圖片的操作。

當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品或方法必不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明一實(shí)施例提供的一種動態(tài)圖片的生成方法的流程示意圖;

圖2為本發(fā)明另一實(shí)施例提供的一種動態(tài)圖片的生成方法的流程示意圖;

圖3為本發(fā)明一實(shí)施例提供的一種動態(tài)圖片的生成裝置的結(jié)構(gòu)示意圖;

圖4為本發(fā)明另一實(shí)施例提供的一種動態(tài)圖片的生成裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

圖1為本發(fā)明一實(shí)施例提供的一種動態(tài)圖片的生成方法的流程示意圖,如圖1所示,該方法包括:

S101:確定目標(biāo)視頻中發(fā)生場景變化的目標(biāo)播放時(shí)刻。

通常情況下,視頻中相鄰幀之間的內(nèi)容具有相似性,然而在拍攝視頻時(shí)可能會存在從一個拍攝場景切換至另一拍攝場景的現(xiàn)象,或者后期進(jìn)行視頻制作時(shí)畫面內(nèi)容在兩個或者多個拍攝場景之間切換的現(xiàn)象,這樣相鄰兩幀之間的內(nèi)容差異較大。當(dāng)視頻中相鄰兩幀之間的內(nèi)容差異達(dá)到一定程度時(shí),可以認(rèn)為該視頻中發(fā)生了場景切換,即發(fā)生了上述場景變化。

應(yīng)該說明的是,上述發(fā)生場景變化的目標(biāo)播放時(shí)刻,又稱之為場景變化時(shí)間戳,該目標(biāo)播放時(shí)刻是相對于整個目標(biāo)視頻的播放時(shí)間確定的。

例如,對于時(shí)長為90分鐘的目標(biāo)視頻,假設(shè)存在一目標(biāo)播放時(shí)刻45分35秒,則表明該目標(biāo)播放時(shí)刻為目標(biāo)視頻播放的第45分35秒;再如,對于時(shí)長為60分鐘的目標(biāo)視頻,假設(shè)存在一目標(biāo)播放時(shí)刻23分06秒,則表明該目標(biāo)播放時(shí)刻為目標(biāo)視頻播放的第23分06秒。

在本發(fā)明實(shí)施例中,可以通過現(xiàn)有技術(shù)中的專業(yè)工具來檢測發(fā)生場景變化的時(shí)刻,例如:FFmpeg(一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計(jì)算機(jī)程序)提供了一個場景變化時(shí)間戳檢測功能,用于檢測場景變化的時(shí)刻;因此,此處可以通過FFmpeg確定目標(biāo)視頻中發(fā)生場景變化的所有目標(biāo)播放時(shí)刻。

當(dāng)然,實(shí)際應(yīng)用中,還可以直接利用相鄰兩幀之間的差異程度來判斷是否發(fā)生了場景切換,其中,上述差異程度可以根據(jù)相鄰兩幀的直方圖信息、各個編碼塊的運(yùn)動矢量信息等等進(jìn)行計(jì)算,本申請并不對此進(jìn)行限定。

S102:以目標(biāo)播放時(shí)刻為分割點(diǎn),將目標(biāo)視頻劃分成視頻段。

視頻中的場景變化往往會導(dǎo)致視頻的內(nèi)容類型發(fā)生變化,連續(xù)兩個場景變化時(shí)刻之間的視頻段,視頻背景沒有大的變化,連續(xù)兩個場景變化時(shí)刻之間的視頻段適合生成動態(tài)圖片。

應(yīng)該注意的是,劃分出的視頻段應(yīng)該是由相鄰的兩個目標(biāo)播放時(shí)刻確定,劃分出的視頻段中除前后兩端點(diǎn)外,不可以包含其它目標(biāo)播放時(shí)刻。例如,對于一時(shí)長為2分鐘的目標(biāo)視頻,確定的目標(biāo)播放時(shí)刻包括0分30秒、0分51秒、1分04秒;則此時(shí)可以劃分出的視頻段可以有0分0秒~0分30秒、0分30秒~0分51秒、0分51秒~1分04秒以及1分04秒~2分0秒;而0~0分51秒則不可以作為上述劃分出來的視頻段。

為便于進(jìn)行視頻段劃分,可以將目標(biāo)視頻的起始時(shí)刻確定為第一個目標(biāo)播放時(shí)刻,將目標(biāo)視頻的終止時(shí)刻確定為最后一個目標(biāo)播放時(shí)刻。

S103:分別根據(jù)劃分得到的每個視頻段,生成動態(tài)圖片。

動態(tài)圖片包括常見的GIF圖片、WebP動態(tài)圖片等,例如,對于GIF圖片自從1987年誕生,就成了互聯(lián)網(wǎng)上人們的一種表達(dá)方式,時(shí)隔近30年,如今的GIF圖片越來越火,微信、QQ、Line等社交應(yīng)用到處可見其蹤影,如該類社交應(yīng)用中的表情商城中的表情包、出現(xiàn)在各個網(wǎng)站上的GIF圖片。

應(yīng)該說明的是,對于一個視頻段,可以生成的動態(tài)圖片的數(shù)量是不限定的,可以是1組,也可以是多組,例如,對于某一視頻段,最終生成3組GIF圖片。

具體的,根據(jù)劃分得到的每個視頻段,生成動態(tài)圖片時(shí),可以根據(jù)視頻段中的原始圖像生成動態(tài)圖片,還可以先對視頻段中的原始圖像進(jìn)行縮放、裁剪、美化等處理,然后再根據(jù)上述處理后的圖像生成動態(tài)圖片,本發(fā)明實(shí)施例僅僅以此為例進(jìn)行說明,實(shí)際應(yīng)用中并不對此進(jìn)行限定。

另外,在確定了適合生成動態(tài)圖片的視頻段后,上述步驟S103的具體實(shí)現(xiàn)可以通過現(xiàn)有技術(shù),而在本發(fā)明實(shí)施例中,如圖2所示,上述分別根據(jù)劃分得到的每個視頻段,生成動態(tài)圖片(S103),可以包括:

針對每一視頻段,執(zhí)行下述操作:

S301:從該視頻段包含的圖像中確定目標(biāo)圖像。

在本發(fā)明實(shí)施例中,可以確定該視頻段所含的所有圖像為目標(biāo)圖像。

本領(lǐng)域內(nèi)技術(shù)人員可以理解的是,圖像的數(shù)據(jù)量較大,如果逐幀考慮視頻段中的每一幀圖像,易導(dǎo)致生成動態(tài)圖片的速度緩慢,為此可以按照預(yù)先設(shè)定的規(guī)則僅選擇視頻段中的一部分圖像,并將所選擇的圖像確定為目標(biāo)圖像。

在本發(fā)明實(shí)施例中,上述從該視頻段包含的圖像中確定目標(biāo)圖像(S301),可以包括:

從該視頻段包含的圖像中抽取圖像作為目標(biāo)圖像。

本領(lǐng)域技術(shù)人員可以理解的是,上述步驟可以看作一個抽幀處理,例如,對于連續(xù)播放的100幀圖像,編號分別為1~100,此時(shí)可以抽取編號為奇數(shù)的圖像作為目標(biāo)圖像;也可以抽取編號為偶數(shù)的圖像作為目標(biāo)圖像;還可以從編號為1的圖像開始,每間隔3幀抽取一張圖像,將抽取到的圖像作為目標(biāo)圖像。

S302:按照該視頻段中各個圖像的播放順序,分別判斷每一對相鄰的目標(biāo)圖像是否相似。

如上例,對于連續(xù)播放的100幀圖像,假設(shè)抽取編號為奇數(shù)的圖像作為目標(biāo)圖像,則相鄰的目標(biāo)圖像包括目標(biāo)圖像1和3、3和5、5和7、…、97和99。

應(yīng)該說明,此處的判斷每一對相鄰的目標(biāo)圖像是否相似,即確定每一對相鄰的目標(biāo)圖像的相似性。結(jié)合上述現(xiàn)有技術(shù)可以理解,視頻通常具有較高的幀速率,一般是每秒15或25幀,甚至更高,幀圖相似性檢測需要一定的計(jì)算量,所以在本發(fā)明實(shí)施例中,為了減少相似性檢測的計(jì)算量,采用了步驟S301的處理方式。

應(yīng)該說明的是,在本發(fā)明實(shí)施例中,僅確定相鄰的兩幀目標(biāo)圖像的相似,并不如現(xiàn)有技術(shù)一樣比較當(dāng)前幀與之前多幀圖像的相似度,進(jìn)一步減少了相似度的計(jì)算量。

另外,步驟S301所確定的目標(biāo)圖像的分辨率一般較高,所以為了進(jìn)一步降低相似性的計(jì)算量,在本發(fā)明實(shí)施例中,上述按照該視頻段中各個圖像的播放順序,分別判斷每一對相鄰的目標(biāo)圖像是否相似,可以包括:

獲得每幀所確定的目標(biāo)圖像的縮略圖;

按照該視頻段中各個圖像的播放順序,分別判斷每一對相鄰的目標(biāo)圖像對應(yīng)的縮略圖是否相似;

若為是,判定相鄰的目標(biāo)圖像相似;

若為否,判定相鄰的目標(biāo)圖像不相似。

應(yīng)該說明的是,上述獲得每幀所確定的目標(biāo)圖像的縮略圖,可以是在保持原有圖像的寬高比的情況下,將每幀目標(biāo)圖像的寬度縮小到預(yù)設(shè)數(shù)值,例如將原目標(biāo)圖像的寬縮小到100;也可以是直接將每幀目標(biāo)圖像縮小預(yù)設(shè)倍數(shù),例如直接將每幀目標(biāo)圖像縮小5倍。

本發(fā)明實(shí)施例中,上述分別判斷每一對相鄰的目標(biāo)圖像對應(yīng)的縮略圖是否相似,可以包括:

分別計(jì)算每一對相鄰的目標(biāo)圖像對應(yīng)的縮略圖之間的相似度量值;

判斷該相似度量值是否大于預(yù)設(shè)閾值;

若為是,判定相鄰的目標(biāo)圖像分別對應(yīng)的縮略圖相似;

若為否,判定相鄰的目標(biāo)圖像分別對應(yīng)的縮略圖不相似。

應(yīng)該說明的是,相似度量值的具體計(jì)算方法可以采用現(xiàn)有技術(shù),例如現(xiàn)有技術(shù)中通過均方誤差以及像素誤差百分比來確定相似度,而在本發(fā)明實(shí)施例中,還可以采用SSIM(structural similarity index,結(jié)構(gòu)相似性)算法來確定兩個縮略圖的相似度。

例如,預(yù)設(shè)閾值為x,現(xiàn)有兩張縮略圖1’和2’,其對應(yīng)的目標(biāo)圖像分別為圖像1和2,而通過SSIM算法計(jì)算獲得兩張縮略圖1’和2’的SSIM值為y:如果y大于x,則判定兩張縮略圖1’和2’相似,即目標(biāo)圖像1和2相似;否則,判定兩張縮略圖1’和2’不相似,即目標(biāo)圖像1和2不相似。

S303:按照預(yù)設(shè)的選擇規(guī)則,從所確定的目標(biāo)圖像中選擇圖像,并根據(jù)所選擇的圖像確定第一類圖像組。

其中,該選擇規(guī)則為:所選擇的圖像中任意相鄰圖像相似,第一圖像與第二圖像不相似,或者該第一圖像為該視頻段的第一幀圖像;第三圖像與第四圖像不相似,或者該第三圖像為該視頻段的最后一幀圖像,該第一圖像為:所選擇的圖像中的第一幀圖像,該第二圖像為:該視頻段中該第一圖像的前一幀圖像,該第三圖像為:所選擇的圖像中的最后一幀圖像,該第四圖像為:該視頻段中該第三圖像的后一幀圖像。

可以理解,在本發(fā)明實(shí)施例中,所確定的每一個第一類圖像組應(yīng)該至少滿足如下兩個條件:

一:第一類圖像組中的各個目標(biāo)圖像為連續(xù)相似幀。

二:第一類圖像組中的第一幀圖像為該視頻段的第一幀圖像,或者,第一類圖像組中的第一幀圖像與其前一幀圖像不相似;第一類圖像組中的最后一幀圖像為該視頻段的最后一幀圖像,或者,第一類圖像組中的最后一幀圖像與其后一幀圖像不相似。

例如,現(xiàn)有100幀目標(biāo)圖像,按照視頻播放順序,100幀目標(biāo)圖像的標(biāo)號分別為1~100,現(xiàn)確定1~45幀目標(biāo)圖像連續(xù)相似,第45幀目標(biāo)圖像與第46幀目標(biāo)圖像不相似,46~79幀目標(biāo)圖像相似,79~82幀目標(biāo)圖像均不相似,82~100幀目標(biāo)圖像連續(xù)相似;則此時(shí)確定的第一類圖像組可以有3組:1~45幀目標(biāo)圖像,46~79幀目標(biāo)圖像以及82~100幀目標(biāo)圖像。

從一個視頻段中確定第一類圖像組的完整操作具體可以如下:

第一步,輸入視頻段所包含的所有目標(biāo)圖像,以及目標(biāo)圖像的總數(shù)量N,將所有目標(biāo)圖像按照目標(biāo)視頻的播放順序編號為1、2、3、…、n,顯然的,從數(shù)值上看,N=n;

第二步,初始化連續(xù)相似幀的起始幀索引x=1,當(dāng)前幀索引y=1;

第三步,判斷當(dāng)前的y值是否小于n;如果是,執(zhí)行第四步,如果否,執(zhí)行第七步;

第四步,計(jì)算編號為y的目標(biāo)圖像對應(yīng)的縮略圖,與編號為y+1的目標(biāo)圖像對應(yīng)的縮略圖的相似度量值;

第五步,判斷計(jì)算出的相似度量值是否大于預(yù)設(shè)閾值;如果是,更新y=y(tǒng)+1,并返回執(zhí)行第三步,如果否,執(zhí)行第六步;

第六步,以當(dāng)前的第x幀目標(biāo)圖像為起始幀,當(dāng)前的第y幀目標(biāo)圖像為結(jié)束幀,記錄連續(xù)相似幀x~y;同時(shí),更新x=y(tǒng)+1,y=y(tǒng)+1,并返回執(zhí)行第三步;

第七步,結(jié)束整個過程,輸出記錄的所有連續(xù)相似幀。

應(yīng)該注意的是,在本發(fā)明實(shí)施例中,還可以限定第一圖像組中目標(biāo)圖像的數(shù)量下限,例如設(shè)置數(shù)量下限為5張,則表明最后確定的第一類圖像組中所包含的目標(biāo)圖像數(shù)量不應(yīng)小于5張。

S304:基于所確定的第一類圖像組,生成動態(tài)圖片。

對于每一個第一類圖像組,可以按照圖像組中的各個圖像在目標(biāo)視頻的播放順序排列起來,并設(shè)定動態(tài)圖片的幀速率以及設(shè)定是否循環(huán)。例如,對于第一類圖像組中的圖像1~20,可以設(shè)定幀速率為8幀每秒,并設(shè)定循環(huán)播放。

此外,如果第一類圖像組中所包含的圖像的數(shù)量過多,還可以設(shè)定一個數(shù)量上限,例如,設(shè)定的數(shù)量上限為20,現(xiàn)存在一第一類圖像組包含有30幀圖像,按照播放順序,該30幀圖像的編號分別為1~30,則此時(shí),可以從上述第一類圖像組選擇連續(xù)相似的20幀圖像,例如:1~20、6~25、11~30。

可以理解,在本發(fā)明實(shí)施例中,雖然通過連續(xù)兩個目標(biāo)播放時(shí)刻確定的視頻段中,視頻背景沒有大的變化,該視頻段適合生成動態(tài)圖片,但是這個具有一定的概率性,并不能保證視頻段中所有目標(biāo)圖像的背景沒有改變,所以引入了步驟S301~S303,更精確地找出視頻段中背景差不多的那些目標(biāo)圖像。

由以上可見,本發(fā)明實(shí)施例提供的一種動態(tài)圖片的生成方法及裝置中,首先確定目標(biāo)視頻中發(fā)生場景變化的目標(biāo)播放時(shí)刻;然后以目標(biāo)播放時(shí)刻為分割點(diǎn),將目標(biāo)視頻劃分成視頻段;最后分別根據(jù)劃分得到的每個視頻段,生成動態(tài)圖片。本發(fā)明實(shí)施例以目標(biāo)播放時(shí)刻為分割點(diǎn),將目標(biāo)視頻劃分成多個視頻段,劃分出的每個視頻段即為適合生成動態(tài)圖片的視頻段,與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例在不需要訓(xùn)練視頻段模型的基礎(chǔ)上,實(shí)現(xiàn)從視頻中提取視頻段,并自動生成動態(tài)圖片的目的;而且本發(fā)明實(shí)施例對計(jì)算資源的需求少,可以直接在單機(jī)上完成從視頻中截取視頻段來自動生成動態(tài)圖片的操作。

下面通過一具體實(shí)例來對本發(fā)明實(shí)施例進(jìn)行簡單介紹。

現(xiàn)有一目標(biāo)視頻,首先計(jì)算機(jī)可以使用FFmpeg工具檢測場景變化時(shí)間戳,即確定目標(biāo)視頻中發(fā)生場景變化的目標(biāo)播放時(shí)刻。

對應(yīng)的命令為:ffmpeg-i video_path-vf'select=gt(scene\,0.4),showinfo'-fnull-2>&1|awk-F'pts_time:″/pts_time:/{split($2,out,"");print out[1]}'

其中,video_path是視頻文件的路徑。這樣就得到了一個時(shí)間戳列表[t(0),t(1),t(2),...],每個時(shí)間戳表示新場景開始的時(shí)刻。

在上述時(shí)間戳列表中,時(shí)間戳t(k)與下一時(shí)間戳t(k+1)確定了一個視頻片段。以k=2為例,則確定一視頻段的對應(yīng)的播放時(shí)刻為t(2)~t(3),對該視頻片段使用FFmpeg做抽幀處理,按照下述命令抽取圖像作為目標(biāo)圖像:

ffmpeg-y-ss start_time-t duration-i video_path-lavfi'fps=8'%04d.png

其中,start_time為視頻片段開始時(shí)刻,也就是t(2),duration為視頻片段時(shí)長,也就是t(3)與t(2)的差值,video_path為目標(biāo)視頻文件的路徑,%04d.png為生成的幀圖的文件名模式。這樣,抽取的目標(biāo)圖像的文件名如下:

0001.png、0002.png、0003.png…

然后,對該視頻片段中抽取出來的每張目標(biāo)圖像,通過下述命令生成對應(yīng)的縮略圖:

命令為:mogrify-path thumbnail-resize 100-format png@images.txt

其中,mogrify是ImageMagick(一種圖片處理軟件)項(xiàng)目提供的一個圖片處理工具,thumbnail是縮略圖存放目錄,100表示將原圖保持寬高比縮放到寬度100,images.txt是輸入文本文件,文件內(nèi)容中的每一行是上一步驟抽取的目標(biāo)圖像的路徑。

生成縮略圖后,按縮略圖對應(yīng)的目標(biāo)圖像的播放順序遍歷縮略圖,使用SSIM算法計(jì)算當(dāng)前縮略圖與下一縮略圖之間的相似度量值,如果度量值大于預(yù)先設(shè)定的閾值,則認(rèn)為它們相似,否則認(rèn)為不相似;如果當(dāng)前縮略圖與下一縮略圖相似,則繼續(xù)比較下一縮略圖與下下個縮略圖,直到遇到不相似為止。以此確定第一類圖像組。

在本實(shí)例中,假設(shè)對于視頻片段A,確定了第一類圖像組a和b,則可以分別將第一類圖像組a和b中的所有目標(biāo)圖像生成GIF圖片。

具體的生成GIF圖片的命令為:

convert-delay 1x8-loop 0@images.txt result.gif

其中,convert是ImageMagick項(xiàng)目提供的另外一個圖片處理工具,1x8表示GIF圖片中每幀之間的延時(shí)時(shí)間,loop選項(xiàng)值為0表示GIF無限循環(huán)播放,images.txt是輸入文本文件,文件內(nèi)容中的每一行是連續(xù)相似幀的路徑,result.gif就是生成的GIF圖片了。

相應(yīng)于圖1所示方法實(shí)施例,如圖3所示,本發(fā)明實(shí)施例還提供了一種動態(tài)圖片的生成裝置,所述裝置包括:

確定模塊110,用于確定目標(biāo)視頻中發(fā)生場景變化的目標(biāo)播放時(shí)刻;

劃分模塊120,用于以所述目標(biāo)播放時(shí)刻為分割點(diǎn),將所述目標(biāo)視頻劃分成視頻段;

生成模塊130,用于分別根據(jù)劃分得到的每個視頻段,生成動態(tài)圖片。

相應(yīng)于圖2所示方法實(shí)施例,如圖4所示,在實(shí)際應(yīng)用中,所述生成模塊130,可以包括:

確定子模塊1301,用于分別針對每一視頻段,從視頻段包含的圖像中確定目標(biāo)圖像;

判斷子模塊1302,用于分別針對每一視頻段,按照視頻段中各個圖像的播放順序,分別判斷每一對相鄰的目標(biāo)圖像是否相似;

選擇子模塊1303,用于分別針對每一視頻段,按照預(yù)設(shè)的選擇規(guī)則,從所確定的目標(biāo)圖像中選擇圖像,并根據(jù)所選擇的圖像確定第一類圖像組;其中,所述選擇規(guī)則為:所選擇的圖像中任意相鄰圖像相似,第一圖像與第二圖像不相似,或者所述第一圖像為該視頻段的第一幀圖像;第三圖像與第四圖像不相似,或者所述第三圖像為該視頻段的最后一幀圖像,所述第一圖像為:所選擇的圖像中的第一幀圖像,所述第二圖像為:該視頻段中所述第一圖像的前一幀圖像,所述第三圖像為:所選擇的圖像中的最后一幀圖像,所述第四圖像為:該視頻段中所述第三圖像的后一幀圖像;

生成子模塊1304,用于分別針對每一視頻段,基于所確定的第一類圖像組,生成動態(tài)圖片。

在實(shí)際應(yīng)用中,所述確定子模塊1301,可以具體用于:

從該視頻段包含的圖像中抽取圖像作為目標(biāo)圖像。

在實(shí)際應(yīng)用中,所述判斷子模塊1302,可以包括獲得子單元、第一判斷子單元、第一判定子單元和第二判定子單元(圖中未示出):

獲得子單元,用于獲得每幀所確定的目標(biāo)圖像的縮略圖;

第一判斷子單元,用于分別針對每一視頻段,按照視頻段中各個圖像的播放順序,分別判斷每一對相鄰的目標(biāo)圖像對應(yīng)的縮略圖是否相似;

第一判定子單元,用于在所述第一判斷子單元的判斷結(jié)果為是的情況下,判定相鄰的目標(biāo)圖像相似;

第二判定子單元,用于在所述第一判斷子單元的判斷結(jié)果為否的情況下,判定相鄰的目標(biāo)圖像不相似。

在實(shí)際應(yīng)用中,所述判斷子模塊1302,可以包括計(jì)算子單元、第二判斷子單元、第三判定子單元和第四判定子單元(圖中未示出):

計(jì)算子單元,用于分別針對每一視頻段,按照視頻段中各個圖像的播放順序,分別計(jì)算每一對相鄰的目標(biāo)圖像對應(yīng)的縮略圖之間的相似度量值;

第二判斷子單元,用于判斷所述相似度量值是否大于預(yù)設(shè)閾值;

第三判定子單元,用于在所述第二判斷子單元的判斷結(jié)果為是的情況下,判定相鄰的目標(biāo)圖像分別對應(yīng)的縮略圖相似;

第四判定子單元,用于在所述第二判斷子單元的判斷結(jié)果為否的情況下,判定相鄰的目標(biāo)圖像分別對應(yīng)的縮略圖不相似。

由以上可見,本發(fā)明實(shí)施例提供的一種動態(tài)圖片的生成方法及裝置中,首先確定目標(biāo)視頻中發(fā)生場景變化的目標(biāo)播放時(shí)刻;然后以目標(biāo)播放時(shí)刻為分割點(diǎn),將目標(biāo)視頻劃分成視頻段;最后分別根據(jù)劃分得到的每個視頻段,生成動態(tài)圖片。本發(fā)明實(shí)施例以目標(biāo)播放時(shí)刻為分割點(diǎn),將目標(biāo)視頻劃分成多個視頻段,劃分出的每個視頻段即為適合生成動態(tài)圖片的視頻段,與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例在不需要訓(xùn)練視頻段模型的基礎(chǔ)上,實(shí)現(xiàn)從視頻中提取視頻段,并自動生成動態(tài)圖片的目的;而且本發(fā)明實(shí)施例對計(jì)算資源的需求少,可以直接在單機(jī)上完成從視頻中截取視頻段來自動生成動態(tài)圖片的操作。

需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。

本說明書中的各個實(shí)施例均采用相關(guān)的方式描述,各個實(shí)施例之間相同相似的部分互相參見即可,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。

以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1