A First Proposal to Specify, Define and Determine the Parameters for an Ambisonics Exchange Format

Contents

    • Section one we discuss parameters and systems which we have to determine and specify in an external Ambisonics standard reference manual.
    • Section two we discuss parameters which we include into an Ambisonics specific header of a container format.
    • Section three we discuss parameters which should be provided from a certain container format.
    • There will be some reference links to an appendix A of Ambisonics Xchange Format Appendix.pdf, abbreviated AXFA_.

1. Parameter and System Specifications for an External Ambisonics Standard Reference Manual

  • Arrangement and orientation of the axes of the 2D and 3D cartesian coordinate system: It should be a right-handed system, the z-axis points upwards, the x-axis points forwards and the y-axis points to the left. (This is a necessary precondition for equivalent encoding and decoding)
  • Orientation of the polar and the spherical coordinate system and their units: All coordinate angles in polar and spherical coordinate systems refer to the origin. Azimuth is the counterclockwise angle in the horizontal plane (xy-plane) measured from the positive x-axis in degree. Elevation is the angle between the horizon (xy-plane) and a certain point. It takes the value of zero degrees in the xy-plane, +90 degrees towards the northpole and -90 degrees towards the southpole. The zenith angle is 90 degree minus elevation. (In the egospherical listener's coordinate system, it is most natural to use the "sine of elevation" instead of the "cosine of zenith angle" for the argument of the Legendre functions)
  • Rotation of the Ambisonics system: It is required in order to rotate a symmetrical or sparse Ambisonics system from the standard orientation (first x-tant) into its target position:
      • Clockwise rotation of the y-axis towards the z-axis, while the look direction is the positive x-axis, specifies rotation angle with respect to x by a positive angle.
      • Clockwise rotation of the z-axis towards the x-axis, while the look direction is the positive y-axis, specifies rotation angle with respect to y by a positive angle.
      • Clockwise rotation of the x-axis towards the y-axis, while the look direction is the positive z-axis, specifies rotation angle with respect to z by a positive angle.
  • Associated Legendre functions: the associated Legendre functions are evaluated at positive indices 'm' and 'n' only. Without the Condon-Shortley phase the highest power terms exhibit positive signs. -> AXFA_5
  • Normalization scheme: There are several known normalization schemes that can be selected from. Each normalization coefficient should be specified in the container file header. The normalization coefficients should relate to the 'not-normalized SH'. -> AXFA_7, AXFA_8
  • Ascending order of the ambisonic channels in 2D and 3D:
      • 2D: X(0), X(-1), X(+1), X-2, X+2, X-3, X+3, .... (corresp. with channel indices: 1, 2, 3, 4, 5, 6, 7, ....  Negative indices operate with sine of azimuth, positve indices operate with cosine of azimuth)
      • 3D: Y0|0, Y-1|1, Y0|1, Y+1|1, Y-2|2, Y-1|2, Y0|2, Y+1|2, Y+2|2, Y-3|3, Y-2|3, Y-1|3, Y0|3, Y+1|3, Y+2|3, Y+3|3, .... (corresp. with channel indices: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, ....  Negative indices operate with sine of azimuth, positve indices operate with cosine of azimuth)
  • Reduced channel Ambisonics systems: limited loudspeaker coverage on the sphere or circle permits a symmetrical Ambisonics approach
      • 2D: (2k)-th part of a circle means: we have loudspeakers only between 0 degree and 360/(2k) degree. To describe this region completely, we only need the channels: X0, X+k, X+2k, X+3k, X+4k, X+5k, ....  In order to move this part of the circle to its target position, we have to rotate the system by a certain angle.
      • 3D: (2^k)-th part of a sphere means: we have loudspeakers only in a hemisphere or in a fourth part of a sphere or in an eighth part of a sphere. To describe e.g. the northern hemisphere completely, we only need the channels:  Y0|0, Y-1|1, Y+1|1, Y-2|2, Y0|2, Y+2|2, Y-3|3, Y-1|3, Y+1|3, Y+3|3, .... we omit the channels with an odd sum of the indices (m+l), which are odd with respect to the z-axis. Further tiling is achieved by using the above scheme for the azimuth harmonics.

2. Parameter Definitions for the Ambisonics Header in a Container Format

  • Ambisonics order:
  • Ambisonics dimension: ( 2D or 3D ) (maybe this is a reduntant information)
  • Format of the channel reduced ambisonics system: 1/1 SPHERE, 1/1 CIRCLE, 1/2 SPHERE, 1/4 SPHERE, 1/8 SPHERE, 1/(2K) CIRCLE (maybe it will do only the number of the denominator)
  • Rotation angle of the permitted region about z-axis or the 3 rotation angles about zyz-axes: in degree
  • A list of reference indices of the channel sequence of the complete Ambisonics system:
  • A list of reference indices of the channel sequence of the reduced Ambisonics system:
      • e.g. one sixth of a 2D circle, eighteenth order: 1, 7, 13, 19, 25, 31, 37.
      • e.g. the 3D northern hemisphere, second order: 1, 2, 4, 5, 7, 9.
  • Ambisonic distance coding direction: ( none / interior / exterior )
  • Ambisonic reference radius of distance coding: in m
  • A list of normalization coefficients of the complete ambisonics channels:
  • A matrix of completion coefficients to transform a reduced into a complete ambisonics system:

3. Common Parameter Definitions in a Container Format

  • Header length: in bytes.
  • Samplerate: in Hz.
  • Sample resolution: in bits per sample.
  • Sample endianness: little endian for intel-architcures, big endian for motorola- or ppc-architecture.
  • Binary coding format: of a sample. ( PCM, IEEE-float, other codecs like vorbis or mp3 )
  • Number of channels: integer number. (mandatorily interleaved)
  • Data block length (bytes): number of frames * number of channels * sample resolution / 8 in bytes
  • Bitrate: in bits per second ( for data compressed formats )
Winfried Ritsch
Winfried Ritsch says:
Jun 02, 2015 11:35 PM
Various comments from Chris Travis (2nd February 2009)
Posted by Chris Travis at Feb 02, 2009 08:08 PM
1) Tackling the horizontal-only case separately from the 3D case seems unnecessary and potentially problematic. Better to have a more-general parametized framework for dealing with "mixed-order" Ambisonics. The same thinking suggests that having just one number for "Ambisonic order" would be too simplistic.

2) Requiring the normalization coefficient of each component to always be individually specified would be too heavy. There should be the option of simply identifying the overall normalization scheme.

3) I am surprised to see absolutely no mention of backward compatibility as a possible consideration. EG with the Ambisonics portion of MPEG-4 Part 11.

4) I question the idea of switching to the component sequence that is used in computer graphics. Why not stick with the Gerzon Ambisonic sequence and its associated "Single Index Identifier", as are familiar from Daniel's thesis and papers and from the Ambisonics portion of MPEG-4 Part 11. (See also the document at <http://ambisonics.googlegro[…]nent+sequences+V09.PDF>.)

5) Where appropriate, default values should be established.

6) Regarding nomenclature.. Different authors have used the m and n indices different ways around, so it is probably a good idea to move to the more-modern convention: l (for degree) and m (for zonal wavenumber).

7) The document says <<The normalization coefficients should relate to the 'not-normalized SH'>>. I wonder why. Consider instead taking the unit-power normalized spherical harmonics as the reference. Or perhaps the orthonormal harmonics, i.e. including the 1/sqrt(4pi) term.

8) The document outlines some segment-based schemes for "reduced channel Ambisonics". At present these have some question-marks over them. Perhaps these schemes will be better illuminated, e.g. in a paper at the Symposium.

Chris Travis