[opus] ambisonics formats and channel mappings

Sampo Syreeni decoy at iki.fi
Tue May 31 19:41:18 UTC 2016

On 2016-05-31, Marc Lavallee wrote:

> As UHJ only have 2 channels, and is directly stereo and mono 
> compatible, it would nice to have it identified as UHJ in the 
> metadata. There's no need for decoding at this point; an external 
> decoder could take care of it for speaker arrays or binaural 
> listening.

UHJ in general has 1, 2, "2.5", 3 or 4 channels, in a hierarchy. Those 
variants are called, in order, B or mono, BHJ, SHJ, THJ and PHJ. They 
support, respectively, mono compatibility, stereo compatibility, limited 
bandwidth full circle compatibility on top of stereo, full bandwidth 
full circle compatibility on top of stereo, and finally an equivalent of 
the full first order ambisonic B-format, only encoded such that dropping 
one channel gives you 2D full surround, dropping two yields stereo, and 
dropping there gives mono.

I might be being a bit bold here, but do take a look at what we once 
tried to do with OggPCM channel 
maps (https://wiki.xiph.org/OggPCM#Channel_Mapping_Headers). That piece 
of work is an attempt at an all-encompassing channel semantics standard, 
and if ever implemented, would do pretty much what you're after here.

Obviously it's also a true exemplar of preƫmptive overengineering, which 
is one reason nobody to my knowledge ever implemented it, at least in 
full. However, if you take a look at how we structured the thing, you 
can extract a ready subset for pretty much any static channel tagging 
problem from there.
Sampo Syreeni, aka decoy - decoy at iki.fi, http://decoy.iki.fi/front
+358-40-3255353, 025E D175 ABE5 027C 9494 EEB0 E090 8BA9 0509 85C2

More information about the opus mailing list