TI的H264 SOC方案
TI的H264 SOC方案是目前常用的视讯解决方案,TI针对视频会议,视频监控,视频存储等场景细化需求并优化了H264技术。
1. TI H.264背景
如今视频压缩技术在视频领域有非常多的应用需求。
H.264编解码器几乎能适用于所有的视频压缩场景。
H.264编解码器标准推出到如今已有十多年了。很多厂商都提供H.264解决方案。TI面对的竞争很激烈。
面对竞争,TI提供二种差异化特性:1)可编程性 2)开放性。
本次TI H.264介绍是针对TI SOC,如DM36X, Netra(DM616X) 和 Centaurus(DM814X)。
2. H.264各种视频应用的需求。
TI面对的视频应该场景如图1所示:
1. 视频会议。
2. 视频安防和监控。
3. 多媒体存储。
4. 数码录像。
5. 数字电视卫星视频。
6. 移动数字媒体。
应用 |
关注点 |
可视电话,视频会议 |
低时延,低码率,高帧率,编解器错误修复。 |
视频安防和监控 |
中等或低码率,存储性优化,随机访问,支持大尺寸图像。 |
多媒体存储 |
高图像质量,随机访问,低成本。 |
数码录像 |
低功耗,高图像质量,中等码率。 |
数字电视卫星视频 |
高图像质量。 |
移动数字媒体 |
低复杂度编解码,编解器错误修复。 |
互联网流媒体 |
低码率,多格式解码。 |
编解码特性 |
视频监控 |
视频会议 |
数码摄像 |
随机访问,I帧间隔短 |
有要求 |
无要求 |
有要求 |
可接受时延 |
1000毫秒(DVR)100至500毫秒(IPC) |
20至100毫秒 |
可无限制 |
误码容忍度 |
低 |
高 |
低 |
固定码率 |
无要求(DVR)/有要求(IPC) |
有要求 |
无要求 |
码率 |
低 |
低 |
中等 |
内容感知 |
有要求 |
无要求 |
无要求 |
视频分析 |
有要求 |
无要求 |
无要求 |
低功耗 |
无要求(DVR) |
无要求/有要求(移动或便携视频会议) |
无要求 |
综合表1和表2对视频编解码的需求总结为:需要最好的视频质量和最优编码表现。(TI表示压力很大)
3. 非链式P帧
H.264标准允许灵活的参考帧。多P帧可参考最后一个I帧,而不是参考前一帧,形成一种非链式P帧。虽然这种方法会导致编码压缩率减小,但能得到较高的抗丢包能力和更灵活的随机播放能力。
图2
图3
如图2中,第1帧是I帧,第2,3,4,5帧是P帧。如果第2帧丢失,第3,4,5帧即使收到也不能还原解码正常图像。但在图3中,第2帧丢失不影响后续3,4,5帧正常解码,只要所依赖的第1帧到达即可。
存储播放时也优势。如要随机播放第5帧图像时,只需读取第1,5二帧解码即可。而在链式参考模型里要解码1,2,3,4帧后再解码第5帧才能得到图像。非链式可以减少三帧的读取和解码开销。
4. 动态改变编码参数
H.264编码器支持动态改变码率,帧率和图像分辨率。比如在网络带宽变化时,编码器可改变参数来适应。
5. 支持大尺寸
支持大尺寸编码在视频监控中是很好的卖点,这样在图像数字放大后能得到更好的图像效果。现在编码支持4K,2K的图像大小。
6. 图像分析
H.264视频编码算法对图像有运算和查找运动矢量的功能。利用每帧图像的运动矢量可以提供图像分析的功能。
例如:
视频安防,在发现监控画面有物体运动可发出提示。
监控录像时发现在低运动场景时可用低码率编码以节省存储资源。
监控录像时根据物体运动矢量让摄像头自动跟踪物体。
7. 低时延
传统的视频通信时延由7个部分组成,
1. 采集
2. 编码
3. 发送
4. 网络传输
5. 接收
6. 解码
7. 播放显示
除了发送,网络传输,接收的时间,其他部分独自耗时约33毫秒。
点对点最小时延 = 4*33 + X= (132 + X) ms,X = 发送+网络传输+接收
编码低时延在视频会议(网真),视频交互游戏等应用有较高要求。
TI能提供新的API接口应用于小于帧级数据处理。在slice级就可进行数据交换,而不是等到一帧编码结束,这样编码时延可以从33 ms降到2ms以下。
8. 固定slice大小的编码
固定slice大小的好处是有利于编码后的网络传输。可指定slice大小为网络MTU大小。编码器能做到就不需要网络层做。但固定slice大小的代价是编码压缩率会降低。
9. 视频渐近刷新
视频渐近刷新GDR(Gradual decoder refresh)是相对一帧完整刷新而来。传统IDR刷新的缺点是IDR帧大小相比图像质量相近的P帧更大,这样会对网络有冲击,导致网络抖动和拥塞。而GDR会带来更优的网络适应性。
GDR是通过P帧内包括I块组的方法来实现渐近刷新。
10. SVC技术
H.264 SVC(H.264可分级编码)作为H.264标准的一个扩展最初由JVT在2004年开始制定,并于2007年7月获得ITU批准。H.264 SVC以H.264 AVC视频编解码器标准为基础,利用了AVC编解码器的各种高效算法工具,在编码产生的编码视频时间上(帧率)、空间上(分辨率)可扩展,并且是在视频质量方面可扩展的,可产生不同帧速率、分辨率或质量等级的解码视频。
H.264 SVC通过在在编码码流嵌入具有相关性的多个不同分辨率的子流实现空间上的可分级。上层所有的视频帧构成了高分辨率视频,下层所有的视频帧构成了低分辨率视频为此,具备H.264 SVC编码的视频会议系统,在保证高效的视频压缩性能的基础上,视频广播端可以通过一次编码产生具有不同帧率、分辨率的视频压缩码流,以适应不同网络带 宽、不同的显示屏幕和终端解码能力的应用需求,从而有效地避免了视频会议系统中MCU上复杂而昂贵的转码。
传统H.264 AVC,能容忍的丢包率小于2%,而H.264 SVC能能容忍20%左右的丢包。
11. 感兴趣区域(ROI)编码
感兴趣区域ROI (Region Of Interest),在图像压缩编码时,对某些特定区域(如人脸等)的简称,就是在要待处理的图像中提取出的要处理的区域。
针对ROI,视频会议场景编码器可以分配更多的码流给人脸区域,让面部表情更清晰。或者在监控场景对需要打马赛克区域分配更少的码流。
12. TI SOC 数据
注意以下表格是TI好几年前的数据,TI当时没实现的现在有的已实现。
从上图可知DM81XX 是支持 H.264 SVC的。