视频会议视频压缩技术介绍

2014-12-30 11:30:37

视频会议264视频压缩之—SVC
H.264中还有一个SVC概念(ScalableVideoCoding),可分层编码。先不管其具体的含义,来想象下视频通信中可能遇到的问题。
1.带宽问题,IP网络带宽是不稳定的,网络带宽降低是,视频流应该自动的降低码率,以适应当前带宽。而视频流码率的降低,并不意味着视频通信的结束,只是其帧率和分辨率相应降低。这样还是能维持基本的视频通信如帧率可以从60fps降低30fps或者25fps甚至20pfs。分辨率可以从高清降到标清的4cif甚至cif。这样可以很大程度的降到码率,但同时保证了视频通信的基本功能正常进行(用户还是能看到能够分辨的图形和听到清晰的声音)。
2.在未来的通信中,参与视频对话的终端多种多样,有专用的硬件视频终端,有桌面软终端,还有移动终端中的PAD和手机。终端的多样性对视频码流的要求也不一样。如移动终端一般相对带宽较小,且屏幕尺寸也较小,屏幕宽高比也不同。每种终端希望拿到最适合自己的视频码流,既适合自己的网络带宽,又适合自己的硬件能力。如一种设备编码流出来后,其中既包含了高清到标清不同分辨率,又具有各种帧率。终端只需要发起申请,从其中拿到适合自己的码流,这是一件多好的事情,避免的转码,同时合理的利用的带宽和终端的硬件能力。
SVC的本意就是如此,能够实现码流的可伸缩,也就是说能根据带宽,终端的要求,自动调整发送给终端视频流的格式。一次性编码适应于多种信道和终端。视频会议中有一种MCU设备,你要是研究MCU的功能,你会发现它多么适合采用SVC技术。SVC技术的应用理论上应该能节省MCU的部分计算资源。但一路SVC码流实际上市多组码流构成的,它们是相互独立的,如果全部传输和存储必然是带宽和容量的增加。因此这种技术适合使用在中央设备上(如MCU),终端上是不会使用到的。SVC希望做到一次编码后,按需分配。
目前SVC技术应用得不广泛,RADVISION宣称已经支持。目前MCU所做的是要么按最低能力编码发送,要么按数组能力编码,数组码流发送。SVC技术无法做到跨越视频压缩标准,也就是所需要都在H,264或者其它莫一个相同的视频压缩标准之内,所以收端都支持该标准。如果跨域压缩标准(如终端中支持的压缩标准不相同,如只支持MPEG或者只支持H.263或者只支持H.264),则终端设备还必须做转码才能实现互通。


视频会议压缩算法之——H.264 High Profile
H.264 High Profile:实时视频还是继续向更高质量,更低带宽的方向发展。H.264Highprofile技术于2010年率先被polycom应用于视频会议系统。比h.264baseline进一步节约了近一半的带宽。当然我个人心存怀疑,觉得大分辨率图形带宽应该能减少40%到50%,如果较小分辨率,码率比例未必有那么明显。不过,大分辨率图形的码率降低,才是关键,z在高清在实时会议中,采用H.264baseline,带宽要求还是比较高的。特别是要做1080P30pfs甚至60pfs时。如果能减少一半带宽,意味着节省2-4M带宽,如果是在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(MainProfile)提供I/P/B帧,支持无交错(Progressive)和交错(Interlaced),同样提供对于CAVLC和CABAC的支持;
——高端Profile(High Profile)在主要Profile的基础上增加了8x8内部预测、自定义量化、无损视频编码和更多的YUV格式。

分享到: