确定像素空间掩码矩阵的像素到边界的最短距离的方法

文档序号:7927634阅读:233来源:国知局
专利名称:确定像素空间掩码矩阵的像素到边界的最短距离的方法
技术领域
本发明涉及电视节目制作领域的字幕渲染技术,具体涉及一种在基于像素空间掩
码矩阵模型的字幕渲染中确定像素空间掩码矩阵的像素到边界的最短距离的方法。
背景技术
由于电视字幕具有独立的表意功能,作为一种必备的电视节目要素,电视字幕是 一种重要的电视图文的展现形式。随着电视频道、节目内容的细分,各个部门的分工也更加 专业化,对于不同类型节目的制作,以单一类型的字幕系统已很难满足要求。另外,电视节 目的日益多样性和电视观众欣赏、鉴赏水平的不断提高,也要求电视字幕的应用模式必然 朝着多样性的方向发展。 从广义的角度来说,电视字幕所处理的字幕对象可以分为图形和文字两个部分。 图形包括各种规则形状的图形、由基本图形元素组成的复合图形和任意不规则图形,文字 包括世界上各种语种的文字。 从计算机展现的角度来说,字幕对象渲染的最终目的是根据图形化的矢量信息和 图像纹理,采用数字图像处理的相关算法,得到由32位RGBA表示的像素组成的一帧图像。 因此将字幕对象归一化为一种图形表达形式,有利于数字图像处理算法的统一化。
从计算机图形学的角度来说,可以将所有类型的字幕对象视为由一系列直线和曲 线组成的图形。计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利 用计算机进行图形的计算、处理和显示的相关原理与算法。图形通常由点、线、面、体等几何 元素和灰度、色彩、线型、线宽等非几何属性组成。从处理技术上来看,图形主要分为两类, 一类是基于线条信息表示的,如工程图、等高线地图、曲面的线框图等,另一类是明暗图,也 就是通常所说的真实感图形。计算机图形学一个主要的目的就是要利用计算机产生令人赏 心悦目的真实感图形。为此,必须建立图形所描述的场景的几何表示,再用某种光照模型, 计算在假想的光源、纹理、材质属性下的光照明效果。 在计算机图形学中,Bezier曲线是一种重要的多项式参数曲线。平面中的任意 N(N>= 2)个点都可以构成一个Bezier曲线。这N个点称为Bezier曲线的控制顶点,N 个点组成的多边形称为Bezier曲线的控制多边形。在字幕渲染技术中,可以使用Bezier 曲线来表达所有字幕对象的矢量信息,将字幕对象的原始矢量轮廓转化为二次Bezier曲 线,并将一个内部自相交Bezier封闭曲线分成多个封闭轮廓,根据交点将一条Bezier线段 分割成若干条首尾相连的线段,在字幕矢量轮廓中确定每一条Bezier线段的内边/外边属 性,根据内边/外边属性对字幕矢量轮廓进行规并整理,最终得到若干不相交的封闭轮廓。 然后,将字幕对象的矢量轮廓离散化为直线段,计算字幕对象的多边形矢量轮廓的属性,进 一步根据多边形的方向和加边类型,创建出用来加内边和外边的多边形矢量轮廓。
当针对字幕对象的矢量信息进行上述处理后,对字幕进行渲染,渲染引擎创建像 素空间掩码矩阵模型,该模型为一个二维矩阵模型,对应最终渲染后的像素空间,矩阵中每 个像素点包括 下属性数据①一个像素到边界的最短距离Border,②一个像素到最外侧边的侧边方向的距离Side,③经过一个像素的所有边界围成的多边形的面积Area, —个 像素的类型Type,⑤一个像素是否已经进行了反走样处理的标志bAntialiasing。
由于在将字幕对象的原始矢量轮廓(Bezier封闭曲线)离散化成由直线段组成的 封闭多边形之后,可以将原来的像素空间放大512倍,即一个像素被分成了 512份。像素的 坐标空间由原来的(O,O,l,l)浮点数坐标空间转换为(0,0,512,512)整数坐标空间。此时 的一个像素被表示成了一个正方形区域,其初始面积为512X512。以上的Border、 Side、 Area的值都是在512X512的坐标空间中,因此,可以将以上这些数据当作一个像素的掩 码。 当像素空间掩码矩阵模型中的Border、 S ide、 Area和Type的值都已经产生后, 就可以根据字幕渲染纹理属性对字幕对象进行纹理贴图以及形态渐变径向色彩填充处理, 在贴图的过程中进行边缘像素的反走样处理。在对字幕对象进行纹理贴图和形态渐变径 向色彩填充处理时,需要用到像素到边界的最短距离Border值来判断像素的位置,并根据 Border值对边缘像素的色彩赋值进行反走样处理,因此,如何准确的确定像素到边界的最 短距离Border值,对于基于像素空间掩码矩阵模型的字幕渲染方法来说非常重要。但是, 对于整个像素空间掩码矩阵的大量像素点来说,如果只是根据点到直线的距离来逐一计 算,则计算量很大,而且缺少逻辑性,另外,像素到边界的最短距离Border值只是在加边的 区域内才有价值,所以,需要找到一种合理的方法来准确的确定像素空间掩码矩阵的像素 到边界的最短距离。

发明内容
本发明的目的是针对上述基于像素空间掩码矩阵模型的字幕渲染技术的实现原
理,提供一种确定像素空间掩码矩阵的像素到边界的最短距离的方法,为字幕对象的纹理 贴图以及形态渐变径向色彩填充的实现提供保障。 本发明的技术方案如下一种确定像素空间掩码矩阵的像素到边界的最短距离的 方法,包括如下步骤 (1)在字幕对象的多边形矢量轮廓边界上选取直线段(P0, Pl),确定直线段(P0, Pl)两个端点P0、 Pl的坐标(P0. x, P0. y) 、 (P1. x, Pl. y)以及两个端点的加边方向的向量 (P0. dx, P0. dy) 、 (P1. dx, Pl. dy); (2)设定沿加边方向逐层计算的距离k、步长s,根据PO、Pl的加边方向的向量依 次计算P0、P1在加边方向上所对应的点P2、P3、P4、P5的坐标; (3)由P2、P3、P4、P5点围成四边形,遍历四边形内的所有像素点,根据点到直线垂 直距离的计算公式,计算每个点到直线段(P0,P1)的距离。 进一步,如上所述的确定像素空间掩码矩阵的像素到边界的最短距离的方法,步
骤(1)中两个端点的加边方向的向量是根据加边方向的角度确定的,加边方向的向量与加
边方向的角度的关系如下 P0. dx = Cos (AO) P0. dy = Sin (AO) PI. dx = Cos (Al) PI. dy = Sin (Al) 其中,P0点的加边方向的角度为A0, PI点的加边方向的角度为Al。 进一步,如上所述的确定像素空间掩码矩阵的像素到边界的最短距离的方法,步骤(2)中P2、P3、P4、P5点的坐标按如下方式确定: P2、 P4的坐标根据P0点来计算 P2. x = P0. x+ (k-s) *P0. dx ; P2. y = P0. y+ (k_s) *P0. dy ; P4. x = P0. x+k*PO. dx ; P4. y = PO. y+k*PO. dy ; P3、 P5的坐标根据PI点来计算 P3. x = PI. x+ (k-s) *P1. dx ; P3. y = PI. y+ (k_s) *P1. dy ; P5. x = PI. x+k氺P1. dx ; P5. y = PI. y+k*Pl. dy。 本发明的有益效果如下本发明针对字幕对象的多边形矢量轮廓进行加边(内边 或外边)处理后,如何准确合理的确定加边区域内的像素到多边形矢量轮廓边界的距离提 出了一种实用的解决方案,从边界上的一点和下一点沿各自加边方向逐层计算加边区域内 的点到轮廓的距离,从而保证了计算的精度,为后续字幕渲染程序的纹理贴图和形态渐变 径向色彩填充的实现提供了保障。


图la为像素空间掩码矩阵的示意图; 图lb为填充了色彩以后的像素空间色彩矩阵示意图; 图2为线段端点的加边方向的向量与加边方向的角度关系示意图; 图3为逐层计算像素点到边界的最短距离的方法示意图。
具体实施例方式
下面结合附图和具体实施例对本发明进行详细的描述。 由于目前的用于电视节目制作的字幕系统中字幕渲染普遍存在渲染效率低下、边 缘锯齿效应、小字模糊不清晰、文字笔画粗细不均匀、渐变效果不真实、无法实现多边多影 渲染效果、无法实现艺术字效果等一系列技术上和应用上的问题,因此,可以通过将字幕对 象的矢量信息转化为一个基于等高线的像素掩码矩阵,在此基础上进行字幕渲染的技术来 加以解决,这一技术称作基于曲线轮廓的封闭环域和像素掩码矩阵的字幕渲染方法(具体 内容可参见同期申请的专利)。 上述方法的关键步骤首先是有限封闭环域的生成。有限封闭环域为有限个内环、 外环(内、外环方向相反)定义的一个多连通闭区域,内环必须在一个外环内。 一个输入图 元由一个或多个封闭轮廓组成,轮廓以首尾连结的二次Bezier曲线表示。对封闭轮廓进行 曲线相交检测,通过裁减曲线、并归轮廓,生成有限环域的内外环。 曲线的相交检测利用外接矩形检测选取可能相交曲线对以提高效率,然后递归法 对可能相交的Bezier曲线对二分法分割进行局部曲线段的包围盒检测,当分割的曲线段 满足直线拟和精度时,用直线规则求交点,根据交点分割相交曲线对。计算交点相连的曲线 的方向进行内、外环分类测试,裁减不满足内、外环属性的曲线,即删除被一个外环包含却
5与外环方向一致的曲线或者被内环包含的与内环方向一致的曲线。连接首尾端点重合的曲 线,生成封闭的内外环。 算法的思想基于某一渲染区(渲染基元为一个象素)的渲染属性取决于其相对于 环域的位置,即以原始轮廓环域为0距线,通过计算渲染基元相对0距线的距离得到像素掩 码矩阵,由像素掩码矩阵的等高线划分不同的渲染区。渲染区的灵活划分,可以实现多层图 元渲染;不同的距离计算方式得到不同的等高线,从而实现不同的区域边界导角特性;像 素掩码矩阵做深度信息等转换,实现浮雕等立体效果。 因此,算法的另一关键步骤就是像素掩码矩阵中各个属性的计算。离散化曲线环 域,根据离散化的轮廓点链的前进方向标记距离映射图中各基元的符号(例如,外环逆时 针,则左为正右为负,点链经过的基元为零)。通过对点链中各点的方向矢量及其前后点的 方向角平分线方向矢量围成的有限区域范围内计算渲染基元的距离,在映射图中记录各基 元的绝对值最小的距离值。 基于上述原理,在将一个字幕对象的Bezier曲线矢量轮廓离散化为多边形矢量G 之后,进一步根据多边形的方向和加边类型,创建出用来加内边的多边形矢量G1和用来加 外边的多边形矢量G2。然后,就可以对字幕对象进行后续渲染。首先要创建一个二维矩阵 模型,这个模型对应最终渲染后的像素空间,如图la所示,填充了色彩以后的像素空间色 彩矩阵如图lb所示,每个像素的色彩值包括RGBA四个分量。
像素空间掩码矩阵中每个像素点包括以下属性数据 (1). —个像素到边界的最短距离Border。该值在加内边、外边时使用。根据方角 边、尖角边、圆角边的不同类型,这个距离有不同的意义。
(2). —个像素到最外侧边的侧边方向的距离Side。该值在加侧边时使用。
(3).经过一个像素的所有边界围成的多边形的面积Area。该值在对边界像素进 行反走样贴图时使用。因此首先要区分内部像素和边界像素对于内部像素来说,该值为固 定的值(512*512);对于边界像素而言,该值是一个小于等于512*512的值,表示通过该像 素的边与该像素矩形(高和宽均为512)围成多边形的面积。 (4). —个像素的类型Type。该值用来表示一个像素是侧边边界、外边边界、内边 边界、内部像素。 (5). —个像素是否已经进行了反走样处理的标志bAntialiasing。使用这个布尔 变量以避免对同一个像素进行多次的反走样处理。 以上的Border、Side、Area的值都是在512*512的坐标空间中,因此,可以将以上 这些数据当作一个像素的掩码。 计算像素空间掩码的Border值的核心思想是从边界上的一点和下一点沿各自 加边方向逐层计算加边区域内的点到轮廓边界的距离。 如图2所示,假设边界上的一个点为P0,下一个点为Pl, P0点的坐标为(P0. x, P0. y),表示P0点加边方向的向量为(P0. dx, P0. dy) , Pl点的坐标为(P1. x, Pl. y),表示Pl 点加边方向的向量为(Pl.dx,Pl.dy),直线段(P0,P1)角度为a,沿加边方向逐层计算的值 为k,步长为s。 P0点的加边方向的角度为A0, Pl点的加边方向的角度为A1, P0点的加边 向量dx、 dy与A0的关系,以及Pl点的加边向量dx、 dy与Al的关系如下
P0. dx = Cos (AO) P0. dy = Sin (AO)
6
PI. dx = Cos (Al) PI. dy = Sin (Al) P0点的加边方向的角度AO以及PI点的加边方向的角度Al是在将字幕对象的矢
量轮廓离散化为直线段,计算字幕对象的多边形矢量轮廓的属性,进一步根据多边形的方
向和加边类型,创建出用来加内边和外边的多边形矢量轮廓的过程中确定的,这是对字幕
对象的矢量轮廓进行处理并加边的公知技术,在此处作为已知量来考虑。 如图3所示,根据PO、 PI的加边向量计算出PO、 PI在加边方向上所对应的点P2、
P3、P4、P5的坐标: P2、 P4的坐标根据PO点来计算
P2. x = PO. x+ (k-s) *P0. dx ;
P2. y = PO. y+ (k_s) *P0. dy ;
P4. x = PO. x+k*PO. dx ;
P4. y = PO. y+k*PO. dy ;
P3、 P5的坐标根据PI点来计算
P3. x = PI. x+(k_s)*Pl. dx ;
P3. y = PI. y+ (k_s) *P1. dy ;
P5. x = PI. x+k*Pl. dx ;
P5. y = PI. y+k*Pl. dy。 假设P2、P3、P4、P5点围成的四边形为R(图中阴影部分),遍历四边形内的所有像 素点,根据点到直线垂直距离的计算公式,计算每个点到直线段(P0,P1)的距离。
沿加边方向逐层计算的值k和步长s为经验值,k可以为一个边的宽度或小于 一个边的宽度,为保证加边计算的精度,s的取值不宜过大,一般可取O. 009765625 (按照 512X512像素空间来说,这个值为5)。 通过上述方法,对于沿加边方向逐层计算的值k和步长s,依次计算加边区域内的 像素点到轮廓边界的距离Border值,对于字幕对象多边形矢量轮廓的各个直线段,均按此 法将Border值全部算出,在像素空间掩码矩阵中,具有相同Border值的点构成了一系列的 等高线,利用这些等高线,就可以实现如下的渲染特效(l). 一个字幕对象加多个外边,每 个外边可以使用不同的渲染纹理;(2). —个字幕对象加多个内边,每个内边可以使用不同 的渲染纹理;(3).按照字幕对象的矢量轮廓的形状,实现真正的"形态渐变"。
本发明所述的方法并不限于具体实施方式
中所述的实施例,本领域技术人员根据 本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。
权利要求
一种确定像素空间掩码矩阵的像素到边界的最短距离的方法,包括如下步骤(1)在字幕对象的多边形矢量轮廓边界上选取直线段(P0,P1),确定直线段(P0,P1)两个端点P0、P1的坐标(P0.x,P0.y)、(P1.x,P1.y)以及两个端点的加边方向的向量(P0.dx,P0.dy)、(P1.dx,P1.dy);(2)设定沿加边方向逐层计算的距离k、步长s,根据P0、P1的加边方向的向量依次计算P0、P1在加边方向上所对应的点P2、P3、P4、P5的坐标;(3)由P2、P3、P4、P5点围成四边形,遍历四边形内的所有像素点,根据点到直线垂直距离的计算公式,计算每个点到直线段(P0,P1)的距离。
2. 如权利要求1所述的确定像素空间掩码矩阵的像素到边界的最短距离的方法,其特 征在于步骤(1)中两个端点的加边方向的向量是根据加边方向的角度确定的,加边方向 的向量与加边方向的角度的关系如下PO. dx = Cos(AO)PO. dy = Sin (AO) PI. dx = Cos(Al)Pl. dy = Sin(Al)其中,PO点的加边方向的角度为A0,P1点的加边方向的角度为Al。
3. 如权利要求1或2所述的确定像素空间掩码矩阵的像素到边界的最短距离的方法, 其特征在于步骤(2)中P2、P3、P4、P5点的坐标按如下方式确定P2、 P4的坐标根据PO点来计算 P2. x = PO. x+(k-s)氺PO. dx ; P2. y = PO. y+(k-s)氺PO. dy ; P4. x = PO. x+k*PO. dx ; P4. y = PO. y+k*PO. dy ; P3、P5的坐标根据PI点来计算 P3. x = PI. x+(k-s)*Pl. dx ; P3. y = PI. y+(k_s)*Pl. dy ; P5. x = PI. x+k*Pl. dx ; P5. y = PI. y+k*Pl. dy。
全文摘要
本发明涉及电视节目制作领域的字幕渲染技术,具体涉及一种在基于像素空间掩码矩阵模型的字幕渲染中确定像素空间掩码矩阵的像素到边界的最短距离的方法。该方法从字幕对象多边形矢量轮廓边界上的一点和下一点沿各自加边方向逐层计算加边区域内的点到轮廓的距离,适当选取计算步长,从而保证了计算的精度,为后续字幕渲染程序的纹理贴图和形态渐变径向色彩填充的实现提供了保障。
文档编号H04N5/278GK101764936SQ20081022585
公开日2010年6月30日 申请日期2008年11月4日 优先权日2008年11月4日
发明者吴正斌 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1