H.264白皮书初探

为了更好的从整体了解h.264的相关知识,这一周主要是在看h.264的白皮书。由于是英文的,看的比较费劲,很多地方是不懂的,而且在后面“量化与变换”部分,数学公式较多,所以这部分略过去了。

这篇帖子是就我了解到的h.264从以下几方面做一个大体的概括。

1.H.264是什么

       H.264的全称是ISO MPEG4 Part 10 of MPEG4 and ITU-T H.264,这个标准通常被称之为H.264/AVC(或者AVC/H.264或者H.264/MPEG-4 AVCMPEG-4/H.264 AVC)。

它是怎么来的呢?

我们从1995年开始看。1995H.263完稿,这时视频压缩专家组(VCEG(官方头衔ITU-T SG16 Q.6ITU-T国际电信联盟远程通信标准化组织))提出了两个项目:一个是短期项目:增加现有的H.263的功能;另一个是长期项目:致力于开发一个面向低比特率可视通信的新标准。这个长期项目就导致了H.26L的产生。

到了2001年运动图像专家组(MPEG(是在ISO(国际标准化组织)和IEC(国际电工委员会)内运作的一个工作组)确定了H.26L的优势,就与VCEG一起成立了联合视频工作组(JVT),这个小组的主要任务就是将H.26L草案发展成一个国际化的标准。该标准第一版的最终草案于20035月完成。

H.264/AVC标准没有界定定义一个编/解码器,它只是定义了一个编码后的视频码流标准和一个比特流的解码方法,这样就使得编解码器的开发变得十分灵活。

2.H.264的优势

H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式,它即保留了以往压缩技术的优点和精华又具有其他压缩技术无法比拟的许多优点。

1.低码率(Low Bit Rate):和MPEG2MPEG4 ASP等压缩技术相比,在同等图像质量下,采用H.264技术压缩后的数据量只有MPEG21/8MPEG41/3。显然,H.264压缩技术的采用将大大节省用户的下载时间和数据流量收费。

2.高质量的图象:H.264能提供连续、流畅的高质量图象(DVD质量)。

3.容错能力强:H.264提供了解决在不稳定网络环境下容易发生的丢包等错误的必要工具。

4.网络适应性强:H.264提供了网络抽象层(Network Abstraction Layer),使得H.264的文件能容易地在不同网络上传输(例如互联网,CDMAGPRSWCDMACDMA2000等)。

H.264最大的优势是具有很高的数据压缩比率,在同等图像质量的条件下,H.264的压缩比是MPEG-22倍以上,是MPEG-41.52倍。举个例子,原始文件的大小如果为88GB,采用MPEG-2压缩标准压缩后变成3.5GB,压缩比为25∶1,而采用H.264压缩标准压缩后变为879MB,从88GB879MBH.264的压缩比达到惊人的102∶1。低码率(Low Bit Rate)对H.264的高的压缩比起到了重要的作用,和MPEG-2MPEG-4 ASP等压缩技术相比,H.264压缩技术将大大节省用户的下载时间和数据流量收费。尤其值得一提的是,H.264在具有高压缩比的同时还拥有高质量流畅的图像,正因为如此,经过H.264压缩的视频数据,在网络传输过程中所需要的带宽更少,也更加经济。

3.H264的编解码算法

 

 

其编码过程为:首先将一帧图像分片(slice)(编码单元)然后将分片(slice)划分为16*16像素的宏块(microblock)。对宏块进行帧内或帧间模式编码(这两种模式下会产生一个基于重建帧的预测模块P:若为帧内模式(intra)则预测宏块P是在当前帧已经编码的宏块进行解码重构根据预测形成的(利用了相邻宏块间的相关性,空间域);若为帧间模式(inter)则预测宏块P是通过前一帧当前宏块的值预测形成的(运动估计,时间域)。然后图像宏块值F减去预测值P得到一个残差D,对D进行量化(有损,信号的量化噪声产生不可避免),变换(H.264定义了三种变换,不仅仅是前面几种标准的DCT),熵编码形成比特流,进行传输与存储。

解码过程与之相反。

 

整个视频的可以慢慢细分:

序列、图像、片组、片、NALU、宏块、亚宏块、块、像素

 

H.264协议中,定义了三种片(取消了I帧,P帧,B帧的概念,这是H.264的革新)一幅图像根据概念来分可以分为两种:IDR 图像和非 IDR 图像。我们平常所谓的“I “IDR ,其实是 primary_pic_type 值为 0 的图像,我们平常所谓的“P其实是 primary_pic_type 值为 1 的图像的特例,我们平常所谓的“B其实是 primary_pic_type 值为 2 的图像的特例。全部都是I片的帧不一定是IDR图像,但IDR图像一定全是I片或SI片。(其实这个在写起来是很麻烦的,而且就这些概念很混乱,等整理出来再写个详细的)

另外H.264为了顺应视频流带宽的自适应性和抗误码性能的要求,又定义了SP片和SI片。这样不但能使视频码流直接进行方便而有效的切换,而且在解码端还能进行方便有效的随机访问。

 

(由于分片的说法牵扯到一些参数,这里还是利用以前的标准来解释)

H.264中图像以序列为单位进行组织,一个序列是一段图像编码后的数据流,以I帧开始,到I帧结束。一个序列的开始图像是IDR(立即刷新图像)就是I帧,它以JPEG压缩编码传输。IDR的存在使得解码器在解码到IDR图像时立即清空参考队列,重新开始新的队列。所以编码产生后一个序列就应该是这个样子IPBPBPB。。。。。。I

P帧是利用当前帧与关键帧(I帧)或之前的P帧之间的差别。它以I帧为参考帧,来获得某点的预测值及运动矢量,然后将预测值及运动矢量编码传输。

B帧是利用当前帧与前后帧的差别产生的。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值