[Vorbis-dev] Mapping = 1 Ambisonic Vorbis flag

Richard Furse rf015d9821 at blueyonder.co.uk
Thu Sep 11 05:05:27 PDT 2008


> -----Original Message-----
> From: vorbis-dev-bounces at xiph.org 
> [mailto:vorbis-dev-bounces at xiph.org] On Behalf Of Oliver Oli
> Sent: 11 September 2008 11:02
> To: Richard Lee
> Cc: Vorbis
> Subject: Re: [Vorbis-dev] Mapping = 1 Ambisonic Vorbis flag
> 
> On Thu, Sep 11, 2008 at 5:23 AM, Richard Lee 
> <ricardo at justnet.com.au> wrote:
> >>> When we start distributing 4th order stuff (which 
> requires >16 speakers) we can get around this by having 
> missing channels simply silent.  Vorbis compression is very 
> efficient at coding silence.  Thanks to Gregory Maxwell for 
> this excellent suggestion on the sursound forum.
> >
> >>Fons killed that proposal already on the sursound list. The 
> Ambisonics decoder have to be setup before the playback starts.
> >
> > For higher orders, Gregory's scheme, has silent channels.  
> The player would need to look at the first sec. or so to 
> determine the order for horizontal and vertical.
> 
> This would be a clever hack, if we had already defined and 
> implemented Ambi mapping in Vorbis limited to 3rd order. But 
> I don't understand why we just don't define a proper channel 
> mapping, that don't waste channels with silence for 
> horizontal Ambisonics. With 255 channels we could go up to 
> 127th order horizontal, this would require 14 Bit for the 
> channel mapping per channel. Would this possible to implement?

I think we can keep things simple and skip the channel map. At higher
orders, it doesn't really make sense to use only some of the components at a
particular order - it's really all or nothing - and you can't make much
sense of data of order N if order N-1 is missing... The only case where
dropping components works nicely is the 2D/3D case, which can be done by
provision of separate 2D/3D order numbers or a single 2D/3D switch for the
whole file - I prefer the latter approach, though I may be in a minority.

One way or another, and as Fons and others have pointed out, it's important
that the decoder knows whether it's dealing with 2D or 3D data at a
particular order.

> >> I don't see any reason why a flexible universal channel 
> mapping approach is a VERY bad idea. Just don't call it 
> Ambisonics channel mapping. There are hybrid formats, how 
> could you describe these with a simplistic Ambisonics-only 
> channel mapping? I'm thinking of B+ Format (Ambisonics + 
> Stereo) or maybe WXY(Z) plus a center channel and optional 
> LFE as a 5.1 alternative.
> >
> > As I understand it, Ogg is a container and may have several 
> streams eg Video, vorbis sound, FLAC sound, subtitles, karaoke etc.
> >
> > The sensible way to do mixed modes like Ambi with dedicated 
> CF speaker channel is to have the extra channel and its 
> metadata in a separate Ogg stream.  This way, Vorbis Ambi & 
> AmbiDecLib have a clean interface and only deal with Ambi 
> type signals.
> 
> I have to agree. Sometimes it's hard to see the obvious and 
> simple solution.

Yep. Sounds simple and clean...

Best wishes,

--Richard




More information about the Vorbis-dev mailing list