專利名稱:基于共同處理元件執(zhí)行視頻穩(wěn)定化和檢測視頻鏡頭邊界的技術(shù)的制作方法
技術(shù)領(lǐng)域:
本文中公開的主題一般涉及使用共同處理元件來執(zhí)行視頻穩(wěn)定化和檢測視頻鏡頭(shot)邊界的技術(shù)。
背景技術(shù):
視頻穩(wěn)定化旨在改進(jìn)數(shù)字?jǐn)z影機(jī)(video camera)所捕捉的視頻序列的視覺質(zhì)量。 當(dāng)攝像機(jī)(camera)是手持式的或安裝在不穩(wěn)定的平臺上時,捕捉的視頻能夠由于不想要的攝像機(jī)運(yùn)動而顯得搖晃,這導(dǎo)致降級的觀眾體驗(yàn)。視頻穩(wěn)定化技術(shù)能夠用于消除或減少捕捉的視頻幀中不想要的運(yùn)動。視頻通常由場景組成,并且每個場景包括一個或多個鏡頭。鏡頭被定義為在單個連續(xù)動作中由單個攝像機(jī)捕捉的幀序列。從一個鏡頭到另一鏡頭的變化也稱為鏡頭轉(zhuǎn)變, 包括兩種關(guān)鍵類型突變(abrupt transition, CUT)和漸變(gradual transition, GT)。 視頻鏡頭邊界檢測旨在檢測鏡頭邊界幀。視頻鏡頭邊界檢測能夠在各種應(yīng)用中被應(yīng)用,例如視頻編碼、視頻索引、視頻檢索及視頻編輯中的內(nèi)部幀識別。
在圖中,本發(fā)明的實(shí)施例以示例方式而不是以限制方式示出,并且圖中,相似的引用標(biāo)號表示類似的要素。圖1示出根據(jù)一實(shí)施例的視頻穩(wěn)定化系統(tǒng)的框圖格式。圖2示出根據(jù)一實(shí)施例的幀間主要運(yùn)動估計模塊的框圖。圖3提供根據(jù)一實(shí)施例的為改進(jìn)視頻穩(wěn)定化而執(zhí)行的過程的流程圖。圖4示出根據(jù)一實(shí)施例的鏡頭邊界檢測系統(tǒng)的框圖。圖5提供根據(jù)一實(shí)施例的鏡頭邊界判定方案的過程。圖6示出根據(jù)一實(shí)施例的執(zhí)行視頻穩(wěn)定化和鏡頭邊界檢測的系統(tǒng)的框圖。圖7示出使用搜索窗口來識別參考幀中匹配塊的示例,其中匹配塊對應(yīng)于當(dāng)前幀中的目標(biāo)塊。
具體實(shí)施例方式遍及此說明書對“一個實(shí)施例”或“一實(shí)施例”的引用指連同該實(shí)施例描述的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個實(shí)施例中。因此,遍及此說明書各個位置中出現(xiàn)的“在一個實(shí)施例中”或“一實(shí)施例”短語不一定全部指相同實(shí)施例。此外,特定的特征、結(jié)構(gòu)或特性可在一個或多個實(shí)施例中被組合。圖形處理系統(tǒng)可需要支持多個視頻處理特征及各種視頻編碼或解碼標(biāo)準(zhǔn)。各種實(shí)施例允許圖形處理系統(tǒng)支持視頻穩(wěn)定化和視頻鏡頭邊界檢測特征。具體而言,各種實(shí)施例允許圖形處理系統(tǒng)為視頻穩(wěn)定化和鏡頭邊界檢測使用某些處理能力。在一些實(shí)施例中,圖形處理系統(tǒng)的下采樣和塊運(yùn)動搜索特征用于視頻穩(wěn)定化和視頻鏡頭邊界檢測。特征的再使用可降低制造圖形處理系統(tǒng)的成本,并且也降低圖形處理系統(tǒng)的大小。各種實(shí)施例能夠根據(jù)多種標(biāo)準(zhǔn)來編碼或解碼視頻或靜態(tài)圖像,所述標(biāo)準(zhǔn)例如但不限于MPEG-4第10部分高級視頻編解碼器(AVC)/H. 264。H. 264標(biāo)準(zhǔn)已由聯(lián)合視頻小組 (Joint Video Team, JVT)來制定,它包括也稱為VCEG (視頻編碼專家組)的ITU-T SG16 Q. 6和稱為MPEG (運(yùn)動圖片專家組)的ISO-IEC JTC1/SC29/WG11 (2003)。另外,實(shí)施例可在多種靜態(tài)圖像或視頻壓縮系統(tǒng)中被使用,包括但不限于面向?qū)ο蟮囊曨l編碼、基于模型的視頻編碼、可伸縮視頻編碼及MPEG-2 (從瑞士日內(nèi)瓦的國際標(biāo)準(zhǔn)化組織可得到的IS0/IEC 13818-1(2000))、VCI (從 SMPTE White Plains, NY 10601 可得到的 SMPTE421M(2006))及 MPEG-4,MPEG-2 和 VCl 的變型。圖1以框圖格式示出根據(jù)一實(shí)施例的視頻穩(wěn)定化系統(tǒng)100。視頻穩(wěn)定化系統(tǒng)100 包括幀間主要運(yùn)動估計(DME)塊102、軌跡(trajectory)計算塊104、軌跡平滑塊106及抖動補(bǔ)償塊108。幀間DME塊102要確定視頻序列中兩個連續(xù)幀之間的攝像機(jī)震動。幀間DME 塊102要識別本地運(yùn)動向量,并隨后基于那些本地運(yùn)動向量來確定主要運(yùn)動參數(shù)。軌跡計算塊104要通過那些確定的主要運(yùn)動參數(shù)來運(yùn)算運(yùn)動軌跡。軌跡平滑塊106要平滑運(yùn)算出的運(yùn)動軌跡以提供更平滑的軌跡。抖動補(bǔ)償模塊108要降低更平滑的軌跡中的抖動。圖2示出根據(jù)一實(shí)施例的幀間主要運(yùn)動估計模塊200的框圖。模塊200包括幀下采樣塊202、參考緩沖器204、塊運(yùn)動搜索塊206、迭代最小二乘解答器塊208及運(yùn)動增大 (up-scaling)塊 210。下采樣塊202要將輸入幀減小(down scale)到更小大小。例如,可使用大約4_5 的下采樣因子,但能夠使用其它值。在一些實(shí)施例中,下采樣塊202提供大約為160x120個像素的更小大小的幀。所得到的減小的幀具有更少數(shù)量的塊。由于共同處理元件的設(shè)計, 塊可以是8x8、16xl6或其它大小。通常,使用16x16塊。減小過程還減小塊運(yùn)動向量。在各種實(shí)施例中,運(yùn)動向量表示幀之間的像素、塊或圖像的垂直和水平位移。減小幀還減小兩個幀之間的χ和y運(yùn)動。例如,如果下采樣因子是4,并且運(yùn)動向量是(20,20),則下采樣的運(yùn)動向量將在減小的幀中大約是(5,5)。結(jié)果,更小圖片上的窗口 /區(qū)域受限塊運(yùn)動搜索能夠包括原始幀上更大的運(yùn)動。相應(yīng)地,能夠降低用于識別過程塊的處理速度和處理資源。下采樣塊202要將下采樣的幀存儲到參考緩沖器204中。參考緩沖器204可以是可用于至少在執(zhí)行視頻穩(wěn)定化和鏡頭邊界檢測中使用的存儲器中的區(qū)域。該區(qū)域可以是緩沖器或緩沖器的一部分。例如,如果該區(qū)域是緩沖器的一部分,則相同緩沖器的其它部分能夠由其它應(yīng)用或過程同時或在其它時間來使用。在各種實(shí)施例中,為了視頻穩(wěn)定化和鏡頭邊界檢測使用了單個參考幀。因此,參考緩沖器的大小能夠設(shè)為存儲一個幀。在參考緩沖器每次更新時,參考幀能夠被替代為另一參考幀。塊運(yùn)動搜索塊206要從下采樣塊202接收下采樣的當(dāng)前幀,并且還要從參考緩沖器204接收下采樣的以前參考幀。塊運(yùn)動搜索塊206要識別預(yù)定義的搜索窗口內(nèi)選擇的塊的本地運(yùn)動向量。例如,識別的運(yùn)動向量能夠是與搜索窗口中相對于當(dāng)前幀中目標(biāo)塊帶有最小絕對差和(SAD)的塊相關(guān)聯(lián)的運(yùn)動向量。搜索窗口中的塊可以是宏塊或小的塊,例如 8x8個像素,但其它大小能夠被使用。在一些實(shí)施例中,塊大小是16x16個像素,并且搜索窗口能夠設(shè)為48x32個像素。在各種實(shí)施例中,塊運(yùn)動搜索塊206不搜索與幀邊界上的塊相
6關(guān)聯(lián)的運(yùn)動向量。在一些實(shí)施例中,塊運(yùn)動搜索塊206要確定對于每個幀的宏塊的絕對差和(SAD)。 例如,為幀中的每個宏塊確定SAD可包括比較參考幀的每個16x16像素宏塊和當(dāng)前幀中的 16x16像素宏塊。例如,在一些實(shí)施例中,能夠比較參考幀的48x32像素搜索窗口內(nèi)的所有宏塊和當(dāng)前幀中的目標(biāo)16x16像素宏塊。能夠逐一或以棋盤圖案來挑選目標(biāo)宏塊。對于完全搜索,可比較48x32搜索窗口中的所有宏塊和目標(biāo)宏塊。因此,能夠比較32x16(512)個宏塊。當(dāng)在48x32搜索窗口內(nèi)移動16x16宏塊時,能夠有32x16個位置來移動。因此,在此示例中,確定512個SAD。圖7示出使用搜索窗口來識別參考幀中匹配塊的示例,其中匹配塊對應(yīng)于當(dāng)前幀中的目標(biāo)塊。示范塊運(yùn)動搜索可包括以下步驟。(1)選擇當(dāng)前幀中的多個目標(biāo)塊。假設(shè)目標(biāo)塊的坐標(biāo)是(X_i,y_i),其中,i是塊索引。能夠逐一來選擇當(dāng)前幀中的目標(biāo)塊。但是,能夠使用其它選擇技術(shù),例如以棋盤方式選擇它們。(2)對于當(dāng)前幀中的目標(biāo)塊i,塊運(yùn)動搜索在搜索窗口中用于識別匹配塊和獲得本地運(yùn)動向量(mvx_i,mvy_i)。在參考幀中對于目標(biāo)塊i查找搜索窗口中的匹配塊能夠包括比較參考幀搜索窗口中的所有候選塊和目標(biāo)塊,并且?guī)в凶钚AD的一個塊被認(rèn)為是匹配塊。(3)在對于塊i的塊運(yùn)動搜索后,運(yùn)算x' _i = x_i+mvx_i和y ‘ _i = y_i+mvy_ i。隨后,(x_i,y_i)和(x' _i,y' _i)被視為一對。(4)在為當(dāng)前幀中所有選擇的目標(biāo)塊執(zhí)行塊運(yùn)動搜索后,獲得多個對(x_i,y_i) 和(x' _i,y' _i)。如圖7中所示,對于當(dāng)前幀中的一個目標(biāo)塊(X,y),48x32搜索窗口在參考幀中被指定,并且搜索窗口的位置能夠由(χ,y)來定中心。在通過塊運(yùn)動搜索在搜索窗口中查找匹配塊后,獲得對于目標(biāo)塊的本地運(yùn)動向量(mvx,mvy)。匹配塊的坐標(biāo)(χ',y')是χ' =x+mvx, y' = y+mvy。隨后,(x,y)禾Π (χ',y')被視為一對。再次參照圖2,迭代最小二乘解答器208要基于至少兩個識別的本地運(yùn)動向量來確定主要運(yùn)動參數(shù)。在一些實(shí)施例中,迭代最小二乘解答器208要應(yīng)用圖2中所示的相似性運(yùn)動模型來近似主要幀間運(yùn)動參數(shù)。相似性運(yùn)動模型還能夠以下面的等式(1)的格式來編與。
權(quán)利要求
1.一種設(shè)備,包括幀間主要運(yùn)動估計邏輯,確定當(dāng)前幀的運(yùn)動參數(shù)和確定所述當(dāng)前幀中塊的絕對差和; 鏡頭邊界判定邏輯,部分地基于所述絕對差和來確定所述當(dāng)前幀是否是場景改變幀;以及視頻穩(wěn)定化塊,部分地基于所述運(yùn)動參數(shù)來提供當(dāng)前幀序列的更穩(wěn)定化版本。
2.如權(quán)利要求1所述的設(shè)備,其中所述幀間主要運(yùn)動估計邏輯在硬件中實(shí)現(xiàn)。
3.如權(quán)利要求1所述的設(shè)備,其中所述幀間主要運(yùn)動估計邏輯要 減小所述當(dāng)前幀;將所減小的當(dāng)前幀存儲到緩沖器的一部分中; 確定當(dāng)前幀和參考幀中的塊之間的絕對差和; 確定所減小的幀的幀間主要運(yùn)動參數(shù);以及增大所述幀間主要運(yùn)動參數(shù)。
4.如權(quán)利要求3所述的設(shè)備,其中確定所減小的幀的幀間主要運(yùn)動參數(shù)的邏輯要 在搜索窗口中識別在參考幀中相對于目標(biāo)塊帶有最小絕對差和的匹配塊;確定所述匹配塊的本地運(yùn)動向量;部分地基于所述本地運(yùn)動向量來確定所述匹配塊的坐標(biāo);以及應(yīng)用相似性運(yùn)動模型以部分地基于所述匹配塊的坐標(biāo)和所述目標(biāo)塊的坐標(biāo)來確定所述主要運(yùn)動參數(shù)。
5.如權(quán)利要求4所述的設(shè)備,其中確定所減小的幀的幀間主要運(yùn)動參數(shù)的邏輯還要 忽視任何異常本地運(yùn)動向量。
6.如權(quán)利要求1所述的設(shè)備,其中所述視頻穩(wěn)定化塊包括 軌跡計算塊,部分地基于所述運(yùn)動參數(shù)來確定所述當(dāng)前幀的軌跡; 軌跡平滑塊,增加所述當(dāng)前幀的軌跡的平滑度;以及抖動補(bǔ)償塊,降低所述當(dāng)前幀的軌跡中的抖動。
7.如權(quán)利要求6所述的設(shè)備,其中所述視頻穩(wěn)定化塊還要部分地基于所述運(yùn)動軌跡與所述更平滑的軌跡之間的差別來確定抖動運(yùn)動參數(shù);以及用所述抖動運(yùn)動參數(shù)來扭曲所述當(dāng)前幀。
8.如權(quán)利要求1所述的設(shè)備,其中所述鏡頭邊界判定邏輯要 確定所述當(dāng)前幀中所有塊的絕對差和的平均值;以及部分地基于其絕對差和大于閾值的塊的數(shù)量來確定所述當(dāng)前幀是否是鏡頭邊界幀。
9.一種系統(tǒng),包括確定當(dāng)前幀的運(yùn)動參數(shù)和確定所述當(dāng)前幀中塊的絕對差和的硬件實(shí)現(xiàn)的幀間主要運(yùn)動估計器;部分地基于所述絕對差和來確定所述當(dāng)前幀是否是場景改變幀的邏輯; 部分地基于所述運(yùn)動參數(shù)來提供所述當(dāng)前幀的更穩(wěn)定化版本的邏輯;以及接收和顯示視頻的顯示器。
10.如權(quán)利要求9所述的系統(tǒng),其中確定的邏輯和提供的邏輯存儲在計算機(jī)可讀媒體上并且由處理器來運(yùn)行。
11.如權(quán)利要求9所述的系統(tǒng),其中所述幀間主要運(yùn)動估計器要減小所述當(dāng)前幀;將所減小的當(dāng)前幀存儲到緩沖器的一部分中; 確定當(dāng)前幀和參考幀中的塊之間的絕對差和; 確定所減小的幀的幀間主要運(yùn)動參數(shù);以及增大所述幀間主要運(yùn)動參數(shù)。
12.如權(quán)利要求9所述的系統(tǒng),其中提供所述當(dāng)前幀的更穩(wěn)定化版本的邏輯包括 部分地基于所述運(yùn)動參數(shù)來確定所述當(dāng)前幀的軌跡的邏輯;增加所述當(dāng)前幀的軌跡的平滑度的邏輯; 降低所述當(dāng)前幀的軌跡中的抖動的邏輯;部分地基于所述軌跡與所述更平滑的軌跡之間的差別來確定抖動運(yùn)動參數(shù)的邏輯;以及用所述抖動運(yùn)動參數(shù)來扭曲所述當(dāng)前幀的邏輯。
13.如權(quán)利要求9所述的系統(tǒng),其中部分地基于所述絕對差和來確定所述當(dāng)前幀是否是場景改變幀的邏輯包括確定所述當(dāng)前幀中塊的絕對差和的平均值的邏輯;以及部分地基于其絕對差和大于閾值的塊的數(shù)量來確定所述當(dāng)前幀是否是鏡頭邊界幀的邏輯。
14.一種計算機(jī)實(shí)現(xiàn)的方法,包括 接收視頻的當(dāng)前幀;減小所述當(dāng)前幀;將所減小的當(dāng)前幀存儲到緩沖器的一部分中;確定減小的參考幀中的塊與所減小的當(dāng)前幀中的目標(biāo)塊之間的絕對差和; 確定所減小的當(dāng)前幀的幀間主要運(yùn)動參數(shù);以及部分地基于所述絕對差和以及所述運(yùn)動參數(shù)的至少一個來執(zhí)行視頻穩(wěn)定化和鏡頭邊界檢測的至少一個。
15.如權(quán)利要求14所述的方法,還包括 增大所述幀間主要運(yùn)動參數(shù)。
16.如權(quán)利要求14所述的方法,其中確定所減小的當(dāng)前幀的幀是主要運(yùn)動參數(shù)包括 在搜索窗口中識別在參考幀中相對于所述目標(biāo)塊帶有最小絕對差和的匹配塊; 確定所述匹配塊的本地運(yùn)動向量;忽視任何異常本地運(yùn)動向量;部分地基于所述本地運(yùn)動向量來確定所述匹配塊的坐標(biāo);以及應(yīng)用相似性運(yùn)動模型以部分地基于所述匹配塊的坐標(biāo)和所述目標(biāo)塊的坐標(biāo)來確定所述主要運(yùn)動參數(shù)。
17.如權(quán)利要求14所述的方法,其中所述執(zhí)行視頻穩(wěn)定化包括 部分地基于所述運(yùn)動參數(shù)來確定所述當(dāng)前幀的軌跡;增加所述當(dāng)前幀的軌跡的平滑度; 降低所述當(dāng)前幀的軌跡中的抖動;部分地基于所述軌跡與所述更平滑的運(yùn)動軌跡之間的差別來確定抖動運(yùn)動參數(shù);以及用所述抖動運(yùn)動參數(shù)來扭曲所述當(dāng)前幀。
18.如權(quán)利要求14所述的方法,其中所述執(zhí)行鏡頭邊界檢測包括 確定所述當(dāng)前幀中塊的絕對差和的平均值;以及部分地基于其絕對差和大于閾值的塊的數(shù)量來確定所述當(dāng)前幀是否是鏡頭邊界幀。
19.如權(quán)利要求14所述的方法,其中所述減小,存儲,確定絕對差和、以及確定幀間主要運(yùn)動參數(shù)在硬件中實(shí)現(xiàn)。
20.如權(quán)利要求14所述的方法,其中所述執(zhí)行視頻穩(wěn)定化和鏡頭邊界檢測的至少一個被實(shí)現(xiàn)為處理器運(yùn)行的軟件指令。
全文摘要
本文公開了用于執(zhí)行視頻穩(wěn)定化和檢測視頻鏡頭邊界的設(shè)備、系統(tǒng)和方法。所述方法包括接收視頻的當(dāng)前幀;減小該當(dāng)前幀;將該減小的當(dāng)前幀存儲到緩沖器的一部分中;確定減小的參考幀中的塊與該減小的當(dāng)前幀中的目標(biāo)塊之間的絕對差和;確定該減小的當(dāng)前幀的幀間主要運(yùn)動參數(shù);以及部分地基于絕對差和以及運(yùn)動參數(shù)的至少一個來執(zhí)行視頻穩(wěn)定化和鏡頭邊界檢測的至少一個。
文檔編號H04N5/14GK102474568SQ200980160949
公開日2012年5月23日 申請日期2009年8月12日 優(yōu)先權(quán)日2009年8月12日
發(fā)明者L·徐, Q·黃, Y·邱 申請人:英特爾公司