图像压缩原理简介之H.261/H.263
佚名| 雷特视频网| 2005-08-26
***---H.261---***
H.261概述 
 ·该标准由CCITT于1988至1990间发展制定。 
 ·应用于ISDN电话线的视频会议,可视电话等。 
 ·ISDN的基本速率为64kbps,可以使用多路复用(p×64kbps)。  
 ·解码序列如下: 


 
·图像帧类型为 CCIR 601 CIF(352×288)和 QCIF(176×144),信号色度格式4:2:0。 
 ·两种帧编码类型:帧内编码 Intraframes(I-frames)和帧间编码 Interframes (P-frames)。  
 ·帧内编码的 I-frames主要使用JPEG的技术。 
 ·帧间编码的 P-frames使用与前一帧(预测帧,predicted frame)的差值进行编码,因此当前帧依赖于前一帧。 
 ·I-frame可以作为随机读取点。 

帧内编码(Intra Frame Coding) 
下图显示了帧内编码的流程,和JPEG编码过程基本一致。 

 
·宏块(macroblock)为原始图像里16×16像素区域。 
  在4:2:0格式中,一个宏块对应4个亮度块(Y block),1个Cr块,1个Cb块(Cr block & Cb block,子采样后的色度信号块) 
 ·对所有DCT系数用常数值进行量化(即,没有JPEG标准里的量化表) 
  
帧间编码(Inter-frame (P-frame) Coding) 
 ·帧间编码的基本思路如下图所示: 

上图中: 
 ·参考图像(reference image)指前面(已编码)的图像。 
 ·目标图像(target image)指当前要编码的图像 
  在帧间编码中,关键过程称为运动估值(motion estimation),对于当前目标图像中的某一宏块,在参考图像中寻找与之最相似的宏块(best match),然后对他们的差值进行和帧内编码类似的编码。 
  这样作的好处是得到的差值矩阵比较小,编码需要的比特量业也比较小。但是这里还要传送最匹配宏块和当前编码宏块之间相对位置的信息,     
这里称为运动向量(motion vector)。 
 ·两点补充: 
  1.这里用解码后的图像(decoded image)作为参考图像,而不用原始图像。 
  2.一般使用“平均绝对差值”(MAD: Mean Absolute Difference)作为判断最匹配块的标准。也可以使用“均方差”(MSE: Mean Squared Errow) 

细节:如何对宏块编码 

很多宏块能匹配得很好,传送每个宏块在图像中的地址--> Addr 
 ·有时找不到合适的匹配,这时传送帧内编码块(INTRA block)--> Type 
 ·若想调制量化以得到更好的压缩效果,传送量化值-->Quant 
 ·运动向量-->vector 
 ·宏块中,某些块匹配很好,其他则较差。这时传送bitmask,用来表示显示哪些块(CBP: Coded Block Pattern)。 
 ·象JPEG一样,传送各块。(4 Y, 1 Cr, 1 Cb) 

H.261比特流结构 


·很多宏块能匹配得很好,传送每个宏块在图像中的地址--> Addr 
 ·有时找不到合适的匹配,这时传送帧内编码块(INTRA block)--> Type 
 ·若想调制量化以得到更好的压缩效果,传送量化值-->Quant 
 ·运动向量-->vector 
 ·宏块中,某些块匹配很好,其他则较差。这时传送bitmask,用来表示显示哪些块(CBP: Coded Block Pattern)。 
 ·象JPEG一样,传送各块。(4 Y, 1 Cr, 1 Cb) 

H.261比特流结构 

H.261中的难点问题
1.运动向量搜

当前目标图像中待编码宏块C,其右上角坐标为(x,y),则该宏块中像素为C(x+k,y+l) 
  参考图像内,右上角坐标(x+i,y+j)的参考宏块R内像素为R(x+i+k,y+j+l) 
  下式求绝对误差平均值(MAE: Mean Absolute Error): 

运动向量搜索的目标就是寻找一个MAE值最小的参考宏块,其对应向量(u,v)为运动向量。 
  
 ·全搜索(Full Search Method) 
   1.对参考图像内范围为[-p,p]搜索区域的所有可能宏块进行搜索。 
   2.全搜索方法的运算量为: 

设对比每个像素需要3次操作:减法、求绝对值,相加。 
    当搜索范围(p)较大时,全搜索算法的运算量相当大,因此需要各种快速算法。 

  
 ·二维对数搜索。(Two-Dimensional Logarithmic Search) 
  类似于binary search,在一个范围为[-p/2, p/2] 的窗口内对九个点进行初始的MAE计算(如下图所示) 
   1.在上述九点求出的MAE中,找出最小的一个。 
   2.以该点为中心,用上一步搜索范围的一半形成新的搜索区域,对新的九点进行搜索。 
   3.重复上两步,直到搜索区范围为一个像素。 

层次化运动估值(Hierarchical Motion Estimation)

1.对目标图像和参考图像,生产若干低分辨率的版本。 
2.对最低分辨率版本搜索运动向量。 
3.由低分辨率向高分辨率,逐级修改运动向量。(在每一级进行小范围搜索,最后得到的运动向量可能很大) 
各种快速算法运算量大大小于全搜索算法,但搜索结果要比全搜索算法差,全搜索算法得到全局极小点,而快速算法可能只能找到局部极小点。以下是各种算法性能比较:

2.误差传递(Propagation of Errors) 
 ·不能有太多连续的P帧。 
 ·在比较时(求MAD时),参考帧使用解码帧。 
3.比特率控制(Bit-rate Control) 
 ·基于“缓冲器充满程度”(buffer fullness)进行简单的反馈控制。 
  若缓冲器太满,增加量化比例因子来降低数据量。 
H.263 
H.263是1996年3月发表的,针对低码率应用的视频压缩标准。和h.261一样,该标准对帧内压缩 
采用transform 编码,对帧间压缩采用预测编码 
改进: 
·半象素精度运动补偿 
·无限制运动向量 
·Syntax-based arithmetic coding 
·先进的预测,PB帧 
  
除了CIF和QCIF,H.263还支持SQCIF,4CIF和16CIF 
以下是H.261/H.263支持的视频格式:

责任编辑:lmtwadmin

分享到:
版权声明:凡注明来源“流媒体网”的文章,版权均属流媒体网所有,转载需注明出处。非本站出处的文章为转载,观点供业内参考,不代表本站观点。文中图片均来源于网络收集整理,仅供学习交流,版权归原作者所有。如涉及侵权,请及时联系我们删除!