いま、ここにあるエッジAI
CPUだけでもリアルタイムノイズ除去できるBabbleLabsの「Clear Edge」
2020年8月20日 09:50
BabbleLabsは、Intelなどのシリコンベンダーが集中するサンタクララやサンノゼの隣の市となるキャンベル市に本拠地を構え、2017年にサンノゼで創業されたソフトウェアスタートアップ企業だ。Dellの投資部門の「Dell Technologies Capital」や、Intelの投資部門である「Intel Capital」などPC業界のリーダー企業がこぞって投資している企業としても知られている。
そのBabbleLabsがPCクライアント向けに提供しているノイズ抑制ソフトウェアが「Clear Edge for Client」だ。Clear Edge for ClientはWindows 10版が用意されており、オーディオコントローラのドライバとアプリのソフトウェアの間に立って、ドライバから入力されるオーディオ信号からノイズだけを切り出してノイズを抑制する。
似たようなアプリとして、NVIDIAが提供する「RTX Voice」がある。こちらはGeForce RTXシリーズを搭載していないと利用できないが、Clear Edge for ClientはCPUだけで利用できる点が異なる。
ノイズ抑制には、エッジAIの仕組みが利用されており、Windows 10デバイスでは、CPUと第10世代Coreプロセッサ(開発コードネーム:Ice Lake)に内蔵されているGNA(Gaussian & Neural Accelerator)を利用することもできるようになっている。
アプリとオーディオコントローラの間に入ってノイズ抑制を実現
BabbleLabsが提供しているClear Edge for Clientは、Windows 10用のノイズ抑制ソフトウェアになる。その仕組みは非常に単純だ。Clear Edgeはオーディオコントローラとアプリソフトウェア(ZoomやTeamsなど)の間に入り、オーディオコントローラがアプリの渡すオーディオデータ(ないしはその逆)をClear EdgeのエッジAIエンジンが解析し、ノイズとそれ以外に分離することでノイズ抑制されたデータをアプリに渡す仕組みになっている。
Clear Edge自体は新しいオーディオデバイスとアプリという2つのコンポーネントから成り立っている。オーディオデバイスは、ほかのオーディオデバイス(もともとのマイクなど)に代わってClear Edgeで指定したマイク、スピーカーのオーディオデータをClear Edgeのエンジンに渡す。そのオーディオデータをClear EdgeのAIエンジンがノイズ抑制処理を行ない、ZoomやTeamsなどのアプリに渡す。このため、ZoomやTeamsのオーディオ設定ではClear Edgeをマイクやスピーカーとして指定しておく必要がある。
Clear Edgeのようなノイズ抑制ソフトウェアのメリットは、アプリに依存せずにノイズ抑制機能を利用できることだ。たとえば、Zoomなどのビデオ会議ソフトにもマイクからのノイズを抑制する機能が入っている。しかし、それはそうしたアプリでしか利用できず、Teamsやほかのビデオ会議ソフトなどでも利用したいなどのニーズには応えることができない。そうしたときにClear Edgeのような汎用のノイズ抑制ソフトを利用するれば良いというわけだ。
GNAに対応することでCPU負荷をオフロード
Clear Edgeのノイズ抑制の効果は、同社のWebサイトで公開されている。公開されているのはクラウドベースのClear Edgeなので、クライアント向けのClear Edgeとは異なっているが、基本的な仕組み(エンジン)はクラウドでもクライアントでも近いので参考になる。「ORIGINAL」がマイクから入力されたノイズ抑制前の音声、「CLEAR CLOUD」が抑制後の音声、「FILTERED NOISE」が分離されたノイズとなる。ORIGINALを聞いた後にCLEAR CLOUDを聞けば、騒音がかなり抑制されていることがよくわかる。
前述のとおり、ここではClear CloudというクラウドベースのAIエンジンを利用しているが、Clear Edgeでは同じAIエンジンがエッジ側、つまりはPCなどのクライアント側で処理される。この場合に、あまりにCPU負荷が高くなったりすると、それによりCPUを冷却するファンが回り出してノイズ源となり、本末転倒ということになってしまう。このため、いかにしてCPU負荷を高めないようにして、AIエンジンを実装するかが課題となる。
BabbleLabs CEO クリス・ローウェン氏は「我々は2つの方法でClear CloudのエッジAIの最適化を行なっている。1つはx86 CPUへの最適化であり、もう1つがOpenVINOを利用したIntel GNAへの最適化だ。とくにGNAを利用した場合には複数のオーディオストリームを平行して処理する場合に、CPUの負荷をあげずにリアルタイムのスループットを向上させることができる。これにより、ほかのアプリの動作を邪魔することなくノイズ抑制をバックグランドで実現することができる」と説明する。
IntelのGNAはAIのワークロードに特化したアクセラレータ。従来のCPUやGPU、VPU(Vision Processing Unit、MovidiusブランドのMyriad Xなど)を置き換えるものではなく、継続して推論が行なわれるような処理(具体的には音声認識など)をCPUからオフロードするためのアクセラレータとなる。
GNAは最初のバージョンが10nmの第10世代Coreプロセッサ(開発コードネーム:Ice Lake)に搭載されており、Intelが先日概要を発表したIce Lakeの後継となるTiger Lake(Intel、次世代モバイルプロセッサ「Tiger Lake」の詳細を明らかに参照)には第2世代のGNAが搭載され、さらにCPU負荷が低減される見通しだ。
このため、Clear Edge自体はどのCPUでも動作するが、Ice LakeやTiger Lake搭載ノートPCで利用した場合、CPU負荷率が下がる。また、ローウェン氏によれば、Intelが提供するエッジAI向けのソフトウェア開発キットとなるOpenVINOツールキットを利用することで、GNAがないx86 CPUへの最適化も図られており、ノイズ抑制時の遅延はわずかに10msに過ぎず、ユーザーが遅延を感じることはないという。
つまり、高機能なGPUを搭載しないモバイルノートパソコンであっても、リアルタイムでエアコンなどの環境ノイズなどを除去しつつ、ビデオ会議などができるわけだ。
Clear Edgeは体験版が同社のWebサイトで公開されており、同社のWebサイトからダウンロードしてインストールすることができる。現在は3カ月試用できるコードが配布されており、実際に利用する場合には同社の営業に直接コンタクトを取りコードを購入する必要がある。
[制作協力:インテル]