CN118803178A - 一种视频时序重新编辑的电路及方法 - Google Patents
一种视频时序重新编辑的电路及方法 Download PDFInfo
- Publication number
- CN118803178A CN118803178A CN202410783862.XA CN202410783862A CN118803178A CN 118803178 A CN118803178 A CN 118803178A CN 202410783862 A CN202410783862 A CN 202410783862A CN 118803178 A CN118803178 A CN 118803178A
- Authority
- CN
- China
- Prior art keywords
- width
- new
- video
- porch
- vsync
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/92—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Abstract
本发明公开了一种视频时序重新编辑的电路及方法,包括:获取原始视频时序和视频像素数据并根据第一视频时序对视频像素数据进行缓存,原始视频时序包括第一视频时钟信号Video CLK、第一场同步信号Vsync_IN、第一行同步信号Hsync_IN、第一数据有效使能信号DataEn_IN;根据第一视频时钟信号Video CLK对第一数据有效使能信号DataEn_IN、第一场同步信号Vsync_IN、第一行同步信号Hsync_IN进行分析以获得第一视频时序信息Video Timing Info;根据预设的配置策略对第一视频时序信息进行时序微调以获得第二视频时序信息New Video Timing Info。本申请的视频时序重新编辑的电路及方法实现了视频时序的稳定输出,提高了视频数据输出的稳定性,降低了视频显示出现抖动或者黑屏的概率。
Description
技术领域
本发明涉及视频传输技术领域,尤其涉及一种视频时序重新编辑的电路及方法。
背景技术
普通视频传输接收端解码时通常使用的通道时钟(Lane CLK)和视频时钟(VideoCLK)都是发送端通过差分时钟Lane CLK P/N直通并通过接收端PHY中的时钟发生与频率检测器(Clock Generator)重新生成并恢复。接收端视频时钟Video CLK和接收端通道时钟Lane CLK都是来自Lane CLK P/N的同源时钟,与其之间存在特定的比例关系,通常为1:1或1:1.2等等。
接收端视频解码后的时序和发送端视频编码前的时序通常是一样的稳定且连续的数据,例如HDMI 1.4和HDMI 2.0标准中差分信号线传输3路通道数据Lane Serial P/N,一路Lane CLK P/N。如图1所示,但示意图中只体现了1路通道数据Lane Serial P/N。通道数据(Lane Data)有两种形式:高速单比特模拟串行差分数据(Lane Serial P/N)和多比特并行数据(Lane Parallel Data)(以下分别简称为:高速串行数据和并行数据),高速串行数据Lane Serial P/N属于高速时钟Lane CLK P/N时钟域,并行数据Lane Parallel Data属于Lane CLK时钟域,Lane CLK P/N的时钟速率是Lane CLK的数倍。
另外一种常用的视频传输接收端解码方案使用的通道时钟Lane CLK也是发送端通过差分时钟Lane CLK P/N直通并通过接收端PHY中的Clock Generator重新生成并恢复。但是视频时钟Video CLK是由晶振时钟Crystal CLK和时钟发生与频率检测器联合产生的,与通道时钟Lane CLK非同源,两者之间没有特定比例关系,只是要求视频数据Video Data的带宽大于通道数据Lane Data。而且,为了保证视频的时序稳定,接收端的视频缓存需要至少储存一行的数据,通过数字逻辑来保证输出的视频时序稳定且连续,例如MIPI标准中差分信号线传输4路通道数据Lane Serial P/N,一路通道时钟Lane CLK P/N。如图2所示,同样示意图中只体现了1路通道数据Lane Serial P/N。
随着视频设备对视频精度和速度的要求越来越高,在传统差分信号线的基础上,把原先用于传输Lane CLK P/N(差分时钟)信号的通道也改为传输通道数据Lane Data,这样Data Lane就多了一路,总数据带宽就比之前大。通道时钟Lane CLK通过晶振时钟Crystal CLK和时钟发生与频率检测器一起产生,并通过对比通道数据Lane Data的上升沿和下降沿来对通道时钟Lane CLK进行频率锁定(Frequency Lock)。这种不带Lane CLK P/N(差分时钟)信号的高速视频传输越来越常见,例如HDMI 2.1和DP标准中差分信号线传输4路通道数据Lane Serial P/N,没有通道时钟Lane CLK P/N。如图3所示,同样示意图中只体现了1路通道数据Lane Serial P/N。如图3所示,由晶振时钟Crystal CLK和时钟发生与频率检测器一起产生的接收端视频时钟Video CLK和通道时钟Lane CLK非同源,接收端的Lane CLK和发送端的Lane CLK也是异步的,免不了会有微小的误差。而且不同厂商设计的接收端数字核心逻辑中的视频缓存不一定满足一行数据的容量,从而导致解码后的视频时序不稳定。
常见不稳定的表现形式有:1.两个Hsync(行同步)信号之间的Htotal(行时钟总数,为Hsync Width,Hback Porch,Hactive和Hfront Porch的总和)在不同行之间表现的不一致,这通常是因为发送端和接收端的Lane CLK和视频时钟Video CLK之间异步导致;2.DataEn(数据有效使能信号)不连续,通常由于接收端的视频时钟频率大于发送端视频时钟频率导致。上述两种不稳定形式甚至可能叠加。
一些IP公司的接收端数字核心逻辑在某些使用场景下,输出的Dataen(数据有效使能)不连续,如图4.c所示下半部分所示。而且不在Vblank(场消隐区,包括Vsync Width,Vback Porch和Vfront Porch)区间输出Hsync(行同步),如图4.c上半部分所示。特别是在某些特定应用场景中,图4.b中Htotal(行时钟总数)不相等的情况也会叠加到图4.c所示的信号上。视频时序不稳定(包括Htotal不等和Dataen不连续)或者Hsync(行同步)在Vblank(场消隐区)缺失的视频时序,并不能被大多数发送端数字核心逻辑的IP所接受,例如:HDMI和MIPI Transmit(发送端)对不稳定的视频进行转发时会导致功能受限。而且上述异常时序也不能被大多数显示屏所正常显示,会出现抖动或者黑屏的显示效果。
发明内容
为解决背景技术中存在的技术问题,本发明提出一种视频时序重新编辑的电路及方法。
本发明提出的一种视频时序重新编辑的方法,包括:
步骤S1、获取原始视频时序和视频像素数据并根据第一视频时序对视频像素数据进行缓存,原始视频时序包括第一视频时钟信号Video CLK、第一场同步信号Vsync_IN、第一行同步信号Hsync_IN、第一数据有效使能信号DataEn_IN;
步骤S2、根据第一视频时钟信号Video CLK对第一数据有效使能信号DataEn_IN、第一场同步信号Vsync_IN、第一行同步信号Hsync_IN进行分析以获得第一视频时序信息Video Timing Info;
步骤S3、根据预设的配置策略对第一视频时序信息进行时序微调以获得第二视频时序信息New Video Timing Info;
步骤S4、获取第二视频时钟信号Retiming Video CLK并根据第一场同步信号Vsync_IN、第二视频时钟信号Retiming Video CLK、第二视频时序信息New Video TimingInfo生成稳定的且与第二视频时序信息New Video Timing Info对应的第二数据有效使能信号DataEn_OUT、第二场同步信号Vsync_OUT、第二行同步信号Hsync_OUT;
步骤S5、根据第二数据有效使能信号DataEn_OUT、第二场同步信号Vsync_OUT、第二行同步信号Hsync_OUT从缓存中读取并输出视频像素数据。
优选地,步骤S2具体包括:
对第一场同步信号Vsync_IN进行处理以提取出第一场同步信号Vsync_IN的第一类型上升沿pos_vsync和第一类型下降沿neg_vsync;
对第一行同步信号Hsync_IN进行处理以提取出第一行同步信号Hsync_IN的第二类型上升沿pos_hsync和第二类型下降沿neg_hsync;
对第一数据有效使能信号DataEn_IN进行处理以提取出第一数据有效使能信号DataEn_IN的第三类型上升沿pos_de和第三类型下降沿neg_de;
根据第一视频时钟信号Video CLK,将每个第二类型上升沿pos_hsync之后的第一个第三类型上升沿pos_de作为第一上升沿pos_hde;
根据第一视频时钟信号Video CLK,将每个第一类型上升沿pos_vsync之后的第一个第三类型上升沿pos_de作为第二上升沿pos_vde;
根据第一类型上升沿pos_vsync、第一类型下降沿neg_vsync、第二类型上升沿pos_hsync、第二类型下降沿neg_hsync、第一上升沿pos_hde、第三类型上升沿pos_de、第三类型下降沿neg_de、第二上升沿pos_vde计算获取第一视频时序信息,第一视频时序信息具体包括:场时序参数、行时序参数、时钟参数。
优选地,所述场时序参数包括:第一场同步宽度vsync_width、第一场后肩宽度vback_porch、第一场有效数据宽度vactive、第一场前肩宽度vfront_porch、第一场中行总数vtotal;所述场时序参数获取过程如下:
根据第二类型上升沿pos_hsync计算出每两个相邻的第二类型上升沿pos_hsync之间的所有时钟周期数,并将所有时钟周期数作为第一周期数hcnt;
根据第二类型上升沿pos_hsync计算出每两个相邻的第一类型上升沿pos_vsync之间第一行同步信号Hsync_IN的数量,并将第一行同步信号Hsync_IN的数量记为第一计数vcnt;
根据第一上升沿pos_hde计算出每两个第一类型上升沿pos_vsync之间的第一上升沿pos_hde的数量,并将第一上升沿pos_hde的数量记为第二计数vde_cnt;
当第三类型下降沿neg_de为高电平时,对第一周期数hcnt、第一计数vcnt逐一进行锁存以获得一一对应的原始行前肩宽度hfront_porch_begin、原始场前肩宽度vfront_porch_begin;
当第一类型下降沿neg_vsync为高电平时,对第一计数vcnt进行锁存以获得第一场同步宽度vsync_width;
当第二上升沿pos_vde为高电平时,对第一计数vcnt减去第一场同步宽度vsync_width的值进行锁存以获得第一场后肩宽度vback_porch;
当第一类型上升沿pos_vsync为高电平时,对第二计数vde_cnt进行锁存以获得第一场有效数据宽度vactive;
当第一类型上升沿pos_vsync为高电平时,对第一计数vcnt减去原始场前肩宽度vfront_porch_begin的值进行锁存以获得第一场前肩宽度vfront_porch;
当第一类型上升沿pos_vsync为高电平时,对第一计数vcnt进行锁存以获得第一场中行总数vtotal。
优选地,所述行时序参数包括第一行同步宽度hsync_width、第一行后肩宽度hback_porch、第一行有效数据宽度hactive、第一行前肩宽度hfront_porch;所述行时序参数获取过程如下:
根据第一数据有效使能信号DataEn_IN计算出每相邻两个第二类型上升沿pos_hsync之间第一数据有效使能信号DataEn_IN高电平的时钟周期数,并将该时钟周期数作为第三周期数hde_cnt;
当第二类型下降沿neg_hsync为高电平时,对第一周期数hcnt进行锁存以获得第一行同步宽度hsync_width;
当第一上升沿pos_hde为高电平时,对第一周期数hcnt减去第一行同步宽度hsync_width的值进行锁存以获得第一行后肩宽度hback_porch;
当第二类型上升沿pos_hsync为高电平时,对第三周期数hde_cnt进行锁存以获得第一行有效数据宽度hactive;
当第二类型上升沿pos_hsync为高电平时,对第一周期数hcnt减去原始行前肩宽度hfront_porch_begin的值进行锁存以获得第一行前肩宽度hfront_porch。
优选地,所述时钟参数包括第一行时钟总数htotal、第一帧时钟总数ftotal;所述时钟参数获取过程如下:
根据第一类型上升沿pos_vsync计算出每相邻的两个第一类型上升沿pos_vsync所有时钟周期数,并将所有时钟周期数作为第二周期数fcnt;
当第二类型上升沿pos_hsync为高电平时,对第一周期数hcnt进行锁存以获得第一行时钟总数htotal;
当第一类型上升沿pos_vsync为高电平时,对第二周期数fcnt进行锁存以获得第一帧时钟总数ftotal。
优选地,所述预设的配置策略具体包括:
fifo depth=4*hactive;
new_vsync_width+new_vback_porch=vsync_width+vback_porch+4;
Vsync_OUT+new_vback_porch+new_vactive+new_vfront_porch等于或者略小于Vsync+vback_porch+vactive+vfront_porch;
new_vactive=vactive,new_hactive=hactive;
其中,fifo depth为配置缓存深度;hactive为第一行有效数据宽度;new_vsync_width为第二场同步宽度;new_vback_porch为第二场后肩宽度;vsync_width为第一场同步宽度;vback_porch为第一场后肩宽度;Vsync_OUT为第二场同步信号;new_vback_porch为第二场后肩宽度;new_vactive为第二场有效数据宽度;new_vfront_porch为第二场前肩宽度;Vsync_IN为第一场同步信号;vback_porch为第一场后肩宽度;vfront_porch为第一场前肩宽度;Hsync_OUT第二行同步信号;new_hback_porch为第二行后肩宽度;new_hactive为第二行有效数据宽度;new_hfront_porch为第二行前肩宽度;Hsync_IN为第一行同步信号;hback_porch为第一行后肩宽度;hfront_porch为第一行前肩宽度;f1为Video CLK的频率;f2为New Video CLK的频率;
所述第二视频时序信息包括第二场同步宽度new_vsync_width、第二场后肩宽度new_vback_porch、第二场有效数据宽度new_vactive、第二场前肩宽度new_vfront_porch、第二行同步宽度new_hsync_width、第二行后肩宽度new_hback_porch、第二行有效数据宽度new_hactive、第二行前肩宽度new_hfront_porch、第二场中行总数new_vtotal、第二行时钟总数new_htotal。
优选地,步骤S4具体包括:
将第二场同步宽度new_vsync_width、第二场后肩宽度new_vback_porch、第二场有效数据宽度new_vactive、第二场前肩宽度new_vfront_porch相加以获得第二场中行总数new_vtotal;
将第二场同步宽度new_vsync_width、第二行后肩宽度new_hback_porch、第二行有效数据宽度new_hactive、第二行前肩宽度new_hfront_porch相加以获得第二行时钟总数new_htotal;
根据第二视频时钟信号Retiming Video CLK将第一场同步信号Vsync_IN延时2个时钟周期后,与延时3个时钟周期并取反后的第一场同步信号Vsync_IN进行“与”运算,获得第四类型上升沿pos_vsync;
将第三计数new_vcnt与第二场中行总数new_vtotal进行数值关系判断,输出第一比较量vmax;当第三计数new_vcnt与第二场中行总数vtotal相等时,第一比较量vmax为高电平;
将第四计数new_hcnt与第二行时钟总数new_htotal进行数值判断,输出第二比较量hmax;当第四计数new_hcnt与第二行时钟总数new_htotal相等时,第二比较量hmax为高电平;
对第四类型上升沿pos_vsync、第一比较量vmax、第二比较量hmax进行第一预设逻辑运算以获得第三计数new_vcnt;
对第四类型上升沿pos_vsync、第一比较量vmax、第二比较量hmax进行第二预设逻辑运算以获得第四计数new_hcnt。
优选地,当第三计数new_vcnt的值小于第二场同步宽度new_vsync_width时,输出的第二场同步信号Vsync_OUT为高电平;
当hcnt的值小于第二行同步宽度new_hsync_width时,输出的第二行同步信号Hsync_OUT为高电平;
将第二场同步宽度new_vsync_width与第二场后肩宽度new_vback_porch相加后再与第三计数new_vcnt进行数值判断,当第三计数new_vcnt大于等于第二场同步宽度new_vsync_width与第二场后肩宽度new_vback_porch的相加值时,生成第一信号;
当第三计数new_vcnt小于第二场中行总数new_vtotal与第二场前肩宽度new_vfront_porch之差时,生成第二信号;
将第二行同步宽度new_hsync_width与第二行后肩宽度new_hback_porch相加后再与第四计数new_hcnt进行数值判断,当第四计数new_hcnt大于等于new_hsync_width与new_hback_porch相加的值时,生成第三信号;
当第四计数new_hcnt小于第二行时钟总数htotal与第二行前肩宽度new_hfront_porch之差时,生成第四信号;
基于第二视频时钟信号Retiming Video CLK对第一信号、第二信号、第三信号、第四信号进行第三预设逻辑运算以获得第二数据有效使能信号DataEn_OUT。
优选地,所述第一预设逻辑运算具体为:将第一比较量vmax进行“非”运算后再与第二比较量hmax进行“与”运算以获得第一中间量,将第一中间量与第四类型上升沿pos_vsync进行“或”运算后以获得第一类型D触发器的使能信号EN;将第四类型上升沿pos_vsync作为第一选择器的使能信号,第一选择器的第一输入端为低电平,第二输入端与第一计数器的输出端电性连接,第一计数器的输入端与第一类型D触发器的输出端电性连接,第一选择器的输出端与第一类型D触发器的输入端电性连接,将第四类型上升沿pos_vsync作为第一类型D触发器的输入以获得第三计数new_vcnt。
优选地,所述第二预设逻辑运算具体为:
将第一比较量vmax进行“非”运算后再与第二比较量hmax进行“与”运算以获得第一中间量,将第一中间量与第四类型上升沿pos_vsync进行“或”运算后作为第二选择器的使能输入,第二选择器的第一输入端为低电平,第二输入端与第二计数器的输出端电性连接,第二计数器的输入端与第二类型D触发器的输出端电性连接,第二选择器的输出端与第二类型D触发器的输入端电性连接,通过第二类型D触发器计数运算后以获得第四计数new_hcnt。
优选地,所述第三预设逻辑运算具体为:
将第一信号与第二信号进行“与”运算以获得第五信号;
将第三信号与第四信号进行“与”运算以获得第六信号;
将第六信号与第五信号进行“与”运算后输入第五类型D触发器的D端并将第五类型D触发器的输出作为第二数据有效使能信号DataEn_OUT。
本发明提出的一种视频时序重新编辑的电路,包括:
数据获取模块,用于获取原始视频时序和视频像素数据并根据第一视频时序对视频像素数据进行缓存,原始视频时序包括第一视频时钟信号Video CLK、第一场同步信号Vsync_IN、第一行同步信号Hsync_IN、第一数据有效使能信号DataEn_IN;
视频分析模块,用于根据第一视频时钟信号Video CLK对第一数据有效使能信号DataEn_IN、第一场同步信号Vsync_IN、第一行同步信号Hsync_IN进行分析以获得第一视频时序信息;
视频时序微调模块,用于根据预设的配置策略对第一视频时序信息进行时序微调以获得第二视频时序信息;
视频时序产生模块,用于获取第二视频时钟信号Retiming Video CLK并根据第一场同步信号Vsync_IN、第二视频时钟信号Retiming Video CLK、第二视频时序信息生成稳定的且与第二视频时序信息对应的第二数据有效使能信号DataEn_OUT、第二场同步信号Vsync_OUT、第二行同步信号Hsync_OUT;
数据输出模块,用于根据第二数据有效使能信号DataEn_OUT、第二场同步信号Vsync_OUT、第二行同步信号Hsync_OUT控制FIFO读控制模块从缓存中读取并输出视频像素数据。
本发明中,所提出的视频时序重新编辑的电路及方法,不稳定视频时序数据经过视频时序重新编辑处理,解决了第一行时钟总数htotal不一致的问题。经过视频时序重新编辑处理,解决了第一数据有效使能信号DataEn_IN不连续的问题。不稳定视频时序数据经过视频时序重新编辑处理,会持续稳定地输出行同步Hsync。不稳定的视频时序中,帧与帧、行与行之间的总时钟误差,经过视频时序重新编辑用同步或者异步时钟处理后,实现了视频时序的稳定输出,提高了视频数据输出的稳定性,降低了视频显示出现抖动或者黑屏的概率。
附图说明
图1为现有的视频接收端的通道时钟和视频时钟受发送端控制示意图;
图2为现有的视频接收端只有通道时钟受发送端控制示意图;
图3为现有的视频接收端与发送端时钟非同源示意图;
图4.a为视频的稳定时序示意图;
图4.b为Hsync(行同步)之间时钟总数不等示意图;
图4.c为Dataen(数据有效使能信号)不连续示意图;
图5为本发明提出的一种视频时序重新编辑的方法的视频时序重新编辑功能框图;
图6为本发明提出的一种视频时序重新编辑的方法的视频分析处理的结构示意图;
图7为本发明提出的一种视频时序重新编辑的电路及方法的视频时序产生的结构示意图;
图8为本发明提出的一种视频时序重新编辑的电路及方法的新视频时序NewVideo Timing示意图。
具体实施方式
参照图1-8,本发明提出的一种视频时序重新编辑的方法,包括:
步骤S1、获取原始视频时序和视频像素数据并根据第一视频时序对视频像素数据进行缓存,原始视频时序包括第一视频时钟信号Video CLK、第一场同步信号Vsync_IN、第一行同步信号Hsync_IN、第一数据有效使能信号DataEn_IN。
在本实施例中,原始视频时序和视频像素数据为不稳定的视频输入Video Input。
步骤S2、根据第一视频时钟信号Video CLK对第一数据有效使能信号DataEn_IN、第一场同步信号Vsync_IN、第一行同步信号Hsync_IN进行分析以获得第一视频时序信息Video Timing Info。
在本实施例中,步骤S2具体包括:
对第一场同步信号Vsync_IN进行处理以提取出第一场同步信号Vsync_IN的第一类型上升沿pos_vsync和第一类型下降沿neg_vsync;
对第一行同步信号Hsync_IN进行处理以提取出第一行同步信号Hsync_IN的第二类型上升沿pos_hsync和第二类型下降沿neg_hsync;
对第一数据有效使能信号DataEn_IN进行处理以提取出第一数据有效使能信号DataEn_IN的第三类型上升沿pos_de和第三类型下降沿neg_de;
根据第一视频时钟信号Video CLK,将每个第二类型上升沿pos_hsync之后的第一个第三类型上升沿pos_de作为第一上升沿pos_hde;
根据第一视频时钟信号Video CLK,将每个第一类型上升沿pos_vsync之后的第一个第三类型上升沿pos_de作为第二上升沿pos_vde;
根据第一类型上升沿pos_vsync、第一类型下降沿neg_vsync、第二类型上升沿pos_hsync、第二类型下降沿neg_hsync、第一上升沿pos_hde、第三类型上升沿pos_de、第三类型下降沿neg_de、第二上升沿pos_vde计算获取第一视频时序信息,第一视频时序信息具体包括:场时序参数、行时序参数、时钟参数。
在本实施例中,场时序参数包括:第一场同步宽度vsync_width、第一场后肩宽度vback_porch、第一场有效数据宽度vactive、第一场前肩宽度vfront_porch、第一场中行总数vtotal;场时序参数获取过程如下:
根据第二类型上升沿pos_hsync计算出每两个相邻的第二类型上升沿pos_hsync之间的所有时钟周期数,并将所有时钟周期数作为第一周期数hcnt;
根据第二类型上升沿pos_hsync计算出每两个相邻的第一类型上升沿pos_vsync之间第一行同步信号Hsync_IN的数量,并将第一行同步信号Hsync_IN的数量记为第一计数vcnt;
根据第一上升沿pos_hde计算出每两个第一类型上升沿pos_vsync之间的第一上升沿pos_hde的数量,并将第一上升沿pos_hde的数量记为第二计数vde_cnt;
当第三类型下降沿neg_de为高电平时,对第一周期数hcnt、第一计数vcnt逐一进行锁存以获得一一对应的原始行前肩宽度hfront_porch_begin、原始场前肩宽度vfront_porch_begin;
当第一类型下降沿neg_vsync为高电平时,对第一计数vcnt进行锁存以获得第一场同步宽度vsync_width;
当第二上升沿pos_vde为高电平时,对第一计数vcnt减去第一场同步宽度vsync_width的值进行锁存以获得第一场后肩宽度vback_porch;
当第一类型上升沿pos_vsync为高电平时,对第二计数vde_cnt进行锁存以获得第一场有效数据宽度vactive;
当第一类型上升沿pos_vsync为高电平时,对第一计数vcnt减去原始场前肩宽度vfront_porch_begin的值进行锁存以获得第一场前肩宽度vfront_porch;
当第一类型上升沿pos_vsync为高电平时,对第一计数vcnt进行锁存以获得第一场中行总数vtotal。
在本实施例中,行时序参数包括第一行同步宽度hsync_width、第一行后肩宽度hback_porch、第一行有效数据宽度hactive、第一行前肩宽度hfront_porch;行时序参数获取过程如下:
根据第一数据有效使能信号DataEn_IN计算出每相邻两个第二类型上升沿pos_hsync之间第一数据有效使能信号DataEn_IN高电平的时钟周期数,并将该时钟周期数作为第三周期数hde_cnt;
当第二类型下降沿neg_hsync为高电平时,对第一周期数hcnt进行锁存以获得第一行同步宽度hsync_width;
当第一上升沿pos_hde为高电平时,对第一周期数hcnt减去第一行同步宽度hsync_width的值进行锁存以获得第一行后肩宽度hback_porch;
当第二类型上升沿pos_hsync为高电平时,对第三周期数hde_cnt进行锁存以获得第一行有效数据宽度hactive;
当第二类型上升沿pos_hsync为高电平时,对第一周期数hcnt减去原始行前肩宽度hfront_porch_begin的值进行锁存以获得第一行前肩宽度hfront_porch。
在本实施例中,时钟参数包括第一行时钟总数htotal、第一帧时钟总数ftotal;时钟参数获取过程如下:
根据第一类型上升沿pos_vsync计算出每相邻的两个第一类型上升沿pos_vsync所有时钟周期数,并将所有时钟周期数作为第二周期数fcnt;
当第二类型上升沿pos_hsync为高电平时,对第一周期数hcnt进行锁存以获得第一行时钟总数htotal;
当第一类型上升沿pos_vsync为高电平时,对第二周期数fcnt进行锁存以获得第一帧时钟总数ftotal。
步骤S3、根据预设的配置策略对第一视频时序信息进行时序微调以获得第二视频时序信息New Video Timing Info。
在本实施例中,预设的配置策略具体包括:
fifo depth=4*hactive;
new_vsync_width+new_vback_porch=vsync_width+vback_porch+4;
Vsync_OUT+new_vback_porch+new_vactive+new_vfront_porch等于或者略小于Vsync+vback_porch+vactive+vfront_porch;
new_vactive=vactive,new_hactive=hactive;
其中,fifo depth为配置缓存深度;hactive为第一行有效数据宽度;new_vsync_width为第二场同步宽度;new_vback_porch为第二场后肩宽度;vsync_width为第一场同步宽度;vback_porch为第一场后肩宽度;Vsync_OUT为第二场同步信号;new_vback_porch为第二场后肩宽度;new_vactive为第二场有效数据宽度;new_vfront_porch为第二场前肩宽度;Vsync_IN为第一场同步信号;vback_porch为第一场后肩宽度;vfront_porch为第一场前肩宽度;Hsync_OUT第二行同步信号;new_hback_porch为第二行后肩宽度;new_hactive为第二行有效数据宽度;new_hfront_porch为第二行前肩宽度;Hsync_IN为第一行同步信号;hback_porch为第一行后肩宽度;hfront_porch为第一行前肩宽度;f1为Video CLK的频率;f2为New Video CLK的频率;
第二视频时序信息包括第二场同步宽度new_vsync_width、第二场后肩宽度new_vback_porch、第二场有效数据宽度new_vactive、第二场前肩宽度new_vfront_porch、第二行同步宽度new_hsync_width、第二行后肩宽度new_hback_porch、第二行有效数据宽度new_hactive、第二行前肩宽度new_hfront_porch、第二场中行总数new_vtotal、第二行时钟总数new_htotal。
步骤S4、获取第二视频时钟信号Retiming Video CLK并根据第一场同步信号Vsync_IN、第二视频时钟信号Retiming Video CLK、第二视频时序信息New Video TimingInfo生成稳定的且与第二视频时序信息New Video Timing Info对应的第二数据有效使能信号DataEn_OUT、第二场同步信号Vsync_OUT、第二行同步信号Hsync_OUT。
在本实施例中,步骤S4具体包括:
将第二场同步宽度new_vsync_width、第二场后肩宽度new_vback_porch、第二场有效数据宽度new_vactive、第二场前肩宽度new_vfront_porch相加以获得第二场中行总数new_vtotal;
将第二场同步宽度new_vsync_width、第二行后肩宽度new_hback_porch、第二行有效数据宽度new_hactive、第二行前肩宽度new_hfront_porch相加以获得第二行时钟总数new_htotal;
根据第二视频时钟信号Retiming Video CLK将第一场同步信号Vsync_IN延时2个时钟周期后,与延时3个时钟周期并取反后的第一场同步信号Vsync_IN进行“与”运算,获得第四类型上升沿pos_vsync;
将第三计数new_vcnt与第二场中行总数new_vtotal进行数值关系判断,输出第一比较量vmax;当第三计数new_vcnt与第二场中行总数vtotal相等时,第一比较量vmax为高电平;
将第四计数new_hcnt与第二行时钟总数new_htotal进行数值判断,输出第二比较量hmax;当第四计数new_hcnt与第二行时钟总数new_htotal相等时,第二比较量hmax为高电平;
对第四类型上升沿pos_vsync、第一比较量vmax、第二比较量hmax进行第一预设逻辑运算以获得第三计数new_vcnt;
对第四类型上升沿pos_vsync、第一比较量vmax、第二比较量hmax进行第二预设逻辑运算以获得第四计数new_hcnt。
在本实施例中,当第三计数new_vcnt的值小于第二场同步宽度new_vsync_width时,输出的第二场同步信号Vsync_OUT为高电平;
当hcnt的值小于第二行同步宽度new_hsync_width时,输出的第二行同步信号Hsync_OUT为高电平;
将第二场同步宽度new_vsync_width与第二场后肩宽度new_vback_porch相加后再与第三计数new_vcnt进行数值判断,当第三计数new_vcnt大于等于第二场同步宽度new_vsync_width与第二场后肩宽度new_vback_porch的相加值时,生成第一信号;
当第三计数new_vcnt小于第二场中行总数new_vtotal与第二场前肩宽度new_vfront_porch之差时,生成第二信号;
将第二行同步宽度new_hsync_width与第二行后肩宽度new_hback_porch相加后再与第四计数new_hcnt进行数值判断,当第四计数new_hcnt大于等于new_hsync_width与new_hback_porch相加的值时,生成第三信号;
当第四计数new_hcnt小于第二行时钟总数htotal与第二行前肩宽度new_hfront_porch之差时,生成第四信号;
基于第二视频时钟信号Retiming Video CLK对第一信号、第二信号、第三信号、第四信号进行第三预设逻辑运算以获得第二数据有效使能信号DataEn_OUT。
在本实施例中,针对如图图4.c中行同步信号Hsync在场消隐区缺失的视频时序,视频分析模块分析出的第一场同步宽度vsync width、第一场后肩宽度vback porch和第一场前肩宽度vfront porch均为0。但是这种情况下,其他计算出的数据已经足以分析出视频的不稳定时序。
视频时序信息Video Timing Info从视频分析模块输出后,进入视频时序微调模块。CPU从该模块中读取视频时序信息Video Timing Info,按照预设的微调算法,生成新的视频时序信息New Video Timing Info,以保证根据视频时序产生模块所生成的新视频时序New Video Timing读取图5中FIFO时,避免出现读取速率过快导致FIFO被读空,或读取速率过慢导致FIFO被写满的情况。计算得出新的视频时序信息New Video Timing Info新的视频时序信息包括第二场同步宽度new_vsync width、第二场后肩宽度new_vback porch、第二场有效数据宽度new_vactive、第二场前肩宽度new_vfront porch、第二行同步宽度new_hsync width、第二行后肩宽度new_hback porch、第二行有效数据宽度new_hactive、第二行前肩宽度new_hfront porch、生成新的、稳定的新视频时序New Video Timing。新视频时序包括第二数据有效使能信号DataEn_OUT、第二场同步信号Vsync_OUT、第二行同步信号Hsync_OUT。
视频时序产生模块的原理如图7所示,该模块根据新的视频时序信息New VideoTiming Info结合Retiming Video CLK计算得出的新视频时序New Video Timing。Retiming Video CLK(时序重新编辑的视频时钟)来自后续视频处理电路的同步时钟,和Video Input中的Video CLK可以是同步时钟,也可以是异步时钟。
视频时序产生模块生成的新视频时序包括第二数据有效使能信号DataEn_OUT、第二场同步信号Vsync_OUT、第二行同步信号Hsync_OUT以及Retiming Video CLK。生成的新视频时序会将不稳定的视频时序和数据输入Video Input中,帧与帧、行与行之间的总时钟误差,统一放置在新时序的最后一行的不稳定缓冲区Unstable Cushion中,如图8所示。
所以,新视频时序New Video Timing的第二场同步宽度new_vsync width、第二场后肩宽度new_vback porch、第二场有效数据宽度new_vactive、第二场前肩宽度new_vfront porch、第二行同步宽度new_hsync width、第二行后肩宽度new_hback porch、第二行有效数据宽度new_hactive、第二行前肩宽度new_hfront porch都是稳定的。而且第二场中行总数new_vtotal包括消隐行也是稳定的,第二行时钟总数new_htotal在场消隐区的最后一行存在缓冲区。
从图7中可以看出,new_hcnt和new_vcnt在最后一行只跟随Vsync重置(图7中生成new_vcnt和new_hcnt的两个D触发器中,pos_vsync信号为1时,new_vcnt和new_hcnt都会置0),其余行的第二行时钟总数new_htotal也都是稳定的,此种情况可视为输出稳定的视频时序。
不稳定的视频时序和数据输入Video Input通过FIFO写控制模块,将有效像素数据都写入双端口异步FIFO模块中。如图5中所示,写时钟FIFO WCLK等于视频时序和数据输入Video Input中的Video CLK,实际电路中可能需要在其中一个信号前增加缓冲或者反相器,以满足时序要求,写使能FIFO WE等于视频时序和数据输入Video Input中的第一数据有效使能信号DataEn_IN,写数据FIFO WData等于视频时序和数据输入Video Input中的Pixel数据,清空FIFO CLR由视频时序和数据输入Video Input中的第一场同步信号Vsync_IN、第一行同步信号Hsync_IN在消隐区生成。
稳定的视频时序和数据输出Video Output,通过FIFO读控制模块,将有效像素数据从双端口异步FIFO模块中读出。如图5中所示,读时钟FIFO RCLK等于新视频时序NewVideo Timing中的Video CLK,实际电路中可能需要在其中一个信号前增加缓冲或者反相器,以满足时序要求,读使能FIFO RE等于新视频时序New Video Timing的第二数据有效使能信号DataEn_OUT。清空FIFO CLR在FIFO读控制模块中用来做帧同步使用。
视频时序和数据输出Video Output中的Video Clock等于新视频时序New VideoTiming中的Video CLK,视频时序和数据输出Video Output中的Vsync(场同步信号)和Hsync(行同步信号)等于新视频时序New Video Timing中的第二场同步信号Vsync_OUT、第二行同步信号Hsync_OUT延迟一个时钟所得,因为FIFO的RData相对于RE延迟了一个时钟,视频时序和数据输出Video Output中的Pixel数据等于读数据FIFO RData。此时视频时序和数据输出Video Output就可以稳定地输出到后续的电路中去。
步骤S5、根据第二数据有效使能信号DataEn_OUT、第二场同步信号Vsync_OUT、第二行同步信号Hsync_OUT从缓存中读取并输出视频像素数据。
在本实施例中,第一预设逻辑运算具体为:将第一比较量vmax进行“非”运算后再与第二比较量hmax进行“与”运算以获得第一中间量,将第一中间量与第四类型上升沿pos_vsync进行“或”运算后以获得第一类型D触发器的使能信号EN;将第四类型上升沿pos_vsync作为第一选择器的使能信号,第一选择器的第一输入端为低电平,第二输入端与第一计数器的输出端电性连接,第一计数器的输入端与第一类型D触发器的输出端电性连接,第一选择器的输出端与第一类型D触发器的输入端电性连接,将第四类型上升沿pos_vsync作为第一类型D触发器的输入以获得第三计数new_vcnt。
在本实施例中,第二预设逻辑运算具体为:
将第一比较量vmax进行“非”运算后再与第二比较量hmax进行“与”运算以获得第一中间量,将第一中间量与第四类型上升沿pos_vsync进行“或”运算后作为第二选择器的使能输入,第二选择器的第一输入端为低电平,第二输入端与第二计数器的输出端电性连接,第二计数器的输入端与第二类型D触发器的输出端电性连接,第二选择器的输出端与第二类型D触发器的输入端电性连接,通过第二类型D触发器计数运算后以获得第四计数new_hcnt。
在本实施例中,第三预设逻辑运算具体为:
将第一信号与第二信号进行“与”运算以获得第五信号;
将第三信号与第四信号进行“与”运算以获得第六信号;
将第六信号与第五信号进行“与”运算后输入第五类型D触发器的D端并将第五类型D触发器的输出作为第二数据有效使能信号DataEn_OUT。
参照图1-8,本发明提出的一种视频时序重新编辑的电路,包括:
数据获取模块,用于获取原始视频时序和视频像素数据并根据第一视频时序对视频像素数据进行缓存,原始视频时序包括第一视频时钟信号Video CLK、第一场同步信号Vsync_IN、第一行同步信号Hsync_IN、第一数据有效使能信号DataEn_IN;
视频分析模块,用于根据第一视频时钟信号Video CLK对第一数据有效使能信号DataEn_IN、第一场同步信号Vsync_IN、第一行同步信号Hsync_IN进行分析以获得第一视频时序信息;
视频时序微调模块,用于根据预设的配置策略对第一视频时序信息进行时序微调以获得第二视频时序信息;
视频时序产生模块,用于获取第二视频时钟信号Retiming Video CLK并根据第一场同步信号Vsync_IN、第二视频时钟信号Retiming Video CLK、第二视频时序信息生成稳定的且与第二视频时序信息对应的第二数据有效使能信号DataEn_OUT、第二场同步信号Vsync_OUT、第二行同步信号Hsync_OUT;
数据输出模块,用于根据第二数据有效使能信号DataEn_OUT、第二场同步信号Vsync_OUT、第二行同步信号Hsync_OUT控制FIFO读控制模块从缓存中读取并输出视频像素数据。
本实施例的视频时序重新编辑的电路及方法的具体工作过程中,不稳定视频时序中的两个第一行同步信号Hsync_IN之间的第一行时钟总数htotal在不同行之间表现的不一致,通常由于发送端和接收端的Lane时钟和视频时钟异步导致。不稳定视频时序数据经过视频时序重新编辑处理,解决了第一行时钟总数htotal不一致的问题。不稳定视频时序中的第一数据有效使能信号DataEn_IN不连续,通常由于接收端的视频时钟大于发送端视频时钟导致。不稳定视频时序数据经过视频时序重新编辑处理,解决了第一数据有效使能信号DataEn_IN不连续的问题。不稳定视频时序通常不在场消隐区间输出行同步Hsync,不稳定视频时序数据经过视频时序重新编辑处理,会持续稳定地输出行同步Hsync。不稳定的视频时序中,帧与帧、行与行之间的总时钟误差,经过视频时序重新编辑用同步或者异步时钟处理后,统一放置在新时序最后一行的不稳定缓冲区中。输出视频时序和数据输出的第二行时钟总数new_htotal除了在场消隐区的最后一行存在缓冲区以外,其余行都是稳定的,此种情况可视为输出稳定的视频时序。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (12)
1.一种视频时序重新编辑的方法,其特征在于,包括:
步骤S1、获取原始视频时序和视频像素数据并根据第一视频时序对视频像素数据进行缓存,原始视频时序包括第一视频时钟信号Video CLK、第一场同步信号Vsync_IN、第一行同步信号Hsync_IN、第一数据有效使能信号DataEn_IN;
步骤S2、根据第一视频时钟信号Video CLK对第一数据有效使能信号DataEn_IN、第一场同步信号Vsync_IN、第一行同步信号Hsync_IN进行分析以获得第一视频时序信息VideoTiming Info;
步骤S3、根据预设的配置策略对第一视频时序信息进行时序微调以获得第二视频时序信息New Video Timing Info;
步骤S4、获取第二视频时钟信号Retiming Video CLK并根据第一场同步信号Vsync_IN、第二视频时钟信号Retiming Video CLK、第二视频时序信息New Video Timing Info生成稳定的且与第二视频时序信息New Video Timing Info对应的第二数据有效使能信号DataEn_OUT、第二场同步信号Vsync_OUT、第二行同步信号Hsync_OUT;
步骤S5、根据第二数据有效使能信号DataEn_OUT、第二场同步信号Vsync_OUT、第二行同步信号Hsync_OUT从缓存中读取并输出视频像素数据。
2.根据权利要求1所述的视频时序重新编辑的方法,其特征在于,步骤S2具体包括:
对第一场同步信号Vsync_IN进行处理以提取出第一场同步信号Vsync_IN的第一类型上升沿pos_vsync和第一类型下降沿neg_vsync;
对第一行同步信号Hsync_IN进行处理以提取出第一行同步信号Hsync_IN的第二类型上升沿pos_hsync和第二类型下降沿neg_hsync;
对第一数据有效使能信号DataEn_IN进行处理以提取出第一数据有效使能信号DataEn_IN的第三类型上升沿pos_de和第三类型下降沿neg_de;
根据第一视频时钟信号Video CLK,将每个第二类型上升沿pos_hsync之后的第一个第三类型上升沿pos_de作为第一上升沿pos_hde;
根据第一视频时钟信号Video CLK,将每个第一类型上升沿pos_vsync之后的第一个第三类型上升沿pos_de作为第二上升沿pos_vde;
根据第一类型上升沿pos_vsync、第一类型下降沿neg_vsync、第二类型上升沿pos_hsync、第二类型下降沿neg_hsync、第一上升沿pos_hde、第三类型上升沿pos_de、第三类型下降沿neg_de、第二上升沿pos_vde计算获取第一视频时序信息,第一视频时序信息具体包括:场时序参数、行时序参数、时钟参数。
3.根据权利要求2所述的视频时序重新编辑的方法,其特征在于,所述场时序参数包括:第一场同步宽度vsync_width、第一场后肩宽度vback_porch、第一场有效数据宽度vactive、第一场前肩宽度vfront_porch、第一场中行总数vtotal;所述场时序参数获取过程如下:
根据第二类型上升沿pos_hsync计算出每两个相邻的第二类型上升沿pos_hsync之间的所有时钟周期数,并将所有时钟周期数作为第一周期数hcnt;
根据第二类型上升沿pos_hsync计算出每两个相邻的第一类型上升沿pos_vsync之间第一行同步信号Hsync_IN的数量,并将第一行同步信号Hsync_IN的数量记为第一计数vcnt;
根据第一上升沿pos_hde计算出每两个第一类型上升沿pos_vsync之间的第一上升沿pos_hde的数量,并将第一上升沿pos_hde的数量记为第二计数vde_cnt;
当第三类型下降沿neg_de为高电平时,对第一周期数hcnt、第一计数vcnt逐一进行锁存以获得一一对应的原始行前肩宽度hfront_porch_begin、原始场前肩宽度vfront_porch_begin;
当第一类型下降沿neg_vsync为高电平时,对第一计数vcnt进行锁存以获得第一场同步宽度vsync_width;
当第二上升沿pos_vde为高电平时,对第一计数vcnt减去第一场同步宽度vsync_width的值进行锁存以获得第一场后肩宽度vback_porch;
当第一类型上升沿pos_vsync为高电平时,对第二计数vde_cnt进行锁存以获得第一场有效数据宽度vactive;
当第一类型上升沿pos_vsync为高电平时,对第一计数vcnt减去原始场前肩宽度vfront_porch_begin的值进行锁存以获得第一场前肩宽度vfront_porch;
当第一类型上升沿pos_vsync为高电平时,对第一计数vcnt进行锁存以获得第一场中行总数vtotal。
4.根据权利要求3所述的视频时序重新编辑的方法,其特征在于,所述行时序参数包括第一行同步宽度hsync_width、第一行后肩宽度hback_porch、第一行有效数据宽度hactive、第一行前肩宽度hfront_porch;所述行时序参数获取过程如下:
根据第一数据有效使能信号DataEn_IN计算出每相邻两个第二类型上升沿pos_hsync之间第一数据有效使能信号DataEn_IN高电平的时钟周期数,并将该时钟周期数作为第三周期数hde_cnt;
当第二类型下降沿neg_hsync为高电平时,对第一周期数hcnt进行锁存以获得第一行同步宽度hsync_width;
当第一上升沿pos_hde为高电平时,对第一周期数hcnt减去第一行同步宽度hsync_width的值进行锁存以获得第一行后肩宽度hback_porch;
当第二类型上升沿pos_hsync为高电平时,对第三周期数hde_cnt进行锁存以获得第一行有效数据宽度hactive;
当第二类型上升沿pos_hsync为高电平时,对第一周期数hcnt减去原始行前肩宽度hfront_porch_begin的值进行锁存以获得第一行前肩宽度hfront_porch。
5.根据权利要求4所述的视频时序重新编辑的方法,其特征在于,所述时钟参数包括第一行时钟总数htotal、第一帧时钟总数ftotal;所述时钟参数获取过程如下:
根据第一类型上升沿pos_vsync计算出每相邻的两个第一类型上升沿pos_vsync所有时钟周期数,并将所有时钟周期数作为第二周期数fcnt;
当第二类型上升沿pos_hsync为高电平时,对第一周期数hcnt进行锁存以获得第一行时钟总数htotal;
当第一类型上升沿pos_vsync为高电平时,对第二周期数fcnt进行锁存以获得第一帧时钟总数ftotal。
6.根据权利要求2所述的视频时序重新编辑的方法,其特征在于,所述预设的配置策略具体包括:
fifo depth=4*hactive;
new_vsync_width+new_vback_porch=vsync_width+vback_porch+4;
Vsync_OUT+new_vback_porch+new_vactive+new_vfront_porch等于或者略小于Vsync+vback_porch+vactive+vfront_porch;
new_vactive=vactive,new_hactive=hactive;
其中,fifo depth为配置缓存深度;hactive为第一行有效数据宽度;new_vsync_width为第二场同步宽度;new_vback_porch为第二场后肩宽度;vsync_width为第一场同步宽度;vback_porch为第一场后肩宽度;Vsync_OUT为第二场同步信号;new_vback_porch为第二场后肩宽度;new_vactive为第二场有效数据宽度;new_vfront_porch为第二场前肩宽度;Vsync_IN为第一场同步信号;vback_porch为第一场后肩宽度;vfront_porch为第一场前肩宽度;Hsync_OUT第二行同步信号;new_hback_porch为第二行后肩宽度;new_hactive为第二行有效数据宽度;new_hfront_porch为第二行前肩宽度;Hsync_IN为第一行同步信号;hback_porch为第一行后肩宽度;hfront_porch为第一行前肩宽度;f1为Video CLK的频率;f2为New Video CLK的频率;
所述第二视频时序信息包括第二场同步宽度new_vsync_width、第二场后肩宽度new_vback_porch、第二场有效数据宽度new_vactive、第二场前肩宽度new_vfront_porch、第二行同步宽度new_hsync_width、第二行后肩宽度new_hback_porch、第二行有效数据宽度new_hactive、第二行前肩宽度new_hfront_porch、第二场中行总数new_vtotal、第二行时钟总数new_htotal。
7.根据权利要求6所述的视频时序重新编辑的方法,其特征在于,步骤S4具体包括:
将第二场同步宽度new_vsync_width、第二场后肩宽度new_vback_porch、第二场有效数据宽度new_vactive、第二场前肩宽度new_vfront_porch相加以获得第二场中行总数new_vtotal;
将第二场同步宽度new_vsync_width、第二行后肩宽度new_hback_porch、第二行有效数据宽度new_hactive、第二行前肩宽度new_hfront_porch相加以获得第二行时钟总数new_htotal;
根据第二视频时钟信号Retiming Video CLK将第一场同步信号Vsync_IN延时2个时钟周期后,与延时3个时钟周期并取反后的第一场同步信号Vsync_IN进行“与”运算,获得第四类型上升沿pos_vsync;
将第三计数new_vcnt与第二场中行总数new_vtotal进行数值关系判断,输出第一比较量vmax;当第三计数new_vcnt与第二场中行总数vtotal相等时,第一比较量vmax为高电平;
将第四计数new_hcnt与第二行时钟总数new_htotal进行数值判断,输出第二比较量hmax;当第四计数new_hcnt与第二行时钟总数new_htotal相等时,第二比较量hmax为高电平;
对第四类型上升沿pos_vsync、第一比较量vmax、第二比较量hmax进行第一预设逻辑运算以获得第三计数new_vcnt;
对第四类型上升沿pos_vsync、第一比较量vmax、第二比较量hmax进行第二预设逻辑运算以获得第四计数new_hcnt。
8.根据权利要求7所述的视频时序重新编辑的方法,其特征在于,当第三计数new_vcnt的值小于第二场同步宽度new_vsync_width时,输出的第二场同步信号Vsync_OUT为高电平;
当hcnt的值小于第二行同步宽度new_hsync_width时,输出的第二行同步信号Hsync_OUT为高电平;
将第二场同步宽度new_vsync_width与第二场后肩宽度new_vback_porch相加后再与第三计数new_vcnt进行数值判断,当第三计数new_vcnt大于等于第二场同步宽度new_vsync_width与第二场后肩宽度new_vback_porch的相加值时,生成第一信号;
当第三计数new_vcnt小于第二场中行总数new_vtotal与第二场前肩宽度new_vfront_porch之差时,生成第二信号;
将第二行同步宽度new_hsync_width与第二行后肩宽度new_hback_porch相加后再与第四计数new_hcnt进行数值判断,当第四计数new_hcnt大于等于new_hsync_width与new_hback_porch相加的值时,生成第三信号;
当第四计数new_hcnt小于第二行时钟总数htotal与第二行前肩宽度new_hfront_porch之差时,生成第四信号;
基于第二视频时钟信号Retiming Video CLK对第一信号、第二信号、第三信号、第四信号进行第三预设逻辑运算以获得第二数据有效使能信号DataEn_OUT。
9.根据权利要求4所述的视频时序重新编辑的方法,其特征在于,所述第一预设逻辑运算具体为:将第一比较量vmax进行“非”运算后再与第二比较量hmax进行“与”运算以获得第一中间量,将第一中间量与第四类型上升沿pos_vsync进行“或”运算后以获得第一类型D触发器的使能信号EN;将第四类型上升沿pos_vsync作为第一选择器的使能信号,第一选择器的第一输入端为低电平,第二输入端与第一计数器的输出端电性连接,第一计数器的输入端与第一类型D触发器的输出端电性连接,第一选择器的输出端与第一类型D触发器的输入端电性连接,将第四类型上升沿pos_vsync作为第一类型D触发器的输入以获得第三计数new_vcnt。
10.根据权利要求4所述的视频时序重新编辑的方法,其特征在于,所述第二预设逻辑运算具体为:
将第一比较量vmax进行“非”运算后再与第二比较量hmax进行“与”运算以获得第一中间量,将第一中间量与第四类型上升沿pos_vsync进行“或”运算后作为第二选择器的使能输入,第二选择器的第一输入端为低电平,第二输入端与第二计数器的输出端电性连接,第二计数器的输入端与第二类型D触发器的输出端电性连接,第二选择器的输出端与第二类型D触发器的输入端电性连接,通过第二类型D触发器计数运算后以获得第四计数new_hcnt。
11.根据权利要求4所述的视频时序重新编辑的方法,其特征在于,所述第三预设逻辑运算具体为:
将第一信号与第二信号进行“与”运算以获得第五信号;
将第三信号与第四信号进行“与”运算以获得第六信号;
将第六信号与第五信号进行“与”运算后输入第五类型D触发器的D端并将第五类型D触发器的输出作为第二数据有效使能信号DataEn_OUT。
12.一种视频时序重新编辑的电路,其特征在于,包括:
数据获取模块,用于获取原始视频时序和视频像素数据并根据第一视频时序对视频像素数据进行缓存,原始视频时序包括第一视频时钟信号Video CLK、第一场同步信号Vsync_IN、第一行同步信号Hsync_IN、第一数据有效使能信号DataEn_IN;
视频分析模块,用于根据第一视频时钟信号Video CLK对第一数据有效使能信号DataEn_IN、第一场同步信号Vsync_IN、第一行同步信号Hsync_IN进行分析以获得第一视频时序信息;
视频时序微调模块,用于根据预设的配置策略对第一视频时序信息进行时序微调以获得第二视频时序信息;
视频时序产生模块,用于获取第二视频时钟信号Retiming Video CLK并根据第一场同步信号Vsync_IN、第二视频时钟信号Retiming Video CLK、第二视频时序信息生成稳定的且与第二视频时序信息对应的第二数据有效使能信号DataEn_OUT、第二场同步信号Vsync_OUT、第二行同步信号Hsync_OUT;
数据输出模块,用于根据第二数据有效使能信号DataEn_OUT、第二场同步信号Vsync_OUT、第二行同步信号Hsync_OUT控制FIFO读控制模块从缓存中读取并输出视频像素数据。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410783862.XA CN118803178B (zh) | 2024-06-18 | 2024-06-18 | 一种视频时序重新编辑的电路及方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410783862.XA CN118803178B (zh) | 2024-06-18 | 2024-06-18 | 一种视频时序重新编辑的电路及方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN118803178A true CN118803178A (zh) | 2024-10-18 |
| CN118803178B CN118803178B (zh) | 2025-05-13 |
Family
ID=93027268
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202410783862.XA Active CN118803178B (zh) | 2024-06-18 | 2024-06-18 | 一种视频时序重新编辑的电路及方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118803178B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119363953A (zh) * | 2024-12-24 | 2025-01-24 | 合肥六角形半导体有限公司 | 一种视频直方图均衡处理电路和芯片 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9438820B1 (en) * | 2014-02-04 | 2016-09-06 | Marvell International Ltd. | Systems and methods for processing composite video signals |
| CN113141481A (zh) * | 2020-01-17 | 2021-07-20 | 京东方科技集团股份有限公司 | 视频时序转换方法和装置、计算机可读介质 |
| CN114302022A (zh) * | 2021-12-31 | 2022-04-08 | 上海宇思微电子有限公司 | 一种动态调整视频时序的方法 |
| CN117424989A (zh) * | 2023-09-26 | 2024-01-19 | 视联动力信息技术股份有限公司 | 图像数据处理方法、装置、电子设备及可读存储介质 |
-
2024
- 2024-06-18 CN CN202410783862.XA patent/CN118803178B/zh active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9438820B1 (en) * | 2014-02-04 | 2016-09-06 | Marvell International Ltd. | Systems and methods for processing composite video signals |
| CN113141481A (zh) * | 2020-01-17 | 2021-07-20 | 京东方科技集团股份有限公司 | 视频时序转换方法和装置、计算机可读介质 |
| CN114302022A (zh) * | 2021-12-31 | 2022-04-08 | 上海宇思微电子有限公司 | 一种动态调整视频时序的方法 |
| CN117424989A (zh) * | 2023-09-26 | 2024-01-19 | 视联动力信息技术股份有限公司 | 图像数据处理方法、装置、电子设备及可读存储介质 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119363953A (zh) * | 2024-12-24 | 2025-01-24 | 合肥六角形半导体有限公司 | 一种视频直方图均衡处理电路和芯片 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN118803178B (zh) | 2025-05-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103647918B (zh) | 一种视频同步化的方法及装置 | |
| CN102905056B (zh) | 视频图像处理方法及装置 | |
| CN107249101B (zh) | 一种高分辨率图像采集与处理装置 | |
| CN118803178A (zh) | 一种视频时序重新编辑的电路及方法 | |
| TW201428675A (zh) | 影像產生系統與影像產生方法 | |
| TW201301124A (zh) | 對於由一資料串流中所重新產生之時脈訊號之調整 | |
| CN114845150B (zh) | 一种显示屏多视频显示同步系统 | |
| WO2013150698A1 (ja) | 映像信号送信装置及び受信装置 | |
| JP5998579B2 (ja) | マルチディスプレイシステムの映像表示装置、方法及びプログラム | |
| CN107948188A (zh) | 一种arinc818‑dvi协议转换方法 | |
| CN102263972B (zh) | 三维显示控制装置及方法 | |
| TWI232052B (en) | Regenerator circuit of serial data and method of regenerating same | |
| CN105634861A (zh) | 新型串行误码测试仪 | |
| CN119788835B (zh) | 基于fpga的立体图像显示系统及方法 | |
| CN109618074B (zh) | 一种对不标准输入vesa时序的健壮性设计方法 | |
| CN113141481B (zh) | 视频时序转换方法和装置、计算机可读介质 | |
| CN105516633B (zh) | 一种图像处理系统 | |
| CN111355914B (zh) | 一种视频制式信号生成装置和方法 | |
| US7349032B2 (en) | Circuit to resize and enlarge an image signal and resizing and enlargement method for an image signal | |
| CN101207835B (zh) | 一种具有监测视频信号电平的监视器 | |
| CN116634088A (zh) | 基于fpga的uart传输vga图像显示系统 | |
| CN111711772B (zh) | 图像缩放方法、图像缩放电路、芯片和电子设备 | |
| CN104464610A (zh) | 一种视频截取方法及装置 | |
| CN204732124U (zh) | 用于将LVDS视频信号转换为16Lane V-BY-ONE视频信号的系统 | |
| CN110490837B (zh) | 一种非标准格式3g-sdi图像的检测方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |