首页 > 代码库 > 即时通讯 H.264视频压缩算法

即时通讯 H.264视频压缩算法

H.264 High Profile

实时视频还是继续向更高质量,更低带宽的方向发展。H.264 High profile技术于2010年率先被polycom应用于视频会议系统。比h.264 baseline进一步节约了近一半的带宽。当然我个人心存怀疑,觉得大分辨率图形带宽应该能减少40%50%,如果较小分辨率,码率比例未必有那么明显。不过,大分辨率图形的码率降低,才是关键,z在高清在实时会议中,采用H.264 baseline,带宽要求还是比较高的。特别是要做1080P 30pfs甚至60pfs时。如果能减少一半带宽,意味着节省2-4 M带宽,如果是在MCU侧,则带宽节省就更可观了。

 

这里对h.264的几个profile做个简单介绍:

AVC/H.264 规定了多种不同的Profile:最低Profile、主要Profile、扩展Profile、高端Profile(这些Profile 本身还要划分数个等级)。

  -最低Profile,也叫做底线ProfileBaseline Profile)支持I/P 帧,只支持无交错(Progressive)和CAVLC

  -扩展ProfileExtended Profile)支持I/P/B/SP/SI 帧,只支持无交错(Progressive)和CAVLC

  -主要ProfileMain Profile)提供I/P/B 帧,支持无交错(Progressive)和交错(Interlaced),同样提供对于CAVLCCABAC 的支持;

  -高端ProfileHigh Profile)在主要Profile 的基础上增加了8x8 内部预测、自定义量化、无损视频编码和更多的YUV 格式;

(下面直接引用polycom的一篇扫盲文档)

为了对这些功能进行有序的整理,H.264 按照递进的复杂性和性能将这些功能归成了几类规范。图中 描述了H.264 中的4 个标准化规范之间的关系。

H.264 profiles

 技术分享

今天大多数视频通信系统采用的是Baseline ProfileBaseline 是最基本的H.264 profile 和定义。例如,它对图片进行Z 形扫描,然后采用4:2:0 色度取样。在Baseline Profile 中,图片被分割成多个4x4 像素块,每块进行单独处理。Baseline Profile 另一个重要因素是采用了统一可变长编码(UVLC)和文本自适应可变长编码(CAVLC)熵编码技术。编码效率对用于视频的网络带宽有很大影响,编码技术的进步有助于提高 High Profile 的效率,超越Baseline Profile 如下所述。

Extended Profile Main Profile 标准包含Baseline Profile 的功能,并增加了对预测算法的改进。如果你想达到1000-2000 倍的压缩比,那么单独传送每一个单独帧(试想每秒30 帧的高质量视频)显然是不可行的,而H.264 中大量使用了时间域和运动预测,因此它只允许传输与前一帧不同的画面。以此来获得惊人的效率,尤其是对于变化小和运动少的场景。

High Profile H.264 中最强大的标准规范,它可以实现最有效的视频编码。例如,采用文本自适应二进制算术编码(CABAC)进行编码所获得的编码增益比Baseline Profile 中采用的UVLC /CAVLC 编码更有效率。

High Profile 还采用自适应变换,自动确定是采用4x4 还是8x8 像素块。例如,4x4 像素块用于图像中细节密集的部分,而细节改变很少的图像则采用8X8 像素块。

H.264 还提供了一个解码器框图,但为了简练, 我们在本文将不做详细介绍,因为它与编码功能有很多重叠内容。

High Profile 的主要优势

能够保持视频质量并大幅降低所需网络带宽的能力对视频网络的各个方面都会产生影响。因此, High Profile能够降低新的与现有视频部署的成本,并加速获得投资回报(ROI)。

引用结束

 

看上面的图,和我之前说的一样,算法压缩效率高,一般算法复杂度就越高,要实现实时压缩,对芯片的技术能力要求就越高。所以呢,highprofile技术的应用是芯片或者说半导体技术发展的必然。未来也将走向更为复杂的H.265


上面一篇文章提到了,视频压缩的目的是为了减少视频存储的空间或者视频传输带宽。既是存储和带宽相对廉价的今天,要实现视频的大容量存储(如视频监控)和实时传输,没有视频压缩几乎不可能。

 

视频压缩现状:

视频压缩编码标准种类繁多,其中ITU下主导的H.26x系列和ISO主导的MPEG系列影响最大,应用最为广泛。早期,ITU下的H.26x主要应用于实时领域;ISOMPEG系列(它包括音频压缩标准)主要应用于广播电视,VCD(MPEG1)DVD(MPEG2)存储。ITU发展到H.264后,开始与ISOMPEG4融合。被纳入MPEG-4的第十部分。

目前主流的压缩标准为H.264/AVC。它在实时传输和存储领域已经得到广泛的应用。H.2642003年正式发布,距今已经9年。我认为H.264标准未来5年还是视频应用主力。其在IPTV,视频监控,视频会议,和光盘存储中将继续占主导地位。

 

视频压缩先进性评价:

评价一种视频压缩算法是否先进,就开它与其它压缩算法相比,在同等视频质量条件下,压缩倍数是否更高。

在上一篇博文中我计算过,1080P 25fps的原始视频数据量 (注:这里我写的M都是Mb的意思,就是说按网络带宽的意义去计算,网络带宽就是按每秒多少bit流来计算的,而存储容量的最小单位为Byte,也就是字节(8bit)。存储容量单位的1M表示1MB,等于网络带宽8Mb)。每秒大概数据量为593Mb。如果用户带宽为4Mb,想实现1080P 的实时会议或者监控,最少需要将原始视频压缩近593/4 = 150倍。

当前高清实时视频应用的实现一般都采用H.264算法。因为在同等视觉效果下,它的压缩比比其它标准最少提升2倍。如H.264目前能在4M甚至是2M带宽下实现1080P实时传输,而其它算法几乎是无法实现的。

 

视频压缩算法发展的动力:

“一切动力来自人类的无穷欲望”,视频技术的发展也是如此。在电影电视领域,当大家欣赏到高清效果后,再也无法接受过去的标清时代的画质体验。而在3D电影《阿凡达》推出后,全球又刮起了一阵3D旋风。在通信领域,人们希望能随时随地的进行面对面的沟通。这两年思科等厂商推出的沉浸式网真视频会议抄得火热。监控和IPTV也早已步入全高清时代。未来将发展到3D时代。

更高的视觉享受更为细腻和清晰的画面质量。视频数据量更大。对传输和存储的压力也更大。因此对视频压缩算法的要求更高。希望能有更高的压缩比来减少对存储和传输视频信号的压力。

 

视频业务发展的基础:

视频压缩的核心思想就是利用视频信号的特点,去除视频信号的时间和空间冗余。从H.261H.264MPEG1MPEG4。算法的压缩比有很大提升。未来还有H.265等更为先进的算法出现。算法研究者们不断推动高效高性能算法的出现是视频业务发展的技术基础之一。

算法压缩比越高,一般而言算法本身的复杂度也会相应提高。复杂的算法,需要更强大的计算能力。特别是实时的视频业务。因此芯片计算发展,是视频通信和业务能否发展起来的硬件保障。当前DSP芯片处理能力也不断大幅提升,在一定带宽条件下实现实时编码已毫无问题。视频信号处理芯片能力的提升,是高效压缩算法得到实现的硬件保障。

最后网络带宽的提升也是一个重要条件,特别是今年来无线视频业务的发展,得益于无线网路带宽的提升。

算法本身的发展,芯片能力,网络带宽。这三者一起推动了当今高清视频业务的普及,也是未来3D业务发展的技术基础。

即时通讯 H.264视频压缩算法