isp之lsc邏輯實現原理

于德志 2024-04-17 02:36 22次浏览 0 条评论 taohigo.com

1、什麼是lsc

lsc全稱是lens shading correction,鏡頭陰影校正。lens Shading指畫面四角由於入射光線不足形成的暗角,同時,由於不同頻率的光折射率差別,導致 color shading。因此,lsc主要解決luma shading( 亮度陰影)和 color shading (色彩偏差)。

luma shadingcolor shading

2、如何矯正

針對color shading,首先會有幾個色溫下的gain值表(標定),線性插值出當前色溫下的gain表,以此來糾正色彩偏差,gain表一般會存在memory裡。

針對luma shading,會采用原始像素點像素值*gain(增益)。

3、如何獲得gain值

說到求gain值,不得不說網格點的劃分,一般有兩種,圓心法和網格法,孰優孰劣,可以網上搜一下。

在這裡采用網格法,一幀圖像,分成16×16網格,共有17×17個網格點。

網格法

舉例說明,假如一幀圖像的分辨率是64×64,分成16×16個網格,每個網格有4×4個像素點。

網格點

其中,17×17網格點gain值會先存在memory裡,所以,在雙線性插值前,先進行預取。

4、gain值預取

預取不復雜,看項目需要,預取的方法不一樣,會影響最小分辨率。

5、雙線性插值

雙線性插值

雙線性插值可以拆分成3次線性插值,2次x方向線性插值,1次y方向線性插值。

公式如下:

gy1=g11+((x-x1)/(x2-x1))*(g12-g11)

gy2=g21+((x-x1)/(x2-x1))*(g22-g21)

gx=gy1+((y-y1)/(y2-y1))*(gy2-gy1)

針對邏輯實現方面,需要考慮面積,其中,除法器占的面積比較大,一般會采用乘法和移位來代替除法,雖然在精度上有損失,但是會減少面積和延時。

因此,雙線性插值的難點在於如何處理(x2-x1)和(y2-y1),如果是2^n,可以直接采用移位,如果不是,可以采用乘法和移位來完成。

6、參考資料

ISP基礎(05):鏡頭陰影矯正 LSC

圖像插值算法及其實現 – yooooooo – 博客園

上述內容隻是個人理解,希望大傢不吝賜教。