Where the direction values are 2D then for each sub-band the indices are decoded based on the fixed-rate encoded azimuth indices. With respect to Figure 5 is shown a flow diagram of the decoding of the example encoded bit stream is shown. Thus for example a first operation would be to obtain metadata (azimuth values, elevation values, energy ratios) as shown in Figure 5 by step 501 . Then the method may estimate the initial bit allocation for the directional information based on the energy ratio values as shown in Figure 5 by step 503. The available bit allocation may then be reduced, bits_dir1 [0:N-1][0:M-1] (the sum of the allocated bits = number of available bits left available for decoding the directional information) as shown in Figure 5 by step 505. A bit is then read to determine if all elevation data is 0 or not (2D data). If the directional data is 3D then, as shown in Figure 5 by step 509, Read and decode the spherical indexes for the directional information, obtaining the elevation and azimuth values and reduce 1 bit from the bits for the next subband; else read and decode the entropy encoded indexes for elevation and azimuth, Count the number of bits used in the entropy encoded information, Calculate the difference between the allowed bits for the current subband and the bits used in the entropy encoding and Distribute the difference bits for the next subband; count the number of bits available for last subband (nbjast), where (nbjast — 0) then lastj = N-1 Else LastJ = N; For each subband from j=1 : last_j-1 Read 1 bit to tell is the encoding was fixed rate or variable rate If fixed rate encoding: end for; For each suband from j = lastJ:N: Read end decode fixed rate encoded spherical indexes for the directional data If directional data is 2D then for each subband from j=1 :N: Decode fixed rate encoded azimuth indexes as shown in Figure 5 by step 5 11.