[opus] Channel Mapping Family for Ambisonics

Timothy B. Terriberry tterribe at xiph.org
Fri Apr 29 23:32:25 UTC 2016

Michael Graczyk wrote:
> As for mixing matrices, we are not confident in any choices for setups
> beyond stereo. Although there have been papers and studies on

Okay, better to give no advice than bad advice.

> provide only a stereo downmixing matrix. It looks like this would go
> in The matrix should be

As a general point, it's too late to add anything to the soon-to-be RFC 
7845. It's too far along in the publication process. This would have to 
go in a separate document (which, other than having to add an abstract, 
brief introduction, and some other boilerplate sections, shouldn't be a 
big deal).

> Allowed numbers of channels: (1 + l)^2 for l = 1...15.
> Explicitly 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196,
> 225. Ambisonics from first to fifteenth order.

You say l = 1...15 but the explicit list actually shows (l + 1) ranging 
from 1 to 15, meaning l ranges from 0 to 14.

> Each channel is assigned to an ambisonic component in Ambisonic
> Channel Number (ACN) order. The ambisonic component with degree n and
> ambisonic index m corresponds to channel (n * (n + 1) + m).

"Channel" is ambiguous. There are "internal" or "encoded channels" 
(signaled in each Opus packet using the stereo flag), "decoded channels" 
(based on the configuration applied to each decoder, as specified by the 
stream count and coupled stream count), and "output channels", which are 
what you wind up with after applying the channel mapping table. I assume 
you mean "output channels" here, and should say so.

It's also probably a good idea to explicitly say that you use the same 
channel mapping table format as channel mapping families 1 and 255. At 
least, I'm assuming you do. I'm also assuming you don't plan to support 
Ambix's "extended format" with its adaptor matrix.

More information about the opus mailing list