本說明書涉及合成多個圖像以產生高動態(tài)范圍圖像。
背景技術:
小型數碼相機已經變得如此廉價,從而被提供在廣泛的便攜式和可穿戴設備上,從手表到頭盔、到計算平板計算機、到媒體播放器、到各種各樣的的蜂窩電話。典型的數字傳感器在它們可以產生用于靜止和視頻攝影的圖像質量方面具有許多限制。進一步的限制源于數字相機成本和尺寸的限制。針對CCD(電荷耦合器件)以及甚至更加針對基于CMOS(互補金屬氧化物半導體)的傳感器,所述傳感器無法采集許多場景的亮區(qū)與暗區(qū)之間的完整對比度。較小的傳感器相比較大的傳感器具有甚至更小的對比度范圍。
被攝場景的輻照度(irradiance)范圍經常超過了典型數字相機傳感器的能力。雖然可以使用快門或者光學設備來降低明亮區(qū)域沖擊傳感器的輻照度,但這也降低了場景的暗區(qū)的輻照度。類似地,可以利用較大的鏡頭或更長的曝光來增加暗場景的輻照度,但是這可能會導致明亮區(qū)域超出傳感器的極限。傳感器因此無法同時采集場景的最亮和最暗部分。換句話說,傳感器無法采集場景的全動態(tài)范圍。因此,同時包含非常亮(例如,陽光)和非常暗(例如,陰影)區(qū)域的場景對這種傳感器而言具有挑戰(zhàn)性。因此,非常亮或非常暗區(qū)域任一者而非兩者的細節(jié)被采集。場景中的大量可用信息丟失,最終在圖像質量方面導致較差的用戶體驗。
為了補償所述傳感器,許多相機使用稱為HDR(高動態(tài)范圍)攝影或成像的技術。場景的全輻照度是通過改變快門速度或鏡頭孔徑利用不同的曝光設置拍攝同一場景的多個圖像而采集的。圖像然后被組合成單個HDR圖像,所述單個HDR圖像包括場景的暗區(qū)和亮區(qū)兩者的細節(jié)。
附圖說明
以示例性而非限制性方式在附圖中展示實施方式,在附圖中,類似號碼指示類似元件。
圖1A是在高對比度環(huán)境中采集照片的簡圖。
圖1B是視頻采集設備的簡圖。
圖2是根據實施例的用于高動態(tài)范圍處理的圖像處理流水線的框圖。
圖3是圖2的根據實施例的用于高動態(tài)范圍處理的圖像處理流水線的替代性框圖。
圖4是根據實施例的使兩個圖像解扭曲的簡圖。
圖5是根據實施例的去重影處理流水線的框圖。
圖6是根據實施例的照度(Luminance)處理流水線的框圖。
圖7A是根據實施例的色品處理流水線的框圖。
圖7B是根據實施例的輻照度圖處理流水線的框圖。
圖8是根據實施例的結合了高動態(tài)范圍采集的攝影設備的框圖。
具體實施方式
HDR(高動態(tài)范圍)合成圖像生成需要顯著的計算和內存資源。所有圖像必須在對用戶方便的一定量的時間內被存儲、注冊和組合。針對手持式相機或固持在移動平臺上的相機而言,圖像的像素將不會對齊。針對具有移動對象的場景而言,所述對象將不會對齊。非對齊因為圖像是在稍微不同的時間拍攝的而產生。相機或場景內的任何移動將引起圖像特征未對齊。如果圖像是從不同的圖像傳感器同時得到的,則所述圖像將不會對齊,因為不同的傳感器位于相機上不同的物理位置處。這可能會導致所產生的HDR圖像中的運動偽像。因此,所述圖像必須被分析并注冊到彼此。難度隨著圖像傳感器生成更多的像素而增加。增加的計算需求也增加了功率要求,這可能更迅速地耗盡便攜式設備的電池。本文所描述的技術在低功率移動平臺上迅速地執(zhí)行。多個圖像被混合成單個HDR圖像,同時補償了它們之間的局部和全局運動。
在此利用模塊化階段的唯一序列描述了模塊化方法。所述模塊包括具有防止嚴重的運動偽像的穩(wěn)健的局部運動檢測的去重影引擎。顏色或色度(Chroma)或色品(Chromaticity)處理模塊保留了輸出圖像的自然外觀和感覺,其可被調整以滿足不同用戶偏好。輻照度圖可以用作高對比度顯示的輸入,而且還用作色調映射算子的輸入,所述色調映射算子可以提取適合于標準顯示的高對比度圖像。所述模塊相比其他HDR技術可以在更少的時間內實現。
圖1A是采集場景的數字相機的簡圖。相機102被固持在將相機瞄準在場景110處的攝影師106的手104上。相機因為其不穩(wěn)定而有可能在攝影者的手上晃動或抖動。如果攝影師已經將相機安裝于更大的平臺(未示出)(如,不穩(wěn)定的運載工具)上,這也可能發(fā)生。攝影師已經將相機瞄準在具有固定的山脈背景112和移動的前景對象114(如,滑雪者)的場景處。所述場景還具有移動的背景云116。這被提供作為常見的示例,但場景中的元素可以被改變以適應攝影師的期望。
相機102在圖1B的擴展視圖中示出,其具有使場景成像到圖像傳感器122上的鏡頭120。在鏡頭與圖像傳感器之間可能存在快門、可控孔徑光闌、濾片、遮光罩和其它元件(未示出)。圖像傳感器數據被提供給采樣和保持電路126以將所述數據轉換成像素值集。然后在圖像處理器128中對像素值進行處理。系統(tǒng)由通用處理器130控制,所述通用處理器將用戶界面和圖像視圖呈現在觸摸屏顯示器124上,并且可以呈現一個或多個附加的用戶界面和通信元件。相機可以根據具體的實現方式具有比所示更多或更少的組件。所描述的技術和硬件可用于各種不同類型的相機中的任何相機,包括在智能電話、媒體播放器、手表、眼鏡和其他可穿戴設備中的那些相機,以及用于靜止或視頻攝影的大型專用相機。
圖2是可以在具有一個或多個核的單個處理器中或者在多個處理模塊中實現的HDR處理流水線的框圖。所述技術是在包括多分辨率分析、對齊估計、扭曲、去重影、亮度(Luma)處理和色度處理的多個階段中實現的。多分辨率分析和對齊估計階段可以是基于穩(wěn)健顯著性運動估計或以各種其他方式來實現的。在實施例中,多分辨率分析引擎均衡輸入亮度平面并執(zhí)行尺度縮小(例如,高斯金字塔分解),以便準備用于尺度空間的輸入、由粗到細的圖像對齊估計。
如圖2中所示,三個圖像各自從相機流水線204進入對應的圖像緩沖器208A、208B、208C到達HDR成像系統(tǒng)202。一個或多個圖像可以存儲在各自相應的緩沖器中。雖然示出了三個圖像,但是可以根據特定的實現方式使用更多或更少的圖像。在這個特定示例中,每個圖像是YUV顏色空間中的幀,然而,可以根據具體實現方式使用其它顏色空間。第一圖像208A通常是曝光圖像,即,所述圖像當被確定為合適時由相機或一些其他曝光確定設備(如,測光計)曝光。
第二圖像208B是過度曝光圖像,即,具有較長曝光或較大光圈的圖像。第三圖像是曝光不足圖像,即,具有較短曝光時間或較小鏡頭孔徑的圖像。典型地,及時地在其他兩個圖像之間取正常曝光的圖像,然而,圖像的順序可以被修改以適應任何特定的實現方式。所述圖像成對地連接在一起。正常曝光的圖像208A被選擇作為參考幀,并且這個圖像在一種情況下與過度曝光圖像208B配對以得到第一對,并且在另一種情況下與曝光不足圖像208C配對以得到第二對。因此,存在參考圖像與過度曝光圖像的第一配對,以及參考圖像與曝光不足圖像的第二配對。如果存在多于三個圖像,則可以進行更多的配對。
雖然本過程是在調整參考圖像中暗區(qū)和亮區(qū)的背景中進行描述的,但是任何圖像都可以用作參考圖像。此外,參考圖像不一定正確曝光。使用多個圖像來分階段曝光或輻照,不必預先確定正確的曝光。不同的圖像可以如所述被組合,并且如果針對場景存在足夠的曝光范圍,則可以創(chuàng)建合適的合成圖像。
由參考圖像和過度曝光圖像組成的第一對通過至各自緩沖器208A、208B的連接被應用到多分辨率分析和對齊估計塊210A。第二對通過至各自緩沖器208A、208C的連接被應用到第二多分辨率分析和對齊估計塊210B。為了幫助理解數據通路,與過度曝光圖像相關的數據被表示為虛線,與參考幀相關的數據被表示為實線,并且與曝光不足圖像相關的數據被表示為點劃線。然后通過多分辨率分析和對齊估計塊來扭曲圖像。如在圖2中所示,針對第一對,對齊估計應用于連接的扭曲塊212A。此外,過度曝光圖像也從緩沖器連接到扭曲212A。扭曲然后調整過度曝光圖像的對齊以匹配參考圖像208A。類似地,對齊估計塊將扭曲參數應用到第二扭曲212B,并且然后將這些扭曲參數應用到曝光不足圖像208C,從而使得其隨后與正常曝光圖像208A對齊。
對齊估計模塊計算參考圖像與其他兩個或更多個圖像之間的運動。計算出的運動通常對應于由攝影師移動引起的圖像傳感器或相機相對固定背景場景的運動。然而,計算出的運動還可以對應于相機或攝影師??吭谄渖系钠脚_的移動。例如,如果圖像是從移動運載工具的窗口或在搖晃平臺上拍攝的,那么運載工具將相對于每個圖像之間的場景移動。即使相機并未相對于運載工具移動,這也會發(fā)生。
由這個運動計算產生的參數適合由扭曲引擎使用并且從對齊估計模塊210A、210B發(fā)送到相應的扭曲模塊212A,212B,如由虛線和點劃線所示。扭曲引擎應用來自所連接的模塊的計算出的運動參數和對齊估計。它對所有針對彼此的輸入幀進行注冊。輸入圖像的像素然后被對齊,從而使得它們可以被組合以產生HDR圖像。扭曲和縮放矩陣可被使用。
利用通過扭曲所對齊的所有圖像,過度曝光圖像和參考幀然后被應用到去重影214,所述去重影連接到扭曲。去重影塊將參考幀與成對的次級幀進行比較的,然后基于所述參考幀去除次級幀中的重影。扭曲和去重影是用于對在不同時間拍攝的圖像進行對齊的技術。因為這三個圖像是在不同時間拍攝的,所以相機可以從一個圖像移動到下一個圖像。這是通過扭曲來校正的。通過確定圖像中的參考點如何與整體圖像的方向對齊,可以使用圖像中的特征來重新定向所述圖像以與那些相同特征在參考圖像中的定向方式匹配。
當扭曲解決了相機的移動時,去重影補償了圖像內的物品的移動。如果在前景中所示的主體114從采集第一圖像的時刻到采集下一圖像的時刻已經移動了(例如,如圖1所示),則主體114可能被移動位置。去重影移動主體在過度曝光圖像中的位置以匹配所述主體在參考幀中的位置。在去重影214A、214B之后,將經對齊且去重影的圖像傳送至亮度處理216,并且然后至色度處理218。從亮度處理獲得的數據被供應至色度處理,以增強所述處理。在色度處理后,可以對圖像進行組合以產生可被存儲在緩沖器220中以用于顯示、傳輸、或進一步處理的單個HDR圖像。替代性地,并且如本文所描述的,可以在亮度和色度處理階段之前對圖像進行組合。
圖3是從不同的角度示出圖2的相同操作和功能模塊的框圖。圖2利用詳細的連接線從功能角度示出了所述操作,所述連接線示出了各個功能模塊的輸入和輸出。在圖3的示例中,在被配置成用于支持多個處理器的實施例中從時序角度示出了所述操作。從在圖3的左端所指示的相機流水線將這三個圖像接收到緩沖器308A、308B、308C中。然后將這些圖像應用到處理流水線302中的各個模塊,以在右邊產生HDR幀320。
所述第一處理是針對有待應用到多分辨率分析塊310A上的第一對圖像。在出現這種情況之后,然后將所述第一對應用于對齊估計311A。針對第二對,然而,多分辨率分析塊被延遲,直到第一時間間隔或時間周期332已經過去。在所述第一時間周期內,僅執(zhí)行多分辨率分析處理,并且僅針對第一對執(zhí)行。在由第二邊界334標記的第二時間周期內,基于多分辨率分析處理310A對所述第一對執(zhí)行對齊估計334。此外,將多分辨率分析處理應用于第二對310B。同時應用第一對對齊估計和第二對多分辨率分析。
在由第三邊界336標記的第三周期內,第一對被從對齊估計傳送到扭曲312A。第二對被從多分辨率分析傳送到對齊估計311B。因此,對齊估計和扭曲在同一周期中執(zhí)行。在由邊界338標記的第四周期內,扭曲被應用到第二對并且去重影314被應用到兩個對。在第四周期340內,亮度處理316被應用到去重影圖像,色度處理318然后被應用,并且結果是從包含在所有三個原始保存的輸入圖像308A、308B、308C中的數據形成HDR幀320。
劃分操作的時間周期指示任務可以如何在不同資源之間共享。在本示例中,圖像處理器可以在針對第一對以及然后針對第二對的多分辨率分析估計中以及在針對第一對的扭曲的第三周期內以及在針對第四對的扭曲的第四周期內被100%使用。然而,當圖像處理器正在執(zhí)行其他任務時,同時可以使用通用處理器來執(zhí)行校準估計311A、311B。然后以交錯順序安排這些任務,從而使得不同的資源可以同時執(zhí)行不同的過程。這允許HDR圖像被更迅速地處理并且對成像處理器的處理需求更少。根據特定處理器的性質,不同處理器之間的各種不同的任務分配是可能的。不同的處理資源可以是同一處理器的不同核、單個封裝體中的不同處理器或不同封裝體中的不同處理器。不同的處理器可以包括成像信號處理器、圖形處理器、算術協(xié)處理器、以及其他類型的處理器。
圖4示出了可以如何使用圖像邊界圖執(zhí)行扭曲312A、312B的示例。左側的第一圖像402是輸入參考幀。針對扭曲,首先計算輸入參考幀404的邊界404,如在中心所示。接下來,在中心所示的第二幀406的對齊被確定。然后,將此對齊強加在第二圖像406上。如在圖中心所示,當兩個圖像中的場景特征對齊時,然后將第二圖像的邊界旋轉幾度(在本情況中順時針地)。通過執(zhí)行扭曲,圖像的幀被調整,以在簡圖右側獲得解扭曲的圖像408。在這個圖像中,次級圖像的幀與同參考圖像的邊界404對齊的邊界對齊。這種解扭曲允許在不考慮對齊圖像特征的情況下對兩個圖像進行組合。一個圖像上的像素直接與下一個圖像上的相同像素相對應。
在一個硬件實現方式中,扭曲是根據所估計的矩陣在ISP(成像信號處理器)內的專用GDC(幾何失真校正)硬件塊或任何其他硬件加速塊上完成的。然而,也可以使用其它硬件或軟件實現方式。為了使GDC保持與輸入分辨率相同的輸出分辨率,扭曲幀可被填充。所述填充可以以任何各種不同的方式來完成。一種簡單的方法是通過簡單的像素復制。在幀邊緣處丟失的像素通過復制鄰近像素而被添加。在HDR處理中的其他塊確保來自填充、扭曲和其他處理的偽像被衰減。
在HDR合成中,局部運動補償是常見的缺陷,因為所采集的圖像之間經過的時間可以是顯著的。受場景元素的移動影響的區(qū)域可以從一個單幀(通常為參考幀)中選擇,以避免任何移動偽像。受運動影響的區(qū)域然后可以與場景的其余部分以相同的方式進行色調映射。
曝光融合算法可以與專用去重影算法一起使用以從融合結果中去除所有局部移動。曝光融合可以用于補償局部運動,并且還用于補償三個圖像之間的其他差異。差異可能是由對齊不佳的圖像、眩光等引起的。在一些實施例中,通過從僅一個幀中取具有顯著差異的區(qū)域來對所述差異進行補償。這個幀通常是參考幀,它是具有正常曝光水平的幀。這個水平對應于圖像傳感器針對場景的曝光水平。
自動曝光系統(tǒng)通常嘗試在拍攝場景中選擇最感興趣的主體,并且然后選擇利用所選主體的亮區(qū)和暗區(qū)的曝光水平。因此,參考幀具有針對所述場景的最重要部分的最多細節(jié)。曝光水平通常是由圖像傳感器針對場景的曝光持續(xù)時間或者由圖像傳感器與場景之間的孔徑大小或者由兩者的組合或者通過改變模擬或數字增益來確定的。在一些情況下,應用到場景照明量(如,閃光曝光水平)可以被調整。然而,當所選主體具有非常亮或非常暗的區(qū)域時,可能不存在可以拍攝整個場景的曝光水平。當存在多個主體或者沒有清晰的主體時,自動曝光系統(tǒng)然后可能無法選擇期望的主體,并且因此無法選擇所述主體的最佳曝光時間。
去重影操作314在流水線302上較早地執(zhí)行,朝HDR處理的開始,在圖像對齊311A、311B和扭曲312A、312B之后。使用對齊和扭曲來修改這三個圖像,從而使得它們更接近類似在同一時間拍攝的圖像。具有自動確定的曝光或由相機確定的曝光的幀被用作參考幀。此幀被指示在圖5的緩沖504A中,為0EV,即,未補償的。其它幀基于所述參考幀被去重影。此外,所述參考圖像與兩個目標圖像成對地被處理。這可以呈現為3個幀過程中的2對。
圖5示出了針對這兩對圖像中的任一對圖像中的一個圖像的去重影處理流水線502。參考圖像504A和次級圖像504B,其可以是過度曝光圖像或曝光不足圖像。完全相同的塊將處理所述第二對,并且附加的塊將處理任何更多的對,如果存在多于三個圖像的話。針對這個流水線的所述對的這兩個圖像是從對應的緩沖器504A、504B中檢索的并且都從其原始YUV顏色空間轉換到RGB顏色空間。參考圖像取自緩沖器504A并應用到RGB轉換器506A并從那里應用到光度校準508中。類似地,次級圖像(被指示為pEv或mEv,即,從參考幀的Ev(曝光值)加上或減去一定量)取自緩沖器504B并轉換到RGB顏色空間506B,并且然后像第一圖像一樣應用到光度校準。RGB顏色空間針對重影檢測是優(yōu)選的,然而,根據特定實現方式,這些操作可以在任何各種不同的顏色空間中執(zhí)行。
來自參考圖像和次級圖像的RGB圖像都應用到光度校準508內的直方圖匹配510。這里,逐像素地比較和匹配R、G和B分量中的每個分量的相對照明。在已經得到直方圖后,對參考幀進行尺度縮小512A并且對次級幀也進行尺度縮小512B。這兩個尺度縮小的圖像應用到檢測或重影圖模塊514。這兩個圖像都被應用到差異計算516和排除掩碼(mask)518。
通過差異計算,兩個圖像中的顏色值之間的差異被確定。排除掩碼518被應用以判定任一圖像的任何區(qū)域是否應當從重影檢測514中被排除。通常,區(qū)域將被排除,因為它被如此過度曝光從而不包含任何有用的信息或者如此曝光不足從而主要包含噪聲。排除掩碼參數是從直方圖510中評估的,以確定多對圖像中的哪些區(qū)域可能是這樣過度曝光或曝光不足的,從而使得它們應該從重影檢測中排除。排除掩碼518應用在應用塊520中。這提供了指示哪些區(qū)域可以并且哪些區(qū)域不應該取自次級圖像以及取自主圖像的參考圖像的圖。排除掩碼防止信息不足的圖像區(qū)域用于重影檢測。這降低了計算復雜性。
通過利用直方圖評估圖像以及在RGB顏色空間中生成排除掩碼,獲得了過度曝光或曝光不足的更準確的視圖。在YUV空間中,在圖像的三個通道(Y、U和V)之間可能存在串擾,這會使結果模糊。在重影檢測發(fā)生之前在轉換塊522中所產生的組合圖像再轉換回到YUV顏色空間。在重影檢測發(fā)生之前,U元素和V元素在合并塊524中合并,然后在處理塊526處針對重影檢測對Y分量和組合UV分量進行處理。
重影檢測操作通常包括軟閾值操作、侵蝕操作、膨脹操作和平滑操作。Y分量然后在尺度放大塊528中被縮放返回為全分辨率,而UV分量在合并塊530中與排除掩碼結果518合并。在重影檢測和映射中的這些操作可用于補償混合534。補償混合包括亮度混合536和色度混合538。亮度混合從重影檢測和尺度放大528中取Y分量,并將所述Y分量與來自主圖像和次圖像中的原始Y分量進行組合。重影檢測Y值用于將來自兩個圖像和亮度混合塊536的Y分量作為因子計入。以類似的方式,來自兩個圖像的U分量和V分量被應用到色度混合塊并且重影檢測UV值然后用于在補償混合塊534中控制色度混合538。在這些混合操作之后,產生輸出重影檢測的YUV圖像。
在所展示的示例中,所描述的過程可劃分為三個主要的功能塊:光度校準或匹配508、運動檢測或重影映射514、以及運動補償或混合534。
光度校準執(zhí)行參考圖像與目標圖像的明度(Brightness)匹配。這修改了參考圖像,從而使得其具有與目標圖像相同的曝光。光度校準是對每個RGB通道單獨地使用直方圖匹配510完成的。如所示,來自幀緩沖器504A、504B的經轉換的圖像506A、506B都應用于直方圖匹配函數以對RGB顏色空間中的明度水平進行比較。在補償混合之前應用所述結果以調整參考幀。所述結果也用于確定排除掩碼。
運動檢測將目標幀與光度校正參照幀進行比較。這是為了獲得重影圖,所述重影圖標記了受運動影響的區(qū)域。可以在兩個或更多個操作中在尺度縮小的圖像512A、512B上完成檢測。
第一操作是利用區(qū)域排除508生成差異圖516。針對每個圖像對中的每個RGB通道確定差異。第二操作是飽和區(qū)域排除518。受傳感器飽和影響的區(qū)域被掩蔽并且它們的差值被設置為0。有符號的RGB然后轉換522到YUV空間,在所述YUV空間中完成了運動補償。區(qū)域排除過程528也可用于在塊530處在流水線中產生一個稍后使用的完整排除掩碼。
在應用排除掩碼且圖像被轉換到YUV中后,U和V圖被組合524成單個UV圖。組合防止錯誤的重影檢測。然后將組合UV分量和Y分量應用于若干重影檢測操作。首先,軟閾值操作將閾值應用于Y圖和UV射中的每一者。所述閾值可以是任何Sigmoid函數或線性斜率分段線性函數。
然后將侵蝕操作、膨脹操作和平滑操作應用于所述閾值圖像。侵蝕是用于去除由噪聲引起的稀疏檢測的形態(tài)運算。膨脹通過在侵蝕之后擴大檢測而使重影圖更緊湊。平滑操作利用低通濾波器對重影圖進行濾波,從而使得在混合之后沒有維持可見的縫隙。
UV分量然后與排除掩碼合并530。為了防止混合中的偽像,單獨的YUV掩碼中的每一者使用例如模糊邏輯“與”操作與完整的排除掩碼相結合。
在所展示的示例中,運動補償534是在YUV域中完成的,因為YUV顏色空間與亮度和色度分量去相關。光度校正參考幀的轉換回到YUV 532的U、V分量562、564與目標幀504B的相應的U、V分量566、568使用作為阿爾法(Alpha)掩碼的重影圖530進行阿爾法混合(Alpha Blended)538。Y通道552、554使用來自重影檢測的Y掩碼556進行混合536。U和V通道使用來自重影檢測的UV掩碼558進行混合。
在這個HDR處理的一些實施例中,照度處理316被執(zhí)行作為色調映射算子。照度處理恢復飽和區(qū)域并使圖像的暗區(qū)明亮,而不會產生可見的偽像。照度處理的輸入是來自去重影階段314的運動補償幀的亮度平面。
對于無縫混合,可以使用高斯和拉普拉斯金字塔框架。如在圖6的處理流程圖中所示,整個流水線可以被視為具有三個階段:金字塔分解602、權重計算604、以及混合和金字塔重建606。
在金字塔分解中,每個輸入幀612(IN(1,2,3))被分解成高斯金字塔(G0(1,2,3),GL(1,2,3),G2(1,2,3),G3(1,2,3))和拉普拉斯金字塔(L0(1,2,3),L1(1,2,3),L2(1,2,3),L3(1,2,3))。各個不同曝光輸入照度通過收縮處理被分解成高斯金字塔。針對每個金字塔級別1(1=0,1,...,N-1),利用5×5高斯卷積濾波器對圖像進行平滑處理并進行抽取,以便得到級別1+1。
在權重圖階段,計算混合權重W0(1,2,3),WL(1,2,3),W2(1,2,3),W3(1,2,3)。針對每個幀(1,2,3)在每個金字塔級別處計算權重圖。正常曝光的幀可以用作參考并且兩個權重圖被計算。曝光不足權重圖是通過對曝光不足幀mEv的亮度通道應用分段線性度量而計算。度量用來將較高權重給予曝光不足亮度通道的亮像素。針對過度曝光幀重復所述過程,以獲得過度曝光權重圖。針對過度曝光幀的度量將較高權重給予暗像素。這兩個掩碼倒置并相乘以得到針對自動曝光或參考幀的權重圖。這種方法避免了基于歸一化的除法,這使得它更適合于定點圖像信號處理器。
針對混合和重建,擴張算子類似于收縮算子。對圖像進行內插并且然后用5×5高斯濾波器對其進行濾波。在輸出拉普拉斯金字塔(L0,L1,L2,L3)中的系數被計算為輸入拉普拉斯系數的加權和。輸出拉普拉斯金字塔然后被應用到每個高斯(G0,GL,G2,G3)并被重建以便輸出照度平面(OUT)。
照度處理階段316輸出亮度。顏色處理是在被稱為色品處理的單獨階段318中完成的,所述色品處理負責準確的顏色再現。使用單獨的操作減少了輸出圖像上的滲色。色品處理從每個輸入幀(運動補償幀)取色,所述輸入幀具有最佳信噪比。暗區(qū)的顏色取自過度曝光幀,亮區(qū)或飽和區(qū)的顏色取自曝光不足幀,并且其他顏色取自自動曝光的幀或參考幀。色品操作可以以級聯方式組織,從而使得流水線可以取任何數量的幀作為輸入。亮度和色度處理可以同時并行地完成,并且然后對結果進行組合以產生最終的HDR幀。
圖7A提供了以上提及的色品處理318的示例。在色度處理中,存在色度處理流水線752。在圖7A的示例中,所有三個圖像都被接收,緩沖器包含參考幀754A和兩個次級幀、曝光不足幀754B和過度曝光幀754C。這些YUV圖像中的每一個圖像首先在轉換塊756A、756B和756C中被轉換為RGB圖像。從這里,在伽馬(Gamma)去除塊758A、758B和758C中將伽馬去除應用于每個圖像。根據伽馬去除,在亮度分析塊760A、760B和760C中確定各圖像的亮度值。應用這些亮度確定以將每個圖像的RGB值歸一化。
每條處理鏈具有用于基于所確定的亮度值將所述值歸一化的歸一化塊777A、777B和777C。歸一化塊還接收應用到每個歸一化塊以去除伽馬對歸一化RGB值的任何影響的伽馬去除組件764。然后,成對地對RGB值進行混合。在圖7A的示例中,第一對是參考圖像與曝光不足圖像754B。然后將這兩個圖像應用到混合塊766A。所述混合塊的輸出被應用到第二混合塊766B,所述第二混合塊也接收過度曝光次級圖像。
第二塊766B然后產生最終輸出色度混合塊768。這發(fā)生在YRGB顏色空間中。針對混合,混合操作部分地是由從原始RGB圖像的HSV(色相飽和值)分析中得到的V值引導的。V值是從圖像之一中推導的并被發(fā)送到混合器。在第一混合器766A的示例中,可以從RGB值進行HSV轉換。來自HSV圖像的V(值)是從提取塊770中提取的,并此V值被提供給分段線性掩碼772。然后,掩蔽的V值被應用到混合器引導混合過程。如以上提及的,所述圖像已經具有排除掩碼以去除對圖像的任何極其過度曝光或曝光不足影響。類似地,針對第二配對,V值可以在第二V提取塊774中取自過度曝光圖像754C,所述V值被應用到分段線性掩碼776作為輸入以引導第二混合器766B。
如所示,可以在幾個步驟中考慮每個級聯階段。首先出現的是YUV到RGB轉換756。然后,在線性RGB顏色空間完成歸一化762和混合766。因此,早期的操作是將圖像轉換到非線性RGB空間。然后對經轉換的圖像進行線性化。在這個示例中,通過使用逆伽馬曲線758、760來將非線性RGB圖像線性化。如上所述,所述逆伽馬曲線也被應用到來自照度處理階段的亮度通道,以便獲得近似的照度通道。
混合掩碼是通過在每個像素的M=max(R,G,B)值上應用分段線性度量772、776而生成的。所輸出照度然后被歸一化762為輸出照度。根據C新=C(Y新/Y),將每個通道歸一化為輸出照度,其中,C是RGB通道中的每個通道,并且Y是照度。然后使用之前計算的混合掩碼對歸一化圖像進行阿爾法混合766。
輻照度圖可以用于表示落在圖像傳感器上的光的分布。所述圖可以用于占據比任何一個圖像采集的范圍更大的動態(tài)范圍,并且,由于這個原因,可以比單獨的圖像使用更大的位范圍。通常,輻照度圖使用例如每通道16位而不是標準的8位。然而,位數可以被調整以適應不同的實現方式。輻照度圖可以用作支持此較大位范圍的高對比度顯示器的輸入,也可用于色調映射算子。色調映射算子可用來將高對比度的圖像轉換成例如每通道圖像8位或者用于創(chuàng)建圖像藝術效果。
圖7B示出了輻照度圖創(chuàng)建模塊702的示例。這可能是圖7A的色品處理模塊的一部分,但在此被單獨示出以使處理流水線更容易理解。這個模塊將針對參考幀704A、曝光不足幀704B和過度曝光幀704C的三個去重影后的圖像接收到各自的緩沖器中。如上所提及的,這些全部是YUV格式。他們因此在各自的轉換塊706A、706B和706C中轉換回RGB格式。在轉換模塊中,伽瑪值在伽瑪去除塊708A、708B和708C中被去除以防止伽馬值影響輻照度圖。
伽馬去除圖像被轉發(fā)以用于進行成對處理。因此,去除伽馬的參考圖像然后被應用到比較塊710A,所述比較快將去除伽馬的參考圖像的曝光值或輻照度與去除伽馬的曝光不足圖像進行比較。然后在曝光差異塊712A中保存并確定所述曝光差異。其結果被應用于混合器714A?;旌掀?14A從模塊712A中接收去除伽馬后的參考圖像以及曝光差異計算。此混合器由從參考圖像716A的HSV表示中提取的V值引導。此V值從提取單元716A應用到分段線性掩碼718A以驅動混合器。然后將此混合圖像應用于與過度曝光圖像704C的比較。
正如第一對,由參考圖像和過度曝光圖像組成的第二對取過度曝光圖像并將其應用到第二混合器716B。所述混合器從提取塊716B接收在過度曝光次級圖像之外的提取的V分量。此V元素被應用于分段線性掩碼718B作為混合器的輸入?;旌掀鞯钠渌斎胧瞧毓獠町愑嬎?10B,所述曝光差異計算將參考圖像與過度曝光圖像進行比較。此曝光差值被應用到第二曝光差異計算器712B,所述計算器從第一對714A接收混合的圖像。所述結果作為比較圖像被應用于混合器中以與過度曝光圖像704C進行比較。此混合結果用來產生輻照度圖720,所述輻照度圖然后應用到緩沖器中作為輻照RGB值722。
由去重影模塊514生成的YUV幀可以用作此模塊的輸入。轉換至RGB顏色空間706、去除伽瑪708、使用分段線性掩碼718生成混合因素、以及自混合714可以全部以與之前模塊中類似的方式來完成。曝光差異計算塊712創(chuàng)建去除了伽馬的且線性化的幀之間的匹配的直方圖或比較圖。在輸入幀的像素之間的曝光差值可用于在混合之前使用經計算的差值從較低曝光幀添加像素作為倍乘因子。
圖8展示了根據一種實現方式的便攜式圖像采集設備100。成像設備100容納系統(tǒng)板2。所述板2可以包括多個組件,包括但不限于處理器4和至少一個通信封裝體6。通信封裝體耦合到一個或多個天線16。處理器4物理地和電學地耦合到板2。
根據其應用,圖像采集設備100可以包括可以或可以不物理地和電學地耦合到板2的其他組件。這些其他組件包括但不限于易失性存儲器(例如DRAM)8、非易失性存儲器(例如ROM)9、閃存(未示出)、圖形處理器12、數字信號處理器(未示出)、密碼處理器(未示出)、芯片組14、天線16、如觸摸屏顯示器的顯示器18、觸摸屏控制器20、電池22、音頻編解碼器(未示出)、視頻編解碼器(未示出)、功率放大器24、全球定位系統(tǒng)(GPS)設備26、羅盤28、加速度計(未示出)、陀螺儀(未示出)、揚聲器30、相機32、麥克風陣列34、和大容量存儲設備(如硬盤驅動)10,光盤(CD)(未示出)、數字通用盤(DVD)(未示出)等等)。這些組件可以連接到系統(tǒng)板2、安裝到系統(tǒng)板或與任何其他組件組合。
相機陣列可以直接地或通過所述圖像芯片耦合到圖像芯片36,如成像信號處理器和所述處理器4。圖像芯片可以采取各種不同的形式,如圖形協(xié)處理器、或單獨的專用成像管理模塊。這種模塊或設備可以包括操作用于采集、處理、編輯、壓縮、存儲、打印和/或顯示一個或多個圖像的邏輯、算法和/或指令。在一些實施例中,成像管理模塊可以包括被實現為成像應用或操作系統(tǒng)內的軟件的編程例程、功能和/或過程。在各其他實施例中,成像管理模塊可以被實現為獨立式芯片或集成電路,或者為包括在處理器內、在圖形芯片或其它集成電路或芯片內、或者在相機模塊內的電路。
通信封裝體6使得向和從視頻設備100傳遞數據的無線和/或有線通信成為可能。術語“無線”及其派生詞可以用于描述可以通過使用通過非固體介質的經調制的電磁輻射來傳達數據的電路、設備、系統(tǒng)、方法、技術、通信通道等。所述術語并不意味著相關聯的設備不包含任何導線,盡管在一些實施例中它們可能不包括。通信封裝體6可以實現多種無線或有線標準或協(xié)議中的任何一種,包括但不限于Wi-Fi(IEEE 802.11家族)、WiMAX(IEEE 802.16家族)、IEEE 802.20、長期演進(LTE)、Ev-DO、HSPA+、HSDPA+、HSUPA+、EDGE、GSM、GPRS、CDMA、TDMA、DECT、藍牙、其以太網衍生物以及被指定為3G,4G,5G及以上的任何其它無線和有線協(xié)議。視頻設備100可以包括多個通信封裝體6。例如,第一通信封裝體6可以專用于如Wi-Fi和藍牙的較短程無線通信,并且第二通信封裝體6可以專用于較長程無線通信,如GPS、EDGE、GPRS、CDMA、WiMAX、LTE、Ev-DO、以及其他。
相機32可以包括圖1的相機102的所有組件,或與其它視頻設備組件和功能共享資源,如存儲器8、9、10,處理4和用戶界面12、20。處理器4耦合到相機和存儲器以接收幀并產生如所述的HDR圖像。如上所述,相機還可以包括圖像處理系統(tǒng),以與處理器共享任務從而生成HDR圖像。
在各種實現方式中,圖像采集裝置100可以是視頻相機、數字單鏡頭反光或無反光鏡相機、蜂窩電話、媒體播放器、膝上計算機、上網本、筆記本、超極本、智能電話、可穿戴設備、平板計算機、個人數字助理(PDA)、超移動PC、或者數字視頻記錄器。所述圖像采集設備可以是固定的、便攜式的、或可穿戴的。在進一步的實現方式中,圖像采集設備100可以是記錄圖像幀序列和過程數據的任何其它電子設備。
實施例可以實現為使用母板、專用集成電路(ASIC)、和/或現場可編程門陣列(FPGA)互連的一個或多個存儲器芯片、控制器、CPU(中央處理單元)、微芯片或集成電路的一部分。
對“一個實施例”、“實施例”、“示例實施例”、“各實施例”等的引用表明這樣描述的這個或這些個實施例可以包括具體特征、結構、或特性,但并不是每個實施例必定包括這些具體特征、結構、或特性。進一步,某些實施例可具有針對其他實施例所描述的特征的一部分、全部、或不具有任何這些特征。
在以下說明書和權利要求書中,可以使用術語“耦合”及其衍生詞?!榜詈稀庇糜谥甘緝蓚€或更多個元件彼此協(xié)作或相互作用,但是它們之間可以具有或不具有中間物理或電學組件。
如權利要求書中所使用的,除非另有說明,使用序數形容詞“第一”、“第二”、“第三”等來描述公共元素僅僅指示相同元素的不同實例被提及,并且不旨在暗示如此描述的元件必須在或者時間上、空間上、排名上、或以任何其它方式處于給定序列中。
附圖和前述描述給出了實施例的示例。本領域技術人員將理解,所描述的元件中的一個或多個可以被良好地組合成單個功能元件??商娲?,某些元件可以分成多個功能元件。來自一個實施例的元件可以被添加到另一個實施例。例如,本文描述的過程的順序可以改變并且不限于本文所述的方式。此外,任何流程圖的動作不需要以所示的順序實現;也不一定需要執(zhí)行所有的動作。此外,不依賴于其他動作的那些動作可以與其他動作并行地執(zhí)行。實施例的范圍決不限于這些特定示例。無論是否在說明書中明確給出,如材料的結構、尺寸和使用上的差異的許多變化都是可能的。實施例的范圍至少與所附權利要求給出的一樣寬。
下面的示例涉及進一步的實施例。不同實施例的各種特征可以與包括的一些特征和排除的其他特征進行各種組合以適應各種不同的應用。一些實施例涉及一種高動態(tài)范圍圖像處理系統(tǒng),所述系統(tǒng)包括:緩沖器,所述緩沖器用于接收場景的三個不同圖像中的每一個圖像,每一個圖像都具有對所述場景的不同曝光量;通用處理器,所述通用處理器用于估計所述三個圖像之間的對齊;以及成像處理器,所述成像處理器用于基于所估計的對齊來扭曲所述圖像并用于組合所述三個圖像以產生單個高動態(tài)范圍圖像。
在進一步的實施例中,所述通用處理器針對所述三個圖像的第二配對來估計對齊,而所述成像處理器針對所述三個圖像的第一配對來扭曲圖像。
在進一步的實施例中,所述成像處理器將所述三個圖像分組成兩對——第一對和第二對,每一對都包括從所述三個圖像中選擇的參考圖像,并且其中,所述通用處理器對所述第二對進行操作,而所述成像處理器對所述第一對進行操作。所述通用處理器成對地估計圖像對齊。所述成像處理器成對地執(zhí)行圖像扭曲、去重影和色度處理。所述通用處理器是中央處理單元,并且所述成像處理器被整合到相機模塊中。
一些實施例涉及一種用于處理圖像以合成高動態(tài)范圍圖像的方法,所述方法包括:在緩沖器中接收場景的三個不同圖像中的每一個圖像,每一個圖像都具有對所述場景的不同曝光量;在通用處理器中估計所述三個圖像之間的對齊;以及在成像處理器中基于所估計的對齊來扭曲所述圖像并且組合所述三個圖像以產生單個高動態(tài)范圍圖像。
進一步的實施例包括:在所述通用處理器中針對所述三個圖像的第二配對來估計對齊,而在所述成像處理器中針對所述三個圖像的第一配對來扭曲圖像。
在進一步的實施例中,所述成像處理器將所述三個圖像分組成兩對——第一對和第二對,每一對都包括從所述三個圖像中選擇的參考圖像,并且其中,所述通用處理器對所述第二對進行操作,而所述成像處理器對所述第一對進行操作。
一些實施例涉及一種方法,所述方法包括:接收至少兩個圖像,每一個圖像代表在不同時刻亮度且具有不同曝光水平的同一場景;計算第一圖像與第二圖像之間的顏色值差異;確定所述圖像中的第一圖像的區(qū)域被排除;從所計算的差異中排除被排除的區(qū)域;將來自所述第二圖像的與所述被排除區(qū)域相對應的區(qū)域的顏色值用作所計算的差異;使用所計算的差異來確定重影檢測值;使用所述重影檢測值以及所述相應區(qū)域的所述顏色值來生成組合圖像;以及基于去重影來混合所述組合圖像的值和色度值。
在進一步的實施例中,判定區(qū)域是否被排除包括:判定區(qū)域是否飽和。判定區(qū)域是否飽和包括:檢查所述第一和第二圖像的直方圖。判定區(qū)域是否被排除包括:通過檢查所述第一和第二圖像的直方圖來判定區(qū)域是否具有過量噪聲。所述圖像各自包括多個顏色分量,并且其中,判定區(qū)域是否被排除是針對每個顏色分量獨立完成的。
在進一步的實施例中,所述至少兩個圖像在YUV顏色空間中,所述方法進一步包括:在計算顏色值差異之前,將所述至少兩個圖像轉換到RGB顏色空間;以及在確定重影檢測值之前,將所述至少兩個圖像轉換到YUV顏色空間。確定重影檢測值是針對Y分量和針對組合UV分量獨立完成的。
一些實施例涉及一種高動態(tài)范圍圖像處理系統(tǒng),所述系統(tǒng)包括:緩沖器,所述緩沖器用于接收至少兩個圖像,每一個圖像代表在不同時刻且具有不同曝光水平的同一場景;差異計算模塊,所述差異計算模塊用于計算第一圖像與第二圖像之間的顏色值差異;圖像排除模塊,所述圖像排除模塊用于確定所述圖像中的第一圖像的區(qū)域被排除,用于從所計算的差異中排除被排除的區(qū)域,并且用于將來自所述第二圖像的與所述被排除區(qū)域相對應的區(qū)域的顏色值用作所計算的差異;重影檢測模塊,所述重影檢測模塊用于使用所計算的差異來確定重影檢測值;以及混合模塊,所述混合模塊用于使用所述重影檢測值以及所述相應區(qū)域的所述顏色值來生成組合圖像,并且用于基于去重影來混合所述組合圖像的亮度值和色度值。
在進一步的實施例中,所述至少兩個圖像在YUV顏色空間中,所述系統(tǒng)進一步包括:顏色空間轉換器,所述顏色空間轉換器用于:在所述差異計算模塊之前,將所述至少兩個圖像轉換到RGB顏色空間;以及第二顏色空間轉換器,所述第二顏色空間轉換器用于:在所述重影檢測模塊之前,將所述至少兩個圖像轉換回YUV顏色空間。所述重影檢測模塊進一步包括:組合器,所述組合器用于合并所述U分量和所述V分量,并且其中,所述重影檢測模塊針對組合UV分量以及針對Y分量獨立地確定重影檢測值。
一些實施例涉及一種方法,所述方法包括:扭曲第二圖像,從而使得所述第二圖像與第一圖像對齊,其中,所述第一圖像和所述第二圖像是同一場景在不同時刻被采集圖像,所述圖像包括顏色信息并且在具有多個顏色分量的顏色空間中被表示;從所述第一圖像和所述第二圖像中去除伽馬;在去除所述伽馬之后將所述第一圖像和所述第二圖像的照度歸一化;以及使用來自所述第一圖像的照度值來混合所述第一圖像和所述第二圖像,以獲得具有來自這兩個圖像的顏色和照度信息的單個圖像。
進一步的實施例包括生成所述第一圖像和所述第二圖像的HSV表示;從所述HSV表示中提取V值;將所述V值應用于分段線性掩碼;以及使用所述結果來驅動對所述第一圖像和所述第二圖像的所述混合。
一些實施例涉及一種便攜式相機,所述相機包括:相機,所述相機具有用于產生至少兩個圖像的圖像傳感器,每一個圖像代表在不同時刻且具有不同曝光水平的同一場景;緩沖器,所述緩沖器用于接收所述至少兩個圖像;差異計算模塊,所述差異計算模塊用于計算第一圖像與第二圖像之間的顏色值差異;圖像排除模塊,所述圖像排除模塊用于確定所述圖像中的第一個圖像的區(qū)域被排除,用于從所計算的差異中排除被排除區(qū)域,并且用于將來自所述第二圖像的與所述被排除區(qū)域相對應的區(qū)域的顏色值用作經計算的差異;重影檢測模塊,所述重影檢測模塊用于使用所計算的差異來確定重影檢測值;混合模塊,所述混合模塊用于使用所述重影檢測值以及所述對應區(qū)域的所述色彩值來生成組合圖像,并且用于基于去重影來混合所述組合圖像的亮度值和色度值;以及顯示器,所述顯示器用于將所述組合圖像呈現給用戶。