图像压缩原理简介之H.261H.263_往复式压缩机原理简介
图像压缩原理简介之H.261H.263由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“往复式压缩机原理简介”。
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 fullne)进行简单的反馈控制。
若缓冲器太满,增加量化比例因子来降低数据量。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支持的视频格式: