【技术实现步骤摘要】
本专利技术属于广电行业电视节目制播机构的字幕编播
,具体涉及。
技术介绍
在字幕编播领域中,字幕对象可分为文字和图形两个部分。文字包括世界上各种语种的文字,图形包括各种规则形状的图形、由基本图形元素组成的复合图形和任意不规则图形。从计算机图形学的角度来说,可以将所有类型的字幕对象视为由一系列直线和曲线组成的图形。图形通常由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几何属性组成。从处理技术上看,图形主要分为两类一类是基于线条信息表示的,如工程图、等高线地图、曲面的线框图等;另一类是明暗图,也就是通常所说的真实感图形。 字幕渲染是计算机图形学、计算机数字图像处理与电视台的节目制作业务相结合的技术。从计算机数字图像处理的角度来说,对字幕对象的渲染包括两个方面第一,基于像素或子像素的一系列静态处理,如图象增强、二值化处理、边缘检测、模糊处理、浮雕、边缘反走样、亮度贴图、材质贴图、防抖动、椭圆变形、多边形变形、勾边、增亮、锐化、柔化、凸起、彩色铅笔、油画龟裂、交叉影线、剪样、玻璃、边缘增亮、墨水轮廓画、瓷砖、信纸、拼缀物、塑料包装、水波纹、海绵、喷涂笔、着色玻璃、高斯模糊等特效;第二,基于关键帧的一系列动态处理,包括水波、旗飘、螺旋、扭曲、三维投影、火焰、球变、三维形变、弯曲、幻影、巻页、折叠、礼花、百叶窗、碎裂、水波、波动、划像、转球、螺旋、旗飘、波动虚影、蝶变、流光、凸镜、万花筒、激光、飞光、魔幻螺旋、运动模糊、径向模糊、波浪、波浪倒影、回旋等特效。 字幕的渲染效果是衡量一个字幕系统的重要指标,特别是在反走样处理、小字的细节处理、立体边的处理、 ...
【技术保护点】
一种基于贝塞尔曲线封闭轮廓的字幕渲染方法,包括以下步骤:(1)将字幕对象转换为由一次、二次或三次贝塞尔线段组成的包括N个封闭轮廓的矢量轮廓信息,所述的N为正整数;(2)将步骤(1)获得的封闭轮廓中一次和三次贝塞尔线段转换成二次贝塞尔线段;(3)将经步骤(2)转换后的矢量轮廓信息中自相交的封闭轮廓内含的闭合环路删除或者分割;(4)对经步骤(3)处理后的矢量轮廓信息中相交的封闭轮廓进行规并整理,使封闭轮廓之间互不相交;(5)将经步骤(4)处理后的矢量轮廓信息中的封闭轮廓转换成多边形;(6)对经步骤(5)转换后的矢量轮廓信息中的多边形加内边或外边。
【技术特征摘要】
一种基于贝塞尔曲线封闭轮廓的字幕渲染方法,包括以下步骤(1)将字幕对象转换为由一次、二次或三次贝塞尔线段组成的包括N个封闭轮廓的矢量轮廓信息,所述的N为正整数;(2)将步骤(1)获得的封闭轮廓中一次和三次贝塞尔线段转换成二次贝塞尔线段;(3)将经步骤(2)转换后的矢量轮廓信息中自相交的封闭轮廓内含的闭合环路删除或者分割;(4)对经步骤(3)处理后的矢量轮廓信息中相交的封闭轮廓进行规并整理,使封闭轮廓之间互不相交;(5)将经步骤(4)处理后的矢量轮廓信息中的封闭轮廓转换成多边形;(6)对经步骤(5)转换后的矢量轮廓信息中的多边形加内边或外边。2. 如权利要求1所述的一种基于贝塞尔曲线封闭轮廓的字幕渲染方法,其特征在于,步骤(1)中所述的将字幕对象转换为由一次、二次或三次贝塞尔线段组成的包括N个封闭轮廓的矢量轮廓信息的方法包括以下步骤① 从当前字幕对象链表中取出一个与已取不同的字幕对象;② 判断字幕对象的类型,根据字幕对象的类型进行相应的处理,将字幕对象转换成由一次、二次或者三次贝塞尔线段组成的N个封闭轮廓;所述的字幕对象的类型包括文字字幕、基本图形字幕和复合字幕,所述的复合字幕是指包括文字和基本图形的字幕;如果字幕对象的类型为文字字幕,则获取文字字幕在TrueType字库中的矢量轮廓信息的方法包括以下步骤a. 根据文字字幕对象的字体名称,创建逻辑字体对象F ;b. 将逻辑字体对象F设置到操作系统的资源描述表中,并保存操作系统原来的逻辑字体;c. 根据当前字符的Unicode编码,从操作系统的当前资源描述表中获取当前字符的矢量轮廓信息在TrueType字库中占用的内存字节数B ;d. 根据当前字符占用的内存字节数B,分配内存P;e. 根据当前字符的Unicode编码和占用的内存P,从操作系统当前资源描述表中获取当前字符的矢量轮廓信息G,并恢复操作系统原来的逻辑字体;如果字幕对象的类型为基本图形字幕,则将其转换成矢量轮廓信息的方法包括以下步骤a. 根据基本图形字幕的几何形状,将基本图形字幕划分成多条曲线段,所述的曲线段包括直线段、正玄或余玄曲线段、圆弧段和椭圆弧段;b. 根据基本图形字幕的外接矩形、每条曲线段的参数方程计算出每条曲线段转换成三次贝塞尔线段后的起始控制点和结束控制点的坐标;c. 对每条三次贝塞尔线段,根据起始控制点和结束控制点的坐标和三次贝塞尔参数方程,分别计算t = 1/3和t = 2/3处的另外两个控制点的坐标。如果字幕对象的类型为复合字幕,则将其转换成矢量轮廓信息的方法包括以下步骤a.根据复合字幕对象的数据结构,将其拆分为M个基本字幕对象,所述的基本字幕对象为文字字幕对象或基本图形字幕对象,所述的M为正整数;b. 分别将文字字幕对象和基本图形字幕对象转换成由一次、二次或三次贝塞尔线段组成的封闭轮廓,得到M个基本字幕对象的矢量轮廓信息;c. 根据M个基本字幕对象的相对空间坐标,将步骤b中得到的M个矢量轮廓信息组合在一起,形成该复合字幕对象的最终矢量轮廓信息;③ 根据字幕对象的旋转和变形参数,将步骤②中的矢量轮廓信息进行空间几何变换假设字幕对象的旋转角度为A,基本字幕对象的顶点个数为n,分别为P[O]至P[n-l],所述的n为正整数;a. 根据基本字幕对象的外接矩形的四个顶点坐标计算基本字幕对象的中心点Q的坐标;b. 按照如下公式修正旋转后的P[i]的坐标,O《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禾P Q. y分别为Q点的横、纵坐标;④ 重复步骤①至步骤③,直到处理完当前字幕对象链表中所有字幕对象。3.如权利要求1或2所述的一种基于贝塞尔曲线封闭轮廓的字幕渲染方法,其特征在于,步骤(2)中所述的将一次和三次贝塞尔线段转换为二次贝塞尔线段的方法包括以下步骤① 遍历矢量轮廓信息,取出一个与已取不同的封闭轮廓G ;② 遍历封闭轮廓G,取出一个与已取不同的贝塞尔线段B;③ 判断贝塞尔线段B是几次贝塞尔线段,如果是一次或者三次贝塞尔线段,则将其转换为二次贝塞尔线段;将一次贝塞尔线段转换为二次贝塞尔线段的方法为假设一次贝塞尔线段的前后两个控制点分别为R0和Rl,将R0和Rl分别作为二次贝塞尔线段的第一个控制点和第三个控制点,将R0和Rl的中点作为二次贝塞尔线段的第二个控制点;将三次贝塞尔线段转换为二次贝塞尔线段的方法为将一条三次贝塞尔线段转换为两条二次贝塞尔线段;假设三次贝塞尔线段的控制点分别为R0、 Rl、 R2和R3 ;Ql为R0和Rl的中点,Ql. x =(R0. x+R1.X),/2,Ql.y =(R0. y+Rl.y),/2Q2是R2和R3的中点,Q2. x =(R2. x+R3.X),/2,Q2.y =(R2. y+R3. y),/2Q3是R1和R2的中点,Q3. x =(R1. x+R2.X),/2,Q3.y =(Rl.y+R2. y),/2Q4是Q1和Q3的中点,Q4. x =(Q1. x+Q3.X),/2,Q4.y =(Ql.y+Q3. y),/2Q5是Q2和Q3的中点,Q5. x =(Q2. x+Q3.X),/2,Q5.y =(Q2. y+Q3. y),/2Q6是Q4和Q5的中点,Q6. x =(Q4. x+Q5.X),/2,Q6.y =(Q4. y+Q5. y),/2Q7是Q4和Q5构成的直线与R0和Rl构成直线的交点,Q7. x = (3*Q1. x+3*Q4. x-RO.x-Q6. x)/4, Q7. y = (3*Q1. y+3*Q4. y-RO. 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, R 3。④ 重复步骤②至步骤③,直到处理完封闭轮廓G中所有的贝塞尔线段;⑤ 重复步骤①至步骤④,直到处理完矢量轮廓信息中所有的封闭轮廓。4. 如权利要求1所述的一种基于贝塞尔曲线封闭轮廓的字幕渲染方法,其特征在于,步骤(3)中将矢量轮廓信息中自相交的封闭轮廓内含的闭合环路删除或者分割的方法包括以下步骤① 从字幕对象的矢量轮廓信息中取出一个与已取不同的封闭轮廓G ;② 判断封闭轮廓G中是否存在二次贝塞尔线段自相交的情况,如果存在,则继续判断是相邻二次贝塞尔线段自相交还是非相邻二次贝塞尔线段自相交,如果是相邻二次贝塞尔线段自相交,则将封闭轮廓G中内含的包括自相交的相邻二次贝塞尔线段的闭合环路删除;如果是非相邻二次贝塞尔线段自相交,则将封闭轮廓G和其内含的包括自相交的非相邻二次贝塞尔线段的闭合环路分割成多个封闭轮廓;③ 重复步骤②,直到封闭轮廓G中所有的自相交情况处理完毕;④ 重复步骤①至步骤③,直到字幕对象矢量轮廓信息表中所有的封闭轮廓处理完毕。5. 如权利要求4所述的一种基于贝塞尔曲线封闭轮廓的字幕渲染方法,其特征在于,步骤②中判断封闭轮廓G是否存在二次贝塞尔线段自相交情况的方法为假设G中有M个二次贝塞尔线段,分别是B、B[1]、B[2]至B[M-1];依次取出G中每个二次贝塞尔线段B[j],判断B[j]与G中的其它二次贝塞尔线段是否相交,如果相交,则G中存在自相交情况;否则不存在自相交情况;如果B[j]与相邻线段B[j+l]相交,则是相邻二次贝塞尔线段自相交,否则是非相邻二次贝塞尔线段自相交。6. 如权利要求5所述的一种基于贝塞尔曲线封闭轮廓的字幕渲染方法,其特征在于,判断两条二次贝塞尔线段是否相交的方法包括以下步骤a. 计算两条二次贝塞尔线段的外接矩形;假设二次贝塞尔线段的三个控制点分别为P0、P1和P2,P0点的横坐标为P0. x,纵坐标为P0. y ;P1点的横坐标为Pl. x,纵坐标为PI. y ;P2点的横坐标为P2. x,纵坐标为P2. y ;计算由P0、P1和P2构成的三角形的外接矩形T, T即为该二次贝塞尔线段的外接矩形,公式如下T. left = min(PO. x, Pl. x, P2. x),T. right = max (P0. x, PI. x, P2. x),T. top = min (P0. y, PI. y, P2. y),T. bottom = max (P0. y, PI. y, P2. y);其中,T. left表示外接矩形左边框的横坐标,T. right表示外接矩形右边框的横坐标,T. top表示外接矩形上边框的纵坐标,T. bottom表示外接矩形下边框的纵坐标;min函数表示取所有参数中的最小值,max函数表示取所有参数中的最大值;b. 判断两条二次贝塞尔线段的外接矩形是否存在交集,如果存在,则这两条二次贝塞尔线段相交,如果不存在,则这两条二次贝塞尔线段不相交。7. 如权利要求4所述的一种基于贝塞尔曲线封闭轮廓的字幕渲染方法,其特征在于,步骤②中将封闭轮廓G中内含的包括自相交的相邻二次贝塞尔线段的闭合环路删除的方法为假设G中有M个二次贝塞尔线段,分别是B、B[1]、B[2]至B[M-1],两条自相交的相邻二次贝塞尔线段分别为B[j]和B[j+l];首先计算B[j]和B[j+l]的交点S;然后将B[j]的起始控制点与S相连构成一条新的二次贝塞尔线段B[j'],将S与B[j+l]的结束控制点相连构成一条新的二次贝塞尔线段B[j+l' ],B[j' ]、B[j+l']与封闭轮廓G中原来的二次贝塞尔线段B[O]到B[j-l]、B[j+2]到B[M-1]构成了一个新的封闭轮廓G',令G:G';最后删除S与B[j]的结束控制点构成的封闭轮廓。8. 如权利要求4所述的一种基于贝塞尔曲线封闭轮廓的字幕渲染方法,其特征在于,步骤②中将封闭轮廓G和其内含的包括自相交的非相邻二次贝塞尔线段的闭合环路分割成多个封闭轮廓的方法为假设G中有M个二次贝塞尔线段,分别是B、B[1]、B[2]至B[M-1],两条自相交的非相邻二次贝塞尔线段分别为B[j]和B[k],j 〈k;首先计算B[j]和B[k]的交点S;然后将B[j]的起始控制点与S相连构成一条新的二次贝塞尔线段B[j'],并将S与B[k]的结束控制点相连构成一条新的二次贝塞尔线段B[k' ],B[j' ]、B[k']与封闭轮廓G中原来的线段B[O]至ljB[j-l]、B[k+l]到B[M-1]构成了一个新的封闭轮廓G',令G二G';最后将S与B[j]的结束控制点和B[k]的起始控制点相连,形成了两条新的二次贝塞尔线段,将这两条新的二次贝塞尔线段与B[j+l]到B[k-l]中所有的二次贝塞尔线段构成了一个新的封闭轮廓G〃 ,将G〃加入到字幕对象矢量轮廓信息表中。9. 如权利要求1所述的一种基于贝塞尔曲线封闭轮廓的字幕渲染方法,其特征在于,步骤(4)中对矢量轮廓信息中相交的封闭轮廓进行规并整理的方法包括以下步骤① 计算所有封闭轮廓中每条二次贝塞尔线段与其他封闭轮廓中的二次贝塞尔线段的交点;② 将所有存在交点的二次贝塞尔线段在交点处分割成多条首尾相连的二次贝塞尔线段;③ 确定所有封闭轮廓中包含的每条二次贝塞尔线段的内外边属性;④ 将属性为内边的二次贝塞尔线段删除,并重构矢量轮廓信息中的封闭轮廓;⑤ 标记所有封闭轮廓的方向,所述的方向包括顺时针和逆时针。10. 如权利要求7、8或9所述的一种基于贝塞尔曲线封闭轮廓的字幕渲染方法,其特征在于,计算两条二次贝塞尔线段的交点的方法包括以下步骤(I)假设两条相交的二次贝塞尔线段分别为B[j]和B[k],将B[j]和B[k]分别进行如下处理a. 计算二次贝塞尔线段的起始控制点与结束控制点之间的空间直线距离L,L -V(x, - x。)2 + (y, - y0)2 ,其中,xO、y0为起始控制点横、纵坐标,xl和yl...
【专利技术属性】
技术研发人员:吴正斌,袁慧晶,郑培枫,
申请(专利权)人:新奥特北京视频技术有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。