一种自适应调节视频解码复杂度的方法转让专利

申请号 : CN200810201132.5

文献号 : CN101729883B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王向文

申请人 : 上海炜寅信息科技有限公司

摘要 :

本发明涉及一种在视频解码时能对视频解码复杂度进行自适应调节的方法,包括步骤:由解码时间活动窗反馈实时采集解码器的解码速度信息;比较所述解码速度信息与固定播放的预算速度确定调整反余弦变换模块,来调整解码器速度;当需要对所述反余弦变换模块进行调整时,计算当前块的纹理参数,根据纹理参数确定当前块的纹理模式;根据所述当前块的纹理模式对当前块的DCT系数进行掩膜处理;对所述经过掩膜处理后的DCT系数进行反余弦变换。本发明的技术方法使解码器在处理器计算能力不够的情况仍然可以保证实时的视频解码,克服丢帧、解码出错或者慢镜头回放等现象。

权利要求 :

1.一种自适应调节视频解码复杂度的方法,其特征在于,包括以下步骤:由解码时间活动窗反馈实时采集解码器的解码速度信息;

比较所述的解码速度信息与固定播放的预算速度,当处理器的处理能力不满足解码需求时,复杂度控制模块发生作用,调整反余弦变换模块,来降低解码器的复杂度;

当需要对所述反余弦变换模块进行调整时,计算当前块的纹理参数,根据纹理参数确定当前块的纹理模式;

根据所述当前块的纹理模式对当前块的DCT系数进行掩膜处理;

对所述经过掩膜处理后的DCT系数进行反余弦变换。

2.如权利要求1所述的调节视频解码复杂度的方法,其特征在于,所述的由解码时间活动窗反馈实时采集解码器的解码速度信息包括采集帧数超过1帧的解码速度信息步骤。

3.如权利要求1所述的调节视频解码复杂度的方法,其特征在于,所述的当需要对所述反余弦变换模块进行调整时,计算当前块的纹理参数,根据纹理参数确定当前块的纹理模式时,把当前块的DCT系数分成4种类型,并计算该块的纹理参数:和TexE=M+H,

再根据这3参数把一个块根据其纹理特性分类成为3种纹理模式包括平坦块、有边缘块和纹理较复杂性块,所有低频部分系数绝对值之和为L,所有中频系数绝对值之和记为M,所有高频系数绝对值之和记为H,其中, 表示L,M,H的平均值,计算以下纹理参数:TexE=M+H,块的类型的划分方法为:a.如果E1≥16,这个块是边沿块;或者如果TexE≤125,这个块是平坦块,b.如果125900,并满足max{E1,E2}≥0.7& min{E1,E2}≥0.5,那么这个块是边沿块,否则是纹理块。

4.如权利要求1所述的调节视频解码复杂度的方法,其特征在于,对所述经过掩膜处理后的DCT系数进行反余弦变换步骤包括,对反量化后的残差DCT系数按照该块的纹理模式进行掩膜处理后再进行节减的DCT变换,其中节减了的DCT变换即采用非0的DCT系数计算原始域的数值。

说明书 :

一种自适应调节视频解码复杂度的方法

技术领域

[0001] 本发明涉及数字视频处理技术领域,尤其涉及一种在视频解码时能对视频解码复杂度进行自适应调节的方法。

背景技术

[0002] 自从ITU-T颁布了H.261后,基于块的混合编码方法作为基本框架被普遍采用。国际化标准MPEG-1、MPEG-2、MPEG-4、H.261、H.263和H.264以及最新的中国自主倡导的AVS视频编码标准都采用了这种框架。这种混合编码框架将输入视频图像分割成宏块,对其进行预测、变换、量化、熵编码。图1所示是一个基于通用的混合编码框架的视频解码器的基本原理框图。图中,VLD为可变长熵解码,iQ1为反量化,iDCT为反余弦变换,MC为运动补偿,FS为帧存缓存器,Motion Vector为运动向量。输入的压缩后视频码流首先通过可变长的熵解码模块进行解压缩,输出每个宏块变换域的残差信号和运动矢量;对残差信号进行反量化处理后进行反余弦变换得到原始域的残差信号;运动补偿模从参考幀中寻找得到当前解码块的参考块;把参考块与残差块相加恢复得到当前块;依次循环解码每一个宏块,解码得到一帧图像,输出并保存作为下一幀图像的参考图像。其中解码器的复杂度主要集中于iDCT和MC模块。
[0003] 为了确保解码器能够达到实时解码的要求,设计者通常选择处理能力尽量高的处理器作为解码器的硬件平台。随着视频压缩新标准的不断提出,视频解码器的复杂度不断提高,像最新的视频压缩标准H.264,其解码复杂度是以前标准的3倍以上,很多处理器的计算能力不够,不能达到实时解码的要求。另外,实际的产品中,一个处理器除了完成视频的解码,可能还需要完成很多其它的任务,如音频解码或者响应用户的实时输入等,所以解码器速度同样会受到不同程度的影响。当解码器的解码速度不够时,会产生丢帧、解码出错或者慢镜头回放的现象,这些是用户所不能接受的。

发明内容

[0004] 本发明的目的是提供一种能够自适应地调整视频解码复杂度的方法,使解码器在计算能力不够的情况仍然可以保证实时的视频解码。克服丢帧、解码出错或者慢镜头回放等现象,使解码的质量能被接受。
[0005] 本发明的技术方案是,一种自适应调节视频解码复杂度的方法,其特征在于,包括以下步骤:
[0006] 由解码时间活动窗反馈实时采集解码器的解码速度信息;
[0007] 比较所述的解码速度信息与固定播放的预算速度确定调整反余弦变换模块,来调整解码器速度;
[0008] 当需要对所述反余弦变换模块进行调整时,计算当前块的纹理参数,根据纹理参数确定当前块的纹理模式;
[0009] 根据所述当前块的纹理模式对当前块的DCT系数进行掩膜处理;
[0010] 对所述经过掩膜处理后的DCT系数进行节减的反余弦变换。其中节减了的DCT变换即采用非0的DCT系数计算原始域的数值。
[0011] 可选的,上述方法所述的由解码时间活动窗反馈实时采集解码器的解码速度信息包括采集帧数超过1帧的解码速度信息步骤。
[0012] 可选的,上述方法还包括,根据解码速度的信息来调整解码器的反余弦变换模块。
[0013] 可选的,上述方法所述的当需要对所述反余弦变换模块进行调整时,计算当前块的纹理参数,根据纹理参数确定当前块的纹理模式时,把当前块的DCT系数分成4种类型,并计算该块的纹理参数:E1=(L+M)/H,E2=L/M和TexE=M+H,再根据这3参数把一个块根据其纹理特性分类成为3种纹理模式:平坦块、有边缘块和纹理较复杂性块。
[0014] 可选的,上述方法对所述经过掩膜处理后的DCT系数进行节减的反余弦变换步骤包括,先对反量化后的残差DCT系数按照该块的纹理模式进行掩膜处理。
[0015] 本发明的有益效果是,设计了一种解码速度信息反馈机制来实时采集解码器的速度信息和一种复杂度可调整的反余弦变换机制来调整解码速度。解码器的解码复杂度调整是根据反馈得到的解码速度信息来自适应调整解码器模块中的反余弦变换模块,自适应地降低这个模块的复杂度,以此达到实时解码器。
[0016] 该自适应性的复杂度调整方法适用于所有基于块的运动补偿混合编码标准:MPEG-1、MPEG-2、MPEG-4、H.261、H.263和H.264以及最新的中国自主倡导的AVS视频编码标准,

附图说明

[0017] 图1示出普通视频解码器框图
[0018] 图2示出解码速度信息反馈示意图
[0019] 图3示出复杂度自适应视频解码器框架示意图
[0020] 图4示出8x8块的DCT系数划分方法示意图
[0021] 图5示出5种DCT域掩膜模板示意图
[0022] 图6示出本发明一实施例中复杂度自适应调整实现原理框图

具体实施方式

[0023] 以下结合附图详细描述本发明的具体实施方式。对于解码器解码速度信息反馈机制,采用基于每帧的解码时间反馈的形式来收集解码的速度信息。基于该反馈信息,解码速度信息的反馈机制如下:
[0024] 由于视频码流的帧率(每秒钟传输的图像数目)是固定的,所以解码每一帧图像的时间须控制在一定范围内,该范围可从视频码流中得到,否则会出现卡帧或者慢动作回放现象。但是由于基于处理器计算能力不够,解码速度受到限制,因此出现在规定的时间内不能完成解码现象,所以需要对每帧的解码时间进行统计。所提出的基于解码时间反馈的解码速度信息反馈机制如图2所示,其中TargetTime为每帧预期的解码时间,DecodingTime为实际解码时间,Time Buffer为解码预期时间与实际解码时间差滑动窗,窗口大小为12,利用对12帧图像的解码器时间进行统计,可以实时计算出解码器的解码速度。根据此信息来对解码的各个模块进行相应的调整。
[0025] 对于解码器复杂度调整机制,图3中的Complexity Controller模块即是复杂度调整模块。其功能是:先采用以上第一点的解码速度信息反馈机制,得到有关基于本处理器的解码速度信息,如果该处理器的处理能力满足实时解码需求,那么,复杂度控制模块不产生任何作用;而当该处理器的计算能力不够时,该复杂度控制模块发生作用。
[0026] 解码器复杂度的调整主要通过调节解码器中的反余弦变换模块。通过合理调整图3中的iDCT模块,解码器可以在有效减低复杂度的同时保证视频回放的质量。
[0027] 以下举一个本发明的复杂度自适应性视频解码方法的基于MPEG-2标准的一个优选实施例子,实施过程的框图如图6所示。描述如下:
[0028] 1,对图2中的解码速度信息反馈机制,时间差滑动窗口大小为12,利用对12帧图像的解码器时间进行统计,可以实时计算出解码器的解码速度。
[0029] 根据此信息来对解码的各个模块进行相应的调整。
[0030] 2,对图3中的复杂度控制模块,先采用以上的解码速度信息反馈机制,得到有关基于本处理器的解码速度信息。如果该处理器的处理能力满足实时解码需求,那么,复杂度控制模块不产生任何作用;而当该处理器的计算能力不够时,该复杂度控制模块发生作用。如图6中的框A处的选择开关所示。在复杂度控制模块通过调整图3中的反余弦变换模块实现。
[0031] 3,在复杂度控制模块发生作用时,即解码器速度不够时,解码器控制模块调整图3中的反余弦变换模块来降低解码器的复杂度。反余弦变换模块输入的信号为反量化后的DCT域残差信号。本发明中,把一个需要进行反余弦变换DCT残差块根据该残差块的纹理方向性分类成为3类纹理模式:平坦块、边沿块和纹理较复杂块(纹理块)。如图6中的块边缘分析模块所示。以8x8块为例。把一个这样的块的DCT系数分类成为四种不同类:直流DC,低频部分(low frequency)LF、中频部分(medium frequency)MF和高频部分(high frequency)HF,如图4所示,所有低频部分系数绝对值之和为L,所有中频系数绝对值之和记为M,所有高频系数绝对值之和记为H。
[0032] E1=(L+M)/H;
[0033] E2=L/M;
[0034] 其中,L,M,H表示L,M,H的平均值。计算以下纹理参数:
[0035] TexE=M+H;
[0036] 块的类型的划分方法:
[0037] a.如果E1≥16,这个块是边沿块;或者如果TexE≤125,这个块是平坦块;
[0038] b.如果125
[0039] c.如果290
[0040] d.如果TexE>900,并满足max{E1,E2}≥0.7&min{E1,E2}≥0.5,那么这个块是边沿块,否则是纹理块。
[0041] 根据当前块的类型信息与复杂度控制模块的控制信息,对8x8块进行掩膜处理。如图6中的框B的选择开关所示。掩膜模板如图5所示。其中灰色部分为1,白色部分为
0:
[0042] a.如果该块属于平坦块,对8x8的DCT块采用掩膜模板1进行对应位置相乘;
[0043] b.如果该块属于边沿块,如果AC(1,0)≤AC(0,1),那么采用掩膜2进行对应位置相乘,否则采用掩膜3进行对应位置相乘;
[0044] c.如果该块属于复杂纹理块,采用掩膜4进行对应位置相乘处理;
[0045] d.如果复杂度控制模块不发生作用,即视频解码器的速度来得及的时候,采用掩膜0,即不对DCT系数进行掩膜。
[0046] 由上述例子可以得到,本发明技术方案采用基于帧解码时间活动窗的解码速度反馈机制,采集得到基于该处理器的解码能力信息,根据此信息来自适应调整解码器中的反余弦变换模块,提高解码速度,并保证一定的回放质量,达到实时解码要求。