優(yōu)先權(quán)要求
本申請要求于2014年9月23日提交的名稱為“non-localmeansimagedenoisingwithdetailnpreservationusingsel-similaritydrivenblending”的第14/494,163號美國專利申請的優(yōu)先權(quán),后者通過引用整體合并于此。
背景技術(shù):
圖像去噪是圖像處理流水線上的重要功能塊。圖像去噪方法的目的在于,從含噪測量結(jié)果中恢復(fù)原始圖像。由數(shù)字照相機傳感器生成的圖像從各種源拾取噪聲,出于美感或?qū)嶋H(例如,機器視覺)目的,應(yīng)當(dāng)減少上述噪聲。理想地,圖像去噪塊所利用的降噪算法應(yīng)當(dāng)通過在使真實細(xì)節(jié)的損失最小的同時減少噪聲來改善圖像清晰度。技術(shù)難點在于魯棒地區(qū)分噪聲與圖像細(xì)節(jié)。
許多圖像去噪算法執(zhí)行像素相對于在空間上圍繞該目標(biāo)像素的一組像素的某種平均或加權(quán),這些算法被稱為“局部均值”濾波或“局部平滑”濾波。非局部圖像去噪算法(最流行的是非局部均值(nlm)算法)在過去十年中得到了普及,因為相對于許多局部均值算法,其改善了濾波后的清晰度,同時減少了真實細(xì)節(jié)損失。nlm濾波利用圖像內(nèi)的冗余,通過對圖像中更大數(shù)量的像素(按像素與目標(biāo)像素的相似度進(jìn)行加權(quán))進(jìn)行求均值來降低邊緣模糊度。更具體地,對于每個輸入像素,確定包含目標(biāo)像素的目標(biāo)區(qū)塊(patch)。然后,針對相似度評估目標(biāo)區(qū)塊的鄰域中的其它候選區(qū)塊。根據(jù)分配給候選區(qū)塊的“自相似度”權(quán)重,計算平均像素區(qū)塊作為候選區(qū)塊的加權(quán)平均值。然后,將平均像素區(qū)塊直接作為nlm濾波的濾波后的目標(biāo)像素輸出。
雖然nlm去噪技術(shù)被認(rèn)為相比于大多數(shù)局部均值濾波改善了圖像質(zhì)量,但是nlm技術(shù)偏向于高度周期性的圖像。質(zhì)量損失主要是非周期性細(xì)節(jié),視覺感知為影響高頻紋理區(qū)域和唯一像素的模糊度。因此,能夠改善圖像清晰度,同時相比于現(xiàn)有nlm技術(shù),更大程度地保留期望的紋理和高頻細(xì)節(jié)的圖像去噪技術(shù)和硬件架構(gòu)是有利的。
附圖說明
在附圖中通過示例的方式而非通過限制的方式示出在此所描述的內(nèi)容。為了說明的簡明性和清楚性,附圖所示的要素不一定按比例繪制。例如,為了清楚,一些要素的尺寸可能相對于其它要素被夸大。此外,在認(rèn)為適當(dāng)?shù)那闆r下,在附圖之間重復(fù)了標(biāo)號,以指示對應(yīng)的或類似的要素。在附圖中:
圖1是示出根據(jù)實施例的圖像降噪方法的流程圖;
圖2是根據(jù)實施例的像素值和圖像濾波參數(shù)關(guān)聯(lián)圖的圖示;
圖3是示出根據(jù)實施例的圖像降噪方法的流程圖;
圖4是示出根據(jù)實施例的圖像降噪方法的流程圖;
圖5a是根據(jù)一個或多個實施例的包括含有獨立的紋理檢測級的圖像去噪模塊的系統(tǒng)的功能框圖;
圖5b是根據(jù)一個或多個替換實施例的包括含有獨立的紋理檢測級的圖像去噪模塊的系統(tǒng)的功能框圖;
圖6是根據(jù)實施例的采用包括圖5a或5b的系統(tǒng)的圖像處理器的示例性超低功耗系統(tǒng)的示圖;以及
圖7是根據(jù)一個或多個實施例布置的示例性移動手機平臺的示圖。
具體實施方式
參考附圖描述一個或多個實施例。雖然詳細(xì)描述和討論了具體的配置和布置,但是應(yīng)當(dāng)理解,這僅是出于說明的目的。本領(lǐng)域技術(shù)人員將認(rèn)識到,在不脫離本說明書的精神和范圍的情況下,其他配置和布置是可能的。對于本領(lǐng)域技術(shù)人員顯而易見的是,可以在本文詳細(xì)描述之外的各種其他系統(tǒng)和應(yīng)用中采用本文所描述的技術(shù)和/或布置。
在下面的具體實施方式中參考附圖,附圖構(gòu)成具體實施方式的一部分并且示出示例性實施例。此外,應(yīng)當(dāng)理解,在不脫離所要求保護(hù)的主題的范圍的情況下,可以利用其他實施例,并且可以進(jìn)行結(jié)構(gòu)和/或邏輯上的改變。因此,以下具體實施方式不應(yīng)被認(rèn)為具有限制意義,并且所要求保護(hù)的主題的范圍僅由所附權(quán)利要求及其等同物限定。
在下面的說明中,闡述了許多細(xì)節(jié),然而,對于本領(lǐng)域技術(shù)人員顯而易見的是,可以在沒有這些具體細(xì)節(jié)的情況下實踐實施例。眾所周知的方法和設(shè)備以框圖形式而非詳細(xì)示出,以避免掩蓋更重要的方面。整個說明書中對“實施例”或“一個實施例”的引用意指結(jié)合實施例描述的特定特征、結(jié)構(gòu)、功能或特性被包括在至少一個實施例中。因此,整個說明書中各位置處出現(xiàn)的短語“在實施例中”或“在一個實施例中”未必指代同一實施例。此外,在實施例的上下文中描述的特定特征、結(jié)構(gòu)、功能或特性可以以任何合適的方式組合在一個或多個實施例中。例如,第一實施例可以與第二實施例組合,只要與這兩個實施例相關(guān)聯(lián)的特定特征、結(jié)構(gòu)、功能或特性不是相互排斥的。
如在示例性實施例的說明和所附權(quán)利要求中使用的,除非上下文另有明確指示,否則單數(shù)形式“一”、“一個”和“所述”也旨在包括復(fù)數(shù)形式。還將理解,如本文所使用的術(shù)語“和/或”指代并且涵蓋一個或多個相關(guān)列出項目的任何和所有可能的組合。
如整個說明書和權(quán)利要求書中所使用的,由術(shù)語“…中的至少一個”或“…中的一個或多個”連接的一列項目可以意指列出的術(shù)語的任何組合。例如,短語“a、b或c中的至少一個”可以意指a;b;c;a和b;a和c;b和c;或a、b和c。
術(shù)語“耦合”和“連接”以及它們的派生詞在本文中可以用于描述組件之間的功能關(guān)系或結(jié)構(gòu)關(guān)系。應(yīng)當(dāng)理解,這些術(shù)語不旨在作為彼此的同義詞。而是,在特定實施例中,“連接”可以用于指示兩個或更多個元件彼此直接地物理接觸、光學(xué)接觸或電接觸?!榜詈稀笨梢杂糜谥甘緝蓚€或更多個元件彼此直接或間接地(在它們之間具有其他中間元件)物理接觸、光學(xué)接觸或電接觸,和/或兩個或更多個元件協(xié)作或彼此交互(例如,處于因果關(guān)系)。
本文提供的某些部分的詳細(xì)描述是依據(jù)對計算機存儲器內(nèi)的數(shù)據(jù)位的操作的算法和符號表示來呈現(xiàn)的。除非特別說明,否則如從以下討論顯而易見的是,應(yīng)當(dāng)理解,在整個描述中,利用諸如“運算”、“計算”、“確定”、“估計”、“存儲”、“收集”、“顯示”、“接收”、“合并”、“生成”、“更新”等術(shù)語進(jìn)行的討論指代計算機系統(tǒng)或類似的電子計算設(shè)備的操作和處理,該計算機系統(tǒng)或電子計算設(shè)備將表示為在包含寄存器和存儲器的計算機系統(tǒng)的電路內(nèi)的物理(電子)量的數(shù)據(jù)操縱和轉(zhuǎn)換成類似地表示為計算機系統(tǒng)存儲器或寄存器或其他此類信息存儲、傳輸或顯示設(shè)備內(nèi)的物理量的其它數(shù)據(jù)。
雖然以下說明闡述了可以在例如片上系統(tǒng)(soc)架構(gòu)的架構(gòu)中呈現(xiàn)的實施例,但是本文所描述的技術(shù)和/或布置的實現(xiàn)方式不限于特定架構(gòu)和/或計算系統(tǒng),并且可以由用于類似目的的任何架構(gòu)和/或計算系統(tǒng)來實現(xiàn)。例如,采用多個集成電路(ic)芯片和/或封裝件、和/或各種計算設(shè)備和/或消費電子(ce)設(shè)備(例如,機頂盒、智能電話等)的各種架構(gòu)可以實現(xiàn)本文描述的技術(shù)和/或布置。另外,雖然以下說明可能闡述了許多具體細(xì)節(jié),例如系統(tǒng)組件的邏輯實現(xiàn)、類型和相互關(guān)系、邏輯分區(qū)/集成選擇等,但是可以在沒有這些具體細(xì)節(jié)的情況下實踐所要求保護(hù)的主題。此外,為了不掩蓋本文所公開的內(nèi)容,可能沒有詳細(xì)示出某些內(nèi)容,例如控制結(jié)構(gòu)和完整的軟件指令序列。
本文公開的內(nèi)容的某些部分實現(xiàn)在硬件中,例如作為圖形處理器中的邏輯電路。某些其他部分可以實現(xiàn)在硬件、固件、軟件或其任何組合中。本文所公開的內(nèi)容中的至少一些還可以被實現(xiàn)為存儲在機器可讀介質(zhì)上的指令,這些指令可以由一個或多個處理器(圖形處理器和/或中央處理器)來讀取和執(zhí)行。機器可讀介質(zhì)可以包括用于以機器(例如,計算設(shè)備)可讀的形式存儲或傳輸信息的任何介質(zhì)和/或機制。例如,機器可讀介質(zhì)可以包括只讀存儲器(rom);隨機存取存儲器(ram);磁盤存儲介質(zhì);光存儲介質(zhì);閃存設(shè)備;電、光、聲或其他類似非瞬時性有形介質(zhì)。
以下針對至少部分地基于對圖像內(nèi)的紋理的獨立評估而增強的圖像去噪,描述一個或多個系統(tǒng)、裝置、方法和計算機可讀介質(zhì)。常規(guī)nlm濾波至少由于其僅通過定義候選區(qū)塊和/或區(qū)塊相似度評估來被動地考慮紋理而遭受細(xì)節(jié)損失,與常規(guī)nlm濾波相反,本文所述的紋理增強的濾波實施例通過紋理敏感混合操作的方式主動地考慮輸入圖像紋理。在實施例中,由基于顏色的濾波操作所確定的平均像素值與“含噪”輸入像素值混合。在實施例中,該混合是由指示紋理的一個或多個混合權(quán)重或系數(shù)來驅(qū)動的,使得由增強的降噪濾波保留的細(xì)節(jié)水平與紋理量成比例(scale)。由此,與更高度紋理化的區(qū)域相比,本文的實施例可以更積極地對圖像中的沒有明顯紋理的(即,是平滑的)區(qū)域進(jìn)行去噪。在另外的實施例中,基于候選區(qū)塊的相似度得分進(jìn)一步確定混合系數(shù),其中所考慮的這些得分的數(shù)量基于紋理得分。已經(jīng)發(fā)現(xiàn),根據(jù)實施例的增強的濾波有利地降低了對于沒有此類紋理敏感混合規(guī)定(texture-sensitiveblendingprovision)的nlm濾波來說是典型的模糊效應(yīng)。
圖1是示出根據(jù)實施例的圖像降噪方法101的流程圖。對于離散圖像或幀中的所有像素都將執(zhí)行方法101,其中,每一次迭代是針對一個含噪目標(biāo)像素pin執(zhí)行的,該含噪目標(biāo)像素pin被過濾為濾波后的輸出像素pout。圖1中所示的迭代可以在并行處理架構(gòu)中的多個線程或執(zhí)行單元上串行或并行地實現(xiàn)。方法101的每個迭代/線程都開始于:在操作105,接收輸入像素值pi。被接收作為輸入的值包括待濾波的輸入目標(biāo)像素值pin和該目標(biāo)像素的空間鄰域內(nèi)的多個像素值。在示例性實施例中,空間鄰域大小設(shè)定成小于包含pin的圖像幀的大小。在該鄰域外的像素在確定濾波后的像素值pout時不被給予任何權(quán)重??臻g鄰域可以是任何預(yù)定尺寸(例如,小于n×n像素圖像幀的固定k×k窗口),以相應(yīng)地減少在方法101中執(zhí)行的用于確定過濾后的像素值pout的計算量。在一個實施例中,預(yù)先確定鄰域的尺寸,并且因此預(yù)先確定在操作105處接收的輸入像素值樣本的尺寸,以適應(yīng)特定非局部均值算法,如在下文進(jìn)一步描述的。雖然在計算開銷方面,定義比n×n圖像小的鄰域具有實際優(yōu)點,但是應(yīng)注意,本文的實施例同樣適用于用針對n×n圖像內(nèi)的所有像素計算出的權(quán)重來對目標(biāo)像素進(jìn)行濾波的技術(shù)。
在第一實施例中,輸入像素值pi是rgb空間中的原始數(shù)據(jù)。雖然該原始數(shù)據(jù)可以是由照相機傳感器輸出的原始bayer數(shù)據(jù)等,但是在有利的實施例中,已經(jīng)對像素值pi進(jìn)行了某種程度的預(yù)處理,例如線性化(包括黑度校正),并且顏色陰影已經(jīng)被校正。原始圖像數(shù)據(jù)還可以已經(jīng)對已知的壞像素進(jìn)行了校正,并且可以已經(jīng)在去噪方法101的上游執(zhí)行了透鏡陰影校正。在第二實施例中,在操作105處接收的輸入像素值pi位于yuv空間中,方法101具體操作在亮度(y)通道。
在操作115處,基于輸入像素值來確定指示鄰域內(nèi)的紋理水平的紋理得分η。紋理得分η是紋理的獨立測度,其將向去噪方法101提供附加的自由度。在一個實施例中,在操作105處接收的所有輸入像素pi被用于計算紋理得分η。例如,在所有輸入像素pi都與在非局部均值算法中使用的鄰域窗口相關(guān)聯(lián)的情況下,從這一群輸入像素pi導(dǎo)出紋理得分η。替換地,僅基于輸入像素pi的子集來確定紋理得分η。換句話說,確定紋理得分η的窗口可以小于所有輸入像素pi所屬的鄰域,但是包含在其內(nèi)。于在操作105處接收的所有輸入像素pi都對應(yīng)于目標(biāo)像素pin的單個鄰域的一個示例性實施例中,基于對整個鄰域上的像素值變化的定量評估來確定紋理得分η。雖然這種定量評估可以采取許多形式,但是下面在圖2和圖3的上下文中更詳細(xì)地描述了示例性實施例。
仍然參考圖1,在操作130處,基于與在操作102處接收的目標(biāo)像素的空間鄰域內(nèi)的多個像素相關(guān)聯(lián)的一個或多個值,針對目標(biāo)像素計算非局部均值。任何已知的非局部均值算法都可以在操作130處實施,以得到目標(biāo)像素pin的平均目標(biāo)像素值<q>。在一個示例性實施例中,如在圖1中由在操作115與130之間的虛線所示的,并且如下面更詳細(xì)描述的那樣,非局部均值計算取決于在操作115處確定的紋理得分。然而,在替換實施例中,操作130處的非局部均值計算獨立于在操作115處進(jìn)行的紋理評估,并且在操作115處確定的紋理得分僅用在混合操作145處,在混合操作145中,基于紋理得分來混合來自操作130的非局部均值和含噪目標(biāo)輸入像素值pin,以得到濾波后的輸出像素值pout。然后,在操作195處,將濾波后的輸出像素值pout存儲到例如電子存儲器,例如但不限于寄存器、易失性存儲器單元、非易失性存儲器單元等。在操作199處,在多個串行迭代或并行線程上遞增輸入像素pin,直到圖像或幀中的所有像素都被濾波。
圖2是根據(jù)實施例的像素值和圖像濾波參數(shù)關(guān)聯(lián)圖的圖示。圖3是示出根據(jù)實施例的圖像降噪方法301的流程圖。在圖2中以示意圖形式描繪的濾波可以例如作為方法301的一部分來執(zhí)行,該方法是以上在圖1的上下文中概述的方法101的具體實施例。
如圖2所示,圖像或幀201包括n×n大小的在空間上相關(guān)的2d像素陣列205。在所描繪的實施例中,像素陣列205的值位于rgb空間中。在像素陣列205內(nèi)是圍繞目標(biāo)像素210的k×k大小的局部鄰域215。例如,可以在操作105(圖3)處接收來自像素陣列205的像素值作為輸入像素pin。
如圖3中進(jìn)一步示出的,在操作320處,將包含目標(biāo)像素pin的目標(biāo)像素區(qū)塊p與也包含在局部鄰域nbrk(pin)的所有像素的集合內(nèi)的一個或多個候選像素區(qū)塊qi中的每一個區(qū)塊進(jìn)行比較。在圖2所示的示例中,包含目標(biāo)像素210的目標(biāo)像素區(qū)塊220包含在局部鄰域215內(nèi)。一個或多個候選像素區(qū)塊221可以例如具有預(yù)定尺寸并且與在鄰域215內(nèi)定義的多個其他候選區(qū)塊重疊。給定鄰域內(nèi)的候選區(qū)塊221的數(shù)量可以例如是目標(biāo)像素210在圖像/幀內(nèi)(例如,沿著邊緣)和/或鄰域215內(nèi)的位置的函數(shù)。
對應(yīng)于每個候選區(qū)塊與目標(biāo)像素區(qū)塊的相似度(在本文中稱為“自相似度”)來計算候選區(qū)塊權(quán)重wi。例如,對于與目標(biāo)區(qū)塊具有較大相似度的第一候選區(qū)塊,候選區(qū)塊權(quán)重wi可以大于與目標(biāo)區(qū)塊具有較小相似度的第二候選區(qū)塊。每個候選區(qū)塊權(quán)重wi都可以通過用于評估像素i與pin之間的相似度的任何區(qū)塊相似度評分函數(shù)來確定,例如0≤w(i,pin)≤1。在一個實施例中,相似度測度被計算為絕對差之和。這種實施例可以有利地實現(xiàn)在固定功能或半可編程的邏輯電路(例如,圖像信號處理器)中。在替換實施例中,高斯噪聲模型被用作內(nèi)核函數(shù),其中差值的平方和被計算為相似度測度。該替換實施例可以有利地在軟件中實現(xiàn),該軟件在完全可編程的邏輯電路(例如,應(yīng)用處理器)上執(zhí)行。
返回圖3,在操作115處,執(zhí)行對整個鄰域215上的像素值變化的分析,以計算(局部)紋理得分η。如圖2和圖3這兩者所示的,紋理得分η的確定獨立于區(qū)塊加權(quán)計算。然后,在方法301中利用區(qū)塊加權(quán)和紋理得分η兩者來確定圖像幀內(nèi)要執(zhí)行更多或更少的nlm去噪的位置。
如上所述,紋理得分η是鄰域nbrk(pin)內(nèi)的像素值的全部或子集上的色散(dispersion)的估計量。有利地,該估計量通過進(jìn)行估計的鄰域的信號強度進(jìn)行歸一化。例如,估計量可以基于像素值的標(biāo)準(zhǔn)偏差或方差。雖然可以使用許多紋理評分算法,但是在一個實施例中,紋理得分η被計算為通過均值信號強度歸一化的方差:
然后,在操作130處,計算目標(biāo)像素pin的nlm。在示例性實施例中,基于在操作320處確定的候選區(qū)塊權(quán)重wi來計算區(qū)塊均值<q>。作為一個示例,通過對由候選區(qū)塊的對應(yīng)區(qū)塊權(quán)重加權(quán)后的候選區(qū)塊進(jìn)行平均來計算均值區(qū)塊<q>。然而,可以采用任何已知的nlm技術(shù)來得到均值區(qū)塊<q>,因為本文的實施例在這方面不進(jìn)一步限制。例如,根據(jù)均值區(qū)塊<q>,基于其在目標(biāo)區(qū)塊p內(nèi)的位置來確定平均目標(biāo)像素值<q>。
在基于輸入像素值確定目標(biāo)輸入像素的非局部均值的情況下,與局部紋理的置信度成反比地,相對于目標(biāo)輸入像素值pin對非局部均值進(jìn)行加權(quán)。在圖2和圖3所示的示例性實施例中,通過基于紋理得分η混合非局部平均像素值<q>和目標(biāo)輸入像素pin,使濾波后的像素值pout成為獨立導(dǎo)出的局部紋理的置信度的函數(shù)??梢酝ㄟ^在操作325處確定的混合系數(shù)α對混合函數(shù)進(jìn)行加權(quán)。在示例性實施例中,在操作350處,基于混合系數(shù)α,執(zhí)行非局部均值像素值<q>和目標(biāo)輸入像素pin之間的插值。在一個具體示例中,插值是混合系數(shù)α的線性函數(shù):
pout=αpin+(1-α)<q>(公式2)
混合系數(shù)α以如下方式至少基于紋理得分η,并且有利地,基于紋理得分η和在操作320處確定的區(qū)塊權(quán)重wi兩者:響應(yīng)于檢測到存在較大局部紋理,限制非局部均值<q>的混合冪(blendingpower)(和/或提高目標(biāo)輸入像素pin的混合冪),反之亦然。例如,如果局部紋理測度指示紋理的概率高,則僅當(dāng)α為低時(即,局部自相似度高,例如存在重復(fù)的紋理)才應(yīng)當(dāng)強烈地去噪。在圖3所示的、混合函數(shù)是非局部均值<q>與目標(biāo)輸入像素pin之間的線性插值的示例性實施例中,混合系數(shù)α指示最大區(qū)塊權(quán)重wi的集合。通過根據(jù)紋理得分η選擇最大區(qū)塊權(quán)重的數(shù)量s,有利地通過區(qū)塊權(quán)重wi的圖案(pattern)來通知混合系數(shù)α。然后,在操作325處,基于與s個區(qū)塊權(quán)重的選擇相關(guān)聯(lián)的區(qū)塊權(quán)重統(tǒng)計來計算混合系數(shù)α。作為一個示例,混合系數(shù)α基于指示選定的區(qū)塊權(quán)重集合的集中趨勢的區(qū)塊權(quán)重統(tǒng)計:
這里,
在實施例中,用于計算混合系數(shù)α的區(qū)塊權(quán)重的數(shù)量s與局部鄰域紋理成反比。紋理的置信度越低的地方,混合系數(shù)α指示越多的區(qū)塊權(quán)重。紋理的置信度越高的地方,混合系數(shù)α指示越少的區(qū)塊權(quán)重。因此,在檢測到低紋理(例如,紋理得分η小)的平坦區(qū)域中,在權(quán)重統(tǒng)計計算中可以包括許多權(quán)重。然而,如果每個候選區(qū)塊的自相似度都低,則所包括的許多權(quán)重仍然可以使得平均權(quán)重低并且含噪輸入像素pin具有低的混合冪。如果紋理測度高,則將預(yù)期到發(fā)現(xiàn)區(qū)塊之間的對應(yīng)性較小,所以可以減少區(qū)塊權(quán)重的數(shù)量,以允許基于少量區(qū)塊進(jìn)行有力的濾波。例如,在存在邊緣的情況下,可以預(yù)期到紋理得分增加,并且并入混合系數(shù)α中的權(quán)重的數(shù)量相應(yīng)地減少到僅為具有最大相似度的那些權(quán)重。
可以以各種方式確定在權(quán)重集合中表示的候選區(qū)塊的整數(shù)數(shù)量s,以實現(xiàn)以上原理。在一個實施例中,通過評估封閉式函數(shù)來計算最大區(qū)塊權(quán)重的數(shù)量s。在替換實施例中,通過訪問查找表(lut)來確定最大區(qū)塊權(quán)重的數(shù)量s(η)。在第一實施例中,該函數(shù)可以是紋理得分的任何單調(diào)遞減封閉式函數(shù),該紋理得分的范圍在可用候選區(qū)塊(即,所有候選區(qū)塊)的總數(shù)量與區(qū)塊的非零最小閾值數(shù)量之間。在另一實施例中,該函數(shù)是紋理得分η的呈指數(shù)減小的函數(shù)。在一個示例性實施例中,該函數(shù)可以具有以下形式:
這里,ncand是候選區(qū)塊的總數(shù)量,nmin是候選區(qū)塊的最小閾值數(shù)量,c是確定指數(shù)函數(shù)冪的整形系數(shù)(shapingcoefficient)。從該連續(xù)表達(dá)式,可以通過截尾等容易地導(dǎo)出整數(shù)值。在替換實施例中,使用紋理得分η作為索引值或關(guān)鍵值來訪問將不同的候選區(qū)塊數(shù)量與不同的紋理得分相關(guān)聯(lián)的lut。可以在預(yù)定數(shù)量的窗口或時隙(slot)中劃分可能的紋理得分的范圍。每個窗口或時隙都與最大區(qū)塊權(quán)重的數(shù)量s(η)相關(guān)聯(lián)。在一些實施例中,lut可以是用戶可配置的,其中s(η)是用戶定義的配置設(shè)置。
在另外的實施例中,如圖2中虛線箭頭所示的,紋理得分η用于獨立的局部紋理測度進(jìn)一步調(diào)節(jié)nlm計算。圖4是示出根據(jù)這種實施例的圖像降噪方法401的流程圖。方法401進(jìn)一步舉例說明了還可以如何通過根據(jù)公式3確定的初始系數(shù)的非線性映射來導(dǎo)出混合系數(shù)α。
如圖4所描繪的,方法401開始于:在操作105處,接收輸入像素值,并且在操作115處,計算紋理得分η,在操作320處,計算區(qū)塊權(quán)重wi,如以上所述。在操作435處,針對鄰域內(nèi)的候選區(qū)塊的子集,計算均值區(qū)塊<q>。候選區(qū)塊的子集是基于紋理得分η來確定的。因此,紋理得分η通過混合系數(shù)α并且還通過將與含噪像素混合的nlm像素值這兩者,來影響濾波。在目的是減少在nlm求平均過程中使用不適當(dāng)或不相似的區(qū)塊的概率的情況下,響應(yīng)于檢測到更大水平的紋理,操作435處計算出的非局部均值將包含更少的候選區(qū)塊。在一個實施例中,通過評估封閉式函數(shù)來確定將在nlm計算中包含的候選區(qū)塊的數(shù)量。在替換實施例中,通過訪問將候選區(qū)塊數(shù)量與特定紋理得分或得分范圍相關(guān)聯(lián)的lut來確定候選區(qū)塊的數(shù)量。在具體實施例中,從在混合系數(shù)α的計算中使用的相同候選區(qū)塊計算nlm。然后,在操作440處,根據(jù)從候選區(qū)塊的子集計算出的區(qū)塊均值<q>來確定平均目標(biāo)像素值<q>。
方法401繼續(xù)于操作429,在這里,例如按照公式4計算與s個最大區(qū)塊權(quán)重相關(guān)聯(lián)的區(qū)塊的數(shù)量。在操作431處,例如,從指示選定的區(qū)塊權(quán)重集合的集中趨勢的區(qū)塊權(quán)重統(tǒng)計,基于s(η)個最大權(quán)重計算混合系數(shù)α(例如,按照公式3)。在操作433處,通過執(zhí)行混合系數(shù)α的非線性映射來計算最終混合系數(shù)α’。映射函數(shù)本身是通過局部紋理得分η參數(shù)化的,并且將向目標(biāo)像素的輸入值提供期望的優(yōu)先級。在一個實施例中,通過訪問將不同紋理得分與初始混合系數(shù)和最終混合系數(shù)之間的不同映射相關(guān)聯(lián)的查找表(lut)來確定最終混合系數(shù)α’。此類映射也可以是用戶可定義的。在替換實施例中,通過評估紋理得分η的封閉式函數(shù)來計算最終混合系數(shù)α’,公式5提供了一個示例:
這里:b(n)=a1η2+a2η+a3,并且a0=5;a1=1.75,a2=-1.95,a3=0.7。
然后,方法401繼續(xù)于操作455,在這里,基于最終混合系數(shù)α’,將在操作440處確定的nlm目標(biāo)像素值<q>與輸入目標(biāo)像素值pin混合。在一個示例性實施例中,混合操作需要使用最終混合系數(shù)α’的線性插值,以對輸入像素值和nlm像素值進(jìn)行互補加權(quán)(例如,應(yīng)用公式2,其中α’代替α)。然后,方法401完成于:將濾波后的像素值pout存儲到電子存儲器。在另外的實施例中,將濾波后的像素值pout進(jìn)一步輸出到顯示流水線、和/或編碼流水線、和/或無線傳輸流水線。
圖5a是根據(jù)一個或多個實施例的包括含有獨立的紋理檢測級的圖像去噪模塊540的系統(tǒng)501的功能框圖。圖像處理系統(tǒng)501包括輸入端口,用于接收目標(biāo)像素的輸入像素值和該目標(biāo)像素的空間鄰域內(nèi)的多個像素的輸入像素值。在實施例中,本文所描述的紋理增強的nlm降噪技術(shù)和用于執(zhí)行處理的相關(guān)電路位于圖像流水線內(nèi),以在原始數(shù)據(jù)515中所包含的具有輸入像素值的rgb空間中操作。
在示例性實施例中,原始數(shù)據(jù)515源自包括照相機傳感器510的照相機硬件模塊(cm)505,它們都可以被包括作為系統(tǒng)501的一部分,或者與由虛線框所示不同。傳感器510可以是例如qxga、wqxga或qsxga格式的數(shù)字圖像設(shè)備。照相機傳感器110可以提供每像素10位以上的顏色分辨率,并且可以進(jìn)一步可操作以漸進(jìn)地捕獲連續(xù)視頻幀。傳感器510可以具有170mhz以上的像素頻率。照相機傳感器510可以包括rgbbayer濾色器、模擬放大器、a/d轉(zhuǎn)換器、用于將入射光轉(zhuǎn)換成與原始圖像數(shù)據(jù)對應(yīng)的數(shù)字信號的其它組件。傳感器510可以被控制以操作滾動快門或電子焦平面快門過程,其中,對于幀以線性順序方式逐漸讀出像素。原始數(shù)據(jù)被輸入到isp530。isp530將在與cm505相關(guān)聯(lián)的水平和/或垂直消隱周期期間接收并分析原始視頻數(shù)據(jù)的幀。在原始圖像數(shù)據(jù)處理期間,isp530用圖像去噪模塊540執(zhí)行降噪。在示例性實施例中,isp530還包括預(yù)處理器520,用于執(zhí)行像素線性化和陰影補償中的一個或多個,在這里,由照相機傳感器505輸出的原始bayer數(shù)據(jù)等被線性化(也包括黑度校正),顏色陰影被校正。可以進(jìn)一步計算原始圖像數(shù)據(jù)色度(白平衡)。還可以在去噪模塊540的上游執(zhí)行已知壞像素校正和透鏡陰影校正。在替換實施例中,由預(yù)處理器520執(zhí)行的預(yù)處理的量是最小的,例如僅包括在去噪模塊540上游的暗噪聲去除。
在圖5a所示的示例性實施例中,由圖像信號處理器(isp)530的邏輯電路實現(xiàn)圖像去噪模塊540。在替換實施例中,圖像去噪模塊540被實現(xiàn)為在邏輯電路上實例化的一個或多個軟件線程,邏輯電路運行在例如可編程處理器(例如,應(yīng)用處理單元(apu)或中央處理單元(cpu))上。去噪模塊540耦合到系統(tǒng)501的輸入端口,例如在預(yù)處理器520的下游。去噪模塊540還包括紋理處理模塊545,用于基于輸入像素值計算紋理得分,該紋理得分指示在鄰域內(nèi)檢測到的或被認(rèn)為存在于鄰域內(nèi)的紋理的水平。去噪模塊540還包括nlm模塊550,用于基于輸入像素值來計算目標(biāo)輸入像素的非局部均值。去噪模塊540還包括混合模塊555,用于:通過基于紋理得分計算作為非局部均值和目標(biāo)輸入像素值的混合值的濾波后的目標(biāo)像素值,來與紋理水平成反比地調(diào)節(jié)非局部均值相對于目標(biāo)輸入像素值的加權(quán)。紋理處理模塊545、nlm模塊550和混合器555以通信方式耦合在一起。可以用固定功能邏輯電路或可編程邏輯電路來實現(xiàn)紋理處理模塊545、nlm模塊550和混合器555中的任何一個或全部。
紋理處理模塊545可以被認(rèn)為是獨立的圖像去噪級,其與nlm模塊550和混合模塊555的操作交互并通知這些操作,nlm模塊550和混合模塊555都用作單獨的圖像去噪級。在實施例中,nlm模塊550還包括如下邏輯電路,其用于:通過執(zhí)行多個候選區(qū)塊與鄰域內(nèi)的包含目標(biāo)像素的目標(biāo)像素區(qū)塊之間的比較,來計算鄰域內(nèi)的候選區(qū)塊的區(qū)塊權(quán)重。然后,混合模塊555還包括如下邏輯電路,其用于:基于區(qū)塊權(quán)重和紋理得分來計算混合系數(shù)?;旌夏K555還進(jìn)一步包括如下邏輯電路,其用于:通過基于混合系數(shù)在非局部均值與目標(biāo)輸入像素之間進(jìn)行的插值來混合非局部均值與目標(biāo)輸入像素值。
在一些實施例中,紋理處理模塊550還包括如下邏輯電路,其用于:基于紋理得分在鄰域中選擇最大區(qū)塊權(quán)重的集合。在另外的實施例中,紋理處理模塊550還包括如下邏輯電路,其用于:基于指示選定的區(qū)塊權(quán)重集合的集中趨勢的區(qū)塊權(quán)重統(tǒng)計來計算混合系數(shù)。然后,混合模塊555進(jìn)一步包括如下邏輯電路,其用于:求取非局部均值和目標(biāo)輸入像素的加權(quán)和,非局部均值和目標(biāo)輸入像素按區(qū)塊權(quán)重統(tǒng)計進(jìn)行互補加權(quán)。
在一些實施例中,紋理處理模塊545還包括如下邏輯電路,其用于:用以下邏輯電路中的至少一個來確定以權(quán)重集合表示的候選區(qū)塊的整數(shù)數(shù)量:用于評估紋理得分的單調(diào)遞減封閉式函數(shù)的邏輯電路,紋理得分的范圍在候選區(qū)塊的數(shù)量與非零最小值之間;或者用于使用紋理得分作為索引值來訪問查找表(lut)的邏輯電路,所述lut將候選區(qū)塊的不同數(shù)量與不同的紋理得分相關(guān)聯(lián)。
在一些實施例中,混合模塊555還包括:用于基于區(qū)塊權(quán)重和紋理得分來計算混合系數(shù)的邏輯電路,該邏輯電路還包括用于從指示選定的區(qū)塊權(quán)重集合的集中趨勢的區(qū)塊權(quán)重統(tǒng)計來計算初始混合系數(shù)的邏輯電路;用于通過初始混合系數(shù)的映射來計算混合系數(shù)的邏輯電路,其中,映射是紋理得分的函數(shù)。
在一些實施例中,nlm模塊550還包括如下邏輯電路,其用于:以響應(yīng)于檢測到較大的紋理水平而包含較少的候選區(qū)塊的方式,基于紋理得分來選擇鄰域內(nèi)的候選區(qū)塊的子集。然后,nlm模塊550從平均區(qū)塊計算目標(biāo)輸入像素的非局部均值,該平均區(qū)塊是通過對用候選區(qū)塊的對應(yīng)區(qū)塊權(quán)重加權(quán)的候選區(qū)塊的子集進(jìn)行平均來確定的。
還如圖5a所示,圖像處理系統(tǒng)501還包括耦合到電子存儲器563、顯示器562或編碼器561中的至少一個的輸出端口。存儲器563用于存儲濾波后的圖像像素,作為原始圖像數(shù)據(jù)511的濾波后的表示。編碼器561用于將濾波后的圖像像素編碼為原始圖像數(shù)據(jù)511的濾波后的表示。顯示器562用于將濾波后的圖像像素呈現(xiàn)為圖像數(shù)據(jù)511的濾波后的表示。在另外的實施例中,isp530和圖像去噪模塊540中的一個或多個耦合到具有用戶空間和內(nèi)核空間的apu(cpu)590。在用戶空間上執(zhí)行的應(yīng)用可以控制去噪模塊540(例如,在lut中定義s-η關(guān)聯(lián)性或者定義整形系數(shù)c的值等)。
圖5b是根據(jù)一個或多個替換實施例的包括含有獨立的紋理檢測級的圖像去噪模塊540的系統(tǒng)502的功能框圖。在該示例性實施例中,nlm降噪技術(shù)和相關(guān)聯(lián)的電路位于圖像流水線內(nèi)以操作在顏色校正后且轉(zhuǎn)換的yuv數(shù)據(jù)空間中。圖5b示出了一個示例性系統(tǒng)架構(gòu),在其中,對于視頻處理流水線,圖像去噪模塊540操作為下采樣濾波器。例如,系統(tǒng)502具有像素值輸入端口,其耦合到具有任何已知配置的流送視頻流水線的輸出。該視頻流水線還可以包括傳感器510(圖5a),該傳感器根據(jù)任何已知的流送協(xié)議(例如,mipi或其他協(xié)議)操作以輸出與多個連續(xù)曝光的幀相關(guān)聯(lián)的原始視頻數(shù)據(jù)。在示例性實施例中,系統(tǒng)502接收的xvycc輸入像素數(shù)據(jù)506由解碼電路560轉(zhuǎn)換為yuv(cb,cr)格式。色度二次采樣器570進(jìn)行下采樣,例如從4:4:4yuv數(shù)據(jù)到4:4:0數(shù)據(jù)。然后,去噪模塊540用基本上如上面在圖5a的上下文中所描述的模塊對色度二次采樣數(shù)據(jù)集中的二次采樣的y’通道數(shù)據(jù)進(jìn)行操作。
圖6是根據(jù)一個或多個實施例的采用圖像去噪模塊540的示例性超低功耗系統(tǒng)600的示圖。系統(tǒng)600可以是移動設(shè)備,但是系統(tǒng)600不限于該上下文內(nèi)容。例如,系統(tǒng)600可以并入可穿戴計算設(shè)備、超級膝上計算機、平板、觸摸板、手持計算機、掌上計算機、蜂窩電話、智能設(shè)備(例如智能手機、智能平板或移動電視)、移動互聯(lián)網(wǎng)設(shè)備(mid)、消息傳遞設(shè)備、數(shù)據(jù)通信設(shè)備等。系統(tǒng)600也可以是基礎(chǔ)設(shè)施設(shè)備。例如,系統(tǒng)600可以并入大規(guī)格電視、機頂盒、臺式計算機,或者其他家庭或商業(yè)網(wǎng)絡(luò)設(shè)備。
系統(tǒng)600包括設(shè)備平臺602,該設(shè)備平臺可以實現(xiàn)上面在圖1至圖5的上下文中所描述的各種紋理增強的nlm圖像去噪方法的全部或子集和任何紋理增強的nlm圖像去噪系統(tǒng)。在各種示例性實施例中,處理器615執(zhí)行紋理增強的nlm圖像去噪算法。處理器615在isp530中包括邏輯電路,例如用于實現(xiàn)紋理增強的nlm圖像去噪算法,例如在本文中任何地方描述的那些算法中的任一個。在一些實施例中,一種或多種計算機可讀介質(zhì)可以存儲指令,這些指令當(dāng)由cpu610和/或處理器615執(zhí)行時,使處理器執(zhí)行一個或多個紋理增強的nlm圖像去噪算法,例如上文詳細(xì)描述的那些算法中的任一個。然后,由圖像去噪模塊540濾波的一個或多個圖像數(shù)據(jù)幀可以作為濾波后的圖像數(shù)據(jù)存儲在電子存儲器612中。
在實施例中,設(shè)備平臺602耦合到人機接口設(shè)備(hid)620。平臺602可以利用cm505收集原始圖像數(shù)據(jù),該原始圖像數(shù)據(jù)被濾波并輸出到hid620。包括一個或多個導(dǎo)航特征的導(dǎo)航控制器650可以用于與例如設(shè)備平臺602和/或hid620交互。在實施例中,hid620可以包括經(jīng)由無線電裝置618和/或網(wǎng)絡(luò)660耦合到平臺602的任何電視機類型的監(jiān)視器或顯示器。例如,hid620可以包括計算機顯示屏、觸摸屏顯示器、視頻監(jiān)視器、類電視機的設(shè)備和/或電視機。
在一個或多個軟件應(yīng)用616的控制下,設(shè)備平臺602可以在hid620上顯示用戶界面622??梢酝ㄟ^指針、光標(biāo)、聚焦環(huán)或顯示在顯示器上的其它視覺指示器的移動在顯示器(例如,hid620)上復(fù)制控制器650的導(dǎo)航特征的移動。例如,在軟件應(yīng)用616的控制下,位于導(dǎo)航控制器650上的導(dǎo)航特征可以被映射到在用戶界面622上顯示的虛擬導(dǎo)航特征。
在實施例中,設(shè)備平臺602可以包括cm505、芯片組605、處理器610、615、存儲器/存儲612、應(yīng)用616和/或無線電裝置618的任何組合。芯片組605可以在處理器610、615、存儲器612、視頻處理器615、應(yīng)用616或無線電裝置618之間提供相互通信。
處理器610、615中的一個或多個可以實現(xiàn)為一個或多個復(fù)雜指令集計算機(cisc)或精簡指令集計算機(risc)處理器;x86指令集兼容處理器、多核或任何其它微處理器或中央處理單元(cpu)。
存儲器612可以實現(xiàn)為易失性存儲器設(shè)備,例如但不限于隨機存取存儲器(ram)、動態(tài)隨機存取存儲器(dram)或靜態(tài)ram(sram)。存儲器612還可以實現(xiàn)為非易失性存儲設(shè)備,例如但不限于閃存存儲器、電池備用sdram(同步dram)、磁存儲器、相變存儲器等。
無線電裝置618可以包括能夠使用各種合適的無線通信技術(shù)發(fā)送和接收信號的一個或多個無線電裝置。此類技術(shù)可以涉及一個或多個無線網(wǎng)絡(luò)上的通信。示例無線網(wǎng)絡(luò)包括(但不限于)無線局域網(wǎng)(wlan)、無線個域網(wǎng)(wpan)、無線城域網(wǎng)(wman)、蜂窩網(wǎng)絡(luò)和衛(wèi)星網(wǎng)絡(luò)。在這些網(wǎng)絡(luò)上進(jìn)行通信時,無線電裝置618可以根據(jù)任何版本的一個或多個適用標(biāo)準(zhǔn)進(jìn)行操作。
在實施例中,系統(tǒng)600可以實現(xiàn)為無線系統(tǒng)、有線系統(tǒng)或其組合。當(dāng)實現(xiàn)為無線系統(tǒng)時,系統(tǒng)600可以包括適合于通過無線共享介質(zhì)(例如一個或多個天線、發(fā)射器、接收器、收發(fā)器、放大器、濾波器、控制邏輯等)進(jìn)行通信的組件和接口。無線共享介質(zhì)的示例可以包括無線頻譜的一部分,例如rf頻譜等。當(dāng)實現(xiàn)為有線系統(tǒng)時,系統(tǒng)600可以包括適合于通過有線通信介質(zhì)(例如輸入/輸出(i/o)適配器、將i/o適配器與對應(yīng)的有線通信介質(zhì)連接的物理連接器、網(wǎng)絡(luò)接口卡(nic)、盤控制器、視頻控制器、音頻控制器等)進(jìn)行通信的組件和接口。有線通信介質(zhì)的示例可以包括電線、電纜、金屬引線、印刷電路板(pcb)、背板、開關(guān)結(jié)構(gòu)、半導(dǎo)體材料、雙絞線、同軸電纜、光纖等。
如本文所描述的紋理增強的nlm圖像去噪架構(gòu)和相關(guān)聯(lián)的算法可以實現(xiàn)在各種硬件架構(gòu)、單元設(shè)計或“ip核”中。
如上所述,系統(tǒng)600可以以變化的物理樣式或形狀因子來體現(xiàn)。圖7進(jìn)一步示出了可以體現(xiàn)系統(tǒng)600的移動手機設(shè)備700的實施例。在實施例中,例如,設(shè)備700可以實現(xiàn)為具有無線功能的移動計算設(shè)備。例如,移動計算設(shè)備可以指代具有處理系統(tǒng)和移動功率源或電源(例如一個或多個電池)的任何設(shè)備。移動計算設(shè)備的示例可以包括超級膝上計算機、平板、觸摸板、便攜式計算機、手持計算機、掌上計算機、個人數(shù)字助理(pda)、蜂窩電話、組合蜂窩電話/pda、電視機、智能設(shè)備(例如,智能手機、平板或智能電視機)、移動互聯(lián)網(wǎng)設(shè)備(mid)、消息傳遞設(shè)備、數(shù)據(jù)通信設(shè)備等。移動計算設(shè)備的示例還可以包括被配置為由人穿戴的計算機和/或媒體捕獲/傳輸設(shè)備,例如腕上計算機、手指上計算機、環(huán)形計算機、眼鏡計算機、皮帶夾計算機、臂帶計算機、鞋上計算機、服裝上計算機和其他可穿戴計算機。在各種實施例中,例如,移動計算設(shè)備可以實現(xiàn)為能夠執(zhí)行計算機應(yīng)用以及語音通信和/或數(shù)據(jù)通信的智能電話。雖然通過示例的方式可以借助被實現(xiàn)為智能電話的移動計算設(shè)備來描述一些實施例,但是可以理解,也可以使用其他無線移動計算設(shè)備來實現(xiàn)其他實施例。實施例不限于該上下文。
如圖7所示,移動手機設(shè)備700可以包括具有前部701和后部702的外殼。設(shè)備700包括顯示器704、輸入/輸出(i/o)設(shè)備706和集成天線708。設(shè)備700還可以包括導(dǎo)航特征712。顯示器704可以包括用于顯示適合于移動計算設(shè)備的信息的任何合適的顯示單元。i/o設(shè)備706可以包括用于將信息輸入到移動計算設(shè)備中的任何合適的i/o設(shè)備。i/o設(shè)備706的示例可以包括字母數(shù)字鍵盤、數(shù)字鍵盤、觸摸板、輸入鍵、按鈕、開關(guān)、麥克風(fēng)、揚聲器、語音識別設(shè)備和軟件等。信息還可以通過麥克風(fēng)(未示出)的方式輸入到設(shè)備700中,或者可以由語音識別設(shè)備進(jìn)行數(shù)字化。實施例不限于此上下文。集成到至少背部702中的是照相機705(例如,包括透鏡、光圈和成像傳感器)和閃光燈710,它們都可以是cm的組件,通過這些組件,圖像幀被曝光并輸出到紋理增強的nlm圖像去噪系統(tǒng),例如本文其他地方描述的任一系統(tǒng)。
可以使用硬件元件、軟件元件或二者的組合來實現(xiàn)本文描述的實施例。硬件元件或模塊的示例包括:處理器、微處理器、電路、電路元件(例如晶體管、電阻器、電容器、電感器等)、集成電路、專用集成電路(asic)、可編程邏輯器件(pld)、數(shù)字信號處理器(dsp)、現(xiàn)場可編程門陣列(fpga)、邏輯門、寄存器、半導(dǎo)體器件、芯片、微芯片、芯片組等。軟件元件或模塊的示例包括應(yīng)用、計算機程序、應(yīng)用程序、系統(tǒng)程序、機器程序、操作系統(tǒng)軟件、中間件、固件、例程、子例程、函數(shù)、方法、過程、軟件接口、應(yīng)用程序接口(api)、指令集、計算代碼、計算機代碼、代碼段、計算機代碼段、數(shù)據(jù)字、值、符號或其任何組合。確定是否使用硬件元件和/或軟件元件來實現(xiàn)實施例可以根據(jù)為設(shè)計選擇而考慮的任何數(shù)量的因素來變化,例如但不限于:期望的計算速率、功率等級、熱量容限、處理周期預(yù)算、輸入數(shù)據(jù)率、輸出數(shù)據(jù)率、存儲器資源、數(shù)據(jù)總線速度以及其它設(shè)計或性能約束。
至少一個實施例的一個或多個方面可以由存儲在機器可讀存儲介質(zhì)上的代表性指令來實現(xiàn)。這些指令在由機器執(zhí)行期間,可以完全或部分地駐留在主存儲器內(nèi)和/或處理器內(nèi),于是存儲指令的主存儲器和處理器部分也構(gòu)成機器可讀存儲介質(zhì)。可編程邏輯電路可以具有寄存器、狀態(tài)機等,它們由實現(xiàn)計算機可讀介質(zhì)的處理器來配置。于是,這些編程后的邏輯電路可以理解成在物理上變換成落入本文所描述的實施例的范圍內(nèi)的系統(tǒng)。表示處理器內(nèi)的各種邏輯的指令在由機器讀取時還可以使機器制造遵循本文描述的架構(gòu)的邏輯和/或執(zhí)行本文描述的技術(shù)。被稱為單元設(shè)計或ip核的此類表示可以被存儲在有形機器可讀介質(zhì)上,并供應(yīng)至各種客戶或制造設(shè)施,以加載到實際制作邏輯或處理器的制造機器中。
雖然已經(jīng)參考實施例描述了本文所闡述的某些特征,但是本說明書不旨在解釋成限制性意義。因此,對于本公開所屬領(lǐng)域的技術(shù)人員顯而易見的是,本文所描述的實施方式的各種修改以及其他實施方式被認(rèn)為在本公開的精神和范圍內(nèi)。
以下段落簡要描述一些示例性實施例。
在一個或多個第一實施例中,一種計算機實現(xiàn)的圖像降噪方法包括:接收目標(biāo)像素和所述目標(biāo)像素的空間鄰域內(nèi)的多個像素的輸入像素值。該方法包括:基于所述輸入像素值,計算指示鄰域內(nèi)的紋理水平的紋理得分。該方法包括:基于所述輸入像素值,計算所述目標(biāo)輸入像素的非局部均值。該方法包括:通過基于所述紋理得分計算作為所述非局部均值和所述目標(biāo)輸入像素值的混合值的濾波后的目標(biāo)像素值,與所述紋理水平成反比地調(diào)節(jié)所述非局部均值相對于所述目標(biāo)輸入像素值的加權(quán),并且該方法包括:將濾波后的目標(biāo)像素值存儲到電子存儲器。
在第一實施例的進(jìn)一步方面中,計算所述目標(biāo)輸入像素的非局部均值還包括:以響應(yīng)于檢測到更大的紋理水平而包含較少的候選區(qū)塊的方式,基于所述紋理得分來確定鄰域內(nèi)的用于計算非局部均值的候選區(qū)塊的數(shù)量。
在第一實施例的進(jìn)一步方面中,該方法還包括:通過執(zhí)行所述鄰域內(nèi)的一個或多個候選區(qū)塊與所述鄰域內(nèi)的包含所述目標(biāo)像素的目標(biāo)像素區(qū)塊之間的比較,來計算用于每個候選區(qū)塊的區(qū)塊權(quán)重。該方法還包括:基于所述區(qū)塊權(quán)重和所述紋理得分來計算混合系數(shù)。該方法還包括:通過基于所述混合系數(shù),在所述非局部均值與所述目標(biāo)輸入像素之間進(jìn)行插值,來將所述非局部均值與所述目標(biāo)輸入像素值進(jìn)行混合。
在緊接以上實施例的進(jìn)一步方面中,該方法還包括:基于所述紋理得分來選擇最大區(qū)塊權(quán)重的集合?;谒鰠^(qū)塊權(quán)重和所述紋理得分來計算混合系數(shù)還包括:基于區(qū)塊權(quán)重統(tǒng)計來計算混合系數(shù),所述區(qū)塊權(quán)重統(tǒng)計指示選定的區(qū)塊權(quán)重集合的集中趨勢。基于所述混合系數(shù)在所述非局部均值與所述目標(biāo)輸入像素之間進(jìn)行插值還包括:求取所述非局部均值和所述目標(biāo)輸入像素的加權(quán)和,所述非局部均值和所述目標(biāo)輸入像素按所述區(qū)塊權(quán)重統(tǒng)計進(jìn)行互補加權(quán)。
在緊接以上實施例的進(jìn)一步方面中,基于所述紋理得分來選擇區(qū)塊權(quán)重的集合還包括:通過以下步驟中的至少一個來確定在權(quán)重集合中表示的候選區(qū)塊的整數(shù)數(shù)量:評估范圍在候選區(qū)塊的數(shù)量與非零最小值之間的紋理得分的單調(diào)遞減封閉式函數(shù);或者使用所述紋理得分作為索引值訪問查找表(lut),所述lut將候選區(qū)塊的不同數(shù)量與不同的紋理得分相關(guān)聯(lián)。
在緊接以上實施例的進(jìn)一步方面中,基于所述紋理得分來選擇區(qū)塊權(quán)重集合還包括:通過評估所述紋理得分和候選區(qū)塊的總數(shù)量的單調(diào)遞減封閉式函數(shù)來確定在所述集合中表示的候選區(qū)塊的數(shù)量。
在第一實施例的進(jìn)一步方面中,該方法還包括:基于所述紋理得分來選擇最大區(qū)塊權(quán)重的集合?;谒鰠^(qū)塊權(quán)重和所述紋理得分來計算混合系數(shù)還包括:從指示選定的區(qū)塊權(quán)重集合的集中趨勢的區(qū)塊權(quán)重統(tǒng)計來計算初始混合系數(shù),以及通過所述初始混合系數(shù)的映射來計算所述混合系數(shù),其中,所述映射是紋理得分的函數(shù)。
在緊接以上實施例的進(jìn)一步方面中,計算最終混合系數(shù)還包括以下中的至少一個:評估所述紋理得分的單調(diào)遞減封閉式函數(shù);或者使用所述紋理得分作為索引值訪問查找表(lut),所述lut將不同的紋理得分與初始混合系數(shù)和最終混合系數(shù)之間的不同映射相關(guān)聯(lián)。
在第一實施例的進(jìn)一步方面中,計算紋理得分還包括:計算鄰域內(nèi)的所有像素值或其子集上的色散估計量,并且通過信號強度將色散估計量歸一化。
在第一實施例的進(jìn)一步方面中,計算所述目標(biāo)輸入像素的非局部均值還包括:通過執(zhí)行所述鄰域內(nèi)的多個候選區(qū)塊與所述鄰域內(nèi)的包含所述目標(biāo)像素的目標(biāo)像素區(qū)塊之間的比較,來計算用于每個候選區(qū)塊的區(qū)塊權(quán)重,通過對由候選區(qū)塊的對應(yīng)區(qū)塊權(quán)重加權(quán)后的候選區(qū)塊進(jìn)行平均來計算平均區(qū)塊。
在一個或多個第二實施例中,一種計算機實現(xiàn)的圖像降噪方法包括:接收目標(biāo)像素和所述目標(biāo)像素的空間鄰域內(nèi)的多個像素的輸入像素值。該方法包括:計算指示所述鄰域內(nèi)的紋理水平的紋理得分。該方法包括:通過執(zhí)行所述鄰域內(nèi)的一個或多個候選區(qū)塊與包含所述目標(biāo)像素的目標(biāo)像素區(qū)塊之間的比較,來計算用于每個候選區(qū)塊的區(qū)塊權(quán)重。該方法包括:通過評估所述紋理得分和候選區(qū)塊的總數(shù)量的單調(diào)遞減封閉式函數(shù)來選擇表示候選區(qū)塊的整數(shù)數(shù)量的最大區(qū)塊權(quán)重的集合。該方法包括:從區(qū)塊權(quán)重統(tǒng)計來計算初始混合系數(shù),所述區(qū)塊權(quán)重統(tǒng)計指示選定的區(qū)塊權(quán)重集合的集中趨勢。該方法包括:通過所述初始混合系數(shù)的映射來計算最終混合系數(shù),其中,所述映射是紋理得分的函數(shù)。該方法包括:以響應(yīng)于檢測到較大的紋理水平而包含較少的候選區(qū)塊的方式,基于所述紋理得分來選擇所述鄰域內(nèi)的候選區(qū)塊的子集。該方法包括:從平均區(qū)塊來計算所述目標(biāo)輸入像素的非局部均值,所述平均區(qū)塊是通過對由候選區(qū)塊的對應(yīng)區(qū)塊權(quán)重加權(quán)后的候選區(qū)塊的子集進(jìn)行平均來確定的。該方法包括:通過基于所述最終混合系數(shù),在所述非局部均值與所述目標(biāo)輸入像素之間進(jìn)行線性插值,來將所述非局部均值與所述目標(biāo)輸入像素值進(jìn)行混合。該方法包括:將混合值存儲到存儲器,作為濾波后的目標(biāo)像素值。
在第二實施例的進(jìn)一步方面中,計算紋理得分還包括:計算所述鄰域內(nèi)的所有像素值或其子集上的色散估計量,并且通過信號強度將色散估計量歸一化。
在一個或多個第三實施例中,圖像處理系統(tǒng)包括輸入端口,用于接收目標(biāo)像素和所述目標(biāo)像素的空間鄰域內(nèi)的多個像素的輸入像素值。該系統(tǒng)包括耦合到所述輸入端口的去噪模塊。所述去噪模塊還包括紋理處理模塊,用于:基于所述輸入像素值來計算紋理得分,所述紋理得分指示在所述鄰域內(nèi)檢測到的紋理水平。所述去噪模塊還包括nlm模塊,用于:基于所述輸入像素值來計算所述目標(biāo)輸入像素的非局部均值。所述去噪模塊還包括混合模塊,用于:通過基于所述紋理得分計算作為所述非局部均值和所述目標(biāo)輸入像素值的混合值的濾波后的目標(biāo)像素值,與所述紋理水平成反比地調(diào)節(jié)所述非局部均值相對于所述目標(biāo)輸入像素值的加權(quán)。該系統(tǒng)還包括耦合到所述去噪模塊的輸出端口,用于:將濾波后的目標(biāo)像素值發(fā)送到電子存儲器。
在第三實施例的進(jìn)一步方面中,所述nlm模塊還包括如下邏輯電路,其用于:通過執(zhí)行所述鄰域內(nèi)的多個候選區(qū)塊與所述鄰域內(nèi)的包含所述目標(biāo)像素的目標(biāo)像素區(qū)塊之間的比較,來計算用于候選區(qū)塊的區(qū)塊權(quán)重。所述混合模塊還包括:用于基于所述區(qū)塊權(quán)重和所述紋理得分來計算混合系數(shù)的邏輯電路;用于通過基于所述混合系數(shù),在所述非局部均值與所述目標(biāo)輸入像素之間進(jìn)行插值,來將所述非局部均值與所述目標(biāo)輸入像素值進(jìn)行混合的邏輯電路。
在緊接以上實施例的進(jìn)一步方面中,所述紋理處理模塊還包括:用于基于所述紋理得分來選擇最大區(qū)塊權(quán)重的集合的邏輯電路;和用于基于區(qū)塊權(quán)重統(tǒng)計來計算混合系數(shù)的邏輯電路,所述區(qū)塊權(quán)重統(tǒng)計指示選定的區(qū)塊權(quán)重集合的集中趨勢。所述混合模塊還包括:用于求取所述非局部均值和所述目標(biāo)輸入像素的加權(quán)和的邏輯電路,所述非局部均值和所述目標(biāo)輸入像素按所述區(qū)塊權(quán)重統(tǒng)計進(jìn)行互補加權(quán)。
在緊接以上實施例的進(jìn)一步方面中,所述紋理處理模塊還包括如下邏輯電路,其用于:用以下邏輯電路中的至少一個來確定在權(quán)重集合中表示的候選區(qū)塊的整數(shù)數(shù)量:用于評估范圍在候選區(qū)塊的數(shù)量與非零最小值之間的紋理得分的單調(diào)遞減封閉式函數(shù)的邏輯電路;或者用于使用所述紋理得分作為索引值來訪問查找表(lut)的邏輯電路,所述lut將候選區(qū)塊的不同數(shù)量與不同的紋理得分相關(guān)聯(lián)。
在第三實施例的進(jìn)一步方面中,所述紋理處理模塊還包括用于基于所述紋理得分來選擇最大區(qū)塊權(quán)重的集合的邏輯電路。所述混合模塊還包括用于基于所述區(qū)塊權(quán)重和所述紋理得分來計算所述混合系數(shù)的邏輯電路。所述混合模塊還包括用于從區(qū)塊權(quán)重統(tǒng)計來計算初始混合系數(shù)的邏輯電路,所述區(qū)塊權(quán)重統(tǒng)計指示選定的區(qū)塊權(quán)重集合的集中趨勢。所述混合模塊還包括用于通過所述初始混合系數(shù)的映射來計算所述混合系數(shù)的邏輯電路,其中,所述映射是紋理得分的函數(shù)。
在第三實施例的進(jìn)一步方面中,所述混合模塊還包括如下邏輯電路,其用于:用以下邏輯電路中的至少一個來計算所述最終混合系數(shù):用于評估所述紋理得分的單調(diào)遞減封閉式函數(shù)的邏輯電路;或者用于使用所述紋理得分作為索引值來訪問查找表(lut)的邏輯電路,所述lut將不同的紋理得分與初始混合系數(shù)和最終混合系數(shù)之間的不同映射相關(guān)聯(lián)。
在第三實施例的進(jìn)一步方面中,所述nlm模塊還包括如下邏輯電路,其用于:以響應(yīng)于檢測到較大的紋理水平而包含較少的候選區(qū)塊的方式,基于所述紋理得分來選擇所述鄰域內(nèi)的候選區(qū)塊的子集。所述nlm模塊還包括用于從平均區(qū)塊來計算所述目標(biāo)輸入像素的非局部均值的邏輯電路,所述平均區(qū)塊是通過對由候選區(qū)塊的對應(yīng)區(qū)塊權(quán)重加權(quán)后的候選區(qū)塊的子集進(jìn)行平均來確定的。
在一個或多個第四實施例中,一種移動計算平臺包括:所述第三實施例的圖像處理系統(tǒng);和耦合到所述輸入的照相機硬件模塊(cm),用于:在rgb空間中生成包含所述輸入像素值的原始圖像數(shù)據(jù)。該平臺還包括耦合到所述輸出的所述電子存儲器、編碼器或顯示器中的至少一個,所述存儲器用于將濾波后的圖像像素存儲為所述圖像數(shù)據(jù)的濾波后的表示,所述編碼器用于將濾波后的圖像像素編碼為所述圖像數(shù)據(jù)的濾波后的表示,以及所述顯示器用于將濾波后的圖像像素呈現(xiàn)為所述圖像數(shù)據(jù)的濾波后的表示。
在一個或多個第五實施例中,一種圖像處理系統(tǒng)包括輸入單元,用于接收目標(biāo)像素和所述目標(biāo)像素的空間鄰域內(nèi)的多個像素的輸入像素值。該系統(tǒng)還包括去噪單元,所述去噪單元進(jìn)一步包括耦合到所述輸入單元的紋理處理單元,用于基于所述輸入像素值來計算指示在所述鄰域內(nèi)檢測到的紋理水平的紋理得分。所述去噪單元還包括耦合到所述輸入單元的非局部均值(nlm)計算單元,用于:基于所述輸入像素值來計算所述目標(biāo)輸入像素的非局部均值。所述去噪單元還包括耦合到所述紋理處理單元、nlm計算單元和輸入單元的混合單元,所述混合裝置用于:通過基于所述紋理得分計算作為所述非局部均值和所述目標(biāo)輸入像素值的混合值的濾波后的目標(biāo)像素值,與所述紋理水平成反比地調(diào)節(jié)所述非局部均值相對于所述目標(biāo)輸入像素值的加權(quán)。所述圖像處理系統(tǒng)單元還包括耦合到所述混合單元的輸出單元,用于:將濾波后的目標(biāo)像素值寫入到電子存儲器。
在一個或多個第六實施例中,一種或多種計算機可讀存儲介質(zhì)具有存儲在其上的指令,所述指令當(dāng)由處理器執(zhí)行時,使所述處理器執(zhí)行以上第一實施例中的任一個。
在一個或多個第七實施例中,一種或多種計算機可讀存儲介質(zhì)包括存儲在其上的指令,所述指令當(dāng)由處理器執(zhí)行時,使所述處理器執(zhí)行包括以下步驟的方法:接收目標(biāo)像素和所述目標(biāo)像素的空間鄰域內(nèi)的多個像素的輸入像素值。該方法包括:基于所述輸入像素值來計算指示所述鄰域內(nèi)的紋理水平的紋理得分。該方法包括:基于所述輸入像素值來計算所述目標(biāo)輸入像素的非局部均值。該方法包括:通過基于所述紋理得分計算作為所述非局部均值和所述目標(biāo)輸入像素值的混合值的濾波后的目標(biāo)像素值,與所述紋理水平成反比地調(diào)節(jié)所述非局部均值相對于所述目標(biāo)輸入像素值的加權(quán)。該方法包括:將濾波后的目標(biāo)像素值存儲到電子存儲器。
在第七實施例的進(jìn)一步方面中,所述介質(zhì)包含在其上存儲的如下指令,所述指令當(dāng)由所述處理器執(zhí)行時,進(jìn)一步使所述處理器執(zhí)行還包括以下步驟的所述方法:以響應(yīng)于檢測到較大的紋理水平而包含較少的候選區(qū)塊的方式,基于所述紋理得分來確定所述鄰域內(nèi)的用于計算所述非局部均值的候選區(qū)塊的數(shù)量。
在第七實施例的進(jìn)一步方面中,所述介質(zhì)包括存儲在其上的如下指令,所述指令當(dāng)由所述處理器執(zhí)行時,進(jìn)一步使所述處理器執(zhí)行還包括以下步驟的所述方法:通過執(zhí)行所述鄰域內(nèi)的多個候選區(qū)塊與所述鄰域內(nèi)的包含所述目標(biāo)像素的目標(biāo)像素區(qū)塊之間的比較,來計算候選區(qū)塊的相似度得分;基于所述相似度得分和所述紋理得分來計算混合系數(shù);以及通過基于所述混合系數(shù),在所述非局部均值與所述目標(biāo)輸入像素之間進(jìn)行插值,來將所述非局部均值與所述目標(biāo)輸入像素值進(jìn)行混合。
應(yīng)理解,實施例不限于如此所描述的實施例,而是可以在不脫離所附權(quán)利要求的范圍的情況下通過修改和改動進(jìn)行實施。例如,以上示例可以包括特征的特定組合。然而,以上實施例不限于此,并且在實現(xiàn)例中,以上實施例可以包括僅承擔(dān)這些特征的子集,承擔(dān)這些特征的不同順序,承擔(dān)這些特征的不同組合,和/或承擔(dān)除了明確列出的那些特征之外的附加特征。因此,應(yīng)當(dāng)參照所附權(quán)利要求連同這些權(quán)利要求被賦予的等同物的完全范圍一起來確定范圍。