基于ATmegal28的LED顯示屏圖像數據解碼設計
2.3 圖像的縮放
由于該設計所使用的顯示屏為64×64個像素,所以對于JPEG格式的彩信需要先進行解碼,然后再進行縮放,使其成為64×64的格式。一般情況下,圖像縮放是采用目標圖像到源圖像“逆向映射”法。但是考慮到ATmegal28 RAM容量的限制,如果先解出源圖像,則會占用大量的RAM,因此采用源圖像到目標圖像的映射方法。當解出源圖像一個像素的RGB值時,通過運算求出其在目標圖像中的位置;先判斷此位置是否為零,如果是,則直接存儲;如果否,則求兩數的平均值后存儲。對于源圖像中n個像素點對應目標圖像1個像素點的情況,這個目標圖像像素點的顏色分量I=I1/2n+…+In/2,其中:I1為對應源圖像中第一個像素點的顏色分量,In為最后一個的顏色分量。
該設計所用方法得到的Xmp格式圖像與最近鄰域法所得圖像的比較如圖4所示。圖4(a)為Lena原圖,圖4(b)為采用最近鄰域法得到的:Xmp格式圖像,圖4(c)為本文所用方法得到的Xmp格式圖像。對比可知,這里所用的方法得到的圖像像素點間過渡比較平滑,有比較好的顯示效果。此方法是對最近鄰域法的改進,既避免了在使用最近鄰域法時源圖像某些像素信息的丟失,又節省了系統的RAM資源。
3 硬件實現
該系統的硬件實現框圖如圖5所示:
系統以ATmegal28單片機為主要芯片,通過RS 232和TR800進行數據傳輸。ATmegal28通過命令讀取TR800接收到的彩信圖像,進行解碼處理。然后通過RS 232把數據傳輸到全彩LED顯示屏進行圖像的更改。在Amegal28與外部SRAM之間使用了鎖存器,該設計采用的是74AHC573。TR-800模塊是一個高性能、功耗小的GPRS模塊,它內嵌了WAP協議棧、TCP/IP協議棧、MMS協議棧便于用戶的二次開發以及固件的升級。由于以上特點,該設計選用此模塊來實現對彩信收發處理功能。LED顯示屏的傳輸協議遵守Xmodem通信協議,采用CRC校驗。整個系統運行效果表明,ATmegal28在采用16 MHz晶振的情況下解碼167×173像素的JPEG圖片大約需要1s。
4 結 語
提出適合于全彩LED顯示屏的遠程圖像傳輸設計,并給出關鍵問題的解決方法。由于利用單片機實現了圖像的軟件解碼,這給工程上應用帶來便利。該設計能廣泛應用于車載,或者戶外廣告屏的圖像數據的處理傳輸。將計算量龐大的JPEG解碼算法成功地在ATmegal28上進行移植,并由此實現全彩LED顯示屏圖像數據的遠程更改,具有較強生產實用性。
評論