數位相片與視訊的價格近年來大幅下滑,畫質卻越來越高,因此驅動了數位相機的爆炸性成長。許多應用現在都具備數百萬畫素的相機,如數位相機、攝影機、照相手機和視訊監控設備等。
然而,影像解析度的提升卻也導致影像處理更趨複雜。這類產品內部的影像處理管線是由一系列特別設計的影像資料即時處理演算法構成,可接受相機感光元件傳來的原始資料,再產生可供觀看或進一步處理的數位影像。由於最終畫質取決於管線效能,許多相機都會利用硬體來實作影像處理管線。這種做法不需透過主要應用處理器的支援,即可完成前端影像處理,因此應用處理器可將其時脈週期保留給編碼或物件辨識等先進處理作業。
由於相機使用者對最終影像及視訊有不同偏好,因此目前沒有任何可做為標準的調校方法或畫質評估指標。設計人員必須瞭解各種功能方塊的用途,以及如何針對特定應用將管線的每個處理階段最佳化,以大幅增強影像和視訊畫質,使其更加清晰銳利。
影像處理管線的組成單元
影像處理管線可細分為10個不同的處理方塊,如(圖一),有時甚至還能關閉其中某些方塊。影像處理作業的總延遲時間是由速度最慢的方塊決定,因此關閉部份方塊並不會影響延遲時間,通常彩色濾鏡陣列(CFA)內插運算是最慢的方塊,因為必須將感光元件傳來的資料轉為RGB資料。
影像處理具備高度的平行性,因此各階段管線不需接收到完整影像即可開始處理。此外,將管線分為多個處理階段後,相機就能並行處理多張圖片,顯示管線的效率越高,所能拍攝和處理的圖片就越多。
影像管線的處理階段已大致標準化,或許順序略有差異,但仍會涵蓋相同的基本處理功能。然而,效能並不是影響畫質的唯一因素,許多方塊除了必須根據特定使用者的偏好進行調整外,還要特別調校以配合相機使用的感光元件與鏡頭組合,以及各種不同的相機操作條件。
影像處理管線最好採用可配置組態設計,使開發人員既能調整濾波和演算法參數,又能受惠於硬體處理的速度優勢。ASIC設計雖提供高效能和降低成本,其固定架構卻很難調整配合不同的應用,因此也無法達到最佳畫質。另一方面,可程式化設計儘管具備優異彈性,卻會佔用太多的主應用處理器效能,並且消耗過多電力。
幸而影像處理管線原本就很適合採用可配置組態的演算法,就算是平常使用專屬設計的功能方塊也不例外。舉例來說,開發人員若使用德州儀器(TI)以DaVinci技術為基礎的DSP實作影像處理管線,就能調校其所含的10個不同方塊,以便提供最快速的即時視訊處理。開發人員還能調整每個管線方塊的特定參數,以便彈性微調管線產生的影像,進而提升最終產品的品質。
基本上,每個設計(亦即每組感光元件和鏡頭)都要執行一次微調程序。若相機只用於特定應用,那麼一組參數就足夠。若是用途較廣的相機,開發人員就會執行多次測量,以針對每一組適用的照明條件計算出適當參數。舉例來說,使用者便能選擇陰天、晴天或夜間照明條件最佳化的參數。更有甚者,相機本身能自動評估目前的照明條件,再針對所要拍攝的畫面選擇合適的參數。
《圖一 影像處理管線是一系列即時調整影像資料的特殊演算法,可接受相機感光元件傳來的原始資料,再產生可供觀看或進一步處理的數位影像。此圖包含10個不同功能方塊的影像處理管線。》 |
|
影像管線微調
黑階調整
管線的第一個處理階段是將感光元件的黑色設為影像的黑色。計算這個調整值的最簡單方法是蓋上相機鏡頭的蓋子,拍張全黑的照片。這將提供三個基準偏移值,代表必須從拍攝影像刪減的感光元件暗電流和鏡頭光暈(lens flare)。不刪減這些偏移值會造成影像對比下降。
雜訊抑制
這個方塊會計算相鄰類似像素的平均值,以便消除光、電、數位和電源等各種雜訊來源。倘若在乾淨的畫面運用太強的濾波器,會造成影像模糊,而對雜訊濾波功能進行微調則可避免這種情形。一般而言,雜訊位準如果很高,就應提高相鄰類似像素平均值的權值;反過來說,如果雜訊位準很低,就應該提高原像素的權值。(圖二)是使用均勻光源的光電轉換函數圖(OECF),可用以決定不同亮度的雜訊位準。光電轉換函數圖的12個均勻灰色區塊提供12種功率位準,設計人員可隨著感光元件和增益值(或ISO)的不同,以線性或平方根的方式根據這些功率位準來處理雜訊。
白平衡
白平衡方塊可自動補償各種照明條件下的色差,以正確顯示白色,這些不同的照明條件包括白熾燈、螢光燈、自然光源、脈衝氙燈、白光LED閃光燈和混合光源,其中又以混合光源下的調校最困難。至於白平衡所需的補償增益值,則可利用(圖三)所示的色彩導表(ColorChecker)取得6個灰色區塊的平均RGB值後,再計算而得;一般說來,紅色和藍色增益是將均方誤差減到最小而得,綠色增益則會設為1,可省下1組增益值的計算過程。
彩色濾鏡陣列(CFA)內插
相機通常只有一個感光元件,因此雖然RGB總共需要3種色彩,相機通常只能在每個像素取得1種色彩,然後透過彩色濾鏡陣列內插運算得到另外兩種色彩。儘管這是影像處理管線最複雜的演算法之一,且其品質主要取決於晶片製造商的專業知識,但基本上就是一種變換函數,不受感光元件或照明條件的影響,因此也不需要任何調校。
《圖二 光電轉換函數圖(OECF)的12個均勻灰色區塊,可用以決定不同亮度的雜訊位準。》 |
|
RGB混色
RGB混色方塊的重要處,在於不同的感光元件會對同樣的顏色產生不同的RGB值。調校這個方塊時,必須產生一個矩陣,以便將感光元件的RGB色彩空間轉換為Rec709 RGB之類的標準色彩空間。要達到這個需求,只需在白平衡處理後,利用色彩導表取得18色區塊的平均RGB值,再於逆向Gamma修正後對參考RGB值執行約束最小化(constrained minimization)。
Gamma修正
此方塊會補償輸出顯示器的非線性失真。只要採用Rec709或SMPTE240M之類的標準Gamma修正,就能利用與多數顯示器相同的校準方式來校準相機,因此多數應用並不需要調校這個方塊。但某些特別的顯示器則例外,例如機場電腦或軍事應用所使用的顯示器就需要不同的Gamma修正。在這些情形下,開發人員必須設定影像處理管線的組態,並讓Gamma修正功能方塊使用特別的Gamma修正查詢表。
RGB到YCC轉換
人眼對於亮度(Y)的敏感度勝過色度(Cb、Cr),因此每個色彩分量都需以不同的精準度進行不同處理。這個方塊就是單純的轉換功能,不需任何調校。
邊緣強化
這個方塊的預設參數在多數應用都有不錯的表現,因此通常不需調校。但若需要更銳利或更柔和的畫面,則可適當增加或減少邊緣強化程度。邊緣強化功能只用一個參數,參數值越大就表示邊緣強化越明顯。但邊緣強化參數的調整必須與雜訊濾波功能取得平衡,這是因為邊緣與雜訊在畫質較差時會變得很難區別。開發人員有時還可關閉這個功能方塊,例如亮度不足時拍攝的畫面會有較小的訊號雜波比(SNR),此時邊緣強化功能反而會增強雜訊,使觀眾覺得畫面雜訊更明顯。
對比強化
這個方塊使用對比和亮度兩種參數。會根據特定照明條件和使用者喜好進行調整,因此通常由使用者動態選擇。在白天等正常照明條件下,若能將對比調為最大值而不造成畫面高亮度部份飽和,則大都可以得到最佳畫質。
假色度訊號抑制
這個方塊會消除彩虹斑(color artifacts)。一般應用在正常照明條件下不需調校這項功能,但相機在照明不足時卻會拍到畫質不佳的影像,使紋理或物體邊緣出現彩虹斑,此時應將假色度訊號抑制參數調高。另外,高對比的邊緣還可能出現紫邊現象(purple fringe),例如拍攝以天空為背景的樹葉。
《圖三 色彩導表(ColorChecker)的6個灰色區塊可在不同的照明條件,如白熾燈、螢光燈和自然光源下取得平均RGB值。》 |
|
偏好決定畫質
影像處理管線的設計會對最終畫質產生重要影響,但數位相機開發人員應瞭解影像處理管線的調校比較類似藝術,而不是科學,因為常涉及主觀的畫質詮釋;換言之,畫質調校在許多時候其實是偏好的問題。例如邊緣強化雖讓畫面更銳利,但不表示其畫質就勝過柔和畫面。最終關鍵仍在於相機能否根據其用途,產生對使用者有吸引力的影像畫質。
影像畫質也與場景有關。例如人像畫面就不必太銳利,應該柔和一些,並儘量減少雜訊和色斑。提高人像畫面的銳利度常造成線條邊緣出現色斑,導致畫質不佳。另一方面,提高銳利度則對風景畫面有正面效應。
理想的影像處理管線不但能提供最佳效能,還必須具備適當彈性,協助開發人員微調影像處理管線,但又不會限制演算法用途或對主要應用處理器造成太大負擔。另外,開發人員必要時還應能關閉管線的部份處理方塊。舉例來說,某些應用可能需要解決特定的雜訊問題,此時開發人員若能關閉影像處理管線所含的雜訊濾波器,並導入特別設計或專屬的雜訊濾波器,就不需重新開發其他的影像處理管線。值得注意的是,增加增益(ISO)之類較複雜的濾波器也可能導致雜訊增加。
因此影像處理管線須具備足夠彈性,以便因應不斷改變的使用者偏好。此架構還能針對每一組感光元件及鏡頭和不同的照明條件將影像處理管線最佳化,協助開發人員將同一管線用於多種不同的應用。彈性運用同一管線還能減少產品線所需管理的零件數目、加速開發時程和透過經濟規模減少整體用料,進而為最終使用者提供最完美的影像畫質應用。
---作者為TI德州儀器研究員---