説明

キャラクター表示装置、キャラクター表示方法、ならびに、プログラム

【課題】キャラクターにユーザの音声に応じた動作をさせることで、ユーザの視覚に訴えながら、快適に会話を楽しむのに好適なキャラクター表示装置等を提供する。
【解決手段】キャラクター表示装置200において、記憶部201には、仮想空間内に配置されるキャラクターの向きが記憶され、表示部202は、キャラクターが記憶された向きで仮想空間内に配置された様子を表す画像を、画面に表示し、検知部203は、ユーザからの音声を検知し、決定部204は、検知された音声の音量に基づいて、キャラクターの向きの変化を決定し、更新部205は、決定された変化により、記憶された向きを更新する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、キャラクターにユーザの音声に応じた動作をさせることで、ユーザの視覚に訴えながら、快適に会話を楽しむに好適なキャラクター表示装置、キャラクター表示方法、ならびに、プログラムに関する。
【背景技術】
【0002】
従来から、ゲームやチャット、ソーシャルネットワークサービス等の分野においては、ユーザが、自身を投影した仮想世界内でのキャラクター(「アバター」と呼ばれることもある。)を選択、設定し、その姿を自分の端末や他人の端末に表示させて、ユーザに親しみを感じさせる手法が広く使われている。
【0003】
この場合、キャラクターの形状や姿勢、表情を変化させて、そこにキャラクターが表示されていることをユーザに認知させやすくするのと同時に、ユーザにより臨場感や親近感を持たせる手法が開発されている。
【0004】
例えば、特許文献1には、ユーザの無意識的な動作、すなわち緊張していたり興奮していたりというような状況で現れるマウスやコントローラの微小な変化を捉えて、上記のキャラクターの動きに反映させることで、ユーザとキャラクターを密接に結び付け、まるでキャラクターに生きているかのような印象を付与する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−233946号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
一方で、上記のようなアバターが用いられる場面は、ネットワークゲームやWebチャットなどにおいて、互いに離れた複数のユーザ同士がネットワーク上で会話をするような場面であることが多い。すなわち、ゲームのモニタなどにアバターを表示させることで、ユーザ同士の会話に、親しみやすさを付加することができる。
【0007】
このようなアバターを用いてユーザ同士が会話をする際に、ユーザが会話をするときの音声に応じた動作をアバターにとらせたい、との要望がある。すなわち、離れた場所にいるユーザ同士の会話は、通常音声のみ、あるいは文字のみに頼って行われるが、ユーザが話をする動作に応じた動作をアバターにとらせることで、ユーザの視覚に訴えつつ、より臨場感を持って会話を行うことができるようになると考えられる。
【0008】
本発明は、上記のような課題を解決するもので、キャラクターにユーザの音声に応じた動作をさせることで、ユーザの視覚に訴えながら、快適に会話を楽しむのに好適なキャラクター表示装置、キャラクター表示方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明の第1の観点に係るキャラクター表示装置は、記憶部、表示部、検知部、決定部、更新部を備える。
【0010】
記憶部では、仮想空間内に配置されるキャラクターの向きが記憶される。
【0011】
すなわち、例えば3次元の仮想空間を用意し、その中の所定の位置にキャラクターを配置する。そのときにキャラクターは、例えば、正面向き、正面から左へ30°の向き、正面から右へ45°の向き、といった向きに配置され、記憶部にはその向きが記憶される。
【0012】
表示部は、キャラクターが記憶された向きで仮想空間内に配置された様子を表す画像を、画面に表示する。
【0013】
すなわち、記憶部に記憶された向きが左向きならば、仮想空間内に左向きに配置されたキャラクターの様子を表す画像を生成して、モニタなどの画面に表示する。同様に、記憶部に記憶された向きが正面向きならば、仮想空間内に正面向きに配置されたキャラクターの様子を表す画像を、また、記憶された向きが右向きならば、仮想空間内に右向きに配置されたキャラクターの様子を表す画像を、画面に表示する。
【0014】
検知部は、ユーザからの音声を検知する。
【0015】
すなわち、マイクロフォンなどの音を電気信号に変換する機器を用いて、ユーザが発した声や音を捉える。ここで、ユーザ以外からの声やその他の小さな雑音に反応しないよう、所定の閾音量を設けて、捉えられた音声が閾音量を超えた場合にのみ検知するようにしてもよい。
【0016】
決定部は、検知された音声の音量に基づいて、キャラクターの向きの変化を決定する。
【0017】
すなわち、検知部によって検知された音声から、所定のサンプリング周期で平均された音量を取得する。そして、取得された音量から、所定の変換式に基づいて、キャラクターの向きの変化を決定する。ここで、「向きの変化」とは、仮想空間内に配置されるキャラクターの向きが変化する変化の量のことである。例えば、キャラクターが仮想空間内に正面から左へ30°の向きに配置されている状態から左へ45°の向きに配置されている状態へ変化するとき、「向きの変化」は、両者の差である「左へ15°」ということになる。このような向きの変化は、典型的には、検知された音声が大きければ大きいほど、大きい量にすることが通常である。
【0018】
更新部は、決定された変化により、記憶された向きを更新する。
【0019】
すなわち、決定部によって決定された変化により、記憶部に記憶されている仮想空間内のキャラクターの向きを更新する。例えば、決定された変化が正面から左へ90°という向きの変化であるならば、正面から左へ90°の向きに配置されたキャラクターが、改めて記憶部に記憶されることになる。また、決定された変化が正面から右へ30°という向きの変化であるならば、正面から右へ30°の向きに配置されたキャラクターが、改めて記憶部に記憶されることになる。
【0020】
このような構成により、ユーザが発した音声に基づいて、表示されているキャラクターの向きが変化する。その結果、ユーザは、音声に反応するキャラクターの画像を見ながら、親近感・臨場感を持って会話を楽しむことができるようになる。
【0021】
また、本発明のキャラクター表示装置において、
検知部は、モノラルマイクにより音声を検知し、
キャラクターの向きが取りうる範囲は、正面向きと、左右いずれかの所定角度の横向きと、の間であり、
決定部は、検知された音声の音量が大きければ大きいほど、キャラクターの向きが正面向きに近づくように、変化を決定する、
ことも可能である。
【0022】
ここで、モノラルマイクとは、左右どちらの方向から音声を検知したのかを判別できない、あるいは判別しないマイクを意味する。すなわち、ここでのモノラルマイクは、例えば音声検知部位を1箇所の位置に有するもので、左の方向から音声を検知しても、右の方向から音声を検知しても、両者を区別しないものである。
【0023】
このとき例えば、キャラクターの向きが取りうる範囲を、正面向きと、正面から左30°の横向きと、の間とあらかじめ定めた場合を考える。この場合、音声が検知されていないときにはキャラクターは仮想空間内に正面から左30°の横向きに配置されており、モノラルマイクによって音声が検知され始めると、キャラクターの向きは、左30°の横向きから徐々に正面向きに変化し始める。そして、検知された音声が大きくなればなるほど、左30°の横向きから、左20°、左10°、左0°(すなわち正面)の向きへと順に変化していく。
【0024】
また、本発明のキャラクター表示装置において、
検知部は、ステレオマイクにより音声を検知し、
決定部は、ステレオマイクにより検知された音声の左右の音量の差に基づいて、キャラクターの向きの変化を決定する、
ことも可能である。
【0025】
ここで、ステレオマイクとは、左右どちらの方向から音声を検知したのかを判別できるマイクを意味する。すなわち、ここでのステレオマイクは、例えば左右2箇所の位置にそれぞれ独立に音声を検知する部位を有したり、あるいは位置は1箇所でも左右それぞれの方向から音声を検知する部位を有していたりすることで、左の部位(マイク)で検知した音声と右の部位(マイク)で検知した音声とを区別できる。
【0026】
このとき例えば、ユーザがステレオマイクに正対して音声を発すれば、ステレオマイクの左右のマイクで同じ音量の音声が検知される。また、ユーザがステレオマイクの左側から音声を発すれば、ステレオマイクの左側のマイクの音量は、右側のマイクの音量よりも大きくなり、一方で、ユーザがステレオマイクの右側から音声を発すれば、ステレオマイクの右側のマイクの音量は、左側のマイクの音量よりも大きくなる。ここでの決定部は、このような左右の音量の差に基づいて、キャラクターの向きの変化を決定する。
【0027】
また、本発明のキャラクター表示装置において、
キャラクターの向きが取りうる範囲は、正面向きを含む左右それぞれの所定角度の横向きの間であり、
決定部は、
(a)ステレオマイクにより検知された音声の左右の音量の差が小さければ小さいほど、キャラクターの向きが正面向きに近づき、
(b)ステレオマイクにより検知された音声の左の音量が、右の音量よりも大きければ大きいほど、キャラクターの向きが左の所定角度の横向きに近づき、
(c)ステレオマイクにより検知された音声の右の音量が、左の音量よりも大きければ大きいほど、キャラクターの向きが右の所定角度の横向きに近づく、
ように変化を決定する、
ことも可能である。
【0028】
すなわち、
(a)ステレオマイクにより検知された音声の左右の音量の差が小さいということは、ユーザはステレオマイクの左右のマイクから等距離の位置にいる、すなわちユーザはステレオマイクに正対しているという状況であると通常考えられる。したがって本発明のキャラクター表示装置は、そのようなユーザとステレオマイクとの位置関係を模擬して、キャラクターの向きを正面向きに近づける。
一方で、
(b)ステレオマイクにより検知された音声の左の音量が、右の音量よりも大きいということは、ユーザはステレオマイクの左側のマイクに近い位置にいる、すなわちユーザはステレオマイクの左側から話をしているという状況であると通常考えられる。したがって本発明のキャラクター表示装置は、そのようなユーザとステレオマイクとの位置関係を模擬して、キャラクターの向きを左の所定角度の横向き、例として左45°あるいは左30°などの角度の横向きに近づける。
さらにまた、
(c)ステレオマイクにより検知された音声の右の音量が、左の音量よりも大きいということは、ユーザはステレオマイクの右側のマイクに近い位置にいる、すなわちユーザはステレオマイクの右側から話をしているという状況であると通常考えられる。したがって本発明のキャラクター表示装置は、そのようなユーザとステレオマイクとの位置関係を模擬して、キャラクターの向きを右の所定角度の横向き、例として右45°あるいは右30°などの角度の横向きに近づける。
【0029】
また、本発明のキャラクター表示装置において、
決定部は、
(p)検知された音声から所定の第1の区間長によって平均化された、第1の音量に基づいて、キャラクターの左右の向きの変化を決定し、
(q)検知された音声から所定の第2の区間長によって平均化された、第2の音量に基づいて、キャラクターの上下の向きの変化を決定する、
ことも可能である。
【0030】
すなわち、決定部は、検知部によって検知された音声から音量を取得する際に、2つの異なる区間長、すなわちサンプリング周期によって平均化し、それぞれから2種類の音量を取得する。例えば、所定の第1の区間長よりも、所定の第2の区間長を長い区間長に定めたときを考える。このとき、
(p)ユーザの音声に高い周波数の成分が多く含まれていた場合、すなわちユーザの音声に高音成分が多く含まれていた場合に、第1の音量は大きくなる。そして、第1の音量に基づいて、キャラクターの左右の向きの変化を決定する。例えば、第1の音量が大きければ大きいほど、キャラクターの左右の向きを大きく変化させるように決定する。
一方で、
(q)ユーザの音声に低い周波数の成分が多く含まれていた場合、すなわちユーザの音声に低音成分が多く含まれていた場合に、第2の音量は大きくなる。そして、第2の音量に基づいて、キャラクターの上下の向きの変化を決定する。例えば、第2の音量が大きければ大きいほど、キャラクターの上下の向きを大きく変化させるように決定する。
【0031】
このような構成により、本発明のキャラクター表示装置は、1人のユーザが発した1つの音声から、画面内のキャラクターの異なる2つの向きの変化をさせることができる。その結果として、画面内のキャラクターにより複雑な動作をとらせ、臨場感や親近感を高めることができる。
【0032】
また、本発明のキャラクター表示装置において、
更新部は、キャラクターの視線を正面に向けたまま、記憶された向きを更新する、
ことも可能である。
【0033】
すなわち、キャラクターの向きが変化し、正面を向かずに横を向いているキャラクターが画面に表示される状況では、画面を見ているユーザにとっては、キャラクターがユーザに語りかけているように感じられないことが多くなると考えられる。そこで、本発明のキャラクター表示装置は、キャラクターが横を向いても、キャラクターの視線を常に正面に向けるようにする。その結果、横を向いているキャラクターにも、ユーザに語りかけるような画面を表示することができるようになる。
【0034】
また、本発明のキャラクター表示装置において、
更新部は、角加速度が所定の閾値を超えないように、記憶された向きを更新する、
ことも可能である。
【0035】
すなわち、仮想空間内で固定された向きに配置されていたキャラクターが、更新部によって別の向きに変化する際、急に大きく変化すると、生成されるキャラクター表示画面をみているプレイヤに不自然さ・不快さを与えることになりやすいと考えられる。これを避けるために、向きが変化する際の角加速度に所定の閾値を設けて、滑らかに向きを変化させることで、ユーザが快適にキャラクター表示画面を見ることができるようにする。
【0036】
上記目的を達成するため、本発明の第2の観点に係るキャラクター表示方法は、記憶部、表示部、検知部、決定部、更新部を備えたキャラクター表示装置が実行するキャラクター表示方法であって、表示工程、検知工程、決定工程、更新工程を備える。
【0037】
記憶部には、仮想空間内に配置されるキャラクターの向きが記憶される。
表示工程では、表示部が、キャラクターが記憶された向きで仮想空間内に配置された様子を表す画像を、画面に表示する。
検知工程では、検知部が、ユーザからの音声を検知する。
決定工程では、決定部が、検知された音声の音量に基づいて、キャラクターの向きの変化を決定する。
更新工程では、更新部が、決定された変化により、記憶された向きを更新する。
【0038】
上記目的を達成するため、本発明の第3の観点に係るプログラムは、コンピュータを、上記のキャラクター表示装置として機能させ、コンピュータに、上記のキャラクター表示方法の各工程を実行させるように構成する。
【0039】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読み取り可能な情報記憶媒体に記録することができる。
【0040】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配付・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配付・販売することができる。
【発明の効果】
【0041】
本発明によれば、キャラクターにユーザの音声に応じた動作をさせることで、ユーザの視覚に訴えながら、快適に会話を楽しむのに好適なキャラクター表示装置、キャラクター表示方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【0042】
【図1】本発明の実施形態に係るキャラクター表示装置が実現される典型的な情報処理装置の概要構成を示す模式図である。
【図2】本発明のキャラクター表示装置に係る概要構成を示す模式図である。
【図3】キャラクター表示装置の表示画面の構成例を示した図である。
【図4】キャラクター表示装置の仮想空間内の様子を表した図である。
【図5】ユーザからの音声に基づいてキャラクター画像の向きが変化する様子を表した図である。
【図6】仮想空間内における仮想キャラクターの向きが変化する様子を表した図である。
【図7】実施形態1における、検知した音声の音量と、キャラクターの向きを定める角度との関係を示したグラフである。
【図8】実施形態1のキャラクター表示装置に係る処理の流れを示すフローチャートである。
【図9】(a)は、モノラルマイクに向けて異なる方向からユーザが発声している様子を表した図である。(b)は、ステレオマイクに向けて異なる方向からユーザが発声している様子を表した図である。
【図10A】(a)、(b)ともに、実施形態2のキャラクター表示装置において、左方向から音声が検知されたときの、仮想空間と表示画面の様子を示した図である。
【図10B】(a)、(b)ともに、実施形態2のキャラクター表示装置において、右方向から音声が検知されたときの、仮想空間と表示画面の様子を示した図である。
【図11】実施形態2における、検知した音声の音量と、キャラクターの向きを定める角度との関係を示したグラフである。
【図12】実施形態2のキャラクター表示装置に係る処理の流れを示すフローチャートである。
【図13】(a)、(b)ともに、実施形態3において、ユーザからの音声に基づいてキャラクター画像が変化する様子を表した図である。
【図14】(a)は、実施形態3における、第1の音量とキャラクターの左右の向きを定める角度との関係を示した図である。(b)は、実施形態3における、第2の音量とキャラクターの上下の向きを定める角度との関係を示した図である。
【図15】実施形態3のキャラクター表示装置に係る処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0043】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素を均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0044】
(実施形態1)
図1は、本発明の実施形態に係るキャラクター表示装置が実現される典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0045】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM 102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、マイク111と、を備える。
【0046】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態のキャラクター表示装置等が実現される。
【0047】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
【0048】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0049】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行う、また、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【0050】
インターフェース104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【0051】
インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0052】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0053】
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0054】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0055】
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0056】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画したりすることが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
【0057】
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0058】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0059】
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
【0060】
さらに、情報処理装置100には、インターフェース104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。
【0061】
情報処理装置100をカラオケ装置として利用する場合には、DVD−ROMから読み出した音声データ、もしくは、NIC 109を介してコンピュータ通信網から取得した音声データを伴奏データとし、マイク111から入力された音声データを歌唱データとして、伴奏データと歌唱データを音声処理部110がミキシングし、スピーカから出力する。また、スピーカにかえて、ヘッドホン(図示せず)やイヤフォン(図示せず)を用いて、音声を出力させることもできる。
【0062】
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0063】
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置100にかえて、汎用のパーソナルコンピュータを利用することもできる。
【0064】
以上で説明した情報処理装置100は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【0065】
例えば、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、及び、NICを備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用する。
【0066】
図2は、本発明のキャラクター表示装置に係る概要構成を示す模式図である。本発明のキャラクター表示装置200は、典型的には上述した情報処理装置100によって実現される。以下、本図を参照して概要構成を説明する。
【0067】
キャラクター表示装置200は、記憶部201、表示部202、検知部203、決定部204、更新部205を備える。
【0068】
記憶部201では、仮想空間内に配置されるキャラクターの向きが記憶される。
【0069】
すなわち、本実施形態では3次元の仮想空間を用意し、そこに所定の向きでキャラクターを配置する。所定の向きは、後述する更新部205によって更新され、そのつど更新された向きに配置されたキャラクターが記憶部201に記憶される。例えば、RAM 103等が、このような記憶部201として機能する。
【0070】
表示部202は、キャラクターが記憶された向きで仮想空間内に配置された様子を表す画像を、画面に表示する。
【0071】
すなわち、記憶部201に記憶された向きで仮想空間内に配置されたキャラクターを、同じく仮想空間内の所定の位置に配置された仮想カメラから見た画像を生成し、その画像をキャラクター表示装置200の画面に表示する。例えば、画像処理部107が、このような表示部202として機能する。
【0072】
検知部203は、ユーザからの音声を検知する。
【0073】
すなわち、ユーザから発せられた音声を入力として受け付け、受け付けられた音声を決定部204へ供給する。例えば、インターフェース104に接続されたマイク111が、このような検知部203として機能する。
【0074】
決定部204は、検知された音声の音量に基づいて、キャラクターの向きの変化を決定する。
【0075】
すなわち、検知部203によってユーザから検知された音声から、所定のサンプリング周波数により音量を取得する。そして、取得された音量をもとに、仮想空間内のキャラクターの向きを変化させる量を決定する。例えば、CPU 101がRAM103等と協働することにより、このような決定部204として機能する。
【0076】
更新部205は、決定された変化により、記憶された向きを更新する。
【0077】
すなわち、決定部204によって決定された変化を受け取り、記憶部201に記憶されているキャラクターの向きを更新する。例えば、CPU 101がRAM103等と協働することにより、このような更新部205として機能する。
【0078】
図3は、本発明のキャラクター表示装置200に係る表示画面の構成例を示した図である。表示部202は、典型的には本図に示すような表示画面300を、情報処理装置100の画像表示部107を通じてモニタに表示する。
【0079】
本図に示すように、表示画面300には、キャラクター画像301とメッセージウィンドウ302の画像が含まれ、必要に応じて仮想世界を構成するその他の背景画像(本図では、キャラクター画像301が立っている道路や、その道路に沿って配置されている家の画像)が表示されている。これらの画像の生成には、通常のゲームやチャットシステム等に用いられるものと同様のグラフィックス技術を適用することが可能である。
【0080】
キャラクター画像301は、仮想世界内でのユーザのいわゆる分身であり、特に離れた場所にいるユーザ同士がネットワーク上でコミュニケーションをとる場合に、表示画面300にキャラクター画像301を表示することで相手のユーザにとって親しみを感じさせ、円滑なコミュニケーションを行えるようにするためのものである。本図では表示画面300内にキャラクター画像301は1体しか表示されていないが、多数のユーザがネットワーク上でコミュニケーションをしている場合などにおいては、多数のユーザのそれぞれに対応した多数のキャラクター画像301が表示画面300内に配置されていてもよい。
【0081】
メッセージウィンドウ302は、ユーザ同士がネットワーク上でコミュニケーションをとる際のメッセージを、文字で表示する。表示されるメッセージは、検知部203によって検知されたユーザの音声を解析して、文字へと変換することにより生成されるものであってもよいし、検知部203によって検知されたユーザの音声とは別に、ユーザがキーボードなどの入力装置で入力されたメッセージであってもよい。また本実施形態では、必ずしもメッセージウィンドウ302は表示されなくてもよく、ユーザ同士が音声とキャラクター画像301の動作のみでコミュニケーションをとる形態であってもよい。
【0082】
このような表示画面300におけるキャラクター画像301を生成するために、本実施形態のキャラクター表示装置200は、記憶部201内に3次元の仮想空間を用意し、当該仮想空間内に仮想キャラクターと仮想カメラを配置して、仮想カメラから撮影された仮想キャラクターの様子を表す画像を生成し、表示画面300内に表示する。以下、図4を参照して説明する。
【0083】
図4は、本発明のキャラクター表示装置200に係る仮想空間内の様子を表した図である。本図は、3次元の仮想空間400内に配置された仮想キャラクター401の上方向から見た仮想空間400の様子を表している。仮想空間400内には仮想カメラ402がさらに配置され、仮想キャラクター401の方へ向けられている。
【0084】
この仮想カメラ402は、図3の表示画面300に表示されていたキャラクター画像301を生成するために用いられるもので、表示部202は、仮想カメラ402から見た仮想キャラクター401の様子をもとに画像を生成し、それを図3における表示画面300に表示する。すなわち、例えば、仮想空間400内の仮想キャラクター401が、仮想カメラ402に対して正面を向くように配置されていれば、仮想カメラ402は正面向きのキャラクター画像301を生成して表示画面300に表示する。また、仮想空間400内の仮想キャラクター401が、仮想カメラ402に対して左を向くように配置されていれば、仮想カメラ402は左を向いたキャラクター画像301を生成して表示画面300に表示する。さらに、仮想空間400内の仮想キャラクター401が、仮想カメラ402に対して右を向くように配置されていれば、仮想カメラ402は右を向いたキャラクター画像301を生成して表示画面300に表示する。
【0085】
具体的に図4では、仮想キャラクター401は、仮想カメラ402の方向を0°(正面向き)として、仮想カメラ402から仮想キャラクター401へ向かって左へ所定角度403の横向きを向いて配置されている。すなわち、仮想カメラ402によって、仮想キャラクター401が左を向いた様子が映し出されており、これをもとにして生成されたキャラクター画像301は、図3のように、表示画面300を見ているユーザから向かって左方向に横を向いている状態となる。
【0086】
本実施形態ではこのように、仮想空間400内において様々な方向を向いた仮想キャラクター401の様子をもとにして、表示画面300内のキャラクター画像301を生成する。そして、このような仮想キャラクター401の向きは、検知部203によってユーザからの音声が検知されると変化する。以下、図5および図6を参照して説明する。
【0087】
図5は、ユーザからの音声に基づいてキャラクター画像301の向きが変化する様子を表した図である。本図の表示画面300内には、図3と同じように、キャラクター画像301、メッセージウィンドウ302、およびその他の背景画像が表示されている。さらに本図では、このような表示画面300を表示しているキャラクター表示装置200の表示部202には、モノラルマイク502が接続されており、表示画面300を見ているユーザ501が、モノラルマイク502に向かって「Hello!!」と発声している状況が示されている。
【0088】
すなわち、ここではキャラクター表示装置200の検知部203は、モノラルマイク502によってユーザ501からの音声を検知する。なお、図5でのモノラルマイク502は、表示部202に有線で接続されているように書かれているが、必ずしもこれに限られず、無線通信によって接続されるものであってもよい。
【0089】
そして、図5では、ユーザ501がモノラルマイク502に発声するのに伴って、表示画面300内に表示されているキャラクター画像301の向きが、左向きから正面向きに変化している様子が示されている。すなわち、キャラクター画像301は、図3では左を向いていたのに対して、本図では表示画面300を見ているユーザ501に対して、正面を向くように変化している。
【0090】
なお、図5のメッセージウィンドウ302内には、ユーザ501が発声した「Hello!!」という音声に基づいて、「Hello!!」という会話内容304が表示されている。このような会話内容304は、例えば、ユーザ501がモノラルマイク502に向かって語りかけた音声を解析して、文字へと変換することによって表示される。
【0091】
さらに、図6は、仮想空間400内における仮想キャラクター401の向きが変化する様子を表した図である。本図は、図4と同様に、3次元の仮想空間400内に配置された仮想キャラクター401の上方向から見た仮想空間400の様子を表している。ただし、仮想キャラクター401は、図4では仮想カメラ402に対して所定角度403だけ左を向いていたのに対し、本図では仮想カメラ402に対して正面向きに変化している。
【0092】
すなわち、図6は、図5のようにユーザ501が発した音声を、検知部203、すなわちモノラルマイク502が検知するのに伴って、仮想空間400内の仮想キャラクター401の向きが正面向きに変化する様子を示している。そして、仮想カメラ402が、このように正面向きに変化した仮想キャラクター401の様子を映し出して、表示部202が、図5のような正面向きのキャラクター画像301を生成して表示画面300内に表示する。
【0093】
このように、本実施形態では、モノラルマイク502によって音声が検知されていない状態では、仮想キャラクター401は、図4のように仮想カメラ402に対して左へ所定角度403の横向きに配置され、それを反映して表示画面300内には、図3のように左を向いたキャラクター画像301が表示される。一方で、モノラルマイク502によって音声が検知されると、仮想キャラクター401は、図6のように仮想カメラ402に対して正面を向くように変化し、それを反映して表示画面300内には、図5のように正面を向いたキャラクター画像301が表示される。
【0094】
ここで、本実施形態では、仮想キャラクター401およびキャラクター画像301の向きは、まったくランダムに変化するのではなく、モノラルマイク502によって検知された音声の音量に基づいて変化する。具体的に、本実施形態では、仮想空間400内の仮想キャラクター401の向きの取りうる範囲を、仮想カメラ402に対して正面向きと、正面から左方向へ所定角度403の横向きと、の間とする。そして、キャラクター表示装置200の検知部203は、モノラルマイク502によってユーザ501からの音声を検知し、決定部204は、検知部203により検知された音声の音量が大きければ大きいほど、仮想キャラクター401の向きが正面向きに近づくように、すなわち表示画面300内に表示されているキャラクター画像301の向きが正面向きに近づくように、変化を決定する。このような音量と向きとの関係を、以下の図7を参照して詳細を説明する。
【0095】
図7は、本実施形態における、検知部203が検知した音声の音量と、仮想キャラクター401の向きを定める角度との関係を示したグラフである。本図では、横軸に検知した音声の音量、縦軸に仮想キャラクター401の向きを定める角度をとり、右側ほど検知した音量が大きくなり、上側ほど仮想キャラクター401の向きが大きく左を向いているということを表している。
【0096】
本図のグラフでは、検知された音声の音量が0のとき、仮想キャラクター401の向きを定める角度は、あらかじめ定められた左向きの所定角度403である。そして、検知された音声の音量が徐々に大きくなるにしたがって、仮想キャラクター401の向きを定める角度は、徐々に正面向きに近づいていく。そして検知された音声の音量が 所定の閾音量に達すると、角度は0°に達し、仮想キャラクター401は仮想カメラ402に対して真正面を向く。本図のグラフでは、さらに所定の閾音量以上の音量の音声を検知した場合にも、正面向きのままとなる。
【0097】
すなわち、本実施形態では、ユーザ501が何も音声を検知していないと、キャラクター画像301は図3のように左を向いて表示されているが、ユーザ501がモノラルマイク502に向かって声を発すると、キャラクター画像301は徐々にその向きを変える。そして、検知された音声の音量が大きければ大きいほど、キャラクター画像301の向きを正面に近づける。そして最終的に、検知された音量が所定の閾音量に達すると、図5のようにキャラクター画像301は正面を向くことになる。
【0098】
なお、図3〜図7では、音声が検知されていない状態では、仮想キャラクター401は左向きの所定角度403を向いている状態であったが、本実施形態ではこれに限られず、例えば、右向きであっても、左斜め下向きであってもよいものとする。
【0099】
本実施形態では、さらに、仮想キャラクター401の向きを変化させる際に、表示画面300内におけるキャラクター画像301の視線を正面に向けたまま変化させる。すなわち、更新部205は、キャラクター画像301の視線を正面に向けたまま、記憶部201に記憶された向きを更新する。
【0100】
具体的に、図4および図6での仮想空間400内の仮想キャラクター401において、仮想瞳404を別途用意する。そして、更新部205が仮想キャラクター401の向きを更新しても、仮想瞳404だけは常に仮想カメラ402の方向を向いているように位置を調整する。具体的に、図4では仮想キャラクター401は仮想カメラ402に対して所定角度403だけ左方向を向いており、図6では仮想キャラクター401は仮想カメラ402に対して正対しているが、どちらの図においても仮想瞳404は仮想カメラ402の方向を向いている。
【0101】
そのような仮想キャラクター401と仮想瞳404を見ている仮想カメラ402によって生成された画像が、図3および図5の表示画面300内に表示される。具体的に、図3では、キャラクター画像301は、体全体は左方向を向いているが、瞳画像303だけは正面を向いている状態となっている。すなわち、キャラクター画像301の視線は正面を向いている。一方で、図5においては、キャラクター画像301は、体全体も正面を向いているし、瞳画像303も正面を向いている。
【0102】
このように、本実施形態では、仮想瞳404の位置を調整することで、キャラクター画像301の体全体の向きにかかわらず、瞳画像303が常に正面を向くようにする。その結果として、離れた場所にいるユーザ同士が、相手ユーザに対応するキャラクター画像301を見ながら会話をしているときに、キャラクター画像301が横を向いていても、相手が自分を無視して他の方向を向いているのではなく、自分の方を向いて会話をしているように見せることができ、会話を行っている臨場感を増すことができる。
【0103】
本実施形態では、さらに、仮想キャラクター401の向きを変化させる際に、角加速度が所定の閾値を超えないように変化させる。すなわち、更新部205は、角加速度が所定の閾値を超えないように、記憶部201に記憶された向きを更新する。
【0104】
すなわちここでは、向きがある方向に固定されていた仮想キャラクター401の向きが変化し始めるときや、向きが変化し終わるときに、特に焦点があてられている。すなわち、急に大きな角速度で仮想キャラクター401の向きが動き出したり、急にストップしたりするよりは、滑らかに、いわゆる粘性をもった動きで向きが変化した方が、表示画面300のキャラクター301を見ているユーザにとって、より自然に感じられると考えられる。そのため、本実施形態では、仮想キャラクター401の向きが変化する角加速度に、所定の上限閾値を設ける。
【0105】
図8は、本発明の実施形態1のキャラクター表示装置200に係る処理の流れを示すフローチャートである。ここまで説明してきた本実施形態におけるキャラクター表示装置200において実現される処理の流れまとめて、以下に説明する。
【0106】
本処理が開始されると、キャラクター表示装置200のCPU 101は、記憶部201に記憶される情報等、RAM 103に用意される各種の情報の初期化を行う(ステップS801)。
【0107】
ついで、キャラクター表示装置200は、所定角度403の左向きのキャラクター画像301を、表示画面300に表示する(ステップS802)。ここでは、表示部202が、表示画面300に表示すべき画像を生成し、所定の周期で行われる垂直同期割り込みを待ってから、その画像を、表示画面300に表示する。具体的には、図4に示したように、仮想空間400内に仮想キャラクター401を、仮想カメラ402に対して左に所定角度403だけ横を向いた状態で配置し、表示部202が、その仮想カメラ402から見た画像を生成し、図3に示したような左を向いたキャラクター画像301を、その他の画像とともに表示画面300に表示する。
【0108】
そして、キャラクター表示装置200は、ユーザ501から音声を検知したかどうかを判定する(ステップS803)。すなわち、検知部203が、ユーザ501から発せられた音声を受け付け、検知する。ここで検知されなかったと判定された場合(ステップS803;NO)、本フローチャートの処理はステップS802へ戻り、所定角度403の横向きのキャラクター画像301を、表示画面300に表示する処理を行う。すなわち、検知部203によって音声が検知されない限り、本実施形態のキャラクター表示装置200は、所定角度403の横向きの、すなわち初期の向きのキャラクター画像301を表示し続けることになる。
【0109】
一方、検知部203によって音声を検知したと判定された場合(ステップS803;YES)、キャラクター表示装置200は、検知された音声の音量に基づき、仮想キャラクター401の向きの変化を決定する(ステップS804)。すなわち、決定部204が、検知された音声から音量を取得し、その音量の値をもとに、仮想空間400内における仮想キャラクター401の向きを変化させるべき角度を求める。
【0110】
本実施形態では、向きを変化させるべき角度は、図7に示した音量と角度の関係から求められる。すなわち、音量が大きければ大きいほど、向きは所定角度403の横向きから正面向きへと近づき、最終的に所定の閾音量以上を検知すると、仮想キャラクター401は仮想カメラ402に対して真正面を向くようになる。
【0111】
さらに本実施形態におけるキャラクター表示装置200は、決定された変化により、仮想キャラクター401の向きを更新する(ステップS805)。すなわち、決定部204によって決定された仮想キャラクター401の向きの変化させる角度だけ、更新部205が、実際に仮想空間400内の仮想キャラクター401の向きを更新する。例えば、決定部204によって仮想キャラクター401の向きを正面向きに変化させることが決定された場合には、図5に示したように、仮想キャラクター401は仮想カメラ402に対して正面を向くように向きを変化させられる。
【0112】
ここで本実施形態では、仮想キャラクター401の向きを更新する際、角加速度が所定の閾値を超えたかどうかを判定する(ステップS806)。すなわち、後述するステップS809において、向きの更新されたキャラクター画像301が、所定の垂直同期割り込みを待って表示画面300に表示されるが、そこで表示される向きの変化が、それまでに表示されていた向きの変化から比べて、変化の度合い(角加速度)が大きすぎないかを判定する。
【0113】
そして、超えたと判定された場合(ステップS806;YES)、更新部205は、角加速度が所定の閾値を超えないように調整し直して、向きを更新する(ステップS807)。すなわちここでは、ステップS805にて更新した向きよりも、単位時間当たりにおいて少ない角度変化をさせるような更新をすることになる。その後、ステップS808の処理へ移行する。一方で、角加速度が所定の閾値を超えないと判定された場合は(ステップS806;NO)、ここでは何も行わず、次のステップS808の処理へ進む。
【0114】
そして本実施形態ではさらに、キャラクター画像301の視線が正面を向くように、仮想キャラクター401の仮想瞳404の位置を調整する(ステップS808)。すなわち、更新部205が、仮想空間400内の仮想キャラクター401における仮想瞳404の位置を調整することで、仮想キャラクター401がどの方向を向いていても、仮想カメラ402へ視線を向けるようにする。
【0115】
そして、更新された向きのキャラクター画像301を表示画面300に表示する(ステップS809)。ここではステップS802と同様に、表示部202が、表示画面300に表示すべき画像を生成し、所定の周期で行われる垂直同期割り込みを待ってから、その画像を、表示画面300に表示する。具体的には、表示部202が、ここまでの処理において更新された仮想空間400内の仮想キャラクター401の様子を表す画像を生成して、表示画面300に表示する。
【0116】
その後、本実施形態のキャラクター表示装置200の処理は、ステップS803へと戻り、再びユーザ501から音声を検知したかどうかを判定する。すなわち、ユーザ501からの音声を検知部203が検知している限り、本実施形態のキャラクター表示装置200は、ステップS804〜S809までの処理を、垂直同期ごとに繰り返すことになる。一方で、ステップS803において音声を検知しなければ、処理はステップS802へ戻り、所定角度403の横向きの、すなわち初期の向きのキャラクター画像301を表示し直すことになる。
【0117】
このような構成により、本実施形態におけるキャラクター表示装置200は、ユーザ501からの音声の音量に基づいて、表示画面300内に表示されるキャラクター画像301の向きを変化させ、音量が大きければ大きいほど正面向きに近づける。すなわち、ユーザ501がモノラルマイク502に向かって発声すると、ユーザ501に対応付けられたキャラクター画像301が、横向きから正面向きへ変化する。
【0118】
その結果、離れた場所にいるユーザ同士がコミュニケーションをとる際に、ユーザは、音声のみ、あるいは音声と文字のみによって会話をするのではなく、音声に反応して向きを変えるキャラクター画像301を見ながら、会話を楽しむことができるようになる。
【0119】
(実施形態2)
次に、本発明の実施形態2について説明する。実施形態1では、モノラルマイク502により検知したユーザ501の音声の音量が大きければ大きいほど、表示画面300内に表示されるキャラクター画像301の向きを正面に近づけた。本実施形態では、ステレオマイクによってユーザの音声を検知し、検知されたステレオマイクの左右の音声の音量の差に基づいて、表示画面300内に表示されるキャラクター画像301の向きを変化させる。すなわち、本実施形態では、検知部203は、ステレオマイクにより音声を検知し、決定部204は、ステレオマイクにより検知された音声の左右の音量の差に基づいて、仮想キャラクター401の向きの変化を決定する。
【0120】
図9は、モノラルマイクとステレオマイクの比較を説明するため、マイクに向けて異なる方向からユーザが発声している様子を表した図である。とくに、図9(a)は、モノラルマイク502に対して、また図9(b)は、ステレオマイク503に対して、ユーザ501が左の位置510aと右の位置510bとの間で位置を変化させて発声している様子を表した図である。
【0121】
図9(a)のように、モノラルマイク502によって音声を検知する場合は、ユーザ501の位置による変化を捉えることはできない。すなわち、例えば、ユーザ501が左の位置510aから音声を発した場合と、右の位置510bから音声を発した場合とで、どちらもモノラルマイク502から同じ距離を離れて同じ大きさで音声を発しているとすると、どちらの場合でも同じ音量の音声が検知されるだけであり、その差異は検知されない。そのため、モノラルマイク502を用いていた実施形態1におけるキャラクター表示装置200は、左の方向から検知した音声であっても、あるいは右の方向から検知した音声であっても、検知された音声の音量に基づいて、同様に仮想キャラクター401の向きを変化させた。
【0122】
一方で、図9(b)では、ステレオマイク503は左のマイク504aと右のマイク504bという、左右2箇所にマイクを有している。そのため、検知された音声が、例えばユーザ501が左の位置510aから発した音声なのか、ユーザ501が右の位置510bから発した音声なのか、を判別することができるようになる。具体的には、ユーザ501が左の位置510aからステレオマイク503に向かって発声しているときは、左のマイク504aで検知された音声の音量は、右のマイク504bで検知された音声の音量よりも大きくなる。あるいは一方で、ユーザ501が右の位置510bからステレオマイク503に向かって発声しているときは、右のマイク504bで検知された音声の音量は、左のマイク504aで検知された音声の音量よりも大きくなる。また、図9(b)には示されていないが、ユーザ501がステレオマイク503に対して正面から発声しているときは、左右のマイク504a,504bでは同じ音量が検知されることになる。
【0123】
なお、図9(b)でのステレオマイク503は、左右の異なる2箇所に左のマイク504aと右のマイク504bを配置したが、本実施形態におけるステレオマイク503はこれに限られず、左方向からの音声を捉えるマイクと右方向からの音声を捉えるマイクを1箇所に配置するタイプのものであってもよい。
【0124】
また、図9(a)および図9(b)において、左の位置510aにいるユーザ501と、右の位置510bにいるユーザ501とは、同一のユーザ501が位置を変えて発声していることを前提として説明したが、異なるユーザ501が同時に発声しているとしてもよい。後者の場合でも上記と同様に、モノラルマイク502は、検知された音声がどちらの位置にいるユーザ501からのものであるのかを判別することはできないし、ステレオマイク503は、左右のマイク504a,504bにおいて検知された音声の音量の差によって、どちらの位置にいるユーザ501からの音声であるかを判別することができる。
【0125】
本実施形態では、このような左右のマイク504a,504bで得られる音量の差を利用して、表示画面300内のキャラクター画像301の左右の向きを変化させる。そのために、実施形態1と同様に、記憶部201内に仮想空間400を用意して、その中に仮想キャラクター401を配置し、仮想キャラクター401の左右の向きを、左右のマイク504a,504bで得られる音量の差に基づいて変化させる。ここでの仮想キャラクター401の向きは、実施形態1では正面向きと所定角度403の左向きとの間を変化したが、本実施形態では、正面向きから左右どちらの方向にも変化する。
【0126】
より具体的に、本実施形態では、仮想キャラクター401の向きが取りうる範囲は、正面向きを含む左右それぞれの所定角度403の横向きの間であり、決定部204は、
(a)ステレオマイク503により検知された音声の左右の音量の差が小さければ小さいほど、仮想キャラクター401の向きが正面向きに近づき、
(b)ステレオマイク503により検知された音声の左の音量が、右の音量よりも大きければ大きいほど、仮想キャラクター401の向きが左の所定角度403の横向きに近づき、
(c)ステレオマイク503により検知された音声の右の音量が、左の音量よりも大きければ大きいほど、仮想キャラクター401の向きが右の所定角度403の横向きに近づく、
ように変化を決定する。以下、図10Aおよび図10Bを参照して説明する。
【0127】
図10Aは、本実施形態のキャラクター表示装置200において、左方向から音声が検知されたときの、仮想空間400(図10A(a))と表示画面300(図10A(b))の様子を示した図である。一方で、図10Bは、本実施形態のキャラクター表示装置200において、右方向から音声が検知されたときの、仮想空間400(図10B(a))と表示画面300(図10B(b))の様子を示した図である。図10Aおよび図10Bにおける仮想空間400、そして表示画面300は、実施形態1において説明したものと同様の構成要素からなっている。ただし、ここでは表示画面300を表示しているキャラクター表示装置200の表示部202には、ステレオマイク503が接続されており、表示画面300を見ているユーザ501が、ステレオマイク503に向かって「Hello!!」と発声している状況が示されている。そして、ステレオマイク503によって検知された音声に基づいて、仮想キャラクター401、およびキャラクター画像301のとりうる向きが左右に変化している。
【0128】
まず、図10A(b)では、ユーザ501は、ステレオマイク503の左側から、「Hello!!」と発声している。この状況では、ステレオマイク503の左のマイク504aによって検知された音量は、右のマイク504bによって検知された音量よりも大きくなる。そのため、図10A(a)における仮想キャラクター401の向きは、仮想カメラ402に対して左を向く。そして、この左を向いた仮想キャラクター401をもとにして生成された表示画面300内のキャラクター画像301は、図10A(b)に示されるように、左を向く。
【0129】
一方で、図10B(b)では、ユーザ501は、ステレオマイク503の右側から、「Hello!!」と発声している。この状況では、ステレオマイク503の右のマイク504bによって検知された音量は、左のマイク504aによって検知された音量よりも大きくなる。そのため、図10B(a)における仮想キャラクター401の向きは、仮想カメラ402に対して右を向く。そして、この右を向いた仮想キャラクター401をもとにして生成された表示画面300内のキャラクター画像301は、図10B(b)に示されるように、右を向く。
【0130】
すなわち、ユーザ501がステレオマイク503の左側から会話をすると、キャラクター画像301も左を向き、あたかもキャラクターも左側から会話をしているように見せかけることができる。同様に、ユーザ501がステレオマイク503の右側から会話をすると、キャラクター画像301も右を向き、あたかもキャラクターも右側から会話をしているように見せかけることができる。
【0131】
なお、本実施形態では、実施形態1と同様に、仮想キャラクター401の向きを変化させる際に、表示画面300内におけるキャラクター画像301の視線を正面に向けたまま変化させてもよい。すなわち、図10A(a)および図10B(a)における仮想キャラクター401の中に仮想瞳404を用意し、仮想キャラクター401が仮想カメラ402に対して左あるいは右を向いても、仮想瞳404は仮想カメラ402の方向を向くように配置する。その結果、図10A(b)および図10B(b)において、表示画面300内に表示されるキャラクター画像301は、体全体の向きにかかわらず、瞳画像303を正面に向けたまま、すなわち視線を正面に向けたままとなる。
【0132】
図11は、本実施形態における、検知した音声の音量と、仮想キャラクター401の向きを定める角度との関係を示したグラフである。図10Aおよび図10Bにおいて説明されたような、検知された音声に基づく仮想キャラクター401の向きの変化を、本図を参照してより定量的に説明する。
【0133】
図11では、横軸に、ステレオマイク503で検知された左右の音量の差を、右のマイク504bの音量から左のマイク504aの音量を引いた値でとっており、グラフの右側ほど右のマイク504bの音量が左のマイク504aの音量より大きくなり、左側ほど左のマイク504aの音量が右のマイク504bの音量より大きくなる。また、縦軸に、仮想キャラクター401の向きを定める角度を示しており、仮想キャラクター401の向きは、グラフの上側ほど左向きの度合いが大きくなり、下側ほど右向きの度合いが大きくなる。本実施形態での仮想キャラクター401は、ステレオマイク503によって検知された左右の音量をもとに、本図のような角度の向きをとる。
【0134】
すなわちまず、左右のマイク504a,504bで検知された音量に差がないときは、仮想キャラクター401の向きを定める角度は0°、すなわち正面向きになる。一方で、左のマイク504aで検知された音量が、右のマイク504bで検知された音量よりも大きくなると、仮想キャラクター401の向きは、その音量の差に比例した角度で、左向きになる。逆に、右のマイク504bで検知された音量が、左のマイク504aで検知された音量よりも大きくなると、仮想キャラクター401の向きは、その音量の差に比例した角度で、右向きになる。そして、左右の音量の差が所定の閾音量に達すると、仮想キャラクター401の向きは、所定角度403の左向きあるいは右向きとなる。本実施形態では、音量の差がそれ以上となっても仮想キャラクター401の向きは所定角度403の左向きあるいは右向きのままとなる。
【0135】
このような構成によって、ユーザ501がステレオマイク503に向かって話しかける方向を反映させて、表示画面300に表示されるキャラクター画像301の向きを変化させることができる。
【0136】
図12は、本発明の実施形態2のキャラクター表示装置200に係る処理の流れを示すフローチャートである。ここまで説明してきた本実施形態における処理の流れをまとめて、以下に説明する。本フローチャートは、実施形態1におけるフローチャート(図8)のものと基本的には同じであるが、図8におけるステップS802とステップS804の処理(図12にて点線で囲われた部分)において違いがある。
【0137】
すなわち本実施形態のキャラクター表示装置200は、本処理が開始され、各種の情報の初期化を行った(ステップS801)後、表示部202が、正面向きのキャラクター画像301を、垂直同期割り込みを待った後で、表示画面300に表示する(ステップS1201)。すなわち、検知部203によって音声が検知されていない状況において、実施形態1では所定角度403の横向きのキャラクター画像301を表示画面300に表示したが、本実施形態で表示するキャラクター画像301は正面向きとなる。
【0138】
さらに本実施形態では、検知部203が、ユーザ501から音声を検知したかどうかを判定し(ステップS803)、検知されたと判定された場合(ステップS803;YES)、決定部204が、検知された音声の左右の音量の差に基づき、仮想キャラクター401の向きの変化を決定する(ステップS1202)。すなわち、実施形態1ではモノラルマイク502で検知された音声の音量に基づいて向きを決定したのに対して、本実施形態では、ステレオマイク503で検知された音声の左右の音量の差に基づいて向きを決定する。このとき、図11に示した左右の音量の差と仮想キャラクター401の向きを定める角度との関係を用いる。
【0139】
本実施形態ではその後、実施形態1と同様に、更新部205が仮想キャラクター401の向きを更新し、表示部202が更新された向きのキャラクター画像301を、垂直同期を待って表示画面300に表示するまでの処理(ステップS805〜S809)を行い、ステップS803へ戻って、検知部203による音声の検知の判定を再び行う。
【0140】
そして、ユーザ501からの音声が検知されている間は、垂直同期ごとに、ステップS1202、およびステップS805〜S809までの処理を繰り返して、左右の向きを更新したキャラクター画像301を表示画面300に表示することになる。
【0141】
このような構成により、本実施形態におけるキャラクター表示装置200は、ステレオマイク503が検知した左のマイク504aの音量が大きいと、表示画面300内のキャラクター画像301が左を向き、右のマイク504bの音量が大きいと、キャラクター画像301は右を向く。すなわち、ステレオマイク503に対するユーザ501の相対的な位置を反映した向きを、ユーザ501に対応付けられたキャラクター画像301にとらせることができる。
【0142】
その結果、離れた場所にいるユーザ同士がコミュニケーションをとる際に、相手がどちらの方向から話しているのかを確認しながら会話を進めることができるようになり、ユーザは、より臨場感を持ってスムーズに会話を楽しむことができるようになる。
【0143】
(実施形態3)
次に、本発明の実施形態3について説明する。実施形態1および2では、モノラルマイク502もしくはステレオマイク503によって検知されたユーザからの音声の音量に基づいて、表示画面300内のキャラクター画像301の左右の向きが変化した。本実施形態では、ユーザの音声から2種類の音量を取得し、それぞれに基づいて、キャラクター画像301の左右の向きだけでなく、上下の向きも変化させる。
【0144】
すなわち、これまでの実施形態1および2では、検知部203によって検知された音声から、決定部204が音量を取得するときには、音声を所定の区間長によって平均化することで取得した。本実施形態では、異なる2つの時間長、すなわち所定の第1の区間長と所定の第2の区間長とによって別々に平均化し、それぞれ第1の音量と第2の音量の2つの音量を得る。
【0145】
例えば本実施形態では、所定の第1の区間長を、所定の第2の区間長よりも、長い区間長にとる。この場合、所定の第1の区間長によって平均化された第1の音量は、ユーザから発せられた音声に周波数の低い成分、すなわち低い音の成分がより多く含まれていた場合に、大きくなる。これに対して、所定の第2の区間長によって平均化された第2の音量は、ユーザから発せられた音声に周波数の高い成分、すなわち高い音の成分がより多く含まれていた場合に、大きくなる。
【0146】
このように取得された第1の音量と第2の音量に基づいて、本実施形態のキャラクター表示装置200は、仮想キャラクター401の左右の向きと上下の向きをそれぞれ変化させる。具体的には、決定部204が、
(p)検知された音声から所定の第1の区間長によって平均化された、第1の音量に基づいて、仮想キャラクター401の左右の向きの変化を決定し、
(q)検知された音声から所定の第2の区間長によって平均化された、第2の音量に基づいて、仮想キャラクター401の上下の向きの変化を決定する。
そして、実施形態1および2と同様に、更新部205が、決定された左右および上下の変化により記憶された向きを更新し、表示部202が、左右および上下の向きが更新された仮想キャラクター401の様子を表す画像を生成し、表示画面300内にキャラクター画像301として表示する。以下、図13を参照して説明する。
【0147】
図13は、本実施形態において、ユーザ501からの音声に基づいてキャラクター画像301が変化する様子を表した図である。ここで図13(a)、(b)ともに、実施形態1における図3および図5、そして実施形態2における図10A(b)および図10B(b)と同じく、表示画面300内にはキャラクター画像301とメッセージウィンドウ302、そしてその他の背景画像が表示されている。そして、表示画面300を表示しているキャラクター表示装置200の表示部202には、モノラルマイク502が接続されている。
【0148】
図13(a)では、ユーザ501はモノラルマイク502へ向けて何も音声を発していない。このとき、キャラクター画像301は、表示画面300を見ているユーザ501から見て左方向を向いており、かつキャラクター画像301の頭部分は、下方向を向いている。本実施形態では、検知部203が音声をまだ何も検知していない状態、すなわち初期状態では、キャラクター画像301は、このような図13(a)に示されるような向きにあるとする。ここから検知部203が音声を検知すると、すなわちユーザ501が
モノラルマイク502に向かって声を発すると、キャラクター画像301の向きは、図13(b)に示されたような向きに変化する。
【0149】
図13(b)では、ユーザ501はモノラルマイク502へ向けて「Hello!!」と発声している。このとき、キャラクター画像301は、図13(a)から比べて、左右の向きは正面向きとなり、かつ頭部分は、上方向を向いている。すなわちここでは、検知された音声から、所定の第1の区間長によって平均化された第1の音量により、キャラクター画像301の向きが左向きから正面向きへ変化しており、さらに、検知された音声から、所定の第2の区間長によって平均化された第2の音量により、キャラクター画像301の頭部分の向きが下向きから上向きへ変化している。このような仮想キャラクター401の向きの変化を、図14を参照してより定量的に説明する。
【0150】
図14は、実施形態3における、検知部203が検知した音声の音量と、仮想キャラクター401の向きを定める角度との関係を示したグラフである。とくに、図14(a)は、第1の音量と仮想キャラクター401の左右の向きを定める角度との関係を示した図であり、図14(b)は、第2の音量と仮想キャラクター401の上下の向きを定める角度との関係を示した図である。ここで、横軸には検知した音声から取得した第1の、または第2の音量をとり、グラフの右側ほど音量は大きくなる。そして、縦軸には仮想キャラクター401の左右、または上下の向きを定める角度をとり、グラフの上側ほど、仮想キャラクター401の向きは大きく左、または上を向いているということを表している。
【0151】
まず、図14(a)において、第1の区間長によって平均化された第1の音量がない場合には、仮想キャラクター401は、あらかじめ定められた所定角度403の左向きにある。ここから第1の音量が徐々に大きくなるにしたがって、仮想キャラクター401の向きは、徐々に正面向きに近づいていく。そして第1の音量が所定の第1の閾音量に達すると、角度は0°に達し、仮想キャラクター401は仮想カメラ402に対して真正面を向く、すなわちキャラクター画像301は表示画面300内において正面向きに表示されることになる。さらに所定の第1の閾音量以上の第1の音量を含む音声を検知した場合にも、正面向きのままとなる。
【0152】
一方、図14(b)において、第2の区間長によって平均化された第2の音量がない場合には、仮想キャラクター401は、あらかじめ定められた所定の下向き角度の向きにある。ここから第2の音量が徐々に大きくなるにしたがって、仮想キャラクター401は、徐々に上へ向きを変化させる。そして第2の音量が所定の第2の閾音量に達すると、角度は所定の上向き角度に達し、上を向いたキャラクター画像301が表示画面300内に表示されることになる。さらに所定の第2の閾音量以上の第2の音量を含む音声を検知した場合にも、所定の上向き角度の向きのままとなる。
【0153】
なお、本実施形態での検知部203は、モノラルマイク502に限られず、ステレオマイク503であってもよい。ステレオマイク503を用いる場合は、左右のマイク504a,504bにおいて検知された音声のそれぞれから、第1の区間長によって平均化された第1の音量と、第2の区間長によって平均化された第2の音量とを取得する。そして、例えば、左右のマイク504a,504bにおける第1の音量の差と、第2の音量の差に基づいて、それぞれキャラクター画像301の左右の向きと上下の向きとを変化させる、という形態にすることができる。
【0154】
このようにユーザ501が声を発したのに応じて左右の向きを正面向きに変化させるだけでなく、上下の向きを上向きに変化させることで、あたかもキャラクター画像301が頭を上げて話をしているかのように見せかけることができ、会話をしている相手のユーザにとってより臨場感をもって会話をすることができるようになる。
【0155】
図15は、本発明の実施形態3のキャラクター表示装置200に係る処理の流れを示すフローチャートである。ここまで説明してきた本実施形態における処理の流れをまとめて、以下に説明する。本フローチャートは、実施形態1におけるフローチャート(図8)のものを基本的には踏襲しているが、図8におけるステップS802、S804、S805の処理にかわり、本実施形態の独自の処理(図15にて点線で囲われた部分)が入る。
【0156】
すなわち本実施形態のキャラクター表示装置200は、本処理が開始され、各種の情報の初期化を行った(ステップS801)後、表示部202が、所定角度403の左向き、および所定の下向き角度のキャラクター画像301を、垂直同期割り込みを待った後で、表示画面300に表示する(ステップS1501)。すなわち、検知部203によって音声が検知されていない状況において、本実施形態ではまず初期状態として、図13(a)に示したような向きのキャラクター画像301が表示される。
【0157】
さらに本実施形態では、検知部203が、ユーザ501から音声を検知したかどうかを判定し(ステップS803)、検知されたと判定された場合(ステップS803;YES)、決定部204が、まず検知された音声から所定の第1の区間長によって平均化された第1の音量を取得する(ステップS1502)。ここで、平均化するためにとる第1の区間(区間長をT1とする)は、現時刻をt1として、時刻t1−T1から時刻t1までの間の区間、とする。すなわち、検知された音声を、現時刻t1を基準に、過去T1の時間の間で平均化することで、第1の音量を得る。
【0158】
そして、得られた第1の音量に基づき、仮想キャラクター401の左右の向きの変化を決定する(ステップS1503)。ここでの向きの変化の決定には、図14(a)に示した第1の音量と仮想キャラクター401の左右の向きを定める角度との関係を用いる。
【0159】
引き続きその後、検知された音声から所定の第2の区間長によって平均化された第2の音量を取得する(ステップS1504)。ここで、平均化するためにとる第2の区間(区間長をT2とする)は、現時刻をt2として、時刻t2−T2から時刻t2までの間の区間、とする。すなわち、検知された音声を、現時刻t2を基準に、過去T2の時間の間で平均化することで、第2の音量を得る。
【0160】
そして、得られた第2の音量に基づき、仮想キャラクター401の上下の向きの変化を決定する(ステップS1505)。ここでの向きの変化の決定には、図14(b)に示した第2の音量と仮想キャラクター401の上下の向きを定める角度との関係を用いる。
【0161】
このように仮想キャラクター401の左右と上下の向きの変化が決定されると、さらに本実施形態におけるキャラクター表示装置200は、更新部205が、決定された変化により、仮想キャラクター401の左右と上下向きを更新する(ステップS1506)。
【0162】
なお、上記のステップS1502とステップS1504の処理は、時系列順に行うように述べたが、同時に行ってもよい。すなわち、検知された音声から、所定の第1の区間長T1によって平均化する処理と、所定の第2の区間長T2によって平均化する処理とは、同じ時刻t0を基準として、時刻t0−T1から時刻t0までの間の区間と、時刻t0−T2から時刻t0までの間の区間とから平均化してもよい。
【0163】
本実施形態ではその後、実施形態1と同様に、向きを更新する際に角加速度が所定の閾値を超えたかどうかを判定する処理から、表示部202が更新された向きのキャラクター画像301を、垂直同期を待ってから表示画面300に表示するまでの処理(ステップS806〜S809)を行い、ステップS803へ戻って、検知部203による音声の検知の判定を再び行う。
【0164】
そして、ユーザ501からの音声が検知されている間は、ステップS1502〜S1506、ステップS806〜S809までの処理を繰り返すことになる。すなわち、垂直同期ごとに、2つの区間長(T1とT2)で平均化された2つの音量を取得し、それに基づいて左右と上下の向きを更新したキャラクター画像301を表示画面300に表示することになる。
【0165】
このような構成により、本実施形態におけるキャラクター表示装置200は、1人のユーザが発した1つの音声から、画面内のキャラクターの左右と上下という異なる2つの向きの変化をさせることができる。
【0166】
その結果、ユーザ501に対応付けられたキャラクター画像301に対して、より複雑な動きをとらせることができ、ユーザは、臨場感や親近感を高めながら会話を楽しむことができるようになる。
【産業上の利用可能性】
【0167】
以上説明したように、キャラクターにユーザの音声に応じた動作をさせることで、ユーザの視覚に訴えながら、快適に会話を楽しむのに好適なキャラクター表示装置、キャラクター表示方法、ならびに、プログラムを提供することができる。
【符号の説明】
【0168】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
200 キャラクター表示装置
201 記憶部
202 表示部
203 検知部
204 決定部
205 更新部
300 表示画面
301 キャラクター画像
302 メッセージウィンドウ
303 瞳画像
304 会話内容
400 仮想空間
401 仮想キャラクター
402 仮想カメラ
403 所定角度
404 仮想瞳
501 ユーザ
502 モノラルマイク
503 ステレオマイク
504a 左のマイク
504b 右のマイク
510a 左の位置
510b 右の位置

【特許請求の範囲】
【請求項1】
仮想空間内に配置されるキャラクターの向きが記憶される記憶部、
前記キャラクターが前記記憶された向きで前記仮想空間内に配置された様子を表す画像を、画面に表示する表示部、
ユーザからの音声を検知する検知部、
前記検知された音声の音量に基づいて、前記キャラクターの向きの変化を決定する決定部、
前記決定された変化により、前記記憶された向きを更新する更新部
を備えることを特徴とするキャラクター表示装置。
【請求項2】
請求項1に記載のキャラクター表示装置であって、
前記検知部は、モノラルマイクにより音声を検知し、
前記キャラクターの向きが取りうる範囲は、正面向きと、左右いずれかの所定角度の横向きと、の間であり、
前記決定部は、前記検知された音声の音量が大きければ大きいほど、前記キャラクターの向きが前記正面向きに近づくように、前記変化を決定する、
ことを特徴とするキャラクター表示装置。
【請求項3】
請求項1に記載のキャラクター表示装置であって、
前記検知部は、ステレオマイクにより音声を検知し、
前記決定部は、前記ステレオマイクにより検知された音声の左右の音量の差に基づいて、前記キャラクターの向きの変化を決定する、
ことを特徴とするキャラクター表示装置。
【請求項4】
請求項3に記載のキャラクター表示装置であって、
前記キャラクターの向きが取りうる範囲は、正面向きを含む左右それぞれの所定角度の横向きの間であり、
前記決定部は、
(a)前記ステレオマイクにより検知された音声の左右の音量の差が小さければ小さいほど、前記キャラクターの向きが前記正面向きに近づき、
(b)前記ステレオマイクにより検知された音声の左の音量が、右の音量よりも大きければ大きいほど、前記キャラクターの向きが前記左の所定角度の横向きに近づき、
(c)前記ステレオマイクにより検知された音声の右の音量が、左の音量よりも大きければ大きいほど、前記キャラクターの向きが前記右の所定角度の横向きに近づく、
ように前記変化を決定する、
ことを特徴とするキャラクター表示装置。
【請求項5】
請求項1から4のいずれか1項に記載のキャラクター表示装置であって、
前記決定部は、
(p)前記検知された音声から所定の第1の区間長によって平均化された、第1の音量に基づいて、前記キャラクターの左右の向きの変化を決定し、
(q)前記検知された音声から所定の第2の区間長によって平均化された、第2の音量に基づいて、前記キャラクターの上下の向きの変化を決定する、
ことを特徴とするキャラクター表示装置。
【請求項6】
請求項1から5のいずれか1項に記載のキャラクター表示装置であって、
前記更新部は、前記キャラクターの視線を正面に向けたまま、前記記憶された向きを更新する、
ことを特徴とするキャラクター表示装置。
【請求項7】
請求項1から6のいずれか1項に記載のキャラクター表示装置であって、
前記更新部は、角加速度が所定の閾値を超えないように、前記記憶された向きを更新する、
ことを特徴とするキャラクター表示装置。
【請求項8】
記憶部、表示部、検知部、決定部、更新部を備えるキャラクター表示装置が実行するキャラクター表示方法であって、
前記記憶部には、仮想空間内に配置されるキャラクターの向きが記憶され、
前記表示部が、前記キャラクターが前記記憶された向きで前記仮想空間内に配置された様子を表す画像を、画面に表示する表示工程、
前記検知部が、ユーザからの音声を検知する検知工程、
前記決定部が、前記検知された音声の音量に基づいて、前記キャラクターの向きの変化を決定する決定工程、
前記更新部が、前記決定された変化により、前記記憶された向きを更新する更新工程
を備えることを特徴とするキャラクター表示方法。
【請求項9】
コンピュータを、
仮想空間内に配置されるキャラクターの向きが記憶される記憶部、
前記キャラクターが前記記憶された向きで前記仮想空間内に配置された様子を表す画像を、画面に表示する表示部、
ユーザからの音声を検知する検知部、
前記検知された音声の音量に基づいて、前記キャラクターの向きの変化を決定する決定部、
前記決定された変化により、前記記憶された向きを更新する更新部
として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2012−50791(P2012−50791A)
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願番号】特願2010−198089(P2010−198089)
【出願日】平成22年9月3日(2010.9.3)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】