預測宏塊。具體的,每 個宏塊的SAD值可以采用公式(1)進行計算:
[0061]
⑴
[0062] 其中,fm,n代表當前幀中選定宏塊的一個像素點的亮度值、色彩值或灰度值,f'm,n 代表上一幀中一個預測宏塊的一個像素點的亮度值、色彩值或灰度值,所述預測宏塊與選 定宏塊具有相同的像素點數(shù)并具有相同的像素點陣列排布,w代表選定宏塊中像素陣列的 行數(shù)及列數(shù)。
[0063] 以中心宏塊作為選定宏塊為例來具體說明,fm,n代表中心宏塊中第m行第n列個像 素點的亮度值、色彩值或灰度值,f' _代表上一幀中一個64*64像素點組成的宏塊中一個 像素點的亮度值、色彩值或灰度值,w的數(shù)值為64。
[0064] 上一幀畫面中具有多個預測宏塊,可以得出SAD值最小時對應的預測宏塊,SAD值 最小時對應的預測宏塊即為最佳匹配預測宏塊。所述最佳匹配預測宏塊為上一幀畫面中與 選定宏塊中畫面相同或者相近。
[0065] 其他的宏塊也可以采用相同方法得到對應的最佳匹配預測宏塊。
[0066] S103,計算每個宏塊與最佳匹配預測宏塊之間的運動向量,并得到當前幀畫面與 上一幀畫面之間的平均運動向量的模。
[0067] 當?shù)玫竭x定宏塊的最佳匹配預測宏塊之后,可以得到選定宏塊與最佳匹配預測宏 塊之間的運動向量,從而可以分別得到每個宏塊與上一幀中的最佳匹配預測宏塊之間的運 動向量 〇
[0068] 相鄰幀之間的平均運行動向量的模(MV)可以采用公式(2)計算得出。 _9]
⑴
[0070] kn表示第n個宏塊的權重。本實施方式中,n的取值為9。對于包括較多像素點的 宏塊,可以具有較大的權重,對于像素點較少的宏塊,可以具有較少的權重。如中心宏塊的 權重可以設為4,而邊緣宏塊的權重可以設為1。
[0071] S104,根據相鄰幀之間的平均運行動向量的模的數(shù)值,提取代表場景變化的幀畫 面。
[0072] 相鄰幀之間的平均運行動向量的模的數(shù)值越大,表面當前幀與上一幀的畫面發(fā)生 較大變化。
[0073] 本步驟可以預先設定閾值,當相鄰幀之間的平均運行動向量的模大于預定閾值 時,表明當前幀與上一幀之間畫面變化較大,可以選取當前幀作為代表場景變化的幀畫面。 對于閾值的選取,當視頻畫面尺寸較大時,閾值需設定相對較大。
[0074] 本步驟中,也可以選取相鄰幀之間的平均運行動向量的模的數(shù)值大的對應的若干 幀畫面作為代表場景變化的幀畫面??梢詫⑾噜弾g的平均運行動向量的模的數(shù)值排 序,選取其中數(shù)值大的對應的幀畫面作為代表場景變化的幀畫面。具體的,可以根據視頻的 長度選擇選取的數(shù)量,如對于10分鐘之內的視頻,可以選取5幀畫面,對于幾十分鐘的視 頻,可以選取10幀畫面。
[0075] S105,將提取的代表場景變化的幀畫面生成片頭。
[0076] 將抽取的幀畫面按照拍攝時間由先到后的順序,以預設時間間隔連接生成片頭。 由于片頭中各幀畫面之間可能是斷續(xù)的,所以需要預設一個幀與幀之間轉換的時間間隔, 優(yōu)選的,所述預設時間間隔為〇. 5秒,即每0. 5秒播放片頭中的一個畫面幀。
[0077] 還可以包括以下步驟:對生成的片頭設置標示,將標示顯示在片頭的視頻畫面上。 在整個視頻拍攝完畢以后,可以將片頭加到所拍攝的整個視頻前面,同時給出片頭的標示, 以提示觀看者。
[0078] 本實施方式提供的片頭的生成方法,由于通過計算相鄰幀之間的平均運行動向量 的模的數(shù)值,從而可以在一段視頻中提取場景變化的幀畫面,將這些場景變化的幀畫面制 作形成片頭能夠展現(xiàn)視頻中不同的場景,使觀影者了解視頻的內容。
[0079] 請參閱圖3,本技術方案第二實施方式提供一種片頭生成方法,用于提取代表矛盾 激發(fā)場面的幀畫面作為片頭的方法,包括步驟:
[0080] S201,將整個視頻進行分段。
[0081] 本步驟中,將視頻分割為分為多段。對正段視頻分段的多少可以根據視頻的長短 進行確定,使得每段包括相同數(shù)量的幀畫面。例如,每一段中可以包括連續(xù)的30幀畫面。 為了能夠更精準地別矛盾的場景,而不會將原來連續(xù)的矛盾場景分割在兩段內,可以使得 當前段的部分幀畫面與上一幀和下一幀的部分幀畫面重合。例如,每30幀畫面為一段,而 且相鄰兩段有50%的重合,即前后兩段有15幀的重合,例如第一段為視頻的第1幀到第30 幀,第二段為第16幀到第45幀,第三段為第31幀到60幀,這樣以此類推。
[0082] S202,將視頻中的幀畫面分割為多個區(qū)塊。
[0083] 本實施方式中,請參閱圖4,將每一幀畫面平均分割為9個區(qū)塊為例來進行說明。 當然,也可以分為2區(qū)塊、4區(qū)塊、16區(qū)塊或者更多塊。一般來說,分為9個區(qū)塊是合適的, 既可以不遺漏一些細節(jié)的畫面變化,又可以使得后面的計算量不致過大。另外,對于單鏡頭 拍攝來說,總是要將鏡頭對準事件主體或主人公,即將其放在鏡頭的最中央,所以對于9區(qū) 塊的畫面分割方式,最中間的區(qū)塊往往就是最重要的判斷矛盾場面的分析塊。
[0084] 按照分為9區(qū)塊的這種方式,我們展示一個反應劇烈打斗場面的視頻中的12個連 續(xù)幀畫面的例子,圖中每一幀畫面都分為9區(qū)塊,仔細觀察能看出,攝像的這個鏡頭始終停 留在一個畫面,只有畫中人物的打斗動作在變化,那么在畫面的變化中,實際上變化最大的 是每一幀中最中間區(qū)塊,而其余的8個區(qū)塊變化都很小,甚至沒有發(fā)生任何變化。假如不采 用分塊的方式,而對整個幀畫面的變化進行分析,那么這12幀畫面連續(xù)變化不大。
[0085] S203,得到每一段中每個區(qū)塊在相鄰兩幀之間的變化速度。
[0086] 考慮到拍攝的同一場景中矛盾場面發(fā)生過程的連續(xù)性,這里提出對幀畫面間變化 的速度進行度量,這個度量值能夠更好地反應激烈變化的場面,而且度量值越大,即場面變 化越大,說明激烈程度越強烈。這樣一種幀間變化速度的度量是基于幀畫面的像素來進行 計算的,可以利用每一像素的亮度值、灰度值或色彩值進行計算,用其中任何一種值都可, 相鄰兩幀間對應塊中的對應像素點的灰度(或者亮度或者色彩值)的差可表示為:
[0087] dn;k(i,j) = |fn+1;k(i,j)-fn,k(i,J')
[0088] 其中fn,k(i,j)表示第n幀畫面中第k塊的像素(i,j)對應的灰度(或者亮度或者 色彩值),dn,k(i,j)代表第n幀畫面和第n+1幀畫面中第k塊的像素(i,j)對應的灰度(或 者亮度或者色彩值)的變化,i為內像素點的行數(shù),j為每像素點的列數(shù),如果每個區(qū)塊包括 L*J像素點,則,具體的,
[0089] n=l,2,…,29;k=l,2,…9;i=l,…,L;j=l,…,M。
[0090] 那么相鄰兩幀對應第k塊的灰度(或者亮度或者色彩值)總的變化為;
[0091]
[0092] 基于上面這個相鄰幀間的總的變化量Dn,k,那么整個第p段對應第k塊的連續(xù)幀間 變化速度可表示為:
[0093]
[0094] 假設整個拍攝的視頻被分為P段,那么按照上面的幀間變化速度的計算公式就可 以獲得 9XP個Vp,kp=l,…,P,k=l,…,9。
[0095] S204,根據每一段中每個區(qū)塊在該段連續(xù)多幀之間的變化速度,選取預定個數(shù)較 大變化速度數(shù)值的對應的段。
[0096] 具體的,可以將每一段中每個區(qū)塊在相鄰的連續(xù)多幀之間的變化速度按照大小進 行排序,選取變化速度大的預定個數(shù)的段。所述預定個數(shù)可以根據視頻的長短進行選擇,當 視頻較長時,選取段數(shù)相對較多,當視頻較短時,可以選取段數(shù)相對較少。假設視頻就幾分 鐘的話,選擇3至5個具有最大Vp,k值的段就可以了,而當視頻有幾十分鐘的話,可能選擇 8-10個段比較好。
[0097]S205,在每個選取段中提取代表矛盾激發(fā)幀畫面。
[0098] 本實施方式中,提取選取段中中間的一個幀畫面作為代表矛盾激發(fā)幀畫面。具體 的,可以提取選取段中的第15幀畫面或者第16幀畫面作為代表矛盾激發(fā)幀畫面。優(yōu)選地, 提取每個選取段中最中間的一幀作為代表矛盾激發(fā)幀畫面。
[0099]S206,將提取的代表矛盾激發(fā)幀畫面生成片頭。
[0100] 將抽取矛盾激發(fā)幀畫面按照拍攝時間由先到后的順序,以預設時間間隔連接生成 片頭。由于片頭中各幀畫面之間可能是斷續(xù)的,所以需要預設一個幀與幀之間轉換的時間 間隔,優(yōu)選的,所述預設時間間隔為0. 5秒,即每0. 5秒播放片頭中的一幀畫面。
[0101] 還可以包括以下步驟:對生成的片頭設置標示,將標示顯示在片頭的視頻