(57)【特許請求の範囲】
【請求項１】
同一平面上に設けられた３個のスピーカから同じ原音を一定期間のみ各スピーカ毎に異なる遅延時間の人工エコーを付加して出力し、各スピーカの出力に人工エコーが付加されている一定期間と他のスピーカの出力に人工エコーが付加されている一定期間とは排他的関係にあり、前記３個のスピーカ全ての出力に人工エコーが付加されていない一定期間が設けられるシステムで用いる位置推定装置であって、
前記３個のスピーカの出力を検知するマイクロホンと、
前記マイクロホンの検知出力に基づいて前記位置推定装置の位置を推定する位置推定処理を実行するプロセッサとを備え、
前記位置推定処理は、
前記検知出力をサンプリングしたサンプル列のケプストラム解析でケプストラムを生成し、
前記ケプストラム解析の結果から、前記人工エコーを付加された区間での前記ケプストラムのピークの出現位置を特定することにより取得した、前記検知出力に重畳されている前記人工エコーの、各スピーカ毎に異なる前記遅延時間と、前記３個のスピーカの出力の前記マイクロホンまでの到達遅延とに基づき、前記位置推定装置の位置から前記３個のスピーカの夫々の位置までの距離の大小関係を示す、前記位置推定装置から見た前記３個のスピーカの距離順序を取得し、
前記３個のスピーカの位置の既知の座標値に基づいて、３つの存在し得る、前記位置推定装置から見た前記３個のスピーカうち各対のスピーカの距離差が一定の点のプロットであり、焦点が前記各対のスピーカの位置となる双曲線のうち、前記距離順序に基づき前記位置推定装置から最も近距離のスピーカの位置を１つの焦点とする２つの双曲線を選択して、２連立双曲線方程式を解くことで、前記位置推定装置の位置を推定する、
ことを特徴とする、位置推定装置。
【請求項２】
前記位置推定処理は、
前記３個のうち一対のスピーカの出力の前記マイクロホンへの到達時間差と音速の積から前記位置推定装置から見た前記一対のスピーカの距離差Lcaを求め、
前記３個のうち他の一対のスピーカの出力の前記マイクロホンへの到達時間差と音速の積から前記位置推定装置から見た前記他の一対のスピーカの距離差Lcbを求め、
前記一対のスピーカの位置を焦点として当該焦点の距離差がLcaとなる双曲線αと、前記他の一対のスピーカの位置を焦点として当該焦点の距離差がLcbとなる双曲線βを求め、
前記双曲線α，βを共に満たす前記２連立双曲線方程式の交点から前記位置推定装置の位置を決定する
ことを特徴とする、請求項１記載の位置推定装置。
【請求項３】
前記位置推定処理は、前記２連立双曲線方程式の複数の解候補を、前記距離順序に基づいて絞り込む
ことを特徴とする、請求項２記載の位置推定装置。
【請求項４】
前記位置推定処理は、前記２連立双曲線方程式の前記複数の解候補を前記距離順序に基づいて絞り込んだ後、前記３個のスピーカの位置の前記既知の座標値を頂点とする三角形の領域内の解候補に絞り込む
ことを特徴とする、請求項３記載の位置推定装置。
【請求項５】
同一平面上に設けられた３個のスピーカから同じ原音を一定期間のみ各スピーカ毎に異なる遅延時間の人工エコーを付加して出力し、各スピーカの出力に人工エコーが付加されている一定期間と他のスピーカの出力に人工エコーが付加されている一定期間とは排他的関係にあり、前記３個のスピーカ全ての出力に人工エコーが付加されていない一定期間が設けられるシステムにおいて、端末装置のコンピュータに位置推定処理を実行させるプログラムであって、
前記３個のスピーカの出力を前記端末装置のマイクロホンで検知してサンプリングしたサンプル列のケプストラム解析でケプストラムを生成し、
前記ケプストラム解析の結果から、前記人工エコーを付加された区間での前記ケプストラムのピークの出現位置を特定することにより取得した、前記マイクロホンで検知した前記３個のスピーカの出力に重畳されている前記人工エコーの、各スピーカ毎に異なる前記遅延時間と、前記３個のスピーカの出力の前記マイクロホンまでの到達遅延とに基づき、前記端末装置の位置から前記３個のスピーカの夫々の位置までの距離の大小関係を示す、前記端末装置から見た前記３個のスピーカの距離順序を取得し、
前記３個のスピーカの位置の既知の座標値に基づいて、３つの存在し得る、前記端末装置から見た前記３個のスピーカうち各対のスピーカの距離差が一定の点のプロットであり、焦点が前記各対のスピーカの位置となる双曲線のうち、前記距離順序に基づき前記端末装置から最も近距離のスピーカの位置を１つの焦点とする２つの双曲線を選択して、２連立双曲線方程式を解くことで、前記端末装置の位置を推定する、
処理を前記コンピュータに実行させることを特徴とする、プログラム。
【請求項６】
同一平面上に設けられた３個のスピーカから同じ原音を一定期間のみ各スピーカ毎に異なる遅延時間の人工エコーを付加して出力し、前記３個のスピーカの出力に基づき端末装置の位置を推定する位置推定方法であって、
各スピーカの出力に人工エコーが付加されている一定期間と他のスピーカの出力に人工エコーが付加されている一定期間とは排他的関係にあり、前記３個のスピーカ全ての出力に人工エコーが付加されていない一定期間が設けられ、
前記３個のスピーカの出力をマイクロホンで検知してサンプリングしたサンプル列のケプストラム解析でケプストラムを生成し、
前記ケプストラム解析の結果から、前記人工エコーを付加された区間での前記ケプストラムのピークの出現位置を特定することにより取得した、前記マイクロホンで検知した前記３個のスピーカの出力に重畳されている前記人工エコーの、各スピーカ毎に異なる前記遅延時間と、前記３個のスピーカの出力の前記マイクロホンまでの到達遅延とに基づき、前記端末装置の位置から前記３個のスピーカの夫々の位置までの距離の大小関係を示す、前記端末装置から見た前記３個のスピーカの距離順序を取得し、
前記３個のスピーカの位置の既知の座標値に基づいて、３つの存在し得る、前記端末装置から見た前記３個のスピーカうち各対のスピーカの距離差が一定の点のプロットであり、焦点が前記各対のスピーカの位置となる双曲線のうち、前記距離順序に基づき前記端末装置から最も近距離のスピーカの位置を１つの焦点とする２つの双曲線を選択して、２連立双曲線方程式を解くことで、前記端末装置の位置を推定する、
処理を前記端末装置のプロセッサが実行することを特徴とする、位置推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置推定方法、装置及びプログラムに関する。
【背景技術】
【０００２】
近年、消費者に提供する多種多様なサービスの一形態として、局所位置情報を用いた情報配信システムが提案されている。このような情報配信システムは、ある限定された空間内の観測者位置を元に、多種多様な情報を配信する。例えば、店舗などの限られた空間での位置情報取得によって、目的の陳列棚までの経路を探索したり、閉鎖空間で動作する自律ロボットの空間内での位置把握手法として利用することができる。
【０００３】
従来より、位置情報サービスとしてＧＰＳ（Global Positioning System）が利用されている。ＧＰＳは、地球を周回している複数の衛星からの情報を元に観測者の位置情報を取得する。ＧＰＳは、地球上の任意の位置で位置情報を取得可能であることから、カーナビゲーションシステムなどで使用されている。しかし、ＧＰＳの実用精度は十数メートルに制限されているため、店舗などの空間に対しては観測精度が十分ではない。また、ＧＰＳは、屋内や地下などの衛星からの情報を受信しにくい環境では使用できない場合があり、局所空間内の位置情報取得への応用は困難である。このため、局所空間内で位置情報取得を確実に取得できる局所位置情報取得手法の実現が望まれている。
【０００４】
局所位置情報取得手法に要求される特徴として、位置の観測精度が挙げられる。局所空間は、典型的には十数メートル〜数十メートル四方に制限されるものであるが、局所空間内での位置の観測精度は十数センチメートル程度以下でないと有益な情報として利用できない可能性がある。
【０００５】
また、局所位置情報取得手法に要求される他の特徴としては、コストが挙げられる。観測者位置情報を元にした情報サービスの提供は、小売店舗やスーパーマーケットなどの極小規模の単位で導入されることが考えられるため、可能な限り従来の機器など利用可能であるか、あるいは、低コストで実現できなければ、サービス提供者の増加が期待できない。
【０００６】
疑似衛星や電子タグなどを用いた局所位置情報取得手法は提案されているが、新たなハードウェアの導入及びこれに伴うコストの増加により、サービス提供者への負荷が大きい。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−１４７０８４号公報
【特許文献２】特開平７−３３３３３１号公報
【特許文献３】特開平５−１５７８３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来は、ＧＰＳが使用困難な領域での局所位置情報取得、またはＧＰＳ補助のための詳細位置情報取得を、高観測精度及び低コストで実現することは難しい。
【０００９】
そこで、本発明は、高精度で局所位置情報を取得可能な位置推定方法、装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一観点によれば、同一平面上に設けられた３個のスピーカから同じ原音を一定期間のみ各スピーカ毎に異なる遅延時間の人工エコーを付加して出力し、前記３個のスピーカの出力に基づき端末装置の位置を推定する位置推定方法であって、各スピーカの出力に人工エコーが付加されている一定期間と他のスピーカの出力に人工エコーが付加されている一定期間とは排他的関係にあり、前記３個のスピーカ全ての出力に人工エコーが付加されていない一定期間が設けられ、前記３個のスピーカの出力をマイクロホンで検知してサンプリングしたサンプル列のケプストラム解析でケプストラムを生成し、前記ケプストラム解析の結果から、前記人工エコーを付加された区間での前記ケプストラムのピークの出現位置を特定することにより取得した、前記マイクロホンで検知した前記３個のスピーカの出力に重畳されている前記人工エコーの、各スピーカ毎に異なる前記遅延時間と、前記３個のスピーカの出力の前記マイクロホンまでの到達遅延とに基づき、前記端末装置の位置から前記３個のスピーカの夫々の位置までの距離の大小関係を示す、前記端末装置から見た前記３個のスピーカの距離順序を取得し、前記３個のスピーカの位置の既知の座標値に基づいて、３つの存在し得る、前記端末装置から見た前記３個のスピーカうち各対のスピーカの距離差が一定の点のプロットであり、焦点が前記各対のスピーカの位置となる双曲線のうち、前記距離順序に基づき前記端末装置から最も近距離のスピーカの位置を１つの焦点とする２つの双曲線を選択して、２連立双曲線方程式を解くことで、前記端末装置の位置を推定する、処理を前記端末装置のプロセッサが実行する位置推定方法が提供される。
【００１１】
本発明の一観点によれば、同一平面上に設けられた３個のスピーカから同じ原音を一定期間のみ各スピーカ毎に異なる遅延時間の人工エコーを付加して出力し、各スピーカの出力に人工エコーが付加されている一定期間と他のスピーカの出力に人工エコーが付加されている一定期間とは排他的関係にあり、前記３個のスピーカ全ての出力に人工エコーが付加されていない一定期間が設けられるシステムで用いる位置推定装置であって、前記３個のスピーカの出力を検知するマイクロホンと、前記マイクロホンの検知出力に基づいて前記位置推定装置の位置を推定する位置推定処理を実行するプロセッサとを備え、前記位置推定処理は、前記検知出力をサンプリングしたサンプル列のケプストラム解析でケプストラムを生成し、前記ケプストラム解析の結果から、前記人工エコーを付加された区間での前記ケプストラムのピークの出現位置を特定することにより取得した、前記検知出力に重畳されている前記人工エコーの、各スピーカ毎に異なる前記遅延時間と、前記３個のスピーカの出力の前記マイクロホンまでの到達遅延とに基づき、前記位置推定装置の位置から前記３個のスピーカの夫々の位置までの距離の大小関係を示す、前記位置推定装置から見た前記３個のスピーカの距離順序を取得し、前記３個のスピーカの位置の既知の座標値に基づいて、３つの存在し得る、前記位置推定装置から見た前記３個のスピーカうち各対のスピーカの距離差が一定の点のプロットであり、焦点が前記各対のスピーカの位置となる双曲線のうち、前記距離順序に基づき前記位置推定装置から最も近距離のスピーカの位置を１つの焦点とする２つの双曲線を選択して、２連立双曲線方程式を解くことで、前記位置推定装置の位置を推定する位置推定装置が提供される。
【００１２】
本発明の一観点によれば、同一平面上に設けられた３個のスピーカから同じ原音を一定期間のみ各スピーカ毎に異なる遅延時間の人工エコーを付加して出力し、各スピーカの出力に人工エコーが付加されている一定期間と他のスピーカの出力に人工エコーが付加されている一定期間とは排他的関係にあり、前記３個のスピーカ全ての出力に人工エコーが付加されていない一定期間が設けられるシステムにおいて、端末装置のコンピュータに位置推定処理を実行させるプログラムであって、前記３個のスピーカの出力を前記端末装置のマイクロホンで検知してサンプリングしたサンプル列のケプストラム解析でケプストラムを生成し、前記ケプストラム解析の結果から、前記人工エコーを付加された区間での前記ケプストラムのピークの出現位置を特定することにより取得した、前記マイクロホンで検知した前記３個のスピーカの出力に重畳されている前記人工エコーの、各スピーカ毎に異なる前記遅延時間と、前記３個のスピーカの出力の前記マイクロホンまでの到達遅延とに基づき、前記端末装置の位置から前記３個のスピーカの夫々の位置までの距離の大小関係を示す、前記端末装置から見た前記３個のスピーカの距離順序を取得し、前記３個のスピーカの位置の既知の座標値に基づいて、３つの存在し得る、前記端末装置から見た前記３個のスピーカうち各対のスピーカの距離差が一定の点のプロットであり、焦点が前記各対のスピーカの位置となる双曲線のうち、前記距離順序に基づき前記端末装置から最も近距離のスピーカの位置を１つの焦点とする２つの双曲線を選択して、２連立双曲線方程式を解くことで、前記端末装置の位置を推定する、処理を前記コンピュータに実行させるプログラムが提供される。
【発明の効果】
【００１３】
開示の位置推定方法、装置及びプログラムによれば、高精度で局所位置情報を取得することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施例における位置推定方法の一例を説明する図である。
【図２】人工エコーの付加を説明する図である。
【図３】端末装置の一例を示すブロック図である。
【図４】ケプストラム解析結果の一例を説明する図である。
【図５】音源からの距離順序決定手法を説明する図である。
【図６】ユーザ位置の解候補の絞り込み処理の一例を説明する図である。
【図７】位置推定処理の一例を説明するフローチャートである。
【図８】スピーカ位置取得処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【００１５】
開示の位置推定方法、装置及びプログラムでは、同一平面上に設けられた３個のスピーカから同じ原音を一定期間のみ各スピーカ毎に異なる遅延時間の人工エコーを付加して出力する。各スピーカの出力に人工エコーが付加されている一定期間と他のスピーカの出力に人工エコーが付加されている一定期間とは排他的関係にあり、３個のスピーカ全ての出力に人工エコーが付加されていない一定期間が設けられる。位置推定装置では、３個のスピーカの出力をマイクロホンで検知してサンプリングしたサンプル列のケプストラム解析でケプストラムを生成し、ケプストラムのピークに基づき位置推定装置の位置から３個のスピーカの夫々までの距離の大小関係を示す距離順序を取得し、距離順序と３個のスピーカの既知の位置とに基づいて位置推定装置の位置を推定する。
【００１６】
以下に、開示の位置推定方法、装置及びプログラムの各実施例を図面と共に説明する。
【実施例】
【００１７】
本発明の一実施例における位置推定方法をの一例を説明する。図１は、本発明の一実施例における位置推定方法の一例を説明する図であり、図２は、人工エコーの付加を説明する図である。
【００１８】
図１に示す例では、パーソナルコンピュータ（ＰＣ：Personal Computer）１１はサービス提供者側に設けられた音源生成装置の一例である。少なくとも３個のスピーカ１Ａ，１Ｂ，１Ｃは、ＰＣ１１から出力される音源データの音（以下、音源とも言う）を出力する。スピーカ１Ａ，１Ｂ，１Ｃは、例えば店舗などの屋内の同一平面上の任意の三角形の頂点に配置されており、ユーザ（または、観測者）が携帯する端末装置２はこの三角形の領域内に位置するものとする。
【００１９】
端末装置２は、位置推定装置の一例である。端末装置２は、スピーカ１Ａ，１Ｂ，１Ｃから出力される音を検知するマイクロホン、プロセッサ、メモリなどを有し、例えばスマートホンを含む携帯電話、ノート型ＰＣ、タブレットＰＣ、パーソナルデジタルアシスタント（ＰＤＡ：Personal Digital Assistant）を含む携帯型電子装置で形成可能である。端末装置２は、スピーカ１Ａ〜１Ｃから出力される音をサンプリングしたサンプル（データ）をメモリに格納し、格納された音のサンプルを元にスピーカ１Ａ〜１Ｃで囲まれる空間内での端末装置２の位置を推定する。便宜上、以下の説明では端末装置２の位置を、ユーザ位置とも言う。各スピーカ１Ａ〜１Ｃからは、例えば同じ原音（例えば、音楽）を出力するが、原音に対してある時間だけ遅延された音を原音に重畳して人工エコー入り音源を出力する期間を設ける。つまり、端末装置２が録音する音は、３個のスピーカ１Ａ〜１Ｃから到達した音に加えて、各スピーカ１Ａ〜１Ｃからの人工エコー音が重畳された音となる。
【００２０】
図２中、（ａ）は音源の波形の一例と、各スピーカ１Ａ，１Ｂ，１Ｃからの人工エコー入り音源の波形を示し、（ｂ）は各スピーカ１Ａ，１Ｂ，１Ｃから出力される音源の人工エコーの有無を一定期間t1毎に示す。各スピーカ１Ａ〜１Ｃは、図２に示すように、ある一定期間のみ人工エコーを付加した音源を出力する。また、各スピーカ１Ａ〜１Ｃの出力に付加されている人工エコーの遅延時間ta, tb, tcは、各スピーカ１Ａ〜１Ｃ毎に異なり（すなわち、後述する各チャネルCh-A〜Ch-Cに固有の値）であり、且つ、各スピーカ（例えば、スピーカ１Ａ）の出力に人工エコーが付加されている期間と他のスピーカ（例えば、スピーカ１Ｂ，１Ｃ）の出力に人工エコーが付加されている期間とは排他的関係にある。さらに、全てのスピーカ１Ａ〜１Ｃ出力に人工エコーが付加されていない音源、すなわち、エコー無し音源を出力する期間が設けられる。
【００２１】
図１において、ＰＣ１１は、デジタル音源データ１００のマルチチャネル再生を行うために、チャネルCh-Aの再生系、チャネルCh-Bの再生系、及びチャネルCh-Cの再生系を有する。チャネルCh-Aの再生系は、加算回路１２Ａ、遅延回路１３Ａ、セレクタ１４Ａ、デジタル／アナログ変換器（ＤＡＣ：Digital-to-Analog Converter）１５Ａ、及びアンプ１６Ａを有する。チャネルCh-Bの再生系は、加算回路１２Ｂ、遅延回路１３Ｂ、セレクタ１４Ｂ、ＤＡＣ１５Ｂ、及びアンプ１６Ｂを有する。チャネルCh-Cの再生系は、加算回路１２Ｃ、遅延回路１３Ｃ、セレクタ１４Ｃ、ＤＡＣ１５Ｃ、及びアンプ１６Ｃを有する。アンプ１６Ａ，１６Ｂ，１６Ｃの出力は、対応するスピーカ１Ａ，１Ｂ，１Ｃに接続されている。
【００２２】
ＰＣ１１は、ＣＰＵ（Central Processing Unit）などのプロセッサ、及びメモリなどの記憶部を有する周知のハードウェア構成を有し、チャネルCh-A〜Ch-C再生系において遅延回路部とセレクタ部の機能（遅延処理と選択処理）はプロセッサが記憶部に格納されたプログラムを実行することにより実現できる。また、ＤＡＣ部とアンプ部の機能はマルチチャネル再生に対応した外付けサウンドカードや、ＰＣ１１のマザーボードに搭載されたサウンドチップなどの再生系を用いることで実現できる。プログラムは、半導体記憶装置、磁気記録媒体、光記録媒体、光磁気記録媒体などの適切なコンピュータ読み取り可能な記憶媒体に格納されていても良い。なお、チャネルCh-A〜Ch-C再生系の遅延回路部とセレクタ部の機能は、ハードウェアにより実現しても良いことは言うまでもない。
【００２３】
チャネルCh-Aの再生系では、加算回路１２Ａがデジタル音源データ１００と、遅延回路１３Ａで遅延時間taだけ遅延されたデジタル音源データ１００とを加算する。セレクタ１４Ａは、デジタル音源データ１００と、デジタル音源データ１００に遅延時間taだけ遅延されたデジタル音源データ１００が加算された加算回路１２Ａからの人工エコー入り音源データとを、予め決められた順序及び間隔で選択出力する。セレクタ１４Ａの出力音源データは、ＤＡＣ１５Ａでデジタル／アナログ（Ｄ／Ａ）変換され、アンプ１６Ａで増幅された後にスピーカ１Ａに供給される。チャネルCh-B再生系及びCh-C再生系の動作は、チャネル再生系Ch-Aの処理と同様であるため、その説明は省略する。ただし、遅延回路１３Ｂは遅延時間tbを有し、遅延回路１３Ｃは遅延時間tcを有する。
【００２４】
例えば、一定期間（または、時間）t1が100ミリ秒（msec）であると、ＰＣ１１は、「全てのスピーカ１Ａ，１Ｂ，１Ｃの出力に人工エコー付加無し」、「スピーカ１Ａの出力に人工エコー付加有り」、「スピーカ１Ｂの出力に人工エコー付加有り」、及び「スピーカ１Ｃの出力に人工エコー付加有り」の４つの状態を400msecの周期で繰り返す。この場合、人工エコーを付加をする音源を出力するスピーカ１Ａ〜１Ｃの順序は任意であり、「スピーカ１Ｂ」、「スピーカ１Ｃ」、「エコー無し」、及び「スピーカ１Ａ」などのように３個のスピーカ１Ａ〜１Ｃの出力の人工エコー付加期間が連続しない順序でも良い。以下の説明では、説明の便宜上、スピーカ１Ａの人工エコーの遅延時間ta=0.3msec、スピーカ１Ｂの人工エコーの遅延時間tb=0.5msec、及びスピーカ１Ｃの人工エコーの遅延時間tc=0.7msecであるものとする。各スピーカ１Ａ〜１Ｃの人工エコーの遅延時間ta〜tcに制約はないが、一般的に、人間には1msec以下のエコーを判別することが困難であることを考慮すると、付加する人工エコーの遅延時間は人間が判別できない範囲内に収めることが望ましい。
【００２５】
図３は、端末装置の一例を示すブロック図である。図３に示す端末装置２は、ＣＰＵなどのプロセッサ２１、ＤＭＡＣ（Direct Memory Access Controller）２２、タイマ２３，２４、メモリ２５、マイクロホン２６、温度センサ２７、カメラ２８、通信部２９、及び操作部３０がバス４０で接続された構成を有する。この例では、端末装置２はスマートホンを形成しているが、端末装置２はスマートホンに限定されない。
【００２６】
この例では、プロセッサ２１は命令メモリ３１及びデータメモリ３２に接続されているが、プロセッサ２１と、プロセッサ２１が用いるメモリとは、図３に示す構成及び接続に限定されるものではなく、ＤＭＡを用いない構成であっても良い。ＤＭＡを用いない構成の場合、ＤＭＡＣ２２は省略可能である。また、命令メモリ３１及びデータメモリ３２は、メモリ２５を用いることにより省略可能である。さらに、タイマ２３，２４は、プロセッサ３１の内部タイマを用いることにより省略可能である。温度センサ２７は、後述するように環境温度に応じて音速を修正しない場合には省略可能であり、温度センサ２７を省略する場合にはタイマ２４は省略可能である。マイクロホン２６は、例えばモノラルマイクロホンである。
【００２７】
カメラ２８、通信部２９、及び操作部３０は、ユーザがスピーカ１Ａ〜１Ｃの位置情報取得するための入力部の一例であり、カメラ２８及び通信部２９は省略可能である。操作部３０は、キーボードなどの入力部と、ディスプレイなどの表示部を有し、タッチパネルのように入力部と表示部を一体的に有する構成を有しても良い。
【００２８】
プロセッサ２１は、命令メモリ３１に格納された位置推定プログラムを実行することで、マイクロホン２６が検知したスピーカ１Ａ，１Ｂ，１Ｃからの音に基づいて端末装置２の位置を推定する。プロセッサ２１が実行する演算で用いるパラメータ、演算の中間データなどのデータは、データメモリ３２に一時的に格納される。プロセッサ２１は、マイクロホン２６が検知したスピーカ１Ａ〜１Ｃからの音を、タイマ２３，２４からの第１及び第２の転送要求に基づいてＤＭＡＣ２２から出力される割り込み信号で決定されるタイミングでサンプリングすることでアナログ／デジタル（Ａ／Ｄ）変換して、サンプルをメモリ２５に転送して格納する。タイマ２３は、マイクロホン２６の出力をサンプリングする周期で第１の転送要求を発生し、タイマ２４は、温度センサ２７の出力をサンプリングする周期で第２の転送要求を発生する。マイクロホン２６の出力をサンプリングする周期と、温度センサ２７の出力をサンプリングする周期は、例えばプロセッサ２１からタイマ２３，２４に設定可能である。端末装置２の環境温度が急激に大きく変動することは稀であるため、タイマ２４に設定される周期は例えば１秒であり、タイマ２３に設定される周期と比べると長い。また、プロセッサ２１は、所定数のサンプルがメモリ２５へ転送された時点で割り込み信号が発生されるように、ＤＭＡＣ２２に割り込み信号の発生周期を設定する。ＤＭＡＣ２２は、タイマ２３から第１の転送要求を受信するか、あるいは、タイマ２４から第２の転送要求を受信すると、マイクロホン２６が検知したデータをメモリ２５へ転送することで、サンプリングされたサンプルをメモリ２５に格納する。
【００２９】
プロセッサ２１は、ＤＭＡＣ２２からの割り込み信号を受信すると、メモリ２５に格納されたサンプルを元に以下の如き位置推定処理を開始する。つまり、プロセッサ２１は、メモリ２５に格納した重畳音のサンプルに対してケプストラム（Cepstrum）解析を行う。ケプストラム解析は、以下の式に基づいて行う。
【００３０】
Cepstrum = IFFT(log(abs(FFT(X))))
ここで、Xはデジタル録音されたサンプルのベクトル、FFTは高速フーリエ変換、abs は絶対値取得、logは対数(対数の底は任意)、IFFTは逆高速フーリエ変換を行う関数である。上記の式で求められるベクトル列はケプストラムと呼ばれ、この例では入力音源に重畳音が含まれているか否かを解析するために用いる。
【００３１】
図４は、ケプストラム解析結果の一例を説明する図である。図４中、（ａ）は原音を一点鎖線、エコー音を破線、エコー入り音源を実線で示す。入力音源に対して時間Tだけ遅延させたエコー音を重畳すると、ケプストラム解析した結果では、図４中、（ｂ）で示すように、ケプストラム空間上のTの位置（横軸を時間軸に対してケフレンシ（quefrency）と呼ぶ）にケプストラムの振幅に鋭いピークを観測することができる。この結果から、原音に対して時間Tだけ遅延したエコー音が重畳されていることが分かる。プロセッサ２１は、ケプストラム解析結果より、ユーザ位置と各スピーカ１Ａ〜１Ｃとの間の距離の差分（または、差分距離）を取得することができる。これは、複数のスピーカ１Ａ〜１Ｃから出力された音には、ユーザ位置と音速により決まる微小な到達遅延が発生するためであり、端末装置２で録音した音は最も近いスピーカから出力された音に対して、遅れて到達したスピーカの音が重畳された音になるためである。すなわち、ケプストラム解析を行うことにより、最も近いスピーカの音と遅れて到達したスピーカの音の到達時間差が既知となる。この既知の到達時間差と音速を積を乗算で計算することにより、ユーザ位置とこれら２個のスピーカとの間の距離の差を計算できる。
【００３２】
また、人工エコー音がユーザに到達する時間はスピーカの到達遅延に人工エコーの遅延時間を加算したものとなるため、図５に示すように、各人工エコー区間でのケプストラムピークの出現位置を特定することによりユーザ位置から３個のスピーカ１Ａ〜１Ｃまでの距離の大小関係を示す距離順序（すなわち、遠いまたは近い順序）を取得することができる。図５は、音源からの距離順序決定手法を説明する図である。
【００３３】
位置推定処理は、任意のタイミングで開始される。図５の例では、図５（ａ）に示すように、人工エコー付加無し期間の録音から開始するものとする。この場合、プロセッサ２１は、マイクロホン２６が検知した音のデータを例えば50msec単位でＡ／Ｄ変換して音源のサンプル列を取得する。このように、サンプリング期間tsを50msecに設定するのは、各人工エコー付加期間（または、一定期間）t1が100msecの場合、サンプリング期間tsを100msecに設定してしまうと、サンプリング期間tsが２つの人工エコー付加期間を跨いでしまって正常なケプストラム解析ができない可能性があるからである。このため、サンプリング期間tsを50msec（すなわち、ts=t1/2）に設定することで、少なくとも２回に１回は異なる人工エコー付加期間を跨ぐことなくケプストラム解析が可能となる。
【００３４】
このようにして、取得したts=50msec単位のサンプル列のケプストラム解析を行うと、ある期間でケプストラム解析結果に２つのピークが観測できる期間が発生し、これを人工エコー付加無し期間のケプストラム解析結果とする。図５では、このようなピークを○印で示す。最も近いスピーカから出力される音源に対して、他のスピーカから出力される音源は音速分だけ遅延してマイクロホン２６に到達するため、本実施例のように３個のスピーカ１Ａ〜１Ｃを用いた場合、人工エコー無し期間では１つの音源に対して２つのエコーが重畳されたものとなる。図５（ａ）において、２つのピークのうち、位置が近い方からT1, T2で示す。
【００３５】
ケプストラム解析結果に２つのピークが観測できる期間の次の50msecの期間はケプストラム解析をしない。これは、人工エコー付加期間（または、一定期間）t1は100msecであるのに対して、サンプリング期間tsは50msecであるため、２つのピークが観測された期間から50msec空けて次の期間を取得することで、期間を跨ぐことなく人工エコー付加期間を取得できるからである。このように50msec空けた次の期間では、スピーカ１Ａから人工エコーが付加された原音が出力されるのでケプストラム解析をする。このケプストラム解析により、サンプリングした50msecのサンプル列から生成されたケプストラムには、図５（ｂ）に示すように、先の２つのピークに対してさらに１つのピークが観測される。この新たなピークがケプストラムの原点+ta（例えば、ta=0.3msec）の位置に現れた場合はスピーカ１Ａがユーザに最も近く、T1+taの位置に現れた場合はスピーカ１Ａがユーザから２番目に遠く（または、２番目に近く）、T2+taの位置に現れた場合はスピーカ１Ａがユーザから最も遠いことが分かる。これは、スピーカ１Ａから出力されるエコーは、スピーカ１Ａの原音の到達遅延とtaの和だけ遅れてユーザに到達するため、スピーカの位置を示すケプストラムの位置0, T1, T2に対してさらにta遅れた位置にケプストラムピークが現れるはずであるからである。図５（ｂ）に示す例では、T1+taの位置に新たなピークが現れているので、ユーザから見たスピーカ１Ａ，１Ｂ，１Ｃの距離順序はＢ＜Ａ＜Ｃ、もしくはＣ＜Ａ＜Ｂであることが分かる。
【００３６】
同様にして、次の50msecの期間はケプストラム解析をせず、その次の50msecの期間でケプストラム解析をして、ケプストラムのピークがT2+tb（例えば、tb=0.5msec）の位置に新たに現れたとすると、スピーカ１Ａの場合と同様の論理でスピーカ１Ｂはユーザから最も遠い位置にあることが分かる。従って、ユーザから見たスピーカ１Ａ，１Ｂ，１Ｃの距離順序は、Ｃ＜Ａ＜Ｂであることが分かる。
【００３７】
プロセッサ２１は、上記の如く求めたスピーカ１Ａ，１Ｂ，１Ｃの距離順序と、スピーカ１Ａ，１Ｂ，１Ｃの既知の位置を示す座標値とに基づいて、ユーザ位置を推定する。上記の処理結果から、スピーカ１Ｃとスピーカ１Ａからの音のユーザへの到達時間差がT1であるということが分かる。空気中の音速は345m/secであるため、T1にこの音速の値を乗ずることにより、ユーザから見たスピーカ１Ａとスピーカ１Ｃの距離差Lcaが求められる。ユーザから見たスピーカ１Ｃとスピーカ１Ｂの距離差Lcbも、同様の手法で求められる。
【００３８】
一般に、２つの点からの距離差が一定の点をプロットすると、双曲線関数となることが知られている。そこで、双曲線における焦点をスピーカ１Ｃ，１Ａとし、その距離差がLcaとなるような双曲線αが引ける。同様にして、双曲線における焦点をスピーカ１Ｃ，１Ｂとし、その距離差がLcbとなる双曲線βが引ける。ユーザは、これら２つの双曲線α，βを共に満たす位置にいることは明らかあるので、２連立双曲線方程式の交点を求めることによりユーザ位置を決定することが可能である。しかし、２連立双曲線方程式からは複数の解が導き出されるため、複数の解候補からユーザ位置を絞り込まなければならない。
【００３９】
なお、本実施例では、３個のスピーカ１Ａ〜１Ｃを用いるため、双曲線は３つ存在し得るが、その中の２つの双曲線を選択して２連立双曲線方程式を構築し、２連立双曲線方程式の複数の解候補をユーザ位置の候補とする。
【００４０】
本実施例では、図６と共に説明する処理により２連立双曲線方程式の複数の解候補を絞り込む。図６は、ユーザ位置の解候補の絞り込み処理の一例を説明する図である。図６中、１Ａ〜１Ｃは、スピーカ１Ａ〜１Ｃの位置を示す。まず、各双曲線α，βは、図６中夫々一点鎖線及び二点鎖線で示すように、２つの曲線から構成されているが、上記の処理によりユーザから見た各スピーカ１Ａ〜１Ｃの距離順序がＣ＜Ａ＜Ｂであることが分かる。このため、ユーザから見た各スピーカ１Ａ〜１Ｃの距離順序に基づいて、例えばスピーカ１Ａ，１Ｃを焦点とする２つの双曲線α上では、スピーカ１Ｃに近い側の１つの双曲線α上にユーザが存在することが分かる。同様に、ユーザから見た各スピーカ１Ａ〜１Ｃの距離順序に基づいて、スピーカ１Ｂ，１Ｃを焦点とする２つの双曲線β上では、スピーカ１Ｃに近い側の１つの双曲線β上にユーザが存在することが分かる。これにより、候補点（または、解候補）をＰ１，Ｐ２の２点に絞ることができる。さらに、ユーザは、スピーカ１Ａ〜１Ｃに囲まれる領域内に存在するという前提から、最終的に候補点を１つ、すなわち、スピーカ１Ａ〜１Ｃに囲まれる三角形の領域内に存在するＰ１に絞られる。この結果、候補点Ｐ１からユーザ位置の座標を推定することが可能となる。
【００４１】
２連立双曲線方程式の解を導き出す手法は、上記の例に限定されず、他の適切な手法を用いても良い。例えば、スマートホンの場合、ＣＰＵに基本的なアプリケーションまで組み込まれたアプリケーションプロセッサに用意されている演算ライブラリを使用して２連立双曲線方程式の解を導き出すこともできる。
【００４２】
図７は、プロセッサ２１が実行する位置推定処理の一例を説明するフローチャートである。位置推定処理が開始されると、ステップＳ１は、マイクロホン２６が検知した音のデータを例えばts=50msec単位でＡ／Ｄ変換して音源のサンプル列を取得する。ステップＳ２は、ステップＳ１で取得したサンプル列のケプストラム解析を行う。ステップＳ３は、ケプストラム解析結果にピークが２つあるか否かを判定し、判定結果がＮＯであると処理はステップＳ１へ戻る。ピークが２つの期間が発生した時点でステップＳ３の判定結果がＹＥＳとなり、同期が取れたと解釈して処理はステップＳ４へ進む。
【００４３】
ステップＳ４は、次のts=50msecの期間のサンプル列を破棄することで、この期間のケプストラム解析を行わない。ステップＳ５は、スピーカ１Ａの出力の人工エコー付加期間tsのサンプル列を取得し、ステップＳ６は、スピーカ１Ａの出力の人工エコー付加期間tsのサンプル列のケプストラム解析を行う。ステップＳ７は、次のts=50msecの期間のサンプル列を破棄することで、この期間のケプストラム解析を行わない。ステップＳ８は、スピーカ１Ｂの出力の人工エコー付加期間tsのサンプル列を取得し、ステップＳ９は、スピーカ１Ｂの出力の人工エコー付加期間tsのサンプル列のケプストラム解析を行う。ステップＳ１０は、次のts=50msecの期間のサンプル列を破棄することで、この期間のケプストラム解析を行わない。ステップＳ１１は、スピーカ１Ｃの出力の人工エコー付加期間tsのサンプル列を取得し、ステップＳ１２は、スピーカ１Ｃの出力の人工エコー付加期間tsのサンプル列のケプストラム解析を行う。
【００４４】
ステップＳ１３は、図５と共に説明した距離順序決定手法を用いて、３個のスピーカ１Ａ〜１Ｃからユーザ位置までの距離順序を決定する。上記の例では、ユーザから見たスピーカ１Ａ，１Ｂ，１Ｃの距離順序がＣ＜Ａ＜Ｂに決定される。ステップＳ１４は、上記の如く、最も近距離のスピーカを１つの焦点とする双曲線を２本引き、２つの双曲線の交点を導き出すことで、２連立双曲線方程式の複数の解候補を計算する。ステップＳ１５は、図６と共に説明したように、ステップＳ１３で既に決定されたスピーカ１Ａ〜１Ｃの距離順序から複数の解候補を絞り、さらに、ユーザがスピーカ１Ａ〜１Ｃに囲まれる領域に存在するという前提を用いて解候補を１つに絞り込むことで、ユーザ位置の座標を決定する。ステップＳ１５の後、位置推定処理は終了する。
【００４５】
位置推定プログラムは、半導体記憶装置、磁気記録媒体、光記録媒体、光磁気記録媒体などの適切なコンピュータ読み取り可能な記憶媒体に格納されていても良い。
【００４６】
上記実施例では、スピーカ１Ａ〜１Ｃの位置の座標値が既知であり、端末装置２に保存されていることが前提となっている。端末装置２にスピーカ１Ａ〜１Ｃの位置の座標値を入力する手法は特に限定されない。例えば、ユーザがサービス提供者が提示しているスピーカの位置情報（スピーカ１Ａ〜１Ｃの位置の座標値）を端末装置２の操作部３０から入力しても、ユーザがサービス提供者のホームページで提示されているスピーカの位置情報を通信部２９を介したインターネットアクセスにより入力しても、ユーザがサービス提供者が提示しているスピーカの位置情報をカメラ２８で撮影して撮影画像の文字認識により入力しても、ユーザがサービス提供者が提示しているスピーカの位置情報に関するＱＲ（Quick Response）コード（登録商標）のようなコードをカメラ２８で撮影して撮影画像の画像認識により入力しても良い。
【００４７】
図８は、プロセッサ２１が実行するスピーカ位置取得処理の一例を説明するフローチャートである。スピーカ位置取得処理は、上記の位置推定処理を行う前に実行される。この例では、サービス提供者が予めスピーカ１Ａ〜１Ｃの位置の座標値（スピーカの位置情報）に関するＱＲコード（登録商標）のようなコードを店舗内で提供しており、ユーザは端末装置２のカメラ２８でＱＲコードを撮影するものとする。ステップＳ２１は、カメラ２８でＱＲコードが撮影可能であるか否かを判定する。ステップＳ２１の判定結果がＹＥＳであると処理はステップＳ２２へ進み、判定結果がＮＯであると処理はステップＳ２３へ進む。ステップＳ２２は、ＱＲコードの撮影画像の画像認識を行うことで、店舗内のスピーカ１Ａ〜１Ｃの位置の座標値を取得してメモリ２５またはデータメモリ３２に格納する。ステップＳ２３は、ＱＲコード以外の方法で、サービス提供者が予め提示しているスピーカ１Ａ〜１Ｃの位置の座標値を取得する。具体的には、ユーザが、サービス提供者が印刷物などにより予め提示しているスピーカ１Ａ〜１Ｃの位置の座標値を端末装置２の操作部３０から入力したり、サービス提供者のホームページで提示されているスピーカの位置の座標値を通信部２９を介したインターネットアクセスにより入力したり、サービス提供者が店舗内の掲示板などで提示しているスピーカの位置の座標値をカメラ２８で撮影して撮影画像の文字認識により入力したりすることが可能であり、入力されたスピーカの位置の座標値はメモリ２５またはデータメモリ３２に格納する。ステップＳ２２またはステップＳ２３の後、スピーカ位置取得処理は終了する。
【００４８】
ユーザ位置の推定精度は、端末装置２が有するマイクロホン２６と、マイクロホン２６の出力をサンプリングしてＡ／Ｄ変換するプロセッサ２１のＡＤＣ（Analog-to-Digital Converter）機能のサンプリングレートに依存する。例えば、サンプリングレートが48kHzの場合、1/48(kHz)×345(m/sec) ≒ 0.72cmの精度でユーザ位置が推定可能である。また、上記実施例では、音速が345m/secであると仮定しているが、音速は気温に応じて変動するため、端末装置２の温度センサ２７が検知した環境温度に応じて音速の値を補正しても良い。温度センサ２７を用いた場合にプロセッサ２１の補正処理で用いる音速補正式の一例は、次の通りである。
【００４９】
音速 ＝ 331 + 0.6Temp [m/sec]
ここで、Tempは温度センサ２７で検知された摂氏温度である。このように、温度に応じて音速の値を補正することにより、より高精度にユーザ位置を推定することが可能となる。
【００５０】
開示の位置推定方法、装置及びプログラムによれば、低コストで高精度に局所位置を推定することができる。つまり、ＰＣ、スピーカ、端末装置などのレガシーな装置のみを用いた簡便で低コストな局所位置推定システムを構築することが可能である。
【００５１】
サービス提供者側で必要となるスピーカには、比較的低コストのものを利用可能であり、各スピーカから出力される音に互いに異なる遅延の人工エコーを付加させるには、ＰＣなどの汎用コンピュータを用いて予め音源を作成しておけば良い。また、各スピーカから異なる人工エコーを付加した音源を出力させるためには、例えば既存の5.1チャネルのＡＶアンプなどのマルチチャネル再生機器などを用いることで容易に実現できる。
【００５２】
ユーザ側で必要となる端末装置は、マイクロホンと位置推定処理を実行するためのプロセッサであり、これらは一般的なスマートフォンやタブレットＰＣなどのアプリケーションプロセッサを搭載した装置などで実現可能である。
【００５３】
また、音に位置情報を埋め込むことにより、例えば店内放送や、店内を流れる楽曲などに情報を隠匿させることができ、既存のサービスとの親和性やユーザ側の使用感としても違和感が発生しない。
【００５４】
位置推定処理によりユーザが取得した位置情報は、例えば端末装置の表示部に表示した地図あるいはレイアウト上に示すことで、ユーザへの案内情報として用いることができる。一方、サービス提供者がユーザが取得した位置情報を取得可能な場合には、ユーザ位置に応じた案内をユーザに提供することができる。ユーザ位置が取得できれば、サービス提供者は例えば店舗内のユーザ位置付近に設置されている商品棚に陳列されている商品の説明などの案内情報を音声または文字情報で端末装置に送信してユーザに提供したり、商品棚付近のスピーカから音声案内情報を提供することができる。
【００５５】
なお、上記実施例のようにスピーカの数が３個の場合と比較すると信号処理が多少複雑になるが、開示の位置推定方法、装置及びプログラムはスピーカの数が４個以上の場合にも同様に適用可能である。
【００５６】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
同一平面上に設けられた３個のスピーカから同じ原音を一定期間のみ各スピーカ毎に異なる遅延時間の人工エコーを付加して出力し、各スピーカの出力に人工エコーが付加されている一定期間と他のスピーカの出力に人工エコーが付加されている一定期間とは排他的関係にあり、前記３個のスピーカ全ての出力に人工エコーが付加されていない一定期間が設けられ、
端末装置において、前記３個のスピーカの出力をマイクロホンで検知してサンプリングしたサンプル列のケプストラム解析でケプストラムを生成し、
前記端末装置において、前記ケプストラムのピークに基づき前記端末装置の位置から前記３個のスピーカの夫々までの距離の大小関係を示す距離順序を取得し、
前記端末装置において、前記距離順序と前記３個のスピーカの既知の位置とに基づいて前記端末装置の位置を推定する
ことを特徴とする、位置推定方法。
（付記２）
前記端末装置の位置の推定は、
前記３個のうち一対のスピーカの出力の前記マイクロホンへの到達時間差と音速の積から前記端末装置から見た前記一対のスピーカの距離差Lcaを求め、
前記３個のうち他の一対のスピーカの出力の前記マイクロホンへの到達時間差と音速の積から前記端末装置から見た前記他の一対のスピーカの距離差Lcbを求め、
焦点を前記一対のスピーカとして距離差がLcaとなる双曲線αと、焦点を前記他の一対のスピーカとして距離差がLcbとなる双曲線βを求め、
前記双曲線α，βを共に満たす連立双曲線方程式の交点から前記端末装置の位置を決定する
ことを特徴とする、付記１記載の位置推定方法。
（付記３）
前記連立双曲線方程式の複数の解候補を、前記端末装置から見た前記３個のスピーカの距離順序に基づいて絞り込む
ことを特徴とする、付記２記載の位置推定方法。
（付記４）
前記連立双曲線方程式の複数の解候補を前記距離順序に基づいて絞り込んだ後、前記３個のスピーカの位置を頂点とする三角形の領域内の解候補に絞り込む
ことを特徴とする、付記３記載の位置推定方法。
（付記５）
前記端末装置において、温度センサで検知した環境温度に応じて前記音速の値を補正する
ことを特徴とする、付記１乃至４のいずれか１項記載の位置推定方法。
（付記６）
前記ケプストラム解析を
Cepstrum = IFFT(log(abs(FFT(X))))
なる式に基づいて行い、Xはデジタル録音されたサンプルのベクトル、FFTは高速フーリエ変換、abs は絶対値取得、logは対数(対数の底は任意)、IFFTは逆高速フーリエ変換を行う関数である
ことを特徴とする、付記１乃至５のいずれか１項記載の位置推定方法。
（付記７）
前記端末装置において、前記３個のスピーカの既知の位置を示す情報をカメラで撮影し、撮影された情報の画像認識または文字認識で認識された前記既知の位置の座標値をメモリに格納する
ことを特徴とする、付記１乃至６のいずれか１項記載の位置推定方法。
（付記８）
同一平面上に設けられた３個のスピーカから同じ原音を一定期間のみ各スピーカ毎に異なる遅延時間の人工エコーを付加して出力し、各スピーカの出力に人工エコーが付加されている一定期間と他のスピーカの出力に人工エコーが付加されている一定期間とは排他的関係にあり、前記３個のスピーカ全ての出力に人工エコーが付加されていない一定期間が設けられるシステムで用いる位置推定装置であって、
前記３個のスピーカの出力を検知するマイクロホンと、
前記マイクロホンの検知出力に基づいて前記位置推定装置の位置を推定する位置推定処理を実行するプロセッサとを備え、
前記位置推定処理は、
前記検知出力をサンプリングしたサンプル列のケプストラム解析でケプストラムを生成し、
前記ケプストラムのピークに基づき前記位置推定装置の位置から前記３個のスピーカの夫々までの距離の大小関係を示す距離順序を取得し、
前記距離順序と前記３個のスピーカの既知の位置とに基づいて前記位置推定装置の位置を推定する
ことを特徴とする、位置推定装置。
（付記９）
前記位置推定処理は、
前記３個のうち一対のスピーカの出力の前記マイクロホンへの到達時間差と音速の積から前記位置推定装置から見た前記一対のスピーカの距離差Lcaを求め、
前記３個のうち他の一対のスピーカの出力の前記マイクロホンへの到達時間差と音速の積から前記位置推定装置から見た前記他の一対のスピーカの距離差Lcbを求め、
焦点を前記一対のスピーカとして距離差がLcaとなる双曲線αと、焦点を前記他の一対のスピーカとして距離差がLcbとなる双曲線βを求め、
前記双曲線α，βを共に満たす連立双曲線方程式の交点から前記位置推定装置の位置を決定する
ことを特徴とする、付記８記載の位置推定装置。
（付記１０）
前記位置推定処理は、前記連立双曲線方程式の複数の解候補を、前記位置推定装置から見た前記３個のスピーカの距離順序に基づいて絞り込む
ことを特徴とする、付記９記載の位置推定装置。
（付記１１）
前記位置推定処理は、前記連立双曲線方程式の複数の解候補を前記距離順序に基づいて絞り込んだ後、前記３個のスピーカの位置を頂点とする三角形の領域内の解候補に絞り込む
ことを特徴とする、付記１０記載の位置推定装置。
（付記１２）
環境温度を検知する温度センサ
を更に備え、
前記位置推定処理は、前記温度センサで検知された環境温度に応じて前記音速の値を補正する
ことを特徴とする、付記８乃至１１のいずれか１項記載の位置推定装置。
（付記１３）
前記位置推定処理は、前記ケプストラム解析を
Cepstrum = IFFT(log(abs(FFT(X))))
なる式に基づいて行い、Xはデジタル録音されたサンプルのベクトル、FFTは高速フーリエ変換、abs は絶対値取得、logは対数(対数の底は任意)、IFFTは逆高速フーリエ変換を行う関数である
ことを特徴とする、付記８乃至１２のいずれか１項記載の位置推定装置。
（付記１４）
カメラと、
メモリ
を更に備え、
前記プロセッサは、前記カメラが前記３個のスピーカの既知の位置を示す情報を撮影すると、撮影された情報の画像認識または文字認識で認識された前記既知の位置の座標値を前記メモリに格納する
ことを特徴とする、付記８乃至１３のいずれか１項記載の位置推定装置。
（付記１５）
同一平面上に設けられた３個のスピーカから同じ原音を一定期間のみ各スピーカ毎に異なる遅延時間の人工エコーを付加して出力し、各スピーカの出力に人工エコーが付加されている一定期間と他のスピーカの出力に人工エコーが付加されている一定期間とは排他的関係にあり、前記３個のスピーカ全ての出力に人工エコーが付加されていない一定期間が設けられるシステムにおいて、端末装置のコンピュータに位置推定処理を実行させるプログラムであって、
前記３個のスピーカの出力を前記端末装置のマイクロホンで検知してサンプリングしたサンプル列のケプストラム解析でケプストラムを生成する手順と、
前記ケプストラムのピークに基づき前記端末装置の位置から前記３個のスピーカの夫々までの距離の大小関係を示す距離順序を取得する手順と、
前記距離順序と前記３個のスピーカの既知の位置とに基づいて前記端末装置の位置を推定する手順
を前記コンピュータに実行させることを特徴とする、プログラム。
（付記１６）
前記端末装置の位置を推定する手順は、
前記３個のうち一対のスピーカの出力の前記マイクロホンへの到達時間差と音速の積から前記位置推定装置から見た前記一対のスピーカの距離差Lcaを求める手順と、
前記３個のうち他の一対のスピーカの出力の前記マイクロホンへの到達時間差と音速の積から前記位置推定装置から見た前記他の一対のスピーカの距離差Lcbを求める手順と、
焦点を前記一対のスピーカとして距離差がLcaとなる双曲線αと、焦点を前記他の一対のスピーカとして距離差がLcbとなる双曲線βを求める手順と、
前記双曲線α，βを共に満たす連立双曲線方程式の交点から前記位置推定装置の位置を決定する手順
を含むことを特徴とする、付記１５記載のプログラム。
（付記１７）
前記端末装置の位置を推定する手順は、前記連立双曲線方程式の複数の解候補を、前記位置推定装置から見た前記３個のスピーカの距離順序に基づいて絞り込む手順
を更に含むことを特徴とする、付記１６記載のプログラム。
（付記１８）
前記端末装置の位置を推定する手順は、前記連立双曲線方程式の複数の解候補を前記距離順序に基づいて絞り込んだ後、前記３個のスピーカの位置を頂点とする三角形の領域内の解候補に絞り込む手順
を更に含むことを特徴とする、付記１７記載のプログラム。
（付記１９）
前記端末装置の温度センサで検知した環境温度に応じて前記音速の値を補正する手順
を前記コンピュータに実行させることを特徴とする、付記１５乃至１８のいずれか１項記載のプログラム。
（付記２０）
前記ケプストラムを生成する手順は、前記ケプストラム解析を
Cepstrum = IFFT(log(abs(FFT(X))))
なる式に基づいて行い、Xはデジタル録音されたサンプルのベクトル、FFTは高速フーリエ変換、abs は絶対値取得、logは対数(対数の底は任意)、IFFTは逆高速フーリエ変換を行う関数である
ことを特徴とする、付記１５乃至１９のいずれか１項記載のプログラム。
（付記２１）
前記端末装置のカメラで撮影された前記３個のスピーカの既知の位置を示す情報の画像認識または文字認識で認識された前記既知の位置の座標値を前記端末装置のメモリに格納する手順
を前記コンピュータに実行させることを特徴とする、付記１５乃至２０のいずれか１項記載のプログラム。
【００５７】
以上、開示の位置推定方法、装置及びプログラムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【符号の説明】
【００５８】
１Ａ〜１Ｃ      スピーカ
２      端末装置
１１      ＰＣ
１２Ａ〜１２Ｃ      加算回路
１３Ａ〜１３Ｃ      遅延回路
１４Ａ〜１４Ｃ      セレクタ
１５Ａ〜１５Ｃ      ＤＡＣ
１６Ａ〜１６Ｃ      アンプ
２１      プロセッサ
２２      ＤＭＡＣ
２５      メモリ
２６      マイクロホン
３０      操作部
【図１】
0005929393.tif 000002
【図２】
0005929393.tif 000003
【図３】
0005929393.tif 000004
【図４】
0005929393.tif 000005
【図５】
0005929393.tif 000006
【図６】
0005929393.tif 000007
【図７】
0005929393.tif 000008
【図８】
0005929393.tif 000009