技術(shù)鄰域
本發(fā)明涉及圖像處理技術(shù)鄰域,具體涉及一種圖像雙邊濾波方法和裝置。
背景技術(shù):
在圖像處理中,圖像濾波起著重要作用,圖像濾波可以有效地抑制、平滑各種噪聲,以及保持圖像邊緣信息,從而改善后續(xù)圖像處理工作的質(zhì)量。
雙邊濾波算法是一種應(yīng)用廣泛的濾波算法,常用于圖像濾波,它結(jié)合了空域加權(quán)和像素加權(quán),能自適應(yīng)于圖像本地內(nèi)容,進而廣泛應(yīng)用于圖像去噪、銳化、動態(tài)范圍調(diào)整等。對于圖像中的一個像素(x,y),其雙邊濾波結(jié)果b(x,y)如下:
其中,x和y分別是圖像中像素i的橫坐標和縱坐標;像素(m,n)是像素(x,y)附近的像素,即像素(m,n)是像素(x,y)的鄰域像素。
由上述公式可知,公式中涉及大量的浮點精度參數(shù)的除法和指數(shù)計算,通過計算機直接處理除法運算的速度是比較慢的,而處理指數(shù)計算的速度則更加慢,尤其是浮點位寬較寬,難以進行高密度并行化,因此,目前的雙邊濾波算法速度非常慢,使得圖像處理時,等待時間較長,降低了用戶體驗。
技術(shù)實現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明實施例以便提供一種克服上述問題或者至少部分地解決上述問題的一種圖像雙邊濾波方法和一種圖像雙邊濾波裝置。
為了解決上述問題,本發(fā)明實施例公開了一種圖像雙邊濾波方法,所述方法包括:
獲取圖像中待濾波像素的待濾波像素特征參數(shù),以及,所述待濾波像素的各個鄰域像素的鄰域像素特征參數(shù);
依據(jù)所述待濾波像素特征參數(shù)和各個鄰域像素的所述鄰域像素特征參數(shù),在預(yù)設(shè)像素域貢獻表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表進行查詢,分別得到各個鄰域像素的像素域貢獻值、像素域權(quán)重值和空域權(quán)重值;
依據(jù)所述各個鄰域像素的所述像素域貢獻值、所述空域權(quán)重值、所述鄰域像素特征參數(shù)和所述待濾波像素特征參數(shù),計算所有鄰域像素的像素貢獻和;
依據(jù)所述各個鄰域像素的所述像素域權(quán)重值、所述空域權(quán)重值,計算所有鄰域像素的像素加權(quán)和;
依據(jù)所有鄰域像素的所述像素貢獻和、所述像素加權(quán)和以及所述待濾波像素特征參數(shù),計算得到所述待濾波像素的雙邊濾波結(jié)果;
依據(jù)所述雙邊濾波結(jié)果對所述待濾波像素進行濾波處理。
優(yōu)選地,所述待濾波像素特征參數(shù)包括待濾波像素坐標值和待濾波像素值,所述鄰域像素特征參數(shù)包括鄰域像素坐標值和鄰域像素值,所述依據(jù)所述待濾波像素特征參數(shù)和各個鄰域像素的所述鄰域像素特征參數(shù),在預(yù)設(shè)像素域貢獻表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表進行查詢,分別得到各個鄰域像素的像素域貢獻值、像素域權(quán)重值和空域權(quán)重值的步驟包括:
計算所述各個鄰域像素的鄰域像素坐標值與所述待濾波像素坐標值的差值,得到各個鄰域像素的坐標值差值;
計算所述各個鄰域像素的鄰域像素值與所述待濾波像素值的差值,得到各個鄰域像素的像素值差值;
依據(jù)所述各個鄰域像素的坐標值差值,在所述預(yù)設(shè)空域權(quán)重表中查詢,得到各個鄰域像素的空域權(quán)重值;
依據(jù)所述各個鄰域像素的像素值差值,在所述預(yù)設(shè)像素域權(quán)重表中查詢,得到各個鄰域像素的像素域權(quán)重值;
依據(jù)所述各個鄰域像素的像素值差值的絕對值,在所述預(yù)設(shè)像素域貢獻表中查詢,得到各個鄰域像素的像素域貢獻值。
優(yōu)選地,所述依據(jù)所述各個鄰域像素的所述像素域貢獻值、所述空域權(quán)重值、所述鄰域像素特征參數(shù)和所述待濾波像素特征參數(shù),計算所有鄰域像素的像素貢獻和的步驟包括:
計算各個鄰域像素的像素域貢獻值與空域權(quán)重值的乘積,得到各個鄰域像素的初始像素貢獻值;
對各個鄰域像素的像素值差值進行符號運算,得到各個鄰域像素的符號運算結(jié)果;
計算所述各個鄰域像素的初始像素貢獻值與所述各個鄰域像素的符號運算結(jié)果的乘積,得到各個鄰域像素的像素貢獻值;
對所述各個鄰域像素的像素貢獻值求和,得到所有鄰域像素的像素貢獻和。
優(yōu)選地,所述依據(jù)所述各個鄰域像素的所述像素域權(quán)重值、所述空域權(quán)重值,計算所有鄰域像素的像素加權(quán)和的步驟包括:
計算各個鄰域像素的像素域權(quán)重值與空域權(quán)重值的乘積,得到各個鄰域像素的像素加權(quán)值;
對所述各個鄰域像素的像素加權(quán)值求和,得到所有鄰域像素的像素加權(quán)和。
優(yōu)選地,所述依據(jù)所有鄰域像素的所述像素貢獻和、所述像素加權(quán)和以及所述待濾波像素特征參數(shù),計算得到所述待濾波像素的雙邊濾波結(jié)果的步驟包括:
確定所述像素加權(quán)和的倒數(shù);
確定第一移位位數(shù);
依據(jù)所述第一移位位數(shù),對所述倒數(shù)進行二進制右移位運算,得到移位運算后的倒數(shù);
將所述像素貢獻和與所述移位運算后的倒數(shù)相乘后,與所述待濾波像素值求和,得到所述待濾波像素的雙邊濾波結(jié)果。
優(yōu)選地,所述確定所述像素加權(quán)和的倒數(shù)的步驟包括:
獲取所述預(yù)設(shè)像素域權(quán)重表的第一縮放因子,以及,所述預(yù)設(shè)空域權(quán)重表的第二縮放因子;
依據(jù)所述第一縮放因子和第二縮放因子,計算得到第二移位位數(shù);
依據(jù)所述第二移位位數(shù)和所述像素加權(quán)和,在預(yù)設(shè)二進制縮放表進行查詢,得到所述像素加權(quán)和的乘法縮放因子;
依據(jù)所述乘法縮放因子,對所述像素加權(quán)和進行二進制對齊處理,得到對齊后的第二像素加權(quán)和;
依據(jù)所述第二移位位數(shù)和所述第二像素加權(quán)和,在預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù);
依據(jù)所述乘法縮放因子和所述初始倒數(shù),計算所述像素加權(quán)和的倒數(shù)。
優(yōu)選地,所述依據(jù)所述第二移位位數(shù)和所述像素加權(quán)和,在預(yù)設(shè)二進制縮放表進行查詢,得到所述像素加權(quán)和的乘法縮放因子的步驟包括:
將所述像素加權(quán)和轉(zhuǎn)換為二進制,得到二進制像素加權(quán)和;
依據(jù)所述第二移位位數(shù),對所述二進制像素加權(quán)和進行二進制右移位運算,得到第一像素加權(quán)和;
將所述第一像素加權(quán)和,進行十進制轉(zhuǎn)換,得到第一查詢位碼;
依據(jù)所述第一查詢位碼在所述預(yù)設(shè)二進制縮放表進行查詢,得到乘法縮放因子。
優(yōu)選地,所述依據(jù)所述第二移位位數(shù)和所述第二像素加權(quán)和,在預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù)的步驟包括:
依據(jù)所述第二移位位數(shù),對所述第二像素加權(quán)和進行二進制右移位運算,得到右移位后的第三像素加權(quán)和;
將所述第三像素加權(quán)和與預(yù)設(shè)數(shù)值進行與運算,得到第二查詢位碼;
依據(jù)所述第二查詢位碼在所述預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù)。
優(yōu)選地,所述確定第一移位位數(shù)的步驟包括:
獲取所述預(yù)設(shè)像素域貢獻表的第三縮放因子;
依據(jù)所述第一縮放因子、第三縮放因子計算得到所述第一移位位數(shù)。
為了解決上述問題,本發(fā)明實施例公開了一種圖像雙邊濾波裝置,包括:
特征參數(shù)獲取模塊,用于獲取圖像中待濾波像素的待濾波像素特征參數(shù),以及,所述待濾波像素的各個鄰域像素的鄰域像素特征參數(shù);;
查表模塊,用于依據(jù)所述待濾波像素特征參數(shù)和各個鄰域像素的所述鄰域像素特征參數(shù),在預(yù)設(shè)像素域貢獻表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表進行查詢,分別得到各個鄰域像素的像素域貢獻值、像素域權(quán)重值和空域權(quán)重值;
像素貢獻和計算模塊,用于依據(jù)所述各個鄰域像素的所述像素域貢獻值、所述空域權(quán)重值、所述鄰域像素特征參數(shù)和所述待濾波像素特征參數(shù),計算所有鄰域像素的像素貢獻和;
像素加權(quán)和計算模塊,用于依據(jù)所述各個鄰域像素的所述像素域權(quán)重值、所述空域權(quán)重值,計算所有鄰域像素的像素加權(quán)和;
雙邊濾波結(jié)果計算模塊,用于依據(jù)所有鄰域像素的所述像素貢獻和、所述像素加權(quán)和以及所述待濾波像素特征參數(shù),計算得到所述待濾波像素的雙邊濾波結(jié)果;
處理模塊,用于依據(jù)所述雙邊濾波結(jié)果對所述待濾波像素進行濾波處理。
優(yōu)選地,所述待濾波像素特征參數(shù)包括待濾波像素坐標值和待濾波像素值,所述鄰域像素特征參數(shù)包括鄰域像素坐標值和鄰域像素值,所述查表模塊包括:
坐標值差值計算子模塊,用于計算所述各個鄰域像素的鄰域像素坐標值與所述待濾波像素坐標值的差值,得到各個鄰域像素的坐標值差值;
像素值差值計算子模塊,用于計算所述各個鄰域像素的鄰域像素值與所述待濾波像素值的差值,得到各個鄰域像素的像素值差值;
第一查表子模塊,用于依據(jù)所述各個鄰域像素的坐標值差值,在所述預(yù)設(shè)空域權(quán)重表查詢,得到各個鄰域像素的空域權(quán)重值;
第二查表子模塊,用于依據(jù)所述各個鄰域像素的像素值差值,在所述預(yù)設(shè)像素域權(quán)重表內(nèi)查詢,得到各個鄰域像素的像素域權(quán)重值;
第三查表子模塊,用于依據(jù)所述各個鄰域像素的像素值差值的絕對值,在預(yù)設(shè)像素域貢獻表查詢,得到各個鄰域像素的像素域貢獻值。
優(yōu)選地,所述像素貢獻和計算模塊包括:
初始像素貢獻值計算子模塊,用于計算各個鄰域像素的像素域貢獻值與空域權(quán)重值的乘積,得到各個鄰域像素的初始像素貢獻值;
符號運算子模塊,用于對各個鄰域像素的像素值差值進行符號運算,得到各個鄰域像素的符號預(yù)算結(jié)果;
像素貢獻值計算子模塊,用于計算所述各個鄰域像素的初始像素貢獻值與所述各個鄰域像素的符號預(yù)算結(jié)果的乘積,得到各個鄰域像素的像素貢獻值;
像素貢獻和計算子模塊,用于對所述各個鄰域像素的像素貢獻值求和,得到所有鄰域像素的像素貢獻和。
優(yōu)選地,所述像素加權(quán)和計算模塊包括:
像素加權(quán)值計算子模塊,用于計算各個鄰域像素的像素域權(quán)重值與空域權(quán)重值的乘積,得到各個鄰域像素的像素加權(quán)值;
像素加權(quán)和計算子模塊,用于對所述各個鄰域像素的像素加權(quán)值求和,得到所有鄰域像素的像素加權(quán)和。
優(yōu)選地,所述雙邊濾波結(jié)果計算模塊包括:
倒數(shù)確定子模塊,用于確定所述像素加權(quán)和的倒數(shù);
第一移位位數(shù)確定子模塊,用于確定第一移位位數(shù);
第一移位運算子模塊,用于依據(jù)所述第一移位位數(shù),對所述倒數(shù)進行二進制右移位運算,得到移位運算后的倒數(shù);
雙邊濾波結(jié)果計算子模塊,用于將所述像素貢獻和與所述移位運算后的倒數(shù)相乘后,與所述待濾波像素值求和,得到待濾波像素的雙邊濾波結(jié)果。
優(yōu)選地,所述倒數(shù)確定子模塊包括:
第一縮放因子獲取單元,用于獲取所述預(yù)設(shè)像素域權(quán)重表的第一縮放因子,以及,所述預(yù)設(shè)空域權(quán)重表的第二縮放因子;
第二移位位數(shù)計算單元,用于依據(jù)所述第一縮放因子和第二縮放因子,計算得到第二移位位數(shù);
乘法縮放因子獲取單元,用于依據(jù)所述第二移位位數(shù)和所述像素加權(quán)和,在預(yù)設(shè)二進制縮放表進行查詢,得到所述像素加權(quán)和的乘法縮放因子;
像素加權(quán)和處理單元,用于依據(jù)所述乘法縮放因子,對所述像素加權(quán)和進行二進制對齊處理,得到對齊后的第二像素加權(quán)和;
初始倒數(shù)獲取單元,用于依據(jù)所述第二移位位數(shù)和所述第二像素加權(quán)和,在預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù);
倒數(shù)計算單元,用于依據(jù)所述乘法縮放因子和所述初始倒數(shù),計算所述像素加權(quán)和的倒數(shù)。
優(yōu)選地,所述乘法縮放因子獲取單元包括:
二進制轉(zhuǎn)換子單元,用于將所述像素加權(quán)和轉(zhuǎn)換為二進制,得到二進制像素加權(quán)和;
第一移位計算子單元,用于依據(jù)所述第二移位位數(shù),對所述二進制像素加權(quán)和進行二進制右移位運算,得到第一像素加權(quán)和;
十進制轉(zhuǎn)換子單元,用于將所述第一像素加權(quán)和,進行十進制轉(zhuǎn)換,得到第一查詢位碼;
乘法縮放因子獲取子單元,用于依據(jù)所述第一查詢位碼在所述預(yù)設(shè)二進制縮放表進行查詢,得到乘法縮放因子。
優(yōu)選地,所述初始倒數(shù)獲取單元包括:
第一移位計算子單元,用于依據(jù)所述第二移位位數(shù),對所述第二像素加權(quán)和進行二進制右移位運算,得到右移位后的第三像素加權(quán)和;
與運算子單元,用于將所述第三像素加權(quán)和與預(yù)設(shè)數(shù)值進行與運算,得到第二查詢位碼;
初始倒數(shù)獲取子單元,用于依據(jù)所述第二查詢位碼,在所述預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù)。
優(yōu)選地,所述第一移位位數(shù)確定子模塊包括:
第二縮放因子獲取單元,用于獲取所述預(yù)設(shè)像素域貢獻表的第三縮放因子;
第一移位位數(shù)計算單元,用于依據(jù)所述第一縮放因子、第三縮放因子計算得到所述第一移位位數(shù)。
本發(fā)明實施例包括以下優(yōu)點:
本發(fā)明實施例在獲取圖像中待濾波像素和待濾波像素的各個鄰域像素的像素特征參數(shù)后,通過像素特征參數(shù)在預(yù)設(shè)像素域貢獻表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表進行查詢,分別得到各個鄰域像素的像素域貢獻值、像素域權(quán)重值和空域權(quán)重值,然后計算出所有鄰域像素的像素貢獻和以及像素加權(quán)和,最后通過像素貢獻和、像素加權(quán)和以及待濾波像素的像素特征參數(shù),計算得到待濾波像素的雙邊濾波結(jié)果,使用雙邊濾波結(jié)果對待濾波像素進行圖像處理。應(yīng)用本發(fā)明實施例,鄰域像素的像素域貢獻值、像素域權(quán)重值和空域權(quán)重值由指數(shù)計算轉(zhuǎn)換為查表操作,并且通過查找預(yù)設(shè)倒數(shù)表查找得到像素加權(quán)和的倒數(shù),將像素貢獻和與像素加權(quán)的除法運算轉(zhuǎn)換為像素貢獻和與像素加權(quán)的倒數(shù)的乘法運算,避免了大量的浮點精度參數(shù)的除法和指數(shù)運算,提高了雙邊濾波結(jié)果的運算速度,縮短了圖像處理等待時間,提高了圖像處理效率以及用戶體驗。
附圖說明
圖1是本發(fā)明的一種圖像雙邊濾波方法實施例的步驟流程圖;
圖2是本發(fā)明的一種圖像雙邊濾波裝置實施例的結(jié)構(gòu)框圖。
具體實施方式
為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步詳細的說明。
參照圖1,示出了本發(fā)明的一種圖像雙邊濾波方法實施例的步驟流程圖,具體可以包括如下步驟:
步驟101,獲取圖像中待濾波像素的待濾波像素特征參數(shù),以及,所述待濾波像素的各個鄰域像素的鄰域像素特征參數(shù)。
圖像是由多個像素構(gòu)成的,每個像素在圖像中具有固定的坐標值和像素值,在雙邊濾波處理時,可以是逐個對每個像素進行處理,為便于說明本發(fā)明實施例,可以定義待濾波像素為坐標(x,y),其鄰域圖像為坐標(m,n)。像素特征參數(shù)可以是像素的坐標值和像素值,例如待濾波像素的像素值可以定義為i(x,y),其鄰域像素值可以定義為i(m,n)。
步驟102,依據(jù)所述待濾波像素特征參數(shù)和各個鄰域像素的所述鄰域像素特征參數(shù),在預(yù)設(shè)像素域貢獻表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表進行查詢,分別得到各個鄰域像素的像素域貢獻值、像素域權(quán)重值和空域權(quán)重值。
本發(fā)明實施例中,首先將目前的雙邊濾波公式轉(zhuǎn)換為如下公式:
上述公式中,
本發(fā)明實施例,基于上述公式,存儲有預(yù)設(shè)像素域貢獻表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表,在獲取鄰域像素的像素特征參數(shù)后,例如獲取鄰域像素的坐標(m,n)和像素值i(m,n)后,可以在預(yù)設(shè)像素域貢獻表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表中查找,獲取相應(yīng)的像素的像素域貢獻值、像素域權(quán)重值和空域權(quán)重值,具體的,步驟102可以包括如下子步驟:
子步驟s11,計算所述各個鄰域像素的鄰域像素坐標值與所述待濾波像素坐標值的差值,得到各個鄰域像素的坐標值差值。
在雙邊濾波計算公式中,空域濾波系數(shù)中需要用到鄰域像素坐標值與待濾波像素坐標值的差值,因此需要計算待濾波像素的各個鄰域像素的坐標值與待濾波像素坐標值的差值,例如,待濾波像素坐標值為(x,y),鄰域像素坐標值為(m,n),則可以計算坐標差值為n-y和m-x。
子步驟s12,計算所述各個鄰域像素的鄰域像素值與所述待濾波像素值的差值,得到各個鄰域像素的像素值差值。
本發(fā)明實施例中,可以定義待濾波系數(shù)像素值為i(x,y),鄰域像素值為i(m,n),則鄰域像素值與待濾波像素值的像素值差值可以記為:i(m,n)-i(x,y)。
子步驟s13,依據(jù)所述各個鄰域像素的坐標值差值,在所述預(yù)設(shè)空域權(quán)重表中查詢,得到各個鄰域像素的空域權(quán)重值。
本發(fā)明實施例中,預(yù)設(shè)空域權(quán)重表可以通過以下公式生成:
其中,μ=n-y,ν=(m-x),f為第一縮放因子。
通過上述公式可以建立預(yù)設(shè)空域權(quán)重表,由于e的指數(shù)運算涉及到小數(shù)點位數(shù)較多,為了保持精度,整個表按照(1<<f)進行縮放,f的取值可以根據(jù)實際情況進行確定。預(yù)設(shè)空域權(quán)重表的長度以e的指數(shù)運算衰減到0為止,指數(shù)衰減的非??欤A(yù)設(shè)空域權(quán)重表的長度不會很長。
因此,可以根據(jù)各個鄰域像素的坐標值差值,在預(yù)設(shè)空域權(quán)重表內(nèi)查詢,得到各個鄰域像素的空域權(quán)重值。
子步驟s14,依據(jù)所述各個鄰域像素的像素值差值,在所述預(yù)設(shè)像素域權(quán)重表中查詢,得到各個鄰域像素的像素域權(quán)重值。
本發(fā)明實施例中,預(yù)設(shè)像素域權(quán)重表可以通過以下公式生成:
其中,t=i(m,n)-i(x,y),t≥0,c為第二縮放因子。
通過上述公式可以建立預(yù)設(shè)像素域權(quán)重表,由于e的指數(shù)運算涉及到小數(shù)點位數(shù)較多,為了保持精度,整個表按照(1<<c)進行縮放,c的取值可以根據(jù)實際情況進行確定。預(yù)設(shè)空域權(quán)重表的長度以e的指數(shù)運算衰減到0為止,指數(shù)衰減的非??欤A(yù)設(shè)像素域權(quán)重表的長度不會很長。
因此,可以根據(jù)各個鄰域像素的像素值差值,在預(yù)設(shè)空域權(quán)重表內(nèi)查詢,得到各個鄰域像素的空域權(quán)重值。
子步驟s15,依據(jù)所述各個鄰域像素的像素值差值的絕對值,在所述預(yù)設(shè)像素域貢獻表中查詢,得到各個鄰域像素的像素域貢獻值。
本發(fā)明實施例中,可以預(yù)設(shè)像素域貢獻表,該預(yù)設(shè)像素域貢獻表通過以下公式生成:
公式中,t=i(m,n)-i(x,y),t≥0,d為第三縮放因子。
通過上述公式可以建立預(yù)設(shè)像素域貢獻表,為了保證像素域貢獻值為正值,因此需要取像素值差值的絕對值。由于e的指數(shù)運算涉及到小數(shù)點位數(shù)較多,為了保持精度,整個表按照(1<<d)進行縮放,d的取值可以根據(jù)實際情況進行確定。預(yù)設(shè)像素域貢獻表的長度以e的指數(shù)運算衰減到0為止,指數(shù)衰減的非??欤A(yù)設(shè)像素域貢獻表的長度不會很長。
可以根據(jù)各個鄰域像素的像素值差值的絕對值,在預(yù)設(shè)像素域貢獻表內(nèi)查詢,得到各個鄰域像素的像素域貢獻值。
子步驟s11-子步驟s15,通過濾波公式中的空域濾波系數(shù)以及像素域濾波系數(shù),建立預(yù)設(shè)像素域貢獻表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表,然后通過待濾波像素特征參數(shù)和各個鄰域像素的像素特征參數(shù)查表,分別得到各個鄰域像素的像素域貢獻值、像素域權(quán)重值和空域權(quán)重值,這樣,將指數(shù)運算結(jié)果預(yù)先存儲,濾波時直接通過查表得到各個鄰域像素的像素域貢獻值、像素域權(quán)重值和空域權(quán)重值,避免了大量的指數(shù)運算,提高了效率。
步驟103,依據(jù)所述各個鄰域像素的所述像素域貢獻值、所述空域權(quán)重值、所述鄰域像素特征參數(shù)和所述待濾波像素特征參數(shù),計算所有鄰域像素的像素貢獻和。
本發(fā)明實施例中,根據(jù)子步驟s13中建立預(yù)設(shè)空域權(quán)重表和子步驟s15中建立預(yù)設(shè)像素域貢獻表公式,則計算所有鄰域像素的像素貢獻和公式表示為:
w=∑(m,n)∈ωc_pxl[abs(i(m,n)-i(x,y))]×w_sp[(m-x),(n-y)]×sign(i(m,n)-i(x,y))
其中,c_pxl為公式contrib_pixel[t]的簡寫,w_sp為公式weight_pixel[t]簡寫;sign()為符號運算,在數(shù)學和計算機運算中,其功能是取某個數(shù)的符號(正或負),abs為絕對值運算,w為所有鄰域像素的像素貢獻和。
基于上述所有鄰域像素的像素貢獻和公式,步驟103可以包括如下子步驟:
子步驟s21,計算各個鄰域像素的像素域貢獻值與空域權(quán)重值的乘積,得到各個鄰域像素的初始像素貢獻值;
子步驟s22,對各個鄰域像素的像素值差值進行符號運算,得到各個鄰域像素的符號運算結(jié)果;
子步驟s23,計算所述各個鄰域像素的初始像素貢獻值與所述各個鄰域像素的符號運算結(jié)果的乘積,得到各個鄰域像素的像素貢獻值;
子步驟s24,對所述各個鄰域像素的像素貢獻值求和,得到所有鄰域像素的像素貢獻和。
在子步驟s21-s24中,先計算每個鄰域像素的像素域貢獻值與空域權(quán)重值的乘積,得到每個鄰域像素的初始像素貢獻值,初始像素貢獻值為正值;然后通過對各個鄰域像素的像素值差值進行符號運算,像素值差值為正值則返回符號運算結(jié)果為1,像素值差值為負值則返回符號運算結(jié)果-1,最后符號運算結(jié)果與初始像素貢獻值的乘積即為每個鄰域像素的像素貢獻值,對所有鄰域像素的像素貢獻值求和,即得到所有鄰域像素的像素貢獻和。
步驟104,依據(jù)所述各個鄰域像素的所述像素域權(quán)重值、所述空域權(quán)重值,計算所有鄰域像素的像素加權(quán)和。
本發(fā)明實施例中,根據(jù)子步驟s13中建立預(yù)設(shè)空域權(quán)重表和子步驟s14中建立預(yù)設(shè)像素域權(quán)重表公式,則計算所有鄰域像素的像素加權(quán)和u公式表示為:
u=∑(m,n)∈ωw_pxl[i(m,n)-i(x,y)]×w_sp[(m-x),(n-y)]
其中,w_pxl為公式weight_pixel[t]的簡寫,w_sp為公式weight_pixel[t],u為所有鄰域像素的像素加權(quán)和。
基于上述所有鄰域像素的像素加權(quán)和公式可知,步驟104可以包括如下子步驟:
子步驟s31,計算各個鄰域像素的像素域權(quán)重值與空域權(quán)重值的乘積,得到各個鄰域像素的像素加權(quán)值;
子步驟s32,對所述各個鄰域像素的像素加權(quán)值求和,得到所有鄰域像素的像素加權(quán)和。
在子步驟s31-s32中,先計算每個鄰域像素的像素域權(quán)重值與空域權(quán)重值的乘積,得到每個鄰域像素的像素加權(quán)值,然后對所有鄰域像素的像素加權(quán)值求和,即得到所有鄰域像素的像素加權(quán)和u。
步驟105,依據(jù)所有鄰域像素的所述像素貢獻和、所述像素加權(quán)和以及所述待濾波像素特征參數(shù),計算得到所述待濾波像素的雙邊濾波結(jié)果。
本發(fā)明實施例中,根據(jù)步驟103中的計算所有鄰域像素的像素貢獻和公式,以及,步驟104中計算所有鄰域像素的像素加權(quán)和公式,得到本發(fā)明實施例雙邊濾波計算公式如下:
其中,c和d分別為第二縮放因子、第三縮放因子,w為像素貢獻和,u為像素加權(quán)和,i(x,y)為待濾波圖像像素值,b(x,y)為待濾波像素的雙邊濾波結(jié)果,1<<(c-d)為移位運算。
在本發(fā)明的一種優(yōu)選實施例中,步驟105可以包括如下子步驟:
子步驟s41,確定所述像素加權(quán)和的倒數(shù)。
由上述公式可知,在計算w和u中的過程中包含查表、加減法、絕對值、取符號和乘法操作,可以使用現(xiàn)有x86或armcpu現(xiàn)有指令集并行計算獲得的,但除以u本身在不論x86還是arm都沒有對應(yīng)的指令實現(xiàn),其實除以u,可以相當于乘以u的倒數(shù),因此,可以通過高效算法獲取u的倒數(shù)。
在本發(fā)明的一種優(yōu)選實施例中,子步驟s41可以包括如下子步驟:
子步驟s411,獲取所述預(yù)設(shè)像素域權(quán)重表的第一縮放因子,以及,所述預(yù)設(shè)空域權(quán)重表的第二縮放因子。
本發(fā)明實施例在建立預(yù)設(shè)像素域權(quán)重表時設(shè)置第二縮放因子c,建立預(yù)設(shè)空域權(quán)重表時設(shè)置第一縮放因子為f,因此第一縮放因子f和第二縮放因子c可以直接獲取。
子步驟s412,依據(jù)所述第一縮放因子和第二縮放因子,計算得到第二移位位數(shù)。
根據(jù)像素加權(quán)和u的計算公式
u=∑(m,n)∈ωw_pxl[i(m,n)-i(x,y)]×w_sp[(m-x),(n-y)]
當m等于x,n等于y時,w_pxl和w_sp同時取得最大值(1<<f)和(1<<c)。當m不等于x,n不等于y時,w_pxl的取值指數(shù)級衰減,w_sp則和像素值相關(guān),如果像素值相同,那么u為(1<<c),如果差別較大,那么就會衰減到0。在整個濾波取值空間ω中,如果所有像素值都相同,那么u取最大值:
umax=(1<<c)×∑(m,n)∈ωw_pxl[i(m,n)-i(x,y)];
如果濾波空間中所有其他像素都和中心像素差別較大以致w_sp都為0,那么u取極小值:
umin=(1<<c)×(1<<f)
即只有中心空域濾波核的中心點的值。
一般來說,因為w_sp是指數(shù)衰減的,其衰減速度較快,中心點的加權(quán)占其總和中的很大一部分,umax/umin是小于16的,如果w_sp中的σs為1,那么umax/umin大約等于2,所以可以定義一個u∈[(1<<(t-1)),(1<<(t+4))-1]的除法,其中t=c+f-1。t也可以用上限來確定,在濾波范圍ω和σs以及c和f已定的情況下,可以計算出umax,然后再確定t應(yīng)該是多少,t即為第二移位位數(shù)。
子步驟s413,依據(jù)所述第二移位位數(shù)和所述像素加權(quán)和,在預(yù)設(shè)二進制縮放表進行查詢,得到所述像素加權(quán)和的乘法縮放因子。
在本發(fā)明的一種優(yōu)選實施例中,子步驟s413可以包括如下子步驟:
子步驟s413-1,將所述像素加權(quán)和轉(zhuǎn)換為二進制,得到二進制像素加權(quán)和;
子步驟s413-2,依據(jù)所述第二移位位數(shù),對所述二進制像素加權(quán)和進行二進制右移位運算,得到第一像素加權(quán)和;
子步驟s413-3,將所述第一像素加權(quán)和,進行十進制轉(zhuǎn)換,得到第一查詢位碼;
子步驟s413-4,依據(jù)所述第一查詢位碼在所述預(yù)設(shè)二進制縮放表進行查詢,得到乘法縮放因子。
本發(fā)明實施例中,設(shè)置有預(yù)設(shè)二進制縮放表,以下以16位數(shù)的二進制縮放表進行說明,定義二進制縮放表uc_bitmask_to_mulscaling[16]={32,16,8,8,4,4,4,4,2,2,2,2,2,2,2,2}。該表中的數(shù)據(jù)為乘法縮放因子,每個數(shù)據(jù)具有相應(yīng)的第一查詢位碼,上述長度為16的二進制縮放表,其第一查詢位碼為大于等于0小于16的正整數(shù),例如,第一查詢位碼為0時,乘法縮放因子為32,第一查詢位碼為4時,乘法縮放因子為4。
具體而言,先將像素加權(quán)和u轉(zhuǎn)換為二進制,得到二進制像素加權(quán)和,然后對二進制像素加權(quán)和進行移位運算,移位位數(shù)即為第二移位位數(shù)t,移位運算后得到第一像素加權(quán)和并轉(zhuǎn)換為十進制,即得到第一查詢位碼,然后使用第一查詢位碼在預(yù)設(shè)二進制縮放表查詢,即得到對應(yīng)的乘法縮放因子。
子步驟s414,依據(jù)所述乘法縮放因子,對所述像素加權(quán)和進行二進制對齊處理,得到對齊后的第二像素加權(quán)和。
待濾波像素具有多個鄰域像素,每個鄰域像素的像素加權(quán)值(u值)不同,可以對鄰域像素值進行對齊處理。具體的,可以將每個鄰域像素的像素加權(quán)值與其對應(yīng)的乘法縮放因子相乘,并將相乘得到的乘積轉(zhuǎn)換為二進制后得到每個鄰域像素的第二像素加權(quán)和,該第二像素加權(quán)和以二進制表示,此時,所有每個鄰域像素的第二像素加權(quán)和的二進制位數(shù)相同,最高為數(shù)也相同,這樣實現(xiàn)了像素加權(quán)和的對齊處理。
子步驟s415,依據(jù)所述第二移位位數(shù)和所述第二像素加權(quán)和,在預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù)。
本發(fā)明實施例中,設(shè)置有預(yù)設(shè)倒數(shù)表uc_reverse_byte_tbl[16]={248,234,221,210,200,191,182,174,167,161,155,149,144,139,134,130},該倒數(shù)表長度為16,即包括16個數(shù)據(jù),其通過如下公式生成:
uc_reverse_byte_tbl[x]=32768/(0x84+x×8)
公式中0≤x≤15且x為正整數(shù)。
上述的預(yù)設(shè)倒數(shù)表查詢時需要第二查詢位碼進行查詢,第二查詢位碼為正整數(shù),相對于倒數(shù)表長度為16,其第二查詢位碼為大于等于0小于16的正整數(shù),例如,第二查詢位碼為0時,初始倒數(shù)為248,第二查詢位碼為4時,初始倒數(shù)為200。
在本發(fā)明一種優(yōu)選實施例中,子步驟s415可以包括如下子步驟:
子步驟s415-1,依據(jù)所述第二移位位數(shù),對所述第二像素加權(quán)和進行二進制右移位運算,得到右移位后的第三像素加權(quán)和;
子步驟s415-2,將所述第三像素加權(quán)和與預(yù)設(shè)數(shù)值進行與運算,得到第二查詢位碼;
子步驟s415-3,依據(jù)所述第二查詢位碼在所述預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù)。
在子步驟s415-1到子步驟s415-3中,依據(jù)第二移位位數(shù)t,將對齊后的第二像素加權(quán)和進行移位運算,并與預(yù)設(shè)數(shù)值進行與運算,本發(fā)明實施例中是與15進行與運算(&15),進行與運算后轉(zhuǎn)換為十進制數(shù),即可得到第二查詢位碼,然后使用第二查詢位碼在預(yù)設(shè)倒數(shù)表中查詢,得到像素加權(quán)和的初始倒數(shù)。
子步驟s416,依據(jù)所述乘法縮放因子和所述初始倒數(shù),計算所述像素加權(quán)和的倒數(shù)。
在得到像素加權(quán)和的初始倒數(shù)后,可以根據(jù)乘法縮放因子和初始倒數(shù),計算像素加權(quán)和的倒數(shù)。即乘法縮放因子和初始倒數(shù)的乘積即為像素加權(quán)和的倒數(shù)。
為了使本鄰域技術(shù)人員更容易理解子步驟s411-子步驟s416確定像素加權(quán)和的倒數(shù)的過程,以下結(jié)合實例進行說明。
設(shè)t為6,則像素加權(quán)和u的取值范圍是[32,1023]。舉3個u值進行說明,即u1=32、u2=159、u3=756,則確定倒數(shù)過程如下:
s1,將u1=32、u2=159、u3=756轉(zhuǎn)換為二進制為:100000、10011111、1011110100;
s2,將二進制的100000、10011111、1011110100右移t位后分別是0、10、1011,轉(zhuǎn)換為十進制數(shù)得到第一查詢位碼0、2、11;
s3,通過第一查詢位碼0、2、11,在預(yù)設(shè)二進制縮放表uc_bitmask_to_mulscaling={32,16,8,8,4,4,4,4,2,2,2,2,2,2,2,2}查詢,分別獲得到三個縮放因子mulscl1=32、mulscl2=8、mulscl3=2。
s4,采用mulscl1、mulscl2及mulscl3分別乘以u1=32、u2=159、u3=756,轉(zhuǎn)換為二進制后分別得到10000000000、10011111000、10111101000,此時u1、u2和u3對齊,即最高位都是第十一位且最高位都是1。
s5,將對齊的10000000000、10011111000、10111101000向右移t位,t=6,得到10000、10011、10111,然后和15執(zhí)行與運算,得到0000、0011、0111,轉(zhuǎn)換為十進制后得到第二查詢位碼0、3、7。
s6,通過第二查詢位碼0、3、7在預(yù)設(shè)倒數(shù)表uc_reverse_byte_tbl[16]=={248,234,221,210,200,191,182,174,167,161,155,149,144,139,134,130},查詢得到三個初始倒數(shù)rvp1=248、rvp2=210、rvp3=174,
s7,將三個初始倒數(shù)rvp1=248、rvp2=210、rvp3=174分別與三個乘法縮放因子mulscl1=32、mulscl2=8、mulscl3=2相乘即得到三個最終倒數(shù)rv1=7936、rv2=1680、rv3=348。
由上述可知,rv1、rv2、rv3分別和乘法縮放因子u1、u2、u3得到的乘積應(yīng)該接近1<<(12+t)。例如,本示例中t為6,
1<<18=262144,
rv1×mulscl1=7936×32=253952,
rv2×mulscl2=1680×159=267120,
rv3×mulscl3=348×756=263088,
所得結(jié)果都很接近,說明本發(fā)明實施例的確定倒數(shù)的方法較準確,即
需要說明的是,雖然上面給出了一種計算像素加權(quán)和的倒數(shù)的方法,但本鄰域技術(shù)人員能夠理解的是,本發(fā)明并不限于上面一種計算方法。
子步驟s42,確定第一移位位數(shù)。
在確定像素加權(quán)和u的倒數(shù)后,由公式
以及公式
可以得到濾波計算公式為:
b(x,y)=w×rv>>(12+t-c+d)+i(x,y)
將t=c+f-1代入上述公式中,得到最終濾波計算公式為:
b(x,y)=w×rv>>(11+f+d)+i(x,y)
公式中,w為像素貢獻和,rv>>(11+f+d)為像素加權(quán)和的倒數(shù),i(x,y)為待濾波像素的像素值。
可見,公式中w已經(jīng)通過查表求和后得到,rv也已通過查表計算得到,第一移位位數(shù)(11+f+d)中的f和d也已知,因此,需要確定第一移位位數(shù),具體的,子步驟s42可以包括如下子步驟:
子步驟s421,獲取所述預(yù)設(shè)像素域貢獻表的第三縮放因子;
子步驟s422,依據(jù)所述第一縮放因子、第三縮放因子計算得到所述第一移位位數(shù)。
第一移位位數(shù)為(11+f+d)中,在預(yù)設(shè)空域權(quán)重表時設(shè)置第一縮放因子f,在建立像素域貢獻表時設(shè)置第三縮放因子d,因此,可以根據(jù)(11+f+d)計算出第一移位位數(shù)。
子步驟s43,依據(jù)所述第一移位位數(shù),對所述倒數(shù)進行二進制右移位運算,得到移位運算后的倒數(shù)。
子步驟s44,將所述像素貢獻和所述與移位運算后的倒數(shù)相乘后,與所述待濾波像素值求和,得到所述待濾波像素的雙邊濾波結(jié)果。
右移位運算是除法運算,右移n表示除以2的n次冪,具體而言指對一個數(shù)除以2的n次冪,例如rv>>(11+f+d)可以表示為rv/211+f+d,這樣通過以下公式計算雙邊濾波結(jié)果:
b(x,y)=w×rv>>(11+f+d)+i(x,y)
可見,本發(fā)明實施例通過查表得到各個鄰域像素的像素域貢獻值后,對所有鄰域像素的像素域貢獻值求和得到鄰域像素的像素貢獻和w,同理查表求取所有鄰域像素的像素加權(quán)和u,然后通過查表得到像素加權(quán)和u的倒數(shù)rv,最后計算兩者的乘積,即將像素貢獻和w與像素加權(quán)和u的除法運算,簡化為像素貢獻和w與像素加權(quán)和u的倒數(shù)rv的乘法運算,避免了大量的浮點精度參數(shù)的除法和指數(shù)運算,提高了雙邊濾波結(jié)果的運算速度。
步驟106,依據(jù)所述雙邊濾波結(jié)果對所述待濾波像素進行濾波處理。
本發(fā)明實施例,計算出雙邊濾波結(jié)果后,可以對圖像中的待濾波像素進行濾波處理,這樣逐個對圖像的每個像素進行濾波結(jié)果計算,然后進行濾波處理,以完成對整個圖像的濾波處理。
本發(fā)明實施例在獲取圖像中待濾波像素和待濾波像素的各個鄰域像素的像素特征參數(shù)后,通過像素特征參數(shù)在預(yù)設(shè)像素域貢獻表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表進行查詢,分別得到各個鄰域像素的像素域貢獻值、像素域權(quán)重值和空域權(quán)重值,然后計算出所有鄰域像素的像素貢獻和以及像素加權(quán)和,最后通過像素貢獻和、像素加權(quán)和以及待濾波像素的像素特征參數(shù),計算得到待濾波像素的雙邊濾波結(jié)果,使用雙邊濾波結(jié)果對待濾波像素進行圖像處理。應(yīng)用本發(fā)明實施例,鄰域像素的像素域貢獻值、像素域權(quán)重值和空域權(quán)重值由指數(shù)計算轉(zhuǎn)換為查表操作,并且通過查找預(yù)設(shè)倒數(shù)表查找得到像素加權(quán)和的倒數(shù),將像素貢獻和與像素加權(quán)的除法運算轉(zhuǎn)換為像素貢獻和與像素加權(quán)的倒數(shù)的乘法運算,避免了大量的浮點精度參數(shù)的除法和指數(shù)運算,提高了雙邊濾波結(jié)果的運算速度,縮短了圖像處理等待時間,提高了圖像處理效率以及用戶體驗。
參照圖2,示出了本發(fā)明一種圖像雙邊濾波裝置實施例的結(jié)構(gòu)框圖,所述裝置包括:
特征參數(shù)獲取模塊201,用于獲取圖像中待濾波像素的待濾波像素特征參數(shù),以及,所述待濾波像素的各個鄰域像素的鄰域像素特征參數(shù);;
查表模塊202,用于依據(jù)所述待濾波像素特征參數(shù)和各個鄰域像素的所述鄰域像素特征參數(shù),在預(yù)設(shè)像素域貢獻表、預(yù)設(shè)像素域權(quán)重表和預(yù)設(shè)空域權(quán)重表進行查詢,分別得到各個鄰域像素的像素域貢獻值、像素域權(quán)重值和空域權(quán)重值;
像素貢獻和計算模塊203,用于依據(jù)所述各個鄰域像素的所述像素域貢獻值、所述空域權(quán)重值、所述鄰域像素特征參數(shù)和所述待濾波像素特征參數(shù),計算所有鄰域像素的像素貢獻和;
像素加權(quán)和計算模塊204,用于依據(jù)所述各個鄰域像素的所述像素域權(quán)重值、所述空域權(quán)重值,計算所有鄰域像素的像素加權(quán)和;
雙邊濾波結(jié)果計算模塊205,用于依據(jù)所有鄰域像素的所述像素貢獻和、所述像素加權(quán)和以及所述待濾波像素特征參數(shù),計算得到所述待濾波像素的雙邊濾波結(jié)果;
處理模塊206,用于依據(jù)所述雙邊濾波結(jié)果對所述待濾波像素進行濾波處理。
優(yōu)選地,所述待濾波像素特征參數(shù)包括待濾波像素坐標值和待濾波像素值,所述鄰域像素特征參數(shù)包括鄰域像素坐標值和鄰域像素值,所述查表模塊202包括:
坐標值差值計算子模塊,用于計算所述各個鄰域像素的鄰域像素坐標值與所述待濾波像素坐標值的差值,得到各個鄰域像素的坐標值差值;
像素值差值計算子模塊,用于計算所述各個鄰域像素的鄰域像素值與所述待濾波像素值的差值,得到各個鄰域像素的像素值差值;
第一查表子模塊,用于依據(jù)所述各個鄰域像素的坐標值差值,在所述預(yù)設(shè)空域權(quán)重表查詢,得到各個鄰域像素的空域權(quán)重值;
第二查表子模塊,用于依據(jù)所述各個鄰域像素的像素值差值,在所述預(yù)設(shè)像素域權(quán)重表內(nèi)查詢,得到各個鄰域像素的像素域權(quán)重值;
第三查表子模塊,用于依據(jù)所述各個鄰域像素的像素值差值的絕對值,在預(yù)設(shè)像素域貢獻表查詢,得到各個鄰域像素的像素域貢獻值。
優(yōu)選地,所述像素貢獻和計算模塊203包括:
初始像素貢獻值計算子模塊,用于計算各個鄰域像素的像素域貢獻值與空域權(quán)重值的乘積,得到各個鄰域像素的初始像素貢獻值;
符號運算子模塊,用于對各個鄰域像素的像素值差值進行符號運算,得到各個鄰域像素的符號預(yù)算結(jié)果;
像素貢獻值計算子模塊,用于計算所述各個鄰域像素的初始像素貢獻值與所述各個鄰域像素的符號預(yù)算結(jié)果的乘積,得到各個鄰域像素的像素貢獻值;
像素貢獻和計算子模塊,用于對所述各個鄰域像素的像素貢獻值求和,得到所有鄰域像素的像素貢獻和。
優(yōu)選地,所述像素加權(quán)和計算模塊204包括:
像素加權(quán)值計算子模塊,用于計算各個鄰域像素的像素域權(quán)重值與空域權(quán)重值的乘積,得到各個鄰域像素的像素加權(quán)值;
像素加權(quán)和計算子模塊,用于對所述各個鄰域像素的像素加權(quán)值求和,得到所有鄰域像素的像素加權(quán)和。
優(yōu)選地,所述雙邊濾波結(jié)果計算模塊205包括:
倒數(shù)確定子模塊,用于確定所述像素加權(quán)和的倒數(shù);
第一移位位數(shù)確定子模塊,用于確定第一移位位數(shù);
第一移位運算子模塊,用于依據(jù)所述第一移位位數(shù),對所述倒數(shù)進行二進制右移位運算,得到移位運算后的倒數(shù);
雙邊濾波結(jié)果計算子模塊,用于將所述像素貢獻和與所述移位運算后的倒數(shù)相乘后,與所述待濾波像素值求和,得到待濾波像素的雙邊濾波結(jié)果。
優(yōu)選地,所述倒數(shù)確定子模塊包括:
第一縮放因子獲取單元,用于獲取所述預(yù)設(shè)像素域權(quán)重表的第一縮放因子,以及,所述預(yù)設(shè)空域權(quán)重表的第二縮放因子;
第二移位位數(shù)計算單元,用于依據(jù)所述第一縮放因子和第二縮放因子,計算得到第二移位位數(shù);
乘法縮放因子獲取單元,用于依據(jù)所述第二移位位數(shù)和所述像素加權(quán)和,在預(yù)設(shè)二進制縮放表進行查詢,得到所述像素加權(quán)和的乘法縮放因子;
像素加權(quán)和處理單元,用于依據(jù)所述乘法縮放因子,對所述像素加權(quán)和進行二進制對齊處理,得到對齊后的第二像素加權(quán)和;
初始倒數(shù)獲取單元,用于依據(jù)所述第二移位位數(shù)和所述第二像素加權(quán)和,在預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù);
倒數(shù)計算單元,用于依據(jù)所述乘法縮放因子和所述初始倒數(shù),計算所述像素加權(quán)和的倒數(shù)。
優(yōu)選地,所述乘法縮放因子獲取單元包括:
二進制轉(zhuǎn)換子單元,用于將所述像素加權(quán)和轉(zhuǎn)換為二進制,得到二進制像素加權(quán)和;
第一移位計算子單元,用于依據(jù)所述第二移位位數(shù),對所述二進制像素加權(quán)和進行二進制右移位運算,得到第一像素加權(quán)和;
十進制轉(zhuǎn)換子單元,用于將所述第一像素加權(quán)和,進行十進制轉(zhuǎn)換,得到第一查詢位碼;
乘法縮放因子獲取子單元,用于依據(jù)所述第一查詢位碼在所述預(yù)設(shè)二進制縮放表進行查詢,得到乘法縮放因子。
優(yōu)選地,所述初始倒數(shù)獲取單元包括:
第一移位計算子單元,用于依據(jù)所述第二移位位數(shù),對所述第二像素加權(quán)和進行二進制右移位運算,得到右移位后的第三像素加權(quán)和;
與運算子單元,用于將所述第三像素加權(quán)和與預(yù)設(shè)數(shù)值進行與運算,得到第二查詢位碼;
初始倒數(shù)獲取子單元,用于依據(jù)所述第二查詢位碼,在所述預(yù)設(shè)倒數(shù)表中查詢,得到所述像素加權(quán)和的初始倒數(shù)。
優(yōu)選地,所述第一移位位數(shù)確定子模塊包括:
第二縮放因子獲取單元,用于獲取所述預(yù)設(shè)像素域貢獻表的第三縮放因子;
第一移位位數(shù)計算單元,用于依據(jù)所述第一縮放因子、第三縮放因子計算得到所述第一移位位數(shù)。
對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
本鄰域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明實施例的實施例可提供為方法、裝置、或計算機程序產(chǎn)品。因此,本發(fā)明實施例可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明實施例可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明實施例是參照根據(jù)本發(fā)明實施例的方法、終端設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計算機或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發(fā)明實施例的優(yōu)選實施例,但本鄰域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明實施例范圍的所有變更和修改。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。
以上對本發(fā)明所提供的一種圖像雙邊濾波方法和一種圖像雙邊濾波裝置,進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本鄰域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。