36
Audio Video Transport Protocol (AVTP) Dave Olsen – Chair IEEE 1722a Harman InternaBonal

AVnu AAA2C_Audio Video Transport Protocol (AVTP)

  • Upload
    vantu

  • View
    263

  • Download
    7

Embed Size (px)

Citation preview

Page 1: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Audio  Video  Transport  Protocol  (AVTP)  

Dave  Olsen  –  Chair  IEEE  1722a  Harman  InternaBonal  

Page 2: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Agenda  

•  IEEE  1722  Background  •  AVTP  Basic  Concepts  

–  Media  clock  reconstrucBon  –  PresentaBon  Time  –  Latency  normalizaBon  –  Lip  Sync  

•  AVTP  PackeBzaBon  •  MAC  Address  AcquisiBon  Protocol  •  IEEE  p1722a  Overview  

 

Page 3: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

IEEE  1722  -­‐  Audio  Video  Transport  Protocol  

•  IEEE  1722  enables  interoperable  streaming  by  defining:  – Media  formats  and  encapsulaBons  

• Raw  &  compressed  audio/video  formats  – Media  synchronizaBon  mechanisms  

• Media  clock  reconstrucBon/synchronizaBon    • Latency  normalizaBon  and  opBmizaBon  

– MulBcast  address  assignment    • Assigning  AVB  Stream  ID  • Reserved  pool  of  addresses  

Page 4: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Where  does  the  transport  protocol  fit?  

IEEE 802.1ASPrecision

Time Protocol

Control Applications(SomeIP, FBlocks, 1722.1, etc)

Connection ManagementAPI

TCP/IPProtocol

StackSRP

BandwidthReservation

IEEE 1722AVTP

FQTSSShaping

IEEE 802 Ethernet Driver

Page 5: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

AVTP  Basic  Concepts  

•  Media  clock  reconstrucBon    •  PresentaBon  Time    •  Latency  normalizaBon  •  Lip  Sync  

Page 6: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Media  clocks  are  derived  from  cross-­‐Bmestamping  

L LRLRLR R RLRLRL L LRLRLR R RLRL

AVBTP Cross Timestamp

DBC

48khzWord Clock

StereoSamples

Page 7: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Media  clock  info  embedded  in  talker’s  presentaBon  Bmestamps  

A/D 1722 Data

AVBTP TimestampGenerator

716666700

0000

00

900000000

0000

00

883333300

0000

00

866666700

0000

00

...00

0000

00

733333300

0000

00

1722 Stream

Timestamps Data

Media clock(local oscillator)

Incoming AnalogData

802.1ASWall Time

Talker Stream

Page 8: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

PresentaBon  Time  Stamps  and  802.1AS  wall  Bme  used  to  recreate  media  clock    

D/A

AVBTP TimestampComparator

7166667

00

0000

00

9000000

00

0000

00

8833333

00

0000

00

8666667

00

0000

00

...

00

0000

00

7333333

00

0000

00

1722 Stream

Timestamps Data

AVBTP timestamps

Generated mediaclock

Outgoing AnalogData

802.1ASWall Time

Clock Generator

Listener Stream

Page 9: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Latency  NormalizaBon  

2 Hops 7 Hops

Default Presentation Time is 2 mS...

Speaker A buffers audio until Speaker B receives audio and presentation time is reached

Speaker A Speaker B

Page 10: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Default  PresentaBon  Time  is  2  ms…  

2 Hops

… but Presentation Time can be dialed down

Talker is responsible for setting delay…

Page 11: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Lip  Sync  Support  •  AVTP  provides  a  

baseline  for  Lip  Sync  

•  AVTP  does  not  include  codec  and  other  Lip  Sync  related  delays  

Audio VideoSource

Audio Codec Video

Codec

AVTP Presentation Time

Lip Sync

1722

Del

ay

Audio Video

Lip

Sync

Del

ay

Page 12: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

AVTP  packet  components  

•  Ethernet  header        plus  •  Common  frame  header  

– Control  frames  •  Common  control  frame  header  •  Protocol-­‐specific  headers  &  payload  

 or  

– Streaming  frames  •  Common  stream  data  header  •  Streaming  data  headers  &  payload  

Page 13: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

AVTP  packets  encapsulated  within  Ethernet  header  

AVTP  Frames  are  idenBfied  by  a  unique  Ethertype  

Page 14: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

AVTP  frame  common  header  fields  

cd: control or data packet subtype: protocol type sv: stream_id valid version: revision of 1722 standard type_specific_data: protocol specific info stream_id: IEEE 802.1Qat stream ID

Page 15: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Command/control  packet  header  (cd=1)  

control_data: protocol-specific data status: status flags, values, etc control_data_length: length in bytes of control payload

AVTP  Control  packets  used  in  IEEE  P1722.1  

Page 16: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

AVTP  common  stream  data  header  

mr: media clock restart r: reserved gv: gateway_info field valid tv: avtp timestamp valid sequence_number: sequence number tu: timestamp uncertainty

AVTP  Stream  packets  require  an  SRP  reservaBon  

Page 17: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

AVTP  subtype  field  specifies  streaming  protocol      Valued   Func<on   Meaning  

0016   61883_IIDC   IEC  61883/IIDC  over  AVTP  

0116   MMA   MMA  payload  over  AVTP  

0216  –  7D16    -­‐     Reserved  for  future  protocols  

7E16   MAC  address  acquisiBon  protocol  

MAAP  

7F16   Experimental   Experimental  

Page 18: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Support  for  raw  &  compressed  audio/video  

•  Formats  based  on  IEC  61883  parts  1-­‐81  – 61883-­‐2  SD-­‐DVCR  – 61883-­‐4  MPEG2-­‐TS  Compressed  Video    – 61883-­‐6  Uncompressed  Audio  – 61883-­‐7  Satellite  TV  MPEG  – 61883-­‐8  Bt.601/656  Video  –  IIDC  Uncompressed  Industrial  Cameras  

 

Page 19: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

61883-­‐n  header/streams  encapsulated  in  1722  packets     What Stream?

When to Play? What to Play?

Page 20: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Example  61883-­‐6  audio  packet    

Page 21: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Example  61883-­‐8  video  packet  

Page 22: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

MAC  Address  AllocaBon  Protocol  

•  Stream  DA  Addresses  must  be  unique    •  Method  for  dynamic  address  allocaBon  •  Allocate  addresses  individually  or  in  blocks  •  Reserved  set  of  MAC  addresses  for  use  by  MAAP  •  No  need  for  vendors  to  assign  mulBple  MAC  addresses  to  a  device  that  supports  mulBple  streams  

Page 23: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Address  AcquisiBon  Algorithm  

•  Pick  random  Stream  Address(es)  

•  Probe  •  Watch  for  Reply  Pick random

address from range

Send Probe Wait Received Reply

Stored Address?

Yes

Yes

No

Address available for use

No

Repeat n times

Page 24: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Address  Defense  Algorithm  

•  Watch  for  Probe  packets  •  If  a  conflict,  send  a  Reply  

Receive Probe Conflict Send Reply

Do Nothing

No

Yes

Page 25: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

MAAP  Control  Frame  

Page 26: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

MAAP  message  types  

Value   Func<on   Meaning  

0   -­‐-­‐   Reserved  

1   MAAP_PROBE   Probe  MAC  address(es)  

2   MAAP_DEFEND   Defend  MAC  address(es)  

3   MAAP_ANNOUNCE   Announce  acquired  MAC  address(es)  

4  -­‐  5   -­‐-­‐   Reserved  

Page 27: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Reserved  MAAP  MAC  addresses  

Address  Range   Func<on   Meaning  

91:E0:F0:00:00:00–  91:E0:F0:00:FD:FF      

MAAP  Dynamic  AllocaBon  Pool    

These  addresses  are  available  for  dynamic  allocaBon  by  the  MAAP.    

91:E0:F0:00:FE:00  –  91:E0:F0:00:FE:FF  

MAAP  locally  administered  Pool    

These  addresses  are  reserved  to  be  staBcally  allocated.    

91:E0:F0:00:FF:00  –  91:E0:F0:00:FF:FF  

MAAP  Reserved  Pool   Reserved    

Page 28: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

IEEE  P1722a  –  Amendment  1  Extensible  Stream  Formats  

•   Program  AuthorizaBon  Request  (PAR)  approved  Sep  2011  

•   Feature  Freeze  end  of  2012  •   Sponsor  Ballot  mid  2013  

•   Final  Standard  end  of  2013    

Page 29: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

IEEE  1722a    •  Extensible  Audio/Video  Formats  

–  AVTP  Audio    –  AVTP  Video    –  AVTP  Control  Streams  

•  Media  Clock  NegoBaBon  Protocol  –  AutomaBc  negoBaBon  of  media  clock  sources  

•  DiagnosBcs  –  Common  diagnosBc  variables  and  counter  to  aid  in  detecBon  of  

network  problems  

Page 30: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

AVTP  Audio  •  Support  for  PCM  Audio  •  High  channel  counts  

–  Less  frame  overhead  •  Simpler  data  parsing  

–  Fixed  packet  size  –  Single  Bmestamp  per  packet  

•  No  dependence  on  125usec  interval  

Page 31: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

AVTP  Video  •  Professional  Studio  quality  Video  

–  SMPTE  259,  292,  424,  etc.  •  MJPEG  •  H.264  •  JPEG  2000  

Page 32: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

AVTP  Control  Streams  •  Support  for  AutomoBve  Protocols  

–  FlexRay  –  CAN  –  LIN  

•  Time  SensiBve  Control  Stream  –  Generic  format  for  sending  non  Audio/Video  data  in  streams  –  Use  cases  

•  Meter  data  •  Time  sensiBve  controls  (LighBng  cues,  etc.)  

Page 33: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

AVTP  Control  Streams  

DataEncapsulation

Gateway

EC

U

EC

U

EC

U

EC

U

Ethernet(Bus ID = 0)

CAN Bus B(Bus ID = 1)

DataEncapsulation

GatewayCAN Bus A(Bus ID = 2)

Page 34: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Media  Clock  Streams  •  Ability  to  synchronize  mulBple  devices  to  a  single  media  

stream  •  Reduce  the  need  for  Sample  Rate  Conversion  

Page 35: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

Media  Clock  Streams  

A/D 1722 Data

AVBTP TimestampGenerator

6500000

00

0000

00

4333333

00

0000

00

4666667

00

0000

00

4833333

00

0000

00

...

00

0000

00

6333333

00

0000

00

Incoming Media Clock Stream

Timestamps Data

7166667

00

0000

00

9000000

00

0000

00

8833333

00

0000

00

8666667

00

0000

00

...

00

0000

00

7333333

00

0000

00

Outgoing Synchronized Stream

Timestamps Data

AVBTP timestamps

Generated mediaclock

Incoming AnalogData

Talker Stream with

Media Clock Stream

Page 36: AVnu AAA2C_Audio Video Transport Protocol (AVTP)

More  info…  •  Website  

– hlp://grouper.ieee.org/groups/1722/  •  Email  reflector  

– subscribe  avbtp  <FirstName>  <LastName>  to  [email protected]  

•  Weekly  phone  conferences  – See  website  for  details  

•  Face-­‐to-­‐face  meeBngs  every  two  months