QUANTIZATION OF SPATIAL AUDIO DIRECTIONAL PARAMETERS

DE602020044247T2Active Publication Date: 2025-01-01NOKIA TECHNOLOGIES OY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE602020044247
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-08-16
Filing Date
2020-07-27
Publication Date
2025-01-01
Estimated Expiration
2040-07-27

AI Technical Summary

Technical Problem

Conventional audio encoding systems fail to accurately represent spatially coherent features in synthetic sound scenes, such as 5.1 or 7.1 loudspeaker mixes, using direction and energy ratio parameters, and struggle with encoding audio objects with directional metadata like azimuth and elevation values, leading to non-uniform direction distributions and sensitivity to frame erasure errors.

Method used

The proposed system employs a directional index for audio objects, differential encoding with a prediction streak limiter, and audio object vector-based difference encoding, using a spherical quantizer and indexer to ensure accurate spatial audio parameterization and robust encoding of directional information, incorporating azimuth and elevation values, and adjusting quantization resolution based on spatial extent and available bitrate.

Benefits of technology

This approach enables efficient encoding and decoding of spatial audio parameters, ensuring accurate spatial audio synthesis and robustness against frame erasure errors, while optimizing bitrate usage and maintaining perceptual quality in immersive audio applications like IVAS.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

Field

[0001] The present application relates to apparatus and methods for sound-field related parameter encoding, but not exclusively for direction related parameter encoding of audio objects for an audio encoder.Background

[0002] Parametric spatial audio processing is a field of audio signal processing where the spatial aspect of the sound is described using a set of parameters. For example, in parametric spatial audio capture from microphone arrays, it is a typical and an effective choice to estimate from the microphone array signals a set of parameters such as directions of the sound in frequency bands, and the ratios between the directional and non-directional parts of the captured sound in frequency bands. These parameters are known to well describe the perceptual spatial properties of the captured sound at the position of the microphone array. These parameters can be utilized in synthesis of the spatial sound accordingly, for headphones binaurally, for loudspeakers, or to other formats, such as Ambisonics.

[0003] The directions and direct-to-total energy ratios in frequency bands are thus a parameterization that is particularly effective for spatial audio capture.

[0004] A parameter set consisting of a direction parameter in frequency bands and an energy ratio parameter in frequency bands (indicating the directionality of the sound) can be also utilized as the spatial metadata for an audio codec. For example, these parameters can be estimated from microphone-array captured audio signals, and for example a stereo signal can be generated from the microphone array signals to be conveyed with the spatial metadata. The stereo signal could be encoded, for example, with an AAC encoder. A decoder can decode the audio signals into PCM signals, and process the sound in frequency bands (using the spatial metadata) to obtain the spatial output, for example a binaural output.

[0005] The aforementioned solution is particularly suitable for encoding captured spatial sound from microphone arrays (e.g., in mobile phones, VR cameras, stand-alone microphone arrays). However, it may be desirable for such an encoder to have also other input types than microphone-array captured signals, for example, loudspeaker signals, audio object signals, or Ambisonic signals.

[0006] Analysing first-order Ambisonics (FOA) inputs for spatial metadata extraction has been thoroughly documented in scientific literature related to Directional Audio Coding (DirAC) and Harmonic planewave expansion (Harpex). This is since there exist microphone arrays directly providing a FOA signal (more accurately: its variant, the B-format signal), and analysing such an input has thus been a point of study in the field.

[0007] A further input for the encoder is also multi-channel loudspeaker input, such as 5.1 or 7.1 channel surround inputs.

[0008] However, with respect to input audio objects types to an encoder there may be accompanying metadata which comprises directional components of each audio object within a physical space. These directional components may comprise an elevation and azimuth of an audio object's position within the space.

[0009] EP2830047 discloses efficient object metadata coding concepts in which a metadata decoder is taught which generates reconstructed metadata signals from processed metadata signals. Where a reconstructed metadata signal is a sum of a processed metadata signal, and another already generated reconstructed metadata signal.

[0010] WO2019097018 discloses a method of quantizing and encoding diffuseness and direction parameters and producing a parameter representation comprising information on the encoded diffuseness and encoded direction parameters.

[0011] WO2019129350 discloses a method of quantizing the azimuth and elevation values of a direction parameter by using a spherical grid structure which is by generated by covering a sphere with smaller spheres arranged in circles of spheres.

[0012] The publication "JND-based spatial parameter quantization of multichannel audio signals" EURASIP Journal on Audio, Speech and Music Processing, Vol.2016 no 1, discloses a method of quantizing spatial parameters in which step sizes of the quantizers are assigned according to JND values of azimuths in a full circle.

[0013] Draft of the 2 nd< edition of ISO / IEC 23008-3 "High Efficiency Coding and Media Delivery in Heterogeneous Environments - 3D audio", 116 MPEG meeting discloses 3D Audio encoding / decoding systems that are able to operate a low bitrates appropriate for efficient transmission over a cellular channel.Summary

[0014] The invention is set out in the appended set of claims.Summary of the Figures

[0015] For a better understanding of the present application, reference will now be made by way of example to the accompanying drawings in which: Figure 1 shows schematically a system of apparatus suitable for implementing some embodiments; Figures 2a and 2b show schematically the audio object encoder as shown in figure 1 according to some embodiments; Figure 3 shows schematically a quantizer resolution determiner as shown in figure 2b according to some embodiments; Figure 4 shows schematically a spherical quantizer & indexer implemented as shown in figure 2b according to some embodiments; Figure 5 shows schematically example sphere location configurations as used in the spherical quantizer & indexer and the spherical de-indexer as shown in figure 4 according to some embodiments; Figures 6a, 6b, and 6c show flow diagrams of the operation of the audio object encoder as shown in figures 2a and 2b according to some embodiments; Figures 7a and 7b show schematically the audio object decoder as shown in figure 1 according to some embodiments; Figures 8a and 8b show flow diagrams of the operation of the audio object decoder as shown in figures 7a and 7b according to some embodiments; and Figure 9 shows schematically an example device suitable for implementing the apparatus shown. Embodiments of the Application

[0016] The following describes in further detail suitable apparatus and possible mechanisms for the provision of effective spatial analysis derived metadata parameters for multi-channel input format audio signals and input audio objects. In the following discussions multi-channel system is discussed with respect to a multi-channel microphone implementation. However as discussed above the input format may be any suitable input format, such as multi-channel loudspeaker, ambisonic (FOA / HOA) etc. It is understood that the channel location is based on a location of the microphone or is a virtual location or direction. Furthermore the output of the example system is a multi-channel loudspeaker arrangement. However it is understood that the output may be rendered to the user via means other than loudspeakers. Furthermore, the multi-channel loudspeaker signals may be generalised to be two or more playback audio signals.

[0017] As discussed previously spatial metadata parameters such as direction and direct-to-total energy ratio (or diffuseness-ratio, absolute energies, or any suitable expression indicating the directionality / non-directionality of the sound at the given time-frequency interval) parameters in frequency bands are particularly suitable for expressing the perceptual properties of natural sound fields. Synthetic sound scenes such as 5.1 loudspeaker mixes commonly utilize audio effects and amplitude panning methods that provide spatial sound that differs from sounds occurring in natural sound fields. In particular, a 5.1 or 7.1 mix may be configured such that it contains coherent sounds played back from multiple directions. For example, it is common that some sounds of a 5.1 mix perceived directly at the front are not produced by a centre (channel) loudspeaker, but for example coherently from left and right front (channels) loudspeakers, and potentially also from the centre (channel) loudspeaker. The spatial metadata parameters such as direction(s) and energy ratio(s) do not express such spatially coherent features accurately. As such other metadata parameters such as coherence parameters may be determined from analysis of the audio signals to express the audio signal relationships between the channels.

[0018] In addition to multi-channel input format audio signals an encoding system is also be required to encode audio objects representing various sound sources within a physical space. Each audio object can be accompanied, whether it is in the form of metadata or some other mechanism, by directional data in the form of azimuth and elevation values which indicate the position of an audio object within a physical space.

[0019] As expressed above an example of the incorporation of direction information for audio objects as metadata is to use determined azimuth and elevation values. However conventional uniform azimuth and elevation sampling produces a nonuniform direction distribution.

[0020] The concept as discussed in further detail in the embodiments as discussed herein other components of the object metadata, such as gain and spatial extent are used to determine the quantization resolution of the directional information for each object. In addition in order to ensure that there are no jumps in the object position the quantization is implemented such that the time evolution of the quantized angle value follows the time evolution of the non-quantized angle values.

[0021] The proposed directional index for audio objects can then be used alongside a downmix signal ('channels'), to define a parametric immersive format that can be utilized, e.g., for the Immersive Voice and Audio Service (IVAS) codec.

[0022] In the following the decoding of such indexed direction parameters to produce quantised directional parameters which can be used in synthesis of spatial audio based on audio object sound-field related parameterization is also discussed.

[0023] With respect to Figure 1 an example apparatus and system for implementing embodiments of the application are shown. The system 100 is shown with an 'analysis' part 121 and a 'synthesis' part 131. The 'analysis' part 121 is the part from receiving the multi-channel loudspeaker signals up to an encoding of the metadata and downmix signal and the 'synthesis' part 131 is the part from a decoding of the encoded metadata and downmix signal to the presentation of the re-generated signal (for example in multi-channel loudspeaker form).

[0024] The input to the system 100 and the 'analysis' part 121 is the multi-channel signals 102. In the following examples a microphone channel signal input is described, however any suitable input (or synthetic multi-channel) format may be implemented in other embodiments.

[0025] The multi-channel signals are passed to a downmixer 103 and to an analysis processor 105.

[0026] The downmixer 103 is configured to receive the multi-channel signals and downmix the signals to a determined number of channels and output the downmix signals 104. For example the downmixer 103 may be configured to generate a 2 audio channel downmix of the multi-channel signals. The determined number of channels may be any suitable number of channels. The downmixer 103 is optional and the multi-channel signals are passed unprocessed to an encoder 107 in the same manner as the downmix signal are in this example.

[0027] The analysis processor 105 is also configured to receive the multi-channel signals and analyse the signals to produce metadata 106 associated with the multi-channel signals and thus associated with the downmix signals 104. The analysis processor 105 may be configured to generate the metadata which may comprise, for each time-frequency analysis interval, a direction parameter 108, an energy ratio parameter 110, a coherence parameter 112, and a diffuseness parameter 114. The direction, energy ratio and diffuseness parameters can i be considered to be spatial audio parameters. In other words the spatial audio parameters comprise parameters which aim to characterize the sound-field created by the multi-channel signals (or two or more playback audio signals in general). The coherence parameters can be considered to be signal relationship audio parameters which aim to characterize the relationship between the multi-channel signals.

[0028] The parameters generated can differ from frequency band to frequency band. Thus for example in band X all of the parameters are generated and transmitted, whereas in band Y only one of the parameters is generated and transmitted, and furthermore in band Z no parameters are generated or transmitted. A practical example of this can be that for some frequency bands such as the highest band some of the parameters are not required for perceptual reasons. The downmix signals 104 and the metadata 106 can be passed to an encoder 107.

[0029] The encoder 107 can comprise an IVAS stereo core 109 which is configured to receive the downmix (or otherwise) signals 104 and generate a suitable encoding of these audio signals. The encoder 107 can be a computer (running suitable software stored on memory and on at least one processor), or alternatively a specific device utilizing, for example, FPGAs or ASICs. The encoding can be implemented using any suitable scheme. The encoder 107 can furthermore comprise a metadata encoder or quantizer 109 which is configured to receive the metadata and output an encoded or compressed form of the information. Additionally, there can also be an audio object encoder 121 within the encoder 107 which in embodiments may be arranged to encode data (or metadata) associated with the multiple audio objects along the input 120. The data associated with the multiple audio objects may comprise at least in part directional data. The encoder 107 may further interleave, multiplex to a single data stream or embed the metadata within encoded downmix signals before transmission or storage shown in Figure 1 by the dashed line. The multiplexing may be implemented using any suitable scheme.

[0030] In the decoder side, the received or retrieved data (stream) can be received by a decoder / demultiplexer 133. The decoder / demultiplexer 133 can demultiplex the encoded streams and pass the audio encoded stream to a downmix extractor 135 which is configured to decode the audio signals to obtain the downmix signals. Similarly, the decoder / demultiplexer 133 can comprise a metadata extractor 137 which is configured to receive the encoded metadata and generate metadata. Additionally, the decoder / demultiplexer 133 can also comprise an audio object decoder 141 which can be configured to receive encoded data associated with multiple audio objects and accordingly decode such data to produce the corresponding decoded data 140. The decoder / demultiplexer 133 can be a computer (running suitable software stored on memory and on at least one processor), or alternatively a specific device utilizing, for example, FPGAs or ASICs.

[0031] The decoded metadata and downmix audio signals can be passed to a synthesis processor 139.

[0032] The system 100 'synthesis' part 131 further shows a synthesis processor 139 configured to receive the downmix and the metadata and re-creates in any suitable format a synthesized spatial audio in the form of multi-channel signals 110 (these may be multichannel loudspeaker format or any suitable output format such as binaural or Ambisonics signals, depending on the use case) based on the downmix signals and the metadata.

[0033] There can be an additional input 120 which may specifically comprise directional data associated with multiple audio objects. One particular example of such a use case is a teleconference scenario where participants are positioned around a table. Each audio object can represent audio data associated with each participant. In particular the audio object can have positional data associated with each participant. The data associated with the audio objects is depicted in Figure 1 as being passed to the audio object encoder 121. In the following examples the encoding of the audio object metadata is based on the additional input 120 audio object information only. It can be possible to also obtain (as shown by the dashed line) audio object metadata determined by the analysis processor 105 according to any suitable analysis method. However the obtaining of this audio object metadata and the use thereof is not herein described in detail.

[0034] The system 100 can thus be configured to accept multiple audio objects with associated metadata such as direction (or position), spatial extent, gain, energy / power values, energy ratios, coherence etc along the input 120 or from the analysis processor 105. The audio objects with the associated directional data may be passed to a metadata encoder / quantizer 111 and a specific audio object encoder 121 for encoding and quantizing the metadata.

[0035] To that extent the directional data associated with each audio object can be expressed in terms of azimuth ϕ and elevation 8, where the azimuth value and elevation value of each audio object indicates the position of the object in space at any point in time. The azimuth and elevation values can be updated on a time frame by time frame basis which does not necessarily have to coincide with the time frame resolution of the directional metadata parameters associated with the multi-channel audio signals.

[0036] In general, the directional information for N active input audio objects to the audio object encoder 121 may be expressed in the form of P q = (θ q , φ q ), q = 0: N - 1, where P q is the directional information of an audio object with index q having a two dimensional vector comprising elevation θ value and the azimuth ϕ value.

[0037] The concept as discussed in further detail hereafter relates specifically to the encoding of the directional information of objects. The directional information part of the metadata consists of azimuth and elevation. Additional or associated information such as object distance, gain, spatial extent is also encoded. The directional information is expressed as the angles for each audio object that should be transmitted at each frame. In some use cases, such as teleconferences, the object positions may be constant or have small variations making the inter-frame differential encoding very efficient from the point of view of bitrate. The concept furthermore attempts to overcome the sensitivity of differential encoding to frame erasure errors.

[0038] Encoding of audio object directions is implemented by the use of differential encoding with a prediction streak limiter and audio object vector based difference encoding. Thus there is employed a joint encoding of the directional information for each object by calculating the angle differences with respect to a rotated first stage super-codevector of pre-determined positions in space where additionally the codevector is based on the space utilization of all the audio objects and furthermore the angle differences encoded using a quantization resolution dependent on the spatial extent of the object.

[0039] Differential encoding is used for a subset of objects which change from frame to frame. The number of objects for which differential encoding is used furthermore depends on the overall codec bitrate available.

[0040] In this regard Figure 2a depicts some of the functionality of the audio object encoder 121 in more detail.

[0041] The audio object encoder 121 comprises an audio object vector generator / rotator 201. The audio object vector generator / rotator 201 is configured to receive the audio object parameters, for example the directions in azimuth and elevation, the spatial extent, object distance, gain etc and from this be configured to generate a generic or template audio object vector (in other words a vector approximating the directions of all of the audio objects). Additionally this vector is then rotated such that at least one of the elements of the vector is aligned with the direction of one of the audio objects (typically the first audio object). This rotation angle is encoded and becomes part of the information associated with the encoded directions which will be stored / transmitted. The audio objects are re-indexed such that the difference between one of the audio objects and one of the elements of the rotated template audio object vector is minimised. The permutation of the re-indexing is then encoded and also becomes part of the information associated with the encoded directions. The rotated template audio object vector and re-indexed directions are then passed to a difference determiner / quantizer 205.

[0042] The audio object encoder 121 comprises a vector difference determiner 205. The vector difference determiner 205 is configured to determine the difference between a re-indexed audio object direction and the associated quantized rotated template audio object vector and pass this to a quantizer and encoder 213.

[0043] The audio object encoder 121 comprises a differential object determiner 203. The differential object determiner 203 is configured to determine for a frame j which of the N audio objects were not encoded in frame j-1 using a differential encoding (in other words which of the audio objects in frame j-1 were encoded using information from frame j-2). In this example the frame limiter is set at one but the prediction streak limit is any suitable number.

[0044] This information is then passed to the difference determiner / quantizer 205 and also to the differential frame determiner 207.

[0045] The audio object encoder 121 comprises a differential frame determiner 207 configured to receive the audio object directions for this frame j and the previous frame j-1 and determine the difference frame to frame. The differential determination of the directional information is implemented in the angle domain, not for the angle differences. In other words, the determined difference is between the elevation at frame j and the elevation at frame j-1 and between the azimuth at frame j and the azimuth at frame j-1. These are then passed to the quantizer and encoder 213.

[0046] The audio object encoder 121 comprises a quantizer and encoder 213. With respect to the received differential frame determiner 207 outputs where the value is a null value difference for both azimuth and elevation, then the quantizer and encoder 213 is configured to separately signal this with one bit (or any suitable indication). In other words, if both angle differences in time are zero, one bit is sent to signal this. If the inter-frame difference is not zero, one bit is used for signaling and the difference is quantized using a spherical grid or other suitable difference grid.

[0047] The quantizer and encoder 213 is configured to determine or calculate the number of bits for the differential encoding based on using a suitable entropy encoding scheme (for example by using the mean removed Golomb Rice coding over all objects which includes the one(s) using the differential encoding method and the ones without).

[0048] The quantizer and encoder 213 also quantize and encode the differences between the re-indexed audio object direction and the associated rotated template audio object vector.

[0049] These differences are then passed to a comparator and selector 215.

[0050] The audio object encoder 121 comprises a comparator and selector 215. The comparator and selector 215 is configured to receive the encoded values based on the encoded vector differences and the encoded differential frames and compare these to determine whether the differential encoding (DE) gives a lower number of bits than the bits allocated to the encoding of differences between a re-indexed audio object direction and the associated rotated template audio object vector. Where the differential encoding using fewer bits then the comparator and selector are configured to use differential encoding and further use a bit or other indicator to signal this. Furthermore the comparator and selector 215 are configured to store this decision that for frame j the object i has used DE (for example by the feedback to the differential object determiner 203). Elsewise the encoded version of the quantized (scalar or spherical grid quantized) differences between a re-indexed audio object direction and the associated rotated template audio object vector is output. Then this decision is indicated (for example using a bit).

[0051] With respect to Figure 6a is shown an example flow diagram showing the operations of the audio object encoder 121 as shown in Figure 2a.

[0052] The first operation is one of receiving / obtaining audio object parameters as shown in Figure 6a by step 601.

[0053] Which objects (i) were not differentially encoded in the previous frame (j-1) is then determined as shown in Figure 6a by step 602.

[0054] Then the audio object vector is determined, rotated and the differences between the re-indexed audio object directions and the associated rotated template audio object vector elements determined as shown in Figure 6a by step 603.

[0055] Also differential values for the identified objects i are determined (direction differences based on this frame and the previous frame) as shown in Figure 6a by step 604.

[0056] The differences (both between the re-indexed audio object directions and the associated rotated template audio object vector elements) and the frame differential values are quantized as shown in Figure 6a by step 605.

[0057] The quantized values are then encoded (using entropy / fixed rate encoding) as shown in Figure 6a by step 607.

[0058] For objects other than i, then the method is configured to select whether to use entropy or fixed rate encoding for the quantized rotated audio object vector and signal this as shown in Figure 6a by step 609.

[0059] For objects i, then the method is configured to select whether to use the differential encoded parameter or the entropy or fixed rate encoding for the quantized rotated audio object vector and signal this as shown in Figure 6a by step 610.

[0060] With respect to Figure 2b is shown an example of the audio object vector generator / rotator 201, vector difference determiner 205 and quantizer and encoder (entropy / fixed rate) 213.

[0061] The audio object vector generator / rotator 201 comprises an audio object parameter demultiplexer (Demux) / encoder 250. The audio object parameter demultiplexer (Demux) / encoder 250 is configured to receive the audio object parameter input 120 and determine or obtain or demultimplex parameters associated with the audio objects from the input. For example as shown in Figure 2b is shown the audio object parameter demultiplexer (Demux) / encoder 250 generating or obtaining otherwise the directions associated with each audio object, a spatial extent associated with each audio object and the energy associated with each audio object. The spatial extent of each audio object is encoded using B0 bits.

[0062] The audio object vector generator / rotator 201 comprises a space utilization determiner 251. The space utilization determiner 251 is configured to receive all of the directions of all of the audio objects and determine the range of the azimuth and elevation which contain all of the audio objects. The utilization of the space based on the audio objects is within a hemisphere (and identify which hemisphere or the centre or mean of the hemisphere), whether all of the audio objects are within a quadrant of the sphere (and identify which quadrant or the centre or mean of the quadrant) or identify whether the range is more than (or less than) a defined range threshold). The results of this determination are encoded (for example using 1 bit to identify which hemisphere, 2 bits to identify which quadrant etc). Thus this information is encoded using B1 bits. The identified space utilization is furthermore passed to the audio object vector generator 202.

[0063] The audio object vector generator / rotator 201 comprises an audio object vector generator 252. The audio object vector generator 252 is arranged to derive a suitable initial "template" direction for each audio object. The initial "template" direction for each object (which can be in a vector format) is generated based on the identified space utilization. For example, the audio object vector generator 252 is configured to generate a vector having N derived directions corresponding to the N audio objects. Where the space utilization of all of the objects is over the complete sphere (in other words not determined to be within a hemisphere, quadrant or other determined range) then the initial "template" directions are distributed around the circumference of a circle. In particular embodiments the derived directions can be considered from the viewpoint of the audio objects directions being evenly distributed as N equidistant points around a unit circle.

[0064] The N derived directions are disclosed as being formed into a vector structure (termed a vector, SP) with each element corresponding to the derived direction for one of the N audio objects. However, it is to be understood that the vector structure is not a necessary requirement, and that the following disclosure can be equally applied by considering the audio objects as a collection of indexed audio objects which do not have to be necessarily structured in the form of vectors.

[0065] The audio object vector generator 252 is thus configured to derive a "template" derived vector SP having N two dimensional elements, whereby each element represents the azimuth and elevation associated with an audio object. The vector SP (for the whole sphere space utilization determination) is then initialised by setting the azimuth and elevation value of each element such that the N audio objects are evenly distributed around a unit circle. This can be realised by initializing each audio object direction element within the vector to have an elevation value of zero and an azimuth value of q ⋅ 360 N where q is the index of the associated audio object. Therefore, the vector SP can be written for the N audio objects as: SP = 0,0 ; 0 , 360 N ; 0,2 ⋅ 360 N ; … ; 0 , N − 1 ⋅ 360 N

[0066] In other words, the SP vector is initialised so that the directional information of each audio object is presumed to be distributed evenly along a unit circle starting at an azimuth value of 0 0< .

[0067] Where the space utilization is determined to be within a hemisphere then the audio object vector generator 252 is configured to derive a "template" derived vector SP (for the hemisphere extent determination) is then initialised by setting the azimuth and elevation value of each element such that the N audio objects are evenly distributed around a half circle. This is realised by initializing each audio object direction element within the vector to have an elevation value of zero and an azimuth value of q ⋅ 180 N where q is the index of the associated audio object. Therefore, the vector SP can be written for the N audio objects as: SP = 0,90 ; 0,90 − 180 N ; 0,90 − 2.180 N ; … ; 0,90 − N − 1 180 N

[0068] In other words, the SP vector is initialised so that the directional information of each audio object is presumed to be distributed evenly along a half circle with a unit radius starting at an azimuth value of 90 0< and extending to -90 0< .

[0069] Similarly where the space utilization is determined to be within a quadrant then the audio object vector generator 252 is configured to derive a "template" derived vector SP (for the quadrant space utilization determination) initialised by setting the azimuth and elevation value of each element such that the N audio objects are evenly distributed around a quarter circle. This is realised by initializing each audio object direction element within the vector to have an elevation value of zero and an azimuth value of q ⋅ 90 N where q is the index of the associated audio object. Therefore, the vector SP can be written for the N audio objects as: SP = 0,45 ; 0,55 − 90 N ; 0,45 − 2.90 N ; … ; 0,45 − N − 1 .90 N

[0070] In other words, the SP vector is initialised so that the directional information of each audio object is presumed to be distributed evenly along a half circle with a unit radius starting at an azimuth value of 45 0< and extending to -45 0< . This can be extended to any suitable extent range. Where the extent in azimuth or elevation differs one or the other of the extents are used to define the template range. Thus for example there may be templates associated with the elevation.

[0071] The derived SP vector having elements comprising the derived directions corresponding to each audio object are then passed to the 1 st< audio object direction rotator 253 in the audio object encoder 121.

[0072] The audio object vector generator / rotator 201 comprises a 1 st< audio object direction rotator 253. The 1 st< audio object direction rotator 253 is configured to receive the derived vector SP and furthermore at least one of the audio object directions. The 1 st< audio object direction rotator 253 is then configured to determine from the direction parameter of the first audio object a rotation angle which orientates the 1 st< audio object with one of the vector elements. The functional block then rotates each derived direction within the SP vector by the azimuth value of the first component φ 0 from the first received audio object P 0 . That is each azimuth component of each derived direction within the derived vector SP is rotated by adding the value of the first azimuth component φ 0 of the first received audio object. In terms of the SP vector this operation results in each element having the following form, SP ^ = 0,0 + ϕ 0 ; 0 , 360 N + ϕ 0 ; 0,2 ⋅ 360 N + ϕ 0 ; … ; 0 , N − 1 ⋅ 360 N + ϕ 0 .

[0073] In terms of just solely the azimuth angles, SP ^ = ϕ ^ 0 ; ϕ ^ 1 ; ϕ ^ 2   ; … ; ϕ ^ N − 1 where φ̂ i is the rotated azimuth component given by i ⋅ 360 N + ϕ 0 and SP ^ is the rotated SP vector.

[0074] As a result of this step the rotated derived vector SP ^ is now aligned to the direction of the first audio object on the unit circle.

[0075] A similar rotation of each derived direction within the SP vector by the azimuth value of the first component φ 0 from the first received audio object P 0 . The first component φ 0 from the first received audio object P 0 is the component which is closest to the mean of all of the components. That is φ 0 closest to φ 0 ,..., φ N-1 . That is each azimuth component of each derived direction within the derived vector SP is rotated such that the mode or one of the two mode vector elements is aligned to the first component. Thus rather than using the first object as reference the others can be tried as well and may result in a finer resolution in the quantization, which allows the use of bits for selecting the reference object.

[0076] As a result of this step the rotated derived vector SP ^ has one element which is aligned to the direction of the first audio object. The rotated derived vector SP ^ can then be passed to a difference determiner 257 and furthermore to an audio object repositioner and indexer 255. Additionally, the rotation angle is passed to a quantizer 256.

[0077] The audio object vector generator / rotator 201 comprises a quantizer 256 configured to receive the rotation angle. The quantizer 256 furthermore is configured to quantize the rotation angle. For example, a linear quantizer with a resolution of 2.5 degrees (that is 5 degrees between consecutive points on the linear scale) results in 72 linear quantization levels. It is to be noted that the derived vector SP would be known at both the encoder and decoder because the number of active objects would be fixed at N. if all the sphere space is used for the vector then in some embodiments B2=7 bits can be used to quantize the rotation in the horizontal space (in some embodiments B2=6 bits are used where only one hemisphere is used, and B2=5 bits are used when only a quadrant is used. The quantized rotation angle is also passed to the difference determiner 207.

[0078] The audio object vector generator / rotator 201 also comprises an audio direction repositioner & indexer 255 configured to reorder the position of the received audio objects to align more closely to the derived directions of the elements of the rotated derived vector SP ^ .

[0079] This is achieved by reordering the position of the audio objects such that the azimuth value of each reordered audio object is aligned with the element position having the closest azimuth value in the rotated derived vector SP ^ . The reordered positions of each audio object are then encoded as a permutation index. This process may comprise the following algorithmic steps: 1. Assigning an index to each active audio object in the order received, as a vector this may be expressed as I = (i 0 , i 1 , i 2 ... i N-1 ). 2. Rearrange all but the first index i 0 , so that an index i i which is currently in position i is moved to position j if the azimuth angle associated with the audio object φ i is closest to the azimuth angle φ̂ j at position j out of all azimuth angles in the rotated derived vector SP ^ .

[0080] For an example comprising four active audio objects. The SP codevector may be initialised evenly along the unit circle as SP = (0, 0; 0, 90; 0, 180; 0, 270). The directional data associated with the four audio objects: θ 0 ϕ 0 ; θ 1 ϕ 1 ; … . θ N − 1 ϕ N − 1 , Can for example be received as: 0,130 ; 0,210 ; 0,39 ; 0,310 , in which the first φ 0 is given as 130 degrees. In this particular example the rotated azimuth angles in the vector SP ^ are given by (0 + 130, 90 + 130, 180 + 130, 270 + 130) = (130; 220; 310; 400) = (130, 220, 310, 40). In this example the second audio object with azimuth angle 210 closest to the second azimuth angle in the vector SP ^ , the third audio object with azimuth angle 30 is closest to the fourth azimuth angle in the vector SP ^ and the fourth audio object with azimuth angle 310 is closest to the third azimuth angle in the vector SP ^ . Therefore, in this case the reordered audio object index vector is Í = (i 0 , i 1 , i 3 , i 2 ).

[0081] 3. The reordered audio object index vector is then be indexed according to the particular permutation of the indices within the vector. Each particular permutation of indices within the vector is assigned an index value. However, it is to be understood that the first index position of the reordered audio object index vector is not part of the permutation of indices as the index of the first element in the vector does not change. That is first audio object always remains in the first position because this is the audio object towards which the derived vector SP is rotated. Therefore, there are a possible (N-1)! permutations of indices of the reordered audio object index vector which can be represented within the bounds of log 2 ((N - 1)!) bits.

[0082] Returning to the above example of a system having 4 active audio objects it is only the indices of i 3 , i 1 , i 2 that need to be indexed. The indexing for the possible permutations of indices of the reordered audio object index vector for the above demonstrative example may take the following form Indexorder of indices of reordered audio objects0i i , i 2 , i 3 1i 1 , i 3 , i 2 2i 2 , i 1 , i 3 3i 2 , i 3 , i 1 4i 3 , i 1 , i 2 5i 3 , i 2 , i 1

[0083] Therefore, to summarize the rotated derived vector SP ^ can be encoded for transmission by quantizing the azimuth of the first object φ 0 . Additionally, the positions of the ordered active audio object positions are required to be transmitted as well. The permutation index can for example be encoded using B3 bits, where the Index, I ro representing the order of indices of the audio direction parameters of the audio objects 1 to N-1 can form part of an encoded bitstream such as that from the encoder 121.

[0084] The difference determiner 205 comprises a vector element difference determiner 257. The vector element difference determiner 257 is configured to receive the rotated derived vector SP ^ the quantized rotation angle and the indexed audio object positions and determine a difference vector between the rotated derived SP ^ vector and the directional data of each audio object. The directional difference vector can be a 2-dimensional vector having an elevation difference value and an azimuth difference value. The azimuth difference value is furthermore evaluated with respect to the difference between the rotated derived vector and the quantized rotation angle. In other words, the difference takes into account the quantization of the rotation angle to reflect the difference between the indexed audio position and the quantized rotation rather than the indexed audio position and the rotation.

[0085] For instance, the directional difference vector for an audio object P i with directional components (θ i , φ i ) is found as Δ θ i , Δ ϕ i = θ i − θ ^ i , ϕ i − ϕ ^ ι q Where φ̂ l q is the quantized rotation angle.

[0086] In practice however, Δθ i may be θ i because the elevation components of the above SP codevector are zero. However, it is to be understood that other embodiments can derive a vector SP in which the elevation component is not zero, in these embodiments an equivalent rotation change may be applied to the elevation component of each element of the derived vector SP. That is the elevation component of each element of the derived vector SP may be rotated by (or aligned to) the first audio object's elevation.

[0087] It is to be understood that the directional difference for an audio object P i is formed based on the difference between each element of the rotated derived vector SP ^ and the corresponding reordered (or repositioned) audio object direction.

[0088] It is to be further understood that the above description has been laid out in terms of repositioning (or rearranging) the order of the audio objects however the above description is equally valid for the repositioning of just the audio direction parameters rather than the repositioning of the whole audio objects. The difference vector may then be passed to a (spherical) quantizer & indexer 259.

[0089] The quantizer and encoder 213 can comprise a quantizer resolution determiner 258. The quantizer resolution determiner 258 is configured to receive the bits used to encode the spatial extent (B0), the encoded space utilization (B1) the encoded permutation index (B3) and encoded difference values (B4). Additionally the quantizer resolution determiner 208 is configured to receive the indication of the audio object spatial extents (the dispersion of the audio objects). The quantizer resolution determiner 258 is then configured to determine a suitable quantization resolution which is provided to the (spherical) quantizer & indexer 259.

[0090] With respect to Figure 3 an example quantizer resolution determiner 258 is shown in further detail. The quantizer resolution determiner 258 as shown in Figure 3 comprises a spatial extent / energy parameter bit allocator 301. The spatial extent / energy parameter bit allocator 301 can be configured to receive the audio object spatial extent values (which describes the spatial extent of each of the audio objects) and determine an (initial) quantization resolution value for the quantization of the difference value between the element of the rotated vector associated with the audio object and the audio object. For example, the (initial) quantization resolution value can be a first quantization level when the spatial extent (the perception of the "size" or "range" of the audio object) is a first value and then a second quantization level when the spatial extent is a second value. For larger values of the spatial extent, lower quantization resolution levels are determined to be used for the angle difference quantization. This is because the directional errors are perceived differently for different spatial extents whereas the spatial extent progresses from 0 degrees (a point source) to 180 degrees (a hemisphere source) then the directional error in order to perceived increases.

[0091] The determination may be based on a look-up table or other formulation such as: Spatial extentNumber of bits for angle difference values01151010920830840750660690512041800

[0092] The number of bits shown above may be based on a cumulated number of bits for both azimuth and elevation quantization. The values in the table are given as example and may be adjusted (dynamically) depending on the total bitrate of the codec.

[0093] Furthermore, the spatial extent / energy parameter bit allocator 301 can be configured to modify the quantization level based on audio signal (energy / power / amplitude) levels associated with the audio object. Thus for example the quantization resolution can be lowered where the signal level is lower than a determined threshold or increased where the signal level is higher than a determined threshold. These determined thresholds may be static or dynamic and may be relative to the signal levels for each audio object. The signal level is estimated using the energy of the signal as given by the mono codec for the object multiplied by the gain of the considered audio object.

[0094] The spatial extent / energy parameter bit allocator 301 can output the number of bits to be used to a quantizer bit manager 303.

[0095] The quantizer resolution determiner 258 as shown in Figure 3 comprises a quantizer bit manager. The quantizer bit manager is configured to receive the number of bits used for the encoded difference values (B4), the encoded permutation index (B3), the quantized rotation angle (B2), the encoded space utilization (B1) and the encoded spatial extents (B0) and compare these against an available number of bits for the object metadata.

[0096] When the number of bits used is more than the available number of bits for the object metadata then the quantization resolution number of bits used can be reduced. The reduction of the quantization resolution can be performed such that the resolution is reduced gradually by 1 bit (for instance) starting with an object having a lower signal level (which can for example be determined by a signal energy multiplied by the gain), until the available number of bits for metadata is reached.

[0097] The managed bits value for the quantization resolution can then be output to the quantizer and indexer 259.

[0098] The quantizer and encoder 213 comprises a (spherical) quantizer & indexer 259. The (spherical) quantizer & indexer 259 receives the directional difference vector (Δθ i , Δφ i ) associated with each audio object and quantize these values using a suitable quantization operation based on the quantization resolution provided by the quantization resolution determiner 258. Thus, for each object directional differences with respect to the components of the rotated super-codevector SP ^ are calculated. The differences can be quantized in the spherical grid corresponding to 11 bits (for 2.5 degrees resolution) by assigning the azimuth difference to the elevation components and the elevation difference to the elevation component. Alternatively the quantization of the differences can be implemented with a scalar quantizer for each component.

[0099] An example (spherical) quantizer & indexer 259 is shown in more detail in Figure 4 where the directional difference vector is shown as being passed to the spherical quantizer 259.

[0100] The following section describes a suitable spherical quantization scheme for indexing the directional difference vector (Δθ i , Δφ i ) for each audio object.

[0101] In the following text the input to the quantizer is generally referred to as (θ, φ) in order to simplify the nomenclature and because the method can be used for any elevation azimuth pair.

[0102] The quantizer & indexer 259 comprises a sphere positioner 403. The sphere positioner is configured to configure the arrangement of spheres based on the quantization resolution value from the quantization determiner. The proposed spherical grid uses the idea of covering a sphere with smaller spheres and considering the centres of the smaller spheres as points defining a grid of almost equidistant directions.

[0103] The sphere may be defined relative to the reference location and a reference direction. The sphere can be visualised as a series of circles (or intersections) and for each circle intersection there are located at the circumference of the circle a defined number of (smaller) spheres. This is shown for example with respect to Figure 5. For example, Figure 5 shows an example 'polar' reference direction configuration which shows a first main sphere 570 which has a radius defined as the main sphere radius. Also shown in Figure 5 are the smaller spheres (shown as circles) 581, 591, 593, 595, 597 and 599 located such that each smaller sphere has a circumference which at one point touches the main sphere circumference and at least one further point which touches at least one further smaller sphere circumference. Thus, as shown in Figure 5 the smaller sphere 581, touches main sphere 570 and smaller spheres 591, 593, 595, 597, and 599. Furthermore, smaller sphere 581 is located such that the centre of the smaller sphere is located on the + / - 90 degree elevation line (the z-axis) extending through the main sphere 570 centre.

[0104] The smaller spheres 591, 593, 595, 597 and 599 are located such that they each touch the main sphere 570, the smaller sphere 581 and additionally a pair of adjacent smaller spheres. For example the smaller sphere 591 additionally touches adjacent smaller spheres 599 and 593, the smaller sphere 593 additionally touches adjacent smaller spheres 591 and 595, the smaller sphere 595 additionally touches adjacent smaller spheres 593 and 597, the smaller sphere 597 additionally touches adjacent smaller spheres 599 and 591, and the smaller sphere 599 additionally touches adjacent smaller spheres 597 and 591.

[0105] The smaller sphere 581 therefore defines a cone 580 or solid angle about the +90 degree elevation line and the smaller spheres 591, 593, 595, 597 and 599 define a further cone 590 or solid angle about the +90 degree elevation line, wherein the further cone is a larger solid angle than the cone.

[0106] In other words the smaller sphere 581 (which defines a first circle of spheres) may be considered to be located at a first elevation (with the smaller sphere centre +90 degrees), and the smaller spheres 591, 593, 595, 597 and 599 (which define a second circle of spheres) may be considered to be located a second elevation (with the smaller sphere centres <90 degrees) relative to the main sphere and with an elevation lower than the preceding circle.

[0107] This arrangement may then be further repeated with further circles of touching spheres located at further elevations relative to the main sphere and with an elevation lower than the preceding circles.

[0108] The sphere positioner 403 thus in some embodiments be configured to perform the following operations to define the directions corresponding to the covering spheres:

[0109] Thus, according to the above the elevation for each point on the circle i is given by the values in θ(i). For each circle above the Equator there is a corresponding circle under the Equator (the plane defined by the X-Y axes).

[0110] Furthermore, as discussed above each direction point on one circle can be indexed in increasing order with respect to the azimuth value. The index of the first point in each circle is given by an offset that can be deduced from the number of points on each circle, n(i). In order to obtain the offsets, for a considered order of the circles, the offsets are calculated as the cumulated number of points on the circles for the given order, starting with the value 0 as first offset.

[0111] In other words, the circles are ordered starting from the "North Pole" downwards.

[0112] In another embodiment the number of points along the circles parallel to the Equator n i = π sin ∂ θ ⋅ i / sin ∂ θ 2 can also be obtained by n(i) = π sin(∂θ · i / λ i sin ∂ θ 2 , where λ i ≥ 1 , λ i ≤ λ i+1 . In other words, the spheres along the circles parallel to the Equator have larger radii as they are further away from the North pole, i.e. they are further away from North pole of the main direction.

[0113] The sphere positioner having determined the number of circles and the number of circles, Nc, number of points on each circle, n(i), i =0, Nc-1 and the indexing order can be configured to pass this information to an ΔEA to DI converter 405.

[0114] The transformation procedures from (elevation / azimuth) (ΔEA) to direction index (DI) and back are presented in the following paragraphs.

[0115] The quantizer and indexer 259 comprises a delta elevation-azimuth to direction index (ΔEA-DI) converter 405. The delta elevation-azimuth to direction index converter 305 is configured to receive the difference direction parameter input direction parameter input (Δθ i , Δφ i ) and the sphere positioner information and convert the difference direction (elevation-azimuth) value to a difference direction index by quantizing the difference direction value.

[0116] The quantized difference direction parameter index I d = (Δθ i q< , Δφ i q< ) may be output to an entropy / fixed rate encoder 260.

[0117] The quantizer and encoder 213 comprises an entropy / fixed rate encoder 260. The entropy / fixed rate encoder 260 is configured to receive the quantized difference direction parameter index I d = (Δθ i q< , Δφ i q< ) and encode these values in a suitable manner. The quantized difference direction parameter index I d = (Δθ i q< , Δφ i q< ) for each object is entropy encoded (for example using a Golomb Rice mean removed encoding) and furthermore using a fixed rate encoding. The entropy / fixed rate encoder 260 can then be configured to determine which of the methods uses the fewer number of bits and chooses this method and furthermore signals this selection as well as the encoded quantized difference direction parameter index I d = (Δθ i q< , Δφ i q< ) values.

[0118] With respect to Figures 6b and 6c is shown a flow diagram showing the operations of the audio object encoder 121 with respect to the vector element difference encoding operations.

[0119] The first operation may be the receiving / obtaining of the audio object parameters (such as directions, spatial extent and energy) as shown in Figure 6b by step 651.

[0120] The spatial extents of the audio objects can then be encoded (B0 bits) as shown in Figure 6b by step 653.

[0121] The space utilization can then be determined as shown in Figure 6b by step 655.

[0122] The space utilization can then be encoded (B1 bits) as shown in Figure 6b by step 657.

[0123] Then the audio object vector can be determined based on the space utilization as shown in Figure 6b by step 659.

[0124] The audio object vector can then be rotated based on the 1 st< audio object direction as shown in Figure 6b by step 661.

[0125] The rotation angle can then be quantized as shown in Figure 6b by step 663.

[0126] The quantized rotation angle can then be encoded (B2 bits) as shown in Figure 6b by step 665.

[0127] Following the rotation of the audio object vector the positions of the audio objects can be arranged to have an order such that the arranged azimuth values of the audio objects correspond to the closest to the azimuth values of the derived directions as shown in Figure 6b by step 667.

[0128] The re-positioned audio objects can be indexed and the permutation of the indices can be encoded (B3 bits) as shown in Figure 6b by step 669.

[0129] The directional difference between each repositioned audio direction parameter and the corresponding rotated derived direction parameter (taking account of the quantization of the rotation angle) can then be formed as shown in Figure 6b by step 671.

[0130] A quantization resolution based on audio object parameters (spatial extent, energy) and comparison of bits used / bit available can then be determined as shown in Figure 6c by step 673.

[0131] Then the directional difference between each repositioned audio direction parameter and the corresponding rotated derived direction parameter can be quantized as shown in Figure 6c by step 675.

[0132] The quantized directional difference can then be encoded using a suitable encoding, for example using an entropy encoding or fixed rate encoding where a selection is based on bits used / whether the number of bits used are more than bit budget (B4 bits) as shown in Figure 6c by step 677.

[0133] The method may then output the encoded spatial extent (B0), encoded extent of all audio objects (B1), quantized rotation angle (B2), encoded permutation index (B3) and encoded difference values (B4).

[0134] An example encoding algorithm may thus be summarized as: 1. Encode the spatial extent using B0 bits 2. Check spatial utilization, if the objects are situated in the entire space, or only in one hemisphere, or maybe only in quarter of the space. Encode this info with B1 = 1 or 2 bits. 3. Calculate the super-codevector rotation such that the quantization is minimized 4. Quantize the rotation angle with a number of bits depending on the choice of the super-codevector (if all the space is used, then use B2=7 bits for rotation in the horizontal space, B2=6 bits if only one hemisphere is used) 5. Encode the permutation corresponding to the order of the last N-1 objects. 6. Encode the rotation angle jointly with the permutation index with B3 bits 7. Calculate for all active objects the direction differences (elevation and azimuth) with respect to the components of the rotated super-codevector 8. Set the number of bits to be used for the differences as B4_i, for each object i, given in Table 1, based on the spatial extent value of each object. 9. If B1 + B3 + B4 +1 + B0 > available number of bits for the object metadata a. Further reduce the number of bits B4_i gradually by 1 bit (for instance) starting with the objects having the lower signal level (signal energy multiplied by the gain), until the available number of bits for metadata is reached. 10. End 11. Find maximum K objects, "i" that have not used differential encoding at frame "j-1" and for which the difference with respect to the previous frame is smaller than a threshold. 12. Quantize the inter-frame angle differences of the objects "i" using the scalar quantizers or the spherical grid quantizer 13. Quantize the angle differences of the all objects using the scalar quantizers or the spherical grid quantizer 14. Update the permutation and permutation index from point 5 to reflect only the objects that are not using DE and estimate the mean removed GR encoding bits when the objects "i" are using DE, Bits_DE 15. Estimate the mean removed GR encoding bits when no DE is used, Bits 16. If Bits_DE<Bits, a. use DE b. add a bit to signal, c. store the fact that for frame "j" the objects "i" have used DE (which objects from those that were allowed to use DE based on the DE usage at preceding frames. d. update the permutation and permutation index from point 5 to reflect only the objects that are not using DE 17. Else a. use the scalar quantizers or the spherical grid quantizer b. send 1 bit to signal. c. store the fact that for frame "j" the objects "i" have not used DE 18. End 19. If the number of bits resulted from the entropy encoding is larger than B4 a. Use B4_i bits for fixed rate encoding the differences (using the scalar quantizers, or the spherical grid quantizer) and add 1 bit for signaling b. Store the fact that no DE has been used (no_DE for each object) 20. Else a. Use the entropy coding and add a bit for signaling 21. End

[0135] In principle the spatial extent relates mostly to the horizontal direction and is less perceived on the vertical one. Should both a vertical and horizontal spatial extent be defined and sent, the angle resolution of the differences can be adjusted separately for the azimuth and the elevation.

[0136] The maximum number of objects that can use simultaneously DE is higher at lower overall bitrates. For instance at bitrates within the range 24.4kbps K=4, at 32kbps, K = 3; at 48kbps, K=2, and K=1 for higher bitrates, until a maximum bitrate where no DE is allowed.

[0137] The following described decoder is not part of the claimed invention according to the appended claims.

[0138] With respect to Figure 7a there is shown an audio object decoder 141 as shown in Figure 1. As can be seen the audio object decoder 141 can be arranged to receive from the encoded bitstream the encoded spatial extent (B0), encoded extent of all audio objects (B1), quantized rotation angle (B2), encoded permutation index (B3) and encoded difference values (B4).

Claims

1. An apparatus for spatial audio signal encoding comprising means configured to: obtain, for a first frame of a multiple audio object signal (120), a plurality of audio direction parameters, wherein each parameter comprises an elevation value and an azimuth value and wherein each parameter has an ordered position; determine (203) whether, for a preceding frame of the multiple audio object signal, any of the plurality of audio direction parameters was differentially encoded based on a difference between the preceding frame parameter elevation value and a further preceding frame parameter elevation value and the preceding frame parameter azimuth value and a further preceding frame parameter azimuth value; generate (207), for any audio direction parameter which was not differentially encoded in the considered preceding frame, a differential parameter value based on a difference between the frame parameter elevation value and a preceding frame parameter elevation value and a difference between the frame parameter azimuth value and a preceding frame parameter azimuth value; generate (201) (205) for each of the plurality of audio direction parameters a difference between the audio direction parameter and a quantized rotated derived audio direction parameter, wherein the quantized rotated derived audio direction parameter is determined by the means being configured to derive (252) for each of the plurality audio direction parameters a corresponding derived audio direction parameter comprising an elevation and an azimuth value, wherein the corresponding derived audio direction parameter is drawn from a configuration of audio direction parameter values given by a spatial utilization parameter representing a range of the azimuth and elevation of the plurality of audio direction parameters; rotate (253) each derived audio direction parameter by a rotation to give the rotated derived audio direction parameter, wherein the rotation is given by the azimuth value of an audio direction parameter in the first indexed position of the plurality of audio direction parameters; and quantize (256) the rotation to determine for each derived audio direction parameter the quantized rotated derived audio direction parameter; reorder (255) audio direction parameters, other than the first indexed audio direction parameter, of the plurality of audio direction parameters to give a reordered audio direction parameter; quantize and encode (213), for each of the plurality of audio direction parameters, the difference between the reordered audio direction parameter and the quantized rotated derived audio direction parameter; encode the order of all but the first indexed audio direction parameters of the plurality of audio direction parameters and encode the spatial utilization parameter; quantize and encode the differential parameter value; select (215) for each of the plurality of audio direction parameters, the encoded quantized difference, the encoded order of all but the first indexed audio direction parameter the encoded spatial utilization parameter and the quantized rotation or the encoded differential parameter value for output to a bitstream; and provide an indication of the selection to the bitstream.

2. The apparatus for spatial audio signal encoding as claimed in claim 1 wherein the means configured to reorder (255) audio direction parameters, other than the first indexed audio direction parameter, of the plurality of audio direction parameters to give a reordered audio direction parameter is configured to: change (255) the ordered indexed position of an audio direction parameter other than the audio direction parameter in the first indexed position to a further indexed position to give the reordered audio direction parameter, wherein the further indexed position coincides with an index position of a rotated derived audio direction parameter when the azimuth value of the audio direction parameter is closest to the azimuth value of the rotated derived audio direction parameter compared to the azimuth values of other rotated derived audio direction parameters.

3. The apparatus for spatial audio signal encoding, as claimed in claim 2, wherein means configured to derive for each of the plurality of audio direction parameters a corresponding derived audio direction parameter comprising an elevation and an azimuth value is configured to derive (252) the azimuth value of each derived audio direction parameter from the configuration of audio direction values that corresponds with a position of a plurality of positions around the circumference of a circle.

4. The apparatus for spatial audio signal encoding, as claimed in Claim 3, wherein the plurality of positions around the circumference of the circle are evenly distributed along one of: 360 degrees of the circle when the spatial utilization parameter defined by the elevation values and the azimuth values of the plurality of audio direction parameters occupy more than a hemisphere; 180 degrees of the circle when the spatial utilization parameter defined by the elevation values and the azimuth values of the plurality of audio direction parameters occupy less than a hemisphere; 90 degrees of the circle when the spatial utilization parameter defined by the elevation values and the azimuth values of the plurality of audio direction parameters occupy less than a quadrant of a sphere; and a defined number of degrees of the circle when the spatial utilization parameter defined by the elevation values and the azimuth values of the plurality of audio direction parameters occupy less than a threshold range of angles of a sphere.

5. The apparatus for spatial audio signal encoding, as claimed in claim 4 wherein the number of positions around a circumference of the circle is determined by a determined number of audio direction parameters.

6. The apparatus for spatial audio signal encoding as claimed in any of claims 1 to 5, wherein the means configured to quantize the difference between the audio direction parameter and the quantized rotated derived audio direction parameter and quantize the differential parameter value comprises determining a difference quantization resolution for each of the plurality of audio direction parameters based on a spatial extent of the audio direction parameters.

7. The apparatus for spatial audio signal encoding as claimed in any of claims 1 to 6, wherein the means configured to determine whether, for a preceding frame, any of the plurality of audio direction parameters were differentially encoded is configured to determine any of the plurality of audio direction parameters were differentially encoded for a determined number of contiguous preceding frames.

8. The apparatus for spatial audio signal encoding as claimed in any of claims 1 to 7, wherein the means configured to generate, for any audio direction parameter which was not differentially encoded in the preceding frame, a differential parameter value is configured to at least one of: generate an indicator based on determining a difference between the frame parameter elevation value and a preceding frame parameter elevation value is less than a determined elevation difference threshold and a difference between the frame parameter azimuth value and a preceding frame parameter azimuth value is less than a determined azimuth difference threshold; and generate, for any audio direction parameter which was not differentially encoded in the considered preceding frame, a differential parameter value based on a difference between the frame parameter elevation value and a preceding frame parameter elevation value and a difference between the frame parameter azimuth value and a preceding frame parameter azimuth value, when a difference between the frame parameter azimuth value and a preceding frame parameter azimuth value is less than a determined azimuth difference threshold.

9. The apparatus for spatial audio signal encoding as claimed in any of claims 1 to 8, wherein the means configured to select (215) for each of the plurality of audio direction parameters, either of the encoded quantized difference or encoded quantized differential parameter value is based on a determination of which requires a fewer number of bits to encode where there are both the encoded quantized difference and the encoded quantized differential parameter value for the audio direction parameter and the encoded quantized difference otherwise.

10. The apparatus for spatial audio signal encoding, as claimed in Claim 1 to 9, wherein the means configured to rotate each derived audio direction parameter by the rotation given by the azimuth value of a audio direction parameter in the first indexed position of the plurality of audio direction parameters is configured to: add the azimuth value of the first indexed audio direction parameter to the azimuth value of each derived audio direction parameter, wherein the elevation value of each derived audio direction parameter is set to zero.

11. The apparatus for spatial audio signal encoding, as claimed in Claims 1 to 10, wherein the rotation is scalar quantized and wherein the means configured to encode the order of all but the first indexed audio direction are configured to index the positions of all but the first indexed audio direction parameters by assigning an index to a permutation of indices representing the order of the positions of all but the first indexed audio direction parameters.