76
D. Rocchesso: Sound Processing
complexity­latency tradeoff
low-latency block based
implementations of
convolution
frequency domain: Given the Fourier transform of the impulse response, and
the Fourier transform of a block of input signal, the two can be multiplied point
by point and the result transformed back to the time domain. As this kind of
processing is performed on successive blocks of the input signal, the output sig-
nal is obtained by overlapping and adding the partial results [65]. Thanks to
the FFT computation of the discrete Fourier transform, such technique can be
significantly faster. A drawback is that, in order to be operated in real time, a
block of N samples must be read and then processed while a second block is
being read. Therefore, the input-output latency in samples is twice the size of
a block, and this is not tolerable in practical real-time environments.
The complexity­latency tradeoff is illustrated in fig. 16, where the direct-
form and the block-processing solutions can be located, together with a third
efficient yet low-latency solution [37, 64]. This third realization of convolution is
based on a decomposition of the impulse response into increasingly-large chunks.
The size of each chunk is twice the size of its predecessor, so that the latency of
prior computation can be occupied by the computations related to the following
impulse-response chunk. Details and discussion on convolution were presented
complexity
latency
Block-based FFT
Non-uniform
block-based FFT
Direct form FIR
Figure 16: Complexity Vs. Latency tradeoff in convolution
in sec. 2.5.
Even if we have enough computer power to compute convolutions by long im-
pulse responses in real time, there are still serious reasons to prefer reverberation
algorithms based on feedback delay networks in many practical contexts. The
reasons are similar to those that make a CAD description of a scene preferable
to a still picture whenever several views have to be extracted or the environ-
ment has to be modified interactively. In fact, it is not easy to modify a room
impulse response to reflect some of the room attributes, e.g. its high-frequency
absorption, and it is even less obvious how to spatialize the echoes of the impulse
response in order to get a proper sense of envelopment. If the impulse response
is coming from a spatial rendering algorithm, such as ray tracing, these manip-
ulations can be operated at the level of room description, and the coefficients of
the room impulse response transmitted to the real-time convolver. In the low-
latency block based implementations of convolution, we can even have faster
update rates for the smaller early chunks of the impulse response, and slower
update rates for the reverberant tail. Still, continuous variations of the room
impulse response are easier to be rendered using a model of reverberation oper-
ating on a sample-by-sample basis.
Next Page >>
<< Previous Page
Back to the Table of Contents