FPGA实现的视频图像缩放显示.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文档。上传文档
查看更多
FPGA实现的视频图像缩放显示

集成电路测试与可靠性设计 结课论文 姓名: 班级: 学号 FPGA实现的视频图像缩放显示 摘 要:对几种常用的图像缩放算法进行了比较,在权衡了算法复杂度、缩放效果和FPGA逻辑资源等3大因素后,选择了双线性插值算法来实现图像缩放。重点介绍了双线性插值算法和该方法的FPGA硬件实现方法,包括图像数据缓冲单元、插值系数生成单元以及插值计算单元等。应用结果表明,双线性插值算法及其硬件实现模块达到了预期的效果。 关键词:图像缩放 FPGA 双线性插值 1、引言 图像是人类感知世界的视觉基础,是人类获取信息、表达信息的重要手段。现在研究较多的是数字图像,它是由连续函数或离散函数生成的抽象图像,能直接被计算机处理。图像缩放是数字图像处理的重要一环,在实际应用中经常要将图像进行放大或缩小。例如,等离子电视、液晶电视和发光二极管(LED)显示屏等显示器需将接收到的图像分辨率进行缩放, 使之与显示器的物理分辨率一致,才能在显示器上完整地显示视频图像。目前,市场上有数字视频后处理芯片这些芯片大都是从欧美、日、韩等地的公司进口的,国内最早进行视频处理芯片研究的是西安交通大学,但这些芯片主要应用于高复杂度的系统,应用在低复杂度的系统则显得不合适,比如应用在需要单纯进行图像缩放的场合,则显得浪费,还可能带来不必要的麻烦。本文要实现的图像缩放是视频图像的实时缩放,而不是仅实现某个缩放比例的图像缩放,适合于低复杂度的系统,成本较低。 2、算法原理 2.1 算法选择 图像缩放算法种类较多,几乎都是通过插值算法实现的,传统的插值算法有: 最近邻插值、双线性插值和立方卷积插值等。最简单的插值方法是最近邻插值,与其他两种插值算法相比,最近邻插值具有简单快速的特点,但是对于近邻像素点的灰度值有较大改变, 细微结构是粗糙的。双线性插值方法具有低通滤波器性质,使高频信息受损,图像轮廓模糊, 但边缘处的过渡比较自然。与最近邻插值相比,它的计算量较大,但缩放后的图像质量高, 不会出现像素值不连续的情况,在对图像边缘质量要求不是非常高的情况下,这种方法是完全可以接受的。立方卷积法计算量要比双线性插值大很多,但精度高,能保持较好的图像边缘细节。实际应用中,因为FPGA内的逻辑资源有限,而算法越复杂占用的逻辑资源就越多,对FPGA完成图像的实时缩放有重要影响,所以实际应用中应选择合适的算法,并非精度越高越好。综上所述,本文选用双线性插值算法来实现图像缩放。 2.2 双线性插值算法 在双线性插值中,新创建的图像的像素值是由原图像位置在它附近的(2×2)个邻近像素的值通过加权平均计算得出的,然后由新图像的某个像素()处,对取整得到并得到、和的值,利用双线性插值得到像素点的值并写回新图像。图1 为双线性插值的原理图。 图1 双线性插值原理图 设原始图像中相邻两列的4个像素点为p、p、p、p,水平和垂直两个方向点距为单位长度。4点坐标分别为、、、目标像素点的坐标为,、分别是目标像素点与原始图像中邻近点的水平和垂直坐标方向上的两个增量。那么,采用双线性插值法得到目标插值像素点A的灰度值为: A 考虑以FPGA来实现插值运算时,共需要8个乘法器、2个减法器和4个加法器,占用了较多的逻辑资源,所以将它改写为: 3、算法的FPGA实现 FPGA选用ALTERA公司型号为EP1C6Q240I7的工业级FPGA。整个算法主要由图像数据缓冲模块、系数生成和逻辑控制模块、双线性插值计算模块等3大模块来实现,如图2。 图2 用FPGA实现双线性插值的系统框图 (1) 图像数据缓冲 数字视频信号的数据量很大,传输带宽特别高。在用硬件系统对数字视频图像进行实时处理时,需要建立一个图像数据的存储缓冲机制,为插值运算及时准确地提供图像数据。一般情况下.需要采用片外大容量高速存储器存储至少两帧的图像数据,利用“Ping-Pong” 轮换机制实现图像数据缓冲。当需要使用一帧内像素点数据时,可以及时从一个存储器中读取;与此同时,连续的图像数据被存至另一个存储器中。但是,这样的帧存储器不仅增加了成本,还要在FPGA内利用逻辑模块设计帧存控制逻辑。为了降低成本,提高系统集成度,本文利用FPGA的内部逻辑资源为每一彩色通道设计了一组由3个双端口RAM(DPRAM)组成的图像数据缓冲阵列,并将这样一个缓冲阵列称为行缓冲器。 (2) 插值系数生成 根据双线性插值运算公式及二维图像插值的FPGA实现方法,两个运算系数dx和dy需要准确及时地求出,提供给插值运算单元,并且只有当生成的系数在时序节拍上与图像数据存储、插值计算单元的时序配合一致时,才能有效地完成整幅图像的插值运算。因此,在生成系数的同时,必须能够给出系数在原图像中对应邻近像素点的坐标信息,即在DPRAM 中的存储地址,以便图像数据缓冲模块可以同步地取

文档评论(0)

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

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

1亿VIP精品文档

相关文档