[opus] Channel Mapping Family for Ambisonics
Timothy B. Terriberry
tterribe at xiph.org
Mon Apr 25 16:32:44 UTC 2016
Jean-Marc Valin wrote:
> Would it make sense to allow an arbitrary number of channels and just
> "truncate" the list of channels. For example, two-channel ambisonics
> would be W plus X and three-channel would be W, X and Y. The idea is
> that you would get these mappings for free -- if there's any use for
> them anyway.
Well, more specifically, the channel count is stored in the main header,
not in the channel mapping table, so it's possible to put any value in
there, up to 255 (instead of, for example, simply storing l). We should
say what a decoder is expected to do in the case it encounters a stream
with such a value. "Treat the stream as invalid," is a perfectly
acceptable option, as is Jean-Marc's, "pretend the missing channels are
silent," but we have to pick one.
>> 1. Should I be more explicit about what "ambisonics" is, what
>> normalization is, and what each channel really means?
> For these kinds of things, you can just use references.
Yes, hopefully this is all well-described somewhere (at least enough for
someone to implement it), so we don't have to reinvent the wheel.
>> 2. Do I need to list the specific meaning of each possible channel
>> count? For example, should I write "4 channels: First order
>> ambisonics" similar to what is done for surround sound?
> I'm not sure I understand what your asking here.
I think he's just asking if he needs to make a bulleted list as we did
in 18.104.22.168 and 22.214.171.124 of the Ogg Opus draft. To which I think the
answer is "no". Those are in lists because it was the easiest way to
present the information. When you have a parametric mapping, a
description in terms of the parameters makes more sense.
>> 3. Should we define whether downmixing should occur when Ogg Opus
>> players do not support the channel mapping? Since channel 1 is a mono
>> channel, it is always possible to play something reasonable.
> It's not absolutely required, but it would indeed be nice if you could
> define a simple way that players can downmix. I guess mono is just "take
> the W channel", but maybe a reasonable stereo would be nice too.
Well, there will always be players that don't support the channel
mapping at all, just because there's 4 years' worth of deployed software
that knows nothing about it. I think the actual question is, "Should we
give advice on how players with common speaker configurations (instead
of a custom ambisonics rig or a virtual environment or whatever) can
render the stream?" If you want to see support in common media players
like VLC, I think we should.
More information about the opus