Быль и сказки о 3D-звуке
Основные игроки и их разработки
Interactive Around-Sound (IAS) компании EAR
Измерения в звуке: завоевание пространства
Чипы с поддержкой трехмерного позиционируемого звука
Что наша жизнь? Игра!
Если трезво взглянуть на вещи, то для так называемого офисного применения (то есть обработки текстов, почтовых сообщений, факсов и несложной графики) более чем достаточно иметь процессор класса Pentium 166 МГц. Долгое время было не принято признавать, что значительному прогрессу в области развития микропроцессоров, оперативной памяти, видео- и звуковых адаптеров мы в очень значительной степени обязаны… компьютерным играм и мультимедийным программам.
Данный феномен, судя по всему, еще долгое время будет занимать умы психоаналитиков. Вспомним одну простую истину: «Каждый взрослый — это большой ребенок». А детей, как известно, хлебом не корми — дай поиграть. И вполне объяснимо, почему главной задачей, поставленной перед разработчиками «игровых» технологий, стало повышение детальности изображения и достижение «истинной трехмерности»1: обычный человек до 80% информации получает через зрительную систему, и наличие прогресса в этой области сулило наибольший эффект, а следовательно, и рост прибылей производителей, так или иначе связанных с игровой индустрией. В процессе решения этой задачи стало ясно, что центральный процессор не в состоянии удовлетворить растущие аппетиты разработчиков, и вычисления, необходимые для визуализации трехмерного изображения, были возложены на специализированные процессоры. В результате мы с вами получили возможность свободно перемещаться в виртуальном мире и рассматривать встречающиеся в нем предметы в любом ракурсе (естественно, при наличии видеоакселератора).
Однако при очевидном (в прямом смысле) прогрессе на ниве визуализации звуковое сопровождение оставалось на прежнем уровне: в лучшем случае стереофонический звук, с частотой дискретизации 11…22 кГц. Разработчики игровых приложений могли управлять всего лишь двумя параметрами источников звука: панорамированием и уровнем громкости. На определенном этапе стало ясно, что постоянно возрастающие требования к реалистичности игрового действа в целом (а не только к видеоряду) должны затронуть и звуковую подсистему. Так что возникновение технологий трехмерного звука было вполне закономерным явлением.
Нельзя сказать, что технологии 3D-звука выросли на пустом месте. Исследования в этой области проводились различными исследовательскими группами еще задолго до появления компьютерных игр.
Фактически существовали два направления развития так называемого 3D-звука:
- Улучшенное стерео. Данные системы используют различные схемы обработки обычного стереосигнала (как правило, основанные на несложных фазо-частотных преобразованиях) с целью придания ему большей «объемности», например расширители стереобазы и спатиалайзеры (spatializer). Фактически имеется возможность расширить стереобазу, не увеличивая расстояния между колонками, и значительно увеличить зону действия стереоэффекта по сравнению с традиционными стереосистемами. Подобные устройства можно встретить в основном в недорогой бытовой аудиотехнике и звуковых картах низшей ценовой категории. Системы этого класса действительно помогают улучшить восприятие игры или кинофильма, но не более того.
- Системы виртуального окружающего звука (virtual surround sound). Сюда относятся уже упоминавшиеся Dolby Surround, Dolby Pro Logic и т.п. Эти системы обеспечивают возможность имитировать размещение источников звука в виртуальном двухмерном пространстве и работают с заранее записанными по специальной технологии звуковыми дорожками, которые могут быть представлены либо в виде отдельных каналов, либо как кодированный сигнал в стереоформате. Технология virtual surround обеспечивает довольно реалистичное звучание, но, к сожалению, она не приспособлена для работы в интерактивном режиме, то есть сделать звуковые события зависимыми от действий пользователя невозможно.
Технологии первого семейства в большинстве своем весьма просты в реализации, но не способны реализовать трехмерное позиционирование источников звука, а представители второго вследствие своей сложности не могут быть использованы в интерактивном режиме. В результате возникло новое, третье направление, называемое интерактивным трехмерным позиционируемым звуком. О нем и пойдет речь в этой статье.
3D: как много в этом звуке…
Вполне понятно, что для полноценного функционирования рассматриваемой технологии требуется как специализированное аппаратное обеспечение (звуковые карты, акустические системы и т.д.), так и наличие программной поддержки. Подобно визуализации трехмерных сцен управление позиционированием звуковыми потоками и имитация акустических условий виртуальных помещений требует значительных вычислительных ресурсов. Следовательно, на звуковой карте необходимо иметь высокопроизводительный звуковой процессор (rendering engine, или sound engine). Для наиболее полного использования потенциала такой звуковой карты, как правило, требуются многоканальные акустические системы. И наконец, необходим специализированный набор команд (API), при помощи которого разработчик программного обеспечения сможет управлять работой аппаратных ресурсов. Рассмотрим, каким образом взаимодействуют между собой эти компоненты.
Разработчик приложения (например, игры) посредством команд соответствующего API описывает положение источников звука («поместить звук паровоза справа, а звук водопада слева»). Команды API обрабатываются драйвером звуковой карты, который, в свою очередь, управляет работой ее процессора. В зависимости от заданной конфигурации акустической системы процессор по определенным алгоритмам обрабатывает и микширует звуковые потоки, формируя сигналы на выходах звуковой карты. Далее полученные сигналы поступают в акустическую систему, которая преобразует их в звуковые колебания, воспринимаемые слушателем. Разумеется, что в играх, написанных без использования API трехмерного звука, даже при наличии соответствующей звуковой карты мы услышим обычную стереофонию.
Теперь стоит остановиться на наиболее значимых моментах. Очень важно понимать разницу между API и sound engine, поскольку это далеко не одно и то же. Большинство современных звуковых API аппаратно-независимы, то есть могут обеспечивать воспроизведение трехмерного позиционируемого звука при работе с различными звуковыми процессорами. предположим, например, что игра написана под DirectSound 3D (вообще говоря, разработчики могут использовать и более одного API для обеспечения большей совместимости). Это значит, что мы услышим трехмерный позиционируемый звук и на картах Creative, и на картах с чипами Aureal Vortex, и на многих других. Вполне понятно и то, что качество звукового сопровождения одной и той же игры при использовании различных звуковых карт и акустических систем может существенно различаться — подобно тому, как будет различаться звучание одного и того же MIDI-файла при проигрывании на разных синтезаторах.
В том случае если звуковая карта не имеет аппаратной поддержки функций 3D-звука2, роль rendering engine перекладывается на программный процессор — HEL (Hardware Emulation Layer), и мы слышим трехмерный звук даже на обычной стереофонической звуковой карте. Естественно, в этом случае будет задействована часть ресурсов центрального процессора, что повлечет за собой снижение частоты кадров (fps). В силу того что HEL использует упрощенные алгоритмы, качество звучания будет несколько хуже, чем при использовании специализированных аппаратных процессоров.
Теперь стоит рассмотреть проблему с точки зрения слушателя.
Что и как мы слышим
Слышимый обычным человеком частотный диапазон простирается от 20 Гц до 20 кГц. Колебания с частотами, лежащими ниже этого диапазона, называются инфразвуком, а выше — ультразвуком. Условно весь слышимый диапазон можно разделить на три области: высокочастотную, среднечастотную и низкочастотную. Сигналы низкочастотной части слышимого спектра воспринимаются не только ушами, но и телом (как вибрации). Слуховой аппарат человека имеет нелинейную АЧХ (амплитудно-частотную характеристику). Пик чувствительности приходится на область 1…3 кГц, а на краях диапазона (то есть в области низших и высших частот) наблюдается плавный спад3. Кроме того, при уменьшении громкости чувствительность слуха на краях диапазона будет снижаться быстрее, чем в середине4. При равной громкости сигналы более высокой частоты маскируются низкочастотными сигналами. Слух обладает инерционностью, то есть в течение некоторого времени после громкого звука более тихие не будут восприниматься.
Многим, наверное, кажется парадоксальным тот факт, что, обладая всего двумя ушами, мы можем определить положение источника звука в окружающем нас пространстве, имеющем три измерения. В основе механизма локализации (то есть определения местоположения источника звука) лежит сравнение звуковых сигналов, слышимых правым и левым ухом, а также анализ спектра воспринимаемого сигнала. Условно этот процесс можно разделить на две составляющие — определение направления на источник звука и степени его удаленности (иначе говоря, расстояния до него).
Наибольшую значимость для определения направления на источник звука имеют два параметра — разница по интенсивности (громкости) и по времени между сигналами, воспринимаемыми правым и левым ухом. Предположим, что некий источник звука расположен точно перед слушателем на высоте его головы (рис. 1). Сигнал от этого источника распространяется с равной скоростью во всех направлениях, поэтому звуковая волна достигнет обоих ушей одновременно, а интенсивность воспринимаемых сигналов будет одинаковой. Теперь сместим источник в какую-либо сторону по горизонтали, например влево. Теперь картина несколько изменится: путь звуковой волны до левого уха стал короче, и поэтому в правое ухо она попадает с некоторой задержкой (рис. 2). Кроме того, правое ухо в данной ситуации оказалось частично закрыто головой, и, огибая ее, звуковая волна потеряла часть своей энергии; таким образом, интенсивность сигнала, принятого этим ухом, оказалась меньше.
Несколько сложнее обстоит дело с источниками звука, расположенными позади слушателя. Помимо рассмотренных выше факторов в этом случае играет роль и изменение спектра сигнала. Обратите внимание на довольно сложную форму ушной раковины, которая выполняет функцию многополосного частотного фильтра. Именно по характерным изменениям спектра мозг может определить, спереди или сзади находится источник звука. Подобным образом определяется и местоположение источника звука, смещенного в вертикальной плоскости.
Теперь рассмотрим механизм определения расстояния. Как известно, звуковые волны распространяются в воздушной среде, и именно свойства этой среды используются слуховым аппаратом для определения удаленности источника звука. Очевидно, что, чем большее расстояние преодолевает звуковая волна, тем меньшей энергией она обладает. Проще говоря, интенсивность (громкость) звука будет тем меньше, чем дальше находится его источник от слушателя. Но если мы будем просто уменьшать громкость источника звука, то иллюзии удаления, увы, не получим. Объясняется это довольно просто. Степень затухания и скорость распространения звуковой волны в воздухе напрямую зависит от ее частоты (чем выше частота, тем больше скорость), поэтому при удалении от источника изменяется и фазо-частотная характеристика (ФЧХ) звукового сигнала (низкочастотная составляющая немного «запаздывает»). Соответственно, если изменение громкости сигнала не сопровождается соответствующими изменениями АЧХ и ФЧХ, то слуховой аппарат человека будет интерпретировать этот процесс именно как изменение громкости, а не как перемещение источника. Существует еще один важный фактор, который дает гораздо более полные данные о расстоянии до источника звука, — это реверберация. Вообще говоря, реверберацией называется процесс отражения и затухания звуковых волн в каком-либо помещении или пространстве. В реальных условиях (если отбросить весьма редкие случаи, например эксперименты в заглушенном помещении) на распространение звуковых волн оказывают существенное влияние различные объекты — стены, потолки, мебель и т.д. Рассмотрим эти процессы подробнее.
Предположим, что слушатель и источник звука находятся в закрытом помещении, имеющем форму параллелограмма. Помимо прямого звука, поступающего к слушателю по кратчайшему расстоянию непосредственно от источника, будут иметь место и так называемые отраженные звуки (рис. 3). Поскольку отраженные звуки имеют меньшую интенсивность, чем прямой звук (потому что часть энергии поглощается конструкциями помещения при отражении от них), и поскольку они проходят больший путь, они поступают к слушателю с некоторой задержкой, величина которой зависит от размеров помещения. Среди отраженных звуков различают ранние и поздние отражения. Ранние отражения (early reflections) довольно четко различимы на слух (они достаточно редки, и их можно четко отделить друг от друга), тогда как поздние (late reflections) сливаются и образуют характерное послезвучие (гулкость). Как вы уже, наверное, догадываетесь, интенсивность и длительность отраженных звуков зависят как от размеров и формы помещения, так и от свойств материалов, которыми отделаны его внутренние поверхности. Для того чтобы оценить расстояние от слушателя до источника звука, необходимо проанализировать отношение громкости прямого звука к отраженному: чем оно больше, тем ближе располагается источник. Можно создать весьма реалистичную иллюзию приближения или удаления объекта, управляя всего двумя параметрами — уровнем прямого и отраженного звука5. Исключение составляет тот случай, когда источник звука расположен в ближнем поле, то есть уровень его сигнала много больше уровня реверберации.
Теперь расположим между источником звука и слушателем какое-либо препятствие (например, колонну). Вследствие того что звук проникает не сквозь препятствие, а огибая его, параметры воспринимаемого слушателем сигнала заметно изменятся. Этот эффект называется обструкцией. В случае когда мы имеем дело со сплошным препятствием (скажем, если разделить рассматриваемое помещение деревянной стеной), то в результате прохождения через это препятствие характеристики звука (в частности, его АЧХ) также претерпят существенные изменения. Подобные явления называется окклюзиями.
Точность локализации неодинакова в различных зонах. Наилучшим образом определяется положение источников звука, расположенных в горизонтальной (точнее, проходящей через воображаемую линию между ушами и параллельной полу) и вертикальной (равноудаленной от ушей) плоскостях, при этом точность локализации в горизонтальной плоскости выше. Проще говоря, определить местоположение источника звука, расположенного строго перед слушателем, гораздо проще, чем если бы источник располагался справа вверху. Точность локализации также зависит и от спектра сигнала, излучаемого источником, — чем выше частота звука, излучаемого источником, тем лучше он локализуется. Сигналы низкой частоты, не имеющие высших гармоник6, практически не локализуются.
Теперь посмотрим, что на сегодняшний день предлагают нам ведущие компании, занимающиеся 3D-звуковыми технологиями.
Основные игроки и их разработки
A3D компании Aureal
В отличие от подавляющего большинства современных API 3D-звука, A3D был создан специально для чипов серии Vortex. Пожалуй, это единственный на сегодняшний день аппаратно-зависимый API в области 3D-звука, поэтому его работу имеет смысл рассматривать в тандеме с соответствующим аппаратным обеспечением.
На сегодняшний день это API A3D 2.0 и чип Vortex 2 (AU8830). Главным козырем Aureal является запатентованная технология wavetracing, работа которой основана на физическом моделировании распространения звуковых волн. Виртуальное помещение описывается как набор многоугольников (полигонов), для каждого из которых определено местоположение в пространстве, размер, форма и тип материала. Предусмотрено четыре заранее определенных материала: дерево, бетон, сталь, ковер. Кроме того, имеется возможность менять звукоотражающие свойства материала (от полного отражения до полного поглощения) и акустическую прозрачность (от полной прозрачности до абсолютной непроницаемости). Можно также задать такие свойства среды распространения звука, как ее тип (воздух или вода), скорость распространения звука, степень поглощения звука. Позиционирование источников звука в пространстве осуществляется по алгоритму HRTF (подробнее см. врезку).
Создание полной акустической модели помещения посредством описания всех составляющих его полигонов — процесс весьма долгий и трудоемкий (что иногда может быть оправданно качеством получаемого результата), поэтому разработчики Aureal встроили в свой API специальный модуль, оперирующий высокоуровневыми объектами (это может быть стена, проход и т.п.), — менеджер сцены (scene manager). Любое приложение может взаимодействовать с геометрическим процессором (geometry engine) как напрямую, так и через менеджер сцены. В последнем случае у разработчика есть возможность пользоваться готовыми высокоуровневыми объектами — стенами, проходами и даже целыми помещениями, не прибегая к подробному описанию их геометрии. Подобный подход значительно упрощает задачу, однако в общем случае дает худший результат.
Если говорить об объективных показателях, то на сегодняшний день перспективы технологических решений Aureal омрачаются несколькими факторами. Во-первых, имеющиеся драйверы не позволяют полностью использовать возможности чипа Vortex 2. Во-вторых, судя по данным тестирования7, часть операций по обсчету звуковой сцены выполняется при помощи центрального процессора, что влечет за собой ухудшение качества видеоряда (в частности, снижение частоты смены кадров). И, в-третьих, количество игр с поддержкой A3D 2.0 весьма невелико, и тенденции к увеличению их числа заметно ниже, чем обещали в Aureal.
EAX компании Creative
EAX (Environmental Audio eXtensions) — это API для имитации звучания окружающей среды. EAX является открытым расширением звукового API DS3D, разработанного корпорацией Microsoft. Следует пояснить, что позиционированием звуковых потоков в пространстве в данном случае управляет именно DS3D, а EAX позволяет получить пространственные эффекты, такие как реверберация или эхо. При этом используется так называемая обобщенная модель реверберации, то есть поведение отраженных звуков рассчитывается не по физической модели, а описывается посредством набора параметров (таких, как время реверберации, глубина обратной связи и т.д.), что позволяет получать различные акустические условия — как близкие к естественным, так и не существующие в природе. Разработчик приложения может заранее определить набор пресетов (предварительно запрограммированных параметров), соответствующих различным помещениям, и в ходе игры переключать их в соответствии с развитием сюжета. В уже выпущенном EAX 2.0 реализованы эффекты окклюзии и обструкции, а также возможность управления ранними отражениями отдельно для каждого источника звука. В ближайшее время Creative собирается выпустить следующую версию своего API — EAX 3.0.
Interactive Around-Sound (IAS) компании EAR
IAS — это программно реализованный звуковой процессор (audio engine), совместимый с API A3D и EAX и обеспечивающий, по словам разработчиков, одинаковое звучание 3D независимо от используемой звуковой карты. В IAS также предусмотрена поддержка многоканальных акустических систем и уникальная на сегодняшний день возможность кодирования стереопотока в форматах Dolby Pro Logic и DTS. Эта функция позволяет подключать звуковую карту, не оснащенную дополнительными выходами для тыловых колонок, к музыкальному центру или системе домашнего кинотеатра с декодером Dolby Pro Logic и прослушивать звуковое сопровождение в режиме окружающего звука. К сожалению, эти возможности доступны только в играх, поддерживающих IAS.
Q3D фирмы Qsound
Эта технология может быть реализована как в виде аппаратного ускорителя (уже выпущен чип Thunderbird128), так и программно (под названием Qsoft3D) — в виде драйвера звуковой карты. Естественно, в последнем случае бремя необходимых вычислений ложится на центральный процессор, хотя разработчики и утверждают, что их объем относительно невелик. Для управления этими звуковыми процессорами используется высокоуровневый API под названием Qmixer. Помимо Q3D Qmixer совместим с DS3D и EAX. Согласно заявлениям сотрудников Qsound, в Q3D используются собственные алгоритмы Q1 и Q2, а не HRTF и CC. К сожалению, принципы функционирования алгоритмов Qsound не раскрываются, видимо, из соображений защиты ноу-хау. Единственное, что известно, — это то, что любое технологическое решение Qsound тщательно просеивается через сито многочисленных прослушиваний (по некоторым данным, в процессе создания Qmixer их количество достигло 500 000).
Sensaura
В отличие от других компаний Sensaura не занимается производством собственных чипов, а разрабатывает технологии и лицензирует их различным производителям. Первым чипом, сделанным на основе разработок Sensaura, судя по всему, станет Canyon3D фирмы ESS Technology. За основу взяты алгоритмы HRTF и TCC (transaural crosstalk cancellation — разновидность CC, доработанного специалистами Sensaura на основе результатов реальных прослушиваний). Среди передовых достижений можно отметить две технологические новинки:
- ZoomFX предназначен для улучшения имитации звучания объектов, расположенных вблизи от слушателя (HRTF справляется с этой задачей неважно).
- MacroFX позволяет создавать композитные источники звука, то есть имитировать близко расположенные объекты (например, шум, создаваемый трамвайным вагоном) при помощи нескольких точечных источников звука.
В погоне за идеалом
Как и во многих других случаях, проблема создания реалистичного звукового сопровождения может быть решена несколькими способами. Наиболее очевидный — создать модель, имитирующую реальные физические процессы, то есть математически смоделировать распространение звуковых волн в некоей среде. Аналогичное решение используется для визуализации трехмерных интерьеров — так почему бы не поступить так же со звуком? Наверное, примерно так и думали инженеры Aureal, приступая к работе над технологией wavetracing. Однако на практике все оказалось не так просто. Взять, например, расчет реверберации: количество отраженных звуков увеличивается с течением времени в геометрической прогрессии, и для точного моделирования этого процесса не хватит реально доступных вычислительных мощностей. Кроме того, количество используемых звуковых потоков ограничено, и в определенный момент часть столь необходимых для восприятия отраженных звуков окажется «за бортом».
С другой стороны, в киноиндустрии и профессиональной звукозаписи уже несколько десятилетий используется оборудование, позволяющее вполне успешно имитировать как акустические условия различных помещений, так и перемещение источников звука в трехмерном пространстве. Речь идет о ревербераторах и психоакустических процессорах. Не используя принципы физического моделирования, эти приборы весьма искусно «обманывают» наш слух, создавая полноценную иллюзию нахождения в некоем пространстве. При этом алгоритмы их работы значительно проще, а объем производимых вычислений существенно меньше, чем при физическом моделировании. А самое главное — для полноценного воспроизведения подобного эффекта достаточного будет всего лишь одного стереопотока (или двух — в случае четырехканальной акустики).
Итак, на сегодняшний день налицо противостояние двух диаметрально различающихся подходов. Имеет ли какой-либо из них преимущество? Это весьма непростой вопрос, и однозначный ответ на него получить невозможно. Скорее всего, оптимальный результат будет получен при их комбинировании, тем более что в данной ситуации имеет смысл оценивать конечный результат, а не технологические изыски. В конце концов слушателю все равно, какие процессы протекают в недрах его компьютера, — для него гораздо важнее то, что в итоге действие игры становится более интересным и увлекательным. Именно улучшение восприятия и должно стать решающим аргументом при выборе компонентов звуковой системы.
Мне кажется, что разработчики многих современных игр уделяют чересчур большое внимание повышению их схожести с реальным миром, забывая при этом, что притягательная сила игры в огромной степени зависит от оригинальности и увлекательности сюжета. Ведь даже при наличии великолепной графики и потрясающего звукового сопровождения игра без идейной «изюминки» просто надоест. И не потому, что ей недостает реалистичности — до полной реалистичности современной игровой индустрии еще очень и очень далеко, — а потому, что играющему очень скоро станет неинтересно. Не давать игроку заскучать, постоянно стимулируя его к дальнейшему действию, — вот действительно нетривиальная задача, с которой постоянно сталкиваются разработчики. Если она решена, то остается только создать некую условность8, которую игрок будет воспринимать как реальность. Я еще раз хочу подчеркнуть, что в подавляющем большинстве случаев успех игры определяется именно ее оригинальной идеей, а использование последних разработок в области трехмерных аудиовизуальных технологий несет исключительно вспомогательную функцию.
КомпьютерПресс 11'1999