Re: [codec] Comments on draft-ietf-codec-ambisonics-01

Mark Harris <mark.hsj@gmail.com> Mon, 13 March 2017 21:41 UTC

Return-Path: <markh.sj@gmail.com>
X-Original-To: codec@ietfa.amsl.com
Delivered-To: codec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C0FE6127058 for <codec@ietfa.amsl.com>; Mon, 13 Mar 2017 14:41:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jRu51kFhFFyX for <codec@ietfa.amsl.com>; Mon, 13 Mar 2017 14:40:59 -0700 (PDT)
Received: from mail-wm0-x22a.google.com (mail-wm0-x22a.google.com [IPv6:2a00:1450:400c:c09::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CA0A61297F1 for <codec@ietf.org>; Mon, 13 Mar 2017 14:40:57 -0700 (PDT)
Received: by mail-wm0-x22a.google.com with SMTP id n11so50611667wma.1 for <codec@ietf.org>; Mon, 13 Mar 2017 14:40:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to; bh=86VTz7w+6Jm6ljEk8nFhvnboOyjmnwZyTHHMaO41Aww=; b=VwrSPJ6xxOGaw02DxG5OKXxHFBJyyPHM7PTi/8qF0dnoY/aHEdjZUlykYJgkyD1ysO aTxklCZJ+cUB88wO6eelJCkKlVrt7QDDyC2I2wmD+OexU68JzJsuANVAura38jwRbdXk uqZ4/9OBQNAG0fKVEn22dNl+OGyYhYZ8kOUdMHju98Iec438bytQIHN1qoFlMUXd53hJ hmCynhNl0B+aNIMsCo1afjliLW99Dn7K5LsfMVBBl+K/yT6fzyr3ox4q6mtY3F/Cjuqa fSHCqOulyEmshlAssvByl/1iafxi1nhHBaIKjw/ivnp4gYVMS4h9NAegL/LUp3vF3xPG cYdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to; bh=86VTz7w+6Jm6ljEk8nFhvnboOyjmnwZyTHHMaO41Aww=; b=M1M5POogJmWrcWtQAdLLc61ooXM0YxuDWzflbNdRWAfa0Zln4IJxbYr5bsZJxMPTyu 3WVn+h08vgeCWBcAhMH9WRDA+ApWMYFVCD3ca5vqxHa4EzXW63A6AV6U0C8Aa+FH3SxI 35o+asW6QaIvYHNGSDVEqCdtRgGQ03dEFIK141Dv7zfx0hxQr5t/2JMD/IrV760d1I9l n8EQyC4zQHxIZfEtEG54MSn5E4Dsigu5rAemG3u9gvZFCcPlC/F7ePQQtFqy7OGjQq+m wjjvujWGZTfKG6EO6Ducf5xlS/+xOVFIIUcZrxjSyqEkOwNLJJAFLgzAC7shs7fccG+6 lCiA==
X-Gm-Message-State: AFeK/H1v3M/7eaYRKH8unNuW+M24EgcxOR1mdV5YogJKUYKg6gDj4y4tOgwwZoNEJynBz0V28jYu8ZgYdnJf3A==
X-Received: by 10.28.232.13 with SMTP id f13mr11758831wmh.141.1489441256321; Mon, 13 Mar 2017 14:40:56 -0700 (PDT)
MIME-Version: 1.0
Sender: markh.sj@gmail.com
Received: by 10.223.163.91 with HTTP; Mon, 13 Mar 2017 14:40:55 -0700 (PDT)
In-Reply-To: <CA+KMCSXhS2m4Dkous=4RkOibYWuoi+V_zBrhi1+anm-c+syQ1Q@mail.gmail.com>
References: <2f534e1b-b1af-266a-50ef-36f1739d878b@jmvalin.ca> <CAMdZqKGzdndiwpdXsYcHS7+r8Ega5LcQmAvcjiuHTHJgtTUwDg@mail.gmail.com> <CA+KMCSXhS2m4Dkous=4RkOibYWuoi+V_zBrhi1+anm-c+syQ1Q@mail.gmail.com>
From: Mark Harris <mark.hsj@gmail.com>
Date: Mon, 13 Mar 2017 14:40:55 -0700
X-Google-Sender-Auth: rNtlBQEdgf7xGcbc90nyrgDn6mc
Message-ID: <CAMdZqKFDtD684HMkoO9bXi-c+g+8R+ay9kPdWSQOtHFDbC3ZLA@mail.gmail.com>
To: Jan Skoglund <jks@google.com>, "codec@ietf.org" <codec@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/codec/GecTUsIGdVMmGKj33NyDRJe7Lcw>
Subject: Re: [codec] Comments on draft-ietf-codec-ambisonics-01
X-BeenThere: codec@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Codec WG <codec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/codec>, <mailto:codec-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/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: Mon, 13 Mar 2017 21:41:02 -0000

On Mon, Mar 13, 2017 at 10:38 AM, Jan Skoglund <jks@google.com> wrote:
> Hey,
>
> Thanks for your comments
>
> On Mon, Mar 13, 2017 at 10:08 AM Mark Harris <mark.hsj@gmail.com> wrote:
>>
>> On Fri, Feb 17, 2017 at 1:57 PM, Jean-Marc Valin <jmvalin@jmvalin.ca>
>> wrote:
>> > 3.2.  Channel Mapping Family 3
>> >
>> > I would suggest removing the "Output Channel Numbering" field because it
>> > is fully equivalent to simply permuting lines of the matrix. Also, I
>> > believe that the size of the matrix was meant to be "32*(N+M)*C bits"
>> > rather than "32*N*C bits".
>>
>> To expand on this a bit, a mapping family maps M+N decoded channels
>> (corresponding to the actual order of the coupled and uncoupled
>> channels in the bitstream) to C output channels (channels with a
>> specific semantic meaning).  The additional "Output Channel Numbering"
>> table confuses things by adding an additional mapping from the output
>> channel numbers to a different set of numbers with actual semantic
>> meaning, leaving the output channel numbers with no apparent meaning.
>>
>> This does have a potential benefit as a matrix compression technique,
>> to reduce the size of the matrix when it would contain rows that are
>> all zero.  However considering that the matrix occurs only once, and
>> mapping family 2 already offers a way to compress the matrix, this
>> alone does not seem worth the complexity of another level of
>> indirection.  If matrix compression is desired it would probably be
>> less confusing to describe it in those terms and keep the semantic
>> meaning tied to the output channels.
>>
>>
>> The description of the Output Channel Numbering also does not specify
>> the intended behavior if the same value appears in the table multiple
>> times.
>>
>> Additionally, section 4.2 describes how to perform a stereo downmix of
>> mapping family 3, but makes assumptions about the output channel
>> numbering.  This seems harmful and likely to promote implementations
>> that make similar assumptions.  If it is necessary to apply the output
>> channel numbering described in section 3.2 in order to implement a
>> correct stereo downmix, then it would be better to simply use the
>> output channels from section 3 as input to the downmix, consolidating
>> sections 4.1 and 4.2, rather than specify new formulas that make
>> assumptions about the mapping.  That would also greatly simplify
>> section 4.
>>
>> Eliminating the Output Channel Numbering table as Jean-Marc suggests
>> should resolve these concerns.
>
>
> The problem is that once we allow mixed orders there is no unique way for a
> receiver/decoder
> to resolve the mapping to ACNs from just a number of total output channels.


In mapping family 2, the channel count (C) is the number of channels
in the fully periphonic configuration, but it is not necessary to
encode them all.  The channel mapping table can map each ACN to a
specific decoded channel or to silence.  For mixed order, some of the
ACNs will be mapped to silence and will not be encoded.

In mapping family 3, the matrix can do everything that the channel
mapping table can do and more.  Why not treat C in the same manner, as
the number of channels in the fully periphonic configuration, even if
some are silent?

 - Mark