新闻中心

EEPW首页 > 光电显示 > 设计应用 > 基于ATmegal28的LED屏图像数据解码设计

基于ATmegal28的LED屏图像数据解码设计

作者:时间:2009-04-29来源:网络收藏

摘 要:针对目前对全彩显示屏的处理需依赖计算机的情况,提出利用单片机实现JPEG的方法,并利用此方法实现了通过GPRS网络对全彩显示屏的远程传输。针对的资源和性能特点,对JPEG进行了可行性分析。重点论述Huffman、IDCT解码和图像缩放的优化算法在单片机上的实现。由于图像的处理在单片机上实现,降低了产品的成本,具有较强地生产实用性。
关键词:ATmegal28;JPEG解码;Huffman解码;IDCT解码;全彩显示屏

本文引用地址:http://www.eepw.com.cn/article/169506.htm


随着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所示。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭