一种用于在数字视频上动态叠加字幕的方法

文档序号:3005733阅读:497来源:国知局
专利名称:一种用于在数字视频上动态叠加字幕的方法
技术领域
本发明涉及一种在数字视频上动态叠加字幕的方法,具体涉及一种用于数字视盘、数字电视、网络视频、视频点播(VOD)等数字视频应用领域中在数字视频上动态叠加字幕地方法。
背景技术
最早的图文都是直接叠加在视频上,一旦制作完成就无法去掉和更换,VCD使用的是该种方法。
为了实现多种文字字幕,目前主要的数字视频应用(DVD和HDTV)都使用动态字幕叠加方式,即字幕和视频分开编码,在显示端实时将字幕和视频进行叠加。这样做的好处是可以同时存储或传送多路字幕(不同语言的字幕),根据用户的需要选择一种字幕进行叠加,而用户不希望字幕干扰画面的时候亦可以不进行字幕叠加。
HDTV的字幕数据为字符对应的编码(如ASCII码或UNICODE码),这就要求在显示端存在字符发生器,这大大限制了字幕的灵活性。并且如果不同的显示终端使用不同的字符风格,显示效果就会不同。
DVD传送的是编码了的图像信息,这样在显示端不需要字符发生器,降低了显示端成本。但是DVD实现的方式决定了字幕仅能为4色,不能实现很多特技,整个实现方法很复杂。

发明内容
本发明的目的,在于提高各种数字视频应用的字幕叠加能力,使字幕具有更多的色彩能力和特技能力,但是实现简单,语法清晰,易于实现。
基本数据类型
INTn n位的有符号整数(n可以为8,16,32,64)。
UINTn n位的无符号整数(n可以为8,16,32,64)。
Bytes 无确切含义的多个字节,填充内容时从低字节开始,未填内容的字节必须
全部置为0。
RBP 相对字节位置
STRING以UNICODE编码的字符串
ZERO 表示对应字节的所有比特均为零
OGT页
叠加字幕的数据由一系列的OGT(Overlay Graphics and Text)页组成,OGT页和视频数据流按照一定的规则复用后进行传送和储存(如使用MPEG2的PS流方式)。
OGT页由OGT头、OGT象素数据和OGT命令序列组成
OGT页结构
OGT头提供关于OGT页的信息,OGT象素数据包含被编码了的比特图(Bit Map)数据,并非每个OGT页都存在OGT象素数据,OGT命令控制OGT定时和显示参数。
OGT头
OGT头包含OGT页的所有有关信息,OGT头结构如表1所示。
表1 OGT头结构其中
(RBP 00 to 05)OGT_ID
OGT识别码,规定为以UNICODE编码的“OGT”
(RBP 06 to 07)OGT_VER
OGT的版本号,各字节的意义如下B13 b14b13b12b11b10b9b8b7b6 b5 b4 b3 b2 b1 b0(RBP 08 to 11)OGT_SIZEOGT页的长度,即OGT页的总的大小,单位为字节。(RBP 12 to 15)OGT_HD_SIZEOGT头的长度,单位为字节,目前定义的OGT头长度为64字节。(RBP 16 to 19)OGT_PT_SAOGT图像数据起始地址,以OGT页内字节偏移量表示。若该值为0,则表示没有OGT图像数据;否则该值应该为64。(RBP 20 to 23)OGT_CM_SAOGT命令起始地址,以OGT页内字节偏移量表示。OGT象素数据OGT象素数据由OGT图像头、调色板数据和OGT图像数据组成OGT图像头OGT图像头包含OGT象素数据的有关信息,OGT图像头结构如表2所示。
表2 OGT图像头结构其中
(RBP 00 to 05)PT_ID
OGT图像识别码,规定为以UNICODE编码的“PIT”
(RBP 06 to 07)PT_VER
OGT图像的版本号,各字节的意义如下B15 B14 b13 b12 b11 b10 b9 b8b7 B6b5 b4b3 b2 b1 b0(RBP 08 to 09)PT_WIDTHOGT图像宽度,单位为像素。(RBP 10 to 11)PT_HEIGHTOGT图像高度,单位为像素。(RBP 12)PT_CMOGT图像压缩标志 b7 b6 b5 b4 b3 b2 b1 b0编码方式 000b未压缩
001b游长编码
010bMPEG2 I帧(RBP 13)PT_PALSOGT图像调色板信息 b7 b6 b5 b4 b3 b2 b1 b0高亮调色板 0b高亮调色板不存在
1b高亮调色板存在调色板数目/像素比特数001b1比特/像素,调色板包含2项
010b2比特/像素,调色板包含4项
011b4比特/像素,调色板包含16项
100b8比特/像素,调色板包含256项
其它保留(RBP 14 to 17)PT_DATA_SIZEOGT图像数据的长度,以字节为单位(RBP 18)PT_NOOGT图像号,允许的数字为0~3,该号指出替换前面传送的相同号的原始图像。调色板数据调色板数据包括原色调色板和高亮调色板调色板的项数由PT_PAL决定,所有调色板的项数均相同。每个调色板项由4个字节组成,各字节定义如下
B31B30B29b28b27b26b25b24B23B22B21b20b19b18b17 b16B15B14B13b12b11b10b9b8b7 B6 b5 b4 b3 B2 b1b0OGT图像数据
若PT_CM为0,OGT象素数据为未压缩的原始数据若PT_CM为1,OGT象素数据为压缩的游长编码数据;若PT_CM为2,OGT象素数据为按照MPEG2的I帧压缩的数据。
OGT命令序列
OGT命令序列是由以OGT时间命令开始的一组OGT命令码组成,其有效期由OGT时间命令中规定的有效时间决定。
OGT命令序列提供了设置和改变各种OGT参数的机构。它也提供了与视音频显示同步改变的定时机构。OGT命令序列对下列特点提供支持
a)在有效期内使能/失效OGT显示;
b)设置显示区;
c)设置高亮区;
d)设置调色板;
e)实现菜单
OGT的区
所谓的区就是定义的一个矩形区域。OGT中定义的区包括OGT显示区、OGT高亮区和OGT选择区。
所有区的坐标定义均为左上角为原点,水平方向向右为正向,垂直方向向下为正向。
OGT显示区
OGT显示区为显示屏幕上的一个区,在该区域范围内可将OGT图像叠加显示在视频图像之上。
在同一时刻,我们可以定义4个OGT显示区,而这4个OGT显示区可以重叠。
每个OGT显示区可以有自己独立的原色调色板和高亮调色板,这两个调色板的初值与对应的位图调色板相同。
OGT高亮区
OGT高亮区为定义在某个显示区之中的一个区,该区内的象素用高亮色显示。
每个OGT显示区允许设置多达4个的高亮区。
每个OGT高亮区可以有自己独立的调色板,该调色板的初值与对应OGT显示区的高亮调色板相同。
OGT选择区
OGT选择区为定义在某个显示区之中的一个区,在该区内的象素在用户选中后用高亮色显示。
所有显示区一共可以定义24个选择区,每个选择区的区号不能重复。其中前22个选择区(选择区区号0~21)用户可以用数字键或方向键选择,2个选择区(选择区区号22和23)专用于供用户用“PREV”和“NEXT”键进行选择。
每个OGT选择区可以有自己独立的调色板,该调色板的初值与对应OGT显示区的高亮调色板相同。
OGT命令码
所有OGT命令码均为64比特。它们由一个操作码(Opcode)和一个/组参数组成。
OGT时间命令
OGT时间命令用于控制OGT显示区显示使能或失效,以及控制OGT显示区显示定时。第一个OGT命令应总是为OGT时间命令,这为后续命令序列设置显示时间,直到下一个OGT时间命令。该命令格式是 B63 b62 b61 b60 B59 b58 b57 b56 B55 b54 b53 b52 B51 b50 b49 b48 b47b46 b45b44 B43 b42 b41b40b39 b38 b37b36 B35 b34 b33b32 b31b30 b29b28 B27 b26b25b24 b23b22 b21b20 B19 b18b17b16 b15b14 b13b12 B11 b10b9 b8 b7 b6 b5 b4b3 b2 b1 b0操作码 00000b显示区0 确定显示区区号为0的显示区得显示状态
0b关闭显示
1b打开显示
显示区1确定显示区区号为1的显示区得显示状态
0b关闭显示
1b打开显示
显示区2确定显示区区号为2的显示区得显示状态
0b关闭显示
1b打开显示
显示区3确定显示区区号为3的显示区得显示状态
0b关闭显示
1b打开显示
PTS32位的PTS,与对应视频帧的顶部场对齐
后续的命令序列从该PTS开始到下一个OGT时间命令的PTS之间保
持有效性
显示时间 以视频帧为单位的显示时间,指出后续命令的有效时间注
1. PTS和显示时间提供了不同的机制来完成相同的功能。显示终端可以自主选择一种方式进行显示时间控制。
2.若同一命令序列包含有OGT选择等待命令,则OGT时间命令规定得显示时间失效,实际的显示时间由对应的PCT中的超时时间或根据用户输入确定。
OGT显示区创建命令
OGT显示区创建命令用于建立OGT显示区的一个矩形。这一命令必须使用2次,以完全定义一个OGT显示区的映射。
操作码 00001b
矩形位置 0b原始图像
1b显示区
显示区区号 该命令对应的显示区的索引号
原始图像号 该命令对应的原始图像的索引号
左上角象素水平位置定义矩形左上角坐标的X值
左上角象素垂直位置定义矩形左上角坐标的Y值
右下角象素水平位置定义矩形右下角坐标的X值
右下角象素垂直位置定义矩形右下角坐标的Y值 B63 b62 b61 b60 b59 b58 b57 b56 B55 b54 b53 b52 b51 b50b49 b48 B47 b46 b45 b44 b43 b42 b41 b40 B39 b38 b37 b36 b35 b34 b33 b32 B31 b30 b29 b28 b27b26 b25b24 B23 b22 b21 b20 b19 b18 b17b16 B15 b14 b13 b12 b11 b10 b9 b8 b7b6 b5 b4 b3b2b1 b0
OGT高亮区创建命令
OGT高亮区创建命令命令用于定义OGT高亮区的矩形坐标。
操作码 00010b
显示区区号 该命令对应的显示区的索引号
高亮区区号 该命令对应的高亮区的索引号
左上角象素水平位置定义矩形左上角坐标的X值,以显示区的相对位置表示
左上角象素垂直位置定义矩形左上角坐标的Y值,以显示区的相对位置表示
右下角象素水平位置定义矩形右下角坐标的X值,以显示区的相对位置表示
右下角象素垂直位置定义矩形右下角坐标的Y值,以显示区的相对位置表示 b63 b62 b61 b60b59 b58 b57 b56 b55 b54 b53 b52 b51 b50 b49 b48 b47 b46 b45 b44 b43 b42 b41b40 b39 b38 b37 b36 b35 b34 b33b32 b31 b30 b29 b28 b27 b26 b25 b24 b23 b22 b21 b20 b19 b18 b17 b16 b15 b14 b13 b12 b11 b10 b9 b8 b7 b6b5b4 b3 b2 b1 b0
OGT选择区创建命令OGT选择区创建命令命令用于定义OGT选择区的矩形坐标。操作码 00011b显示区区号 该命令对应的显示区的索引号选择区区号 该命令对应的选择区的索引号,为1至24之间的一个数左上角象素水平位置定义矩形左上角坐标的X值,以显示区的相对位置表示左上角象素垂直位置定义矩形左上角坐标的Y值,以显示区的相对位置表示右下角象素水平位置定义矩形右下角坐标的X值,以显示区的相对位置表示右下角象素垂直位置定义矩形右下角坐标的Y值,以显示区的相对位置表示b63 b62 b61 b60 b59 b58 b57 b56b55 b54 b53 b52 b51 b50 b49 b48b47 b46 b45 b44 b43 b42 b41 b40b39 b38 b37 b36 b35 b34 b33 b32b31 b30 b29 b28 b27 b26 b25 b24b23 b22 b21 b20 b19 b18 b17 b16b15 b14 b13 b12 b11 b10 b9 b8b7 b6 b5 b4 b3 b2 b1 b0
OGT选择区关联命令OGT选择区关联命令用于定义各个OGT选择区之间的关系。操作码 00100b显示区区号 该命令对应的显示区的索引号中心选择区区号 处于中心位置的选择区的索引号上选择区区号 用户按上箭头键后被激活的选择区的索引号下选择区区号 用户按下箭头键后被激活的选择区的索引号左上选择区区号 用户按左箭头键后被激活的选择区的索引号右上选择区区号 用户按右箭头键后被激活的选择区的索引号b63 b62 b61 b60 b59 b58 b57 b56b55 b54 b53 b52 b51 b50 b49 b48b47 b46 b45 b44 b43 b42 b41 b40b39 b38 b37 b36 b35 b34 b33 b32b31 b30 b29 b28 b27 b26 b25 b24b23 b22 b21 b20 b19 b18 b17 b16b15 b14 b13 b12 b11 b10 b9 b8b7 b6 b5 b4 b3 b2 b1 b0
OGT选择等待命令
OGT选择等待命令用于等待用户选择,该命令在用户确认了一个选择或等待时间超过PCT中规定的超时时间后终止。
OGT选择等待命令执行过程中需要根据用户的输入改变活动选择区。
操作码 00101b
显示区区号 该命令对应的显示区的索引号
活动选择区区号 初始高亮状态的选择区的索引号b63 b62 b61 b60 b59 b58 b57 b56b55 b54 b53 b52 b51 b50 b49 b48b47 b46 b45 b44 b43 b42 b41 b40B39 b38 b37 b36 b35 b34 b33 b32B31 b30 b29 b28 b27 b26 b25 b24B23 b22 b21 b20 b19 b18 b17 b16B15 b14 b13 b12 b11 b10 b9 b8b7 b6 b5 b4 b3 b2 b1 b0
OGT彩色命令OGT彩色命令用于改变调色板的颜色值。操作码 00110b显示区区号 该命令对应的显示区的索引号高亮区区号 该命令对应的高亮区的索引号选择区区号 该命令对应的选择区的索引号原始图像号 该命令对应的原始图像的索引号目标调色板 00b目标调色板为原始图像号对应的原始图像的调色板
01b目标调色板为显示区区号对应的显示区的调色板
10b目标调色板为高亮区区号对应的高亮区的调色板
11b目标调色板为选择区区号对应的选择区的调色板调色板类型 若目标调色板为00b或01b
00b原色调色板
01b高亮调色板
其它保留
若目标调色板为10b或11b
01b高亮调色板
其它保留颜色索引号 将要被替换的颜色在目标调色板中的索引号新的V值 新的调色板颜色项的V值新的U值 新的调色板颜色项的U值新的Y值 新的调色板颜色项的Y值新的α值新的调色板颜色项的透明度值B63 b62 b61 b60 b59 b58 b57 b56B55 b54 b53 b52 b51 b50 b49 b48B47 b46 b45 b44 b43 b42 b41 b40B39 b38 b37 b36 b35 b34b33 b32B31 b30 b29 b28 b27 b26b25 b24B23 b22 b21 b20 b19 b18 b17 b16B15 b14 b13 b12 b11 b10 b9 b8b7 b6 b5 b4 b3 b2 b1 b0
OGT区改变命令OGT区改变命令用于改变OGT区的大小和位置。操作码00111b显示区区号该命令对应的显示区的索引号高亮区区号该命令对应的高亮区的索引号选择区区号该命令对应的选择区的索引号原始图像号该命令对应的原始图像的索引号目标区00b目标区为显示区区号及原始图像号对应的矩形映射中原始图像中
的矩形区
01b目标区为显示区区号及原始图像号对应的矩形映射中显示区的矩
形区
10b目标区为高亮区区号对应的高亮区的矩形区
11b目标区为选择区区号对应的选择区的矩形区左右边00b矩形的左右边均固定不动
01b矩形的左边按水平方向移动因子和水平方向缩放因子指定的速率
移动
10b矩形的右边按水平方向移动因子和水平方向缩放因子指定的速率
移动
11b矩形的左、右两边均按水平方向移动因子和水平方向缩放因子指
定的速率移动上下边00b矩形的上下边均固定不动
01b矩形的上边按垂直方向移动因子和垂直方向缩放因子指定的速率
移动
10b矩形的下边按垂直方向移动因子和垂直方向缩放因子指定的速率
移动
11b矩形的上、下两边均按垂直方向移动因子和垂直方向缩放因子指
定的速率移动水平方向移动因子 8比特的有符号短整形数,符号表示移动方向正表示向右,负表
示向左,其绝对值与水平方向缩放因子的比值表示每帧移动的象素数水平方向缩放因子 8比特的无符号短整形数垂直方向移动因子 8比特的有符号短整形数,符号表示移动方向正表示向下,负表
示向上,其绝对值与垂直方向缩放因子的比值表示每帧移动的象素数垂直方向缩放因子8比特的无符号短整形数B63 b62 b61 b60 b59 b58 b57 b56B55 b54 b53 b52 b51 b50 b49 b48B47 b46 b45 b44 b43 b42 b41 b40B39 b38 b37 b36 b35 b34 b33 b32B31 b30 b29 b28 b27 b26 b25 b24B23 b22 b21 b20 b19 b18 b17 b16B15 b14 b13 b12 b11 b10 b9 b8b7 b6 b5 b4 b3 b2 b1 b0


图1为本发明具体实施例示意图本发明的具体实施例
本发明可以实现多种特技字幕,如卷字、高亮、淡入淡出、动画等下面仅举两个简单的例子。
1、卷字
卷字主要用于节目开始或结束时的演员名单等内容。
首先,产生象素数据,这些数据大于显示区。在下面的例子中,象素数据包含10个文字行,但OGT显示区的大小只能显示6行。整个卷字过程如下
传送OGT页头
传送原始图像
传送如下命令序列
1条OGT时间命令,打开显示区1
2条OGT显示区创建命令,创建显示区1
1条OGT区改变命令,定义显示区相对于原始图像做垂直运动并定义运动速度
淡出
淡出是指字幕颜色逐渐变淡至消失的过程,整个淡出过程如下
传送OGT页头
传送原始图像
传送如下命令序列
1条OGT时间命令,打开显示区1
2条OGT显示区创建命令,创建显示区1,(显示原始图像)
1条OGT时间命令,打开显示区1
n条OGT彩色命令,将图像各种颜色的色值按照一定的步长减小
1条OGT时间命令,打开显示区1
n条OGT彩色命令,将图像各种颜色的色值按照一定的步长减小
1条OGT时间命令,打开显示区1
n条OGT彩色命令,将图像各种颜色的色值按照一定的步长减小
1条OGT时间命令,关闭显示区1
注n为该图像所拥有的颜色数
综上所述,本发明能利用简单的数据结构设计,使本发明的方法可以实现字幕更多的色彩能力和特技能力。显然本发明为一种新颖、进步并具有实用性的新设计。以上所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的等效改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,均应在本发明的权利范围内,特此说明。
权利要求
1、一种用于在数字视频上动态叠加字幕的方法,其特征在于叠加字幕的数据由一系列的OGT页组成,OGT页由OGT头、OGT象素数据和OGT命令序列三部分数据组成,OGT页和视频数据流按照一定的规则复用后进行传送和储存。
2、根据权利要求1所述的用于在数字视频上动态叠加字幕的方法,其特征在于OGT头数据包括OGT识别码、OGT版本号、OGT页的长度(字节)、OGT头的长度(字节)、OGT图像数据起始地址、OGT命令起始地址和保留备用字节。
3、根据权利要求1所述的用于在数字视频上动态叠加字幕的方法,其特征在于OGT象素数据包括OGT图像识别码、OGT图像的版本号、OGT图像宽度、OGT图像高度、OGT图像压缩标志、OGT图像调色板信息、OGT图像数据的长度、OGT图像号和保留备用字节。
4、根据权利要求1所述的用于在数字视频上动态叠加字幕的方法,其特征在于OGT命令序列数据包括OCT区定义数据和OGT命令码,其中OCT区定义数据包括OCT显示区、OGT高亮区、OGT选择区;OGT命令码包括OGT时间命令、OGT显示区创建命令、OGT高亮区创建命令、OGT选择区创建命令、OGT选择区关联命令、OGT选择等待命令、OGT彩色命令、OCT区改变命令。
全文摘要
本发明涉及一种在数字视频上动态叠加字幕的方法,具体涉及一种用于数字视盘、数字电视、网络视频、视频点播(VOD)等数字视频应用领域中在数字视频上动态叠加字幕的方法。本发明其特征在于叠加字幕的数据由一系列的OGT页组成,OGT页由OGT头、OGT象素数据和OGT命令序列三部分数据组成,OGT页和视频数据流按照一定的规则复用后进行传送和储存。本发明能有效提高各种数字视频应用的字幕叠加能力,使字幕具有更多的色彩能力和特技能力,实现简单,语法清晰,易于操作。
文档编号H04N5/262GK1345159SQ0113455
公开日2002年4月17日 申请日期2001年11月2日 优先权日2001年11月2日
发明者徐翔 申请人:北京阜国数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1