EP4248231A1 - Improved location of an acoustic source - Google Patents

Improved location of an acoustic source

Info

Publication number
EP4248231A1
EP4248231A1 EP21810072.5A EP21810072A EP4248231A1 EP 4248231 A1 EP4248231 A1 EP 4248231A1 EP 21810072 A EP21810072 A EP 21810072A EP 4248231 A1 EP4248231 A1 EP 4248231A1
Authority
EP
European Patent Office
Prior art keywords
vector
velocity vector
wall
tau1
peaks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP21810072.5A
Other languages
German (de)
French (fr)
Inventor
Jérome DANIEL
Srdan KITIC
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Publication of EP4248231A1 publication Critical patent/EP4248231A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/18Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using ultrasonic, sonic, or infrasonic waves
    • G01S5/22Position of source determined by co-ordinating a plurality of position lines defined by path-difference measurements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S3/00Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received
    • G01S3/80Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received using ultrasonic, sonic or infrasonic waves
    • G01S3/802Systems for determining direction or deviation from predetermined direction
    • G01S3/803Systems for determining direction or deviation from predetermined direction using amplitude comparison of signals derived from receiving transducers or transducer systems having differently-oriented directivity characteristics
    • G01S3/8034Systems for determining direction or deviation from predetermined direction using amplitude comparison of signals derived from receiving transducers or transducer systems having differently-oriented directivity characteristics wherein the signals are derived simultaneously
    • G01S3/8036Systems for determining direction or deviation from predetermined direction using amplitude comparison of signals derived from receiving transducers or transducer systems having differently-oriented directivity characteristics wherein the signals are derived simultaneously derived directly from separate directional systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S11/00Systems for determining distance or velocity not using reflection or reradiation
    • G01S11/14Systems for determining distance or velocity not using reflection or reradiation using ultrasonic, sonic, or infrasonic waves

Definitions

  • the present invention relates to the field of the localization of acoustic sources, in particular for the estimation of acoustic direction or "DoA" (Direction of Arrival) by a compact microphone system (for example a microphone capable of picking up sounds in “ambiophonic” or “ambisonic” representation below).
  • DoA Direction of Arrival
  • a possible application is for example the formation of channels or ("beamforming", which then passes through a spatial separation of audio sources, in order in particular to improve speech recognition (for example for a virtual assistant by voice interaction
  • Such processing can also be used in 3D audio coding (pre-analysis of a sound scene to code the main signals individually), or even allow the spatial editing of immersive sound content possibly in audio-visual (to artistic vocation, radiophonic, cinema, etc.) It also allows the monitoring of speakers in teleconferences or the detection of sound events (with or without associated video).
  • One category of methods is based on the analysis of the velocity vector V(f) or the intensity vector l(f) (the first being an alternative version of the second, normalized by the power of the omnidirectional reference component) , as expressed in Eq.6 and Eq.7.
  • the imaginary part (reactive part associated with the energy gradient) is considered characteristic of stationary acoustic phenomena.
  • the known method operates either on time samples filtered in sub-bands in which case they are real and the intensity vector is also, or on complex frequency samples in which case it is the part of the intensity vector which is only exploited as designating the direction of origin (or more precisely, its opposite).
  • the calculation of a so-called “diffuseness” coefficient linked to the ratio between the norm of the vector and the energy of the sound field, makes it possible to decide whether the information available at the frequency considered is rather characteristic of directional components (at which the direction of the vector determines the location) or of an "ambience” (field resulting from diffuse reverberation and/or a mixture of undifferentiated secondary sound sources).
  • WM Another method denoted “WM” below is based on the velocity vector and the statistics of the angular direction of its real part, weighted by certain factors linked to the ratio between real and imaginary parts and their standards.
  • a spherical cartography (2D histogram, for example equi-rectangular) is established by collecting values on all the frequency samples and on a certain number of time frames. The estimate is therefore essentially based on a maximum probability and is subject to a certain latency.
  • covariance Another category of so-called “covariance” methods, sometimes presented as an extension of the first, involves the calculation of a covariance matrix of the spatial components (also sometimes called the Power Spectral Density matrix or “ PSD”) by frequency sub-bands. Here again, the imaginary part is sometimes totally ignored. It should be noted that the first line (or first column) of this matrix is equivalent to the intensity vector when the spatial components are of the ambisonic type. Many of these approaches involve “subspace” methods and algorithms that are sometimes costly, especially when working on a large number of frequency subbands, and when exploiting higher spatial resolutions.
  • PSD Power Spectral Density matrix
  • vector-based or matrix-based methods attempt to discern the “directional” components associated with localizable acoustic sources or paths, on the one hand, from ambient components, on the other.
  • the localization is generally biased by the systematic interference of the direct sound with reflections associated with the same acoustic source.
  • it is the real part of the velocity vector which is mainly considered, while the imaginary part is usually ignored (or at least underused).
  • Acoustic reflections, considered annoying, are not included in the estimation problem. They therefore remain an ignored component, not modeled, without taking into account the particular interference structures induced.
  • the acoustic localization is generally estimated in angular terms only. Moreover, no effective approach seems to propose an evaluation of distance from a single pick-up point (considered as unique for a coincident or more generally "compact" microphone system, i.e. contained in a volume small in size compared to the distances from the acoustic sources, typically around ten centimeters for an ambisonic microphone).
  • a particularly advantageous approach uses the velocity vector of the sound to obtain in particular the direction of arrival of the sound, its delay (thus the distance to the source), the delays linked to possible reflections and thereby determining partition positions.
  • Such a realization makes it possible to model the interference between the direct wave and at least one indirect wave (resulting from reflection) and exploiting the manifestations of this model on the entire velocity vector (on its imaginary part as well as on its real part).
  • a process for processing sound signals acquired by at least one microphone is proposed, for localization of at least one sound source in a space comprising at least one wall, in which:
  • a generalized velocity vector V'(f) is expressed in the frequency domain, estimated from an expression of a velocity vector V(f) in which a reference component D(f), different from an omnidirectional component W(f), appears in the denominator of said expression, said expression being complex with a real part and an imaginary part, the generalized velocity vector V'(f) characterizing a composition between:
  • At least one parameter is determined from among:
  • the aforementioned generalized velocity vector V'(f) is constructed from the velocity vector V(f) which is generally expressed as a function of a component at denominator which is omnidirectional.
  • the generalized velocity vector V'(f) replaces the "conventional" velocity vector V(f) within the meaning of the aforementioned document FR1911723, with then a "reference" component in the denominator which is different from an omnidirectional component, This reference component can indeed be more “selective" towards the direction of arrival of the sound.
  • the direction of arrival of the sound making it possible to calculate the reference component can be obtained as a first approximation by using the conventional velocity vector V(f) by example during a first iteration of an iterative process gradually converging towards an exact DoA.
  • the method may comprise, as indicated above, a plurality of iterations in at least part of which the generalized velocity vector V'(f) is used with, in its denominator, a reference component D (f) determined based on an approximation of the direction of the direct path (DoA) obtained at a previous iteration. In most situations, these iterations converge to a fairer DoA direction.
  • Such a method can then comprise a first iteration in which the “conventional” velocity vector V(f) is used instead of the generalized velocity vector V′(f).
  • the velocity vector V(f) is expressed in the frequency domain by making the omnidirectional component W(f) appear in the denominator. It is then possible to determine at least, at the end of this first iteration, a first approximation of the direction of the direct path (DoA).
  • the generalized velocity vector V'(f) is used, estimated from an expression of the velocity vector V(f) in the denominator of which the omnidirectional component W(f) is replaced by the reference component D(f), the latter being spatially more selective than the omnidirectional component W(f).
  • the reference component D(f) is more selective in a direction corresponding to the aforementioned first approximation of the direction of the direct path (DoA).
  • the iterations can be repeated until convergence is reached according to a predetermined criterion.
  • a predetermined criterion can be a criterion of causality to identify with a reasonable degree of certainty at least first sound reflections on obstacles (or "partitions" above) in the sound propagation environment between the microphone and a source.
  • An inverse transform is also applied, from frequencies to time, to said expression of the generalized velocity vector V'(f) to obtain, in the time domain, a succession of peaks each linked to a reflection on at least one wall, in addition to a peak linked to an arrival of sound along said direct path (DoA), and
  • the second case is followed by the implementation of the following steps, the acquired signals being delivered in the form of successive frames of samples:
  • a score for the presence of a sound attack in the frame is estimated (in accordance for example with an equation of the type Eq.53 in the appendix), and
  • the frames with scores higher than a threshold are selected to process the sound signals acquired in the selected frames.
  • the “classic” velocity vector V(f) can be expressed in the frequency domain by ambisonic components of order 1 in a form of the type:
  • V(f) 1/W(f) [X(f), Y(f), Z(f)] T ,
  • V(f) being the omnidirectional component
  • V'(f) expressed in the frequency domain by ambisonic components of order 1
  • V(f) 1/D(f) [X(f), Y(f), Z(f)] T ,
  • the order considered here is 1, which makes it possible to express the components of the velocity vector in a three-dimensional frame, but other embodiments are possible with in particular a higher ambisonic order.
  • an estimate of the direction of the direct path assimilated to the first vector U0 can be determined from an average over a set of frequencies of the real part of the generalized velocity vector V'(f) expressed in the frequency domain (in accordance with the formalism of equation Eq.24 applied here of course to the generalized velocity vector V'(f)).
  • V1 V'(TAU1) - ( (V'(TAU1) . V'(2.TAU1 )) / 1
  • 2 ) V'(0), The vector U1 then being given by: U1 V1 /
  • the space comprises a plurality of walls:
  • peaks linked to a reflection on a wall of said plurality of walls are identified, each identified peak having a temporal abscissa function of a first delay TAUn of the acoustic path resulting from the reflection on the wall n corresponding, with respect to the direct path,
  • At least one parameter is determined from:
  • a first part of peaks can be pre-selected at the smallest positive temporal abscissas, to identify in this part the peaks each associated with a single reflection on a wall.
  • the signals acquired by the microphone are in the form of a succession of samples, it is possible more generally to apply to these samples a weighting window with decreasing exponential variation over time (as will be seen later with reference to FIG. 5A).
  • this window can be placed at the very start of the sound attack (or even just before the start of the attack). This avoids the discomfort of multiple reflections.
  • the application of such a weighting window makes it possible to obtain a less biased first estimate of the parameters U0, dO, etc. resulting from the exploitation of the expression of the velocity vector in the time domain, in particular when it is a question of the “classic” velocity vector, for example within the framework of a first iteration of the method. Indeed, in certain situations where the cumulative magnitude of the reflections is greater than that of the direct sound, the estimation of the aforementioned parameters may be biased. These situations can be detected when peaks are observed at negative temporal abscissas (curve at the top of FIG. 5B) in the temporal expression of the velocity vector.
  • the application of a weighting window of the aforementioned type makes it possible to reduce these peaks to positive abscissae as illustrated by the bottom curve of FIG. 5B, and to give less biased estimates.
  • this embodiment is optional insofar as the use of the generalized velocity vector instead of the "conventional" velocity vector already allows a practically unbiased estimation of the parameters U0, dO, etc., including included in this type of situation. Nevertheless, such processing can take place for example for a first iteration of the method with the “conventional” velocity vector or even in the second case, mentioned above, of non-convergence of the iterative processing.
  • q(f) exp (-
  • Such an embodiment makes it possible to select the most usable frequency bands for determining the aforementioned parameters.
  • the present invention also relates to a device for processing sound signals, comprising a processing circuit arranged for the implementation of the above method.
  • FIG. 4 schematically presents such a processing circuit which can then comprise:
  • an IN input interface to receive SIG signals acquired by the microphone (which may include several piezoelectric pads to compose these signals, for example in an ambisonic context),
  • processor PROC cooperating with a working memory MEM to process these signals in particular to work out the expression of the generalized velocity vector in order to derive therefrom the desired parameters dO, U0, etc., the values of which can be delivered by the output interface OUT.
  • Such a device can be in the form of a module for locating a sound source in a 3D environment, this module being connected to a microphone (sound antenna type, or other). Conversely, it can be a sound rendering engine based on a given position of a source in a virtual space (comprising one or more walls) in augmented reality.
  • the present invention also relates to a computer program comprising instructions for implementing the above method, when these instructions are executed by a processor of a processing circuit.
  • FIGS. 3A, 3B and 7 illustrate an example of a possible flowchart of the algorithm of such a program.
  • a non-transitory recording medium readable by a computer, on which such a program is recorded.
  • the generalized velocity vector and the "classic" generalized vector are designated without distinction by the same term “velocity vector”, with the same notation V (V(f); V(t )) notably in the equations presented in the appendix.
  • V' V'(f); V'(t)
  • FIG. 5B the principles underlying the formalism used in document FR1911723 and included here in the equations given in the appendix are recalled.
  • Figure 1 shows, by way of illustration, various parameters involved in locating a sound source according to one embodiment.
  • FIG. 2 shows by way of illustration the various successive peaks exhibited by the temporal expression of a velocity vector after its inverse frequency-to-time transform ("IDFT").
  • IDFT inverse frequency-to-time transform
  • Figure 3A shows the beginning steps of an algorithmic processing to determine the relevant parameters U0, dO, etc.
  • FIG. 3B shows the continuation of the processing steps of FIG. 3A.
  • Figure 4 schematically shows a device within the meaning of the invention according to one embodiment.
  • Figure 5A shows a weighting window of the samples of the acquired signals, exponentially decreasing over time, according to one embodiment.
  • Figure 5B compares a time expression after IDFT of the velocity vector:
  • Figures 6A [Fig. 6A], 6B [Fig. 6B] and 6C [Fig. 6C], represent the shape of the linked peaks present in the temporal expression of the generalized velocity vector V′(t), as iterations of the method described later with reference to FIG.
  • Figure 6D illustrates very schematically and by way of illustration the form of the reference component D(f) appearing in the denominator of the expression of the generalized velocity vector V'(f), over several successive iterations of the process, and
  • Figure 7 schematically represents the steps of an iterative method within the meaning of the invention, according to an embodiment given here by way of example.
  • the velocity vector can be calculated in a manner known per se. However, some specific settings can be recommended to improve the final results obtained.
  • frequency spectra B(f) of Ambisonic signals are first typically obtained by Short Term Fourier Transform (or STFT for “Short Term Fourier Transform”) for a succession of time frames b(t), generally overlapping (with addition/overlap for example).
  • a velocity vector is then calculated for all the frequency samples as a ratio of the directional components X(f), Y(f) and Z(f):
  • the characteristic of the source signal is substantially removed to highlight the characteristics of the acoustic channel, if indeed the spectral composition of the audio signal excites a substantial amount of useful frequencies (e.g. over a wide frequency band).
  • This impulse response is called SRIR for "Spatial Room Impulse Response" and is generally represented as a series of temporal peaks:
  • the effect of interference between the direct sound and at least one reflection is inspected on the expression of the complex velocity vector, so as to estimate relevant parameters for defining the position of the sound source. .
  • the frequency expression of the ambisonic field follows, if the later part, given by the expression Eq.16, is neglected.
  • the short-term velocity vector is then expressed by the equation Eq.17, or even by the equation Eq.18 according to a regularized version with a non-zero EPSILON term so as to avoid values (quasi) infinite when the component in the denominator is (almost) zero.
  • the component W (specific to the classical velocity vector) can be replaced by the reference component D to express the generalized velocity vector.
  • the short-term analysis makes it possible to observe, over time and according to the dynamic evolution of the source signal, frequency fingerprints (denoted “FDW” below), characteristics of sub-mixtures of fronts d wave within the spatial impulse response.
  • a characteristic submix (smx for “submix”), for a given observation, is modeled according to Eq.19, in the time and frequency domains.
  • the implicit model h smx (t) is plausibly similar to the beginning of the spatial impulse response h early (t) at least in terms of directions and relative delays of fronts d 'wave.
  • the implicit relative gain parameters g n being impacted by the temporal windowing and the dynamic characteristics of the signal, they do not occur necessarily conform to those of the impulse response.
  • the affine segment (real part) is on a line containing the unit vectors U0 and U1 pointing to the direct and indirect waves respectively, and the two segments are orthogonal to the median plane of these two vectors (and thus the imaginary part of the vector l' is always itself since it is on the linear segment). Furthermore, assuming a homogeneous distribution of the phase shifts between the waves (therefore a representative sweep of the frequencies), according to a calculation of statistics, the average of the real part of the velocity vector is equal to the vector U0 as expressed in Eq.24 and the maximum probability is an average of U0 and U1 weighted by the respective amplitude of the waves as expressed in Eq.25.
  • a solution to this problem consists in operating a time-frequency analysis that is more temporally selective (i.e. with shorter time windows) to have the chance of seeing a simpler acoustic mixture appear during the attacks.
  • amplitude transients, signal rise
  • the delays associated with successive reflections may be too close together to isolate the effect of the first reflection in its interference with the direct sound.
  • a first step consists in converting the fingerprint of the velocity vector in the time domain (or “TDW”, for “Time-Domain Velocity Vector”), by means of an Inverse Fourier Transform as presented in Eq.31.
  • TDW Time-Domain Velocity Vector
  • This has the effect of condensing the effects of frequency cyclicity associated with certain axes and which manifest themselves in complex peregrinations of the velocity vector, in more parsimonious data and therefore more easily analysable.
  • Such a conversion causes series of peaks to appear at regular time intervals, peaks of which the most important are easily detectable and extractable (see for example FIG. 5B).
  • the attenuation parameter g1 (this being likely to be modified by the time-frequency analysis parameters, in particular by the shape of an analysis window and by its temporal placement relative to the acoustic events The estimation of this parameter is therefore of less utility in the application contexts considered here).
  • Equation Eq.B2 For the generalized velocity vector V', we find a slightly different equation in equation Eq.B2 at the end of the appendix, this equation also being denoted Eq.35b because it corresponds to equation Eq.35 but given here for the generalized velocity vector. Moreover, at the end of the appendix are given the equations specific to the generalized velocity vector V' and the correspondence with a previously written equation specific to the classical velocity vector, is indicated by a "b" after the equation number ( Eq.xxb).
  • Figure 2 illustrates such a series in the simplified case of two reflections interfering with a direct sound.
  • Each marker (respectively round, cross, diamond) indicates by its ordinate the contribution of the vectors U0, U1, U2 (characteristics of the direct sound, of a first reflection and of a second reflection respectively) to the temporal imprint TDVV as a function of temporal abscissas. It can thus be seen that the reception of the direct sound is characterized by the first peak at time zero and of amplitude 1, illustrated by a circle.
  • the interference of a first reflection (delay TAU1) with the direct path causes a first series of peaks in TAU1 , 2xTAU1 , 3xTAU1 , etc., which are marked here by a cross at one end and a circle at the other end (top-bottom).
  • the interference of a second reflection (TAU2 delay) with the direct path causes a second series of peaks in TAU2, 2xTAU2, 3xTAU2, etc., marked here by a diamond at one end and a circle at the other end.
  • an element of the "crossed series” that is to say the interference between the reflections (first delay: TAU1 +TAU2, then 2TAU1 +TAU2, then TAU1 +2TAU2, etc.).
  • the first case is detected if there are positive integers k or partially null giving TAUnew according to Eq.40, otherwise we fall into the second case and the set of identified reflections is increased by introducing the new delay TAUN+1, associated with a direction which can be estimated in the manner described in the case of a single reflection.
  • the inverse Fourier transform gives a “bidirectional” TDW time imprint, with series generally developing both towards the positive times and towards negative times (top curve of FIG. 5B for illustration).
  • Such a situation in which one or more reflection gains would be greater than 1 can be encountered, for example, when the direct wave has an amplitude less than the sum of the amplitudes of the waves resulting from the reflections on one or more partitions.
  • the main peak at time zero no longer corresponds strictly to the vector uO, but to a mixture of the latter with a more or less significant proportion of the vectors designating the directions of the reflections. This leads to a location bias (of the ‘estimated DoA’).
  • Another symptom is that the main peak then has a norm different from 1 in general, and more often less than 1.
  • the invention proposes a robust method, particularly in this type of situation. It proposes to adjust the expression of the velocity vector by conferring spatial selectivity towards the DoA on the D component which appears in its denominator instead of the usual omnidirectional component W.
  • Equation Eq.B6 Starting from the equation Eq.B6 at the end of the appendix, a particular relationship is retained between two successive vectors of a series, in particular between the first two vectors V'(TAUn) and V'(2.TAUn) , the most salient.
  • the equation Eq.B7 thus shows a factor (-Gn/BETAn) denoted here "RHO" and whose equation Eq.B8 proposes an estimate as a scalar product of the first two aforementioned vectors of the same series V'( TAUn) and V'(2.TAUn), this scalar product being divided by the squared norm of the first.
  • Equation Eq.BI O By reintegrating the RHO factor into the equation Eq.B6, the obtained equation Eq.B9 can be rearranged to give the equation Eq.BI O.
  • the vector Un in particular, the vector U1 if we focus on the first reflection and its associated series
  • a factor NUO/Gn which is positive (except a priori rare situation such as a reflection with phase inversion): it can therefore be obtained by normalization of the left side V'(TAUn)-RHO.V'(0).
  • the global factor NUO is likely to integrate other influencing factors than the reference directivity, for example an overall reduction in amplitude which could be caused by a limitation of the frequency bandwidth of the signal source, and/or its partial masking by noise (although the latter effect is generally more complex to model). It is interesting to note that finally, the direction of the vector U1 (or more generally Un) can be estimated in the same way and this for any cause of this overall reduction in amplitude NUO.
  • step S721 calculations presented above are carried out from the frequency expression of the classical velocity vector V(f) until the estimation of the temporal expression of the classical velocity vector V(t ).
  • step S731 the analysis of the temporal expression of the classical velocity vector V(t) is carried out as a time series of peaks.
  • a modified velocity vector V′(f), then V′(t) in the time domain is calculated (step S781 ), on the basis of these filtered ambisonic data.
  • the method can be reiterated again by taking the estimate of the coarse DoA(n) obtained previously (S752) to determine a reference component D(f) (denoted D(n) for the iteration n of the method at step S762) whose directivity makes it possible to represent the direction of the direct sound more selectively than its estimate D(n-1) at the previous iteration and to replace (S772) the latter D(n- 1 ) in the estimation of the generalized velocity vector V'(f), then V'(t) at step S782.
  • the directivity of a reference component “captures” the estimated direction of the direct sound more selectively than a reference component at a previous iteration.
  • the process can thus be repeated until the peaks at negative times are lower in amplitude or in energy than the chosen threshold THR, as illustrated in FIG. 6C.
  • the first step S71 begins with the construction of the conventional velocity vector in the frequency domain V(f) with the omnidirectional component W(f) in its denominator.
  • V(t) in the time domain is estimated.
  • a signal structure is identified representing the temporal expression of the classical velocity vector V(t) with peaks such that the NRJ energy of this signal structure at negative temporal abscissas (t ⁇ 0) remains below a fixed threshold THR (arrow KO), then the present acoustic situation already makes it possible to derive an unbiased DoA directly from the classical velocity vector.
  • step S781 the temporal expression of the generalized vector V'(t) is estimated to determine in test S732 whether there remains significant energy (greater than the threshold THR) in the structure of the signal of this expression V'(t ) at negative time abscissas. If such is not the case (arrow KO at the output of test S732) the process can stop at this first iteration by giving the DoA parameters, etc. at step S742. Otherwise, the method is repeated, by updating the index n of iterations of the method, at step S791 (here, the steps referenced S79x being relative to the iterations of the method, such as the incrementation of the index n ( step S793) or the determination of the termination of the process S792-S794).
  • a new reference component D(n) is estimated at step S762, to replace the old reference component D (n-1) to the denominator of the generalized velocity vector V'(f) in step S772.
  • its expression in the time domain V'(t) is determined in step S782.
  • the comparison of its signal structure (in energy with respect to the threshold THR) to the test S733 is repeated, to determine whether the new DoA which can be estimated therefrom would be biased or not. If this is not the case (arrow KO at the output of the S733 test), then the parameters, in particular of DoA, etc. can be obtained.
  • step S743 here after three iterations as in the illustrative example of FIGS. 6A to 6C. Otherwise (OK arrow at the output of test S733), the method must be reiterated again from step S752 with the last estimated DoA, even coarse and possibly biased.
  • the 0 component ( ) typically derives from a matrixing (or a vector-weighted sum D 0 ) of the ambisonic components: [0140] WHERE
  • - B(f) is a vector of signals describing an ambisonic field in the frequency domain such as for example in the case of a plane wave carrying a signal S(f) and coming from a direction described by the unit vector so that for the mixture of direct and indirect waves considered we have is the vector of the spherical harmonic coefficients
  • - D 0 can be a vector of the 'steering vector' type causing a beamforming ("formation of way” or “formation of beam” in French) oriented in general in a particular direction 0 (which can also be designated by a unit vector so that by defining a 'steering gain' such as:
  • the spherical function g O (un) is axially symmetric, the available degrees of freedom only influencing the proportion between positive and negative lobes (if any) in addition to the orientation.
  • the main lobe (a priori in the targeted direction) does not necessarily have symmetry, and secondary lobes can have more varied shapes and orientations. So despite the notation D 0 , the beamforming is not only parameterized by the targeted main direction 0.
  • the gain is then expressed as a polynomial Pbeamshape(.) of the product scalar (a variant of Legendre polynomial):
  • the gbeamshape diagonal coefficients can take into account: - on the one hand, the choice of ambisonic encoding convention, therefore the calculation of spherical harmonic functions
  • the iterations of the method can stop at step S794. If not (OK arrow at the output of test S792), the method can be executed for a following iteration at step S793 starting with an incrementation of the iteration counter n.
  • the frames where signal attacks are localized are those which make it possible to observe an acoustic mixture involving only the earliest wave fronts: the direct sound and one or more reflections ( so that the aforementioned “sum of the gammas” remains less than 1 according to Eq.38).
  • the temporal imprint is of a unidirectional nature, which is evidenced by peaks only for positive times after application of the decreasing exponential window (lower part of FIG. 5B). It is also observed that in practice the energy of the observed signal decreases very quickly with the exponential, the numerical impact - on the estimates - of a truncation of the said signal becomes quite negligible beyond a relatively short time. of truncation. In other words, one obtains in the shorter term the advantages of a long-term analysis which encompasses both the entire exciter signal and its reverberation. Indeed, the observed “TDW” conforms to the interference model without the errors due to the dynamics of the signal. It is therefore a double property possessed by the weighting by such a window, which ideally makes it possible to obtain an exploitable temporal imprint.
  • the ALPHA attenuation preferably by seeking a compromise between a sufficiently low value to ensure one idirectionality of the imprint temporal and a value that is not too low to avoid reducing the chances of detecting and estimating indirect waves.
  • An iterative process (for example by dichotomy) can be implemented to adjust the attenuation value. From a threshold value of attenuation, when the temporal imprint obtained is detected as bidirectional, therefore a priori with a biased vector U0, the analysis is repeated with a stronger attenuation, otherwise at least the estimate of U0 and if the following peaks are not very discernible (because reduced with the attenuation) then the analysis is repeated with an intermediate attenuation between the two previous ones, and so on if necessary until the vector U1 can be estimated.
  • An initial DFT size that is generally larger than this analysis window is chosen.
  • time-frequency de-noising for example by defining a mask (time-frequency filter, possibly binary), so as to avoid introducing elements from other ambient and/or diffuse field sources into the interference footprint. It is necessary to calculate the impulse response of the mask (result of the inverse transform) to control the influence of the mask on the analysis of the peaks. It can alternatively be integrated into a frequency weighting of the imprint of a frame considered to be stored, so as to subsequently calculate a weighted average of frequency imprints corresponding a priori to similar interfering mixtures (typically on signal attacks, by checking that the source concerned has not moved, which can be guessed through an estimation of the delays).
  • the peaks are then extracted and observed, for example according to the norm
  • the peak at time zero is by construction equal to the average of the velocity vector over its complete spectrum (the real part canceling out by Hermitian symmetry), or even its real part if we do not considers only positive frequencies. We can estimate that it is then useless to calculate an Inverse Transform of the FDW to have an estimate of DoA if we are only interested in the direct sound. However, the temporal examination of the TDW makes it possible to detect whether this DoA is reliable (criterion of development towards positive and increasing times).
  • the frequency and time imprints of the W are not always identifiable with an ideal model of interfering wave mixing. It may be that the source signal does not sufficiently or not always excite a significant range of frequencies at key moments, due to a lack of transmitted power, possibly taking into account competition from other components of the sound field captured (insufficient SNR or SIR) . This can be linked to a more or less diffuse background sound (other sound sources), microphonic noise.
  • step S1 the Fourier transform is calculated (from time to frequency) of the Ambisonic signals which may be in the form of a succession of “frames” (blocks of successive samples).
  • step S2 a dynamic mask can be applied to some of the frequency bands for which the signal to noise ratio is below a threshold (some frequency bands can in fact be highly noisy, for example by a noise inherent in the microphone or other, so that the exploitation of a signal picked up in this frequency band is compromised).
  • the search for noise by frequency band is carried out in step S3 preferentially on the "omni" component W, and the frequency bands altered by the noise (beyond a threshold for example such as SNR ⁇ OdB) are masked (that is to say set to zero) in step S4.
  • a threshold for example such as SNR ⁇ OdB
  • step S5 the velocity vector V(f) is calculated in the frequency domain, for example by equation Eq.6 (or even in the form of Eq.11, Eq.18 or Eq.20 ).
  • weights q(f) calculated as described below are applied to give more or less importance to frequency bands f.
  • the optimum weights are iteratively calculated as a function of U0 and V(f).
  • the various weights q(f) are set to 1.
  • U0 is determined for each frame k, such that:
  • this first estimate of U0(k) is rough. It is refined iteratively by calculating the weights with respect to the previous determination of U0(k) using the equation Eq.49 based on the imaginary part of the vector V(f), and where the vector m is a unit vector , normal to the plane defined by the vector U0 and a normal to the wall (the direction z of figure 1 for example).
  • the vector m is estimated iteratively also as a function of U0 in step S9, then the weights are calculated by Eq.49 in step S10.
  • the weights found are applied in step S7, and the estimation of U0 is refined until convergence at the output of the test S11. At this stage, U0(k) was estimated for the different frames.
  • U1 can be deduced therefrom, by a relation of the Eq.41 type described above.
  • U1 is determined by the equations Eq.50 to Eq.52, having previously applied an inverse transform IDFT (from frequency to time) in step S12 to the vector Vbar(f) found in step S7, to obtain a time representation V(t) of the velocity vector.
  • IDFT from frequency to time
  • Vbar(f) found in step S7
  • the various delays, TAU1 , then TAU2 are then determined in step S15 (by removing modules from V(t)k to be compared in Eq.51 with those corresponding to the delay TAU1 ), etc.
  • the delay TAUm is given by the component tmax found at each iteration m, divided by the sampling frequency fs according to Eq.52, taking into account that the times t and tmax(k) are first expressed in terms of the index sample (time zero being taken as a reference for the zero index).
  • the step S18 may consist in further selecting the “good” frames, representative of a sound attack with first reflections.
  • the criterion D(k) for selecting such frames can be illustrated by way of example by equation Eq.53 where C(f)i (k) designates a magnitude (amplitude in absolute value) detected on the ambisonic channel i , to the time-frequency sample (t, f) resulting from the first transform (time to frequency) of frame k.
  • Epsilon designates a nonzero positive value to avoid a zero in the denominator in the absence of a signal.
  • F designates the total number of frequency sub-bands used.
  • step S22 It is thus possible to retain at step S22 only the frames whose criterion D(k) calculated from Eq.53 is not smaller than 90% of the maximum Dmax found at step S21 among the criteria of all frames D(k).
  • the values D(k) are calculated for all the frames, then at step S19, the processing delivers the U0(k), dO(k), D(k ) for the different frames.
  • the values D(k) are collected to identify at step S21 the highest and to eliminate at step S22 the frames whose value D(k) is less than 0.9 Dmax.
  • the vector U0 which is retained is preferably here the median (rather than the mean) among the vectors U0 of the different frames retained.
  • the distance d0 retained is also the median value among the distances d0 of the various frames retained.
  • the velocity vector can be replaced by a ratio between components of a “coincident” type spatial acoustic representation in the frequency domain and work in a coordinate system characteristic of said spatial representation.
  • TDVV can be used more generally in association with Artificial intelligence methods, including neural networks.
  • Some training strategies envisaged (for example on fingerprints from models or windowed SRIR, and not necessarily from original signals) can allow the network to learn to exploit the succession of frames to improve detections and estimates compared to to given room situations.
  • step S761 where D(1) would simply be calculated as a function of the angular sector considered), these iterative methods being carried out in parallel for each of these sectors.
  • the parameters to be optimized are the beamforming parameters, formulated for example as the coefficients of the matrix D involved in the equations Eq. A1 and A4, or as the direction Theta (0) and the beam shape parameters (gbeamshape) of equation EQ.A5 when opting for axial symmetry or in the case where one is restricted to the order 1;
  • DoA a principle of adjustment of the parameters tested (during the iterations) because typically a reorientation of the acoustic beam in the last estimated DoA is not always a sufficiently robust choice: it is then necessary, rather than stopping the algorithm for lack of improvement, start again from one of the stored situations (and a priori the best from the point of view of the minimization criterion) and adjust the parameters along another axis (for example a directivity shape parameter) or another combination of axes.
  • another axis for example a directivity shape parameter
  • the parameters ultimately targeted are not directly those which are optimized, but they derive therefrom. It should be noted that there is then potentially a multiplicity of sets of beamforming parameters which could all be 'optimal' in the sense that they induce compliance with a causal model. Consequently, they all then make it possible to deduce the same set of parameters Un in an a priori exact manner.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)

Abstract

The invention relates to the processing of audio signals acquired by a least one microphone, for example of the ambisonic type, with a view to locating at least one audio source in a space comprising at least one wall. A time-frequency transform is applied to the acquired signals and, on the basis of the acquired signals, a general complex velocity vector V(f) with a real part and imaginary part is expressed in the frequency domain, the velocity vector having a component other than an omnidirectional component W(f) in its denominator. In particular, this vector characterises a composition between: * a direct first acoustic path between the source and the microphone, this path being represented by a first vector U0, and * at least one second acoustic path resulting from a reflection from the wall and represented by a second vector U1, the second path having, at the microphone, a first delay TAU1, with respect to the direct path. Depending on the delay TAU1 of the first vector U0 and the second vector U1, at least one parameter among a direction (DoA) of the direct path, a distance d0 from the source to the microphone, and a distance z0 from the source to said wall is determined.

Description

Description Titre : Localisation perfectionnée d’une source acoustique [0001] La présente invention relève du domaine de la localisation de sources acoustiques, notamment pour l’estimation de direction acoustique ou « DoA » (Direction of Arrival) par un système microphonique compact (par exemple un microphone apte à capter des sons en représentation « ambiophonique » ou « ambisonique » ci-après). [0002] Une application possible est par exemple la formation de voies ou (« beamforming », qui passe alors par une séparation spatiale de sources audio, afin notamment d’améliorer la reconnaissance de la parole (par exemple pour un assistant virtuel par interaction vocale). Un tel traitement peut aussi intervenir dans le codage audio 3D (pré-analyse d’une scène sonore pour coder des signaux principaux de façon individuelle), ou encore permettre l’édition spatiale de contenu sonore immersif éventuellement en audio-visuel (à vocation artistique, radiophonique, cinéma, etc.). Elle permet aussi le suivi de locuteur en téléconférence ou la détection d’événements sonores (avec ou sans vidéo associée). [0003] Dans l’état de l’art qui s’intéresse aux encodages de type ambisonique (ou équivalents), l’essentiel des approches se base sur les composantes spatiales issues d’une analyse fréquentielle (une représentation temps-fréquence typiquement issue d’un traitement par transformée de Fourier à court terme ou « STFT », ou une représentation de signaux temporels à bande étroite issue d’un banc de filtres). [0004] Les signaux ambisoniques à l’ordre 1 sont rassemblés sous forme vectorielle suivant l’équation Eq.1 donnée en ANNEXE ci-après. La convention d’encodage de Eq.1 est présentée ici par commodité mais sans restriction car les conversions avec d’autres conventions peuvent être implémentées tout aussi bien. Ainsi lorsque le champ est assimilable à une onde plane unique venant d’une direction décrite par le vecteur unitaire U1 (donc la direction DoA de la source) et portant le signal émis s1 (t), on peut l’écrire selon l’équation Eq.2 (ANNEXE). Description Title: Improved localization of an acoustic source [0001] The present invention relates to the field of the localization of acoustic sources, in particular for the estimation of acoustic direction or "DoA" (Direction of Arrival) by a compact microphone system (for example a microphone capable of picking up sounds in “ambiophonic” or “ambisonic” representation below). [0002] A possible application is for example the formation of channels or ("beamforming", which then passes through a spatial separation of audio sources, in order in particular to improve speech recognition (for example for a virtual assistant by voice interaction Such processing can also be used in 3D audio coding (pre-analysis of a sound scene to code the main signals individually), or even allow the spatial editing of immersive sound content possibly in audio-visual (to artistic vocation, radiophonic, cinema, etc.) It also allows the monitoring of speakers in teleconferences or the detection of sound events (with or without associated video). to ambisonic type encodings (or equivalent), most of the approaches are based on the spatial components resulting from a frequency analysis (a time-frequency representation typically resulting from processing by Fourier transform at c term or "STFT", or a representation of narrow-band time signals from a bank of filters). [0004] The first-order Ambisonic signals are gathered in vector form according to the equation Eq.1 given in the APPENDIX below. The encoding convention of Eq.1 is presented here for convenience but without restriction since conversions with other conventions can be implemented just as well. So when the field is comparable to a single plane wave coming from a direction described by the unit vector U1 (therefore the direction DoA of the source) and carrying the transmitted signal s1 (t), it can be written according to equation Eq.2 (APPENDIX).
[0005] En pratique, les signaux sont analysés dans le domaine fréquentiel, trame après trame, ce qui donne l’expression Eq.3 (ANNEXE), et pour le cas d’une onde unique sous la forme Eq.4, et par extension pour N ondes sous la forme Eq.5. [0005] In practice, the signals are analyzed in the frequency domain, frame after frame, which gives the expression Eq.3 (APPENDIX), and for the case of a single wave in the form Eq.4, and by extension for N waves in the form Eq.5.
[0006] Une catégorie de méthodes s’appuie sur l’analyse du vecteur vélocité V(f) ou du vecteur intensité l(f) (le premier étant une version alternative du second, normalisée par la puissance de la composante de référence omnidirectionnelle), comme exprimé en Eq.6 et Eq.7. [0006] One category of methods is based on the analysis of the velocity vector V(f) or the intensity vector l(f) (the first being an alternative version of the second, normalized by the power of the omnidirectional reference component) , as expressed in Eq.6 and Eq.7.
[0007] Les méthodes qui exploitent des échantillons fréquentiels complexes basent l’estimation de la localisation essentiellement sur l’information contenue dans la partie réelle de tels vecteurs (liée à l’intensité active et caractéristique de la propagation d’onde en ce qu’elle est directement liée au gradient du champ de phase). [0007] The methods which exploit complex frequency samples base the estimation of the localization essentially on the information contained in the real part of such vectors (linked to the active intensity and characteristic of the wave propagation in that it is directly related to the gradient of the phase field).
[0008] La partie imaginaire (partie réactive associée au gradient d’énergie) est quant à elle considérée caractéristique de phénomènes acoustiques stationnaires. The imaginary part (reactive part associated with the energy gradient) is considered characteristic of stationary acoustic phenomena.
[0009] On voit en effet que dans le cadre d’une onde plane seule, le vecteur vélocité se résume à V = U1 . [0009] We can indeed see that in the context of a single plane wave, the velocity vector is reduced to V = U1 .
[0010] La méthode connue (dite « DirAC ») opère soit sur des échantillons temporels filtrés en sous-bandes auquel cas ils sont réels et le vecteur intensité l’est aussi, soit sur des échantillons fréquentiels complexes auquel cas c’est la partie réelle du vecteur intensité qui est seule exploitée comme désignant la direction de provenance (ou plus précisément, son opposée). En complément, le calcul d’un coefficient dit de « diffuseness », lié au rapport entre norme du vecteur et l’énergie du champ sonore, permet de décider si l’information disponible à la fréquence considérée est plutôt caractéristique de composantes directionnelles (auquel cas la direction du vecteur détermine la localisation) ou bien d’une « ambiance » (champ issu de réverbération diffuse et/ou d’un mélange de sources sonores secondaires indifférenciées). [0011] Une autre méthode notée ci-après « WM » s’appuie sur le vecteur vélocité et les statistiques de la direction angulaire de sa partie réelle, pondérée par certains facteurs liés au ratio entre parties réelles et imaginaires et leurs normes. Une cartographie sphérique (histogramme 2D, par exemple équi-rectangulaire) est établie par collecte de valeurs sur l’ensemble des échantillons fréquentiels et sur un certain nombre de trames temporelles. L’estimation se fonde donc essentiellement sur un maximum de probabilité et est soumise à une certaine latence. The known method (called "DirAC") operates either on time samples filtered in sub-bands in which case they are real and the intensity vector is also, or on complex frequency samples in which case it is the part of the intensity vector which is only exploited as designating the direction of origin (or more precisely, its opposite). In addition, the calculation of a so-called "diffuseness" coefficient, linked to the ratio between the norm of the vector and the energy of the sound field, makes it possible to decide whether the information available at the frequency considered is rather characteristic of directional components (at which the direction of the vector determines the location) or of an "ambience" (field resulting from diffuse reverberation and/or a mixture of undifferentiated secondary sound sources). [0011] Another method denoted “WM” below is based on the velocity vector and the statistics of the angular direction of its real part, weighted by certain factors linked to the ratio between real and imaginary parts and their standards. A spherical cartography (2D histogram, for example equi-rectangular) is established by collecting values on all the frequency samples and on a certain number of time frames. The estimate is therefore essentially based on a maximum probability and is subject to a certain latency.
[0012] Une autre catégorie de méthodes dite de la « covariance », présentée parfois comme une extension de la première, met en jeu le calcul d’une matrice de covariance des composantes spatiales (également parfois nommée matrice de Densité Spectrale de Puissance ou « PSD ») par sous-bandes fréquentielles. Là encore, la partie imaginaire est parfois totalement ignorée. Il faut noter que la première ligne (ou première colonne) de cette matrice est équivalente au vecteur intensité lorsque les composantes spatiales sont de type ambisonique. Bon nombre de ces approches font intervenir des méthodes « sous-espaces » et des algorithmes parfois coûteux surtout lorsqu’ils travaillent sur une quantité importante de sous- bandes fréquentielles, et lorsqu’ils exploitent des résolutions spatiales plus élevées. Another category of so-called “covariance” methods, sometimes presented as an extension of the first, involves the calculation of a covariance matrix of the spatial components (also sometimes called the Power Spectral Density matrix or “ PSD”) by frequency sub-bands. Here again, the imaginary part is sometimes totally ignored. It should be noted that the first line (or first column) of this matrix is equivalent to the intensity vector when the spatial components are of the ambisonic type. Many of these approaches involve “subspace” methods and algorithms that are sometimes costly, especially when working on a large number of frequency subbands, and when exploiting higher spatial resolutions.
[0013] Ces méthodes « basées vecteur » ou « basées matrice » s’attachent à discerner les composantes « directionnelles » associées à des sources ou chemins acoustiques localisables, d’une part, de composantes d’ambiance, d’autre part. [0013] These “vector-based” or “matrix-based” methods attempt to discern the “directional” components associated with localizable acoustic sources or paths, on the one hand, from ambient components, on the other.
[0014] Parmi les limites observées de telles méthodes, elles sont gênées par l’interférence du son direct (qui indique la direction de la source acoustique) avec les réflexions, même dans le cas d’une unique source acoustique simultanément active. Au-delà d’un certain degré de présence d’un effet de salle par exemple, elles ne peuvent pas donner une estimation raisonnable assez souvent et/ou l’estimation est trop souvent biaisée. Lorsque l’objet comprenant le dispositif de captation (microphone ambisonique par exemple) et de localisation acoustique est placé par exemple sur une table ou près d’un mur (et/ou si c’est le cas de la source acoustique), de telles surfaces de réflexion ont tendance à induire un biais angulaire systématique. [0015] En effet, la localisation est en général biaisée par l’interférence systématique du son direct avec des réflexions associées à la même source acoustique. Lorsqu’elle est basée sur le vecteur vélocité, c’est la partie réelle du vecteur vélocité qui est essentiellement considérée cependant que la partie imaginaire est habituellement ignorée (ou tout au moins sous utilisée). Les réflexions acoustiques, considérées comme gênantes, ne sont pas intégrées dans la problématique d’estimation. Elles restent donc une composante ignorée, non modélisée, sans prendre en compte les structures d’interférence particulières induites. [0014] Among the observed limits of such methods, they are hampered by the interference of the direct sound (which indicates the direction of the acoustic source) with the reflections, even in the case of a single simultaneously active acoustic source. Beyond a certain degree of presence of a room effect, for example, they cannot give a reasonable estimate often enough and/or the estimate is too often biased. When the object comprising the capture device (ambisonic microphone for example) and acoustic localization is placed for example on a table or near a wall (and/or if this is the case of the acoustic source), such reflective surfaces tend to induce systematic angular bias. [0015] Indeed, the localization is generally biased by the systematic interference of the direct sound with reflections associated with the same acoustic source. When it is based on the velocity vector, it is the real part of the velocity vector which is mainly considered, while the imaginary part is usually ignored (or at least underused). Acoustic reflections, considered annoying, are not included in the estimation problem. They therefore remain an ignored component, not modeled, without taking into account the particular interference structures induced.
[0016] Ainsi, pour des applications du type précité, la localisation acoustique est en général estimée en termes seulement angulaires. D’ailleurs, aucune approche efficace ne semble proposer une évaluation de distance à partir d’un seul point de captation (considéré comme unique pour un système microphonique coïncident ou plus généralement « compact », c’est-à-dire contenu dans un volume de dimension petite par rapport aux distances des sources acoustiques, soit typiquement de l’ordre de la dizaine de centimètres pour un microphone ambisonique). [0016] Thus, for applications of the aforementioned type, the acoustic localization is generally estimated in angular terms only. Moreover, no effective approach seems to propose an evaluation of distance from a single pick-up point (considered as unique for a coincident or more generally "compact" microphone system, i.e. contained in a volume small in size compared to the distances from the acoustic sources, typically around ten centimeters for an ambisonic microphone).
[0017] Pourtant, certains contextes applicatifs requièrent l’information additionnelle de distance de la source en plus de sa direction (donc une localisation 3D en XYZ). Ce sont par exemple : [0017] However, some application contexts require additional distance information from the source in addition to its direction (therefore a 3D localization in XYZ). These are for example:
- la navigation virtuelle dans des environnements réels captés en 3D (car la modification appropriée de l’angle et l’intensité d’une source dépend de la translation XYZ relative entre cet objet et le microphone), - virtual navigation in real environments captured in 3D (because the appropriate modification of the angle and the intensity of a source depends on the relative XYZ translation between this object and the microphone),
- la localisation de sources pour identifier des locuteurs (notamment pour une enceinte connectée ou autre), - the localization of sources to identify speakers (in particular for a connected speaker or other),
- la surveillance, les dispositifs d’alerte dans des environnements domestique ou industriel, ou autres. - surveillance, alert devices in domestic or industrial environments, or other.
[0018] Une approche particulièrement avantageuse, présentée dans le document FR1911723, utilise le vecteur vélocité du son pour obtenir notamment la direction d’arrivée du son, son retard (donc la distance à la source), les retards liés à des réflexions éventuelles et la détermination ainsi de positions de cloisons. Une telle réalisation permet de modéliser l’interférence entre l’onde directe et au moins une onde indirecte (issue de réflexion) et exploiter les manifestations de ce modèle sur l’intégralité du vecteur vélocité (sur sa partie imaginaire comme sur sa partie réelle). [0018] A particularly advantageous approach, presented in the document FR1911723, uses the velocity vector of the sound to obtain in particular the direction of arrival of the sound, its delay (thus the distance to the source), the delays linked to possible reflections and thereby determining partition positions. Such a realization makes it possible to model the interference between the direct wave and at least one indirect wave (resulting from reflection) and exploiting the manifestations of this model on the entire velocity vector (on its imaginary part as well as on its real part).
[0019] Néanmoins, cette technique, quoique déjà opérationnelle, peut encore faire l’objet de perfectionnements. [0019] Nevertheless, this technique, although already operational, can still be improved.
[0020] L’invention vient améliorer la situation. [0020] The invention improves the situation.
[0021] Il est proposé un procédé de traitement de signaux sonores acquis par au moins un microphone, pour une localisation d’au moins une source sonore dans un espace comportant au moins une paroi, dans lequel : [0021] A process for processing sound signals acquired by at least one microphone is proposed, for localization of at least one sound source in a space comprising at least one wall, in which:
- On applique une transformée temps fréquences aux signaux acquis, - A time-frequency transform is applied to the acquired signals,
- A partir des signaux acquis, on exprime dans le domaine fréquentiel un vecteur vélocité généralisé V’(f), estimé à partir d’une expression d’un vecteur vélocité V(f) dans laquelle une composante de référence D(f), différente d’une composante omnidirectionnelle W(f), apparait au dénominateur de ladite expression, ladite expression étant complexe avec une partie réelle et une partie imaginaire, le vecteur vélocité généralisé V’(f) caractérisant une composition entre : - From the acquired signals, a generalized velocity vector V'(f) is expressed in the frequency domain, estimated from an expression of a velocity vector V(f) in which a reference component D(f), different from an omnidirectional component W(f), appears in the denominator of said expression, said expression being complex with a real part and an imaginary part, the generalized velocity vector V'(f) characterizing a composition between:
* un premier trajet acoustique, direct entre la source et le microphone, représenté par un premier vecteur U0, et * a first acoustic path, direct between the source and the microphone, represented by a first vector U0, and
* au moins un deuxième trajet acoustique issu d’une réflexion sur la paroi et représenté par un deuxième vecteur U1 , le deuxième trajet ayant, au microphone, un premier retard TAU1 , par rapport au trajet direct, * at least one second acoustic path resulting from a reflection on the wall and represented by a second vector U1 , the second path having, at the microphone, a first delay TAU1 , compared to the direct path,
- En fonction du retard TAU1 , du premier vecteur U0 et du deuxième vecteur U1 , on détermine au moins un paramètre parmi : - Depending on the delay TAU1 , the first vector U0 and the second vector U1 , at least one parameter is determined from among:
* une direction (DoA) du trajet direct, * a direction (DoA) of the direct path,
* une distance dO de la source au microphone, * a distance dO from the source to the microphone,
* une distance zO de la source à ladite paroi. * a distance zO from the source to said wall.
[0022] Ainsi, le vecteur vélocité généralisé V’(f), précité, est construit à partir du vecteur vélocité V(f) qui s’exprime généralement en fonction d’une composante au dénominateur qui est omnidirectionnelle. Le vecteur vélocité généralisé V’(f) remplace le vecteur vélocité « classique » V(f) au sens du document FR1911723 précité, avec alors une composante « de référence » au dénominateur qui est différente d’une composante omnidirectionnelle, Cette composante de référence peut en effet être plus « sélective » vers la direction d’arrivée du son. Dans un exemple de réalisation présenté plus loin notamment en référence aux figures 6A à 6D et 7, la direction d’arrivée du son permettant de calculer la composante de référence peut être obtenue en première approximation en utilisant le vecteur vélocité classique V(f) par exemple lors d’une première itération d’un procédé itératif convergeant progressivement vers une DoA exacte. Thus, the aforementioned generalized velocity vector V'(f) is constructed from the velocity vector V(f) which is generally expressed as a function of a component at denominator which is omnidirectional. The generalized velocity vector V'(f) replaces the "conventional" velocity vector V(f) within the meaning of the aforementioned document FR1911723, with then a "reference" component in the denominator which is different from an omnidirectional component, This reference component can indeed be more "selective" towards the direction of arrival of the sound. In an exemplary embodiment presented later in particular with reference to FIGS. 6A to 6D and 7, the direction of arrival of the sound making it possible to calculate the reference component can be obtained as a first approximation by using the conventional velocity vector V(f) by example during a first iteration of an iterative process gradually converging towards an exact DoA.
[0023] Il a alors été observé au sens de la présente invention que la détermination des paramètres précités DoA, dO, zO, notamment, est plus juste et/ou plus précise en utilisant un tel vecteur vélocité généralisé V’(f) avec une composante de référence plus pertinente, à la place du vecteur vélocité V(f). En particulier, ce procédé est plus robuste notamment dans les situations où une forte réflexion sonore est due à une cloison disposée près du microphone ou d’une source sonore active. [0023] It has then been observed within the meaning of the present invention that the determination of the aforementioned parameters DoA, dO, zO, in particular, is more accurate and/or more precise by using such a generalized velocity vector V'(f) with a more relevant reference component, instead of the velocity vector V(f). In particular, this process is more robust, especially in situations where a strong sound reflection is due to a partition placed near the microphone or an active sound source.
[0024] On a cité ci-dessus les paramètres précités DoA, dO, zO. Il convient d’indiquer que dans un mode de réalisation typiquement, l’expression du vecteur vélocité généralisé permet aussi de déterminer notamment le retard TAU1 , présenté plus haut. The aforementioned parameters DoA, dO, zO were cited above. It should be noted that in a typical embodiment, the expression of the generalized velocity vector also makes it possible to determine in particular the TAU1 delay, presented above.
[0025] Dans un mode de réalisation, le procédé peut comprendre, comme indiqué plus haut, une pluralité d’itérations dans une partie au moins desquelles on utilise le vecteur vélocité généralisé V’(f) avec à son dénominateur une composante de référence D(f) déterminée en fonction d’une approximation de la direction du trajet direct (DoA) obtenue à une itération précédente. Dans la plupart des situations, ces itérations convergent vers une direction DoA plus juste. In one embodiment, the method may comprise, as indicated above, a plurality of iterations in at least part of which the generalized velocity vector V'(f) is used with, in its denominator, a reference component D (f) determined based on an approximation of the direction of the direct path (DoA) obtained at a previous iteration. In most situations, these iterations converge to a fairer DoA direction.
[0026] Un tel procédé peut comprendre alors une première itération dans laquelle on utilise le vecteur vélocité « classique » V(f) à la place du vecteur vélocité généralisé V’(f). Comme décrit dans le document FR1911723, le vecteur vélocité V(f) s’exprime dans le domaine fréquentiel en faisant apparaitre au dénominateur la composante omnidirectionnelle W(f). Il est alors possible de déterminer au moins, à l’issue de cette première itération, une première approximation de la direction du trajet direct (DoA). Such a method can then comprise a first iteration in which the “conventional” velocity vector V(f) is used instead of the generalized velocity vector V′(f). As described in document FR1911723, the velocity vector V(f) is expressed in the frequency domain by making the omnidirectional component W(f) appear in the denominator. It is then possible to determine at least, at the end of this first iteration, a first approximation of the direction of the direct path (DoA).
[0027] Ainsi, pour au moins une deuxième itération ultérieure à la première itération, on utilise le vecteur vélocité généralisé V’(f), estimé à partir d’une expression du vecteur vélocité V(f) au dénominateur de laquelle la composante omnidirectionnelle W(f) est remplacée par la composante de référence D(f), cette dernière étant spatialement plus sélective que la composante omnidirectionnelle W(f). Thus, for at least a second iteration subsequent to the first iteration, the generalized velocity vector V'(f) is used, estimated from an expression of the velocity vector V(f) in the denominator of which the omnidirectional component W(f) is replaced by the reference component D(f), the latter being spatially more selective than the omnidirectional component W(f).
[0028] Par exemple, dans un mode de réalisation, la composante de référence D(f) est plus sélective dans une direction correspondant à la première approximation précitée de la direction du trajet direct (DoA). For example, in one embodiment, the reference component D(f) is more selective in a direction corresponding to the aforementioned first approximation of the direction of the direct path (DoA).
[0029] Les itérations peuvent être répétées jusqu’à atteindre une convergence selon un critère prédéterminé. En particulier, il peut s’agir d’un critère de causalité pour identifier avec un degré de certitude raisonnable tout au moins de premières réflexions sonores sur des obstacles (ou « cloisons » ci-dessus) dans l’environnement de propagation du son entre le microphone et une source. The iterations can be repeated until convergence is reached according to a predetermined criterion. In particular, it can be a criterion of causality to identify with a reasonable degree of certainty at least first sound reflections on obstacles (or "partitions" above) in the sound propagation environment between the microphone and a source.
[0030] Dans une forme de réalisation particulière, à chaque itération : [0030] In a particular embodiment, at each iteration:
- On applique en outre une transformée inverse, des fréquences vers le temps, à ladite expression du vecteur vélocité généralisé V’(f) pour obtenir, dans le domaine temporel, une succession de pics liés chacun à une réflexion sur au moins une paroi, outre un pic lié à une arrivée du son selon ledit trajet direct (DoA), et - An inverse transform is also applied, from frequencies to time, to said expression of the generalized velocity vector V'(f) to obtain, in the time domain, a succession of peaks each linked to a reflection on at least one wall, in addition to a peak linked to an arrival of sound along said direct path (DoA), and
- On réalise une nouvelle itération s’il apparait dans la succession de pics un signal dont l’abscisse temporelle est inférieure à celle du pic de trajet direct et dont l’amplitude est supérieure à un seuil choisi (éventuellement adaptatif), le critère de causalité étant vérifié si l’amplitude du signal est inférieure audit seuil. L’obtention de cette succession de pics peut être en lien typiquement avec le formalisme présenté dans l’équation Eq.B4=39b donnée en annexe, et décrit plus loin en référence à la figure 2, mais ici appliqué bien entendu au vecteur vélocité généralisé V’(f). - A new iteration is carried out if there appears in the succession of peaks a signal whose temporal abscissa is less than that of the direct path peak and whose amplitude is greater than a chosen threshold (possibly adaptive), the criterion of causality being verified if the amplitude of the signal is lower than said threshold. Obtaining this succession of peaks can be typically linked to the formalism presented in the equation Eq.B4=39b given in the appendix, and described more far with reference to FIG. 2, but here of course applied to the generalized velocity vector V'(f).
[0031] Il peut être mis fin aux itérations précitées du procédé, par exemple : [0031] The aforementioned iterations of the method can be terminated, for example:
- dans un premier cas où l’amplitude du signal précité est inférieure au seuil choisi, et - in a first case where the amplitude of the aforementioned signal is lower than the chosen threshold, and
- dans un deuxième cas où la répétition des itérations n’entraine pas de diminution significative de l’amplitude de ce signal. - in a second case where the repetition of the iterations does not lead to a significant reduction in the amplitude of this signal.
[0032] Dans un exemple de réalisation, il est fait suite au deuxième cas par la mise en œuvre des étapes suivantes, les signaux acquis étant délivrés sous forme de trames successives d’échantillons : In an exemplary embodiment, the second case is followed by the implementation of the following steps, the acquired signals being delivered in the form of successive frames of samples:
- Pour chaque trame, on estime un score de présence d’une attaque sonore dans la trame (conformément par exemple à une équation du type Eq.53 de l’annexe), et- For each frame, a score for the presence of a sound attack in the frame is estimated (in accordance for example with an equation of the type Eq.53 in the appendix), and
- On sélectionne les trames à scores supérieurs à un seuil pour traiter les signaux sonores acquis dans les trames sélectionnées. - The frames with scores higher than a threshold are selected to process the sound signals acquired in the selected frames.
[0033] En effet, si la convergence vers une solution de DoA n’est pas aisée du fait de la proximité de cloisons entraînant des premières réflexions sonores immédiates, il peut être préférable de rechercher la réaction immédiate de ces cloisons à une attaque sonore (en début d’émission d’un son). [0033] Indeed, if the convergence towards a DoA solution is not easy due to the proximity of partitions causing first immediate sound reflections, it may be preferable to seek the immediate reaction of these partitions to a sound attack ( at the beginning of a sound emission).
[0034] Relativement aux expressions respectives des vecteurs vélocité « classique » et « généralisé » et dans une réalisation où les signaux acquis sont captés par un microphone ambisonique, le vecteur vélocité « classique » V(f) peut être exprimé dans le domaine fréquentiel par des composantes ambisoniques d’ordre 1 sous une forme de type : [0034] With respect to the respective expressions of the “classic” and “generalized” velocity vectors and in an embodiment where the acquired signals are picked up by an ambisonic microphone, the “classic” velocity vector V(f) can be expressed in the frequency domain by ambisonic components of order 1 in a form of the type:
V(f)= 1/W(f) [X(f), Y(f), Z(f)]T, V(f)= 1/W(f) [X(f), Y(f), Z(f)] T ,
W(f) étant la composante omnidirectionnelle, tandis que le vecteur vélocité généralisé V’(f), exprimé dans le domaine fréquentiel par des composantes ambisoniques d’ordre 1 , se présente sous une forme de type : V(f)= 1/D(f) [X(f), Y(f), Z(f)]T, W(f) being the omnidirectional component, while the generalized velocity vector V'(f), expressed in the frequency domain by ambisonic components of order 1, is in a form of the type: V(f)= 1/D(f) [X(f), Y(f), Z(f)] T ,
D(f) étant la composante de référence, précitée, différente de la composante omnidirectionnelle. D(f) being the aforementioned reference component, different from the omnidirectional component.
[0035] L’ordre considéré est ici de 1 , ce qui permet d’exprimer les composantes du vecteur vélocité dans un repère tridimensionnel, mais d’autres réalisations sont possibles avec notamment un ordre ambisonique plus élevé. The order considered here is 1, which makes it possible to express the components of the velocity vector in a three-dimensional frame, but other embodiments are possible with in particular a higher ambisonic order.
[0036] Dans une réalisation, une estimation de la direction du trajet direct assimilée au premier vecteur U0, peut être déterminée à partir d’une moyenne sur un ensemble de fréquences de la partie réelle du vecteur vélocité généralisé V’(f) exprimé dans le domaine fréquentiel (conformément au formalisme de l’équation Eq.24 appliqué ici bien entendu au vecteur vélocité généralisé V’(f)). In one embodiment, an estimate of the direction of the direct path assimilated to the first vector U0, can be determined from an average over a set of frequencies of the real part of the generalized velocity vector V'(f) expressed in the frequency domain (in accordance with the formalism of equation Eq.24 applied here of course to the generalized velocity vector V'(f)).
[0037] Ainsi, déjà l’expression du vecteur vélocité dans le domaine fréquentiel permet de donner une estimation du vecteur U0. Thus, already the expression of the velocity vector in the frequency domain makes it possible to give an estimate of the vector U0.
[0038] Dans une réalisation plus avancée toutefois : In a more advanced embodiment, however:
- On applique une transformée inverse, des fréquences vers le temps, au vecteur vélocité généralisé pour l’exprimer dans le domaine temporel V’(t), - We apply an inverse transform, from frequencies to time, to the generalized velocity vector to express it in the time domain V’(t),
- On recherche au moins un maximum dans l’expression du vecteur vélocité généralisé V’(t)max en fonction du temps, après une durée du trajet direct, et- We seek at least a maximum in the expression of the generalized velocity vector V'(t)max as a function of time, after a duration of the direct path, and
- On en déduit le premier retard TAU1 , correspondant au temps donnant le maximum V’(t)max. - From this we deduce the first delay TAU1 , corresponding to the time giving the maximum V’(t)max.
[0039] Dans cette réalisation en outre, on peut alors : In this embodiment, moreover, it is then possible:
- estimer le deuxième vecteur U1 en fonction de valeurs du vecteur vélocité normalisé V’ relevées aux indices temporels t=0, TAU1 et 2xTAU1 , pour définir un vecteur V1 tel que : - estimate the second vector U1 as a function of values of the normalized velocity vector V' recorded at the temporal indices t=0, TAU1 and 2xTAU1 , to define a vector V1 such that:
V1 = V’(TAU1) - ( (V’(TAU1) . V’(2.TAU1 )) / 1| V’(TAU1 ) ||2 ) V’(0), Le vecteur U1 étant alors donné par : U1 = V1 / ||V11|. [0040] Ensuite : V1 = V'(TAU1) - ( (V'(TAU1) . V'(2.TAU1 )) / 1| V'(TAU1 ) || 2 ) V'(0), The vector U1 then being given by: U1 = V1 / ||V11|. [0040] Then:
- On peut déterminer des angles respectifs PHIO et PHI1 du premier vecteur UO et du deuxième vecteur U1 , par rapport à ladite paroi, tels que : - It is possible to determine respective angles PHIO and PHI1 of the first vector UO and of the second vector U1, with respect to said wall, such that:
PHI0=arcsin(U0.nR) et PHI1 =arcsin(U1 .nR), où nR est un vecteur unitaire et normal à la paroi, et PHI0=arcsin(U0.nR) and PHI1 =arcsin(U1 .nR), where nR is a unit vector and normal to the wall, and
- La distance dO entre la source et le microphone peut être déterminée en fonction du premier retard TAU1 par une relation du type : dO = (TAU1xC)/((cosPHI0/cosPHI1 )-1 ), où C est la vitesse du son. - The distance dO between the source and the microphone can be determined as a function of the first delay TAU1 by a relation of the type: dO = (TAU1xC)/((cosPHI0/cosPHI1 )-1 ), where C is the speed of sound.
[0041] En outre, la distance zO de la source à ladite paroi peut alors être déterminée par une relation du type : zO = dO (sinPHIO - sinPHI1 )/2 In addition, the distance zO from the source to said wall can then be determined by a relationship of the type: zO = dO (sinPHIO - sinPHI1)/2
[0042] On peut ainsi déterminer tous les paramètres pertinents quant à la localisation de la source (de la figure 1 par exemple), ici dans le cas où une seule paroi est présente, mais ce modèle peut être généralisé à la présence de plusieurs parois. We can thus determine all the relevant parameters as to the location of the source (from Figure 1 for example), here in the case where a single wall is present, but this model can be generalized to the presence of several walls. .
[0043] Ainsi dans une réalisation où l’espace comprend une pluralité de parois :[0043] Thus in an embodiment where the space comprises a plurality of walls:
- On applique une transformée inverse, des fréquences vers le temps, au vecteur vélocité généralisé pour l’exprimer dans le domaine temporel V’(t) sous la forme d’une succession de pics (formalisme correspondant en première approche à l’équation Eq.39b de l’annexe), - We apply an inverse transform, from frequencies to time, to the generalized velocity vector to express it in the time domain V'(t) in the form of a succession of peaks (formalism corresponding in a first approach to the equation Eq .39b of the appendix),
- On identifie, dans la succession de pics, des pics liés à une réflexion sur une paroi de ladite pluralité de parois, chaque pic identifié ayant une abscisse temporelle fonction d’un premier retard TAUn du trajet acoustique issu de la réflexion sur la paroi n correspondante, par rapport au trajet direct, - In the succession of peaks, peaks linked to a reflection on a wall of said plurality of walls are identified, each identified peak having a temporal abscissa function of a first delay TAUn of the acoustic path resulting from the reflection on the wall n corresponding, with respect to the direct path,
- En fonction de chaque premier retard TAUn, du premier vecteur U0 et de chaque deuxième vecteur Un représentant un trajet acoustique issu d’une réflexion sur une paroi n, on détermine au moins un paramètre parmi : - Depending on each first delay TAUn, the first vector U0 and each second vector Un representing an acoustic path resulting from a reflection on a wall n, at least one parameter is determined from:
* la direction (DoA) du trajet direct, * la distance dO de la source au microphone, et * the direction (DoA) of the direct path, * the distance dO from the source to the microphone, and
* au moins une distance zn de la source à la paroi n. * at least a distance zn from the source to the wall n.
[0044] Comme on peut l’observer sur la figure 5B qui est un exemple appliqué au vecteur vélocité « classique » mais pouvant s’adapter au vecteur vélocité généralisé, l’expression du vecteur vélocité (classique comme généralisé), après transformée inverse (fréquences vers temps), présente une succession de pics, laquelle est illustrée aussi sur la figure 2 à titre didactique, où des maximas sont atteints pour des valeurs multiples des retards précités (TAU1 , 2TAU1 , etc. ; TAU2, 2TAU2, etc.) entre le trajet direct et les trajets issus d’au moins une réflexion sur une paroi, ainsi que pour des combinaisons de ces retards (TAU1 +TAU2, 2TAU1 +TAU2, TAU1 +2TAU2, etc.). As can be seen in Figure 5B which is an example applied to the "classic" velocity vector but which can be adapted to the generalized velocity vector, the expression of the velocity vector (classic as generalized), after inverse transform ( frequencies to time), presents a succession of peaks, which is also illustrated in figure 2 for didactic purposes, where maxima are reached for multiple values of the aforementioned delays (TAU1, 2TAU1, etc.; TAU2, 2TAU2, etc.) between the direct path and the paths resulting from at least one reflection on a wall, as well as for combinations of these delays (TAU1 +TAU2, 2TAU1 +TAU2, TAU1 +2TAU2, etc.).
[0045] On peut alors exploiter ces pics pour identifier en particulier les pics liés au moins à une réflexion sur une paroi n et qui ont donc des abscisses temporelles multiples (x1 , x2, x3, etc.) du retard TAUn associé à cette paroi n. We can then exploit these peaks to identify in particular the peaks linked at least to a reflection on a wall n and which therefore have multiple temporal abscissas (x1, x2, x3, etc.) of the delay TAUn associated with this wall not.
[0046] Comme les combinaisons de retards différents peuvent complexifier l’identification des retards simples (TAU1 , TAU2, TAU3, etc.) et la présence de parois associées, on peut présélectionner une première partie de pics à des abscisses temporelles positives les plus petites, pour identifier dans cette partie les pics associés chacun à une réflexion sur une paroi (sans avoir ainsi la combinaison de retards différents TAU1 +TAU2, 2TAU1 +TAU2, TAU1 +2TAU2, etc. qui peut apparaitre après les premiers pics). Une telle réalisation suppose toutefois que le critère de causalité précité est atteint (sans quoi des pics « secondaires » peuvent aussi être obtenus par combinaisons des retards avec des multiplicateurs négatifs, de sorte que leurs combinaisons avec des retards « positifs » peuvent se retrouver à des abscisses temporelles positives petites). As the combinations of different delays can complicate the identification of simple delays (TAU1, TAU2, TAU3, etc.) and the presence of associated walls, it is possible to preselect a first part of peaks at the smallest positive temporal abscissas , to identify in this part the peaks each associated with a reflection on a wall (without thus having the combination of different delays TAU1 +TAU2, 2TAU1 +TAU2, TAU1 +2TAU2, etc. which may appear after the first peaks). Such an achievement assumes, however, that the aforementioned causality criterion is reached (otherwise "secondary" peaks can also be obtained by combinations of delays with negative multipliers, so that their combinations with "positive" delays can end up at small positive temporal abscissas).
[0047] Ainsi dans le cas d’une situation idéale où les pics liés à une réflexion sur une paroi n ont possiblement des abscisses temporelles multiples du retard TAUn associé à cette paroi n, on peut effectuer une présélection d’une première partie de pics à des abscisses temporelles positives les plus petites, pour identifier dans cette partie les pics associés chacun à une seule réflexion sur une paroi. Thus in the case of an ideal situation where the peaks linked to a reflection on a wall n possibly have multiple temporal abscissas of the delay TAUn associated with this wall n, a first part of peaks can be pre-selected at the smallest positive temporal abscissas, to identify in this part the peaks each associated with a single reflection on a wall.
[0048] Dans la réalisation où les signaux acquis par le microphone se présentent sous la forme d’une succession d’échantillons, on peut appliquer plus généralement à ces échantillons une fenêtre de pondération à variation exponentielle décroissante dans le temps (comme on le verra plus loin en référence à la figure FIG.5A). In the embodiment where the signals acquired by the microphone are in the form of a succession of samples, it is possible more generally to apply to these samples a weighting window with decreasing exponential variation over time (as will be seen later with reference to FIG. 5A).
[0049] Eventuellement en complément, on peut placer cette fenêtre en tout début d’attaque sonore (voire juste avant le début d’attaque). On évite ainsi la gêne des réflexions multiples. [0049] Possibly in addition, this window can be placed at the very start of the sound attack (or even just before the start of the attack). This avoids the discomfort of multiple reflections.
[0050] L’application d’une telle fenêtre de pondération permet d’obtenir une première estimation moins biaisée des paramètres U0, dO, etc. issus de l’exploitation de l’expression du vecteur vélocité dans le domaine temporel, notamment lorsqu’il s’agit du vecteur vélocité « classique », par exemple dans le cadre d’une première itération du procédé. En effet, dans certaines situations où la magnitude cumulée des réflexions est plus grande pour que celle du son direct, l’estimation des paramètres précités peut être biaisée. Ces situations peuvent être détectées lorsqu’il est observé des pics à des abscisses temporelles négatives (courbe en haut de la figure 5B) dans l’expression temporelle du vecteur vélocité. L’application d’une fenêtre de pondération du type précité permet de ramener ces pics à des abscisses positives comme illustré par la courbe du bas de la figure 5B, et de donner des estimations moins biaisées. The application of such a weighting window makes it possible to obtain a less biased first estimate of the parameters U0, dO, etc. resulting from the exploitation of the expression of the velocity vector in the time domain, in particular when it is a question of the “classic” velocity vector, for example within the framework of a first iteration of the method. Indeed, in certain situations where the cumulative magnitude of the reflections is greater than that of the direct sound, the estimation of the aforementioned parameters may be biased. These situations can be detected when peaks are observed at negative temporal abscissas (curve at the top of FIG. 5B) in the temporal expression of the velocity vector. The application of a weighting window of the aforementioned type makes it possible to reduce these peaks to positive abscissae as illustrated by the bottom curve of FIG. 5B, and to give less biased estimates.
[0051] Il convient de retenir néanmoins que cette réalisation est optionnelle dans la mesure où l’utilisation du vecteur vélocité généralisé à la place du vecteur vélocité « classique » permet déjà une estimation pratiquement non biaisée des paramètres U0, dO, etc., y compris dans ce type de situation. Néanmoins, un tel traitement peut intervenir par exemple pour une première itération du procédé avec le vecteur vélocité « classique » ou encore dans le deuxième cas, précité, de non- convergence du traitement itératif. [0051] It should nevertheless be noted that this embodiment is optional insofar as the use of the generalized velocity vector instead of the "conventional" velocity vector already allows a practically unbiased estimation of the parameters U0, dO, etc., including included in this type of situation. Nevertheless, such processing can take place for example for a first iteration of the method with the “conventional” velocity vector or even in the second case, mentioned above, of non-convergence of the iterative processing.
[0052] Dans une réalisation, on peut en outre appliquer itérativement une pondération q(f), associée chacune à une bande de fréquences f, au vecteur vélocité (généralisé ou classique) dans le domaine fréquentiel selon une expression du type: q(f) = exp (- |lm(V(f)).m|/ (|| lm(V(f)) ||), où lm(V(f)) est la partie imaginaire du vecteur vélocité (classique ou généralisé, et noté ici simplement « V(f) »), et m est un vecteur unitaire normal au plan défini par le vecteur U0 et une normale à la paroi (typiquement l’axe Z de la figure 1 commentée en détail plus loin). In one embodiment, it is also possible to apply iteratively a weighting q(f), each associated with a frequency band f, to the velocity vector (generalized or conventional) in the frequency domain according to an expression of the type: q(f) = exp (- |lm(V(f)).m|/ (|| lm(V(f)) ||), where lm(V(f)) is the imaginary part of the velocity vector (classical or generalized, and denoted here simply as "V(f)"), and m is a unit vector normal to the plane defined by the vector U0 and a normal to the wall (typically the Z axis of figure 1 with commentary in detail later).
[0053] Une telle réalisation permet de sélectionner les bandes de fréquences les plus exploitables pour la détermination des paramètres précités. Such an embodiment makes it possible to select the most usable frequency bands for determining the aforementioned parameters.
[0054] La présente invention vise aussi un dispositif de traitement de signaux sonores, comportant un circuit de traitement agencé pour la mise en œuvre du procédé ci-avant. The present invention also relates to a device for processing sound signals, comprising a processing circuit arranged for the implementation of the above method.
[0055] A titre illustratif, la figure 4 présente schématiquement un tel circuit de traitement pouvant comporter alors : By way of illustration, FIG. 4 schematically presents such a processing circuit which can then comprise:
[0056] - une interface d’entrée IN pour recevoir des signaux SIG acquis par le microphone (pouvant comporter plusieurs pastilles piézoélectriques pour composer ces signaux, par exemple en contexte ambisonique), [0056] - an IN input interface to receive SIG signals acquired by the microphone (which may include several piezoelectric pads to compose these signals, for example in an ambisonic context),
[0057] - un processeur PROC coopérant avec une mémoire de travail MEM pour traiter ces signaux notamment pour élaborer l’expression du vecteur vélocité généralisé afin d’en tirer les paramètres souhaités dO, U0, etc., dont des valeurs peuvent être délivrées par l’interface de sortie OUT. - a processor PROC cooperating with a working memory MEM to process these signals in particular to work out the expression of the generalized velocity vector in order to derive therefrom the desired parameters dO, U0, etc., the values of which can be delivered by the output interface OUT.
[0058] Un tel dispositif peut se présenter sous la forme d’un module de localisation d’une source sonore dans un environnement 3D, ce module étant connecté à un microphone (type antenne sonore, ou autre). Inversement, il peut s’agir d’un moteur de rendu sonore en fonction d’une position donnée d’une source dans un espace virtuel (comportant une ou plusieurs parois) en réalité augmentée. Such a device can be in the form of a module for locating a sound source in a 3D environment, this module being connected to a microphone (sound antenna type, or other). Conversely, it can be a sound rendering engine based on a given position of a source in a virtual space (comprising one or more walls) in augmented reality.
[0059] La présente invention vise aussi un programme informatique comportant des instructions pour la mise en œuvre du procédé ci-avant, lorsque ces instructions sont exécutées par un processeur d’un circuit de traitement. [0060] Par exemple, les figures 3A, 3B et 7 illustrent un exemple d’ordinogramme possible de l’algorithme d’un tel programme. The present invention also relates to a computer program comprising instructions for implementing the above method, when these instructions are executed by a processor of a processing circuit. [0060] For example, FIGS. 3A, 3B and 7 illustrate an example of a possible flowchart of the algorithm of such a program.
[0061] Selon un autre aspect, il est proposé un support d’enregistrement non transitoire, lisible par un ordinateur, sur lequel est enregistré un tel programme. According to another aspect, there is provided a non-transitory recording medium, readable by a computer, on which such a program is recorded.
[0062] Dans la description détaillée qui va suivre, on désigne indistinctement le vecteur vélocité généralisé et le vecteur généralisé « classique », par le même vocable de « vecteur vélocité », avec la même notation V (V(f) ;V(t)) notamment dans les équations présentées en annexe. Lorsqu’il est question spécifiquement du vecteur vélocité généralisé, il est désigné explicitement sous ce vocable et noté V’ (V’(f) ; V’(t)). Dans une première partie de la description jusqu’à la figure 5B, on rappelle les principes qui sont à la base du formalisme utilisé dans le document FR1911723 et repris ici dans les équations données en annexe. In the detailed description which follows, the generalized velocity vector and the "classic" generalized vector are designated without distinction by the same term "velocity vector", with the same notation V (V(f); V(t )) notably in the equations presented in the appendix. When it is specifically a question of the generalized velocity vector, it is explicitly designated by this term and denoted V' (V'(f); V'(t)). In the first part of the description up to FIG. 5B, the principles underlying the formalism used in document FR1911723 and included here in the equations given in the appendix are recalled.
[0063] Plus généralement, d’autres caractéristiques, détails et avantages apparaîtront à la lecture de la description détaillée ci-après, et à l’analyse des dessins annexés, sur lesquels : [0063] More generally, other characteristics, details and advantages will appear on reading the detailed description below, and on analyzing the appended drawings, in which:
[0064] La figure 1 [Fig. 1] montre à titre illustratif différents paramètres intervenant pour une localisation d’une source sonore selon un mode de réalisation. [0064] Figure 1 [Fig. 1] shows, by way of illustration, various parameters involved in locating a sound source according to one embodiment.
[0065] La figure 2 [Fig. 2] montre à titre illustratif les différents pics successifs que présente l’expression temporelle d’un vecteur vélocité après sa transformée inverse des fréquences vers le temps (« IDFT »). [0065] Figure 2 [Fig. 2] shows by way of illustration the various successive peaks exhibited by the temporal expression of a velocity vector after its inverse frequency-to-time transform ("IDFT").
[0066] La figure 3A [Fig. 3A] montre les étapes de début d’un traitement algorithmique pour déterminer les paramètres pertinent U0, dO, etc., [0066] Figure 3A [Fig. 3A] shows the beginning steps of an algorithmic processing to determine the relevant parameters U0, dO, etc.,
[0067] Et la figure 3B [Fig. 3B] montre la suite des étapes du traitement de la figure 3A. [0067] And FIG. 3B [Fig. 3B] shows the continuation of the processing steps of FIG. 3A.
[0068] La figure 4 [Fig. 4] montre schématiquement un dispositif au sens de l’invention selon un mode de réalisation. [0069] La figure 5A [Fig. 5A] montre une fenêtre de pondération des échantillons des signaux acquis, exponentiellement décroissante dans le temps, selon un mode de réalisation. [0068] Figure 4 [Fig. 4] schematically shows a device within the meaning of the invention according to one embodiment. [0069] Figure 5A [Fig. 5A] shows a weighting window of the samples of the acquired signals, exponentially decreasing over time, according to one embodiment.
[0070] La figure 5B [Fig. 5B] compare une expression temporelle après IDFT du vecteur vélocité : [0070] Figure 5B [Fig. 5B] compares a time expression after IDFT of the velocity vector:
- sans traitement préalable des échantillons par la fenêtre de pondération (courbe du haut), - without prior processing of the samples by the weighting window (top curve),
- et avec traitement par la fenêtre (courbe du bas). - and with window treatment (bottom curve).
[0071] Les figures 6A [Fig. 6A], 6B [Fig. 6B] et 6C [Fig. 6C], représentent l’allure des pics liés présents dans l’expression temporelle du vecteur vélocité généralisé V’(t), au fur et à mesure d’itérations du procédé décrit plus loin en référence à la figure 7, [0071] Figures 6A [Fig. 6A], 6B [Fig. 6B] and 6C [Fig. 6C], represent the shape of the linked peaks present in the temporal expression of the generalized velocity vector V′(t), as iterations of the method described later with reference to FIG.
[0072] La figure 6D [Fig. 6D] illustre très schématiquement et à titre illustratif la forme de la composante de référence D(f) apparaissant au dénominateur de l’expression du vecteur vélocité généralisé V’(f), au fil de plusieurs itérations successives du procédé, et [0072] Figure 6D [Fig. 6D] illustrates very schematically and by way of illustration the form of the reference component D(f) appearing in the denominator of the expression of the generalized velocity vector V'(f), over several successive iterations of the process, and
[0073] La figure 7 [Fig. 7] représente schématiquement les étapes d’un procédé itératif au sens de l’invention, selon une forme de réalisation donnée ici à titre d’exemple. [0073] Figure 7 [Fig. 7] schematically represents the steps of an iterative method within the meaning of the invention, according to an embodiment given here by way of example.
[0074] Le vecteur vélocité peut être calculé de façon connue en soi. Quelques paramétrages particuliers peuvent être recommandés toutefois pour l’amélioration des résultats finaux obtenus. The velocity vector can be calculated in a manner known per se. However, some specific settings can be recommended to improve the final results obtained.
[0075] Habituellement, des spectres fréquentiels B(f) de signaux ambisoniques sont d’abord obtenus typiquement par Transformée de Fourier à Court Terme (ou STFT pour « Short Term Fourier Transform ») pour une succession de trames temporelles b(t), en général chevauchantes (avec addition/recouvrement par exemple). Ici, l’ordre des composantes ambisoniques peut être m=1 pour quatre composantes (sans perte de généralité toutefois, les calculs pouvant s’adapter à des ordres plus élevés). [0076] Alors, pour chacune des trames temporelles, un vecteur vélocité est calculé ensuite pour l’ensemble des échantillons fréquentiels comme ratio des composantes directionnelles X(f), Y(f) et Z(f) : Usually, frequency spectra B(f) of Ambisonic signals are first typically obtained by Short Term Fourier Transform (or STFT for “Short Term Fourier Transform”) for a succession of time frames b(t), generally overlapping (with addition/overlap for example). Here, the order of the Ambisonic components can be m=1 for four components (without loss of generality however, the calculations being able to adapt to higher orders). Then, for each of the time frames, a velocity vector is then calculated for all the frequency samples as a ratio of the directional components X(f), Y(f) and Z(f):
- sur la composante omnidirectionnelle W(f) (équation Eq.6 de l’ANNEXE), pour le vecteur vélocité classique, ou - on the omnidirectional component W(f) (equation Eq.6 of the APPENDIX), for the classical velocity vector, or
- sur une composante de référence D(f), pour le vecteur vélocité généralisé, D(f) remplaçant W(f) dans l’équation Eq.6 de l’ANNEXE. - on a reference component D(f), for the generalized velocity vector, D(f) replacing W(f) in equation Eq.6 of the APPENDIX.
[0077] On peut envisager des réalisations introduisant en outre un lissage temporel ou une consolidation par somme pondérée, comme décrit plus loin. It is possible to envisage embodiments which also introduce temporal smoothing or consolidation by weighted sum, as described below.
[0078] Avec un tel ratio (X(f)/W(f), Y(f)/W(f), Z(f)/W(f) ; X(f)/D(f), Y(f)/D(f), Z(f)/D(f)), on fait disparaître substantiellement la caractéristique du signal source pour mettre en évidence les caractéristiques du canal acoustique, si tant est que la composition spectrale du signal audio excite une quantité substantielle de fréquences utiles (par exemple sur une large bande de fréquences). With such a ratio (X(f)/W(f), Y(f)/W(f), Z(f)/W(f); X(f)/D(f), Y( f)/D(f), Z(f)/D(f)), the characteristic of the source signal is substantially removed to highlight the characteristics of the acoustic channel, if indeed the spectral composition of the audio signal excites a substantial amount of useful frequencies (e.g. over a wide frequency band).
[0079] Dans les applications présentées précédemment, on peut considérer la situation d’une source acoustique aux caractéristiques stables (en position et en rayonnement, au moins sur quelques trames consécutives) émettant un signal s(t), dans un environnement acoustique stable (parois et objets réfléchissants, éventuellement diffractant, etc., donc responsables de ce qu’on désigne usuellement par « effet de salle » même si l’on peut se trouver en dehors d’une « salle » en tant que telle). Ces signaux sont captés par un microphone de type ambisonique. Les signaux ambisoniques b(t) résultent de l’encodage spatial combiné de différentes versions du signal s(t) selon ses trajets direct et indirects, ce que l’on nomme « effet du canal acoustique ». Cela se traduit par la convolution du signal par une réponse impulsionnelle spatiale h(t) dont chaque canal (ou dimension) est associé à une composante ambisonique, comme exprimé dans l’équation Eq.8 de l’ANNEXE. In the applications presented previously, one can consider the situation of an acoustic source with stable characteristics (in position and in radiation, at least over a few consecutive frames) emitting a signal s(t), in a stable acoustic environment ( reflective walls and objects, possibly diffracting, etc., therefore responsible for what is usually referred to as "room effect" even if one can find oneself outside a "room" as such). These signals are picked up by an Ambisonic type microphone. Ambisonic signals b(t) result from the combined spatial encoding of different versions of the signal s(t) along its direct and indirect paths, the so-called “acoustic channel effect”. This results in the convolution of the signal by a spatial impulse response h(t) whose each channel (or dimension) is associated with an ambisonic component, as expressed in equation Eq.8 of the APPENDIX.
[0080] Cette réponse impulsionnelle est nommée SRIR pour « Spatial Room Impulse Response » et se représente généralement comme une série de pics temporels : This impulse response is called SRIR for "Spatial Room Impulse Response" and is generally represented as a series of temporal peaks:
- le premier pic, situé au temps t=TAU0 (temps de propagation), correspondant au son direct, - the first peak, located at time t=TAU0 (propagation time), corresponding to the live sound,
- le deuxième pic, à t=TAU1 correspond à une première réflexion, etc. - the second peak, at t=TAU1 corresponds to a first reflection, etc.
[0081] Ainsi on doit pouvoir lire dans ces pics la direction de provenance de ces fronts d’onde, avec en première approximation l’expression du vecteur un donné dans l’équation Eq.9-1. En pratique, la réponse impulsionnelle spatiale est une donnée inconnue, mais il est exposé ici comment remonter indirectement à certaines de ses caractéristiques, à travers le vecteur vélocité, calculé sur la base du signal ambisonique b(t). Thus it must be possible to read in these peaks the direction from which these wavefronts originate, with as a first approximation the expression of the vector u n given in equation Eq.9-1. In practice, the spatial impulse response is an unknown datum, but it is exposed here how to go back indirectly to some of its characteristics, through the velocity vector, calculated on the basis of the ambisonic signal b(t).
[0082] Pour le mettre en évidence, on décrit d’abord le lien entre la réponse impulsionnelle h(t), le signal émis s(t), et les signaux ambisoniques b(t) (Eq.9-2) sur un intervalle temporel observé, choisi. Pour être exacte, cette expression suppose une absence de tout bruit de mesure et d’autres sources acoustiques dont le signal serait capté directement ou indirectement sur l’intervalle temporel considéré. Ainsi, tout le signal direct et indirect de la source est capté sur cet intervalle temporel. To highlight this, we first describe the link between the impulse response h(t), the transmitted signal s(t), and the ambisonic signals b(t) (Eq.9-2) on a time interval observed, chosen. To be exact, this expression assumes the absence of any measurement noise and other acoustic sources whose signal would be picked up directly or indirectly over the time interval considered. Thus, all the direct and indirect signal of the source is captured over this time interval.
[0083] On montre qu’en opérant une Transformée de Fourier sur tout cet intervalle temporel, le vecteur vélocité qui en découle est uniquement caractéristique de la réponse impulsionnelle spatiale. Cette transformée dite LT (car « plus long terme » qu’une STFT) convertit b(t), s(t) et h(t) en B(f), S(f) et H(f) selon l’équation Eq.10. Ce support temporel peut correspondre à une fenêtre temporelle s’étendant sur plusieurs trames de signal consécutives. It is shown that by performing a Fourier Transform on this entire time interval, the resulting velocity vector is uniquely characteristic of the spatial impulse response. This so-called LT transform (because it is "longer term" than an STFT) converts b(t), s(t) and h(t) into B(f), S(f) and H(f) according to the equation Eq.10. This time support may correspond to a time window extending over several consecutive signal frames.
[0084] On déduit alors, de l’expression de la convolution dans le domaine des fréquences, celle du vecteur vélocité, calculé à l’équation Eq.11 . Cette expression Eq.11 devient caractéristique du canal acoustique (autrement dit, de l’effet de salle) et non plus du signal émis, pour peu que celui-ci présente une énergie non-nulle (en pratique, détectable) pour chaque fréquence f, sur la période temporelle considérée. We then deduce, from the expression of the convolution in the frequency domain, that of the velocity vector, calculated with equation Eq.11. This expression Eq.11 becomes characteristic of the acoustic channel (in other words, of the room effect) and no longer of the transmitted signal, provided that the latter has a non-zero energy (in practice, detectable) for each frequency f , over the time period considered.
[0085] En pratique et comme il a été évoqué, une modalité fréquente est de procéder à une analyse temps-fréquence par trame, où chaque Transformée de Fourier à Court Terme s’applique à un fenêtrage temporel qui ne vérifie pas a priori que le signal observé résulte entièrement et seulement d’un produit de convolution de l’équation Eq.9. Cela fait qu’au sens strict, le vecteur vélocité ne peut pas s’écrire sous une forme qui ne caractérise que le canal acoustique (comme la partie droite de l’équation Eq.11 ). Cependant il en est fait ici autant que possible l’approximation (équation Eq.20 introduite plus loin) dans le cadre de cette description, tout en exploitant des avantages de l’analyse à court terme présentée ci-après. [0085] In practice and as mentioned, a frequent method is to carry out a time-frequency analysis per frame, where each Short-Term Fourier Transform is applied to a temporal windowing which does not verify a priori that the observed signal results entirely and only from a convolution product of equation Eq.9. This means that, in the strict sense, the velocity vector cannot be written in a form which only characterizes the acoustic channel (like the right part of equation Eq.11 ). However, this is approximated as much as possible here (equation Eq.20 introduced later) in the context of this description, while exploiting the advantages of the short-term analysis presented below.
[0086] On cherche à des étapes ultérieures une succession de pics d’énergie qui caractérisent d’une part le trajet direct du signal émis depuis la source et reçu par le microphone, puis les premières réflexions sur une ou plusieurs parois, tant que ces réflexions sont identifiables. On peut se concentrer alors sur ce qui est caractéristique du début de la réponse impulsionnelle spatiale, à savoir en premier lieu le premier pic temporel, dont on déduit la direction du son direct, et éventuellement les pics temporels suivants, caractéristiques des premières réflexions. [0086] At later stages, a succession of energy peaks is sought which characterize on the one hand the direct path of the signal emitted from the source and received by the microphone, then the first reflections on one or more walls, as long as these reflections are identifiable. We can then concentrate on what is characteristic of the beginning of the spatial impulse response, namely firstly the first temporal peak, from which we deduce the direction of the direct sound, and possibly the following temporal peaks, characteristics of the first reflections.
[0087] Pour ce faire, on inspecte l’effet d’une interférence entre le son direct et au moins une réflexion, sur l’expression du vecteur vélocité complexe, de façon à estimer des paramètres pertinents pour définir la position de la source sonore. To do this, the effect of interference between the direct sound and at least one reflection is inspected on the expression of the complex velocity vector, so as to estimate relevant parameters for defining the position of the sound source. .
[0088] On introduit un modèle simplifié d’un trajet direct (n=0) combiné à N réflexions spéculaires (n=1 ,...,N) pour le début de la réponse impulsionnelle comme présenté dans l’équation Eq.12., où gn , TAUn, et Un, sont respectivement l’atténuation, le retard et la direction de provenance de l’onde d’indice n (nième réflexion) arrivant au système microphonique. Dans la suite, pour des raisons de simplification mais sans restriction de généralité, on considère des retards et atténuation relatifs au son direct, ce qui revient à poser les termes de l’équation Eq.13 pour n=0. We introduce a simplified model of a direct path (n=0) combined with N specular reflections (n=1,...,N) for the start of the impulse response as presented in equation Eq.12 ., where g n , TAUn, and Un, are respectively the attenuation, the delay and the direction of origin of the wave of index n (nth reflection) arriving at the microphone system. In the following, for reasons of simplification but without restriction of generality, delays and attenuation relating to the direct sound are considered, which amounts to setting the terms of the equation Eq.13 for n=0.
[0089] L’expression fréquentielle correspondante est donnée à l’équation Eq.14, avec le cas particulier de gammao = 1 pour le son direct. Bien entendu, la variable gamman, quel que soit n supérieur à 0, est fonction de la fréquence f. The corresponding frequency expression is given in equation Eq.14, with the particular case of gammao = 1 for the direct sound. Of course, the gamman variable, whatever n is greater than 0, is a function of the frequency f.
[0090] Il s’en suit l’expression fréquentielle du champ ambisonique, si on néglige la partie plus tardive, donnée par l’expression Eq.16. [0091] Le vecteur vélocité à court-terme s’exprime alors par l’équation Eq.17, ou encore par l’équation Eq.18 selon une version régularisée avec un terme EPSILON non nul de façon à éviter des valeurs (quasi) infinies lorsque la composante au dénominateur est (presque) nulle. Dans l’équation Eq.17 ou Eq.18, la composante W (propre au vecteur vélocité classique) peut être remplacée par la composante de référence D pour exprimer le vecteur vélocité généralisé. En réalité, dans le cas général, D remplace W au dénominateur, l’expression du vecteur vélocité classique V correspondant au cas particulier où D=W. Toutefois, pour la commodité de l’exposé ici, il est présenté dans les premières équations de l’annexe des notations relatives au cas particulier où D=W, données pour le vecteur vélocité classique mais facilement transposables au vecteur vélocité généralisé en conservant à l’esprit que D y remplace W. The frequency expression of the ambisonic field follows, if the later part, given by the expression Eq.16, is neglected. The short-term velocity vector is then expressed by the equation Eq.17, or even by the equation Eq.18 according to a regularized version with a non-zero EPSILON term so as to avoid values (quasi) infinite when the component in the denominator is (almost) zero. In equation Eq.17 or Eq.18, the component W (specific to the classical velocity vector) can be replaced by the reference component D to express the generalized velocity vector. In reality, in the general case, D replaces W in the denominator, the expression of the classical velocity vector V corresponding to the particular case where D=W. However, for the convenience of the presentation here, notations relating to the particular case where D=W are presented in the first equations of the appendix, given for the classical velocity vector but easily transposable to the generalized velocity vector by keeping at l mind that D replaces W there.
[0092] L’analyse à court-terme permet d’observer, au cours du temps et selon l’évolution dynamique du signal source, des empreintes fréquentielles (notées « FDW » ci-après), caractéristiques de sous-mélanges de fronts d’onde au sein de la réponse impulsionnelle spatiale. Un sous-mélange caractéristique (smx pour « submix »), pour une observation donnée, est modélisé selon Eq.19, dans les domaines temporel et fréquentiel. The short-term analysis makes it possible to observe, over time and according to the dynamic evolution of the source signal, frequency fingerprints (denoted "FDW" below), characteristics of sub-mixtures of fronts d wave within the spatial impulse response. A characteristic submix (smx for “submix”), for a given observation, is modeled according to Eq.19, in the time and frequency domains.
[0093] Dans l’approche décrite ci-après, on s’attache à caractériser l’empreinte fréquentielle FDW comme découlant d’un modèle implicite de sous-mélange Hsmx par l’approximation exprimée en Eq.20 (qui n’est en générale pas une égalité exacte sauf situations particulières). L’expression de l’équation Eq.20 est donnée ici en pratique pour le vecteur vélocité classique et peut être adaptée pour le vecteur vélocité généralisé en remplaçant H_W par le matriçage du vecteur H par une matrice D0 décrite plus loin. In the approach described below, we endeavor to characterize the frequency footprint FDW as resulting from an implicit model of sub-mixing H smx by the approximation expressed in Eq.20 (which is not generally not an exact equality except in special situations). The expression of the equation Eq.20 is given here in practice for the classical velocity vector and can be adapted for the generalized velocity vector by replacing H_W by the matrixing of the vector H by a matrix D 0 described later.
[0094] En particulier à des instants d’attaque du signal, le modèle implicite hsmx (t) s’apparente plausiblement au début de la réponse impulsionnelle spatiale hearly (t) au moins en termes de directions et retards relatifs de fronts d’onde. Les paramètres implicites de gains relatifs gn étant quant à eux impactés par le fenêtrage temporel et les caractéristiques dynamiques du signal, ils ne se présentent pas nécessairement comme conformes à ceux de la réponse impulsionnelle. S’intéressant ici prioritairement à l’onde directe (qui fournit la DoA) et à une ou quelques réflexions précoces, il est considéré essentiellement les situations où l’observation en est caractéristique. In particular at instants of attack of the signal, the implicit model h smx (t) is plausibly similar to the beginning of the spatial impulse response h early (t) at least in terms of directions and relative delays of fronts d 'wave. The implicit relative gain parameters g n being impacted by the temporal windowing and the dynamic characteristics of the signal, they do not occur necessarily conform to those of the impulse response. Interested here primarily in the direct wave (which provides the DoA) and in one or a few early reflections, it is essentially considered the situations where the observation is characteristic of it.
[0095] A des fins d’illustration notamment, il est exposé ci-après un exemple de traitement ne tenant en compte qu’une seule réflexion avec estimation dans le domaine fréquentiel du vecteur vélocité classique, le cas du vecteur vélocité généralisé étant présenté plus loin. On traite ici le cas d’une interférence simple (essentiellement entre le son direct et une première réflexion), et on montre comment déterminer les paramètres cherchés en mettant en lumière une structure spatio-fréquentielle particulière, en regardant non seulement la partie réelle mais aussi la partie imaginaire du vecteur vélocité. En effet, le champ ambisonique s’écrit selon Eq.21 , et on en déduit le vecteur vélocité selon Eq.22. Il découle de cette expression que les parties réelles et imaginaires parcourent des segments parallèles dans l’espace 3D (respectivement affine et linéaire) lorsque les fréquences parcourent le spectre audio considéré comme présenté dans Eq.23. Le segment affine (partie réelle) est sur une droite contenant les vecteurs unitaires U0 et U1 pointant vers les ondes respectivement directe et indirecte, et les deux segments sont orthogonaux au plan médian de ces deux vecteurs (et donc la partie imaginaire du vecteur l’est toujours elle-même puisqu’elle se trouve sur le segment linéaire). Par ailleurs, en supposant une distribution homogène des déphasages entre les ondes (donc un balayage représentatif des fréquences), selon un calcul de statistiques, la moyenne de la partie réelle du vecteur vélocité est égale au vecteur U0 comme exprimé en Eq.24 et le maximum de probabilité est une moyenne de U0 et U1 pondérée par l’amplitude respective des ondes comme exprimé en Eq.25. Les détections de DoA basées sur un maximum de probabilité sont donc entachées d’un biais angulaire systématique, donnant une direction intermédiaire entre le son direct et sa direction. Les équations Eq.23 montrent que ce balayage spatial se fait avec une périodicité fréquentielle égale à l’inverse du retard TAU1 entre les deux ondes. Il est donc possible d’extraire les directions U0 et U1 ainsi que le retard TAU1 à partir des observations, lorsque de telles structures spatio- fréquentielles peuvent être observées. Il est présenté plus loin une autre réalisation d’estimation de ces paramètres dans le domaine temporel (description en lien avec la figure 2). For illustrative purposes in particular, an example of processing taking into account only one reflection with estimation in the frequency domain of the classic velocity vector is set out below, the case of the generalized velocity vector being presented below. far. We deal here with the case of a simple interference (essentially between the direct sound and a first reflection), and we show how to determine the parameters sought by highlighting a particular spatio-frequency structure, by looking not only at the real part but also the imaginary part of the velocity vector. Indeed, the ambisonic field is written according to Eq.21 , and the velocity vector is deduced therefrom according to Eq.22. It follows from this expression that the real and imaginary parts travel parallel segments in 3D space (respectively affine and linear) when the frequencies travel the considered audio spectrum as presented in Eq.23. The affine segment (real part) is on a line containing the unit vectors U0 and U1 pointing to the direct and indirect waves respectively, and the two segments are orthogonal to the median plane of these two vectors (and thus the imaginary part of the vector l' is always itself since it is on the linear segment). Furthermore, assuming a homogeneous distribution of the phase shifts between the waves (therefore a representative sweep of the frequencies), according to a calculation of statistics, the average of the real part of the velocity vector is equal to the vector U0 as expressed in Eq.24 and the maximum probability is an average of U0 and U1 weighted by the respective amplitude of the waves as expressed in Eq.25. DoA detections based on a maximum probability are therefore tainted by a systematic angular bias, giving an intermediate direction between the direct sound and its direction. The equations Eq.23 show that this spatial scanning is done with a frequency periodicity equal to the inverse of the delay TAU1 between the two waves. It is therefore possible to extract the directions U0 and U1 as well as the delay TAU1 from the observations, when such spatio- frequencies can be observed. Another embodiment for estimating these parameters in the time domain is presented below (description in connection with FIG. 2).
[0096] En disposant d’un a priori sur l’orientation de la surface de réflexion par rapport au repère du microphone, on peut alors déduire de l’estimation de U0, U1 , TAU1 , l’information de distance absolue d de la source par rapport au microphone, et éventuellement l’altitude des deux. En effet, en notant dO la distance de la source S0 au microphone M, et d1 celle de son image-miroir S1 par rapport à la surface de réflexion R comme illustré sur la figure 1 , la surface R est orthogonale au plan formé par les vecteurs U0 et U1. Les trois points (M,S0,S1 ) sont dans un même plan orthogonal à la surface R. Il reste à définir un paramètre à déterminer pour définir l’orientation (ou inclinaison) du plan de réflexion. Dans le cas d’une réflexion par le sol ou le plafond (détectée ainsi parce que U1 pointe vers le sol ou le plafond), on peut exploiter l’hypothèse que celui-ci est horizontal et parallèle au plan X-Y du repère du microphone ambisonique. Alors les distances dO et d1 sont liées par la relation Eq.26, laquelle donne d’ailleurs directement la distance du microphone M à l’axe (S0,S1 ), PHIO et PHI1 étant les angles d’élévation respectifs des vecteurs U0 et U1. By having an a priori on the orientation of the reflection surface with respect to the reference of the microphone, it is then possible to deduce from the estimation of U0, U1, TAU1, the absolute distance information d of the source relative to the microphone, and possibly the altitude of both. Indeed, by noting dO the distance from the source S0 to the microphone M, and d1 that of its mirror image S1 with respect to the reflection surface R as illustrated in figure 1, the surface R is orthogonal to the plane formed by the vectors U0 and U1. The three points (M,S0,S1 ) are in the same plane orthogonal to the surface R. It remains to define a parameter to be determined to define the orientation (or inclination) of the plane of reflection. In the case of a reflection by the floor or the ceiling (detected thus because U1 points towards the floor or the ceiling), one can exploit the assumption that this one is horizontal and parallel to the X-Y plane of the frame of the ambisonic microphone . Then the distances dO and d1 are linked by the relation Eq.26, which moreover directly gives the distance from the microphone M to the axis (S0,S1), PHIO and PHI1 being the respective elevation angles of the vectors U0 and U1.
[0097] On a en outre une estimation du retard TAU1 du son réfléchi relativement au son direct, ce qui permet d’accéder à une autre relation Eq.27 entre les distances, puisque que leur différence traduit le retard de trajet acoustique, avec un facteur c qui est la vitesse du son. We also have an estimate of the delay TAU1 of the reflected sound relative to the direct sound, which allows access to another relationship Eq.27 between the distances, since their difference reflects the acoustic path delay, with a factor c which is the speed of sound.
[0098] En exprimant d1 en fonction de dO, cette dernière quantité devient la seule inconnue, qui peut être estimée selon Eq.28. On obtient également la distance de la source au plan de réflexion, c’est-à-dire sa hauteur ou altitude zO par rapport au sol selon Eq.29, ainsi que celle du microphone en Eq.30. By expressing d1 as a function of d0, this last quantity becomes the only unknown, which can be estimated according to Eq.28. We also obtain the distance from the source to the plane of reflection, i.e. its height or altitude zO with respect to the ground according to Eq.29, as well as that of the microphone in Eq.30.
[0099] Les différents paramètres U0, U1 , PHIO, PHI1 , d1 , dO, etc. sont illustrés sur la figure 1 dans l’exemple d’une réflexion sur un sol. Bien entendu, des paramètres similaires peuvent être déduits quant à une réflexion sur un plafond. De la même manière, des paramètres similaires peuvent être déduits quant à une réflexion sur toute autre surface de réflexion R dont l’orientation par rapport au référentiel du microphone est connue, orientation que l’on caractérise par la normale OR (vecteur unitaire orthogonal à la surface R). Il suffit de redéfinir les angles PHIO et PHI1 par rapport à la surface réfléchissante R, de façon générale en tant que PHI0=arcsin(U0.nR) et PHI1 =arcsin(U1 .nR). On peut ainsi déterminer par le vecteur U1 associé à chaque cas de réflexion des positions respectives de ces obstacles, pour des applications de réalité augmentée ou en robotique pour une estimation de localisation par détection acoustique. The various parameters U0, U1, PHIO, PHI1, d1, dO, etc. are illustrated in Figure 1 in the example of a reflection on a floor. Of course, similar parameters can be deduced for a reflection on a ceiling. In the same way, similar parameters can be deduced regarding a reflection on any other reflection surface R whose orientation with respect to the reference frame of the microphone is known, orientation which is characterized by the normal OR (unit vector orthogonal to the surface R). It suffices to redefine the angles PHIO and PHI1 with respect to the reflecting surface R, generally as PHI0=arcsin(U0.nR) and PHI1=arcsin(U1.nR). It is thus possible to determine by the vector U1 associated with each case of reflection the respective positions of these obstacles, for applications of augmented reality or in robotics for an estimation of location by acoustic detection.
[0100] Dans les cas où l’orientation nR de la surface de réflexion n’est pas connue a priori, il est possible de l’estimer complètement si l’on dispose, par des observations à différents moments, d’estimations des paramètres de front d’onde associées à au moins deux positions de source, pour lesquelles on détecte une réflexion par ce même plan de réflexion. On dispose ainsi d’un premier jeu de paramètres (U0, U1 , TAU1 ) et d’au moins un deuxième (U0’, U1 ’, TAII1 ’). Comme U0 et U1 définissent un plan orthogonal au plan R, leur produit vectoriel définit un axe de ce plan R, et il en est de même d’un produit vectoriel tiré de U0’ et U’1 . In cases where the orientation nR of the reflection surface is not known a priori, it is possible to estimate it completely if one has, by observations at different times, estimates of the parameters wavefront associated with at least two source positions, for which a reflection is detected by this same reflection plane. One thus has a first set of parameters (U0, U1 , TAU1 ) and at least a second (U0’, U1 ’, TAII1 ’). As U0 and U1 define a plane orthogonal to the plane R, their vector product defines an axis of this plane R, and the same is true of a vector product drawn from U0' and U'1 .
[0101] Ces produits vectoriels respectifs (non-colinéaires) définissent à eux deux l’orientation du plan R. These respective (non-collinear) vector products together define the orientation of the plane R.
[0102] Toutefois, une limitation du modèle à seulement deux ondes interférantes (un son direct et une onde réfléchie) est qu’il peut être difficile de discriminer les différentes premières réflexions sur les cloisons. Par ailleurs, le comportement spatio-fréquentiel du vecteur vélocité se complexifie rapidement lorsque des réflexions supplémentaires sont introduites. En effet, le parcours des parties réelles et imaginaires se combinent alors, et de façon non triviale, suivant plusieurs axes :However, a limitation of the model to only two interfering waves (a direct sound and a reflected wave) is that it can be difficult to discriminate between the different first reflections on the partitions. Moreover, the spatio-frequency behavior of the velocity vector quickly becomes more complex when additional reflections are introduced. Indeed, the course of the real and imaginary parts then combine, and in a non-trivial way, along several axes:
- dans des plans parallèles pour une onde directe et deux réflexions, - in parallel planes for a direct wave and two reflections,
- ou dans tout l’espace en général. - or in all space in general.
[0103] Ces distributions spatio-fréquentielle complexes rendent trop fastidieuse la détermination des paramètres du modèle lorsque plusieurs surfaces de réflexion sont à considérer. [0104] Une solution à ce problème consiste à opérer une analyse temps-fréquence plus sélective temporellement (c’est-à-dire avec des fenêtres temporelles plus courtes) pour avoir la chance de voir se manifester un mélange acoustique plus simple lors des attaques d’amplitude (transitoires, montée du signal), c’est-à-dire réduire le nombre de réflexions interférant avec le son direct dans le mélange présent dans la trame en question. Cependant dans certaines situations, les retards associés aux réflexions successives peuvent être trop proches les uns des autres pour isoler l’effet de la première réflexion dans son interférence avec le son direct. [0103] These complex spatio-frequency distributions make it too tedious to determine the parameters of the model when several reflection surfaces are to be considered. [0104] A solution to this problem consists in operating a time-frequency analysis that is more temporally selective (i.e. with shorter time windows) to have the chance of seeing a simpler acoustic mixture appear during the attacks. amplitude (transients, signal rise), i.e. reduce the number of reflections interfering with the direct sound in the mix present in the frame in question. However in some situations, the delays associated with successive reflections may be too close together to isolate the effect of the first reflection in its interference with the direct sound.
[0105] Il est proposé alors ci-après un traitement permettant de séparer facilement les effets de multiples interférences et de caractériser celles-ci. Une première étape consiste à convertir l’empreinte du vecteur vélocité dans le domaine temporel (ou « TDW », pour "Time-Domain Velocity Vector"), au moyen d’une Transformée de Fourier Inverse comme présenté en Eq.31 . Cela a pour effet de condenser les effets de cyclicité fréquentielle associée à certains axes et qui se manifestent en de complexes pérégrinations du vecteur vélocité, en des données plus parcimonieuses et donc plus facilement analysables. En effet une telle conversion fait apparaître des séries de pics à intervalles temporels réguliers, pics dont les plus importants sont facilement détectables et extractibles (voir par exemple la figure 5B). [0105] There is then proposed below a processing making it possible to easily separate the effects of multiple interferences and to characterize them. A first step consists in converting the fingerprint of the velocity vector in the time domain (or “TDW”, for “Time-Domain Velocity Vector”), by means of an Inverse Fourier Transform as presented in Eq.31. This has the effect of condensing the effects of frequency cyclicity associated with certain axes and which manifest themselves in complex peregrinations of the velocity vector, in more parsimonious data and therefore more easily analysable. Indeed such a conversion causes series of peaks to appear at regular time intervals, peaks of which the most important are easily detectable and extractable (see for example FIG. 5B).
[0106] Une propriété remarquable est que par construction (du fait de la Transformée de Fourier inverse) le vecteur en t=0 est égal à la moyenne du vecteur vélocité dans le domaine fréquentiel (moyenne de sa partie réelle si on ne considère que le demi-spectre des fréquences positives). Une telle observation est pertinente pour l’estimation de la DoA principale U0. A remarkable property is that by construction (due to the inverse Fourier Transform) the vector at t=0 is equal to the average of the velocity vector in the frequency domain (average of its real part if we only consider the half-spectrum of positive frequencies). Such an observation is relevant for the estimation of the main DoA U0.
[0107] Repartant du modèle fréquentiel du vecteur vélocité pour deux ondes interférences (son direct et une réflexion), on peut reformuler utilement le dénominateur grâce au développement de Taylor de l’Eq.32. Avec les conditions sur x et gammal données dans l’Eq.32, on arrive à l’expression Eq.33 du vecteur vélocité (classique), et sous condition que la réflexion est d’amplitude moindre que le son direct (g1 <g0=1 , ce qui est le cas en général pour des débuts d’attaque du son), la Transformée de Fourier inverse de cette expression converge et se formule comme exprimé dans l’équation Eq.34, où l’on identifie un premier pic en t=0 qui donne U0 (la direction du son direct), puis une série de pics caractéristiques de l’interférence de la réflexion avec le son direct. Starting from the frequency model of the velocity vector for two interference waves (direct sound and a reflection), the denominator can be reformulated usefully thanks to the Taylor development of Eq.32. With the conditions on x and gammal given in Eq.32, we arrive at the expression Eq.33 of the (classical) velocity vector, and under the condition that the reflection is of lesser amplitude than the direct sound (g1 <g0 =1 , which is generally the case for the beginnings of an attack on the sound), the inverse Fourier transform of this expression converges and is formulated as expressed in equation Eq.34, where we identify a first peak at t=0 which gives U0 (the direction of the direct sound), then a series of peaks characteristic of reflection interference with direct sound.
[0108] Ces pics sont placés en des instants t=kTAU1 multiples (entiers non nuis k>0) du retard TAU1 , et sont d’amplitude exponentiellement décroissante en norme (selon le gain g1 ). En utilisant le vecteur vélocité classique, ils sont associés tous à des directions colinéaires à la différence U0-U1 , donc orthogonales au plan médian entre ces deux vecteurs, et de direction (signe) alternante. L’avantage d’avoir converti le vecteur vélocité dans le domaine temporel est la présentation de façon parcimonieuse et quasi-immédiate des paramètres recherchés (figure 2). These peaks are placed at multiple times t=kTAU1 (non-null integers k>0) of the delay TAU1, and are of exponentially decreasing amplitude in norm (according to the gain g1). By using the classical velocity vector, they are all associated with directions collinear with the difference U0-U1 , therefore orthogonal to the median plane between these two vectors, and with an alternating direction (sign). The advantage of having converted the velocity vector into the time domain is the parsimonious and almost immediate presentation of the parameters sought (figure 2).
[0109] Ainsi, il est possible de déterminer, outre la DoA principale U0 : Thus, it is possible to determine, in addition to the main DoA U0:
- le retard TAU1 , possiblement pour plusieurs parois distinctes, - the TAU1 delay, possibly for several distinct walls,
- puis un vecteur colinéaire à U0-U1 que l’on normalise en un vecteur unitaire n, dont on peut se servir, avec l’équation Eq.41 par exemple (donnée pour le vecteur vélocité classique), pour - then a vector collinear with U0-U1 which is normalized into a unit vector n, which can be used, with equation Eq.41 for example (given for the classical velocity vector), for
- déduire U1 comme étant le symétrique de U0 par rapport à leur plan médian, et- deduce U1 as being the symmetrical of U0 with respect to their median plane, and
- optionnellement, le paramètre d’atténuation g1 (celui-ci étant susceptible d’être modifié par les paramètres d’analyse temps-fréquence, en particulier par la forme d’une fenêtre d’analyse et par son placement temporel relativement aux événements acoustiques observés. L’estimation de ce paramètre est donc de moindre utilité dans les contextes d’application visés ici). - optionally, the attenuation parameter g1 (this being likely to be modified by the time-frequency analysis parameters, in particular by the shape of an analysis window and by its temporal placement relative to the acoustic events The estimation of this parameter is therefore of less utility in the application contexts considered here).
[0110] L’observation des pics temporels suivants permet de vérifier s’ils sont sensiblement conformes à la même série (retards multiples TAU1 , retards multiples TAU2, etc.) et donc caractéristiques de la même interférence, sans quoi il faut par exemple déterminer la présence de multiples réflexions. The observation of the following temporal peaks makes it possible to check whether they are substantially in conformity with the same series (multiple delays TAU1, multiple delays TAU2, etc.) and therefore characteristic of the same interference, otherwise it is necessary for example to determine the presence of multiple reflections.
[0111] On distingue ci-après un cas à « conditions favorables » où, dans le cas de N réflexions, on applique le développement de Taylor pour donner le vecteur vélocité classique selon Eq.35, sous condition que la somme sur N des gammas à l’équation Eq.35 reste inférieure à 1 . La série de Taylor, qui traduit le dénominateur dans l’expression initiale, peut se réécrire en utilisant la loi multinomiale de l’équation Eq.36, ce qui permet de réorganiser l’expression du modèle de vecteur vélocité classique V en somme de plusieurs séries, avec des « séries croisées » représentées par le terme SC de Eq.37. Pour le vecteur vélocité généralisé V’, on retrouve une équation légèrement différente dans l’équation Eq.B2 à la fin de l’annexe, cette équation étant notée également Eq.35b car elle correspond à l’équation Eq.35 mais donnée ici pour le vecteur vélocité généralisé. D’ailleurs à la fin de l’annexe sont données les équations propres au vecteur vélocité généralisé V’ et la correspondance avec une équation précédemment écrite et propre au vecteur vélocité classique, est indiquée par un « b » après le numéro d’équation (Eq.xxb). We distinguish below a case with "favorable conditions" where, in the case of N reflections, we apply the Taylor expansion to give the classical velocity vector according to Eq.35, provided that the sum over N of the gammas to equation Eq.35 remains less than 1 . The Taylor series, which translates the denominator into the initial expression, can be rewritten using the multinomial law of the equation Eq.36, which makes it possible to reorganize the expression of the classical velocity vector model V as a sum of several series, with “cross series” represented by the term SC of Eq.37. For the generalized velocity vector V', we find a slightly different equation in equation Eq.B2 at the end of the appendix, this equation also being denoted Eq.35b because it corresponds to equation Eq.35 but given here for the generalized velocity vector. Moreover, at the end of the appendix are given the equations specific to the generalized velocity vector V' and the correspondence with a previously written equation specific to the classical velocity vector, is indicated by a "b" after the equation number ( Eq.xxb).
[0112] Sous la condition Eq.38 pour le vecteur vélocité classique et toute fréquence f (équation Eq.B3=38b pour le vecteur vélocité généralisé), on en déduit par Transformée de Fourier inverse la série temporelle suivante Eq.39 (équation Eq.B4=39b pour le vecteur vélocité généralisé), avec des séries à retards combinés SARC. On identifie un premier pic en t=0 qui donne U0 (la direction du son direct), puis pour chaque réflexion une série de pics caractéristiques de l’interférence de cette réflexion avec le son direct. Sur la figure 2 par exemple, ces pics sont placés à des abscisses temporelles positives successives, TAU, 2TAU, 3TAU, etc., multiples du retard TAU entre la réflexion sur une paroi et le trajet direct. Under the condition Eq.38 for the classical velocity vector and any frequency f (equation Eq.B3=38b for the generalized velocity vector), we deduce by inverse Fourier transform the following time series Eq.39 (equation Eq .B4=39b for the generalized velocity vector), with series with combined delays SARC. We identify a first peak at t=0 which gives U0 (the direction of the direct sound), then for each reflection a series of peaks characteristic of the interference of this reflection with the direct sound. In FIG. 2 for example, these peaks are placed at successive positive temporal abscissas, TAU, 2TAU, 3TAU, etc., multiples of the delay TAU between the reflection on a wall and the direct path.
[0113] Il apparait ensuite (pour des abscisses temporelles plus grandes) des séries caractéristiques d’interférences entre plusieurs réflexions sur plusieurs parois et le son direct, dont les retards sont d’autres combinaisons (avec facteurs entiers positifs) de leurs différents retards. [0113] Then appear (for larger time abscissas) characteristic series of interferences between several reflections on several walls and the direct sound, whose delays are other combinations (with positive integer factors) of their different delays.
[0114] En effet, la Figure 2 illustre une telle série dans le cas simplifié de deux réflexions interférant avec un son direct. Chaque marqueur (respectivement rond, croix, losange) indique par son ordonnée la contribution des vecteurs U0, U1 , U2 (caractéristiques du son direct, d’une première réflexion et d’une deuxième réflexion respectivement) à l’empreinte temporelle TDVV en fonction des abscisses temporelles. On voit ainsi que la réception du son direct est caractérisée par le premier pic au temps zéro et d’amplitude 1 , illustrée par un rond. L’interférence d’une première réflexion (retard TAU1 ) avec le trajet direct occasionne une première série de pics en TAU1 , 2xTAU1 , 3xTAU1 , etc., qui sont marqués ici par une croix à une extrémité et un rond à l’autre extrémité (haut-bas). L’interférence d’une deuxième réflexion (retard TAU2) avec le trajet direct occasionne une deuxième série de pics en TAU2, 2xTAU2, 3xTAU2, etc., marqués ici par un losange à une extrémité et un rond à l’autre extrémité. Intervient ensuite un élément des « séries croisées », c’est-à-dire les interférences entre les réflexions (premier retard : TAU1 +TAU2, puis 2TAU1 +TAU2, puis TAU1 +2TAU2, etc.). Ces séries croisées, dont l’expression est accessible mais longue à écrire dans un cas général, ne sont pas explicitées ici par souci de concision, d’autant qu’elles n’ont pas besoin d’être exploitées pour estimer les paramètres pertinents dans le traitement présenté ici. Indeed, Figure 2 illustrates such a series in the simplified case of two reflections interfering with a direct sound. Each marker (respectively round, cross, diamond) indicates by its ordinate the contribution of the vectors U0, U1, U2 (characteristics of the direct sound, of a first reflection and of a second reflection respectively) to the temporal imprint TDVV as a function of temporal abscissas. It can thus be seen that the reception of the direct sound is characterized by the first peak at time zero and of amplitude 1, illustrated by a circle. The interference of a first reflection (delay TAU1) with the direct path causes a first series of peaks in TAU1 , 2xTAU1 , 3xTAU1 , etc., which are marked here by a cross at one end and a circle at the other end (top-bottom). The interference of a second reflection (TAU2 delay) with the direct path causes a second series of peaks in TAU2, 2xTAU2, 3xTAU2, etc., marked here by a diamond at one end and a circle at the other end. Then comes an element of the "crossed series", that is to say the interference between the reflections (first delay: TAU1 +TAU2, then 2TAU1 +TAU2, then TAU1 +2TAU2, etc.). These cross series, whose expression is accessible but long to write in a general case, are not explained here for the sake of brevity, especially since they do not need to be used to estimate the relevant parameters in the treatment presented here.
[0115] On décrit ci-après l’analyse de l’empreinte temporelle par estimation séquentielle des paramètres. The analysis of the temporal footprint by sequential estimation of the parameters is described below.
[0116] L’estimation des paramètres du modèle d’après une série temporelle calculée se fait de façon similaire au cas d’une seule réflexion précédemment décrit. On se place d’abord dans la situation la plus générale (excluant des cas particuliers traités ensuite), correspondant à un cas favorable lorsque les retards ne se « chevauchent » pas : les séries décrites ci-dessus ne connaissent alors pas de coïncidence temporelle, c’est-à-dire que tout pic identifiable appartient à une seule d’entre elles. Donc en relevant les pics temporels par retard croissant à partir de t=0, tout nouveau pic détecté, de retard TAUnew, peut être soit attribué à une série déjà identifiée, soit définir le début d’une nouvelle série. En effet, compte-tenu d’un ensemble de retards caractéristiques de réflexions déjà identifiées, le premier cas se détecte s’il existe des entiers positifs k ou pour partie nuis donnant TAUnew selon Eq.40, sans quoi on tombe dans le deuxième cas et l’on augmente le jeu des réflexions identifiées en introduisant le nouveau retard TAUN+1 , associé à une direction que l’on peut estimer de la manière décrite dans le cas d’une réflexion seule. The estimation of the parameters of the model from a calculated time series is done in a similar way to the case of a single reflection previously described. We first place ourselves in the most general situation (excluding specific cases dealt with later), corresponding to a favorable case when the delays do not “overlap”: the series described above do not then experience any temporal coincidence, that is, any identifiable peak belongs to only one of them. So by recording the temporal peaks by increasing delay from t=0, any new peak detected, with a delay TAUnew, can either be attributed to a series already identified, or define the start of a new series. Indeed, taking into account a set of delays characteristic of reflections already identified, the first case is detected if there are positive integers k or partially null giving TAUnew according to Eq.40, otherwise we fall into the second case and the set of identified reflections is increased by introducing the new delay TAUN+1, associated with a direction which can be estimated in the manner described in the case of a single reflection.
[0117] En pratique, il peut ne pas être nécessaire de chercher à expliquer de nombreux pics temporels. On se restreint à de premiers pics observés, d’autant plus qu’ils sont les plus facilement détectables car d’amplitudes (ou magnitudes, en valeur absolue) plus importantes que les suivants. Ainsi, les situations où des retards ont des multiples communs mais sont de rang Ki ; Kj élevés (ou non faibles) peuvent être analysées en fonction de l’amplitude par le traitement ci-dessus. In practice, it may not be necessary to seek to explain many temporal peaks. We restrict ourselves to the first observed peaks, especially that they are the most easily detectable because of greater amplitudes (or magnitudes, in absolute value) than the following ones. Thus, situations where delays have common multiples but are of rank Ki; High (or non-low) Kj can be analyzed as a function of amplitude by the above processing.
[0118] Tant que la somme des modules de gains implicites gn (n>0) est inférieure à 1 (Eq.38 pour le vecteur vélocité classique), la Transformée de Fourier inverse (Eq.31 ) donne une empreinte temporelle unidirectionnelle se développant sur les temps positifs. As long as the sum of the implicit gain modules gn (n>0) is less than 1 (Eq.38 for the classical velocity vector), the inverse Fourier transform (Eq.31 ) gives a unidirectional temporal imprint developing on positive times.
[0119] Si en revanche la somme des modules de gains implicites gn (n>0) est supérieure à 1 , la Transformée de Fourier inverse donne une empreinte temporelle TDW « bidirectionnelle », avec des séries se développant en général à la fois vers les temps positifs et vers les temps négatifs (courbe du haut de la figure 5B à titre d’illustration). Une telle situation dans laquelle un ou plusieurs gains de réflexion seraient plus grands que 1 peut se rencontrer par exemple quand l’onde directe est d’amplitude moins grande que la somme des amplitudes des ondes issues des réflexions sur une ou plusieurs cloisons. Dans ce « cas défavorable », le pic principal au temps zéro ne correspond plus strictement au vecteur uO, mais à un mélange de celui-ci avec une proportion plus ou moins importante des vecteurs désignant les directions des réflexions. Cela entraîne un biais de localisation (de la ‘DoA estimée’). Un autre symptôme est que le pic principal a alors une norme différente de 1 en général, et plus souvent inférieure à 1 . If, on the other hand, the sum of the implicit gain modules gn (n>0) is greater than 1, the inverse Fourier transform gives a “bidirectional” TDW time imprint, with series generally developing both towards the positive times and towards negative times (top curve of FIG. 5B for illustration). Such a situation in which one or more reflection gains would be greater than 1 can be encountered, for example, when the direct wave has an amplitude less than the sum of the amplitudes of the waves resulting from the reflections on one or more partitions. In this “unfavorable case”, the main peak at time zero no longer corresponds strictly to the vector uO, but to a mixture of the latter with a more or less significant proportion of the vectors designating the directions of the reflections. This leads to a location bias (of the ‘estimated DoA’). Another symptom is that the main peak then has a norm different from 1 in general, and more often less than 1.
[0120] L’invention vient proposer un procédé robuste notamment dans ce type de situation. Elle propose d’aménager l’expression du vecteur vélocité en conférant une sélectivité spatiale vers la DoA à la composante D qui apparait à son dénominateur à la place de la composante omnidirectionnelle W habituelle. The invention proposes a robust method, particularly in this type of situation. It proposes to adjust the expression of the velocity vector by conferring spatial selectivity towards the DoA on the D component which appears in its denominator instead of the usual omnidirectional component W.
[0121] En conférant une figure de directivité à la composante de référence D, l’atténuation relative associée à chaque réflexion d’indice n est affectée au dénominateur par un facteur BETAn, en même temps qu’un facteur global NU0 est calculé (équation Eq.B1 de l’annexe), ce qui aboutit à une expression du vecteur vélocité généralisé donnée par l’équation Eq.B2=35b pour un modèle à N réflexions, comme introduit ci-avant pour le cas du vecteur vélocité généralisé. On notera que la condition pour un développement en série de Taylor tel que présenté dans le membre de droite de l’équation, est maintenant donnée par l’équation Eq.B3=38b. On comprend bien que grâce aux facteurs d’atténuation supplémentaires BETAn, cette condition est plus facilement respectée dans plus de situations. Il est rappelé qu’un indicateur du respect de cette condition et du modèle qui en découle, est le caractère causal de la série temporelle globale. Sous cette condition vérifiée pour l’ensemble des fréquences, le modèle de vecteur vélocité généralisé dans le domaine temporel se décline alors sous la forme de l’équation Eq.B4=39b qui fait apparaître (de façon similaire au cas du vecteur vélocité classique, à l’équation Eq.39) : By conferring a directivity figure on the reference component D, the relative attenuation associated with each reflection of index n is assigned to the denominator by a factor BETAn, at the same time as a global factor NU0 is calculated (equation Eq.B1 of the appendix), which leads to an expression of the generalized velocity vector given by the equation Eq.B2=35b for a model with N reflections, as introduced above for the case of the generalized velocity vector. Note that the condition for a Taylor series expansion as presented in the right-hand side of the equation, is now given by the equation Eq.B3=38b. It is well understood that thanks to the additional attenuation factors BETAn, this condition is more easily respected in more situations. It is recalled that an indicator of compliance with this condition and the resulting model is the causal character of the global time series. Under this condition verified for all the frequencies, the generalized velocity vector model in the time domain is then declined in the form of the equation Eq.B4=39b which shows (in a similar way to the case of the classical velocity vector, to equation Eq.39):
- un premier pic en t=0 donc la direction donne la DoA, le vecteur U0 s’obtenant par normalisation de l’équation Eq.B5, - a first peak at t=0 so the direction gives the DoA, the vector U0 being obtained by normalizing the equation Eq.B5,
- autant de séries temporelles que de réflexions, chacune associée à l’interférence entre une réflexion et le son direct, et dont la valeur des vecteurs observés à intervalles réguliers TAUn, est reportée dans l’équation Eq.B6, - as many time series as reflections, each associated with the interference between a reflection and the direct sound, and for which the value of the vectors observed at regular intervals TAUn, is reported in equation Eq.B6,
- et des séries à retards combinés notées SARC qui ne sont pas utilisées dans la procédure d’estimation qui suit. - and series with combined delays denoted SARC which are not used in the following estimation procedure.
[0122] Partant de l’équation Eq.B6 en fin d’annexe, on retient une relation particulière entre deux vecteurs successifs d’une série, notamment entre les deux premiers vecteurs V’(TAUn) et V’(2.TAUn), les plus saillants. L’équation Eq.B7 fait ainsi apparaître un facteur (-Gn/BETAn) noté ici « RHO » et dont l’équation Eq.B8 propose une estimation en tant que produit scalaire des deux premiers vecteurs précités de la même série V’(TAUn) et V’(2.TAUn), ce produit scalaire étant divisé par la norme au carré du premier. En réintégrant le facteur RHO dans l’équation Eq.B6, l’équation Eq.B9 obtenue peut être réorganisée pour donner l’équation Eq.BI O. Celle-ci montre dans son membre de droite, le vecteur Un (en particulier, le vecteur U1 si l’on se focalise sur la première réflexion et sa série associée), affecté par un facteur NUO/Gn qui est positif (sauf situation a priori rare telle qu’une réflexion avec inversion de phase) : il peut donc être obtenu par normalisation du membre de gauche V’(TAUn)-RHO.V’(0). [0123] Par ailleurs, le facteur global NUO est susceptible d’intégrer d’autres facteurs d’influence que la directivité de référence, par exemple une réduction globale d’amplitude qui pourrait être provoquée par une limitation de la bande passante fréquentielle du signal source, et/ou son masquage partiel par du bruit (bien que ce dernier effet soit en général plus complexe à modéliser). Il est intéressant de noter que finalement, la direction du vecteur U1 (ou plus généralement Un) peut être estimée de la même façon et ce pour une cause quelconque de cette réduction globale d’amplitude NUO. [0122] Starting from the equation Eq.B6 at the end of the appendix, a particular relationship is retained between two successive vectors of a series, in particular between the first two vectors V'(TAUn) and V'(2.TAUn) , the most salient. The equation Eq.B7 thus shows a factor (-Gn/BETAn) denoted here "RHO" and whose equation Eq.B8 proposes an estimate as a scalar product of the first two aforementioned vectors of the same series V'( TAUn) and V'(2.TAUn), this scalar product being divided by the squared norm of the first. By reintegrating the RHO factor into the equation Eq.B6, the obtained equation Eq.B9 can be rearranged to give the equation Eq.BI O. This shows in its right-hand side, the vector Un (in particular, the vector U1 if we focus on the first reflection and its associated series), affected by a factor NUO/Gn which is positive (except a priori rare situation such as a reflection with phase inversion): it can therefore be obtained by normalization of the left side V'(TAUn)-RHO.V'(0). Furthermore, the global factor NUO is likely to integrate other influencing factors than the reference directivity, for example an overall reduction in amplitude which could be caused by a limitation of the frequency bandwidth of the signal source, and/or its partial masking by noise (although the latter effect is generally more complex to model). It is interesting to note that finally, the direction of the vector U1 (or more generally Un) can be estimated in the same way and this for any cause of this overall reduction in amplitude NUO.
[0124] On notera par ailleurs que ce mode d’estimation s’applique également au vecteur vélocité classique (auquel cas il faut simplement considérer que BETAn=1 ). [0124] It will also be noted that this mode of estimation also applies to the classical velocity vector (in which case it is simply necessary to consider that BETAn=1 ).
[0125] On décrit ci-après un exemple de réalisation pratique utilisant le vecteur vélocité généralisé, pour déterminer des paramètres tels que la DoA notamment. A practical example of embodiment using the generalized velocity vector is described below, to determine parameters such as the DoA in particular.
[0126] Dans cet exemple de réalisation décrit ici à titre illustratif en référence aux figures 6A à 6D, et 7, une première estimation des retards (étape S71 de la figure 7) est effectuée avec le vecteur vélocité classique, calculé « normalement » : V(f) = 1/W(f) [X(f), Y(f), Z(f)]T par exemple ici sur des composantes ambisoniques du premier ordre. In this exemplary embodiment described here by way of illustration with reference to FIGS. 6A to 6D, and 7, a first estimation of the delays (step S71 of FIG. 7) is carried out with the conventional velocity vector, calculated “normally”: V(f) = 1/W(f) [X(f), Y(f), Z(f)]T for example here on first order ambisonic components.
[0127] A l’étape S721 , des calculs présentés ci-avant sont menés à partir de l’expression fréquentielle du vecteur vélocité classique V(f) jusqu’à l’estimation de l’expression temporelle du vecteur vélocité classique V(t). At step S721, calculations presented above are carried out from the frequency expression of the classical velocity vector V(f) until the estimation of the temporal expression of the classical velocity vector V(t ).
[0128] A l’étape S731 , l’analyse de l’expression temporelle du vecteur vélocité classique V(t) est réalisée en tant que série temporelle de pics. Dans cette analyse, on détermine en particulier s’il est possible de l’identifier effectivement (à des perturbations mineures près) à une série temporelle de type unidirectionnel se développant uniquement dans les temps positifs (comme une véritable « réponse causale »), comme décrit par les équations Eq.39 et Eq.40 de l’annexe. In step S731, the analysis of the temporal expression of the classical velocity vector V(t) is carried out as a time series of peaks. In this analysis, we determine in particular whether it is possible to effectively identify it (with minor disturbances) with a time series of the unidirectional type developing only in positive times (like a true "causal response"), as described by equations Eq.39 and Eq.40 of the appendix.
[0129] Si on trouve, dans l’analyse de l’expression du vecteur vélocité classique V(t) dans le domaine temporel, des structures de pics dans des temps négatifs (par exemple supérieures en énergie ou en amplitude à un seuil THR choisi), comme typiquement les pics présents en abscisses négatives de la figure 6A, alors cela signifie qu’on ne peut pas raisonnablement l’identifier à l’équation Eq.39 et donc que l’estimation de la DoA donnée par le pic V(t=O) est biaisée. Qui plus est, cela est symptomatique du fait que la condition de convergence de la série de Taylor permettant d’aboutir à l’équation Eq.39 n’est pas remplie, et donc du fait que la quantité d’ondes indirectes mélangées au son direct dans le dénominateur du calcul de V(f), est proportionnellement trop importante. Dans l’amélioration proposée ici, on réduit cette proportion d’ondes indirectes par filtrage spatial. Cela signifie qu’il faut améliorer une directivité (celle rentrant en jeu au dénominateur) dans l’estimation du vecteur vélocité V(f). If one finds, in the analysis of the expression of the classical velocity vector V(t) in the time domain, structures of peaks in negative times (for example higher in energy or in amplitude than a chosen threshold THR ), as typically the peaks present on the negative abscissa of FIG. 6A, then this means that it cannot reasonably be identified with equation Eq.39 and therefore that the estimation of the DoA given by the peak V(t=O) is biased. Moreover, this is symptomatic of the fact that the convergence condition of the Taylor series leading to equation Eq.39 is not fulfilled, and therefore of the fact that the quantity of indirect waves mixed with the sound directly in the denominator of the calculation of V(f), is proportionally too large. In the improvement proposed here, this proportion of indirect waves is reduced by spatial filtering. This means that it is necessary to improve a directivity (that coming into play in the denominator) in the estimation of the velocity vector V(f).
[0130] On applique alors un filtrage spatial aux données ambisoniques obtenues pour former un faisceau dans la direction (DoA) estimée à l’étape S751 en tant que V(t==0) d’après le vecteur vélocité obtenu précédemment (étape S71 ). En effet, tout en étant probablement erronée, cette première estimation est susceptible de fournir une approximation certes grossière mais suffisante pour orienter ce faisceau vers la provenance du son direct et atténuer les réflexions venant de secteurs angulaires plus lointains. A spatial filter is then applied to the ambisonic data obtained to form a beam in the direction (DoA) estimated in step S751 as V(t==0) according to the velocity vector obtained previously (step S71 ). Indeed, while probably being erroneous, this first estimate is likely to provide an approximation that is certainly coarse but sufficient to orient this beam towards the origin of the direct sound and attenuate the reflections coming from more distant angular sectors.
[0131] On calcule un vecteur vélocité modifié V’(f), puis V’(t) dans le domaine temporel (étape S781 ), sur la base de ces données ambisoniques filtrées. A modified velocity vector V′(f), then V′(t) in the time domain is calculated (step S781 ), on the basis of these filtered ambisonic data.
[0132] On détermine au test S732 s’il reste encore des pics d’abscisses temporelles inférieures à 0 dans l’expression temporelle de vecteur vélocité modifié V’(t). On peut déterminer que la structure de signal présente dans les abscisses temporelles négatives (estimée par exemple en énergie (référencée « NRJ » sur la figure 7) et donnée par exemple par l’intégrale du signal aux temps négatifs) reste supérieure à un seuil THR, comme illustré à titre d’exemple sur la figure 6B, même si l’on peut noter une amélioration relativement à la figure 6A précédente. It is determined in test S732 whether there still remain peaks of temporal abscissas less than 0 in the temporal expression of the modified velocity vector V′(t). It can be determined that the signal structure present in the negative temporal abscissas (estimated for example in energy (referenced “NRJ” in FIG. 7) and given for example by the integral of the signal at negative times) remains greater than a threshold THR , as illustrated by way of example in FIG. 6B, even if one can note an improvement relative to the preceding FIG. 6A.
[0133] Dans ce cas, on peut réitérer le procédé à nouveau en prenant l’estimation de la DoA(n) grossière obtenue précédemment (S752) pour déterminer une composante de référence D(f) (notée D(n) pour l’itération n du procédé à l’étape S762) dont la directivité permet de représenter la direction du son direct de façon plus sélective que son estimation D(n-1 ) à l’itération précédente et remplacer (S772) cette dernière D(n-1 ) dans l’estimation du vecteur vélocité généralisé V’(f), puis V’(t) à l’étape S782. Ainsi, la directivité d’une composante de référence « capte » plus sélectivement la direction estimée du son direct qu’une composante de référence à une itération précédente. Dans cet exemple de réalisation, on ne dispose pas forcément des ordres ambisoniques supérieurs à 1 et pourtant on peut ajuster à la fois l’orientation et la forme de la directivité pour capter mieux le son direct et ce en captant moins certaines réflexions par exemple. In this case, the method can be reiterated again by taking the estimate of the coarse DoA(n) obtained previously (S752) to determine a reference component D(f) (denoted D(n) for the iteration n of the method at step S762) whose directivity makes it possible to represent the direction of the direct sound more selectively than its estimate D(n-1) at the previous iteration and to replace (S772) the latter D(n- 1 ) in the estimation of the generalized velocity vector V'(f), then V'(t) at step S782. Thus, the directivity of a reference component “captures” the estimated direction of the direct sound more selectively than a reference component at a previous iteration. In this exemplary embodiment, we do not necessarily have ambisonic orders greater than 1 and yet we can adjust both the orientation and the form of the directivity to better capture the direct sound and this by capturing less certain reflections for example.
[0134] Le procédé peut ainsi être réitéré jusqu’à ce que les pics à des temps négatifs soient inférieurs en amplitude ou en énergie au seuil choisi THR, comme illustré sur la figure 6C. The process can thus be repeated until the peaks at negative times are lower in amplitude or in energy than the chosen threshold THR, as illustrated in FIG. 6C.
[0135] Ainsi, il est conféré successivement une sélectivité croissante vis-à-vis du son direct à la composante qui est au dénominateur du vecteur vélocité (classique puis généralisé) au fur et à mesure des itérations, dans son expression à l’ordre 1 . Dans la figure 6D, on est alors passé de la composante W omnidirectionnelle sous forme d’une sphère (en gris clair), à une composante D(1 ) plus sélective et ayant dans cet exemple la forme d’une super-cardioïde en gris plus foncé, puis à D(2) ayant une forme de super-cardioïde plus étroite en gris sombre. Thus, increasing selectivity with respect to the direct sound is successively conferred on the component which is in the denominator of the velocity vector (classic then generalized) as the iterations progress, in its expression to order 1 . In figure 6D, we then went from the omnidirectional W component in the form of a sphere (in light gray), to a more selective component D(1) and having in this example the form of a super-cardioid in gray darker, then to D(2) having a narrower super-cardioid shape in dark gray.
[0136] En reprenant plus en détail le procédé illustré sur la figure 7, la première étape S71 commence par la construction du vecteur vélocité classique dans le domaine fréquentiel V(f) avec la composante omnidirectionnelle W(f) à son dénominateur. A l’étape S721 , il est estimé son expression V(t) dans le domaine temporel. Ensuite, si au test S731 , il est identifié une structure de signal représentant l’expression temporelle du vecteur vélocité classique V(t) avec des pics de sorte que l'énergie NRJ de cette structure de signal à des abscisses temporelles négatives (t<0) reste inférieure à un seuil fixé THR (flèche KO), alors la situation acoustique présente permet déjà de dériver directement du vecteur vélocité classique une DoA non biaisée. Dans ce cas, il peut être déterminé les paramètres DoA, U0, U1 , etc. à l’étape S741 comme décrit précédemment. Sinon (flèche OK en sortie du test S731 ), l’estimation de la DoA directement par le vecteur vélocité classique est biaisée, et il doit être procédé à au moins une première itération (n=1 ) dans laquelle le vecteur vélocité est affiné pour déterminer un vecteur vélocité généralisé, comme suit. [0137] A partir de cette estimation de DoA, même biaisée (obtenue à l’étape S751 ), on estime une composante de référence D(1 ) à l’étape S761 dans le domaine fréquentiel, pour remplacer à l’étape S771 la composante omnidirectionnelle W(f) dans l’expression du vecteur vélocité, maintenant « généralisé », V’(f). A l’étape S781 , l’expression temporelle du vecteur généralisé V’(t) est estimée pour déterminer au test S732 s’il reste une énergie significative (supérieure au seuil THR) dans la structure du signal de cette expression V’(t) à des abscisses temporelles négatives. Si tel n’est pas le cas (flèche KO en sortie du test S732) le procédé peut s’arrêter à cette première itération en donnant les paramètres DoA, etc. à l’étape S742. Sinon, le procédé est réitéré, en mettant à jour l’indice n d’itérations du procédé, à l’étape S791 (ici, les étapes référencées S79x étant relatives aux itérations du procédé, comme l’incrémentation de l’indice n (étape S793) ou la détermination de l’arrêt du procédé S792-S794). Returning to the method illustrated in FIG. 7 in greater detail, the first step S71 begins with the construction of the conventional velocity vector in the frequency domain V(f) with the omnidirectional component W(f) in its denominator. At step S721 , its expression V(t) in the time domain is estimated. Then, if in test S731, a signal structure is identified representing the temporal expression of the classical velocity vector V(t) with peaks such that the NRJ energy of this signal structure at negative temporal abscissas (t< 0) remains below a fixed threshold THR (arrow KO), then the present acoustic situation already makes it possible to derive an unbiased DoA directly from the classical velocity vector. In this case, the parameters DoA, U0, U1, etc. can be determined. at step S741 as previously described. Otherwise (OK arrow at the output of the S731 test), the estimate of the DoA directly by the classical velocity vector is biased, and at least one first iteration (n=1) must be carried out in which the velocity vector is refined for determine a generalized velocity vector, as follows. From this estimate of DoA, even biased (obtained in step S751), a reference component D(1) is estimated in step S761 in the frequency domain, to replace in step S771 the omnidirectional component W(f) in the expression of the now "generalized" velocity vector V'(f). In step S781, the temporal expression of the generalized vector V'(t) is estimated to determine in test S732 whether there remains significant energy (greater than the threshold THR) in the structure of the signal of this expression V'(t ) at negative time abscissas. If such is not the case (arrow KO at the output of test S732) the process can stop at this first iteration by giving the DoA parameters, etc. at step S742. Otherwise, the method is repeated, by updating the index n of iterations of the method, at step S791 (here, the steps referenced S79x being relative to the iterations of the method, such as the incrementation of the index n ( step S793) or the determination of the termination of the process S792-S794).
[0138] Comme précédemment, en fonction de la DoA grossière estimée à l’itération précédente (étape S752), il est estimé une nouvelle composante de référence D(n) à l’étape S762, pour remplacer l’ancienne composante de référence D(n-1 ) au dénominateur du vecteur vélocité généralisé V’(f) à l’étape S772. De cette nouvelle expression du vecteur vélocité généralisé V’(f) dans le domaine fréquentiel, on détermine son expression dans le domaine temporel V’(t) à l’étape S782. On réitère la comparaison de sa structure de signal (en énergie par rapport au seuil THR) au test S733, pour déterminer si la nouvelle DoA qui peut en être estimée serait biaisée ou non. Si tel n’est pas le cas (flèche KO en sortie du test S733), alors on peut obtenir les paramètres notamment de DoA, etc. à l’étape S743, ici après trois itérations comme dans l’exemple illustratif des figures 6A à 6C. Sinon (flèche OK en sortie du test S733), le procédé doit être réitéré à nouveau à partir de l’étape S752 avec la DoA dernièrement estimée, même grossière et possiblement biaisée. As before, depending on the coarse DoA estimated at the previous iteration (step S752), a new reference component D(n) is estimated at step S762, to replace the old reference component D (n-1) to the denominator of the generalized velocity vector V'(f) in step S772. From this new expression of the generalized velocity vector V'(f) in the frequency domain, its expression in the time domain V'(t) is determined in step S782. The comparison of its signal structure (in energy with respect to the threshold THR) to the test S733 is repeated, to determine whether the new DoA which can be estimated therefrom would be biased or not. If this is not the case (arrow KO at the output of the S733 test), then the parameters, in particular of DoA, etc. can be obtained. at step S743, here after three iterations as in the illustrative example of FIGS. 6A to 6C. Otherwise (OK arrow at the output of test S733), the method must be reiterated again from step S752 with the last estimated DoA, even coarse and possibly biased.
[0139] Il est décrit ci-après un exemple de calcul possible de la composante de référence D(f) à partir d’une DoA estimée précédemment. Dans un formalisme tel que celui présenté dans les équations de l’annexe, la composante 0( ) dérive typiquement d’un matriçage (ou d’une somme pondérée par un vecteur D0) des composantes ambisoniques: [0140] OÙ An example of a possible calculation of the reference component D(f) from a previously estimated DoA is described below. In a formalism such as the one presented in the equations in the appendix, the 0 component ( ) typically derives from a matrixing (or a vector-weighted sum D 0 ) of the ambisonic components: [0140] WHERE
- B(f) est un vecteur de signaux décrivant un champ ambisonique dans le domaine fréquentiel tel que par exemple dans le cas d’une onde plane portant un signal S(f) et provenant d’une direction décrite par le vecteur unitaire de sorte que pour le mélange d’ondes directes et indirectes considéré on a est le vecteur des coefficients harmoniques sphériques - B(f) is a vector of signals describing an ambisonic field in the frequency domain such as for example in the case of a plane wave carrying a signal S(f) and coming from a direction described by the unit vector so that for the mixture of direct and indirect waves considered we have is the vector of the spherical harmonic coefficients
- D0 peut être un vecteur de type ‘steering vector’ provoquant un beamforming (« formation de voie » ou « formation de faisceau » en français) orienté en général dans une direction particulière 0 (qu’on peut désigner aussi par un vecteur unitaire de sorte que en définissant un gain de ‘steering gain’ tel que : - D 0 can be a vector of the 'steering vector' type causing a beamforming ("formation of way" or "formation of beam" in French) oriented in general in a particular direction 0 (which can also be designated by a unit vector so that by defining a 'steering gain' such as:
[0141] Jusqu’à l’ordre 1 , la fonction sphérique gO(un) est à symétrie axiale, les degrés de liberté disponibles n’influençant que la proportion entre lobes positif et négatif (le cas échéant) en plus de l’orientation. A partir de l’ordre 2 et suivant les coefficients du vecteur D0, le lobe principal (a priori dans la direction ciblée) n’a pas forcément de symétrie, et des lobes secondaires peuvent avoir des formes et orientations plus variées. Donc en dépit de la notation D0, le beamforming n’est pas uniquement paramétré par la direction principale ciblée 0. [0141] Up to order 1, the spherical function g O (un) is axially symmetric, the available degrees of freedom only influencing the proportion between positive and negative lobes (if any) in addition to the orientation. From order 2 and according to the coefficients of the vector D 0 , the main lobe (a priori in the targeted direction) does not necessarily have symmetry, and secondary lobes can have more varied shapes and orientations. So despite the notation D 0 , the beamforming is not only parameterized by the targeted main direction 0.
[0142] Dans le cas particulier d’une directivité formée à symétrie axiale, il est de la forme . In the particular case of a directivity formed with axial symmetry, it is of the form.
[0143] Le gain s’exprime alors comme un polynôme Pbeamshape(.) du produit scalaire (une variante de polynôme de Legendre) : The gain is then expressed as a polynomial Pbeamshape(.) of the product scalar (a variant of Legendre polynomial):
[0144] Les coefficients diagonaux gbeamshape peuvent prendre en compte : - d’une part, le choix de convention d’encodage ambisonique, donc de calcul des fonctions harmoniques sphériques The gbeamshape diagonal coefficients can take into account: - on the one hand, the choice of ambisonic encoding convention, therefore the calculation of spherical harmonic functions
- et d’autre part, des critères pour jouer sur la forme du faisceau (ou « beam ») en affinant la forme choisie du faisceau grâce au choix de ces coefficients diagonaux (finesse et proportion des lobes principal et secondaires, par exemple). - and on the other hand, criteria for playing on the shape of the beam (or "beam") by refining the chosen shape of the beam thanks to the choice of these diagonal coefficients (fineness and proportion of the main and secondary lobes, for example).
[0145] On peut se référer utilement pour ces aspects au document de thèse de Jérôme Daniel (2000), notamment aux pages 182 à 186 et à la figure 3.14, où les outils proposés pour le décodage spatial sont directement applicables à la construction de directivité à partir de signaux ambisoniques comme présenté ici pour la composante de référence D. For these aspects, it is useful to refer to the thesis document by Jérôme Daniel (2000), in particular to pages 182 to 186 and to figure 3.14, where the tools proposed for spatial decoding are directly applicable to the construction of directivity. from ambisonic signals as presented here for the reference component D.
[0146] Selon un tel formalisme, on retiendra qu’il est possible de définir des coefficients de gain pour conférer une sélectivité à la composante D(f) exprimée ci- dessus en fonction de gbeamshape-According to such a formalism, it will be noted that it is possible to define gain coefficients to confer selectivity on the component D(f) expressed above as a function of gbeamshape-
[0147] En référence à nouveau à la figure 7, il convient de noter que selon les situations acoustiques, il se peut qu’on ne trouve aucune forme du vecteur vélocité généralisé V’(t) dans le domaine temporel ayant une bonne allure de type « causal », et donc une bonne estimation de DoA. En référence à nouveau à la figure 7, il est ajouté à titre d’exemple un critère d’arrêt pour sortir des itérations du procédé quand il n’améliore plus la forme du signal illustrant le vecteur vélocité généralisé V’(t) dans le domaine temporel. Ainsi, si à la fin d’une itération précédente, au test S733, l’énergie de ce signal est toujours supérieure au seuil THR dans les abscisses temporelles négatives (t<0), et si les itérations du procédé n’améliorent pas (ou plus) l’estimation du vecteur vélocité généralisé V’(t), ce qui peut se manifester à la fois par : Referring again to FIG. 7, it should be noted that depending on the acoustic situations, it may be that no form of the generalized velocity vector V'(t) is found in the time domain having a good appearance of "causal" type, and therefore a good estimate of DoA. Referring again to FIG. 7, a stopping criterion is added by way of example to exit iterations of the method when it no longer improves the shape of the signal illustrating the generalized velocity vector V'(t) in the time domain. Thus, if at the end of a previous iteration, in test S733, the energy of this signal is still greater than the threshold THR in the negative temporal abscissas (t<0), and if the iterations of the method do not improve ( or more) the estimation of the generalized velocity vector V'(t), which can be manifested both by:
- des énergies de signal supérieures au seuil THR pour les temps négatifs, et- signal energies above the THR threshold for negative times, and
- des énergies de signal ne décroissant pas d’une itération n-1 à la suivante n (flèche KO en sortie du test S792), alors les itérations du procédé peuvent s’arrêter à l’étape S794. [0148] Sinon (flèche OK en sortie du test S792), le procédé peut être exécuté pour une itération suivante à l’étape S793 en commençant par une incrémentation du compteur d’itération n. - signal energies not decreasing from one iteration n-1 to the next n (arrow KO at the output of the test S792), then the iterations of the method can stop at step S794. If not (OK arrow at the output of test S792), the method can be executed for a following iteration at step S793 starting with an incrementation of the iteration counter n.
[0149] Pour minimiser l’occurrence du cas où le procédé doit s’arrêter à l’étape S794, par faute de convergence vers une solution de DoA non biaisée, dans une telle situation acoustique la « pire », il est possible de reprendre l’enseignement du document précité FR1911723, pour des solutions permettant par exemple d’isoler les meilleures trames pour augmenter les chances d’une détermination non biaisée (trames d’attaque de signal par exemple). To minimize the occurrence of the case where the method must stop at step S794, for lack of convergence towards an unbiased DoA solution, in such a "worst" acoustic situation, it is possible to resume the teaching of the aforementioned document FR1911723, for solutions making it possible for example to isolate the best frames to increase the chances of an unbiased determination (signal attack frames for example).
[0150] En effet, comme décrit dans le document FR1911723, en fonction de l’importance relative de ce problème, on peut évaluer à quel point le vecteur U0 offre une estimation de DoA raisonnable (faiblement biaisée), fournissant donc un facteur de confiance sur l’estimation et permettant de retenir préférentiellement l’estimation faite sur certaines trames. Lorsque le risque de biais d’estimation s’avère excessif, on peut sélectionner les trames les moins exposées à ce problème, comme décrit plus loin en référence aux figures 3A et 3B. [0150] Indeed, as described in the document FR1911723, depending on the relative importance of this problem, it is possible to assess to what extent the vector U0 offers a reasonable estimate of DoA (weakly biased), thus providing a confidence factor on the estimate and making it possible to preferentially retain the estimate made on certain frames. When the risk of estimation bias proves to be excessive, the frames least exposed to this problem can be selected, as described later with reference to FIGS. 3A and 3B.
[0151] Les réalisations décrites ci-après peuvent s’appliquer alors à l’estimation du vecteur vélocité classique notamment, par exemple lors d’une première itération du procédé décrit précédemment en référence à la figure 7. Etant déjà décrits dans le document FR1911723, ces traitement à appliquer au vecteur vélocité classique sont alors rappelés ci-après. The embodiments described below can then be applied to the estimation of the conventional velocity vector in particular, for example during a first iteration of the method described previously with reference to FIG. 7. Being already described in the document FR1911723 , these processing operations to be applied to the conventional velocity vector are then recalled below.
[0152] On peut procéder donc à l’observation des premiers pics pour une salle donnée par l’analyse fréquentielle de sous-trames temporelles. Les trames où se localisent des attaques du signal (montée d’énergie, transitoire, etc.) sont celles qui permettent d’observer un mélange acoustique impliquant seulement les fronts d’onde les plus précoces : le son direct et une ou plusieurs réflexions (de sorte que la « somme des gammas » précitée reste inférieure à 1 selon Eq.38). It is therefore possible to proceed to the observation of the first peaks for a given room by the frequency analysis of temporal subframes. The frames where signal attacks are localized (energy rise, transient, etc.) are those which make it possible to observe an acoustic mixture involving only the earliest wave fronts: the direct sound and one or more reflections ( so that the aforementioned “sum of the gammas” remains less than 1 according to Eq.38).
[0153] S’agissant de trames contenant les attaques du signal, on peut ajuster (éventuellement de façon dynamique) la fenêtre temporelle pour l’analyse fréquentielle, en lui donnant par exemple une forme asymétrique et globalement décroissante, de sorte que la « bosse » de la fenêtre donne plus de poids à la montée du signal (attaque, transitoire) donc au son direct, et progressivement moins de poids (par exemple, mais sans obligation, de façon approximativement exponentielle). Ainsi on réduit artificiellement l’amplitude des fronts d’onde plus tardifs par rapport aux fronts d’onde plus précoces, et on s’approche de la condition de convergence la série de Taylor assurant un développement temporel unidirectionnel. As regards frames containing the attacks of the signal, it is possible to adjust (possibly dynamically) the time window for the frequency analysis, by giving it for example an asymmetrical and globally decreasing, so that the "bump" of the window gives more weight to the rise of the signal (attack, transient) therefore to the direct sound, and progressively less weight (for example, but without obligation, in an approximately exponential way). Thus, the amplitude of the later wavefronts is artificially reduced with respect to the earlier wavefronts, and the convergence condition is approached, the Taylor series ensuring a unidirectional temporal development.
[0154] Il est présenté ci-après à titre d’exemple un fenêtrage temporel de type exponentiel décroissant, à appliquer sur le signal analysé, afin de ramener l’analyse de l’empreinte temporelle qui en découle à un cas favorable sans biais substantiel sur l’estimation des directions d’arrivée des ondes. On pose l’opération, valable à partir d’un temps to désigné comme le temps 0 par commodité, et correspondant de préférence à l’instant d’une attaque de signal, précédée de silence, comme à l’équation Eq.42, avec ALPHA>0, et, en y réintégrant la forme convolutive impliquant s(t) et h(t), on trouve la forme de l’équation Eq.43. [0154] There is presented below by way of example a time windowing of the decreasing exponential type, to be applied to the analyzed signal, in order to bring the analysis of the resulting time stamp to a favorable case without substantial bias. on the estimation of the directions of arrival of the waves. We pose the operation, valid from a time to designated as time 0 for convenience, and preferably corresponding to the instant of a signal attack, preceded by silence, as in equation Eq.42, with ALPHA>0, and, by reintegrating the convolutional form involving s(t) and h(t), we find the form of equation Eq.43.
[0155] L’équation Eq.44 fait intervenir alors la propriété de l’exponentielle pour laquelle ce choix se justifie, pour aboutir à la forme donnée à Eq.45, ce qui revient à établir l’équation Eq.46. The equation Eq.44 then brings into play the property of the exponential for which this choice is justified, to arrive at the form given to Eq.45, which amounts to establishing the equation Eq.46.
[0156] Donc si l’on modélise la réponse impulsionnelle par un ensemble de réflexions spéculaires s’ajoutant au son direct, on obtient, l’équation Eq.47. So if we model the impulse response by a set of specular reflections added to the direct sound, we obtain the equation Eq.47.
[0157] Ainsi, si la somme des gamma est supérieure ou égale à 1 (avec une possibilité de « série bidirectionnelle »), il est toujours possible de déterminer un facteur d’atténuation ALPHA tel que la somme des gains ainsi « adaptés » (Eq.48) devienne inférieure à 1 . Thus, if the sum of the gammas is greater than or equal to 1 (with the possibility of a “bidirectional series”), it is always possible to determine an attenuation factor ALPHA such that the sum of the gains thus “adapted” ( Eq.48) becomes less than 1.
[0158] On constate alors que l’empreinte temporelle est de nature unidirectionnelle, ce qui est mis en évidence par des pics uniquement pour des temps positifs après application de la fenêtre à exponentielle décroissante (partie inférieure de la figure 5B). On observe aussi qu’en pratique l’énergie du signal observé décroit très vite avec l’exponentielle, l’impact numérique -sur les estimations- d’une troncature dudit signal devient tout à fait négligeable au-delà d’un temps relativement court de troncature. En d’autres termes, on obtient à plus court terme les avantages d’une analyse à long terme qui englobe à la fois tout le signal excitateur et sa réverbération. En effet, le « TDW » observé est conforme au modèle d’interférence sans les erreurs dues à la dynamique du signal. C’est donc une double propriété que possède la pondération par une telle fenêtre, qui permet idéalement d’obtenir une empreinte temporelle exploitable. It is then observed that the temporal imprint is of a unidirectional nature, which is evidenced by peaks only for positive times after application of the decreasing exponential window (lower part of FIG. 5B). It is also observed that in practice the energy of the observed signal decreases very quickly with the exponential, the numerical impact - on the estimates - of a truncation of the said signal becomes quite negligible beyond a relatively short time. of truncation. In other words, one obtains in the shorter term the advantages of a long-term analysis which encompasses both the entire exciter signal and its reverberation. Indeed, the observed “TDW” conforms to the interference model without the errors due to the dynamics of the signal. It is therefore a double property possessed by the weighting by such a window, which ideally makes it possible to obtain an exploitable temporal imprint.
[0159] En pratique, ne connaissant pas à l’avance l’amplitude des réflexions, il convient de déterminer l’atténuation ALPHA, en cherchant de préférence un compromis entre une valeur suffisamment basse pour assurer l’un idirectionnal ité de l’empreinte temporelle et une valeur qui n’est pas trop basse pour éviter d’amoindrir les chances de détection et d’estimation des ondes indirectes. Par exemple, on peut déterminer cette valeur en termes de facteur d’atténuation 3EXP par une durée tExp qui soit physiquement représentative des phénomènes observés (typiquement 5ms) de sorte que ALPHA = - (log 3EXP)/ tExp In practice, not knowing in advance the amplitude of the reflections, it is advisable to determine the ALPHA attenuation, preferably by seeking a compromise between a sufficiently low value to ensure one idirectionality of the imprint temporal and a value that is not too low to avoid reducing the chances of detecting and estimating indirect waves. For example, this value can be determined in terms of attenuation factor 3EXP by a duration tExp which is physically representative of the phenomena observed (typically 5ms) so that ALPHA = - (log 3EXP)/ tExp
[0160] Un processus itératif (par exemple par dichotomie) peut être mis en œuvre pour ajuster la valeur d’atténuation. A partir d’une valeur d’atténuation seuil, lorsque l’empreinte temporelle obtenue est détectée comme bidirectionnelle donc a priori avec un vecteur U0 biaisé, on réitère l’analyse avec une atténuation plus forte, sinon on adopte au moins l’estimation de U0 et si les pics suivants sont peu discernables (car diminués avec l’atténuation) alors on réitère l’analyse avec une atténuation intermédiaire entre les deux précédentes, et ainsi de suite s’il le faut jusqu’à pouvoir estimer le vecteur U1 . An iterative process (for example by dichotomy) can be implemented to adjust the attenuation value. From a threshold value of attenuation, when the temporal imprint obtained is detected as bidirectional, therefore a priori with a biased vector U0, the analysis is repeated with a stronger attenuation, otherwise at least the estimate of U0 and if the following peaks are not very discernible (because reduced with the attenuation) then the analysis is repeated with an intermediate attenuation between the two previous ones, and so on if necessary until the vector U1 can be estimated.
[0161] Néanmoins, l’approche d’une fenêtre à décroissance exponentielle peut être sensible aux perturbations notamment en début de fenêtrage où elles sont amplifiées de façon importante. Une perturbation autre qu’un bruit peut être simplement la réverbération de la source elle-même au début du fenêtrage si elle a été activée peu de temps avant. On peut alors introduire des traitements de débruitage pour réduire de telles perturbations. Nevertheless, the approach of an exponentially decreasing window can be sensitive to disturbances, in particular at the start of windowing, where they are amplified significantly. A disturbance other than noise may simply be the reverberation of the source itself at the start of the windowing if it was activated shortly before. It is then possible to introduce denoising processing to reduce such disturbances.
[0162] On peut prévoir de manière générale des fenêtres temporelles de formes et/ou tailles différentes, voire un chevauchement entre fenêtres avec recouvrement afin de maximiser les chances d’obtenir une « empreinte favorable ». [0163] On choisit une taille de DFT initiale généralement plus grande que cette fenêtre d’analyse. [0162] Provision can generally be made for time windows of different shapes and/or sizes, or even an overlap between windows with overlap in order to maximize the chances of obtaining a “favorable imprint”. An initial DFT size that is generally larger than this analysis window is chosen.
[0164] Bien entendu, on se place dans le contexte de traitement de signaux audionumériques, échantillonnés à une fréquence d’échantillonnage donnée, sous la forme de blocs successifs (ou « trames ») d’échantillons. Of course, we are in the context of processing digital audio signals, sampled at a given sampling frequency, in the form of successive blocks (or “frames”) of samples.
[0165] On peut prévoir optionnellement encore un prétraitement avec détection d’attaque, de transitoire, etc., puis dé-bruitage temps-fréquence par exemple par définition d’un masque (filtre temps-fréquence, éventuellement binaire), de façon à éviter d’introduire dans l’empreinte d’interférence des éléments issus d’autres sources d’ambiance et/ou de champ diffus. Il convient de calculer la réponse impulsionnelle du masque (résultat de la transformée inverse) pour contrôler l’influence du masque sur l’analyse des pics. On peut alternativement l’intégrer dans une pondération fréquentielle de l’empreinte d’une trame considérée à mémoriser, de façon à calculer ultérieurement une moyenne pondérée d’empreintes fréquentielles correspondant a priori à des mélanges interférants semblables (typiquement sur des attaques de signal, en vérifiant que la source concernée n’a pas bougé, ce que l’on peut deviner à travers une estimation des retards). It is also possible to optionally provide pre-processing with attack detection, transient detection, etc., then time-frequency de-noising, for example by defining a mask (time-frequency filter, possibly binary), so as to avoid introducing elements from other ambient and/or diffuse field sources into the interference footprint. It is necessary to calculate the impulse response of the mask (result of the inverse transform) to control the influence of the mask on the analysis of the peaks. It can alternatively be integrated into a frequency weighting of the imprint of a frame considered to be stored, so as to subsequently calculate a weighted average of frequency imprints corresponding a priori to similar interfering mixtures (typically on signal attacks, by checking that the source concerned has not moved, which can be guessed through an estimation of the delays).
[0166] Ainsi, on procède ensuite à l’extraction des pics et à leur observation, par exemple d’après la norme |V(t)| : un pic maximum, puis le suivant, donnent TAU1 (en général), etc. Thus, the peaks are then extracted and observed, for example according to the norm |V(t)| : a maximum peak, then the next, give TAU1 (in general), etc.
[0167] On procède ensuite au diagnostic de l’empreinte temporelle, en détectant (d’après {tau_n} et V(sum(k_n.tau_n))) : We then proceed to the diagnosis of the temporal imprint, by detecting (according to {tau_n} and V(sum(k_n.tau_n))):
- si on a un re-bouclage temporel (une sorte d’ « aliasing » circulaire) du fait du choix d’une FFT sur un support temporel trop court, - if there is a temporal re-looping (a kind of circular "aliasing") due to the choice of an FFT on a too short temporal support,
- si on a bien une série unidirectionnelle progressive, ou au contraire une série bidirectionnelle, ou encore si on est dans un cas particulier d’une série sans atténuation notable (quand la somme des gains sum(gn) reste proche de 1 ) ou encore d’une série rétrograde (quand au moins un gain g_n implicite > 1 ). [0168] On peut alors : - if we have a progressive unidirectional series, or on the contrary a bidirectional series, or even if we are in a particular case of a series without notable attenuation (when the sum of the gains sum(gn) remains close to 1 ) or even of a retrograde series (when at least one implicit gain g_n > 1). [0168] We can then:
- attribuer une note de « bonne trame » ou de « bonne empreinte » (permettant une estimation fiable, a priori sans biais de DoA, car unidirectionnelle), et la mémoriser,- assign a score of "good frame" or "good footprint" (allowing a reliable estimate, a priori without bias of DoA, because unidirectional), and memorize it,
- faire l’estimation (Un) et - make the estimate (Un) and
- ajuster l’analyse en amont au besoin par le choix d’une fenêtre temporelle adaptée. - adjust the analysis upstream if necessary by choosing an appropriate time window.
[0169] On a décrit ci-avant une analyse de l’empreinte temporelle mais une analyse fréquentielle peut être opérée plus simplement comme suit. An analysis of the time stamp has been described above, but a frequency analysis can be carried out more simply as follows.
[0170] Il est facile de montrer mathématiquement que le pic au temps zéro est par construction égal à la moyenne du vecteur vélocité sur son spectre complet (la partie réelle s’annulant par symétrie hermitienne), ou encore de sa partie réelle si on ne considère que les fréquences positives. On peut estimer qu’il est alors inutile de calculer une Transformée inverse du FDW pour avoir une estimation de DoA si on ne s’intéresse qu’au son direct. L’examen temporel du TDW permet cependant de détecter si cette DoA est fiable (critère de développement vers les temps positifs et croissants). It is easy to show mathematically that the peak at time zero is by construction equal to the average of the velocity vector over its complete spectrum (the real part canceling out by Hermitian symmetry), or even its real part if we do not considers only positive frequencies. We can estimate that it is then useless to calculate an Inverse Transform of the FDW to have an estimate of DoA if we are only interested in the direct sound. However, the temporal examination of the TDW makes it possible to detect whether this DoA is reliable (criterion of development towards positive and increasing times).
[0171] Ce cas favorable s’observe plus plausiblement lors d’attaques du signal source, lorsque le mélange est encore peu complexe. De manière générale il suffit d’opérer l’estimation sur ces moments. This favorable case is more plausibly observed during attacks on the source signal, when the mixture is still not very complex. In general, it suffices to operate the estimate on these moments.
[0172] Par ailleurs, en pratique, les empreintes fréquentielle et temporelle du W ne sont pas toujours identifiables à un modèle idéal de mélange d’ondes interférantes. Il se peut que le signal source n’excite pas suffisamment ou pas toujours aux moments-clés une plage significative de fréquences, faute de puissance émise, éventuellement compte tenu de la concurrence d’autres composantes du champ sonore capté (SNR ou SIR insuffisant). Ceci peut être lié à un fond sonore d’ambiance plus ou moins diffus (autres sources sonores), bruit microphonique. Moreover, in practice, the frequency and time imprints of the W are not always identifiable with an ideal model of interfering wave mixing. It may be that the source signal does not sufficiently or not always excite a significant range of frequencies at key moments, due to a lack of transmitted power, possibly taking into account competition from other components of the sound field captured (insufficient SNR or SIR) . This can be linked to a more or less diffuse background sound (other sound sources), microphonic noise.
[0173] On peut alors pratiquer l’un au moins de ces traitements ou plusieurs de ces traitements en combinaison : One can then practice at least one of these treatments or several of these treatments in combination:
- sélection d’échantillons temps-fréquence avec détection d’attaque selon des algorithmes évolués, - selection of time-frequency samples with attack detection according to advanced algorithms,
- lissage du vecteur vélocité sur plusieurs trames (moyenne de V(f) pondérée par exemple par les |W(f)|2 des trames en question et un facteur d’oubli éventuellement dynamique), éventuellement en passant par le vecteur intensité, - smoothing of the velocity vector over several frames (average of V(f) weighted by example by the |W(f)| 2 of the frames in question and a possibly dynamic forgetting factor), possibly passing through the intensity vector,
- procéder à une moyenne de V(f) pondérée par |W(f)|2 sur une sélection de trames d’attaque (si les retards extraits sont identiques), pour compléter l’empreinte fréquentielle et consolider l’empreinte temporelle. - proceed to an average of V(f) weighted by |W(f)| 2 on a selection of attack frames (if the extracted delays are identical), to complete the frequency imprint and consolidate the time imprint.
Pour des raisons d’économie de calcul, on peut préconiser en outre de ne réaliser les calculs de TDW, voire, en amont, de FDVV, que pour des trames que l’on détecte comme étant plus consistantes en information : par exemple les trames d’attaque si l’on est dans des situations où elles sont détectables par des traitements simples, auquel cas on a même intérêt à positionner la fenêtre d’analyse sur la montée du signal. For reasons of economy of calculation, it can also be recommended to carry out the calculations of TDW, or even, upstream, of FDVV, only for frames which are detected as being more consistent in terms of information: for example the frames of attack if one is in situations where they are detectable by simple processing, in which case it is even advantageous to position the window of analysis on the rise of the signal.
[0174] Pour la bonne estimation de retards non entiers (retard fractionnaire et ses multiples dans la série temporelle), on peut envisager une estimation de pic par interpolation inter-échantillons et/ou une analyse fréquentielle locale (en isolant le pic sur un voisinage resserré temporellement) et affiner le retard d’après la réponse en phase. For the correct estimation of non-integer delays (fractional delay and its multiples in the time series), one can consider estimating the peak by inter-sample interpolation and/or a local frequency analysis (by isolating the peak on a neighborhood tightened in time) and fine-tune the delay based on the phase response.
[0175] On peut effectuer une sélection préalable de pics temporels d’après une estimation courante des retards caractéristiques des séries. It is possible to perform a preliminary selection of temporal peaks according to a current estimate of the characteristic delays of the series.
[0176] Ainsi, on peut résumer les étapes mises en œuvre dans un exemple de réalisation possible comme illustré sur les figures 3A et 3B. A l’étape S1 , on calcule la transformée de Fourier (de temporel à fréquentiel) des signaux ambisoniques qui peuvent être sous forme d’une succession de « trames » (blocs d’échantillons successifs). Pour chaque trame k transformée (étape S2), on peut appliquer un masque dynamique à certaines des bandes de fréquences pour lesquelles le rapport signal à bruit est inférieur à un seuil (certaines bandes de fréquences pouvant en effet être fortement bruitées par exemple par un bruit inhérent au microphone ou autre, de sorte que l’exploitation d’un signal capté dans cette bande de fréquences est compromise). En particulier, la recherche de bruit par bande de fréquences est opérée à l’étape S3 préférentiellement sur la composante « omni » W, et les bandes de fréquences altérées par le bruit (au-delà d’un seuil par exemple tel que SNR<OdB) sont masquées (c’est-à-dire mises à zéro) à l’étape S4. Thus, the steps implemented in an exemplary possible embodiment can be summarized as illustrated in FIGS. 3A and 3B. In step S1, the Fourier transform is calculated (from time to frequency) of the Ambisonic signals which may be in the form of a succession of “frames” (blocks of successive samples). For each transformed frame k (step S2), a dynamic mask can be applied to some of the frequency bands for which the signal to noise ratio is below a threshold (some frequency bands can in fact be highly noisy, for example by a noise inherent in the microphone or other, so that the exploitation of a signal picked up in this frequency band is compromised). In particular, the search for noise by frequency band is carried out in step S3 preferentially on the "omni" component W, and the frequency bands altered by the noise (beyond a threshold for example such as SNR<OdB) are masked (that is to say set to zero) in step S4.
[0177] Ensuite à l’étape S5, le vecteur vélocité V(f) est calculé dans le domaine fréquentiel par exemple par l’équation Eq.6 (ou encore sous la forme de Eq.11 , Eq.18 ou Eq.20). Then in step S5, the velocity vector V(f) is calculated in the frequency domain, for example by equation Eq.6 (or even in the form of Eq.11, Eq.18 or Eq.20 ).
[0178] Dans un exemple de réalisation ici, on applique des poids q(f) calculés comme décrit plus loin pour donner plus ou moins d’importance à des bandes de fréquences f. Une telle réalisation permet d’exprimer le vecteur vélocité V(f) dans des bandes de fréquences où son évolution est significative. Pour ce faire, on calcule itérativement les poids optimums en fonction de U0 et V(f). Ainsi, en revenant au traitement algorithmique de la figure 3A, à l’étape S6, les différents poids q(f) sont mis à 1 . A l’étape S7, on applique la pondération q(f) appliquée à V(f) par bande, de sorte que Vbar(f) = q(f)V(f). A l’étape S8, on détermine U0 pour chaque trame k, tel que : In an exemplary embodiment here, weights q(f) calculated as described below are applied to give more or less importance to frequency bands f. Such a realization makes it possible to express the velocity vector V(f) in frequency bands where its evolution is significant. To do this, the optimum weights are iteratively calculated as a function of U0 and V(f). Thus, returning to the algorithmic processing of FIG. 3A, at step S6, the various weights q(f) are set to 1. In step S7, the weighting q(f) applied to V(f) per band is applied, so that Vbar(f) = q(f)V(f). At step S8, U0 is determined for each frame k, such that:
U0(k) = E(Re(Vbar(f))), où E(x) est ici à titre d’exemple l’espérance de x, ce qui s’apparente ainsi à une moyenne sur l’ensemble des fréquences de la partie réelle du vecteur vélocité estimé Vbar(f). U0(k) = E(Re(Vbar(f))), where E(x) is here by way of example the expectation of x, which is thus similar to an average over all the frequencies of the real part of the estimated velocity vector Vbar(f).
[0179] Bien entendu, cette première estimation de U0(k) est grossière. Elle est affinée itérativement en calculant les poids par rapport à la détermination précédente de U0(k) en utilisant l’équation Eq.49 s’appuyant sur la partie imaginaire du vecteur V(f), et où le vecteur m est un vecteur unitaire, normal au plan défini par le vecteur U0 et une normale à la paroi (la direction z de la figure 1 par exemple). Le vecteur m est estimé itérativement aussi en fonction de U0 à l’étape S9, puis les poids sont calculés par Eq.49 à l’étape S10. Les poids trouvés sont appliqués à l’étape S7, et l’estimation de U0 est affinée jusqu’à convergence en sortie du test S11 . A cette étape on a estimé U0(k) pour les différentes trames. Of course, this first estimate of U0(k) is rough. It is refined iteratively by calculating the weights with respect to the previous determination of U0(k) using the equation Eq.49 based on the imaginary part of the vector V(f), and where the vector m is a unit vector , normal to the plane defined by the vector U0 and a normal to the wall (the direction z of figure 1 for example). The vector m is estimated iteratively also as a function of U0 in step S9, then the weights are calculated by Eq.49 in step S10. The weights found are applied in step S7, and the estimation of U0 is refined until convergence at the output of the test S11. At this stage, U0(k) was estimated for the different frames.
[0180] On peut en déduire U1 , par une relation du type Eq.41 décrite précédemment. Dans la variante décrite ici, on détermine U1 par les équations Eq.50 à Eq.52, en ayant préalablement appliqué une transformée inverse IDFT (de fréquentielle vers temporelle) à l’étape S12 au vecteur Vbar(f) trouvé à l’étape S7, pour obtenir une représentation temporelle V(t) du vecteur vélocité. Une telle réalisation permet, comme vu précédemment en référence à la figure 2, d’identifier les différents retards TAU1 , TAU2, etc. en cas de différentes surfaces réfléchissantes. Le premier retard TAU1 est identifié car il s’agit d’un premier pic de V(t) dans le temps qui suit l’instant de réception du trajet direct. Ainsi, dans l’équation Eq.51 , tmax(k) est l’instant qui maximise le module de V(t)k calculé pour la trame k. U1 can be deduced therefrom, by a relation of the Eq.41 type described above. In the variant described here, U1 is determined by the equations Eq.50 to Eq.52, having previously applied an inverse transform IDFT (from frequency to time) in step S12 to the vector Vbar(f) found in step S7, to obtain a time representation V(t) of the velocity vector. Such a realization makes it possible, as seen previously with reference to FIG. 2, to identify the various delays TAU1, TAU2, etc. in case of different reflective surfaces. The first delay TAU1 is identified because it is a first peak of V(t) in the time following the instant of reception of the direct path. Thus, in equation Eq.51, tmax(k) is the instant which maximizes the modulus of V(t)k calculated for frame k.
[0181] Au test S13, on vérifie pour chaque trame que le module de V(t=O) est bien supérieur à celui de V(t) pour t>0. Une trame ne vérifiant pas cette condition est éliminée à l’étape S14. On détermine ensuite à l’étape S15 les différents retards, TAU1 , puis TAU2 (en retirant des modules de V(t)k à comparer dans Eq.51 ceux correspondant au retard TAU1 ), etc. Le retard TAUm est donné par la composante tmax trouvée à chaque itération m, divisée par la fréquence d’échantillonnage fs conformément à Eq.52, tenant compte que les temps t et tmax(k) sont d’abord exprimés en termes d’indice d’échantillon (le temps zéro étant pris comme référence pour l’indice zéro). On peut alors calculer également les vecteurs U1 , U2, etc., avec l’équation Eq.50. In test S13, it is checked for each frame that the modulus of V(t=0) is much greater than that of V(t) for t>0. A frame not satisfying this condition is discarded at step S14. The various delays, TAU1 , then TAU2 are then determined in step S15 (by removing modules from V(t)k to be compared in Eq.51 with those corresponding to the delay TAU1 ), etc. The delay TAUm is given by the component tmax found at each iteration m, divided by the sampling frequency fs according to Eq.52, taking into account that the times t and tmax(k) are first expressed in terms of the index sample (time zero being taken as a reference for the zero index). We can then also calculate the vectors U1 , U2, etc., with the equation Eq.50.
[0182] Les autres paramètres peuvent être déterminés également, notamment dO donné par Eq.28 à l’étape S16 (en vérifiant ensuite au test S17 une cohérence avec des données de salle classique telle que d0min=0, et d0max=5m ; sinon la trame comporte une erreur et peut être rejetée à l’étape S14). The other parameters can also be determined, in particular d0 given by Eq.28 in step S16 (by then checking in test S17 consistency with conventional room data such as d0min=0, and d0max=5m; otherwise the frame has an error and can be discarded at step S14).
[0183] L’étape S18 peut consister à sélectionner davantage les « bonnes » trames, représentatives d’une attaque de son avec de premières réflexions. Le critère D(k) de sélection de telles trames peut être illustré à titre d’exemple par l’équation Eq.53 où C(f)i(k) désigne une magnitude (amplitude en valeur absolue) détectée sur le canal ambisonique i, à l’échantillon temps fréquence (t, f) issu de la première transformée (temps vers fréquences) de la trame k. Epsilon désigne une valeur positive non nulle pour éviter un zéro au dénominateur en absence de signal. F désigne le nombre total de sous-bandes de fréquences utilisées. The step S18 may consist in further selecting the “good” frames, representative of a sound attack with first reflections. The criterion D(k) for selecting such frames can be illustrated by way of example by equation Eq.53 where C(f)i (k) designates a magnitude (amplitude in absolute value) detected on the ambisonic channel i , to the time-frequency sample (t, f) resulting from the first transform (time to frequency) of frame k. Epsilon designates a nonzero positive value to avoid a zero in the denominator in the absence of a signal. F designates the total number of frequency sub-bands used.
[0184] On peut ainsi ne retenir à l’étape S22 que les trames dont le critère D(k) calculé à partir de Eq.53 n’est pas plus petit que 90% du maximum Dmax trouvé à l’étape S21 parmi les critères de toutes les trames D(k). [0185] Ainsi, à l’étape S18, les valeurs D(k) sont calculées pour l’ensemble des trames, puis à l’étape S19, le traitement délivre les U0(k), dO(k), D(k) pour les différentes trames. A l’étape S20, les valeurs D(k) sont collectées pour identifier à l’étape S21 la plus élevée et éliminer à l’étape S22 les trames dont la valeur D(k) est inférieur à 0,9 Dmax. It is thus possible to retain at step S22 only the frames whose criterion D(k) calculated from Eq.53 is not smaller than 90% of the maximum Dmax found at step S21 among the criteria of all frames D(k). Thus, at step S18, the values D(k) are calculated for all the frames, then at step S19, the processing delivers the U0(k), dO(k), D(k ) for the different frames. At step S20, the values D(k) are collected to identify at step S21 the highest and to eliminate at step S22 the frames whose value D(k) is less than 0.9 Dmax.
[0186] Enfin, à l’étape S23, le vecteur U0 qui est retenu est préférentiellement ici le médian (plutôt que le moyen) parmi les vecteurs U0 des différentes trames retenues. La distance dO retenue est aussi la valeur médiane parmi les distances dO des différentes trames retenues. Finally, in step S23, the vector U0 which is retained is preferably here the median (rather than the mean) among the vectors U0 of the different frames retained. The distance d0 retained is also the median value among the distances d0 of the various frames retained.
[0187] Bien entendu la présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d’exemple ; elle s’étend à d’autres variantes. Of course, the present invention is not limited to the embodiments described above by way of example; it extends to other variants.
[0188] On a décrit ci-avant une application à un traitement de signaux ambisoniques d’ordre 1 (FOA). L’ordre peut être supérieur pour un enrichissement en termes de résolution spatiale. An application to first-order ambisonic signal processing (FOA) has been described above. The order may be higher for enrichment in terms of spatial resolution.
[0189] En effet, on a décrit ci-avant une représentation ambisonique d’ordre 1 , mais il est possible de prévoir des ordres supérieurs. Dans ce cas, le calcul vecteur vélocité est augmenté des ratios des composantes directionnelles d’ordres supérieurs sur la composante W(f), et les vecteurs Un sont implicitement augmenté d’autant de dimensions. L’augmentation des dimensions (au-delà de 3) et donc de la résolution spatiale permet de mieux différencier les vecteurs U0, U1 , ... Un entre eux, et de détecter plus facilement, dans l’empreinte temporelle, les pics V(k*TAUn) qui sont proportionnels à (UO-Un), même lorsque les vecteurs U0 et Un sont proches angulairement, ce qui arrive dans le cas de réflexions rasantes (lorsque la source est lointaine et/ou proche du sol par exemple). Cela permet donc d’estimer plus finement les paramètres recherchés U0, U1 , dO, etc. il convient de préciser en outre que le fait de ne garder ici que les trois composantes d’ordre 1 (X, Y, Z) au numérateur est indépendant du fait qu’on exploite éventuellement des composantes d’ordre(s) supérieur(s) disponibles pour construire la composante de référence au dénominateur. On peut dans tous les cas (quel que soit le dénominateur) envisager une amélioration du traitement ci-avant (de même que le traitement présenté dans FR1911723) en ajoutant des composantes d’ordre(s) supérieur(s) au numérateur, augmentant ainsi la dimensionnalité du vecteur vélocité et permettant notamment de mieux différencier ses pics dans le domaine temporel. In fact, an ambisonic representation of order 1 has been described above, but it is possible to provide higher orders. In this case, the velocity vector calculation is increased by the ratios of the directional components of higher orders on the component W(f), and the vectors Un are implicitly increased by as many dimensions. The increase in the dimensions (beyond 3) and therefore in the spatial resolution makes it possible to better differentiate the vectors U0, U1 , ... Un from each other, and to detect more easily, in the temporal imprint, the peaks V (k*TAUn) which are proportional to (UO-Un), even when the vectors U0 and Un are angularly close, which happens in the case of grazing reflections (when the source is distant and/or close to the ground for example) . This therefore makes it possible to more finely estimate the parameters sought U0, U1, dO, etc. it should also be specified that the fact of keeping here only the three components of order 1 (X, Y, Z) in the numerator is independent of the fact that one possibly exploits components of order (s) superior (s) ) available to construct the denominator reference component. We can in all cases (regardless of the denominator) consider improving the treatment above (as well as the treatment presented in FR1911723) by adding components of higher order(s) to the numerator, thus increasing the dimensionality of the velocity vector and allowing in particular to better differentiate its peaks in the time domain.
[0190] Plus généralement, on peut remplacer le vecteur vélocité par un ratio entre composantes d’une représentation acoustique spatiale de type « coïncident » dans le domaine fréquentiel et travailler dans un système de coordonnées caractéristique de ladite représentation spatiale. More generally, the velocity vector can be replaced by a ratio between components of a “coincident” type spatial acoustic representation in the frequency domain and work in a coordinate system characteristic of said spatial representation.
[0191] Pour pallier les cas par exemple de plusieurs sources, le calcul de TDVV peut être exploité plus généralement en association avec des méthodes d’intelligence Artificielle, dont les réseaux de neurones. Quelques stratégies d’entraînement envisagées (par exemple sur des empreintes issues de modèles ou de SRIR fenêtrées, et pas forcément d’après des signaux originaux) peuvent permettre que le réseau apprenne à exploiter la succession de trames pour améliorer les détections et estimations par rapport à des situations de salles données. To overcome the cases, for example of several sources, the calculation of TDVV can be used more generally in association with Artificial intelligence methods, including neural networks. Some training strategies envisaged (for example on fingerprints from models or windowed SRIR, and not necessarily from original signals) can allow the network to learn to exploit the succession of frames to improve detections and estimates compared to to given room situations.
[0192] Par ailleurs, on a décrit ci-avant en référence aux figures 6A à 6D et 7, la possibilité d’estimer dans un premier temps le vecteur vélocité classique V(f) pour déterminer une première estimation grossière de la DoA et d’affiner ensuite l’estimation du vecteur vélocité généralisé V’(f) à partir de cette estimation grossière pour donner une DoA plus exacte. Bien entendu, il s’agit simplement d’un exemple de réalisation possible. Dans une variante par exemple, il est possible de découper d’emblée l’espace en plusieurs secteurs, de donner ainsi une directivité à la composante au dénominateur D(f) dans chacun de ces secteurs, et d’essayer une convergence du calcul de la DoA avec des procédés itératifs (du type de la figure 7 à partir de l’étape S761 où D(1 ) serait simplement calculée en fonction du secteur angulaire considéré), ces procédés itératifs étant menés en parallèle pour chacun de ces secteurs. Il s’agit d’un exemple possible de réalisation. Alternativement, on peut retenir le « meilleur » secteur angulaire (ou les quelques meilleurs) selon le critère de validité du modèle causal présenté ci-avant, puis optimiser les estimations dans la ou les directions retenues, y compris en termes de variantes de forme du dénominateur. En effet, de façon plus générale, on peut envisager en outre d’évaluer en première étape et/ou lors d’étapes ultérieures une pluralité de vecteurs vélocité généralisés, respectivement associés à des directivités (au dénominateur) diversement formées. Furthermore, the possibility has been described above with reference to FIGS. 6A to 6D and 7 of initially estimating the conventional velocity vector V(f) to determine a first rough estimate of the DoA and d 'then refine the estimate of the generalized velocity vector V'(f) from this rough estimate to give a more accurate DoA. Of course, this is simply an example of a possible embodiment. In a variant, for example, it is possible to immediately divide the space into several sectors, thus to give a directivity to the component in the denominator D(f) in each of these sectors, and to try a convergence of the calculation of the DoA with iterative methods (of the type in FIG. 7 from step S761 where D(1) would simply be calculated as a function of the angular sector considered), these iterative methods being carried out in parallel for each of these sectors. This is a possible embodiment. Alternatively, one can select the “best” angular sector (or the few best) according to the criterion of validity of the causal model presented above, then optimize the estimates in the direction or directions selected, including in terms of variants of the shape of the denominator. Indeed, more generally, one can also consider to evaluate in the first step and/or during subsequent steps a plurality of generalized velocity vectors, respectively associated with variously formed directivities (in the denominator).
[0193] De façon plus générale, la recherche d’un formation de faisceau ou « beamforming » qui donne une direction d’arrivée du son ou DoA fiable peut être abordée comme un problème général d’optimisation et avoir recours à ce titre à une variété de stratégies. On peut identifier donc : More generally, the search for a beam forming or "beamforming" which gives a reliable direction of arrival of the sound or DoA can be approached as a general problem of optimization and have recourse for this reason to a variety of strategies. We can therefore identify:
- un critère de minimisation (une fonction à minimiser) qui traduit/prédit la validité du modèle causal. De façon un peu simpliste et donc améliorable, il s’agit dans la description ci-avant de la recherche d’énergie relative du signal dans les abscisses temporelles négatives ; - a minimization criterion (a function to be minimised) which translates/predicts the validity of the causal model. In a somewhat simplistic and therefore improvable way, it is a question in the description above of the search for relative energy of the signal in the negative temporal abscissas;
- les paramètres à optimiser sont les paramètres de beamforming, formulés par exemple comme les coefficients de la matrice D impliquée dans les équations Eq. A1 et A4, ou bien comme la direction Theta (0) et les paramètres de forme de faisceau (gbeamshape) de l’équation EQ.A5 lorsqu’on opte pour une symétrie axiale ou dans le cas où on est restreint à l’ordre 1 ; - the parameters to be optimized are the beamforming parameters, formulated for example as the coefficients of the matrix D involved in the equations Eq. A1 and A4, or as the direction Theta (0) and the beam shape parameters (gbeamshape) of equation EQ.A5 when opting for axial symmetry or in the case where one is restricted to the order 1;
- un jeu (ou des jeux) de paramètres initiaux, typiquement une directivité « omni » ( gbeamshape =[1 0...]) ; ou bien une directivité favorable mémorisée au cours d’utilisations antérieures ; ou bien une multiplicité de directivités pointant dans un ensemble de directions représentatives de l’espace, voire traduisant en plus différentes formes de directivité ; - a set (or sets) of initial parameters, typically an "omni" directivity ( gbeamshape = [1 0...]); or else a favorable directivity memorized during previous uses; or else a multiplicity of directivities pointing in a set of directions representative of space, or even reflecting in addition different forms of directivity;
- un principe d’ajustement des paramètres testés (au cours des itérations) car typiquement une réorientation du faisceau acoustique dans la dernière DoA estimée n’est pas toujours un choix suffisamment robuste : il faut alors, plutôt qu’arrêter l’algorithme faute d’amélioration, repartir de l’une des situations mémorisées (et a priori la meilleure du point de vue du critère de minimisation) et ajuster les paramètres suivant un autre axe (par exemple un paramètre de forme de directivité) ou une autre combinaison d’axes. - a principle of adjustment of the parameters tested (during the iterations) because typically a reorientation of the acoustic beam in the last estimated DoA is not always a sufficiently robust choice: it is then necessary, rather than stopping the algorithm for lack of improvement, start again from one of the stored situations (and a priori the best from the point of view of the minimization criterion) and adjust the parameters along another axis (for example a directivity shape parameter) or another combination of axes.
[0194] De façon plus générale, des approches usuelles dont par exemple celle du gradient stochastique, ou des optimisations par lots (‘batch’ en anglais) peuvent être envisagées, le nombre d’itérations induites pouvant néanmoins impliquer un coût important. More generally, the usual approaches, including for example that of the stochastic gradient, or optimizations by batches ('batch' in English) can be envisaged, the number of induced iterations being able nevertheless to imply a significant cost.
[0195] Il convient d’ajouter toutefois que contrairement à des tâches courantes d’optimisation, les paramètres visés in fine (les vecteurs Un typiquement) ne sont pas directement ceux qui sont optimisés, mais ils en découlent. On notera qu’il y a alors potentiellement une multiplicité de jeux de paramètres de beamforming qui pourraient être tous autant ‘optimaux’ dans le sens où ils induisent le respect d’un modèle causal. Dès lors, ils permettent tous alors de déduire le même jeu de paramètres Un de façon a priori exacte. It should be added, however, that contrary to common optimization tasks, the parameters ultimately targeted (typically the Un vectors) are not directly those which are optimized, but they derive therefrom. It should be noted that there is then potentially a multiplicity of sets of beamforming parameters which could all be 'optimal' in the sense that they induce compliance with a causal model. Consequently, they all then make it possible to deduce the same set of parameters Un in an a priori exact manner.
ANNEXE ANNEX

Claims

Revendications Claims
[Revendication 1] Procédé de traitement de signaux sonores acquis par au moins un microphone, pour une localisation d’au moins une source sonore dans un espace comportant au moins une paroi, dans lequel : [Claim 1] Process for processing sound signals acquired by at least one microphone, for localization of at least one sound source in a space comprising at least one wall, in which:
- On applique une transformée temps fréquences aux signaux acquis, - A time-frequency transform is applied to the acquired signals,
- A partir des signaux acquis, on exprime dans le domaine fréquentiel un vecteur vélocité généralisé V’(f), estimé à partir d’une expression d’un vecteur vélocité V(f) dans laquelle une composante de référence D(f), différente d’une composante omnidirectionnelle W(f), apparait au dénominateur de ladite expression, ladite expression étant complexe avec une partie réelle et une partie imaginaire, le vecteur vélocité généralisé V’(f) caractérisant une composition entre : - From the acquired signals, a generalized velocity vector V'(f) is expressed in the frequency domain, estimated from an expression of a velocity vector V(f) in which a reference component D(f), different from an omnidirectional component W(f), appears in the denominator of said expression, said expression being complex with a real part and an imaginary part, the generalized velocity vector V'(f) characterizing a composition between:
* un premier trajet acoustique, direct entre la source et le microphone, représenté par un premier vecteur U0, et * a first acoustic path, direct between the source and the microphone, represented by a first vector U0, and
* au moins un deuxième trajet acoustique issu d’une réflexion sur la paroi et représenté par un deuxième vecteur U1 , le deuxième trajet ayant, au microphone, un premier retard TAU1 , par rapport au trajet direct, * at least one second acoustic path resulting from a reflection on the wall and represented by a second vector U1 , the second path having, at the microphone, a first delay TAU1 , compared to the direct path,
- En fonction du retard TAU1 , du premier vecteur U0 et du deuxième vecteur U1 , on détermine au moins un paramètre parmi : - Depending on the delay TAU1 , the first vector U0 and the second vector U1 , at least one parameter is determined from among:
* une direction (DoA) du trajet direct, * a direction (DoA) of the direct path,
* une distance dO de la source au microphone, * a distance dO from the source to the microphone,
* une distance zO de la source à ladite paroi. * a distance zO from the source to said wall.
[Revendication 2] Procédé selon la revendication 1 , comprenant une pluralité d’itérations dans une partie au moins desquelles on utilise le vecteur vélocité généralisé V’(f) avec à son dénominateur une composante de référence D(f) déterminée en fonction d’une approximation de la direction du trajet direct (DoA) obtenue à une itération précédente. [Claim 2] Method according to claim 1, comprising a plurality of iterations in at least part of which the generalized velocity vector V'(f) is used with in its denominator a reference component D(f) determined as a function of an approximation of the direction of the direct path (DoA) obtained at a previous iteration.
[Revendication 3] Procédé selon la revendication 2, comprenant une première itération dans laquelle on utilise le vecteur vélocité V(f) à la place du vecteur vélocité généralisé V’(f), le vecteur vélocité V(f) s’exprimant dans le domaine fréquentiel et faisant apparaitre au dénominateur la composante omnidirectionnelle W(f), afin de déterminer au moins, à l’issue de cette première itération, une première approximation de la direction du trajet direct (DoA), et dans lequel, pour au moins une deuxième itération ultérieure à la première itération, on utilise le vecteur vélocité généralisé V’(f), estimé à partir d’une expression du vecteur vélocité V(f), au dénominateur de laquelle la composante de référence D(f) remplace la composante omnidirectionnelle W(f), la composante de référence D(f) étant spatialement plus sélective que la composante omnidirectionnelle W(f). [Claim 3] Method according to claim 2, comprising a first iteration in which the velocity vector V(f) is used instead of the generalized velocity vector V'(f), the velocity vector V(f) being expressed in the frequency domain and causing the omnidirectional component W(f) to appear in the denominator, in order to determine at least, at the end of this first iteration, a first approximation of the direction of the direct path (DoA), and in which, for at least a second iteration subsequent to the first iteration, the generalized velocity vector V'(f) is used, estimated from an expression of the velocity vector V(f), in the denominator of which the reference component D(f) replaces the omnidirectional component W(f), the reference component D(f) being spatially more selective than the omnidirectional component W(f).
[Revendication 4] Procédé selon la revendication 3, dans lequel la composante de référence D(f) est plus sélective que la composante omnidirectionnelle W(f), dans une direction correspondant à ladite première approximation de la direction du trajet direct (DoA). [Claim 4] A method according to claim 3, wherein the reference component D(f) is more selective than the omnidirectional component W(f), in a direction corresponding to said first approximation of the direct path direction (DoA).
[Revendication 5] Procédé selon l'une des revendications 2 à 4, dans lequel les itérations sont répétées jusqu’à atteindre une convergence selon un critère prédéterminé de causalité. [Claim 5] Method according to one of Claims 2 to 4, in which the iterations are repeated until convergence is reached according to a predetermined criterion of causality.
[Revendication 6] Procédé selon la revendications 5, dans lequel à chaque itération : [Claim 6] Method according to claim 5, in which at each iteration:
- On applique en outre une transformée inverse, des fréquences vers le temps, à ladite expression du vecteur vélocité généralisé V’(f) pour obtenir, dans le domaine temporel, une succession de pics liés chacun à une réflexion sur au moins une paroi, outre un pic lié à une arrivée du son selon ledit trajet direct (DoA), et - An inverse transform is also applied, from frequencies to time, to said expression of the generalized velocity vector V'(f) to obtain, in the time domain, a succession of peaks each linked to a reflection on at least one wall, in addition to a peak linked to an arrival of sound along said direct path (DoA), and
- On réalise une nouvelle itération s’il apparait dans la succession de pics un signal dont l’abscisse temporelle est inférieure à celle du pic de trajet direct et dont l’amplitude est supérieure à un seuil choisi, le critère de causalité étant vérifié si l’amplitude du signal est inférieure audit seuil. - A new iteration is carried out if a signal appears in the succession of peaks whose temporal abscissa is less than that of the direct path peak and whose amplitude is greater than a chosen threshold, the causality criterion being verified if the amplitude of the signal is lower than said threshold.
[Revendication 7] Procédé selon l'une des revendications 5 et 6, dans lequel il est mis fin aux itérations : [Claim 7] Method according to one of Claims 5 and 6, in which the iterations are terminated:
- dans un premier cas où l’amplitude dudit signal est inférieure au seuil choisi, et- in a first case where the amplitude of said signal is lower than the chosen threshold, and
- dans un deuxième cas où la répétition des itérations n’entraine pas de diminution significative de l’amplitude dudit signal. - in a second case where the repetition of the iterations does not lead to a significant reduction in the amplitude of the said signal.
[Revendication 8] Procédé selon la revendication 7, dans lequel il est fait suite au deuxième cas par la mise en œuvre des étapes suivantes, les signaux acquis étant délivrés sous forme de trames successives d’échantillons : [Claim 8] Method according to claim 7, in which the second case is followed by the implementation of the following steps, the acquired signals being delivered in the form of successive frames of samples:
- Pour chaque trame, on estime (S18) un score de présence d’une attaque sonore dans la trame (Eq.53), et - For each frame, we estimate (S18) a score for the presence of a sound attack in the frame (Eq.53), and
- On sélectionne (S22) les trames à scores supérieurs à un seuil pour traiter les signaux sonores acquis dans les trames sélectionnées. - The frames with scores higher than a threshold are selected (S22) to process the sound signals acquired in the selected frames.
[Revendication 9] Procédé selon l’une des revendications précédentes, dans lequel les signaux acquis sont captés par un microphone ambisonique, et dans lequel le vecteur vélocité V(f) est exprimé dans le domaine fréquentiel par des composantes ambisoniques d’ordre 1 sous une forme de type : V(f)= 1/W(f) [X(f), Y(f), Z(f)]T, [Claim 9] Method according to one of the preceding claims, in which the acquired signals are picked up by an ambisonic microphone, and in which the velocity vector V(f) is expressed in the frequency domain by ambisonic components of order 1 under a form of type: V(f)= 1/W(f) [X(f), Y(f), Z(f)] T ,
W(f) étant la composante omnidirectionnelle, et le vecteur vélocité généralisé V’(f) est exprimé dans le domaine fréquentiel par des composantes ambisoniques d’ordre 1 sous une forme de type : W(f) being the omnidirectional component, and the generalized velocity vector V’(f) is expressed in the frequency domain by ambisonic components of order 1 in a form of the type:
V(f)= 1/D(f) [X(f), Y(f), Z(f)]T, V(f)= 1/D(f) [X(f), Y(f), Z(f)] T ,
D(f) étant ladite composante de référence, différente de la composante omnidirectionnelle. D(f) being said reference component, different from the omnidirectional component.
[Revendication 10] Procédé selon l’une des revendications précédentes, dans lequel une estimation de la direction du trajet direct, assimilée au premier vecteur U0, est déterminée à partir d’une moyenne sur un ensemble de fréquences de la partie réelle du vecteur vélocité généralisé V’(f) exprimé dans le domaine fréquentiel (Eq.24). [Claim 10] Method according to one of the preceding claims, in which an estimate of the direction of the direct path, assimilated to the first vector U0, is determined from an average over a set of frequencies of the real part of the generalized velocity vector V'(f) expressed in the frequency domain (Eq.24).
[Revendication 11] Procédé selon l'une des revendications précédentes, dans lequel : [Claim 11] Method according to one of the preceding claims, in which:
- On applique une transformée inverse, des fréquences vers le temps, au vecteur vélocité généralisé pour l’exprimer dans le domaine temporel V’(t), - We apply an inverse transform, from frequencies to time, to the generalized velocity vector to express it in the time domain V’(t),
- On recherche au moins un maximum dans l’expression du vecteur vélocité généralisé V’(t)max en fonction du temps, après une durée du trajet direct, et- We seek at least a maximum in the expression of the generalized velocity vector V'(t)max as a function of time, after a duration of the direct path, and
- On en déduit le premier retard TAU1 , correspondant au temps donnant le maximum V’(t)max. - From this we deduce the first delay TAU1 , corresponding to the time giving the maximum V’(t)max.
[Revendication 12] Procédé selon la revendication 11 , dans lequel : [Claim 12] A method according to claim 11, wherein:
- on estime le deuxième vecteur U1 en fonction de valeurs du vecteur vélocité normalisé V’ relevées aux indices temporels t=0, TAU1 et 2xTAU1 , pour définir un vecteur V1 tel que : - the second vector U1 is estimated as a function of values of the normalized velocity vector V' recorded at the temporal indices t=0, TAU1 and 2xTAU1 , to define a vector V1 such that:
V1 = V’(TAU1 ) - ( (V’(TAU1 ) . V’(2.TAU1 )) / 1| V’(TAU1 ) ||2 ) V’(0), V1 = V'(TAU1 ) - ( (V'(TAU1 ). V'(2.TAU1 )) / 1| V'(TAU1 ) || 2 ) V'(0),
Le vecteur U1 étant alors donné par : U1 = V1 / ||V11|. The vector U1 then being given by: U1 = V1 / ||V11|.
[Revendication 13] Procédé selon la revendication 12, dans lequel : [Claim 13] A method according to claim 12, wherein:
- On détermine des angles respectifs PHIO et PHI1 du premier vecteur U0 et du deuxième vecteur U1 , par rapport à ladite paroi, tels que : - Respective angles PHIO and PHI1 of the first vector U0 and of the second vector U1 are determined, with respect to said wall, such that:
PHI0=arcsin(U0.nR) et PHI1 =arcsin(U1 .nR), où nR est un vecteur unitaire et normal à la paroi, et PHI0=arcsin(U0.nR) and PHI1 =arcsin(U1 .nR), where nR is a unit vector and normal to the wall, and
- La distance dO entre la source et le microphone est déterminée en fonction du premier retard TAU1 par une relation du type : dO = (TAU1xC)/((cosPHI0/cosPHI1 )-1 ), où C est la vitesse du son. - The distance dO between the source and the microphone is determined as a function of the first delay TAU1 by a relation of the type: dO = (TAU1xC)/((cosPHI0/cosPHI1 )-1 ), where C is the speed of sound.
[Revendication 14] Procédé selon la revendication 13, dans lequel la distance zO de la source à ladite paroi est déterminée par une relation du type : z0 = d0 (sinPH10 - sinPHI1 )/2 [Claim 14] Method according to claim 13, in which the distance zO from the source to the said wall is determined by a relation of the type: z0 = d0 (sinPH10 - sinPHI1 )/2
[Revendication 15] Procédé selon l'une des revendications précédentes, dans lequel, l’espace comprenant une pluralité de parois : [Claim 15] Method according to one of the preceding claims, in which, the space comprising a plurality of walls:
- On applique une transformée inverse, des fréquences vers le temps, au vecteur vélocité généralisé pour l’exprimer dans le domaine temporel V’(t) sous la forme d’une succession de pics (Eq.39b, FIG.2), - We apply an inverse transform, from frequencies to time, to the generalized velocity vector to express it in the time domain V'(t) in the form of a succession of peaks (Eq.39b, FIG.2),
- On identifie, dans la succession de pics, des pics liés à une réflexion sur une paroi de ladite pluralité de parois, chaque pic identifié ayant une abscisse temporelle fonction d’un premier retard TAUn du trajet acoustique issu de la réflexion sur la paroi n correspondante, par rapport au trajet direct, - In the succession of peaks, peaks linked to a reflection on a wall of said plurality of walls are identified, each identified peak having a temporal abscissa function of a first delay TAUn of the acoustic path resulting from the reflection on the wall n corresponding, with respect to the direct path,
- En fonction de chaque premier retard TAUn, du premier vecteur U0 et de chaque deuxième vecteur Un représentant un trajet acoustique issu d’une réflexion sur une paroi n, on détermine au moins un paramètre parmi : - Depending on each first delay TAUn, the first vector U0 and each second vector Un representing an acoustic path resulting from a reflection on a wall n, at least one parameter is determined from:
* la direction (DoA) du trajet direct, * the direction (DoA) of the direct path,
* la distance dO de la source au microphone, et * the distance dO from the source to the microphone, and
* au moins une distance zn de la source à la paroi n. * at least a distance zn from the source to the wall n.
[Revendication 16] Procédé selon la revendication 15, dans lequel les pics liés à une réflexion sur une paroi n ont des abscisses temporelles multiples du retard TAUn associé à cette paroi n, et dans lequel on présélectionne une première partie de pics à des abscisses temporelles positives les plus petites, pour identifier dans ladite partie les pics associés chacun à une seule réflexion sur une paroi. [Claim 16] Method according to claim 15, in which the peaks linked to a reflection on a wall n have temporal abscissas that are multiple of the delay TUn associated with this wall n, and in which a first part of peaks is preselected at temporal abscissas smallest positive, to identify in said part the peaks each associated with a single reflection on a wall.
[Revendication 17] Dispositif de traitement de signaux sonores, comportant un circuit de traitement pour la mise en œuvre du procédé selon l’une des revendications précédentes. [Claim 17] Device for processing sound signals, comprising a processing circuit for implementing the method according to one of the preceding claims.
[Revendication 18] Programme informatique comportant des instructions pour la mise en œuvre du procédé selon l’une des revendications 1 à 16, lorsque lesdites instructions sont exécutées par un processeur d’un circuit de traitement. [Claim 18] Computer program comprising instructions for implementing the method according to one of claims 1 to 16, when said instructions are executed by a processor of a processing circuit.
EP21810072.5A 2020-11-19 2021-10-15 Improved location of an acoustic source Pending EP4248231A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2011874A FR3116348A1 (en) 2020-11-19 2020-11-19 Improved localization of an acoustic source
PCT/FR2021/051801 WO2022106765A1 (en) 2020-11-19 2021-10-15 Improved location of an acoustic source

Publications (1)

Publication Number Publication Date
EP4248231A1 true EP4248231A1 (en) 2023-09-27

Family

ID=75108412

Family Applications (1)

Application Number Title Priority Date Filing Date
EP21810072.5A Pending EP4248231A1 (en) 2020-11-19 2021-10-15 Improved location of an acoustic source

Country Status (7)

Country Link
US (1) US20240012093A1 (en)
EP (1) EP4248231A1 (en)
JP (1) JP2023550434A (en)
KR (1) KR20230109670A (en)
CN (1) CN116472471A (en)
FR (1) FR3116348A1 (en)
WO (1) WO2022106765A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3102325A1 (en) * 2019-10-18 2021-04-23 Orange Improved localization of an acoustic source

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2998438A1 (en) * 2012-11-16 2014-05-23 France Telecom ACQUISITION OF SPATIALIZED SOUND DATA
FR3067511A1 (en) * 2017-06-09 2018-12-14 Orange SOUND DATA PROCESSING FOR SEPARATION OF SOUND SOURCES IN A MULTI-CHANNEL SIGNAL
FR3081641A1 (en) * 2018-06-13 2019-11-29 Orange LOCATION OF SOUND SOURCES IN AN ACOUSTIC ENVIRONMENT GIVES.

Also Published As

Publication number Publication date
KR20230109670A (en) 2023-07-20
US20240012093A1 (en) 2024-01-11
JP2023550434A (en) 2023-12-01
WO2022106765A1 (en) 2022-05-27
WO2022106765A8 (en) 2023-05-04
CN116472471A (en) 2023-07-21
FR3116348A1 (en) 2022-05-20

Similar Documents

Publication Publication Date Title
EP3807669B1 (en) Location of sound sources in a given acoustic environment
EP3822654B1 (en) Audio recognition method, and target audio positioning method, apparatus and device
JP4406428B2 (en) Signal separation device, signal separation method, signal separation program, and recording medium
US7626889B2 (en) Sensor array post-filter for tracking spatial distributions of signals and noise
EP3635718B1 (en) Processing of sound data for separating sound sources in a multichannel signal
EP3281026B1 (en) Method of separating sources for parsimonious signals
EP2680262A1 (en) Method for suppressing noise in an acoustic signal for a multi-microphone audio device operating in a noisy environment
EP4046390A1 (en) Improved location of an acoustic source
Foy et al. Mean absorption estimation from room impulse responses using virtually supervised learning
EP4248231A1 (en) Improved location of an acoustic source
EP3025342B1 (en) Method for suppressing the late reverberation of an audible signal
EP0410826B1 (en) Iterative motion estimation process, between a reference image and a current image, and device for canying out the process
JP2019054344A (en) Filter coefficient calculation device, sound pickup device, method thereof, and program
WO2023156316A1 (en) Locating a moving acoustic source
CN115267672A (en) Method for detecting and positioning sound source
Firoozabadi et al. Combination of nested microphone array and subband processing for multiple simultaneous speaker localization
Traa Multichannel source separation and tracking with phase differences by random sample consensus
Al-Ali et al. Enhanced forensic speaker verification performance using the ICA-EBM algorithm under noisy and reverberant environments
CN111627425B (en) Voice recognition method and system
WO2022207994A1 (en) Estimating an optimized mask for processing acquired sound data
EP3934282A1 (en) Method for converting a first set of signals representing a sound field into a second set of signals and associated electronic device
CN116756486A (en) Offshore target identification method and device based on acousto-optic electromagnetic multi-source data fusion
Aparicio A Geometric Deep Learning Approach to Sound Source Localization and Tracking
Díaz-Guerra Aparicio et al. A Geometric Deep Learning Approach to Sound Source Localization and Tracking

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20230512

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)