然后,将视频传送至去隔行功能模块。由于运动自适应算法要求输入颜色通道具有相同的采样率,因此,在进行去隔行处理之前,先进行色度上采样。( 今后的去隔行IP 将支持4:2:2 模式的视频处理功能)。去隔行器经过配置后,能够同时接收逐行和隔行视频。当输入视频是隔行格式时,运动自适应算法产生逐行格式的视频流。当输入视频是逐行格式时,去隔行器直接输出数据,不对其进行处理。当进行运动自适应去隔行处理时,数据在外部存储器中进行缓冲,完成基本帧速率转换处理。
然后,通过参数赋值缩放器功能( 具有12 个横向和12 个纵向抽头) 的多相算法对逐行视频流进行缩放。
采用Avalon 存储器映射(Avalon-MM) 从机控制接口对缩放器进行配置,支持缩放器输出分辨率运行时规范要求。此外,当缩放比率变化时, Nios? II 处理器上运行的软件计算并重新装入合适的系数,从而提高了图像质量。最后,在将视频流与背景测试码型以及第二个视频流混合之前,帧缓冲功能在外部存储器中缓冲视频数据。两路视频流输入到合成器进行缩放和同步,需要对突发数据流进行平滑处理。
第二个通道处理质量稍差,这样可以提高视频格式转换的资源利用率。主要有两种方法来处理两路不同格式的视频流:
■ 使用简单的最近邻居缩放算法对第二个视频流进行缩放,需要较少的片内存储器和乘法器资源。
■ 使用场合并去隔行算法对第二个视频流进行去隔行处理,需要较少的逻辑资源和外部存储器带宽。
2 图像格式转换设计
如图2 所示,几乎所有的演播系统,包括服务器、交换机、前端编码器和面板等都需要进行定制图像格式转换,这是非常适合可编程FPGA 体系结构的应用。ALTEra 图像格式转换设计实现了隔行和逐行格式视频标准清晰度(SD) 和HD 视频流的高质量上、下、交叉转换。这一设计在硬件中进行了验证,可以从当地Altera 现场应用工程师(FAE) 那里获得。
图2. 典型演播系统的功能结构图
图3 所示的格式转换设计实现了双通道视频的图像格式转换。该设计包括两路SDI 通道视频,处理SD、HD 以及3G-SDI ( 全HD)。
图3. Altera 采用视频设计工作台开发的图像格式转换设计
3 定制您的图像格式转换设计
Altera 视频工作台从根本上支持用户定制设计。工作台支持三级定制,非常灵活,如图4 所示。在FPGA 领域,这种定制功能是前所未有的,采用ASSP 进行设计是无法实现的。
图4. Altera 视频工作台支持不同层面的定制功能
采用Altera 视频工作台开发设计时,可以使用两种创新技术实时进行更新:
■ 数据包格式流接口——设计用于在功能模块之间同时传送视频和控制数据包。
■ 算法功能模块配置——可以配置为存储器映射组件,通过写入相应的控制寄存器,实时更新功能。
Avalon-ST 视频协议是Altera 新的低开销流协议,提供面向数据包的方法来发送视频和控制数据。控制数据包用于发送动态参数,该参数描述流视频帧格式。这些参数应用于将要到达的下一视频数据包,或者在编译时设定,用在复位后接收到的第一个视频数据包上。( 表2 列出了控制数据包是怎样提供下一帧信息的)。数据到达时,视频数据流中的嵌入式控制数据包支持采用新数据对视频处理流水线进行重新配置。
表2. 控制数据包支持对视频流格式的动态更新
除了通过流接口实现运行时更新, Altera 开发的大部分视频功能模块都具有运行时更新功能。这表明,这些模块使用存储器映射从机接口,支持对状态机和片内处理器的更新。每个从机接口支持对一组控制寄存器的访问。例如,可以使用片内处理器,在运行时更新这些控制寄存器。在新一帧的开始,更新后的控制数据被装入到IP 功能模块中。这样,您可以在系统运行时更新图像大小和缩放系数,改变缩放比。图5 显示了Altera 视频工作台多相缩放引擎是怎样实现运行时控制的。