一种对图像进行字符叠加的方法及装置与流程

文档序号:14880807发布日期:2018-07-07 09:44阅读:449来源:国知局

本发明涉及图像信号生成技术领域,具体涉及一种对图像进行字符叠加的方法及装置。



背景技术:

tft-lcd、oled等新型显示模组在研发、生产测试等阶段,需要图像信号源在测试画面上叠加字符,用于实时展现显示模组的各种参数及状态。由于不同规格显示模组的尺寸、分辨率、缺陷信息、厂商信息等状态参数各异,同一规格显示模组的缺陷信息等状态参数也可能因制程工艺存在差别,因此,图像信号源对测试画面的字符叠加性能将严重影响显示模组在研发、生产测试等阶段的品质评价和效率。

目前,各显示模组厂商采用cpu描点的字符叠加方式,将图像信号源的每路信号输出通道叠加相同的字符,测试速度慢、性能低,当加大量字符时,将大大影响cpu的性能和吞吐率,耗时较长,无法实现高帧频的字符叠加,无法满足显示模组的研发、生产测试需求。



技术实现要素:

针对上述现有技术的不足,本发明公开一种对图像进行字符叠加的方法,通过采用多个字符显存的方案实现对图像信号源的多路输出信号进行独立的字符叠加操作,使得图像信号源的多路输出信号分别能叠加不同的字符信息,进而满足显示模组的研发、生产测试需求。

同时,本发明公开一种对图像进行字符叠加的装置,通过采用fpga硬件逻辑的方案实现对多路输出信号的独立字符叠加操作,能极大的减少cpu的数据处理量,提升cpu的处理性能及效率,进而满足显示模组的研发、生产测试需求。

为实现上述技术问题,本发明公开了一种对图像进行字符叠加的方法,用于对图像信号源的多路输出信号进行字符叠加操作,首先,提供第一存储单元,在该第一存储单元中指定第一地址空间,以及与该多路输出信号一一对应的多个第二地址空间;每路该输出信号的字符叠加操作包括以下步骤:

s1)将字库文件加载到该第一地址空间中;

s2)获得待叠加的字符在该第一地址空间中的偏移地址;

s3)根据待叠加的像素坐标在该第二地址空间中指定字符显存地址;

s4)将该偏移地址中的点阵数据写入该字符显存地址中,获得字符显存数据;

s5)根据时序控制信号读取该字符显存数据并叠加到图像数据中的所述像素坐标上。

优选地,上述技术方案的步骤s2中,若所述需要叠加的字符为英文字符,则查询该英文字符对应的ascii值在该第一地址空间中的偏移地址;

若所述需要叠加的字符为中文字符,则查询该中文字符对应的区位码在该第一地址空间中的偏移地址。

优选地,上述技术方案在该第一存储单元中还指定用于加载图像文件的第三地址空间,以及用于加载时序配置文件的第四地址空间;

根据该时序配置文件生成该时序控制信号;根据该时序控制信号从该第三地址空间中读取该图像数据。

优选地,上述技术方案的步骤s5还包括以下步骤:

若该字符显存数据的值为1,则将图像数据中对应像素坐标的灰度值替换为字符前景色,该字符前景色由cpu控制模块进行配置;

若该字符显存数据的值为0,则不改变图像数据中对应像素坐标的灰度值,或者,图像数据中对应像素坐标的灰度值由cpu控制模块进行配置。

另外,为实现上述技术问题,本发明公开了一种对图像进行字符叠加的装置,该装置包括用于加载字库文件的第一存储单元,用于下发字符叠加命令的上位机,以及用于对该多路输出信号进行字符叠加操作的可编程逻辑器件;

该可编程逻辑器件中设置有cpu控制模块,以及与该多路输出信号一一对应的多个字符叠加模块;该cpu控制模块用于根据该字符叠加命令读取字库文件中的点阵数据,并发送到该多个字符叠加模块中进行字符叠加操作。

优选地,上述技术方案中该装置还包括第二存储单元,用于存储字库文件和图像文件;该第一存储单元从第二存储单元中加载字库文件和图像文件;该cpu控制模块根据该字符叠加命令读取该图像文件中的图像数据,并发送到该多个字符叠加模块中与该点阵数据进行字符叠加操作。

优选地,上述技术方案中该第二存储单元还用于存储计算机程序,该计算机程序被该cpu控制模块执行时实现如权利要求1-5任一项所述方法的步骤。

优选地,上述技术方案中该可编程逻辑器件中还设置有多端口读写控制模块,该多端口读写控制模块用于根据该cpu控制模块的控制命令读取点阵数据和图像数据,并发送到该多个字符叠加模块中进行字符叠加操作。

优选地,上述技术方案中该可编程逻辑器件中还设置有时序配置模块,该第二存储单元还用于存储时序配置文件,该时序配置模块根据该时序配置文件生成时序控制信号;该多端口读写控制模块根据该时序控制信号读取该点阵数据和该图像数据。

本发明具有以下优点:

1)本发明通过在存储单元中指定与多路信号输出通道一一对应的多个地址空间,用于存储各信号输出通道对应的叠加字符,实现对图像信号源的多路输出信号的独立字符叠加操作,使得图像信号源的多路输出信号分别能叠加不同的字符信息;

2)本发明通过fpga硬件逻辑寻址点阵数据并进行字符显存写入,大大提高了字符叠加的效率及速度;

3)本发明的cpu控制模块只需将需要叠加的字符、坐标、颜色及通道号发给fpga硬件逻辑处理,大大降低了cpu的负担,提高了cpu的性能及吞吐量;

4)本发明可以实现每帧叠加不同的字符,实现与视频相同的叠加速率;

5)本发明字符显存地址中用1bit代表一个像素,大大节省了字符显存空间。

附图说明

图1本发明一实施例的系统结构示意图;

图2本发明对图像进行字符叠加的方法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本实施例公开的一种对图像进行字符叠加的装置,如图1所示,包括pc、flash存储器、ddr4存储器,以及内置有cpu的fpga芯片。其中,fpga芯片中还例化有ddr多端口读写控制器(ddrmultiportread&writecontroller)、视频时序控制器(videotiminggenerator)、与多路信号输出通道一一对应的多个字符叠加模块(charactersuperpositionmodule),以及与多个字符叠加模块一一对应的多个视频流生成模块(videostreamgenerator)。

上述实施例中,pc通过以太网接口(或者usb、串口等通信接口)将图像文件、字库文件、时序配置文件和计算机程序下发给cpu,随后,cpu会将接收到的文件转发到flash存储器中进行存储。cpu在加载计算机程序后,会在ddr4存储器中指定1个专门用于存储字库文件的字库地址空间、1个专门用于存储图像文件的图像地址空间、1个专门用于存储时序配置文件的时序配置地址空间,以及与多路信号输出通道一一对应的多个专门用于存储叠加字符的字符显存地址空间。

上述实施例中,当上位机向cpu下发字符叠加命令后,cpu控制ddr多端口读写控制器分别将图像文件、字库文件和时序配置文件从flash存储器中加载到ddr4存储器中的对应地址空间。随后,pc通过cpu将每个信号输出通道需要叠加的中英文字符及需要显示的像素坐标发送给ddr多端口读写控制器,ddr多端口读写控制器根据字符的ascii值(英文)或区位码(汉字)计算得到其在ddr4存储器中的偏移地址,并从偏移地址读取对应的点阵数据,然后根据需要显示的像素坐标,将点阵数据写入到对应通道的字符显存地址空间中。

上述实施例中,视频时序控制器会根据时序配置文件的配置产生视频生成所需的行、场信号时序。ddr多端口读写控制器在行、场信号时序的控制下,将图像数据及字符显存数据分别读出,生成与行、场信号时序对应的视频及字符点阵数据流,并送入到字符叠加模块完成字符的叠加,最终将叠加好的视频数据送入视频流生成模块。

上述实施例中,如图2所示,ddr多端口读写控制器会根据cpu的指令完成每路输出信号的字符叠加操作,包括以下步骤:

s1)将字库文件加载到字库地址空间中;

s2)根据需要叠加的中文字符的区位码或英文字符的ascii值在字库地址空间中查询相应的偏移地址;

其中,中文字符的偏移地址计算公式:汉字字符的偏移地址=((汉字的区码-0xa1)x94-(汉字的位码-0xa1))x单个汉字点阵数据的字节数;

英文字符的偏移地址计算公式:ascii字符的偏移地址=(字符ascii值-0x30)x单个ascii字符点阵数据的字节数。

s3)根据需要显示的像素坐标计算得到在字符显存地址空间中的字符显存地址;

其中,字符显存地址的计算公式=x坐标+y坐标*横向分辨率。

s4)将偏移地址中的点阵数据写入到字符显存地址中,获得字符显存数据;

s5)在视频时序控制器的行、场时序控制下,从图像地址空间及字符显存地址中读取图像数据及字符显存数据,并发送到对应的字符叠加模块进行字符叠加操作。

上述实施例中,字符叠加模块主要用于将ddr多端口读写控制器输出的字符显存数据流按坐标叠加到输出视频上。叠加的方法为:

若点阵数据值为1,则代表该坐标像素有字符点阵数据,则直接输出字符的前景色,该前景色可由cpu灵活配置;

若点阵数据值为0,则代表该坐标像素无字符点阵数据,则输出字符的背景色;该背景色可根据字符叠加的透明度(如全透明、半透明等)来自动计算,也可以直接由cpu配置(如显示全透明字体时,背景色直接使用对应像素点的视频颜色值);

若要关闭字符叠加功能,则字符叠加模块将输入的视频流直接输出。

上述实施例中,flash存储器还可以替换成emmc、sd卡、硬盘等非易失性存储器。

上述实施例中,cpu为fpga芯片的内嵌处理器(包括arm、niosii或microblaze),cpu可以通过usb、以太网或串口等通信口与pc通信,实现图像文件、字库文件、时序配置文件及计算机程序的下载,然后存储在flash存储器中。本实施例装置上电后,cpu从flash存储器中加载计算机程序,并控制ddr多端口读写控制器将图像文件、字库文件和时序配置文件加载到在ddr4存储器中指定的地址空间。叠加字符时,pc通过通信口给cpu发送字符叠加指令,并把要叠加的字符、坐标及通道号发给cpu。cpu收到这些数据之后,把这些参数发给ddr多端口读写控制器,ddr多端口读写控制器从ddr字库地址读取点阵数据,按照字符叠加的坐标,写入到对应通道的ddr字符显存地址中。

上述实施例中,cpu只需将需要叠加的字符、像素坐标、颜色及输出信号通道号发给fpga硬件逻辑处理,大大降低了cpu的负担,提高了cpu的性能及吞吐量。cpu也可以不通过ddr多端口读写控制器,直接完成ddr多端口读写控制器相应的动作,但这样会加大cpu的数据处理量及吞吐率,影响cpu的性能。

上述实施例中,视频流生成模块主要用于将字符叠加模块提供的rgb格式的视频流按照视频接口协议(如dp、mipi、hdmi、vbyone、lvds等协议)输出相应信号接口模式的视频信号。

本领域的技术人员容易理解,本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术,以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1