CN111669516A - 一种基于fpga实现八路视频数据的横向拼接及imu数据的实时同步方法 - Google Patents
一种基于fpga实现八路视频数据的横向拼接及imu数据的实时同步方法 Download PDFInfo
- Publication number
- CN111669516A CN111669516A CN202010564290.8A CN202010564290A CN111669516A CN 111669516 A CN111669516 A CN 111669516A CN 202010564290 A CN202010564290 A CN 202010564290A CN 111669516 A CN111669516 A CN 111669516A
- Authority
- CN
- China
- Prior art keywords
- data
- fpga
- imu
- paths
- real
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/265—Mixing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/70—Circuitry for compensating brightness variation in the scene
- H04N23/73—Circuitry for compensating brightness variation in the scene by influencing the exposure time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
Abstract
本发明公开了一种基于FPGA实现八路视频数据的横向拼接及IMU数据的实时同步方法,通过在sensor每帧曝光时间一半的时间点来读取IMU的数据(支持SCL时钟延展),并且附上整个系统的时间戳存入缓存FIFO中供CPU读取,不仅提高了IMU数据采集的精准性,也可以防止CPU内部数据的阻塞,同时也对八幅图像进行了AE,并将AE的数据嵌入每帧的结尾,使得图像整体上看起来亮度一致,FPGA具有灵活的编程性,在不需要修改外围电路的基础上,可以通过修改源代码来实现自己的需求,极大地缩短了开发周期,同时也降低了开发成本。
Description
技术领域
本发明涉及图像处理技术领域,具体为一种基于FPGA实现八路视频数据的横向拼接及IMU数据的实时同步方法。
背景技术
随着人们越来越注重安全问题,监控开始向小型化、家庭化发展。为了实现全方位多角度监控,需要采用多路摄像及多个显示器来显示实时信息,同时多路存储的容量需求比较大。为了在容量有限的情况下存储更多数据, 需要对多路视频进行相关处理,将多路视频合成一路视频信号再进行压缩存储和显示。
综合考虑视频图像的实时性以及功耗体积等因素,目前大多厂商采取以下方案:由4路并行的视频模数转换芯片TVP5154将4路视频信号转换成数字格式的视频信号,并用FPGA进行合成处理,再送给ARM模块进行进一步压缩、存储等处理。此类视频合成芯片不能完全满足用户需求,视频合成系统相对复杂,大部分需要定制,额外定制又需要花费大量时间、更改外围电路。
发明内容
本发明的目的在于提供一种基于FPGA实现八路视频数据的横向拼接及IMU数据的实时同步方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于FPGA实现实现八路视频数据的横向拼接及IMU数据的实时同步方法,包括以下步骤:
A、将sensor输出的八组视频并口数据横向拼接成一组并口数据;同时截取每个sensor一帧图像中的几个小窗口数据,并取平均值,最后将八个平均值再取平均值并插入每帧数据的结尾;
B、通过i2c总线去初始化并读取IMU的数据,将系统时钟数值和IMU数据一起打包存入FIFO中供CPU空闲时读取;
C、将拼接完成之后的并口数据转换成MIPI CSI-2输出给CPU。
优选的,所述步骤A中sensor输出的八组视频并口数据,输出的视频数据格式为10bit并口数据,所述实现八路视频数据的横向拼接,采用160M的pixclk作为合成之后的时钟。
优选的,所述步骤B中通过i2c将系统时钟写入FPGA内部,在FPGA内部依靠晶振生成一个时间计数器,定时更新写入FPGA内部的系统时间值来保持系统时钟和FPGA时钟同步,同样利用i2c将sensor每帧曝光的时间写入FPGA内部,计算出曝光时间的中间值,利用移位操作来提高计算结果的精确性。
优选的,所述步骤C, MIPI CSI-2传输方式是4lane,raw10。
与现有技术相比,本发明的有益效果是:
1、降低成本价格,目前市场上的视频合成系统相对复杂,大部分需要定制,而FPGA具有灵活的编程性,不需要更改外围电路,根据需求修改源代码即可。
2、支持更丰富的设计规划,可以对接收到的图像数据进行算法处理,包括gamma矫正,AE,AWB,BLC,嵌入或裁剪数据等等。
3、减小板上布局面积,就本次使用案例而言,本次FPGA的封装尺寸为9 x 9 mm。
4、降低运行功耗,就本次使用案例而言,本次FPGA运行功耗大约在25mW,而其他视频合成系统运行功耗远大于这个值,功耗过大会导致板子过热,另一方面也会影响用户体验。
5、在sensor每帧曝光时间一半的时间点来读取IMU的数据并存入FPGA的FIFO中,不仅提高了IMU数据采集的精准性,也可以防止CPU内部数据的阻塞,同时支持SCL时钟延展,具有更强的应用性。
6、更高效的实现视频图像处理方案,目前厂商视频合成芯片不能完全满足用户需求,额外定制又需要花费大量时间,而通过FPGA仅需修改部分代码就可实现,不需要更改外围电路,大大缩短研发周期。
附图说明
图1为本发明流程图;
图2为本发明帧率为30,pixclk为160M的并口数据方法图;
图3为本发明截取每个sensor一帧图像中的几个小窗口数据,八个平均值示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种基于FPGA实现八路视频数据的横向拼接及IMU数据的实时同步方法,包括以下步骤:
A、将sensor输出的八组视频并口数据横向拼接成一组并口数据;同时截取每个sensor一帧图像中的几个小窗口数据,并取平均值,最后将八个平均值再取平均值并插入每帧数据的结尾;
B、通过i2c总线去初始化并读取IMU的数据,将系统时钟数值和IMU数据一起打包存入FIFO中供CPU空闲时读取;
C、将拼接完成之后的并口数据转换成MIPI CSI-2输出给CPU。
本发明是基于FPGA实现八路视频数据的横向拼接及IMU数据的实时同步,图一所示是利用FPGA进行转换的原理,将八路sensor输出的并口数据进行拼接,合并成一幅图像的并口数据,然后将并口数据转换成MIPI CSI-2输出给CPU。
具体实现步骤如下:
(1)将sensor输出的八组并口数据横向拼接成一组并口数据;同时截取每个sensor一帧图像中的几个小窗口数据,并取平均值,最后将八个平均值再取平均值并插入每帧数据的结尾;
(2)通过i2c总线去初始化并读取IMU的数据,将系统时钟数值和IMU数据一起打包存入FIFO中供CPU空闲时读取;
(3)将拼接完成之后的并口数据转换成MIPI CSI-2输出给CPU。
本例sensor输出的视频数据格式为10bit并口数据,要实现752*480@30的图像进行八路横向拼接,需要进行如下计算,已知sensor输出的pixclk为27M,分辨率为752*480,帧率为30(每秒钟30幅图像),要想实现八幅图像的拼接,在保持lv-blanking(行消隐)不变的情况下,需要八倍的时钟去传输,即216M的时钟,考虑到最后转成MIPI CSI-2的传输速率太快,需要降低速率,此时需要减小行消隐来实现。由于每行的行消隐和行有效的总长度保持不变,因此需要计算出最小的pixclk。要想实现30帧,即每帧图像的传输时间1/30=33.33ms,所以一个fv有效的时间应小于33.33ms,752*480的分辨率有480行,可以得出每行(有效长度加行消隐的总和)的时间应该小于1/60/480=69.44us,由于每个sensor行有效长度为752*(1/27M)=31.33us,所以所需的最小pixclk应大于216M/2=108M,考虑到后面MIPICSI-2的BYTE_CLK,LANE_RATE等的计算,最终我选择了160M的pixclk作为合成之后的时钟(具体解释在步骤3)。
在步骤A中,首先将sensor输出的八组并口数据横向拼接成一组并口数据。如图二所示,将每个sensor的数据按行交替存入两个FIFO中,相当于ping-pong操作,然后通过状态机再依次按每行读出并生成一个有八倍数据量的新行,因为合并之后的pixclk未达到八倍的sensor输出的pixclk,有效行的长度会有所增加,行消隐会减小,由此可以得到一个分辨率为6016*480,,帧率为30,pixclk为160M的并口数据。
其次,同时截取每个sensor一帧图像中的几个小窗口数据(如图三),并取平均值,最后将八个平均值再取平均值并插入每帧数据的结尾;
这个是为了保证八个sensor拼接成一幅图像之后亮度保持一致。计算平均值时利用移位操作(计算之前先左移计算之后再右移)来提高计算结果的精确性。
在步骤B中,通过i2c将系统时钟写入FPGA内部,在FPGA内部依靠晶振生成一个时间计数器,定时更新写入FPGA内部的系统时间值来保持系统时钟和FPGA时钟同步。同样利用i2c将sensor每帧曝光的时间写入FPGA内部,计算出曝光时间的中间值,利用移位操作(计算之前先左移计算之后再右移)来提高计算结果的精确性。
读取IMU数值时将FPGA作为master来初始化和读取IMU的数值,八个sensor处于触发模式,FPGA发出的触发信号会触发出一帧图像,在图像触发之前i2c会将对应帧的曝光值写入FPGA,FPGA将通过计算出来的曝光时间中间值来作为触发去读取IMU的数据,这一系列步骤可以通过FPGA内部的有限状态机来实现,考虑到目前有些连接器或者器件带有i2c时钟延展,所以这个支持延展功能,能够去适配任意IMU器件。
读出来的数值会和FPGA内部的系统时钟一起打包存入FPGA内部的FIFO中,每组数据会有一个0x55AA头信息来作为区分。FPGA内部会有一个i2c slave模块来将FPGA作为CPU的从机,CPU可以在空闲时段通过i2c将数据读取出去,可以防止CPU进程阻塞。
在步骤C中,选择的MIPI CSI-2传输方式是4lane,raw10。由步骤A可知,合并之后的并口数据分辨率为6016*480,,帧率为30fps,pixclk为160M,数据位宽为10bit。因为byteclock = pixclk * word_width / (8 * lane_width),考虑到时钟的精准性,尽量选取整数,最终选取了160M的pixclk作为合并之后的采样时钟。
并口数据转换成MIPI CSI-2步骤相对简单,但通过代码实现相对复杂,并口数据转换成MIPI CSI数据,先将pixel数据转换成byte数据,然后嵌入长包和短包来显示每帧和每行的开始和结束,还有传输的数据类型,每行的字节数和虚拟通道。MIPI CSI-2的数据包有两种:长包和短包。无论是长包还是短包,包的开头都是SoT(start of transmission,开始传输),包的结尾都是EoT(end of transmission,结束传输),此外,长包的SoT之后还有包头PH(packet header),EoT之前还有包尾PF(packet footer)。由此便可按照MIPI标准传输协议将parallel并口数据转换成MIPI CSI-2。
综上所述,本发明是基于FPGA实现实现八路视频数据的横向拼接及IMU数据的实时同步,通过在sensor每帧曝光时间一半的时间点来读取IMU的数据(支持SCL时钟延展),并且附上整个系统的时间戳存入缓存FIFO中供CPU读取,不仅提高了IMU数据采集的精准性,也可以防止CPU内部数据的阻塞,同时也对八幅图像进行了AE,并将AE的数据嵌入每帧的结尾,使得图像整体上看起来亮度一致。由于FPGA具有灵活的编程性,在不需要修改外围电路的基础上,可以通过修改源代码来实现自己的需求,极大地缩短了开发周期,同时也降低了开发成本。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (6)
1.一种基于FPGA实现八路视频数据的横向拼接及IMU数据的实时同步方法,其特征在于:包括以下步骤:
A、 将sensor输出的八组视频并口数据横向拼接成一组并口数据;同时截取每个sensor一帧图像中的几个小窗口数据,并取平均值,最后将八个平均值再取平均值并插入每帧数据的结尾;
B、通过i2c总线去初始化并读取IMU的数据,将系统时钟数值和IMU数据一起打包存入FIFO中供CPU空闲时读取;
C、 将拼接完成之后的并口数据转换成MIPI CSI-2输出给CPU。
2.根据权利要求1所述的一种基于FPGA实现八路视频数据的横向拼接及IMU数据的实时同步方法,其特征在于:所述sensor输出的视频数据格式为10bit并口数据。
3.根据权利要求1所述的一种基于FPGA实现八路视频数据的横向拼接及IMU数据的实时同步方法,其特征在于:所述实现八路视频数据的横向拼接,采用160M的pixclk作为合成之后的时钟。
4.根据权利要求3所述的一种基于FPGA实现八路视频数据的横向拼接及IMU数据的实时同步方法,其特征在于:所述pixclk为160M的并口数据,是将sensor输出的八组并口数据横向拼接成一组并口数据,即将每个sensor的数据按行交替存入两个FIFO中,然后通过状态机再依次按每行读出并生成一个有八倍数据量的新行,使合并之后的pixclk未达到八倍的sensor输出的pixclk,而有效行的长度会有所增加,行消隐会减小,由此得到一个分辨率为6016*480,,帧率为30,pixclk为160M的并口数据。
5.根据权利要求1所述的一种基于FPGA实现八路视频数据的横向拼接及IMU数据的实时同步方法,其特征在于:所述步骤B,通过i2c将系统时钟写入FPGA内部,在FPGA内部依靠晶振生成一个时间计数器,定时更新写入FPGA内部的系统时间值来保持系统时钟和FPGA时钟同步,同样利用i2c将sensor每帧曝光的时间写入FPGA内部,计算出曝光时间的中间值,利用移位操作(计算之前先左移计算之后再右移)来提高计算结果的精确性。
6.根据权利要求1所述的一种基于FPGA实现八路视频数据的横向拼接及IMU数据的实时同步方法,其特征在于:所述步骤C,CSI-2输出给CPU,传输方式是4lane,raw10。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010564290.8A CN111669516A (zh) | 2020-06-19 | 2020-06-19 | 一种基于fpga实现八路视频数据的横向拼接及imu数据的实时同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010564290.8A CN111669516A (zh) | 2020-06-19 | 2020-06-19 | 一种基于fpga实现八路视频数据的横向拼接及imu数据的实时同步方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111669516A true CN111669516A (zh) | 2020-09-15 |
Family
ID=72388875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010564290.8A Pending CN111669516A (zh) | 2020-06-19 | 2020-06-19 | 一种基于fpga实现八路视频数据的横向拼接及imu数据的实时同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111669516A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338951A (zh) * | 2021-12-30 | 2022-04-12 | 智道网联科技(北京)有限公司 | 传感器同步方法、装置、系统及车辆 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843522A (zh) * | 2011-06-24 | 2012-12-26 | 北京彩讯科技股份有限公司 | 基于pcie的视频拼接处理卡、其控制系统及控制方法 |
CN104780329A (zh) * | 2014-01-14 | 2015-07-15 | 南京视威电子科技股份有限公司 | 基于fpga的高标清可混播的多画面分割器及分割方法 |
CN205754597U (zh) * | 2016-05-16 | 2016-11-30 | 成都派视科技有限公司 | 一种基于fpga的多路视频拼接装置 |
CN107005624A (zh) * | 2014-12-14 | 2017-08-01 | 深圳市大疆创新科技有限公司 | 视频处理的方法和系统 |
US20180308222A1 (en) * | 2016-10-17 | 2018-10-25 | Jack Wade | Enhanced electronic dive mask system |
CN110855903A (zh) * | 2019-11-19 | 2020-02-28 | 长沙品先信息技术有限公司 | 一种多路视频实时拼接方法 |
-
2020
- 2020-06-19 CN CN202010564290.8A patent/CN111669516A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843522A (zh) * | 2011-06-24 | 2012-12-26 | 北京彩讯科技股份有限公司 | 基于pcie的视频拼接处理卡、其控制系统及控制方法 |
CN104780329A (zh) * | 2014-01-14 | 2015-07-15 | 南京视威电子科技股份有限公司 | 基于fpga的高标清可混播的多画面分割器及分割方法 |
CN107005624A (zh) * | 2014-12-14 | 2017-08-01 | 深圳市大疆创新科技有限公司 | 视频处理的方法和系统 |
CN205754597U (zh) * | 2016-05-16 | 2016-11-30 | 成都派视科技有限公司 | 一种基于fpga的多路视频拼接装置 |
US20180308222A1 (en) * | 2016-10-17 | 2018-10-25 | Jack Wade | Enhanced electronic dive mask system |
CN110855903A (zh) * | 2019-11-19 | 2020-02-28 | 长沙品先信息技术有限公司 | 一种多路视频实时拼接方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338951A (zh) * | 2021-12-30 | 2022-04-12 | 智道网联科技(北京)有限公司 | 传感器同步方法、装置、系统及车辆 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2928175A1 (en) | Image sensor, method for transmitting data from same, information processing device, information processing method, electronic device, and program | |
CN202889529U (zh) | 图像输出装置、图像处理装置和成像装置 | |
US10282805B2 (en) | Image signal processor and devices including the same | |
KR101034493B1 (ko) | 화상 변환 장치, 화상 변환을 위한 직접 메모리 액세스장치 및 화상 변환을 지원하는 카메라 인터페이스 | |
JP2000333081A (ja) | シリアルデータ伝送機能付cmosセンサユニット、それを用いた撮像ユニット及び画像データ送受信システム | |
CN108712625B (zh) | 多通道实时高清图像传输系统及传输方法 | |
WO2023005678A1 (zh) | 图像信号处理器、图像信号处理装置及方法、芯片、终端设备 | |
CN113099133A (zh) | 串行解串器链路传输高带宽相机数据的方法 | |
US20020071037A1 (en) | Method and device for data transmission | |
CN111669516A (zh) | 一种基于fpga实现八路视频数据的横向拼接及imu数据的实时同步方法 | |
CN114500877A (zh) | 一种摄像头的共享方法、系统及存储介质 | |
CN112492247B (zh) | 一种基于lvds输入的视频显示设计方法 | |
CN112040284B (zh) | 多显示屏的同步显示控制方法、装置及存储介质 | |
JP7547217B2 (ja) | 送信装置、送信方法、受信装置、受信方法、および送受信装置 | |
US8482438B2 (en) | Data processing device and data processing method | |
CN109660746B (zh) | 一种mipi信号距离传输装置及方法 | |
CN113794849B (zh) | 用于图像数据同步的装置、方法及图像采集系统 | |
TWI756871B (zh) | 資料轉換與高畫質多媒體介面接收裝置 | |
CN113949807A (zh) | 一种多路数据组合方法、系统及智能可穿戴设备 | |
CN114245108B (zh) | 支持定制扩展的DisplayPort测试系统 | |
CN113518158B (zh) | 视频拼接方法、装置、电子设备及可读存储介质 | |
US20240214593A1 (en) | Image processing device, mobile device, and method of operating the same | |
TWI413943B (zh) | 影像處理系統及其影像處理方法 | |
KR200311059Y1 (ko) | 다 채널 카메라 동기회로 | |
CN117278693A (zh) | 图像数据处理电路、方法、电子设备及介质 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200915 |