Scott Wiilling рассказывает о технологиях QSound


 

Scott Willing (Скотт Виллинг) уже знаком нам. Если вы не читали его FAQ по 3D звуку, то сделайте это сейчас. Для остальных мы подготовили ответы Скотта на некоторые вопросы по технологиям QSound. В основу данного материала легло интервью, которое Скотт дал сайту 3DAI.

Как работает QSound? Чем он отличается и в чем он похож на другие существующие API, такие, как DirectSound3D, Aureal A3D и т.д.?

QSound это семейство технологий 3D звука, которое включает в себя QXpander для расширения стерео, Q3D для позиционирования источников 3d звука в пространстве, QSurround для воспроизведения виртуального окружающего звука (surround sound) и многое другое.

Конечно, с точки зрения игр, особого внимания заслуживает Q3D, который обеспечивает позиционирование источников 3D звука в пространстве. Механизм Q3D обычно содержит отдельные алгоритмы для воспроизведения звука через акустические колонки и головные телефоны (наушники). Последний основан на принципах традиционного бинаурального синтеза ("HRTF"). Однако, наш алгоритм воспроизведения 3D звука через колонки отличается от большинства технологий представленных на рынке, прежде всего тем, что в нем не используется общепринятый бинауральный синтез (binaural synthesis) скорректированные алгоритмами crosstalk cancellation (фильтр позволяющий воспроизводить звук, например из левой колонки так, что бы слышно этот звук было только левым ухом), т.е. для краткости BS+CC.

Наш алгоритм для обработки 3D звука, который будет воспроизводиться через колонки, называется Q1. Он был разработан в результате тщательного изучения того, как звук распространяется через стерео колонки и то, как этот звук воспринимается человеком. В результате мы добились воспроизведения звука с необычайно высокой точностью и самым эффективным способом. Хотя оценка эффективности позиционирования 3D звука очень субъективная вещь — частично из-за того, что человек в реальной жизни не определяет положение источников звука с высокой точностью — Q1 без каких-либо вспомогательных процессов обеспечивает точное расположением источников звука в трехмерном пространстве.

Конечно, алгоритмы Q1 и Q2 (а вместе Q3D) могут быть реализованы в виде конечного продукта различными путями. Подобно другим технологиям 3D звука, алгоритмы могут выполняться аппаратной частью в виде DSP, например звуковым чипом Thanderbird128 от VLSI, на базе которого Aztech сделала звуковую карту PCI368 или в виде звуковых чипов в игровых приставках Dreamcast и Saturn от Sega.

Благодаря своей высокой эффективности, технология Q3D (в форме Qsoft3D) может быть также реализована в виде драйвера для звуковой карты (т.е. все расчеты выполняются CPU вашего компьютера) а в виде кодеков могут использоваться продукты от ESS, Trident и многих других компаний. Это означает, что полноценная 3D звуковая карта может быть создана без специального DSP или звуковая карта, построенная на DSP может поддерживать дополнительное количество звуковых каналов (а значит, в результате получится более насыщенный и точный звук) благодаря программному обеспечению Q3D.

Фактически, в то время, как всем известно, что для 3D звука необходимо использовать шину PCI с ее широкой полосой пропускания данных, Qsoft3D делает даже ISA решения пригодными для использования. Так как только конечный стерео поток передается по шине в кодек звуковой карты, проблем с нехваткой ширины полосы пропускания не возникает.

Нет секрета в том, что некоторые другие реализации 3D звука (например, Aureal Vortex) также используют вычислительные мощности центрального процессора системы на уровне драйверов. Однако, из-за того, что BS+CC требуют интенсивных вычислений, эти "акселераторы" крадут больше тактов CPU от процесса воспроизведения видео, в результате чего снижаются значения fps в играх, по сравнению с теми значениями, которые получаются на той же системе, но со звуковым решением на базе Q3D.

Q3D может также быть напрямую встроена в игровое программное обеспечение (опять же, благодаря высокой эффективности), как было сделано в игре "Outwars" от SingleTrac. Это приводит нас к теме интерфейсов для разработчиков приложений.

QSound разработала весьма упрощенную версию Q1 для платформ, которые не имеют достаточной ширины полосы пропускания или возможностей программирования программ, необходимых для выполнения алгоритмов в режиме реального времени. Эта версия использовалась в ранних играх под DOS и до сих пор используется в игровых приставках Sony Playstation.

QMixer представляет собой SDK, который в реальном времени полностью реализует Q3D для непосредственной интеграции в игры, рассчитанные под Windows или Mac OS. Первая версия QMixer появилась еще во времена Windows 3.1, еще до появления Windows95 и DirectSound. Первым приложением, которое использовало возможности QMixer, была игра Zork: Nemesis от компании Activision.

QMixer имеет два существенных отличия от DirectSound3D:

  • QMixer является API высокого уровня и содержит большое количество автоматических функций, которые значительно облегчают труд программистов
  • Программный механизм QMixer гораздо более эффективный, гибкий и быстрый, чем стандартный механизм воспроизведения звука DS3D.

Тем не менее, QMixer теперь поддерживает аппаратные ускорители DS3D, а также поддерживает интерфейс EAX от Creative Labs, поэтому он может использовать все преимущества любого аппаратного ускорителя, установленного в компьютере пользователя.

QSound твердо уверена в перспективах открытых стандартов, таких как DS3D и EAX. В этом смысле наш API отличается от интерфейсов Aureal, так как он не привязан к специальному типу аппаратного обеспечения.

Недавно, QSound выпустила QMDX, который идентичен QMixer во всем, за исключением того, что встроенный механизм микширования автоматически переводит 3D dзвук, источники которого позиционированы в пространстве, в великолепный стерео звук для аппаратного обеспечения, не умеющего ускорять 3D звук. Это означает, что у разработчиков не будет необходимости писать отдельную стерео библиотеку, чтобы устранить необходимость использовать DS3D в случае, когда аппаратный ускоритель DS3D отсутствует в системе. Кроме того, если аппаратный ускоритель DS3D присутствует в системе, QMDX будет использовать его для воспроизведения полноценного 3D звука.

Как независимое решение для 3D звука, за использование QMixer необходимо выплачивать лицензионный сбор. Тем не менее, QMDX полностью бесплатный, как DS3D и A3D, так что стесненные в средствах разработчики могут бесплатно использовать универсальное решение, в отличие от A3D, кроме того сравнительно простое в использовании, в отличии от DS3D.

Насколько важное значение имеет 3D звук в игровых приставках по сравнению с его значимостью и воздействием на игры для PC?

По этому поводу есть очень много разных мнений. Одним из факторов является то, что игровые приставки гораздо больше тяготеют к использованию систем окружающего звука (surround sound system), поэтому некоторые разработчики считают, что кодирование на лету в формат Dolby Surround является лучшим выбором. Тем не менее, как отмечалось выше, платформы типа Sony Playstation не могут поддерживать надлежащие алгоритмы реального времени и очевидно необходимый дополнительный аппаратный ускоритель просто некуда подключить. Как обычно, жесткая архитектурная сущность игровых приставок одновременно и благо и проклятие.

Мое личное мнение состоит в том, что стремительное распространение 3D звука в PC играх оказывает влияние на производителей игровых приставок. Я думаю, мы в ближайшее время увидим более значительное распространение 3D звука в игровых приставках.

Расскажите о вашем участие в реализации звука игровых приставок от Sega. Планируете ли вы сотрудничество с другими производителями игровых приставок?

Sega использует технологии QSound еще со времен Sega CD и 32X. Прекрасные отзывы пользователей, которые получила Sega, несомненно, сыграли большую роль при принятии решения о реализации настоящих алгоритмов реального времени в приставках Saturn и новейшей Dreamcast. Sega лицензировала наш код, поэтому разработчики приложений для приставок Sega, которые хотят использовать технологии QSound платят за каждый копию приложения роялти самой Sega. Это уникальный прецедент, так как наша собственная лицензия для разработчиков (например, за QMixer) строится по принципу flat-rate, dт.е. платится за одно приложение, а не за каждую его копию.

Что касается других игровых приставок, хмм… В данный момент я не готов обсуждать это.

Чем программная реализация алгоритмов 3D звука отличается от аппаратной реализации? Что выделяет вашу технологию? Планируете ли вы встроить поддержку 3Dnow! и SSE инструкций в алгоритмы QSound?

Эй, это три вопроса! :-)

В определенной мере я коснулся этой темы в своем длинном ответе на первый вопрос. Сейчас сделаю несколько замечаний:

Обе реализации эквивалентны (включая алгоритмы), но всегда возможно добиться более высокой частоты дискретизации (например, 48 kHz) и большей параллельности вычислений (т.е. большее количество одновременно используемых звуковых потоков и эффектов) при аппаратной реализации, нежели программной. Например, в аппаратной части могут применяться и другие процессы, такие, как воспроизведение виртуального surround звука, а в виду разгрузки CPU (3D звук рассчитывается специальным процессором), становится обычным делом использование дополнительных функций одновременно с позиционированием источников 3D звука в пространстве. Чип ThunderBird128 является примером такой системы; он включает в себя поддержку всех процессов, которые мы когда-либо создали!

Также, возможно использование более изощренных алгоритмов для процесса позиционирования источников 3D звука. Наши алгоритмы построены на принципах масштабируемости. Трудно уловимые улучшения, которые не сказываются отрицательно на значения fps при использовании дополнительных мощностей CPU, стали обычным делом при аппаратной реализации.

Конечно, CPU все время становятся все быстрее и мощнее, поэтому аппаратные реализации наших алгоритмов работаю все лучше и лучше.

Мы внимательно смотрим на ситуацию с 3DNow! и SSE. Dхотя я не могу объявить о чем то значительном в настоящее время, но работы в этом направлении ведутся. Мы имеем репутацию производителя самых быстрых процессов для конкретно взятой системы, поэтому всегда есть смысл использовать преимущества любой доступной для использования функциональности конкретного CPU. Основой фундаментальной эффективности наших алгоритмов является то, что все процессы реального времени реализованы в виде написанного и отлаженного в ручную программного кода, в котором учтен каждый такт CPU. Мы занимались реализацией поддержки архитектуры MMX еще до того, как мы публично произнесли слово "MMX", так что прецедент есть.

Собирается ли QSound встроить в QMixer поддержку других типов аппаратного обеспечения? Например, Vortex?

Как я говорил ранее, QMixer и QMDX поддерживают ВСЕ DS3D совместимые аппаратные ускорители, поэтому, если я правильно понял вопрос, я могу сказать только: "мы уже имеем эту поддержку". Тем не менее, у меня такое чувство, что вы имели в виду нечто иное.

Итак, после ответов на все эти вопросы расскажите, а что вы собственно делаете в QSound? :-)

Сегодня моя официальная должность называется так: Manager of Technical Information Service. Так как мы являемся компанией высоких технологий, это означает, что я обязан писать, редактировать или содействовать фактически каждой нашей публикации, начиная от онлайновой поддержки в виде руководства для пользователей и заканчивая маркетинговыми материалами. В результате, я работаю с каждым в нашей компании, начиная с дизайнера графики, маркетологов, разработчиков продуктов и парней из технической поддержки. Это также означает, что я отвечаю на технические вопросы, задаваемые через наш сайт :-) и через другие типы "прессы".

На самом деле название должности ни о чем не говорит. В относительно небольшой компании ты обязан делать массу различных вещей, это одна из причин, почему я работаю уже девятый год в QSound.

Когда в 199/91 я начал работать в QSound, моя основная задача была связана с написанием спецификации, созданием и тестированием аппаратного процессора QSystem. В результате я стал руководителем эксплуатационной поддержки QSystem и получил привилегию и удовольствие познакомится с ведущими специалистами в области звукозаписи и инженерами микширования в мире. Являясь старым музыкантом (мое хобби) и любителем домашней звукозаписи, путешествую по всему миру и работая в известнейших студиях звукозаписи, я приобрел опыт, которым обладают лишь единицы, за исключением обычных путешественников. :-)

Именно поэтому я был консультантом при создании многих продуктов, принимал участие в создании аппаратных прототипов и демонстрационных конструкций, проводил презентации и обустраивал стенды на выставках, а также стал принимать активное участие в разработке и поддержке наших программных SDK (хотя я не программист, даже с большой натяжкой).

Я полагаю, что мой основной вклад в развитие технологий QSound был маленьким, но та ключевая роль, которую я сыграл в создании алгоритма расширения стерео QXpander — этого было достаточно для внесения моего имени в патент, наряду с другими — это моя гордость.

Когда вы занимаетесь чем-то одним долгое время, как я, и стали достаточно разбираться в технологиях и в том, как они соотносятся между собой, чтобы иметь возможность писать об этом, тогда вполне естественным становится то, что вы перестаете участвовать в процессе создания новых продуктов.

В заключении, я не могу ответить ваш вопрос, не подчеркнув, что я работаю в QSound вместе с лучшей, ярчайшей и самой талантливой командой убежденных в своем деле профессионалов, которую я когда-либо имел удовольствие встретить.

Индустрия 3D звука находится на подъеме, но дорога будет длинной, с проблемами и обескураживающими жертвами. Без вопросов, наши сотрудники могут иметь более легкую работу и получать больше денег где-нибудь в другом месте. (Охотники за головами звонят к нам регулярно). Дух компании и уверенность в технологии сплотили нас вместе как семью — иногда похожую на семейку Адамсов — но это часть общей веселой атмосферы!



С наилучшими пожеланиями,
Scott Willing

 

Дополнительно

iXBT BRAND 2016

«iXBT Brand 2016» — Выбор читателей в номинации «Процессоры (CPU)»:
Подробнее с условиями участия в розыгрыше можно ознакомиться здесь. Текущие результаты опроса доступны тут.

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.