程 磊,劉 波,徐建省,吳懷宇,陳 洋
(1.武漢科技大學信息科學與工程學院,湖北武漢 430081;2.中國科學院 電工研究所,北京 100190)
目前,隨著人類對醫療設備舒適度的逐漸提升,傳統的直插式消化道檢測系統已經不能滿足人類的需求,同時為了提高消化道疾病的檢查效率,出現了能夠進入人體消化道的膠囊內窺鏡檢測系統[1~4],通過膠囊內窺鏡消化道的檢查,不僅可以減輕患者的痛苦,而且可以對整個消化道進行更全面的檢查。膠囊內窺鏡在體內檢測的關鍵技術在于圖像數據的采集與傳輸[5,6],同時對體積大小和功耗的要求較高。
為了滿足體內無線圖像的傳輸,本文設計了用內部集成了增強型8位單片機、具有2.4 GHz頻率收發功能的nRF24LE1低功耗芯片控制CMOS圖像傳感器OV2640獲取圖像的方案,其中圖像傳感器OV2640能夠實現JPEG壓縮算法,可以在不影響圖像視覺效果的前提下減小圖像數據量,為無線圖像的傳輸和處理提高了方便,該系統具有體積小、功耗低、通信可靠等優點,能夠實現體內無線圖像采集與傳輸的需求。
通過JPEG壓縮處理后的圖像,降低了圖像的數據量,一幀圖像數據的發送時間和功耗明顯降低[7]。傳輸JPEG壓縮格式的圖像時,不僅能夠提高無線膠囊內窺鏡的發送速率,而且提高了其工作時長。JPEG 壓縮算法簡單的分為以下4個主要步驟:
1)預處理:顏色空間的變換(RGB變換至YCbCr),色彩信號的抽樣。
由于人眼對于色度Cb與Cr分量的敏感程度遠小于亮度Y分量,因此,可以適當地對Cb和Cr分量進行削弱以達到壓縮圖像數據的目的,RGB和YCbCr之間的轉換關系如式(1)所示

2)離散余弦變換
由于相鄰像素直接具有很強的相關性,而離散余弦變換(DCT)是一種正交變化,可以分離出這種相關性,方便在壓縮過程中去除一些不需要的細節信息[8],一般每個分量矩陣(Y,Cb,Cr)被分割成8×8的像素塊大小,經過二維DCT以后,可以得到一個成8×8的系數矩陣,DCT及其相應的逆變換公式如(2)和式(3)所示

式中C(u)=C(v)=1/(u=0或v=0);C(u)=C(v)=1(其它情況)。x,y為圖像數據矩陣內某個數值的坐標,f(x,y)為像素值,F(u,v)為變換系數,u,v為系數下標。
3)量化和Zigzag重排
量化是對經過DCT后的頻率系數進行量化。量化的目的是減少非“0”系數的幅度,增加“0”值系數的數目,量化是圖像質量下降的最主要原因。量化因子Q來控制圖像壓縮的比例,取值范圍可以取[1,100]所有的整數值,量化過程可以通過下式表示

式中D(x,y)為沒有量化的 DCT系數(0≤x≤7,0≤y≤7),Q(x,y)為對應量化表中的量化步長。round為取整操作,(x,y)表示取整后的值。x,y越大,則Q(x,y)越大,通過取整后的高頻系數為0,從而達到壓縮數據的目的。
Zigzag重排就是將8×8量化的DCT系數按照頻率從低到高排列為一維數組,目的是為了增加連續的“0”系數的個數,方便隨后進行的編碼,如圖1所示。
4)編 碼
編碼包括直流(DC)系數的編碼、交流(AC)系數的編碼和熵編碼。

圖1 量化DCT系數和Zigzag掃描Fig 1 Quantized DCT coefficients and Zigzag scanning
DC系數有2個特點:一是系數值比較大,二是相鄰8×8圖像塊的DC系數值變化小[9],因此,使用了差分脈沖調制編碼(DPCM)技術,如式(5)所示,對相鄰圖像塊之間的系數差值(Delta)進行編碼

AC系數的特點是1×64矢量中包含有許多連續的“0”。根據這一特點,可以使用簡單的游程長度編碼(RLE)對它們進行編碼。
熵編碼可以對處理后的系數作進一步的壓縮。使用霍夫曼編碼器可以使用很簡單的查表(lookup table)方法進行編碼,最后把編碼后的圖像數據組成一幀一幀的數據[9]。經過4個主要步驟后,可以得到JPEG圖像,通過控制合適的壓縮比,可以獲得小數據量的圖像,更加有利于無線膠囊內窺鏡的圖像傳輸。
對于圖像傳感器,考慮到應盡量減少傳輸數據量的問題,選用帶JPEG數據壓縮功能的OV2640 CMOS圖像傳感器。OV2640可以直接輸出壓縮的JPEG格式圖像[10],從而可以大大降低所需要傳送圖像文件的大小,如一張CIF(352×288)分辨率的RGB565(或者YUV422)圖片大約是198 kB,而采用16倍壓縮的JPEG文件為約10 kB。
對于無線傳輸,采用Nordic半導體的 nRF24LE1芯片[11],把性能優異的2.4GHz收發器核(nRF24L01+)和一個增強型8051混合信號微控制器集成在一塊芯片上,同時,在空中傳輸速率可以達到最高2 Mbit/s,該芯片封裝僅為5 mm×5 mm,發送電流僅為11.3 mA,并且抗干擾性強,可以實現膠囊內窺鏡系統的控制與無線發送接收功能。
無線膠囊內窺鏡系統構成的原理框圖如圖2、圖3所示。系統主要包括2個子系統:體內膠囊內窺鏡,體外無線數據接存儲。前者主要包括:LED照明模塊、攝像頭OV2640模塊、nRF24LE1發送模塊和電源,患者通過吞服膠囊內窺鏡,內窺鏡將采集到的消化道圖像信息傳出體外,由于在體內工作,所以,要求其體積較小,功耗低,圖像傳輸速度快;后者主要包括nRF24LE1接收模塊、數據存儲器和PC工作站。其任務是接收體內傳輸出的圖像數據,存儲并經過JPEG解碼得到相應的圖像。本系統通過C8051F060混合信號片上系統型MCU開發板與nRF24LE1模塊連接,接收來自體內的JPEG數據經過RS—232上傳到PC,并經過JPEG反編碼實現圖像數據的顯示。通過技術分析,該系統主要難點在于體內膠囊內窺鏡設計上,所以,本文主要對體內部分做深入研究。

圖2 體內膠囊內窺鏡Fig 2 Capsule endoscope in vivo

圖3 體外無線數據接收存儲子系統Fig 3 Subsystem of wireless data receiving and storage in vitro
圖4給出了體內膠囊內窺鏡圖像采集與發送的典型電路,外圍結構由晶振、I/O端口和天線單元三部分組成。由電路圖可知,整個系統的外圍電路簡單,其中,nRF24LE1的多功能I/O口P0.6,P0.5分別連接攝像頭OV2640的幀同步信號VSYNC和像素信號PCLK,P0.1和P0.2模擬SCCB時序,整個電路采用16 MHz的晶體振蕩器,P0.3和P1.0~P1.6連接攝像頭的數據口,通過PCLK的下降沿信號采集圖像數據,同時,P0.7連接攝像頭的PWDN休眠信號,可控制攝像頭的開關,P0.0控制LED照明電路的開短。無線圖像接收電路與發射電路相同,去掉攝像頭圖像采集電路即可。

圖4 體內膠囊內窺鏡硬件連接電路Fig 4 Hardware connection circuit of capsule endoscopy in vivo
從OV2640獲取圖像數據,需要用到的信號線包括:8位數據總線 Y2~Y9,幀同步信號 VSYNC,行同步信號HREF,像素同步信號 PCLK,SCCB總線 SIO_C和 SIO_D。其圖像數據輸出的時序圖如圖5所示。

圖5 OV2640數據時序Fig 5 Data sequence of OV2640
幀同步信號VSYNC是低電平有效,HREF是高電平有效,當引腳VSYNC為高電平時表示一幀數據已經準備好,當由高電平變成低電平時表明是一幀圖像數據傳輸的開始。為了得到有效的像素數據,一般將HREF和PCLK連接一個與非門,使得在行信號無效時不輸出像素同步信號,用其輸出信號作為像素數據同步,在下文中仍稱之為PCLK。
OV2640的工作模式是由內部寄存器確定的,其與外部的接口為串行相機控制總線(SCCB)。一般方法是微控制器工作在主模式,對工作在從模式的OV2640內部的寄存器進行配置,配置完成后經過10幀圖像采集時間后,OV2640即開始按照配置的模式工作。如圖6所示,通過IO口(P0.1和 P0.2管腳)模擬 SCCB總線時序讀寫OV2640寄存器,從而控制其工作模式,必要的設置包括要獲取圖像的分辨率、輸出格式、輸出時鐘頻率等。

圖6 I2C總線數據傳輸Fig 6 Data transfer of I2C bus
在nRF24LE1的初始化程序中,設置寄存器RF_SETUP=0x0F,數據傳輸速率2 Mbit/s,發射功率0 dBm;設置寄存器RX_PW_P0=0X32,nRF24LE1無線發射數據包長度為32 bytes。
主程序負責膠囊內窺鏡的控制器nRF24LE1初始化配置與OV2640初始化配置,以便實現圖像的采集發送功能。如圖7所示,通過檢測幀信號VSYNC判斷一幀圖像的起始位置,為了使系統高效的運行,本文程序設計2個內存單元,使膠囊內窺鏡系統處于圖像實時發送狀態。如圖8所示,中斷程序檢測像素點信號PCLK來采集圖像數據,當PCLK為下降沿是讀取Y3~Y9口數據,并存入內存,等待發送信號的到來,這就完成了膠囊內窺鏡的圖像采集與發送功能。

圖7 無線膠囊內窺鏡主程序流程圖Fig 7 Main program flow chart of wireless capsule endoscopy

圖8 中斷程序流程圖Fig 8 Flow chart of interrupt program
膠囊內窺鏡體內實測PCB電路如圖9所示,OV2640和nRF24LE1共用晶振為16 MHz,考慮到無線芯片的實際數據傳送能力,通過測試,當PCLK最大采集頻率大于33 kHz時,發送模塊發送到接收模塊完全接收所用的時間,大于圖像采集所占用的時間,圖像無法正常傳輸。本文通過SCCB總線設置OV2640的圖像大小為CIF壓縮格式,即分辨率為352×288,經過JPEG壓縮后數據量從198 kB降低至10 kB左右,配置攝像頭時鐘分頻CLKRC=0X0B,輸出PCLK頻率R_DVP_SP=0X7F。實際測試表明:PCLK頻率為31.7 kHz,滿足控制器nRF24LE1的中斷口P0.5頻率要求,系統運行穩定后,OV2640每0.5 s輸出一幅圖像,觀察圖像數據可以看出:一幀數據的開始標志為0XFFD8,結束標志為0XFFD9,拍攝可以得到比較清晰的圖像,如圖10所示,(a)為近景:可以清晰觀察豬的胃部圖像,(b)為遠景:窗戶外的景色。
整個系統的速度受限2個方面的原因:其一是nRF24LE1的空中傳輸速率,盡管手冊上說明最大可以達到2 Mbit/s,但實際測試時最大數據傳輸速率約為0.5 Mbit/s;另一方面,nRF24LE1工作在16 MHz,其I/O端口響應速度受到限制,在本系統中主要時間限制在于nRF24LE1將數據寫入發送緩沖區過程。實際測試表明:OV2640工作時電流約為25 mA,處于休眠模式時僅僅為2.8 mA,發送模塊發送時的電流為10 mA,LED工作時的電流為5 mA,整個系統達到了低功耗的目的。

圖9 體內膠囊內窺鏡實物圖Fig 9 Physical figure of capsule endoscope in vivo

圖10 采集圖像實例Fig 10 Instance of image acquisition
實驗結果表明:該系統方案適用于膠囊內窺鏡系統的檢測,采用具有JPEG壓縮功能的CMOS攝像頭OV2640,通過硬件實現壓縮算法,避免了軟件壓縮算法速度不夠的問題,同時利用集成度最高的nRF24LE1低功耗芯片完成整個系統控制的發送功能,系統結構簡單、抗干擾性強、功耗低,制作的體內膠囊內窺鏡的直徑不大于13 mm,在目前的實驗階段,可以實現0.5 s采集與傳送一幅CIF圖像,為無線膠囊內窺鏡提供了一種可行方案。。
[1]王曉民,李遠洋,王新沛,等.消化道內窺鏡的發展及趨勢[J].醫療衛生裝備,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]張艷輝,黃戰華.膠囊內窺鏡技術的研究進展[J].現代儀器,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]辛文輝,顏國正,王文興,等.膠囊內窺鏡能量接收穩定性研究[J].儀器儀表學報,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].科技情報開發與經濟,2010,20(10):108-110.
[8]胡小開,王剛毅,任廣輝.基于SoPC的JPEG2000編碼器設計[J].電子技術應用,2009,35(9):16-19.
[9]李 立,金華標,陳智君,等.基于FPGA和DSP的高分辨率圖像采集系統[J].數據采集與處理,2008,23(1):117-122.
[10]管鳳旭,姜智超,吳秋雨,等.指靜脈與折痕雙模態圖像采集系統設計[J].傳感器與微系統,2013,32(2):124-127.
[11]劉廣偉,毛陸虹,門春雷.一種有源血氧傳感標簽設計[J].傳感器與微系統,2013,32(3):113-116.