用于混合圖像去馬賽克和扭曲的系統,方法和計算機程序產品的制作方法
【專利摘要】用于顏色濾波器陣列(諸如例如包括拜耳模板的顏色濾波器陣列)獲得彩色圖像的方法、系統和計算機程序產品。圖像處理的方法包括:針對彩色圖像中的每個像素位置(i,j)和每個顏色通道,確定顏色濾波器陣列中的扭曲位置(i′,j′);和確定顏色濾波器陣列中的位置(i′,j′)處的顏色通道的顏色值。該方法可以進一步包括存儲所確定的顏色值。顏色值的確定可包括:插值顏色濾波器陣列中位置(i′,j′)處的顏色通道的顏色值。通過這樣的方式,可以需要單個插值操作集,并且可以避免中間圖像,節約存儲器,減少處理時間,最小化偽影并且減少成本。
【專利說明】用于混合圖像去馬賽克和扭曲的系統,方法和計算機程序產品
【技術領域】
[0001]本文所描述的實施例一般地涉及圖像處理。
【背景技術】
[0002]為了產生諸如照片和視頻圖像之類的彩色圖像,通常對圖像連續地執行去馬賽克和圖像扭曲,從而產生修訂的彩色圖像。
[0003]去馬賽克算法是一種數字圖像過程,其被用來根據來自重疊有顏色濾波器陣列的圖像傳感器的不完全彩色輸出重構完全彩色圖像,從而把圖像渲染為可視格式。因為原始彩色圖像包括如下強度:每個像素僅三種濾波器顏色(紅色、藍色和綠色)中的一種顏色,去馬賽克被用來確定每個像素的其它兩種顏色的強度。存在用于對彩色圖像進行去馬賽克的許多算法。這些算法的復雜度不同,并且可以導致所涉及的數據量增至三倍。
[0004]圖像扭曲是平滑地移位圖像中的像素的過程。在扭曲的圖像中,每個像素處的值通常根據在原始圖像中采樣的值計算得到。因為原始圖像中的位置不必然具有整數坐標,所以通常需要某種插值。例如,扭曲被用來校正圖像中存在的失真。由光學系統產生的圖像經受各種形式的幾何失真。失真通常足夠嚴重以致于希望將圖像扭曲為更有用的形式。例如,使用廣角或魚眼鏡頭獲得的圖像的中央處的對象將顯得比邊緣處的對象更大。這被稱為桶形失真。扭曲圖像可校正桶形失真,從而得到將顯得由透視照相機產生的成比例的正確圖像。扭曲還可被用來校正其它類型的失真,或者甚至被用來有目的性地引起失真。
[0005]去馬賽克和扭曲兩者都引入了一些圖像缺陷或偽影,這是因為它們各自通常設計插值。連續獨立地執行去馬賽克和扭曲合成這個問題。除了執行這兩個操作所需的處理時間,連續地去馬賽克和扭曲需要計算機存儲器存儲中間圖像,并且還需要執行兩次插值。
【專利附圖】
【附圖說明】
[0006]圖1圖示了根據實施例的可被用來獲得修訂的彩色圖像的顏色濾波器陣列的示例性模型。
[0007]圖2圖示了根據實施例的顏色濾波器陣列的示例性模型,示出了可被用來獲得修訂的彩色圖像的每個個體顏色的顏色值度量。
[0008]圖3是圖示了根據實施例的可被用來從顏色濾波器陣列獲得修訂的彩色圖像的混合去馬賽克和扭曲的方法的流程圖。
[0009]圖4圖示了根據實施例的可被用來獲得修訂的彩色圖像的四像素組的示例性模型。
[0010]圖5圖示了根據實施例的可在計算中被用來獲得修訂的彩色圖像的顏色濾波器陣列的字母映射。
[0011]圖6圖示了根據實施例的可被用來使用本文所述的方法確定紅色(R)值的插值技術。
[0012]圖7圖示了根據實施例的可被用來使用本文所述的方法確定綠色(G)值的插值技術。
[0013]圖8A和8B圖示了根據實施例的用于使用本文所述的方法確定綠色(G)值的插值技術的四個示例。
[0014]圖9A和9B圖示了根據實施例的與圖8A和8B中所示的四個示例相同的示例,但是為了便于理解本文所述的方法而具有替代的標記。
[0015]圖10圖示了根據實施例的可被用來使用本文所述的方法確定綠色(G)值的替代插值技術。
[0016]圖11是在其中可以實現實施例的示例性系統的方框圖。
[0017]圖12是在其中可以實現實施例的另一示例性系統的方框圖。
[0018]圖13是在其中可以實現實施例的示例性設備的方框圖。
[0019]圖14是在其中可以實現實施例的另一示例性設備的方框圖。
[0020]圖15圖示了在其中可以實現實施例的信息系統。
[0021]圖16圖示了在其中可以實現實施例的移動信息設備。
[0022]在附圖中,參考編號的(一個或多個)最左邊數字可以標識參考編號第一次出現在其中的附圖。
【具體實施方式】
[0023]圖像
[0024]彩色或多光譜圖像由每個像素處的到達該像素的特定顏色光的強度的許多測量值構成。在大多數彩色圖像中,每個像素具有到達該像素的紅色光的強度的測量值、到達該像素的綠色光的測量值和到達該像素的藍色光的測量值。這可以說這樣的彩色圖像具有紅色、綠色和藍色通道。在其它類型的圖像中,可存在更多和/或不同的通道。在本文檔中,所提及的“ c ”可指代顏色通道。
[0025]在本文檔中,當不需要區別的時候,術語“圖像”可指代RGB(紅綠藍)圖像或多光譜圖像,或者更通常地指代具有多個通道的圖像。
[0026]在本文檔中,所提及的“(i,j) ”可指代圖像中的位置或像素。所提及的“I”或“J”可各自指代一圖像,并且所提及的“I(i,j,c) ”可指代在圖像I中的第i列和第j行處的通道c的值。
[0027]去馬賽克
[0028]許多當代成像傳感器在每個像素處僅產生對應于各個通道中的一個的單個強度測量值。例如,在裝備有“拜耳模板(Bayer pattern) ”顏色濾波器陣列的傳感器中,每個像素將僅測量紅色、綠色或藍色通道。為了從這樣的傳感器的輸出中獲得彩色或多光譜圖像,必須以某種方式估計每個像素處丟失通道的值。該過程被稱為去馬賽克。
[0029]在本文檔中,所提及的“顏色濾波器列陣”可指代由每個像素一個測量值組成的數據,其被用作給馬賽克算法的輸入。顏色濾波器陣列可被存儲在存儲器中,或者從傳感器的輸出中直接讀出。
[0030]在本文檔中,所提及的“A”可指代顏色濾波器陣列,所提及的“A(i,j) ”可指代在顏色濾波器陣列A中的第i列和第j行處的像素(i,j)的值或測量值。
[0031]存在用于對彩色圖像進行去馬賽克的許多算法。一種對拜耳模板成像傳感器的輸出進行去馬賽克的通用方法由下列步驟組成:拷貝可用通道到輸出圖像,和從那些通道可用的相鄰像素插值丟失的通道。插值方法的選擇和設計是眾多研究的主題。
[0032]因為去馬賽克涉及確定沒有觀察到的值,“真實”值通常將不同于估計值。在一些情況中,這種差異可能引入不期望的可視偽影。
[0033]對顏色濾波器陣列A進行去馬賽克可產生圖像I。在本文檔中,去馬賽克可被認為是執行以下處理的操作:
[0034]1.對于產生的圖像I的每個像素(i,j)和每個通道c:
[0035]1.1.通過插值或拷貝確定像素(i,j)處的通道c的值,和
[0036]1.2.在產生的圖像中存儲I (i,j,c)值。
[0037]在1.2,I(i,j,c)表示圖像I中的像素(i,j)處的通道c的值。該操作的結果是圖像I。
[0038]圖1圖示了 6x6拜耳顏色濾波器陣列100的布局,其中列和行編號為0到5。在該顏色濾波器陣列中,A(0,0)是到達位置(0,0)的紅色光的測量值;A(1,0)是綠色光的測量值;A(2,0)是紅色光的又一測量值等,并且A(0,1)是綠色光的測量值;A(1,1)是藍色光的測量值,A(2,l)綠色光的測量值等。在這樣的顏色濾波器陣列中,當和j都是偶數時,A(i,j)是紅色的測量值。當i和j都是奇數時,A(i,j)是藍色的測量值。當i或j之一而非這兩者是奇數時,則A(i,j)是綠色的測量值。通過這種方式,拜耳顏色濾波器陣列可被視為像素的三個重疊網格,其中一個網格是紅色,一個是綠色,并且一個是藍色,如以下參照圖2描述的。
[0039]圖2圖示了從圖1的6x6拜耳模板中取得的紅色、藍色和綠色網格212、214和216。在圖2中,字母R、G和B分別表示測量紅色、綠色和藍色光的位置,并且圓點符號“.“表示對于那個通道來說無測量值可獲得的位置。每個網格是規則的正方形網格。注意到綠色網格被旋轉了 45度,并且其密度是紅色網格或藍色網格的兩倍。
[0040]現在將描述去馬賽克。出于示例的目的,可以不失一般性地假設通道0是紅色、通道1是綠色、并且通道2是藍色。還可以假設位置(i,j)不在陣列的邊緣。如果i和j是偶數,則可以定義以下公式:
[0041]I (i,j,0) = A(i, j)公式 1
[0042]I(i,j,l) = (A(i_l, j)+A(i+l, j)+A(i, j_l)+A(i, j+l))/4公式 2
[0043]I (i, j, 2) = (A(i_l,j_l)+A(i_l,j+l)+A(i+l,j_l)+A(i+l,j+l))/4 公式 3
[0044]在這些定義中,清楚的是l(i,j,0)是紅色的測量值;I(i,j,l)是專門地從綠色的測量值計算得到的;I(i,j,2)是專門地從藍色的測量值計算得到的。
[0045]如果i是偶數,并且j是奇數,可以定義以下公式:
[0046]I (i, j,0) = (A(i, j_l)+A(i, j+l))/2公式 4
[0047]I (i,j,1) = A(i, j)公式 5
[0048]I (i,j,2) = (A (1-1,j) +A (i+1,j)) /2公式 6
[0049]如果i是奇數,并且j是偶數,可以定義以下公式:
[0050]I (i, j,0) = (A(1-1, j)+A(i+l, j))/2公式 7
[0051]I (i, j, 1) = A(i, j)公式 8
[0052]I (i,j,2) = (A (i,j-1) +A (i,j+1)) /2公式 9
[0053]如果i是奇數,并且j是奇數,可以定義以下公式:
[0054]I (i,j,0) = (A (1-1,j-1) +A (1-1,j+1) +A (i+1,j-1) +A (i+1,j+1)) /4 公式 10
[0055]I (i,j,1) = (A (1-1,j) +A (i+1,j) +A (i,j-1) +A (i,j+1)) /4公式 11
[0056]I (i, j, 2) = A(i, j)公式 12
[0057]該去馬賽克方法是圖像處理或數字照相領域的技術人員公知的許多方法中的一種。
[0058]就像其它去馬賽克方法一樣,該去馬賽克方法可能偶爾在產生的圖像中引入不期望的可視偽影,這對于圖像處理或數字照相領域的技術人員來說是公知的。
[0059]插值
[0060]在本文檔中,術語“插值”可以指代如下操作:當編號i和j不必須是整數時,確定在圖像I中的位置(i,j)處的顏色通道c的值。當i或j不是整數時,所求值沒有存儲在圖像中。因此,估計圖像I中的位置(i,j)處的顏色通道c的值變得必要。該過程可以被稱為“通過插值確定值I(i,j,c) ”,或“插值I (i,j,c) ”。
[0061]一種可能的插值方法可以由下列步驟組成:確定最接近i和j的整數值“round (i) ”和“round (j) ”,并且接下來確定值I(round(i), round (j)) ?該方法可被稱為“最接近相鄰插值”。
[0062]示例:在位置(i',j')處圖像I的通道c的雙線性插值,其中i'和j'不必須是整數。符號[i']表示不小于i,的最大整數,并且同樣,符號[j']表示不小于j,的最大整數。從四個值 I([i' ],[j' ],c)、I([i' ]+l,[j' ],c)、I([i' ],[j' ]+l,c)和I([i' ]+l,[j' ]+l,c)確定插值后的值I(i',j',c),使用以下表達式:
[0063]I (i ' , j ' , c) = I ([i ; ]+l,[j' ]+l, c)*Wi*Wj
[0064]+I([i/ ], [j/ ]+l,cXl-Wihwj
[0065]+I([i/ ]+l, [j/ ],chw^a-wj)
[0066]+I([i' ],[j' ], cXl-WiXl-Wj)公式 13
[0067]其中表示相乘,&是1'的小數部分(也就是說Wi等于i' -[i/ ]),并且Wj是V的小數部分(也就是說%等于j' _[j'])。該表達式對于圖像處理和計算機圖形領域的技術人員來說是公知的。
[0068]由于插值涉及確定未觀察到的值,因此其存在不“真實”值,并且不同的插值方法通常將獲得不同的結果。在一些情況下,插值可能引入不期望的可視偽影。另外,插值可能加劇原始圖像中存在的偽影。
[0069]觀看圖像的一種方式可能會考慮該圖像是與整數位置(i,j)和通道c相關聯的函數,即值I(i,j,c)。由于位置(i,j)是整數對,因此可以表明圖像(或函數)僅定義在矩形的像素網格上。接下來,插值的操作可允許人們將圖像(或函數)擴展到在原始像素網格內的整個矩形域。稍后將在發明的描述中用到該理解。
[0070]圖像扭曲
[0071]圖像扭曲的操作本質上是由某一扭曲函數定義的從一個圖像到另一個圖像中的變換。大多數時候,扭曲函數為新圖像中的每個位置計算在原始圖像中那個像素的位置。由于原始圖像中的位置不一定具有整數坐標,因此需要一些插值,這可能引入一些插值偽影。
[0072]扭曲的一種常見用途是校正幾何失真。由光學系統產生的圖像可能經受各種形式的幾何失真。例如,從魚眼鏡頭獲得的圖像通常是如此的失真以至于它們對于觀看者來說顯得不“自然”。在基于圖像的度量衡中,一般必須扭曲圖像,使得它們顯得由透視照相機產生。當失真嚴重并且不被需要時,必須以某種方式取消該失真。出于這個目的,可以使用被稱為“圖像扭曲”的操作。
[0073]與光學失真的校正相比,圖像扭曲可用于更廣闊的環境。例如,可以應用一類被稱為“單應性”的扭曲以使得圖像顯得好像其是由具有不同定向(與產生原始圖像的照相機相比)的照相機產生的。還可以應用扭曲以使得其顯得原始傳感器具有不同的布局(例如對數極坐標布局)或不同的分辨率。
[0074]扭曲圖像I可能產生新圖像J。在本文檔中,圖像扭曲可被認為是執行以下處理的操作:
[0075]1.對于在產生的圖像J中的每個像素(i,j)和每個通道c:
[0076]1.1.確定在原始圖像I中的扭曲的位置(i',j'),
[0077]1.2.通過插值確定圖像I中像素(i',j')處的通道c的值I(i',j',c),和
[0078]1.3.在輸出圖像J中的位置J(i,j,c)處存儲值I(i',j',c)。
[0079]在1.1,位置(i',j')可采用以下形式:
[0080]i' =P(i,j)公式 14
[0081]j' = Q(i, j)公式 15
[0082]其中P和Q是函數。所使用的普通函數類可以包括多項式和有理函數,但是已使用了其它類型的函數,例如為了校正由光學系統引入的失真。盡管人們可以針對所有的通道使用相同的函數P和Q,但在一些情況下,例如為了校正色差,可能期望針對每個通道使用不同的函數。
[0083]一對簡單多項式函數的通用示例可以是:
[0084]i' = P(i, j) = 0+(l+k0r2) (1-10)公式 16
[0085]j1 = Q(i, j) = j1 0+(l+k0r2) (j-j0)公式 17
[0086]其中
[0087]r2 = (1-1o)2+(j-j。)2,并且
[0088]i0, j0>i/ o、J.'。和& 是常數。
[0089]在1.2,由于位置(i',j')不一定是整數,因此人們一般不能直接拷貝來自原始圖像I的值。因此必須使用插值??梢允褂迷S多可用的插值方法中的任意一種,例如最接近相鄰插值、雙線性插值或雙三次插值。
[0090]去馬賽克和扭曲一起使用
[0091]經常連續地應用去馬賽克和圖像扭曲。由數字照相機(例如但不限于:單反照相機(SLR)、傻瓜照相機、照相電話、網絡攝像頭、監控照相機等)產生的大多數圖像是通過對拜耳顏色濾波器陣列進行去馬賽克而獲得的。每當對這樣的圖像應用圖像扭曲時,去馬賽克和扭曲的操作被這樣連續地應用以產生扭曲的圖像。
[0092]為了從顏色濾波器陣列A獲得扭曲的圖像J,通常執行可以被稱為“經典方法”的以下步驟,用于連續地對顏色濾波器陣列進行去馬賽克和扭曲圖像:
[0093]1.對顏色濾波器陣列A進行去馬賽克,產生圖像I,和
[0094]2.扭曲圖像I,產生扭曲的圖像J。
[0095]在該經典方法中,人們應當注意到必須存儲圖像I。即使當快速連續地執行這兩個操作時也需要這種存儲,例如,當人們僅想要保持扭曲的圖像J并且丟棄圖像I時。例如,當照相機具有帶有已知的光學失真的廣角或魚眼鏡頭時,有可能并且經常期望扭曲照相機內的圖像。例如,在SLR或傻瓜照相機中,人們將保持已經校正了鏡頭失真的圖像J并且丟棄圖像I。在另一個示例中,在廣角監控照相機中,人們可以僅傳輸圖像J并且再次丟棄圖像I。然而,在這兩種情況中,照相機都必須具有臨時存儲器以存儲圖像I。由于存儲器昂貴,臨時存儲器的需要是個缺點。
[0096]該經典方法的另一個缺點是在方法的兩個階段執行插值:首先在去馬賽克期間發生插值,這里其可能引入偽影。接下來,在扭曲期間,除了加劇由去馬賽克引入偽影之外,插值可能引入新的偽影。
[0097]混合圖像去馬賽克和扭曲
[0098]本文所述的方法、系統和計算機程序產品可以允許以如下這樣的方式進行圖像去馬賽克和扭曲:即減少存儲器的量和所需的處理時間以及最小化偽影和降低整體成本?,F在參照圖來描述這些方法、系統和計算機程序產品的實施例,在圖中,相似的參考編號指示相同的或者功能類似的元件。雖然討論了具體的配置和布置,但應當理解的是這僅是出于說明目的被做出。相關領域技術人員將認識到可以使用其它配置和布置而不脫離本描述的范圍。對于相關領域技術人員來說將顯而易見的是,這還可以在除本文所描述的那些之外的各種其它系統和應用中被采用。
[0099]在實施例中,為了從顏色濾波器陣列A獲得扭曲的圖像J,可以執行以下處理,如圖3所描繪的方法300那樣:
[0100]1.對于彩色圖像J中的每個像素(i,j)和每個顏色通道c (302),
[0101]1.1.確定在顏色濾波器陣列A中扭曲的位置(i',) (304),和
[0102]1.2確定在顏色濾波器陣列A中(i ',)處的顏色通道c的顏色值(306)。
[0103]在實施例中,以上處理可由計算設備執行,如下面更詳細描述的??蛇x地,確定的顏色值可以被輸出,或者可以存儲在例如計算設備的存儲器或其它存儲設備中。在實施例中,例如,顏色濾波器陣列A可包括拜耳模板或者另一種類型的顏色濾波器陣列模板。
[0104]在1.1(圖3中的302),按照與普通的圖像扭曲相同的方式確定扭曲的位置。例如,可以使用以上所討論的扭曲函數P和Q的任一類。
[0105]在1.2(圖3中的306),可以使用插值。例如,可以使用雙線性插值、雙三次插值、最接近相鄰插值,或者另一種插值方法。然而,該插值方法可以與普通圖像扭曲中執行的插值方法略有不同,這是因為人們不知道每個位置(i,j)處每個通道c的值。
[0106]關鍵的理解在于每個顏色通道仍然提供測量值的網格(通常但并非總是矩形)。因此,對于每個顏色通道,人們可以對網格內任何如下位置的值進行插值:在該位置那個通道的測量值是可獲得的。
[0107]根據實施例,下面是確定顏色濾波器陣列A中(i',j')處的顏色通道c的顏色值(1.2/306)的描述。不失一般性,該示例將使用先前所述的拜耳顏色濾波器陣列,并且將使用雙線性插值作為示例。本領域技術人員可以容易地把以下描述推廣到其它顏色濾波器陣列和其它類型的插值。
[0108]根據實施例,下面描述了在位置(i',j')處的顏色通道0(紅色)的值的插值,其中i'和j'不一定是整數編號。在該示例中,[[i']]表示不小于i'的最大偶數整數。同樣的,[[_r ]]表示不小于的最大偶數整數。接下來可以定義以下公式:
[0109]J(i/,j' ,0) = A([[i/ ]]+2,[[j' ]]+2)*Wi*Wj
[0110]+A([[i/ ]]+2, [[j/ JD^w^d-Wj)
[0111]+A([[i/ ]], [[j/ 11+2)^(1^)^-
[0112]+A([[i/ ]], [[j/ ]])*(1-Wi)*(l-Wj)公式 18
[0113]其中,Wi等于(i' _[[i' ]])/2,并且 Wj 等于(j' _[[j' ]])/2。在該示例中,根據拜耳顏色濾波器陣列的布局可以清楚的是,A([[i' ]],[[j' ]])、A[[[i']],[[j/ ]]+2)、A([[i' ]]+2,[[j']])和A([[i' ]]+2,[[j' ]]+2)是到達成像傳感器的紅色光的所有測量值。因此,J(i',j,,0)實際上是紅色光的測量值。本領域技術人員將容易地認識到以上所定義的J(i',j',0)是四個測量值A([[i' ]],[[j' ]])、A([[i']],[[j/ ]]+2)、A([[i' ]]+2,[[j']])和 A([[i' ]]+2,[[j' ]]+2)在(i',j')處的雙線性插值。
[0114]根據實施例,下面描述在位置a',j')處的顏色通道1(綠色)的值的插值,其中P和_]"不一定是整數編號。由于綠色測量值在相對于顏色濾波器陣列的網格旋轉了45度的網格上可獲得,所以該插值過程比在紅色和藍色通道的情況下略微復雜。
[0115]為了插值綠色通道,坐標改變由以下公式定義:
[0116]u' =i' +j'公式 19
[0117]V' =i'公式 20
[0118]以上變換是可逆的,逆變換可以如下所示:
[0119]i' = (u, +v' )/2公式 21
[0120]j' = (u, -v/ )/2公式 22
[0121]在該示例中,可以看出u'和V'兩者都是奇數整數的位置對應于Ρ或之一而非兩者是奇數的位置。相反的,如果y或^之一而非兩者是奇數,則U,和V,都是奇數。因此,回顧拜耳顏色濾波器陣列的布局,11'和V'兩者都是奇數整數的位置對應于在顏色濾波器陣列中測量綠色光的位置。
[0122]在該示例中,[[[u']]]表示不小于u'的最大奇數整數。同樣的,[[[V ]]]表示不小于V'的最大奇數整數。接下來可以定義以下公式:
[0123]i" = ([[[u' ]]] + [[[v/ ]]])/2公式 23
[0124]j" = ([[[u' ]]]-[[[v/ ]]])/2公式 24
[0125]通過構造,i"和j"兩者都是整數,并且位置(i',j')包括在由四個位置(i〃,j" )、(i" +2,j" )、(i" +l,j"+l,j" +1)所定義的正方形內。
[0126]在該示例中,還可以看出該正方形的所有頂點落在所考慮的拜耳顏色濾波器陣列中測量綠色光的位置上。
[0127]繼續該示例,可以定義以下公式:
[0128]J(i/,j,,l)=A(i" +2,j" )*wu*wv
[0129]+A(i" +l,j" +l)*wu*(l_wv)
[0130]+A(i" +l,j" -l)*(l_wu)*wv
[0131]+A(i",j" )*(l-wu)*(l_wv)公式 25
[0132]其中,Wu等于(u'_[[[u' ]]])/2,并且wv等于(V _[[[v' ]]])/2。本領域技術人員將容易地認識到以上所定義的J(i',j',1)是四個測量值A(i",j" )、A(i" +1,j" +l)、A(i" +l,j" -1)和 A(i" +2,j")在(i',j')處的雙線性插值。
[0133]根據實施例,以下描述了在位置(i',j')處的顏色通道2(藍色)的值的插值,其中i'和j'不一定是整數編號。在該示例中,[[[i']]]表示不小于i'的最大奇數整數。同樣地,[[[_r ]]]表示不小于的最大奇數整數。接下來可以定義以下公式:
[0134]J(i/ , j' ,2) = A([[[i/ ]]]+2,[[[j' ]]] +2)^w^wj
[0135]+A([[[i/ ]]]+2, [[[j/ UD^w^d-Wj)
[0136]+A([[[i/ ]]],[[[j' ]]]+2)*(1_?^)*?^
[0137]+A([[[i' ]]],[[[j' ]]])*(1-?)*(1-%)公式 26
[0138]其中,Wi等于(i' _[[[i' ]]])/2,并且 % 等于(j' -[[[j/ ]]])/2。在該示例中,根據拜耳顏色濾波器陣列的布局清楚的是,A([[[i' ]]],[[[j' ]]])、A([[[i' ]]],[[[j ' ]]]+2)、A([[[i ' ]]]+2,[[[j ']]])和 A([[[i' ]]]+2,[[[j ' ]]]+2)是到達成像傳感器的藍色光的所有測量值。因此,J(i,,j,,2)實際上是藍色光的測量值。本領域技術人員將容易地認識到以上所定義的J(i,,j,,2)是四個測量值A([[[i/ ]]],[[[j/ ]]])、A([[[i' ]]],[[[j' ]]]+2)、A([[[i' ]]]+2,[[[j' ]]])和A([[[i/ ]]]+2,[[[j' ]]]+2)在(i',j')處的雙線性插值。
[0139]現在已經描述了同時執行產生扭曲的圖像J的拜耳顏色濾波器陣列A的去馬賽克和扭曲的所公開方法的實施例。
[0140]與早先描述的去馬賽克和扭曲的經典方法相反,所公開的混合去馬賽克和扭曲的方法可以不需要附加的中間圖像I。因此,可以不需要存儲圖像I的附加存儲器,并且因此,與實現經典方法的系統相比,實現所公開的方法的系統可以需要較少存儲器。
[0141]另外,與去馬賽克和扭曲的經典方法相反,在所公開的方法中僅發生一個插值過程。因此,可以避免在第二次插值過程期間對一個插值過程的插值偽影的惡化。由于插值偽影對圖像質量是不利的,所以所公開的方法可以優于經典方法。
[0142]進一步采樣示例
[0143]描述以上所討論的使用雙線性插值在顏色濾波器陣列中采樣位置的另一種方式現在將被描述。在以下示例中,所使用的顏色濾波器陣列將具有如圖1中所示的經典拜耳模板。如相關領域技術人員將理解的,其它顏色濾波器陣列模板也可以與本文所描述的方法一起使用。
[0144]以下方案背后的主要構想是考慮在顏色濾波器陣列中(此處為拜耳模板)一個的位置,并且給出鄰近彩色像素的理解的情況下,對在樣本點處的樣本紅色、綠色和藍色值應用合適的插值。在實施例中,可在位于像素的2x2四聯體(或四元組)內的樣本點上進行插值。例如,對于拜耳顏色濾波器陣列,采樣位置可落入如圖4中所示的四個可能的四元組420、422、424和426中的一個之內。出于示例的目的,現在將描述對位于四元組420之內的像素的采樣。
[0145]圖5圖示了根據實施例的可以在計算中被用來獲得修訂的彩色圖像的拜耳顏色濾波器陣列530的字母映射536。在圖5中,樣本點532可以位于四元組534之內,四元組534是如圖4中所示的四元組類型420。圖6中的樣本點632同樣定位于顏色濾波器陣列636中并且可以幫助進行該示例的討論。樣本點532/632可被表示為位置(u,v),其中u可以指示四元組534的左上像素(被標記為“F”)和樣本點532/632之間的水平距離(示出為圖6中的距離640),并且v可以指示四元組534的左上像素和樣本點532/632之間的垂直距離(示出為圖6中的距離642)。字母映射536意圖表示在顏色濾波器陣列530中的對應像素位置處的顏色值,從而簡化以下計算的理解。
[0146]在實施例中,為了插值四元組534中的樣本點532的紅顏色值,可以獲得在F和Η(在圖6中的位置644處指示)以及還在Ν和Ρ (在圖6中的位置646處指示)處的紅色值的水平插值,接下來獲得水平插值的結果之間的垂直插值??商娲?,如相關領域技術人員將理解的是,首先執行垂直插值接下來執行在垂直插值的結果之間的水平插值應當產生相同的結果。
[0147]在該示例中,上部(upper)和下部(lower)水平插值可示出在以下公式中:
[0148]Upper = F+(H_F)*u/2公式 27
[0149]Lower = N+(P_N)*u/2公式 28
[0150]接下來,垂直插值可示出在以下公式中:
[0151]r = Upper+ (Lower-Upper) *v/2公式 29
[0152]接下來針對樣本點532的產生的插值r可示出在以下公式中:
[0153]r = F+ (H-F) *u/2+ (N+ (P_N) *u/2_F_ (H_F) *u/2) *v/2公式 30
[0154]r = F+ (H-F) *u/2+ (N_F) *v/2+ (P+F-N-H) *u*v/4公式 31
[0155]以這種方式,可以需要單組插值計算,與需要一組插值計算用于去馬賽克和另一組插值計算用于扭曲不同。對于在其它三種類型的四元組(圖4的422、424和426)內發現的希望紅色或藍色值的任何樣本點,將應用類似的計算。
[0156]確定在類似定位的樣本點處的綠色值是不同的,這是因為顏色濾波器陣列中的綠色值的頻率和放置。根據實施例的在顏色濾波器陣列736中確定類似定位的樣本點732的綠色值的示例可以在圖7中被示出。在該示例中,為了插值樣本點732的綠顏色值,可以獲得在B和J(在位置756處指示)并且還在G和0(在位置758處指示)處的綠色值的垂直插值,接下來獲得在垂直插值的結果之間的水平插值。在該示例中,由于顏色濾波器陣列中綠色值的放置,執行相反的插值(也就是首先執行水平插值,接下來執行在水平插值的結果之間的垂直插值)可能產生不同的值。因此,以兩種方式執行插值并且對兩個結果進行平均以獲得樣本點732處的最佳綠色值是有用的。
[0157]可以在圖8A-B、9A_B以及10中示出了根據實施例的確定樣本點862的綠色值的替代示例。在該示例中,可以從環繞樣本點的菱形中的四個點進行采樣。圖8A和8B描繪了具有表示的樣本點的四個示例四元組,其可以各自需要基于定位以略有不同的方式進行處理。在每個示例的四元組中,字母X和Y表示顏色濾波器陣列中紅色(R)和藍色(B)的值,或反之亦然。字母G表示顏色濾波器陣列中的綠色值,并且星號表示樣本點。在每個示例中,在右邊的四元組被示出為具有在環繞樣本點的菱形圖案中示出的更多的顏色濾波器陣列的綠色值。在第一個示例中(圖8A中示出的示例A),在四元組860中的樣本點862可以在由四元組860的綠色像素形成的對角線的上方,在這種情況下,由所指定的綠色像素形成的菱形864可被用來確定樣本點862的綠色值。在第二個示例中(示例B),四元組866中的樣本點868可位于由四元組866的綠色像素所形成的對角線的下方,在這種情況下,由指定的綠色像素所形成的菱形870可被用來確定樣本點868的綠色值。在第三個示例中(圖8B中示出的示例C),四元組872中的樣本點874可位于由四元組872的綠色像素所形成的對角線的下方,在這種情況下,由指定的綠色像素所形成的菱形876可被用來確定樣本點874的綠色值。在第四個示例中(示例D),四元組878中的樣本點880可位于由四元組878的綠色像素所形成的對角線的上方,在這種情況下,由指定的綠色像素所形成的菱形882可被用來確定樣本點880的綠色值。為了便于理解接下來的公式,在菱形864、870,876和882中的綠色像素的綠色值可由對應的羅經點表示,N(北)針對頂部綠色像素,S(南)針對底部綠色像素,E(東)針對右側綠色像素,并且W(西)針對左側綠色像素,如圖9A和9B中所示的。
[0158]在圖8A-B/9A-B中所示的示例中,每個樣本點的坐標可以被表示為(u,ν),其中u可以是四元組的左上像素與樣本點之間的水平距離,ν可以是四元組的左上像素與樣本點之間的垂直距離。這在圖10中所示的示例中示出,圖10表示圖8A和9A中的示例A中所示的示例。在圖10中所示的示例中,顏色濾波器陣列1036的樣本點1090的坐標,u可以是四元組的左上像素(像素F)與樣本點1090之間的水平距離1092,并且ν可以是四元組的左上像素(像素F)與樣本點1090之間的垂直距離1094。為了確定樣本點1090處的綠色值,類似于圖8A和9A中的示例A中所示的菱形,可以從由在四元組的上方和左側的兩個綠色像素(像素B和E)以及四元組中的綠色像素(像素G和J)所形成的菱形1095來進行采樣。對于其它三種類型的四元組,可以按照對應的方式來進行u和ν的值的確定,并且用于其它三種類型的四元組的綠色值的菱形可以是圖8A-B和9A-B中的示例B、C和D中所示的那些菱形。
[0159]為了確定樣本點處的綠色值,可以針對圖8A-B和9A-B中所示的四個綠色示例中每一個定義一對(u',y丨)。在四個示例的第一個示例中,其中樣本點在綠色像素的上升對角線的上方(示例Α):
[0160]u' = u+v+1.0,并且 ν' = 1.0+u-v公式 32
[0161](例如,在圖10中所示的這個四元組配置的示例中,u'可以由箭頭1096示出,并且W可以由箭頭1098示出。)在四個示例的第二個示例中,其中樣本點在綠色像素的上升對角線的下方(示例Β):
[0162]u' = U+V-1.0,并且 ν' = 1.0+u-v公式 33
[0163]在四個示例的第三個示例中,其中樣本點在綠色像素的下降對角線的下方(示例C):
[0164]u' =u+v,并且 ν' = 2.0+u-v公式 34
[0165]在四個示例的最后一個示例中,其中樣本點在綠色像素的下降對角線的上方(示例D):
[0166]u1 =u+v,并且 ν' = u-v公式 35
[0167]接下來從四個示例中的任何一個的四個綠色源像素(指定為N、S、E和W)插值得到的綠色值可以被計算為:
[0168]g = ff+(S-ff)*u/ /2.0+(N-ff) /2.0+(ff-N-S+E) *v' /4.0 公式 36
[0169]如上面討論的,并且如相關領域技術人員將認識到的,通過使用以上所公開的用于圖像去馬賽克和扭曲的方法,可以避免插值操作集合的多重性,節約存儲器,減少處理時間,最小化偽影以及減少成本。
[0170]示例性系統
[0171]圖11是根據實施例的示例性系統或計算設備1102的方框圖,示例性系統或計算設備1102中可以實現本文所描述的方法。計算設備1102可包括圖像處理器1104和照相機1105。在實施例中,圖像處理器1104可使用扭曲位置邏輯單元1106和顏色值邏輯單元1107執行本文描述的方法。在實施例中,還可以存在其它邏輯單元1108。例如,可以存在用于執行對來自其本身或任何其它邏輯單元的結果的存儲的邏輯單元。本領域技術人員將認識到諸如邏輯單元1106、1107和1108之類的邏輯單元的功能可以由單個邏輯單元或任意數量的邏輯單元來執行。照相機1105可包括傳感器1109,圖像可以在傳感器1109上被初始捕獲。計算設備1102可以是例如數字照相機設備或智能電話,或能夠拍攝圖像和/或視頻的其它計算設備。在計算設備1102中,圖像處理器1104可以對在照相機傳感器1109處捕獲的圖像執行本文所描述的過程??商娲?,在照相機傳感器1109處捕獲的圖像可以被傳送,并且經由另一個計算設備的處理器處的硬件或軟件(諸如例如圖像處理軟件包)被處理。圖12中示出了這個的示例。
[0172]圖12是根據實施例的另一個示例性系統1210的方框圖,在系統1210中可以實現本文所描述的方法。系統1210可以包括具有圖像處理器1214的計算設備1212和具有傳感器1217的照相機1216。在系統1210中,照相機1216可以不是根據本文所描述的過程處理圖像的計算設備的一部分。相反地,由照相機1216在傳感器1217處捕獲的圖像數據可以經由照相機1216和計算設備1212處的輸入/輸出(I/O)端口(未示出)被提供給計算設備1212以用于在圖像處理器1214處進行處理。I/O端口之間的通信可以是例如無線通信、有線通信或經由諸如光盤、閃存驅動器或其它數據存儲設備之類的手持計算機可讀介質。在實施例中,圖像處理器1214可使用扭曲位置邏輯單元1218和顏色值邏輯單元1219執行本文所描述的方法。在實施例中,還可以存在其它邏輯單元1221。例如還可以存在用于執行對來自其本身或任何其它邏輯單元的結果的存儲的邏輯單元。本領域技術人員將認識到諸如邏輯單元1218、1219和1221之類的邏輯單元的功能可以由單個邏輯單元或任意數量的邏輯單元來執行。
[0173]本文所公開的一個或多個特征可以實現在硬件、軟件、固件和以上這些的組合中,包括分立的和集成的電路邏輯、專用集成電路(ASIC)邏輯和微控制器,并且可被實現為特定領域集成電路包的部分或集成電路包的組合。本文所使用的術語“軟件”和“固件”指代包括至少一個計算機可讀介質的計算機程序產品,該計算機可讀介質具有存儲在其中的計算機程序邏輯(諸如計算機可執行指令),用于使得計算機系統執行本文所公開的一個或多個特征和/或特征的組合。計算機可讀介質可以是臨時性的或非臨時性的。臨時性計算機可讀介質的示例可以是通過局域網或廣域網,或者通過諸如互聯網的網絡經由射頻或電導體傳輸的數字信號。非臨時性計算機可讀介質的示例可以是光盤、閃存或其它數據存儲設備。
[0174]在實施例中,本文所描述的一些或所有處理可被實現為軟件或固件。這樣的軟件或固件實施例可被圖示在圖13中的計算系統1302的背景中。計算系統1302可表示例如圖11中所示的計算設備1102。計算系統1302可包括一個或多個中央處理單元(CPU)(諸如通用處理器1320),其通過總線1332或類似的機制連接到存儲器1322、一個或多個次要存儲設備1324、具有傳感器1309的照相機1305和圖像處理器1304??商娲?,圖像處理器1304可以與通用處理器1320集成。圖像處理器1304可包括一個或多個邏輯單元,諸如例如扭曲邏輯單元1306和顏色值邏輯單元1307,用于執行本文所描述的方法。在實施例中,還可以存在其它邏輯單元1308。例如,可以存在用于執行對來自其本身或任何其它邏輯單元的結果的存儲的邏輯單元。本領域技術人員將認識到諸如邏輯單元1306、1307和1308之類的邏輯單元的功能可以由單個邏輯單元或任意數量的邏輯單元來執行。計算系統1302可以可選地包括(一個或多個)通信接口 1328和/或用戶接口組件1330。一個或多個次要存儲設備1324可以是例如一個或多個硬盤驅動器或類似物,并且可以存儲由圖像處理器1304和/或通用處理器1320執行的指令1326。在實施例中,通用處理器1320和/或圖像處理器1304可以是微處理器和軟件,諸如可以存儲或加載到存儲器1322中用于由通用處理器1320和/或圖像處理器1304執行以提供本文所描述的功能的指令1326。注意到,雖然未示出,但計算系統1302可包括附加組件。
[0175]圖14是根據實施例的另一個示例性計算設備1412的方框圖,在計算設備1412中可以實現本文所描述的實施例。計算系統1412可表示例如圖12中所示的計算設備1212。計算系統1412可包括一個或多個中央處理單元(CPU)(諸如通用處理器1420),其通過總線1432或類似機制連接到存儲器1422、一個或多個次要存儲設備1424和圖像處理器1414。可替代地,圖像處理器1414可以與通用處理器1420集成。圖像處理器1414可包括一個或多個邏輯單元,諸如例如扭曲邏輯單元1418和顏色值邏輯單元1419,用于執行本文所描述的方法。在實施例中,還可存在其它邏輯單元1421。例如,可以存在用于執行對來自其本身或任何其它邏輯單元的結果的存儲的邏輯單元。本領域技術人員將認識到諸如邏輯單元1418、1419和1421之類的邏輯單元的功能可以由單個邏輯單元或任意數量的邏輯單元來執行。計算系統1412可包括(一個或多個)通信接口 1428和/或用戶接口組件1430。在實施例中,(一個或多個)通信接口 1428可被用來把由照相機傳感器捕獲的圖像數據提供給計算系統1412以用于使用本文所描述的方法進行處理。一個或多個次要存儲設備1424可以是例如一個或多個硬盤驅動器或類似物,并且可以存儲將由圖像處理器1414和/或通用處理器1420執行的指令1426。在實施例中,通用處理器1420和/或圖像處理器1414可以是微處理器和軟件,諸如可以存儲或加載到存儲器1422中用于由通用處理器1420和/或圖像處理器1414執行以提供本文所描述的功能的指令1426。注意到,雖然未示出,但計算系統1412可包括附加組件。
[0176]以上所描述的系統、方法和計算機程序產品可以是更大的信息系統的部分。圖15圖示了這樣的實施例,如系統1500。在實施例中,系統1500可以是媒體系統,但是系統1500不限于該背景。例如,系統1500可以被并入到個人計算機(PC)、膝上型計算機、超極膝上型計算機、平板、觸摸板、便攜式計算機、手持式計算機、掌上計算機、個人數字助理(PDA)、蜂窩電話、蜂窩電話/PDA組合、電視、智能設備(例如智能電話、智能平板或智能電視)、移動互聯網設備(MID)、發信息設備、數據通信設備等中。
[0177]在實施例中,系統1500包括耦合到顯示器1520的平臺1502。平臺1502可從諸如(一個或多個)內容服務設備1530或(一個或多個)內容遞送設備1540之類的內容設備或其它類似的內容源接收內容。包括一個或多個巡覽特征的巡覽控制器1550可被用來與例如平臺1502和/或顯示器1520交互。以下將對這些組件的每一個進行詳述。
[0178]在實施例中,平臺1502可包括芯片組1505、處理器1510、存儲器1512、存儲設備1514、圖形子系統1515、應用1516和/或無線電1518的任意組合。芯片組1505可提供處理器1510、存儲器1512、存儲設備1514、圖形子系統1515、應用1516和/或無線電1518之間的互相通信。例如,芯片組1505可包括能夠提供與存儲設備1514的互相通信的存儲適配器(未描繪)。
[0179]處理器1510可被實現為復雜指令集計算機(CISC)或精簡指令集計算機(RISC)處理器、x86指令集兼容處理器、多核或任何其它微處理器或中央處理器單元(CPU)。在實施例中,處理器1510可包括(一個或多個)雙核處理器、(一個或多個)雙核移動處理器坐寸。
[0180]存儲器1512可被實現為易失性存儲器設備,諸如(但不限于)隨機訪問存儲器(RAM)、動態隨機訪問存儲器(DRAM)或靜態RAM (SRAM)。
[0181]存儲設備1514可被實現為非易失性存儲設備,諸如(但不限于)磁盤驅動器、光盤驅動器、磁帶驅動器、內部存儲設備、附連存儲設備、閃存、電池備份SDRAM(同步DRAM)和/或網絡可接入存儲設備。在實施例中,存儲設備1514可包括如下技術:當包括多個硬盤驅動器時,該技術增加對貴重數字介質的存儲性能加強保護。
[0182]圖形子系統1515可執行對諸如靜態或視頻的圖像的處理以用于顯示。圖形子系統1515可以是例如圖形處理單元(GPU)或視覺處理單元(VPU)。模擬或數字接口可被用來以通信方式耦合圖形子系統1515和顯示器1520。例如,接口可以是高清晰度多媒體接口、顯示端口、無線HDMI和/或無線HD兼容技術中的任意一種。圖形子系統1515可被集成到處理器1510或芯片組1505中。圖形子系統1515可以是以通信方式耦合到芯片組1505的獨立卡。
[0183]本文所描述的圖形和/或視頻處理技術可被實現為各種硬件架構。例如,圖形和/或視頻功能可被集成在芯片組內。可替代地,可以使用分立的圖形和/或視頻處理器。在還另一實施例中,圖形和/或視頻功能可由通用處理器實現,該通用處理器包括多核處理器。在另外的實施例中,這些功能可實現為消費電子設備。
[0184]無線電1518可包括能夠使用各種合適的無線通信技術傳輸和接收信號的一個或多個無線電。這樣的技術可以涉及跨越一個或多個無線網絡的通信。示例性無線網絡包括(但不限于)無線局域網(WLAN),無線個域網(WPAN)、無線城域網(WMAN)、蜂窩網絡和衛星網絡。在跨越這樣網絡的通信中,無線電1518可依照一個或多個適用的任意版本的標準進行操作。
[0185]在實施例中,顯示器1520可包括任何電視類型監視器或顯示器。顯示器1520可包括例如計算機顯示器屏幕、觸摸屏顯示器、視頻監視器、電視類設備和/或電視。顯示器1520可以是數字和/或模擬的。在實施例中,顯示器1520可以是全息顯示器。而且,顯示器1520可以是可以接收視覺投影的透明表面。這樣的投影可以傳送各種形式的信息、圖像和/或對象。例如,這樣的投影可以是用于移動增強現實(MAR)應用的視覺重疊。在一個或多個軟件應用1516的控制下,平臺1502可在顯示器1520上顯示用戶界面1522。
[0186]在實施例中,(一個或多個)內容服務設備1530可由任意國家的、國際和/或獨立的服務主控,并且因此平臺1502可經由例如互聯網進行訪問。(一個或多個)內容服務設備1530可耦合到平臺1502和/或顯示器1520。平臺1502和/或(一個或多個)內容服務設備1530可以耦合到網絡1560以把媒體信息傳遞(例如發送和/或接收)到網絡1560,和從網絡1560傳遞媒體信息。(一個或多個)內容遞送設備1540也可以耦合到平臺1502和/或顯示器1520。
[0187]在實施例中,(一個或多個)內容服務設備1530可包括有線電視盒、個人計算機、網絡、電話、能夠遞送數字信息和/或內容的互聯網使能設備或設施、和能夠經由網絡1560或者直接地在內容提供商和平臺1502和/顯示器1520之間單向地或雙向地傳遞內容的任何其它類似設備。將被理解的是,可以經由網絡1560向系統1500中的任何一個組件和內容提供商單向地和/或雙向地傳遞內容,以及經由網絡1560從系統1500中的任何一個組件和內容提供商單向地和/或雙向地傳遞內容。內容的示例可以包括任何媒體信息,包括例如視頻、音樂、醫療和游戲信息等。
[0188](一個或多個)內容服務設備1530接收諸如包括媒體信息、數字信息和/或其它內容的有線電視節目的內容。內容提供商的示例可以包括任何有線或衛星電視或無線電或互聯網內容提供商。所提供的示例并意圖限制本發明的實施例。
[0189]在實施例中,平臺1502可從具有一個或多個巡覽特征的巡覽控制器1550接收控制信號。控制器1550的巡覽特征可被用來與例如用戶界面1522交互。在實施例中,巡覽控制器1550可以是指示設備,指示設備可以是允許用戶把空間(例如連續的和多方向的)數據輸入到計算機中的計算機硬件組件(特指人類接口設備)。諸如圖形用戶界面(GUI)的許多系統和電視和監視器允許用戶使用物理姿勢控制和提供數據到計算機或電視。
[0190]控制器1550的巡覽特征的移動可在顯示器(例如顯示器1520)上通過例如在該顯示器上顯示的指針、光標、焦點環或其它視覺指示的移動來做出反應。例如,在軟件應用1516的控制下,位于巡覽控制器1550上的巡覽特征可被映射到例如在用戶界面1522上顯示的虛擬巡覽特征。在實施例中,控制器1550可以不是單獨的組件,而是集成在平臺1502和/或顯示器1520中。然而,實施例并不受限于本文所示出或描述的元件或者背景。
[0191]在實施例中,驅動器(未不出)可包括使用戶能夠利用在初始啟動后觸摸按鈕(例如在使能時)而即時打開和關閉平臺1502(例如電視)。當平臺被關閉時,程序邏輯可允許平臺1502將內容流送到媒體適配器或(一個或多個)其它內容服務設備1530或(一個或多個)內容遞送設備1540。另外,芯片組1505可包括例如針對5.1環繞聲音頻和/或高清晰度7.1環繞聲音頻的硬件和/或軟件支持。驅動器可包括用于集成圖形平臺的圖形驅動器。在實施例中,圖形驅動器可包括外圍設備互聯(PCI)快速圖形卡。
[0192]在各個實施例中,可以集成系統1500中示出任意一個或多個組件。例如,可以集成平臺1502和(一個或多個)內容服務設備1530,或者可以集成平臺1502和(一個或多個)內容遞送設備1540,或者例如可以集成平臺1502、(一個或多個)內容服務設備1530和(一個或多個)內容遞送設備1540。在各個實施例中,平臺1502和顯示器1520可以是集成的單元。例如,可以集成顯示器1520和(一個或多個)內容服務設備1530,或者可以集成顯示器1520和(一個或多個)內容遞送設備1540。這些示例并不意圖限制本發明。
[0193]在各個實施例中,系統1500可被實現為無線系統、有線系統或這兩者的組合。當實現為無線系統時,系統1500可包括適合于通過無線共享介質進行通信的組件和接口,這些無線共享介質諸如是一個或多個天線、傳輸器、接收器、收發器、放大器、濾波器、控制邏輯等。無線共享介質的示例可以包括無線頻譜的部分,諸如RF頻譜等。當實現為有線系統時,系統1500可包括適合于通過有線通信介質進行通信的組件和接口,這些有線通信介質諸如是輸入/輸出(I/O)適配器,連接I/O適配器和對應的有線通信介質的物理連接器、網絡接口卡(NIC)、盤控制器、視頻控制器、音頻控制器等。有線通信介質的示例包括電線、電纜、金屬導線、印刷電路板(PCB)、底板、交換結構、半導體金屬、雙絞線、同軸電纜、光纖等。
[0194]平臺1502可建立一個或多個邏輯或物理通道以傳遞信息。這些信息可包括媒體信息和控制信息。媒體信息可以指代表示意圖用于用戶的內容的任何數據。內容的示例可以包括例如來自語音會話、視頻會議、流視頻、電子郵件(“ emai 1 ”)消息、語音郵件消息、字母符號、圖形、圖像、視頻、文本等的數據。來自語音會話的數據可以例如是言語信息、沉默期、背景噪音、舒適噪音、音調等??刂菩畔⒖梢灾复硎疽鈭D用于自動化系統的命令、指令或控制字的任何數據。例如,控制信息可被用來通過系統路由媒體信息,或者指令節點以預定方式處理媒體信息。然而這些實施例并不限于圖15中示出或描述的元件或背景。
[0195]如上所述,系統1500可以按照變化的物理式樣或形狀因數被體現。圖16圖示了可以在其中體現系統1500的小形狀因數設備1600的實施例。在實施例中,例如設備1600可被實現為具有無線能力的移動計算設備。移動計算設備可以指代具有處理系統和移動功率源或電源(諸如例如一個或多個電池)的任何設備。
[0196]如上所述,移動計算設備的示例可以包括個人計算機(PC)、膝上型計算機、超級膝上型計算機、平板、觸摸板、便攜式計算機、手持式計算機、掌上計算機、個人數字助理(PDA)、蜂窩電話、蜂窩電話/PDA的組合、電視、智能設備(例如智能電話、智能平板或智能電視)、移動互聯網設備(MID)、發信息設備、數據通信設備等。
[0197]移動計算設備的示例還可以包括被布置為由人穿戴的計算機,諸如手腕計算機、手指計算機、環形計算機、眼鏡計算機、皮帶夾計算機、臂帶計算機、鞋計算機、衣服計算機和其它可穿戴計算機。在實施例中,例如,移動計算設備可被實現為能夠執行計算機應用以及語音通信和/或數據通信的智能電話。盡管可以以示例的方式利用被實現為智能電話的移動計算設備描述一些實施例,但是可以理解的是,還可以使用其它無線移動計算設備來實現其它實施例。實施例并不限于這個背景。
[0198]如圖16中所不,設備1600可包括外殼1602、顯不器1604、輸入/輸出(I/O)設備1606和天線1608。設備1600還可以包括巡覽特征1612。顯示器1604可包括用于顯示適合于移動計算設備的信息的任何合適的顯示單元。I/o設備1606可包括用于把信息輸入到移動計算設備中的任何合適的I/O設備。I/O設備1606的示例可以包括字母鍵盤、數字鍵板、觸摸板、輸入鍵、按鈕、開關、搖臂開關、麥克風、揚聲器、語音識別設備和軟件等。還可以通過麥克風的方式將信息輸入到設備1600中。這樣的信息可由語音識別設備進行數字化。實施例并不限于這個背景。
[0199]可使用硬件元件、軟件元件或這兩者的組合來實現各個實施例。硬件元件的示例可包括處理器、微處理器、電路、電路元件(例如晶體管、電阻器、電容器、電感器等)、集成電路、專用集成電路(ASIC)、可編程邏輯器件(PLD)、數字信號處理器(DSP)、現場可編程門陣列(FPGA)、邏輯門、寄存器、半導體器件、芯片、微芯片、芯片組等。軟件的示例可包括軟件組件、程序、應用、計算機程序、應用程序、系統程序、機器程序、操作系統軟件、中間件、固件、軟件模塊、例程、子例程、功能、方法、進程、軟件接口、應用程序接□ (API)、指令集、計算碼、計算機碼、碼段、計算機碼段、文字、數值、符號或以上這些的任意組合。確定是否使用硬件元件和/或軟件元件來實現實施例可以依照任意數量的因素而變化,諸如期望的計算速率、功率等級、耐熱性、處理周期預算、輸入數據速率、輸出數據速率、存儲器資源、數據總線速度和其它設計或性能約束。
[0200]可由存儲在機器可讀介質上的表示性指令來實現至少一個實施例的一個或多個方面,表示性指令表示處理器內的各種邏輯,當機器讀取這些指令時,使得機器制造邏輯以執行本文所描述的技術。被稱為“IP核”的這樣的表示可存儲在有形的機器可讀介質上,并且供應給各個消費者或制造工廠以將其加載到實際上制造邏輯或處理器的制造機器中。
[0201]以下示例涉及進一步的實施例。
[0202]示例1可包括圖像處理系統,該圖像處理系統包括第一電路邏輯單元,其被配置為針對彩色圖像中的每個像素位置(i,j)和每個顏色通道,確定顏色濾波器陣列中的扭曲位置a’,j’);和第二電路邏輯單元,其被配置為針對彩色圖像中的每個像素位置a,j)和每個顏色通道,確定顏色濾波器陣列中的位置a’,j’)處的顏色通道的顏色值。
[0203]在示例2中,示例1的主題可以可選地包括第三電路邏輯單元,其被配置為針對彩色圖像中的每個像素位置(i,j)和每個顏色通道,存儲所確定的顏色值。
[0204]示例3可包括示例1-2中任一所述的主題,其中由第二電路邏輯單元確定顏色值包括插值顏色濾波器陣列中位置a’,j’)處的顏色通道的顏色值。
[0205]示例4可包括示例3的主題,其中插值顏色值包括通過雙線性插值來插值顏色濾波器陣列中位置a’,j’)處的顏色通道的顏色值。
[0206]示例5可包括示例3的主題,其中插值顏色值包括通過雙三次插值來插值顏色濾波器陣列中位置a’,j’)處的顏色通道的顏色值。
[0207]示例6可包括示例3的主題,其中插值顏色值包括通過最接近相鄰插值來插值顏色濾波器陣列中的位置a’,j’)處的顏色通道的顏色值。
[0208]示例7可包括示例1-6中任一所述的主題,其中顏色濾波器陣列包括拜耳模板。
[0209]示例8可包括用于圖像處理的計算機程序產品,該計算機程序產品包括至少一個非臨時性計算機可讀介質,該非臨時性計算機可讀介質具有存儲在其中的計算機程序邏輯,該計算機程序邏輯包括使得處理器針對彩色圖像中的每個像素位置(i,j)和每個顏色通道確定顏色濾波器陣列中的扭曲位置的邏輯;和使得處理器針對彩色圖像中的每個像素位置a,j)和每個顏色通道確定顏色濾波器陣列中的位置a’,j’)處的顏色通道的顏色值的邏輯。
[0210]示例9可包括示例8的主題,其中計算機程序邏輯進一步包括使得處理器針對彩色圖像中的每個像素位置(i,j)和每個顏色通道存儲所確定的顏色值的邏輯。
[0211]示例10可包括示例8-9任一所述的主題,其中使得處理器確定顏色值的邏輯包括:使得處理器插值顏色濾波器陣列中位置a’,j’)處的顏色通道的顏色值的邏輯。
[0212]示例11可包括示例10的主題,其中使得處理器插值顏色值的邏輯包括:使得處理器通過雙線性插值來插值顏色濾波器陣列中位置a’,j’)處的顏色通道的顏色值的邏輯。
[0213]示例12可包括示例10的主題,其中使得處理器插值顏色值的邏輯包括:使得處理器通過雙三次插值來插值顏色濾波器陣列中位置a’,j’)處的顏色通道的顏色值的邏輯。
[0214]示例13可包括示例10的主題,其中使得處理器插值顏色值的邏輯包括:使得處理器通過最接近相鄰插值來插值顏色濾波器陣列中位置a’,j’)處的顏色通道的顏色值的邏輯。
[0215]示例14可包括示例8-13中任一所述的主題,其中顏色濾波器陣列包括拜耳模板。
[0216]示例15可包括用于圖像處理的設備,其包括用于針對彩色圖像中的每個像素位置a,j)和每個顏色通道,確定顏色濾波器陣列中的扭曲位置a’,j’)的裝置;和用于通過圖像處理設備針對彩色圖像中的每個像素位置a,j)和每個顏色通道確定顏色濾波器陣列的位置a’,j’)處的顏色通道的顏色值的裝置。
[0217]在示例16中,示例15的主題可以可選地包括用于針對彩色圖像中的每個像素位置(i,j)和每個顏色通道存儲所確定的顏色值的裝置。
[0218]示例17包括示例15-16中任一所述的主題,其中用于確定顏色值的裝置包括用于插值顏色濾波器陣列中位置a’,j’)處的顏色通道的顏色值的裝置。
[0219]示例18包括示例17的主題,其中用于插值的裝置包括用于通過雙線性插值來插值顏色濾波器陣列中位置a’,j’)處的顏色通道的顏色值的裝置。
[0220]示例19包括示例17的主題,其中用于插值的裝置包括:用于通過雙三次插值來插值顏色濾波器陣列中位置a’,j’)處的顏色通道的顏色值的裝置。
[0221]示例20包括示例17的主題,其中用于插值的裝置包括:用于通過最接近相鄰插值來插值顏色濾波器陣列中位置a’,j’)處的顏色通道的顏色值的裝置。
[0222]示例21包括示例15-20中任一所述的主題,其中顏色濾波器陣列包括拜耳模板。
[0223]示例22可包括一種圖像處理方法,其包括:針對彩色圖像中的每個像素位置(i,j)和每個顏色通道,通過圖像處理設備確定顏色濾波器陣列中的扭曲位置a’,j’);和通過圖像處理設備確定顏色濾波器陣列的位置a’,j’)處的顏色通道中的顏色值。
[0224]在示例23中,示例22的主題可以可選地包括:針對彩色圖像中的每個像素位置(i,j)和每個顏色通道,存儲所確定的顏色值。
[0225]示例24可包括示例22-23中任一所述的主題,其中確定顏色值包括:插值顏色濾波器陣列中位置a’,j’)處的顏色通道的顏色值。
[0226]示例25可包括示例24的主題,其中插值顏色值包括:通過雙線性插值來插值顏色濾波器陣列中位置a’,j’)處的顏色通道的顏色值。
[0227]示例26可包括示例24的主題,其中插值顏色值包括:通過雙三次插值來插值顏色濾波器陣列中位置a’,j’)處的顏色通道的顏色值。
[0228]示例27可包括示例24的主題,其中插值顏色值包括:通過最接近相鄰插值來插值顏色濾波器陣列中位置a’,j’)處的顏色通道的顏色值。
[0229]示例28可包括示例22-27中任一所述的主題,其中顏色濾波器陣列包括拜耳模板。
[0230]示例29可包括至少一個機器可讀介質,包括多個指令,響應于在計算設備上執行這些指令,使得計算設備執行根據示例22-28中任一所述的方法。
[0231]示例30可包括一種計算機系統,用于執行示例22-28中任一所述的方法。
[0232]示例31可包括被配置為執行示例22-28中任一所述的方法的設備。
[0233]示例32可包括用于執行示例22-28中任一所述的方法機器。
[0234]示例33可包括一種設備,該設備包含用于執行示例22-28中任一所述的方法的裝置。
[0235]示例34可包括一種計算設備,包括根據示例22-28中任一個的芯片組和存儲器以用于處理圖像。
[0236]在圖示了功能、特征及其關系的功能建構塊的幫助下,本文公開了方法和系統。出于描述方便的目的,在本文中任意定義了這些功能建構塊的至少一些邊界??梢远x替換的邊界,只要特定功能及其關系被合適地執行。
[0237]雖然本文公開了各個實施例,但應當理解的是,它們僅以示例而非限制的方式被呈現。對于相關領域技術人員將顯而易見的是,可以在其中做出形式和細節上的各種修改而不脫離本文所公開的方法和系統的范圍。因此,權利要求的寬度和范圍不應當由本文所公開的任何示例性實施例所限制。
[0238]如可以在本申請和權利要求中所使用的那樣,由術語“一個或多個”所連接的項目列表可以表示所列術語的任意組合。例如,短語“A、B或C中的一個或多個”可以表示A ;B ;C ;A和Β ;Α和C ;Β和C ;或者A, B和C。
【權利要求】
1.一種圖像處理系統,包括: 第一電路邏輯單元,被配置為:針對彩色圖像中的每個像素位置(i,j)和每個顏色通道確定顏色濾波器陣列中的扭曲位置a’,j’);和 第二電路邏輯單元,被配置為:針對所述彩色圖像中的每個像素位置a,j)和每個顏色通道,確定所述顏色濾波器陣列中位置a’,j’)處的所述顏色通道的顏色值。
2.根據權利要求1所述的圖像處理系統,進一步包括: 第三電路邏輯單元,被配置為:針對所述彩色圖像中的每個像素位置a,j)和每個顏色通道存儲所述確定的顏色值。
3.根據權利要求1所述的圖像處理系統,其中由所述第二電路邏輯單元確定顏色值包括:插值所述顏色濾波器陣列中位置a’,j’)處的所述顏色通道的所述顏色值。
4.根據權利要求3所述的圖像處理系統,其中插值所述顏色值包括通過雙線性插值來插值所述顏色濾波器陣列中位置a’,j’)處的所述顏色通道的所述顏色值。
5.根據權利要求3所述的圖像處理系統,其中插值所述顏色值包括通過雙三次插值來插值所述顏色濾波器陣列中位置a’,j’)處的所述顏色通道的所述顏色值。
6.根據權利要求3所述的圖像處理系統,其中插值所述顏色值包括通過最接近相鄰插值來插值所述顏色濾波器陣列中位置a’,j’)處的所述顏色通道的所述顏色值。
7.根據權利要求1所述的圖像處理系統,其中所述顏色濾波器陣列包括拜耳模板。
8.一種用于圖像處理的計算機程序產品,包括至少一個計算機可讀介質,所述計算機可讀介質具有存儲在其中的計算機程序邏輯,所述計算機程序邏輯包括: 使得處理器針對彩色圖像中的每個像素位置(i,j)和每個顏色通道確定顏色濾波器陣列中的扭曲位置a’,j’)的邏輯;和 使得所述處理器針對所述彩色圖像中的每個像素位置a,j)和每個顏色通道確定所述顏色濾波器陣列中位置a’,j’)處的所述顏色通道的顏色值的邏輯。
9.根據權利要求8所述的計算機程序產品,其中所述計算機程序邏輯進一步包括: 使得所述處理器針對所述彩色圖像中的每個像素位置(i,j)和每個顏色通道存儲所確定的顏色值的邏輯。
10.根據權利要求8所述的計算機程序產品,其中使得所述處理器確定所述顏色值的所述邏輯包括:使得所述處理器插值所述顏色濾波器陣列中位置處的所述顏色通道的所述顏色值的邏輯。
11.一種用于圖像處理的設備,包括: 用于針對彩色圖像中的每個像素位置(i,j)和每個顏色通道確定顏色濾波器陣列中的扭曲位置的裝置;和 用于通過圖像處理設備針對所述彩色圖像中的每個像素位置(i,j)和每個顏色通道確定所述顏色濾波器陣列的位置a’,j’)處的所述顏色通道中的顏色值的裝置。
12.根據權利要求11所述的設備,進一步包括: 用于針對所述彩色圖像中的每個像素位置(i,j)和每個顏色通道存儲所確定的顏色值的裝置。
13.根據權利要求11所述的設備,其中用于確定所述顏色值的所述裝置包括: 用于插值所述顏色濾波器陣列中位置a’,j’)處的所述顏色通道的所述顏色值的裝 置。
14.一種圖像處理方法,包括: 通過圖像處理設備針對彩色圖像中的每個像素位置(i,j)和每個顏色通道確定顏色濾波器陣列中的扭曲位置a’,j’);和 通過所述圖像處理設備確定所述顏色濾波器陣列的位置a’,j’)處的所述顏色通道中的顏色值。
15.根據權利要求14所述的方法,進一步包括:針對彩色圖像中的每個像素位置(i,j)和每個顏色通道: 存儲所確定的顏色值。
16.根據權利要求14所述的方法,其中確定所述顏色值包括:插值所述顏色濾波器陣列中位置a’,j’)處的所述顏色通道的所述顏色值。
17.根據權利要求16所述的方法,其中插值所述顏色值包括:通過雙線性插值來插值所述顏色濾波器陣列中位置a’,j’)處的所述顏色通道的所述顏色值。
18.根據權利要求16所述的方法,其中插值所述顏色值包括:通過雙三次插值來插值所述顏色濾波器陣列中位置a’,j’)處的所述顏色通道的所述顏色值。
19.根據權利要求16所述的方法,其中插值所述顏色值包括:通過最接近相鄰插值來插值所述顏色濾波器陣列中位置a’,j’)處的所述顏色通道的所述顏色值。
20.根據權利要求14所述的方法,其中所述顏色濾波器陣列包括拜耳模板。
21.至少一個機器可讀介質,包括多個指令,響應于在計算設備上執行這些指令,使得所述計算設備執行根據權利要求14-20中任一所述的方法。
22.—種計算機系統,用于執行權利要求14-20中任一所述的方法。
23.一種設備,被配置為執行權利要求14-20中任一所述的方法。
24.—種機器,用于執行權利要求14-20中任一所述的方法。
25.一種設備,包括用于執行權利要求14-20中任一所述的方法的裝置。
【文檔編號】H04N9/07GK104350743SQ201380021000
【公開日】2015年2月11日 申請日期:2013年3月15日 優先權日:2012年5月11日
【發明者】E·G·格羅斯曼恩, J·I·伍德菲爾, G·戈爾多 申請人:英特爾公司