视频压缩ipcore的设计

视频压缩ipcore的设计

ID:27016472

大小:55.50 KB

页数:6页

时间:2018-11-30

视频压缩ipcore的设计_第1页
视频压缩ipcore的设计_第2页
视频压缩ipcore的设计_第3页
视频压缩ipcore的设计_第4页
视频压缩ipcore的设计_第5页
资源描述:

《视频压缩ipcore的设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、视频压缩IPcore的设计ok3ationaltelemunicationunion)的h.263/h.261等。这些标准主要采用了基于dct(离散余弦变换)编码、运动补偿等技术,使视频流能以nx64kbps(n=1~32)的速率传输。多媒体压缩标准主要包括:mpeg-1、mpeg-2、mpeg-4等,由ccitt和iso的动态图像专家组(motionpictureexpertsgroup)制定。mpeg-1主要应用在以cd-rom为介质的视频上,比特率为1.5mbps。mpeg-2应用在ntsc/pal和ccir601中,比

2、特率为2~10mbps。mpeg—1和mpeg—2的目的都是有效传输和存储音视频。而mpeg-4是为了提供更有效的视频压缩,基于内容提供广泛的接人方式。它既可以在5-64kbps的移动电话和公共交换网中应用,也可以在4mbps带宽的电视中应用。jpeg(jointphotographicexpertsgroup)标准是一个适用范围广泛的通用标准,由联合图像专家小组制定。它不仅适用于静止图像的压缩,也适用于电视图像序列的帧内图像的压缩[1]。近年来,随着fpga技术的日益成熟,愈来愈多的曾使用软件或dsp实现的复杂数字算法开始使

3、用ppca完成。这当然是由于fpga的特殊结构和特性,使它可以更加高速和高效地完成这些算法。ipcore技术可以把这些fpga中的算法设计封装成包(模块)。这些包具有智力产权,可以被继承、共享或购买。1视频压缩原理和算法实现视频压缩技术主要利用图像信号的相关、冗余等特性,通过一些变换算法,保留对人眼视觉最重要的部分,进行编码传输。大部分视频压缩利用2d-dct(二维离散余弦变换)和2d-idct(二维反离散余弦变换)变换得到图像的频谱,高精度保留对人眼重要的高频部分,低精度保留低频部分从而对视频流进行压缩[1]。其过程如图1所

4、示。1.1dct变换算法2d-dct变换是视频压缩中的常用变换[2]。在压缩过程中,将一幅图像分成许多8x8的小块进行变换。8x8的2d-dct变换如公式(1)所示:如果直接使用公式(1)进行2d-dct变换,运算量将会十分巨大,普通fpga很难有效完成整个视频压缩运算。所以需要先把2d-dct运算进行一些变换,简化计算,减少运算量。2d-dct具有正交可分解性闷,可以通过对输入的矩阵先做一维行变换,再做一维列变换实现。即将8x8数据先按行方向进行累加运算,产生中间矩阵,再对中间矩阵按列方向进行累加运算,最后得到变换结果。2d

5、-dct可以分解成两个1d-dct运算,见公式(2)。将公式(2)展开成矩阵形式,得到公式(3)。计算一个这样的单元需要64个乘法器和56个加法器,运算量还是很大。利用公式(3)的对称性进行变换,可以得到公式(4),使乘法器减少到32个,加法器减少到8个。一个由公式(4)推演出的分布式乘法器如图2所示。4个乘数(x0…x3)同时与各自的系数(c0…c3)相与,然后相加得到一个和数,这个和数与除2器出来的数相加,得到一个新的累计数。这个新的累加数如果是最后的结果,则输出;如果不是,送入除2器,进行下一步累加。这样,分布式乘法器就

6、可以完成系数yj的运算。由于dct运算中的系数cm是常数,对于拥有ram单元的fpga,上述运算也可以使用查rom表的方法实现。将图2中的虚线内部分,改换rom单元,如图3所示。这时,(x0…x3)作为rom表的地址位,通过查表的方式输出和数,进行累加运算。rom表的地址位宽度为4,存储单元数量d模块实现rom表。例如altera公司的megafunctionlibrary中的l[1][2][3]下一页ok3_rom可以用以下的语句调用(veriloghdl)[4]。用vc或matlab生成一个.mif的rom表文件。lpm_

7、romu1(.address(adr),.inclock(clk),.q(dat));defparalnlpm_rom_ponent.lpm__rom_ponent.lpm__rom_ponent.1pm_address_control="registered",lpm_rom_ponent.ipm_outdata="unregistered",lpm_rom_ponent.1pm_file="romtable.mif";这样,可以得到由这些基本单元构成与矩阵公式(4)相对的1d-dct的fpga设计,如图4所示。其中4rc单

8、元表示图3的结构。如前所述,2d-dct需要两个1d-dct共同完成,但是两个1d-dct运算的中间变量并不是直接传递的,而需要一个矩阵转置模块进行耦合。1.2转置ram2d-dct单元由两个相同的1d-dct和转置ram等组成,如图5所示。根据公式(2),可以知道1d-dc

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

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

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