專利名稱:數字影像的顏色錯位的消除方法
技術領域:
本發明是關于一種影像處理方法,特別是一種數字影像的顏色錯位的消除方法。
背景技術:
顏色錯位(color fringe)為影像系統設置錯誤的顏色在影像的某些位置上。在相機上,顏色錯位的成因主要有三透鏡(lens)的相差(aberration)、傳感器 的暈散(blooming)及彩色影像內插演算法(color filter arrayinterpolation ;CFAI)。由于玻璃對不同波長的光的折射程度不同,因此透鏡(非平面鏡)形成的圖像有 顏色錯位。由于透鏡的相差致使不同顏色無法精確地校準,因而造成物體的邊緣模糊不清。傳感器為數碼相機的核心部件。在數碼相機中,傳感器的功能是將透過鏡頭 的光線捕獲并轉換為電信號。當光線經鏡頭會聚到傳感器上時,傳感器的光電二極體 (photodiode)因感受光強的不同而感應出不同數量的電荷并由存儲器暫存。經存儲器暫 存后,再由電荷轉移電路及電荷信息讀取電路按時鐘脈沖順序讀出電荷信息,并送往A/D 轉換器,以轉換形成與光強度成比例的二進位數字(即電信號)。并且,此二進位數字即對 應一個像素的資料。然而,每個光電二極體在曝光期間僅能累積一定的電荷量。在高亮度 區域,在一個像素上,當產生的電荷數量過多且達到飽和時,過多的電荷會溢位至鄰近的像 素,以致鄰近像素的資料發生錯誤,此現象即稱之為暈散。當有一個像素發生顏色錯位時,在執行CFAI時,則會依據錯誤的顏色而產生錯誤 的像素值,以致使鄰近像素因而發生顏色錯位。在已知技術上,多是以三原色(R/G/B)信號來進行檢測,以找出發生顏色錯位的 像素。然而,顏色錯位通常發生在亮的區域。因此,此方法會造成部分發生顏色錯位的像素 未被發現,進而未修正到。再者,在已知技術上,修正方法采用色度(Cb和Cr)壓抑法或是將紅色(R)信號及 藍色(B)信號往綠色(G)信號壓抑。此些方法都會造成修正后的影像偏灰。相關技術可參考美國專利申請案公開號第2007/0153341及2007/0097267號。
發明內容
鑒于以上的問題,本發明提供一種數字影像的顏色錯位的消除方法,以解決已知 技術所存在的至少一問題。本發明所公開的數字影像的顏色錯位的消除方法,包括取得一數字影像;利用 特定色彩檢測、亮度檢測以及漸層色彩檢測分析各像素的亮度與色度分離的信號,以判定 在數字影像中各像素是否發生顏色錯位,并且將特定色彩檢測、亮度檢測以及漸層色彩檢 測的結果判定為未發生顏色錯位的像素設定為正常像素;將特定色彩檢測、亮度檢測以及 漸層色彩檢測的結果均判定為發生顏色錯位的像素設定為顏色錯位像素;以及修正顏色錯 位像素。其中,特定色彩檢測包括根據多種顏色的色度范圍分析未設定的像素的亮度與色度分離的信號的色度值;判定色度值落在此些顏色的色度范圍內的像素為發生顏色錯 位;以及判定色度值落在此些顏色的色度范圍之外的像素為未發生顏色錯位。其中,亮度檢測包括利用一 KXK遮罩分析未設定的像素的亮度與色度分離的信 號中的亮度值,以找出未設定的像素中位于高對比區域中且在高亮度區域中的像素;以及 判定位于高對比區域且高亮度區域中的像素發生顏色錯位。在此,K*h+l,X為大于1的正整數,且進行檢測的未設定的像素位于KXK遮罩 的中心。其中,漸層色彩檢測包括利用一 MXM遮罩分析未設定的像素的亮度與色度分離 的信號中的亮度值和色度值,以找出未判定為發生顏色錯位的像素中位在非平滑區域中、 漸層色區域、由亮到暗呈梯度變化的區域且鄰近亮部為中性色的區域中的像素;以及判定 符合此條件的像素為發生顏色錯位。在此,M為2y+l,y為大于1的正整數,且進行檢測的未判定為發生顏色錯位的像 素位于MXM遮罩的中心。根據本發明的數字影像的顏色錯位的消除方法可有效地消除數字影像中的顏色 錯位,且修正后的顏色較為鮮艷,例如不會偏灰。以上的關于本發明內容的說明及以下的實施方式的說明用以示范與解釋本發明 的精神與原理,并且提供本發明的專利申請的保護范圍更進一步的解釋。
圖1為根據本發明一實施例的數字影像的顏色錯位的消除方法的流程圖。圖2A為一實施例的數字影像中各像素的檢測順序的示意圖。圖2B為一實施例的顏色錯位的檢測的流程圖。圖3為一實施例的特定色彩檢測的流程圖。圖4為一實施例的多種顏色的色度范圍的示意圖。圖5A及圖5B為一實施例的亮度檢測的流程圖。圖6A、6B、6C、6D、6E、6F、6G及6H為在5X5遮罩下八個方向的示意圖。圖7A、7B、7C及7D為一實施例的漸層色彩檢測的流程圖。圖8為在5X5遮罩所涵蓋的像素的示意圖。圖9為一實施例的修正程序的流程圖。圖10為一實施例的補償方法決定程序及計算修正值的流程圖。附圖標記說明200數字影像210 遮罩Po 中心像素Pn鄰近像素POO鄰近像素POl鄰近像素P02鄰近像素P03鄰近像素
P04鄰近像素
PlO鄰近像素
Pll鄰近像素
P12鄰近像素
P13鄰近像素
P14鄰近像素
P20鄰近像素
P21鄰近像素
P22中心像素
P23鄰近像素
P24鄰近像素
P30鄰近像素
P31鄰近像素
P32鄰近像素
P33鄰近像素
P40鄰近像素
P41鄰近像素
P42鄰近像素
P43鄰近像素
P44鄰近像素
具體實施例方式根據本發明的數字影像的顏色錯位的消除方法可應用于一電子計算裝置,以通過 此電子計算裝置對所輸入至電子計算裝置內的數字影像進行顏色錯位的修正處理。換言 之,根據本發明的數字影像的顏色錯位的消除方法可以軟體或固件程序儲存在電子計算裝 置的儲存單元(例如存儲器或硬盤等)中,再由電子計算裝置的處理器執行儲存的軟體 或固件程序而實現。此電子計算裝置可為電腦、手機、個人數字助理(personal digital assistant ;PDA)、或數碼相機等電子設備。圖1為根據本發明一實施例的數字影像的顏色錯位的消除方法的流程圖。參照圖1,步驟110,電子計算裝置可具有輸入單元,以取得一數字影像。此輸入單 元可為一影像檢索單元,或為有線或無線的傳輸接口。步驟110,或者是,處理器可從儲存單元中讀出已預先儲存在儲存單元中的數字影 像,以取得一數字影像。電子計算裝置更可具有一信號轉換單元。此信號轉換單元接收數字影像,步驟 120,并將此數字影像的各像素由三原色(RGB)信號轉換為亮度與色度分離(YCbCr)的信號。在一般8位元(bit)處理系統中,RGB信號的值為介于0 255之間的正整數,而 YCbCr信號的值的范圍為Y (亮度)信號為0 255,而Cb和Cr (色度)信號為-127 127, 但Y、Cb和Cr信號皆為整數值。此信號轉換單元所轉換出的信號乃是用以分析影像內容以檢測并修正發生顏色錯位的像素。其中,若取得的數字影像已是亮度與色度分離(YCbCr)的信號,則可不需信號轉 換單元。在此,信號轉換單元可整合在處理器中,抑或以另一處理器實現。接著,進行各像素的顏色錯位的檢測。步驟130,在此,利用特定色彩檢測 (specific color detection) > ^iS ^ IlJ (luminance detection)B ft'M (color detection)分析各像素的亮度與色度分離的信號,步驟140,以判定在該數字影像 中各像素是否發生顏色錯位。并且,步驟150,將特定色彩檢測、亮度檢測以及漸層色彩檢測的結果判定為未發 生顏色錯位的像素設定為正常像素。步驟160,將特定色彩檢測、亮度檢測以及漸層色彩檢 測的結果均判定為發生顏色錯位的像素設定為顏色錯位像素。最后,步驟180,保留正常像素的值,然后修正顏色錯位像素,以得到修正后的數字影像。在步驟130中,特定色彩檢測、亮度檢測以及漸層色彩檢測,此三種檢測程序可以 任意順序執行。為了方便說明,以下以特定色彩檢測、亮度檢測以及漸層色彩檢測依序執行為例。參照圖2A,數字影像200中各像素會依序根據其亮度與色度分離的信號進行顏色 錯位的檢測。在亮度檢測以及漸層色彩檢測中,會以進行檢測的像素作為中心像素Po展開 一遮罩210,并利用遮罩210進行此中心像素Po的檢測。參照圖2B,首先,步驟131,從數字影像中選擇一像素,步驟132,選擇的像素會先 進行特定色彩檢測,步驟142,以判斷各像素是否有發生顏色錯位的像素。步驟150,并且,將在特定色彩檢測中判定為未發生顏色錯位的像素設定為正常像 素并將此設定值記錄在暫存器中。步驟134,在特定色彩檢測中判定為發生顏色錯位的像素則接續進行亮度檢測,步 驟144,以判斷未設定的各像素是否有發生顏色錯位的像素。步驟150,再將在亮度檢測中判定為未發生顏色錯位的像素設定為正常像素并將 此設定值記錄在暫存器中。步驟136,而在亮度檢測中判定為發生顏色錯位的像素則接續進行漸層色彩檢測, 步驟146,以判斷未設定的各像素是否有發生顏色錯位的像素。步驟150,再將在漸層色彩檢測中判定為未發生顏色錯位的像素設定為正常像素 并將此設定值記錄在暫存器中。步驟160,并且,將在漸層色彩檢測中判定為發生顏色錯位的像素設定為顏色錯位 像素;換言之,在特定色彩檢測、亮度檢測以及漸層色彩檢測中均判定為發生顏色錯位的像 素才設定為顏色錯位像素。步驟170,接著,確認數字影像中的所有像素是否皆完成設定,即確認數字影像中 的所有像素是否皆進行顏色錯位的檢測。若尚未完成所有像素的設定(顏色錯位的檢測),則選擇下一像素(步驟172和步 驟131)以利用特定色彩檢測、亮度檢測以及漸層色彩檢測進行此選擇的像素的顏色錯位 的檢測(步驟132、步驟142、步驟134、步驟144、步驟136及步驟146)。
步驟180,當數字影像中的所有像素皆完成設定時,則進行修正程序,即,保留正常 像素的值,然后修正顏色錯位像素的值,以得到修正后的數字影像。在此,雖然是以特定色彩檢測、亮度檢測以及漸層色彩檢測依序執行為例,然而此 執行順序并非本發明的限制。也就是說,也可以亮度檢測、漸層色彩檢測以及特定色彩檢測 的順序依序執行,即先執行亮度檢測,在亮度檢測中判定為發生顏色錯位的像素再進行漸 層色彩檢測,而在漸層色彩檢測中判定為發生顏色錯位的像素才進行特定色彩檢測。或者 是以漸層色彩檢測、特定色彩檢測以及亮度檢測的順序依序執行,即先執行漸層色彩檢測, 在漸層色彩檢測中判定為發生顏色錯位的像素再進行特定色彩檢測,而在特定色彩檢測中 判定為發生顏色錯位的像素才進行亮度檢測。同理,也可以亮度檢測、特定色彩檢測以及漸 層色彩檢測的順序依序執行,或是以漸層色彩檢測、亮度檢測以及特定色彩檢測的順序依 序執行,或是以特定色彩檢測、漸層色彩檢測以及亮度檢測的順序依序執行。在此,特定色彩檢測(步驟13 利用像素的色度信息及預先定義的多種顏色的色 度范圍來判定選擇的像素是否發生顏色錯位。參照圖3,步驟321,在進行特定色彩檢測(步驟13 時,根據預先定義的多種顏 色的色度范圍分析未設定的像素的色度值,以確定未設定的像素的色度值是否落入定義的 色度范圍內。此色度值可包括亮度與色度分離的信號中的藍色色度(Cb)信號和紅色色度 (Cr)信號。其中,當特定色彩檢測為最先執行的檢測程序時,未設定的像素為選定的像素。當 特定色彩檢測不為最先執行的檢測程序時,未設定的像素為前一個檢測程序判定為發生顏 色錯位的像素。步驟323,并且,將色度值落在定義的多種顏色的色度范圍內的像素判定為發生顏 色錯位;反之,步驟325,色度值落在定義的多種顏色的色度范圍之外的像素則判定為未發 生顏色錯位。針對特定色彩檢測(步驟13 ,會根據可能發生顏色錯位的區域預先定義出此些 顏色的色度范圍。舉例來說,圖4是顯示可能發生顏色錯位的色度范圍,其中區塊A為在黃 色區域上可能發生顏色錯位的色度區塊、區塊B為在紅色區域上可能發生顏色錯位的色度 區塊、區塊C為在綠色區域上可能發生顏色錯位的色度區塊和區塊D為在桃紅色區域上可 能發生顏色錯位的色度區塊。因此,可依據區塊A定義出紅黃的色度范圍、依據區塊B定義 出紅色的色度范圍、依據區塊C定義出黃色的色度范圍,并且依據區塊D定義出桃紅色的色 度范圍。在此,可將定義出可能發生顏色錯位的此些顏色的色度范圍設定為對應的多個色 度范圍閾值(chrominance range threshold),并且透過比較像素的色度值與設定的色度 范圍閾值來確定進行檢測的像素的色度值是否落入定義的色度范圍內。此外,也可依據定義出可能發生顏色錯位的此些顏色的色度范圍設定對應在此些 色度范圍外的區域(即不會顏色錯位的色度范圍)的一色度范圍閾值,然后通過比較像素 的色度值與此閾值相比較來確定進行檢測的像素的色度值是否落入定義的色度范圍內。以 圖4為例,設定對應在可能發生顏色錯位的多種顏色的色度范圍外的區域的色度范圍閾值 即為設定包含區塊E內的所有色度值的色度范圍閾值。在亮度檢測(步驟134)中,利用像素的亮度信息來判定選擇的像素是否發生顏色錯位。在此,利用KXK遮罩找出未設定的像素中位于高對比區域中且在高亮度區域中的像 素。K為2x+l,且χ為大于1的正整數。在此,KXK遮罩為以進行檢測的像素為中心來展開涵蓋KXK個像素的一個參考 區域。換言之,進行檢測的像素為KXK遮罩的中心像素,而在KXK遮罩下中心像素以外的 像素則稱之為鄰近像素。其中,當亮度檢測為最先執行的檢測程序時,未設定的像素為選定的像素。當亮度 檢測不為最先執行的檢測程序時,未設定的像素為前一個檢測程序判定為發生顏色錯位的像素。換言之,在亮度檢測(步驟134)中,會進行2項亮度確認程序。為了方便描述,以 下分別稱之為第一亮度確認程序和第二亮度確認程序。第一亮度確認程序是確認進行檢測的像素是否位在高對比區域。第二亮度確認程 序是確認進行檢測的像素是否位在高亮度區域。參照圖5A,步驟341,在第一亮度確認程序中,首先計算在KXK遮罩下在八個方向 上的亮度梯度值,即分別針對各個方向計算鄰近像素Pn與中心像素Po的差的總和。舉例來說,以5X5遮罩為例,參照圖6A-6H,八個方向分別為圖示中填滿區域所表 現出方向DirO (右)、方向Dirl (右上)、方向Dir2(上)、方向Dir3(左上)、方向Dir4(左)、 方向Dir5(左下)、方向Dir6(下)和方向Dir7(右下)。每個方向上具有中心像素Po和2個鄰近像素Pn。其中,亮度梯度值的公式為sum_Dirj = (Yl-Yc) + (Y2-Yc)。j為0到7中之一整數值,即代表方向。Yc表示中心像素Po的亮度值,而Yl和Y2 分別表示兩鄰近像素Pn的亮度值。步驟342,再從得到的八個亮度梯度值中找出最大亮度梯度值和最小亮度梯度值。步驟343,計算最大亮度梯度值和最小亮度梯度值的差值。步驟344,然后將最大亮度梯度值和最小亮度梯度值的差值與第一閾值相比較。步驟345,當最大亮度梯度值和最小亮度梯度值的差值大于第一閾值時,判定中心 像素Po位于高對比區域,即進行檢測的像素位在高對比區域中。步驟346,當最大亮度梯度值和最小亮度梯度值的差值小于或等于第一閾值時,判 定中心像素Po不是位于高對比區域,即進行檢測的像素不是位在高對比區域中。接著,確認為位在高對比區域中的像素接續進行第二亮度確認程序(即,接續進 行步驟347)。而確認為不是位在高對比區域中的像素則判定為未發生顏色錯位(步驟 353)。參照圖5B,步驟347,在第二亮度確認程序中,首先將在KXK遮罩下所有鄰近像素 Pn的亮度值分別與一第二閾值相比較,步驟348,并且計算亮度值大于第二閾值的鄰近像
素的數量。接著,步驟349,將計算得的數量與第三閾值相比較。步驟350,當計算得的數量大于第三閾值時,判定中心像素Po位于高亮度區域,即 進行檢測的像素位在高亮度區域中。步驟351,當計算得的數量小于或等于第三閾值時,判定中心像素Po不是位于高 亮度區域,即進行檢測的像素不是位在高亮度區域中。
接著,步驟352,將確認為位在高亮度區域中的像素判定為發生顏色錯位,即將位 于高對比區域且高亮度區域中的像素(進行檢測的像素)判定為發生顏色錯位。步驟353, 將確認為不是位在高亮度區域中的像素則判定為未發生顏色錯位。在此,第一和第二用以區別兩種不同程序,并無執行順序的限制。換言之,第一亮 度確認程序和第二亮度確認程序的執行順序可任意調換。即,先執行第二亮度確認程序,在 第二亮度確認程序中確認為位在高亮度區域中的像素接續執行第一亮度確認程序。也就是說,在亮度檢測中,未設定的像素中的位于高對比區域且高亮度區域中的 像素才判定為發生顏色錯位。在漸層色彩檢測(步驟136)中,利用像素的亮度信息及色度信息依據影像的漸層 狀態來判定選擇的像素是否發生顏色錯位。在此,利用MXM遮罩找出未設定的像素中位在 非平滑區域中、位在漸層色區域中、位在亮到暗呈梯度變化的區域中且位在鄰近亮部為中 性色的區域的像素。M為2y+l,y為大于1的正整數。在此,漸層色彩檢測(步驟136)可 與亮度檢測(步驟134)使用相同尺寸的遮罩,即M等于K。漸層色彩檢測(步驟136)也可 與亮度檢測(步驟134)使用不同尺寸的遮罩,即M不等于K。在此,以進行檢測的像素位中心來展開涵蓋MXM個像素的一個MXM遮罩。換言 之,進行檢測的像素為MXM遮罩的中心像素,而在MXM遮罩下中心像素以外的像素則稱之 為鄰近像素。其中,當漸層色彩檢測為最先執行的檢測程序時,未設定的像素為選定的像素。當 漸層色彩檢測不為最先執行的檢測程序時,未設定的像素為前一個檢測程序判定為發生顏 色錯位的像素。換言之,在漸層色彩檢測(步驟136)中,會進行4項漸層確認程序。為了方便描 述,以下分別稱之為第一漸層確認程序、第二漸層確認程序、第三漸層確認程序和第四漸層 確認程序。第一漸層確認程序是確認進行檢測的像素是否位在非平滑區域(non-smooth area) 0第二漸層確認程序是確認進行檢測的像素是否位在漸層色區域(gradational color area) 0第三漸層確認程序是確認進行檢測的像素是否位在由亮到暗呈梯度變化的 1 (area appearing gradational variation frombright to dark)。胃石角 λ 程序是確認進行檢測的像素是否位在鄰近亮部為中性色的區域(area appearing bright neutral color)0在第一漸層確認程序中,透過計算在MXM遮罩下在鄰近區域中接近中性色的像 素的數量來判定進行檢測的像素是否位在非平滑區域。參照圖7A及8,首先,步驟361,計算在MXM遮罩下在八個方向上的最外圍的鄰近 像素P00、P02、P04、P20、P24、P40、P42、P44與中心像素P22的差值(亮度與色度分離的信 號的差值)。在圖8中,以5X5遮罩為例,即M等于5,然而此非本發明的限制。其中,P00、 P01、P02、P03、P04、P10、Pll、P12、P13、P14、P20、P21、P23、P24、P30、P31、P32、P33、P40、 P41、P42、P43及P44為中心像素P22的鄰近像素。步驟362,并且,將得到的最外圍的鄰近像素P00、P02、P04、P20、P24、P40、P42、P44
與中心像素P22的差值分別與第四閾值相比較。在此,第四閾值可為單一數值或為一數值 限制范圍。當第四閾值為單一數值時,可以差值的絕對值與閾值相比較。
步驟363,計算符合條件的數量,S卩,計算差值(絕對值)小于或等于第四閾值的數 量,或是計算差值落入第四閾值的數量。步驟364,再將計算得出的數量與第五閾值相比較。步驟365,當計算得的數量大于第五閾值時,判定中心像素P22位于平滑區域,即 進行檢測的像素不是位在非平滑區域中。步驟366,當計算得的數量小于或等于第五閾值時,判定中心像素P22不是位于平 滑區域,即進行檢測的像素位在非平滑區域中。接著,確認為位在非平滑區域中的像素接續進行第二漸層確認程序(即,接續進 行步驟367)。而確認為不是位在非平滑區域中的像素則判定為未發生顏色錯位(步驟 384)。在第二漸層確認程序中,透過檢測在MXM遮罩下在相對于具有最大亮度梯度值 的方向上的像素是否接近中性色來判定進行檢測的像素是否位在漸層色區域。參照圖7B,步驟367,首先,計算在MXM遮罩下在八個方向中具有最大亮度梯度值 的方向的相對方向上,最外圍的鄰近像素與中心像素的差值(亮度與色度分離的信號的差 值),步驟368,并且將此差值與第六閾值相比較。舉例來說,假設具有最大亮度梯度值的方向為如圖6A所示的方向DirO,具有最大 亮度梯度值的方向的相對方向即為如圖6E所示的方向Dir4。因此,對應于圖8,則是計算 鄰近像素P20與中心像素P22的差值。其中,具有最大亮度梯度值的方向的取得方式大致上相同于前述步驟341和步驟 342。換言之,當亮度檢測(步驟134)在漸層色彩檢測(步驟136)之前執行時,在漸層色 彩檢測(步驟136)中即可透過在亮度檢測(步驟134)中所執行的步驟341來得知具有最 大亮度梯度值的方向。反之,當亮度檢測(步驟134)在漸層色彩檢測(步驟136)之后執 行時,在漸層色彩檢測(步驟136)中則可先執行步驟341,以得知具有最大亮度梯度值的方 向,并且在亮度檢測(步驟134)中則可省略步驟341直接執行步驟342。步驟369,當差值大于第六閾值時,判定中心像素P22位于漸層色區域,即進行檢 測的像素是位在漸層色區域中。步驟370,當差值小于或等于第六閾值時,判定中心像素P22不是位于漸層色區 域,即進行檢測的像素不是位在漸層色區域中。接著,確認為位在漸層色區域中的像素接續進行第三漸層確認程序(即,接續進 行步驟371)。而確認為不是位在漸層色區域中的像素則判定為未發生顏色錯位(步驟 384)。在第三漸層確認程序中,透過計算在MXM遮罩下在具有最大亮度梯度值的方向 及其相對方向上的兩相鄰像素的顏色相近的數量來判定進行檢測的像素是否位在漸層色 區域。參照圖7C,首先,步驟371,計算在MXM遮罩下在八個方向中具有最大亮度梯度值 的方向及其相對方向上,所有相鄰兩像素之間的差值(亮度與色度分離的信號的差值),步 驟372,并且將此些差值與第七閾值相比較。參照圖8,以5X5遮罩為例,假設具有最大亮度梯度值的方向為如圖6A所示的 方向DirO,即是計算在方向DirO及方向Dir4上所有相鄰兩像素之間的差值(P20-P21、P21-P22、P22-P23 及 P23-P24)。在此,第七閾值可為單一數值或為一數值限制范圍。當第七閾值為單一數值時,可 以差值的絕對值與閾值相比較。步驟373,計算符合條件的數量,例如計算差值(絕對值)大于第七閾值的數量, 或是計算差值落在第七閾值之外的數量。步驟374,再將計算得的數量與第八閾值相比較,并且根據比較結果判定中心像素 P22是否位在由亮到暗呈梯度變化的區域(即,步驟375或步驟376)。步驟375,當計算得的數量大于第八閾值時,判定中心像素P22位于由亮到暗呈梯 度變化的區域,即進行檢測的像素是位在由亮到暗呈梯度變化的區域中。步驟376,當計算得的數量小于或等于第八閾值時,判定中心像素P22不是位于由 亮到暗呈梯度變化的區域,即進行檢測的像素不是位在由亮到暗呈梯度變化的區域中。此外,若步驟373是計算差值(絕對值)小于或等于第七閾值的數量,或是計算差 值落入第七閾值的數量,則步驟375和步驟376的判斷結果則會相反。即,當計算得的數量 大于第八閾值時,判定中心像素P22不是位于由亮到暗呈梯度變化的區域;反之,則判定中 心像素P22位于由亮到暗呈梯度變化的區域(未顯示在圖式中)。接著,確認為位在由亮到暗呈梯度變化的區域中的像素接續進行第四漸層確認程 序(即,接續進行步驟377)。而確認為不是位在由亮到暗呈梯度變化的區域中的像素則判 定為未發生顏色錯位(步驟384)。在第四漸層確認程序中,透過檢測在MXM遮罩下亮區域的像素是否接近中性色 來判定進行檢測的像素是否位在鄰近亮部為中性色的區域。參照圖7D,首先,步驟377,計算在MXM遮罩下在八個方向中具有最大亮度梯度值 的方向上,鄰近像素與中性色的差值(亮度與色度分離的信號中色度值與中性色的差值), 步驟378,并且將此差值與第九閾值相比較。參照圖8,以5X5遮罩為例,假設具有最大亮度梯度值的方向為如第6A圖所示 的方向DirO,即是計算在方向DirO上所有鄰近像素與中性色的差值(若Cb和Cr信號 為-127 127,則為 P23-0 及 P24-0 ;若 Cb 和 Cr 信號為 0 255,則為 P23-128 及 P24-128)。在此,第九閾值可為單一數值或為一數值限制范圍。當第九閾值為單一數值時,可 以差值的絕對值與閾值相比較。步驟379,計算符合條件的數量,S卩,計算差值(絕對值)小于或等于第九閾值的數 量,或是計算差值落入第九閾值的數量。步驟380,再將計算得的數量與第十閾值相比較。步驟381,當計算得的數量大于第十閾值時,判定中心像素P22位于鄰近亮部為中 性色的區域,即進行檢測的像素是位在鄰近亮部為中性色的區域中。步驟382,當計算得的數量小于或等于第十閾值時,判定中心像素P22不是位于鄰 近亮部為中性色的區域,即進行檢測的像素不是位于鄰近亮部為中性色的區域中。接著,步驟383,確認為位在鄰近亮部為中性色的區域中的像素判定為發生顏色錯 位。然而,步驟384,確認為不是位在鄰近亮部為中性色的區域中的像素則判定為未發生顏 色錯位。在此,第一、第二、第三和第四用以區別不同程序,并無執行順序的限制。換言之,第一漸層確認程序、第二漸層確認程序、第三漸層確認程序和第四漸層確認程序的執行順 序可任意調換。換言之,在前一漸層確認程序中確認為位在對應的特定區域(即,非平滑區 域、漸層色區域、由亮到暗呈梯度變化的區域或鄰近亮部為中性色的區域)中的像素接續 執行下一漸層確認程序,且最后一漸層確認程序中確認為位在對應的特定區域(即,非平 滑區域、漸層色區域、由亮到暗呈梯度變化的區域或鄰近亮部為中性色的區域)中的像素 才判定為發生顏色錯位的像素。也就是說,在漸層色彩檢測中,未設定的像素中的位于非平滑區域、漸層色區域、 由亮到暗呈梯度變化的區域且或鄰近亮部為中性色區域中的像素才判定為發生顏色錯位。在此,可采用兩種補償方法進行修正。為了方便描述,以下分別稱的為第一補償方 法和第二補償方法。第一補償方法以鄰近點進行補償。第二補償方法以中性色進行補償。并且,透過檢測在NXN遮罩下暗區域的平滑度及鄰近像素的錯位狀態,來決定每 個顏色錯位像素以第一補償方法或第二補償方法來進行補償。N為2z+l,且ζ為大于1的 正整數。在此,修正程序(即,步驟180)可與亮度檢測(步驟134)使用相同尺寸的遮罩, 即N等于K。修正程序(即,步驟180)也可與亮度檢測(步驟134)使用不同尺寸的遮罩, 即N不等于K。同樣地,修正程序(即,步驟180)可與漸層色彩檢測(步驟136)使用相同 尺寸的遮罩,即N等于M。修正程序(S卩,步驟180)也可與漸層色彩檢測(步驟136)使用 不同尺寸的遮罩,即N不等于M。參照圖9,在修正程序中(即,步驟180),首先,步驟181,選擇一顏色錯位像素。步驟182,執行選擇的顏色錯位像素的補償方法決定程序,以根據在NXN遮罩下 暗區域的平滑度及鄰近像素的錯位狀態決定顏色錯位像素的補償方法。此NXN遮罩為以 選擇的顏色錯位像素為中心而展開涵蓋NXN個像素的一個參考區域。步驟183,以決定的補償方法(即,第一補償方法或第二補償方法)計算選擇的顏 色錯位像素的修正值。計算得的修正值可先儲存在儲存單元中,例如暫存在暫存器中。接著,步驟184,確認數字影像中的所有顏色錯位像素是否皆完成修正值的計算。若尚未完成所有顏色錯位像素的計算(修正值的計算),則選擇下一顏色錯位像 素(步驟185和步驟181)并接續進行步驟182、步驟183及步驟184。步驟186,當數字影像中的所有顏色錯位像素皆完成修正值的計算時,則依據計算 得的修正值壓抑顏色錯位像素,即,保留正常像素的值,然后依據計算得的修正值對應修正 顏色錯位像素的亮度與色度分離的信號,以得到修正后的數字影像。在補償方法決定程序(步驟18 中,會進行2項狀態確認程序。為了方便描述, 以下分別稱之為第一狀態確認程序和第二狀態確認程序。第一狀態確認程序是分析色度信息以確認進行計算的顏色錯位像素是否位在暗 平滑區域。第二狀態確認程序是確認進行計算的顏色錯位像素的鄰近像素是否為顏色錯位像素。其中,暗平滑區域指在遮罩下暗區域為平滑的顏色變化。參照圖10,首先,步驟821,計算在NXN遮罩下在八個方向中具有最大亮度梯度值 的方向的相對方向上,所有鄰近像素與中心像素的差值(亮度與色度分離的信號中色度值 的差值),步驟822,并且將此些差值與第十一閾值相比較。
舉例來說,假設具有最大亮度梯度值的方向為如圖6A所示的方向DirO,具有最大 亮度梯度值的方向的相對方向即為如圖6E所示的方向Dir4。因此,對應于圖8,則是計算 鄰近像素P20與中心像素P22的色度值的差值以及鄰近像素P21與中心像素P22的色度值
的差值。其中,具有最大亮度梯度值的方向的取得方式大致上相同于前述步驟341和步驟 342。在此,第十一閾值可為單一數值或為一數值限制范圍。當第十一閾值為單一數值 時,可以差值的絕對值與閾值相比較。步驟823,將符合條件的鄰近像素進行第二狀態確認程序。例如將差值(絕對值) 小于第十一閾值的鄰近像素進行第二狀態確認程序,或是將差值落入第十一閾值的鄰近像 素進行第二狀態確認程序。步驟823,在第二狀態確認程序中,確認符合條件的鄰近像素是否為顏色錯位像
ο步驟824,將符合條件且不為顏色錯位像素的鄰近像素定義為參考像素。步驟825,確認是否存在有參考像素。步驟831,當存在有參考像素時,以第一補償方法計算選擇的顏色錯位像素的修正 值。其中,第一補償方法可為計算所有參考像素的色度值的平均值,以作為選擇的顏色錯位 像素的修正值。步驟832,當沒有存在有參考像素時,則以第二補償方法計算選擇的顏色錯位像素 的修正值。第二補償方法(即,步驟83 可包括下列步驟。首先,找出在NXN遮罩下在八個方向中具有最大亮度梯度值的方向上,具有最大 亮度值的鄰近像素。計算具有最大亮度值的鄰近像素與中心像素之間色度的差值。依據計 算得的差值計算中心像素(選擇的顏色錯位像素)的修正值,以使中心像素往中性色壓抑。在此,第一和第二用以區別兩種不同程序,并無執行順序的限制。換言之,第一狀 態確認程序和第二狀態確認程序的執行順序可任意調換。即,除上述執行順序外,也可先執 行第二狀態確認程序,在第二狀態確認程序中確認在具有最大亮度梯度值的方向的相對方 向上且不為顏色錯位像素的鄰近像素接續執行第一狀態確認程序。在此,第一補償方法(步驟831)及第二補償方法(步驟83 可分別依據下列方 程序執行。第一補償方法(步驟831)依據下列公式1及公式2執行Cb_correctionPo = Cbaverage ;.................公式 1Cr_correctionPo = Craverage ;..................公式 2第二補償方法(步驟832)依據下列公式3及公式4執行
_(Cbpn -128)x (256-CfeCr Diff)八Cb correctionp =128 + ·^"“^--— JJ ............公式 3
—P°256
_6] Cr corrections = 128 + ( -惚)>ΦΚ尊)............公式 4
-Po256 Po代表中心像素,即選擇的顏色錯位像素。
Cbpo代表中心像素的藍色色度的色度值。Cbaverage代表所有參考像素的藍色色度值的平均值。Crpo代表中心像素的紅色色度的色度值。Craverage代表所有參考像素的紅色色度值的平均值。Cb_correctionPo代表中心像素的藍色色度的修正值。Cr_correctionPo代表中心像素的紅色色度的修正值。CbCr_Diff代表具有最大亮度值的鄰近像素與中心像素之間藍色色度與紅色色度 的最大差值。根據本發明的數字影像的顏色錯位的消除方法可有效地消除數字影像中的顏色 錯位,且修正后的顏色較為鮮艷,例如不會偏灰。當然,本發明還可有其它多種實施例,在不背離本發明精神及其實質的情況下,熟 悉本領域的普通技術人員當可根據本發明做出各種相應的改變和變形,但這些相應的改變 和變形都應屬于本發明所附的權利要求的保護范圍。
權利要求
1.一種數字影像的顏色錯位的消除方法,包括 取得一數字影像,其中該數字影像由多個像素所構成;利用一特定色彩檢測、一亮度檢測以及一漸層色彩檢測分析各該像素的一亮度與色度 分離的信號,以判定在該數字影像中各該像素是否發生顏色錯位,并且將該特定色彩檢測、 該亮度檢測以及該漸層色彩檢測的結果判定為未發生顏色錯位的各該像素設定為一正常 像素;將利用該特定色彩檢測、該亮度檢測以及該漸層色彩檢測的結果均判定為發生顏色錯 位的各該像素設定為一顏色錯位像素;以及 修正該顏色錯位像素; 其中,該特定色彩檢測包括根據多種顏色的色度范圍分析未設定的各該像素的該亮度與色度分離的信號的色度值;判定該色度值落在該多種顏色的該色度范圍內的該像素為發生顏色錯位;以及 判定該色度值落在該多種顏色的該色度范圍之外的該像素為未發生顏色錯位; 其中,該亮度檢測包括利用一 KXK遮罩分析未設定的該像素的該亮度與色度分離的信號中的亮度值,以找 出未設定的該像素中位于高對比區域中且在高亮度區域中的像素,其中該1(為&+1,該X為 大于1的正整數,且進行檢測的未設定的該像素位于該KXK遮罩的中心;以及 判定位于該高對比區域且該高亮度區域中的該像素發生顏色錯位;以及 其中,該漸層色彩檢測包括利用一 MXM遮罩分析未設定的該像素的該亮度與色度分離的信 號中的該亮度值和該色度值,以找出未判定為發生顏色錯位的該像素中位在非平滑區 域、漸層色區域、由亮到暗呈梯度變化的區域且鄰近亮部為中性色的區域中的像素,其中該 M為2y+l,該y為大于1的正整數,且進行檢測的未判定為發生顏色錯位的該像素位于該 MXM遮罩的中心;以及判定位于該非平滑區域、該漸層色區域、該由亮到暗呈梯度變化的區域且該鄰近亮部 為中性色的區域中的該像素為發生顏色錯位。
2.根據權利要求1所述的數字影像的顏色錯位的消除方法,其中該M等于該K。
3.根據權利要求1所述的數字影像的顏色錯位的消除方法,其中該修正發生顏色錯位 的該像素的步驟包括從設定的該顏色錯位像素中選擇一顏色錯位像素;執行選擇的該顏色錯位像素的一補償方法決定程序,其中該補償方法決定程序為根據 一 NXN遮罩下暗區域的平滑度及至少一鄰近像素的錯位狀態決定選擇的該顏色錯位像素 的補償方法為一第一補償方法和一第二補償方法中之一,N為h+1,ζ為大于1的正整數, 選擇的該顏色錯位像素位在該NXN遮罩的中心,且各該鄰近像素為在該NXN遮罩下選擇 的該顏色錯位像素以外的像素中之一;以決定的該補償方法計算選擇的該顏色錯位像素的一修正值;以及 依據該修正值對應修正選擇的該顏色錯位像素的該亮度與色度分離的信號; 其中,該第一補償方法為以該鄰近像素壓抑選擇的該顏色錯位像素,且該第二補償方法為將選擇的該顏色錯位像素往中性色壓抑。
4.根據權利要求3所述的數字影像的顏色錯位的消除方法,其中該N等于該K和該M 中的至少一個。
5.根據權利要求1所述的數字影像的顏色錯位的消除方法,更包括 保留該正常像素的該亮度與色度分離的信號。
全文摘要
一種數字影像的顏色錯位的消除方法,利用特定色彩檢測、亮度檢測以及漸層色彩檢測分析數字影像的亮度與色度分離(YCbCr)的信號,以判斷出在該數字影像中各像素是否發生顏色錯位,進而修正發生顏色錯位的像素。
文檔編號H04N9/64GK102118620SQ200910258900
公開日2011年7月6日 申請日期2009年12月30日 優先權日2009年12月30日
發明者吳宗達, 莊哲綸 申請人:華晶科技股份有限公司