H.264介绍

上传人:油条 文档编号:2666829 上传时间:2017-07-26 格式:PDF 页数:20 大小:506.39KB
返回 下载 相关 举报
H.264介绍_第1页
第1页 / 共20页
H.264介绍_第2页
第2页 / 共20页
H.264介绍_第3页
第3页 / 共20页
H.264介绍_第4页
第4页 / 共20页
H.264介绍_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《H.264介绍》由会员分享,可在线阅读,更多相关《H.264介绍(20页珍藏版)》请在金锄头文库上搜索。

1、 一、 H.264介绍 视频编解码技术有两套标准,国际电联( ITU-T)的标准 H.261、 H.263、 H.263+等;还有 ISO 的 MPEG标准 Mpeg1、 Mpeg2、 Mpeg4等等。 H.264/AVC是两大组织集合 H.263+和 Mpeg4的优点联合推出的最新标准,最具价值的部分无疑是更高的数据压缩比。在同等的图像质量条件下, H.264的数据压缩比能比 H.263高 2倍,比 MPEG-4高 1.5倍。 以下我们简单介绍 H.264的概念和发展,并探讨 H.264技术实用化的可能性 。 1. H.264/AVC是什么? H.264/AVC标准是由 ITU-T和 IS

2、O/IEC联合开发的,定位于覆盖整个视频应用领域,包括:低码率的无线应用、标准清晰度和高清晰度的电视广播应用、 Internet上的视频流应用,传输高清晰度的 DVD视频以及应用于数码相机的高质量视频应用等等。 ITU-T给这个标准命名为 H.264(以前叫做 H.26L),而 ISO/IEC称它为 MPEG-4 高级视频编码( Advanced Video Coding, AVC) ,并且它将成为 MPEG-4标准的第 10部分。既然 AVC是当前 MPEG-4标准的拓展,那么它必 然将受益于 MPEG-4开发良好的基础结构(比如系统分层和音频等)。很明显,作为 MPEG-4高级简洁框架(

3、Advanced Simple Profile, ASP)的 MPEG-4 AVC将会优于当前的 MPEG-4视频压缩标准,它将主要应用在具有高压缩率和分层次质量需求的方向。 就像在下边 “视频编码历史 ”表格中看到的, ITU-T 和 ISO/IEC 负责以前所有的国际视频压缩标准的定制。到目前为止,最成功的视频标准是 MPEG- 2,它已经被各种市场领域所广泛接受比如 DVD、数字电视广播(覆盖电缆和通讯卫星)和数字机顶盒 。自从 MPEG-2技术产生以来,新的 H.264/MPEG-4 AVC 标准在编码效率和质量上有了巨大的提高。随着时间的过去,在许多现有的应用领域, H.264/MP

4、EG-4 AVC将会取代 MPEG-2和 MPEG-4,包括一些新兴的市场(比如 ADSL视频)。 2. 数字视频编解码技术的演变 国际标准通常是由国际标准化组织 ISO在国际电信联盟 ITU的技术建议的基础上制订的。数字视频编解码标准也经历了多次变革, H264标准使运动图像压缩技术上升到了一个更高的阶段,在较低带宽上提供高质量的图像传输是 H.264的应用亮点 。 H.264的推广应用对视频终端、网守、网关、 MCU等系统的要求较高,将有力地推动视频会议软设备在各个方面的不断完善。 3. H.264的核心竞争力 H.264 最具价值的部分无疑是更高的数据压缩比。压缩技术的基本原理就是将视频

5、文件中的非重要信息过滤,以便让数据能够更快地在网络中传输。在同等的图像质量条件下,H.264的数据压缩比能比当前 DVD系统中使用的 MPEG-2高 2-3倍,比 MPEG-4高 1.5-2倍。正因为如此,经过 H.264压缩的视频数据,在网络传输过程中所需要的带宽更少,也更加经济。 在 MPEG-4需 要 6Mbps的传输速率匹配时, H.264只需要 3Mbps-4Mbps的传输速率。我们用交通运输来做更加形象的比喻:同样是用一辆卡车运输一个大箱子,假如 MPEG-4能把箱子减重一半,那么 H.264能把箱子减重为原来的 1/4,在卡车载重量不变的情况下,H.264比 MPEG-2 让卡车

6、的载货量增加了二倍。 H.264 获得优越性能的代价是计算复杂度的大幅增加,例如分层设计、多帧参论、多 模式运动估计、改进的帧内预测等,这些都显著提高了预测精度,从而获得比其他标准好得多的压缩性能。 不断提高的硬件处理能力和不断优化的软 件算法是 H.264得以风行的生存基础。早在十年前,主频为几十兆的 CPU 就达到了顶级,而如今普通的台式机, CPU 的主频已经高达几千兆。按照摩尔定律的说法,芯片单位面积的容量每 18 个月翻一番,因此 H.264 所增加的运算复杂度相对于性能提升效果而言微不足道。更何况新的计算方法层出不穷,也相对缓解 H.264对处理速度的饥渴需求。 4. H.264

7、 与 MPEG-4的比较 在极低码率( 32-128Kbps)的情况下, H.264 与 MPEG-4 相比具有性能倍增效应,即:相同码率的 H.26L媒体流和 MPEG-4媒体流相比, H.26L拥有大约 3个分贝的增益(画质水平倍增)。 32Kbps的 H.26L媒体流,其信躁比与 128K的 MPEG-4媒体流相近。即在同样的画面质量下, H.264的码率仅仅为 MPEG-4的四分之一。 5. H.264/AVC核心技术概览 这个新的标准是由下面几个处理步骤组成的: 帧间和帧内预测 变换(和反变换) 量化(和反量化) 环路滤波 熵编码 单张的图片流组成了视频,它能分成 16X16像素的

8、“宏块 ”,这种分块方法简化了在视频压缩算法中每个步骤的处理过程。举例来说,从标准清晰度标准视频流解决方案( 720X480)中截取的一幅图片被分成 1350( 45X30)个宏块,然后在宏块的层次进行进一步的处理。 a) 帧间预测 改良的运动估计。运动估计用来确定和消除存在于视频流中不同图片之间的时间冗余。当运动估计搜索是根据过去方向的图片,那么被编码的图片称为 “P 帧图片 ”,当搜索是根据过去和将来两种方向的图片,那么被编码的图片被称为 “B帧图片 ”。 为了提高编码效率,为了包含和分离在 “H.264 运动估计 -改良的运动估计 ”图中的运动宏块,宏块被拆分成更小的块。然后,以前或将来

9、的图片的运动矢量被用来预测一个给定的块。 H.264/MPEG-4 AVC发明了一种更小的块,它具有更好的灵活性,在运动矢量方面可以有更高的预测精度。 b) 帧内预测 不能运用运动估计的地方,就采用帧内估计用来消除空间冗余。内部估计通过在一个预定义好的集合中不同方向上的邻近块推测相邻像素来预测当前块。然后预测块和真实块之间的不同点被编码。这种方法是 H.264/MPEG-4 AVC 所特有的,尤其对于经常存在空间冗余的平坦背景特别有用。 c) 变换 运动估计和内部估计后的结果通过变换被从空间域转换到频率域。 H.264/MPEG-4 AVC使用整数 DCT4X4变 换。而 MPEG-2和 MP

10、EG-4使用浮点 DCT8X8变换。 更小块的 H.264/MPEG-4 AVC 减少了块效应和明显的人工痕迹。整数系数消除了在MPEG-2和 MPEG-4中进行浮点系数运算时导致的精度损失。 量化 变换后的系数被量化,减少了整数系数的预测量和消除了不容易被感知高频系数。这个步骤也用来控制输出的比特率维持在一个基本恒定的常量。 d) 环路滤波 H.264/MPEG-4 AVC 标准定义了一个对 16X16 宏块和 4X4 块边界的解块过滤过程。在宏块这种情况下,过滤的目的是消除由于相邻宏块有 不同的运动估计类型(比如运动估计和内部估计)或者不同的量化参数导致的人工痕迹。在块边界这种情况下,过

11、滤的目的是消除可能由于变换 /量化和来自于相邻块运动矢量的差别引起的人工痕迹。环路滤波通过一个内容自适应的非线性算法修改在宏块 /块边界的同一边的两个像素。 e) 熵编码 在熵编码之前, 4X4的量化系数必须被重排序。根据这些系数原来采用的预测算法为运动估计或者内部估计的不同来选择不同的扫描类型创建一个重排序的串行化流。扫描类型按照从低频到高频的顺序排序这些系数。既然高频系数大多数趋向于零,那么利用游程编码就可以缩减零 的数目,从而高效的达到熵编码的目的。 f) 熵编码 -系数的串行化 在熵编码步骤通过映射符号的字节流来表示运动矢量,量化系数和宏块头。熵编码通过设计用一个较少的比特位数来表示频

12、繁使用的符号,比较多的比特位数来表示不经常使用的符号。 二、 H.264编码原理以及 I帧 B帧 P帧 1. 前言 H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有 10%以内的点 ,亮度差值变化不超过 2%,而色度差值的变化只有 1%以内。所以对于一段变化不大图像画面,我们可以先编码出一个完整的图像帧 A,随后的 B帧就不编码全部图像,只写入与 A帧的差别,这样 B帧的大小就只有完整帧的 1/10或更小! B帧之后的 C帧如果变化不大,我们可以继续以参考

13、 B的方式编码 C帧,这样循环下去。这段图像我们称为一个序列(序列就是有相同特点的一段数据),当某个图像与之前的图像变化很大,无法参考前面的帧来生成,那我们就结束上一个序列,开始下一段序列,也就是对这个图像生成一个完整帧 A1,随后的图像就参考 A1生成,只写入与 A1的差别内容。 在 H264 协议里定义了三种帧,完整编码的帧叫 I帧 ,参考之前的 I 帧生成的只包含差异部分编码的帧叫 P帧 ,还有一种参考前后的帧编码的帧叫 B帧 。 H264采用的核心算法是 帧内压缩和帧间压缩 ,帧内压缩是生成 I帧的算法,帧间压缩是生成 B帧和 P帧的算法。 2. 序列的说明 在 H264 中图像以序列

14、为单位进行组织,一个序列是一段图像编码后的数据流,以 I帧开始,到下一个 I帧结束。 名为 GOP。 一个序列的第一个图像叫做 IDR 图像(立即刷新图像), IDR 图像都是 I 帧图像 。H.264 引入 IDR 图像是为了解码的重同步,当解码器解码到 IDR 图像时,立即将参考帧队列清空,将已解码的数据全部输出或抛弃,重新查找 参数集 ( sps) ,开始一个新的序列。这样,如果前一个序列出现重大错误,在这里可以获得重新同步的机会。 IDR图像之后的图像永远不会使用 IDR之前的图像的数据来解码。 一个序列就是一段内容差异不太大的图像编码后生成的一串数据流。当运动变化比较少时,一个序列可

15、以很长,因为运动变化少就代表图像画面的内容变动很小,所以就可以编一个 I帧,然后一直 P帧、 B帧了。当运动变化多时,可能一个序列就比较短了,比如就包含一个 I帧和 3、 4个 P帧。 3. 三种帧的说明 a) I帧 :帧内编码帧 I帧表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面) I帧特点 : 它是一个全帧压缩编码帧。它将全帧图像信息进行 JPEG压缩编码及传输 ; 解码时仅用 I帧的数据就可重构完整图像 ; I帧描述了图像背景和运动主体的详情 ; I帧不需要参考其他画面而生成 ; I帧是 P帧和 B帧的参考帧 (其质量直接影响到同组中以后各

16、帧的质量 ); I帧是帧组 GOP的基础帧 (第一帧 ),在一组中只有一个 I帧 ; I帧不需要考虑运动矢量 ; I帧所占数据的信息量比较大。 b) P帧 :前向预测编码帧 P帧表示的是这一帧跟之前的一个关键帧(或 P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。(也就是差别帧, P 帧没有完整画面数据,只有与前一帧的画面差别的数据) P帧的预测与重构 :P帧是以 I帧为参考帧 ,在 I帧中找出 P帧 “某点 ”的预测值和运动矢量 ,取预测差值和运动矢量一起传送。在接收端根据运动矢量从 I帧中找出 P帧“某点 ”的预测值并与差值相加以得到 P帧 “某点 ”样值 ,从而可得到完整的 P帧。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号