CN114257704A - 一种基于fpga的视频叠加方法、装置、设备和介质 - Google Patents
一种基于fpga的视频叠加方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN114257704A CN114257704A CN202111556169.1A CN202111556169A CN114257704A CN 114257704 A CN114257704 A CN 114257704A CN 202111556169 A CN202111556169 A CN 202111556169A CN 114257704 A CN114257704 A CN 114257704A
- Authority
- CN
- China
- Prior art keywords
- video
- data
- video data
- superposed
- effective pixel
- 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
Images
Classifications
-
- 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
-
- 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
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/907—Television signal recording using static stores, e.g. storage tubes or semiconductor memories
-
- 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)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种基于FPGA的视频叠加方法、装置、设备和介质,方法包括:通过FPGA响应外部CPU或MCU输入的视频叠加参数,采集多个待叠加视频数据;根据视频叠加参数对各待叠加视频数据进行像素提取,以获取到各待叠加视频数据分别对应的有效像素数据;将各有效像素数据写入至DDR;当接收到视频输出同步信号时,从DDR读取各有效像素数据并按照视频叠加参数进行叠加,生成目标叠加视频数据并输出。从而解决现有的视频叠加方案需要缓存全部视频至DDR,占用的DDR带宽较多,硬件成本较高的技术问题,通过对待叠加视频数据进行有效像素数据的提取,以减少缓存至DDR的视频数据量,进而减少DDR占用带宽和硬件成本。
Description
技术领域
本发明涉及视频叠加技术领域,尤其涉及一种基于FPGA的视频叠加方法、装置、设备和介质。
背景技术
随着视频处理技术的不断发展,视频叠加功能也逐渐成为大部分视频处理设备的常用功能之一。
目前的视频处理设备常用的视频叠加方案通常是基于ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)和FPGA(Field Programmable GateArray,现场可编程逻辑门阵列)的基础上实现的。其中,更为常见的是基于FPGA的视频处理设备,为实现多路设备的任意叠加,通常是将输入到系统中的所有视频都缓存到DDR(Double Data Rate,双倍速率同步动态随机存储器)中,当需要进行视频叠加时,将所有完整视频从DDR读出,再根据所需要的层叠关系进行叠加。
但上述视频叠加方案需要缓存全部视频至DDR,占用的DDR带宽较多,硬件成本较高。
发明内容
本发明提供了一种基于FPGA的视频叠加方法、装置、设备和介质,解决了视频叠加方案需要缓存全部视频至DDR,占用的DDR带宽较多,硬件成本较高的技术问题。
本发明第一方面提供的一种基于FPGA的视频叠加方法,应用于现场可编程逻辑门阵列FPGA,所述FPGA包括双倍速率同步动态随机存储器DDR,所述方法包括:
响应输入的视频叠加参数,采集多个待叠加视频数据;
根据所述视频叠加参数对各个所述待叠加视频数据进行像素提取,分别得到对应的有效像素数据;
将各个所述有效像素数据写入至所述DDR;
当接收到视频输出同步信号时,从所述DDR读取各个所述有效像素数据并按照所述视频叠加参数进行叠加,输出目标叠加视频数据。
可选地,所述视频叠加参数包括层叠位置关系参数和层叠时序参数,各个所述待叠加视频数据分别具有对应的视频尺寸;所述根据所述视频叠加参数对各个所述待叠加视频数据进行像素提取,分别得到对应的有效像素数据的步骤,包括:
按照所述层叠位置关系参数,分别确定各个所述待叠加视频数据所处的视频图层;所述待叠加视频数据包括多个视频像素点;
按照所述层叠时序参数,分别确定各个所述待叠加视频数据对应的叠加时段;
选取所述视频图层处于最底层的待叠加视频数据内的起始视频像素点为原点,构建处于所述叠加时段的像素点坐标系;
分别确定处于所述视频图层的剩余层的待叠加视频数据在所述像素点坐标系内的首位像素点坐标;
按照所述视频图层从底至上逐一根据各个待叠加视频数据对应的首位像素点坐标和所述视频尺寸,得到各个待叠加视频数据对应的有效像素数据。
可选地,所述按照所述视频图层从底至上逐一根据各个待叠加视频数据对应的首位像素点坐标和所述视频尺寸,得到各个待叠加视频数据对应的有效像素数据的步骤,包括:
从底至上逐一根据处于当前视频图层的待叠加视频数据对应的首位像素点坐标和所述视频尺寸,构建处于以往视频图层的待叠加视频数据对应的像素截取条件;
按照所述像素截取条件对处于所述以往视频图层的待叠加视频数据进行截取,得到对应的重叠像素数据;
将所述重叠像素数据与处于所述以往视频图层的待叠加视频数据执行异或操作,得到对应的有效像素数据。
可选地,所述当接收到视频输出同步信号时,从所述DDR读取各个所述有效像素数据并按照所述视频叠加参数进行叠加,输出目标叠加视频数据的步骤,包括:
当接收到视频输出同步信号时,从所述DDR读取各个所述有效像素数据;
按照所述叠加时段与各个所述有效像素数据所处的视频图层,从底至上逐一叠加各个所述有效像素数据,生成目标叠加视频数据并输出。
本发明第二方面提供了一种基于FPGA的视频叠加装置,应用于现场可编程逻辑门阵列FPGA,所述FPGA包括双倍速率同步动态随机存储器DDR,所述装置包括:
视频数据采集模块,用于响应输入的视频叠加参数,采集多个待叠加视频数据;
有效像素提取模块,用于根据所述视频叠加参数对各个所述待叠加视频数据进行像素提取,分别得到对应的有效像素数据;
有效像素写入模块,用于将各个所述有效像素数据写入至所述DDR;
视频叠加模块,用于当接收到视频输出同步信号时,从所述DDR读取各个所述有效像素数据并按照所述视频叠加参数进行叠加,输出目标叠加视频数据。
可选地,所述视频叠加参数包括层叠位置关系参数和层叠时序参数,各个所述待叠加视频数据分别具有对应的视频尺寸;所述有效像素提取模块包括:
视频图层确定子模块,用于按照所述层叠位置关系参数,分别确定各个所述待叠加视频数据所处的视频图层;所述待叠加视频数据包括多个视频像素点;
叠加时段确定子模块,用于按照所述层叠时序参数,分别确定各个所述待叠加视频数据对应的叠加时段;
像素点坐标系构建子模块,用于选取所述视频图层处于最底层的待叠加视频数据内的起始视频像素点为原点,构建处于所述叠加时段的像素点坐标系;
首位像素点坐标确定子模块,用于分别确定处于所述视频图层的剩余层的待叠加视频数据在所述像素点坐标系内的首位像素点坐标;
有效像素提取子模块,用于按照所述视频图层从底至上逐一根据各个待叠加视频数据对应的首位像素点坐标和所述视频尺寸,得到各个待叠加视频数据对应的有效像素数据。
可选地,所述有效像素提取子模块具体用于:
从底至上逐一根据处于当前视频图层的待叠加视频数据对应的首位像素点坐标和所述视频尺寸,构建处于以往视频图层的待叠加视频数据对应的像素截取条件;
按照所述像素截取条件对处于所述以往视频图层的待叠加视频数据进行截取,得到对应的重叠像素数据;
将所述重叠像素数据与处于所述以往视频图层的待叠加视频数据执行异或操作,得到对应的有效像素数据。
可选地,所述视频叠加模块包括:
数据读取子模块,用于当接收到视频输出同步信号时,从所述DDR读取各个所述有效像素数据;
有效像素叠加子模块,用于按照所述叠加时段与各个所述有效像素数据所处的视频图层,从底至上逐一叠加各个所述有效像素数据,生成目标叠加视频数据并输出。
本发明第三方面提供了一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如本发明第一方面任一项所述的基于FPGA的视频叠加方法的步骤。
本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如本发明第一方面任一项所述的基于FPGA的视频叠加方法。
从以上技术方案可以看出,本发明具有以下优点:
通过FPGA响应于外部CPU或MCU输入的视频叠加参数,采集多个待叠加视频数据;根据视频叠加参数对各个待叠加视频数据进行像素提取,以获取到各个待叠加视频数据分别对应的有效像素数据;将各个有效像素数据写入至DDR;当接收到视频输出同步信号时,从DDR读取各个有效像素数据并按照视频叠加参数进行叠加,生成目标叠加视频数据并输出。从而解决现有的视频叠加方案需要缓存全部视频至DDR,占用的DDR带宽较多,硬件成本较高的技术问题,通过对待叠加视频数据进行有效像素数据的提取,以减少缓存至DDR的视频数据量,进而减少DDR占用带宽和硬件成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一提供的一种基于FPGA的视频叠加方法的步骤流程图;
图2为本发明实施例二提供的一种基于FPGA的视频叠加方法的步骤流程图;
图3为本发明实施例的一种处于像素点坐标系内的视频图层示意图;
图4为本发明实施例中的一种有效像素点确定过程示意图;
图5为本发明实施例中的一种基于FPGA的视频叠加方法的流程框图;
图6为本发明实施例三提供的一种基于FPGA的视频叠加装置的结构框图。
具体实施方式
本发明实施例提供了一种基于FPGA的视频叠加方法、装置、设备和介质,用于解决现有的视频叠加方案需要缓存全部视频至DDR,占用的DDR带宽较多,硬件成本较高的技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例一提供的一种基于FPGA的视频叠加方法的步骤流程图。
本发明提供的一种基于FPGA的视频叠加方法,应用于现场可编程逻辑门阵列FPGA,FPGA包括双倍速率同步动态随机存储器DDR,方法包括:
步骤101,响应输入的视频叠加参数,采集多个待叠加视频数据;
视频叠加参数指的是按照外部CPU或MCU的配置所生成的相关参数,包括但不限于表明需要采集的待叠加视频数据的存储位置、表明视频数据的具体叠加位置之间的关系的层叠位置关系参数、表明视频数据从何时开始进行叠加的层叠时序参数、视频输出位置以及视频数据的具体尺寸等等。
在本发明实施例中,当接收到由外部CPU、MCU或用户输入的视频叠加参数时,可以按照视频叠加参数所携带的存储位置,检索各个存储器以分别从对应的存储位置采集到多个待叠加视频数据。
步骤102,根据视频叠加参数对各个待叠加视频数据进行像素提取,分别得到对应的有效像素数据;
在采集到需要的多个待叠加视频数据后,可以进一步根据视频叠加参数内所携带的层叠位置关系参数将各个待叠加视频数据放置至各个视频图层,再按照其携带的层叠时序参数,以最底层的待叠加视频数据为基准,在对应的时间进行待叠加视频数据对应的视频图层的叠加,逐一对各个视频图层的待叠加视频数据进行截取,以实现对待叠加视频数据的像素提取,在每个视频图层分别得到对应的有效像素数据。
需要说明的是,在本发明实施例中的有效像素数据可以处于任一视频图层,通过对待叠加视频数据在图层重叠位置进行截取,这种视频叠加方式所占用的DDR带宽只与输出分辨率有关,与每个视频各自的分辨率及图层数量无关,在输出分辨率为4k@60YC42216bit的情况下,占用最大的DDR带宽为2*4K@60,大约2GBytes/s的带宽,大大减少了DDR占用带宽。
步骤103,将各个有效像素数据写入至DDR;
DDR指的是Double Data Rate,双倍速率同步动态随机存储器,能够在一个时钟周期内传输两次数据,它能够在时钟的上升期和下降期各传输一次数据,因此称为双倍速率同步动态随机存储器。
在从各个视频图层分别提取到有效像素数据后,可以将其写入至DDR。
步骤104,当接收到视频输出同步信号时,从DDR读取各个有效像素数据并按照视频叠加参数进行叠加,输出目标叠加视频数据。
在具体实现中,当接收到输入的视频输出同步信号时,可以响应该视频输出同步信号,从DDR中并行读取到各个有效像素数据,并结合视频叠加参数对有效像素数据进行叠加,以生成目标叠加视频数据并输出。
在本发明实施例中,通过FPGA响应于外部CPU或MCU输入的视频叠加参数,采集多个待叠加视频数据;根据视频叠加参数对各个待叠加视频数据进行像素提取,以获取到各个待叠加视频数据分别对应的有效像素数据;将各个有效像素数据写入至DDR;当接收到视频输出同步信号时,从DDR读取各个有效像素数据并按照视频叠加参数进行叠加,生成目标叠加视频数据并输出。从而解决现有的视频叠加方案需要缓存全部视频至DDR,占用的DDR带宽较多,硬件成本较高的技术问题,通过对待叠加视频数据进行有效像素数据的提取,以减少缓存至DDR的视频数据量,进而减少DDR占用带宽和硬件成本。
请参阅图2,图2为本发明实施例二提供的一种基于FPGA的视频叠加方法的步骤流程图。
本发明提供的一种基于FPGA的视频叠加方法,应用于现场可编程逻辑门阵列FPGA,FPGA包括双倍速率同步动态随机存储器DDR,方法包括:
步骤201,响应输入的视频叠加参数,采集多个待叠加视频数据;视频叠加参数包括层叠位置关系参数和层叠时序参数,各个待叠加视频数据分别具有对应的视频尺寸;
在本发明实施例中,步骤201的具体实施过程与步骤101类似,再次不再赘述。
步骤202,按照层叠位置关系参数,分别确定各个待叠加视频数据所处的视频图层;待叠加视频数据包括多个视频像素点;
在本发明实施例中,在FPGA采集到多个待叠加视频数据后,由于待叠加视频数据可能存在多重叠加,且在数据采集过程中并不是按照叠加次序进行采集。
为此,可以按照输入的层叠位置关系参数,确定各个待叠加视频数据在叠加过程中的层叠关系,从而确定每个待叠加视频数据所处的视频图层。其中每个待叠加视频数据均包括有多个视频像素点。
步骤203,按照层叠时序参数,分别确定各个待叠加视频数据对应的叠加时段;
与此同时,由于视频叠加存在时序性,可以按照层叠时序参数,确定每个待叠加视频数据在何时与其他待叠加视频数据进行叠加,得到各个待叠加视频数据对应的叠加时段。
步骤204,选取视频图层处于最底层的待叠加视频数据内的起始视频像素点为原点,构建处于叠加时段的像素点坐标系;
在本发明实施例中,可以视频图层处于最底层的待叠加视频数据,以其起始视频像素点为原点构建在叠加时段内的像素点坐标系。
其中,起始视频像素点可以为待叠加视频数据的左上角或右下角的首个像素点,需要说明的是,为进一步节省系统资源的消耗,在不存在叠加时段时,则表明此时不需要进行视频叠加,可以不构建该段待叠加视频数据对应的像素点坐标系。
步骤205,分别确定处于视频图层的剩余层的待叠加视频数据在像素点坐标系内的首位像素点坐标;
在构建得到像素点坐标系后,为确定剩余层的待叠加视频数据的坐标位置,可以进一步却在视频图层内处于除最底层外剩余层的待叠加视频数据内的首位像素点坐标。
需要说明的是,首位像素点坐标可以为剩余层的各个待叠加视频数据的左上角的像素点坐标。
步骤206,按照视频图层从底至上逐一根据各个待叠加视频数据对应的首位像素点坐标和视频尺寸,得到各个待叠加视频数据对应的有效像素数据;
可选地,步骤206可以包括以下子步骤:
从底至上逐一根据处于当前视频图层的待叠加视频数据对应的首位像素点坐标和视频尺寸,构建处于以往视频图层的待叠加视频数据对应的像素截取条件;
按照像素截取条件对处于以往视频图层的待叠加视频数据进行截取,得到对应的重叠像素数据;
将重叠像素数据与处于以往视频图层的待叠加视频数据执行异或操作,得到对应的有效像素数据。
在本发明的一个示例中,可以从最底层开始,从底至上的顺序遍历每一层视频图层,依据处于当前视频图层的待叠加视频数据对应的首位像素点坐标和视频尺寸,构建针对处于以往视频图层的待叠加视频数据对应的像素截取条件。再按照像素截取条件对以往视频图层的待叠加视频数据进行截取,以依次得到各个待叠加视频数据对应的重叠像素数据;最后将各个重叠像素数据逐层与处于以往视频图层的待叠加视频数据执行异或操作,得到每层视频图层对应的有效像素数据。
其中,以往视频图层指的是当前视频图层的上一层视频图层。
请参阅图3,图3示出了本发明实施例的一种处于像素点坐标系内的视频图层示意图。
在本实施例中,以待叠加视频数据A、B、C为例,以待叠加视频数据C的左上角的像素点为原点建立像素点坐标系,确定剩余视频图层上的待叠加视频数据B的首位像素点坐标(XB0,YB0)和待叠加视频数据A的首位像素点坐标(XA0,YA0)。对于待叠加视频数据B而言,该视频图层内的任一像素点可以表示为(X+XB0,Y+YB0)。
而待叠加视频数据A所处视频图层位于待叠加视频数据B的上方造成了部分重叠,此时可以基于待叠加视频数据A的视频尺寸结合对应的首位像素点坐标,构建待叠加视频数据B所处视频图层的像素截取条件为:
(X+XB0)+XA0≥XA0;
且(X+XB0)+XA0<XA0+Hres_A;
且(Y+YB0)+YA0≥YA0;
且(Y+YB0)+YA0<YA0+Vres_A
其中,Hres_A为待叠加视频数据A的水平宽度,Vres_A为待叠加视频数据A的垂直高度。
参见图4,图4示出了本发明实施例中的一种有效像素点确定过程示意图。
依据上述像素截取条件对以往视频图层的待叠加视频数据B进行截取,得到对应的重叠像素数据,即图3中的阴影部分D。此时可以将重叠像素数据与待叠加视频数据B执行异或操作,从而得到对应的有效像素数据B'。
需要说明的是,若是存在多个视频图层叠加的情况,则逐一按照当前视频图层和以往视频图层的关联,依次确定各个以往视频图层对应的重叠像素数据,依次进行异或操作以确定各个以往视频图层对应的有效像素数据。
步骤207,将各个有效像素数据写入至DDR;
步骤208,当接收到视频输出同步信号时,从DDR读取各个有效像素数据并按照视频叠加参数进行叠加,输出目标叠加视频数据。
可选地,步骤208可以包括以下子步骤:
当接收到视频输出同步信号时,从DDR读取各个有效像素数据;
按照叠加时段与各个有效像素数据所处的视频图层,从底至上逐一叠加各个有效像素数据,生成目标叠加视频数据并输出。
在具体实现中,当接收输入的视频输出同步信号时,表明此时需要采用有效像素数据进行视频叠加,此时可以从DDR中读取到各个有效像素数据,再按照叠加时段的起始时刻,按照各个有效像素数据所处的视频图层,从底至上进行逐一叠加,从而得到目标叠加视频数据并输出。
请参阅图5,图5示出了本发明实施例中的一种基于FPGA的视频叠加方法的流程框图。
在本实施例中,FPGA内的参数接收模块从外部的CPU或MCU接收到配置参数并下发至各个有效像素提取模块1、2、3……n,经有效像素提取模块1、2、3……n分别对采集到的待重叠视频数据A、B、C……N进行有效像素数据的提取后,通过帧缓存的方式缓存至DDR IP,当接收到由外部输入的视频输出同步信号后,各个帧缓存分别传输对应的有效像素数据至视频叠加模块进行视频叠加,生成目标叠加视频数据。此时可以将目标叠加视频数据先输出至时序产生模块,通过时序产生模块根据参数接收模块下发的输出视频参数和标准视频时序要求,生成目标叠加视频数据的视频输出时序并同时输出显示。
在本发明实施例中,通过FPGA响应于外部CPU或MCU输入的视频叠加参数,采集多个待叠加视频数据;根据视频叠加参数对各个待叠加视频数据进行像素提取,以获取到各个待叠加视频数据分别对应的有效像素数据;将各个有效像素数据写入至DDR;当接收到视频输出同步信号时,从DDR读取各个有效像素数据并按照视频叠加参数进行叠加,生成目标叠加视频数据并输出。从而解决现有的视频叠加方案需要缓存全部视频至DDR,占用的DDR带宽较多,硬件成本较高的技术问题,通过对待叠加视频数据进行有效像素数据的提取,以减少缓存至DDR的视频数据量,进而减少DDR占用带宽和硬件成本。
请参阅图6,图6示出了本发明实施例三的一种基于FPGA的视频叠加装置的结构框图。
本发明实施例提供了一种基于FPGA的视频叠加装置,应用于现场可编程逻辑门阵列FPGA,FPGA包括双倍速率同步动态随机存储器DDR,装置包括:
视频数据采集模块601,用于响应输入的视频叠加参数,采集多个待叠加视频数据;
有效像素提取模块602,用于根据视频叠加参数对各个待叠加视频数据进行像素提取,分别得到对应的有效像素数据;
有效像素写入模块603,用于将各个有效像素数据写入至DDR;
视频叠加模块604,用于当接收到视频输出同步信号时,从DDR读取各个有效像素数据并按照视频叠加参数进行叠加,输出目标叠加视频数据。
可选地,视频叠加参数包括层叠位置关系参数和层叠时序参数,各个待叠加视频数据分别具有对应的视频尺寸;有效像素提取模块602包括:
视频图层确定子模块,用于按照层叠位置关系参数,分别确定各个待叠加视频数据所处的视频图层;待叠加视频数据包括多个视频像素点;
叠加时段确定子模块,用于按照层叠时序参数,分别确定各个待叠加视频数据对应的叠加时段;
像素点坐标系构建子模块,用于选取视频图层处于最底层的待叠加视频数据内的起始视频像素点为原点,构建处于叠加时段的像素点坐标系;
首位像素点坐标确定子模块,用于分别确定处于视频图层的剩余层的待叠加视频数据在像素点坐标系内的首位像素点坐标;
有效像素提取子模块,用于按照视频图层从底至上逐一根据各个待叠加视频数据对应的首位像素点坐标和视频尺寸,得到各个待叠加视频数据对应的有效像素数据。
可选地,有效像素提取子模块具体用于:
从底至上逐一根据处于当前视频图层的待叠加视频数据对应的首位像素点坐标和视频尺寸,构建处于以往视频图层的待叠加视频数据对应的像素截取条件;
按照像素截取条件对处于以往视频图层的待叠加视频数据进行截取,得到对应的重叠像素数据;
将重叠像素数据与处于以往视频图层的待叠加视频数据执行异或操作,得到对应的有效像素数据。
可选地,视频叠加模块604包括:
数据读取子模块,用于当接收到视频输出同步信号时,从DDR读取各个有效像素数据;
有效像素叠加子模块,用于按照叠加时段与各个有效像素数据所处的视频图层,从底至上逐一叠加各个有效像素数据,生成目标叠加视频数据并输出。
本发明实施例提供了一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如本发明任一实施例所述的基于FPGA的视频叠加方法的步骤。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如本发明任一实施例所述的基于FPGA的视频叠加方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、模块和子模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于FPGA的视频叠加方法,其特征在于,应用于现场可编程逻辑门阵列FPGA,所述FPGA包括双倍速率同步动态随机存储器DDR,所述方法包括:
响应输入的视频叠加参数,采集多个待叠加视频数据;
根据所述视频叠加参数对各个所述待叠加视频数据进行像素提取,分别得到对应的有效像素数据;
将各个所述有效像素数据写入至所述DDR;
当接收到视频输出同步信号时,从所述DDR读取各个所述有效像素数据并按照所述视频叠加参数进行叠加,输出目标叠加视频数据。
2.根据权利要求1所述的方法,其特征在于,所述视频叠加参数包括层叠位置关系参数和层叠时序参数,各个所述待叠加视频数据分别具有对应的视频尺寸;所述根据所述视频叠加参数对各个所述待叠加视频数据进行像素提取,分别得到对应的有效像素数据的步骤,包括:
按照所述层叠位置关系参数,分别确定各个所述待叠加视频数据所处的视频图层;所述待叠加视频数据包括多个视频像素点;
按照所述层叠时序参数,分别确定各个所述待叠加视频数据对应的叠加时段;
选取所述视频图层处于最底层的待叠加视频数据内的起始视频像素点为原点,构建处于所述叠加时段的像素点坐标系;
分别确定处于所述视频图层的剩余层的待叠加视频数据在所述像素点坐标系内的首位像素点坐标;
按照所述视频图层从底至上逐一根据各个待叠加视频数据对应的首位像素点坐标和所述视频尺寸,得到各个待叠加视频数据对应的有效像素数据。
3.根据权利要求2所述的方法,其特征在于,所述按照所述视频图层从底至上逐一根据各个待叠加视频数据对应的首位像素点坐标和所述视频尺寸,得到各个待叠加视频数据对应的有效像素数据的步骤,包括:
从底至上逐一根据处于当前视频图层的待叠加视频数据对应的首位像素点坐标和所述视频尺寸,构建处于以往视频图层的待叠加视频数据对应的像素截取条件;
按照所述像素截取条件对处于所述以往视频图层的待叠加视频数据进行截取,得到对应的重叠像素数据;
将所述重叠像素数据与处于所述以往视频图层的待叠加视频数据执行异或操作,得到对应的有效像素数据。
4.根据权利要求2所述的方法,其特征在于,所述当接收到视频输出同步信号时,从所述DDR读取各个所述有效像素数据并按照所述视频叠加参数进行叠加,输出目标叠加视频数据的步骤,包括:
当接收到视频输出同步信号时,从所述DDR读取各个所述有效像素数据;
按照所述叠加时段与各个所述有效像素数据所处的视频图层,从底至上逐一叠加各个所述有效像素数据,生成目标叠加视频数据并输出。
5.一种基于FPGA的视频叠加装置,其特征在于,应用于现场可编程逻辑门阵列FPGA,所述FPGA包括双倍速率同步动态随机存储器DDR,所述装置包括:
视频数据采集模块,用于响应输入的视频叠加参数,采集多个待叠加视频数据;
有效像素提取模块,用于根据所述视频叠加参数对各个所述待叠加视频数据进行像素提取,分别得到对应的有效像素数据;
有效像素写入模块,用于将各个所述有效像素数据写入至所述DDR;
视频叠加模块,用于当接收到视频输出同步信号时,从所述DDR读取各个所述有效像素数据并按照所述视频叠加参数进行叠加,输出目标叠加视频数据。
6.根据权利要求5所述的装置,其特征在于,所述视频叠加参数包括层叠位置关系参数和层叠时序参数,各个所述待叠加视频数据分别具有对应的视频尺寸;所述有效像素提取模块包括:
视频图层确定子模块,用于按照所述层叠位置关系参数,分别确定各个所述待叠加视频数据所处的视频图层;所述待叠加视频数据包括多个视频像素点;
叠加时段确定子模块,用于按照所述层叠时序参数,分别确定各个所述待叠加视频数据对应的叠加时段;
像素点坐标系构建子模块,用于选取所述视频图层处于最底层的待叠加视频数据内的起始视频像素点为原点,构建处于所述叠加时段的像素点坐标系;
首位像素点坐标确定子模块,用于分别确定处于所述视频图层的剩余层的待叠加视频数据在所述像素点坐标系内的首位像素点坐标;
有效像素提取子模块,用于按照所述视频图层从底至上逐一根据各个待叠加视频数据对应的首位像素点坐标和所述视频尺寸,得到各个待叠加视频数据对应的有效像素数据。
7.根据权利要求6所述的装置,其特征在于,所述有效像素提取子模块具体用于:
从底至上逐一根据处于当前视频图层的待叠加视频数据对应的首位像素点坐标和所述视频尺寸,构建处于以往视频图层的待叠加视频数据对应的像素截取条件;
按照所述像素截取条件对处于所述以往视频图层的待叠加视频数据进行截取,得到对应的重叠像素数据;
将所述重叠像素数据与处于所述以往视频图层的待叠加视频数据执行异或操作,得到对应的有效像素数据。
8.根据权利要求6所述的装置,其特征在于,所述视频叠加模块包括:
数据读取子模块,用于当接收到视频输出同步信号时,从所述DDR读取各个所述有效像素数据;
有效像素叠加子模块,用于按照所述叠加时段与各个所述有效像素数据所处的视频图层,从底至上逐一叠加各个所述有效像素数据,生成目标叠加视频数据并输出。
9.一种电子设备,其特征在于,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-4任一项所述的基于FPGA的视频叠加方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时实现如权利要求1-4任一项所述的基于FPGA的视频叠加方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111556169.1A CN114257704B (zh) | 2021-12-17 | 2021-12-17 | 一种基于fpga的视频叠加方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111556169.1A CN114257704B (zh) | 2021-12-17 | 2021-12-17 | 一种基于fpga的视频叠加方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114257704A true CN114257704A (zh) | 2022-03-29 |
CN114257704B CN114257704B (zh) | 2023-10-10 |
Family
ID=80795737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111556169.1A Active CN114257704B (zh) | 2021-12-17 | 2021-12-17 | 一种基于fpga的视频叠加方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114257704B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060026530A1 (en) * | 2004-07-30 | 2006-02-02 | Texas Instruments Incorporated | DMA overlay addressing methodology for optimizing power and improving memory bandwidth for display engines |
US8483389B1 (en) * | 2007-09-07 | 2013-07-09 | Zenverge, Inc. | Graphics overlay system for multiple displays using compressed video |
CN104281426A (zh) * | 2013-07-05 | 2015-01-14 | 浙江大华技术股份有限公司 | 一种图像显示方法及装置 |
US20160127650A1 (en) * | 2014-10-29 | 2016-05-05 | Gvbb Holdings S.A.R.L | Degradation control of display pixels for a high definition display |
CN109714548A (zh) * | 2018-12-18 | 2019-05-03 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于fpga的实时视频叠加处理系统 |
CN109767378A (zh) * | 2019-01-02 | 2019-05-17 | 腾讯科技(深圳)有限公司 | 图像处理方法和装置 |
CN112511896A (zh) * | 2020-11-05 | 2021-03-16 | 浙江大华技术股份有限公司 | 一种视频渲染方法及装置 |
CN112583996A (zh) * | 2019-09-29 | 2021-03-30 | 北京嗨动视觉科技有限公司 | 视频处理方法和视频处理装置 |
WO2021174389A1 (zh) * | 2020-03-02 | 2021-09-10 | 深圳市大疆创新科技有限公司 | 视频的处理方法和装置 |
-
2021
- 2021-12-17 CN CN202111556169.1A patent/CN114257704B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060026530A1 (en) * | 2004-07-30 | 2006-02-02 | Texas Instruments Incorporated | DMA overlay addressing methodology for optimizing power and improving memory bandwidth for display engines |
US8483389B1 (en) * | 2007-09-07 | 2013-07-09 | Zenverge, Inc. | Graphics overlay system for multiple displays using compressed video |
CN104281426A (zh) * | 2013-07-05 | 2015-01-14 | 浙江大华技术股份有限公司 | 一种图像显示方法及装置 |
US20160127650A1 (en) * | 2014-10-29 | 2016-05-05 | Gvbb Holdings S.A.R.L | Degradation control of display pixels for a high definition display |
CN109714548A (zh) * | 2018-12-18 | 2019-05-03 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于fpga的实时视频叠加处理系统 |
CN109767378A (zh) * | 2019-01-02 | 2019-05-17 | 腾讯科技(深圳)有限公司 | 图像处理方法和装置 |
CN112583996A (zh) * | 2019-09-29 | 2021-03-30 | 北京嗨动视觉科技有限公司 | 视频处理方法和视频处理装置 |
WO2021174389A1 (zh) * | 2020-03-02 | 2021-09-10 | 深圳市大疆创新科技有限公司 | 视频的处理方法和装置 |
CN112511896A (zh) * | 2020-11-05 | 2021-03-16 | 浙江大华技术股份有限公司 | 一种视频渲染方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114257704B (zh) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190335099A1 (en) | Panoramic camera and photographing method thereof | |
CN112037129B (zh) | 图像超分辨率重建方法、装置、设备及存储介质 | |
CN104363383B (zh) | 一种图像预畸变校正的方法和装置 | |
CN105094289B (zh) | 一种实现图形用户交互界面的方法、设备及系统 | |
CN103700133A (zh) | 三维场景分布式渲染同步刷新方法和系统 | |
WO2018209824A1 (zh) | 视频字符叠加方法和系统 | |
JP7010952B2 (ja) | 投影画像構築方法及び装置 | |
US20190268595A1 (en) | Panoramic video compression method and device | |
CN111464757A (zh) | 视频处理方法、装置和系统 | |
CN103067671A (zh) | 一种显示图像的方法及装置 | |
JP5998579B2 (ja) | マルチディスプレイシステムの映像表示装置、方法及びプログラム | |
US20150334319A1 (en) | Image processing apparatus, imaging apparatus, and method for processing image | |
JP2013243610A (ja) | 画像データ送信装置、画像データ受信装置、画像データ伝送システム、画像データ送信方法、画像データ受信方法、送信画像データおよびプログラム | |
CN114257704B (zh) | 一种基于fpga的视频叠加方法、装置、设备和介质 | |
CN105427235A (zh) | 一种图像浏览方法及系统 | |
CN108875733B (zh) | 一种红外小目标快速提取系统 | |
CN113784067B (zh) | 字符叠加方法及装置、存储介质、电子装置 | |
CN102306089B (zh) | 用于计算机硬件实验的远程vga显示的方法 | |
CN104410904A (zh) | 视频播放方法和装置 | |
WO2021035643A1 (zh) | 监视图像生成方法、装置、设备和系统、图像处理设备 | |
CN112583996A (zh) | 视频处理方法和视频处理装置 | |
TWI689204B (zh) | 影像擷取裝置以及用於影像放大的影像擷取方法 | |
CN114500767A (zh) | 输入视频源调节方法、装置、视频输入卡和视频处理设备 | |
CN116862769B (zh) | 一种图像分辨率提升方法及装置 | |
CN111435978A (zh) | 一种叠加osd的方法、装置及电子设备 |
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 |