以下、本発明の実施の形態について図面を参照しつつ説明する。以下に示す実施形態は、本発明の一実施形態に過ぎない。本発明は、種々の構成変形例を含む。また、音像を聴取可能な「聴取可能エリア」のことを適宜「スイートスポット」とも記す。
(構成)
(移動体1)
図1(a)は、移動体1の正面図、図1(b)は、移動体1の斜視外観図である。移動体1は、移動部3と、胴体部4と、回動機構5と、頭部2とを有する。移動部3は、平面視が正方形の板状部材であり、この板状部材の前後左右にオムニホイール111a、1111b、111dを回動自在に備えている。胴体部4は、円柱状の外観を呈しており、回動機構5(回動部)を介して頭部2と接続されていて、移動部3に載置固定されている。回動機構5は、公知の回動手段で実現可能である。頭部2は、胴体部4よりも小さな径の円柱状外観を呈している。頭部2は、移動部3に固定された胴体部4の上面に設けた回動機構5によって、回動自在に固定されている(図1(b)符号R参照)。
胴体部4の前面には、所要の情報を表示出力するためのディスプレイ500(ディスプレイモニタ)が、その表示面を前方に向けて固定されている。頭部2の左右部には、1対のスピーカ201a、201bが固定されていて、前方空間に向けて、生成された音像に対応する音声信号を放音可能になっている。ディスプレイ500には、制御部150の動作制御に応じて、コンテンツ動画、静止文字、音声合成部300により合成されたメッセージ等が表示される。様々なコンテンツ動画を再生してディスプレイ500に表示させることで、移動体1の周囲に位置する対象者を移動体1の近くまで引き付ける誘因となる。
頭部2の前側には、1対の丸い部材を介して、後に説明する測距部130のTR部132と、赤外線装置400の一部とが埋め込まれている。また、頭部2の前面中央下部には、CCDカメラ125が埋め込まれ、CCDカメラ125により、移動体1の前方の画像を取り込む撮像機能を有している。
かくして、移動体1は、移動部3によって移動可能であり、頭部2は、胴体部4に対して回動可能に構成されている。また、移動体1は、前方の人・物の画像情報を取得すること、前方に位置する人・物までの距離を計測すること等ができる。回動機構5による頭部2の回動(水平面内の首振り)により、画像取得、距離測定のエリアが、移動体1の鉛直方向中心軸(以下「中心軸」とも記す)を中心に回転する。この「中心軸」は、平面視円形状の頭部2、胴体部4における当該円の中心を通る鉛直線である。
また、一対のスピーカ201a、201bから放音される音像は、移動体1の前方にその聴取可能エリアが位置するように設定されている。聴取可能エリアは、頭部2の回動動作に応じて、「中心軸」を中心に回転する。また、聴取可能エリアの存在位置は、移動体1の移動部3の移動に応じて移動する。かくして、聴取可能エリアの存在位置は、水平方向に移動したり、中心軸を中心に回転したりするので、その存在位置を状況に合わせて調整制御可能に構成されている。
また、赤外線装置400は、人の存在を検出する。赤外線装置400による人の検出エリアも移動体1の移動や頭部2の回動に応じて、移動・回転する。なお、赤外線装置400による人の検出エリア、測距部130による距離測定可能エリア、CCDカメラ125による画像取得可能エリア等は、スイートスポットを含み、平面的にも立体的にもこれよりも大きな領域となっている。
(移動部3)
図10は移動部3の模式的平面図である。基台50は、平面視正方形の板状部材であり、その下部の前後左右の4方向には、モータ112a、モータ112b、モータ112c、モータ112dが固定されている。モータ112a、モータ112b、モータ112c、および、モータ112dのそれぞれの回転軸には、オムニホイール111a、オムニホイール111b、オムニホイール111c、オムニホイール111dが回動自在に設けられている。
また、モータ112a、112b、112c、112dの回転軸は、不図示の軸受で受けられ、その軸受が不図示の支持部材等により、基台50の下部に支持されている。基台50の上面には、電子回路100と、電子回路100に電力供給を行う電源101とが載置固定されている。電源101には、不図示のレギュレータが接続されており、レギュレータの端子には複数種類の電圧が出力可能であり、電子回路100の所要の箇所に対して、レギュレータの端子から取り出した適切な電圧が供給される。
4個のオムニホイール111a、111b、111c、111dの回動駆動によって、基台50等で成る移動部3を移動制御する構成等は、公知であり、例えば「特開2008−155652号公報」を参考にして構成すれば良い。オムニホイール111a、111b、111c、111dは、周囲にローラ軸が適宜の数だけ配置されており、各ローラ軸にはフリーローラが回動可能に設けられている。これにより、オムニホイール111a、111b、111c、111dは、車輪周方向とこれに直交する方向とに回動可能となる。モータ112a、112b、112c、112dを駆動制御することによって、移動部3を全方向に移動させる駆動制御については後述する。
(電子回路100)
図2は電子回路100の構成図である。図2に示すように、電子回路100は、画像処理部120と、測距部130と、仮想音源生成部200と、赤外線装置400と、駆動制御部140と、音声合成部300と、制御部150とを有している。
(画像処理部120)
図6は画像処理部120の構成図である。画像処理部120には、移動体1の前方の所定エリアを撮像するCCDカメラ125が接続され、CCDカメラ125から出力される撮像信号を用いた画像処理を実行する。
画像処理部120は、A/D変換部122と、フレームバッファ124と、画像処理用エンジン126とを有している。A/D変換部122は、CCDカメラ125による前方の所定エリアの撮像情報をアナログデジタル変換する。なお、CCDカメラ125がデジタル出力端子を備えていれば、A/D変換部122は特に設けなくても良い。
フレームバッファ124は、1フレームの撮像情報を記憶可能なバッファ124を複数面(124a〜124n)有している。A/D変換部122による変換結果は、フレーム単位でフレームバッファ124に順次記憶される。フレームバッファ124は、先読み先出しのFIFO方式(First In First Out)で、A/D変換部122による変換結果を記憶する。
画像処理用エンジン126は、フレームバッファ124に記憶された複数面のデータを参照しながら、前方の所定エリアに位置する人を特定する処理等を行う。「人」には、スイートスポット内に位置する「聴取者」、スイートスポット内に位置しない「非聴取者」などが含まれる。なお、画像処理用エンジン126が実行する処理例については後述する。画像処理部120での処理結果や処理に使用したデータは、制御部150が備える判定部160に送られる。
スイートスポット内に位置する聴取者であると特定するためには、後に説明する画像処理部120による人検出、測距部130による距離測定、赤外線装置400による人検出等を組み合わせて行う。例えば、画像処理によって「人」を検出し、その「人」までの距離を測定し、この測定距離が所定値以内であれば、スイートスポット内に位置する「人」であると特定する。
一方、画像によって「人」を検出しても、その「人」までの距離が所定値を超えれば、スイートスポット内には位置しない「人」であると判定し、そのことを赤外線装置400で確認する。なお、このアルゴリズムは一例であり、「人特定や特定した「人」がスイートスポット内に位置する」ことを検出可能なアルゴリズムであれば、いずれのものも採用可能である。
(測距部130)
測距部130は、電磁波・超音波等の波動を前方に出力したり、エコー信号を受信したりするためのTR部132と、TR部132が受信したエコー信号をアナログデジタル変換するA/D変換部132とを備え、前方の聴取者、非聴取者、固定物等との距離を測定する。測距部130は、前方へ超音波、ミリ波等の波動を出力する。その際、TR部102(Transmit and Receive)から、移動体1の前方に対して波動を出力する。
前方に波動を出力すると、「聴取者、非聴取者、固定物」等の前方に存在する物・人からの反射波(エコー信号)が戻ってくるので、反射波をTR部132で受信する。測距部130は、エコー信号に基づいて、既にスイートスポット内に位置する聴取者までの距離や、未だ聴取者になっていない、換言すれば、未だスイートスポット内に位置していない非聴取者までの距離を計測する。
図3は測距部130の構成図である。測距部130は、発振部133と、送信処理部134と、タイマ136と、受信処理部138と、演算部139と、A/D変換部131とを有している。発振部133は、波動を出力する波動源である。送信処理部134は、発振部133が連続発振する波動を、所定時間で繰り返してゲートを開き、波動をパルス状にして出力する。
受信処理部138は、送信処理部134と同期して、測距方向からの反射波であるエコー信号を受信する(受信エコー)。演算部139は、タイマ136のカウント値(T)に波動速度(C)を乗じ、更に、「1/2」倍して距離(R)を求める(「2R=C・T」)。また、エコー信号のキャリアの周波数をFFT演算して求め、測距方向に位置する物・人のドップラーシフトを演算する構成とすれば、測距方向に人間が位置するか否かを判断し易くなる。凡そ、人間のドップラーシフトは予測されるので、実験等によって予め用意しておき、この用意した実験値と、FFT演算により得られたドップラーシフトを比較することによって、測距方向に人間が位置しているか否かを判定できる。
次に、図4を参照して測距部130の動作について説明する。送信処理部134によるゲート開閉制御によって、パルス状の送信信号(送信パルス)を送信するとともに、同期信号を受信処理部138に送り、タイマ136にリセット信号を与える。リセット信号が与えられたタイマ136は、自身のカウントエリアをリセットする。タイマ136は、カウントエリアの設定数値をインクリメントするカウント動作により時間を計測する。
同期信号を受け取った受信処理部138は、エコー信号を受信する(受信エコー)と共に、タイマ136にストップ信号を与える。これにより、タイマ136は時間計測を停止する。この際、測距方向からは通常、多数のエコー信号を受信する。この例では3種類のエコー信号である「ech1」、「ech2」、「ech3」が反射されてくる場合を示す。
そこで、受信処理部138は、同期信号を受けてから最初のエコー信号を受信した時点でタイマ136のカウントを停止させる。これによって、目標方向において一番近い人・物までの距離を測定することが可能になる。つまり、メインとなるエコー信号のみを採用し、その他のサブとなるエコー信号をカットする。これにより、移動体1から最も近い人・物までの距離を計測可能になる。これが人か否かは画像処理、赤外線信号処理等と組み合わせて判定する。また、聴取可能エリアの距離分布(平面的・立体的距離分布,聴取可能エリアの存在位置等を意味する)は予め分かっているので、聴取可能エリア内に人・物が位置するか否かを判定することは可能である。
また、測距部130によって測距可能なエリアを、スイートスポットを含むように設定しておけば、スイートスポット内に位置する人・物までの距離を測定できるとともに、スイートスポットから外れた地点に位置する人・物までの距離も測定できる。
また、先に説明したように、演算部139がエコー信号の周波数をFFT演算等で求めて人か否かを判定することも可能である。通常、人間には、静止しているようで若干揺らぐ体動があるので、静止している人に対しこの体動がドップラーシフトとして反映される。この例では、エコー信号ech1の周波数「f1」は、送信パルス周波数「f0」とは異なり、「Δf=|f1−f0|:但し移動体1は静止」がドップラーシフトである。これを人か物かの判定基準として用いることも可能である。固定物は基本的に完全静止しているし、可動部を備えた固定物等は、一般的には静止した人間より、ドップラーシフトは大きいことを利用すれば良い。
波動として「超音波」を使用する場合には、発振部133をセラミック等の圧電素子、TR部132をスピーカとマイクロフォンとで構成すれば良い。また、波動として「ミリ波」を使用する場合には、発振部133をGUNN発振器(ガン発振器)、TR部132を小型パラボラアンテナ、スロット型マルチアンテナ等で構成すれば良い。波動として「近赤外光」を使用する場合には、発振部133を半導体レーザー、TR部132をレンズ等の光学素子で構成することができる。
また、距離を計測する場合に時間を直接計測せずに、照射光と反射光の位相差を検出し、この検出した位相差に基づいて公知の方法により距離を求める構成とすることもできる。測距部130による測距結果は、制御部150が備える判定部160に送られる。
(「距離画像」について)
上述した送信処理部134はパルス状波動を出力するが、例えば、TOF方式(Time Of Flight)により、画素毎の距離情報を求める構成とすることもできる。発光素子からの光(照射光)を前方空間に出力し、対象物(人を含む)からの反射光を光学系によって、CCD等の撮像素子上に結像させると、画素毎の位相差、換言すれば、画素毎の距離情報が分かるので、対象物を三次元的に把握することが可能である。この構成によれば、LEDからの光をパルス状に照射して対象のドップラーシフト量を検出し、対象の動きを推定することもできる(例えばTDK Techno Magazine第159回等の公知文献参照)。
よって、距離画像を検出することによって、対象物までの最短距離が分かるほか、対象物の3次元テンプレートを用意しておけば、対象物が人であるか否かも検出できる。このためには、図3の測距部130の構成において、「送信処理部134がCW(Continuous Wave:連続波)状に波動を出力すること、タイマ136を不要とすること、受信処理部138を固体撮像素子と各画素に対する位相を求める位相検出部とを含む構成とすること、演算部139を位相に基づいて各画素の距離を求める構成に変更すること」等で、距離画像測定部を実現することができる。
(赤外線装置400)
図7は、赤外線装置400の構成図である。IR(Infrared Ray)は「赤外線」を意味する。赤外線装置400は、赤外線光学系410と、IRフィルタ420と、IRセンサ430とを有する。赤外線光学系410は、赤外線透過可能な凹レンズ、赤外線透過可能な凸レンズ等の赤外線光学デバイスを組み合わせて構成され、移動体1の前方の所定エリアから到来する赤外線をIRセンサ430上に結像させるための光学系である。
IRフィルタ420は、所謂「干渉フィルタ」と称されるデバイスで、本実施形態では9〜10(μm)の赤外線を透過させ、これ以外の波長の赤外線の透過を阻止するシャープカット型のフィルタである。IRセンサ430は、その受光面に結像された赤外線の強さに応じた電圧を出力する。出力電圧は、制御部150(判定部160)に送られる。
絶対温度零度以上の物(生物含む)からは、赤外線が放射される。ウイーンの変位則によれば、放射赤外線のピーク波長をλp、温度をT(K)とすれば、「λp×T=b(「b」は定数:約2.9×10-3)」となるため、人が発する赤外線のピーク波長は「9.0〜10.0(μm)」である。これを利用して「9.0〜10.0(μm)」の波長の赤外線のみをIRフィルタ420で透過させて、IRセンサ430上に結像させることにより、前方の所定エリア内に人が位置するか否かを判定することができる。
赤外線光学系410は、移動体1の前方の所定エリアから到来する赤外線をIRセンサ430の受光面上に結像させるが、この際、レンズ組合せ等を工夫することによって、この所定エリアをスイートスポットと同じか略同じ領域に設定している。したがって、IRセンサ430からの出力信号に応じて、スイートスポット内に人が位置するか否かを判定することができる。
図8は、IRセンサ430の出力の説明図である。縦軸は、IRセンサ430の出力電圧レベルを示す。出力電圧に対して2つの閾値(第1閾値、第2閾値)が設定されている。第1閾値は、第2閾値よりも低いレベルに設定されている。「信号D1」は、第1閾値未満のレベルであり、人を検出したことを示していない「人非検出信号」である。
一方、「信号D2」は、第1閾値を超えるレベルにあり、人を検出したことを示す「人検出信号」である。また、「信号D3」は、第1閾値、第2閾値の両閾値を超えるレベルにあり、人を検出したことを示すと共に、人が極めて近くに位置することを示す「人近接信号」となる。IRセンサ430の出力電圧レベルは、それが飽和するまでは、人が近ければ近い程大きくなる。例えば、スイートスポットの最長距離をLsとして、両閾値を超える「信号D3」は、Lsの半分以下(Ls/2以下)の距離内に人が位置することを意味する信号である。
したがって、制御部150に含まれる判定部160は、IRセンサ430の出力レベルが第1閾値を超える場合には、スイートスポット内に人が位置すると判定し、また、IRセンサ430の出力レベルが両閾値を超える場合には、スイートスポット内に人が位置し、その位置が極めて移動体1に近い(例えば2〜3(m)以内に位置する)と判定する。よって、赤外線装置400のみによっても、人がスイートスポット内に位置するか否かを判定することは可能であるが、画像処理部120、測距部130からの情報等も組み合わせて使用することにより検出確度を高めている。
また、移動部3の位置を固定して、赤外線装置400の出力を調べながら、頭部2を左右回転させれば、人の存在方向を検出することができる。例えば、頭部2を左右回転させて、赤外線装置400の出力が「最大(Max)」となる方向が「人」の存在方向であり、また、1対のスピーカ201a、201bを結ぶ直線の中点を通り、当該直線に垂直な方向であるセンター方向となる。かくして、赤外線装置400の出力が最大となるように、頭部2を左右回転させることによって、「人」をセンター方向に位置させることができる。
(仮想音源生成部200)
仮想音源生成部200は、立体的な音像を生成定位する。その出力段には、D/A変換部202と、左右1対のスピーカ201a、201bとが接続されている。図2に示すように、仮想音源生成部200で生成定位された音像情報は、D/A変換部202によってデジタルアナログ変換され、変換後のアナログ音声信号が左右のスピーカ201a、201bから出力される。
図5は仮想音源生成部200の構成図である。仮想音源生成部200は、メモリ205と、再生部215と、音像定位部220と、クロストークキャンセル処理部230とを有する。メモリ205には、予め1以上の再生データ(音声データ)が記録されている。再生部215は、メモリ205に記録されている再生データを読み出し再生して、音像定位部220に送る。音像定位部220は、送られてきた再生データを用いて、音像を定位させる音像定位処理を行う。クロストークキャンセル処理部230は、音像定位情報に基づいて、クロストークを除去するクロストークキャンセル処理を行う。
図5に示す例によれば、メモリ205に再生データa〜再生データnが予め記録されているが、これは例示に過ぎない。また、不図示のマイクロフォンを2個用意し、ステレオ音声を収音し、収音したステレオ音声に対して音像定位処理とクロストークキャンセル処理を実行する構成とすれば、リアルタイムな音像生成を行うことが可能になり、一層アトラクション性が向上する。
図9は、音像定位部220とクロストークキャンセル処理部230の構成図である。仮想音源生成部200は、入力音響信号に基づいて所望の方向に音源を定位して2チャンネルの右スピーカ用信号(X1)と左スピーカ用信号(X2)とを生成する音像定位部220と、クロストークをキャンセルするクロストークキャンセル処理部230と、右スピーカ201a、左スピーカ201bとを有して構成される。
音像定位部220は、フィルタ01(210)とフィルタ02(211)とを有して構成され、両フィルタの出力が右スピーカ用信号、左スピーカ用信号となる。フィルタ01(210)とフィルタ02(211)の伝達関数は、所望の方向および距離での音像定位を行うための「頭部伝達関数」が予め測定や生成されてそれらが組み込まれている。そして、フィルタ01(210)、フィルタ02(211)がFIRフィルタで構成されている場合には、入力された入力音響信号に対してフィルタ係数との畳み込み演算を行って、右スピーカ用信号、左スピーカ用信号を生成する。かくして、頭部伝達関数を用いて所望の方向および距離での音像定位を行える。
また、フィルタ11(220)とフィルタ12(225)とが右スピーカ用信号の供給を受けるように構成され、フィルタ12(225)の出力は、乗算器260でその係数値(α)が乗じられ、この乗算結果は加算器245に入力される。同様に、フィルタ13(226)とフィルタ14(235)とが左スピーカ用信号の供給を受けるように構成され、フィルタ13(226)の出力は、乗算器270でその係数値(α)が乗じられ、この乗算結果は加算器240に入力される。
加算器240は、乗算器270の乗算結果とフィルタ11(220)の出力とを加算して右チャンネル出力信号を生成し、これを右スピーカ201aに供給する一方、加算器245は、乗算器260の乗算結果とフィルタ14(235)の出力とを加算して左チャンネル出力信号を生成し、これを左スピーカ201bに供給する。かくして、両スピーカからは対応する音が放音される。なお、乗算器260、乗算器270は、係数値が共にαであり、このαが「0」の場合、クロストークキャンセルが行われず、「1.0」の場合には完全なクロストークキャンセルが行われるので、乗算器260、270はクロストークキャンセル量を調整する機能を有する。
次に、クロストークキャンセル処理部230の動作について説明する。フィルタ11(220)、フィルタ12(225)、フィルタ13(226)、フィルタ14(235)の伝達関数を夫々「H11」、「H12」、「H21」、「H22」とする。また、信号x1、x2がクロストークキャンセル処理部230へ入力されると、信号x1が、フィルタ11(220)およびフィルタ12(225)に供給されてフィルタリング処理が行われ、同様に、信号x2は、フィルタ13(226)およびフィルタ14(235)に供給されてフィルタリング処理が行われる。さらに、フィルタ11(220)とフィルタ13(226)との出力が加算器240で加算され信号y1となり、この信号y1が右スピーカ201aに供給されて対応する音が放音される。同様に、フィルタ12(225)とフィルタ14(235)との出力が加算器245で加算されて信号y2となり、この信号y2が左スピーカ201bに供給されて対応する音が放音される。
右スピーカ201aから出力された音(信号)は聴取者の左右の耳に到達する。右スピーカ201aから聴取者の右耳までの伝達関数と左耳までの伝達関数を夫々、G11、G12とし、同様に、左スピーカ201bから聴取者の右耳までの伝達関数と左耳までの伝達関数を夫々G21、G22とする。この場合、x1、x2とz1、z2との関係は、図14上段の式(1)で示すように、マトリクスで表現される。即ち、4個のフィルタ220、フィルタ225、フィルタ226、フィルタ235の伝達関数でなる2行2列の行列と、スピーカ201a、201bから聴取者の耳までの伝達関数でなる2行2列の行列との乗算で表現されることになる。
そして、クロストークキャンセルとは「z1=x1(式2)」、「z2=x2(式3)」となることである。従って、クロストークキャンセル処理部230のフィルタ220、フィルタ225、フィルタ226、フィルタ235の伝達関数は、図14の下段の(式4)の示すようになる。
ここで、図9を参照して信号x1のみが入力する場合を想定する。乗算器260の係数値をαとする。x1=1、x2=0として、(式1)に代入し、また(式4)のH11、H12、H21、H22を(式1)に代入して展開すると、聴取者の両耳に到達する信号は(式5)、(式6)のようになる。「z1=(G11・G22−αG21・G22)/(G11・G22−G12・G21)(式5)」、「z2=(G11・G22−αG22・G12)/(G11・G22−G12・G21)(式6)」。
係数値αが「1.0」の場合、z1は1、z2は0に近似され、右耳にのみ入力信号x1が到達し、(式8)、(式9)が得られることになる。「z1=x1(式7)」、「z2≒0(式9)」。同様にして、フィルタ13(226)、フィルタ14(235)においても、乗算器270の係数値αが「1.0」の場合、z2は「1」、z1は「0」に近似され、左耳にのみ入力信号x2が到達し、「z2=x2」、「z1≒0」となる。そして、係数値αの値が「1.0」から離れる程、クロストークのキャンセル量が少なくなりクロストークキャンセル効果が効かなくなってくる。かくして、両乗算器260、270の係数値を調整することによってクロストークキャンセルの量を調整することが可能になる。
このようにして、仮想音像生成部200を実現することができるが、構成例はこれに限られず、音像を定位してそのクロストークを除去する音響装置であれば本発明に適用可能である。また、音像定位部220とクロストークキャンセル処理部230とを実装せずに、既に、音像定位処理とクロストークキャンセル処理とを済ませている音声データを再生する構成とすることも可能である。
(音声合成部300)
音声合成部300は、制御部150からの制御情報を受けて、指示される音声を出力する。図2に示すように、音声合成部300からの出力は、D/A変換部310によってデジタルアナログ変換されて、スピーカ201a、201bから出力される。音声合成されるのは、例えば、所要のメッセージ、頭部2の回動、移動部3の移動等に応じて流れるBGM等である。
(駆動制御部140)
駆動制御部140は、5つのステッピング型のモータ112a、112b、112c、112d、114を駆動制御する。この内、モータ114は、頭部2の回動動作を行うためのものである。図11を参照して、移動部3の前進後退、左右方向進行、旋回動作について説明する。図11は、移動部3の模式的説明図であり、図11に示すように「前後左右」を設定する。
図11(a)に示すように、オムニホイール111b、オムニホイール111dが矢印A方向に回転するように、モータ112b、112dを駆動すると、基台50等で成る移動部3は「前側」に移動する。この時、オムニホイール111a、111cを回転駆動させるためのモータ112a、112cを駆動しない。オムニホイール111a、111cは、車輪外周方向に直交する方向においてもフリーローラが回転されるため、前側に回転する。
一方、図11(a)に示すように、オムニホイール111b、オムニホイール111dを点線矢印B方向に回転するように、ステッピングモータ112b、112dを駆動すると、基台50等で成る移動部3は「後側」に移動する。つまり、矢印Aの場合のモータ112b、112cの回転駆動方向を反転駆動させる。この時も、オムニホイール111a、111cに対応するモータ112a、112cを駆動しない。オムニホイール111a、111cは、車輪外周方向に直交する方向においても、フリーローラが回転されるため後側に回転する。かくして、オムニホイール111b、オムニホイール111dの駆動によって、移動部3は前後方向に移動可能になる。
同様に、図11(b)に示すように、オムニホイール111a、オムニホイール111cを矢印C方向に回転するように、モータ112a、112cを駆動すると、基台50等で成る移動部3は「右側」に移動する。この時、オムニホイール111b、111dに対応するモータ112b、112dを駆動しない。オムニホイール111b、111dは、車輪外周方向に直交する方向においてもフリーローラが回転されるため右方向に回転する。
一方、図11(b)に示すように、オムニホイール111a、オムニホイール111cを点線矢印D方向に回転するように、ステッピングモータ112a、112cを駆動すると、基台50等で成る移動部3は「左側」に移動する。つまり、矢印Cの場合のモータ112a、112cの回転駆動方向を反転駆動させる。この時も、オムニホイール111b、111dに対応するモータを駆動しない。オムニホイール111b、111dは、車輪外周方向に直交する方向においてもフリーローラが回転されるため左方向に回転する。かくして、オムニホイール111a、オムニホイール111cの駆動によって、移動部3は左右方向に移動可能になる。
ここで、「計測自動制御学会東北支部第268回研究集会(2011.11.26);全方向移動可能な小型加工ロボットの開発、大山他、日大」によれば、ステッピングモータの回転角をφ(deg)、車輪半径r(mm)、移動距離d(mm)、XY方向の直線移動距離dx(mm)、dy(mm)とすれば、「dx=2πr・φ、dy=2πr・φ、d=(dx2+dy2)1/2」より、X方向の移動とY方向の移動とを組みわせて、移動部3を任意の方向に移動可能できる。
前後左右の移動の組合せで旋回移動も可能となるが、特に旋回に注目した駆動制御の一例を説明すると、以下のようになる。図11(c)に示すように、オムニホイール111a、オムニホイール111b、オムニホイール111c、オムニホイール111dを矢印E方向に回転するように、ステッピングモータ112a、112b、111c、111dを駆動すると、基台50等で成る移動部3は「右旋回」する。
一方、図11(c)に示すように、オムニホイール111a、オムニホイール111b、オムニホイール111c、オムニホイール111dを、矢印Eの場合に対して総て反転駆動させ、点線矢印F方向に回転するようにステッピングモータ112a、112b、111c、111dを駆動すると、基台50等で成る移動部3は「左旋回」する。いずれも旋回中心はオムニホイール111a〜111dの平面視中心位置となる。かくして、オムニホイール111a、オムニホイール111b、オムニホイール111d、オムニホイール111dの駆動によって、移動部3は左右の旋回が可能となる。
以上のように、駆動制御部140によるモータ112a〜112dの駆動制御によって、移動部3の全方向移動および全方向回動(「中心軸」が回動中心となる)が可能になる。また、旋回動作においては、駆動パルス数と旋回量との関係を予め求めておきテーブル化して所要量の旋回をさせる駆動パルスを設定する等しておけば駆動系の制御アルゴリズムが簡素化される。
(頭部2の回動動作)
駆動制御部140は、モータ114を駆動することにより、頭部2を移動体1の「中心軸」を中心として回動させる(図2、図1参照)。駆動制御部140が、モータ114を正転制御すると、頭部2は中心軸を中心とし、上部から見て「時計回り」に回転する。一方、駆動制御部140が、モータ114を反転制御すると、頭部2は中心軸を中心とし、上部から見て「反時計回り」に回転可能に構成されている。かくして、駆動制御部140がモータ114に送る制御指令によって、頭部2の回転方向と回転量とを制御することが可能になる。
また、上述したように、移動体3の旋回動作により胴部4が「中心軸」を中心に回動され、その結果、頭部2が「中心軸」を中心に回動動作されるので、スピーカ201a、201bの位置を「中心軸」を中心として回動させることができる。したがって、回動機構5により頭部2を回動させて、スイートスポットを対象者に合わせて調整することに代えて、移動体3の左右旋回動作により、音像聴取可能エリアの存在位置を対象者に合わせて調整することも可能である。
但し、移動体1が自走のためのホイールを備えていない場合等には、頭部2の回動機構5を利用することにより、頭部2の回動動作(水平面内での首振り動作)を行うことにより、対象者に合わせた音像聴取可能エリアの存在位置の調整制御を行うことができる。
(制御部150)
図2に示す制御部150は、画像処理部120、測距部130、駆動制御部140、仮想音源生成部200、赤外線装置400、および、音声合成部300の動作を総合的に制御する。また、制御部150は、判定部160を備えており、判定部160は、測距部130、画像処理部120および赤外線装置400からのデータに基づいて、スイートスポット内に聴取者が位置するか否か等を判定する機能を有する。
以上説明してきた、画像処理部120、測距部130、駆動制御部140、仮想音源生成部200、音声合成部300、および、制御部150の動作は、CPU、DSP等のプロセッサと、プログラムを記録したROM(記録媒体)と、ワークエリアが形成されたRAMとで実現可能である。プロセッサは、記録媒体に記録されたプログラムを読み取って、ワークエリア等を使用しながら実行していくことにより各部を実現可能である。
(動作例)
(顔検出処理)
画像処理部120は、例えば以下のような「顔検出処理」を実行する。画像処理用エンジン126は、「(1)CCDカメラ125での画像を取り込み」、「(2)取り込み画像の中から顔らしい領域を切り出し」、「(3)切り出した領域に対してテンプレート照合を行い」、「(4)テンプレート照合の結果を判定して人検出を行う」。顔のみでなく耳、目等の顔部品用のテンプレートを照合対象として用意しておけば、顔検出の精度が向上する。かくして、人等を特定することができる。
(測距処理)
また、上述した測距部130による距離測定の他に、画素毎に距離を測定することも可能である。例えば、「(1)送信処理部134から赤外線を放射する」、「(2)物体(人を含む)で反射した赤外線を受信処理部138で受信する」、「(3)受信データの位相遅れから到達時間を求める」、「(4)到達時間から距離を求め距離画像イメージを取得する」、「(5)距離画像イメージの中で、顔検出処理で検出された顔に対応する画素の距離を取得する」、「(6)顔検出処理で検出された顔の画素からカメラに対応する顔の方向を求める」、等が挙げられる。
なお、取得画像から顔を検出する装置や距離画像を得るための装置の構成は公知であるため、詳細な装置構成については説明しない。距離画像を求めなくても、距離測定可能エリアと画像処理エリアと赤外線検出エリアとの平面的・立体的大きさを略同様に設定すれば、顔画像検出処理で人を「仮特定」し、赤外線装置400の出力により「仮特定」を「本特定」に変え、測距部130で得られる最初のエコー信号やドップラーシフトによってスイートスポット内に人が位置した場合、当該人までの距離が分かる。赤外線装置400の出力からその方向も分かる。このように、一の手法での測定を他の手法での測定により再確認することで、人検出、距離検出等の精度が向上する。
以上のようにして、「顔検出」、「検出された顔までの距離計測」、および「水平面内において、検出された顔までの頭部回転角)を求めることが可能となる。また、以上のような検出や特定は例えば判定部160が行うように構成されている。
(基本処理流れ図)
(動作例1)
図12は基本動作の説明図である。まず、図12(a)を参照して「動作例1」について説明する。ステップS1200で、制御部150は、画像処理部120を起動する。画像処理部120は、先に説明したような顔検出処理によって人(対象者)の検出をトライする。対象者が検出された場合、次に、ステップS1205において、制御部150は、音声合成部300を駆動して、対象者に対して移動体1に近づくことを促すメッセージを出力させる。この際、ディスプレイ500に当該メッセージを表示させる。
次に、ステップS1210において、制御部150は、測距部130を起動する。測距部130は、対象者までの距離を測定する。次に、ステップS1215において、制御部150は、駆動制御部140を制御する。これに応答して、駆動制御部140は、モータ114を回転駆動する。
モータ114の回転駆動により、頭部2が胴部4に対して回転する。例えば赤外線装置400の出力が最大となる方向に頭部2を向ける。かくして、対象者が、左右のスピーカ201a、201bを結ぶ直線の中点を通り、当該直線と直交する方向である「センター方向」に位置するようにする。そして、ステップ1220において、制御部150が仮想音源生成部200を起動する。仮想音源生成部200からの音声信号が左右1対のスピーカ201a、201bから放音されるので、対象者に対して音像を聴取させることが可能となる。
かくして、対象者をスイートスポット内に位置させることができる。しかも、対象者をセンター方向に位置させることができるので、音像を効果的に聴取させることができる。
図13(a)は、この動作を平面視で説明する説明図である。「M」は対象者、「R」は移動体1、「C」はセンター線、「斜線」でスイートスポットを示す。最初、対象者はスイートスポット内に位置していないが、頭部2の回転動作(符号「P」参照)によって、対象者をスイートスポット内に位置させ「聴取者」とさせることができる。しかも、対象者は「センター線」上に位置する。「センター線」とは、左右のスピーカ201a、201bを結ぶ直線の中点を通り、当該直線と直交する方向に位置する直線である。
また、対象者をセンター線上に位置させるためには、例えばCCDカメラ125による取得画像中における左右方向中心線上に、検出された顔の中心部が写るように、頭部2を左右回転すること等によっても実現できる。この例では、赤外線装置400の検出エリア、測距部130の測距エリア、画像処理部120の画像検出エリア等を、水平方向においても鉛直方向においても、スイートスポットよりも広めに設定している。
(動作例2)
次に、図12(b)の動作について「動作例2」について説明する。ステップS1250で、制御部150は、画像処理部120を起動する。画像処理部120は、人(対象者)の検出をトライする。対象者が検出された場合、次に、ステップS1255において、制御部150は、測距部130を起動する。測距部130は、対象者までの距離を測定する。
次に、ステップS1260において、制御部150は、駆動制御部140を制御してモータ112a〜112bを制御する。具体的には、制御部150は、駆動制御部140を制御し、対象者までの距離をR(m)とすると「R−1(m)」まで直進させる。つまり、対象者の手前まで移動体1を走行移動させる。
次に、ステップS1265において、制御部150は、駆動制御部140を制御して、センター線上に対象者が位置するように、頭部2を回転させる。そして、ステップ1270において、制御部150が仮想音源生成部200を起動する。仮想音源生成部200からの音声信号が左右1対のスピーカ201a、201bから放音されるので、対象者に対して音像を聴取させることが可能となる。かくして、対象者をスイートスポット内に位置させることができる。
図13(b)、図13(c)、図13(d)は、この動作を平面視で説明するための説明図である。最初、対象者は、スイートスポット内に位置していないが(図13(b)参照)、移動部3の移動(符号「Q」参照)によって、移動体1は対象者の手前まで近づく(図13(c)参照)。
そして、頭部2の回転動作(符号「S」参照)によって、対象者をスイートスポット内に位置させて「聴取者」とすることができる(図13(d)参照)。しかも、対象者は、「センター線」上に位置する。この場合にも、赤外線装置400の検出エリア、測距部130の測距エリア、画像処理部120の画像検出エリア等を、水平方向においても鉛直方向においても、スイートスポットよりも広めに設定している。
(動作例3)
次に、図12(c)の「動作例3」について説明する。動作例3は、仮想音源生成部200を常時起動する。そして、音像再生中において、その再生された音像のスイートスポット内に聴取者が位置する場合、当該聴取者が若干移動することを想定した動作例である。まず、ステップ1280において、制御部150は、画像処理部120を駆動する。画像処理部120は、人(対象者)の検出をトライする。顔検出に成功した場合、ステップ1285において、対象者に対して追従する追従制御を行う。
追従制御の具体例としては、制御部150は、画像処理部120による対象者の検出輪郭の中央位置が、取得画像の左右方向中心線上になるように、駆動制御部140を制御して、頭部2を左右方向に回動させる。また、制御部150は、赤外線装置400からの出力が常に最大になるように、駆動制御部140を制御して、頭部2を左右方向に回転させること等が挙げられる。このような追従制御を行うことによって、音像再生中に聴取者が若干移動しても、例えば頭部2の回動動作のみによって、当該聴取者を常にスイートスポット内に位置させることができる。なお、所定時間追従した後に他の動作を行うようにしておくのが、多数の人に対して音像を聴取させる上で好ましい。
以上説明したように、「動作例1」、「動作例2」、「動作例3」を組み合わせることによって、制御部150は、スピーカ201a、201bから放音される音像の聴取可能エリアの存在位置を対象者に合わせて調整制御するので、例えば、既に聴取者となった人には効果的に音像を聴取させることができるし、また、未だ聴取者になっていない人を聴取者とすることもできるので音像を有効活用することもできる。
つまり、駆動制御部140(回転駆動制御部)は、スピーカ201a、201bを固定した頭部2(回動部)の回動動作を駆動制御するので、左・右1対スピーカ201a、201bのセンター線上に聴取者を位置させて、音像を効果的に聴取させることが可能となる。
また、駆動制御部140(移動駆動制御部)は、頭部2、胴体部4を搭載した移動部3の移動動作を駆動制御するので、聴取可能エリアに位置しない人を聴取者として取り込んで、音像を有効利用することが可能になる。また、聴取可能エリア内に聴取者が位置するか否かを判定する判定部160を更に備え、制御部150は、判定部160の判定結果に基づいて、聴取可能エリアの存在位置を調整制御する。つまり、移動体1側が能動的(アクティブ)に移動して、聴取可能エリア外に位置する人を当該エリア内に位置させるようにするので、再生音像の有効利用が可能となり、例えば、テーマパークなどでデモンストレーンを行えばアトラクション効果を得ることができる。
また、動作例1、動作例2、動作例3を組み合わせる場合、各動作に移行する際に所定時間ウエイト状態にすることもできるし、各動作に移行する際に最初の移動体1の存在位置に戻らせると共に、頭部2の回転も反回転させて戻すようにしても良い。
(仮想音源生成部203)
図15は仮想音源生成部203の構成例である。仮想音源生成部203は、仮想音源生成部200をより具体的に構成したものである。仮想音源生成部203のクロストークキャンセル処理部230は、図9に示したものと同一構成である。仮想音源生成部203は、主として「(1)ドップラー信号処理部280が、再生部が再生した音声信号に対してドップラー効果を付加し、減衰処理部290が、距離に応じた減衰処理を施し」、「(2)畳み込み演算部295が、位置座標に応じた頭部伝達関数を畳み込み」、「(3)クロストークキャンセル処理部230が、「スピーカ位置−聴取者」間の伝達関数に基づいてクロストークを除去する」という処理を実行する。
また、図16は、仮想音源生成装置203の動作等の説明図であり、図中「R」は移動体1、「H」は聴取者を示す。また、聴取者Hの平面中央部を座標原点として、図16に示すような極座標系(r、θ、φ)、直交座標系(x,y,z)を設定している。なお、図16において、仰角または伏角となる「φ」を図示していないが、仮想音像を極座標(r、θ、φ)における任意の位置に定位することが可能である。符号Pは、極座標(r、θ、φ)における音像定位位置を示している(但し「φ」は図示していない)。
(ドップラー信号処理部280)
ドップラー効果は、仮想音源と聴取者との距離が変化する場合(換言すれば、両者間に相対速度変化がある場合)に生じる。ドップラー周波数「f」は、相対速度を「Vr」とすると、「f=f0・V/(V+Vr)」と表現できる。但し、「V」は音速度、「f0」は音声データの音の周波数である。「Vr」は両者が近づく場合には、「負」の値となる一方、両者が遠ざかる場合には、「正」の値になる。ドップラー信号処理部280は、仮想音源と対象者との相対速度に応じて、再生部215による再生音の周波数に対して、ドップラー周波数に対応するピッチシフトを施す。これにより、仮想音源が聴取者に対して速度を有して移動するように聞こえてリアル感が向上する。
また、ピッチシフトを施すことに代えて、仮想音源と対象者との間の距離に応じた「空間伝搬遅延」を与えることで、ドップラー効果を元音声に施すことを実現することもできる。つまり、仮想音源と対象者との間で相対速度が生じている場合、仮想音源と聴取者の距離が変化するので、「空間伝搬遅延」も変化することを利用する。例えば、仮想音源と聴取者との間の「遅延」に応じた遅延時間を音声データに付与する処理を行うことにより、あたかも仮想音源が速度を有して移動するようにリアルに聞こえる。
(減衰処理部290)
減衰処理部290は、仮想音源と聴取者との距離に基づいて「距離減衰係数」を算出する。例えば、点音源の場合には、「A」を減衰量として、「A=20×log10・(r/r0)」で距離減衰係数が求められる。図16に示すように、「r」は、音像定位位置から聴取者Hまでの距離であり、また、「r0」は、減衰量を0(db)とする基準距離である。減衰処理部290は、求めた距離減衰係数を、ドップラー信号処理部280からの出力信号に対して乗じる。
(畳み込み演算部295)
畳み込み演算部295は、減衰処理部290の出力信号に対して、予め設定されている「頭部伝達関数」を読み出して畳み込み演算を行う。「頭部伝達関数(HRTF)」は、仮想音源と聴取者の両耳間の伝達関数である。左耳用頭部伝達関数296は、左チャンネル信号に対する畳み込み演算用であり、また、右耳用頭部伝達関数297は、右チャンネル信号に対する畳み込み演算用である。両頭部伝達関数296、297は、音像定位位置が変化すると変わる。図16に示すように「θ」を設定すれば、例えば「0度」から「359度」まで「1度」おきに、両頭部伝達関数296、297を予め設定しておき、所要のものを読み出し畳み込み演算を行うように構成すればよい。
また、本実施形態においては、頭部2から一定距離でのHRTFで距離も表現するため、別途、ドップラー信号処理と減衰処理と、を行っている。つまり、本実施形態では、頭部伝達関数296、297は、同じ「θ」である場合、「r」の値を無限大にしても、頭部伝達関数は同じであることを着目してこれを利用する。
そして、クロストークキャンセル処理部230は、図16に「点線」で示すように、移動体1のスピーカ201aから聴取者Hの右耳へのパスと、スピーカ201bから聴取者の左耳へのパスとを除去する(図16の点線参照)。先にも述べたように、図16において、仰角または伏角となる「φ」を図示していないが、仮想音像位置を極座標(r、θ、φ)における任意の位置に定位することが可能である。つまり、点Pを任意の位置にすることが可能となる。
以上のように、図15に示す音像生成装置203によれば、ドップラー信号処理部280が音像移動を表現し、減衰処理部290が距離に応じた音信号の減衰を表現するので、あたかも実世界の環境下に音源が存在するかのように、聴取者に音像を一層リアルに聴取させることが可能となる。
また、例えば、仮想音源生成部200に音像定位部220、クロストークキャンセル処理部230を内蔵せずに、音像定位処理やクロストークキャンセル処理済みの音声データを再生することによって、仮想的な音像を生成する構成とすることも可能である。
(他の実施形態)
頭部2の正面視または平面視の左右にスピーカ201a、201bを設けた移動体1の正面方向に聴取者Hが存在する場合、演出等で頭部2を回動させると、スイートスポット(音像聴取可能エリア)が聴取者Hから外れるため、音響効果が低下する。頭部2が回動した場合、本来であれば、スピーカ201a、201bの位置と、聴取者Hの位置とに基づいて、スピーカ−聴取者H間の空間的な伝達関数に応じたクロストークキャンセル処理部230の構成を採用しなければならないが、新たな構成を採用するのは面倒である。
そこで、本実施形態では、クロストークキャンセル処理部230の構成をそのままとして、頭部2の回動程度に応じて、クロストークキャンセル処理部230の出力信号に対して、「遅延量」、「ゲイン量」を制御することにより、音響効果を維持する点に特徴がある。これは、回動角度が左右25(度)程度までの回動動作に対して特に有効であることを聴取確認している。
また、「呼吸」を模して、常時、移動体1の頭部2を回動させたり、胴体部4を回動させたり、腕を設けて動かしたりする際には、特に有効である。
(模式的説明図)
図17は、本実施形態の原理の模式的説明図である。図17の下側には、聴取者Hが移動体1の正面方向を見て存在する。また、図17の上側には、移動体1の頭部2のみを平面視した様子を示しており、頭部2の左右には、スピーカ201a、201bが設けられている。移動体1の正面方向は、聴取者Hの正面方向を向いて、聴取者Hと対峙している。なお、図17において、便宜上、スピーカ201a、201bを黒丸で図示している。
また、頭部2の回動中心Oを通り、図中の左右方向をx軸とし、図中の前後方向をy軸として2次元座標系を設定している。さらに、頭部2が、聴取者Hの真正面を見る方向を「基準方向」として、「基準方向」から時計回りの回転角度を「θ」としている。基準方向から時計回り方向を「正」、基準方向から反時計回り方向を「負」とする。
頭部2の基準方向においては、スイートスポットSSが、聴取者Hの正面方向を向いており、聴取者Hは、スイートスポットSS内に位置するので、上述してきた音響効果を得ることができる。なお、スイートスポットSSは、模式的に図示しており、実際には近すぎても音響効果を得ることはできない。
図17では、頭部2が回動中心Oを中心として時計回りする場合を想定している。頭部2の平面視の対称性から、時計回りで考える議論は、反時計回りでも同様に適用できる。今、頭部2が回動中心Oを中心として、「θ(度)」時計回りすると想定する。
この時、図17に示す「2・Δx」は、両スピーカ201a、201bの「x」方向の距離差であり、「2・Δy」は、両スピーカ201a、201bの「y」方向の距離差である。
また、図18(a)は、頭部2とこれに設けられた一対の左右のスピーカ(図17におけるスピーカ201a、201b:黒丸で図示)の部分を拡大した模式的説明図である。頭部2がθ度時計回りに回転すると、左側のスピーカ(図17では201b)は、点al1から点al2に移動する。この際、左右方向(「横方向」とも記す)には、点al1から点bl(Δx)まで移動し、前後方向(「縦方向」とも記す)には、点blから点al2(Δy)まで移動する。
同様に、右側のスピーカ(図17では201a)は、点ar1から点ar2に移動し、この際、左右方向(横方向)には点ar1から点br(Δx)まで移動し、前後方向(縦方向)には、点brから点ar2(Δy)まで移動する。
ここで、左右のスピーカの間隔の半分を「r」とすると、「Δx=r・(1−cos(θ(deg)・π/180))」、「Δy=r×sin(θ(deg) ・π/180)」となる。横方向、縦方向では両スピーカ間の距離差は2倍(2・Δx、2・Δy)となる。
今、両スピーカの間隔をSPI(Speaker Interval)とすると、「2・Δx」、「2・Δy」は、「2・Δx=(SPI/2)×(1−cos(θ(rad)))×2=SPI×(1−cos(θ(deg)・π/180))」、「2・Δy=(SPI/2)×sin(θ(rad))×2=SPI×sin(θ(deg) ・π/180)」となる。
ここで、図18(b)は、SPIを「20(cm)」とした場合における、頭部2の回転角度θに対する両スピーカの左右方向(横方向)と前後方向(縦方向)の距離差の変化(変化距離)を示す。「実線」は、横方向の距離変化、「点線」は縦方向の距離変化を示している。
回転角度θを−30(度)から+30(度)まで変化させた場合、縦方向の距離変化は、−5(cm)から+5(cm)まで略リニアに変化する。これに対して、横方向の距離変化は最高でも+1.2(cm)である。このように、縦方向における両スピーカの距離変化に対して、横方向における両スピーカの距離変化が極めて小さい。
図19(a)は、聴取者Hから見た「スピーカ角度」の定義の模式的説明図である。図19(a)に示すように、聴取者Hの中心と、θの変化に伴うスピーカ位置とを結ぶ直線が、聴取者Hの中心とθ=0(度)のスピーカ位置とを結ぶ直線とのなす角度を、「聴取者Hから見たスピーカ角度」として求めることを示している。
また、図19(b)は、スピーカ−聴取者H間の距離を80(cm)とした場合における、スピーカ角度とθとの関係図である。図19(b)を参照すれば分かるように、θが25(度)以下であると、「スピーカ角度」は1(度)未満となり極めて小さいため、両スピーカ−聴取者H間の空間的な伝達関数の変化は、音像の到達時間の変化を除き無視し得る程小さい。
一方、頭部2の回動によって生じる縦方向における、左右スピーカ201a、201b間の距離差から発生する、聴取者Hへの音像の到達時間の変化は無視できない。以上の事から、Δxは、Δyに対して極めて小さいため、Δxは、誤差と捉え、Δyの影響のみを考慮する。
図20は、頭部2の回転角度θに対する、両スピーカから聴取者Hまでの音像の到達時間差の変化を示している。θの増加に応じて、到達時間差がリニアに増加している。例えば、θ=25(度)の場合、縦方向左右スピーカ距離差Δyは「4.22(cm)であるので、到達時間差は、「0.248(ms)」である。
θの変化に応じて変化する到達時間差は、遅延部によって補正する。例えば、サンプリング周波数「48(kHz)」であると、「0.000248(sec)1/48000)=11.904≒12」となる。図17、図18等を参照すると、この場合には、頭部2が時計回りに回転するので、左スピーカ201bが聴取差Hから遠ざかり、右スピーカ201aが聴取者Hから近づくので、左側信号に対して12サンプル分の遅延を施せば良い。
したがって、左スピーカ201bからの音響信号を、右スピーカ201aからの音響信号に対して、12サンプル分遅延させることにより、スイートスポットSSから聴取者Hが外れても、立体感のある音響効果を得ることができる。たとえ、聴取者HからスイートスポットSSが外れても、θ=0(度)に近似することができるので、あたかもスイートスポットSSが外れていないような音響効果を得ることができる。
このようにして、図17に示すように、スイートスポットSSが、基準方向から符号L方向に回転して、聴取者Hから外れても、聴取者Hは、立体感のある音響効果を得ることができる。
以上は、頭部2が、基準方向から時計回りに回転する場合について説明してきたが、頭部2が、基準方向から反時計回りに回転する場合(「θ」が負の場合)についても、同様に、両スピーカの距離差(到達時間差)を補正することが提案される。「θ」が負の場合、例えば、スイートスポットSSが、図17の符号Rで示すように反時計回りに回転して、聴取者HがスイートスポットSSから外れるが、「θ」が正の場合と同様に、両スピーカ間の距離差(到達時間差)を考慮すれば良い。
以上を纏めると、左右一対のスピーカを搭載する頭部2が回動すると、聴取者Hと両スピーカの距離、角度が変化するので、本来であるならば、変化後の空間的な伝達関数(両スピーカ−聴取者H間)に応じたクロストークキャンセル処理部230の構成を求めなければならない。また、頭部2の基準方向(聴取者Hの正面方向)からの回動角度が特に「±25(度)」程度であれば、聴取者Hから見た、両スピーカの距離差(到達時間差)は大きくなる。
そこで、クロストークキャンセル処理部230が、基準方向(頭部2が聴取者Hの正面を向く方向)に対応したものを採用し、採用したクロストークキャンセル処理部230からの出力信号に対して、頭部2の回動角度に応じて、遅延による距離補正、ゲインによる音量補正を行うことによって、頭部2の回動によって聴取者HからスイートスポットSSが外れたとしても、頭部2の回転が無いθ=0(度)の状態に近似することができるので、聴取者Hに対して音響効果を維持することができる。
ここで、ゲイン制御を行うのは、距離差に応じた音波の減衰を考慮するものである。一例として、前述した減衰処理部290と同様に、両スピーカ201a、201bの距離差に応じた「距離減衰係数」を算出して、これを乗じれば良い。一例として、点音源の場合には、「A」を減衰量として、「A=20・log10・(r/r0)」で距離減衰係数が求められる。「r」は、両スピーカ201a、201bの距離差であり、「r0」は、減衰量を0(db)とする「基準距離」であるので、θに対して求まった縦方向の距離差「2・Δx」をAに代入して音波の距離減衰係数を求めることができる。実際には、ゲインAは、クロストークキャンセルの効果を知覚し易い1〜4(kHz)程度の左右音量差が少なくなる様に実測して求める。
一例として、θが正の場合、左スピーカは遠ざかるので、ゲインとして「20・log10・((r0+Δy)/r0)(dB)」、右スピーカは近づくので、「20・log10・((r0−Δy)/r0)(dB)」を乗算する。
(基本構成:仮想音源生成部204)
仮想音源生成部204は、立体的な音像を生成定位する機能を有する。その出力段には、D/A変換部202と、左右1対のスピーカ201a、201bとが接続される。
図21は、本実施形態の仮想音源生成部204の構成図である。仮想音源生成部204は、メモリ205と、再生部215と、音像定位部220と、クロストークキャンセル処理部230と、補正部250とを有する。メモリ205には、予め1以上の再生データが記録されている。
再生部215は、メモリ205に記録されている再生データを読み出し再生して、音像定位部220に送る。音像定位部220は、送られてきた再生データを用いて、音像を定位させる音像定位処理を行う。クロストークキャンセル処理部230は、音像定位情報に基づいて、クロストークを除去するクロストークキャンセル処理を行う。
補正部250は、遅延部252、254と、ゲイン部256、258とを有する。遅延部252は、クロストークキャンセル処理部230から出力された右スピーカ用信号に対して、頭部2の回転に応じた遅延を与える。一方、遅延部252は、クロストークキャンセル処理部230から出力された左耳用信号に対して、頭部2の回転に応じた遅延を与える。ゲイン部256は、遅延部252の出力信号に対してゲイン調整を行う。一方、ゲイン部258は、遅延部254の出力信号に対してゲイン調整を行う。
遅延部252、遅延部254、ゲイン部256、および、ゲイン部158の動作は、制御部150からの制御指令に応じて決定される。制御部150は、図20に示す関係を参照して、回転角度θに対する到達時間差を算出する。θが正の場合には、右スピーカ201aの方が聴取者Hに近づくため、右信号用の遅延部252に対して、到達時間差だけ遅延するように指示を与える。これにより、遅延部252が、自身への入力信号を、制御部100により指示された到達時間差だけ遅延させる。この結果、左右の音像の到達時間が揃う。
一方、θが負の場合には、左スピーカ201bが聴取者Hに近づくため、左信号用の遅延部254に対して、到達時間差だけ遅延するように指示を与える。これにより、遅延部254が、自身への入力信号を、制御部100により指示された到達時間差だけ遅延させる。この結果、左右の音像の到達時間が揃う。
また、θが正の場合には、制御部150は、遅延部252からの出力信号を入力するゲイン部256に対して、回転角度に対応する距離差に応じたゲイン係数A(Aは先に説明した減衰量)を乗じるように指示を与える。具体的には、θが正の場合、ゲイン部256は、右スピーカは近づくので、「20・log10・((r0−Δy)/r0)(dB)」をゲインとして乗じる。一方、ゲイン部258は、θが正の場合、左スピーカは遠ざかるので、ゲインとして「20・log10・((r0+Δy)/r0)(dB)」を乗じる。これにより、音量補正が実行される。回転角度に対応する距離差に応じたゲイン係数は、頭部2の回転角度θの回転により生じた距離差で定まる係数であり、例えば、距離差の対数関数として定義しておけばよい。
同様にして、θが負の場合には、遅延部254からの出力信号を入力するゲイン部258に対して、到達時間差に対応する距離差に応じたゲイン係数を乗じるように指示を与える。これにより、ゲイン部258が、自身への入力信号に対して、制御部100により指示されたゲイン係数を乗じて、音量補正を行う。
以上のように補正部250によって音像の信号が補正されて、両スピーカ201a、201bから放音される音像は、聴取者Hで音響効果を奏する。これは、たとえ、頭部2が回転角度θ(θ≠0)の回転をしても、頭部2の回転角度が「θ=0(度)」の状態に近似することができるので、スイートスポットSSが聴取者Hから外れても、近似的に外れていない状態を維持できるからである。
なお、仮想音源生成部204内部に、仮想音源生成部独自の制御部を設けた構成としても良く、この際には、制御部150および/または駆動制御部140等から、頭部2の基準方向からの回動角度に関する情報等を得るように構成すれば良い。
(具体的構成)
図22は、仮想音源生成部204の構成図である。仮想音源生成部204は、入力音響信号に基づいて、所望の方向に音源を定位して2チャンネルの右スピーカ用信号(X2)と左スピーカ用信号(X1)とを生成する音像定位部220と、クロストークをキャンセルするクロストークキャンセル処理部230と、補正部250と、左右のスピーカ201a、201bとを有して構成される。
音像定位部220は、フィルタ01(210)とフィルタ02(211)とを有して構成され、両フィルタの出力が、右スピーカ用信号、左スピーカ用信号となる。フィルタ01(210)とフィルタ02(211)の伝達関数は、所望の方向および距離での音像定位を行うための「頭部伝達関数」が予め測定や生成され、それらが組み込まれている。
フィルタ01(210)、フィルタ02(211)がFIRフィルタで構成されている場合には、入力された入力音響信号に対してフィルタ係数との畳み込み演算を行って、右スピーカ用信号、左スピーカ用信号を生成する。
また、クロストークキャンセル処理部230においては、フィルタ11(220)とフィルタ12(225)とが右スピーカ用信号の供給を受けるように構成される。フィルタ12(225)の出力は、乗算器260により係数値(α)が乗じられ、この乗算結果は、加算器245に入力される。同様に、フィルタ13(226)とフィルタ14(235)とが、左スピーカ用信号の供給を受けるように構成される。フィルタ13(226)の出力は、乗算器270により係数値(α)が乗じられ、この乗算結果は加算器240に入力される。
加算器240は、乗算器270の乗算結果と、フィルタ11(220)の出力とを加算して右チャンネル出力信号を生成し、これを補正部250に供給する。遅延部252は、この生成された右チャンネル出力信号に対して遅延を与え、ゲイン部256は、遅延部252により遅延された信号に係数を乗じる。ゲイン部256は、その出力を右スピーカ201aに供給する。
一方、加算器245は、乗算器260の乗算結果とフィルタ14(235)の出力とを加算して左チャンネル出力信号を生成し、これを補正部250に供給する。遅延部254は、この生成された左チャンネル出力信号に対して遅延を与え、ゲイン部258は、遅延部254により遅延された信号に係数を乗じる。ゲイン部258は、その出力を左スピーカ201bに供給する。かくして、両スピーカ201a、201bからは所望の音が放音される。
前述したように、乗算器260、乗算器270は、係数値が共にαであり、αが「0」の場合、クロストークキャンセルが行われず、αが「1.0」の場合には完全なクロストークキャンセルが行われるので、乗算器260、270は、クロストークキャンセル量を調整する機能を有する。
このようにして、仮想音像生成部204を実現することができるが、構成例は、これに限られず、音像を定位してそのクロストークを除去する音響装置であれば本発明に適用可能である。また、音像定位部220とクロストークキャンセル処理部230とを実装せずに、既に、音像定位処理とクロストークキャンセル処理とを済ませてある音声データを再生する構成とすることも可能である。
(補正部の具体例)
図23は、補正部250の具体的な構成図である。図23は、クロストークキャンセル処理部230から出力される右スピーカ用信号または左スピーカ用信号に対する補正部250の構成例である。頭部2が音を発しながら回転する場合、その回転角度θに応じて、遅延時間も連続的変化させなければ、遅延サンプルが変化する時点で不連続ノイズが発生する。遅延処理をデジタル処理で実行する場合、遅延時間は離散して不連続になるので、遅延部に補間処理を加える必要がある。
遅延時間(到達時間差)をサンプリング周波数に応じて遅延サンプルに変換すると、小数点以下の数が生じる。小数点以下の数に応じて補間処理を行うことにより、遅延結果に不連続が発生しなくなる。補間方法は、様々であるが、単純な線形補間は次式で表される。
図23において、「D: 遅延時間から算出された遅延サンプル」、「Di: 遅延サンプル整数部」、「Dd: 遅延サンプル小数部」、「a(): 遅延部出力」、「b():補間された遅延サンプル」とすると、次式が成立する。「b=(a(Di)・(1−Dd)+a(Di+1)・Dd)/2」となる。
これによれば、遅延部2520、遅延部2540はそれぞれ、自身への入力信号を「Di」、「Di+1」遅延させる。つまり、一方の遅延部の遅延量を他方の遅延部の遅延量より1サンプル分多い量とする。また、ゲイン部256、ゲイン部258はそれぞれ、自身への入力に対して係数「1−Dd」、「Dd」を乗じる。両係数「Dd」、「1−Dd」の和は、「1」であり、遅延部2520、遅延部2540の出力に対する重み付けとなっている。つまり、ゲイン部2560、2580は、係数を調整して補間処理を行っている。そして、加算部2570により、ゲイン部2560、2580の出力を加算し、乗算部2580により「1/2」を乗じることにより、補間処理がされる。
例えば、回転角度θが15度の場合、スピーカ201a、201bは、縦方向に「2.59(cm)」移動し、左右スピーカ201a、201bの距離差は、2倍の「5.18(cm)」であるので到達時間差は、「0.15(ms)」、遅延サンプル(D)は、「7.3サンプル」となる。
遅延サンプルの整数部(Di)では、「7」、小数部(Dd)は「0.3」であるので、遅延部2520において「7サンプル」分の遅延を与え、ゲイン部2560によって、係数「1−Dd=1−0.3」を乗じる。また、他方の遅延部2540では、「Di+1=7+1=8」より8サンプル分の遅延を与え、ゲイン部2560によって、係数「Dd=0.3」を乗じる。
そして、ゲイン部2560、2580の出力信号を加算し、乗算部1580は、加算結果に「1/2」を乗じるので、上述した補間処理された「b」が補正部250より出力される。
例えば、制御部150は、図20等を参照して回転角度θに対応する到達時間差を求め、求めた到達時間差に応じた遅延サンプル数Diを計算し、この情報を遅延部2520、2540に送ることによって、遅延部2520、2540が、それぞれ、遅延を与えることができる。また、例えば、制御部150は、図20等を参照して回転角度θに対応する到達時間差を求め、求めた到達時間差に応じた遅延サンプル数Diを計算し、Diの小数部であるDdの情報を、ゲイン部2560、2580に送ることによって、それぞれに係数を与えることができる。
以上によれば、不連続ノイズの発生を防止した状態で、聴取者HからSSが外れても音響効果を維持することが可能になる。また、図23は、補間処理を実行可能な補正部250の一例を示したに過ぎない。