Re: [codec] #8: Sample rates?

stephen botzko <stephen.botzko@gmail.com> Tue, 13 April 2010 10:38 UTC

Return-Path: <stephen.botzko@gmail.com>
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 B2FBA3A6821 for <codec@core3.amsl.com>; Tue, 13 Apr 2010 03:38:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.854
X-Spam-Level:
X-Spam-Status: No, score=-1.854 tagged_above=-999 required=5 tests=[AWL=-0.744, BAYES_05=-1.11, HTML_MESSAGE=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 x83iEk6zRLCn for <codec@core3.amsl.com>; Tue, 13 Apr 2010 03:38:19 -0700 (PDT)
Received: from mail-iw0-f189.google.com (mail-iw0-f189.google.com [209.85.223.189]) by core3.amsl.com (Postfix) with ESMTP id B459E3A6A27 for <codec@ietf.org>; Tue, 13 Apr 2010 03:37:55 -0700 (PDT)
Received: by iwn27 with SMTP id 27so5383444iwn.5 for <codec@ietf.org>; Tue, 13 Apr 2010 03:37:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=CuxeecNyoK6FssoPJ5LJvD1bl0NpaenIxEcYghP+WbI=; b=cnaQFfk+h87XD4aVAMzsbtuwn0Ujn4KA5iRdiRMdur7UMC7c1iiLn1Ic+wLQ7naBDL /XWc0NbQa11pqmYX7U0xne8YTJHk0YDIlhdHaISO/QxoV/UN/mxyVkhAaATwaLG91u3l 2U7llX91KzIYgHT19awtyV+9UiMsw25RsJZr4=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=Hof+XZWi3E/hddgpsAJBEGxaLA7UwemCAnYpNUMPIj3OTx4RvKsh3zeHWgOG+AzGu+ bh/bpOpX6F94S02NoutrXW5Sge5TKw7uy3XTwPctDihRzurk3KYyNJkWTh7r2DVGATUo hfX//fsxNE5qcIrnF/ubysJ35SwKAXyyNrSLI=
MIME-Version: 1.0
Received: by 10.231.85.133 with HTTP; Tue, 13 Apr 2010 03:37:47 -0700 (PDT)
In-Reply-To: <002a01cadac8$68dbf380$3a93da80$@de>
References: <062.89d7aa91c79b145b798b83610e45ce71@tools.ietf.org> <071.0bc6655c98ff0335ad26ee705d9f5ce9@tools.ietf.org> <002a01cadac8$68dbf380$3a93da80$@de>
Date: Tue, 13 Apr 2010 06:37:47 -0400
Received: by 10.231.154.77 with SMTP id n13mr2578954ibw.11.1271155067633; Tue, 13 Apr 2010 03:37:47 -0700 (PDT)
Message-ID: <w2k6e9223711004130337l5ecfccdbl153ac4895aedfdf@mail.gmail.com>
From: stephen botzko <stephen.botzko@gmail.com>
To: Christian Hoene <hoene@uni-tuebingen.de>
Content-Type: multipart/alternative; boundary="001636cd737f42bfd104841bda74"
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 10:38:20 -0000

I do not think that we should include multiple sample rates in the
requirements at all.

If you use *internal *sample rate conversion in the encoder and the decoder;
then that becomes part of the compression, and is transparent to the
system.  There are other ways to accomplish the same end - for instance
removing (not transmitting) high frequency coefficients in a transform
coder, or dropping sub-bands in a filter bank.

For instance, with G.722, you can omit the high frequency bits on the wire
(the upper 4 bits for each 8 bit sample), and get a 32 kbs narrow band coder
"for free".  If the decoder continues to run the QMF reconstriction filter
with 0 coefficients, you still have a wideband 16 kHz output (with no high
frequencies); if not you get a narrow band 8 kHz output.  I would not call
this "sample rate conversion", though it has a similar effect.

Since all three methods (and possibly others) have essentially the same
effect, we should not bias the selection / development process by forcing
one method to be used (by explicitly stating it in the requirements).

Dynamically changing sample rates on the system level adds some complexity
for RTP, since the timestamp granularity is supposed to be the sample rate.

BTW, dynamically changing the sample rate may be in conflict with the idea
of low-complexity compressed-domain mixing (even if the conversion is done
internally).

Stephen Botzko




On Tue, Apr 13, 2010 at 1:15 AM, Christian Hoene <hoene@uni-tuebingen.de>wrote:

> >
> >#8: Sample rates?
>
> >------------------------------------+---------------------------------------
> > Reporter:  hoene@…                 |       Owner:
> >     Type:  enhancement             |      Status:  new
> > Priority:  minor                   |   Milestone:
> >Component:  requirements            |     Version:
> > Severity:  Active WG Document      |    Keywords:
>
> >------------------------------------+---------------------------------------
> >
> >Comment(by kpfleming@…):
> >
> > If our goal is to use RTP AVP/SAVP/AVPF/SAVPF profiles for transport (as
> > seems likely), then differences in sample rates between stream offers
> must
> > be listed separately in the SDP. Whether they have a different codec
> > 'name' in the SDP or not seems less important, because the combination of
> > the codec name and sample rate is required to uniquely identify the
> format
> > in any case. Note that this is *sample rate*, and not bitstream rate.
>
> No, please not. Please keep the interface to the codec as simple as
> possible!
>
> In addition, one must consider the following requirements:
>
> 1) First, the sample rate MUST be changed dynamically to cope with varying
> transmission bandwidths.
> 2) Typically, sound cards do not allow changes of the sample rate on the
> fly.
> 3) Thus, the codec SHOULD have an internal sampling rate conversion.
>
> I would recommend to use only one nominal sampling rate (e.g. the sampling
> rate of the sound card) and let the codec do the conversion between the
> actually used and predefined.
>
> It might be useful to state that it is not recommended to use 44100 Hz,
> because the conversion to 16kHz and 32kHz is computational more demanding
> than 48kHz and requires more power/time.
>
> With best regards,
>
>  Christian
>
>
>
>
>
>
> _______________________________________________
> codec mailing list
> codec@ietf.org
> https://www.ietf.org/mailman/listinfo/codec
>