噪聲增強直方圖的制作方法
【技術領域】
[0001]本發明涉及用于產生輸入值的直方圖的分箱(binning)裝置以及涉及一種用于分箱輸入值以產生這種直方圖的方法。
【背景技術】
[0002]數碼相機的處理流水線經常地利用直方圖來概括由相機傳感器的像素拍攝的參數(諸如,曝光參數)的頻率分布。直方圖把參數可能的輸入值的范圍分成一系列的格子(bin),其中每個格子代表具有落在這個格子的相應范圍內的參數的像素的計數。為了執行相機的控制功能(諸如,自動曝光、自動聚焦以及自動白平衡),這種直方圖可以被流水線的圖像處理算法使用。相機傳感器通常包括數百萬個像素以及這種直方圖的使用有助于以適當的并且易于通過流水線算法管理的細化程度提供拍攝的幀的特征的概括。
[0003]數碼相機中用來產生這種直方圖的常見分箱控制器的使用遇到了問題,尤其是當幀參數的頻率分布在數值上表現出急劇的變化時。例如,在參數是曝光程度的情況下,當大量的像素都指示位于狹窄范圍內的曝光參數時,這個問題可以看到。圖3示出了這樣一組的曝光參數,其在由幀的像素所報告的曝光參數的頻率分布中作為尖銳尖峰303顯示(在圖中只示出了部分分布)。實際上,例如,當相機拍攝包含大面積明亮照射的白墻(諸如,拍攝肖像的人的后面)的幀時,可以觀察到這個。這種幀在對應于所拍攝幀的亮白色區域的高曝光處將顯示出頻率分布中的尖峰。
[0004]在圖3中,格子301和302是相鄰格子,形成了由拍攝的曝光參數的頻率分布產生的直方圖的一部分。頻率分布可以代表在給定樣本(樣本為,例如,屬于由相機傳感器拍攝的幀的一組拍攝的曝光參數)中所拍攝的曝光參數的出現頻率。頻率分布可以由如下的表格表示,即,該表格具有針對共同地跨越拍攝的曝光參數的可能值范圍的間隔的集合中的每一個間隔的條目,表格中的每個條目持有具有位于相應間隔內的值的拍攝的曝光參數的出現數目的計數。
[0005]在圖3中可以看到,尖峰303的寬度比直方圖相鄰的格子301和302的寬度更窄。在形成直方圖中,所有位于格子301范圍內(到線304的右側)的曝光參數將被分配給格子301,并且所有位于格子302范圍內(到線304的左側)的曝光參數將被分配給格子302。尖峰的峰值所位于其中的格子302因此接收到比格子301顯著更高的貢獻。
[0006]由于每個連續的幀由相機拍攝并且入射到傳感器的光變化(例如,由于相機的重新定位或拍攝場景的變化),峰值有可能輕微地由一幀偏移到下一幀,同時自動曝光算法希望最優化待拍攝的幀的曝光。從圖3可以理解,在峰值303的位置只需要輕微的偏移來從格子302移動到格子301。粗略地說,這將引起直方圖中的峰值從格子302移動到格子301,顯著地改變直方圖的輪廓。曝光參數的頻率分布中的尖峰位置處的輕微的偏移換句話說可以被放大,導致直方圖中的大變化以及隨之產生的變化(例如,通過由數碼相機的自動曝光控制功能所做的決定)。
[0007]例如,考慮尖峰303從格子302到格子301移動了少量的情況。把直方圖的每個格子的值典型地看作為這個格子的平均值(例如,圖3中的中心值305和306)。在尖峰303偏移之前最初由格子302表示的峰值因此取306的值,但是在尖峰303的偏移之后,峰值似乎出現在格子301的平均值305。尖峰303的顯著小于格子寬度的移動在峰值的明顯位置(如直方圖指示的)方面可以因此導致等于格子寬度的階躍變化。
[0008]該問題的具體表現為,當曝光參數中的峰值出現在靠近直方圖的格子之間的邊緣時,數碼相機的自動曝光(AE)控制功能可以結束狀態之間的震蕩。例如,當由常規的分箱控制器產生的直方圖顯示出在格子302的峰值時,AE功能可能選擇第一模式。與此相應,AE功能可以改變控制參數(諸如,快門速度以及敏感度,其進而可能引起尖峰303以上面描述的方式輕微地偏移并且因此導致直方圖在格子301中顯示峰值)。自動曝光算法作為回應隨后將選擇第二模式并以不同的方式改變控制參數,從而移動基本的尖峰303回到格子302。以這種方式,常規的分箱控制器可能具有在即使不存在環境變化(諸如,拍攝的場景中亮度水平的變化)時引起數碼相機的控制算法在模式之間震蕩的反饋問題。這可以導致次最優的相機性能以及裝置過多的能量消耗。
[0009]常規的分箱控制器的這種問題典型地通過引入更大量的格子來解決。然而,這具有顯著地增加分箱裝置所需要的資源的影響,因為分箱控制器的復雜度提升了,由格子占用的資源增加了,以及使用分箱控制器的直方圖輸出的控制算法的復雜度增加了。
【發明內容】
[0010]根據本發明的第一方面,提供一種用于將輸入值分箱到共同地表不輸入值的直方圖的多個格子中的一個格子的裝置,所述多個格子中的每一個格子代表相應范圍的輸入值,所述裝置包括:
[0011]輸入,其用于接收輸入值;
[0012]噪聲源,其被配置成根據預定的噪聲分布產生誤差值;以及
[0013]分箱控制器,其被配置成將所接收的輸入值與所述誤差值混合以產生經修改的輸入值并且將經修改的輸入值分配給與該經修改的輸入值相對應的所述格子。
[0014]所述噪聲源可以被配置成通過從共同地表示所述預定的噪聲分布的誤差值的偽隨機序列選擇所述誤差值來產生所述誤差值。
[0015]所述分箱控制器可以被配置成將由所述分箱控制器接收用于分箱的每個輸入值與來自所述偽隨機序列的新的誤差值結合。
[0016]所述多個格子中的每一個格子可以是由所述分箱控制器維護的計數器,其中,所述分箱控制器被配置成當經修改的輸入值被分配給所述計數器時遞增所述計數器的計數值。
[0017]所述多個格子可以共同地跨越可能范圍的輸入值。
[0018]所述噪聲分布可以是關于零對稱的。
[0019]所述預定的噪聲分布可以具有基本上等于每個格子的寬度的方差。
[0020]所述噪聲分布可以是高斯分布、三角分布或矩形分布中的一種。
[0021]在圖像處理流水線可以提供所述裝置以產生所述直方圖供一個或多個圖像處理算法使用。
[0022]所述圖像處理流水線可以是相機的圖像處理流水線并且所述圖像處理算法是自動曝光算法、自動白平衡算法和自動聚焦算法中的一個或多個。
[0023]所述輸入值可以代表曝光、亮度、清晰度、對比度、色調、飽和度、明度、色度和色彩中的一個或多個。
[0024]可以提供用于產生所述裝置的機器可讀代碼。非暫時性的機器可讀代碼被編碼在其上的機器可讀存儲介質可以被提供用于產生該裝置。
[0025]根據本發明的第二方面,提供了一種用于產生輸入值的直方圖的方法,所述直方圖包括多個格子,所述多個格子中的每個格子代表相應范圍的輸入值,所述方法包括以下步驟:
[0026]接收輸入值;
[0027]根據預定的噪聲分布產生誤差值;
[0028]將所接收的輸入值與所述誤差值混合以產生經修改的輸入值;以及
[0029]將經修改的輸入值分配給與該經修改的輸入值相對應的所述格子。
[0030]所述直方圖的所述多個格子中的每一個格子可以是