1. H.263
简介
H.263 由 ITU 定义,为视频会议和视频电话应用程序提供图象压缩(译码)。H.263 基于 H.261,并且其带宽是由小于 20K 到 24K bit/sec 的视频流形成。作为一种一般规则,H.263 要求其半带宽要于 H.261 的对应带宽达到相同的视频质量,所以在很大程度上 H.263 取代了 H.261。H.263 使用传输视频流。
H.263 的译码算法和 H.261 中的类似,但它在 H.261 的基础上有了提高和改变,从而增强了性能和错误恢复能力。H.263 中运动补偿采用的是半象素精确度,而在 H.261 中采用的是全象素精确度和环路滤波器。数据流中分层结构的某些部分是可选的,如此可以通过一个较低的数据率或较好的错误恢复能力来配置视频编译码。目前有四种能够提高性能的可选协商选项:无限制运动向量、基于语法的算法译码、前向预测和前后帧预测,类似于 MPEG,叫做 P-B 帧。
2
.视频压缩中的一些基本概念
1
有损和无损压缩
在视频压缩中有损(Lossy)和无损(Lossless)的概念与静态图像中基本类似。无损压缩也即压缩前和解压缩后的数据完全一致。有损压缩意味着解压缩后的数据与压缩前的数据不一致。在压缩的过程中要丢失一些人眼和人耳所不敏感的图像或音频信息,而且丢失的信息不可恢复。丢失的数据率与压缩比有关,压缩比越小,丢失的数据越多,解压缩后的效果一般越差。此外,某些有损压缩算法采用多次重复压缩的方式,这样还会引起额外的数据丢失。
2
帧内和帧间压缩
帧内(Intraframe)压缩也称为空间压缩(Spatial compression)。当压缩一帧图像时,仅考虑本帧的数据而不考虑相邻帧之间的冗余信息,这实际上与静态图像压缩类似。帧内压缩一般达不到很高的压缩。
采用帧间(Interframe)压缩是基于许多视频或动画的连续前后两帧具有很大的相关性,或者说前后两帧信息变化很小的特点。也即连续的视频其相邻帧之间具有冗余信息,根据这一特性,压缩相邻帧之间的冗余量就可以进一步提高压缩量,减小压缩比。帧间压缩也称为时间压缩(Temporal compression),它通过比较时间轴上不同帧之间的数据进行压缩。帧间压缩一般是无损的。
3
对称和不对称编码
对称性(symmetric)是压缩编码的一个关键特征。对称意味着压缩和解压缩占用相同的计算处理能力和时间,对称算法适合于实时压缩和传送视频,如视频会议应用就以采用对称的压缩编码算法为好。不对称或非对称意味着压缩时需要花费大量的处理能力和时间,而解压缩时则能较好地实时回放,也即以不同的速度进行压缩和解压缩。一般地说,压缩一段视频的时间比回放(解压缩)该视频的时间要多得多
4 H.263
帧类型
A 内码帧(I帧)不能由任何其它帧构造出来,包含所有可显示它的信息。
I帧编码过程:
l 每个光亮度和色差平面被分成8*8的块
l 各块使用DCT转换成频率域
l 利用量化表进行量化。
l 对各块中最重要系数序列(DC系数)用DPCM技术进行编码,且仅编码两个相邻DC值的差
l 各块中的系数是按锯齿形次序进行行程编码
l 最后进行类哈夫曼编码
预测帧(P帧):由前面的帧构造所得。
P帧编码:
P帧编码过程:
l 在基准帧中对每个宏块均查找其最佳匹配宏块
l 计算实际宏块和最佳匹配宏块的差,作为运动向量
l 误差项用DCT进行转换
l 接着进行量化步,形成“锯齿形次序”行程编码,最后进行类哈夫曼平均信息量编码。注意量化表与I帧所用的不同,DC系数的编码与其他系数的编码方式相同
3. H.263
的内容和特点
H.263 视频编码标准是专为中高质量运动图像压缩所设计的低码率图像压缩标准。与H.261 的p×64K 的传输码率相比,H.263的码率更低,单位码率可以小于 64K,且支持的原始图像格式更多,包括了在视频和电视信号中常见的QCIF,CIF,EDTV,ITU-R 601,ITU-R 709 等等。
H.263 采用运动视频编码中常见的编码方法,将编码过程分为帧内编码和帧间编码两个部分。埃帧内用改进的DCT 变换并量化,在帧间采用1/2 象素运动矢量预测补偿技术,使运动补偿更加精确,量化后适用改进的变长编码表(VLC)地量化数据进行熵编码,得到最终的编码系数。
H.263的编码速度快,其设计编码延时不超过150ms;码率低,在512 K 乃至 384K 带宽下仍可得到相当满意的图像效果,十分适用于需要双向编解码并传输的场合(如:可视电话)和网络条件不是很好的场合(如:远程监控)
如下是H263的编解码图:
为了达到这些目标,H.263采用如下方法:
1)信源编码器基于通用中间格式(CIF),使其可以同时应用于625线和525线两种电视标准。视频编码器对图象的取样次数为视频信号场线的整数倍,取样时钟和数字网之间的关系是异步关系,提供可以和其它各种设备信号相结合的独立的数字比特流。
2)采用可减少时间冗余的帧间预测和可减少空间冗余的残留信号编码方法。解码器具有运动补偿的能力,并允许可选择地在编码器中增加这种技术。H263运动补偿采用的是半象素精度,而不是H.261建议中的全象素精度和循环滤波器。而对待传送的符号采用了游程编码。
3)允许采用无限制运动矢量模式,在该模式中,运动矢量被允许指到图片的外部,可使用更大的运动矢量。允许采用基于句法的算术编码模式代替游程编码,可将最终的比特数显著降低。允许采用高级预测模式,对P帧的亮度部分采用了块重叠运动补偿。对图片中的某些宏块采用4个8x8矢量来代替原来的1个16x16矢量。编码器必须决定使用哪一种矢量。允许采用PB帧模式,一个PB帧包含一个由前面的解得的P帧图象预测得出的P帧和一个由前一个P帧和当前解码的P帧共同预测得出的B帧。使用这种模式可以在比特率增加幅度很小的情况下大幅度增加帧频。
4)信源编码器的主要原理是预测,块变换和量化。信源格式信源编码器对每秒发生30000/1001(大约29.97)次的图象进行操作。对图象频率的允许误差为±50 ppm。采用五种图象格式,图象被编码为一个亮度信号和两个色差成分(Y,CB和CR)。五种标准图象格式为: sub-QCIF, QCIF, CIF, 4CIF和16CIF。对每种图象格式而言,在正交排列时,亮度的取样结构都是dx个象素每行,dy行每幅图象。两个色差成分的取样都是dx/2个象素每行,dy/2行每幅图象。dx, dy, dx/2和dy/2的值在下表给出。
H.263各种图象格式的象素个数
图象格式 亮度取样的象素个数(dx) 亮度取样的行数 (dy) 色度取样的象素个数(dx/2) 色度取样的行数(dy/2)
sub-QCIF 128 96 64 48
QCIF 176 144 88 72
CIF 352 288 176 144
4CIF 704 576 352 288
16CIF 1408 1152 704 576
对每种图象格式,色差取样被定位在和亮度块边界一致的块上。取样象素的纵横比和图象格式的纵横比一致,也和H.261建议中定义的QCIF和CIF一致:(4/3)*(288/352)。除了sub-QCIF格式的 纵横比为4:3。
解码器使用sub-QCIF以及QCIF格式等。编码器可对sub-QCIF和QCIF中的一种进行操作。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
H.263 支持五种分辨率。除了 H.261 支持的 QCIF 和 CIF 外,还有 SQCIF、4CIF 和 16CIF。SQCIF 的分辨率大约是 QCIF 的一半,而 4CIF 和 16CIF 的分辨率分别是 CIF 的4倍和16倍。
在译码算法上,H.261 与 H.263 的不同点列表如下:
|
图画格式
|
象素亮度
|
线条亮度
|
H.261是否支持
|
H.263是否支持
|
非压缩比特率(Mbits/s)
|
|||
10 frames/s
|
30 frames/s
|
|||||||
灰色
|
彩色
|
灰色
|
彩色
|
|||||
SQ_CIF
|
128
|
96
|
|
是
|
1.0
|
1.5
|
3.0
|
4.4
|
Q_CIF
|
176
|
144
|
是
|
是
|
2.0
|
3.0
|
6.1
|
9.1
|
CIF
|
352
|
288
|
可选
|
可选
|
8.1
|
12.2
|
24.3
|
36.5
|
4CIF
|
704
|
576
|
|
可选
|
32.4
|
48.7
|
97.3
|
146.0
|
16CIF
|
1408
|
1152
|
|
可选
|
129.8
|
194.6
|
389.3
|
583.9
|
文章引用自:http://www.goalercn.com/article/article.asp?Id=10244