一种在数字图像上叠加字符的方法

文档序号:7615549阅读:302来源:国知局
专利名称:一种在数字图像上叠加字符的方法
技术领域
本发明涉及一种在数字图像上叠加字符的方法,是关于在数字图像上叠加显示数字、字母、汉字等符号信息的方法,属于数字图像处理技术领域。
背景技术
字符叠加,也称为OSD(On Screen Display,在屏幕上显示),是一种常见的图像处理技术,广泛的应用在监控、电视等视频系统中。
目前,常用的字符叠加实现方式是采用专用的字符发生器加控制器(CPU)芯片来实现,例如意法半导体(SGS-THOMSON)公司的STV5730A芯片,可参考《电视技术》2003年第9期相关论文,其基本工作过程是模拟原始图像输入到专用字符发生器芯片,在叠加了指定的字符后,由专用字符发生器芯片输出模拟混合图像。整个叠加过程由专用字符发生器芯片完成,所需叠加的字符由控制器(CPU)通过专用字符发生器芯片接口电路寻址字符发生器芯片内部ROM中存贮的字符实现,所以使用类似的专用字符发生器芯片时,所能够实现的字符种类完全取决于所采用的芯片。由于成本、应用等的限制,此类专用字符发生器可叠加的字符一般只有10个阿拉伯数字,大小写26个英文字母,及少量其它符号,很难满足监控图像中的各种字符显示需求,尤其是汉字的叠加显示需求。如果需要叠加显示汉字,则除使用某些专用字符发生器芯片外,还需另外再增加一片汉字字库芯片,例如存储有汉字字库的ROM芯片,进一步增加了成本,同时由于各种专用字符发生器芯片之间的兼容性较差,所以实现功能扩展和升级也非常麻烦。

发明内容
本发明的目的是为了改进已有的字符叠加实现方法存在的不足,而提供一种在数字图像上叠加字符的方法。
本发明采用的技术方案包括如下步骤假定待叠加点阵字符由N×M点阵组成,其中M是行点阵,N是列点阵,M,N是正整数1)将预先生成的常用字符点阵字库文件下载并存储到动态存储器的某一存储区域;
2)将输入的待叠加字符的一帧数字视频图像存储到动态存储器缓冲区中;3)在动态存储器字库存储区查找待叠加点阵字符,取出组成该点阵字符的第一行N位并按二进制位表示;4)从动态存储器缓冲区中取出该帧图像拟叠加字符位置的对应N0个象素点亮度值,N0=N;5)完成N0个象素点的叠加设某一象素点的亮度值为Y,用1个字节表示,待叠加字符的亮度值为常数C,用1个字节表示,当已取出的组成该点阵字符的某一行N位中的某一位为1,则将原图像中该位对应象素点的亮度值Y改为C,如果该位为0,则保持原图像中该位对应象素点的亮度值不变,依据该原则,完成N0个象素点的叠加;6)取组成该点阵字符的下一行N位,且以二进制位形式表示,取出图像下一行对应的N0个象素点亮度值,按步骤5)完成N0个象素点的叠加;重复该过程直到组成该点阵字符的所有M行处理完毕,即可完成一个点阵字符的叠加。
所述技术方案中点阵字符中的一个点,是指一个二进制位,其值为0或1。叠加操作时,每个二进制位对应数字图像上的一个象素点。常用字符点阵字库文件包括10个阿拉伯数字,大小写26个英文字母,常用汉字及需要的其它符号。
所述步骤2)的数字视频图像是指经过A/D转换芯片模数转换后的原始数字图像。
所述步骤3)的查找过程包括如果所要叠加的字符在字库存储区中不存在,则需要修改字库文件,增加该字符并重新下载。
在所述的技术实现方案中,叠加字符过程利用通用DSP芯片部分运算能力实现。在图像指定位置叠加了指定字符或符号的数字图像,再由通用DSP芯片进行压缩处理后,送给后端设备存储或显示。
本发明的有益效果是(1)由于本发明新颖独特的实现方式,字符的扩充简单易行,只需增加新的点阵字符,就可以支持任何语言及其对应的字符,无需更新硬件设计,应用范围更加广泛、灵活。
(2)相对于使用专用字符发生器芯片的实现方式,本发明的字符叠加方法去掉了对专用字符发生器芯片的依赖,简化了系统硬件设计,降低了成本,结构更加简洁、紧凑。


图1是本发明方法的流程图;图2是本发明预生成一个数字字符点阵表示的示意图;图3是本发明一个点阵数字字符叠加到图像上的过程示意图,图中的空心圆圈表示象素点;图4是本发明预生成一个汉字字符点阵表示的示意图;图5是本发明一个点阵汉字字符叠加到图像上的过程示意图,图中的空心圆圈表示象素点。
具体实施例方式
下面结合附图,详细说明本发明在数字图像上叠加字符的方法。
参看图1,本发明在数字图像上叠加字符的方法包括以下步骤假定待叠加点阵字符由N×M点阵组成,其中M是行点阵,N是列点阵,M,N是正整数1)将预先生成的常用字符点阵字库文件下载并存储到动态存储器的某一存储区域;2)将输入的待叠加字符的一帧数字视频图像存储到动态存储器缓冲区中;3)在动态存储器字库存储区查找待叠加点阵字符,取出组成该点阵字符的第一行N位并按二进制位表示;4)从动态存储器缓冲区中取出该帧图像拟叠加字符位置的对应N0个象素点亮度值,N0=N;5)完成N0个象素点的叠加设某一象素点的亮度值为Y,用1个字节表示,待叠加字符的亮度值为常数C,用1个字节表示,当已取出的组成该点阵字符的某一行N位中的某一位为1,表示该点是字符的一部分,需要叠加,则将原图像中该位对应象素点的亮度值Y改为C,如果该位为0,表示该点不属于该字符,则保持原图像中该位对应象素点的亮度值不变,依据该原则,完成N0个象素点的叠加;6)取组成该点阵字符的下一行N位,且以二进制位形式表示,取出图像下一行对应的N0个象素点亮度值,按步骤5)完成N0个象素点的叠加;重复该过程直到组成该点阵字符的所有M行处理完毕,即可完成一个点阵字符的叠加。
一般而言,各种字符、符号都可以用点阵的形式来表示并存储在字库中。在点阵字符生成过程中,一般使用一个二进制位1来表示该字符对应的一个点,点阵的其余点用二进制位0来填充。
本发明中预先生成图像上常用的字符点阵字库,比如10个阿拉伯数字,大小写26个英文字母,常用汉字(如大、门、走、廊、路、口等汉字)及需要的其它符号,并存储为字库文件。
我们知道,数字图像最基本的组成单元为象素点,每个象素点对应图像中的一个点,水平和垂直方向二维排列的多个象素点就组成了一幅图像。在动态存储器内部,图像以二维点阵的形式来表示和存储,每个象素点都具有自己的亮度(Y分量)和色度信息(UV分量)。例如,一帧分辨率为704×576的图像,其亮度信号共有576行,每行704列,如果每个象素点的亮度值用1个字节表示,那么,整幅图像亮度分量共占用704×576=405504字节的存储空间。
本发明实现的关键就是使用点阵字库所定义的字符描述,对图像中字符拟叠加位置象素点进行处理。拟叠加字符的每个象素点都含有亮度(Y分量)和色度分量(UV分量),简单的字符叠加可以只对图像的亮度操作,实现黑白单色叠加显示。亮度值用一个字节表示,即取值范围为0~255,亮度逐渐增强,亮度值为0代表黑色、亮度值为255代表白色。
实施例1,在数字图像上叠加字符“2”的实现过程图2是阿拉伯数字“2”的点阵表示,共有水平方向16行,垂直方向8列,即8×16点阵。在对应的点阵表示中,共需8×16=128bit,即16个字节。所以特定组合的16个字节就代表8×16点阵的字符“2”。
1)预先生成的包含字符“2”的点阵字库以文件的形式存储在硬盘上,当图像编码压缩系统开始工作且需要叠加字符显示时,将字库文件下载并存储到动态存储器(DDR SDRAM)的某一区域。
2)将输入的由模拟原始视频图像经过A/D转换电路处理后生成的待叠加字符的一帧数字视频图像存储到动态存储器缓冲区中。
3)字符“2”的点阵表示为16个字节,128位,叠加到数字图像上对应128个象素点(如图3所示)。
设某一象素点的亮度值为Y,用1个字节表示;待叠加字符的亮度值为常数C,用1个字节表示,例如,C=0×80;同时设原始数字图像的大小为704×576。
在动态存储器的字库存储区中查找待叠加点阵字符“2”,取出组成该点阵字符的第一个字节并按二进制位表示。由于字库中字符的每个点对应实际数字图像中的一个象素点,因此,点阵字符“2”中的一个字节(8位)对应实际数字图像中的8个象素点。
4)取出该帧图像拟叠加字符位置的对应8个连续象素点。根据指定的待叠加字符在原始数字图像中的拟叠加行列位置,从动态存储器中取出相应的要叠加字符的象素点亮度值。
象素点亮度值在动态存储器中的存储地址按如下方法计算假定点阵字符“2”左上角第一个点在图像上的叠加起始位置(原点位置)为Left(列坐标)、Top(行坐标),该帧图像在存储器中存储基地址为P,则点阵字符“2”任一点对应图像中的象素点亮度值地址为P+(Top+行)×704+(Left+列),表达式中的行、列参数是某一点分别相对于Top,Left的偏移量。在我们的实施例中,P可以是有效的SDRAM地址,例如P=0×80040000;Left、Top由用户指定,例如第2行,第1列,则Left=0,Top=1,如果要取出第1行第1列点阵对应的图像象素点,则行、列参数均为0,该象素点地址=0×80040000+1×704+0=0×800402C0H。从该地址取出的连续8个字节,就是需要叠加的第一行8个象素点亮度值。
5)完成8个象素点的叠加。具体而言就是对组成该点阵字符的某一行点阵(这里指已经取出的第一个字节),即8位中的每一位执行如下操作如果该位为1,则将原图像中该位对应象素点的亮度值Y改为常数C;如果该位为0,则保持原图像中该位对应象素点的亮度值不变。
6)取组成该点阵字符的下一行8位,且以二进制位形式表示,取出图像下一行对应的8个象素点亮度值,按步骤5)完成8个象素点的叠加。重复该过程,即可完成一个点阵字符的叠加。
完成一帧图像中多个字符的叠加处理,只需要重复上面已经说明的一个点阵字符的叠加实现过程。
实施例2,在数字图像上叠加汉字字符“路”的实现过程本实施例的实现过程与实施例1基本相同,差别在于组成字符的点阵不同,如图4所示。汉字字符一般用16×16、24×24点阵来表示。假定汉字字符“路”由16×16点阵组成。共有水平方向16行,垂直方向16列,即16×16点阵。在对应的点阵表示中,共需16×16=256bit,即32个字节。所以特定组合的32个字节就代表16×16点阵的字符“路”。
1)预先生成的包含字符“路”的点阵字库以文件的形式存储在硬盘上,当图像编码压缩系统开始工作且需要叠加字符显示时,将字库文件下载并存储到动态存储器(DDR SDRAM)的某一区域。
2)将输入的由模拟原始视频图像经过A/D转换电路处理后生成的待叠加字符的一帧数字视频图像存储到动态存储器缓冲区中。
3)字符“路”的点阵表示为32个字节,256位,叠加到数字图像上对应256个象素点(如图5所示)。
设某一象素点的亮度值为Y,用1个字节表示;待叠加字符的亮度值为常数C,用1个字节表示,例如,C=0×80;同时设原始数字图像的大小为704×576。
在动态存储器的字库存储区中查找待叠加点阵字符“路”,取出组成该点阵字符的第一个字(2个字节)并按二进制位表示。由于字库中字符的每个点对应实际数字图像中的一个象素点,因此,点阵字符“路”中的2个字节(16位)对应实际数字图像中的16个象素点。
4)取出该帧图像拟叠加字符位置的对应16个连续象素点。根据指定的待叠加字符在原始数字图像中的拟叠加行列位置,从动态存储器中取出相应的要叠加字符的象素点亮度值。
象素点亮度值在动态存储器中的存储地址按如下方法计算假定点阵字符“路”左上角第一个点在图像上的叠加起始位置(原点位置)为Left(列坐标)、Top(行坐标),该帧图像在存储器中存储基地址为P,则点阵字符“路”任一点对应图像中的象素点亮度值地址为P+(Top+行)×704+(Left+列),表达式中的行、列参数是某一点分别相对于Top,Left的偏移量。在我们的实施例中,P可以是有效的SDRAM地址,例如P=0×80040000;Left、Top由用户指定,例如第2行,第1列,则Left=0,Top=1,如果要取出第2行第1列点阵对应的图像象素点,则行参数=1、列参数=0,该象素点地址=0×80040000+2×704+0=0×80040580H。从该地址取出的连续16个字节,就是需要叠加的第二行16个象素点亮度值。
5)完成16个象素点的叠加。具体而言就是对组成该点阵字符的某一行点阵(这里指已经取出的第一、第二个字节),即16位中的每一位执行如下操作如果该位为1,则将原图像中该位对应象素点的亮度值Y改为常数C;如果该位为0,则保持原图像中该位对应象素点的亮度值不变。
6)取组成该点阵字符的下一行16位,且以二进制位形式表示,取出图像下一行对应的16个象素点亮度值,按步骤5)完成16个象素点的叠加。重复该过程,即可完成一个点阵字符的叠加。
完成一帧图像中多个字符的叠加处理,只需要重复上面已经说明的一个点阵字符的叠加实现过程。
以上列举的仅是本发明的2个具体实施例子,主要是对图像的亮度处理,以实现不同亮度的字符叠加。很显然,本发明不限于以上实施例子,还可以有许多其它的实施方式。比如,实现彩色字符叠加彩色字符叠加所需要的字库和单色叠加相同。要实现彩色字符叠加,除需要对象素点亮度值(Y分量)字节操作外,还需要同时对象素点色度值(UV分量)字节进行操作,对象素点色度值字节的操作只需重复具体实施例子中对亮度操作的3),4),5),6)步骤。
对于连续视频流的处理在所述的技术方案中,原始视频流经过A/D转换电路连续不断的存储到动态存储器中,因此,只要对动态存储器中连续存储的每一帧原始数字图像,采用如上所述的字符叠加方法叠加字符,即可实现对连续视频图像的字符叠加。
本发明支持的点阵字符包括8×16点阵的ASCII码可显字符,16×16或24×24点阵的汉字字符等。
本发明的在数字图像上叠加字符方法中的通用DSP芯片是菲利普公司的PNX1500系列芯片,A/D转换芯片是菲利普公司的SAA7113H或者SAA7144HL芯片,动态存储器芯片是指但不限于以下芯片,例如SAMSUNG公司的K4D263238F。
权利要求
1.一种在数字图像上叠加字符的方法,其特征是包括如下步骤假定待叠加点阵字符由N×M点阵组成,其中M是行点阵,N是列点阵,M,N是正整数1)将预先生成的常用字符点阵字库文件下载并存储到动态存储器的某一存储区域;2)将输入的待叠加字符的一帧数字视频图像存储到动态存储器缓冲区中;3)在动态存储器字库存储区查找待叠加点阵字符,取出组成该点阵字符的第一行N位并按二进制位表示;4)从动态存储器缓冲区中取出该帧图像拟叠加字符位置的对应N0个象素点亮度值,N0=N;5)完成N0个象素点的叠加设某一象素点的亮度值为Y,用1个字节表示,待叠加字符的亮度值为常数C,用1个字节表示,当已取出的组成该点阵字符的某一行N位中的某一位为1,则将原图像中该位对应象素点的亮度值Y改为C,如果该位为0,则保持原图像中该位对应象素点的亮度值不变,依据该原则,完成N0个象素点的叠加;6)取组成该点阵字符的下一行N位,且以二进制位形式表示,取出图像下一行对应的N0个象素点亮度值,按步骤5)完成N0个象素点的叠加;重复该过程直到组成该点阵字符的所有M行处理完毕,即可完成一个点阵字符的叠加。
2.根据权利要求1所述的在数字图像上叠加字符的方法,其特征是点阵字符中的一个点,是指一个二进制位,其值为0或1,每个二进制位在叠加操作时,一一对应数字图像上的一个象素点。
3.根据权利要求1所述的在数字图像上叠加字符的方法,其特征是步骤2)的数字视频图像是指经过A/D转换芯片模数转换后的原始数字图像。
4.根据权利要求1所述的在数字图像上叠加字符的方法,其特征是所说的点阵字符包括8×16点阵的ASCII码可显字符和16×16或24×24点阵的汉字字符。
全文摘要
本发明公开的在数字图像上叠加字符的方法包括预先生成常用的由N列xM行点阵字符组成的点阵字库文件并下载到动态存储器的某一区域;将输入的待叠加字符的一帧数字视频图像存储到动态存储器缓冲区中;取出字库存储区中的待叠加点阵字符的某一行(N个二进制位);如果N位中的某一位为1,则改变该位对应象素点的亮度值,如果该位为0,则保持该位对应象素点的亮度值不变,依据该原则,完成N个象素点的叠加。按照前述叠加点阵字符的某一行的叠加方法,直到组成该点阵字符的M行处理完成。本发明的叠加字符方法的字符扩充简单易行,只需增加新的点阵字符,就可以支持任何语言及其对应的字符,无需更新硬件设计,应用范围更加广泛、灵活。
文档编号H04N5/445GK1710946SQ20051005063
公开日2005年12月21日 申请日期2005年7月8日 优先权日2005年7月8日
发明者礼攀 申请人:杭州海康威视数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1