2.6. 3D-звук

Любой современный мультимедиакомпьютер должен сопровождаться хорошим 3D-звуком [5]. Само понятие "трёхмерный звук" подразумевает, что источники звука располагаются в трёхмерном пространстве вокруг слушателя, а чтобы придать звуку реализм и усилить восприятие слушателя, используются различные технологии, обеспечивающие воспроизведение реверберации, отражённых звуков, окклюзии (звук, прошедший через препятствие), обструкции (звук, не прошедший через препятствие), дистанционное моделирование (вводится параметр удалённости источника звука от слушателя) и масса других интересных эффектов.

Как известно, для позиционирования источников звука в виртуальном 3D-пространстве используются HRTF (Head Related Transfer Function) функции. HRTF - это процесс, посредством которого наши два уха определяют слышимое местоположение источника звука.

Библиотека HRTF-фильтров создаётся в результате лабораторных измерений, производимых с использованием манекена, носящего название KEMAR (Knowles Electronics Manikin for Auditory Research, т. е. манекен Knowles Electronics для слуховых исследований), или с помощью специального "цифрового уха" (digital ear), разработанного в лаборатории Sensaura, располагаемого на голове манекена. На голове манекена располагаются микрофоны, закреплённые в его ушах. Звуки воспроизводятся через акустические колонки, расположенные вокруг манекена, и происходит запись того, что слышит каждое "ухо".

При прослушивании звука с использованием акустических колонок наше правое ухо слышит не только звук, предназначенный для него, но и часть звука, предназначенную для левого уха и наоборот. Для избегания такой проблемы используют алгоритм crosstalk cancellation (для краткости CC).

Идея CC просто выражается в терминах частот. На схемы выше сигналы S1 и S2 воспроизводятся колонками. Сигнал Y1, достигающий левого уха, представляет собой смесь из S1 и "crosstalk" (части) сигнала S2. Чтобы быть более точными, Y1 = H11 S1 + H12 S2, где H11 является HRTF между левой колонкой и левым ухом, а 12 это HRTF между правой колонкой и левым ухом. Аналогично Y2 = H21 S1 + H22 S2. Если мы решим использовать наушники, то мы явно будем знать искомые сигналы Y1 и Y2, воспринимаемые ушами. Проблема в том, что необходимо правильно определить сигналы S1 и S2, чтобы получить искомый результат. Математически для этого просто надо обратить уравнение:

При очень низкой частоте звука все функции HRTF одинаковы и поэтому матрица является вырожденной (сингулярная матрица).

Результат будет зависеть от того, где находится слушатель по отношению к колонкам. Правильное восприятие звучания достигается только в районе так называемого "sweet spot", предполагаемого месторасположения слушателя при обращении уравнения. Поэтому, то, как мы слышим звук, зависит не только от того, как была сделана запись, но и от того, из какого места между колонками мы слушаем звук. Т. е. чем больше область sweet spot, тем большую свободу действий имеет слушатель. Поэтому разработчики постоянно ищут способы увеличить область действия sweet spot.