0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

平衡圖像質(zhì)量和硬件消耗的新算法及實(shí)現(xiàn)方法

電子設(shè)計(jì) ? 來源:中國(guó)集成電路 ? 作者:羅碧強(qiáng) , 李斌 ? 2021-03-17 16:19 ? 次閱讀

1.引言

目前,大多數(shù)的數(shù)字相機(jī)的圖像傳感器,不管是CMOS還是CCD,都是單色的,即只有灰度的變化。為了得到彩色圖像,普遍采用的方法是在傳感器的表面覆蓋一層聚酰亞胺掩膜的彩色濾色器。濾色器的格式有多種,一般為棋盤格式。本文提出的算法針對(duì)的是其中最常用的bayer格式,如圖1所示,其濾色濾格子分別透過G(綠)、B(藍(lán))、R(紅)三種顏色,其中G的采樣率是B、R的兩倍,原因是人眼對(duì)綠色信息要比藍(lán)色、紅色敏感。

圖像傳感器傳來的數(shù)據(jù)通常對(duì)應(yīng)每個(gè)像素點(diǎn)R、G、B三種顏色中的一種顏色信息,圖像重組算法(Demosaicing Algorithm)是指把傳感器送來的每個(gè)像素點(diǎn)信息轉(zhuǎn)化為包含R、G、B三原色信息的圖像算法。關(guān)于圖像重組算法日前主要有獨(dú)立插值法、按比例插值法、Kimmel法等,本文將在分析這些算法的基礎(chǔ)上提出能平衡圖像質(zhì)量和硬件消耗的新算法及實(shí)現(xiàn)方法。

平衡圖像質(zhì)量和硬件消耗的新算法及實(shí)現(xiàn)方法

2.傳統(tǒng)算法

2.1 獨(dú)立插值算法

最簡(jiǎn)單的線性方法足R、G、B三分量各自獨(dú)立進(jìn)行插值重組,彼此沒有關(guān)聯(lián)。以利用相鄰像素作平均的插值法為例:

如圖2,G2、G4、G6、G8、R1、R3、R7、R9為已知相應(yīng)像素的相應(yīng)分量,G5、R2、R4、R6、R8、R5為所求分量,求法如下:

藍(lán)色分量的求法與R相似。

此方法雖然簡(jiǎn)單,占用硬件資源比較少,但是卻會(huì)引起色彩混淆和邊沿模糊問題,因?yàn)槠湓谥亟M過程中忽略了邊沿問題。為了提高圖像質(zhì)量,可以在此基礎(chǔ)上加入梯度的控制。因此,該算法采用了梯度小的方向的分量值作均值處理。由于梯度大的方向是邊沿變化的方向,若選取了該方向上的值作均值,就會(huì)模糊了邊沿。以求圖2中的G5分量為例:

水平梯度H=|G4-G6|,垂直梯度V=|G2-G8|。

H>V,G5=(G2+G8)/2;H

此外,該算法沒有考慮噪聲因素,其簡(jiǎn)單的平均化操作將使一個(gè)像素上的噪聲擴(kuò)大到影響九個(gè)像素,從而導(dǎo)致信噪比較低。

2.2 按比例插值算法

由于BAYER格式的傳感器上G分量比R、B分量要多一倍,于是有人提出利用G分量對(duì)R、B分量進(jìn)行插值。

如圖3所示,G1-G9已經(jīng)插值得到,R1、R3、R7、R9為已知R信息,求R5:

R5={(R1*G5/G1)+(R3*G5/G3)+(R7*G5/G7)+(R9*G5/G9))/4

此算法對(duì)消除色彩混淆有一定的作用,但有個(gè)致命的缺點(diǎn),在G分量特別小的區(qū)域,兩G分量比例(如G5/G1)可能會(huì)變得很大;由于R1、R3、R7、R9都只是所要求的R5周圍的點(diǎn),在R5周圍很有邊沿信息(在圖像中,邊沿信息與噪聲無異)時(shí),如果G5/G1等比例值太大,很可能引入一個(gè)非常大的噪聲,使得圖像失真嚴(yán)重,造成計(jì)算R、B分量時(shí)對(duì)噪聲特別敏感,使得圖像信噪比降低。

2.3 Kimmel算法

Kimmel算法是圖像重組算法中一個(gè)常用的經(jīng)典方法。如圖4,Kimmel算法求G5:

其中,E為權(quán)重參數(shù),表征該相鄰像素參與運(yùn)算的比例。E由該相鄰像素的梯度D決定,梯度D越大,權(quán)重E越小。梯度D的定義如下:(其中P代表R,G,B任意一個(gè)分量)

從而:Ei=(1+D2(P5)+D2(Pi))1/2,如E3=(1+Dxd2(PS)+Dxd2(P3))1/2。

kimmel算法在求解R、B分量時(shí)也同樣采用了按比例插值的思想,只是比例權(quán)重不同,這樣可以較大程度地減弱色彩混淆現(xiàn)象。如圖4,用kimmel算法求R5:

Kimmel算法重組得到的圖像質(zhì)量比線性插值的方法提高了很多,但kimmel算法也有其缺點(diǎn),這是本文提出改進(jìn)算法的出發(fā)點(diǎn),將在下面討論。

3.改進(jìn)的算法

本文在kimmel算法的基礎(chǔ)上進(jìn)行了如下的改進(jìn):

(1) 待重組圖像像素與周邊像素的關(guān)聯(lián)性進(jìn)一步增強(qiáng),從而改善圖像的邊沿特性。

在kimmel算法中梯度簡(jiǎn)單地以兩個(gè)像素的某個(gè)分量差絕對(duì)值表示,本文提出的方法是用一個(gè)相應(yīng)方向上更大范圍窗口的像素點(diǎn)的差的平均值來代替原來梯度。

例如,在kimmel算法中,如圖1,D=|G[5,5]□G[6,6]|,用本文的方法則為:

這樣可進(jìn)一步加強(qiáng)所求像素點(diǎn)與周邊像素已知分量的關(guān)聯(lián)性,從而減弱混淆現(xiàn)象。

(2) 修正kimmel算法在G分量缺少時(shí)的缺陷。

在kimmel算法中,在G很小的區(qū)域,兩像素的G比例就會(huì)變得很大,這樣會(huì)造成圖像失真和放大噪聲。為此,本文在利用G計(jì)算R、B時(shí),可給G設(shè)一閾值;此值越大,圖像質(zhì)量越差;此值越小,在G較小區(qū)域的圖像失真就越嚴(yán)重;因此,此值的設(shè)定要經(jīng)過反復(fù)的仿真試驗(yàn),找到合適的平衡點(diǎn),本文經(jīng)過實(shí)驗(yàn)對(duì)比各參數(shù)下的效果,將此值選擇為40~60。

(3) 改變kimmel算法所有像素都重新計(jì)算其三分量值的做法。

kimmel的算法會(huì)改變每個(gè)像素三個(gè)分量的值,本算法保留原來該像素的已知值,從而可以保留原始圖像更多的信息,提高了圖像質(zhì)量。由于本算法要在ASIC上實(shí)現(xiàn),在不影響圖像總體質(zhì)量的前提下,應(yīng)盡量簡(jiǎn)化某些運(yùn)算,節(jié)省硬件資源。

①本文在求E時(shí)不用開方倒數(shù)的方式,而采用查表的方式,即一個(gè)范圍內(nèi)的D值對(duì)應(yīng)一個(gè)E值,只要所設(shè)的值能達(dá)到“D大則E小”的效果便可;

②求D時(shí)所需的除以21/2的運(yùn)算可轉(zhuǎn)化成近似移位相加。

4.硬件實(shí)現(xiàn)

本算法涉及了大量的算術(shù)運(yùn)算,而且計(jì)算中像素相關(guān)性的要求需要存儲(chǔ)大量像素,所以硬件實(shí)現(xiàn)必須適當(dāng)減少硬件資源和RAM的使用量,從而降低ASIC的面積,本文提出如下的解決方法。

4.1 流水線式的運(yùn)算處理

由式(1)、式(2)可見,計(jì)算插入的R、G、B值要經(jīng)過大量的運(yùn)算,而傳感器送過來的數(shù)據(jù)是實(shí)時(shí)的,對(duì)其處理也必須是實(shí)時(shí)的,也就是說進(jìn)來像素的分量值就要送出一個(gè)像素的R、G、B值。假設(shè)模塊的主頻率和傳感器送來的數(shù)據(jù)頻率分別為48MHz和12MHz,則在四個(gè)周期就要輸出一個(gè)像素的R、G、B值。顯然,四個(gè)48MHz時(shí)鐘周期是不可能完成如此多的運(yùn)算的。

本文采用的方法是把眾多運(yùn)算分成m個(gè)步驟完成,而每個(gè)步驟都占n個(gè)周期,一個(gè)步驟完成的結(jié)果在下一個(gè)n個(gè)周期運(yùn)用計(jì)算,如此一級(jí)一級(jí)的計(jì)算,輸入與輸出都是實(shí)時(shí)的,其設(shè)計(jì)思想近似于計(jì)算機(jī)架構(gòu)中的流水線結(jié)構(gòu)。其中m和n要根據(jù)模塊時(shí)鐘與傳感器輸出數(shù)據(jù)的頻率的比例關(guān)系以及所設(shè)計(jì)ASIC的工藝水平對(duì)時(shí)序的限制來確定。此方法可使此模塊面積減為原始設(shè)計(jì)的1/2左右。以計(jì)算R[5,5](像素坐標(biāo)如圖1)為例:步驟1:求得G[4,3],G[4,5],G[6,3],G[6,5],G[4,7],G[6,7];步驟2:求得R[5,4]和R[5,6];步驟3:求得R[5,5],這樣,每個(gè)步驟都有4個(gè)周期去完成,就可以滿足模塊的實(shí)時(shí)性。其中步驟1可再分為前兩個(gè)周期計(jì)算G[4,3],G[4,5]和G[6,3],后兩個(gè)周期計(jì)算G[6,5],G[4,7],G[6,7],從而復(fù)用其中除法器、加法器和乘法器,使該運(yùn)算占用資源減少到一半。同樣道理,計(jì)算R[5,4]和R[5,6]時(shí)也可以復(fù)用資源,分別在兩個(gè)周期內(nèi)完成其運(yùn)算。

4.2 堆棧式的RAM操作

此算法要求存儲(chǔ)9×9窗口大小的像素信息,也就是要存下9行的傳感器送來的數(shù)據(jù)。本文提出的方法只需要存8行的像素信息即可,但要配合一個(gè)9×9的寄存器陣列實(shí)現(xiàn)。下面以實(shí)例說明RAM操作過程:當(dāng)?shù)?行數(shù)據(jù)要送來時(shí),前8行數(shù)據(jù)已按順序存儲(chǔ)在RAM中。當(dāng)傳感器送來G[1,9]時(shí),模塊要進(jìn)行以下工作:(1)把RAM第1列數(shù)據(jù)讀出;(2)然后把第1列后7行的數(shù)據(jù)連同G[1,9]寫到RAM的第1列中,同時(shí)把第1列全部數(shù)據(jù)連同G[1,9]寫到9x9的陣列的第一列中,這樣既保存了第1行的數(shù)據(jù),又保證第9行數(shù)據(jù)能寫到RAM里,相當(dāng)于將RAM數(shù)據(jù)往里推,丟去第1行數(shù)據(jù),推入第9行的數(shù)據(jù)。如此類推,就可以減少一行存儲(chǔ)資源。

5.仿真與驗(yàn)證

本文基于攝像頭控制器芯片的開發(fā)平臺(tái)進(jìn)行了仿真驗(yàn)證,并比較了改進(jìn)的算法與傳統(tǒng)算法的優(yōu)劣。

此模塊通過了功能仿真、DC工具時(shí)序、面積等分析,并在FPGA板上通過接傳感器,經(jīng)JPEP壓縮,由USB傳輸?shù)接?jì)算機(jī)驗(yàn)證其效果。本文采用Syn-opsys公司的DC compiler分析了各算法實(shí)現(xiàn)的面積代價(jià)。同時(shí),本文針對(duì)幾種算法的圖像還原能力作了分析:用線性方法、kimmel方法和本算法處理同一張圖片轉(zhuǎn)化的bayer格式圖片,設(shè)R(x,y)為原圖像素值,r(x,y)為處理后像素值:

設(shè)滿足(3)式的點(diǎn)為還原良好點(diǎn),其個(gè)數(shù)為n,本文所用測(cè)試圖片為640×480大小,令h=n/640×480為算法的還原程度判斷。

圖5和表1是幾種Demosaicing算法的仿真結(jié)果圖片及其相應(yīng)的h值和面積代價(jià),可以看到本文提出的方法的圖像質(zhì)量要比其他算法的好,尤其在高頻時(shí),混淆現(xiàn)象得到了很好的改善。

6 結(jié)論

本文在詳細(xì)分析傳統(tǒng)算法的優(yōu)劣基礎(chǔ)上,提出了新的圖象重組算法,而流水線式分時(shí)復(fù)用資源的實(shí)現(xiàn)方法節(jié)省了接近一半的資源,很好地克服了模塊實(shí)時(shí)性要求,主頻時(shí)鐘限制和demosaicing算法復(fù)雜性帶給硬件實(shí)現(xiàn)資源成本高的問題。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2551

    文章

    51134

    瀏覽量

    753896
  • 芯片
    +關(guān)注

    關(guān)注

    455

    文章

    50851

    瀏覽量

    423977
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16376

    瀏覽量

    178221
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    上海 武漢 深圳招聘:圖像算法 電機(jī)控制算法 ADAS算法 咨詢:微信473421885

    硬件實(shí)現(xiàn) 6. 有FOC/MRAS/PMSM電機(jī)量產(chǎn)項(xiàng)目經(jīng)驗(yàn)者優(yōu)先ADAS算法高級(jí)工程師-武漢 深圳崗位職責(zé)開發(fā)并實(shí)現(xiàn)汽車高級(jí)輔助駕駛系統(tǒng)的計(jì)算機(jī)視覺
    發(fā)表于 08-28 15:29

    【案例分享】改進(jìn)的圖像重組算法及其硬件實(shí)現(xiàn)

    圖像算法。關(guān)于圖像重組算法日前主要有獨(dú)立插值法、按比例插值法、Kimmel法等,本文將在分析這些算法的基礎(chǔ)上提出能
    發(fā)表于 07-17 04:00

    圖像匹配最大互相關(guān)算法的專用ASIC硬件實(shí)現(xiàn)方法研究

    探討一種專用ASIC硬件實(shí)現(xiàn)方法! 這種方法將DSP的靈活性與ASIC的高效性相結(jié)合!構(gòu)造了單DSP +ASIC多的嵌入式計(jì)算機(jī)! 對(duì)圖像
    發(fā)表于 12-03 16:23 ?17次下載

    一種攝像頭自動(dòng)白平衡算法硬件實(shí)現(xiàn)

    一種攝像頭自動(dòng)白平衡算法硬件實(shí)現(xiàn)王雅君, 吳玉廣 ,林萬頃(西安電子科技大學(xué)微電子所,陜西西安,710071)摘要:提出了一種基于直方圖擴(kuò)展的自動(dòng)白
    發(fā)表于 12-14 11:24 ?69次下載

    一種改進(jìn)的圖像重組算法及其硬件實(shí)現(xiàn)

    一種改進(jìn)的圖像重組算法及其硬件實(shí)現(xiàn)羅碧強(qiáng) 李斌(華南理工大學(xué)物理科學(xué)與技術(shù)學(xué)院, 廣州510640)摘要:圖像重組
    發(fā)表于 12-24 10:56 ?10次下載

    圖像質(zhì)量評(píng)價(jià)方法研究進(jìn)展

    圖像質(zhì)量評(píng)價(jià)是圖像處理領(lǐng)域的研究熱點(diǎn)。該文綜合論述了圖像質(zhì)量的主觀和客觀評(píng)價(jià)方法,重點(diǎn)闡述了單視
    發(fā)表于 02-09 15:08 ?16次下載

    一種改進(jìn)的圖像重組算法及其硬件實(shí)現(xiàn)

    一種改進(jìn)的圖像重組算法及其硬件實(shí)現(xiàn) 1.引言 目前,大多數(shù)的數(shù)字相機(jī)的圖像傳感器,不管是CMOS還是CCD,都是單色的
    發(fā)表于 08-15 16:34 ?899次閱讀

    一種低硬件資源消耗快速SVPWM算法

    一種低硬件資源消耗快速SVPWM算法_齊昕
    發(fā)表于 01-07 17:16 ?0次下載

    采用多相位插值算法實(shí)現(xiàn)視頻圖像縮放及其在FPGA硬件平臺(tái)的驗(yàn)證

    傳統(tǒng)的插值算法在視頻圖像縮放尤其是輸出高分辨率的視頻圖像時(shí),對(duì)細(xì)節(jié)方面的處理性能較差。采用多相位插值算法實(shí)現(xiàn)視頻
    發(fā)表于 11-16 11:48 ?5123次閱讀
    采用多相位插值<b class='flag-5'>算法</b><b class='flag-5'>實(shí)現(xiàn)</b>視頻<b class='flag-5'>圖像</b>縮放及其在FPGA<b class='flag-5'>硬件</b>平臺(tái)的驗(yàn)證

    色彩復(fù)原圖像質(zhì)量評(píng)價(jià)方法

    方法建立帶權(quán)值的質(zhì)量評(píng)價(jià)函數(shù)和對(duì)應(yīng)評(píng)價(jià)算法流程,利用歸一化方法確定權(quán)值。通過評(píng)價(jià)算法流程計(jì)算復(fù)原的彩色
    發(fā)表于 12-18 11:00 ?1次下載

    圖像平衡原理及實(shí)現(xiàn)

    本文將詳細(xì)介紹圖像平衡原理及實(shí)現(xiàn),包括內(nèi)容有白平衡與色溫,一種簡(jiǎn)單的白平衡算法,并且考慮其
    發(fā)表于 01-17 11:04 ?4138次閱讀

    如何使用FPGA實(shí)現(xiàn)小波圖像方法詳細(xì)說明

    基于小波變換的濾波方法應(yīng)用于紅外圖像處理中可以在降低噪聲的同時(shí)提升圖像細(xì)節(jié),有效改善圖像畫質(zhì)。介紹了一種采用FPGA的小波圖像處理
    發(fā)表于 02-01 14:54 ?6次下載
    如何使用FPGA<b class='flag-5'>實(shí)現(xiàn)</b>小波<b class='flag-5'>圖像</b>的<b class='flag-5'>方法</b>詳細(xì)說明

    如何使用FPGA實(shí)現(xiàn)圖像動(dòng)態(tài)范圍壓縮算法

    灰度動(dòng)態(tài)范圍壓縮是一種基本的圖像增強(qiáng)處理方法,廣泛應(yīng)用于圖像識(shí)別,視頻監(jiān)控等領(lǐng)域中。結(jié)合這一應(yīng)用,提出了一種基于非線性變換的動(dòng)態(tài)范圍壓縮算法,并且以FPGA為基礎(chǔ),針對(duì)一幅
    發(fā)表于 02-05 17:00 ?22次下載
    如何使用FPGA<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>圖像</b>動(dòng)態(tài)范圍壓縮<b class='flag-5'>算法</b>

    基于FPGA自動(dòng)白平衡算法的介紹和實(shí)現(xiàn)

    基于FPGA自動(dòng)白平衡算法實(shí)現(xiàn) 一、白平衡介紹 對(duì)于白平衡基本概念的詳細(xì)介紹請(qǐng)查看文章《白平衡
    的頭像 發(fā)表于 04-08 17:20 ?1964次閱讀

    基于視差信息的無參考立體圖像質(zhì)量評(píng)價(jià)方法

    ,并分析了不同視差圖對(duì)模型性能的影響。該方法將左右視圖以及視差圖小塊作為輸入,自動(dòng)提取特征,通過訓(xùn)練得到回歸模型,從而實(shí)現(xiàn)對(duì)立體圖像的預(yù)測(cè)。文中使用了5種不同立體匹配算法來生成視差圖,
    發(fā)表于 05-07 14:09 ?24次下載