TWI568257B - 用於串流中捲動快門補償之系統、方法、非暫時性電腦可讀儲存媒體 - Google Patents
用於串流中捲動快門補償之系統、方法、非暫時性電腦可讀儲存媒體 Download PDFInfo
- Publication number
- TWI568257B TWI568257B TW103129595A TW103129595A TWI568257B TW I568257 B TWI568257 B TW I568257B TW 103129595 A TW103129595 A TW 103129595A TW 103129595 A TW103129595 A TW 103129595A TW I568257 B TWI568257 B TW I568257B
- Authority
- TW
- Taiwan
- Prior art keywords
- image
- strip
- graphical
- block
- image data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 37
- 238000005096 rolling process Methods 0.000 title 1
- 230000033001 locomotion Effects 0.000 claims description 90
- 239000013598 vector Substances 0.000 claims description 56
- 238000012545 processing Methods 0.000 claims description 28
- 238000012952 Resampling Methods 0.000 claims description 2
- 238000012935 Averaging Methods 0.000 claims 1
- 230000002093 peripheral effect Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 17
- 239000000872 buffer Substances 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 239000000463 material Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 235000012431 wafers Nutrition 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 3
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 235000015110 jellies Nutrition 0.000 description 1
- 239000008274 jelly Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000010008 shearing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/689—Motion occurring during a rolling shutter mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6811—Motion detection based on the image signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/684—Vibration or motion blur correction performed by controlling the image sensor readout, e.g. by controlling the integration time
- H04N23/6845—Vibration or motion blur correction performed by controlling the image sensor readout, e.g. by controlling the integration time by combination of a plurality of images sequentially taken
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/50—Control of the SSIS exposure
- H04N25/53—Control of the integration time
- H04N25/531—Control of the integration time by controlling rolling shutters in CMOS SSIS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6812—Motion detection based on additional sensors, e.g. acceleration sensors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6815—Motion detection by distinguishing pan or tilt from motion
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
Description
諸如互補金氧半導體(CMOS)攝影機之現代數位攝影機時常使用以下影像獲取方法:其中藉由自上而下跨越圖框逐列地進行掃描(或跨越圖框逐行地)而非藉由在單一時間點拍攝整個場景之單一快照來記錄每一圖框。因此,並非影像之所有部分可同時被記錄。此影像獲取方法有時被稱為捲動快門,此係因為快門正跨越場景之影像區域移動(例如,捲動)。
歸因於捲動快門,可引入視覺失真,且在顯示整個影像時該等視覺失真可為視覺上明顯的。一般而言,攝影機在擷取影像時之任何移動可導致影像之變形或失真。使用捲動快門獲取法所擷取之影像可展現不同類型之視覺效應或失真。一種類型之失真可係由攝影機在掃描圖框之整個程序期間未保持完全靜止而引起。若攝影機水平移動,則影像得到剪切。若影像垂直移動,則影像經拉伸或壓縮。
舉例而言,在攝影機振動時(諸如,在移動車輛中使用時)擷取之影像中,可能產生抖動失真。展現此失真之視訊可能看起來以果凍狀形式不自然地抖動。類似地,若攝影機左右移動,則可導致偏斜失真,其中影像可在一個方向或另一方向上對角地彎曲。若CMOS攝影機感測器用於拍攝移動物件之影像,則物件之不同區域相比物件之其他區域可呈現為塗污的或改變比例。
串流中捲動快門補償可用於在自攝影機感測器接收影像資料時修改該影像資料以補償所偵測到之攝影機運動。當執行串流中捲動快門補償時,影像處理器可對來自攝影機感測器之影像資料執行運動匹配以判定攝影機是否正在移動及攝影機如何移動(例如,運動方向)。當接收到影像資料時,當前影像可以條帶來分析,以便找到當前影像(例如,圖框)與先前影像之間的匹配位置。可藉由比較每一影像條帶之含有經求和列及行像素資料的圖形輪廓來找到兩個圖框之間的匹配。舉例而言,一行(屬於當前條帶)中之每一像素之亮度資料可組合在一起(例如,經求和、求平均等)以計算行圖形輪廓,而一列中之像素之亮度資料可經組合以計算列圖形輪廓。
可比較水平及垂直圖形輪廓與來自先前影像之對應資料,以判定兩個圖框之間的匹配位置。可基於匹配位置對之間(例如,當前圖框與先前圖框之間)的空間距離來判定條帶之運動向量且其可表示兩個圖框之間的攝影機運動。當寫出影像資料(例如,至記憶體)時,可基於經計算運動向量來調整(例如,變形)當前影像資料以補償所感知之攝影機運動。
100‧‧‧攝影機影像感測器
110‧‧‧影像資料
120‧‧‧影像處理器
130‧‧‧經補償影像資料
300‧‧‧影像資料
310‧‧‧影像資料
320‧‧‧影像資料
400‧‧‧影像資料
410‧‧‧最頂部條帶
420‧‧‧影像區塊
430‧‧‧圖形輪廓
600a‧‧‧影像區塊
600b‧‧‧影像區塊
610‧‧‧圖形輪廓
620‧‧‧線
630‧‧‧圖形輪廓
700‧‧‧圖
710‧‧‧箭頭
720‧‧‧箭頭
730‧‧‧箭頭
740‧‧‧箭頭
750‧‧‧區塊偏移
900‧‧‧系統單晶片(SOC)
910‧‧‧通信網狀架構
920‧‧‧中央處理單元(CPU)複合體/組件
922‧‧‧處理器
924‧‧‧二階(L2)快取記憶體
930‧‧‧記憶體控制器/組件
940A‧‧‧晶片上周邊組件/組件
940B‧‧‧晶片上周邊組件/組件
1800‧‧‧記憶體
1900‧‧‧外部介面
圖1為說明根據一項實施例之串流中捲動快門補償的邏輯方塊圖。
圖2為說明用於如本文中所描述之串流中捲動快門補償之方法的一項實施例的流程圖。
圖3為說明經受根據一項實施例之串流中捲動快門補償之影像的圖。
圖4為說明根據串流中捲動快門補償之一項實施例之影像條帶及區塊的圖。
圖5為說明用於如本文中所描述之串流中捲動快門補償之方法的
一項實施例的流程圖。
圖6為說明根據串流中捲動快門補償之一項實施例的比較圖形輪廓之一項實施例的圖。
圖7為說明根據串流中捲動快門補償之一項實施例之條帶偏移向量的圖。
圖8為說明用於根據串流中捲動快門補償之使影像條帶變形的方法之一項實施例的流程圖。
圖9為說明能夠實施如本文中所描述之串流中捲動快門補償之計算器件的邏輯方塊圖。
雖然在本文中針對若干實施例及說明性圖式以實例描述各種實施例,但熟習此項技術者將認識到,該等實施例並不限於所描述之實施例或圖式。應瞭解,該等圖式及對其之詳細描述並非意欲將實施例限於所揭示的特定形式,而正相反,本發明意欲涵蓋屬於本發明之精神及範疇內的所有修改、等效物及替代例。本文中所使用之任何標題僅為達成組織性目的,且不意欲用以限制該描述之範疇。如貫穿本申請案所使用之詞語「可」係在允許意義(亦即,意謂有可能)而非強制意義(亦即,意謂必須)上使用。類似地,詞語「包括」意謂包括但不限於。
根據一些實施例,可將串流中捲動快門補償應用於影像資料以藉由在自影像感測器接收影像資料時使影像資料變形來補償攝影機運動。現轉至圖1,圖1為說明串流中捲動快門補償之一項實施例的邏輯方塊圖。當執行串流中捲動快門補償時,影像處理器可執行當前影像資料與先前影像資料之間的運動匹配以判定攝影機是否正在移動及攝影機如何移動(例如,運動方向及運動程度)。舉例而言,圖1之影像資料110包括表示實例攝影機運動方向之箭頭。請注意,影像資料110
內之箭頭僅為例示性的且不表示任何特定或實際攝影機運動。
在一項實施例中,影像處理器120可執行自攝影機影像感測器100接收之影像資料110與先前影像資料之間的運動匹配。根據各種實施例,圖1中說明之攝影機影像感測器100可表示各種影像感測器中之任一者。舉例而言,在一項實施例中,攝影機影像感測器100可表示基於CMOS之影像感測器。在其他實施例中,串流中捲動快門補償可供來自不同於影像感測器之源的影像資料使用。舉例而言,根據不同實施例,影像處理器120可對影像資料執行串流中捲動快門補償,該影像資料先前經擷取且經儲存至記憶體(或其他緩衝器)、儲存器(例如,磁碟機、CD ROM等),或經儲存至另一儲存機構。在一些實施例中,影像處理器120可自攝影機影像感測器接收影像資料,但影像資料亦可經由一或多個其他器件/組件在影像感測器與影像處理器之間傳送。舉例而言,影像處理器120可自緩衝器或系統記憶體(攝影機感測器在影像資料經擷取時將其儲存至該緩衝器或系統記憶體中)接收影像資料。
另外,影像處理器120可對(諸如)經由區域網路或廣域網路或網際網路自遠端源載入之影像資料執行串流中捲動快門補償。因此,雖然本文關於自攝影機影像感測器接收之影像資料進行描述,但根據各種實施例,串流中捲動快門補償可供影像資料使用,而不管影像資料如何經接收、儲存及/或載入。
如下文將更詳細描述,影像處理器120可針對每一影像(例如,當前及先前影像)產生圖形輪廓,且可使用彼等圖形輪廓比較兩個影像,以判定一或多個匹配位置,可根據該一或多個匹配位置計算運動向量。影像處理器120可接著基於經計算運動向量使影像資料110變形以補償攝影機運動。根據一些實施例,可接著將諸如經補償影像資料130之經變形影像資料寫出至記憶體140。在一些實施例中,可在將影
像資料寫出至記憶體140時使其變形。
在以下詳細描述中,闡述眾多特定細節以提供對所主張之標的之詳盡理解。然而,熟習此項技術者應理解,可在無此等特定細節的情況下實踐所主張之標的。在其他情況下,方法、裝置或系統因已被一般熟習此項技術者熟知而在下文不進行詳細描述,以免模糊所主張之標的。
依據對儲存在特定裝置或專用計算器件或平台之記憶體內的二進位數位信號進行之操作的演算法或符號表示來呈現以下詳細描述之一些部分。在本特定說明書之上下文中,一旦一般用途電腦經程式化以依據來自程式軟體之指令執行特定功能,術語特定裝置或其類似者便包括一般用途電腦。演算法描述或符號表示係由一般熟習信號處理或相關技術者用來將其作品之實質傳達給其他熟習此項技術者的技術之實例。演算法在此處且通常被視為導致所要結果的操作或類似信號處理之自相一致的序列。在此上下文中,操作或處理涉及對實體量之實體操縱。通常(但非必要),該等量可採取能夠被儲存、傳送、組合、比較或以其他方式操縱之電信號或磁信號之形式。主要出於常見用法之原因,將此等信號稱作位元、資料、值、元素、符號、字元、項、數目、數字或其類似者已證明有時為方便的。然而,應理解,所有此等或類似術語將與適當實體量相關聯,且僅為方便的標記。
除非另有特別說明,否則如自以下論述顯而易見,應瞭解,貫穿本說明書,利用諸如「處理」、「計算」、「運算」、「判定」或其類似者之術語之論述係指諸如專用電腦或類似專用電子計算器件之特定裝置之動作或程序。因此,在本說明書之上下文中,專用電腦或類似專用電子計算器件能夠操縱或變換通常表示為專用電腦或類似專用電子計算器件之記憶體、暫存器或其他資訊儲存器件、傳輸器件或顯示器件內之實體電子量或磁量的信號。
利用串流中捲動快門補償之影像處理器可不比較兩個全影像圖框(例如,完整當前圖框及完整先前圖框)以便判定攝影機運動。舉例而言,許多數位(或CMOS)攝影機可不維持全圖框緩衝器且記憶體緩衝器約束(例如,時序/效能問題)可使用圖框緩衝器阻止兩個全圖框之比較。實情為,影像處理器120可將影像作為多個影像部分來分析,如下文將關於圖2更詳細描述。
圖1中說明之影像處理器120可表示可以各種方式實施之各種影像處理器或影像處理單元中之任一者。舉例而言,在一項實施例中,影像處理器120可表示以硬體實施之影像處理單元,而在另一實施例中,影像處理器120可表示以軟體實施之影像處理單元。
圖2係說明用於如本文中所描述之串流中捲動快門補償之方法的一項實施例的流程圖。根據一些實施例,影像處理器120可藉由將影像分裂為多個影像條帶及藉由將條帶分裂為多個區塊來對影像執行串流中捲動快門補償。因此,如區塊200中所說明,影像處理器120可接收影像之下一條帶的影像資料(例如,自影像感測器100),且可針對影像條帶之每一區塊判定圖形輪廓,如區塊210中所展示。
影像處理器120可基於各種影像特性或像素值中之任一者針對每一區塊產生圖形輪廓。舉例而言,在一項實施例中,可跨越(像素)行中之區塊組合亮度值(例如,求和或求平均)以產生區塊之垂直圖形輪廓。舉例而言,影像處理器120可經組態以將像素之紅色/藍色/綠色資料轉換為對應亮度值,且一行中之所有像素的亮度值可組合在一起以產生垂直亮度輪廓,且多個行輪廓可經組合以產生彙總輪廓,諸如區塊之垂直輪廓。
類似地,可藉由組合條帶中每一列之影像特性來判定影像區塊之水平圖形輪廓。因此,可針對影像條帶之每一區塊判定水平及垂直圖形輪廓。在一些實施例中,單一圖形輪廓可包括水平分量及垂直分
量,但在其他實施例中,可分別判定水平及垂直圖形輪廓(例如,列及行輪廓)。
雖然在一些實施例中,影像處理器120可針對每一區塊產生基於亮度的圖形輪廓,但在其他實施例中,圖形輪廓可係基於不同影像特性(例如,不同色彩空間)。
由影像處理器120使用之區塊的確切數目及大小可隨實施例之不同而變化。另外,在一項實施例中,影像處理器120可根本不使用個別區塊,而替代地可判定整個條帶之圖形輪廓。在一些實施例中,可預先判定區塊之數目,而在其他實施例中,可預先判定每一區塊之大小。在另外其他實施例中,區塊之數目及/或大小可藉由影像處理器120在逐影像基礎上來判定。
如區塊220中所展示,影像處理器120可比較圖形輪廓與先前影像之圖形輪廓以基於區塊偏移計算每一區塊之偏移,如區塊230中所說明。根據一項實施例,可比較當前影像條帶之圖形輪廓與先前影像(諸如,先前視訊圖框)之對應條帶之圖形輪廓,以便判定兩個影像之間的匹配點,可根據該等匹配點計算攝影機運動。舉例而言,可比較當前條帶之每一區塊之亮度輪廓與先前影像中之類似定位的區塊之亮度輪廓,以找到兩個影像之間的匹配位置,如將關於圖4更詳細地描述。
在一些實施例中,影像處理器120可經組態以基於比較給定區塊之圖形輪廓與先前影像之一或多個區塊之圖形輪廓的水平分量來判定該給定區塊之水平偏移。類似地,影像處理器120可經組態以基於比較該圖形輪廓與先前影像之一或多個區塊之圖形輪廓的垂直分量來判定給定區塊之垂直偏移。
在一些實施例中,當前及先前亮度輪廓可交叉相關以定位亮度輪廓匹配。此外,在一些實施例中,當前影像中之匹配點與先前影像
中之對應匹配點的位置之間的空間差異可視為區塊之偏移。區塊之每一匹配點之偏移可用於判定區塊之偏移向量。
另外,影像處理器120可經組態以儲存或以其他方式留存當前影像之圖形輪廓以在處理下一影像時使用。一般而言,用於儲存及/或以其他方式留存圖形輪廓資訊以用於未來使用之任何適當方式可與串流中捲動快門補償結合使用。
在一項實施例中,如區塊240中所展示,影像處理器120可根據經計算偏移向量使影像條帶變形。舉例而言,根據一項實施例,若條帶之經計算偏移向量指示向右之運動,則影像資料可經向左變形以補償所感知之運動。對圖8之論述在下文更詳細地論述補償攝影機運動之影像資料變形。
若影像處理器120已完成對影像之最終條帶的工作,如藉由來自決策區塊250之肯定輸出所展示,則影像處理器120可接著繼續開始對另一影像的串流中捲動快門補償(如藉由區塊260所說明),(諸如)以處理視訊串流中之下一影像。在一些實施例中,影像處理器120可保存或儲存在處理一個影像時產生之圖形輪廓、區塊偏移及/或偏移向量以在處理下一影像時使用。
實情為,若影像處理器120未完成處理當前影像,如藉由決策區塊250之否定輸出所指示,則影像處理器120可(諸如)藉由接收影像之下一條帶的影像資料開始處理影像之下一影像資料條帶,如藉由區塊250之否定輸出至區塊200的路徑所展示。
如上文所提到,串流中捲動快門補償可應用於影像資料以補償攝影機運動,且影像處理器120可將影像之影像資料作為數個條帶來分析。圖3為說明作為多個條帶及區塊來分析以用於根據一項實施例之串流中捲動快門補償的影像資料的圖。根據一項實施例,影像資料300說明經劃分為八個水平條帶之影像。根據一項實施例,影像資料
310說明經劃分為多個垂直條帶之相同影像資料。舉例而言,雖然一些影像感測器可使用一系列水平掃描對一場景進行掃描,但其他攝影機感測器可使用一系列垂直掃描對一場景進行掃描。因此,在執行如本文中所描述之串流中捲動快門補償時,在一些實施例中,影像處理器120可使用水平條帶,而在其他實施例中,影像處理器可使用垂直條帶。
另外,如上文所提到,根據一項實施例,影像處理器120可將每一條帶劃分為多個區塊,且影像資料320說明影像之一個條帶之一個區塊。用於串流中捲動快門補償中之水平及垂直劃分區之確切大小及本質可隨實施例之不同而變化。
圖4為說明根據串流中捲動快門補償之一項實施例之影像條帶及區塊的圖。如上文關於圖3所提到,可在串流中捲動快門補償期間將影像劃分為多個影像條帶及影像區塊以用於分析。影像資料400說明經劃分為多個水平條帶之影像,且最頂部條帶410進一步說明為劃分為多個區塊,諸如區塊420。當執行串流中捲動快門補償時,影像處理器120可以逐影像區塊及逐影像條帶的方式分析自攝影機影像感測器100接收之影像的影像資料。
如上文所提到,影像處理器120可在接收到剩餘條帶之前分析自攝影機影像感測器100接收之第一影像條帶(諸如,條帶410)。因此,串流中捲動快門補償可在影像資料正被攝影機影像感測器100擷取時執行(例如,即時地或接近即時地)。圖4亦說明影像區塊420之實例圖形輪廓430。舉例而言,根據一項實施例,圖形輪廓430可表示影像區塊420之亮度行輪廓。因此,在圖4中說明之實例中,圖形輪廓430可經說明為表示跨越影像區塊420之多個行之組合亮度值的資料曲線圖。
雖然作為一項實例在圖4中說明為表示基於亮度之輪廓的資料曲
線圖,但根據不同實施例,可以眾多方式中之任一種來計算、產生及/或儲存圖形輪廓。
圖5為說明用於如本文中所描述之串流中捲動快門補償之方法的一項實施例的流程圖。根據一項實施例,如區塊500中所展示,影像處理器120可針對條帶410中之下一影像區塊(諸如,影像區塊420)產生圖形輪廓。如上文所提到,影像處理器120可基於影像區塊中之像素之亮度資料針對影像條帶之每一影像區塊產生圖形輪廓。因此,如區塊510中所展示,影像處理器120可逐列地將影像區塊中之像素的亮度資料組合為影像區塊之水平亮度輪廓,且亦可逐行地將影像區塊中之像素的亮度資料組合為影像區塊之垂直亮度輪廓,如藉由區塊520所說明。
根據不同實施例,影像區塊中之像素的亮度資料(或其他圖形資訊)可以各種方式中之任一種組合以便產生圖形輪廓。舉例而言,在一項實施例中,一列(或行)中之像素的亮度值可一起經求平均以產生圖形輪廓,而在其他實施例中,亮度值可加在一起以產生圖形輪廓。另外,在一些實施例中,可在產生圖形輪廓時將一或多個濾波器應用於資料。舉例而言,當產生基於亮度之圖形輪廓時,可使用高通濾波器。使用此類濾波器可輔助找到輪廓匹配,如下文所論述。
如先前所提到,兩個匹配的亮度輪廓位置(一個在當前影像中且一個在先前影像中)之間的空間偏移可表示兩個影像之間的攝影機運動。亮度輪廓可經比較以識別每一影像(例如,當前及先前影像)內之類似位置,以便判定兩個影像之間的攝影機運動。
因此,如區塊530中所展示,影像處理器120可使用圖形輪廓計算當前影像區塊與先前影像之對應影像區塊之間的可能匹配之差和,且可判定最佳擬合匹配且將該最佳擬合匹配用作區塊偏移,如區塊540中所展示。舉例而言,藉由比較當前區塊與先前影像之對應區塊
之間的多個(或所有)可能匹配之差和,可在兩個影像之間找到潛在匹配位置。具有類似圖形輪廓之每一影像中之位置可視為兩個影像之匹配或潛在匹配。
在一些實施例中,可使用2個一維匹配而非使用1個二維匹配來判定亮度輪廓匹配(或潛在匹配)。舉例而言,使用2個一維匹配可導致比單一二維匹配低的計算需求。換言之,對於每一區塊,可分別找到水平(例如,左/右)匹配及垂直(例如,上/下)匹配(例如,2個一維匹配)。
為了找到匹配,可比較當前區塊之亮度輪廓與來自先前影像或圖框之對應位置(及鄰近位置)的若干區塊之亮度輪廓。任何潛在匹配可經分類且與其他潛在匹配相比較,以判定最佳擬合係可能的。舉例而言,潛在匹配之絕對差和可用於將潛在匹配分類。若匹配之絕對差和為小的,則匹配可視為良好擬合。若潛在匹配之絕對差和為小的,但潛在匹配周圍之其他區域(例如,其他潛在匹配)之絕對差和為大的,則潛在匹配之擬合可視為唯一的。
因此,在一些實施例中,影像處理器120可經組態以判定:若當前區塊內之匹配之像素位置與先前影像之區塊內之匹配的對應像素位置之間的絕對差和小於預定臨限值,則可能(或潛在)匹配為良好擬合。類似地,在一些實施例中,影像處理器可經組態以判定:若(當前區塊內之匹配之像素位置與先前影像之區塊內之匹配的對應像素位置之間的)絕對差和比其他可能匹配之各別絕對差和小預定臨限值,則可能匹配為唯一擬合。此外,根據一些實施例,影像處理器可經組態以基於各自判定為良好擬合或唯一擬合之一或多個匹配之偏移來判定區塊偏移。
換言之,若區塊內存在出現有絕對差和之突轉最小值的位置,則彼位置可表示兩個影像之間的唯一擬合。若匹配可視為唯一的,則
彼匹配位置可表示兩個影像之間的邏輯參考點(例如,可表示正被擷取之場景中之同一物件或位置)。
舉例而言,圖6為說明根據串流中捲動快門補償之一項實施例的比較圖形輪廓之一項實施例的圖。圖形輪廓610及630可表示已應用高通濾波器之基於亮度之圖形輪廓。根據圖6中所展示之實例實施例,圖形輪廓610可對應於影像區塊600a,而圖形輪廓630可對應於影像區塊600b。在一項實施例中,差和可由圖6中之線620表示。如由線620之最高點所說明,潛在匹配可存在於相關影像區塊內之彼位置處。
當作為串流中捲動快門補償之部分而使用圖形輪廓來搜尋潛在匹配時,影像處理器120可不搜尋影像之大(或相對較大)區域,此係因為可假定攝影機在影像圖框之間不會極快地移動。舉例而言,若假定攝影機並未移動以有意地產生搖攝(例如,若攝影機保持靜止),則可假定攝影機幾乎將不會在影像圖框之間移動。
另外,在一些實施例中,影像處理器120可經組態以使用估計或預測之位置,在該位置中使用圖形輪廓搜尋潛在匹配。在一項實施例中,影像處理器120可經組態以使用最近判定之偏移向量(例如,針對最近分析之區塊及/或條帶)以估計當前區塊/條帶之潛在匹配之位置。舉例而言,若影像處理器120當前正在處理總體影像中之列1000附近之條帶且最近判定之偏移向量指示-123,456個像素之距離(依據dx,dy像素),則影像處理器120可開始搜尋與當前影像中之條帶之位置(例如,列1456)相距-123,456個像素之位置處的當前區塊/條帶之潛在匹配。因此,根據一些實施例,替代必須搜尋大區域(或甚至是整個先前影像)以尋找潛在匹配,影像處理器120可能夠搜尋較小區域且因此載入先前影像之較小數目個圖形輪廓。
執行串流中捲動快門補償之影像處理器可接著使用亮度輪廓匹配來依據x/y影像座標判定子區塊運動匹配。另外,多個區塊中發生
之多個匹配(例如,擬合)可用於判定整個影像條帶之彙總(或平均)運動向量。在一些實施例中,可假定若所感知之運動係由攝影機運動導致(對照場景運動),則單一條帶應具有跨越整個條帶而大部分均勻之運動。
現返回至圖5,若影像處理器120已完成對當前條帶之所有區塊的處理,如由來自決策區塊550之肯定輸出所指示,則影像處理器120可將個別區塊偏移組合為條帶偏移向量,如由區塊560所說明。因此,可基於自兩個影像之間的一或多個匹配點之偏移(依據像素位置)而導出運動向量,該運動向量可用於使影像資料變形以補償所判定之攝影機運動。根據一些實施例,所判定之運動向量可僅包括水平及垂直分量,而無任何旋轉分量。
舉例而言,圖7為說明根據串流中捲動快門補償之一項實施例之條帶偏移向量的圖。根據一項實施例,圖700說明經劃分為四個條帶之實例影像之區塊偏移(或區塊向量)的實例集合。根據圖7中所展示之實例實施例,圖700中說明之實例偏移表示為箭頭,箭頭之方向可表示攝影機運動方向且箭頭之長度可表示彼運動之幅度。因此,藉由圖700說明之實例攝影機運動可表示如下運動:開始水平地向左行進,及逐漸地(在圖框當中)變為對角地向左向下的較緩慢移動。
如上文所提到,影像處理器120可基於多個個別區塊偏移來計算單一條帶向量。在一項實施例中,影像處理器120可利用向量運算來組合條帶之個別區塊偏移(例如,作為向量)以判定條帶運動向量。在一些實施例中,個別區塊偏移可一起經求平均,而在其他實施例中,條帶運動向量可為個別區塊偏移之平均值。舉例而言,箭頭710、720、730及740可表示針對每一各別條帶及基於圖700中說明之對應區塊偏移所判定的經計算條帶運動向量。
另外,(諸如)若一或多個個別區塊偏移表示超出條帶之其他區塊
偏移之某一容限的運動,則可忽略該一或多個個別區塊偏移。舉例而言,在圖700中,個別區塊偏移750可為正被擷取之場景中之實際運動而非導致其他區塊偏移之攝影機運動的結果,且因此在計算彼條帶之條帶運動向量(諸如,條帶向量730)時可不考慮區塊偏移750。
根據一些實施例,若針對條帶判定無運動(例如,無匹配、無匹配被視為足夠良好或無偵測到匹配之運動),則先前條帶之運動向量可用於判定應用於當前條帶之校正變形。因此,即使(諸如)因為實際場景之相關部分不包括「可匹配」點而針對當前條帶未偵測到運動,仍繼續先前運動向量(同時可能被修改)。舉例而言,在一些實施例中,若針對影像圖框之最頂部條帶判定無運動向量,則可使用用於先前圖框之最底部條帶之運動。
再次返回圖5,然而,若當前條帶存在多個區塊待處理,如藉由來自決策區塊550之否定輸出所指示,則影像處理器120可繼續開始處理下一條帶,如藉由來自決策區塊550之否定輸出至區塊500的路徑所指示。
以下實例偽碼集說明實施串流中捲動快門補償之函式的一項實施例,其包括計算條帶之運動向量。
以下實例偽碼集說明實施串流中捲動快門補償之函式的一項實施例,其包括計算條帶之運動向量。下文說明之BlockMatch函式由上文之實例原始程式碼中說明之先前函式調用。
雖然以上實例程式碼片段使用特定函式、方法及變數名稱,但其他實施例可利用不同函式、方法及/或變數且可在實施如本文中所描述之串流中捲動快門補償時執行相同的、更多或更少的函式。
圖8為說明用於根據串流中捲動快門補償之使影像條帶變形的方法之一項實施例的流程圖。如先前所提到,影像處理器120可對個別
影像條帶之影像資料執行變形以補償所判定之攝影機運動。因此,根據一項實施例,影像處理器120可根據所判定之偏移向量開始使條帶變形,如區塊800中所展示。
可基於針對條帶所判定之運動向量來判定變形之確切本質。可在將影像資料寫出至記憶體(或數位攝影機之另一組件)時執行此變形。根據一些實施例,影像處理器120可使當前條帶之影像資料在彼影像資料經寫出至記憶體時及在開始分析下一影像條帶之前變形。根據一些實施例,變形可包括影像之拉伸或剪切(在垂直方向及水平方向兩者上)。根據一些實施例,校正(例如,補償)變形可視為可分離的。亦即,影像資料中之每一行可向右或向左水平移位,且亦可垂直拉伸或壓縮。
校正(例如,補償)變形可包括(諸如)藉由在條帶中之每一行之一端處跳過數個像素同時填補該行之另一端(例如,用零填補)來使條帶內之影像資料水平移位。舉例而言,若在偏移向量中存在向右水平分量,如藉由來自決策區塊810之肯定輸出所指示,則影像處理器120可自條帶省去一或多個最左行以補償向右水平向量分量,如區塊820中所展示。替代地,若偏移向量中存在向左水平分量,如藉由來自決策區塊830之肯定輸出所指示,則影像處理器120可省去一或多個最右行以補償向左水平向量分量,如藉由區塊840所說明。
變形亦可包括垂直拉伸或壓縮以補償所感知之垂直運動。在一項實施例中,可藉由多次寫入一行來垂直拉伸影像,同時可跳過多列以便垂直壓縮影像。舉例而言,若在偏移向量中存在向下垂直分量,如藉由來自決策區塊850之肯定輸出所指示,則影像處理器120可組合或合併條帶中之兩個或兩個以上列以補償向下垂直向量分量,如區塊860中所展示。替代地,若偏移向量中存在向上垂直分量,如藉由決策區塊870之肯定輸出所指示,則影像處理器120可擴展、複製一或多
個列或對一或多個列進行重新取樣以補償向上垂直向量分量,如區塊880中所展示。
因此,影像處理器120可經組態以輸出特定條帶的正被接收之額外或較少影像資料行以補償所偵測攝影機運動。根據不同實施例,影像處理器120可以各種方式中之任一者組合或合併多個列。舉例而言,在一項實施例中,影像處理器120可經組態以對該等列之影像資料求平均或進行內插,以便組合或合併兩個或兩個以上列。在另一實例中,作為組合或合併該等列之一種方式,影像處理器120可對一或多個影像資料列進行重新取樣以獲得較少列。影像處理器120亦可對一或多個列進行重新取樣以輸出額外列。一般而言,根據一些實施例,用於組合、合併、擴展、複製影像資料及/或對影像資料進行重新取樣之任何合適方法可用於使影像資料列變形(或以其他方式修改影像資料列),以補償所偵測攝影機運動。
因此,影像處理器120可藉由產生比在原始影像資料中(例如,如自攝影機影像感測器接收)少的影像資料列或產生額外影像資料列來執行垂直拉伸或壓縮。另外,根據一些實施例,影像處理器120可經組態以調整資料且相比接收較快地寫出該資料。因此,在一些實施例中,影像處理器120可經組態以在自攝影機影像感測器接收影像資料時執行足夠快地完成的串流中捲動快門補償(例如,即時地或接近即時地)。
一般而言,根據一些實施例,在寫出影像資料時可補償所判定(及藉由經計算運動向量表示)的任何運動。在一些實施例中,在使影像資料變形以補償所偵測攝影機運動時可不應用旋轉補償。影像處理器120可接著藉由開始下一資料條帶而繼續處理影像,如藉由區塊890所說明。
請注意,雖然描述為用於每一論述之單獨函式或步驟,但一行
影像資料之變形可以併入有垂直及水平補償兩者之方式執行。舉例而言,在一項實施例中,若條帶之經計算運動向量包括水平分量及垂直分量兩者,則可應用變形以補償兩個運動分量。因此,根據一項實施例,可複製一行影像資料,以便補償垂直向量分量,且亦可將一或多個像素自一個行端省略,以便補償水平向量分量。
當執行串流中捲動快門補償時,可使用一或多個約束以限制可自一個條帶至下一條帶而變化的運動補償之量。舉例而言,可應用阻尼因子以幫助確保校正變形係平滑的(例如,可能明顯無突然的攝影機運動)。
一般而言,可能僅需少量行緩衝器來執行串流中捲動快門補償。在一項實施例中,行緩衝器之數目可等於條帶中行之數目加上額外一個(例如,用於組合兩行:一行在條帶中及一行鄰近於該條帶)。舉例而言,若條帶為8行高(依據像素),則可在執行如本文中所描述之串流中捲動快門補償時使用9個行緩衝器。
根據一些實施例,可在正擷取影像時(例如,即時地或接近即時地)而非作為後處理步驟(例如,在影像資料已保存至系統記憶體之後)執行串流中捲動快門補償。然而,用於本文中所描述之串流中捲動快門補償的方法及/或技術可應用於影像之後處理且可在影像之後處理期間使用。
本文中所描述之關於串流中捲動快門補償的技術不利用來自包括陀螺儀之攝影機硬體的陀螺資料。根據一些實施例,僅單獨使用影像資料以判定攝影機運動。一般而言,使用陀螺資料對於在進行串流中捲動快門補償時使用可能過慢,但在一些實施例中,陀螺資料可用於驗證所判定之運動(例如,正在補償之運動)實際上為攝影機運動而非場景運動。舉例而言,在一項實施例中,影像處理器120可經組態以在使用串流中捲動快門補償處理多個影像圖框之後檢查陀螺資料。
若根據陀螺資料判定運動並非實際攝影機運動,則影像處理器120可經組態以停止執行串流中捲動快門補償。
另外,在一些實施例中,本文中所描述之用於串流中捲動快門補償的技術可視為針對基於硬體之圖形處理單元(GPU)運動校正的回退模式。替代地,影像處理器120可經組態以在檢查之陀螺資料判定將場景運動錯誤地偵測為攝影機運動之情況下啟動GPU以重新處理圖框。
本文中所描述之用於串流中捲動快門補償的技術可在廣泛多種計算器件中之任一者上實施。現轉至圖9,圖9說明經組態以實施如本文中所描述之串流中捲動快門補償之系統的一項實施例。一般而言,圖9中說明之電腦系統可為各種類型之計算器件中之任一者,該計算器件包括(但不限於)個人電腦系統、桌上型電腦、膝上型電腦或筆記型電腦、大型電腦系統、手持型計算器件、蜂巢式電話、智慧型電話、行動電話、工作站、網路電腦、消費型器件、應用程式伺服器、儲存器件、智慧型顯示器、周邊器件(諸如,交換器、數據機、路由器等)或通常任何類型之計算器件。根據一項實例實施例,圖9中說明之系統可表示系統單晶片(SOC)。如名稱所暗指,SOC 900之組件可整合至作為積體電路「晶片」之單一半導體基板上。在一些實施例中,該等組件可在系統中實施於兩個或兩個以上離散晶片上。SOC 900將在本文中用作為實例。
在所說明之實施例中,SOC 900之組件包括中央處理單元(CPU)複合體920、晶片上周邊組件940A至940B(簡稱「周邊」)、記憶體控制器(MC)930、通信網狀架構910及影像處理器120(其自身可被視為周邊組件)。SOC 900亦可耦接至額外組件,諸如耦接至記憶體1800及攝影機影像感測器100。組件920、930、940A至940B及120可全部耦接至通信網狀架構910。記憶體控制器930可在使用期間耦接至記憶體
1800,且周邊組件940B可在使用期間耦接至外部介面1900。另外,影像處理器120可在使用期間耦接至攝影機影像感測器100。在所說明之實施例中,CPU複合體920包括一或多個處理器924及二階(L2)快取記憶體922。
周邊組件940A至940B可為包括於SOC 900中之額外硬體功能性之任何集合。舉例而言,周邊組件940A至940B可包括經組態以在一或多個顯示器件上顯示視訊資料之顯示控制器、圖形處理單元(GPU)、視訊編碼器/解碼器、按比例調整器、旋轉器、混合器等。在一些實施例中,影像處理器120可為諸如影像信號處理器之另一視訊周邊組件之部分,該影像信號處理器經組態以處理來自攝影機影像感測器100(或其他影像感測器)之影像擷取資料。周邊組件亦可包括音訊周邊組件,諸如麥克風、揚聲器、至麥克風及揚聲器之介面、音訊處理器、數位信號處理器、混音器等。周邊組件可包括用於SOC 900(例如,周邊組件940B)外部之各種介面1900之周邊介面控制器,介面1900包括諸如通用串列匯流排(USB)、包括高速PCI(PCIe)之周邊組件互連(PCI)、串列埠及並列埠等之介面。周邊組件可進一步包括網路連接周邊組件,諸如媒體存取控制器(MAC)。一般而言,根據各種實施例,可包括硬體之任何集合。
更特定而言,在圖9中,SOC 900可包括影像處理器組件之至少一個例項,例如,可經組態以實施如本文中所描述之串流中捲動快門補償之影像處理器120。
CPU複合體920可包括充當SOC 900之CPU的一或多個CPU處理器924。系統之CPU可包括執行諸如作業系統之系統之主控制軟體的處理器。通常,在使用期間由CPU執行之軟體可控制系統之其他組件以實現系統之所要功能性。處理器924亦可執行其他軟體,諸如應用程式。應用程式可提供使用者功能性,且可依賴於作業系統達成較低階
器件控制。因此,處理器924亦可被稱為應用程式處理器。CPU複合體920可進一步包括其他硬體,諸如L2快取記憶體922及/或至系統之其他組件之介面(例如,至通信網狀架構910之介面)。
通常,處理器可包括經組態以執行在由處理器實施之指令集架構中定義之指令的任何電路及/或微碼。回應於執行指令而由處理器操作之指令及資料通常可儲存於記憶體1800中,但某些指令亦可經定義以用於對周邊組件之直接處理器存取。處理器可涵蓋在具有其他組件之積體電路上實施為系統單晶片(SOC 900)或其他層級整合件之處理器核心。處理器可進一步涵蓋離散微處理器、整合至多晶片模組實施中之處理器核心及/或微處理器、實施為多個積體電路之處理器等。
記憶體控制器930通常可包括用於自SOC 900之其他組件接收記憶體操作及用於存取記憶體1800以完成記憶體操作的電路。記憶體控制器930可經組態以存取任何類型之記憶體1800。舉例而言,記憶體1800可為靜態隨機存取記憶體(SRAM)、諸如包括雙資料速率(DDR、DDR2、DDR3等)DRAM之同步DRAM(SDRAM)的動態RAM(DRAM)。可支援DDR DRAM之低功率/行動版本(例如,LPDDR、mDDR等)。記憶體控制器930可包括用於記憶體操作之佇列,以用於對操作進行排序(及可能重排序)及向記憶體1800呈現操作。記憶體控制器930可進一步包括用以儲存等待寫入至記憶體之寫入資料及等待傳回至記憶體操作源之讀取資料的資料緩衝器。在一些實施例中,記憶體控制器930可包括用以儲存最近存取之記憶體資料的快取記憶體。在SOC實施中,例如,藉由避免在預期不久將再次存取來自記憶體1800之資料的情況下進行再存取,快取記憶體可減少SOC中之功率消耗。在一些狀況下,該快取記憶體亦可被稱為系統快取記憶體,其與諸如L2快取記憶體922或處理器924中之快取記憶體的僅伺服某些
組件的私用快取記憶體形成對比。另外,在一些實施例中,系統快取記憶體不需要位於記憶體控制器930內。
在一實施例中,記憶體1800可與SOC 900以疊層晶片或疊層封包組態來封裝。亦可使用SOC 900及記憶體1800之多晶片模組組態。此等組態與至系統中之其他組件(例如,至端點16A至16B)之傳輸相比可相對更安全(就資料可觀測性而言)。因此,受保護資料可留存於未加密記憶體1800中,而受保護資料可經加密以在SOC 900與外部端點之間交換。
通信網狀架構910可係用於在SOC 900之組件間進行通信的任何通信互連及協定。通信網狀架構910可基於匯流排,包括共用匯流排組態、縱橫式組態及具有橋接器之階層式匯流排。通信網狀架構910亦可基於封包,且可為具有橋接器之階層式、縱橫式、點對點式或其他互連。
應注意,SOC 900之組件之數目(及圖9中所展示之諸如在CPU複合體920內之彼等組件的子組件之數目)可隨實施例之不同而變化。每一組件/子組件之數目可比圖9中展示之數目多或少。
在一些實施例中,本文中所描述之方法可藉由電腦程式產品或軟體實施。在一些實施例中,非暫時性電腦可讀儲存媒體可具有儲存於其上之指令,該等指令可用於程式化電腦系統(或其他電子器件)以執行本文中所描述之技術中之一些或全部。電腦可讀儲存媒體可包括用於以機器(例如,電腦)可讀之形式(例如,軟體、處理應用程式)儲存資訊的任何機構。機器可讀媒體可包括(但不限於)磁性儲存媒體(例如,軟碟);光學儲存媒體(例如,CD-ROM);磁光儲存媒體;唯讀記憶體(ROM);隨機存取記憶體(RAM);可抹除可程式化記憶體(例如,EPROM及EEPROM);快閃記憶體;適用於儲存程式指令之電媒體或其他類型之媒體。另外,可使用光學、聲學或其他形式之傳播信
號(例如,載波、紅外信號、數位信號等)來傳達程式指令。
電腦系統900可包括處理器單元920(可能包括多個處理器、單執行緒處理器、多執行緒處理器、多核心處理器等),該處理器單元可經組態以執行諸如影像處理器120之一或多個模組,該一或多個模組可存在於儲存在同一電腦系統之記憶體1800中之程式指令內或可存在於儲存在類似或不同於電腦系統900之另一電腦系統之記憶體內的程式指令內。在一些實施例中,經組態以實施串流中捲動快門補償之各種組件可為一起工作之不同電腦系統之部分。
系統記憶體1800可包括經組態以實施用於串流中捲動快門補償(根據本文中所描述之實施例中之任一者)的本文中所描述之技術中之一些或全部的程式指令。舉例而言,記憶體1800可包括用以實施及/或執行影像處理器120之組件中之任一者或全部的程式碼。
在各種實施例中,影像處理器120及/或影像處理器120之個別子模組可各自以各種程式設計語言中之任一者實施。舉例而言,在一項實施例中,影像處理器120可基於JAVA,而在另一實施例中,可使用C或C++或組合程式設計語言來撰寫影像處理器120。此外,在一些實施例中,可使用不同程式設計語言來實施影像處理器120之不同部分或子模組。
雖然本文中已參考特定實施例及在特定實施例之上下文中描述各種系統及方法,但應理解,此等實施例為說明性的,且本發明之範疇不限於此等特定實施例。許多變化、修改、添加及改良係可能的。舉例而言,在描述中識別之區塊及邏輯單元係用於理解所描述之實施例且不意欲限制本發明。功能性可為分離的或在本文中所描述之系統及方法之各種實現中在區塊中以不同方式組合,或用不同術語描述。
此等實施例意欲係說明性的且並非限制性的。因此,可將本文中描述之組件的複數個例項作為單一例項來提供。各種組件、操作及
資料儲存器之間的界線稍顯任意,且特定操作在特定說明性組態之上下文中說明。設想功能性之其他分配,且該等其他分配可在以下申請專利範圍之範疇內。最終,在例示性組態中呈現為離散組件之結構及功能性可實施為組合結構或組件。此等及其他變化、修改、添加及改良可在如以下申請專利範圍中所界定之本發明之範疇內。
儘管上文已詳細地描述了實施例,但一旦完全理解以上揭示內容便將明顯看出眾多變化及修改。預期將以下申請專利範圍解釋為涵蓋所有此等變化及修改。
100‧‧‧攝影機影像感測器
110‧‧‧影像資料
120‧‧‧影像處理器
130‧‧‧經補償影像資料
140‧‧‧記憶體
Claims (20)
- 一種用於串流中捲動快門補償系統,其包含:一攝影機影像感測器;及一影像處理單元,其經組態以進行以下操作:在自一攝影機影像感測器接收一影像之影像資料時進行以下操作:積聚該所接收之影像資料的包含該影像之複數個像素列的一條帶,其中該複數個像素列包含少於在該影像中之像素列的總數目;針對跨越複數個區塊中之每一者,判定該給定區塊之一圖形輪廓,其包含結合關於在該給定區塊之一或多個像素之資訊;針對該複數個區塊中之每一者,基於比較該等所判定之圖形輪廓與一先前影像之圖形輪廓來判定該給定區塊之一偏移;基於該複數個區塊之該等所判定之偏移來判定該條帶之一運動向量;及根據所判定之該運動向量來調整該條帶之該影像資料,其中在接收在該影像中之一下一條帶之影像資料前,調整用於該條帶之該影像資料。
- 如請求項1之系統,其中為了判定一各別區塊之該圖形輪廓,該影像處理單元經進一步組態以進行以下操作:對該區塊之每一列中之複數個像素的圖形值進行求和;及對該區塊之每一行中之複數個像素的圖形值進行求和。
- 如請求項2之系統,其中該等圖形值包含該複數個像素之亮度 值。
- 如請求項1之系統,其中為了判定一給定區塊之該圖形輪廓,該影像處理單元經進一步組態以進行以下操作:對該區塊之每一列中之複數個像素的圖形值進行求平均;及對該區塊之每一行中之複數個像素的圖形值進行求平均。
- 如請求項1之系統,其中為了判定一給定區塊之一偏移,該影像處理單元經進一步組態以進行以下操作中之一者或兩者:基於該圖形輪廓與該先前影像之一或多個其他區塊之圖形輪廓的一水平分量之一比較,判定該給定區塊之一水平偏移;及基於該圖形輪廓與該先前影像之該一或多個其他區塊之圖形輪廓的一垂直分量之一比較,判定該給定區塊之一垂直偏移。
- 如請求項1之系統,其中為了判定一給定區塊之一偏移,該影像處理單元經進一步組態以比較該給定區塊之該圖形輪廓與該先前影像之該等圖形輪廓之間的多個可能匹配。
- 如請求項6之系統,其中為了在多個可能匹配之間進行比較,該影像處理單元經進一步組態以針對每一可能匹配,比較該給定區塊內之一像素位置的圖形輪廓與該先前影像之該等區塊中之一者內的一位置的圖形輪廓之間的一絕對差和。
- 如請求項7之系統,其中為了比較多個可能匹配,該影像處理單元經進一步組態以進行以下操作:判定若該給定區塊之該像素位置與該先前影像之該等區塊中之該者的該像素位置之間的該絕對差和小於一預定臨限值,則一給定可能匹配為一良好擬合;及判定若該給定區塊之該像素位置與該先前影像之該像素位置之間的該絕對差和比該多個可能匹配中之其他者之各別絕對差和小一預定臨限值,則一給定可能匹配為一唯一擬合。
- 一種用於串流中捲動快門補償方法,其包含:藉由一影像處理器執行以下操作:在自一攝影機影像感測器接收一影像之影像資料時進行以下操作:積聚該所接收之影像資料的包含該影像之複數個像素列的一條帶,其中該複數個像素列包含少於在該影像中之像素列的總數目;針對跨越該條帶的複數個區塊中之每一者進行以下操作,其包含結合關於在該給定區塊之一或多個像素之資訊:判定該給定區塊之一圖形輪廓;基於比較該等所判定之圖形輪廓與一先前影像之圖形輪廓來判定該給定區塊之一偏移;基於該複數個區塊之該等所判定之偏移來判定該條帶之一運動向量;及根據所判定之該運動向量來調整該條帶之影像資料,其中在接收在該影像中之一下一條帶之影像資料前,調整用於該條帶之該影像資料。
- 如請求項9之方法,其中該判定一圖形輪廓包含:對該區塊之每一列中之複數個像素的圖形值進行求和;及對該區塊之每一行中之複數個像素的圖形值進行求和。
- 如請求項9之方法,其中該給定區塊之該圖形輪廓包含該給定區塊之亮度資料。
- 如請求項9之方法,其中該判定該條帶之一運動向量包含:組合該水平條帶之該等區塊中之一或多者的該等各別偏移。
- 如請求項9之方法,其中該調整包含:自該影像資料省去一或多 個行像素以補償該運動向量之一水平分量。
- 如請求項9之方法,其中該調整包含:組合該影像資料中之一或多列像素以補償該運動向量之一垂直分量。
- 如請求項9之方法,其中該調整包含:複製該影像資料中之一或多列像素或對該一或多列像素進行重新取樣以補償該運動向量之一垂直分量。
- 一種儲存程式指令之非暫時性電腦可讀儲存媒體,該等程式指令在執行於一計算器件上時使得該計算器件執行以下操作:在自一攝影機影像感測器接收一影像之影像資料時進行以下操作:積聚該所接收之影像資料的包含該影像之複數個像素列的一條帶,其中該複數個像素列包含少於在該影像中之像素列的總數目;針對跨越該條帶的複數個區塊中之每一者進行以下操作:判定該給定區塊之一圖形輪廓,其包含結合關於在該給定區塊之一或多個像素之資訊;基於比較該等所判定之圖形輪廓與一先前影像之圖形輪廓來判定該給定區塊之一偏移;基於該複數個區塊之該等所判定之偏移來判定該條帶之一運動向量;及根據所判定之該運動向量來調整該條帶之影像資料,其中在接收在該影像中之一下一條帶之影像資料前,調整用於該條帶之該影像資料。
- 如請求項16之媒體,其中該判定一圖形輪廓包含:對該區塊之每一列中之複數個像素的圖形值進行求和;及對該區塊之每一行中之複數個像素的圖形值進行求和。
- 如請求項16之媒體,其中該給定區塊之該圖形輪廓包含該給定區塊之亮度資料。
- 如請求項16之媒體,其中該判定該條帶之一運動向量包含:組合該條帶之該等區塊中之一或多者的該等各別偏移。
- 如請求項16之媒體,其中該調整包含:自該影像資料省去一或多個行像素以補償該運動向量之一水平分量。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/038,309 US9554048B2 (en) | 2013-09-26 | 2013-09-26 | In-stream rolling shutter compensation |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201519650A TW201519650A (zh) | 2015-05-16 |
TWI568257B true TWI568257B (zh) | 2017-01-21 |
Family
ID=51539324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103129595A TWI568257B (zh) | 2013-09-26 | 2014-08-27 | 用於串流中捲動快門補償之系統、方法、非暫時性電腦可讀儲存媒體 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9554048B2 (zh) |
TW (1) | TWI568257B (zh) |
WO (1) | WO2015047600A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9374532B2 (en) * | 2013-03-15 | 2016-06-21 | Google Inc. | Cascaded camera motion estimation, rolling shutter detection, and camera shake detection for video stabilization |
JP2015033108A (ja) * | 2013-08-07 | 2015-02-16 | ソニー株式会社 | 画像処理装置、画像処理方法およびプログラム |
US9554048B2 (en) * | 2013-09-26 | 2017-01-24 | Apple Inc. | In-stream rolling shutter compensation |
US9197885B2 (en) | 2014-03-20 | 2015-11-24 | Gopro, Inc. | Target-less auto-alignment of image sensors in a multi-camera system |
US8988509B1 (en) | 2014-03-20 | 2015-03-24 | Gopro, Inc. | Auto-alignment of image sensors in a multi-camera system |
DE102014108189A1 (de) * | 2014-06-11 | 2015-12-17 | Prodad Gmbh | Verfahren zur Transformation einer Bewegtbildsequenz sowie Bewegtbildsequenz-Transformationsvorrichtung |
JP6374228B2 (ja) * | 2014-06-11 | 2018-08-15 | ソニーセミコンダクタソリューションズ株式会社 | 画像処理装置、画像処理方法、およびプログラム |
WO2017053874A1 (en) | 2015-09-23 | 2017-03-30 | Datalogic ADC, Inc. | Imaging systems and methods for tracking objects |
US10033928B1 (en) | 2015-10-29 | 2018-07-24 | Gopro, Inc. | Apparatus and methods for rolling shutter compensation for multi-camera systems |
US10097765B2 (en) | 2016-04-20 | 2018-10-09 | Samsung Electronics Co., Ltd. | Methodology and apparatus for generating high fidelity zoom for mobile video |
RU2658811C2 (ru) * | 2016-12-12 | 2018-06-22 | Общество С Ограниченной Ответственностью "Дисикон" | Способ и система устранения эффекта скользящего затвора камеры |
WO2018125712A1 (en) | 2016-12-30 | 2018-07-05 | Datalogic Usa, Inc. | Self-checkout with three dimensional scanning |
US10999539B2 (en) * | 2017-12-26 | 2021-05-04 | Waymo Llc | Adjustable vertical field of view |
CN109785347A (zh) * | 2018-04-27 | 2019-05-21 | 京东方科技集团股份有限公司 | 图像处理方法、图像处理系统及存储介质 |
US10939042B1 (en) * | 2019-05-07 | 2021-03-02 | Zoox, Inc. | Simulated rolling shutter image data |
EP3929864A1 (en) | 2020-06-23 | 2021-12-29 | Prophesee | Image enhancement method, apparatus and system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060140602A1 (en) * | 2004-12-27 | 2006-06-29 | Tohru Kurata | Methods for correcting distortions of image-taking video signals and apparatus for correcting distortions of image-taking video signals |
US20090160957A1 (en) * | 2007-12-20 | 2009-06-25 | Micron Technology, Inc. | Methods and system for digitally stabilizing video captured from rolling shutter cameras |
TW201127028A (en) * | 2009-10-14 | 2011-08-01 | Zoran Corp | Method and apparatus for image stabilization |
US20110267514A1 (en) * | 2010-04-30 | 2011-11-03 | Ecole Polytechnique Federale De Lausanne | Method to compensate the effect of the rolling shutter effect |
TW201304527A (zh) * | 2011-06-06 | 2013-01-16 | Apple Inc | 使用影像穩定校正捲動快門 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6809758B1 (en) | 1999-12-29 | 2004-10-26 | Eastman Kodak Company | Automated stabilization method for digital image sequences |
JP2001216754A (ja) * | 2000-01-31 | 2001-08-10 | Sony Corp | ディスクカートリッジ |
US7298401B2 (en) * | 2001-08-10 | 2007-11-20 | Micron Technology, Inc. | Method and apparatus for removing flicker from images |
JP4586534B2 (ja) * | 2004-12-28 | 2010-11-24 | セイコーエプソン株式会社 | 撮像装置、手ブレ補正装置、携帯電話機および手ブレ補正方法 |
JP4509925B2 (ja) * | 2005-12-27 | 2010-07-21 | 株式会社メガチップス | 画像処理装置及びカメラシステム並びに画像処理方法及び動画像表示方法 |
US7830565B2 (en) * | 2006-06-27 | 2010-11-09 | Motorola, Inc. | Image capture device with rolling band shutter |
US8068140B2 (en) * | 2006-08-07 | 2011-11-29 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Still image stabilization suitable for compact camera environments |
US20090066800A1 (en) * | 2007-09-06 | 2009-03-12 | Texas Instruments Incorporated | Method and apparatus for image or video stabilization |
US8698908B2 (en) * | 2008-02-11 | 2014-04-15 | Nvidia Corporation | Efficient method for reducing noise and blur in a composite still image from a rolling shutter camera |
US8179460B2 (en) * | 2008-09-22 | 2012-05-15 | Aptina Imaging Corporation | System, method, and apparatus for variable rate pixel data transfer and storage |
US8107750B2 (en) * | 2008-12-31 | 2012-01-31 | Stmicroelectronics S.R.L. | Method of generating motion vectors of images of a video sequence |
US20100309340A1 (en) | 2009-06-03 | 2010-12-09 | Border John N | Image sensor having global and rolling shutter processes for respective sets of pixels of a pixel array |
US9100514B2 (en) * | 2009-10-28 | 2015-08-04 | The Trustees Of Columbia University In The City Of New York | Methods and systems for coded rolling shutter |
US8179446B2 (en) * | 2010-01-18 | 2012-05-15 | Texas Instruments Incorporated | Video stabilization and reduction of rolling shutter distortion |
US8358359B2 (en) * | 2010-01-21 | 2013-01-22 | Microsoft Corporation | Reducing motion-related artifacts in rolling shutter video information |
US9013634B2 (en) * | 2010-09-14 | 2015-04-21 | Adobe Systems Incorporated | Methods and apparatus for video completion |
US9118816B2 (en) * | 2011-12-06 | 2015-08-25 | Mobileye Vision Technologies Ltd. | Road vertical contour detection |
JP5576812B2 (ja) * | 2011-02-16 | 2014-08-20 | オリンパス株式会社 | 画像処理装置、画像処理方法、画像処理プログラム、及び、撮像装置 |
CN103403599B (zh) * | 2011-03-31 | 2015-09-02 | 富士胶片株式会社 | 摄像装置及其对焦控制方法 |
US8648919B2 (en) * | 2011-06-06 | 2014-02-11 | Apple Inc. | Methods and systems for image stabilization |
US8786716B2 (en) * | 2011-08-15 | 2014-07-22 | Apple Inc. | Rolling shutter reduction based on motion sensors |
US8913140B2 (en) * | 2011-08-15 | 2014-12-16 | Apple Inc. | Rolling shutter reduction based on motion sensors |
US9460495B2 (en) * | 2012-04-06 | 2016-10-04 | Microsoft Technology Licensing, Llc | Joint video stabilization and rolling shutter correction on a generic platform |
KR101939628B1 (ko) * | 2012-05-30 | 2019-01-17 | 삼성전자주식회사 | 모션 검출 방법 및 모션 검출기 |
US8976254B2 (en) * | 2012-06-08 | 2015-03-10 | Apple Inc. | Temporal aliasing reduction and coding of upsampled video |
US9232139B2 (en) * | 2012-07-24 | 2016-01-05 | Apple Inc. | Image stabilization using striped output transformation unit |
US8860825B2 (en) * | 2012-09-12 | 2014-10-14 | Google Inc. | Methods and systems for removal of rolling shutter effects |
JP5997557B2 (ja) * | 2012-09-20 | 2016-09-28 | キヤノン株式会社 | 撮像装置及びその制御方法 |
CN103856711A (zh) * | 2012-12-05 | 2014-06-11 | 联咏科技股份有限公司 | 滚动快门的校正方法与图像处理装置 |
US9071756B2 (en) * | 2012-12-11 | 2015-06-30 | Facebook, Inc. | Systems and methods for digital video stabilization via constraint-based rotation smoothing |
KR102020941B1 (ko) * | 2013-02-08 | 2019-09-11 | 삼성전자주식회사 | 움직임 추정 장치 및 추정 방법 |
US9542585B2 (en) * | 2013-06-06 | 2017-01-10 | Apple Inc. | Efficient machine-readable object detection and tracking |
US9554048B2 (en) * | 2013-09-26 | 2017-01-24 | Apple Inc. | In-stream rolling shutter compensation |
US9462189B2 (en) * | 2014-07-31 | 2016-10-04 | Apple Inc. | Piecewise perspective transform engine |
-
2013
- 2013-09-26 US US14/038,309 patent/US9554048B2/en active Active
-
2014
- 2014-08-20 WO PCT/US2014/051792 patent/WO2015047600A1/en active Application Filing
- 2014-08-27 TW TW103129595A patent/TWI568257B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060140602A1 (en) * | 2004-12-27 | 2006-06-29 | Tohru Kurata | Methods for correcting distortions of image-taking video signals and apparatus for correcting distortions of image-taking video signals |
US20090160957A1 (en) * | 2007-12-20 | 2009-06-25 | Micron Technology, Inc. | Methods and system for digitally stabilizing video captured from rolling shutter cameras |
TW201127028A (en) * | 2009-10-14 | 2011-08-01 | Zoran Corp | Method and apparatus for image stabilization |
US20110267514A1 (en) * | 2010-04-30 | 2011-11-03 | Ecole Polytechnique Federale De Lausanne | Method to compensate the effect of the rolling shutter effect |
TW201304527A (zh) * | 2011-06-06 | 2013-01-16 | Apple Inc | 使用影像穩定校正捲動快門 |
Also Published As
Publication number | Publication date |
---|---|
US20150085150A1 (en) | 2015-03-26 |
US9554048B2 (en) | 2017-01-24 |
WO2015047600A1 (en) | 2015-04-02 |
TW201519650A (zh) | 2015-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI568257B (zh) | 用於串流中捲動快門補償之系統、方法、非暫時性電腦可讀儲存媒體 | |
US10868985B2 (en) | Correcting pixel defects based on defect history in an image processing pipeline | |
JP5654134B2 (ja) | 複数のプロセッサを使用した並列画像処理 | |
US8223218B2 (en) | Face detection apparatus | |
KR102291790B1 (ko) | 이미지 프로세싱 파이프라인 내의 이미지 데이터의 다중 레이트 프로세싱 | |
US9787922B2 (en) | Pixel defect preprocessing in an image signal processor | |
JP5906028B2 (ja) | 画像処理装置、画像処理方法 | |
US10176560B2 (en) | Multi-block memory reads for image de-warping | |
US9667841B2 (en) | Image processing apparatus and image processing method | |
US20140321771A1 (en) | Techniques for real-time clearing and replacement of objects | |
WO2014093112A1 (en) | Multi-focal image capture and display | |
US8861846B2 (en) | Image processing apparatus, image processing method, and program for performing superimposition on raw image or full color image | |
US20120169900A1 (en) | Image processing device and image processing method | |
TW201724029A (zh) | 以全異比例縮放爲基礎之影像處理裝置、影像處理之方法、以及包括其之電子系統 | |
US20110242115A1 (en) | Method for performing image signal processing with aid of a graphics processing unit, and associated apparatus | |
US8798386B2 (en) | Method and system for processing image data on a per tile basis in an image sensor pipeline | |
WO2018058476A1 (zh) | 一种图像校正方法及装置 | |
US10713757B2 (en) | Image processing apparatus, control method thereof, and storage medium | |
US9117110B2 (en) | Face detection-processing circuit and image pickup device including the same | |
TWI495293B (zh) | 用於圖像失真校正之方法及裝置 | |
US20190005633A1 (en) | Image processing apparatus, image processing method, and storage medium | |
WO2021237736A1 (zh) | 图像处理方法、装置和系统,计算机可读存储介质 | |
US20130021371A1 (en) | Image display apparatus and image display method | |
JP6524644B2 (ja) | 画像処理装置および電子機器 | |
CN112752086A (zh) | 用于环境映射的图像信号处理器、方法和系统 |