基于FPGA四通道视频缩放引擎的研究及其设计.docVIP

基于FPGA四通道视频缩放引擎的研究及其设计.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA的四通道视频缩放引擎的研究及设计 数字视频缩小和放大(简称缩放)是视频处理的一个重要分支,是基于对数字视频每帧图像的处理来实现的。常见的缩放算法有最近邻域法、双线性插值法、抛物线插值法、双三次插值法和牛顿插值法等基于多项式的插值算法[1],较容易在FPGA硬件上实现;也有B样条插值法、基于小波插值和有理插值等比较复杂的算法,难以在FPGA上实现。 ? ? 近年来随着液晶平板显示器件的广泛应用,对于定标器的研究越来越多且研究成果也很丰富。但定标器的缩放比例有限,一般在0.5~4之间,在这个范围内采用2阶或3阶多点插值算法,图像的边缘和细节可以较好保存。但是采用定点插值法,当文字缩小比例较大时,会丢失较多的细节,出现字体笔画断裂或者锯齿现象。而采用低阶算法(例如多点均值插值),参与运算的点较多,可以有效提高文字的显示质量。 1 系统架构 ? ? 系统架构如图1所示,先对输入视频的分辨率进行检测,将检测值送至MCU,MCU用其确定缩放步长;然后对视频进行缩小操作。如果要对信号进行放大,则绕过该模式;接着将视频数据送至IFIFO缓存,由仲裁器和DDR2控制器实现4个通道数据的帧率变换后,视频数据送至OFIFO模块;接着数据被送至放大模块,完成放大操作。如果要对视频信号进行缩小,则绕过该模式;最后将完成处理的RGB视频信号输出。整个缩放过程所需要的缩放步长、通道选择等配置信号全部由MCU通过本地总线配置FPGA。 ? ? 其中,f(x,y)为缩小图像某点的像素值,f(xi,yi)为图像子块中各点的像素值。 ? ? 实现结果如图5所示,较好地保证了文字的正常显示。 4 帧率变换 4.1 输入缓存 IFIFO ? ? 每一路IFIFO都需要在FIFO中数据量大于1/2 FIFO深度时向仲裁模块发送占用DDR2总线的请求信号REQ,应答信号AGREE有效时,向DDR2控制器发送数据。当完成一定量的读出数据时,往仲裁模块发送一个发送结束信号END,仲裁模块接收到END信号后将DDR2总线控制权收回,IFIFO等待下一次应答。 4.2 输出缓存OFIFO ? ? 其实现原理与IFIFO类似,只是该模块的输入端工作在DDR2工作时钟域,输出模块工作在帧率变换后的视频图像的像素时钟域。 4.3 仲裁 ? ? 共有4路输入和4路输出占用DDR2带宽,需要划分时间片来保证各个通道能够顺畅地显示,优先级依次为第1、2、3、4通道读,第1、2、3、4通道写。本模块采用状态机控制,状态机在上述8个状态中循环跳转,然后跳回IDEL状态,开始下一轮循环。 ? ? 仲裁模块的另一个任务就是读写DDR2地址的生成。将DDR2的存储空间划分为4个部分,每个部分存储一路视频信号,每路视频信号存储3帧。同时读DDR2时,命令设置为读操作;写DDR2时,命令设置为写操作。 ? TOP ? 发送短消息 查看公共资料 查找该会员全部帖子 UID:11 精华: 0 威望:40 金钱:209.6 元 来自: 注册: 2011-08-01 状态: 离线 ? ? 最近邻域插值法存在很强的波瓣,频率响应较差。当图像中包含像素值有变化的细微结构时,最近邻插值会在图像中产生人为的痕迹,造成图像模糊或产生人为噪声点。 ? ? 线性插值法频谱的旁瓣远小于主瓣,带阻特性较好。但通带内高频成分衰减过快,会使得插值后的图像变模糊。 ? ? 四点立方插值通带内高频成分衰减明显变慢,且旁瓣不超过1%,具有较好的高频响应特性,缩放后的图像能够保持更多细节。 ? ? 六点立方插值算法的频率响应特性更加优越,通带内高频成分衰减更慢且旁瓣更低。 ? ? 四点立方插值较好地保持了图像的细节,实现难度和占用逻辑资源适中。六点立方插值虽然实现效果更好,但是占用的逻辑资源较多。故本设计采用四点立方插值算法实现视频的放大操作。 5.2 插值基函数 ? ? 图像插值缩放具有二维可分解的特点,可以将二维图像的插值分解为分别沿x和y方向的一维信号插值[3]。一维方向上,利用插值点的四个临近像素点进行三次插值, Keys将sinc离散函数进行泰勒级数展开后,使三次分段多项式和原始信号的泰勒级数展开式尽可能多项吻合,以此推导出插值基函数表达式[4]。 ? 5.3.1 抽头系数的产生 ? ? 将插值的系数存在ROM中,这样虽然使用三次方插值,但是不用在FPGA中实现三次方的运算,提高了运算速度。例如原图像一行有3个像素,要求插值后的图像一行有8个像素,则新图像一行的第5个点在原图像中映射的坐标为[(5-1)×2/7]+1=15/7=2+1/7≈ ′b0010.1001,整数2为其原图像中左边临近的像素点坐标为2,1/7表示其与坐标为2的原图像像素的距离为1/7。此时将小数部分1001作为

文档评论(0)

nnh91 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档