一种基于FPGA的视频信号有效性判断方法及系统转让专利

申请号 : CN201810076219.8

文献号 : CN108347599B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张贞雷

申请人 : 郑州云海信息技术有限公司

摘要 :

本发明公开了一种基于FPGA的视频信号有效性判断方法及系统,所述方法包括:一、在显卡芯片以不同分辨率输出时,通过检测行同步信号Hs、场同步信号Vs为高或低的时间段内像素时钟pixel_clk的时钟数,判定当前分辨率下行同步信号Hs、场同步信号Vs为高或低的有效状态;二、在判定行同步信号Hs、场同步信号Vs有效状态为稳定,再将经过输出调整模块处理后的信号输出给视频处理模块。输出调整模块确保输入到视频处理模块的Hs_adjust、Vs_adjust信号都是高有效,并且只有在Hs、Vs信号都稳定时,才将数据有效信号data_en输入到视频处理模块,方便视频处理模块进行分辨率检测、调整、压缩等操作。

权利要求 :

1.一种基于FPGA的视频信号有效性判断方法,其特征在于,包括以下步骤:

一、在显卡芯片以不同分辨率输出时,通过检测行同步信号Hs、场同步信号Vs为高或低的时间段内的像素时钟pixel_clock的时钟数,判定当前分辨率下行同步信号Hs、场同步信号Vs为高或低的有效状态;

二、在判定行同步信号Hs、场同步信号Vs有效状态为稳定后,再将经过输出调整模块处理的行同步信号Hs、场同步信号Vs、视频数据有效信号data_en输出给视频处理模块;所述行同步信号Hs经过Hs_lock模块判定信号是高或低的有效状态,在行同步信号Hs稳定之后,Hs_lock模块给输出调整模块输出Hs_lock信号和Hs_high_vld信号;所述场同步信号Vs经过Vs_lock模块判定信号是高或低的有效状态,在场同步信号Vs稳定之后,Vs_lock模块给输出调整模块输出Vs_lock信号和Vs_high_vld信号;

所述Hs_lock模块对行同步信号Hs高或低有效的判定过程,包括:

S1统计一个Hs周期内,Hs为高时,pixel_clock的个数Hs_cnt_high;

S2统计一个Hs周期内,Hs为低时,pixel_clock的个数Hs_cnt_low;

S3如果N个周期内,Hs_cnt_high保持不变,同时Hs_cnt_low保持不变,则Hs_lock_cnt+

1,否则Hs_lock_cnt重新置0;

S4当Hs_lock_cnt=N时,表示Hs信号稳定,将Hs_lock信号置为1,如果Hs_cnt_high>Hs_cnt_low,则拉高Hs_high_vld,表示Hs高有效;如果Hs_cnt_high

S5Hs_lock_cnt

所述Vs_lock模块对场同步信号Vs高或低有效的判定过程,包括:

①统计一个Vs周期内,Vs为高时,pixel_clock的个数Vs_cnt_high;

②统计一个Vs周期内,Vs为低时,pixel_clock的个数Vs_cnt_low;

③如果M个周期内,Vs_cnt_high保持不变,同时Vs_cnt_low保持不变,则Vs_lock_cnt+

1,否则Vs_lock_cnt重新置0;

④当Vs_lock_cnt=M时,表示Vs信号稳定;将Vs_lock信号置为1,如果Vs_cnt_high>Vs_cnt_low,则拉高Vs_high_vld,表示Vs高有效;如果Vs_cnt_high

⑤Vs_lock_cnt

其中,FPGA为现场可编程逻辑器件;Hs_lock为Hs锁定信号;Vs_lock为Vs锁定信号;Hs_high_vld为高时指示,Hs信号为高有效,否则Hs为低有效,并且该信号只在Hs_lock为高之后才有效;Vs_high_vld为高时指示,Vs信号为高有效,否则Vs为低有效,并且该信号只在Vs_lock为高之后才有效;Hs_cnt_high为一个Hs周期内,Hs为高时像素时钟pixel_clock计数器;Hs_cnt_low为一个Hs周期内,Hs为低时像素时钟pixel_clock计数器;Vs_cnt_high为一个Vs周期内,Vs为高时像素时钟pixel_clock计数器;Vs_cnt_low为一个Vs周期内,Vs为低时像素时钟pixel_clock计数器;Data_en为视频数据有效信号,在该信号为高期间的像素信号是有效的像素,可以显示;当该信号为低时,像素信号无效,不显示;Hs_adjust为输出信号,Hs为高有效且稳定时,此信号为Hs,否则该信号为Hs的取反信号;Vs_adjust为输出信号,Vs为高有效且稳定时,此信号为Vs,否则该信号为Vs的取反信号;Data_en_adjust为输出信号,当Hs,Vs都稳定时,此信号为data_en,否则此信号为0。

2.根据权利要求1所述的一种基于FPGA的视频信号有效性判断方法,其特征在于,所述输出调整模块对行同步信号Hs、场同步信号Vs、视频数据有效信号data_en信号处理过程,包括:①如果Hs_lock为高,同时Hs_high_vld为高,则Hs_adjust=Hs;

②如果Hs_lock为高,Hs_high_vld为低,则Hs_adjust=(!Hs),即对Hs信号取反输出;

③如果Hs_lock为低,则Hs_adjust置0,即Hs不稳定时,不输出Hs信号给视频处理模块;

④如果Vs_lock为高,同时Vs_high_vld为高,则Vs_adjust=Vs;

⑤如果Vs_lock为高,Vs_high_vld为低,则Vs_adjust=(!Vs),即对Vs信号取反输出;

⑥如果Vs_lock为低,则Vs_adjust置0,即Vs不稳定时,不输出Vs信号给视频处理模块;

⑦只有当Hs_lock和Vs_lock同时为高的时候,Data_en_adjust=Data_en,否则Data_en_adjust置0。

3.根据权利要求2所述的一种基于FPGA的视频信号有效性判断方法,其特征在于,所述参数N和M均为可配置参数。

4.一种基于FPGA的视频信号有效性判断系统,其特征在于,包括Hs_lock模块、Vs_lock模块和输出调整模块,所述Hs_lock模块、Vs_lock模块的信号输入端分别连接显卡芯片的Hs信号、Vs信号输出端,像素时钟pixel_clock模块为Hs_lock模块、Vs_lock模块提供时钟信号,Hs_lock模块的、Vs_lock模块的信号输出端分别与输出调整模块的输入端连接,判定行同步信号Hs、场同步信号Vs的稳定后,输出调整模块输出行同步信号Hs、场同步信号Vs、视频数据有效信号data_en信号给视频处理模块;

所述Hs_lock模块对行同步信号Hs高或低有效的判定过程,包括:

S1统计一个Hs周期内,Hs为高时,pixel_clock的个数Hs_cnt_high;

S2统计一个Hs周期内,Hs为低时,pixel_clock的个数Hs_cnt_low;

S3如果N个周期内,Hs_cnt_high保持不变,同时Hs_cnt_low保持不变,则Hs_lock_cnt+

1,否则Hs_lock_cnt重新置0;

S4当Hs_lock_cnt=N时,表示Hs信号稳定,将Hs_lock信号置为1,如果Hs_cnt_high>Hs_cnt_low,则拉高Hs_high_vld,表示Hs高有效;如果Hs_cnt_high

S5Hs_lock_cnt

所述Vs_lock模块对场同步信号Vs高或低有效的判定过程,包括:

①统计一个Vs周期内,Vs为高时,pixel_clock的个数Vs_cnt_high;

②统计一个Vs周期内,Vs为低时,pixel_clock的个数Vs_cnt_low;

③如果M个周期内,Vs_cnt_high保持不变,同时Vs_cnt_low保持不变,则Vs_lock_cnt+

1,否则Vs_lock_cnt重新置0;

④当Vs_lock_cnt=M时,表示Vs信号稳定;将Vs_lock信号置为1,如果Vs_cnt_high>Vs_cnt_low,则拉高Vs_high_vld,表示Vs高有效;如果Vs_cnt_high

⑤Vs_lock_cnt

其中,FPGA为现场可编程逻辑器件;Hs_lock为Hs锁定信号;Vs_lock为Vs锁定信号;Hs_high_vld为高时指示,Hs信号为高有效,否则Hs为低有效,并且该信号只在Hs_lock为高之后才有效;Vs_high_vld为高时指示,Vs信号为高有效,否则Vs为低有效,并且该信号只在Vs_lock为高之后才有效;Hs_cnt_high为一个Hs周期内,Hs为高时像素时钟pixel_clock计数器;Hs_cnt_low为一个Hs周期内,Hs为低时像素时钟pixel_clock计数器;Vs_cnt_high为一个Vs周期内,Vs为高时像素时钟pixel_clock计数器;Vs_cnt_low为一个Vs周期内,Vs为低时像素时钟pixel_clock计数器;Data_en为视频数据有效信号,在该信号为高期间的像素信号是有效的像素,可以显示;当该信号为低时,像素信号无效,不显示;Hs_adjust为输出信号,Hs为高有效且稳定时,此信号为Hs,否则该信号为Hs的取反信号;Vs_adjust为输出信号,Vs为高有效且稳定时,此信号为Vs,否则该信号为Vs的取反信号;Data_en_adjust为输出信号,当Hs,Vs都稳定时,此信号为data_en,否则此信号为0。

5.根据权利要求4所述的一种基于FPGA的视频信号有效性判断系统,其特征在于,所述输出调整模块对行同步信号Hs、场同步信号Vs、视频数据有效信号data_en信号处理过程,包括:①如果Hs_lock为高,同时Hs_high_vld为高,则Hs_adjust=Hs;

②如果Hs_lock为高,Hs_high_vld为低,则Hs_adjust=(!Hs),即对Hs信号取反输出;

③如果Hs_lock为低,则Hs_adjust置0,即Hs不稳定时,不输出Hs信号给视频处理模块;

④如果Vs_lock为高,同时Vs_high_vld为高,则Vs_adjust=Vs;

⑤如果Vs_lock为高,Vs_high_vld为低,则Vs_adjust=(!Vs),即对Vs信号取反输出;

⑥如果Vs_lock为低,则Vs_adjust置0,即Vs不稳定时,不输出Vs信号给视频处理模块;

⑦只有当Hs_lock和Vs_lock同时为高的时候,Data_en_adjust=Data_en,否则Data_en_adjust置0。

说明书 :

一种基于FPGA的视频信号有效性判断方法及系统

技术领域

[0001] 本发明涉及一种视频信号的处理系统,尤其涉及一种基于FPGA的视频信号有效性判断方法及系统。

背景技术

[0002] 传统的视频处理中信号有效性判定过程,参见附图1,一般是通过信号判定IP接收显卡芯片的输出,对视频控制信号进行有效性判定,将判定完成后的结果输出给视频处理模块,视频处理模块再做分辨率检测,分辨率调整,视频压缩等处理。
[0003] 因为显卡芯片输出的行同步信号Hs、场同步信号Vs,会根据不同的视频分辨率而出现不同的高/低有效性,包括下面4种情况:
[0004] 1:Hs高有效,Vs高有效。
[0005] 2:Hs高有效,Vs低有效。
[0006] 3:Hs低有效,Vs高有效。
[0007] 4:Hs低有效,Vs低有效。
[0008] 因传统视频压缩方案中,采取信号判定IP将极大的增加项目成本,同时对于安全性要求较高的项目或产品,传统的视频压缩方案存在较大的安全隐患。
[0009] 如中国专利(授权公告号CN103929599B)公开了“一种基于FPGA的数字视频图像实时缩放处理方法”,涉及一种图像处理方法,用于解决现有单核高分辨率视频缩放方法,对硬件性能要求高、功耗大的问题。本发明对接收的视频信号进行视频采集处理,获得数字视频信号,FPGA模块对数字视频信号根据终端显示器的个数m做一次分割处理,将数字视频信号分割成m路预处理多核缩放数据;根据视频信号的最高像素速率要求,分别选择缩放核类型和单个缩放模块中缩放核个数n;根据缩放核个数n,将每路预处理多核缩放数据分割成n等分,并将分割后的缩放数据发送至n个缩放核进行图像缩放;按照像素在帧内的先后顺序进行汇总合并,获得m路多核缩放数据并输出。该方法虽然能够提高图像处理的质量,但并未改善视频处理中信号有效性判定的效率和安全问题。

发明内容

[0010] 本发明提出一种基于FPGA的视频信号有效性判断方法及系统,用于解决现有的视频处理中信号有效性判定的效率和安全问题。
[0011] 本发明通过以下技术方案予以实现:
[0012] 一种基于FPGA的视频信号有效性判断方法,包括以下步骤:
[0013] 一、在显卡芯片以不同分辨率输出时,通过检测行同步信号Hs、场同步信号Vs为高或低的时间段内的像素时钟pixel_clk的时钟数,判定当前分辨率下行同步信号Hs、场同步信号Vs为高或低的有效状态;
[0014] 二、在判定行同步信号Hs、场同步信号Vs有效状态为稳定后,再将经过输出调整模块处理的行同步信号Hs、场同步信号Vs、视频数据有效信号data_en输出给视频处理模块。
[0015] 如上所述的一种基于FPGA的视频信号有效性判断方法,所述行同步信号Hs经过Hs_lock模块判定信号是高或低的有效状态,在行同步信号Hs稳定之后,Hs_lock模块给输出调整模块输出Hs_lock信号和Hs_high_vld信号;所述场同步信号Vs经过Vs_lock模块判定信号是高或低的有效状态,在场同步信号Vs稳定之后,Vs_lock模块给输出调整模块输出Vs_lock信号和Vs_high_vld信号。
[0016] 如上所述的一种基于FPGA的视频信号有效性判断方法,所述Hs_lock模块对行同步信号Hs高或低有效的判定过程,包括:
[0017] ①统计一个Hs周期内,Hs为高时,pixel_clock的个数Hs_cnt_high;
[0018] ②统计一个Hs周期内,Hs为低时,pixel_clock的个数Hs_cnt_low;
[0019] ③如果N个周期内,Hs_cnt_high保持不变,同时Hs_cnt_low保持不变,则Hs_lock_cnt+1,否则Hs_lock_cnt重新置0;
[0020] ④当Hs_lock_cnt=N时,表示Hs信号稳定,将Hs_lock信号置为1,如果Hs_cnt_high>Hs_cnt_low,则拉高Hs_high_vld,表示Hs高有效;如果Hs_cnt_high
[0021] ⑥Hs_lock_cnt
[0022] 所述Vs_lock模块对场同步信号Vs高或低有效的判定过程,包括:
[0023] ①统计一个Vs周期内,Vs为高时,pixel_clock的个数Vs_cnt_high;
[0024] ②统计一个Vs周期内,Vs为低时,pixel_clock的个数Vs_cnt_low;
[0025] ③如果M个周期内,Vs_cnt_high保持不变,同时Vs_cnt_low保持不变,则Vs_lock_cnt+1,否则Vs_lock_cnt重新置0;
[0026] ④当Vs_lock_cnt=M时,表示Vs信号稳定。将Vs_lock信号置为1,如果Vs_cnt_high>Vs_cnt_low,则拉高Vs_high_vld,表示Vs高有效;如果Vs_cnt_high
[0027] ⑤Vs_lock_cnt
[0028] 如上所述的一种基于FPGA的视频信号有效性判断方法,所述输出调整模块对行同步信号Hs、场同步信号Vs、视频数据有效信号data_en信号处理过程,包括:
[0029] ①如果Hs_lock为高,同时Hs_high_vld为高,则Hs_adjust=Hs;
[0030] ②如果Hs_lock为高,Hs_high_vld为低,则Hs_adjust=(!Hs),即对Hs信号取反输出;
[0031] ③如果Hs_lock为低,则Hs_adjust置0.即Hs不稳定时,不输出Hs信号给视频处理模块;
[0032] ④如果Vs_lock为高,同时Vs_high_vld为高,则Vs_adjust=Vs;
[0033] ⑤如果Vs_lock为高,Vs_high_vld为低,则Vs_adjust=(!Vs),即对Vs信号取反输出;
[0034] ⑥如果Vs_lock为低,则Vs_adjust置0,即Vs不稳定时,不输出Vs信号给视频处理模块;
[0035] ⑦只有当Hs_lock和Vs_lock同时为高的时候,Data_en_adjust=Data_en,否则Data_en_adjust置0。
[0036] 如上所述的一种基于FPGA的视频信号有效性判断方法,所述参数N和M均为可配置参数。
[0037] 本发明还提供了一种基于FPGA的视频信号有效性判断系统,包括Hs_lock模块、Vs_lock模块和输出调整模块,所述Hs_lock模块、Vs_lock模块的信号输入端分别连接显卡芯片的Hs信号、Vs信号输出端,像素时钟pixel_clock模块为Hs_lock模块、Vs_lock模块提供时钟信号,Hs_lock模块的、Vs_lock模块的信号输出端分别与输出调整模块的输入端连接,判定行同步信号Hs、场同步信号Vs的稳定后,输出调整模块输出行同步信号Hs、场同步信号Vs、视频数据有效信号data_en信号给视频处理模块。
[0038] 如上所述的一种基于FPGA的视频信号有效性判断系统,所述Hs_lock模块对行同步信号Hs高或低有效的判定过程,包括:
[0039] ①统计一个Hs周期内,Hs为高时,pixel_clock的个数Hs_cnt_high;
[0040] ②统计一个Hs周期内,Hs为低时,pixel_clock的个数Hs_cnt_low;
[0041] ③如果N个周期内,Hs_cnt_high保持不变,同时Hs_cnt_low保持不变,则Hs_lock_cnt+1,否则Hs_lock_cnt重新置0;
[0042] ④当Hs_lock_cnt=N时,表示Hs信号稳定,将Hs_lock信号置为1,如果Hs_cnt_high>Hs_cnt_low,则拉高Hs_high_vld,表示Hs高有效;如果Hs_cnt_high
[0043] ⑥Hs_lock_cnt
[0044] 所述Vs_lock模块对场同步信号Vs高或低有效的判定过程,包括:
[0045] ①统计一个Vs周期内,Vs为高时,pixel_clock的个数Vs_cnt_high;
[0046] ②统计一个Vs周期内,Vs为低时,pixel_clock的个数Vs_cnt_low;
[0047] ③如果M个周期内,Vs_cnt_high保持不变,同时Vs_cnt_low保持不变,则Vs_lock_cnt+1,否则Vs_lock_cnt重新置0;
[0048] ④当Vs_lock_cnt=M时,表示Vs信号稳定。将Vs_lock信号置为1,如果Vs_cnt_high>Vs_cnt_low,则拉高Vs_high_vld,表示Vs高有效;如果Vs_cnt_high
[0049] ⑤Vs_lock_cnt
[0050] 如上所述的一种基于FPGA的视频信号有效性判断系统,所述输出调整模块对行同步信号Hs、场同步信号Vs、视频数据有效信号data_en信号处理过程,包括:
[0051] ①如果Hs_lock为高,同时Hs_high_vld为高,则Hs_adjust=Hs;
[0052] ②如果Hs_lock为高,Hs_high_vld为低,则Hs_adjust=(!Hs),即对Hs信号取反输出;
[0053] ③如果Hs_lock为低,则Hs_adjust置0.即Hs不稳定时,不输出Hs信号给视频处理模块;
[0054] ④如果Vs_lock为高,同时Vs_high_vld为高,则Vs_adjust=Vs;
[0055] ⑤如果Vs_lock为高,Vs_high_vld为低,则Vs_adjust=(!Vs),即对Vs信号取反输出;
[0056] ⑥如果Vs_lock为低,则Vs_adjust置0,即Vs不稳定时,不输出Vs信号给视频处理模块;
[0057] ⑦只有当Hs_lock和Vs_lock同时为高的时候,Data_en_adjust=Data_en,否则Data_en_adjust置0。
[0058] 与现有技术相比,本发明的优点是:
[0059] 1、本发明基于FPGA逻辑设计,使用很少的逻辑资源,实现视频信号有效性判定。只使用很少的FPGA逻辑资源,实现了基于FPGA的视频处理中信号有效性的判定,将信号的高/低有效性做统一性处理,而不是利用IP来实现,极大的节省了项目成本,也降低了系统的复杂度,同时提高了项目/产品的安全性。
[0060] 2、因显卡芯片在不同分辨率输出时,Hs、Vs的高低有效性不同,为方便视频处理模块做分辨率调整等操作,需要对Hs、Vs的有效性做统一判定。通过检测行同步信号Hs为高/低的时间段内的像素时钟pixel_clk的时钟数和场同步信号Vs为高/低的时间段内的像素时钟pixel_clk的时钟数,判定当前分辨率下Hs/Vs是高有效还是低有效。
[0061] 同时在判定Hs、Vs有效状态稳定之后,再将Hs、Vs、data_en信号输出给视频处理模块。

附图说明

[0062] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍。
[0063] 图1是本发明所述方法的流程图;
[0064] 图2是本发明的电气原理图。

具体实施方式

[0065] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
[0066] 本发明技术方案中涉及的技术术语含义如下:
[0067] FPGA:Field-Programmable Gate Array,现场可编程逻辑器件[0068] IP:intellectual property core,全称知识产权核,简称IP核,是指某一方提供的、形式为逻辑单元和芯片设计的可重用模块。
[0069] pixel_clock:像素时钟,指像素点对应的时钟信号,分辨率越高,像素时钟信号的频率也越高。
[0070] Hs:行同步信号,当一行像素输出结束后发出的脉冲信号,指示一行的结束。
[0071] Vs:场同步信号,对一场像素输出结束后发出的脉冲信号,指示一场图像的结束。
[0072] Hs_lock:Hs锁定信号,当Hs连续N行稳定之后,此信号为高,其中N为预定参数。
[0073] Vs_lock:Vs锁定信号,当Vs连续M帧稳定之后,此信号为高,其中M为预定参数。
[0074] Hs_high_vld:为高时指示,Hs信号为高有效,否则Hs为低有效,并且该信号只在Hs_lock为高之后才有效。
[0075] Vs_high_vld:为高时指示,Vs信号为高有效,否则Vs为低有效,并且该信号只在Vs_lock为高之后才有效。
[0076] Hs_cnt_high:一个Hs周期内,Hs为高时像素时钟pixel_clock计数器。
[0077] Hs_cnt_low:一个Hs周期内,Hs为低时像素时钟pixel_clock计数器。
[0078] Vs_cnt_high:一个Vs周期内,Vs为高时像素时钟pixel_clock计数器[0079] Vs_cnt_low:一个Vs周期内,Vs为低时像素时钟pixel_clock计数器[0080] Data_en:视频数据有效信号,在该信号为高期间的像素信号是有效的像素,可以显示;当该信号为低时,像素信号无效,不显示。
[0081] Hs_adjust:输出信号,Hs为高有效且稳定时,此信号为Hs,否则该信号为Hs的取反信号。
[0082] Vs_adjust:输出信号,Vs为高有效且稳定时,此信号为Vs,否则该信号为Vs的取反信号。
[0083] Data_en_adjust:输出信号,当Hs,Vs都稳定时,此信号为data_en,否则此信号为0[0084] 如图2所示,本实施例公开的一种基于FPGA的视频信号有效性判断方法,包括以下步骤:
[0085] 一、在显卡芯片以不同分辨率输出时,通过检测行同步信号Hs、场同步信号Vs为高或低的时间段内的像素时钟pixel_clk的时钟数,判定当前分辨率下行同步信号Hs、场同步信号Vs为高或低的有效状态;
[0086] 二、在判定行同步信号Hs、场同步信号Vs有效状态为稳定,再将经过输出调整模块处理后的行同步信号Hs、场同步信号Vs、视频数据有效信号data_en输出给视频处理模块。
[0087] 具体而言本实施例中,通过Hs_lock模块对Hs信号高/低周期内的像素时钟pixel_clock的个数进行统计,在Hs稳定之后,输出Hs_lock信号和Hs_high_vld信号。通过Vs_lock模块对Vs信号高/低周期内的像素时钟pixel_clock的个数进行统计,在Vs稳定之后,输出Vs_lock信号和Vs_high_vld信号。输出调整模块,根据Hs_lock、Hs_high_vld、Vs_lock,Vs_high_vld信号,输出判定之后的Hs_detect、Vs_detect、Data_en_detect信号给视频处理模块。因此可以基于FPGA逻辑处理,使用很少的逻辑资源,实现视频信号有效性判定。只使用很少的FPGA逻辑资源,实现了基于FPGA的视频处理中信号有效性的判定,将信号的高/低有效性做统一性处理,而不是利用IP来实现,极大的节省了项目成本,也降低了系统的复杂度,同时提高了项目/产品的安全性。
[0088] Hs_lock模块对行同步信号Hs高或低有效的判定过程,包括:
[0089] ①统计一个Hs周期内,Hs为高时,pixel_clock的个数Hs_cnt_high;
[0090] ②统计一个Hs周期内,Hs为低时,pixel_clock的个数Hs_cnt_low;
[0091] ③如果N个周期内,Hs_cnt_high保持不变,同时Hs_cnt_low保持不变,则Hs_lock_cnt+1,否则Hs_lock_cnt重新置0;
[0092] ④当Hs_lock_cnt=N时,表示Hs信号稳定,将Hs_lock信号置为1,如果Hs_cnt_high>Hs_cnt_low,则拉高Hs_high_vld,表示Hs高有效;如果Hs_cnt_high
[0093] ⑥Hs_lock_cnt
[0094] 所述Vs_lock模块对场同步信号Vs高或低有效的判定过程,包括:
[0095] ①统计一个Vs周期内,Vs为高时,pixel_clock的个数Vs_cnt_high;
[0096] ②统计一个Vs周期内,Vs为低时,pixel_clock的个数Vs_cnt_low;
[0097] ③如果M个周期内,Vs_cnt_high保持不变,同时Vs_cnt_low保持不变,则Vs_lock_cnt+1,否则Vs_lock_cnt重新置0;
[0098] ④当Vs_lock_cnt=M时,表示Vs信号稳定。将Vs_lock信号置为1,如果Vs_cnt_high>Vs_cnt_low,则拉高Vs_high_vld,表示Vs高有效;如果Vs_cnt_high
[0099] ⑤Vs_lock_cnt
[0100] 所述输出调整模块对行同步信号Hs、场同步信号Vs、视频数据有效信号data_en信号处理过程,包括:
[0101] ①如果Hs_lock为高,同时Hs_high_vld为高,则Hs_adjust=Hs;
[0102] ②如果Hs_lock为高,Hs_high_vld为低,则Hs_adjust=(!Hs),即对Hs信号取反输出;
[0103] ③如果Hs_lock为低,则Hs_adjust置0.即Hs不稳定时,不输出Hs信号给视频处理模块;
[0104] ④如果Vs_lock为高,同时Vs_high_vld为高,则Vs_adjust=Vs;
[0105] ⑤如果Vs_lock为高,Vs_high_vld为低,则Vs_adjust=(!Vs),即对Vs信号取反输出;
[0106] ⑥如果Vs_lock为低,则Vs_adjust置0,即Vs不稳定时,不输出Vs信号给视频处理模块;
[0107] ⑦只有当Hs_lock和Vs_lock同时为高的时候,Data_en_adjust=Data_en,否则Data_en_adjust置0。
[0108] 其中,参数N和M均为可配置参数。
[0109] 由于输出调整模块确保了输入到视频处理模块的Hs_adjust、Vs_adjust信号都是高有效,并且只有在Hs、Vs信号都稳定时,才将数据有效信号data_en输入到视频处理模块,这样将极大方便视频处理模块进行分辨率检测,分辨率调整,分辨率压缩等操作。
[0110] 如图2所示,本发明还提供了一种一种基于FPGA的视频信号有效性判断系统,其特征在于,包括Hs_lock模块、Vs_lock模块和输出调整模块,所述Hs_lock模块、Vs_lock模块的信号输入端分别连接显卡芯片的Hs信号、Vs信号输出端,像素时钟pixel_clock模块为Hs_lock模块、Vs_lock模块提供时钟信号,Hs_lock模块的、Vs_lock模块的信号输出端分别与输出调整模块的输入端连接,判定行同步信号Hs、场同步信号Vs的稳定后,输出调整模块输出行同步信号Hs、场同步信号Vs、视频数据有效信号data_en信号给视频处理模块。
[0111] 具体而言本实施例中,通过Hs_lock模块对Hs信号高/低周期内的像素时钟pixel_clock的个数进行统计,在Hs稳定之后,输出Hs_lock信号和Hs_high_vld信号。通过Vs_lock模块对Vs信号高/低周期内的像素时钟pixel_clock的个数进行统计,在Vs稳定之后,输出Vs_lock信号和Vs_high_vld信号。输出调整模块,根据Hs_lock、Hs_high_vld、Vs_lock,Vs_high_vld信号,输出判定之后的Hs_detect、Vs_detect、Data_en_detect信号给视频处理模块。
[0112] Hs_lock模块对行同步信号Hs高或低有效的判定过程,包括:
[0113] ①统计一个Hs周期内,Hs为高时,pixel_clock的个数Hs_cnt_high;
[0114] ②统计一个Hs周期内,Hs为低时,pixel_clock的个数Hs_cnt_low;
[0115] ③如果N个周期内,Hs_cnt_high保持不变,同时Hs_cnt_low保持不变,则Hs_lock_cnt+1,否则Hs_lock_cnt重新置0;
[0116] ④当Hs_lock_cnt=N时,表示Hs信号稳定,将Hs_lock信号置为1,如果Hs_cnt_high>Hs_cnt_low,则拉高Hs_high_vld,表示Hs高有效;如果Hs_cnt_high
[0117] ⑥Hs_lock_cnt
[0118] 所述Vs_lock模块对场同步信号Vs高或低有效的判定过程,包括:
[0119] ①统计一个Vs周期内,Vs为高时,pixel_clock的个数Vs_cnt_high;
[0120] ②统计一个Vs周期内,Vs为低时,pixel_clock的个数Vs_cnt_low;
[0121] ③如果M个周期内,Vs_cnt_high保持不变,同时Vs_cnt_low保持不变,则Vs_lock_cnt+1,否则Vs_lock_cnt重新置0;
[0122] ④当Vs_lock_cnt=M时,表示Vs信号稳定。将Vs_lock信号置为1,如果Vs_cnt_high>Vs_cnt_low,则拉高Vs_high_vld,表示Vs高有效;如果Vs_cnt_high
[0123] ⑤Vs_lock_cnt
[0124] 所述输出调整模块对行同步信号Hs、场同步信号Vs、视频数据有效信号data_en信号处理过程,包括:
[0125] ①如果Hs_lock为高,同时Hs_high_vld为高,则Hs_adjust=Hs;
[0126] ②如果Hs_lock为高,Hs_high_vld为低,则Hs_adjust=(!Hs),即对Hs信号取反输出;
[0127] ③如果Hs_lock为低,则Hs_adjust置0.即Hs不稳定时,不输出Hs信号给视频处理模块;
[0128] ④如果Vs_lock为高,同时Vs_high_vld为高,则Vs_adjust=Vs;
[0129] ⑤如果Vs_lock为高,Vs_high_vld为低,则Vs_adjust=(!Vs),即对Vs信号取反输出;
[0130] ⑥如果Vs_lock为低,则Vs_adjust置0,即Vs不稳定时,不输出Vs信号给视频处理模块;
[0131] ⑦只有当Hs_lock和Vs_lock同时为高的时候,Data_en_adjust=Data_en,否则Data_en_adjust置0。
[0132] 其中,参数N和M均为可配置参数。本发明基于FPGA逻辑处理,使用很少的逻辑资源,实现视频信号有效性判定。只使用很少的FPGA逻辑资源,实现了基于FPGA的视频处理中信号有效性的判定,将信号的高/低有效性做统一性处理,而不是利用IP来实现,极大的节省了项目成本,也降低了系统的复杂度,同时提高了项目/产品的安全性。
[0133] 本发明未详尽描述的技术内容均为公知技术。