From dc3c24a51aa2006b9dec0c91ca5637a114c38c45 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Thu, 8 Sep 2022 12:14:17 +0800 Subject: [PATCH] vault backup: 2022-09-08 12:14:17 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: .obsidian/workspace 02. PARA/03. Resources(資源)/HDR Sensor.md --- .obsidian/workspace | 16 +- 02. PARA/03. Resources(資源)/HDR Sensor.md | 264 +++++++++++++++++++ 2 files changed, 272 insertions(+), 8 deletions(-) create mode 100644 02. PARA/03. Resources(資源)/HDR Sensor.md diff --git a/.obsidian/workspace b/.obsidian/workspace index 5c648d3..e575202 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -4,13 +4,13 @@ "type": "split", "children": [ { - "id": "ec13ce58b15fa6d4", + "id": "d1de3e27789cf166", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "02. PARA/01. Project(專案)/008. Sentinel.md", - "mode": "preview", + "file": "02. PARA/03. Resources(資源)/HDR Sensor.md", + "mode": "source", "source": true } } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "02. PARA/01. Project(專案)/008. Sentinel.md", + "file": "02. PARA/03. Resources(資源)/HDR Sensor.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "02. PARA/01. Project(專案)/008. Sentinel.md" + "file": "02. PARA/03. Resources(資源)/HDR Sensor.md" } } } @@ -114,8 +114,9 @@ "direction": "horizontal", "width": 243 }, - "active": "ec13ce58b15fa6d4", + "active": "d1de3e27789cf166", "lastOpenFiles": [ + "02. PARA/03. Resources(資源)/HDR Sensor.md", "02. PARA/01. Project(專案)/008. Sentinel.md", "02. PARA/01. Project(專案)/001. Kong.md", "00. TOP/01. TODO.md", @@ -124,7 +125,6 @@ "02. PARA/03. Resources(資源)/Trojan.md", "02. PARA/03. Resources(資源)/802.11.md", "02. PARA/03. Resources(資源)/Proxmox VE.md", - "02. PARA/03. Resources(資源)/sqlite.md", - "02. PARA/02. Area(領域)/20150803 - Android/ADB 取得 APK 的 icon.md" + "02. PARA/03. Resources(資源)/sqlite.md" ] } \ No newline at end of file diff --git a/02. PARA/03. Resources(資源)/HDR Sensor.md b/02. PARA/03. Resources(資源)/HDR Sensor.md new file mode 100644 index 0000000..80fbee6 --- /dev/null +++ b/02. PARA/03. Resources(資源)/HDR Sensor.md @@ -0,0 +1,264 @@ +## HDR sensor 原理介紹 +1. 什麼是sensor的動態範圍(dynamic range) + sensor的動態範圍就是sensor在一幅圖像裡能夠同時體現高光和陰影部分內容的能力。 + 用公式表達這種能力就是: + DR = 20log 10(i _max / i_min); // dB + $$DR = 20log(\frac{i_max}{i_min})$$ + +i_max 是sensor的最大不飽和電流----也可以說是sensor剛剛飽和時候的電流 + +i _min是sensor的底電流(blacklevel); + + 2. 為什麼HDR在成像領域是個大問題: + +在自然界的真實情況,有些場景的動態範圍要大於100dB。 + +人眼的動態範圍可以達到100dB。 + +Sensor 的動態範圍: + +高端的>78 dB; + +消費級的60 dB 上下; + + 所以當sensor的動態範圍小於圖像場景動態範圍的時候就會出現HDR問題----不是暗處看不清,就是亮處看不清,有的甚至兩頭都看不清。 + +## ![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412095159571-173615205.png) + + 上圖暗處看不清--前景處的廣告牌和樹影太暗看不清。 + +## ![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412095219849-2036928694.png) + +## 上圖亮處看不清--遠處背景的白雲變成了一團白色,完全看不清細節。 + +3. 解決HDR問題的數學分析 + +根據前邊動態範圍公式 + +DR = 20log 10(i_max / i_min); // dB + +所以從數學本質上說要提高DR,就是提高i_max,減小i_min; + +對於10bit輸出的sensor,從數學上來說,i_max =1023,i_min =1; + +動態範圍DR = 60; + + 對於12bit輸出的sensor,DR = 72; + +所以從數學上來看,提高sensor 輸出的bit width就可以提高動態範圍,從而解決HDR問題。 + +可是現實上卻沒有這麼簡單。 + +提高sensor的bit width導致不僅sensor的成本提高,整個圖像處理器的帶寬都得相應提高,消耗的內存也都相應提高,這樣導致整個系統的成本會大幅提高。所以大家想出許多辦法,既能解決HDR問題,又可以不增加太多成本。 + +## 二.HDR Imaging Digital Overlap + +Digital Overlap是目前比較流行的sensor H DR 技術,在監控與車載相機等領域的應用非常廣泛。Sony於2012年在監控相機市場首先推出基於DOL(digital overlap)HDR技術的圖像傳感器,之後OV與Onsemi也都推出了與DOL類似的HDR技術的圖像傳感器,而且應用領域不局限於監控這種傳統HDR imaging的市場,而且擴展到了Automotive camera市場。現在Sony已經推出了第二代支持虛擬通道DOL HDR技術的sensor。 + + 1.什麼是時域多幀HDR技術 + +相機在時間上連續輸出由欠曝到過曝的圖像,然後做圖像融合,得到HDR圖像。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412095356429-1225500631.png) + + 融合後HDR圖像 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412095500036-1147852374.png) + +比較典型的一種融合方法是根據luminance,contrast,motion等條件,對第K幀圖像的像素[i,j]給出權重。Wij,k 是第K幀,位置i,j像素的權重,Xk((i,j)是原始像素值,Xf(i,j)是融合後的像素值。公式如下  + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412095726682-775383621.png) + +對彩色圖像,權重的計算會考慮色彩的飽和度等因素。 + + 2.傳統時域多幀HDR技術存在的局限 + +由於傳統時域多幀是基於連續曝光的整幀圖像(Frame Based)進行融合,所以圖像之間的間隔時間就是一幀圖像的周期,由此會產生很多artefacts: + + 場景內物體增減 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412095915848-294335122.png) + +近距離物體快速移動形成拖影 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412095948969-1372705839.png) + +Color artefact + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412100054082-388198519.png) + +Frame based的多曝光HDR技術常用於still image 的capture,也有視頻HDR 採用這種技術,比如sensor以60fps的幀率交替輸出長短曝光,融合後輸出30fps的HDR圖像。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412100333302-468472209.png) + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412100418434-203196772.png) + +早期的HDR video有採用這種技術,自從DOL技術出現後,這種Frame based Video HDR技術就逐漸退出歷史舞台了。 + + 3.什麼是DOL HDR + +DOL HDR 也叫做line interleaving HDR 技術。以兩曝光DOL為例,sensor每行會以長短曝光兩次先後輸出,從readout角度來看,就是長曝光幀與短曝光幀line interleaving 依次輸出,如下圖,第一行L輸出,第一行S輸出,第二行L輸出,第二行S輸出,以此類推。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412100529435-170192984.png) + +frame based HDR,長短曝光幀的間隔是一個幀週期,也就是必須一整幀(長)曝光結束,再開始一整幀(短)曝光,如下圖 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412100546546-1096836968.png) + + 對於DOL HDR而言,由於line interleaving(行的交織),存在兩幀的overlap,等於一幀輸出沒結束,下一幀就來了,長短曝光幀的間隔大大縮小了。 + +從下圖可見,長曝光幀與短曝光幀overlap了一部分,所以這種技術叫digital overlap。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412100703466-1912064866.png) + + 4.DOL長短曝光幀的時間間隔 + +前邊說過,Frame based HDR的長短曝光幀的間隔是一幀的時間,那麼DOL HDR的長短曝光幀的時間間隔是多大呢? + +如果先輸出長曝光的話 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412100717894-1595515136.png) + + 如果先輸出短曝光的話 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412100822480-184812752.png) + + T= long exposure 的時間 + +所以當然是先輸出長曝光,這樣T(時間間隔)會更小。。 + + 5.DOL長短曝光時間比與動態範圍擴展 + +以兩曝光DOL 為例 + +Exposure ratio = Long exposure time/ short exposure time + +假設Exposure ratio = 16,假設在xinhao 沒有飽和的條件下,相當於曝光最大值增大了16倍:2^4。也就是動態範圍擴大了4個bit。 + +以此類推,每增加一個曝光幀,如果exposure ratio =16,動態範圍就可以擴大4bit。 + +按照一般HDR sensor 單曝光為12bit來算的話,4曝光就可以讓sensor輸出的動態範圍擴大到24bit(12+4+4+4)。 + +exposure ratio 也不是越大越好,exposure ratio會受到三方面的製約,圖像質量,sensor設計以及isp line delay buffer。 + +從圖像質量上來說,短曝光時間越短,圖像噪聲越高,長曝光越長,motion的影響越大。Exposure Ratio越大,在圖像融合後的SNR drop也越大。 + +從sensor設計上來說,長短曝光之比受到讀出電路的限制,sony的DOL第二代採用虛擬通道技術一定程度改善了這個限制。 + +從ISP的角度來說line d elay buffer 也限制了最大曝光時間。在短曝光行出來之前,第一個長曝光行應該還在delay buffer裡,這樣才能兩者對齊好給後面的frame stitch操作。而長短曝光比越大,需要的line delay buffer就越大。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412100950046-469714366.png) + + 對於sensor做hdr融合case而言,line delay buffer size就是固定的,所以ISP傾向於在isp這端做HDR融合,這樣可以更靈活的設計。(Maver注:對於車載而言,帶寬是個主要關注點,所以大部分用戶不會選擇在ISP側做HDR融合) + +6.DOL的局限 + +Sony在推出DOL的時候,宣傳DOL是'準同時'輸出長短曝光。既然是'準同時',那就還不是同時,所以也會有一些典型時域多幀HDR的圖像質量問題,同時DOL也有一些特有的IQ問題。 + +HDR Transition Artefacts + +可以從下左圖看到composition noise造成的edge,這種edge有時候會誤導機器視覺。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412101147526-216923810.png) + +從DOL hdr的noise profile可以看出來,如下圖,在HDR拼接處,可以看到SNR的顯著變化,叫做snr drop,當SNR drop大的時候,就會出現明顯的edge,如上圖所示。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412101213313-292299226.png) + +曝光比越小,SNR drop就越小, 可以想見,如果曝光比為1,也就沒有snr drop了。反之,曝光比越大,動態範圍越大,snr drop也越大,如下圖所示。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412101406902-1922414693.png) + + Flicker + +交流電供電光源造成的flickering,如下圖: + +交流電供電光源造成的flickering,如下圖:![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412101441184-199810703.png) + + 為了避免banding,就得讓最小曝光時間是半週期的整數倍。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412101520036-1816151275.png) + +這樣就不會出現banding了。但是由於最小曝光時間變大了,動態範圍就損失了。所以有時候為了保證不損失動態範圍,就得容忍Flickering。這就得看應用場景了。 + +類似的問題發生在PWM供電的Led光源上,尤其是交通信號燈以及汽車信號燈,如下圖所示 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412101758213-2089228974.png) + +sensor的長曝光幀能catch到led 的light pulse,但是短曝光幀就沒catch到,這樣也會造成flickering甚至信號燈圖像的丟失。 + + +這種flicker或者信號燈信息丟失的問題在車載成像系統上是致命的,所以車載HDR現在更傾向採用spatial based HDR技術,比如Sony採用的sub pixel技術或者OV 採用的split pixel技術。 + +三.HDR imaging split/sub pixel 技術 + +我們在上一期講了時域多幀HDR技術--Digital Overlap. 現在在監控領域的WDR sensor主要採用這種技術,如下圖,利用不同的sensor曝光(藍色線所示)覆蓋不同的動態範圍,再把多曝光圖像stitching起來(紅色線所示),達到最大的動態範圍輸出。Sony的imx290,OV的ov4689都是這個類型典型sensor。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412101814735-1497687033.png) + +車載領域也廣泛使用Temporal domain HDR技術,但是隨著車載相機在ADAS與自動駕駛領域的迅速發展,對圖像質量有著特別的需求,導致Temporal domain HDR技術不能滿足需要。車載比較典型的兩個IQ需求是不能有motion artefact 和LED flickering。 + +motion artefact + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412101934829-127704344.png) + + LED flickering + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412102051683-2142159974.png) + +Temporal HDR 在原理上就存在這些缺陷,所以要解決這個問題就需要使用其他的HDR體制:Spatial HDR技術是現在車載領域的主流解決方案。 + +比較典型的是Sony sensor(imx390/490)採用的Subpixel技術與OV sensor(ovx1a)採用的split pixel技術,他們都屬於SpatialHDR技術範疇,其基本原理是一致的。 + + 1.大小pixel的分離結構 + +與普通CFA的不同,大小pixel技術的sensor在相鄰位置有一大一小兩個pixel,他們空間上非常接近,可以認為對空間採樣相同。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412102145785-1322226290.png) + + 由於pixel的大小不同,物理上的sensitivity不同,FWC也不同,會產生與時域HDR一樣的不同曝光效果,形成了對不同動態範圍的覆蓋。如下圖可以看到LPD(Large Pixel Diode)與SPD(S mall Pixel Diode)是如何擴展動態範圍的。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412102210732-185905022.png) + + 2.大小分離pixel的電路設計 + +典型的大小分離pixel的電路如下圖所示 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412102348969-47900883.png) + + SPD和LPD分別用黃色的二極管標出。CGC(conversion gain control)與TG(transfer gate)控制了photo diode 向FD充電,當TG s使能時,FD接收SPD來的電荷,RS會使能讓FD的電荷轉存出來。然後當TGL使能時,FD接收L PD來的電荷,RS會再一次使能讓FD的電荷轉存出來。RST負責在每一次轉存後把FD電容清空。這樣的電路結構就實現了LPD和SPD的分別讀出。這個部分的電路時鐘非常快,所以可以認為大小像素是同時曝光的。後面的讀出電路也會把大小像素同時讀出,由下圖可見,T_lpd與T _spd是同時的。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412102537918-1013568966.png) + +  3.大小像素HDR與時域HDR在motion artefact上的比較 + +由下圖可以看出基於大小像素的HDR與時域HDR在拍攝運動物體上的mot ion artefact比較。 + +左圖是基於大小像素的圖像,完全沒有motion artefact,右圖是時域HDR,可以看到明顯的motion artefact。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412102637455-473076896.png) + +對於這種更挑戰的場景,舞廳的旋轉光球,左圖是大小像素HDR,右圖是時域HDR,可以看到時域HDR的圖像把小的運動光點都混到了一起。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412102730236-58004651.png) + +4.大小像素與Dual conversion gain的結合 + +單獨靠大小像素只能形成兩個曝光的圖像,再結合之前介紹過的DCG技術,在大小pixel分別配合HCG,LCG,就可以形成4曝光。 + +假設單曝光輸出12bit,曝光比是16,那總共的動態範圍可以達到24bit輸出。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412102823049-1006168382.png) + + 5.兩種場景的切換 + +如下圖,橫軸是場景的光亮度,縱軸是SNR,紅色曲線是LPD像素的SNR曲線,藍色曲線是LPD像素的SNR曲線。 + +![](https://img2020.cnblogs.com/blog/1251718/202004/1251718-20200412102839110-992140481.png) + +SPD的飽和點更高,而LPD的低光SNR更高。這兩條曲線說明了大小像素這種設計可以很靈活的適配場景的變化,當場景非常亮的情況,就用大小像素融合輸出,這樣可以擴大動態範圍。 + +當場景非常暗的情況,就完全切換到LPD像素,因為它的SNR更高。 + +## 來源 +- [HDR sensor 原理介紹- 吳建明wujianming - 博客園](https://www.cnblogs.com/wujianming-110117/p/12684011.html) \ No newline at end of file