小鹏汽车官网
当前位置:首页 > 资讯 > 技术 > 正文

基于典型的车载以太网框架,简介流媒体如何传输及其总体架构和流程

发布日期:浏览量:4221

导读:随着汽车智能化和网联化的发展,流媒体在汽车上的应用也越来越多。例如流媒体后视镜就是通过后向摄像头获取数据处理后再播放给驾驶员看。智能驾驶功能也越来越多地把感知和规控信息渲染处理后传输给车载大屏播放。

一、什么是流媒体?

流媒体这个术语,相信对生长于网络时代的我们来说,都不陌生。抽象一点说,流媒体就是在线观看,而以前通过光碟或者完整下载才能观看的则是传统媒体。

具体一点来说,流媒体(streaming media)是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上即时传输影音以供观赏的一种技术与过程。

相信体验过在线观看和视频电话的我们,都能理解到流媒体实时性和交互性强的优点。而随着汽车智能化和网联化的发展,流媒体在汽车上的应用也越来越多。例如流媒体后视镜就是通过后向摄像头获取数据处理后再播放给驾驶员看。智能驾驶功能也越来越多地把感知和规控信息渲染处理后传输给车载大屏播放。                           

图1:雷克萨斯电子后视镜 

二、视频传输基本术语

在进一步分析视频传输技术之前,我们从下面两张IPhone相机设置界面出发,看看几个视频相关的术语。 

图2:IPhone视频设置截图 

图3:IPhone相机格式设置截图

1、视频的分辨率

指视频在一定区域内包含的像素点的数量。单位“P”(Progressive)表示纵向有多少行像素,“k”则表示横向有多少千像素。例如720P表示纵向有720行像素,而4k就是视频横向大约有4000列像素。

按通常的横纵比例定义:

720P的分辨率为1280x720像素

1080P的分辨率为1920*1080像素

2k的分辨率为2560*1440像素

4k的分辨率为3840*2160像素

2、帧率

指1秒内连续播放多少个画面。一般达到每秒播放24个画面就有动画效果。帧率的单位是“fps”,常见的有24fps、30fps、60fps。帧率越高视频播放起来会越流畅,但帧率越高,对设备要求也越高。

3、视频编码解码

我们平时看到的视频、图片和音频等大部分都是通过压缩处理的。Codec编码解码器主要作用是对视频信号进行压缩和解压缩。计算机工业定义通过24位测量系统的真彩色,这就定义了近百万种颜色,接近人类视觉的极限。这意味着如果视频需要以每秒30帧的速度播放,则每秒要传输高达27MB的信息。因而必须对信息进行压缩处理,例如只记录一帧完整画面及其后帧与帧之间的差异部分,而不是每帧记录全画幅。

我们常在播放视频时看到的H264、H265就是编解码格式。H265比H264更加新,压缩效率也更高,但需要专用的硬件解码器,因而可能不能在旧的设备上播放。IPhone相机拍摄格式选择的“高效”其实就是H265,“兼容性最佳”其实就是H264。当然类似地,音频也有编码解码,例如常见的MP3就是一种编码(压缩)格式。 

三、流媒体传输总体架构

接下来我们就结合典型的车载以太网来一起看看这个流媒体传输过程的总体架构和流程。下图是两个控制器之间视频流传输的架构示意图,例如其中一个可以是智能驾驶域控制器,另一个是智能座舱域控制器。 


图4:车载以太网视频传输架构图

智驾域控渲染后的视频通过特定编码器后生成原始视频流,然后封装打包成PES流,然后再装载到MPEG-TS的容器中,打包成TS流。TS流再通过RTP协议传输。在网络传输上,RTP向下通过UDP、IP多层协议,完成以太网的传输。智能座舱域控制器收到以太网帧后,会逆向地对其进行分级组包拆包,解析出RTP报文,继而是TS流和PES流。然后再把视频流送进解码器进行解压缩和播放。

而与视频流平行传输的还有一路控制流通过RTCP协议传输。RTCP 提供数据分发质量反馈信息报告,接收端可以根据RTCP中的传输质量信息,反馈给上层应用端,以调整传输质量,例如网络质量差的时候就不传4k视频,而改成传720p。

通过上述架构和总体流程的介绍可以看出,流媒体与本地存储多媒体的一个本质区别是流媒体需要进行网络传输后播放。例如在汽车上,激光雷达和摄像头等传感器会提供原始数据给智能驾驶域控制器,域控制器完成传感器同步融合等处理后再渲染出表示周围环境的视频,甚至制作音频,然后再将音视频同时传输给车机在中控屏幕上播放。

传输过程中,音视频需要在控制器之间传输。传输下层协议的UDP、IP等都是通用的以太网传输协议和标准,而RTP/RTCP则是在以太网传输基础上针对流媒体传输的关键协议。

下文将对PES、TS和RTP/RTCP协议作进一步详细介绍,希望对从事车载流媒体传输相关领域的同仁有所帮助。而如果只想了解车载流媒体以太网传输的基本概念,那就可以跳过接下来枯燥的传输协议介绍了。 

四、PES和TS流

编码器里出来的原始音视频裸流就是ES(Elementary Stream)流,ES流只包含一种音频或者视频。

1、ES的第一次封装:PES

PES (Packetized Elementary Stream)流是ES流经过PES打包器处理后形成的数据流,在这个过程中完成了将ES流分组、打包、加入Header信息等操作。PES流的基本单位是PES包。PES包由Header和Payload组成。Payload部分组合起来就是原始的ES流,并不会修改ES的内容。一个PES包的最大长度是65535个字节。第一层封装的主要目的是丰富传输流的信息。 

2、ES的第二次封装:MPEG-TS

MPEG-TS,也称MTS或TS(transport stream),是一种标准容器格式,是对PES包的进一步封装。它主要用来传输和(传输过程中)存储音频、视频和节目系统信息等。TS包的长度是188字节,4字节头,184字节payload。所以一个PES包可能会被封装成多个TS包。一个PES包必须由整数个TS包传输,如果承载一个PES包的最后一个TS包没有被装满,则用填充字节进行填充。第二层封装的目的是规范化传输的最小单元,保证传输的可靠性,以适应不太可靠的传输。

TS包都是分为包头 TS Header和TS Payload有效载荷部分,其中有效负载可以填入音频、视频、和节目映射表等其它形式数据。TS流可以理解为一个大的管道,里面传输的TS包可能会属于不同的PES流,而TS Header中的PID则是用来识别PES流的关键字段。在TS流中找出相同PID的TS包,按顺序排列,一般是如下图所示的结构。第一个TS包的Payload里包含了PESHeader,最后一个TS包的Payload里包含了空位填充,以保证TS包188字节的固定长度。 

图5:典型的PES包封装成TS包的示意图

五、RTP传输协议

RTP全称是Real-time Transport Protocol,实时传输协议,是一个网络传输协议。它详细说明了在以太网上传递音频和视频的标准数据包格式。RTP协议和RTP控制协议(RTCP)往往一起使用,而且它是创建在UDP协议上的。广义的RTP标准其实包含了RTP和RTCP两个子协议。所以当我们平时讨论RTP的时候也要注意背景和语境,确认讨论的是广义的RTP还是狭义的RTP。下文用“RTP子协议”指示狭义,其余均是广义。

RTP为数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。应用程序通常在 UDP 上运行 RTP 以便使用其多路节点和校验服务。

分层协议的好处是能各司其职,高效应对复杂的传输问题。RTP 本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于底层协议去实现这一过程。RTP 并不保证传送或防止无序传送,也不确定底层网络的可靠性。

下图是基于以太网帧、RTP包和TS包的示意图。与其他以太网通讯协议一样,其报文头包含了关键的媒体传输信息,也是该层协议的特征所在。 

图6:以太网帧、RTP包和TS包关系的示意图

下表对应的是RTP子协议Header。前12字节(即头3行)是必填字段。

表1:RTP子协议Header格式

其中各个字段的含义:

V:RTP协议的版本号,占2位,当前协议版本号为2。 

P:填充标志,占1位,如果P=1,则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。

X:扩展标志,占1位,如果X=1,则在RTP子协议报头后跟有一个扩展报头。

CC:CSRC计数器,占4位,指示CSRC 标识符的个数。CSRC可以理解为音视频的来源,例如一个RTP子协议包中包含了来自于两个视频来源的数据,则CC是2。下面的CSRC identifier也有2个。

M: 标记,占1位,不同的有效载荷有不同的含义,对于视频,标记一帧的结束;对于音频,标记会话的开始。

Payload Type:有效载荷类型,占7位,用于说明RTP子协议报文中有效载荷的类型,例如H263的视频是34。而由于H264出现的比RTP的定义晚,一般H264的Payload Type都定义为RTP子协议保留号段中的96。

Sequencenumber:序列号,占16位,用于标识发送者所发送的RTP子协议报文的序列号,每发送一个报文,序列号增1。接收者通过序列号来检测报文丢失情况,重新排序报文,恢复数据。

Timestamp:时间戳,占32位,时戳反映了该RTP子协议报文的第一个八位组的采样时刻。接收者使用时戳来计算延迟和延迟抖动,并进行同步控制。

SSRC identifier:同一个RTP会话中同步信源标识符,占32位,用于标识同步过的信源。

CSRC identifier:特约信源标识符,每个CSRC标识符占32位,可以有0~15个。每个CSRC标识了包含在该RTP子协议报文有效载荷中的所有特约信源。CC中定义了RTP子协议包中有几个信源,这个部分则定义了每个信源的ID。

来源:焉知智能汽车 作者:一骥绝尘

版权说明:“华夏EV网”转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如转作品侵犯署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。

文章标签:

本文网址:http://www.evinchina.com/newsshow-659.html

分享到:
相关文章
查看更多