(57)【要約】【課題】三次元仮想現実空間におけるボイスチャットによるアバタ同士の会話について、よりリアリティが得られるようにする。【解決手段】ボイスチャットに用いられる音声データについては、先ず声質変換処理部３０７により声質変換処理を実行する。これにより、ボイスチャットにより発せられる音声は、ユーザのものとしてではなく、分身の音声であるとして認識されることになる。また、これと共に、発話アバタに設定した心拍数情報に基づいて、音声データの時間短縮を行うと共に、無音区間に対しては息継ぎ波形を挿入するようにされる。これにより、ボイスチャットの音声（アバタの発話音声）は、発話速度が早くなったり、ゆっくりとしたものになったりする、という変化が得られ、また、発話途中で息継ぎもしている発話音声が得られることとなり、発声音声による感情状態が表現される。【選択図】図１７
2005322125.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークと接続される複数の端末装置において、これら複数の端末装置ごとのユーザの分身が存在する三次元仮想現実空間を表示させる表示手段と、
上記ユーザの発した音声を、このユーザの分身に対応する音声データとして取得する音声データ取得手段と、
上記音声データ取得手段により取得された音声データについて、上記ユーザの発した音声とは異なる声質を有するとされる音声データに変換する処理を実行する声質変換手段と、
上記このユーザの分身が三次元仮想現実空間内におかれている状況に応じて、この分身に設定される所定の生体的な状態を示す情報に基づいて、上記音声データ取得手段により取得された音声データの時間軸方向についての可変処理を実行する可変処理手段と、
上記声質変換手段及び上記可変処理手段による処理後の音声データについて、上記このユーザの分身が発話する音声として、上記端末装置において再生出力させる再生出力手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
上記情報処理システムは、
上記複数の端末装置と、これら複数の端末装置とネットワーク経由で接続されるサーバとから成り、
上記声質変換手段及び可変処理手段は、上記サーバにおいて備えられることを特徴とする請求項１記載の情報処理システム。
【請求項３】
上記可変処理手段により時間軸方向が可変された音声データに対して、感情を表現し得るとされる発声音声に対応する所定の挿入用音声データを挿入する音声データ挿入手段、
をさらに備えることを特徴とする請求項１に記載の情報処理システム。
【請求項４】
上記音声データ挿入手段は、
上記可変処理手段による処理対象の音声データについての無音区間を検出する検出手段を備えて、上記無音区間検出手段により検出された無音区間に対して、上記挿入用音声データを挿入するようにされている、
ことを特徴とする請求項３に記載の情報処理システム。
【請求項５】
ネットワークと接続される複数の端末装置において、これら複数の端末装置ごとのユーザの分身が存在する三次元仮想現実空間を表示させる表示ステップと、
上記ユーザの発した音声を、このユーザの分身に対応する音声データとして取得する音声データ取得ステップと、
上記音声データ取得ステップにより取得された音声データについて、上記ユーザの発した音声とは異なる声質を有するとされる音声データに変換する処理を実行する声質変換ステップと、
上記このユーザの分身が三次元仮想現実空間内におかれている状況に応じて、この分身に設定される所定の生体的な状態を示す情報に基づいて、上記音声データ取得ステップにより取得された音声データの時間軸方向についての可変処理を実行する可変処理ステップと、
上記声質変換ステップ及び上記可変処理ステップによる処理後の音声データについて、上記このユーザの分身が発話する音声として、上記端末装置において再生出力させる再生出力ステップと、を行なう、
ことを特徴とする情報処理方法。
【請求項６】
ネットワークと接続される複数の端末装置において、これら複数の端末装置ごとのユーザの分身が存在する三次元仮想現実空間を表示させる表示ステップと、
上記ユーザの発した音声を、このユーザの分身に対応する音声データとして取得する音声データ取得ステップと、
上記音声データ取得ステップにより取得された音声データについて、上記ユーザの発した音声とは異なる声質を有するとされる音声データに変換する処理を実行する声質変換ステップと、
上記このユーザの分身が三次元仮想現実空間内におかれている状況に応じて、この分身に設定される所定の生体的な状態を示す情報に基づいて、上記音声データ取得ステップにより取得された音声データの時間軸方向についての可変処理を実行する可変処理ステップと、
上記声質変換ステップ及び上記可変処理ステップによる処理後の音声データについて、上記このユーザの分身が発話する音声として、上記端末装置において再生出力させる再生出力ステップとを、
情報処理システムを形成する情報処理装置に実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元仮想現実空間共有を実現するための情報処理システム、情報処理方法およびプログラムに関するものである。
【背景技術】
【０００２】
例えばネットワーク上でのクライアント端末装置（パーソナルコンピュータなど）がサーバと通信を行うことで、これらのクライアント端末装置の間で、三次元仮想現実空間を共有するようにしたシステムが提案、開発されてきている。このような三次元仮想現実空間では、アバタといわれるクライアント端末装置のユーザの分身を存在させる。そして、クライアント端末装置のユーザは、いわゆるチャットを行うことにより、他のアバタと自身のアバタとを会話させることができる。このチャットによるアバタ同士のコミュニケーションが、現実には、クライアント端末装置のユーザ同士のコミュニケーションとなる。
【０００３】
また、チャットといわれるリアルタイムのコミュニケーションの手法は、もともとは、文字入力と文字表示を利用したテキストベースによるものとされていたが、近年においては、音声をベースとした音声チャット（ボイスチャット）も広く行われるようになってきている。これに応じて、三次元仮想現実空間共有システムにおいても、アバタ同士のコミュニケーションをボイスチャットにより行えるように構築したものが知られるようになってきてきている。つまり、クライアント端末装置のユーザがボイスチャットを行なうことで、三次元仮想現実空間内では、アバタ同士が同様に音声により会話をするようにしてコミュニケーションをとるようにされる。
【０００４】
【特許文献１】特開平１０−２０７６８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のようにして、ボイスチャットを用いてアバタ同士をコミュニケーションさせることとした場合には、三次元仮想現実空間におけるアバタ同士の会話として、よりリアリティのあるものとするようにしたほうが、エンタテイメント性も高くなって好ましいということがいえる。
この観点から、上記特許文献１においては、ボイスチャットに応じてアバタが発するとされる音声の声質について、ユーザ操作により選択したり、また、微調整したりすることができるようになっている。
このようにして得られる音声は、アバタに対応するユーザ自身のものではなく、アバタに対応して変化されたものとなる。つまり、仮想的にはアバタそのものが発している音声として扱われるものである。このようにして、アバタごとに特有の声質によりボイスチャットが行われるようになることで、三次元仮想現実空間におけるリアリティは高まるものである。
【０００６】
しかしながら、三次元仮想現実空間におけるリアリティ向上のための余地は未だ残っているといえる。
例えば、上記のようにしてアバタに設定される声質は、最初の設定によって固定的に決まってしまうものである。アバタは、三次元仮想現実空間内において生活しているものとしてみることができるが、このことに鑑みれば、アバタが置かれる状況というのは、三次元仮想現実空間内における周囲環境に応じて刻々と変化し得るものであるといえる。
このような周囲環境の変化が、ボイスチャットによる会話としてアバタ同士が発するとされる音声にも反映されるようにすれば、より三次元仮想現実空間のリアリティはさらに増すことになる。
【課題を解決するための手段】
【０００７】
そこで本発明は、上記した課題を考慮して、情報処理システムとして次のように構成する。
つまり、ネットワークと接続される複数の端末装置において、これら複数の端末装置ごとのユーザの分身が存在する三次元仮想現実空間を表示させる表示手段と、ユーザの発した音声を、このユーザの分身に対応する音声データとして取得する音声データ取得手段と、この音声データ取得手段により取得された音声データについて、ユーザの発した音声とは異なる声質を有するとされる音声データに変換する処理を実行する声質変換手段と、このユーザの分身が三次元仮想現実空間内におかれている状況に応じて、この分身に設定される所定の生体的な状態を示す情報に基づいて、音声データ取得手段により取得された音声データの時間軸方向についての可変処理を実行する可変処理手段と、声質変換手段及び可変処理手段による処理後の音声データについて、このユーザの分身が発話する音声として端末装置において再生出力させる再生出力手段とを備えて構成することとした。
【０００８】
また、情報処理方法として次のように構成する。
つまり、ネットワークと接続される複数の端末装置において、これら複数の端末装置のごとのユーザの分身が存在する三次元仮想現実空間を表示させる表示ステップと、ユーザの発した音声を、このユーザの分身に対応する音声データとして取得する音声データ取得ステップと、この音声データ取得ステップにより取得された音声データについて、ユーザの発した音声とは異なる声質を有するとされる音声データに変換する処理を実行する声質変換ステップと、このユーザの分身が三次元仮想現実空間内におかれている状況に応じて、この分身に設定される所定の生体的な状態を示す情報に基づいて、音声データ取得ステップにより取得された音声データの時間軸方向についての可変処理を実行する可変処理ステップと、声質変換ステップ及び可変処理ステップによる処理後の音声データについて、このユーザの分身が発話する音声として、端末装置において再生出力させる再生出力ステップとを行なうこととした。
【０００９】
また、プログラムとして、ネットワークと接続される複数の端末装置において、これら複数の端末装置のごとのユーザの分身が存在する三次元仮想現実空間を表示させる表示ステップと、ユーザの発した音声を、このユーザの分身に対応する音声データとして取得する音声データ取得ステップと、この音声データ取得ステップにより取得された音声データについて、ユーザの発した音声とは異なる声質を有するとされる音声データに変換する処理を実行する声質変換ステップと、このユーザの分身が三次元仮想現実空間内におかれている状況に応じて、この分身に設定される所定の生体的な状態を示す情報に基づいて、音声データ取得ステップにより取得された音声データの時間軸方向についての可変処理を実行する可変処理ステップと、声質変換ステップ及び可変処理ステップによる処理後の音声データについて、このユーザの分身が発話する音声として、端末装置において再生出力させる再生出力ステップとを、情報処理システムを形成する情報処理装置に実行させるように構成することとした。
【００１０】
上記各構成によれば、ネットワーク経由で、三次元仮想現実空間を複数の端末装置で共有する三次元仮想現実空間共有システムが構築されたうえで、端末装置のユーザの発した音声が、その分身の発する音声として出力されるようになっている。つまり、音声チャット（ボイスチャット）により三次元仮想現実空間内で分身同士の会話ができるようになっている。
そのうえで、ボイスチャット（分身の会話）に用いられる音声データについては、先ず声質変換の処理が行われる。これにより、ボイスチャットにより発せられる音声の声質はは、分身に適合したものとすることが可能となる。また、これと共に、三次元仮想現実空間の周囲環境に応じて分身に設定される所定の生体的な状態を示す情報に基づいて、音声データの時間軸方向が可変される。音声データの時間軸方向を可変するということは、音声として再生したときに、その発話の速度が早くなったり、ゆっくりとしたものになったりする、という変化が得られることであり、これは、例えば、三次元仮想現実空間において分身が置かれている状況に応じて与えられるとされる感情状態の変化を反映しているものであるといえる。
【発明の効果】
【００１１】
このことから本発明では、三次元仮想現実空間内の周囲状況に応じて、ボイスチャットにおける分身の発話状態がダイナミックに変化するようになっている。これにより、よりリアリティのある三次元仮想現実空間を楽しむことが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態としての情報処理システムについて説明していくこととする。本発明の情報処理システムは、クライアント端末となる複数のユーザ端末装置がサーバとネットワーク経由で接続されて情報の授受を行うことで、上記ユーザ端末装置間で、三次元仮想現実空間を共有する、三次元仮想現実空間共有システムとされる。
【００１３】
図１は、本実施の形態の三次元仮想現実空間共有システムの全体的な構築例を模式的に示している。
この図に示すようにして、本実施の形態の三次元仮想現実空間共有システムとしては、仮想現実空間対応サーバ１（以下、単にサーバ１ということにする）と、多数のユーザ端末装置２−１〜２−ｎとをネットワーク３経由で接続して構成される。ユーザ端末装置２−１〜２−ｎは、この場合にはパーソナルコンピュータなどとされ、三次元仮想現実空間共有システムに対応するアプリケーションソフトウェアがインストールされている。サーバ１は、三次元仮想現実空間共有システムにおいて、ユーザ端末装置２−１〜２−ｎの間で、適正に三次元仮想現実空間が共有されるように各種所要の管理を行なう。
本実施の形態の場合、ユーザ端末装置２により三次元仮想現実空間を再生（共有）するためには、ユーザ端末装置２がネットワーク３経由でサーバ１と接続して、各種所要の情報の送受信を行うようにされる。
なお、この図においては、ユーザ端末装置２としては、便宜上、ユーザ端末装置２−１，２−２の２台のみを示している。
【００１４】
本実施の形態の三次元仮想現実空間共有システムでは、各ユーザ端末装置２のユーザの分身であるアバタ（avatar；インド神話に登場する神の化身）を三次元仮想現実空間に存在させることができる。そして、三次元仮想現実空間のアバタは、ユーザ端末装置のユーザが音声チャット（ボイスチャット）を行うのに応じて発話できるようになっている。つまり、ユーザ端末装置のユーザ間でのボイスチャットによるコミュニケーションは、三次元仮想現実空間上では、各ユーザが対応するアバタ同士の会話によるコミュニケーションとなる。
このようなボイスチャットを行うために、ユーザ端末装置２に対しては、それぞれ発話装置１１１、及び受話装置１１２が接続される。
発話装置１１１は、例えばマイクロフォンなどとされ、ユーザが発話したことにより発せられた音声を収音して音声信号に変換し、接続されたユーザ端末装置２に対して入力する。
また、受話装置１１２は、後述するようにしてネットワーク３経由で、サーバ１から送信されてきたチャット音声データを受信取得して得られる音声信号を、音声として再生する。従って、この受話装置１１２を装着しているユーザには、ボイスチャットに応じたアバタの発話内容が聞こえることになる。また、本実施の形態では、アバタの会話などが、よりリアリティのあるものとなるように、チャット音声信号は、Ｌ（左）ｃｈ／Ｒ（右）ｃｈの２チャンネルによるバーチャルサラウンドによる音声信号とされている。受話装置１１２は、これに対応してＬｃｈ／Ｒｃｈに対応するレシーバ部位を備えた構成を採っている。
【００１５】
図２は、上記三次元仮想現実空間共有システムにより、ユーザ端末装置２の間で共有される三次元仮想現実空間のイメージを示している。この場合の三次元仮想現実空間としては、例えば町（市街地）的なものとなっており、この空間内において、ユーザ端末装置２ごとのユーザに対応するアバタが存在するようにされている。この図では、市街地の道路に、二人のアバタＡ，アバタＢが見えている状態が示されている。このアバタは、例えば対応するユーザによるユーザ端末装置２に対する操作に応じて、位置を移動することができる。また、視点（視ているとされる方向）を変えることができる。
また、例えばアバタＡとアバタＢにそれぞれ対応するユーザがボイスチャットを行うことで、アバタＡとアバタＢによる会話として、現実のユーザ同士のコミュニケーションを採ることができる。
【００１６】
そして、例えばアバタＡに対応するユーザのユーザ端末装置２のディスプレイモニタ１０９では、三次元仮想現実空間におけるアバタＡの位置及び視点とに基づいて、図３に示される三次元仮想現実空間の画像が表示される。つまり、あたかもアバタＡの視点から、三次元仮想現実空間内の景色を見ているかのようにして表示が行われる。
【００１７】
図４のブロック図は、ユーザ端末装置２とされるパーソナルコンピュータとしての構成例を示している。
この図に示すユーザ端末装置２は、ネットワーク３を介しての通信を行うために、ネットワークインターフェイス１１０を備えている。このネットワークインターフェイス１１０が備えられることによって、パーソナルコンピュータ１は、ネットワークを介して、例えばサーバ１と接続することが可能となる。
なお、このネットワークインターフェイス１１０の実際としては、例えばＬＡＮ(Local Area Network)に対応するのであれば、ＬＡＮに対応した通信プロトコルに準拠した構成が採られるべきものである。また、インターネットに対応するのであれば、例えばＴＣＰ／ＩＰ(Transmission Control Protocol/Internet Protocol)の通信プロトコルに従った構成が採られるべきものとなる。
【００１８】
ＣＰＵ(Central Processing Unit)１０１は、例えばハードディスクドライブ１０８にインストールされたＯＳ(Operating System)、及び各種のアプリケーションプログラム、また、ＲＯＭ１０２に保持されているプログラムに従って各種の処理を実行可能とされる。本実施の形態においては、例えばハードディスクドライブ１０８に対して、三次元仮想現実空間共有システムの端末として機能するためのアプリケーションプログラムがインストールされている。
また、ＲＡＭ１０３はＣＰＵ１０１のための作業領域であり、ＣＰＵ１０１が各種処理を実行するのに必要なデータやプログラム等が適宜保持される。
【００１９】
この場合の入出力インターフェイス１０４には、例えば、入力デバイスとして、キーボード１０５とマウス１０６が接続されており、これらから供給された操作信号をＣＰＵ１０１に出力するようにされている。
また、入出力インターフェイス１０４には、メディアドライブ１０７が接続されている。このメディアドライブ１０７は、装填された所定フォーマットのメディアに対するデータの記録再生が可能な構成なドライブとして構成されている。
【００２０】
また、入出力インターフェイス１０４には、記憶媒体としてハードディスクを備えたハードディスクドライブ１０８が接続されている。ＣＰＵ１０１は、入出力インターフェイス１０４を介して、ハードディスクドライブ１０８のハードディスクに対してデータやプログラム等の記録又は読み出しを行うことができるようにされている。
また、入出力インターフェイス１０４には、画像表示のためのディスプレイモニタ１０９も接続されている。
【００２１】
さらに、この場合には、図１にも示されていた、送話装置１１１及び受話装置１１２も接続されている。送話装置１１１により収音して得られた音声信号は、例えば入出力インターフェイスが備えるとされるＡ／Ｄ変換処理機能によってデジタル音声信号に変換され、内部バス１１３を経由して、ＣＰＵ１０１側に入力される。ＣＰＵ１０１は、例えば必要に応じてＲＡＭ１０３を作業領域として利用して、このデジタル音声信号について符号化等をはじめとした所要の信号処理を施し、ネットワークインターフェイス１１０において例えばパケット化などの送信データ処理を実行させたうえで、ネットワーク３経由でサーバ１に対してチャット音声データとして送信出力する。
【００２２】
また、サーバ１からネットワーク３経由で送信されてきたチャット音声データは、ネットワークインターフェイス１１０にて受信されてパケット抽出などが行われる。このようにして得られたチャット音声データは、ＣＰＵ１０１の制御によって、例えば必要に応じて、ＲＡＭ１０３を作業領域として使用して、符号化に対する復号処理、及びバーチャルサラウンド再生処理などの所要の信号処理が施されたうえで、入出力インターフェイス１０４に対して転送される。入出力インターフェイス１０４では、例えば、Ｌｃｈ，Ｒｃｈのデジタル音声信号として入力されてきたチャット音声データについて、アナログ音声信号に変換して増幅処理などを行ったうえで、受話装置１１２に対して出力する。
【００２３】
内部バス１１３は、例えば、ＰＣＩ(Peripheral Component Interconnect)又はローカルバス等により構成され、内部におけるデバイス間を相互に接続している。
【００２４】
図５のブロック図は、サーバ１の構成例を示している。
サーバ１としても、ネットワークインターフェイス２０６を備えることで、ネットワーク３との接続を可能にしており、これにより、ネットワーク３を経由してアクセスしてきたユーザ端末装置２との通信（情報送受信）を行うことが可能とされる。
【００２５】
ＣＰＵ２０１は、例えば記憶部２０４にインストールされたプログラム、また、ＲＯＭ２０２に保持されているプログラムに従って各種の処理を実行可能とされる。本実施の形態では、例えば三次元仮想現実空間共有システムのサーバとしての機能を実現するためのプログラムがインストールされている。ＲＡＭ２０３はＣＰＵ２０１のための作業領域であり、ＣＰＵ２０１が各種処理を実行するのに必要なデータやプログラム等が適宜保持される。
【００２６】
記憶部２０４は、例えばＨＤＤ（ハードディスクドライブ）などを備える大容量の記憶装置部とされる。この記憶部２０４には、上記したプログラムのほか、このプログラムの実行にあたってＣＰＵが参照、使用することとなる各種の情報、データなどが記憶される。
【００２７】
音声データ処理部２０５は、ネットワーク３経由でユーザ端末装置２から送信されてくるチャット音声データについて所定の信号処理を施すための機能部位とされる。なお、この音声データ処理部２０５の具体的構成例については後述する。また、この図では、音声データ処理部２０５は、１つの独立したハードウェアによる機能部位のようにして示されているが、例えば、この音声データ処理部２０５としての構成は、ＣＰＵ２０１がプログラムに従って実行する処理として実現されるものであっても良い。
内部バス２０７は、例えば図示しているように、サーバ１を構成する内部のデバイスなどを通信可能に接続するための、ローカルのデータバスである。
【００２８】
続いて、三次元仮想現実空間共有のためにユーザ端末装置２とサーバ１が実行する処理、動作について説明を行っていくこととする。
以降説明する、ユーザ端末装置２とサーバ１が実行する処理は、プログラムに従ってＣＰＵ１０１，２０１が実行するものとされるが、このプログラムとしては次のようなものであるとされる。
【００２９】
三次元グラフィックス・データの記述言語として、ＷＷＷを拡張したもので、三次元空間の記述や、三次元グラフィックスで描画されたオブジェクトに対してハイパーテキストのリンクの設定を可能とし、これらのリンクをたどりながらＷＷＷサーバ端末を次々とアクセスできるようにした、ＶＲＭＬ(Virtual Reality Modeling Language)が知られている。また、ＶＲＭＬを拡張したＥ−ＶＲＭＬ（Enhanced Virtual Reality Modeling Language)も知られるようになってきている。そして、これに伴って、ＶＲＭＬ、Ｅ−ＶＲＭＬで記述された仮想空間をパーソナルコンピュータやワークステーションで描画するためのＶＲＭＬビューワも開発されている。
ユーザ端末装置２においては、このＶＲＭＬビューワの機能を実現するアプリケーションプログラムがインストールされているものとされ、以降説明する処理は、このアプリケーションプログラムに従った処理となるものである。
また、サーバ１には、上記ＶＲＭＬビューワのアプリケーションプログラムから接続されることで、三次元仮想現実空間の提供を可能とする、ビューロ（Bureau）としてのプログラムがインストールされ、以降説明する処理は、このプログラムに従った処理となるものである。
【００３０】
また、以降の説明を行うのにあたって、サーバ１の記憶部２０４に記憶され、上記ビューロのプログラムが使用するとされる情報について、図６及び図７を参照して説明しておく。
図６（ａ）には、アバタ属性テーブルが示される。
このアバタ属性テーブルは、１つの完結した三次元仮想現実空間に現在存在しているとされるアバタごとについての属性を示すテーブル情報である。アバタごとの情報項目としては、図示するようにして、アバタＩＤ、ボイスチャットフラグ、及び状態パラメータから成る。また、状態パラメータとして、ここでは、位置座標、視線ベクトル、性別、年齢、心拍数、装備品データが定義されている。
【００３１】
アバタＩＤは、アバタごとに固有となるＩＤである。アバタは、一人のユーザ、つまり端末装置２と対応しているから、アバタＩＤは、そのアバタが対応するユーザが使用するユーザ端末装置２を特定することにもなる。
ボイスチャットフラグは、そのアバタについて、現在、ボイスチャットが可能／不可のいずれに設定されているかを示すフラグである。
位置座標は、三次元仮想現実空間内におけるそのアバタの存在位置を座標として示している。
視線ベクトルは、そのアバタの視線の方向をベクトルにより表現している。
性別、年齢は、それぞれ、そのアバタについて設定した性別と年齢を示す。
心拍数は、アバタについての仮想的な生体情報として扱われるもので、アバタが現実に生きているとした場合の心拍数を示す。
【００３２】
本実施の形態において、心拍数の情報は、そのアバタについての感情状態を主に示すものとされる。例えば、三次元仮想現実空間内において、遊園地などの楽しそうな場所にアバタが位置しているときには、そのアバタは楽しくて興奮しているとして捉え、心拍数について、例えば平常値よりも高い所定値を設定するようにされる。
また、上記説明から理解されるように、この心拍数の情報は、少なくとも、三次元仮想現実空間内におけるアバタの位置に応じて変化し得るものである。また、同じ位置であっても、アバタの視線によっては、その視線の先に見える物に応じて感情が変化し、これに応じて心拍数も変化し得ることが考えられる。また、近くにいるとされるアバタがどのようなキャラクタであるのかなどによっても変化し得る。さらには、アバタが装着している装備品などがどのようなものであるのかによっても変化することが考えられる。つまり、アバタの行動に応じて、上記したことをはじめとする周囲状況の変化にに応じて心拍数は変化し得るものとされる。
サーバ１では、このような周囲状況変化に対応する各種の所定の条件を設定しているようにされる。そして、アバタの行動に応じて変化する周囲状況に応じて、上記設定した条件との合致を逐次監視し、何らかの条件に適合したときに、心拍数の値を変更（更新）するようにされる。
【００３３】
アバタごとに対応する装備品データは、さらに図６（ｂ）に示すテーブル構造を有するものとされる。
装備品データは、装備品ＩＤごとに、装着フラグ、レベル係数LVos、LVorが対応付けられている。
装備品ＩＤは、アバタが装着可能なものとして用意された、例えば衣服、アクセサリ、めがね、マスクなどをはじめとした装備品ごとに固有となるようにして与えられるＩＤである。装着フラグは、対応する装備品ＩＤが示す装備品を、アバタが装着しているか否かを示すフラグである。アバタが、その装備品を装着しているのであれば、「装着」を示すフラグの値がセットされる。また、その装備品は単に所持しているだけで装着していないのであれば、「非装着」を示すフラグの値がセットされる。
レベル係数LVosは、その装備品の装着／非装着に応じた、アバタの発話音声のレベルを示すものとされる。このレベル係数LVosの基準値（初期値）は１．０であり、また、この基準値がレベル係数LVosとしてとり得る最大値となる。
例えば装備品ＩＤ＝０１の装備品がマスクであるとする。このマスクが非装着であるとされる場合には、特にアバタの発話音声の音量はマスクによって抑えられることがないから、レベル係数LVosは基準値の１．０を維持するのであるが、図９（ｂ）では、装着フラグが「装着」を示している。この場合、アバタの発話音声の音量はマスクによって抑えられる（こもる）ことになるとして、レベル係数LVosは、１．０よりも低い値をセットするようにされる。この場合には、例として、レベル係数LVosについて０．７をセットしている。
【００３４】
また、レベル係数LVorは、その装備品の装着／非装着に応じたアバタの周囲音声の聞き取りやすさを示す。このレベル係数LVorも基準値は１．０であり、レベル係数LVosとしてとり得る最大値となる。
ここで、例えば、装備品ＩＤ＝０２が示す装備品は耳まで覆われるヘルメットであるとする。これに対応する装着フラグは「装着」を示しているので、このアバタはヘルメットを装着していることになる。この場合、アバタとしては、ヘルメットを装着していることで周囲の音声を聞き取りにくくなっているとして、ここでは、レベル係数LVorについて、１．０より低い値として、０．５をセットしている。仮に、装着フラグが「非装着」を示していれば、アバタとしては、ヘルメットにより周囲の音が遮られることがないので、レベル係数LVorについて１．０がセットされる。
【００３５】
図７（ａ）には構造物属性テーブルが示される。
ここでの構造物は、三次元仮想現実空間内における町並みを形成するとされる要素である建築物などの基本オブジェクトをいう。
構造物属性テーブルは、構造物ＩＤごとに、構造物座標データ及びインデックスナンバーが対応付けられた構造を有する。
構造物ＩＤは、上記のようにして定義される構造物ごとに固有に与えられるＩＤであり、構造物座標データは、対応する構造物ＩＤにより特定される構造物の三次元仮想現実空間内における位置を座標値により示す。また、インデックスナンバは、図７（ｂ）に示すインパルス応答データベースにより管理されるインパルス応答データに付されているインデックスナンバを示す。つまり、複数のインパルス応答データのうちから、１つのインパルス応答データを指定する情報となる。
【００３６】
図７（ｂ）にはインパルス応答データベースを模式的に示している。
この図においては、複数のインパルス応答データの各々に対してそれぞれ異なるインデックスナンバが付されており、インパルス応答データベースとしては、複数の複数のインパルス応答データについてインデックスナンバにより管理していることが示されているものである。
例えば、図７（ａ）においては、構造物ＩＤ＝０１に対応するインデックスナンバは０１であるとして管理されているので、この構造物ＩＤ＝０１により特定される構造物に対応するインパルス応答データは、図７（ｂ）に示すようにして、インデックスナンバ０１が付されたものである、ということになる。
そして、このようにして対応付けられるインデックスナンバ０１のインパルス応答データは、構造物ＩＤ＝０１により特定される構造物についてのものとして扱われる。つまり、このインパルス応答データは、構造物ＩＤ＝０１に対応する構造物座標データの位置においてインパルスを与えたときに得られるインパルス応答の波形のデータとされるものである。そして、このインパルス応答波形は、構造物ＩＤ＝０１の構造物の形状、材質などに応じて決まるものとされる。
つまり、インパルス応答データベースには、構造物属性テーブルに登録されている構造物についての音響特性の情報をインパルス応答データとして管理しているものである。
【００３７】
図８は、ユーザ端末装置２が三次元仮想現実空間の共有を開始するために、ユーザ端末装置２とサーバ１との間で行われる通信の手順を示している。
サーバ１では、三次元仮想現実空間をいわゆる３Ｄ画像として表示（再生）することを可能とするデータをファイル（三次元画像データファイル）として管理するようにして、記憶部２０４に記憶している。また、本実施の形態では、この三次元画像データファイルは、例えば東京の町並みや、ニューヨークの町並み、その他の所定の地域の町などのように、異なる地域ごとに応じて用意されているものとされる。なお、この三次元画像データファイルは、その基本的な状態が変化することがなく、（変化するとしても、例えば、観覧車、ネオンサインなどのように自律的に変化する）、更新が伴わない静的なデータである。具体的には、仮想現実空間を構成する要素（オブジェクト）として、ビルディングや道路などのように複数のユーザが共通して利用するオブジェクトの３Ｄ画像データとなる。このような更新されることのないデータに対応するオブジェクトついては、ここでは基本オブジェクトということにする。
このようにしてサーバ１では、記憶部２０４に対して複数の三次元画像データファイルを記憶させていることになるが、これらの三次元画像データファイルとしては、ＷＷＷ（World Wide Web）のシステムに則って、ＵＲＬ（Uniform Resource Locator）を対応付けて管理するようにされる。
【００３８】
そこで、これより三次元仮想現実空間を共有しようとするユーザは、自身が所有するユーザ端末装置２に対する操作を行って、所望の三次元画像データファイルに対応するＵＲＬを入力するようにされる。この入力操作に応じた入力処理が図８におけるステップＳ１０１の処理となる。
そして、ステップＳ１０１によりＵＲＬが入力されたとすると、この後のユーザによる所定の送信操作に応じて、ステップＳ１０２によって、入力されたＵＲＬをサーバ１に対してネットワーク３経由で送信するための制御処理を実行する。
【００３９】
サーバ１では、上記ステップＳ１０２により送信されたＵＲＬを、ステップＳ２０１により受信するようにされる。そして、続くステップＳ２０２の処理として、この受信したＵＲＬの三次元画像データファイルを記憶部２０４から読み出して、ネットワーク３経由で、ＵＲＬの送信元であるユーザ端末装置２に対して送信するための制御処理を実行する。
【００４０】
ユーザ端末装置２では、上記のようにして送信された三次元画像データファイルをステップＳ１０３により受信取得する。この受信取得された三次元画像データファイルは、例えばこの段階では、ＲＡＭ２０３に書き込んで保持しておくようにされる。あるいは、ハードディスクドライブ１０８に記憶させておいても良い。
そして、ユーザ端末装置２側では、上記ステップＳ１０３による三次元画像データファイルの取得が正常に完了したことを確認したうえで、次のステップＳ１０４の処理によって、自己の分身となるアバタについてのオブジェクトデータを、サーバ１に対して送信する。
このアバタのオブジェクトデータは、少なくとも、後述するようにしてサーバ１が記憶保持するアバタ属性テーブルにおいて、アバタごとに設けられているテーブル項目についての情報内容に対応する。このアバタのオブジェクトデータによって、三次元仮想現実空間におけるアバタの姿形、位置、視点などが決定される。また、アバタの位置、視点などはユーザ操作などに応じて変化し、さらには、アバタの姿形などもアバタについてのキャラクター設定などに応じて変化し得るものである。従って、アバタに関連するオブジェクトは更新される可能性のあるオブジェクトであるということになる。このようなオブジェクトについては、先に説明した基本オブジェクトに対して可変オブジェクトということにする。
【００４１】
上記ステップＳ１０４によりユーザ端末装置２から送信されてきた自己アバタのオブジェクトデータは、サーバ１側においてステップＳ２０３により受信取得される。サーバ１では、この受信取得したオブジェクトデータを利用して、続くステップＳ２０４により、このオブジェクトデータが対応するアバタを、図６に示したアバタ属性テーブルに対して登録する。
【００４２】
続くステップＳ２０５の処理として、サーバ１は、先のステップＳ２０２により送信した三次元画像データファイルに対応する三次元仮想現実空間の地域に現在存在しているとされる他者のアバタについてのオブジェクトデータを、アバタ属性テーブルから読み出して、所定の構造により、ＵＲＬの送信元であるユーザ端末装置２に対して送信する。
ユーザ端末装置２では、ステップＳ１０５としての処理により、この送信されてきた他者のアバタのオブジェクトデータを受信取得する。
【００４３】
ここまでの処理により、ユーザ端末装置２では、三次元画像データファイルと、他者のアバタのオブジェクトデータを取得して保持していることになる。なお、自己のアバタのオブジェクトデータは、ユーザ端末装置２において常に管理して保持しているようにされる。
そこで、ユーザ端末装置２は、これらのファイル、データを利用して、ステップＳ１０６としての処理によって、三次元仮想現実空間の再生を開始する。
つまり、三次元画像データファイルに基づいて、三次元仮想現実空間としての町を３Ｄ画像により表示させる。このときに表示される画像としては、図３に示したようにして自己アバタが現在存在しているとされる位置（座標）と現在の視点に応じた視界によるものとなる。また、三次元仮想現実空間内においては、他者のアバタを、その他者のアバタのオブジェクトデータが示す位置、視点、装備品の装着状態により表示させるようにする。
【００４４】
上記図８に示すようにしてユーザ端末装置２にて三次元仮想現実空間の再生が開始された後において、三次元仮想現実空間共有システム（ユーザ端末装置２、サーバ１）が実行する各種の処理について説明していくこととする。
本実施の形態では、ユーザは、例えばキーボード１０５やマウス１０６などの入力デバイスを用いたユーザ端末装置２に対する所定操作により、三次元仮想現実空間内に存在する自己アバタについて、各種の変化を与えることができる。例として、自己アバタを移動させたり、また、顔の向いた方向を変えさせて視点方向を変えることができる。また、装備品を装着させたり、外させたりすることができる。さらに、後述するボイスチャットによるコミュニケーションの可／不可の設定も行える。このような自己アバタに関連するパラメータについて変化を与える結果となる操作を行ったことに対応する処理を、図９に示す。
【００４５】
先ず、図９においては、ユーザ端末装置２は、ステップＳ３０１の処理により、上記のようにして自己アバタに関連するパラメータの変更が発生するのを待機している。そして、自己アバタに関連するパラメータの変更が発生したとして肯定の判別結果が得られたとされると、ステップＳ３０２に進む。
【００４６】
ステップＳ３０２においては、上記ステップＳ３０１の処理に応じて発生したとされるパラメータの変更内容を示す更新情報を生成する。
そして、次のステップＳ３０３において、上記ステップＳ３０２により生成された更新情報を、ネットワーク３経由でサーバ１に対して送信するための制御を実行する。なお、このときには、更新情報の構造として、自己アバタのアバタＩＤも付加して送信するようにされる。また、アバタＩＤは、最初に自己アバタを設定してサーバ１にアクセスして三次元仮想現実空間を共有させるためのユーザ端末装置２とサーバ１との通信処理過程において発生するものとされる。つまり、ユーザ端末装置２においてはじめて自己アバタを設定してサーバ１に三次元仮想現実空間の共有を要求してアクセスするとき、ユーザ端末装置２からは、自己アバタのオブジェクトデータを送信するようにされる。サーバ１では、受信したアバタのオブジェクトデータについて、新規なものとして扱って、アバタ属性テーブルに登録するようにされるが、このときに、新規のアバタＩＤを発生してこの新規のアバタに付与するようにされる。そして、ユーザ端末装置２に対して、このアバタＩＤを通知するようにされる。なお、アバタＩＤには、ユーザ端末装置２との対応を考慮して、例えばユーザ端末装置２のＭＡＣ(Media Access Control)アドレスなどに基づいたものを採用することも考えられる。
【００４７】
サーバ１ではステップＳ４０１の処理により、ユーザ端末装置２から送信された更新情報が受信されるのを待機しており、更新情報が受信されたことを判別するとステップＳ４０２の処理に進む。
【００４８】
ステップＳ４０２においては、記憶部２０４に記憶しているアバタ属性テーブルから、受信した更新情報に付されたアバタＩＤに一致するアバタＩＤを検索する。そして、この検索したアバタＩＤに対応付けられている情報項目（図６（ａ）参照）について、更新情報が示す内容に更新する必要のあるものについては書き換えを行うようにされる。
例えば、更新情報としては、位置座標が更新されていたとすれば、そのアバタのアバタＩＤに対応付けられた位置座標の内容を書き換えるようにされる。また、これに伴う周囲環境の変化により所定条件を満たすこととなれば、その条件に応じて心拍数の情報についても書き換えを行うようにされる。
【００４９】
次のステップＳ４０３においては、上記ステップＳ４０２の処理によるアバタ属性テーブルの更新内容を示す更新情報を作成するようにされる。このようにして作成された更新情報は、ユーザ端末装置２から送信された更新情報の内容だけではなく、上記心拍数の情報のように、ユーザ端末装置２から送信された更新情報の内容に基づいてサーバ１側の処理によって更新した内容の情報も含まれている。
そして、続くステップＳ４０４の処理により、上記ステップＳ４０３により作成された更新情報を、ユーザ端末装置２側に対して送信する。このときに送信先となるユーザ端末装置２は、先のステップＳ４０１にて受信された更新情報を送信してきたとされるユーザ端末装置２に対応するアバタが存在する三次元仮想現実空間に、同じく存在しているとされる全アバタに対応するユーザ端末装置２となる。前述したように、本実施の形態においてアバタ属性テーブルは、異なる三次元仮想現実空間ごとに形成されるものとされる。従って、ステップＳ４０３では、先のステップＳ４０２において更新対象となったアバタ属性テーブルに記述される全アバタＩＤが対応するユーザ端末装置２に対して送信を行うようにされる。従って、このサーバ１からの更新情報が送信されてくるユーザ端末装置２は、先のステップＳ４０１にて受信された更新情報の送信元となるユーザ端末装置２を含む。
【００５０】
図１０のフローチャートは、上記図９のステップＳ４０４によりサーバ１から送信された更新情報の受信に対応したユーザ端末装置２の処理となる。
ユーザ端末装置２は、ステップＳ５０１としての処理により、サーバ１から送信されてくる更新情報が受信されるのを待機している。そして、更新情報を受信したとされると、ステップＳ５０２の処理に進む。
ステップＳ５０２においては、受信した更新情報に応じて、自身が取得保持してる自己及び他者のアバタのオブジェクトデータにおける必要情報項目についての更新を行なうようにされる。そして、次のステップＳ５０３において、この更新されたオブジェクトデータの内容に応じて、必要があれば、三次元仮想現実空間の表示を変更する。
【００５１】
これまでの説明から分かるように、図１０に示す処理は、図９に示したように、先ず、自己アバタについてパラメータ変更をしたユーザ端末装置２（ここでは、パラメータ変更ユーザ端末装置２という）が更新情報をサーバ１に送信する動作があってはじめて実行される。そして、このステップＳ５０２→Ｓ５０３の処理を実行するユーザ端末装置２としては、おおきくは、上記パラメータ変更ユーザ端末装置２と、これ以外のユーザ端末装置２との２種類に分けられることになる。
【００５２】
先ず、パラメータ変更ユーザ端末装置２におけるステップＳ５０２の処理としては、受信された更新情報において、自己アバタに対応する更新内容を、自身が保持している自己アバタについてのオブジェクトデータを更新するようにする。例えば、先に自己アバタを移動させる操作を行っていたとすれば、受信された更新情報には、新規のアバタの位置座標の情報が含まれていることになる。また、この移動に応じてサーバ１側で心拍数が変更されていたのであれば、この心拍数の更新情報も含まれている。これらの情報により、自身が保持している自己アバタについてのオブジェクトデータの更新を行うようにされる。そして、このオブジェクトデータの内容に応じて、ステップＳ５０３としての三次元仮想現実空間としての表示画像の変更を行うための制御を実行することになる。この結果、三次元仮想現実空間の画像は、移動位置に応じた風景が見えるようにして変化することになる。
【００５３】
また、パラメータ変更ユーザ端末装置２以外のユーザ端末装置２によるステップＳ５０２の処理としては、他アバタのオブジェクトデータについての更新が必要な情報項目について更新を行うことになる。そして、ステップＳ５０３においては、この更新内容に応じて、三次元仮想現実空間の表示変更が必要な場合に、画像表示を変更するようにされる。例えば、他のアバタが移動したことで、このユーザ端末装置２が対応するアバタの視界に入ってきたとすれば、この他のアバタが視界に入ってくるようにして三次元仮想現実空間の表示を変更することになる。
【００５４】
以上、図８〜図１０によっては、三次元仮想現実空間共有システムにおける画像表示のための基本的な動作について説明した。続いて、三次元仮想現実空間共有システムにおいてボイスチャットを行う場合について、図１１以降の図を参照して説明していくこととする。
【００５５】
先ず、図１１には、ボイスチャットを行うために、ユーザ端末装置２によりユーザの発話音声を取り込んで音声データとしてサーバ１に送信するための処理が示される。
ここではステップＳ６０１において、先ず自己のアバタについてボイスチャットが可能なボイスチャットモードを設定しているか否かについて判別しており、ここでボイスチャットモードは設定されていないとすれば、この処理を一旦抜けて、再度、ステップＳ６０１の処理に戻るようにされる。
これに対して、ボイスチャットモードを設定しているとしてステップ６０１にて肯定結果が得られたのであれば、ステップＳ６０２に進んで、音声取り込み開始条件が満たされたか否かについて判別するようにされる。ここで、音声取り込み開始条件を満たしていないとして否定の判別結果が得られたのであれば、この図に示す処理を一旦抜けて、再度、ステップＳ６０１の処理に戻るようにされる。
なお、ここでは、例えば送話装置１１１による音声収録を有効とする操作が行われる、あるいは、送話装置１１１にて収音して得られた音声信号レベル（つまりユーザの発話音量に相当する）を監視するようにして、この音声信号レベルが一定以上に至ったとされるときに、音声取り込み開始の条件が満たされたものとする。
そして、ステップＳ６０１において、例えば上記したような音声取り込み開始条件が満たされとして肯定の判別結果が得られたとされると、ステップＳ６０３に進んで、音声取り込み処理が実行されるようにするための処理を実行する。
つまり、送話装置１１１としてのマイクロフォンにより収音して得られた音声信号を、入出力インターフェイス１０４を経由してＡ／Ｄ変換してデジタル音声信号として取り込み、ＲＡＭ１０３に保持していくようにされる。なお、ここでのデジタル音声信号としては、所定方式より圧縮符号化された形式としてもよいものである。
このステップＳ６０３による音声信号の取り込み処理は、ステップ６０４において音声取り込み終了条件を満たしたことが判別されるまで継続される。そして、例えば送話装置１１１による音声収録を無効とする操作が行われる、あるいは、送話装置１１１にて収音して得られる音声信号レベルが一定以下になるなどして、音声取り込みを終了とするための条件を満たしたとされると、ステップＳ６０５に進んで、これまでの音声取り込み処理を終了させる。
この段階では、例えばステップＳ６０３により取り込まれたデジタル音声信号がＲＡＭ１０３に保持されている状態にある。そこで、ステップＳ６０６では、このＲＡＭ１０３に保持されている音声信号を含むボイスチャットデータを生成してサーバ１に送信するための制御処理を実行する。このボイスチャットデータとしては、ＲＡＭ１０３に保持された音声信号データと、このユーザ端末装置２に対応するアバタを特定するアバタＩＤなどの情報が付加された構造を有する。
【００５６】
図１２においては、上記のようにしてユーザ端末装置２から送信されたボイスチャットデータの受信に対応したサーバ１の処理が示されている。
先ず、サーバ１は、ステップＳ７０１によりユーザ端末装置２から送信されてくるチャット音声データが受信されるのを待機しており、チャット音声データが受信されたのを判別するとステップＳ７０２以降の処理に進む。
【００５７】
ステップＳ７０２においては、ボイスチャット成立判定のための処理を実行する。本実施の形態のボイスチャットは、三次元仮想現実空間におけるアバタ同士での音声による会話として扱うようにされる。これにより、例えばテキストベースのチャットによりアバタ同士をコミュニケーションさせる場合よりも、三次元仮想現実空間におけるリアリティをより高めることができる。
ここで、ボイスチャットがアバタ同士の会話となることを考慮すると、そのリアリティの観点からは、同じ地域の三次元仮想現実空間に存在する全てのアバタ間で会話（ボイスチャット）を可能とすることは好ましくなく、現実世界的に考えた場合に発話した音声を互いに聞き取ることのできる状況にあるアバタ同士のみが会話（ボイスチャット）できるような環境とすることが好ましいということになる。
ステップＳ７０２のボイスチャット成立判定の処理は、今回受信したボイスチャットデータの送信元であるユーザ端末装置２が対応するアバタ（ここでは発話アバタということにする）が存在する三次元仮想現実空間において、この発話アバタ以外のアバタのうちから、発話アバタと会話が可能な（ボイスチャットが成立する）状況にあるとされるアバタを特定するための処理となる。なお、このボイスチャット成立判定の処理の具体例については後述する。
【００５８】
次のステップＳ７０３においては、先のステップＳ７０１に対応して受信したボイスチャットデータに含まれるデジタル音声信号についての所要の信号処理（ボイスチャット対応音声信号処理）を実行する。このボイスチャット対応音声信号処理は、図５に示す構成においては、例えばＣＰＵ２０１の制御に従って、音声データ処理部２０５が実行するものとされる。このボイスチャット対応音声信号処理として、音声データ処理部２０５の構成の具体例については、図１８により後述するが、ボイスチャット対応音声信号処理は、ボイスチャットが三次元仮想現実空間内におけるアバタ同士の会話としてよりリアリティ、臨場感などが与えられることを目的として行うものである。
なお、実際には、サーバ１においては、ステップＳ７０２のボイスチャット成立判定の処理と、ステップＳ７０３のボイスチャット対応音声信号処理は、同時併行的に実行されるようにされても良く、また、同時併行的に実行することのほうが処理時間が短縮され、ユーザ端末装置２におけるチャット音声の出力反応もより高速なものとなるために好ましい。
【００５９】
次のステップＳ７０４においては、今回の発話アバタに対応するユーザ端末装置２と、上記ステップＳ７０３においてボイスチャットが成立する（発話アバタと会話が可能である）として判定されたアバタに対応するユーザ端末装置２に対して、上記ステップＳ７０２によるボイスチャット対応音声信号処理によって得られた音声信号データを、アバタ音声データとして送信するようにされる。
【００６０】
また、図１２には、ユーザ端末装置２の処理として、上記ステップＳ７０４により送信されたアバタ音声データの受信に対応した処理を示している。
先ず、ユーザ端末装置２は、ステップＳ７１０により、アバタ音声データが受信されるのを待機しており、アバタ音声データを受信したことを判別すると、ステップＳ７１１の処理に進む。
ステップＳ７１１においては、現在表示出力させている三次元仮想現実空間の画像表示と共に、受信したアバタ音声データについて再生処理を施して音声として出力させるための処理を実行する。例えば受信したアバタ音声データが、所定形式に圧縮符号化されているのであれば、この圧縮符号化に対する復号処理を施してデジタル音声信号を得るようにされる。そして、このデジタル音声信号について所定の再生信号処理を施して、受話装置１１２から音声として出力されるようにする。なお、デジタル信号処理段階での復号処理、再生信号処理などの信号処理は、例えばＣＰＵ１０１が、信号処理のプログラムに基づいて、ＲＡＭ１０３を作業領域として利用して実行するようにされればよい。そして、入出力インターフェイス１０４においては、上記のようにして信号処理が施されたデジタル音声信号についてＤ／Ａ変換処理及び増幅処理などを施して受話装置１１２を駆動するドライブ信号として出力するようにされる。
これにより、ユーザ端末装置２のユーザ（ボイスチャットのために受話装置１１２を装着している）は、ディスプレイモニタ１０９に表示される三次元仮想現実空間の画像を視ながら、受話装置１１２から出力される発話アバタの発話音声も聞くことができる。
【００６１】
図１３は、上記図１２のステップＳ７０２の処理である、ボイスチャット成立判定の処理の具体例を示している。また、図１３の説明を行うのにあたって、必要に応じて、図１３〜図１６を参照する。
先ず、今回のボイスチャットデータを送信してきたユーザ端末装置２に対応する発話アバタと、同じ三次元仮想現実空間に存在する他のアバタが会話（ボイスチャット）が可能であるためには、これら他のアバタに対してボイスチャットが可能に設定されている必要がある。このボイスチャットが可能に設定されているアバタがいずれであるのかについては、今回の発話アバタに関する情報を含むアバタ属性テーブル（図６参照）において、ボイスチャットフラグを参照することで認識できる。
このことを前提として、図１３に示すステップＳ８０１においては、先ず、上記のようにアバタ属性テーブル上で、発話アバタ以外でボイスチャット可能に設定されているアバタのうちから、ボイスチャット成立の判定対象とするアバタを１つ選択するようにされる。ステップＳ８０２以降の処理は、このステップＳ８０１により選択された判定対象アバタについて行われる。
【００６２】
ステップＳ８０２では、三次元仮想現実空間における、判定対象アバタと発話アバタとの間の距離（Ｒｘ）を求めたうえで、この距離Ｒｘが所定以下であるか否かについて判別する。距離Ｒｘが所定以下であるということは、距離的に、判定対象アバタと発話アバタとで互いの発話音声を聞くことができて会話が成立する状況にあることを意味する。逆に、距離Ｒｘが所定以上であるということは、判定対象アバタと発話アバタ間の距離は、互いの発話音声を聞くことができない、あるいは困難であるとして会話が成立しない状況にあることを意味する。また、距離Ｒｘは、アバタ属性テーブルにおける、判定対象アバタと発話アバタに対応する位置座標を利用して算出できる。
ステップＳ８０２において、距離Ｒｘが所定よりも長いとして否定の判別結果が得られた場合には、ステップＳ８１０に進み、この判定対象アバタと発話アバタの間でのボイスチャットは不成立（不可）であるとの判定結果を得るようにされる。この判定結果の情報は、例えばＲＡＭ１０３にて保持される。ステップＳ８１０の処理を終了したらステップＳ８１１の処理に進むようにされる。
一方、ステップＳ８０２において距離Ｒｘが所定以下であるとして肯定の判別結果が得られた場合にはステップＳ８０３以降の処理に進む。
【００６３】
ここで、図１６を参照して、ステップＳ８０２における判別処理の具体例について説明する。
図１６においては、発話アバタと、この発話アバタと同じ三次元仮想現実空間に存在し、ボイスチャットが可能に設定されているアバタとして、アバタＡ，Ｂ，Ｃが示されている。
ここで、ステップＳ８０２により距離Ｒｘについて所定以下であるか否かを判定する際の基準となる基準距離（Ｒ）は、図１６に示す範囲であるとする。また、発話アバタと、アバタＡ，Ｂ，Ｃとの各距離Ｒｘは、図示するようにして、距離Ｒａ，Ｒｂ，Ｒｃとなっているものとする。すると、アバタＡ，Ｂとの距離Ｒａ，Ｒｂは、この基準距離（Ｒ）の範囲内にあるが、アバタＣとの距離Ｒｃは基準距離（Ｒ）の範囲外にあることになる。従って、判定対象アバタがアバタＣである場合、ステップＳ８０２では否定の判別結果が得られることとなって、ステップＳ８１０により、アバタＣと発話アバタとは、ボイスチャット不成立（不可）であると判別されることになる。
これに対して、アバタＡ又はアバタＢを判定対象アバタとした場合には、ステップＳ８０２において肯定の判別結果が得られることになって、サーバ１としては、ステップＳ８０３以降の処理に進むことになる。
【００６４】
ステップＳ８０３においては、上記ステップＳ８０２の判別処理にあたって求められた距離Ｒｘに基づいて、距離レベル係数LV1を算出する。距離レベル係数LV1は、距離Ｒｘに応じた判定対象アバタと発話アバタ間の声の聞き取りやすさに対応するもので、例えば概念的には図１４に示すようにして算出するようにされる。
この場合にも、図１４に示される距離レベル係数LV1の最大値は、図６（ｂ）にて説明したレベル係数ＬＶos，Ｌvorと同様に１．０とされ、ここでは、距離Ｒｘが０であるときに最大値１．０をとるものとされている。そして、距離Ｒｘが増加していくのに応じて、ここでは距離レベル係数LV1は、二次曲線的に低下していく傾向を与えることとしている。つまり、実際においては、このような傾向を有する所定の関数を定義して、この関数に対して求められた距離Ｒｘを適用すればよい。
例えば、図１６に示す発話アバタに対するアバタＡ、アバタＢの各距離Ｒａ，Ｒｂを比較すると、Ｒａ＜Ｒｂの関係が得られている。従って、アバタＡ，アバタＢをそれぞれ判定対象アバタとした場合を比較した場合の距離レベル係数LV1は、アバタＡを測定対象アバタとしたときのほうが大きい値を示すことになる。
【００６５】
続くステップＳ８０４においては、判定対象アバタの位置と、発話アバタの視線ベクトルとに基づいて、発話角度レベル係数LVasを算出するための処理を実行する。
例えばアバタＡが判定対象アバタであるとする。この場合、アバタＡの位置と発話アバタの位置を通過する直線と、発話アバタの視線ベクトルとが成す角度はＡoaで示されることになる。この角度Ａoaが発話アバタとアバタＡとの間の発話角度として扱われる。
また、アバタＢが判定対象アバタであるとすると、発話角度は、アバタＢの位置と発話アバタの位置を通過する直線と発話アバタの視線ベクトルとが成す、角度Ａobとされることにになる。
ステップＳ８０４では、先ず、上記した発話角度を得るようにされる。このためには、アバタ属性テーブルを参照して、発話アバタの位置座標及び視線ベクトルの情報と、判定対象アバタとなったアバタの位置座標の情報とを読み込み、これらの情報に基づいて求めるようにすればよい。
そして、このようにして算出された発話角度に基づいて、例えば概念的には図１５に示すような関数により演算を行って発話角度レベル係数LVasを得るようにされる、この図に示すように、発話角度レベル係数LVasは、発話角度＝０°のときに最大値である１．０を採るようにされており、発話角度の絶対値が０〜１８０°の範囲で大きくなっていくのに従って、二次曲線的に低下していく傾向となるようにしている。このことから、発話角度レベル係数LVasは、判定対象アバタに対する発話アバタの顔の向き（視線ベクトルで表される）に応じた、判定対象アバタへの発話音声の届きやすさ、また、発話アバタが会話を成立させようとしているアバタへの意識の重み付けの度合いを示しているといえる。この重み付けの度合いに関しては、発話アバタが判定対象アバタのほうに顔を向けている発話角度が小さいほど、そのアバタと会話を成立させようとしている意識が高いとされる。そして、この場合においても、実際としては、図１５に示される傾向に従って所定の関数を定義して、この関数に対して発話角度を適用すればよいこととなる。
ちなみに、判定対象アバタがアバタＡである場合の発話角度Ａoaと、判定対象アバタがアバタＢである場合の発話角度Ａobとを比較すると、Ａoa＞Ａobとなっているので、発話角度レベル係数LVasは、判定対象アバタがアバタＡである場合のほうが小さくなる。
【００６６】
次のステップＳ８０５では、発話アバタの位置と、判定対象アバタの視線ベクトルに基づいて受話角度レベル係数LVarを算出するための処理を実行する。
ここでも例えばアバタＡが判定対象アバタであるとする。この場合、発話アバタの位置とアバタＡの位置を通過する直線と、アバタＡの視線ベクトルとが成す角度はＡaで示されることになる。この角度Ａaが発話アバタとアバタＡとの間の受話角度として扱われる。
また、アバタＢが判定対象アバタであるとすると、受話角度は、発話アバタの位置とアバタＢの位置を通過する直線とアバタＢの視線ベクトルとが成す、角度Ａbとされることにになる。
ステップＳ８０５では、例えばアバタ属性テーブルにおける、発話アバタの位置座標と、判定対象アバタとなったアバタの位置座標及び視線ベクトルの情報とを読み込み、これらの情報に基づいて求めるようにされる。
このようにして算出された受話角度に基づいては、この場合にも、図１５に示す概念に従って具体的に設定した関数により演算を行って受話角度レベル係数LVarを得るようにされる。受話角度レベル係数LVarは、発話アバタに対する判定対象アバタの顔の向き（視線ベクトルで表される）に応じた、判定対象アバタへの発話音声の届きやすさ、及び、発話音声を聞いて判定対象アバタが、これを自分との会話を成立させようとするものであると意識する度合いを示すものとなる。
なお、判定対象アバタがアバタＡである場合の受話角度Ａaと、判定対象アバタがアバタＢである場合の受話角度Ａbとを比較すると、Ａa＜Ａbとなっているので、受話角度レベル係数LVarとしては、発話角度レベル係数LVasとは逆に、判定対象アバタがアバタＡである場合のほうが大きくなる。
【００６７】
次のステップＳ８０６では、発話アバタの発話音量レベル係数LVvlを取得するようにされる。このためには、先の図１２のステップＳ７０１にて受信されたボイスチャットデータから抽出した音声信号データの振幅値を検出し、この検出した振幅値と、所定の比較基準レベルとの比に基づいて発話音量レベル係数LVvlを求めるようにすればよい。なお、振幅値の検出にあたっては、平均値を検出する、あるいはピークレベルを検出するなど、その具体例については各種考えられる。さらには、ユーザ端末装置２において予め振幅値検出を行って振幅値検出情報を得て、これを送信するボイスチャットデータの構造に含めるようにしておき、サーバ１側で、ボイスチャットデータから抽出した振幅値検出情報を参照する、という構成とすることも考えられる。
【００６８】
そして、次のステップＳ８０６においては、総合レベル係数LVを算出するようにされる。この総合レベル係数LVは、例えば、上記ステップＳ８０３〜Ｓ８０６により得られた距離レベル係数LV1、発話角度レベル係数LVas、受話角度係数LVar、及び発話音量レベル係数LVvlに加え、アバタ属性テーブルにおける発話アバタのレベル係数LVos，LVorについて乗算することで得るようにされる。
このようにして得られた総合レベル係数LVは、この総合レベル係数LVを算出するための演算式の項となる上記６つのレベル係数が持つ意味合いを総合的に加味して考慮される、発話アバタと判定対象アバタとの間の会話の成立性を数値により示しているものということができる。
【００６９】
次のステップＳ８０８においては、上記ステップＳ８０７により算出された総合レベル係数LVが所定値以上であるか否かについて判別するようにされる。ここで、総合レベル係数LVは所定値以下であるとして判別された場合、発話アバタと判定対象アバタとの間の会話の成立性は非常に低いものであるとして、ステップＳ８１０の処理により、ボイスチャット不成立の判定結果を出力するようにされる。
これに対して、総合レベル係数LVが所定値以上であるとして肯定の判別結果が得られた場合にはステップＳ８０９に進んでボイスチャット成立の判定結果を出力する。
【００７０】
ステップＳ８０９，Ｓ８１０の処理を実行した後は、ステップＳ８１１の処理に進む。
このステップＳ８１１では、現段階において、ボイスチャットが可能に設定されているアバタの全てについて判定対象アバタとして選択して、ボイスチャット成立／不成立の判定結果を得たか否かについて判別する。ここで、未だ判定対象アバタとして選択していないアバタが残っているとして否定の判別結果が得られた場合には、ステップＳ８０１の処理に戻るようにされる。これにより、ステップＳ８０１において、未だ判定対象アバタとして選択されていないアバタのうちから１つのアバタが判定対象アバタとして新たに選択され、ステップＳ８０２以降の処理が実行されることになる。
そして、最終的に、ボイスチャットが可能に設定されているアバタの全てについてボイスチャット成立／不成立の判定結果を得たとして、ステップＳ８１１において肯定結果が得られたとすると、ボイスチャット成立判定の処理を終了することになる。
【００７１】
図１７は、サーバ１における音声データ処理部２０５の構成例を示している。この音声データ処理部２０５は、ＣＰＵ２０１の制御に従って、図１２に示されるステップＳ７０３のボイスチャット対応音声信号処理を実行する。
音声データ処理部２０５に対しては、図１２のステップＳ７０１に対応してサーバ１が受信したボイスチャットデータから抽出取得した音声データが入力される。この音声データは、元々は、図１１により説明したように、発話アバタに対応するユーザ端末装置２により収音して得られたもので、ボイスチャットのためにユーザが発話した音声である。
なお、受信したボイスチャットデータからの音声データの抽出処理は、ネットワークインターフェイス２０６にてアンパケット化などの受信復調処理が施されたボイスチャットデータをＣＰＵ２０１が受け取り、例えばＲＡＭ２０３を作業領域として用いて、ボイスチャットデータに付されているヘッダなどを解釈して、ボイスチャットデータの構造から音声データ部分を抜き出して、時系列性を有する音声信号データとして再構築することで得られるものである。
【００７２】
上記のようにしてボイスチャットデータから抽出された音声データは、音声データ処理部２０５において、先ず、復号処理部３０１に入力される。
ここでは、ボイスチャットデータに含まれる音声データは、送信元のユーザ端末装置２において例えば所定の圧縮符号化が施された形式となっているものとされる。復号処理部３０１においては、入力された音声データについて、上記圧縮符号化フォーマットに応じた復号処理を実行し、所定のサンプル周波数及び量子化ビットによる形式のデジタル音声信号を得るようにされる。
【００７３】
復号処理部３０１から出力されたデジタル音声信号は、声質変換処理部３０２に入力される。
声質変換処理部３０２に入力されるデジタル音声信号は、上記もしたようにボイスチャットのためにユーザが発話した音声であり、このデジタル音声信号を再生して得られる声質としても、ユーザの音声そのままである。
声質変換処理部３０２では、このようなユーザそのままの声質を持つデジタル音声信号について、ピッチ（周波数：音高）変換処理（所定の間引きパターンによるサンプリング処理などにより実現可能）や、周波数帯域についてのフィルタ処理、イコライジング処理などを施す。このような処理が行われる結果、声質変換処理部３０２に入力されたデジタル音声信号は、ユーザの音声の声質とは異なる声質を持つものに変換されることになる。そして、この変換後の声質は、ユーザのものではなく、アバタが発話する音声に対応するものとなる。
この声質変換処理部３０２による声質変換のための所要のパラメータ（例えばサンプリング処理における間引きサンプル数、フィルタ特性、イコライジング特性など）は、ここでは、発話アバタの性別、年齢の情報に応じて可変設定することとしている。つまり、ＣＰＵ２０１は、アバタ属性テーブルを参照して、今回の発話アバタに対応する性別、年齢の情報を得る。そして、これらの性別、年齢の情報に基づいて、上記声質変換のためのパラメータを所定値に設定するようにされる。
なお、ここでは、説明を簡単なものとするために発話アバタの性別、年齢の情報のみに応じて声質変換のためのパラメータを可変するものとしているが、より多くの情報に基づいて上記パラメータが可変されるようにしてもよい。例えば、アバタが装着品として、マスクや仮面をかぶっているような場合には、それに応じて発話音声がこもるようにして声質変化が与えられるようにしても良い。
【００７４】
上記声質変換処理部３０２による声質変換のための処理が施されたデジタル音声信号は、感情対応処理部３１２に対して入力される。感情対応処理部３１２は、アバタ属性テーブルにおけるアバタの属性情報の１つである心拍数の情報に応じて入力されたデジタル音声信号について処理を行うようにされるが、この処理により、アバタの発音音声の内容により、そのアバタの感情を表現するものとなる。
ここで、感情対応処理部３１２における処理を実行させるのにあたって、ＣＰＵ２０１は、現在アバタ属性テーブルに格納されているこの発話アバタの心拍数の値について、所定値以上であるか否かについて判別するようにされる。ここで、心拍数が所定値以上であるということは、ユーザの感情として、例えば平静状態に対して、興奮、喜びなどの傾向の一定以上の感情変化を見せており、平静とする状態から離れていることを意味する。
発話アバタの心拍数の値が一定未満である場合には、ユーザの感情は、逆に平静の状態にあるとして扱うようにされる。そして、実際に心拍数の値が一定未満であることを判別した場合には、感情対応処理部３１２では特に処理を実行することなく、入力されたデジタル音声信号を、時間短縮処理部３０３→息継ぎ波形挿入処理部３０６をスルーさせるようにして畳み込み演算処理部３０７に入力させる。
【００７５】
これに対して、発話アバタの心拍数の値が一定以上であると判別した場合には、感情対応処理部３１２は、次に説明するようにして、入力されたデジタル音声信号について、時間軸方向における短縮のための処理と、息継ぎ波形の挿入処理を実行する。
先ず、発話アバタの心拍数の値が一定以上であると判別された場合の感情対応処理部３１２の基本的な動作としては、次のようになる。
感情対応処理部３１２において、声質変換処理部３０２から出力されたデジタル音声信号は、時間短縮処理部３０３に入力されている。
時間短縮処理部３０３では、入力されたデジタル音声信号の時間軸方向の長さについて短縮する処理を実行する。この処理を図１８（ａ）（ｂ）により説明する。
図１８（ａ）には時間短縮処理部３０３に入力されたデジタル音声信号波形（入力波形）を時間軸方向に沿って示している。この入力波形は、図示するようにして、音声として再生した場合には、「コンニチワ、オゲンキデスカ」という発話が聞こえるものとされる。また、この入力波形は、時点ｔ０から時点ｔ３までの期間の時間長を有しているものとされ、従って、「コンニチワ、オゲンキデスカ」という発話の長さも、この期間ｔ０〜ｔ３の時間長を有していることになる。
また、この場合の期間ｔ０〜ｔ３の時間幅を有するデジタル音声信号の源波形は、波形的にみて、期間ｔ０〜ｔ１による「コンニチワ」の発声区間と、これに続く期間ｔ１〜ｔ２による無音区間と、さらにこれに続く期間ｔ２〜ｔ３による「オゲンキデスカ」の発声区間とに分かれている。
【００７６】
時間短縮処理部３０２では、上記図１８（ａ）に示す入力波形について、例えば図１８（ｂ）の時間短縮処理部３０２の出力波形として示すようにして、時間軸方向における波形短縮を行なう。
このようにして得られる図１８（ｂ）の出力波形全体としては、図１８（ｂ）に示す入力波形全体の期間ｔ０〜ｔ３の時間長が一定割合に短縮された期間ｔ０〜ｔ１３の時間長を有するものとなっている。これに伴い、出力波形において「コンニチワ」の発声区間となる期間ｔ０〜ｔ１１、無音区間である期間ｔ１１〜ｔ１２、「オゲンキデスカ」の発声区間となる期間ｔ１２〜ｔ１３は、それぞれ、図１８（ａ）の入力波形の「コンニチワ」の発声区間となる期間ｔ０〜ｔ１、無音区間である期間ｔ１〜ｔ２、「オゲンキデスカ」の発声区間となる期間ｔ２〜ｔ３に対して、同じ一定割合に短縮されたものとなっている。
そして、この図１８（ｂ）の出力波形としては、音声として再生した場合に、「コンニチワ、オゲンキデスカ」という発話内容を聞き取ることが可能であり、また、ピッチ変換は生じていない音声信号波形となっているものである。
なお、このような出力波形を入力波形から得るための時間短縮処理部３０３の構成としては、周知あるいは将来的に実現される技術を採用すればよく、ここでは特に限定されるべきものではない。例えば図１８（ａ）に示す期間ｔ０〜ｔ３までの入力波形について、時間軸方向において一定時間単位により細分化するようにして区分する。そして、入力波形を成すとされる区分波形のうちから、所要の間引きパターンにより区分波形を間引き、間引いて残った区分波形を時間軸方向に連結するようにして波形データを再構築するようにされる。
【００７７】
また、時間短縮処理部３０３における、入力信号に対する出力信号の時間短縮比の設定は、心拍数の情報の値に応じて所定の関数規則により変更されるようになっている。ただし、心拍数の値が大きくなるのに応じては、入力信号に対して出力信号は短くなっていくように変更設定されるべきものとなる。時間短縮処理部３０３による時間短縮処理として、時間短縮比が変更設定されるのに応じては、例えば上記した区分波形の間引きパターンを変更するようにされる。これにより、設定された時間短縮比に応じた時間長に短縮された出力波形を得ることができる。
【００７８】
そして、このような感情対応処理部３１２における基本的な動作によれば、発話アバタの心拍数の値が高くなっていく傾向となるのに応じて、出力波形を再生して得られる発話音声は時間的に短くなっていく、即ち、早口になっていくことになる。このようにして、感情対応処理部３１２では、発話アバタの感情として例えば興奮度が増すなどして平静な状態から離れていくほど、アバタが発話するとされる音声が早口なものとなるようにしている。つまり、話し方として発話速度の変化により、アバタの感情変化の度合いが大きくなることを表現しようとしているものである。
このようにして、本実施の形態としては、ボイスチャットを単にアバタ同士の会話として実現するだけではなく、三次元仮想現実空間内においてのアバタの状況に応じた感情の変化を、アバタの会話音声により表現するようにされている。これにより、ユーザ端末装置２を操作しているユーザにとっては、三次元仮想現実空間をよりリアリティのあるものとして受け止めることができ、エンタテイメント性も向上することになる。
【００７９】
さらに、感情対応処理部３１２では、上記した基本的な動作を実行するようにされたうえで、さらに、次に説明するようにして、出力波形としての音声に対して作為的に息継ぎの音声を挿入するようにされる。息継ぎが入った発話音声からは、その話者の興奮が高まっていると感じることができる。つまり、入力波形に無かったとされる息継ぎの音声を挿入することで、感情の高まりをより強調して表現することが可能となる。
【００８０】
この息継ぎの音声挿入ための感情対応処理部３１２の処理としては次のようになる。
先ず、心拍数が一定の感情の高まりに対応するとされる所定値以上となった条件では、ＣＰＵ２０１の制御として、無音検出部３０４において無音検出処理を実行させることとしている。
無音検出部３０４には、時間短縮処理部３０３に入力されるべき入力波形が分岐して入力される。無音検出部３０４は、この入力波形についての振幅レベルの監視を行い、無音とみなされる所定レベル以下の状態が所定期間（時間長）以上継続したときに、この継続期間を無音区間として検出するようにされる。
図１６（ａ）に示す入力波形においては、無音検出部３０４の検出結果として、期間ｔ１〜ｔ２を無音区間として検出した場合を示している。
【００８１】
先の時間短縮処理部３０３から出力された出力波形としてのデジタル音声信号は、息継ぎ波形挿入処理部３０６に対して入力される。
また、息継ぎ波形挿入処理部３０６には、上記無音検出部３０４により検出した無音区間を示す情報（無音検出情報）が入力される。また、息継ぎ波形データが、時間短縮処理部３０５を介して入力される。なお、息継ぎ波形データは、所定のサンプルフォーマットにより、息継ぎ音の発声音声の波形データとされ、例えば予めＲＯＭ２０２、もしくは記憶部２０４に保持されている。ＣＰＵ２０１は、感情対応処理部３１２において息継ぎ挿入の処理を実行させるときには、息継ぎデータ波形データの読み出しを行って、時間短縮処理部３０５に入力させることととしている。
また、息継ぎ波形データとしては、それぞれ異なる息継ぎの仕方、声質による複数の発声音声のものを格納しておくようにされる。そして、ＣＰＵ２０１は、例えばアバタの個性（性別、年齢）等に応じて適切とされる息継ぎ波形データを選択して読み出すようにされる。
また、息継ぎ波形データとしては、基本となる波形データのみを格納しておくこととして、息継ぎ波形データを挿入させるときには、声質変換処理部３０２による声質変換処理結果を参照して、この声質変換処理によって得られた声質と同じ（似た）息継ぎ波形データの声質が得られるように、信号処理を実行する構成とすることも考えられる。
【００８２】
ここで、図１６（ａ）に示す入力波形が時間短縮処理部３０３及び無音検出部３０４に入力されたとすると、時間短縮処理部３０３から息継ぎ波形挿入処理部３０６に対しては図１６（ｂ）に示した出力波形が入力されることになる。また、これと共に、息継ぎ波形挿入処理部３０６に対しては、図１８（ａ）の入力波形について、期間ｔ１〜ｔ２を無音区間として検出したことを示す無音検出情報も入力される。
【００８３】
息継ぎ波形挿入処理部３０６では、入力された無音検出情報に基づいて、時間短縮処理部３０３により時間短縮された後の図１８（ｂ）のデジタル音声信号については、期間ｔ１１〜ｔ１２としての時間区間が無音区間であることを認識する。
そして、この認識した無音区間（ｔ１１〜ｔ１２）に対して、図１８（ｃ）に示すようにして、息継ぎ波形データを挿入するようにされる。
このようにして息継ぎ波形データが挿入されて形成されたデジタル音声信号は、再生音声として、「コンニチハ、（息継ぎ音）、オゲンキデスカ」というようにして、間に息継ぎ音が入って聞こえるものとなる。また、時間的には、図１８（ｂ）の時間短縮処理部３０３の出力波形と同様の時間長にまで短縮されていることで、本来よりも早口なものとなっている。
また、この場合において、感情対応処理部３１２により検出される無音区間は、発音音声における無音状態を検出するものであるから、必然的に発話された語、節などの切れ目となる。つまり、息継ぎ音は、発話された語や節の間に挿入されることとなる。逆にいえば、無音区間を検出して、この検出した無音区間に対して息継ぎ波形データを挿入することで、語などの途中に息継ぎが入り込んで、発話内容が聴き取りにくくなったりすることがないようにされる。
【００８４】
ところで、上記のようにして時間短縮処理部３０３の出力波形のデジタル音声信号に挿入されるべき息継ぎ波形データは、時間短縮処理部３０５を経由して息継ぎ波形挿入処理部３０６に入力されるようになっている。つまり、息継ぎ波形データそのものについても、時間短縮処理部３０３の入力波形と同様にして、時間短縮処理部３０５により時間短縮した波形とすることが可能となっている。
ここで、説明を理解しやすいものとするために、図１８（ｂ）に示される時間短縮処理後の無音区間（ｔ１１〜ｔ１２）の再生時間長と、１つの息継ぎ波形データの再生時間長は同じであるとする。また、この息継ぎ波形データは、１回の息継ぎをしている音声であるとする。
この場合において、息継ぎ波形データについて時間短縮処理を行わないとすると、図１８（ｃ）に示す期間ｔ１１〜ｔ１２に対しては、この息継ぎ波形データを１回のみ挿入できることになる。このようにして息継ぎ波形データが挿入されたデジタル音声信号は、再生音声として「コンニチハ、（息継ぎ音（１回））、オゲンキデスカ」のようにして聞こえるものとなる。
これに対して、息継ぎ波形データについて、時間短縮処理部３０５により、元の再生時間長に対して１／２の再生時間長となるように時間短縮を行ったとする。この場合、図１８（ｃ）に示す期間ｔ１１〜ｔ１２には、息継ぎ波形データを、時間軸に沿って２回挿入することができる。この結果得られるデジタル音声信号は、再生音声として「コンニチハ、（息継ぎ音（２回））、オゲンキデスカ」のように聞こえるものとなる。なお、息継ぎ波形データを２回挿入する処理は、息継ぎ波形挿入処理部３０６によって行うようにされる。
上記したことから分かるように、時間短縮処理部３０５により息継ぎ波形データについて時間短縮を行えば、無音区間に対して挿入する息継ぎ波形データの数を増加させていくことができる。つまり、再生音声としては、息継ぎ回数を多くしていくことができる。このようにして、息継ぎ回数が多くなることによっては、感情変化の度合いがより大きくなっていることを表現しているものとして捉えることができる。つまり、アバタの会話から、そのアバタの感情がより豊かに表現されることとなり、三次元仮想現実空間について、より高いリアリティを得ることが可能となるものである。
【００８５】
ここで、感情対応処理部３１２の動作を整理すると、
（１）発話アバタの発話音声とされる音声信号について、その発話アバタの心拍数（感情状態）に応じて時間短縮処理を実行する。
（２）発話アバタの心拍数の値が所定条件を満たした場合に、発話アバタの発話音声とされる音声信号の無音区間に対して息継ぎ波形を挿入する処理を実行する。
（３）上記（２）の処理を実行している場合において、その発話アバタの心拍数に応じて息継ぎ波形を挿入する回数を可変する。
という、３つの処理を実行可能とされていることが分かる。これら（１）（２）（３）は、発話アバタの心拍数の情報に適応した処理であるという点では共通している。しかしながら、具体的に発話アバタの心拍数がどのような値をとるときに、処理に必要なパラメータ（時間短縮比、息継ぎ波形データの挿入可否、息継ぎ波形データの挿入回数値）についてどのようにして設定するのかについては、例えば（１）（２）（３）の互いの関係を考慮しながら、より高いリアリティが得られるようにすることを考慮してアルゴリズムを作成することとすればよい。
【００８６】
感情対応処理部３１２の息継ぎ波形挿入処理部３０６から出力されたデジタル音声信号は、畳み込み演算処理部３０７に対して入力される。また、この畳み込み演算処理部３０７に対しては、下記のようにして選択されたインパルス応答波形データも入力される。
先に図７により説明したようにして、サーバ１では、インパルス応答波形データについて、データベース形式により管理して記憶している。
先ず、音声データ処理部２０５による処理を実行することとした場合、ＣＰＵ２０１は、アバタ属性テーブル（図６（ａ））を参照して、このときの発話アバタに対応する位置座標の情報を特定する。次に、構造物属性テーブルの構造物座標データ（図７（ａ））を参照して、上記特定した位置座標を含むとされる構造物座標データを有する構造物ＩＤを検索して特定する。構造物ＩＤが特定されると、この構造物ＩＤに対応付けられたインデックスナンバも特定されることになる。そして、この特定したインデックスナンバにより指定されるインパルス応答波形データを、インパルス応答波形データベース（図７（ｂ））から検索する。ＣＰＵ２０１は、検索結果として得られたインパルス応答波形データを読み出して、畳み込み演算処理部３０７に入力させる。
つまり、畳み込み演算処理部３０７に対して入力されるインパルス応答波形データは、三次元仮想現実空間において、発話アバタが位置しているところに在るとされる構造物の音響特性を反映し、再現するものとされる。
【００８７】
畳み込み演算処理部３０７では、感情対応処理部３１２から入力した発話アバタの発話音声（チャット音声）とされるデジタル音声信号に対して、上記インパルス応答波形データに基づいた畳み込み演算処理を行なう。これにより、発話アバタの発話音声とされるデジタル音声信号には、このインパルス応答波形データに応じたインパルス応答の波形成分により変調されるものとなる。そして、このデジタル音声信号を音声として再生した場合には、三次元仮想現実空間において発話アバタの周囲にある構造物に応じて、そのアバタの発話音声が変化しているものとなる。例えば、構造物の壁が固い材質で反響の大きいようなものであれば、畳み込み演算処理部３０７の処理により得られる音声としては、発話アバタの発話音声に対して、構造物の壁の材質、広さ、室内形状などに応じた残響が与えられたものとなる。
つまり、畳み込み演算処理部３０７の処理によって、発話アバタの発話音声について、三次元仮想現実空間における構造物の状態も反映されるようにしており、三次元仮想現実空間内での臨場感が得られるようにしている。これにより、三次元仮想現実空間のリアリティは、さらに高まることとなる。
【００８８】
上記畳み込み演算処理部３０７による演算処理によって得られたデジタル音声信号は、乗算器３０８に入力される。
この場合、乗算器３０８においては、入力されたデジタル音声信号のレベルについて、図１３に示した処理によって算出したレベル係数LVにより乗算を行って出力する。つまり、乗算器３０８によっては、アバタの発話音声について、レベル係数LVが示す聞き取りやすさ（聞き取りにくさ）に対応する音量が得られるようにしている。これも、三次元仮想現実空間のリアリティを高めるための配慮である。
【００８９】
乗算器３０８の出力は、Ｌｃｈ再生フィルタ３０９及びＲｃｈ再生フィルタ３１０に対して分岐して入力される。
前述もしたように、ユーザ端末装置２において受話装置１１２により再生出力されるチャット音声は、バーチャルサラウンド音声として再生されるもので、音場感（音響的臨場感）をもっている。Ｌｃｈ再生フィルタ及びＲｃｈ再生フィルタは、発話アバタの発話音声の音声信号について、このようなバーチャルサラウンドによる再生が可能なように、所要の伝達関数に応じたフィルタ処理を実行するようにされる。
本実施の形態の場合、Ｌｃｈ再生フィルタ３０９及びＲｃｈ再生フィルタ３１０で用いるフィルタには、例えば、図１３の処理によりボイスチャットが成立したとされるアバタ（相手アバタ）の位置から発話アバタの位置へのベクトルと、相手アバタの視線ベクトルが成す角度に応じた特性が設定されるものを含む。これは、いわゆる相手アバタにとっての頭部伝達関数再現するフィルタとなる。
これらＬｃｈ再生フィルタ３０９及びＲｃｈ再生フィルタ３１０によりフィルタ処理されたデジタル音声信号は、符号化装置３１１に入力されて、例えば所定の圧縮符号化方式に従って圧縮符号化され、アバタ音声データとして出力される。ＣＰＵ２０１は、このアバタ音声データを、しかるべき相手アバタに対応するユーザ端末装置２を送信先として、ネットワーク３経由で送信する制御を実行する。
【００９０】
このアバタ音声データを受信したユーザ端末装置２では、図１２に示したようにして、このアバタ音声データについて再生出力（バーチャルサラウンド対応の再生信号処理である）のための処理を行って、受話装置１１２から音声として出力させる。このとき、受話装置１１２を装着しているユーザには、発話アバタが発話しているとされるチャット音声が、自アバタ（発話アバタに対しては相手アバタとなる）が向けているとされる視線と、自アバタと発話アバタとの位置関係に応じて、発話アバタが位置しているとされる方向から聞こえてくるようにされる。
また、確認のために述べておくと、このとき聞こえる発話音声は、その言語内容としては発話アバタに対応するユーザがチャット音声として吹き込んだものであるが、その声質は、発話アバタのキャラクタ設定などに応じた声質に変換されている。また、そのときの発話アバタの感情（心拍数の情報）に応じて、発話アバタの発話音声は、相対的に早くなったり遅くなったり、或る回数による息継ぎも間に挟まれるようなものとなる。さらには、周囲の構造物に応じた音響感も反映されたものとなっている。
【００９１】
ところで、図１３に示す処理によれば、発話アバタとボイスチャットが成立する相手アバタは１つであるとは限らず、複数存在することもあり得る。
この場合には、相手アバタごとに、発話アバタの位置に対する視線ベクトル、発話アバタへの位置のベクトルが異なり得るもので、従ってこの場合、相手アバタごとに、発話アバタの発話音声が聞こえてくる方向は異なるものである必要がある。
これに対応するためには、例えば少なくともＬｃｈ再生フィルタ３０９及びＲｃｈ再生フィルタ３１０による信号処理について、相手アバタごとに対応した頭部伝達関数に対応するフィルタ特性を設定して、時分割的に、各フィルタ特性によるフィルタ処理を時分割的に複数回実行させるようにすることが考えられる。あるいは、相手アバタごとに対応したＬｃｈ再生フィルタ３０９及びＲｃｈ再生フィルタ３１０としてのフィルタ処理が、同時進行的（並列的に）実行されるような構成とすればよい。図１７においては、説明を簡単なものとすることの便宜上、Ｌｃｈ再生フィルタ３０９及びＲｃｈ再生フィルタ３１０について１系統のみを備えた構成を示している。
【００９２】
なお、感情対応処理部３１２において、発話アバタの元の音声データに対して挿入すべき波形データ（挿入用音声データ）としては、息継ぎ波形データのように息継ぎの発声音声のものに限定されるべきではない。これまでの説明から理解されるように、息継ぎ波形データは、心拍数という生態的な情報に応じた感情変化の度合いが表現されるように挿入されるべきものである。つまり、感情変化が表現可能な発声音声とされるのであれば、例えば笑い声などをはじめとして、息継ぎ以外の発声音声の波形データを用いて構わない。また、息継ぎ、笑い声など、異なる種類の発声音声のものを複数用意して、そのときに設定されているアバタの感情状態に応じて適宜選択、あるいは併用して挿入する構成とすることも考えられる。
【００９３】
また、挿入用音声データとしては、発話アバタの元の音声データの無音区間のみに限定されるものではなく、例えば、より単純に、発話アバタの元の音声データの冒頭あるいは終端につなげるようにして挿入することも考えられる。
【００９４】
また、図１７に示す説明では、感情対応処理部３１２における各部の処理は、発話アバタに設定されたそのときの心拍数の情報としているが、これに限定されるべきものでもない。つまり、心拍数は、アバタを生物体としてみた場合の生体情報の１つであり、このような生体情報が、感情状態を示し得るものとして扱っているものである。従って、例えば心拍数以外の、例えば脈拍数、体温などの他の生体情報を設定することとして、このような生体情報が示す値に基づいて、感情対応処理部３１２における処理を制御することも考えられる。また、生体情報を複数設定できるようにしておいて、各生体情報が示す値により、多様な感情状態の変化が示されるようにアルゴリズムを組み立てることとしておき、この感情状態の変化に応じて感情対応処理部３１２が処理を実行するように構成することもできる。
【００９５】
また、感情対応処理部３１２においては、発話アバタの元の音声に対する時間軸方向の可変処理として、時間を短縮する傾向のみによっての処理を実行するようにされているが、例えば、時間を延ばすようにして処理を実行することも考えられる。この場合には、本来よりも発話速度がゆっくりとなって、例えば、より穏やかになっていく感情変化を示し得ることになる。
【００９６】
また、図１７に示した音声データ処理部２０５としての音声処理は、実施の形態では、サーバ１において実行するものとされているが、例えば、発話アバタに対応するユーザのユーザ端末装置２において同様の処理を実行し、この処理により得られたアバタ音声データを、送信出力するように構成することも考えられる。また、この場合には、ユーザ端末装置２からサーバ１に対してアバタ音声データを送信して、サーバ１から相手アバタのユーザ端末装置２に対して、このアバタ音声データを配信するようにして送信出力する構成とすることができる。あるいは、Ｐ２Ｐ(Pier To Pier)の通信により、発話アバタのユーザ端末装置２から直接的に相手アバタのユーザ端末装置２に対してアバタ音声データを送信出力可能に構成することも可能とされる。
この場合には、ユーザ端末装置２において、アバタ属性テーブルにおけるアバタごとの情報項目について、少なくとも自己アバタの情報項目については管理、保持するようにされる。そして、ユーザ端末装置２は、この情報項目を利用して、例えば図１７に示す音声データ処理部２０５の処理を実行するようにされる。なお、この場合においても、音声データ処理部２０５の処理については、ユーザ端末装置２のＣＰＵ１０１が、ＲＯＭ１０２或いはハードディスクドライブ１０８にインストールされるようにして記憶されるプログラムに従った処理として実行されるように構成してよい。
【図面の簡単な説明】
【００９７】
【図１】本発明の実施の形態の三次元仮想現実空間共有システムの全体的な構築例を示す図である。
【図２】本実施の形態の三次元仮想現実空間共有システムにおいて提供される三次元仮想現実空間の様子の一例を示す図である。
【図３】図２におけるアバタＡに対応するユーザ端末装置において表示される三次元仮想現実空間の例である。
【図４】ユーザ端末装置の構成例を示すブロック図である。
【図５】仮想現実空間対応サーバの構成例を示すブロック図である。
【図６】仮想現実空間対応サーバで保持、管理されるアバタ属性テーブルの構造例を模式的に示す図である。
【図７】仮想現実空間対応サーバで保持、管理される構造物属性テーブルの構造例と、インパルス応答波形データベースの管理形態例を模式的に示す図である。
【図８】ユーザ端末装置が三次元仮想現実空間の共有を開始するために、ユーザ端末装置と仮想現実空間対応サーバとの間で行われる通信手順を示す図である。
【図９】自己アバタに関連する変更操作に応じた、ユーザ端末装置と仮想現実空間対応サーバの処理を示すフローチャートである。
【図１０】仮想現実空間対応サーバからの更新情報の送信に応じた、ユーザ端末装置の処理を示すフローチャートである。
【図１１】ユーザ端末装置における、ボイスチャット用の音声データの取り込み処理を示すフローチャートである。
【図１２】ユーザ端末装置２からのボイスチャットデータの送信に応じた、仮想現実空間対応サーバの処理を示すフローチャートである。
【図１３】ボイスチャット成立判定の処理を示すフローチャートである。
【図１４】発話アバタと他のアバタとの距離Ｒｘと、距離レベル係数LV1との関係例を示す図である。
【図１５】発話角度と発話角度レベル係数LVas、及び、発話角度と発話角度レベル係数LVarの関係例を示す図である。
【図１６】発話アバタと他のアバタとの位置及び視線ベクトルの関係を示すもので、ボイスチャット成立判定処理において各種係数を算出するための要素の意義を説明するための図である。
【図１７】音声データ処理部の構成を機能ブロックにより示すブロック図である。
【図１８】音声データ処理部における感情対応処理部の信号処理例を示す図である。
【符号の説明】
【００９８】
１  仮想現実空間対応サーバ、２  ユーザ端末装置、３  ネットワーク、１０１，２０１  ＣＰＵ、１０２，２０２  ＲＯＭ、１０３，２０３  ＲＡＭ、１０４  入出力インターフェイス、１０５  キーボード、１０６  マウス、１０７  メディアドライブ、１０８  ハードディスクドライブ、１０８  ハードディスクドライブ、１０９  ディスプレイモニタ、１１０，２０６  ネットワークインターフェイス、１１１  送話装置、１１２  受話装置、１１３  内部バス、２０４  記憶部、２０５  音声データ処理部、３０１  復号処理部、３０２  声質変換処理部、３０３，３０５  時間短縮処理部、３０６  息継ぎ波形挿入処理部、３０７  畳み込み演算処理部、３０８  乗算器、３０９  Ｌｃｈ  再生フィルタ、３１０  Ｒｃｈ再生フィルタ、３１１  符号化処理部
【図１】
2005322125.tif 000003
【図２】
2005322125.tif 000004
【図３】
2005322125.tif 000005
【図４】
2005322125.tif 000006
【図５】
2005322125.tif 000007
【図６】
2005322125.tif 000008
【図７】
2005322125.tif 000009
【図８】
2005322125.tif 000010
【図９】
2005322125.tif 000011
【図１０】
2005322125.tif 000012
【図１１】
2005322125.tif 000013
【図１２】
2005322125.tif 000014
【図１３】
2005322125.tif 000015
【図１４】
2005322125.tif 000016
【図１５】
2005322125.tif 000017
【図１６】
2005322125.tif 000018
【図１７】
2005322125.tif 000019
【図１８】
2005322125.tif 000020