《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于Camera Link接口的圖像壓縮解壓縮系統(tǒng)設計
基于Camera Link接口的圖像壓縮解壓縮系統(tǒng)設計
來源:電子技術應用2011年第11期
管修摯,王 焜,高玉龍,白 旭,吳少川
(通信技術研究所 哈爾濱工業(yè)大學,黑龍江 哈爾濱150001)
摘要: 應用Altera公司的StratixTMII系列FPGA EP2S30F484I5芯片和基于Camera Link接口的數(shù)碼相機CV-A10CL,設計實現(xiàn)了對高分辨率黑白數(shù)字圖像進行拆分壓縮、解壓縮及PCI總線接入拼接恢復的系統(tǒng)。系統(tǒng)分為數(shù)碼相片壓縮單元、數(shù)碼相片解壓縮單元和基于MFC的圖像拼接恢復程序。數(shù)碼相片壓縮單元完成對來自相機Camera Link接口數(shù)據(jù)的接收、緩存、圖像數(shù)據(jù)壓縮并發(fā)送,數(shù)碼相片解壓縮單元完成對接收到的已壓縮的圖像數(shù)據(jù)進解壓縮,并將解壓縮后的圖像數(shù)據(jù)通過PCI總線傳輸至PC上顯示。
中圖分類號: TN919.81
文獻標識碼: A
文章編號: 0258-7998(2011)11-0020-03
Compression and decompression of image based on Camera Link interface system
Guan Xiuzhi,Wang Kun,Gao Yulong,Bai Xu,Wu Shaochuan
Communication Research Centre, Harbin Institute of Technology, Harbin 150001,China
Abstract: Employs EP2S30F484I5 FPGA of Altera StratixTM II series and CV-A10CL camera with Camera Link interface,this system implements the split-compression and decompression-combination based on PCI bus of a monochrome with numerous pixels. The system consists of image compression unit, decompression unit and MFC program for image combination. Image compression unit addresses receiving, buffering, split, compression and transmitting for image data. Decompression unit decompresses the compressed JPEG2000 data and transmits decompressed pixels to MFC program through PCI bus slot on PC main board.
Key words : FPGA;Camera Link;ADV202;PCI bus;image split-compression;decompression-combination


    Camera Link[1]是工業(yè)高速串口數(shù)據(jù)和連接協(xié)議,它由世界數(shù)碼相機供應商和圖像采集公司在2000年10月聯(lián)合推出,旨在為數(shù)碼相機和PC機間的高速、高精度數(shù)字傳輸提供一種標準連接。本設計就是基于Altera公司的StratixTM II系列芯片中的FPGA EP2S30F484I5芯片和數(shù)碼相機CV-A10CL[2]設計的一個可以實時顯示的圖像傳輸系統(tǒng)。由于ADV202所能壓縮的每幅圖像最大樣本數(shù)為1.048 M,即1 024×1 024分辨率的圖像。對于本設計中的4 008×5 344分辨率的圖像進行傳輸必須要對圖像進行分割壓縮,然后在接收端合并恢復出完整的圖像。在本設計中,F(xiàn)PGA的作用是對通信的所有過程進行控制和對數(shù)據(jù)進行處理。
1 高分辨率圖像拆分與合并傳輸原理
    由于ADV202[3]所能壓縮的每幅圖像最大樣本數(shù)為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所示。

    為了解決圖像間水平方向的邊界效應,水平方向上每幅圖都需要和相鄰的圖像有一定的圖像數(shù)據(jù)冗余。在接收端,通過冗余的圖像數(shù)據(jù)來覆蓋掉邊界圖像。例如Pic1和Pic2為水平方向相鄰的兩幅圖像,在它們之間引入水平方向24個像素的圖像冗余。在接收端,將Pic1每行的最后12個像素點用Pic2的對應像素點替換,這樣就可以消除圖像間的水平邊界效應。每幅圖像水平方向的起始像素點和結束像素點如圖1(a)所示。
    同理,也可以在垂直方向采用相同的方法,每幅圖像垂直方向的起始像素點和結束像素點如圖1(b)所示。
    采用以上方法就可以將4 008×5 344分辨率的圖像拆分成如圖1(c)所示的24幅具有冗余度的圖像。

2 系統(tǒng)整體設計方案
    圖像傳輸系統(tǒng)由數(shù)碼相片壓縮單元和數(shù)碼相片解壓縮單元組成[4-5]。數(shù)碼相片壓縮單元通過Camera Link接口連接數(shù)碼相機接收數(shù)碼相片原始數(shù)據(jù),并對數(shù)碼相片原始數(shù)據(jù)進行壓縮,然后將要測數(shù)據(jù)與壓縮數(shù)據(jù)合成為數(shù)碼相片數(shù)據(jù)流,最后將數(shù)碼相片數(shù)據(jù)流和碼同步時鐘通過RS422同步接口輸出到下一個設備;數(shù)碼相片解壓單元接收到數(shù)碼相片數(shù)據(jù)流后,通過RS422同步接口傳送給解壓卡,解壓卡進行解壓后,通過PCI總線把數(shù)據(jù)傳輸?shù)絇C機上,最后進行數(shù)據(jù)顯示、存儲和網(wǎng)絡發(fā)送等。壓縮與解壓縮單元組成框圖如圖2所示。

3 系統(tǒng)工作原理
3.1 圖像壓縮單元工作原理

    即使同時使用兩片圖像壓縮芯片ADV202,也僅僅能夠支持一路高清電視的分辨率的圖像,與4 008×5 344仍然存在較大差距。因此,考慮采用將一幅圖片進行拆分,分為多幀壓縮傳送,保證整幅照片的數(shù)據(jù)傳送。工作邏輯框圖如圖3所示。

    從Camera Link接收的數(shù)據(jù)在SDRAM[6-7]中緩存,當數(shù)據(jù)存滿一張完整照片時,采用連續(xù)發(fā)送的方式將數(shù)據(jù)送入ADV202壓縮,ADV202返回的數(shù)據(jù)與遙測數(shù)據(jù)混合成幀,然后發(fā)送到AHA4501[8]芯片完成信道編碼編碼的數(shù)據(jù),在FPGA控制下,采用同步方式從RS422數(shù)據(jù)口輸出。
3.2 圖像解壓縮單元工作原理
    在接收端,采用如圖4的結構。接收到的信道數(shù)據(jù),首先在FPGA內部進行信道解碼恢復成圖像數(shù)據(jù)和遙測數(shù)據(jù)幀,將遙測數(shù)據(jù)從RS422接口輸出,完成遙測數(shù)據(jù)的處理。

 

 

    對于接收的圖像數(shù)據(jù),則通過ADV202進行解壓縮,解壓縮之后的數(shù)據(jù)在SDRAM中緩存,一張照片的數(shù)據(jù)完整后,通過PCI接口將數(shù)據(jù)發(fā)送給計算機主機。
4 圖像傳輸演示
    由于4 008×5 344分辨率的Camera Link接口數(shù)碼相機價格十分昂貴,因此本設計無法采用該相機來進行演示驗證。為了證明設備的工作狀態(tài),可以首先采用RS422串口來傳遞高分辨率(4 008×5 344)圖像的方法來驗證圖像壓縮和解壓縮的功能和效果,如圖5(a)所示;然后再利用低分辨率(782×582)的Camera Link接口相機來演示驗證Camera Link接口功能,如圖5(b)所示。

4.1 串口高分辨率圖像傳輸演示方法
    目前圖像壓縮模塊除了Camera Link接口,只有RS422接口可用來接收圖像數(shù)據(jù)。因此,可以利用接收遙測數(shù)據(jù)的RS422接口來進行高分辨率圖像數(shù)據(jù)的接收,具體連接關系如圖5(a)所示。
    如圖5(a)所示,利用電腦的RS232串口向圖像壓縮模塊發(fā)送4 008×5 344分辨率的BMP格式圖像,經(jīng)RS232/RS422轉換器變?yōu)镽S422接口數(shù)據(jù)由圖像壓縮模塊接收。接收后,圖像壓縮模塊對圖像進行分割壓縮,然后通過另一個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接口相機的參數(shù)和快門,可以實現(xiàn)對該相機的操作。相機在響應快門操作后,可以利用Camera Link接口將圖像數(shù)據(jù)傳遞給圖像壓縮模塊。然后圖像壓縮模塊進行圖像壓縮和傳輸;圖像解壓模塊在完成圖像解壓后將圖像數(shù)據(jù)通過PCI接口傳遞給電腦,并由電腦進行圖像存儲和顯示。圖7為圖像傳輸效果圖,其中圖7(a)為原始圖像中拆分后的第一張圖(分辨率1 024×1 024),圖7(b)為經(jīng)過8倍壓縮/解壓后合并回復后的圖像(分辨率4 008×5 344)。

      本設計實現(xiàn)了基于Altera公司的StratixTM II系列FPGA EP2S30F484I5芯片和數(shù)碼相機CV-A10CL的高分辨率數(shù)碼照片的圖像傳輸系統(tǒng)。通過FPGA對數(shù)碼相機CV-A10CL、壓縮/解壓縮芯片ADV202、信道編碼芯片AHA4501、存儲芯片SDRAM和PCI總線的控制和數(shù)碼照片圖像數(shù)據(jù)的處理,完成數(shù)碼照片的壓縮、傳輸、解壓縮及顯示的全過程。高分辨率圖像的拆分和合并技術解決了高分辨率數(shù)碼照片傳輸難和芯片處理能力有限的問題,也利用冗余的圖像數(shù)據(jù)消除了圖像在拼接時的邊界效應。串口高分辨率圖像傳輸演示和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] 張德聯(lián),張帆.基于Camera Link的高速數(shù)據(jù)采集壓縮系統(tǒng)[J].科學技術與工程,2008,8(18):5253-5255.
[5] 何中翔,楊世洪.基于Camera Link的實時顯示技術研究[J].現(xiàn)代顯示,2008(93):31-35.
[6] 楊海濤,蘇濤,巫蠓.基于FPGA的SDRAM控制器的設計與實現(xiàn)[J].電子技術應用,2007,33(1):8-12.
[7] Micron Technology.Synchronous DRAM[S].2000.
[8] Comtech AHA Corporation.Product Specification AHA4501 Astro[S].2002.

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。