CN116320220A - 一种基于fpga时间序列的视频字符叠加方法 - Google Patents
一种基于fpga时间序列的视频字符叠加方法 Download PDFInfo
- Publication number
- CN116320220A CN116320220A CN202310258726.4A CN202310258726A CN116320220A CN 116320220 A CN116320220 A CN 116320220A CN 202310258726 A CN202310258726 A CN 202310258726A CN 116320220 A CN116320220 A CN 116320220A
- Authority
- CN
- China
- Prior art keywords
- character
- fpga
- characters
- video
- row
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013461 design Methods 0.000 claims abstract description 5
- 239000011159 matrix material Substances 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明属于图像处理技术在FPGA的应用领域,具体涉及一种在FPGA平台以时间序列的方式实现字符叠加的方法,所述方法包括以下步骤:步骤1:上位机模块通过RS232对叠加模式进行配置;步骤2:基于时间序列建立各个常用字符的逻辑生成模块;步骤3:在视频流中调用需要显示的各个字符模块。该方法基于FPGA时序序列逻辑,对常用字符按照行列地址位置偏移的方式进行模块设计,按照显示内容的需要,调用各个字符的时序模块,实现字符串在视频图像的完整叠加。
Description
技术领域
本发明属于图像处理技术在FPGA的应用领域,涉及一种基于FPGA时间序列的视频字符叠加方法。
背景技术
随着集成电路技术的发展,高性能处理器的处理能力越来越强,可实现各种复杂的图像和视频处理功能,如图像采集、图像处理、视频压缩、视频存储、字符叠加等功能。字符叠加功能在图像标注和视频监控领域的应用比较普遍,通过在视频数据中叠加必要的字符,可实现对图像关键位置或视频关键帧的标注,对于关键信息的获取和图像的分析具有重要意义。因此,字符叠加已成为视频监控等领域一个必备功能。目前,字符叠加的实现方式很多且比较成熟,如ARM、DSP、FPGA等芯片均可实现该功能实时处理,对于实时性不做要求的字符叠加采用纯软件的方式实现则更为简单快捷。
基于DSP的字符叠加方法在国内外的应用已经很成熟,国外如美国Ti公司的TMS320DM8148、TMS320DM8168方案,该芯片内置字符叠加OSD(OnScreenDisplay)模块,通过简单的模块调用和配置,即可实现在高清视频上叠加字符或者图片;国内如华为海思的Hi3516、Hi3559等高性能ARM处理器,其在安防领域的应用比较成熟,内置的字符叠加OSD模块,基于Linux操作系统,可在多路视频采集显示的同时为每一路视频叠加所需的字符或者图片,该功能接口简单且配置灵活。
基于FPGA的字符叠加方法主要应用在以FPGA作为主处理模块的方案中,FPGA在实现高速图像或视频采集的同时,通过逻辑实现字符叠加。传统方案一般将字库存储在外部FLASH或者内部BRAM中,字库中字符大小和字体固定,需要显示时通过访问字库,调用相应字符实现显示;字库中需要显示的位置其像素值为255,不需要显示的位置为0。使用此方法只需要单个FPGA芯片即可实现,方案简单,实时性强;但是其编程实现逻辑复杂,内部RAM资源消耗大,且功能单一,实现高级功能对编程和调试带来很大挑战。
中国专利CN104023182A公开了一种基于FPGA的字符叠加装置及叠加方法,该专利的实现需要从字库中读取字符;专利CN202772993U公开了一种字符叠加中快速加载字符的装置,通过字库芯片的并行接口与FPGA芯片相连,有效提高了字符的加载速度;专利CN207530948U涉及一种视频字符叠加系统,其字符存储在块RAM存储器中;专利CN111311479A公开的一种基于FPGA字符叠加的方法,将字符存储在只读存储器。
发明内容
(一)发明目的
本发明的目的是:提供一种基于FPGA时间序列的视频字符叠加方法,不需要外部存储模块或者FPGA内部BRAM资源建立字库,而是充分利用其LUT单元,以时间序列的方式建立字符的动态显示逻辑,在视频显示的过程中以流水线的方式将字符嵌入,实现高速高效、简单快捷、节省资源的字符叠加。
(二)技术方案
为了解决上述技术问题,本发明提供一种基于时间序列FPGA字符叠加方法,所述方法基于FPGA时序序列逻辑,对常用字符按照行列地址位置偏移的方式进行模块设计,按照显示内容的需要,调用各个字符的时序模块,实现字符串在视频图像的完整叠加。
所述方法包括以下步骤:
步骤1:上位机模块通过RS232对叠加模式进行配置;
步骤2:基于时间序列建立各个常用字符的逻辑生成模块;
步骤3:在视频流中调用需要显示的各个字符模块。
其中,所述步骤1中,上位机模块通过RS232串口与FPGA进行通信,RS232串口采用DB9接插件;在FPGA中设计了串口通信的逻辑模块;
通过上位机串口通信的方式可配置字符叠加的模式:发送字符开关指令,可打开或关闭字符叠加功能;发送起始地址命令,可配置字符在图像像素中的起始位置;发送字体颜色指令,可配置字体在图像中的显示颜色;发送字符长度指令配置需要显示多少个字符;字符内容指令配置需要显示的字符内容。
其中,所述步骤2中,包括如下子步骤:
步骤21:由字模工具模块生成所需字符的点阵排列,字符大小不同其点阵排列不同;
步骤22:由FPGA锁相环PLL生成视频的像素时钟,以该时钟为基准,行信号为辅助,按照视频图像分辨率大小分别进行行列计数,且行列计数的起始相对地址均为0;
步骤23:由该字符的点阵排列,行列计数器计数到该点阵对应位置时,将该位置像素值置为255,其它位置的像素值为保持原始图像的像素值不变。通过上述流水线方式推进,直到整个字符的点阵位置全部覆盖;
步骤24:重复以上步骤,对0~9、a~z、A~Z以及标点符号等常见字符编写对应的字符生成模块;
其中,所述步骤21中,根据不同的字符大小,生成不同的点阵排列,显示部分为1,实际应用中显示像素值为255;不显示部分为0,实际应用中显示像素值为0;常见字符大小格式为8×8、16×16等。
其中,所述步骤22中,字符点阵的位置公式为:
像素点位置=(行起始+行计数)×图像的宽度+(列起始+列计数);
行起始和列起始位置均由外部接口指定;
其中,所述步骤3中,包括如下子步骤:
步骤31:根据外部接口输入的指令,获取字符的长度,单个字符的大小,以及首字符的起始行列地址;
步骤32:根据要显示的字符内容进行逻辑判断,选择需要调用的字符模块;
步骤33:根据全部字符长度,当字符长度超过图像的宽度时,自动切换到下一个字符行,该起始地址变为行首地址加上单个字符高度;
步骤34:对于同一行的字符,行起始位置保持一致,根据单个字符宽度,第二个字符的列位置为首字符列地址加上单个字符宽度;后续字符以此类推;
步骤35:视频图像输出时,根据行列地址进行判断,当该位置为字符位置时输出字符像素数据,该位置不是字符时输出原始图像的像素数据。
(三)有益效果
上述技术方案所提供的基于FPGA时间序列的视频字符叠加方法,具有以下有益效果:
(1)相比于传统采用BRAM存储字库的方式,采用时间序列计数的方式生成字符,整个模块只需要少量的LUT资源,实现逻辑简单,可复制性强,不占用大量的BRAM资源或者外部存储模块。
(2)该方法采用流水线方式,延迟时间为像素时钟级别,实时性强。
(3)该实现方法对图像分辨率大小无限制,只需要指定字符起始位置即可实现,配置接口简单,不需要DSP平台复杂的系统配置。
附图说明
图1是通过RS232串口对叠加模式进行配置的流程图。
图2是利用字模工具模块生成的字符点阵排列实例。
图3是利用行列计数生成单个字符的程序流程图。
图4是按照需要进行全部字符叠加的流程图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本实施例基于时间序列FPGA字符叠加方法,所述方法基于FPGA时序序列逻辑,对常用字符按照行列地址位置偏移的方式进行模块设计,按照显示内容的需要,调用各个字符的时序模块,实现字符串在视频图像的完整叠加。
本实施例基于FPGA时间序列的视频字符叠加方法包括以下步骤:
步骤1:上位机模块通过RS232对叠加模式进行配置;
步骤2:基于时间序列建立各个常用字符的逻辑生成模块;
步骤3:在视频流中调用需要显示的各个字符模块。
结合图1所示,上位机模块通过RS232串口与FPGA进行通信,RS232串口采用DB9接插件;在FPGA中设计了串口通信的逻辑模块。
系统上电后,上位机向FPGA的串口通信模块发送字符叠加所需的配置参数。发送字符开关指令可打开或关闭字符叠加功能;发送起始地址命令,配置字符在图像像素中的起始位置;发送字体颜色指令可配置字体在图像中的显示颜色;发送字符长度指令配置需要显示多少个字符;发送字符内容指令配置需要显示的字符内容。
结合图2所示,字符模块的生成,首先由字模工具模块生成所需字符的点阵排列,字符大小不同其点阵排列不同;根据不同的字符大小,生成不同的点阵排列,显示部分为1,不显示部分为0;常见字符大小格式CharWidth×CharHeight为8×8、16×16等。
结合图3所示,由FPGA锁相环PLL生成视频图像的像素时钟,以该时钟为基准,行信号为辅助,按照视频图像分辨率大小分别进行行列计数,分别为RowCnt和ColCnt,且行列计数的起始相对地址均为0。
依据图2字模工具模块生成的该字符的点阵排列,行列计数器计数到该点阵对应位置时,将该位置的像素值设置为255,其它位置的像素值为保持原始图像的像素值不变。通过上述流水线方式推进,直到整个字符的8×8或者16×16点阵位置全部覆盖。至此,单个字符的生成模块设计完成。
其中,字符点阵的位置CharPos计算公式为:
CharPos=(RowStart+RowCnt)×ImageWidth+(ColStart+ColCnt);
行起始地址RowStart和列起始地址ColStart均由外部接口指定。
重复以上步骤,可对0~9、a~z、A~Z以及标点符号等常见字符编写对应的字符生成模块;通过该方法,可建立起常见字符的FPGA生成模块,需要显示哪个字符,只需要调用该模块即可。
结合图4所示,在接收到上位机发送的打开字符叠加指令时,根据外部接口输入的指令,获取字符的长度,单个字符的大小,以及首字符的起始行列地址;然后根据要显示的字符内容进行逻辑判断,选择需要调用的字符模块。
根据全部要显示的字符串长度,当该长度超过图像的宽度时,自动切换到下一个字符行,该起始地址变为行首地址加上单个字符高度CharHeight,计算公式变为:
CharPos=(RowStart+RowCnt+CharHeight)×ImageWidth+(ColStart+ColCnt);
对于同一行的字符,行起始位置保持一致,根据单个字符宽度,第二个字符的列位置为首字符列地址加上单个字符宽度;后续字符以此类推。
视频图像流水输出时,调用本发明设计的字符叠加模块,根据行列地址进行判断,当该位置为字符位置时输出字符像素数据,当该位置不是字符时输出原始图像的像素数据。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种基于FPGA时间序列的视频字符叠加方法,其特征在于,所述方法基于FPGA时间序列逻辑,对常用字符按照行列地址位置偏移的方式进行模块设计,按照显示内容的需要,调用各个字符的时序模块,实现字符串在视频图像的完整叠加。
2.如权利要求1所述的基于FPGA时间序列的视频字符叠加方法,其特征在于,所述方法包括以下步骤:
步骤1:上位机模块通过RS232对叠加模式进行配置;
步骤2:基于时间序列建立各个常用字符的逻辑生成模块;
步骤3:在视频流中调用需要显示的各个字符模块。
3.如权利要求2所述的基于FPGA时间序列的视频字符叠加方法,其特征在于,步骤1中,上位机模块通过RS232串口与FPGA进行通信,RS232串口采用DB9接插件;在FPGA中设计串口通信的逻辑模块。
4.如权利要求3所述的基于FPGA时间序列的视频字符叠加方法,其特征在于,步骤1中,通过上位机串口通信的方式配置字符叠加的模式:发送字符开关指令,打开或关闭字符叠加功能;发送起始地址命令,配置字符在图像像素中的起始位置;发送字体颜色指令,配置字体在图像中的显示颜色;发送字符长度指令配置需要显示多少个字符;字符内容指令配置需要显示的字符内容。
5.如权利要求4所述的基于FPGA时间序列的视频字符叠加方法,其特征在于,步骤2包括如下子步骤:
步骤21:由字模工具模块生成所需字符的点阵排列,字符大小不同其点阵排列不同;
步骤22:由FPGA锁相环PLL生成视频的像素时钟,以该时钟为基准,行信号为辅助,按照视频图像分辨率大小分别进行行列计数,且行列计数的起始相对地址均为0;
步骤23:由该字符的点阵排列,行列计数器计数到该点阵对应位置时,将该位置像素值置为255,其它位置的像素值为保持原始图像的像素值不变;通过上述流水线方式推进,直到整个字符的点阵位置全部覆盖;
步骤24:重复以上步骤,对常见字符编写对应的字符生成模块。
6.如权利要求5所述的基于FPGA时间序列的视频字符叠加方法,其特征在于,步骤21中,根据不同的字符大小,生成不同的点阵排列,显示部分为1,实际应用中显示像素值为255;不显示部分为0,实际应用中显示像素值为0。
7.如权利要求6所述的基于FPGA时间序列的视频字符叠加方法,其特征在于,步骤21中,常见字符包括0~9、a~z、A~Z以及标点符号。
8.如权利要求7所述的基于FPGA时间序列的视频字符叠加方法,其特征在于,步骤21中,常见字符大小格式为8×8、16×16。
9.如权利要求8所述的基于FPGA时间序列的视频字符叠加方法,其特征在于,步骤22中,字符点阵的位置公式为:
像素点位置=(行起始+行计数)×图像的宽度+(列起始+列计数);
行起始和列起始位置均由外部接口指定。
10.如权利要求9所述的基于FPGA时间序列的视频字符叠加方法,其特征在于,步骤3包括如下子步骤:
步骤31:根据外部接口输入的指令,获取字符的长度、单个字符的大小,以及首字符的起始行列地址;
步骤32:根据要显示的字符内容进行逻辑判断,选择需要调用的字符模块;
步骤33:根据全部字符长度,当字符长度超过图像的宽度时,自动切换到下一个字符行,该起始地址变为行首地址加上单个字符高度;
步骤34:对于同一行的字符,行起始位置保持一致,根据单个字符宽度,第二个字符的列位置为首字符列地址加上单个字符宽度;后续字符以此类推;
步骤35:视频图像输出时,根据行列地址进行判断,当该位置为字符位置时输出字符像素数据,该位置不是字符时输出原始图像的像素数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310258726.4A CN116320220A (zh) | 2023-03-17 | 2023-03-17 | 一种基于fpga时间序列的视频字符叠加方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310258726.4A CN116320220A (zh) | 2023-03-17 | 2023-03-17 | 一种基于fpga时间序列的视频字符叠加方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116320220A true CN116320220A (zh) | 2023-06-23 |
Family
ID=86825287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310258726.4A Pending CN116320220A (zh) | 2023-03-17 | 2023-03-17 | 一种基于fpga时间序列的视频字符叠加方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116320220A (zh) |
-
2023
- 2023-03-17 CN CN202310258726.4A patent/CN116320220A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10825130B2 (en) | Method and apparatus for displaying picture content in application, and storage medium | |
CN112235579B (zh) | 视频处理方法、计算机可读存储介质及电子设备 | |
US10070134B2 (en) | Analytics assisted encoding | |
CN107329720A (zh) | 一种基于zynq的雷达图像显示加速系统 | |
WO2021238979A1 (zh) | 矢量图生成方法及装置、存储介质 | |
US11930198B2 (en) | Image processing method and apparatus, and related assembly | |
US20240021239A1 (en) | Hardware Acceleration System for Data Processing, and Chip | |
CN108492242B (zh) | 基于gpgpu中的2d桌面混合操作的实现 | |
CN116320220A (zh) | 一种基于fpga时间序列的视频字符叠加方法 | |
CN101127847A (zh) | 一种在屏显示的合成方法及合成装置 | |
CN109429043A (zh) | 基于fpga的交通标志视频图像的采集系统及方法 | |
US5239628A (en) | System for asynchronously generating data block processing start signal upon the occurrence of processing end signal block start signal | |
CN114302087B (zh) | 一种mipi数据传输模式转换方法、装置及电子设备 | |
WO2022089039A1 (zh) | 一种图像处理方法及装置、电子设备和可读存储介质 | |
CN112153355B (zh) | 一种基于fpga的数字图像像素转换系统及方法 | |
CN108538266A (zh) | Lvds信号转可选lcos接口格式信号的转换装置 | |
CN201075280Y (zh) | 一种显示器数字图像实时缩放集成电路 | |
CN1127025C (zh) | 利用综合软件/硬件方案的数据处理方法及其装置 | |
CN206212146U (zh) | 一种数字图像采集装置 | |
CN112162942A (zh) | 一种多模态图像处理硬件加速系统 | |
CN210136391U (zh) | 一种新型光刻机文字图像分离显示装置 | |
CN105719616B (zh) | 一种竖屏驱动系统及竖屏驱动方法 | |
CN111385630B (zh) | 一种隐藏式字幕数据的处理方法、装置及存储介质 | |
CN203675196U (zh) | 网络控制3g-sdi高清字符叠加器 | |
Zhang et al. | The CCD sensor video acquisition system based on FPGA&MCU |
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 |