專利名稱:用于視頻穩(wěn)定的運動濾波的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一見頻穩(wěn)定,更具體地涉及纟見頻幀序列的運動濾波, 其考慮了針對可應(yīng)用到每個視頻幀的校正運動量的實際限制。
背景技術(shù):
通過視頻相機捕捉的視頻幀序列可能包括期望的運動,但如在
搖攝全景(pan)的情況下,也同樣可能包括不期望的運動。在手持 視頻相機例如相機電話的情況中,該不希望的運動波動通常是由視 頻捕捉期間不期望的手部抖動造成的。特別是在高縮放率的情況下, 相對較小的運動波動(其在當(dāng)處理例如小型相機電話時通常是不可 避免的)將導(dǎo)致所捕捉的視頻幀產(chǎn)生很大的位移。
視頻數(shù)據(jù)中不希望的運動波動的影響可以借助視頻穩(wěn)定系統(tǒng)來 減輕。由于不經(jīng)意移動的影響在高縮放率處上升,所以視頻穩(wěn)定對 于能夠進(jìn)行多于3x縮放的設(shè)備而言尤其重要。具有視頻獲取功能的 消費設(shè)備的當(dāng)前開發(fā)和小型化提高了對可靠和高效的視頻穩(wěn)定解決 方案的需求。
通常,視頻穩(wěn)定是通過以下來實現(xiàn)的將一定量的校正運動位 移應(yīng)用到每個視頻幀,從而將其針對鄰近的幀對準(zhǔn),使得消除不希 望的相機運動所引起的高頻波動或抖動的影響。
為此,視頻穩(wěn)定系統(tǒng)所應(yīng)用的視頻穩(wěn)定操作通常包括運動估計、 運動濾波和運動補償。
運動估計用于確定 一見頻序列連續(xù)幀之間的全局位移,該全局位 移也稱為原始運動,并且包括期望的和不期望的運動。
運動濾波負(fù)責(zé)在原始運動的期盼分量和不希望的分量之間進(jìn)行 區(qū)分。通常,期盼運動是平滑的。因此,可以通過對原始運動進(jìn)行
低通濾波而確定期望的運動軌跡。圖1是示出了視頻幀序列的幀0
至250的垂直位置的圖示。第一曲線11表示通過示例性的估計原始 運動而得到的視頻幀的垂直位置,第二曲線12表示通過對這些視頻 幀的原始運動進(jìn)行低通濾波而得到的視頻幀的垂直位置。
一旦已經(jīng)估計了期盼的運動,則可以計算校正位移,其必須應(yīng) 用到各視頻幀上以確保原始運動和期盼運動之間的差異被取消。必 須注意的是,對于實時實現(xiàn),濾波過程必須是符合因果關(guān)系的。也 就是說,僅可以基于先前的運動數(shù)據(jù)來計算當(dāng)前幀經(jīng)過濾波的運動 采樣,因為沒有未來信息可用。圖2是示出了視頻幀184的鄰近視 頻幀的垂直位置的視圖。再次,第一曲線11表示通過示例性的估計 原始運動而得到的視頻幀的垂直位置,而第二曲線12表示通過對原 始運動進(jìn)行低通濾波而得到的視頻幀的垂直位置。此外,對于視頻 頓184,給出校正垂直位移21,其必須被應(yīng)用到幀184以才交正垂直 位置。
校正位移來改變各視頻幀的位置??紤]該校正的 一種途徑是在穩(wěn)定 系統(tǒng)的輸出處遞送比在系統(tǒng)的輸入處更小的幀尺寸,如圖3中所示 例。圖3表示較大的輸入幀31,其包括相機傳感器所捕捉的整個幀 數(shù)據(jù),并且在該較大的輸入幀31的中心設(shè)置較小的輸出幀32。輸出 幀32通過校正位移34移位到輸出幀33。因此校正包括裁剪較大的 輸入幀31,以從由校正位移34所確定的較大輸入幀31內(nèi)的適當(dāng)位 置處獲取輸出幀33矩形。
例々口, 在S. ErtUrk的 "Digital image stabilization with sub-image phase correlation based global motion estimation" , Consumer Electronics, IEEE Transactions on Volume 49, Issue 4, Nov. 2003 ,頁 1320-1325中描述了適當(dāng)?shù)倪\動估計。
現(xiàn)在將借助數(shù)學(xué)公式來更詳細(xì)地描述示例性運動濾波過程。為 了簡化該表達(dá),僅考慮了相鄰幀之間的平移。運動濾波操作進(jìn)一步 獨立地4十對水平和垂直運動來應(yīng)用,/人而下列方程式應(yīng)用于其中之
相對于視頻幀輸入序列的第一幀的第n個幀的水平或垂直方向 上的原始運動由z。來表示并纟皮定義為
zn 二 sn + un ( 1 )
其中,S。和Un分別表示全局幀位置中的期盼分量和不希望的分量。 對于每個幀n,為了穩(wěn)定視頻幀的序列,需要-Un個像素的校正位移。
如前所述,對于實時實現(xiàn)而言很重要的方面在于僅基于當(dāng)前和 先前的觀察來即時地對原始運動進(jìn)行濾波。通常,這意味著僅基于 采樣Zn, Zn-i,..., 來確定當(dāng)前濾波的運動Sn。
可以通過為濾波運動Sn的演進(jìn)假設(shè)特定模型來實現(xiàn)任務(wù)的簡化。 例如,簡單的模型假設(shè)期盼運動Sn具有恒定速度Vn。這可以表示為
如下等式
當(dāng)其表示為矩陣形式的時候,成為
x,廣Ax打一 (3)
這里,''L"'"」是處理在時間n處的狀態(tài),以及a
l 1
0 1
是狀態(tài)轉(zhuǎn)
移矩陣。此外,觀察等式(1)還可以矩陣符號來如下表示
zH=cfxn+Mw, (4》 -0J是大小為2"的觀察矩陣(向量)。
更一般而言,幀位移的狀態(tài)空間表示可以表示為如下
其中
一〖 (5>
其中en和Un是處理和測量噪聲項,其被假設(shè)為分別具有方差^
和^的零均值高斯分布。處理矩陣A的大小為KxK,向量c和b的
大小為"!。狀態(tài)Xn是K"向量,從中可以通過運算S"-C、提取出期 盼運動Sn。
卡爾曼濾波是 一 種針對此問題的優(yōu)化解決方案,其中假設(shè)了根
據(jù)模型(5)的狀態(tài)轉(zhuǎn)移和觀察等式??蓱?yīng)用于穩(wěn)定視頻幀n的卡爾曼濾波過程由下列算法來表示 開始
1<formula>formula see original document page 9</formula>2<formula>formula see original document page 9</formula>3<formula>formula see original document page 9</formula>4<formula>formula see original document page 9</formula>5<formula>formula see original document page 9</formula>6<formula>formula see original document page 9</formula>
結(jié)束
該算法在幀n接收估計原始運動Zn作為輸入,并提供將應(yīng)用到 幀n的校正-Un的量作為輸出。除了下列進(jìn)一步定義的參數(shù)之外,該
算法使用內(nèi)部變量p和g。 p是給出當(dāng)前和過去的觀察的真實狀態(tài)的
《xK協(xié)方差矩陣,并且g是稱為卡爾曼增益的向量。
例如由S. Ertiirk在"Image sequence stabilization based on Kalman filtering of frame positions" , Electronics Letters, volume 37, Issue 20, 27 Sept. 2001,頁1217-1219中描述了相應(yīng)的卡爾曼濾波。
實際中,可應(yīng)用到每個視頻幀的校正運動位移(-un)的量受到 穩(wěn)定系統(tǒng)的輸入幀和輸出幀之間的大小差異的限制。較大的校正使 得將輸出幀的一部分置于輸入幀的區(qū)域之外,如圖4中所例示。圖4 再次示出了輸入幀31、初始輸出幀32和根據(jù)確定的位移向量44而 移位的輸出幀43。由于位移幀44太大,所以祐:穩(wěn)、定的輸出幀43包 括未定義的區(qū)域45。這種情況在使用大縮放比率時尤其頻繁。
為了防止出現(xiàn)這種情況,需要實現(xiàn)能夠提供濾波運動軌跡Sn的 運動濾波過程,其中該軌跡相對于原始運動Zn的偏移從不超過預(yù)定 的最大校正位移d。針對最大校正位移d的示例值可以是8個或16 個像素。
換言之,濾波問題可以被公式化為在針對任意幀n的下列限制
下,確定針對期盼運動分量Sn的平滑軌跡
<formula>formula see original document page 9</formula>(6)
在上述引用的文件 "Digital image stabilization with sub-image phase correlation based global motion estimation"中,已經(jīng)指出,在包 含故意(deliberate)移動的序列中,系統(tǒng)4艮可能相當(dāng)快地達(dá)到所允 許的幀移位的極限值,在此情況下,穩(wěn)定性能降級,以保持可視幀 內(nèi)的圖像內(nèi)容。
校正運動量的系統(tǒng)限制。也就是說,無論何時校正位移量超過系統(tǒng) 最大允許值,當(dāng)前幀的位移量將不會超過指定的最大位移。以上面 給出的算法(I)中使用的項和符號,這可以通過向算法(I)添加如 下新的兩行來實現(xiàn) 開始
來自算法(I)的第1至第6行
<formula>formula see original document page 10</formula>《11) 結(jié)束
在算法(II)中,符號sign (*)表示符號函數(shù)。 實際上,該解決方案確保了視頻穩(wěn)定系統(tǒng)將不應(yīng)用可能將被穩(wěn) 定的幀移位到輸入幀范圍之外的任何校正。然而,如上所述,簡單 的限制犧牲了所得到的濾波運動軌跡的平滑性,從而導(dǎo)致了跳躍性輸出。
大多數(shù)當(dāng)前的視頻穩(wěn)定系統(tǒng)僅針對不希望的平移運動進(jìn)行校 正。然而必須注意的是,由此系統(tǒng)所遞送的被穩(wěn)定的視頻數(shù)據(jù)仍然 經(jīng)常包含干擾旋轉(zhuǎn)抖動。因此,視頻穩(wěn)定系統(tǒng)優(yōu)選地也去除視頻幀 中的旋轉(zhuǎn)抖動,如圖5所示例。圖5提供了較大的輸入幀31,該幀 31包括相機傳感器所捕捉的整個幀數(shù)據(jù);較小的輸出幀32設(shè)置在較 大輸入幀31的中心處。輸出幀32進(jìn)行校正位移54的移位,并且此 外進(jìn)行校正旋轉(zhuǎn)的旋轉(zhuǎn),從而產(chǎn)生輸出幀53。校正因此再次包括裁 剪較大幀31以從由校正運動所確定的較大輸入幀31內(nèi)的適當(dāng)位置 獲得輸出幀53矩形。
例如由S, Erttirk在"Translation, rotation and scale stabilization of image sequences" , Electronics Letters, Volume 39, Issue 17, 21 Aug. 2003,頁1245-1246中給出了基于卡爾曼濾波的穩(wěn)定,其中通過相應(yīng) 參數(shù)對視頻幀進(jìn)行了移位和旋轉(zhuǎn)從而獲得穩(wěn)定的序列。
在此情況下,簡單地通過以固定值來限制應(yīng)用到每個視頻幀上 的校正運動而可以處理對校正運動量的系統(tǒng)限制。然而,在此情況 下,如圖6所示,所得到的被濾波運動軌跡的平滑性被很快犧牲掉。 圖6還再次示出了輸入幀31、初始輸出幀32以及旋轉(zhuǎn)和移位后的輸 出幀63,對應(yīng)于位移向量64的位移。由于旋轉(zhuǎn),比通過純才交正平移 更早地獲得未定義區(qū)域65。
必須注意的是,還必須考慮其他系統(tǒng)限制。
發(fā)明內(nèi)容
本發(fā)明的一個目的是提供一種針對系統(tǒng)限制變得相關(guān)的情況下 的改進(jìn)型視頻穩(wěn)定。
提議了 一種用于將視頻穩(wěn)定系統(tǒng)的運動濾波器應(yīng)用到視頻幀序 列的方法。該提議的方法包括針對當(dāng)前^L頻幀,接收相較于浮見頻 幀序列的第 一視頻幀的該當(dāng)前視頻幀中的運動估計。所提議的方法 進(jìn)一步包括,基于所述運動估計和所述運動濾波器的至少一個狀態(tài) 變量來計算針對當(dāng)前視頻幀中運動的校正值,其中該至少 一個狀態(tài) 變量在計算中更新。該提議的方法進(jìn)一步包括,當(dāng)所計算的校正值 超過該視頻穩(wěn)定系統(tǒng)的系統(tǒng)限制時,根據(jù)該系統(tǒng)限制被超過的程度 來調(diào)節(jié)該至少一個狀態(tài)變量,并基于運動估計和所調(diào)節(jié)的狀態(tài)變量 來重新計算該校正值。
此外,提議了一種包括運動濾波器的視頻穩(wěn)定系統(tǒng)。該運動濾 波器包括處理部分,適用于接收相較于視頻幀序列的第 一 視頻幀的 當(dāng)前一見頻幀中的運動估計,并基于所述運動估計和所述運動濾波器 的至少 一個狀態(tài)變量來計算針對當(dāng)前視頻幀中運動的校正值,其中 該至少一個狀態(tài)變量在計算中更新。該運動濾波器進(jìn)一步包括處理
部分,適用于當(dāng)所計算的校正值超過該視頻穩(wěn)定系統(tǒng)的系統(tǒng)限制時, 根據(jù)該系統(tǒng)限制被超過的程度來調(diào)節(jié)該至少 一 個狀態(tài)變量,并基于 運動估計和所調(diào)節(jié)的狀態(tài)變量來重新計算所計算的校正值。
該處理部分可以以硬件、軟件或二者的組合來實現(xiàn)。在后一情 況中,它們例如可以通過軟件代碼和執(zhí)行該軟件代碼的處理器來實 現(xiàn)。
視頻穩(wěn)定系統(tǒng)可以例如集成在包括至少 一 個芯片的視頻處理芯 片組中。而且,其可以是另外包括視頻記錄組件的相機模塊的一部 分。
此外,提議了 一種包括具有運動濾波器的視頻穩(wěn)定系統(tǒng)的電子 設(shè)備。該運動濾波器包括與所提議的視頻穩(wěn)定系統(tǒng)中的運動濾波器 相同的處理部分。
該電子設(shè)備例如可以是移動電子設(shè)備,譬如移動電話,其自身 包括視頻記錄組件用于捕捉視頻幀序列。然而,需要理解的是,電 子設(shè)備自身并不必須包括視頻記錄組件。其同樣可以是能夠接收和 處理另 一設(shè)備所捕捉的視頻幀序列的移動電子設(shè)備或靜止電子設(shè) 備。
最后,提議了一種軟件程序產(chǎn)品,其中存儲有軟件代碼,用于 將視頻穩(wěn)定系統(tǒng)的運動濾波器應(yīng)用到視頻幀的序列。當(dāng)由電子設(shè)備 的處理器來執(zhí)行的時候,該軟件代碼實現(xiàn)所提議的方法。該軟件程
序產(chǎn)品例如可以是單獨的存儲設(shè)備,例如CD-ROM。可替換地,其 子設(shè)備中。
本發(fā)明開始于這樣的考慮如果由于系統(tǒng)限制所導(dǎo)致的針對當(dāng) 前視頻幀的穩(wěn)定校正值的限制被考慮在針對后續(xù)視頻幀的穩(wěn)定校正 值的計算中,則即使在存在系統(tǒng)限制的情況下,也可以實現(xiàn)視頻幀 序列中的平滑運動軌跡。因此提議,當(dāng)前幀的校正值的限制被反映 在運動濾波器的狀態(tài)變量中。這使得能夠考慮后續(xù)視頻幀的校正計 算中的限制。因此,只要針對一個視頻幀確定的運動校正量超過系 統(tǒng)所允許的最大值,則可以改變?yōu)V波器狀態(tài),從而通過相應(yīng)地調(diào)節(jié) 校正的未來值來保持平滑的運動軌跡。
本發(fā)明的一個有益效果在于其允許獲取平滑的穩(wěn)定運動軌跡, 而不會在任何輸出視頻幀中引入未定義區(qū)域。
本發(fā)明對下列情況特別有益不希望的運動波動的幅度可以與
視頻穩(wěn)定系統(tǒng)所允許的最大運動校正量相比。此種情況例如是如果 視頻幀序列是用高縮放率和/或大圖像分辨率來捕捉的。盡管常規(guī)方 法通過犧牲運動的穩(wěn)定性而考慮系統(tǒng)限制,但即使在此情況下本發(fā) 明仍然允許對運動進(jìn)行穩(wěn)定。
需要理解的是,所提議的視頻穩(wěn)定系統(tǒng)除了包括運動濾波器之 外,還可以包括用于確定運動估計的常規(guī)運動估計器,以及用于基 于運動濾波器所計算或重新計算的校正值來校正各視頻幀中的運動 的常規(guī)運動校正器。
系統(tǒng)限制限制了可以應(yīng)用到每個視頻幀的最大運動校正量。在 本發(fā)明的 一個實施方式中,該系統(tǒng)限制涉及輸入到— 見頻穩(wěn)定系統(tǒng)的 視頻幀的大小與由視頻穩(wěn)定系統(tǒng)輸出的視頻幀大小之間的差異。
在本發(fā)明進(jìn)一步的實施方式中,計算針對當(dāng)前視頻幀中運動的 校正值包括使用卡爾曼濾波器。則該至少 一 個狀態(tài)變量可以是卡爾 曼濾波器的狀態(tài)變量。因此,通過以優(yōu)化的方式來結(jié)合系統(tǒng)限制而
將常規(guī)的卡爾曼濾波過程延伸到"Constraint Kalman Filtering (限制 卡爾曼濾波)",從而可以實現(xiàn)本發(fā)明。
根據(jù)本發(fā)明調(diào)節(jié)的該至少 一個狀態(tài)變量例如可以包括表示當(dāng)前 幀中期盼運動的變量和表示期盼運動的設(shè)想速度的變量。例如,在 限制卡爾曼濾波的情況下,該至少 一 個狀態(tài)變量可以包括卡爾曼濾 波器的狀態(tài)向量的所有元素。
本發(fā)明可用于校正各種類型的不期望運動。通常,將期望至少 針對水平和垂直平移進(jìn)行運動校正。然而,如上所述,對旋轉(zhuǎn)抖動 的補償也是非常重要的。
當(dāng)僅考慮不期望的平移運動時,對校正運動的系統(tǒng)限制對于每 個視頻幀都是相同的。其因此可以由固定的最大校正值來表示???以單獨地對待水平和垂直平移,因為它們是彼此獨立的。如果還考 慮旋轉(zhuǎn)抖動,則確定使得旋轉(zhuǎn)和平移輸出幀保持在輸入幀區(qū)域中所 需的系統(tǒng)限制變得更加復(fù)雜。
因此,在本發(fā)明的一個實施方式中,將根據(jù)本發(fā)明的三個濾波 過程應(yīng)用到各視頻幀上,其中濾波過程根據(jù)平移和旋轉(zhuǎn)運動校正之
間的幾何互依賴性(interdependence )而互相相關(guān)。也就是說,計算 校正值,并且如果需要的話,以針對旋轉(zhuǎn)再針對水平和垂直方向中 的平移的順序來重新計算校正值,用于平移的系統(tǒng)限制被確定為針 對旋轉(zhuǎn)所得的校正值的函數(shù)。首先應(yīng)用的旋轉(zhuǎn)校正改變可以在此后 應(yīng)用的水平和垂直校正平移的最大量。通常,旋轉(zhuǎn)校正越高,可以 應(yīng)用的水平和垂直校正的剩余量越小。
因此,系統(tǒng)限制在該情況中甚至比在僅考慮水平運動的情況中 更為關(guān)鍵。該實施方式具有下列優(yōu)點,即使存在對每個幀而允許的 旋轉(zhuǎn)和平移校正運動量方面的系統(tǒng)限制,也能提供平滑的穩(wěn)定運動 軌跡。必須注意的是,可替換地,還可以首先確定平移校正值。然 后,對旋轉(zhuǎn)的系統(tǒng)限制可以被確定為平移校正值的函數(shù)。
從下列結(jié)合附圖考慮的詳細(xì)描述中,本發(fā)明的其他目的和特征 將變得很明顯。然而,需要理解的是,附圖的設(shè)計僅用于示意的目 的而不作為對本發(fā)明的限制,而對本發(fā)明的限制應(yīng)當(dāng)參考所附權(quán)利 要求書。需要進(jìn)一步理解的是,附圖并非按比例繪制,它們僅旨在 概念性地圖示這里所描述的結(jié)構(gòu)和過程。
圖1是表示一見頻幀序列中未濾波的原始運動和濾波的運動的示
圖2是表示選定視頻幀的校正垂直位移的示圖; 圖3是圖示了通過校正位移的視頻幀的穩(wěn)定的示圖; 圖4是圖示了通過太大校正位移的視頻幀的穩(wěn)定的示圖5是圖示了通過校正平移和旋轉(zhuǎn)的視頻幀的穩(wěn)定的示圖; 圖6是圖示了通過太大的校正平移和旋轉(zhuǎn)的幀的穩(wěn)定的示圖; 圖7是根據(jù)本發(fā)明實施方式的移動設(shè)備的示意性框圖; 圖8是圖7的設(shè)備中的運動濾波器的第一實施方式的示意性框
圖9是圖示了圖8中的運動濾波器操作的流程圖; 圖10是圖示了由圖8的運動濾波器所確定的校正平移的示圖; 圖11是表示了未濾波原始運動、常規(guī)的濾波運動以及通過圖8
的運動濾波器得到的濾波運動的示圖12是圖7的設(shè)備中的運動濾波器的第二實施方式的示意圖13是圖示了圖12的運動濾波器操作的流程圖14是示出了對圖12的運動濾波器的校正旋轉(zhuǎn)的系統(tǒng)限制的
示圖;以及
圖15是示出了在應(yīng)用校正旋轉(zhuǎn)之后針對校正平移的系統(tǒng)限制的示圖。
具體實施例方式
圖7是根據(jù)本發(fā)明實現(xiàn)視頻穩(wěn)定的移動設(shè)備的示意性框圖。舉 例而言,移動設(shè)備是移動電話70。
移動電話70包括具有常規(guī)視頻記錄器72的相機模塊71。相機 模塊71進(jìn)一步包括適用于執(zhí)行各種實現(xiàn)的軟件程序組件的處理器 73。實現(xiàn)的軟件程序組件包括實現(xiàn)視頻穩(wěn)定系統(tǒng)的組件,即運動估 計器組件74、運動波器組件75以及運動校正器組件76。需要理解 的是,不需要數(shù)據(jù)處理器73形成相機模塊71的一部分。其可以等 同于例如移動電話70的通用數(shù)據(jù)處理器,其能夠執(zhí)行針對各種應(yīng)用 的軟件程序組件。需要進(jìn)一步理解的是,該運動估計器組件74、運 動濾波器組件75以及運動校正器組件76所實現(xiàn)的功能還可以實現(xiàn) 在視頻處理芯片組中。移動電話70進(jìn)一步包括存儲器、發(fā)射器和顯 示器,如圖7中的框77所概括。
移動電話70還包括各種未示出的其他單元,它們可以以常^L方 式設(shè)計和設(shè)置在移動電話70中。而且,視頻記錄器72、運動估計器 組件74、運動校正器組件76以及存儲器、發(fā)射器和顯示器77可以 常規(guī)方式來設(shè)計和設(shè)置。
然而,根據(jù)本發(fā)明來設(shè)置運動濾波器組件75。
圖8更詳細(xì)地圖示了運動濾波器組件75的第一種可能的實施方 式。在該實施方式中,運動濾波器組件75包括限制卡爾曼濾波器 810。該限制卡爾曼濾波器810包括規(guī)則卡爾曼濾波器部分811、狀 態(tài)向量調(diào)節(jié)部分812以及校正再計算部分813。
現(xiàn)在將參考圖9的流程圖來描述圖8中運動濾波器組件75的操 作。由運動濾波器組件75之外的其他組件所執(zhí)行的所有步驟由通過 虛線繪制的框來表示。
移動電話70的用戶可以通過以常規(guī)方式使用相機模塊71中的 集成視頻記錄器72來捕捉視頻。捕捉期間除了移動電話70期望的 運動以及因此的視頻記錄器72的期望的運動之外,某些不期望的運 動將會發(fā)生。因此,數(shù)據(jù)處理器73負(fù)責(zé)通過執(zhí)行運動估計器組件74、 運動濾波器組件75以及運動校正器組件76來去除不期望的運動。
運動估計器組件74以常規(guī)方式確定所記錄的視頻幀中的原始運 動,也就是期望的運動加上不期望的運動(步驟IOI)。然后,將針 對各視頻幀n估計的原始運動Zn提供給運動濾波器組件75。
限制卡爾曼濾波器810的規(guī)則卡爾曼濾波器部分811將規(guī)則卡 爾曼濾波應(yīng)用到所接收到的原始運動zn,以獲取校正值Un (步驟 102)。在卡爾曼濾波中,使用大小為Kxi的狀態(tài)向量Xn,其從狀態(tài) 向量x^開始進(jìn)行,從而導(dǎo)致對所估計的在先前的視頻幀n-l中的原 始運動進(jìn)4亍卡爾曼濾波。
限制卡爾曼濾波器810的狀態(tài)向量調(diào)節(jié)部分812在其上將確定 的校正值Un與所允許的校正值d進(jìn)行比較(步驟103)。
如果所確定的校正值Un的絕對值不超過所允許的校正值d,則 立刻將所確定的校正值Un提供給運動校正器組件76,該組件76通
過確定的校正值Un來校正當(dāng)前視頻幀中的原始運動。到目前為止, 該處理可以對應(yīng)于常規(guī)運動濾波。
然而,如果所確定的校正值Un的絕對值超過所允許的校正值d, 則處理與常規(guī)的運動濾波有所不同。在此情況下,對狀態(tài)向量Xn的 所有元素進(jìn)行調(diào)節(jié),調(diào)節(jié)量與所確定的校正值Un的絕對值和所允許 的校正值d之間的差相關(guān)(步驟105)。然后基于新狀態(tài)向量Xn來 重新計算校正值Un (步驟106 )。
然后,將校正值Un提供給運動校正器組件76,該組件76通過 重新計算的校正值U。來校正當(dāng)前視頻幀n中的原始運動Zn (步驟
104)。隨后,針對后繼視頻幀n+l對估計的和提供的原始運動zn+1
進(jìn)行規(guī)則卡爾曼濾波(步驟102)中,所調(diào)節(jié)的狀態(tài)向量Xn用作針
對新狀態(tài)向量xn+1的基礎(chǔ)。所提出的限制卡爾曼濾波器810可以例 如提供用于水平運動,同時相同的限制卡爾曼濾波器810可以平行 地提供用于垂直運動。
對于每個方向,例如可以通過下列算法來實現(xiàn)用來穩(wěn)定幀n的
限制卡爾曼濾波 開始
<formula>formula see original document page 17</formula>
結(jié)束
該算法(III)接收所估計的第n個幀與第1個幀之間的全局位 移Zn以及對校正運動振幅的限制d作為輸入。其輸出將要應(yīng)用到當(dāng)
前幀n上用于穩(wěn)定的校正位移Un的量。采用的所有變量對應(yīng)于背景 技術(shù)部分中針對算法(I)的所介紹的各相同命名的變量。
可以看出,除了行8和9,算法(ni)對應(yīng)于上述的算法(i)。
行8中的新狀態(tài)更新等式具有下列效果每當(dāng)存在超過系統(tǒng)限制的
企圖時,則校正狀態(tài)向量Xn的所有元素。然后根據(jù)行9來使用校正 的狀態(tài)向量Xn,以確定最終的校正位移Un。狀態(tài)更新等式確保了就
當(dāng)前和先前的觀察而言,新狀態(tài)將是最可能的狀態(tài),同時考慮所施 加的系統(tǒng)限制。
例如,當(dāng)狀態(tài)向量Xn具有KX1=2><1的大小并包括作為元素的平 滑運動Sn和速度Vn時,該系統(tǒng)限制僅作用于狀態(tài)的第一元素Sn,其 不具有間隔[z" - 之外的值。行8中的狀態(tài)更新等式不僅將改變
狀態(tài)向量Xn的第一元素Sn,而且還改變速度Vn以根據(jù)系統(tǒng)限制對其 進(jìn)行調(diào)節(jié)。速度Vn的改變將僅對后續(xù)幀的運動濾波產(chǎn)生效應(yīng)。 該方法的效應(yīng)圖示于圖10和11中。
圖IO是圖示了兩維狀態(tài)空間中算法(III)的行8中所提議的狀 態(tài)更新等式的效應(yīng)的示圖,x軸表示狀態(tài)Sn,而y軸表示狀態(tài)向量
Xn的速度Vn。在X軸上,表示了原始運動Zn, 并且在運動才交正Zn-d 和Zn+d上的限制。
導(dǎo)致規(guī)則卡爾曼濾波的濾波運動sn (并因此在算法(III)的行5
上)假設(shè)為超過系統(tǒng)限制。相關(guān)的狀態(tài)向量Xn位于點81處。在常規(guī) 方法中,僅調(diào)節(jié)校正值IV狀態(tài)向量Xn保持在點81處。相比之下,
在算法(III)的行8所獲得的狀態(tài)向量位于點82處。給出所有觀察 的真實狀態(tài)的概率是圖10中由恒定輪廓橢圓83所圖示的高斯貝爾。 所提議方法提供的點82處的解決方案在于線段AB的中點,其中A 和B是恒定輪廓橢圓和zn+d處的垂直線的交叉點。這就是狀態(tài)空間 中這樣的點,其在所施加的系統(tǒng)限制下實現(xiàn)了最大概率。
圖11的圖示示例了當(dāng)所提議的方法被用來穩(wěn)定假設(shè)具有d=16 個像素的系統(tǒng)限制的特定測試視頻序列中垂直位移時的效果。該圖 示再次給出了針對視頻幀序列的垂直位置。第一曲線91表示初始運 動軌跡,即原始運動軌跡。第二曲線92表示通過對系統(tǒng)限制進(jìn)行常 規(guī)調(diào)節(jié)而獲得的濾波后軌跡。最后,第三曲線93表示通過提議的運 動濾波而獲得的濾波后軌跡。無論是否達(dá)到系統(tǒng)限制,軌跡92和93 均互不相同。在此情況中,常規(guī)解決方案92降低了穩(wěn)定性能,從而 滿足了系統(tǒng)限制,而所提議的濾波93保持了平滑軌跡,同時還顧及 了系統(tǒng)限制。
需要理解的是,通過調(diào)節(jié)上述針對卡爾曼濾波的算法(III)中 的一個或多個參數(shù),該算法可適用于各種情況。這些參數(shù)的各個值 可以提供為對該算法的進(jìn)一步的輸入數(shù)據(jù)。例如已經(jīng)由M. K. Giillii, E. Yamna和S. Ertiirk在 "Image sequence stabilization using fuzzy adaptive Kalman filtering" , Electronics Letters, Volume 39, Issue 5, 6 March 2003,頁429-431中提議將過程噪聲方差適應(yīng)于相機的運動特 征中,以確保針對低頻和高頻抖動而實現(xiàn)良好的穩(wěn)定性能。通過修 改卡爾曼濾波器的參數(shù),例如過程和觀察噪聲方差,可以實現(xiàn)平均 而言更近或更遠(yuǎn)離所估計的原始運動的濾波后運動軌跡,由此分別 需要更小或更大的校正位移。通常,平均校正位移越大,穩(wěn)定的運 動軌跡越平滑,但是超出系統(tǒng)限制的風(fēng)險也越高。在常規(guī)方法中, 并不能確保在濾波期間不超過系統(tǒng)限制。如果這發(fā)生的話,則只要 運動濾波所確定的校正值簡單地被系統(tǒng)截斷,結(jié)果將會很差。相比 之下,在所提供的實施方式中,確實克服了這種情況。因此,只要 超過了系統(tǒng)限制,則改變?yōu)V波器狀態(tài),從而將運動估計重新引導(dǎo)至 所允許的限制中的更平滑路徑。
在圖12中更詳細(xì)地圖示了圖7中移動電話70的運動濾波器組 件75的第二可能的實施方式。在第二實施方式中,運動濾波組件75 包括用于進(jìn)行旋轉(zhuǎn)補償?shù)牡?一 限制卡爾曼濾波器910 、平移限制確定 部分920、用于水平平移補償?shù)牡诙拗瓶柭鼮V波器930以及用于 垂直平移補償?shù)牡谌拗瓶柭鼮V波器940。限制卡爾曼濾波器910、 930、 940中的每一個可以基本上像圖8中的限制卡爾曼濾波器810 那樣實現(xiàn)和操作。
現(xiàn)在將參考圖13的流程圖以及圖14和圖15的示圖來描述圖12 中運動濾波器組件75的操作。由運動濾波器組件75之外的其他組 件所執(zhí)行的所有步驟由通過虛線繪制的框來表示。
移動電話70的用戶可以通過以常規(guī)方式使用相機模塊71中的 集成視頻記錄器72來捕捉視頻。捕捉期間除了移動電話70期望的 運動以及因此的視頻記錄器72的期望的運動之外,某些不期望的運 動將會發(fā)生。因此,數(shù)據(jù)處理器73負(fù)責(zé)通過執(zhí)行運動估計器組件74、 運動濾波器組件75以及運動校正器組件76來去除不期望的運動。 然而,在此情況中,不但應(yīng)用校正平移,而且同樣應(yīng)用校正旋轉(zhuǎn)。
運動估計器組件74以常規(guī)方式確定所記錄的視頻幀中的原始運 動,也就是期望的運動加上不期望的運動(步驟201)。然后,將針 對各視頻幀n估計的原始運動,包括旋轉(zhuǎn)、水平平移和垂直平移, 提供給運動濾波器組件75。
限制卡爾曼濾波器910應(yīng)用如參考圖9所描述的限制卡爾曼濾
波(步驟202)。這里,估計的原始旋轉(zhuǎn)用作輸入Zn。輸出Un是校
正旋轉(zhuǎn)值"。圖9中的限制卡爾曼濾波的系統(tǒng)限制d由可以應(yīng)用到旋 轉(zhuǎn)校正中的預(yù)定最大旋轉(zhuǎn)0£[ @'刮來給出。出于示意的目的,圖14給 出了輸入幀301和輸出幀302。而且,其還示出了可以應(yīng)用到輸入幀 301的最大旋轉(zhuǎn)0,同時還保持輸出幀302處于旋轉(zhuǎn)后輸入幀303所 定義的可視區(qū)域內(nèi)。最大旋轉(zhuǎn)角度0在所有幀處是相同的。其僅取決 于輸入幀301和輸出幀302之間的大小差,并且因此針對每個穩(wěn)定 系統(tǒng)而^f皮預(yù)先確定。
盡管旋轉(zhuǎn)限制是固定的并且獨立于平移校正,但該平移限制取 決于所確定的旋轉(zhuǎn)校正,如圖15所示。圖15再次示出了輸入幀301 和輸出幀302。而且,其示出了被旋轉(zhuǎn)了確定的旋轉(zhuǎn)校正8的輸入幀 304。可以看出,仍然可被應(yīng)用且不會4吏輸出幀乂人旋轉(zhuǎn)后輸入幀中移 出的最大水平平移是聘卜min{xi(e ^ &診》,而仍然可被應(yīng)用且不會使輸出
幀從旋轉(zhuǎn)后輸入幀中移出的最大垂直平移是y扭)-德wn&w。
平移限制確定部分920,因此將最大可接受平移限制計算為所確
定的旋轉(zhuǎn)校正G的函數(shù)(步驟230 ),并將該結(jié)果提供給第二限制卡 爾曼濾波器部分930和第三限制卡爾曼濾波器部分940。
第二限制卡爾曼濾波器部分930還執(zhí)行如參考圖9所描述的限 制卡爾曼濾波(步驟204)。這里,所估計的水平原始運動用作輸入 zn。圖9中限制卡爾曼濾波的系統(tǒng)限制d由所確定的仍然可以應(yīng)用的 最大水平平移x陶給出。輸出Un是校正水平平移值。而且,第三限 制卡爾曼濾波器部分940執(zhí)行如參考圖9所描述的限制卡爾曼濾波 (步驟205 )。這里,所估計的垂直原始運動用作輸入zn。圖9中限
制卡爾曼濾波的系統(tǒng)限制d由所確定的仍然可以應(yīng)用的最大水平平 移rw給出。輸出un是校正垂直平移值。
所確定的旋轉(zhuǎn)校正值e、所確定的校正水平平移值以及所確定的 校正垂直平移值提供給運動校正組件76,其通過每個所確定的校正 值來校正當(dāng)前視頻幀中的原始運動(步驟206)。根據(jù)圖13而應(yīng)用 到所估計的原始運動上的限制卡爾曼濾波過程的序列可以例如通過 下列算法來實現(xiàn)<formula>formula see original document page 21</formula>在該算法(IV)中,函數(shù)CKF1、 CKF2以及CKF3表示各自的 限制卡爾曼濾波算法,就像以上所給出的限制卡爾曼濾波算法(III) 一樣。算法(IV)接收三個運動參數(shù)作為輸入值,這三個參數(shù)估計 視頻序列中第n個視頻幀和第1個視頻幀之間的全局位移,這三個 參數(shù)即沿水平軸的所估計的原始平移《,沿垂直軸的所估計的原始 平移《,以及繞相機光學(xué)軸即圖像中心的所估計的原始旋轉(zhuǎn)e"e 。另夕卜, 其接收作為輸入值的最大旋轉(zhuǎn)校正 ,該最大旋轉(zhuǎn)校正G)相對于穩(wěn)定 系統(tǒng)的輸入幀大小和輸出幀大小是允許的。算法(IV)輸出旋轉(zhuǎn)和
平移的校正值,即,沿水平軸《的校正平移,沿垂直軸&的校正平 移,以及繞圖像中心的校正旋轉(zhuǎn)^。
盡管在應(yīng)用到本發(fā)明的優(yōu)選實施方式時示出、描述并指出了本 發(fā)明的基本新穎性特征,但需要理解的是,在對所描述的設(shè)備和方 法的細(xì)節(jié)和形式方面的各種省略、替代和改變都可以由本領(lǐng)域技術(shù) 人員在不偏離本發(fā)明的實質(zhì)的情況下做出。例如,很清楚,以基本 相同的方式執(zhí)行基本上相同功能從而實現(xiàn)相同結(jié)果的那些元素和/或 方法步驟的所有組合均落在本發(fā)明的范圍之內(nèi)。此外,需要意識到, 結(jié)合任何公開形式或本發(fā)明實施方式所描述和/或示出的結(jié)構(gòu)和/或 元素和/或方法步驟可以以任何其他公開的、描述的或建議的形式或 作為設(shè)計選擇的一般情況的實施方式來結(jié)合。因此,本發(fā)明的限制 僅由所附權(quán)利要求書的范圍來指示。
權(quán)利要求
1.一種用于將視頻穩(wěn)定系統(tǒng)的運動濾波器應(yīng)用到視頻幀序列的方法,所述方法包括,針對當(dāng)前視頻幀接收相較于所述視頻幀序列的第一視頻幀的所述當(dāng)前視頻幀中的運動估計;基于所述運動估計和所述運動濾波器的至少一個狀態(tài)變量來計算針對所述當(dāng)前視頻幀中運動的校正值,其中所述至少一個狀態(tài)變量在所述計算中更新;當(dāng)所計算的校正值超過所述視頻穩(wěn)定系統(tǒng)的系統(tǒng)限制時,根據(jù)所述系統(tǒng)限制被超過的程度來調(diào)節(jié)所述至少一個狀態(tài)變量,并基于所述運動估計和所調(diào)節(jié)的狀態(tài)變量來重新計算所述校正值。
2. 根據(jù)權(quán)利要求1所述的方法,其中,所述系統(tǒng)限制涉及輸入 到所述視頻穩(wěn)定系統(tǒng)的視頻幀大小與由所述視頻穩(wěn)定系統(tǒng)輸出的牙見 頻幀大小之間的差異。
3. 根據(jù)權(quán)利要求1所述的方法,其中,所述計算針對所述當(dāng)前 視頻幀中運動的校正值包括使用卡爾曼濾波器,并且其中,所述至 少 一個狀態(tài)變量是所述卡爾曼濾波器的狀態(tài)變量。
4. 根據(jù)權(quán)利要求1所述的方法,其中,所述至少一個狀態(tài)變量 包括表示所述當(dāng)前視頻幀中期盼運動的變量,和表示所述期盼運動 的設(shè)想速度的變量。
5. 根據(jù)權(quán)利要求1所述的方法,其中,所述運動是水平平移、 垂直平移和旋轉(zhuǎn)中至少其一。
6. 根據(jù)權(quán)利要求5所述的方法,其中,計算所述校正值,并且 如果需要的話,以針對旋轉(zhuǎn)再針對水平和垂直方向中的平移的順序 來計算,并且其中,針對所述運動類型中至少其一的系統(tǒng)限制被確定為針對所述運動類型中至少另一個所得的校正值的函數(shù)。
7. —種視頻穩(wěn)定系統(tǒng),包括運動濾波器,所述運動濾波器包括: 處理部分,適用于接收相較于 一見頻幀序列的第 一 一見頻幀的當(dāng)前視頻幀中的運動估計,并基于所述運動估計和所述運動濾波器的至 少 一 個狀態(tài)變量來計算針對所述當(dāng)前視頻幀中運動的校正值,其中所述至少一個狀態(tài)變量在所述計算中更新;以及處理部分,適用于當(dāng)所計算的校正值超過所述視頻穩(wěn)定系統(tǒng)的 系統(tǒng)限制時,根據(jù)所述系統(tǒng)限制被超過的程度來調(diào)節(jié)所述至少 一 個 狀態(tài)變量,并基于所述運動估計和所調(diào)節(jié)的狀態(tài)變量來重新計算所 計算的校正值。
8. 根據(jù)權(quán)利要求7所述的視頻穩(wěn)定系統(tǒng),其中,適用于調(diào)節(jié)所 述至少一個狀態(tài)變量的所述處理部分適用于調(diào)節(jié)表示所述當(dāng)前視頻 幀中期盼運動的變量,以及表示所述期盼運動的設(shè)想速度的變量。
9. 根據(jù)權(quán)利要求7所述的視頻穩(wěn)定系統(tǒng),其中,所述運動是水 平平移、垂直平移和旋轉(zhuǎn)中至少其一,其中,所述處理部分適用于 計算校正值,并且如果需要的話,以針對旋轉(zhuǎn)再針對水平和垂直方 向中的平移的順序來重新計算所述校正值,并且其中,適用于調(diào)節(jié)中至少其 一 的系統(tǒng)限制確定為針對所述運動類型中至少另 一 個所得的校正值的函數(shù)。
10. 根據(jù)權(quán)利要求7所述的視頻穩(wěn)定系統(tǒng),進(jìn)一步包括運動估 計器,適用于確定所述運動估計;以及運動校正器,適用于基于由 所述運動濾波器計算或重新計算的校正值來校正各視頻幀中的運動。
11. 一種視頻處理芯片組,包括具有運動濾波器的視頻穩(wěn)定系 統(tǒng),其中,所述運動濾波器包括處理部分,適用于接收相較于視頻幀序列的第 一 浮見頻幀的當(dāng)前 視頻幀中的運動估計,并基于所述運動估計和所述運動濾波器的至 少 一個狀態(tài)變量來計算針對當(dāng)前視頻幀中運動的校正值,其中所述 至少一個狀態(tài)變量在所述計算中更新;以及處理部分,適用于當(dāng)所計算的校正值超過所述視頻穩(wěn)定系統(tǒng)的 系統(tǒng)限制時,根據(jù)所述系統(tǒng)限制被超過的程度來調(diào)節(jié)所述至少 一 個狀態(tài)變量,并基于所述運動估計和所調(diào)節(jié)的狀態(tài)變量來重新計算所 計算的校正值。
12. —種相機模塊,包括視頻記錄組件和具有運動濾波器的視頻 穩(wěn)定系統(tǒng),其中,所述運動濾波器包括處理部分,適用于接收相4交于—見頻幀序列的第 一碎見頻幀的當(dāng)前 視頻幀中的運動估計,并基于所述運動估計和所述運動濾波器的至 少 一個狀態(tài)變量來計算針對當(dāng)前視頻幀中運動的校正值,其中所述 至少一個狀態(tài)變量在所述計算中更新;以及處理部分,適用于當(dāng)所計算的校正值超過所述視頻穩(wěn)定系統(tǒng)的 系統(tǒng)限制時,根據(jù)所述系統(tǒng)限制被超過的程度來調(diào)節(jié)所述至少 一 個 狀態(tài)變量,并基于所述運動估計和所調(diào)節(jié)的狀態(tài)變量來重新計算所 計算的校正值。
13. —種電子設(shè)備,包括具有運動濾波器的視頻穩(wěn)定系統(tǒng),其中, 所述運動濾波器包括處理部分,適用于接收相較于視頻幀序列的第一視頻幀的當(dāng)前 視頻幀中的運動估計,并基于所述運動估計和所述運動濾波器的至 少 一個狀態(tài)變量來計算針對當(dāng)前視頻幀中運動的校正值,其中所述 至少一個狀態(tài)變量在所述計算中更新;以及處理部分,適用于當(dāng)所計算的校正值超過所述視頻穩(wěn)定系統(tǒng)的 系統(tǒng)限制時,根據(jù)所述系統(tǒng)限制被超過的程度來調(diào)節(jié)所述至少 一 個 狀態(tài)變量,并基于所述運動估計和所調(diào)節(jié)的狀態(tài)變量來重新計算所 計算的校正值。
14. 根據(jù)權(quán)利要求13所述的電子設(shè)備,其中,所述電子設(shè)備包 括^L頻處理芯片組,其包括至少一個芯片,所述^L頻穩(wěn)定系統(tǒng)集成 在所述芯片組中。
15. 根據(jù)權(quán)利要求13所述的電子設(shè)備,其中,所述電子設(shè)備是 移動電子設(shè)備。
16. 根據(jù)權(quán)利要求15所述的電子設(shè)備,進(jìn)一步包括用于捕捉視 頻幀序列的 一見頻記錄組件。
17. —種軟件程序產(chǎn)品,其中存儲有軟件代碼,用于將視頻穩(wěn)定 系統(tǒng)的運動濾波器應(yīng)用到視頻幀的序列,所述軟件代碼在被電子設(shè) 備的處理器執(zhí)行的時候?qū)崿F(xiàn)下列步驟接收相較于所述視頻幀序列的第 一視頻幀的所述當(dāng)前視頻幀中 的運動估計;基于所述運動估計和所述運動濾波器的至少一個狀態(tài)變量來計 算針對所述當(dāng)前視頻幀中運動的校正值,其中所述至少 一個狀態(tài)變 量在所述計算中更新;以及當(dāng)所計算的校正值超過所述視頻穩(wěn)定系統(tǒng)的系統(tǒng)限制時,根據(jù) 所述系統(tǒng)限制被超過的程度來調(diào)節(jié)所述至少 一個狀態(tài)變量,并基于 所述運動估計和所調(diào)節(jié)的狀態(tài)變量來重新計算所述校正值。
18. 根據(jù)權(quán)利要求17所述的軟件程序產(chǎn)品,其中,所述至少一 個狀態(tài)變量包括表示所述當(dāng)前視頻幀中期盼運動的變量,和表示所 述期盼運動的設(shè)想速度的變量。
19. 根據(jù)權(quán)利要求17所述的軟件程序產(chǎn)品,其中,所述運動是 水平平移、垂直平移和旋轉(zhuǎn)中至少其一,并且其中,計算所述校正 值,并且如果需要的話,以針對旋轉(zhuǎn)再針對水平和垂直方向中的平移的順序來重新計算所述校正值,并且其中,將針對所述運動類型 中至少其 一 的系統(tǒng)限制確定為針對所述運動類型中至少另 一 個所得的校正值的函數(shù)。
全文摘要
為了將視頻穩(wěn)定系統(tǒng)的運動濾波器應(yīng)用到視頻幀的序列,接收對相較于該視頻幀序列的第一視頻幀的當(dāng)前視頻幀中運動的估計?;谠摻邮盏降倪\動估計和該運動濾波器的至少一個狀態(tài)變量,計算當(dāng)前視頻幀中針對運動的校正值。該至少一個狀態(tài)變量在計算中更新。當(dāng)所計算的校正值超過視頻穩(wěn)定系統(tǒng)的系統(tǒng)限制時,根據(jù)系統(tǒng)限制被超過的程度來調(diào)節(jié)該至少一個狀態(tài)變量。基于該運動估計和所調(diào)節(jié)的狀態(tài)變量來重新計算該校正值。
文檔編號G06T7/20GK101208722SQ200680023084
公開日2008年6月25日 申請日期2006年6月6日 優(yōu)先權(quán)日2005年6月30日
發(fā)明者M·弗維萊南, M·蒂科 申請人:諾基亞公司