當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]摘要:提出了在嵌入式平臺(tái)上用CPLD實(shí)現(xiàn)實(shí)時(shí)圖像增強(qiáng)算法的解決方案,并加以實(shí)現(xiàn)。重點(diǎn)討論了經(jīng)過改進(jìn)的圖像增強(qiáng)算法以及使用CPLD實(shí)現(xiàn)的具體方法,介紹了所采用的嵌入式平臺(tái)的總體結(jié)構(gòu)。 關(guān)鍵詞:嵌入式 CPLD 實(shí)時(shí)處

摘要:提出了在嵌入式平臺(tái)上用CPLD實(shí)現(xiàn)實(shí)時(shí)圖像增強(qiáng)算法的解決方案,并加以實(shí)現(xiàn)。重點(diǎn)討論了經(jīng)過改進(jìn)的圖像增強(qiáng)算法以及使用CPLD實(shí)現(xiàn)的具體方法,介紹了所采用的嵌入式平臺(tái)的總體結(jié)構(gòu)。 關(guān)鍵詞:嵌入式 CPLD 實(shí)時(shí)處理 圖像增強(qiáng) 通常,在擁有DSP或FPGA的嵌入式平臺(tái)上,有關(guān)圖像信號處理的算法部分都由DSP和FPGA完成。但是相對于標(biāo)準(zhǔn)的PC平臺(tái)來說,嵌入式平臺(tái)的資源有限得多,而且由于成本的原因,中央處理器的速度也通常無法與PC相比。因此,在PC機(jī)上用軟件可以輕易實(shí)現(xiàn)的圖像處理算法,完全移植到嵌入式平臺(tái)上就要頗費(fèi)一番周折了。 為了達(dá)到實(shí)時(shí)圖像處理的目的,除了最大限度地發(fā)揮中央處理器的圖像處理能力外,還需要合理地分配任務(wù)。DSP芯片的優(yōu)勢在于乘除運(yùn)算的能力,由于其特殊的流水線結(jié)構(gòu)和處理單元,大部分DSP都能在單周期內(nèi)完成在PC上需若干個(gè)周期才能完成的乘法運(yùn)算,所以在進(jìn)行諸如FFT、DCT等運(yùn)算時(shí)優(yōu)勢明顯;相反在進(jìn)行簡單的加減運(yùn)算時(shí),由于時(shí)鐘頻率和總線寬度都無法與PC機(jī)相比,效率不高。因此,如果能用硬件實(shí)時(shí)實(shí)現(xiàn)這些相對簡單卻又繁瑣的運(yùn)算,就可以大大提高系統(tǒng)的總體性能。


1 改進(jìn)的圖像增強(qiáng)算法 圖像增強(qiáng)是圖像處理中用于改善圖像質(zhì)量以及圖像視覺效果的一種方法。在DSP平臺(tái)上采用直方圖均衡實(shí)現(xiàn)實(shí)時(shí)圖像增強(qiáng)是一種常用的方法。對一幅連續(xù)圖像,其具有灰度G的閾值面積(所有輪廓線所包圍的面積)為A(G),則其直方圖H(G)定義為: H(G)=lim[A(G+ΔG)-A(G)/ΔG=d/dcA(G), ΔG→0 對于數(shù)字圖像,G為整數(shù),A(G)表示灰度值大于等于G的象素個(gè)數(shù),當(dāng)ΔG=1,H(G)=A(G+1)-A(G)。 如果對A(G)做一次系數(shù)為Gm/A0的比例變換,Gm表示灰度的最大值,A0表示圖像的面積(在數(shù)字圖像中為象素總數(shù))。這就是種線性直方圖均衡。這種直方圖均衡的具體實(shí)現(xiàn)如下: (1)對于圖像{Pi,j|i=1,2,...,n;j=1,2,...,m},就灰度G,G=0,1,...255,求出直方圖H(G); (2)由A(G+1)=A(G)+H(G)求出閾值面積A(G),G=1,2,...,255; (3)求出變換后的灰度分度值hnew(G)=255 A(G)/A0,A0=nm; (4)Pij=hnew(Pij)。 借助LUT,可使運(yùn)算以最快速度實(shí)現(xiàn)。 考察直方圖均衡的實(shí)現(xiàn)過程可以發(fā)現(xiàn),這是一種有限區(qū)間內(nèi)的單調(diào)變換。從其頻域特性看,直方圖均衡改變了已有頻率成分的分布,使它們分布得更加均勻,但并不增加新的頻率成分。直方圖均衡對于彩色(灰度)值集中在低端的圖像,可起到較明顯的視覺改善作用。但對于那些色彩分布很不均勻、頻帶較窄,特別是整體偏亮的圖像,效果就不明顯了。 本文采用一種新的圖像增強(qiáng)方法,將對圖像的邊緣增強(qiáng)處理與均衡結(jié)合起來,并且這些運(yùn)算最終可由硬件實(shí)現(xiàn)。 對于連續(xù)圖像P,其局部邊緣可由對應(yīng)空間梯度的幅值

,取其一階近似ΔPi,j=2Pi,j-Pi,j-Pi-1,j,可得圖像{Pi,j|i=1,2,...,n;j=1,2,...,m}在(i,j)的邊緣信息。 如果不計(jì)Pi,j的取值范圍,可直接對圖像{Pi,j|i=1,2,...,n;j=1,2,...,m}進(jìn)行修正: P′i,j=Pi,j+ΔPi,j, 其中,P′i,j表示Pi,j修正后的值。顯然,圖像{Pi,j|i=1,2,...,n;j=1,2,...,m}按此規(guī)則修正后邊緣值的變化更為強(qiáng)烈,邊緣更為突出,可達(dá)到邊緣增強(qiáng)的效果。同時(shí),由于在原圖像上疊加了梯度值,使得修正后的圖像的頻譜有一定的擴(kuò)展。但由于沒有對Pi,j的取值作約束,這樣處理后的象素值可能會(huì)溢出,例如對于每個(gè)色彩通道為8位的圖像,處理后的數(shù)值可能會(huì)大于255或小于0。因此,通常要對其進(jìn)行歸一化處理,即: Pnew=255%26;#215;(P′-P′min)/(P′max-P′min)。 但用硬件實(shí)現(xiàn)乘除運(yùn)算可能會(huì)占用很多資源,上述公式即便以運(yùn)算實(shí)現(xiàn)都是很不經(jīng)濟(jì)的。本文采用預(yù)拉伸加飽和/截止的方法,在不犧牲頻率特性的基礎(chǔ)上達(dá)到減少計(jì)算量的目的。 考察ΔPi,j與Pi,j的直方圖,分別取得它們的右峰值所對應(yīng)的橫座標(biāo),記為GΔ和G,并找到k,使得kGΔ+G=255,則修正公式變?yōu)镻′ i,j=Pi,j+kΔPi,j。其中kΔPi,j可以LUT實(shí)現(xiàn)。修正后的P′i,j可在[0,255]上進(jìn)行飽和/截止運(yùn)算。 2 用CPLD實(shí)現(xiàn)實(shí)時(shí)的圖像增強(qiáng) 本文所采用的改進(jìn)圖像增強(qiáng)算法的主要成份是差分、累加以及飽和/截止。這些運(yùn)算都是加減法及邏輯運(yùn)算,都屬于ALU的簡單操作,適合硬件實(shí)現(xiàn)。本文采用CPLD實(shí)現(xiàn)所提出的算法。以對具有30fps的1280%26;#215;1024 RGB圖像計(jì)算ΔPi,j為例,每計(jì)算一點(diǎn)ΔPi,j需要4次加(減)運(yùn)算,即總的需要1280%26;#215;1024%26;#215;3%26;#215;30%26;#215;4=471,895,200次加(減)運(yùn)算。如果采用的DSP的速度是100MHz,且假定所有運(yùn)算都是單周期的,則僅僅該運(yùn)算就需要4.7s!所以采用CPLD實(shí)現(xiàn)某些運(yùn)算是必需的。 圖3 圖像增強(qiáng)算法的硬件實(shí)現(xiàn)結(jié)構(gòu) 采用CPLD實(shí)現(xiàn)運(yùn)算(例如邊緣處理中涉及的求梯度運(yùn)算),還需解決數(shù)據(jù)的暫存問題。本文以一片高速SRAM作為數(shù)據(jù)緩沖區(qū)。由于圖像數(shù)據(jù)的采樣輸入的頻率也很高,需要充分合理地安排好每一次操作的時(shí)序,充分利用已參與運(yùn)算的數(shù)據(jù)及中間結(jié)果,減少數(shù)據(jù)進(jìn)出SRAM的次數(shù)。 2.1 基于E1-DSP的網(wǎng)絡(luò)圖像采集平臺(tái) 在分析具體實(shí)現(xiàn)方法前,先簡要介紹所采用的硬件平臺(tái)。該平臺(tái)主要用于遠(yuǎn)程圖像采集和以太網(wǎng)傳輸,其圖像通道結(jié)構(gòu)如圖1所示。 OV9620是CMOS的數(shù)字圖像傳感器,負(fù)責(zé)采集連續(xù)的數(shù)字圖像;中央處理器使用德國HYPERSTONE公司的E1系列RISC DSP,它集DSP和RISC于一身,可以加載OS,方便地實(shí)現(xiàn)任務(wù)調(diào)度、內(nèi)存管理等功能,大大提高系統(tǒng)的總體性能;CPLD的基本功能是作為E1總線接口控制模塊,本文還將用它實(shí)現(xiàn)圖像增強(qiáng)運(yùn)算。 2.2 算法的總流程 為了實(shí)現(xiàn)實(shí)時(shí)的讀寫和運(yùn)算,需要由外部電路產(chǎn)生24MHz%26;#215;4的時(shí)鐘EXCLK作為讀寫時(shí)鐘,所有時(shí)序都由CMOS時(shí)鐘和EXCLK控制,可以做到完全同步。具體流程如圖2所示。 (1)在CMOS時(shí)鐘到來時(shí),從CMOS傳感器的數(shù)據(jù)輸出口采集Pi,j,并實(shí)現(xiàn)加法運(yùn)算RESULT=Pi,j+Pi,j,同時(shí)用EXCLK的第0個(gè)時(shí)鐘向SRAM寫入P′i,j-1或P′i,m-1 (本行最后一個(gè)數(shù)據(jù),下一次操作應(yīng)換行);


(2)在EXCLK的第1個(gè)時(shí)鐘鎖存RUSELT,由SRAM讀入Pi-1,j,并做減法運(yùn)算RESULT=RESULT-Pi-1,j; (3)在EXCLK的第2個(gè)時(shí)鐘鎖存RUSELT,由SRAM讀入Pi,j-1,并做減法運(yùn)算RESULT=RESULT-Pi,j-1; (4)在EXCLK的第3個(gè)時(shí)鐘鎖存RUSELT,同時(shí)寫入Pi,j。 然后開始下一個(gè)點(diǎn)的運(yùn)算。 2.3 硬件實(shí)現(xiàn)的邏輯結(jié)構(gòu) 用CPLD實(shí)現(xiàn)該算法所采用的邏輯結(jié)構(gòu)如圖3所示。 其中?熏加模塊實(shí)現(xiàn)2%26;#215;Pi,j運(yùn)算,生成9位的運(yùn)算結(jié)果交給減模塊;減模塊在EXCLK的第二和第三個(gè)時(shí)鐘分別讀入Pi-1,j和Pi,j-1進(jìn)行減法運(yùn)算,并把結(jié)果存回result寄存器。由于兩次減法在時(shí)間上是錯(cuò)開的,因此只需要一個(gè)減法器就夠了,節(jié)約了內(nèi)部資源。 圖3中的脈沖計(jì)數(shù)器是一個(gè)模4計(jì)數(shù)器,所有的讀寫時(shí)序和運(yùn)算時(shí)序都由它控制。數(shù)據(jù)通道切換模塊控制流入result寄存器的數(shù)據(jù)流,在第一個(gè)EXCLK時(shí)鐘讓加法器的結(jié)果進(jìn)入result,其余的時(shí)間都讓減法器的結(jié)果進(jìn)入result。兩個(gè)選通邏輯模塊對EXCLK起門控作用,選通邏輯1允許第1個(gè)和第2個(gè)時(shí)鐘通過,用來鎖存從SRAM讀入的數(shù)據(jù);選通邏輯2允許第1、2、3個(gè)時(shí)鐘通過,用來鎖存三次運(yùn)算的結(jié)果。 SRAM的讀寫操作由地址發(fā)生器和讀寫控制模塊共同實(shí)現(xiàn)。由于四次讀寫操作的地址都不同,且不連續(xù),無法用普通的地址計(jì)數(shù)器實(shí)現(xiàn)。這里采用地址計(jì)數(shù)器加偏移的相對尋址法,具體結(jié)構(gòu)如圖4所示。 地址計(jì)數(shù)器中保存Pi,j的地址,它由cmos clk作為時(shí)鐘實(shí)現(xiàn)累加;偏移地址則由脈沖計(jì)數(shù)器模塊控制,分別選擇P′i,j-1、Pi-1,j、Pi,j-1和Pi,j的偏移地址;最后做減法運(yùn)算得到絕對地址送到SRAM。 通過上述設(shè)計(jì)和優(yōu)化,完全可以在結(jié)構(gòu)和功能都比較簡單的CPLD上實(shí)現(xiàn)實(shí)時(shí)的圖像增強(qiáng)處理。 由于采用了改進(jìn)的圖像增強(qiáng)算法,在處理窄頻帶的圖像時(shí)收到了非常好的效果,部分測試結(jié)果如圖5所示。


與傳統(tǒng)的處理方法相比,改進(jìn)后的算法對圖像的均衡效果更為明顯一些,而且由于展寬了頻帶,圖像的細(xì)節(jié)更加豐富,圖像更加明艷和清晰。 以上算法都在CPLD上實(shí)現(xiàn),并沒有占用DSP的處理時(shí)間,因而節(jié)省了大量的運(yùn)算時(shí)間。筆者做過一個(gè)實(shí)際測試,在100MHz主頻的E1 DSP上用C編程實(shí)現(xiàn)一幀640%26;#215;480 RGB圖像的增強(qiáng)算法大約需要100ms(如果用匯編語言編程或?qū)Τ绦蜃鲀?yōu)化可使性能提高一些),而且要占用大量存儲(chǔ)資源。這樣的運(yùn)算速度只適合靜止圖像的處理。所以,如果不做簡化處理或采用更高性能的DSP,根本無法做到實(shí)時(shí)處理。由此可見,采用硬件處理的方法可以極大地提高系統(tǒng)的總體性能。 綜上所述,在擁有DSP的嵌入式平臺(tái)上使用CPLD實(shí)現(xiàn)改進(jìn)的圖像增強(qiáng)算法是可行的,對于實(shí)時(shí)的圖像處理是一種高效的解決方法。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉