本披露總體上涉及濾波器優(yōu)化。具體地,本披露涉及一種經(jīng)優(yōu)化的圖像濾波器,該圖像濾波器具有取決于鄰近像素值的加權函數(shù)。
背景技術:
隨著顯示設備(如電視機、計算機、平板計算機和智能電話)的改進,存在針對高質量圖像和視頻的大量需求。數(shù)字圖像處理經(jīng)常用于提高圖像和視頻的質量。例如,圖像濾波器用于數(shù)字地減少圖像和視頻中存在的噪聲。參見1998年5月29日提交的并且題為“用于過濾噪聲的非線性圖像濾波器(non-linearimagefilterforfilteringnoise)”的美國專利號6,108,455。
一種常見的降噪濾波器是有限脈沖響應(fir)濾波器。一種自適應fir濾波器的卷積內核(像素矩陣)可以由方程(1)定義:
其中,i和j是2d坐標向量;i表示有待處理的目標像素的坐標;j表示參考像素的坐標;pixin(j)是在內核中的輸入像素值;pixout(i)是pixin(i)的經(jīng)濾波的值;w(i,j)是加權函數(shù);n(i)是歸一化因數(shù):n(i)=σi∈ωw(i,j);并且ω是圖像的搜索區(qū)域,其通常是以目標像素為中心的像素的矩形內核。
通常,方程(1)的濾波器是周圍像素的加權平均??梢杂枚喾N方式計算針對方程(1)的濾波器的加權函數(shù)w(i,j)。例如,針對雙邊或標準差濾波器的加權函數(shù)w(i,j)是空間權重和光子(或值域)權重的乘積。針對雙邊濾波器的加權函數(shù)w(i,j)可以由方程(2)定義:
w雙邊(i,j)=f(||i,j||)×g(|pixin(i)-pixin(j)|)(2)
其中,f()和g()理想上是連續(xù)且單調遞減函數(shù),如高斯曲線;并且||i,j||指定像素i和j的空間位置之間的歐式距離。
用于降噪的另一種常見的濾波器是非局部濾波器。針對非局部濾波器,加權函數(shù)w(i,j)取決于以目標像素和參考像素為中心的像素的多個塊p之間的差值。在此使用的塊指像素子集。針對非局部濾波器的加權函數(shù)w(i,j)可以由方程(3)定義:
以上所述的圖像濾波器在本領域中是眾所周知的并且在本說明書中將不會詳細地討論。
技術實現(xiàn)要素:
根據(jù)本披露的實施例,提供一種經(jīng)優(yōu)化的圖像濾波器。經(jīng)優(yōu)化的圖像濾波器獲得輸入圖像并且在搜索區(qū)域(圖像的第一像素子集)內選擇第一目標像素用于修改。在一種濾波方法中,絕對差之和(sad)值然后在選擇的第一目標像素與搜索區(qū)域的每個參考像素之間被確定。從搜索區(qū)域內的第二像素子集和搜索區(qū)域內的第三像素子集計算sad值。第二像素子集與第一目標像素相關聯(lián)并且每個第三像素子集與對應的參考像素相關聯(lián)。
隨后,使用加權函數(shù)來針對這些參考像素中的每個參考像素基于它們各自的sad值確定多個權重值。第一目標像素然后由圖像濾波器使用這些確定的權重值修改。
在修改第一目標像素之后,在施加塊內選擇第二目標像素用于修改。施加塊是包括第一目標像素的第四像素子集。使用之前從第一目標像素確定的權重值修改第二目標像素,即,加權值不是針對施加塊內的第二目標像素計算的。相反,針對第二目標像素的搜索區(qū)域的這些參考像素中的每一個將被分配給針對第一目標像素計算的這些之前確定的權重值。具體地,基于第一目標像素與第二目標像素的相對位置將這些權重值重新分配給與第二目標像素相關聯(lián)的參考像素集。例如,如果第二目標像素是在第一目標像素右邊的一個像素,那么新參考像素集中的每個像素將被重新分配來自其左邊的一個像素的權重值。因此,與修改第一目標像素相比,修改第二目標像素不必確定sad值和權重值。因此,圖像濾波器具有低水平的復雜性,處理時間可以被減少(尤其是在圖像濾波器的軟件實現(xiàn)中)并且功耗被改良了。
附圖說明
由于當結合附圖進行時將更好地從以下詳細說明中理解本披露的前述和其他特征和優(yōu)點,因此將會更容易理解本披露的前述和其他特征和優(yōu)點。
圖1是流程圖,展示了針對根據(jù)本文所披露的一個實施例的經(jīng)優(yōu)化的圖像濾波器的數(shù)據(jù)流的示例;
圖2是流程圖,展示了針對根據(jù)本文所披露的一個實施例的經(jīng)優(yōu)化的圖像濾波器的處理的示例;
圖3是圖解,展示了根據(jù)本文所披露的一個實施例修改施加塊的第一像素的示例;
圖4是圖解,展示了根據(jù)本文所披露的一個實施例修改圖3的施加塊的第二像素的示例;
圖5是圖解,展示了根據(jù)本文所披露的一個實施例修改圖3的施加塊的第三像素的示例;
圖6是圖解,展示了根據(jù)本文所披露的一個實施例修改圖3的施加塊的第四像素的示例;并且
圖7是示意圖,展示了根據(jù)本文所披露的一個實施例用于實現(xiàn)經(jīng)優(yōu)化的圖像濾波器的電子設備的示例。
具體實施方式
在以下描述中,闡明了某些具體細節(jié)以便提供對本披露的各個實施例的透徹了解。然而,本領域技術人員將理解的是,可以在沒有這些特定細節(jié)的情況下實踐本披露。在一些情形下,與數(shù)字圖像處理相關聯(lián)的公知過程還沒有被詳細地描述從而避免使本披露的實施例的描述變得模糊。
除非上下文另有要求,否則貫穿說明書和所附權利要求書,“包括(comprise)”一詞及其多種變體(諸如,“包括(comprises)”和“包括(comprising)”)將以一種開放式的和包含性的意義來進行解釋,也就是作為“包括,但不限于(including,butnotlimitedto)”。
貫穿本說明書對“一個實施例”或“實施例”的引用意味著結合該實施例所描述的具體特征、結構、或特性包括在至少一個實施例中。因而,貫穿本說明書,短語“在一個實施例中”或“在實施例中”在不同場合中的出現(xiàn)并不一定都是指相同的實施例。另外,特定特征、結構或特性可以根據(jù)任何合適的方式組合在一個或多個實施例中。
在附圖中,相同的參考號標識相似的特征或元件。附圖中的特征的大小和相對位置不一定成比例地繪制。
大多數(shù)圖像濾波器逐個像素地執(zhí)行處理并且需要大量的計算。因此,圖像濾波器經(jīng)常消耗大量處理時間或功率。高處理時間和功耗針對實時應用和便攜式電子設備而言有問題。例如,數(shù)字照相機實時地獲得并向用戶顯示圖像。大量的延遲或過度的功耗導致較差的用戶體驗。低處理時間針對實時地顯示視頻尤其重要。許多視頻以每秒30幀的速率產(chǎn)生720p圖像或者甚至以每秒60幀的速率產(chǎn)生4k圖像。視頻中的任何延遲對用戶而言將是顯而易見的。
加速技術經(jīng)常用于降低圖像濾波器的復雜性,并且改進處理時間和功耗。常見的加速技術是縮小圖像的搜索區(qū)域(如搜索區(qū)域ω)的大小或者縮小用于不同計算的像素子集(如目標塊38)的大小。圖3展示了搜索區(qū)域36(其是整個圖像用于處理的一部分)和目標塊38。然而,縮小搜索區(qū)域或目標塊的大小也降低了技術的效率并且可能影響圖像銳度和分辨率。具體地,縮小搜索區(qū)域的大小阻止去除較低頻率的噪聲并且降低了尋找可接受的匹配區(qū)域的能力,并且縮小目標塊的大小增加了錯誤匹配區(qū)域的數(shù)量。另一種常見的加速技術是針對非局部濾波器使用相對簡單的差值計算。使用更簡單的差值計算已經(jīng)被證明可提供良好的結果;然而,復雜性仍然太高,并且進一步的復雜性減少是有利的。
本披露涉及一種圖像濾波器,該圖像濾波器通過減少用于圖像濾波器的加權函數(shù)的計算的總量而降低復雜性。具體地,圖像濾波器確定在圖3中選擇的目標像素a的權重值,然后針對其他目標像素a+1、b、b+1再次使用這些確定的權重值。通過再次使用多個目標像素的之前確定的權重值,圖像濾波器的復雜性水平被降低了并且處理時間和功耗被改進了。將關于圖1至圖6更加詳細地討論圖像濾波器的處理。
圖1是流程圖,展示了針對根據(jù)本文所披露的一個實施例的圖像濾波器的數(shù)據(jù)流的示例。
在序列的第一部分10,輸入圖像被獲得用于數(shù)字圖像處理。輸入圖像可以是單張圖像或者可以是輸入圖像流(如視頻)的單幀??梢詮母鞣N源獲得輸入圖像,如圖像傳感器、多媒體內容提供商、存儲器和萬維網(wǎng)。
在后續(xù)步驟12中,輸入圖像被提供給圖像濾波器用于處理。例如,圖像濾波器可以修改輸入圖像以數(shù)字地減少在輸入圖像中存在的噪聲并且為用戶產(chǎn)生最終的圖像。將關于圖2至圖6更加詳細地討論圖像濾波器的處理。
在步驟14中,圖像濾波器已經(jīng)完成處理并且經(jīng)濾波的圖像被獲得。盡管未示出,可以針對多張圖像重復圖1的數(shù)據(jù)流。例如,可以針對多張圖像或輸入圖像流(如視頻)的實時處理重復圖1的數(shù)據(jù)流。
圖2是流程圖,展示了針對根據(jù)本文所披露的一個實施例的圖像濾波器的處理的示例。有利的是同時地與圖3至圖6一起回顧圖2的這些步驟,圖3至圖6是展示了根據(jù)本文所披露的一個實施例修改施加塊的像素的示例的圖解。
在序列的第一部分16,圖像濾波器獲得輸入圖像。如之前所討論的,輸入圖像可以是單張圖像或者可以是輸入圖像流(如視頻)的單幀。
在隨后的步驟18中,目標像素被選擇用于修改。例如,參照圖3,目標像素a被選擇。為了處理整張圖像,多個目標像素被依次處理。目標像素可以是隨機地、逐行地、逐列地或以任何預定的順序選擇的。例如,目標像素可以是通過在輸入圖像的左上角處開始、從左到右選擇第一行的像素、移至下一行并且然后繼續(xù)此模式直到到達輸入圖像的右下角。在替代實施例中,輸入圖像的每隔一個像素被選擇為目標像素。
所選目標像素具有相應的搜索區(qū)域、目標塊、參考塊和施加塊。例如,參照圖3,目標像素a具有相應的搜索區(qū)域36、目標塊38、參考塊40和施加塊42。這些塊是搜索區(qū)域36內的像素子集。
搜索區(qū)域包括圍繞所選目標像素的參考像素。這些參考像素用于修改目標像素。例如,參照圖3,目標像素a可以通過用搜索區(qū)域36的參考像素的加權平均替換其值而被修改以用于降噪。如將關于步驟20和步驟22討論的,參考像素的權重基于距離或差值計算,如絕對差之和(sad)或平方差之和(ssd)。
目標塊38與參考塊40具有相同的尺寸并且用于確定選擇的目標像素與參考像素之間的相似性。目標像素與參考像素之間的相似性可以被計算為差值,因為每個像素可以具有數(shù)值表示并且相似性是每個像素的數(shù)值表示的比較。這也可以被稱為目標像素值與參考像素值之間的距離,其中,該距離不必表示陣列中的像素之間的物理空間。
在優(yōu)選實施例中,目標塊和參考塊分別以目標像素和參考像素為中心。例如,參照圖3,目標塊38和參考塊40用于確定目標像素a與參考像素c之間的差值。搜索區(qū)域36內的這些參考像素中的每一個將用于創(chuàng)建關于目標像素的差值。相應地,當搜索區(qū)域中的每個參考像素被處理時,參考塊40將與正被處理的參考像素相關聯(lián)。將關于步驟20更加詳細地討論差值的確定。
施加塊42包括目標像素a并且是目標塊38的子集。施加塊包括附加的目標像素a+1、b、b+1,這些附加的目標像素是使用之前從目標像素a確定的權重值修改的。將關于步驟26至步驟30更加詳細地討論施加塊。
在步驟20中,在選擇的目標像素與搜索區(qū)域的這些參考像素的每個參考像素之間確定差值。第一像素(目標像素a)與第二像素(參考像素c)之間的差值是通過將在以第一像素為中心的第一塊(目標塊38)中的多個像素與在以第二像素為中心的第二塊(參考塊40)中的各自相應的像素進行比較而確定的。可以使用計算(如sad或ssd)確定這些差值。sad和ssd計算在本領域中是眾所周知的并且在本說明書中將不會詳細地討論。
例如,參照圖3,目標像素a值與參考像素c值之間的差值或距離是通過計算以目標像素a為中心的目標塊38與以參考像素c為中心的參考塊40之間的差值而確定的。在目標像素a與搜索區(qū)域36中的每個參考像素之間確定差值。
應當注意的是,在圖3至圖6中示出的搜索區(qū)域36、目標塊38以及參考塊40的尺寸用于說明性目的。搜索區(qū)域36、目標塊38和參考塊40可以具有任何大小。在優(yōu)選實施例中,搜索區(qū)域大于目標塊。
換言之,一旦目標像素a被標識并且目標塊38被標識,那么參考像素(如圖3中的參考像素c)被選擇。對應于參考像c的參考塊(例如,參考塊40)被標識。目標塊38與參考塊40具有相同的尺寸,即,在相同形狀中包括相同數(shù)量的像素。在圖3中,目標塊和參考塊都是5x5的像素陣列。然后,將目標塊的每個像素與參考塊的每個像素進行比較并且然后計算單個值以生成差值。
在步驟22中,使用加權函數(shù)來針對搜索區(qū)域的這些參考像素中的每個參考像素基于它們的在步驟20中確定的選擇的目標像素之間的各自的差值確定多個權重值。例如,參照圖3,針對參考像素c基于其來自步驟20的目標像素a之間的確定的差值確定權重值。確定搜索區(qū)域36的每個參考像素的權重值。在優(yōu)選實施例中,參考像素的權重值與其確定的差值負相關。也就是說,類似于所選擇的目標像素的參考像素(即,較小的差值)被給定較大的權重值,并且反之亦然。
為了確定搜索區(qū)域36中的每個像素的權重值,當針對目標像素a進行處理時,針對搜索區(qū)域中的每個像素執(zhí)行如以上針對參考像素c完成的對距離值的比較和確定。
在步驟24中,由圖像濾波器使用在步驟22中計算的這些權重值修改選擇的目標像素。例如,參照圖3,目標像素a可以通過用搜索區(qū)域36的參考像素的加權平均替換其值而被修改以用于降噪。圖像濾波器可以是利用基于目標像素值與參考像素值之間的差值的加權函數(shù)的任何類型的濾波器。
在步驟26中,確定在與選擇的目標像素a相關聯(lián)的施加塊42中是否存在附加的像素。例如,確定施加塊42是否包括除了目標像素a之外的附加像素。如果在施加塊中不存在附加的像素,則處理移至步驟32。如果在施加塊中存在附加的像素,則處理移至步驟28。
應當注意的是,圖3至圖6中示出的施加塊42的尺寸和模式用于說明性目的。施加塊可以包括作為目標塊的一部分的任何數(shù)量的像素。例如,施加塊42可以包括目標塊38的任何數(shù)量的像素。在一個實施例中,施加塊具有由選擇的目標像素和緊緊地在該選擇的目標像素右側、左側、上側和下側的多個像素組成的加號模式。在另一個實施例中,施加塊是以選擇的目標像素為中心的3x3的塊。在進一步實施例中,施加塊由與目標塊相同的像素組成。在更進一步的實施例中,施加塊由兩個連續(xù)的像素組成,如像素a和a+1。
在步驟28中,在施加塊中選擇第二目標像素用于修改。例如,參照圖4,在施加塊42中選擇第二目標像素a+1。施加塊中的目標像素可以是隨機地、逐行地、逐列地或以任何預定的順序選擇的。
在步驟30中,第二目標像素是使用原始目標像素的之前確定的權重值而被修改的。第二目標像素與第二參考像素集相關聯(lián)。原始目標塊與原始參考塊之間的差值被認為是目標塊的所有像素與參考塊的相應像素之間的有效差值。例如,參照圖4,以像素a為中心的目標塊與以像素c為中心的參考塊之間的差值也被認為是像素a+1與像素c+1之間的有效差值。因此,當修改施加塊42中的第二目標像素時,在步驟22中確定的權重值可以再次用于第二參考像素集。
基于來自步驟18的第二目標像素相對于原始目標像素的位置針對第二參考像素集再次使用之前在步驟22中確定的權重值。具體地,之前從原始參考像素確定的權重值中的每個權重值被分配給參考像素(第二參考像素集)的相鄰像素。第二參考像素相對于原始參考像素的位置與第二目標像素相對于原始目標像素的位置相同。換言之,之前確定的權重值按照與第二目標像素被從原始目標像素移位相同的方向和距離被移位至第二參考像素集。例如,參照圖4,當選擇的目標像素是像素a并且新目標像素是像素a+1時,對應于參考像素c的權重值被移位并且被分配給參考像素c+1。類似地,如在圖5中示出的,當選擇的目標像素是像素a并且新目標像素是像素b時,對應于參考像素c的權重值被分配給參考像素d;并且,如在圖6中示出的,當選擇的目標像素是像素a并且新目標像素是像素b+1時,對應于參考像素c的權重值被分配給參考像素d+1。
然后使用被分配給第二參考像素集的這些之前確定的權重值來修改第二目標像素。例如,類似于步驟24,第二目標像素可以通過用第二參考像素集的加權平均替換其值來降噪。因此,與在步驟20至步驟24中修改目標像素相比,不必針對第二目標像素的修改確定差值和權重值。
通過再次使用之前確定的權重值,有可能將輸入圖像劃分成多個施加塊并且針對屬于同一施加塊的所有像素使用相同的權重值。針對施加塊中的每個像素使用相同的權重值減少了圖像濾波器的加權函數(shù)的計算的總量。例如,參照圖4至圖6,針對目標像素a、針對a+1、b和b+1再次使用這些確定的權重值導致減少了因數(shù)4。類似地,3x3的施加塊導致減少了因數(shù)9,并且2x1的塊導致減少了因數(shù)2。因此,可以通過控制施加塊的大小調整優(yōu)化水平。
在步驟30之后,處理返回到步驟26以確定在所選擇的目標像素的施加塊中是否存在附加的像素。由此,重復步驟28至步驟30,直到施加塊中的每個像素已經(jīng)被修改。例如,重復步驟28至步驟30,直到像素a+1、b和b+1已經(jīng)被經(jīng)優(yōu)化的圖像濾波器修改。
在替代性實施例中,再次使用這些之前確定的差值而不是步驟30中的這些權重值。如之前討論的,目標塊與參考塊之間的差值被認為是針對目標塊的所有像素與參考塊的各自相應的像素的有效差值。因此,類似于再次使用這些之前確定的權重值,針對新參考像素使用在步驟20中確定的這些之前確定的差值中的每個差值從而使得新參考像素相對于對應于之前確定的差值的參考像素的位置與新目標像素相對于所選擇的目標像素的位置相同。換言之,之前確定的差值按照與新目標像素被從所選擇的目標像素移位相同的方向和距離被移位至新參考像素集。例如,參照圖4,當選擇的目標像素是像素a并且新目標像素是像素a+1時,在像素a與參考像素c之間確定的差值被再次用作像素a+1與像素c+1之間的差值。類似于步驟22,通過再次使用之前確定的差值,可以在步驟30中使用新加權函數(shù)而不是之前確定的權重值來為新參考像素集確定新權重值。類似于步驟24,然后可以使用新權重值修改新目標像素。
返回到步驟26,如果在所選擇的目標像素的施加塊中不存在附加的像素,則處理移至步驟32。在步驟32中,確定在還未由圖像濾波器濾波的輸入圖像中是否存在附加的像素。如果在輸入圖像中存在附加的未經(jīng)濾波的圖像像素,則處理返回至步驟18。如果在輸入圖像中不存在未經(jīng)濾波的像素,則處理移至步驟34。
在步驟34中,圖像濾波器已經(jīng)完成處理并且經(jīng)濾波的圖像被提供。
應當注意的是,圖1和圖2中示出的每個塊可以根據(jù)特定實施例酌情表示一個或多個塊或者可以與其他塊組合。
圖7是示意圖,展示了根據(jù)本文所披露的一個實施例用于實現(xiàn)經(jīng)優(yōu)化的圖像濾波器的電子設備44的示例。電子設備44的非限制性示例包括數(shù)字照相機、移動電話、游戲設備、計算機、平板計算機、電視機或機頂盒。在一個實施例中,電子設備44包括處理單元46、存儲器48、輸入設備50、輸出設備52和i/o接口54。應當注意的是,電子設備44可以包括除了圖7中展示的那些之外的附加的功能性和部件。
處理單元46被配置成用于執(zhí)行針對經(jīng)優(yōu)化的圖像濾波器的處理。在一個實施例中,處理單元46是數(shù)字信號處理器。存儲器48可以是非易失性存儲器(如rom)、易失性存儲器(如ram)或其組合。在一個實施例中,經(jīng)優(yōu)化的圖像濾波器是在軟件中實現(xiàn)的并且被存儲在存儲器48中。輸入設備50和輸出設備52可以包括由用戶使用與電子設備44交互的設備。輸入設備50的非限制性示例包括數(shù)字照相機的傳感器,如cmos或ccd傳感器;鍵盤;鼠標;按鈕;以及觸摸屏。輸出設備52的非限制性示例包括顯示器、電視機、計算機監(jiān)視器和揚聲器。i/o接口54被配置成用于發(fā)送并接收數(shù)據(jù)。例如,i/o接口54可以耦接于衛(wèi)星天線、萬維網(wǎng)或用于發(fā)送并接收多媒體內容的外部電子設備。
前述詳細描述已經(jīng)通過使用框圖、示意圖和示例闡述了這些設備和/或過程的各種實施例。在這些框圖、示意圖和示例包含一個或多個功能和/或操作的情況下,將由本領域的技術人員理解的是,在這些框圖、流程圖或示例內的每個功能和/或操作可以由各種各樣的硬件、軟件、固件、或實質上其任何組合單獨地和/或共同地實現(xiàn)。在一個實施例中,可以經(jīng)由專用集成電路(asic)實現(xiàn)本主題。然而,本領域技術人員將意識到,本文所披露的這些實施例可以整體地或部分地在標準集成電路中被等效地實現(xiàn),作為在一個或多個計算機上運行的一個或多個計算機程序(例如,作為在一個或多個計算機系統(tǒng)上運行的一個或多個程序),作為在一個或多個控制器(例如,微控制器)上運行的一個或多個程序,作為在一個或多個處理器(例如,微處理器、數(shù)字信號處理器)上運行的一個或多個程序,作為固件,或者作為實質上其任何組合,并且意識到針對軟件和/或固件設計電路和/或編寫代碼將鑒于本披露而很好地在本領域普通技術人員的能力之內。
本領域的技術人員將意識到,在此陳述的許多方法或算法可以采用附加的動作,可以省略某些動作,和/或可以按照與指定的不同的順序執(zhí)行動作。
此外,本領域的技術人員將認識到,在此教導的這些機制能夠分布為各種形式的程序產(chǎn)品,并且認識到說明性實施例等效地應用而不管實際上用于執(zhí)行該分布的物理信號承載介質的具體類型。信號承載介質的示例包括但不限于以下:如軟盤、硬盤驅動器、cdrom、數(shù)字磁帶和計算機存儲器的可記錄型介質。
上述各實施例可以被組合以提供進一步的實施例。如果有必要,可以對實施例的各方面進行修改,以采用各專利、申請和公開的概念來提供更進一步的實施例。
將理解的是,盡管出于說明的目的在此描述了本披露的多個特定的實施例,在不背離本披露的精神和范圍的情況下可以進行各種修改。相應地,除所附權利要求書之外,本披露不受限制。
鑒于以上詳細的描述,可以對這些實施例做出這些和其他改變。總之,在以下權利要求書中,所使用的術語不應當被解釋為將權利要求書局限于本說明書和權利要求書中所披露的特定實施例,而是應當被解釋為包括所有可能的實施例、連同這些權利要求有權獲得的等效物的整個范圍。相應地,權利要求書并不受本披露的限制。