视频图像缩放器设计和实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
视频图像缩放器设计和实现

视频图像缩放器设计和实现   摘要摘要:采用双线性插值和最近邻域插值两种算法,设计了一种实用的视频图像缩放器。该缩放器以较短延迟的方式改变视频流大小,在需要配置的参数中,数据宽度、颜色通道以及最大视频分辨率可在编译前配置好,输入输出分辨率、缩放因子以及大小改变类型等参数可实时配置。   关键词关键词:图像插值;视频缩放;Verilog HDL   DOIDOI:10.11907/rjdk.171017   中图分类号:TP319   文献标识码:A文章编号文章编号2017)005009303   0引言   随着科技的进步,显示设备得到快速发展,特别是移动手持终端设备使得多媒体资源越来越丰富,格式多种多样。但各种显示设备支持的分辨率、帧率、刷新率等参数动态范围较小,基本为固定的几种模式,如电脑显示器的刷新频率一般为75Hz,而常见的消费类视频源信号刷新频率一般为25或29.97帧/秒, DVD和DTV源素材可能仅仅是24帧/秒[1]。为了有效解决视频图像数据和显示设备之间这一矛盾,必须进行视频的后期处理,即运用现代数字信号处理技术,在数字域内对视频信号进行各种数学运算。视频信号在不同的显示终端显示时需要进行缩放处理,而缩放质量的好坏会直接影响到视频播放质量。   1图像插值   实际操作中主要使用图像插值来完成数字图像缩放,因此图像质量和失真情况很大程度上依赖于插值算法的好坏。数字图像的插值处理一般要满足两个条件:①图像在插值像素点的值在二维空间是一个连续曲面;②在源图像的采样点,由插值计算得出的运算结果与源图像的值相等[2]。本设计主要采用双线性插值法和最邻近插值法。   1.1双线性插值法   双线性插值法又称为一阶插值法,通过空间几何变换分析,找出与目标像素最邻近的4个源图像像素点,利用对这4个点的像素值进行加权运算得出目标像素值,每个邻近点的权值与插值点距该邻近点的距离成反比[3]。假定一个目标像素点通过反向变换得到的插值点浮点坐标为(i+Δu,j+Δv),其中i、j为非负整数,Δu、Δv为区间[0,1]内的浮点数,源图像中坐标为(i,j),(i+1,j),(i,j+1),(i+1,j+1)所对应的最邻近4个像素值即可决定目标像素点的值。   f(i+Δu,j+Δv)=(1-Δu)(1-Δv)f(i,j)+Δu(1-Δv)f(i+1,j)+(1-Δu)Δvf(i,j+1)+ΔuΔvf(i+1,j+1)(1)   如果目标像素点经过空间变换正好处在4个源像素点的正中间,那么它的值就是源图像与之相邻近的4个像素值的平均[4]。   1.2最近邻域插值法   最近邻域插值法又称为零阶插值法,此方法计算灰度及色度插值最简单,只需考虑距离目标像素点最近的一个源图像像素,直接采用离插值位置最近的源像素值进行插值[5]。通过空间几何变换得到插值点的浮点坐标,该插值点像素值即等于它最邻近源像素点的值。使用最近邻域插值法等价于源图像像素与矩形函数在空间域进行卷积运算[6]。   2视频缩放器IP核架构   本视频缩放器系统框图如图1所示,主要由RAMFIFO、RAM填充控制、读控制以及数据合成控制等模块组成。   其中,RAM FIFO(RFIFO)是数据缓冲模块,也是各种控制操作的核心。除了数据的输入输出是连接到块RAM以外,RAM的操作主要利用FIFO结构完成。RAM需要提供单写双读端口控制,每个读端口同时读数据。若选择双线性插值算法,伴随着串行的视频行写RAM操作,需要为双线性插值准备4个输出值。RAM填充逻辑模块负责根据系统配置来决定哪些输入数据需要推入到RFIFO中,哪些输入数据需要丢弃[7]。所有被输出部分使用的行数据写到FIFO中,而未被输出部分使用的行则丢弃。读控制模块为RFIFO的RAM端口提供地址驱动和读使能,并推动RFIFO的读端口输出新的视频行, RFIFO读出4个像素插值的混合值。数据合成控制模块取混合值X Blend与Y Blend并产生4个系数,将系数与从RFIFO中读到的4个像素值相乘之后求和,得到输出数据。而在最近邻域算法模式中,只有一个值为1.0的系数,其余的值为0.0,以上产生的值都基于混合值X Blend与Y Blend。   3视频缩放器工作流程   视频缩放器采用Verilog HDL语言实现,在每个视频帧开始时,起始信号start由用户逻辑来声明,最小为一个时钟周期,这将在上一帧之后复位缩放器模块。接着缩放器可以在数据输入端口读取视频流数据。一旦读取了足够的数据就可以出现在输出端口。输入数据以标准的光栅扫描方式从左上角像素开始向右下角像素扫描读取数据,有效的视频数据能通过缩放器。   控制信号指定哪些输入数据是有效的。   控

文档评论(0)

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

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

1亿VIP精品文档

相关文档