Wednesday 23 January 2019

R&D - Understanding SMPTE ST 2110 - ST 2110-10



As part of the Understanding SMPTE ST 2110 Virtual Course, provided by SMPTE. Today we will be taking a look at SMPTE ST 2110-10. Find my course notes below.


In live production, various synchronisation methods are used to keep all elementary streams (video, audio and data) in sync throughout the flow chain. For example, in SDI facilities, Genlock (Black burst ) is used for synchronisation.

SMPTE 2110 uses the Precision Time Protocol (PTP) ( adapted from IEEE 1588-2008, modified as SMPTE ST 2059-2  for live TV production) for synchronisation.

PTP provides a nanoseconds accuracy and is used in many other applications.

SMPTE ST 2110-10 defines the function of the PTP grandmaster and slave, the various PTP message types and how to use them to keep all devices on the network synchronised. 

SMPTE ST 2110-10 also defines how the RTP Timestamps for each elementary essence is calculated, that RTP timestamp is in turn added to each RTP packet for inter-stream alignment.

SMPTE ST 2110-10 also describes the use of Session Description Protocol (SDP) (which is a simple text file that contains session information, time information and media description of each RTP stream) by the receiving device to interpret the media streams. Figure ... shows an example of SDP.

Synchronisation

SMPTE ST 2110 uses RTP timestamps added to the RTP packets of the essence (Video, Audio and Data) streams inter-stream alignment.

For a successful synchronisation, all devices creating RTP timestamps must use the same time base as the devices consuming the RTP streams. 

The internal time clock of each device on the network must be set using the same time clock. 


PTP Epoch
Every PTP standard is based on an Epoch as referenced in time when the clock starts counting.

To synchronise various clocks together, they must use the same epoch.

in a group of clocks, one clock is selected to be the master or the reference time source, the master clock is sampled to a decreet time, the sampled time or timestamp now distributed to the other clocks to synchronise them with the master clock.

PTP Sync Messages

PTP Clock Types
Every PTP aware device in a PTP network represents a clock. PTP defines various types of clocks
Ordinary Clocks are usually endpoints of a PTP network and usually only has one physical port. The Grand Master and the Slaves are usually ordinary clocks. Depending on their configuration and capabilities a slave can become a Grandmaster if the original one fails. 

Boundary Clocks are network devices with multiple physical ports. e.g. network switch.

Boundary clocks forward PTP messages received from a grandmaster to slaves connected to them. Boundary clocks can also become a grandmaster if the original grandmaster fails. 

SMPTE ST 2110-10 details signally provisions to prevent a slave from becoming a grandmaster.


PTP Domain
In a PTP domain, one or multiple PTP devices communicate with each other using a specific multicast group address.

IEEE 1588:2008 allows multiple PTP domains to use the same network. 

PTP devices can also participant in muliple PTP domains.

To avoid confusion in the PTP domain structure, IEEE 1588:2008 specifies the use of domain numbers to differential between multiple domains.

PTP messages between PTP devices uses include the domain number, to identify the PTP domain for which the communication is meant.

Domain number 0, is reserved for the default domain.
Domain number 1-3 identifies alternative domains.
Domain 4-107 identifies user define domains.

Time Relationship
The Epoch time as defined in SMPTE ST 2059-1 is 01.01.1970 T 00:00:00 TAI. 

The SMPTE PTP Clock in SMPTE ST 2110-10 is a continuously increasing counter of integer time units which starts with the value 0 at the SMPTE Epoch. indicating no offset between the SMPTE ST 2110-10 Clock and the SMPTE Epoch.

SMPTE ST 2110-20 and SMPTE ST 2110-10 define the accuracy of the clock.


The PTP Time clock is sampled at regular time intervals to create timestamps which are included in the RTP packets.

Timestamps can be created from the grandmaster clock for use in PTP synchronisation messages to synchronise other clocks in the PTP network. 

SMPTE ST 2110-20 RTP Clock
SMPTE ST 2110-20 mandates the media and RTP clock to advances at the same rate without any offset.

It also mandates the use of 90 kHz as the clock rate for uncompressed active video, which represents 90,000-time units per sec of video. 

The clock accuracy in SMPTE ST 2110-20 is 11microseconds. 

The increment by which an RTP timestamp advances are calculated by dividing the clock rate by the frame rate of the video transport, this results to an integer increment which is added to the RTP timestamp at every frame.    
e.g. 30 / 90000 = 3000 , 60 / 90000 = 1500.

The media or RTP clocks are sampled to create timestamps at the frame rate of the image format used.

e.g. for a 30fps video, the clock will be sampled every 3000-time unit (33millseconds). 
for 60fps video, every 1500 time unit (16.5 millseconds).

SMPTE ST 2110-30 RTP Clock
SMPTE ST 2110-30 mandates the media and RTP clock to advances at the same rate without any offset.

It also mandates the use of the audio sampling rate as the clock rate. so for example 48 kHz will 48,000-time units per sec of audio. Optionally, 44.1 kHz and 96 kHz can also be used.

For a 48 kHz audio, the clock accuracy is 21microseconds.
The media or RTP clocks are sampled to create RTP timestamps at the first instance of the first audio sample within an RTP packet. 


Devices implementing SMPTE ST 2110-10 shall support 3 different clocks.
The Device Internal Clock provides the time base.
The media clock provides timing for the capture and playback of media.
The RTP Clock is used to create timestamps.

SMPTE ST 2110-10 also defines the relationship between the various clocks of a device. 

The media clock advances at frame or sample rate of a given media essence and is frequency locked to the device internal clock.

The RTP clock counts at the same rate as the media clock with zero Offset, therefore both clocks advance at identical rates.

The media clock provides timing for the capture and playback of media.

The RTP clock provides timing for the creation of RTP timestamps included in the RTP packet, which is used for inter-stream synchronisation.  


Identification

In order to exchange media between a sender and one or multiple receivers, a relationship must be established.

This relationship is called a session in which a sender transports media content over a connection to one or more receivers.

To inform the receiver about the essence details and the properties of the essence media encapsulated in the RTP packet stream SMPTE 2110 uses the session description protocol (SDP) as defined in IETF RFC 4566. 

SDP was originally developed to describe multicast sessions. 

SMPTE ST 2110 requires a sender to create on SDP per stream 
An SDP is text files and consists of 3 parts 
Session Description to support session establishment, 
Timing Information to inform about the lifetime of a session, Media Description to identify what type of media is exchanged.

IETF RFC 4566 defines the formatting rules of an SDP.

Post a Comment

Whatsapp Button works on Mobile Device only

Start typing and press Enter to search