专利名称:视频编码器实现的改进方法
技术领域:
本发明属运动图象编码技术领域。
在当今信息化时代,图象的存储和传输变得愈来愈重要。由于图象原始数据信息量十分巨大,要在有限容量的存储介质存储图象和有限容量的信息通道传输图象,图象数据的压缩,也就是对运动图象进行编码是必不可少的。运动图象编码是通过综合利用图象信号在时间、空间、统计三方面的冗余度,以及场景的知识、人的视觉特性来实现的。目前较为成熟的编码方法是综合了预测编码、变换编码、熵编码几种编码方法以及运动补偿技术的混合编码方法。
其中一种编码实现方法如
图1所示,包括以下步骤(1)对输入的当前图象和上一重建图象作运动估计ME,运动估计得到运动矢量MV;(2)根据运动矢量对上一重建帧作预测P,获得对当前图象的预测图象;(3)将当前图象减去当前图象的预测图象得到预测误差PE;(4)对预测误差作离散余弦变换DCT和量化Q;(5)对(4)的结果作变长编码VLC得到当前编码图象;和(6)对(4)的结果作逆量化IQ、逆离散余弦变换IDCT得到重建的预测误差,再与当前预测图象相加得到当前重建图象,经帧存储器FM变成上一重建图象。
图1中各步骤的功能如下运动估计、预测及预测误差的计算(减法器)构成预测编码,是为了消除图象信号在时间上的相关性。图象在时间上的相关性表现为当前帧图象的某一部分是由上一帧图象的某一部分经过运动而得到的。而运动是通过运动矢量来描述的,运动估计就是要求得运动矢量,而预测则是根据运动矢量来补偿、抵消当前帧图象与上一帧图象部分之间因运动而产生的信号的变化。
离散余弦变换DCT构成变换编码,目的是为了消除图象信号在空间上的相关性。量化Q既是后面熵编码的需要,又是利用了人的视觉特性来提高编码的质量。
变长编码VLC构成熵编码,进一步消除了图象信号的统计的相关性。
逆量化IQ、逆离散余弦变换IDCT、加法器实现图象重建,为预测提供参照物。
现有实现上述混合编码方法的编码器如图2所示。图中块DCT、块Q、块IQ、块IDCT、块VLC是指一帧(一幅)图象中一块(按国际标准为8×8象素)为单位进离散余弦变换DCT、量化Q、逆量化IQ、逆离散余弦变换IDCT、变长编码VLC。宏块P是指以一帧图象中一个宏块(按国际标准为6个块)为单位进行预测P。宏块MV指宏块的运动矢量。0块是指块中8×8个元素都为0。
该编码器实现的工作过程为首先,一帧(一幅)图象是以一块(8×8象素)或一宏块(6个块)为单位进行编码的。其次,整个编码过程分为两部分运动估计和编码核心如图2虚框。当前帧宏块首先进入运动估计部分作运动估计,运动估计得到运动矢量MV,输入到编码核心对当前帧宏块进行编码,具体分为如下步骤首先,对当前帧宏块和上一重建帧宏块作运动估计。运动估计分为整象素搜索和半象素搜索两步。整象素搜索采用分级运动搜索方法,即将搜索域分级静止点、小搜索域、大搜索域。这是典型的3级,具体实现可以有变化,如2级静止点、小搜索域,即将小搜索域与大搜索域合并;或4级静止点、小搜索域、大搜索域、更大搜索域,即将大搜索域再细分两级,但至少要两级。在前两级搜索域搜索结束后要进入判决器A、B进行判断,判断是否满足判据而可以停止整象素搜索进入到半象素搜索和后面的编码核心,具体的判决准则可能是多种多样的。
其次,进到编码核心以后,根据运动估计得到宏块的运动矢量对上一重建帧宏块进行预测得到当前预测帧宏块,然后用减法器将当前帧宏块减去当前预测帧宏块计算预测误差,接着做DCT、Q。
最后,DCT和Q结束后要进入判决器,判断当前数据块是否为0块,由于0块对后续的熵编码和图象重建毫无作用,所以当判决出当前数据块是0块,则当前块的编码过程结束,返回到预测和减法器去进行下一块的处理;若为非0块,则进行熵编码和图象重建。
这种编码器的实现方法的不足在于编码速度不够高。对QCIF格式简单运动图象序列(如Claire序列),利用Pentium-133 PC仍无法做到软件实时编码(25帧/秒)。
本发明的目的在于克服已有技术的不足之处,在原有编码方法的基础上增设对图象中大量零数据的判断,在基本不或少许降低其他性能的前提下,提高编码器速度。
一种改进的运动图象的编码方法,包括对当前图象的当前部分的运动估计、帧预测与预测误差生成,变换与量化,图象重建、熵编码四部分;运动估计得到运动矢量MV;根据运动矢量MV对上一帧图象作预测P获得当前图象的预测图象;计算预测误差PE;对预测误差PE作离散余弦变换DCT和量化Q;对结果判定是否为全零,若是则转入当前图象的下一部分,若否则进行熵编码VLC和图象重建;其特征在于,在运动估计部分,对分级搜索过程中每级搜索结果都进入判决器G,判断预测误差PE经DCT、Q是否为全零,若是则编码结束转到当前图象的下一部分,若否则继续下一级搜索;在编码部分中,在对预测误差PE进行DCT之前进入判决器L,判断预测误差PE经DCT、Q是否为全零,若是则编码结束转到当前图象的下一部分,若否则进行下一步骤的DCT、Q。
本发明与现有技术相比有如下特点第一,在编码核心部分,在进行DCT、Q之前增加了一个变换前判决器L,该判决器L可以将那些大多数经DCT、Q变为0块的预测误差块提前判断出来而不必做DCT、Q,这样可省去大量做DCT、Q的运算。
第二,在运动估计中的每一级搜索结束后设置全局判决器G,全局判决器G中判据是一旦满足,则对该宏块的整个编码过程就结束了,也就是不但结束整象素搜索过程,而且连半象素搜索、整个编码核心都不必做了,从而大大提高了编码的速度。
附图的简要说明图1为混合编码方法框2为已有的视频编码器结构框3为本发明的视频编码器结构框4本实施的判决器L的实现流程5本实施的判决器G的实现流程图采用本发明编码方法实现视频编码器的一种实施例如图3~图5所示。结合各图,详细描述如下本发明所述的新型视频编码器的实现框图如图3所示,其工作过程为(1)对当前帧宏块和上一重建帧宏块作运动估计。运动估计包括整象素搜索和半象素搜索。整象素搜索采用分级运动搜索方法,将搜索域分级静止点、小搜索域、大搜索域。(这是典型的3级,具体实现可以有变化,同前)。每一级搜索域搜索结束后,都进入判决器G,判断在当前这一级搜索得到的运动矢量经预测后计算预测误差,那么当前预测误差宏块是否经DCT、Q变为0宏块(宏块中6个块都为0块),若是则当前宏块的编码过程结束,转到下一宏块;若否则继续下一级的搜索。半象素搜索结束后得到运动矢量,进入编码核心。
(2)进到编码核心以后,根据运动估计得到宏块的运动矢量对上一重建帧宏块进行预测得到当前预测帧宏块,然后用当前帧宏块减去当前预测帧宏块计算预测误差。
(3)对预测误差先不作DCT、Q而提前进入判决器L进行判断,判断当前误差块经DCT、Q是否变为0块,若是则结束当前块的编码过程,转到当前宏块的下一块;若为非0块,则进行DCT、Q。
(4)由于判决器L不能保证将所有经DCT、Q变为0块的预测误差全部提前判断出来,故在DCT、Q之后仍保留一判决器,判断经DCT、Q以后当前数据块是否为0块,若是则不必进行后续处理过程,转到下一块;若否则对这些非0块作熵编码与图象重建。
本实用新型的判决器L、G的具体实现框图如图4、5所示,分别描述如下判决器L依赖于一个块判决准则(可称为序判据),该准则为对-8×8块数据,用集{f(x,y)|x,y=0,1,…,7}来表示,具体到图3为预测误差块,用集{f(x,y)|x,y=0,1,…,7}来表示。当满足((xi0+yi0′)·cos2π16+(xi1+yi1′)·cos23π16+(xi2+yi3′)·cos25π16)+]]>(xi3+yi3′)·cos27π16)<20QP]]>,则当前块经DCT、Q变为0块。其中,xi0≥xi1≥x·i2≥xi3,]]>i0,i1,i2,i3∈{0,1,2,3}且互不相同,xj=Σi=07|f(i,j)|+Σi=07|f(i,7-j)|,]]>j=0,1,2,3,yi0′≥yi1′≥yi2′≥yi3′,]]>i0′,i1′,i2′,i3′∈{0,1,2,3}且互不相同,yi=Σj=07|f(i,j)|+Σj=07|f(7-i,j)|,]]>i=0,1,2,3。QP为该块所在宏块的两化参数,为一个量化步长的一半(对宏块编码而言,QP是确定的)。这样,判决器L的实现流程图如图4所示。图4对预测误差块{f(x,y)|x,y=0,1,…,7}做行和列的分别处理对行,首先计算各行绝对值之和Σy=07|f(x,y)|=ux]]>,x=0,1,…,7接着,ux=ux+u7-x,x=0,1,2,3,对u0,u1,u2,u3按从大到小的顺序排列xi0,xi1,xi2,xi3;]]>对列,计算各列绝对值之和Σx=07f(x,y)=vy]]>,y=0,1,…,7计算vy=vy+v7-y,y=0,1,2,3,对按从大到小的顺序排列yi0′,yi1′,yi2′,yi3′,]]>计算sum=(xi0+yi0′)·cos2π16+(xi1+yi1′)·cos23π16]]>=(xi2+yi2′)·cos25π16+(xi3+yi3′)·cos27π16]]>最后作比较sum<20QP?当sum<20QP,则满足判据,当前DFD块经DCT、Q变为0块;sum≥20QP,则不满足判据。
判决器G实现方法判决器G实现的是宏块的判决,而一个宏块为6个块,所以宏块的判决可分为6个块的判决,而块的判决可以用前面判决器L的方法。图5是判决器G的实现流程图。
图5中首先计算当前预测误差PE宏块,PE宏块=当前帧宏块-当前预测帧宏块,其次利用序判据对PE宏块中6个块每个块作判决当前块经DCT、Q变为0块,当6个块都满足序判据,则整个宏块满足判据。
下面给出在Pentium-133 PC机上对QCIF格式的简单序列Claire序列和复杂序列Foreman序列的编码参数及编码速度。Claire序列I帧量化参数为5,P帧量化参数为7(即前面公式QP=7),运动估计中的整象素搜索采用两级搜索静止点、小搜索域,区域长度为5,每一级搜索算法为采样法,采样间隔为3,块匹配运算采用亚采样方法。
结果编码帧率(速率)达到平均25帧/秒。Foreman序列I帧量化参数为15,P帧量化参数为15(即前面公式QP=15),运动估计中的整象素搜索采用三级搜索静止点、小运动区域(区域长度为4),大搜索域(区域长度为10),每一级搜索算法为采样法,采样间隔为3,块匹配运算采用亚采样方法。
结果编码帧率(速率)达到平均10帧/秒。
权利要求
1.一种改进的运动图象的编码方法,包括对当前图象的当前部分的运动估计、帧预测与预测误差生成,变换与量化,图象重建、熵编码四部分;运动估计得到运动矢量MV;根据运动矢量MV对上一帧图象作预测P获得当前图象的预测图象;计算预测误差PE;对预测误差PE作离散余弦变换DCT和量化Q;对结果判定是否为全零,若是则转入当前图象的下一部分,若否则进行熵编码VLC和图象重建;其特征在于,在运动估计部分,对分级搜索过程中每级搜索结果都进入判决器G,判断预测误差PE经DCT、Q是否为全零,若是则编码结束转到当前图象的下一部分,若否则继续下一级搜索;在编码部分中,在对预测误差PE进行DCT之前进入判决器L,判断预测误差PE经DCT、Q是否为全零,若是则编码结束转到当前图象的下一部分,若否则进行下一步骤的DCT、Q。
全文摘要
本发明属运动图象编码技术领域。本发明包括运动估计、帧预测与预测误差生成,变换与量化,图象重建、熵编码四部分;其特征在于,在运动估计部分,对分级搜索过程中每级搜索结果都进入判断器G,在编码部分中,在对预测误差PE进行DCT之前进入判断器L,可省去大量变换和搜索的运算,从而大大提高了编码的速度。
文档编号H04N7/26GK1200629SQ9710437
公开日1998年12月2日 申请日期1997年5月23日 优先权日1997年5月23日
发明者朱雪龙, 谢波 申请人:清华大学