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