Re: [xrblock] Fw: I-D Action: draft-ietf-xrblock-rtcp-xr-jb-02.txt

Kevin Gross <kevin.gross@avanw.com> Fri, 18 January 2013 04:51 UTC

Return-Path: <kevin.gross@avanw.com>
X-Original-To: xrblock@ietfa.amsl.com
Delivered-To: xrblock@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5BB6621F8BE0 for <xrblock@ietfa.amsl.com>; Thu, 17 Jan 2013 20:51:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.945
X-Spam-Level:
X-Spam-Status: No, score=-0.945 tagged_above=-999 required=5 tests=[AWL=-0.458, BAYES_05=-1.11, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2ux9nMFa4lb9 for <xrblock@ietfa.amsl.com>; Thu, 17 Jan 2013 20:50:59 -0800 (PST)
Received: from oproxy11-pub.bluehost.com (oproxy11-pub.bluehost.com [173.254.64.10]) by ietfa.amsl.com (Postfix) with SMTP id 22E0421F8BBA for <xrblock@ietf.org>; Thu, 17 Jan 2013 20:50:57 -0800 (PST)
Received: (qmail 30571 invoked by uid 0); 18 Jan 2013 04:50:33 -0000
Received: from unknown (HELO host291.hostmonster.com) (74.220.215.91) by oproxy11.bluehost.com with SMTP; 18 Jan 2013 04:50:33 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=avanw.com; s=default; h=Content-Type:Cc:To:From:Subject:Message-ID:Date:References:In-Reply-To:MIME-Version; bh=0rnpRftMNbO+TdTdXvR5YjDLEtWBwxwGhWT6gVRZ2Yo=; b=Y/qrp0ZdiTxdOmOs3/xulGHzo5SF79vfJZrA2G7GVdkMpW5tcMHTLbXit4ZJfEbNC5pV7I/p+XOxLy7OccY/v+Ex/lzgrfL29bpFXq2jAvZ4MRgzA5c4aMK27jtmYF3f;
Received: from [209.85.210.182] (port=37487 helo=mail-ia0-f182.google.com) by host291.hostmonster.com with esmtpsa (TLSv1:RC4-SHA:128) (Exim 4.80) (envelope-from <kevin.gross@avanw.com>) id 1Tw3uT-0004dM-2P for xrblock@ietf.org; Thu, 17 Jan 2013 21:50:33 -0700
Received: by mail-ia0-f182.google.com with SMTP id w33so1064648iag.27 for <xrblock@ietf.org>; Thu, 17 Jan 2013 20:50:32 -0800 (PST)
MIME-Version: 1.0
X-Received: by 10.50.53.161 with SMTP id c1mr941481igp.95.1358484632220; Thu, 17 Jan 2013 20:50:32 -0800 (PST)
Received: by 10.50.151.135 with HTTP; Thu, 17 Jan 2013 20:50:32 -0800 (PST)
In-Reply-To: <927AAAAC26834AFC9B18DFE6D75DF4EA@china.huawei.com>
References: <CD1C881F.4D69E%alan.d.clark@telchemy.com> <927AAAAC26834AFC9B18DFE6D75DF4EA@china.huawei.com>
Date: Thu, 17 Jan 2013 21:50:32 -0700
Message-ID: <CALw1_Q2-Q5MddMFLw0mtcD0CDYNJAEXMaop-PAf6iPLrY0btmQ@mail.gmail.com>
From: Kevin Gross <kevin.gross@avanw.com>
To: Qin Wu <bill.wu@huawei.com>
Content-Type: multipart/alternative; boundary="f46d04339d18efb52e04d388d905"
X-Identified-User: {1416:host291.hostmonster.com:avanwcom:avanw.com} {sentby:smtp auth 209.85.210.182 authed with kevin.gross@avanw.com}
Cc: xrblock <xrblock@ietf.org>
Subject: Re: [xrblock] Fw: I-D Action: draft-ietf-xrblock-rtcp-xr-jb-02.txt
X-BeenThere: xrblock@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Metric Blocks for use with RTCP's Extended Report Framework working group discussion list <xrblock.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xrblock>, <mailto:xrblock-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/xrblock>
List-Post: <mailto:xrblock@ietf.org>
List-Help: <mailto:xrblock-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xrblock>, <mailto:xrblock-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 18 Jan 2013 04:51:01 -0000

Thanks Alan for an explanation of what nominal delay is. I think we need to
add an explanation of this to the draft. I think we also need to add
an explanation of adaptive vs. fixed buffering. I propose the following
should be added after section 2. Warning: the following needs integration
and copy editing.

    <section title="Jitter Buffer Operation">
      <t>A jitter buffer is required to absorb delay variation in network
delivery of media packets. A jitter buffer works by holding media date for
a period of time after it is received but before it s played out. Packets
that arrive relatively early are held in the jitter buffer relatively
longer. Playout can fail if packets arrive too early and find
no available jitter buffer space to be held until time for playout. Playout
can also fail if packets are delayed excessively by the network and arrive
after they are scheduled to be played.</t>

      <t>Nominal playout delay is the difference between the time the media
data is generated and when it is played. Nominal
playout delay must accommodate delays in the sender, delays in the network
and delay in the receiver. Selection of nominal playout delay is critical
for reliable playout. When nominal playout delay is too short, reasonably
expected delays in the network may cause media data to arrive after it is
scheduled to be played out rendering it unusable. If playout delay is
large, a generous amount of buffering is required in receivers to hold
media data that arrives promptly. Large playout delays may unnecessarily
delay media playback causing long delays that are detrimental for some
applications - live closed-circuit systems, for example.</t>

      <section title="Fixed Jitter Buffer">
        <t>A receiver can use either a fixed or adaptive playout delay
selection. A fixed playout delay is a simple implementation but may not do
a good job of accommodating varying network performance. A fixed playout
delay also may require extra buffer memory and media latency compared to an
adaptive implementation.</t>

        <t>The fixed value for the playout delay is chosen through device
configuration or may be determined and fixed by the timing of delivery of
the first packet(s) of stream data.</t>
      </section>

      <section title="Adaptive Jitter Buffer">
        <t>An adaptive jitter buffer may adjust nominal playout delay
during playback in response to changing sender or network performance.
Playout delay is typically adjusted to minimize media latency
while also minimizing of lost data due to packets arriving to early or too
late. The change in playout delay can be made instantly by introducing a
discontinuity in media playout or gradually by adjusting the rate of
playout over a period of time,</t>
      </section>
    </section>

This is a start. The definitions in section 3 for how to actually measure
nominal playout delay and specify jitter buffer maximum delay needs some
work. A contribution from me on that will have to wait until another day.
Perhaps one of the authors in the meantime has time to revise these to
describe something that can be unambiguously implemented. As it stands now,
I don't believe the specification is specific enough to foster
interoperable reporting. e.g. there is no definition of "exactly on time".

Kevin Gross
+1-303-447-0517
Media Network Consultant
AVA Networks - www.AVAnw.com <http://www.avanw.com/>, www.X192.org


On Thu, Jan 17, 2013 at 2:03 AM, Qin Wu <bill.wu@huawei.com> wrote:

> **
> Hi,Alan:
> Thank for your clarification.That's what I thought in my second proposal
> below, i.e., choose the reference point as the average delay for all the
> received packets during the measurement Interval.
> I think the choosing the 1st packet received as the reference point is
> also reasonable.
>
> Regards!
> -Qin
>
> ----- Original Message -----
> *From:* Alan Clark <alan.d.clark@telchemy.com>
> *To:* Roni Even <ron.even.tlv@gmail.com> ; Dan (Dan) <dromasca@avaya.com>; 'Kevin
> Gross' <kevin.gross@avanw.com> ; Qin Wu <bill.wu@huawei.com>
> *Cc:* 'xrblock' <xrblock@ietf.org>
> *Sent:* Thursday, January 17, 2013 5:38 AM
> *Subject:* Re: [xrblock] Fw: I-D Action:
> draft-ietf-xrblock-rtcp-xr-jb-02.txt
>
> Hi Roni
>
> That is correct.
>
> With regard to the choice of reference point - this would typically be the
> first packet however could also be based on a running average of the delay.
>  A jitter buffer does need to deal with timing drift, which could cause a
> gradual empty or fill of the buffer, and also with delay
> increases/reductions due to route changes - this can be addressed either by
> detecting the condition and resetting the reference point or by using the
> running average delay value.
>
> Best Regards
>
> Alan
>
>
> On 1/16/13 4:15 PM, "Roni Even" <ron.even.tlv@gmail.com> wrote:
>
> Hi Alan,
> If you insert the received packet at 40 ms and you are currently start
>  reading from 0 you are delaying by 40 ms and 40 ms is the nominal delay.
>  So it does not matter what is the jitter buffer size, you are expecting to
> render or decode a packet if it arrives between 0 or 40 ms compared to the
> first packet. I assume for fixed buffer this will not change but for
> adaptive buffer the nominal delay may change.
> I agree on the last sentence of your explanation, the question is how you
> define the on-time insertion point or expected time. I believe you  are
> saying it is based on the first packet that arrives.
> Roni
>
>
> *From:* Alan Clark [mailto:alan.d.clark@telchemy.com<alan.d.clark@telchemy.com>]
>
> *Sent:* 16 January, 2013 6:29 PM
> *To:* Roni Even; Dan (Dan); 'Kevin Gross'; Qin Wu
> *Cc:* 'xrblock'
> *Subject:* Re: [xrblock] Fw: I-D Action:
> draft-ietf-xrblock-rtcp-xr-jb-02.txt
>
> Hi Roni
>
> Nominal delay is the delay that is applied to a packet that arrives at its
> expected time (i.e. 0 jitter) - and corresponds to the late window of the
> jitter buffer
>
> Jitter buffer size can be ambiguous as the term is sometimes used to mean
> the late window and sometimes the overall buffer size.
>
> For example.
>
> A jitter buffer is configured to have 200ms of overall buffer space.
> Initially packets are inserted into this at the 40ms point and hence incur
> 40ms of delay as they propagate to the 0ms “read” point. If all the packets
> arrive with zero jitter they would all incur 40ms of delay within the
> buffer.
>
> If a packet arrives 10ms later than expected then it is written to the
> buffer at the (40-10)ms point however if a packet arrives more than 40ms
> late then it is discarded.
>
> If a packet arrives 50ms earlier than expected it is written to the
> (40+50)ms point and would wait 90ms before being played out.
>
> With an adaptive jitter buffer, If the jitter level is high and packets
> are being discarded then the insertion point for on-time packets could be
> moved to say 100ms. This results in the delay for on-time/ zero jitter
> packets being 100ms but would reduce the discard rate
>
> So the nominal delay is the time difference/ buffer size difference
> between the on-time insertion point and the point at which packets are read
> out and decoded.
>
> Regards
>
> Alan
>
>
> On 1/16/13 10:01 AM, "Roni Even" <ron.even.tlv@gmail.com> wrote:
> Hi Alan,
> I am not sure what applies a nominal delay means. Is the first packet
> defines the start of the jitter buffer and nominal delay is the size of the
> fixed jitter buffer.
> When saying that the jitter buffer may increase or reduce is this for the
> adaptive jitter buffer?
>
> Roni
>
>
> *From:* xrblock-bounces@ietf.org [mailto:xrblock-bounces@ietf.org<xrblock-bounces@ietf.org>]
> *On Behalf Of *Alan Clark
> *Sent:* 16 January, 2013 2:18 PM
> *To:* Dan (Dan); Kevin Gross; Qin Wu
> *Cc:* xrblock
> *Subject:* Re: [xrblock] Fw: I-D Action:
> draft-ietf-xrblock-rtcp-xr-jb-02.txt
>
>
> A typical jitter buffer uses the first packet received as its timing
> reference, and applies a nominal delay to that before playing out.  During
> later operation, the jitter buffer may increase or reduce the nominal delay
> or may pick a new reference packet. This nominal delay represents the “late
> window” - so if a packet arrives more than “nominal delay ms” after its
> expected time then it will be discarded.
>
> “On time” - in this case - refers to the expected arrival time of the
> packet when calculated with reference to the first or a later selected
> reference packet.
>
> Jitter buffer implementations don’t necessary do this mathematically
> however this is a generalized description that models the behavior of most
> jitter buffers used for VoIP and Videoconferencing.
>
> Playout buffers used in video streaming applications operate quite
> differently. Basically a received chunk of encoded video is added to the
> playout buffer - encoded video is read from the buffer. When the buffer
> level drops below a threshold then another chunk of video is requested from
> the server. There is an equivalent to “nominal delay” as the buffer will
> always try to make sure there is at least a minimal level of video in the
> buffer before playing out - however there would not be the equivalent of an
> “on time” packet.
>
> Regards
>
> Alan
>
>
> On 1/16/13 5:36 AM, "Dan (Dan)" <dromasca@avaya.com> wrote:
> Kevin, Qin,
>
> Do you want to discuss this one2one, or should we organize a short
> conference call? Do other think that they can contribute to clarify the
> issues, or want to participate?
>
> Dan
>
>
>
>
> *From:* xrblock-bounces@ietf.org [mailto:xrblock-bounces@ietf.org<xrblock-bounces@ietf.org>]
> *On Behalf Of *Kevin Gross
> *Sent:* Tuesday, January 15, 2013 11:08 PM
> *To:* Qin Wu
> *Cc:* xrblock
> *Subject:* Re: [xrblock] Fw: I-D Action:
> draft-ietf-xrblock-rtcp-xr-jb-02.txt
>
> I think we need to have a phone call to discuss this whole thing.
>
>
> Kevin Gross
>
> +1-303-447-0517
>
> Media Network Consultant
>
> AVA Networks - www.AVAnw.com <http://www.AVAnw.com>  <http://www.AVAnw.com>
>  <http://www.avanw.com/> , www.X192.org <http://www.X192.org>  <
> http://www.X192.org>  <http://www.X192.org>
>
>
> On Mon, Jan 14, 2013 at 8:27 PM, Qin Wu <bill.wu@huawei.com> wrote:
>
> Hi,Kevin:
>
> I like to make some additioal clarification to your question.
>
> I think the packet arrives exactly on time, is also referred to the packet
> that has nominal delay.
>
> So we have two ways to address this.
>
> a. It is more like implementation specific issue,e.g., rely on timing
> information in the headers of previous
>
> packet and current packet or rely on time window to determine this. So we
> can leave this to the specific
>
> implemenations.
>
>
>
> b. we can explain the packet that arrives exactly on time as the packet
> that has nominal delay.
>
> The nominal delay can either be choosen as the jitter buffer delay for the
> packet with minimal delay(i.e.,
>
> the reference packet is choosen as the packet with minmal delay) or
> average delay for all the packets that arrives
>
> within the implementation specific time window during the measurement
> interval.
>
> I am not sure we should details to talk about this, but If we take (b), we
> prefer to add the following sentence in the draft to say:
>
> "Note that the reference packet is generally selected as the packet
>  with minimum delay based on the most common criterion (see Sections 1 <
> http://tools.ietf.org/html/rfc6798#section-1>  and 5.1 of [RFC5481 <
> http://tools.ietf.org/html/rfc5481> ]).
>
> "
>
> Let me know what you think about this.
>
>
>
> Regards!
>
> -Qin
>
> ----- Original Message -----
>
> *From:* Qin Wu <mailto:bill.wu@huawei.com <bill.wu@huawei.com>>
>
> *To:* Kevin Gross <mailto:kevin.gross@avanw.com <kevin.gross@avanw.com>>
>
> *Cc:* xrblock <mailto:xrblock@ietf.org <xrblock@ietf.org>>
>
> *Sent:* Monday, January 14, 2013 8:46 AM
>
> *Subject:* Re: [xrblock] Fw: I-D Action:
> draft-ietf-xrblock-rtcp-xr-jb-02.txt
>
>
>
> Kevin:
>
> As I clarified to you in the previous email, "implemention specific time
> window" described in Burst Gap drafts will be used to identify a "packet
> that arrives exactly on time".
>
> That is to say, if the receiving packet falls within  implemention
> specific time window and can be sucessfully playout, such packet will be
> regarded as packet that arrives exactly on time.
>
> Hope this clarifies.
>
>
>
> Regards!
>
> -Qin
>
> ----- Original Message -----
>
> *From:* Kevin Gross <mailto:kevin.gross@avanw.com <kevin.gross@avanw.com>>
>
>
> *To:* Qin Wu <mailto:bill.wu@huawei.com <bill.wu@huawei.com>>
>
> *Cc:* xrblock <mailto:xrblock@ietf.org <xrblock@ietf.org>>
>
> *Sent:* Sunday, January 13, 2013 6:04 AM
>
> *Subject:* Re: offlist//Re: [xrblock] Fw: I-D Action:
> draft-ietf-xrblock-rtcp-xr-jb-02.txt
>
>
> Qin,
>
>
>
> Of the jitter buffer delay metric, the draft currently says "It is
> calculated based on the difference between the receipt time and the playout
> time for the packet that arrives exactly on time."
>
>
>
> My issue is that I don't know how to identify a "packet that arrives
> exactly on time".
>
>
> Kevin Gross
>
> +1-303-447-0517 <tel:%2B1-303-447-0517>
>
> Media Network Consultant
>
> AVA Networks - www.AVAnw.com <http://www.AVAnw.com>  <http://www.AVAnw.com>
>  <http://www.AVAnw.com> , www.X192.org <http://www.X192.org>  <
> http://www.X192.org>  <http://www.X192.org>
>
>
> ------------------------------
>
>
>
>
> _______________________________________________
> xrblock mailing list
> xrblock@ietf.org
> https://www.ietf.org/mailman/listinfo/xrblock
>
>
>
> ------------------------------
>
>
> _______________________________________________
> xrblock mailing list
> xrblock@ietf.org
> https://www.ietf.org/mailman/listinfo/xrblock
>
>