基于fpga的mjpeg图像压缩算法的设计与实现

基于fpga的mjpeg图像压缩算法的设计与实现

ID:21895797

大小:52.50 KB

页数:5页

时间:2018-10-25

基于fpga的mjpeg图像压缩算法的设计与实现_第1页
基于fpga的mjpeg图像压缩算法的设计与实现_第2页
基于fpga的mjpeg图像压缩算法的设计与实现_第3页
基于fpga的mjpeg图像压缩算法的设计与实现_第4页
基于fpga的mjpeg图像压缩算法的设计与实现_第5页
资源描述:

《基于fpga的mjpeg图像压缩算法的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于FPGA的MJPEG图像压缩算法的设计与实现:在视频传输系统中,最大障碍是视频数据的大数据量。故压缩就显得尤为必要。MJPEG是以25帧每秒传输的JPEG图像。本文根据JPEG基本压缩模式,通过前端图像采集芯片输出标准的4:2:2格式的图像流,在XILINX公司的SPARTANIIE芯片下压缩,获得良好效果,压缩比达到10:1。  关键字:图像压缩;视频传输;JPEG    1绪论  MJPEG是指MotionJPEG,即动态JPEG,按照25帧/秒速度使用JPEG算法压缩视频信号,完成动态视频

2、的压缩。其图像格式是对每一帧进行压缩,通常可达到6:1的压缩率。MJPEG图像流的单元就是一帧一帧的JPEG画片,因为每帧都可独立地任意存取,所以MJPEG常被用于视频编辑系统和视频监控系统。  本文研究基于XILINX的FPGA芯片XC2S300E,结合前端解码芯片SAA7111和存储器HY57V641620完成对摄像头采来的图像进行动态JPEG压缩编码,在开发平台ISE6.2中完成系统的控制,软核的综合,布局布线,芯片影射及仿真。  2系统的硬件总体结构  2.1系统总体功能说明  本系统硬件由

3、摄像头,SAA7111视频输入处理器,FPGA,单片机及SDRAM构成。系统上电后,单片机通过IIC总线配置解码芯片SAA7111,使解码芯片输出CCIR601标准的图像流,该标准的每幅图像具有有效像素720*625,即每行有720个有效像素,共625有效行,分奇数行和偶数行进行传输。FPGA(XC2S300E)先将图像存储在SDRAM中,SDRAM采用HY57V641620,该芯片分四块,每块具有1M单元*16bit的容量。  2.2硬件平台的控制  2.2.1对SAA7111的初始配置  SAA

4、7111是Philips半导体公司生产的一种视频输入处理器(VIP),在视频采集系统中,通常需要诸如SAA7111之类的视频解码器作为模拟视频前端,而视频解码器的初始化主要通过IIC总线接口来完成。本文提出了用虚拟总线技术来模拟实现IIC总线功能,利用单片机的普通I/O口模拟IIC总线接口设计,从而实现单片机对SAA7111的初始化与控制的新方法。  2.2.2控制SDRAM的读写  在基于FPGA的图象采集显示系统中,常常需要用到大容量、高速度的存储器。本设计采用HY57V641620,分为控制,

5、地址,数据三类信号。控制信号主要有:CS(片选信号),CKE(时钟使能信号),DQM(输入、输出使能信号),CAS、RAS、控制。  3MJPEG图像压缩的各模块设计  3.1DCT变换的描述  二维DCT变换是先经过一维列DCT变换后经过一维行DCT变换,在进行了一维列DCT变换后,再进行一维行变换,就涉及到了数据的重新抽样,如一维列变换后,再进行一组DCT行变换的数据顺序是1,9,17,25,33,41,49,57;这样就涉及到了多过去或是对未来数据的直接调用,为了避免这个在流水线上很难解决的问

6、题,采用乒乓操作,采用两块由FPGA芯片自带的嵌入的BRAM,当一块进行存储的时候,另一块就进行读取,进行行DCT变换。当存储完或读取完(二者所需时间一致)后再交换总线,即就将8*8块中所有的像素值进行一维DCT列变换后存储起来,等所有数据都存储完成后再进行抽样,进行一维DCT行变换,为了便于流水线操作,如此就保证了流水线操作。  3.2量化及Z排序的描述  整个系统功能块都在DCT变换后准备好信号Q_rdy_in的使能下进行,在Q_rdy_in使能情况下,64计数器在时钟的作用下计数,计数值输出作

7、为ROM的地址,其中ROM就是上述中提到的存有变换后系数的BRAM块,根据地址,ROM输出对应的系数值。其中亮色标志是用来标注是采用亮度量化存储器还是色度量化存储器。输入的像素取其绝对值,同系数进行相乘,乘后再除以256,赋上符号,就得出最终的量化输出结果。  3.3游程编码  整个功能过程采用一个64位计数器作为基准进行控制。当64计数器为0时,输出直流DC,因为DC差分过程在前一模块已经完成,所以这里只需直接输出即可。当64计数器为63的时候,就对输入的AC系数进行判断,若AC为0,则直接输出0

8、,用来表示EOB,即块结束标志。当64计数器不为0的时候,若AC系数为0,则零游程计数器加1,不输出。若AC系数不为0,则输出零游程计数器中的值,并输出AC系数。同时使零游程计数器清零。  3.4huffman编码  对于DC系数,查表得出表示尾码位数的huffman码字后,再将其与表示DC的二进制码相连,即得出差分DC的huffman编码,同时将DC的huffman码字的码长进行记录AC的huffman编码较复杂一些,取出AC的用于表示AC尾码的有效位数SSSS后,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。