Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
AUDIO SIGNAL SEPARATION AND CROPPING
Document Type and Number:
WIPO Patent Application WO/2023/001850
Kind Code:
A1
Abstract:
A method of cropping a portion of an audio signal captured from a plurality of spatially separated audio sources in a scene, the method comprising: capturing the audio signal with one or more recording devices; separating the audio signal into a plurality of components each associated with one or more of the plurality of audio sources; selecting a spatial region in the scene; determining which of the plurality of components are associated with an audio source positioned outside of the selected spatial region; and cropping the plurality of components associated with an audio source positioned outside of the selected spatial region out of the audio signal.

Inventors:
BETTS DAVID ANTHONY (GB)
MCTAVISH JAMES PETER (GB)
LYNAS JOE PATRICK (GB)
Application Number:
PCT/EP2022/070260
Publication Date:
January 26, 2023
Filing Date:
July 19, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
AUDIOTELLIGENCE LTD (GB)
International Classes:
G10L21/0272
Domestic Patent References:
WO2019016494A12019-01-24
Foreign References:
US20190007780A12019-01-03
GB2548325A2017-09-20
Other References:
ZHAO HANG ET AL: "The Sound of Pixels", 6 October 2018, PATTERN RECOGNITION : 5TH ASIAN CONFERENCE, ACPR 2019, AUCKLAND, NEW ZEALAND, NOVEMBER 26-29, 2019, REVISED SELECTED PAPERS, PART II; [LECTURE NOTES IN COMPUTER SCIENCE], SPRINGER INTERNATIONAL PUBLISHING, CHAM, PAGE(S) 587 - 604, ISBN: 978-3-030-41298-2, ISSN: 0302-9743, XP047635263
CITATION NIKUNEN ET AL: "Object-based Modeling of Audio for Coding and Source Separation Link to publication TUTCRIS Portal", TAMPERE UNIVERSITY OF TECHNOLOGY. PUBLICATION, 1 January 2015 (2015-01-01), XP055701771, Retrieved from the Internet
GARDENER, WG: "Efficient Convolution without Input-output Delay", JOURNAL OF THE AUDIO ENGINEERING SOCIETY, vol. 43, no. 3, 1995, pages 127 - 136, XP000730158
Attorney, Agent or Firm:
MARKS & CLERK LLP (GB)
Download PDF:
Claims:
CLAIMS:

1. A method of cropping a portion of an audio signal captured from a plurality of spatially separated audio sources in a scene, the method comprising: capturing the audio signal with one or more recording devices; separating the audio signal into a plurality of components associated with one or more of the plurality of audio sources; selecting a spatial region in the scene; determining which of the plurality of components are associated with an audio source positioned outside of the selected spatial region; and cropping the plurality of components associated with an audio source positioned outside of the selected spatial region out of the audio signal.

2. The method of claim 1, wherein selecting the spatial region in the scene comprises: on a display of a user device, displaying a spatial representation of the scene; and with a user interface of the user device, selecting the spatial region on the displayed spatial representation.

3. The method of claim 2, comprising: with an image capture device, capturing image data of the scene, and constructing the spatial representation of the scene from the captured image data.

4. The method of claims 1-3, wherein separating the audio signal into a plurality of components comprises performing blind source separation on the captured audio signal.

5. The method of claim 4, wherein performing said blind source separation comprises: converting the captured audio signal to time-frequency domain data comprising a plurality of frames for a plurality of times and frequencies, and constructing a multi-channel filter to operate on said time-frequency data frames to separate the plurality of components by source by calculating a set of filter coefficients corresponding to each source.

6. The method of claim 5 wherein said cropping comprises: selecting and applying the set of filter coefficients of the multi-channel filter corresponding to those sources determined to be inside of the selected spatial region.

7. The method of any preceding claim, wherein determining which of the plurality of components are associated with an audio source positioned outside of the selected spatial region comprises, for each of the plurality of components: calculating phase correlations across a set of possible directions of arrival of the component at the one or more recording devices; calculating a probability of observing the calculated phase correlations; and determining the source is outside of the selected spatial region when the calculated probability is below the threshold, and/or determining the source is inside the of the selected spatial region when the calculated probability is at or above the threshold.

8. The method of claim 7, wherein calculating the probability of observing the calculated phase correlations comprises: ranking the phase correlations, comparing the rankings to rankings of phase correlations in training data.

9. The method of claims 6-8 when dependent on claim 3, wherein the set of possible directions of arrival comprises a set of vectors in a 3D coordinate system of the spatial representation of the scene.

10. The method of claim 7, wherein calculating the probability of observing the calculated phase correlations comprises calculating for each component a probability that a direction in a 3D coordinate system of the scene indicating a direction of arrival of the component at the one or more recording devices belongs to a set of directions in the selected spatial region given a set of phase correlation ranks of the direction.

11. The method of claims 5-10, comprising calculating said phase correlations using a phase transformation method.

12. The method of claim 11 , wherein the phase transformation method comprises a steered response power phase transformation (SRP-PHAT) method.

13. The method of claim 3, comprising cropping out of the image data regions outside of the selected spatial region. 14. The method of any preceding claim, comprising: recognising in the cropped audio signal a speech component, isolating the speech component, and outputting with a playback device the speech component. 15. The method of any of preceding claim, comprising: identifying in the cropped audio signal the component of the plurality of components having the highest volume, and outputting with a playback device the component having the highest volume. 16. An audio-visual system comprising: one or more recording devices configured to capture an audio signal from a plurality of spatially separated audio sources in a scene, a user device comprising a display configured to display a spatial representation of the scene and a user interface for selecting a spatial region on the displayed spatial representation, and one or more processors configured to: separate the audio signal into a plurality of components associated with one of the plurality of audio sources; determine which of the plurality of components are associated with an audio source positioned outside of the spatial region selected with the user interface; and crop the plurality of components associated with an audio source positioned outside of the selected spatial region out of the audio signal. 17. The audio-visual system of claim 16, wherein the user device comprises said one or more recording devices.

18. The audio-visual system of claim 16 or 16, comprising one or more image capture devices configured to capture image data of the scene, and wherein the one or more processors are configured to construct the spatial representation of the scene from the captured image data.

19. The audio-visual system of claim 18, wherein the user device comprises said one or more image capture devices.

20. The audio-visual system of claims 18 or 19, wherein the one or more processors are configured to crop out of the captured image data of the scene regions outside of the selected spatial region.

21. The audio-visual system of claim 20, comprising one or more playback devices configured to output the cropped audio signal and the cropped image data.

22. The audio-visual system of any of claims 16-21, wherein said user device is mobile device.

23. The audio-visual system of claims 16-22, wherein the audio-visual system comprises a video teleconferencing system.

Description:
AUDIO SIGNAL SEPARATION AND CROPPING

TECHNICAL FIELD OF THE INVENTION

This invention relates to a method and audio-visual system for cropping a portion of an audio-signal captured from a plurality of spatially separated audio sources in a scene.

BACKGROUND TO THE INVENTION

Blind Audio Source Separation (BSS) is a technique that takes a multi-microphone audio signal and, without any knowledge of the acoustic scene or the microphone geometry, separates the audio into its constituent sources.

WO/2019/016494 describes techniques for BSS. By way of example, consider the acoustic scene of Figure 1. This comprises four sources S 1 -S 4 with respective audio channels h 1 -h 4 to a recording device, for example a microphone array 10 comprising (in this example) 8 microphones. The aim is to demix the microphone signals to make estimates of the original sources - that is to perform Blind Source Separation or Blind Signal Separation (BSS). We assume minimal information about the sources and the microphone locations. In some applications of BSS, the microphone array may be placed on a table or chair in a social setting or meeting and BSS may be used to separate a desired source, such as a person speaking, from undesired sounds such as other speakers and/or extraneous noise sources.

Using the multi-channel observations x, the example task is to design a multi-channel linear filter w to create source estimates y.

We will assume that there are M microphones/sensors/input channels and S audio sources. In practice there may be more sensors than sources, in which case it is desirable effectively to reduce the number of sensors (“dimension reduction”) so that, for example, a real source is not split across two different reconstructed sources. If the number of sources is greater than the number of sensors this may either be ignored or, more preferably, frames where the extraneous sources are absent are pre-selected for processing. We first describe conversion to the time-frequency domain, then independent component analysis for blind source separation and various additional techniques. STFT framework

We process the audio in the time-frequency domain. There are many ways of transforming time domain audio samples to and from the time-frequency domain and the techniques we describe can be applied inside any such framework. In this illustrative example, we employ Short Time Fourier Transforms (STFTs). In multi-channel audio, the STFTs are applied to each channel separately.

Within this framework we define:

• M is the number of microphones. · S is the number of sources, and we assume S ≤ M.

• F is the number of STFT frequencies.

• T is the number of STFT frames.

In the STFT domain, the source estimate convolution eq(1) becomes a matrix multiplication.

At each frequency we have the M x T observation matrix X f , and an unknown demixing matrix W f such that the demixed output Y f is given by

Here the demixed output Y f is a S x T matrix where s labels sources, and the demixing matrix W f is a M x S matrix. Equivalently, in the description below we refer to a vector of observations of length M, x ft (the input audio data in the time-frequency domain), and to a demixed output vector of length S, y ft (the demixed output audio data in the time- frequency domain). Thus:

ML-ICA Maximum likelihood independent component analysis, ML-ICA is a frequency-domain ICA algorithm that can be applied to the problem of blind source separation. ML-ICA operates in the STFT domain on the multi-channel time-frequency observations X ft to calculate a set of de-mixing matrices W, one per frequency. Here multi-channel refers to the multiple (acoustic) sensor channels, typically microphones, and “frequency” is short for “frequency channel”. The multi-channel observations are stored in a T x F frame buffer X. As new frames are received, the frame buffer can be updated and the de-mixing matrices re-calculated.

Thus for each frequency, ML-ICA designs a demixing matrix W f such that the separated outputs are given by

The de-mixed outputs represent the original audio sources up to a permutation and scaling ambiguity which may be solved separately.

The ML-ICA log likelihood for each frequency is given by (This assumes that the demixed output y is drawn from a Laplace distribution; the subscript “1” indicates the L1 norm).

The objective is to find W f that maximises the likelihood. As we are operating in the complex domain we use the Wirtinger derivative ΔL. Define sign(··· ) as the elementwise complex sign operator. We then have

We do this by iteratively updating the estimate of W f using the natural gradient. The natural gradient is the steepest ascent of L when projected onto an appropriate Riemannian manifold. In the present case we use the manifold of invertible matrices and the natural gradient SW f is given by

With a step size of for each iteration we get

For each frequency, ML-ICA performs the following algorithm:

1. Initialise W r

2. For each iteration k ∈ 1:.K

The algorithm has converged when G=l. Here and later G is a gradient value related to the gradient of the cost function, and closely related to the natural gradient. The number of iterations K can be either be fixed or we can use a convergence criterion such as (where F denotes the Frobenius norm).

Any rank S matrix can be used to initialise W f . In the absence of any prior information, a good candidate is to use principal component analysis and initialise W f to the S most significant components. It will be appreciated that the algorithm is used for each frequency fto determine the set of demixing matrices W.

The main computational burden is steps 2a and 2b which are each O(SMT).

The factor of in calculating G only affects the scaling of the final result and may be ignored in implementations.

The expression of the step size of in terms of T is merely for mathematical convenience. The step size may be changed (reduced) from one iteration to the next, but this is not necessary; in practice a fixed value of m = 0.5 has been found to work well.

Importance weighting Not all frames have equal value. For example an important source may only have a few frames where it’s active, or some frames may be corrupted by an unimportant source such as a door slam. Recent frames may be considered more relevant than older ones, though this is not necessarily the case. The system may therefore weight the frames according to their importance (to the particular problem/application), and this can improve the quality of the source separation.

Assuming we have a process that can identify appropriate weights for each frame λ t t ≥ 0) we can reformulate the ML-ICA using

Without loss of generality, we can assume (analogous to probability, although summing to 1 is not a requirement, because we only need to find W f that maximises the likelihood). The natural gradient algorithm for each frequency then becomes:

1. Initialise 2. For each k ∈ 1:.K a. calculate for each frame . Here the sum over t is over all T frames. The convergence criterion are the same as for standard ML-ICA (and setting gives unweighted ML-ICA as previously described).

Optionally the weights may also vary across frequency as well as across frames. Some example techniques for assigning the weights are described later.

Stochastic gradient-based improvements

A stochastic gradient ascent (or descent) method can be used to improve the performance of the procedure.

Where stochastic gradient ascent (or descent) is used ‘on-line’, for each new frame received, the gradient VL is approximated by the gradient with respect to that fame. For the example of ML-ICA this leads to

The algorithm is then

1. Initialise W f

2. For each frame Note that here G’ is determined from data for a single frame (typically the latest frame) rather than by summing data derived from multiple frames. Thus t refers to the time of the latest frame and the procedure relies upon an approximation to VL rather than the “true” value obtain by summing over all the frames. Importance subsampled stochastic gradient ICA (ISSG-ICA)

We now describe an improvement that uses importance subsampled stochastic gradient ICA. In this technique we use importance sampling to (randomly) choose a group of frames with respective probabilities λ t in order to estimate W f in a more computationally efficient manner (i.e. with less computation, as contrasted with improving the convergence rate).

Let R be a random process that will choose frame t with probability λ t . 1. Initialise

2. For each k ∈ 1:.K a. Use R to choose L k frames b. For each chosen frame c. d.

In step (c) the sum is over the L k chosen frames defined by the random process R. The subscript k implies that L may (but need not be) different from one iteration k to another. For example L k may be adjusted between iterations to maximise the expected convergence of the procedure.

For each iteration one can show that the expected value of G' given W f is the same as G from the importance weighted ICA algorithm, which thus validates the procedure. Under a fairly weak set of assumptions, the procedure can be shown to converge in the mean to a maximum of the importance weighted objective function (thus, broadly speaking, to a best fit of the demixing to the observations).

The main computational burden is steps 2b and 2c which are each O(S 2 L k ).

The efficiency comes because

• On each iteration L k can be much less than T (although more iterations may be required)

• There are no multiplications by λ t in calculating G ’

• The cost of choosing from R can be amortised across all frequencies (assuming that the weights are invariant across frequency) - that is, the same random choice of frames may be used for each of the frequencies.

For uniform weights, R can be replaced with a process of choosing L k frames from T, to avoid unnecessarily computing the update for duplicate chosen frames. In practice this also works with non-uniform weights, but it introduces a bias towards the uniform weighted solution as L k approaches T.

Tuning L k

One can use a training data set, optionally from a variety of environments, to tune L k . The objective is to achieve good performance in as computationally efficient manner as possible. To achieve this one way is to start by looking at the first iteration and choosing a value L1 which gives the best aggregate increase in performance per computation. Having fixed L 1 one goes on to choose L 2 and so forth. To speed up the tuning process, one can increment the number of iterations in steps of 5 rather than one at a time. The exact values forL k will depend upon the microphone array and the desired performance. As an example, using an 8 channel microphone array, an experiment found that weighted ML-ICA needed 30 iterations of 120 frames to achieve a target performance. After tuning, the stochastic gradient version only needed 15 iterations at L k = 20 followed by 25 iterations at L k = 28 to give equivalent performance. This result is a factor of 3 reduction in computational load compared with weighted ML-ICA.

Scaling for stability

One can exploit the scaling and permutation ambiguity of the procedure to improve the stability of the algorithm, and to facilitate the use of a fixed step size parameter m. Prescaling Wf to maximise the likelihood can be performed efficiently in a way that can be rolled into the ICA update equations. However, we propose pre-scaling to minimise the substitute cost function We define a substitute cost function as one whose minimisers correspond to the stationary points of the original equation.

Note that in our case corresponds to the norm of the ICA step in the associated Riemannian manifold. It is generally a better indicator of how close we are to the optimum than the likelihood. It is not always possible to directly minimise however in the case of pre-scaling it can also be done efficiently in a way that can be rolled into the ICA update equations. Consequently pre-scaling to minimise can give us better convergence characteristics and stability than pre-scaling to maximise the likelihood.

There are two versions of pre-scaling; diagonal and scalar rescaling. Both can use a fixed step size, for example μ ≈ 0.5, and give good convergence stability. Both versions have an additional cost of O(S 2 ) which is small compared to the rest of the algorithm. We will demonstrate the scaling algorithm using ISSG-ICA, but pre-scaling can also be applied in a similar manner to ML-ICA, weighted ML-ICA, and in other approaches.

Diagonal rescaling If we analyse the effect of pre-scaling W f by a non-negative real diagonal matrix C, we have

One can therefore calculate G’ without pre-scaling and then minimise with respect to the diagonal elements of C. Noting that the diagonal elements of G' are non- negative real, and we obtain

The update algorithm for each frequency becomes:

1. Initialise W f

2. For each k ∈ 1:.K a. Use R to choose a subset of L k frames b. For each chosen frame c. d. For each e. Scalar rescaling

Minimising with respect to a scalar C gives

Other than the calculation of C the algorithm is the same as the diagonal version. The diagonal version is most useful when there is a significant volume imbalance between the input channels. It can therefore be useful to use diagonal rescaling for the first few iterations then switch to scalar rescaling, which is slightly more computationally efficient.

If the input data has already been normalised in some fashion, for example as part of a dimension reduction step, the diagonal rescaling may be redundant.

Dimension reduction

It will be noted that in the case that there are fewer sources than microphones, the ML- ICA algorithm is constrained to the subspace defined by the initial estimate of W f .

As an optional alternative, the technique of dimension reduction can be used. In dimension reduction, the input data is projected onto a sub space, for example using principal component analysis (PCA), and ICA is applied to the projected data. The simplest form of dimension reduction is to discard microphones but PCA is better (reduced distortion) and may be employed by setting the M xS projection matrix D f to the set of eigenvectors corresponding to the largest eigenvalues of

Thus where the number of sources is less than the number of microphones the microphone observations x f may be pre-processed by a multichannel linear filter D f which has fewer rows than columns:

A square S xS ICA matrix X f ' can then be calculated from X f ' using any of the ML-ICA algorithms described earlier and applied to this projected data

Thus the original demixing matrix is found by

The two methods are mathematically equivalent, but in general dimension reduction is more computationally efficient. Non-square ICA can be advantageous if: 1. The total frame set is very large, and the stochastic subsampled ICA is unlikely to access a given frame more than once over all iterations or

2. The compute architecture is vectorised so that the non-square matrix multiplications come for free. (e.g. a 5x5 matrix/vector product is no more efficient than a 5x8 matrix/vector product).

Frame selection/weiqhtinq

A separate process to the blind source separation process can be used to obtain metadata about the sources present, for example in captured frames stored in a frame buffer as described later. Such metadata may include information such as the source activity envelopes and location information: it is generally an easier problem to obtain this data than to perform the blind source separation (BSS).

The basic principle is to use this metadata to calculate an ‘importance’ value for each frame. We describe below some examples of heuristics which may employ frame metadata to determine an importance metric for a frame; one or more of these approaches may be used separately or in combination. Where a relative importance is defined (‘lower’ or ‘higher’), this may be relative to an average value of an importance metric for the frames. a) Frames that contain loud impulsive events like door slams may be assigned a relatively lower importance metric. b) Frames that are very quiet may be assigned a relatively lower importance metric as they are unlikely to contain useful information for BSS. c) Older frames may be assigned a relatively lower importance metric. d) In a case where there are more sources present than the BSS procedure can separate (i.e. more sources than sensors), one or more of the following techniques may be used: The sources may be classified into “required” and “extraneous” sources. Here “required” refers to a source being required for the purposes of separating a target source from other sources which may either be other potential target sources or one or more sources of interference. Thus a source of interference may be required in the blind source separation procedure so that it can be “tuned out”, that is separated from one or more other sources present. By contrast an extraneous source is one which is not required either as a target source or as a source of interference to remove: It is often better to concentrate on separating the relevant sources and ignore the extraneous ones. Including the extraneous sources in the BSS problem can damage how well the relevant sources are separated, whereas excluding them simply means that a filtered version of the extraneous sources will be present on each output. Excluding the extraneous sources is generally the more palatable option, although clearly perfect exclusion is not always possible. A source may be classified into “required” and “extraneous” based on, for example, one or more of the following. i. Prior information such as a user selected/specific location ii. Identification of a source as a commonly occurring loud source (e.g. a steady fan noise) may be used to define a source as “required” iii. Identification of a source as a recently occurring source may be used to define a source as “required” (the most recently occurring sources are most likely to be active again in future)

Once a classification has been made frames that contain one or more required sources may be given a higher important metric than frames that contain one or more extraneous sources. e) The contribution of (required) sources may be equalised: without equalisation a commonly occurring source will have more influence in the BSS algorithm than an infrequent one.

Once importance metric values or weights have been allocated to the frames the procedure can then use the importance values in updating a frame buffer storing past frames (see below). In particular, rather than overwriting the oldest frames, the procedure can instead choose to overwrite the unimportant frames (that is, a frame with less than a threshold value of importance metric and/or a stored frame with a lower importance metric than the new, incoming frame). This allows the system to make maximum use of the frame buffer to record history relevant to the source separation problem. Preferably, once the frame buffer has been updated, the importance values are recalculated.

Scaling Ambiguity

In the above-described procedure, we may extract the source estimates up to an arbitrary diagonal scaling matrix B f . This is an arbitrary filter, since there is a value of Bf at each frequency (this can be appreciated from the consideration that changing the bass or treble would not affect the independence of the sources). The arbitrary filter can be removed by considering what a source would have sounded like at a particular microphone.

In one approach, conceptually the scaling ambiguity can be resolved by taking one source, undoing the effect of the demixing to see what it would have sounded like at one or more of the microphones, and then using the result to adjust the scaling of the demixing matrix to match what was actually received (heard) - that is, applying a minimum distortion principle. However although this is what is taking place conceptually we only require knowledge of the demixing matrix and it is not necessary to actually undo the effect of the demixing.

The procedure can estimate the sources as received at the microphones using a minimum distortion principle as follows:

Let Wf be a combined demixing filter including any dimension reduction or other pre processing.

Let H f be the Penrose pseudo inverse of This is a minimum distortion projection from the source estimates back to the microphones.

Let S(s) be a selector matrix which is zero everywhere except for one element on the diagonal S(s) ss = 1.

To project source estimate s back to all the microphones we use

Matrix S(s) selects one source s, and equations (25) and (26) define an estimate for the selected source on all the microphones. In equation (26) is an estimate of how the selected source would have sounded at microphones, rather than an estimate of the source itself, because the (unknown) room transfer function is still present.

Frequency permutation

In another technique, the input signals are split into frequency bands and each frequency band is treated independently, and the results at different frequencies are then aligned. Thus in a matrix W f each column corresponds to a source, and the columns of the matrices W f for the frequencies concerned are permuted with the aim that a particular column always corresponds to the same source (column 1 = source 1 and so forth).

The skilled person will be aware of many published techniques for resolving the permutation ambiguity. For example, in one approach this may be done by assuming that when a source is producing power at one frequency it is probably also active at other frequencies.

Source Selection

Oftentimes it is only a subset of the sources that is desired. Because there may be a global permutation, it can be useful to estimate which of the sources are the desired ones - that is, the sources have been separated into independent components but there is still ambiguity as to which source is which (e g. in the case of a group of speakers around a microphone, which source s is which speaker). In addition in some examples, the procedure operates on time slices of the audio (successive groups of STFT frames) and it is not guaranteed that the “physical” source labelled as, say, s = 1 in one group of frames will be the same “physical” source as the source labelled as s = 1 in the next group of frames (this depends upon the initialisation of W, which may, for example, be random or based on a previous group of frames). Source selection may be made in various ways, for example on the basis of voice (or other audio) identification, or matching a user selected direction. Other procedures for selecting a source include selecting the loudest source (which may comprise selecting a direction from which there is most power); and selecting based upon a fixed (predetermined) direction for the application. For example a wanted source may be a speaker with a known direction with respect to the microphones. A still further approach is to look for a filter selecting a particular acoustic source which is similar to a filter in an adjacent time-frequency block, assuming that similar filters correspond to the same source. Such approaches enable a consistent global permutation matrix (P) to be determined from one time-frequency block to another.

In some examples, to match a user-selected direction, knowledge of the expected microphone phase response from the indicated direction may be employed. This can either be measured or derived from a simple anechoic model given the microphone geometry relative to an arbitrary origin. A simple model of the response of microphone j may be constructed as follows:

Given the known geometry for each microphone we can define

• c is the speed of sound.

• is the position of microphone j relative to an arbitrary origin in real space

• is a unit vector corresponding to a chosen direction towards the desired source in the same coordinate system as

• f Hz is the frequency (in Hertz) associated with STFT bin ƒ.-

The far field microphone time delay, τ j , in seconds relative to the origin is then given by

This leads to a phase shift for microphone j of

However the phase response θ jf is determined, the chosen source s is the source whose corresponding column in H f maximises the phase correlation: where the sum j runs over the microphones and is the (complex) frequency/phase response of microphone j in the selected direction. In principle this approach could be employed to select multiple source directions.

The skilled person will appreciate that a similar approach enables one or more source directions to be determined from Hf, for example for weighting a (required or extraneous) source based on source direction.

Low Latency implementation

In some examples of the above-described procedure the output of the procedure may be Y f or additionally or alternatively an output may be the demixing filter W f or Where the output comprises a demixing filter this may be provided in the time- frequency domain or converted back into the time domain (as used in eq(1) above) and applied to the time domain data x t . Where filtering is performed in the time domain the time domain data may be delayed so that the filtering is applied to the time domain data from which it was derived, or (as the calculations can be relatively time-consuming), the filtering may be applied to the current time domain data (thus using coefficients which are slightly delayed relative to the data)

In some real-time applications, such as a listening aid, low latency is desirable. In this case, the filtering may be performed in the time domain using eq(1). The filter coefficients w are updated by using the equation for (“Scaling Ambiguity”, above) to design the filter coefficients asynchronously in the STFT domain. For example, if calculation of the filter coefficients can be performed, say, every second then the coefficients are around 1 second out of date. This presents no problem if the acoustic scene is reasonably static (the speakers do not move around much), so that the filter coefficients are appropriate for later samples. If low latency is not needed, the procedure can use an inverse STFT on the equation for (“Scaling Ambiguity”, above).

Stereo Filtering Finally, a stereo output signal can be created by selecting an appropriate pair of rows from W j in the equation for (“Scaling Ambiguity”, above). This leads to a more natural sounding output which still retains some of the spatial cues from the source.

A problem of blind audio source separation is how to determine which of the separated source or sources are the ones of interest and which ones are not (for example because they are noise or a source such as a slamming door). SUMMARY

In general terms, the present disclosure proposes a method of determining which sources are sources of interest in a manner analogous to video cropping. Consider a video source and multi-microphone audio sources from a captured scene. The video source can be either a live video stream or a video recording of the scene. The audio is separated into its component sources using BSS. The video is displayed, for example on a display such as a screen, and a user indicates a spatial field of view by selecting a region, for example by drawing a shape, on the screen. This may be done by, for example using touch screen functionality on the screen or through some other user interface. The objective is to identify those separated sources that lie in the user specified field of view and to pass them on to the output. This is analogous to video cropping where a portion of the displayed image is selected and the unselected portion is cropped out of the image. Indeed it is envisaged that both types of cropping can be combined into a single action. How the audio outputs are used depends upon the actual application. In one example, the outputs might be mixed and played alongside the cropped video.

Thus, according to a first aspect of the present disclosure, there is provided a method of cropping a portion of an audio signal captured from a plurality of spatially separated audio sources in a scene, the method comprising: capturing the audio signal with one or more recording devices; separating the audio signal into a plurality of components associated with one of the plurality of audio sources; selecting a spatial region in the scene; determining which of the plurality of components are associated with an audio source positioned outside of the selected spatial region; and cropping the plurality of components associated with an audio source positioned outside of the selected spatial region out of the audio signal.

Advantageously, separating out the components of the audio signal according to which source generated the component, for example by using blind source separation on the captured audio signal, allows the component to be cropped out of the audio signal based on the spatial positioning of the source.

In some implementations, performing said blind source separation comprises: converting the captured audio signal to time-frequency domain data comprising a plurality of frames for a plurality of times and frequencies, and constructing a multi-channel filter to operate on said time-frequency data frames to separate the plurality of components by source by calculating a set of filter coefficients corresponding to each source.

In some implementations, said cropping comprises: selecting and applying the set of filter coefficients of the multi-channel filter corresponding to those sources determined to be inside of the selected spatial region.

In some implementations, selecting the spatial region in the scene comprises: on a display of a user device, displaying a spatial representation of the scene; and with a user interface of the user device, selecting the spatial region on the displayed spatial representation. The method may also comprise, with an image capture device, capturing image data of the scene, and constructing the spatial representation of the scene from the captured image data. In some implementations, the method may also comprise cropping out of the image data regions outside of the selected spatial region.

Advantageously, as described above, constructing a spatial representation from captured image data (such as video data) of the scene provides a coordinate system in which the audio cropping (and optionally also image cropping) may be performed.

In some implementations, determining which of the plurality of components are associated with an audio source positioned outside of the selected spatial region comprises: for each of the plurality of components, calculating phase correlations across a set of possible directions of arrival of the component at the one or more recording devices; calculating a probability of observing the calculated phase correlations; and determining the source is outside of the selected spatial region when the calculated probability is below the threshold.

In some implementations, calculating the probability of observing the calculated phase correlations comprises: ranking the phase correlations, and comparing the rankings to rankings of phase correlations in training data.

In some implementations, calculating the probability of observing the calculated phase correlations comprises calculating for each component a probability that a direction in a 3D coordinate system of the scene indicating a direction of arrival of the component at the one or more recording devices belongs to a set of directions in the selected spatial region given a set of phase correlation ranks of the direction

Advantages of this approach, based on combining Bayesian probability with the ranking of the directions from which the components in the audio signal have originated will be described below.

As described in the background section, BSS is known. However, one aspect of the method of the present disclosure is how to associate the separated source streams with the selected field of view or spatial region. The nature of BSS is such that it separates the audio streams on the basis of signal statistics; it generally uses neither location information nor the geometry of the mic array in determining the separation filters. However, most BSS techniques such as Independent Component Analysis (ICA), Independent Vector Analysis (IVA) and Local Gaussian Mixture Models (LGMM) all design a linear demixing filter for each source. These filters do have a spatial response that you can calculate if you know the geometry of the array. Even then, in real world conditions, these spatial responses are very noisy as they are affected by all the room reflections. So one component of the technique that solves this issue is a robust method to estimate the likelihood that the demixing separation filter corresponds to the selected field of view. It is noted that the input envisaged being used with the present disclosure can be a recording of a multi-microphone signal. It is also noted that this type of cropping based upon a spatial field of view should not be confused with cropping in time, which is a common feature in audio editors. As will be appreciated by the skilled person, most multi-microphone methods of BSS work in the time-frequency domain. Examples include Fast Independent Component Analysis (FastICA), Maximum Likelihood Independent Component Analysis(ML-ICA), Independent Vector Analysis (IVA) and Local Gaussian Mixture Models (LGMM). Each of these techniques designs a demixing filter in the time-frequency domain for each source based upon the observed statistics of the audio.

The present disclosure focusses on ML-ICA though it should be understood that the methods described herein can be applied to other sorts of BSS and not just those mentioned above. The techniques described below are thus provided by example only and are not intended to be limiting.

In ML-ICA we use the Short Time Fourier Transform to transform the audio data into the time-frequency domain. In this domain the demixing filter is a simple matrix multiplication as multiplication in the frequency domain is equivalent to convolution in the time domain.

Let

• m be the microphone index

• ƒ be the frequency index

• t be the STFT frame index

• s be the source index

• X fmt be a complex element of the STFT of the multi-microphone audio data

• Y fSt be a complex element of the STFT of the source estimates

• W f be the complex demixing matrix for frequency ƒ with the frequency permutations resolved

So we are estimating the sources using

For ML-ICA we use a complex Laplacian likelihood distribution for the sources. The Laplacian distribution is in some sense the most heavy tailed log concave distribution, and it is this heavy tailed nature of speech and most audio sources that we are leveraging to perform the BSS. We can express the total log-likelihood of the observed microphone data as

We then use an optimisation method such as steepest ascent or natural gradients to find the demixing matrix which maximises the log likelihood.

The above equations only estimate the sources up to a permutation and scaling ambiguity. As shown in the background, we resolve the scaling ambiguity by projecting the source estimates back to the original microphone as follows. Let Hf be the Penrose pseudo inverse of Let S(s ) be a selector matrix which is zero everywhere except for one element on the diagonal S(s) ss = 1

The source estimate for source s at time frequency point t, ƒ is found by

We then have to resolve the permutation alignment problem. Every frequency index can have a different random permutations. We note that the temporal activity of adjacent STFT frequencies is often correlated for a given source. Ideally we would find the permutation for each frequency that maximises some correlation metric of the temporal activity. Unfortunately it is impractical to find the true maximum, so we use a greedy algorithm that iterates across frequency finding the permutation for the next frequency that correlates best with the ones we have already matched. This will give us a local maximum of our correlation metric and is normally good enough to resolve the permutation alignment problem.

Once the relative permutations are resolved, the time domain source estimates can be calculated by taking the inverse STFT or equivalently converting the frequency domain filters to a time domain representation and applying in the time domain. There is nothing in the BSS process that indicates which source estimates correspond to which real world source and it is here where the audio crop concept of the present disclosure is used. We identify which sources are likely to have come from the user selected region and select those ones for the output.

Correctly identifying the source angle from the output source is a very difficult problem. One known method is the Steered Response Power Phase Transformation (SRP- PHAT), which is generally known to be robust in the presence of noise. In the SRP-PHAT we work out the relative time delays between the microphones for a signal arriving from a direction d. Let’s express the direction as a unit vector d in 3-space and the positions of the microphones as x m in the same coordinate system. Accordingly, in some implementations, the set of possible directions of arrival comprises a set of vectors in a 3D coordinate system of the spatial representation of the scene. We also know the speed of sound c. We can therefore work out the time delay for a far field signal relative to an arbitrary origin x (typically one of the microphones) as

The complex phasor at frequency index ƒ and STFT length F is then

Alternatively the value of Φ f (x m , d) can be measured by experimentation to take into account acoustic effects of the microphone array’s housing.

The SRP-PHAT is then defined as

Note that there are many variants of SRP-PHAT including weighted versions etc. To localise a source we then search over a grid of points for d and choose the direction with the highest phase correlation Φ(X,d). However, when we apply SRP-PHAT to the source outputs we discover that the inter mic phasors depend solely on the mixing matrix estimates H f . If we work through the equations we see that

Other BSS methods have similar properties. For example LGMM learns a spatial covariance matrix for each source at each frequency R Sf . You can show that

This becomes exact if R sf is a rank 1 matrix and we get

The problem with these PHAT based methods in BSS is that they tend to become very unreliable when applied to the BSS outputs. If we look at the problem from a Bayesian point of view we find that the phase correlation function is really not well behaved at all. It can often have large secondary peaks due to spatial aliasing and is generally very noisy. The audio cropping method of the present disclosure accordingly solves this problem by advantageously combining Bayesian theory with rank statistics to give a much more robust approach. This combined approach is referred to herein as Bayesian Rank Statistics.

Let’s define the set of directions in the user selected field of view region as D and the set of directions not in the region as D. We can define the source selection problem as finding the probability that source s comes from the selected region. We still use the phase correlations at each frequency but now also use the technique we call Bayesian Rank Statistics which is described below

For each frequency we calculate the phase correlation for source s over the set of directions d ∈ U , where We then sort these phase correlations and rank them rank them as the index of the phase correlation for direction d k in the sorted list. Accordingly, in some implementations, the first parameter by which the plurality of components of the audio signal are ranked is the phase correlation of the possible set of directions of arrival at the recording device. Rank statistics have lots of useful properties:

• The rank of an observation is independent of any monotonic transformation of the data. This property means that the rank is reasonably invariant to the egregious behaviour of the phase correlation.

• The probability of a given rank for any independent identically distributed (i.i.d.) observations is . where N is the number of directions

• The probability of a given rank for any independent but non identically distributed observations is a tractable problem.

These properties mean that we convert the difficult to analyse distributions of the phase correlation into something that is tractable. In doing so we have thrown away some information, but we have created a tractable framework that more than compensates for this loss of information.

First, although we assume that the observations are independent, the ranks are not. This however is easy to analyse. We introduce a state variable z. The set of possible states will eventually relate to whether the source is inside or outside the audio cropping region, but for the moment we treat it as an arbitrary parameter in order to derive the equations for Bayesian Rank Statistics. From Bayes rule we have the joint probability of all the ranks given the state is

As we have assumed that the observations are independent, knowing doesn’t affect the probability that so the ordering of the ranks is independent of the knowing We can define the parameter as the probability of direction d k having rank r in the sub problem of sorting the phase correlations We can now define the following algorithm for calculating

• Sort the phase correlations over the directions and store the ranks in a temporary list L

• Initialise q = 1

• For k = 1 to N - 1

In this algorithm the temporary list L tracks the ranks in the associated subproblems. The first entry in the list on each iteration contains the subproblem rank for direction d k . One consequence of this formula is that if are i.i.d. we get that and that It should be noted that the indexing of the directions is arbitrary so the terms can be factored out in any order. So if our model for any given state has a subset of the phase correlations being i.i.d we can rearrange the algorithm. In particular we might say that only the maximum and/or minimum ranks are not i.i.d. and we can then rearrange the above formulae for a much more compact and efficient algorithm.

With Bayesian rank statistics all we need is to know the parameter which is simply a triangular matrix which we can simply estimate from some training data for each frequency and state. To use training data we apply BSS to recordings where the sources are at known positions. We do this in a manner that covers all of the directions in U with a wide variety of different types of material. To reduce the recording burden it is sensible to record the sources individually and then use artificial mixing to maximise the amount of test scenarios created from the recordings. We then apply BSS to all these different test scenarios. As we know the ground truth we can use an oracle matching algorithm to establish which BSS output corresponds to which true source. Equipped with this we note that p kfSZ ( r) is the likelihood of the rank over a subset of the directions given the state. We can estimate this by looking at the proportion of times that rank is achieved in the parts of our training corpus that match the state. As written this needs a large number of tests to measure with any accuracy. However, if we use some of the simplification assumptions such as only using the maximum/minimum and that all directions behave similarly, we can significantly reduce the amount of training required at the expense of losing some discrimination in the overall algorithm.

The above exposition shows how to calculate the probability of the ranking. Now we can introduce a full Bayesian inference model to solve the audio cropping. In this embodiment of audio crop the states we are going to use are

1 state for each direction z k representing that source estimate s is genuinely at direction d k

■ Optionally one state z noise for source estimate s representing diffuse noise with no associated direction.

We denote the set of possible states as Z.

For each state we can evaluate There are some simple assumptions we can make that reduce the memory usage required and speed up the computation. The main assumption is that the directions not corresponding to the state are all i.i.d. This leads to the The next assumption we can make is that all directions have the same distribution of ranks for their This means we need only store a single vector of length N for each frequency and the algorithm for calculating can be calculated using a simple length N lookup table. For reasons that will become apparent we actually store the log probabilities in the lookup table.

Now we reintroduce the frequency and source indexing. Let , the set of all rankings for source estimate s. Assuming independence between frequencies we get that

Or equivalently

We can introduce some priors on the states as p(z) and then use Bayes rule as

As we have assumed all directions are equivalent, the priors for each z k should be uniform. The prior p(z nolse ) should reflect the a-priori expected likelihood of the source estimate being ambient noise.

We now estimate the probability that source s comes from our audio crop region as We can repeat the exercise for each of the other sources. This gives us a probability of each source estimate coming from our audio crop region.

In other words, rather than attempting to estimate source position or direction based on the distributions of observed phase correlations which are difficult to analyse, we instead turn the observed phase correlations into distributions of ranks which are easier to analyse and which allow us to more accurately and efficiently estimate source position or direction. It should be noted that the above algorithm is just one of many ways you can use the statistics of ranks in a Bayesian framework to estimate the likelihood of a source coming from the audio crop region. For example, one possibility is to use a Hidden Markov Model to introduce some probabilistic model for the evolution of the state z over time. Once we have a probability measure for the likelihood we can decide whether a source is in the audio crop region by applying a simple threshold to the likelihood.

Once we have chosen which sources belong to the selected region we can further refine our selection. The simplest approach is to simply sum the source estimates for the final output. Alternatively a voice activity detector can be used to only let through the sources that look like they contain speech. Accordingly, in some implementations, the method comprises recognising in the cropped audio signal a speech component, isolating the speech component, and outputting with a playback device the speech component. Another method is to only let through the dominant source in the region, which is appropriate in the context of a video call where generally only one person at a time will speak in a conversation. Accordingly, in some implementations, the method comprises identifying in the cropped audio signal the component of the plurality of components having the highest volume, and outputting with a playback device the component having the highest volume.

The present disclosure accordingly finds uses in, for example, allowing a user to control which audio sources are muted according to position in a room. According to a second aspect of the present disclosure, there is provided an audio-visual system comprising: one or more recording devices configured to capture an audio signal from a plurality of spatially separated audio sources in a scene, a user device comprising a display configured to display a spatial representation of the scene and a user interface for selecting a spatial region on the displayed spatial representation, and one or more processors configured to: separate the audio signal into a plurality of components associated with one of the plurality of audio sources; determine which of the plurality of components are associated with an audio source positioned outside of the spatial region selected with the user interface; and cropping the plurality of components associated with an audio source positioned outside of the selected spatial region out of the audio signal.

In some implementations, the user device comprises said one or more recording devices.

In some implementations, the audio-visual system comprises one or more image capture devices configured to capture image data of the scene, and the one or more processors are configured to construct the spatial representation of the scene from the captured image data.

In some implementations, the user device also comprises said one or more image capture devices.

In some implementations, the one or more processors are configured to crop out of the captured image data of the scene regions outside of the selected spatial region.

In some implementations, the audio-visual system comprises one or more playback devices configured to output the cropped audio signal and the cropped image data.

In some implementations, the user device is a mobile device such as a smartphone, tablet, or other portable, smart device able to capture audio and image data.

In some implementations, the audio-visual system comprises a video teleconferencing system.

Advantageously, the above described audio-visual system provides the same advantages as described above in connection with the method according to the present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS These and other aspects of the invention will now be further described by way of example only, with reference to the accompanying figures in which:

Figure 1 is an illustration of an example acoustic scene.

Figure 2 is a spatial representation of the acoustic scene of Figure 1.

Figure 3a is an audio-visual system according to the present disclosure.

Figure 3b illustratively shows an example user interface of an audio-visual system according to the present disclosure.

Figure 3c illustratively shows example architecture of an audio-visual system according to the present disclosure.

Figure 4 illustratively shows example architecture of a spatial filter according to the present disclosure.

Figure 5a illustratively shows an example frame buffer management implementation according to the present disclosure.

Figure 5b illustratively shows an example implementation of a frequency domain filter coefficient determiner according to the present disclosure.

Figure 6 illustratively shows an example of a general purpose computing system programmed to implement an audio-visual system of the present disclosure.

Figure 7 is a flowchart of a method according to the present disclosure.

DETAILED DESCRIPTION

As described above, Figure 1 is an illustration of an example acoustic scene comprising four sources S1-S4 with respective audio channels H1-H4 to a recording device such as a microphone array 10 comprising (in this example) 8 microphones Figure 2 is a spatial representation of the acoustic scene of Figure 1 onto which a simplified heat map of phase correlation values has been overlaid. The spatial representation in this example comprises 2D coordinates system made up of a 8x8 grid of squares indicated by coordinates (1 , 1) to (8, 8) making up a grid 64 unique directions d 1. .64 · In practice, it is envisaged that a spatial representation may comprise a 3D or other coordinate system. Each square is associated with a direction d 1. .64 relative to the recording device 10 position.

In this simplified example, the sources S1, S2, S3 and S4 are respectively at coordinates (1, 8), (7, 7), (7, 2) and (2, 3) which, if the 64 unique directions in the scene start at number 1 for coordinate (1,1) and 64 for coordinate (8, 8) correspond to directions di 5 , d 18, d 57, d 56.

The recording device 10 captures an audio signal which is separated into its constituent components using blind source separation as described above.

The phase correlation values for each of the directions d 1...64 in the grid are calculated (that is, the phase correlation values for directions at coordinates (1, 1) all the way through to (8, 8) are calculated) and, in this simplified example, have the distribution shown in the heat map of Figure 2. The grid squares that contain the sources contain a phase correlation peak, whereas grid squares far from the sources have low phase correlation values. For the sake of example only, let’s say the peak has a phase correlation value of 1, the surrounding directions have a value of 0.5 and the other directions have a value of 0. It is of course noted that, in practice, the distribution of phase correlations are unlikely to be as simple as is shown in Figure 2 and are instead difficult to analyse for the reasons given above.

Assume a user has selected a spatial region indicated by box 201 shown in Figure 2. In this example, the selected region contains only source S3 so the components associated with sources S1, S2, and S3 are to be cropped out.

To determine which of the plurality of components are associated with a source positioned outside of the selected spatial region and which are associated with a source positioned inside the selected spatial region, phase correlation values are ranked in a list, for example by high to low or low to high phase correlation value or some other order. Thus the directions or coordinates corresponding to a peak will be ranked 1 st , the immediately surrounding directions or coordinates will be ranked 2 nd to 9 th and the other directions or coordinates will be ranked 10 th to 64 th . To help illustrate this, let’s consider the example of the 2 nd row of directions, that is, the row of squares indicated by coordinates (1, 2) to (8, 2) corresponding to directions d 9. .16 using the above index notation. A simplified distribution of ranks may be as follows:

Coordinate (7,2) or direction dis has a peak phase correlation value of 1 so is ranked 1 st . Coordinates (1,2), (2,2), (3,2), (6,2), (8,2) or directions d 9 10, 11, 14, 16 have phase correlation values of 0.5 so will be ranked among the directions in the scene having the ranks 2 nd to 9 th . Note that the rank is the index into any valid sorting of the phase correlations such that each phase correlation is less than or equal to the next. This means identical phase correlation values will be assigned consecutive ranks. In practice however noise effects make identical phase correlations highly unlikely. Coordinates (4, 2), (5, 2) or directions d 12 , 13 have phase correlation values of 0 so are ranked among the directions in the scene having the ranks 10 th to 64 th .

Thus, using the index 1...N notation to indicate directions d 1. .64 we might have by way of illustrative example a rank distribution for directions of:

We can follow the same process for all the directions d 1...64 in the scene to obtain the rank distribution If we do the same for all observed frequencies f we obtain the set R s which is the rank distribution across all frequencies and across all directions. We can now compare our current, observed rank distribution with rank distributions from previously captured training data where the source positions or directions were known. This allows us to estimate the probability of observing the rank distribution R s we actually observed, for/given the many possible source positions or directions (described above as states z) in the training data. That is, by comparing the observed rank distribution to training data rank distributions, we can estimate the probabilities: p(R s \z)

As previously described, by using Bayes rule on the now known probabilities p(R s \z) we obtain p(z k \R s ) which allows us to evaluate the expression for the probability that a source s comes from our selected audio crop region 201 :

We then do the same for all the sources s. We can then apply a threshold to the calculated probabilities p(d(s ) e D\R S ) to make the determination as to whether or not a source s is or isn’t in the set of directions D inside the selected spatial region.

When we know which sources are or aren’t inside the selected spatial region, we can simply remove the component or components of the audio signal associated with those sources from the audio signal and it is this removal (based position in the scene) which is referred herein to as cropping. The audio signal can then be passed to a playback device or be processed further.

Figure 3a is an illustration of an audio-visual system 300 according to the present disclosure. The audio-visual system 300 comprises one or more recording devices 301 , for example a microphone array such as that which may be found in a user device 303 such as a smartphone or tablet or other mobile device, configured to capture an audio signal from a plurality of spatially separated audio sources 302a-302d in a scene. It is also envisaged that the one or more recording devices 301 may be separate to the user device 303 and instead communicatively coupled it. The audio-visual system 300 accordingly comprises said user device 303 comprising a display 304 configured to display a spatial representation 305 of the scene. The special representation may, for example, be a graphical rendering of the scene constructed from a video or image of the scene captured by an image capture device 306. As with the one or more recording devices 301, the one or more image capture devices 306 may either be part of the user device 303 or separate thereto, for example in the case of a smartphone, the on board camera may be used or an accessory camera may instead be connected to it. In the case of a videoconferencing system, the image capture device 306 may be a webcam or other accessory such device. The audio-visual system 300 may accordingly comprise one or more processors configured to construct the spatial representation of the scene from the captured image data.

The user device 303 is provided with a user interface for selecting a spatial region on the displayed spatial representation 305. The user interface may be a touchscreen interface allowing the user to drag a shape around a desired spatial region. Alternatively, any other known input interface and/or software may be used to allow a user to select a spatial region on the spatial representation and to associate the selection with the corresponding spatial region in the scene. To indicate the selection, a visual representation of the selection 307, for example an outline around the selected region, may be rendered on the display.

Figure 3b illustratively shows an example user interface 317 of an audio-visual system 300 according to the present disclosure. The user device 303 in this example is a smartphone recording a video of a user 318. The visual representation of the captured video data is displayed on the display of the user device 303. The user interface 317 is provided with a number of known recording and editing options, for example, record video 319, crop image/video 320, timer options 321 and sound options 322. However, in addition to the known editing options and in accordance with the present disclosure, a new crop audio button 323 is provided which prompts the user to drag a selection over the spatial region 3 they would like to keep the audio from. Once the selection 324 has been made, any audio signal components associated with audio sources arriving at the one or more recording devices from directions outside of the selected spatial region may be cropped out of the audio signal in the manner as described above.

It is further envisaged that the user may simultaneously apply the crop image/video 320 and crop audio 323 functionalities at the same time. The user may also be prompted when cropping image/video if they would also like to crop audio to match their image/video cropping selection.

In the example of Figure 3b, the user selection is made using a touchscreen and well known pinch or pull zoom gestures commonly used for by image/video cropping methods to allow a user to make a selection for example of a rectangular area on the display, although other shapes and gesture or selection methods are also envisaged. For example, it is envisaged the user may simply tap a region on the display which will select a spatial region of a predetermined size. For example, the user might tap on the mouth or face of a person in the scene and that would select a correspondingly sized region around that person’s mouth.

As described in connection with the method above, the one or more processors of the audio-visual system 300 are accordingly configured to: separate the captured audio signal into a plurality of components associated with one of the plurality of audio sources 301a-301d; determine which of the plurality of components are associated with an audio source positioned outside of the spatial region selected with the user interface; and crop the plurality of components associated with an audio source positioned outside of the selected spatial region out of the audio signal.

The one or more processors may further be configured to crop out of the captured image data any regions outside of the user’s selection. Thus the user may, in one step, crop both the image data and the audio data thereby providing significant advantages over known methods.

Finally, the audio-visual system 300 comprises one or more playback devices such as a display and/or speakers (not shown) configured to output the cropped audio signal and/or the cropped image/video data.

Figure 3c illustrates example architecture of the audio-visual system 300 of the present disclosure. As described above, the audio-visual system 300 comprises one or more recording devices 302, for example a microphone array with microphones 302a-n, coupled to a multi-channel analogue-to-digital converter 308. This provides a digitised multi-channel audio output 309 to a spatial filter 310 which may be implemented as a multi-channel linear convolutional filter, and to a filter coefficient determiner 311. The filter coefficient determiner 311 determines coefficients of a demixing filter which are applied by spatial filter 310 to extract audio from one (or more) sources for a demixed audio output 314. The filter determiner 311 accepts user input, for example the above described user specified spatial region, and has an output 313 comprising demixing filter coefficients for the selected spatial region. The demixed audio 314 is provided to a digital-to-analogue converter 315 which provides a time domain audio output 316, for example to speakers or headphones or the like, or for storage/further processing (for example speech recognition), communication (for example over a wired or wireless network such as a mobile phone network and/or the Internet), or other uses.

It is assumed that the acoustic scene is quasi-static and thus the filter coefficient determiner 311 and spatial filter 310 can operate in parallel. The latency is then determined by the main acoustic path, and depends upon the group delay of the filter coefficients, the latency of the spatial filter implementation, and the input/output transmission delays. Many different types of spatial filter may be used - for example one low latency filter implementation is to use a direct convolution; a more computationally efficient alternative is described in Gardener, WG (1995), “Efficient Convolution without Input-output Delay”, Journal of the Audio Engineering Society’, 43 (3), 127-136.

The skilled person will recognise that the signal processing illustrated in the architecture of Figure 3c may be implemented in many different ways. For example the filter determiner, in some implementations with the above described user interface, and/or spatial filter and/or DAC 315 may be implemented on a general purpose computing device such as a mobile phone, tablet, laptop or personal computer. In embodiments the microphone array and ADC 308 may comprise part of such a general purpose computing device. Alternatively some or all of the architecture of Figure 3c may be implemented on a dedicated device such as dedicated hardware (for example an ASIC), and/or using a digital signal processor (DSP). A dedicated approach may reduce the latency on the main acoustic path which is otherwise associated with input/output to/from a general purpose computing device, but this may be traded against the convenience of use of a general purpose device.

An example spatial filter 310 for the architecture of Figure 3c is shown in Figure 4. The illustrated example shows a multi-channel linear discrete convolution filter in which the output is the sum of the audio input channels convolved with their respective filter co- efficients, as described in eq(1) in the background section above. In embodiments a multi-channel output such as a stereo output is provided. For a stereo output either the spatial filter output may be copied to all the output channels or more preferably, as shown in Figure 3a, a separate spatial filter is provided for each output channel. This latter approach is advantageous as it can approximate the source as heard by each ear (since the microphones are spaced apart from one another). This can lead to a more natural sounding output which still retains some spatial cues from the source.

Figure 5a shows an example implementation of frame buffer management according the present disclosure. Figure 5 also illustrates time-frequency and frequency-time domain conversions (not shown in Figure 2) for the frequency domain filter coefficient determiner 311 of Figure 3c. In some implementations, each audio channel may be provided with an STFT (Short Time Fourier Transform) module 501 a-n each configured to perform a succession of overlapping discrete Fourier transforms on an audio channel to generate a time sequence of spectra. Transformation of filter coefficients back into the time domain may be performed by a set of inverse discrete Fourier transforms 502.

The Discrete Fourier Transform (DFT) is a method of transforming a block of data between a time domain representation and a frequency domain representation. The STFT is an invertible method where overlapping time domain frames are transformed using the DFT to a time-frequency domain. The STFT is used to apply the filtering in the time-frequency domain; in embodiments when processing each audio channel, each channel in a frame is transformed independently using a DFT. Optionally the spatial filtering could also be applied in the time-frequency domain, but this incurs a processing latency and thus more preferably the filter coefficients are determined in the time- frequency domain and then inverse transformed back into the time domain. The time domain convolution maps to frequency domain multiplication.

As shown in Figure 5a, a frame buffer system 500 is provided comprising a T*F frame buffer X for each microphone 1...M. These store time-frequency data frames in association with frame weight/probability data as previously described. In embodiments the microphone STFT data are interleaved so that there is one frame buffer containing MxFxT STFT points. A frame buffer manager 503 operates under control of the procedure to read the stored weights for frame selection/weighting. In implementations, the frame buffer manager 503 also controls one or more pointers to identify one or more location(s) at which new (incoming) data is written into a buffer, for example to overwrite relatively less important frames with relatively more important frames. Optionally frame buffer system 500 may comprise two sets of frame buffers (for each microphone), one to accumulate new data whilst previously accumulated data from a second buffer is processed; then the second buffer can be updated. In embodiments a frame buffer may be relatively large - for example, single precision floating point STFT data at 16kHz with 50% overlap between frames translates to ~8MB of data per microphone per minute of frame buffer. However the system may accumulate new frames in a temporary buffer while calculating the filter coefficients and at the beginning of the next update cycle update the frame buffer from this temporary buffer (so that a complete duplicate frame buffer is not required).

The frame weights are determined by a source characterisation module 504. In implementations this determines frame weights according to one or more of the previously described heuristics. This may operate in the time domain or (more preferably) in the time-frequency domain as illustrated. More particularly, in implementations this may implement a multiple-source direction of arrival (DOA) estimation procedure. The skilled person will be aware of many suitable procedures including, for example, an MVDR (Minimum Variance Distortionless Response) beamformer , the MUSIC (Multiple Signal Classification) procedure, or a Fourier method (finding the peaks in the angular Fourier spectrum of the acoustic signals, obtained from a combination of the sensor array response and observations X).

The output data from such a procedure may comprise time series data indicating source activity (amplitude) and source direction. The time or time-frequency domain data or output of such a procedure may also be used to identify: a frame containing an impulsive event; and/or frames with less than a threshold sound level; and/or to classify a sound, for example as air conditioning or the like.

Referring now to Figure 5b, this shows modules of an example implementation of a frequency domain filter coefficient determiner 311 for use in implementations of the disclosure. The modules of Figure 5b operate according to the procedure as previously described. Thus the filter coefficient determination system receives digitised audio data from the multiple audio channels in a time-frequency representation, from the STFT modules 302a-n of Figure 3c, defining the previously described observations xf. This is provided to an optional dimension reduction module 505 which reduces the effective number of audio channels according to a dimension reduction matrix Df. The dimension reduction matrix may be determined (module 506) either in response to user input defining the number of sources to demix or in response to a determination by the system of the number of sources to demix, step 507. The procedure may determine the number of sources based upon prior knowledge, or a DOA-type technique, or, for example, on some heuristic measure of the output or, say, based on user feedback on the quality of demixed output. In a simple implementation the dimension reduction matrix may simply discard some of the audio input channels but in other approaches the input channels can be mapped to a reduced number of channels, for example using PCA as previously outlined. The complete or reduced set of audio channels is provided to a blind source separation module 508 which implements a procedure as previously described to perform importance weighted/stochastic gradient-based blind source separation. As illustrated by the dashed lines, optionally dimension reduction may effectively be part of the blind source separation 508.

The blind source separation module 508 provides a set of demixing matrices as an output, defining frequency domain filter coefficients Wf. In embodiments these are provided to module 509 which removes the scaling ambiguity as previously described, providing filter coefficients for a source s at all the microphones (or reduced set of microphones).

The user selects 510 a spatial region as has been described above. In some implementations, this may comprise mapping the directions din the visual representation on which the user has made their selection to the directions d for which the phase correlations have been calculated. Thus, the user’s selection in the visual representation corresponds to making a selection of directions d from the whole set of directions in the scene. With the selection of d now made, the probability of: may be calculated for each of the sources. The filter coefficients Wf (s) for selecting those sources that meet (for example exceed) the chosen probability threshold are then output by the filter determiner module for use by the spatial filter after conversion back into the time domain. When these coefficients are used by the spatial filter, this has the effect of removing (i.e. cropping) those components of the input audio signal that are from sources outside the selected spatial region. In some implementations, if a priori knowledge of the source directions is available, an additional layer of user selection may optionally be introduced by a source selection module 511 that operates on a pseudo inverse of the demixing matrix, using the microphone phase responses to choose a specific source s based on that a priori knowledge. That is, the source may be selected 512 either by the user, for example the user indicating a direction of the desired source, based on said a priori knowledge of the source direction.

Figure 6 shows an example of a general purpose computing system 600 programmed to implement a system as described above to improve audibility of an audio signal by blind source separation according to an embodiment of the invention. Thus the computing system comprises a processor 602, coupled to working memory 604, program memory 606, and to storage 608, such as a hard disk. Program memory 606 comprises code to implement embodiments of the invention, for example operating system code, time to frequency domain conversion code, frequency to time domain conversion code, source characterisation code, frame buffer management code, (optional) dimension reduction code, blind source separation code, scaling/permutation code, source selection code, and spatial (time domain) filter code. Working memory 604/storage 608 stores data for the above-described procedure, and also implements the frame buffer(s). Processor 602 is also coupled to a user interface 612, to a network/communications interface 612, and to an (analogue or digital) audio data input/output module 614. The skilled person will recognise that audio module 614 is optional since the audio data may alternatively be obtained, for example, via network/communications interface 612 or from storage 608.

Figure 7 is a flowchart of steps for performing a method 700 according to the present disclosure. The method 700 comprises: capturing 701 the audio signal with one or more recording devices; separating 702 the audio signal into a plurality of components component associated with one of the plurality of audio sources; selecting 703 a spatial region in the scene; determining 704 which of the plurality of components are associated with an audio source positioned outside of the selected spatial region; and cropping 705 the plurality of components associated with an audio source positioned outside of the selected spatial region out of the audio signal.

No doubt many other effective alternatives will occur to the skilled person. It will be understood that the invention is not limited to the described embodiments and encompasses modifications apparent to those skilled in the art lying within the scope of the claims appended hereto. It should further be noted that the invention also encompasses any combination of embodiments described herein, for example an embodiment may combine the features of any one or more of the independent and/or dependent claims.

For example, where it the audio signal is described as being separated into a plurality of components associated with one or more of the plurality of audio sources, it is envisaged that in an ideal situation, there may be a one-to-one correspondence whereby each of the plurality of components is associated with one of the audio sources. However, in practice, for example if the scene is more complex and contains many audio sources, BSS may be unable to distinguish the sources perfectly and inadvertently merge sources and thus it is also envisaged that in some scenarios, each component may be associated with multiple sources. Finally, in some cases, for example where there are not many audio sources, some of the components may mostly contain ambient noise.

For example, the audio and/or video cropping may occur in real time or near real time as the audio and/or video data is being recorded by or streamed to the user device or it instead may performed after the recording has taken place as part of an editing process.