视频和图像处理套件
英特尔 FPGA 视频和图像处理套件提供了一系列英特尔 FPGA 知识产权 (IP) 功能,用于加速自定义视频和图像处理设计的开发。这些英特尔 FPGA IP 功能适用于各种图像处理和显示应用,例如演播室广播、视频会议、AV 联网、医疗成像、智能城市/零售和消费者。
视频和图像处理套件
视频和视觉处理套件是新一代视频、图像和视觉处理的 IP 套件。IP 通过英特尔 FPGA 在线观看视频协议来传输视频,该协议使用行业标准 AXI4-Stream 协议。协议转换器 IP 可与 Avalon Streaming 视频标准和现有视频和图像处理套件 IP 或其他符合 Avalon 在线观看视频协议的 IP 进行互操作。
视频和图像处理套件包括一组内核,从简单的构建模块功能(如颜色空间转换)到用于实施可编程多相缩放的复杂视频缩放功能。
- 所有 VIP 核均使用开放的、低成本的 Avalon® Streaming (Avalon-ST) 接口标准,因此可以轻松连接。
- 您可以使用 VIP 核,通过英特尔® Quartus® Prime 精简版或标准版软件以及相关的 Platform Designer 快速构建自定义视频处理信号链。
- 您可以将视频和图像处理核心与自己专有的 IP 进行混合匹配。
- 您可以使用平台设计器自动集成嵌入式处理器和外围设备并生成仲裁逻辑。
- 能够支持 60 fps 及以上的 8K 视频。
特性
视频和图像处理套件英特尔® FPGA IP 功能
英特尔 FPGA IP 功能 |
说明 |
---|---|
对图像数据流使用 3x3、5x5 或 7x7 有限脉冲响应 (FIR) 滤波器,对图像进行平滑或锐化处理。 |
|
混合多个图像流,用于实现文本叠加和画中画混合。 |
|
捕获视频数据包而不会增加延迟,并连接到追踪系统 IP 以收集视频追踪数据。 |
|
删除并修复不理想的序列和错误情况 |
|
更改图像帧的色度数据的采样率,例如从 4:2:2 更改为 4:4:4,或从 4:2:2 更改为 4:2:0。 |
|
提供一种剪辑视频流的方法,可以在编译时或运行时进行配置。 |
|
时钟视频输入 (CVI)、时钟视频输入 II (CVI II)、时钟视频输出 (CVO) 和时钟视频输出 I (CVO II) |
时钟视频接口 IP 核可将时钟视频格式(例如 BT656、BT1120 和 DVI)转换为 Avalon-ST 视频,反之亦然。 |
更改色彩平面样本在 Avalon-ST 接口上的传输方式。此功能可用于拆分和合并视频流,从而控制色彩平面样本的路由。 |
|
将图像数据在 RGB 等各种不同颜色空间中转换为 YCrCb。 |
|
可配置防护带 |
可配置防护带 IP 核将输入视频流中的每个色彩平面与上下限防护带值进行比较。 |
在两个功能之间实时同步对视频流所做的更改。 |
|
使用动态自适应去隔行算法将隔行扫描视频格式转换为逐行扫描视频格式。还支持“bob”和“weave”算法、低角度边缘检测、3:2 Cadence 检测和低延迟。 |
|
将视频帧缓冲到外部 RAM 中。该内核支持双缓冲或三缓冲,还有一系列帧丢失和帧重复选项。 |
|
从外部存储器读取视频并将其作为流媒体输出。 |
|
允许针对显示设备的物理属性校正视频流。 |
|
丢弃传入渐进帧的一半行,将逐行扫描视频转换为隔行扫描视频。 |
|
与视频和图像处理套件中的第一代缩放器相比,基于 HDL 代码的缩放器 II 英特尔 FPGA IP 功能占用的空间更少,同时还提供了更高的性能。缩放器 II 功能全新支持 4:2:2 色度数据采样率,从而进一步减少了所需资源。线性和多相算法都具有全新的边缘自适应算法功能,可以在保持真实感的同时减少模糊度。 |
|
允许视频流实时交换。 |
|
生成包含静止色条的视频流,以用作测试模式。 |
|
监视从视频监视器捕获的数据,通过 JTAG 或 USB 连接到主机 System Console 进行显示 |
入门
设计示例和开发套件
下列设计示例可供您在开发套件上运行。
产品名称 |
支持的设备/开发套件 |
子卡 |
符合 Platform Designer 标准 |
提供商 |
---|---|---|---|---|
✓ |
英特尔 |
|||
无 |
✓ |
ALSE |
||
无 |
✓ |
Terasic |
||
✓ |
英特尔 |
视频教程
在线培训课程
本培训介绍了英特尔® FPGA 视频平台和设计流程。本课程重点介绍了各种设计注意事项和调试技术,并讨论了视频和图像处理 IP 的算法局限性。
在这个基于实验室的视频和图像处理实践研讨会上,您将探索 VIP 框架,了解如何掌握 VIP 设计方法,并通过视频和图像处理实验练习获得一手的直接经验。
IP 质量指标
基本要求 |
|
---|---|
IP 首次发布年份 |
2009 |
支持的最新英特尔® Quartus® 软件版本 |
18.1 |
状态 |
生产 |
交付物 |
|
客户可交付物包括: 设计文件(加密源代码或后期合成网表) ModelSim*-英特尔® FPGA 版本的模拟模型 时间和/或布局限制 测试平台或设计示例 文档(带修订控制) 自述文件 |
是 是 是 是 是 否 |
IP 随附的任何额外客户可交付物 |
无 |
允许最终用户配置 IP 的参数化 GUI |
是 |
启用了 IP 核,可支持英特尔 FPGA IP 评估模式 |
是 |
源语言 |
Verilog |
Testbench 语言 |
Verilog |
提供软件驱动程序 |
sw.tcl 文件 |
驱动程序操作系统 (OS) 支持 |
不适用 |
实施 |
|
用户界面 |
时钟视频(时钟视频输入、时钟视频输出)、Avalon®-ST(所有其他数据路径) |
IP-XACT 元数据 |
否 |
验证 |
|
支持的模拟器 |
ModelSim、VCS、Riviera-PRO、NCSim |
经验证的硬件 |
Arria® II GX/GZ、Arria® V、英特尔® Arria® 10、Cyclone® IV ES/GX、Cyclone® V、英特尔® Cyclone® 10、英特尔® MAX® 10、Stratix® IV、Stratix® V |
执行了行业标准合规性测试 |
否 |
如果是,哪个测试? |
不适用 |
如果是,使用哪款英特尔 FPGA 设备? |
不适用 |
如果是,执行的日期 |
不适用 |
如果否,是否计划? |
不适用 |
互操作性 |
|
IP 经过互操作性测试 |
是 |
如果是,使用哪款英特尔 FPGA 设备 |
英特尔 Arria 10、英特尔 Cyclone 10 |
可提供互操作性报告 |
不适用 |
伽玛校正器
当要根据目标显示器的情况将像素值限制在特定范围时,就会用到伽玛校正器。部分显示器会对视频信号的电压产生非线性响应,因此有必要对像素值进行重新映射以校正显示效果。伽玛校正器使用 Avalon®-MM 接口查询表,提供像素值与它们的修改值的映射。
在如图显示的伽玛校正器示例中,一个 Y'CbCr 输入(8 位颜色值,范围为 0 到 255)通过伽玛校正器后,其颜色值范围将重新映射到 16 到 240 的范围,然后再发送到一个时钟视频输出。
2D FIR 滤波器
2D 有限脉冲响应 (FIR) 滤波器视频知识产权 (IP) 核用于串联处理颜色平面并让像素值通过 FIR 滤波器。系数通过两种方式输入,一种是 Avalon 内存映射 (Avalon-MM) 接口(该接口可与 Nios® II 处理器连接),另一种是让其他外设访问包含视频数据路径的 Qsys 设计。
如图所示,在使用 2D FIR 滤波器的结构图中,时钟视频输入为串联格式的 RGB 颜色平面,以便通过 FIR 滤波器。滤波完成后,颜色平面定序器会将颜色平面从三个串联平面重新排列为三个并联平面。三个颜色平面并行后,视频帧便可通过时钟视频输出核对外传输。
Alpha 调配混频器和混频器 II
Alpha 调配混频器和混频器 II 核分别提供了混合多达 12 个或 4 个图像层的能力,并可通过 Avalon-MM 接口实现运行时控制。通过 Avalon-MM 接口从 Nios II 处理器访问时,可以动态控制每层的显示位置以及各层的叠加顺序(仅限混频器 I)。混频器 I 的 Alpha 调配功能支持显示透明或半透明像素(仅限混频器 I)。
混频器 II 核包括一个内置的测试图案生成器,可用作背景层。这是一个额外的好处,因为四个输入之一不需要来自测试图案生成器核。混频器 II 的另一个好处是它能够支持 4K 视频。
如图所示的结构图示例显示了混频器核的用法,其中一个时钟视频输入在输入 0 上提供活动视频资料,一个背景层由内置的测试图案生成器提供,一个帧读取器核在输入 1 上读取静态图形,如公司标志。这些资料被混合在一起,提供一个带有图形的视频图像显示,以及由测试图案生成器提供的背景。
建议混频器的输入直接由帧缓冲区提供,除非确定输入和输出各自的帧速率以及输入层的偏移不会导致数据不足以及随之而来的视频卡死问题。
色度重新采样器
色度重新采样器用来改变视频数据的色度格式。以 Y'CbCr 颜色空间传输的视频可以对 Cb 和 Cr 颜色分量进行子采样,以节省数据带宽。色度重新采样器提供了在 4:4:4、4:2:2 和 4:2:0 格式之间进行转换的能力。
在如图所示的示例中,一个 4:2:2 色度格式的 Y'CbCr 时钟视频输入经色度重新采样器放大后,转换为 4:4:4 格式。放大后的视频格式随后通过颜色空间转换器,由该转换器将视频格式从 Y'CbCr 转换为 RGB,接着发送到时钟视频输出核。
剪辑器 II
当要从一个视频资料中提取固定的区域进行传输时,就可以使用剪辑器核。剪辑器核可以在编译过程中配置,也可以通过 Nios II 处理器或其他外设的 Avalon-MM 接口进行更新。剪辑器的剪辑方法可以设为相对于边缘的偏移量或设为剪辑一个固定的矩形区域。
在如图所示的示例中,两个剪辑器实例都从各自的视频输入中提取 400 x 400 像素的区域。这两个剪辑下的视频资料随后在混频器核中与其他图形和作为背景的内置测试图案生成器一起混合。混频器有能力调整视频输入的位置,所以如果有必要,可以将两个剪辑下的视频资料并排放置,并增加帧缓冲区。
时钟视频输入和输出核(I 和 II)
时钟视频输入和输出核用于捕获和传输各种格式的视频,如 BT656 和 BT1120。
时钟视频输入核会将传入的视频数据转换为 Avalon Streaming (Avalon-ST) 视频格式数据包,去除传入的水平和垂直空白,只保留活动的图片数据。使用该核可以在一个频率下捕获视频,然后将数据传递给 Qsys 系统中在相同或另一个频率下运行的其他部分。
在如图所示的示例中,一个时钟视频输入将视频送入一个缩放器块,将其从 1280 x 720 放大为 1920 x 1080,然后再发送到时钟视频输出核。如果输入和输出的帧速率相同,就可以在时钟视频输入和时钟视频输出中创建 FIFO,以便在不使用帧缓冲区的情况下进行转换。
颜色平面定序器
颜色平面定序器用来重新排列视频系统中的颜色平面元素。它可以用来将颜色平面从串联传输转换为并联传输(或相反),“复制”视频通道(例如,驱动一个辅助视频监控器子系统时可能需要这么做)或“分割”视频通道(例如,将一个 Alpha 平面从三个 RGB 平面分离出来,以便从帧读取器读取四个平面时可能需要这么做)。
在如图所示的颜色平面定序器示例中,2D FIR 滤波器视频 IP 核要求视频输入和输出为串联的颜色平面。为了将视频以所需的格式传送到时钟视频输出,颜色平面必须由颜色平面定序器转换为并联。
颜色空间转换器(I 和 II)
当必须在 RGB 和 Y'CrCb 颜色空间格式之间进行转换时,可以使用颜色空间转换器核(CSC 和颜色空间转换器 II)。根据视频输入和输出格式要求,可能还必须在不同的颜色格式之间进行转换。
在如图所示的颜色空间转换器示例中,色度重新采样器先放大 Y'CrCb 视频,然后传给颜色空间转换器转换成 RGB 颜色格式,再发送到时钟视频输出。
控制同步器
控制同步器与 Avalon-MM 主控制器(如 Nios II 处理器或其他外设)配合使用。控制同步器用于同步一个或多个视频 IP 块中的运行时配置变化,使其与视频数据保持一致。当视频帧仍以以前的格式通过视频 IP 核时,该视频 IP 核的上游可能会发生配置变化。为了实现无缝过渡,避免屏幕上出现卡顿现象,我们可以使用控制同步器,在新传入的视频帧数据一到达核心时就调整配置切换。
在如图所示的控制同步器示例中,Nios II 处理器配置了一个测试图案生成器,将帧大小从 720p 改为 1080p。控制同步器会从 Nios II 处理器收到视频帧数据即将改变的通知,但在新帧通过帧缓冲区抵达控制同步器之前,暂不重新配置时钟视频输出。控制同步器会读取帧的控制数据包,以确定它是否与新的配置相对应,然后将时钟视频输出核更新为新的设置,从而无缝切换视频输出的分辨率。
去隔行器(I 和 II)和广播去隔行器
去隔行器核(去隔行器、去隔行器 II 和广播去隔行器)将隔行扫描视频帧转换成逐行扫描视频帧。如何对视频进行去隔行,有多种算法可供选择,这取决于所需的质量、使用的逻辑区域和可用的外部内存带宽。
如图所示的示例说明了如何使用去隔行器,其中一个时钟视频输入接收隔行扫描视频帧,并使其通过去隔行器,而去隔行器会与外部存储器和帧缓冲区核进行交互。视频从隔行扫描转换为逐行扫描格式后,将通过一个时钟视频输出核发出。
帧缓冲区(I 和 II)
帧缓冲区和帧缓冲区 II 核用于缓冲逐行和隔行扫描视频场,可以支持双倍或三倍缓冲,还提供了一系列选项用于丢弃和重复帧。在视频去隔行处理、改变视频帧速率或混合视频等情况下,帧缓冲区必不可少。
如图所示的示例说明了帧缓冲区的用法,其中一个时钟视频输入核正以 30 帧/秒 (fps) 接收视频,并需要将其转换为 60 fps。帧缓冲区核用于缓冲多个帧,并支持重复帧,因此帧速率可以转换为 60 fps,然后通过时钟视频输出核传输出去。
帧读取器
帧读取器核用于读取存储在外部存储器中的视频帧,并将其作为 Avalon-ST 视频流输出。这些数据仅以原始视频像素值存储。
在如图所示的示例中,我们使用帧读取器来获取公司标志的图形,以将其覆盖在另一个视频流上,然后通过混频器核将这些层合并到一起。合并后的视频随后发送到一个时钟视频输出核。混频器可以选择性地被配置为包括一个 Alpha 通道。在这种情况下,帧读取器可以被配置为读取三个颜色平面和一个 Alpha 平面,即在输入混频器之前使用颜色空间转换器(未在图中显示)将其“分割”出来。
缩放器 II
缩放器 II 核用于放大或缩小视频帧的大小。它支持多种算法,包括近邻、双线性、双立方和多相/Lanczos 缩放。片上存储器用于缓冲要缩放的视频行,因此更高的缩放比例需要更多的存储。
图中显示了一个缩放器 II 核的例子,它从一个时钟视频输入端获取 720p 的视频帧大小,并将其缩放为 1080p,然后发送至时钟视频输出。
交换机(I 和 II)
交换机核允许用户将最多 12 个输入视频流连接到最多 12 个输出视频流。交换机并不会合并或复制视频流,但允许改变从输入端口到输出端口的路由。用户没有必要连接所有输出端口,除非仍希望监控这些视频流。交换机控制是通过可从 Nios II 处理器或其他 Avalon-MM 映射外设访问的 Avalon-MM 接口完成的。
在如图所示的交换机中,一个时钟视频输入和一个测试图案生成器为交换机上的两个端口提供输入。第二个交换机输出端口没有连接,而 Nios II 处理器控制两个输入中的哪一个会发到时钟视频输出所连的端口进行显示。
测试模式生成器 II
测试图案生成器核可用来生成一些图像来快速测试视频接口。该核可配置为许多不同的图像尺寸,以及 RGB 和 YCbCr 颜色格式。
测试图案生成器核可以与时钟视频输出核配合使用,从而快速验证系统的视频接口。只要准备好所需的视频规格,只需几分钟就能完成设计,快速验证接口能否在外部显示器上生成图像。
Avalon-ST 视频监控器
Avalon-ST 视频监控器是一个可以串联插入视频数据路径的核心,它可以读取 Avalon-ST 视频包信息,并向追踪系统提供诊断数据。无论希望在何处探测视频数据路径以获得分析和统计信息,都可以插入视频监控器。当与追踪系统核配合使用,并通过调试端口(如 JTAG)或英特尔 FPGA 下载电缆进行外部连接时,还可以更深入地洞察视频系统的行为。您可以使用系统控制台作为虚拟平台来显示这些信息。
在如图所示的示例中,颜色平面定序器的前后都插入了 Avalon-ST 视频监控器。这么做是为了监控来自时钟视频输出和颜色平面定序器的视频包信息。当视频数据通过视频监控器时,该核并不会改变视频数据。在本例中,视频监控器连接到了追踪系统,并可通过 JTAG 访问。
追踪系统
追踪系统用于访问插入设计中的 Avalon-ST 视频监控器核,以获取视频诊断信息。多个视频监控器核可连接到一个追踪系统控制器。追踪系统使用调试接口连接到主机,该接口通常是 JTAG 连接器或英特尔 FPGA 下载电缆接口(如果有)。
在如图所示的示例中,追踪系统与插入在颜色平面定序器前后的两个 Avalon-ST 视频监控器核配合使用。在本例中,视频监控器连接到了追踪系统,并可通过 JTAG 访问。
相关链接
更多资源
查找知识产权
寻找满足您需求的 Altera® FPGA 知识产权核。
知识产权评估和购买
Altera® FPGA 知识产权核的评估模式和购买信息。
使用 Altera® FPGA IP 进行设计
了解有关使用 Altera® FPGA IP 进行设计的详细信息,这是面向 Altera® FPGA 优化的大量现成核心。
知识产权基础套件
免费 Altera® FPGA IP 核许可,并具有 Quartus® Prime 标准或专业版软件的有效许可。
设计示例
下载 Altera® FPGA 设备的设计示例和参考设计。
联系销售人员
联系销售人员讨论您的 Altera® FPGA 产品设计和加速需求。