Subject: Re: [codec] Ambisonics in an Ogg Opus Container
From: Marc Lavallée <[email-masked]>
To: [email-masked]
Date: Sun, 29 May 2016 10:42:33 -0400
List-Id: Codec WG <codec.ietf.org>

On Sat, 28 May 2016 22:35:42 -0700,
Mark Harris <[email-masked]> wrote:

> I support this work.

I also support this work, with enthusiasm (that's why I registered to
the codec list). 

I tried Opus for "ambisonics on the web" more than a year ago, to
experiment with online binaural decoding. It worked very well, but I
had to modify the encoder to uncouple channels, and I finally chose AAC
for compatibility reasons. It's about time that Opus becomes widely
adopted and supported as a standard, especially for multi-channel
streams. Maybe the situation is better now, as browsers matured (to be
verified).

I would suggest to not include decoding of Ambisonics streams in the
Opus decoders. Exceptions would be decoding/down-mixing to mono
and stereo, as defaults for compatibility reasons, but in a carefully
unobtrusive way; users of Opus for Ambisonics should easily have access
to all channels, even if the Opus decoder (and the system) wants to
"help" them.

Even mono and stereo are special cases in Ambisonics; one of the most
popular usage of Ambisonics is to explore the soundfield with virtual
directional microphones, something that could be used to explore
so-called "360 videos" with desktop speakers (without dedicated "VR"
gears).

Support for mixed-order is important too, mostly for horizontal-only
Ambisonics streams, because horizontal-only surround is still dominant,
and also because humans have more "spatial resolution" on the horizontal
plane; therefore, providing low vertical resolution is acceptable in
many playback situations; for example: 6 channels supports horizontal
at 2nd order and vertical at 1th order.

I think that what's only required is channel uncoupling and metadata
about the Ambisonics stream; everything else should be the
responsibility of the Ambisonics encoders and decoders. 

Normalisation is not the responsibility of a codec. It is used for
Ambisonics format conversion (ex: A to B, FuMa to Ambix). That said,
gain factors could be included to maximize dynamics, but it is
unrelated to Ambisonics.

Opus for Ambisonics, as a standard for the distribution of compressed
"VR audio", would be excellent.

--
Marc