基于FPGA的網(wǎng)絡(luò )圖像采集處理系統設計
2.3.2 量化和編碼
量化是將經(jīng)過(guò)DCT變化后的系數值除以量化表中的量化值,其結果四舍五入得到。系統采用推薦的亮度量化表對圖像數據進(jìn)行量化,該表存在FPGA的片上RAM中。由于硬件除法是通過(guò)迭代減法完成的,速度慢,因此先計算量化表中數值的倒數值,把DCT變化系數乘以量化表對應的倒數值,即可將除法轉換成速度較快的乘法運算。
量化后系數經(jīng)過(guò)Z型掃描器轉換成一維ZIG-ZAG序列,序列的第1個(gè)數值表示直流(DC)分量,其后的63個(gè)數值表示交流(AC)分量。對DC分量采用一維差分前值預測編碼,即將DC分量減去上一個(gè)8×8子快的DC分量。對AC分量采用游程編碼,并且用一個(gè)字節的高四位來(lái)表示AC分量連續0值個(gè)數,低四位表示下一個(gè)非零系數所需位數,這樣能夠表示的最大0值個(gè)數為15個(gè),如果AC分量中0值個(gè)數多于15個(gè),采用(15,0)來(lái)表示。(0,0)表示EOB,說(shuō)明后面分量值全為0。這樣游程/預測編碼對系數0的值進(jìn)行壓縮。最后霍夫曼編碼器利用霍夫曼表分別對DC和AC系數進(jìn)行霍夫曼編碼,輸出JPEG圖像碼流。
2.4 網(wǎng)絡(luò )傳輸
通過(guò)在NiosⅡ處理器上移植支持TCP/IP協(xié)議棧的μC/OS-Ⅱ操作系統來(lái)實(shí)現圖像的網(wǎng)絡(luò )傳輸功能。軟件流程圖如圖7所示。本文引用地址:http://dyxdggzs.com/article/190790.htm
首先將NiosⅡ作為網(wǎng)絡(luò )通信服務(wù)器,創(chuàng )建一個(gè)網(wǎng)絡(luò )監聽(tīng)套接字,將該套接字同NiosⅡ處理器的本機的IP地址和端口號進(jìn)行綁定,調用Listen監聽(tīng)函數使系統處于監聽(tīng)狀態(tài),監聽(tīng)客戶(hù)端(PC機)請求,一旦監聽(tīng)到客戶(hù)端的連接請求,服務(wù)器端置圖像壓縮使能端有效,開(kāi)始圖像的壓縮,并接收硬件邏輯完成壓縮的圖像數據,然后服務(wù)器端向客戶(hù)端發(fā)送圖像的幀頭和圖像數據,一幀圖像發(fā)送完成后會(huì )接著(zhù)發(fā)送下一幀圖像,直到收到停止圖像發(fā)送指令,進(jìn)入下一個(gè)監聽(tīng)的等待狀態(tài)為止??蛻?hù)端主要是向服務(wù)器端發(fā)出連接請求,一旦連接成功,即開(kāi)始接收服務(wù)器端傳送的圖像幀頭和圖像數據,并將圖像進(jìn)行顯示??蛻?hù)端在停止接收圖像前,會(huì )不斷重復接收圖像數據的工作過(guò)程。
3 測試結果
AD采集一副大小為720×576的圖像,經(jīng)過(guò)硬件邏輯裁剪成如圖8(a)所示的512×512大小的圖像,由JPEG編碼器進(jìn)行圖像壓縮,在PC機上解壓縮后的圖像如圖8(b)所示。將原始圖像和解壓縮后的圖像進(jìn)行對比,計算圖像的峰值信噪比:
式中:MSE為原始圖像和壓縮圖像的均方誤差。從圖中可看到,PSNR>30時(shí),圖像視覺(jué)失真度比較低。
4 結語(yǔ)
本文介紹了一種基于FPGA的網(wǎng)絡(luò )圖像處理系統設計和實(shí)現方法。系統主要包括圖像采集模塊、RAM控制模塊、JPEG編碼器3部分邏輯。在單片FPGA上實(shí)現圖像的采集、裁剪、緩存和JPEG編碼,構建NiosⅡ處理器實(shí)現圖像的網(wǎng)絡(luò )傳輸功能。測試表明,系統的體積小,功耗低,算法升級靈活方便。此外系統運行穩定,性能也滿(mǎn)足要求。
評論