一种通过滤镜变换实现动态二维字幕的方法及系统
技术领域
本发明涉及节目字幕制作和播出及相关技术领域,尤其涉及一一种通过滤镜变换实现动态二维字幕的方法及系统。
背景技术
在现有的节目制作和播出及相关技术领域中,对节目素材制作的过程中,为了更好的对文字进行表现,需要大量的字幕进行合成,特别是在大型3D影片、素材制作和播放中,为了获得更好的效果,常常需要在字幕中插入特技效果,随着对特技要求的不断提高,陆续出现了3D效果字幕特技,3D字幕特技在实现过程中需要对大量的数据进行计算,而且通常要借助图形显示卡的GPU进行大量计算,为了获得优质的画面,对图形运算处理速度,因为计算会涉及调用GPU功能因此对硬件有较高的要求,在现有技术中,字幕机在3D字幕特效在制作、播放过程中,要提供较好的硬软件环境,并且处理素材处理速度受到GPU处理能力的限制,而且在播放时也存在同样的要求,在3D字幕合成过程中,因为处理了大量的图像图像文件,因此文件需要较大的存储空间和缓存空间。
特别是在字幕变形动画制作过程中,因为需要根据帧播放次序,对每帧画面进行计算,因此增大了计算量,特别是在分辨率要求较高的时候,问题尤为突出。
介于以上情况,在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
在3D字幕变形制作中、在合成过程中由于需要大容量的存储空间及快速的运行速度,因此对图形显示卡及GPU的要求较高,在进行简单的特效合成过程中,造成了系统的浪费,同时,对于播放设备也存在运行速度和处理能力等多方面的限制,给3D字幕变形特效的制作和使用代来了限制。
在现有技术中不能对静态字幕进行直接处理,而且在透镜、光照、扭动特效实现过程中,因为其变幻和字幕原始文件相关,因此在原始文件更换或替代的时候,要对字幕特效进行重新制作,造成了系统资源的浪费,增加了制作时间和成本。
发明内容
针对现有技术中的不足,本发明要解决的技术问题提供一种通过像素赋值实现字幕特效的方法及系统,用于在字幕机对3D特效字幕变形特效制作过程中,其的特效生成和播放。
一种通过滤镜变换实现动态二维字幕的方法,所述步骤具体包括:1)采集字幕窗口内像素信息;2)确定基本变形单元参数;3)根据所述基本变形单元参数,进行特效叠加;4)在变形单元内,建立基本变形单元模型;5)建立播放帧与变形模型的关联;6)按照帧序,对每帧画面根据所述关联进行渲染。
优选地,所述步骤1)中所述字幕窗口内像素信息包括:字幕窗口长度值X0、字幕窗口宽度值Y0、字幕窗口分辨率、字幕窗口内每行像素值、位置值L1及像素数及行号、字幕窗口内每列像素值、位置值L2及像素数及列号;
优选地,所述步骤2)中所述基本变形单元参数包括:选取基本变形单元长度值X1、基本变形单元宽度值Y1,变形类型,基本变形单元布局数量,基本变形单元位置、基本变形单元形状。
优选地,所述基本变形单元形状包括:四边形、圆形、椭圆形、水滴形。
优选地,所述步骤3)中的具体步骤为:31)确定变形单元形状,并拾取基本变形单元长度值X1、基本变形单元宽度值Y1;32)根据上述参数叠加两边阴影,凸出或凹入阴影方向显示,并在对应两边上生成分解线显示。
优选地,所述步骤4)中所述建立基本变形单元模型的具体步骤为:41)当变形类型为透镜特效时,建立透镜特效模型;42)当变形类型为滑移特效时,建立超新星模型;43)当变形类型为滑移特效时,建立扭动模型。
优选地,所述步骤41)中所述建立透镜特效模型具体步骤为:41A)拾取字幕窗口内行或列像素值及像素数;41B)根据偏移方向对所述像素位置值、所述透视量P进行累加,得到变化后的像素位置值f(Lz)=L1×P;41C)根据所述像素位置值进行像素赋值。
优选地,所述步骤41B)中所述透视量P,还可以对其中所述透视量P赋予随机函数,f(Lz)=L1×f(P)。
优选地,所述步骤42)中所述建立超新星模型具体步骤为:42A)拾取字幕窗口内行或列像素值及像素数;42B)根据延展方向Ed对所述像素位置值、所述延展长度El、及超新星延展条数n进行形状合成;f(Lz)=f(Ed,El,n);
优选地,所述步骤42B)中所述像素延展长度El、,还可以对其中所述延展长度El、赋予随机函数:f(Lz)=f(Ed,El,n)×f(E1);
优选地,所述步骤43)中所述建立扭动模型具体步骤为:43A)拾取字幕窗口内行或列像素值及像素数;43B)根据扭动方向Td对所述像素位置值、所述扭动直径Tdi、进行形状合成;f(Lz)=f(Td,Tdi)。
优选地,所述步骤43B)中所述像素扭动直径Tdi,还可以对其赋予随机函数:f(Lz)=f(Td,Tdi)×f(Tdi);
优选地,所述步骤5)中的具体步骤为:51)获取帧t与透视量P、延展长度El、扭动直径Tdi之间函数关系,f(t)=f(t,P);f(t)=f(t,El);f(t)=f(t,Tdi);获取帧t与透视量P、延展长度El、扭动直径Tdi之间的函数关系;52)并将上述关系连接到所述变形模型中。
本发明提供一种通过滤镜变换实现动态二维字幕的系统,其特征在于,具体包括:字幕窗口信息采集单元、变形单元信息采集单元、变形模型生成关联单元、渲染赋值单元,其中,字幕窗口信息采集单元、变形单元信息采集单元将参数输入变形模型生成关联单元,所述变形模型生成关联单元输出到渲染赋值单元,进行字幕窗口内的像素渲染。
所述字幕窗口信息采集单元用于获取字幕窗口内像素信息,变形参数信息;所述变形单元信息采集单元用于获取变形单元参数信息;生成关联单元用于根据变形单元参数,建立变形模型,并建立播放帧与变形模型的关联,所述渲染赋值单元用于按照帧序,对每帧画面根据所述关联进行渲染。
其中,所述字幕窗口内像素信息包括:字幕窗口长度值X0、字幕窗口宽度值Y0、字幕窗口分辨率、字幕窗口内每行像素值、位置值L1及像素数及行号、字幕窗口内每列像素值、位置值L2及像素数及列号。
其中,所述变形单元参数信息包括:选取基本变形单元长度值X1、基本变形单元宽度值Y1,变形类型,基本变形单元布局数量,基本变形单元位置、基本变形单元形状。
其中,所述变形类型包括:透镜特效特效、超新星特效、扭动特效。
其中,所述根据变形单元参数,建立变形模型具体包括:建立透镜特效模型;建立超新星模型;建立扭动模型;所述建立播放帧与变形模型的关联具体包括:获取帧t与透视量P、延展长度El、扭动直径Tdi之间函数关系,f(t)=f(t,P);f(t)=f(t,El);f(t)=f(t,Tdi);获取帧t与透视量P、延展长度El、扭动直径Tdi之间的函数关系;并将上述关系连接到所述变形模型中。
其中,所述透镜特效模型单元用于拾取字幕窗口内行或列像素值及像素数;根据偏移方向对所述像素位置值、所述透视量P进行累加,得到变化后的像素位置值f(Lz)=L1×P;根据所述像素位置值进行像素赋值。
其中,所述建立超新星特效模型单元用于拾取字幕窗口内行或列像素值及像素数;根据延展方向Ed对所述像素位置值、所述延展长度E1、及超新星延展条数n进行形状合成;f(Lz)=f(Ed,E1,n),所述建立扭动特效模型单元用于拾取字幕窗口内行或列像素值及像素数;根据扭动方向Td对所述像素位置值、所述扭动直径Tdi、进行形状合成;f(Lz)=f(Td,Tdi)。
以上技术方案可以看出,本发明具有以下优点:
首先,本发明通过对每个字幕窗口中的每个像素的计算,根据区域比较的方式对每个像素进行属性赋值,只用到了基本的比例、赋值运算,从而使计算可以依赖与CPU给予实现,可不依赖与GPU给予实现。
其次,本发明通过对字幕窗口内像素信息及基本变形单元参数的采集,确定实际变形区域,并且也基于基本变形单元进行变换。
之后,本发明在基本变形单元上建立变形单元模型,因此很好的保证了素材的随时替换,增加了字幕特效制作的效率。
最后,本发明可通过对变形参数本身的设定,与帧关联,增加了特效的表现形式。
附图说明
图1为本发明一种通过滤镜变换实现动态二维字幕的方法示意图;
图2为本发明方法第一实施例效果图;
图3为本发明方法第二实施例的效果图;
图4为本发明方法第三实施例的效果图;
图5为本发明一种通过滤镜变换实现动态二维字幕的系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然所描述的实施例仅是本发明的一部分实施例,不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
请参阅图1、2,本发明方法第一实施例,通过一种通过滤镜变换实现动态二维字幕的方法实现“透视”特效字幕变形的方法:
首先,采集字幕窗口内像素信息;所述字幕窗口内像素信息包括:字幕窗口长度值X0、字幕窗口宽度值Y0、字幕窗口分辨率、字幕窗口内每行像素值、位置值L1及像素数及行号、字幕窗口内每列像素值、位置值L2及像素数及列号并确定基本变形单元参数;其中,基本变形单元参数包括:选取基本变形单元长度值X1、基本变形单元宽度值Y1,变形类型,基本变形单元布局数量,也就是指基本变形单元的数量,图2中可以看出其基本变形单元布局数量为1,基本变形单元位置:是指基本变形单元布局数量在整体字幕窗口内的位置、基本变形单元形状,其所述基本变形单元形状可以包括:四边形、圆形、椭圆形、水滴形,图示为四边形。
在获取以上参数后,根据所述基本变形单元参数,进行特效叠加,从而得到更为立体的效果,如图2所示所加入的特效主要是两个方面,一是,根据基本变形单元长度值X1、基本变形单元宽度值Y1叠加两边阴影,从而获取凸出或凹入阴影方向显示,二是,在对应的其他两边上生成分解线显示。
之后可以在基本变形单元内建立基本变形单元模型,当变形类型为如图2所示透镜特效时,建立透镜特效模型的具体过程是;
首先,拾取字幕窗口内行或列像素值及像素数;
之后,根据偏移方向对所述像素位置值、所述透视量P进行累加,得到变化后的像素位置值f(Lz)=L1×P,其中对于透视量P,还可以对其中所述透视量P赋予随机函数,f(Lz)=L1×f(P),从而可以通过改变透视量而取得不同的透视变形效果。
接下来,根据所述像素位置值进行像素赋值,建立播放帧与变形模型的关联,获取帧t与透视量P之间函数关系,f(t)=f(t,P);获取帧t与透视量P之间的函数关系,并将上述关系连接、并实施到所述变形模型中。
最后,按照帧序,对每帧画面根据所述关联进行渲染,在渲染过程中对于图示量,及透视变形的过程、都可以实现动态显示。
实施例二:
请参阅图3,本发明方法第一实施例,通过一种通过滤镜变换实现动态二维字幕的方法实现“超新星”特效字幕变形的方法:
首先,采集字幕窗口内像素信息;所述字幕窗口内像素信息包括:字幕窗口长度值X0、字幕窗口宽度值Y0、字幕窗口分辨率、字幕窗口内每行像素值、位置值L1及像素数及行号、字幕窗口内每列像素值、位置值L2及像素数及列号并确定基本变形单元参数;其中,基本变形单元参数包括:选取基本变形单元长度值X1、基本变形单元宽度值Y1,变形类型,基本变形单元布局数量,也就是指基本变形单元的数量,图3中可以看出其基本变形单元布局数量为1,基本变形单元位置:是指基本变形单元布局数量在整体字幕窗口内的位置、基本变形单元形状,其所述基本变形单元形状可以包括:四边形、圆形、椭圆形、水滴形,图示为四边形、或者为圆形。
之后可以在基本变形单元内建立基本变形单元模型,当变形类型为如图3所示为超新星特效时,建立超新星特效模型的具体过程是;
首先,拾取字幕窗口内行或列像素值及像素数;
之后,根据延展方向Ed对所述像素位置值、所述延展长度El、及超新星延展条数n进行形状合成;f(Lz)=f(Ed,El,n),于此同时还可以对其中所述延展长度El、赋予随机函数:f(Lz)=f(Ed,El,n)×f(El);从而可以通过改变延展长度El而取得超新星闪烁的变形效果。
接下来,根据所述像素位置值进行像素赋值,建立播放帧与变形模型的关联,获取帧t与延展长度El之间函数关系,f(t)=f(t,El);获取帧t与延展长度El之间的函数关系,并将上述关系连接、并实施到所述变形模型中。
最后,按照帧序,对每帧画面根据所述关联进行渲染,在渲染过程中对于图示量,及透视变形的过程、都可以实现动态显示。
实施例三:
请参阅图4,本发明方法第一实施例,通过一种通过滤镜变换实现动态二维字幕的方法实现“扭动”特效字幕变形的方法:
首先,采集字幕窗口内像素信息;所述字幕窗口内像素信息包括:字幕窗口长度值X0、字幕窗口宽度值Y0、字幕窗口分辨率、字幕窗口内每行像素值、位置值L1及像素数及行号、字幕窗口内每列像素值、位置值L2及像素数及列号并确定基本变形单元参数;其中,基本变形单元参数包括:选取基本变形单元长度值X1、基本变形单元宽度值Y1,变形类型,基本变形单元布局数量,也就是指基本变形单元的数量,图4中可以看出其基本变形单元布局数量为1,基本变形单元位置:是指基本变形单元布局数量在整体字幕窗口内的位置、基本变形单元形状,其所述基本变形单元形状可以包括:四边形、圆形、椭圆形、水滴形,图示为四边形、或者为圆形。
之后可以在基本变形单元内建立基本变形单元模型,当变形类型为如图4所示为扭动特效时,建立扭动特效模型的具体过程是;
首先,拾取字幕窗口内行或列像素值及像素数;
之后,根据扭动方向Td对所述像素位置值、所述扭动直径Tdi、进行形状合成;f(Lz)=f(Td,Tdi),于此同时还可以扭动直径Tdi其赋予随机函数:f(Lz)=f(Td,Tdi)×f(Tdi);从而可以通过扭动直径Tdi而取得不同的扭动的变形效果。
接下来,根据所述像素位置值进行像素赋值,建立播放帧与变形模型的关联,获取帧t与扭动直径Tdi之间函数关系,f(t)=f(t,Tdi);获取帧t与扭动直径Tdi之间的函数关系,并将上述关系连接、并实施到所述变形模型中。
实施例四:
请参阅图4,本发明方法第三个实施例,本发明提供一种通过滤镜变换实现动态二维字幕的系统,其特征在于,具体包括:字幕窗口信息采集单元、变形单元信息采集单元、变形模型生成关联单元、渲染赋值单元,其中,字幕窗口信息采集单元、变形单元信息采集单元将参数输入变形模型生成关联单元,所述变形模型生成关联单元输出到渲染赋值单元,进行字幕窗口内的像素渲染。
所述字幕窗口信息采集单元用于获取字幕窗口内像素信息,变形参数信息;所述变形单元信息采集单元用于获取变形单元参数信息;生成关联单元用于根据变形单元参数,建立变形模型,并建立播放帧与变形模型的关联,所述渲染赋值单元用于按照帧序,对每帧画面根据所述关联进行渲染。
其中,所述字幕窗口内像素信息包括:字幕窗口长度值X0、字幕窗口宽度值Y0、字幕窗口分辨率、字幕窗口内每行像素值、位置值L1及像素数及行号、字幕窗口内每列像素值、位置值L2及像素数及列号。
其中,所述变形单元参数信息包括:选取基本变形单元长度值X1、基本变形单元宽度值Y1,变形类型,基本变形单元布局数量,基本变形单元位置、基本变形单元形状。
其中,所述变形类型包括:透镜特效特效、超新星特效、扭动特效。
其中,所述根据变形单元参数,建立变形模型具体包括:建立透镜特效模型;建立超新星模型;建立扭动模型;所述建立播放帧与变形模型的关联具体包括:获取帧t与透视量P、延展长度El、扭动直径Tdi之间函数关系,f(t)=f(t,P);f(t)=f(t,El);f(t)=f(t,Tdi);获取帧t与透视量P、延展长度El、扭动直径Tdi之间的函数关系;并将上述关系连接到所述变形模型中。
其中,所述透镜特效模型单元用于拾取字幕窗口内行或列像素值及像素数;根据偏移方向对所述像素位置值、所述透视量P进行累加,得到变化后的像素位置值f(Lz)=L1×P;根据所述像素位置值进行像素赋值。
其中,所述建立超新星特效模型单元用于拾取字幕窗口内行或列像素值及像素数;根据延展方向Ed对所述像素位置值、所述延展长度El、及超新星延展条数n进行形状合成;f(Lz)=f(Ed,El,n),所述建立扭动特效模型单元用于拾取字幕窗口内行或列像素值及像素数;根据扭动方向Td对所述像素位置值、所述扭动直径Tdi、进行形状合成;f(Lz)=f(Td,Tdi)。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。