程 磊,劉 波,徐建省,吳懷宇,陳 洋
(1.武漢科技大學(xué)信息科學(xué)與工程學(xué)院,湖北武漢 430081;2.中國科學(xué)院 電工研究所,北京 100190)
目前,隨著人類對醫(yī)療設(shè)備舒適度的逐漸提升,傳統(tǒng)的直插式消化道檢測系統(tǒng)已經(jīng)不能滿足人類的需求,同時(shí)為了提高消化道疾病的檢查效率,出現(xiàn)了能夠進(jìn)入人體消化道的膠囊內(nèi)窺鏡檢測系統(tǒng)[1~4],通過膠囊內(nèi)窺鏡消化道的檢查,不僅可以減輕患者的痛苦,而且可以對整個(gè)消化道進(jìn)行更全面的檢查。膠囊內(nèi)窺鏡在體內(nèi)檢測的關(guān)鍵技術(shù)在于圖像數(shù)據(jù)的采集與傳輸[5,6],同時(shí)對體積大小和功耗的要求較高。
為了滿足體內(nèi)無線圖像的傳輸,本文設(shè)計(jì)了用內(nèi)部集成了增強(qiáng)型8位單片機(jī)、具有2.4 GHz頻率收發(fā)功能的nRF24LE1低功耗芯片控制CMOS圖像傳感器OV2640獲取圖像的方案,其中圖像傳感器OV2640能夠?qū)崿F(xiàn)JPEG壓縮算法,可以在不影響圖像視覺效果的前提下減小圖像數(shù)據(jù)量,為無線圖像的傳輸和處理提高了方便,該系統(tǒng)具有體積小、功耗低、通信可靠等優(yōu)點(diǎn),能夠?qū)崿F(xiàn)體內(nèi)無線圖像采集與傳輸?shù)男枨蟆?/p>
通過JPEG壓縮處理后的圖像,降低了圖像的數(shù)據(jù)量,一幀圖像數(shù)據(jù)的發(fā)送時(shí)間和功耗明顯降低[7]。傳輸JPEG壓縮格式的圖像時(shí),不僅能夠提高無線膠囊內(nèi)窺鏡的發(fā)送速率,而且提高了其工作時(shí)長。JPEG 壓縮算法簡單的分為以下4個(gè)主要步驟:
1)預(yù)處理:顏色空間的變換(RGB變換至YCbCr),色彩信號(hào)的抽樣。
由于人眼對于色度Cb與Cr分量的敏感程度遠(yuǎn)小于亮度Y分量,因此,可以適當(dāng)?shù)貙b和Cr分量進(jìn)行削弱以達(dá)到壓縮圖像數(shù)據(jù)的目的,RGB和YCbCr之間的轉(zhuǎn)換關(guān)系如式(1)所示
2)離散余弦變換
由于相鄰像素直接具有很強(qiáng)的相關(guān)性,而離散余弦變換(DCT)是一種正交變化,可以分離出這種相關(guān)性,方便在壓縮過程中去除一些不需要的細(xì)節(jié)信息[8],一般每個(gè)分量矩陣(Y,Cb,Cr)被分割成8×8的像素塊大小,經(jīng)過二維DCT以后,可以得到一個(gè)成8×8的系數(shù)矩陣,DCT及其相應(yīng)的逆變換公式如(2)和式(3)所示
式中C(u)=C(v)=1/(u=0或v=0);C(u)=C(v)=1(其它情況)。x,y為圖像數(shù)據(jù)矩陣內(nèi)某個(gè)數(shù)值的坐標(biāo),f(x,y)為像素值,F(xiàn)(u,v)為變換系數(shù),u,v為系數(shù)下標(biāo)。
3)量化和Zigzag重排
量化是對經(jīng)過DCT后的頻率系數(shù)進(jìn)行量化。量化的目的是減少非“0”系數(shù)的幅度,增加“0”值系數(shù)的數(shù)目,量化是圖像質(zhì)量下降的最主要原因。量化因子Q來控制圖像壓縮的比例,取值范圍可以?。?,100]所有的整數(shù)值,量化過程可以通過下式表示
式中D(x,y)為沒有量化的 DCT系數(shù)(0≤x≤7,0≤y≤7),Q(x,y)為對應(yīng)量化表中的量化步長。round為取整操作,(x,y)表示取整后的值。x,y越大,則Q(x,y)越大,通過取整后的高頻系數(shù)為0,從而達(dá)到壓縮數(shù)據(jù)的目的。
Zigzag重排就是將8×8量化的DCT系數(shù)按照頻率從低到高排列為一維數(shù)組,目的是為了增加連續(xù)的“0”系數(shù)的個(gè)數(shù),方便隨后進(jìn)行的編碼,如圖1所示。
4)編 碼
編碼包括直流(DC)系數(shù)的編碼、交流(AC)系數(shù)的編碼和熵編碼。
圖1 量化DCT系數(shù)和Zigzag掃描Fig 1 Quantized DCT coefficients and Zigzag scanning
DC系數(shù)有2個(gè)特點(diǎn):一是系數(shù)值比較大,二是相鄰8×8圖像塊的DC系數(shù)值變化?。?],因此,使用了差分脈沖調(diào)制編碼(DPCM)技術(shù),如式(5)所示,對相鄰圖像塊之間的系數(shù)差值(Delta)進(jìn)行編碼
AC系數(shù)的特點(diǎn)是1×64矢量中包含有許多連續(xù)的“0”。根據(jù)這一特點(diǎn),可以使用簡單的游程長度編碼(RLE)對它們進(jìn)行編碼。
熵編碼可以對處理后的系數(shù)作進(jìn)一步的壓縮。使用霍夫曼編碼器可以使用很簡單的查表(lookup table)方法進(jìn)行編碼,最后把編碼后的圖像數(shù)據(jù)組成一幀一幀的數(shù)據(jù)[9]。經(jīng)過4個(gè)主要步驟后,可以得到JPEG圖像,通過控制合適的壓縮比,可以獲得小數(shù)據(jù)量的圖像,更加有利于無線膠囊內(nèi)窺鏡的圖像傳輸。
對于圖像傳感器,考慮到應(yīng)盡量減少傳輸數(shù)據(jù)量的問題,選用帶JPEG數(shù)據(jù)壓縮功能的OV2640 CMOS圖像傳感器。OV2640可以直接輸出壓縮的JPEG格式圖像[10],從而可以大大降低所需要傳送圖像文件的大小,如一張CIF(352×288)分辨率的RGB565(或者YUV422)圖片大約是198 kB,而采用16倍壓縮的JPEG文件為約10 kB。
對于無線傳輸,采用Nordic半導(dǎo)體的 nRF24LE1芯片[11],把性能優(yōu)異的2.4GHz收發(fā)器核(nRF24L01+)和一個(gè)增強(qiáng)型8051混合信號(hào)微控制器集成在一塊芯片上,同時(shí),在空中傳輸速率可以達(dá)到最高2 Mbit/s,該芯片封裝僅為5 mm×5 mm,發(fā)送電流僅為11.3 mA,并且抗干擾性強(qiáng),可以實(shí)現(xiàn)膠囊內(nèi)窺鏡系統(tǒng)的控制與無線發(fā)送接收功能。
無線膠囊內(nèi)窺鏡系統(tǒng)構(gòu)成的原理框圖如圖2、圖3所示。系統(tǒng)主要包括2個(gè)子系統(tǒng):體內(nèi)膠囊內(nèi)窺鏡,體外無線數(shù)據(jù)接存儲(chǔ)。前者主要包括:LED照明模塊、攝像頭OV2640模塊、nRF24LE1發(fā)送模塊和電源,患者通過吞服膠囊內(nèi)窺鏡,內(nèi)窺鏡將采集到的消化道圖像信息傳出體外,由于在體內(nèi)工作,所以,要求其體積較小,功耗低,圖像傳輸速度快;后者主要包括nRF24LE1接收模塊、數(shù)據(jù)存儲(chǔ)器和PC工作站。其任務(wù)是接收體內(nèi)傳輸出的圖像數(shù)據(jù),存儲(chǔ)并經(jīng)過JPEG解碼得到相應(yīng)的圖像。本系統(tǒng)通過C8051F060混合信號(hào)片上系統(tǒng)型MCU開發(fā)板與nRF24LE1模塊連接,接收來自體內(nèi)的JPEG數(shù)據(jù)經(jīng)過RS—232上傳到PC,并經(jīng)過JPEG反編碼實(shí)現(xiàn)圖像數(shù)據(jù)的顯示。通過技術(shù)分析,該系統(tǒng)主要難點(diǎn)在于體內(nèi)膠囊內(nèi)窺鏡設(shè)計(jì)上,所以,本文主要對體內(nèi)部分做深入研究。
圖2 體內(nèi)膠囊內(nèi)窺鏡Fig 2 Capsule endoscope in vivo
圖3 體外無線數(shù)據(jù)接收存儲(chǔ)子系統(tǒng)Fig 3 Subsystem of wireless data receiving and storage in vitro
圖4給出了體內(nèi)膠囊內(nèi)窺鏡圖像采集與發(fā)送的典型電路,外圍結(jié)構(gòu)由晶振、I/O端口和天線單元三部分組成。由電路圖可知,整個(gè)系統(tǒng)的外圍電路簡單,其中,nRF24LE1的多功能I/O口P0.6,P0.5分別連接攝像頭OV2640的幀同步信號(hào)VSYNC和像素信號(hào)PCLK,P0.1和P0.2模擬SCCB時(shí)序,整個(gè)電路采用16 MHz的晶體振蕩器,P0.3和P1.0~P1.6連接攝像頭的數(shù)據(jù)口,通過PCLK的下降沿信號(hào)采集圖像數(shù)據(jù),同時(shí),P0.7連接攝像頭的PWDN休眠信號(hào),可控制攝像頭的開關(guān),P0.0控制LED照明電路的開短。無線圖像接收電路與發(fā)射電路相同,去掉攝像頭圖像采集電路即可。
圖4 體內(nèi)膠囊內(nèi)窺鏡硬件連接電路Fig 4 Hardware connection circuit of capsule endoscopy in vivo
從OV2640獲取圖像數(shù)據(jù),需要用到的信號(hào)線包括:8位數(shù)據(jù)總線 Y2~Y9,幀同步信號(hào) VSYNC,行同步信號(hào)HREF,像素同步信號(hào) PCLK,SCCB總線 SIO_C和 SIO_D。其圖像數(shù)據(jù)輸出的時(shí)序圖如圖5所示。
圖5 OV2640數(shù)據(jù)時(shí)序Fig 5 Data sequence of OV2640
幀同步信號(hào)VSYNC是低電平有效,HREF是高電平有效,當(dāng)引腳VSYNC為高電平時(shí)表示一幀數(shù)據(jù)已經(jīng)準(zhǔn)備好,當(dāng)由高電平變成低電平時(shí)表明是一幀圖像數(shù)據(jù)傳輸?shù)拈_始。為了得到有效的像素?cái)?shù)據(jù),一般將HREF和PCLK連接一個(gè)與非門,使得在行信號(hào)無效時(shí)不輸出像素同步信號(hào),用其輸出信號(hào)作為像素?cái)?shù)據(jù)同步,在下文中仍稱之為PCLK。
OV2640的工作模式是由內(nèi)部寄存器確定的,其與外部的接口為串行相機(jī)控制總線(SCCB)。一般方法是微控制器工作在主模式,對工作在從模式的OV2640內(nèi)部的寄存器進(jìn)行配置,配置完成后經(jīng)過10幀圖像采集時(shí)間后,OV2640即開始按照配置的模式工作。如圖6所示,通過IO口(P0.1和 P0.2管腳)模擬 SCCB總線時(shí)序讀寫OV2640寄存器,從而控制其工作模式,必要的設(shè)置包括要獲取圖像的分辨率、輸出格式、輸出時(shí)鐘頻率等。
圖6 I2C總線數(shù)據(jù)傳輸Fig 6 Data transfer of I2C bus
在nRF24LE1的初始化程序中,設(shè)置寄存器RF_SETUP=0x0F,數(shù)據(jù)傳輸速率2 Mbit/s,發(fā)射功率0 dBm;設(shè)置寄存器RX_PW_P0=0X32,nRF24LE1無線發(fā)射數(shù)據(jù)包長度為32 bytes。
主程序負(fù)責(zé)膠囊內(nèi)窺鏡的控制器nRF24LE1初始化配置與OV2640初始化配置,以便實(shí)現(xiàn)圖像的采集發(fā)送功能。如圖7所示,通過檢測幀信號(hào)VSYNC判斷一幀圖像的起始位置,為了使系統(tǒng)高效的運(yùn)行,本文程序設(shè)計(jì)2個(gè)內(nèi)存單元,使膠囊內(nèi)窺鏡系統(tǒng)處于圖像實(shí)時(shí)發(fā)送狀態(tài)。如圖8所示,中斷程序檢測像素點(diǎn)信號(hào)PCLK來采集圖像數(shù)據(jù),當(dāng)PCLK為下降沿是讀取Y3~Y9口數(shù)據(jù),并存入內(nèi)存,等待發(fā)送信號(hào)的到來,這就完成了膠囊內(nèi)窺鏡的圖像采集與發(fā)送功能。
圖7 無線膠囊內(nèi)窺鏡主程序流程圖Fig 7 Main program flow chart of wireless capsule endoscopy
圖8 中斷程序流程圖Fig 8 Flow chart of interrupt program
膠囊內(nèi)窺鏡體內(nèi)實(shí)測PCB電路如圖9所示,OV2640和nRF24LE1共用晶振為16 MHz,考慮到無線芯片的實(shí)際數(shù)據(jù)傳送能力,通過測試,當(dāng)PCLK最大采集頻率大于33 kHz時(shí),發(fā)送模塊發(fā)送到接收模塊完全接收所用的時(shí)間,大于圖像采集所占用的時(shí)間,圖像無法正常傳輸。本文通過SCCB總線設(shè)置OV2640的圖像大小為CIF壓縮格式,即分辨率為352×288,經(jīng)過JPEG壓縮后數(shù)據(jù)量從198 kB降低至10 kB左右,配置攝像頭時(shí)鐘分頻CLKRC=0X0B,輸出PCLK頻率R_DVP_SP=0X7F。實(shí)際測試表明:PCLK頻率為31.7 kHz,滿足控制器nRF24LE1的中斷口P0.5頻率要求,系統(tǒng)運(yùn)行穩(wěn)定后,OV2640每0.5 s輸出一幅圖像,觀察圖像數(shù)據(jù)可以看出:一幀數(shù)據(jù)的開始標(biāo)志為0XFFD8,結(jié)束標(biāo)志為0XFFD9,拍攝可以得到比較清晰的圖像,如圖10所示,(a)為近景:可以清晰觀察豬的胃部圖像,(b)為遠(yuǎn)景:窗戶外的景色。
整個(gè)系統(tǒng)的速度受限2個(gè)方面的原因:其一是nRF24LE1的空中傳輸速率,盡管手冊上說明最大可以達(dá)到2 Mbit/s,但實(shí)際測試時(shí)最大數(shù)據(jù)傳輸速率約為0.5 Mbit/s;另一方面,nRF24LE1工作在16 MHz,其I/O端口響應(yīng)速度受到限制,在本系統(tǒng)中主要時(shí)間限制在于nRF24LE1將數(shù)據(jù)寫入發(fā)送緩沖區(qū)過程。實(shí)際測試表明:OV2640工作時(shí)電流約為25 mA,處于休眠模式時(shí)僅僅為2.8 mA,發(fā)送模塊發(fā)送時(shí)的電流為10 mA,LED工作時(shí)的電流為5 mA,整個(gè)系統(tǒng)達(dá)到了低功耗的目的。
圖9 體內(nèi)膠囊內(nèi)窺鏡實(shí)物圖Fig 9 Physical figure of capsule endoscope in vivo
圖10 采集圖像實(shí)例Fig 10 Instance of image acquisition
實(shí)驗(yàn)結(jié)果表明:該系統(tǒng)方案適用于膠囊內(nèi)窺鏡系統(tǒng)的檢測,采用具有JPEG壓縮功能的CMOS攝像頭OV2640,通過硬件實(shí)現(xiàn)壓縮算法,避免了軟件壓縮算法速度不夠的問題,同時(shí)利用集成度最高的nRF24LE1低功耗芯片完成整個(gè)系統(tǒng)控制的發(fā)送功能,系統(tǒng)結(jié)構(gòu)簡單、抗干擾性強(qiáng)、功耗低,制作的體內(nèi)膠囊內(nèi)窺鏡的直徑不大于13 mm,在目前的實(shí)驗(yàn)階段,可以實(shí)現(xiàn)0.5 s采集與傳送一幅CIF圖像,為無線膠囊內(nèi)窺鏡提供了一種可行方案。。
[1]王曉民,李遠(yuǎn)洋,王新沛,等.消化道內(nèi)窺鏡的發(fā)展及趨勢[J].醫(yī)療衛(wèi)生裝備,2013,34(1):88-90.
[2]Yu M.M2A capsule endoscopy:A break through diagnostic tool for small intestine imaging[J].Gastroenterology Nursing,2002,25(1):24-27.
[3]張艷輝,黃戰(zhàn)華.膠囊內(nèi)窺鏡技術(shù)的研究進(jìn)展[J].現(xiàn)代儀器,2006,12(4):4-7.
[4]Fireman Z,Paz D,Kopelman Y.Capsule endoscopy:Improving transit time and image view[J].World Journal of Gastroenterology,2005,11(37):5863-5866.
[5]辛文輝,顏國正,王文興,等.膠囊內(nèi)窺鏡能量接收穩(wěn)定性研究[J].儀器儀表學(xué)報(bào),2009,30(11):2433-2437.
[6]Ciuti G,Menciassi A,Dario P.Capsule endoscopy:From current achievements to open challenges[J].Biomedical Engineering,2011(4):59-72.
[7]王 海,劉彥隆.基于JPEG圖像壓縮算法的研究[J].科技情報(bào)開發(fā)與經(jīng)濟(jì),2010,20(10):108-110.
[8]胡小開,王剛毅,任廣輝.基于SoPC的JPEG2000編碼器設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2009,35(9):16-19.
[9]李 立,金華標(biāo),陳智君,等.基于FPGA和DSP的高分辨率圖像采集系統(tǒng)[J].數(shù)據(jù)采集與處理,2008,23(1):117-122.
[10]管鳳旭,姜智超,吳秋雨,等.指靜脈與折痕雙模態(tài)圖像采集系統(tǒng)設(shè)計(jì)[J].傳感器與微系統(tǒng),2013,32(2):124-127.
[11]劉廣偉,毛陸虹,門春雷.一種有源血氧傳感標(biāo)簽設(shè)計(jì)[J].傳感器與微系統(tǒng),2013,32(3):113-116.