注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Batman & Robin

163photo SUCKS!!!!

 
 
 

日志

 
 

H.264 / MPEG-4 介绍  

2008-06-09 20:23:17|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
一前言

   H.264标准是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像专家组)的联合视频组(JVT,Joint VideoTeam)开发的标准,也称为 MPEG-4 Part10,高级视频编码在相同的重建图像质量下,H.264比H.263节约50%左右的码率因其更高的压缩比更好的 IP和无线网络信道的适应性,在数字视频通信和存储领域到越来越广泛的应用同时也要注意,H.264 获得优越性能的代价是计算复杂度增加,据估计,编码的计算复杂度大约相当于 H.263 的 3倍,解码复杂度大约相当于H.263 的 2 倍以下介绍的是在 H.264 标准中 P 桢的内部编码宏模块的预测方式
   H.264标准中的内部预测创造了一种从前面已编过码的一幅或多幅图像中预测新的模型此模型是通过在参考中替换样本的方法做出来的(运动补偿预测) AVC编码使用基于块的运动补偿从 H.261 标准制定以来,每一个主要的视频标准都采用这个原理 H.264与以往标准的重要区别是:支持一定范围的图像块尺寸(可小到 4x4)和更细的分像素运动矢量(在亮度组件中为 1/4 像素)
  • H.264 具有较强的抗误码特性,可适应丢包率高干扰严重的信道中的视频传输
  • H.264 支持不同网络资源下的分级编码传输,从而获得平稳的图像质量
  • H.264 能适应于不同网络中的视频传输,网络亲和性好
  • H.264 的基本系统无需使用版权,具有开放的性质,能很好地适应 IP 和无线网络的使用,这对目前的因特网传输多媒体信息移动网中传输宽带信息等都具有重要的意义
二树型构造的运动补偿

   AVC 编码支持从 16x16 到 4x4 范围尺寸的运动补偿块,在这个范围中亮度样本可有多个选择每个图像宏模块亮度组件可以按 4种方式分开: 16x16 16x8 8x16 和 8x8 每一个被分的子区是宏模块的一部分如果选择了 8x8 的模式,每一个8x8 模块被按 4 种模式分成多个子块: 8x8 8x4 4x8 和 4*4 ( 被称作宏模块子区 ) 这种模块区和模块子区在每个宏模块产生大量的组合这种划分宏模块为各种尺寸的动态子模块的方法被称作树型运动补偿
   每一个区和子区要求由各自的运动矢量描述每一个运动矢量都要被编码和发送;除此之外,所选的区需在压缩的比特流中编码选择了大的区域意味着用少量的比特数据去描述运动矢量和区域类型然而,经过补偿后的运动的画面还有大量的运动细节描写选择小的区的划分会在使用运动补偿后产生少量的编码因此,选择分区的尺寸大小具有显著的意义总之,大的分区适合均匀的区域,小的分区适合描述细节在宏模块中每一个显示组件的分辨率是亮度组件的一半,每一个显示被按同一方式分成亮度元素

    H.264 与先前的标准相似,对残差采用基于块的变换编码,但变换是整数操作而不是实数运算,其过程和 DCT 基本相似这种方法的优点在于:
   在编码器中和解码器中允许精度相同的变换和反变换,便于使用简单的定点运算方式也就是说,这里没有反变换误差变换的单位是 4x4块,而不是以往常用的 8x8块由于用于变换块的尺寸缩小,运动物体的划分更精确,这样,不但变换计算量比较小,而且在运动物体边缘处的衔接误差也大为减小为了使小尺寸块的变换方式对图像中较大面积的平滑区域不产生块之间的灰度差异,可对帧内宏块亮度数据的 16 个 4x4 块的 DC 系数(每个小块一个,共 16个)进行第二次 4x4 块的变换,对色度数据的 4 个 4x4 块的 DC 系数(每个小块一个,共 4 个)进行 2x2 块的变换

    H.264 为了提高码率控制的能力,量化步长的变化的幅度控制在 12.5% 左右,而不是以不变的增幅变化变换系数幅度的归一化被放在反量化过程中处理,以减少计算的复杂性为了强调彩色的逼真性,对色度系数采用了较小量化步长



三分像素运动矢量

    在每一的内部大块区域编码中可通过参照 中相同区域的编码预测两个相对比区域(运动矢量)所具有的漂移,像素分辨率在像素位置参考图中不存在,并且用内部和临近的样本创造他们例子如下,一个 4X4 的子区在现有 中从临近的参考的相应区域中预测出来,如果运动矢量的水平和垂直参数是一个完整的相关样本,在实际存在的参照块(灰色点)产生,如果一个或两个矢量元素是片断值,在参考 (白点)调整样本和内部插入的预测样本(灰点)产生

   整数和分数样本预测在 H.264 中采用 1/4 像素或者 1/8 像素的运动估计,即真正的运动矢量位移可能是以 1/4 或者 1/8像素为基本单位的显然,运动矢量位移的精度越高,则帧间剩余误差就越小,传输码率就越低,即压缩比就越高H.264 采用了 6 阶 FIR滤波器的内插获得 1/2 像素位置值当 1/2 像素值获得后, 1/4 像素值可通过线性内插获得, 对于 4:1:1 的视频格式,亮度信号的1/4 像素精度对应于色度部分的 1/8 像素的运动矢量,因此需要对色度信号进行 1/8 像素的内插运算

   理论上,如果将运动补偿的精度增加一倍(例如从整像素精度提高到 1/2 像素精度),可有 0.5bit/Sample的编码增益,但实际验证发现在运动矢量精度超过 1/8 像素后,系统基本上就没有明显增益了,因此,在 H.264 中,只采用了 1/4像素精度的运动矢量模式,而不是采用 1/8 像素的精度

   分像素运动矢量补偿与整像素运动矢量补偿相比,前者显著改善了编码复杂性方面的花费, 1/4 像素的准确度大大超过 1/2像素准确度产生的内插分像素样本内插分像素是这样产生的:在参考 的亮度组件中,第一个半像素样本产生方式如图 4所示在这个图中,整数像素样本显示为阴灰色,每一个半像素样本调整成 2 个整数样本像素,整数像素样本内插入用 6个限幅相位滤波器,这样是比较复杂的(例如和双线性比较),而半像素样本产生更准确的数据,因此它具有更好的补偿特性

   一旦半像素样本可用,就会通过线性插补产生 1/4 像素位置图 5 所示,两个纵向或横向的半或整取样形成 1/4 像素位置,这些 1/4像素位置在相邻取样间被内插值替换 剩余的 1/4 像素位置由处于对角位置的一对半像素样本间线性地以内插值替换组件中的 1/4像素分辨率运动矢量需要色度组件中的第八像素分辨率矢量在每一个色度组件中,以内插值替换的样本将在整数取样间的 1/8间隔产生在此情况下,将使用线性插补来产生每一个 1/8 像素色度取样每一个子像素位置 a 是相邻整数像素位置 A B C 和 D线性组合而成的


四运动矢量预测
   如果对每个分区的运动矢量进行编码,就会产生大量的数据,尤其是在选择了较小的分区尺寸时相邻分区的运动矢量是紧密相关的,每个运动矢量可由相邻的已编码的分区预测形成预测运动矢量的方法依赖于运动补偿分区的尺寸和相邻矢量的有效性,并概括如下( P 区中的宏块)假定 E为当前的宏块宏块分区或子分区, A 为 E 左侧的分或子分区, B 是 E 上方的分区或子分区, C 是 E 右上方的分区或子分区如果在 E 的左侧出现多于 1个的分区,那么这些分区中最高的部分将按 A 选择;如果在 E 的上方出现多于 1 个的分区,那么这些分区中最左侧的部分将会按 B选择当所有的分区都具有同样的尺寸时(这里为 16*16 )如何进行相邻分区的选择图 8 表示的是,当相邻分区与当前分区 E具有不同尺寸时如何进行预测分区的选择

说明:
(1) 对于已传送的分区,不包括 16*8 和 8*16 的分区尺寸: MVp 是分区 A B C 的运动矢量的中间部分;
(2) 对于 16*8 的分区:上方的 16*8 的分区的 MVp 是由 B 预测而来,下方的 16*8 的分区的 MVp 是由 A 预测而来
(3) 对于 8*16 的分区:上方的 8*16 的分区的 MVp 是由 A 预测而来,下方的 8*16 的分区的 MVp 是由 C 预测而来
(4) 对于跳过的宏块:一个 16*16 矢量 MVp 将如同 (1) 中所述的情况产生(例如,就像块以 16*16Inter 模式进行编码)

   如果显示的一个或更多先前已传输的块不可用的话(如在当前的图像或块区之外),那么 MVp 的选择也应做相应的改变 在解码器中,预测的矢量MVp 以同样的方式形成,并被加上以被解码的矢量偏差 MVD 对于一个跳过的宏块,将没有被解码的矢量,因而运动补偿宏块要依靠大量的 MVp来产生


五应用前景
   H.264/MPEG-4 的应用范围是非常广阔的,它可以适用于多种网络,其高效的编码性能, H.264/MPEG-4可满足多种应用的需求,目前主要应用在以下领域;基于电缆卫星 Modem DST 等信道的广播;视频数据在光学或磁性设备上的存,基于 ISDN 以太网 DSL 无线及移动网络的公话服务视频流服务彩信服务等,除了以上介绍的应用,基于 H.264/MPEG-4 的平台,还会拥现很多新的应用

----------------------------
一键转贴,快速捕捉生活精彩,赢每周好礼!查看活动首页>>

  评论这张
 
阅读(181)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017