EP3117631B1 - Vorrichtung und verfahren zum verarbeiten eines signals im frequenzbereich - Google Patents

Vorrichtung und verfahren zum verarbeiten eines signals im frequenzbereich Download PDF

Info

Publication number
EP3117631B1
EP3117631B1 EP15709184.4A EP15709184A EP3117631B1 EP 3117631 B1 EP3117631 B1 EP 3117631B1 EP 15709184 A EP15709184 A EP 15709184A EP 3117631 B1 EP3117631 B1 EP 3117631B1
Authority
EP
European Patent Office
Prior art keywords
signal
frequency
domain
filter
window function
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.)
Active
Application number
EP15709184.4A
Other languages
English (en)
French (fr)
Other versions
EP3117631A1 (de
Inventor
Andreas Franck
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Publication of EP3117631A1 publication Critical patent/EP3117631A1/de
Application granted granted Critical
Publication of EP3117631B1 publication Critical patent/EP3117631B1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • H04S7/307Frequency adjustment, e.g. tone control
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S3/00Systems employing more than two channels, e.g. quadraphonic
    • H04S3/002Non-adaptive circuits, e.g. manually adjustable or static, for enhancing the sound image or the spatial distribution
    • H04S3/004For headphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/01Multi-channel, i.e. more than two input channels, sound reproduction with two speakers wherein the multi-channel information is substantially preserved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/01Enhancing the perception of the sound image or of the spatial distribution using head related transfer functions [HRTF's] or equivalents thereof, e.g. interaural time difference [ITD] or interaural level difference [ILD]

Definitions

  • the present invention relates to the processing of signals and in particular audio signals in the frequency domain.
  • filter characteristics have to be changed at runtime.
  • a gradual, smooth transition is often necessary to avoid interference caused by switching (e.g. discontinuities in the signal curve, audible crack artifacts in the case of audio signals).
  • This can be done either by a continuous interpolation of the filter coefficients or a simultaneous filtering of the signal with both filters and a subsequent gradual cross-fading of the filtered signals. Both methods deliver identical results. This functionality is referred to below as "crossfading”.
  • Binaural synthesis enables realistic reproduction of complex acoustic scenes via headphones, which is used in many areas, such as immersive communication [1], auditory displays [2], virtual reality [3] or augmented reality ) [4].
  • Editing dynamic acoustic scenes to include dynamic head movements of the listener is improved the localization quality, the realism and the plausibility of a binaural synthesis considerably, but also increases the computational complexity with regard to the preparation.
  • Another commonly used way to improve localization accuracy and naturalness is to add room reflections and reverberation effects, e.g. [1], [5], for example by calculating a number of discrete reflections for each sound object and preparing them as additional sound objects. Again, such techniques add significantly to the complexity of binaural processing. This highlights the importance of efficient signal processing techniques for binaural synthesis.
  • the general signal flow of a dynamic binaural synthesis system is in Fig. 4 shown.
  • the signals of the sound objects are filtered with the head-related transfer functions (HRTFs) of both ears.
  • HRTFs head-related transfer functions
  • a summation of these contributions provides the signal of the left and right ear, which are reproduced by headphones.
  • HRTFs map the sound propagation from the source position to the eardrum and vary depending on the relative position - depending on the azimuth, elevation and within certain limits also depending on the distance [6]. Dynamic sound scenes therefore require filtering with HRTFs that change over time.
  • two interrelated but separate techniques are required to implement such time-varying filters: HRTF interpolation and filter cross-fading.
  • interpolation means determining HRTFs for a given source position, which is usually indicated by azimuth and elevation coordinates. Since HRTFs are usually provided in databases with a finite spatial resolution, eg [7], this includes the selection of a suitable subset of HRTFs and an interpolation between these filters [3], [6].
  • a filter fade which is referred to as "commutation” in [5] enables a smooth transition, distributed over a given transition time, between these, possibly interpolated, HRTFs. Gradual transitions of this kind are necessary in order to avoid audible signal discontinuities, for example crackling noises. This document focuses on the crossfading process.
  • FD convolution techniques frequency domain, frequency domain
  • partitioned convolution algorithms eg [10] - [13].
  • a common disadvantage of all FD convolution methods is that an exchange of the filter coefficients or a gradual transition between filters is more restricted and usually requires more computation effort than cross-fading between time domain filters. On the one hand, this is due to the block-based mode of operation of these processes.
  • the EP 2667508 A2 discloses a method and apparatus for efficient frequency domain implementation of time variable filters. To obtain filtered samples of an input frame, frequency domain values of the input frame are multiplied by folded frequency domain coefficients. The folded frequency domain coefficients are generated by convolution of set frequency domain coefficients with frequency domain coefficients of a filter truncation window.
  • the object of the present invention is to enable a more efficient concept for processing signals in the frequency domain.
  • the present invention is based on the finding that, especially when processing in the frequency domain is present anyway, there is actually a windowing to be carried out in the time domain, that is to say element-by-element multiplication with a time domain sequence, such as, for example, a cross-fading, amplification or other processing of a signal, also to be carried out in this frequency domain representation.
  • windowing in the time domain is to be carried out in the frequency domain as a convolution and, for example, as a circular convolution. This is particularly advantageous in connection with partitioned convolution algorithms that are carried out to replace a convolution in the time domain with a multiplication in the frequency domain.
  • the time-frequency transformation algorithms and the inverse frequency-time-domain transformation algorithms are so complex that one can be Convolution in the frequency domain with a frequency domain window function justifies their effort.
  • a time domain window such as a cross-fade or a gain change
  • the circular (also cyclic or periodic) convolution required in the frequency domain is in use Suitable frequency domain window functions are not problematic in terms of expenditure, since a number of frequency-time domain transformation algorithms are saved. A large number of required time-domain window functions can be approximated very well by window functions whose frequency domain representation has only a few non-zero coefficients. The circular convolution can thus be carried out so efficiently that the gain by saving the additional frequency-time domain transformations exceeds the costs for the circular convolution in the frequency domain.
  • only a single signal can be filtered with a single filter in order to then create a frequency range window function in order, for example, to achieve a volume or gain change in the signal in the frequency range.
  • each filter output signal is circularly folded with its own frequency range window and the convolution output signals are then added up in order to obtain the result of the cross-fading, for example, in the frequency range.
  • the filter input signals can also be different.
  • this case also concerns an extension of an application example with only one signal and e.g. a gain change function, which is extended to many parallel channels, and where the signals are combined in the frequency domain with a single inverse transformation.
  • the required time domain window functions are only approximated for each frequency domain representation. This is used to reduce the number of frequency domain window function coefficients to e.g. a maximum of 18 coefficients or, in extreme cases, only two coefficients. This results in a deviation from the actually required window function when these frequency range window functions are transformed back into the time domain. However, it has been found that this deviation is not problematic or does not or only slightly disturbs the subjective auditory impression, particularly in the applications of cross-fading, volume change, fading-out, fade-in or other signal processing, so that this minor problem, if so it exists at all, for the subjective listening impression in view of the considerable efficiency gains achieved can easily be accepted.
  • Fig. 1 shows a device for processing a discrete-time signal in the frequency domain.
  • An input signal 100 which is in the time domain, is fed into a time-frequency converter 110.
  • the output of the time-to-frequency converter 110 is then fed to a processor stage 120 which has a filter 122 and a frequency domain window function application device 124 has.
  • the output signal 123 of the frequency domain window function application device 124 can then be fed either directly or after processing, such as, for example, a combination with other correspondingly processed signals, to a frequency-time transformation device or a frequency-time converter 130.
  • the time-frequency converter 110 and the frequency-time converter 130 are designed for fast convolution.
  • Fast convolution can be, for example, an overlap-add convolution algorithm, an overlap-save convolution algorithm or any partitioned convolution algorithm.
  • a partitioned convolution algorithm is used if a direct application of an unpartitioned frequency domain convolution algorithm such as overlap save or overlap add is not justifiable due to the latency caused by these algorithms or other practical reasons such as the size of the FFTs used.
  • a corresponding partitioning is then carried out, depending on the corresponding folding algorithm.
  • a corresponding filtering as shown in block 122, can then be carried out by multiplying and summing a transformed input signal with a partitioned frequency domain representation of the impulse response, so that linear convolution in the time domain can be avoided.
  • the frequency domain representation is based on a block-wise partitioning of the signal. This also implicitly results from the discrete nature of the frequency domain representation in the time and frequency domain.
  • prominent representatives of partitioned convolution algorithms are the overlap add method, in which an input signal is first partitioned into non-overlapping sequences and supplemented with a specific number of zeros. Then discrete Fourier transforms of the individual non-overlapping, zero-filled sequences and the filter are formed. The transformed non-overlapping sequences are then multiplied by the Fourier transform of the impulse response of the filter, which is also supplemented with a specific number of zero samples.
  • the overlap save method (e.g. [9])
  • overlapping segments of the input signal are formed and by means of a discrete Fourier transformation, e.g. the FFT, transformed into the frequency domain.
  • a discrete Fourier transformation e.g. the FFT
  • These sequences are multiplied element by element with the impulse response of the filter, which is filled with a number of zero samples and transformed into the frequency range.
  • the result of this multiplication is transformed back into the time domain by means of an inverse discrete Fourier transformation.
  • a fixed number of samples are discarded from each back-transformed block.
  • the output signal is formed by joining the remaining sequences together.
  • the processor stage 120 is thus designed to filter the signal which is present in the frequency domain representation with a filter with a filter characteristic in order to obtain a filtered signal 123.
  • a frequency domain window function is then applied 124 to the filtered signal or the signal derived from the filtered signal to obtain a windowed signal 125, the multiplication of frequency domain window function coefficients of the frequency domain window function by spectral values of the filtered signal to give multiplication results to obtain and a summation of the multiplication results, that is, an operation in the frequency domain.
  • the application preferably comprises a circular (periodic) convolution of the frequency domain window function coefficients of the frequency domain window function with spectral values of the filtered signal.
  • the converter 130 is in turn designed to convert the windowed signal or a signal determined using the windowed signal into a time domain in order to e.g. to get at 132.
  • the processing in order to obtain the signal derived from the filtered signal should relate to all possible modifications of the signal, including the summation, the difference formation or the formation of a linear combination.
  • An example is in the concrete in Fig. 3 given signal flow, in which the "signal derived from the filtered signal" consists of the difference between two filtered signals.
  • FIG. 12 shows an alternative implementation of the processor stage, with the time-to-frequency converter 110 as in FIG Fig. 1 can be executed.
  • the processor stage 120 comprises a filter 122a in order to filter a frequency domain signal derived from the time domain signal 100 with a first filter characteristic H 1 in order to obtain a filtered signal at the output of the block 122a.
  • the processor stage is designed to filter the frequency range signal at the output of block 110 with a second filter 122b with a second filter characteristic H 2 in order to obtain a filtered second signal.
  • the processor stage is designed to apply a first frequency range window function 124a to the first filtered signal, in order to obtain a windowed first signal, and the processor stage is designed to apply a second frequency range window function 124b to the second filtered signal, to get a windowed second signal.
  • the two windowed signals are then combined in a combiner 200.
  • the combined frequency range signal present at the output of combiner 200 can then, for example as in FIG Fig. 1 can be converted into a time domain signal by a converter 130.
  • Fig. 3 shows a further implementation of the processor stage, in which the frequency domain signal 105, which is derived from the time domain signal 100, is filtered by a filter 122a with a first filter characteristic H 2 in order to obtain a first filtered signal. Furthermore, the frequency domain signal 105 is filtered by a filter 122b with a second filter characteristic H 2 in order to obtain a second filtered signal.
  • a combiner 300 forms a difference signal 302 from the first and the second filtered signal, which is then fed to a single frequency range window function application device 122c, the application preferably being carried out as a circular convolution of the spectral coefficients of the difference signal with the coefficients of the frequency range window function is.
  • the windowed output signal is then combined in combiner 200 with the first filtered signal at the output of block 122a.
  • This condition is met, for example, if the frequency domain window function 124a corresponds to a falling ramp in the time domain and the frequency domain window function 124b represents a rising ramp in the time domain (or vice versa), as for example in Fig. 5a is shown.
  • the fading in or out or the fading can take place over one or more blocks, depending on the requirements in the specific implementation.
  • the time domain signal is an audio signal, such as the signal of a source, which after various processing can be sent to a loudspeaker or an earphone.
  • the audio signal can also be the reception signal of a microphone array, for example.
  • the signal is not an audio signal, but an information signal, as is obtained after demodulation in the baseband or in the intermediate frequency band, in the context of a transmission link as it is used for wireless communication or for optical communication. The present invention is thus useful and advantageous in all fields in which time-varying filters are used and in which convolution is carried out with such filters in the frequency domain.
  • the frequency domain window functions are designed such that they only approximate desired time domain window functions.
  • the number of window coefficients is less than or equal to 18 and more preferably less than or equal to 15 and even more preferably less than or equal to 8 or even less than or equal to 4 or even less than or equal to 3 or, in extreme cases, even equal to 2.
  • a minimum number of 2 frequency domain window coefficients is used.
  • the processor stage is designed such that the non-zero coefficients of the frequency domain window are selected partially or completely so that they are either purely real or purely imaginary.
  • the frequency range window function loading function is designed in such a way that it uses the purely real or purely imaginary nature of the individual non-zero frequency range window coefficients in the calculation of the circular folding sum in order to achieve a more efficient evaluation of the folding sum.
  • the processor stage is configured to use a maximum number of frequency domain window coefficients other than 0, a frequency domain window coefficient being real for a minimum frequency or for the lowest bin. Furthermore, frequency domain window coefficients for even bins or indices are purely imaginary and frequency domain window coefficients for odd indices or odd bins are purely real.
  • the first filter characteristic and the second filter characteristic between which to cross-fade are head related transfer functions (HRTF) for different positions and the time domain signal is an audio signal for a source at a correspondingly different position .
  • HRTF head related transfer functions
  • Fig. 10 It is also preferred as described in Fig. 10 is shown to use a multi-channel processing scenario in which several source signals are cross-faded in the frequency domain and the cross-faded signals are then added in the frequency domain, only to then transform the final sum signal back into the time domain with a single transformation.
  • the various sources SRC1 to SRCM which are designated by 600, 602, 604, represent individual audio sources as are at 401, 402, 403 in Fig. 4 are shown.
  • time-frequency converters 606, 608, 610 which in Fig. 9 and in Fig. 10 are constructed analogously, the source signals are transformed into the frequency domain.
  • Fig. 10 contains the fading algorithm Fig. 2 (two circular folds). It is also applicable to follow the improved constant gain crossfade Fig. 3 to use.
  • the sources 401 to 403 move and, for example to receive the earphone signal 713, the head-related transfer function required for this current source position changes for each source due to the movement of the source.
  • Fig. 4 there is a database that is addressed by a certain source position. An HRTF is then obtained from the database for this source position or, if there is not an HRTF for exactly this position, two HRTFs are obtained for two neighboring positions, which are then interpolated.
  • the audio signal after the time-frequency conversion 606 is filtered with the first filter function by multiplication in the frequency range, which was determined for the first position at a first point in time.
  • the same audio signal is filtered by a second filter (again by multiplication by the transfer function of the filter), this second filter 613 again being determined for the second position at a later second point in time.
  • this second filter 613 In order to have an artifact-free transition, cross-fading must take place, so that the output signal of the first filter 612 is continuously faded out and at the same time the output signal of the second filter 613 is faded in, as is shown by the temporal filter functions 706, 707. Therefore, the signals at the output of the filters 612, 613 are transformed into the time domain, as represented by the IFFT blocks 700, 701, and then cross-fading is carried out, the signals at the output of the windowing being added up. This addition takes place per source and the corresponding cross-faded signals from all sources are then added up in an adder 712 in the time domain in order to finally receive the earphone signal 713.
  • Analog processing will take place for the other sources, as represented by blocks 614, 615, 702, 703, 708, 709 and 616, 617, 704, 705, 710, 711, respectively.
  • the fade-in / fade-out or fade-out is carried out with the frequency range window function 620, 621 or 622, 623 or 624, 625 in the frequency range as a fold.
  • the results of the convolutions are then added up by the adders 626, 627, 628 and 629, although all additions can also be carried out directly without the cascading of the adders 626, 627, 628 on the one hand and the adder 629 on the other.
  • the present invention relates to a novel method for performing a cross-fade, i.e. a smooth gradual transition between two filtered signals, right in the frequency domain. It works with both overlap saveals and partitioned convolution algorithms. If applied separately to each HRTF filtering process, it saves one inverse FFT process per block of output samples, resulting in significant reductions in complexity. However, a much stronger acceleration is possible if the proposed FD cross-fading method is combined with a restructuring of the signal flow of the binaural synthesis system. When performing the summation of component signals in the frequency domain, only a single inverse FFT is required for each output signal (ear signal).
  • Convolution techniques that rely on fast transformation use the equivalence between multiplication in the frequency domain and circular convolution in the time domain, as well as the availability of Fast Fourier Transform (FFT) algorithms to implement the discrete Fourier Transformation (DFT).
  • FFT Fast Fourier Transform
  • DFT discrete Fourier Transformation
  • Overlap add or overlap save algorithms [8], [9] divide the input signal into blocks and convert the frequency domain multiplication into a linear time domain convolution.
  • overlap add and overlap save require large FFT sizes and long processing latency.
  • Partitioned convolution algorithms reduce these disadvantages and allow compromises between computational complexity, the FFT size used and latency.
  • the impulse response h [n] is partitioned into blocks of either a uniform [10], [11] or a non-uniform size [12], [13], on each partitioning FD convolution (usually overlap save) is used.
  • the results are delayed and added accordingly to form the filtered output.
  • FDL frequency-domain delay lines
  • Equation 1 The number of zeros in Equation 1, represented by the horizontal brace, is L-M.
  • the input signal x [n] is divided into overlapping blocks x [m, n] of length L with a lead of B samples between successive blocks.
  • Time domain aliasing in the output signal is prevented if M ⁇ L - B + 1 applies to [9], [11].
  • the uniformly partitioned convolution algorithm requires FFT and inverse FFT, P vector multiplications, and P-1 vector additions.
  • FFT and IFFT require approximately p L log 2 ( L ) real valued operations.
  • Fig. 5a shows an example of such window functions.
  • a constant-gain crossfade is usually used. This means that the sum of the weights w 1 [n] and w 2 [n] is one for each n.
  • Implementations (11) and (13) are of comparable complexity, while (13) is somewhat more efficient if the filter coefficients are updated very often, ie if smooth, artifact-free transitions are required. Furthermore, the last-mentioned form can be used if the filter coefficients h [n, k] cannot be manipulated directly, for example if fast convolution is used. Examples that combine FD convolution with output crossfading are shown, for example, in [14], [16].
  • an application of (13) can be easily implemented if the length of the transition is identical to the block size B.
  • Each block of the overall transition can be expressed by multiplying the difference signal y 1 [n] - y 2 [n] by a single window function w [n] that implements a linear transition from 1 to 0 within B samples.
  • This section describes an algorithm that works based on the frequency domain description of a filtered signal, such as the representation Y [m, k] (5) within a partitioned convolution algorithm, to implement a smooth cross-fading of the final time domain output.
  • the main motivation for this is increased efficiency, since only an inverse FFT is required for output crossfading if the transition is implemented in the frequency domain.
  • the frequency domain representation of (15) follows from the duality of the convolution theorem [9], [17] in which denotes a circular convolution of two time-discrete sequences.
  • a time domain cross-fading can thus be implemented by means of a circular FD convolution. From a computational point of view, such a cross-fading does not appear attractive.
  • circular folding of two sequences of length L requires approximately L 2 complex multiplications and additions, which far exceeds the potential gain of approximately O (Llog 2 L) due to the saving of an inverse FFT.
  • the ring accent here indicates that ⁇ [n] is the result of an inverse FFT, which may contain artifacts from circular convolution (ie time domain aliasing).
  • ⁇ [n] and ⁇ [n] have the length L, while the time domain window w [n] has a length B for an output block of size B.
  • W [k] is uniquely defined by ⁇ (L + 1) / 2 ⁇ elements, for example W [0], ..., L (L - 1) / 2 ⁇ . This also means that W [0] is purely real. Likewise, if L is an even number, W [L / 2] is also real.
  • W r L 2nd - 1 n only different from zero if L is an even number.
  • a real component W r [k] can only be non-zero if the index k in the set is included.
  • the time domain window (24) can be expressed by for a given set of nonzero components of W [k]
  • W [k] can be given as an optimization problem in matrix form minimize W ⁇ G ⁇ W - w ⁇ ⁇ p .
  • the vector w represents the last B samples of the desired time domain window w [n] (17), while W is the vector of non-zero components of W [k]
  • W W r r 1 ⁇ W r r R W i i 1 ⁇ W i i I.
  • T w ⁇ w ⁇ L - B w ⁇ L - B + 1 ⁇ w ⁇ L - 1 T .
  • the desired time range window is a linear ramp that decreases from 1 to 0.
  • Inequality constraints for the first and last coefficients 1 - 1 L ⁇ w 0 ⁇ 1 and ⁇ w B - 1 ⁇ 1 L prevent discontinuities at the beginning and end of the transition.
  • design experiments show that the restrictions only become active for a very small number of non-zero coefficients, ie they influence the result.
  • the resulting design is observed to approximate the ideal time-domain window very well, with L 2 and L ⁇ error standards of 9.37 ⁇ 10 -6 and 5.65 ⁇ 10 -6, respectively.
  • a design with 8 exclusively real coefficients is used in Fig. 6 (b) shown.
  • the conjugate symmetry of the sequences involved in circular folding enables considerable savings in complexity. Additional significant reductions can be obtained through window coefficients that are either purely real or imaginary.
  • the proposed circular convolution algorithm can be made up of sparse frequency domain window functions, such as that in FIG 6a-6f illustrated designs, take an immediate advantage.
  • a cross-fade with constant gain which comprises linear cross fades, as are usually used for transitions between HRTFs, can be implemented efficiently within the concept presented for frequency range cross fading.
  • a general frequency range cross-fading is achieved by circular folding of the two input signals with their respective frequency range windows and a subsequent summation implemented.
  • a more efficient implementation is achieved by transforming the time domain fade function (14) into the frequency domain
  • this function enables crossfading between arbitrary start and end values s and e.
  • the main advantage of implementation (41) over (40) is that it only requires a single circular convolution, which is the most complex part of the blending algorithm.
  • the computational complexity for a cross-fade with constant gain is determined by the sparse circular convolution operation described in section 4.1, two complex vector additions of size ⁇ ( L +1) / 2 ⁇ , two additions and 2K - 1 multiplications for scaling the Window coefficients W [k].
  • This gives a total of (6 K -2) ⁇ ( L +1) / 2 ⁇ + 2 additions and 4 K ⁇ ( L +1) / 2 ⁇ + 2 K -1 real values Multiplications.
  • blending a block of B output samples requires a total of (10 K -2) ⁇ ( L +1) / 2 ⁇ + 2 K +1 instructions.
  • Fig. 5b shows, in analogy to Fig. 5a an alternative time domain window representation, which represents a gain change, for example from a gain factor 1 to a gain factor 0.5.
  • a time range window corresponds approximately to the blanking window w 1 in Fig. 5a , but no overlay is made.
  • efficient frequency domain window functions exist which are in block 124 or in blocks 124a, 124b, 124c Fig. 1 , 2nd and 3rd can be used efficiently.
  • the representations of the frequency domain window function for the time domain window of Fig. 5b can from the frequency domain representations for the window functions of Fig. 5a are represented by scaling or by addition / subtraction of corresponding values, so that no new optimizations have to be carried out, for example, but based on existing frequency domain window functions Fig. 5a , or as in the 6a to 6f are designated, the corresponding frequency domain window functions can be generated for all gain changes in the frequency domain. So through Fig. 5b a gain reduction can be achieved. Alternatively, an increase in gain can be achieved by a corresponding function, with the function w 2 of Fig. 5a can be used again with appropriate scaling and / or addition of corresponding, for example constant values.
  • Fig. 11 shows an example of a signal processing structure for gain change with any start and end values using a single, fixed frequency domain window function.
  • Y 1 [ k ] 502 represents the frequency range representation of the signal which is to be subjected to a gain change.
  • This signal can have been generated, for example, by frequency range filtering of an input signal. However, such filtering is not absolutely necessary. It is only necessary that the signal is present in a representation that is compatible with the frequency-time domain transformation used (referred to in the description as "converter"), ie that the application of the frequency-time domain transformation generates the corresponding time domain signal y 1 [ n ].
  • the course of the amplification function is determined by the amplification value s at the beginning of a signal block, the amplification factor e at the end of the signal block and the selected frequency range window function, here denoted by W 2 [ k ], certainly. This is carried out, for example, in such a way that its time domain correspondence is a function that drops from 1 to 0.
  • a gain change is made using the following, also in Fig. 11 shown calculation function performed.
  • the signal Y 1 [ k ] is acted upon by means of circular convolution with a frequency range window function W 2 [k].
  • the result of this convolution is scaled by element-by-element multiplication of the vector by the value e - s in a first multiplier 503. Due to the linearity of the circular folding, this scaling can also be applied to either Y 1 [ k ] or W 2 [ k ] before folding.
  • the result of this representation is summed with the signal Y 1 [ k ] scaled with the start gain value s in a second multiplier 504 in the summer 500 and gives the frequency domain output signal Y [ k ].
  • the efficiency can be further increased by separating the central window coefficient W [0] from the convolution sum analogously to (43) and taking it into account in the scaling of Y 1 [ k ].
  • FIG. 7a to 7f shows a tabular listing of the filter coefficients of the frequency domain window functions, which in the time domain in the 6a to 6f are shown.
  • the frequency window functions are sparse.
  • Fig. 7a a frequency range representation, where the bin of the frequency range representation of the window function, which corresponds to the frequency 0 or the 0th bin has the value 0.5.
  • the exact value "0.5" is not absolutely necessary here.
  • 0.5 for the 0th bin means that the average of the time domain values is 0.5, which is the case with a uniform cross-fading from 1 to 0.
  • the first to seventh frequency bin then have the corresponding complex coefficients, while all further, higher bins are 0 or have values so small that they are almost meaningless.
  • the amount and the value from the 7a to 7f thus describe the indices of the non-zero real and imaginary parts of the spectral coefficients or bins of the frequency domain window functions, which in the time domain in the 6a to 6f are shown.
  • concerns Fig. 7e and Fig. 7f only an occupation of the first three spectral coefficients of the window function ( Fig. 7e ) or just the first two spectral coefficients of the window function ( Fig. 7f ).
  • Fig. 8 (a) shows the influence of the filter length N.
  • the complexity is a linear function of N for all algorithms, since the N only influences the effort that is due to the block convolution (6), which is identical for the three algorithms .
  • the proposed FD cross-fading algorithm shows a measurable improvement over the time domain approach even in the case of a single channel.
  • Fig. 8 (b) The effect of the block size of the partitioned convolution scheme is shown in Fig. 8 (b) shown. While an FD crossfade is more efficient than a time domain crossfade in all cases, the relative gain increases with increasing block size B. This can be explained by the complexity properties of uniformly partitioned convolution schemes. For small block sizes, complexity is dominated by block folding (6), while the costs of FFT and IFFT operations are negligible. Since a reduction in the number of IFFTs is the main feature of the FD cross-fading process, it only shows its full effect for sufficiently large block sizes. However, this is only a minor disadvantage, since uniformly partitioned folding for very small block sizes always becomes inefficient (see, for example, [12], [13]).
  • the proposed FD crossfading in Connection with overlap save schemes can be used in an advantageous manner if the resulting latency is acceptable.
  • Fig. 8 (c) The dependence of the complexity on the thin occupation of the FD window, ie the non-zero real and imaginary parts of values of the frequency domain window function W [l] is shown in Fig. 8 (c) shown.
  • the performance curve is a constant that no such windows are used.
  • the FD cross-fading is more efficient for up to about 7 non-zero components in the structure under consideration.
  • windows with 3-4 values usually already allow very good approximations of linear cross-fades. This allows for reasonable trade-offs between the accuracy and complexity of the fade and, in most applications, considerable acceleration. Further considerable gains in accuracy or efficiency are possible if the ear signals are also mixed in the frequency domain.
  • FD blending with FD windows with up to 12 coefficients is more efficient than the time domain method.
  • Fig. 8 (d) shows the effect of the size of the reproduced acoustic scene, ie the number of virtual sources, on the overall complexity.
  • the computed numbers of arithmetic operations are normalized by the number of computed sources.
  • the complexity is independent of the scene size.
  • the multi-channel FD algorithm for a single source is identical to the single-channel FD blend.
  • Embodiments relate to an efficient algorithm that combines frequency domain convolution and cross-fading of filtered signals. It is applicable to a variety of frequency domain folding techniques, particularly overlap save and uniformly or non-uniformly partitioned folding. Likewise, it can be used with various types of smooth transitions between filtered audio signals, including gain changes and fades. Cross-fades with constant gain such as linear filter transitions, which are usually used in the dynamic binaural synthesis are required, allow additional substantial reductions in complexity.
  • the new algorithm is based on circular convolution in the frequency domain with a sparse window function that consists of only a few non-zero values. Furthermore, a flexible optimization-based design process for such windows is presented. Design examples confirm that the blending behavior that is usually used in audio applications can be approximated very well by very thin window functions.
  • the proposed embodiments show significant improvements in performance over existing solutions based on two separate convolutions and a time-domain blend.
  • the full potential of frequency domain cross-fading is only exploited for binaural applications if it is integrated into the structure of a binaural display system.
  • the novel cross-fading algorithm enables larger portions of the processing to be performed in the frequency domain, thereby significantly reducing the number of inverse transforms.
  • the advantages of this approach to binaural synthesis have been demonstrated.
  • the ability to mix the signals from multiple sound sources in the frequency domain enables significant reductions in complexity.
  • the proposed algorithm is not limited to binaural synthesis, but is probably applicable to other uses that use both fast convolution techniques and time-varying mixing of audio signals, particularly in multi-channel applications.
  • a gradual fading in or out of a (filtered) signal y i [n] can generally be interpreted as a multiplication of the signal by a time domain window function w i [n].
  • a cross-fade between two filtered signals (y 1 [n] and y 2 [n]) can be represented by multiplying the signals with window functions w 1 [n] and w 2 [n] and then summing them.
  • y n w 1 n y 1 n + w 2nd n y 2nd n
  • a special form of cross-fading is the so-called constant gain crossfade, in which the sum of the window functions w 1 [n] and w 2 [n] gives the value 1 for each n.
  • This form of crossfading is useful in many applications, especially if the signals to be blended (or the filters) are strongly correlated.
  • y n y 2nd n + w n y 1 n - y 2nd n .
  • the aim of the method is to carry out the cross-fading directly in the frequency domain and thereby to reduce the effort involved in carrying out two complete, fast convolution operations. Specifically, this means that when fading the filtered signals in the frequency domain, only one instead of two inverse FFTs are required.
  • An elemental multiplication in the time domain (47) corresponds to a circular (periodic) convolution in the frequency domain.
  • DFT ⁇ denotes the discrete Fourier transform, and represents a circular convolution of two finite, usually complex sequences, the length of which is denoted by L.
  • the cross-fading due to circular convolution in the frequency domain can be integrated into fast convolution algorithms such as overlap save, partitioned and non-uniformly partitioned convolution.
  • fast convolution algorithms such as overlap save, partitioned and non-uniformly partitioned convolution.
  • the peculiarities of these processes e.g. the zero padding (filling with zeros) of the impulse response segments and the discarding of part of the signal transformed back into the time domain (to avoid circular overlapping of the time domain signal, time domain aliasing) are considered accordingly.
  • the length of the crossfade is fixed to the block size of the convolution algorithm or a multiple thereof.
  • the fold (48) is typically significantly more complex than a cross-fade in the time domain (47) (complexity 0 (L 2 )). This means that the shift to the frequency range generally means a significant increase in complexity, since the additional effort 0 (L 2 ) significantly exceeds the reduction by saving the FFT 0 ( Llog 2 L ). In addition, operations such as weighted summation in the frequency domain correspondence of (44) become more expensive because the sequences are complex.
  • One embodiment is to find frequency domain window functions W [k] that have very few nonzero coefficients other than zero.
  • W [k] frequency domain window functions
  • circular convolution in the frequency domain can become significantly more efficient than an additional inverse FFT followed by crossfading in the time domain.
  • An optimization method is introduced with which an optimal frequency range window W [k] can be found for a desired time-domain window function ⁇ [ n ] and the specification as to which real-valued and imaginary coefficients of the frequency-domain window function may differ from zero.
  • the window coefficients ⁇ [0] ... ⁇ [L - B] may take any value without changing the result of the crossfade.
  • the distribution of the "nonzero" real and imaginary components is very characteristic.
  • the distribution, such as in the third design in Fig. 7g is used (8 "nonzero" coefficients, index sets has proven to be optimal in additional studies for other parameter combinations in exemplary embodiments.
  • This means that a particularly suitable specification for the frequency domain window function is that the coefficients with index 0 and all odd indices are purely real and the coefficients with even index (from 2) are purely imaginary.
  • a window function with two "nonzero" coefficients (last design example in Fig. 7g , Figure 6 (f)) enables a smooth transition between two filters or signals and can also be used for a constant gain crossfade.
  • This window function corresponds to a time domain window with a half-sided window of the cosine type (eg Hann or Hamming window).
  • this window function is quite strong from one linear cross-fading differs, it should already be usable for many applications in which only a crack-free cross-fading is required between quite similar filters.
  • the described invention enables further significantly greater performance advantages if systems with multiple inputs and outputs are considered.
  • the cross-fading in the frequency range or the signal representation given by the fast convolution algorithm used
  • a larger part of the total calculation can be carried out in this frequency range, which can significantly increase the overall efficiency.
  • One effect of the described invention is a reduction in the computational complexity. Certain deviations (which, however, can be influenced and usually kept very low) are accepted in comparison to an ideally specified form of cross-fading.
  • the concept enables integration of cross-fading functionalities directly in the frequency domain.
  • larger signal processing algorithms that use cross-fading as a component can be restructured in such a way that an increase in efficiency is achieved.
  • Larger parts of the overall signal processing can be carried out in the frequency domain display, which significantly reduces the effort for the transformation of the signals (e.g. the number of back-transformations into the time domain).
  • execution examples can be used in all applications that require FIR convolution with a certain minimum filter length (depending on the hardware from approx. 16-50 coefficients) and in which the filter coefficients are to be exchanged at runtime without signal processing artifacts.
  • the signals of the sound objects are filtered with so-called Head-RElated Transfer Functions (HRTFs) of both ears, and the signals reproduced via the headphones are formed by summing the corresponding component signals.
  • HRTFs Head-RElated Transfer Functions
  • the HRTFs are dependent on the relative position of the sound source and the listener and must therefore be replaced when the sound sources are moving or when the head is moved.
  • the need for filter fading is well known, e.g. [5; 14].
  • variable digital filter structures with which the properties of the array processing can be continuously adjusted. It must also be ensured that the change in the characteristics does not produce any disturbances (e.g. crack artifacts, transients).
  • the variable filter is implemented by means of fast convolution, the described invention can be used advantageously.
  • the frequency domain signal is an audio signal.
  • the first filter characteristic relates to a filter for a specific sound transducer (microphone or loudspeaker) in a sound transducer array, which is suitable for forming a desired first directional characteristic at a first time in combination with the other sound transducers of the sound transducer array.
  • the second filter characteristic describes a filter for a specific sound transducer (microphone or loudspeaker) in a sound transducer array, which is suitable for forming, in combination with the other sound transducers of the sound transducer array, a second desired directional characteristic at a second point in time, so that by cross-fading using the frequency domain window function changes the directional characteristic over time.
  • Another application relates to the use of a plurality of audio signals whose filtered and cross-faded frequency range representation are combined before the inverse Fourier transformation. This corresponds to the simultaneous emission of several audio beams with different signals via a loudspeaker array, or the summation of the individual microphone signals in a microphone array.
  • the described invention can be used particularly advantageously for systems with multiple inputs and outputs (multiple input, multiple output, MIMO), for example if there are several cross-fades take place simultaneously or several cross-faded signals are combined and processed. In this case, it is possible to carry out a larger part of the overall calculation in the frequency domain (or the signal representation specified by the overlap save or partitioned convolution algorithm used). By shifting further operations such as summation, mixing of signals etc., the effort for the transformation back into the time domain can be significantly reduced and the overall efficiency can thus often be significantly improved.
  • Examples of such systems, as described above, are binaural rendering for complex audio scenes or beamforming applications in which signals for different directional characteristics and converters (microphones or loudspeakers) have to be filtered with variable filters and combined with one another.
  • aspects have been described in connection with a device, it goes without saying that these aspects also represent a description of the corresponding method, so that a block or a component of a device can also be understood as a corresponding method step or as a feature of a method step. Analogously, aspects that have been described in connection with or as a method step also represent a description of a corresponding block or details or feature of a corresponding device.
  • Some or all of the method steps can be carried out by a hardware apparatus (or using) a hardware apparatus), such as a microprocessor, a programmable computer or an electronic circuit. In some embodiments, some or more of the most important process steps can be performed by such an apparatus.
  • exemplary embodiments of the invention can be implemented in hardware or in software.
  • the implementation can be carried out using a digital storage medium, for example a floppy disk, a DVD, a BluRay disc, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, a hard disk or another magnetic or optical Be carried out memory on which electronically readable control signals are stored, which can cooperate with a programmable computer system or cooperate in such a way that the respective method is carried out.
  • the digital storage medium can therefore be computer-readable.
  • Some exemplary embodiments according to the invention thus comprise a data carrier which has electronically readable control signals which are able to interact with a programmable computer system in such a way that one of the methods described herein is carried out.
  • exemplary embodiments of the present invention can be implemented as a computer program product with a program code, the program code being effective to carry out one of the methods when the computer program product runs on a computer.
  • the program code can, for example, also be stored on a machine-readable carrier.
  • an exemplary embodiment of the method according to the invention is thus a computer program which has a program code for performing one of the methods described here when the computer program runs on a computer.
  • a further exemplary embodiment of the method according to the invention is thus a data carrier (or a digital storage medium or a computer-readable medium) on which the computer program for performing one of the methods described herein is recorded.
  • a further exemplary embodiment of the method according to the invention is thus a data stream or a sequence of signals which represents the computer program for performing one of the methods described herein.
  • the data stream or the sequence of signals can, for example, be configured to be transferred via a data communication connection, for example via the Internet.
  • Another exemplary embodiment includes a processing device, for example a computer or a programmable logic component, which is configured or adapted to carry out one of the methods described herein.
  • a processing device for example a computer or a programmable logic component, which is configured or adapted to carry out one of the methods described herein.
  • Another embodiment includes a computer on which the computer program for performing one of the methods described herein is installed.
  • a further exemplary embodiment according to the invention comprises a device or a system which is designed to transmit a computer program for carrying out at least one of the methods described herein to a receiver.
  • the transmission can take place electronically or optically, for example.
  • the receiver can be, for example, a computer, a mobile device, a storage device or a similar device.
  • the device or the system can comprise, for example, a file server for transmitting the computer program to the recipient.
  • a programmable logic device e.g., a field programmable gate array, an FPGA
  • a field programmable gate array may cooperate with a microprocessor to perform one of the methods described herein.
  • the methods are performed by any hardware device. This can be a universally usable hardware such as a computer processor (CPU) or hardware specific to the method, such as an ASIC.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Multimedia (AREA)
  • Complex Calculations (AREA)
  • Stereophonic System (AREA)
  • Circuit For Audible Band Transducer (AREA)

Description

  • Die vorliegenden Erfindung bezieht sich auf die Verarbeitung von Signalen und insbesondere von Audiosignalen im Frequenzbereich.
  • In vielen Bereichen der Signalverarbeitung müssen Filtercharakteristiken zur Laufzeit geändert werden. Dabei ist oftmals ein allmählicher, glatter Übergang notwendig, um Störungen durch die Umschaltung (z.B. Diskontinuitäten im Signalverlauf, im Fall von Audiosignalen hörbare Knack-Artefakte) zu vermeiden. Dies kann entweder durch eine kontinuierliche Interpolation der Filterkoeffizienten oder ein simultanes Filtern des Signals mit beiden Filtern und einer anschließenden graduellen Überblendung der gefilterten Signale erfolgen. Beide Verfahren liefern identische Ergebnisse. Diese Funktionalität wird im Folgenden als "Crossfading" bezeichnet.
  • Bei Filterung mit FIR-Filtern, auch als lineare Faltung (engl. "convolution") bezeichnet, können durch die Verwendung schneller Faltungsalgorithmen deutliche Performance-Gewinne erzielt werden. Diese Verfahren operieren im Frequenzbereich und arbeiten blockbasiert. Frequenzbereichs-Faltungsalgorithmen wie Overlap-Add and Overlap-Save (u.a. [8]; [9]) partitionieren nur das Eingangssignal, jedoch nicht den Filter, und verwenden daher große FFTs (FFT = Fast Fourier Transform = schnelle Fouriertransformation), was zu hohen Latenzen bei der Filterung führt. Partitionierte Faltungsalgorithmen, entweder gleichförmig [10]; [11] oder ungleichförmig [12]; [13]; [20] partitioniert, unterteilen auch die Filter (bzw. deren Impulsantworten) in kleinere Segmente. Durch Anwendung der Frequenzbereichsfaltung auf diese Partitionen, entsprechende Verzögerung und Kombination der Ergebnisse können gute Kompromisse zwischen verwendeter FFT-Größe, Latenz und Komplexität erzielt werden.
  • Alle Verfahren zur schnellen Faltung haben gemein, dass sie sich nur sehr schlecht mit einer graduellen Filter-Überblendung kombinieren lassen. Dies liegt zum einen in der blockbasierten Arbeitsweise dieser Algorithmen begründet. Zum anderen würde die Interpolation von Zwischenwerten zwischen mehreren Filtern, wie sie bei einem Übergang auftreten, eine deutlich erhöhte Rechenlast bedingen, da diese interpolierten Filtersätze jeweils erst in eine für die Anwendung schneller Faltungsalgorithmen geeignete Form transformiert werden müssen (i.d.R. erfordert dies ein Segmentieren, Auffüllen mit Nullen und eine FFT-Operation). Für eine "glatte" Überblendung müssen diese Operationen recht häufig ausgeführt werden, was den Leistungsvorteil der schnellen Faltung deutlich herabsetzt.
  • Bisherige beschriebene Lösungen sind insbesondere im Bereich der Binauralsynthese zu finden. Dabei werden entweder die Filterkoeffizienten der FIR-Filter interpoliert, gefolgt von einer Faltung im Zeitbereich [5] (Anm.: Der graduelle Austausch der Filterkoeffizienten wird in dieser Publikation als "commutation" bezeichnet). [14] beschreibt ein Crossfading zwischen FIR-Filtern durch die Anwendung zweier schneller Faltungsoperationen gefolgt von einem Crossfade im Zeitbereich. [16] betrachtet den Austausch von Filterkoeffizienten in ungleichförmig partitionierten Faltungsalgorithmen. Dabei werden sowohl Crossfades als auch Austauschstrategien für die partitionierten Impulsantwort-Blöcke (mit dem Ziel einer graduellen Überblendung) betrachtet.
  • Vom algorithmischen Ansatz (jedoch für eine andere Anwendung) kommt ein in [18] beschriebenes Verfahren zur nachträglichen Glättung eines durch die FFT gewonnenen Spektrums der hier beschriebenen Lösung am Nächsten. Dort wird die Anwendung eines speziellen Zeitbereichsfenster (vom Kosinus-Typ, z.B. Hann- oder Hamming-Fenster) durch eine Faltung im Frequenzbereich mit einer Frequenzbereichs-Fensterfunktion mit nur drei Elementen implementiert. Eine Überblendung oder ein Ein- oder Ausfaden von Signalen wird dort nicht als Anwendung vorgesehen, auch baut das dort beschriebene Verfahren auf festen 3-Element-Frequenzbereichsfenstern auf, die auf in der DSP bekannten Fenstern beruhen, und zeigt nicht die Flexibilität, um Komplexität und Güte der Approximation an eine vorgegebene Fensterfunktion anzupassen (und damit auch nicht das Entwurfsverfahren für die dünnbesetzten Fensterfunktionen). Zum anderen betrachtet [18] auch nicht die Verwendung des Overlap-Save-Verfahrens, und damit auch nicht die Möglichkeit, für bestimmte Teile der Zeitbereichs-Fensterfunktion keine Vorgaben machen zu müssen.
  • Die Binauralsynthese ermöglicht eine realistische Reproduktion komplexer akustischer Szenen über Kopfhörer, die auf vielen Gebieten angewendet wird, z.B. immersive Kommunikation [1], Hördisplays (engl. auditory displays) [2], virtuelle Realität [3] oder erweiterte Realität (engl. augmented reality) [4]. Ein Aufbereiten dynamischer akustischer Szenen dahingehend, dass dynamische Kopfbewegungen des Zuhörers einbezogen werden, verbessert die Lokalisierungsqualität, den Realismus und die Plausibilität einer Binauralsynthese beträchtlich, erhöht jedoch auch die rechentechnische Komplexität bezüglich der Aufbereitung. Eine andere üblicherweise angewendete Art und Weise, die Lokalisierungsgenauigkeit und Natürlichkeit zu verbessern, besteht darin, Raumreflexionen und Nachhalleffekte, z.B. [1], [5], hinzuzufügen, beispielsweise indem eine Anzahl diskreter Reflexionen für jedes Schallobjekt berechnet und als zusätzliche Schallobjekte aufbereitet werden. Wiederum erhöhen derartige Techniken die Komplexität eines binauralen Aufbereitens beträchtlich. Dies hebt die Bedeutung effizienter Signalverarbeitungstechniken für die Binauralsynthese hervor.
  • Der allgemeine Signalfluss eines dynamischen Binauralsynthese-Systems ist in Fig. 4 gezeigt. Die Signale der Schallobjekte werden mit den kopfbezogenen Übertragungsfunktionen (HRTFs) beider Ohren gefiltert. Eine Summation dieser Beiträge liefert das Signal des linken und des rechten Ohres, die durch Kopfhörer reproduziert werden. HRTFs bilden die Schallausbreitung von der Quellenposition zum Trommelfell ab und variieren je nach der relativen Position - je nach Azimut, Elevation und innerhalb bestimmter Grenzen auch je nach Abstand [6]. Somit erfordern dynamische Schallszenen ein Filtern mit zeitlich veränderlichen HRTFs. Allgemein werden zwei zueinander in Wechselbeziehung stehende, jedoch gesonderte Techniken benötigt, um derartige zeitlich veränderliche Filter zu implementieren: HRTF-Interpolation und Filter-Überblendung. In diesem Zusammenhang bezeichnet Interpolation ein Bestimmen von HRTFs für eine gegebene Quellenposition, die üblicherweise durch Azimut- und Erhöhungskoordinaten angegeben wird. Da HRTFs üblicherweise in Datenbanken mit einer endlichen räumlichen Auflösung bereitgestellt werden, z.B. [7], umfasst dies die Auswahl einer geeigneten Teilmenge von HRTFs und eine Interpolation zwischen diesen Filtern [3], [6]. Eine Filter-Überblendung, die bei [5] als "commutation" bezeichnet wird, ermöglicht einen glatten, über eine gegebene Übergangszeit verteilten Übergang zwischen diesen, möglicherweise interpolierten, HRTFs. Derartige graduelle Übergänge sind nötig, um hörbare Signaldiskontinuitäten, z.B. Knackgeräusche, zu vermeiden. Das vorliegende Dokument konzentriert sich auf den Überblendungsvorgang.
  • Aufgrund der üblicherweise großen Anzahl von Schallobjekten trägt ein Filtern der Quellensignale mit den HRTFs beträchtlich zur Komplexität einer Binauralsynthese bei. Eine geeignete Art und Weise, diesen Aufwand zu verringern, besteht darin, Frequenzbereichs-Faltungstechniken (FD-Faltungstechniken, FD = frequency domain, Frequenzbereich) wie beispielsweise das Overlap-Add- oder Overlap-Save-Verfahren [8], [9] oder partitionierte Faltungsalgorithmen anzuwenden, z.B. [10]-[13]. Ein gemeinsamer Nachteil aller FD-Faltungsverfahren besteht darin, dass ein Austausch der Filterkoeffizienten oder ein gradueller Übergang zwischen Filtern stärker eingeschränkt ist und üblicherweise einen höheren Berechnungsaufwand als eine Überblendung zwischen Zeitbereichsfiltern erfordert. Einerseits ist dies auf die blockbasierte Arbeitsweise dieser Verfahren zurückzuführen. Andererseits bringt die Notwendigkeit, die Filter in eine Frequenzbereichs-Darstellung umzuwandeln, bei häufigen Filterwechseln einen beträchtlichen Leistungsverlust mit sich. Folglich besteht eine typische Lösung für eine Filter-Überblendung aus zwei FD-Faltungsvorgängen mit verschiedenen Filtern und einer anschließenden Überblendung der Ausgaben im Zeitbereich.
  • Die EP 2667508 A2 offenbart ein Verfahren und eine Vorrichtung zur effizienten Frequenzbereichsimplementierung von zeitlich variablen Filtern. Um gefilterte Abtastwerte eines Eingangs-Frames zu erhalten, werden Frequenzbereichswerte des Eingangs-Frames mit gefalteten Frequenzbereichskoeffizienten multipliziert. Die gefalteten Frequenzbereichskoeffizienten werden durch Faltung von eingestellten Frequenzbereichskoeffizienten mit Frequenzbereichskoeffizienten eines Filter-Truncation-Fensters erzeugt.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, ein effizienteres Konzept zum Verarbeiten von Signalen im Frequenzbereich zu ermöglichen.
  • Diese Aufgabe wird durch eine Vorrichtung zum Verarbeiten eines Signals nach Patentanspruch 1 oder 15, ein Verfahren zum Verarbeiten eines Signals nach Patentanspruch 14 oder 17, oder ein Computerprogramm nach Patentanspruch 18 gelöst.
  • Die vorliegende Erfindung basiert auf der Erkenntnis, dass es insbesondere dann, wenn ohnehin Verarbeitungen im Frequenzbereich vorhanden sind, eine eigentlich im Zeitbereich zu erfolgende Fensterung, das heißt eine elementweise Multiplikation mit einer Zeitbereichsfolge, wie beispielsweise eine Überblendung, eine Verstärkung bzw. eine sonstige Verarbeitung eines Signals, ebenfalls in dieser Frequenzbereich-Repräsentation durchzuführen.. Dabei ist zu beachten, dass eine solche Fensterung im Zeitbereich im Frequenzbereich als Faltung und beispielsweise als zirkuläre Faltung auszuführen ist. Dies ist insbesondere im Zusammenhang mit partitionierten Faltungsalgorithmen, die durchgeführt werden, um eine Faltung im Zeitbereich durch eine Multiplikation im Frequenzbereich zu ersetzen, von Vorteil. Bei solchen Algorithmen und auch bei sonstigen Anwendungen sind die Zeit-Frequenz-Transformationsalgorithmen und die inversen Frequenz-Zeitbereich-Transformationsalgorithmen derart aufwendig, so dass durchaus eine Faltung im Frequenzbereich mit einer Frequenzbereichs-Fensterfunktion ihren Aufwand rechtfertigt. Insbesondere bei Multikanal-Anwendungen, wo ansonsten viele Frequenz-Zeit-Transformationen nötig wären, um anschließend eine Zeitbereichs-Fensterung, wie beispielsweise eine Überblendung oder eine Verstärkungsänderung zu erreichen, ist es erfindungsgemäß von großem Vorteil, im Frequenzbereich, also in der Domäne, die durch einen partitionierten Faltungsalgorithmus ohnehin ausgewählt worden ist, Signalverarbeitungen durchzuführen, die eigentlich im Zeitbereich vorgesehen wären. Die dadurch nötige zirkuläre (auch zyklische oder periodische) Faltung im Frequenzbereich ist bei Verwendung geeigneter Frequenzbereichs-Fensterfunktionen aufwandsmäßig unproblematisch, da eine Anzahl von Frequenz-Zeitbereich-Transformationsalgorithmen eingespart wird.
    Eine Vielzahl benötigter Zeitbereichs-Fensterfunktionen lässt sich sehr gut durch solche Fensterfunktionen approximieren, deren Frequenzbereichs-Repräsentation nur wenige von Null verschiedene Koeffizienten aufweist. Damit kann die zirkuläre Faltung so effizient ausgeführt werden, dass der Gewinn durch die Einsparung der zusätzlichen Frequenz-Zeitbereichstransformationen die Kosten für die zirkuläre Faltung im Frequenzbereich übersteigt. Bei bevorzugten Ausführungsbeispielen der vorliegenden Erfindung, bei denen es um ein Einblenden, Ausblenden, Überblenden oder eine Veränderung der Lautstärke geht, kann insbesondere durch lediglich Approximieren einer Zeitbereichs-Fensterfunktion im Frequenzbereich, also durch Beschränken der Anzahl der Koeffizienten auf z.B. weniger als 18 Koeffizienten im Frequenzbereich eine deutliche Aufwandsreduktion erreicht werden Zusätzliche Effizienzgewinne können durch effiziente Berechnungsvorschriften für die zirkuläre Faltung erzielt werden, indem die Struktur der Frequenzbereichs-Fensterfunktion ausgenutzt wird. Dies betrifft zum einen die konjugiert-symmetrische Struktur dieser Fensterfunktion, die sich aus der Reellwertigkeit der zugehörigen Zeitbereichs-Fensterfunktion ergibt. Zum anderen können Summanden der zirkulären Faltungssumme effizienter berechnet werden, wenn die jeweiligen Koeffizienten der Frequenzbereichs-Fensterfunktion rein reellwertig oder rein imaginär sind.
  • Insbesondere bei einer Constant-Gain-Überblendung, d.h. wenn die Summe der Ein- und Ausblendfunktion zu jedem Zeitpunkt 1 ergibt, kann der Aufwand für die zirkuläre Faltung noch weiter reduziert werden, da lediglich eine einzige Faltung mit einer Frequenzbereichs-Filterfunktion berechnet werden muss und ansonsten lediglich eine Differenzbildung zwischen zwei gefilterten Signalen nötig ist.
  • Bei Ausführungsbeispielen kann somit lediglich ein einziges Signal mit einem einzigen Filter gefiltert werden, um dann eine Frequenzbereichs-Fensterfunktion anzulegen, um beispielsweise eine Lautstärke bzw. Verstärkungsänderung des Signals bereits im Frequenzbereich zu erreichen.
  • Bei einem alternativen Ausführungsbeispiel, bei dem eine Constant-Gain-Überblendung, also eine Überblendung mit konstanter Verstärkung angestrebt wird, wird es bevorzugt, zunächst eine Differenz zwischen zwei Filterausgangssignalen zu bilden, die durch Filter mit zwei unterschiedlichen Filtern ein- und desselben Eingangssignals erzeugt worden sind, um dann das Differenzsignal einer Frequenzbereichs-Fensterfunktion zu unterziehen.
  • Bei noch einem weiteren Ausführungsbeispiel der vorliegenden Erfindung wird jedes Filterausgangssignal mit einem eigenen Frequenzbereichs-Fenster zirkulär gefaltet und die Faltungs-Ausgangssignale werden dann aufaddiert, um im Frequenzbereich das Ergebnis der beispielsweise Überblendung zu erhalten. Wenn zwei getrennte Frequenzbereichsfenster verwendet werden, können auch die Filtereingangssignale unterschiedlich sein. Alternativ betrifft diesen Fall auch eine Erweiterung eines Anwendungsbeispiels mit nur einem Signal und z.B. einer Verstärkungsänderungsfunktion, welches auf viele parallele Kanäle erweitert wird, und wo die Kombination der Signale im Frequenzbereich mit einer einzigen Rücktransformation erfolgt.
  • Bei besonders bevorzugten Ausführungsbeispielen der vorliegenden Erfindung werden die erforderlichen Zeitbereichs-Fensterfunktionen für jede Frequenzbereichs-Darstellung lediglich angenähert. Dies wird dazu ausgenutzt, um die Anzahl der Frequenzbereichs-Fensterfunktionskoeffizienten zu reduzieren auf z.B. höchstens 18 Koeffizienten oder aber im Extremfall auf lediglich zwei Koeffizienten. Damit ergibt sich bei Rücktransformation dieser Frequenzbereichs-Fensterfunktionen in den Zeitbereich eine Abweichung von der eigentlich geforderten Fensterfunktion. Es hat sich jedoch herausgestellt, dass insbesondere bei den Anwendungen der Überblendung, der Lautstärkeänderung, der Ausblendung, der Einblendung oder auch einer sonstigen Signalverarbeitung diese Abweichung nicht problematisch ist oder den subjektiven Höreindruck nicht oder nur sehr geringfügig stört, so dass diese kleine Problematik, falls sie überhaupt vorhanden ist, für den subjektiven Höreindruck im Hinblick auf die erheblichen erreichten Effizienzsteigerungen ohne Weiteres in Kauf genommen werden kann.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:
  • Fig. 1
    eine Vorrichtung zum Verarbeiten eines Signals im Frequenzbereich mit eine Frequenzbereichs-Fensterfunktion und einem Filter;
    Fig. 2
    eine Vorrichtung zum Verarbeiten eines Signals im Frequenzbereich mit zwei Filtern und zwei Frequenzbereichs-Fensterfunktionen;
    Fig. 3
    eine Vorrichtung zum Verarbeiten eines Signals im Frequenzbereich mit zwei Filtern und einer einzigen Frequenzbereichs-Fensterfunktion;
    Fig. 4
    einen Signalfluss eines dynamischen Binauralsynthesesystems;
    Fig. 5a
    eine Zeitbereichs-Fensterfunktion für eine lineare Überblendung als Beispiel für eine Überblendung mit konstanter Verstärkung;
    Fig. 5b
    eine Zeitbereichs-Fensterfunktion für eine lineare Verstärkungsänderung als Beispiel für eine beliebig geartete Verstärkungsänderung;
    Fig. 6a-6f
    Fensterentwurfsbeispiele für unterschiedliche Frequenzbereichs-Fensterkoeffizienten;
    Fig. 7a-7f
    eine tabellarische Aufstellung der numerischen Werte der Frequenzbereichs-Filterkoeffizienten für die in Fig. 6a-6f gezeigten Fenster;
    Fig. 7g
    eine tabellarische Darstellung der Designfehler für verschiedene Frequenzbereichs-Fensterfunktionen aufgrund der Approximation;
    Fig. 8
    Übersichtsdiagramme für die Komplexität der Frequenzbereichs-Faltungsalgorithmen mit einer Filterüberblendung als Anzahl der Instruktionen pro Ausgabesample;
    Fig. 9
    ein zu Fig. 4 ähnliches Diagramm zur Implementierung einer konventionellen Ohrhörersignalverarbeitung;
    Fig. 10
    eine Ohrhörersignalverarbeitung gemäß einem Ausführungsbeispiel.; und
    Fig. 11
    eine Vorrichtung zur Beaufschlagung eines im Frequenzbereich vorliegenden Signals mit einer Verstärkungsänderungsfunktion.
  • Fig. 1 zeigt eine Vorrichtung zum Verarbeiten eines zeitdiskreten Signals im Frequenzbereich. Ein Eingangssignal 100, das im Zeitbereich vorliegt, wird in einen Zeit-Frequenz-Wandler 110 eingespeist. Das Ausgangssignal des Zeit-Frequenz-Wandlers 110 wird dann einer Prozessorstufe 120 zugeführt, die ein Filter 122 und eine Frequenzbereichs-Fensterfunktions-Beaufschlagungseinrichtung 124 aufweist. Das Ausgangssignal 123 der Frequenzbereichs-Fensterfunktions-Beaufschlagungseinrichtung 124 kann dann entweder direkt oder nach Verarbeitung, wie beispielsweise einer Kombination mit anderen entsprechend gleich verarbeiteten Signalen einer Frequenz-Zeit-Transformationseinrichtung bzw. einem Frequenz-Zeit-Wandler 130 zugeführt werden. Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung sind der Zeit-Frequenz-Wandler 110 und der Frequenz-Zeit-Wandler 130 für eine schnelle Faltung ausgelegt. Eine schnelle Faltung kann beispielsweise einen Overlap-Add-Faltungsalgorithmus, ein Overlap-Save-Faltungsalgorithmus oder irgendein partitionierter Faltungsalgorithmus sein. Ein solcher partitionierter Faltungsalgorithmus wird verwendet, wenn eine direkte Anwendung eines unpartitionierten Frequenzbereichs-Faltungsalgorithmus wie Overlap-Save oder Overlap-Add aufgrund der durch diese Algorithmen bedingten Latenz oder anderen praktischen Gründen wie der Größe der verwendeten FFTs, nicht vertretbar ist. Dann wird eine entsprechende Partitionierung vorgenommen, und zwar je nach entsprechendem Faltungsalgorithmus. Eine entsprechende Filterung, wie sie in Block 122 dargestellt ist, kann dann durch Multiplikationen und Summation eines transformierten Eingangssignals mit einer partitionierten Frequenzbereichsrepräsentation der Impulsantwort ausgeführt werden, so dass die lineare Faltung im Zeitbereich vermieden werden kann.
  • Es sei darauf hingewiesen, dass die Frequenzbereichsdarstellung auf einer blockweisen Partitionierung des Signals beruht. Implizit ergibt sich das auch aus der im Zeit- und Frequenzbereich diskreten Natur der Frequenzbereichsdarstellung.
    Wie bereits dargestellt, sind prominente Vertreter von partitionierten Faltungsalgorithmen das Overlap-Add-Verfahren, bei dem ein Eingangssignal zunächst in nicht-überlappende Sequenzen partitioniert wird und mit einer bestimmten Zahl von Nullen ergänzt wird. Dann werden diskrete Fourier-Transformationen der einzelnen nicht-überlappenden, mit Nullen aufgefüllten Sequenzen und des Filters gebildet. Hierauf wird eine Multiplikation der transformierten nicht-überlappenden Sequenzen mit der Fourier-Transformation der ebenfalls mit einer bestimmten Zahl von Null-Samples ergänzten Impulsantwort des Filters durchgeführt. Dann werden die Sequenzen durch eine inverse FFT wieder in den Zeitbereich gebracht, wobei das resultierende Ausgangssignal durch Überlappen und Addieren rekonstruiert wird. Das Auffüllen mit Nullen ist erforderlich, um unter Verwendung einer Frequenzbereichs-Multiplikation, welche einer zirkulären Faltung im Zeitbereich entspricht, eine lineare Faltung im Zeitbereich zu implementieren. Die Überlappung stammt aus der Tatsache, dass das Ergebnis einer linearen Faltung immer länger als die ursprünglichen Sequenzen ist, und sich das Ergebnis jeder Frequenzbereichsmultiplikation daher auf mehr als eine Partition des Ausgangssignals auswirkt.
  • Bei einem alternativen Verfahren, dem Overlap-Save-Verfahren (z.B. [9]) werden überlappende Segmente des Eingangssignals gebildet und mittels einer diskreten Fourier-Transformation, z.B. der FFT, in den Frequenzbereich transformiert. Diese Sequenzen werden elementweise mit der mit einer Anzahl von Null-Samples aufgefüllten und in den Frequenzbereich transformierten Impulsantwort des Filters multipliziert. Das Ergebnis dieser Multiplikation wird mittels einer inversen diskreten Fourier-Transformation in den Zeitbereich zurücktransformiert. Zur Vermeidung zirkulärer Faltungseffekte wird aus jedem zurücktransformierten Block eine festgelegte Zahl von Samples verworfen. Durch Aneinanderfügen der verbleibenden Sequenzen wird das Ausgangssignal gebildet.
  • Bezug nehmend auf Fig. 1 ist die Prozessorstufe 120 somit ausgebildet, um das Signal, das in der Frequenzbereichs-Darstellung vorliegt, mit einem Filter mit einer Filtercharakteristik zu filtern, um ein gefiltertes Signal 123 zu erhalten.
  • Das gefilterte Signal oder das von dem gefilterten Signal abgeleitete Signal wird dann mit einer Frequenzbereichs-Fensterfunktion beaufschlagt 124, um ein gefenstertes Signal 125 zu erhalten, wobei das Beaufschlagen eine Multiplikation von Frequenzbereichs-Fensterfunktionskoeffizienten der Frequenzbereichs-Fensterfunktion mit Spektralwerten des gefilterten Signals, um Multiplikationsergebnisse zu erhalten und eine Aufsummation der Multiplikationsergebnisse, also eine Operation im Frequenzbereich umfasst. Vorzugsweise umfasst das Beaufschlagen eine zirkuläre (periodische) Faltung der Frequenzbereichs-Fensterfunktionskoeffizienten der Frequenzbereichs-Fensterfunktion mit Spektralwerten des gefilterten Signals. Der Umwandler 130 wiederum ist ausgebildet, um das gefensterte Signal oder ein unter Verwendung des gefensterten Signals ermitteltes Signal in einen Zeitbereich umzuwandeln, um das verarbeitete Signal z.B. bei 132 zu erhalten.
  • Die Verarbeitung um das von dem gefilterten Signal abgeleitete Signal zu erhalten soll alle möglichen Modifikationen des Signals, u.a. die Summation, die Differenzbildung oder die Bildung einer Linearkombination betreffen. Ein Beispiel ist in dem konkret in Fig. 3 dargestellten Signalfluss gegeben, in dem das "von dem gefilterten Signal abgeleitete Signal" aus der Differenz zweier gefilterter Signale besteht.
  • Fig. 2 zeigt eine alternative Implementierung der Prozessorstufe, wobei der Zeit-Frequenz-Wandler 110 wie in Fig. 1 ausgeführt sein kann. Insbesondere umfasst die Prozessorstufe 120 ein Filter 122a, um ein Frequenzbereichs-Signal, das von dem Zeitbereichs-Signal 100 abgeleitet ist, mit einer ersten Filtercharakteristik H1 zu filtern, um ein gefiltertes Signal am Ausgang des Blocks 122a zu erhalten. Ferner ist die Prozessorstufe ausgebildet, um das Frequenzbereichs-Signal am Ausgang des Blocks 110 mit einem zweiten Filter 122b mit einer zweiten Filtercharakteristik H2 zu filtern, um ein gefiltertes zweites Signal zu erhalten. Ferner ist die Prozessorstufe ausgebildet, um das erste gefilterte Signal mit einer ersten Frequenzbereichs-Fensterfunktion 124a zu beaufschlagen, um ein gefenstertes erstes Signal zu erhalten, und ist die Prozessorstufe ausgebildet, um das zweite gefilterte Signal mit einer zweiten Frequenzbereichs-Fensterfunktionen 124b zu beaufschlagen, um ein gefenstertes zweites Signal zu erhalten. Die beiden gefensterten Signale werden daraufhin in einem Kombinierer 200 kombiniert. Das am Ausgang des Kombinierers 200 anliegende kombinierte Frequenzbereichssignal kann dann, beispielsweise wie in Fig. 1 dargestellt, durch einen Umwandler 130 in ein Zeitbereichssignal gewandelt werden.
  • Fig. 3 zeigt eine weitere Implementierung der Prozessorstufe, bei der das Frequenzbereichssignal 105, welches von dem Zeitbereichssignal 100 abgeleitet ist, durch ein Filter 122a mit einer ersten Filtercharakteristik H2 zu filtern, um ein erstes gefiltertes Signal zu erhalten. Ferner wird das Frequenzbereichssignal 105 durch ein Filter 122b mit einer zweiten Filtercharakteristik H2 gefiltert, um ein zweites gefiltertes Signal zu erhalten. Durch einen Kombinierer 300 wird aus dem ersten und dem zweiten gefilterten Signal ein Differenzsignal 302 gebildet, welches dann einer einzigen Frequenzbereichs-Fensterfunktions-Beaufschlagungseinrichtung 122c zugeführt wird, wobei die Beaufschlagung vorzugsweise als zirkuläre Faltung der Spektralkoeffizienten des Differenzsignals mit den Koeffizienten der Frequenzbereichs-Fensterfunktion ausgeführt ist. Das gefensterte Ausgangssignal wird dann in dem Kombinierer 200 mit dem ersten gefilterten Signal am Ausgang des Blocks 122a kombiniert. Damit erhält man am Ausgang des Kombinierers 200 von Fig. 3 dasselbe Signal wie am Ausgang des Kombinierers 200 von Fig. 2, wenn die beiden Frequenzbereichs-Fensterfunktionen Constant-Gain-Überblendfunktionen sind, wenn also die Zeitbereichsrepräsentationen der Frequenzbereichs-Fensterfunktionen 124a und 124b sich so ergänzen, dass ihre Summe zu jedem Zeitpunkt 1 ergibt. Diese Bedingung ist beispielsweise erfüllt, wenn Frequenzbereichs-Fensterfunktion 124a im Zeitbereich einer abfallende Rampe entspricht und die Frequenzbereichs-Fensterfunktion 124b im Zeitbereich eine ansteigende Rampe darstellt (oder umgekehrt), wie es beispielsweise in Fig. 5a dargestellt ist.
  • Für einen Constant-Gain-Crossfade mit beliebigem Start-und Endwert und Verwendung eines "Standard-Fensters" wird es bevorzugt, die Signale vor der Summation (300) mit linearen Faktoren (s bzw. (e-s) zu skalieren, wie es in Fig. 11 dargestellt ist. Damit ergibt sich eine optionale Skalierung vor der Summation, so dass der Kombinierer eine Linearkombination ausführt als Alternative zu einer einfachen Addition. Weitere Ausführungsbeispiele können ebenfalls implementiert werden.
  • Ferner sei darauf hingewiesen, dass die Ein- oder Ausblendung oder die Überblendung über einen oder mehrere Blöcke erfolgen kann, je nach Anforderung in der speziellen Implementierung.
  • Bei bevorzugten Ausführungsbeispielen der vorliegenden Erfindung ist das Zeitbereichs-Signal ein Audiosignal, wie beispielsweise das Signal einer Quelle, das nach diverser Verarbeitung zu einem Lautsprecher oder einem Ohrhörer gesendet werden kann. Alternativ kann das Audiosignal auch das Empfangssignal eines Mikrofon-Arrays beispielsweise sein. Bei wieder anderen Ausführungsbeispielen ist das Signal kein Audiosignal, sondern ein Informationssignal, wie es nach einer Demodulation ins Basisband oder im Zwischenfrequenz-Band erhalten wird, und zwar im Kontext einer Übertragungsstrecke, wie sie für die drahtlose Kommunikation oder für die optische Kommunikation eingesetzt wird. Die vorliegende Erfindung ist somit in allen Gebieten nützlich und vorteilhaft, in denen zeitlich variierende Filter eingesetzt werden, und in denen Faltungen mit solchen Filtern im Frequenzbereich ausgeführt werden.
  • Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung sind die Frequenzbereichs-Fensterfunktionen so ausgebildet, dass sie gewünschte Zeitbereichs-Fensterfunktionen lediglich annähern. Es hat sich jedoch herausgestellt, dass eine gewisse Approximation ohne Weiteres im Hinblick auf den subjektiven Eindruck tolerierbar ist und zu ganz erheblichen Einsparungen an Rechenaufwand führt. Insbesondere wird es bevorzugt, dass die Anzahl der Fensterkoeffizienten kleiner oder gleich 18 und noch bevorzugter kleiner oder gleich 15 und noch mehr bevorzugt kleiner oder gleich 8 oder sogar kleiner oder gleich 4 oder sogar kleiner oder gleich 3 oder im Extremfall sogar gleich 2 ist. Eine minimale Anzahl von 2 Frequenzbereichs-Fensterkoeffizienten wird jedoch eingesetzt.
  • Bei einer Implementierung ist die Prozessorstufe so ausgebildet, dass die von 0 verschiedenen Koeffizienten des Frequenzbereichs-Fenster teilweise oder vollständig so gewählt sind, dass sie entweder rein reell oder rein imaginär sind. Ferner ist die Frequenzbereichs-Fensterfunktions-Beaufschlagungsfunktion so ausgebildet, dass sie die rein reelle bzw. rein imaginäre Natur der einzelnen von 0 verschiedenen Frequenzbereichs-Fensterkoeffizienten bei der Berechnung der zirkulären Faltungssumme ausnutzt, um eine effizientere Evaluation der Faltungssumme zu erzielen.
  • Bei einer Implementierung ist die Prozessorstufe ausgebildet, um eine maximale Anzahl von Frequenzbereichs-Fensterkoeffizienten ungleich 0 zu verwenden, wobei eine Frequenzbereichs-Fensterkoeffizient für eine minimale Frequenz bzw. für das niedrigste Bin reell ist. Ferner sind Frequenzbereichs-Fensterkoeffizienten für gerade Bins oder Indizes rein imaginär und sind Frequenzbereichs-Fensterkoeffizienten für ungerade Indizes bzw. ungerade Bins rein reell.
  • Bei einer bevorzugten Implementierung der vorliegenden Erfindung, wie sie noch Bezug nehmend auf die Fig. 9 und insbesondere 10 beschrieben wird, sind die erste Filtercharakteristik und die zweite Filtercharakteristik, zwischen denen übergeblendet werden soll, kopfbezogene Übertragungsfunktionen (head related transfer functions - HRTF) für unterschiedliche Positionen und ist das Zeitbereichs-Signal ein Audiosignal für eine Quelle an einer entsprechend unterschiedlichen Position.
  • Ferner wird es bevorzugt, wie es in Fig. 10 dargestellt ist, ein Multikanal-Verarbeitungsszenario zu verwenden, bei dem mehrere Quellensignale im Frequenzbereich übergeblendet werden und die übergeblendeten Signale dann im Frequenzbereich aufaddiert werden, um erst dann das endgültige Summensignal mit einer einzigen Transformation in den Zeitbereich zurück zu transformieren. Hierzu wird auf Fig. 9 und vergleichsweise Fig. 10 Bezug genommen. Insbesondere stellen die verschiedenen Quellen SRC1 bis SRCM, die mit 600, 602, 604 bezeichnet sind, einzelne Audioquellen dar, wie sie bei 401, 402, 403 in Fig. 4 dargestellt sind. Durch Zeit-Frequenz-Wandler 606, 608, 610, die in Fig. 9 und in Fig. 10 analog aufgebaut sind, werden die Quellensignale in den Frequenzbereich transformiert. Fig. 10 enthält also den Überblendalgorithmus nach Fig. 2 (zwei zirkuläre Faltungen). Auch anwendbar ist es, hier den verbesserten Constant-Gain-Crossfade nach Fig. 3 einzusetzen.
  • Wie es ausgeführt worden ist, bewegen sich die Quellen 401 bis 403 und, um z.B. das Ohrhörersignal 713 zu erhalten, verändert sich für jede Quelle aufgrund der Bewegung der Quelle die für diese aktuelle Quellenposition nötige kopfbezogene Übertragungsfunktion. Wie es in Fig. 4 gezeigt ist, gibt es hierzu eine Datenbank, die durch eine bestimmte Quellenposition angesprochen wird. Dann wird für diese Quellenposition eine HRTF aus der Datenbank erhalten oder, wenn nicht genau für diese Position eine HRTF existiert, für zwei benachbarte Positionen zwei HRTFs erhalten, die dann interpoliert werden. Um einen Artefakt-freien Betrieb zu erhalten, wird das Audiosignal nach der Zeit-Frequenz-Wandlung 606 mit der ersten Filterfunktion durch Multiplikation im Frequenzbereich gefiltert, die für die erste Position zu einem ersten Zeitpunkt ermittelt worden ist. Ferner wird dasselbe Audiosignal durch ein zweites Filter (wieder durch Multiplikation mit der Übertragungsfunktion des Filters) gefiltert, wobei dieses zweite Filter 613 wiederum für die zweite Position zu einem späteren zweiten Zeitpunkt ermittelt worden ist. Um einen Artefakt-freien Übergang zu haben, muss übergeblendet werden, so dass also kontinuierlich das Ausgangssignal des ersten Filters 612 ausgeblendet wird und gleichzeitig das Ausgangssignal des zweiten Filters 613 eingeblendet wird, wie es durch die zeitlichen Filterfunktionen 706, 707 gezeigt ist. Daher werden die Signale am Ausgang der Filter 612, 613 in den Zeitbereich transformiert, wie es durch die IFFT-Blöcke 700, 701 dargestellt ist und dann wird das Cross-Fading (Überblenden) ausgeführt, wobei die Signale am Ausgang der Fensterung aufaddiert werden. Diese Aufaddition findet pro Quelle statt und die entsprechend übergeblendeten Signale sämtlicher Quellen werden dann in einem Addierer 712 im Zeitbereich aufaddiert, um schließlich das Ohrhörersignal 713 zu erhalten.
  • Analoge Verarbeitungen werden für die anderen Quellen stattfinden, wie es durch die Blöcke 614, 615, 702, 703, 708, 709 bzw. 616, 617, 704, 705, 710, 711 dargestellt ist.
  • Erfindungsgemäß wird nunmehr anstatt der 2M IFFT-Blöcke 700 bis 705 von Fig. 9 nur noch ein einziger IFFT-Block bzw. eine einzige IFFT-Operation 630 durchgeführt. Dazu wird die Ein/Ausblendung bzw. die Überblendung mit der Frequenzbereichs-Fensterfunktion 620, 621 bzw. 622, 623 bzw. 624, 625 im Frequenzbereich als Faltung durchgeführt. Die Ergebnisse der Faltungen werden dann jeweils aufaddiert, und zwar durch die Addierer 626, 627, 628 und 629, wobei jedoch auch sämtliche Additionen direkt durchgeführt werden können, ohne die Kaskadierung der Addierer 626, 627, 628 einerseits und dem Addierer 629 andererseits.
  • Damit werden 2M-1 IFFT-Operationen eingespart. Demgegenüber steht ein potenziell etwas erhöhter Aufwand der zirkulären Faltung im Frequenzbereich, der jedoch durch eine effiziente Fensterapproximation, wie sie bereits angesprochen und nachfolgend detaillierter dargelegt werden wird, noch deutlich reduziert werden kann.
  • Die vorliegende Erfindung betrifft in Ausführungsbeispielen ein neuartiges Verfahren zum Durchführen einer Überblendung, d.h. eines glatten graduellen Übergangs zwischen zwei gefilterten Signalen, direkt im Frequenzbereich vor. Es arbeitet sowohl mit Overlap-Saveals auch mit Algorithmen zur partitionierten Faltung. Falls es separat auf jeden HRTF-Filtervorgang angewendet wird, spart es einen Inverse-FFT-Vorgang pro Block von Ausgangsabtastwerten, was zu beträchtlichen Verringerungen der Komplexität führt. Jedoch ist eine viel stärkere Beschleunigung möglich, falls das vorgeschlagene FD-Überblendungsverfahren mit einer Umstrukturierung des Signalflusses des Binauralsynthese-Systems kombiniert wird. Bei der Durchführung der Summation von Komponentensignalen im Frequenzbereich wird für jedes Ausgangssignal (Ohrsignal) lediglich eine einzige inverse FFT benötigt.
  • Der folgende Abschnitt gibt einen Überblick über die Bezeichnungsweise (und legt diese fest) zweier Techniken, die für den vorgeschlagenen FD-Überblendungsalgorithmus wesentlich sind - die schnelle Frequenzbereichs-Faltung und die Zeitbereichs-Überblendung.
  • Schnelle Faltunqstechniken
  • Faltungstechniken, die auf einer schnellen Transformation beruhen, nutzen die Äquivalenz zwischen einer Multiplikation im Frequenzbereich und einer zirkulären Faltung im Zeitbereich sowie die Verfügbarkeit von Schnelle-Fourier-Transformation-Algorithmen (FFT-Algorithmen, engl. Fast Fourier Transform) zum Implementieren der diskreten Fourier-Transformation (DFT). Overlap-Add- oder Overlap-Save-Algorithmen [8], [9] unterteilen das Eingangssignal in Blöcke und wandeln die Frequenzbereichsmultiplikation in eine lineare Zeitbereichsfaltung um. Um jedoch effizient zu sein, erfordern Overlap-Add und Overlap-Save große FFT-Größen und bringen lange Verarbeitungslatenzzeiten mit sich.
  • Partitionierte Faltungsalgorithmen verringern diese Nachteile und ermöglichen Kompromisse zwischen rechentechnischer Komplexität, verwendeter FFT-Größe und Latenzzeit. Zu diesem Zweck wird die Impulsantwort h[n] in Blöcke einer entweder gleichförmigen [10], [11] oder einer ungleichförmigen Größe [12], [13] partitioniert, auf jede Partitionierung wird eine FD-Faltung (üblicherweise Overlap-Save) angewendet. Die Ergebnisse werden entsprechend verzögert und addiert, um die gefilterte Ausgabe zu bilden. Eine Wiederverwendung von Transformationsoperationen und Datenstrukturen als Frequenzbereichsverzögerungsleitungen (FDL, engl. frequency-domain delay lines) [11], [13] ermöglicht effiziente Implementierungen einer linearen Faltung.
  • Bei Impulsantwortlängen, die bei HRTF-Filtern üblicherweise verwendet werden (≈ 200-1000) ist eine gleichförmig partitionierte Faltung üblicherweise die effizienteste Wahl. Deshalb konzentriert sich das vorliegende Dokument auf diese Technik. Jedoch ist eine Anwendung auf eine ungleichförmig partitionierte Faltung unkompliziert, da der vorgeschlagene FD-Überblendungsalgorithmus separat auf jede der verwendeten Partitionsgrößen angewendet werden kann. Der Overlap-Save-Algorithmus kann als Extremfall einer gleichförmig partitionierten FD-Faltung mit lediglich einer Partition betrachtet werden. Somit ist die vorgeschlagene FD-Überblendung auch auf eine nicht-partitionierte Faltung anwendbar.
  • Das Verfahren einer gleichförmig partitionierten Faltung unterteilt eine Impulsantwort h[n] der Länge N in P = ┌N/M┐ Blöcke von jeweils M Werten (┌.┐ stellt eine Aufrundung dar), die mit Nullen aufgefüllt werden, um die Sequenzen hp[n], p = 0,...,P - 1 der Länge L zu bilden. Diese werden zu DFT-Vektoren H[p,k] transformiert.
    Figure imgb0001
    H p k = DFT h p n .
    Figure imgb0002
  • Die Anzahl von Nullen in Gleichung 1, die mit der horizontalen geschweiften Klammer dargestellt sind, beträgt L-M.
  • Das Eingangssignal x[n] wird in überlappende Blöcke x[m,n] der Länge L mit einem Vorlauf von B Abtastwerten zwischen aufeinanderfolgenden Blöcken unterteilt. Eine Transformation zu dem Frequenzbereich ergibt die Vektoren X[m,k] x m n = x mB L + 1 x mB L + 2 x mB
    Figure imgb0003
    X m k = DFT x m n .
    Figure imgb0004
  • Das Frequenzbereichsausgangssignal Y[m,k] wird durch eine Blockfaltung von H[p,k] und X[m,k] gebildet Y m k = p = 0 P 1 H p k X m p , k ,
    Figure imgb0005
    wobei "." eine komplexe Vektormultiplikation darstellt. Eine inverse DFT ergibt den Zeitbereichsblock der Länge L y m n = DFT 1 Y m k
    Figure imgb0006
  • Für jeden Ausgangsblock y[m,n] werden die letzten B Abtastwerte verwendet, um den m-ten Block des Ausgangssignals y[n] zu bilden. y mB + n = y m , L B + n n = 0 , , N 1 .
    Figure imgb0007
  • Ein Zeitbereichs-Aliasing im Ausgangssignal wird verhindert, falls M L B + 1
    Figure imgb0008
    gilt [9], [11]. Eine typische Wahl für eine partitionierte Faltung ist L = 2B, z.B. [12], [13], die im Folgenden als Standard-DFT-Größe bezeichnet wird und eine hohe Effizienz für sinnvolle Kombinationen von N und B ermöglicht [11].
  • Für jeden Ausgangsblock von B Abtastwerten erfordert der Algorithmus zur gleichförmig partitionierten Faltung eine FFT und eine inverse FFT, P Vektormultiplikationen und P-1 Vektoradditionen. Für reellwertige Zeitbereichs-Signale erfordern sowohl die FFT als auch die IFFT etwa p L log2(L) reellwertige Operationen. Hierbei ist p eine hardwareabhängige Konstante, wobei typische Werte zwischen p = 2,5 [12] und p = 3 [13] liegen. Da die Vektoren X[m,k], H[p,k] und Y[m,k] für reelle Signale und Filter konjugiert-symmetrisch sind, können sie eindeutig durch ┌(L+1)/2)┐ komplexe Werte dargestellt werden. Die Anzahl von Operationen zum Addieren oder Multiplizieren von konjugiert-symmetrischen Vektoren reduziert dadurch sich entsprechend.. Da skalare komplexe Additionen und Multiplikationen durch 2 bzw. 6 reellwertige Operationen durchgeführt werden können, erfordert eine Auswertung der Blockfaltung (6) ┌(L+1)/2┐(6P+2(P-1)) arithmetische Anweisungen. Somit beträgt die Gesamtkomplexität zum Falten von B Abtastwerten 2pL log2 L + [(L + 1)/2]6P + 2(P - 1).
  • Filterüberblendung im Zeitbereich
  • Eine Faltung von Audiosignalen mit zeitlich veränderlichen HRTFs erfordert einen glatten Übergang zwischen den Filtercharakteristika, da abrupte Veränderungen zu Signaldiskontinuitäten führen [5], [14], was hörbare Artefakte, z.B. ein Knacken oder ein Reißverschlussgeräusch (engl. "zipper noise"), nach sich zieht. Formal kann ein Übergang zwischen zwei zeitlich unveränderlichen Filtern FIR h1[n] und h2[n] der Länge N als zeitlich veränderliche Faltungssumme ausgedrückt werden (z.B. [15]) y n = k = 0 N 1 h n k x n k ,
    Figure imgb0009
    wobei das zeitlich veränderliche Filter h[n,k] eine Summation der zwei Filter ist, die durch zwei Funktionen w1[n] und w2[n] gewichtet werden, die im Folgenden als Zeitbereichs-Fenster bezeichnet werden h n k = w 1 n h 1 n k + w 2 n h 2 n k .
    Figure imgb0010
  • Fig. 5a zeigt ein Beispiel derartiger Fensterfunktionen. Falls die Filter h 1[n] und h 2[n] stark korreliert sind, was allgemein für Übergänge zwischen nahe gelegenen HRTFs gilt, wird üblicherweise eine Überblendung mit konstanter Verstärkung (constant-gain crossfade) verwendet. Dies bedeutet, dass die Summe der Gewichte w1[n] und w2[n] für jedes n gleich Eins ist. In diesem Fall können diese Gewichte durch eine einzelne Fensterfunktion w[n] ausgedrückt werden, wobei w1[n] = w[n], w2[n] = 1 - w[n] gilt. Somit bildet h[n,k] für jedes n eine lineare Interpolation zwischen h1[n] und h2[n]. Folglich kann (10) mit einer einzigen Multiplikation ausgewertet werden h n k = h 2 n + w n h 1 n h 2 n .
    Figure imgb0011
  • Statt ein Signal mit interpolierten, zeitlich veränderlichen Filterkoeffizienten zu falten, ergibt ein Filtern des Eingangssignals mit h1[n] und h2[n], auf das eine gewichtete Summation mit den Fenstern w1[n] und w2[n] folgt, dasselbe Signal wie y n = w 1 n y 1 n + w 2 n y 2 n mit y 1 n = k = 0 N h 1 k x n k and y 2 n = k = 0 N h 2 k x n k .
    Figure imgb0012
  • Ähnlich wie bei (11) können Überblendungen mit konstanter Verstärkung als lineare Interpolation implementiert werden y n = y 2 n + w n y 1 n y 2 n .
    Figure imgb0013
  • Die Implementierungen (11) und (13) weisen eine vergleichbare Komplexität auf, während (13) etwas effizienter ist, falls die Filterkoeffizienten sehr oft aktualisiert werden, d.h. wenn glatte, artefaktfreie Übergänge erforderlich sind. Überdies kann die zuletzt genannte Form verwendet werden, falls die Filterkoeffizienten h[n,k] nicht direkt manipuliert werden können, z.B. falls eine schnelle Faltung verwendet wird. Beispiele, die eine FD-Faltung mit einer Ausgangsüberblendung kombinieren, werden z.B. in [14], [16] dargestellt.
  • Für eine blockbasierte Operation, z.B. bei einer Kombination mit einem FD-Faltungsverfahren, ist eine Anwendung von (13) einfach realisierbar, falls die Länge des Übergangs identisch mit der Blockgröße B ist. Für längere Übergangsperioden kann ein Überblenden der gefilterten Signale jedoch effizient unter Verwendung eines einzelnes Fensters w[n] der Länge B implementiert werden, falls zwei Bedingungen erfüllt sind: (a) der gewünschte Übergang zwischen den Filtern sollte einer linearen Funktion (Rampe) liegen; (b) die Gesamtübergangsperiode Bfull muss ein ganzzahliges Vielfaches der ursprünglichen Blockgröße B sein. In diesem Fall kann der Übergang in M = Bfull/B Blöcke aufgeteilt werden. Jeder Block des Gesamtübergangs kann ausgedrückt werden, indem das Differenzsignal y1[n] - y2[n] mit einer Einzelfensterfunktion w[n] multipliziert wird, die einen linearen Übergang von 1 zu 0 innerhalb von B Abtastwerten implementiert. Eine lineare Kombination mit y1[n] und y2[n] ergibt das Ausgangssignal für diesen Block y n = y 2 n + s + e s w n y 1 n y 2 n .
    Figure imgb0014
  • Hier bezeichnen s = m/M und e = (m + 1) / M, m = 0....M - 1 Anfangs- und Endkoeffizienten für den m-ten Block innerhalb eines Übergangs über M Blöcke.
  • Frequenzbereichs-Darstellunq des Zeitbereichsüberblendens
  • In diesem Abschnitt wird ein Algorithmus beschrieben, der auf der Basis der Frequenzbereichsbeschreibung eines gefilterten Signals arbeitet, beispielsweise der Darstellung Y[m,k] (5) innerhalb eines partitionierten Faltungsalgorithmus, um ein sanftes Überblenden der abschließenden Zeitbereichsausgabe zu implementieren. Die Hauptmotivation dafür ist eine gesteigerte Effizienz, da für ein Ausgangsüberblenden lediglich eine inverse FFT benötigt wird, falls der Übergang im Frequenzbereich implementiert wird.
  • Um eine Zeitbereichs-Überblendung im Frequenzbereich auszudrücken, betrachten wir eine elementweise Multiplikation eines einzelnen Signals x[n] mit einem Zeitbereichs-Fenster w[n] y n = x n w n ,
    Figure imgb0015
    das als ein Teil eines Ausgangsüberblendens angesehen werden kann (12). Die Erweiterung auf vollständige Überblendungen und weitere Komplexitätsoptimierungen werden im Abschnitt "Effiziente Implementierungen für zusätzliche Komplexitätsreduktionen" erörtert.
  • Die Frequenzbereichs-Darstellung von (15) folgt aus der Dualität des Faltungstheorems [9], [17]
    Figure imgb0016
    wobei
    Figure imgb0017
    eine zirkuläre Faltung zweier zeitdiskreter Sequenzen bezeichnet. Somit kann eine Zeitbereichs-Überblendung mittels einer zirkulären FD-Faltung implementiert werden. Aus rechentechnischer Sicht erscheint ein derartiges Frequenzbereichsüberblenden jedoch nicht attraktiv. Allgemein erfordert eine zirkuläre Faltung zweier Sequenzen der Länge L etwa L2 komplexe Multiplikationen und Additionen, was den potenziellen Gewinn von etwa O(Llog2L) aufgrund des Ersparnisses einer inversen FFT bei weitem überschreitet.
  • Falls jedoch das Frequenzbereichs-Fenster W[k] lediglich einige wenige von Null verschiedene Koeffizienten enthält, kann die FD-Überblendung effizienter werden als die herkömmliche Zeitbereichsimplementierung. Ein erster Hinweis darauf, dass Fensterfunktionen mit lediglich einigen wenigen Frequenzbereichskoeffizienten erfolgreich angewendet werden können, wird bei [18] gegeben, wo aus drei Koeffizienten bestehende Frequenzbereichssequenzen, welche Zeitbereichs-Hann- oder -Hamming-Fenstern entsprechen, zum Glätten von FFT-Spektren angewendet werden. Im Folgenden wird dargestellt, wie derartige dünn besetzte Fenster zur Verwendung bei Zeitbereichs-Überblendungsoperationen zweckmäßig gestaltet werden können.
  • Design von Frequenzbereichs-Fenstern
  • Das Designziel für ein Frequenzbereichs-Fenster W[k] besteht darin, dass sich die entsprechende Zeitbereichssequenz ẘ[n] = DTFT-1 {W[k]} an eine gewünschte Fensterfunktion ŵ[n] bezüglich einer gegebenen Fehlernorm annähert. Der ringförmige Akzent gibt hier an, dass ẘ[n] das Ergebnis einer inversen FFT ist, welche möglicherweise Artefakte einer zirkulären Faltung (d.h. Zeitbereichs-Aliasing) enthält. Sowohl ẘ[n] als auch ŵ[n] weisen die Länge L auf, während das Zeitbereichs-Fenster w[n] für einen Ausgangsblock der Größe B eine Länge B aufweist.
  • Aufgrund des dem partitionierten Faltungsverfahren (8) unterliegenden Overlap-Save-Mechanismus werden beim Fenstern des aktuellen Blocks lediglich die letzten B Werte von ẘ[n] tatsächlich verwendet, während der Beitrag der anderen Elemente verworfen wird. Folglich stehen die gewünschte Zeitbereichs-Fensterfunktion für den FD-Überblendungsalgorithmus ŵ[n] und das Fenster w[n] der herkömmlichen Zeitbereichs-Überblendung in folgender Relation: w ^ L B + n = w n 0 n < B .
    Figure imgb0018
  • Das heißt, den ersten L - B Koeffizienten von [n] werden keinerlei Beschränkungen auferlegt, sie können also beliebige Werte annehmen, ohne das Ergebnis der Frequenzbereichs-Überblendung zu beeinflussen. Diese Freiheitsgrade können beim Design von W[k] auf vorteilhafte Weise genutzt werden. Die Fensterfunktionen W[k] und ẘ[n] sind durch die inverse DFT w n = L DFT 1 W k = k = 0 L 1 W k e j 2 π L nk ,
    Figure imgb0019
    aufeinander bezogen, wobei der führende Faktor L aus der dualen Darstellung des Faltungstheorems (16) folgt.
  • Um reellwertige Signale überblenden, sind die Zeitbereichs-Fenster w[n] und somit ẘ[n] rein reell. Dies bedeutet, dass das Frequenzbereichs-Fenster konjugiert-symmetrisch ist W N k = W k .
    Figure imgb0020
  • Folglich ist W[k] durch ┌(L + 1)/2┐ Elemente eindeutig definiert, beispielsweise W[0],..., ┌(L - 1)/2┐. Dies bedeutet auch, dass W[0] rein reellwertig ist. Ebenso ist, falls L geradzahlig ist, auch W[L/2] rein reell.
  • Indem W[k] durch seine reellen und imaginären Komponenten W k = W r k + j W i k k = 0 , , L + 1 / 2
    Figure imgb0021
    ausgedrückt wird und die Eulersche Identität verwendet wird, um Exponentialgrößen durch trigonometrische Funktionen zu ersetzen, kann (18) als w n = W r 0 + k = 1 L / 2 1 2 W r cos 2 π L nk 2 W i sin 2 π L nk + W r L 2 1 n
    Figure imgb0022
    dargestellt werden. Dabei ist der letzte Term W r L 2 1 n
    Figure imgb0023
    nur dann von null verschieden, falls L geradzahlig ist. Durch Einführung von Basisfunktionen G r k n = ( 1 , k = 0 2 cos 2 π L nk , 1 k < L / 2 1 n , k = L / 2 L gerade
    Figure imgb0024
    G i k n = ( 0 , k = 0 2 sin 2 π L nk , 1 k < L / 2 0 , k = L / 2 L gerade ,
    Figure imgb0025
    kann das Fenster w[n] kompakt durch w n = k = 0 L + 1 / 2 W r n G r k n + k = 1 L 1 / 2 W i n G i k n ,
    Figure imgb0026
    dargestellt werden. Diese Form kann direkt für ein optimierungsbasiertes Design von W[k] verwendet werden.
  • Um Beschränkungen bezüglich der von Null verschiedenen Elemente von W[k] (engl. sparsity constraints, Dünnbesetztheits-Einschränkungen) zu beschreiben, werden Indexmengen
    Figure imgb0027
    und
    Figure imgb0028
    eingeführt
    Figure imgb0029
    Figure imgb0030
  • Eine reelle Komponente Wr[k] kann nur dann von null verschieden sein, falls der Index k in der Menge
    Figure imgb0027
    enthalten ist. Dieselbe Beziehung gilt zwischen der imaginären Komponente Wi[k] und der Menge
    Figure imgb0028
    . Unter Verwendung dieser Bezeichnung kann das Zeitbereichs-Fenster (24) für eine gegebene Menge von Null verschiedenen betragenden Komponenten von W[k] ausgedrückt werden durch
    Figure imgb0033
  • Somit kann das Design von W[k] als Optimierungsproblem in Matrixform angegeben werden minimize W G W w ^ p .
    Figure imgb0034
  • Der Vektor w stellt die letzten B Abtastwerte des gewünschten Zeitbereichs-Fensters w[n] (17) dar, während W der Vektor von nicht null betragenden Komponenten von W[k] ist W = W r r 1 W r r R W i i 1 W i i I T
    Figure imgb0035
    w ^ = w ^ L B w ^ L B + 1 w ^ L 1 T .
    Figure imgb0036
  • Desgleichen ist G die Matrix der Basisfunktionen G = 0 pt G r r 1 , L B G r r r , L B G r i I , L B G r r 1 , L 1 G r r r , L 1 G r i I , L 1 .
    Figure imgb0037
  • In Gleichung (28) bezeichnet ∥·∥p die bei der Minimierung verwendete Fehlernorm, z.B. p = 2 für eine Minimierung nach der Methode der kleinsten Quadrate oder p = ∞ für eine Chebyshev-(Minimax)-Optimierung.
  • Innerhalb dieses Dokuments werden die Optimierungsprobleme unter Verwendung von CVX, eines Softwarepakets für eine konvexe Optimierung [19], formuliert und gelöst. Das Problem (28) wird in dem folgenden CVX-Programm ausgedrückt:
    • cvx_begin (Beginn)
      • variable (Variable) W (Ncoeffs)
      • minimize (Minimiere) (norm((G*W-ŵ), p));
      • subject to <optional constraints> (unter der Voraussetzung von <optionalen Einschränkungen>)
    • cvx_end (Ende)
  • Diese Designspezifikation kann an die jeweiligen Erfordernisse einer Anwendung durch eine Vielzahl zusätzlicher Einschränkungen angepasst werden. Beispiele dafür sind
    • Gleichheitseinschränkungen oder Ober- oder Untergrenzen für verschiedenartige Werte w[n], beispielsweise um Glattheitserfordernisse am Anfang oder am Ende des Zeitbereichs-Fensters zu gewährleisten.
    • Einschränkungen der Neigung von w[n], z.B. um ein Schwingungsverhalten des Zeitbereichs-Fensters zu vermeiden. Dies wird erreicht, indem den Unterschieden zwischen aufeinanderfolgenden Werten w[n] Einschränkungen auferlegt werden.
    Desiqnbeispiele
  • Ein Designbeispiel mit einer Zeitbereichsfensterlänge B = 64 und der entsprechenden Standard-FFT-Größe L = 2B = 128 veranschaulicht die Eigenschaften des Designverfahrens und der Leistungsfähigkeit der resultierenden Fensterfunktionen. Das gewünschte Zeitbereichs-Fenster ist eine lineare Rampe, die von 1 auf 0 abnimmt. Ungleichheitseinschränkungen für den ersten und den letzten Koeffizienten 1 1 L w 0 1 und w B 1 1 L
    Figure imgb0038
    verhindern Diskontinuitäten am Anfang und am Ende des Übergangs. Jedoch zeigen Designexperimente, dass die Einschränkungen nur für eine sehr geringe Anzahl von nicht null betragenden Koeffizienten aktiv werden, d.h. das Ergebnis beeinflussen.
  • Die Designexperimente werden bezüglich der L2- und L -Fehlernormen für verschiedene Mengen von nicht null betragenden Koeffizienten durchgeführt, wobei
    Figure imgb0039
    die Gesamtanzahl von nicht null betragenden Komponenten von W[k] bezeichnet. Die resultierenden Fenster sind in Fig. 6 gezeigt, und die Designs sind in Fig. 7g zusammengefasst. Fig. 6(a) zeigt ein Design mit einem vollständigen Satz von 8 komplexen Koeffizienten, d.h. K = 15, da Wi[0] = 0 (19). Es wird beobachtet, dass das resultierende Design das ideale Zeitbereichs-Fenster sehr gut annähert, mit L2- und L -Fehlernormen von 9,37 · 10-6 bzw. 5,65 · 10-6. Ein Design mit 8 ausschließlich reellen Koeffizienten wird in Fig. 6(b) gezeigt. Die Figur zeigt sichtbare Abweichungen von der idealen Fensterfunktion, was auch aus den Fehlernormen 5,45 · 10-2 und 1,55 · 10-2 für L2- und L -Designs klar hervorgeht. Im Gegensatz dazu weist das in Fig. 6(c) gezeigte Design ebenfalls K = 8 nicht null betragende Komponenten auf. Jedoch erreicht dieses Design fast die Leistungsfähigkeit des Beispiels mit 8 komplexen Koeffizienten, da die nicht null betragenden Werte bewußt aus der Menge der von reellen und imaginären Komponenten ausgewählt werden.
  • Fig. 6(d) bis 6(f) zeigen weitere Designbeispiele mit einer abnehmenden Anzahl von jedoch optimal ausgewählten von Null verschiedenen Komponenten. Man kann erkennen, dass sogar mit Anzahlen, die so niedrig sind wie K = 3 liegen, relativ gute Annäherungen des idealen Zeitbereichs-Fensters ermöglichen. Obwohl das abschließende Design mit K = 2 (Fig. 6(f)) deutliche Abweichungen von einem idealen linearen Übergang zeigt, kann es für viele Anwendungen einer Filterüberblendung eine akzeptable Wahl sein, da es einen glatten Übergang ohne Signaldiskontinuitäten liefert.
  • Effiziente Implementierungen für zusätzliche Komplexitätsreduktionen
  • Dieser Abschnitt stellt optimierte Implementierungen für zwei Aspekte des Frequenzbereichsüberblendungsalgorithmus vor und analysiert deren Leistungsfähigkeit. Zuerst wird eine effiziente Implementierung für eine zirkuläre Faltung von dünn besetzten konjungiertsymmetrischen Sequenzen vorgeschlagen. Zweitens wird eine Optimierung für Überblendungen mit konstanter Verstärkung (Constant Gain Crossfading), wie sie bei der Binauralsynthese verwendet werden, beschrieben.
  • Zirkuläre Faltung mit dünn besetzten Sequenzen
  • Eine zirkuläre Faltung zweier allgemeiner Sequenzen ist durch die Faltungssumme
    Figure imgb0040
    definiert. Dabei bezeichnet ((k))L = k mod L den Index modulo L (wie z.B. in [9]). Diese Operation erfordert für jedes Element Y[k] L komplexe Multiplikationen und L - 1 komplexe Additionen, was zu L2 komplexen Multiplikationen und L(L - 1) Additionen für eine vollständige Faltung führt.
  • Die konjugierte Symmetrie von X[k] und W[k] sowie die dünne Besetzung von W[k] ermöglicht eine effizientere Darstellung
    Figure imgb0041
    Figure imgb0042
  • Dabei bezeichnet
    Figure imgb0043
    die Vereinigung der Indexmengen
    Figure imgb0027
    und
    Figure imgb0028
    abzüglich des Index 0. Aus der dualen Darstellung des Faltungstheorems (16) folgt, dass Y[k] ebenfalls konjugiert-symmetrisch ist. Somit werden lediglich ┌(L+1)/2┐ Elemente benötigt, um Y[k] eindeutig zu bestimmen. Wenn man Y(l)[k] durch reelle und imaginäre Werte ausdrückt, ergibt dies Y l k = W r l + j W i l X r k + l L + j X i k + l L + W r l j W i l X r k l L + j X i k l L .
    Figure imgb0046
  • Durch Berechnen der Zwischenwerte X + k l = X k + l L + X k l L
    Figure imgb0047
    X k l = X k + l L X k l L ,
    Figure imgb0048
    wird Gleichung (36) effizient als Y l k = W r l X r + k l W i l X i k l + j W r l X i + k l + W i l X r k l .
    Figure imgb0049
    ausgewertet. In Kombination erfordert eine Auswertung der Sequenz Y (l)[k] 4┌(L+1)/2┐ reellwertige Multiplikationen und 2┌(L+1)/2┐ Additionen. Somit ist diese Implementierung effizienter als eine direkte Auswertung von (35) unter Verwendung komplexer Operationen, welche 8┌(L+1)/2┐ reelle Multiplikationen und 8┌(L+1)/2┐ reelle Additionen erfordern würde. Falls W[l] rein reell oder imaginär ist, ist entweder Wi[l] oder Wr[l] null. In beiden dieser Fälle verringert sich die Komplexität auf 2┌(L+1)/2┐ reelle Multiplikationen und 2┌(L+1)/2┐ Additionen.
  • Auf der Basis dieser Komplexitäten ergibt sich daraus s eine Gesamtkomplexität für die Auswertung der zirkulären Faltung gemäß (34) von 4K┌(L+1)/2┐ reellen Multiplikationen und 2(K-1)┌(L+1)/2┐ reellwertigen Additionen, d.h. insgesamt(6K-2)┌(L+1)/2┐ Operationen. Wie in (32) definiert, bezeichnet K die Gesamtanzahl der nicht null betragenden Komponenten von W[l]. Damit berücksichtigt die genannte Gesamtkomplexität sowohl die Reellwertigkeit von W[0] als auch die Tatsache, dass der Index I eines allgemeinen komplexen Werts W[l] sowohl in der Indexmenge
    Figure imgb0027
    als auch in
    Figure imgb0028
    enthalten ist.
  • Auf diese Weise ermöglicht die konjugierte Symmetrie der an der zirkulären Faltung beteiligten Sequenzen beträchtliche Einsparungen bezüglich der Komplexität. Zusätzliche signifikante Reduktionen können durch Fensterkoeffizienten gewonnen werden, die entweder rein reell oder imaginär sind. Somit kann der vorgeschlagene zirkuläre Faltungsalgorithmus aus dünnbesetzten Frequenzbereichs-Fensterfunktionen, wie beispielsweise den in Fig. 6a-6f dargestellten Designs, einen unmittelbaren Vorteil ziehen.
  • Überblendung mit konstanter Verstärkung (Constant-Gain-Crossfading)
  • Eine Überblendung mit konstanter Verstärkung, welche lineare Überblendungen umfasst, wie sie üblicherweise für Übergänge zwischen HRTFs verwendet werden, kann innerhalb des vorgestellten Konzeptes zur Frequenzbereichsüberblendung auf effiziente Weise implementiert werden.
  • Eine allgemeine Frequenzbereichsüberblendung wird durch eine zirkuläre Faltung der zwei Eingangssignale mit ihren jeweiligen Frequenzbereichs-Fenstern und eine anschließende Summation
    Figure imgb0052
    implementiert. Für Überblendungen mit konstanter Verstärkung wird eine effizientere Implementierung erzielt, indem die Zeitbereichsüberblendungsfunktion (14) in den Frequenzbereich transformiert wird
    Figure imgb0053
  • Hierbei bezeichnet Yd[k] die Differenz Y d k = Y 1 k Y 2 k .
    Figure imgb0054
  • Wie in (14) ermöglicht diese Funktion ein Überblenden zwischen willkürlichen Anfangs- und Endwerten s und e. Der Hauptvorteil der Implementierung (41) gegenüber (40) besteht darin, dass sie lediglich eine einzige zirkuläre Faltung erfordert, welche den aufwändigsten Teil des Überblendungsalgorithmus darstellt.
  • Eine weitere Verringerung der Komplexität kann durch eine Fusion des zirkulären Faltungsschemas (34) mit (41) erzielt werden. Ein Kombinieren des Terms, der den zentralen Fensterkoeffizienten W[0] enthält, mit der Überblendungsfunktion ergibt
    Figure imgb0055
  • Auf diese Weise bestimmt sich der rechentechnische Aufwand für eine Überblendung mit konstanter Verstärkung durch die im Abschnitt 4.1 beschriebene dünn besetzte zirkuläre Faltungsoperation, zwei komplexe Vektoradditionen der Größe ┌(L+1)/2┐, zwei Additionen und 2K - 1 Multiplikationen zum Skalieren der Fensterkoeffizienten W[k]. Dies ergibt insgesamt (6K-2)┌(L+1)/2┐+2 Additionen und 4K┌(L+1)/2┐+2K-1 reellwertige Multiplikationen. Somit erfordert ein Überblenden eines Blockes von B Ausgangsabtastwerten insgesamt (10K-2)┌(L+1)/2┐+2K+1 Anweisungen.
  • Fig. 5b zeigt, in Analogie zur Fig. 5a eine alternative Zeitbereichsfensterdarstellung, die eine Verstärkungsänderung, z.B. von einem Verstärkungsfaktor 1 auf einen Verstärkungsfaktor 0,5 darstellt. Ein solches Zeitbereichs-Fenster entspricht in etwa dem Ausblendungsfenster w1 in Fig. 5a, es wird jedoch keine Einblendung vorgenommen. Auch für das Zeitbereichs-Fenster in Fig. 5b existieren effiziente Frequenzbereichs-Fensterfunktionen, die im Block 124 oder in den Blöcken 124a, 124b, 124c der Fig. 1, 2 und 3 effizient eingesetzt werden können.
  • Die Darstellungen der Frequenzbereichs-Fensterfunktion für das Zeitbereichs-Fenster von Fig. 5b können aus den Frequenzbereichs-Darstellungen für die Fensterfunktionen von Fig. 5a durch Skalierung oder durch Addition/Subtraktion entsprechender Werte dargestellt werden, so dass keine neuen Optimierungen beispielsweise mehr vorgenommen werden müssen, sondern aus existierenden Frequenzbereichs-Fensterfunktionen basierend auf Fig. 5a, oder wie sie in den Fig. 6a bis 6f bezeichnet sind, die entsprechenden Frequenzbereichs-Fensterfunktionen für sämtliche Verstärkungsänderungen im Frequenzbereich erzeugt werden können. So kann durch Fig. 5b eine Verstärkungsreduktion erreicht werden. Alternativ kann durch eine entsprechende Funktion eine Verstärkungserhöhung erreicht werden, wobei hierzu auf die Funktion w2 von Fig. 5a wieder mit entsprechender Skalierung und/oder Addition entsprechender beispielsweise konstanter Werte zurückgegriffen werden kann.
  • Fig. 11 zeigt exemplarisch eine Signalverarbeitungsstruktur zur Verstärkungsänderung mit beliebigen Start- und Endwerten unter Verwendung einer einzigen, festen Frequenzbereichsfensterfunktion. Dabei stellt Y 1[k] 502 die Frequenzbereichsdarstellung des Signals dar, welches einer Verstärkungsänderung unterzogen werden soll. Dieses Signal kann beispielsweise durch Frequenzbereichs-Filterung eines Eingangssignals erzeugt worden sein. Eine solche Filterung ist jedoch nicht zwingend erforderlich. Notwendig ist nur, dass das Signal in einer zur verwendeten Frequenz-Zeitbereichstransformation (in Beschreibung als "Umwandler" bezeichnet) kompatiblen Repräsentation vorliegt, d.h., dass die Anwendung der Frequenz-Zeitbereichstransformation das entsprechende Zeitbereichs-signal y 1[n] erzeugt. Der Verlauf der Verstärkungsfunktion wird durch den Verstärkungswert s zu Beginn eines Signal-Blocks, den Verstärkungsfaktor e am Ende des Signal-Blocks sowie die gewählte Frequenzbereichs-Fensterfunktion, hier mit W 2[k] bezeichnet, bestimmt. Diese wird beispielhaft so ausgeführt, dass ihre Zeitbereichsentsprechung eine von 1 auf 0 abfallende Funktion ist. Eine Verstärkungsänderung wird mittels folgender, auch in Fig. 11 dargestellter Berechnungsfunktion, durchgeführt.
    Figure imgb0056
  • Das Signal Y 1[k] wird mit mittels zirkulärer Faltung mit einer Frequenzbereichs-Fensterfunktion W 2[k] beaufschlagt. Das Ergebnis dieser Faltung wird durch elementweise Multiplikation des Vektors mit dem Wert e - s in einem ersten Multiplizierer 503 skaliert. Aufgrund der Linearität der zirkulären Faltung kann diese Skalierung auch vor der Faltung entweder auf Y 1[k] oder W 2[k] angewandt werden. Das Ergebnis dieser Repräsentation wird dem mit dem Start-Verstärkungswert s in einem zweiten Multiplizierer 504 skalierten Signal Y 1[k] in dem Summierer 500 summiert und ergibt das FrequenzbereichsAusgangssignal Y[k]. Die Effizienz kann weiter erhöht werden, indem analog zu (43) der zentrale Fensterkoeffizient W[0] aus der Faltungssumme separiert und in der Skalierung von Y 1[k] berücksichtigt wird.
    Figure imgb0057
  • Fig. 7a bis 7f zeigt eine tabellarische Aufstellung der Filterkoeffizienten der Frequenzbereichs-Fensterfunktionen, die im Zeitbereich in den Fig. 6a bis 6f dargestellt sind. Die Frequenzbereichs-Fensterfunktionen sind nur schwach besetzt. Insbesondere zeigt Fig. 7a eine Frequenzbereichs-Darstellung, wo der Bin der Frequenzbereichs-Darstellung der Fensterfunktion, der der Frequenz gleich 0 entspricht bzw. der 0.te Bin den Wert 0,5 hat. Der exakte Wert "0.5" ist hier nicht zwingend notwendig. 0.5 für den 0-ten Bin heißt, dass der Durchschnitt der Zeitbereichs-Werte 0.5 ist, was bei eine gleichmäßigen Überblendung von 1 auf 0 gegeben ist.
  • Der erste bis siebte Frequenz-Bin hat dann die entsprechenden komplexen Koeffizienten, während alle weiteren, höheren Bins gleich 0 sind oder so kleine Werte haben, dass sie nahezu bedeutungslos sind. Die Menge
    Figure imgb0027
    und die Wert
    Figure imgb0028
    aus den Fig. 7a bis 7f beschreiben somit die Indizes der von Null verschiedenen Real- und Imaginärteile der Spektralkoeffizienten bzw. Bins der Frequenzbereichs-Fensterfunktionen, die im Zeitbereich in den Fig. 6a bis 6f dargestellt sind. So betrifft beispielsweise Fig. 7e und Fig. 7f lediglich eine Besetzung der ersten drei Spektralkoeffizienten der Fensterfunktion (Fig. 7e) oder nur der beiden ersten Spektralkoeffizienten der Fensterfunktion (Fig. 7f).
  • Komplexitätsauswertung
  • Dieser Abschnitt vergleicht die Komplexität des vorgeschlagenen Frequenzbereichsüberblendungsalgorithmus mit existierenden Lösungsansätzen einer Filterüberblendung. Ein Aufbereitungssystem mit einer Filterlänge N=512, einer Blockgröße B = 128 und der entsprechenden Standard-DFT-Größe L = 256, M = 8 virtuelle Quellen und K = 4 nicht null betragende Koeffizienten für das Frequenzbereichsüberblendungsverfahren wird als Basis für die Leistungsauswertung verwendet. Jeder der Parameter wird variiert, um seinen Einfluss auf die Gesamtkomplexität zu beurteilen. Die Ergebnisse sind in Fig. 8 gezeigt. Sie zeigt die Anzahl von Multiplikationen zum Berechnen eines Abtastwerts eines einzelnen überblendeten Signals, d.h. die Gesamtanzahl von Operationen in dem Aufbereitungssystem geteilt durch die Anzahl von Schallquellen. Drei Algorithmen werden in Betracht gezogen: (a) partitionierte Faltung, auf die eine Zeitbereichs-Überblendung folgt, (b) die vorgeschlagenen FD-Überblendungsalgorithmen, die für jedes Quellensignal separat durchgeführt werden, und die Summation der Ohrsignale im Zeitbereich, und (c) FD-Überblendung und Summation der Ohrsignale im Frequenzbereich.
  • Fig. 8(a) zeigt den Einfluss der Filterlänge N. Für eine konstante Blockgröße B ist die Komplexität eine lineare Funktion von N für alle Algorithmen, da das N lediglich den Aufwand, der auf die Blockfaltung (6) zurückzuführen ist, beeinflusst, die für die drei Algorithmen identisch ist. Trotzdem zeigt der vorgeschlagene FD-Überblendungsalgorithmus sogar im Fall eines einzigen Kanals eine messbare Verbesserung gegenüber dem Zeitbereichslösungsansatz. Wie durch den dritten Graphen angegeben ist, ergibt eine Summation der Ohrsignale im Frequenzbereich beträchtliche zusätzliche Komplexitätsverringerungen, d.h. von ≈ 186 auf ≈ 131 Anweisungen pro Abtastwert für N=512.
  • Die Auswirkung der Blockgröße des partitionierten Faltungsschemas wird in Fig. 8(b) gezeigt. Während eine FD-Überblendung in allen Fällen effizienter ist als eine Zeitbereichs-Überblendung, nimmt der relative Gewinn mit steigender Blockgröße B zu. Dies lässt sich durch das Komplexitätseigenschaften gleichförmig partitionierter Faltungsschemata erklären. Für kleine Blockgrößen wird die Komplexität durch die Blockfaltung dominiert (6), während die Kosten der FFT- und IFFT-Operationen vernachlässigbar sind. Da eine Verringerung der Anzahl von IFFTs das Hauptmerkmal des FD-Überblendungsverfahrens ist, zeigt es seinen vollständigen Effekt nur für hinreichend große Blockgrößen. Dies ist jedoch nur ein geringfügiger Nachteil, da eine gleichförmig partitionierte Faltung für sehr kleine Blockgrößen in jedem Fall immer ineffizienter wird (siehe z.B. [12], [13]). Am anderen Ende der Skala werden die größten Verbesserungen gewonnen, falls die Blockgröße gleich der Filterlänge ist (bei diesem Beispiel N = B = 512). Dies entspricht einer nicht partitionierten schnellen Faltung. Somit kann das vorgeschlagene FD-Überblenden in Verbindung mit Overlap-Save-Schemata auf vorteilhafte Weise verwendet werden, falls die dadurch bedingte Latenzzeit akzeptabel ist.
  • Die Abhängigkeit der Komplexität von der dünnen Besetzung des FD-Fensters, d.h. der von Null verschiedenen Real- und Imaginärteile von Werten der Frequenzbereichs-Fensterfunktion W[l] ist in Fig. 8(c) gezeigt. F Für Zeitbereichsüberblendungen ist der Performance-Verlauf eine Konstante, die keine derartigen Fenster verwendet werden. Für den Fall einer kanalweisen Umsetzung des Algorithmus ist die FD-Überblendung bei dem betrachteten Aufbau für bis zu etwa 7 nicht null betragende Komponenten effizienter. Wie im Abschnitt "Design von Frequenzbereichs-Fenstern" gezeigt wurde, ermöglichen Fenster mit 3-4 Werten üblicherweise bereits sehr gute Annäherungen von linearen Überblendungen. Dies ermöglicht zweckmäßige Kompromisse zwischen der Genauigkeit und der Komplexität der Überblendung und bei den meisten Anwendungen eine beträchtliche Beschleunigung. Weitere beträchtliche Zugewinne bei der Genauigkeit oder Effizienz sind möglich, falls ein Mischen der Ohrsignale auch im Frequenzbereich durchgeführt wird. In diesem Fall ist bei FD-Fenstern mit bis zu 12 Koeffizienten eine FD-Überblendung effizienter als das Zeitbereichsverfahren.
  • Fig. 8(d) zeigt die Auswirkung der Größe der wiedergegebenen akustischen Szene, d.h. der Anzahl von virtuellen Quellen, auf die Gesamtkomplexität. Wie oben dargestellt, werden die berechneten Anzahlen arithmetischer Operationen durch die Anzahl der berechneten Quellen normiert. Für eine Zeitbereichsüberblendung und den Einzelkanal-FD-Algorithmus ist die Komplexität unabhängig von der Szenengröße. Desgleichen ist der Mehrkanal-FD-Algorithmus für eine einzelne Quelle identisch mit der Einzelkanal-FD-Überblendung. Jedoch ermöglicht eine Kombination der überblendeten Quellensignale im Frequenzbereich sogar für kleine akustische Szenen beträchtliche Effizienzgewinne, z.B. für M = 2,...,8. Größere akustische Szenen ermöglichen lediglich geringfügige zusätzliche Leistungsfähigkeitsgewinne. Diese asymptotische Grenze folgt aus dem Einfluss der Vorwärts-FFT und der Blockfaltungsoperationen auf die Gesamtkomplexität. Diese kann nicht weiter verringert werden, indem die Anzahl inverser FFT-Operationen gesenkt wird.
  • Ausführungsbeispiele betreffen einen effizienten Algorithmus vor, der Frequenzbereichs-faltung und Überblendung gefilterter Signale kombiniert. Er ist auf eine Vielzahl von Frequenzbereichsfaltungstechniken anwendbar, insbesondere Overlap-Save und gleichförmig oder ungleichförmig partitionierte Faltung. Desgleichen kann er mit verschiedenen Arten von glatten Übergängen zwischen gefilterten Audiosignalen verwendet werden, einschließlich Verstärkungsveränderungen und Überblendungen. Überblendungen mit konstanter Verstärkung wie beispielsweise lineare Filterübergänge, die üblicherweise bei der dynamischen Binauralsynthese benötigt werden, ermöglichen zusätzliche beträchtliche Verringerungen der Komplexität. Der neuartige Algorithmus beruht auf einer zirkulären Faltung im Frequenzbereich mit einer dünn besetzten Fensterfunktion, die aus lediglich einigen wenigen von Null verschiedenen Werten besteht. Ferner wird ein flexibles optimierungsbasiertes Designverfahren für derartige Fenster dargestellt. Designbeispiele bestätigen, dass die Überblendungsverhalten, die üblicherweise bei Audioanwendungen eingesetzt werden, durch sehr dünn besetzte Fensterfunktionen sehr gut angenähert werden können.
  • Die vorgeschlagenen Ausführungsbeispiele zeigen beträchtliche Verbesserungen der Leistungsfähigkeit gegenüber vorhandenen Lösungen, die auf zwei separaten Faltungen und einer Zeitbereichsüberblendung basieren. Jedoch wird das vollständige Potenzial des Frequenzbereichsüberblendens für Binaural-Anwendungen erst dann ausgenutzt, falls es in die Struktur eines binauralen Wiedergabesystems integriert wird. In diesem Fall ermöglicht der neuartige Überblendungsalgorithmus, dass größere Anteile der Verarbeitung im Frequenzbereich durchgeführt werden, wodurch die Anzahl von inversen Transformationen beträchtlich verringert wird . Die die Vorteile dieses Lösungsansatzes für eine Binauralsynthese wurden aufgezeigt. In dieser Anwendung ermöglicht die Fähigkeit, die Signale mehrerer Schallquellen im Frequenzbereich zu mischen, beträchtliche Verringerungen der Komplexität. Trotzdem ist der vorgeschlagene Algorithmus nicht auf die Binauralsynthese beschränkt, sondern ist wahrscheinlich auf andere Verwendungszwecke anwendbar, die sowohl Techniken einer schnellen Faltung als auch ein zeitlich veränderliches Mischen von Audiosignalen, insbesondere bei Mehrkanalanwendungen, einsetzen.
  • Nachfolgend werden alternative Ausführungsbeispiele der vorliegenden Erfindung dargestellt. Generell betreffen Ausführungsbeispiele der vorliegenden Erfindung folgende Punkte.
  • Ein graduelles Ein- oder Ausblenden eines (gefilterten) Signals yi[n] kann allgemein als Multiplikation des Signals mit einer Zeitbereichs-Fensterfunktion wi[n] interpretiert werden.
  • Eine Überblendung ("Crossfade") zwischen zwei gefilterten Signalen (y1[n] und y2[n]) kann so durch die Multiplikation der Signale mit Fensterfunktion w1[n] und w2[n] und anschließender Summation dargestellt werden. y n = w 1 n y 1 n + w 2 n y 2 n mit
    Figure imgb0060
    y 1 n = k = 0 N h 1 k x n k und y 2 n = k = 0 N h 2 k x n k .
    Figure imgb0061
  • Eine besondere Form der Überblendung ist der sog. Constant-Gain-Crossfade, bei der die Summe der Fensterfunktionen w1[n] und w2[n] für jedes n den Wert 1 ergibt. Diese Form der Überblendung ist in vielen Anwendungen sinnvoll, insbesondere wenn die zu blendenden Signale (bzw. die Filter) stark korreliert sind. In diesem Fall kann die Überblendung durch eine einzelne Fensterfunktion w[n], w1[n] = w[n], w2[n] = 1 - w[n] dargestellt werden, und die Überblendung (1) kann in folgender Form dargestellt werden. y n = y 2 n + w n y 1 n y 2 n .
    Figure imgb0062
  • Ziel des Verfahrens ist es, die Überblendung direkt im Frequenzbereich vorzunehmen und dadurch den Aufwand, der bei der Ausführung zweier kompletter schneller Faltungsoperationen entsteht, zu reduzieren. Präzisiert heißt das, dass bei einer Überblendung der gefilterten Signale im Frequenzbereich nur eine statt zwei inverser FFTs notwendig sind.
  • Für die Herleitung der Überblendung im Frequenzbereich wird nur die Multiplikation eines einzelnen Signals x[n] mit einer Zeitbereichs-Fenstefunktion w[n] betrachtet y n = x n w n .
    Figure imgb0063
  • Die Erweiterung auf Überblendungen ("Crossfades") entsprechend den Formeln (44) bzw. (46) kann nach der Beschreibung des Kernalgorithmus in einfacher Weise erfolgen (aber dort noch zusätzliche Performance-Gewinne ermöglichen).
  • Eine elementweise Multiplikation im Zeitbereich (47) entspricht einer zirkulären (periodischen) Faltung im Frequenzbereich.
    Figure imgb0064
  • Dabei bezeichnet DFT {·} die diskrete Fourier-Transformation, und
    Figure imgb0017
    repräsentiert eine zirkuläre Faltung zweier endlicher, hier i.d.R. komplexer Sequenzen, deren Länge hier mit L bezeichnet ist.
  • Die Überblendung durch zirkuläre Faltung im Frequenzbereich lässt sich in schnellen Faltungsalgorithmen wie Overlap-Save, partitionierte und ungleichförmig partitionierte Faltung integrieren. Dabei sollen die Eigenheiten dieser Verfahren, z.B. das Zero-Padding (Auffüllen mit Nullen) der Impulsantwort-Segmente und das Verwerfen eines Teils des in den Zeitbereich zurücktransformierten Signals (zur Vermeidung einer zirkulären Überfaltung des Zeitbereichssignals, Time-Domain-Aliasing) entsprechend betrachtet werden. Die Länge der Überblendung ist dabei auf die Blockgröße des Faltungsalgorithmus bzw. eines Vielfachen davon festgelegt.
  • Die Faltung (48) ist typischerweise deutlich aufwändiger als eine Überblendung im Zeitbereich (47) (Komplexität 0(L2)). Damit bedeutet die Verlagerung in den Frequenzbereich im allgemeinen Fall eine signifikante Steigerung der Komplexität, da der zustäzlcihe Aufwand 0(L2) die Reduktion durch das Einsparen der FFT 0(Llog2L) deutlich übersteigt. Zusätzlich werden Operationen wie gewichtete Summation in der Frequenzbereichs-Ensprechung von (44) teurer, da die Sequenzen komplexwertig sind.
  • Ein Ausführungsbeispiel ist es, Frequenzbereichs-Fensterfunktionen W[k] zu finden, die nur sehr wenige von Null verschiedene (engl. "nonzero") Koeffizienten aufweisen. Bei sehr dünnbesetzten Fensterfunktionen kann die zirkuläre Faltung im Frequenzbereich deutlich effizienter werden als eine zusätzliche inverse FFT gefolgt von einer Überblendung im Zeitbereich.
  • Es wird gezeigt, dass solche Fensterfunktionen existieren, mit denen mit einer kleinen Zahl von Koeffizienten eine sehr gute Annäherung an gewünschte Überblend-Charakteristiken möglich ist.
  • Es wird ein Optimierungsverfahren eingeführt, mit denen zu einer gewünschten Zeitbereichs-Fensterfunktion [n] und der Vorgabe, welche reellwertigen und imaginären Koeffizienten der Frequenzbereichs-Fensterfunktion von Null verschieden sein dürfen, ein optimales Frequenzbereichsfenster W[k] zu finden.
  • Bei dieser Optimierung können die Eigenschaften des Overlap-Save-Algorithmus und der drauf aufbauenden gleichförmig und ungleichförmig partitionierten Faltungsalgorithmen sinnvoll ausgenutzt werden. Von der inversen diskreten Fourier-Transformation w[n] w n = L DFT 1 W k = k = 0 L 1 W k e j 2 π L nk
    Figure imgb0066
    werden nur die letzten B Samples verwendet, wobei B die Blockgröße bzw. der Blockvorschub des partitionierten Faltungsalgorithmus ist (B < L). Die ersten L - B Werte des zurücktransformierten Ausgangssignals, und damit der Effekt der Multiplikation mit den ersten L - B Werten von ẘ[n] werden zur Vermeidung von Time-Domain-Aliasing durch den Faltungsalgorithmus verworfen. Daher dürfen die Fenster-Koeffizienten ẘ[0]... ẘ[L - B] beliebige Werte annehmen, ohne das Ergebnis der Überblendung zu verändern. Diese zusätzlichen Freiheitsgrade führen zu einen beträchtlichen Vorteil beim Design von Frequenzbereichsfenstern W[k] mit einer geringen Zahl von "nonzero" Koeffizienten.
  • Beim Design von W[k] sowie bei der effizienten Implementierung der zirkulären Faltung im Fjrequenzbereich können die symmetrisch-konjugierte Struktur des Frequenzbereichsfensters sinnvoll ausgenutzt werden. Dabei ist es sinnvoll, die reellen und imaginären Komponenten von W[k] getrennt zu betrachten.
  • Es werden verschiedene Designs für solche Frequenzbereichsfenster vorgestellt (u.a. mit 2, 3 und 4 "nonzero" Koeffizienten), welche eine spezifische, gezielt gewählte Verteilung der "nonzero" reellwertigen und imaginären Koeffizienten aufweisen. Die dabei gewonnenen Erkenntnisse, gelten streng genommen nur für die hier vorgestellten Fenster-Designs (das heisst zum Beispiel für die vorgegebenen Werte von L und B sowie die Form der gewünschten Überblendung). Jedoch sind die zugrundeliegenden Prinzipien , z.B. vorteilhafte Verteilungen von Null verschiedener Real- und Imaginärteile, auch auf andere Werte von B und L anwendbar.
  • Die Verteilung der "nonzero" reellwertigen und imaginären Komponenten ist sehr charakteristisch. Die Verteilung, wie sie z.B. im dritten Design in Fig. 7g verwendet wird (8
    Figure imgb0067
    "nonzero" Koeffizienten, Index-Sets
    Figure imgb0068
    hat sich in zusätzlichen Untersuchungen auch für anderer Parameterkombinationen in Ausführungsbeispielen als optimal erwiesen. Dies bedeutet, dass eine besonders geeignete Vorgabe für die Frequenzbereichs-Fensterfunktion darin besteht, dass die Koeffizienten mit Index 0 sowie allen ungeraden Indizes rein reell sind und die Koeffizienten mit geradem Index (ab 2) rein imaginär sind.
  • Eine Fensterfunktion mit zwei "nonzero" Koeffizienten (letztes Design-Beispiel in Fig. 7g, Bild 6(f)) ermöglicht einen glatten Übergang zwischen zwei Filtern bzw. Signalen und kann auch für einen Constant-Gain-Crossfade verwendet werden. Diese Fensterfunktion entspricht einem Zeitbereichsfenster mit einem halbseitigen Fenster vom Kosinus-Typ (z.B. Hann- oder Hamming-Fenster). Obwohl diese Fensterfunktion recht stark von einer linearen Überblendung abweicht, sollte sie für viele Anwendungen bereits einsetzbar sein, in denen nur eine knackfreie Überblendung zwischen recht ähnlichen Filtern benötigt wird.
  • Für die Implementierung der zirkulären Faltung mit einer dünnbesetzten konjugiert-symmetrischen Fensterfunktion W[k] (wie hier betrachtet) werden effiziente Implementierungen und verschiedene Optimierungen vorgestellt. Dabei wird klar, dass eine getrennte Betrachtung der "nonzero" Real- und Imaginärteile Leistungsvorteile bietet.
  • Für die Umsetzung von Constant-Gain-Crossfades wird eine weiter optimierte Rechenvorschrift vorgestellt.
  • Die beschriebene Erfindung ermöglicht weitere deutlich größere Leistungsvorteile, wenn Systeme mit mehreren Ein- und Ausgängen betrachtet werden. In diesem Fall kann durch die Implementierung der Überblendung im Frequenzbereich (bzw. der durch den verwendeten schnellen Faltungsalgorithmus vorgegebenen Signalrepräsentation) ein größerer Teil der gesamten Berechnung in diesem Frequenzbereich erfolgen, was die Gesamt-Effizienz deutlich erhöhen kann.
  • Eine Wirkung der beschriebenen Erfindung ist eine Reduktion der Berechnungskomplexität. Dabei werden gewisse Abweichungen (die sich jedoch beeinflussen und in der Regel sehr gering halten lassen) gegenüber einem als ideal vorgegebenen Form der Überblendung in Kauf genommen.
  • Neben dieser Effizienzsteigerung ermöglicht das Konzept eine Integration von Überblend-Funktionalitäten direkt im Frequenzbereich. Wie weiter oben beschrieben, können dadurch größere Signalverarbeitungsalgorithmen, welche Überblendung als einen Baustein verwenden, so umstrukturiert werden, dass eine Effizienzsteigerung erzielt wird. Z.B. können größere Teile der Gesamtsignalverarbeitung in der Frequenzbereichsdarstellung ausgeführt werden, wodurch der Aufwand für die Transformation der Signale deutlich reduziert wird (z.B. die Zahl der Rücktransformationenin den Zeitbereich).
  • Generell können Ausführunsbeispiele in allen Anwendungen, die eine FIR-Faltung mit einer bestimmten Mindestlänge der Filter (je nach Hardware ab ca. 16-50 Koeffizienten) benötigen und bei denen die Filterkoeffizienten ohne Signalverarbeitungsartefakte zur Laufzeit ausgetauscht werden sollen, verwendet werden.
  • Zwei Anwendungsfelder im Gebiet Audio werden als besonders wichtig angesehen:
  • Binauralsynthese
  • Bei der Wiedergabe von Schallszenen über Kopfhörer werden die Signale der Schallobjekte mit sog. Head-RElated Transfer Functions (HRTFs) beider Ohren gefiltert, und die über den Kopfhörer weidergegebenen Signale werden durch Summation der entsprechenden Komponentensignale gebildet. Die HRTFs sind abhängig von der relativen Position von Schallquelle und Hörer und müssen daher bei bewegten Schallquellen oder Kopfbewegungen ausgetauscht werden. Die Notwendigkeit einer Filter-Überblendung ist bekannt, z.B. [5; 14].
  • Variable digitale Filterkernel für Beamforming
  • Beamforming-Anwendungen (sowohl für Lautsprecher als auch für Mikrofon-Arrays) mit zur Laufzeit steuerbarer Richtcharakteristik benötigen variable digitale Filterstrukturen, mit denen die Eigenschaften der Array-Verarbeitung kontinuierlich angepasst werden können. Dabei muss auch sichergestellt werden, dass die Veränderung der Charakteristik keine Störungen (z.B. Knackartefakte, Transienten) erzeugt. Bei einer Implementierung der variablen Filter mittels schneller Faltung kann die beschriebene Erfindung vorteilhaft angewendet werden.
  • Insbesondere ist bei dieser Ausführung das Frequenzbereichs-Signal ein Audiosignal. Die erste Filtercharakteristik betrifft ein Filter für einen bestimmten Schallwandler (Mikrofon oder Lautsprecher) in einem Schallwandlerarray ist, welches geeignet ist, um in Kombination mit den anderen Schallwandlern des Schallwandlerarrays eine gewünschte erste Richtcharakteristik zu einem ersten Zeitpunkt auszubilden. Die zweite Filtercharakteristik beschreibt ein Filter für einen bestimmten Schallwandler (Mikrofon oder Lautsprecher) in einem Schallwandlerarray ist, welche geeignet ist, um in Kombination mit den anderen Schallwandlern des Schallwandlerarrays eine zweite gewünschte Richtcharakteristik zu einem zweiten Zeitpunkt auszubilden, so dass durch ein Überblenden unter Verwendung der Frequenzbereichs-Fensterfunktion die Richtcharakteristik zeitlich verändert wird.
  • Eine andere Anwendung betrifft die Verwendung mehrerer Audiosignale, deren gefilterte und überblendete Frequenzbereichsrepräsentation vor der inversen Fourier-Transformation kombiniert werden. Dies entspricht der gleichzeitigen Abstrahlung mehrerer Audio-Beams mit unterschiedlichen Signalen über ein Lautsprecher-Array, oder der Summation der einzelnen Mikrofonsignale in einem Mikrofonarray.
  • Besonders vorteilhaft ist die beschriebene Erfindung für Systeme mit mehreren Ein- und Ausgängen (Multiple-Input, Multiple-Output, MIMO) anwendbar, z.B. wenn mehrere Überblendungen simultan erfolgen oder mehrere überblendete Signale kombiniert und weiterverarbeitet werden. In diesem Fall ist es möglich, einen größeren Teil der Gesamtberechnung im Frequenzbereich (bzw. der durch den verwendeten Overlap-Save- oder partitionierten Faltungsalgorithmus vorgegebenen Signalrepräsentation) auszuführen. Durch Verlagerung weiterer Operationen wie Summation, Mischen von Signalen etc. kann der Aufwand für die Rücktransformation in den Zeitbereich deutlich reduziert und damit die Gesamteffizienz oftmals signifikant verbessert werden. Beispiele für solche Systeme sind, wie oben beschrieben, ein Binaural-Rendering für komplexe Audio-Szenen oder auch Beamforming-Anwendungen, bei denen Signale für verschiedene Richtcharakteristiken und Wandler (Mikrofone bzw. Lautsprecher) mit veränderlichen Filtern gefiltert und miteinander kombiniert werden müssen.
  • Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar. Einige oder alle der Verfahrensschritte können durch einen Hardware-Apparat (oder unter Verwendung eines Hardware-Apparats), wie zum Beispiel einen Mikroprozessor, einen programmierbaren Computer oder einer elektronischen Schaltung durchgeführt werden. Bei einigen Ausführungsbeispielen können einige oder mehrere der wichtigsten Verfahrensschritte durch einen solchen Apparat ausgeführt werden.
  • Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer BluRay Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb kann das digitale Speichermedium computerlesbar sein.
  • Manche Ausführungsbeispiele gemäß der Erfindung umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmier-baren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.
  • Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft.
  • Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.
  • Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinen-lesbaren Träger gespeichert ist. Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft.
  • Ein weiteres Ausführungsbeispiel der erfindungsgemäßen Verfahren ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist.
  • Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.
  • Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.
  • Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.
  • Ein weiteres Ausführungsbeispiel gemäß der Erfindung umfasst eine Vorrichtung oder ein System, die bzw. das ausgelegt ist, um ein Computerprogramm zur Durchführung zumindest eines der hierin beschriebenen Verfahren zu einem Empfänger zu übertragen. Die Übertragung kann beispielsweise elektronisch oder optisch erfolgen. Der Empfänger kann beispielsweise ein Computer, ein Mobilgerät, ein Speichergerät oder eine ähnliche Vorrichtung sein. Die Vorrichtung oder das System kann beispielsweise einen Datei-Server zur Übertragung des Computerprogramms zu dem Empfänger umfassen.
  • Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor (CPU) sein oder für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.
  • Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.
  • REFERENZEN
    1. [1] V. R. Algazi und R. 0. Duda, "Headphone-based spatial sound," IEEE Signal Processing Mag., Bd. 28, Nr. 1, S. 33-42, Jan. 2011.
    2. [2] R. Nicol, Binaural Technology, ser. AES Monographs. New York, NY: AES, 2010.
    3. [3] D. N. Zotkin, R. Duraiswami, und L. S. Davis, "Rendering localized spatial audio in a virtual auditory space," IEEE Trans. Multimedia, Bd. 6, Nr. 4, S. 553-564, Aug. 2004.
    4. [4] A. Härmä, J. Jakka, M. Tikander, et al., "Augmented reality audio for mobile and wearable appliances," J. Audio Eng. Soc., Bd. 52, Nr. 6, S. 618-639, Jun. 2004.
    5. [5] J.-M. Jot, V. Larcher und 0. Warusfel , "Digital signal processing issues in the context of binaural and transaural stereophony," in AES 98th Convention, Paris, Frankreich, Feb. 1995.
    6. [6] H. Gamper, "Head-related transfer function interpolation in azimuth, elevation and distance," J. Acoust. Soc. Am., Bd. 134, Nr. 6, EL547-EL553, Dez. 2013.
    7. [7] V. Algazi, R. Duda, D. Thompson , et al., "The CIPIC HRTF database," in Proc. IEEE Workshop Applications Signal Processing to Audio and Acoustics, New Paltz, NY, Okt. 2001, S. 99-102.
    8. [8] T. G. Stockham Jr., "High-speed convolution and correlation," in Proc. Spring Joint Computer Conf., Boston, MA, Apr. 1966, S. 229-233.
    9. [9] A. V. Oppenheim und R. W. Schafer, Discrete-Time Signal Processing, 3. Auflage, Upper Saddle River, NJ: Pearson, 2010.
    10. [10] B. D. Kulp, "Digital equalization using Fourier transform techniques," in AES 85th Convention, Los Angeles, CA, Nov. 1988.
    11. [11] F. Wefers und M. Vorländer, "Optimal filter partitions for real-time FIR filtering using uniformly-partitioned FFT-based convolution in the frequency-domain," in Proc. 14. Int. Conf. Digital Audio Effects, Paris, Frankreich, Sept. 2011, S. 155- 161.
    12. [12] W. G. Gardner, "Efficient convolution without input-output delay," J. Audio Eng. Soc., Bd. 43, Nr. 3, S. 127-136, März 1995.
    13. [13] G. Garcia, "Optimal filter partition for efficient convolution with short input/output delay," in 113th AES Convention, Los Angeles, CA, Okt. 2002.
    14. [14] C. Tsakostas und A. Floros, "Real-time spatial representation of moving sound sources," in AES 123th Convention, New York, NY, Okt. 2007.
    15. [15] J. 0. Smith III, Introduction to Digital Filters with Audio Applications. W3K Publishing, 2007. [Online]. Erhältlich: http://ccrma.stanford.edu/-jos/filters/.
    16. [16] C. Müller-Tomfelde, "Time-varying filter in non-uniform block convolution," in Proc. COST G-6 Conf. Digital Audio Effects (DAFX-01), Limerick, Irland, Dez. 2001.
    17. [17] J. 0. Smith III, Mathematics of the Discrete Fourier Transform (DFT). W3K Publishing, 2007. [Online]. Erhältlich: http://ccrma.stanford.edu/-jos/mdft/mdft.html.
    18. [18] R. G. Lyons, Understanding Digital Signal Processing, 3rd ed. Upper Saddle River, NJ: Pearson, 2011.
    19. [19] M.C. Grant und S.P. Boyed, "Graph implementations for nonsmooth convex programs," in Recent Advances in Learning and Control, V. Blondel, S. Boyd, und H. Kimura, Eds., London, UK: Springer, 2008, S. 95-110.
    20. [20] F. Wefers und M. Vorländer. "Optimal Filter Partitions for Non-Uniformly Partitioned Convolution". In: Proc. AES 45th Int. Conf. Espoo, Finland, März 2012, S. 324-332.

Claims (18)

  1. Vorrichtung zum Verarbeiten eines zeitdiskreten Signals, mit folgenden Merkmalen:
    einer Prozessorstufe (120), die ausgebildet ist,
    um das Signal, das in einer diskreten Frequenzbereichs-Darstellung vorliegt, mit einem Filter (122) mit einer Filtercharakteristik durch Multiplikation mit einer Übertragungsfunktion zu filtern, um ein gefiltertes Signal (123) zu erhalten,
    um das gefilterte Signal (123) oder ein von dem gefilterten Signal abgeleitetes Signal (302) mit einer Frequenzbereichs-Fensterfunktion (124, 124a, 124b, 124c) zu beaufschlagen, um ein gefenstertes Signal zu erhalten, wobei das Beaufschlagen Multiplikationen von Frequenzbereichs-Fensterkoeffizienten der Frequenzbereichs-Fensterfunktion mit Spektralwerten des gefilterten Signals (123) oder des von dem gefilterten Signal abgeleiteten Signals (302), um Multiplikationsergebnisse zu erhalten, und eine Aufsummation der Multiplikationsergebnisse aufweist; und
    einem Umwandler (130) zum Umwandeln des gefensterten Signals (125) oder eines unter Verwendung des gefensterten Signals ermittelten Signals in einen Zeitbereich, um das verarbeitete Signal zu erhalten,
    wobei die Prozessorstufe (120) ferner ausgebildet ist, um das Signal, das in der diskreten Frequenzbereichs-Darstellung vorliegt, unter Verwendung eines weiteren Filters (122b) mit einer weiteren Filtercharakteristik zu filtern, um ein weiteres gefiltertes Signal zu erhalten, um das weitere gefilterte Signal mit einer weiteren Frequenzbereichs-Fensterfunktion (124b) zu beaufschlagen, um ein weiteres gefenstertes Signal zu erhalten, und um das gefensterte Signal und das weitere gefensterte Signal zu kombinieren (200), um ein Kombinationssignal zu erhalten, oder
    wobei die Prozessorstufe (120) ausgebildet ist, um das Signal, das in der diskreten Frequenzbereichs-Darstellung vorliegt, unter Verwendung eines weiteren Filters (122b) mit einer weiteren Filtercharakteristik zu filtern, um ein weiteres gefiltertes Signal zu erhalten, um ein Kombinationssignal (302) aus dem gefilterten Signal und dem weiteren gefilterten Signal zu bilden (300), wobei das von dem gefilterten Signal abgeleitete Signal (302) das Kombinationssignal (302) darstellt, um das Kombinationssignal mit der Frequenzbereichs-Fensterfunktion (124c) zu beaufschlagen, um ein gefenstertes Kombinationssignal zu erhalten, und um das gefensterte Kombinationssignal mit dem gefilterten Signal oder dem weiteren gefilterten Signal zu kombinieren (200).
  2. Vorrichtung nach einem der vorhergehenden Ansprüche,
    bei der die Frequenzbereichs-Fensterfunktion (124a, 124c) oder die weitere Frequenzbereichs-Fensterfunktion (124b) höchstens 15 oder höchstens 8 Koeffizienten ungleich 0 aufweist.
  3. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Prozessorstufe (120) ausgebildet ist, um eine maximale Anzahl von Frequenzbereichs-Fensterkoeffizienten ungleich 0 zu verwenden,
    wobei ein Frequenzbereichs-Fensterkoeffizient für einen Gleichanteil reell ist, und
    wobei Frequenzbereichs-Fensterkoeffizienten für gerade Indizes bezogen auf einen Index des Gleichanteils rein imaginär sind und Frequenzbereichs-Fensterkoeffizienten für ungerade Indizes bezogen auf einen Index des Gleichanteils rein reell sind.
  4. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Prozessorstufe (120) ausgebildet ist, um das Beaufschlagen mit einer Frequenzbereichs-Fensterfunktion unter Verwendung der folgenden Gleichung durchzuführen: Y k = X k W 0 + l C Y l k
    Figure imgb0069
    wobei der Term Y (l)[k] folgendermaßen berechnet wird: Y l k = W r l X r + k l W i l X i k l + j W r l X i + k l + W i l X r k l
    Figure imgb0070
    wobei k ein Frequenzindex ist, wobei I ein ganzzahliger Index ist, wobei C eine Menge von Indizes ist, wobei ein Index I dann in der Menge C enthalten ist, wenn I ungleich 0 ist und der Koeffizient der Frequenzbereichs-Fensterfunktion W[l] von 0 verschieden ist, wobei Wr [l] ein Realteil eines Koeffizienten der Frequenzbereichs-Fensterfunktion ist, wobei Wi [l] ein Imaginärteilkoeffizient der Frequenzbereichs-Fensterfunktion ist, wobei X +[k,l] und X- [k,l] durch folgende Gleichungen berechnet werden: X + k l = X k + l L + X k l L X k l = X k + l L X k l L ,
    Figure imgb0071
    und
    wobei ((k))L K mod L bedeutet, wobei L die Länge der FFT-Blöcke ist, und wobei X[k] Spektralkoeffizienten des Signals sind, das in dem Frequenzbereich vorliegt.
  5. Vorrichtung nach Anspruch 4, bei der für den Fall, dass der Wert der Fensterfunktion W[l] rein reell ist, der Term Y(l) [k] nach folgender Vorschriften berechnet wird: Y l k = W r l X r + k l + j W r l X i + k l
    Figure imgb0072
    oder
    bei der für den Fall, dass der Wert der Fensterfunktion W[l] rein imaginär ist, der Term Y (l)[k] nach folgender Vorschriften berechnet wird: Y l k = W i l X i k l + j W i l X r k l .
    Figure imgb0073
  6. Vorrichtung nach einem der vorhergehenden Ansprüche, die ferner folgende Merkmale aufweist:
    einen Umwandler (110) zum Umwandeln des Signals in eine Frequenzbereichs-Repräsentation, die zur Verwendung mit dem Overlap-Add, Overlap-Save oder partitionierten Faltungsalgorithmus geeignet ist, und
    bei der der Umwandler (130) zum Umwandeln des gefensterten Signals oder eines unter Verwendung des gefensterten Signals ermittelten Signals in den Zeitbereich ausgebildet ist, um unter Verwendung eines Overlap-Add-Algorithmus, eines Overlap-Save-Algorithmus oder eines partitionierten Faltungsalgorithmus zu arbeiten.
  7. Vorrichtung nach einem der vorhergehenden Ansprüche,
    bei der das Zeitbereichs-Signal eine erste Audioquelle (600) beschreibt,
    bei der ein weiteres Zeitbereichs-Signal eine zweite Audioquelle (602) beschreibt,
    bei der das Filter (612) für die erste Audioquelle (600) mit der Filtercharakteristik ausgebildet ist, und das weitere Filter (613) für die erste Audioquelle (600) mit der weiteren Filtercharakteristik ausgebildet ist,
    wobei die Prozessorstufe (120) ferner ausgebildet ist, um unter Verwendung eines dritten Filters (614) und eines vierten Filters (615) für die zweite Audioquelle (602) zu arbeiten, wobei das dritte Filter (614) eine dritte Filtercharakteristik hat, die eine erste Charakteristik der zweiten Audioquelle (602) zu einem ersten Zeitpunkt beschreibt, und wobei das vierte Filter (615) eine vierte Filtercharakteristik hat, die einer zweiten Charakteristik der zweiten Audioquelle (602) zu dem zweiten Zeitpunkt entspricht,
    wobei die Prozessorstufe (120) ferner ausgebildet ist, um unter Verwendung der Frequenzbereichs-Fensterfunktion (620) das erste gefensterte Signal zu berechnen, um unter Verwendung der weiteren Frequenzbereichs-Fensterfunktion (621) das weitere gefensterte Signal zu ermitteln, um unter Verwendung einer dritten Frequenzbereichs-Fensterfunktion (622) ein drittes gefenstertes Signal zu ermitteln, und um unter Verwendung einer vierten Frequenzbereichs-Fensterfunktion (623) ein viertes gefenstertes Signal zu ermitteln, und
    um die gefensterten Signale zu kombinieren (626, 627, 629), um das Kombinationssignal zu erhalten, und
    wobei der Umwandler (630) ausgebildet ist, um das Kombinationssignal in den Zeitbereich umzuwandeln.
  8. Vorrichtung nach einem der vorhergehenden Ansprüche,
    bei der die Prozessorstufe (120) ausgebildet ist, um die Frequenzbereichs-Fensterfunktion (124a) zu verwenden, die im Zeitbereich eine Ausblendungsfunktion (w(1)) ist, und um die weitere Frequenzbereichs-Fensterfunktion (124b) zu verwenden, die im Zeitbereich eine Einblendungsfunktion (w(2)) ist,
    bei der die Prozessorstufe (120) ausgebildet ist, um die Frequenzbereichs-Fensterfunktion (124a) und die weitere Frequenzbereichs-Fensterfunktion (124b) zu verwenden, die eine konstante-Verstärkungs-Eigenschaft zumindest approximieren, wobei eine Summe der ersten Frequenzbereichs-Fensterfunktion (124a) und der weiteren Frequenzbereichs-Fensterfunktion (124b) zu jedem diskreten Zeitpunkt Eins ergibt bzw. Eins zumindest approximiert.
  9. Vorrichtung nach Anspruch 1,
    bei der die Prozessorstufe (120) ausgebildet ist, um als das Kombinationssignal (302) eine Differenz aus dem gefilterten Signal und dem weiteren gefilterten Signal zu bilden, und bei dem die Prozessorstufe (120) ausgebildet ist, um das gefensterte Kombinationssignal mit dem weiteren gefilterten Signal zu kombinieren (200), um ein kombiniertes Signal zu erhalten, und
    bei dem der Umwandler (130) ausgebildet ist, um das kombinierte Signal oder ein Signal, das aus weiteren Signalen zusätzlich zu dem kombinierten Signal besteht, in den Zeitbereich umzuwandeln.
  10. Vorrichtung nach einem der vorhergehenden Ansprüche,
    bei der die Prozessorstufe (120) ausgebildet ist, um die Frequenzbereichs-Fensterfunktion, die weitere Frequenzbereichs-Fensterfunktion oder noch weitere Frequenzbereichs-Fensterfunktionen zu verwenden, die eine Überblendfunktion oder eine Verstärkungsänderungsfunktion im Zeitbereich darstellen.
  11. Vorrichtung nach einem der vorhergehenden Ansprüche,
    bei der der Umwandler (130) ausgebildet ist, um lediglich einen Anteil von diskreten Werten zu verwenden und einen anderen Anteil zu verwerfen, wobei der verworfene Anteil L-B diskrete Werte aufweist, wobei L eine Gesamtanzahl der diskreten Werte einer diskreten inversen Fourier-Transformation und B eine Blockgröße bzw. ein Blockvorschub eines partitionierten Faltungsalgorithmus ist, wobei eine zeitliche Länge der Frequenzbereichs-Fensterfunktion (124a, 124c), der weiteren Frequenzbereichs-Fensterfunktion (124b) oder von noch weiteren Frequenzbereichs-Fensterfunktionen gleich der Blockgröße oder einem Vielfachen der Blockgröße ist.
  12. Vorrichtung nach einem der Ansprüche 1 bis 6,
    bei der das Signal, das im Frequenzbereich vorliegt, ein Audiosignal einer Audioquelle (600) an einer ersten Position zu einem ersten Zeitpunkt und an einer zweiten Position zu einem zweiten Zeitpunkt ist,
    bei dem ein weiteres Frequenzbereichs-Signal ein Audiosignal einer weiteren Audioquelle (602) an einer ersten Position zu einem ersten Zeitpunkt und an einer zweiten Position zu einem zweiten Zeitpunkt ist,
    bei der die Prozessorstufe (120) ausgebildet ist, um für jedes Audiosignal die erste Filtercharakteristik (612, 614) und die zweite Filtercharakteristik (613, 615) zu verwenden, wobei die erste Filtercharakteristik (612, 614) eine HRTF-Funktion für die erste Position ist und die zweite Filtercharakteristik (613, 615) eine HRTF-Funktion für die zweite Position ist, und
    wobei die Prozessorstufe (120) ausgebildet ist, um für jedes Audiosignal zwei Frequenzbereichs-Fensterfunktionen (620, 621, 622, 623) oder eine einzige Frequenzbereichs-Fensterfunktion (124c) zu verwenden, und
    wobei die Prozessorstufe (120) ferner ausgebildet ist, um Signale im Frequenzbereich zu kombinieren (626, 627, 628, 629), und
    wobei der Umwandler (130, 630) ausgebildet ist, um ein kombiniertes Signal in den Zeitbereich umzuwandeln, um ein Ohrhörersignal (713) zu erhalten.
  13. Vorrichtung nach einem der Ansprüche 1 bis 6,
    bei der das Frequenzbereichs-Signal ein Audiosignal ist, bei der die erste Filtercharakteristik ein Filter für einen bestimmten Schallwandler (Mikrofon oder Lautsprecher) in einem Schallwandlerarray ist, welches geeignet ist, um in Kombination mit den anderen Schallwandlern des Schallwandlerarrays eine gewünschte erste Richtcharakteristik zu einem ersten Zeitpunkt auszubilden und die zweite Filtercharakteristik ein Filter für einen bestimmten Schallwandler (Mikrofon oder Lautsprecher) in einem Schallwandlerarray ist, welche geeignet ist, um in Kombination mit den anderen Schallwandlern des Schallwandlerarrays eine zweite gewünschte Richtcharakteristik zu einem zweiten Zeitpunkt auszubilden, so dass durch ein Überblenden unter Verwendung der Frequenzbereichs-Fensterfunktion oder einer weiteren Frequenzbereichs-Fensterfunktion die Richtcharakteristik zeitlich verändert wird.
  14. Verfahren zum Verarbeiten eines Signals, mit folgenden Schritten:
    Filtern des Signals, das in einer diskreten Frequenzbereichs-Darstellung vorliegt, mit einem Filter (122) mit einer Filtercharakteristik durch Multiplikation mit einer Übertragungsfunktion, um ein gefiltertes Signal (123) zu erhalten,
    Beaufschlagen des gefilterten Signals (123) oder eines von dem gefilterten Signal abgeleiteten Signals (302) mit einer Frequenzbereichs-Fensterfunktion (124, 124a, 124b, 124c), um ein gefenstertes Signal zu erhalten, wobei das Beaufschlagen Multiplikationen von Frequenzbereichs-Fensterkoeffizienten der Frequenzbereichs-Fensterfunktion mit Spektralwerten des gefilterten Signals (123) oder des von dem gefilterten Signal abgeleiteten Signals (302), um Multiplikationsergebnisse zu erhalten, und eine Aufsummation der Multiplikationsergebnisse aufweist; und
    Umwandeln (130) des gefensterten Signals (125) oder eines unter Verwendung des gefensterten Signals ermittelten Signals in einen Zeitbereich, um das verarbeitete Signal zu erhalten,
    wobei das Signal, das in der diskreten Frequenzbereichs-Darstellung vorliegt, unter Verwendung eines weiteren Filters (122b) mit einer weiteren Filtercharakteristik gefiltert wird, um ein weiteres gefiltertes Signal zu erhalten, wobei das weitere gefilterte Signal mit einer weiteren Frequenzbereichs-Fensterfunktion (124b) beaufschlagt wird, um ein weiteres gefenstertes Signal zu erhalten, und wobei das gefensterte Signal und das weitere gefensterte Signal kombiniert werden (200), um ein Kombinationssignal zu erhalten, oder
    wobei das Signal, das in der diskreten Frequenzbereichs-Darstellung vorliegt, unter Verwendung eines weiteren Filters (122b) mit einer weiteren Filtercharakteristik gefiltert wird, um ein weiteres gefiltertes Signal zu erhalten, wobei ein Kombinationssignal (302) aus dem gefilterten Signal und dem weiteren gefilterten Signal gebildet wird (300), wobei das von dem gefilterten Signal abgeleitete Signal (302) das Kombinationssignal (302) darstellt, wobei das Kombinationssignal mit der Frequenzbereichs-Fensterfunktion (124c) beaufschlagt wird, um ein gefenstertes Kombinationssignal zu erhalten, und wobei das gefensterte Kombinationssignal mit dem gefilterten Signal oder dem weiteren gefilterten Signal kombiniert wird (200).
  15. Vorrichtung zum Verarbeiten eines zeitdiskreten Signals, mit folgenden Merkmalen:
    einer Prozessorstufe (120), die ausgebildet ist,
    um das Signal, das in einer diskreten Frequenzbereichs-Darstellung vorliegt, mit einem Filter (122) mit einer Filtercharakteristik zu filtern, um ein gefiltertes Signal (123) zu erhalten,
    um das gefilterte Signal (123) mit einer Frequenzbereichs-Fensterfunktion (124, 124a, 124b, 124c) zu beaufschlagen, um ein gefenstertes Signal zu erhalten, wobei das Beaufschlagen Multiplikationen von Frequenzbereichs-Fensterkoeffizienten der Frequenzbereichs-Fensterfunktion mit Spektralwerten des gefilterten Signals (123), um Multiplikationsergebnisse zu erhalten, und eine Aufsummation der Multiplikationsergebnisse aufweist; und
    einem Umwandler (130) zum Umwandeln des gefensterten Signals (125) oder eines unter Verwendung des gefensterten Signals ermittelten Signals in einen Zeitbereich, um das verarbeitete Signal zu erhalten,
    wobei die Frequenzbereichs-Fensterfunktion eine zeitlich ansteigende oder zeitlich abfallende Verstärkungseigenschaft hat, und wobei die Prozessorstufe (120) ferner ausgebildet ist, um das gefensterte Signal und das gefilterte Signal mittels eines Kombinierers zu kombinieren, wobei der Kombinierer folgende Merkmale aufweist: einen ersten Multiplizierer (503) zum Multiplizieren des gefensterten Signals mit einem ersten Wert (e-s); einen zweiten Multiplizierer (504) zum Multiplizieren des gefilterten Signals mit einem zweiten Wert (s); und einen Summierer (500) zum Summieren der Multiplizierer-Ausgangssignale.
  16. Vorrichtung nach Anspruch 15, bei der der erste Wert eine Differenz aus einem Verstärkungswert der Frequenzbereichs-Fensterfunktion am Beginn eines Signal-blocks und einem Verstärkungswert der Frequenzbereichs-Fensterfunktion an einem Ende des Signalblocks ist, und bei der der zweite Wert der Verstärkungswert der Frequenzbereichs-Fensterfunktion zu Beginn des Signalblocks ist.
  17. Verfahren zum Verarbeiten eines Signals, mit folgenden Schritten:
    Filtern des Signals, das in einer diskreten Frequenzbereichs-Darstellung vorliegt, mit einem Filter (122) mit einer Filtercharakteristik, um ein gefiltertes Signal (123) zu erhalten,
    Beaufschlagen des gefilterten Signals (123) mit einer Frequenzbereichs-Fensterfunktion (124, 124a, 124b, 124c), um ein gefenstertes Signal zu erhalten, wobei das Beaufschlagen Multiplikationen von Frequenzbereichs-Fensterkoeffizienten der Frequenzbereichs-Fensterfunktion mit Spektralwerten des gefilterten Signals (123), um Multiplikationsergebnisse zu erhalten, und eine Aufsummation der Multiplikationsergebnisse aufweist; und
    Umwandeln (130) des gefensterten Signals (125) oder eines unter Verwendung des gefensterten Signals ermittelten Signals in einen Zeitbereich, um das verarbeitete Signal zu erhalten,
    wobei die Frequenzbereichs-Fensterfunktion eine zeitlich ansteigende oder zeitlich abfallende Verstärkungseigenschaft hat, und wobei das Verfahren ferner folgenden Schritt aufweist: Kombinieren des gefensterten Signals und des gefilterten Signals mittels eines Kombinierers, wobei der Kombinierer folgende Merkmale aufweist: einen ersten Multiplizierer (503) zum Multiplizieren des gefensterten Signals mit einem ersten Wert (e-s); einen zweiten Multiplizierer (504) zum Multiplizieren des gefilterten Signals mit einem zweiten Wert (s); und einen Summierer (500) zum Summieren der Multiplizierer-Ausgangssignale.
  18. Computerprogramm mit einem Programmcode zum Ausführen des Verfahrens nach Anspruch 14 oder 17, wenn der Programmcode auf einem Computer oder Prozessor abläuft.
EP15709184.4A 2014-03-14 2015-03-11 Vorrichtung und verfahren zum verarbeiten eines signals im frequenzbereich Active EP3117631B1 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14159922 2014-03-14
DE102014214143.5A DE102014214143B4 (de) 2014-03-14 2014-07-21 Vorrichtung und Verfahren zum Verarbeiten eines Signals im Frequenzbereich
PCT/EP2015/055094 WO2015135999A1 (de) 2014-03-14 2015-03-11 Vorrichtung und verfahren zum verarbeiten eines signals im frequenzbereich

Publications (2)

Publication Number Publication Date
EP3117631A1 EP3117631A1 (de) 2017-01-18
EP3117631B1 true EP3117631B1 (de) 2020-06-03

Family

ID=54010249

Family Applications (1)

Application Number Title Priority Date Filing Date
EP15709184.4A Active EP3117631B1 (de) 2014-03-14 2015-03-11 Vorrichtung und verfahren zum verarbeiten eines signals im frequenzbereich

Country Status (7)

Country Link
US (2) US10187741B2 (de)
EP (1) EP3117631B1 (de)
JP (1) JP6423446B2 (de)
CN (1) CN106465033B (de)
DE (1) DE102014214143B4 (de)
HK (1) HK1232367A1 (de)
WO (1) WO2015135999A1 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG10201510822YA (en) 2015-12-31 2017-07-28 Creative Tech Ltd A method for generating a customized/personalized head related transfer function
SG10201800147XA (en) 2018-01-05 2019-08-27 Creative Tech Ltd A system and a processing method for customizing audio experience
US10805757B2 (en) 2015-12-31 2020-10-13 Creative Technology Ltd Method for generating a customized/personalized head related transfer function
US10224058B2 (en) 2016-09-07 2019-03-05 Google Llc Enhanced multi-channel acoustic models
US10976461B2 (en) * 2017-10-17 2021-04-13 California Institute Of Technology Sub-surface imaging of dielectric structures and voids via narrowband electromagnetic resonance scattering
US10733998B2 (en) 2017-10-25 2020-08-04 The Nielsen Company (Us), Llc Methods, apparatus and articles of manufacture to identify sources of network streaming services
US10726852B2 (en) * 2018-02-19 2020-07-28 The Nielsen Company (Us), Llc Methods and apparatus to perform windowed sliding transforms
US11049507B2 (en) 2017-10-25 2021-06-29 Gracenote, Inc. Methods, apparatus, and articles of manufacture to identify sources of network streaming services
US10629213B2 (en) 2017-10-25 2020-04-21 The Nielsen Company (Us), Llc Methods and apparatus to perform windowed sliding transforms
JP6950490B2 (ja) * 2017-11-24 2021-10-13 沖電気工業株式会社 フィルタリング装置及びフィルタリング装置のテーブル作成方法
US10390171B2 (en) 2018-01-07 2019-08-20 Creative Technology Ltd Method for generating customized spatial audio with head tracking
WO2019203124A1 (ja) 2018-04-17 2019-10-24 国立大学法人電気通信大学 ミキシング装置、ミキシング方法、及びミキシングプログラム
WO2019203127A1 (ja) 2018-04-19 2019-10-24 国立大学法人電気通信大学 情報処理装置、これを用いたミキシング装置、及びレイテンシ減少方法
WO2019203126A1 (ja) 2018-04-19 2019-10-24 国立大学法人電気通信大学 ミキシング装置、ミキシング方法、及びミキシングプログラム
US10966046B2 (en) * 2018-12-07 2021-03-30 Creative Technology Ltd Spatial repositioning of multiple audio streams
US11418903B2 (en) 2018-12-07 2022-08-16 Creative Technology Ltd Spatial repositioning of multiple audio streams
CN110611522B (zh) * 2019-09-20 2021-05-04 广东石油化工学院 一种利用多正则优化理论的plc信号重构方法和系统
JP7461020B2 (ja) 2020-02-17 2024-04-03 株式会社オーディオテクニカ 音声信号処理装置、音声信号処理システム、音声信号処理方法、およびプログラム
JP7147804B2 (ja) * 2020-03-25 2022-10-05 カシオ計算機株式会社 効果付与装置、方法、およびプログラム
JP2022094048A (ja) * 2020-12-14 2022-06-24 国立大学法人東海国立大学機構 信号較正装置、信号較正方法およびプログラム
CN113300992B (zh) * 2021-05-25 2023-01-10 Oppo广东移动通信有限公司 电子设备的滤波方法、滤波装置、存储介质及电子设备
CN113541648B (zh) * 2021-07-01 2024-06-18 大连理工大学 一种基于频域滤波的优化方法
CN113659962A (zh) * 2021-08-03 2021-11-16 青岛迈金智能科技有限公司 一种盘爪踏频计及用于盘爪踏频计的参数优化方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2667508A2 (de) * 2012-05-21 2013-11-27 STMicroelectronics Inc Verfahren und Vorrichtung zur effizienten Frequenzdomänenimplementierung von zeitvariablen Filtern

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19814971A1 (de) * 1998-04-03 1999-10-07 Daimlerchrysler Aerospace Ag Verfahren zur Störbefreiung eines Mikrophonsignals
JP3805929B2 (ja) * 1999-07-05 2006-08-09 パイオニア株式会社 情報記録装置及び情報記録方法
WO2002017488A1 (en) * 2000-08-21 2002-02-28 Koninklijke Philips Electronics N.V. Partitioned block frequency domain adaptive filter
JP4199144B2 (ja) * 2004-03-11 2008-12-17 株式会社東芝 ウェイト関数生成装置、参照信号生成装置、送信信号生成装置、信号処理装置及びアンテナ装置
DE102006017280A1 (de) * 2006-04-12 2007-10-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen eines Umgebungssignals
US8036903B2 (en) * 2006-10-18 2011-10-11 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Analysis filterbank, synthesis filterbank, encoder, de-coder, mixer and conferencing system
WO2009150536A2 (en) * 2008-06-10 2009-12-17 Uti Limited Partnership Signal processing with fast s-transforms

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2667508A2 (de) * 2012-05-21 2013-11-27 STMicroelectronics Inc Verfahren und Vorrichtung zur effizienten Frequenzdomänenimplementierung von zeitvariablen Filtern

Also Published As

Publication number Publication date
WO2015135999A1 (de) 2015-09-17
CN106465033B (zh) 2020-11-06
CN106465033A (zh) 2017-02-22
DE102014214143B4 (de) 2015-12-31
JP2017513052A (ja) 2017-05-25
US10257640B2 (en) 2019-04-09
US10187741B2 (en) 2019-01-22
US20170048641A1 (en) 2017-02-16
US20180199145A1 (en) 2018-07-12
EP3117631A1 (de) 2017-01-18
JP6423446B2 (ja) 2018-11-14
HK1232367A1 (zh) 2018-01-05
DE102014214143A1 (de) 2015-09-17

Similar Documents

Publication Publication Date Title
EP3117631B1 (de) Vorrichtung und verfahren zum verarbeiten eines signals im frequenzbereich
EP2189010B1 (de) Eine vorrichtung und ein verfahren zur ermittlung eines komponentensignals in hoher genauigkeit
EP1854334B1 (de) Vorrichtung und verfahren zum erzeugen eines codierten stereo-signals eines audiostücks oder audiodatenstroms
DE602004001868T2 (de) Verfahren zum bearbeiten komprimierter audiodaten zur räumlichen wiedergabe
US7487097B2 (en) Advanced processing based on a complex-exponential-modulated filterbank and adaptive time signalling methods
DE102006050068B4 (de) Vorrichtung und Verfahren zum Erzeugen eines Umgebungssignals aus einem Audiosignal, Vorrichtung und Verfahren zum Ableiten eines Mehrkanal-Audiosignals aus einem Audiosignal und Computerprogramm
EP2036400B1 (de) Erzeugung dekorrelierter signale
DE102006047197B3 (de) Vorrichtung und Verfahren zum Verarbeiten eines reellen Subband-Signals zur Reduktion von Aliasing-Effekten
EP3069530B1 (de) Verfahren und vorrichtung zum komprimieren und dekomprimieren von schallfelddaten eines gebiets
EP2891334B1 (de) Erzeugung von mehrkanalton aus stereo-audiosignalen
DE102010030534A1 (de) Vorrichtung zum Veränderung einer Audio-Szene und Vorrichtung zum Erzeugen einer Richtungsfunktion
EP2656633B1 (de) Vorrichtung und verfahren zum berechnen von lautsprechersignalen für eine mehrzahl von lautsprechern unter verwendung einer verzögerung im frequenzbereich
WO2014187877A2 (de) Mischpult, tonsignalerzeuger, verfahren und computerprogramm zum bereitstellen eines tonsignals
DE19715498A1 (de) Stereobildverbesserungsvorrichtung und -verfahren unter Verwendung von Tabellen
WO2007118533A1 (de) Vorrichtung und verfahren zum erzeugen eines umgebungssignals
EP2939445B1 (de) Erzeugung von 3d-audiosignalen
CH703771A2 (de) Vorrichtung und Verfahren zur zeitlichen Auswertung und Optimierung von stereophonen oder pseudostereophonen Signalen.
EP2357854B1 (de) Verfahren und Vorrichtung zur Erzeugung individuell anpassbarer binauraler Audiosignale
DE112006002548T5 (de) Vorrichtung und Verfahren zur Wiedergabe von virtuellem Zweikanal-Ton
DE102020100131A1 (de) Verfahren zur Verarbeitung eines Mehrkanal-Audiosignals
DE102017121876A1 (de) Verfahren und vorrichtung zur formatumwandlung eines mehrkanaligen audiosignals
Jancovich SAMPLE LIBRARY PREPARATION TOOL

Legal Events

Date Code Title Description
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: 20160829

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

AX Request for extension of the european patent

Extension state: BA ME

RIN1 Information on inventor provided before grant (corrected)

Inventor name: FRANCK, ANDREAS

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20171009

REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1232367

Country of ref document: HK

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

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

Free format text: STATUS: GRANT OF PATENT IS INTENDED

INTG Intention to grant announced

Effective date: 20191218

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

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

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

RBV Designated contracting states (corrected)

Designated state(s): AL AT BE BG CH CY CZ 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

REG Reference to a national code

Ref country code: DE

Ref legal event code: R108

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ 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

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

Ref country code: AT

Ref legal event code: REF

Ref document number: 1278334

Country of ref document: AT

Kind code of ref document: T

Effective date: 20200615

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200903

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200904

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20200603

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200903

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20201006

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20201003

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

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

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

26N No opposition filed

Effective date: 20210304

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20210331

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210331

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210311

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210331

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210311

REG Reference to a national code

Ref country code: AT

Ref legal event code: MM01

Ref document number: 1278334

Country of ref document: AT

Kind code of ref document: T

Effective date: 20210311

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210331

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210311

REG Reference to a national code

Ref country code: GB

Ref legal event code: 732E

Free format text: REGISTERED BETWEEN 20230112 AND 20230118

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20150311

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200603

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20240320

Year of fee payment: 10

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20240321

Year of fee payment: 10