专利名称:一种透明osd软件实现方法
技术领域:
本发明涉及一种透明OSD软件实现方法。
背景技术:
OSD是on-screen display的简称,即屏幕菜单式调节方式。一般是按Menu键后屏幕弹出的显示器各项调节项目信息的矩形菜单,可通过该菜单对显示器各项工作指标包括色彩、模式、几何形状等进行调整,从而达到最佳的使用状态。随着数字化视频技术的普及应用,OSD实现技术也得到了快速发展。从实现方式上来说,OSD可以分为硬件OSD和软件0SD,早期的硬件OSD需要搭建单独的OSD电路,包括OSD字符叠加芯片、字符存储器等,其缺点是硬件电路设计比较复杂、使用不方便、稳定 性差,且多数OSD不能编辑。
现在很多视频处理芯片在内部集成了硬件OSD电路,大大简化了设计和使用,但其硬件OSD是在视频后处理中实现的,只能用于本地显示。软件OSD通过软件算法实现,不依赖于特定的硬件平台,可以在视频前处理中实现,成本低、灵活性好,但传统的软件OSD实现方法效率低、占用资源大,容易带来视频的延时。
发明内容
本发明的目的在于提供一种透明OSD软件实现方法,利用纯软件方法在实时视频上叠加透明0SD,具有可编辑性且响应速度快。为实现上述发明目的,本发明采用以下技术方案
一种透明OSD软件实现方法,根据编辑的OSD字符内容获得该字符的字符内码;
利用所述字符的内容从字库中获得该所述字符的字符点阵;
扫描所述字符点阵,并记录下扫描到的位为“I”的位的行列号;
在当前编辑的OSD字符显示位置建立以左上角为坐标原点以字符点阵位为量纲并以向右和向下为正轴的叠加坐标系;
以对应的行列号为坐标在所述叠加坐标系中置位。依据本发明的透明OSD软件实现方法,利用字符点阵中每位只能为I或0,并且绝大多数字符点阵中的O位的数量远多于I位的数量的特性,忽略O位,只处理I位的数据,从而大大减小了运算量,提高了效率,进而,对于数据量比较大的高清实时视频流数据的处理中,有时会比较明显,保证了视频不会产生明显影响视觉效果的延时。关于本发明的更佳的实现方法,依据本发明的实施例表现为以下方面
上述透明OSD软件实现方法,所述置位包括对预定的亮度和色度的数据置位,从而依据可修改的参数,即亮度和色度,获得所需要的显示效果。在另一些应用中,所述置位为对预定的RGB数据置位,以匹配所需要的使用效果。进一步地,为了满足实时处理的效果,减少中间的计算量,匹配当前应用的0SD,配置OSD所对应字符大小,每一个大小量级的字符对应有一个字库,这种方式仅消耗少量的存储空间,减少了中间的运算量,提闻实现的效率。上述透明OSD软件实现方法,把所有扫描到的位为“I”的位依序构造一个二维数据矩阵,矩阵行代表OSD字符点阵中位的数量,矩阵列代表OSD字符点阵中位为“I”的行列号。编辑的OSD显示位置向右、向下为坐标正轴建立叠加坐标系,上述的二维矩阵数据将每帧视频数据的对应字节进行置位,实现透明OSD效果。在另一些应用中,预设一个二维数组,按照从上到下、从左到右的扫描方式进行扫描,把扫描到的位为“ I”的位的行列号依序存入所述二维数组,并在置位时,从所述数组中依序取出数组元素进行在所述叠加坐标系中的所述置位。
图I为本发明一个具体实施方式
中建立二维数据矩阵的控制逻辑图。 图2为本发明一个具体实施方式
中OSD显示位置矩形与叠加坐标系的位置关系示意图。图3为本发明一个具体实施方式
中引用的汉字“上”的字符点阵图。
具体实施例方式为能清楚说明本方法的技术特点,下面通过一个具体实施方式
,对本方法进行阐述。由于根据编辑的OSD字符内容获得该字符的字符内码对于字符型(Font-Based)OSD来说属于现有技术,在此不再赘述。如图3所示,是一个大小为16X16汉字“上”的字符点阵中位为I的行列号统计如下
(1,8)、(2,8)、(3,8)、(4,8)、(5,8)、(5,12)、(6,8)、(6,9)、(6,10)、(6,11)、(6,12)、(6,13)、(7,8)、(8,8)、(9,8)、(10,8)、(11,8)、(12,8)、(13,8)、(14,8)、(14,14)、(15,I)、(15,2)、(15,3)、(15,4)、(15,5)、(15,6)、(15,7)、(15,8)、( 15,9)、( 15,10)、(15,11)、(15,12)、(15,13)、(15,14)、(15,15),共 36 个。根据上述统计的行列号信息,按照图I的逻辑判断可以建立一个36X2的二维数据矩阵,假设设置的OSD显示位置矩形左上角坐标为(xl,yl),将(xl,yl)为原点按照如图3所示建立叠加坐标系,则需要置位的视频数据行列号如下
(xl+1, yl+8)、(xl+2, yl+8)、(xl+3, yl+8)、(xl+4, yl+8)、(xl+5, yl+8)、(xl+5, yl+12)、(xl+6, yl+8)、(xl+6, yl+9)、(xl+6, yl+10)、(xl+6, yl+11)、(xl+6, yl+12)、(xl+6, yl+13)、(xl+7, yl+8)、(xl+8, yl+8)、(xl+9, yl+8)、(xl+10, yl+8)、(xl+11, yl+8)、(xl+12, yl+8)、(xl + 13,yl+8)、(xl + 14,yl+8)、(xl + 14, yl + 14)、(xl + 15, yl + 1)>(xl + 15, y1 + 2)>(xl + 15,yl + 3)、(xl + 15,yl + 4)、(xl + 15,yl + 5)、(xl + 15,yl+6)、(xl + 15,yl+7)、(xl + 15, yl+8)、(xl + 15, yl+9)、(xl + 15, yl + 10)、(xl + 15, yl + 11)、(xl + 15, yl + 12)、(xl+15, yl+13)、(xl+15, yl+14)、(xl+15, yl+15),共 36 个。然后按照上述视频数据在叠加坐标系中进行置位。由于本文中相关手段依据本文所述记的内容,本领域的技术人员容易理解,因此,对于发明内容所述及的技术手段在具体实时方式部分不再展开说明。诸如置位的内容,如亮度和色度,或者RGB,根据喜好或者预选模式进行置位。如本例所述,规模为16X16对应一种大小,对于如汉字的方块字,可以匹配相应的字库,其存储大小取决于点阵的点数,因此,整体的存储空间要求并不高。并且如前所述,数据处理的对象是字符点阵中位为I的位,处理量非常小,且后续的显示,显然只会对置位的位进行显示,那么叠加到每帧视频数据中时,形成透明的字底的字体。对于所说的二维数据矩阵,类同于二维数组,但不完全一样,本领域的技术人员容易理解。并且关于二维数据矩阵中的数量并不影响最好的置位,当然,所述数量可以作为置位结束的标志。对于二维数组来说,数组空时,置位结束。 本发明未经描述的技术特征可以通过或采用现有技术实现,在此不再赘述。当然上述说明并非是对本发明的限制,本发明也并不限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、添加,也应属于本发明的保护范围。
权利要求
1.一种透明OSD软件实现方法,其特征在于,根据编辑的OSD字符内容获得该字符的字符内码; 利用所述字符的内容从字库中获得该所述字符的字符点阵; 扫描所述字符点阵,并记录下扫描到的位为“I”的位的行列号; 在当前编辑的OSD字符显示位置建立以左上角为坐标原点以字符点阵位为量纲并以向右和向下为正轴的叠加坐标系; 以对应的行列号为坐标在所述叠加坐标系中置位。
2.根据权利要求I所述的透明OSD软件实现方法,其特征在于,所述置位包括对预定的亮度和色度的数据置位。
3.根据权利要求I所述的透明OSD软件实现方法,其特征在于,所述置位为对预定的RGB数据置位。
4.根据权利要求I至3任一所述的透明OSD软件实现方法,其特征在于,匹配当前应用的0SD,配置OSD所对应字符大小,每一个大小量级的字符对应有一个字库。
5.根据权利要求I所述的透明OSD软件实现方法,其特征在于,把所有扫描到的位为“I”的位依序构造一个二维数据矩阵,矩阵行代表OSD字符点阵中位的数量,矩阵列代表OSD字符点阵中位为“I”的行列号。
6.根据权利要求I所述的透明OSD软件实现方法,其特征在于,预设一个二维数组,按照从上到下、从左到右的扫描方式进行扫描,把扫描到的位为“I”的位的行列号依序存入所述二维数组,并在置位时,从所述数组中依序取出数组元素进行在所述叠加坐标系中的所述置位。
全文摘要
本发明公开了一种透明OSD软件实现方法,根据编辑的OSD字符内容获得该字符的字符内码;利用所述字符的内容从字库中获得该所述字符的字符点阵;扫描所述字符点阵,并记录下扫描到的位为“1”的位的行列号;在当前编辑的OSD字符显示位置建立以左上角为坐标原点以字符点阵位为量纲并以向右和向下为正轴的叠加坐标系;以对应的行列号为坐标在所述叠加坐标系中置位。依据本发明利用纯软件方法在实时视频上叠加透明OSD,具有可编辑性且响应速度快。
文档编号H04N5/445GK102902534SQ20121034390
公开日2013年1月30日 申请日期2012年9月18日 优先权日2012年9月18日
发明者李同磊, 魏光旭 申请人:山东神戎电子股份有限公司