H.264是由ITU-T(ITU Telecommunication Standardization Sector,国际电信联盟远程通信标准化组)视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。
ITU-T的H.264标准和ISO/IECMPEG-4第10部分(正式名称是ISO/IEC 14496-10)在编解码技术上是相同的,这种编解码技术也被称为AVC,即高级视频编码(Advanced Video Coding)。该标准第一版的最终草案(FD)已于2003年5月完成。
H.264是ITU-T以H.26x系列为名称命名的标准之一,同时AVC是ISO/IEC MPEG一方的称呼。
H.264/AVC项目最初的目标是希望新的编解码器能够在比相对以前的视频标准(比如MPEG-2或者H.263)低很多的码率下(比如说,一半或者更少)提供很好的视频质量;同时,并不增加很多复杂的编码工具,使得硬件难以实现。
另外一个目标是可适应性,即该编解码器能够在一个很广的范围内使用(比如说,即包含高码率也包含低码率,以及不同的视频分辨率),并且能在各种网络和系统上(比如组播,DVD存储,RTP/IP包网络,ITU-T多媒体电话系统)工作。
H.264/AVC的新特征
1、多参考帧的运动补偿。比起以前的视频编码标准,H.264/AVC以更灵活的方式使用已编码的更多帧来作为参考帧。在某些情况下,可以使用最多32个参考帧(在以前的标准里面,参考帧的数目不是1就是对B帧来说的2)。该特性对大多数场景序列都可以带来一定的码率降低或者质量提高,对某些类型的场景序列,例如快速重复的闪光,反复的剪切或者背景遮挡的情况,它能很显著的降低编码的码率。
2、变块尺寸运动补偿。可使用最大16x16至最小4x4的块来进行运动估计与运动补偿,能够对图像序列中的运动区域进行更精确的分割。
3、为了减少锯齿并得到更锐化的图像,采用六抽头的滤波器来产生二分之一像素的亮度分量预测值。
4、宏块对结构允许场模式中采用16x16的宏块(相对于MPEG-2中的16x8)。
5、1/4像素精度的运动补偿能够提供更高精度的运动块预测,由于色度通常是亮度抽样的1/2,这时
运动补偿的精度就达到了1/8像素精度。
6、加权的运动预测,指在运动补偿时可以使用增加权重和偏移的办法。它能在一些特殊的场合,如淡入、淡出、淡出而后淡入等情况提供相当大的编码增益。
7、使用了一个环内的除块效应滤波器,能够减轻普遍存在于其他基于离散余弦变换(DCT)的视频编解码器的块效应。
8、一个匹配的整数4x4变换(类似于离散余弦变换的设计),同样在高精度拓展 中,采用整数8x8变换,并能在4x4变换和8x8变换中进行自适应的选择。
9、在第一次4x4变换后,对DC系数(色度的DC系数和某种特殊状况的亮度DC系数)再进行一次Hadamard变换,使得在平滑区域得到更好的压缩效果。
10、利用临近块的边界像素的Intra空间预测(比曾在MPEG-2视频部分使用的直流系数预测和在H.263+和MPEG-4视频部分使用的变换系数预测的效果要好)。
11、基于上下文的二元算数编码 (CABAC),它能够灵活的将各种语法元素,在已知相应上下文概率分布的状况下进行更有效的无损熵编码。
12、基于上下文的变长编码 (CAVLC),用于对量化后的变化系数进行编码。比起CABAC它的复杂度相对较低,压缩比不高,但是比起以前的视频编码标准所使用的熵编码方案,它又是相当有效的。
13、对既不是用CABAC也不是用CAVLC的语法元素,使用指数哥伦布码(Exponential-Golomb)(Exp-Golomb)熵编码方案,进行编码。
14、使用一个网络抽象层 (NAL),使得相同的视频语法可以适用于多种网络环境中;并且使用了序列参数集(SPSs)和图像参数集(PPSs)来提供更高的强健性(robustness)和灵活性。
15、切换条带(Switching slices,包括SP和SI两种),它使得编码器能够指令解码器跳转到一个正在处理的视频码流,用来解决视频码流码率切换和"窍门模式"(Trick mode)操作。当解码器利用SP/SI条带跳转到一个视频码流中间时,除非之后的解码帧引用切换帧之前的图像作为参考帧,它都可以得到完全一致的解码重建图像。
16、灵活的宏块排列模式(FMO for Flexible macroblock ordering,也被称为条带组slice groups技术)和任意条带排列(ASO for arbitrary slice ordering)模式,用来更改图像编码的最基本单位-宏块的编码顺序。它能够用来提高有绕信道下码流的鲁棒性(robustness)以及一些其它的目的。
17、数据分区(DP for Data partitioning),能够将重要程度不同的语法元素分开打包传输,并使用非平等数据保护(UEP for unequal error protection)等
技术来改善视频码流对抗信道误码/丢包的鲁棒性(Robustness).
18、冗余条带(RS for Redundant Slices),同样是一个提高码流鲁棒性的技术。编码器利用该技术可以发送图象某区域(或者全部)的另一个编码表示(通常是较低分辨率的编码码流)使得当主表示发生错误或者丢失的时候能够用冗余的第二个编码表示来解码。
19、使用了一个自动的字节码流打包方法,避免了码流中出现与开始码重复的码字。开始码是码流中用于随机访问和重建同步的码字。
20、补充增强信息(SEI for Supplemental Enhancement Information)和视频可用信息(VUI for Video Usability Information)增加了向视频码流中加入信息的办法,为各种应用提供了用途。
21、辅助图层(Auxiliary pictures), 可以用来实现某些特殊的功能,例如alpha复合(alpha compositing)。
22、帧编号,使用该功能支持创建一个视频序列的子序列,可用来支持实现时域的可伸缩性,还支持对丢失的整帧图像进行检测和隐藏(丢失可能是由于网络丢包或者信道误码造成的)。
23、图像顺序计数,使用该功能使得各帧图像的顺序和解码图像的像素值与时间信息无关,即使用一个单独的系统对时间信息进行传输、控制、更改,从而不影响解码图像的像素值。
分享到:
相关推荐
H.264编解码手册。介绍了H.264编解码的格式和流程等。
H.264编解码器支持高达1280x720@30 fps的HD分辨率,JPEG编解码器支持高达1920x1080的分辨率可用于快照功能。引擎可编程到基线、主轮廓或高轮廓功能,帧速率和压缩数据速率也可以被编程用于高效的视频流应用。
Hi3531 H.264编解码处理器简介,含主要参数
随着HDTV的兴起,H.264这个规范频频出现在我们眼前,HD-DVD和蓝光均计划采用这一...而且自2005年下半年以来,无论是NVIDIA还是ATI都把支持H.264硬件解码加速作为自己最值得夸耀的视频技术。H.264到底是何方“神圣”呢?
H.264编解码手册.rar 包含H.264的编码手册、解码手册、H264中文协议以及编码中参数解释等资源
十分详尽的关于海思Hi3531的中文用户指南,1800页+。
Hi3520 H.264编解码处理器用户指南,是详细的硬件设计指导书,共800页左右!
Hi3521/Hi3520A H.264编解码处理器用户指南.pdf
Linux系统中H.264编解码器的移植与应用.pdf
本书在介绍数字视频和视频编码的基本J京理基础上,论述了H.264 的特点、编码器原理、解问器原理以及编解码器的实现力案ο 为了便于读者更好地理解H.264 的编解码技术,书中介绍了H.264 码流的句法和语义,并对H.264 ...
提供H.264和MJPEG多协议编解码和双码流编码能力,编解码性能高达120fps D1@NTSC或100fps D1@PAL,能够满足最佳的4路D1、8路CIF DVR/DVS解决方案功能、性能和成本需求;丰富的视频输入输出接口(CVBS、高清VGA、BT....
提供H.264和MJPEG多协议编解码和双码流编码能力,编解码性能高达120fps D1@NTSC或100fps D1@PAL,能够满足最佳的4路D1、8路CIF DVR/DVS解决方案功能、性能和成本需求;丰富的视频输入输出接口(CVBS、高清VGA、BT....
H.264 编解码的一个简单实现 实现了帧内 帧间编码
关于H.264编解码的详细介绍 包括H.264各个阶段的实现的过程
H.264编解码的CUDA实现,并行加速算法,内部实现了H.264视频编解码的CUDA实现,能够编译通过,已经过测试,并且还添加了注释信息。
基于H.264 视频编解码 verilog 基于H.264 视频编解码 verilog
h.264编解码算法官方文档,很详细的介绍了h264是如何对视频进行编解码的。
主要内容包括:视频编解码原理及视频图像的捕获与显示、基于Visual C++2005分析MPEG-4/H.264编解码原理、基于TI DSP设计和优化开源工程(Xvid/x264/ffmpeg)、视频算法的标准接口xDAIS开发和视频监控中心软件设计等...
里面包括JM8.6版本的H.264编解码器标准参考模型代码,内附有详细的注释,已经通过测试,可用!
ffmpeg编译大全(很详细),ffmpeg中文开发文档,h.264编解码!