PERFORMANCE IMPROVEMENT OF MULTICHANNEL AUDIO BY GRAPHICS PROCESSING UNITS (2014)

Multichannel acoustic signal processing has undergone major development\nin recent years due to the increased complexity of current audio processing\napplications. People want to collaborate through communication with the\nfeeling of being together and sharing the same environment, what is considered\nas Immersive Audio Schemes. In this phenomenon, several acoustic\ne ects are involved: 3D spatial sound, room compensation, crosstalk cancelation,\nsound source localization, among others. However, high computing\ncapacity is required to achieve any of these e ects in a real large-scale system,\nwhat represents a considerable limitation for real-time applications.\nThe increase of the computational capacity has been historically linked\nto the number of transistors in a chip. However, nowadays the improvements\nin the computational capacity are mainly given by increasing the\nnumber of processing units, i.e expanding parallelism in computing. This\nis the case of the Graphics Processing Units (GPUs), that own now thousands\nof computing cores. GPUs were traditionally related to graphic or image\napplications, but new releases in the GPU programming environments,\nCUDA or OpenCL, allowed that most applications were computationally\naccelerated in elds beyond graphics. This thesis aims to demonstrate\nthat GPUs are totally valid tools to carry out audio applications that require\nhigh computational resources. To this end, di erent applications in\nthe eld of audio processing are studied and performed using GPUs. This\nmanuscript also analyzes and solves possible limitations in each GPU-based\nimplementation both from the acoustic point of view as from the computational\npoint of view. In this document, we have addressed the following\nproblems:\nMost of audio applications are based on massive ltering. Thus, the\n rst implementation to undertake is a fundamental operation in the audio\nprocessing: the convolution. It has been rst developed as a computational\nkernel and afterwards used for an application that combines multiples convolutions\nconcurrently: generalized crosstalk cancellation and equalization.\nThe proposed implementation can successfully manage two di erent and\ncommon situations: size of bu ers that are much larger than the size of the\n lters and size of bu ers that are much smaller than the size of the lters.\nTwo spatial audio applications that use the GPU as a co-processor have been developed from the massive multichannel ltering. First application\ndeals with binaural audio. Its main feature is that this application is able\nto synthesize sound sources in spatial positions that are not included in the\ndatabase of HRTF and to generate smoothly movements of sound sources.\nBoth features were designed after di erent tests (objective and subjective).\nThe performance regarding number of sound source that could be rendered\nin real time was assessed on GPUs with di erent GPU architectures. A\nsimilar performance is measured in a Wave Field Synthesis system (second\nspatial audio application) that is composed of 96 loudspeakers. The proposed\nGPU-based implementation is able to reduce the room e ects during\nthe sound source rendering.\nA well-known approach for sound source localization in noisy and reverberant\nenvironments is also addressed on a multi-GPU system. This\nis the case of the Steered Response Power with Phase Transform (SRPPHAT)\nalgorithm. Since localization accuracy can be improved by using\nhigh-resolution spatial grids and a high number of microphones, accurate\nacoustic localization systems require high computational power. The solutions\nimplemented in this thesis are evaluated both from localization and\nfrom computational performance points of view, taking into account different\nacoustic environments, and always from a real-time implementation\nperspective.\nFinally, This manuscript addresses also massive multichannel ltering\nwhen the lters present an In nite Impulse Response (IIR). Two cases are\nanalyzed in this manuscript: 1) IIR lters composed of multiple secondorder\nsections, and 2) IIR lters that presents an allpass response. Both\ncases are used to develop and accelerate two di erent applications: 1) to\nexecute multiple Equalizations in a WFS system, and 2) to reduce the\ndynamic range in an audio signal.