一种基于FPGA字符叠加的方法与流程

文档序号:21187915发布日期:2020-06-20 18:15阅读:267来源:国知局
本发明涉及图像处理,具体是涉及一种使用现场可编程门阵列(fpga)实现在图像上叠加字符的方法。
背景技术
::字符叠加是一种常见的图像处理技术,要求在图像跟踪设备上的fpga完成字符叠加,且要求叠加完成输出时间小于1ms;图像跟踪设备视频图像输入帧频为25hz—100hz;传统的字符叠加方式一:是将一帧完整图像缓存到存取存储器空间再字符叠加;使用方式1处理,图像跟踪设备视频图像输入帧频为25hz—100hz对应字符叠加延迟范围为40ms—10ms;延迟远远大于要求的延迟小于1ms;且需要非常大的存取存储器空间资源缓存完整的图像。为了解决方式一的延迟的问题提出字符叠加方式二,字符叠加方式二:是使用fpga的寄存器存储器存储叠加的字符,每一个字符分配独立的寄存器存储器;字符叠加方式二实现字符叠加的实时性,但是随着叠加字符数量上升,fpga使用的寄存器存储器资源大量上升。技术实现要素:本发明的目的是针对视频图像叠加字符延迟过大及基于pfga字符叠加所需资源过多,而提供的一种图像叠加字符,尤其是一种视频图像叠加字符的方法。本发明采用的技术方案包括如下步骤:一种基于fpga字符叠加的方法,所述方法包括如下步骤:1)假设待叠加的图像分辨率为x*y,其中x是图像的行像素点,y是图像的行数,x和y都是正整数;2)将预生成的点阵字符信息存储到fpga的第一只读存储器;3)将需要叠加的字符索引号和叠加位置信息实时存储到fpga的第一状态存取存储器;4)初始化用于运算过程中缓存临时数据的第二状态存取存储器,初始化方式为将第二状态存取存储器空间清零;5)通过从第一状态存取存储器中读出的叠加位置信息计算出需要更新第二状态存取存储器空间的地址,并读出该地址对应的第二状态存取存储器空间的旧叠加标识信息和从第一只读存储器提取的点阵字符信息运算后得到新叠加标识信息,并将新叠加标识信息覆盖第二状态存取存储器空间的旧叠加标识信息;6)更新完第二状态存取存储器的叠加标识信息后,将第二状态存取存储器的全部数据复制到第三状态存取存储器;7)匹配图像当前行的输出时序,从第三状态存取存储器中顺序读出当前行叠加的标识信息,根据叠加的标识信息同步修改图像当前行对应像素点的像素值。所述的一种基于fpga字符叠加的方法,步骤2)中点阵字符信息,是指由二进制排布组成的叠加标识,其值为0、1,每一个标识一一对应图像的一个像素点;1表示需要叠加的标识,0标示无需叠加的标识。所述的一种基于fpga字符叠加的方法,步骤3)所述叠加的字符索引号是指为每一个点阵字符信息分配的一个唯一的编号,通过这个编号能够查找到需要叠加的点阵字符信息在第一只读存储器的存储位置;所述需要叠加的位置信息是指当前字符索引号对应点阵字符信息的左上第一个叠加标识对应图像的位置。所述的一种基于fpga字符叠加的方法,所述步骤4)中将第二状态存取存储器空间清零是指通过地址递增、数据为零的方式向第二状态存取存储器写入数据。所述的一种基于fpga字符叠加的方法,步骤5)中,通过从第一状态存取存储器中读出的叠加位置信息计算出需要更新第二状态存取存储器空间的地址的方法是:判断当前行是否需要叠加字符,如果叠加的位置y等于图像当前行数,判断为该行需要叠加字符且把引入表示行叠加有效的变量置为有效;判断图像当前行内所有列是否需要叠加字符,此过程引入2个变量来记录需要字符叠加的具体列位置,一个变量记录叠加列位置的起始位置,另一个变量记录叠加列位置的结束位置,通过行叠加变量、列叠加起始位置和列叠加结束位置运算出需要更新第二状态存取存储器空间的地址,读出第二状态存取存储器空间的旧叠加标识信息和从第一只读存储器提取的点阵字符信息运算后得到新叠加标识信息,并将新叠加标识信息覆盖第二状态存取存储器空间的旧叠加标识信息。所述的一种基于fpga字符叠加的方法,步骤6)中,将第二状态存取存储器的全部数据复制到第三状态存取存储器的方法是:根据产生递增的读地址从第二状态存取存储器读出数据,将延迟的递增的读地址作为写第三状态存储器的地址,把同步延迟的数据写入第三状态存储器。所述的一种基于fpga字符叠加的方法,步骤7)中,同步修改是指叠加标识信息的x值对应图像当前行的x值,且根据叠加标识信息修改图像的像素值,将叠加标识信息为1图像的像素值替换成固定值,将叠加标识信息为0图像的像素值保持原值。所述的一种基于fpga字符叠加的方法,所述旧叠加标识信息和从第一只读存储器提取的点阵字符信息运算后得到新叠加标识信息的运算方法是:旧叠加标识信息与点阵字符信息或运算,得到新叠加标识信息。所述的一种基于fpga字符叠加的方法,将新叠加标识信息覆盖第二状态存取存储器空间的旧叠加标识信息的方法是:运算得到的新叠加标识信息写入从第二状态存取存储器空间读取旧叠加标识信息对应地址的空间。所述的一种基于fpga字符叠加的方法,所述图像是视频图像。本发明的有益效果是:1)字符叠加的实际延迟为0.4ms;2)使用本发明的fpga设计实现,在增加叠加字符数量的情况下,fpga的资源远远小于使用fpga的寄存器存储器存储叠加的字符的方式fpga的资源。在现有技术中fpga资源使用lut个数:34462个,ff个数:154961个;本发明技术fpga资源使用lut个数:568个,ff个数:833个;上述描述中,lut指lookuptable查找表;ff指flipflop触发器。附图说明图1是本发明的处理流程图;图2是本发明点阵字符信息示例示意图;图3是本发明第一状态存取存储器存储示例图;图4是本发明第二状态存取存储器存储示例图;图5是各运算步骤时钟周期关系图。具体实施方式下面结合附图,详细说明本发明在视频图像叠加字符的方法。如图1所示,本发明基于fpga低延迟字符叠加的方法包括以下步骤:1)假设待叠加的字符“b”分辨率为16*16,其中16是待叠加的字符的行数、列数;2)将预生成的点阵字符信息存储到fpga的第一只读存储器;3)将需要叠加的字符索引号和叠加位置信息实时存储到fpga的第一状态存取存储器;4)初始化用于运算过程中缓存临时数据的第二状态存取存储器,初始化方式为将第二状态存取存储器空间清零;5)通过从第二状态存取存储器中读出的叠加位置信息计算出需要更新第二状态存取存储器空间的地址,并读出该地址对应的第二状态存取存储器空间的旧叠加标识信息和从第一只读存储器提取的点阵字符信息运算后得到新叠加标识信息,并将新叠加标识信息覆盖第二状态存取存储器空间的旧叠加标识信息;6)更新完第二状态存取存储器的叠加标识信息后,将第二状态存取存储器的全部数据复制到第三状态存取存储器;7)匹配图像当前行的输出时序,从第三状态存取存储器中顺序读出当前行叠加的标识信息,根据叠加的标识信息同步修改图像当前行对应像素点的像素值。如图2所示,为大写字母“b”的点阵字符单元示例表示,其中点阵字符垂直方向16列,点阵字符水平方向16行,构成16*16的一个点阵字符单元;为每一个点阵字符单元分配一个唯一索引号,点阵单元存放在第一只读存储器的位置通过唯一索引号和点阵单元的行数运算得出,具体计算方式为:地址=索引号*点阵字符总行数+行编号;如为大写字母“b”分配一个唯一索引号165,则该点阵字符第一行数据存放的地址为165*16+0=2640,点阵字符第二行数据存放的地址为165*16+1=2641,依次类推可推出点阵字符其他行数据存放地址。如图3所示,为存储叠加字符的索引号、坐标信息等的示例表示,具体存储的地址由下发叠加命令的控制器决定;如果使能有效则表示索引号对应的字符需要叠加到视频图像指定的坐标。使能无效则忽略索引号和坐标等信息。如图4所示,为第二状态存取存储器存储空间分布图示例表示,s1为转换之前的存储分布,每一个存储单元存储图像当前行对应一个像素点需要叠加的标识信息,如地址0存储当前行第一个像素点叠加的标识信息;存储的深度由图像分辨率的列数决定,存储的宽度由叠加的标识信息决定。s2为s1存储分布的变形,变形方式为将s1的二维存储空间转变为s2的三维存储空间,如图4所示,s1的二维1024*2转变成s2的三维16*64*2。本发明使用s2的存储方式缓存运算过程中的叠加标识信息。如图5所示,为各运算步骤时钟周期关系图,t0为图像输入行时钟周期;t1为初始化第二状态存取存储器整个存储空间所需时钟周期,如图4的s2初始化第二状态存取存储器所需时钟周期为64;t2为运算并更新完成每一行视频图像的叠加标识信息到第二状态存取存储器所需时钟周期;其中t2时钟周期包括以下几个时间周期段:t20表示从第一状态存取存储器依次读出全部数据所需时间段,该时间段由第一状态存取存储器深度决定,第一状态存取存储器的深度即为图像支持最大叠加字符的个数;t21表示第一状态存取存储器读出的数据中提取叠加位置信息,并通过叠加位置信息计算出需要更新第二状态存取存储器空间的地址,所需要的固定延迟时钟周期,一般为2个时钟周期;t22表示从第二状态存取存储器指定地址中读出旧的叠加标识信息的时钟段;t23表示从第一状态存取存储器读出的数据中提取索引号,并通过索引号运算得出从第一只读存储器读出点阵字符信息的地址,所需要的固定延迟时钟周期,一般为2个时钟周期;t24表示从第一只读存储器指定地址中读出点阵字符信息的时钟段;t25表示从第二状态存取存储器读出的旧的叠加标识信息和从第一只读存取器读出点阵字符信息运算出新的叠加标识信息所需要的固定时钟周期,一般为2个时钟周期;t26表示将新的叠加标识信息更新到第二状态存取存储器的时间段;t3表示把第二状态存取存储器的全部数据复制到第三状态存取存储器所需时钟周期;t4为视频图像行输入到输出的固定延迟,t4=t1+t2+t3,其中t2=t21+t25+t26;t5为视频图像输出行时钟周期,顺序从第三状态存取存储器中读出当前行叠加的标识信息进行字符叠加也是在这个时间段同步完成;t6表示输入视频图像行与行之间时钟周期间隔,时钟周期间隔要求大于等于1;需要说明的是,上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何适合的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再进行描述。上面参照实施例对本发明进行了详细描述,是说明性的而不是限制性的,在不脱离本发明总体构思下的变化和修改,均在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1