传输流台标字幕插入系统的输出码率控制方法与装置的制作方法

文档序号:7889067阅读:98来源:国知局
专利名称:传输流台标字幕插入系统的输出码率控制方法与装置的制作方法
技术领域
本发明属于采用数字视频转码(Transcoding)框架的视频应用领域,特别涉及一种传输流台标字幕插入系统的输出码率控制方法与装置。
背景技术
随着数字视频业务的普及以及三网融合大趋势的确定,数字视频之间的转码需求以及基于视频转码框架的各种应用需求日益增长。视频转码涉及了视频解码和再编码技术,是视频编解码领域中的重点和难点。数字电视节目插入台标、字幕以及图像广告等图像后,会造成节目输出码率的波动,不利于统计复用或传输,需要进行速率控制。然而,目前速率控制方法在台标字幕插入系统中应用具有一定的局限性。传统的速率控制方法是根据编码器输出缓存的满溢程度和视频帧的复杂程度对编码采用的量化系数(QP)进行调整,从而达到控制编码器输出码率的目标。而对于基于数字电视传输流(TS流)插入台标、字幕以及图像广告等图像的具体应用,一般要求插入图像后电视节目视频质量无明显下降,而传统速率控制算法需要更改QP, 不能保证对插入台标字幕后的电视节目视频质量毫无影响。另外,传统的速率控制算法的计算复杂度较高,增加了处理器的负担。针对现有技术中存在的基于数字电视传输流插入图像后输出码率波动的问题,目前尚未提出有效的解决方案。

发明内容
本发明的主要目的是提供一种传输流台标字幕插入系统的输出码率控制方法与装置,以解决现有技术中数字电视传输流插入台标字幕等图像后输出码率波动的问题。为了实现上述目的,本发明提供了一种传输流台标字幕插入系统的输出码率控制方法,该方法包括对输入的视频传输流进行解码,从解码数据中获取当前宏块的解码运动矢量MV残差值;将所述MV残差值与前一宏块的参考MV相加,得到当前宏块的解码MV,并将解码MV作为当前宏块的参考MV ;根据所插入的图像的运动属性和透明度属性修改台标字幕插入区宏块的解码MV,得到该台标字幕插入区宏块的再编码MV,该再编码MV能够获得更小的预测残差值;使用再编码MV对该台标字幕插入区宏块重新进行编码。进一步地,得到台标字幕插入区宏块的再编码MV之后还包括使用再编码MV的对应分量重新赋值该插入区宏块的参考MV ;对使用再编码MV对该插入区宏块重新进行编码包括将再编码MV与前一宏块的参考MV相减,得到宏块的再编码MV残差值;对再编码MV 残差值进行编码。进一步地,使用所述再编码MV的对应分量重新赋值该宏块的参考MV之后还包括 对位于图像插入区之后的B帧宏块,根据B帧宏块的运动类型和同一条带内位于B帧宏块之前的非图像插入区宏块的运动类型重新赋值B帧宏块的参考MV。进一步地,位于图像插入区之后的B帧宏块为前向预测宏块,而且在图像插入区之后同一个条带内,该前向宏块之前没有后向预测宏块或双向预测预测宏块,使用该前向预测宏块的解码MV的前向分量对该前向预测宏块的参考MV和再编码MV的前向分量进行赋值,使用图像插入区末尾宏块的再编码MV的后向分量对前向宏块的参考MV的后向分量进行赋值。进一步地,位于图像插入区之后的B帧宏块为后向预测宏块,而且在图像插入区后同一个条带内,该后向宏块之前没有前向预测宏块或双向预测预测宏块,使用该后向预测宏块的解码MV的后向分量对后向预测宏块的参考MV和再编码MV的后向分量进行赋值, 使用图像插入区末尾宏块的再编码MV的前向分量对后向宏块的参考MV的前向分量进行赋值。根据本发明的另一个方面,提供了一种传输流台标字幕插入系统的输出码率控制装置,该装置包括解码模块,用于对输入的视频传输流进行解码,从解码数据中获取宏块的解码运动矢量MV残差值;MV计算模块,用于将MV残差值与前一宏块的参考MV相加,得到当前宏块的解码MV,并将所述解码MV作为所述台标字幕插入区宏块的参考MV;插入区宏块 MV修改模块,用于根据所插入的图像的运动属性和透明度属性修改台标字幕插入区宏块的解码MV,得到该台标字幕插入区宏块的再编码MV ;编码模块,使用再编码MV对该台标字幕插入区宏块重新进行编码。进一步地,该装置还包括插入区参考MV赋值模块,该模块用于使用再编码MV的对应分量重新赋值该台标字幕插入区宏块的参考MV ;编码模块还用于将再编码MV与宏块的前一宏块的参考MV相减,得到宏块的再编码MV残差值;对再编码MV残差值重新进行编码。进一步地,该装置还包括相关区宏块参考MV赋值模块,用于对位于图像插入区之后的B帧宏块,根据B帧宏块的运动类型和同一条带内位于该B帧宏块之前的非图像插入区宏块的运动类型重新赋值该B帧宏块的参考MV。根据本发明的技术方案,对输入的视频传输流进行解码,从解码数据中获取宏块的解码运动矢量MV残差值,将所述MV残差值与前一宏块的参考MV相加,得到当前宏块的解码MV ;根据所插入的图像的运动属性和透明度属性修改解码MV,得到宏块的再编码MV ; 使用该再编码MV对台标字幕插入区宏块重新进行编码。通过改变图像插入区内宏块的运动矢量(MV),对输出码率进行控制,采用本发明的方法,以非常小的计算量把插入图像后节目的输出码率控制在允许的范围之内,而且避免了采用传统速率控制算法修改QP,可能引起的视频质量上的损失。


说明书附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的视频帧区域划分示意图;图2是根据本发明实施例的传输流台标字幕插入系统的输出码率控制方法的示意图;图3是根据本发明实施例的根据所插入的台标字幕运动属性和透明度属性调整 MV的流程图;以及
图4是根据本发明实施例的传输流台标字幕插入系统的输出码率控制装置的示意图。
具体实施例方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。台标字幕插入系统用于在电视节目中加入台标、字幕以及图像广告等图像对象。 台标字幕插入系统在传输流中插入台标等图像需要完成解码、台标插入和再编码的处理过程。通常视频编码器的计算复杂度要比解码器的计算复杂度高得多,这主要是由于视频编码器中需要进行ME (Motion Estimation,运动估计),再由ME得到MV (Motion Vector,运动矢量)。现有技术中通常在视频转码器的再编码时,需要重新使用解码得到视频帧中宏块的参考MV进行再编码,这样就省去了 ME过程,以节省视频帧再编码的计算量。图1是根据本发明实施例的视频帧区域划分示意图,如图1所示,视频帧分为插入区100、相关区120和无关区140三个区域,插入区100为所插入的台标或字幕等图像所覆盖的视频图像区域。相关区120为与插入区宏块存在直接或间接相互参考关系的宏块组成的区域。无关区140为显示器的视频图像剩余的区域。其中前两个区内的宏块在进行台标和字幕插入时需要解码,统称为解码区。121是与位于插入区之前与插入区相邻的宏块,101 是位于插入区的第一列宏块,123是图像插入区之后的同一条带的宏块。通常所插入的台标或字幕的图像的内容与插入区100的视频背景图像的内容是不相同的。插入区100的宏块的解码MV是基于视频背景图像的最佳MV(宏块的最佳MV是能产生最小编码残差的MV),而叠加了台标或字幕后,该宏块的解码参考MV —般不再是其最佳MV 了。需要根据所插入的台标或字幕的特点来重新确定插入区宏块的最佳MV。而且对于视频帧插入区内的宏块,由于在该区内插入了台标或字幕等图像信息, 视频帧插入区宏块的重建值发生了变化,如果继续使用输入码流的解码参考MV对插入区宏块进行再编码,往往不能获得最小的编码残差,从而导致再编码模块处理了较多的残差数据,增加了再编码过程的计算复杂度。图2是根据本发明实施例的视频传输流插入台标字幕的转码过程中MV的处理方法的示意图,如图2所示,该方法主要包括如下步骤步骤S202 对输入的视频传输流进行解码,从解码数据中获取宏块的解码运动矢量MV残差值;步骤S204 将该MV残差值与前一宏块的参考MV相加,得到当前宏块的解码MV,并将所述解码MV作为当前宏块的参考MV ;步骤S206 根据所插入的图像的运动属性和透明度属性修改台标字幕插入区宏块的解码MV,得到该台标字幕插入区宏块的再编码MV ;步骤S208 使用该再编码MV对所述台标字幕插入区宏块重新进行编码。台标字幕的插入过程是个视频转码的过程,分为解码和再编码2个部分。解码MV是解码过程中得到的MV。具体过程是先解码得到MV的残差值,然后加上前一个宏块的参考MV,即获得了当前宏块的解码MV,并将该解码MV作为本宏块的参考MV 用于下一宏块的解码,然后根据插入图像的运动属性和透明度修改图像插入区的解码MV,得到该图像插入区的宏块的再编码MV,并根据宏块的位置、类型修改宏块的参考MV。通常所插入台标或字幕的显示效果可分为静止不透明、静止透明、滚动不透明和滚动透明等。图3示出了本发明优选实施例根据所插入的图标字幕运动属性和透明度属性调整MV的流程图;如图3所示,在步骤S206中,根据所插入的台标字幕的运动属性和透明度属性调整MV,具体包括以下步骤S302,判断所插入的台标字幕是否为静止,如果是则进入步骤S304,否则执行步骤 S308。S304,判断所插入的台标字幕是否为透明,如果是则进入步骤S306,否则执行步骤 S316。S306,进一步判断所插入的台标字幕的透明度的大小,如果所插入的台标字幕的透明度大于或等于透明度预设值,则执行步骤S314,否则执行步骤S316。S308,判断所插入的台标字幕的滚动速度是否大于或等于滚动预设值,如果是则执行步骤S316,否则进入步骤S310。S310,判断所插入的台标字幕是否为透明,如果是则进入步骤S312,否则执行步骤 S318。S312,进一步判断所插入的台标字幕的透明度的大小,如果所插入的台标字幕的透明度大于或等于透明度预设值,则执行步骤S314,否则执行步骤S318。S314,保持 MV 不变。S316,将 MV 置零。S318,调整MV的水平和垂直方向的分量。将MV的水平或垂直分量中的一个修改为台标字幕在对应的水平或垂直方向的滚动速度(台标字幕只在水平或垂直方向滚动), 而把另一个MV分量置零。从本实施例的上述的步骤S302至S318可以得知当插入的台标字幕图像静止且不透明显示时,前后视频帧中插入区100内的宏块的内容保持不变,因此可把这些宏块的再编码MV置零,使获得的编码残差为全零块。当插入的台标或字幕静止透明显示时,插入区100内重建的宏块包括了背景视频宏块的信息,但背景视频宏块信息在整个重建宏块中所占的权重与设定的透明度成正比。 由于台标字幕本身是静止的,当透明度较小时,将插入区宏块的MV置零,而当透明度较大时,对其MV不做修改。这样可获得最小的再编码残差。当插入的台标字幕滚动不透明显示时,插入区100内同一个宏块在前后帧中的显示位置与设定的台标字幕滚动速度成正比,因此把其MV的水平或垂直分量中的一个对应分量修改为所插入的台标字幕的滚动速度,而把MV的另一个分量置零,即当所插入的台标字幕在显示屏上显示为水平滚动,则将MV的水平分量修改为所插入的台标字幕在水平方向的滚动速度,而把MV的垂直分量置零。同样,当所插入的台标字幕在显示屏上显示为垂直方向的滚动,则将MV的垂直分量修改为所插入的台标字幕在垂直方向的滚动速度,把MV 的水平分量置零。为了确保预测的性能,当所插入的台标字幕在水平或垂直方向设置了较大的滚动速度,导致台标字幕插入区宏块参考到台标字幕插入区外的宏块时,则把该宏块的MV在对应的水平或垂直方向的分量置零。当插入的台标字幕滚动透明显示时,如果设定的透明度较大时,对台标字幕插入区宏块的MV不做修改,而当设定的透明度较小时,把插入区宏块的MV的水平或垂直分量中的一个对应分量修改为所插入的台标字幕的滚动速度,而把MV的另一个分量置零,即当所插入的台标字幕在显示屏上显示为水平滚动,则将MV的水平分量修改为所插入的台标字幕在水平方向的滚动速度,而把MV的垂直分量置零。同样,当所插入的台标字幕在显示屏上显示为垂直方向的滚动,则将MV的垂直分量修改为所插入的台标字幕在垂直方向的滚动速度,把MV的水平分量置零。为了确保预测的性能,当所插入的台标字幕设置了较大的滚动速度,导致台标字幕插入区宏块参考到台标字幕插入区外的宏块时,把该宏块的MV在对应的水平或垂直方向的分量置零。转码过程中的再编码,是对当前宏块的再编码MV进行差分编码,再编码的过程为再编码MV与其前一个宏块的MV即当前宏块的参考MV相减,得到残差值,对该残差值进行编码。MPEG根据宏块在运动补偿中的特点对其进行了划分,具体可分为帧运动补偿,场运动补偿,而根据宏块的参考方向,分为前向预测,后向预测和双向预测。因此MPEG根据宏块在运动补偿中的各种类型,定义一个三维数组MV[i] [j] [k]来标识宏块的MV,其中i、j、 k均为二进制的数据,其中k维度标识矢量方向,0表示X轴分量,1表示Y轴分量;j维度标识参考方向,0表示前向参考,1表示后向参考。i维度用来区分帧和场,0表示帧宏块,1表示场宏块。因此一个宏块就有8个不同含义的MV分量,把j分量为0的MV分量统称为宏块的前向分量,把j分量为1的MV分量统称为宏块的后向分量。步骤S206之后还可以根据宏块的类型、位置修改宏块的参考MV,具体方法包括 使用再编码MV的对应分量重新赋值该台标字幕插入区宏块的参考MV ;使用再编码MV对该台标字幕插入区重新进行编码包括将该再编码MV与前一宏块的参考MV相减,得到该台标字幕插入区宏块的再编码MV残差值;对所述再编码MV残差值进行编码。本实施例可以选择把插入区100的宏块的解码MV和再编码MV分开保存。在编码插入区100的宏块时,采用修改后的再编码MV。宏块类型包括帧运动补偿宏块和场运动补偿宏块;宏块运动类型包括前向预测、后向预测和双向预测三种。对插入区的帧内宏块(Intra MB),本实施例直接将宏块的再编码运动矢量置零。对插入区100中的第一列宏块101,本实施例把插入区前相邻的对应宏块121的解码MV赋值第一列宏块101的参考MV。对插入区100中除第一列之外的宏块,本实施例按照该宏块的宏块类型和运动类型,使用对应的再编码MV分量去赋值参考MV分量。这样做的原因是,对于一个特定的宏块,8个MV分量中,只有其中一部分存在实际的意义,例如前向预测的帧宏块,该宏块对应的 MV


,和 MVW]
[1]是有意义的,而其余的 6 个 MV 分量 MV[1]

,MV[1]
[1],MV[1] [1]
,MV[1] [1] [1],MV
[1]
,MV
[1] [1]对该宏块是无实际意义的,实际上这6个分量存储的是该宏块前面存在相应分量的宏块的分量值。所以对于图像插入区的前向预测的帧宏块,使用再编码MV的MV


和MV

[1]分量值来重新赋值该宏块的参考MV。由于与图像插入区的宏块处于同一条带内的图像插入区之外B帧宏块有可能参考了图像插入区宏块的内容,所以要根据此类宏块的运动类型和同一条带内位于该宏块之前的非图像插入区宏块的运动类型重新赋值该宏块的参考MV,处理情况如下
图像插入区后的B帧宏块为前向预测宏块,而且在图像插入区后同一个条带内, 前向宏块之前没有后向预测宏块或双向预测预测宏块,使用前向预测宏块的解码MV的前向分量赋值前向预测宏块的参考MV和再编码MV的前向分量,使用图像插入区末尾宏块的再编码MV的后向分量赋值前向宏块的参考MV的后向分量。如果在图像插入区后同一个条带内,前向宏块之前存在后向预测宏块或双向预测预测宏块,那么使用该宏块的解码MV赋值参考MV。图像插入区后的B帧宏块为后向预测宏块,而且在图像插入区后同一个条带内, 后向宏块之前没有前向预测宏块或双向预测预测宏块,使用后向预测宏块的解码MV的后向分量赋值后向预测宏块的参考MV和再编码MV的后向分量,使用图像插入区末尾宏块的再编码MV的前向分量赋值后向宏块的参考MV的前向分量。如果在图像插入区后同一个条带内,后向宏块之前存在前向预测宏块或双向预测预测宏块,那么使用该宏块的解码MV赋值参考MV。图像插入区后的B帧宏块为双向预测宏块,使用该宏块的解码MV直接赋值给参考 MV。图4是根据本发明实施例的传输流台标字幕插入系统的输出码率控制装置的示意图,如图4所示,该装置40包括解码模块41,用于对输入的视频传输流进行解码,从解码数据中获取宏块的解码运动矢量MV残差值;MV计算模块43,用于将MV残差值与前一宏块的参考MV相加,得到当前宏块的解码MV,并将所述解码MV作为当前宏块的参考MV ;插入区宏块MV修改模块45,用于根据所插入的图像的运动属性和透明度属性修改台标字幕插入区宏块的解码MV,得到该台标字幕插入区宏块的再编码MV ;编码模块47,用于使用再编码MV对所述台标字幕插入区宏块重新进行编码。该解码装置40还可以包括参考MV赋值模块(图中未示出),该模块用于使用再编码MV的对应分量重新赋值该台标字幕插入区宏块的参考MV ;编码模块47还可以用于 将再编码MV与前一宏块的参考MV相减,得到该宏块的再编码MV残差值;对再编码MV残差值重新进行编码。优选地,该装置还可以包括相关区宏块参考MV赋值模块(图中未示出),用于对位于图像插入区之后的B帧宏块,根据B帧宏块的运动类型和同一条带内位于该B帧宏块之前的非图像插入区宏块的运动类型重新赋值该B帧宏块的参考MV根据本发明的技术方案,对输入的视频传输流进行解码,从解码数据中获取宏块的解码运动矢量MV;根据所插入的图像的运动属性和透明度属性修改解码MV,得到宏块的再编码MV ;对再编码MV重新进行编码。通过改变图像插入区内宏块的运动矢量(MV),对输出码率进行控制,采用本发明的转码方法,以非常小的计算量把插入图像后节目的输出码率控制在允许的范围之内,而且避免了采用传统速率控制算法修改QP可能引起的视频质量上的损失以及计算复杂度的上升。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种传输流台标字幕插入系统的输出码率控制方法,其特征在于,包括对输入的视频传输流进行解码,从解码数据中获取宏块的解码运动矢量MV残差值; 将所述MV残差值与前一宏块的参考MV相加,得到当前宏块的解码MV,并将所述解码 MV作为当前宏块的参考MV;根据所插入的图像的运动属性和透明度属性修改台标字幕插入区宏块的解码MV,得到所述台标字幕插入区宏块的再编码MV ;使用所述再编码MV对所述台标字幕插入区宏块重新进行编码。
2.根据权利要求1所述的方法,其特征在于,所述得到所述台标字幕插入区宏块的再编码MV之后还包括 使用所述再编码MV的对应分量重新赋值所述台标字幕插入区宏块的参考MV ; 所述使用所述再编码MV对所述台标字幕插入区宏块重新进行编码包括 将所述再编码MV与前一宏块的参考MV相减,得到当前宏块的再编码MV残差值; 对所述再编码MV残差值进行编码。
3.根据权利要求2所述的方法,其特征在于,所述使用所述再编码MV的对应分量重新赋值所述台标字幕插入区宏块的参考MV之后还包括对位于图像插入区之后的B帧宏块,根据所述B帧宏块的运动类型和同一条带内位于所述B帧宏块之前的非图像插入区宏块的运动类型重新赋值所述B帧宏块的参考MV。
4.根据权利要求3所述的方法,其特征在于,位于图像插入区之后的B帧宏块为前向预测宏块,而且在所述图像插入区之后同一个条带内,所述前向宏块之前没有后向预测宏块或双向预测预测宏块,使用所述前向预测宏块的解码MV的前向分量对所述前向预测宏块的参考MV和再编码 MV的前向分量进行赋值,使用图像插入区末尾宏块的再编码MV的后向分量对所述前向宏块的参考MV的后向分量进行赋值。
5.根据权利要求3所述的方法,其特征在于,位于图像插入区之后的所述B帧宏块为后向预测宏块,而且在所述图像插入区之后的同一个条带内,所述后向宏块之前没有前向预测宏块或双向预测预测宏块,使用所述后向预测宏块的解码MV的后向分量对所述后向预测宏块的参考MV和再编码 MV的后向分量进行赋值,使用图像插入区末尾宏块的再编码MV的前向分量对所述后向宏块的参考MV的前向分量进行赋值。
6.一种传输流台标字幕插入系统的输出码率控制装置,其特征在于,包括解码模块,用于对输入的视频传输流进行解码,从解码数据中获取宏块的解码运动矢量MV残差值;MV计算模块,用于将所述MV残差值与前一宏块的参考MV相加,得到当前宏块的解码 MV,并将所述解码MV作为当前宏块的参考MV ;插入区宏块MV修改模块,用于根据所插入的图像的运动属性和透明度属性修改台标字幕插入区宏块的解码MV,得到所述台标字幕插入区宏块的再编码MV ;编码模块,用于使用所述再编码MV对所述台标字幕插入区宏块重新进行编码。
7.根据权利要求6所述的装置,其特征在于,还包括插入区参考MV赋值模块,用于 使用所述再编码MV的对应分量重新赋值所述台标字幕插入区宏块的参考MV ;所述编码模块还用于将所述再编码MV与前一宏块的参考MV相减,得到所述宏块的再编码MV残差值; 对所述再编码MV残差值重新进行编码。
8.根据权利要求7所述的装置,还包括相关区宏块参考MV赋值模块,用于对位于图像插入区之后的B帧宏块,根据所述B帧宏块的运动类型和同一条带内位于所述B帧宏块之前的非图像插入区宏块的运动类型重新赋值所述B帧宏块的参考MV。
全文摘要
本发明提供了一种传输流台标字幕插入系统的输出码率控制方法与装置,以解决现有技术中数字电视传输流插入台标字幕等图像后输出码率波动的问题。该方法包括获取宏块的解码运动矢量MV残差值;根据该MV残差值和前一宏块的参考MV得到解码MV,并赋值该宏块的参考MV;修改解码MV得到宏块的再编码MV;使用该再编码MV重新进行编码。采用本发明的方法,通过改变图像插入区内宏块的MV,提高了再编码的预测精度以减小编码残差,达到了对输出码率进行控制的目的;该方法以较小的计算量把插入图像后节目的输出码率控制在允许的范围内,避免了采用传统速率控制算法修改量化参数可能引起的视频质量上的损失以及计算复杂度的上升。
文档编号H04N7/24GK102572413SQ20121002774
公开日2012年7月11日 申请日期2012年2月8日 优先权日2012年2月8日
发明者崔玉斌, 席罗飞 申请人:北京数码视讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1