文獻標識碼: A
文章編號: 0258-7998(2011)11-0020-03
Camera Link[1]是工業高速串口數據和連接協議,它由世界數碼相機供應商和圖像采集公司在2000年10月聯合推出,旨在為數碼相機和PC機間的高速、高精度數字傳輸提供一種標準連接。本設計就是基于Altera公司的StratixTM II系列芯片中的FPGA EP2S30F484I5芯片和數碼相機CV-A10CL[2]設計的一個可以實時顯示的圖像傳輸系統。由于ADV202所能壓縮的每幅圖像最大樣本數為1.048 M,即1 024×1 024分辨率的圖像。對于本設計中的4 008×5 344分辨率的圖像進行傳輸必須要對圖像進行分割壓縮,然后在接收端合并恢復出完整的圖像。在本設計中,FPGA的作用是對通信的所有過程進行控制和對數據進行處理。
1 高分辨率圖像拆分與合并傳輸原理
由于ADV202[3]所能壓縮的每幅圖像最大樣本數為1.048 M,即1 024×1 024分辨率的圖像。所以4 008×5 344分辨率的圖像進行傳輸必須要對圖像進行分割壓縮,然后在接收端合并恢復出完整的圖像。
按照ADV202的技術手冊,在采用低壓縮比對圖像進行壓縮時,在解壓端可以不考慮圖像拆分時的邊界效應,直接對圖像進行合并。但是在本項目中,必須支持8~80倍的圖像壓縮。而在80倍圖像壓縮時,還是會明顯感覺出圖像間的拼接效果,所以必須要考慮圖像的邊界效應。
針對以上分析,將4 008×5 344分辨率的圖像水平方向拆分成4幅圖,垂直方向拆分成6幅圖,總共拆成24幅1 024×1 024分辨率的圖像進行傳輸。拆分方法如圖1所示。
為了解決圖像間水平方向的邊界效應,水平方向上每幅圖都需要和相鄰的圖像有一定的圖像數據冗余。在接收端,通過冗余的圖像數據來覆蓋掉邊界圖像。例如Pic1和Pic2為水平方向相鄰的兩幅圖像,在它們之間引入水平方向24個像素的圖像冗余。在接收端,將Pic1每行的最后12個像素點用Pic2的對應像素點替換,這樣就可以消除圖像間的水平邊界效應。每幅圖像水平方向的起始像素點和結束像素點如圖1(a)所示。
同理,也可以在垂直方向采用相同的方法,每幅圖像垂直方向的起始像素點和結束像素點如圖1(b)所示。
采用以上方法就可以將4 008×5 344分辨率的圖像拆分成如圖1(c)所示的24幅具有冗余度的圖像。
2 系統整體設計方案
圖像傳輸系統由數碼相片壓縮單元和數碼相片解壓縮單元組成[4-5]。數碼相片壓縮單元通過Camera Link接口連接數碼相機接收數碼相片原始數據,并對數碼相片原始數據進行壓縮,然后將要測數據與壓縮數據合成為數碼相片數據流,最后將數碼相片數據流和碼同步時鐘通過RS422同步接口輸出到下一個設備;數碼相片解壓單元接收到數碼相片數據流后,通過RS422同步接口傳送給解壓卡,解壓卡進行解壓后,通過PCI總線把數據傳輸到PC機上,最后進行數據顯示、存儲和網絡發送等。壓縮與解壓縮單元組成框圖如圖2所示。
3 系統工作原理
3.1 圖像壓縮單元工作原理
即使同時使用兩片圖像壓縮芯片ADV202,也僅僅能夠支持一路高清電視的分辨率的圖像,與4 008×5 344仍然存在較大差距。因此,考慮采用將一幅圖片進行拆分,分為多幀壓縮傳送,保證整幅照片的數據傳送。工作邏輯框圖如圖3所示。
從Camera Link接收的數據在SDRAM[6-7]中緩存,當數據存滿一張完整照片時,采用連續發送的方式將數據送入ADV202壓縮,ADV202返回的數據與遙測數據混合成幀,然后發送到AHA4501[8]芯片完成信道編碼編碼的數據,在FPGA控制下,采用同步方式從RS422數據口輸出。
3.2 圖像解壓縮單元工作原理
在接收端,采用如圖4的結構。接收到的信道數據,首先在FPGA內部進行信道解碼恢復成圖像數據和遙測數據幀,將遙測數據從RS422接口輸出,完成遙測數據的處理。
對于接收的圖像數據,則通過ADV202進行解壓縮,解壓縮之后的數據在SDRAM中緩存,一張照片的數據完整后,通過PCI接口將數據發送給計算機主機。
4 圖像傳輸演示
由于4 008×5 344分辨率的Camera Link接口數碼相機價格十分昂貴,因此本設計無法采用該相機來進行演示驗證。為了證明設備的工作狀態,可以首先采用RS422串口來傳遞高分辨率(4 008×5 344)圖像的方法來驗證圖像壓縮和解壓縮的功能和效果,如圖5(a)所示;然后再利用低分辨率(782×582)的Camera Link接口相機來演示驗證Camera Link接口功能,如圖5(b)所示。
4.1 串口高分辨率圖像傳輸演示方法
目前圖像壓縮模塊除了Camera Link接口,只有RS422接口可用來接收圖像數據。因此,可以利用接收遙測數據的RS422接口來進行高分辨率圖像數據的接收,具體連接關系如圖5(a)所示。
如圖5(a)所示,利用電腦的RS232串口向圖像壓縮模塊發送4 008×5 344分辨率的BMP格式圖像,經RS232/RS422轉換器變為RS422接口數據由圖像壓縮模塊接收。接收后,圖像壓縮模塊對圖像進行分割壓縮,然后通過另一個RS422接口傳遞給圖像解壓模塊。圖像解壓模塊將接收到的圖像進行解壓,然后通過PCI接口傳遞給電腦。最終由電腦進行圖像的合并及儲存顯示。圖6為圖像傳輸效果圖,其中圖6(a)為原始圖像,圖6(b)為接收端解壓后拼接恢復的圖像。
4.2 Camera Link接口圖像傳輸演示方法
采用串口進行高分辨率圖像傳輸大約需要30 min,而且不能驗證Camera Link接口的功能是否正常。所以在通過串口完成高分辨率圖像演示驗證后,需要利用低分辨率(576×768)的Camera Link接口相機進行Camera Link接口的功能驗證。具體連接如圖5(b)所示。
如圖5(b)所示圖像壓縮模塊通過控制Camera Link接口相機的參數和快門,可以實現對該相機的操作。相機在響應快門操作后,可以利用Camera Link接口將圖像數據傳遞給圖像壓縮模塊。然后圖像壓縮模塊進行圖像壓縮和傳輸;圖像解壓模塊在完成圖像解壓后將圖像數據通過PCI接口傳遞給電腦,并由電腦進行圖像存儲和顯示。圖7為圖像傳輸效果圖,其中圖7(a)為原始圖像中拆分后的第一張圖(分辨率1 024×1 024),圖7(b)為經過8倍壓縮/解壓后合并回復后的圖像(分辨率4 008×5 344)。
本設計實現了基于Altera公司的StratixTM II系列FPGA EP2S30F484I5芯片和數碼相機CV-A10CL的高分辨率數碼照片的圖像傳輸系統。通過FPGA對數碼相機CV-A10CL、壓縮/解壓縮芯片ADV202、信道編碼芯片AHA4501、存儲芯片SDRAM和PCI總線的控制和數碼照片圖像數據的處理,完成數碼照片的壓縮、傳輸、解壓縮及顯示的全過程。高分辨率圖像的拆分和合并技術解決了高分辨率數碼照片傳輸難和芯片處理能力有限的問題,也利用冗余的圖像數據消除了圖像在拼接時的邊界效應。串口高分辨率圖像傳輸演示和Camera Link接口圖像傳輸演示結果驗證了本設計的可靠性和實用性。
參考文獻
[1] PULNiX.Camera Link Specifications[S].2000.
[2] The Mechademic Company.Digital monochrome and color progressive scan cameras CV-A10CL and CV-A70cCL operation manual[S].2005.
[3] ANALOG DEVICES.ADV202 JPEG2000 Video Processor User’s Guide(Revision 3.3)[S].2005.
[4] 張德聯,張帆.基于Camera Link的高速數據采集壓縮系統[J].科學技術與工程,2008,8(18):5253-5255.
[5] 何中翔,楊世洪.基于Camera Link的實時顯示技術研究[J].現代顯示,2008(93):31-35.
[6] 楊海濤,蘇濤,巫蠓.基于FPGA的SDRAM控制器的設計與實現[J].電子技術應用,2007,33(1):8-12.
[7] Micron Technology.Synchronous DRAM[S].2000.
[8] Comtech AHA Corporation.Product Specification AHA4501 Astro[S].2002.