描述汉字轮廓的混合样条函数方法

文档序号:6407016阅读:705来源:国知局
专利名称:描述汉字轮廓的混合样条函数方法
技术领域
本发明涉及一种描述信息处理用汉字轮廓的混合样条函数方法及实现该方法的硬件技术。
随着汉字信息业的蓬勃发展,各种汉字技术应运而生。其中至关重要的一项技术就是汉字字形的描述。
汉字字形的描述经历了从全点阵到矢量描述轮廓的各个阶段,目前国内外最先进的技术已进入函数描述轮廓的阶段,即选用某种函数描述汉字轮廓。这种方法具有描述逼真、生动,信息压缩比大,字体变形不失真等多项优点,但这些优点的发挥在很大程度上取决于采用什么样的函数来描述汉字轮廓。目前多数方法都是照搬国外一种描述西文字形轮廓的成功方法,即采用Bezier函数来描述汉字字形轮廓。
Bezier曲线上各点的方程式为
其中n为Bezier曲线控制多边形的个数减1,Pi为各控制多边形各顶点的位置向量,而Bi,n(u)= (n!)/(i!(1-u)!) (1-u)n-iui(i=0,1,...,n)Bezier曲线虽然有很多优点且成功地描述了西文字形,但将其用于汉字字形描述时,则由于汉字的复杂性(字体十分丰富、字形结构复杂、笔形变化多端),就表现出许多不足之处。比如,当一条光滑线条的一端曲率变化很大而另一端曲率变化很小时,用Bezier曲线就难以描述;又如,当两条相切的光滑线条分别用Bezier曲线描述时,就不能保证还原后依然相切或在相切处有较大的冗余信息,等待。
所以,能否创造出一种符合汉字特点的新的函数方法,从而能够较完美地描述汉字字形,就成为一个亟待解决的问题。
〔发明目的〕本发明的宗旨在于解决上述问题。本发明的目的是提供一种汉字轮廓描述方法及实现该方法的硬件还原技术。该方法包括以下步骤
a)把每个汉字拆成多个笔划。
b)把每个笔划的边缘分成若干个光滑段。划分原则是直线与曲线分开,曲率大与曲率小的线段分开.
c)对于每个光滑段,用下列函数加以描述A+BU+CU2(0≤U≤1)P(U)= D+EU+FU2+GU3(1≤U≤2)H+IU+JU2(2≤U≤3)其中,P表示曲线上各点的位置向量,U为实参变量,A、B、C、D为系数向量,蕴涵三个分段函数之间的特殊关系。
d)在上述方法的基础上,将得到的曲线描述信息放在ROM中,用硬件电路(如ASIC芯片)实现从轮廓信息到点阵信息的还原。即CPU根据软件的要求从ROM中取出字形的轮廓信息并进行解释,然后用命令方式将其送入ASIC芯片,芯片高速还原出所需字形的点阵信息,并将其置于SRAM中由CPU取用。上述过程的示意图见图4。
本发明的目的是提供一种汉字轮廓描述方法及实现该方法的硬件还原技术。该方法包括以下步骤a)把每个汉字拆成多个笔划。
b)把每个笔划的边缘分成若干个光滑段。划分原则是直线与曲线分开,曲率大与曲率小的线段分开.
c)对于每个光滑段,用下列形式的混合样条函数描述曲线上各点A+BU+CU2(0≤U≤1)P(U)= D+EU+FU2+GU3(1≤U≤2)H+IU+JU2(2≤U≤3)其中P表示曲线上各点的位置向量;U为实参变量;A,B,...,J为系数向量,可从曲线上的三个采样点坐标值及导数值算得。
为使各段光滑连接,按以下方法确定两段曲线连接点处的导数值即取从其中一段首点到另一段末点连成直线的斜率。
d)用硬件线路(如专用集成电路芯片ASIC)实现从轮廓信息到点阵信息的还原。还原工作包括按上述算式计算笔划边缘曲线上各点坐标,勾化笔划边缘的闭合曲线,填充该笔划。该电路与其它电路的关系如图4所示,其工作过程为CPU根据软件的要求从ROM中取出字形的轮廓信息并进行解释,然后用命令方式将其送入ASIC芯片,芯片高速还原出所需字形的点阵信息,并将其置于SRAM中由CPU取用。


图1及图2表示本发明的汉字轮廓描述方法的示意图。
图3表示实现本发明的硬件线路示意图。
本发明的汉字轮廓方法包括以下步骤a)把每个汉字拆成多个笔划。
b)把每个笔划的边缘分成若干个光滑段。划分原则是直线与曲线分开,曲率大与曲率小的线段分开.
c)对于每个光滑段AB,构造下列函数描述其边缘A+BU+CU2(0≤U≤1)P(U)= D+EU+FU2+GU3(1≤U≤2)H+IU+JU2(2≤U≤3)其中,P表示曲线上各点的位置向量,分量为X,Y;U为实参变量,A,B,...,J为待定系数向量,分量为Ax,Ay;Bx,By;...;Jx,Jy。
对于Y分量,参见图1,有方程Ay+ByU+CyU2(0≤U≤1)Y(U)= Dy+EyU+FyU2+GyU3(1≤U≤2)Hy+IyU+JyU2(2≤U≤3)记Y(0)=Y0,Y(1)=Y1,Y(2)=Y2,Y(3)=Y3,Y在第1点对U的左导数为Dy1,Y在第1点对U的右导数为Dy2,Y在第2点对U的左导数为Dy3,Y在第2点对U的右导数为Dy4,则代入方程后可解出Ay=Y0By=-4Y1+5Y2-4Dy2-2Dy3Cy=-3Y2+4Y3-6Dy4Dy=-2Y0+2Y1-Dy1Ey=12Y1-12Y2+8Dy2+5Dy3Fy=4Y2-4Y3+5Dy4Gy=Y0-Y1+Dy1Hy=-9Y1+9Y2-5Dy2-4Dy3Iy=-Y2+Y3-Dy4Jy=2Y1-2Y2+Dy2+Dy3对于X分量,参见图2,有方程Ax+BxU+CxU2(0≤U≤1)X(U)= Dx+ExU+FxU2+GxU3(1≤U≤2)Hx+IxU+JxU2(2≤U≤3)记X(0)=X0,X(1)=X1,X(2)=X2,X(3)=X3,
X在第1点对U的左导数为Dx1,X在第1点对U的右导数为Dx2,X在第2点对U的左导数为Dx3,X在第2点对U的右导数为Dx4,则代入方程后可解出Ax=X0Bx=-4X1+5X2-4Dx2-2Dx3Cx=-3X2+4X3-6Dx4Dx=-2X0+2X1-Dx1Ex=12X1-12X2+8Dx2+5Dx3Fx=4X2-4X3+5Dx4Gx=X0-X1+Dx1Hx=-9X1+9X2-5Dx2-4Dx3Ix=-X2+X3-Dx4Jx=2X1-2X2+Dx2+Dx3这样就得到了描述该光滑曲线变化的参变量方程。令参量U在
区间中连续变化,即可得到该曲线上各点的坐标(X(U),Y(U))。
通常,一个汉字笔划的边缘是由多条光滑曲线相接而成的。在描述笔划的整体轮廓时如何在离散计算的条件下处理各曲线的相接点从而保证笔划边缘的光滑,则是汉字曲线轮廓字技术中的又一关键技术。参见图3,AB、BC、CD三条曲线相接。由于离散化和极限的原因,B点的导数无法在计算过程中精确求出。但为保证相接点的光滑又必须得到B点的导数值。为了解决这个矛盾,本专利作者经过大量实践找到了一种十分有效的近似方法,即用直线AC的斜率作为B点的导数值,用直线BD的斜率作为C点的导数值(见图3)。这种方法在实际应用中取得了良好的效果。
d)用硬件线路(如专用集成电路芯片ASIC)完成字形的还原。还原工作包括按上述算式计算笔划边缘曲线上各点坐标,勾化笔划边缘的闭合曲线,填充该笔划。该电路与其它电路的关系如图4所示。字形轮廓信息存于只读存储器ROM(如MASKROM)中,CPU根据软件的要求从ROM中取出字形的轮廓信息并进行解释,然后用命令方式将其送入ASIC芯片,芯片高速还原出所需字形的点阵信息,并将其置于随机存储器(如SRAM)中由CPU取用。
用本专利给出的方法描述汉字,能保证很高的信息压缩比,便于实现全整数运算。更重要的是,该方法具有极强的汉字描述能力,无论何种字体、何种字号,还原效果均十分完美。该函数的动态性能很好,便于字形的构造。总之,该方法使得轮廓汉字描述技术进入了大小统一、字形生动逼真、信息压缩比高、还原高效的新境界。使用这种方法已制作了宋、仿宋、楷、黑四种字体的曲线轮廓字字形产品,可广泛用于计算机、打印机等许多应用场合。
权利要求
1.一种描述信息处理用汉字轮廓的混合样条函数方法及实现该方法的硬件技术,该方法包括如下步骤a)把每个汉字拆成多个笔划,其特征在于b)把每个笔划的边缘分成若干个光滑段,c)对于每个光滑段,用下列形式的混合样条函数描述曲线上各点A+BU+CU2(0≤U≤1)P(U)= D+EU+FU2+GU3(1≤U≤2)H+IU+JU2(2≤U≤2)其中P表示曲线上各点的位置向量;U为实参变量;A,B,…,J为系数向量,可从曲线上的三个采样点坐标值及导数值算得。
2.根据权利要求1的方法,其特征在于按以下方法确定两段曲线连接点处的导数值即取从其中一段首点到另一段末点连成直线的斜率。
3.根据权利要求1的方法,其特征在于用硬件线路(如专用集成电路芯片ASIC)实现从轮廓信息到点阵信息的还原。还原工作包括按上述算式计算笔划边缘曲线上各点坐标,勾化笔划边缘的闭合曲线,填充该笔划。
全文摘要
本发明涉及一种描述信息处理用汉字轮廓的混合样条函数方法及实现该方法的硬件技术。该方法包括如下步骤a)把每个汉字拆成多个笔划,其特征在于b)把每个笔划的边缘分成若干个光滑段,c)对于每个光滑段,用下列形式的混合样条函数描述曲线上各点 A+BU+CUP(U)=D+EU+FU H+IU+JU其中P表示曲线上各点的位置向量;U为实参变量;A,B,…,J为系数向量,可从曲线上的三个采样点坐标值及导数值算得。
文档编号G06K9/46GK1076042SQ9310257
公开日1993年9月8日 申请日期1993年3月15日 优先权日1993年3月15日
发明者陈中欣, 张翔钧, 张建伟, 黄建新 申请人:北京市海淀区先锋电子技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1