公开/公告号CN1774070A
专利类型发明专利
公开/公告日2006-05-17
原文格式PDF
申请/专利权人 C&S技术有限公司;
申请/专利号CN200510075814.2
申请日2005-05-30
分类号H04N7/26(20060101);
代理机构11127 北京三友知识产权代理有限公司;
代理人李辉
地址 韩国首尔
入库时间 2023-12-17 17:12:18
法律状态公告日
法律状态信息
法律状态
2016-03-23
专利权人的姓名或者名称、地址的变更 IPC(主分类):H04N7/26 变更前: 变更后: 申请日:20050530
专利权人的姓名或者名称、地址的变更
2016-03-23
专利权的转移 IPC(主分类):H04N7/26 登记生效日:20160301 变更前: 变更后: 申请日:20050530
专利申请权、专利权的转移
2009-10-21
授权
授权
2006-07-12
实质审查的生效
实质审查的生效
2006-05-17
公开
公开
技术领域
本发明总体上涉及使用自适应模式决策的运动估测方法,更具体地,涉及在帧间(inter)1运动矢量模式与帧间4运动矢量模式之间进行决策时通过考虑量化系数、运动矢量编码量和纹理(texture)编码量以及绝对差值的总和来估测运动的方法。
背景技术
在传统的运动估测方法中,当在帧间1运动矢量(1MV)模式和帧间4运动矢量(4MV)模式之间进行决策时,在对帧间1MV模式分配固定权重的同时,仅考虑与当前帧块和前一帧块之间的差值相对应的绝对差(SAD)值的总和。因此,如果存在低比特率下的大量运动,则确定帧间4MV模式。在这种情况下,出现相反的结果,其中由于运动矢量编码量的增加明显大于纹理编码量的减少,而使编码的总量增加。在帧间4MV模式中,与帧间1MV模式相比,产生了较大数量的运动矢量,使得在高比特率下,纹理编码量的减少很大。因此,尽管运动矢量编码量增大,但预期编码量在总体上减少。如果量化系数大(即,纹理编码量的减少较小)或者存在大量运动(即,运动矢量的增加很大),则存在下述问题:帧间4MV模式导致比帧间1MV模式大的编码量。
例如,尽管韩国未审专利公报No.2001-0082934考虑了运动矢量编码量,但是与本发明不同,该考虑是非直接的。另外,该专利公报试图减小运动矢量的长度差值,以在零矢量中间预测值(predictor)小于预定阈值时选择零矢量中间预测值。此外,韩国未审专利公报No.2004-0008360考虑了运动矢量的编码。但是,该专利公报仅考虑了运动矢量的编码长度,而没有涉及纹理编码量。
下面将参照附图对现有技术的构成和效果进行详细说明。
图1表示在传统的运动图像专家组(MPEG)-4标准中对宏块图像(16×16大小的图像处理单元)进行编码的处理。
运动估测(ME)10是通过将前一帧的发光部分与当前帧的发光部分进行比较来发现运动的步骤。在该步骤中,基于宏块或块(8×8大小的图像处理单元)获得表示相对于前一帧的运动程度的运动矢量值。基于块来执行后续的步骤11至16,并将其称为纹理编码。对包括在一个宏块中的四个发光块以及两个色度块的每一个执行纹理编码。运动补偿负(MC(-))11是利用在ME步骤10获得的运动矢量从当前块的像素值中减去前一帧的像素值的步骤。通过该步骤,仅保留了前一帧和当前帧之间的像素差,并且相应地减少了要进行编码的信息量。在离散余弦变换/量化(DCT/Q)的步骤12中,将经过MC(-)11的空间域数据变换成频域数据,并执行量化以减少信息量。仅在帧内(intra)宏块中执行交流/直流(AC/DC)预测(ADP)13,并获得邻近块的AC/DC系数之间的差值。该步骤具有通过减少空间冗余来减少编码量的效果。可变长度编码(VLC)14是对数据执行可变长度编码并生成最终比特流的步骤。逆Q/逆DCT(IQ/IDCT)15和运动补偿正(MC(+))16是以相反的方式执行处理12和11来恢复块图像的步骤,在这种情况下,输出要在解码器中使用的数据,作为IQ/IDCT 15和MC(+)16的结果。由于要在下一帧的ME 10中使用该数据,所以解码器和编码器可以利用同一画面对运动进行估测和补偿。
图2是表示传统的运动估测方法的步骤的流程图。基于宏块的ME 20是计算运动搜索范围内的运动矢量x、y的SAD值并寻找具有最小SAD值的运动矢量的步骤。将SAD定义为以下方程1:
其中Ci,j为当前帧的像素值,而Pi,j为前一帧的像素值。假设从基于宏块的ME 20中输出的最小SAD值为SADi16。在块的基础上,在基于宏块的ME 20中获得的运动矢量周围的-2至+2范围内执行基于块的ME21。在这种情况下,将SAD定义为以下方程2:
对宏块内的四个亮度块中的每一个执行基于块的ME 21。假设各个块的最小SAD值为SADi8_k(k=0,1,2,3)。在帧内参数计算22中,使用以下方程3和4来计算用于确定是将当前宏块编码为帧内宏块还是帧间宏块的参数:
在步骤23中,利用该参数以及在宏块单元ME 20和块单元ME 21的步骤中获得的SADi16和SADi8_k来确定将当前宏块编码为帧内宏块还是帧间宏块。当方程5成立时,满足将当前宏块编码为帧内宏块的条件。从方程5的右侧减去512的原因为帧间模式通常是优选的,该帧间模式需要比帧内模式更少的编码量。方程5的SADinter由方程6限定。在方程6中,Min()是指括号中的两个数中较更小的一个。
如果要将当前宏块编码成帧内宏块,则在步骤27将运动矢量设定为0并终止ME步骤。在帧间宏块的情况下,该处理进行到基于宏块的半像素ME的步骤。基于宏块的半像素ME 24是对从基于宏块的ME 20获得的运动矢量的8个半像素运动矢量(包括上、下、右、左和对角半像素运动矢量)的SAD值进行计算,并寻找具有最小SAD值的运动矢量的步骤。由周围整数像素值的平均值来代替半像素位置上的像素值。假设在基于宏块的半像素ME 24中获得的最小SAD值为SADh16。基于块的半像素ME 25是对从基于块的ME 21获得的运动矢量的8个半像素运动矢量(包括上、下、右、左和对角半像素运动矢量)的SAD值进行计算,并寻找具有最小SAD值的运动矢量的步骤。由周围整数像素值的平均值来代替半像素位置上的像素值。对宏块内的四个亮度块中的每一个执行块单元的半像素ME 25。假设各个块的最小SAD值为SADh8_k(k=0、1、2、3)。在运动矢量确定的步骤26中,利用方程7来确定是使用基于宏块的运动矢量、基于帧间1MV模式块的运动矢量,还是基于帧间4MV模式块的运动矢量。如果方程7成立,则使用基于块的运动矢量。如果方程7不成立,则使用基于宏块的运动矢量。从方程7的右侧减去128的原因是优选地使用基于宏块的运动矢量(因为运动矢量编码量通常较小)。在方程7中,分别由方程8和9来限定SAD16和SAD8_k。在方程8和9中,Min()表示括号内的两个数中较小的一个。
SAD16=Min(SADi16,SADk16) (8)
SAD8_k=Min(SADi8_k,SADk8_k) (9)
发明内容
因此,鉴于现有技术中存在的上述问题而提出了本发明,并且本发明的目的在于,当在帧间1MV模式和帧间4MV模式之间进行决策时,通过考虑量化系数、运动矢量编码量和纹理编码量以及SAD值,来使编码总量最小,而与比特率或者运动量无关。
为了实现上述目的,本发明提供了一种使用自适应模式决策以去除运动图像压缩中的时间冗余的运动估测方法,包括:运动矢量差值计算步骤,利用当前块的输入运动矢量估测值x分量和与当前SAD相对应的输入x偏移量,来计算运动矢量差值,并输出运动矢量差x(MVDx)作为计算结果;MVD可变长度编码(VLC)步骤,计算通过对MVDx执行可变长度编码而获得的位串的长度,并输出MVDx编码长度作为计算结果;运动矢量差值计算步骤,利用当前块的输入运动矢量估测值y分量和与当前SAD相对应的输入y偏移量,来计算运动矢量差值,并输出运动矢量差y(MVDy)作为计算结果;MVD VLC步骤,计算通过对MVDy执行可变长度编码而获得的位串的长度,并输出MVDy编码长度作为计算结果;通过将MVDx和MVDy相加,来生成运动矢量编码量的步骤;利用前一宏块的SAD值和量化系数来估测当前块或宏块的纹理编码量的步骤;利用运动矢量编码量和纹理矢量编码量来生成SAD校正系数的步骤;以及将SAD值与SAD校正系数相乘的步骤;其中对SAD值进行校正。
优选地,在该运动估测方法中,利用运动矢量编码量和纹理矢量编码量,通过控制权重来生成SAD值(优选地为基于宏块的运动估测);其中寻找纹理编码量和运动矢量编码量的总和最小的运动矢量。
附图说明
根据以下结合附图的详细描述,将更清楚地理解本发明的上述和其他目的、特征和优点,在附图中:
图1是表示根据传统的运动图像专家组(MPEG)-4标准,对宏块图像(16×16大小的图像处理单元)进行编码的处理的方框图;
图2是表示传统的运动估测方法的步骤的流程图;
图3表示根据本发明的运动估测方法的SAD校正方法;以及
图4表示根据本发明的利用输入值来估测纹理编码量的模式。
具体实施方式
下面参照附图对本发明的实施例构成和操作进行详细说明。
图3表示根据本发明的运动估测方法的SAD校正方法。在本发明中,将SAD校正方法应用于现有技术中在运动估测范围内获得的所有SAD值,以估测运动。更具体地,将SAD校正方法应用于以上结合现有技术进行了说明的方程1和2的结果,产生新的SAD值,并随后基于该新的SAD值执行运动估测。在这种情况下,可以将SAD校正方法应用于方程10和11的结果,而不是方程1和2的结果,获得通过从当前帧的数据中减去平均值而获得的值与通过从前一帧的数据中减去平均值而获得的值之间的差值,并且随后可以如上所述执行运动估测。
此外,可以将SAD校正方法应用于现有技术中在宏块单元半像素运动估测(ME)24和块单元半像素ME 25的步骤中获得的所有SAD值。在运动矢量差值计算的步骤100中,利用输入运动矢量估测值x分量S100和与当前SAD相对应的输入x偏移量S101,来计算运动矢量差值,并输出运动矢量差x(MVDx)S102作为计算结果。该运动矢量估测值x分量S100与用于根据诸如H.263和MPEG-4的标准进行编码并输出运动矢量的估测值相同。也就是说,该运动矢量估测值x分量S100是在执行当前运动估测的块或宏块的基础上,存在于左、上和右上(西、北和东北)方向的块的运动矢量的中间值。在MVD VLC表101中,计算通过对MVDx S102执行可变长度编码而获得的位串的长度,并输出MVDx编码长度S103作为计算结果。该长度表示实际发送的运动矢量的位串的长度。在运动矢量差值计算的步骤102中,利用输入运动矢量估测值y分量S104和与当前SAD相对应的输入y偏移量S105,来计算运动矢量差值,并输出运动矢量差y(MVDy)S106作为计算结果。该运动矢量估测值y分量S104与用于根据诸如H.263和MPEG-4的标准进行编码并输出运动矢量的估测值相同。也就是说,该运动矢量估测值y分量S104是在执行当前运动估测的块或宏块的基础上,存在于左、上和右上(西、北和东北)方向的块的运动矢量的中间值。在MVD VLC表103中,计算通过对MVDy S106执行可变长度编码而获得的位串的长度,并输出MVDy编码长度S107作为计算结果。该长度表示实际发送的运动矢量的位串的长度。
MVD VLC表101和103执行相同的操作。MVD_LEN S108是通过将MVDx编码长度S103和MVDy编码长度S107相加而获得的值,从而表示了当前宏块或块的运动矢量编码的总量。在纹理编码量估测的步骤104中,利用根据现有技术而获得的SAD值S109以及前一宏块的量化系数S110,来估测当前块或宏块的纹理编码量。TEX_LEN S111是所估测的纹理编码量。在SAD校正系数生成的步骤105中,利用TEX_LEN S111和MVD_LEN S108来生成SAD校正系数。“a”S112是作为SAD校正系数生成105的结果而获得的SAD校正系数,并始终大于或等于1。通过以下方程12来计算根据本发明的SAD校正系数“a”S112。
SADnew S113是最终SAD值,并且是通过将根据现有技术而获得的SAD值S109与SAD校正系数“a”S112相乘而获得的值。在根据本发明的运动估测步骤中,使用SADnew S113,而不是根据现有技术获得的SAD值S109。
图4表示根据本发明的利用输入值来估测纹理编码量的模式。如果给定SAD和QP(量化参数),则可以获得的块或宏块的编码量不是特定值,而是分布在特定范围内的值。为了精确地确定纹理编码量,必须执行离散余弦变换和量化。对运动估测范围内的所有矢量执行离散余弦变换和量化需要大量的计算。因此,在本发明中,通过在区间(section)的基础上,线性地近似SAD/QP值与纹理编码量之间的相关性,来估测纹理编码量。利用方程13基于该SAD/QP值来估测纹理编码量TEX_LEN。在图4中,可以通过实验来确定包括s0、s1、s2、b0、b1和b2在内的区间数量和区间边界值。
如上所述,根据本发明的使用自适应方式决策的运动估测方法通过在帧间1MV模式与帧间4MV模式之间进行决策时,考虑量化系数、运动矢量编码量和纹理编码量以及SAD值,来使编码的总量最小,而与比特率或运动量无关。
尽管为了说明的目的而公开了本发明的优选实施例,但是本领域的技术人员应该理解,在不脱离所附权利要求中公开的本发明的范围和主旨的情况下,可以进行各种修改、添加和替换。
机译: H.264 / AVC中使用运动矢量映射的自适应编码模式决策方法
机译: H.264 / AVC中使用运动矢量映射的自适应编码模式决策方法
机译: H.264视频编解码器的自适应运动估计与模式决策装置及方法