
本申請要求在2014年9月26日提交的標題為“使用塊匹配的鏡頭陰影顏色校正的方法和系統(METHOD AND SYSTEM OF LENS SHADING COLOR CORRECTION USING BLOCK MATCHING)”的美國專利申請第14/498,271號的權益。
背景技術:
諸如智能電話、平板計算機和可穿戴計算機的電子裝置正在被小型化以方便用戶,這繼而涉及此類裝置中的電子部件的小型化。這包括能夠產生數字圖像的數字照相機。雖然減小形狀因子可增加用戶的便利性,但它往往通過犧牲性能或質量來實現。對于數字照相機,更纖薄的形狀因子使鏡頭和濾光器靠近照相機的傳感器,從而導致數字圖像往往具有色彩偽影和變色。因此,期望更好質量的數字圖像。
附圖說明
在附圖中通過示例而非限制的方式示出了本文所述的材料。為了簡潔和明確說明,在附圖中示出的元件不一定按比例繪制。例如,為了清楚起見,一些元件的尺寸可相對于其它元件被放大。另外,在適當的情況下,附圖標號可在各附圖中重復以指示對應和/或類似的元件。在附圖中:
圖1為具有光衰減的圖像的圖示;
圖2為示出圖像的光衰減的圖;
圖3為具有鏡頭陰影顏色偽像的圖像;
圖4為具有難以提供正確陰影的紋理的圖像;
圖5為具有難以提供正確陰影的紋理的另一圖像;
圖6為用于鏡頭陰影顏色校正的圖像捕獲裝置的示意圖;
圖7為示出鏡頭陰影顏色校正過程的流程圖;
圖8為詳細鏡頭陰影顏色校正過程的流程圖;
圖9A-9B為用于鏡頭陰影顏色校正的塊匹配過程的流程圖;
圖10為具有用于鏡頭陰影顏色校正的塊簇的圖像的圖示;
圖11為具有用于定位用于鏡頭陰影顏色校正的塊的運動矢量的圖像的圖示;
圖12為本文所述的示例系統的操作的圖;
圖13為示例系統的示意圖;
圖14為另一示例系統的示意圖;以及
圖15示出全部根據本公開的至少一些實施方案布置的另一示例裝置。
具體實施方式
現在參考附圖描述一或多個實施方案。盡管論述了具體的配置和布置,但是應理解,這僅是為了說明的目的。相關領域的技術人員應認識到,在不脫離本描述的精神和范圍的情況下,可采用其它配置和布置。對于相關領域的技術人員應顯而易見的是,本文所述的技術和/或布置也可用于除了本文所述之外的各種其它系統和應用中。
盡管以下描述闡述了可在例如諸如片上系統(SoC)架構的架構中表現的各種實施方案,但是本文所述的技術和/或布置的實施方案不限于特定架構和/或計算系統并且可由用于類似目的的任何架構和/或計算系統來實現。例如,采用例如多個集成電路(IC)芯片和/或封裝和/或諸如成像裝置、數字照相機、智能電話、網絡攝像機、視頻游戲面板或控制臺、機頂盒等的各種計算裝置和/或消費電子(CE)可實現本文所述的技術和/或布置。此外,盡管以下描述可闡述諸如系統部件的邏輯實現、類型和相互關系、邏輯分區/集成選擇等的許多具體細節,但是可在沒有此類具體細節的情況下實施所要求保護的主題。在其它情況下,可不詳細地示出諸如例如控制結構和完整軟件指令序列的一些材料,以免混淆本文所公開的材料。本文所公開的材料可在硬件、固件、軟件或其任何組合中實現。
本文所公開的材料也可被實現為存儲在機器可讀介質或存儲器上的指令,其可由一或多個處理器讀取和執行。機器可讀介質可包括用于以機器(例如,計算裝置)可讀形式存儲或傳送信息的任何介質和/或機制。例如,機器可讀介質可以包括只讀存儲器(ROM);隨機存取存儲器(RAM);磁盤存儲介質;光存儲介質;閃存存儲裝置;傳播信號(例如,載波、紅外信號、數字信號等)的電氣、光學、聲音或其它形式以及其它介質。在另一種形式中,諸如非暫時性計算機可讀介質的非暫時性制品可與上述任何示例中的任一種或其它示例一起使用,除了其不包括暫時性信號本身。它包括除了可以以“暫時”方式臨時保存數據的信號本身的那些元件,例如RAM等。
在說明書中對“一個實施方案”、“實施方案”、“示例實施方案”等的引用指示所述的實施方案可包括特定特征、結構或特性,但每個實施方案可不一定包括特定特征、結構或特性。此外,此類短語不一定指代相同的實施方案。此外,當結合實施方案描述特定特征、結構或特性時,可認為結合無論是否在本文中明確描述的其它實施方案來實現此類特征、結構或特性在本領域的技術人員的知識范圍內。
系統、制品和方法提供塊匹配的鏡頭陰影顏色校正。
具有利用移動相機模塊捕獲諸如智能手機、移動電話、平板計算機、膝上型計算機等的圖像的能力的多功能電子裝置往往可具有尺寸大小適于容易地適配在用戶的平均手掌中的形狀因子。在此類情況下,小的電子裝置可具有可以以毫米(mm)測量的小的厚度。例如,常規智能手機可容易地具有7.6mm或更薄的代表性厚度。當此類窄厚度的裝置并入圖像捕獲模塊(諸如數字相機)時,其必然減小相機光學器件與圖像傳感器之間的距離。減小的距離導致光以不均勻的方式照射圖像傳感器的各個部分,諸如朝向圖像傳感器的中心聚集光并且朝向圖像傳感器的外邊緣衰減光,如使用傳感器和使用平面測試區域所產生的圖像10上所示(圖1)。如圖1所示,圖像10的角區域12比圖像10的中心區域14更暗。這表明由于光學鏡頭陰影引起的光衰減相對于角區域12比相對于中心區域14更大。這種衰減在整個顏色平面中可能不是靜態的,這導致嚴重的顏色失真。典型的結果為所提到的在中心更亮的數字圖像和在邊緣附近更暗的數字圖像,以及相對于初始場景的人工顏色和衰減。圖2示出來自圖1的一個顏色平面,其中,垂直軸為亮度并且底部示出像素坐標。光在中心是最亮的,并且朝向外角明顯下降。圖3示出不均勻的光衰減和相應的顏色失真甚至發生在諸如智能電話的高端裝置中。在試圖校正顏色的圖像300上示出了失真302以及盡管進行此類校正但仍然保持的顏色偽像區域(304)(在該示例中可被著色為過于偏紅)。因此,甚至公知的高端裝置仍然存在如圖3所示的圖像質量的問題。
更具體地,由于大多數數字成像傳感器配備有用于再現數字圖像中的顏色信息的CFA(濾色器陣列),因此,此類衰減在不同的顏色通道中變化,這導致當不正確重構圖像時的嚴重顏色劣化。該衰減根據光譜、模塊設計(幾何形狀和光學)、IR截止(紅外)濾光器、傳感器設計以及潛在的其它因素而變化。對于一個因素,當光學器件(或濾光器)和傳感器平面在這些小的裝置中靠近在一起時,這產生相對于傳感器平面的相對尖銳的主光線角(CRA),并且取決于保持傳感器的部件的設計,與一些理想的布置相比,沒有那么多的光線可具有到傳感器的清晰路徑。由于此類失真可以客觀地進行測量并且對于用戶是可見的,所以這些失真的去除是圖像質量的重要標準。
為了校正這種不均勻性,圖像捕獲裝置可實現各種鏡頭陰影校正(LSC)算法來進行補償。LSC算法可利用具有與其相關聯的相關色溫(CCT)因子的一或多個校正LSC表來執行此類校正。一旦形成了LSC表(或者更準確地從預先存儲的LSC表中選擇),則將其應用于預處理的圖像數據,以在將數據提供給編碼器之前或在顯示圖像之前進行校正。然而,使用LSC表的常規校正處理仍然太不準確。它們可能導致不均勻的衰減,并繼而導致可見的失真。以前的解決方案基于使用色度或飽和度直方圖(全局統計分析)。更好的解決方案是基于局部顏色偏差分析(局部統計分析),其在現在公布為美國專利申請公開號2015/0146979的美國專利申請號14/182,824中公開,并且在下面更詳細地解釋。
在相機運行時間期間解決鏡頭陰影問題中的主要挑戰之一是理解圖像的哪部分可以在顏色失真量度的計算中被最好地利用。具體地,失真(諸如失真302)可以更準確地識別和測量,就可以選擇更好的機會來正確地補償LSC表以適當地補償失真。顏色失真通常通過投影到校正和白平衡圖像的塊中的色度/飽和平面的色度、飽和度和值(HSV)顏色空間中的原點的均方誤差(MSE)來測量。已經發現在圖像的平坦、消色差區域(也稱為平滑區域)中更容易識別和測量失真。因此,找到失真的最簡單和最有效的方法是在平場圖像中。此類圖像可用漫射玻璃或積分球獲得。在此情況下,解決方案相當簡單。校正通過回復觀察本身來執行。換句話說,一些優選的顏色或亮度系數被確定,并且通過該系數使較暗的區域變得更亮和使較亮的區域變的更暗。然而,此類方法僅在測試實驗室環境中是可行的,并且在校正可能具有或可能不具有寬亮度和顏色變化的典型圖像時不適用。
因此,可在運行時間期間對典型圖像上的平滑或均勻區域執行搜索并進行分析以使得能夠計算失真量度。此類計算需要上述足夠的數據和屬性來做出關于LSC表選擇的可靠決定。該問題的一種解決方案是將圖像劃分為多個矩形塊,例如24個塊,其中,每個塊是圖像的相對大的連續區域。基于色度和飽和度值、每個發光體(或換句話說,光源)和塊的大小來計算每個塊的誤差。然后,該誤差被用于計算如下所述與LSC表相關聯的權重。在這里重要的是,僅選擇一些塊用來最終選擇LSC表,即使為圖像中的所有塊計算誤差。在一種方法中,然后具有最低誤差的選擇數量塊被用來選擇LSC表。在現在公布為美國專利申請公開號2015/0146979號的美國專利申請號14/182,824所提供的先前方法中,具有最低誤差值的24個塊中的兩個到八個塊被用于進一步的計算。使用該塊選擇操作是因為誤差越小,塊提供圖像的平滑部分或塊內至少更平滑的部分的可能性就越大。假設具有最大誤差的塊表示飽和度和色度具有大的變化的圖像的區域,表明在塊中描繪的對象之間具有許多邊緣,并因此該塊并不顯示圖像的平滑區域。
然而,這種塊選擇的先前方法仍然存在具有復雜紋理的圖像的問題,其中,平滑區域并不集中在圖像的一個相對大的部分中。例如,具有小重復紋理的圖像是用于進行分析的最困難的一些圖像。這包括圖像內容,諸如圖像400(圖4)上的表格或擴展表,以及具有劃分行和列以在圖像上形成暗區和亮區的交替圖案的線。同樣,圖像500(圖5)上的方格織物圖案形成白色和彩色部分的交替圖案。使用大塊進行分析的先前操作可能不清楚具有表示圖像的平滑區域的一個塊,并進而,LSC表選擇可能變得不足。此外,限于圖像的連續區域的常規分段解決方案(例如,批量填充分割)可能提供低效或不充分的結果,或可能無法提供任何結果,因為圖像的平滑區域的數據的不足部分被包含在所選的分割區域或所選的塊中。
為了解決這些問題,本文所公開的方法使用在視頻序列中的一或多個視頻幀中的動態搜索以形成用于幀的至少一個塊簇。塊簇表示圖像的平滑均勻區域。平滑均勻區域是指具有最小量邊緣的圖像的區域,或者換句話說,在亮度或顏色比上沒有大的跳躍。與常規方法相比,這可為每個簇提供大得多的圖像數據量。形成簇的塊或區域不必連接,并且可被包含在簇中,而不管該塊在圖像上位于何處。因此,簇中的塊不一定彼此接觸,并且簇不需要具有任何特定形狀。
本發明所公開的圖像建模過程包括:當塊具有相同的屬性使得兩個塊的數據通過與圖像數據相關的一或多個標準時,選擇用于簇的塊(本文中也稱為自相似性塊匹配)。通過一種形式,圖像中的參考區域或塊(或者更準確地在圖像數據的統計網格中)與圖像中的多個塊進行比較。統計網格可為在網格上間隔開以對應于在圖像上定義的塊的位置的亮度值或顏色值或顏色比的網格。當比較滿足相似性標準時,兩個塊被稱為是相同對象或具有相同屬性的塊,并且所找到的塊被包含在簇中。然后塊的簇被用于例如找到色度和飽和度中的誤差,其繼而被用于找到LSC表的權重。然后提供加權LSC表中的所選LSC表以校正預處理的圖像。
本文所述的方法可被稱為非局部解,因為它并入了全局(基于直方圖的解)和局部統計分析(通過執行下面進一步描述的顏色失真計算)的益處。由于與常規鏡頭陰影顏色校正方法相比,簇類布置使用更有效的數據利用,所以盡管復雜計算的成本增加,但仍提高了分類的質量、運行時間魯棒性和增加的適用范圍。
參考圖6,該圖描述了用于處理所捕獲的圖像并且通過自相似性塊搜索應用鏡頭陰影顏色校正的圖像捕獲裝置或系統600。圖像捕獲裝置600可為獨立裝置,諸如數字相機,或者可僅僅為諸如智能電話的裝置上的相機模塊。在本示例中,圖像捕獲裝置600可具有相機模塊606,相機模塊606具有光學器件602和一或多個圖像傳感器604,其中,每個光學器件與相應的圖像傳感器604配對。每個圖像傳感器604可基于用于捕獲場景的圖像的各種技術中的任一種,包括但不限于電荷耦合器件(CCD)半導體技術。光學器件602中的每一種由用于傳送場景的圖像并且至少部分地限定圖像傳感器604中的相應圖像傳感器的視場的一或多個鏡頭、反射鏡、棱鏡、快門、濾光器等組成。圖像傳感器604和光學器件602(無論其數量如何)以旨在為每個圖像傳感器和光學器件對提供與一個或多個其它圖像傳感器和光學器件對的視場重疊的視場的方式相對于彼此定位和取向。
圖像捕獲裝置600也可具有預處理單元636,其從相機模塊606接收原始圖像并對原始圖像數據執行黑電平校正、放大如下所述從鏡頭陰影估算單元618接收到的LSC校正網格(或表)并將網格放大到圖像數據的大小并且以逐點的方式倍增。
然后,縮減定標器和統計(DS)單元608將使用LSC校正的圖像數據來生成3A的統計,其包括用于自動聚焦的LSC校正的AF統計和黑電平校正的原始統計。因此,DS單元608可向鏡頭陰影估算單元618提供用于3A校正以及塊匹配的LSC校正數據和黑電平校正的原始數據以用于候選LSC表和鏡頭陰影估算的應用。在不向3A單元提供黑電平調整數據的系統中,來自縮減定標器的LSC校正數據可在其用于鏡頭陰影估算之前被回復。可通過縮減定標器或用于此目的的單獨模塊來執行回復。DS單元608也提供有用于縮小來自相機模塊606的原始數據流(或原始圖像信息)。DS單元608也分析縮減的圖像數據以形成可由3A單元610使用的統計。最低程度上說,在鏡頭陰影估算操作可開始之前,預處理的圖像數據應該已經被黑電平校正處理。鏡頭陰影估算單元618期望統計僅被黑電平校正。因此,如果DS單元608僅假設一種類型的統計作為被LSC校正的輸出,則該校正將被回復并且用作如上所述的系統618的輸入。其它3A單位可使用LSC校正或AF統計或這兩者。預處理的圖像可為單個圖像或圖像序列,諸如來自視頻序列。預處理的圖像可由LSC估算單元618從存儲器單元實時地或非實時地接收。實施方案不限于此上下文。注意,本文所述的預處理和后處理是相對于LSC陰影估算而言的。
3A單元610具有自動聚焦(AF)單元612,其執行AF計算以確定將相機鏡頭移動到焦點的因素。提供有自動白平衡(AWB)單元614以執行用于白平衡的圖像數據的計算,以及提供以調整用于捕獲圖像的曝光時間的因素的自動曝光(AE)單元616。3A單元610也可具有鏡頭陰影估算系統或單元618。
LSC估算單元618可使用相關色溫(CCT)估算單元620來確定一組LSC表622中的哪一個LSC表將被用于當前圖像的鏡頭陰影顏色校正。具體地,在校正階段之前在圖像捕獲裝置600的設計和組裝期間執行表征階段。在表征階段中,創建LSC表622以覆蓋常用的發光體的大多數CCT值范圍。LSC表622被存儲在諸如持久存儲的存儲器中,以供以后在估算和校正階段期間使用。系統618的作用是決定每個LSC表622何時以及應以哪個比例用于補償數字圖像的陰影。
校正階段可在使用圖像捕獲裝置600期間以及當數據從相機模塊606流傳輸時實時或運行時執行。在校正階段期間,3A單元610經由DS單元608可分析來自流傳輸的圖像數據的內容和補充的元數據。元數據的示例可包括但不限于自動聚焦值、CCT估算、時間值等。相關數據由DS單元608提供給3A單元610。在校正階段期間,CCT估算單元620被用于估算一或多個原始光源類型和候選LSC表的初始選擇。下面解釋選擇候選LSC表的細節。
LSC估算單元618也可包括塊選擇單元626。塊選擇單元626也可被稱為塊匹配單元、分割單元或簇類單元。還應理解,裝置600可具有至少一個LSC單元以執行LSC估算單元618和塊選擇單元626的操作,使得單元618和626兩者可被認為是一個LSC校正單元的一部分或任何其它變體。塊選擇單元626可接收AF統計,并且通過使用AF統計來提供場景中的平坦平滑區域的近似。塊選擇單元626可輸出表示平滑區域的塊簇的定義。這可包括簇的總面積(簇中的像素的總數)以及圖像上的簇中的數據的坐標。該坐標可被用于獲得簇中的數據的色度和飽和度值。簇大小以及色度和飽和度值可如下所述被用于確定誤差值。每個圖像可具有一或多個簇。來自圖像中的所有簇的像素的總量應包含足夠量的圖像數據,以提供顏色樣本之間的偏差的魯棒估算(例如,推薦的最小100像素或其它相關值)。下面提供用于生成簇的細節。
可提供初始(或候選)LSC表單元624以識別由CCT估算單元620初始選擇的表并用于進一步處理。光1、...、光L(單元624)的每組初始LSC表以及圖像的已建立的簇中的塊的圖像數據可被提供給灰世界白平衡(GW-WB)單元627,其可由AWB單元614控制。單元627將白平衡計算應用于圖像中的至少簇的LSC校正統計以調整用于簇中的白平衡的圖像數據。向色度/飽和度/值(HSV)轉換器單元628提供紅/綠/藍(RGB)以將圖像中的簇的RGB值轉換為HSV色彩空間值以用于誤差計算。然后,誤差單元630使用HSV簇圖像數據(諸如簇中的塊的色度和飽和度值)以及簇大小(或簇中的總計數據)來計算誤差。對于每個圖像簇,GW-WB模塊627、RGB至HSV轉換器628和誤差單元630處理輸入統計量的數據簇,并且輸出每個簇(和用于每個發光體)的誤差值。單獨地,概率和置信單元632還從塊選擇單元接收簇數據,并且在一個示例中,計算每個簇的置信度值。然后,誤差單元630使用誤差值和對應的置信度值來為分配給每個發光體的每個初始(或候選)LSC表生成權重(w1到wL)。融合單元634然后通過使用該表的權重,然后將來自所有發光體的所有LSC表求和(或融合)為單個綜合LSC表來調整初始LSC表數據。融合單元634然后可將一個最終LSC表輸出給預處理單元636,以調整預處理的圖像數據以用于鏡頭陰影顏色校正。
預處理的LSC校正圖像然后可經由DS單元提供給后LSC處理637,后處理637可執行諸如降噪、像素線性化、分辨率降低、拜耳去馬賽克和/或暈影消除的任務以及其它任務,以及編碼器638,其可壓縮數據以用于在比特流中傳輸或用于存儲在圖像可讀介質上。
在一個選項中,編碼器638可具有幀間預測單元640,幀間預測單元640生成運動矢量(MV)以確定在形成圖像的幀的視頻序列中逐幀的塊的運動。在此情況下,運動矢量或者后續幀中的塊的新位置可被提供給塊選擇單元626,從而減少統計的計算負荷。另外,不需要針對每個幀執行簇的整個幀的完全搜索(術語幀與本文的術語統計可互換使用)。因此,塊匹配或選擇單元626可僅針對每第n幀(對于一些非限制性示例,每第10幀或第20幀)使用,或者可僅在某些類型的幀上提供,諸如僅在P幀(例如,預測幀-往往來自一個先前幀),但是在一個示例中,不是在B幀(從視頻序列的前向和后向預測)或任何其它類型的幀上。在一種方法中,如下面所解釋的,運動矢量可被用于減少用于搜索圖像中的至少一些塊的計算負荷。在此情況下,塊搜索可被限于沿著由編碼器用于幀間預測的視頻序列的那些圖像。換句話說,圖像被編碼器用來確定從圖像到圖像的塊的運動。可設想許多其它示例,只要減少幀上的簇的搜索成本即可。因此,可僅搜索圖像上的一定數量的簇(諸如一到三個),并且對圖像中的剩余簇使用MV等等。例如,可僅存在MV對已知簇的更新,或者僅存在表示幀最佳的MV(例如包含最大數據量的MV)對總共6個簇中1-3個簇的更新,而完全無需攜帶搜索程序。換句話說,系統應用MV,并且不在接下來的5、10、20或者其它幀間隔中搜索新的簇。
現在參考圖7,在一種方法中,示例過程700為具有可用于校正圖像數據的塊匹配的鏡頭陰影顏色校正的計算機實現的方法。在所示實施方案中,過程700可包括由偶數編號的操作702至712中的一個或多個所示的一個或多個操作、功能或動作。借助于非限制性示例,本文可分別參考圖6和圖13的示例圖像捕獲裝置600和1300及其相關來描述過程700。
過程700可包括“獲得空間上對應于具有塊的幀的像素數據的至少一個統計網格”702。該過程700也可包括“選擇要被包含在至少一個塊簇中的至少一些塊”704。為了分配簇的塊,過程700可包括“以至少在候選塊和參考塊之間的亮度或顏色比的差滿足標準的方式選擇候選塊”706。如下所述,塊在圖像上的位置以及塊是否與簇中的其它塊接觸無關緊要。此外,在一個示例中,標準可為一個或多個閾值,諸如塊值之間的歐幾里德距離以及下面描述的其它標準。過程700也可包括“查找與簇中的塊的顏色相關聯的誤差”708。該誤差(也在下面解釋)可與簇中的塊內的色度和飽和度值以及簇的面積相關聯。過程700也可包括“使用誤差來確定一或多個LSC表的權重”710以及“基于權重形成綜合LSC表并使其被應用于在幀校正顏色”712。
現在參考圖8,根據本公開的至少一些實施方案布置利用本文所述的塊匹配的更詳細的鏡頭陰影顏色校正過程800。在所示實施方案中,過程800可包括由偶數編號的操作802至826中的一個或多個所示的一個或多個操作、功能或動作。借助于非限制性示例,本文將分別參考圖6和圖13的示例圖像捕獲裝置600和1300及其相關來描述過程800。
過程800可包括“獲得圖像數據”802,并且如上所述可包括獲得從相機模塊或其它圖像捕獲模塊流傳輸的原始圖像數據。相機模塊(諸如相機模塊606)可為包括本發明所公開的鏡頭陰影顏色校正系統的單個圖像捕獲裝置的一部分,或者其可遠離本發明所公開的系統。
過程800可包括“啟動預處理”804。這可包括黑電平和鏡頭陰影校正。在一些示例中,分辨率降低、AWB操作、RGB到HSV空間轉換和鏡頭陰影顏色校正本身也可以或可以不被認為是預處理的一部分。在這些操作被認為是預處理的一部分的情況下,它們的操作可以或可以不由預處理控制執行。如上所述,在一種方法中,在對于該圖像進行后續的鏡頭陰影顏色校正操作之前,對正被分析的圖像僅執行黑電平校正。
過程800然后可包括“縮減尺寸數據”806以將圖像數據的量減少到均勻的可控量,諸如數據網格(對應于像素位置)以形成用于例如智能電話的39×51圖像。此類縮減可通過使用標準采樣技術來執行。
過程800可包括“計算CCT估算”808。如上所述,可獲得預處理的圖像內容,并且可選擇810一組初始或候選LSC校正表以用于校正正被分析的當前圖像。可通過首先分析圖像內容并通過使用子采樣的輸入圖像數據計算來自特征化數據庫的發光體的存在的概率CCT(PCCT)來選擇候選LSC表。換句話說,在一些實施方案中,可為多個LSC表中的每一個計算相應的存在概率,并且要被使用的候選LSC表集合可包括存在概率大于零的多個LSC表中的每個LSC表。在各種此類實施方案中,每個選擇的LSC表可對應于不同的相應發光體,并且每個LSC表的存在的概率可指示該LSC表所對應的發光體的存在的概率。應理解,可考慮用于候選LSC校正表的許多不同的變化或替代。然后,所選擇的LSC校正表集合由初始LSC單元624保存或識別,然后如下所述進行加權以應用于當前預處理的圖像。
與候選校正表的選擇分開地,圖像數據的塊可被包含在表示圖像的平滑區域的一或多個簇中,并且將在接下來的計算中使用以在數據被用于顯示或發送給例如編碼器之前被應用于生成綜合LSC校正表。因此,過程800可包括“匹配塊以形成簇”812的操作。下面描述的過程900為用于塊的匹配和簇的生成的一種可能的示例方法。來自該塊匹配過程900的輸出可為包括簇大小以及每個簇中的像素的位置的數據。然后,如下所述,該簇數據可被用于確定LSC表的權重。
參考圖9來更詳細地解釋塊匹配和簇的生成,提供了示例過程900,其用于選擇要被包含在簇中的塊,以使用簇而不是整個圖像來執行鏡頭陰影顏色校正。這通過如本文所述的用于放置在簇中的匹配塊來實現,以提供相對高質量的圖像。過程900根據本公開的至少一些實施方案來布置。在所示實施方案中,過程900可包括由偶數編號的操作902至954中的一個或多個所示的一個或多個操作、功能或動作。借助于非限制性示例,本文將分別參考圖6和圖13的示例圖像捕獲裝置600和1300及其相關來描述過程900。
過程900可包括“獲得圖像數據”902,其中,將至少部分預處理的圖像數據提供給例如塊選擇單元626。對于此操作,讓:
X={x=(x1,x2):x1=1,…1,N,x2=1,…,M} (1)
為定義統計網格(和校正網格)的坐標集合,并且其中,統計網格上的每個點對應于正在分析的視頻序列的縮小尺寸圖像或幀的像素。這里,x1為尺寸(N,M)的圖像或網格上的水平坐標,而X2為垂直坐標。統計可為拜耳數據,并且包括與統計網格上的每個點相關聯的至少四級縮放拜耳顏色通道或元素(yR,yG1,yG2,yB),并繼而包括幀上的單個圖像像素。在一個示例中,拜耳顏色元素被用于形成用于塊匹配分析的亮度通道y(x),而在其它示例中,通過使用拜耳顏色元素所形成的顏色比可被用于塊匹配,如下所述。如果所使用的圖像捕獲裝置上的傳感器包括除了拜耳布局或濾色器之外的其它布局,則可相應地調整校正網格,并且仍然可應用下面的過程。
當將亮度值y(x)將被用于代替顏色比或者除了顏色比之外以確定塊匹配時,過程900也可包括當AF統計量可被用于確定相似性條件是否滿足用于在簇中包含塊,并且可包括如下所解釋的導數值。
參考圖10,示例性圖像(或圖像數據的統計網格,諸如亮度或顏色值)具有像素組A和單獨的像素組B,其可一起放置(聯合操作)在單個簇或ROI或Xs中。如上所述,每個統計網格可被劃分為3×3(或4×4)像素或點或其它大小的塊,其可以或可以不與分析視頻序列的編碼器所使用的塊大小一致。為了簡單起見,統計網格上的點的向前位置和對應的像素點(或圖像像素)可在本文中被稱為可互換性。在圖像中找到并且將被視為單個簇的具有相似特性的像素的每個平滑區域或數據簇(或僅簇)被稱為感興趣區域(ROI)Xs。圖像(幀k)1000上的區域A和B中的塊的并集總體上是單個簇或ROI Xs。然而,圖像可具有不止一個ROI Xs。因此,s=1到S,其中,S為圖像內的簇數量或ROI數量的計數。換句話說,S可遠小于統計網格中的點的總數(S<<MN)。每個ROI可被稱為ROI Xs,而圖像中的ROI或簇的總數為S。
參考圖9,過程900然后包括檢查906先前圖像是否已經被分析并且具有限定數量的簇。執行檢查操作906以確定運動是否可被用于減少塊匹配的計算負荷。具體地,由于在本文中描述的放置在簇中的塊的塊匹配和塊的選擇在計算上是廣泛的,特別是當對視頻序列中的每個幀執行塊匹配時,可以使用視頻編碼引擎或視頻穩定引擎(編碼器)來提供運動矢量(MV或Δx)以至少改善新幀k+1的感興趣區域(ROI)的位置的初始近似,如下所述。
因此,該操作或檢查測試先前圖像是否已經具有將與正被分析的當前圖像相關的建立總數S。在一些形式中,先前圖像可為圖像k,而正被分析的當前圖像為圖像k+1。具有S個ROI的先前圖像可為相對于當前圖像的相鄰先前圖像,或者可沿著視頻序列間隔一定數量的圖像(或者如上所述由某些類型的圖像劃分)。當運動數據將被用于減少塊匹配的計算負荷時,用于鏡頭陰影顏色校正的圖像之間的間隔可不受限制,除了先前圖像應當具有與正被分析的當前圖像仍然相關的內容以外,如下所述。因此,在大多數情況下,先前圖像應當為與當前圖像的場景相同的場景的一部分并且在正被分析的視頻序列內。
如果沒有先前的相關圖像,諸如對于視頻序列或場景中的第一圖像,則將S設置為1(908),并且在操作924處該過程繼續而不使用運動數據,但是運動數據可被植入以分析后續的圖像。此外,可選地,例如,當整個視頻序列或場景的運動數據的使用被完全省略時,過程900可在操作924處繼續,從而省略基于運動的操作。
當存在具有建立的S個ROI的先前圖像并且運動數據將被使用時,處過程900可包括“設置與先前圖像的S相同的當前S”910。另一種說法是設置當前圖像Sk+1=先前圖像Sk。
過程900然后可包括“獲得下一圖像(k+1)的運動數據”912。具體地,圖像可被劃分為塊,諸如3×3或4×4像素塊或其它大小。處理具有當前圖像的視頻序列的編碼器可通過生成指示塊從一個圖像到另一圖像的運動的運動矢量來執行幀間預測。參考圖11,在本示例中,運動矢量必須提供從已建立S個先前圖像到當前圖像的塊的運動,以便形成初始S個正被分析的當前圖像。此外,通過一種形式,運動矢量(指示位置變化(Δx)的值)可被提供給塊選擇單元626以計算當前圖像中的塊的當前(或新的)坐標,或者否則在新圖像中的當前塊坐標可通過例如由編碼器應用運動矢量來計算,然后將新坐標提供給塊選擇單元626而不是矢量。如圖像1100上所示,運動矢量Δx(A)和Δx(B)示出塊組A和B從幀k到幀k+1的運動。
過程900然后可包括“根據運動從先前幀更新ROI Xs的位置”914,并且具體地,根據塊的運動矢量或通過應用運動矢量獲得的塊的新的運動坐標。例如,可存在用于當前圖像的存儲器或緩沖器,該當前圖像具有列出在當前圖像中找到的當前ROI并提供被分配給每個ROI Xs的塊位置的列表或索引,從而也指示哪些圖像數據(亮度和顏色值)適用于那些位置并且被認為是該ROI的一部分。因此,應用運動矢量以找到ROI Xs的新位置可被理解為:
其中,圖像或幀k為先前圖像,k+1為當前圖像,用于第k次迭代的Xs由表示,并且x為統計網格或圖像上的水平和垂直坐標(x1,x2),以及表示在運動矢量ΔX(k+1)的圖上的塊(諸如塊的左上角)的位置,并且在一個示例中,假設為與輸入統計量的大小相同的大小,其中:
ΔX(k+1)={Δx=(Δ(x1),Δ(x2)):x1=1,...,N,x2=1,...M} (3)
其中,N、M為統計網格(或圖像)的大小(和最終坐標)。一旦從先前圖像攜帶的簇或ROI Xs位于新圖像上,那些ROI就被保持在當前圖像的ROI的索引或列表上。
過程900然后可包括“移除不滿足標準的ROI Xs”916。這包括去除從先前圖像中完全消除ROI,并且不攜帶到新圖像。另外,在一個示例中,可僅當ROI滿足最小準則時設置運動數據從先前圖像攜帶的ROI。這可包括ROI的最小大小,諸如最小塊數或最小像素數(注意,這可與圖像中的塊或像素的位置無關,只要滿足下面的其它亮度或顏色值標準)。因此,在一個示例中,針對當前圖像,如果滿足以下標準,則丟棄ROI:
使得不包括參考塊B(xref)的簇或ROI Xs中的元素(#)的總數(例如,網格點或像素的數量)小于參考塊B(xref)本身中的元素(#)的數量,則ROI Xs具有不足以對圖像的平滑區域提供顯著貢獻以確定表權重的數據。在這些情況下,過程900然后可包括“針對每個去除Xs減少S”918,使得可以減少ROI S的總量,然后從當前幀的ROI的索引或列表中丟棄不足或丟失的Xs。
過程900可包括“精細化來自運動Xs1的參考數據的塊匹配”920。具體地,如所提到的,通過使用運動矢量(和/或為圖像定義的所有Xs)找到的xref和Xs可被認為是初步或初始位置。因此,在一個示例中,對于利用運動數據建立的當前圖像的Xs,仍然執行諸如下面所述的塊匹配計算,以更確定地確定簇或ROI是有效的。因此,將基于運動的B(xref)與圖像中的每個塊B(x)進行比較以確定其是否滿足下面所述的匹配標準。在一個示例中,丟棄不滿足塊匹配標準的那些塊,并且添加滿足匹配標準的那些塊。一旦測試了圖像中的所有可用候選塊,如果ROI未通過上述大小標準,則ROI仍然可被消除。如果ROI仍然足夠大,則除了由精細化過程重新定義之外,其可保留在當前圖像的ROI列表上。通過其它示例,可利用所建立的基于運動的B(xref)來測試基于運動的ROI中的那些塊,以定義要從ROI中取出的塊和保留在ROI中的塊。許多其它示例是可能的。在一個備選選項中,省略了精細化塊匹配,并且假設所建立的攜帶ROI對于沒有細化的表權重計算有效。然后保存使用運動數據所建立的ROI Xs的識別,并且具體地,過程900可包括“將運動Xs添加到當前ROI Xs列表”922。
然后,過程900可繼續操作924以為尚未分配給基于運動的ROI Xs的當前圖像的區域建立新的ROI。具體地,對于本示例,參考點Xref定義參考塊B(xref)的左上角,并且網格或圖像點x定義待被測試的與參考塊匹配的候選塊B(x)的左上角。
在一種方法中,參考塊和候選塊都在圖像的區域中,而不是已經在簇或ROI中。用于陳述用于在尚未在由運動數據建立的Xs內的區域中建立新的ROI(也稱為簇)的參考塊的一種方式陳述為:
或者換句話說,參考數據的塊匹配來自集合X-U Xs(不是已經建立的所有ROI Xs的并集)。對于精細化(操作920),塊匹配來自對來自每個集合的塊B(x)的搜索,s=1,...,S,僅在中執行塊匹配,即,其中:
和B(xref)∈Xs (6)
因此,過程900可包括“設置x1=1和x2=1”924以測試網格或圖像上的第一位置,以確定參考點Xref或(x1,ref,x2,ref)是否可以位于(1,1)。然后執行檢查以確定點(x1,x2)是否已經位于任何ROI 926內。如果不是,則將參考塊(或具體地其左上角)B(xref)或(x1,ref,x2,ref)設置為(x1,x2),并且進行塊匹配過程。
如果(x1,x2)已經在ROI中,則過程900執行例程以檢查網格或圖像上的另一點為參考點(x1,ref,x2,ref)(或參考塊B(xref)的錨點)。在一個示例中,從圖像或網格的左上方開始以光柵方式搜索和設置參考點,并且沿著該行向下行進并且從下一較低行的左側開始,并且重復直到整個圖像被搜索。例如,(對于參考塊B(xref))塊大小可為像素或網格點中的(K1,K2),并且如上所述,圖像大小可為(N,M)。該例程可包括測試是否x1>N-K1,或者換句話說,是否已經達到沿著行的最后塊位置。如果不是,則將x1設置為x1+1(930),并且在包含在ROI(928)中之前重新測試(x1,x2)。如果已經到達行的末尾,則將x2設置為下一較低行的開始(x2=x2+1和x1=1)(932)。然后測試x2的這個新位置(x2>M-K2)(934)以確定是否已經達到塊位置的最后(或最下面)行。如果不是,則在包含在ROI中之前重新測試新點(x1,x2)。如果已經到達,則已經找到了所有可能的參考塊B(xref),塊匹配過程結束,并且過程900繼續鏡頭陰影顏色校正過程800(操作814)。應理解,可使用設置B(xref)的許多變型,并且在一個示例方法中,將被包含在參考塊B(xref)中的(x1,x2)周圍的點或像素也必須在將在該位置處設置的參考塊的任何ROI之外。
一旦已經找到不在ROI內的點(x1,x2),則將B(xref)設置為(x1,x2),或者具體地,將左上角設置為(x1,x2)(936)。然后可執行類似的操作以找到不在任何ROI Xs(938)中并且將被包含在B(xref)的簇中的下一個B(x)。類似于搜索參考塊的位置,可沿著行從左到右,然后在網格或圖像中逐行向下以光柵方式執行對候選塊的搜索。一旦找到每個候選塊B(x),或者當在整個圖像中找到所有可能的B(x)候選時,可將候選塊與參考塊進行比較(940)以確定是否存在匹配。
該問題可被陳述為找到所有此類數據簇Xs,其中,X包含足夠量的數據以進行分析,并進行關于哪些預定義陰影校正表T1提供Xs中的最小顏色失真的魯棒判定,其中,l=1,...,L,l為在圖像中檢測到的發光體(光源)的計數。為了簡單起見,陰影校正表Tl(x)={TlGr(x),TlB(x),TlB(x),TlGb(x)}可為四個校正網格的組合,其中x∈X,每個拜耳顏色通道使用一個校正網格。
在一個選項中,比較可基于形成上述統計網格的亮度值。要執行匹配計算,讓:
B(xref)={x=(x1,x2):x1=x1,ref,...,x1,ref+K1,x2=x2,ref,...,x2,ref+K2} (7)
其中,xref=(x1,ref,x2,ref)為參考點,以及K1+1(K1≥0)和K2+1(K2≥0)為坐標塊的維度B(·),以及B(xref)為參考塊坐標。通常,如果兩個塊Y(B(xref))和Y(B(x))之間的距離d(Y(B(xref)),Y(B(x)))不超過閾值τ,則稱這兩個塊為相似的:
d(Y(B(xref)),Y(B(x)))≤τ, (8)
其中Y(B(x))是指集合,即Y(B(x))={y(x):x∈B(x)},而y(x)為亮度的標量值。距離d可以計算為:
lp量度
同時使用l2(即p=2)。因此,對于每個點xref,Xs可以被定義為至少兩個矩形數據塊的并集,其不必是連接的(例如,在網格或圖像上相鄰):
Xs=B(xref)∪∪xB(x), (10)
因此,通過該替代,通過使用y(x)亮度值來確定塊之間的相似性。在一個示例形式中,當滿足所有以下條件時,建立塊之間的相似性,并且繼而將該塊包含在簇中,并且將依次論述:
其中x≠xref
關于方程式(11),如上所述,第一標準在于至少該參考點,并且在一種方法中,錨定在該點處的整個參考塊不能已經位于先前建立的簇或ROI Xs中。
關于方程式(12),這是上述方程式(9)的在參考點B(xref)處的塊和被分析以包含在當前簇中的候選塊B(x)之間的歐幾里德距離。如果距離小于閾值,則仍然可包含候選,并且檢查下一個方程式。閾值在系統仿真和測試期間設置以實現最佳性能。它應該分別大于0并且小于分別相對于塊B(x)大小歸一化的y(x)或y'(x)的最大值。對于τ,假設像素之間的差等于10,并且包含那些像素的兩個數據塊是“相似的”。則值10的每個像素的K個元素的平方和為sqrt(sum(全部K值為10^2))=sqrt(K*10^2)=10*sqrt(K)。根據經驗調整閾值,直到實現最佳系統性能。
關于方程式(13)和(14),對y(x)施加的一個假設在于它是局部平滑的,意味著該函數在每個點x∈Xs是可微分的。通過使用術語可微分的,假設存在點x中的函數的導數并且是有界的。至少,必須有一階導數,其中,符號Y′(B(·))表示在B(·)中的每個點的導數y′(·),||·||為lp范數,τ1為限制一階導數的閾值,X0≡φ為空集合,并且分別為Ys=Y(Xs)。應理解,公共導數函數可在水平方向上計算為:
y’(x1,x2)=y(x1+1,x2)-y(x1,x2) (15)
并且類似地可在垂直方向上計算,并且該函數適用于方程式(13)和(14)(參考塊和候選塊兩者)。可供使用的其它類型的導數計算包括Sobel、Prewitt、Laplacian或其它算子。閾值τ1通過使用與上面對方程式12解釋的過程相同或相似的過程來生成。這里,假設當邊緣小于5或20等等時系統是魯棒的,并且閾值被設置為5*sqrt(K)。然后通過測試改進閾值。
使用導數可能非常有效,因為AF統計已經提供了y′(·)的良好近似。因此,可不需要獨立地計算導數,并且導數可從AF統計量獲得。另外,用于導數計算的l2范數為:
類似于l2距離d(·,·),同時,值得注意的是,任何范數可同等有效。
通過另一選項,塊匹配并且繼而統計網格可基于顏色值,特別是顏色比。具體地,在使用顏色比而不是亮度值的情況下,塊相似度的條件如下面的方程式(17)~(19):
其中,方程式(17)類似于上述方程式(11),并且x≠xref。方程式(18)和(19)為使用來自統計網格或圖像數據的顏色值比的歐幾里得距離,諸如:
和 (20)
其中,比率YRG表示輸入統計量的紅色yR比綠色yG,以及比率YBG為藍色yB比綠色yG。如上面對于亮度距離方程式(12)所解釋的,生成方程式(18)和(19)的閾值。
為了從方程式(11)到(14)和到(19)的自相似性標準的最佳性能,可從預處理的統計數據計算亮度值y和顏色比其中,預處理的統計數據在一個示例中可為ISP統計,其中,陰影通過例如存儲在對應于視頻流中的先前幀的存儲器中的校正網格(或統計網格,也稱為LSC校正表)來校正。換句話說,當該系統對具有多個幀的視頻序列進行操作時,將存在來自先前幀的校正網格以及用于當前幀的多個候選校正網格。因此,存在使用先前幀校正網格的選項,因為照明條件通常不應快速地從單幀改變到單幀。應注意,雖然通過LSC校正的預處理圖像數據可被用于計算塊相似性,但是LSC校正表(或校正網格)應該僅適用于通過黑電平校正的原始圖像數據,以便對圖像數據執行陰影校正。
相對于量度(歐幾里德距離)d(·,·),將每個塊Y(B(xref))(例如,大小為3×3的B(·))與其它數據塊Y(B(x))進行比較,以及針對其它標準進行測試。如果歐幾里德量度的結果在指定閾值內,并且滿足由一個示例提及的所有標準,則認為兩個塊彼此相似,并且形成匹配(942)。在此情況下,至少每個塊(它們被定義的x坐標的集合)的支持或錨點被組綜合單個ROI Xs,或者換句話說,匹配塊B(x)被添加到當前簇(或ROI Xs)(944)。找到下一塊(B(x)=B(x)+1)(946),并且測試它是否通過圖像上的最后塊位置(是否B(x)>B(N–K1,M-K2)(948)。如果不是,則過程900然后返回到操作938以測試以查看新塊位置B(x)是否已經在ROI內,并且如果是,則找到不在ROI中的下一塊B(x)。無論哪種方式,然后如上所述執行B(Xref)和新B(x)之間的比較循環。另選地,如果已經通過了最后塊位置,則已經將所有可用候選塊位置與參考塊B(Xref)進行比較,并且過程900繼續操作950以確定是否滿足ROI Xs的其它最小標準,諸如上述的大小標準。如果不是,則丟棄剛組合的當前的新簇或ROI Xs,并且該過程繼續操作928,以選擇新的參考點Xref以再次開始匹配循環。如果已經滿足大小標準,則將總計S加1(S=S+1)(952),并且將新的ROI Xs添加到當前圖像的ROI列表(954)。然后,該過程返回到操作926或928,以選擇新的Xref位置并再次預先形成匹配循環。可對每個位置執行該塊匹配過程:
xref∈{x=(x1,x2):x1=1,...,N-K1,x2=1,...,M-K2} (22)
應理解,在塊匹配過程中可存在許多變型,并且在一種方法中,只要塊通過標準匹配以形成不對圖像內的塊的位置以及相對于圖像中的其它塊限制的簇。另外,匹配可能需要一些標準,而不是所有列出的標準,用于亮度或顏色比選項。此外,可交替地提供兩個選項并且基于關于哪個選項將提供更好的結果的確定來選擇,或者執行兩個選項然后使用最佳結果。此外,可使用其它顏色空間,使得可以在YUV變換之后使用u和v分量,或者可以在Lab變換之后使用a和b分量。
包括過程900的塊匹配操作812的輸出包括:
數據簇Ys={yR(x),yG1(x),yG2(x),yB(x)):x∈xs,s=1,...,S} (23)
或者換句話說,簇(或ROI Xs)的識別、每個簇中的塊的位置以及簇內的塊處的亮度和/或拜耳顏色值。應理解,利用塊的識別,可在存儲器上的其它位置查找與該塊相關的值,或者可將值收集到校正網格上,以在LSC校正過程期間快速檢索。
應理解,與由過程900所提供的塊選擇和簇生成相比可能存在變化,其中,此過程可能不具有過程900的所有操作和/或操作的順序可能不同。
返回到過程800,過程800可包括“根據需要回復圖像數據”813,并且具體地,當DS單元或向3A單元提供圖像數據的其它單元只能提供LSC校正的圖像數據時,那么圖像數據可回復到非LSC校正的圖像數據,諸如恢復到僅黑電平校正的原始圖像數據。例如,如果紅色通道的陰影校為對于所有x∈X,其中,yR(·)為黑色電平校正的輸入數據,以及TR(·)為校正函數,則,對于所有x∈X,紅色通道的回復校正為如上所述,可由DS單元或其它模塊執行回復。過程800然后可包括“將所選的候選表(光1、...、光L)應用于圖像數據”814,并且在一個示例中,通過初始LSC單元624。如上所述,對于圖像被檢測為可能存在的每個發光體(或光源)可具有其自己的LSC表。此外,候選表被應用于非LSC校正(或黑電平校正)的圖像數據。
過程800然后可包括“執行AWB調整”816,并且具體地,至少被應用所定義的簇內的圖像數據并且通過初始LSC校正表。在一種方法中,應用灰度世界(GW-AWB)算法,并且過程800然后可包括“將RGB數據轉換為HSV顏色空間”818,其生成簇中的塊的每個點的色度和飽和度值。此類GW-AWB校正可由AWB模塊627執行并且由AWB單元614控制。
過程800可包括“計算每個發光體的簇的誤差”820。具體地,可為該組LSC表中的每一個LSC表確定相應的一組誤差值。例如,LSC校正單元612可操作確定用于為初始LSC表單元624選擇的一組LSC表622中的每一個LSC表的相應一組誤差值。在一些實施方案中,每組誤差值可描述與將其相應的LSC表應用于黑電平校正的傳感器圖像相關聯的誤差。如上所述,在各種實施方案中,預處理的圖像可被分割成多個塊簇S,并且每個LSC表的誤差值集合可包括一組簇誤差值,每個塊誤差值包括用于多個簇中的一個簇的誤差值。
誤差單元630可針對每個簇s以逐簇方式計算每個發光體l的一個或多個誤差el,s以作為塊匹配(或分割)的結果。在相對于坐標原點(0色度和0飽和度)應用GW-AWB算法(例如,經由GW-AWB單元627)之后,誤差單元630使用方程式(24)計算HSV顏色空間中的誤差el,s(例如,經由RGB到HSV單元628)如下:
其中,在這里,h為色度,s為飽和度,As是通過簇內或者換句話說#Xs中的像素數量測量的簇大小(如在簇的區域中)。l是發光體指數。值坐標被忽略。
在各種實施方案中,誤差el,s的可靠性可在圖像的各個簇s上變化。例如,在一些實施方案中,一些簇可能比其它簇更容易受噪聲影響。此不均勻性可能影響并傾向于在某些條件下特別普遍,諸如例如在低光條件下。實施方案不限于此上下文。
過程800也可包括“計算置信度值”822,并且在一個示例中,由概率和置信單元632執行。可為每個簇s和每個發光體1生成置信度值cl,s(參見下面的方程式32和33)。具體地,基于以下概率方程式,給予具有集中在0附近的分布的發光體較大的權重,從而給出相對于原點的較小的誤差:
其中,emin=minl{el,s}、emax=el,s*tolerance、s為簇索引,以及,“tolerance”為表示如果計算資源允許的話能夠容許多少誤差(例如,5%的公差等于1.05)或者類似的函數不一定是分段線性的相對常數。
被分析用于鏡頭陰影顏色校正的任何特定圖像可描述如下:
z(x)=k(x)y(x)+σ(k(x)y(x)+b)n+b (26)
其中,x=(xi,xj)為圖像平面上的空間坐標,y(x)為空間坐標x處的真實預期未知圖像值,k為衰減系數的二維網格,n~N(0,1)為零均值和單位標準偏差的隨機白高斯噪聲,b為黑電平常數,以及σ為噪聲的標準偏差的函數,使得std{z(x)}=σ(y(x))。
為了獲得子區域中的真實圖像值的最佳估算,尋求這種形式的解:
其中,F{·}為指示灰色世界白平衡和顏色空間變換的算子。
為了考慮針對各種空間位置所計算的值的變化的可靠性,可定義可靠性參數C(x)。在各種實施方案中,可基于Std(x)的值來確定C(x)的值,其可根據以下來計算:
其中,H{·}表示色度值,S{·}表示飽和度值,以及std表示標準偏差算子。在一些情況下,可為高度非線性的,并因此Std(x)的正式計算可能是計算密集的。在一些實施方案中,為了節省計算資源,可使用Std(x)的期望值的固定近似來定義C(x)。例如,在將圖像劃分為四行和六列子簇的各種實施方案中,可使用C的一組可靠性參數C(x),其采用矩陣形式:
其中,每個Xs中的顏色偏差估算el,s的置信度cl,s為重要參數,其取決于每個點x∈Xs(參見圖10)中的空間位置置信系數置信系數表示用于位于ith行和ith列中的子簇的系數的倒數。在各種實施方案中,方程式(30)中的系數cl,s可使用來加權。在一些實施方案中,在此類一組可靠性參數中所使用的近似可為基于經驗的。例如,在各種實施方案中,此類近似可基于對實際圖像傳感器數據執行的模擬結果和/或測試。實施方案不限于此上下文。在一些實施方案中,可對一些點x使用內插法,以便避免當圖像成幀僅輕微改變時加權的突然變化。應理解,在各種實施方案中,C可與方程式(29)中的示例不同,這取決于可應用的衰減因子和/或噪聲模型。在一些實施方案中,經歷分割的簇大小和形狀可變化,但類似于方程式(29)中所示的可靠性參數C(x)可針對大范圍的傳感器和/或模塊被固定并存儲。實施方案不限于此背景。
因此,矩陣C(x)為如方程式26中針對每個候選校正網格Tl(x)在Xs內的相對于原點被計算為樣本二次誤差el,s的色度和飽和度分布的偏差。Xs中的數據點的數量越大,得到的置信度cl,s越高:
其中,c(x)在方程式(31)中在點x∈X處從值內插,以及pl,s為下面的方程式(33)至(35)中的Tl(x)并且在Xs內的函數。
過程800然后可包括“生成LSC表的權重”824,并且具體地,基于權重和置信值來確定各個所選的候選校正表的權重(w1至wL,如圖6所示)。權重計算可由誤差單元630或也將生成最終綜合LSC表的融合單元634處理,或者權重計算可由單獨的權重生成單元來計算。可基于該LSC表的相應的一組誤差值來為該組LSC表中的每個LSC表確定相應的權重。例如,可為在LSC單元624處示出的一組LSC表中的每個LSC表并且基于那些LSC表中的每個LSC表的相應的誤差值集合來確定相應的權重。在一些實施方案中,可基于該LSC表的相應簇誤差值集合為集合中的每個LSC表計算相應的一組簇權重,并且每個簇權重可對應于多個簇中的一個簇。在各種實施方案中,然后可將該集合中的每個LSC表的相應權重確定為該LSC表的簇權重的加權和。在一些此類實施方案中,可為多個簇中的每個簇標識一組可靠性參數,并且每個LSC表的簇權重集合的加權和可根據針對它們的相應的簇的可靠性參數對簇權重進行加權來計算。在各種實施方案中,可靠性參數可指示其相應簇的誤差值的可靠性水平。實施方案不限于此上下文。
因此,可考慮所有簇或ROI Xs的置信度cl,s參數和顏色失真估算el,s來生成單獨的表權重w1,并且可計算如下(對于每個候選校正表T1):
一旦為每個LSC表生成每個表wl的權重,過程800可包括“生成綜合LSC校正表”826。可基于用于LSC表集合的各自權重,并且在一個示例中,由融合單元634為預處理圖像生成綜合LSC表。在一些實施方案中,可基于相應的權重將綜合LSC表生成為LSC表集合的加權和。
最終校正表T(x)為候選校正表Tl(x)的加權和:
綜合LSC表或表的標識可被提供給預處理單元636以被應用于預處理的圖像以生成處理圖像。這可以或可以不經由編碼器638,以便將圖像提供給顯示裝置或壓縮圖像以進一步傳輸或存儲圖像。實施方案不限于這些示例。
參考圖12,過程1200示出了根據本公開的至少一些實施方案的執行鏡頭陰影顏色校正的樣本圖像處理系統1300的操作。更詳細地,在所示形式中,過程1200可包括通過偶數編號的動作1202至1216中的一或多個所示的一或多個操作、功能或動作。借助于非限制性示例,本文將參考圖13描述過程1200。具體地,系統1300包括邏輯單元1304,其具有帶有鏡頭陰影顏色(LSC)估算部件或單元1312的3A單元1310以及塊選擇單元1314。系統的操作可進行如下。
過程1200可包括“接收圖像數據”1202,并且如上所述,它可為至少部分預處理的圖像數據,并且其可為亮度或顏色值(或顏色值比)的統計網格的形式。塊選擇單元可接收已進行LSC校正以便執行下述塊匹配的圖像數據,但是鏡頭陰影顏色估算單元應接收用于應用候選LSC表的非LSC校正的圖像數據。通過一種形式,后一圖像數據是迄今僅接收黑電平校正的原始數據。
過程1200可包括“接收AF統計量導數數據”1204,并且具體地,當亮度值將被用于確定塊是否匹配以包含在簇中的塊時的點函數導數。具體地,候選塊必須與參考塊匹配以被包含。
當運動數據(諸如運動矢量)將被用于通過使用來自先前圖像的參考塊的位置來至少初始地定位當前圖像上的參考點或塊時,過程1200可包括“接收運動數據”1206,以便減少塊匹配的計算負荷。
過程1200可包括“基于運動數據生成當前圖像的ROI”。因此,如本文所解釋的,運動數據可被用于基于先前圖像來從先前圖像移動定位參考點并且繼而定位參考塊,以建立感興趣區域(ROI)或簇。通過一種形式,假設運動建立的ROI有效,并且通過另一種形式,將運動建立的ROI視為初步的,其中,塊匹配比較仍被執行以確認基于運動的ROI的塊成員資格。
過程1200可包括“基于在沒有ROI的圖像區域上搜索參考塊和匹配塊而不管圖像上的塊相對于彼此的位置生成新的ROI”1210。具體地,如上所述,在一個示例中,系統可在圖像的還沒有被ROI覆蓋的區域中搜索新的ROI,不管其是否為基于運動的ROI。此外,簇中的包含可基于諸如亮度和顏色值之類的屬性,而不是圖像的塊所處的位置或者它們相對于其它塊的位置的那個部分的任何限制。這指的是用于比較的標準沒有具體提到圖像上的塊位置或位置或相對于其它塊(除了不在ROI內)的事實。
一旦為圖像建立ROI,就可在存儲器中的當前圖像的ROI列表上提供ROI的標識和ROI內的塊成員資格。然后,該列表或索引可供鏡頭陰影顏色估算單元使用。最終,過程1200然后可“使用ROI計算誤差”,并且基于被應用于可通過黑電平校正預處理的原始圖像數據的候選LSC表,然后如上所述通過至少基本的WB校正和至HSV顏色空間的轉換。在一個示例中,誤差基于色度和飽和度值以及簇或ROI的面積,如上面利用方程式(24)所解釋的。過程1200然后可包括“使用誤差為每個候選LSC表生成權重”1214,并且具體地,將來自圖像上的各個簇或ROI的權重相加以使為每個發光體提供的每個候選LSC表具有單個權重。過程1200可包括“使用權重生成綜合表以用于校正圖像上的顏色”1216,并且具體地,如上所詳述確定當前圖像的單個LSC校正表。然后,可在將圖像數據提供給編碼器、存儲數據、傳輸數據和/或顯示圖像之前,將校正表應用于預處理的圖像數據。
另外,圖1-12的操作中的任何一或多個可響應于由一或多個計算機程序產品所提供的指令來進行。此類程序產品可包括提供指令的信號承載介質,當由例如處理器執行時,該指令可提供本文所述的功能。計算機程序產品可以以任何形式的一或多種機器可讀介質提供。因此,例如,包括一或多個處理器核的處理器可響應于由一或多個計算機或機器可讀介質傳送給處理器的程序代碼和/或指令或指令集來進行本文中的示例過程的一或多個操作。通常,機器可讀介質可以以程序代碼和/或指令或指令集的形式來傳送軟件,該軟件可使裝置和/或系統中的任一者如本文所述執行。機器或計算機可讀介質可為非暫時性制品或介質,諸如非暫時性計算機可讀介質,并且可與上面提到的任何示例或其它示例一起使用,除了其本身不包括暫時信號。它包括除了可以以“暫時”方式臨時保存數據的信號本身的那些元件,例如RAM等。
如本文所述的任何實施方案中所使用的,術語“模塊”是指被配置為提供本文所述的功能的軟件邏輯、固件邏輯和/或硬件邏輯的任何組合。軟件可被實施為軟件包、代碼和/或指令集或指令,如在本文中所述的任何實施方案中所使用的,“硬件”可包括例如單個硬連線電路、可編程電路、狀態機電路或其任何組合和/或存儲由可編程電路執行的指令的固件。模塊可共同地或單獨地被實施為形成較大系統,例如集成電路(IC)、片上系統(SoC)等的一部分的電路。例如,模塊可經由本文所述的編碼系統的軟件、固件或硬件在用于實施方案的邏輯電路中實施。
如在本文中所述的任何實施方案中使用的,術語“邏輯單元”是指被配置成提供本文所述的功能的固件邏輯和/或硬件邏輯的任何組合。如在本文中所述的任何實施方案中使用的,“硬件”可包括例如單個硬連線電路、可編程電路、狀態機電路或其任何組合和/或存儲由可編程電路執行的指令的固件。邏輯單元可共同地或單獨地被實施為形成較大系統,例如集成電路(IC)、片上系統(SoC)等的一部分的電路。例如,邏輯單元可在用于實現本文所述的編碼系統的固件或硬件的邏輯電路中實施。本領域的普通技術人員應理解,由硬件和/或固件執行的操作可另選經由軟件來實現,該軟件可被實施為軟件包、代碼和/或指令集或指令,并且還應理解邏輯單元也可利用軟件的一部分來實現其功能。
如在本文中所述的任何實施方案中所使用的,術語“組件”可指代“模塊”或“邏輯單元”,如同這些術語在下面描述。因此,術語“組件”可指代被配置成提供本文描述的功能的軟件邏輯、固件邏輯和/或硬件邏輯的任何組合。例如,本領域的普通技術人員應理解,由硬件和/或固件執行的操作可另選經由軟件模塊來實現,該軟件模塊可被實施為軟件包、代碼和/或指令集,并且還應理解邏輯單元也可利用軟件的一部分來實現其功能。
參考圖13,根據本公開的至少一些實施方案布置示例圖像處理系統1300。在各種實施方案中,示例圖像處理系統1300可具有用于形成或接收所捕獲的圖像數據的成像裝置1302。這可以以各種方式實現。因此,在一種形式中,圖像處理系統1300可為數字照相機或其它圖像捕獲裝置,并且在此情況下,成像裝置1302可為照相機硬件和照相機傳感器軟件、模塊或組件。在其它示例中,成像處理系統1300可具有包括或可為照相機的成像裝置1302,并且邏輯模塊1304可與成像裝置1302遠程通信或以其它方式可通信地耦合到成像裝置1302,以用于進一步處理圖像數據。
在任一種情況下,此技術可包括照相機,諸如數字照相機系統、專用照相機裝置或成像電話,無論靜止圖片或視頻照相機還是兩者的某種組合。因此,在一種形式中,成像裝置1302可包括相機硬件和光學器件,其包括一或多個傳感器以及自動對焦、變焦、光圈、ND濾光器、自動曝光、閃光和致動器控制。這些控制可為用于操作傳感器的傳感器模塊或組件1306的一部分。傳感器組件1306可為成像裝置1302的一部分,或者可為邏輯模塊1304的一部分或兩者。此傳感器組件可以被用于為取景器生成圖像并拍攝靜止圖片或視頻。成像裝置1302也可具有鏡頭、具有RGB拜耳濾色器的圖像傳感器、模擬放大器、A/D轉換器、將入射光轉換成數字信號的其它組件等和/或其組合。在此,數字信號也可被稱為原始圖像數據。
其它形式包括相機傳感器型成像裝置等(例如,網絡攝像頭或網絡攝像頭傳感器或其它互補金屬氧化物半導體型圖像傳感器(CMOS)),而不使用紅-綠-藍RGB深度相機和/或麥克風陣列以定位正在說話的人。相機傳感器也可支持其它類型的電子快門,諸如除了滾動快門之外或替代滾動快門的全局快門,以及許多其它快門類型。在其它示例中,除了相機傳感器之外或者作為相機傳感器的替代,可使用RGB-深度相機和/或麥克風陣列。在一些示例中,成像裝置1302可設置有眼睛跟蹤相機。成像裝置1302也可具有鏡頭致動器或控制器1308,其具有鏡頭和鏡頭驅動器或驅動器邏輯,該驅動器邏輯接收命令以移動鏡頭并施加電流以移動鏡頭。
在所示示例中,邏輯模塊1304可包括3A組件,3A組件繼而可包括AF組件1318以計算期望的新當前鏡頭位置、自動白平衡(AWB)組件1316和自動曝光控制(AEC)組件1317。3A組件單元1310也可具有鏡頭陰影顏色(LSC)校正/表組件1312,鏡頭陰影顏色(LSC)校正/表組件1312繼而可具有執行本文所述的許多操作的塊選擇單元1314。3A組件單元1310可由處理器1320操作,或者甚至完全或部分地位于處理器1320中,并且可包括用于執行操作的ISP 1322。邏輯模塊可被通信地耦合到成像裝置1302的組件,以便接收原始圖像數據。在這些情況下,假設認為邏輯模塊1304與成像裝置分離。這不必是這樣,并且邏輯模塊非常好地也可被認為是成像裝置的一部分。
圖像處理系統1300可具有一或多個處理器1320,其可包括諸如Intel Atom的專用圖像信號處理器(ISP)1322、可保存或不保存LSC表和其它LSC校正數據的存儲器1324、提供圖像1330的一或多個更多顯示器1328、具有幀間預測單元1336以提供運動數據諸如運動矢量的編碼器1332以及天線1334。在一個示例實施方案中,圖像處理系統1300可具有顯示器1328、通信地耦合到顯示器的至少一個處理器1320,通信地耦合到處理器以執行如上所述的本文所描述的操作的至少一個存儲器1324。可提供用于壓縮修改的圖像日期并將其傳輸給其它裝置的編碼器1332和天線1334,其它裝置可顯示或存儲圖像以及提供用于塊匹配的運動數據。應理解,圖像處理系統1300也可包括解碼器(或編碼器1332可包括解碼器)以接收和解碼由系統1300進行處理的圖像數據。否則,所處理的圖像1330可被顯示在顯示器1328上或存儲在存儲器1324中。如圖所示,這些組件中的任一者可能夠彼此通信和/或與邏輯模塊1304和/或成像裝置1302的部分通信。因此,處理器1320可被通信地耦合到用于操作那些組件的圖像裝置1302和邏輯模塊1304。在一種方法中,盡管如圖13所示的圖像處理系統1300可包括與特定組件或模塊相關聯的一組特定塊或動作,但是這些塊或動作可與除這里所示的特定組件或模塊之外的不同組件或模塊相關聯。
參考圖14,根據本公開的示例系統1400操作本文所述的圖像處理系統的一或多個方面。從下面描述的系統組件的性質應理解,此類組件可與上述圖像處理系統的某些部分或多個部分相關聯或用于操作上述圖像處理系統的某些部分或多個部分。在各種實施方案中,系統1400可為媒體系統,但系統1400不限于該上下文。例如,系統1400可被并入數字靜態照相機、數字攝像機、具有照相機或視頻功能的移動裝置中,諸如成像電話、網絡攝像機、個人計算機(PC)、膝上型計算機、超級膝上型計算機、平板計算機、觸摸便攜式計算機、手持計算機、掌上計算機、個人數字助理(PDA)、蜂窩電話、組合蜂窩電話/PDA、電視、智能裝置(例如智能電話、智能平板或智能電視)、移動互聯網裝置(MID)、消息傳遞裝置、數據通信裝置等。
在各種實施方案中,系統1400包括耦合到顯示器1420的平臺1402。平臺1402可從內容裝置,諸如內容服務裝置1430或內容遞送裝置1440或其它類似的內容源接收內容。包括一或多個導航特征的導航控制器1450可被用于與例如平臺1402和/或顯示器1420交互。這些組件中的每者在下面更詳細地描述。
在各種實施方案中,平臺1402可包括芯片組1405、處理器1410、存儲器1412、存儲1414、圖形子系統1415、應用1416和/或無線電裝置1418的任何組合。芯片組1405可提供處理器1410、內存1412、存儲1414、圖形子系統1415、應用1416和/或無線電裝置1418之間的相互通信。例如,芯片組1405可包括能夠提供與存儲1414的相互通信的存儲適配器(未示出)。
處理器1410可被實現為復雜指令集計算機(CISC)或精簡指令集計算機(RISC)處理器、x86指令集兼容處理器、多核或任何其它微處理器或中央處理單元(CPU)。在各種實施方案中,處理器1410可為雙核處理器、雙核移動處理器等。
存儲器1412可被實現為易失性存儲器裝置,諸如但不限于隨機存取存儲器(RAM)、動態隨機存取存儲器(DRAM)或靜態RAM(SRAM)。
存儲1414可被實現為非易失性存儲裝置,諸如但不限于磁盤驅動器、光盤驅動器、磁帶驅動器、內部存儲裝置、附加存儲裝置、閃存、電池備份SDRAM(同步DRAM)和/或網絡可訪問存儲裝置。在各種實施方案中,例如,當包括多個硬盤驅動器時,存儲1414可包括用于提高有價值數字媒體的存儲性能增強保護的技術。
圖形子系統1415可執行諸如靜止或視頻的圖像的處理以用于顯示。圖形子系統1415可為例如圖形處理單元(GPU)或視覺處理單元(VPU)。模擬或數字接口可被用于通信地耦合至圖形子系統1415和顯示器1420。例如,接口可為高清晰度多媒體接口、顯示器端口、無線HDMI和/或無線HD兼容技術中的任一種。圖形子系統1415可被集成到處理器1410或芯片組1405中。在一些實施方案中,圖形子系統1415可為通信地耦合到芯片組1405的獨立卡。
本文所述的圖形和/或視頻處理技術可在各種硬件架構中實現。例如,圖形和/或視頻功能可被集成在芯片組內。另選地,可使用分立的圖形和/或視頻處理器。作為又一實施方案,圖形和/或視頻功能可由包括多核處理器的通用處理器提供。在另外的實施方案中,功能可在消費電子裝置中實現。
無線電1418可包括能夠使用各種合適的無線通信技術來發送和接收信號的一或多個無線電。此類技術可涉及跨一或多個無線網絡的通信。示例無線網絡包括(但不限于)無線局域網(WLAN)、無線個域網(WPAN)、無線城域網(WMAN)、蜂窩網絡和衛星網絡。在跨此類網絡進行通信時,無線電1418可根據任何版本中的一或多種適用標準進行操作。
在各種實施方案中,顯示器1420可包括任何電視型監視器或顯示器。顯示器1420可包括例如計算機顯示屏、觸摸屏顯示器、視頻監視器、電視類裝置和/或電視機。顯示器1420可為數字和/或模擬的。在各種實施方案中,顯示器1420可為全息顯示器。另外,顯示器1420可為可接收視覺投影的透明表面。此類投影可傳達各種形式的信息、圖像和/或對象。例如,此類投影可為用于移動增強現實(MAR)應用的視覺覆蓋層。在一或多個軟件應用1416的控制下,平臺1402可在顯示器1420上顯示用戶界面1422。
在各種實施方案中,內容服務裝置1430可由任何國家、國際和/或獨立的服務托管,并因此例如可經由互聯網訪問平臺1402。內容服務裝置1430可被耦合到平臺1402和/或顯示器1420。平臺1402和/或內容服務裝置1430可被耦合到網絡1460以向/從網絡1460傳送(例如,發送和/或接收)媒體信息。內容遞送裝置1440也可被耦合到平臺1402和/或顯示器1420。
在各種實施方案中,內容服務裝置1430可包括能夠傳遞數字信息和/或內容的有線電視盒、個人計算機、網絡、電話、啟用互聯網的裝置或家用電器以及能夠經由網絡1460或直接在內容提供商和平臺1402和/顯示器1420之間單向或雙向傳送內容的任何其它類似裝置。應理解,內容可經由網絡1460至和自系統1400中的任何一個組件和內容提供商單向和/或雙向地傳送。內容的示例可包括任何媒體信息,其包括例如視頻、音樂、醫療和游戲信息等。
內容服務裝置1430可接收諸如包括媒體信息、數字信息和/或其它內容的有線電視節目的內容。內容提供商的示例可包括任何有線或衛星電視或無線電或互聯網內容提供商。所提供的示例并不意味著以任何方式限制根據本公開的實施方案。
在各種實施方案中,平臺1402可從具有一或多個導航特征的導航控制器1450接收控制信號。例如,控制器1450的導航特征可被用于與用戶界面1422交互。在實施方案中,導航控制器1450可為定點裝置,其可為允許用戶將空間(例如,連續和多維)數據輸入到計算機中的計算機硬件組件(具體地,人機接口裝置)。諸如圖形用戶界面(GUI)以及電視和監視器的許多系統允許用戶使用物理姿勢來控制并向計算機或電視機提供數據。
控制器1450的導航特征的移動可通過顯示器上所顯示的指針、光標、聚焦環或其它視覺指示符的移動而在顯示器(例如,顯示器1420)上復制。例如,在軟件應用1416的控制下,位于導航控制器1450上的導航特征可被映射到在用戶界面1422上顯示的虛擬導航特征。在各種實施方案中,控制器1450可不為單獨的組件,而是可被集成到平臺1402和/或顯示器1420中。然而,本公開不限于本文所示或描述的元件或上下文。
例如,在各種實施方案中,當啟用時,驅動器(未示出)可包括使得用戶能夠在初始引導之后利用按鈕的觸摸來像電視機一樣立即打開和關閉平臺1402的技術。即使當平臺被“關閉”時,程序邏輯可允許平臺1402將內容流傳輸給媒體適配器或其它內容服務裝置1430或內容遞送裝置1440。另外,芯片組1405可包括例如用于8.1環繞聲音頻和/或高保真(7.1)環繞聲音頻的硬件和/或軟件支持。驅動器可包括用于集成圖形平臺的圖形驅動器。在實施方案中,圖形驅動器可包括外圍組件互連(PCI)快速圖形卡。
在各種實施方案中,可集成系統1400中所示的組件中的任何一或多個。例如,平臺1402和內容服務裝置1430可被集成或者平臺1402和內容遞送裝置1440可被集成或者平臺1402、內容服務裝置1430和內容遞送裝置1440可被集成。在實施方案中,平臺1402和顯示器1420可為集成單元。例如,顯示器1420和內容服務裝置1430可被集成或者顯示器1420和內容遞送裝置1440可被集成。這些示例并不意味著限制本公開。
在實施方案中,系統1400可被實現為無線系統、有線系統或兩者的組合。當被實現為無線系統時,系統1400可包括適于通過無線共享介質(諸如一或多個天線、發射器、接收器、收發器、放大器、濾波器、控制邏輯等)進行通信的組件和接口。無線共享介質的示例可包括無線頻譜的部分,諸如RF頻譜等。當實現為有線系統時,系統1900可包括適于通過有線通信介質進行通信的組件和接口,諸如輸入/輸出(I/O)適配器、用于將I/O適配器與相應的有線通信介質連接的物理連接器、網絡接口卡(NIC)、盤控制器、視頻控制器、音頻控制器等。有線通信介質的示例可包括導線、電纜、金屬引線、印刷電路板(PCB)、背板、交換結構、半導體材料、雙絞線、同軸電纜、光纖等等。
平臺1402可建立一或多個邏輯或物理信道以傳送信息。該信息可包括媒體信息和控制信息。媒體信息可指代表示用于用戶的內容的任何數據。內容的示例可包括例如來自語音對話、視頻會議、流視頻、電子郵件(“電子郵件”)消息、語音郵件消息、字母數字符號、圖形、圖像、視頻、文本等的數據。來自語音對話的數據可為例如語音信息、靜默時段、背景噪聲、舒適噪聲、音調等。控制信息可指代表示用于自動化系統的命令、指令或控制字的任何數據。例如,控制信息可被用于通過系統路由媒體信息,或者指示節點以預定方式處理媒體信息。然而,實施方案不限于圖14中所示或所述的元件或背景。
參考圖15,小形狀因子裝置1500為可實現系統1400的變化物理樣式或形狀因子的一個示例。通過該方法,裝置1500可被實現為具有無線能力的移動計算裝置。移動計算裝置可指代具有處理系統和移動電源或電源諸如例如一或多個電池的任何裝置。
如上所述,移動計算裝置的示例可包括數字靜態照相機、數字攝像機、具有照相機或視頻功能的移動裝置中,諸如成像電話、網絡攝像機、個人計算機(PC)、膝上型計算機、超級膝上型計算機、平板計算機、觸摸便攜式計算機、手持計算機、掌上計算機、個人數字助理(PDA)、蜂窩電話、組合蜂窩電話/PDA、電視、智能裝置(例如智能電話、智能平板或智能電視)、移動互聯網裝置(MID)、消息傳遞裝置、數據通信裝置等。
移動計算裝置的示例也可包括被布置為由人穿戴的計算機,諸如腕部計算機、手指計算機、環形計算機、眼鏡計算機、皮帶夾計算機、臂帶計算機、鞋計算機、服裝計算機和其它可穿戴計算機。例如,在各種實施方案中,移動計算裝置可被實現為能夠執行計算機應用以及語音通信和/或數據通信的智能電話。盡管借助于示例的方式可用被實現為智能電話的移動計算裝置來描述一些實施方案,但是應理解,也可使用其它無線移動計算裝置來實現其它實施方案。實施方案不限于此上下文。
如圖15所示,裝置1500可包括外殼1502、顯示器1504,顯示器1504可包括屏幕1510、輸入/輸出(I/O)裝置1506和天線1508。裝置1500也可包括導航特征1512。顯示器1504可包括用于顯示適用于移動計算裝置的信息的任何合適的顯示單元。I/O裝置1506可包括用于將信息輸入到移動計算裝置中的任何合適的I/O裝置。I/O裝置1506的示例可包括字母數字鍵盤、數字小鍵盤、觸摸板、輸入鍵、按鈕、開關、搖臂開關、麥克風、揚聲器、語音識別裝置和軟件等等。信息也可借助于麥克風(未示出)輸入到裝置1500中。此信息可由語音識別裝置(未示出)數字化。實施方案不限于此背景。
可使用硬件元件、軟件元件或兩者的組合來實現本文所述的各種形式的裝置和過程。硬件元件的示例可包括處理器、微處理器、電路、電路元件(例如晶體管、電阻器、電容器、電感器等)、集成電路、專用集成電路(ASIC)、可編程邏輯器件(PLD)、數字信號處理器(DSP)、現場可編程門陣列(FPGA)、邏輯門、寄存器、半導體器件、芯片、微芯片、芯片組等等。軟件的示例可包括軟件組件、程序、應用、計算機程序、應用程序、系統程序、機器程序、操作系統軟件、中間件、固件、軟件模塊、例程、子例程、函數、方法、程序、軟件接口、應用程序接口(API)、指令集、計算代碼、計算機代碼、代碼段、計算機代碼段、字、值、符號或其任何組合。確定實施方案是否使用硬件元件和/或軟件元件來實現可根據任何數量的因素,諸如預期的計算速率、功率電平、耐熱性、處理周期預算、輸入數據速率、輸出數據速率、存儲器資源、數據總線速度以及其它設計或性能約束而改變。
至少一種實施方案的一或多個方面可由存儲在機器可讀介質上的代表性指令來實現,代表性指令表示處理器內的各種邏輯,當由機器讀取時,各種邏輯致使機器形成用于執行本文所述的技術的邏輯。被稱為“IP核”的此類表示可被存儲在有形的機器可讀介質上,并被提供給各個客戶或制造設施以加載到實際形成邏輯或處理器的制造機器中。
雖然已經參考各種實施方案描述了本文所闡述的某些特征,但是該描述并不旨在以限制的意義來解釋。因此,對于本公開所屬領域的技術人員顯而易見的是,對本文所述的實施方案的各種修改以及其它實施方案被認為落入本公開的精神和范圍內。
以下示例涉及進一步的實施方案。
在一個示例中,計算機實現的鏡頭陰影顏色校正方法包括獲得空間上對應于具有塊的幀的像素數據的至少一個統計網格,并且選擇要被包含在至少一個塊簇中的至少一些塊,并且包括以至少在候選塊和參考塊之間的亮度或顏色比的差滿足標準的方式選擇候選塊。該方法也可包括找到與簇中的顏色相關聯的誤差;使用該誤差來確定一或多個LSC表的權重;以及基于該權重形成綜合LSC表,并將其用于在幀校正顏色。
在另一實施方案中,該方法可包括以下中的至少一者:(1)標準指示在幀上的區域中的更恒定的顏色,并且其中,該標準為顏色比的最大變化的閾值,以及(2)該標準指示幀的區域中的平滑度,并且其中,該標準為亮度的最大變化的第一閾值,并且其中,當滿足第一閾值時并且當塊的位置處的亮度函數具有小于第二閾值的導數時,選擇該塊以將其包含在簇中。否則,該方法可包括從自動聚焦統計獲得導數,其中,塊被包含在簇中,而不管塊在幀上的位置和相對于幀上的其它塊的位置的位置,其中,選擇包括選擇參考塊以及將幀中的多個塊與參考塊進行比較,并且,所述多個塊尚未被認為是任何簇的一部分,并且其中,通過對正被比較的兩個塊內的對應像素位置的像素值求差來將該差計算為歐幾里德距離。
在其它方法中,該方法也可包括:對于幀的視頻序列中的至少一個幀提供顏色校正包括使用運動矢量和使用運動矢量以在當前圖像上形成簇,其中,不在簇內的幀上的塊的像素數據未被用于計算用于鏡頭陰影顏色校正的顏色誤差,其中,通過逐行搜索并且尚未在群中的點來選擇統計網格上的參考點,其中,誤差和表權重計算以逐個簇為基礎而不是以逐塊為基礎來執行,并且其中,用于將候選塊與參考塊進行比較的亮度或顏色比圖像數據從已進行鏡頭陰影顏色(LSC)校正數據獲得,并且其中,形成最終綜合LSC表基于非LSC校正數據。
在又一實施方案中,計算機實現的系統具有顯示器、通信地耦合到顯示器的至少一個處理器、通信地耦合到至少一個處理器并且存儲視頻序列的至少一個幀的圖像捕獲數據或至少一個靜止照片的至少一個存儲器以及通信地耦合到該處理器的至少一個鏡頭陰影校正(LSC)單元。提供至少一個鏡頭陰影校正單元以獲得空間上對應于具有塊的幀的像素數據的至少一個統計網格、選擇要被包含在至少一個塊簇中的塊,并且包括以至少候選塊和參考塊之間的亮度或顏色比的差滿足標準的方式來選擇候選塊、找到與簇中的顏色相關聯的誤差、使用誤差來確定一或多個LSC表的權重以及形成基于權重的綜合LSC表并將其應用于校正在幀處的顏色。
在另一示例中,該系統包括以下中的至少一者:(1)標準指示在幀上的區域中的更恒定的顏色,并且其中,該標準為顏色比的最大變化的閾值,以及(2)該標準指示幀的區域中的平滑度,并且其中,該標準為亮度的最大變化的第一閾值,并且其中,當滿足第一閾值時并且當塊的位置處的亮度函數具有小于第二閾值的導數時,選擇塊以將其包含在簇中。否則,該系統提供至少一個LSC校正單元以從自動聚焦統計獲得導數,其中,塊被包含在簇中,而不管塊在幀上的位置和相對于幀上的其它塊的位置的位置,其中,選擇包括選擇參考塊以及將幀中的多個塊與參考塊進行比較,并且,所述多個塊尚未被認為是任何簇的一部分,并且其中,通過對正被比較的兩個塊內的對應像素位置的像素值求差來將該差計算為歐幾里德距離。
在其它方法中,該系統提供至少一個LSC校正單元以為幀的視頻序列中的至少一個幀提供顏色校正,顏色校正包括:使用運動矢量和使用運動矢量以在當前圖像上形成簇,其中,不在簇內的幀上的塊的像素數據未被用于計算用于鏡頭陰影顏色校正的顏色誤差,其中,通過逐行搜索并且尚未在群中的點來選擇統計網格上的參考點,其中,誤差和表權重計算以逐個簇為基礎而不是以逐塊為基礎來執行,并且其中,用于將候選塊與參考塊進行比較的亮度或顏色比圖像數據從已進行鏡頭陰影顏色(LSC)校正數據獲得,并且其中,形成最終綜合LSC表基于非LSC校正數據。
在一種方法中,至少一種計算機可讀介質包括響應于在計算裝置上執行而使計算裝置執行以下操作的多個指令:獲得空間上對應于具有塊的幀的像素數據的至少一個統計網格、選擇塊以使其被包含在塊的至少一個簇中,并且包括以候選塊和參考塊之間的亮度或顏色比的差滿足標準的方式來選擇候選塊、找到與簇中的顏色相關聯的誤差、使用該誤差來確定一或多個LSC表的權重并基于該權重形成綜合LSC表并將其應用于在幀校正顏色。
通過另一種方法,指令使得計算裝置使用以下中的至少一者:(1)標準指示在幀上的區域中的更恒定的顏色,并且其中,該標準為顏色比的最大變化的閾值,以及(2)該標準指示幀的區域中的平滑度,并且其中,該標準為亮度的最大變化的第一閾值,并且其中,當滿足第一閾值時并且當塊的位置處的亮度函數具有小于第二閾值的導數時,選擇塊以將其包含在簇中。否則,指令使得計算裝置從自動聚焦統計獲得導數,其中,塊被包含在簇中,而不管塊在幀上的位置和相對于幀上的其它塊的位置的位置,其中,選擇包括選擇參考塊以及將幀中的多個塊與參考塊進行比較,并且,所述多個塊尚未被認為是任何簇的一部分,并且其中,通過對正被比較的兩個塊內的對應像素位置的像素值求差來將該差計算為歐幾里德距離。
在其它方法中,指令使得計算裝置為幀的視頻序列中的至少一個幀提供顏色校正,顏色校正包括:使用運動矢量和使用運動矢量以在當前圖像上形成簇,其中,不在簇內的幀上的塊的像素數據未被用于計算用于鏡頭陰影顏色校正的顏色誤差,其中,通過逐行搜索并且尚未在群中的點來選擇統計網格上的參考點,其中,誤差和表權重計算以逐個簇為基礎而不是以逐塊為基礎來執行,其中,用于將候選塊與參考塊進行比較的亮度或顏色比圖像數據從已進行鏡頭陰影顏色(LSC)校正數據獲得,并且其中,形成最終綜合LSC表基于非LSC校正數據。
在另一示例中,至少一個機器可讀介質可包括響應于在計算裝置上被執行而使計算裝置執行根據上述示例中的任一項的方法的多個指令。
在又一示例中,裝置可包括用于執行根據上述示例中的任一個的方法的裝置。
上述示例可包括特征的特定組合。然而,上述示例在這方面不受限制,并且在各種實施方案中,上述示例可包括僅進行此類特征的子集、進行此類特征的不同順序、進行此類特征的不同組合和/或進行與那些明確列出的特征不同的附加特征。例如,關于本文中的任何示例方法所述的所有特征可相對于任何示例性裝置、示例系統和/或示例制品來實現,并且反之亦然。