首 页 用户登录 | ![]() |
|||
|
|||
按字母检索 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
按声母检索 | A | B | C | D | E | F | G | H | J | K | L | M | N | O | P | Q | R | S | T | W | X | Y | Z | 数字 | 符号 |
|
![]() |
您的位置: 5VAR论文频道 → 论文中心 → 理工论文 → 电子通信 |
|
|||||
视频压缩IPcore设计 | |||||
收集整理:佚名 来源:本站整理 时间:2009-01-10 22:38:53 点击数:[] ![]() |
|||||
[本篇论文由上帝论文网为您收集整理,上帝论文网http://paper.5var.com将为您整理更多优秀的免费论文,谢谢您的支持] 关键词:视频压缩 IPcore FPCA 现行的视频压缩标准有多种,但基本属于以下两大类:视频会议标准和多媒体标准。视频会议标准包括ITU(Intemational Telecommunication Union)的H.263/H.261等。这些标准主要采用了基于DCT(离散余弦变换)编码、运动补偿等技术,使视频流能以Nx64kbps(N=1~32)的速率传输。 多媒体压缩标准主要包括:MPEG-1、MPEG-2、MPEG-4等,由CCITT和ISO的动态图像专家组(MotionPicture Experts Group)制定。MPEG-1主要应用在以CD-ROM为介质的视频上,比特率为1.5Mbps。MPEG-2应用在NTSC/PAL和CCIR601中, 比特率为2~10Mbps。MPEG—1和MPEG—2的目的都是有效传输和存储音视频。而MPEG-4是为了提供更有效的视频压缩,基于内容提供广泛的接人方式。它既可以在5-64kbps的移动电话和公共交换网中应用,也可以在4Mbps带宽的电视中应用。 近年来,随着FPGA技术的日益成熟,愈来愈多的曾使用软件或DSP实现的复杂数字算法开始使用PPCA完成。这当然是由于FPGA的特殊结构和特性,使它可以更加高速和高效地完成这些算法。IPcore技术可以把这些FPGA中的算法设计封装成包(模块)。这些包具有智力产权,可以被继承、共享或购买。 1 视频压缩原理和算法实现 视频压缩技术主要利用图像信号的相关、冗余等特性,通过一些变换算法,保留对人眼视觉最重要的部分,进行编码传输。大部分视频压缩利用2D-DCT(二维离散余弦变换)和2D-IDCT(二维反离散余弦变换)变换得到图像的频谱,高精度保留对人眼重要的高频部分,低精度保留低频部分从而对视频流进行压缩[1]。其过程如图1所示。 2D-DCT变换是视频压缩中的常用变换[2]。在压缩过程中,将一幅图像分成许多8x8的小块进行变换。 8x8的2D-DCT变换如公式(1)所示: 如果直接使用公式(1)进行2D-DCT变换,运算量将会十分巨大,普通FPGA很难有效完成整个视频压缩运算。所以需要先把2D-DCT运算进行一些变换,简化计算,减少运算量。
将公式(2)展开成矩阵形式,得到公式(3)。计算一个这样的单元需要64个乘法器和56个加法器,运算量还是很大。利用公式(3)的对称性进行变换,可以得到公式(4),使乘法器减少到32个,加法器减少到8个。 一个由公式(4)推演出的分布式乘法器如图2所示。4个乘数(x0…x3)同时与各自的系数(c0…c3)相与,然后相加得到一个和数,这个和数与除2器出来的数相加,得到一个新的累计数。这个新的累加数如果是最后的结果,则输出;如果不是,送入除2器,进行下一步累加。这样,分布式乘法器就可以完成系数yj的运算。 由于DCT运算中的系数Cm是常数,对于拥有RAM单元的FPGA,上述运算也可以使用查ROM表的方法实现。将图2中的虚线内部分,改换ROM单元,如图3所示。这时,(x0…x3)作为ROM表的地址位,通过查表的方式输出和数,进行累加运算。ROM表的地址位宽度为4,存储单元数量DW=24=16。一些生产商提供的综合软件带有IP库,可以调用这些IP库中的ROM模块实现ROM表。例如ALTERA公司的Megafunction Library中的LPM_ROM可以用以下的语句调用(VerilogHDL)[4]。用VC或MATLAB生成一个.mif的ROM表文件。 LPM_ROM U1( .address(adr), .inclock(clk), .q(dat)); defparaln lpm_rom_component.lpm_width=16, lpm_rom_component.lpm_widthad=4, lpm_rom_component.1pm_address_control ="REGISTERED", lpm_rom_component.ipm_outdata ="UNREGISTERED", lpm_rom_component.1pm_file="romtable.mif"; 这样,可以得到由这些基本单元构成与矩阵公式(4)相对的1D-DCT的FPGA设计,如图4所示。其中4RC单元表示图3的结构。 1.2 转置RAM 2D-DCT单元由两个相同的1D-DCT和转置RAM等组成,如图5所示。根据公式(2),可以知道1D-DCT先对8x8单元的行进行累加操作,把得到的结果暂存到RAM中,直到8行都运算完成。RAM中的临时8x8矩阵要先转置,把列数据变成行数据,经并串转换后输入到第2个1D-DCT进行行累加。 转置RAM是一个8x8的RAM阵列。当数据完成1D-DCT变换后,即由xij到zjl变换,按行顺序输入到转置RAM,在读出时按列顺序读出,这样完成zil到zli的变换;然后将z9并串转换,输入到第二个1D-DCT,由zli运算得到ylk。这样就完成了公式(1)的2D-DCT整个变换,如图6所示。 1.3 2D-IDCT 2D-IDCT变换如公式(5)所示。 Tags: |
提供人:佚名 | |
【返回上一页】【打 印】【关闭窗口】 |
![]() |
5VAR论文频道 |
![]() |
5VAR论文频道 |
![]() |
关于本站 -
网站帮助 -
广告合作 -
下载声明 -
网站地图
Copyright © 2006-2033 5Var.Com. All Rights Reserved . |