Header image  
by Ralph Glasgal
 
line decor
Home Tutorials Tech
Papers
Kudos and
Pictures
Demos Bio Free Ambio
book
Glossary The Home
Concert Hall
PC/Mobile
Applications
Rec Engineers
Corner
FAQ/Forum Links Contact us
line decor
 
 
 
 


Real-Time Partitioned Convolution for Ambiophonics Surround Sound

By Anders Torger, University of Parma Industrial Engineering Dept. V.Scienze 181/A, 43100 PARMA, ITALY
Email: torger@ludd.luth.se

and Angelo Farina University of Parma Industrial Engineering Dept. V.Scienze 181/A, 43100 PARMA, ITALY
Email: farina@pcfarina.eng.unipr.it

Abstract

Ambiophonics, as one of the most realistic music reproduction methods, requires multi-channel convolution with very long impulse responses for creation of believable reverberation.

In this paper it is shown how the heavy processing task required for a real-time Ambiophonics system, or similar convolution-intensive system, can be handled by a low-cost personal computer, by means of partitioned convolution.

The only theoretical advantage of partitioned convolution is that it provides low input/output delay. However, since the intensive part of it is very easily made optimal for the target platform, which normally is not the case for the standard overlap-and-save algorithm, it often provides the fastest convolution as well.

1. Introduction

The Ambiophonics surround system [1], is based on the coupling of two different reproduction methods: transaural presentation of a cross-talk cancelled stereo recording, and multi-channel 3D reconstruction of the room’s reverberation by means of convolution with multiple IRs. Ambiophonics was pioneered by Glasgal [2], employing initially a physical barrier for the cross-talk cancellation, and multiple hardware convolvers for the reverberation.

A first important advancement was the substitution of the physical barrier with a DSP-system capable of signal processing for cross-talk cancellation. This was possible thanks to the stereo dipole concept initially developed by Kirkeby, Nelson and Hamada [3], and further refined with the help of one of the authors [4].

The surround part of an Ambiophonics system was however still based on expensive hardware convolvers, until the first software-based multi-channel convolvers were made available by Lopez [5] and by one of the authors [6].

The goal of this paper is to describe the partitioned convolution algorithm employed inside the multi-channel software convolver in [6], and discussing its performance in comparison with two other arithmetically cheaper algorithms: traditional overlap-and-save, described in the Oppenheim-Shafer book [7], and non-uniform partitioned convolution described by Gardner [8]. It will be shown that although the convolution method employed here is obviously less efficient than the other two, it is much easier to optimize the code at low level for target processors such as Intel Pentium III/4 or AMD K6/Athlon, leading to a CPU load which in many cases is significantly lower.

An additional advantage is that partitioned convolution allows for a small overall latency, becoming a serious contender to the hybrid zero-delay convolution algorithm patented by Lake Technology and clearly described by Gardner, since it has a significantly lower computational load [8], and is trivial to implement. This becomes even more evident in crosstalk cancellation applications like Ambiophonics, where delay is introduced in the filters themselves, thus there is little value in having a zero-delay convolution algorithm. The delay needs only to be low enough so the resulting system can be used interactively.

1.1. Brief description of an Ambiophonics system

The method can be basically explained as the simultaneous superposition of two very different systems: cross-talk cancelled reproduction over a pair of closely-spaced loudspeakers, and approximate wavefront reconstruction with an Ambisonics array, being fed with reconstructed hall ambience signals derived from the left and right direct sound channels convolved with a set of weaklycorrelated real hall impulse responses. Figures 1 and 2 show the basic scheme of the two parts of the system.


Figure 1: Stereo-dipole reproduction through cross-talk canceling digital filters.


Figure 2: Virtual Ambisonics reproduction by convolution with two sets of 3D impulse responses.

The cross-talk cancellation operation is performed through the convolution of the two input signals with a set of four inverse filters. These filters can however be quite short, the major processing demand is instead introduced by the reproduction of off-stage early reflections and reverberation tails, which are reproduced through the surround array consisting of eight or more loudspeakers.

For each surround loudspeaker, two convolutions are necessary, one for the left and and one for the right stereo channel. The IRs employed must be unique, and be near the full length of the reverberation time of the original hall, which in extreme cases can be several seconds.

In [1] both the filter design for the cross-talk cancellation and the aspects of deriving reverberation filters from original hall measurements are thoroughly addressed.