專利名稱:接收的視頻穩(wěn)定化的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻信號的穩(wěn)定化。具體而言,本發(fā)明涉及利用攝影機捕獲視頻信號幀并且補償攝影機的運動,從而穩(wěn)定視頻信號。
背景技術(shù):
攝影機可以被用來捕獲一系列圖像,以便用作視頻信號幀。攝影機可以固定在穩(wěn)定的物體上,例如攝影機可以安裝在諸如三腳架之類的架子上,從而在捕獲視頻幀的同時保持攝影機靜止。然而,通常攝影機被實現(xiàn)在移動設(shè)備中并且不必需安裝到固定的物體上,例如攝影機可以被握著,或者可以在諸如車輛的移動物體上。在攝影機正在捕獲視頻信號幀的同時的攝影機的移動可能導(dǎo)致視頻信號本身中的不期望的移動。圖像穩(wěn)定化是一種能夠被用來補償視頻信號中的不期望的移動的方法。某些系統(tǒng)施行運動估計以便生成運動矢量以供圖像穩(wěn)定化處理使用。Junlan Yang等人的“OnlineVideo Stabilization Based on Particle Filters(基于粒子濾波器的在線視頻穩(wěn)定化)”描述了一種這樣的系統(tǒng)。圖像穩(wěn)定化算法可以包括三個主要部分:運動估計、運動平滑和運動補償。運動估計塊可以估計視頻信號內(nèi)的局部運動矢量,并且基于這些局部估計計算全局運動矢量。運動平滑塊然后可以處理對估計的全局運動矢量的濾波,以便平滑所計算的值并且防止在先前計算的運動矢量之間的大的且不希望的差別。利用穩(wěn)定化,圖像在運動補償塊中移動,從而使得它們的運動等于經(jīng)過濾波的運動。運動補償塊可以考慮復(fù)雜的變換,例如旋轉(zhuǎn)、扭曲或縮放??赡苄枰罅康奶幚碣Y源來施行如上所述的基于運動矢量的圖像穩(wěn)定化。當視頻信號要被實時地穩(wěn)定時,即當在正由攝影機捕獲視頻信號的同時要使用視頻信號的穩(wěn)定版本(例如在視頻電話中傳送或者從設(shè)備輸出)時,這可能是個問題。
發(fā)明內(nèi)容
上面參考的公開內(nèi)容討論了在編碼和傳送之前的視頻信號的穩(wěn)定化。本發(fā)明的發(fā)明人認識到通過在通信系統(tǒng)的接收側(cè)實現(xiàn)視頻穩(wěn)定化能夠獲得顯著的優(yōu)點。根據(jù)本發(fā)明的第一個方面,提供了一種穩(wěn)定視頻信號的方法,所述視頻信號由攝影機生成并且作為編碼的比特流傳送,所述方法包括:
接收編碼的比特流;
從編碼的比特流解碼多個視頻信號幀;
從編碼的比特流確定攝影機的運動指示;
利用運動指示確定在由攝影機捕獲的連續(xù)幀之間的攝影機的位移;
利用確定的位移補償由攝影機的運動造成的在連續(xù)幀之間的解碼的視頻信號中的運動,從而穩(wěn)定解碼的視頻信號。本發(fā)明的第二個方面提供了一種用于穩(wěn)定視頻信號的設(shè)備,所述設(shè)備包括: 接口,其被配置成接收編碼的比特流;
解碼器,其被配置成從比特流解碼多個視頻信號幀;
位移確定塊,其被配置成利用在比特流中接收到的運動指示確定在由攝影機捕獲的連續(xù)幀之間的攝影機的位移;以及
運動補償塊,其被配置成利用確定的位移補償由攝影機的運動造成的在連續(xù)幀之間的解碼的視頻信號中的運動,從而穩(wěn)定解碼的視頻信號。可以基于運動矢量解碼運動指示。本發(fā)明的這些實施例利用了這樣的事實,即運送視頻信號的編碼比特流包含允許在接收側(cè)生成幀的運動矢量。為了效率的緣故,這些運動矢量被用于編碼視頻信號,以便避免需要對視頻信號的每一幀進行編碼。正如本領(lǐng)域所知道的,利用參考幀和運動矢量編碼視頻信號,從而允許從參考幀和運動矢量生成中間幀。通過在接收側(cè)穩(wěn)定視頻信號,利用運動矢量復(fù)雜性基本上能夠被消除。解碼器穩(wěn)定化幾乎不具有計算復(fù)雜性,這是因為當重新使用已經(jīng)存在在比特流中的運動矢量時大多數(shù)花費高的步驟(運動估計)被移除了。在捕獲視頻信號的攝影機預(yù)期是小的移動設(shè)備而視頻信號被傳送到具有更大處理能力的用戶終端(例如以上網(wǎng)本、膝上型計算機或個人計算的形式)的情況下,這是非常有利的。通常地,幀被劃分成塊,宏塊代表多個塊。運動矢量相對于宏塊在參考幀中的位置限定其在中間幀中的位置。另一個顯著的優(yōu)點在于本發(fā)明的實施例以現(xiàn)有的編碼視頻信號進行操作。由于本發(fā)明的實施例能夠使用常規(guī)地被用于編碼視頻信號的運動矢量,因此發(fā)送側(cè)不需要知道接收側(cè)上實施的穩(wěn)定化。因此,本發(fā)明的實施例能夠以攝影機軟件的現(xiàn)有版本和其他視頻信號生成客戶進行操作。所述方法還可以包括:利用與攝影機相關(guān)聯(lián)的運動傳感器生成代表攝影機的運動的多個樣本;以及利用樣本確定在視頻信號的第一幀和視頻信號的第二幀之間的攝影機的位移,其中所確定的位移被用于確定所述像素位移。也就是說,可以根據(jù)來自與攝影機相關(guān)聯(lián)的、生成代表攝影機的運動的多個樣本的運動傳感器的樣本確定運動指示。運動傳感器可以是回轉(zhuǎn)運動傳感器。該設(shè)備可以是移動設(shè)備。利用運動傳感器生成的樣本的樣本率可以高于視頻信號的幀率。而且,攝影機和運動傳感器可以位于移動設(shè)備內(nèi)部。利用確定的位移補償由攝影機的運動造成的在連續(xù)幀之間的視頻信號中的運動可以包括:確定像素位移,其代表由攝影機的確定的位移造成的在第一和第二幀之間的視頻信號中的運動;對像素位移進行濾波;以及根據(jù)經(jīng)過濾波的像素位移移動第一和第二幀中的至少一個的圖像,從而穩(wěn)定視頻信號。對像素位移進行濾波可以包括:基于針對第二幀的所述確定的像素位移確定累積的像素位移;以及基于針對第二幀的確定的累積像素位移和針對第一幀的經(jīng)過濾波的累積像素位移的加權(quán)和,確定針對第二幀的經(jīng)過濾波的累積像素位移。接收到的幀可以在第一幀之后。然而,在接收側(cè)實施穩(wěn)定化的另一個優(yōu)點在于:有機會采取延遲,該延遲可以是不論以何種方式施加在接收側(cè)上的抖動緩沖器中或者是故意地引入的,從而使得第二幀不需要是在第一幀之后的隨后的幀,而可以是先前接收到的且在接收側(cè)上延遲的幀。所述方法還可以包括將時間偏移量添加到(i)捕獲的多個幀和(ii)生成的多個樣本中的至少一個中,從而使得捕獲的多個幀的定時與生成的多個樣本的定時相匹配。所述方法可以包括根據(jù)像素位移移動連續(xù)幀中的至少一個的圖像從而穩(wěn)定視頻信號,其中圖像包括指示圖像的存儲空間的跨度值(stride value)、多個像素值、指示圖像的第一像素的位置的指針、以及指示圖像的寬度的寬度值,其中圖像的所述移動包括調(diào)整指針和寬度值而不調(diào)整跨度值。這樣,通過簡單地改變指針和寬度值而同時保持跨度值恒定,可以移動圖像并且調(diào)整圖像的大小。這樣,不需要在存儲器中拷貝數(shù)據(jù)。換句話說,取代將裁剪區(qū)域拷貝到新的存儲區(qū)域中(這可能是復(fù)雜的處理),使用了考慮獨立的寬度和跨度值的圖像表示。這樣,通過改變指針和寬度值同時保持跨度不變能夠創(chuàng)建新的圖像(這是比將裁剪區(qū)域拷貝到新的存儲區(qū)域中更簡單的處理)。圖像可以包括多個圖像平面,所述多個圖像平面分別由相應(yīng)的多個像素值、指示圖像平面的第一像素的位置的相應(yīng)的指針、以及指示圖像平面的寬度的相應(yīng)的寬度值來表示,其中通過調(diào)整各個圖像平面的相應(yīng)的指針和寬度值而不調(diào)整跨度值,可以一起移動各個圖像平面。所述方法還可以包括將確定的像素位移舍入到整數(shù)像素位移。根據(jù)本發(fā)明的第三個方面,提供了用于穩(wěn)定視頻信號的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品被具體實現(xiàn)在非瞬時的計算機可讀介質(zhì)上,并且被配置成當在設(shè)備的處理器上執(zhí)行時施行這里描述的任何一種方法的操作。
為了更好地理解本發(fā)明以及示出如何實現(xiàn)本發(fā)明,現(xiàn)在將通過示例的方式來參考附圖,其中:
圖1示出了根據(jù)一個優(yōu)選實施例的設(shè)備;
圖2是接收器設(shè)備的示意性框 圖2A根據(jù)一個優(yōu)選實施例的說明關(guān)于視頻圖像的穩(wěn)定化的解碼處理中的各步驟的示意性功能框 圖3是隨著時間的攝影機的快門位置的示例性圖形表示;
圖4是隨著時間的攝影機的角速度的示例性圖形表示;以及 圖5是在裁剪處理之前和之后的圖像的表示。
具體實施例方式現(xiàn)在將只通過示例的方式來描述本發(fā)明的優(yōu)選實施例。圖1示出了用于生成視頻信號的設(shè)備100。設(shè)備100例如可以是諸如移動電話或其他手持式設(shè)備的移動設(shè)備。設(shè)備100包括攝影機102、移動傳感器104、CPU 106和存儲器108。攝影機102被配置成捕獲圖像。所捕獲的圖像可以被用于形成視頻信號,由此每個圖像被用作視頻信號的幀并且以視頻信號的幀率捕獲圖像。幀率例如可以是每秒25幀,盡管攝影機可以以不同的幀率進行操作。實現(xiàn)感知移動圖像的最小幀率是大約每秒15幀,但這可能依賴于正在觀看視頻信號的個人并且依賴于存在在視頻信號中的內(nèi)容(即,視頻信號的主題中存在多少運動)。CPU 106被配置成如在本領(lǐng)域中已知的那樣在設(shè)備100上施行計算處理。存儲器108被用于如在本領(lǐng)域中已知的那樣在設(shè)備100中存儲數(shù)據(jù)。塊102、104、106和108能夠如在本領(lǐng)域中已知的那樣,通過經(jīng)由設(shè)備100的總線(圖1中未示出)發(fā)送數(shù)據(jù)彼此進行通信。具體地,CPU 106負責(zé)將視頻幀編碼成適于經(jīng)由接口從攝影機傳送的比特流109。接口可以是有線的或無線的。在一些實施例中,比特流109可以被準備成用于以分組的形式傳送,通過基于分組的網(wǎng)絡(luò)將該分組提供到用于接收和觀看視頻信號的接收設(shè)備。將在以后更加詳細地討論接收設(shè)備。攝影機102捕獲要被用作視頻信號幀的圖像。舉例來說,攝影機102可以具有光傳感器陣列,其記錄在分配給視頻信號幀的時間期間入射到傳感器上的光的水平。攝影機102的快門被用于按時分離各個幀,從而使得在每一幀期間快門在一段時間打開并且在另一段時間關(guān)閉。所捕獲的視頻信號幀被提供到預(yù)處理器(例如由CPU 106在處理塊中實現(xiàn))。預(yù)處理器進行操作以便利用如本領(lǐng)域已知的視頻編碼技術(shù)對視頻信號幀進行編碼。在這種視頻編碼技術(shù)中,生成編碼的比特流,其包括參考幀和運動矢量,該運動矢量代表塊或宏塊在參考幀與視頻圖像的中間幀之間的位移。中間幀可以是先前的幀或者隨后的幀,并且可以是相鄰的也可以是不相鄰的。為了編碼的效率,并不是所有的視頻圖像幀就其本身而言都被準備成用于傳送,作為替代地將參考幀與運動矢量一起傳送,這允許根據(jù)參考幀和運動矢量生成中間幀。運動矢量包含表示各幀之間的像素位移的信息??梢岳靡粋€或多個運動矢量來表示幀:如果幀被分成塊或宏塊,那么每個塊或宏塊可以與運動矢量相關(guān)聯(lián)。圖2是接收器設(shè)備的示意性框圖。接收器設(shè)備包括用于接收編碼的比特流109的接口 207、用于處理比特流的處理器206以及用于接收和顯示解碼的比特流的顯示器211。如同接口 107 —樣,接口 207可以與任何合適的有線或無線網(wǎng)絡(luò)相接口,該網(wǎng)絡(luò)可以是基于分組的。其可以包括緩沖以用于接收準備由CPU 206進行處理的視頻比特流中的連續(xù)幀。圖2A是說明關(guān)于視頻圖像的穩(wěn)定化的解碼處理中的各步驟的示意性功能框圖。應(yīng)當容易理解的是,如本領(lǐng)域已知的那樣,視頻流的解碼處理中可以存在其他步驟。比特流109被提供到解碼功能201。解碼功能201接收比特流109中的參考幀和運動矢量,并且通過利用運動矢量生成中間幀來提供解碼的圖像,該解碼的圖像是代表在由攝影機捕獲的時間處生成的幀的一系列幀。該解碼的圖像可以在顯示器上觀看,但是在本發(fā)明的實施例中,首先要對其進行穩(wěn)定化。解碼的圖像與運動矢量一起被提供到像素位移功能203,該像素位移功能203從運動矢量推導(dǎo)出代表攝影機的運動的像素位移。應(yīng)當理解的是,該像素位移可以被直接推導(dǎo)得出,例如作為幀中的所有運動矢量的中值。然而,利用其它幀信息有可能改進全局運動估計。舉例來說,用來確定其中該運動信息是不確定的區(qū)域(例如,具有通常生成相當隨機的運動矢量場的一些噪聲的平坦區(qū)域)。由塊203確定的像素位移代表由于攝影機102的運動造成的視頻信號幀的圖像中的運動(與圖像的主題中的運動相對)。在濾波塊205中對像素位移進行濾波。該濾波將保存平滑的攝影機運動同時移除高頻運動(搖動)。這樣,運動得以平滑。然后將圖像對準該平滑的版本。在圖像穩(wěn)定化處理中施加到視頻信號的改變沒有被平滑,這是因為粗略地來說它們代表搖動(但是以相對的方向)。可以以不同的方式設(shè)計用來對像素位移進行濾波的濾波器,這取決于例如由攝影機102捕獲的圖像的分辨率、可以施加到視頻信號的可接受的延遲、以及能夠施加到原始視頻信號的圖像的允許的裁剪量。舉例來說,較高分辨率的視頻幀可以得益于對在圖像穩(wěn)定化處理中施加的像素位移的高頻改變的較大濾波衰減。另一方面,裁剪量設(shè)定了針對最大濾波衰減的硬極限??梢允褂弥笖?shù)濾波器,其根據(jù)下面的等式對像素位移進行濾波:
權(quán)利要求
1.一種穩(wěn)定視頻信號的方法,所述視頻信號由攝影機生成并且作為編碼的比特流傳送,所述方法包括: 接收編碼的比特流; 從編碼的比特流解碼多個視頻信號幀; 從編碼的比特流確定攝影機的運動指示; 利用運動指示確定在由攝影機捕獲的連續(xù)幀之間的攝影機的位移; 利用確定的位移補償由攝影機的運動造成的在連續(xù)幀之間的解碼的視頻信號中的運動,從而穩(wěn)定解碼的視頻信號。
2.權(quán)利要求1所述的方法,其中確定運動指示的步驟包括處理在編碼的比特流中接收到的運動矢量。
3.權(quán)利要求1所述的方法,其中確定運動指示的步驟包括從與攝影機相關(guān)聯(lián)的并且提供在比特流中的運動傳感器接收樣本。
4.權(quán)利要求1所述的方法,其中所述利用確定的位移補償由攝影機的運動造成的在連續(xù)幀之間的視頻信號中的運動包括: 確定像素位移,其代表由攝影機的確定的位移造成的在第一和第二幀之間的視頻信號中的運動; 對像素位移進行濾波;以及 根據(jù)經(jīng)過濾波的像素位移移動第一和第二幀中的至少一個的圖像,從而穩(wěn)定視頻信號。
5.權(quán)利要求4所述的方法,其中所述對像素位移進行濾波包括: 基于針對第二幀的所述確定的像素位移確定累積的像素位移;以及 基于針對第二幀的確定的累積像素位移和針對第一幀的經(jīng)過濾波的累積像素位移的加權(quán)和,確定針對第二幀的經(jīng)過濾波的累積像素位移。
6.權(quán)利要求4或5所述的方法,其中在第一幀之后接收第二幀。
7.權(quán)利要求4或5所述的方法,其中在第二幀之后接收第一幀,第二幀被緩沖直到接收到第一巾貞為止。
8.一種用于穩(wěn)定視頻信號的設(shè)備,所述設(shè)備包括: 接口,其被配置成接收編碼的比特流; 解碼器,其被配置成從比特流解碼多個視頻信號幀; 位移確定塊,其被配置成利用在比特流中接收到的運動指示確定在由攝影機捕獲的連續(xù)幀之間的攝影機的位移;以及 運動補償塊,其被配置成利用確定的位移補償由攝影機的運動造成的在連續(xù)幀之間的解碼的視頻信號中的運動,從而穩(wěn)定解碼的視頻信號。
9.權(quán)利要求8所述的設(shè)備,其是移動設(shè)備,包括被配置成顯示解碼的、穩(wěn)定的視頻信號的顯不器。
10.用于穩(wěn)定視頻信號的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品被具體實現(xiàn)在非瞬時的計算機可讀介質(zhì)上,并且被配置成當在設(shè)備的處理器上執(zhí)行時施行權(quán)利要求1-7中任一項所述的操作。
全文摘要
本發(fā)明提供了用于穩(wěn)定接收到的視頻信號的方法、設(shè)備和計算機程序產(chǎn)品。利用攝影機捕獲多個視頻信號幀。視頻信號被作為編碼的比特流傳送。根據(jù)比特流中的運動指示確定在連續(xù)幀之間的攝影機的位移。確定的位移被用來補償由攝影機的運動造成的在連續(xù)幀之間的視頻信號中的運動,從而穩(wěn)定視頻信號。
文檔編號H04N5/232GK103139446SQ20121038881
公開日2013年6月5日 申請日期2012年10月15日 優(yōu)先權(quán)日2011年10月14日
發(fā)明者P.卡爾松, A.杰弗里莫夫, S.薩布林, D.趙 申請人:斯凱普公司