時被獲得。在一些實施例中,圖像214和加速度計讀數216 (和/或陀螺儀讀數218)經由與圖像214的每一個相關聯的時間戳以及在讀數216、218中的每一個中的時間戳而被同步、相關、或以其他方式彼此關聯。即,在捕捉每個圖像214之際以及在獲得讀數216、218中的每一個之際生成并存儲時間戳。
[0034]處理器204包括任意數量的處理單元,并被編程為執行用于實現本公開的各方面的計算機可執行指令。指令可由處理器204或由在計算設備102內執行的多個處理器執行,或者由計算設備102外部的處理器(未示出)來執行。
[0035]與計算設備102相關聯的處理器204被編程為執行諸如在附圖(例如,圖3和圖4)中所示出的那些指令之類的指令。在一些實施例中,處理器204表示執行在此所述的操作的模擬技術的一種實現。例如,所述操作可以由模擬計算設備和/或數字計算設備來執行。
[0036]計算設備102還具有一個或多個計算機可讀介質,諸如存儲器區域212。存儲器區域212包括任何數量的、與計算設備102相關聯或計算設備102可訪問的介質。存儲器區域212可以在計算設備102的內部(如圖2所示)、在計算設備102的外部(未示出)、或兩者(未示出)。在一些實施例中,存儲器區域212包括只讀存儲器和/或布線到模擬計算設備中的存儲器。
[0037]存儲器區域212存儲由計算設備102的圖像傳感器206捕捉的多個圖像214及其他數據。存儲器區域212進一步存儲來自加速度計208的加速度計讀數216。在一些實施例中,來自加速度計208的加速度計讀數216中的每一個對應于多個圖像214之一。加速度計讀數218 (例如,旋轉測量)可從加速度計210獲得并與多個圖像214中的每一個相關聯。加速度計讀數218被存儲在存儲器區域212中。
[0038]存儲器區域212還存儲一個或多個計算機可執行組件。示例性組件包括存儲器組件220、閾值組件222、累計組件224、以及顯示組件226。以下參考圖4來描述計算機可執行組件的操作。
[0039]計算設備102還可包括包含網絡接口卡和/或用于操作網絡接口卡的計算機可執行指令(例如驅動器)的通信接口組件(未示出)。計算設備102和服務器計算設備106之間的通信可使用任何協議通過網絡104進行。在一些實施例中,通信接口可用于近場通信(NFC)標簽。
[0040]在一示例性實施例中,存儲器區域212進一步僅存儲兩個幀緩沖區。所述幀緩沖區中的第一個幀緩沖區在多個圖像214中的每個圖像被按順序捕捉時存儲每個圖像214。所述幀緩沖區中的第二個幀緩沖區存儲中間圖像。例如,第一圖像可作為參考圖像被存儲在第一幀緩沖區中。后續圖像214在后續圖像214被捕捉時被處理。處理后續圖像214包括執行在圖3和/或圖4中描述的操作,其中存儲在第二幀緩沖區中的中間圖像在每個圖像214被處理時被更新。從最終中間圖像產生輸出圖像,該最終中間圖像反映了針對已處理圖像214的累計強度值。
[0041]接下來參考圖3和圖4描述的操作比較來自圖像214的序列的圖像214。例如,可將該序列中的每個后續圖像214與該序列中的緊位于前的圖像214相比較,或與參考圖像相比較。在一些實施例中,圖像214的序列中的第一圖像表示圖像214的序列中的其他圖像214的參考圖像。在另一實施例中,第一圖像擔當第二圖像的參考圖像,第二圖像擔當第三圖像的參考圖像等。在又一實施例中,第一圖像擔當第二圖像的參考圖像,來自處理第二圖像的輸出圖像表示第三圖像的參考圖像等。
[0042]接著參考圖3,圖3是解說用于從所訪問圖像214產生輸出圖像同時補償所訪問圖像214中的全局移動的計算設備102的操作的示例性流程圖。盡管圖2中解說的圖像被描述為由計算設備102來執行,然而本公開的各方面構想了由計算設備102以外的其他實體(諸如服務器計算設備106)來執行所述操作。
[0043]全局移動包括例如手的顫動、抖動、以及類似地影響各場景內對象中的每個場景內對象的其他移動或位移。在302,訪問由計算設備102捕捉的圖像214的序列。例如,計算設備102在一秒內捕捉30個圖像214作為猝發,包括第一圖像、第二圖像等。圖像214中的每個圖像包括多個像素(例如,取決于圖像傳感器206)。在其他實施例中,計算設備102訪問先前捕捉的圖像214的序列以用于處理。在一些實施例中,圖像214的猝發表示來自視頻文件的一系列圖像。
[0044]盡管一些實施例將圖像傳感器206描述為在30幀每秒(fps)操作,圖像傳感器206可在高于或低于30fps的其他幀率操作。而且,在一些實施例中,圖像傳感器206中的每個像素可在多個圖像214中的每個圖像被捕捉之后被重置以獲得多個時間的同一像素的離散讀數。重置每個像素可通過在每次幀捕捉時打開和關閉計算設備102的快門來執行。在其他實施例中,每個像素僅在該多個圖像214已經被捕捉之后被重置。
[0045]在一些實施例中,在捕捉每個圖像214時的更長的曝光帶來更高的信噪比(SNR),這與圖像質量的整體改善相關。各個體幀的曝光時間的總和等于有效曝光時間。在一特定示例中,與每個個體幀的SNR相比,輸出圖像的SNR增加幀的總數的平方根。
[0046]在304,訪問針對每個圖像214的陀螺儀讀數218。例如,針對每個圖像214的陀螺儀讀數218在每個圖像214被捕捉時獲得。陀螺儀讀數218描述圖像傳感器206的旋轉運動。替換地或附加于陀螺儀讀數218,在304可訪問加速度計讀數216。加速度計讀數216描述圖像傳感器206的線性運動(例如,線性測量、位移等)。
[0047]在306,基于所訪問的加速度計讀數216和/或陀螺儀讀數218來計算所訪問圖像214中的每個圖像的全局移動。例如,所訪問圖像214表示按順序捕捉的多個圖像214,其中該多個圖像214中的一個圖像被指定為參考圖像。可根據用于從圖像214的猝發中選擇參考圖像的任何已知算法來將圖像214中的任何圖像指定為參考圖像。
[0048]在一些實施例中,計算全局移動包括計算多個圖像214中的每個圖像和參考圖像之間的像素偏移。所計算的像素便宜包括二維像素移位,在一些實施例中其計及計算設備102或圖像傳感器206的旋轉。例如,從第一圖像到第二圖像的所計算的全局移動可指示:第一圖像中的每個像素在第二圖像中被向上移動一個像素位置且向右移動超過三個像素位置。還計算第二圖像和第三圖像之間、第三圖像和第四像素之間等的像素移位。在其他實施例中,在確定像素移位時僅將后續圖像214中的每個圖像與參考圖像(例如,第一圖像)相比較。例如,將第二圖像與參考圖像相比較,將第三圖像與參考圖像相比較,將第四圖像與參考圖像相比較,等。本公開的各方面能與用于比較兩個圖像214來確定全局移動或移位的任何算法一起操作。一種示例算法將第一圖像的像素強度值與第二圖像的相應像素強度值相比較以試圖確定從第一圖像到第二圖像發生的(x,y)偏移。
[0049]在308,所訪問圖像214中的每個圖像被基于所計算的全局移動重新對齊。所訪問圖像214中的每個圖像的重新對齊包括基于針對多個圖像214中的每個圖像的所計算的像素偏移來調整該圖像214的像素地點或位置(例如,抵消)。例如,基于相對于第一圖像中的相應像素發生的所計算的像素移位或偏移來調整第二圖像中的每個像素的位置。在一些實施例中,調整像素地點包括調整與多個圖像214中的像素相關聯的像素強度值的存儲器地址。例如,通過調整存儲器區域212中每個像素的存儲器地點或地址來與匈奴從該存儲器地點讀出來重新索弓I所述像素中的每個像素。
[0050]以此方式,計算設備102補償圖像捕捉期間圖像傳感器206的位置移動。在其中在所計算的全局移動和重新對齊中考慮陀螺儀讀數218的實施例中,計算設備102進一步補償圖像捕捉期間圖像傳感器206的角度移動。
[0051]在一些實施例中,至少所訪問圖像214的全局移動和重新對齊的計算進行,而不操作與圖像傳感器206相關聯的機械部件。
[0052]在重新對齊所訪問圖像214中的每個圖像之后,在310,重新對齊后的所訪問圖像214被組合以產生單一輸出圖像。組合重新對齊后的所訪問圖像214包括例如組合來自重新對齊后的所訪問圖像214中的每個圖像的相應像素的像素強度值來產生用于與該單一輸出圖像相關聯的像素強度值。然而,本公開的各方面能夠與用于組合圖像214的任何算法一起操作。作為一示例,圖像214中的每個圖像的各像素位置的每個像素位置處的相應像素強度值可被加權并隨后求和。
[0053]接著參考圖4,圖4是解說用于從所訪問圖像214產生輸出圖像同時補償所訪問圖像214中的場景內移動的計算設備102的操作的示例性流程圖。盡管圖4中解說的圖像被描述為由計算設備102來執行,然而本公開的各方面構想了由計算設備102以外的其他實體(諸如服務器計算設備106)來執行所述操作。
[0054]在402,訪問圖像214的序列。上面參考圖3描述了訪問圖像214。在圖4的示例中,圖像214的序列包括至少第一圖像和第二圖像。在404,比較圖像214的序列中的相應像素的強度值。例如,將第一圖像中的像素的強度值與第二圖像中的相應像素的強度值相比較。
[0055]在一些實施例中,將