The entropy encoding/decoding of the azimuth and the elevation indexes in some embodiments may be implemented using a Golomb Rice encoding method with two possible values for the Golomb Rice parameter. In some embodiments the entropy coding may also be implemented using any suitable entropy coding technique (for example Huffman, arithmetic coding ...). In some embodiments when encoding/decoding the elevation index there may be a couple of exceptions, for the cases where the number of bits used for quantization is less or equal to 3. For these case there is only one elevation value, therefore the index of the elevation need not be encoded/decoded and only the azimuth index is needed. If all time-frequency blocks for one sub-band are using less than 4 bits then no bit is sent for the elevation encoding, otherwise, one bit is sent to specify the Golomb Rice parameter and the rest of the bits correspond to the Golomb Rice codes for the time-frequency blocks that use more than 3 bits. The Golomb Rice parameter is 1 or 0. The selection of the GR parameter value is based on the estimated bit consumption in each case and selecting the one with less bits. This may for example be implemented using the following C code short decode elevation ((/DIRECTION * qdirection, unsigned snort * bitstream, int * pbit_pos, short j, short subframes) { short nr_NO_INDEX, nbits; int bit_pos; unsigned char byteBuffer; short k , GR ord elevation, nb; $^{n r}$_$^{N0}$_ INDEX = ° • nbits = 0 ; bit_pos = *pbit_pos; for(k=0;k< subframes; k++) { if (qdirection->bits_sph_idx [j] [k] >0) { if (qdirection->bits sph idx[j] [k] <= 3 ) { qdirection-helevation index[j] [k] = NO INDEX; n r _ $^{N 0}$_ INDEX + = • qdirection-helevation [j] [k] = 0 ; }