一种基于FPGA的视频同步切换系统及方法
技术领域
本发明涉及信号处理领域,更具体的,涉及一种基于FPGA的视频同步切换系统及方法。
背景技术
随着视频领域的迅速拓展,视频格式越来越多,分辨率越来越大,用户对视频的清晰度要求越来越高,而对视频的切换需求领域也越来越广泛。
目前许多视频切换都是基于模拟器件的方式,实现方式非常不灵活,而且集成度也不高。组合逻辑的切换方式则会导致视频通道延时过大,不能有效支持高分辨率高数据速率的视频格式,从而降低了图像质量,特别是高清视频,其切换后的视频质量被大大降低。而专业的切换芯片又不够灵活,只能适应特定方式的视频切换模式,不能支持后续的升级。
有鉴于此,本发明的目的在于提供一种新的技术方案以解决现存的技术问题。
发明内容
本发明为了克服上述现有技术中至少一种缺陷或不足,提供一种基于FPGA的视频同步切换系统及方法,无需外挂视频信号缓冲器,只需内部少量的FIFO单元做信号的隔离存储,支持多路视频任意同步切换,同时支持多种高分辨率视频的切换,集成度高,方式灵活。
为达到上述有益效果,本发明的技术方案如下:
一种基于FPGA的视频同步切换系统,包括AD转换模块,其将输入的模拟视频信号转换为数字视频信号;分辨率检测模块,其对数字视频信号进行采样,输出相关采样参数;中央处理器,其根据相关采样参数调节AD转换模块输出相应的数字视频信号,接收并传输外部的切换参数;CPU接口模块,其用于连接中央处理器和FPGA内部存储单元;第一信号同步模块,其对多路数字视频信号进行多级同步;同步逻辑切换模块,其根据切换参数将同步后的多路数字视频信号进行切换输出;DA转换模块,其将切换输出的数字视频信号转换为模拟视频信号;时钟处理模块,其将输入的时钟信号进行倍频,输出高速检测时钟信号至分辨率检测模块。
进一步,所述同步逻辑切换模块包括时钟切换模块和视频切换模块;所述时钟切换模块将同步后的多路数字视频信号中的像素时钟进行切换输出至视频信号切换模块和DA转换模块,并根据切换参数输出多路复位信号至视频信号切换模块;所述视频切换模块将同步后的多路数字视频信号缓冲存储,并根据切换参数选择输出数字视频信号至DA转换模块。
进一步,所述时钟切换模块包括复位信号模块、切换选择模块、全局缓冲模块和ODDR模块;所述复位信号模块根据切换参数生成多路复位信号输出至视频信号切换模块;所述切换选择模块对像素时钟进行切换选择输出至所述全局缓冲模块;所述全局缓冲模块将像素时钟信号输出至全局时钟网络和ODDR模块;所述ODDR模块输出像素时钟至DA 转换模块。
进一步,所述视频切换模块包括视频信号存储模块、同步选择模块和第二信号同步模块;所述视频信号存储模块将同步后的多路数字视频信号进行缓冲存储,并根据多路复位信号对相应的存储模块进行复位;所述同步选择模块根据切换参数选择相应的缓冲存储器中的数据进行输出;所述第二信号同步模块对选择输出的数据进行多级同步后输出至DA 转换模块。
进一步,所述缓冲存储采用FPGA内部FIFO缓冲隔离存储单元。
一种基于FPGA的视频同步切换方法,包括以下步骤:
S01. 将输入的模拟视频信号转换为数字视频信号;将输入的时钟信号进行倍频,获取高速检测时钟信号;
S02. 用高速检测时钟信号对数字视频信号进行采样,获取相关采样参数,同时对多路数字视频信号进行多级同步;
S03. 根据相关采样参数调节输出相应的数字视频信号,并接收外部的切换参数;
S04. 根据切换参数将同步后的多路数字视频信号进行切换输出;
S05. 将切换输出的数字视频信号转换为模拟视频信号。
进一步,所述步骤S04之前还包括步骤A. 获取同步后的多路数字视频信号中的像素时钟,根据切换参数获取多路复位信号;B. 将同步后的多路数字视频信号缓冲存储。
具体的,所述步骤S04包括:
S401. 根据多路复位信号对相应的存储地址进行复位;
S402.根据切换参数选择相应存储地址的数据;
S403. 对选择的数据进行多级同步后输出。
进一步,所述步骤B缓冲存储为FIFO缓冲隔离存储。
本发明的有益效果:本发明将基于FPGA同步时序逻辑的方式来实现多路视频源到多路视频输出的任意同步切换,内部视频图像传输过程中无压缩和变换,电路简单,集成度高,无需外部存储器,在保证了图像质量的情况下支持多种分辨率视频的切换,解决了FPGA组合逻辑切换方式导致的图像线路延伸过大而导致的图像质量的降低,以及模拟器件切换方式导致的器件集成度不高和不灵活的弊端。
附图
图1为本发明一种基于FPGA的视频同步切换系统的原理框图;
图2为本发明一种基于FPGA的视频同步切换系统更具体的原理图;
图3为时钟切换模块的原理图;
图4为视频切换模块的原理图;
图5为本发明一种基于FPGA的视频同步切换方法的步骤流程图;
图6为步骤S04的流程图;
图7为本发明一具体实施例的原理图;
图8为本发明另一具体实施例的原理框图;
图9为另一具体实施例的一路视频输出的同步逻辑切换模块原理框图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案作进一步说明,但本发明不受所述具体实施例所限。
对于本领域技术人员来说附图中某些公知结构及其说明可能省略是可以理解的。
如图1所示的本发明一种基于FPGA的视频同步切换系统的原理框图,包括AD转换模块,其将输入的模拟视频信号转换为数字视频信号;分辨率检测模块,其对数字视频信号进行采样,输出相关采样参数;中央处理器,其根据相关采样参数调节AD转换模块输出相应的数字视频信号,接收并传输外部的切换参数;CPU接口模块,其用于连接中央处理器和FPGA内部存储单元;第一信号同步模块,其对多路数字视频信号进行多级同步;同步逻辑切换模块,其根据切换参数将同步后的多路数字视频信号进行切换输出;DA转换模块,其将切换输出的数字视频信号转换为模拟视频信号;时钟处理模块,其将输入的时钟信号进行倍频,输出高速检测时钟信号至分辨率检测模块。
进一步作为本发明优选的实施方式,如图2所示的本发明一种基于FPGA的视频同步切换系统更具体的原理图,所述同步逻辑切换模块包括时钟切换模块和视频切换模块;所述时钟切换模块将同步后的多路数字视频信号中的像素时钟进行切换输出至视频信号切换模块和DA转换模块,并根据切换参数生成多路复位信号至视频信号切换模块;所述视频切换模块将同步后的多路数字视频信号缓冲存储,并根据切换参数选择输出数字视频信号至DA转换模块。
进一步,作为优选的实施方式,如图3所示的时钟切换模块的原理图,所述时钟切换模块包括复位信号模块、切换选择模块、全局缓冲模块和ODDR模块;所述复位信号模块根据切换参数生成多路复位信号至视频信号切换模块;所述切换选择模块对像素时钟进行切换选择输出至所述全局缓冲模块;所述全局缓冲模块将像素时钟信号输出至全局时钟网络和ODDR模块;所述ODDR模块输出像素时钟至DA 转换模块。
进一步作为优先的实施方式,如图4所示的视频切换模块的原理图,所述视频切换模块包括视频信号存储模块、同步选择模块和第二信号同步模块;所述视频信号存储模块将同步后的多路数字视频信号进行缓冲存储,并根据多路复位信号对相应的存储模块进行复位;所述同步选择模块根据切换参数选择相应的缓冲存储器中的数据进行输出;所述第二信号同步模块对选择输出的数据进行多级同步后输出至DA 转换模块。
进一步作为优选的实施方式,本发明所述缓冲存储采用FPGA内部FIFO缓冲隔离存储单元。
如图5所示的本发明一种基于FPGA的视频同步切换方法的步骤流程图,包括以下步骤:
S01. 将输入的模拟视频信号转换为数字视频信号;将输入的时钟信号进行倍频,获取高速检测时钟信号;
S02. 用高速检测时钟信号对数字视频信号进行采样,获取相关采样参数,同时对多路数字视频信号进行多级同步;
S03. 根据相关采样参数调节输出相应的数字视频信号,并接收外部的切换参数;
S04. 根据切换参数将同步后的多路数字视频信号进行切换输出;
进一步作为优先的实施方式,所述步骤S04之前还包括步骤A. 获取同步后的多路数字视频信号中的像素时钟,根据切换参数获取多路复位信号;B. 将同步后的多路数字视频信号缓冲存储。
具体的,如图6所示的步骤S04的流程图,包括:
S401. 根据多路复位信号对相应的存储地址进行复位;
S402. 根据切换参数选择相应存储地址的数据;
S403. 对选择的数据进行多级同步后输出。
S05. 将切换输出的数字视频信号转换为模拟视频信号。
进一步作为优先的实施方式,所述步骤B缓冲存储为FIFO缓冲隔离存储。
实施例1
如图7所示的本发明一具体实施例的原理图,多路模拟视频信号经AD转换模块转换为多路数字视频信号,分辨率检测模块用时钟处理模块产生的高速检测时钟对AD转换模块输出的多路数字视频信号进行采样,并将采集到的相关参数通过CPU接口模块提交中央处理器,中央处理器根据相对应的参数对AD转换模块进行相关设置,接收并传输外部的切换指参数。
第一信号同步模块通过在信号传输的路径上插入多级寄存器对多路数字视频信号进行多级同步,减少寄存器之间的线路延迟,提高系统的工作频率,满足输入时序约束的要求。时钟切换模块中的切换选择模块根据中央处理器输出的切换参数对多级同步后的数字视频信号中的像素时钟进行切换选择,并将切换选择输出的一路像素时钟通过全局缓冲模块引入到逻辑内部的全局时钟网络,从而降低时钟在逻辑内部的布线延时。像素时钟通过ODDR模块输出至DA转换模块,,这样可以降低像素时钟的输出延时。时钟切换模块中的复位信号模块根据切换参数产生多路复位信号给视频信号存储模块,视频信号存储模块对相应的存储模块进行复位。
在实现视频切换功能之前,视频信号存储模块对每一路视频的行同步信号、场同步信号和数据信号进行FIFO缓冲存储,将输入的视频信号和输出的视频信号隔离开来分别处理,从而实现前后端视频信号的输入时序约束和输出时序约束,提高视频接口的工作频率。在切换输出时,同步选择模块根据切换参数选择视频信号存储器中相应的缓冲存储器中的数据进行输出,同时由全局缓冲模块输出的时钟做为系统时钟,第二信号同步模块对通过在信号传输的路径上插入多级寄存器对多路数字视频信号进行多级同步,减少寄存器之间的线路延迟,提高系统的工作频率,满足输出时序约束的要求,将数据信号输出至DA转换模块。
DA转换模块将输入的数字视频信号和ODDR模块输出的像素时钟转换为模拟视频信号输出。
本发明基于对多路视频的行同步信号、场同步信号和数据信号进行FIFO缓冲隔离的方式来实现信号前后端的同步,通过对视频输入输出添加合适的时序约束提高系统的工作频率,支持高清视频。基于FPGA实现多路输入视频的任意同步切换输出,方法简单容易实现,对视频质量无影响,并且易于扩展,而且占用逻辑资源少。
实施例2
本实施例基于5路VGA视频输入到4路VGA视频的任意同步切换输出。
如图8所示的另一具体实施例的原理框图,输入5路VGA视频信号,通过AD解码芯片转换为RGB888彩色模式的数字视频信息。由于VGA解码芯片不能够确定视频输出的有效区域,需要通过中央处理器对其输出的有效区域进行设置,在中央处理器不知道其分辨率的情况下,会导致视频输出的有效区域产生偏差,从而显示器输出的时候,会导致视频有黑边出现。时钟处理模块对外部输入的时钟进行倍频,产生VGA分辨率检测模块所需要的高速检测时钟。时钟逻辑模块还可消除外部输入时钟的占空比失真及减少时钟抖动。
VGA分辨率检测模块通过高速时钟对VGA解码芯片输出的相关视频信号进行采样,并将采集到的相关参数提交给中央处理器,中央处理器根据相对应的参数对VGA解码芯片进行设置,从而输出有效的视频区域,达到消除黑边的效果。可以通过中央处理器设置视频的切换参数。
CPU接口模块是根据中央处理器的BUS总线读写时序,实现中央处理器通过BUS总线操作FPGA内部存储单元的接口。CPU接口模块可以根据不同的CPU的接口要求进行修改。
由于逻辑芯片规模比较大,会导致内部线路延时也比较大,第一信号同步模块对输入的每路VGA数字视频信号进行多级同步,在信号传输的路径上插入多级寄存器,从而减少寄存器之间的线路延时,提高系统的工作频率,满足输入时序约束要求。
如图9所示的另一具体实施例的一路视频输出的同步逻辑切换模块原理框图,同步逻辑切换模块内部主要包含有时钟切换功能和视频切换功能。时钟切换功能对输入的5路视频通道的像素时钟进行切换选择,并将切换选择输出的一路时钟通过全局缓冲模块引入到逻辑内部的全局时钟网络,从而降低时钟在逻辑内部的布线延时。通过逻辑内部的ODDR模块输出像素时钟,这样可以降低像素时钟的输出延时。时钟切换模块同时产生5路复位信号给视频信号存储模块,根据切换参数对相应的存储模块进行复位。
视频信号存储模块对每一路视频的行同步信号、场同步信号和数据信号进行FIFO缓冲存储,将输入的视频信号和输出的视频信号隔离开来分别处理,从而实现前后端视频信号的输入时序约束和输出时序约束,提高视频接口的工作频率。在切换输出时,根据切换参数选择相应的缓冲存储器中的数据进行输出,同时由全局缓冲模块输出的时钟作为系统时钟,对选择输出的数据信号进行同步之后输出至DA转换芯片,从而减小逻辑内部同步寄存器之间的延时。
DA转换芯片将选择输出的数据信号转换为模拟视频信号输出。
本发明将基于FPGA同步时序逻辑的方式来实现多路视频源到多路视频输出的任意同步切换,内部视频图像传输过程中无压缩和变换,在保证了图像质量的情况下支持多种分辨率视频的切换,解决了FPGA组合逻辑切换方式导致的图像线路延伸过大而导致的图像质量的降低,以及模拟器件切换方式导致的器件集成度不高和不灵活的弊端。
附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。