目標
macOS用ビデオプレーヤー「Vidi」を開発していた際、私はある特定の問題を解決したいと考えていました。ほとんどの映画は5.1chや7.1chのサラウンドサウンドで収録されていますが、一般的なビデオプレーヤーでヘッドフォンを使用すると、それらはすべて単なるステレオにダウンミックス(統合)されてしまいます。その結果、本来あるはずの空間情報がすべて失われてしまっていました。
そこで私は、AirPodsに限らず、どんなヘッドフォンでも機能する「本物の空間オーディオ」を構築することを決意しました。
仕組み
空間オーディオは、HRTF(頭部伝達関数)に基づいたバイノーラル処理を使用しています。これは、異なる方向から来る音がどのように耳に届くか(到達するタイミング、周波数、音圧の違いなど)をシミュレートする技術です。
サラウンドサウンドの各チャンネルにこのHRTFを適用することで、ごく普通のステレオヘッドフォンであっても、3D空間内に音を定位させることが可能になります。センターチャンネルの音はまるで目の前から、リアチャンネルの音は背後から聞こえるようになるのです。
課題
最も困難だったのは、これを動画再生中にリアルタイムで処理することでした。
Dolby DigitalやDTSフォーマットから個々のチャンネルを抽出する
各チャンネルにバイノーラル処理を適用する
映像との同期ズレを防ぐため、レイテンシ(遅延)を10ms以下に抑える
4K 60fpsの動画再生時でも効率的に動作させる
試行錯誤に数ヶ月を要しましたが、AppleのCore AudioとAccelerateフレームワークを活用することで、これらを実現することができました。
成果
その違いは、聴けばすぐに分かります。
セリフがより鮮明に: センターチャンネルが適切に分離されるため、会話が聞き取りやすくなります。
臨場感のあるアクションシーン: 本来の方向感がリアルに再現されます。
どんなヘッドフォンでも対応: 20ドルの安価なイヤフォンでも、300ドルの高級ヘッドフォンと同じ空間処理が得られます。
専用ハードウェア不要: Appleの空間オーディオとは異なり、特定のデバイスを必要としません。独自のフォーマットも不要で、あらゆる5.1ch/7.1chコンテンツで機能します。
得られた教訓
まずは一点に集中する:
他にも多くのオーディオ機能を作ることはできましたが、まずは「空間オーディオ」から着手したことで、明確な差別化要因を生み出すことができました。
ネイティブフレームワークを活用する:
AppleのCore Audioは非常に強力です。独自に作り込むのではなく、このフレームワークの特性に合わせて実装したことで、開発がスムーズに進みました。
リアルタイム処理は難しい:
テスト環境で動作しても、負荷の高いコンテンツでは失敗することがあります。実際の4K動画を使用して、絶えずテストを行うことが重要です。
結果として、空間オーディオはVidiで最も賞賛される機能となりました。ヘッドフォンで「正しいサラウンドサウンド」を初めて体験したユーザーは、すぐにその価値を理解してくれます。
VidiはmacOS向けにリリースされており、空間オーディオやその他のプロ向け機能を搭載しています。
Vidiの空間オーディオを実際に体験してみませんか?Mac App Storeからダウンロードできます。
https://apps.apple.com/app/vidi-video-player/id6755982989
