(57)【要約】【課題】仮想空間における音源の存在に基づいたリアリティのある音声のやりとりを可能とする。【解決手段】情報処理装置は、ネットワークを介して接続される複数の端末装置のそれぞれに対応する複数の仮想体の仮想空間における位置を示す位置情報を記憶する記憶手段と、複数の端末装置のうち何れかの第１端末装置に入力された音声を示す音声情報を取得する取得手段と、記憶手段に記憶された位置情報が示す、第１端末装置に対応する仮想体の位置と、複数の端末装置のうち他の端末装置に対応する仮想体の位置と、仮想空間に存在する音源との関係に基づいて、他の端末装置のうち、取得手段により取得された音声情報が送信される第２端末装置を決定する決定手段と、を備える。【選択図】図３
2016187063.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続される複数の端末装置のそれぞれに対応する複数の仮想体の仮想空間における位置を示す位置情報を記憶する記憶手段と、
前記複数の端末装置のうち何れかの第１端末装置に入力された音声を示す音声情報を取得する取得手段と、
前記記憶手段に記憶された前記位置情報が示す、前記第１端末装置に対応する特定の仮想体の位置と、前記複数の端末装置のうち他の端末装置に対応する仮想体の位置と、前記仮想空間に存在する音源との関係に基づいて、前記他の端末装置のうち、前記取得手段により取得された前記音声情報が送信される第２端末装置を決定する決定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記特定の仮想体の位置と前記音源との関係に基づいて、前記仮想空間の中で、前記取得手段により取得された前記音声情報が示す音声が到達する範囲であって、前記特定の仮想体の位置を基準とする範囲を決定する範囲決定手段を更に備え、
前記決定手段は、前記範囲決定手段により決定された範囲内に位置する仮想体に対応する端末装置を前記第２端末装置に決定することを特徴とする情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置において、
前記取得手段により取得された前記音声情報が示す音声の音量は、前記仮想空間において前記特定の仮想体の位置からの距離が長いほど小さくなるものであり、
前記決定手段は、前記音量が閾値を超える位置にある仮想体に対応する端末装置を、前記第２端末装置に決定し、前記音源の数が多いほど又は前記音源から出力される音の大きさが大きいほど、前記音量を小さくし又は前記閾値を大きくすることを特徴とする情報処理装置。
【請求項４】
請求項３に記載の情報処理装置において、
前記決定手段は、前記音源の数が多いほど又は前記音源から出力される音の大きさが大きいほど、前記特定の仮想体を基準として前記音源が位置する第１方向における前記音量を小さくし又は前記閾値を大きくすることを特徴とする情報処理装置。
【請求項５】
請求項４に記載の情報処理装置において、
前記決定手段は、前記第１方向とは反対の第２方向における前記音量を前記第１方向における前記音量よりも大きくし、又は前記第２方向における前記閾値を前記第１方向における前記閾値よりも小さくすることを特徴とする情報処理装置。
【請求項６】
請求項１乃至５の何れか１項に記載の情報処理装置において、
前記音源は、前記複数の仮想体のうち音声を発している仮想体であることを特徴とする情報処理装置。
【請求項７】
請求項１乃至６の何れか１項に記載の情報処理装置において、
前記第２端末装置へ送信される前記音声情報に対応して前記第２端末装置により出力される音声の音量を決定する音量決定手段であって、前記特定の仮想体の位置から前記第２端末装置に対応する仮想体の位置までの距離が長いほど、小さい音量を決定する音量決定手段を更に備えることを特徴とする情報処理装置。
【請求項８】
請求項７に記載の情報処理装置において、
前記決定手段により決定された前記第２端末装置に対し、前記音声情報と、前記音量決定手段により決定された前記音量を示す音量情報と、を送信する音声情報送信手段を更に備えることを特徴とする情報処理装置。
【請求項９】
ネットワークを介して接続される複数の端末装置のうち何れかの第１端末装置に入力された音声を示す音声情報を取得する取得ステップと、
前記複数の端末装置のそれぞれに対応する複数の仮想体の仮想空間における位置を示す位置情報を記憶する記憶手段に記憶された前記位置情報が示す、前記第１端末装置に対応する特定の仮想体の位置と、前記複数の端末装置のうち他の端末装置に対応する仮想体の位置と、前記仮想空間に存在する音源との関係に基づいて、前記他の端末装置のうち、前記取得ステップにより取得された前記音声情報が送信される第２端末装置を決定する決定ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間における複数の仮想体のそれぞれに対応する複数の情報処理装置間で音声情報を送受信するシステムの技術分野に関する。
【背景技術】
【０００２】
従来、仮想空間内で行動する例えばアバターなどと称される仮想体を介して複数のユーザ間でのボイスチャットを可能とする技術が知られている。例えば、特許文献１には、アバターの状態等に基づいて、ボイスチャットが成立するか否かを判定する技術が開示されている。具体的に、特許文献１には、アバター間の距離、発話したアバターの向き、他のアバターの向き、発話したアバターによるマスク等の装備品の装着／非装着等に基づいて、ボイスチャットが成立するか否かを判定することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３２２１２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現実空間においては、人間の発話音声が何らかの騒がしい音によってかき消されるなど、発話音声が遠くまでとどかない場合がある。その一方で、静かな状況においては、発話者からの距離が或る程度離れていても、その発話音声が聞こえる場合がある。そのような状況に応じたリアリティのある音声のやりとりを、仮想空間を利用したシステムにおいて実現することが望まれる。
【０００５】
本発明は、以上の点に鑑みてなされたものであり、仮想空間における音源の存在に基づいたリアリティのある音声のやりとりを可能とする情報処理装置等を提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、ネットワークを介して接続される複数の端末装置のそれぞれに対応する複数の仮想体の仮想空間における位置を示す位置情報を記憶する記憶手段と、前記複数の端末装置のうち何れかの第１端末装置に入力された音声を示す音声情報を取得する取得手段と、前記記憶手段に記憶された前記位置情報が示す、前記第１端末装置に対応する特定の仮想体の位置と、前記複数の端末装置のうち他の端末装置に対応する仮想体の位置と、前記仮想空間に存在する音源との関係に基づいて、前記他の端末装置のうち、前記取得手段により取得された前記音声情報が送信される第２端末装置を決定する決定手段と、を備えることを特徴とする。
【０００７】
請求項２に記載の発明は、請求項１に記載の情報処理装置において、前記特定の仮想体の位置と前記音源との関係に基づいて、前記仮想空間の中で、前記取得手段により取得された前記音声情報が示す音声が到達する範囲であって、前記特定の仮想体の位置を基準とする範囲を決定する範囲決定手段を更に備え、前記決定手段は、前記範囲決定手段により決定された範囲内に位置する仮想体に対応する端末装置を前記第２端末装置に決定することを特徴とする。
【０００８】
請求項３に記載の発明は、請求項１又は２に記載の情報処理装置において、前記取得手段により取得された前記音声情報が示す音声の音量は、前記仮想空間において前記特定の仮想体の位置からの距離が長いほど小さくなるものであり、前記決定手段は、前記音量が閾値を超える位置にある仮想体に対応する端末装置を、前記第２端末装置に決定し、前記音源の数が多いほど又は前記音源から出力される音の大きさが大きいほど、前記音量を小さくし又は前記閾値を大きくすることを特徴とする。
【０００９】
請求項４に記載の発明は、請求項３に記載の情報処理装置において、前記決定手段は、前記音源の数が多いほど又は前記音源から出力される音の大きさが大きいほど、前記特定の仮想体を基準として前記音源が位置する第１方向における前記音量を小さくし又は前記閾値を大きくすることを特徴とする。
【００１０】
請求項５に記載の発明は、請求項４に記載の情報処理装置において、前記決定手段は、前記第１方向とは反対の第２方向における前記音量を前記第１方向における前記音量よりも大きくし、又は前記第２方向における前記閾値を前記第１方向における前記閾値よりも小さくすることを特徴とする。
【００１１】
請求項６に記載の発明は、請求項１乃至５の何れか１項に記載の情報処理装置において、前記音源は、前記複数の仮想体のうち音声を発している仮想体であることを特徴とする。
【００１２】
請求項７に記載の発明は、請求項１乃至６の何れか１項に記載の情報処理装置において、前記第２端末装置へ送信される前記音声情報に対応して前記第２端末装置により出力される音声の音量を決定する音量決定手段であって、前記特定の仮想体の位置から前記第２端末装置に対応する仮想体の位置までの距離が長いほど、小さい音量を決定する音量決定手段を更に備えることを特徴とする。
【００１３】
請求項８に記載の発明は、請求項７に記載の情報処理装置において、前記決定手段により決定された前記第２端末装置に対し、前記音声情報と、前記音量決定手段により決定された前記音量を示す音量情報と、を送信する音声情報送信手段を更に備えることを特徴とする。
【００１４】
請求項９に記載の発明は、ネットワークを介して接続される複数の端末装置のうち何れかの第１端末装置に入力された音声を示す音声情報を取得する取得ステップと、前記複数の端末装置のそれぞれに対応する複数の仮想体の仮想空間における位置を示す位置情報を記憶する記憶手段に記憶された前記位置情報が示す、前記第１端末装置に対応する特定の仮想体の位置と、前記複数の端末装置のうち他の端末装置に対応する仮想体の位置と、前記仮想空間に存在する音源との関係に基づいて、前記他の端末装置のうち、前記取得ステップにより取得された前記音声情報が送信される第２端末装置を決定する決定ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１５】
請求項１又は９に記載の発明によれば、音声が入力された端末装置に対応する仮想体の位置と、他の仮想体の位置と、音源とに基づいて、音声情報が送信される端末装置が決定される。そのため仮想空間における音源の存在に基づいてリアリティのある音声のやりとりが可能となる。
【００１６】
請求項２に記載の発明によれば、決定された範囲に仮想体が位置するか否かに基づいて、音声情報が送信される端末装置を決定することができる。
【００１７】
請求項３に記載の発明によれば、音源の数又は音源からの音の大きさに基づいて、よりリアリティのある音声のやりとりが可能となる。
【００１８】
請求項４に記載の発明によれば、音源の方向に位置する仮想体に対して、よりリアリティのある音声のやりとりが可能となる。
【００１９】
請求項５に記載の発明によれば、音源の方向とは反対方向に位置する仮想体に対して、よりリアリティのある音声のやりとりが可能となる。
【００２０】
請求項６に記載の発明によれば、仮想体が発した音声が、他の仮想体から発せられる音声の影響によりとどきにくくなる状況を作り出すことができる。
【００２１】
請求項７又は８に記載の発明によれば、仮想体間の距離に応じたリアリティのある音量で音声をやりとりすることができる。
【図面の簡単な説明】
【００２２】
【図１】（Ａ）は、本実施形態の通信システムＳの概要構成例を示す図である。（Ｂ）は、本実施形態のサーバ１の概要構成例を示す図である。（Ｃ）は、本実施形態のユーザ端末２の概要構成例を示す図である。
【図２】（Ａ）は、仮想空間における標準音声到達領域と、到達音量の減衰曲線の例を示す。（Ｂ）は、送信アバターと他のアバターとの位置関係の一例を示す図である。
【図３】サーバ１における音声データ送信処理の一例を示すフローチャートである。
【図４】仮想空間における最終音声到達領域と、送信アバターの位置と音源との関係に基づく到達音量の減衰曲線の例を示す。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態を図面に基づいて説明する。
【００２４】
［１．第１実施形態］
［１−１．通信システムの構成］
図１（Ａ）は、本実施形態の通信システムＳの概要構成例を示す図である。図１（Ａ）に示すように、通信システムＳは、サーバ１、及び複数のユーザ端末２を含んで構成される。サーバ１は、本発明の情報処理装置の一例である。ユーザ端末２は、本発明の端末装置の一例である。サーバ１、及びユーザ端末２は、それぞれネットワーク１０に接続される。ネットワーク１０は、例えば、インターネット等により構成される。
【００２５】
サーバ１は、ユーザ端末２のユーザの間で仮想空間を共有することを可能として、仮想空間に存在するアバターを介してユーザ間のコミュニケーションを実現するための仮想空間の管理を行うサーバ装置である。この仮想空間には、様々なオブジェクトが配置されてもよい。オブジェクトの例として、建物、自然物、乗り物等が挙げられる。本実施形態において、仮想空間は三次元空間である。しかしながら、仮想空間は二次元空間であってもよい。アバターは、仮想空間において、ユーザの代わりとなる仮想体である。アバターは、ユーザごとに、ユーザが利用するユーザ端末２に対応して仮想空間に配置される。
【００２６】
サーバ１は、仮想空間におけるアバターの位置及び方向等に基づいて、仮想空間においてアバターから見える映像を示す映像データを生成する。そして、サーバ１は、そのアバターに対応するユーザ端末２へ映像データを送信する。ユーザ端末２は、サーバ１から受信した映像データに対応する映像を表示する。ユーザ端末２に対するユーザの操作に基づき、サーバ１は、そのユーザ端末２に対応するアバターの仮想空間における位置や方向等を更新する。
【００２７】
また、ユーザ端末２に対してユーザが音声を入力すると、そのユーザ端末２は、入力された音声を示す音声データをサーバ１へ送信する。音声データを送信したユーザ端末２を送信端末という。送信端末は、本発明の第１端末装置の一例である。また、送信端末に対応するアバターを送信アバターという。サーバ１は、音声データを受信すると、送信アバターの仮想空間における位置と、他のアバターの仮想空間における位置と、仮想空間に存在する音源との関係に基づいて、送信端末以外のユーザ端末２のうち、音声データの送信先のユーザ端末２を決定する。音源は、例えば送信アバター以外の音声を発しているアバターであってもよい。また、音源は、音を発生するオブジェクトであってもよい。例えば、音源は、乗り物、テレビ、ラジオ等であってもよい。音声データの送信先のユーザ端末２を受信端末という。受信端末は、本発明の第２端末装置の一例である。また、受信端末に対応するアバターを受信アバターという。サーバ１は、決定した受信端末へ、送信端末から受信した音声データを送信する。受信端末は、サーバ１から受信した音声データが示す音声を出力する。こうしたユーザ端末２間での音声データの送受信が行われることにより、ユーザ間のコミュニケーションが実現される。
【００２８】
［１−２．サーバ１の構成］
次に、図１（Ｂ）を参照して、サーバ１の構成について説明する。図１（Ｂ）は、本実施形態のサーバ１の概要構成例を示す図である。図１（Ｂ）に示すように、サーバ１は、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３、記憶部１４及び通信部１５等を備えて構成される。これらの構成要素は、バス１６に接続されている。通信部１５は、ネットワーク１０に接続される。記憶部１４は、例えばハードディスクドライブにより構成される。記憶部１４には、ＯＳ、及びサーバプログラム等が記憶されている。サーバプログラムは、コンピュータとしてのＣＰＵ１１に、ユーザ間のコミュニケーションを実現するための処理を実行させるプログラムである。サーバプログラム等は、例えばネットワーク１０等を介して他のサーバ等からダウンロードされてもよい。或いは、サーバプログラム等は、例えば光ディスク、磁気テープ、メモリカード等の記録媒体に記録されてドライブ装置を介して記憶部１４に読み込まれてもよい。
【００２９】
記憶部１４には、地図データ、オブジェクトモデルデータ、アバターモデルデータ、姿勢情報、位置方向情報、発話状態、アドレス情報等が記憶されている。地図データは、仮想空間におけるオブジェクトの位置等を示すデータである。オブジェクトモデルデータは、オブジェクトの形状を示すモデルデータである。アバターモデルデータ、姿勢情報、位置方向情報、及び発話状態は、アバターに関する情報である。これらの情報は、例えばユーザごとに、ユーザＩＤに対応付けて記憶部１４に記憶される。ユーザＩＤは、ユーザを識別する識別情報である。アバターモデルデータは、アバターの各身体部位の形状を示すモデルデータである。姿勢情報は、アバターの姿勢を示す情報である。姿勢情報は、例えばアバターの各身体部位の座標及び方向を含む。位置方向情報は、仮想空間におけるアバターの位置を示す座標及びアバターの正面方向を示すベクトルを含む。制御部１１は、地図データ、オブジェクトモデルデータ、アバターモデルデータ、姿勢情報、及び位置方向情報に基づいて、仮想空間においてアバターから見える映像を示す映像データを生成し、そのアバターに対応するユーザ端末２へ映像データを送信する。
【００３０】
発話状態は、アバターが現在音声を発しているか否かを示す。発話状態がＴＲＵＥである場合、アバターは音声を発しており、発話状態がＦＡＬＳＥである場合、アバターは音声を発していない。アドレス情報は、アバターに対応するユーザ端末２のＩＰアドレス及びポート番号を含む。例えば、ユーザが通信システムＳにログインするとき、そのユーザが利用するユーザ端末２は、ユーザＩＤ、及びそのユーザ端末２のアドレス情報をサーバ１へ送信する。制御部１１は、受信したユーザＩＤ及びアドレス情報を対応付けて記憶部１４に記憶させる。制御部１１は、ユーザから入力された音声を示す音声データを送信端末から受信した場合、音声データのパケットのヘッダに含まれる送信端末のアドレス情報に対応するユーザＩＤを取得する。そして、制御部１１は、取得したユーザＩＤに対応する発話状態をＴＲＵＥに設定する。また、制御部１１は、受信した音声データをユーザＩＤに対応付けて記憶部１４に記憶させる。制御部１１は、受信端末を決定すると、受信端末のアドレス情報に基づいて、受信した音声データを受信端末へ送信する。また、制御部１１は、受信した音声データから、入力された音声の時間を発話時間として取得する。制御部１１は、音声データの送信から発話時間が経過すると、発話状態をＦＡＬＳＥに変更し、音声データを記憶部１４から削除する。
【００３１】
［１−３．ユーザ端末２の構成］
次に、図１（Ｃ）を参照して、ユーザ端末２の構成について説明する。図１（Ｃ）は、本実施形態のユーザ端末２の概要構成例を示す図である。図１（Ｃ）に示すように、ユーザ端末２は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、記憶部２４、通信部２５、入力部２６、表示部２７、マイク２８、及びスピーカ２９等を備えて構成される。これらの構成要素は、バス３０に接続されている。通信部２５は、ネットワーク１０に接続される。入力部２６は、ユーザの操作を入力するための入力デバイスである。入力部２６は、例えばボタン、キー、タッチパネル、キーボード等の少なくとも１つにより構成されてもよい。表示部２７は、例えば液晶パネル、有機ＥＬパネル等により構成されるディスプレイである。制御部２１は、サーバ１から受信した映像データに対応する映像を表示部２７に表示させる。マイク２８は、ユーザにより入力された音声を、音声データに変換する。制御部２１は、変換された音声データを、ユーザ端末２を利用するユーザのユーザＩＤとともにサーバ１へ送信する。また、制御部１１は、サーバ１から受信した音声データに対応する音声を、スピーカ２９により出力させる。
【００３２】
記憶部２４は、例えばフラッシュメモリ又はハードディスクドライブ等により構成される。記憶部２４には、ＯＳ、及び端末プログラム等が記憶されている。端末プログラムは、コンピュータとしてのＣＰＵ２１に、サーバ１からの映像データに基づく映像の表示、サーバ１に対応する音声データの送受信等の処理を実行させるプログラムである。端末プログラム等は、例えばネットワーク１０等を介してサーバ１等のサーバ装置からダウンロードされてもよい。或いは、端末プログラム等は、例えば光ディスク、磁気テープ、メモリカード等の記録媒体に記録されてドライブ装置を介して記憶部２４に読み込まれてもよい。或いは、端末プログラム等は、ユーザ端末２に予めインストールされていてもよい。
【００３３】
［１−４．受信端末の決定］
現実空間においては、発話する人物から他の人物までの距離等によって、発話音声が他の人物に聞こえたり聞こえなかったりする。また、発話する人物から他の人物までの距離が同じであっても、何らかの音源が音を発していると、音源からの音の影響で、発話音声が他のユーザに聞こえにくくなったりする。このような状況を仮想空間において再現するため、サーバ１は、送信アバターの位置と、他のアバターの位置と、音源との関係に基づいて、受信端末を決定する。
【００３４】
例えば、サーバ１は、到達音量の減衰曲線を決定する。減衰曲線は、仮想空間において送信アバターの位置からの距離と、送信アバターの発話音声の到達音量との関係を示すグラフである。到達音量は、送信アバターの発話音声が、送信アバターから離れた位置に到達したときの発話音声の音量である。到達音量は、送信アバターの位置からの距離が長いほど小さくなる。例えば距離に反比例して音量が小さくなってもよいし、指数関数的に音量が小さくなってもよい。なお、曲線ではなく、直線で到達音量の減衰が示されてもよい。
【００３５】
送信アバターからの方向によって、その方向に対する減衰曲線が変化してもよいし、変化しなくてもよい。例えば、送信アバターの正面方向と減衰曲線を決定する方向とがなす角度が大きいほど、送信アバターの位置からの距離に対する音量が小さくなる。この角度を送信角度という。
【００３６】
送信アバターの位置からの距離をｘとし、送信角度をｙ度とした場合の減衰曲線（到達音量）の関数ｆ（ｘ，ｙ）の式の一例を以下に示す。
【００３７】
【数１】
2016187063.tif 000003
【００３８】
【数２】
2016187063.tif 000004
【００３９】
ｍｉｎ（ａ，ｂ）は、ａ及びｂのうち小さい方の値を示す。ＶＭは、到達音量の予め定められた最大値である。すなわち、到達音量は最大値ＶＭを超えない。ｃは定数である。ｔｖは、送信端末から受信された音声データから得られた発話音量である。発話音量が大きいほど、到達音量も大きくなる。なお、サーバ１は、発話音量を用いないで到達音量を計算してもよい。この場合、ｔｖは常に１である。ｋは、送信角度による到達音量への影響を示す係数である。なお、サーバ１は、送信角度を用いないで到達音量を計算してもよい。この場合、ｋは常に１となる。
【００４０】
例えば、仮想空間の中で、ｆ（ｘ，ｙ）が所定値を超える範囲を、送信アバターの発話音声が到達しうる範囲とする。この範囲を、標準音声到達領域という。サーバ１は、例えば標準音声到達領域内に位置するアバターに対応するユーザ端末２の中から、受信端末を決定してもよい。標準音声到達領域内に位置するアバターを、候補アバターという。
【００４１】
図２（Ａ）は、仮想空間における標準音声到達領域と、到達音量の減衰曲線の例を示す。図２（Ａ）に示すように、仮想空間ＶＳに、送信アバターＴＡと、他のアバターＡ１〜Ａ１２が配置されている。図２（Ａ）に示す減衰曲線Ｃ１は、送信アバターＴＡを通る直線Ｌ上における到達音量の減衰曲線である。図２（Ａ）においては、便宜上、減衰曲線Ｃ１を直線で示している。減衰曲線Ｃ１で示される音量が所定値を超える範囲が標準音声到達領域Ｒ１である。標準音声到達領域Ｒ１の範囲内に位置するアバターは、アバターＡ４〜Ａ９である。従って、候補アバターは、アバターＡ４〜Ａ９である。
【００４２】
サーバ１は、仮想空間に存在する音源に基づいて、候補アバターの中から受信アバターを決定する。例えば、サーバ１は、減衰曲線に基づき、候補アバターの位置における到達音量を計算する。また、サーバ１は、音源に基づいて、到達音量に対する閾値を決定する。この閾値は、送信アバターの発話音声が候補アバターに聞こえるか否かを決定するための値である。到達音量が閾値を超える場合、発話音声が候補アバターに聞こえる。すなわち、サーバ１は、到達音量が閾値を超える位置にある候補アバターを、受信アバターに決定する。例えば、サーバ１は、仮想空間に存在する音源の数が多いほど、閾値を大きくしてもよい。音源の数が多いほど、送信アバターの発話音声以外で、候補アバターが聞こえる可能性がある音の数が多くなる。候補アバターが聞こえる可能性がある音の数が多いほど、送信アバターの発話音声が聞こえづらくなる。また例えば、サーバ１は、音源が発する音の音量が大きいほど、閾値を大きくしてもよい。音源からの音の大きさが大きいほど、候補アバターにその音が聞こえやすくなり、送信アバターの発話音声が遮られる可能性が高くなる。
【００４３】
また、サーバ１は、音源の数が多いほど、又は音源からの音の大きさが大きいほど、送信アバターを基準として音源が位置する方向における閾値を大きくしてもよい。更に、サーバ１は、送信アバターを基準として音源が位置する方向とは反対方向における閾値を、送信アバターを基準として音源が位置する方向における閾値よりも小さくしてもよい。すなわち、送信アバターから見て、候補アバターが、音源が位置する方向に近い方向に位置しているほど、その候補アバターの到達音量に対する閾値が大きくなる。例えば、候補アバターが、音源が位置する方向と同じ方向に位置していると、閾値が最大となり、候補アバターが、音源が位置する方向とは反対方向に位置していると、閾値が最小となってもよい。
【００４４】
例えば、音源からの音が候補アバターに到達したときの候補アバターの位置における音量を決定してもよい。この音量を第２到達音量という。サーバ１は、送信アバターの発話音声の到達音量の計算方法と同様の方法で、第２到達音量を計算してもよい。この音量を、第２到達音量という。そして、サーバ１は、第２到達音量が大きいほど閾値を大きくしてもよい。例えば、第２到達音量が閾値であってもよい。例えば、式１及び式２を用いて到達音量を計算する場合、音源の位置から候補アバターの位置までの距離をｘとする。また、音源の正面方向と、音源の位置から候補アバターの位置への方向とがなす角度をｙとする。ただし、音源に正面方向が存在しない場合、ｋは常に１である。また、音源の位置におけるその音源の音量をｔｖとする。この場合、音源の位置から候補アバターの位置までの距離が短いほど、第２到達音量が大きくなるため、閾値が大きくなる。従って、送信アバターを基準として、候補アバターが、音源が位置する方向に近い方向に位置しているほど、その候補アバターの到達音量に対する閾値が大きくなる。
【００４５】
サーバ１は、候補アバターの位置を基準とする送信アバターの方向と候補アバターの位置を基準とする音源の方向とがなす角度によって、第２到達音量を調整してもよい。この角度を、相対音源角度という。また、調整後の第２到達音量を、影響度という。影響度が大きいほど、送信アバターの発話音声が候補アバターに到達しない蓋然性が高くなる。サーバ１は、例えば影響度が大きいほど閾値を大きくしてもよい。例えば、影響度が閾値であってもよい。例えば、サーバ１は、相対音源角度が大きいほど影響度を小さくしてもよい。例えば、サーバ１は、式２と同じ式を用いて、第２到達音量に対する係数を計算してもよい。この場合、ｙは相対音源角度である。そして、サーバ１は、計算された係数を第２到達音量に掛けて、影響度を計算してもよい。
【００４６】
図２（Ｂ）は、送信アバターと他のアバターとの位置関係の一例を示す図である。図２（Ｂ）に示すように、送信アバターＴＡと、アバターＡ２１〜Ａ２３が位置しているとする。例えば、アバターＡ２１が候補アバターであり、アバターＡ２２及びＡ２３が現在発話しているとする。すなわち、アバターＡ２２及びＡ２３が音源である。アバターＡ２１を基準とする送信アバターＴＡへの方向とアバター２２Ａへの方向とがなす角度θ１は、アバターＡ２１を基準とする送信アバターＴＡへの方向とアバター２３Ａへの方向とがなす角度θ２よりも小さい。従って、アバター２２Ａの発話音声のアバターＡ２１の位置における第２到達音量に掛けられる係数は、アバター２３Ａの発話音声のアバターＡ２１の位置における第２到達音量に掛けられる係数よりも大きい。すなわち、アバター２２Ａの発話音声の影響度が、アバター２３Ａの発話音声の影響度よりも大きくなる傾向がある。
【００４７】
閾値を決定するとき、サーバ１は、候補アバターの正面方向と、候補アバターの位置を基準として送信アバターが位置する方向との角度を用いてもよい。この角度を受信角度という。受信角度によって、送信アバターからの発話音声の聞こえやすさが異なる。例えば、サーバ１は、受信角度に基づいて、到達音量に対する閾値を計算してもよい。例えば、サーバ１は、受信角度が大きいほど閾値を大きくしてもよい。そして、サーバ１は、受信角度に基づく閾値と、音源に基づく影響度を比較する。受信角度に基づく閾値が影響度以上である場合、サーバ１は、受信角度に基づく閾値を、到達音量に対する最終的な閾値に決定する。影響度が受信角度に基づく閾値よりも大きい場合、サーバ１は、影響度を、到達音量に対する最終的な閾値に決定する。また、例えばサーバ１は、受信角度に基づいて計算された閾値に、音源の数に応じた係数を掛けて、最終的な閾値を決定してもよい。この場合、音源の数が多いほど係数が大きくなる。
【００４８】
［１−４．通信システムＳの動作］
次に、図３を参照して、本実施形態の通信システムＳの動作について説明する。図３は、サーバ１における音声データ送信処理の一例を示すフローチャートである。例えば、サーバ１が、送信端末に入力された音声を示す音声データを送信端末から取得したとき、音声データ送信処理が実行される。
【００４９】
図３に示すように、制御部１１は、送信端末に対応する送信アバターＴＡを基準とする標準音声到達領域を決定する（ステップＳ１）。具体的に、制御部１１は、送信端末から送信されてきたパケットに含まれるアドレス情報に対応するユーザＩＤを記憶部１４から取得する。次いで、制御部１１は、ユーザＩＤに対応する位置方向情報を取得する。次いで、制御部１１は、位置方向情報と、音声データの発話音量と、減衰曲線の関数とに基づいて、送信アバターＴＡの位置を基準として０度から３６０度まで所定角度間隔の方向ごとに、到達音量が所定値となる地点の座標を計算する。そして、制御部１１は、到達音量が所定値となる地点で囲まれる領域を、標準音声到達領域に決定する。
【００５０】
次いで、制御部１１は、送信アバター以外のアバターのうち、標準音声到達領域内に位置するアバターを、候補アバターとして決定する（ステップＳ２）。具体的に、制御部１１は、記憶部１４に記憶された位置方向情報のうち、標準音声到達領域内の座標を示す位置方向情報に対応するユーザＩＤを、候補アバターのユーザＩＤとして取得する。また、制御部１１は、候補アバターのユーザＩＤに対応する位置方向情報を取得する。
【００５１】
次いで、制御部１１は、番号ｉを０に設定する（ステップＳ３）。次いで、制御部１１は、番号ｉが、候補アバターの数未満であるか否かを判定する（ステップＳ４）。このとき、制御部１１は、番号ｉが、候補アバターの数未満であると判定した場合には（ステップＳ４：ＹＥＳ）、ステップＳ５に進む。ステップＳ５において、制御部１１は、送信アバターＴＡの位置からアバターＸ（ｉ）の位置までの距離と、アバターＸ（ｉ）に対する送信アバターＴＡの送信角度と、減衰曲線の関数に基づいて、アバターＸ（ｉ）の到達音量を決定する。アバターＸ（ｉ）は、候補アバターのうちｉ番目のアバターである。次いで、制御部１１は、送信アバターＴＡに対するアバターＸ（ｉ）の受信角度に基づいて、到達音量の閾値を決定する（ステップＳ６）。次いで、制御部１１は、仮想空間においてアバターＸ（ｉ）に対して発話音声がとどく可能性があるアバターを決定する（ステップＳ７）。アバターＸ（ｉ）に対して発話音声がとどく可能性があるアバターを、近隣アバターという。例えば、制御部１１は、記憶部１４に記憶された位置方向情報に基づいて、アバターＸ（ｉ）の位置から所定距離以内に位置するアバターのユーザＩＤを、近隣アバターのユーザＩＤとして決定してもよい。制御部１１は、決定した近隣アバターのユーザＩＤに対応する位置方向情報を記憶部１４から取得する。
【００５２】
次いで、制御部１１は、番号ｊを０に設定する（ステップＳ８）。次いで、制御部１１は、番号ｊが近隣アバターの数未満であるか否かを判定する（ステップＳ９）。このとき、制御部１１は、番号ｊが近隣アバターの数未満であると判定した場合には（ステップＳ９：ＹＥＳ）、ステップＳ１０に進む。一方、制御部１１は、番号ｊが近隣アバターの数未満ではないと判定した場合には（ステップＳ９：ＮＯ）、ステップＳ１６に進む。
【００５３】
ステップＳ１０において、制御部１１は、アバターＹ（ｊ）が発話しているか否かを判定する。アバターＹ（ｊ）は、決定された近隣アバターのうちｊ番目のアバターである。制御部１１は、アバターＹ（ｊ）のユーザＩＤに対応する発話状態がＴＲＵＥである場合、アバターＹ（ｊ）が発話していると判定する（ステップＳ１０：ＹＥＳ）。この場合、制御部１１は、ステップＳ１１に進む。一方。制御部１１は、アバターＹ（ｊ）のユーザＩＤに対応する発話状態がＦＡＬＵＳＥである場合、アバターＹ（ｊ）が発話していないと判定する（ステップＳ１０：ＮＯ）。この場合、制御部１１は、ステップＳ１５に進む。
【００５４】
ステップＳ１１において、制御部１１は、アバターＹ（ｊ）の位置からアバターＸ（ｉ）の位置までの距離と、アバターＸ（ｉ）に対するアバターＹ（ｊ）の送信角度と、減衰曲線の関数とに基づいて、アバターＸ（ｉ）の第２到達音量を決定する。次いで、制御部１１は、アバターＸ（ｉ）の位置を基準として、送信アバターＴＡが位置する方向とアバターＹ（ｊ）が位置する方向とがなす相対音源角度に基づいて、第２到達音量に対する係数を決定する。そして、制御部１１は、決定した係数を第２到達音量に掛けて、影響度を計算する（ステップＳ１２）。
【００５５】
次いで、制御部１１は、計算された影響度が、ステップＳ６で決定された閾値よりも大きいか否かを判定する（ステップＳ１３）。このとき、制御部１１は、影響度が閾値よりも大きいと判定した場合には（ステップＳ１３：ＹＥＳ）、ステップＳ１４に進む。ステップＳ１４において、制御部１１は、閾値を影響度に変更して、ステップＳ１５に進む。一方、制御部１１は、影響度が閾値よりも大きくはないと判定した場合には（ステップＳ１３：ＮＯ）、ステップＳ１５に進む。ステップＳ１５において、制御部１１は、番号ｊに１を加算して、ステップＳ９に進む。
【００５６】
ステップＳ１６において、制御部１１は、ステップＳ５で決定された到達音量が閾値よりも大きいか否かを判定する。このとき、制御部１１は、到達音量が閾値よりも大きいと判定した場合には（ステップＳ１６：ＹＥＳ）、ステップＳ１７に進む。一方、制御部１１は、到達音量が閾値よりも大きくはないと判定した場合には（ステップＳ１６：ＮＯ）、ステップＳ１８に進む。
【００５７】
ステップＳ１７において、制御部１１は、アバターＸ（ｉ）に対応するユーザ端末２を、受信端末に決定する。そして、制御部１１は、アバターＸ（ｉ）のユーザＩＤに対応するアドレス情報に基づいて、送信端末から受信した音声データを受信端末へ送信する。このとき、制御部１１は、音声データとともに、到達音量を受信端末へ送信する。次いで、制御部１１は、ステップＳ１８に進む。音声データ及び到達音量を受信した受信端末は、音声データに対応する音声を到達音量でスピーカ２９により出力させる。
【００５８】
ステップＳ１８において、制御部１１は、番号ｉに１を加算して、ステップＳ４に進む。ステップＳ４において、制御部１１は、番号ｉが、候補アバターの数未満ではないと判定した場合には（ステップＳ４：ＮＯ）、音声データ送信処理を終了させる。
【００５９】
以上説明したように、本実施形態によれば、サーバ１が、記憶部１４に記憶された送信アバターの位置と他のアバターの位置と音源との関係に基づいて、受信端末を決定する。そして、サーバ１が、送信端末から取得された音声データを受信端末へ送信する。従って、仮想空間における音源の存在に基づいてリアリティのある音声のやりとりが可能となる。
【００６０】
［２．第２実施形態］
第１実施形態においては、送信端末からの音声データをサーバ１が受信端末へ送信していた。本実施形態においては、送信端末が受信端末へ直接音声データを送信する。例えば、ユーザ端末間でＩＰ電話等のピアツーピア通信を可能とするプロトコルを用いて、送信端末が受信端末へ音声データを送信する。例えば、サーバ１は、仮想空間の管理を行うとともに、送信端末が受信端末へ音声データを送信するための受信端末のアドレス情報を解決する。
【００６１】
また、本実施形態においては、ユーザ端末２が受信端末を決定する。ユーザ端末２は、本発明の情報処理装置の一例である。例えば、送信端末が受信端末を決定してもよい。例えば、図３に示す処理と基本的に同様な処理で、送信端末は受信端末を決定してもよい。例えば、マイク２８から音声が入力されたとき、送信端末は、サーバ１から各アバターの位置方向情報、発話状態及びユーザＩＤを取得して、記憶部２４に記憶させてもよい。そして、送信端末は、図３に示す処理と同様な処理を実行する。ステップＳ１７において、送信端末２は、受信端末のユーザＩＤをサーバ１に送信することにより、受信端末のユーザＩＤに対応するアドレス情報をサーバ１から取得する。そして、送信端末２は、取得したアドレス情報に基づいて、受信端末へ音声データ及び到達音量を送信する。
【００６２】
或いは、例えば各候補アバターに対応するユーザ端末２が、そのユーザ端末２が受信端末であるか否かを決定してもよい。この場合、送信端末は、ステップＳ１〜Ｓ６を実行した後、各候補アバターに対応するユーザ端末２へ、音声データ及び到達音量を送信する。そして、送信端末は、ステップＳ１８を実行して、ステップＳ４に戻る。音声データ及び到達音量を受信したユーザ端末２は、サーバ１から各アバターの位置方向情報及び発話状態を取得して、記憶部２４に記憶させる。そして、ユーザ端末２は、そのユーザ端末２に対応するアバターを候補アバターとして、ステップＳ７〜Ｓ１７を実行する。ステップＳ１７において、ユーザ端末２は、音声データに対応する音声を到達音量でスピーカ２９により出力させる。
【００６３】
以上説明したように、本実施形態によれば、ユーザ端末２が、記憶部２４に記憶された送信アバターの位置と他のアバターの位置と音源との関係に基づいて、受信端末を決定する。そして、ユーザ端末２が、マイク２８から取得された音声データを受信端末へ送信する。従って、仮想空間における音源の存在に基づいてリアリティのある音声のやりとりが可能となる。
【００６４】
［３．第３実施形態］
本実施形態において、情報処理装置としてのサーバ１又はユーザ端末２は、送信アバターの位置と音源との関係に基づいて、送信アバターの位置を基準として送信アバターの発話音声が到達する範囲を決定する。この範囲を、最終音声到達領域という。そして、サーバ１又はユーザ端末２は、最終音声到達領域内に位置するアバターに対応するユーザ端末２を、受信端末に決定する。以下では、サーバ１が情報処理装置である場合の例を説明する。
【００６５】
例えば、サーバ１は、送信アバターの位置を基準として０度から３６０度まで所定角度間隔の方向ごとに、送信アバターの位置と音源との関係に基づく到達音量の減衰曲線を決定してもよい。例えば、サーバ１は、仮想空間において送信アバターの位置を基準とする標準音声到達領域を決定する。次いで、サーバ１は、標準音声到達領域の決定に用いた減衰曲線の関数を微分することにより、所定距離間隔で減衰曲線の傾きを計算する。この傾きの値は負の値である。次いで、サーバ１は、所定距離間隔ごとに、送信アバターの位置からの距離と送信角度から特定される位置における音源からの影響度を決定する。影響度の値は、例えば１以上である。例えば、サーバ１は、音源の位置から影響度を決定する位置までの距離が短いほど、影響度を大きくしてもよい。また、サーバ１は、例えば音源からの音の音量が大きいほど、影響度を大きくしてもよい。また、サーバ１は、例えば音源の数が多いほど、影響度を大きくしてもよい。サーバ１は、所定距離間隔ごとに、影響度を傾きに掛けて、傾きを再計算する。音源が複数存在する場合、サーバ１は、例えば音源ごとに影響度を計算してもよい。そして、サーバ１は、計算された全ての影響度を傾きに掛けて、傾きを再計算してもよい。サーバ１は、所定間隔ごとに再計算された傾きを積分して、送信アバターの位置と音源との関係に基づく到達音量の減衰曲線を決定する。
【００６６】
この結果、サーバ１は、音源からの音が大きいほど又は音源の数が多いほど、到達音量を小さくする。また、サーバ１は、音源からの音が大きいほど又は音源の数が多いほど、送信アバターの位置を基準として、その音源が位置する方向における到達音量を小さくする。これにより、サーバ１は、音源からの音が大きいほど又は音源の数が多いほど、送信アバターの位置を基準として、その音源が位置する方向において、送信アバターの発話音声が到達する範囲を狭くする。一方、サーバ１は、音源からの音が大きいほど又は音源の数が多いほど、送信アバターの位置を基準として、その音源が位置する方向とは反対方向における到達音量を大きくする。
【００６７】
図４は、仮想空間における最終音声到達領域と、送信アバターの位置と音源との関係に基づく到達音量の減衰曲線の例を示す。図４において、図２（Ａ）と同様の要素については同様の符号が付されている。図４に示すように、アバターＡ１〜Ａ１２のうち、アバターＡ７及びＡ８が音声を発している。アバターＡ７は、直線Ｌ上に位置する。減衰曲線Ｃ２が示すように、アバターＡ７の位置付近で、到達音量が急激に減衰している。従って、図４に示すように、最終音声到達領域Ｒ２は標準音声到達領域Ｒ１よりも狭くなっている。例えば、送信アバターＴＡの位置を基準として、アバターＡ７が位置する方向と、アバターＡ８が位置する方向において、送信アバターＴＡの発話音声が到達する範囲が狭くなっている。その結果、最終音声到達領域Ｒ２内に位置する候補アバターは、アバターＡ４〜Ａ７である。従って、サーバ１は、アバターＡ４〜Ａ７に対応するユーザ端末２を受信端末に決定する。
【００６８】
以上説明したように、本実施形態によれば、サーバ１又はユーザ端末２が、送信端末の位置と音源との関係に基づいて、最終音声到達領域を決定し、最終音声到達領域内に位置するアバターに対応するユーザ端末２を、受信端末に決定する。従って、仮想空間における音源の存在に基づいてリアリティのある音声のやりとりが可能となる。
【符号の説明】
【００６９】
１  サーバ
２  ユーザ端末
１０  ネットワーク
１１、２１  ＣＰＵ
１２、２２  ＲＯＭ
１３、２３  ＲＡＭ
１４、２４  記憶部
１５、２５  通信部
２６  入力部
２７  表示部
２８  マイク
２９  スピーカ
Ｓ  通信システム
【図１】
2016187063.tif 000005
【図２】
2016187063.tif 000006
【図３】
2016187063.tif 000007
【図４】
2016187063.tif 000008