專利名稱:數(shù)字圖像穩(wěn)定設(shè)備和方法
技術(shù)領(lǐng)域:
本發(fā)明構(gòu)思這里涉及數(shù)字圖像穩(wěn)定(DIS),而且更具體地,涉及檢測、選擇、和分組用于數(shù)字圖像穩(wěn)定的特征點的方法。
背景技術(shù):
數(shù)字照相機、數(shù)字攝像機和包括這樣的攝像頭的手持設(shè)備常常用來在攝像頭在人類操作員的手中操作時捕獲圖像或視頻。因此,在捕獲圖像或視頻時攝像頭可能在操作員手中搖晃或抖動。該抖動可以包括水平分量、垂直分量、和旋轉(zhuǎn)分量。旋轉(zhuǎn)可以沿與圖像捕獲電路的聚焦平面垂直的軸,或者沿與圖像捕獲電路的聚焦平面平行的軸,或者沿在垂直軸與平行軸之間歪斜的軸。抖動可以使得手捕獲的視頻讓觀看者分心或迷惑,因此期望使用數(shù)字電路來數(shù)字估計攝像頭軌跡(即,在每對連續(xù)幀之間檢測的抖動)并且從相同場景的視頻幀的序列中過濾該抖動。用于估計連續(xù)視頻幀之間的攝像頭軌跡并且用于從視頻幀的序列中過濾由攝像頭軌跡造成的抖動的電路可以包含在攝像機本身中,并且在存儲捕獲的視頻幀之前(例如,如果攝像機包括實時MPEG編碼器則在MPEG編碼之前或在其期間) 被激活以實時取消抖動。替換地,用于估計連續(xù)視頻幀之間的攝像頭軌跡并且用于從視頻幀的存儲序列中過濾抖動的電路可以是由實現(xiàn)數(shù)字圖像穩(wěn)定(DIQ方法的軟件控制的通用微型計算機,或者可以是專用硬件,諸如嵌入在優(yōu)化用于執(zhí)行數(shù)字圖像穩(wěn)定(DIQ方法的ASIC(專用集成電路)中的MPEG視頻編碼器。通過穩(wěn)定的、固定或移動攝像機產(chǎn)生的視頻在捕獲的視頻中主要包含平滑的運動 (平移、旋轉(zhuǎn))。另一方面,不穩(wěn)定的攝像機產(chǎn)生貫穿視頻圖像中具有高頻抖動(平移和/ 或旋轉(zhuǎn))的視頻。從物理成像設(shè)備捕獲的數(shù)字圖像序列常常顯示不希望的高頻抖動運動。圖像序列中呈現(xiàn)的抖動運動的量取決于圖像捕獲設(shè)備相對于捕獲序列中的對象的物理性質(zhì)。景深和成像器的底座的不穩(wěn)定性(取決于底座的重量、慣量、平衡)組合以產(chǎn)生不希望的抖動全局運動。數(shù)字圖像穩(wěn)定(DIQ系統(tǒng)首先估計不希望的(無意的)運動,然后對圖像序列施加校正。穩(wěn)定視頻的視覺效果高度依賴于攝像頭軌跡估計的質(zhì)量。數(shù)字圖像穩(wěn)定(DIS)算法使用有效跟蹤的特征點來估計兩個連續(xù)幀之間的抖動運動。數(shù)字視頻穩(wěn)定采用硬件和/ 或軟件方法,用于從包含由不穩(wěn)定攝像機造成的不期望抖動運動的不穩(wěn)定的視頻中產(chǎn)生空間穩(wěn)定的視頻。在傳統(tǒng)DIS技術(shù)中,通過分析場景中不同的點的運動矢量來檢測攝像頭運動。但是運動矢量可以由對象運動以及攝像頭運動引起。存在這樣的函數(shù),其提供幀的每個像素的數(shù)字分數(shù),指示該點作為在時間相鄰的幀中能夠檢測的特征點有多合適。這樣的函數(shù)的一個示例是哈里斯角點檢測器(Harris Corner Detector)。然而,特征點的幅度對于圖像的不同部分通常很不同。DIS方法可以采用全局閾值與每個像素的數(shù)字分數(shù)進行比較,這并不必然導(dǎo)致特征點的最優(yōu)分布。因此,在低對比度的區(qū)域(例如,無云的藍天導(dǎo)致稀散的或沒有特征點)中可能特征點太少,而在具有許多結(jié)構(gòu)的區(qū)域中,特征點可能彼此過于接近。特征點的分布不當(dāng)可能增加計算過于接近的特征點的冗余運動矢量的計算負擔(dān),并且可能無法提供準確的運動矢量。在數(shù)字圖像穩(wěn)定(DIS)方法的實施方式中,期望最小化計算開銷以便減少電路的功耗和減少執(zhí)行DIS方法所需的時間。還期望檢測和測量攝像頭的軌跡并準確地刻畫抖動以使得可以從存儲/顯示的視頻中正確地補償和正確地取消抖動。在數(shù)學(xué)中,仿射幾何是通過仿射變換(即,非單線性變換和轉(zhuǎn)換)依然不改變的幾何性質(zhì)的研究。已經(jīng)發(fā)展了被稱為仿射矩陣的由數(shù)字系數(shù)定義的數(shù)學(xué)方程組來刻畫在每對連續(xù)幀之間或在其各部分(例如,幀中的運動對象)之間檢測的運動的橫向(上/下)、旋轉(zhuǎn)、和標(biāo)量(例如,放大或縮小)。因此,抖動可以通過被稱為主變換或全局變換的相對于場景中的任何實際固定對象(例如,巖石、桌子、停駐的汽車、高山、太陽)的第一仿射變換矩陣來刻畫,同時幀中的任何運動對象(例如,鳥、人、球、移動的車)可以通過另外的仿射矩陣來刻畫。主變換(主幀間變換)指示可能由用戶的手抖動造成的攝像頭運動,其可以通過檢測與在時間t捕獲的每個幀的實際固定對象關(guān)聯(lián)的一個或多個興趣點(稱為“特征點”)、 然后在時間相鄰幀(t+ι)中搜索相同的特征點、并且計算每個特征點的運動矢量來計算。 與特定對象關(guān)聯(lián)(一起分組)的多個運動矢量然后被用于計算該對象的仿射變換,其根據(jù)仿射公式定義其檢測的運動X, = SX 氺 x+ry 氺 y+txy' = rx 氺 x+sy 氺 y+ty可以使用在視頻壓縮領(lǐng)域中采用的各種搜索方法來計算連續(xù)幀之間特征點的運動矢量。這樣的搜索方法可以在兩個時間相鄰幀中采用諸如絕對差值和(SAD)、平均絕對差值(MAD)、或平均平方差(MSE)的宏塊的數(shù)學(xué)比較(例如,通過將當(dāng)前幀中包含特征點的 8X8像素宏塊與以特征點的位置為中心的參考幀(t+Ι)中的搜索區(qū)域中的多個8X8像素宏塊進行比較來搜索參考幀(t+Ι)中特征點的位置)。在時間相鄰幀(t和t+Ι)之間以特征點為中心的宏塊的位移的測量的量和方向被稱為特征點的“運動矢量”。在各種選擇范圍內(nèi)使用塊匹配算法(BMA)的現(xiàn)有技術(shù)的運動矢量估計方法在美國專利6,895,361(發(fā)明人 Yang)和7,680,186(發(fā)明人Lee)中描述,其通過引用合并于此。視頻穩(wěn)定算法可以消除抖動運動,同時保持用戶有意的攝像頭運動。通常,抖動是由手晃動和平臺振動引起的,所述手晃動和平臺振動將是更快的(即,更高頻)和非線性的,而攝像頭運動將是更慢的并且是線性的或單調(diào)的。全局運動(攝像頭軌跡)矢量被包括在補償變換P(n)的仿射變換參數(shù)中,所述補償變換P(η)是使用匹配的特定點對在相鄰幀之間估計的。用于補償照攝像頭抖動的補償變換P(η)可以被特征化為與場景中任何實際固定對象(例如,巖石、桌子、停放的車輛、高山、太陽)相關(guān)的第一仿射變換矩陣。在幾乎所有情況下,手晃動和平臺振動可能導(dǎo)致視頻幀的平移、旋轉(zhuǎn)和縮放。為了對這些進行建模,需要六參數(shù)仿射變換。即使正確地產(chǎn)生了補償變換Ρ(η)以便補償無意的抖動運動,作為結(jié)果的補償幀仍可能具有相對于捕獲的輸入視頻幀的顯著振蕩移動,并且可能延伸超出在一些捕獲的輸入視頻幀中可用的圖像數(shù)據(jù)。這導(dǎo)致補償窗口的過度偏離。
為了移除視頻中的抖動運動,補償單元裁剪掉每個輸入視頻幀的一些邊界區(qū)域。 移除的邊界區(qū)域的量可以被量化為裁剪率。大的裁剪率意味著邊界處的更多區(qū)域被移除。 可以將輸出視頻幀建模為疊加在輸入視頻幀上的補償窗口(參見,例如,圖1)。補償窗口可以相對于輸入視頻幀被旋轉(zhuǎn)、偏移、縮放等。對于給定裁剪率,補償窗口的移動的量被稱為補償窗口偏離。補償窗口超出輸入視頻幀邊界的移動被稱為補償窗口過度偏離。如果沒有抖動(無無意的攝像頭軌跡),則預(yù)期(基于實際上固定的對象的特征點的)補償變換P(n)在兩個或多個連續(xù)幀的每個幀中處于相同位置(例如,UNITY)。如果有高頻抖動,則期望產(chǎn)生具有降低程度或降低頻率的補償窗口過度偏離的空間上穩(wěn)定的視頻。因此,需要自適應(yīng)地在不足的視頻穩(wěn)定和過度偏離之間進行平衡的濾波方法。
發(fā)明內(nèi)容
本發(fā)明構(gòu)思的一方面提供識別特征點、并導(dǎo)出由于全局移動或攝像頭移動而以一致方式移動的特征點的運動矢量、同時準確用于DIS目的的高效率過程。用于DIS算法的良好特征點是當(dāng)應(yīng)用合適的運動估計算法時給出單值的運動矢量的點。為了識別圖像中的特征點,應(yīng)用于視頻幀的像素的哈里斯角點檢測器估計每個像素有多適合作為特征點。圖像的不同區(qū)域具有識別的特征點候選者的不同密度。公開的光柵掃描順序選擇和揀選的方法基于視頻幀的小區(qū)域(稱為瓦片(tile))提供最終的特征點分布,其中特征點的最大數(shù)量隨瓦片的亮度圖像數(shù)據(jù)的方差σ 2線性增長。每個視頻幀被劃分為較小數(shù)量j Xk個瓦片。數(shù)量j Xk個瓦片可以從用于SD視頻的4X4到用于HD視頻的6X6或更大;在(4. . 8) X (4. . 8)的范圍內(nèi)的其他數(shù)量也是可能的并且可以是有益的。選擇瓦片尺寸以使得獨立移動的足夠大的對象覆蓋至少一個瓦片的大部分,從而可以捕獲它們的運動用于DIS目的,同時忽略小對象的運動。具有更多感興趣圖像數(shù)據(jù)并且因而需要更多特征點的瓦片預(yù)期具有較高的方差 σ 2。特征點揀選算法找到特征點之間的可編程的最小距離但是需要最少的硬件存儲器。分級運動估計算法可以用來估計從幀到幀的特征點移動,其中關(guān)于后一搜索級別的可編程運動范圍是有意的小,從而優(yōu)選大對象或全局移動而非局部移動。因此,最小化所需的操作數(shù)量,同時結(jié)果足夠準確用于數(shù)字圖像穩(wěn)定應(yīng)用。對于例如通過揀選算法選擇的每個特征點,在使用的開始矢量的小范圍中通過塊匹配確定其運動矢量。開始矢量是包含當(dāng)前特征點的瓦片和周圍瓦片(例如,上、下、左、 右)的瓦片運動矢量。瓦片運動估計是導(dǎo)出特征點的運動矢量的過程的第一步?;诟采w輸入圖像的中心部分的非重疊瓦片(例如,在特征點揀選算法中使用的相同瓦片)完成瓦片運動估計。對于每個瓦片的瓦片運動估計,在下采樣圖像上執(zhí)行全塊匹配搜索。當(dāng)前幀通過用于標(biāo)清(SD)視頻的四到八或用于高清(HD)視頻的八到十六的第二下采樣系數(shù)fs2進行下采樣。在該下采樣域中,對每個瓦片完成全搜索塊匹配并且存儲瓦片矢量以備后用(例如,作為用于導(dǎo)出特征點的運動矢量的開始矢量)。將為每個瓦片估計一個運動矢量,以最低分辨率進行全搜索,通過下采樣亮度數(shù)據(jù)的第二下采樣系數(shù)fs2進行下采樣,并且將產(chǎn)生最低SAD的運動矢量候選者分配到每個瓦片。根據(jù)實施例,對于邊界瓦片,可以將搜索限制在可用的搜索區(qū)域,因此不會產(chǎn)生導(dǎo)致參考塊(部分地)在搜索區(qū)域外部的運動矢量。相對于使用的分辨率,瓦片運動搜索將產(chǎn)生半像素精度矢量搜索區(qū)域?qū)⑼ㄟ^簡單雙線性插值進行上采樣。這僅使用非常少的本地存儲器,因此節(jié)約VLSI實施方式中的存儲器和邏輯區(qū)域。本發(fā)明構(gòu)思的一個方面提供數(shù)字圖像穩(wěn)定(DIQ方法,包括特征點運動矢量分組過程,用于基于特征點的運動矢量幅度比和它們的運動矢量之間的角度差來將特征點對分組。提供一種處理視頻數(shù)據(jù)的方法,包括接收代表第一幀的第一圖像數(shù)據(jù);識別第一幀中的多個特征點;接收代表第二幀的第二圖像數(shù)據(jù);導(dǎo)出與每個特征點對應(yīng)的運動矢量;選擇運動矢量中的第一運動矢量作為當(dāng)前矢量A,并且選擇運動矢量中的第二運動矢量作為當(dāng)前矢量B ;以及基于矢量A和矢量B的矢量幅度比和它們的角度差來比較矢量A和矢量 B0該方法還可以包括設(shè)置幅度比閾值和角度差閾值;以及如果矢量A和矢量B的矢量幅度比落入幅度比閾值內(nèi)且它們的角度差落入角度差閾值內(nèi)則將矢量A和矢量B分組在一起。根據(jù)另一個方面,包括如果它們的矢量幅度比落入幅度比閾值之外或如果它們的角度差落入角度差閾值之外則不將矢量A和矢量B分組在一起。根據(jù)本發(fā)明構(gòu)思的實施例,提供一種視頻處理電路,包括特征點電路,配置為識別第一幀中的多個特征點并為每個特征點導(dǎo)出第一幀與第二幀之間的運動矢量;配對控制器,配置為選擇運動矢量中的一個作為當(dāng)前矢量A (xa, ya),并且選擇運動矢量中的不同的一個作為當(dāng)前矢量B(xb,yb);幅度比比較器,配置為基于矢量A和矢量B的幅度比來比較矢量A和矢量B ;以及矢量角度比較器,配置為基于矢量A和矢量B的角度差來比較矢量A 和矢量B。根據(jù)示范性實施例,提供一種處理視頻數(shù)據(jù)的方法,包括估計視頻數(shù)據(jù)的第一幀中每個特征點的運動矢量;基于矢量幅度比和角度差將運動矢量分組為運動矢量組;以及選擇包含代表第一幀的場景內(nèi)固定對象的移動的運動矢量的組。該方法還可以包括使用下采樣亮度數(shù)據(jù)估計從第一幀的一部分劃分的多個瓦片的每個的運動矢量,并且選擇具有最低絕對差值和(SAD)的瓦片運動矢量候選者;以及基于矢量幅度比和角度差將瓦片運動矢量分組為瓦片運動矢量組。根據(jù)本發(fā)明構(gòu)思的實施例,提供一種攝像頭,包括圖像捕獲電路,配置為捕獲圖像并且將多個圖像轉(zhuǎn)換為圖像數(shù)據(jù)的第一幀和第二幀;以及視頻處理電路芯片,包括特征點電路,配置為識別第一幀中的多個特征點并為每個特征點導(dǎo)出第一幀與第二幀之間的運動矢量;配對控制器,配置為選擇特征點的運動矢量當(dāng)中的每對運動矢量;幅度比比較器,配置為基于它們的矢量幅度比來比較每對運動矢量;以及矢量角度比較器,配置為基于它們的矢量角度差來比較每對運動矢量。本發(fā)明構(gòu)思的一方面提供一種數(shù)字圖像穩(wěn)定方法,包括基于補償窗口過度偏離的歷史,自適應(yīng)地濾波代表視頻幀的場景中的固定/背景對象的主/補償變換P(n)。本發(fā)明構(gòu)思的一方面提供一種使用強補償(SC)濾波器的高效且可預(yù)測的抖動消除方法。該SC濾波器是高頻率選擇性高階線性時間不變數(shù)字濾波器。使用SC濾波器對非常抖動的輸入視頻的有效濾波暗示捕獲的輸入視頻幀中補償窗口的顯著移動。對于給定裁剪率,補償窗口的移動量被稱為補償窗口偏離。補償窗口超出捕獲的輸入視頻幀邊界的移動被稱為補償窗口過度偏離。SC濾波器對于大移動輸入視頻的嚴格應(yīng)用將以大量補償窗口過度偏離為代價而產(chǎn)生非常穩(wěn)定的輸出視頻。另一方面,具有更低頻率選擇特性的弱補償 (WC)濾波器將以更不穩(wěn)定的輸出視頻為代價而產(chǎn)生較少的補償窗口過度偏離本發(fā)明構(gòu)思的一方面提供一種自適應(yīng)補償(AC)濾波器,其被配置為對于大移動輸入視頻防止過量過度偏離,同時保持出色的視頻穩(wěn)定特性。在本發(fā)明構(gòu)思的示范性實施例中,包括WC濾波器的因果線性時間不變?yōu)V波器補充SC濾波器,以便產(chǎn)生可預(yù)測的特性??梢曰谠诙鄠€K幀上的補償窗口偏離歷史來控制組合WC/SC濾波器。歷史中的小偏離允許SC濾波器對當(dāng)前幀η的更大影響,而歷史中的大偏離準許WC濾波器對于當(dāng)前幀η的更大影響。歷史中的中度偏離分配SC濾波器和WC濾波器的成比例的影響。本發(fā)明的另一方面提供一種數(shù)字圖像穩(wěn)定電路,其被適配為執(zhí)行這里公開的DIS 方法。該電路可以被包括在攝像機本身中,并且被激活以在存儲捕獲的視頻幀之前(例如, 如果攝像機包括實時MPEG編碼器,則在MPEG編碼之間或期間)實時地消除抖動。替換地, 用于估計連續(xù)視頻幀之間的攝像頭軌跡并從存儲的視頻幀序列中濾除抖動的DIS電路可以是由采用數(shù)字圖像穩(wěn)定(DIQ方法的軟件控制的通用微計算機,或者可以是專用硬件, 諸如在被優(yōu)化為執(zhí)行數(shù)字圖像穩(wěn)定(DIS)方法的ASIC(專用集成電路)中實現(xiàn)的MPEG視頻編碼器。下面將參考附圖更詳細地描述本發(fā)明構(gòu)思的示范性實施例。然而,本發(fā)明構(gòu)思可以以不同形式來體現(xiàn),并且不應(yīng)被理解為限制于這里提出的實施例。相反,這些實施例被提供來使得本公開將是全面的和完整的,并且將本發(fā)明構(gòu)思的范圍完全傳達給本領(lǐng)域技術(shù)人員。貫穿附圖,相似數(shù)字指代相似元素。
包括附圖以提供本發(fā)明構(gòu)思的進一步的理解,并且合并和構(gòu)成本說明書的一部分。
本發(fā)明構(gòu)思的示范性實施例,并且與說明書一起用來解釋本發(fā)明的原理。附圖中圖IA到IF是用于說明根據(jù)本發(fā)明構(gòu)思的示范性實施例的數(shù)字圖像穩(wěn)定方法中的步驟的當(dāng)前幀和參考幀、以及其選擇的特征點和運動矢量的視圖;圖2Α是依據(jù)圖IA到IF中說明的DIS方法中的步驟的包含圖IA的當(dāng)前幀F(xiàn)t、并且劃分為邊界區(qū)域和核心區(qū)域中的jXk多個瓦片的圖IE的捕獲幀的圖;圖2B是依據(jù)圖IA到IF中說明的DIS方法中的步驟的說明選擇的、拒絕的、和取消的特征點的圖2A的圖像幀的核心區(qū)域中的一個瓦片的圖;圖3是根據(jù)本發(fā)明構(gòu)思的實施例的配置為執(zhí)行DIS過程的電路塊的圖;圖4A和4B是用于執(zhí)行圖IA到IF中說明的DIS方法中的步驟的識別和選擇圖IA 和2A的圖像幀的每個瓦片中的多個特征點的方法的流程圖;圖5是用于說明圖IA到IF中說明的DIS方法中的運動矢量計算步驟的利用其上添加的瓦片運動矢量下采樣的圖IA的當(dāng)前幀F(xiàn)t的視圖;圖6是圖5的下采樣幀中的瓦片的一部分的視圖,其說明使用圖5的瓦片運動矢量作為用于塊匹配搜索的開始矢量以計算圖IA到IF中說明的DIS方法中使用的選擇的特征點的運動矢量;圖7是用于執(zhí)行圖IA到IF中說明的DIS方法中的步驟的計算圖IA和2A的圖像幀中選擇的特征點的運動矢量的方法的流程圖;圖8A是當(dāng)攝像頭僅具有平移運動而沒有旋轉(zhuǎn)分量時在距攝像頭相同距離的視頻場景中相同的實際固定對象的兩個特征點的運動矢量的圖;圖8B是當(dāng)攝像頭具有旋轉(zhuǎn)分量時距攝像頭相同距離的實際固定對象的兩個特征點的運動矢量的圖;圖8C是當(dāng)攝像頭僅具有平移運動而沒有旋轉(zhuǎn)分量時距攝像頭不同距離的相同的實際固定對象的兩個特征點的運動矢量的圖;圖9A和9B是視頻場景中實際固定對象的特征點的兩對運動矢量的圖,用于說明即使四個運動矢量的方向和幅度全部不同時每個對也可以具有相同的矢量幅度差;圖10示出說明用于圖IA到IF中說明的DIS方法中的特征點分組的角度差的間接測量的歸一化矢量差的計算的三個矢量圖;圖11是用于執(zhí)行圖IA到IF中說明的DIS方法中圖ID的矢量分組步驟的使用圖 10AU0BU0C的歸一化矢量差來間接測量圖IA和2A的圖像幀中選擇的特征點的運動矢量之間的角度差的分組算法的流程圖;圖12是歸一化矢量差(a-b)的幅度| (a_b) |與歸一化矢量差(a-b)的幅度比b 作為角度差θ的函數(shù)的曲線圖,其說明用于在圖11的分組算法的步驟中使用近似的可用性;圖13是包括配置為執(zhí)行圖11的特征點分組算法的分組算法電路1310的特征點分組電路的框圖;圖14是依據(jù)本發(fā)明構(gòu)思的示范性實施例的執(zhí)行數(shù)字圖像穩(wěn)定(DIS)方法的數(shù)字圖像穩(wěn)定(DIS)電路的框圖;圖15是圖14的DIS電路中被適配為計算瓦片矢量組的仿射變換的檢測單元的框圖;圖16是圖14的DIS電路中被適配為基于為瓦片組變換和特征組變換Ti (η)評分而選擇主(穩(wěn)定/背景)變換P (η)的軌跡單元(TU)的框圖;圖17Α是被配置為執(zhí)行圖1的DIS電路的DIS方法中的步驟的組變換評分和選擇電路的示范性實現(xiàn)的框圖;圖17Β是歷史評分單元的示范性實現(xiàn)的框圖;圖18是集合變換評分和選擇電路的示范性實現(xiàn)的框圖;圖19是圖示移動對象排除電路的示范性實施例的框圖;圖20是圖示根據(jù)本發(fā)明構(gòu)思的實施例的處理步驟的流程圖;圖21是依據(jù)本發(fā)明構(gòu)思的示范性實施例的數(shù)字圖像穩(wěn)定(DIS)方法的步驟中的捕獲的視頻幀、以及在其中計算的補償窗口的視圖;圖22是執(zhí)行DIS的數(shù)字圖像穩(wěn)定(DIS)模塊的框圖;圖23是依據(jù)本發(fā)明構(gòu)思的示范性實施例的自適應(yīng)補償濾波器模塊方法的框圖; 以及圖M是依據(jù)本發(fā)明構(gòu)思的自適應(yīng)補償濾波器模塊的示意性框圖。
具體實施例方式圖IA到IF是用于說明根據(jù)本發(fā)明構(gòu)思的示范性實施例的數(shù)字圖像穩(wěn)定方法中的步驟的當(dāng)前幀和參考幀、以及其選擇的特征點和運動矢量的視圖。圖IA示出場景的兩個連續(xù)視頻幀,當(dāng)前幀F(xiàn)t和參考幀F(xiàn)t+1。場景包括例如山坡 (在前景中)、電線桿、高山、和太陽的固定對象、以及例如左上的鳥的運動對象。當(dāng)前幀F(xiàn)t 和參考幀F(xiàn)w是具有較大面積的各個連續(xù)捕獲幀的部分(如圖IE所示)。較大的捕獲幀是在數(shù)字圖像穩(wěn)定(DIQ之前通過圖像傳感器捕獲的原始圖像。由于由抖動運動造成的攝像頭軌跡引起參考幀F(xiàn)w相對于當(dāng)前幀F(xiàn)t旋轉(zhuǎn)和平移。捕獲幀(見圖1E)的尺寸一般通過攝像機的物理圖像傳感器(未示出)的硬件尺寸預(yù)定。當(dāng)前幀F(xiàn)t和參考幀F(xiàn)w的尺寸可以動態(tài)地選擇以避免或最小化由于攝像頭的抖動運動引起在捕獲幀的邊界外發(fā)生當(dāng)前幀F(xiàn)t的 “過度偏離”。圖IB示出與場景中的實際固定對象和運動對象關(guān)聯(lián)的當(dāng)前幀F(xiàn)t中的多個選擇的特征點(圓形)。將當(dāng)前幀F(xiàn)t劃分為多個矩形瓦片,每個瓦片包括至少一個選擇的特征點。 可以通過執(zhí)行圖2A、2B和4A和4B中說明的方法的步驟、和/或通過圖3的電路來識別和選擇圖IB所示的選擇的特征點。當(dāng)前幀和參考幀被存儲在圖3的電路的存儲器350中,同時通過執(zhí)行圖2A、2B和4A和4B說明的方法的步驟來識別和選擇圖IB所示的選擇的特征點ο圖IC示出具有運動矢量(箭頭)的當(dāng)前幀F(xiàn)t的每個選擇的特征點。可以通過執(zhí)行圖6和7所示的方法的步驟來計算圖IC所示的選擇的特征點的運動矢量。圖ID示出場景中的運動矢量已經(jīng)被分組(例如,組A、組B、組C)。場景中的實際固定對象的運動矢量(組B和組C)是由攝像頭移動(例如抖動)造成的??梢酝ㄟ^圖 10AU0B和IOC以及圖11所示的方法的步驟來執(zhí)行圖ID所示的選擇的特征點的運動矢量的分組,其中基于使用幅度比和歸一化矢量差的配對算法將運動矢量配對/分組(包括或排除)。圖IE示出在由圖像傳感器(未示出)輸出的較大的捕獲幀的大背景中的參考幀 Ft+1。通過使用圖ID所示的實際固定對象的組B和組C的運動矢量定義參考幀F(xiàn)w的仿射系數(shù)來確定參考幀F(xiàn)w的位置??梢允沟迷趨⒖紟倪吔缤獾牟东@幀的圖像數(shù)據(jù)對執(zhí)行用于計算組B和組C的運動矢量的圖6和7所示的方法的步驟的電路可用。圖IF示出如果沒有由圖ID所示的實際固定對象的運動矢量指示的抖動攝像頭運動則參考幀F(xiàn)w在它本該由圖像傳感器(未示出)接收的位置。已經(jīng)通過補償電路(未示出)應(yīng)用參考幀F(xiàn)w的仿射系數(shù)以旋轉(zhuǎn)和平移參考幀F(xiàn)w來校正攝像頭的抖動運動。特征點識別、揀選和分布圖2A是依據(jù)圖IA到IF中說明的DIS方法中的步驟的劃分為邊界區(qū)域和核心區(qū)域中的jXk多個瓦片的當(dāng)前幀F(xiàn)t (見圖1E)以便于特征點的識別和揀選的捕獲幀的圖。邊界區(qū)域與核心區(qū)域之間的邊界線可以獨立于接收的圖像數(shù)據(jù)的內(nèi)容由硬件或通過軟件預(yù)先確定,同時當(dāng)前幀F(xiàn)t的邊界可以基于由例如接收的圖像數(shù)據(jù)內(nèi)容指示的抖動攝像頭運動的程度而動態(tài)地選擇,以便防止或減少當(dāng)前幀的過度偏離。因此,核心區(qū)域可以或可以不對應(yīng)于圖IA所示的當(dāng)前圖像幀F(xiàn)t的尺寸和位置。
每個捕獲的視頻幀被劃分為小數(shù)目的非重疊瓦片(例如,用于標(biāo)清的4X4瓦片和用于高清的6X6或更多瓦片),目的是算法上選擇提供適合于數(shù)字圖像穩(wěn)定的良好特征點分布的特征點。圖像的不同區(qū)域可以具有不同密度的合適的特征點。在極端情況下,幀的區(qū)域可能不具有任何合適的特征點,例如在無云的藍天的情況下。在其他區(qū)域中,潛在的特征點也許非常稠密。當(dāng)使用基于全局的閾值來識別和選擇全部特征點時,特征點傾向于集中在圖像的小區(qū)域中,導(dǎo)致差的DIS結(jié)果。依然期望在其中有更多結(jié)構(gòu)的圖像的區(qū)域中具有更多特征點,因為存在潛在上更感興趣的運動。在這些密集的區(qū)域中,另一問題是如何保證并非所有特征點堆積在一起。因此本發(fā)明的一方面提供用于確保將用于DIS的特征點之間的最小距離(MIN_DIST)的高效率方法。為了 DIS算法的穩(wěn)定性,盡可能廣泛地分布特征點,同時限制特征點的總數(shù)量。特征點的“良好分布”可以表示如下其具有大的凸包;特征點彼此不太接近(MIN_DIST);在具有較少的合適特征點的瓦片中,如果可能,則選擇至少最小數(shù)量(mirufeatures)的特征點;以及,在具有更多的合適特征點的瓦片中,選擇更多的特征點(max_num_features = min_features+max—plus_features* (tile_variance σ 2/total_variance)) 0基于瓦片的亮度方差ο2確定每個瓦片中特征點的最大數(shù)量(maX_nUm_ features)。在一個實施例中,每個瓦片中特征點的最大數(shù)量(maX_num_featureS)是每個瓦片的特征點的可編程的最小數(shù)量(mirufeatures)加上另外的特征點的可編程的最大數(shù)量 (max_plus_features)乘以特定瓦片的方差σ 2與瓦片方差的總和的比率的和。如果瓦片具有不同的尺寸則可以應(yīng)用校正因子。因此,每個瓦片的最終選擇的特征點的最大數(shù)量可以替換地為mirufeatures加上與瓦片的方差σ 2成比例、通過對應(yīng)的瓦片權(quán)重歸一化的var_ features的部分??梢越o予邊界瓦片較高權(quán)重,因為它們包括邊界區(qū)域因此較大。在該替
換的情況下,給定瓦片的特征點的最大數(shù)量計算如下
MIX FEiTUlES ; ν λ F FEΙΤ Ε^ 1 「廠.. : -·'1
max—num—features =L.:,τλ ogi :了: f 巧t ·,因此,選擇的特征點的最大數(shù)量(maX_num_featureS)并不在全部瓦片中保持恒定,也不在幀F(xiàn)t與幀F(xiàn)w之間保持恒定。在一個實施例中,每個瓦片中特征點的最大數(shù)量(maX_num_featureS)是每個瓦片中亮度數(shù)據(jù)的方差ο2除以總亮度方差的函數(shù),需要預(yù)先計算每個瓦片的亮度方差ο2和幀的總方差。本領(lǐng)域普通技術(shù)人員不難理解其他函數(shù)也是可以的,例如涉及平均亮度值和瓦片方差O2的函數(shù)。為了識別特征點,可以使用諸如哈里斯角點檢測器之類的角點檢測器。哈里斯角點檢測器評估圖像的每個像素作為可能的特征點候選者。優(yōu)選的特征點候選者是其中特征質(zhì)量估計函數(shù)具有局部最大值的點。公開的特征點選擇的方法通過將每個識別的特征點的結(jié)果值(估計該像素多么適合作為特征點)與LOCAL (局部)而非GLOBAL (全局)(全幀) 閾值進行比較來優(yōu)化由哈里斯角點檢測器識別的特征點的選擇。因此,公開的方法考慮每個局部區(qū)域處的特征點密度乃至幀的不同部分中的對比度的差別。獲得的特征點分布是基于視頻幀的小區(qū)域,(例如,非重疊瓦片),其中每個瓦片中的特征點的數(shù)量隨瓦片的亮度圖像數(shù)據(jù)的方差Q2線性增加。具有更多感興趣圖像數(shù)據(jù)且因而需要更多特征點的瓦片預(yù)期具有較高的方差σ2。圖4Α和4Β是說明確定每個瓦片中特征點之間的最小距離(MIN_DIST)同時僅需要少量局部狀態(tài)信息從而減少硬件實施成本的方法的流程圖。圖2B是圖2A的圖像幀的核心區(qū)域中的一個瓦片的圖,其說明選擇的(灰色)、拒絕的(白色)、以及先前選擇但是取消的(灰色但是打叉)特征點。圖2B中示出為小方塊的特征點已經(jīng)使用哈里斯角點檢測器算法識別為特征點候選者,然后依據(jù)圖4A和4B說明的方法的步驟按光柵掃描順序被依次選擇、拒絕或取消。對于每個瓦片選擇識別的特征點候選者的最大數(shù)量(maX_num_featureS)。根據(jù)本發(fā)明的實施例,每個識別的特征點候選者可以通過如下例如以光柵掃描順序選擇i.識別的特征點候選者是其中哈里斯角點估計函數(shù)超過可編程閾值且其中該估計具有局部最大值的像素。為了滿足局部最大值,探討的位置處的值必須大于按掃描順序在該像素之前的全部直接和對角鄰居的值,但是僅大于或等于按掃描順序在該位置之后的直接和對角鄰居的值。這被實現(xiàn)以容納相同值是相當(dāng)類似的事實。ii. 一旦特征點候選者已經(jīng)被識別,其將進入數(shù)據(jù)存儲結(jié)構(gòu)(例如,揀選列表, 但是其他實施方式也是可能的),其可以為每個瓦片保留預(yù)定最大數(shù)量的特征點候選者, 例如,最大32、48、64、或更多的最終選擇的特征點,前提是沒有在可編程封鎖范圍(MIN_ DIST)內(nèi)的具有更大的估計函數(shù)值的特征點候選者。為了說明的目的,選擇最大值32來描述本實施例。iii.如果后來識別的特征點候選者已經(jīng)存儲在數(shù)據(jù)結(jié)構(gòu)中,則將離該點比封鎖范圍(MIN_DIST)更近的具有更小估計函數(shù)值的全部其他特征點從數(shù)據(jù)存儲結(jié)構(gòu)中刪除。為了說明的目的,假定瓦片(5,4)的特征點候選者的預(yù)定最大數(shù)量是四(S卩,max_ num_features = 4)。如圖2A所示,瓦片(5,4)包含按光柵掃描順序的四個最終選擇的特征點(灰色)SFP3、SFP4、SFP5和SFP7、以及三個先前選擇但是取消的(灰色但是打叉) 特征點SFP1、SFP2、和SFP6、加上兩個拒絕的(從未選擇的)特征點(白色)。取消的先前選擇的(灰色但是打叉)的特征點SFP1、SFP2、和SFP6是這樣的特征點候選者,它們在圖4A和4B說明的方法的過程期間按光柵掃描順序選擇為特征點,但是隨后取消作為特征點候選者,原因是它們處于稍后識別和選擇為特征點候選者的較大的特征點候選者的排斥區(qū)0ON_DIST)內(nèi),或因為選擇的特征點的列表已經(jīng)滿了(即,選擇的特征點候選者的數(shù)量 SFP_count = max_num_features)并且較早選擇的特征點在選擇的特征點候的列表中是最小的并且小于稍后識別和選擇的特征點候選者。取消的先前選擇的特征點SFPl是依據(jù)圖4A和4B說明的方法的步驟按光柵掃描順序識別和選擇的第一特征點。稍后,取消的先前選擇的特征點SFP2被識別和選擇,但是在選擇SFP2之后,選擇的特征點SFP3被識別并且大于SFP2。由于SFP2處于較大的、選擇的特征點SFP3的排斥區(qū)(MIN_DIST)內(nèi),當(dāng)選擇SFP3時立即取消SFP2。在選擇SFP3之后,在SFP3的排斥區(qū)(MIN_DIST)的右下角識別特征點候選者,并且因為該特征點候選者小于SFP3且處于它的排斥區(qū)內(nèi),其被立即拒絕(即,不選擇)。然后,在剛好超出SFP3的排斥區(qū)(MIN_DIST)的下方識別特征點候選者,并且它被選擇為SFP4(且后來沒有被取消)。 然后,在SFP3的排斥區(qū)(MIN_DIST)的更下方的右邊識別特征點候選者,并且它被選擇為SFP5(且后來沒有被取消,因為它雖接近但是沒有處在SFP7的排斥區(qū)內(nèi))。然后,在SFP5 的排斥區(qū)(MIN_DIST)的下方的右邊識別特征點候選者,并且它被選擇為SFP6(且后來被取消,因為它處在較大的稍后選擇的特征點SFP7的排斥區(qū)內(nèi))。當(dāng)SFP6被選擇時,選擇的特征點的列表已經(jīng)“滿了(full),,(例如,該瓦片的特征點的最大數(shù)量是4),因為在選擇的特征點SFPU SFP3、SFP4和SFP5的列表中SFPl是最小的,且因為SFP6大于SFP1,故取消 SFPl0然后,在SFP6的排斥區(qū)(MIN_DIST)的下方的內(nèi)部識別特征點候選者,并且它被選擇為SFP7(因為SFP6由于選擇的特征點SFP7大于SFP6和/或因為列表已滿等而被立即取消)。然后,在SFP7的排斥區(qū)(MIN_DIST)的下方的內(nèi)部識別特征點候選者,并且它被拒絕 (未選擇),因為最后的特征點小于SFP7。有可能SFP7實際小于取消的SFP2 (如果SFP3比 SFP7大得多),但是已經(jīng)獲得特征點的良好分布。可編程封鎖范圍(MIN_DIST)確保最終選擇的特征點不過于緊密地簇擁在一起??梢栽诿總€瓦片被下采樣的下縮放(downscaling)過程期間確定每個瓦片的像素亮度方差ο2。每個瓦片中特征點的最大數(shù)量被確定為每個瓦片的特征點的可編程的恒定最小數(shù)量加上總可變特征點的數(shù)量乘以特定瓦片的方差ο 2與瓦片方差的總和的比率的和??梢蕴砑有U蜃佑糜谶吘壓徒锹渫咂瑓^(qū)的區(qū)域,因為特征點也可以處于邊界區(qū)域。對于每個瓦片,對于按光柵掃描順序識別的每個特征點候選者,使用上述的揀選過程(即,選擇、拒絕、取消)收集和存儲多至最大數(shù)量的特征點候選者。最后,最終選擇的每個瓦片的特征點候選者正是具有最高估計函數(shù)響應(yīng)的特征點候選者,其最大數(shù)量被預(yù)定??赡苡羞@樣的實例,其中在給定瓦片中沒有可用的足夠的特征點候選者,諸如低對比度圖像數(shù)據(jù)的瓦片,該情況下,產(chǎn)生的最終使用的特征點的數(shù)量將小于編程的最小數(shù)量(例如,小于min_ features 的數(shù)量)。因此,提供一種以光柵掃描順序處理特征點候選者的方法,其中即使會在稍后識別和選擇更多新特征點候選者也維持包括不過于緊密地簇擁在一起的至多計算的最大數(shù)量的選擇的特征點的列表。該揀選特征點的光柵掃描順序方法與從識別的特征點候選者當(dāng)中區(qū)分優(yōu)先次序并選擇的各種其他方法相比具有減少存儲器和計算的量的優(yōu)點。例如,在替換實施例中,可以將瓦片的全部特征點候選者識別和存儲在存儲器中存儲的大列表中, 然后僅在瓦片的全部特征點候選者已經(jīng)被識別之后,可以應(yīng)用數(shù)學(xué)揀選算法以找到不在集合任何其他成員的排斥區(qū)(MIN_DIST)內(nèi)的最大特征點候選者的最優(yōu)集合(具有預(yù)定最大尺寸)。然而,這樣的揀選算法比圖4A和4B的光柵順序揀選(選擇、拒絕、取消)方法(其示范性結(jié)果在圖2B中示出)需要更多物理存儲器(用于存儲瓦片的識別的特征點候選者的整個列表)且潛在地需要更多的總的計算。圖4A和4B的光柵掃描順序揀選算法沒有必要提供作為全局最優(yōu)的選擇的特征點的集合,因為特征點候選者可以由稍后被選擇但是稍后將其取消的特征點候選者從列表中取消,相反它提供可以在具有有限本地存儲的硬件中實現(xiàn)的算法。雖然圖4A和4B的方法被描述為按照“光柵掃描順序”(即,從左到右且從上到下)處理識別的特征點候選者,其為哈里斯角點檢測器通常進行的像素順序,該方法可以采用選擇特征點候選者的任何序列,諸如非相鄰特征點候選者的不連續(xù)序列,只要全部特征點被依次識別并最終揀選。圖3是根據(jù)本發(fā)明構(gòu)思的實施例的特征點電路的框圖。特征點電路3000包括特征點選擇器300和已選擇特征點(SFP)運動矢量計算器700以及共享的RAM存儲器350。特征點選擇器300包括下采樣器310、特征點候選者識別器330、和特征點候選者揀選器340。特征點候選者識別器330使用哈里斯角點檢測器算法識別特征點候選者并且向特征點候選者揀選器340 —次一個瓦片地按光柵掃描順序輸出識別的特征點,例如,以像素位置和哈里斯角點響應(yīng)(Harris Corner response)。特征點候選者揀選器340配置為執(zhí)行如圖IB和2B中進一步說明的圖4A和4B的逐一揀選每個瓦片的識別的特征點的方法。 下采樣器310包括瓦片-方差ο 2計算器320功能塊,其根據(jù)以下公式計算圖像幀的每個瓦片的瓦片-方差ο2:
權(quán)利要求
1.一種處理視頻數(shù)據(jù)的方法,包括 接收代表第一圖像幀的第一圖像數(shù)據(jù); 將第一圖像幀的部分劃分為多個瓦片; 識別每個瓦片中的特征點;接收代表第二幀的第二圖像數(shù)據(jù); 導(dǎo)出與識別的特征點對應(yīng)的特征點運動矢量; 將運動矢量分組為具有相似的運動特性的運動矢量組; 選擇包含代表第一圖像幀的場景內(nèi)的固定對象的移動的運動矢量的組;以及通過使用包括變換特征數(shù)量分數(shù)和變換范圍分數(shù)中的至少一個的評分函數(shù)在第一組運動矢量的變換當(dāng)中進行選擇,來識別補償變換。
2.如權(quán)利要求1所述的方法,進一步包括導(dǎo)出與每個瓦片對應(yīng)的瓦片運動矢量。
3.如權(quán)利要求1所述的方法,其中基于矢量幅度比和角度差將運動矢量分組為運動矢量組。
4.如權(quán)利要求1所述的方法,進一步包括基于時間積分的偏離,自適應(yīng)地對補償變換進行濾波以防止補償窗口的過量過度偏離。
5.如權(quán)利要求1所述的方法,進一步包括識別場景中的大移動對象并且排除與該大移動對象對應(yīng)的補償變換。
6.一種圖像處理電路,包括接收器,被配置為接收圖像數(shù)據(jù)的幀;存儲器,被配置為存儲具有第一運動特性的第一組運動矢量和具有第二運動特性的第二組運動矢量;變換選擇器,被配置為從第一組運動矢量和第二組運動矢量中識別代表要補償?shù)臄z像頭移動的補償變換;以及自適應(yīng)濾波器,被配置為基于非線性歸一化的時間積分的偏離來防止補償窗口的過量過度偏離。
7.一種攝像頭,包括圖像傳感器,被配置為捕獲圖像;圖像數(shù)據(jù)電路,被配置為將捕獲的圖像轉(zhuǎn)換為圖像數(shù)據(jù)的幀;圖像處理電路,包括接收器,被配置為接收圖像數(shù)據(jù)的幀;運動矢量檢測器,被配置為檢測對象的運動并產(chǎn)生運動矢量;變換選擇器,被配置為從運動矢量的變換中識別代表要補償?shù)臄z像頭移動的補償變換;自適應(yīng)濾波器,被配置為對補償窗口的過度偏離進行濾波;以及補償電路,被配置為基于補償變換和自適應(yīng)濾波器的輸出來調(diào)整捕獲的圖像。
8.如權(quán)利要求7所述的攝像頭,進一步包括分組電路,被配置為將運動矢量分組到包括特征點組和瓦片組的至少兩個組中的一個組中,所述瓦片組包括從視頻幀劃分的非重疊瓦片。
9.如權(quán)利要求7所述的攝像頭,其中,所述變換選擇器被配置為基于從歷史、運動、特征、和范圍分數(shù)中選擇的多個評分函數(shù)來識別補償變換。
10.如權(quán)利要求7所述的攝像頭,其中所述自適應(yīng)濾波器被配置為基于非線性歸一化的時間積分的偏離來防止補償窗口的過量過度偏離。
11.如權(quán)利要求7所述的攝像頭,其中,所述自適應(yīng)濾波器被配置為通過使用遞歸濾波器來保持偏離歷史。
全文摘要
一種數(shù)字圖像穩(wěn)定(DIS)方法,包括特征點揀選算法,用于選擇最優(yōu)特征點;計算高效的基于瓦片矢量的搜索算法,用于導(dǎo)出選擇的特征點的運動矢量;以及特征點運動矢量分組/比較過程,用于基于它們的矢量幅度比和它們的角度差來將選擇的特征點對分組。一種數(shù)字圖像穩(wěn)定方法,包括基于為瓦片運動矢量(瓦片MV)組的多個變換和特征點運動矢量(FP MV)組的多個變換中的每個變換評分,來選擇代表視頻幀的場景中的固定/背景對象的主變換;以及基于固定(背景)組的歷史和多個運動矢量組中的每個的歷史,來排除大的移動對象。
文檔編號H04N5/14GK102572277SQ201110436828
公開日2012年7月11日 申請日期2011年12月23日 優(yōu)先權(quán)日2010年12月23日
發(fā)明者E.S.K.劉, M.布朗, 樸圣秀 申請人:三星電子株式會社