一种像素空间掩码矩阵的像素面积的确定方法

文档序号:6471091阅读:165来源:国知局
专利名称:一种像素空间掩码矩阵的像素面积的确定方法
技术领域
本发明涉及电视节目制作领域的字幕渲染技术,具体涉及一种在基于像素空间掩
码矩阵模型的字幕渲染中像素空间掩码矩阵的像素面积的确定方法。
背景技术
由于电视字幕具有独立的表意功能,作为一种必备的电视节目要素,电视字幕是 一种重要的电视图文的展现形式。随着电视频道、节目内容的细分,各个部门的分工也更加 专业化,对于不同类型节目的制作,以单一类型的字幕系统已很难满足要求。另外,电视节 目的日益多样性和电视观众欣赏、鉴赏水平的不断提高,也要求电视字幕的应用模式必然 朝着多样性的方向发展。 从广义的角度来说,电视字幕所处理的字幕对象可以分为图形和文字两个部分。 图形包括各种规则形状的图形、由基本图形元素组成的复合图形和任意不规则图形,文字 包括世界上各种语种的文字。 从计算机展现的角度来说,字幕对象渲染的最终目的是根据图形化的矢量信息和 图像纹理,采用数字图像处理的相关算法,得到由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、Side、Area和Type的值都已经产生后,就 可以根据字幕渲染纹理属性对字幕对象进行贴图处理,在贴图的过程中进行边缘像素的反 走样处理。在对边界像素进行反走样贴图处理时,需要用到经过一个像素的所有边界围成 的多边形的面积Area(简称像素面积),而且,还可以依据该像素面积值判断当前像素是否 为边界像素,因此,如何确定像素空间掩码矩阵的像素面积,对于基于像素空间掩码矩阵模 型的字幕渲染方法来说非常重要。

发明内容
本发明的目的是针对上述基于像素空间掩码矩阵模型的字幕渲染技术的实现原
理,提供一种像素空间掩码矩阵的像素面积的确定方法,通过该方法可以准确的确定经过 一个像素的所有字幕对象矢量轮廓边界围成的多边形的面积。 本发明的技术方案如下一种像素空间掩码矩阵的像素面积的确定方法,包括如 下步骤 (1)遍历字幕对象的多边形矢量轮廓,针对字幕对象的N个封闭多边形,取出一个 多边形Q[i]; (2)遍历多边形Q[i]中的每条边,针对Q[i]中的M条边,取出一条边L[j];
(3)根据边L[j]前后两个端点的坐标,确定边L[j]经过的像素,设L[j]经过了F 个像素,分别是C
、C[1]........C[F-1],F^ 1 ; (4)从L[j]开始,遍历Q[i]中的所有M条边,分别是L[j]到L[M-l],L[O]到 L[j-l],将经过像素C[k]的边与像素C[k]的正方形边界的交点坐标计算出来;
(5)根据步骤(4)计算出来的交点坐标,由经过像素C[k]的边以及像素C[k]的 正方形边界构成一个多边形,并将该多边形存放在一个临时数组中,如果临时数组中已经 存在一个相同的多边形,就直接转至步骤(6);否则,根据多边形的顶点坐标和个数,采用 多边形面积计算公式计算出边L[j]对像素C[k]的面积贡献的值A[j],并累加到像素C[k] 原来的像素面积Area值中; (6)重复步骤(4),直到计算完边L[j]对所有经过像素的面积贡献的值;
(7)重复步骤(2),直到处理完多边形Q[i]中的每条边;
(8)重复步骤(1),直到处理完字幕对象中的每个多边形。 进一步,如上所述的像素空间掩码矩阵的像素面积的确定方法,在步骤(5)中采 用的多边形面积计算公式为
A 二 B + G.5 x fabs (Y[u x (X同-X[1+1]》)
i=l B = 0. 5 X fabs (Y[。] X (X[N—i]-X[u) +Y[N—" X (X[N—2]-X
)) 其中,多边形的N个顶点的坐标为:(X
, Y
) — (X[N_l] , Y[N_l])。 本发明的有益效果如下在对字幕对象的原始Bezier矢量轮廓离散化为多边形
之后,一个像素被分成512份。像素的坐标空间由原来的(O,O,l,l)浮点数坐标空间转换
为(0,0,512,512)整数坐标空间。此时的一个像素被表示成了一个正方形区域,其初始面
积为512 X 512。本发明所提供的方法针对各种形状的字幕对象原始轮廓,都能合理、准确地
计算出经过一个像素的所有轮廓边界围成的多边形面积,从而为像素类型的确定以及边界
像素的反走样贴图处理提供了前提和基础,确保了基于像素空间掩码矩阵模型的字幕渲染
方法的可实施性。


图1为像素空间掩码矩阵的像素面积的确定方法流程图; 图2a为像素空间掩码矩阵的示意图; 图2b为填充了色彩以后的像素空间色彩矩阵示意图; 图3为确定一个封闭多边形经过的像素的像素面积的示意图; 图4a_图4h为经过一个像素的所有边界围成的多边形面积的几种情况。
具体实施例方式
下面结合附图和具体实施例对本发明进行详细的描述。 由于目前的用于电视节目制作的字幕系统中字幕渲染普遍存在渲染效率低下、边 缘锯齿效应、小字模糊不清晰、文字笔画粗细不均匀、渐变效果不真实、无法实现多边多影 渲染效果、无法实现艺术字效果等一系列技术上和应用上的问题,因此,可以通过将字幕对 象的矢量信息转化为一个基于等高线的像素掩码矩阵,在此基础上进行字幕渲染的技术来 加以解决,这一技术称作基于曲线轮廓的封闭环域和像素掩码矩阵的字幕渲染方法(具体 内容可参见同期申请的专利)。 上述方法的关键步骤首先是有限封闭环域的生成。有限封闭环域为有限个内环、 外环(内、外环方向相反)定义的一个多连通闭区域,内环必须在一个外环内。 一个输入图 元由一个或多个封闭轮廓组成,轮廓以首尾连结的二次Bezier曲线表示。对封闭轮廓进行 曲线相交检测,通过裁减曲线、并归轮廓,生成有限环域的内外环。 曲线的相交检测利用外接矩形检测选取可能相交曲线对以提高效率,然后递归法 对可能相交的Bezier曲线对二分法分割进行局部曲线段的包围盒检测,当分割的曲线段 满足直线拟和精度时,用直线规则求交点,根据交点分割相交曲线对。计算交点相连的曲线 的方向进行内、外环分类测试,裁减不满足内、外环属性的曲线,即删除被一个外环包含却 与外环方向一致的曲线或者被内环包含的与内环方向一致的曲线。连接首尾端点重合的曲 线,生成封闭的内外环。 算法的思想基于某一渲染区(渲染基元为一个象素)的渲染属性取决于其相对于 环域的位置,即以环域为0距线,通过计算渲染基元相对0距线的距离得到像素掩码矩阵,
5由像素掩码矩阵的等高线划分不同的渲染区。渲染区的灵活划分,可以实现多层图元渲染; 不同的距离计算方式得到不同的等高线,从而实现不同的区域边界导角特性;像素掩码矩 阵做深度信息等转换,实现浮雕等立体效果。 因此,算法的另一关键步骤就是像素掩码矩阵中各个属性的计算。离散化曲线环 域,根据离散化的轮廓点链的前进方向标记距离映射图中各基元的符号(例如,外环逆时 针,则左为正右为负,点链经过的基元为零)。通过对点链中各点的方向矢量及其前后点的 方向角平分线方向矢量围成的有限区域范围内计算渲染基元的距离,在映射图中记录各基 元的绝对值最小的距离值。 基于上述原理,在将一个字幕对象的Bezier曲线矢量轮廓离散化为多边形矢量G 之后,进一步根据多边形的方向和加边类型,创建出用来加内边的多边形矢量Gl和用来加 外边的多边形矢量G2。然后,就可以对字幕对象进行后续渲染。首先要创建一个二维矩阵 模型,这个模型对应最终渲染后的像素空间,如图2a所示,填充了色彩以后的像素空间色 彩矩阵如图2b所示,每个像素的色彩值包括RGBA四个分量。
像素空间掩码矩阵中每个像素点包括以下属性数据 (1). —个像素到边界的最短距离Border。该值在加内边、外边时使用。根据方角 边、尖角边、圆角边的不同类型,这个距离有不同的意义。
(2). —个像素到最外侧边的侧边方向的距离Side。该值在加侧边时使用。
(3).经过一个像素的所有边界围成的多边形的面积Area。该值在对边界像素进 行反走样贴图时使用。因此首先要区分内部像素和边界像素对于内部像素来说,该值为固 定的值(512*512);对于边界像素而言,该值是一个小于等于512*512的值,表示通过该像 素的边与该像素矩形(高和宽均为512)围成多边形的面积。 (4). —个像素的类型Type。该值用来表示一个像素是侧边边界、外边边界、内边 边界、内部像素。 (5). —个像素是否已经进行了反走样处理的标志bAntialiasing。使用这个布尔 变量以避免对同一个像素进行多次的反走样处理。 以上的Border、Side、Area的值都是在512*512的坐标空间中,因此,可以将以上 这些数据当作一个像素的掩码。 确定经过一个像素的所有边界围成的多边形面积Area的原理如下 第一,在对字幕对象的原始Bezier矢量轮廓离散化为多边形之后, 一个像素被分
成512份。像素的坐标空间由原来的(O,O,l,l)浮点数坐标空间转换为(0,0,512,512)整
数坐标空间。此时的一个像素被表示成了一个正方形区域,其初始面积为512*512。 第二,当矢量轮廓中一条多边形的边线段经过一个像素的正方形区域后,会在此
正方形区域内部形成一个多边形。这个多边形的面积就是Area的值。 第三,可以有多个边界直线经过同一个像素,也就是说,此时多个封闭的多边形轮
廓经过同一个像素。此时在正方形区域内部形成多个多边形。这些多边形的面积之和就是
Area的值。 第四,由于多边形矢量中,每个封闭多边形是不可能相交的,因此对于多个边界直 线经过同一个像素的情况,不会有它们在该像素的正方形区域内部互相交叉的情况,因此 Area肯定是小于等于512*512。
图4a_图4h表示了经过一个像素的所有边界围成的多边形面积的几种情况。图 4a为一条多边形的边L经过像素P,这个像素的Area的值就是多边形A(图中阴影部分)的 面积;图4b为一条多边形的边LI和L2经过像素P,这个像素的Area的值就是多边形A (图 中阴影部分)的面积;图4c为一条多边形的边Ll、 L2、 L3经过像素P(其中L2完全位于P 中),这个像素的Area的值就是多边形A(图中阴影部分)的面积;图4d为一个多边形的 边Ll、 L2和另外一个多边形的边L2'经过像素P,这个像素的Area的值就是多边形Al和 A2 (图中阴影部分)的面积之和;图4e —个多边形的边L1、L2和另外一个多边形的边Ll'、 L2'经过像素P,这个像素的Area的值就是多边形Al和A2 (图中阴影部分)的面积之和; 图4f为一个多边形的边Ll、 L2、 L3和另外一个多边形的边Ll' 、 L2'经过像素P(其中L2 完全位于P中),这个像素的Area的值就是多边形Al和A2(图中阴影部分)的面积之和。 由于多边形矢量中,每个封闭多边形是不可能相交的,因此不会出现图4g和图4h所示的情 况 根据以上原理,如图l所示,确定经过一个像素的所有边界围成的多边形面积 Area的步骤如下 (1)遍历字幕对象的多边形矢量轮廓,针对字幕对象的N个封闭多边形,取出一个 多边形Q[i]; (2)遍历多边形Q[i]中的每条边,针对Q[i]中的M条边,取出一条边L[j];
(3)根据边L[j]前后两个端点的坐标,确定边L[j]经过的像素,设L[j]经过了 F 个像素,分别是C
、C[1]........C[F-1],F^ 1 ; (4)从L[j]开始,遍历Q[i]中的所有M条边,分别是L[j]到L[M-1],L
到 L[j-l],将经过像素C[k]的边与像素C[k]的正方形边界的交点坐标计算出来;
(5)根据步骤(4)计算出来的交点坐标,由经过像素C[k]的边以及像素C[k]的 正方形边界构成一个多边形,并将该多边形存放在一个临时数组中,如果临时数组中已经 存在一个相同的多边形,就直接转至步骤(6);否则,根据多边形的顶点坐标和个数,采用 多边形面积计算公式计算出边L[j]对像素C[k]的面积贡献的值A[j],并累加到像素C[k] 原来的像素面积Area值中; (6)重复步骤(4),直到计算完边L[j]对所有经过像素的面积贡献的值;
(7)重复步骤(2),直到处理完多边形Q[i]中的每条边;
(8)重复步骤(1),直到处理完字幕对象中的每个多边形。
步骤(5)中所采用的多边形面积计算公式为A = B + 0.5 x fabs (Nf (Y[i] x (X"—!] — X[1+1])))
i=l B = 0. 5Xfabs(Y[。]X (X[N—i]-X"+Y[N—i]X (X[N—2]-X
)) 其中,多边形的N个顶点的坐标为(X[O],Y[O]) — (X[N-l],Y[N-l])。在如图3所 示的例子中 (1) . P0—P14是多边形矢量的顶点; (2). SO—Sll是这个多边形的每条边与不同像素边界的交点;
(3).T0—T8是每个像素的正方形的边界点。这些点的坐标为常量
TO为(512, 512) , Tl为(1024, 512) , T2为(1536, 512);
7



















T3为(512,1024), T4为(1024,1024) , T5为(1536,1024) T6为(512,1536), T7为(1024,1536), T8为(1536,1536) 根据上面描述的流程,这些像素的Area值分别为 像素AO. Area为512*512
Area为多边形(Sll, P0, S0, Tl)的面积 Area为多边形(Sll, Tl, T2, S10, P14)的面积 Area为多边形(S9, S10, T2)的面积
像素Al. 像素A2. 像素A3. 像素BO. 像素Bl. 像素B2. 像素B3. 像素CO. 像素CI. 像素C2. 像素C3. 像素DO. 像素Dl. 像素D2. 像素D3.
Area为多边形(Sl, Area为多边形(SO, Area为多边形(S7, Area为多边形(S8, Area为多边形(S2, Area为512*512 Area为多边形(S6, Area为512*512 Area为多边形(S3, Area为多边形(S4, Area为多边形(S5, Area为512*512
Pl, S2, T3)的面积
Sl, T3, T4, Tl)的面积
P12, S8, T2, Tl, T4)的面积
P13, S9, T2)的面积
P2, P3, P4, S3, T6, T3)的面积
P9, P10, Pll, S7, T4, T7)的面积
S4, T6)的面积
P5, P6, S5, T7, T6)的面积
P7, P8, S6, T7)的面积
本发明所述的方法并不限于具体实施方式
中所述的实施例,本领域技术人员根据
本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。
8
权利要求
一种像素空间掩码矩阵的像素面积的确定方法,包括如下步骤(1)遍历字幕对象的多边形矢量轮廓,针对字幕对象的N个封闭多边形,取出一个多边形Q[i];(2)遍历多边形Q[i]中的每条边,针对Q[i]中的M条边,取出一条边L[j];(3)根据边L[j]前后两个端点的坐标,确定边L[j]经过的像素,设L[j]经过了F个像素,分别是C
、C[1]、......、C[F-1],F≥1;(4)从L[j]开始,遍历Q[i]中的所有M条边,分别是L[j]到L[M-1],L
到L[j-1],将经过像素C[k]的边与像素C[k]的正方形边界的交点坐标计算出来;(5)根据步骤(4)计算出来的交点坐标,由经过像素C[k]的边以及像素C[k]的正方形边界构成一个多边形,并将该多边形存放在一个临时数组中,如果临时数组中已经存在一个相同的多边形,就直接转至步骤(6);否则,根据多边形的顶点坐标和个数,采用多边形面积计算公式计算出边L[j]对像素C[k]的面积贡献的值A[j],并累加到像素C[k]原来的像素面积Area值中;(6)重复步骤(4),直到计算完边L[j]对所有经过像素的面积贡献的值;(7)重复步骤(2),直到处理完多边形Q[i]中的每条边;(8)重复步骤(1),直到处理完字幕对象中的每个多边形。
2. 如权利要求1所述的像素空间掩码矩阵的像素面积的确定方法,其特征在于在步骤(5)中采用的多边形面积计算公式为<formula>formula see original document page 2</formula>B = 0. 5Xfabs(Y[。]X (X[N—u-X[u)+Y[n—"X (X[N—2]-X
))其中,多边形的N个顶点的坐标为:(X[O] , Y
) — (X[N-1] , Y[N-l])。
全文摘要
本发明涉及电视节目制作领域的字幕渲染技术,具体涉及一种在基于像素空间掩码矩阵模型的字幕渲染中像素空间掩码矩阵的像素面积的确定方法。该方法遍历字幕对象的多边形矢量轮廓,针对字幕对象的N个封闭多边形,遍历多边形中的每条边,计算每条边对所有经过像素的面积贡献的值,将同一个像素的像素面积Area值进行累加,得到所需结果。该方法针对各种形状的字幕对象原始轮廓,都能合理、准确地计算出经过一个像素的所有轮廓边界围成的多边形面积,从而为像素类型的确定以及边界像素的反走样贴图处理提供了前提和基础,确保了基于像素空间掩码矩阵模型的字幕渲染方法的可实施性。
文档编号G06T1/00GK101764942SQ20081022586
公开日2010年6月30日 申请日期2008年11月4日 优先权日2008年11月4日
发明者吴正斌, 袁慧晶 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1