DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 107|回复: 0
打印 上一主题 下一主题

如何在FPGA中实现图像格式转换

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 19:13:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                      引言
  服务器、交换机、前端编码器以及专用演播显示器等广播基础设备系统支持各种输入图像格式,在存储、编码和显示之前,通常需要将图像转换为高清晰(HD) 或者其他分辨率格式。专用ASSP 虽然满足了这一市场需求,取得了一定的成功,但仍然面临通过采用单芯片方案来满足广播设备供应商各种特殊需求这一挑战。例如,在交换机应用中,总延时非常重要,延时是显示和视频会议系统的关键因素,而图像质量是摄制后期设备最重要的指标。除了这些特殊应用需求,器件还必须能够支持各种帧速率、分辨率和格式。
  而且,这类设备的设计周期相对较短,当需求变化时,设计人员没有足够的时间等待长周期ASSP 重制的完成。结果,很多优秀的视频技术ASSP 供应商在这一领域未能及时跟上市场的脚步,被消费类电子芯片生产商收购,为消费类市场提供视频处理专业技术。例如, Gennum (VXP)、Genesis、Silicon Optix 和LetIt Wave 分别被Sigma Designs、ST Micro、IDT 和Zoran 收购。
  在这一ASSP 行业合并和重新定位过程中, FPGA 视频处理功能不断增强,成为定制图像格式转换应用的理想平台。为支持加速实现FPGA 图像格式转换, Altera 开发了本白皮书介绍的1080p 视频设计工作台,帮助系统设计人员轻松开发定制图像格式转换信号链。本文所讨论的图像格式转换参考设计可以作为起点,适当修改后用于定制视频处理应用开发。本设计经过硬件验证,可以提供给授权用户。
  1 视频设计工作台
  Altera 视频设计工作台集成了各种工具和构建模块视频功能,有助于加速定制图像格式转换设计的开发和实现。它包括以下组成:
  ■ 构建模块视频知识产权(IP) 内核
  ■ 格式转换参考设计,展示FPGA 功能,提供设计起点。
  ■ 低开销开放视频接口,支持混合匹配定制或者商用IP 模块。
  ■ 用于集成处理器和存储器子系统的系统级设计工具
  ■ 可迅速进行原型设计的各种视频开发套件
  Altera 为视频处理开发了各种构建模块,即,视频和图像处理(VIP) 包( 参见图1)。在这一开发包的众多功能中,缩放和去隔行是图像格式转换设计最常用的功能。Altera 的VIP 包具有复杂的多相缩放引擎和去隔行功能,可以配置实现运动自适应去隔行功能。其他常用的功能包括色度重新采样、颜色空间转换以及帧速率转换等,这些都含在VIP 包中。可以把这些视频功能结合在一起,开发定制视频格式转换设计。



  2 图像格式转换设计
  如图2 所示,几乎所有的演播系统,包括服务器、交换机、前端编码器和面板等都需要进行定制图像格式转换,这是非常适合可编程FPGA 体系结构的应用。Altera 图像格式转换设计实现了隔行和逐行格式视频标准清晰度(SD) 和HD 视频流的高质量上、下、交叉转换。这一设计在硬件中进行了验证,可以从当地Altera 现场应用工程师(FAE) 那里获得。



图3. Altera 采用视频设计工作台开发的图像格式转换设计

            
                   
  首先由同步视频输入MegaCore 功能来处理SDI 视频数据。该功能将同步视频格式数据( 例如, BT656 或者DVI) 转换为流控制AvalON 流(Avalon-ST) 视频协议,实现与数据通路后面其他视频处理功能的链接。
  采用高质量视频处理数据通路来处理第一个视频通道。对每一输入视频图像( 这个例子中是NTSC) 场的前三行进行剪辑,输出720x240 图像。剪辑后的视频数据在从YcbCr 颜色空间转换为RGB 之前,经过色度上采样,转换为YCbCr 4:4:4 格式。色度上采样功能使用具有固定Lanczos-2 系数的4 抽头滤波器。颜色空间转换器也采用了取整( 向上半数取整) 算法,输出8 位位宽数据。
  然后,将视频传送至去隔行功能模块。由于运动自适应算法要求输入颜色通道具有相同的采样率,因此,在进行去隔行处理之前,先进行色度上采样。( 今后的去隔行IP 将支持4:2:2 模式的视频处理功能)。去隔行器经过配置后,能够同时接收逐行和隔行视频。当输入视频是隔行格式时,运动自适应算法产生逐行格式的视频流。当输入视频是逐行格式时,去隔行器直接输出数据,不对其进行处理。当进行运动自适应去隔行处理时,数据在外部存储器中进行缓冲,完成基本帧速率转换处理。
  然后,通过参数赋值缩放器功能( 具有12 个横向和12 个纵向抽头) 的多相算法对逐行视频流进行缩放。
  采用Avalon 存储器映射(Avalon-MM) 从机控制接口对缩放器进行配置,支持缩放器输出分辨率运行时规范要求。此外,当缩放比率变化时, Nios? II 处理器上运行的软件计算并重新装入合适的系数,从而提高了图像质量。最后,在将视频流与背景测试码型以及第二个视频流混合之前,帧缓冲功能在外部存储器中缓冲视频数据。两路视频流输入到合成器进行缩放和同步,需要对突发数据流进行平滑处理。
  第二个通道处理质量稍差,这样可以提高视频格式转换的资源利用率。主要有两种方法来处理两路不同格式的视频流:
  ■ 使用简单的最近邻居缩放算法对第二个视频流进行缩放,需要较少的片内存储器和乘法器资源。
  ■ 使用场合并去隔行算法对第二个视频流进行去隔行处理,需要较少的逻辑资源和外部存储器带宽。
  3 定制您的图像格式转换设计
  Altera 视频工作台从根本上支持用户定制设计。工作台支持三级定制,非常灵活,如图4 所示。在FPGA 领域,这种定制功能是前所未有的,采用ASSP 进行设计是无法实现的。



  除了通过流接口实现运行时更新, Altera 开发的大部分视频功能模块都具有运行时更新功能。这表明,这些模块使用存储器映射从机接口,支持对状态机和片内处理器的更新。每个从机接口支持对一组控制寄存器的访问。例如,可以使用片内处理器,在运行时更新这些控制寄存器。在新一帧的开始,更新后的控制数据被装入到IP 功能模块中。这样,您可以在系统运行时更新图像大小和缩放系数,改变缩放比。图5 显示了Altera 视频工作台多相缩放引擎是怎样实现运行时控制的。



图5. 更新缩放功能
  为进一步定制设计,您可以针对MegaCore 功能来修改参数。Altera 开发的所有视频功能都是可以进行参数赋值的。如图6 所示,利用去隔行器功能,您不但可以选择去隔行算法,还可以选择默认场、直通模式、外部存储器缓冲帧数量、输出帧速率和运动控制补偿等算法。

            
                   



图7. Avalon 流HDL 模板
  Algolith 作为Altera IP 合作伙伴,是视频IP 领域的专业公司,采用了HDL 模板来评估其内核。Algolith 开始时采用Altera 参考设计进行图像格式转换,然后使用自己的专用运动自适应去隔行器替代Altera 去隔行器,并提供给用户,在硬件中进行评估。同样, Algolith 使用Altera 视频设计工作台开发了参考设计,帮助用户评估他们的噪声抑制IP。
  4 结论
  Altera 视频工作台为广播基础实施系统实现图像格式转换提供所有必须的关键功能。采用Altera 视频设计工作台和图像格式转换参考设计, FPGA 设计人员现在可以使用以前只有广播ASSP 才能提供的功能,而且还具有灵活性和硬件定制等优势。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-9-19 14:03 , 耗时 0.087408 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表