【车载以太网】【AVB/TSN】概述

  • 一、音视频传输面临的主要问题
  • 二、如何解决这些问题
    • 1. 网络传输问题
    • 2. 媒体时钟同步问题
  • 三、AVB体系
    • 1.协议框架
    • 2. 网络拓扑
    • 3. 典型应用场景
      • a. 车载娱乐系统
      • b. 大型演唱会现场
  • 四、参考资料

本文是AVB系列文章的第一篇,简单介绍车载以太网中的AVB技术。

一、音视频传输面临的主要问题

大家想一下,在观看网络视频的时候,经常遇到的问题是什么?

  1. 卡顿
  2. 花屏
  3. (实时直播)延时大
  4. 音视频不同步

假设音视频源正常的,造成以上问题的原因是什么呢?

  1. 卡顿:网络不流畅、数据不能及时到达。
  2. 花屏:视频数据丢失、错误。然而这只是表面原因,根本原因也是网络不流畅、数据不能及时到达。
  3. (实时直播)延时大:网络不流畅、数据不能及时到达。
  4. 音视频不同步:网络网络不流畅、数据不能及时到达会造成这种现象,另外,媒体时钟不同步也会造成这种现象。

这样看来,影响网络音视频观看体验的主要原因基本上就下面两点:

  1. 网络不流畅,数据丢失或不能及时到达
  2. 媒体时钟不同步

这也是AVB要解决的主要问题。不同的是,我们观看网络视频一般是经由广域网传输,而AVB解决的是局域网内的音视频传输问题。

二、如何解决这些问题

1. 网络传输问题

我们知道,传统以太网是基于竞争的尽最大努力传输的分组报文网络。有人可能会说TCP是可靠的,不错,但它的可靠性是建立在重传机制上的,带来的副作用是延时加大。

另外,中间转发节点(比如网络中的交换机、路由器)对报文的传输影响比较大。比如:

  • 传输过程中,如果中间的转发节点缓存队列已满,会导致后续数据包丢失。
  • 传输时延受转发节点的缓存状态影响,如果缓存队列中数据较多,传输延时就较大,缓存队列中数据较少,传输延时就较小。

如果可以构建这样一个网络,它可以为音视频数据预留带宽(类似高速公路上的专用应急车道),那么不仅解决了竞争问题,还保证了音视频数据可以在规定的时间内从源头传输到目的地(时间敏感网络的概念)。

没错,带宽预留AVB的一个重要组成部分。

2. 媒体时钟同步问题

以太网中传输的音视频都是离散的数字信号,而现实世界中的音视频都是连续的模拟信号。在音视频采集设备中,需要对模拟信号进行采样、量化、编码,才能转换为数字信号(简称模数转换,即A/D转换)A/D转换过程中涉及到采样频率,即间隔多久采样一次。接收端收到数据后,按同样的频率进行播放。这就是媒体时钟同步

媒体时钟必须有个参考时钟,这样它才能知道从上次采集到现在过了多久,是否该进行下次采样。有的采集系统以系统时钟作为参考时钟,而有的采集系统以外部信号作为参考时钟。不同参考时钟很有可能是不同步的,比如A时钟的1ms可能对应实现世界的0.9msB时钟的1ms可能对应现实世界额1.1ms。另外,时钟都不是绝对稳定的,受温度、运行时间等因素影响都会产生漂移(就像手表,有的过段时间变慢了,有的过段时间变快了)。

问题来了,接收端怎么保证自己的播放速率和采集端的采集频率一致(即如何恢复媒体时钟)?如果没有一个统一的参考时钟,这是很难做到的。如果参考时钟不同步,就有可能导致本来该先播放的音频后播放,或者本该先播放的视频后播放,在观众看来就是音视频不同步。

AVB中的精确时钟同步技术,可以让所有节点的时钟保持同步,进而为媒体时钟同步提供了条件。

三、AVB体系

AVB被称为时间敏感网络,主要包含两方面含义:

  • 延时小,实时性好
  • 延时可控,最坏情况下的延时不超过一定的阈值

1.协议框架

AVB的全称是Audio Video Bridging,由一系列IEEE标准组成,目的是在局域网中高效传输音视频数据。

AVB协议栈如下图所示:

 

可以看出,AVB主要是链路层的协议,它和传统的TCP/IP协议栈是并列共存的关系。

AVB协议栈不仅包括了前面提到的带宽预留和时钟同步协议,还包括其他一些辅助协议,主要协议如下:

  1. IEEE Std 802.1AS-2011:精确时钟同步协议(Generalized Precision Time Protocol,简称gPTP),用来将网络内所有节点的时钟同步同步到同一个主时钟。
  2. IEEE Std 802.1 Qat:带宽预留协议(Stream Reservation Protocol,简称SRP),目前被整合在IEEE Std 802.1Q-2011 第35章。
  3. IEEE Std 802.1 Qav:流量整形协议(Forwarding and Queuing for time-sensitive streams,简称FQTSS),负责对流量进行排队、转发管理,目前被整合在IEEE Std 802.1Q-2011 第34章。
  4. IEEE Std 1722-2016:音视频传输协议(Audio Video Transport Protocol,简称AVTP)。
  5. IEEE Std 1722.1-2013:音视频管理协议(Audio Video Discovery, Enumeration, Connection management, and Control protocol,简称AVDECC),负责服务发现,节点能力遍历,链接管理等控制功能。
  6. IEEE Std 1733-2011:基于AVB的RTP/RTCP传输协议(Transport Protocol for Time-Sensitive Applications in Local Area Networks),它主要用于协调网络中的多个设备,比如以下场景:网络中有多个Talker且位于不同设备,接收端需要同步播放这些Talker的音视频数据。

2. 网络拓扑

AVB的网络拓扑如下所示:

 

它主要由两类节点组成:

  • End Station: 有时候也称为endpoint,它又分为Listener和Talker两种:
    • Listener:接收音视频数据的节点
    • Talker:输出音视频数据的节点
  • AV Bridge: 音视频网关

说明:

  • 一个节点可以包含多个Talker,即产生多条音视频数据流
  • 一个节点可以具有Talker和Listener的双重身份,既对外输出,又接收别人的数据

3. 典型应用场景

目前AVB主要应用在对时间敏感的场景中,比如工业控制,车载娱乐系统。下面简单举两个例子。

a. 车载娱乐系统

 

如上图所示,车内的DVD Player播放音视频文件,音频传输到扬声器,视频分别传输到后排座椅的两个显示器上。如何保证扬声器和两个显示器的同步,实现音视频同步?

  • 首先,gPTP协议保证了网络中所有节点的时钟是同步的。
  • 其次,SRP协议为音视频数据预留了带宽,保证都能在一定的时间内到达目的地。
  • 那么,如果在Talker端(DVR Player)就约定好,不同目的地的音视频数据在未来的同一时刻播放,是不是就实现了音视频同步?这就是AVTP协议中展示时间戳的意义所在。

b. 大型演唱会现场

大型演唱会现场都会布置多个扬声器来传输声音,可以简化成下面的模型。 那么如何控制这些扬声器同时发声 道理一样,大家约定好在未来的同一时刻同时播放,先收到数据的节点把数据缓存起来,等待播放时刻的到来,然后产生共鸣

 

四、参考资料

  1. https://avb.statusbar.com/page/developer-faq/

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值