[0001]本発明は、ユーザの手に把持されるコントローラ装置、及びその制御方法に関する。背景技術[0002]家庭用ゲーム機等に接続されるコントローラ装置は、近年ますます高機能化しており、触覚提示デバイスやスピーカー等、多様なデバイスが搭載されるようになってきている。発明が解決しようとする課題[0003]こうした高機能化を背景として、コントローラ装置に搭載された種々のデバイスを個別に制御する処理に限らず、複数のデバイスを組み合わせて用いる制御も考えられている。[0004]しかしながら、複数のデバイスを組み合わせて制御する場合に、各デバイスの特性を考慮せずに制御を行うと、意図しない動作が行われてしまう場合がある。[0005]本発明は上記実情に鑑みて為されたもので、意図しない動作を避けて複数のデバイスを組み合わせた制御を行うことのできるコントローラ装置、及びその制御方法を提供することを、その目的の一つとする。課題を解決するための手段[0006]上記従来例の問題点を解決する本発明の一態様は、ユーザの手に把持されるコントローラ装置であって、マイクと、ユーザの手に触覚を提示する触覚提示デバイスと、スピーカーとを含み、前記マイクからユーザが音声を入力している間は、前記スピーカーの鳴動を抑制し、前記触覚提示デバイスによる触覚提示制御を行うこととしたものである。発明の効果[0007]本発明によると、意図しない動作を避けて複数のデバイスを組み合わせた制御を行うことが可能となっている。本発明の実施の形態に係るコントローラ装置の概要を表す平面図である。本発明の実施の形態に係るコントローラ装置の構成例を表すブロック図である。本発明の実施の形態に係るコントローラ装置の例を表す機能ブロック図である。発明を実施するための形態[0009]本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係るコントローラ装置1は、図1に例示するように、ユーザが両手で把持可能なものである。このコントローラ装置1は、把持部11L,11R(以下、双方をまとめて説明するときには把持部11と記す)と、本体部12とを含む。ここで把持部11L,11Rは、コントローラ装置1の筐体の左右にそれぞれ設けられ、ユーザが通常の状態でコントローラ装置1を操作するときに、左手と右手のそれぞれで把持される。ユーザが把持部11をそれぞれの手で把持した状態で、ユーザの左右の手の親指がそれぞれ到達する本体部12上の位置には、傾倒操作可能なジョイスティック13L,13R、並びに複数のボタン14が配されている。[0010]また、本体部12の奥側の側面にはユーザが把持部11をそれぞれの手で把持した状態で、ユーザの左右の手の人差し指または中指が到達する位置に、スイッチ15L,15Rが配されている。これらのジョイスティックやボタン、スイッチの構成及び配置は一例であり、このコントローラ装置1には、さらに他のスイッチやボタン等が配されていてもよい。[0011]また本実施の形態の以下の説明において、コントローラ装置1自身、またはその各部の大きさやその比、配置等は一例であり、本実施の形態のコントローラ装置1及びそのボタン等の各部は、図示等した大きさや比率、配置のものに限られるものではない。[0012]このコントローラ装置1は、また、図2に例示するように、その内部に制御部21と、マイク入力部22と、スピーカー23と、触覚提示デバイス24と、インタフェース部25と、通信部26とを含む。本実施の形態では、このコントローラ装置1は、家庭用ゲーム機等の情報処理装置2に対して通信可能に接続されている。[0013]制御部21は、マイクロコンピュータ等であり、内蔵するメモリに格納されたプログラムに従って動作する。このプログラムは、通信部26を介してコントローラ装置1から入力される指示により書き換えられてもよい。この制御部21が内蔵するメモリは、制御部21の実行中に記憶する必要のあるデータを保持するワークメモリとしても動作する。この制御部21の詳しい動作は後に説明する。[0014]マイク入力部22は、マイク22M及び、A/Dコンバータ22Cを含んで構成される。このマイク入力部22は、マイク22Mを介して入力された音声の信号(振動波形)を電気的信号に変換し、さらにディジタル値に変換して制御部21に出力する。本実施の形態のある例では、マイク22Mは本体部12の手前側(ユーザがコントローラ装置1を把持したときに手前側となる位置)に配される。[0015]スピーカー23は、制御部21から入力される指示に従って音声を鳴動する。触覚提示デバイス24は、例えばVCM(ボイスコイルモータ)等を含んで構成され、制御部21から入力される指示に従い、指示された振動波形に従って振動を生じさせ、コントローラ装置1を把持するユーザに触覚を提示する。本実施の形態の一例では、この触覚提示デバイス24L,24Rは、把持部11L,11R内にそれぞれ一つずつ配される。以下の説明において、これら触覚提示デバイス24L,24Rを区別する必要がない場合(双方を同様の波形情報で制御する場合など)には、L,Rの表記を省いて、触覚提示デバイス24と表記する。[0016]インタフェース部25は、ジョイスティック13やボタン14、スイッチ15等に接続され、これらに対して行われた操作の内容を表す信号を制御部21に出力する。Bus)等の無線または有線通信を行うインタフェースであり、情報処理装置2との間で通信を行い、情報処理装置2から受信したデータ等を制御部21に出力する。制御部21が出力する指示に従って、指示されたデータ等を、情報処理装置2に対して出力する。[0018]次に、本実施の形態の制御部21の動作について説明する。本実施の形態の制御部21は、機能的には、図3に例示するように、操作受入部31と、通信制御部32と、指示取得部33と、データ制御部34と、音声入力部35と、音声出力制御部36と、触覚提示制御部37とを含んで構成される。[0019]操作受入部31は、インタフェース部25を介してジョイスティック13等に対して行われたユーザの操作の内容を表す信号を受け入れて、通信制御部32に出力する。[0020]通信制御部32は、操作受入部31から入力されたユーザの操作の内容を表す信号を、情報処理装置2に対して送信する。この通信制御部32は、情報処理装置2から受信したデータ等を指示取得部33に出力する。通信制御部32は、後に説明するデータ制御部34から入力されるデータを、情報処理装置2に対して送信する。[0021]指示取得部33は、情報処理装置2から受信したデータに含まれる指示を取得する。ここで取得される指示は、音声鳴動指示や、触覚提示の指示等を含む。音声鳴動指示には、出力するべき音声の波形を表す波形情報が含まれる。同様に、触覚提示の指示には、提示するべき触覚を表す波形情報が含まれる。[0022]データ制御部34は、指示取得部33が取得した波形情報等を、音声出力制御部36と、触覚提示制御部37とのどちらに出力するか(あるいは双方に出力するか)を制御する。このデータ制御部34は、音声入力部35からデータの入力を受け入れて、当該データを、通信制御部32に出力するか、ワークメモリに保持するか、または、音声出力制御部36と触覚提示制御部37とのどちらに出力するか(あるいは双方に出力するか)等の制御を行う。[0023]さらに本実施の形態では、このデータ制御部34は、予め定められた条件に応じて、波形情報の出力先を制御し、あるいは波形情報に対してフィルタ(ローパスフィルタ等)を適用する処理を行う。このデータ制御部34の動作については後に例を挙げて説明する。[0024]音声入力部35は、マイク入力部22が出力する音声信号を受け入れてデータ制御部34に出力する。音声出力制御部36は、データ制御部34から波形情報の入力を受け入れると、当該波形情報をアナログ信号に変換し、当該アナログ信号によりスピーカー23を鳴動制御する。[0025]触覚提示制御部37は、データ制御部34から波形情報の入力を受け入れると、当該波形情報に従ってボイスコイルモータ等の触覚提示デバイス24を制御し、ユーザに触覚を提示する。[0026][制御例]次に本実施の形態のコントローラ装置1における制御の例について説明する。以下では、(1)音声をマイクから入力する際の処理例(2)入力された音声を利用した処理(3)スピーカーと触覚提示制御とを同時的に行う制御(4)操作入力としての音声入力(5)音声入力による設定の各処理について順次、説明する。[0027][(1)音声をマイクから入力する際の処理例]本実施の形態のこの例では、ユーザが、音声をマイク22Mから入力する場合について説明する。コントローラ装置1の制御部21は、例えばユーザが音声入力を行う旨を表す予め定められた操作を行うと、当該操作が行われている間、マイク入力部22から入力される信号を受け入れて、当該信号をメモリに記録する。[0028]このようにユーザが音声入力を行う旨を表す操作を行っている間、つまりマイク22Mからユーザが音声を入力している間は、制御部21は、データ制御部34の動作として、スピーカー23の鳴動を抑制するよう制御する。情報処理装置2から受信した、音声鳴動指示に係る波形情報を音声出力制御部36に出力せず、スピーカー23を鳴動しないよう制御する。[0029]一方制御部21は、触覚提示デバイス24による触覚提示制御は実行する。制御部21はデータ制御部34の動作として、情報処理装置2から受信した、触覚提示指示に係る波形情報を、触覚提示制御部37へ出力する。[0030]またこのとき制御部21は、データ制御部34の動作として、情報処理装置2から受信した、音声鳴動指示に係る波形情報を触覚提示制御部37へ出力し、鳴動するべき音声を表す波形情報を触覚として提示することとしてもよい。情報処理装置2から触覚提示指示を音声鳴動指示とともに受信している場合は、制御部21は、音声鳴動指示に係る波形情報と触覚提示指示に係る波形情報とを加算した波形情報を生成し、当該加算後の波形情報を、触覚提示制御部37へ出力し、音声鳴動指示と触覚提示指示との双方に係る振動を触覚として合わせて提示してもよい。[0031]さらに制御部21は、データ制御部34の動作として、マイク22Mからユーザが音声を入力している間は、触覚提示デバイス24が提示する触覚を表す振動波形に対し、ローパスフィルタを適用してもよい。この例では制御部21は、触覚提示制御部37へ出力する波形情報に対してローパスフィルタに相当するデータ処理を実行する。このようなディジタルデータにおけるローパスフィルタの処理は、FIRディジタルフィルタとしての処理により実現でき、広く知られているので、ここでの詳しい説明を省略する。[0032]この例では、ローパスフィルタを適用した後の振動波形に基づいて触覚提示デバイス24が制御されることとなる。上述の例のように、音声鳴動指示に係る波形情報を触覚提示制御部37へ出力する場合は、この音声鳴動指示に係る波形情報にのみ、ローパスフィルタに相当するデータ処理を実行することとしてもよい。[0033]本実施の形態のこの例によると、ユーザが音声入力をしている間、スピーカー23の鳴動が抑制される。これにより、スピーカー23の鳴動音がマイク22Mから入力しているユーザの音声に混ざってしまうことがなくなる。[0034]なお、マイク22Mと触覚提示デバイス24との配置にも依存するが、触覚提示デバイス24の振動は、コントローラ装置1の把持部11を振動させてユーザに触覚を提示するものであり、一方マイク22Mは本体部12に備えられることとすれば、この触覚提示デバイス24の振動は、マイク22Mに拾われにくい。そこでこのような場合は、制御部21は、触覚提示デバイス24の振動についてはそのまま提示する。触覚提示デバイス24が提示する振動を、ローパスフィルタを適用して処理することとしてもよい。このようにすると、触覚提示デバイス24が提示する振動は、マイク22Mにさらに拾われにくい特性を備えることとなる。[0035]また触覚提示デバイス24の振動がマイク22Mに拾われる場合は、スピーカー23の場合と事情が異なる。触覚提示デバイス24はコントローラ装置1の周囲の空気をあまり振動させないので、その振動は空気の振動を介してマイク22Mに到来するのではなく、主に、コントローラ装置1の筐体の振動を介してそのままマイク22Mに到来することとなる。[0036]そこで制御部21は、マイク入力部22から入力される音声信号から、触覚提示制御部37に対して出力した波形情報を、予め定めた大きさだけ減衰させたうえで(振幅を小さくするよう制御したうえで)減算することとしてもよい。これにより、マイク22Mを介して入力される音声信号から、触覚提示デバイス24の振動による成分を除去できる。上記減衰量は、例えば実験的に定めることとする。[0037]さらに、ここでの例では、マイク22Mからの音声入力の際には、ユーザが所定の操作を行うこととしていたが、本実施の形態はこれに限られず、例えばマイク22Mに、予め定めた大きさを超える音声信号が入力されている間、マイク22Mからユーザが音声入力をしているとして、上記の処理を行うこととしてもよい。[0038][(2)入力された音声を利用した処理]また本実施の形態の制御部21は、マイク入力部22から入力される音声信号を利用して次のような処理を行ってもよい。[0039]制御部21は、例えばメモリに保持した、音声信号を表す波形情報を、ユーザの指示操作に応じて触覚提示デバイス24に出力して、触覚として提示させることとしてもよい。ユーザは、自分の発した声など、録音した音声を触覚として感じたり、提示させたりといったことができるようになる。[0040]また制御部21は、当該メモリに保持した音声信号を表す波形情報を、触覚を表す波形情報として情報処理装置2に送信してもよい。2は、他の情報処理装置2や、他のコントローラ装置1に当該波形情報を送出する。この波形情報は、当該他の情報処理装置2に接続されたコントローラ装置1等、他のコントローラ装置1において触覚制御デバイス24の制御に用いられてもよい。[0041]さらに制御部21は、ユーザのボタン等の操作に応じて、メモリに保持した音声信号を、ピッチを変更し、当該ピッチを変更した音声信号の表す波形情報を、スピーカー23を介して鳴動する、あるいは、触覚提示デバイス24に出力することとしてもよい。[0042]この例によると、例えばボタンごとに異なる音程となるよう、各ボタンが押下されたときのピッチの変更量を異ならせることで、メモリに保持した音声信号により例えばメロディーを奏でるといった動作が可能となる。[0043]またこのとき、制御部21は、マイク22Mに入力される音声信号の大きさを検出して、ピッチを変更した音声信号の表す波形情報を、当該検出した音声信号の大きさにより制御して、検出した音声信号が大きいほど波形情報の振幅が大きくなるよう補正して、スピーカー23を介して鳴動する、あるいは、触覚提示デバイス24に出力することとしてもよい。[0044]この例によると、マイク22Mに対する息の吹きかけ量に応じて音声が大きくなったり、振動が大きくなったりといった制御が行われることとなり、あたかも笛やオカリナのような楽器を演奏しているかのような演出が可能となる。[0045]なお、制御部21は、例えばユーザが想定している楽器の種類を選択させ、当該選択された種類の楽器に応じて、上記ピッチの変更量や、息の吹きかけ量に応じた波形情報の振幅制御量を異ならせてもよい。[0046]この場合制御部21は、情報処理装置2に対して、楽器の種類を選択させるためのユーザインタフェースを表示出力するよう指示を出力してもよい。ユーザがこのインタフェースに対して操作を行うと、当該操作の内容に応じて楽器種類の選択を受け入れる等の制御を、制御部21が実行する。ここでは情報処理装置2からの制御を受けることなく、制御部21が主体的に動作して(情報処理装置2をユーザインタフェースの表示処理装置として使用して)、種々の情報の受け入れや、各種の制御を行ってもよい。[0047][(3)スピーカーと触覚提示制御とを同時的に行う制御]また本実施の形態のコントローラ装置1は、情報処理装置2から入力される指示に従って音声を鳴動する等の処理を行っているが、このとき、音声鳴動指示を受けた制御部21は、データ制御部34の動作として、当該受信した音声鳴動指示に係る音声信号を表す波形情報を、音声出力制御部36に出力するとともに、触覚提示制御部37へも出力してもよい。[0048]この例では、ユーザは例えばゲーム等処理においてサウンドエフェクトを音声として聞き取ることとなるとともに、コントローラ装置1の筐体を通じて触覚としても受け取ることとなって、ゲーム等の場面の臨場感を向上できる。[0049]例えば、雨が降っている風景において雨音の波形情報とともに音声鳴動指示が入力されている場合、コントローラ装置1は、当該雨音の波形情報を音声として鳴動するとともに、当該雨音に合わせて筐体を振動させることとなり、ユーザは、あたかも雨粒が傘などに当たっているかのような触覚を得る。[0050]本実施の形態のこの例では、このように音声や映像とともに、当該音声に合わせた触覚を提示することで、全体的にユーザに対して現実感を与えることとしている。[0051]また本実施の形態のこの例では、音声鳴動指示に係る音声信号を表す波形情報を、触覚提示制御部37へ出力するにあたり、ローパスフィルタに相当するデータ処理を実行してから触覚提示制御部37へ出力するようにしてもよい。この際のローパスフィルタのカットオフ周波数は、例えば、音声信号の下限近傍としておく。ローパスフィルタを通過した波形情報については、その振幅が予め定めた大きさとなるまで増幅しておいてもよい。このようにすると、音声成分がカットされて、触覚的振動がより強調できる。[0052][(4)操作入力としての音声入力]また本実施の形態のコントローラ装置1の制御部21は、マイク入力部22から入力される音声信号をメモリに保持するほか、次のように利用することとしてもよい。[0053]すなわち本実施の形態では、制御部21は、マイク入力部22から入力された音声信号の周波数及び音量の情報を生成して、当該生成した情報を情報処理装置2に送出してもよい。[0054]例えば、制御部21は、マイク入力部22から入力された音声信号を離散フーリエ変換して周波数ごとの音量を分析し、最も音量の大きい周波数帯を表す情報を、当該入力された音声信号の周波数情報として出力する。[0055]また制御部21は、マイク入力部22から入力された音声信号の最大振幅を音量の情報として出力する。[0056]情報処理装置2は、コントローラ装置1から、周波数情報及び音量の情報を、コントローラ装置1に対するユーザの操作の内容を表す情報とともに受け入れて、ゲーム等の処理に利用する。[0057]例えば情報処理装置2は、コントローラ装置1から、ユーザがマイク22Mに対して入力した音声の周波数情報を受け入れて、当該周波数情報に応じて、ゲーム内で相手方を攻撃する旨の処理等において、攻撃範囲を表すパラメータを制御する。一例として情報処理装置2は、周波数情報が表す周波数が低いほど、ゲーム空間内における、ユーザの制御するキャラクタによる攻撃範囲を広くする(あるいは比較的広い攻撃範囲を有する攻撃を行う指示として処理する)こととしてもよい。情報処理装置2は、周波数情報が表す周波数が高いほど、ゲーム空間内における、ユーザの制御するキャラクタによる攻撃範囲を小さくする(あるいは比較的狭い攻撃範囲を有する攻撃を行う指示として処理する)こととしてもよい。[0058]またこの場合情報処理装置2は、コントローラ装置1から、ユーザがマイク22Mに対して入力した音声の音量情報を受け入れ、上記周波数情報と音量情報とに基づいてゲーム内における攻撃力のパラメータを制御してもよい。攻撃範囲のパラメータTを、T=γ/fなどとして求める。ここでα,β,γは予め実験的に定めた定数である。この例によると、ユーザが入力した音声の周波数が低いほど、攻撃力は小さくなり、攻撃範囲は広くなる。ユーザが入力した音声の周波数が高くなると、攻撃力は大きくなり、攻撃範囲は狭くなるという制御が行われる。[0060][(5)音声入力による設定動作]さらにコントローラ装置1の制御部21は、マイク入力部22から入力され、メモリに保持した音声信号の波形情報を、そのまま情報処理装置2に送信してもよい。2は、当該波形情報を、ゲーム等の処理に利用してもよい。当該波形情報に基づいて、ゲームキャラクタが移動するコースを生成してもよい。一例として情報処理装置2は、波形情報の包絡線(振幅の変化を表す曲線)を生成し、当該曲線を、ゲームキャラクタが移動するコースとしてもよい。[0062]あるいは、情報処理装置2は、当該入力された波形情報を用いて、ユーザに提示する触覚を表す波形情報を生成してもよい。この波形情報の生成も、例えばローパスフィルタを適用する処理等によって行ってよい。[0063][その他の例]また本実施の形態では、触覚提示デバイス24は例えばボイスコイルモータとしたが、本実施の形態はこの例に限られず、ユーザに振動を提示できるものであれば、バイブレータによる振動提示を行うデバイス等であってもよい。前記マイクからユーザが音声を入力している間は、前記スピーカーの鳴動を抑制し、前記触覚提示デバイスによる触覚提示制御を行うコントローラ装置。前記マイクからユーザが音声を入力している間は、前記触覚提示デバイスが提示する触覚を表す振動波形に対し、ローパスフィルタを適用して、当該ローパスフィルタを適用した後の振動波形に基づいて前記触覚提示デバイスを制御するコントローラ装置。前記触覚提示デバイスは、ボイスコイルモータを含むコントローラ装置。前記コントローラ装置がマイクからユーザが音声を入力している間は、前記スピーカーの鳴動を抑制させ、前記触覚提示デバイスによる触覚提示制御を行うよう前記コントローラ装置を制御する、コントローラ装置の制御方法。