WO2013104529A1 - Vorrichtung und verfahren zum berechnen von lautsprechersignalen für eine mehrzahl von lautsprechern unter verwendung einer verzögerung im frequenzbereich - Google Patents

Vorrichtung und verfahren zum berechnen von lautsprechersignalen für eine mehrzahl von lautsprechern unter verwendung einer verzögerung im frequenzbereich Download PDF

Info

Publication number
WO2013104529A1
WO2013104529A1 PCT/EP2012/077075 EP2012077075W WO2013104529A1 WO 2013104529 A1 WO2013104529 A1 WO 2013104529A1 EP 2012077075 W EP2012077075 W EP 2012077075W WO 2013104529 A1 WO2013104529 A1 WO 2013104529A1
Authority
WO
WIPO (PCT)
Prior art keywords
short
loudspeaker
delay
filter
stage
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.)
Ceased
Application number
PCT/EP2012/077075
Other languages
English (en)
French (fr)
Inventor
Andreas Franck
Michael Rath
Christoph SLADECZEK
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 Foerderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Foerderung 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 Foerderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Priority to EP12816679.0A priority Critical patent/EP2656633B1/de
Priority to JP2014551566A priority patent/JP5969627B2/ja
Publication of WO2013104529A1 publication Critical patent/WO2013104529A1/de
Priority to US14/329,457 priority patent/US9666203B2/en
Anticipated expiration legal-status Critical
Priority to US15/603,946 priority patent/US10347268B2/en
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers
    • H04R3/12Circuits for transducers for distributing signals to two or more loudspeakers
    • 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/04Speech 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 predictive techniques
    • G10L19/26Pre-filtering or post-filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS
    • H04R29/00Monitoring arrangements; Testing arrangements
    • H04R29/001Monitoring arrangements; Testing arrangements for loudspeakers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS
    • H04R2430/00Signal processing covered by H04R, not provided for in its groups
    • H04R2430/03Synergistic effects of band splitting and sub-band processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/07Synergistic effects of band splitting and sub-band processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/13Application of wave-field synthesis in stereophonic audio systems

Definitions

  • the present invention relates to an apparatus and a method for calculating loudspeaker signals for a plurality of loudspeakers using a frequency-domain filter, such as a wavefield synthesizer receiver and a method of operating such a device.
  • a frequency-domain filter such as a wavefield synthesizer receiver
  • WFS Wave Field Synthesis
  • WFS The basic idea of WFS is based on the application of Huygens' principle of wave theory: every point, which is detected by a wave, is the starting point of an elementary wave, which spreads in a spherical or circular manner. Applied to the acoustics can be simulated by a large number of speakers, which are arranged side by side (a so-called speaker array), any sound field. For this purpose, the audio signal of each speaker is generated by the application of a so-called. WFS operator from the audio signal of the source. In the simplest case, eg when reproducing a point source and a linear loudspeaker array, the WFS operator corresponds to an amplitude scaling and a time delay of the input signal. The application of this amplitude scaling and time delay is hereafter referred to as Scale & Delay.
  • a time delay and an amplitude scaling can be applied to the audio signal of each loudspeaker so that the radiated sound fields of the individual loudspeakers are properly superimposed.
  • the contribution to each speaker is calculated separately for each source and the resulting signals added together. If the sources to be reproduced are in a room with reflective walls, reflections must also be reproduced as additional sources via the loudspeaker array. The cost of the calculation therefore depends heavily on the number of sound sources, the reflection characteristics of the recording room and the number of speakers.
  • the advantage of this technique is in particular that a natural spatial sound impression over a large area of the playback room is possible.
  • the direction and distance of sound sources are reproduced very accurately.
  • virtual sound sources can even be positioned between the real speaker array and the listener.
  • wavefield synthesis provides good results if the assumptions assumed in theory, such as ideal loudspeaker characteristics, regular, gapless loudspeaker arrays or free-field conditions for sound propagation are at least approximately fulfilled. In practice, however, these conditions are often violated, for.
  • wave field synthesis offers the possibility of eliminating the reflection from this wall by impressing on the loudspeaker a signal of opposite amplitude to the reflection signal in addition to the original audio signal, so that the compensating direction on the wave extinguishes the reflection wave, so that the reflection from this wall in the environment, which is considered, is eliminated.
  • This can be done by first computing the impulse response of the environment and determining the nature and position of the wall based on the impulse response of that environment.
  • the sound reflected by the wall is represented by an additional WFS sound source, a so-called mirror sound source, the signal of which is generated by filtering and delaying from the original source signal.
  • Wave field synthesis thus allows a correct mapping of virtual sound sources over a large playback area. At the same time it offers the sound engineer and sound engineer new technical and creative potential in the creation of even complex soundscapes.
  • Wave field synthesis as developed at the TU Delft in the late 1980s, represents a holographic approach to sound reproduction. The basis for this is the KirchJioff-Helmholtz integral. This implies that any sound fields within a closed volume by means of a distribution of mono Pole and Dipolschallqucllen (speaker arrays) can be generated on the surface of this volume.
  • a synthesis signal is calculated for each loudspeaker of the loudspeaker array, the synthesis signals being designed in amplitude and delay such that a wave resulting from the superimposition of the individual the sound wave present in the loudspeaker array will correspond to the wave that would result from the virtual source at the virtual position if that virtual source at the virtual position were a real source with a real position.
  • multiple virtual sources exist at different virtual locations.
  • the computation of the synthesis signals is performed for each virtual source at each virtual position so that typically a virtual source results in synthesis signals for multiple speakers. Seen from a loudspeaker, this loudspeaker thus receives several synthesis signals, which go back to different virtual sources. A superimposition of these sources, which is possible on the basis of the linear superposition principle, then yields the playback signal actually emitted by the loudspeaker.
  • the source / loudspeaker combination must also take into account the convolution of the input signal with a special filter, which then usually exceeds the effort required for existing systems.
  • the object of the present invention is to provide an efficient concept for calculating loudspeaker signals for a plurality of loudspeakers using audio sources.
  • a loudspeaker signal calculation apparatus according to claim 1, a loudspeaker signal calculating method according to claim 18 or a computer program according to claim 19.
  • the present invention is advantageous in that it provides an efficient concept through the combination of an out-of-order stage, a memory, a memory access control stage, a filter stage, a summer stage, and a back-transformation stage the number of round-trip transformation calculations need not be made for each individual audio source / speaker combination, but only for each individual audio source.
  • the return transformation does not have to be calculated for each individual audio signal / loudspeaker combination, but only for the number of loudspeakers.
  • the number of Hin-Transform calculations is equal to the number of audio sources and the number of reverse-transformation calculations is equal to the number of loudspeaker signals or loudspeakers to be driven when a loudspeaker signal drives a loudspeaker.
  • the introduction of the delay in the frequency domain is achieved by a memory access control in an efficient manner by advantageously exploiting the feed used in the transformation based on a delay value for an audio signal / loudspeaker combination.
  • the out-transformation stage provides a sequence of short-term spectra stored in the memory for each audio signal.
  • the memory access control thus has access to a sequence of chronological successive short-term spectra. Based on the delay value, the short-term spectrum from the sequence of short-term spectra is then selected for an audio signal / loudspeaker combination which best matches the delay value supplied by, for example, a wave field synthesis operator.
  • the feed value in the calculation of the individual blocks of a short-term spectrum to the next short-term spectrum is 20 ms
  • the Weifeldfeldsynthese operator requires a delay of 100 ms
  • this entire delay can be easily implemented by the fact that for the considered audio signal speaker combination not the youngest short-term spectrum in the Spei
  • the device according to the invention is already able to implement a delay solely on the basis of the stored short-term spectra in a specific grid which is determined by the feed.
  • this grid is already sufficient for a particular application, no further action is required, but if a finer delay control is needed, it can also be implemented in the frequency domain by using a filter in the filter stage to filter a particular short-term spectrum whose impulse response has been manipulated with a certain number of zeros at the beginning of the filter impulse response.
  • a finer deceleration processing can be achieved, which now does not take place as in the memory access control in terms of the block feed, but now much finer in terms of a sampling period, ie the temporal Distance between two samples.
  • it can also be implemented in the filter stage by implementing the impulse response, which has already been supplemented with zeros, using a fractional delay filter.
  • all the necessary delay values can thus be implemented in the frequency domain, that is, between the Hin transformation and therut transformation, wherein the largest proportion of the delay is achieved simply by a memory access control, in which case a granulation according to the block Feed is achieved or according to the duration corresponding to a block feed. If finer delays are needed, this finer delay is implemented by modifying the filter impulse response for each audio signal / speaker combination in the filter stage to insert zeros at the beginning of the impulse response.
  • the present invention is particularly suitable for static sources because the static virtual sources also have static delay values for each audio-signal-speaker combination. Therefore, for every position of a virtual source the memory access control will be fixed.
  • the impulse response for the particular loudspeaker audio signal combination in each individual block of the filter stage can be pre-set before the actual rendering algorithm is executed. For this purpose, the actually required for this audio signal speaker combination impulse response is changed so that a corresponding number of zeros at the beginning of the impulse response is inserted in order to achieve a finely resolved delay. Then this impulse response is transformed into the spectral range and stored there in a single filter. In the actual wave field synthesis rendering calculation, it is then always possible to resort to stored transfer functions of the individual filters in the individual filter blocks.
  • a preferred wave field synthesis renderer device or a preferred method for operating a wave field synthesis renderer device comprises N virtual sound sources, which supply sampling values for the source signals x 0 ... XN-I, and a signal processing unit, comprising the source signals x 0 ... X - I sampling values for M
  • each source signal xo... XN-I having a plurality of FFT calculation blocks of block length I, into which spectra are transformed, where the FFT calculation blocks have an overlap of length (LB) and a length B feed each other, each spectrum is multiplied by the respective filter spectra of the same source from which the spectra are generated, accessing the spectra such that the speakers are each driven with a predetermined delay, which corresponds to an integer multiple of the feed B, all spectra of the same speaker i are added, from which the spectra Q; and each spectrum Q is transformed into the sampling values for the M loudspeaker signals yo ...
  • the block-by-block shift of the individual spectra may be exploited to delay the speaker signals through a targeted access to the spectra. y to produce M-1 .
  • the computational effort for this delay depends only on the targeted access to the spectra, so that no additional computing power is required for the introduction of delays, as long as the delay corresponds to an integer multiple of the feed B.
  • the invention thus relates to the wave field synthesis of Richteten sound sources or sound sources with directional characteristics.
  • WFS setups which consist of multiple virtual sources and a large number of speakers, the need to apply individual FIR filters for each combination of virtual source and loudspeaker often prevents easy implementation.
  • the invention proposes an efficient processing structure based on frequency techniques.
  • Combining the components of a fast convolution algorithm into the structure of a WFS rendering system enables the efficient reuse of operations and intermediate results, and thus a significant increase in efficiency.
  • the potential acceleration increases with the number of virtual sources and speakers, significant savings are also made for moderate-size WFS assemblies.
  • the performance gains are relatively consistent for a wide variety of parameter choices for the filter size and block delay value.
  • the handling of time delays which is an inherent requirement of sound reproduction techniques, such as e.g. WFS requires a modification of the overlap-save technique. This is efficiently solved by partitioning the delay value and using frequency-domain delay lines or frequency-line-implemented delay lines.
  • the invention is thus not limited to the processing of directional sound sources or directional sound sources in the WFS, but is also applicable to other processing tasks that use massive multi-channel filtering with optional time delays.
  • the generation of the spectra takes place according to the overlap-save method.
  • the overlap save method is a fast folding method.
  • the input sequence xo ... XN-I decomposed into overlapping subsequences. From the formed periodic folding products (cyclic Convolution), then those parts are taken which agree with the aperiodic, fast convolution.
  • the filter spectra are transformed by means of an FFT from time-discrete impulse responses.
  • the filter spectra can be provided before the actual execution of the time-critical calculation steps, so that the calculation of the filter spectra does not influence the time-critical part of the calculation.
  • each impulse response is preceded by a number of zeros in such a way that the loudspeakers are each actuated with a predetermined delay, which corresponds to the number of zeros. In this way, delays can be realized that do not correspond to an integer multiple of the feed B.
  • the desired delay is divided into two parts: The first part is an integer multiple of the feed B, while the second part represents the remainder. This second fraction is thus inevitably smaller than the feed B in the case of such a decomposition.
  • FIG. 1a is a block diagram of a loudspeaker signal calculating apparatus according to an embodiment of the present invention
  • FIG. 1 b shows an overview representation for determining the delays to be applied by the memory access controller and the filter stage;
  • FIG. 1 b shows an overview representation for determining the delays to be applied by the memory access controller and the filter stage;
  • Fig. 1c is an illustration of a preferred implementation of the filter stage to obtain a filtered short-term spectrum when a new delay value is to be set;
  • FIG. I d is an overview of the overlap save method in the context of the present invention
  • FIG. 11 is an overview of the overlap-add method in the context of the present invention
  • FIG. 2 shows the basic structure of the signal processing when using a WFS rendering system without frequency-dependent filtering by means of delay and amplitude scaling (scale & delay) in the time domain;
  • Fig. 6 is a comparative representation of the computational effort for various reasons.
  • Fig. 7 shows the geometry of the terms used in this document
  • Fig. 8a shows an impulse response for an audio signal-loudspeaker combination
  • Fig. 8b is an impulse response for an audio signal speaker combination after the
  • 1 a shows a device for calculating loudspeaker signals for a plurality of loudspeakers, which may for example be arranged at predetermined positions in a reproduction room, using a plurality of audio sources, an audio source having an audio signal 10.
  • the audio signals 10 are supplied to a down-conversion stage 100, which is designed to perform a block-by-block transformation of each audio signal into a spectral range, so that a plurality of temporally successive short-term spectra are obtained for each audio signal.
  • a memory 200 is provided, which is designed to store a number of temporally successive short-term spectra for each audio signal.
  • each short-term spectrum of the plurality of short-term spectra may be associated with a time-increasing time value, and the memory then stores the temporally-consecutive short-term spectra for each audio signal in association with the time values.
  • the short-term spectra in the memory do not have to be arranged in chronological succession here. Instead, the short-term spectra, for example, in a RAM memory at any point be stored as long as a memory contents table is present. which identifies which one
  • the memory access control is thus adapted to respond to a particular short-term spectrum of the plurality of short-term spectra for a combination of loudspeaker and audio signal based on a delay value given for that audio-signal-loudspeaker combination is to access.
  • the determined short-term spectra determined by the memory access controller 600 are then applied to a filtering stage 300 for filtering the determined short-term spectra for combinations of audio signals and loudspeakers to perform filtering with a filter provided for the respective audio signal and loudspeaker combination for each Such a combination of audio signal and Lautspreeher to obtain a series of filtered short-term spectra.
  • the filtered short-term spectra are then fed from the filter stage 300 to a summing stage 400 to sum the filtered short-term spectrum for a loudspeaker such that a summed short-term spectrum is obtained for each loudspeaker.
  • the accumulated short-term spectra are then fed to a re-transform stage 800 for block-wise inverse-transforming the summed short-term spectra for the loudspeakers to obtain the short-term spectra in a time range from which the loudspeaker signals can be determined.
  • the loudspeaker signals are thus output from the back-transformation stage 800 at an output 12.
  • the delay values 701 are provided by a Wave Field Synthesis Operator (WFS) operator 700 in each embodiment of the invention in which the device is a wave field synthesizer, for each individual combination of audio signal and loudspeaker dependent on source positions transmitted through an input 702, and calculates the delay values 701 depending on the speaker positions, that is, the positions where the speakers are located in the playback room, and which are supplied via an input 703. If the device is designed for a different application than for the wave field synthesis, so z. For example, for an Ambi- sonics implementation or something similar, an element corresponding to the WFS operator 700 will also be present, which calculates delay values for individual loudspeaker signals or calculates delay values for individual audio signal loudspeaker combinations.
  • WFS Wave Field Synthesis Operator
  • the WFS operator 700 will calculate not only the delay values but also scaling values, which typically can also be considered in the filter stage 300 by a scaling factor. These can therefore be adjusted by scaling the filters used in filter stage 300. coefficients without causing additional calculation effort.
  • the memory access controller 600 may therefore be configured in a particular implementation to obtain delay values for various combinations of audio signal and loudspeaker, and to calculate an access value to the memory for each combination, as further illustrated with respect to FIG. 1b becomes. Accordingly, as also illustrated with reference to FIG. 1b, the filter stage 300 may be configured to obtain delay values for various combinations of the audio signal and the loudspeaker to calculate therefrom a number of zeros to be included in the impulse responses for the audio signal individual audio signals / speaker combinations must be considered.
  • the filter stage 300 is therefore configured to implement a finer granularity delay in multiples of the sample period, while the memory access controller 600 is configured to provide, by efficient memory access, delays in the granularity of the feed B resulting from the forward transform Level is applied to implement.
  • FIG. 1b shows a sequence of functionalities that are dependent on the elements 700, 600, 300 of FIG.
  • Fig. 1 a can be executed.
  • the WFS operator 700 is configured to provide a delay value D, as shown in step 20 in FIG. 1b.
  • the memory access controller 600 will divide the delay value D into a multiple of the block size or the feed B and a remainder.
  • the delay value D is equal to the product of the feed B and the multiple D b and the remainder.
  • the multiple D b on the one hand and the remainder D r on the other hand can also be calculated by performing an integer division, and Although an integer division of the time duration corresponding to the delay value D and the duration corresponding to the feed B. The result of the integer division is then D b and the remainder of the integer division is D r .
  • the memory access controller 600 performs in step 22, instead of a controller of the memory access with the multiple of D b, as it will be explained with reference to FIG. 9 in more detail.
  • the delay D b is thus efficiently implemented in the frequency domain because it is simply implemented by random access to a particular stored short-term spectrum selected according to the delay value or the multiple Dt.
  • the remainder D r is a multiple of the sample code T A and a remainder Divided IV. The sampling period T A , which will be explained in more detail with reference to FIGS.
  • step 8a and 8b represents the sampling period between two values of the impulse response typically associated with the sampling period of the discrete audio signals at the input 10 of the out-of-step stage 100 of FIG. 1 matches.
  • the multiple D A of the sampling period T A is then used in a step 24 to control the filter by inserting DA zeros into the impulse response of the filter.
  • the delay achieved by controlling the filter in step 24 may be considered a delay in the "time domain," although due to the particular implementation of the filter stage, this delay in the frequency domain is due to the particular short-term spectrum read from memory 200
  • the total delay is divided into three blocks, as shown at 26 in Figure 1 b, the first block is the time duration corresponding to the product of D b , thus corresponds to the multiple of the block size with the block size.
  • the second delay block is the multiple DA of the sampling period T a, ie a period corresponding to this product DA X T.
  • Thereupon still remains a fractional delay delay or a delay radical IV. IV is smaller than T A
  • D A XT a is smaller than B, which is directly due to the two partition equations beside the blocks 21 and 23 in Fig. 1 b results.
  • FIG. 1c a preferred implementation of the filter stage 300 will be referred to.
  • an impulse response is provided for an audio signal-speaker combination. Especially for directional sound sources you will for each
  • a step 31 the number of zeroes to be inserted, ie the value D A is determined, as has been illustrated by step 23 in Fig. Lb. Then, in a step 32, a number of zeroes equal to D A are inserted in the impulse response at the beginning of the impulse response to obtain a modified impulse response.
  • FIG. 8a shows an example of a pulse generator that is too short in comparison to a real application. tword h (t), which has a first value in the sample 3.
  • a sound response spaced at T A that is, the sampling period which is equal to the inverse of the sampling frequency.
  • the impulse response shown in Fig. 8b is thus an impulse response as obtained in step 32.
  • a transformation of this modified impulse response that is to say the impulse response according to FIG.
  • a spectrally-value-wise multiplication of the determined short-term spectrum that is to say the short-term spectrum which has been read from the memory due to Db and thus determined, is carried out with the transformed modified impulse response obtained in step 33 Finally, to obtain a filtered short-term spectrum.
  • the out-of-step stage 100 is configured to determine the sequence of short-term spectra with the feed B from a sequence of temporal samples, such that a first sample of a first block of time samples converted into a short-term spectrum are spaced from a first sample of a second subsequent block of temporal samples by a number of samples equal to the feed value.
  • the feed value is thus defined by the respective first sample value of the new block, this feed value, as will be explained with reference to FIGS. 1 d and 1 e, both for the overlap-save method and for the overlap-add Method is present.
  • a time value associated with a short-term spectrum is preferably stored as a block index which indicates how many advance values the first sample of the short-term spectrum is temporally distant from a reference value.
  • the reference value is z.
  • the memory access means is preferably configured to determine the determined short-term spectrum based on the delay value and the time value of the determined short-term spectrum such that the time value of the determined short-term spectrum equals the integer result of a division from the time duration corresponding to the delay value and the time duration, which corresponds to the feed value is or is greater by one.
  • the integer result used which is always smaller than the actually required delay.
  • the above implementation with rounding will be useful when delay is applied only with the granulation of a block length, ie when no finer delay is achieved by inserting zeroes in an impulse response. If, on the other hand, a finer delay is achieved by inserting zeroes into an impulse response, the block offset is rounded and not rounded up to determine the block offset.
  • FIG. 9 shows a special memory 300 having an input interface 250 and an output interface 360.
  • the audio signal 1 the audio signal 2, the audio signal 3 and the audio signal 4 is stored in the memory.
  • a temporal sequence of short-term spectra with exemplary seven short-term spectra.
  • the spectra are read into the memory so that there are always seven short-term spectra in the memory and then, when the memory is filled and another new short-term spectrum is introduced into the memory, the corresponding short-term spectrum "drops out" at the output 260 of the memory.
  • This dropping out is implemented by overwriting the memory cells, for example, or by appropriately reordering the indices to the individual memory arrays, and is illustrated accordingly for illustration purposes only in Figure 9.
  • the access control accesses via an access control line 265 to read out certain memory fields, ie, certain short term spectra then be delivered via a readout output 267 to the filter stage 300 of Fig. 1 a.
  • a particular exemplary access control could be, for example, for the implementation of FIG. 4, and there for certain OS blocks, as shown in FIG for certain audio signal speaker combinations corresponding short-term spectra of the audio signals at the corresponding time value, which is a multiple of B in Fig. 9 at 269, read.
  • the delay value could be such that a delay of two feed lengths 2B is required for the combination OS 301.
  • no delay ie a delay of 0 through the delay value, could be required for the combination OS 304, while a delay of five feed values, ie 5B, is demanded for OS 302, as shown in FIG.
  • the memory access control 265 would read out according to the table 270 in FIG.
  • the memory depth in the exemplary embodiment shown in FIG. 9 is, for example, seven short-term spectra, so that a delay can be implemented which is at most equal to the time duration corresponding to six feed values B. This means that with the memory in FIG. 9, a value of D b of FIG. 1 b, step 21 of at most 6 can be implemented.
  • the memory may be larger or smaller or deeper or less deep.
  • the filter stage is designed to determine a modified impulse response from an impulse response of a filter provided for the combination of loudspeaker and audio signal, by a number of zeroes are inserted at the beginning of the impulse response, the number of zeros depending on the delay value for the combination of the audio signal and the loudspeaker and the selected specific short-term spectrum for the audio signal and loudspeaker combination.
  • the filter stage is adapted to insert a number of zeros such that a time duration equal to the number of zeros and equal to the value D A may be less than or equal to the remainder of the integer division from the residual value D r and Sampling period TA of Fig. 1b.
  • the impulse response of the filter may be an impulse response to a fractional delay filter configured to achieve a delay according to a fraction of a time between adjacent discrete impulse response values, the fraction equal to the delay value (D-Dt, x B-D A x T A ) of Fig. 1 b, as is also apparent from 26 in Fig. 1b.
  • the memory 200 for each audio source comprises a frequency domain delay line or FDL 201, 202, 203 of FIG. 4, where FDL stands for Frequency Delay Line.
  • the FDL 201, 202, 203 which are also shown schematically in FIG. 9 , allows random access to the short-term spectra stored for the corresponding source or audio signal, with access via a time value or index 269 executable for each short-term spectrum.
  • the down-transformation stage is formed with a number of transformation blocks 101, 102, 103 equal to the number of audio signals.
  • the reverse transformation stage 800 is formed with a number of transformation blocks 101, 102, 103 which is equal to the number of speakers.
  • a frequency range delay line 201, 202, 203 is provided for each audio signal, and further the filter stage is designed such that it has a number of individual filters 301, 302, 303, 304, 305, 306, 307, 308, 309, wherein the number of individual filters is equal to the product of the number of audio sources and the number of speakers.
  • the down-transformation stage 100 and the back-transformation stage 800 are formed according to an overlap-save method, which will be explained below with reference to FIG. 1 d.
  • the overlap save method is a fast folding method.
  • the input sequence is decomposed into overlapping subsequences, as shown at 36 in FIG. 1d. From the formed periodic folding products (cyclic folding) then those parts are taken that match the aperiodic, fast folding.
  • the overlap save method can also be used to efficiently implement higher order FIR filters.
  • the blocks formed in step 36 are then respectively transformed in the out-transformation stage 100 of FIG. 1 a, as illustrated at 37, to obtain the sequence of short-term spectra.
  • the short-term spectra are processed by the entire functionality of the present invention in the spectral domain, as summarized at 38. Further, the processed short-term spectra are again transformed back in a block 800, that is, the back-transformation block, as shown at 39, to obtain blocks of time values.
  • the output signal which results from the convolution of two finite signals, can generally be divided into three parts, the transient response, the stationary behavior and the decay behavior.
  • the input signal is split into segments and each segment is individually folded using the cyclic convolution with a filter.
  • the partial convolutions are then reassembled, with the decay region of each of these partial convolutions now overlapping the subsequent convolution result and thereby disturbing it.
  • both the out-transformation stage 100 and the back-transformation stage 800 may be configured to perform an overlap-add process.
  • the overlap-add method also referred to as segmented convolution, is also a fast convolution method and is controlled such that an input sequence is split into actually contiguous blocks of samples at a feed B, as shown at 43 , However, these blocks become consecutive overlapping blocks due to the addition of zeros (also referred to as zero-padding) for each block, as shown at 44.
  • the input signal is thus divided into sections of length B, which are then lengthened by zero-padding according to step 44 to bring the result of the convolution operation to a greater length.
  • step 44 the zero-padded blocks produced by step 44 are transformed in a step 45 by the out-of-step stage 100 to obtain the sequence of short-term spectra.
  • processing of the short-term spectra in the spectral region is performed in a step 46, and then back-transforming the processed spectra in a step 47 to obtain blocks of time values.
  • step 48 an overlapping addition of the blocks of time values takes place to obtain a correct result.
  • the results of the individual convolutions are therefore added up where the individual convolution products overlap, and the result of the operation corresponds to the convolution of a theoretically infinitely long input sequence.
  • Transformation stage 800 as a single FFT blocks, as shown in Fig. 4 and I FFT blocks as shown in Fig. 4 also formed.
  • a DFT algorithm ie an algorithm for discrete Fourier transformation, is preferred, which may also deviate from the FFT algorithm.
  • other frequency domain transformation techniques such as discrete sine transform (DST) techniques, may be used.
  • DCT Discrete cosine transformation
  • MDCT modified discrete cosine transformation
  • the device according to the invention is preferably used for a wave field synthesis system, so that there is a world-wide synthesis operator 700 which is designed to be used for any combination of loudspeaker or audio source a virtual position of the audio source and the position of the loudspeaker to calculate the value on whose basis then the memory access controller 600 and the filter stage 300 can work.
  • This frequency-dependent operation requires filtering of the time domain signal for rendering (or "conditioning") of arbitrary signals
  • This filter operation can be implemented as FIR filtering, where the FIR coefficients are determined by suitable design techniques from the frequency-dependent WFS operator.
  • the FI R filter also contains a delay, the main part of the delay (delay) being determined by the signal propagation time between the virtual source and the loudspeaker and thus being frequency independent, ie constant, preferably this frequency dependent delay is used in conjunction with FIG
  • the present invention may also be applied to alternative implementations where the sources are not directional, or where there are only frequency independent delays, or where generally fast convolution, along with a delay of between 2 and 10 times, occurs certain audio signal speaker combinations should be used.
  • the following diagram is an exemplary description of the wave field synthesis process. Alternative descriptions and designs are also known.
  • the sound field of the primary source ⁇ becomes in the region y ⁇ y- L . generated by using a linear distribution of secondary monopole sources along x (black dots).
  • the velocity V- (r, ⁇ ) of the primary source ⁇ at the positions of the secondary sources must be known according to their normal n.
  • is the angular frequency
  • c is the speed of sound
  • H Q 2 (- I r R - r
  • the primary source position to the secondary source position is designated by F.
  • r R is the path from the secondary source to the receiver R.
  • the two-dimensional sound field radiated by a primary source ⁇ with any directional characteristic can be described by expansion into circular harmonics.
  • monopole sources In addition to the synthesis of monopole sources, a common WFS system makes it possible to render planar wavefronts, called plane waves. These may be considered monopole sources arranged at an infinite distance. As in the case of monopole sources, the resulting synthetic operator consists of a static filter, a gain factor, and a time delay.
  • the gain factor A ⁇ ,,.) Depends on the directional characteristic, the orientation and the frequency of the virtual source, as well as the positions of the virtual and secondary sources.
  • the synthesis operator contains a non-trivial filter specific to each secondary source r R , r, a>, a co $ (pG ⁇ co, a) (8)
  • the delay due to the propagation time between virtual and secondary sources can be extracted from (4)
  • a simple window (or frequency scan design) is used here.
  • the desired frequency response (9) is evaluated at ⁇ ' * 1 equidistantly sampled frequency values in the interval 0 ⁇ ⁇ 2 ⁇ .
  • h mn [k] w [k] IDFT ⁇ A D , ⁇ , ⁇ , ⁇ ) ⁇ (10)
  • Fig. 2 shows the principal structure of the signal processing when using a simple WFS operator based on a scale & delay operation. Shown is the signal processing structure of W FS processing systems for the synthesis of basic primary source types.
  • WFS rendering is commonly implemented as a discrete-time processing system. It consists of two general tasks: computation of the synthesis operator and application of this operator to the time-discrete source signals. The latter is referred to below as WFS processing.
  • the effect of the synthetic operator on overall complexity is typically low because it is relatively rarely calculated. If the source properties change only discretely, the operator is calculated as needed. For continuously changing source characteristics, eg in the case of moving sound sources, it is typically sufficient to calculate these values on a coarse grid and to use simple interpolation methods between them.
  • FIG. 2 shows the structure of a typical WFS rendering system with N virtual sources and M loudspeakers.
  • a component signal is calculated for each combination of a virtual source and a loudspeaker, which is represented by a scale-and-delay operation (S & D).
  • the delay value is rounded down to the nearest integer multiple of the sample period and applied to the delay line as an indexed access.
  • more complex algorithms are required to interpolate the source signal at arbitrary positions between samples.
  • FIG. 3 shows the basic structure of the signal processing when using the overlap & save technique.
  • the overlap-save method is a method for fast convolution.
  • the input sequence x [n ] decomposed into overlapping subsequences. From the formed periodic folding products (cyclic folding) then those parts are taken that match the aperiodic, fast folding.
  • the invention proposes a signal processing scheme based on two interacting effects.
  • the first effect relates to the fact that the efficiency of FIR filters can often be increased by using fast convolution methods in the transform domain, such as, e.g. Overlap-Save or Overlap-Add.
  • these algorithms transform segments of the input signal into the frequency domain by fast Fourier transform (FFT) techniques, perform convolution due to frequency domain multiplication, and transform the signal back into the time domain.
  • FFT fast Fourier transform
  • the filter order where transform based filtering becomes more efficient than direct convolution is typically between 1 6 and 50.
  • the forward and inverse FFT operations are the majority of the computational effort.
  • Another embodiment for reducing computational effort utilizes the structure of the WFS processing scheme.
  • every input signal for a large Number of delay and filter operations used is used.
  • the results are summed for a large number of sound sources for each speaker.
  • partitioning the signal processing algorithm which performs common operations only once for each input or output signal, promises great efficiency gains.
  • partitioning of the WFS rendering algorithm provides significant performance improvements for moving sound sources from basic source types.
  • FFT fast Fourier transforms
  • the frequency domain representation is used several times to convolute the individual loudspeaker signal components by an overlap save operation, ie a complex multiplication.
  • the loudspeaker signals are calculated in the frequency domain by accumulating the component signals of all sources.
  • FIG. 4 shows the basic structure of the signal processing when using a frequency domain delay line according to the invention. Shown is a block-based transform domain WFS signal processing scheme. OS stands for overlap-save and FDL stands for Frequency-Domain Delay Line.
  • FIG. 4 shows a specific implementation of the embodiment of FIG. 1 a, which has a matrix-like structure, wherein the out-transformation stage 100 is individual
  • the memory 200 includes various frequency-domain delay lines 201, 202, 203, which are driven via the memory access controller 600, not shown in FIG. 4, for each filter stage 301 -309 To determine the correct Kurzzeitspektram and supply the corresponding filter stage at a specific time, as has been explained with reference to FIG. 9.
  • summer 400 includes schematically summed summers 401-406 and includes reverse transform stage 800 individually. ne IFFT blocks 801, 802, 803 to finally receive the loudspeaker signals.
  • both the blocks 101 -103 and 801-803 are designed to perform the correspondingly necessary processing steps before the actual transformation or after the actual inverse transformation, which are required by rapid Falctig methods, such as the overlap-save method. Method or the overlap-add method.
  • the WFS operator determines a single delay for each source-speaker combination.
  • the proposed signal processing scheme allows for efficient multi-channel convolution, the application of these delays requires detailed consideration.
  • integer-value sample delays can be implemented by accessing a time domain delay line with little effect on overall complexity.
  • a time delay can not be implemented in the same way.
  • any time delay can be readily incorporated into the FIR directivity filter.
  • this approach results in very large filter lengths and hence large FFT block sizes.
  • the latency to form input blocks is unacceptable for many applications due to the blocking delay required for such large FFT sizes.
  • a processing scheme is proposed based on a frequency domain delay line and a partitioning of the delay value. Similar to the conventional overlap save method, the input signal is segmented into overlapping blocks of size L and a feed (or delay block size) of B between adjacent blocks.
  • the blocks are transformed into the frequency domain and are denoted by "[/], where n is the source and / is the block index. These blocks are stored in a structure which allows indexed access of the form X "[l-i] ani the most recent frequency domain blocks.
  • This data structure is conceptually identical to Frequency Domain Delay Lines used in the context of partitioned convolution.
  • the delay value / ) is partitioned into a multiple of the
  • this operation corresponds to prefixing h m k] with D r zeros.
  • the resulting filter is padded with zeroes according to the requirements of the overlap save operation. Thereafter, the frequency-domain filter representation H m d n is obtained by an FFT.
  • the frequency domain representation of the signal component from the source n to the loudspeaker m is calculated as
  • denotes an element-wise complex multiplication.
  • the frequency characteristic of the driving signal for the loudspeaker m is determined by accumulating the corresponding component signals, which is implemented as a complex-valued one
  • the remainder of the algorithm is identical to the usual overlap-save algorithm.
  • the blocks Y m [i] are transformed into the time domain and the speaker drive signals y m [] are formed by clearing a predetermined number of samples from each time domain block.
  • This signal processing structure is shown schematically in FIG.
  • the lengths of the transformed segments and the displacement between adjacent segments follow from the derivation of the conventional overlap-save algorithm.
  • a linear convolution of a segment of length L with a sequence of length / ', L ⁇ P corresponds to a complex multiplication of two frequency domain vectors of size L and yields L-P + 1 output samples.
  • the transformed segments must have a length of
  • FD fractional delay
  • FIR FD filters are considered here, as they can be easily integrated into the proposed algorithm.
  • the residual delay D r is partitioned into an integer part D in , and a bake! 1 delay value d, as is usual in the FD filter design.
  • the integer part is integrated into h m d n [k] by prefixing D int zeros to h mn [k].
  • the fractional delay value is applied to h m d n [k] by convolving it with an FD filter designed for this fractional value d.
  • h m d n [k] increases by the order of magnitude of the FD filter KFD, and the required block size 1 (16) changes
  • the source signal Xk is transformed into overlapping FFT calculation blocks 502 of the lock length L into the spectrums, the FFT calculation blocks having an overlap of the length (L-B) and a feed of the length B with one another.
  • the loudspeaker 51 1 is activated with the access 507 and at the same time the loudspeakers 510, 512 are activated with the access 506, then it appears to the listener that the loudspeaker signals of the loudspeakers 510, 512 are opposite to the loudspeaker signal of the loudspeaker 51 1 are delayed.
  • each individual loudspeaker can be controlled with a delay which corresponds to a multiple of the block feed B. If a further delay is to be provided which is smaller than the block feed B, this can be achieved by zeroing the relevant impulse response of the block Filters that are the subject of the overlap save operation.
  • the performance characteristics of the involved FFT operations differ significantly, depending on the library used, the actual FFT sizes, and the hardware.
  • the memory performance of the hardware used can have a significant impact on the efficiency of the algorithms being compared.
  • the memory requirements for the filter coefficients and the delay line structures cn which are the main sources of memory consumption, are also noted.
  • the main parameters that determine the complexity of a directional sound source processing algorithm are the number of virtual sources N, the number of loudspeakers M, and the filter order of the directional filter ⁇ ' .
  • the displacement between adjacent input blocks also referred to as block delay B
  • the blockwise operation of the fast convolution algorithms introduces an implementation latency of B ⁇ samples.
  • the maximum allowable delay value, referred to as D max given as a number of samples, affects the memory IC required for the delay line structures.
  • linear convolution Three different algorithms are compared: linear convolution, filter-wise fast convolution and the proposed processing structure.
  • the method based on linear convolution carries A ; A / -Zeitbcheimsfaltitch of magnitude K by. This amounts
  • the number of instructions is given for the calculation of one sample for all speakers.
  • the memory requesters are specified as numbers of G 1 eq.
  • the second algorithm calculates the MN FIR filters separately using the overlap-save fast convolution method.
  • a real-valued FFT of size L and an inverse FFT of the same size are performed.
  • a command number of pL ⁇ og2 (L) is assumed for a forward or inverse FFT of size L, where p is a proportionality constant that depends on the actual implementation. For p, a value between 2.5 and 3 can be assumed.
  • Line stores the input signal in blocks of size L, with a shift of B, is the number of memory positions required for a single input signal.
  • Figure 6a shows the complexity as a function of the number of virtual sources N.
  • the efficiency of the filter-wise fast convolution algorithm exceeds that of the linear convolution algorithm by an almost constant factor.
  • the efficiency gain of the proposed algorithm as compared to the filter-wise fast convolution increases as N increases, thereby rapidly achieving a relatively constant ratio.
  • Fig. 6b The influence of the number of speakers is shown in Fig. 6b.
  • the functions are qualitatively very similar to Fig. 6a.
  • the proposed processing structure achieves significant complexity reduction even for small to medium sized speaker configurations.
  • Delay value max 48000, which corresponds to a delay value of one second at a sampling frequency of 48 kHz
  • the linear convolution algorithms require about 2.9 ⁇ 10 6 memory words.
  • the filelated fast convolution algorithm uses about 5.0 x 10 6 floating point memory locations.
  • the increase is due to the size of the precalculated frequency domain filter representations.
  • the proposed algorithm requires about 8.6 ⁇ 10 6 words of memory due to the Frequency Domain Delay Line and the increased block size for the frequency domain representations of the input signal and the filters.
  • the performance improvement of the proposed algorithm as compared to filter-wise fast convolution is gained by an increase in required memory of about 72.7%.
  • the proposed algorithm may be considered as a space-time tradeoff that uses additional memory to store pre-computed results, such as frequency domain representations of the input signal, to allow for more efficient implementation.
  • the additional memory requirements can have a detrimental effect on performance, e.g. due to reduced cache locality.
  • the reduced number of instructions implying a reduced number of memory accesses is likely to minimize this effect. It is therefore necessary to examine and evaluate the performance gains of the proposed algorithm for the intended hardware architecture.
  • the parameters of the algorithm e.g. the FFT block size L or the block delay B are matched to the specific target platform.
  • the method according to the invention can be implemented in hardware or in software.
  • the implementation may be on a non-transitory storage medium, a digital storage medium, in particular a floppy disk or CD with electronically readable control signals, which may be used with a programmable computer system that the process is performed.
  • the invention thus also consists in a computer program product with a program code stored on a machine-readable carrier for carrying out the method when the computer program product runs on a computer.
  • the invention can thus be realized as a computer program with a program code for carrying out the method when the computer program runs on a computer.

Landscapes

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

Description

Vorrichtung und Verfahren zum Berechnen von Lautsprechersignalen für eine Mehrzahl von Lautsprechern unter Verwendung einer
Verzögerung im Frequenzbereich
Beschreibung
Die vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren zum Berechnen von Lautsprechersignalen für eine Mehrzahl von Lautsprechern unter Verwendung einer Filte- rang im Frequenzbereich, wie beispielsweise eine Wellenfeldsynthese-Rcnderer- Vorrichtung sowie ein Verfahren zum Betreiben einer derartigen Vorrichtung.
Im Bereich der Unterhaltungselektronik besteht ein ständiger Bedarf an neuen Technologien und innovativen Produkten. Ein Beispiel ist hier die möglichst realitätsnahe Wieder- gäbe von Audiosignalen.
Verfahren zur mehrkanaligen Lautsprecherwiedergabe von Audiosignalen sind seit vielen
Jahren bekannt und standardisiert. Alle üblichen Techniken besitzen den Nachteil, dass sowohl der Aufstellungsort der Lautsprecher als auch die Position des Hörers dem Übet - tragungsformat bereits eingeprägt sind. Bei falscher Anordnung der Lautsprecher mit Bezug auf den Hörer leidet die Audioqualität deutlich. Ein optimaler Klang ist nur in einem kleinen Bereich des Wiedergaberaums, dem so genannten Sweet Spot, möglich.
Ein besserer natürlicher Raumeindruck sowie eine stärkere Einhüllung bei der Audiowie- dergabe kann mit Hilfe einer neuen Technologie erreicht werden. Die Grundlagen dieser Technologie, die so genannte Wel len feldsynthese (WFS; WFS = Wave-Field Synthesis), wurden an der TU Delft erforscht und erstmals in den späten 80er- Jahren vorgestellt (Ber- khout, A.J.; de Vries, D.; Vogel, P.: Acoustic Control By Wavefield Synthesis. JASA 93, 1993).
Infolge der enormen Anforderungen dieser Methode an Rechnerleistung und Übertragungsraten wurde die Wellenfeldsynthese bis jetzt nur selten in der Praxis angewendet. Erst die Fortschritte in den Bereichen der Mikroprozessortechnik und der Audiocodierung gestatten inzwischen den Einsatz dieser Technologie in konkreten Anwendungen.
Die Grundidee von WFS basiert auf der Anwendung des Huygens'schen Prinzips der Wellentheorie: Jeder Punkt, der von einer Welle erfasst wird, ist Ausgangspunkt einer Elementarwelle, die sich kugelförmig bzw. kreisförmig ausbreitet. Angewandt auf die Akustik kann durch eine große Anzahl von Lautsprechern, die nebeneinander angeordnet sind (einem so genannten Lautsprecherarray), ein beliebiges Schallfeld nachgebildet werden. Dazu wird das Audiosignal eines jeden Lautsprechers durch die Anwendung eines sog. WFS-Operators aus dem Audiosignal der Quelle erzeugt. Im einfachsten Falle, z.B. bei der Wiedergabe einer Punktquelle und einem linearen Lautsprecherarray, entspricht der WFS-Operator einer Amplitudenskalierung und einer Zeitverzö- gerung des Eingangssignals. Die Anwendung dieser Amplitudenskalierung und Zeitverzögerung wird im folgenden als Scale&Delay bezeichnet.
Im dem Fall einer einzelnen wiederzugebenden Punktquelle und einer linearen Anordnung der Lautsprecher, können eine Zeitverzögerang und eine Amplitudenskalierung auf das Audiosignal jedes Lautsprechers angewandt werden, dass sich die abgestrahlten Klangfe!- der der einzelnen Lautsprecher richtig überlagern. Bei mehreren Schallquellen wird für jede Quelle der Beitrag zu jedem Lautsprecher getrennt berechnet und die resultierenden Signale addiert. Befinden sich die wiederzugebenden Quellen in einem Raum mit reflektierenden Wänden, dann müssen auch Reflexionen als zusätzliche Quellen über das Lautsprecherarray wiedergegeben werden. Der Aufwand bei der Berechnung hängt daher stark von der Anzahl der Schallquellen, den Reflexionseigenschaften des Aufnahmeraums und der Anzahl der Lautsprecher ab.
Der Vorteil dieser Technik liegt im Besonderen darin, dass ein natürlicher räumlicher Klangeindruck über einen großen Bereich des Wiedergaberaums möglich ist. Im Gegensatz zu den bekannten Techniken werden Richtung und Entfernung von Schallquellen sehr exakt wiedergegeben. In beschränktem Maße können virtuelle Schallquellen sogar zwischen dem realen Lautsprecherarray und dem Hörer positioniert werden.
Die Anwendung der Wellenfeldsynthese liefert gute , wenn die in der Theorie angenommenen Vorraussetzungen, wie ideale Lautsprechercharakteristik, regelmäßige, lückenlose Lautsprecherarrays oder Freifeldbedingungen für die Schallausbreitung zumindest nähe- rungsweise erfüllt sind. In der Praxis werden diese Bedingungen jedoch häufig verletzt, z.
B, durch unvollständige Lautsprecherarrays oder einen signifikanten Einfluss der Raumakustik. Eine Umgebungsbeschaffenheit kann durch die Impulsantwort der Umgebung beschrieben werden, Dies wird anhand des nachfolgenden Beispiels näher dargelegt. Es wird davon ausgegangen, dass ein Lautsprecher ein Schallsignal gegen eine Wand aussendet, deren Reflexion unerwünscht ist. Für dieses einfache Beispiel würde die Raumkompensation unter Verwendung der Wellen- feldsynthese darin bestehen, dass zunächst die Reflexion dieser Wand bestimmt wird, um zu ermitteln, wann ein Schallsignal, das von der Wand reflektiert worden ist, wieder beim Lautsprecher ankommt, und welche Amplitude dieses reflektierte Schalisignal hat. Wenn die Reflexion von dieser Wand unerwünscht ist, so besteht mit der Wellenfeldsynthese die Möglichkeit, die Reflexion von dieser Wand zu eliminieren, indem dem Lautsprecher ein zu dem Reflexionssignal gegenphasiges Signal mit entsprechender Amplitude zusätzlich zum ursprünglichen Audiosignal eingeprägt wird, so dass die hinlaufende Kompensati- onswelle die Reflexionswelle auslöscht, derart, dass die Reflexion von dieser Wand in der Umgebung, die betrachtet wird, eliminiert ist. Dies kann dadurch geschehen, dass zunächst die Impulsantwort der Umgebung berechnet wird und auf der Basis der Impulsantwort dieser Umgebung die Beschaffenheit und Position der Wand bestimmt wird. Dabei wird der von der Wand zurückgeworfene Schall durch eine zusätzliche WFS-Schallquelle, eine sogenannte Spiegelschallquelle, dargestellt, deren Signal durch Filterung und Verzögerang aus dem ursprünglichen Quellsignal generiert wird.
Wird zunächst die Impulsantwort dieser Umgebung gemessen und wird dann das Kompensationssignal berechnet, das dem Audiosignal überlagert dem Lautsprecher eingeprägt werden muss, so wird eine Aufhebung der Reflexion von dieser Wand stattfinden, derart, dass ein Hörer in dieser Umgebung den Eindruck hat, dass diese Wand überhaupt nicht existiert.
Entscheidend für eine optimale Kompensation der reflektierten Welle ist jedoch, dass die Impulsantwort des Raums genau bestimmt wird, damit keine Über- oder Unterkompensation auftritt.
Die Wellenfeldsynthese ermöglicht somit eine korrekte Abbildung von virtuellen Schallquellen über einen großen Wiedergabebereich. Gleichzeitig bietet sie dem Tonmeister und Toningenieur neues technisches und kreatives Potential bei der Erstellung auch komplexer Klanglandschaften. Die Wellenfeldsynthese, wie sie Ende der 80-er Jahre an der TU Delft entwickelt wurde, stellt einen holographischen Ansatz der Schallwiedergabe dar. Als Grundlage hierfür dient das KirchJioff-Helmholtz-Integral. Dieses besagt, dass beliebige Schallfelder innerhalb eines geschlossenen Volumens mittels einer Verteilung von Mono- pol- und Dipolschallqucllen (Lautsprecherarrays) auf der Oberfläche dieses Volumens erzeugt werden können.
Bei der Wellenfeldsynthese wird aus einem Audiosignal, das eine virtuelle Quelle an einer virtuellen Position aussendet, ein Synthesesignal für jeden Lautsprecher des Lautsprecherarrays berechnet, wobei die Synthesesignale derart hinsichtlich Amplitude und Verzögerung gestaltet sind, dass eine Welle, die sich aus der Überlagerung der einzelnen durch die im Lautsprecherarray vorhandenen Lautsprecher ausgegebenen Schallwelle ergibt, der Welle entspricht, die von der virtuellen Quelle an der virtuellen Position herrühren würde, wenn diese virtuelle Quelle an der virtuellen Position eine reale Quelle mit einer realen Position wäre.
Typischerweise sind mehrere virtuelle Quellen an verschiedenen virtuellen Positionen vorhanden. Die Berechnung der Synthesesignale wird für jede virtuelle Quelle an jeder virtu- eilen Position durchgeführt, so dass typischerweise eine virtuelle Quelle in Synthesesignalen für mehrere Lautsprecher resultiert. Von einem Lautsprecher aus betrachtet empfängt dieser Lautsprecher somit mehrere Synthesesignale, die auf verschiedene virtuelle Quellen zurückgehen. Eine Überlagerung dieser Quellen, die aufgrund des linearen Superpositionsprinzips möglich ist, ergibt dann das von dem Lautsprecher tatsächlich ausgesendete Wie- dergabesignal.
Die Möglichkeiten der Wellenfeldsynthese können umso besser ausgeschöpft werden, je größer die Lautsprecherarrays sind, d. h. umso mehr einzelne Lautsprecher bereitgestellt werden. Damit steigt jedoch auch die Rechenleistung, die eine Wellenfeldsyntheseemheit vollbringen muss, da typischerweise auch Kanalinformationen berücksichtigt werden müssen. Dies bedeutet im Einzelnen, dass von jeder virtuellen Quelle zu jedem Lautsprecher prinzipiell ein eigener Übertragungskanal vorhanden ist, und dass prinzipiell der Fall vorhanden sein kann, dass jede virtuelle Quelle zu einem Synthesesignal für jeden Lautsprecher führt, bzw. dass jeder Lautsprecher eine Anzahl von Synthesesignalen erhält, die gleich der Anzahl von virtuellen Quellen ist.
Wenn insbesondere bei Kinoanwendungen die Möglichkeiten der Wellenfeldsynthese dahingehend ausgeschöpft werden sollen, dass die virtuellen Quellen auch beweglich sein können, so ist zu erkennen, dass aufgrund der Berechnung der Synthesesignale, der Be- rechnung der Kanalinformationen und der Erzeugung der Wiedergabesignale durch Kombination der Kanalinformationen und der Synthesesignale ganz erhebliche Rechenleistungen zu bewältigen sind. Eine weitere wichtige Erweiterung der Wellenfeldsynthese ist die Wiedergabe von virtuellen Schallquellen mit komplexen, frequenzabhängigen Richtcharakteristiken. Für jede
Quell-/Lautsprecherkombination muss hier neben einer Verzögerung auch die Faltung des Eingangssignals mit einem speziellen Filter berücksichtigt werden, was dann den Bereeh- nungsaufwand bei bestehenden Systemen in der Regel übersteigt.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein effizientes Konzept zum Berechnen von Lautsprechersignalen für eine Mehrzahl von Lautsprechern unter Verwendung von Audioquellen zu schaffen.
Diese Aufgabe wird durch eine Vorrichtung zur Berechnung von Lautsprechersignalen gemäß Patentanspruch 1 , ein Verfahren zum Berechnen von Lautsprechersignalen gemäß Patentanspruch 18 oder ein Computer-Programm gemäß Patentanspruch 19 gelöst. Die vorliegende Erfindung ist dahin gehend vorteilhaft, dass sie durch die Kombination einer Hin-Transformations-Stufe, einem Speicher, einer Speicherzugriffssteuerang, einer Filterstufe, einer Summierer stufe und einer Rück-Transformations-Stufe ein effizientes Konzept schafft, das sich dadurch auszeichnet, dass die Anzahl der Hin- und Rück- Transformationsberechnungen nicht für jede einzelne Kombination aus Audioquelle und Lautsprecher durchgeführt werden muss, sondern nur für jede einzelne Audioquelle.
Gleichermaßen muss die R ück-Trans form ati on nicht für jede einzelne Audiosignal- Lautsprecher-Kombination berechnet werden, sondern lediglich für die Anzahl der Lautsprecher. Dies bedeutet, dass die Anzahl der Hin-Transformationsberechnungen gleich der Anzahl der Audioquellen ist und die Anzahl der Rück-Transformationsberechnungen gleich der Anzahl der Lautsprechersignale bzw. der anzusteuernden Lautsprecher ist, wenn ein Lautsprechersignal einen Lautsprecher ansteuert. Besonders vorteilhaft ist ferner, dass die Einführung der Verzögerung im Frequenzbereich durch eine Speicherzugriffssteuerung auf effiziente Art und Weise erreicht wird, indem basierend auf einem Verzögerungswert für eine Audiosignal-Lautsprecher-Kombination der bei der Transformation verwendete Vorschub dazu vorteilhaft ausgenutzt wird. Insbesondere liefert die Hin-Transformations- Stufe für jedes Audiosignal eine Folge von Kurzzeitspektren, die für jedes Audiosignal in dem Speicher gespeichert werden. Die Speicherzugriffssteuerang hat somit Zugriff auf eine Folge von zeitlich aufeinanderfolgenden Kurzzeitspektren. Basierend auf dem Verzö- gerungswert wird dann für eine Audiosignal-Lautsprecher-Kombination das Kurzzeitspektrum aus der Folge von Kurzzeitspektren ausgewählt, das mit dem von beispielsweise einem Wellenfeldsynthese-Operator gelieferten Verzögerungswert am besten übereinstimmt. Wenn beispielsweise der Vorschub- Wert bei der Berechnung der einzelnen Blöcke von einem Kurzzeitspektrum zum nächsten Kurzzeitspektrum 20 ms groß ist, und wenn der Weiienfeldsynthese-Operator eine Verzögerung von 100 ms fordert, dann kann diese gesamte Verzögerung ohne Weiteres dadurch implementiert werden, dass für die betrachtete Audiosignal-Lautsprecher-Kombination nicht das jüngste Kurzzeitspektrum in dem Spei- eher verwendet wird, sondern das ebenfalls gespeicherte fünfte zurückliegende Kurzeitspektrum, Damit ist die erfindungsgemäße Vorrichtung bereits in der Lage, eine Verzögerung allein aufgrund der gespeicherten Kurzzeitspektren in einem bestimmten Raster, das durch den Vorschub bestimmt wird, zu implementieren. Wenn dieses Raster für eine bestimmte Anwendung bereits ausreicht, müssen keine weiteren Maßnahmen getroffen werden, Falls jedoch eine feinere Verzögerungssteuerung nötig ist, kann diese ebenfalls in der Frequenz-Domäne dadurch implementiert werden, dass in der Filterstufe zum Filtern eines bestimmten Kurzzeitspektrums ein Filter verwendet wird, dessen Impulsantwort mit einer bestimmten Anzahl von Nullen am Anfang der Filterimpulsantwort manipuliert worden ist. Damit kann eine feinere V e r zö ger u n g s - Cr ran u 1 i eru n g erreicht werden, die nunmehr nicht, wie bei der Speicherzugriffssteuerung in Zeitdauern gemäß dem Block-Vorschub stattfindet, sondern nunmehr wesentlich feiner in Zeitdauern gemäß einer Abtastperiode, also dem zeitlichen Abstand zwischen zwei Abtastwerten. Wird darüber hinaus eine noch feinere Granulierang der Verzögerung benötigt, so kann diese ebenfalls in der Filterstufe dadurch implementiert werden, dass die Impulsantwort, die bereits mit Nullen ergänzt worden ist, unter Verwendung eines Fractional-Delay-Filters implementiert wird. Bei Ausführungsbeispielen der vorliegenden Erfindung können somit sämtliche nötigen Verzögerungswerte in der Frequenz-Domäne, also zwischen der Hin-Transformation und der RückTransformation implementiert werden, wobei der größte Anteil der Verzögerang einfach durch eine Speicherzugriffssteuerung erreicht wird, wobei hier bereits eine Granulierung gemäß dem Block-Vorschub erreicht wird bzw. gemäß der Zeitdauer, die einem Block- Vorschub entspricht. Falls feinere Verzögerungen nötig sind, wird diese feinere Verzögerung dadurch implementiert, dass in der Filterstufe die Filter-Impulsantwort für jede einzelne Kombination aus Audiosignal und Lautsprecher dahin gehend modifiziert wird, dass am Anfang der Impulsantwort Nullen eingefügt werden. Dies stellt gewissermaßen eine Verzögerung im Zeitbereich dar, die jedoch erfindungsgemäß auf das Kurzzeitspektrum im Frequenzbereich„aufgeprägt" wird, so dass die Verzögerungs-Beaufschlagung mit schnellen Faltungsalgorithmen, wie dem Overlap-Save-Algorithmus oder dem Ovcrlap-Add- Algorithmus im Einklang steht bzw. innerhalb des Rahmens, der durch die Schnelle- Faltung gegeben ist, effizient implementiert werden kann.
Die vorliegende Erfindung ist insbesondere für statische Quellen besonders geeignet, weil die statischen virtuellen Quellen auch statische Verzögerungswert für jede Audiosignal- Lautsprecher-Kombination aufweisen. Daher kann für jede Position einer virtuellen Quelle die Speicherzugriffssteuerung fest eingestellt werden. Darüber hinaus kann die Impulsantwort für die spezielle Lautsprecher-Audiosignal-Kombination in jedem einzelnen Block der Filterstufe bereits vor Ausführung des eigentlichen Rendering-Algorithmus voreingestellt werden. Hierzu wird die eigentlich für diese Audiosignal-Lautsprecher-Kombination geforderte Impulsantwort dahin gehend verändert, dass eine entsprechende Anzahl von Nullen am Anfang der Impulsantwort eingefügt wird, um eine feiner aufgelöste Verzögerung zu erreichen. Hierauf wird diese Impulsantwort in den Spektralbereich transformiert und in einem einzelnen Filter dort abgespeichert. Bei der eigentlichen Wellenfeldsynthese- Rendering-Berechnung kann dann immer auf abgespeicherte Übertragungsfunktionen der einzelnen Filter in den einzelnen Filterblöcken zurückgegriffen werden. Dann, wenn eine statische Quelle von einer Position auf die nächste geht, sind eine Neueinstellung der Speicherzugriffssteuerung und eine Neueinstellung der einzelnen Filter erforderlich, die jedoch z.B. dann, wenn eine statische Quelle von einer Position zur nächsten geht, z.B. in einem Zeitabstand von 10 Sekunden, bereits im Vorausgriff berechnet werden. Die Frequenzbe- reichs-Übertragung Funktionen der einzelnen Filter können somit bereits im Vorgriff ausgerechnet werden, während die statische Quelle noch an ihrer alten Position gerendert wird, so dass dann, wenn die statische Quelle an ihrer neuen Position gerendert werden soll, bereits wieder in den einzelnen Filterstufen abgespeicherte Übertragungsfunktionen vorhanden sind, die aufgrund einer Impulsantwort mit der entsprechenden eingefügten Anzahl von Nullen berechnet worden ist.
Eine bevorzugte Wellenfeldsynthese-Renderer- Vorrichtung bzw. ein bevorzugtes Verfahren zum Betreiben einer Wellenfeldsynthese-Renderer- Vorrichtung umfasst N virtuelle Schallquellen, die Sampling- Werte für die Quellensignale x0 ... XN-I liefern, und eine Sig- nalverarbeitungseinheit, die aus den Quellensignalen x0 ... X - I Sampling- Werte für M
Lautsprechersignale yo ... yu-i erzeugt, wobei in der Signalverarbeitungseinheit für jede Quellen-Lautsprecher-Kombination ein Filterspektrum abgespeichert ist, jedes Quellensignal xo ... XN- I mit mehreren FFT - Berechnungsblöcken der Blocklänge I, in die Spektren transformiert wird, wobei die FFT-Berechnungsblöckc untereinander eine Überlappung der Länge (L-B) und einen Vorschub der Länge B aufweisen, jedes Spektrum mit den zugehörigen Filterspektren der jeweils gleichen Quelle multipliziert wird, woraus die Spektren erzeugt werden, wobei der Zugriff auf die Spektren derart erfolgt, dass die Lautsprecher untereinander jeweils mit einer vorgegebenen Verzögerung angesteuert werden, die einem ganzzahligen Vielfachen des Vorschubs B entspricht, alle Spektren des jeweils gleichen Lautsprechers i aufaddiert werden, woraus die Spektren Q; erzeugt werden, und jedes Spektrum Q, mit einem IFFT-Berecnnungsblock in die Sampling- Werte für die M Lautsprechersignale yo ... ys i-i transformiert wird. Bei einer Implementierung kann die blockweise Verschiebung der einzelnen Spektren, dazu ausgenutzt werden, um durch einen gezielten Zugriff auf die Spektren eine Verzögerung der Lautsprechersignale yo .. . yM- 1 zu erzeugen. Der Rechenaufwand für diese Verzögerung hängt nur von dem gezielten Zugriff auf die Spektren ab, sodass für die Einführung von Verzögerungen keine zusätzliche Rechenleistung benötigt wird, solange die Verzögerung einem ganzzahligen Vielfachen des Vorschubs B entspricht.
Insgesamt betrifft die Erfindung damit die Wellenfeldsynthese von Gerichteten Schallquellen bzw. Schallquellen mit Richtcharakteristik. Für reale Hörszenen und WFS-Aufbauten, die aus mehreren virtuellen Quellen und einer großen Anzahl von Lautsprechern bestehen, verhindert die Notwendigkeit zum Anlegen einzelner FIR-Filter für jede Kombination einer virtuellen Quelle und eines Lautsprechers häufig eine einfache Implementierung.
Um diese schnell ansteigende Komplexität zu verringern, schlägt die Erfindung eine effizi- ente Verarbeitungsstruktur vor, die auf Zei Frequenztechniken basiert. Das Kombinieren der Komponenten eines schnellen Faltungsalgorithmus in die Struktur eines WFS- Aufbereitungssystems ermöglicht die effiziente Wiederverwendung von Operationen und Zwischenergebnissen und somit einen wesentlichen Effizienzanstieg. Obwohl die potenzielle Beschleunigung sich mit der Anzahl virtueller Quellen und Lautsprechern erhöht, wer- den auch für WFS-Aufbauten moderater Größe beträchtliche Einsparungen erreicht. Außerdem sind die Leistungsgewinne relativ beständig für eine große Vielzahl von Parameterauswahlmöglichkeiten für die Filtergrößenordnung und den Blockverzögerungswert. Die Handhabung von Zeitverzögerungen, die eine inhärente Anforderung von Schallwiedergabetechniken, wie z.B. WFS ist, erfordert eine Modifikation der Overlap-Save- Technik. Dies wird effizient gelöst durch Partitionieren des Verzögerungswerts und die Verwendung von Frequency-Domain Delay Lines, bzw. im Frequenzbereich implementierten Verzögerungsleitungen.
Die Erfindung ist damit nicht begrenzt auf das Aufbereiten von Gerichteten Schallquellen bzw. Schallquellen mit Richtcharakteristik im WFS, sondern ist auch anwendbar auf andere Verarbeitungsaufgaben, die massives Mehrkanalfiltern mit optionalen Zeitverzögerungen verwenden.
Nach einer bevorzugten Ausführungsform ist vorgesehen, dass die Erzeugung der Spektren gemäß dem Overlap-Save-Verfahren erfolgt. Das Overlap-Save-Verfahren ist ein Verfahren zur schnellen Faltung. Dabei wird die Eingangs folge xo .. . XN-I in einander überlappende Teilfolgen zerlegt. Aus den gebildeten periodischen Faltungsprodukten (zyklische Faltung) werden dann jene Anteile entnommen, die mit der aperiodischen, schnellen Faltung übereinstimmen.
Nach einer weiteren bevorzugten Ausführangsform ist vorgesehen, dass die Filterspektren mittels einer FFT aus zeitdiskreten Impulsantworten transformiert werden. Die Filterspektren können vor der eigentlichen Durchführung der zeitkritischen Berechnungsschritte bereitgestellt werden, sodass die Berechnung der Filterspektren nicht den zeitkritischen Anteil der Berechnung beeinflusst. Nach einer weiteren bevorzugten Ausführungsform ist vorgesehen, dass jeder Impulsantwort eine Anzahl von Nullen derart vorangestellt wird, dass die Lautsprecher untereinander jeweils mit einer vorgegebenen Verzögerang angesteuert werden, die der Anzahl der Nullen entspricht. Auf diese Weise können auch Verzögerungen realisiert werden, die nicht einem ganzzahligen Vielfachen des Vorschubs B entsprechen. Die gewünschte Verzöge- rung wird dazu in zwei Anteile zerlegt: Der erste Anteil ist ein ganzzahliges Vielfaches des Vorschubs B, während der zweite Anteil den Rest darstellt. Dieser zweite Anteil ist bei einer derartigen Zerlegung somit zwangsläufig kleiner als der Vorschub B.
Weitere Einzelheiten und Vorteile der Erfindung werden aus den Ausführungsbeispielen ersichtlich, die anhand der Zeichnungen beschrieben sind. In diesen zeigen:
Fig. l a ein Blockschaltbild einer Vorrichtung zur Berechnung von Lautsprechersignalen gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; Fig. 1 b eine Übersichtsdarstellung zur Bestimmung der anzuwendenden Verzögerungen durch die Speicherzugriffssteuerung und die Filterstufe;
Fig. 1 c eine Darstellung einer bevorzugten Implementierung der Filterstufe, um ein gefiltertes Kurzzeitspektrum zu erhalten, wenn ein neuer Verzögerungswert einzustellen ist;
Fig. I d eine Übersichtsdarstellung über das Overlap-Save-Verfahren im Kontext der vorliegenden Erfindung; Fig. l e eine Übersichtsdarstellung über das Overlap-Add- Verfahren im Kontext der vorliegenden Erfindung; Fig. 2 die prinzipielle Struktur der Signalverarbeitung bei der Verwendung eines WFS-Rendering-Systems ohne frequenzabhängige Filterung mittels Verzögerung und Amplitudenskalierung (Scale&Delay) im Zeitbereich;
Fig. 3 die prinzipielle Struktur der Signalverarbeitung bei der Verwendung der Over- lap & Save - Technik;
Fig. 4 die prinzipielle Struktur der Signalverarbeitung bei der Verwendung einer Fre- quency-Domain Delay Line gemäß der Erfindung;
Fig. 5 die prinzipielle Struktur der Signalverarbeitung mit einer Frequency-Domain
Delay Line gemäß der Erfindung;
Fig. 6 eine vergleichende Darstellung des Berechnungsaufwands für verschiedene
Faltungsalgorithmen;
Fig. 7 die Geometrie der Bezeichnungen, die in dieser Schrift verwendet werden;
Fig. 8a eine Impulsantwort für eine Audiosignal-Lautsprecher-Kombination; und
Fig. 8b eine Impulsantwort für eine Audiosignal-Lautsprecher-Kombination nach dem
Einfügen von Nullen.
Fig. l a zeigt eine Vorrichtung zur Berechnung von Lautsprechersignalen für eine Mehrzahl von Lautsprechern, die z.B. an vorbestimmten Positionen in einem Wiedergaberaum angeordnet sein können, unter Verwendung einer Mehrzahl von Audioquellen, wobei eine Audiquelle ein Audiosignal 10 aufweist. Die Audiosignale 10 werden einer Hin- Transformations- Stufe 100 zugeführt, die ausgebildet ist, um eine blockweise Transformation jedes Audiosignals in einen Spektralbereich durchzuführen, so dass für jedes Audiosignal eine Mehrzahl von zeitlich aufeinanderfolgenden Kurzzeitspektren erhalten wird. Ferner ist ein Speicher 200 vorgesehen, der ausgebildet ist, um eine Anzahl von zeitlich aufeinanderfolgenden Kurzzeitspektren für jedes Audiosignal zu speichern. Je nach Implementierung des Speichers und der Art und Weise der Speicherang kann jedem Kurzzeitspektrum der Mehrzahl von Kurzzeitspektren ein zeitlich aufsteigender Zeitwert zugeordnet sein, und der Speicher speichert dann die zeitlich aufeinanderfolgenden Kurzzeitspektren für jedes Audiosignal in Zuordnung zu den Zeitwerten. Hier müssen jedoch die Kurzzeitspektren im Speicher nicht etwa zeitlich aufeinanderfolgend angeordnet sein. Stattdessen können die Kurzzeitspektren z.B. in einem RAM-Speicher an beliebiger Stelle abgelegt sein, solange eine Speicherinhaltstabelle vorhanden ist. die identifiziert, welcher
Zeitwert welchem Spektrum entspricht, und welches Spektrum zu welchem Audiosignal gehört, Die Speicherzugriffssteuerung ist also ausgebildet, um auf ein bestimmtes Kurzzeitspektrum aus der Mehrzahl von Kurzzeitspektren für eine Kombination aus Lautsprecher und Audiosignal basierend auf einem Verzögerungswert, die für diese Audiosignal- Lautsprecher-Kombination vorgegeben ist, zuzugreifen. Die durch die Speicherzugriffssteuerung 600 ermittelten bestimmten Kurzzeitspektren werden dann einer Filterstufe 300 zum Filtern der bestimmten Kurzzeitspektren für Kombinationen aus Audiosignalen und Lautsprechern zugeführt, um dort eine Filterung mit einem Filter durchzuführen, das für die jeweilige Kombination aus Audiosignal und Lautsprecher vorgesehen ist, um für jede solche Kombination aus Audiosignal und Lautspreeher eine Folge von gefilterten Kurzzeit- Spektren zu erhalten. Die gefilterten Kurzzeitspektren werden dann von der Filterstufe 300 einer Summier er stufe 400 zugeführt., um die gefilterten Kurzzeitspektrum für einen Lautsprecher aufzusummieren, derart, dass für jeden Lautsprecher ein aufsummiertes Kurzzeitspektrum erhalten wird. Die aufsummierten Kurzzeitspektren werden dann einer Rück- Transformations-Stufe 800 zum blockweisen Rücktransformieren der aufsummierten Kurzzeitspektren für die Lautsprecher zugeführt, um die Kurzzeitspektren in einem Zeitbe- reich zu erhalten, woraus die Lautsprechersignale ermittelbar sind. Die Lautsprechersignale werden somit von der Rück-Transformations-Stufe 800 an einem Ausgang 12 ausgegeben.
Die Verzögerungswerte 701 werden bei einem Ausführungsbeispiel, bei dem die Vorrich- tung eine Wellenfeldsynthese-Vorrichtung ist, von einem Wellenfeldsynthese-Operator (WFS-Operator) 700 geliefert, der für jede einzelne Kombination aus Audiosignal und Lautsprecher abhängig von Quellenpositionen, die über einen Eingang 702 eingespeist werden, und abhängig von den Lautsprecherpositionen, also den Positionen, in denen die Lautsprecher in dem Wiedergaberaum angeordnet sind, und die über einen Eingang 703 zugeführt werden, die Verzögerungswerte 701 berechnet. Wenn die Vorrichtung für eine andere Applikation als für die Wellenfeldsynthese ausgebildet ist, also z. B. für eine Ambi- sonics-Implementierung oder etwas Ähnliches, so wird ebenfalls ein dem WFS-Operator 700 entsprechendes Element vorhanden sein, das für einzelne Lautsprechersignale Verzögerungswerte ausrechnet bzw. das für einzelne Audiosignal-Lautsprecher-Kombinationen Verzögerungswerte ausrechnet. Je nach Implementierung wird der WFS-Operator 700 neben den Verzögerungswerten auch Skalierungswerte berechnen, welche typischerweise ebenfalls in der Filterstufe 300 durch einen Skalierungsfaktor berücksichtigt werden können. Diese können also durch eine Skalierung der in der Filterstufe 300 verwendeten Fil- terkoeffizienten berücksichtigt werden, ohne zusätzlichen Berechnungsaufwand zu verursachen.
Die Speicherzugriffssteuerung 600 kann daher bei einer speziellen Implementierung aus- gebildet sein, um Verzögerungswerte für verschiedene Kombinationen aus Audiosignal und Lautsprecher zu erhalten, und um einen Zugriffswert auf den Speicher für jede Kombination zu berechnen, wie es noch Bezug nehmend auf Fig. 1 b dargestellt wird. Entsprechend kann, wie es ebenfalls Bezug nehmend auf Fig. l b dargestellt wird, die Filterstufe 300 ausgebildet sein, um Verzögerungswerte für verschiedene Kombinationen aus Audio- signal und Lautsprecher zu erhalten, um daraus eine Anzahl von Nullen zu berechnen, die in den Impulsantworten für die einzelnen Audiosignale/Lautsprecher-Kombinationen berücksichtigt werden müssen. Allgemein gesagt ist die Filterstufe 300 daher ausgebildet, um eine Verzögerung mit feinerer Granularität in Vielfachen der Abtastperiode zu implementieren, während die Speicherzugriffssteuerung 600 ausgebildet ist, um durch einen effizien- ten Speicherzugriff Verzögerungen in der Granularität des Vorschubs B, der von der Hin- Transformations-Stufe angewendet wird, zu implementieren.
Fig. l b zeigt eine Folge von Funktionalitäten, die von den Elementen 700, 600, 300 von
Fig. 1 a ausgeführt werden können.
Insbesondere ist der WFS-Operator 700 ausgebildet, um einen Verzögerungswert D bereitzustellen, wie es im Schritt 20 in Fig. l b dargestellt ist. In einem Schritt 21 wird beispielsweise die Speicherzugriffssteuerung 600 den Verzögerungswert D in ein Vielfaches der Blockgröße bzw. des Vorschubs B und in einen Rest aufteilen. Insbesondere ist der Verzö- gerungswert D gleich dem Produkt aus dem Vorschub B und dem Vielfachen Db und dem Rest. Alternativ kann das Vielfache Db einerseits und kann der Rest Dr andererseits auch dadurch berechnet werden, dass eine ganzzahlige Division durchgeführt wird, und zwar eine ganzzahlige Division der Zeitdauer, die dem Verzögerungswert D entspricht und der Zeitdauer, die dem Vorschub B entspricht. Das Ergebnis der ganzzahligen Division ist dann Db und der Rest der ganzzahligen Division ist Dr. Hierauf führt die Speicherzugriffssteuerung 600 in einem Schritt 22 eine Steuerung des Speicherzugriffs mit dem Vielfachen Db statt, wie es noch Bezug nehmend auf Fig. 9 detaillierter erläutert wird. Die Verzögerung Db wird somit effizient im Frequenzbereich implementiert, weil sie einfach durch einen wahlfreien Zugriff auf ein spezielles gespeichertes Kurzzeitspektrum, das gemäß dem Verzögerungswert bzw. dem Vielfachen Dt, ausgewählt wird, implementiert wird. Bei einem weiteren Ausführungsbeispiel der vorliegenden Erfindung, bei dem eine sehr feine Verzögerung gewünscht wird, wird in einem Schritt 23, der vorzugsweise in der Filterstufe 300 durchgeführt wird, der Rest Dr in ein Vielfaches der Abtastpierode TA und einen Rest IV aufgeteilt. Die Abtastperiode TA, die noch Bezug nehmend auf Fig. 8a und 8b detailliert erläutert wird, stellt die Abtastperiode zwischen zwei Werten der Impulsantwort dar, die typischerweise mit der Abtastperiode der diskreten Audiosignale am Eingang 10 der Hin-Transformations-Stufe 100 von Fig. 1 übereinstimmt. Das Vielfache DA der Abtast- periode TA wird dann in einem Schritt 24 verwendet, um das Filter durch Einfügen von DA Nullen in die Impulsantwort des Filters zu steuern. Der Rest bei der Aufteilung im Schritt 23, der mit Dr' bezeichnet ist, wird dann, wenn eine noch feinere Verzögerungssteuerung als ohnehin schon durch die Quantisierung der Abtastperioden TA nötig ist, in einem Schritt 25 verwendet, wo ein Fractional-Delay-Filtcr (FD-Filter bzw. ein Filter mit gebro- ebener Verzögerung) gemäß Dr' eingestellt wird. Es wird also das Filter, in dem bereits eine Anzahl von Nullen eingefügt worden ist, ferner als FD-Filter ausgeführt.
Die Verzögerung, die durch Steuern des Filters im Schritt 24 erreicht wird, kann als Verzögerung im„Zeitbereich" aufgefasst werden, obgleich aufgrund der speziellen Implemen- tierung der Filterstufe diese Verzögerung im Frequenzbereich auf das bestimmte Kurzzeitspektrum, das aus dem Speicher 200 ausgelesen worden ist und zwar unter Verwendung des Vielfachen I V angewendet wird. Es ergibt sich also für die gesamte Verzögerung eine Aufteilung in drei Blöcke, wie es bei 26 in Fig. 1 b dargestellt ist. Der erste Block ist die Zeitdauer, die dem Produkt aus Db, also dem Vielfachen der Blockgröße mit der Blockgröße entspricht. Der zweite Verzögerungsblock ist das Vielfache DA der Abtastzeitdauer TA, also eine Zeitdauer, die diesem Produkt DA X T.\ entspricht. Hierauf bleibt noch eine Fractional-Delay-Verzögerung bzw. ein Verzögerungsrest IV übrig. IV ist kleiner als TA, und DA X Ta ist kleiner als B, was sich unmittelbar aufgrund der beiden Aufteilungsgleichungen neben den Blöcken 21 und 23 in Fig. 1 b ergibt.
Nachfolgend wird Bezug nehmend auf Fig. 1c auf eine bevorzugte Implementierung der Filterstufe 300 Bezug genommen.
In einem Schritt 30 wird eine Impulsantwort für eine Audiosignal-Lautsprecher- Kombination bereitgestellt. Insbesondere für gerichtete Schallquellen wird man für jede
Kombination aus Audiosignal und Lautsprecher eine eigene Impulsantwort haben. Jedoch auch für anderen Quellen gibt es zumindest für bestimmte Kombinationen aus Audiosignal und Lautsprecher unterschiedliche Impulsantworten. In einem Schritt 31 wird die Anzahl der einzufügenden Nullen, d.h. der Wert DA bestimmt, wie es anhand von Schritt 23 in Fig. lb dargestellt worden ist. Hierauf wird in einem Schritt 32 eine Anzahl von Nullen gleich DA in die Impulsantwort am Anfang der Impulsantwort eingefügt, um eine modifizierte Impulsantwort zu erhalten. Hierzu wird auf Fig. 8a Bezug genommen. Fig. 8a zeigt ein Beispiel für eine, allerdings im Vergleich zu einer realen Anwendung zu kurzen Impulsan- twort h(t), welche beim Sample 3 einen ersten Wert hat. Man kann also den Zeitraum zwischen dem Wert t = 0 bis t = 3 als die Verzögerung betrachten, die ein Schall von einer Quelle zu einer Aufzeichnungsstelle, wie beispielsweise einem Mikrofon oder einem Hörer braucht. Hierauf folgen diverse Samples der Impulsantwort, die mit TA beabstandet sind, also der Abtastzeitdauer, die gleich dem Inversen der Abtastfrequenz ist. Fig. 8b zeigt eine Impulsantwort., und zwar dieselbe Impulsantwort nach dem Einfügen von TA = vier Nullen für die Audiosignal-Lautsprecher-Kombination. Die in Fig. 8b gezeigte Impulsantwort ist somit eine Impulsantwort, wie sie in dem Schritt 32 erhalten wird. Hierauf wird in einem Schritt 33, wie es in Fig. 1c dargestellt ist, eine Transformation dieser modifizierten Im- pulsantwori, also der Impulsantwort gemäß Fig. 8b in den Spektralbereich durchgeführt. Dann wird in einem Schritt 34 bevorzugterweise ein spektral wertweises Multiplizieren des bestimmten Kurzzeitspektrums, also des Kurzzeitspektrums, das aufgrund von Db aus dem Speicher ausgelesen und damit bestimmt worden ist, mit der transformierten modifizierten Impulsantwort, die im Schritt 33 erhalten worden ist, durchgeführt, um schließlich ein ge- filtertes Kurzzeitspektrum zu erhalten.
Bei dem Ausführungsbeispiel ist die Hin-Transformations-Stufe 100 ausgebildet, um die Folge von Kurzzeitspektren mit dem Vorschub B aus einer Folge von zeitlichen Abtastwerten zu ermitteln, so dass ein erster Abtastwert eines ersten Blocks von zeitlichen Ab- tastwerten, die in ein Kurzzeitspektrum umgesetzt werden, von einem ersten Abtastwert eines zweiten darauffolgenden Blocks von zeitlichen Abtastwerten um eine Anzahl von Abtastwerten beabstandet ist, die gleich dem Vorschubwert ist. Der Vorschubwert ist also definiert durch den jeweils ersten Abtastwert des neuen Blocks, wobei dieser Vorschubwert, wie es noch anhand der Fig. I d und l e dargelegt werden wird, sowohl für das Over- lap-Save- Verfahren als auch für das Overlap-Add-Verfahren vorhanden ist.
Darüber hinaus wird vorzugsweise, um eine wahlfreie Speicherung im Speicher 200 zu ermöglichen, ein Zeitwert, der einem Kurzzeitspektrum zugeordnet ist, als Blockindex abgespeichert, der angibt, wie viele Vorschubwerte der erste Abtastwert des Kurzzeitspekt- rums von einem Referenzwert zeitlich entfernt ist. Der Referenzwert ist z. B. der Index 0 des Kurzzeitspektrums bei 249 in Fig. 9.
Darüber hinaus ist die Speicherzugriffseinrichtung vorzugsweise ausgebildet, um das bestimmte Kurzzeitspektrum basierend auf dem Verzögerungswert und dem Zeitwert des bestimmten Kiirzzeitspektrums derart zu bestimmen, dass der Zeitwert des bestimmten Kurzzeitspektrums gleich dem ganzzahligen Ergebnis einer Division von der Zeitdauer, die dem Verzögerungswert entspricht und der Zeitdauer, die dem Vorschubwert entspricht, ist oder um 1 größer ist. Bei einer Implementierung wird genau das ganzzahlige Ergebnis verwendet, das immer kleiner als die tatsächlich geforderte Verzögerung ist. Alternativ könnte jedoch auch das ganzzahlige Ergebnis zuzüglich Eins verwendet werden, wobei dieser Werte gewissermaßen eine„Aufrundung" der eigentlich geforderten Verzögerung ist. Im Falle einer Aufrundung wird eine etwas zu große Verzögerung erreicht, was aber für Anwendungen ohne weiteres ausreichen kann. Je nach Implementierung kann es auch von der Höhe des Rests abhängig gemacht werden, ob aufgerundet oder abgerundet wird. Ist der Rest z. B. größer oder gleich 50 % der Zeitdauer, die dem Vorschub entspricht, so kann aufgerundet werden, also der um Eins größere Wert genommen werden. Ist der Rest dagegen kleiner als 50 %, kann„abgerundet" werden, also genau das Ergebnis der ganz- zahligen Division genommen werden. Von einer Abrundung kann eigentlich dann gesprochen werden, wenn der Rest nicht z. B. durch Einfügen von Nullen ebenfalls noch implementiert wird.
In anderen Worten ausgedrückt wird die vorstehend dargestellte Implementierung mit Auf- runden bzw. Abrunden dann nützlich sein, wenn eine Verzögerung nur mit der Granulierung einer Blocklänge angewendet wird, wenn also keine feinere Verzögerung durch Einfügen von Nullen in einer Impulsantwort erreicht wird. Wird dagegen eine feinere Verzögerung durch Einfügen von Nullen in eine Impulsantwort erzielt, wird zur Bestimmung des Blockversatzes abgerundet und nicht aufgerundet.
Zur Erläuterung dieser Implementierung wird auf Fig. 9 Bezug genommen. Fig. 9 zeigt einen speziellen Speicher 300, der eine Eingangs-Schnittstelle 250 und eine Ausgangs- Schnittstelle 360 hat. Von jedem Audiosignal, also dem Audiosignal 1 , dem Audiosignal 2, dem Audiosignal 3 und dem Audiosignal 4 ist in dem Speicher eine zeitliche Folge von Kurzzeitspektren mit beispielhaft sieben Kurzzeitspektren gespeichert. Insbesondere werden die Spektren so in den Speicher eingelesen, dass immer sieben Kurzzeitspektren in dem Speicher sind und dann, wenn der Speicher gefüllt ist und ein weiteres neues Kurzzeitspektrum in den Speicher hineingeführt wird, am Ausgang 260 des Speichers das entsprechende Kurzzeitspektrum gewissermaßen „herausfällt". Dieses Herausfallen wird durch Überschreiben der Speicherzellen beispielsweise oder durch entsprechendes Umsortieren der Indizes zu den einzelnen Speicherfeldern implementiert und ist in Fig. 9 lediglich aus Darstellungsgründen entsprechend illustriert. Die Zugriffssteuerung greift über eine Zugriffssteuerangsleitung 265 zu, um bestimmte Speicherfelder, also bestimmte Kurzzeitspektren auszulesen, die dann über einen Ausleseausgang 267 zur Filterstufe 300 von Fig. 1 a geliefert werden.
Eine bestimmte beispielhafte Zugriffssteuerung könnte beispielsweise für die Implementierung von Fig. 4 und dort für bestimmte OS-Blöckc, wie sie in Fig. 9 dargestellt sind, also für bestimmte Audiosignal-Lautsprecher-Kombinationen entsprechende Kurzzeitspektren der Audiosignale beim entsprechenden Zeitwert, der ein Vielfaches von B in Fig. 9 bei 269 ist, auslesen. Insbesondere könnte der Verzögerungswert derart sein, dass für die Kombination OS 301 eine Verzögerung von zwei Vorschublängen 2B gefordert ist. Ferner könnte für die Kombination OS 304 keine Verzögerung, also eine Verzögerung von 0 durch den Verzögerungswert gefordert sein, während für OS 302 eine Verzögerung von fünf Vorschubwerten, also 5B gefordert wird usw., wie es in Fig. 9 dargestellt ist. Insofern würde zu einem bestimmten Zeitpunkt die Speicherzugri ffssteuerung 265 entsprechend der Tabelle 270 in Fig. 9 auslesen, und die entsprechenden Kurzzeitspektren dann alle über den Ausgang 267 zur Filterstufe liefern, wie sie noch Bezug nehmend auf Fig. 4 dargelegt wird. Die Speichertiefe beträgt bei dem in Fig. 9 gezeigten Ausführungsbei spiel beispielhaft sieben Kurzzeitspektren, so dass eine Verzögerung implementiert werden kann, die maximal gleich der Zeitdauer ist, die sechs Vorschubwerten B entspricht. Dies bedeutet, dass mit dem Speicher in Fig. 9 ein Wert von Db von Fig. 1 b, Schritt 21 von maximal 6 implementiert werden kann. Je nachdem, wie die Verzögerungsanforderungen, und die Vorschubwerte B in einer speziellen Implementierung eingestellt werden, kann der Speicher größer oder kleiner bzw. tiefer oder weniger tief sein.
Bei einer speziellen Implementierung, wie sie bereits Bezug nehmend auf Fig. 1 c darge- stellt worden ist, ist die Filterstufe ausgebildet, um aus einer Impulsantwort eines Filters das für die Kombination aus Lautsprecher und Audiosignal vorgesehen ist, eine modifizierte Impulsantwort zu ermitteln, indem eine Anzahl von Nullen am zeitlichen Anfang der Impulsantwort eingefügt werden, wobei die Anzahl von Nullen von dem Verzögerungswert für die Kombination aus Audiosignal und Lautsprecher und dem gewählten bestimm- ten Kurzzeitspektrum für die Kombination aus Audiosignal und Lautsprecher abhängt. Vorzugsweise ist die Filterstufe ausgebildet, um eine solche Anzahl von Nullen einzufügen, dass eine Zeitdauer, die der Anzahl von Nullen entspricht, und die gleich dem Wert DA sein kann, kleiner oder gleich dem Rest der ganzzahligen Division aus dem Restwert Dr und der Abtastdauer TA von Fig. 1b ist. Wie es ferner noch Bezug nehmend auf Fig. 1 b, bei 25 dargestellt worden ist. kann die Impulsantwort des Filters eine Impulsantwort für ein Fractional-Delay-Filter sein, das ausgebildet ist, um eine Verzögerung gemäß einem Bruchteil einer Zeitdauer zwischen benachbarten diskreten Impulsantwortwerten zu erreichen, wobei der Bruchteil gleich dem Verzögerungswert (D - Dt, x B - DA x TA) von Fig. 1 b ist, wie es auch aus 26 in Fig. 1b ersichtlich ist.
Vorzugsweise umfasst der Speicher 200 für jede Audioquelle eine Frequenzbereichs- Verzögcrungsleitung oder FDL 201 , 202, 203 von Fig. 4, wobei FDL für Frequency Delay Line steht. Die FDL 201 , 202, 203, die auch in Fig. 9 entsprechend schematisch dargestellt ist, erlaubt einen wahlfreien Zugriff auf die für die entsprechende Quelle bzw. für das entsprechende Audiosignal gespeicherten Kurzzeitspektren, wobei ein Zugriff über einen Zeitwert bzw. Index 269 für jedes Kurzzeitspektrum ausführbar ist. Darüber hinaus ist, wie es in Fig. 4 gezeigt ist, die Hin-Transformations-Stufe mit einer Anzahl von Transformationsblöcken 101 , 102, 103 ausgebildet, die gleich der Anzahl von Audiosignalen ist. Ferner ist die Rück-Transformations-Stufe 800 mit einer Anzahl von Transformationsblöcken 101 , 102, 1 03 ausgebildet, die gleich der Anzahl der Lautsprecher ist. Darüber hinaus ist für jede Audioquelle für jedes Audiosignal eine Frequenzbcreichs- Verzögerungsleitung 201 , 202, 203 vorgesehen, wobei ferner die Filterstufe derart ausgebildet ist, dass sie eine Anzahl von Kinzel fi ltern 301 , 302, 303, 304, 305, 306, 307, 308, 309 aufweist, wobei die Anzahl der Einzelfilter gleich dem Produkt aus der Anzahl der Audioquellen und der Anzahl der Lautsprecher ist. Dies bedeutet in anderen Worten, dass für jede Audiosignal-Lautsprecher-Kombination ein eigenes Einzelfilter, das der Einfach- heil halber in Fig. 4 mit OS bezeichnet ist, vorhanden ist.
Bei einem bevorzugten Ausführungsbeispiel sind die Hin-Transformations-Stufe 100 und die Rück-Transformations-Stufe 800 gemäß einem Overlap-Save-Verfahren ausgebildet, das nachfolgend anhand von Fig. l d erläutert wird. Das Overlap-Save-Verfahren ist ein Verfahren zur schnellen Faltung. Hierbei wird im Gegensatz zum Overlap-Add- Verfahren, das in Fig. l e dargelegt wird, die Eingangsfolge in einander überlappende Teilfolgen zerlegt, wie es bei 36 in Fig. l d dargestellt ist. Aus den gebildeten periodischen Faltungsprodukten (zyklische Faltung) werden dann jene Anteile entnommen, die mit der aperiodischen, schnellen Faltung übereinstimmen. Das Overlap-Save-Verfahren kann auch zur effizienten Implementierung von FIR-Filtern höherer Ordnung eingesetzt werden. Die im Schritt 36 gebildeten Blöcke werden dann in der Hin-Transformations-Stufe 100 von Fig. l a jeweils transformiert, wie es bei 37 dargestellt ist, um die Folge von Kurzzeitspektren zu erhalten. Dann werden die Kurzzeitspektren durch die gesamte Funktionalität der vorliegenden Erfindung im Spektralbereich verarbeitet, wie es zusammenfassend bei 38 dar- gestellt ist. Ferner werden die verarbeiteten Kurzzeitspektren wieder in einem Block 800, also dem Rück-Transformationsblock zurücktransformiert, wie es bei 39 dargestellt ist, um Blöcke von Zeitwerten zu erhalten. Das Ausgangssignal, das aus der Faltung zweier endlicher Signale entsteht, kann allgemein in drei Teile unterteilt werden, das Einschwingverhalten, das stationäre Verhalten und das Ausschwingverhalten. Bei der Overlap-Savc- Methode wird das Eingangssignal in Segmente zerlegt und jedes Segment mittels der zyklischen Faltung mit einem Filter, einzeln gefaltet. Hierauf werden die Teilfaltungen wieder zusammengesetzt, wobei der Ausschwingbereich jeder dieser Teilfaltungen jetzt das darauffolgende Faltungsergebnis überlappt und dadurch stören würde. Daher wird dieser Ausschwingbereich, der zu einem falschen Ergebnis führt, im Rahmen des Verfahrens verworfen, Es stoßen also die einzelnen stationären Teile der einzelnen Faltungen jetzt direkt aneinander und liefern dadurch das richtige Ergebnis der Faltung. Allgemein werden somit in einem Schritt 40 störende Anteile aus den Blöcken von Zeitwerten, die nach dem Block 39 erhalten worden sind, verworfen, und die verbleibenden Abtastwerte werden in einem Schritt 41 in der richtigen zeitlichen Reihenfolge aneinander gestückelt, um schließlich die entsprechenden Lautsprechersignale zu erhalten.
Alternativ können sowohl die Hin-Transformations-Stufe 100 als auch die Rück- Transformations-Stufe 800 ausgebildet sein, um ein Overlap-Add- Verfahren durchzuführen. Das Overlap-Add- Verfahren, das auch als segmentierte Faltung bezeichnet wird, ist ebenfalls ein Verfahren zur schnellen Faltung und wird derart gesteuert, dass eine Eingangsfolge in eigentlich aneinander angrenzende Blöcke von Abtastwerten mit einem Vorschub B zerlegt wird, wie es bei 43 dargestellt ist. Diese Blöcke werden aber aufgrund des Anhängens von Nullen (auch als Zero-Padding bezeichnet) für jeden Block, wie es bei 44 gezeigt ist, zu aufeinanderfolgenden überlappenden Blöcken. Das Eingangssignal wird somit in Abschnitte mit der Länge B aufgeteilt, die dann durch das Zero-Padding gemäß Schritt 44 verlängert werden, um das Ergebnis der Faltungsoperation auf eine größere Länge zu bringen. Dann werden die durch den Schritt 44 erzeugten mit Nullen aufgefüllten Blöcke in einem Schritt 45 durch die Hin-Transformations-Stufe 100 transformiert, um die Folge von Kurzzeitspektren zu erhalten. Dann wird, entsprechend der Verarbeitung im Block 39 von Fig. l d eine Verarbeitung der Kurzzeitspektren im Spektralbereich in einem Schritt 46 vorgenommen, um dann in einem Schritt 47 eine Rücktransformation der verarbeiteten Spektren durchzuführen, um Blöcke von Zeitwerten zu erhalten. Dann findet im Schritt 48 ein überlappendes Aufaddieren der Blöcke von Zeitwerten statt, um ein richtiges Ergebnis zu erhalten. Die Ergebnisse der einzelnen Faltungen werden also dort aufaddiert, wo die einzelnen Faltungsprodukte sich überlappen, und das Ergebnis der Operation entspricht der Faltung einer theoretisch unendlich langen Eingangsfolge. Im Gegensatz zum O v e r 1 a - S a v e - V e r a h r e n , bei dem im Schritt 41 gewissermaßen„aneinander gestückelt" wird, wird beim Overlap-Add- Verfahren in Fig. l e im Schritt 48 ein überlappendes Aufaddieren der Blöcke von Zeitwerten durchgeführt.
Je nach Implementierung sind die Hin-Transformations-Stufe 100 und die Rück-
Transformations-Stufe 800 als einzelne FFT-Blöcke, wie in Fig. 4 bzw. I FFT-Blöcke wie in Fig. 4 ebenfalls gezeigt, ausgebildet. Allgemein wird ein DFT- Algorithmus, also ein Algorithmus zur diskreten Fourier-Transformation bevorzugt, der auch von dem FFT- Algorithmus abweichen kann. Darüber hinaus können auch andere Frequenzbereichstrans- formations- Verfahren, wie beispielsweise Diskrete Sinus-Transformation- (DST-) Verfah- ren, Diskrete Cosinus-Transformation- (DCT-) Verfahren, modifizierte diskrete Cosinus- Transformation- (MDCT-) Verfahren oder ähnliche Verfahren eingesetzt werden, sofern sie für die spezielle Anwendung geeignet sind. Wie es bereits anhand von Fig. l a dargestellt worden ist, wird die erfindungsgemäße Vorrichtung vorzugsweise für ein Wellenfeldsynthese-System eingesetzt, so dass ein Welien- feidsynthese-Operator 700 vorhanden ist, der ausgebildet ist, um für jede Kombination aus Lautsprecher oder Audioquelle unter Verwendung einer virtuellen Position der Audioquelle und der Position des Lautsprechers den V erzö gerun gs wert zu berechnen, auf dessen Ba- sis dann die Speicherzugriffssteuerung 600 und die Filterstufe 300 arbeiten können.
Es gibt mehrere Lösungsansätze für die Erzeugung von gerichteten Schallquellen bzw. Schallquellen mit Richtcharakteristik unter Verwendung der Wellenfei dsynthese. Neben experimentellen Ergebnissen basieren die meisten Ansätze auf einer Expansion oder Ent- wicklung des Schallfelds in zirkuläre oder sphärische Harmonische, Der hier präsentierte Lösungsansatz verwendet auch eine Expansion des Schallfelds der virtuellen Quelle in kreisförmige Harmonische, um eine Ansteuerfunktion für die Sekundärquellen zu erhalten. Diese Ansteuerfunktion wird auch nachfolgend als WFS-Operator bezeichnet. Fig. 7 zeigt die Geometrie der Bezeichnungen, die in den allgemeinen Gleichungen der Wellenfeldsynthese, d. h. in dem Wellenfeldsyntheseoperaior verwendet werden. Zusammenfassend gesagt ist für gerichtete Quellen der WFS-Operator frequenzabhängig, hat also für jede Frequenz eine dedizierte Amplitude und Phase entsprechend einem frequenzabhängigen Delay. Für ein Rendering (bzw. „Aufbereitung") beliebiger Signale erfordert diese frequenzabhängige Operation eine Filterung des Zeitbereichssignals. Diese Filteroperation lässt sich als FIR-Filterung implementieren, wobei die FIR-Koeffizienten durch geeignete Design-Verfahren aus dem frequenzabhängigen WFS-Operator bestimmt werden. Der FI R- Filter enthält ferner ein Delay, wobei sich der Hauptteil des Delays (Verzögerung) aus der Signallaufzeit zwischen der virtuellen Quelle und dem Lautsprecher bestimmt und somit frequenzunabhängig, also konstant, ist. Vorzugsweise wird diese frequenzabhängige Verzögerung durch die in Verbindung mit den Fig. l a - l e beschriebenen Vorgehensweisen bearbeitet. Die vorliegende Erfindung kann jedoch auch auf alternative Implementierungen angewendet werden, bei denen die Quellen nicht richtungsabhängig sind, oder bei denen es nur frequenzunabhängige Verzögerungen gibt, oder bei denen generell eine schnelle Faltung zusammen mit einer Verzögerung zwischen bestimmten Audiosignal- Lautsprecherkombinationen eingesetzt werden soll. Die nachfolgende Darstellung ist eine beispielhafte Beschreibung des Wellenfeldsynthese- prozesses. Alternative Beschreibungen und Ausführungen sind ebenfalls bekannt. Das Schallfeld der Primärquelle Ψ wird in der Region y < y-L. generiert, durch Verwenden einer linearen Verteilung von sekundären Monopolquellen entlang x (schwarze Punkte).
Unter Verwendung der Geometrie von Fig. 7 ist das zweidimensionale Rayleigh-I-Integral im Frequenzbereich gegeben durch
Figure imgf000022_0001
Es besagt, dass der Schalldruck PR {rR , r , co) einer Primärschaltquelle an der Empfängerposition R generiert werden kann unter Verwendung einer linearen Verteilung von sekundären Monopol-Linienschallquellen mit y = yi. Zu diesem Zweck muss die Geschwindigkeit V- (r , ω) der Primärquelle Ψ an den Positionen der Sekundärquellen bekannt sein gemäß ihrer Normalen n . In Gleichung (1 ), ist ω die Winkelfrequenz, c die Schallgeschwindigkeit und HQ 2) (— I rR - r |) ist die Hankel-Funktion zweiter Art der Ordnung 0, Der Weg von c
der Primärquellenposition zu der Sekundärquellenposition ist bezeichnet durch F . Gleichartig dazu ist rR der Weg von der Sekundärquelle zu dem Empfänger R. Das zweidimensionale Schallfeld, das durch eine Primärquelle ψ mit jeder beliebigen Richtcharakteristik abgestrahlt wird, kann durch eine Expansion in kreisförmige Harmonische beschrieben werden.
P¥ M = S W ° |r| e-- , (2)
y = C
wobei S(m) das Spektrum der Quelle ist und a der Azimuthwinkel des Vektors r . Q2> (w) sind die Kreisle rmige-Harmonische-Ausdchnungskoeffi/ienten der Größenordnung v. Unter Verwendung der Bewegungsgleichung ist die WFS-Sekundärquellenansteuerfunktion Q (....) gegeben als an
Um realisierbare Syntheseoperatoren zu erhalten, werden zwei Annahmen getroffen: Erstens, reale Lautsprecher verhalten sich mehr wie Punktquellen, falls die Größe des Lautsprechers im Vergleich zu der abgestrahlten Wellenlänge klein ist. Daher sollte die Sekun- därquellenansteuerfunktion Sekundärpunktquellen anstatt Linienquellen verwendet werden. Zweitens wird hier nur die effiziente Verarbeitung der W FS-Ansteuerfunktion betrachtet. Während die Berechnung der Hankel-Funktion relativ aufwendig ist, ist das Nahte! drichtverhal ten aus praktischer Sicht von geringerer Bedeutung. Als Folge wird nur die Fernfeldnäherung der Hankel-Funktion an die Sekundär- und Pri- mär-Quel lenbeschreihungen (1 ) und (2) angelegt. Dies fuhrt zu der Sekundärquellenan- steuerfunktion
Figure imgf000023_0001
Folglich kann das Syntheseintegral ausgedrückt werden als
PR (fR , r , ω)= I Q(rR ,r , ω, a)-- - dx (5)
Für eine virtuelle Quelle mit idealen Monopolcharakteristika vereinfacht sich der Rieht- wirkungsterm der Quellenansteuerfunktion auf G(co, a) = 1 . In diesem Fall werden nur ein Gewinn cos^ (6)
π
Verzögerungsterm
Figure imgf000023_0002
der einer frequenzunabhängigen Zeitverzögerang von -— - entspricht, und eine konstante
Phasenverschiebung von j an das Sekundärquellensignal angelegt.
Neben der Synthese von Monopolquellen ermöglicht ein übliches WFS-System die Wiedergabe von Planarwellenfronten, die als ebene Wellen bezeichnet werden. Diese können als Monopolquellen angesehen werden, die in einer unendlichen Entfernung angeordnet sind. Wie im Fall von Monopolquellen besteht der resultierende Syntheseoperator aus einem statischen Filter, einem Gewinnfaktor und einer Zeitverzögerung.
Für komplexe Richtcharakteristika wird der Gewinnfaktor A{,,.) abhängig von der Richtcharakteristik, der Ausrichtung und der Frequenz der virtuellen Quelle sowie von den Positionen der virtuellen und sekundären Quellen. Folglich enthält der Syntheseoperator ein nicht triviales Filter, spezifisch für jede Sekundärquelle rR ,r , a>, a co$ (pG{co, a) (8) Wie in dem Fall von grundlegenden Quellentypen kann die Verzögerung aufgrund der Ausbreitungszeit zwischen virtueller und sekundärer Quelle extrahiert werden von (4)
D{r , (o) = e J c (9).
Für praktische Aufbereitung müssen zeitdiskrete Filter für die Richtcharakteristika von der Frequenzantwort (8) bestimmt werden. Aufgrund ihrer Fähigkeit, beliebige Frequenzantworten und deren inhärente Stabilität zu nähern, werden hier nur FIR-Filter berücksichtigt. Diese Richtwirkungsfilter werden nachfolgend durch hm:„[k] bezeichnet, wobei n = 0,..., M - 1 den Virtueile-Quelle-lndex bezeichnet, n - 0,..., M - 1 der Lautsprecherindex ist und k ein Zeitbereichsindex ist. K ist die Größenordnung des Richtwirkungsfilters, Da solche Filter für jede Kombination von N virtuellen Quellen und M Lautsprechern erforderlich sind, muss die Erzeugung relativ effizient sein.
Es wird hier ein einfaches Fenster (oder Frequenzabtastentwurf) verwendet. Die gewünschte Frequenzantwort (9) wird bei Ä' * 1 äquidistant abgetasteten Frequenzwerten in dem Intervall 0 < ω < 2π bewertet. Die diskreten Filterkoeffizienten h„in[k), k = Ο,,,,,Κ werden erhalten durch eine inverse di krete Fourier-Transformation (IDFT) und das Anlegen einer geeigneten Fensterfunktion w[k], um das Gibbs-Phänomen zu reduzieren, das durch das Abschneiden der Impulsantwort verursacht wird. hm n [k] =w [k] IDFT{AD , ϊ, ω, α)} (10)
Die Implementierung dieses Entwurfsverfahrens ermöglicht mehrere Optimierungen. Erstens, die konjugierte Symmetrie der Frequenzantwort A (fn , r , ω, α) , diese Funktion muss nur für etwa die Hälfte der Rasterpunkte bewertet werden. Zweitens, mehrere Teile der Sekundärquellenansteuerfunktion, z.B. die Expansionskoeffizienten
Figure imgf000024_0001
(ω) sind für alle
Ansteuerfunktionen einer gegebenen virtuellen Quelle identisch und werden folglich nur einmal berechnet. Die Richtwirkungsfilter hmi„[k führen Synthesefehler auf zwei Weisen ein. Einerseits führt die begrenzte Filtergrößenordnung zu einer unvollkommenen Nähe- rung von An(rR , r , a), a) . Andererseits muss die unendliche Summierung von (4) durch eine finite Grenze ersetzt werden. Als Folge kann die Strahlbreite der generierten Richtcharakteristika nicht unendlich schmal werden.
Fig. 2 zeigt die prinzipielle Struktur der Signalverarbeitung bei der Verwendung eines auf einer Scale&Delay-Operation beruhenden einfachen WFS-Operators. Gezeigt wird die Signal Verarbeitungsstruktur von W FS - A u fbere i tungssystemen für die Synthese von grundlegenden Primärquellentypen. Die Sekundärquellenansteuersignale können bestimmt wer- den durch Verarbeiten einer Skalier- und einer Verzögerungsoperation für jede Primärquelle-Sekundärquelle-Kombination (S&D=Skalieren und Verzögern) und eines statischen Eingangsfilters Η(ω). WFS-Aufbereitung wird allgemein als zeitdiskretes Verarbeitungssystem implementiert. Es besteht aus zwei allgemeinen Aufgaben: Berechnung des Syntheseoperators und Anlegen dieses Operators an die zeitdiskreten Quellensignale. Das letztere wird nachfolgend als WFS-Aufbereitung bezeichnet. Die Auswirkung des Syntheseoperators auf die Gesamtkomplexität ist typischerweise niedrig, da derselbe relativ selten berechnet wird. Falls die Quelleneigenschaften sich nur diskret ändern, wird der Operator nach Bedarf berechnet. Zum fortlaufenden Ändern von Quelleneigenschaften, z.B. im Fall von bewegten Schallquellen, ist es typischerweise ausreichend, diese Werte auf einem groben Gitter zu berechnen und dazwischen einfache Inter- polationsverfahren zu verwenden.
Im Gegensatz dazu muss das Anlegen des Syntheseoperators an die Quellensignale bei der vollen Audioabtastrate durchgeführt werden. Fig. 2 zeigt die Struktur eines typischen WFS- Aufbereitungssystems mit N virtuellen Quellen und M Lautsprechern. Wie es in Ab- schnitt 2.2 dargestellt wurde, besteht die S ek u nd ärq u e 11 en an s teu e r funk t i on aus einem festen Vorfilter Η(ω) =_/', und dem Anlegen einer Zeitverzögerung l.)(r , c ) und eines Skalierfaktors AM (rR , r ) . Da Η(ω) unabhängig von den Positionen der Quelle und des Lautsprechers ist, wird dasselbe an die Eingangssignale angelegt vor dem Speichern in einer Zeitbe- reichverzögerangsleitung. Unter Verwendung dieser Verzögerungsleitung wird ein Kom- ponentensignal berechnet für jede Kombination einer virtuellen Quelle und eines Lautsprechers, was dargestellt wird durch eine Skalier- und Verzögerungsoperation (scale-and- delay Operation (S&D)). Im einfachsten Fall wird der Verzögerungswert abgerundet auf das nächste Ganzzahlmehrfache der Abtastperiode und als ein indexierter Zugriff in die Verzögerungsleitung bzw. Delay-Line angelegt. Im Fall von bewegten Quellenobjekten sind komplexere Algorithmen erforderlich, um das Quellensignal an beliebigen Positionen zwischen Abtastwerten zu interpolieren. Schließlich werden die Komponentensignale für jeden Lautsprecher akkumuliert, um die Ansteuersignale zu bilden.
Die Anzahl von Skalier- und Verzögerungsoperationen wird gebildet durch das Produkt der Anzahl von virtuellen Quellen TV und der Anzahl von Lautsprechern M, Somit erreicht dieses Produkt typischerweise hohe Werte. Folglich ist die Skalier- und Verzögerungsoperation der leistungskritischste Teil der meisten WFS-Systeme, selbst wenn nur Ganzzahlverzögerungen verwendet werden. Fig. 3 zeigt die prinzipielle Struktur der Signalverarbeitung bei der Verwendung der Over- lap & Save - Technik, Das Overlap-Save-Verfahren ist ein Verfahren zur schnellen Faltung, Dabei wird im Gegensatz zu dem Overlap-Add- erfahren die Eingangsfolge x[n] in einander überlappende Teilfolgen zerlegt. Aus den gebildeten periodischen Faltungsprodukten (zyklische Faltung) werden dann jene Anteile entnommen, die mit der aperiodischen, schnellen Faltung übereinstimmen.
Anhand von Fig. 2 wurde erläutert, dass die Skalier- und Verzögerungsoperation, die an jede Kombination von einer virtuellen Quelle und einem Lautsprecher angelegt wird, für herkömmliche WFS-Aufbereitungssysteme höchst leistungskritisch ist. Für Schallquellen mit einer Richtcharakteristik ist eine zusätzliche Filteroperation, typischerweise implementiert als ein FIR-Filter für jede solche Kombination erforderlich. Unter Berücksichtigung des Rechenaufwands von FIR-Filtern wird die resultierende Komplexität für die meisten realen WFS-Aufbereitungssysteme nicht wirtschaftlich realisierbar.
Um die erforderlichen Rechenressourcen wesentlich zu reduzieren, schlägt die Erfindung ein Signalverarbeitungsschema vor, das auf zwei in Wechselwirkung stehenden Effekten basiert.
Der erste Effekt betrifft die Tatsache, dass die Effizienz von FIR-Filtern durch Verwenden von schnellen Faltungsverfahren im Transformationsbereich häufig erhöht werden kann, wie z.B. Overlap-Save oder Overlap-Add. Allgemein transformieren diese Algorithmen Segmente des Eingangssignals in den Frequenzbereich durch schnelle Fourier- Transformations-(FFT-)Techniken, führen Faltung durch aufgrund einer Frequenzbereichsmultiplikation und transformieren das Signal zurück in den Zeitbereich. Obwohl die tatsächliche Leistungsfähigkeit stark von der Hardware abhängt, liegt die Filtergrößenordnung wo transformationsbasiertes Filtern effizienter wird als direkte Faltung typischerweise zwischen 1 6 und 50. Für Overlap-Add- Algorithmen und Överlap-Save-Algorithmen bilden die Vorwärts- und Inverse-FFT-Operationen den Großteil des Rechenaufwands.
Vorzugsweise wird nur das Overlap-Save-Verfahren berücksichtigt, da dasselbe keine Hinzufügung von Komponenten von benachbarten Ausgabeblöcken erfordert. Neben der reduzierten arithmetischen Komplexität im Vergleich zu overlapp-add führt diese Eigen- schart zu einer einfacheren Steuerlogik für das vorgeschlagene Verarbeitungsschema.
Ein weiteres Ausführungsbeispiel zum Reduzieren des Rechenaufwands nutzt die Struktur des WFS-Verarbeitungsschemas. Einerseits wird hier jedes Eingangssignal für eine große Anzahl von Verzögerungs- und Filteroperationen verwendet. Andererseits werden die Ergebnisse für eine große Anzahl von Schallquellen für jeden Lautsprecher summiert. Somit verspricht eine Partitionierung des Signalverarbeitungsalgorithmus, der übliche Operationen nur einmal für jedes Eingangs- oder Ausgangssignal durchführt, große Effizienzge- winne. Allgemein gilt, dass eine solche Partionierung des WFS-Aufbereitungsalgorithmus beträchtliche Leistungsverbesserungen bewirkt für bewegte Schallquellen von grundlegenden Quellentypen.
Wenn die transformationsbasierte schnelle Faltung für die Aufbereitung von gerichteten Schallquellen bzw. Schallquellen mit Richtcharakteristik verwendet wird, sind die Vorwärts- und Inverse-Fourier-Transformaiionsoperationen offensichtliche Kandidaten für diese Partitionierung. Das resultierende Verarbeitungsschema ist in Fig. 3 gezeigt. Die Eingangssignale x„[k], n = 0,...,N -1 werden in Blöcke segmentiert und in den Frequenzbereich transformiert unter Verwendung von schnellen Fourier-Transformationen (FFT). Die Frequenzbereichsdarstellung wird mehrere Male verwendet zum Falten der einzelnen Lautsprechersignalkomponenten durch eine Overlap-Save-Operation, d.h. eine komplexe Multiplikation. Die Lautsprechersignale werden in dem Frequenzbereich berechnet durch Akkumulieren der Komponentensignale aller Quellen. Schließlich ergibt eine schnelle in- verse Fourier-Transformation (IFFT) dieser Blöcke und Verkettung gemäß dem Overlap- Save-Schema die Lautsprecheransteuersignale ym[k],m = Ο,.,,, -1 im Zeitbereich. Auf diese Weise werden die leistungskritischsten Teile der Transformationsbereichsfaltung, nämlich die FFT- und IFFT-Operationen nur einmal für jede Quelle bzw. jeden Lautsprecher durchgeführt. Fig. 4 zeigt die prinzipielle Struktur der Signalverarbeitung bei der Verwendung einer Fre- quency-Domain Delay Line gemäß der Erfindung. Gezeigt ist ein blockbasiertes Transformationsbereich- WFS-Signal Verarbeitungsschema. OS steht für overlap-save und FDL steht für Frequency-Domain Delay Line. Fig. 4 zeigt eine spezielle Implementierung des Ausführungsbeispieis von Fig. la, welches eine matrixförmige Struktur aufweist, wobei die Hin-Transformations-Stufe 100 einzelne
FFT-Blöcke 101 , 102, 103 aufweist. Darüber hinaus umfasst der Speicher 200 verschiedene Frequenzbereichs-Verzögerungsleitungen bzw. Frequency-Delay-Lines 201 , 202, 203, die über die Speicherzugriffssteuerung 600, die in Fig. 4 nicht gezeigt ist, angesteuert wer- den, um für jede Filterstufe 301 -309 das richtige Kurzzeitspektram zu bestimmen und der entsprechenden Filterstufe zu einem bestimmten Zeitpunkt zuzuführen, wie es anhand von Fig. 9 dargelegt worden ist. Darüber hinaus umfasst die Summiererstufe 400 schematisch gezeichnete Summierer 401 -406 und umfasst die Rück-Transformations-Stufe 800 einzel- ne IFFT-Blöcke 801 , 802, 803, um schließlich die Lautsprechersignale zu erhalten. Vorzugsweise sind sowohl die Blöcke 101 -103 als auch 801 -803 ausgebildet, um die entsprechend nötigen Verarbeitungsschritte vor der eigentlichen Transformation bzw. nach der eigentlichen Rücktransformation durchzuführen, die durch Verfahren der schnellen Fal- tutig gefordert werden, wie beispielsweise das Overlap-Save-Verfahren oder das Overlap- Add-Verfahren.
Wie anhand von Fig. 7 erläutert wurde, bestimmt der WFS-Operator eine einzelne Verzögerung für jede Quelle-Lautspreeher-Kombination. Obwohl das vorgeschlagene Signalver- arbeitungsschema eine effiziente Mehrkanal faltung ermöglicht, erfordert die Anwendung dieser Verzögerungen eine detaillierte Berücksichtigung. Bei dem herkömmlichen Zeitbereichsalgorithmus können ganzzahlwertige Abtastwertverzögerungen implementiert werden durch Zugreifen auf eine Zeitbereichsverzögerungsleitung mit geringer Auswirkung auf die Gesamtkomplexität. In dem Frequenzbereich kann eine Zeitverzögerung nicht auf die gleiche Weise implementiert werden.
Konzeptionell kann eine beliebige Zeitverzögerung ohne Weiteres in das FIR- Richtwirkungsfilter eingebaut werden. Aufgrund des großen Bereichs des Verzögerungswerts in einem typischen WFS-System führt dieser Lösungsansatz jedoch zu sehr großen Filterlängen und somit zu großen FFT-Blockgrößen. Einerseits erhöht dies den Rechenaufwand und die Speicheranforderungen wesentlich. Andererseits ist die Latenzzeit zur Bildung von Eingangsblöcken aufgrund der Blockbildungsverzögerung, die für solch große FFT-Größen erforderlich ist, für viele Anwendungen nicht akzeptabel. Aus diesem Grand wird hier ein Verarbeitungsschema vorgeschlagen, das auf einer Fre- quency-Domain Delay Line und einer Partitionierung des Verzögerungswerts basiert. Ähnlich wie bei dem herkömmlichen Overlap-Save-Verfahren wird das Eingangssignal in überlappende Blöcke der Größe L und einen Vorschub (oder Verzögerungsblockgröße) von B zwischen benachbarten Blöcken segmentiert. Die Blöcke werden transformiert in den Frequenzbereich und werden mit „[/] bezeichnet, wobei n die Quelle bezeichnet und / der Blockindex ist. Diese Blöcke werden in einer Struktur gespeichert, die indexierten Zugriff der Form X„[l-i]ani die jüngsten Frequenzbereichsblöcke ermöglicht. Diese Datenstruktur ist konzeptionell identisch mit Frequency-Domain Delay Lines, die in dem Kontext partitionierter Faltung verwendet werden.
Der Verzögerungswert /), gegeben in Abtastwerten, ist partioniert in ein Mehrfaches der
Blockverzögerungsgröße und einen Rest Dr bzw. I V
D = DhB + Dr mit() < D, < B - \, Dh e . (1 1 ) Die Blockverzögerung Dy wird als ein indexierter Zugriff in die Frequency-Domain Delay Line angelegt. Im Gegensatz dazu wird der Restteil aufgenommen in das Richtwirkungsfil- ter hm_n[k], was formal ausgedrückt wird durch eine Faltung mit dem Verzögerungsoperator
Figure imgf000029_0001
Für Ganzzahl verzögerungswerte entspricht diese Operation dem Voranstellen von hm k] mit Dr Nullen. Das resultierende Filter wird gemäß den Anforderungen der Overlap-Save- Operation mit Nullen aufgefüllt. Danach wird die Frequenzbereichsfilterdarstellung Hm d n durch eine FFT erhalten.
Die Frequenzbereichsdarstellung der Signalkomponente von der Quelle n zu dem Lautsprecher m wird berechnet als
Figure imgf000029_0002
wobei · eine elementweise komplexe Multiplikation bezeichnet. Die Frcquenzbcreiehsdar- Stellung des Ansteuersignais für den Lautsprecher m wird bestimmt durch Akkumulieren der entsprechenden Komponentensignale, was implementiert wird als eine komplex wertige
Vektoraddition
Figure imgf000029_0003
Der Rest des Algorithmus ist identisch mit dem gewöhnlichen Overlap-Save-Algorithmus. Die Blöcke Ym[i] werden in den Zeitbereich transformiert, und die Lautsprecheransteuersignale ym[ ] werden gebildet durch Löschen einer vorbestimmten Anzahl von Abtastwerten von jedem Zeitbereichsblock. Diese Signalverarbeitungsstruktur ist in Fig. 4 schematisch dargestellt. Die Längen der transformierten Segmente und die Verschiebung zwischen benachbarten Segmenten folgen von der Ableitung des herkömmlichen Overlap-Save-Algorithmus. Eine lineare Faltung eines Segments der Länge L mit einer Sequenz der Länge /', L<P, entspricht einer komplexen Multiplikation von zwei Frequenzbereichsvektoren der Größe L und ergibt L-P+l Ausgangsabtastwerte. Somit müssen die Eingangssegmente um diesen Betrag verschoben werden, nachfolgend bezeichnet als B=L-P+\ . Umgekehrt, um B Ausgangsabtastwerte von jedem Eingangssegment für eine Faltung mit einem FIR-Filter der Größenordnung Ä' (Länge P=K+l ) zu erhalten, müssen die transformierten Segmente eine Länge von
L = K + B. (15)
haben. Falls der Ganzzahlteil des Restteils Dr der Verzögerung eingebettet ist in das Filter hn n [k] gemäß (12), führt die erforderliche Größenordnung für hm d n [k] zu K ' = K + B - 1 , Dies Hegt daran, dass hm d n [k] höchstens B - 1 Nullen vorangestellt werden, was der Maximalwert für Dr (\ \ ) ist. Somit ist die erforderliche Segmentlänge für den vorgeschlagenen Λ1- gorithmus gegeben durch
L = K + 2B - \ . (16)
Bisher wurden nur Ganzzahlabtastwertverzögerungswerte D berücksichtigt. Das vorgeschlagene Verarbeitungsschema kann jedoch ausgedehnt werden auf beliebige Verzögerungswerte durch Aufnehmen eines FD-Filters (FD = fractional delay = Brachteilverzöge- rang), ein sogenanntes R i ch t wi rkungsfi 1 tcr hm d n [k] . Hier werden nur FIR-FD-Filter berücksichtigt, da dieselben ohne weiteres in den vorgeschlagenen Algorithmus integriert werden können. Zu diesem Zweck wird die Restverzögerung Dr partitioniert in einen Ganzzahlteil Din, und einen Brachte! 1 verzögerungswert d, wie es bei dem FD-Filterentwurf üblich ist. Der Ganzzahlteil wird integriert in hm d n [k] durch Voranstellen von Dint Nullen zu hm n[k]. Der Bruchteilverzögerungswert wird angelegt an hm d n [k] durch Falten desselben mit einem FD-Filter, das für diesen Bruchteilwert d entworfen ist. Somit erhöht sich die erforderliche Größenordnung von hm d n [k] um die Größenordnung des FD-Filters KFD und die erforderliche Blockgröße 1 (16) ändert sich zu
L = K + KFD + 2B - \ . (17)
Die Vorteile der Verwendung beliebiger Verzögerungswerte sind jedoch sehr begrenzt. Es hat sich gezeigt, dass Bruchteilverzögerungswerte nur für bewegte virtuelle Quellen erforderlich sind. Diese haben aber keine positive Auswirkung auf die Qualität für statische Quellen. Andererseits würde die Synthese bewegter gerichteter Schallquellen bzw. Schallquellen mit Richtcharakteristik ein konstantes zeitliches Variieren von Synthesefiltern er- fordern, deren Entwurf die Gesamtkomplexität der Aufbereitung in einer einfachen Implementierung dominieren würde.
Fig. 5 zeigt die prinzipielle Struktur der Signalverarbeitung mit einer Frequency-Domain Delay Line gemäß der Erfindung. Das Quellensignal Xk wird in sich überlappenden FFT- Berechnungsblöcken 502 der lock länge L in die Spektren transformiert, wobei die FFT- Berechnungsblöcke untereinander eine Überlappung der Länge (L-B) und einen Vorschub der Länge B aufweisen.
In einem nächsten Schritt erfolgt auf der Stufe 503 die schnelle Faltung nach dem Overlap- Save- Verfahren (OS) sowie die Rücktransformation mit einer IFFT in die Lautsprechersignale yo . . . M-i - Entscheidend ist hierbei, in welcher Weise der Zugriff auf die Spektren erfolgt. Exemplarisch sind in der Figur die Zugriffe 504, 505, 506 und 507 dargestellt. Be- zogen auf den Zeitpunkt des Zugriffs 507 liegen die Zugriffe 504, 505 und 506 dabei in der Vergangenheit,
Wenn nunmehr der Lautsprecher 51 1 mit dem Zugriff 507 angesteuert wird und gleichzei- tig die Lautsprecher 510, 512 mit dem Zugriff 506 angesteuert werden, dann erscheint es für den Hörer so, als ob die Lautsprechersignale der Lautsprecher 510, 512 gegenüber dem Lautsprechersignal des Lautsprechers 51 1 verzögert sind. Entsprechendes gilt auch für den Zugriff 505 und die Lautsprechersignale der Lautsprecher 509, 513 sowie für den Zugriff 504 und die Lautsprechersignale der Lautsprecher 508, 514,
Auf diese Weise kann jeder einzelne Lautsprecher mit einer Verzögerung angesteuert werden, die einem Vielfachen des Blockvorschubs B entspricht, Falls eine weitere Verzögerung vorgesehen werden soll, die kleiner als der Blockvorschub B ist, dann kann dies dadurch erreicht werden, indem Nullen der betreffenden Impulsantwort des Filters voran- gestellt werden, das Gegenstand der Overlap-Save-Operation ist.
Fig. 6 a - d zeigt eine vergleichende Darstellung des Berechnungsaufwands für verschiedene Faltungsalgorithmen. Gezeigt ist ein Komplexitätsvergleich von 3 verschiedenen Gerichteter Schallquellen bzw. Schallquellen mit Richtcharakteristik- Aufbereitungsalgorithmen. Dargestellt ist jeweils die Anzahl von Befehlen, um einen einzigen Abtastwert für alle Lautsprechersignale zu berechnen. Die Vorgabeparameter sind N = 16, M = 128, K = 1023, B = 1024. Für die transformationsbasierten Algorithmen ist die Proportionalitätskonstante für die pn -Komplexität auf p 3 eingestellt. Um den potenziellen Anstieg bei der Effizienz zu bewerten, der durch die vorgeschlagene Verarbeitungsstruktur gewonnen wird, wird hier ein Leistungsvergleich basierend auf der Anzahl arithmetischer Befehle gegeben. Es muss klar sein, dass dieser Vergleich nur grobe Schätzungen der relativen Leistung der unterschiedlichen Algorithmen geben kann. Die tatsächliche Leistung kann sich unterscheiden aufgrund der Charakteristika der tatsächli- chen Hardware- Architektur. Insbesondere unterscheiden sich die Leistungscharakteristika der beteiligten FFT-Operationen wesentlich, abhängig von der verwendeten Bibliothek, den tatsächlichen FFT-Größen und der Hardware. Darüber hinaus kann die Speicherleistung der verwendeten Hardware eine wesentliche Auswirkung auf die Effizienz der verglichenen Algorithmen haben. Aus diesem Grund werden auch die Speicheranforderungen für die Filterkoeffizienten und die Ver ögerungsleitungsstrukturcn, die die Hauptquellen des Speicherverbrauchs sind, ebenfalls angemerkt. Die Hauptparameter, die die Komplexität eines Aufbereitungsalgorithmus für Gerichteter Schallquellen bzw. Schallquellen mit Richtcharakteristik bestimmen, sind die Anzahl von virtuellen Quellen N, die Anzahl von Lautsprechern M, und die Filterordnung des Richt- wirkungsfilters Ä'. Für Verfahren, die auf schneller Faltung basieren, beeinträchtigt die 5 Verschiebung zwischen benachbarten Eingangsblöcken, die auch als Blockverzögerung B bezeichnet wird, die Leistungsfähigkeit und die Speicheranforderungen. Außerdem führt die blockweise Operation der schnellen Faltungsalgorithmen eine Implementierungslatenzzeit von B- \ Abtastwerten ein. Der maximal erlaubte Verzögerungswert, der als Dmax bezeichnet wird und als eine Anzahl von Abtastwerten gegeben ist, beeinflusst die Speicher- I C) große, die für die Verzögerungsleitungsstrukturen erforderlich ist.
Drei unterschiedliche Algorithmen werden verglichen: lineare Faltung, filterweise schnelle Faltung und die vorgeschlagene Verarbeitungsstruktur. Das Verfahren, das auf linearer Faltung basiert, führt A;A/-Zeitbcreichsfaltungen der Größenordnung K durch. Dies beläuft
1 5 sich auf NM(2K+ \ ) Befehle pro Abtastwert. Außerdem werden M(N- \ ) reale Additionen benötigt zum Akkumulieren der Lautsprecheransteuersignale. Der Speicher, der für eine einzelne Verzögerungsleitung erforderlich ist, ist Dmax+K Gleitkommawerte. Jedes der MN FIR-Filter hn„[k] erfordert Ä+l Speicherworte für Gleitkommawerte. Diese Leistungszahlen sind in der folgenden Tabelle zusammengefasst. Die Tabelle zeigt einen Leistungsver-
20 gleich für Wellenfeldsynthese-Signalverarbeitungsschemata für gerichteten Schallquellen bzw. Schallquellen mit Richtcharakteristik. Die Befehlsanzahl ist für die Berechnung eines Abtastwerts für alle Lautsprecher gegeben. Die Speicheranforderangen sind als Zahlen von G 1 ei tkomma werten spezifiziert.
25
Figure imgf000032_0001
Der zweite Algorithmus, der als filterweise lineare Faltung bezeichnet wird, berechnet die MN FIR-Filter getrennt unter Verwendung des overlap-save schnellen Faltungsverfahrens. Gemäß (15) ist die Größe der FFT-Blöcke, um B Abtastwerte pro Block zu berechnen, L=K+B. Für jedes Filter wird eine reellwertige FFT der Größe L und eine inverse FFT der gleichen Größe durchgeführt. Es wird eine Befehlsanzahl von pL\og2(L) angenommen für ein Vorwärts- oder Inverse-FFT der Größe L, wobei p eine Proportionalitätskonstante ist, die von der tatsächlichen Implementierung abhängt. Für p kann ein Wert zwischen 2,5 und 3 angenommen werden.
Da die Frequenztransformationen von reellwertigen Sequenzen symmetrisch sind, erfordert die komplexe Vektormultiplikation der Länge L, die bei dem Overlap-Save- Verfahren durchgeführt wird, etwa LI2 komplexe Multiplikationen, Da eine einzelne komplexe Mul- tiplikation durch 6 arithmetische Befehle implementiert wird, beträgt der Aufwand für eine
Vektormultiplikation 3L Befehle. Somit erfordert Filtern unter Verwendung des Overlap-
K + B
Save-Vcrfahrens MN -— -[2p log2 (K + B) + 3] für einen einzigen Ausgangsabtastwert
B
auf allen Lautsprechersignalen. Ähnlich in dem direkten Faltungsalgorithmus beläuft sich der Aufwand für die Akkumulation der Lautsprechersignale M(N-\ ) auf Befehle. Der Ver- zögerungsleitungsspeicher ist identisch mit dem linearen Faltungsalgorithmus. Im Gegensatz dazu sind die Speicheranforderangen für die Filter erhöht aufgrund der Null- Auffüllungen der Filter hm n[k] vor der Frequenztransformation, Es ist anzumerken, dass eine Frequenzbereichsdarstellung eines realen Filters der Länge L in L reellwertigem Gleitkommawerten gespeichert werden kann aufgrund der Symmetrie der transformierten Sequenz.
Für das vorgeschlagene effiziente Verarbeitungsschema ist die Blockgröße für eine Blockverzögerung B gleich L=K+2B- \ ( 16). Somit erfordert eine einzelne FFT- oder inverse
FFT-Operation 2/M )log2(Ä'+2/M ) Befehle. Jedoch sind nur N Vorwärts- und M In- vers-FFT-Operationen für jeden Audioblock erforderlich. Die komplexe Multiplikation und Addition werden beide an der Frequenzbereichsdarstellung durchgeführt und erfordern 3(K+2B- \ ) beziehungsweise Κ+2ΒΛ Befehle für jeden symmetrischen Frequenzbereichsblock der Länge Κ+2ΒΛ . Da jeder verarbeitete Block B Ausgangsabtastwerte ergibt, beläuft sich die Gesamtanzahl von Befehlen für eine Abtasttaktiteration auf Κ^Β - {M + N)p i0g2 (K + 2B - l) + M(4N - 1)] . Da die Frequency-Domain Delay B
Line das Eingangssignal in Blöcken der Größe L speichert, mit einer Verschiebung von B, ist die Anzahl von Speicherpositionen, die für ein einzelnes Eingangssignal erforderlich ist,
~~ (Ä" + 2B - ] ) . Gleichartig dazu erfordert ein frequenztransformiertes Filter K-2B- 1 Speicherwörter. Um die relative Leistungsfähigkeit dieser Algorithmen zu bewerten, wird ein beispielhaftes Wellenfeldsynthese- Aufbereitungssystem für 16 virtuelle Quellen, 128 Lautsprecherkanäle, Richtwirkungsfilter der Größenordnung 1023 und eine Blockverzögerung von 1024 angenommen. Jeder Parameter wird getrennt variiert, um seinen Einfluss auf die Gesamt- 'Komplexität zu bewerten.
Fig. 6a zeigt die Komplexität als eine Funktion der Anzahl virtueller Quellen N. Wie erwartet überschreitet die Effizienz des filterweisen schnellen Faltungsalgorithmus diejenige des linearen Faltungsalgorithmus um einen beinahe konstanten Faktor. Der Effizienzge- winn des vorgeschlagenen Algorithmus im Vergleich zu der filterweisen schnellen Faltung erhöht sich, wenn N größer wird, wodurch schnell ein relativ konstantes Verhältnis erreicht wird. Es erscheint bemerkenswert, dass der vorgeschlagene Algorithmus selbst für eine einzige Quelle effizienter ist. Er erfordert jedoch nur M + N = 129 Transformationen der Größe K+2BA im Vergleich zu 2MN=256 für filterweise schnelle Faltung. Diese Differenz wird durch die größere Blockgröße und den erhöhten Multiplikations- und Additionsaufwand, der von dem vorgeschlagenen Algorithmus benötigt wird, nicht amortisiert.
Der Einfluss der Anzahl von Lautsprechern ist in Fig. 6b gezeigt. Wie es von der Komplexitätsanalyse erwartet wird, sind die Funktionen qualitativ sehr ähnlich zu Fig. 6a. Somit erreicht die vorgeschlagene Verarbeitungsstruktur eine signifikante Komplexitätsreduktion selbst für kleine bis mittelgroße Lautsprecherkonfigurationen.
Der Effekt der Größenordnung der Richtwirkungsfilter wird in Fig. 6c untersucht. Wie es schnellen Faltungsalgorithmen inhärent ist, erhöht sich ihre Leistungsverbesserung über der linearen Faltung mit der Filtergrößenordnung. Es wird beobachtet, dass die Gewinnschwelle, wo filterweises schnelles Falten effizienter wird als direkte Faltung zwischen 31 und 63 liegt. Im Gegensatz dazu ist die Effizienz des vorgeschlagenen Algorithmus wesentlich höher, unabhängig von der Filtergrößenordnung. Insbesondere ist die Gewinnschwelle, wo lineare Faltung effizienter werden würde, sehr viel niedriger als für die schnelle Faltung. Dies liegt an der Tatsache, dass die Anzahl von FFT- und IFFT- Operationen, die die Hauptkomplexität im Falle einer filterweisen schnellen Faltung ist, durch das vorgeschlagene Verarbeitungsschema wesentlich reduziert ist. Es muss angemerkt werden, dass bei diesem Experiment die Blockverzögerungsgröße B proportional zu der Filterlänge (tatsächlich B = K+l) gewählt ist, da sich diese Wahl für den Overlap-Save- Algorithmus als vernünftig erwiesen hat.
In Fig. 6d werden die Auswirkungen der B 1 ock verzögerun gsgröße B für eine feste Filtergrößenordnung K untersucht. Weil die lineare Faltung nicht blockorientiert ist, ist die Komplexität für diesen Algorithmus konstant. Es wird beobachtet, dass die Effizienz des vorgeschlagenen Algorithmus diejenige der filterweisen schnellen Faltung um einen etwa konstanten Faktor übersteigt. Diese impliziert, dass die erhöhte Blockgröße L = K+2B - 1 im Vergleich zu K+B für die filterweise schnelle Faltung keinen nachteiligen Effekt auf die Effizienz hat, unabhängig von der Blockverzögerung.
Für die betrachtete Konfiguration (7V=16, M=16, Ä' ^ 1023. B~ 1 024) und einen maximalen
Verzögerungswert max=48000, der einem Verzögerungswert von einer Sekunde bei einer Abtastfrequenz von 48 kHz entspricht, erfordern die linearen Faltungsalgorithmen etwa 2,9 106 Speicherwörter. Für die gleichen Parameter verwendet der filierweise schnelle Faltungsalgorithmus etwa 5,0 · 106 Gleitkommaspeicherpositionen. Der Anstieg liegt an der Größe der vorberechneten Frequenzbereichsfilterdarstellungen. Der vorgeschlagene Algorithmus erfordert etwa 8,6 · 106 Wörter des Speichers aufgrund der Frequency-Domain Delay Line und der erhöhten Blockgröße für die Frequenzbereichsdarstellungen des Ein- gangssignals und der Filter. Somit wird die Leistungsverbesserung des vorgeschlagenen Algorithmus im Vergleich zu filterweiser schneller Faltung gewonnen durch einen Anstieg des erforderlichen Speichers von etwa 72,7%. Somit kann der vorgeschlagene Algorithmus als ein Raum-Zeit-Kompromiss betrachtet werden, der zusätzlichen Speicher verwendet, um vorberechnete Ergebnisse zu speichern, wie z.B. Frequenzbereichsdarstellungen des Eingangssignals, um eine effizientere Implementierung zu ermöglichen.
Die zusätzlichen Speicheranforderungen können einen nachteiligen Effekt auf die Leistungsfähigkeit haben, z.B. durch verringerte Cache-Lokalität. Gleichzeitig ist es wahrscheinlich, dass die reduzierte Anzahl von Befehlen, die eine reduzierte Anzahl von Spei- cherzugriffen implizieren, diesen Effekt minimiert. Es ist daher notwendig, die Leistungsgewinne des vorgeschlagenen Algorithmus für die beabsichtigte Hardware-Architektur zu untersuchen und zu bewerten. Gleichartig dazu müssen die Parameter des Algorithmus, wie z.B. die FFT-Blockgröße L oder die Blockverzögerung B auf die spezifische Zielplattform abgestimmt werden.
Obgleich bestimmte Elemente als Vorrichtungselemente beschrieben sind, sei darauf hingewiesen, dass diese Beschreibung gleichermaßen als Beschreibung von Schritten eines Verfahrens und umgekehrt anzusehen ist. Abhängig von den Gegebenheiten kann das erfindungsgemäße Verfahren in Hardware oder in Software implementiert werden. Die Implementierung kann auf einem nicht vergänglichen (non-transitory) Speichermedium, einem digitalen Speichermedium, insbesondere einer Diskette oder CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computer- Programm-Produkt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des Verfahrens, wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computer-Programm auf einem Computer abläuft.

Claims

Patentansprüche
Vorrichtung zum Berechnen von Lautsprcchersignalcn für eine Mehrzahl von Lautsprechern unter Verwendung einer Mehrzahl von Audioquelien, wobei eine Audioquelle ein Audiosignal (1 0) aufweist, mit folgenden Merkmalen: einer Hin-Transformations-Stufe (100) zum blockweisen Transformieren jedes Audiosignals (10) in einen Spektralbereich, um für jedes Audiosignal eine Mehrzahl von zeitlich aufeinanderfolgenden Kurzzeitspektren zu erhalten; einem Speicher (200) zum Speichern einer Anzahl von zeitlich aufeinanderfolgenden Kurzzeitspektren für jedes Audiosignal; einer Speicherzugriffssteuerung (600) zum Zugreifen auf ein bestimmtes Kurzzeitspektrum aus der Mehrzahl von zeitlich aufeinanderfolgenden Kurzzeitspektren für eine Kombination aus einem Lautsprecher und einem Audiosignal basierend auf einem Verzögerungswert (701); einer Filterstufe (300) zum Filtern des bestimmten Kurzzeitspektrums für die Kombination aus dem Audiosignal und dem Lautsprecher mit einem Filter, das für die Kombination aus dem Audiosignal und dem Lautsprecher vorgesehen ist, so dass für jede Kombination aus einem Audiosignal und einem Lautsprecher ein gefiltertes Kurzzeitspektrum erhalten wird; einer Summiererstufe (400) zum Aufsummieren der gefilterten Kurzzeitspektren für einen Lautsprecher, um für jeden Lautsprecher aufsummierte Kurzzeitspektren zu erhalten; und einer Rück-Transformations-Stufe (800) zum blockweisen Rücktransformieren von aufsummierten Kurzzeitspektren für die Lautsprecher in einen Zeitbereich, um die
Lautsprechersignale zu erhalten.
Vorrichtung nach Anspruch 1 , bei der die Hin-Transformations-Stufe (100) ausgebildet ist, um die Folge von Kurzzeitspektren mit einem Vorschubwert (B) aus einer Folge von zeitlichen Abtastwerten zu ermitteln, so dass ein erster Abtastwert eines ersten Blocks von zeitlichen Abtastwerten, die in ein Kurzzeitspektrum umgesetzt werden, von einem ersten Abtastwert eines zweiten darauffolgenden Blocks von zeitlichen Abtastwerten um eine Anzahl von Abtastwerten beabstandet ist, die gleich dem Vorschubwert ist, bei der einem Kurzzeitspektrum ein Blockindex (269) zugeordnet ist, der angibt, um wie viele Vorschubwerte der erste Abtastwert des Kurzzeitspektrums von einem
Referenzwert (249) zeitlich entfernt ist, wobei die Speicherzugriffssteuerung (600) ausgebildet ist, um das bestimmte Kurzzeitspektrum basierend auf dem Verzögerungswert (701 ) und dem Blockindex (269) des bestimmten Kurzzeitspektrums derart zu bestimmten, dass der Blockindex (269) des bestimmten Kurzzeitspektrums gleich einem ganzzahligen Ergebnis einer Division einer Zeitdauer, die dem Verzögerungswert entspricht, und der Zeitdauer, die dem Vorschubwert entspricht, ist, oder um 1 größer ist. Vorrichtung nach Anspruch 1 oder 2, bei der die Filterstufe (300) ausgebildet ist, um aus einer Impulsantwort eines Filters, das für die Kombination aus einem Lautsprecher und einem Audiosignal vorgesehen ist, eine modifizierte Impulsantwort zu ermitteln, indem eine Anzahl von Nullen an einem zeitlichen Anfang der Impulsantwort eingefügt wird, wobei die Anzahl von Nullen von dem Verzögerangs wert (701) für die Kombination aus dem Audiosignal und dem Lautsprecher und dem Blockindex des bestimmten Kurzzeitspektrums für die Kombination aus dem Audiosignal und dem Lautsprecher abhängt.
Vorrichtung nach Anspruch 3, bei der die Filterstufe 300 ausgebildet ist, um eine solche Anzahl von Nullen einzufügen, dass eine Zeitdauer, die der Anzahl von Nullen entspricht, kleiner oder gleich dem Rest einer ganzzahligen Division der Zeitdauer, die dem Verzögerungswert entspricht, und der Zeitdauer, die dem Vor- schubwert entspricht, ist.
Vorrichtung nach Ansprach 4, bei der das Filter ein Fractional-Delay-Filter aufweist, das ausgebi ldet ist, um eine Verzögerung um einen Bruchteil einer Zeitdauer zwischen zwei benachbarten diskreten Impulsantwortwerten zu implementieren, wobei der Bruchteil von dem ganzzahligen Ergebnis der Division der Zeitdauer, die dem Verzögerungswert entspricht, und der Zeitdauer, die dem Vorschubwert entspricht, und von der Anzahl von Nullen, die in die Impulsantwort eingefügt ist, abhängt. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Filterstufe (300) ausgebildet ist, um das bestimmte Kurzzeitspektrum mit einer Übertragungsfunktion des Filters spektral wertweise zu multiplizieren.
Vorrichtung nach Anspruch 1 , bei der der Speicher (200) für jede Audioquelle eine Frequenzbereichs-Verzögerungsleitung (201 , 202, 203) mit wahlfreiem Zugriff auf die für diese Audioquellc gespeicherten Kurzzeitspektren aufweist, wobei ein Zugriff über einen Blockindex (269) für jedes Kurzzeitspektrum ausführbar ist.
Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Hin-Transformations-Stufe (1 00) eine Anzahl von Transformationsblöcken (101 , 1 02, 103) aufweist, die gleich der Anzahl von Audioquellen ist, bei der die Rück -Transformations-Stufe (800) eine Anzahl von Transformationsblöcken (801 , 802, 803) aufweist, die gleich der Anzahl der Lautsprechersignale ist, bei der eine Anzahl von Frequenzbereichs-Verzögerungsleitungen (201 , 202, 203) gleich der Anzahl der Audioquellen ist, und bei der die Filterstufe (300) eine Anzahl von Einzelfiltern (301 , 302, 303, 304, 305, 306, 307, 308, 309) aufweist, die gleich dem Produkt aus der Anzahl von Audiquellen und der Anzahl der Lautsprechersignale ist.
Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Hin-Transformations-Stufe und die R ück-Tran s orm at i o n s- S tu fe gemäß einem Overlap-Save- Verfahren ausgebildet sind, wobei die Hin-Transformations-Stufe (100) ausgebildet ist, um das Audiosignal unter Verwendung eines Vorschubwerts (B) in überlappende Blöcke zu zerlegen, um die Kurzzeitspektren zu erhalten, und wobei die Rück-Transformations-Stufe (800) ausgebildet ist, um nach der Rück- transformation der gefilterten Kurzzeitspektren für einen Lautsprecher bestimmte
Bereiche in den rücktransformierten Blöcken zu verwerfen und nicht verworfene Abschnitte aneinander zu fügen, um das Lautsprechersignal für den .Lautsprecher zu erhalten.
10. Vorrichtung nach einem der Ansprüche 1 bis 8, bei der die Hin-Transformations-Stufe ( 100) und die Rück-Transformations-Stufe (800) gemäß einem Overlap-Add-Verfahren ausgebildet sind, wobei die Hin-Transformations-Stufe ( 100) ausgebildet ist, um das Audiosignal unter Verwendung eines Vorschubwerts (B) in aneinander angrenzende Blöcke, die gemäß dem Overl ap-Add- Verfahren mit Nullen aufgefüllt werden (Zero Padding), zu zerlegen, wobei eine Transformation mit den gemäß dem Overlap-Add- Verfahren mit Nullen aufgefüllten Blöcken durchgeführt wird, wobei die Rück-Transformations-Stufe (800) ausgebildet ist, um nach der Rück- transformation der aufsummierten Spektren für einen Lautsprecher überlappende Bereiche von rücktransformierten Blöcken aufzusummieren, um das Lautsprechersignal für den Lautsprecher zu erhalten.
1 1 . Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Hin-Transformations-Stufe ( 100) und die Rück-Transformations-Stufe (800) ausgebildet sind, um einen Digitale-Fourier-Transfor ation-Algorithmus o- der einen Inverse-Digitale-Fourier-Transformation-Algorithmus auszuführen.
12. Vorrichtung nach einem der vorhergehenden Ansprüche, die ferner folgendes
Merkmal aufweist: einen Wellenfeldsynthese-Operator (700), der ausgebildet ist, um für jede Kombination aus einem Lautsprecher und einer Audioquelle unter Verwendung einer virtuellen Position der Audioquel le und der Position des 1.autsprechers den Verzögerungswert (700) zu erzeugen und zur Speicherzugriffssteuerung (600) oder zur Filterstufe (300) zu liefern.
13. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Audioquelle eine richtungsabhängige Charakteristik hat, wobei die Filterstufe (200) ausgebildet ist, um für unterschiedliche Kombinationen aus Lautsprechern und Audiosignalen unterschiedliche Filter zu verwenden. 1 4, Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Hin-Transformations-Stufe (100) ausgebildet ist, um die blockweise Transformation unter Verwendung eines Vorschubs (B) auszuführen, bei der die Speicherzugriffsstetierung (600) ausgebildet ist, um den Verzögerungswert in ein Vielfaches des Vorschubs und einen Rest zu parti Pionieren, und um unter Verwendung des Vielfachen des Vorschubs auf den Speicher (200) zuzugreifen, um das bestimmte Kurzzeitspektram wiederzugewinnen.
1 5. Vorrichtung nach Anspruch 14, bei der die Filterstufe (300) ausgebildet ist, um das Filter unter Verwendung des Rests zu bilden,
16. Vorrichtung nach einem der Ansprüche 1 bis 13, bei der die Hin-Transformations-Stufe (100) ausgebildet ist, um eine blockweise Fast-Fourier-Transformation zu verwenden, deren Länge gleich K + B ist, wobei B ein Vorschub bei der Erzeugung aufeinanderfolgender Blöcke ist, wobei K eine Ordnung des Filters der Filterstufe ist, wenn das Filter ausgebildet ist, um keinen weiteren Verzögerungsbeitrag zu liefern.
17. Vorrichtung nach einem der Ansprüche 1 bis 1 5, bei der die Hin- Transformations-Stufe (100) ausgebildet ist, um eine blockweise Fast-Fourier-Transformation zu verwenden, deren Länge gleich K + 2 B - 1 ist, wobei B ein Vorschub bei der Erzeugung aufeinanderfolgender Blöcke ist, und wobei K eine Ordnung des Filters ohne Verzögerungsleitung ist, wobei in eine Impulsantwort höchstens (B - 1 ) Nullen eingefügt worden sind, damit durch das Filter eine zusätzliche Verzögerung geliefert wird.
] 8, Verfahren zum Berechnen von Lautsprechersignalen für eine Mehrzahl von Lautsprechern unter Verwendung einer Mehrzahl von Audioquellen, wobei eine Audioquelle ein Audiosignal (10) aufweist, mit folgenden Schritten: blockweises Hintransformieren jedes Audiosignals (10) in einen Spektralbereich, um für jedes Audiosignal eine Mehrzahl von zeitlich aufeinanderfolgenden Kurzzeitspektren zu erhalten; Speichern einer Anzahl von zeitlich aufeinanderfolgenden Kurzzeitspektren für jedes Audiosignal;
Zugreifen auf ein bestimmtes Kurzzeitspektrum aus der Mehrzahl von zeitlich aufeinanderfolgenden Kurzzeitspektren für eine Kombination aus einem Lautsprecher und einem Audiosignal basierend auf einem Verzögerungswert (701);
Filtern des bestimmten Kurzzeitspektrums für die Kombination aus dem Audiosignal und dem Lautsprecher mit einem Filter, das für die Kombination aus dem Audiosignal und dem Lautsprecher vorgesehen ist, so dass für jede Kombination aus einem Audiosignal und einem Lautsprecher ein gefiltertes Kurzzeitspektrum erhalten wird;
Aufsummieren der gefilterten Kurzzeitspektren für einen Lautsprecher, um für jeden Lautsprecher aufsummierte Kurzzeitspektren zu erhalten; und blockweises Rücktransformieren von aufsummierten Kurzzeitspektren für die Lautsprecher in einen Zeitbereich, um die Lautsprechersignale zu erhalten, Computerprogramm mit einem Programmcode zum Ausführen des Verfahrens nach Anspruch 18, wenn der Programmcode auf einem Computer oder Prozessor läuft.
PCT/EP2012/077075 2012-01-13 2012-12-28 Vorrichtung und verfahren zum berechnen von lautsprechersignalen für eine mehrzahl von lautsprechern unter verwendung einer verzögerung im frequenzbereich Ceased WO2013104529A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP12816679.0A EP2656633B1 (de) 2012-01-13 2012-12-28 Vorrichtung und verfahren zum berechnen von lautsprechersignalen für eine mehrzahl von lautsprechern unter verwendung einer verzögerung im frequenzbereich
JP2014551566A JP5969627B2 (ja) 2012-01-13 2012-12-28 周波数ドメインにおける遅延を使用しながら複数のラウドスピーカのためのラウドスピーカ信号を計算する装置及び方法
US14/329,457 US9666203B2 (en) 2012-01-13 2014-07-11 Device and method for calculating loudspeaker signals for a plurality of loudspeakers while using a delay in the frequency domain
US15/603,946 US10347268B2 (en) 2012-01-13 2017-05-24 Device and method for calculating loudspeaker signals for a plurality of loudspeakers while using a delay in the frequency domain

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102012200512A DE102012200512B4 (de) 2012-01-13 2012-01-13 Vorrichtung und Verfahren zum Berechnen von Lautsprechersignalen für eine Mehrzahl von Lautsprechern unter Verwendung einer Verzögerung im Frequenzbereich
DE102012200512.9 2012-01-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/329,457 Continuation US9666203B2 (en) 2012-01-13 2014-07-11 Device and method for calculating loudspeaker signals for a plurality of loudspeakers while using a delay in the frequency domain

Publications (1)

Publication Number Publication Date
WO2013104529A1 true WO2013104529A1 (de) 2013-07-18

Family

ID=47598778

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2012/077075 Ceased WO2013104529A1 (de) 2012-01-13 2012-12-28 Vorrichtung und verfahren zum berechnen von lautsprechersignalen für eine mehrzahl von lautsprechern unter verwendung einer verzögerung im frequenzbereich

Country Status (5)

Country Link
US (2) US9666203B2 (de)
EP (1) EP2656633B1 (de)
JP (2) JP5969627B2 (de)
DE (1) DE102012200512B4 (de)
WO (1) WO2013104529A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9666203B2 (en) 2012-01-13 2017-05-30 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Device and method for calculating loudspeaker signals for a plurality of loudspeakers while using a delay in the frequency domain

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10166388B2 (en) * 2013-10-07 2019-01-01 Med-El Elektromedizinische Geraete Gmbh Method for extracting temporal features from spike-like signals
KR102413692B1 (ko) * 2015-07-24 2022-06-27 삼성전자주식회사 음성 인식을 위한 음향 점수 계산 장치 및 방법, 음성 인식 장치 및 방법, 전자 장치
KR102192678B1 (ko) 2015-10-16 2020-12-17 삼성전자주식회사 음향 모델 입력 데이터의 정규화 장치 및 방법과, 음성 인식 장치
US9497561B1 (en) * 2016-05-27 2016-11-15 Mass Fidelity Inc. Wave field synthesis by synthesizing spatial transfer function over listening region
WO2018071546A1 (en) * 2016-10-11 2018-04-19 The Research Foundation For The State University Of New York System, method, and accelerator to process convolutional neural network layers
CN110603821B (zh) 2017-05-04 2025-06-24 杜比国际公司 渲染具有表观大小的音频对象
US11158341B2 (en) * 2017-12-22 2021-10-26 Soundtheory Limited Frequency response method and apparatus
US11122363B2 (en) * 2018-03-01 2021-09-14 Nippon Telegraph And Telephone Corporation Acoustic signal processing device, acoustic signal processing method, and acoustic signal processing program
US11356790B2 (en) * 2018-04-26 2022-06-07 Nippon Telegraph And Telephone Corporation Sound image reproduction device, sound image reproduction method, and sound image reproduction program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009046223A2 (en) * 2007-10-03 2009-04-09 Creative Technology Ltd Spatial audio analysis and synthesis for binaural reproduction and format conversion
US20100208905A1 (en) * 2007-09-19 2010-08-19 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Device and a method for determining a component signal with high accuracy

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999001953A1 (en) 1997-07-02 1999-01-14 Creative Technology, Ltd. Audio effects processor having decoupled instruction execution and audio data sequencing
JP4627880B2 (ja) 1997-09-16 2011-02-09 ドルビー ラボラトリーズ ライセンシング コーポレイション リスナーの周囲にある音源の空間的ひろがり感を増強するためのステレオヘッドホンデバイス内でのフィルタ効果の利用
WO1999049574A1 (en) * 1998-03-25 1999-09-30 Lake Technology Limited Audio signal processing method and apparatus
DE102005008369A1 (de) 2005-02-23 2006-09-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Simulieren eines Wellenfeldsynthese-Systems
DE102005008366A1 (de) 2005-02-23 2006-08-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Ansteuern einer Wellenfeldsynthese-Renderer-Einrichtung mit Audioobjekten
DE102006010212A1 (de) 2006-03-06 2007-09-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur Simulation von WFS-Systemen und Kompensation von klangbeeinflussenden WFS-Eigenschaften
US9197977B2 (en) * 2007-03-01 2015-11-24 Genaudio, Inc. Audio spatialization and environment simulation
US8520873B2 (en) 2008-10-20 2013-08-27 Jerry Mahabub Audio spatialization and environment simulation
EP2450880A1 (de) * 2010-11-05 2012-05-09 Thomson Licensing Datenstruktur für Higher Order Ambisonics-Audiodaten
DE102012200512B4 (de) 2012-01-13 2013-11-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Berechnen von Lautsprechersignalen für eine Mehrzahl von Lautsprechern unter Verwendung einer Verzögerung im Frequenzbereich

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100208905A1 (en) * 2007-09-19 2010-08-19 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Device and a method for determining a component signal with high accuracy
WO2009046223A2 (en) * 2007-10-03 2009-04-09 Creative Technology Ltd Spatial audio analysis and synthesis for binaural reproduction and format conversion

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BERKHOUT, A.J.; DE VRIES, D.; VOGEL, P.: "Acoustic Control By Wavefield Synthesis", JASA, vol. 93, 1993

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9666203B2 (en) 2012-01-13 2017-05-30 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Device and method for calculating loudspeaker signals for a plurality of loudspeakers while using a delay in the frequency domain

Also Published As

Publication number Publication date
US10347268B2 (en) 2019-07-09
US20180012612A1 (en) 2018-01-11
US20140348337A1 (en) 2014-11-27
DE102012200512A1 (de) 2013-07-18
US9666203B2 (en) 2017-05-30
JP6254142B2 (ja) 2017-12-27
EP2656633A1 (de) 2013-10-30
EP2656633B1 (de) 2015-07-08
JP2015507421A (ja) 2015-03-05
JP2016106459A (ja) 2016-06-16
US20180358029A9 (en) 2018-12-13
JP5969627B2 (ja) 2016-08-17
DE102012200512B4 (de) 2013-11-14

Similar Documents

Publication Publication Date Title
DE102012200512B4 (de) Vorrichtung und Verfahren zum Berechnen von Lautsprechersignalen für eine Mehrzahl von Lautsprechern unter Verwendung einer Verzögerung im Frequenzbereich
DE102014214143B4 (de) Vorrichtung und Verfahren zum Verarbeiten eines Signals im Frequenzbereich
EP2189010B1 (de) Eine vorrichtung und ein verfahren zur ermittlung eines komponentensignals in hoher genauigkeit
EP2080411B1 (de) Vorrichtung und Verfahren zum Erzeugen einer Anzahl von Lautsprechersignalen für ein Lautsprecher-Array, das einen Wiedergaberaum definiert
EP3183891B1 (de) Fir-filter-koeffizienten-berechnung für beamforming-filter
EP1671516B1 (de) Vorrichtung und verfahren zum erzeugen eines tieftonkanals
EP1680910A1 (de) Vorrichtung und verfahren zum verarbeiten eines eingangssignals
DE10254404B4 (de) Audiowiedergabesystem und Verfahren zum Wiedergeben eines Audiosignals
EP2891334B1 (de) Erzeugung von mehrkanalton aus stereo-audiosignalen
EP1972181B1 (de) Vorrichtung und verfahren zur simulation von wfs-systemen und kompensation von klangbeeinflussenden wfs-eigenschaften
WO2006094635A1 (de) Vorrichtung und verfahren zum erzeugen eines codierten stereo-signals eines audiostücks oder audiodatenstroms
EP1844627B1 (de) Vorrichtung und verfahren zum simulieren eines wellenfeldsynthese-systemes
EP2754151B1 (de) Vorrichtung, verfahren und elektroakustisches system zur nachhallzeitverlängerung
WO2018149774A1 (de) Verfahren und vorrichtung zur verarbeitung eines digitalen audiosignals für binaurale wiedergabe
EP2485504B1 (de) Erzeugung von stillen Gebieten innerhalb der Zuhörerzone vielkanaliger Wiedergabesysteme
DE102019126509A1 (de) Verbesserung der subjektiven bass-wahrnehmung eines audiosignals mit hilfe höherer harmonischer

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2012816679

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12816679

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014551566

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE