一种基于FPGA实现单通道传输双路摄像头数据制造技术

技术编号:25894425 阅读:50 留言:0更新日期:2020-10-09 23:41
本发明专利技术公开了一种基于FPGA实现单通道传输双路摄像头数据,通过摄像头模块将采集到图像模拟信号经接收模块传至FPGA模块,由FPGA模块将接收的信号进行点交织到行交织处理成BT656数字信号,SoC模块收到BT656数字信号后,通过驱动程序分离通道A/B数据和恢复丢弃行的处理,并将处理后的通过一个物理视频通道传输。本发明专利技术通过采用FPGA模块将接收模块的两路视频数据合成一路BT656型视频数据格式,并通过FPGA将两路视频的数据每行的前N个字节做标记,通过该改动SoC模块的驱动软件,利用SoC模块对视频数据的标记,分离出两路视频数据,对于FPGA丢失的某些视频数据行,利用上下行数据进行插值恢复,完成单通道传输多摄像头的功能,使本发明专利技术具有不受摄像头数量限制、成本低的特点。

【技术实现步骤摘要】
一种基于FPGA实现单通道传输双路摄像头数据
本专利技术涉及图像采集
,更具体的说是涉及一种基于FPGA实现单通道传输双路摄像头数据。
技术介绍
在汽车上,通常配备摄像头,以汽车全景或监控系统为例,此类系统的核心SoC需要接入多路摄像头(一般>=4通道),对多路输入图像进行处理,然后进行数据存储和显示。此类系统的接收模块的主要工作是将每路输入的模拟摄像头信号转换为数字信号,并按照常用的BT656格式输出到SoC,SoC具有一到多个视频输入端口,每个端口可接受BT656的信号输入。对于这样的系统,SoC所能接受处理的摄像头通道数直接受SoC的视频输入端口数量限制。因此,人们在不改变SoC的情况下,通过简单的硬件扩展来处理更多通道的视频信号,从而满足快速系统升级的需求。例如,传统的汽车全景系统需要处理安装在汽车四周的4路摄像头信号,而现代汽车全景系统则需要接入第五路甚至第六路摄像头来满足ADAS等需求。这样的改进虽然解决了摄像头通道数直接受SoC的视频输入端口数量限制的问题,但是大大提高了成本,并不能解决人们的需求。因此,如何提供一种不受数量限制,而且成本低的一种单通道传输双路摄像头是本领域技术人员亟需解决的问题。
技术实现思路
有鉴于此,本专利技术提供了一种不受数量限制,而且成本低的一种基于FPGA实现单通道传输双路摄像头数据。为实现上述目的,本专利技术提供如下技术方案,主要包括:摄像头模块、接收模块、FPGA模块和SoC模块;其中,所述摄像头模块将采集到图像模拟呈高清摄像头信号经接收模块传至FPGA模块,由FPGA模块将接收的信号进行点交织到行交织处理成BT656数字信号,所述SoC模块收到BT656数字信号后,通过驱动程序分离通道A/B数据和恢复丢弃行的处理,并将处理后的通过一个物理视频通道传输。优选的,在上述一种基于FPGA实现单通道传输双路摄像头数据中,所述FPGA模块将接收的信号进行点交织到行交织处理成BT656数字信号具体步骤如下:S1:因接收模块输出的A/B通道点交织BT656数据行间隔时间是随机的(AB通道每帧视频开始的时间不同步),帧有效图像间隔也是随机的,并且A/B通道各行的长度并不完全一致,所以需要在分离A/B通道数据时分别找到行的起始标志位(EAV);S2:根据A/B通道数据行起始位(EAV),开始将A/B通道的数据分别存放在FPGA内部2个8bit,4000深度的A-BRAM与B-BRAM里面,使A-BRAM与B-BRAM里面的A/B通道数据行的起始位(EAV)对齐;S3:根据A/B通道数据行起始标志位(EAV),将A-BRAM与B-BRAM里面A/B通道数据同时读出,写入4个宽度8bit、4000深度的0-RAM与1-BRAM中,当0-BRAM与1-BRAM行写满时,切换成写入2-BRAM与3-BRAM,反复交替;S4:在S3切换成写入2-BRAM与3-BRAM时,开始读输出,按0-BRAM、1-BRAM、2-BRAM、3-BRAM的顺序反复循环,得到一行A一行B的连续输出;此时A/B通道输出格式为BT656数据,采用内嵌同步的方式。由于SOC模块的硬件驱动是识别帧同步头的方式进行采集,因此修改A/B通道的同步头,使每40ms(对于25FPS;对于30fps每帧时间为33.3ms)内只出现一次帧同步头,并在A/B通道行SAV标志后第二字节对AB通道进行标注。S5:FPGA的工作实际是将两路视频通道的数据打包成1路BT656格式输出,SoC模块接收到此视频数据后,需要利用驱动软件将两路视频的有效数据还原,如S1所述,由于两路视频每帧的起始时间不同步,FPGA模块将视频数据的第一个字节用特殊字符标识。S6:FPGA模块接收到通道A或B的有效数据后,遵从BT656协议,周期性输出固定的消隐行数,从而让SoC模块的视频输入端口可判断一帧数据的开始和结束,对于148.5MHz时钟的BT656信号,每帧包含1500行(包括有效行和消隐行),FPGA模块强制插入4行消隐行,以结束当前合成的视频帧;对于主频较低的SoC模块,可适当增加消隐行数。优选的,在上述一种基于FPGA实现单通道传输双路摄像头数据中,所述SoC模块驱动程序分离通道A/B数据和恢复丢弃行的处理的步骤如下:S1:当FPGA模块开始插入消隐行时(表示FPGA模块合成了一帧BT656视频数据),SoC模块的视频输入端口产生中断,驱动程序响应中断,回收分配给视频端口的当前缓存,并将此缓存数据分配给视频分离程序分离A/B通道数据;S2:当FPGA模块结束插入消隐行时(表示FPGA模块准备输出一帧新的BT656视频数据),SoC模块的视频输入端口产生中断,驱动程序响应中断,分配给视频端口的一个新的缓存用于存储新的视频帧数据;S3:视频分离程序检查每行的头字节,分离A/B通道数据;S4:合并S3分离的A/B通道数据,当前帧和前一帧的数据,输出通道A/B的视频帧到应用将前一帧的有效行数和当前帧的有效行数相加,如果行数小于视频所需的有效行数,则可利用前一帧最后的几行和当前帧头上的几行,对丢失数据行差值恢复。S5:将前一帧数据、恢复的数据、以及当前帧的数据,合并到一起输出到应用。优选的,在上述一种基于FPGA实现单通道传输双路摄像头数据中,所述摄像头模块为多个AHD摄像构成。经由上述的技术方案可知,与现有技术相比,本专利技术公开提供了一种基于FPGA实现单通道传输双路摄像头数据,本专利技术通过采用FPGA模块将接收模块的两路视频数据合成一路BT656型视频数据格式,并通过FPGA将两路视频的数据每行的前N个字节做标记,通过该改动SoC模块的驱动软件,利用SoC模块对视频数据的标记,分离出两路视频数据,对于FPGA丢失的某些视频数据行,利用上下行数据进行插值恢复,完成单通道传输多摄像头的功能,使本专利技术具有不受摄像头数量限制、成本低的特点。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术的技术流程示意图。图2为本专利技术的接收模块将两通道的数据逐字节交织,无法被SoC的一个视频端口识别示意图。图3为本专利技术的FPGA将两路视频信号逐行交织示意图。图4为本专利技术的FPGA合成后的视频输出示意图。图5为本专利技术的FPGA插入消隐行,两视频通道因不同步被丢弃的行示意图。图6为本专利技术驱动程序分离两通道数据示意图。图7为本专利技术的驱动程序恢复丢失的数据行,合成视频帧示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术本文档来自技高网...

【技术保护点】
1.一种基于FPGA实现单通道传输双路摄像头数据,其特征在于,主要包括:摄像头模块、接收模块、FPGA模块和SoC模块;其中,所述摄像头模块将采集到图像模拟呈高清摄像头信号经接收模块传至FPGA模块,由FPGA模块将接收的信号进行点交织到行交织处理成BT656数字信号,所述SoC模块收到BT656数字信号后,通过驱动程序分离通道A/B数据和恢复丢弃行的处理,并将处理后的通过一个物理视频通道传输。/n

【技术特征摘要】
1.一种基于FPGA实现单通道传输双路摄像头数据,其特征在于,主要包括:摄像头模块、接收模块、FPGA模块和SoC模块;其中,所述摄像头模块将采集到图像模拟呈高清摄像头信号经接收模块传至FPGA模块,由FPGA模块将接收的信号进行点交织到行交织处理成BT656数字信号,所述SoC模块收到BT656数字信号后,通过驱动程序分离通道A/B数据和恢复丢弃行的处理,并将处理后的通过一个物理视频通道传输。


2.根据权利要求1所述的一种基于FPGA实现单通道传输双路摄像头数据,其特征在于,所述FPGA模块将接收的信号进行点交织到行交织处理成BT656数字信号具体步骤如下:
S1:因接收模块输出的A/B通道点交织BT656数据行间隔时间是随机的(AB通道每帧视频开始的时间不同步),帧有效图像间隔也是随机的,并且A/B通道各行的长度并不完全一致,所以需要在分离A/B通道数据时分别找到行的起始标志位(EAV);
S2:根据A/B通道数据行起始位(EAV),开始将A/B通道的数据分别存放在FPGA内部2个8bit,4000深度的A-BRAM与B-BRAM里面,使A-BRAM与B-BRAM里面的A/B通道数据行的起始位(EAV)对齐;
S3:根据A/B通道数据行起始标志位(EAV),将A-BRAM与B-BRAM里面A/B通道数据同时读出,写入4个宽度8bit、4000深度的0-RAM与1-BRAM中,当0-BRAM与1-BRAM行写满时,切换成写入2-BRAM与3-BRAM,反复交替;
S4:在S3切换成写入2-BRAM与3-BRAM时,开始读输出,按0-BRAM、1-BRAM、2-BRAM、3-BRAM的顺序反复循环,得到一行A一行B的连续输出;此时A/B通道输出格式为BT656数据,采用内嵌同步的方式。由于SOC模块的硬件驱动是识别帧同步头的方式进行采集,因此修改A/B通道的同步头,使每40ms(对于25FPS;对于30fps每...

【专利技术属性】
技术研发人员:贺徵廷程自清蒋剑
申请(专利权)人:深圳市达程科技开发有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1