時間影像筆記
同一張照片,
頂端比底端更早
逐行快門不是快門不夠快,而是影像每一列拿到不同的現在。
本文說明感測器的取光時序,不判定任何特定手機或拍攝模式。
你把手機朝著一支筆直路燈快速向右移動,同時按下拍攝。照片裡的路燈可能向一側傾斜。真實路燈沒有彎,照片也不一定整片模糊;比較可能被忽略的是,影像頂端與底端未必來自同一個時刻。
許多相機使用 CMOS 感光元件,也就是接住光並把它變成影像資料的晶片;其中常見的一種取光方式叫 rolling shutter,中文常稱逐行快門或滾動快門。它讓影像各列的曝光長度可以相同,開始與結束時間卻依列錯開。拍攝期間只要物體、相機或燈光正在改變,列與列就會記下不同狀態。相機最後把這些列拼成一張圖,時間差便可能變成傾斜、彎曲或明暗條帶。
上述機制不代表每支手機、每個拍攝模式都一樣,也不能只看一張怪照片就判定感光元件的設計。這篇要拆開的,是一個更基本的問題:相機所謂的「一瞬間」,究竟怎麼分給整張影像?
01 時間窗
快門不是一扇門
機械快門容易讓人想到一扇同時開闔的門。逐行快門比較像一排沿著感光元件移動的時間窗:第一列先開始曝光,隔了一小段列時間,第二列開始;再隔一段,第三列開始,直到最後一列。
在常見的逐行模式裡,每一列可以曝光同樣久。因此,第二列不一定比第一列「看得比較少」,它只是比較晚開始,也比較晚結束。所有列完成後,相機才把不同時刻取得的列組成同一幀。
Basler 的相機文件把相鄰列的時間偏移寫成 tRow。文件也指出,感測器讀完整個有效影像區域所需的時間,會和每列時間及有效列數相關。換句話說,一張照片的高度不只是空間座標,也可能暗藏一條從早到晚的時間軸。
02 幾何
傾斜,是時間排成了高度
想像一支直桿在拍攝期間持續向右移動。影像頂列最早曝光,記下直桿還在左邊;中間列稍晚曝光,記下直桿已經靠右;底列最後曝光,記下直桿又再往右。把三個位置依高度疊起來,原本垂直的直桿便成了斜線。
逐行快門造成的幾何變形和運動模糊不是同一件事。運動模糊發生在單列自己的曝光時間內:物體在那段時間走過一段距離,邊緣因此散開。逐行變形則來自不同列的時間窗彼此錯開。每一列都可能拍得很清楚,整支直桿仍然傾斜;兩種現象也可以同時出現。
Sony Semiconductor 對 global shutter 與 rolling shutter 的說明同樣把高速物體的形變歸因於逐列掃描。這也是為什麼旋轉中的扇葉、快速掠過的車輪,或相機急速橫移時,照片可能出現平常肉眼看不到的幾何形狀。
03 光源
移動的不只物體
造成列與列不同的,不必是被攝物自己移動。相機若在拍攝時晃動,整個場景會在下一列曝光前換位置;一棟筆直建築因此可能傾斜,細線也可能呈現波浪。逐行快門記下的,是相機與場景之間的相對變化。
光源也可能改變。某些 LED 會用快到肉眼難以察覺的頻率反覆亮滅。Sony Semiconductor 的車用 LED 防閃爍說明指出,若感光元件的曝光時間短於 LED 的亮滅週期,影像可能剛好在熄滅階段取樣,甚至把原本亮著的號誌拍成熄滅或閃爍。
當不同列落在 LED 不同亮度階段,時間差就不再表現為斜線,而可能變成亮帶與暗帶。閃光若沒有覆蓋整段逐列曝光時間,也會留下相似的局部明暗。照片於是把人眼感覺不到的時間節奏,翻譯成空間上的條紋。
逐列錯開:上、中、下列在不同時間看見向右移動的直桿,清楚片段拼起來仍會傾斜。
兩種不同的快
更短曝光,不等於同一時間
如果把每列的曝光縮短,直桿在單列曝光期間移動得更少,運動模糊通常會減輕。但是第一列與最後一列仍可能在不同時間取光,所以斜線不保證消失。短曝光解決的是每個時間窗內的拖影;更快的列掃描才直接縮小時間窗彼此的偏移。
單列曝光與列間偏移的差別,也說明為什麼不能只拿每秒影格數猜逐行變形有多嚴重。Basler 的文件把感測器讀出時間寫成 tRow 乘以影像有效高度;實際相機還會受到感測器模式、裁切區域與處理流程影響。兩台同樣錄製每秒 30 幀的相機,列與列之間不一定具有相同時間差。
裁切較少的有效列數,在支援相應模式的相機上可能縮短感測器讀出時間,但這不是所有手機都能由使用者直接控制的開關。若要評估特定裝置,仍要看該感測器與拍攝模式的實測或官方規格。
上排同時取得一幀;下排仍可讓資料依列離開。兩件事不矛盾。
真正的反轉
讀出逐行,不一定是逐行快門
最容易混淆的一步在這裡:資料一列一列離開感光元件,不代表各列一定在不同時間曝光。
global shutter 會讓全部像素同時開始、同時停止取光。曝光結束後,資料可以先被轉移到儲存節點,再依列送去轉換與輸出。Basler 與 Sony Semiconductor 的資料都描述了這種「同步取得、依序讀出」的做法。global shutter 保存的是同一個取光時刻,不是要求每個位元在同一瞬間通過同一條輸出線。
因此,判斷快門類型時要分清楚兩條時間線:第一條是光在什麼時候被每個像素接住;第二條是像素資料在什麼時候被送往處理器。rolling shutter 與 global shutter 的核心差異在第一條,而不是第二條。
架構沒有單一冠軍
不是誰比較高級
同步曝光需要把整個畫面的光訊號暫時保存下來。STMicroelectronics 在介紹雙模式感測器時指出,傳統 global shutter 會加入像素內儲存與額外電路,這可能影響感光面積、噪訊、功耗或成本;rolling shutter 的較簡單結構,在某些設計中則能提供較高感光能力、較低噪訊或更好的低光表現。
像素儲存、電路、感光與噪訊之間是架構取捨,不是永遠固定的排名。Sony 的 Pregius S 與 ST 的新型堆疊感測器,都利用背照式或多層晶圓,把感光與處理電路分開配置,重新調整同步曝光原本的代價。個別產品仍要看實際規格,不能把某家某代元件的優勢套到所有相機。
日常拍攝若沒有高速運動、強烈相機晃動或閃爍光源,逐行時間差可能小到不容易察覺。需要忠實保留筆直幾何、辨識高速移動物、同步閃光或做機器量測時,global shutter、較快的感測器讀出,或與光源同步的設計才會變得重要。
選快門,先選要忠實保留的那一種時間。
回到照片表面
讀照片,也要讀它的時間方向
照片仍然可以代表一個事件,但它未必是一刀切下來的單一瞬間。逐行快門把時間沿影像高度攤開:上面先發生,下面稍後抵達。物體的移動變成斜線,相機的晃動變成波浪,燈光的節奏變成條帶。
下一次看到扭曲的扇葉、傾斜的路燈或螢幕上的暗帶,先別急著說相機只是「拍糊了」。更精確的問題是:這張照片的每一列,各自拿到了哪一個現在?
頂端先看見,底端才抵達。
原始資料
資料來源與事實邊界
-
01
Basler|Electronic Shutter Types
逐行模式的列時間偏移、相同單列曝光時間、有效影像高度與讀出時間,以及 global shutter 同步曝光後逐列讀出的區分。
-
02
Sony Semiconductor Solutions|Global Shutter Technology
逐列掃描與同步曝光的差異、global shutter 的儲存節點與高速運動用途。
-
03
Sony Semiconductor Solutions|LED Flicker Mitigation
LED 亮滅週期、短曝光可能漏拍發光狀態,以及延長曝光與飽和的取捨。
-
04
STMicroelectronics|Choosing between global and rolling shutter
雙模式 CMOS 感測器的像素儲存、電路、感光、功耗與 3D 堆疊取捨;相關敘述是廠商針對其架構的技術說明。
本文不判定任何特定手機採用哪一種快門,也不以示意圖中的列數或時間值代表真實裝置規格。關於軟體校正的限制屬原理推論:校正需要足夠的運動資訊,也無法保證找回曝光當下沒有取得的光訊號。