H264技术报告.docx
- 文档编号:2201897
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:7
- 大小:33.70KB
H264技术报告.docx
《H264技术报告.docx》由会员分享,可在线阅读,更多相关《H264技术报告.docx(7页珍藏版)》请在冰豆网上搜索。
H264技术报告
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标准的效率和可靠性都是很高,特别是其网络亲和力。
2.整体框架
取样(原始图像)—预测(预处理,帧间或者帧内)—变换编码(DCT)—量化—编码比特流—NAL(网络自适应层)—网络传送(节省带宽和存储空间)—熵解码—重排序—反量化—(IDCT)—运动补偿,可延迟帧存储器—环路滤波器—图像输出(参考图像)
注释:
取样到熵编码(编码)是在A/D变换器中进行,反量化到图像输出(解码)是在D/A变换器中进行。
预测编码和变换编码是在视频信源编码器中进行的,熵编码是在视频复合编码器中进行,熵编码后的码流在经过传输缓冲器和码率控制器以及传输编码器。
传输缓冲器和码率控制器用于保证输出码流尽可能稳定,而传输编码器是用于视频数据的误码检检测和纠正。
视频数据(摄像机,在视频编码器中进行),音频数据(话筒,音频编码器)—ES(基本比特流)—打包器,一种作为节目流复用—硬盘,CO-ROM,一种作为传送流复用—卫星,地面,以及有线电视。
④编码器与解码器:
视频压缩的两个完整的系统。
编码器转化原数据为便于传输与存储的缩减的数据形式,其主要包括三个功能单位:
时域编码模型,空间域编码模型与熵化编码器。
解码器转化压缩的数据格式为原始视频数据。
两者经常并称为“CODEC”。
大多数的视频编码压缩的方式都是通过去除时域与空间域上的冗余来达到压缩效果,这是由于视频在时域与空间域上的(帧间与帧内)的像素信息有很大的相关性。
故根据此原理主要有帧间与帧内编码,如分别基于块与区域的运动估计与补偿的编码(帧间),变换编码(离散小波变换与离散余弦变换)(帧内)。
还有统计方法的编码方式:
量化编码,与熵化编码。
视频质量的判别客观标准:
利用峰值信躁比PSNP=,信躁比越大,视频质量越高。
(MSE为原始和编码后图像之间的均方误差,为图像中最大可能的信号值平方,n为每个像素的比特数)。
3.各个流程解剖
(1)取样
自然视觉场景取样:
自然视觉场景的主要特点是自然而平滑连续,故为了捕获自然视频场景,数字视频采用空间域上(方网格取样)的取样与时间上等间隔的画面取样,并转化为图像像素信息的数字化存储。
空间的取样:
通常CCD阵列在网格的交叉点处进行取样,视频的清晰与否取决于视频的分辨率,即在一个画面取样的单位像素的量决定。
时域的取样:
对自然场景等间隔的取样,而实际上的视频则根据需要选择取样的时间间隔,如25次/s-30次/s是标准的数字图像取样速率,低于此速率的虽然比特率小但图像的平滑与平稳性都不佳,高于此比特率的视频质量高但比特率大。
且取样的方式并不仅有对整个图像一次取样的帧取样,还有将一帧图像分为两场的场取样:
顶场与底场。
顶场由奇数行构成,底场由偶数行构成。
这种取样方法的好处是在同样的带宽下,是视频接收端的播放更流畅。
通过实验证明,视频运动量大的地方可采用场取样,运动量小时可选取帧取样。
色彩空间的取样格式:
色彩空间表示色彩与其亮度的方式,有RGB与YCBCr两种颜色空间,RGB为三原色红绿蓝表示一个像素信息,它十分适合图像的捕捉与展示,通常摄像设备是过滤其他颜色来收集各单色的信息。
但是RGB色彩空间的颜色数据往往较大,而且统计研究表明,将图像中的亮度信息从彩色信息中分离出来,并使之具有更高的清晰度。
即将RGB转化为YCbCr(Y表示亮度,CbCr表示蓝色和红色色度)色彩空间来进行存储于传输。
彩色信息的清晰度降低,可显著压缩带宽,实现视频压缩的一部分。
但是,人眼对画面的感觉没有不同。
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:
44:
2:
24:
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存储上被广泛使用。
(其中三个数字分别代表的是Y,Cb,Cr在图像水平方向上的取样速率,4:
4:
4取样模型中Y,Cb,Cr对于每单位是24bits,而4:
2:
0是12bits,比前者少一半。
)
取样频率:
(为模拟信号的上限频率),保证无失真的由取样后的离散信号恢复出原来的模拟信号。
视频的格式:
以上是色彩空间的的取样格式。
但对于一帧图像,取样的一帧图像中得到像素点信息的数量(即分辨率)则决定了图像的清晰与否。
故根据用户的需要,视频帧的取样又分为4种格式,根据具体的需要选择格式,分别为:
Sub—QCIF(128*96的亮度分辨率)在4:
2:
0的色彩空间取样格式每秒需147456bits,最低。
QuarterCIF(QCIF)(175*144的亮度分辨率)在4:
2:
0的色彩空间取样格式每秒需304128bits。
CIF(352*288的亮度分辨率)在4:
2:
0的色彩空间取样格式每秒需1216512bits。
4CIF(704*576的亮度分辨率)在4:
2:
0的色彩空间取样格式每秒需4866048bits,最高。
4CIF用于标准电视与DVD视频,CIF与QCIF一般用于作视频会议,而QCIF语SQCIF由于其需要的比特率很小,很适合像移动设备这种屏幕分辨率与比特率有限的设备。
而且对于视频一秒内取样的帧的数量决定视频播放的流畅性,根据ITU-RBT.601-5的参数:
可分为30HZ(forNTSC信号)与25HZ(forPAL/SECAM信号)的取样频率。
(2)预测
预处理:
在对图像进行编码前,需要对图像进行预处理。
包括获取图像,如何获取图像并进行相应的处理呢?
首先,进行色彩插值,获取三基色R,G,B。
接着进行色彩校正,消除图像与真实场景之间的差异。
伽马校正,使显示的图像效果和实际相符。
图像增强,消除相关性和高频噪声,有利于图像的压缩和处理。
其中平滑滤波是在保持图像细节的同时,消除噪声;图像锐化是使图像边缘变得鲜明,直方图均衡描述了一幅图像的灰度级内容。
白平衡,是对白色物体的还原,不同温度下拍摄的物体导致色彩上的差异,所以要进行白平衡处理。
片分割:
将图像分割成不重叠的矩形块,这些片可以单独进行压缩编码。
DC电平平移:
将图像中所有无符号分量的样本值进行直流电平平移,即减去一个相同的(p是分量的比特数),使离散小波变换系数动态范围不会太大,有利于后续编码。
④分量间变换:
去掉分量间的相关性,达到提高压缩编码效率的作用。
帧间编码与帧内编码的选择判定:
利用帧间相关性判定,相关性大采用帧间编码,否则采用帧内编码。
帧内:
一个待编码的像素可以通过相邻像素构建预测值,并计算与原像素之间的残差,解码则反过来。
利用像素间的相关性进行压缩编码(传送残差,残差为当前像素与参考像素的差值),像素间的相关性采用m个像素的加权作为预测,相关性大,则变小,压缩效率提高。
其中帧内预测包括一维预测,二维预测,以及编码增益,对于编码增益,如果是高斯信原,则GDPCM=(即原始信号方差与预测误差方差之比)
一个帧分为两场(顶场和底场),帧的空间相关性强,适用于运动量不大的图像,而场的时间相关性强,适用于运动量大的图像。
帧间:
对于帧间的编码可利用相邻图像来构建当前预测图像,并计算出其与当前图像的残差值。
残差值越小,则压缩效率越高。
而对于解码器而言,只要通过已解码的先前图像构建出当前预测图像,再加上残差即可还原原来的图像。
所以只要存储和发送残差值便可达到显著压缩的目的。
帧间预测编码可采取基于帧的分割,也可以采取基于场的分割。
它分为单向预测和双向预测,单向预测(运动补偿),一种是传送帧差和每个像素的运动矢量(预测图像利用上一帧的图像得到其运动矢量),另外一种是基于块(1/4像素精度,像素位置内插,提高了编码效率)过去帧与当前帧的宏块匹配时,求出改亮度宏块的运动矢量Vx和Vy,分别表示过去帧的最佳匹配块比当前帧的宏块右移Vx和Vy个像素,构成当前帧的亮度预测帧,色度块则作Vx/2和Vy/2位移,组成当前色度预测帧,接着将相应的当前帧块和预测帧块相减得到帧误差信号(残差信号),再对此帧差信号进行DCT变换,量化后传送到复合编码器。
当前帧块与前一帧块的位移,匹配准则(均方误差最小,绝对误差最小)。
匹配准则的几种方法:
最小均方差函数,最小平均绝对值函数,阙值差别计数。
匹配误差函数可以用个各种优化方法进行最小化:
运动搜索算法如穷尽搜索法(把当前帧的给定块与参考帧所有候选块比较,找具有最小匹配误差的一个,这两个块之间的位移为MV),快速搜索法(二维对数搜索法和三步搜索法)
分数精度搜索法:
搜索相应块的步长不一定是整数,为了实现1/k像素步长,对参考帧进行了k倍内插。
其中基于块的选择:
块尺寸大(适用于图像细节比较少,比较平坦),块尺寸小(适用于细节比较多)
解码端:
运动矢量经过运动匹配后得到的预测误差。
参考帧图像中找到相应的块或宏块+预测误差=解码的块或宏块在当前帧中的位置。
运动估计与运动补偿:
上述编码压缩方式有一定的局限性(当图像有剧烈变化时信息量依旧很大),所以可采用图像的运动估计与补偿方式来进一步提高压缩的精确度,进一步提高压缩效率。
对于一个物体的运动估计,我们需要得出其与其匹配块的矢量。
而对于一个物体的运动补偿,我们有需要比较其间的变化并得出变化的量作为补偿。
结合运动的矢量与补偿才可使视频的播放更自然与流程。
图像的运动估计与补偿主要由两种:
基于块(宏块)的图像估计与补偿以及基于区域的图像估计与补偿。
前者的方法是将图像分割成N*N的块来进行运动估计,再通过搜索算法(较优越的三步搜索法)找到匹配快,计算两者之间运动矢量与补偿值。
同时,块(宏块)的大小亦是影响运动估计精确度的原因,块越小可使估计的程度越精细。
但是块越小,则处理会变得更加复杂,同时需要传输的运动矢量亦会大幅增加。
所以适当选择块的大小是及其重要的(一般是8*8)。
在一些情况下(如物体旋转或是形状发生变化),基于块匹配方式就不够高效,故此时可采用基于区域的运动估计,以物体的轮框移动进行运动估计,但缺点是物体的轮廓容易被混淆而出现误辨认。
分像素运动补偿:
为了使运动补偿的量更加精确,可采用分像素运动补偿法。
以三步法一次搜索整像素匹配点,半像素匹配点,1/4像素匹配点,再将该运动估计块与当前块相减即为补偿。
这种方式使运动估计更为精确,同时也降低了补偿值,提
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- H264 技术 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)