一像素點(diǎn),確定后一幀視頻幀中與所述第一像素點(diǎn)相對(duì)應(yīng)的像素點(diǎn)為第二像素點(diǎn),所述第一像素點(diǎn)和第二像素點(diǎn)的灰度值之差為時(shí)間對(duì)比值;
[0153]所述時(shí)間梯度矢量計(jì)算子模塊3043:用于根據(jù)所述時(shí)間對(duì)比值,確定所述第一像素點(diǎn)的時(shí)間梯度矢量;
[0154]所述運(yùn)動(dòng)顯著度計(jì)算子模塊3044:用于根據(jù)所述第一像素點(diǎn)的時(shí)間梯度矢量,確定所述第一像素點(diǎn)的運(yùn)動(dòng)顯著度;
[0155]所述運(yùn)動(dòng)顯著度矩陣確定子模塊3045:用于根據(jù)所述預(yù)設(shè)的運(yùn)動(dòng)顯著度算法,確定所述當(dāng)前視頻幀中所有像素點(diǎn)的時(shí)間梯度矢量,根據(jù)所述確定的當(dāng)前視頻幀中所有像素點(diǎn)的時(shí)間梯度矢量,確定所述當(dāng)前視頻幀的運(yùn)動(dòng)顯著度矩陣;
[0156]所述運(yùn)動(dòng)顯著度值計(jì)算子模塊3046:用于將所述當(dāng)前視頻幀的運(yùn)動(dòng)顯著度矩陣歸一化,并計(jì)算得到當(dāng)前視頻幀的運(yùn)動(dòng)顯著度矩陣的平均值,將所述平均值確定為當(dāng)前視頻幀的運(yùn)動(dòng)顯著度值。
[0157]具體的,所述時(shí)間梯度矢量計(jì)算子模塊3043,具體用于:
[0158]根據(jù)預(yù)設(shè)鄰域范圍,確定所述第二像素點(diǎn)的鄰域,計(jì)算第一像素點(diǎn)和所述第二像素點(diǎn)的鄰域的時(shí)間對(duì)比值矩陣,將所述矩陣確定為第一像素點(diǎn)的時(shí)間梯度矢量。
[0159]具體的,所述運(yùn)動(dòng)顯著度計(jì)算子模塊3046,具體用于:
[0160]根據(jù)計(jì)算第一像素點(diǎn)的時(shí)間梯度矢量的運(yùn)算方法,計(jì)算第二像素點(diǎn)的時(shí)間梯度矢量;
[0161]確定第一像素點(diǎn)的時(shí)間梯度矢量與第二像素點(diǎn)的時(shí)間梯度矢量之差的模為第一像素點(diǎn)的運(yùn)動(dòng)顯著度。
[0162]差值計(jì)算模塊305:用于基于所述運(yùn)動(dòng)顯著度值,計(jì)算每一幀的運(yùn)動(dòng)顯著度值與首幀的運(yùn)動(dòng)顯著度值的差值。
[0163]關(guān)鍵幀確定模塊306:用于將所述差值的絕對(duì)值最大的一幀確定為關(guān)鍵幀。
[0164]具體的,所述關(guān)鍵幀確定模塊306,具體用于:
[0165]判斷所述差值是否大于或者等于預(yù)設(shè)第一閾值,如果是,確定所述預(yù)選定視頻幀中與首幀的運(yùn)動(dòng)顯著度值的差值的絕對(duì)值最大的一幀為關(guān)鍵幀。
[0166]具體的,所述關(guān)鍵幀確定模塊306:還用于所述關(guān)鍵幀確定模塊在確定所述預(yù)選定視頻幀中與首幀的運(yùn)動(dòng)顯著度值的差值的絕對(duì)值最大的一幀為關(guān)鍵幀之后,計(jì)算每一幀的運(yùn)動(dòng)顯著度值與所述關(guān)鍵幀的運(yùn)動(dòng)顯著度值的差值;
[0167]確定每一幀的運(yùn)動(dòng)顯著度值與所述關(guān)鍵幀的運(yùn)動(dòng)顯著度值的差值的絕對(duì)值大于或者等于所述第一閾值的視頻幀為第二預(yù)選定視頻幀,其中,所述第二預(yù)選定視頻幀中不包含首幀;
[0168]確定所述第二預(yù)選定視頻幀中與關(guān)鍵幀的運(yùn)動(dòng)顯著度值的差值的絕對(duì)值最大的一幀為第二關(guān)鍵幀。
[0169]視頻第二裁剪模塊307:用于根據(jù)所述關(guān)鍵幀在視頻片段中的位置,將所述第一視頻片段裁剪出片頭和片尾。
[0170]具體的,所述視頻第二裁剪模塊307,具體用于:
[0171]根據(jù)所述確定的關(guān)鍵幀,從所述關(guān)鍵幀與其后一幀中間位置,將所述第一視頻片段裁剪出片頭和片尾。
[0172]具體的,所述視頻第二裁剪模塊307,具體用于:
[0173]根據(jù)所述確定的關(guān)鍵幀和第二關(guān)鍵幀,從兩個(gè)關(guān)鍵幀之間,將所述第一視頻片段裁剪出片頭和片尾。
[0174]應(yīng)用圖3所述實(shí)施例,可以將視頻片段轉(zhuǎn)換成視頻幀,以視頻幀級(jí)別對(duì)視頻進(jìn)行裁剪,使對(duì)視頻裁剪的技術(shù)更加精確,避免了視頻在不同碼流的情況下,裁剪的位置出現(xiàn)偏差的情況,并且解決了出現(xiàn)視頻剪多或剪少的問題,避免了視頻播完且?guī)в胁煌R頭導(dǎo)致剪多的特殊情況。
[0175]對(duì)于系統(tǒng)/裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0176]圖4為本發(fā)明實(shí)施例提供的另一種視頻裁剪的裝置的結(jié)構(gòu)示意圖,與圖2所示流程相對(duì)應(yīng),所述裝置包括:視頻第一裁剪模塊401、第一視頻片段獲取模塊402、視頻幀生成模塊403、計(jì)算模塊404、差值計(jì)算模塊405、判斷模塊406、視頻第二裁剪模塊407和視頻第三裁剪模塊408,
[0177]視頻第一裁剪模塊401:用于獲取待裁剪的視頻,將所述待裁剪的視頻按預(yù)設(shè)時(shí)長(zhǎng)平均分成多個(gè)視頻片段,將所述視頻片段按視頻播放順序排列。
[0178]第一視頻片段獲取模塊402:用于獲得用戶指定的包含片頭和片尾的第一視頻片段。
[0179]視頻幀生成模塊403:用于將所述第一視頻片段進(jìn)行轉(zhuǎn)碼處理,生成多個(gè)視頻幀。
[0180]計(jì)算模塊404:用于按照預(yù)設(shè)的運(yùn)動(dòng)顯著度算法,計(jì)算得到每個(gè)視頻幀的運(yùn)動(dòng)顯著度值。
[0181]差值計(jì)算模塊405:用于基于所述運(yùn)動(dòng)顯著度值,計(jì)算每一幀的運(yùn)動(dòng)顯著度值與首幀的運(yùn)動(dòng)顯著度值的差值。
[0182]判斷模塊406:用于判斷所述差值是否大于或者等于預(yù)設(shè)第一閾值,當(dāng)所述差值的絕對(duì)值的最大值大于或者等于所述預(yù)設(shè)第一閾值時(shí),觸發(fā)視頻第二裁剪模塊407;當(dāng)所述差值的絕對(duì)值的最大值小于所述預(yù)設(shè)第一閾值時(shí),觸發(fā)視頻第三裁剪模塊408。
[0183]所述視頻第二裁剪模塊407:用于確定所述預(yù)選定視頻幀中與首幀的運(yùn)動(dòng)顯著度值的差值的絕對(duì)值最大的一幀為關(guān)鍵幀,根據(jù)所述關(guān)鍵幀在視頻片段中的位置,將所述第一視頻片段裁剪出片頭和片尾。
[0184]所述視頻第三裁剪模塊408包括音頻識(shí)別子模塊4081和視頻裁剪子模塊4082,
[0185]所述音頻識(shí)別子模塊4081:用于根據(jù)所述第一視頻片段的聲波變動(dòng),繪制所述第一視頻片段的音頻波動(dòng)圖,識(shí)別音頻波動(dòng)圖中音頻振幅為零的位置,找出音頻振幅為零的且時(shí)長(zhǎng)大于或者等于預(yù)設(shè)時(shí)長(zhǎng)閾值的時(shí)間段的起始時(shí)間和終止時(shí)間;
[0186]所述視頻裁剪子模塊4082:用于根據(jù)所述起始時(shí)間和終止時(shí)間確定時(shí)間區(qū)域,根據(jù)所述時(shí)間區(qū)域,將所述第一視頻片段裁剪出片頭和片尾。
[0187]應(yīng)用本發(fā)明實(shí)施例,可以將視頻片段轉(zhuǎn)換成視頻幀,以視頻幀級(jí)別對(duì)視頻進(jìn)行裁剪,使對(duì)視頻裁剪的技術(shù)更加精確,避免了視頻在不同碼流的情況下,裁剪的位置出現(xiàn)偏差的情況,并且解決了出現(xiàn)視頻剪多或剪少的問題,避免了視頻播完且?guī)в胁煌R頭導(dǎo)致剪多的特殊情況;通過音頻識(shí)別裁剪視頻片段,避免了通過視頻幀不能分辨出裁剪位置,而導(dǎo)致視頻裁剪不精確的問題,更加提高了視頻裁剪的精確度。
[0188]對(duì)于系統(tǒng)/裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0189]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0190]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施方式中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,這里所稱得的存儲(chǔ)介質(zhì),如:R0M/RAM、磁碟、光盤等。
[0191]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種視頻裁剪的方法,其特征在于,所述方法包括步驟: 獲取待裁剪的視頻,將所述待裁剪的視頻按預(yù)設(shè)時(shí)長(zhǎng)平均分成多個(gè)視頻片段,將所述視頻片段按視頻播放順序排列; 獲得用戶指定的包含片頭和片尾的第一視頻片段; 將所述第一視頻片段進(jìn)行轉(zhuǎn)碼處理,生成多個(gè)視頻幀; 按照預(yù)設(shè)的運(yùn)動(dòng)顯著度算法,計(jì)算得到每個(gè)視頻幀的運(yùn)動(dòng)顯著度值; 基于所述運(yùn)動(dòng)顯著度值,計(jì)算每一幀的運(yùn)動(dòng)顯著度值與首幀的運(yùn)動(dòng)顯著度值的差值; 將所述差值的絕對(duì)值最大的一幀確定為關(guān)鍵幀; 根據(jù)所述關(guān)鍵幀在視頻片段中的位置,將所述第一視頻片段裁剪出片頭和片尾。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲得用戶指定的包含片頭和片尾的第一視頻片段,包括: 用戶根據(jù)所述按視頻播放順序排列的視頻片段進(jìn)行定位操作,所述定位操作包括:用戶根據(jù)視頻畫面預(yù)覽選定包含視頻片頭和片尾的視頻片段。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述按照預(yù)設(shè)的運(yùn)動(dòng)顯著度算法,計(jì)算得到每個(gè)視頻幀的運(yùn)動(dòng)顯著度值,包括: 從所述第一視頻片段的首幀起,依次確定為當(dāng)前視頻幀; 計(jì)算當(dāng)前視頻幀與后一幀視頻幀的時(shí)間對(duì)比值,所述時(shí)間對(duì)比值包括:選擇當(dāng)前視頻幀中任意一個(gè)像素點(diǎn)確定為第一像素點(diǎn),根據(jù)所述第一像素點(diǎn),確定后