《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于ATmegal28的LED屏圖像數據解碼設計
基于ATmegal28的LED屏圖像數據解碼設計
摘要: 針對目前對全彩LED顯示屏圖像數據的處理需依賴計算機的情況,提出利用ATmegal28單片機實現JPEG圖像解碼的方法,并利用此方法實現了通過GPRS網絡對全彩LED顯示屏圖像數據的遠程傳輸。針對ATmegal28的資源和性能特點,對JPEG解碼進行了可行性分析。重點論述Huffman解碼、IDCT解碼和圖像縮放的優化算法在ATmegal28單片機上的實現。由于圖像的處理在單片機上實現,降低了產品的成本,具有較強地生產實用性。
Abstract:
Key words :

  隨著LED顯示屏的普及和成本的降低,LED顯示屏已經成為公共場合信息宣傳的一種重要工具。目前實現對LED顯示屏的文字圖像更改的方法主要有:顯示屏通過串口或網線與計算機連接實現更改;通過GPRS網絡實現數據的遠程傳輸,接收后在計算機上用特定軟件解碼后發送到LED顯示屏顯示。以上方法始終需要在計算機平臺上實現,附加成本較高。設計利用手機作為發送端,發送彩信至GPRS模塊,利用ATmegal28單片機直接對彩信圖像進行解碼然后發送到LED顯示屏上進行顯示。

  l JPEG解碼可行性分析

  該設計所用全彩LED屏接收的數據格式為Xmp格式,Xmp格式是簡化的BMP格式。Xmp格式在圖像數據前有6個字節表示圖像的屬性,第1字節為1個點的字節數;第2字節為XMP文件中包含的圖片個數;第3,4字節為圖像的高;第5,6字節為圖像的寬,其后為圖像每點的顏色。每點的顏色用2個字節表示(16位色)。由于所用全彩LED屏只有64×64像素,所以JPEG解碼后還需進行圖像的縮放。

  JPEG解碼過程中所需要的緩存主要包括原始JPEG圖像數據的緩存、中間變量的緩存以及解出的Xmp數據的緩存。根據JPEG圖像的復雜度及壓縮比的不同,一般一幀320×240的彩色JPEG圖像的大小在2~20 KB。JPEG解碼緩存主要用于存儲Huffman表,量化表,IDCT解碼的臨時結果等。這些大約需要8 KB。解出的Xmp數據的緩存要求的RAM相對比較固定為9 KB。綜上JPEG解碼大致需25 KB的RAM。ATmegal28內部只有4 KB的SRAM,所以該系統外擴了64 KB的外部RAM。

  2 軟件實現

  該設計采用avr—gcc作為編譯工具。avr-gcc默認設置棧由內部RAM的頂部向下生長。由于圖像處理過程中需要占用大量的RAM空間,所以應該通過設置把所有數據區移到外部RAM,只留棧區在內部RAM,避免數據的相互覆蓋。

  JPEG解碼過程主要包括Huffman解碼、反量化及IDCT變換、色彩變換等模塊。該文采用的LED顯示屏是64×64點像素,并且只能顯示Xmp格式的圖片。因此在JPEG解碼后需增加圖像的縮放模塊。其流程框圖如圖1所示。

流程框圖

  2.1 Huffman解碼的實現

  Huffman解碼是解碼過程中重要的一環。傳統的哈夫曼解碼需要逐位查找哈夫曼表,進行比較判斷,由于查找過程需要大量的移位及循環。這樣的解碼效率非常低。針對這種情況,充分考慮到ATmegal28的存儲容量的限制,在讀文件頭時,軟件事先構造出不同碼長下的哈夫曼碼字的最小值表和最大值表如表1所示,最小值在哈夫曼表中的索引以及哈夫曼樹各葉子結點對應的編碼表。

軟件事先構造出不同碼長下的哈夫曼碼字的最小值表和最大值表

  在解碼的時候,讀取1串二進制數據,分別與各碼長下的最大值和最小值進行比較,如果在哈夫曼表中沒有該碼長的碼字,說明該比特數據不是完整的Huff_man編碼,接著讀取下一個比特數據加在前面的比特數據組成的新的碼字,然后再在最小值表和最大值表中進行查找,直至找到確切的碼字。最后把該碼字減去同一碼長下最小值,加上此最小值在哈夫曼表中的索引即可得到該碼字在編碼表中的位置。

  2.2 IDCT變換的實現

  將8×8塊中的顏色分量單元的64個值逐一乘以對應的量化表內位置相同的系數,然后再將64個數據進行Z字型的重新排列,進行IDCT變換。IDCT的運算量很大,其中要進行大量的浮點乘法和加法運算,因而在解碼過程中IDCT所占時間最多。采用行列分解法先將二維IDCT分解成一維8點的IDCT,對于一維8點IDCT采用Loeffler的快速算法。圖2為Loef—fler算法的流程圖,Loeffler算法運算因子的解釋如圖3 所示。

Loef

Loeffler算法運算因子的解釋

  直接對旋轉因子進行計算需要4次乘法和2次加法,這樣1次8個點的一維IDCT變換總共需要14次乘法和26次加法。可以對旋轉因子進行變形如式(1)所示: 

公式

  從而1次旋轉因子計算只需要3次乘和3次加。進而進行1次一維IDCT只需11次乘和29次加。因為乘法運算的代價高于加法運算,所以這種變形是有益的。完成一次二維的IDCT運算總共要進行16次的8點一維IDCT運算。由于ATmegal28在速度方面的限制,在IDCT運算過程中把浮點操作改進為整形運算,并且把公式的值擴大211倍存儲起來,為IDCT運算做準備。

 

  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資源。

該設計所用方法得到的Xmp格式圖像與最近鄰域法所得圖像的比較

  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顯示屏圖像數據的遠程更改,具有較強生產實用性。設計完成的“基于GPRS的遠程交互式多用戶智能信息屏”在第十屆“挑戰杯”全國大學生課外學術科技作品競賽中獲二等獎。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产欧美激情| 亚洲国产高潮在线观看| 久久久久在线| 亚洲一区二区三区欧美| 亚洲美女在线视频| 亚洲国产日韩一区| 久久xxxx精品视频| 欧美一区二区三区免费在线看 | 欧美一区二区三区视频在线| 亚洲影院一区| 亚洲制服少妇| 亚洲欧美综合v| 亚洲综合色自拍一区| 亚洲一区二区动漫| 亚洲一线二线三线久久久| 宅男噜噜噜66一区二区66| 一区二区三区久久| 亚洲天堂av在线免费| 亚洲男人av电影| 午夜精品久久久久久久99黑人| 亚洲永久免费观看| 亚洲欧美不卡| 欧美与黑人午夜性猛交久久久| 欧美在线高清| 亚洲国产91| 亚洲精品一区二区三区四区高清| 亚洲乱码国产乱码精品精98午夜| 亚洲美女黄色片| 一区二区三区成人| 午夜精品一区二区三区四区| 欧美一区二区三区在线观看| 久久精品一区二区三区四区| 久久午夜国产精品| 欧美激情国产日韩| 欧美日韩视频一区二区| 国产精品久久久一区二区| 国产精品网站在线| 激情综合视频| 亚洲人成啪啪网站| 亚洲一区欧美二区| 亚洲电影在线看| 日韩一级不卡| 亚洲欧美日韩视频二区| 久久久久久久综合| 欧美激情按摩| 国产精品极品美女粉嫩高清在线 | 亚洲欧美激情视频| 久久精品五月| 夜夜嗨网站十八久久| 午夜精品一区二区三区在线播放 | 久久成人免费网| 蜜桃av一区| 欧美三级特黄| 国产色爱av资源综合区| 伊人狠狠色j香婷婷综合| 亚洲另类一区二区| 午夜免费在线观看精品视频| 亚洲国产一成人久久精品| 中文日韩欧美| 久久深夜福利免费观看| 欧美精品在线观看91| 国产日韩欧美日韩| 亚洲国产精品一区二区第一页| 一区二区三区高清| 久久精品色图| 亚洲性线免费观看视频成熟| 久久久美女艺术照精彩视频福利播放| 欧美激情亚洲另类| 国产欧美一区二区白浆黑人| 亚洲国产一区二区a毛片| 亚洲自拍高清| 日韩视频中文字幕| 久久黄色级2电影| 欧美日本网站| 黄色日韩网站视频| 国产精品99久久久久久宅男 | 亚洲美女啪啪| 久久福利精品| 欧美日韩在线视频一区二区| 一区精品在线| 亚洲在线一区二区| 亚洲美女av网站| 久久天堂成人| 国产精品毛片在线| 亚洲激情视频在线观看| 欧美伊人久久| 亚洲欧美视频一区二区三区| 欧美成人午夜激情在线| 国产视频在线一区二区| 一区二区冒白浆视频| 亚洲人成高清| 久久久国产精品一区二区三区| 欧美性猛交xxxx乱大交蜜桃| 亚洲国产美女| 亚洲国产精品毛片| 久久精品人人做人人综合| 欧美午夜宅男影院在线观看| 在线观看成人小视频| 午夜精品亚洲| 午夜精品久久久久久99热| 欧美日韩国语| 亚洲经典在线| 亚洲国产精品va在线看黑人动漫 | 日韩网站在线观看| 亚洲欧洲日产国产综合网| 久久精品一区二区三区四区| 国产精品尤物| 亚洲视频在线观看免费| 一区二区三区四区五区精品| 欧美国产日本高清在线| 亚洲第一黄色网| 亚洲大片免费看| 久久久精品国产99久久精品芒果| 国产精品一区二区久久国产| 亚洲一二三级电影| 亚洲女同在线| 欧美性片在线观看| 日韩午夜免费视频| 一区二区免费在线视频| 欧美日韩成人综合天天影院| 亚洲国语精品自产拍在线观看| 亚洲欧洲日韩综合二区| 欧美大片第1页| 亚洲区一区二区三区| 日韩视频在线一区二区三区| 欧美激情免费在线| 亚洲全黄一级网站| 一区二区黄色| 欧美日韩一区二区三区四区五区 | 亚洲一区二区动漫| 午夜精品视频在线观看一区二区 | 亚洲欧洲精品一区二区三区不卡 | 欧美一区二区三区四区高清| 国产农村妇女精品一区二区| 小处雏高清一区二区三区| 久久精品一区四区| 精品成人一区二区| 亚洲免费观看| 欧美日韩在线一区| 亚洲视频第一页| 欧美一区二区视频网站| 国产一区三区三区| 亚洲福利在线看| 欧美大片在线看| 日韩一区二区精品| 午夜精品久久久久久久蜜桃app| 国产婷婷一区二区| 久久精品一区二区三区不卡| 欧美成va人片在线观看| 亚洲精品永久免费| 亚洲尤物在线视频观看| 国产情侣久久| 亚洲国产乱码最新视频| 欧美激情aaaa| 亚洲午夜国产一区99re久久| 久久精品亚洲一区二区| 精品成人免费| 中文欧美日韩| 国产亚洲永久域名| 亚洲欧洲精品一区| 欧美午夜视频| 欧美一区二区三区在线播放| 免费视频亚洲| 艳妇臀荡乳欲伦亚洲一区| 欧美中文在线字幕| 亚洲国产精品ⅴa在线观看| 一本久久青青| 国产一区av在线| 亚洲毛片av在线| 国产精品视频网| 亚洲黄色影院| 国产精品久久久久久久一区探花| 羞羞视频在线观看欧美| 欧美国产激情二区三区| 亚洲综合三区| 欧美成人精品1314www| 这里只有精品在线播放| 久久亚裔精品欧美| 99在线精品视频在线观看| 久久av资源网站| 亚洲精品五月天| 久久九九全国免费精品观看| 亚洲日本中文字幕免费在线不卡| 欧美一区激情| 亚洲精品久久久久中文字幕欢迎你| 午夜精品久久久久久久99黑人| 亚洲第一狼人社区| 午夜久久资源| 午夜精品久久| 翔田千里一区二区| 在线电影院国产精品| 亚洲欧美日韩在线播放| 亚洲国产视频直播| 欧美在线日韩精品| 亚洲另类在线一区| 久久亚洲欧美国产精品乐播| 99riav国产精品| 嫩草影视亚洲| 午夜精品美女自拍福到在线 | 亚洲欧洲在线一区|