CN109714548A - 一种基于fpga的实时视频叠加处理*** - Google Patents
一种基于fpga的实时视频叠加处理*** Download PDFInfo
- Publication number
- CN109714548A CN109714548A CN201811555745.9A CN201811555745A CN109714548A CN 109714548 A CN109714548 A CN 109714548A CN 201811555745 A CN201811555745 A CN 201811555745A CN 109714548 A CN109714548 A CN 109714548A
- Authority
- CN
- China
- Prior art keywords
- video
- signal
- module
- superposition
- read
- 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
Landscapes
- Image Processing (AREA)
Abstract
本发明提出的一种基于FPGA的实时视频叠加处理***,包括帧缓存模块、读写控制器模块和叠加计算模块。帧缓存模块对输入的外背景视频信号进行缓存处理,叠加计算模块在读写控制器模块控制下,从帧缓存模块中读取外背景视频数据,还接收外部GPU芯片提供的字符视频信号,对两路不同视频的同一坐标像素进行叠加计算;读写控制器模块根据外背景视频信号以及字符视频信号中的的时序信号产生写入像素坐标和读取像素坐标。本发明所需硬件资源利用FPGA的内部资源即可满足要求,减小了硬件BOM种类和开销;利用FPGA的并行性和配置灵活性,自行设计了视频同步模块和叠加计算模块,利用很小的缓存即可实现视频叠加功能,大大减小了视频处理延时,提高了实时性。
Description
技术领域
本发明涉及现代电子技术领域,具体涉及一种基于FPGA的实时视频叠加处理***。
背景技术
随着车载、机载HUD技术以及VR/AR技术的发展,数字视频的实时显示需求也在不断提高,但是目前在很多的应用场合,都仍存在视频处理延时大带来的一系列问题。例如飞机利用HUD辅助夜航,通过HUD观察外视景,如果延时过大,造成飞行员不能及时响应外部环境变化,会增大安全风险;又如汽车HUD辅助驾驶或倒车影像应用,若视频处理延时过大,会对驾驶员的判断造成影响,使驾驶员无法即使响应外部的最新路况,严重的甚至会造成交通事故;还如VR游戏,若视频处理延时过大,会造成游戏体验差,眩晕等现象。
传统的视频叠加处理采用CPU或GPU等通用处理器实现,存在以下问题:
1)视频信号采集采用多帧缓存,带来2到3帧的采集延时;
2)视频输出采用双缓存,带来1帧的输出延时;
3)视频叠加处理是以整帧为单位进行计算,整帧计算完成后才输出,带来1帧的处理延时。
因此,传统的处理方法需要约4到5帧的延时才能完成整个视频叠加处理过程。此外,通用处理器进行视频处理往往还需要增加专用SDRAM、Flash等器件,硬件开销较大。
FPGA是一种可以进行编程控制的异构处理器芯片,通过不同的编码能够实现不同的电路,能够根据实际需求对电路进行优化,具有较高的并行性和实时性。通过FPGA对视频进行处理,是近些年来视频处理的一个热门方向。其主要特点有:
1)并行性强,可以实现视频采集、视频叠加的流水线处理;
2)实时性强,通过专门设计的帧缓存,将异步视频进行同步化;
3)配置灵活,内部资源丰富,无须在外部增加过多电路,缩减成本。
用FPGA来进行视频叠加处理,能够减小视频叠加延时,满足不同领域的视频处理实时性需求。
发明内容
为解决现有的视频处理方法延时过大、硬件开销大的问题,本发明提出一种基于FPGA的实时视频叠加处理***。
本发明的技术方案为:
所述一种基于FPGA的实时视频叠加处理***,其特征在于:包括帧缓存模块、读写控制器模块和叠加计算模块;
外背景视频信号输入帧缓存模块,帧缓存模块对输入的外背景视频信号进行缓存处理,并在读写控制器模块控制下,将缓存的视频数据输出给叠加计算模块,实现不同源输入的异步视频同步化,为后续叠加计算进行预处理;
所述叠加计算模块在在读写控制器模块控制下,从帧缓存模块中读取外背景视频数据,且叠加计算模块还接收外部GPU芯片提供的字符视频信号,叠加计算模块根据以下公式对两路不同视频的同一坐标像素进行叠加计算:P=(X+Y)-X*Y/255,其中X为字符视频像素点灰度值,Y为外背景视频像素点灰度值,P为叠加后画面像素点灰度值;
所述读写控制器模块接收外背景视频信号以及字符视频信号中的时钟信号、视频有效信号,行同步信号和场同步信号;根据外背景视频信号中的时序信号产生写入像素坐标,并将写入像素坐标输出给帧缓存模块;根据字符视频信号中的时序信号产生读取像素坐标,并将读取像素坐标输出给叠加计算模块;所述时序信号指时钟信号,视频有效信号,行同步信号和场同步信号。
有益效果
本发明提出的一种基于FPGA的实时视频叠加处理***,由于只采用了FPGA作为视频同步、视频叠加的主要处理平台,所需硬件资源利用FPGA的内部资源即可满足要求,减小了硬件BOM种类和开销;利用FPGA的并行性和配置灵活性,自行设计了视频同步模块和叠加计算模块,利用很小的缓存即可实现视频叠加功能,大大减小了视频处理延时,提高了实时性。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明的信号处理流程示意图;
图2为本发明的帧缓存模块组成图;
图3为本发明的读写控制器模块组成图;
图4为本发明的叠加计算模块组成图。
具体实施方式
下面详细描述本发明的实施例,所述实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
本实施例中的一种基于FPGA的实时视频叠加处理***如图1所示,包括帧缓存模块、读写控制器模块和叠加计算模块。
所述帧缓存模块的主要作用是对外背景视频(该背景视频通常为摄像机或红外设备拍摄的视频)输入进行缓存处理。外背景视频信号输入帧缓存模块,帧缓存模块对输入的外背景视频信号进行缓存处理,并在读写控制器模块控制下,将缓存的视频数据输出给叠加计算模块,实现不同源输入的异步视频同步化,为后续叠加计算进行预处理。
所述叠加计算模块的主要作用是对两路不同视频的同一坐标像素按照算法进行叠加处理。叠加处理使用FPGA内部的DSP资源例化得到的乘加器,不增加外部开销。
即所述叠加计算模块在在读写控制器模块控制下,从帧缓存模块中读取外背景视频数据,且叠加计算模块还接收外部GPU芯片提供的字符视频信号,叠加计算模块根据以下公式对两路不同视频的同一坐标像素进行叠加计算:P=(X+Y)-X*Y/255,其中X为字符视频像素点灰度值,Y为外背景视频像素点灰度值,P为叠加后画面像素点灰度值。
所述读写控制器主要分为写入控制逻辑和读取控制逻辑,其中写入控制逻辑的主要作用是根据外视频输入的时序信号产生写入像素坐标,按照外视频的像素时钟将逐个像素数据写入到帧缓存中;读取控制逻辑的主要作用是根据字符视频输入的时序信号产生读取像素坐标,按照字符视频的像素时钟将帧缓存中已存储的外视频像素数据逐个读取到叠加模块中,进行叠加处理。
所述读写控制器模块接收外背景视频信号以及字符视频信号中的时钟信号、视频有效信号,行同步信号和场同步信号;根据外背景视频信号中的时序信号产生写入像素坐标,并将写入像素坐标输出给帧缓存模块;根据字符视频信号中的时序信号产生读取像素坐标,并将读取像素坐标输出给叠加计算模块;所述时序信号指时钟信号,视频有效信号,行同步信号和场同步信号。
外背景视频和字符视频的时序信号进入读写控制器中,根据两个视频流各自的时序分别产生写入和读取的行列坐标,其中外背景视频数据以外背景视频的像素时钟作为写入时钟,按照写入坐标逐点写入到帧缓存中存储;字符视频数据以自身的像素时钟作为读取时钟,按照读取坐标从帧缓存的相应地址取出外视频数据,然后将同一坐标的外视频和字符视频数据按照字符视频像素时钟的节拍,逐像素送入叠加计算模块中进行算法处理,最后按照字符视频的像素时钟和时序输出叠加后的视频。
具体的帧缓存模块示意图如图2所示。由于外背景视频和字符视频为不同源的异步视频,其叠加处理必须要经过同步化处理,帧缓存的主要作用就是将外背景视频暂存,然后字符视频可以以自身的时序读取到对应坐标像素的外背景视频数据,以供后级处理。帧缓存的主体是利用FPGA内部的BRAM资源例化成的双端口SRAM,在双口SRAM的写入端,按照写入控制逻辑计算出的外背景视频像素行列地址,以外背景视频像素时钟作为参考,逐像素把像素数据写入到双口RAM的对应地址中;在读取端,按照读取控制逻辑计算出的字符视频像素行列地址,以字符视频像素时钟作为参考,逐像素地从双口RAM的对应地址中读出外背景视频数据,也即字符视频每个时钟周期都能从帧缓存中取到相同坐标的外背景视频像素数据,之后送叠加计算模块进行叠加处理。
而读写控制器模块示意图如图3所示。读写控制器模块的主要功能是根据外背景视频和字符视频的行场同步(VS/HS)、有效信号(DE)等时序信号分别计算出正在接收的外视频和字符视频像素数据的坐标,具体坐标计算方法如下:
1)行地址计数器以场同步作为起点,每个场同步信号到来时,行计数器清零,每个行同步到来时,行地址计数器值加一;
2)列地址计数器以行同步作为起点,每个行同步信号到来时,行计数器清零,在DE信号有效的时间内,每个时钟周期,列地址计数器加一;
按照上述方法计算得到的行列地址,被送到帧缓存中用于读写控制。
本发明的一种基于FPGA的实时视频叠加处理方法的叠加计算模块示意图如图4所示。该模块主要功能是将同一坐标的外背景视频和字符像素数据按照一定的算法进行叠加处理,之后以字符视频的时序输出叠加后的视频。其中,视频叠加的算法是利用FPGA中的DSP资源例化得到的乘加器来实现。
总结而言,本发明一种基于FPGA的实时视频叠加处理***,主要用于将视频处理模块自身生成的字符画面和外部输入的背景视频画面进行叠加,相应的步骤为:
1)外部输入的DVI格式外视频经过解码器处理后解码为并行RGB信号进入FPGA;
2)在FPGA中,通过FPGA内部BRAM资源对外视频数据进行帧缓存;
3)BRAM资源在FPGA被例化为双端口SRAM形式,外视频数据通过一端写入双口SRAM,字符画面视频按照视频流时序从双口SRAM另一端读取对应像素的外视频数据,以实现异步视频同步化;
4)利用FPGA内部的DSP资源构建叠加计算模块,同步化后的两路视频进入叠加计算模块,按照一定的叠加算法进行处理,并实时输出。
本发明由于采用了帧缓存边存边取的读写控制方式,外背景视频和字符视频不同步所带来的最大延时为1帧(以60Hz计算为16.7ms),且所有的帧缓存、读写控制器、叠加计算模块等均通过FPGA内部资源实现,节约了BOM种类和成本。
上述所描述的实施方式,例如视频信号、刷新率的类型等,均可根据实际产品的情况进行更改,上述描述仅以此举例。以上实施的例子不是对本发明的具体限定,所有与本发明类似的技术方案,都应属于本发明的保护范围。
Claims (1)
1.一种基于FPGA的实时视频叠加处理***,其特征在于:包括帧缓存模块、读写控制器模块和叠加计算模块;
外背景视频信号输入帧缓存模块,帧缓存模块对输入的外背景视频信号进行缓存处理,并在读写控制器模块控制下,将缓存的视频数据输出给叠加计算模块,实现不同源输入的异步视频同步化,为后续叠加计算进行预处理;
所述叠加计算模块在在读写控制器模块控制下,从帧缓存模块中读取外背景视频数据,且叠加计算模块还接收外部GPU芯片提供的字符视频信号,叠加计算模块根据以下公式对两路不同视频的同一坐标像素进行叠加计算:P=(X+Y)-X*Y/255,其中X为字符视频像素点灰度值,Y为外背景视频像素点灰度值,P为叠加后画面像素点灰度值;
所述读写控制器模块接收外背景视频信号以及字符视频信号中的时钟信号、视频有效信号,行同步信号和场同步信号;根据外背景视频信号中的时序信号产生写入像素坐标,并将写入像素坐标输出给帧缓存模块;根据字符视频信号中的时序信号产生读取像素坐标,并将读取像素坐标输出给叠加计算模块;所述时序信号指时钟信号,视频有效信号,行同步信号和场同步信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811555745.9A CN109714548A (zh) | 2018-12-18 | 2018-12-18 | 一种基于fpga的实时视频叠加处理*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811555745.9A CN109714548A (zh) | 2018-12-18 | 2018-12-18 | 一种基于fpga的实时视频叠加处理*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109714548A true CN109714548A (zh) | 2019-05-03 |
Family
ID=66255935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811555745.9A Pending CN109714548A (zh) | 2018-12-18 | 2018-12-18 | 一种基于fpga的实时视频叠加处理*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109714548A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111683213A (zh) * | 2020-06-16 | 2020-09-18 | 中国北方车辆研究所 | 基于感兴趣区域灰度图像的自适应字符叠加***及方法 |
CN112235518A (zh) * | 2020-10-14 | 2021-01-15 | 天津津航计算技术研究所 | 一种数字视频图像融合叠加方法 |
CN113852768A (zh) * | 2021-09-24 | 2021-12-28 | 中音讯谷科技有限公司 | 一种基于fpga技术的音视频图像智能控制*** |
CN114257704A (zh) * | 2021-12-17 | 2022-03-29 | 威创集团股份有限公司 | 一种基于fpga的视频叠加方法、装置、设备和介质 |
CN115314644A (zh) * | 2022-09-16 | 2022-11-08 | 广州市保伦电子有限公司 | 一种基于fpga的视频数据处理*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011127673A1 (zh) * | 2010-04-16 | 2011-10-20 | 深圳市创凯电子有限公司 | 全彩led点阵上同时显示实时多画面的方法及装置 |
CN103702040A (zh) * | 2013-12-31 | 2014-04-02 | 广州华多网络科技有限公司 | 实时视频图饰叠加处理方法及*** |
CN106534722A (zh) * | 2016-12-19 | 2017-03-22 | 中国科学院长春光学精密机械与物理研究所 | 基于fpga的视频流字符叠加处理***及处理方法 |
CN108055478A (zh) * | 2017-12-18 | 2018-05-18 | 天津津航计算技术研究所 | 一种基于fc-av协议的多路视频叠加传输方法 |
-
2018
- 2018-12-18 CN CN201811555745.9A patent/CN109714548A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011127673A1 (zh) * | 2010-04-16 | 2011-10-20 | 深圳市创凯电子有限公司 | 全彩led点阵上同时显示实时多画面的方法及装置 |
CN103702040A (zh) * | 2013-12-31 | 2014-04-02 | 广州华多网络科技有限公司 | 实时视频图饰叠加处理方法及*** |
CN106534722A (zh) * | 2016-12-19 | 2017-03-22 | 中国科学院长春光学精密机械与物理研究所 | 基于fpga的视频流字符叠加处理***及处理方法 |
CN108055478A (zh) * | 2017-12-18 | 2018-05-18 | 天津津航计算技术研究所 | 一种基于fc-av协议的多路视频叠加传输方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111683213A (zh) * | 2020-06-16 | 2020-09-18 | 中国北方车辆研究所 | 基于感兴趣区域灰度图像的自适应字符叠加***及方法 |
CN112235518A (zh) * | 2020-10-14 | 2021-01-15 | 天津津航计算技术研究所 | 一种数字视频图像融合叠加方法 |
CN113852768A (zh) * | 2021-09-24 | 2021-12-28 | 中音讯谷科技有限公司 | 一种基于fpga技术的音视频图像智能控制*** |
CN114257704A (zh) * | 2021-12-17 | 2022-03-29 | 威创集团股份有限公司 | 一种基于fpga的视频叠加方法、装置、设备和介质 |
CN114257704B (zh) * | 2021-12-17 | 2023-10-10 | 威创集团股份有限公司 | 一种基于fpga的视频叠加方法、装置、设备和介质 |
CN115314644A (zh) * | 2022-09-16 | 2022-11-08 | 广州市保伦电子有限公司 | 一种基于fpga的视频数据处理*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109714548A (zh) | 一种基于fpga的实时视频叠加处理*** | |
US10049642B2 (en) | Sending frames using adjustable vertical blanking intervals | |
US11562701B2 (en) | Data processing systems | |
CN105898507B (zh) | 一种视频信号同步方法及装置 | |
CN107249101A (zh) | 一种高分辨率图像采集与处理装置 | |
CN108241213A (zh) | 头戴式显示器及其控制方法 | |
CN103685977B (zh) | 一种实时显示合成孔径雷达图像的装置 | |
CN101105929A (zh) | 数据处理器 | |
CN109426474B (zh) | 一种双显示屏同步*** | |
US10861243B1 (en) | Context-sensitive augmented reality | |
CN103927780B (zh) | 一种多显卡渲染的方法与三维显示*** | |
CN101814269A (zh) | 全彩led点阵上同时显示实时多画面的方法及装置 | |
Rensink et al. | Image flicker is as good as saccades in making large scene changes invisible | |
US10672367B2 (en) | Providing data to a display in data processing systems | |
CN104883517A (zh) | 一种对三路高分辨率视频流进行叠加的***和方法 | |
CN108616674A (zh) | 具有外同步功能的双路视频信号时序产生电路结构 | |
CN113219668A (zh) | 用于刷新头戴式显示设备的屏幕的方法、装置及电子设备 | |
CN103327352A (zh) | 采用串行处理方式实现双显示屏3d显示的装置及方法 | |
US7425962B2 (en) | Systems and methods for generating a composite video signal from a plurality of independent video signals | |
CN115100020A (zh) | 虚拟、增强和混合现实***以及方法 | |
CN115002304A (zh) | 一种视频图像分辨率自适应转换装置 | |
CN203243457U (zh) | 采用串行处理方式实现双显示屏3d显示的装置 | |
CN113315964A (zh) | 一种3d图像的显示方法、装置及电子设备 | |
CN104333673B (zh) | 一种基于fpga与dsp的实时视频图像偏色校正方法 | |
CN109873954A (zh) | 一种基于FPGA实现Bayer阵列彩色恢复方法 |
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 |
Application publication date: 20190503 |
|
WD01 | Invention patent application deemed withdrawn after publication |