标题:
为什么要对视频进行压缩(2)
[打印本页]
作者:
yuyang911220
时间:
2015-12-23 10:11
标题:
为什么要对视频进行压缩(2)
今天大多数视频通信系统采用的是
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
),则终端设备还必须做转码才能实现互通。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0