華為歷時三代打磨的RYYB算法到底有多強?

眾所周知啊,華為在去年的旗艦級P30系列上用上了全新的Quad Bayer RYYB CMOS。華為P30 Pro使用的超光譜Quad Bayer RYYB CMOS相比傳統的Quad Bayer RGGB CMOS排列有何異同呢?這在技術實現上有何難點呢?又有何優勢呢?要想搞懂這個問題,首先我們得了解下CMOS是怎麼工作的。

我們都知道計算機不能處理模擬信號,只能處理數字信號,所以現實世界的光影也不能直接被計算機處理,所以要記錄數字影像,那麼我們必須把真實的影像通過數字化轉變為計算機能讀取寫入的格式。因此我們就需要一種東西,能夠把光信號轉換為電信號,這也就是CCD和CMOS的由來,由於成本和功耗等等原因我們現在看到的數字相機和手機都是CMOS,具體原因大概如下:

ccd與cmos的區別

  1)信息讀取方式

  CCD電荷耦合器存儲的電荷信息,需在同步信號控制下一位一位地實施轉移後讀取,電荷信息轉移和讀取輸出需要有時鐘控制電路和三組不同的電源相配合,整個電路較為複雜。CMOS光電傳感器經光電轉換後直接產生電流(或電壓)信號,信號讀取十分簡單。

  2)速度

CCD電荷耦合器需在同步時鐘的控制下,以行為單位一位一位地輸出信息,速度較慢;而CMOS光電傳感器採集光信號的同時就可以取出電信號,還能同時處理各單元的圖像信息,速度比CCD電荷耦合器快很多。(今天不是重點不贅述)

CMOS請看下圖

華為歷時三代打磨的RYYB算法到底有多強?

每一個CMOS像素都包括感光二極管(Photodiode)、浮動式擴散層(Floating diffusion layer)、傳輸電極門(Transfer gate)、起放大作用的MOSFET、起像素選擇開關作用MOSFET.在CMOS的曝光階段,感光二極管完成光電轉換,產生信號電荷,曝光結束後,傳輸電極門打開,信號電荷被傳送到浮動式擴散層,由起放大作用的MOSFET電極門來拾取,電荷信號轉換為電壓信號。

所以這樣的CMOS也就完成了光電轉換、電荷電壓轉換、模擬數字轉換的三大作用,通過它我們就能把光信號轉化為電信號,最終得到數字信號被計算機讀取。目前階段,我們就已經擁有了記錄光線明暗的能力,但這還不夠,因為我們需要色彩。

華為歷時三代打磨的RYYB算法到底有多強?

華為歷時三代打磨的RYYB算法到底有多強?

現代彩色CMOS的原理也很簡單,直接在黑白圖像傳感器的基礎上增加色彩濾波陣列(CFA),從而實現從黑白到彩色的成像。很著名的一種設計就是Bayer CFA(拜耳色彩濾波陣列)。

一個很有趣的事就是,我們用來記錄光影的CMOS,和我們用來輸出光影的顯示器,原理也剛好是向相反的,CMOS把光轉化為電信號最後以數字格式記錄,顯示器把解碼的數

字格式從電信號重轉化為光。

光電之間的轉換也就構成了我們人類數字影像的基礎。

華為歷時三代打磨的RYYB算法到底有多強?

好了回到正題,為什麼是RGB三種顏色?為什麼G的佔比要高於R和B呢?

這是因為人視網膜上的感光細胞分為兩種:視錐細胞和視杆細胞,分別對應人眼的明視覺和暗視覺。

視維細胞又分三種:紅色感光細胞、綠色感光細胞、藍色感光細胞,它們對照明的明暗條件敏感度較低,只有當光照強度達到一定條件錐細胞才能夠起作用。

華為歷時三代打磨的RYYB算法到底有多強?

視杆細胞對光照的敏感度較高,可以在光照條件很暗的情況下對景物成像,卻不能感受顏色。這也解釋了為什麼在晚上的時候人仍然能夠看到物體,卻不能有效地分辨物體的顏色的現象跟顏色有關的三種視錐細胞,每一種都對RGB 三種顏色最敏感。

注意,是最敏感,所以藍視錐細胞不僅能感應藍色,也可以感應到綠和一部分紅色,綠視錐細胞不僅能感應綠,也可以感應一部份藍和紅,最後紅視錐細胞也是如此。

所以通過三種視錐細胞感應到不同波長光譜的比例,人類就能識別出視覺上除了紅綠藍之外的其他顏色。


華為歷時三代打磨的RYYB算法到底有多強?

人造的大部分顯示器,也都是利用這個特性來欺騙入類看到紅綠藍之外的顏色,比如上圖就是我的顯示器在顯示黃色時實際發出的光譜,根本就沒有黃色,這就是一個騙子顯示器,但是通過對人眼視覺特性的利用,我們看到的就是黃色。

1931年,CIE(國際標準照明委員會)建立了一系列表示可見光譜的顏色空間標準,定義了CIE-

華為歷時三代打磨的RYYB算法到底有多強?

RGB基色系統。規定了RGB系統的三原色光波長分別為700nm,546.1nm,435.8nm的紅光(R)、綠光(G)、藍光(B)。

通過混色實驗可以得到上圖的一組曲線,它們表示在380nm-780nm 範圍內當各個光譜能量一樣時,某一波長的光譜色與混色結果一樣,並稱這三條曲線為CIE1931RGB系統光譜三刺激值曲線,這與後文中我們要提到的標定有很大關係。


華為歷時三代打磨的RYYB算法到底有多強?

這還可以延伸一下,由於計算顏色三刺激值時會出現負值,所以CIE又設計出了一套CIE-XYZ系統,用X,Y,Z來代表紅綠藍三原色,上圖也就是CIE1931XYZ系統光譜三刺激值曲線。

華為歷時三代打磨的RYYB算法到底有多強?


著名的CIE1931xy色度圖也就是從此而來,我們可以用它描述出任意的一種人眼可見色彩。當然後來為了更精確的修正,還有CIE1976u'v色度圖,我們的很多評測也都使用了這個標準。

因此,在理論上只需要記錄RGB,也就能還原出我們眼睛看到的所有顏色了。

華為歷時三代打磨的RYYB算法到底有多強?

另一個事實是:皮皮蝦擁有16種視錐細胞,所以如果讓它看我們的顯示器,它只會覺得你給我看的這是個什麼玩意???


華為歷時三代打磨的RYYB算法到底有多強?


好了我們回到濾鏡顏色的問題上。對於基於Bayer CFA的設計,當我們拍攝右側圖1的場景時,CMOS所有像素傳回來的圖像直接組合的結果就是右側圖2,當我們將濾鏡顏色加到像素上會得到圖3,很明顯這也不應該是我們最後看到的圖像。所以由3到4的過程,就需要插值算法來補足。

華為歷時三代打磨的RYYB算法到底有多強?

對於Bayer CFA設計的CMOS,有常用的插值算法,比如相鄰像素插值、雙線性插值、三次多項式插值等,它們的目的都是為了還原出全部的RGB三個通道分量,比如雙線性插值就是這麼算的:

對於只有紅色分量的像素:例如R32:

對於只有綠色分量的像素:例如G33:

對於只有藍色分量的像素:例如B43:

華為歷時三代打磨的RYYB算法到底有多強?

華為歷時三代打磨的RYYB算法到底有多強?

華為歷時三代打磨的RYYB算法到底有多強?

通過還原得到完整的RGB分量,我們就能得到一幅沒有缺損的圖像了,但是這就是終點了嗎?並不是,我們不能直接把這樣的圖像存儲,因為這其中有一個很重要的問題:

Bayer CFA經過插值之後,CFA的色特性與人眼的視覺特性並不一定重合,所以圖像中的像素顏色可能都是偏色的,這裡可能是光學透鏡的光譜特性導致,也可能是Bayer CFA上的彩色濾鏡光譜特性導致,跟拍攝的環境光也有很大關係。

所以還有一步,那就是校正標定。校正標定之中最重要的則是伽馬校正和顏色校正,先看伽馬校正:

在現實世界中,幾乎所有的顯示器、攝影膠片以及很多電子照相機的光電轉換特性都是非線性的。

這些非線性部件的輸出與輸入之間的關係通常用冪函數表示。

理想狀態下,色彩強度(Intensity)與電子束的電壓信號之間成線性關係,但實際情況剛好想法,色彩強度與輸入的電壓信號之間是非線性關係。

顯示器的輸出強度和輸出電壓的響應大致成冪指數關係,下方式子表示輸出的強度隨著輸入電壓的增長成指數增長,通常我們就把這個冪指數稱為伽馬(Gamma):


為了使圖像在顯示器上的效果和實際情形更為接近,在攝像機獲取圖像後,必須進行伽馬校正,把上邊式子的非線性關係校正為線性關係:


其中,Pnew是經過校正處理後的圖像的像素值;Pold是沒有經過校正的像素值;伽馬值y表示校正的程度, =1時,不進行校正,值越大,像素灰度值的校正程度越大。

顏色校正:

由於不同廠家在製造 CMOS時使用的彩色濾光片不同,CMOS對不同波段的光電響應度不同,都會導致相機的光譜響應曲線不同,比如這是某一個CMOS的光譜相應曲線:

華為歷時三代打磨的RYYB算法到底有多強?

很容易的就會發現彩色相機RGB三刺激值曲線圖和之前我們提到過的CIE1931-RGB系統有很大差別。

想減小這種差異,就要對原始圖像的像素灰度值(R,G,B)進行必要的補償,帶來和人眼感知相近的顏色,這其中的工作就是顏色標定。

好了,鋪墊了這麼久,終於講到那當我們把RGGB換成RYYB,用黃色濾鏡替代綠色會怎麼樣了。

華為歷時三代打磨的RYYB算法到底有多強?

黃光的光譜主波是570-590納米,剛好被夾在紅綠主波之間,所以只要彩色濾鏡的光譜特性設計得足夠好,那麼理論上黃色也就能記錄紅+綠,下圖就是一個我假象的光譜響應示意圖:


華為歷時三代打磨的RYYB算法到底有多強?

在這種非常理想的條件下,RYYB的感光總量肯定可以超過RGGB,不過這也給插值算法補全RGB的那一步帶來了一定困難,插值不理想的話後期色彩標定也會出現問題。


華為歷時三代打磨的RYYB算法到底有多強?


而且現實情況也是要複雜得多,在這之中要應對不同的場景,相當多的彩色濾鏡,甚至有直接將黃光主波壓制,保留紅綠藍光譜的彩色濾片設計。

當然就算處理到了顏色校正和伽馬校正,也不算是最終我們看到的畫面,之後可能還有一系列的算法,比如邊緣增強,飽和度增強,去偽色等等,不過那些都和RYYB還是RGGB的區別沒什麼太大關係,也就不熬述了。

就這樣P30系列RYYB設計能帶來40%的進光量提升,可能大眾瞭解RYYB設計之後的疑慮應該是色準問題。而這一切,都要靠華為自己的色彩標定,伽馬標定,以及自動白平衡算法了。

華為怎麼去解決這些問題呢?

在這裡說下:RGGB和Sensors。市面上大部分的手機,只要是高通驍龍處理器的手機,都繞不開廠家的Sensors,和外掛高通的ISP。只要是用就繞不過。說白了,就是成效效果的好壞,還是得益於高通個索尼或者三星。自己做個整合,來個大雜燴。

而華為呢?當然不是,華為從廠家拿來sensor以後整個RYYB,sensor上邊只有紅色、黃色、藍色,去掉了綠色。

上邊給大家科普了,沒有綠色,就沒辦法用三色還原的辦法還原成五彩斑斕的顏色。因為紅色像素光譜當中對於光線的過濾中更少,他把兩個拜耳矩陣的綠色統統換成了黃色,這樣就有更多的光線從sensor通過濾光層。

華為為了把RYYB還原成RGGB,把兩個黃色還原成綠色,必須從黃色裡邊去分離出來綠色信號。這個聽著很簡單,但實際實際看來,要結合實際的複雜的、多變的攝影場景,簡直就像有上說的玄學一樣,因為環境、色感、色溫、光線的色彩含量也不一樣等等。能夠從黃色裡邊準確的分離出綠色,簡直不可思議,就像你自己學做飯放鹽放味精一樣,沒有科學依據,沒有技術,就是隻有不停地試,不停的總結經驗,然後從無數次實驗中總結經驗,這就是華為RYYB剔除綠色,再從黃色中還原出綠色的過程和經驗積累。

說到這裡會有人會說,那友商也可以上啊。現在友商的處境我已經給大家說了,友商所謂的經驗和核心技術其實都掌握在高通和索尼手裡。

華為呢?華為也是定製sensor(RYYB排列),但是要想把這顆sensor用好,真正的功力是算法,而這個算法掌握在誰手裡呢?掌握在華為手裡。所以意味著同樣把這顆RYYB的sensor給友商,友商也不敢用,或者是用不好。所以這顆RYYB的攝像頭賣給OV,賣給小米,沒關係,你丫的用不好。第一代華為P30系列確實存在問題,比如說偏紅。但是現在已經是經過三代了,華為還在一點一滴的積累,較前兩代已經有了質的飛躍。

我也相信華為一定會像麒麟處理器一樣死磕RYYB,待到華為真正掌握了更為準確的算法,那將會站穩RYYB的制高點,友商只能望塵莫及。(現在也基本上是望塵莫及了)

其次就要得益於自家的麒麟處理器和自家的ISP處理單元。這個不用多說了,離開CPU、NPU和自家的ISP什麼也搞不了的。


以上就是我給大家整理的資料。

華為歷時三代打磨的RYYB算法到底有多強?

華為歷時三代打磨的RYYB算法到底有多強?

華為歷時三代打磨的RYYB算法到底有多強?

華為歷時三代打磨的RYYB算法到底有多強?


華為歷時三代打磨的RYYB算法到底有多強?


華為歷時三代打磨的RYYB算法到底有多強?


華為歷時三代打磨的RYYB算法到底有多強?


分享到:


相關文章: