基于DSP的JPEG图像压缩的设计与实现

来源 :硅谷 | 被引量 : 0次 | 上传用户:yl198710310318
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]介绍一种用TI 公司的TMS320C6713高速DSP实现JPEG图像压缩,概述JPEG图像编码算法的基本原理以及在DSP上的实现过程,重点讨论图像编码中DCT变换的实现和优化。
  [关键词]DSP JPEG DCT变换
  中图分类号:TP3 文献标识码:B文章编号:1671-7597 (2008) 0110010-02
  
  一、引言
  
  JPEG算法是一种数字图像压缩编码算法,具有压缩比例高、失真小的特点,并已被确定为国际标准[1]。该标准被广泛应用于数码相机、监视系统、手机、可视电话等等诸多方面。它的应用与实现不仅限于PC机,更多的则是基于嵌入式系统。嵌入式系统有其体积小、成本低、可靠性高、速度快、环境适应性强等优点。嵌入式编码实现方式也比较多,有的采用专用集成芯片,有的基于FPGA,有的基于DSP,ARM。采用专用芯片的方式实现简单,技术成熟可靠,但灵活性以及可扩展性差。基于FPGA的方式,压缩算法纯硬件实现,并行处理速度高,可实现高速处理,但由于JPEG压缩算法比较复杂,开发难度大些,费时费力。基于通用DSP实现方式优点是:灵活性强,能满足特殊处理需求,具有很好的可扩展性、可升级性和易维护性。
  
  二、系统硬件设计
  
  考虑到系统的二次开发性本系统采用DSP开发方案,选用TMS320C6713芯片作为系统主处理器,该嵌入式系统能完成视频图像信号的采集、处理、压缩、编码、显示、存储等一系列功能。
  本图像处理系统由底板与子板两部分组成,底板主要由DSP处理器TMS320C6713、一片256K×16bit Flash,四片4M×16bitSDRAM、外部存储器接口EMIF(External Memory Interface)和其他通用外设接口如RS-232,音频接口等组成。子板是在底板的EMIF上扩展出来的,主要由视频解码A/D芯片、采集和显示时序控制芯片CPLD等。整个系统的结构原理如图1所示。
  (一)CCD摄像头用来采集模拟视频图像数据。
  (二)视频解码A/D芯片Philips SAA7113将模拟视频电视信号(本系统PAL制)数字化。输出为符合CCIR.601标准的数字视频码流。
  (三)FIFOAL422B作为A/D与C6713DSP之间的数据缓冲,使A/D的转换速度与DSP读取A/D数据的速度匹配。
  (四)TMS320C6713DSP为主处理器,实现对视频数据的压缩编码处理。在存储FIFO,存储SDRAM和压缩码流输出SDRAM采用DMA方式进行数据传输,可以提高数据传输的速率。
  (五)SDRAM作为DSP的片外扩展存储器,用于存储A/D的图像数据,中间过程的部分数据以及压缩后的图像数据。选用了4片ISSI公司的4M×16bit SDRAM芯片IS42S16400,构成了一个8M×32bit的外部存储器。映射到DSP的CE0存储空间。
  (六)Flash 采用芯片256K×16bit的AM29LV400B,用于DSP上电或复位后的程序加载。
  (七)CPLD采用Laitiice公司的LC4821V,作为视频A/D对FIFO进行写操作,DSP对FIFO进行读操作的时序控制。
  
  图像采集与存储关键问题与解决方法:
  本设计中解码CCD摄像头的模拟视频信号是采用专用的模拟视频信号解码器SAA71113, SAA71l13视频解码器是双通道模拟预处理电路、自动钳位和增益控制电路、时钟产生电路、数字多标准解码器、亮度/对比度/饱和度控制电路、彩色空间矩阵的组合,是一款功能完善的视频处理器。SAA711l3只需要单一的3.3V电源供电,与C6713的I/O电压一致。
  SAA7113A接收CVBS(复合视频)或S-video模拟视频输入,可以自动将PAL、SECAM、NTSC模式的彩色视频信号解码为CCIR-60l/656兼容的彩色数字分量值,器件功能通过I2C接口控制。图像采集过程可以全部在后台完成,基本上不需要CPU的干预,可以节约大量的CPU时间。但是这样设计有一个难点:由模拟视频信号解码得出的数字视频信号数据量非常大,而且由于是实时视频信号,所以数据输出速率也非常高;但是相反,DSP外部存储器接口的读出速率却比较慢。为了解决这个问题,本设计采取是高速FIFO,对数据进行暂存以缓解速度上的差异,即采用FIFO来暂存10行图像数据,视频解码器直接向FIF0中写入图像数据。当FIFO中写入了10行图像数据后,由CPLD向DSP发出中断INT4请求;同时,DSP接到中断请求后,启动DMA方式将10行图像数据从FIFO中读入到其外部RAM中存放。这样在采集的同时,DSP就可以读取已采集的10行数据,而不必等待一帧图像数据采集完成。这样提高DSP的处理效率。CPLD主要控制解码器向FIFO中写入数据以及DSP从FIFO中读出数据。
  系统可以采集到一帧图像的尺寸为320点/行*240行,从SA71113输出的是4:2:2的YcrCb数据格式,一个像素用2个字节表示,一个字节表示Y,另一个字节为Cb和Cr,那么总的数据量为320×240×2=150KB。对于亮度信号,每个像素Y占一个字节,一行共320个字节,用320个存储单元存储一行的Y数据,对于色度信号Cb,一行共320点,每两个像素共用一个色度信号Cb,占一个字节,共160个字节,用160个字节单元存放一行的数据,对于色度信号Cr,存储格式与Cb一样。这样一帧图像数据需要的缓冲区大小为:320×240+160×240×2=150KB。对此选用了8M×32bit的SDRAM,而且选取用了具有3Mbit缓冲的FIFO。
  
  三、JPEG压缩编码算法原理与实现
  
  如图2所示,JPEG压缩编码主要由预处理、DCT变换、量化、Huffman编码等流程构成。
  JPEG压缩编码时,需先将原始YcbCr空间的二维图像分成8×8的数据块,然后将各数据块按从左到右,从上到下的顺序分别进行DCT变换、量化、“之”字型(Zig-Zag)扫描和Huffman编码(量化和Huffman编码分别需要量化表和Huffman表的支持)。
  DCT优化的实现
  DCT变换的快慢决定了整个JPEG算法的速度。因此,采用了行列法来减少计算量。将8×8数据块的DCT转换为16次一维8点DCT变换,只要提高一维DCT的速度就可以提高二维DCT的速度。
  二维DCT正变换的公式如下(8×8):
  
  从上述表达式可以看出,Y0~Y7都是乘法累加运算,而S0~S7可由x0~x7经过蝶形运算得到,因此将DCT算法分成两级运算,即第一级蝶形运算,第二级乘法累加运算,减少了运算级数,这样利用DSP的专用指令乘累加运算大大优化了DCT算法。
  
  四、结束语
  
  本文以上述算法和流程为基础,设计以DSP的开发环境,实现JPEG的编码算法,并进行了优化。与基于ASIC的方法相比,具有通用性强、灵活高效的特点。图3为在dsp的CCS调试环境下,采用C和汇编混合编程,对采集的320*240*8位的灰度视频图像进行JPEG标准压缩后复原的图像,相应的压缩编码指标在表1中列出。
  从上面的结果可以看出,整个压缩系统基本上可以实现对视频图像压缩编码。对本算法进行适当修改,可以应用到数码相机,手机等多种嵌入式系统中。同时,该压缩系统可以通过PCI总线控制,将压缩后的码流通过JPEG文件的形式传输给PC机。另外,该压缩系统可以成为一个通用的视频图像采集压缩平台,在该平台上可以实现JPEG2000,H.263,MPEG-2等多种多媒体压缩标准。
  
  基金项目:湖南省教育厅2007-2009年科研项目项目编号:06D084
  
  参考文献:
  [1]G.K,Wallace.“THE JPEG Still Picture Compression Standard”.IEEETransaction On Consumer Electronics Vol.38,No.1, FeBruary 1992.
  [2]TMS320C6000 Chip Support Library API User's Guide. Texas Instruments, 2001[3]张益贞,刘滔.Visual C++实现MPEG/JPEG编解码技术[M].北京:人民邮电出版社,2002.
  [4]胡越黎,王俊,等.基于TMS320C6711的图像处理系统设计.电视技术,2005(6).
  [5]许彬,郑链.基于DSK的图像处理算法仿真系统.计算机工程.2005(10).
  [6]田金文,李景奇.基于TMS320C6414的视频采集处理硬件系统设计.2005(7).
  
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
[摘要]对高压断路器液压操作机构常见的几种故障原因进行分析,提出了相应故障处理的方法、步骤等。  [关键词]高压断路器 液压操作机构 原因 故障 处理  中图分类号:TM4文献标识码:A文章编号:1671-7597 (2008) 0110043-01    目前,滨海县供电公司滨海变电所110,35 kV开关操作机构以CY3液压操作机构为主。CY3液压机构体积小、功率大,但由于断路器运行时间较长,
期刊
[摘要]随着互联网应用的日益普及,电子邮件信息成为交流方式之一,随之而来的有安全性的考虑。通过探讨基于PGP(Pretty GoodPrivacy)的一种加密方法,以及其算法和加密过程,并进一步论述了其安全性。  [关键词]PGP 电子邮件系统 加密5  中图分类号:TN99文献标识码:A文章编号:1671-797 (2008) 0110014-01    随着互联网应用的普及和发展,电子邮件已成
期刊
[摘要]EIGRP和早期的IGRP协议都是由Cisco发明,是基于距离向量算法的动态路由协议。EIGRP(Enhanced Interior Gateway Routing Protocol)是增强版的IGRP协议。它属于动态内部网关路由协议,仍然使用矢量-距离算法。但它的实现比IGRP已经有很大改进,其收敛特性和操作效率比IGRP有显著的提高。EIGRP的收敛特性是基于DUAL ( Distri
期刊
[摘要]网络环境下竞争情报的获取已经成为企业提高自身竞争力的一个重要的途径与来源。Web挖掘作为一种有效的技术工具,也开始在竞争情报活动中逐渐得以推广与应用。本文主要就对web挖掘及其在竞争情报活动中的实现进行了简单介绍。  [关键词]web挖掘 竞争情报  中图分类号:TP3文献标识码:A文章编号:1671-7597 (2008) 0110046-01    一、竞争情报活动中web挖掘的必要性
期刊
近年来,随着各类奶粉事件的频频曝光,母乳喂养的益处更加凸显,越来越多的新妈妈加入母乳喂养的大军。但毕竟是第一次当妈,哺喂过程中遇到的麻烦真不少。她们向一些过来人妈妈或长辈求教,会得到不少老经验,像“没开奶前得让宝宝先喝糖水、夜间最好断奶让宝宝睡个整觉,妈妈病了就不能哺乳、宝宝长大了奶水就没有营养了……”这些口口相传的“老经验”,真的都对吗?  经验一:等妈妈奶水下来了再让宝宝吸。  说法: 宝宝刚
期刊
秋高气爽的十月是最好的结婚季,也是新人扎堆拍婚纱照的季节。穿婚纱的女人是最美丽的,为了将自己最美的一刻永远定格在相机里,你怎会允许身材有丝毫的瑕疵?就算婚纱照可以PS,婚礼当天你仍要面对来宾们挑剔的眼光,要成为众人眼中的完美新娘,身材可是重要的“加分项”哦!如何在婚前不多的准备时间里快速瘦身,又要保证婚礼当天状态满满,Bella来支招。  婚前减肥N原则  不少准新娘一直未进行有计划的瘦身,临近结
期刊
[摘要]一般意义上的SOAP是一种用XML封装信息的机制,因此它可以用来实现消息系统。从SOAP、WSDL、UDDI三个方面论述Web服务的核心技术。  [关键词]Web服务 SOAP WSDL UDDI  中图分类号:TP3文献标识码:A文章编号:1671-7597 (2008) 0110041-01    一、SOAP调用Web服务的工具    (一)SOAP的产生  单独使用HTTP的问题是
期刊
[摘要]《营养与食品卫生学》是预防医学中一门重要课程,本学科具有很强的科学性、社会性和应用性,在增进我国人民体质、预防疾病、提高健康水平等方面起着重要作用。而注重教学方法和教学模式的转变对学生全面系统地掌握本课程的知识和技能具有举足轻重的影响。结合新理念,笔者提出对营养与食品卫生学教学的几点思考,希望能够促进课程教学水平的提高。  [关键词]新课程 营养与食品卫生学 教学方法  中图分类号:G42
期刊
[摘要]由于网络运营者目前对于信息安全管理还缺乏相应的管理经验和人才队伍,所以一般采用信息安全咨询外包的方式来建立IP宽带网络的信息安全管理体系,信息安全管理的本质,可以看作是动态地对信息安全风险的管理,即要实现对信息和信息系统的风险进行有效管理和控制。  [关键词]信息安全 风险管理 城域网  中图分类号:TP3文献标识码:A文章编号:16717597 (2008) 0110051-01    
期刊
[摘要]在数学教学中运用CAI应当遵循“意义建构”、“必要性”、“实用性”、“启发创新的原则”,使CAI在课堂教学中改变传统的数学教学模式。  [关键词]建构主义 CAI 课件 整和 意义建构  中图分类号:G42文献标识码:A文章编号:1671-7597 (2008) 0110057-01    随着信息时代的到来和数学教学改革的深入,CAI(ComputerAidedInstruction即计
期刊