本發(fā)明屬于視頻圖像處理領域,具體涉及一種并行圖像色彩增強方法和裝置。
背景技術:
目前,視頻技術的主流發(fā)展方向之一為超高清(4K分辨率)顯示技術。相對于高清(1920*1080)視頻,4K視頻的像素數(shù)從2M提升到8M,因此對圖像增強算法的畫質(zhì)和效能提出了更高的要求。
當前,圖像色彩增強技術基本上以三維插值為基礎,在進行增強時,需要通過查表和插值實現(xiàn)色彩變換,對于RGB圖像,每個像素對應RGB三個通道,需要查表3×8=24次,并且需要計算8個權重,每個權重需要進行兩次乘法運算,計算量較大,在面對4K圖像處理需求時,很有可能處理能力不足的問題。
因此,傳統(tǒng)方案在超高清時代面臨兩個困難,1傳統(tǒng)方案通常采用固化算法的專用硬件電路,難以對算法進行靈活修改,當需要修改算法時,需要重新設計流片,成本壓力巨大;2傳統(tǒng)方案在實現(xiàn)并行查表時,通常采用多個訪存通道并行工作,增加了硬件成本。
針對這兩個問題,本發(fā)明提出了一種并行的圖像色彩增強裝置以及方法,該裝置主要用于實現(xiàn)低成本,高速并行查表,同時支持根據(jù)圖像處理算法對硬件進行重構(gòu);該方法實現(xiàn)了針對不同分辨率和查找表的插值權重實時計算以及并行的灰度映射操作。
技術實現(xiàn)要素:
為了解決現(xiàn)有技術中的上述問題,即為了進一步提升超高清圖像的色彩增強處理速度,本發(fā)明的一方面,提出了一種并行圖像色彩增強方法,包括以下步驟:
步驟1,加載圖像數(shù)據(jù),計算三維查表系數(shù)和插值權重;所述三維查表系數(shù)為每個單獨色彩通道的查找表的表項對應的索引系數(shù);
步驟2,基于查找表,通過查表操作獲取插值所需RGB三通道查表結(jié)果;
步驟3,基于步驟2的查表結(jié)果以及所述插值權重計算每個插值點的RGB值,并輸出結(jié)果。
優(yōu)選地,步驟1之前還設置有參數(shù)預加載步驟,包括:將三維RGB空間顏色查找表以及計算插值權重所需參數(shù)加載至緩沖器;所述三維RGB空間顏色查找表為R、G、B三色單獨色彩通道的查找表。
優(yōu)選地,所述通過查表操作獲取插值所需RGB三通道查表結(jié)果,采用分段查表進行灰度變換,包括以下步驟:
步驟21,將所述灰度映射查找表拆分為M個子查找表;M=L/N,M值會向上取整,其中,L為所述灰度映射查找表的大小,N為預設的并行度;
步驟22,通過像素灰度值的低位字節(jié)對M個大小為N的子查找表進行查表;
步驟23,通過高位字節(jié)對M個查表結(jié)果進行篩選,最終獲得查表數(shù)據(jù)作為灰度變換的結(jié)果。
優(yōu)選地,所述緩沖器中緩沖單元大小為N個像素;所述緩沖器配備有4個讀取端口和4個寫入端口。
優(yōu)選地,緩沖器支持直接使用序號對其中的緩沖單元進行讀寫;緩沖器與運算部件同步運行。
本發(fā)明的另一方面,提出了一種并行圖像色彩增強裝置,該裝置包括局部存儲器、訪存控制單元、緩沖器、并行算術邏輯單元ALU、并行乘累加器MAC、狀態(tài)機、數(shù)據(jù)交織單元SHU;
所述局部存儲器,用于保存輸入輸出圖像數(shù)據(jù)以及并行視頻圖像對比度增強算法所需參數(shù),該存儲器支持并行訪問;
所述訪存控制單元,用于局部存儲器與緩沖器之間的數(shù)據(jù)交換;
所述緩沖器,用于緩沖一次完整的處理流程所需要的全部數(shù)據(jù)以及中間結(jié)果,該緩沖區(qū)可以通過地址直接索引;
所述并行算術邏輯單元,用于執(zhí)行并行視頻圖像對比度增強算法中涉及的非乘法類算術與邏輯運算;
所述并行乘累加器,用于對執(zhí)行乘法相關運算;
所述狀態(tài)機,用于產(chǎn)生所有功能部件的控制信號;
所述數(shù)據(jù)交織單元,用于并行查表操作;
所述狀態(tài)機分別通過通信線路與數(shù)據(jù)交織單元、緩沖器、并行乘累加器、并行算術邏輯單元、訪存控制單元連接;所述局部存儲器通過通信線路與訪存控制單元連接;所述緩沖器分別通過通信線路與訪存控制單元、數(shù)據(jù)交織單元、并行算術邏輯單元、并行乘累加器連接;所述數(shù)據(jù)交織單元分別通過通信線路與并行算術邏輯單元、并行乘累加器連接;所述并行算術邏輯單元通過通信線路與并行乘累加器連接。
優(yōu)選地,所述緩沖器所緩存的數(shù)據(jù)還包括三維RGB空間顏色查找表;所述三維RGB空間顏色查找表為R、G、B三色單獨色彩通道的查找表。
從上述技術方案可以看出,本發(fā)明具有以下有益效果:
(1)增強了圖像色彩,使畫面更加鮮艷;
(2)易于對圖像處理算法進行后期優(yōu)化升級;
(3)提高了數(shù)據(jù)的使用效率,減少了運算部件與外圍存儲器之間的數(shù)據(jù)交互,降低了訪存帶寬壓力;
(4)通過使用通用緩沖區(qū)和狀態(tài)機對功能部件進行控制,實現(xiàn)了硬件資源的重復利用。
附圖說明
圖1是本發(fā)明的并行圖像色彩增強裝置結(jié)構(gòu)示意圖;
圖2是本發(fā)明的并行圖像色彩增強方法的流程示意圖;
圖3是本發(fā)明一實施例的緩沖器的緩沖區(qū)示意圖;
圖4是本發(fā)明一實施例的三維查表以及三維插值示意圖示意圖。
具體實施方式
下面參照附圖來描述本發(fā)明的優(yōu)選實施方式。本領域技術人員應當理解的是,這些實施方式僅僅用于解釋本發(fā)明的技術原理,并非旨在限制本發(fā)明的保護范圍。
本發(fā)明的一種并行圖像色彩增強裝置,如圖1所示,包括局部存儲器、訪存控制單元、緩沖器、并行算術邏輯單元(ALU)、并行乘累加器(MAC)、狀態(tài)機、數(shù)據(jù)交織單元(SHU);
所述局部存儲器,用于保存輸入輸出圖像數(shù)據(jù)以及并行視頻圖像對比度增強算法所需參數(shù),該存儲器支持并行訪問;
所述訪存控制單元,用于局部存儲器與緩沖器之間的數(shù)據(jù)交換;本實施例中采用三個功能完全一致的訪存控制單元,突破了訪存資源瓶頸;
所述緩沖器,用于緩沖一次完整的處理流程所需要的全部數(shù)據(jù)以及中間結(jié)果,該緩沖區(qū)可以通過地址直接索引;所述緩沖器所緩存的數(shù)據(jù)還包括三維RGB空間顏色查找表;所述三維RGB空間顏色查找表為R、G、B三色單獨色彩通道的查找表;
所述并行算術邏輯單元,用于執(zhí)行并行視頻圖像對比度增強算法中涉及的非乘法類算術與邏輯運算;
所述并行乘累加器,用于對執(zhí)行乘法相關運算;
所述狀態(tài)機,用于產(chǎn)生所有功能部件的控制信號;
所述數(shù)據(jù)交織單元,用于并行查表操作;
所述狀態(tài)機分別通過通信線路與數(shù)據(jù)交織單元、緩沖器、并行乘累加器、并行算術邏輯單元、訪存控制單元連接;所述局部存儲器通過通信線路與訪存控制單元連接;所述緩沖器分別通過通信線路與訪存控制單元、數(shù)據(jù)交織單元、并行算術邏輯單元、并行乘累加器連接;所述數(shù)據(jù)交織單元分別通過通信線路與并行算術邏輯單元、并行乘累加器連接;所述并行算術邏輯單元通過通信線路與并行乘累加器連接。
當需要更改增強算法時,該裝置僅需要對SPU和狀態(tài)機進行重新編程,產(chǎn)生新的灰度映射函數(shù)和控制信號,同時更新局部存儲器中的算法參數(shù),即可快速實現(xiàn)算法迭代,而不需要重新設計制造硬件電路。
本發(fā)明提出的一種并行圖像色彩增強方法,通過利用RGB色彩空間三維查找表以及三維插值,實現(xiàn)圖像色彩飽和度提升。本發(fā)明可以充分利用高速通用緩沖區(qū)和數(shù)據(jù)交織單元,使得圖像數(shù)據(jù)僅需要對局部存儲器進行一次讀取與寫入操作,顯著降低了對訪存帶寬的需求,提高了效率,同時數(shù)據(jù)交織單元可以使查表操作的效率提高至傳統(tǒng)查表方法的N倍,N為系統(tǒng)的并行度。
本發(fā)明提出的一種并行圖像色彩增強方法,如圖2所示,包括以下步驟:
步驟1,參數(shù)計算:加載圖像數(shù)據(jù),計算三維查表系數(shù)和插值權重;所述三維查表系數(shù)為每個單獨色彩通道的查找表的表項對應的索引系數(shù);
步驟2,獲取查表結(jié)果:基于查找表,通過查表操作獲取插值所需RGB三通道查表結(jié)果;
步驟3,三維插值:基于步驟2的查表結(jié)果以及所述插值權重計算每個插值點的RGB值,并輸出結(jié)果。
步驟1之前還設置有參數(shù)預加載步驟,包括:將三維RGB空間顏色查找表以及計算插值權重所需參數(shù)加載至緩沖器;所述三維RGB空間顏色查找表為R、G、B三色單獨色彩通道的查找表。
1、參數(shù)預加載
將三維RGB空間顏色查找表以及計算插值權重需要的若干參數(shù)加載至通用緩沖區(qū);所述三維RGB空間顏色查找表為R、G、B三色單獨色彩通道的查找表。
圖3為本發(fā)明一實施例的緩沖器。如圖3所示,所述緩沖器(用大寫字母M代表)共存在NM個大小為N個像素的緩沖單元,配備有4個讀取端口(r0、r1、r2、r3)和4個寫入端口(w0、w1、w2、w3),可以承載高速讀寫操作。緩沖器M支持直接使用序號對其NM個緩沖單元進行讀寫,便于對數(shù)據(jù)的重復使用。本發(fā)明所采用的緩沖器與運算部件同步運行,避免了高速運算部件等待低速存儲部件的問題。
2、參數(shù)計算
基于加載圖像數(shù)據(jù),計算三維查表系數(shù)和插值權重;如圖4所示,本發(fā)明采用了三維插值方法實現(xiàn)RGB空間內(nèi)的色彩映射。
圖4中P點為RGB空間中待插值點,P000、P001、P010、P011、P100、P101、P110、P111八個點為查表獲得的表項數(shù)據(jù)對應的點,Pt、Pb分別為P點到立方體頂部面和底部面垂線的焦點,P000~P111的8點與P最近鄰且存在于查找表中,P點的RGB值需要通過對這8個點的RGB值進行加權獲得。
在本發(fā)明一實施例中,在8bit量化的RGB空間中,采用了等分的5×5×5查找表,即存在3個125個表項數(shù)據(jù)的查找表(分別對應R、G、B三通道)。每個單獨色彩通道的查找表表項對應的索引系數(shù)(即查表系數(shù))index=kr×25+kg×5+kb,RGB三通道的index值相同;kr∈[0,4],kg∈[0,4],kb∈[0,4];計算每個像素點所對應8個表項的索引系數(shù)的方法是,首先計算出相應的kr,kg,kb:
kr0=r>>6 kg0=g>>6 kb0=b>>6
kr1=kr0+1 kg1=kg0+1 kb1=kb0+1
其中>>表示右移,r、g、b表示對應的顏色通道像素值;kr0、kg0、kb0、kr1、kg1、kb1是計算P000-P111八個點位置的中間變量,通過待映射的P點的RGB三通道值計算得到。
當計算P000的查表索引系數(shù)時,將kr0、kg0、kb0帶入索引系數(shù)計算公式index=kr×25+kg×5+kb,即可算出P000的查表系數(shù);同理,可以依次計算出所需8個表項的相應索引系數(shù),公式為indexABC=krA×25+kgB×5+kbC,例如P000的索引系數(shù)index000=kr0×25+kg0×5+kb0,P001的索引系數(shù)index001=kr0×25+kg0×5+kb1。
計算索引系數(shù)時,首先要將圖像數(shù)據(jù)加載至算術邏輯單元(ALU),在ALU中完成移位和加法運算,從而求得所需要kr0、kg0、kb0、kr1、kg1、kb1六個參數(shù)。然后將這六個參數(shù)發(fā)送至乘累加器MAC中,計算出相應的8個索引系數(shù)并暫存于緩沖器M中,以備調(diào)用。
計算插值權重時,首先計算P點三通道像素值在各自色彩軸方向上的線性插值系數(shù):
wr0=64-r%6 wg0=64-g%6 wb0=64-b%6
wr1=64-wr0 wg1=64-wg0 wb1=64-wb0
其中%表示取模,r、g、b表示對應的顏色通道像素值;
進而計算出8個插值權重,如下所示
8個表項點的插值系數(shù)通過如下方法計算:
w000=wr0*wg0*wb0
w001=wr0*wg0*wb1
w010=wr0*wg1*wb0
w011=wr0*wg1*wb1
w100=wr1*wg0*wb0
w101=wr1*wg0*wb1
w110=wr1*wg1*wb0
w111=wr1*wg1*wb1
計算插值權重時,首先要將圖像數(shù)據(jù)加載至ALU,在ALU中完成取模和減法運算;計算結(jié)果發(fā)送至MAC并完成乘法運算從而求得插值權重;插值權重同樣暫存于緩沖器M中。
3、獲取查表結(jié)果
基于查找表,通過查表操作獲取插值所需RGB三通道查表結(jié)果;
本發(fā)明所述方法通過數(shù)據(jù)交織單元實現(xiàn)查表操作的并行化。數(shù)據(jù)交織單元(SHU)的并行度為N,即支持N個像素對大小為N(也可以不為N,具體根據(jù)需求設定,此處僅為舉例說明)的表進行查表操作。通常情況下,整個查找表(LUT)的大小L會大于N,因此,所述方法采用了分段查表實現(xiàn)灰度變換:首先將整個查找表分為M個子查找表,M=L/N,M值會向上取整。同時通過像素灰度值的低位字節(jié)對M個大小為N的子查找表進行查表,并通過高位字節(jié)對M個查表結(jié)果進行篩選,最終獲得查表數(shù)據(jù)。為使這一步驟的工作方式更清晰,下面以本實施例為例進行說明:在本實施例中,運算并行度N=32,查找表大小為125,其2進制表示為1個7位二進制數(shù),SHU每個的寄存器可以保存64個表項數(shù)據(jù),本實施例中用于進行查表操作的SHU單元每次可以對長度為64項的LUT進行查表,故需要將長度為125的LUT分割為兩個子LUT,因此,對每個色彩通道進行查表,需要進行兩次查找和一次結(jié)果篩選:查表時,首先根據(jù)index的低6位數(shù)從兩個子LUT中分別獲取對應位置的數(shù)據(jù),再通過第7位對結(jié)果進行篩選選取真正的有效數(shù)據(jù),從而獲得所需查表值。對三個通道重復此操作,即可完成RGB三維查找。
該步驟總共需要進行3×8×2=48次并行查表和24次篩選。執(zhí)行過程中,索引系數(shù)首先加載至ALU,計算查表系數(shù)(低6位)和篩選標志(第7位);然后將查表系數(shù)發(fā)送至數(shù)據(jù)交織單元SHU完成并行查表,并將兩個查表結(jié)果返回ALU;最后在ALU中完成數(shù)據(jù)篩選,篩選結(jié)果保存至通用緩沖區(qū)M。
上述過程以N=32,L=125為例,但本領域技術人員可以了解,本發(fā)明并不僅僅限于該情況,即本發(fā)明還可以改變所述裝置的并行度N,以獲得新的并行色彩增強裝置;同時,所述裝置也不僅適用于查找表大小為125的情況,而是普遍適用于圖像處理領域所涉及的各種大小的三維查找表。
4、三維插值
利用上述步驟獲得的查表結(jié)果以及插值權重,即可計算出每個插值點的RGB值:
r=w000*r000+w001*r001+...+w111*r111
g=w000*g000+w001*g001+...+w111*g111
b=w000*b000+w001*b001+...+w111*b111
r000為P000對應的r通道值,剩余顏色通道和對應表項點同理,例如g000、g001、g010、g011、g100、g101、g110、g111分別為P000、P001、P010、P011、P100、P101、P110、P111對應的g通道值。
該步驟需要同時將插值權重以及對應的色彩通道像素值加載至MAC,并進行乘累加運算。每個像素點需要進行3×8次乘累加計算,并最終求得插值點的RGB通道數(shù)據(jù),實現(xiàn)色彩飽和度增強。
上述過程對本發(fā)明的完整處理流程進行了解釋說明,本發(fā)明通過對狀態(tài)機的編程以及使用通用緩沖區(qū)設計,實現(xiàn)了硬件資源的重復利用,在運行復雜算法時,避免了傳統(tǒng)的專用電路方案設計流片周期長且版本迭代成本高的不足之處。
所屬技術領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的裝置的具體工作過程及有關說明,可以參考前述方法實施例中的對應過程,在此不再贅述。
本領域技術人員應該能夠意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及方法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明電子硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以電子硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。本領域技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
至此,已經(jīng)結(jié)合附圖所示的優(yōu)選實施方式描述了本發(fā)明的技術方案,但是,本領域技術人員容易理解的是,本發(fā)明的保護范圍顯然不局限于這些具體實施方式。在不偏離本發(fā)明的原理的前提下,本領域技術人員可以對相關技術特征作出等同的更改或替換,這些更改或替換之后的技術方案都將落入本發(fā)明的保護范圍之內(nèi)。