[AVT] Time sync in presence of clock drift (& phase noise)

Chuck Harrison <cfharr@erols.com> Wed, 03 September 2008 17:07 UTC

Return-Path: <avt-bounces@ietf.org>
X-Original-To: avt-archive@optimus.ietf.org
Delivered-To: ietfarch-avt-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 35E563A6B66; Wed, 3 Sep 2008 10:07:31 -0700 (PDT)
X-Original-To: avt@core3.amsl.com
Delivered-To: avt@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 007463A6AE0 for <avt@core3.amsl.com>; Wed, 3 Sep 2008 10:07:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.001
X-Spam-Level:
X-Spam-Status: No, score=0.001 tagged_above=-999 required=5 tests=[BAYES_50=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id a3Qd+F3+UH7x for <avt@core3.amsl.com>; Wed, 3 Sep 2008 10:07:28 -0700 (PDT)
Received: from smtp02.lnh.mail.rcn.net (smtp02.lnh.mail.rcn.net [207.172.157.102]) by core3.amsl.com (Postfix) with ESMTP id 8DF153A6B76 for <avt@ietf.org>; Wed, 3 Sep 2008 10:07:11 -0700 (PDT)
Received: from mr08.lnh.mail.rcn.net ([207.172.157.28]) by smtp02.lnh.mail.rcn.net with ESMTP; 03 Sep 2008 13:06:45 -0400
Received: from smtp01.lnh.mail.rcn.net (smtp01.lnh.mail.rcn.net [207.172.4.11]) by mr08.lnh.mail.rcn.net (MOS 3.8.6-GA) with ESMTP id KFZ63489; Wed, 3 Sep 2008 13:06:43 -0400 (EDT)
Received: from 162-144-2.cortland.com.144.162.209.in-addr.arpa (HELO erols.com) ([209.162.144.2]) by smtp01.lnh.mail.rcn.net with ESMTP; 03 Sep 2008 13:06:39 -0400
Message-ID: <48BEC3CA.72BAA231@erols.com>
Date: Wed, 03 Sep 2008 10:05:14 -0700
From: Chuck Harrison <cfharr@erols.com>
X-Mailer: Mozilla 4.76 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: avt@ietf.org
X-Junkmail-Whitelist: YES (by domain whitelist at mr08.lnh.mail.rcn.net)
Subject: [AVT] Time sync in presence of clock drift (& phase noise)
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Audio/Video Transport Working Group <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/avt>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: avt-bounces@ietf.org
Errors-To: avt-bounces@ietf.org

Hi all,

The topic of inter-session synchronization in the presence of wallclock
and sampleclock drift came up as a peripheral issue during discussion
of draft-lakaniemi-avt-rtp-evbr-02. This is an area I am somewhat
familiar with, and I think it would benefit from more attention.

I don't think Colin's assertion that RTCP-SR cross-session sync is
well developed, and proven to work, should be taken to promote
complacency.

There are deeply rooted difficulties in inter-stream synchronization
in the presence of phase noise (clock drift is "DC" phase noise),
which become most apparent when designing systems that need some
combination of tight synchronization, low jitter, low latency,
fast startup, and efficient bandwidth use. These difficulties can
be modelled mathematically and have been present even in legacy
analog systems (motion picture, television, and multitrack audio
production) for many decades; they are multiplied severalfold in
digital studio systems (e.g. those based on SMPTE 259M SDI,
IEEE 1394 Firewire, Layer 2 Ethernet, etc.). The difficulties are
even greater in the high-latency WAN environment in which RTP is
intended for deployment.

I could argue that the difficulties of inter-session digital sync
have not been solved in ANY generic sense: every implementation
must make a "good enough" tradeoff among the desired performance
parameters, in the face of the underlying channel and source
characteristics. For those who aren't too experienced in digital
media hardware, I may need to mention that many applications
(e.g. low distortion multi-microphone audio) require sync and
jitter performance in the 0.01 * sample_period range. "Sample
accurate" is a long ways from nirvana.

For anyone addressing an application which pushes up against the
mathematical limits of synchronization performance I would point
out two items here:

(1) Inter-station wallclock sync can be very important. NTP has
not proven adequate for high-quality media sync. IEEE P1588
"Precision Time Protocol" is a fielded system for high quality
network wallclock distribution. It is the basis of IEEE 802.1as,
a draft standard targeting the home audiovisual market. These
standards dovetail nicely with the RTP model in that they address
modularly the issue of maintaining an accurate distributed
wallclock.

(2) RTCP-SR timestamping has two functions: network jitter
characterization (it timestamps the delivery of packets to a
network interface) and clock synchronization. The text of
RFC 3550 emphasizes the jitter characterization function, and
implies that the wallclock timestamp and mediaclock timestamp
are *independently* set as closely as possible to the time
of packet delivery. In such an implementation, the granularity
of the media timestamp wreaks havoc with precision clock
recovery. I strongly recommend that the media timestamp in
the RTCP-SR packet be set first, and that the full
available wallclock precision be used to match that specific
(integer) media clock instant.

For some reason, the history of media synchronization (going
back at least to Vitaphone) is one of doggedly re-inventing
the wheel because "it can't be that hard". It may not be hard,
but it *is* subtle; there is a huge legacy of mathematical and
engineering analysis that can be helpful.

Cheers,
  Chuck
_______________________________________________
Audio/Video Transport Working Group
avt@ietf.org
https://www.ietf.org/mailman/listinfo/avt