发明内容
本发明的目的在于提供一种使用FPGA实现SDI视频内容分析和监测的设备。
为了实现上述目的,本发明采用如下技术方案:一种使用FPGA实现SDI视频内容分析和监测的设备,包括信号输入端,用于SDI信号输入;信号输出端,用于SDI信号输出;其特征在于该设备包括均衡器,用于对SDI视频信号进行均衡;解串器,用于对均衡后的SDI视频信号进行解串;FPGA,从上述解串后的SDI数据中分离掉音频流,将图像数据送入存储器,并对SDI图像数据进行分析和监测;串化器,用于对解串后的SDI视频信号进行串化;存储器,用于存储先前帧的图像数据,供FPGA使用;背板接口,与FPGA连接,用于输出数字视频信号和控制信号。该设备还包括切换电路,在断电情况下,信号输入端直接连接至信号输出端,在受电情况下,信号输入端连接至均衡器,信号输出端连接至串化器。
本发明的另一目的在于提供一种使用FPGA实现SDI视频内容分析和监测的方法。
为了实现上述目的,本发明采用如下技术方案:一种使用FPGA实现SDI视频内容分析和监测的方法,其特征在于该方法包括以下步骤:A、解串器对信号输入端输入的SDI视频信号进行解串,并送入FPGA;B、FPGA将当前帧数据送入存储器内,同时对当前帧SDI数据的内容进行分析和监测;C、FPGA将当前帧SDI数据送至串化器,由串化器串化后送至输出端。其中步骤B又包括静帧检测和黑场白场检测两个模块。
其中静帧检测模块包括:a、解析当前帧SDI数据;b、获取存储器中的SDI数据;c、将两组数据进行逐点亮度计算;d、逐点进行区域抽样亮度比对;e、判断当前帧是否静帧,如是则转f,如否则转h;f、静帧计数器加1,并重置正常帧计数器为0;g、判断静帧是否达到报警门限,如是则返回静帧报警,如否则返回正常;h、正常帧计数器加1;i、判断静帧计数器是否达到阈值,是则重置静帧计数器为0,并返回正常,如否则j;j、判断静帧是否达到报警门限,如是则返回静帧报警,如否则返回正常。
其中黑场白场检测模块包括:a、解析当前帧SDI数据;b、选择特定比对矩形区域;c、计算区域内灰度;d、判断计算灰度是否大于设定图像黑场白场阈值,如否则黑场白场告警计数器清零,并返回正常,如是则e;e、判断黑场白场计数器是否大于设定阈值,如是则返回黑场白场告警,如否则返回正常。
本发明能针对SDI信号进行实时监测,有效地监测出图像层报警信息,提高监测的自动化程度和准确性,减轻监测人员的操作复杂度。本发明的优点在于实时监测在嵌入式系统实现,脱离服务器,因此设备外形尺寸小,稳定性增强,性价比高。
具体实施方式
下面对本发明进行进一步描述。
如图1所示,一种使用FPGA实现SDI视频内容分析和监测的设备,包括信号输入端SDI IN,用于SDI信号输入;信号输出端SDI OUT,用于SDI信号输出;其特征在于该设备包括均衡器2,用于对SDI视频信号进行均衡;解串器3,用于对均衡后的SDI视频信号进行解串;FPGA 4,从上述解串后的SDI数据中分离掉音频流,将图像数据送入存储器,并对SDI图像数据进行分析和监测;串化器7,用于对解串后的SDI视频信号进行串化;存储器6,用于存储先前帧的图像数据,供FPGA使用;背板接口5,与FPGA连接,用于向CPU输出数字视频信号和控制信号;切换电路1,在断电情况下,信号输入端直接连接至信号输出端,在受电情况下,信号输入端连接至均衡器,信号输出端连接至串化器。
如图所示,在本发明的一个实施例中,均衡器采用LMH0034,解串器采用LMH0041,串化器采用LMH0040,存储器DDR2采用标准器件(可根据单板性能选择相应容量512MB,1GB,4GB);FPGA采用EP3C40;信号输入端、信号输出端采用BNC插头;背板接口采用HMF-AB25239-C01硬件接口。
均衡器LMH0034:3.3V供电,均衡器LMH0034中的CD非 Pin用于判断有无SDI信号存在,当CD非为高时,表示没有SDI信号;当CD非为低时,表示有SDI信号。该均衡器的CD非信号端直接接FPGA,当FPGA检测到无SDI信号时,将发出无信号告警给CPU。
解串器LMH0041:均衡器输出的SDO输入到解串器LMH0041,用LMH0041中的RX_MUX_SEL脚选择其中一路SDO作为输入。当RX_MUX_SEL脚为高电平时,选择RXIN1作为输入;当RX_MUX_SEL脚为低电平时,选择RXIN0作为输入。
串化器LMH0040:串化器LMH0040中的TX[4:0]从FPGA输入,并转换成SDI输出。
存储器:用于存储图像数据,在本实施例中采用双倍速率同步动态随机存储器DDR2,可选用的DDR2的型号为HY5PS1G1631CFP,其内存容量为1Gb,1.8V供电,位宽为16,若2块型号为HY5PS1G1631CFP并联使用,位宽为32。用于存储视频数据。也可DDR2的型号为HMP451S6MMP8C- Y5,其内存容量为4G,1.8V供电,用于存储大量视频数据,达到延时目的。
FPGA:可选择altera ep3c40 -c6 fg484 8bank芯片,315个IO端口。其中4个Bank用于DDR2,电压为1.8V;2个Bank的电压为2.5V,用于National芯片的LVDS信号输入;最后2个Bank的电压为3.3V,用于其他,如YUV、IIS输入输出,National芯片中其他控制脚等。对DDR2 SDRAM控制,进行图像层大容量缓存。
如图所示,FPGA包含与解串器和串化器连接的图像数据提取模块,该图像数据模块的输出端与黑场白场检测模块的输入端以及静帧检测模块的一个输入端连接,静帧检测模块的另一输入端与存储器连接,黑场白场检测模块和静帧检测模块的输出端均与背板接口连接,通过背板接口连接至CPU处理板。
切换电路采用继电器G6Z-1F;继电器第一开关的公共端与信号输入端连接,继电器第一开关的常开端与均衡器连接,继电器第一开关的常闭端与第二继电器的常闭端连接,继电器第二开关的常开端与串化器连接,继电器第二开关的公共端与信号输出端连接,继电器的控制端与FPGA连接。当该设备断电时,SDI信号从信号输入端经第一开关和第二开关后,直接从信号输出端输出;当该设备得电时,FPGA送出控制信号,继电器吸合,SDI信号从信号输入端经第一开关送至均衡器,而处理后的SDI信号从串化器经第二开关送至信号输出端。
硬件的主要工作原理是:由均衡器LMH0034检测SDI信号。SDI经解串器解串后输入到FPGA,FPGA在CPU的控制下完成对SDI图像和码流进行监测。与CPU通讯的方式为波特率115200的RS232串口(TTL电平)。利用该串口对图像特征和阈值进行设定。设定完成后FPGA首先分离音频流,并通过IIS协议传输,然后将图像流中的亮度信号送入存储器DDR2中进行缓存。同时检测整块图像中的数据,做黑场、白场检测和静帧检测。将所有的判定情况与阈值进行告警。完成监测后,将数据输出并通过LMH0040进行编码输出SDI信号。
黑场白场模块的框图如图2所示,具体包括:a、解析当前帧SDI数据;b、选择特定比对区域(所述特定比对区域没有特别限制,一般为用户设定指定比对区域,如果不指定按照默认矩形区域);c、计算区域内灰度;d、判断计算灰度是否大于设定图像黑场白场阈值,如否则黑场白场告警计数器清零,并返回正常,如是则e;e、判断黑场白场计数器是否大于设定阈值,如是则返回黑场白场告警,如否则返回正常。
黑场和白场的测定:将有效区域内逐点和阈值比较。
采用同色比较方法:将测定区域划分成多个区域。累加所有区域内的灰度值,将累计一定的灰度区域以后送入比较器,当灰度值超过设定的阈值范围即认定同色,送入告警计数器。一旦告警计数器超过门限即发告警。
不同颜色代表不同的灰度差取值区域。
黑场、白场检测算法的图像缓存方式如图3所示。其中存储器:用于存储所有的抽样点;延迟数据缓冲区域:用于高速缓冲上一行抽样点;延迟单元:对当前行进行延迟,获取同行比较点;比较区域:进行数据比较;计数器,用于告警计数。其中延迟数据缓冲区域、延迟单元、比较区域和计数器均设置在FPGA内。存储器中图像的存储格式:行坐标+列坐标,采用行列坐标各8位的合并16位。
根据本发明的一个实施例,黑场和白场数据比较方法如下。
首先将对应的数据缓存下来,经过行延迟和列延迟以后将对应的数据送入比较区域进行比较。
比较结构说明如图4所示,其中黑点43为工作点,红点41为对应工作点上一行采样点,黄点42为对应工作点的同样采样点。
上一行采样点比较:基于生成的行列坐标,确定当前的工作点,从延迟数据缓冲区域中获取当前工作点相邻的上一行3-4个数据采样点。送入比较区域中比较。
同行采样点比较:同行的比较则将对应的数据缓存一拍以后送出即可。也同样送入比较区域中进行比较。
比较结果:在比较区域内,如果判定当前工作点与周围工作点为同色,并且为黑场或白场,则计数器+1,如果同一帧内,计数器的值达到设定阈值,则判定当前帧为黑场或白场。
比较区域:比对抽样点。
静帧检测模块的框图如图5所示,具体包括:a、解析当前帧SDI数据;b、获取存储器中的SDI数据;c、将两组数据进行逐点亮度计算;d、逐点进行区域抽样亮度比对;e、判断当前帧是否静帧,如是则转f,如否则转h;f、静帧计数器加1,并重置正常帧计数器为0;g、判断静帧是否达到报警门限,如是则返回静帧报警,如否则返回正常;h、正常帧计数器加1;i、判断静帧计数器是否达到阈值,是则重置静帧计数器为0,并返回正常,如否则j;j、判断静帧是否达到报警门限,如是则返回静帧报警,如否则返回正常。
静帧模块通过从DDR内部调取上一帧对应的帧信息来判别出静帧:进行逐点亮度比较。然后将对应的使能送入至告警计数器。
而告警计数器分为两部分:正常帧计数器与静帧计数器。
接收到静帧时,静帧计数器自增一位,并重置正常帧计数器,达到静帧告警门限后,返回静帧告警。
接收到正常帧计数器时,正常帧计数器自增一位,在正常帧计数器达到设定阈值后,重置静帧计数器,返回正常。