一种在屏显示字符的显示方法及装置的制作方法

文档序号:7751882阅读:123来源:国知局
专利名称:一种在屏显示字符的显示方法及装置的制作方法
技术领域
本发明涉及数字视频技术领域,特别涉及一种在屏显示字符的显示方法及装置。
背景技术
在屏显示(OSD,on-screen display)主要用于在视频图像上叠加文字信息,如时 间、地点等,从而为视频内容提供更多的附加信息。OSD可以作为视频图像的说明和补充,如 时间和地点等,并且随视频流传输和存储;还可以为用户提供友好的人机界面,能够使用户 获得更多的附加信息。目前,OSD主要有字符组成,包括数字、字母、汉字、特殊符号等,因此为了支持不同 的语言,需要采用不同的字库,如支持英语需要ASCII字库,支持中文需要GB2312字库,支 持俄语需要俄语字库等。为了便于实现OSD功能,一般采用点阵字库作为OSD字库,在点阵 字库中,每个字符都用mXn的点阵来表示,这里m表示该字符宽度为m个像素,η表示高度 为η个像素,每个像素对应1位,如果该位为1表示该像素显示为前景色,比如白色,如果该 位为0表示该像素显示为背景色,比如黑色或者背景图像中该像素的颜色。一般ASCII字 符都采用8X16的点阵表示,表示一个字符需要16个字节;中文、韩文和日文等象形文字都 采用16X16点阵表示,表示一个字符需要32个字节。现在一般都是采用如下的方式实现OSD字符显示在初始化系统时将可能用到的 点阵字库全部下载到数字信号处理芯片(DSP,digital signalprocessor)的内存中,系统 进行OSD显示时再根据设置的字符编码值算出字符在点阵字库中的偏移量,然后根据偏移 量在点阵字库中找到该字符对应的点阵信息,将该字符的点阵信息叠加到视频图像上进行显不。可见,现有的OSD字符显示技术如果需要支持某种语言,必须将该种语言对应的 字库包含到系统中。例如,如果要显示简体中文,必须包含GB2312编码的简体中文字库;如 果要显示俄文,必须包含俄文字库。每增加对一种语言的支持,就要包含该种语言的字库, 导致整个系统的适应性较差,并增加了字库管理的难度。

发明内容
本发明实施例提供一种OSD字符的显示方法及装置,即能够支持多种语言又能够 便于对字库的管理,又提升了系统的适应性。本发明实施例提供了一种在屏显示OSD字符的显示方法,包括获取待显示OSD字符所对应的宽字节字符编码值;从主机的Unicode字库中获得所述宽字节字符编码值对应的点阵信息;将所述点阵信息下载到数字信号处理芯片DSP的内存中,以使所述DSP获取所述 待显示OSD字符对应的点阵信息;将所述待显示OSD字符对应的点阵信息加载到视频图像上显示。其中,所述获取待显示OSD字符所对应的宽字节字符编码值的步骤包括
获取待显示OSD字符所对应的编码值,根据所述编码值判断待显示OSD字符的类 型,如果所述待显示OSD字符是多字节字符,则将所述多字节字符所对应的编码值转 换为宽字节字符编码值;如果所述待显示OSD字符是宽字节字符,则直接将所获得的编码值作为宽字节字 符编码值。其中,所述主机的Unicode字库中包括宽字节字符编码值与OSD字符点阵信息的 对应关系;所述从主机的Unicode字库中获得所述宽字节字符编码值对应的点阵信息的步 骤包括根据所述对应关系,获得OSD字符对应的点阵信息。其中,所述Unicode字库为一个字库或若干个子字库;当所述Unicode字库为若干 个子字库时,各个子字库所对应的起止编码值不同。其中,将所述点阵信息下载到DSP的内存中,以使所述DSP获取所述待显示OSD字 符对应的点阵信息的步骤包括将OSD字符的点阵信息拷贝到Unicode字符缓冲结构体中;根据所述宽字节字符编码值以及在DSP内存中保存Unicode字库的基地址计算出 所述待显示OSD字符在DSP内存中的地址,将所述地址拷贝到OSD的配置信息结构体中;将所述Unicode字符缓冲结构体和OSD的配置信息结构体下载到DSP的内存中;DSP根据所述配置信息结构体中的地址在下载到DSP内存中的Unicode字符缓冲 结构体中取得待显示OSD字符的点阵信息。本发明实施例还提供了一种在屏显示OSD字符的显示装置,包括宽字节字符编码值获取单元,用于获取待显示OSD字符所对应的宽字节字符编码 值;点阵信息获取单元,用于从主机的Unicode字库中获得所述宽字节字符编码值对 应的点阵信息;下载单元,用于将所述点阵信息下载到DSP的内存中,以使所述DSP获取点阵信 息;显示单元,用于将所述待显示OSD字符对应的点阵信息加载到视频图像上显示。其中,所述宽字节字符编码值获取单元包括判断子单元,用于获取待显示OSD字符所对应的编码值,根据所述编码值判断待 显示OSD字符的类型,如果所述待显示OSD字符是多字节字符,则通知转换子单元,如果所 述待显示OSD字符是宽字节字符,则通知生成子单元;转换子单元,用于将所述多字节字符所对应的编码值转换为宽字节字符编码值, 之后通知生成子单元;生成子单元,用于将所获得的编码值作为宽字节字符编码值。其中,所述Unicode字库为一个字库或若干个子字库;当所述Unicode字库为若干 个子字库时,各个子字库所对应的起止编码值不同。其中,所述下载单元包括
第一拷贝子单元,用于将OSD字符的点阵信息拷贝到Unicode字符缓冲结构体 中;第二拷贝子单元,用于根据所述宽字节字符编码值以及在DSP内存中保存 Unicode字库的基地址计算出所述待显示OSD字符在DSP内存中的地址,将所述地址拷贝到 OSD的配置信息结构体中;下载子单元,用于将所述Unicode字符缓冲结构体和OSD的配置信息结构体下载 到DSP的内存中;获取子单元,用于DSP根据所述配置信息结构体中的地址在下载到DSP内存中的 Unicode字符缓冲结构体中取得待显示OSD字符的点阵信息。应用本发明实施例,通过使用Unicode字库实现了对多种语言的支持,Unicode字 库理论上支持世界上已知的所有语言,而且有很好的扩展性,因此,既能够支持多种语言又 能够便于对字库的管理,避免系统为适应不同的字库所做的各种修改,提升了系统的适应 性。再有,本发明实施例中使用Unicode字库的方法有别于现有使用字库的方法。现 有技术中,显示汉字、日文、韩文等双字节字符时使用的字库都是多字节字库,显示英文等 单字节字符时使用的字库都是单字节字库,如ASCI I字库,而本发明实施例中的Unicode字 库是一种宽字节字库,所以避免了判断字符的编码值选择字库的麻烦。由于Unicode字库比较大(整个字库约有14. 1MB),为了避免占用大块连续内存导 致系统运行时堆溢出,将整个Unicode字库分成了若干个如4个小的字库(每个约3. 52MB 左右)进行保存。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。图1是根据本发明实施例的OSD字符的显示方法流程图;图2是根据本发明实施例的系统构架的示意图;图3是显示OSD字符的一种具体实例的流程图;图4是根据本发明实施例的OSD字符的显示装置逻辑结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。参见图1,其是根据本发明实施例的OSD字符的显示方法流程图,该流程具体包 括步骤101,获取待显示OSD字符所对应的宽字节字符编码值;
其中,获取待显示OSD字符所对应的宽字节字符编码值的步骤可以具体包括获取待显示OSD字符所对应的编码值,根据所述编码值判断待显示OSD字符的类 型,如果所述待显示OSD字符是多字节字符,则将所述多字节字符所对应的编码值转 换为宽字节字符编码值;如果所述待显示OSD字符是宽字节字符,则直接将所获得的编码值作为宽字节字 符编码值。步骤102,从主机的Unicode字库中获得所述宽字节字符编码值对应的点阵信息;其中,主机的Unicode字库中包括宽字节字符编码值与OSD字符点阵信息的对应 关系;根据所述对应关系,就可以获得OSD字符对应的点阵信息。上述Unicode字库为是一种宽字节字库,且可以是一个字库或由若干个子字库构 成的一个字库;当所述Unicode字库为若干个子字库时,各个子字库所对应的起止编码值 不同。在一个较佳的实施例中,可以由4个或8个子字库构成Unicode字库。步骤103,将所述点阵信息下载到数字信号处理芯片DSP的内存中,以使所述DSP 获取所述待显示OSD字符对应的点阵信息;具体的,可以包括以下步骤将OSD字符的点阵信息拷贝到Unicode字符缓冲结构体中;根据所述宽字节字符编码值以及在DSP内存中保存Unicode字库的基地址计算出 所述待显示OSD字符在DSP内存中的地址,将所述地址拷贝到OSD的配置信息结构体中;将所述Unicode字符缓冲结构体和OSD的配置信息结构体下载到DSP的内存中;DSP根据所述配置信息结构体中的地址在下载到DSP内存中的Unicode字符缓冲 结构体中取得待显示OSD字符的点阵信息。步骤104,将所述待显示OSD字符对应的点阵信息加载到视频图像上显示。下面结合一具体实例对本发明再做详细说明。参见图2,其是根据本发明实施例的系统构架的示意图。对于本实施例而言,从硬 件上来说该系统构架可以分为两个部分,主机210和DSP 220,其中DSP的数量可以是多个, 如DSP220a 220η。从软件上来说该系统构架可以分为三个部分,应用程序211、软件开发 工具包(SDK,SoftwareDevelopment Kit) 212和DSP程序221,可以理解,由于存在多个DSP 因而存在多个DSP程序221a 221η。应用程序211和SDK 212存在于主机210中,DSP程 序221存在于DSP 220的内存中。DSP和主机通过PCI总线进行数据传输。应用程序211 通过SDK212提供的应用程序接口和SDK进行交互,完成包括初始化/反初始化系统、开始 /停止视频预览、开始/停止编码等操作。SDK和DSP程序之间通过发送命令的方式进行交 互。参见图3,其是显示OSD字符的一种具体实例的流程图。图3中,黑色粗实线代表 数据流,黑色细实线代表时间流,空心线代表控制流。结合图2和图3,应用程序开始运行后,调用SDK提供的初始化DSP的接口,通知 SDK开始进行初始化DSP的工作。DSP初始化完成后,应用程序调用SDK提供的设置OSD的接口,将待显示OSD字符 的编码值传给SDK。SDK获取待显示OSD字符所对应的编码值后,根据所述编码值判断待显示OSD字符的类型,如果所述待显示OSD字符是多字节字符,则将所述多字节字符所对应的 编码值转换为宽字节字符编码值;如果所述待显示OSD字符是宽字节字符,则不用进行转 换,直接将所获得的编码值作为宽字节字符编码值。由于Unicode字库比较大(整个字库约有14. 1MB),为了避免占用大块连续主机 内存导致系统运行时堆溢出,本实施例中,将整个Unicode字库分成4个子字库(每个月约 3. 52MB左右)保存于主机中。Unicode子字库1中的字符编码值从x0开始到xl_l结束, Unicode子字库2中的字符编码值从xl开始到x2_l结束,Unicode子字库3中的字符编码 值从x2开始到x3-l结束,Unicode子字库4中的字符编码值从x3开始到x4_l结束。SDK 根据宽字节字符的编码值,可以确定该字符在保存于主机中的哪个Unicode子字库中,进 而根据字符在Unicode字库中的位置,就可以获取字符的点阵信息。然后SDK将OSD字符的点阵信息拷贝到Unicode字符缓冲结构体中,并更新该结 构体中的Unicode字符的个数;并且,SDK还根据所述宽字节字符编码值以及在DSP内存中 保存Unicode字库的基地址计算出所述待显示OSD字符在DSP内存中的地址,将所述地址 拷贝到OSD的配置信息结构体中;需要说明的是,上述OSD的配置信息结构体中包括如下成员字符个数,字符在 DSP内存中的地址的数组。上述Unicode字符缓冲结构体中包括如下成员=Unicode字符的 个数,Unicode字符点阵信息的数组,上述成员用于根据地址查找Unicode字符缓冲结构中 的点阵信息。上述操作完毕后,SDK发送由SDK和DSP共同定义的命令,如下载命令,将Unicode 字符缓冲结构体传给DSP程序,DSP程序接收到Unicode字符缓冲结构体后,将其保存到 DSP内存中。这样就实现了将这次设置的待显示OSD字符的Unicode字符所对应的点阵信 息和字符个数下载到DSP内存中的目的。最后SDK发送OSD显示命令,将OSD的配置信息结构体传给DSP程序进行处理。 DSP程序获得该配置信息后,根据所述配置信息结构体中的地址在下载到DSP内存中的 Unicode字符缓冲结构体中取得待显示OSD字符的点阵信息。有了 OSD字符的点阵信息,DSP程序最后将这些OSD字符叠加到视频图像上,完成 了 OSD的显示。可见,应用本发明实施例提供的OSD字符的显示方法,通过使用Unicode字库实现 了对多种语言的支持,Unicode字库理论上支持世界上已知的所有语言,而且有很好的扩展 性,因此,既能够支持多种语言又能够便于对字库的管理,避免系统为适应不同的字库所做 的各种修改,提升了系统的适应性。再有,本发明实施例中使用Unicode字库的方法有别于现有使用字库的方法。现 有技术中,显示汉字、日文、韩文等双字节字符时使用的字库都是多字节字库,显示英文等 单字节字符时使用的字库都是单字节字库,如ASCI I字库,而本发明实施例中的Unicode字 库是一种宽字节字库,所以避免了判断字符的编码值选择字库的麻烦。由于Unicode字库比较大(整个字库约有14. 1MB),为了避免占用大块连续内存 导致系统运行时堆溢出,将整个Unicode字库分成了若干个如4个小的字库(每个月约 3. 52MB左右)进行保存。本发明实施例提供了一种在屏显示OSD字符的显示装置,参加图4,具体包括
宽字节字符编码值获取单元401,用于获取待显示OSD字符所对应的宽字节字符 编码值;点阵信息获取单元402,用于从主机的Unicode字库中获得所述宽字节字符编码 值对应的点阵信息;下载单元403,用于将所述点阵信息下载到DSP的内存中,以使所述DSP获取点阵 fn息;显示单元404,用于将所述待显示OSD字符对应的点阵信息加载到视频图像上显
7J\ ο其中,所述宽字节字符编码值获取单元可以包括判断子单元,用于获取待显示OSD字符所对应的编码值,根据所述编码值判断待 显示OSD字符的类型,如果所述待显示OSD字符是多字节字符,则通知转换子单元,如果所 述待显示OSD字符是宽字节字符,则通知生成子单元;转换子单元,用于将所述多字节字符所对应的编码值转换为宽字节字符编码值, 之后通知生成子单元;生成子单元,用于将所获得的编码值作为宽字节字符编码值。其中,所述Unicode字库为一个字库或若干个子字库;当所述Unicode字库为若干 个子字库时,各个子字库所对应的起止编码值不同。其中,所述下载单元可以包括第一拷贝子单元,用于将OSD字符的点阵信息拷贝到Unicode字符缓冲结构体 中;第二拷贝子单元,用于根据所述宽字节字符编码值以及在DSP内存中保存 Unicode字库的基地址计算出所述待显示OSD字符在DSP内存中的地址,将所述地址拷贝到 OSD的配置信息结构体中;下载子单元,用于将所述Unicode字符缓冲结构体和OSD的配置信息结构体下载 到DSP的内存中;获取子单元,用于DSP根据所述配置信息结构体中的地址在下载到DSP内存中的 Unicode字符缓冲结构体中取得待显示OSD字符的点阵信息。可见,应用本发明实施例提供的OSD字符的显示装置,通过使用Unicode字库实现 了对多种语言的支持,Unicode字库理论上支持世界上已知的所有语言,而且有很好的扩展 性,因此,既能够支持多种语言又能够便于对字库的管理,避免系统为适应不同的字库所做 的各种修改,提升了系统的适应性。再有,本发明实施例中使用Unicode字库的方法有别于现有使用字库的方法。现 有技术中,显示汉字、日文、韩文等双字节字符时使用的字库都是多字节字库,显示英文等 单字节字符时使用的字库都是单字节字库,如ASCI I字库,而本发明实施例中的Unicode字 库是一种宽字节字库,所以避免了判断字符的编码值选择字库的麻烦。由于Unicode字库比较大(整个字库约有14. 1MB),为了避免占用大块连续内存 导致系统运行时堆溢出,将整个Unicode字库分成了若干个如4个小的字库(每个月约 3. 52MB左右)进行保存。对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实 体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存 在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵 盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要 素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备 所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除 在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中, 这里所称得的存储介质,如R0M/RAM、磁碟、光盘等。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围 内。
权利要求
一种在屏显示OSD字符的显示方法,其特征在于,包括获取待显示OSD字符所对应的宽字节字符编码值;从主机的Unicode字库中获得所述宽字节字符编码值对应的点阵信息;将所述点阵信息下载到数字信号处理芯片DSP的内存中,以使所述DSP获取所述待显示OSD字符对应的点阵信息;将所述待显示OSD字符对应的点阵信息加载到视频图像上显示。
2.根据权利要求1所述的方法,其特征在于,所述获取待显示OSD字符所对应的宽字节 字符编码值的步骤包括获取待显示OSD字符所对应的编码值,根据所述编码值判断待显示OSD字符的类型, 如果所述待显示OSD字符是多字节字符,则将所述多字节字符所对应的编码值转换为 宽字节字符编码值;如果所述待显示OSD字符是宽字节字符,则直接将所获得的编码值作为宽字节字符编 码值。
3.根据权利要求1所述的方法,其特征在于,所述主机的Unicode字库中包括宽字节字 符编码值与OSD字符点阵信息的对应关系;所述从主机的Unicode字库中获得所述宽字节字符编码值对应的点阵信息的步骤包括根据所述对应关系,获得OSD字符对应的点阵信息。
4.根据权利要求1或3所述的方法,其特征在于,所述Unicode字库为一个字库或若干 个子字库;当所述Unicode字库为若干个子字库时,各个子字库所对应的起止编码值不同。
5.根据权利要求1所述的方法,其特征在于,将所述点阵信息下载到DSP的内存中,以 使所述DSP获取所述待显示OSD字符对应的点阵信息的步骤包括将OSD字符的点阵信息拷贝到Unicode字符缓冲结构体中;根据所述宽字节字符编码值以及在DSP内存中保存Unicode字库的基地址计算出所述 待显示OSD字符在DSP内存中的地址,将所述地址拷贝到OSD的配置信息结构体中; 将所述Unicode字符缓冲结构体和OSD的配置信息结构体下载到DSP的内存中; DSP根据所述配置信息结构体中的地址在下载到DSP内存中的Unicode字符缓冲结构 体中取得待显示OSD字符的点阵信息。
6.一种在屏显示OSD字符的显示装置,其特征在于,包括宽字节字符编码值获取单元,用于获取待显示OSD字符所对应的宽字节字符编码值; 点阵信息获取单元,用于从主机的Unicode字库中获得所述宽字节字符编码值对应的 点阵信息;下载单元,用于将所述点阵信息下载到DSP的内存中,以使所述DSP获取点阵信息; 显示单元,用于将所述待显示OSD字符对应的点阵信息加载到视频图像上显示。
7.根据权利要求6所述的装置,其特征在于,所述宽字节字符编码值获取单元包括 判断子单元,用于获取待显示OSD字符所对应的编码值,根据所述编码值判断待显示OSD字符的类型,如果所述待显示OSD字符是多字节字符,则通知转换子单元,如果所述待 显示OSD字符是宽字节字符,则通知生成子单元;转换子单元,用于将所述多字节字符所对应的编码值转换为宽字节字符编码值,之后通知生成子单元;生成子单元,用于将所获得的编码值作为宽字节字符编码值。
8.根据权利要求7所述的装置,其特征在于,所述Unicode字库为一个字库或若干个子 字库;当所述Unicode字库为若干个子字库时,各个子字库所对应的起止编码值不同。
9.根据权利要求6所述的装置,其特征在于,所述下载单元包括第一拷贝子单元,用于将OSD字符的点阵信息拷贝到Unicode字符缓冲结构体中; 第二拷贝子单元,用于根据所述宽字节字符编码值以及在DSP内存中保存Unicode字 库的基地址计算出所述待显示OSD字符在DSP内存中的地址,将所述地址拷贝到OSD的配 置信息结构体中;下载子单元,用于将所述Unicode字符缓冲结构体和OSD的配置信息结构体下载到DSP 的内存中;获取子单元,用于DSP根据所述配置信息结构体中的地址在下载到DSP内存中的 Unicode字符缓冲结构体中取得待显示OSD字符的点阵信息。
全文摘要
本发明公开了一种在屏显示OSD字符显示的方法及装置,所述方法包括获取待显示OSD字符所对应的宽字节字符编码值;从主机的Unicode字库中获得所述宽字节字符编码值对应的点阵信息;将所述点阵信息下载到数字信号处理芯片DSP的内存中,以使所述DSP获取所述待显示OSD字符对应的点阵信息;将所述待显示OSD字符对应的点阵信息加载到视频图像上显示。应用本发明,通过使用Unicode字库实现了对多种语言的支持,Unicode字库理论上支持世界上已知的所有语言,而且有很好的扩展性,因此,既能够支持多种语言又能够便于对字库的管理,避免系统为适应不同的字库所做的各种修改,提升了系统的适应性。
文档编号H04N5/445GK101888505SQ201010204948
公开日2010年11月17日 申请日期2010年6月13日 优先权日2010年6月13日
发明者朱斌, 胡扬忠, 邬伟琪, 魏茂坚 申请人:杭州海康威视数字技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1