陈晓培H.264技术报告

  • 格式:doc
  • 大小:443.00 KB
  • 文档页数:41

H.264视频编码多媒体报告

1.H.264视频编码背景:

在同等的图像质量下,H.264的数据压缩比是MPEG-4的1.5-2倍,而且在网络传输中其需要更少的带宽,大概只需1Mbps-2Mbps的传输速率,且最近推出的H.265标准更比H.264先进,所需带宽仅为H.264的1/2。H.264标准采用的是更为有效的编码方法,模式选择都是自适应的,如预测模式编码模式率失真判断,滤波也采用BS判断滤波强度,选择最适合的模式。变换编码也应用整数变换。多方面的算法优化,使编码的压缩效率更高,但是处理的复杂度很高,故在处理计算方面,H.264标准也才用优化的运算处理方法,如计算中也避免复杂运算:如将除法转化为移位,一维DCT变换采用蝶形算法。同时在传输中,H.264采用的分层结构与片的思想,以及SP与SI帧的技术,即使在极差的网络(误码,丢包率高)也能很好的重建解码图像。总体来说,H.264标准的效率和可靠性都是很高,特别是其网络亲和力。

输入格式:采用4:2:0的Y:Cr:Cb格式(也就是说,亮度像素的水平和垂直分辨率都只有色度像素的一半)

图像类型:每个帧都被编码为I或P帧。一个I帧只包含帧内编码宏块,而P帧则包含帧内也包含帧间编码宏块。

运动预测和补偿:在16*16或(任意)8*8宏块中实现,运动矢量的精度可以达到1/4像素分辨率。

变换编码:运动补偿残差值用DCT编码,量化,之字形扫描并

用游程编码。

变长编码:对变换系数进行游程编码,用头信息和运动矢量用变长编码进行编码。每个非零变换系数被编码为游程(run),大小(level)和结束(结束用于标志是否为块中最后一个非零系数)

图像层:语法的最高层包含一个完整的编码图像。包含图像头信息及图像的分辨率,编码图像的类型(帧内或帧间),时域参考场。这标志着解码器能够正确的显示时间(相对于其他的编码图像),并帮助确定这个图像不会太迟也不会太早显示。

块组层:一组块(GOB)早SQCIF,QCIF和CIF图像格式时包含了一个完整的宏块行(在4CIF图像中国为两行,在16CIF图像中为4行)。可选的GOB头被插入到比特流中,解码器出现错误时能够在GOB开始的地方重新同步。

宏块层:一个宏块包含四个亮度块和两个色度块。宏块头包含宏块类型的信息,编码模式(表示六个块中国的哪一个包含变换系数),编码水平和垂直的运动矢量(对于帧间编码宏块)。

块层:一个块包含与8*8开采用数据想对应的游程编码系数。

编码器的核心:被设计用于编码低比特率系数。

H.264档次和级:

(1)基本档次:利用I片和P片支持帧内和帧间编码,支持利用基于上下文的自适应的变长编码进行的熵编码(CAVLC)。主要可用于可视电话,会议电视,无线通信等实时视频通信。

(2)主要档次:支持隔行视频,采用B片的帧间编码和采用加

权预测的帧间编码;支持利用基于上下文的自适应的算术边按摩(CABAC)。主要用于数字广播电视与数字视频存储。

(3)扩展档次:支持码流之间有效的切换(SP和SI片),改进误码性能(数据分割),但不支持隔行视频和CABAC。

H.264主要目标:

(1)得到高的视频压缩比,与H.263,MPEG-4相比,视频压缩比提高一倍。

(2)具有良好的网络亲和性,即适用于各种传输网络。

2.整体框架

取样(原始图像)—预测(预处理,帧间或者帧内)—变换编码(DCT)—量化—编码比特流—NAL(网络自适应层)—网络传送(节省带宽和存储空间)—熵解码—重排序—反量化—(IDCT)—运动补偿,可延迟帧存储器—环路滤波器—图像输出(参考图像)

注释:

取样到熵编码(编码)是在A/D变换器中进行,反量化到图像输出(解码)是在D/A变换器中进行。

预测编码和变换编码是在视频信源编码器中进行的,熵编码是在视频复合编码器中进行,熵编码后的码流在经过传输缓冲器和码率控制器以及传输编码器。传输缓冲器和码率控制器用于保证输出码流尽可能稳定,而传输编码器是用于视频数据的误码检检测和纠正。

视频数据(摄像机,在视频编码器中进行),音频数据(话筒,音频编码器)—ES(基本比特流)—打包器,一种作为节目流复用

—硬盘,CO-ROM,一种作为传送流复用—卫星,地面,以及有线电视。

④编码器与解码器:视频压缩的两个完整的系统。

编码器转化原数据为便于传输与存储的缩减的数据形式,其主要包括三个功能单位:时域编码模型,空间域编码模型与熵化编码器。解码器转化压缩的数据格式为原始视频数据。两者经常并称为“CODEC”。

源信号—源编码器—信道编码器—信道—信道解码器—源解码器—解码信号

(原始信息(未压缩信息)被编码(压缩),这被称为信源编码。被编码的源信号在信道传输之前进一步编码以增加纠错功能,称为信道编码。在接收端,信道解码器检测或纠正传输中的错误,接着由信源解码器检测或纠正传输中的错误,接着由信源解码器解压缩出原信号。解压缩的信号可能和原信号是一致的(无损压缩),或者在某种程度上失真和退化(有损压缩))。

大多数的视频未编码压缩的方式都是通过去除时域与空间域上的冗余来达到压缩效果,这是由于视频在时域与空间域上的(帧间与帧内)的像素信息有很大的相关性。故根据此原理主要有帧间与帧内编码,如分别基于块与区域的运动估计与补偿的编码(帧间),变换编码(离散小波变换与离散余弦变换)(帧内)。还有统计方法的编码方式:量化编码,与熵化编码。

⑤视频编码几大冗余:

空间冗余:在一幅图像或一帧视频中相邻的样本点(像素)一般具有很高的相关性。

时域冗余:连续帧中的相邻区域也往往具有很高的相关性。

主观冗余:利用人眼视觉系统对图像和视频的不同特点的敏感程度的不同,例如人眼视觉模型HVS对低频的信号比对高频的喜好敏感,因此可以通过去除一定的高频分量来压缩图像。

统计冗余:熵编码的统计冗余。

视频质量的判别客观标准:利用峰值信躁比PSNP=MSEn/)12lg(102,信躁比越大,视频质量越高。(MSE为原始和编码后图像之间的均方误差,212n为图像中最大可能的信号值平方,n为每个像素的比特数)。

3.各个流程解剖

(1)取样

自然视觉场景取样:视频图像是三维场景在二维平面上的投影。视觉场景的主要特点是自然而平滑连续,故为了捕获自然视频场景,数字视频采用空间域上(方网格取样)的取样与时间上等间隔的画面取样,并转化为图像像素信息的数字化存储。

景物—镜头—捕获—处理/存储/传输—显示

采集视频场景的数字化分为两个阶段,捕获(转换场景的投影到电子信号,比如通过CCD阵列)与数字化(对投影时空采样并且将样本转换为一组数字)。数字化过程可以通过一个独立设备或者电路板完成(例如PC上的视频捕捉卡),而现在的趋势是数字化过程整

合到摄影机中,使得摄影机输出已经是数字化表示了。

空间的取样:通常CCD阵列在网格的交叉点处进行取样,视频的清晰与否取决于视频的分辨率,即在一个画面取样的单位像素的量决定。(最常见的采样图像格式是采样点以正方形点阵分布的矩形,通常宽度大于高度),更多的采样点(更高的采样分辨率)能提高更好的图像,然而,更多的采样点需要更多的存储空间。

典型视频图像分辨率:

图像分辨率 采样点个数 等价于模拟视频

352*288 101376 VHS视频

704*576 405504 广播电视

1440*1152 1313280 高清电视

时域的取样:对自然场景等间隔的取样,而实际上的视频则根据需要选择取样的时间间隔,如25次/s-30次/s是标准的数字图像取样速率,低于此速率的虽然比特率小但图像的平滑与平稳性都不佳,高于此比特率的视频质量高但比特率大。且取样的方式并不仅有对整个图像一次取样的帧取样,还有将一帧图像分为两场的场取样:顶场与底场。顶场由奇数行构成,底场由偶数行构成。这种取样方法的好处是在同样的带宽下,是视频接收端的播放更流畅。通过实验证明,视频运动量大的地方可采用场取样,运动量小时可选取帧取样。使用隔行扫面视频能提高时间采样的视频序列的视频效果。例如工作帧率为25HZ(即一秒钟视频包括25个完整帧),然而为了提高视觉表示

而不增加数据率,视频序列被组织成50HZ的场(每秒50场)。每场包括完整帧一半的信息。

显示:显示二维视频信号需要在二维显示设备上重建每一幅视频帧。最常见的显示设备是阴极射线管(CRT),图像被扫描成为调制的电子束射到荧光屏上。液晶显示器(LCD)正在逐渐取代CRT显示器。

色彩空间的取样格式:如果一个样本用n个二进制位表示,那么0就表示黑色,而(12n)表示白色,中间值用来表示灰度。色彩空间表示色彩与其亮度的方式,有RGB与YCBCr两种颜色空间,RGB为三原色红绿蓝表示一个像素信息,它十分适合图像的捕捉与展示,通常摄像设备是过滤其他颜色来收集各单色的信息。但是RGB色彩空间的颜色数据往往较大,而且统计研究表明,将图像中的亮度信息从彩色信息中分离出来,并使之具有更高的清晰度。即将RGB转化为YCbCr(Y表示亮度,CbCr表示蓝色和红色色度)色彩空间来进行存储于传输。彩色信息的清晰度降低,可显著压缩带宽,实现视频压缩的一部分。但是,人眼对画面的感觉没有不同。(YCbCr相对RGB而言一个重大的优点,就是我们可以用比Y更低的分辨率来存储CbCr,因为人类视觉系统(HVS)对色度的敏感程度低于亮度,这样可以减小大量数据的同时对视觉质量没有明显的影响)

RGB与YCbCr转化公式为:

Y=KrR+KgG+KbB(Kr+Kg+Kb=1);

Cb=B-Y;

Cr=R-Y;(Cb,Cr,Cg之和为常数)

Cg=G-Y;

取样格式:Y:Cb:Cr=4:4:4 4:2:2 4:2:0(Y:亮度,Cb,Cr为色度)一般选取4:2:0的取样格式。

4:4:4:是Y,Cb,Cr在图像水平方向上的取样速率一样,即每个像素点都对YcbCr进行取样。这种取样格式的视频质量最高,但是其需要更多的存储空间与码率。

4:2:2:Cb,Cr在水平方向上的取样速度是Y的1/2。垂直方向上是Y,Cb,Cr在图像水平方向上的取样速率一样,这种取样格式的视频质量一很高,一般作为高质量的色彩重构。

4:2:0: Cb,Cr在水平面上与垂直方向上的取样速度都是Y的1/2。其是一种非常流行的取样格式,虽然其视频质量一般,但其存储空间与码率的要求仅为4:4:4的一半。故在视频会议,数字电视与DVD存储上被广泛使用。4:2:0采样有时也被称为“12比特像素”。如果使用4:4:4采样有12个采样点,Y,Cb,Cr各有四个,一共需要12*8=96比特,平均每个像素96/4=24比特。而使用4:2:0采样,只有6个采样点,Y四个,Cb,Cr各一个,一共需要6*8=48比特,每个像素48/4=12比特。

(其中三个数字分别代表的是Y,Cb,Cr在图像水平方向上的取样速率,4:4:4取样模型中Y,Cb,Cr对于每单位是24bits,而4:2:0是12bits,比前者少一半。)