千家论坛_弱电智能化技术与工程讨论(建筑智能,家居智能,人工智能)

监控系统(CCTV)
收藏本版 (135) |订阅

监控系统(CCTV) 今日: 47706 |主题: 63094|排名: 2 

发新帖
打印 上一主题 下一主题

H.264技术特点和优势...

[复制链接]
penggang983 发布于: 2006-12-12 10:09 895 次浏览 2 位用户参与讨论
跳转到指定楼层

H.264技术特点和优势

 

 

DVR在短短的几年里就成为了全球安防产业最受瞩目的产品明星,极大的推动了安防产业数字化的进程。而作为DVR技术的核心,视频编码技术的发展更是日新月异,不断的在安防产业掀起一波又一波新的技术革命,MPEG-4的出现掀起了一次技术革命,H.264以其较MPEG-4更高的视频压缩比和更强的网络传输功能无疑会引发另一场新的改革浪潮。
      
视频编码技术的发展历程
      
自上个世纪80年代以来,ISO/IEC制定的MPEG-xITU-T制定的H.26x两大系列视频编码国际标准的推出,开创了视频通信和存储应用的新纪元。从H.261视频编码建议,到H.262/3MPEG-1/2/4等都有一个共同的不断追求的目标,即在尽可能低的码率(或存储容量)下获得尽可能好的图像质量。而且,随着市场对图像传输需求的增加,如何适应不同信道传输特性的问题也日益显现出来。于是IEO/IECITU-T两大国际标准化组织联手制定了视频新标准H.264来解决这些问题。
      H.261
是最早出现的视频编码建议,目的是规范ISDN网上的会议电视和可视电话应用中的视频编码技术。它采用的算法结合了可减少时间冗余的帧间预测和可减少空间冗余的DCT变换的混合编码方法。和ISDN信道相匹配,其输出码率是p×64kbit/sp取值较小时,只能传清晰度不太高的图像,适合于面对面的电视电话;p取值较大时(如 p6),可以传输清晰度较好的会议电视图像。H.263 建议的是低码率图像压缩标准,在技术上是H.261的改进和扩充,支持码率小于64kbit/s的应用。但实质上H.263以及后来的H.263+H.263++已发展成支持全码率应用的建议,从它支持众多的图像格式这一点就可看出,如Sub-QCIFQCIFCIF4CIF甚至16CIF等格式。
      MPEG-1
标准的码率为1.2Mbit/s左右,可提供30CIF352×288)质量的图像,是为CD-ROM光盘的视频存储和播放所制定的。MPEG-l标准视频编码部分的基本算法与H.261/H.263相似,也采用运动补偿的帧间预测、二维DCTVLC游程编码等措施。此外还引入了帧内帧(I)、预测帧(P)、双向预测帧(B)和直流帧(D)等概念,进一步提高了编码效率。在MPEG-1的基础上,MPEG-2标准在提高图像分辨率、兼容数字电视等方面做了一些改进,例如它的运动矢量的精度为半像素;在编码运算中(如运动估计和DCT)区分;引入了编码的可分级性技术,如空间可分级性、时间可分级性和信噪比可分级性等。近年推出的MPEG-4标准引入了基于视听对象(AVOAudio-Visual       Object)的编码,大大提高了视频通信的交互能力和编码效率。 MPEG-4中还采用了一些新的技术,如形状编码、自适应DCT、任意形状视频对象编码等。但是MPEG-4的基本视频编码器还是属于和H.263相似的一类混合编码器。
      
总之,H.261建议是视频编码的经典之作,H.263是其发展,并将逐步在实际上取而代之,主要应用于通信方面,但H.263众多的选项往往令使用者无所适从。MPEG系列标准从针对存储媒体的应用发展到适应传输媒体的应用,其核心视频编码的基本框架是和H.261一致的,其中引人注目的MPEG-4基于对象的编码部分由于尚有技术障碍,目前还难以普遍应用。因此,在此基础上发展起来的新的视频编码建议H.264服了两者的弱点,在混合编码的框架下引入了新的编码方式,提高了编码效率,面向实际应用。同时,它是两大国际标准化组织的共同制定的,其应用前景应是不言而喻的。
      JVT
H.264
      H.264
ITU-TVCEG(视频编码专家组)和ISO/IECMPEG(活动图像编码专家组)的联合视频组(JVTjoint video team)开发的一个新的数字视频编码标准,它既是ITU-TH.264,又是ISO/IECMPEG-4的第10 部分。19981月份开始草案征集,19999月,完成第一个草案,20015月制定了其测试模式TML-820026月的 JVT5次会议通过了H.264FCD板。20033月正式发布。

      H.264
和以前的标准一样,也是DPCM加变换编码的混合编码模式。但它采用回归基本的简洁设计,不用众多的选项,获得比H.263++好得多的压缩性能;加强了对各种信道的适应能力,采用网络友好的结构和语法,有利于对误码和丢包的处理;应用目标范围较宽,以满足不同速率、不同解析度以及不同传输(存储)场合的需求;它的基本系统是开放的,使用无需版权。
      
在技术上,H.264标准中有多个闪光之处,如统一的VLC符号编码,高精度、多模式的位移估计,基于4×4块的整数变换、分层的编码语法等。这些措施使得H.264算法具有很的高编码效率,在相同的重建图像质量下,能够比H.263节约50%左右的码率。H.264的码流结构网络适应性强,增加了差错恢复能力,能够很好地适应IP和无线网络的应用。
      H.264
的技术亮点
      
1 分层设计
      H.264
的算法在概念上可以分为两层:视频编码层(VCLVideo Coding Layer)负责高效的视频内容表示,网络提取层(NALNetwork Abstraction Layer)负责以网络所要求的恰当的方式对数据进行打包和传送。在VCLNAL之间定义了一个基于分组方式的接口,打包和相应的信令属于NAL的一部分。这样,高编码效率和网络友好性的任务分别由VCLNAL来完成。
      VCL
层包括基于块的运动补偿混合编码和一些新特性。与前面的视频编码标准一样,H.264没有把前处理和后处理等功能包括在草案中,这样可以增加标准的灵活性。
      NAL
负责使用下层网络的分段格式来封装数据,包括组帧、逻辑信道的信令、定时信息的利用或序列结束信号等。例如,NAL支持视频在电路交换信道上的传输格式,支持视频在Internet上利用RTP/UDP/IP传输的格式。NAL包括自己的头部信息、段结构信息和实际载荷信息,即上层的VCL数据。(如果采用数据分割技术,数据可能由几个部分组成)。
      
2 高精度、多模式运动估计
      H.264
支持1/41/8像素精度的运动矢量。在1/4像素精度时可使用6抽头滤波器来减少高频噪声,对于1/8像素精度的运动矢量,可使用更为复杂的8抽头的滤波器。在进行运动估计时,编码器还可选择增强内插滤波器来提高预测的效果。
      
H.264的运动预测中,一个宏块(MB)可以按图2被分为不同的子块,形成7种不同模式的块尺寸。这种多模式的灵活和细致的划分,更切合图像中实际运动物体的形状,大大提高了运动估计的精确程度。在这种方式下,在每个宏块中可以包含有124816个运动矢量。
      
H.264中,允许编码器使用多于一帧的先前帧用于运动估计,这就是所谓的多帧参考技术。例如2帧或3帧刚刚编码好的参考帧,编码器将选择对每个目标宏块能给出更好的预测帧,并为每一宏块指示是哪一帧被用于预测。
   

 

 

 
回复

使用道具 举报

已有2人评论

新浪微博达人勋

千家认证

沙发
penggang983 发表于 2006-12-12 10:12:00
   3 4×4块的整数变换
      H.264
与先前的标准相似,对残差采用基于块的变换编码,但变换是整数操作而不是实数运算,其过程和DCT基本相似。这种方法的优点在于:在编码器中和解码器中允许精度相同的变换和反变换,便于使用简单的定点运算方式。也就是说,这里没有反变换误差。变换的单位是4×4块,而不是以往常用的8×8块。由于用于变换块的尺寸缩小,运动物体的划分更精确,这样,不但变换计算量比较小,而且在运动物体边缘处的衔接误差也大为减小。为了使小尺寸块的变换方式对图像中较大面积的平滑区域不产生块之间的灰度差异,可对帧内宏块亮度数据的164×4块的DC系数(每个小块一个,共16个)进行第二次4×4块的变换,对色度数据的44×4块的DC系数(每个小块一个,共4个)进行2×2块的变换。
      H.264
为了提高码率控制的能力,量化步长的变化的幅度控制在12.5%左右,而不是以不变的增幅变化。变换系数幅度的归一化被放在反量化过程中处理以减少计算的复杂性。为了强调彩色的逼真性,对色度系数采用了较小量化步长。
      
4 统一的VLC
      H.264
中熵编码有两种方法,一种是对所有的待编码的符号采用统一的VLCUVLC Universal VLC),另一种是采用内容自适应的二进制算术编码(CABACContext-Adaptive Binary Arithmetic Coding)。CABAC是可选项,其编码性能比UVLC稍好,但计算复杂度也高。UVLC使用一个长度无限的码字集,设计结构非常有规则,用相同的码表可以对不同的对象进行编码。这种方法很容易产生一个码字,而解码器也很容易地识别码字的前缀,UVLC在发生比特错误时能快速获得重同步。

      
3显示了码字的语法。这里,x0x1x2INFO比特,并且为01。图4列出了前9种码字。如:第4号码字包含INFO01,这一码字的设计是为快速再同步而经过优化的,以防止误码。
      
5 帧内预测
在先前的H.26x系列和MPEG-x系列标准中,都是采用的帧间预测的方式。在H.264中,当编码Intra图像时可用帧内预测。对于每个4×4块(除了边缘块特别处置以外),每个像素都可用17个最接近的先前已编码的像素的不同加权和(有的权值可为0)来预测,即此像素所在块的左上角的17个像素。显然,这种帧内预测不是在时间上,而是在空间域上进行的预测编码算法,可以除去相邻块之间的空间冗余度,取得更为有效的压缩。
      
如图4所示,4×4方块中ab...p16 个待预测的像素点,而AB...P是已编码的像素。如m点的值可以由(J2KL2/ 4 式来预测,也可以由(A+B+C+D+I+J+K+L/ 8 式来预测,等等。按照所选取的预测参考的点不同,亮度共有9类不同的模式,但色度的帧内预测只有1类模式。
      
6 面向IP和无线环境
      H.264
草案中包含了用于差错消除的工具,便于压缩视频在误码、丢包多发环境中传输,如移动信道或IP信道中传输的健壮性。
      
为了抵御传输差错,H.264视频流中的时间同步可以通过采用帧内图像刷新来完成,空间同步由条结构编码(slice structured coding)来支持。同时为了便于误码以后的再同步,在一幅图像的视频数据中还提供了一定的重同步点。另外,帧内宏块刷新和多参考宏块允许编码器在决定宏块模式的时候不仅可以考虑编码效率,还可以考虑传输信道的特性。
      
除了利用量化步长的改变来适应信道码率外,在H.264中,还常利用数据分割的方法来应对信道码率的变化。从总体上说,数据分割的概念就是在编码器中生成具有不同优先级的视频数据以支持网络中的服务质量QoS。例如采用基于语法的数据分割(syntax-based data partitioning)方法,将每帧数据的按其重要性分为几部分,这样允许在缓冲区溢出时丢弃不太重要的信息。还可以采用类似的时间数据分割(temporal data partitioning)方法,通过在P帧和B帧中使用多个参考帧来完成。
      
在无线通信的应用中,我们可以通过改变每一帧的量化精度或空间/时间分辨率来支持无线信道的大比特率变化。可是,在多播的情况下,要求编码器对变化的各种比特率进行响应是不可能的。因此,不同于MPEG-4中采用的精细分级编码FGSFine Granular Scalability)的方法(效率比较低),H.264采用流切换的SP帧来代替分级编码。
      H.264
的性能测试
      TML-8
H.264的测试模式,用它来对H.264的视频编码效率进行比较和测试。测试结果所提供的PSNR已清楚地表明,相对于MPEG-4ASPAdvanced Simple Profile)和H.263++HLPHigh Latency Profile)的性能,H.264的结果具有明显的优越性,如图5所示。
      H.264
PSNRMPEG-4ASP)和H.263++HLP)明显要好,在6种速率的对比测试中,H.264PSNRMPEG-4ASP)平均要高2dB,比H.263HLP)平均要高3dB6个测试速率及其相关的条件分别为:32 kbit/s速率、10f/s帧率和QCIF格式;64 kbit/s速率、15f/s帧率和QCIF格式;128kbit/s速率、15f/s帧率和CIF格式;256kbit/s速率、15f/s帧率和QCIF格式;512 kbit/s速率、30f/s帧率和CIF格式;1024 kbit/s速率、30f/s帧率和CIF格式。
      
实现难度
      
对每个考虑实际应用的工程师而言,在关注H.264的优越性能的同时必然会衡量其实现难度。从总体上说,H.264性能的改进是以增加复杂性为代价而获得的。目前中国在安防领域H.264的实际应用上们走到了世界的前端!

回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

板凳
penggang983 发表于 2006-12-12 10:15:00
   3 4×4块的整数变换
      H.264
与先前的标准相似,对残差采用基于块的变换编码,但变换是整数操作而不是实数运算,其过程和DCT基本相似。这种方法的优点在于:在编码器中和解码器中允许精度相同的变换和反变换,便于使用简单的定点运算方式。也就是说,这里没有反变换误差。变换的单位是4×4块,而不是以往常用的8×8块。由于用于变换块的尺寸缩小,运动物体的划分更精确,这样,不但变换计算量比较小,而且在运动物体边缘处的衔接误差也大为减小。为了使小尺寸块的变换方式对图像中较大面积的平滑区域不产生块之间的灰度差异,可对帧内宏块亮度数据的164×4块的DC系数(每个小块一个,共16个)进行第二次4×4块的变换,对色度数据的44×4块的DC系数(每个小块一个,共4个)进行2×2块的变换。
      H.264
为了提高码率控制的能力,量化步长的变化的幅度控制在12.5%左右,而不是以不变的增幅变化。变换系数幅度的归一化被放在反量化过程中处理以减少计算的复杂性。为了强调彩色的逼真性,对色度系数采用了较小量化步长。
      
4 统一的VLC
      H.264
中熵编码有两种方法,一种是对所有的待编码的符号采用统一的VLCUVLC Universal VLC),另一种是采用内容自适应的二进制算术编码(CABACContext-Adaptive Binary Arithmetic Coding)。CABAC是可选项,其编码性能比UVLC稍好,但计算复杂度也高。UVLC使用一个长度无限的码字集,设计结构非常有规则,用相同的码表可以对不同的对象进行编码。这种方法很容易产生一个码字,而解码器也很容易地识别码字的前缀,UVLC在发生比特错误时能快速获得重同步。

      
3显示了码字的语法。这里,x0x1x2INFO比特,并且为01。图4列出了前9种码字。如:第4号码字包含INFO01,这一码字的设计是为快速再同步而经过优化的,以防止误码。
      
5 帧内预测
在先前的H.26x系列和MPEG-x系列标准中,都是采用的帧间预测的方式。在H.264中,当编码Intra图像时可用帧内预测。对于每个4×4块(除了边缘块特别处置以外),每个像素都可用17个最接近的先前已编码的像素的不同加权和(有的权值可为0)来预测,即此像素所在块的左上角的17个像素。显然,这种帧内预测不是在时间上,而是在空间域上进行的预测编码算法,可以除去相邻块之间的空间冗余度,取得更为有效的压缩。
      
如图4所示,4×4方块中ab...p16 个待预测的像素点,而AB...P是已编码的像素。如m点的值可以由(J2KL2/ 4 式来预测,也可以由(A+B+C+D+I+J+K+L/ 8 式来预测,等等。按照所选取的预测参考的点不同,亮度共有9类不同的模式,但色度的帧内预测只有1类模式。
      
6 面向IP和无线环境
      H.264
草案中包含了用于差错消除的工具,便于压缩视频在误码、丢包多发环境中传输,如移动信道或IP信道中传输的健壮性。
      
为了抵御传输差错,H.264视频流中的时间同步可以通过采用帧内图像刷新来完成,空间同步由条结构编码(slice structured coding)来支持。同时为了便于误码以后的再同步,在一幅图像的视频数据中还提供了一定的重同步点。另外,帧内宏块刷新和多参考宏块允许编码器在决定宏块模式的时候不仅可以考虑编码效率,还可以考虑传输信道的特性。
      
除了利用量化步长的改变来适应信道码率外,在H.264中,还常利用数据分割的方法来应对信道码率的变化。从总体上说,数据分割的概念就是在编码器中生成具有不同优先级的视频数据以支持网络中的服务质量QoS。例如采用基于语法的数据分割(syntax-based data partitioning)方法,将每帧数据的按其重要性分为几部分,这样允许在缓冲区溢出时丢弃不太重要的信息。还可以采用类似的时间数据分割(temporal data partitioning)方法,通过在P帧和B帧中使用多个参考帧来完成。
      
在无线通信的应用中,我们可以通过改变每一帧的量化精度或空间/时间分辨率来支持无线信道的大比特率变化。可是,在多播的情况下,要求编码器对变化的各种比特率进行响应是不可能的。因此,不同于MPEG-4中采用的精细分级编码FGSFine Granular Scalability)的方法(效率比较低),H.264采用流切换的SP帧来代替分级编码。
      H.264
的性能测试
      TML-8
H.264的测试模式,用它来对H.264的视频编码效率进行比较和测试。测试结果所提供的PSNR已清楚地表明,相对于MPEG-4ASPAdvanced Simple Profile)和H.263++HLPHigh Latency Profile)的性能,H.264的结果具有明显的优越性,如图5所示。
      H.264
PSNRMPEG-4ASP)和H.263++HLP)明显要好,在6种速率的对比测试中,H.264PSNRMPEG-4ASP)平均要高2dB,比H.263HLP)平均要高3dB6个测试速率及其相关的条件分别为:32 kbit/s速率、10f/s帧率和QCIF格式;64 kbit/s速率、15f/s帧率和QCIF格式;128kbit/s速率、15f/s帧率和CIF格式;256kbit/s速率、15f/s帧率和QCIF格式;512 kbit/s速率、30f/s帧率和CIF格式;1024 kbit/s速率、30f/s帧率和CIF格式。
      
实现难度
      
对每个考虑实际应用的工程师而言,在关注H.264的优越性能的同时必然会衡量其实现难度。从总体上说,H.264性能的改进是以增加复杂性为代价而获得的。目前中国在安防领域H.264的实际应用上们走到了世界的前端!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆 千家通行证登陆

本版积分规则

千家智客微信号
千家智客微信
玩物说商城
玩物说商城