首页> 中国专利> 用于台标字幕插入系统的解码方法及图像插入方法

用于台标字幕插入系统的解码方法及图像插入方法

摘要

本发明提供了一种用于台标字幕插入系统的解码方法及图像插入方法,该解码方法包括:设定视频序列帧中待解码的视频帧的解码区的解码参数;判断待解码的视频帧的帧类型;根据解码参数、帧类型和视频序列帧中位于待解码的视频帧之前的多个已解码的视频帧的运动复杂度调整待解码的视频帧的解码区的解码范围,并根据调整后的解码范围对待解码的视频帧的解码区进行解码。该解码方法通过自适应地调整视频帧的解码区的解码范围,从而使得视频帧的解码区的解码计算复杂度降低和解码处理时间缩短。该图像插入方法在视频帧的解码步骤中采用了上述的解码方法,从而使得图像插入的计算复杂度减小,处理时间缩短。

著录项

  • 公开/公告号CN101860755A

    专利类型发明专利

  • 公开/公告日2010-10-13

    原文格式PDF

  • 申请/专利权人 北京数码视讯科技股份有限公司;

    申请/专利号CN201010174645.9

  • 发明设计人 崔玉斌;

    申请日2010-05-12

  • 分类号H04N7/26;H04N7/24;

  • 代理机构北京康信知识产权代理有限责任公司;

  • 代理人余刚

  • 地址 100085 北京市海淀区上地信息产业基地开拓路15号数码视讯大厦

  • 入库时间 2023-12-18 00:56:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-07-25

    授权

    授权

  • 2010-11-24

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20100512

    实质审查的生效

  • 2010-10-13

    公开

    公开

说明书

技术领域

本发明涉及台标字幕插入系统领域,具体而言,涉及一种用于台标字幕插入系统的解码方法及图像插入方法。

背景技术

随着数字视频业务的普及以及三网融合大趋势的确定,数字视频之间的转码需求以及在转码框架中的各种应用需求日益增长。视频转码涉及了视频解码和再编码技术,是视频编解码领域的重点和难点。

采用局部解码再编码架构的台标字幕插入系统中,视频帧一般存在两种条带(slice):解码条带和旁通条带。旁通条带不做解编码处理,直接从输入视频流中把该条带拷贝到输出缓存,处理复杂度非常低。因此,台标字幕插入过程的计算量主要集中在处理解码条带,解码条带的数目与局部解码区的范围有关,而局部解码区的范围是由解码区的活动性决定的,即解码区内宏块的MV(MotionVector,运动矢量)的绝对值越大,其参考帧需要解码的范围就越大。而较大的解码范围意味着需要处理较多的解码条带,这对视频帧的处理时间和计算复杂度都有较大的影响。

在现有的采用局部解码再编码方法的TS(Transfer Stream,传输流)流台标字幕插入系统中,局部解码区的范围是不变的,为了保证解码质量,通常设定为一个很大的值,这就意味着需要处理较多的解码条带,从而导致视频帧解码的计算复杂度的加大和处理时间的增加。

发明内容

为解决先有技术存在的问题,本发明提供了一种用于台标字幕插入系统的视频帧的解码方法,该解码方法可使视频帧的解码区的解码计算复杂度下降和解码处理时间缩短;本发明进而提供了一种计算复杂度较小的用于台标字幕插入系统的图像插入方法。

根据本发明的一方面,提供了一种用于台标字幕插入系统的视频帧的解码区的解码方法,包括步骤S102,设定视频序列帧中待解码的视频帧的解码区的解码范围参数;步骤S104,判断待解码的视频帧的帧类型;步骤S106,根据解码范围参数、帧类型和视频序列帧中位于待解码的视频帧之前的多个已解码的视频帧的运动复杂度调整待解码的视频帧的解码区的解码范围,并根据调整后的解码范围对待解码的视频帧的解码区进行解码。

进一步地,运动复杂度为视频帧的解码区内所有宏块的MV的L1范数的平均值,其计算公式为:

Amv=Σi=1N(|Ximv|+|Yimv|)N

其中,为运动复杂度;N为解码区内宏块数;和分别为第i个宏块的MV的水平分量绝对值和垂直分量绝对值。

进一步地,解码范围参数包括视频帧的解码区的解码范围的初始值、最小值和最大值,其中,最小值<初始值<最大值。

步骤S106进一步包括:当待解码的视频帧为I帧或P帧时,按初始值设定的解码范围对I帧或P帧进行解码,并计算和保存P帧的运动复杂度;当待解码的视频帧为B帧时,则根据视频序列帧中位于B帧之前的多个P帧的运动复杂度,在所限定的最小值和最大值的区间内调整B帧的解码范围,并按调整后的解码范围对B帧进行解码。

进一步地,根据视频序列帧中位于B帧之前的多个P帧的运动复杂度,在所限定的最小值和最大值的区间内调整B帧的解码范围的步骤包括:当位于B帧之前并与B帧相隔最近的一个P帧的运动复杂度大于或等于第一阈值时,将B帧的解码范围调整为最大值;当位于B帧之前并与B帧相隔最近的一个P帧的运动复杂度大于或等于第二阈值且小于第一阈值时,将B帧的解码范围增大一个级数;当位于B帧之前并与B帧相隔最近的连续N个P帧的运动复杂度均小于第二阈值时,将B帧的解码范围缩小一个级数,否则B帧的解码范围保持不变;其中,视频序列帧中的第一个B帧调整前的解码范围为设定的初始值,其余B帧调整前的解码范围为前一个B帧调整后的解码范围。

进一步地,第一阈值为8,第二阈值为2。

进一步地,N为2或N为3。

进一步地,一个级数的大小为32像素。

进一步地,视频帧的解码区包括插入区和相关区,插入区为插入图像所覆盖的区域;相关区为与插入区宏块存在直接或间接相互参考关系的宏块组成的区域。

进一步地,视频帧的解码区的解码范围为视频帧的解码区的纵向宽度。

根据本发明的另一方面,提供了一种用于台标字幕插入系统的图像插入方法,包括以下步骤:将输入台标字幕插入系统的视频流中的视频帧进行解码;在解码后的视频帧的插入区插入图像;将插入图像后的视频帧进行再编码;将再编码后的带有插入图像的视频帧的视频流输出;其中,将输入台标字幕插入系统的视频流中的视频帧进行解码的步骤中的解码方法采用的是前文所述的用于台标字幕插入系统的视频帧的解码方法。

本发明具有以下有益效果:

1.由于视频流中的视频帧通常是参考位于其之前的视频帧进行编码的,因此,待解码的视频帧的局部宏块的运动特点一般与其参考的视频帧的局部宏块相类似,因此本发明根据位于待解码的视频帧之前的参考帧的运动复杂度来自适应地调整待解码的视频帧的解码范围,使得待解码的视频帧的解码区内所包含的解码条带数目较少,从而降低解码计算的复杂度和缩短解码处理时间。

2.本发明通过在视频帧的解码步骤中自适应地调整视频帧的解码范围,使得在视频帧中进行图像插入时,解码和再编码的计算复杂度降低,处理时间缩短。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1示出了本发明的视频帧划分示意图;

图2示出了本发明优选实施例的视频帧的解码区的解码方法流程图;

图3示出了图2所示B帧的解码范围调整流程图;以及

图4示出了本发明另一优选实施例的图像插入方法流程图。

具体实施方式

下面将参考附图并结合实施例,来详细说明本发明。

如图1所示,在采用局部解码再编码架构的台标字幕插入系统中,视频帧通常分为插入区100、相关区200和无关区300三个区域,插入区100为所插入的台标或字幕等图像所覆盖的视频图像区域。相关区200为与插入区宏块存在直接或间接相互参考关系的宏块组成的区域。无关区300为显示器的视频图像剩余的区域。其中前两个区内所包含的条带为解码条带,解码条带的宏块在进行台标和字幕插入时需要解码,因此插入区100和相关区200统称为解码区。无关区300所包含的条带为旁通条带,旁通条带不做解编码处理,直接从输入视频流中把该条带拷贝到输出缓存,处理复杂度非常低。因此,台标字幕插入过程的计算量主要集中在处理解码条带,适当减小视频帧的解码区的纵向宽度,即调整视频帧的解码区的解码范围可以减少解码条带的数目,从而降低了解码的计算复杂度。

在采用局部解码再编码方法的传输流台标字幕插入算法中,局部解码区的范围是由解码区的活动性决定的,即解码区内宏块的运动矢量的绝对值越大,其参考帧需要解码的范围就越大。而较大的解码范围意味着处理较多的宏块,这对视频帧的处理时间有较大的影响,主要原因如下:对宏块进行解码再编码需要经过变长解码、逆量化、反离散余弦变换、运动补偿、运动估计、离散余弦变换、量化、变长编码等处理,计算复杂度很高,处理时间较长。中央处理器的片内高速缓存的空间不足以存储一帧标清视频的解码数据,因此视频帧的解码数据只能存放到处理器的内存中。这就导致在解码再编码宏块的过程中需要频繁地在片内高速缓存和内存之间传输数据。然而内存的存取速度远低于CPU的处理频率,这就使CPU大多数的处理周期都处在等待数据的空闲状态,浪费了系统资源,增加了视频帧数据的处理时间。

然而,台标或字幕图片一般插在电视节目的边角部分,而此部分的活动性一般较小,尤其对于宽屏的电视节目,其上下边缘为黑条,前后帧之间没有运动。对于运动比较平滑的视频帧设定较小的解码范围,从而可以降低台标字幕插入系统的解码计算的复杂度。由于视频流中B帧是参考I或P帧进行编码的,因此,B帧局部宏块的运动特点一般和其参考的P帧局部宏块相类似,因此,可以根据参考视频帧解码区的运动特点,预测B帧解码区的运动特点,据此来自适应地调整B帧的解码范围Rref。视频帧解码区的宏块的运动特点可以采用视频帧解码区的运动复杂度参数来度量,在本发明中,运动复杂度定义为视频帧解码区内所有宏块MV的L1范数的平均值,计算公式如下:

Amv=Σi=1N(|Ximv|+|Yimv|)N

其中N为解码区内宏块数,和分别为第i个宏块MV的水平分量绝对值和垂直分量绝对值。

图2示出了本发明优选实施例的视频帧的解码区的解码方法流程图。由于视频流中B帧是参考I或P帧进行编码的,因此,B帧局部宏块的运动特点一般和其参考的P帧局部宏块相类似,因此可以根据求得的P帧运动复杂度来调整B帧的解码范围。在本实施例中,待解码的MPEG-2视频序列帧排列为I0P1B2B3P4B5B6P7B8B9I10P11B12B13...,按照帧下标顺序依次处理各视频帧。如图2所示,该视频序列帧的解码区的解码范围调整具体包括以下步骤:

S202,设定视频帧解码区的解码范围参数,包括解码范围的初始值、最大值MAX(Rref)和最小值MAX(Rref)。在本实施例中,Rref的初始值为160像素,最大值MAX(Rref)为192像素,最小值MIN(Rref)为32像素。

S204,接收视频序列帧中的第一帧,即I0帧。

S206,判断当前待解码的视频帧的类型,如果待解码的视频帧为I帧或P帧,则执行步骤S208,如果待解码的视频帧为B帧,则执行步骤S210。

S208,按步骤S202中设定的视频帧的解码区的解码范围初始值对待解码的I帧或P帧进行解码,并计算和保存P帧的运动复杂度。在本实施例中,视频序列帧中的I0、P1、P4、P7、I10和P11的解码区的解码范围将按160像素进行解码,并计算和保存P1、P4、P7、P11的运动复杂度。

S210,根据视频序列帧中位于待解码B帧之前的多个P帧的运动复杂度的值,在预先设定的MAX(Rref)和MIN(Rref)所限定的区间内调整该B帧的解码范围。根据P1的运动复杂度调整B2和B3的解码区的解码范围,根据P1、P4的运动复杂度调整B5、B6的解码区的解码范围,其它B帧也类似地根据位于其前面的P的运动复杂度来调整其解码范围,具体参考的P帧的个数可以根据实际需要调整。B2帧调整前的解码范围为所设定的初始值160像素,其它B帧的解码范围的调整是在前一个B帧调整后的解码范围的基础上调整。即在32像素与192像素之间按预定的规则调整B2、B3、B5、B6、B8、B9、B12、B13的解码范围。具体调整步骤将在图3中详细描述。

S212,按调整后的解码范围对B帧解码。

S214,判断视频序列帧是否结束,如果未结束,则执行步骤S216,如果序列帧结束,则整个视频序列帧的解码区的解码范围调整的流程结束。

S216,接收下一视频帧。即依次接收I0P1B2B3P4B5B6P7B8B9I10P11B12B13视频序列帧中的各帧,并回到步骤S206循环执行视频帧的解码区的解码范围调整流程直到整个视频序列帧解码结束。

图3示出了图2所示B帧的解码范围调整流程图。本实施例在视频帧解码区的运动复杂度上设置了双阈值:第一阈值Tc和第二阈值Ts,这两个阈值是通过统计得来的经验值,设定Ts=2,Tc=8,因此可以根据求得的P帧运动复杂度与设定的双阈值之间的大小关系来调整B帧的解码范围。当需要将待解码的B帧的解码区的解码范围调大时,只参考位于该B帧之前并且与其位置相隔最近的一个P帧的运动复杂度,当需要将待解码的B帧的解码区的解码范围调小时,可以通过参考位于该B帧之前并且与其位置相隔最近的两个或三个P帧的运动复杂度,这种对视频帧解码范围的缩小采用谨慎的方式,可以尽可能的保证解码的质量。本实施例中,在B帧的解码区的解码范围调小时,采用参考两个P帧的运动复杂度的调整方式。如图3所示,图2所示步骤S210具体包括以下步骤:

S2102,判断待解码B帧之前并且与其位置相隔最近的一个P帧的运动复杂度是否大于或等于第一阈值Tc,如果是,则执行步骤S2104,否则,执行步骤S2106。

S2104,将待解码的B帧的解码区的解码范围调整为最大值192像素。

S2106,判断待解码B帧之前并且与其位置相隔最近的一个P帧的运动复杂度是否大于或等于第二阈值Ts,即P帧的运动复杂度位于半开半闭区间[28),如果是,则执行步骤S2108,否则,执行步骤S2110。

S2108,将待解码的B帧的解码区的解码范围增加一个级数,在本实施例中,一个级数的大小为32像素。当待解码的B帧的解码区的解码范围已经为最大值时,则不执行对所述B帧的解码区的解码范围增加一个级数的操作。

S2110,判断待解码B帧之前并且与其位置相隔最近的一个P帧的运动复杂度是否小于第二阈值Ts,如果是,则继续比较位于上述P帧之前并且与其位置相隔最近的另一个P帧的运动复杂度是否也小于第二阈值Ts,如果是,则执行步骤S2112,如果否或者该P帧不存在,则执行步骤S2114。

S2112,将待解码B帧的解码区的解码范围减小一个级数,即减小32个像素,当待解码的B帧的解码区的解码范围已经为最小值时,则不执行对所述B帧的解码区的解码范围减小一个级数的操作。

S2114,待解码B帧的解码区的解码范围保持不变。

在本实施例中,当处理完P7帧后,接下来B8进行如下处理:

当P7帧求得的运动复杂度大于或等于Tc时,把B8帧的解码范围设置成最大值MAX(Rref)。

当求得的运动复杂度在Ts和Tc之间时,把B8帧的解码范围放大32像素。

当连续2个P帧求得的运动复杂度和均小于Ts时,B8帧的解码范围缩小32像素;当小于Ts,而不小于Ts时,B8帧的解码范围保持不变。当然,B8帧的解码范围的缩小也可根据位于其之前的连续3个P帧来确定。例如,当连续3个P帧求得的运动复杂度和均小于Ts时,B8帧的解码范围缩小32像素,当小于Ts,而不都小于Ts时,B8帧的解码范围保持不变。

在本实施例中,后一个B帧的解码区的解码范围是在前一个B帧调整后的解码范围的基础上进行的,即B9帧的解码区的解码范围的调整是在B8帧的解码区的解码范围调整后的基础上进行的。

当然,也可以将两个P帧之间位置连续的两个B帧作为一组,各组B帧的解码区的解码范围是在前一组B帧调整后的解码范围的基础上进行,而组内两个B帧的解码区的解码范围作同样的调整,在一个未示出的实施例中,待解码的B帧的解码区的解码范围可以按以下方法调整,当处理完P7帧后,接下来对于同属于一组的B8和B9进行如下处理:

当P7帧求得的运动复杂度大于或等于Tc时,把B8和B9帧的解码范围设置成最大值MAX(Rref)。

当求得的运动复杂度在Ts和Tc之间时,把B8和B9帧的解码范围放大32像素。

当连续2个P帧求得的运动复杂度和均小于Ts时,B8和B9帧的解码范围缩小32像素;当小于Ts,而不小于Ts时,B8和B9帧的解码范围保持不变。当然,B8和B9帧的解码范围的缩小也可根据位于其之前的连续3个P帧来确定。例如,当连续3个P帧求得的运动复杂度和均小于Ts时,B8和B9帧的解码范围缩小32像素,当小于Ts,而不都小于Ts时,B8和B9帧的解码范围保持不变。

当求得的运动复杂度在Ts和Tc之间时,把B8和B9帧的解码范围都放大32像素。

如图4所示,在台标字幕插入系统中插入图像包括以下步骤:

S402,将输入台标字幕插入系统的视频流中的视频帧进行解码。其中,在此解码步骤中,采用前文所述的视频帧的解码方法。由于该解码方法可以自适应地调整视频帧解码区的解码范围,使得在进行图像插入时,解码区的解码条带数量少,减小了解码计算的复杂度。

S404,在解码后的视频帧的插入区插入图像。

S406,将插入图像后的视频帧进行再编码。由于解码区的解码条带数量少,对应的再编码的条带数量也就少,这样就减小了再解码的计算复杂度。

S408,将再编码后的带有插入图像的视频帧的视频流输出。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号