Re: [codec] #8: Sample rates?

"Christian Hoene" <hoene@uni-tuebingen.de> Tue, 13 April 2010 15:18 UTC

Return-Path: <hoene@uni-tuebingen.de>
X-Original-To: codec@core3.amsl.com
Delivered-To: codec@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 61AC13A6B27 for <codec@core3.amsl.com>; Tue, 13 Apr 2010 08:18:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.041
X-Spam-Level:
X-Spam-Status: No, score=-5.041 tagged_above=-999 required=5 tests=[AWL=1.207, BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
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 2y2AVW2Xc7Bh for <codec@core3.amsl.com>; Tue, 13 Apr 2010 08:18:34 -0700 (PDT)
Received: from mx05.uni-tuebingen.de (mx05.uni-tuebingen.de [134.2.3.4]) by core3.amsl.com (Postfix) with ESMTP id 381FC3A6B08 for <codec@ietf.org>; Tue, 13 Apr 2010 08:18:12 -0700 (PDT)
Received: from hoeneT60 (u-173-c009.cs.uni-tuebingen.de [134.2.173.9]) (authenticated bits=0) by mx05.uni-tuebingen.de (8.13.6/8.13.6) with ESMTP id o3DFI4c4016148 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Tue, 13 Apr 2010 17:18:04 +0200
From: Christian Hoene <hoene@uni-tuebingen.de>
To: 'stephen botzko' <stephen.botzko@gmail.com>
References: <062.89d7aa91c79b145b798b83610e45ce71@tools.ietf.org> <071.0bc6655c98ff0335ad26ee705d9f5ce9@tools.ietf.org> <002a01cadac8$68dbf380$3a93da80$@de> <w2k6e9223711004130337l5ecfccdbl153ac4895aedfdf@mail.gmail.com> <4BC4586F.1010709@digium.com> <o2u6e9223711004130620lb04d335auaafacfa34b0d6fe7@mail.gmail.com> <001e01cadb17$886fcec0$994f6c40$@de> <v2p6e9223711004130756p52726f8bo2db445e749ffe662@mail.gmail.com>
In-Reply-To: <v2p6e9223711004130756p52726f8bo2db445e749ffe662@mail.gmail.com>
Date: Tue, 13 Apr 2010 17:18:02 +0200
Message-ID: <003101cadb1c$828b3990$87a1acb0$@de>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0032_01CADB2D.46140990"
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: AcrbGXSTO9UYGSTpQPGZEetS173EYgAAYmzQ
Content-Language: de
X-AntiVirus-Spam-Check: failed (checked by Avira MailGate: version: 3.0.0-4; spam filter version: unknown; host: mx05)
X-AntiVirus: checked by Avira MailGate (version: 3.0.0-4; AVE: 8.2.1.210; VDF: 7.10.6.68; host: mx05); id=19160-qzh4PO
Cc: codec@ietf.org
Subject: Re: [codec] #8: Sample rates?
X-BeenThere: codec@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Codec WG <codec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/codec>, <mailto:codec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/codec>
List-Post: <mailto:codec@ietf.org>
List-Help: <mailto:codec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/codec>, <mailto:codec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Apr 2010 15:18:38 -0000

Hi,
 
comments inline:
 
 
From: stephen botzko [mailto:stephen.botzko@gmail.com] 
Sent: Tuesday, April 13, 2010 4:56 PM
To: Christian Hoene
Cc: codec@ietf.org
Subject: Re: [codec] #8: Sample rates?
 
This would make the signaling more complicated - personally I am not convinced it is worth it.  
CH: It is a difficult tradeoff. However, signaling overload is done in Skype.  Such as signaling might be very useful for mobile
devices, which want to save power and thus lower their CPU clock. Or wireless IP based headphones which do not have large batteries.
I am thinking of signaling the states: overloaded, fine, and low. That should be enough for most operational cases.

I think a better avenue is to bound overall complexity, and to focus on dynamically adapting to network conditions (as opposed to
dynamic complexity management). 
CH: I just like to remind that the good old TCP does support both: congestion control to adapt to network conditions and flow
control take into account an overloaded (=full) receiver.
You can't dynamically negotiate complexity in many scenarios anyway - for instance it makes no sense if you are using multicast.
CH: Multicast is out of scope anyhow. We are considering an interactive codec. 
CH: The conferencing scenario might be some more difficult to handle but will not a big problem.
Christian


Stephen Botzko


On Tue, Apr 13, 2010 at 10:42 AM, Christian Hoene < <mailto:hoene@uni-tuebingen.de> hoene@uni-tuebingen.de> wrote:
Hi,
 
It still might make sense to negotiate the maximal supported sampling rate via SDP or, if possible, to select one out of multiple
sampling rates, if the audio receiver can cope with multiple rates well. The internal sampling frequency of the codec NEEDS NOT to
be affected by the external sampling frequency.
 
However, the decoder might want to signal to the encoder that the decoding is requiring too many computational resources and that a
less complex coding mode (or a lower sampling frequency) should be taken.
 
Christian
 
 
---------------------------------------------------------------
Dr.-Ing. Christian Hoene
Interactive Communication Systems (ICS), University of Tübingen 
Sand 13, 72076 Tübingen, Germany, Phone +49 7071 2970532 
 <http://www.net.uni-tuebingen.de/> http://www.net.uni-tuebingen.de/
 
From: stephen botzko [mailto:stephen.botzko@gmail.com] 
Sent: Tuesday, April 13, 2010 3:21 PM
To: Kevin P. Fleming
Cc: Christian Hoene; codec@ietf.org
Subject: Re: [codec] #8: Sample rates?
 
Though I generally avoid MAY, this could be a case where it makes sense.

Something like:

CODEC MAY reduce the acoustic bandwidth at lower bit rates in order to optimize audio quality.

This is free of any technology assumption about how the acoustic bandwidth is reduced.  The MAY indicates that it is permissible.
But if the CODEC algorithm doesn't need to reduce the acoustic bandwidth, then we are making no statement that it SHOULD (or SHOULD
NOT).

Kevin is distinguishing dynamic changes to the sample rate (for bandwidth management) from multiple fixed sample rates; and I agree
that is a key distinction. 

I have not heard any clear application requirement for more than one fixed sampling rate.  Though if there is such a requirement,
IMHO we would have to negotiate the rate within SDP in the usual way, and it would affect the RTP timestamps, jitter buffers, etc.
G.722.1 / G.722.1C is one precedent - it is the same core codec, but can run at two different sample rates (negotiated by SDP).

Stephen Botzko
On Tue, Apr 13, 2010 at 7:41 AM, Kevin P. Fleming <kpfleming@digium.com> wrote:
stephen botzko wrote:

> Dynamically changing sample rates on the system level adds some
> complexity for RTP, since the timestamp granularity is supposed to be
> the sample rate.
And jitter buffers, and anything else that is based on timestamps and
sample rates/counts. If the desire is for the codec to be able to change
sample rates to adjust to network conditions, then I agree with
Stephen... the 'external' sample rate (input to the encoder and output
from the decoder) should be fixed, and this is what would be negotiated
in SDP and used for RTP timestamps. The codec can downsample in the
encoder and upsample in the decoder if it has decided to transmit fewer
bits across the network.

--
Kevin P. Fleming
Digium, Inc. | Director of Software Technologies
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
skype: kpfleming | jabber: kfleming@digium.com
Check us out at www.digium.com & www.asterisk.org