(57)【特許請求の範囲】
【請求項１】
回転軸を中心とした回転の角変位によって音を発する方向が決定されるスピーカに取り付けられ、前記回転に伴って移動するカメラから、前記カメラによって撮影された画像を取得し、前記取得した画像にマーカが写った位置と、前記回転の角変位が所定の角度で前記カメラによって画像が撮影される場合に前記マーカが写る位置とのずれに基づいて、前記回転の角変位を算出する処理部、
を有する情報処理装置。
【請求項２】
前記処理部は、前記取得した画像を含む座標系における前記マーカの位置と前記座標系における前記回転軸の位置とを結ぶ直線と、前記座標系における前記回転の角変位が前記所定の角度で前記カメラによって撮影される画像に写る前記マーカの位置と前記座標系における前記回転軸の位置とを結ぶ直線とがなす角に基づいて、前記回転の角変位を算出する、
請求項１記載の情報処理装置。
【請求項３】
前記処理部は、前記回転の角変位が前記所定の角度で前記カメラによって画像が撮影される場合に前記マーカが写る位置と、前記取得した画像に写った前記マーカの位置との変位に基づいて、前記回転の角変位を算出する、
請求項１記載の情報処理装置。
【請求項４】
前記処理部は、前記回転の角変位が変動すると、前記回転の角変位を算出し、前記算出した角変位を、前記回転を制御するホストコンピュータに通知する、
請求項１または２記載の情報処理装置。
【請求項５】
前記処理部は、前記回転の角変位の変動中に、前記回転の角変位を算出し、前記算出した角変位と目的の角度との差の絶対値が閾値以下の場合、前記回転の角変位の変動を停止させる、
請求項１または２記載の情報処理装置。
【請求項６】
前記スピーカは、パラメトリックスピーカである、
請求項１ないし５のいずれかに記載の情報処理装置。
【請求項７】
コンピュータに、
回転軸を中心とした回転の角変位によって音を発する方向が決定されるスピーカに取り付けられ、前記回転に伴って移動するカメラから、前記カメラによって撮影された画像を取得し、
前記取得した画像にマーカが写った位置と、前記回転の角変位が所定の角度で前記カメラによって画像が撮影される場合に前記マーカが写る位置とのずれに基づいて、前記回転の角変位を算出する、
処理を実行させるプログラム。
【請求項８】
回転軸を中心とした回転の角変位によって音を発する方向が決定されるスピーカと、
前記スピーカに取り付けられ、前記回転に伴って移動するカメラから、前記カメラによって撮影された画像を取得し、前記取得した画像にマーカが写った位置と、前記回転の角変位が所定の角度で前記カメラによって画像が撮影される場合に前記マーカが写る位置とのずれに基づいて、前記回転の角変位を算出する情報処理装置と、
前記回転を制御し、前記算出された角変位に基づいて前記回転の角変位を較正するホストコンピュータと、
を有する情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラムおよび情報処理システムに関する。
【背景技術】
【０００２】
施設内にいる複数の人物のうち、特定の人物に対してのみ音声を届けたいことがある。その場合、当該人物にパラメトリックスピーカを向けて音声を出力することがある。パラメトリックスピーカは、例えば超音波を用いて、鋭い指向性を有する音声を出力できるスピーカである。
【０００３】
パラメトリックスピーカに関する技術としては、例えば利用者の耳位置の角度に基づいて、パラメトリックスピーカから出力される超音波の周波数を制御する音声通話装置が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−５５０７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
パラメトリックスピーカのような指向性を有するスピーカの向きは、モータ（例えば、ステッピングモータ）によって制御されることがある。この場合、スピーカを制御する制御装置は、スピーカの現在の向きを示す情報として、モータの現在の角変位を保持する。そして制御装置は、モータが現在の角変位と目的の角度との差だけ回転するように、スピーカの向きを制御する。
【０００６】
ここで、例えば脱調によって、モータの回転量が制御装置から指示された回転量とずれると、本来の角変位と制御装置が保持する角変位とが一致しなくなる。これによりスピーカの向きが目的の方向からずれ、対象人物に音声を届けることができないことがある。
【０００７】
１つの側面では、本件は、スピーカの現在の向きを示す情報の精度を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
１つの案では、処理部を有する情報処理装置が提供される。
処理部は、回転軸を中心とした回転の角変位によって音を発する方向が決定されるスピーカに取り付けられ、回転に伴って移動するカメラから、カメラによって撮影された画像を取得し、取得した画像のマーカが写った位置に基づいて、回転の角変位を算出する。
【発明の効果】
【０００９】
１態様によれば、スピーカの現在の向きを示す情報の精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態に係る情報処理システムの一例を示す図である。
【図２】第２の実施の形態のシステム構成の一例を示す図である。
【図３】回転制御装置およびコントローラのハードウェアの一構成例を示す図である。
【図４】ホストコンピュータのハードウェアの一例を示す図である。
【図５】スピーカに対する位置と音圧レベルとの関係の一例を示す図である。
【図６】スピーカの設置方法の一例を示す図である。
【図７】回転制御装置およびホストコンピュータの機能例を示すブロック図である。
【図８】基準画像の一例を示す図である。
【図９】水平方向の角変位を算出するためのカメラ画像の一例を示す図である。
【図１０】垂直方向の角変位と撮影位置の関係の一例を示す図である。
【図１１】垂直方向の角変位を算出するためのカメラ画像の一例を示す図である。
【図１２】水平方向の角変位および垂直方向の角変位を算出するためのカメラ画像の一例を示す図である。
【図１３】座標テーブルの一例を示す図である。
【図１４】水平方向較正の手順の一例を示すフローチャートである。
【図１５】垂直方向較正の手順の一例を示すフローチャートである。
【図１６】両方向較正の手順の一例を示すフローチャートである。
【図１７】スピーカの設置方法の他の一例を示す図である。
【図１８】回転制御装置およびホストコンピュータの他の機能例を示すブロック図である。
【図１９】マーカテーブルの一例を示す図である。
【図２０】水平方向較正の手順の他の一例を示すフローチャートである。
【図２１】角変位制御の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
まず第１の実施の形態について説明する。
【００１２】
図１は、第１の実施の形態に係る情報処理システムの一例を示す図である。図１の例では、情報処理装置１０が、スピーカ１の向きを決定する回転軸３の回転の角変位を算出する。情報処理装置１０は、角変位算出の処理手順が記述されたプログラムを実行することにより、角変位算出処理を実施することができる。
【００１３】
情報処理装置１０には、スピーカ１とホストコンピュータ２とが接続されている。また、スピーカ１とホストコンピュータ２とが接続されている。なお、スピーカ１とホストコンピュータ２とは、情報処理装置１０を介して接続されていてもよい。
【００１４】
スピーカ１は、回転軸３を中心とした回転の角変位によって音を発する方向が決定される。なお以下では、回転軸３を中心とした回転を軸回転ということがある。スピーカ１は例えば、超音波によって音を発するパラメトリックスピーカである。スピーカ１は、軸回転によって向きが変わり、回転軸３に垂直な方向に音を発する。一例として回転軸３は、天井から鉛直下方向に延びる回転軸であり、例えばステッピングモータなどのモータの軸の回転に伴って回転する。またスピーカ１には、軸回転に伴って移動するカメラ４が取り付けられている。カメラ４は、例えば天井を撮影できるようにスピーカ１に取り付けられる。
【００１５】
マーカ５は、天井に設置されたマーカである。マーカ５は、軸回転の角変位が所定の角度（例えば、０［°］）の場合に、カメラ４によって撮影される画像に写る位置に設置される。
【００１６】
ホストコンピュータ２は、軸回転を制御する。例えばホストコンピュータ２は、軸回転の角変位が目的の角度になるように（すなわち、スピーカ１が目的方向を向くように）、軸回転の角変位を変動させる。このときホストコンピュータ２は、軸回転の現在の角変位を記憶しておき、現在の角変位と目的の角度との差だけ軸回転の角変位を変動させる。軸回転の現在の角変位は、スピーカ１の現在の向きを示す情報ということもできる。ホストコンピュータ２によって軸回転の角変位を変動させる命令は、例えばパルス信号で回転量や回転速度を設定して行われる。
【００１７】
ここで脱調などにより、ホストコンピュータ２から指示された回転量と実際の軸回転の回転量とがずれることがある。すると、ホストコンピュータ２が記憶する軸回転の現在の角変位と実際の軸回転の角変位とに差異が生じる。そこでホストコンピュータ２と情報処理装置１０とが連携して、軸回転の較正を行う。以下に示す情報処理装置１０による処理は、ホストコンピュータ２に記憶されている現在の軸回転の角変位が０［°］になるように、ホストコンピュータ２が軸回転の角変位を変動させてから行われる。
【００１８】
情報処理装置１０は、記憶部１１と処理部１２とを有する。記憶部１１は、例えば情報処理装置１０が有するメモリまたはストレージ装置である。処理部１２は、例えば情報処理装置１０が有するプロセッサ、または演算回路である。
【００１９】
記憶部１１は、基準座標１１ａと回転軸座標１１ｂとを記憶する。基準座標１１ａは、軸回転の角変位が０［°］でカメラ４によって画像が撮影される場合にマーカ５が写る位置の位置座標である。回転軸座標１１ｂは、カメラ４によって撮影される画像を含む座標系における回転軸３の位置座標である。なお第１の実施の形態では、軸回転の角変位がいずれの角度でも、回転軸座標１１ｂは共通である。回転軸座標１１ｂは、例えば軸回転の角変位が０［°］でカメラ４によって撮影された画像に写ったマーカ５などを基に算出される。
【００２０】
処理部１２は、カメラ４から、カメラ４によって撮影されたカメラ画像６を取得する。処理部１２は、取得したカメラ画像６のマーカ５が写った位置に基づいて、軸回転の角変位を算出する。例えば処理部１２は、カメラ画像６に写ったマーカ５をパターンマッチングにより検出する。そして処理部１２は、取得したカメラ画像６にマーカ５が写った位置と、基準座標１１ａに示される位置とのずれに基づいて軸回転の角変位を算出する。
【００２１】
一例として基準座標１１ａは、カメラ画像６を含む座標系７における座標（ｘc，ｙ0）を示し、回転軸座標１１ｂは、座標系７における座標（ｘc，ｙc）を示すものとする。ここで座標系７におけるカメラ画像６のマーカ５の位置座標が（ｘ，ｙ）であったものとする。このとき軸回転の角変位は、マーカ５の位置座標と回転軸座標１１ｂとを結ぶ直線と、基準座標１１ａと回転軸座標１１ｂとを結ぶ直線とがなす角θであり、θ＝ｔａｎ-1（（ｘc−ｘ）／（ｙc−ｙ））の式で算出される。
【００２２】
処理部１２は、算出した角変位θをホストコンピュータ２に通知する。ホストコンピュータ２は、算出された角変位θに基づいて軸回転の角変位を較正する。例えばホストコンピュータ２は、軸回転の角変位を角度θだけ変動させ、記憶している軸回転の現在の角変位を０［°］に設定してもよい。また例えばホストコンピュータ２は、記憶している軸回転軸の現在の角変位をθに設定してもよい。
【００２３】
このような情報処理装置１０によれば、スピーカ１に取り付けられたカメラ４から、カメラ画像６が取得される。そしてカメラ画像６に写ったマーカ５の位置に基づいて、軸回転の角変位が算出される。スピーカ１の音を発する方向は、軸回転の角変位によって決定されるため、軸回転の角変位が算出されることでスピーカ１の現在の向きを示す情報の精度が向上する。
【００２４】
また、カメラ画像６に写ったマーカ５の位置と基準座標１１ａとのずれに基づいて、軸回転の角変位が算出される。これにより、スピーカ１の向きを制御するために保持されている軸回転の現在の角変位と、実際の軸回転の角変位とのずれを検知することができるようになる。
【００２５】
また座標系７によって、回転軸３の位置が示される。そして座標系７において、カメラ画像６に写ったマーカ５の位置と回転軸３の位置とを結ぶ直線と、基準座標１１ａと回転軸３の位置とを結ぶ直線とがなす角が算出される。これにより、角変位の所定の角度からのずれを算出する精度が向上する。
【００２６】
なお上記の例では、カメラ画像６に写った領域に垂直な回転軸３の位置が座標系７で示され、回転軸３の位置に基づいて軸回転の角変位が算出されていた。これに対して処理部１２は、基準座標１１ａと、取得したカメラ画像６に写ったマーカ５の位置との変位に基づいて、軸回転の角変位を算出してもよい。これにより、回転軸３がカメラ画像６に写った領域に垂直でない場合でも、軸回転の角変位を算出することができるようになる。
【００２７】
また処理部１２は、軸回転の角変位が変動すると、軸回転の角変位を算出し、算出した角変位を、ホストコンピュータ２に通知してもよい。これにより、スピーカ１を利用しながら、軸回転の角変位の較正ができるようになる。
【００２８】
また処理部１２は、軸回転の角変位の変動中に、軸回転の角変位を算出し、算出した角変位と目的の角度との差の絶対値が閾値以下の場合、軸回転の角変位の変動を停止させてもよい。これにより、情報処理装置１０によって軸回転を制御することができるようになる。
【００２９】
またスピーカ１がパラメトリックスピーカである場合、スピーカ１が発する音声は直進する。よってスピーカ１の向きを示す情報が精度良く算出されることによって、スピーカ１が音声を届ける方向が精度良く算出される。
【００３０】
〔第２の実施の形態〕
次に第２の実施の形態について説明する。第２の実施の形態は、２つの回転軸によって向きが決定されるスピーカを較正するものである。
【００３１】
図２は、第２の実施の形態のシステム構成の一例を示す図である。図２に示される情報処理システムは、例えば店舗などの施設に設置される。情報処理システムが設置された施設内の対象人物２１は、例えば施設内で怪しい挙動を示す人物である。また情報処理システムが設置された施設内には、カメラ４２とスピーカ３３とが設置されている。図２に示される情報処理システムは、カメラ４２によって対象人物２１を検知し、スピーカ３３によって対象人物２１に向けて音声を出力する。
【００３２】
回転制御装置１００は、ホストコンピュータ３００の指示に応じて、スピーカ３３の向きを決定するためのモータを回転させる。例えば回転制御装置１００は、ホストコンピュータ３００から通知された回転速度で、ホストコンピュータ３００から通知された回転数だけ、モータを回転させる。また回転制御装置１００は、スピーカ３３に取り付けられたカメラが撮影する画像を用いて、スピーカ３３の向き（モータの角変位）を算出し、ホストコンピュータ３００に通知する。回転制御装置１００は、コントローラ２００を介してホストコンピュータ３００に接続されている。
【００３３】
ホストコンピュータ３００は、対象人物２１の検出とスピーカ３３の制御とを行う。ホストコンピュータ３００は、カメラ４２の撮影した画像（映像でもよい）を取得し、対象人物２１を検出する。またホストコンピュータ３００は、コントローラ２００を介してスピーカ３３から出力する音声を制御する。例えばホストコンピュータ３００は、スピーカ３３から出力する音声の大きさや内容（音声ファイル）を決定する。
【００３４】
またホストコンピュータ３００は、コントローラ２００と回転制御装置１００とを介してスピーカ３３の向きを制御する。ホストコンピュータ３００は、スピーカ３３が対象人物２１の方向を向くようなモータの回転数を算出する。そしてホストコンピュータ３００は、回転速度や、スピーカ３３が対象人物２１の方向を向くようにするための回転数を回転制御装置１００に通知する。
【００３５】
図３は、回転制御装置およびコントローラのハードウェアの一構成例を示す図である。回転制御装置１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０７を介してメモリ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、またはＤＳＰ（Digital Signal Processor）である。プロセッサ１０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現してもよい。
【００３６】
メモリ１０２は、回転制御装置１００の主記憶装置として使用される。メモリ１０２には、プロセッサ１０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０２には、プロセッサ１０１による処理に利用する各種データが格納される。メモリ１０２としては、例えばＲＡＭ（Random Access Memory）などの揮発性の半導体記憶装置が使用される。
【００３７】
バス１０７に接続されている周辺機器としては、ストレージ装置１０３、機器接続インタフェース１０４、モータドライバ１０５および接続インタフェース１０６がある。
【００３８】
ストレージ装置１０３は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置１０３は、コンピュータの補助記憶装置として使用される。ストレージ装置１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置１０３としては、例えばフラッシュメモリを使用することができる。
【００３９】
機器接続インタフェース１０４には、カメラ３１が接続されている。カメラ３１は、例えばスピーカ３３に設置される、撮影装置である。カメラ３１は、プロセッサ１０１からの命令に従って、カメラ３１のレンズを向けた先の光景の静止画または動画のデータを生成し、メモリ１０２に格納する。
【００４０】
モータドライバ１０５には、モータ３２ａ，３２ｂが接続されている。モータドライバ１０５は、プロセッサ１０１からパルス信号を受け取りモータ３２ａ，３２ｂの軸を回転させる。モータ３２ａ，３２ｂは、例えばパルス数に比例した量だけ軸が回転するステッピングモータである。
【００４１】
接続インタフェース１０６は、コントローラ２００と接続するためのインタフェースである。接続インタフェース１０６が用いる規格としては、例えばＲＳ−４８５などがある。
【００４２】
回転制御装置１００は、以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、第１の実施の形態に示した情報処理装置１０も、図３に示した回転制御装置１００と同様のハードウェアにより実現することができる。またプロセッサ１０１は、第１の実施の形態に示した処理部１２の一例である。またメモリ１０２またはストレージ装置１０３は、第１の実施の形態に示した記憶部１１の一例である。またカメラ３１は、第１の実施の形態に示したカメラ４の一例である。
【００４３】
回転制御装置１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。回転制御装置１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、回転制御装置１００に実行させるプログラムをストレージ装置１０３に格納しておくことができる。プロセッサ１０１は、ストレージ装置１０３内のプログラムの少なくとも一部をメモリ１０２にロードし、プログラムを実行する。また回転制御装置１００に実行させるプログラムを、光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ストレージ装置１０３にインストールされた後、実行可能となる。
【００４４】
コントローラ２００は、ホストコンピュータ３００と周辺機器とを接続するためのハブ２０１を有する。ハブ２０１は、例えばＵＳＢ（Universal Serial Bus）などの規格によってホストコンピュータ３００と接続されている。ハブ２０１に接続されている周辺機器としては、シリアルバス２０２、ＤＡＣ（Digital Analog Converter）２０４および接続インタフェース２０６がある。
【００４５】
シリアルバス２０２は、ハブ２０１とＤＰＯＴ（Digital POTentiometer）２０３とを接続するためのバスである。シリアルバス２０２が用いる規格としては、例えばＩ2Ｃ（登録商標）などがある。ＤＰＯＴ２０３は、信号に応じて抵抗値が変化する可変抵抗器である。ＤＰＯＴ２０３の抵抗値によってＡＭＰ（AMPlifier）２０５に流れる電流が制御される。
【００４６】
ＤＡＣ２０４は、ホストコンピュータ３００からのデジタル信号をアナログ信号に変換し、ＡＭＰ２０５に出力する。ＡＭＰ２０５は、ＤＡＣ２０４から入力されたアナログ信号を電流によって増幅しスピーカ３３に出力する。
【００４７】
スピーカ３３は、ＡＭＰ２０５から入力された信号に応じた音声を出力する。スピーカ３３は、例えばパラメトリックスピーカであり、超音波によって音声を出力する。
【００４８】
接続インタフェース２０６は、回転制御装置１００と接続するためのインタフェースである。接続インタフェース２０６が用いる規格は、接続インタフェース１０６と同様である。
【００４９】
図４は、ホストコンピュータのハードウェアの一例を示す図である。ホストコンピュータ３００は、プロセッサ３０１によって装置全体が制御されている。プロセッサ３０１には、バス３１１を介してメモリ３０２と複数の周辺機器が接続されている。プロセッサ３０１は、マルチプロセッサであってもよい。プロセッサ３０１は、例えばＣＰＵ、ＭＰＵ、またはＤＳＰである。プロセッサ３０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ、ＰＬＤなどの電子回路で実現してもよい。
【００５０】
メモリ３０２は、ホストコンピュータ３００の主記憶装置として使用される。メモリ３０２には、プロセッサ３０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ３０２には、プロセッサ３０１による処理に利用する各種データが格納される。メモリ３０２としては、例えばＲＡＭなどの揮発性の半導体記憶装置が使用される。
【００５１】
バス３１１に接続されている周辺機器としては、ストレージ装置３０３、グラフィック処理装置３０４、機器接続インタフェース３０５、入力インタフェース３０６、光学ドライブ装置３０７、機器接続インタフェース３０８、接続インタフェース３０９およびネットワークインタフェース３１０がある。
【００５２】
ストレージ装置３０３は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置３０３は、コンピュータの補助記憶装置として使用される。ストレージ装置３０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置３０３としては、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）を使用することができる。
【００５３】
グラフィック処理装置３０４には、モニタ４１が接続されている。グラフィック処理装置３０４は、プロセッサ３０１からの命令に従って、画像をモニタ４１の画面に表示させる。モニタ４１としては、有機ＥＬ（Electro Luminescence）を用いた表示装置や液晶表示装置などがある。
【００５４】
機器接続インタフェース３０５には、カメラ４２が接続されている。カメラ４２は、プロセッサ３０１からの命令に従って、カメラ４２のレンズを向けた先の光景の静止画または動画のデータを生成し、メモリ３０２に格納する。
【００５５】
入力インタフェース３０６には、キーボード４３とマウス４４とが接続されている。入力インタフェース３０６は、キーボード４３やマウス４４から送られてくる信号をプロセッサ３０１に送信する。なお、マウス４４は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００５６】
光学ドライブ装置３０７は、レーザ光などを利用して、光ディスク４５に記録されたデータの読み取りを行う。光ディスク４５は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク４５には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００５７】
機器接続インタフェース３０８は、ホストコンピュータ３００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース３０８には、メモリ装置４６やメモリリーダライタ４７を接続することができる。メモリ装置４６は、機器接続インタフェース３０８との通信機能を搭載した記録媒体である。メモリリーダライタ４７は、メモリカード４８へのデータの書き込み、またはメモリカード４８からのデータの読み出しを行う装置である。メモリカード４８は、カード型の記録媒体である。
【００５８】
接続インタフェース３０９は、コントローラ２００と接続するためのインタフェースである。接続インタフェース３０９が用いる規格は、ハブ２０１が用いる規格と同様である。
【００５９】
ネットワークインタフェース３１０は、ネットワーク２０に接続されている。ネットワークインタフェース３１０は、ネットワーク３０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００６０】
ホストコンピュータ３００は、以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。ホストコンピュータ３００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。ホストコンピュータ３００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、ホストコンピュータ３００に実行させるプログラムをストレージ装置３０３に格納しておくことができる。プロセッサ３０１は、ストレージ装置３０３内のプログラムの少なくとも一部をメモリ３０２にロードし、プログラムを実行する。またホストコンピュータ３００に実行させるプログラムを、光ディスク４５、メモリ装置４６、メモリカード４８などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ３０１からの制御により、ストレージ装置３０３にインストールされた後、実行可能となる。またプロセッサ３０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００６１】
次に、スピーカ３３の性質について説明する。
図５は、スピーカに対する位置と音圧レベルとの関係の一例を示す図である。以下では、指向性のないスピーカ４０とパラメトリックスピーカであるスピーカ３３との違いについて説明する。なお図５では、スピーカ３３，４０が発する音声の音圧レベルの値の高低が点の濃淡で表され、点が濃い箇所は音圧レベルが高いことを示し、点が薄い箇所は音圧レベルが低いことを示す。
【００６２】
スピーカ４０が発する音声は、全方向に伝わり、距離が遠くなるほど減衰していく。よってスピーカ４０の近辺では音圧レベルが高く、スピーカ４０からの距離が大きくなるに連れて音圧レベルは低くなる。この場合、スピーカ４０が対象人物２１に向いていたとしても、スピーカ４０と対象人物２１との距離が大きいと、対象人物２１がスピーカ４０が発する音声を聞き取りづらいことや聞き取れない場合がある。
【００６３】
一方スピーカ３３が発する音声は、超音波によって直進する。ここで、超音波は広がらないため、距離が遠くなることによる音声の減衰量は小さい。よってスピーカ３３が向いている方向の直線上では音圧レベルが高く、スピーカ３３が向いている方向以外の方向では音圧レベルは低くなる。そのため、スピーカ３３が対象人物２１に向いていると、スピーカ３３と対象人物２１との距離が大きくても、対象人物２１はスピーカ３３が発する音声を聞き取ることができる。このようにして、スピーカ３３によって特定の人物（対象人物２１）のみに音声が届けられる。
【００６４】
ここで、スピーカ３３の向きは、２つの回転軸を中心とする回転（２つの軸回転）それぞれの角変位によって決定される。２つの軸回転の角変位は、それぞれモータ３２ａ，３２ｂの回転に伴って変動する。ホストコンピュータ３００は、２つの軸回転の現在の角変位を記憶しておき、現在の角変位と目的の角度との差だけ軸回転の角変位が変動するように、モータ３２ａ，３２ｂの軸を回転させる。
【００６５】
このとき、ホストコンピュータ３００から指示された回転量と実際のモータ３２ａ，３２ｂの回転量とが脱調などによりずれることがある。すると、ホストコンピュータ３００が記憶する軸回転の現在の角変位と実際の軸回転の角変位とに差異が生じる。そして、このように生じた差異だけスピーカ３３の向きが目的の方向からずれる。スピーカ３３の向きが目的の方向からずれると、スピーカ３３が音声を届けられる幅は小さいため、対象人物２１に音声を届けられなくなることがある。
【００６６】
そこで第２の実施の形態では、回転制御装置１００とホストコンピュータ３００とが連携して、スピーカ３３の向きのずれをキャリブレーション（較正）する。以下では一例として、ホストコンピュータ３００が記憶する２つの軸回転の角変位と、２つの軸回転の実際の角変位とが０［°］になるように較正される。
【００６７】
次に、スピーカ３３の設置方法について説明する。
図６は、スピーカの設置方法の一例を示す図である。スピーカ３３は、土台３４と支柱３５とによって天井に設置されている。土台３４は、天井に設置された円形の土台である。土台３４には、支柱３５とマーカ３６とが設置されている。
【００６８】
支柱３５は、土台３４の中心から鉛直下方向に伸びる円柱状の支柱である。支柱３５は、モータ３２ａによって回転する。モータ３２ａによる支柱３５の回転は、土台３４の中心を通り鉛直方向に伸びる回転軸３７ａを中心とする回転の角変位の変動である。なお、回転軸３７ａを中心とする回転の角変位の変動を水平方向の回転といい、回転軸３７ａを中心とする回転の角変位を水平方向の角変位ということがある。
【００６９】
支柱３５には、スピーカ３３が設置されている。スピーカ３３は、モータ３２ｂの軸によって回転する。モータ３２ｂによるスピーカ３３の回転は、支柱３５に対して垂直に伸びる回転軸３７ｂを中心とする回転の角変位の変動である。なお、回転軸３７ｂを中心とする回転の角変位の変動を垂直方向の回転といい、回転軸３７ｂを中心とする回転の角変位を垂直方向の角変位ということがある。またスピーカ３３には、カメラ３１が設置されている。ここでカメラ３１は、垂直方向の角変位が０［°］の場合に、レンズが土台３４および天井を向くようにスピーカ３３に設置される。
【００７０】
マーカ３６は、土台３４のマーカ３６が設置されていない部分とは異なる模様のマーカである。マーカ３６は、水平方向の角変位および垂直方向の角変位が共に０［°］である場合に、カメラ３１で撮影される画像（基準画像）に写る位置に設置される。
【００７１】
以下、回転制御装置１００およびホストコンピュータ３００の機能について詳細に説明する。
図７は、回転制御装置およびホストコンピュータの機能例を示すブロック図である。回転制御装置１００は、記憶部１２０、モータ制御部１３０、画像解析部１４０および角度算出部１５０を有する。
【００７２】
記憶部１２０は、座標テーブル１２１を記憶する。座標テーブル１２１は、基準画像におけるマーカ３６の位置座標を記憶する。また座標テーブル１２１は、基準画像における回転軸３７ａの位置座標を記憶する。モータ制御部１３０は、ホストコンピュータ３００からの指示に応じてモータ３２ａ，３２ｂを回転させる。
【００７３】
画像解析部１４０は、カメラ３１から画像を取得し、マーカ３６の位置座標を特定する。例えば画像解析部１４０は、カメラ３１が撮影した画像を取得する。画像解析部１４０は、取得した画像からパターンマッチングによってマーカ３６を検出し、マーカ３６の位置座標を特定する。
【００７４】
角度算出部１５０は、水平方向の角変位および垂直方向の角変位を算出する。角度算出部１５０は、基準画像におけるマーカ３６の位置座標と、回転軸３７ａの位置座標と、画像解析部１４０が特定したマーカ３６の位置座標とに基づいて、水平方向の角変位を算出する。また角度算出部１５０は、基準画像におけるマーカ３６の位置座標と、画像解析部１４０が特定したマーカ３６の位置座標とに基づいて、マーカ３６の画像上の変位を算出する。角度算出部１５０は、マーカ３６の画像上の変位を実空間上の変位に変換する。そして角度算出部１５０は、実空間上の変位と土台３４から回転軸３７ｂまでの距離とに基づいて垂直方向の角変位を算出する。
【００７５】
ホストコンピュータ３００は、記憶部３２０および回転命令部３３０を有する。記憶部３２０は、現在角変位３２１を記憶する。現在角変位３２１は、回転命令部３３０が過去に回転制御装置１００に送った回転命令に基づいて記録されている、現在の水平方向の角変位および垂直方向の角変位である。
【００７６】
回転命令部３３０は、回転数や回転速度を指定し、回転制御装置１００にモータ３２ａ，３２ｂを回転させる。例えば回転命令部３３０は、現在角変位３２１を参照し、目的の角度との差の角度を算出する。回転命令部３３０は、算出した差の角度だけ、水平方向の回転および垂直方向の回転が起こるような、モータ３２ａ，３２ｂの回転数を算出する。回転命令部３３０は、算出した回転数を回転制御装置１００に通知し、回転制御装置１００にモータ３２ａ，３２ｂを回転させる。回転命令部３３０は、現在角変位３２１を目的の角度に設定する。
【００７７】
なお、図７に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図７に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【００７８】
次に、カメラ３１によって撮影された画像を用いた角変位の算出方法について説明する。
図８は、基準画像の一例を示す図である。基準画像５１は、水平方向の角変位および垂直方向の角変位が０［°］の場合に、カメラ３１によって撮影される画像である。基準画像５１における、マーカ３６および回転軸３７ａの位置座標を示すための座標系の一例として、基準画像５１の左上を原点とし、基準画像５１の右方向に伸びる軸をｘ軸、基準画像５１の下方向に伸びる軸をｙ軸とした座標系５０が定義される。
【００７９】
基準画像５１に写るマーカ３６の座標系５０における位置座標（基準座標）は、（ｘc，ｙ0）である。ここで、回転軸３７ａを示す位置が基準画像５１上にない場合（すなわち、土台３４の中心が基準画像５１に写っていない場合）がある。その場合、例えば基準画像５１に写ったマーカ３６や土台３４を基に回転軸３７ａの位置座標が算出される。このように算出された回転軸３７ａの位置座標（回転軸座標）を（ｘc，ｙc）とする。
【００８０】
以下では、現在角変位３２１に示される水平方向の角変位および垂直方向の角変位が共に０［°］である場合に、カメラ３１によって撮影される画像に写るマーカ３６の位置座標のずれに基づいて、水平方向の角変位および垂直方向の角変位が算出される。まず水平方向の角変位の算出方法について説明する。
【００８１】
図９は、水平方向の角変位を算出するためのカメラ画像の一例を示す図である。カメラ画像５２は、水平方向の角変位がθhである場合に、カメラ３１によって撮影される画像である。なお、図９に示す例では、垂直方向の角変位にずれがない（すなわち、垂直方向の角変位は０［°］である）ものとする。
【００８２】
カメラ画像５２に写るマーカ３６の座標系５０における位置座標は、（ｘh，ｙh）である。この場合、水平方向の角変位θhは、基準座標と回転軸座標とを結ぶ直線と、カメラ画像５２に写るマーカ３６の位置座標と回転軸座標とを結ぶ直線とがなす角である。よって水平方向の角変位θhは、以下の式で算出される。
【００８３】
【数１】
0006697174.tif 000002
【００８４】
次に、垂直方向の角変位の算出方法について説明する。
【００８５】
図１０は、垂直方向の角変位と撮影位置の関係の一例を示す図である。図１０の例では、垂直方向の角変位が０［°］の場合とθvの場合でのカメラ３１が撮影する位置の違いが示される。
【００８６】
垂直方向の角変位が０［°］の場合、カメラ３１は、撮影位置３８ａを中心に撮影する。つまり、基準画像５１の中心には、撮影位置３８ａが写る。このときカメラ３１のレンズの中央と撮影位置３８ａを通る直線は、土台３４に垂直である。ここでスピーカ中心３９は、カメラ３１のレンズの中央と撮影位置３８ａを通る直線に対して、回転軸３７ｂから下ろした垂線の足であるものとする。
【００８７】
垂直方向の角変位がθvの場合、カメラ３１は、撮影位置３８ｂを中心に撮影する。つまり、撮影位置３８ｂは、スピーカ中心３９とカメラ３１のレンズの中央とを通る直線と土台３４とが交わる位置である。このとき、垂直方向の角変位θvは、スピーカ中心３９から土台３４に下ろした垂線と、撮影位置３８ｂとスピーカ中心３９とを結ぶ直線とがなす角に等しい。よって垂直方向の角変位θvは、以下の式で算出される。
【００８８】
【数２】
0006697174.tif 000003
【００８９】
式（２）の上側の式の「Ｄ*」は、土台３４とスピーカ中心３９との距離である。また、式（２）の上側の式の「ｄ*」は、スピーカ中心３９から土台３４に下ろした垂線の足と撮影位置３８ｂとの距離である。ここで、式（２）の上側の式は、式（２）の下側の式で近似される。
【００９０】
式（２）の下側の式の「Ｄ」は、土台３４と回転軸３７ｂとの距離である。つまり「Ｄ」は、垂直方向の角変位が０［°］の場合の、土台３４とスピーカ中心３９との距離である。また、式（２）の下側の式の「ｄ」は、撮影位置３８ａと撮影位置３８ｂとの距離である。つまり「ｄ」は、垂直方向の角変位が０［°］の場合にスピーカ中心３９から土台３４に下ろした垂線の足と撮影位置３８ｂとの距離である。
【００９１】
つまり、式（２）の上側の式の「Ｄ*」が式（２）の下側の式の「Ｄ」で近似され、式（２）の上側の式の「ｄ*」が式（２）の下側の式の「ｄ」で近似される。「Ｄ*」と「Ｄ」との差および「ｄ*」と「ｄ」との差は、垂直方向の角変位θvが小さくなるに連れて小さくなる。そこでモータ制御部１３０は、垂直方向の角変位の較正をθvが閾値以下になるまで繰り返す。これにより、「Ｄ*」と「Ｄ」との差および「ｄ*」と「ｄ」との差による誤差が小さくなる。
【００９２】
土台３４と回転軸３７ｂとの距離Ｄは、回転軸３７ｂの位置からあらかじめ特定される。また、撮影位置３８ａと撮影位置３８ｂとの距離ｄは、カメラ３１が撮影する画像を用いて、次のように算出される。
【００９３】
図１１は、垂直方向の角変位を算出するためのカメラ画像の一例を示す図である。カメラ画像５３は、垂直方向の角変位がθvである場合に、カメラ３１によって撮影される画像である。なお、図１１に示す例では、水平方向の角変位にずれがない（すなわち、水平方向の角変位は０［°］である）ものとする。
【００９４】
カメラ画像５３に写るマーカ３６の座標系５０における位置座標は、（ｘc，ｙv）である。この場合、カメラ３１によって撮影される画像におけるマーカ３６の変位ｄvは、以下の式で算出される。
【００９５】
【数３】
0006697174.tif 000004
【００９６】
ここでカメラ画像５３では、撮影位置３８ａも、中心からマーカ３６の変位だけずれた位置に写る。つまり、撮影位置３８ａと撮影位置３８ｂとの距離ｄは、変位ｄvを実空間における変位に変換したものに等しい。よって、撮影位置３８ａと撮影位置３８ｂとの距離ｄは、以下の式で算出される。
【００９７】
【数４】
0006697174.tif 000005
【００９８】
式（４）の「ｋ」は、カメラ３１によって撮影される画像における変位と実空間上の変位との比であり、カメラ３１の解像度などからあらかじめ算出される。このように算出された撮影位置３８ａと撮影位置３８ｂとの距離ｄを式（２）に代入することで、垂直方向の角変位θvが算出される。
【００９９】
次に、水平方向の角変位および垂直方向の角変位の両方がずれている場合の、水平方向の角変位および垂直方向の角変位の算出方法について説明する。
図１２は、水平方向の角変位および垂直方向の角変位を算出するためのカメラ画像の一例を示す図である。カメラ画像５４は、水平方向の角変位がθh、垂直方向の角変位がθvである場合に、カメラ３１によって撮影される画像である。
【０１００】
カメラ画像５４に写るマーカ３６の座標系５０における位置座標は、（ｘhv，ｙhv）である。ここで垂直方向の角変位のずれにより、カメラ画像５４に写るマーカ３６の位置に対する回転軸３７ａの位置と基準座標とにずれが生じる。ただし計算を簡単にするため、水平方向の角変位θhは、基準座標と回転軸座標とを結ぶ直線と、カメラ画像５４に写るマーカ３６の位置座標と回転軸座標とを結ぶ直線とがなす角で近似される。つまり基準座標が、カメラ画像５４に写るマーカ３６の位置に対する回転軸３７ａの位置とみなされる。
【０１０１】
カメラ画像５４に写るマーカ３６の位置に対する回転軸３７ａの位置と基準座標との差は、水平方向の角変位θhが小さくなるに連れて小さくなる。そこでモータ制御部１３０は、垂直方向の角変位の較正をθhが閾値以下になるまで繰り返す。これにより、カメラ画像５４に写るマーカ３６の位置に対する回転軸３７ａの位置と基準座標との差による誤差が小さくなる。
【０１０２】
水平方向の角変位θhは、以下の式で算出される。
【０１０３】
【数５】
0006697174.tif 000006
【０１０４】
また、垂直方向の角変位θvは、カメラ３１によって撮影される画像におけるマーカ３６のｙ軸方向の変位ｄhvを基に算出される。変位ｄhvは、カメラ画像５４において、水平方向の角変位θhを０［°］にした場合のマーカ３６の位置（すなわち、マーカ３６を回転軸座標を中心にθhだけ回転させた位置）と基準座標との距離である。カメラ画像５４において、水平方向の角変位θhを０［°］にした場合のマーカ３６の位置は、基準座標と回転軸座標とを結ぶ直線上で、回転軸座標とカメラ画像５４に写るマーカ３６の位置座標との距離ｒだけ、回転軸座標から離れた位置である。回転軸座標とカメラ画像５４に写るマーカ３６の位置座標との距離ｒは、以下の式で算出される。
【０１０５】
【数６】
0006697174.tif 000007
【０１０６】
よって変位ｄhvは、以下の式で算出される。
【０１０７】
【数７】
0006697174.tif 000008
【０１０８】
このように算出された変位ｄhvを用いて、撮影位置３８ａと撮影位置３８ｂとの距離ｄが、式（４）と同様に以下の式で算出される。
【０１０９】
【数８】
0006697174.tif 000009
【０１１０】
このように算出された撮影位置３８ａと撮影位置３８ｂとの距離ｄを式（２）に代入することで、垂直方向の角変位θvが算出される。
次に、記憶部１２０に記憶されるデータについて詳細に説明する。
【０１１１】
図１３は、座標テーブルの一例を示す図である。座標テーブル１２１には、「箇所」および「座標」の欄が設けられている。「箇所」の欄には、角変位の算出に用いられる箇所が設定される。「座標」の欄には、角変位の算出に用いられる箇所の位置座標が設定される。
【０１１２】
例えば座標テーブル１２１には、「箇所」の欄が「回転軸中心」で、「座標」の欄が「（ｘc，ｙc）」である、回転軸座標を示すレコードが登録されている。また例えば座標テーブル１２１には、「箇所」の欄が「基準位置」で、「座標」の欄が「（ｘc，ｙ0）」である、基準座標を示すレコードが登録されている。
【０１１３】
以下、回転制御装置１００およびホストコンピュータ３００による較正の手順について、詳細に説明する。
図１４は、水平方向較正の手順の一例を示すフローチャートである。以下、図１４に示す処理をステップ番号に沿って説明する。
【０１１４】
［ステップＳ１０１］回転命令部３３０は、現在角変位３２１を記憶部３２０から取得する。
［ステップＳ１０２］回転命令部３３０は、現在角変位３２１が０［°］になるようなモータ３２ａ，３２ｂ（水平・垂直モータ）の回転数を算出する。そして回転命令部３３０は、算出した回転数だけモータ３２ａ，３２ｂを回転させるように、回転制御装置１００に命令する。また回転命令部３３０は、現在角変位３２１を０［°］に設定する。
【０１１５】
［ステップＳ１０３］モータ制御部１３０は、ステップＳ１０２で指定された回転数だけ、モータ３２ａ，３２ｂを回転する。
［ステップＳ１０４］画像解析部１４０は、カメラ３１が撮影した画像（例えば、カメラ画像５２）を取得する。
【０１１６】
［ステップＳ１０５］画像解析部１４０は、カメラ画像５２からパターンマッチングによってマーカ３６を検出する。そして画像解析部１４０は、座標系５０におけるマーカ３６の位置座標（例えば、（ｘh，ｙh））を特定する。
【０１１７】
［ステップＳ１０６］角度算出部１５０は、水平方向の角変位θhを算出する。例えば角度算出部１５０は、座標テーブル１２１に示される基準座標と、ステップＳ１０５で特定したマーカ３６の位置座標とを式（１）に代入することで、水平方向の角変位θhを算出する。
【０１１８】
［ステップＳ１０７］角度算出部１５０は、ステップＳ１０６で算出した水平方向の角変位θhをホストコンピュータ３００に通知する。
［ステップＳ１０８］回転命令部３３０は、−θhだけ水平方向の回転が起こるような、モータ３２ａ（水平モータ）の回転数を算出する。そして回転命令部３３０は、算出した回転数だけモータ３２ａを回転させるように、回転制御装置１００に命令する。
【０１１９】
［ステップＳ１０９］モータ制御部１３０は、ステップＳ１０８で指定された回転数だけ、モータ３２ａを回転する。
このように、スピーカ３３に設置されたカメラ３１で撮影された画像にマーカ３６が写った位置と、水平方向の角変位が０［°］でカメラ３１で画像が撮影される場合にマーカ３６が写る位置とのずれによって水平方向の角変位が算出される。水平方向の角変位の算出は、現在角変位３２１に示される水平方向の角変位が０［°］となるようにモータ３２ａが回転してから行われる。よって、現在角変位３２１に示される水平方向の角変位と、実際の水平方向の角変位とのずれが算出される。
【０１２０】
そして算出された水平方向の角変位だけ、モータ３２ａが回転することで現在角変位３２１に示される水平方向の角変位と、実際の水平方向の角変位とのずれが解消される。これにより、スピーカ３３の向きが精度良く設定されるようになる。
【０１２１】
図１５は、垂直方向較正の手順の一例を示すフローチャートである。以下、図１５に示す処理をステップ番号に沿って説明する。
［ステップＳ１１１］回転命令部３３０は、現在角変位３２１を記憶部３２０から取得する。
【０１２２】
［ステップＳ１１２］回転命令部３３０は、現在角変位３２１が０［°］になるようなモータ３２ａ，３２ｂ（水平・垂直モータ）の回転数を算出する。そして回転命令部３３０は、算出した回転数だけモータ３２ａ，３２ｂを回転させるように、回転制御装置１００に命令する。また回転命令部３３０は、現在角変位３２１を０［°］に設定する。
【０１２３】
［ステップＳ１１３］モータ制御部１３０は、ステップＳ１１２で指定された分だけ、モータ３２ａ，３２ｂを回転する。
［ステップＳ１１４］モータ制御部１３０は、繰り返し回数ａを０に設定する（ａ＝０）。
【０１２４】
［ステップＳ１１５］モータ制御部１３０は、繰り返し回数ａの値を１だけ増加させる（ａ＝ａ＋１）。
［ステップＳ１１６］画像解析部１４０は、カメラ３１が撮影した画像（例えば、カメラ画像５３）を取得する。
【０１２５】
［ステップＳ１１７］画像解析部１４０は、カメラ画像５３からパターンマッチングによってマーカ３６を検出する。そして画像解析部１４０は、座標系５０におけるマーカ３６の位置座標（例えば、（ｘc，ｙv））を特定する。
【０１２６】
［ステップＳ１１８］角度算出部１５０は、座標テーブル１２１に示される基準座標と、ステップＳ１１７で特定したマーカ３６の位置座標とを式（３）に代入することで、カメラ３１によって撮影される画像におけるマーカ３６の変位ｄvを算出する。
【０１２７】
［ステップＳ１１９］角度算出部１５０は、垂直方向の角変位θvを算出する。例えば角度算出部１５０は、ステップＳ１１８で算出した変位ｄvを式（４）に代入することで、撮影位置３８ａと撮影位置３８ｂとの距離ｄを算出する。そして角度算出部１５０は、算出した距離ｄと土台３４と回転軸３７ｂとの距離Ｄとを式（２）に代入することで、垂直方向の角変位θvを算出する。
【０１２８】
［ステップＳ１２０］角度算出部１５０は、ステップＳ１１８で算出した垂直方向の角変位θvをホストコンピュータ３００に通知する。
［ステップＳ１２１］回転命令部３３０は、−θvだけ垂直方向の回転が起こるような、モータ３２ｂ（垂直モータ）の回転数を算出する。そして回転命令部３３０は、算出した回転数だけモータ３２ｂを回転させるように、回転制御装置１００に命令する。
【０１２９】
［ステップＳ１２２］モータ制御部１３０は、ステップＳ１２１で指定された回転数だけ、モータ３２ｂを回転する。
［ステップＳ１２３］モータ制御部１３０は、垂直方向の角変位θvが閾値以下または繰り返し回数ａが規定値以上であるか否かを判定する。モータ制御部１３０は、垂直方向の角変位θvが閾値以下または繰り返し回数ａが規定値以上であると判定した場合、処理を終了する。またモータ制御部１３０は、垂直方向の角変位θvが閾値より大きいかつ繰り返し回数ａが規定値未満であると判定した場合、処理をステップＳ１１５に進める。
【０１３０】
このようにして、カメラ画像に写ったマーカ３６の変位が、実空間上の撮影位置の変位に変換される。そして、実空間上の撮影位置の変位と、土台３４と回転軸３７ｂとの距離とに基づいて垂直方向の角変位が算出される。これにより、土台３４に平行である回転軸３７ｂを中心とする回転の角変位を算出することができるようになる。なお、算出される垂直方向の角変位は近似値であるが、較正が繰り返されることで誤差が解消される。
【０１３１】
図１６は、両方向較正の手順の一例を示すフローチャートである。以下、図１６に示す処理をステップ番号に沿って説明する。
［ステップＳ１３１］回転命令部３３０は、現在角変位３２１を記憶部３２０から取得する。
【０１３２】
［ステップＳ１３２］回転命令部３３０は、現在角変位３２１が０［°］になるようなモータ３２ａ，３２ｂ（水平・垂直モータ）の回転数を算出する。そして回転命令部３３０は、算出した回転数だけモータ３２ａ，３２ｂを回転させるように、回転制御装置１００に命令する。また回転命令部３３０は、現在角変位３２１を０［°］に設定する。
【０１３３】
［ステップＳ１３３］モータ制御部１３０は、ステップＳ１３２で指定された回転数だけ、モータ３２ａ，３２ｂを回転する。
［ステップＳ１３４］モータ制御部１３０は、繰り返し回数ａを０に設定する（ａ＝０）。
【０１３４】
［ステップＳ１３５］モータ制御部１３０は、繰り返し回数ａの値を１だけ増加させる（ａ＝ａ＋１）。
［ステップＳ１３６］画像解析部１４０は、カメラ３１が撮影した画像（例えば、カメラ画像５４）を取得する。
【０１３５】
［ステップＳ１３７］画像解析部１４０は、カメラ画像５４からパターンマッチングによってマーカ３６を検出する。そして画像解析部１４０は、座標系５０におけるマーカ３６の位置座標（例えば、（ｘhv，ｙhv））を特定する。
【０１３６】
［ステップＳ１３８］角度算出部１５０は、水平方向の角変位θhを算出する。例えば角度算出部１５０は、座標テーブル１２１に示される基準座標と、ステップＳ１３７で特定したマーカ３６の位置座標とを式（５）に代入することで、水平方向の角変位θhを算出する。
【０１３７】
［ステップＳ１３９］角度算出部１５０は、マーカ３６の画像上の変位ｄhvを算出する。例えば角度算出部１５０は、座標テーブル１２１に示される基準座標と、ステップＳ１３７で特定したマーカ３６の位置座標とを式（６）に代入することで、回転軸座標とカメラ画像５４に写るマーカ３６の位置座標との距離ｒを算出する。角度算出部１５０は、算出した距離ｒと座標テーブル１２１に示される基準座標と回転軸座標とを式（７）に代入することで、カメラ３１によって撮影される画像におけるマーカ３６のｙ軸方向の変位ｄhvを算出する。
【０１３８】
［ステップＳ１４０］角度算出部１５０は、垂直方向の角変位θvを算出する。例えば角度算出部１５０は、ステップＳ１３９で算出した変位ｄhvをを式（８）に代入することで、撮影位置３８ａと撮影位置３８ｂとの距離ｄを算出する。そして角度算出部１５０は、算出した距離ｄを式（２）に代入することで、垂直方向の角変位θvを算出する。
【０１３９】
［ステップＳ１４１］角度算出部１５０は、ステップＳ１３８で算出した水平方向の角変位θhおよびステップＳ１４０で算出した垂直方向の角変位θvをホストコンピュータ３００に通知する。
【０１４０】
［ステップＳ１４２］回転命令部３３０は、−θhだけ水平方向の回転が起こるような、モータ３２ａ（水平モータ）の回転数を算出する。また回転命令部３３０は、−θvだけ垂直方向の回転が起こるような、モータ３２ｂ（垂直モータ）の回転数を算出する。そして回転命令部３３０は、算出した回転数だけモータ３２ａ，３２ｂを回転させるように、回転制御装置１００に命令する。
【０１４１】
［ステップＳ１４３］モータ制御部１３０は、ステップＳ１４２で指定された回転数だけ、モータ３２ａ，３２ｂを回転する。
［ステップＳ１４４］モータ制御部１３０は、水平方向の角変位θhが閾値以下かつ垂直方向の角変位θvが閾値以下であるか否かを判定する。モータ制御部１３０は、水平方向の角変位θhが閾値以下かつ垂直方向の角変位θvが閾値以下であると判定した場合、処理をステップＳ１４５に進める。またモータ制御部１３０は、水平方向の角変位θhが閾値より大きいまたは垂直方向の角変位θvが閾値より大きいと判定した場合、処理をステップＳ１３５に進める。
【０１４２】
［ステップＳ１４５］モータ制御部１３０は、繰り返し回数ａが規定値以上であるか否かを判定する。モータ制御部１３０は、繰り返し回数ａが規定値以上であると判定した場合、処理を終了する。またモータ制御部１３０は、繰り返し回数ａが規定値未満であると判定した場合、処理をステップＳ１３５に進める。
【０１４３】
このようにして、水平方向の角変位および垂直方向の角変位の両方が算出される。なお、算出される水平方向の角変位および垂直方向の角変位は近似値であるが、較正が繰り返されることで誤差が解消される。
【０１４４】
第２の実施の形態の回転制御装置１００によれば、カメラ画像５２，５３，５４に写ったマーカ３６の位置に基づいて、角変位が算出される。これにより、スピーカ３３の現在の向きを示す情報の精度が向上する。
【０１４５】
また、カメラ画像５２，５３，５４に写ったマーカ３６の位置と基準座標とのずれに基づいて、軸回転の角変位が算出される。これにより、現在角変位３２１と実際の軸回転の角変位とのずれを検知することができるようになる。
【０１４６】
また座標系５０において、カメラ画像５２に写ったマーカ３６の位置と回転軸３７ａの位置とを結ぶ直線と、基準座標と回転軸３７ａの位置とを結ぶ直線とがなす角が算出される。これにより、水平方向の角変位の所定の角度からのずれを算出する精度が向上する。
【０１４７】
また、基準座標とカメラ画像５３に写ったマーカ３６の位置との変位に基づいて、垂直方向の角変位が算出される。これにより、回転軸３７ｂがカメラ画像５３に写った領域に垂直でない場合でも角変位を算出することができるようになる。
【０１４８】
またスピーカ３３がパラメトリックスピーカである。パラメトリックスピーカであるスピーカ３３の向きを示す情報が精度良く算出されることによって、スピーカ３３が音声を届ける方向が精度良く算出される。
【０１４９】
〔第３の実施の形態〕
次に第３の実施の形態について説明する。第３の実施の形態は、角変位を所定の角度に戻さずに較正を行うものである。
【０１５０】
第２の実施の形態では、水平方向の角変位が０［°］で撮影される画像に写る位置にマーカ３６が設置されていた。第３の実施の形態では、水平方向の角変位が０［°］以外でもマーカによる較正ができるように、複数（一例として、４つ）のマーカが土台に設置される。なお第３の実施の形態では、水平方向の角変位の較正が行われる。
【０１５１】
図１７は、スピーカの設置方法の他の一例を示す図である。第３の実施の形態では、図６に示した土台３４に代えて土台３４ａが使用される。土台３４ａは、天井に設置された円形の土台である。土台３４ａには、支柱３５とマーカ３６ａ，３６ｂ，３６ｃ，３６ｄとが設置されている。
【０１５２】
マーカ３６ａ，３６ｂ，３６ｃ，３６ｄは、土台３４ａのマーカ３６ａ，３６ｂ，３６ｃ，３６ｄが設置されていない部分とは異なる模様のマーカである。また、マーカ３６ａ，３６ｂ，３６ｃ，３６ｄの模様は、それぞれ異なる。マーカ３６ａは、水平方向の角変位０［°］である場合に、カメラ３１で撮影される画像に写る位置に設置される。マーカ３６ｂは、水平方向の角変位９０［°］である場合に、カメラ３１で撮影される画像に写る位置に設置される。マーカ３６ｃは、水平方向の角変位１８０［°］である場合に、カメラ３１で撮影される画像に写る位置に設置される。マーカ３６ｄは、水平方向の角変位２７０［°］である場合に、カメラ３１で撮影される画像に写る位置に設置される。
【０１５３】
第２の実施の形態では、カメラ画像に写ったマーカ３６のずれによって、水平方向の角変位の０［°］からのずれが算出された。一方第３の実施の形態では、カメラ画像に写ったマーカ３６ａ，３６ｂ，３６ｃ，３６ｄのずれによって、水平方向の角変位のカメラ画像に写ったマーカに対応する角度からのずれが算出される。
【０１５４】
第３の実施の形態で用いられる回転制御装置は、第２の実施の形態の回転制御装置１００と同様に図３のハードウェア構成によって実現される。以下では、第３の実施の形態で用いられる回転制御装置のハードウェアとして回転制御装置１００のハードウェアと同じ符号が用いられる。
【０１５５】
次に、第３の実施の形態で用いられる回転制御装置の機能について説明する。
図１８は、回転制御装置およびホストコンピュータの他の機能例を示すブロック図である。回転制御装置１００ａは、記憶部１２０ａ、モータ制御部１３０、画像解析部１４０ａおよび角度算出部１５０ａを有する。
【０１５６】
記憶部１２０ａは、座標テーブル１２１とマーカテーブル１２２とを記憶する。マーカテーブル１２２は、マーカ３６ａ，３６ｂ，３６ｃ，３６ｄそれぞれを区別するための情報（例えば、特徴量）を記憶する。
【０１５７】
画像解析部１４０ａは、カメラ画像に写るマーカの種類と位置座標を特定する。例えば画像解析部１４０ａは、カメラ３１が撮影した画像を取得する。画像解析部１４０ａは、マーカテーブル１２２に示される特徴量を用いたパターンマッチングによって、取得した画像からマーカ３６ａ，３６ｂ，３６ｃ，３６ｄのいずれかを検出する。画像解析部１４０ａは、検出したマーカの種類と位置座標を特定する。
【０１５８】
角度算出部１５０ａは、水平方向の角変位を算出する。例えば角度算出部１５０ａは、基準座標と回転軸座標とを結ぶ直線と、回転軸座標と画像解析部１４０ａが特定したマーカの位置座標とを結ぶ直線とのなす角の角度を算出する。そして、角度算出部１５０ａは、算出した角度に、画像解析部１４０ａが特定したマーカに対応する角度を足すことで、水平方向の角変位を算出する。
【０１５９】
なお、図１８に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図１８に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【０１６０】
次に、記憶部１２０ａに記憶されるデータについて詳細に説明する。
図１９は、マーカテーブルの一例を示す図である。マーカテーブル１２２には、「特徴量」および「角度」の欄が設けられている。「特徴量」の欄には、マーカ３６ａ，３６ｂ，３６ｃ，３６ｄそれぞれをパターンマッチングによって検出するための特徴量が設定される。「角度」の欄には、マーカ３６ａ，３６ｂ，３６ｃ，３６ｄそれぞれがカメラ３１に写る角度が設定される。
【０１６１】
以下、回転制御装置１００ａおよびホストコンピュータ３００による較正の手順について、詳細に説明する。
図２０は、水平方向較正の手順の他の一例を示すフローチャートである。以下、図２０に示す処理をステップ番号に沿って説明する。
【０１６２】
［ステップＳ１５１］回転命令部３３０は、現在角変位３２１が目的角度になるようなモータ３２ａ，３２ｂ（水平・垂直モータ）の回転数を算出する。そして回転命令部３３０は、算出した回転数だけモータ３２ａ，３２ｂを回転させるように、回転制御装置１００に命令する。また回転命令部３３０は、現在角変位３２１を目的角度に設定する。
【０１６３】
［ステップＳ１５２］モータ制御部１３０は、ステップＳ１５１で指定された回転数だけ、モータ３２ａ，３２ｂを回転する。
［ステップＳ１５３］画像解析部１４０ａは、カメラ３１が撮影したカメラ画像を取得する。
【０１６４】
［ステップＳ１５４］画像解析部１４０ａは、マーカテーブル１２２に示される特徴量を用いたパターンマッチングによって、ステップＳ１５３で取得した画像からマーカ３６ａ，３６ｂ，３６ｃ，３６ｄのいずれかを検出する。画像解析部１４０ａは、検出したマーカの種類と位置座標を特定する。
【０１６５】
［ステップＳ１５５］角度算出部１５０ａは、基準座標と回転軸座標とを結ぶ直線と、回転軸座標とステップＳ１５４で特定されたマーカの位置座標とを結ぶ直線とのなす角の角度（マーカの中心からのずれを示す角度）を算出する。
【０１６６】
［ステップＳ１５６］角度算出部１５０ａは、ステップＳ１５５で算出した角度に、ステップＳ１５４で特定されたマーカの種類に対応する角度を足すことで、水平方向の角変位θhを算出する。
【０１６７】
［ステップＳ１５７］角度算出部１５０ａは、ステップＳ１５６で算出した水平方向の角変位θhをホストコンピュータ３００に通知する。
［ステップＳ１５８］回転命令部３３０は、現在角変位３２１に示される水平方向の角変位θh*を取得する。
【０１６８】
［ステップＳ１５９］回転命令部３３０は、θhとθh*との差の絶対値（｜θh−θh*｜）が閾値以上であるか否かを判定する。回転命令部３３０は、θhとθh*との差の絶対値が閾値以上であると判定した場合、処理をステップＳ１６０に進める。また回転命令部３３０は、θhとθh*との差の絶対値が閾値未満と判定した場合、処理を終了する。
【０１６９】
［ステップＳ１６０］回転命令部３３０は、現在角変位３２１に示される水平方向の角変位をθhに設定する。
このように、モータ３２ａ，３２ｂが回転するごとに、水平方向の角変位が算出され、算出された角変位によって水平方向の角変位の較正が行われる。これにより、水平方向の角変位を０［°］に戻すことなく水平方向の角変位の較正が行われる。よって、スピーカ３３を利用しながら、角変位の較正ができるようになる。
【０１７０】
第３の実施の形態によれば、第２の実施の形態と同様に、スピーカ３３の現在の向きを示す情報の精度が向上する。さらに第３の実施の形態では、水平方向の回転が起こると、水平方向の角変位を算出し、算出した角変位をホストコンピュータ３００に通知する。これにより、スピーカ３３を利用しながら、角変位の較正ができるようになる。
【０１７１】
〔第４の実施の形態〕
次に第４の実施の形態について説明する。第４の実施の形態は、回転制御装置によって水平方向の角変位の制御を行うものである。以下、第３の実施の形態と同様の符号を用いて、第４の実施の形態の手順について説明する。
【０１７２】
図２１は、角変位制御の手順の一例を示すフローチャートである。以下、図２１に示す処理をステップ番号に沿って説明する。
［ステップＳ１７１］回転命令部３３０は、目的角度φhを回転制御装置１００ａに通知する。
【０１７３】
［ステップＳ１７２］モータ制御部１３０は、モータ３２ａの回転を開始させる。
［ステップＳ１７３］画像解析部１４０ａは、カメラ３１が撮影したカメラ画像を取得する。
【０１７４】
［ステップＳ１７４］画像解析部１４０ａは、マーカテーブル１２２に示される特徴量を用いたパターンマッチングによって、ステップＳ１７３で取得した画像からマーカ３６ａ，３６ｂ，３６ｃ，３６ｄのいずれかを検出する。画像解析部１４０ａは、検出したマーカの種類と位置座標を特定する。
【０１７５】
［ステップＳ１７５］角度算出部１５０ａは、基準座標と回転軸座標とを結ぶ直線と、回転軸座標とステップＳ１７４で特定されたマーカの位置座標とを結ぶ直線とのなす角の角度（マーカの中心からのずれを示す角度）を算出する。
【０１７６】
［ステップＳ１７６］角度算出部１５０ａは、ステップＳ１７５で算出した角度に、ステップＳ１７４で特定されたマーカの種類に対応する角度を足すことで、水平方向の角変位θhを算出する。
【０１７７】
［ステップＳ１７７］角度算出部１５０ａは、φhとθhとの差の絶対値（｜φh−θh｜）が閾値以下であるか否かを判定する。角度算出部１５０ａは、φhとθhとの差の絶対値が閾値以下であると判定した場合、処理をステップＳ１７８に進める。また角度算出部１５０ａは、φhとθhとの差の絶対値が閾値より大きいと判定した場合、処理をステップＳ１７３に進める。
【０１７８】
［ステップＳ１７８］モータ制御部１３０は、モータ３２ａの回転を停止させる。
［ステップＳ１７９］角度算出部１５０ａは、ステップＳ１７６で算出した水平方向の角変位θhをホストコンピュータ３００に通知する。
【０１７９】
［ステップＳ１８０］回転命令部３３０は、現在角変位３２１に示される水平方向の角変位をθhに設定する。
このように、モータ３２ａの回転中に水平方向の角変位が算出され、算出された水平方向の角変位が目的の角度になるとモータ３２ａが停止する。これにより、回転制御装置１００ａによって、水平方向の角変位を目的の角度にするための制御をすることができるようになる。
【０１８０】
第４の実施の形態によれば、第２の実施の形態と同様に、スピーカ３３の現在の向きを示す情報の精度が向上する。さらに第４の実施の形態では、水平方向の回転中に、水平方向の角変位を算出し、算出した角変位と目的の角度との差の絶対値が閾値以下の場合、水平方向の回転を停止させる。これにより、回転制御装置１００ａによって水平方向の回転を制御できるようになる。
【０１８１】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１８２】
１  スピーカ
２  ホストコンピュータ
３  回転軸
４  カメラ
５  マーカ
６  カメラ画像
７  座標系
１０  情報処理装置
１１  記憶部
１１ａ  基準座標
１１ｂ  回転軸座標
１２  処理部
【要約】
【課題】スピーカの現在の向きを示す情報の精度を向上させる。
【解決手段】情報処理装置１０は、回転軸３を中心とした回転の角変位によって音を発する方向が決定されるスピーカ１に取り付けられ、回転軸３を中心とした回転に伴って移動するカメラ４から、カメラ４によって撮影されたカメラ画像６を取得する。そして情報処理装置１０は、取得したカメラ画像６のマーカ５が写った位置に基づいて、回転軸３を中心とした回転の角変位を算出する。
【選択図】図１【図１】
0006697174.tif 000010
【図２】
0006697174.tif 000011
【図３】
0006697174.tif 000012
【図４】
0006697174.tif 000013
【図５】
0006697174.tif 000014
【図６】
0006697174.tif 000015
【図７】
0006697174.tif 000016
【図８】
0006697174.tif 000017
【図９】
0006697174.tif 000018
【図１０】
0006697174.tif 000019
【図１１】
0006697174.tif 000020
【図１２】
0006697174.tif 000021
【図１３】
0006697174.tif 000022
【図１４】
0006697174.tif 000023
【図１５】
0006697174.tif 000024
【図１６】
0006697174.tif 000025
【図１７】
0006697174.tif 000026
【図１８】
0006697174.tif 000027
【図１９】
0006697174.tif 000028
【図２０】
0006697174.tif 000029
【図２１】
0006697174.tif 000030