Patent Description:
A stereo audio signal comprises a left channel and a right channel. The left channel of the stereo audio signal is rendered to a left audio output device. The right channel of the stereo audio signal is rendered to a right audio output device.

<CIT> relates to a surround circuit, and more particularly to pseudo stereo and surround mode control in a phase shift surround circuit with a pseudo stereo function. It discloses how a phase shift may be applied to a mono signal to create a pseudo stereo effect.

<CIT> relates to a stereo processing system, wherein, if the level difference between a left channel and a right channel is above a threshold, a gain in the left channel and/or the right channel is adjusted, so as to remove the unbalance.

In an aspect of the invention an apparatus is provided according to claim <NUM>.

Embodiments of the invention are provided in dependent claims <NUM>-<NUM>.

In an embodiment of the invention a computer program is provided that when run by a processor causes the processor to perform the steps of claim <NUM>.

In some but not necessarily all examples, the computer program is configured as an application program for user selection of audio for playback to the user.

According to another aspect of the invention a method is provided according to claim <NUM>.

In some examples, the left audio output device is a left headphone for positioning at or in a user's left ear and the right audio output device is a right headphone for positioning at or in a user's right ear. In some examples, the left and right headphones are provided as in-ear buds. In some examples, the left and right headphones are positioned at a user's ears by a supporting headset.

In some examples, the left audio output device is a loudspeaker for positioning at least partially to the left of a user's position and the right audio output device is a loudspeaker for positioning at least partially to the right of a user's position. The left and right loudspeakers are often positioned in front of and the respective left and right of the intended user position.

Stereo audio signals have been distributed for stereo music and other audio content from the <NUM>. Before that the music and audio was distributed as a mono audio signal (a single channel signal). Up until the <NUM> rendering (reproducing) of music was normally via stereo loudspeakers. In the <NUM> headphones become more popular.

In the early days of stereo music (i.e., in the <NUM> and <NUM>), as the music was rendered only with loudspeakers it was customary to produce the stereo mixes as relatively "extreme", e.g., by positioning one instrument to extreme left and another different instrument to extreme right. This highlighted the effect of stereo rendering in contrast to mono rendering. Later, less "extreme" positioning was used, and both loudspeakers rendered all instruments at least to some degree, however, instruments could be positioned by rendering the instruments at different levels in different channels. The term level can be indicative of amplitude or indicative of energy or indicative of intensity or indicative of loudness. The energy can be estimated as the square of the amplitude.

Teleconferencing systems may also position different participants to extreme directions, in order to enable maximal sound source spacing. While such stereo signals may be good for loudspeaker listening in the case of teleconferencing, they may not be optimal for headphone listening.

At least some of the examples described below conditionally modify a user's listening experience by reducing level differences between the stereo channels when a condition is satisfied. As a result, stereo audio is modified to avoid excessive positioning (e.g., hard-panning or extreme-panning) but is not modified if the stereo audio does not have excessive positioning.

The adaptive processing mitigates excessive level differences between channels of stereo audio signals when needed. Stereo audio content that is lacking extreme positioning is not modified. As a result, the method can be enabled for all music and audio, and it improves listening experience with some signals without harming it with others.

In at least some examples, a user can provide inputs that control the user's listening experience. The user can, in some examples, control at least partially the condition for reducing level differences between the stereo channels. The user can, in some examples, control at least partially the processing used to reduce level differences between the stereo channels. This can, for example, modify one or more of: granularity of processing, the amount of reduction of level differences, smoothing of changes to level difference.

The processing to obtain reduced level differences between the stereo channels does not create a mono channel, the channels remain different stereo channels. The left channel and the right channel are different after a reduction in level difference. Spatial audio cues with the stereo audio are, at least partially, retained.

The FIGs illustrate examples of an apparatus <NUM> comprising means <NUM>, <NUM>, <NUM> for:.

The louder one of the left channel and the right channel is the channel with the higher level. Moving the signal energy changes that level and reduces the level difference between the left and right channels.

The processing of level differences may, for example, take place in broadband or in multiple frequency bands. In at least some examples, the apparatus comprises means for (iii) conditionally, if the level difference <NUM> is above the threshold <NUM> for one or more frequency bands of a plurality of frequency bands, moving signal energy <NUM> for the one or more frequency bands from the louder of the left channel and the right channel to the other of the left channel and the right channel to create the processed left channel and the processed right channel of the processed stereo audio signal.

The level differences between a left channel and a right channel of a stereo audio signal can, for a broadband single band example be a single level difference determined at different times.

The level differences between a left channel and a right channel of a stereo audio signal can, for a multi-frequency band example be multiple level differences determined at different frequencies and different times.

Each of the functions (i), (ii), (iii), (iv) (and other functions described below) can be performed automatically or semi-automatically. The term automatically means that the function is performed without any need for user input at the time of the performance of the function. In some circumstances the user may need to have performed a set-up procedure in advance to set parameters that are re-used for subsequent automatic performances of the function. If a function is performed automatically, in some circumstances it can be performed transparently with respect to the user at the time of its performance. That is no indication is provided to the user at the time of performing the function that the function is being performed. The term semi-automatically means that the function is performed but only after user input at the time of the performance of the function. The user input can, for example, be a confirmatory input or other input.

Therefore in at least some examples the apparatus is configured to automatically reduce level differences between stereo channels. In some example, this can be transparent to the user.

Therefore in at least some examples the apparatus is configured to semi-automatically reduce level differences between stereo channels.

<FIG> illustrates an example of an apparatus <NUM> comprising:.

If the level difference <NUM> is not above the threshold <NUM>, the determining means <NUM> provides a control signal <NUM> that causes means <NUM> to output the original stereo audio signal <NUM>. In the example illustrated, a control signal <NUM> is provided by determining means <NUM> to the analysis means <NUM>, which provides the original stereo audio signal <NUM> to the output means <NUM>.

One or more or all of the analysis means <NUM>, determining means <NUM>, modifying means <NUM> and output means <NUM> can be provided as circuitry.

One or more or all of the analysis means <NUM>, determining means <NUM>, modifying means <NUM> and output means <NUM> can be provided as computer program code executed by circuitry.

<FIG> illustrates an example of a method <NUM> comprising:.

The method <NUM> is conditional. If the level difference <NUM> is above the threshold <NUM>, the method <NUM> moves from block <NUM> to <NUM> else the method <NUM> returns to block <NUM>.

The method <NUM> is iterative. The method <NUM> is repeated for each contiguous time segment of the stereo audio signal <NUM>. In the example illustrated, but not necessarily all examples, the method <NUM> repeats when the processed stereo audio signal <NUM> is output. However, it will be appreciated that processing of the next segment can, in some circumstances, occur sequentially but earlier or occur in parallel.

One or more or all of the blocks <NUM>, <NUM>, <NUM>, <NUM> can be performed by circuitry.

One or more or all of the blocks <NUM>, <NUM>, <NUM>, <NUM> can be caused to be performed by computer program code when executed by circuitry.

<FIG> illustrates another example of an apparatus <NUM>, for example as illustrated in <FIG>.

A stereo audio signal <NUM> is input to the apparatus <NUM>. The stereo signal <NUM> comprises a left channel and a right channel. In the following, the stereo audio signal <NUM> is represented using si(t), where i is the channel index and t is time.

In this example but not necessarily all examples, a time to frequency domain transform <NUM> is used to transform the time-domain stereo signals si(t) to time-frequency domain signals Si(b, n), where b is a frequency bin index and n is a temporal frame index. The transformation can be performed using any suitable transform, such as short-time Fourier transform (STFT) or complex-modulated quadrature mirror filter bank (QMF).

Next, at block <NUM>, levels are determined for the different channel. A different level is determined for each channel, for each frequency band (k), for each consecutive contiguous time period n. In this example, the level is computed in terms of energy.

The frequency bands can be any suitable arrangement of bands. For example, between <NUM> and <NUM> bands may be used. In some but not necessarily all examples, the bands are Bark scale critical bands.

Energy is computed in frequency bands for each channel <MAT> where k is the frequency band index, Blow(k) is the lowest bin of the frequency band k, and Bhigh(k) is the highest bin of the frequency band k, and n is the time index.

In this example, but not necessarily all examples, at block <NUM> a different level is determined for each channel, for each frequency band (k), over an extended time period. The level (energy) estimates are smoothed over time, e.g., by <MAT> where a<NUM> and b<NUM> are smoothing coefficients (e.g., a<NUM> = <NUM> and b<NUM> = <NUM> - a<NUM>).

The smoothed energy level can be a weighted moving average of energy levels for recent time periods, where the weighting more heavily favors more recent time periods.

The louder and the softer of the two channels are determined. The louder channel has a greater level. The corresponding energies <MAT> are set to the Ξ variable, where Ξ<NUM> is the louder of the energies, and Ξ<NUM> the softer. if <MAT> <MAT> else <MAT>.

Next, at block <NUM>, analysis determines level differences <NUM> between the left channel and the right channel of the stereo audio signal <NUM>.

The level difference can, for example, be expressed as a quotient of louder to softer: <MAT>.

The level difference can, for example, be expressed as a subtraction: <MAT>.

In these examples, the relative level measurement is in dB (for energy). If the level Ξ<NUM>(k, n) is expressed in amplitude, instead of energy, the multiplication factor would be <NUM> instead of <NUM>.

The blocks <NUM>, <NUM>, <NUM> provide analysis means <NUM> for analyzing level differences <NUM> between the left channel and the right channel of the stereo audio signal <NUM>. The level differences <NUM> between the left channel and the right channel are analyzed for each frequency band.

Next, at block <NUM>, it is determined if the level difference <NUM> between the channels is above a threshold <NUM>.

The threshold <NUM> can be selected to define excess level differences <NUM> between stereo channels that would be perceived as unpleasant when listening to with headphones. The threshold <NUM> can, in some but not necessarily all examples, be a user adjustable parameter.

For example, if R(k, n) is below a threshold X (e.g., <NUM> dB), the mixing mode is set to "passthrough" mode. Otherwise, the mixing mode is set to "mix" mode. The condition for selecting the mix mode or the passthrough mode is based on the threshold.

If it is determined to use the "mix" mode for signals Si(b, n), (i.e., R(k,n) is above the threshold), some energy should be moved from the louder channel to the softer channel. This creates a processed left channel and a processed right channel of a processed stereo audio signal <NUM>.

If the level difference <NUM> is above the threshold <NUM> for a frequency band, the apparatus <NUM> moves signal energy for that frequency band (but not necessarily other frequency bands) from a louder one of the left channel and the right channel to the other of the left channel and the right channel to create a processed left channel and a processed right channel of a processed stereo audio signal <NUM>.

If it is determined to use the passthrough mode for signals Si(b, n), (i.e., R(k, n) is not above the threshold), then stage of moving energy from the louder channel to the softer channel is bypassed.

If the level difference <NUM> is not above the threshold <NUM> for a frequency band, the apparatus <NUM> bypasses moving signal energy for that frequency band (but not necessarily other frequency bands) from a louder one of the left channel and the right channel to the other of the left channel and the right channel to create a processed left channel and a processed right channel of a processed stereo audio signal <NUM>.

The block <NUM> provides determining means <NUM> for determining if a level difference <NUM> between the left channel and the right channel is above a threshold <NUM>.

Next, at block <NUM>, mixing gains are determined based on the determined mixing mode. First, initial gains g<NUM>(k, n) and g<NUM>(k, n) are computed.

Before reduction of the level difference:.

After reduction of the level difference:.

A first gain g<NUM>(k, n)<NUM> is applied to the louder channel signal Ξ<NUM>(k, n) and the resulting signal (g<NUM>(k, n)<NUM>Ξ<NUM>(k, n) is moved to the softer channel Ξ<NUM>(k, n). The resulting processed softer channel signal Ξ<NUM>(k, n)' is the sum (g<NUM>(k, n)<NUM>Ξ<NUM>(k, n) + Ξ<NUM>(k, n)). A second gain g<NUM>(k, n)<NUM> is applied to the louder channel signal Ξ<NUM>(k, n) to produce a resulting processed louder channel signal Ξ<NUM>(k, n)'.

Gains are not applied to the softer channel signal Ξ<NUM>(k, n). Instead, a part of the louder channel signal (g<NUM>(k, n)<NUM>Ξ<NUM>(k, n) is moved to the softer signal Ξ<NUM>(k, n). The louder channel is attenuated by second gain g<NUM>(k, n)<NUM> so that the total loudness is not affected.

This approach avoids amplifying the softer lower level signal at a low level signal Ξ<NUM>(k, n), which could make any noise audible. Also, the left and right channel signals may be incoherent. Hence, amplifying the softer signal would not actually move the perceived audio source towards center, but, instead, it could just amplify some other audio source. Moving a part of the signal from the louder channel to the softer channel is a better alternative as it does not amplify any signal, and it actually moves the perception of a sound source towards the center.

If mixing is in the "passthrough" mode, the gains can be determined simply by <MAT> <MAT> <MAT> <MAT>.

In this case, it is assumed that there is no excessive positioning, and no need to move energy from louder channel to softer channel.

If mixing is in the "mix" mode, the gains can be determined to move signal energy from a louder one of the left channel and the right channel to the other of the left channel and the right channel to create a processed left channel and a processed right channel of a processed stereo audio signal <NUM>.

The level difference <NUM> between the stereo channels is reduced by moving signal energy from a louder one of the left channel and the right channel to the other of the left channel and the right channel. The level difference between the processed left channel and the processed right channel of the processed stereo audio signal <NUM> is less than the determined level difference between the left channel and the right channel of the original stereo audio signal <NUM>.

Thus if the inter-channel level difference is above the threshold for a frequency band, signal energy for that frequency band (but not other frequency bands) is moved from a louder one of the left channel and the right channel to the other of the left channel and the right channel to create a processed left channel and a processed right channel of a processed stereo audio signal.

In some but not necessarily all examples, the derived gains for the mix mode can fulfil at least two criteria. First, energy is moved from the higher level channel to the lower level channel. Second the resulting audio signals (after the gains have been applied) should have the same total energy as the original signals.

Before reduction of the level difference: the lower energy signal is Ξ<NUM>(k, n) and the higher energy signal is Ξ<NUM>(k, n).

After reduction of the level difference: the lower energy signal has become Ξ<NUM>(k, n)' = (g<NUM>(k, n)<NUM>Ξ<NUM>(k, n) + Ξ<NUM>(k, n)) and
the higher energy signal has become Ξ<NUM>(k, n)' = (g<NUM>(k, n)<NUM>Ξ<NUM>(k, n)).

Then because the resulting audio signals (after the gains have been applied) should have the same total energy as the original signals, i.e., <MAT>.

Let us define a target level difference T(k, n)'. The gains g<NUM>(k, n) and g<NUM>(k, n) can then be expressed in terms of g<NUM>(k, n) , g<NUM>(k, n) , Ξ<NUM>(k, n), Ξ<NUM>(k, n).

For example let T(k, n)' be the target ratio of levels after the gains have been applied, where the levels are measure as energy <MAT>.

Substituting into the constant energy equation: <MAT>.

Results is the following gains: <MAT> <MAT>.

The gain g<NUM>(k, n) relates to an estimated instantaneous need for moving energy from one channel to another. The gain g<NUM>(k, n) relates to a need for conservation of energy.

Let us define a target level difference T(k, n) (in dB) <MAT> or <MAT>.

Let us define a function F that relates the actual level difference R to the target level difference i.e. T=F(R), where R≥X.

The target level difference T is then a function dependent upon the determined level difference (R). When the determined level difference (R) is above the threshold (X), then the target level difference is less than the determined level difference (R).

In some but not necessarily all examples, the target level difference T has a maximum value Tmax at least when the determined level difference (R) exceeds a saturation value Rsat.

In some but not necessarily all examples, the target level difference T is monotonically increasing between a minimum value Tmin and a maximum value Tmax.

In some but not necessarily all examples the function, at least when the determined level difference (R) is initially above the threshold (X), is a monotonically increasing function that has a gradient (dT/dR) that is less than <NUM>.

In some but not necessarily all examples the function, at least when the determined level difference (R) is initially above the threshold (X), is a linearly increasing function that has a gradient (dT/dR) that is less than <NUM>.

In some but not necessarily all examples the function is adaptable by a user. For example, the user could adapt one of more of X, Rsa, Tmin, Tmax, the gradient dT/dR.

<FIG> illustrates an example of a function F, where T=F(R).

In this example: <MAT> where m><NUM>, Tmin =X.

Energy is moved from the louder channel to the quieter channel, and the louder channel is re-scaled using: <MAT> <MAT>
<IMG>.

Energy is moved from the louder channel to the quieter channel, and the louder channel is re-scaled. A first gain g<NUM>(k, n) is used to re-scale a signal level S<NUM>(k, n) of the louder channel to provide the processed channel <MAT>. A second gain g<NUM>(k, n) is used to define the signal energy moved from the louder channel S<NUM>(k, n) to the other processed channel <MAT>.

Energy is moved from the louder channel to the quieter channel, and the louder channel is re-scaled. A first gain g<NUM>(k, n) is used to re-scale a signal level S<NUM>(k, n) of the louder channel to provide the processed channel <MAT>. A second gain g<NUM>(k, n) is used to define the signal energy moved from the louder channel S<NUM>(k, n) to the other processed channel <MAT>.

In some but not necessarily all examples, the movement of signal energy between channels can be smoothed over time. For example, the first gain and the second gain can be smoothed over time.

In some but not necessarily all examples, the second gain gr<NUM>(k, n) used for a current time frame is based on a weighted summation of a putative second gain g<NUM>(k, n) for the current time frame and at least a used second gain gr<NUM>(k, n - <NUM>) for a (immediately) preceding time frame. The first gain gr<NUM>(k, n) used for a current time frame is based on a weighted summation of a putative first gain for the current time frame g<NUM>(k, n) and at least a used first gain gr<NUM>(k, n - <NUM>) for a (immediately) preceding time frame. For example,
<IMG>.

When <MAT>, the second gain for a current time frame is gl<NUM>(k, n), the putative second gain for the current time frame is g<NUM>(k, n), the second gain for a (immediately) preceding time frame is gl<NUM>(k, n - <NUM>), the first gain for a current time frame is gl<NUM>(k, n), the putative first gain for the current time frame g<NUM>(k, n) and the first gain for a (immediately) preceding time frame is gl<NUM>(k, n - <NUM>).

The gains are thus smoothed over time. As the louder channel may change over time, the signal may be moved from either channel.

In some but not necessarily all examples, the smoothing is adaptive.

For example, weighting of the weighted summation is adaptable in dependence upon a putative impact of the putative second gain for the current time frame on the level difference <NUM> between the processed left channel and the processed right channel.

For example, the coefficients a and b can depend upon the second gain and the movement of energy between channels.

If the gain g<NUM>(k, n) that determines how much energy is being moved from the louder to the softer channel
is increasing over time then the more recent greater gain is weighted more (a/b is greater), for example the more recent gain is as favored or more favored than previous gains. For example, if <MAT>, then a/b is greater when g<NUM>(k, n) > gr<NUM>(k, n - <NUM>) than when g<NUM>(k, n) < gr<NUM>(k, n - <NUM>).

The weighting of the weighted summation can be biased to decrease the level difference between the processed left channel and the processed right channel more quickly than increase the level difference between the processed left channel and the processed right channel.

If the putative second gain for the current time frame will reduce the level difference <MAT>, between the left channel and the right channel, then it is more heavily weighted in the summation. If the putative second gain for the current time frame will increase the level difference between the left channel and the right channel, then it is less heavily weighted in the summation.

Thus smoothing can for example be asymmetric. Changes in movement of energy over time (e.g. controlled by selection of values of a and b) is more responsive for changes that cause a decrease in the level difference between the processed left channel and the processed right channel than changes that cause an increase in the level difference between the processed left channel and the processed right channel.

The processing is done based which one of the channels is louder. If <MAT>, the processing is, for example, performed as follows
<IMG>
where a<NUM>, b<NUM>, a<NUM>, and b<NUM> are smoothing coefficients (e.g., a<NUM> = <NUM>. <NUM>, b<NUM> = <NUM> - a<NUM>, a<NUM> = <NUM>, and b<NUM> = <NUM> - a<NUM>). The difference between a<NUM> & a<NUM> indicates different weighting of more recent gain. The difference between b<NUM> & b<NUM> indicates different weighting of older gain. The difference between a<NUM> & b<NUM> compared to the difference between a<NUM> & b<NUM> makes movement of energy greater if the movement causes a decrease in the level difference.

Correspondingly, if <MAT>, the processing is performed as follows
<IMG>
where a<NUM>, b<NUM>, a<NUM>, and b<NUM> are the same smoothing coefficients (e.g., a<NUM> = <NUM>. <NUM>, b<NUM> = <NUM> - a<NUM>, a<NUM> = <NUM>, and b<NUM> = <NUM> - a<NUM>).

A mixer <NUM> is controlled by the mixing gains provided by block <NUM> which are dependent upon the mixing mode.

In the "mix" mode some energy is moved from the louder channel to the softer channel. This creates a processed left channel and a processed right channel of a processed stereo audio signal <NUM>. If the level difference <NUM> is above the threshold <NUM> for a frequency band, the apparatus <NUM> moves signal energy for that frequency band (but not necessarily other frequency bands) from a louder one of the left channel and the right channel to the other of the left channel and the right channel to create a processed left channel and a processed right channel of a processed stereo audio signal. <MAT> <MAT>.

If it is determined to use the passthrough mode then the stage of moving energy from the louder channel to the softer channel is bypassed. If the level difference <NUM> is not above the threshold for a frequency band, the apparatus <NUM> bypasses moving signal energy for that frequency band (but not necessarily other frequency bands) from a louder one of the left channel and the right channel to the other of the left channel and the right channel to create a processed left channel and a processed right channel of a processed stereo audio signal. <MAT> <MAT>.

In the mix mode, the mixing gains gl<NUM>(k, n), gr<NUM>(k, n), gr<NUM>(k, n), gl<NUM>(k, n) have been computed in frequency bands k, and they need to be transformed to values for each frequency bin b. This can, e.g., be performed by simply setting the value for the frequency band to each frequency bin inside the frequency band. Using these values, the input signal can be processed <MAT> <MAT>.

The resulting signals <MAT> and <MAT> are transformed back to time domain at block <NUM>. This transform should be the inverse of the transform that was applied at block <NUM>. The resulting signals <MAT> <NUM> are the output of the processing.

The output may also be unmodified input signal <NUM> if the level difference <NUM> is not above the threshold in any frequency band.

The processing described can occur in real time. The apparatus <NUM> is a real-time audio processing apparatus. The processing described can be performed during playback.

In other examples, some or all of the processing described can be performed before playback.

The descriptions above have described processing in the frequency domain. This is optional. The processing can occur in the time domain only. This processing can be understood in the limit of a single (large) frequency bin in a single (large) frequency band.

<FIG> illustrates an example of headphones <NUM> comprising a left-ear audio output device <NUM> and a right-ear audio output device <NUM>. The processed left channel is rendered from the left-ear audio output device <NUM> and the processed right channel is rendered from the right-ear audio output device <NUM>.

In some examples, the headphones <NUM> are the apparatus <NUM> and receive the audio signal <NUM>.

In some examples, the headphones <NUM> are coupled to the apparatus <NUM> and receive from the apparatus <NUM> the audio signals <NUM>,<NUM>.

In some examples, the left audio output device <NUM> is a left headphone for positioning at or in a user's left ear and the right audio output device <NUM> is a right headphone for positioning at or in a user's right ear. In some examples, the left and right headphones are provided as in-ear buds. In some examples, the left and right headphones are positioned at a user's ears by a supporting headset.

If the input stereo signal <NUM> comprises a sound source that is hard-panned (i.e., positioned to only left or right) or extreme-panned (i.e., positioned predominantly to left or right) then it can be reproduced satisfactorily using stereo loudspeakers. However, if that kind of stereo signal is reproduced with headphones, it produces an unnatural perception. In headphone reproduction, the left audio signal is reproduced by the left headphone, and, as a result, it reaches only (or predominantly) the left ear and the right audio signal reaches only the right ear. Hard-panned or extreme-panned audio sources in stereo content, when reproduced by headphones cause inter-aural level differences (ILD) that are very high. Furthermore, the ILDs are very high at all frequencies.

For a natural sound source, ILDs are very small at low frequencies (regardless of the sound source direction) and increase when the frequency is increased (for sound sources on the sides). This is due to frequency-dependent shadowing of the human head. At lower frequencies, the head does not significantly shadow the audio. Thus headphone reproduction of hard-panned or extreme-panned sound sources causes very large ILDs, which causes unnatural ILDs. In practice, this is perceived as unpleasant and unnatural playback. This may be characterized as a "feeling of pressure", or even as slight pain.

The apparatus <NUM> can be used to address this problem and provide improved headphone playback.

The stereo signals are modified when they would not be pleasant to listen to with headphones, and not otherwise. The stereo image is kept unmodified (preserving the spatial impression), unless modifications are needed (in which case spatiality is still maintained but extreme panning effects are softened for enhanced listening comfort).

The apparatus <NUM> can also be used with loudspeaker playback. The processing can be performed as for the headphone playback, but the output stereo signals are forwarded to loudspeakers instead of headphones (the processing may also be different in alternative embodiments). In the case of loudspeaker playback, the apparatus can be used to get more natural stereo mixing instead of extreme, hard-panned mixing.

A use case will now be described. The original signal <NUM> (e.g. "Wild Life" by "Wings"). has level differences <NUM> between the channels of the stereo signals computed using <NUM> frames. There is prominent level difference <NUM> at certain time instants (especially between <NUM> and <NUM> seconds, due to hard-panned keyboards in the right channel). This creates an unpleasant listening experience when listening with headphones. The modified signal <NUM> has different level differences <NUM>. The largest level differences (between <NUM> and <NUM> seconds) will have been made smaller. As a result, the listening experience is made significantly more comfortable for headphone listening. When there are no excess level differences <NUM> in the original signal, the signal <NUM> is not modified and is the same or substantially the same as the original signal.

<FIG> illustrate examples of a system <NUM> comprising an apparatus <NUM> as previously described, and an audio rendering apparatus <NUM>, for example headphones <NUM> comprising a left-ear audio output device <NUM> for rendering the processed left channel and a right-ear audio output device <NUM> for rendering the processed right channel.

In this example a bitstream is retrieved from storage, or it may be received via network. The bitstream can be fed to a decoder, if the audio signals have been compressed, to decode the audio signals. The resulting stereo audio signals <NUM> are fed to excess panning remover <NUM> that comprises analysis means <NUM>, determining means <NUM> and modifying means <NUM>. The excess panning remover <NUM> performs the method <NUM>, an example of which have been described with reference to <FIG>. The excess panning remover <NUM> is provided by software running inside a computer or computing device (e.g. a mobile phone, a personal audio device).

In the example of <FIG>, the excess panning remover <NUM> is provided by code running inside player software. The manufacturer of the player software thus provides improved user experience for headphone listening.

In the example of <FIG>, the excess panning remover <NUM> is provided by code running outside player software <NUM> in a plug-in. The manufacturer of the apparatus <NUM> or the headphones <NUM> can provide the plug-in to provide improved user experience for headphone listening. The plugin could be implemented as stand-alone software by a third party.

<FIG> illustrates an example of a controller <NUM>. Implementation of a controller <NUM> may be as controller circuitry. The controller <NUM> may be implemented in hardware alone, have certain aspects in software including firmware alone or can be a combination of hardware and software (including firmware).

The memory <NUM> stores a computer program <NUM> comprising computer program instructions (computer program code) that controls the operation of the apparatus <NUM> when loaded into the processor <NUM>. The computer program instructions, of the computer program <NUM>, provide the logic and routines that enables the apparatus to perform the methods illustrated in <FIG> or <FIG>. The processor <NUM> by reading the memory <NUM> is able to load and execute the computer program <NUM>.

As illustrated in <FIG>, the computer program <NUM> may arrive at the apparatus <NUM> via any suitable delivery mechanism <NUM>. The delivery mechanism <NUM> may be, for example, a machine readable medium, a computer-readable medium, a non-transitory computer-readable storage medium, a computer program product, a memory device, a record medium such as a Compact Disc Read-Only Memory (CD-ROM) or a Digital Versatile Disc (DVD) or a solid state memory, an article of manufacture that comprises or tangibly embodies the computer program <NUM>. The delivery mechanism may be a signal configured to reliably transfer the computer program <NUM>. The apparatus <NUM> may propagate or transmit the computer program <NUM> as a computer data signal.

Computer program instructions for causing an apparatus to perform at least the following or for performing at least the following:.

The blocks illustrated in the <FIG> or <FIG> may represent steps in a method and/or sections of code in the computer program <NUM>. The illustration of a particular order to the blocks does not necessarily imply that there is a required or preferred order for the blocks and the order and arrangement of the block may be varied. Furthermore, it may be possible for some blocks to be omitted.

Blocks or components that are described or illustrated as connected can, in at least some examples, be operationally coupled. Operationally coupled means any number or combination of intervening elements can exist (including no intervening elements).

As used here 'module' refers to a unit or apparatus that excludes certain parts/components that would be added by an end manufacturer or a user. The apparatus <NUM> can be a module. The computer program <NUM> can be a module.

The audio signal <NUM> can be transmitted as an electromagnetic signal encoding information.

The audio signal <NUM> can be stored as an addressable data structure encoding information.

The signal <NUM> is a signal with embedded data, the signal being encoded in accordance with an encoding process which comprises:.

The above described examples find application as enabling components of: automotive systems; telecommunication systems; electronic systems including consumer electronic products; distributed computing systems; media systems for generating or rendering media content including audio, visual and audio visual content and mixed, mediated, virtual and/or augmented reality; personal systems including personal health systems or personal fitness systems; navigation systems; user interfaces also known as human machine interfaces; networks including cellular, non-cellular, and optical networks; ad-hoc networks; the internet; the internet of things; virtualized networks; and related software and services.

Although embodiments have been described in the preceding paragraphs with reference to various examples, it should be appreciated that modifications to the examples given can be made without departing from the scope of the claims.

The term 'a' or 'the' is used in this document with an inclusive not an exclusive meaning. That is any reference to X comprising a/the Y indicates that X may comprise only one Y or may comprise more than one Y unless the context clearly indicates the contrary. If it is intended to use 'a' or 'the' with an exclusive meaning then it will be made clear in the context. In some circumstances the use of 'at least one' or 'one or more' may be used to emphasis an inclusive meaning but the absence of these terms should not be taken to infer and exclusive meaning.

Claim 1:
An apparatus (<NUM>) comprising means for:
analyzing a level difference (<NUM>) between a left channel and a right channel of a stereo audio signal (<NUM>);
determining if the level difference (<NUM>) between the left channel and the right channel is above a threshold (<NUM>);
conditionally, if the determined level difference is above the threshold (<NUM>): applying a first gain to a louder one of the left channel and the right channel and adding the resulting signal to the other of the left channel and the right channel to create a processed first channel of a processed stereo audio signal (<NUM>); and applying a second gain to the louder one of the left channel and the right channel to create a processed second channel of the processed stereo audio signal (<NUM>), wherein the louder one of the left channel and the right channel is attenuated by the second gain so that a total loudness of the stereo audio signal is not affected.