Semiconductor Portal

HOME » セミコンポータルによる分析 » 技術分析 » 技術分析(半導体製品)

スパンション、音声認識専用コプロセッサを開発、760ビットの内部バス利用

NORフラッシュメモリを大量に使う新しい用途が開けてきた。音声認識用の辞書や意味解析などのデータベースをNORフラッシュに大量にため込むという用途である。高速・不揮発性・大容量という特性を生かした応用といえる。スパンションがNORフラッシュをベースにした音声認識用のチップを開発、音声認識技術の要求の強い自動車市場に向けた。

図1 音声認識専用のコプロセッサ 出典:Spansion

図1 音声認識専用のコプロセッサ 出典:Spansion


音声認識(ボイスコントロールともいう)は、iPhone 4SがSiriと呼ぶ新しいユーザインターフェースとして、日本市場に浸透しつつある。Siriは、スマートフォンの中に音声認識回路を入れていない。「近くのイタリアンレストランを探して」といえば、その音声データだけをクラウド上のコンピュータに送り、パターンマッチング処理、意味付け処理などのデータベースとのマッチング処理を計算した後、結果だけを送り返すという方式を採っている。すなわち音声認識機能は全てクラウドコンピュータ上で行っている。このためスマホ側で音声認識用の電力を消費する必要がなく、電池の寿命を長く保っている。NTTドコモも同様な方式を採る。

今回スパンションが開発したチップは、クラウドとのやり取りはなく、CPUとも一緒に動作するコプロセッサである(図1)。すなわち音声認識の全てのプロセスをこのチップだけで担うのではなく、ある部分はCPUに負担してもらうというチップである。クラウドとのやり取りがない分、高速に処理でき、自動車応用に向いている。

音声認識では、言葉を音素に分け、さらに意味を抽出する。さらに会話の管理、推論を行う。例えば、「近くのレストラン」は「chi-ka-ku-no-re-su-to-ra-n」というように音素に分け、それぞれの意味を持つ音の辞書(音声データベース)と比較し、近い意味を抽出する。この言葉は個人差や地方の方言、性別によっても違う。発音する人によっては「chi-ka-ku-no」部分が「tsu-ka-ku-no」と認識されることもある。それを「近くの」という意味を抽出するのである。聞こえた言葉が意味と照らし合わせてどのくらい一致しているのか、スパンションのチップでは、その意味に点数を付けるスコアリングという作業を行う(図2)。スコアが高いほど正確な意味に近いという訳だが、このチップはスコアリングまでの役割を担う。このスコアをCPUへ渡し、今度は意味を持つ言葉の辞書や言語のデータベース内の言葉からスコアに合った言葉を検索する。この処理は、CPUが負担する。


図2 音声にスコア(点数)を付け比較する 出典:Spansion

図2 音声にスコア(点数)を付け比較する 出典:Spansion


スパンションは、音声認識ソフトウエアで長年の実績がある大手のNuance Communications社と提携し、そのアルゴリズムをチップに組み込んだ。そのアルゴリズムは、各国の言語での音声に応じて、それぞれの音声言語モデルを作りチップにストアしておく。入力された音声と、ストアされた音声言語モデルのデータベースを比較し照合してスコアを付ける。このアルゴリズムをハードワイヤードで実行したのか、マイクロプログラム方式で実行したのか明らかにしていないが、カスタムロジックとメモリとのやり取りを並列処理で行っているという。

ロジックとメモリとのバス幅は760ビットと広く、このバスを通るデータレートは1.2Gバイト/秒と速い。

音声認識技術の認識率を上げる場合には、メモリを増やすことよりも賢いアルゴリズムによることが多いという。ここにノウハウがある。ただ、メモリそのものは1言語当たり20〜30MB程度で足りるという。ただし、日本語を基本とする認識でも、音楽のタイトルなどには英語やフランス語であることが多いため、それらの言語モジュールもメモリとして格納しておく必要がある。各言語モジュールとして、1〜3モジュールを搭載したチップと、10〜12モデルを搭載したチップを用意した(図3)。


図3 パッケージサイズ10mm角のコプロセッサ 出典:Spansion

図3 パッケージサイズ10mm角のコプロセッサ 出典:Spansion


音声認識ソフトウエアをCPUだけで処理する場合よりも、このコプロセッサとCPUを利用する場合、スピードは2倍、CPU負荷は半減するという。実際、スパンションが記者会見会場でデモした例では、「5204 East Ben White Boulevard, Austin, Texas」と話してからGoogleマップを表示するまで、CPUだけの現行のシステムでは8.7秒かかったが、コプロセッサとCPUを使った場合は3.4秒で済んだ。CPU負荷は52%を示した。

会見に同席した、ニュアンスコミュニケーションズジャパンのマーケティングマネージャーの村上久幸氏によると、大容量NORフラッシュとロジックを1チップに集積することで、性別や方言の音声データを格納でき、今後は周囲ノイズからの音声を拾う場合にも有効だろうと述べた。

(2012/07/24)
ご意見・ご感想