视频通信之一:为什么要对视频进行压缩

您所在的位置:网站首页 对视频进行编码的标准有哪些 视频通信之一:为什么要对视频进行压缩

视频通信之一:为什么要对视频进行压缩

2024-06-19 11:49| 来源: 网络整理| 查看: 265

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

视频会议压缩算法之-H.264 wbrHigh wbrprofile

今天大多数视频通信系统采用的是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。

H.264中还有一个SVC概念(Scalable Video Coding),可分层编码。先不管其具体的含义,来想象下视频通信中可能遇到的问题。

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),则终端设备还必须做转码才能实现互通。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3