(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。
【0013】
図1は、第1の実施の形態に係る情報処理装置の一例を示す図である。
図1の例では情報処理装置10が、音声を取得する際にユーザ1の方向からの音に対して指向性を持たせるよう設定する。情報処理装置10は、指向性設定方法の処理手順が記述されたプログラムを実行することにより、指向性設定処理を実施することができる。
【0014】
情報処理装置10には、マイク2a,2bとセンサ3とが接続されている。マイク2a,2bは、例えば無指向性のマイクである。マイク2aは、音声を音声信号4aに変換する。マイク2bは、音声を音声信号4bに変換する。
【0015】
センサ3は、1以上の人体の所在を検知するセンサである。センサ3は、人体が存在する1以上の方向を表すセンサデータを出力する。以下の例では、センサ3は、1の人体が存在する方向(ユーザ1がいる方向)を表すセンサデータ5を出力する。センサデータ5には、ユーザ1のセンサ3に対する相対位置を示す、第1相対位置が含まれる。
【0016】
情報処理装置10は記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリ、またはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサ、または演算回路である。
【0017】
記憶部11は、設置位置11a,11b,11cを記憶する。設置位置11aはマイク2aが設置されている位置を示す。設置位置11bは、マイク2bが設置されている位置を示す。設置位置11cは、センサ3が設置されている位置を示す。
【0018】
処理部12は、ユーザ1がいる方向に基づいて強化方向を決定する。例えば処理部12は、ユーザ1がいる方向を強化方向に決定する。ここで処理部12は、ユーザ1がいる方向として、ユーザ1の所定の基準点からの方向を算出する。
【0019】
例えば処理部12は、ユーザ1の、設置位置11a,11bに基づいた基準点6に対する相対位置を示す第2相対位置を算出する。基準点6は、例えばマイク2a,2bの中点である。処理部12は、設置位置11a,11bの中点を基準点6の位置として算出する。処理部12は、基準点6の位置と設置位置11cとに基づいて、センサ3の基準点6に対する相対位置を算出する。そして処理部12は、センサ3の基準点6に対する相対位置と、センサデータ5に含まれるユーザ1のセンサ3に対する相対位置とを足すことで、ユーザ1の基準点6に対する相対位置(第2相対位置)を算出する。
【0020】
そして処理部12は、基準点6から第2相対位置への方向を、ユーザ1がいる方向として算出する。ここで、算出されるユーザ1の方向は、マイク2aとマイク2bとを結ぶ直線に垂直で基準点6を通る直線と、基準点6と第2相対位置とを結ぶ直線とが水平面において成す角の角度θで示される。処理部12は、強化方向をθに設定する。
【0021】
処理部12は、マイク2a,2bから取得した音声信号4a,4bに基づいて、強化方向θからの音声が強調された合成音声信号を生成する。例えば処理部12は、マイク2a,2bのうち、ユーザ1から近いマイク2aから取得した音声信号4aをd・sinθ/cだけ遅延させる。なお、dはマイク2aとマイク2bとの距離、cは音速を示す。そして処理部12は、遅延させた音声信号4aと音声信号4bとを合成した合成音声信号を生成する。このように生成した合成音声信号で、強化方向θからの音声が強調される理由を以下に示す。
【0022】
強化方向θからの音声を示す平面波は、マイク2bよりもマイク2aにd・sinθ/cだけ早く伝わる。よって、d・sinθ/cだけ遅延させた音声信号4aに含まれる強化方向θからの音声と、音声信号4bに含まれる強化方向θからの音声との位相は一致する。一方、d・sinθ/cだけ遅延させた音声信号4aに含まれる強化方向θ以外の方向(例えばθ’)からの音声と、音声信号4bに含まれる方向θ’からの音声との位相は一致しない。そのため、遅延させた音声信号4aと音声信号4bとを合成することで、強化方向θからの音声が、θ以外の方向からの音声より強調された合成音声信号が生成される。
【0023】
このような情報処理装置10によれば、ユーザ1がいる方向からの音声が強調された合成音声信号が生成される。つまり生成された合成音声信号では、ユーザ1の声が強調されるため、音声認識の精度が向上する。また、ユーザ1がいる方向に応じて強化方向が設定されることから、ユーザ1が画面の正面にいない場合でも音声認識の精度が向上する。また、ユーザ1がいる方向として、ユーザ1の基準点6からの方向が算出される。これにより、強化方向の設定の精度が向上する。さらに、ユーザ1がいる方向は、センサ3から取得されることから、情報処理装置10は、ユーザ1が発話する前に強化方向を設定できる。
【0024】
なおセンサデータ5は、人体が存在する複数の方向を表してもよい。例えばセンサデータ5には、複数の人体のセンサ3に対する相対位置を示す、複数の第1相対位置が含まれていてもよい。また、人体が存在する複数の方向として、基準点6から複数の第2相対位置への方向が算出されてもよい。この場合処理部12は、設置位置11a,11b,11cと複数の第1相対位置とに基づいて、複数の人体の基準点6に対する相対位置を示す複数の第2相対位置を算出する。そして処理部12は、基準点6から複数の第2相対位置への方向を、人体が存在する複数の方向として算出する。処理部12は、人体が存在する複数の方向に基づいて強化方向を決定する。
【0025】
例えば処理部12は、人体が存在する複数の方向のうちの1の方向を強化方向に決定する。このとき処理部12は、所定の言葉が発せられた方向を取得し、センサデータ5が表す人体が存在する複数の方向のうち、所定の言葉が発せられた方向に最も近い1の方向を強化方向に決定してもよい。ここで所定の言葉は、例えば音声アシスタントを起動させるために発する言葉(ウェイクワード)である。よって、センサ3によって検出された複数の人体のうち、音声アシスタントを使用するユーザがいる方向が強化方向に決定される。その結果、音声アシスタントによる音声認識の精度が向上する。
【0026】
また例えば処理部12は、センサデータ5が表す人体が存在する複数の方向それぞれを強化方向に決定し、強化方向からの音声が強調された複数の合成信号を生成してもよい。ここで、センサ3によって検出された複数のユーザのうちの1のユーザが音声入力をしているとする。この場合、複数の合成音声信号には、音声入力をしているユーザのいる方向を強化方向として生成された合成音声信号が含まれる。そのため、生成された複数の合成音声信号それぞれについての音声認識処理が行われることで、いずれかの合成音声信号に対する音声認識で精度が向上する。
【0027】
またセンサデータ5には、1以上の人体それぞれのセンサ3からの距離を示す距離情報が含まれていてもよい。この場合処理部12は、1以上の人体それぞれのセンサ3からの距離のいずれかが閾値以上であった場合、マイク2a,2bについてのマイク感度を大きくしてもよい。これによりマイク2a,2bは、遠くにいるユーザからの声を音声信号に変換しやすくなる。
【0028】
また、情報処理装置10はさらに、表示部を有し、マイク2a,2bは、表示部の表示面と平行な平面上に設置されてもよい。これにより、マイク2a,2bの設置位置が表示面と平行な平面に制限されている場合でも音声認識の精度が向上する。
【0029】
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、ビームフォーミングによって指向性を持たせる方向をユーザの位置に応じて設定するものである。
【0030】
図2は、第2の実施の形態の概要を説明するための図である。ユーザ端末100は、例えば音声アシスタントなどのソフトウェアによって、音声操作が可能な端末である。ユーザ端末100の音声アシスタントなどのソフトウェアは音声信号を取得すると、取得した音声信号が示す言葉に応じた処理を行う。取得した音声信号を基に、音声信号が示す言葉を推定することを音声認識ということがある。
【0031】
ユーザ21は、ユーザ端末100を音声操作するユーザである。ユーザ端末100は、ユーザ21をセンサで検知し、ユーザ21がいる方向(すなわち、人体が存在する方向)に指向性を持つようにビームフォーミングの設定をする。
【0032】
例えば、ユーザ21がユーザ端末100の正面にいる場合、ユーザ端末100は、正面からの音に対して指向性を持つようにビームフォーミングの設定をする。これにより、正面からの音声に対する音声認識率が高くなり、正面以外の方向からの音声に対する音声認識率が低くなる。
【0033】
また例えば、ユーザ21がユーザ端末100の正面以外の方向に移動した場合、ユーザ端末100は、ユーザ21がいる方向からの音に対して指向性を持つようにビームフォーミングの設定をする。これにより、ユーザ21がいる方向からの音声に対する音声認識率が高くなり、その他の方向からの音声に対する音声認識率が低くなる。
【0034】
図3は、ユーザ端末のハードウェアの一例を示す図である。ユーザ端末100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス111を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
【0035】
メモリ102は、ユーザ端末100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
【0036】
バス111に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、機器接続インタフェース105、入力インタフェース106、光学ドライブ装置107、機器接続インタフェース108、音声入力部109およびネットワークインタフェース110がある。
【0037】
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
【0038】
グラフィック処理装置104には、モニタ31が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ31の画面に表示させる。モニタ31としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
【0039】
機器接続インタフェース105には、センサ32が接続されている。センサ32は、例えばTOF(Time Of Flight)センサである。センサ32は、投光部と受光部とを備える。センサ32は、投光部によって光を複数の点に照射してから、各点からの反射光を受光部で受け取るまでの時間を基に、各点とセンサ32との距離を測定する。またセンサ32は、動きを基に人体の所在を検知する。センサ32は、検知した人体に対応する点とセンサ32との距離を基に算出した、検知した人体のセンサ32に対する相対位置を、センサデータとしてプロセッサ101に送信する。
【0040】
入力インタフェース106には、キーボード33とマウス34とが接続されている。入力インタフェース106は、キーボード33やマウス34から送られてくる信号をプロセッサ101に送信する。なお、マウス34は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0041】
光学ドライブ装置107は、レーザ光などを利用して、光ディスク35に記録されたデータの読み取りを行う。光ディスク35は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク35には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
【0042】
機器接続インタフェース108は、ユーザ端末100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース108には、メモリ装置36やメモリリーダライタ37を接続することができる。メモリ装置36は、機器接続インタフェース108との通信機能を搭載した記録媒体である。メモリリーダライタ37は、メモリカード37aへのデータの書き込み、またはメモリカード37aからのデータの読み出しを行う装置である。メモリカード37aは、カード型の記録媒体である。
【0043】
音声入力部109には、マイク38,39が接続されている。音声入力部109は、マイク38,39から入力された音声信号をディジタル信号に変換して、プロセッサ101に送信する。
【0044】
ネットワークインタフェース110は、ネットワーク20に接続されている。ネットワークインタフェース110は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0045】
ユーザ端末100は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。第1の実施の形態に示した情報処理装置10も、
図3に示したユーザ端末100と同様のハードウェアにより実現することができる。なおプロセッサ101は、第1の実施の形態に示した処理部12の一例である。またメモリ102またはストレージ装置103は、第1の実施の形態に示した記憶部11の一例である。またモニタ31は、第1の実施の形態に示した表示部の一例である。
【0046】
ユーザ端末100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。ユーザ端末100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、ユーザ端末100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またユーザ端末100に実行させるプログラムを、光ディスク35、メモリ装置36、メモリカード37aなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0047】
次に、ユーザ端末100に接続されている機器の配置について説明する。
図4は、モニタの構成の一例を示す図である。モニタ31は、パネル31aとセンサ32とマイク38,39とを有する。パネル31aは、有機ELパネルや液晶パネルなどのモニタ31の表示面である。パネル31aは、モニタ31の中央に設置されている。
【0048】
センサ32は、モニタ31の上部に設置されている。センサ32は、投光部および受光部がパネル31aの正面に向くように設置されている。マイク38,39は、モニタ31の上部に設置されている。マイク38,39は、パネル31a(表示面)と平行な平面上に配置されている。
【0049】
次に、ユーザ端末100の機能について詳細に説明する。
図5は、ユーザ端末の機能例を示すブロック図である。ユーザ端末100は、記憶部120、センサデータ取得部130、位置算出部140、強化方向決定部150、マイク感度設定部160、音声信号取得部170および合成音声信号生成部180を有する。
【0050】
記憶部120は、設置位置情報121を記憶する。設置位置情報121は、センサ32およびマイク38,39の設置位置に関する情報である。センサデータ取得部130は、センサ32からセンサデータを取得する。センサデータは、ユーザ21のセンサ32に対する相対位置の座標である。ユーザ21のセンサ32に対する相対位置は、第1の実施の形態に示した第1相対位置の一例である。
【0051】
位置算出部140は、センサデータ取得部130が取得した、ユーザ21のセンサ32に対する相対位置の座標を基に、ユーザ21のマイク38,39の中点(基準点)に対する相対位置の座標を算出する。ユーザ21の基準点に対する相対位置は、第1の実施の形態に示した第2相対位置の一例である。位置算出部140は、設置位置情報121を参照し、センサ32の基準点に対する相対位置の座標を算出する。そして位置算出部140は、ユーザ21のセンサ32に対する相対位置の座標とセンサ32の基準点に対する相対位置の座標とを足すことで、ユーザ21の基準点に対する相対位置の座標を算出する。
【0052】
強化方向決定部150は、ユーザ21の基準点からの方向をビームフォーミングにおいて指向性を持たせる方向(強化方向)に決定する。強化方向決定部150は、位置算出部140が算出した、ユーザ21の基準点に対する相対位置の座標を基に、ユーザ21の基準点からの方向を算出する。強化方向決定部150は、算出した方向を強化方向に決定する。
【0053】
マイク感度設定部160は、ユーザ21の距離に応じてマイク38,39のマイク感度を設定する。マイク感度設定部160は、位置算出部140が算出した、ユーザ21の基準点に対する相対位置の座標から、ユーザ21と基準点との距離を算出する。そしてマイク感度設定部160は、算出した距離が閾値以上の場合、マイク感度を大きくする。マイク感度は、マイク38,39に加えられた音圧の大きさに対する出力電圧の大きさを、例えば[dB]の単位で表したものである。
【0054】
例えばマイク感度設定部160は、ユーザ21と基準点との距離が80[cm]未満であった場合、マイク感度を+24[dB]に設定する。一方マイク感度設定部160は、ユーザ21と基準点との距離が80[cm]以上であった場合、マイク感度を+36[dB]に設定する。
【0055】
音声信号取得部170は、マイク38,39から音声信号を取得する。合成音声信号生成部180は、音声信号取得部170が取得した音声信号を基に、強化方向からの音声が強調された合成信号を生成する。合成音声信号生成部180は、強化方向からの音声がマイク38,39に伝わる時間の差(遅延時間)を算出する。合成音声信号生成部180は、マイク38,39の一方のマイクから取得された音声信号を遅延時間だけ遅延させ、もう一方のマイクから取得された音声信号と合成する。
【0056】
なお、
図5に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、
図5に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【0057】
次に、ビームフォーミングについて説明する。
図6は、音声の伝わり方の一例を示す図である。マイク38,39は、距離がdだけ離れて設置されている。ここで、マイク38,39を結ぶ直線と垂直でマイク38,39の中点を通る直線に対して、マイク39の側に角度θだけ傾いた方向(θ方向)から、音声の平面波である音波41が到来する場合を考える。
【0058】
この場合、音波41のマイク39への経路は、マイク38への経路よりd・sinθだけ短い。よって、マイク38によって音波41を変換した音声信号の、マイク39によって音波41を変換した音声信号に対する遅延時間δは以下の式で算出される。なお「c」は、音速である。
【0059】
δ=d・sinθ/c (1)
ここで、θ方向を強化方向とするビームフォーミングでは、合成音声信号生成部180は、マイク39から取得した音声信号をδだけ遅延させた音声信号と、マイク38から取得した音声信号とを合成して、合成音声信号を生成する。すると、マイク39から取得した音声信号をδだけ遅延させた音声信号と、マイク38から取得した音声信号とに含まれるθ方向からの音声の位相が一致する。これにより生成された合成音声信号では、θ方向からの音声が強調される。一方、マイク39から取得した音声信号をδだけ遅延させた音声信号と、マイク38から取得した音声信号とに含まれるθ方向以外の方向からの音声の位相は一致しない。よって生成された合成音声信号では、θ方向以外の方向からの音声は強調されない。このようなビームフォーミングによって、ユーザ端末100は、θ方向に指向性を持つようになる。
【0060】
次に、センサ32がユーザ21のセンサ32に対する相対位置の座標を特定する方法について説明する。
図7は、センサによる人体の位置座標を出力する方法の一例である。センサ32は、移動する物体(移動体)を人体として検知し、検知した人体までの距離を基に、検知した人体のセンサ32に対する相対位置の座標を出力する。
【0061】
センサ32は、投光部から、複数の方向に対して光(例えば、近赤外光)を照射する。すると、照射された光は、反射点42a,42b,42c,・・・によって反射される。反射点42a,42b,42c,・・・は、照射された光が当たった、物体(例えば、人体、置物、壁など)の箇所を示す。センサ32は、反射点42a,42b,42c,・・・によって反射された反射光を受光部で検知する。センサ32は、反射点42a,42b,42c,・・・の各点との距離を、光を照射してから各点からの反射光が検知されるまでの時間(飛行時間)から、(点との距離)=(光速)×(飛行時間)/2の式で算出する。
【0062】
センサ32は、反射点42a,42b,42c,・・・の各点との距離に基づいて、距離画像43を生成してもよい。距離画像43の各画素は、光を照射した複数の方向に対応する。距離画像43の各画素の値は、対応する方向にある反射点42a,42b,42c,・・・までの距離を示す。なお
図7では、距離画像43の各画素の値の大小が、点の濃淡で表される。距離画像43では、点が濃い箇所は画素の値が小さい(距離が近い)ことを示し、点が薄い箇所は画素の値が大きい(距離が遠い)ことを示す。
【0063】
センサ32は、例えば距離画像43の各画素の値の変化を基に、動いている物体(移動体)を検知する。センサ32は、距離画像43において、検知した移動体の重心を示す画素を特定する。センサ32は、特定した画素の値に示された距離と、特定した画素に対応する方向を基に、移動体の重心のセンサ32に対する相対位置の座標を算出する。センサ32は、移動体の重心のセンサ32に対する相対位置の座標を、人体のセンサ32に対する相対位置の座標として出力する。なおセンサ32は、人間の移動を検知し、移動体の重心を示す画素を特定するのに代えて、例えば人間の呼吸による微小な動きを検知し、動きのある領域の重心を示す画素を特定してもよい。
【0064】
次に、強化方向の決定方法について説明する。
図8は、強化方向の決定方法の一例である。強化方向は、センサ32およびマイク38,39の設置位置と、センサ32から取得されるユーザ21のセンサ32に対する相対位置とに基づいて決定される。センサ32およびマイク38,39の設置位置を示すための座標系の一例が以下のように定義される。
【0065】
x軸は、マイク38,39を結ぶ直線と平行な軸である。y軸は、水平面に対して垂直な軸である。z軸は、x,y平面に垂直な軸である。つまり、x,z平面は水平面である。マイク38とマイク39との中点である基準点44の位置座標が(0,0,0)として表される。
【0066】
マイク38の位置座標は(X
1,0,0)である。マイク39の位置座標は(X
2,0,0)である。センサ32の位置座標は(X
3,Y
3,Z
3)である。センサ32は、ユーザ21のセンサ32に対する相対位置の座標を出力する。ここで、センサ32が出力した、ユーザ21のセンサ32に対する相対位置の座標が(A,B,C)であったとする。この場合、ユーザ21の位置座標は、センサ32の位置座標に、ユーザ21のセンサ32に対する相対位置の座標を足すことで、(X
3+A,Y
3+B,Z
3+C)と算出される。
【0067】
強化方向は、水平面(x,z平面)において、マイク38,39を結ぶ直線と垂直な直線に対して、基準点44とユーザ21とを結ぶ直線がマイク39の側に傾いている角度θで表される。角度θは、以下の式で算出される。
【0068】
tanθ=(X
3+A)/(Z
3+C)
θ=tan
-1((X
3+A)/(Z
3+C)) (2)
式(2)の上側の式は、ユーザ21の位置座標を基にtanθを示したものである。式(2)の上側の式の両辺に、tanの逆関数(tan
-1)が作用された式(2)の下側の式によって、角度θが算出される。
【0069】
また、マイク38とマイク39との距離dは、以下の式で算出される。
d=|X
1−X
2| (3)
また、基準点44とユーザ21との距離Dは、以下の式で算出される。なお、距離Dは、第1の実施の形態に示した距離情報の一例である。
【0070】
D=((X
3+A)
2+(Y
3+B)
2+(Z
3+C)
2)
1/2 (4)
次に、記憶部120に記憶されるデータについて詳細に説明する。
図9は、設置位置情報の一例を示す図である。設置位置情報121には、機器および座標の欄が設けられている。機器の欄には、機器が設定される。座標の欄には、対応する機器の位置座標が設定される。
【0071】
設置位置情報121には、マイク38,39およびセンサ32についての情報が登録される。マイク38,39およびセンサ32のそれぞれの位置座標は、例えば
図8で示した座標系における位置座標で示される。
【0072】
以下、ユーザ端末100によるビームフォーミングの手順について、詳細に説明する。
図10は、第1の強化方向制御の手順の一例を示すフローチャートである。以下、
図10に示す処理をステップ番号に沿って説明する。
【0073】
[ステップS101]強化方向決定部150は、ビームフォーミングが有効になるよう設定する。
[ステップS102]強化方向決定部150は、強化方向を0[°]に設定する。またマイク感度設定部160は、マイク38,39のマイク感度を+24[dB]に設定する。
【0074】
[ステップS103]センサデータ取得部130は、ユーザ21のセンサ32に対する相対位置をセンサ32から取得する。
[ステップS104]位置算出部140は、ステップS103で取得したユーザ21のセンサ32に対する相対位置を基に、ユーザ21の基準点44に対する相対位置を算出する。例えば位置算出部140は、設置位置情報121を参照し、センサ32の基準点44に対する相対位置を取得する。そして位置算出部140は、ユーザ21のセンサ32に対する相対位置と、センサ32の基準点44に対する相対位置とを足すことで、ユーザ21の基準点44に対する相対位置を算出する。
【0075】
[ステップS105]強化方向決定部150は、ユーザ21の基準点44に対する相対位置に基づいて、ユーザ21の基準点44からの方向を算出する。例えば強化方向決定部150は、式(2)を用いてユーザ21の基準点44からの方向を示す角度θを算出する。
【0076】
[ステップS106]強化方向決定部150は、ユーザ21がマイク使用可能領域の範囲内にいるか否かを判定する。マイク使用可能領域は、例えばマイク38,39の仕様や、マイク38,39の設置されたモニタ31の形状により決定される、マイク38,39によって収音できる領域である。マイク使用可能領域の範囲は、例えば基準点44からの角度や、基準点44に対する相対位置の座標であらかじめ設定される。強化方向決定部150は、ユーザ21がマイク使用可能領域の範囲内にいると判定した場合、処理をステップS107に進める。また強化方向決定部150は、ユーザ21がマイク使用可能領域の範囲外にいると判定した場合、処理をステップS103に進める。
【0077】
[ステップS107]強化方向決定部150は、ユーザ21の基準点44からの方向を示す角度θが±15[°]以内であるか否かを判定する。強化方向決定部150は、θが±15[°]以内であると判定した場合、処理をステップS109に進める。また強化方向決定部150は、θが±15[°]以内ではないと判定した場合、処理をステップS108に進める。
【0078】
[ステップS108]強化方向決定部150は、角度θで示される、ユーザ21の基準点44からの方向を強化方向に決定する。
[ステップS109]マイク感度設定部160は、ユーザ21と基準点44との距離が80[cm]以上であるか否かを判定する。例えばマイク感度設定部160は、ユーザ21と基準点44との距離を、式(4)を用いて算出する。そしてマイク感度設定部160は、算出した距離が80[cm]以上であるか否かを判定する。マイク感度設定部160は、ユーザ21と基準点44との距離が80[cm]以上であると判定した場合、処理をステップS110に進める。またマイク感度設定部160は、ユーザ21と基準点44との距離が80[cm]未満であると判定した場合、処理を終了する。
【0079】
[ステップS110]マイク感度設定部160は、マイク38,39のマイク感度を+36[dB]に設定する。
このように、ユーザ21のセンサ32に対する相対位置から、ユーザ21の基準点44からの角度θが算出され、角度θで示される方向が強化方向に決定される。ここで、ある音源からの音声が、マイク38,39に伝わるまでの時間の差(遅延時間)は、音源の、マイク38,39の中点(基準点44)からの角度によって決まる。ユーザ21の基準点44からの角度θがユーザ21の方向として算出されることで、センサ32とマイク38,39が離れて設置されていても、精度よく遅延時間が算出される。その結果、ビームフォーミングによって、ユーザ21の声が強調されやすくなる。
【0080】
また、ユーザ21の方向を検出する他の方法として、ユーザ21の声が到来する方向を算出する方法がある。しかし、この方法では、ユーザ21が発話するまで強化方向が決定されない。これに対して、ユーザ端末100は、ユーザ21が発話する前に強化方向を決定できる。
【0081】
また、ユーザ21の基準点44からの距離が閾値(例えば80[cm])以上の場合に、マイク感度が大きく設定される(例えば、+24[dB]から+36[dB]に変更される)。これにより、ユーザ21が遠くにいる場合でも、ユーザ21の声が収音されやすくなる。なお、高いマイク感度で近くの音声を収音すると音割れが起こってしまうことがある。そこでマイク感度設定部160は、ユーザ21の基準点44からの距離が閾値以上の場合に、マイク感度を大きくする。
【0082】
図11は、第1の合成音声信号生成の手順の一例を示すフローチャートである。以下、
図11に示す処理をステップ番号に沿って説明する。
[ステップS121]音声信号取得部170は、マイク38,39から音声信号を取得する。
【0083】
[ステップS122]合成音声信号生成部180は、強化方向の音声について、マイク38から取得した音声信号のマイク39から取得した音声信号に対する遅延時間を算出する。例えば合成音声信号生成部180は、式(1)を用いて、遅延時間δを算出する。
【0084】
[ステップS123]合成音声信号生成部180は、一方のマイクから取得した音声信号を遅延させる。例えば合成音声信号生成部180は、マイク39から取得した音声信号をステップS122で算出した遅延時間δだけ遅延させる。
【0085】
[ステップS124]合成音声信号生成部180は、合成音声信号を生成する。例えば合成音声信号生成部180は、ステップS123で遅延時間δだけ遅延させた、マイク39から取得した音声信号とマイク38から取得した音声信号とを合成し、合成音声信号を生成する。
【0086】
このようにして、強化方向θからの音声が強調された合成音声信号が生成される。これにより、合成音声信号ではユーザ21の声が強調される。その結果、ユーザ端末100の音声アシスタントなどのソフトウェアが合成音声信号を用いることで、音声認識の精度が向上する。ここで、強化方向θは正面(0[°])に限られない。よって、ユーザ21が画面の正面にいない場合でも音声認識の精度が向上する。
【0087】
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施の形態は、ビームフォーミングによって指向性を持たせる方向を複数のユーザのいずれかの方向に設定するものである。
【0088】
図12は、第3の実施の形態の概要を説明するための図である。ユーザ端末100aは、例えば音声アシスタントなどのソフトウェアによって、音声操作が可能な端末である。ユーザ端末100aは音声信号を取得すると、取得した音声信号が示す言葉に応じた処理を行う。
【0089】
ユーザ22,23は、ユーザ端末100aの周囲にいるユーザである。ユーザ端末100aは、ユーザ22,23をセンサで検知し、ユーザ22,23がいる方向(人体が存在する複数の方向)のうち、所定の言葉(ウェイクワード)を発したユーザがいる方向に指向性を持つようにビームフォーミングの設定をする。ウェイクワードは、音声アシスタントを起動させるために発する言葉である。
【0090】
例えば、ユーザ端末100aが周囲に複数のユーザ(ユーザ22,23)を検知した場合、ユーザ端末100aは、ビームフォーミングを行わないよう設定する。これにより、音声認識率は角度に依存しなくなる(全角度に対する音声認識率が中程度になる)。
【0091】
ここで、ユーザ23がウェイクワードを発したとする。するとユーザ端末100aは、ユーザ23がいる方向からの音に対して指向性を持つようにビームフォーミングの設定をする。これにより、ユーザ23がいる方向からの音声に対する音声認識率が高くなり、その他の方向からの音声に対する音声認識率が低くなる。
【0092】
ユーザ端末100aは、第2の実施の形態のユーザ端末100と同様に
図3のハードウェア構成によって実現される。以下では、ユーザ端末100aのハードウェアとしてユーザ端末100のハードウェアと同じ符号が用いられる。
【0093】
次に、ユーザ端末100aの機能について詳細に説明する。
図13は、ユーザ端末の他の機能例を示すブロック図である。ユーザ端末100aは、ユーザ端末100の強化方向決定部150に代えて、強化方向決定部150aを有する。ユーザ端末100aは、ユーザ端末100の機能に加え、音源方向算出部190をさらに有する。
【0094】
強化方向決定部150aは、ユーザ22,23それぞれの基準点に対する相対位置の座標を基に、ユーザ22,23それぞれの基準点からの方向を算出する。強化方向決定部150aは、ユーザ22,23それぞれの基準点からの方向のうち、音源方向算出部190が算出した、ウェイクワードが発せられた方向に近いものを強化方向に決定する。音源方向算出部190は、音声信号取得部170が取得した音声を基に、ウェイクワードが発せられた方向を算出する。
【0095】
次に、音源方向算出部190によるウェイクワードが発せられた方向の算出方法を説明する。
図14は、音源の方向を算出する方法の一例を示す図である。音源方向算出部190は、音源45からの音声がマイク38,39に伝わる時間の差を基に音源45の方向を算出する。
【0096】
マイク38,39は、距離がdだけ離れて設置されている。ここで、マイク38,39を結ぶ直線と垂直でマイク38,39の中点を通る直線に対して、マイク39の側に角度φだけ傾いた方向(φ方向)にある音源45から、音声の平面波が到来する場合を考える。マイク38は、音源45からの音声を音声信号46に変換する。またマイク39は、音源45からの音声を音声信号47に変換する。
【0097】
この場合、音声信号46の音声信号47に対する遅延時間Δは、式(1)のδにΔ、θにφを代入することで算出される。よって角度φは、以下の式で算出される。
φ=sin
-1(c・Δ/d) (5)
【0098】
音源方向算出部190は、ウェイクワードが発せられた時の音声信号46と音声信号47との遅延時間Δを特定する。そして音源方向算出部190は、音源45の方向を示す角度φを式(5)で算出する。これにより音源方向算出部190は、ウェイクワードが発せられた時の音源45の方向(すなわち、ウェイクワードを発したユーザがいる方向)を算出できる。
【0099】
以下、ユーザ端末100aによるビームフォーミングの手順について、詳細に説明する。なお、ユーザ端末100aによる合成音声信号の生成は、第2の実施の形態のユーザ端末100による合成音声信号の生成と同様の処理である。
【0100】
図15は、第2の強化方向制御の手順の一例を示すフローチャートである。以下、
図15に示す処理をステップ番号に沿って説明する。
[ステップS131]マイク感度設定部160は、マイク38,39のマイク感度を+24[dB]に設定する。
【0101】
[ステップS132]センサデータ取得部130は、ユーザ22,23それぞれのセンサ32に対する相対位置をセンサ32から取得する。
[ステップS133]位置算出部140は、ステップS132で取得したユーザ22,23それぞれのセンサ32に対する相対位置を基に、ユーザ22,23それぞれの基準点44に対する相対位置を算出する。例えば位置算出部140は、設置位置情報121を参照し、センサ32の基準点44に対する相対位置を取得する。そして位置算出部140は、ユーザ22,23それぞれのセンサ32に対する相対位置と、センサ32の基準点44に対する相対位置とを足すことで、ユーザ22,23それぞれの基準点44に対する相対位置を算出する。
【0102】
[ステップS134]強化方向決定部150aは、ユーザ22,23それぞれの基準点44に対する相対位置に基づいて、ユーザ22,23それぞれの基準点44からの方向を算出する。例えば強化方向決定部150aは、式(2)を用いてユーザ22,23それぞれの基準点44からの方向を示す角度θ
1,θ
2を算出する。
【0103】
[ステップS135]強化方向決定部150aは、音声アシスタントがウェイクワードによって起動したか否かを判定する。強化方向決定部150aは、音声アシスタントがウェイクワードによって起動したと判定した場合、処理をステップS136に進める。また強化方向決定部150aは、音声アシスタントがウェイクワードによって起動しなかったと判定した場合、処理をステップS132に進める。
【0104】
[ステップS136]強化方向決定部150aは、ビームフォーミングが有効になるよう設定する。
[ステップS137]音源方向算出部190は、ウェイクワードが発せられた方向を算出する。例えば音源方向算出部190は、ウェイクワードを示すマイク38,39それぞれの音声信号を音声信号取得部170から取得し、遅延時間Δを特定する。そして音源方向算出部190は、式(5)を用いてウェイクワードが発せられた方向を示す角度φを算出する。
【0105】
[ステップS138]強化方向決定部150aは、ユーザ22,23のうち、ウェイクワードが発せられた方向に最も近いユーザを選択する。例えば強化方向決定部150aは、角度θ
1,θ
2のうち、角度φとの差が小さい方の角度に対応するユーザ(例えば、角度θ
2に対応するユーザ23)を選択する。
【0106】
[ステップS139]強化方向決定部150aは、ステップS138で選択したユーザの基準点44からの方向を強化方向に決定する。例えば強化方向決定部150aは、角度θ
2で示される、ユーザ23の基準点44からの方向を強化方向に決定する。
【0107】
[ステップS140]マイク感度設定部160は、ユーザ23と基準点44との距離が80[cm]以上であるか否かを判定する。例えばマイク感度設定部160は、ユーザ23と基準点44との距離を、式(4)を用いて算出する。そしてマイク感度設定部160は、算出した距離が80[cm]以上であるか否かを判定する。マイク感度設定部160は、ユーザ23と基準点44との距離が80[cm]以上であると判定した場合、処理をステップS141に進める。またマイク感度設定部160は、ユーザ23と基準点44との距離が80[cm]未満であると判定した場合、処理を終了する。
【0108】
[ステップS141]マイク感度設定部160は、マイク38,39のマイク感度を+36[dB]に設定する。
このようにして、複数のユーザのうちウェイクワードを発したユーザの方向が強化方向に決定される。つまり、ユーザ端末100aの音声アシスタントを使用するユーザがいる方向が強化方向に決定される。その結果、複数のユーザがいる場合でもユーザ端末100aの音声アシスタントによる音声認識の精度が向上する。
【0109】
ここで、音源方向算出部190が算出した角度φを、ウェイクワードを発したユーザの方向として強化方向に決定する方法も考えられる。しかし、マイクの数や設置位置が限られている場合、角度φの精度が低くなることがある。そこで、センサ32から取得された複数のユーザの位置座標を基に算出された複数の角度の中から、角度φに近いものが選択される。これにより、音声信号を基に算出した音源の方向を強化方向に設定するよりも、強化方向の設定精度が向上する。
【0110】
〔第4の実施の形態〕
第4の実施の形態は、ビームフォーミングによって指向性を持たせる方向を複数のユーザの位置に応じて設定するものである。
【0111】
図16は、第4の実施の形態の概要を説明するための図である。ユーザ端末100bは、例えば音声アシスタントなどのソフトウェアによって、音声操作が可能な端末である。ユーザ端末100bは音声信号を取得すると、取得した音声信号が示す言葉に応じた処理を行う。
【0112】
ユーザ24,25は、ユーザ端末100bを音声操作するユーザである。ユーザ端末100bは、ユーザ24,25をセンサで検知する。そしてユーザ端末100bは、ユーザ24,25がいる方向(人体が存在する複数の方向)それぞれに指向性を持つような設定のビームフォーミングによる合成音声信号を生成する。ユーザ端末100bが、ユーザ24がいる方向からの音に対して指向性を持つようにビームフォーミングの設定をする場合、ユーザ24がいる方向からの音声に対する音声認識率が高くなり、その他の方向からの音声に対する音声認識率が低くなる。またユーザ端末100bが、ユーザ25がいる方向からの音に対して指向性を持つようにビームフォーミングの設定をする場合、ユーザ25がいる方向からの音声に対する音声認識率が高くなり、その他の方向からの音声に対する音声認識率が低くなる。
【0113】
ユーザ端末100bは、第2の実施の形態のユーザ端末100と同様に
図3のハードウェア構成によって実現される。またユーザ端末100bは、ユーザ端末100と同様に
図5で示される機能を有する。以下では、ユーザ端末100bのハードウェアとしてユーザ端末100のハードウェアと同じ符号が用いられ、ユーザ端末100bの機能としてユーザ端末100の機能と同じ符号が用いられる。
【0114】
図17は、第3の強化方向制御の手順の一例を示すフローチャートである。以下、
図17に示す処理をステップ番号に沿って説明する。
[ステップS151]強化方向決定部150は、ビームフォーミングが有効になるよう設定する。
【0115】
[ステップS152]強化方向決定部150は、強化方向を0[°]に設定する。またマイク感度設定部160は、マイク38,39のマイク感度を+24[dB]に設定する。
【0116】
[ステップS153]センサデータ取得部130は、ユーザ24,25それぞれのセンサ32に対する相対位置をセンサ32から取得する。
[ステップS154]位置算出部140は、ステップS153で取得したユーザ24,25それぞれのセンサ32に対する相対位置を基に、ユーザ24,25それぞれの基準点44に対する相対位置を算出する。例えば位置算出部140は、設置位置情報121を参照し、センサ32の基準点44に対する相対位置を取得する。そして位置算出部140は、ユーザ24,25それぞれのセンサ32に対する相対位置と、センサ32の基準点44に対する相対位置とを足すことで、ユーザ24,25それぞれの基準点44に対する相対位置を算出する。
【0117】
[ステップS155]強化方向決定部150は、ユーザ24,25それぞれの基準点44に対する相対位置に基づいて、ユーザ24,25それぞれの基準点44からの方向を算出する。例えば強化方向決定部150は、式(2)を用いてユーザ24,25それぞれの基準点44からの方向を示す角度θ
a,θ
bを算出する。
【0118】
[ステップS156]強化方向決定部150は、角度θ
a,θ
bで示される、ユーザ24,25それぞれの基準点44からの方向を強化方向に決定する。
[ステップS157]マイク感度設定部160は、ユーザ24,25の中に基準点44と80[cm]以上離れたユーザがいるか否かを判定する。例えばマイク感度設定部160は、ユーザ24,25それぞれと基準点44との距離を、式(4)を用いて算出する。そしてマイク感度設定部160は、算出した距離が80[cm]以上であるか否かを判定する。マイク感度設定部160は、ユーザ24,25の中に基準点44と80[cm]以上離れたユーザがいると判定した場合、処理をステップS158に進める。またマイク感度設定部160は、ユーザ24,25の中に基準点44と80[cm]以上離れたユーザがいないと判定した場合、処理を終了する。
【0119】
[ステップS158]マイク感度設定部160は、マイク38,39のマイク感度を+36[dB]に設定する。
このようにして、複数のユーザそれぞれがいる方向が強化方向に決定される。また、複数のユーザのうち、いずれかのユーザの基準点44からの距離が閾値以上の場合に、マイク感度が大きく設定される。これにより、遠くにいるユーザの声が収音されやすくなる。
【0120】
図18は、第2の合成音声信号生成の手順の一例を示すフローチャートである。以下、
図18に示す処理をステップ番号に沿って説明する。
[ステップS161]音声信号取得部170は、マイク38,39から音声信号を取得する。
【0121】
[ステップS162]合成音声信号生成部180は、全ての強化方向を選択したか否かを判定する。合成音声信号生成部180は、全ての強化方向を選択したと判定した場合、処理を終了する。また合成音声信号生成部180は、未選択の強化方向が残っていると判定した場合、処理をステップS163に進める。
【0122】
[ステップS163]合成音声信号生成部180は、未選択の強化方向を1つ選択する。
[ステップS164]合成音声信号生成部180は、ステップS163で選択した強化方向の音声について、マイク38から取得した音声信号のマイク39から取得した音声信号に対する遅延時間を算出する。例えば合成音声信号生成部180は、式(1)を用いて、遅延時間δを算出する。
【0123】
[ステップS165]合成音声信号生成部180は、一方のマイクから取得した音声信号を遅延させる。例えば合成音声信号生成部180は、マイク39から取得した音声信号をステップS164で算出した遅延時間δだけ遅延させる。
【0124】
[ステップS166]合成音声信号生成部180は、合成音声信号を生成する。例えば合成音声信号生成部180は、ステップS165で遅延時間δだけ遅延させた、マイク39から取得した音声信号とマイク38から取得した音声信号とを合成し、合成音声信号を生成する。そして合成音声信号生成部180は、処理をステップS162に進める。
【0125】
このようにして、複数の強化方向それぞれからの音声が強調された複数の合成音声信号が生成される。これにより、いずれかの合成音声信号で音声入力をしているユーザの声が強調される。その結果、ユーザ端末100bの音声アシスタントなどのソフトウェアが、生成された複数の合成音声信号それぞれについての音声認識処理を行うことで、いずれかの合成音声信号に対する音声認識で精度が向上する。
【0126】
〔その他の実施の形態〕
第2の実施の形態では、ユーザ端末100の音声アシスタントなどのソフトウェアが、合成音声信号を基に処理を実行していたが、サーバが合成音声信号を基に処理を実行してもよい。
【0127】
図19は、その他の実施の形態のシステム構成例を示す図である。ユーザ端末100cは、ユーザ26をセンサで検知し、ユーザ26がいる方向に指向性を持つようにビームフォーミングの設定をする。ユーザ端末100cは、ネットワーク20を介してサーバ200に接続されている。ユーザ端末100cは、ビームフォーミングによって生成した合成音声信号をサーバ200に送信する。
【0128】
サーバ200は、ユーザ端末100cから取得した合成音声信号に基づく処理を実行する。例えばサーバ200は、合成音声信号を解析し、合成音声信号が示す言葉をユーザ端末100cに送信する。
【0129】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。