即时通讯 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,也叫做底线Profile(Baseline
Profile)支持I/P 帧,只支持无交错(Progressive)和CAVLC;

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

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

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

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

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

H.264 profiles

 

今天大多数视频通信系统采用的是Baseline Profile。Baseline 是最基本的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主要应用于实时领域;ISO的MPEG系列(它包括音频压缩标准)主要应用于广播电视,VCD(MPEG1),DVD(MPEG2)存储。ITU发展到H.264后,开始与ISO的MPEG4融合。被纳入MPEG-4的第十部分。

目前主流的压缩标准为H.264/AVC。它在实时传输和存储领域已经得到广泛的应用。H.264于2003年正式发布,距今已经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.261到H.264,MPEG1到MPEG4。算法的压缩比有很大提升。未来还有H.265等更为先进的算法出现。算法研究者们不断推动高效高性能算法的出现是视频业务发展的技术基础之一。

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

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

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

时间: 2024-11-05 22:38:19

即时通讯 H.264视频压缩算法的相关文章

即时通讯 手机音视频技术开发方案

"SDK即时通讯平台"是一套跨平台的即时通讯解决方案,基于先进的H.264视频编码标准.AAC音频编码标准与P2P技术,支持高清视频,整合了佰锐科技在音视频编码.多媒体通讯领域领先的开发技术和丰富的产品经验而设计的高质量.宽适应性.分布式.模块化的网络音视频互动平台. "SDK即时通讯平台"包含了音视频处理模块(采集.编解码).流媒体管理模块(丢包重传.抖动平滑.动态缓冲).流媒体播放模块(多路混音.音视频同步)以及P2P网络模块(NAT穿透.UPnP支持.IP组播

H.264视频开发技术

音视频即时通信开发 ,也叫即时通讯开发. 简而言之,音视频即时通信开发就是通过开发一套跨平台的即时通讯解决方案,基于先进的H.264视频编码标准.AAC音频编码标准与P2P技术,整合音视频编码.多媒体通讯开发技术而设计的高质量.宽适应性.分布式.模块化的网络音视频互动平台来满足人们的即时通讯需求. 随着互联网的发展,人们之间的交流逐步从电话移向网络.每天都有相当多的人在使用各种网络交流工具,如QQ,ICQ,MSN,新浪微博.可以看出人们对于网络上即时的沟通方式是非常敏锐的,所能容纳的程度也远远超

【转】实现RTP协议的H.264视频传输系统

1.  引言       随着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性.但人们又面临着另外一种不可避免的尴尬,就是在网络上看到生动清晰的媒体演示的同时,不得不为等待传输文件而花费大量时间.为了解决这个矛盾,一种新的媒体技术应运而生,这就是流媒体技术.流媒体由于具有启动时延小.节省客户端存储空间等优势,逐渐成为人们的首选,流媒体网络应用也在全球范围内得到不断的发展.其中实时流传输协议 RTP 详细说明了在互联网上传递音频和视频的

基于RTP的h.264视频传输系统设计(一)

一.H.264 的层次介绍 H.264 定义三个层次,每个层次支持一组特定的编码功能,并且依照各个层次指定所指定的功能.基础层次(baselineprofile)支持I 帧和 P 帧[1]的帧内和帧间编码,支持自适应的可变长度的熵编码(CAVLC).主要层次(main profile)支持隔行扫描视频,B帧[2]的帧内编码,使用加权预测的帧内编码和使用上下文的算术编码(CABAV).扩展层次(extendedprofile)不支持隔行扫描视频和CABAC,但增加了码流之间高效的转化模式(SP 和

H.264视频的RTP荷载格式

Status of This Memo This document specifies an Internet standards track protocol for the   Internet community, and requests discussion and suggestions for   improvements.  Please refer to the current edition of the "Internet   Official Protocol Stand

H.264 RTPpayload 格式------ H.264 视频 RTP 负载格式(包含AAC部分解析)

H.264 RTPpayload 格式------ H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) NALU 头由一个字节组成, 它的语法如下: +---------------+      |0|1|2|3|4|5|6|7|      +-+-+-+-+-+-+-+-+      |F|NRI|  Type   |      +---------------+ F: 1 个比特(禁止位).  forbidden_zero_bit. 在 H.264 规范中规定了这一位

H.264 RTPpayload 格式------ H.264 视频 RTP 负载格式

H.264 RTPpayload 格式------ H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) NALU 头由一个字节组成, 它的语法如下: +---------------+      |0|1|2|3|4|5|6|7|      +-+-+-+-+-+-+-+-+      |F|NRI|  Type   |      +---------------+ F: 1 个比特(禁止位).  forbidden_zero_bit. 在 H.264 规范中规定了这一位

H.264视频在android手机端的解码与播放(转)

随着无线网络和智能手机的发展,智能手机与人们日常生活联系越来越紧密,娱乐.商务应用.金融应用.交通出行各种功能的软件大批涌现,使得人们的生活丰富多彩.快捷便利,也让它成为人们生活中不可取代的一部分.其中,多媒体由于其直观性和实时性,应用范围越来越广,视频的解码与播放也就成为研究的热点. H.264标准技术日渐成熟,采用了统一的VLC符号编码,高精度.多模式的位移估计,基于4×4块的整数变换.分层的编码语法等.这些措施使得H.264算法具有很高的编码效率,在相同的重建图像质量下,能够比H.263节

H.264视频编解码器——参考软件JM的下载与编解码

H.264视频编解码器--参考软件JM的下载与编解码 一.下载JM工程: JM是H.264标准制定团队所认可的官方参考软件.网址如下 http://iphome.hhi.de/suehring/tml/ 从页面中可找到相应的工程源码,本次选择JM 8.6版本,此版本为经典版本: http://iphome.hhi.de/suehring/tml/download/old_jm/ 二.配置编码环境: 下载后打开工程目录中tml.sln文件,VS中会有三个工程,其中rtpdump没用,删掉.另外两个