当前位置:首页 > 显示光电 > 显示光电
[导读]文章介绍了基于32位ARM7芯片LPC2292实现的软件JPEG解码算法及应用了此算法的手持JPEG图像显示器的设计。

摘要:文章介绍了基于32位ARM7芯片LPC2292实现的软件JPEG解码算法及应用了此算法的手持JPEG图像显示器的设计。文章从JPEG的编码原理入手,针对LPC2292的资源和性能特点,进行了可行性分析。重点论述了Huffman解码和IDCT解码的优化算法的实现,很大程度上提高了解码算法的效率,使得算法在ARM7芯片上的移植成为可能。
关键字:JPEG解码;Huffman解码;IDCT解码

1  概述

在数字图像处理过程中,JPEG编码是一种经常运用的压缩算法,目的是有效地压缩数字图像大小,便于存储和传输。其具有压缩比例高、失真小等特点。目前对应的JPEG解码方式有两种:硬件解码和软件解码。硬件解码是利用硬件解码芯片来完成对JPEG数据的解码;软件解码则是通过编写程序来完成对数据的还原。由于软件解码需要大量的浮点运算,目前较多的由PC及DSP来实现。

本文主要介绍了一种基于Philips公司的ARM芯片LPC2292来实现JPEG图像软件解码的方法及基于此算法实现的手持式JPEG图像显示器。

2  JPEG解码可行性分析

2.1 LPC2292的特点

LPC2292是一款基于32位ARM7TDMI-S,并支持实时仿真和跟踪的CPU,带有256 k字节(kB)嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码 规模降低超过30%,而性能的损失却很小。

2.2 存储器容量计算

JPEG解码涉及到大量的数据计算,因此需要大量的数据缓存器。手持JPEG显示器的缓存主要包括原始JPEG图像数据缓存、JPEG解码缓存以及RGB数据显示缓存等。原始JPEG图像数据缓存用于存放需要解码的JPEG图像数据,根据JPEG图像的复杂度及压缩比不同,一般一帧320×240的彩色JPEG图像的大小在2k~20k字节。JPEG解码缓存主要用于存放一些JPEG解码过程中的中间数据,主要包括MCU解码中Huffman解码的临时结果,IDCT解码的临时结果等。RGB数据显示缓存用来存放JPEG解码完后的RGB原始数据,用于LCD液晶显示,一帧320×240的彩色16位RGB图像,共需要320×240×16÷8=57600字节。

LPC2292内部带有16k的SRAM。如果采用整张图像缓存、解码完再显示的话,根据上面的分析,仅显示缓存区一项就不能满足需要。因此,设计采用一边读取数据、一边解码、一边显示的策略,来减少对存储器的需求。

3  具体实现

3.1硬件实现

JPEG图像显示器的硬件实现框图如下图所示:

图1  JPEG图像显示器硬件框图

系统以LPC2292为控制核心,采用CAN总线来从外界读取原始JPEG数据,彩色LCD显示模块则选用TFT6758彩色LCD液晶显示模块。LPC2292内部自带的CAN接口及32位宽度的数据总线,可以很方便的与CAN总线及LCD液晶显示模块实现连接。

3.2软件实现:

JPEG编码技术主要包括颜色转换、DCT变换、量化、熵编码及Huffman编码等部分,其数据格式在文献[1]中进行了详尽的阐述。

JPEG解码主要包括Huffman解码、反量化及IDCT变换、色彩变换等模块,其流程框图如下:

图2  JPEG图像解码软件流程框图

3.2.1 Hffman解码的实现:

Huffman解码主要通过反向查找Huffman表来实现。由于查找过程需要大量的移位及循环,效率很低。为了提高效率,软件事先构造了一张预查找表,该表的维数由宏定义HUFF_LOOKAHEAD来决定。位数低于HUFF_LOOKAHEAD的Huffman编码,解码结果都可以从该预查找表中直接读出,而对于位数大于HUFF_LOOKAHEAD的则再通过移位循环来遍历Huffman表实现解码。可以看出,预查找表维数越高,则整个Huffman解码所需的循环移位次数越少,解码效率越高,但同时,需要存放预查找表的空间也越高,其占用字节数为2的HUFF_LOOKAHEAD次方字节。

预查表分两部分,其构造思想如下:

假设某个亮度的DC 系数的Huffman编码表如下,HUFF_LOOKAHEAD的值为4:

表1  亮度DC Huffman编码表

则构造2张维数为24的表,一张中的数据为码长,另一张为真实值。

表中第一行码字00代表的是真实数据0,则构造的码长表中,序号为00XX2(其中X表示0或1,即00XX2为0-310)的数据全为2,真实值表中,序号为00XX2(0-310)的数据全为0;

表中第二行码字010代表的是真实数据1,同理码长表中,序号为010X2(4-510)的数据全为3,真实值表中,序号为010X2(4-510)的数据全为1;

依次类推,直到填满,序号为11112(1510)的码字在Huffman表中没有出现,则在2张预查表中,最后一个数据均为0,构造的预查表如下:

码长表

{2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 0 }

真实值表

{0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 0}

预查找解码时,收到一串2进制数据,我们先将前4个bit(HUFF_LOOKAHEAD = 4)的数据读入移位缓存,假设为01012(510),则我们在2张预查表中分别读取序号为5的数据(第6个数据),得到码长为3,真实值为1,因此解码得到第一个真实数据为1,丢弃缓存中前3个bit,从接收到的数据流中重新移入3个bit的数据,与之前的最后一位1组成一个新的4bit数据,进行下一次预查找解码。

3.2.2 反量化及IDCT变换的实现

在进行IDCT变换前,先要将数据进行反量化及重排列处理。将8×8块中的数据对应的乘上量化表中的系数,再将64个数据进行Z字型的重新排列,用于后面的IDCT变换。

IDCT可以用下面的计算公式来实现:

 

其中x,y=0...7   当u=v=0时,C(u)=C(v)=0.5,其他情况 C(u)=C(v)=1

由于ARM7芯片在数据处理方面性能远不及DSP,如果简单按照这个公式来计算IDCT变换,则会因为运算量太大而严重影响解码速度。因此,文献[2]中提到了IDCT变换的另一种实现算法。该算法的思想是将二维8×8数组的IDCT转换为行和列的2个一维数组的IDCT,进而再转换成一系列简单的加减法及与常数相乘的乘法运算,大大减小了运算量。

3.2.3 色彩转换的实现:

经过IDCT变换后,JPEG数据被解码成YCrCb信号。图像数据要在液晶显示器上显示,还需要进行最后一步变换,即将YCrCb信号转换成RGB信号,两者对应的转换公式如下:

R = Y + 1.402 ×(Cr-128)

G = Y - 0.34414×(Cb-128) - 0.71414×(Cr-128)

B = Y + 1.772 ×(Cb-128)

其中,R、G、B、Y、Cr、Cb都是0~255的无符号数据。

公式中有浮点数的乘法运算,为了提高性能,软件事先将1.402×(0~255)、0.34414×(0~255)、0.71414×(0~255)以及1.772×(0~255)的结果制成表格,计算时只要查表即可得到结果,免去了由于浮点运算而占用的大量处理时间。

4  结论

由于采用了Huffman预解码查找表,用简单的查表语句代替了Huffman解码过程中大量繁琐的循环和移位操作;优化的IDCT算法及色彩转换算法,减少了大量复杂的乘法运算;提高了解码的效率,大大压缩了解码所需的时间,使得原本复杂的解码算法在数据处理能力并不出色的ARM7芯片上得以很好的实现。

设计完成的手持JPEG图像显示器如图3所示,其已经在自行设计的电缆排管疏通监视机器人项目中取得了很好的效果,在320×240的液晶屏上显示的JPEG解码图像效果如图4所示:

图3  手持JPEG图像显示器

图4  JPEG显示器图像显示效果

本文作者创新点:将计算量庞大的JPEG解码算法成功地在数据处理性能并不出众的ARM7

系统上实现了移植,并由此设计完成了手持式彩色图像显示器

参考文献:

[1]邢赛鹏,平西建,詹杰勇.JPEG图像数据格式简明分析[J].微计算机信息,2005,12-3:166-168

[2]魏忠义,朱磊,基于DSP的JPEG图像解码算法的实现 [J],陕西 西安,2005年

[3]Information Technology Digital Compression And Coding Of Continuous-Tone Still Images Requirements And Guidelines   CCITT Recommendation T.81

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2024年5月13日 /美通社/ -- 5月8日,浦东新区国资委组织陆家嘴集团等9家区属企业与立邦中国召开合作交流会,旨在贯彻落实浦东新区区委、区政府工作要求,进一步放大进博会溢出带动效应,持续扩大区属企业与进博会重...

关键字: BSP 数字化 自动化立体仓库 智慧园区

上海2024年5月13日 /美通社/ -- 在数字化时代,高效的税务管理和ERP系统成为企业发展的关键。为了满足这一需求商应信息科技与Exact Software 易科软件就金四全电票税系统与ERP系统集成及商务合作建立...

关键字: AC 软件 BSP 数字化

北京2024年5月13日 /美通社/ -- 5月11日,鲲鹏昇腾开发者大会2024期间,华为举办"昇思AI框架及大模型技术论坛",软通动力数字基础设施与集成事业部总经理谢睿受邀出席、软通动力...

关键字: AI 模型 BSP 精度

2023/24 财年收入降至 15.50 亿欧元(上一年同期:17.91 亿欧元) 调整后息税折旧摊销前利润率为 24.8% 居林和莱奥本的半导体封装载板生产将于 2024/25 财年末开始 2024/...

关键字: BSP 半导体封装 印制电路板 汽车

上海2024年5月14日 /美通社/ -- 固特异 SightLine 智能轮胎技术解决方案荣获中国电子行业主流媒体《中国电子报》颁发的 2024 汽车芯片优秀产品奖。本次获奖是对固特异研发成果的高度认可。固特异致力于引...

关键字: 汽车芯片 轮胎 BSP SI

May 14, 2024 ---- TrendForce集邦咨询研究最新显示,OLED桌上型显示器(Monitor)2024年第一季出货总量约为20万台,年成长率121%。第二季在品牌新机陆续上市后,当季成长幅度预估将达...

关键字: OLED 显示器

慕尼黑2024年5月9日 /美通社/ -- TÜV南德意志集团(以下简称"TÜV南德")持续保障安全、可靠及可持续发展。作为全球化的服务提供商,TÜV南德2023年全年营收达约31亿欧元,首次突破30亿欧元大关,同比增长...

关键字: BSP 可持续发展 数字化 人工智能

2024年5月10日 – 专注于引入新品的全球半导体和电子元器件授权代理商贸泽电子 (Mouser Electronics) 上线全新的恶劣环境资源中心,为工程师提供值得信赖的技术资源。贸泽最新上线的这个技术资源有助于工...

关键字: 传感器 自动化 显示器

May 8, 2024 ---- 苹果5月新品发布会推出主打AMOLED屏幕的平板产品,新款Pro版本的AMOLED屏幕采用双层串联结构,目的在于改善AMOLED屏幕长期存在的烧屏及寿命问题,而无需背光模组的优势也迎来史...

关键字: Apple iPad Pro 显示器

凭借深度学习技术和SmartBid产品,百度国际MediaGo获得美国商业奖认可 旧金山2024年5月6日 /美通社/ -- 第22届美国商业奖(American Business Award®)近日发布获奖名...

关键字: MEDIA GO SMART BSP
关闭
关闭