CN101415079B - 一种将字幕对象转换为贝塞尔曲线的方法 - Google Patents

一种将字幕对象转换为贝塞尔曲线的方法 Download PDF

Info

Publication number
CN101415079B
CN101415079B CN2008102258722A CN200810225872A CN101415079B CN 101415079 B CN101415079 B CN 101415079B CN 2008102258722 A CN2008102258722 A CN 2008102258722A CN 200810225872 A CN200810225872 A CN 200810225872A CN 101415079 B CN101415079 B CN 101415079B
Authority
CN
China
Prior art keywords
bezier
caption object
caption
line segment
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2008102258722A
Other languages
English (en)
Other versions
CN101415079A (zh
Inventor
吴正斌
郑培枫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Digital Video Beijing Ltd
Original Assignee
China Digital Video Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Digital Video Beijing Ltd filed Critical China Digital Video Beijing Ltd
Priority to CN2008102258722A priority Critical patent/CN101415079B/zh
Publication of CN101415079A publication Critical patent/CN101415079A/zh
Application granted granted Critical
Publication of CN101415079B publication Critical patent/CN101415079B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明公开了一种将字幕对象转换为贝塞尔曲线的方法,属于广电行业电视节目制播机构的字幕编播技术领域。该方法针对不同类型的字幕对象进行不同的处理,将所有类型的字幕对象转换成由一次、二次或者三次贝塞尔曲线组成的包括一个或多个封闭轮廓的矢量轮廓信息,然后再将矢量轮廓信息中的一次和三次贝塞尔线段转换为二次贝塞尔线段。该方法使得字幕对象可以任意放大、缩小、旋转和变形而不影响质量,字幕渲染的效果平滑、不失真、无级缩放,还实现了造字、字符变形、字符倒影、字符反转和曲线摆放等功能,满足高级的字幕应用需求。

Description

一种将字幕对象转换为贝塞尔曲线的方法
技术领域
本发明属于广电行业电视节目制播机构的字幕编播技术领域,具体涉及一种将字幕对象转换为贝塞尔曲线的方法。
背景技术
在字幕编播领域中,字幕对象可分为文字和图形两个部分。文字包括世界上各种语种的文字,图形包括各种规则形状的图形、由基本图形元素组成的复合图形和任意不规则图形。从计算机图形学的角度来说,可以将所有类型的字幕对象视为由一系列直线和曲线组成的图形。图形通常由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几何属性组成。从处理技术上看,图形主要分为两类:一类是基于线条信息表示的,如工程图、等高线地图、曲面的线框图等;另一类是明暗图,也就是通常所说的真实感图形。
字幕渲染是计算机图形学、计算机数字图像处理与电视台的节目制作业务相结合的技术。从计算机数字图像处理的角度来说,对字幕对象的渲染包括两个方面:第一,基于像素或子像素的一系列静态处理,如图象增强、二值化处理、边缘检测、模糊处理、浮雕、边缘反走样、亮度贴图、材质贴图、防抖动、椭圆变形、多边形变形、勾边、增亮、锐化、柔化、凸起、彩色铅笔、油画龟裂、交叉影线、剪样、玻璃、边缘增亮、墨水轮廓画、瓷砖、信纸、拼缀物、塑料包装、水波纹、海绵、喷涂笔、着色玻璃、高斯模糊等特效;第二,基于关键帧的一系列动态处理,包括水波、旗飘、螺旋、扭曲、三维投影、火焰、球变、三维形变、弯曲、幻影、卷页、折叠、礼花、百叶窗、碎裂、水波、波动、划像、转球、螺旋、旗飘、波动虚影、蝶变、流光、凸镜、万花筒、激光、飞光、魔幻螺旋、运动模糊、径向模糊、波浪、波浪倒影、回旋等特效。
字幕的渲染效果是衡量一个字幕系统的重要指标,特别是在反走样处理、小字的细节处理、立体边的处理、虚边、虚影、真实三维视觉感、三维字倒角、纹理、光照的处理等方面。
在现有的字幕系统中,字幕渲染存在着以下问题:
第一,将文本字幕与图形字幕的渲染区别开来,而且不同的图形元素也使用不同性质的几何矢量来描述。这个问题在实现和应用两个方面给字幕系统带来了很多的不利。从实现的角度来说,会导致一个字幕系统中存在多个完全不同的渲染引擎和渲染流程,而且如果要支持一种新的字幕对象,则需要定义并实现新的渲染引擎,从而造成字幕系统的功能扩展性存在很大的局限性。从应用的角度来说,带来两方面致命的问题:一方面,不同类型的字幕对象最终展现的效果不一致,例如两个不同类型的字幕对象同样是加了2个像素的全边,但由于经过了不同的渲染引擎,最终的处理结果可能是不同的,在进行字幕创作时给使用者带来了诸多不便;另一方面,在字幕系统中针对字幕对象的操作不得不进行特定的限制,例如,有的字幕对象支持几何旋转、几何缩放,有的则不支持,有的字幕对象支持任意角度的加边、加影,有的则只支持固定角度的加边、加影,有的甚至不支持。所有这些问题都会影响字幕系统的普遍适用性和功能完备性。
第二,字幕渲染引擎的核心算法都是基于浮点运算,例如三角函数运算、反三角函数运算、除法运算、幂运算、开方运算等。这会导致两方面的问题:一方面,由于最终处理结果要求的是整数型的像素值,因此在渲染引擎算法的不同阶段会进行取整运算,这就会造成计算上的累计误差,导致最终的字幕效果在局部细节上存在缺陷,例如笔画多的文字模糊不清晰、笔画粘连等;另一方面,这些浮点运算都是占用大量机器指令的数学运算,大大降低了整个字幕系统的工作效率,影响到字幕制作和播出的时效性,特别是在高清晰度电视字幕的制作中,由于其数据量是标清的5倍,这一点表现的更加明显。
第三,作为字幕渲染重要指标之一的边缘反走样的效果不甚理想,甚至无法达到实用的程度。这是因为现有的字幕系统在进行反走样处理时,完全依赖当前像素空间的图像处理方法,没有字幕几何矢量信息的参与,也就无法实现基于子像素的处理,使得现有的字幕系统的最终渲染效果出现比较明显的边缘锯齿效应,影响字幕展现的效果。
由于上述同样的原因,在对字幕对象进行基于滤镜管道的图像处理时,也会影响字幕的最终效果。现有的字幕系统的渲染流程通常是先进行面边影的贴图,得到一个图像,然后将这个图像放入滤镜管道中,再进行一系列的图像处理。但是由于没有字幕几何矢量信息的参与,滤镜管道的处理会破坏前者反走样后的效果。也就是说,在本来就不理想的边缘处理上累积了新的边缘锯齿效应。
由于上述同样的原因,对于稍微复杂一些的图形元素的字幕对象,在图形拐点处出现振荡效应,导致图形轮廓不平滑。例如常用的圆角矩形对象,由四个角的圆弧与四条直线组成,在圆弧与直线相接的地方,就会出现凸凹不平的现象。
第四,一个字幕对象在进行渐变色渲染时,应该是按照这个物体的矢量轮廓进行径向的渐变色彩处理,但是在现有的字幕系统中,对渐变色的渲染处理是将渐变色放到一个内存块中,在渲染时,还是采取了对应像素贴图的方法。这就使得现有的字幕系统无法实现真正意义上的渐变色的渲染效果。
第五,现有的字幕系统无法实现增加多个外边、多个内边、多个侧面立体边、多个影子。简单的面、边、影的叠加的字幕展现已经无法满足电视节目制作对字幕系统的要求。
第六,现有的字幕系统的渲染都不是基于Bezier曲线轮廓,但是由于TrueType字库中的字模都是使用Bezier曲线来描述的,所以就需要将从字库中提取出来的Bezier曲线转换成另外一种形式的矢量,由于不同矢量表达式之间的信息不对称性,在转换过程中会出现信息的损失,从而使得笔画的形状变形,导致笔画粗细不均匀,影响字型展现的美观。
第七,现有的字幕系统无法将文字字幕对象转换为图形字幕对象,从而无法实现字符变形、字符倒影、字符反转、曲线摆放、艺术字等功能,无法满足高级的字幕应用需求。
第八,现有的字幕系统无法实现多种不同类型的加边方式,如尖角边、圆角边、方角边等,这在一定程度上影响了字幕应用的广泛性。
第九,现有的字幕系统无法实现对任意形状不规则图形的支持,从而无法应对日益重要的地理信息描述、气象预报、综合资讯等类型的字幕制作。
贝塞尔(Bezier)曲线是计算机图形学中一种重要的多项式参数曲线。平面中的任意N(N>=2)个点都可以构成一个Bezier曲线,这N个点称为Bezier曲线的控制点,N个点组成的多边形称为Bezier曲线的控制多边形。N次Bezier曲线的参数方程如下:
B ( t ) = Σ i = 0 n n i P i ( 1 - t ) n - i t i = P 0 ( 1 - t ) n + n 1 P 1 ( 1 - t ) n - 1 t + · · · + P n t n , t∈[0,1]
其中,P0、P1、...、Pn是Bezier曲线的控制点。
由此,一次Bezier曲线的参数表达式为:
B(t)=P0+(P1-P0)t=(1-t)P0+tP1,t∈[0,1]
一次Bezier曲线就是线性Bezier曲线,实际上是两个控制点P0和P1之间的直线段。
二次Bezier曲线的参数表达式为:
B(t)=(1-t)2P0+2t(1-t)P1+t2P2,t∈[0,1]
三次Bezier曲线的参数表达式为:
B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1]
P0、P1、P2、P3四个点在平面或在三维空间中定义了三次Bezier曲线。曲线起始于P0走向P1,并从P2的方向来到P3。一般不会经过P1或P2,这两个点只提供方向信息。P0和P1之间的间距,决定了曲线在转而趋进P3之前,走向P2方向的长度。
Bezier曲线具有如下特性。
(1)无限可分性:一条Bezier曲线可在任意点切割成两条或任意多条子曲线,每一条子曲线仍是Bezier曲线。
(2)对称性:保持Bezier曲线全部控制点Pi的坐标位置不变,只是将控制点Pi的排序颠倒,曲线形状保持不变。这个性质说明Bezier曲线在起点处有什么几何性质,在终点处也有相同的几何性质。
(3)凸包性:Bezier曲线位于其控制点的凸包之内。
(4)几何不变性:Bezier曲线位置和形状与其特征多边形顶点的位置有关,它不依赖坐标系的选择。
(5)变差缩减性:平面内任意直线与曲线的交点个数不多于该直线与其特征多边形的交点个数。
(6)端点切矢量:Bezier曲线的起点、终点与相应的特征多边形的起点、终点重合。其起点和终点处的切线方向和特征多边形的第一条边及最后一条边的走向一致。
发明内容
针对现有技术中存在的问题,本发明的目的是提供一种将字幕对象转换为贝塞尔曲线的方法。该方法能够将所有类型的字幕对象转换为由一次、二次或三次Bezier线段组成的包括一个或多个封闭轮廓的矢量轮廓信息,从而提高字幕的渲染效率,增强字幕的渲染效果,满足字幕的高级应用。
为达到以上目的,本发明采用的技术方案是:一种将字幕对象转换为贝塞尔曲线的方法,包括以下步骤:
(1)从当前字幕对象链表中取出一个与已取不同的字幕对象;
(2)判断字幕对象的类型,根据字幕对象的类型进行相应的处理,将字幕对象转换成由一次、二次或者三次贝塞尔线段组成的包括N个封闭轮廓的矢量轮廓信息,再将矢量轮廓信息中的一次和三次贝塞尔线段转换为二次贝塞尔线段;所述的N为正整数;
(3)根据字幕对象的旋转、变形参数,将步骤(2)中的矢量轮廓信息进行空间几何变换;
(4)重复步骤(1)至步骤(3),直到处理完当前字幕对象链表中所有的字幕对象。
如上所述的一种将字幕对象转换为贝塞尔曲线的方法,步骤(2)中所述的字幕对象的类型包括文字字幕、基本图形字幕和复合字幕,所述的复合字幕是指包括文字和基本图形的字幕。
如上所述的一种将字幕对象转换为贝塞尔曲线的方法,步骤(2)中当字幕对象的类型为文字字幕时,将其转换成矢量轮廓信息的方法包括以下步骤:
①根据文字字幕对象的字体名称,创建逻辑字体对象F;
②将逻辑字体对象F设置到操作系统的资源描述表中,并保存操作系统原来的逻辑字体;
③根据当前字符的Unicode编码,从操作系统的当前资源描述表中获取当前字符的矢量轮廓信息在TrueType字库中占用的内存字节数B;
④根据当前字符占用的内存字节数B,分配内存P;
⑤根据当前字符的Unicode编码和占用的内存P,从操作系统的当前资源描述表中获取当前字符的矢量轮廓信息G,并恢复操作系统原来的逻辑字体。
如上所述的一种将字幕对象转换为贝塞尔曲线的方法,步骤(2)中当字幕对象的类型为基本图形字幕时,将其转换成矢量轮廓信息的方法包括以下步骤:
①根据基本图形字幕的几何形状,将基本图形字幕划分成多条曲线段,所述的曲线段包括直线段、正弦或余弦曲线段、圆弧段和椭圆弧段;
②根据基本图形字幕的外接矩形、每条曲线段的参数方程计算出每条曲线段转换成三次贝塞尔线段后的起始控制点和结束控制点的坐标;
③对每条三次贝塞尔线段,根据起始控制点和结束控制点的坐标和三次贝塞尔参数方程,分别计算t=1/3和t=2/3处的另外两个控制点的坐标。
如上所述的一种将字幕对象转换为贝塞尔曲线的方法,步骤(2)中当字幕对象的类型为复合字幕时,将其转换成矢量轮廓信息的方法包括以下步骤:
①根据复合字幕对象的数据结构,将其拆分为M个基本字幕对象,所述的基本字幕对象为文字字幕对象或基本图形字幕对象,所述的N为正整数;
②分别将文字字幕对象和基本图形字幕对象转换成贝塞尔曲线,得到M个基本字幕对象的矢量轮廓信息;
③根据M个基本字幕对象的相对空间坐标,将步骤②中得到的M个矢量轮廓信息组合在一起,形成该复合字幕对象的最终矢量轮廓信息。
如上所述的一种将字幕对象转换为贝塞尔曲线的方法,步骤(3)中所述的根据字幕对象的旋转、变形参数,将步骤(2)中的矢量轮廓信息进行空间几何变换的方法包括以下步骤:
假设字幕对象的旋转角度为A,控制点个数为n,分别为P[0]至P[n-1],所述的n为正整数;
①根据字幕对象的外接矩形的四个顶点坐标计算基本字幕对象的中心点Q的坐标;
②按照如下公式修正旋转后的P[i]的坐标,0≤i≤n,i为正整数;
x=P[i].x-Q.x,
y=P[i].y-Q.y,
P[i].x=Q.x+x*cos(A)-y*sin(A),
P[i].y=Q.y+x*sin(A)+y*cos(A);
其中,P[i].x和P[i].y分别为P[i]点横、纵坐标,Q.x和Q.y分别为Q点的横、纵坐标。
如上所述的一种将字幕对象转换为贝塞尔曲线的方法,其中,将字幕对象矢量轮廓信息中的一次和三次贝塞尔线段转换为二次贝塞尔线段的方法包括以下步骤:
①遍历矢量轮廓信息,取出一个与已取不同的封闭轮廓G;
②遍历封闭轮廓G,取出一个与已取不同的贝塞尔线段B;
③判断贝塞尔线段B是几次贝塞尔线段,如果是一次或者三次贝塞尔线段,则将其转换为二次贝塞尔线段;
④重复步骤②至步骤③,直到处理完封闭轮廓G中所有的贝塞尔线段;
⑤重复步骤①至步骤④,直到处理完矢量轮廓信息中所有的封闭轮廓。
如上所述的一种将字幕对象转换为贝塞尔曲线的方法,步骤③中将一次贝塞尔线段转换为二次贝塞尔线段的方法为:假设一次贝塞尔线段的前后两个控制点分别为R0和R1,将R0和R1分别作为二次贝塞尔线段的第一个控制点和第三个控制点,将R0和R1的中点作为二次贝塞尔线段的第二个控制点。
如上所述的一种将字幕对象转换为贝塞尔曲线的方法,步骤③中将三次贝塞尔线段转换为二次贝塞尔线段的方法为:将一条三次贝塞尔线段转换为两条二次贝塞尔线段;
假设三次贝塞尔线段的控制点分别为R0、R1、R2和R3;Q1为R0和R1的中点,Q1.x=(R0.x+R1.x)/2,Q1.y=(R0.y+R1.y)/2;Q2是R2和R3的中点,Q2.x=(R2.x+R3.x)/2,Q2.y=(R2.y+R3.y)/2;Q3是R1和R2的中点,Q3.x=(R1.x+R2.x)/2,Q3.y=(R1.y+R2.y)/2;Q4是Q1和Q3的中点,Q4.x=(Q1.x+Q3.x)/2,Q4.y=(Q1.y+Q3.y)/2;Q5是Q2和Q3的中点,Q5.x=(Q2.x+Q3.x)/2,Q5.y=(Q2.y+Q3.y)/2;Q6是Q4和Q5的中点,Q6.x=(Q4.x+Q5.x)/2,Q6.y=(Q4.y+Q5.y)/2;Q7是Q4和Q5构成的直线与R0和R1构成直线的交点,Q7.x=(3*Q1.x+3*Q4.x-R0.x-Q6.x)/4,Q7.y=(3*Q1.y+3*Q4.y-R0.y-Q6.y)/4;Q8是Q4和Q5构成的直线与R2和R3构成直线的交点,Q8.x=(3*Q2.x+3*Q5.x-R3.x-Q6.x)/4,Q8.y=(3*Q2.y+3*Q5.y-R3.y-Q6.y)/4;
将三次贝塞尔线段在Q6点处分成两条二次贝塞尔线段,其中一条二次贝塞尔线段的三个控制点分别为R0,Q7,Q6,另一条贝塞尔线段的三个控制点分别为Q6,Q8,R3。
本发明所述的方法,由于Bezier曲线的诸多特性,因此将其应用于字幕系统中具有如下优点。
(1)对于文字类型的字幕对象,可以直接使用操作系统的TrueType字库,无须转换,确保字型与操作系统的字型一致。而且TrueType字体采用直线和二次Bezier曲线来描述字符的轮廓,结合了光栅技术和矢量技术的优点,克服了以往所有字体的缺点,字体可以任意放大、缩小、旋转和变形而不会影响输出质量,提供了真正的设备无关性。二次Bezier曲线既能保证轮廓曲线的光滑性,又有利于提高字形还原速度。
(2)Bezier曲线可以用来表达一个字幕系统中所有的图形元素。包括各种规则形状的图形、由基本图形元素组成的复合图形和任意不规则图形。
(3)根据Bezier曲线的凸包特性,可以很简单快捷的计算出来一个字幕对象的外接矩形,方便了字幕的后续处理。
(4)根据Bezier曲线的几何不变性,解决了点坐标和象素之间的相互转换问题,从而保证了在不同输出设备上不出现变形等问题。
(5)Bezier曲线的无限可分性、对称性、变差缩减性,对于后续的基于Bezier曲线轮廓的渲染引擎算法处理提供了很多的方便性和简易性。
(6)将字符转换为Bezier曲线,在字幕系统中便可以实现造字功能,从而无须通过第三方的造字工具。还可以实现字符变形、字符倒影、字符反转、曲线摆放等功能,满足了高级的字幕应用需求。
附图说明
图1是本发明所述的方法流程图;
图2是具体实施方式中将文字字幕对象转换为矢量轮廓信息的流程图;
图3是具体实施方式中将字幕对象矢量轮廓信息中的一次和三次Bezier线段转换为二次Bezier线段的流程图;
图4是具体实施方式中将椭圆图元转换成由三次Bezier线段组成的封闭轮廓示意图;
图5是具体实施方式中将波浪旗飘图元转换成由三次Bezier线段组成的封闭轮廓示意图;
图6是具体实施方式中将心形图元转换成三次Bezier线段组成的封闭轮廓示意图;
图7是一次Bezier线段转换成二次贝塞尔线段示意图,7a为转换前的一次Bezier线段示意图,7b为转换后的二次Bezier线段示意图;
图8是三次Bezier线段转换成两条二次Bezier线段示意图,8a一种三次Bezier线段转换前后的对比示意图,8b是另一种三次Bezier线段转换前后的对比示意图。
具体实施方式
下面结合具体实施方式和附图对本发明进行详细描述。
图1出示了本发明所述的将字幕对象转换为贝塞尔曲线的方法流程,主要包括以下步骤。
(1)从当前字幕对象链表中取出一个与已取不同的字幕对象。
(2)判断字幕对象的类型,根据字幕对象的类型进行相应的处理,将字幕对象转换成由一次、二次或者三次Bezier线段组成的包括N(N为正整数)个封闭轮廓的矢量轮廓信息。
字幕对象的类型包括文字字幕、基本图形字幕和复合字幕。复合字幕是指包括文字和基本图形的字幕。
如果字幕对象的类型为文字字幕,则可以直接使用操作系统的TrueType字库,无需转换。图2出示了获取文字字幕在TrueType字库中的矢量轮廓信息的方法流程,包括以下步骤:
a.根据文字字幕对象的字体名称,使用操作系统提供的API(CreateFont)创建逻辑字体对象F;
b.使用操作系统提供的API(SelectObject),将逻辑字体对象F设置到操作系统的资源描述表中,并保存操作系统原来的逻辑字体;
c.根据当前字符的Unicode编码,使用操作系统提供的API(GetGlyphOutline),从操作系统的当前资源描述表中获取当前字符的矢量轮廓信息在TrueType字库中占用的内存字节数B;
d.根据当前字符占用的内存字节数B,分配内存P;
e.根据当前字符的Unicode编码和占用的内存P,再次使用操作系统提供的API(GetGlyphOutline),从操作系统当前资源描述表中获取当前字符的矢量轮廓信息G,并恢复操作系统原来的逻辑字体。
如果字幕对象的类型为基本图形字幕,则将其转换成由若干条三次贝塞尔线段组成的封闭轮廓的矢量轮廓信息,主要是根据基本图形的几何参数确定每条贝塞尔线段上的控制点坐标,具体包括以下步骤:
①根据基本图形字幕的几何形状,将基本图形字幕划分成多条曲线段,所述的曲线段包括直线段、正弦或余弦曲线段、圆弧段和椭圆弧段;
②根据基本图形字幕的外接矩形、每条曲线段的参数方程计算出每条曲线段转换成三次贝塞尔线段后的起始控制点和结束控制点的坐标;
③对每条三次贝塞尔线段,根据起始控制点和结束控制点的坐标和三次贝塞尔参数方程,分别计算t=1/3和t=2/3处的另外两个控制点的坐标。
以基本图形字幕为椭圆图元为例,如图4所示。首先,根据椭圆图元与其外接矩形的四个交点P400、P403、P406和P409将其分成四条曲线段,分别为从P400到P403、从P403到P406、从P406到P409和从P409到P400。将每条曲线段转换成三次贝塞尔曲线后,从P400到P403的三次贝塞尔线段的四个控制点分别为P400、P401、P402和P403,从P403到P406的三次贝塞尔线段的四个控制点分别为P403、P404、P405和P406,从P406到P409的三次贝塞尔线段的四个控制点分别为P406、P407、P408和P409,从P409到P400的三次贝塞尔线段的四个控制点分别为P409、P410、P411和P400。
然后,根据椭圆图元的外接矩形的四个顶点坐标计算出椭圆中心点的坐标(a,b)、横轴半径ra和纵轴半径rb。每条三次贝塞尔线段的各个控制点坐标的计算公式如下:
令PinA=ra*0.55179445,PinB=rb*0.55179445;
P400.x=a,          P400.y=b+rb;
P401.x=a+PinA;     P401.y=b+rb;
P402.x=a+ra;       P402.y=b+PinB;
P403.x=a+ra;       P403.y=b;
P404.x=a+ra;       P404.y=b-PinB;
P405.x=a+PinA;     P405.y=b-rb;
P406.x=a;          P406.y=b-rb;
P407.x=a-PinA;     P407.y=b-rb;
P408.x=a-ra;       P408.y=b-PinB;
P409.x=a-ra;       P409.y=b;
P410.x=a-ra;       P410.y=b+PinB;
P411.x=a-PinA;     P411.y=b+rb。
其中,P400.x表示P400点的横坐标,P400.y表示P400点的纵坐标。本实施方式中,其他类似的表示方式的含义与P400相同。
以基本图形字幕为波浪旗飘图元为例,如图5所示。首先,根据两条曲线段与两条直线段的四个交点P500、P503、P506和P509将其分成四条曲线段,分别为从P500到P503、从P503到P506、从P506到P509和从P509到P500。将每条曲线段转换成三次贝塞尔曲线后,从P500到P503的三次贝塞尔线段的四个控制点分别为P500、P501、P502和P503,从P503到P506的三次贝塞尔线段的四个控制点分别为P503、P504、P505和P506,从P506到P509的三次贝塞尔线段的四个控制点分别为P506、P507、P508和P509,从P509到P500的三次贝塞尔线段的四个控制点分别为P509、P510、P511和P500。
已知波浪旗飘形图元的外接矩形的四点坐标,可以计算出该图元外接矩形的宽度和高度,分别为W5和H5。此外,根据已知的调节波浪旗飘图元的水平和垂直幅度的参数fx和fy,可以计算出来P500点的坐标为(a,b),a=fx*W,b=fy*H。
每条三次贝塞尔线段上控制点坐标的计算过程包括以下步骤。
(a)基于正弦曲线方程,根据P500点坐标计算出P503点坐标。
P503.x=W5;
P503.y=b+b*0.9*sin((W5-a)*2*PI/W5)。
(b)以P500点为起点,以P503点为终点,根据三次贝塞尔曲线方程,分别计算t=1/3和t=2/3处的P501点和P502点的坐标。
P501.x=((m1*c2-m2*c1)-(a1*c2-a2*c1)*P500.x-(d1*c2-c1*d2)*P503.x)/(b1*c2-b2*c1)。
P502.x=((m1*b2-m2*b1)-(a1*b2-a2*b1)*P500.x-(d1*b2-d2*b1)*P503.x)/(c1*b2-c2*b1)。
其中,m1=a+(W5-a)/3,m2=a+(W5-a)*2/3;t1=1.0/3,t2=2.0/3;
a1=(1-t1)*(1-t1)*(1-t1);
b1=3*t1*(1-t1)*(1-t1);
c1=3*t1*t1*(1-t1);
d1=t1*t1*t1
a2=(1-t2)*(1-t2)*(1-t2);
b2=3*t2*(1-t2)*(1-t2);
c2=3*t2*t2*(1-t2);
d2=t2*t2*t2
P501.y=((n1*c2-n2*c1)-(a1*c2-a2*c1)*P500.y-(d1*c2-c1*d2)*P503.y)/(b1*c2-b2*c1)。
P502.y=((n1*b2-n2*b1)-(a1*b2-a2*b1)*P500.y-(d1*b2-d2*b1)*P503.y)/(c1*b2-c2*b1)。
其中,n1=b-b*0.9*sin((W5-a)*2*PI/(3*W5)),
n2=b-b*0.9*sin((W5-a)*2*PI*2/(3*W5))。
(c)基于正弦曲线方程,根据P500点坐标计算出P506点坐标。
P506.x=W5-a;
P506.y=H5-b-b*0.9*sin((W5-a)*2*PI/W5)
(d)计算P509点坐标。
P509.x=0;
P509.y=H5-b
(e)以P506点为起点,以P509点为终点,根据三次贝塞尔曲线方程,分别计算t=1/3和t=2/3处的P507点和P508点坐标,计算方法与计算P501点、P502点的坐标相同。
(f)P504点坐标等于P503点坐标,P505点坐标等于P506点坐标,P510点坐标等于P509点坐标,P511点坐标等于P500点坐标。之所以要重复这几个点,是为了使得该字幕对象的封闭矢量轮廓信息中的每条贝塞尔线段都是三次贝塞尔线段。实际上,由控制点P503、P504、P 505、P506形成的三次贝塞尔线段,以及由控制点P509、P510、P511、P500形成的三次贝塞尔线段是一条直线段。
最后,获得的字幕对象的矢量轮廓信息由四条三次贝塞尔线段组成,分别为是由控制点(P500、P501、P502、P503)形成的三次贝塞尔线段,由控制点(P503、P504、P505、P506)形成的三次贝塞尔线段,由控制点(P506、P507、P508、P509)形成的三次贝塞尔线段,以及由控制点(P509、P510、P511、P512)形成的三次贝塞尔线段。
以基本图形字幕为心形图元为例,如图6所示。已知心形图元的外接矩形的四个顶点坐标,可以计算出该图元的宽度和高度,分别为W6和H6。首先将该图元分成8条曲线段,分别为从P600到P603、从P603到P606、从P606到P609、从P609到P612、从P612到P615、从P615到P618、P618到P620,从P620到P600。将每条曲线段转换成三次贝塞尔线段后各个控制点坐标的计算过程包括以下步骤。
(i)首先根据心形图元的形状特点,计算点P600、P603、P606和P609的坐标。
P600.x=0.73*W6+0.27*W6*cos(A),
P600.y=0.25*H6-0.25*H6*sin(A);
P603.x=0.73*W6+0.27*W6*cos(PI/3+A),
P603.y=0.25*H6-0.25*H6*sin(PI/3+A);
P606.x=0.73*W6+0.27*W6*cos(2*PI/3+A),
P606.y=0.25*H6-0.25*H6*sin(2*PI/3+A);
P609.x=0.73*W6+0.27*W6*cos(PI+A),
P609.y=0.25*H6-0.25*H6*sin(PI+A)。
其中PI和A为常数,PI=3.1415926,A=-0.5535442。
(ii)利用三次贝塞尔曲线方程,以P600点为起点,以P603点为终点,分别计算t=1/3和t=2/3处的P601点和P602点的坐标。三次贝塞尔曲线方程的矩阵形式如下:
P ( t ) = t 3 t 2 t 1 2 - 2 1 1 - 3 3 - 2 - 1 0 0 1 0 1 0 0 0 P 0 P 1 P 2 P 3 t∈[0,1]
X ( t ) = t 3 t 2 t 1 2 - 2 1 1 - 3 3 - 2 - 1 0 0 1 0 1 0 0 0 X 0 X 1 X 2 X 3 t∈[0,1]
Y ( t ) = t 3 t 2 t 1 2 - 2 1 1 - 3 3 - 2 - 1 0 0 1 0 1 0 0 0 Y 0 Y 1 Y 2 Y 3 t∈[0,1]
将上面矩阵展开后,得到:
X(t)=A0+A1*t+A2*t2+A3*t3
Y(t)=B0+B1*t+B2*t2+B3*t3
其中,A0=X0;A1=-3X0+3X1;A2=3X0-6X1+3X2;A3=-X0+3X1-3X2+X3;B0=Y0;B1=-3Y0+3Y1;B2=3Y0-6Y1+3Y2;B3=-Y0+3Y1-3Y2+Y3
由于P600点和P603点的坐标X0、X3、Y0、Y3已知,P601点的t值为1/3,P602点的t值为2/3,因此可以列出一个如下四元一次方程组:
X1=A0+A1*(1/3)+A2*(1/3)2+A3*(1/3)3
Y1=B0+B1*(1/3)+B2*(1/3)2+B3*(1/3)3
X2=A0+A1*(2/3)+A2*(2/3)2+A3*(2/3)3
Y2=B0+B1*(2/3)+B2*(2/3)2+B3*(2/3)3
解该方程组,即可得到P601和P602点的坐标X1、X2、Y1、Y2的值。
(iii)利用三次Bezier参数方程,以P603点为起点,以P606点为终点,分别计算t=1/3和t=2/3处的P604点和P605点的坐标。方法与第③步中求P601、P602的坐标相同,不再赘述。
(iv)利用三次Bezier参数方程,以P606点为起点,以P609点为终点,分别计算t=1/3和t=2/3处的P607点和P608点的坐标。方法与第③步中求P601、P602的坐标相同,不再赘述。
(v)根据心形图元的左右对称性,可以得到P611、P612、P613、P614、P615、P616、P617和P618的坐标。
(vi)P620点的坐标为(W/2,H)。
(vii)P623、P624点的坐标等于P600点,P619点的坐标等于P618点,P621、P622点的坐标等于P620点。
最后,得到8条三次贝塞尔线段组成的矢量轮廓信息。这8条三次贝塞尔线段如下:
第一条线段由控制点(P600、P601、P602、P603)形成的三次贝塞尔线段;
第二条线段由控制点(P603、P604、P605、P606)形成的三次贝塞尔线段;
第三条线段由控制点(P606、P607、P608、P609)形成的三次贝塞尔线段;
第四条线段由控制点(P609、P610、P611、P612)形成的三次贝塞尔线段;
第五条线段由控制点(P612、P613、P614、P615)形成的三次贝塞尔线段;
第六条线段由控制点(P615、P616、P617、P618)形成的三次贝塞尔线段;
第七条线段由控制点(P618、P619、P620、P621)形成的三次贝塞尔线段(由于P618、P619的坐标相同,P620、P621的坐标相同,因此这条线段实际上是一条直线段);
第八条线段由控制点(P621、P622、P623、P624)形成的三次贝塞尔线段(由于P621、P622的坐标相同,P623、P624的坐标相同,因此这条线段实际上是一条直线段)。
对于其他类型的基本图形字幕对象,可以按照同样的思想,将其转换为由一次、二次或者三次Bezier线段组成的封闭轮廓。
如果字幕对象的类型为复合字幕,则将其转换成矢量轮廓信息的方法包括以下步骤:
a.根据复合字幕对象的数据结构,将其拆分为M个基本字幕对象,所述的基本字幕对象为文字字幕对象或基本图形字幕对象,所述的M为正整数;
b.分别将文字字幕对象和基本图形字幕对象转换成由一次、二次或三次贝塞尔线段组成的封闭轮廓,得到M个基本字幕对象的矢量轮廓信息;
c.根据M个基本字幕对象的相对空间坐标,将步骤b中得到的M个矢量轮廓信息组合在一起,形成该复合字幕对象的最终矢量轮廓信息。
(3)根据字幕对象的旋转、变形参数,将步骤(2)中的矢量轮廓信息进行空间几何变换。
假设字幕对象的旋转角度为A,基本字幕对象的控制点个数为n(n为正整数),分别为P[0]至P[n-1],则对一个基本字幕对象进行空间几何变换的过程包括以下步骤。
a.根据基本字幕对象的外接矩形的四个顶点坐标计算基本字幕对象的中心点Q的坐标。
b.按照如下公式修正旋转后的P[i](0≤i≤n,i为正整数)的坐标:
x=P[i].x-Q.x,
y=P[i].y-Q.y,
P[i].x=Q.x+x*cos(A)-y*sin(A),
P[i].y=Q.y+x*sin(A)+y*cos(A);
其中,P[i].x和P[i].y分别为P[i]点横、纵坐标,Q.x和Q.y分别为Q点的横、纵坐标。
(4)重复步骤(1)至步骤(3),直到处理完当前字幕对象链表中所有的字幕对象。
在将字幕对象转换成由一次、二次或三次贝塞尔线段组成的包含一个或多个封闭轮廓的矢量轮廓信息后,为了使渲染引擎在算法处理上的一致性,降低算法的复杂度,优化算法的效率,还需要将这些不同次数的Bezier线段统一转换为二次贝塞尔线段。
图3出示了将字幕对象矢量轮廓信息中的一次和三次Bezier线段转换为二次Bezier线段的方法流程,包括以下步骤:
①遍历矢量轮廓信息,取出一个与已取不同的封闭轮廓G;
②遍历封闭轮廓G,取出一个与已取不同的Bezier线段B;
③判断Bezier线段B是几次Bezier线段,如果是一次或者三次Bezier线段,则将其转换为二次Bezier线段;
④重复步骤②至步骤③,直到处理完封闭轮廓G中所有的Bezier线段;
⑤重复步骤①至步骤④,直到处理完矢量轮廓信息中所有的封闭轮廓。
一次Bezier线段转换为二次Bezier线段的原理为:将一次Bezier线段的前后两个控制点R0和R1作为二次Bezier线段的第一和第三个控制点,R0和R1的中点作为二次Bezier线段的第二个控制点。
图7是一次Bezier线段转换为二次Bezier线段示意图,7a为转换前的一次Bezier线段,7b为转换后的二次Bezier线段。其中,P70=R70,P72=R71,P71=(R70和R71的中点),即P71.x=(R70.x+R71.x)/2;P71.y=(R70.y+R71.y)/2。
三次Bezier线段转换为二次Bezier线段的原理为:将一条三次Bezier线段转换成两条二次Bezier线段。
图8中的8a和8b分别是将三次Bezier线段转换为两条二次Bezier线段的两种情况示意图。假设一个三次Bezier线段的控制点分别为R80、R81、R82、R83。Q1是R80和R81的中点,Q2是R82和R83的中点,Q3是R81和R82的中点,Q4是Q1和Q3的中点,Q5是Q2和Q3的中点,Q6是Q4和Q5的中点,Q7是Q4和Q5构成的直线与R0和R1构成直线的交点,Q8是Q4和Q5构成的直线与R82和R83构成直线的交点。
根据R80、R81、R82、R83四点的坐标以及Bezier参数方程计算出Q1、Q2、Q3、Q4、Q5、Q6、Q7、Q8的坐标如下:
Q1.x=(R80.x+R81.x)/2,Q1.y=(R80.y+R81.y)/2;
Q2.x=(R82.x+R83.x)/2,Q2.y=(R82.y+R83.y)/2;
Q3.x=(R81.x+R82.x)/2,Q3.y=(R81.y+R82.y)/2;
Q4.x=(Q1.x+Q3.x)/2,  Q4.y=(Q1.y+Q3.y)/2;
Q5.x=(Q2.x+Q3.x)/2,  Q5.y=(Q2.y+Q3.y)/2;
Q6.x=(Q4.x+Q5.x)/2,  Q6.y=(Q4.y+Q5.y)/2;
Q7.x=(3*Q1.x+3*Q4.x-R0.x-Q6.x)/4,
Q7.y=(3*Q1.y+3*Q4.y-R0.y-Q6.y)/4;
Q8.x=(3*Q2.x+3*Q5.x-R3.x-Q6.x)/4,
Q8.y=(3*Q2.y+3*Q5.y-R3.y-Q6.y)/4。
将原来的三次Bezier线段在Q6点处分成两条二次Bezier线段,一条Bezier线段的三个控制点分别为R80,Q7,Q6,另一条Bezier线段的三个控制点分别为Q6,Q8,R83。
本发明所述的方法并不限于上述具体实施方式,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。

Claims (9)

1.一种将字幕对象转换为贝塞尔曲线的方法,包括以下步骤:
(1)从当前字幕对象链表中取出一个与已取不同的字幕对象;
(2)判断字幕对象的类型,根据字幕对象的类型进行相应的处理,将字幕对象转换成由一次、二次或者三次贝塞尔线段组成的包括N个封闭轮廓的矢量轮廓信息,再将矢量轮廓信息中的一次和三次贝塞尔线段转换为二次贝塞尔线段;所述的N为正整数;
(3)根据字幕对象的旋转、变形参数,将步骤(2)中的矢量轮廓信息进行空间几何变换;
(4)重复步骤(1)至步骤(3),直到处理完当前字幕对象链表中所有的字幕对象。
2.如权利要求1所述的一种将字幕对象转换为贝塞尔曲线的方法,其特征在于:步骤(2)中所述的字幕对象的类型包括文字字幕、基本图形字幕和复合字幕,所述的复合字幕是指包括文字和基本图形的字幕。
3.如权利要求2所述的一种将字幕对象转换为贝塞尔曲线的方法,其特征在于,步骤(2)中当字幕对象的类型为文字字幕时,将其转换成矢量轮廓信息的方法包括以下步骤:
①根据文字字幕对象的字体名称,创建逻辑字体对象F;
②将逻辑字体对象F设置到操作系统的资源描述表中,并保存操作系统原来的逻辑字体;
③根据当前字符的Unicode编码,从操作系统的当前资源描述表中获取当前字符的矢量轮廓信息在TrueType字库中占用的内存字节数B;
④根据当前字符占用的内存字节数B,分配内存P;
⑤根据当前字符的Unicode编码和占用的内存P,从操作系统的当前资源描述表中获取当前字符的矢量轮廓信息G,并恢复操作系统原来的逻辑字体。
4.如权利要求2所述的一种将字幕对象转换为贝塞尔曲线的方法,其特征在于,步骤(2)中当字幕对象的类型为基本图形字幕时,将其转换成矢量轮廓信息的方法包括以下步骤:
①根据基本图形字幕的几何形状,将基本图形字幕划分成多条曲线段,所述的曲线段包括直线段、正弦或余弦曲线段、圆弧段和椭圆弧段;
②根据基本图形字幕的外接矩形、每条曲线段的参数方程计算出每条曲线段转换成三次贝塞尔线段后的起始控制点和结束控制点的坐标;
③对每条三次贝塞尔线段,根据起始控制点和结束控制点的坐标和三次贝塞尔参数方程,分别计算t=1/3和t=2/3处的另外两个控制点的坐标;
所述三次贝塞尔方程如下:
B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1]
其中,P0、P1、P2、P3是三次贝塞尔曲线的四个控制点。
5.如权利要求2所述的一种将字幕对象转换为贝塞尔曲线的方法,其特征在于,步骤(2)中当字幕对象的类型为复合字幕时,将其转换成矢量轮廓信息的方法包括以下步骤:
①根据复合字幕对象的数据结构,将其拆分为M个基本字幕对象,所述的基本字幕对象为文字字幕对象或基本图形字幕对象,所述的M为正整数;
②分别将文字字幕对象和基本图形字幕对象转换成贝塞尔曲线,得到M个基本字幕对象的矢量轮廓信息;
③根据M个基本字幕对象的相对空间坐标,将步骤②中得到的M个矢量轮廓信息组合在一起,形成该复合字幕对象的最终矢量轮廓信息。
6.如权利要求1所述的一种将字幕对象转换为贝塞尔曲线的方法,其特征在于,步骤(3)中所述的根据字幕对象的旋转、变形参数,将步骤(2)中的矢量轮廓信息进行空间几何变换的方法包括以下步骤:
假设字幕对象的旋转角度为A,控制点个数为n,分别为P[0]至P[n-1],所述的n为正整数;
①根据字幕对象的外接矩形的四个顶点坐标计算基本字幕对象的中心点Q的坐标;
②按照如下公式修正旋转后的P[i]的坐标,0≤i≤n,i为正整数;
x=P[i].x-Q.x,
y=P[i].y-Q.y,
P[i].x=Q.x+x*cos(A)-y*sin(A),
P[i].y=Q.y+x*sin(A)+y*cos(A);
其中,P[i].x和P[i].y分别为P[i]点横、纵坐标,Q.x和Q.y分别为Q点的横、纵坐标。
7.如权利要求1所述的一种将字幕对象转换为贝塞尔曲线的方法,其特征在于,将字幕对象矢量轮廓信息中的一次和三次贝塞尔线段转换为二次贝塞尔线段的方法包括以下步骤:
①遍历矢量轮廓信息,取出一个与已取不同的封闭轮廓G;
②遍历封闭轮廓G,取出一个与已取不同的贝塞尔线段B;
③判断贝塞尔线段B是几次贝塞尔线段,如果是一次或者三次贝塞尔线段,则将其转换为二次贝塞尔线段;
④重复步骤②至步骤③,直到处理完封闭轮廓G中所有的贝塞尔线段;
⑤重复步骤①至步骤④,直到处理完矢量轮廓信息中所有的封闭轮廓。
8.如权利要求7所述的一种将字幕对象转换为贝塞尔曲线的方法,其特征在于,步骤③中将一次贝塞尔线段转换为二次贝塞尔线段的方法为:假设一次贝塞尔线段的前后两个控制点分别为R0和R1,将R0和R1分别作为二次贝塞尔线段的第一个控制点和第三个控制点,将R0和R1的中点作为二次贝塞尔线段的第二个控制点。
9.如权利要求7所述的一种将字幕对象转换为贝塞尔曲线的方法,其特征在于,步骤③中将三次贝塞尔线段转换为二次贝塞尔线段的方法为:将一条三次贝塞尔线段转换为两条二次贝塞尔线段;
假设三次贝塞尔线段的控制点分别为R0、R1、R2和R3;Q1为R0和R1的中点,Q1.x=(R0.x+R1.x)/2,Q1.y=(R0.y+R1.y)/2;Q2是R2和R3的中点,Q2.x=(R2.x+R3.x)/2,Q2.y=(R2.y+R3.y)/2;Q3是R1和R2的中点,Q3.x=(R1.x+R2.x)/2,Q3.y=(R1.y+R2.y)/2;Q4是Q1和Q3的中点,Q4.x=(Q1.x+Q3.x)/2,Q4.y=(Q1.y+Q3.y)/2;Q5是Q2和Q3的中点,Q5.x=(Q2.x+Q3.x)/2,Q5.y=(Q2.y+Q3.y)/2;Q6是Q4和Q5的中点,Q6.x=(Q4.x+Q5.x)/2,Q6.y=(Q4.y+Q5.y)/2;Q7是Q4和Q5构成的直线与R0和R1构成直线的交点,Q7.x=(3*Q1.x+3*Q4.x-R0.x-Q6.x)/4,Q7.y=(3*Q1.y+3*Q4.y-R0.y-Q6.y)/4;Q8是Q4和Q5构成的直线与R2和R3构成直线的交点,Q8.x=(3*Q2.x+3*Q5.x-R3.x-Q6.x)/4,Q8.y=(3*Q2.y+3*Q5.y-R3.y-Q6.y)/4;
将三次贝塞尔线段在Q6点处分成两条二次贝塞尔线段,其中一条二次贝塞尔线段的三个控制点分别为R0,Q7,Q6,另一条贝塞尔线段的三个控制点分别为Q6,Q8,R3。
CN2008102258722A 2008-11-04 2008-11-04 一种将字幕对象转换为贝塞尔曲线的方法 Expired - Fee Related CN101415079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102258722A CN101415079B (zh) 2008-11-04 2008-11-04 一种将字幕对象转换为贝塞尔曲线的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102258722A CN101415079B (zh) 2008-11-04 2008-11-04 一种将字幕对象转换为贝塞尔曲线的方法

Publications (2)

Publication Number Publication Date
CN101415079A CN101415079A (zh) 2009-04-22
CN101415079B true CN101415079B (zh) 2010-09-01

Family

ID=40595365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102258722A Expired - Fee Related CN101415079B (zh) 2008-11-04 2008-11-04 一种将字幕对象转换为贝塞尔曲线的方法

Country Status (1)

Country Link
CN (1) CN101415079B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8854375B2 (en) * 2010-10-19 2014-10-07 Dynacomware Taiwan Inc. Method and system for generating gray dot-matrix font from binary dot-matrix font
CN102752520A (zh) * 2011-05-17 2012-10-24 新奥特(北京)视频技术有限公司 一种二维字幕的多边形方式变形方法及系统
CN102724419B (zh) * 2011-05-17 2014-12-10 新奥特(北京)视频技术有限公司 一种二维字幕的振幅方式变形方法及系统
CN102724444B (zh) * 2011-05-17 2015-04-22 新奥特(北京)视频技术有限公司 一种二维字幕的四方物方式变形方法及系统
CN102724443B (zh) * 2011-05-17 2014-11-05 新奥特(北京)视频技术有限公司 一种二维字幕的卷页方式的变形方法及系统
CN103578450B (zh) * 2012-07-31 2016-02-03 国民技术股份有限公司 一种字符显示方法、字符显示装置及安全认证装置
CN104461483A (zh) * 2013-09-16 2015-03-25 北大方正集团有限公司 一种字体渲染的方法、装置、渲染平台客户端和服务器
CN103631762B (zh) * 2013-11-15 2018-12-25 新奥特(北京)视频技术有限公司 一种立体字棱台特效的渲染方法及装置
CN105376593B (zh) * 2014-09-01 2019-09-20 腾讯科技(北京)有限公司 一种信息处理方法、终端及系统
CN107631734A (zh) * 2017-07-21 2018-01-26 南京邮电大学 一种基于D*_lite算法的动态平滑路径规划方法
CN109544658B (zh) * 2017-09-21 2022-03-25 腾讯科技(深圳)有限公司 地图的渲染方法和装置、存储介质、电子装置
CN109064525B (zh) * 2018-08-20 2023-05-09 广州视源电子科技股份有限公司 一种图片格式转换方法、装置、设备和存储介质
CN111444675B (zh) * 2020-03-12 2022-08-16 稿定(厦门)科技有限公司 文字圆角化处理方法、介质、设备及装置
CN111460761B (zh) * 2020-03-20 2022-07-01 稿定(厦门)科技有限公司 文字变形方法、介质、设备及装置

Also Published As

Publication number Publication date
CN101415079A (zh) 2009-04-22

Similar Documents

Publication Publication Date Title
CN101415079B (zh) 一种将字幕对象转换为贝塞尔曲线的方法
CN101465973B (zh) 基于曲线轮廓封闭环域和像素掩码矩阵的字幕渲染方法
CN101764945B (zh) 一种基于贝塞尔曲线封闭轮廓的字幕渲染方法
CN101764943B (zh) 根据交点分割字幕对象矢量轮廓中二次贝塞尔曲线的方法
US6504537B1 (en) System, method and article of manufacture for fractional tessellation during graphics processing
KR100219072B1 (ko) 중심축 변환을 이용한 폰트 및 그 폰트 서체의 변형 및 라스터라이징 방식
JP2007241878A (ja) 描画装置、描画方法及び描画プログラム
EP1642261B1 (en) Method and apparatus for determining an antialiased intensity of a component of a pixel from a two-dimensional adaptively distance field
Eck Introduction to Computer Graphics
CN101764946B (zh) 一种将字幕对象的矢量轮廓离散化为直线段的方法
CN107038729B (zh) 一种基于OpenGL-ES的数字仪表盘绘制方法
Irving et al. Developing fractal curves
CN101764940B (zh) 一种基于像素空间掩码矩阵模型的字幕渲染方法
JP2006521628A (ja) 2次元オブジェクトの隅に関連するセル内に2次元距離フィールドを生成する方法
CN101764939B (zh) 一种基于像素空间掩码矩阵的纹理贴图方法
CN101764948B (zh) 一种字幕对象矢量轮廓中自相交封闭轮廓的分割方法
JP2006521626A (ja) ペンストロークから2次元距離フィールドを生成する方法
JP2006521624A (ja) 2次元オブジェクトを2次元距離フィールドに変換する方法
CN101764938B (zh) 一种基于相邻四像素等高线距离的边缘反走样处理方法
US7916141B2 (en) Image processing system using vector pixel
CN101764947B (zh) 一种将字幕对象矢量轮廓中的多边形加内外边的方法
CN101764944B (zh) 根据内外边属性对字幕对象矢量轮廓进行归并整理的方法
CN101764935B (zh) 一种基于像素空间掩码矩阵的形态渐变径向色彩填充方法
Osudin et al. Rendering non-euclidean space in real-time using spherical and hyperbolic trigonometry
JPH06176129A (ja) コンピュータ・グラフィックス制作装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING CULTURAL AND SCIENTIFIC FINANCING LEASE CO

Free format text: FORMER OWNER: XIN'AOTE(BEIJING) VIDEO TECHNOLOGY CO., LTD.

Effective date: 20150326

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100080 HAIDIAN, BEIJING TO: 100044 SHUNYI, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20150326

Address after: 100044, room 2, building 1, No. 401, Golden Sail Road, Beijing, Shunyi District

Patentee after: Beijing culture science and technology finance leasing Limited by Share Ltd

Address before: 100080 Beijing city Haidian District xicaochang No. 1 Beijing Silicon Valley computer city 15 1501-1506 room

Patentee before: China Digital Video (Beijing) Limited

TR01 Transfer of patent right

Effective date of registration: 20170930

Address after: 100143 Beijing city Haidian District xicaochang No. 1 Silicon Valley computer city 15 1501-1506 room

Patentee after: China Digital Video (Beijing) Limited

Address before: 100044, room 2, building 1, No. 401, Golden Sail Road, Beijing, Shunyi District

Patentee before: Beijing culture science and technology finance leasing Limited by Share Ltd

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100901

Termination date: 20161104

CF01 Termination of patent right due to non-payment of annual fee