文 / 軟件工程師 Manfred Ernst 和 Bartlomiej Wronski,Google Research
我們從未停止對(duì) Pixel 進(jìn)行優(yōu)化,并會(huì)通過(guò)定期更新,讓它變得更實(shí)用、更有趣以及更多的功能,如最近對(duì)相機(jī)應(yīng)用的 V8.2 更新。其中一項(xiàng)優(yōu)化(已于十月份在 Pixel 5 和 Pixel 4a 5G 中推出)便是這一“底層”功能:基于曝光序列的 HDR+ 拍攝。此功能會(huì)通過(guò)融合以不同曝光時(shí)間拍攝的圖像來(lái)提高圖像質(zhì)量(特別是光影部分),從而產(chǎn)生更自然的色彩、更豐富的細(xì)節(jié)和紋理,并降低噪聲。
HDR 場(chǎng)景為何難以拍攝?
原始的 HDR+ 連拍系統(tǒng)是高質(zhì)量手機(jī)拍照成像的關(guān)鍵:快速拍攝一組故意曝光不足的連續(xù)圖像,然后將融合、渲染,使圖像在色調(diào)范圍內(nèi)保留細(xì)節(jié)。但這個(gè)系統(tǒng)有一個(gè)不足之處,那就是在高動(dòng)態(tài)范圍 (HDR) 場(chǎng)景中的陰影部分噪聲較大,這是因?yàn)樗信臄z的圖像都曝光不足。
圖像傳感器自身的物理限制,以及陰影部分的信號(hào)較弱,共同導(dǎo)致 HDR 場(chǎng)景拍攝困難。無(wú)論是針對(duì)陰影還是高光場(chǎng)景,我們都有辦法正確曝光,但無(wú)法在單次曝光中兼顧兩者。
攝影師有時(shí)會(huì)拍攝兩張不同程度的曝光,然后將其融合來(lái)克服這些限制。這種方法稱為曝光融合 (exposure bracketing),可以實(shí)現(xiàn)兩全其美的拍攝效果,但通過(guò)手動(dòng)調(diào)整參數(shù)來(lái)完成這個(gè)過(guò)程非常耗時(shí)。此外,它在計(jì)算成像方面也非常具有挑戰(zhàn)性,因?yàn)樗枰龅揭韵聨c(diǎn):
在保持 Pixel 相機(jī)快速、可預(yù)測(cè)的拍攝體驗(yàn)的同時(shí),拍攝額外的長(zhǎng)曝光幀。
利用長(zhǎng)曝光幀,同時(shí)避免幀間物體運(yùn)動(dòng)產(chǎn)生的鬼影。
為了克服這些困難,原始的 HDR+ 系統(tǒng)采用了一種不同的方法來(lái)處理高動(dòng)態(tài)范圍場(chǎng)景。
HDR+ 的不足
HDR+ 所用的拍攝策略是建立在曝光不足基礎(chǔ)上的,這可以避免高光部分的細(xì)節(jié)丟失。雖然這種策略以犧牲陰影部分的成像質(zhì)量為代價(jià),但 HDR+ 通過(guò)使用連續(xù)拍攝抵消了增加的噪聲。
此方法適用于具有中度動(dòng)態(tài)范圍的場(chǎng)景,對(duì)于 HDR 場(chǎng)景卻無(wú)任何幫助。如要究其原因,我們需要更深入地了解這兩種噪聲是如何在圖像中出現(xiàn)的。
連拍中的噪聲
一種重要的噪聲叫做散粒噪聲 (shot noise),它僅取決于拍攝時(shí)獲得的總進(jìn)光量,也就是 N 個(gè)幀的進(jìn)光量之和。每個(gè)曝光時(shí)間為 E 秒的幀,其散粒噪聲與一個(gè)曝光時(shí)間為 N × E 秒的單個(gè)幀相同。如果這是所拍攝圖像中唯一的噪聲類型,那么連續(xù)拍攝可以達(dá)到和長(zhǎng)時(shí)間曝光一樣的效果。
遺憾的是,在拍攝每一幀時(shí),傳感器都會(huì)帶入第二種噪聲:讀出噪聲 (read noise)。讀出噪聲與拍攝時(shí)的進(jìn)光量無(wú)關(guān),而是取決于所拍攝的幀數(shù),也就是說(shuō),每拍攝一幀,就會(huì)額外增加固定量的讀出噪聲。
這就是為什么用連拍方法來(lái)減少總噪聲不如簡(jiǎn)單地長(zhǎng)時(shí)間曝光來(lái)得有效:多幀拍攝雖然可以減少散粒噪聲,但也會(huì)增加讀出噪聲。雖然讀出噪聲隨幀數(shù)的增加而升高,但我們?nèi)匀豢梢酝ㄟ^(guò)連拍降低整體噪聲,但這樣做會(huì)降低效率。如果將一個(gè)長(zhǎng)曝光分解成 N 個(gè)短曝光,則最終圖像中的信噪比會(huì)因?yàn)樽x出噪聲的增加而降低。
在這種情況下,要獲得單次長(zhǎng)曝光的信噪比,我們則需要合并 N2 個(gè)短曝光幀。在下面的例子中,如果一個(gè)長(zhǎng)曝光被分成 12 個(gè)短曝光,我們必須拍攝 144 (12 × 12) 個(gè)短幀來(lái)匹配陰影部分的信噪比!
拍攝和處理這些幀會(huì)花費(fèi)更多時(shí)間,連拍和處理連拍可能需要一分鐘以上,從而導(dǎo)致糟糕的用戶體驗(yàn)。相反,采用包圍式曝光則使我們能夠在兼具高光保護(hù)和降噪功能的情況下,同時(shí)拍攝短曝光幀和長(zhǎng)曝光幀。
基于多曝光融合的解決方案
多曝光融合帶來(lái)的挑戰(zhàn)使得原始的 HDR+ 系統(tǒng)無(wú)法使用它,但我們?cè)谥蟛粩喔倪M(jìn),加上最近的不懈努力,終于讓它在相機(jī)應(yīng)用中得到實(shí)現(xiàn)。首先,為 HDR+添加多曝光融合需要重新設(shè)計(jì)拍攝策略。
使用零秒延時(shí)(ZSL) 技術(shù)使拍攝變得復(fù)雜, 這項(xiàng)技術(shù)可為 Pixel 上的快速拍攝體驗(yàn)提供支持。在 ZSL 的助力下,按下快門前,取景器中顯示的幀均是用于 HDR+ 連拍融合的幀。在使用多曝光融合的情況下,我們會(huì)在按下快門后拍攝一個(gè)額外的長(zhǎng)曝光幀,而此幀不會(huì)顯示在取景器中。
請(qǐng)注意,在按下快門后保持相機(jī)靜止半秒鐘來(lái)適應(yīng)長(zhǎng)曝光,有助于改善圖像質(zhì)量,即使正常手抖也不會(huì)對(duì)此造成影響。
在夜視模式下,此拍攝策略則不受取景器的限制,因?yàn)樗袔际窃诎聪驴扉T之后拍攝的,此時(shí)取景器已關(guān)閉,此模式能夠很好地適應(yīng)長(zhǎng)曝光幀拍攝。本例中,我們拍攝了三個(gè)長(zhǎng)曝光幀,以進(jìn)一步去噪。
融合算法
在融合多曝光圖像序列時(shí),將一個(gè)短幀選作參考幀,以避免可能發(fā)生的高光部分過(guò)曝和運(yùn)動(dòng)模糊。在合并所有其他幀之前,先將其與此幀對(duì)齊。這就帶來(lái)了一個(gè)挑戰(zhàn):對(duì)于復(fù)雜的場(chǎng)景運(yùn)動(dòng)或遮擋區(qū)域,無(wú)法找到精確匹配的區(qū)域,此時(shí)使用樸素融合算法將會(huì)造成鬼影 (Ghosting Artifacts)。
為解決此問(wèn)題,我們?cè)O(shè)計(jì)了一個(gè)新的空間融合算法,其與超分辨變焦(Super Res Zoom) 所用的算法類似,會(huì)逐個(gè)判斷像素的內(nèi)容,決定是否應(yīng)該合并圖像內(nèi)容。這一去鬼影過(guò)程在處理不同曝光程度的幀時(shí)將會(huì)更加復(fù)雜。
長(zhǎng)曝光幀會(huì)產(chǎn)生不同的噪聲特征,高光部分會(huì)出現(xiàn)過(guò)曝或不同程度的運(yùn)動(dòng)模糊,這使得與短曝光參考幀的對(duì)比更加困難。此外,所拍攝曝光序列中的鬼影更明顯,因?yàn)檎谘谶@些錯(cuò)誤的噪聲減少了。
盡管存在這些挑戰(zhàn),我們的算法和原始的 HDR+ 及超分辨變焦一樣,能夠很好地解決上述問(wèn)題,并不會(huì)產(chǎn)生鬼影。同時(shí),它的圖像合并速度較之前提升 40%。
這是因?yàn)樵诔上襁^(guò)程初期就對(duì)裸格式圖像進(jìn)行了融合,所以我們能夠在保持其余成像步驟和 HDR+ 的標(biāo)志性效果不變的同時(shí),實(shí)現(xiàn)所有這些好處。此外,喜歡使用計(jì)算成像中的裸格式圖像的用戶也能從這些圖像質(zhì)量和性能改進(jìn)中獲益。
Pixel 上的多曝光融合
多曝光融合的 HDR+ 功能目前已在 Pixel 4a (5G) 及 Pixel 5 上推出,用戶可以在使用默認(rèn)相機(jī)時(shí),在夜視和人像模式下使用這一功能。Pixel 4 及 4a 用戶則可以通過(guò) Google 相機(jī)應(yīng)用在夜視模式下使用多曝光融合功能。
用戶無(wú)需采取任何操作,即可激活基于多曝光融合的 HDR+ 功能?;诙嗥毓馊诤系?HDR+ 功能將根據(jù)場(chǎng)景的動(dòng)態(tài)范圍和運(yùn)動(dòng)存在與否,選擇最佳曝光度,以拍攝出優(yōu)質(zhì)的圖像(示例)。
編輯:jq
-
圖像傳感器
+關(guān)注
關(guān)注
68文章
1903瀏覽量
129564 -
HDR
+關(guān)注
關(guān)注
4文章
277瀏覽量
32031 -
Pixel
+關(guān)注
關(guān)注
1文章
237瀏覽量
10021
原文標(biāo)題:Pixel 手機(jī)上基于多曝光序列的 HDR+ 拍攝功能
文章出處:【微信號(hào):Google_Developers,微信公眾號(hào):谷歌開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論