利用FPGA实现的一种机载高清视频处理模块
时间:12-21
来源:互联网
点击:
现代飞机座舱显示技术的发展日新月异,需要显示各种传感器信息的数据已经达到海量规模。飞行员在不同飞行时段获得的信息也越来越多,为了使飞行员能够在某特定的飞行时段认读和处理更为精确的信息,并且各种传感器信息融合在同一个坐标系中,因此需要研究机载环境中高清视频处理技术,研究在较大尺寸的显示器上显示处理高清视频信号。
高清视频处理模块位于显示分系统中,加速显示高清视频信号,实现高清视频的缩放和叠加。满足了飞行员对大尺寸和高清晰视频显示的需求。模块接收显示命令和视频数据,将融合信息加速显示到显示器上,同时接收解码两路高清外视频信号,在FPGA芯片中实现内视频和外视频的运算处理,包括缩放和叠加,并且将处理后的视频信息按照不同的要求输出到显示器上。
高清视频处理模块系统结构
高清视频处理模块内部包含图形处理器,它接收显示命令和数据,加速渲染图形画面,输出为高清视频信号,在FPGA中运算融合外视频信号,两路分别输出到外部显示器上,视频格式分别为高清LVDS和高清DVI。
高清视频处理模块主要功能电路包括图形处理器电路、视频叠加和缩放逻辑电路、编解码电路和供电复位时钟电路。模块系统组成框图如图1所示。
高清视频处理模块硬件电路设计
图形处理器电路
图形处理器电路主要负责内部高清视频的生成和视频输出控制。它将绘图数据和命令通过二维和三维图形加速管线加速生成并且存储在显存中,输出控制部件将显存中的数据按照相应格式输出视频信号。
图形处理器选用AMD公司的M9000芯片,该芯片支持高清视频处理,支持二维和三维图形硬件加速,OpenGL图形接口标准,工作频率高达250MHz,64MByte的显存容量,两路独立的显示输出通道,可选择LVDS、DVI、VGA、TV和并行LCD接口。本设计中,图形处理器生成内部视频信号分辨率为1920×1080,刷新频率为60Hz。
视频叠加和缩放逻辑电路
视频叠加和缩放逻辑电路包括FPGA和SRAM两部分电路,完成内视频和外视频的叠加运算和缩放。从FPGA的角度计算,其功能接口包括,一路高清内视频信号,由图形处理器生成,两路高清外视频信号,经过解码器解码后输出到FPGA芯片中,一路高清DVI视频输出,对外输出一路高清DVI信号,一路双LVDS视频输出,满足高清LVDS信号输出到液晶显示器上,最后是SRAM缓存部分,实现视频信号缓存功能。
基于FPGA功能接口数量和模块功耗的要求,本设计选择XILINX公司的SPARTAN-6系列中的XC6SLX150-2FGG9001芯片。该片共有147443个逻辑处理单元,可使用的I/O管脚多达576个,逻辑资源相当丰富,能够满足高清视频缩放和叠加功能对逻辑资源的需求。
SRAM存储器用来缓冲视频信息,它用触发器存储信息,触发器在信息读出后可以保持原有的状态,因此SRAM不需要再生。即使DRAM的集成度比SRAM高,并且功耗小,价格低,但是目前SRAM容量在增大,速度比DRAM高,时序控制比DRAM简单。最重要的是SRAM作为存储芯片比较稳定,因此本设计选择CYPRESS公司的SRAMCY7C1470BV33-167AXI作为视频信号缓存。模块采用6片SRAM,该芯片存储容量为2 M×36 bits,3.3V供电,支持167MHz的总线操作,工作温度为-40℃到+85℃,满足视频缓存的需求。
编解码电路
编解码电路由解码电路和编码电路组成。解码电路主要完成两路高清数字DVI视频的解码功能,将解码后符合类VESA视频时序的数字RGB信号传输到FPGA中。解码电路采用两片AD公司的ADV7162。该芯片为双通道高清数字DVI解码器,支持HDMI标准1.4a,具有可编程均衡器,每一个HDMI接口支持5V供电和热插拔检测,工作频率高达225 MHz,工作温度为-40℃到+85℃。
编码器电路完成两路视频的编码功能,分别将FPGA输出的数字RGB视频信号编码转换成一路双LVDS信号和一路高清DVI信号。双LVDS信号直接驱动液晶显示器,物理链路共有2对差分时钟线和8对差分数据线,它从FPGA接收并行数字RGB信号转换成串行LVDS信号。该编码器采用NI公司的DS90C387来完成双LVDS信号的编码和发送功能,该芯片支持单像素和双像素两种数据传输方式,能将48bit并行TTL数据(双24位色像素)转换成8对LVDS差分数据线,双像素速率最高支持112MHz,能够满足1080p高清视频的编码和驱动传输的要求。
另一路高清DVI信号同样是从FPGA芯片接收并行数字RGB信号后编码转换而来,所承载的逻辑传输内容和双LVDS信号通路相同,不同的是它将并行数字RGB视频编码成串行差分的TMDS物理链路信号,编码器采用AD公司的ADV7513,该芯片是一款高分辨率多媒体接口编码器,支持DVI的v1.4协议,其并行发送时钟高达165MHz,支持1080p的视频编码,满足编码格式和高清分辨率的要求。
供电复位时钟电路
供电复位时钟电路完成高清视频处理模块的电源设计、时钟设计和系统复位功能。本模块采用单+5V供电,需要输入电流大约4安培,模块内部各个芯片需要1.2V、1.8V、2.5V和3.3V四种电压,所有芯片没有上电顺序的要求,因此可以使用两路开关电源转换芯片LTM4616实现。时钟电路提供支持模块需要的时钟频率,本设计中高清DVI解码器需要28.63636MHz的时钟频率,图形处理器和FPGA芯片需要25MHz和27MHz的时钟频率。这三种时钟均由相应频点的晶振产生。
稳定的复位电路是模块稳定工作的前提,本设计提供手动复位、上电复位和电源监控。当这三种复位条件之一具备时,均会复位模块。
视频叠加和缩放逻辑算法思想
视频画面缩放逻辑设计
高清视频处理模块需要在FPGA中实现的逻辑功能主要有视频信号的叠加和缩放,和两路视频信号的输出控制功能。它接收两路高清外视频信号,经过码流的解析后存储在SRAM中。接下来完成缩放功能,将两路外视频分辨率1920×1080的高清视频缩小到960×1080,然后将缩小的画面拼接成一幅画面,即拼接后的分辨率为1920×1080,接下来将内视频和拼接后的画面透明叠加在一起,构成一幅新画面。最后,输出控制逻辑将叠加后的视频分别以双LVDS和DVI格式输出到编码器,完成整个逻辑运算功能。图2逻辑运算流程框图。
高清视频处理模块对视频信号的缩放处理采用三次卷积法。该方法不同于常用的最近邻域法和双线性插值法。最近邻域法是通过反向变换得到一个浮点坐标,对其简单的取整后得到一个整数型坐标,这个整数型坐标就是目的像素的像素值,最邻近插值简单直观,但得到的图像质量不高。双线性插值算法的思想是目标图像中新创造的像素点值是由源图像位置在它附近的2×2区域4个邻近像素的值加权平均计算得出的。双线性插值算法获得的图像质量较高,不会出现像素点不连续的情况。但该方法低通滤波功能较好,高频分量会受损,所以可能会使图像轮廓在一定程度上变得模糊。三次卷积法克服了以上两种方法的不足,它输出图像的每一个像素都是原图16个像素(4×4)运算的结果。在使用三次卷积插值时,目标点的值借助周围的16个已知的像素点的值重采样计算得到。该方法图像质量较高,同时保留了高频成分。
视频叠加逻辑算法
本设计中,视频叠加实现了内视频信号和拼接后的外视频的透明叠加。这种方法能够将更多的高清晰的内容显示出来,并且叠加的两部分的分辨率是相同的。采用的叠加方法是成熟的阿尔法混合叠加法,其特点是叠加后能够同时看到两幅视频画面。该算法的思想可以描述为:
目标象素=图像1象素×α+图像2象素×(1-α)(1)
上述公式(1)中,α为叠加因子,当α取0.5时,叠加效果是半透明叠加。
性能结果及分析
高清视频处理模块实现了高清晰大分辨率视频信号的处理功能,图形处理器能够加速渲染HDMI视频信号,两路高清外视频实现了缩放和拼接,分辨率从1920×1080缩放到960×1080,在将两幅画面拼接在一起,形成一个分辨率为1920×1080的新的视频画面,最后将拼接后的画面和内视频透明叠加在一起,完成了整个视频信号的逻辑运算,满足了显示分系统的要求。
结语
高清视频处理模块主要完成了高清晰大分辨率的视频运算和处理。将传统的标清视频升级为高清画面,分辨率达到1920x1080。它通过显示分系统,将运算后的高清画面输出显示在高清显示器上。它增强了视频信息的可读性,增加了飞行员的认读范围和清晰度,有利于飞行员有效的了解综合态势,做出正确的决策。
高清视频处理模块位于显示分系统中,加速显示高清视频信号,实现高清视频的缩放和叠加。满足了飞行员对大尺寸和高清晰视频显示的需求。模块接收显示命令和视频数据,将融合信息加速显示到显示器上,同时接收解码两路高清外视频信号,在FPGA芯片中实现内视频和外视频的运算处理,包括缩放和叠加,并且将处理后的视频信息按照不同的要求输出到显示器上。
高清视频处理模块系统结构
高清视频处理模块内部包含图形处理器,它接收显示命令和数据,加速渲染图形画面,输出为高清视频信号,在FPGA中运算融合外视频信号,两路分别输出到外部显示器上,视频格式分别为高清LVDS和高清DVI。
高清视频处理模块主要功能电路包括图形处理器电路、视频叠加和缩放逻辑电路、编解码电路和供电复位时钟电路。模块系统组成框图如图1所示。
高清视频处理模块硬件电路设计
图形处理器电路
图形处理器电路主要负责内部高清视频的生成和视频输出控制。它将绘图数据和命令通过二维和三维图形加速管线加速生成并且存储在显存中,输出控制部件将显存中的数据按照相应格式输出视频信号。
图形处理器选用AMD公司的M9000芯片,该芯片支持高清视频处理,支持二维和三维图形硬件加速,OpenGL图形接口标准,工作频率高达250MHz,64MByte的显存容量,两路独立的显示输出通道,可选择LVDS、DVI、VGA、TV和并行LCD接口。本设计中,图形处理器生成内部视频信号分辨率为1920×1080,刷新频率为60Hz。
视频叠加和缩放逻辑电路
视频叠加和缩放逻辑电路包括FPGA和SRAM两部分电路,完成内视频和外视频的叠加运算和缩放。从FPGA的角度计算,其功能接口包括,一路高清内视频信号,由图形处理器生成,两路高清外视频信号,经过解码器解码后输出到FPGA芯片中,一路高清DVI视频输出,对外输出一路高清DVI信号,一路双LVDS视频输出,满足高清LVDS信号输出到液晶显示器上,最后是SRAM缓存部分,实现视频信号缓存功能。
基于FPGA功能接口数量和模块功耗的要求,本设计选择XILINX公司的SPARTAN-6系列中的XC6SLX150-2FGG9001芯片。该片共有147443个逻辑处理单元,可使用的I/O管脚多达576个,逻辑资源相当丰富,能够满足高清视频缩放和叠加功能对逻辑资源的需求。
SRAM存储器用来缓冲视频信息,它用触发器存储信息,触发器在信息读出后可以保持原有的状态,因此SRAM不需要再生。即使DRAM的集成度比SRAM高,并且功耗小,价格低,但是目前SRAM容量在增大,速度比DRAM高,时序控制比DRAM简单。最重要的是SRAM作为存储芯片比较稳定,因此本设计选择CYPRESS公司的SRAMCY7C1470BV33-167AXI作为视频信号缓存。模块采用6片SRAM,该芯片存储容量为2 M×36 bits,3.3V供电,支持167MHz的总线操作,工作温度为-40℃到+85℃,满足视频缓存的需求。
编解码电路
编解码电路由解码电路和编码电路组成。解码电路主要完成两路高清数字DVI视频的解码功能,将解码后符合类VESA视频时序的数字RGB信号传输到FPGA中。解码电路采用两片AD公司的ADV7162。该芯片为双通道高清数字DVI解码器,支持HDMI标准1.4a,具有可编程均衡器,每一个HDMI接口支持5V供电和热插拔检测,工作频率高达225 MHz,工作温度为-40℃到+85℃。
编码器电路完成两路视频的编码功能,分别将FPGA输出的数字RGB视频信号编码转换成一路双LVDS信号和一路高清DVI信号。双LVDS信号直接驱动液晶显示器,物理链路共有2对差分时钟线和8对差分数据线,它从FPGA接收并行数字RGB信号转换成串行LVDS信号。该编码器采用NI公司的DS90C387来完成双LVDS信号的编码和发送功能,该芯片支持单像素和双像素两种数据传输方式,能将48bit并行TTL数据(双24位色像素)转换成8对LVDS差分数据线,双像素速率最高支持112MHz,能够满足1080p高清视频的编码和驱动传输的要求。
另一路高清DVI信号同样是从FPGA芯片接收并行数字RGB信号后编码转换而来,所承载的逻辑传输内容和双LVDS信号通路相同,不同的是它将并行数字RGB视频编码成串行差分的TMDS物理链路信号,编码器采用AD公司的ADV7513,该芯片是一款高分辨率多媒体接口编码器,支持DVI的v1.4协议,其并行发送时钟高达165MHz,支持1080p的视频编码,满足编码格式和高清分辨率的要求。
供电复位时钟电路
供电复位时钟电路完成高清视频处理模块的电源设计、时钟设计和系统复位功能。本模块采用单+5V供电,需要输入电流大约4安培,模块内部各个芯片需要1.2V、1.8V、2.5V和3.3V四种电压,所有芯片没有上电顺序的要求,因此可以使用两路开关电源转换芯片LTM4616实现。时钟电路提供支持模块需要的时钟频率,本设计中高清DVI解码器需要28.63636MHz的时钟频率,图形处理器和FPGA芯片需要25MHz和27MHz的时钟频率。这三种时钟均由相应频点的晶振产生。
稳定的复位电路是模块稳定工作的前提,本设计提供手动复位、上电复位和电源监控。当这三种复位条件之一具备时,均会复位模块。
视频叠加和缩放逻辑算法思想
视频画面缩放逻辑设计
高清视频处理模块需要在FPGA中实现的逻辑功能主要有视频信号的叠加和缩放,和两路视频信号的输出控制功能。它接收两路高清外视频信号,经过码流的解析后存储在SRAM中。接下来完成缩放功能,将两路外视频分辨率1920×1080的高清视频缩小到960×1080,然后将缩小的画面拼接成一幅画面,即拼接后的分辨率为1920×1080,接下来将内视频和拼接后的画面透明叠加在一起,构成一幅新画面。最后,输出控制逻辑将叠加后的视频分别以双LVDS和DVI格式输出到编码器,完成整个逻辑运算功能。图2逻辑运算流程框图。
高清视频处理模块对视频信号的缩放处理采用三次卷积法。该方法不同于常用的最近邻域法和双线性插值法。最近邻域法是通过反向变换得到一个浮点坐标,对其简单的取整后得到一个整数型坐标,这个整数型坐标就是目的像素的像素值,最邻近插值简单直观,但得到的图像质量不高。双线性插值算法的思想是目标图像中新创造的像素点值是由源图像位置在它附近的2×2区域4个邻近像素的值加权平均计算得出的。双线性插值算法获得的图像质量较高,不会出现像素点不连续的情况。但该方法低通滤波功能较好,高频分量会受损,所以可能会使图像轮廓在一定程度上变得模糊。三次卷积法克服了以上两种方法的不足,它输出图像的每一个像素都是原图16个像素(4×4)运算的结果。在使用三次卷积插值时,目标点的值借助周围的16个已知的像素点的值重采样计算得到。该方法图像质量较高,同时保留了高频成分。
视频叠加逻辑算法
本设计中,视频叠加实现了内视频信号和拼接后的外视频的透明叠加。这种方法能够将更多的高清晰的内容显示出来,并且叠加的两部分的分辨率是相同的。采用的叠加方法是成熟的阿尔法混合叠加法,其特点是叠加后能够同时看到两幅视频画面。该算法的思想可以描述为:
目标象素=图像1象素×α+图像2象素×(1-α)(1)
上述公式(1)中,α为叠加因子,当α取0.5时,叠加效果是半透明叠加。
性能结果及分析
高清视频处理模块实现了高清晰大分辨率视频信号的处理功能,图形处理器能够加速渲染HDMI视频信号,两路高清外视频实现了缩放和拼接,分辨率从1920×1080缩放到960×1080,在将两幅画面拼接在一起,形成一个分辨率为1920×1080的新的视频画面,最后将拼接后的画面和内视频透明叠加在一起,完成了整个视频信号的逻辑运算,满足了显示分系统的要求。
结语
高清视频处理模块主要完成了高清晰大分辨率的视频运算和处理。将传统的标清视频升级为高清画面,分辨率达到1920x1080。它通过显示分系统,将运算后的高清画面输出显示在高清显示器上。它增强了视频信息的可读性,增加了飞行员的认读范围和清晰度,有利于飞行员有效的了解综合态势,做出正确的决策。
传感器 显示器 FPGA 电路 LCD 解码器 总线 HDMI 编码器 电流 电压 开关电源 相关文章:
- 基于FPGA的高速图像采集系统设计(03-30)
- 在单个FPGA平台上采用多种工业以太网标准进行设计(03-13)
- 基于CPLD的CCD信号发生器的研究(04-08)
- 在嵌入式设计中降低CPLD的功耗(04-30)
- Xilinx FPGA的功耗优化设计(04-08)
- 基于太空级Virtex FPGA的灵活高性能计算平台(04-08)