專利名稱:基于cordic算法的圖像色調(diào)調(diào)整方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種圖像色調(diào)調(diào)整的方法,具體來(lái)說(shuō),這是一種利用cordic算法對(duì)圖像色調(diào)進(jìn)行調(diào)整的技術(shù)。
背景技術(shù):
色調(diào)控制一般按照函數(shù)
來(lái)進(jìn)行處理,此處[Cb Cr]與[Cb′Cr′]為處理前后的色差信號(hào),θ表示所要的色調(diào)角度。θ的取值范圍為(-180°,180°),典型的8位色調(diào)調(diào)節(jié)范圍為(-30°,30°)。色調(diào)調(diào)整的計(jì)算過(guò)程中需要用到sin和cos值的計(jì)算,無(wú)法通過(guò)硬件來(lái)實(shí)現(xiàn)精確的計(jì)算,業(yè)界常用的方法是使用查表法來(lái)由色度調(diào)整角度θ直接查表得到對(duì)應(yīng)的sin和cos值。但這種算法精度有限,而且會(huì)消耗另外的存儲(chǔ)空間,影響最終芯片面積。在對(duì)飽和度進(jìn)行調(diào)節(jié)的過(guò)程中,需要比較準(zhǔn)確的調(diào)節(jié)效果,而這里由于精度有限也會(huì)引入誤差,對(duì)調(diào)節(jié)結(jié)果產(chǎn)生影響。
發(fā)明內(nèi)容
針對(duì)以上的不足,本發(fā)明提供了一種計(jì)算精度更好,色調(diào)調(diào)整更加精確的方法。
本發(fā)明提出的基于cordic算法的圖像色調(diào)調(diào)整方法,包括 1)對(duì)圖像進(jìn)行初始化,獲取原始圖像的紅色色差Cr和藍(lán)色色差Cb,以及色調(diào)角度θ; 2)利用cordic算法計(jì)算調(diào)整角度θ與旋轉(zhuǎn)因子δi之間的關(guān)系,從而確定圖像數(shù)據(jù)各位的δi的取值。
2.1)令色調(diào)角度調(diào)整變量γ=-θ,則 Cb′=Cbcosγ-Crsinγ(1) Cr′=Crcosγ+Cbsinγ 將式(1)轉(zhuǎn)換為矩陣形式,得到 2.2)對(duì)式(2)進(jìn)行cordic算法變換得到 其中,迭代系數(shù)
δi為旋轉(zhuǎn)因子,δi的值為1或-1,若旋轉(zhuǎn)的角度為正,則δi為1,旋轉(zhuǎn)的角度為負(fù),則δi為-1,i為1到n-1之間的自然數(shù),n為色調(diào)值的位數(shù)。
在迭代計(jì)算的過(guò)程中,我們可以忽略Ki,然后在迭代計(jì)算完成后,將結(jié)果乘以如下值 此系數(shù)可以預(yù)先計(jì)算出來(lái),作為常數(shù)定義在模塊中,來(lái)進(jìn)一步減小計(jì)算復(fù)雜度 2.3)由以上式子可得到 γi=tan-1(2-i)(5) 對(duì)應(yīng)的,可以得到要進(jìn)行控制的色調(diào)角度和各個(gè)移位系數(shù)δi之間的關(guān)系為 由于δi的值為1或-1,則上式變成 γ=±γ0±γ1±γ2±γ3±γ4±γ5±γ6±γ7±...... 。 =±tan-1(2-0)±tan-1(2-1)±tan-1(2-2)±tan-1(2-3)±...... 3)根據(jù)圖像數(shù)據(jù)各位的δi的取值進(jìn)行移位操作,得到調(diào)整后的色差分量Cr′和Cb′。所述圖像數(shù)據(jù)各位進(jìn)行移位操作包括 3.1)根據(jù)具體圖像要的色調(diào)角度計(jì)算得到δi在每一位上的符號(hào); 3.2)從最低位開(kāi)始對(duì)圖像色調(diào)信息數(shù)據(jù)各位進(jìn)行移位操作對(duì)應(yīng)于各位上的符號(hào)選擇,若為正號(hào),則保持不變,若為負(fù)號(hào),則將本位上的數(shù)據(jù)取反; 3.3)最高位上移位后操作輸出的結(jié)果為最終的色調(diào)調(diào)整結(jié)果數(shù)據(jù)。
本發(fā)明的有益效果一是簡(jiǎn)化了乘法計(jì)算,減小了計(jì)算復(fù)雜度,從而減少了最終電路資源;二是用移位操作代替?zhèn)鹘y(tǒng)的查找表來(lái)計(jì)算三角函數(shù),節(jié)省了存儲(chǔ)空間,從而減小了最終電路的面積;三是提高了計(jì)算精度,使用本方法比傳統(tǒng)的查找表計(jì)算正弦值精度更高;四是具有較高靈活性,可以通過(guò)增加色度信號(hào)的數(shù)據(jù)位數(shù)來(lái)提高色調(diào)控制的精度。
圖1為對(duì)圖像色調(diào)進(jìn)行cordic算法迭代運(yùn)算原理示意圖。
具體實(shí)施例方式 下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行進(jìn)一步闡述。
本發(fā)明的引入在圖像旋轉(zhuǎn)操作中常用的cordic(Coordinate RotationDigital Computer)算法來(lái)簡(jiǎn)化色調(diào)控制的計(jì)算。
首先對(duì)圖像進(jìn)行初始化,獲取原始圖像的紅色色差Cr和藍(lán)色色差Cb,以及色調(diào)角度θ,得到 Cb′=Cbcosθ+Crsinθ Cr′=Crcosθ-Cbsinθ 對(duì)于上述公式,令γ=-θ,則原式變?yōu)? Cb′=Cbcosγ-Crsinγ Cr′=Crcosγ+Cbsinγ 將上式轉(zhuǎn)換為矩陣的形式,且將cos值提取出來(lái),得 然后利用cordic算法計(jì)算調(diào)整角度θ與旋轉(zhuǎn)因子δi之間的關(guān)系,從而確定圖像數(shù)據(jù)各位的δi的取值 使用cordic算法,上式變?yōu)? 其中
δi的值為1或-1,用以決定旋轉(zhuǎn)的方向,若旋轉(zhuǎn)的角度為正,則δi為1,旋轉(zhuǎn)的角度為負(fù)則δi為-1。在迭代計(jì)算的過(guò)程中,我們可以忽略Ki,然后在迭代計(jì)算完成后,將結(jié)果乘以如下值 此系數(shù)可以預(yù)先計(jì)算出來(lái),作為常數(shù)定義在模塊中,來(lái)進(jìn)一步減小計(jì)算復(fù)雜度 由上面的計(jì)算過(guò)程中可得 γi=tan-1(2-i) 對(duì)應(yīng)的,可以得到要進(jìn)行控制的色調(diào)角度和各個(gè)移位系數(shù)δi之間的關(guān)系為 由于δi的值為1或-1,則上式即 γ=±γ0±γ1±γ2±γ3±γ4±γ5±γ6±γ7±...... =±tan-1(2-0)±tan-1(2-1)±tan-1(2-2)±tan-1(2-3)±...... 最后根據(jù)圖像數(shù)據(jù)各位的δi的取值進(jìn)行移位操作,得到調(diào)整后的色差分量Cr′和Cb′ 由上可見(jiàn),采用cordic算法將色調(diào)控制中的正弦和余弦函數(shù)計(jì)算用移位操作來(lái)代替,且簡(jiǎn)化了乘法操作,更適合硬件實(shí)現(xiàn)也簡(jiǎn)化了計(jì)算。但cordic算法需要進(jìn)行n次迭代以達(dá)到n位精度,而且吞吐量低,需要更多的時(shí)鐘周期延遲才能得到結(jié)果。但對(duì)于硬件的高速主頻,即使幾十個(gè)周期的延時(shí)也不到1ms,故不影響視頻觀看。嵌入cordic算法進(jìn)行色調(diào)控制,可以根據(jù)需要的色調(diào)角度計(jì)算各個(gè)數(shù)據(jù)位上的移位符號(hào)。采用移位方法顯然不能很精確的表示(-180°,180°)范圍內(nèi)的每個(gè)角度,但對(duì)于色調(diào)控制操作已經(jīng)完全能滿足調(diào)節(jié)的要求。
使用cordic算法來(lái)進(jìn)行色調(diào)控制的操作,用移位操作來(lái)代替正余弦函數(shù)的計(jì)算和矩陣乘法計(jì)算。如圖1所示。如上面原理所述 (1)先根據(jù)具體圖像要的色調(diào)角度計(jì)算得到δi在每一位上的符號(hào),寫(xiě)入寄存器。
(2)然后從色度信息數(shù)據(jù)的最低位開(kāi)始,根據(jù)寄存器中對(duì)應(yīng)于本位上的符號(hào)選擇,若為正號(hào),則保持不變,若為負(fù)號(hào),則將本位上的數(shù)據(jù)取反。
(3)然后將本位上的結(jié)果數(shù)據(jù)向右移一位,加在臨時(shí)結(jié)果數(shù)據(jù)上。
(4)重復(fù)步驟(2)和(3),最高位上移位后輸出的結(jié)果即為最終的色調(diào)調(diào)整結(jié)果數(shù)據(jù)。
權(quán)利要求
1、一種基于cordic算法的圖像色調(diào)調(diào)整方法,它包括
1)對(duì)圖像進(jìn)行初始化,獲取原始圖像的紅色色度Cr和藍(lán)色色差Cb,以及色調(diào)角度θ;
2)利用cordic算法計(jì)算調(diào)整角度θ與旋轉(zhuǎn)因子δi之間的關(guān)系,從而確定圖像數(shù)據(jù)各位的δi的取值;
3)根據(jù)圖像數(shù)據(jù)各位的δi的取值進(jìn)行移位操作,得到調(diào)整后的色度分量Cr′和Cb′。
2、根據(jù)權(quán)利要求1所述的基于cordic算法的圖像色調(diào)調(diào)整方法,其特征在于,所述步驟2)包括
2.1)令色調(diào)角度調(diào)整變量γ=-θ,則
Cb′=Cbcosγ-Crsinγ (1)
Cr′=Crcosγ+Cbsinγ
將式(1)轉(zhuǎn)換為矩陣形式,得到
2.2)對(duì)式(2)進(jìn)行cordic算法變換得到
其中系數(shù)
δi為旋轉(zhuǎn)因子,δi的值為1或-1,若旋轉(zhuǎn)的角度為正,則δi為1,旋轉(zhuǎn)的角度為負(fù),則δi為-1,i為1到n-1之間的自然數(shù),n為色調(diào)值的位數(shù)。
在迭代計(jì)算的過(guò)程中,我們可以忽略Ki,然后在迭代計(jì)算完成后,將結(jié)果乘以如下值
此系數(shù)可以預(yù)先計(jì)算出來(lái),作為常數(shù)定義在模塊中,來(lái)進(jìn)一步減小計(jì)算復(fù)雜度
2.3)由以上式子可得到
γi=tan-1(2-i) (5)
對(duì)應(yīng)的,可以得到要進(jìn)行控制的色調(diào)角度和各個(gè)移位系數(shù)δi之間的關(guān)系為
由于δi的值為1或-1,則上式變成
γ=±γ0±γ1±γ2±γ3±γ4±γ5±γ6±γ7±......=±tan-1(2-0)±tan-1(2-1)±tan-1(2-2)±tan-1(2-3)±......。
3、根據(jù)權(quán)利要求3所述的基于cordic算法的圖像色調(diào)調(diào)整方法,其特征在于,所述圖像數(shù)據(jù)各位進(jìn)行移位操作包括
3.1)根據(jù)圖像調(diào)整色調(diào)角度計(jì)算得到δi在每一位上的符號(hào);
3.2)從最低位開(kāi)始對(duì)圖像色調(diào)信息數(shù)據(jù)各位進(jìn)行移位操作對(duì)應(yīng)于各位上的符號(hào)選擇,若為正號(hào),則保持不變,若為負(fù)號(hào),則將本位上的數(shù)據(jù)取反;
3.3)最高位上移位后操作輸出的結(jié)果為最終的色調(diào)調(diào)整結(jié)果數(shù)據(jù)。
全文摘要
本發(fā)明公開(kāi)了一種利用cordic算法對(duì)圖像色調(diào)進(jìn)行調(diào)整的方法,它包括1)對(duì)圖像進(jìn)行初始化,獲取原始圖像的紅色色差Cr和藍(lán)色色差Cb,以及色調(diào)角度θ,Cb'=Cbcosθ+Crsinθ Cr'=Crcosθ-Cbsinθ ;2)利用cordic算法計(jì)算調(diào)整角度θ與旋轉(zhuǎn)因子δi之間的關(guān)系,從而確定圖像數(shù)據(jù)各位的δi的取值,即γ=∑δiγi=∑δitan-1(2-i),其中γ=-θ;3)根據(jù)圖像數(shù)據(jù)各位的δi的取值進(jìn)行移位操作首先根據(jù)圖像調(diào)整的色調(diào)角度計(jì)算得到δi在每一位上的符號(hào);然后從最低位開(kāi)始對(duì)圖像色調(diào)信息數(shù)據(jù)各位進(jìn)行移位操作,對(duì)應(yīng)于各位上的符號(hào)選擇,若為正號(hào),則保持不變,若為負(fù)號(hào),則將本位上的數(shù)據(jù)取反;最后最高位上移位后操作輸出的結(jié)果為最終的色調(diào)調(diào)整結(jié)果數(shù)據(jù)。本發(fā)明簡(jiǎn)化了乘法計(jì)算,減小計(jì)算復(fù)雜度,同時(shí)提高了計(jì)算精度。
文檔編號(hào)G06F7/48GK101667112SQ200910192168
公開(kāi)日2010年3月10日 申請(qǐng)日期2009年9月9日 優(yōu)先權(quán)日2009年9月9日
發(fā)明者譚洪舟, 徐永鍵, 張愛(ài)華 申請(qǐng)人:譚洪舟