一种含书写时序信息的动态汉字字库的处理方法及其应用的制作方法

文档序号:6409502阅读:195来源:国知局
专利名称:一种含书写时序信息的动态汉字字库的处理方法及其应用的制作方法
技术领域
本发明涉及计算机图像数据处理及汉字信息处理技术,特别涉及一种曲线动态汉字字库的设计和数据处理方法。
背景技术
随着计算机字形字体描述技术的发展,中文汉字字库技术经过了点阵位图、矢量字库等阶段的演变,目前已发展到了曲线轮廓字库阶段。以PostScript格式的矢量字库和TTF(True Type Font)、OTF(Open Tpye Font)格式为代表的各种曲线轮廓字库,克服了原来的位图字库在字体大小固定,数据存储量大等方面的不足,充分运用曲线(贝塞尔函数或者B一样条函数)模拟技术进行轮廓模拟,解决了字体平滑缩放问题,并大大减少了存储空间。随着字库技术的日趋成熟,目前国内已出现了许多自行开发的汉字字库。遗憾的是,TTF、PS等字库是国外的专利,在字库的许多核心领域我国并没有自己的知识产权。
无论是传统的矢量字库还是目前流行的TTF、OTF、PS字库,它们都存在着共同的缺点,就是其运用只限于静态显示,这些字库都没有存储汉字的笔画顺序信息,大部分字库仅仅包含轮廓数据,少数字库虽然通过笔画-部件-汉字的分级组合方式构成,但仍然没有任何关于笔顺以及汉字书写方面的信息,因此无法进行动态显示。当前发展十分迅速的计算机辅助中文教学、多媒体字体动画设计等领域,不仅在静态显示的效果上有要求,而且对汉字书写的动态显示方面也有特别的要求,目前的静态曲线轮廓字库不能满足这方面要求。而目前出现的动态汉字字库基本上是通过第三方工具(如PhotoShop、Flash)来进行处理,存储量巨大,制作过程复杂,而且字库不完整,使用不灵活,不方便推广;这些字库虽然部分解决了传统静态字库不包含笔画顺序信息的缺陷,可以实现汉字的时序显示,但这些字库在播放效果上水平参差不齐,形式比较简单,而在数据存储结构上,多采用位图形式,无法实现字体缩放、旋转等变化,没有与目前的曲线轮廓字库技术接轨。

发明内容
本发明的目的在于弥补目前日趋成熟的静态汉字字库在动态显示方面的欠缺,克服尚待发展的动态汉字字库在储存信息科学性、丰富性和数据结构适应性方面的不足,提出一种动态汉字字库的处理方法,从而使静态汉字生成动态时序信息并能产生动态书写显示效果本发明的另一目的在于提供上述动态汉字字库的处理方法的用途。
本发明的目的通过下述技术方案实现本动态汉字字库的处理方法是通过对静态汉字图像进行处理,提取静态汉字图像的笔画,并按笔顺进行每个笔画轮廓和笔画骨架的提取,按预定策略自动跟踪每个汉字的笔画骨架(或称为笔画中心线)以产生时序信息及笔画轮廓时序信息,同时进行分段曲线拟和编码、时序信息拟和编码,从而使得输入的静态汉字数据变为含有书写时序信息(即汉字书写的笔顺时序信息)的动态汉字数据(也可称之为动画汉字数据)。
更具体地,本动态汉字字库的处理方法包括如下几个步骤(1)对静态汉字图像数据根据书写顺序进行笔画拆分;(2)对每一个笔画进行轮廓提取、轮廓跟踪、轮廓时序信息生成,并对相关的数据利用贝塞尔函数进行曲线模拟编码和存储;(3)对每一个笔画进行骨架(即笔画的中心线)提取、骨架跟踪、骨架时序信息生成,并对相关的数据利用贝塞尔函数进行曲线模拟编码和存储;(4)设计笔画轮廓及骨架时序动态还原解释器对处理后的汉字图像进行动画书写模拟显示。
所述时序动态还原解释器是一个针对本动态字库结构的数据读取还原工具,能够对本动态汉字字库数据进行读取和显示,并利用动态汉字数据中所包含的骨架时序信息或者轮廓时序信息,实现汉字时序的动态播放,并实现放大,缩小,旋转播放等功能。动态还原解释器可以根据字库的存储结构和相关参数利用C/C++等语言编程实现。
本动态汉字字库的处理方法可运用C语言编写的造字工具实现,所述造字工具具体具体包括对汉字相关信息的填写处理、拆分笔画的显示处理、笔画轮廓处理、笔画骨架处理等模块;运用该造字工具可以制作出相应的动态汉字字库。
经本动态汉字字库的处理方法处理后的每个汉字数据包含有笔画的书写笔顺信息,各个笔画结构包含该笔画的轮廓、骨架曲线数据,以及轮廓时序信息或者骨架时序信息。
本动态汉字字库的处理方法可应用于对各种字体的汉字进行动态处理,处理后可以实现汉字动画显示、完全模拟汉字的动态书写过程。
本发明与现有技术相比具有如下的优点(1)兼顾静态与动态显示汉字的功能与常用的静态汉字库相比,保持了其静态平滑缩放的功能,同时具有动态显示的功能,能够模拟出汉字书写过程的效果;此外,具有旋转书写临摹等功能。
(2)具有笔锋模拟效果运用骨架时序自动跟踪策略,实现了笔画细节的数据存储,并能够根据笔画骨架细节的相关性自动跟踪笔画顺序,还原出书法中的笔锋效果。
(3)技术含量高结合了多种数字图像处理技术和自创性的骨架自动跟踪策略以实现简洁适用性强的设计理念。
(4)结构简单与传统的曲线轮廓字库相比,本动态字库文件的结构清晰简洁,动态还原过程方便,还原效果好,包含的信息十分丰富。
(5)制作过程简便以及通过专用的造字工具无需特殊训练,仅通过简单操作可迅速制作出相应文件。
(6)适应推广性强运用标准C语言进行结构设计与存储,适用于多种需要汉字静态显示和动态还原的领域。保留了拓展的包括汉字演变,发音,字意文件的路径位置空间,制作并写入相应的文件路径可以使其适应性更加广泛。
(7)存储量小由于采用了曲线模拟及存储技术,使得该字库的存储量与目前其它含动画时序信息的位图等格式的字库相比,存储量更小,更加便于应用。


图1是本发明中汉字文件整体结构示意图。
图2是图1所示汉字文件整体结构中包含的笔画结构的示意图。
图3是图1所示汉字文件整体结构中包含的汉字文件头结构示意图。
图4是图2所示笔画结构包含的笔画文件头结构示意图。
图5是贝塞尔曲线结构图。
图6是造字过程流程图。
图7是笔画轮廓与骨架实例图。
图8是笔画轮廓处理流程图。
图9是笔画骨架处理流程图。
图10是曲线模拟流程图。
图11是骨架自动跟踪流程图。
图12是动态还原原理示意图。
图13是静态还原流程图。
图14是动态还原流程图。
图15是屏幕坐标系与造字模板图。
图16是贝塞尔曲线对笔画轮廓和骨架的模拟图。
图17是对静态汉字经过处理后的书写临摹效果图。
图18是动态汉字旋转后的动态书写临摹效果图。
图19是本动态汉字字库的造字工具界面。
具体实施例方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例本动态汉字字库的处理方法结合笔画拆分、笔画边缘与骨架提取、曲线跟踪、曲线分段模拟等多项数字图像处理技术,对输入的静态汉字图像数据进行一系列的数据处理,从而使汉字产生动态时序信息,构造出所设计的动态汉字文件,并且通过设计相应的还原解释器来实现汉字的静态显示与动态时序模拟书写播放;具体的造字过程的数据处理流程图如图6所示。
为了更好地表示和描述本发明方法对静态汉字图像进行处理后获得的动态汉字图像的技术效果,本发明设计了相关的动态汉字文件的结构,如图1所示,由一个汉字文件头(如图3所示)和数目与该汉字笔画数相等的若干个笔画结构按笔画顺序存储而成。汉字文件头中的信息包括11项内容,前8项包括汉字的结构、来源类型及书写风格方面的信息,后三项为拓展汉字文件的适用性和扩展性而设,便于添加相应的汉字读音、演变动画等文件路径;汉字的笔画结构见图2,由笔画文件头(如图4所示)、轮廓曲线的贝塞尔函数存储结构(如图5所示的三次贝塞尔函数结构)、轮廓的时序信息、轮廓结构结束标志和骨架曲线的贝塞尔函数结构、骨架时序信息、骨架结构结束标志构成,轮廓与骨架数据间有相应的结束标志;笔画文件头包含9项信息,每个笔画的轮廓与骨架曲线由不定数目的二次或三次贝塞尔函数结构构成,个数取决于曲线的分段数目。
本发明的具体图象处理过程包括——(一)笔画轮廓处理具体如图8所示,包括笔画轮廓提取,轮廓曲线跟踪,控制点(拐点)检测,曲线分段模拟这几个步骤。从笔画轮廓提取的效果(见图7)可看出,笔画轮廓为一闭合曲线。轮廓跟踪的原理就是在扫描到轮廓曲线的第一点后,按顺时针方向在当前点的八邻域寻找下一个轮廓点并记录,直到全部轮廓点记录完毕。通过轮廓点数组可计算出每个轮廓点的弯曲值(曲率弯曲程度的值),以此为依据进行轮廓控制点(拐点)的检测,检测的目的是将轮廓进行初始分段以进行贝塞尔曲线模拟;控制点提取完成后对两个控制点间的轮廓曲线段进行贝塞尔曲线拟和编码(见图10),所用的贝塞尔函数为三次贝塞尔函数,也可应用二次贝塞尔函数、或者B样条(B-Spline)函数来模拟。
(二)笔画骨架处理具体如图9所示,包括笔画骨架提取,骨架首点确定,骨架特殊分岔点确定,骨架时序跟踪,拐点检测,拐点间分段模拟这几个具体步骤;从笔画骨架提取的效果(见图7)可看出,所选用的骨架提取算法保留了笔画在转折处的细节信息(以便于更逼真的进行动态书写信息的模拟),通过骨架的分岔体现出来,笔画骨架与笔画轮廓的一个根本区别是骨架的分岔性,骨架曲线并非一条简单闭合曲线,而且根据书写规则,每个分岔都有相应的顺序。笔画上的拐点检测、分段拟和方法(见图10)与笔画轮廓线处理时的方法原理一样。
(三)笔画骨架自动跟踪及时序生成所谓的骨架自动跟踪,是指在跟踪骨架主要支架的过程中,算法自动正确地在特定位置区分分岔点信息,以求在恢复的时候正确呈现书写顺序。通过对汉字书写过程与笔画骨架的对照分析和研究,本发明提出了骨架自动时序跟踪算法,具体流程如图11所示。骨架时序自动跟踪的步骤为1)扫描骨架第一点。由于第一点的重要性以及无规则性,这个步骤要人为辅助选定。
2)在骨架点的八邻域顺时针寻找下一个骨架点(黑象素点),判断点是否分岔点。如果不是分岔点则记录骨架点坐标,并寻找下一点。
3)如果该点是分岔点,则进行以下步骤同时跟踪两个分岔,直到其中一个分岔跟踪结束,返回这个分岔(短)的首点,先跟踪该分岔,跟踪完成后再对另一分岔(长)进行跟踪记录。
4)如此循环,如果在分岔中再次出现分岔点则按照步骤3)进行处理,直到最后一点。
特殊情况处理为了书写表现方面的需要,一些笔画的转折处需要先跟踪长分岔,所以上面的跟踪方法也并非对所有情况都适用。碰到这种情况采取了在制作字库文件时进行(人工判断+跟踪测试)的方法确定,如果发现跟踪顺序出错,则由人工输入特殊拐点的序号记录到文件的相应位置。
骨架的跟踪完成后要进行相关数据存储,对笔画骨架数据的存储也采用每段曲线模拟存储的方法,与轮廓模拟不同的是,骨架分段中的分岔要进行特殊处理,按骨架自动跟踪算法所确定的顺序储存于骨架相应的位置,以确保笔画还原时的正确时序。具体做法是短分岔必然独立作为一段模拟对象;两个短分岔间的骨架主要小笔画段再进行局部拐点提取,再进行分段贝塞尔函数模拟。
(四)笔画轮廓自动跟踪及时序生成算法该步骤与笔画骨架自动跟踪及时序生成处理过程原理一样,所不同的是处理对象为汉字笔画轮廓数据,而非骨架数据。
经过上述过程处理汉字笔画图像,将相关的各种数据存入本动态汉字字库以后,可运用时序动态还原解释器对汉字进行动画书写模拟显示,本发明所处理的汉字笔画图像基于256×256坐标模版进行处理(见图15),当然使用别的合理的图像尺寸(例如128×128、512×512)不影响本发明的技术效果。笔画轮廓与骨架的一个恢复效果示例见附图16。
时序动态还原解释器的处理流程包括汉字的静态还原流程及汉字的动态还原流程两部分。
汉字的静态还原流程如图13所示,按文件格式顺序读出笔画轮廓数据,再根据放大缩小系数画出相应的直线或者贝塞尔曲线,每个笔画的边缘数据全部读出后进行填充处理;如此循环直到汉字的所有笔画显示完成。
汉字的动态还原流程如图14所示,其原理为利用每个笔画的骨架信息作为运行轨迹,通过笔画轮廓的限制形成笔画的粗细效果,而笔画的顿笔、提笔效果则通过骨架的分岔信息进行模拟。动态还原过程同样以骨架时序自动跟踪算法为基础,配合已经存入的特殊拐点位置信息,保证还原的时序完全正确。汉字动态还原过程需要在读出每个笔画的轮廓和骨架数据后,通过骨架时序自动跟踪算法得出骨架曲线的每个点的相应顺序,然后按一定的时间间隔在每个骨架点绘出对应轮廓的内切圆(见图12),实现每个笔画的动态还原,还原速度可选择,以达到不同的汉字动态书写效果。一个汉字“马”经过处理后进行动态书写临摹过程的示意图如图17所示。由于本发明采用贝塞尔函数来对处理后汉字轮廓、骨架、时序等信息进行表征,因而很容易实现汉字的缩放、旋转等动画书写模拟,附图18给出了一个旋转书写的临摹过程。
本动态汉字字库的处理方法可运用C语言编写的造字工具实现(造字工具的具体界面如图19所示),所述造字工具具体包括对汉字相关信息的填写处理、拆分笔画的显示处理、笔画轮廓处理、笔画骨架处理、时序信息处理等模块;图19中各个处理模块说明如下(I)为汉字文件头相关信息录入处理模块;(II)为笔画文件头相关信息录入处理模块;(III)为拆分笔画显示窗口;(IV)为拆分笔画轮廓提取及处理显示窗口;(V)为笔画骨架处理显示窗口;(VI)为时序信息处理显示窗口;(VII)为轮廓处理操作按钮;(VIII)为骨架处理操作按钮;(IX)为时序处理操作按钮。
使用该造字工具可以制作出相应的动态汉字字库。
上述实施例为本发明较佳的实施例子,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神与技术下所作的改变、修饰或替代,均应为等效的置换,都包含在本发明的保护范围之内。
权利要求
1.一种含书写时序信息的动态汉字字库的处理方法,其特征在于通过对静态汉字图像进行处理,提取静态汉字图像的笔画,并按笔顺进行每个笔画轮廓和笔画骨架的提取,跟踪每个汉字的笔画骨架时序信息及笔画轮廓时序信息,同时进行分段曲线拟和以及时序信息拟和,使输入的静态汉字数据变为含有书写时序信息的动态汉字数据。
2.根据权利要求1所述的含书写时序信息的动态汉字字库的处理方法,其特征在于包括如下步骤(1)对静态汉字图像数据根据书写顺序进行笔画拆分;(2)对每一个笔画进行轮廓提取、轮廓跟踪、轮廓时序信息生成,并对相关的数据利用贝塞尔函数进行模拟和存储;(3)对每一个笔画进行骨架提取、骨架跟踪、骨架时序信息生成,并对相关的数据利用贝塞尔函数进行模拟编码后存储;(4)设计笔画轮廓及骨架时序动态还原解释器对处理后的汉字图像进行动态书写模拟显示。
3.根据权利要求2所述的含书写时序信息的动态汉字字库的处理方法,其特征在于所述时序动态还原解释器对本动态汉字字库数据进行读取,然后进行汉字时序的动态播放及放大、缩小、旋转播放显示。
4.根据权利要求2所述的含书写时序信息的动态汉字字库的处理方法,其特征在于所述动态汉字的文件结构中各笔画结构按笔画书写顺序方式进行存储。
5.根据权利要求4所述的含书写时序信息的动态汉字字库的处理方法,其特征在于所述动态汉字的文件结构中每个笔画结构的骨架数据含有书写时序信息。
6.根据权利要求4所述的含书写时序信息的动态汉字字库的处理方法,其特征在于所述动态汉字的文件结构中每个笔画结构的轮廓数据含有书写时序信息。
7.根据权利要求1~6任一项所述的动态汉字字库处理方法的应用,其特征在于用于对各种字体的汉字进行动态处理,实现汉字动态显示,模拟汉字的动态书写过程。
全文摘要
本发明提供一种含书写时序信息的动态汉字字库的处理方法,通过对静态汉字图像进行处理,提取静态汉字图像的笔画,并按笔顺进行每个笔画轮廓和笔画骨架的提取,按预定策略跟踪每个汉字的笔画骨架(或称为笔画中心线)时序信息及笔画轮廓时序信息,同时进行分段曲线拟和和时序信息拟和,从而使得输入的静态汉字数据变为含有书写时序信息(即汉字书写的笔顺时序信息)的动态汉字数据。本方法可应用于对各种字体的汉字进行动态显示处理,可以实现汉字动态显示、完全模拟汉字的动态书写过程。本发明兼顾静态缩放与动态还原汉字的功能,结构清晰简洁,动态还原过程方便,还原效果好,适用于多种需要汉字动态显示的领域。
文档编号G06F17/00GK1588350SQ20041005150
公开日2005年3月2日 申请日期2004年9月17日 优先权日2004年9月17日
发明者金连文, 陈东明 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1