(57)【要約】  音声データの出力を適切に間引くことができる音声出力制御装置、音声出力制御システム、音声出力制御方法及びプログラムを提供する。音声データ受信部（４４）は、それぞれ互いに異なる送信装置から送信される複数の音声データを受信する。選択部（４６）は、音声データに対する音声区間検出処理の実行結果、又は、音声データが表す音声の音量の移動平均の少なくとも一方に基づいて、複数の音声データのうちの一部を選択する。音声データ送信部（４８）は、選択される一部の音声データを出力する。
2020170946.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ互いに異なる送信装置から送信される複数の音声データを受信する受信部と、
前記音声データに対する音声区間検出処理の実行結果、又は、前記音声データが表す音声の音量の移動平均の少なくとも一方に基づいて、前記複数の音声データのうちの一部を選択する選択部と、
選択される前記一部の前記音声データを出力する出力部と、
を含むことを特徴とする音声出力制御装置。
【請求項２】
前記出力部は、選択される前記一部の前記音声データを、前記送信装置とボイスチャットが可能な受信装置に送信する、
ことを特徴とする請求項１に記載の音声出力制御装置。
【請求項３】
前記選択部は、前記複数の音声データのうちから、前記受信装置の種類に基づいて決定される数の前記音声データを選択する、
ことを特徴とする請求項２に記載の音声出力制御装置。
【請求項４】
前記音声データをデコードするデコード部、をさらに含み、
前記出力部は、選択される前記一部の前記音声データを前記デコード部に出力する、
ことを特徴とする請求項１に記載の音声出力制御装置。
【請求項５】
前記選択部は、前記複数の音声データのうちから、前記音声出力制御装置の負荷又は前記音声出力制御装置が接続されているコンピュータネットワークの通信品質に基づいて決定される数の前記音声データを選択する、
ことを特徴とする請求項１から４のいずれか一項に記載の音声出力制御装置。
【請求項６】
第１群に含まれる複数の通信装置と、第２群に含まれる複数の通信装置と、中継装置と、を含み、
前記中継装置は、
それぞれ互いに異なる前記第１群に含まれる前記通信装置から送信される複数の音声データを受信する第１受信部と、
前記中継装置の前記第１受信部が受信する前記複数の前記音声データのうちから選択される一部を、当該音声データを送信した前記通信装置とは異なる前記通信装置に送信する送信部と、を含み、
前記第２群に含まれる前記通信装置は、
前記音声データをデコードするデコード部と、
前記中継装置から送信される前記一部の前記音声データ、及び、それぞれ互いに異なる前記第２群に含まれる他の前記通信装置から送信される少なくとも１つの音声データを受信する第２受信部と、
前記通信装置の前記第２受信部が受信する複数の前記音声データのうちの一部を前記デコード部に出力する出力部と、
を含むことを特徴とする音声出力制御システム。
【請求項７】
前記音声データが互いに送受信される前記通信装置の数に基づいて、前記音声出力制御システムに新たに追加される前記通信装置を前記第１群に含めるか前記第２群に含めるかを決定する決定部、をさらに含む、
ことを特徴とする請求項６に記載の音声出力制御システム。
【請求項８】
それぞれ互いに異なる送信装置から送信される複数の音声データを受信するステップと、
前記音声データに対する音声区間検出処理の実行結果、又は、前記音声データが表す音声の音量の移動平均の少なくとも一方に基づいて、前記複数の音声データのうちの一部を選択するステップと、
選択される前記一部の前記音声データを出力するステップと、
を含むことを特徴とする音声出力制御方法。
【請求項９】
それぞれ互いに異なる送信装置から送信される複数の音声データを受信する手順、
前記音声データに対する音声区間検出処理の実行結果、又は、前記音声データが表す音声の音量の移動平均の少なくとも一方に基づいて、前記複数の音声データのうちの一部を選択する手順、
選択される前記一部の前記音声データを出力する手順、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声出力制御装置、音声出力制御システム、音声出力制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ともにゲームをプレイしているユーザやゲームのプレイ状況を表す動画像の閲覧者などといった離れた場所にいる他のユーザとボイスチャットをしながら、ユーザがゲームをプレイすることが行われるようになってきている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ボイスチャットに参加するユーザの増加に伴って、各ユーザがボイスチャットにおける音声の入出力に利用する装置や音声データを中継するサーバの負荷が高くなる。また、音声データの通信経路の通信量が増える。このことはボイスチャットのサービス品質の低下や、サーバの運用コストや通信コストの増加などを引き起こす。【０００４】
そのため、多くのユーザが参加するボイスチャットにおいては音声データの出力を適切に間引いて上記の負荷や通信量を適切に抑える必要がある。しかし従来のボイスチャットの技術ではこのようなことが行われていなかった。【０００５】
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、音声データの出力を適切に間引くことができる音声出力制御装置、音声出力制御システム、音声出力制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る音声出力制御装置は、それぞれ互いに異なる送信装置から送信される複数の音声データを受信する受信部と、前記音声データに対する音声区間検出処理の実行結果、又は、前記音声データが表す音声の音量の移動平均の少なくとも一方に基づいて、前記複数の音声データのうちの一部を選択する選択部と、選択される前記一部の前記音声データを出力する出力部と、を含む。【０００７】
また、本発明の一態様では、前記出力部は、選択される前記一部の前記音声データを、前記送信装置とボイスチャットが可能な受信装置に送信する。【０００８】
この態様では、前記選択部は、前記複数の音声データのうちから、前記受信装置の種類に基づいて決定される数の前記音声データを選択してもよい。【０００９】
また、本発明の一態様では、前記音声データをデコードするデコード部、をさらに含み、前記出力部は、選択される前記一部の前記音声データを前記デコード部に出力する。【００１０】
また、本発明の一態様では、前記選択部は、前記複数の音声データのうちから、前記音声出力制御装置の負荷又は前記音声出力制御装置が接続されているコンピュータネットワークの通信品質に基づいて決定される数の前記音声データを選択する。【００１１】
また、本発明に係る音声出力制御システムは、第１群に含まれる複数の通信装置と、第２群に含まれる複数の通信装置と、中継装置と、を含み、前記中継装置は、それぞれ互いに異なる前記第１群に含まれる前記通信装置から送信される複数の音声データを受信する第１受信部と、前記中継装置の前記第１受信部が受信する前記複数の前記音声データのうちから選択される一部を、当該音声データを送信した前記通信装置とは異なる前記通信装置に送信する送信部と、を含み、前記第２群に含まれる前記通信装置は、前記音声データをデコードするデコード部と、前記中継装置から送信される前記一部の前記音声データ、及び、それぞれ互いに異なる前記第２群に含まれる他の前記通信装置から送信される少なくとも１つの音声データを受信する第２受信部と、前記通信装置の前記第２受信部が受信する複数の前記音声データのうちの一部を前記デコード部に出力する出力部と、を含む。【００１２】
本発明の一態様では、前記音声データが互いに送受信される前記通信装置の数に基づいて、前記音声出力制御システムに新たに追加される前記通信装置を前記第１群に含めるか前記第２群に含めるかを決定する決定部、をさらに含む。【００１３】
また、本発明に係る音声出力制御方法は、それぞれ互いに異なる送信装置から送信される複数の音声データを受信するステップと、前記音声データに対する音声区間検出処理の実行結果、又は、前記音声データが表す音声の音量の移動平均の少なくとも一方に基づいて、前記複数の音声データのうちの一部を選択するステップと、選択される前記一部の前記音声データを出力するステップと、を含む。【００１４】
また、本発明に係るプログラムは、それぞれ互いに異なる送信装置から送信される複数の音声データを受信する手順、前記音声データに対する音声区間検出処理の実行結果、又は、前記音声データが表す音声の音量の移動平均の少なくとも一方に基づいて、前記複数の音声データのうちの一部を選択する手順、選択される前記一部の前記音声データを出力する手順、をコンピュータに実行させる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係るボイスチャットシステムの全体構成の一例を示す図である。
【図２Ａ】本発明の一実施形態に係るボイスチャット装置の構成の一例を示す図である。
【図２Ｂ】本発明の一実施形態に係る中継装置の構成の一例を示す図である。
【図３】本発明の一実施形態に係るボイスチャットシステムにおける音声データの送信の一例を模式的に示す図である。
【図４】本発明の一実施形態に係るボイスチャットシステムにおける音声データの送信の一例を模式的に示す図である。
【図５】本発明の一実施形態に係るボイスチャットシステムでの通信におけるボイスチャット装置と中継装置との関係の一例を示す図である。
【図６】本発明の一実施形態に係るボイスチャットシステムにおける音声データの送信の一例を模式的に示す図である。
【図７】パーティ管理データの一例を示す図である。
【図８】本発明の一実施形態に係るボイスチャット装置及び中継装置で実装される機能の一例を示す機能ブロック図である。
【図９】本発明の一実施形態に係るボイスチャット装置において行われる処理の流れの一例を示すフロー図である。
【図１０Ａ】本発明の一実施形態に係るボイスチャット装置において行われる処理の流れの一例を示すフロー図である。
【図１０Ｂ】本発明の一実施形態に係るボイスチャット装置において行われる処理の流れの一例を示すフロー図である。
【図１１Ａ】本発明の一実施形態に係る中継装置において行われる処理の流れの一例を示すフロー図である。
【図１１Ｂ】本発明の一実施形態に係る中継装置において行われる処理の流れの一例を示すフロー図である。
【発明を実施するための形態】
【００１６】
図１は、本発明の一実施形態に係るボイスチャットシステム１の全体構成の一例を示す図である。図１に示すように、ボイスチャットシステム１には、いずれもコンピュータを中心に構成された、ボイスチャット装置１０（１０−１、１０−２、・・・、１０−ｎ）、中継装置１２、管理サーバ１４が、含まれている。ボイスチャット装置１０、中継装置１２、管理サーバ１４は、インターネットなどのコンピュータネットワーク１６に接続されている。ボイスチャット装置１０、中継装置１２、管理サーバ１４は、互いに通信可能となっている。
【００１７】
管理サーバ１４は、例えば、ボイスチャットシステム１を利用するユーザのアカウント情報などを管理するサーバ等のコンピュータである。管理サーバ１４は、例えば、ユーザに対応付けられるアカウントデータを複数記憶する。ここでアカウントデータには、例えば、当該ユーザの識別情報であるユーザＩＤ、当該ユーザの実名を示す実名データ、当該ユーザのメールアドレスを示すメールアドレスデータ、などが含まれる。
【００１８】
ボイスチャット装置１０は、例えば、ゲームコンソール、携帯型ゲーム装置、スマートフォン、パーソナルコンピュータなどといった、ボイスチャットの音声の入出力が可能なコンピュータである。
【００１９】
図２Ａに示すように、ボイスチャット装置１０には、例えば、プロセッサ１０ａ、記憶部１０ｂ、通信部１０ｃ、表示部１０ｄ、操作部１０ｅ、マイク１０ｆ、スピーカ１０ｇ、エンコード・デコード部１０ｈが含まれている。なお、ボイスチャット装置１０がカメラを備えていてもよい。
【００２０】
プロセッサ１０ａは、例えばＣＰＵ等のプログラム制御デバイスであって、記憶部１０ｂに記憶されたプログラムに従って各種の情報処理を実行する。
【００２１】
記憶部１０ｂは、例えばＲＯＭやＲＡＭ等の記憶素子やハードディスクドライブなどである。
【００２２】
通信部１０ｃは、例えばコンピュータネットワーク１６を介して、他のボイスチャット装置１０、中継装置１２、管理サーバ１４などといったコンピュータとの間でデータを授受するための通信インタフェースである。
【００２３】
表示部１０ｄは、例えば液晶ディスプレイ等であり、プロセッサ１０ａが生成する画面や、通信部１０ｃを介して受信する動画像データが表す動画像などを表示させる。
【００２４】
操作部１０ｅは、例えばプロセッサ１０ａに対する操作入力を行うための操作部材である。
【００２５】
マイク１０ｆは、例えばボイスチャットの音声の入力に用いられる音声入力デバイスである。
【００２６】
スピーカ１０ｇは、例えばボイスチャットの音声の出力に用いられる音声出力デバイスである。
【００２７】
エンコード・デコード部１０ｈは、例えばエンコーダとデコーダとを含む。当該エンコーダは、入力される音声をエンコードすることにより当該音声を表す音声データを生成する。また、当該デコーダは、入力される音声データをデコードして、当該音声データが表す音声を出力する。
【００２８】
中継装置１２は、本実施形態では例えば、上述の音声データを中継するサーバ等のコンピュータである。
【００２９】
図２Ｂに示すように、本実施形態に係る中継装置１２には、例えば、プロセッサ１２ａ、記憶部１２ｂ、通信部１２ｃ、が含まれている。
【００３０】
プロセッサ１２ａは、例えばＣＰＵ等のプログラム制御デバイスであって、記憶部１２ｂに記憶されたプログラムに従って各種の情報処理を実行する。
【００３１】
記憶部１２ｂは、例えばＲＯＭやＲＡＭ等の記憶素子やハードディスクドライブなどである。
【００３２】
通信部１２ｃは、ボイスチャット装置１０や、管理サーバ１４等のコンピュータとの間でデータを授受するための通信インタフェースである。
【００３３】
本実施形態では、ボイスチャットシステム１を利用するユーザ同士が互いにボイスチャットを楽しめるようになっている。ここで例えば、ボイスチャットに参加している一部又は全部のユーザがプレイ中であるゲームのプレイ状況を表す動画像を共有しながらボイスチャットが行われるようにしてもよい。
【００３４】
また本実施形態では、複数のユーザによるボイスチャットが可能である。ここで本実施形態では、ボイスチャットに参加している複数のユーザは、パーティと呼ばれるグループに属することとする。本実施形態に係るボイスチャットシステム１のユーザは、所定の操作を行うことで、新規のパーティの作成や既に作成されているパーティへの参加を行うことができる。
【００３５】
図３は、本実施形態に係るボイスチャットシステム１における音声データの送信の一例を模式的に示す図である。
【００３６】
図３の例では、パーティに、ユーザＡ、ユーザＢ、ユーザＣ、ユーザＤ、ユーザＥが参加していることとする。そして、ユーザＡ〜ユーザＥは、それぞれ、ボイスチャット装置１０−１〜１０−５を利用することとする。そして図３には、ユーザＥが利用するボイスチャット装置１０−５が音声データを受信する際の音声データの送信の一例が示されている。
【００３７】
図３の例では、ボイスチャット装置１０−１〜１０−４のそれぞれから送信される音声データは、中継装置１２に送信される。そして中継装置１２は、これら複数の音声データのうちの一部を選択する。そして中継装置１２は、選択された一部の音声データをボイスチャット装置１０−５に送信する。このように図３の例では、ボイスチャット装置１０−５が受信する音声データは中継装置１２によって間引かれていることとなる。
【００３８】
なお図３の例では、ボイスチャット装置１０−１〜１０−４についても同様にして、当該ボイスチャット装置１０とは異なるボイスチャット装置１０からそれぞれ送信される複数の音声データのうちの一部が中継装置１２によって選択される。そして、選択された一部の音声データが当該ボイスチャット装置１０に送信される。
【００３９】
図４は、本実施形態に係るボイスチャットシステム１における音声データの送信の別の一例を模式的に示す図である。
【００４０】
図４の例でも、パーティに、ユーザＡ、ユーザＢ、ユーザＣ、ユーザＤ、ユーザＥが参加していることとする。そして、ユーザＡ〜ユーザＥは、それぞれ、ボイスチャット装置１０−１〜１０−５を利用することとする。そして図４には、ユーザＥが利用するボイスチャット装置１０−５が音声データを受信する際の音声データの送信の一例が示されている。
【００４１】
図４の例では、ボイスチャット装置１０−１〜１０−４のそれぞれから送信される音声データは、ボイスチャット装置１０−５の通信部１０ｃに送信される。そしてボイスチャット装置１０−５のプロセッサ１０ａは、これら複数の音声データのうちの一部を選択する。そしてボイスチャット装置１０−５のプロセッサ１０ａは、選択された一部の音声データをボイスチャット装置１０−５のエンコード・デコード部１０ｈに出力する。このように図４の例では、ボイスチャット装置１０−５のエンコード・デコード部１０ｈに入力される音声データはボイスチャット装置１０−５のプロセッサ１０ａによって間引かれていることとなる。
【００４２】
なお、ボイスチャット装置１０−１〜１０−４についても同様にして、当該ボイスチャット装置１０とは異なるボイスチャット装置１０からそれぞれ送信される複数の音声データのうちの一部が当該ボイスチャット装置１０のプロセッサ１０ａによって選択される。そして、選択された一部の音声データが当該ボイスチャット装置１０のエンコード・デコード部１０ｈに出力される。
【００４３】
図５及び図６は、本実施形態に係るボイスチャットシステム１における音声データの送信のさらに別の一例を模式的に示す図である。
【００４４】
図５及び図６の例では、パーティに、ユーザＡ、ユーザＢ、ユーザＣ、ユーザＤ、ユーザＥ、ユーザＦが参加していることとする。そして、ユーザＡ〜ユーザＦは、それぞれ、ボイスチャット装置１０−１〜１０−６を利用することとする。
【００４５】
図５に示すように、ここでは例えば、ボイスチャット装置１０−１〜１０−３はＰ２Ｐ接続により、互いに音声データが送受信される。一方で、ボイスチャット装置１０−４〜１０−６は、中継装置１２を経由して、他のボイスチャット装置１０との間での音声データが送受信される。
【００４６】
そのため例えば、ボイスチャット装置１０−１がボイスチャット装置１０−２に宛てて送信する音声データは、中継装置１２を経由せずにボイスチャット装置１０−２に直接送信される。また、ボイスチャット装置１０−１がボイスチャット装置１０−３に宛てて送信する音声データは、中継装置１２を経由せずにボイスチャット装置１０−３に直接送信される。
【００４７】
一方で、ボイスチャット装置１０−１がボイスチャット装置１０−４〜１０−６に宛てて送信する音声データは、中継装置１２に送信される。
【００４８】
ボイスチャット装置１０−２、１０−３についても同様に、Ｐ２Ｐ接続されたボイスチャット装置１０に宛てて送信される音声データは直接送信され、Ｐ２Ｐ接続されていないボイスチャット装置１０に宛てて送信される音声データは中継装置１２に送信される。
【００４９】
また、ボイスチャット装置１０−４〜１０−６については、当該ボイスチャット装置１０が他のボイスチャット装置１０に宛てて送信する音声データは、中継装置１２に送信される。
【００５０】
そして図６には、図５に示す状況においてユーザＡが利用するボイスチャット装置１０−１が音声データを受信する際の音声データの送信の一例が示されている。
【００５１】
図６の例では、上述のように、ボイスチャット装置１０−４〜１０−６のそれぞれから送信される音声データは、中継装置１２に送信される。そして中継装置１２は、これら複数の音声データのうちの一部を選択する。そして中継装置１２は、選択された一部の音声データをボイスチャット装置１０−１に送信する。このように図６の例では、ボイスチャット装置１０−１が中継装置１２から受信する音声データは中継装置１２によって間引かれていることとなる。
【００５２】
そして図６の例では、中継装置１２から送信される音声データに加え、ボイスチャット装置１０−２、１０−３から送信される音声データについても、ボイスチャット装置１０−１の通信部１０ｃに送信される。そしてボイスチャット装置１０−１のプロセッサ１０ａは、これら複数の音声データのうちの一部を選択する。そしてボイスチャット装置１０−１のプロセッサ１０ａは、選択された一部の音声データをボイスチャット装置１０−１のエンコード・デコード部１０ｈに出力する。このように図６の例では、ボイスチャット装置１０−１のエンコード・デコード部１０ｈに入力される音声データはボイスチャット装置１０−１のプロセッサ１０ａによって間引かれていることとなる。
【００５３】
なお、ボイスチャット装置１０−２、１０−３についても同様にして、ボイスチャット装置１０−４〜１０−６からそれぞれ送信される複数の音声データのうちの一部が中継装置１２によって選択される。そして、選択された一部の音声データが当該ボイスチャット装置１０に送信される。また、当該ボイスチャット装置１０の通信部１０ｃが受信する複数の音声データのうちの一部が当該ボイスチャット装置１０のプロセッサ１０ａによって選択される。そして、選択された一部の音声データが当該ボイスチャット装置１０のエンコード・デコード部１０ｈに出力される。
【００５４】
ボイスチャットに参加するユーザの増加に伴って、ボイスチャット装置１０や中継装置１２の負荷が高くなる。また、音声データの通信経路の通信量が増える。図３の例によれば、中継装置１２からボイスチャット装置１０−５に送信される音声データが中継装置１２によって間引かれているため、コンピュータネットワーク１６を流れる音声データの通信量（ネットワークトラフィック）を抑えることができる。また例えば、中継装置１２が、データの送信量が増えるに従って運用コストが増えるようなものである場合は、図３の例のようにすることで、中継装置１２の運用コストを抑えることができる。
【００５５】
また図４の例によれば、ボイスチャット装置１０−５のエンコード・デコード部１０ｈに入力される音声データが間引かれているため、ボイスチャット装置１０−５におけるデコードの処理負荷を抑えることができる。
【００５６】
また図５及び図６の例によれば、音声データの選択が中継装置１２とボイスチャット装置１０とで分散して行われることとなる。その結果、コンピュータネットワーク１６を流れる音声データの通信量の抑制、中継装置１２の運用コストの抑制、及び、ボイスチャット装置１０−１におけるデコードの処理負荷の抑制がバランスよく達成できる。
【００５７】
本実施形態では、図５に示すような音声データの通信経路などといった、パーティに関する情報は、例えば管理サーバ１４に記憶される、図７に例示するパーティ管理データによって管理されている。図７に示すように、パーティ管理データには、パーティの識別情報であるパーティＩＤと、それぞれ当該パーティに参加しているユーザに対応付けられるユーザデータと、が含まれる。そして、ユーザデータには、ユーザＩＤ、接続先アドレスデータ、種類データ、Ｐ２Ｐ接続フラグ、などが含まれている。
【００５８】
ユーザＩＤは、例えば当該ユーザの識別情報である。接続先アドレスデータは、例えば当該ユーザが利用するボイスチャット装置１０のアドレスを示すデータである。種類データは、例えば当該ユーザが利用するボイスチャット装置１０の種類を示すデータである。ここでボイスチャット装置１０の種類の例としては、上述のように、ゲームコンソール、携帯型ゲーム装置、スマートフォン、パーソナルコンピュータなどが挙げられる。Ｐ２Ｐ接続フラグは、例えば当該ユーザが利用するボイスチャット装置１０がＰ２Ｐ接続を行うボイスチャット装置１０であるか否かを示すフラグである。
【００５９】
ここで例えば、Ｐ２Ｐ接続を行うボイスチャット装置１０とは、パーティに参加する一部又は全部の他のユーザについて、当該ユーザが利用するボイスチャット装置１０とＰ２Ｐ接続がされるボイスチャット装置１０を指す。図５の例ではボイスチャット装置１０−１〜１０−３が、Ｐ２Ｐ接続を行うボイスチャット装置１０に相当する。また図４に示すボイスチャット装置１０−１〜１０−５についても同様に、Ｐ２Ｐ接続を行うボイスチャット装置１０に相当する。
【００６０】
そしてＰ２Ｐ接続を行わないボイスチャット装置１０とは、パーティに参加する全部の他のユーザについて、当該ユーザが利用するボイスチャット装置１０とは中継装置１２を介して接続されるボイスチャット装置１０を指す。図５の例ではボイスチャット装置１０−４〜１０−６が、Ｐ２Ｐ接続を行わないボイスチャット装置１０に相当する。また図３に示すボイスチャット装置１０−１〜１０−５についても同様に、Ｐ２Ｐ接続を行わないボイスチャット装置１０に相当する。
【００６１】
ここでは例えば、Ｐ２Ｐ接続を行うボイスチャット装置１０を利用するユーザのユーザデータについては、Ｐ２Ｐ接続フラグの値が１に設定されることとする。また例えば、Ｐ２Ｐ接続を行わないボイスチャット装置１０を利用するユーザのユーザデータについては、Ｐ２Ｐ接続フラグの値が０に設定されることとする。
【００６２】
図７には、６人のユーザが参加するパーティに対応付けられる、パーティＩＤが００１であるパーティ管理データが例示されている。図７に示すパーティ管理データには、それぞれ当該パーティに参加するユーザに対応付けられる６個のユーザデータが含まれている。以下、ユーザＩＤがａａａであるユーザ、ｂｂｂであるユーザ、ｃｃｃであるユーザ、ｄｄｄであるユーザ、ｅｅｅであるユーザ、ｆｆｆであるユーザを、それぞれ、ユーザＡ、ユーザＢ、ユーザＣ、ユーザＤ、ユーザＥ、ユーザＦと呼ぶこととする。また、ユーザＡ、ユーザＢ、ユーザＣ、ユーザＤ、ユーザＥ、ユーザＦは、それぞれ、ボイスチャット装置１０−１、１０−２、１０−３、１０−４、１０−５、１０−６を利用していることとする。
【００６３】
また本実施形態では、管理サーバ１４に記憶されているパーティ管理データのコピーが、当該パーティ管理データに対応付けられるパーティに参加するユーザが利用するボイスチャット装置１０、及び、中継装置１２に送信される。そしてボイスチャット装置１０の記憶部１０ｂ、及び、中継装置１２の記憶部１２ｂには、管理サーバ１４に記憶されているパーティ管理データのコピーが記憶される。そのため、パーティに参加するユーザが利用するボイスチャット装置１０は、当該パーティに参加する他のユーザが利用するボイスチャット装置１０のアドレスを特定可能である。
【００６４】
また、ボイスチャット装置１０の記憶部１０ｂには、中継装置１２のアドレスを示すデータも記憶されていることとする。そのため、ボイスチャット装置１０は、中継装置１２のアドレスを特定可能である。
【００６５】
また本実施形態では、例えばユーザによるパーティへの参加操作などに応じて、管理サーバ１４に記憶されているパーティ管理データは更新される。そして管理サーバ１４に記憶されているパーティ管理データが更新される度に、更新後のパーティ管理データのコピーが、当該パーティ管理データに対応付けられるパーティに参加するユーザが利用するボイスチャット装置１０、及び、中継装置１２に送信される。そして、ボイスチャット装置１０の記憶部１０ｂ、及び、中継装置１２の記憶部１２ｂに記憶されているパーティ管理データのコピーは更新される。このようにして本実施形態では、パーティ管理データに示されている最新の情報が、当該パーティ管理データに対応付けられるパーティに参加するユーザが利用するボイスチャット装置１０で共有されることとなる。
【００６６】
そして本実施形態では例えば、Ｐ２Ｐ接続を行うボイスチャット装置１０は、Ｐ２Ｐ接続を行う他のボイスチャット装置１０に宛てて送信する音声データを、当該ボイスチャット装置１０に直接送信する。そして、Ｐ２Ｐ接続を行うボイスチャット装置１０は、Ｐ２Ｐ接続を行わない他のボイスチャット装置１０に宛てて送信する音声データを、中継装置１２に送信する。
【００６７】
そして本実施形態では例えば、Ｐ２Ｐ接続を行わないボイスチャット装置１０は、他のボイスチャット装置１０に宛てて送信する音声データを、中継装置１２に送信する。
【００６８】
このように図７に例示するパーティ管理データを用いることで、音声データをボイスチャット装置１０に送信するか中継装置１２に送信するかを適切に制御することができる。
【００６９】
また、以上で説明した音声データの選択において、当該音声データに対する音声区間検出処理の実行結果、又は、当該音声データが表す音声の音量の少なくとも一方に基づいて、複数の音声データのうちの一部が選択されるようにしてもよい。
【００７０】
例えば、ボイスチャット装置１０は、所定の期間（例えば２０ミリ秒、あるいは、４０ミリ秒など）毎に、当該期間にわたって入力された音声をエンコードすることにより、当該期間に対応する音声データを生成するようにしてもよい。
【００７１】
そして当該ボイスチャット装置１０が、当該音声データに対して、公知の音声区間検出（Voice Activity Detection（ＶＡＤ））処理を実行することにより、当該音声データが人の声を表すものであるか否かを判定してもよい。そして、当該ボイスチャット装置１０が、当該音声データが人の声を表すものであるか否かを示すＶＡＤデータを生成してもよい。ここで例えば、当該音声データが人の声を表すものである場合は、値が１であるＶＡＤデータが生成され、そうでない場合は、値が０であるＶＡＤデータが生成されてもよい。
【００７２】
また、当該ボイスチャット装置１０が、当該音声データが表す音声の音量を特定してもよい。そして、当該ボイスチャット装置１０が、当該音声データが表す音声の音量を示す音量データを生成してもよい。
【００７３】
そして当該ボイスチャット装置１０は、当該ボイスチャット装置１０の識別情報（例えば当該ボイスチャット装置１０に対応するユーザＩＤ）、上述のＶＡＤデータ、及び、上述の音量データが関連付けられた、当該音声データを送信してもよい。また、タイムスタンプなどといった、当該音声データに対応する期間を示すデータが、当該音声データに関連付けられていてもよい。
【００７４】
そして、互いに異なるボイスチャット装置１０からそれぞれ複数の音声データを受信する中継装置１２は、所定の期間毎に、当該期間に受信した複数の音声データのうちの一部を選択するようにしてもよい。ここで例えば、音声データに関連付けられたＶＡＤデータや音量データに基づいて、当該選択が行われてもよい。そして、選択された一部の音声データが送信されるようにしてもよい。
【００７５】
また、互いに異なるボイスチャット装置１０からそれぞれ複数の音声データを受信するボイスチャット装置１０は、所定の期間毎に、当該期間に受信した複数の音声データのうちの一部を選択するようにしてもよい。ここで例えば、音声データに関連付けられたＶＡＤデータや音量データに基づいて、当該選択が行われてもよい。そして、選択された一部の音声データが当該ボイスチャット装置１０のエンコード・デコード部１０ｈに出力されるようにしてもよい。
【００７６】
ＶＡＤデータや音量データに基づく選択の具体例については後述する。
【００７７】
以下、音声データの選択、及び、選択された音声データの送信を中心に、本実施形態に係るボイスチャットシステム１で実装される機能、及び、本実施形態に係るボイスチャットシステム１で実行される処理について、さらに説明する。
【００７８】
図８は、本実施形態に係るボイスチャット装置１０及び中継装置１２で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るボイスチャット装置１０及び中継装置１２で、図８に示す機能のすべてが実装される必要はなく、また、図８に示す機能以外の機能が実装されていても構わない。
【００７９】
図８に示すように、本実施形態に係るボイスチャット装置１０には、機能的には例えば、パーティ管理データ記憶部２０、パーティ管理部２２、音声受付部２４、ＶＡＤデータ生成部２６、音量データ生成部２８、音声データ送信部３０、音声データ受信部３２、選択部３４、選択音声データ出力部３６、音声出力部３８、が含まれる。
【００８０】
パーティ管理データ記憶部２０は、記憶部１０ｂを主として実装される。パーティ管理部２２は、プロセッサ１０ａ及び通信部１０ｃを主として実装される。音声受付部２４は、マイク１０ｆ及びエンコード・デコード部１０ｈを主として実装される。ＶＡＤデータ生成部２６、音量データ生成部２８、選択部３４、選択音声データ出力部３６は、プロセッサ１０ａを主として実装される。音声データ送信部３０、音声データ受信部３２は、通信部１０ｃを主として実装される。音声出力部３８は、エンコード・デコード部１０ｈ及びスピーカ１０ｇを主として実装される。
【００８１】
そして以上の機能は、コンピュータであるボイスチャット装置１０にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ１０ａで実行することにより実装されている。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してボイスチャット装置１０に供給される。
【００８２】
また、図８に示すように、本実施形態に係る中継装置１２には、機能的には例えば、パーティ管理データ記憶部４０、パーティ管理部４２、音声データ受信部４４、選択部４６、音声データ送信部４８、が含まれる。
【００８３】
パーティ管理データ記憶部４０は、記憶部１２ｂを主として実装される。パーティ管理部４２は、プロセッサ１２ａ及び通信部１２ｃを主として実装される。音声データ受信部４４、音声データ送信部４８は、通信部１２ｃを主として実装される。選択部４６は、プロセッサ１２ａを主として実装される。
【００８４】
そして以上の機能は、コンピュータである中継装置１２にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ１２ａで実行することにより実装されている。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介して中継装置１２に供給される。
【００８５】
ボイスチャット装置１０のパーティ管理データ記憶部２０、及び、中継装置１２のパーティ管理データ記憶部４０は、本実施形態では例えば、図７に例示するパーティ管理データを記憶する。
【００８６】
ボイスチャット装置１０のパーティ管理部２２は、本実施形態では例えば、管理サーバ１４から送信されるパーティ管理データの受信に応じて、パーティ管理データ記憶部２０に記憶されているパーティ管理データを受信したパーティ管理データに更新する。
【００８７】
中継装置１２のパーティ管理部４２は、本実施形態では例えば、管理サーバ１４から送信されるパーティ管理データの受信に応じて、パーティ管理データ記憶部４０に記憶されているパーティ管理データを受信したパーティ管理データに更新する。
【００８８】
例えば、ユーザが既存のパーティに対する参加操作を行うと、管理サーバ１４は、当該パーティのパーティＩＤを含むパーティ管理データに、当該ユーザのユーザＩＤを含むユーザデータを追加する。以下、当該ユーザデータを追加ユーザデータと呼ぶこととする。ここで追加ユーザデータの接続先アドレスデータには、当該ユーザが利用するボイスチャット装置１０のアドレスが設定される。また、追加ユーザデータの種類データには、当該ボイスチャット装置１０の種類を示す値が設定される。
【００８９】
また追加ユーザデータのＰ２Ｐ接続フラグの値が、上述のように、１又は０に設定される。ここで例えば、ボイスチャットの音声を表す音声データが互いに送受信されるボイスチャット装置１０の数に基づいて、当該ユーザデータのＰ２Ｐ接続フラグの値が決定されてもよい。例えば、当該パーティに対応するパーティ管理データに含まれるユーザデータの数に基づいて、当該ユーザデータのＰ２Ｐ接続フラグの値が決定されてもよい。
【００９０】
具体的には例えば、追加ユーザデータを含む、当該パーティ管理データに含まれているユーザデータの数が８以下である場合は、追加ユーザデータのＰ２Ｐ接続フラグの値が１に設定されてもよい。また、追加ユーザデータを含む、当該パーティ管理データに含まれているユーザデータの数が９以上である場合は、追加ユーザデータのＰ２Ｐ接続フラグの値が０に設定されてもよい。
【００９１】
このようにすれば、音声データが互いに送受信されるボイスチャット装置１０が少ないうちはＰ２Ｐ接続により互いに音声データの送受信が行われる。この場合は、音声データの送受信に中継装置１２は利用されない。そのため、音声データが互いに送受信されるボイスチャット装置１０が少ないうちは中継装置１２の負荷を抑えることができる。
【００９２】
一方で、音声データが互いに送受信されるボイスチャット装置１０が多いと、１つのボイスチャット装置１０の送信先となるボイスチャット装置１０が多くなることから、コンピュータネットワーク１６を流れる音声データの通信量は過度に多くなってしまう。ここで上述のように、音声データが互いに送受信されるボイスチャット装置１０が多くなると中継装置１２を利用した音声データの送受信が併せて行われるようにすることで、音声データの通信量が過度に多くなってしまうことを防ぐことができる。
【００９３】
なお、パーティ管理データに含まれているユーザデータの数が８以下である場合に、参加操作を行ったユーザが利用するボイスチャット装置１０は、同じパーティの他のユーザが利用するボイスチャット装置１０のそれぞれに対してＰ２Ｐ接続を試行してもよい。そしてすべてのボイスチャット装置１０についてＰ２Ｐ接続が成功した場合に、追加ユーザデータのＰ２Ｐ接続フラグの値が１に設定されてもよい。一方で、いずれかのボイスチャット装置１０についてＰ２Ｐ接続が失敗した場合に、追加ユーザデータのＰ２Ｐ接続フラグの値が０に設定されてもよい。
【００９４】
上述したように、このようにして管理サーバ１４に記憶されているパーティ管理データに追加ユーザデータが追加されることに応じて、当該パーティに参加するユーザが利用するボイスチャット装置１０に記憶されているパーティ管理データが更新される。また、中継装置１２に記憶されているパーティ管理データも同様に更新される。
【００９５】
音声受付部２４は、本実施形態では例えば、ボイスチャットの音声を受け付ける。音声受付部２４は、当該音声をエンコードすることにより、当該音声を表す音声データを生成してもよい。
【００９６】
ＶＡＤデータ生成部２６は、本実施形態では例えば、音声受付部２４が生成する音声データに基づいて、上述のＶＡＤデータを生成する。
【００９７】
音量データ生成部２８は、本実施形態では例えば、音声受付部２４が生成する音声データに基づいて、上述の音量データを生成する。
【００９８】
ボイスチャット装置１０の音声データ送信部３０は、本実施形態では例えば、音声受付部２４が受け付ける音声を表す音声データを送信する。ここで音声データ送信部３０は、当該ボイスチャット装置１０の識別情報が関連付けられた音声データを送信してもよい。また、音声データ送信部３０は、当該ボイスチャット装置１０の識別情報、ＶＡＤデータ生成部２６により生成されるＶＡＤデータ、及び、音量データ生成部２８により生成される音量データが関連付けられた音声データを送信してもよい。またタイムスタンプなどといった、当該音声データに対応する期間を示すデータが、当該音声データに関連付けられていてもよい。
【００９９】
また上述のように、ボイスチャット装置１０の音声データ送信部３０は、当該ボイスチャット装置１０を利用するユーザと同じパーティに参加している他のユーザが利用するボイスチャット装置１０に音声データを送信してもよい。また、ボイスチャット装置１０の音声データ送信部３０は、当該ボイスチャット装置１０を利用するユーザと同じパーティに参加している他のユーザが利用するボイスチャット装置１０に宛てた音声データを中継装置１２に送信してもよい。
【０１００】
ボイスチャット装置１０の音声データ受信部３２は、本実施形態では例えば、音声データを受信する。ここで音声データ受信部３２は、それぞれ互いに異なる送信装置から送信される複数の音声データを受信してもよい。上述の例では、当該ボイスチャット装置１０を利用するユーザと同じパーティに参加している他のユーザが利用するボイスチャット装置１０、又は、中継装置１２が、当該送信装置に相当する。
【０１０１】
ボイスチャット装置１０の音声データ受信部３２は、当該ボイスチャット装置１０を利用するユーザと同じパーティに参加している他のユーザが利用するボイスチャット装置１０から直接音声データを送信してもよい。また、ボイスチャット装置１０の音声データ受信部３２は、当該ボイスチャット装置１０を利用するユーザと同じパーティに参加している他のユーザが利用するボイスチャット装置１０から中継装置１２を経由して送信される音声データを受信してもよい。
【０１０２】
ボイスチャット装置１０の選択部３４は、本実施形態では例えば、ボイスチャット装置１０の音声データ受信部３２が受信した複数の音声データのうちの一部を選択する。ここで選択部３４は、上述のように、音声データに対する音声区間検出処理の実行結果、又は、音声データが表す音声の音量の少なくとも一方に基づいて、複数の音声データのうちの一部を選択してもよい。
【０１０３】
選択音声データ出力部３６は、本実施形態では例えば、ボイスチャット装置１０の選択部３４により選択された一部の音声データを出力する。ここでは例えば、ボイスチャット装置１０の選択部３４により選択された一部の音声データは、音声出力部３８に出力される。
【０１０４】
音声出力部３８は、本実施形態では例えば、選択音声データ出力部３６から出力される音声データをデコードする。そして、音声出力部３８は、本実施形態では例えば、当該音声データをデコードすることにより生成される、当該音声データを表す音声を出力する。
【０１０５】
中継装置１２の音声データ受信部４４は、本実施形態では例えば、それぞれ互いに異なる送信装置から送信される複数の音声データを受信する。上述の例では、中継装置１２に音声データを送信するボイスチャット装置１０が、当該送信装置に相当する。中継装置１２の音声データ受信部４４は、例えば、ボイスチャット装置１０の音声データ送信部３０が送信する音声データを受信する。
【０１０６】
中継装置１２の選択部４６は、本実施形態では例えば、中継装置１２の音声データ受信部４４が受信する複数の音声データのうちの一部を選択する。ここで選択部４６は、上述のように、音声データに対する音声区間検出処理の実行結果、又は、音声データが表す音声の音量の少なくとも一方に基づいて、複数の音声データのうちの一部を選択してもよい。
【０１０７】
中継装置１２の音声データ送信部４８は、本実施形態では例えば、中継装置１２の選択部４６により選択される一部の音声データを、中継装置１２の音声データ受信部４４が受信する音声データの送信元である送信装置とボイスチャットが可能な受信装置に送信する。上述の例では、ボイスチャット装置１０が当該受信装置に相当する。ここで音声データ送信部４８は、音声データに関連付けられているユーザＩＤに基づいて、当該ユーザＩＤが表すユーザが属するパーティを特定してもよい。そして、音声データ送信部４８は、当該ユーザＩＤに対応付けられるユーザが利用するボイスチャット装置１０以外の、当該パーティに参加するユーザが利用するボイスチャット装置１０に、当該音声データを送信してもよい。
【０１０８】
また、中継装置１２は、それぞれ互いに異なる第１群に含まれる通信装置からそれぞれ送信される複数の音声データを受信してもよい。そして、中継装置１２は、当該複数の音声データのうちから選択される一部を、当該音声データを送信した通信装置とは異なる通信装置に送信してもよい。図５及び図６の例では、ボイスチャット装置１０−４〜１０−６が、第１群に含まれる通信装置に相当する。すなわち、Ｐ２Ｐ接続フラグの値が０であるユーザデータに対応付けられるボイスチャット装置１０が第１群に含まれる通信装置に相当する。
【０１０９】
また、第２群に含まれるボイスチャット装置１０が、中継装置１２から送信される上述の一部の音声データ、及び、それぞれ互いに異なる第２群に含まれる他の通信装置から送信される少なくとも１つの音声データを受信してもよい。そして、当該ボイスチャット装置１０は、受信する複数の音声データのうちの一部を、当該ボイスチャット装置１０の音声出力部３８に出力してもよい。図６の例では、ボイスチャット装置１０−１が、音声データを受信するボイスチャット装置１０に相当する。また、ボイスチャット装置１０−１〜１０−３が、第２群に含まれる通信装置に相当する。すなわち、Ｐ２Ｐ接続フラグの値が１であるユーザデータに対応付けられるボイスチャット装置１０が第２群に含まれる通信装置に相当する。
【０１１０】
また上述のように、管理サーバ１４が、音声データが互いに送受信される通信装置の数に基づいて、ボイスチャットシステム１に新たに追加される通信装置を第１群に含めるか第２群に含めるかを決定してもよい。例えば上述のように、管理サーバ１４が、音声データが互いに送受信されるボイスチャット装置１０の数に基づいて、新たに追加されるボイスチャット装置１０に対応するユーザデータに含まれるＰ２Ｐ接続フラグの値を決定してもよい。
【０１１１】
ここで、本実施形態に係るボイスチャット装置１０において行われる、音声データの送信処理の流れの一例を、図９に例示するフロー図を参照しながら説明する。図９に示すＳ１０１〜Ｓ１０７に示す処理は、所定の期間毎（例えば２０ミリ秒毎、あるいは、４０ミリ秒毎）に繰り返し実行される。
【０１１２】
まず、音声受付部２４が、本ループの期間において受け付けた音声をエンコードすることにより、音声データを生成する（Ｓ１０１）。
【０１１３】
そして、ＶＡＤデータ生成部２６が、Ｓ１０１に示す処理で生成された音声データに対して、ＶＡＤ処理を実行することにより、当該音声データが人の声を表すものであるか否かを判定する（Ｓ１０２）。
【０１１４】
そして、ＶＡＤデータ生成部２６が、Ｓ１０２に示す処理での判定結果に応じたＶＡＤデータを生成する（Ｓ１０３）。
【０１１５】
そして、音量データ生成部２８が、Ｓ１０１に示す処理で生成された音声データが表す音声の音量を特定する（Ｓ１０４）。
【０１１６】
そして、音量データ生成部２８が、Ｓ１０４に示す処理で特定された音量を示す音量データを生成する（Ｓ１０５）。
【０１１７】
そして、音声データ送信部３０が、パーティ管理データ記憶部２０に記憶されているパーティ管理データに基づいて、音声データの送信先である通信装置を特定する（Ｓ１０６）。ここでは例えば、送信先となるボイスチャット装置１０のアドレスや、中継装置１２への音声データの送信要否などが特定される。
【０１１８】
そして、音声データ送信部３０が、Ｓ１０６に示す処理で特定された送信先にＳ１０１に示す処理で生成された音声データを送信して（Ｓ１０７）、Ｓ１０１に示す処理に戻る。上述のように、当該音声データには、当該ボイスチャット装置１０を利用するユーザのユーザＩＤ、Ｓ１０３に示す処理で生成されたＶＡＤデータ、及び、Ｓ１０５に示す処理で生成された音量データが関連付けられている。またタイムスタンプなどといった、本ループの期間を示すデータが、当該音声データに関連付けられていてもよい。
【０１１９】
なお、チャタリングを防止するために、Ｓ１０２に示す処理で音声データが人の声を表すものであると判定された際には、判定されたタイミングから所定の時間（例えば１秒）にわたって、Ｓ１０２に示す処理が実行されないようにしてもよい。そして当該時間にわたって、Ｓ１０３に示す処理では値が１であるＶＡＤデータが生成されてもよい。
【０１２０】
次に、本実施形態に係るボイスチャット装置１０において行われる、音声の出力処理の流れの一例を、図１０Ａ及び図１０Ｂに例示するフロー図を参照しながら説明する。図１０Ａ及び図１０Ｂに示すＳ２０１〜Ｓ２１７に示す処理は、所定の期間毎（例えば２０ミリ秒毎、あるいは、４０ミリ秒毎）に繰り返し実行される。また、以下の説明では、１つの期間において当該ボイスチャット装置１０において音声出力部３８が入力可能な音声データの最大数は予め定められていることとする。以下、当該最大数をｎ１と表現する。
【０１２１】
まず、選択部３４が、本ループの期間において音声データ受信部３２が受信した音声データを特定する（Ｓ２０１）。
【０１２２】
そして、選択部３４が、Ｓ２０１に示す処理で特定された音声データの数（以下、ｍ１と表現する）がｎ１以下であるか否かを確認する（Ｓ２０２）。
【０１２３】
Ｓ２０２に示す処理においてｍ１がｎ１以下であることが確認されたとする（Ｓ２０２：Ｙ）。この場合は、選択音声データ出力部３６は、Ｓ２０１に示す処理で特定されたすべての音声データを音声出力部３８に出力する（Ｓ２０３）。
【０１２４】
Ｓ２０２に示す処理においてｍ１がｎ１より大きいことが確認されたとする（Ｓ２０２：Ｎ）。この場合は、選択部３４は、Ｓ２０１に示す処理で特定された複数の音声データのうちから、関連付けられているＶＡＤデータの値が１である音声データを特定する（Ｓ２０４）。
【０１２５】
そして、選択部３４は、Ｓ２０４に示す処理で特定された音声データの数（以下、ｍ２と表現する）がｎ１以上であるか否かを確認する（Ｓ２０５）。
【０１２６】
Ｓ２０５に示す処理においてｍ２がｎ１以上であることが確認されたとする（Ｓ２０５：Ｙ）。この場合は、選択部３４は、Ｓ２０４に示す処理で特定された複数の音声データのうちから、関連付けられている音量データが示す音量が大きいものから順にｎ１個の音声データを特定する（Ｓ２０６）。ｍ２がｎ１と同じである場合は、Ｓ２０６に示す処理において、Ｓ２０４に示す処理で特定されたすべての音声データが特定されることとなる。
【０１２７】
そして、選択音声データ出力部３６は、Ｓ２０６に示す処理で特定されたｎ１個の音声データを音声出力部３８に出力する（Ｓ２０７）。
【０１２８】
Ｓ２０５に示す処理においてｍ２がｎ１より小さいことが確認されたとする（Ｓ２０５：Ｎ）。この場合は、選択部３４は、Ｓ２０１に示す処理で特定された複数の音声データのうちから、関連付けられているＶＡＤデータの値が０である音声データを特定する（Ｓ２０８）。
【０１２９】
そして、選択部３４は、Ｓ２０８に示す処理で特定された音声データのそれぞれについて、当該音声データが表す音声の音量の移動平均を特定する（Ｓ２０９）。ここで音声データが表す音声の音量の移動平均とは、例えば、当該音声データの送信元であるボイスチャット装置１０から、直近の所定回あるいは直近の所定時間（例えば直近の１秒間）に受信した音声データが表す音声の音量の平均を指す。なお移動平均を特定するにあたり、選択部３４が、直近の所定回あるいは直近の所定時間にわたって受信した音声データを少なくとも記憶するようにしてもよい。
【０１３０】
そして、選択部３４は、Ｓ２０８に示す処理で特定された複数の音声データのうちから、Ｓ２０９に示す処理で特定された移動平均が所定の閾値以上（例えば−４０ｄＢＯＶ以上）である音声データを特定する（Ｓ２１０）。
【０１３１】
そして、選択部３４は、Ｓ２０４に示す処理で特定された音声データの数と、Ｓ２１０に示す処理で特定された音声データの数との合計（以下、ｍ３と表現する）と、ｎ１とを比較する（Ｓ２１１）。
【０１３２】
Ｓ２１１に示す処理においてｍ３がｎ１より大きいことが確認されたとする。この場合は、選択部３４は、Ｓ２０４又はＳ２１０に示す処理で特定された複数の音声データのうちから、関連付けられている音量データが示す音量が大きいものから順にｎ１個の音声データを特定する（Ｓ２１２）。そして、選択音声データ出力部３６は、Ｓ２１２に示す処理で特定されたｎ１個の音声データを音声出力部３８に出力する（Ｓ２１３）。
【０１３３】
Ｓ２１１に示す処理においてｍ３がｎ１より小さいことが確認されたとする。この場合は、選択部３４は、Ｓ２０４又はＳ２１０に示す処理で特定されていない残りの音声データのうちから、関連付けられている音量データが示す音量が大きいものから順に（ｎ１−ｍ３）個の音声データを特定する（Ｓ２１４）。そして、選択音声データ出力部３６は、Ｓ２０４、Ｓ２１０、又は、Ｓ２１４に示す処理で特定された合計ｎ１個の音声データを音声出力部３８に出力する（Ｓ２１５）。
【０１３４】
Ｓ２１１に示す処理においてｍ３がｎ１と同じであることが確認されたとする。この場合は、選択部３４は、Ｓ２０４又はＳ２１０に示す処理で特定された合計ｎ１個の音声データを音声出力部３８に出力する（Ｓ２１６）。
【０１３５】
そして音声出力部３８は、Ｓ２０３、Ｓ２０７、Ｓ２１３、Ｓ２１５、又は、Ｓ２１６に示す処理で出力された音声データをデコードして、当該音声データが表す音声を出力する（Ｓ２１７）。そして、Ｓ２０１に示す処理に戻る。
【０１３６】
図１０Ａ及び図１０Ｂに示す処理例によれば、ボイスチャット装置１０の選択部３４によって、複数の音声データのうちから、ボイスチャットの音声を表すものである可能性が高い音声データが的確に選択されることとなる。
【０１３７】
なお、音声データの選択処理は、図１０Ａ及び図１０Ｂに示す処理例に示されている処理には限定されない。例えば、選択部３４は、関連付けられているＶＡＤデータの値が１である、あるいは、音量の移動平均が所定の閾値以上である、音声データを特定してもよい。そして、選択部３４は、これらの音声データのうちから、関連付けられている音量データが示す音量が大きいものから順にｎ１個の音声データを特定してもよい。
【０１３８】
次に、本実施形態に係る中継装置１２において行われる、音声データの中継処理の流れの一例を、図１１Ａ及び図１１Ｂに例示するフロー図を参照しながら説明する。図１１Ａ及び図１１Ｂに示すＳ３０１〜Ｓ３１６に示す処理は、所定の期間毎（例えば２０ミリ秒毎、あるいは、４０ミリ秒毎）に繰り返し実行される。また、以下の説明では、１つの期間において中継装置１２において送信可能な音声データの最大数は予め定められていることとする。以下、当該最大数をｎ２と表現する。
【０１３９】
また中継装置１２の選択部４６は、予め、パーティ管理データ記憶部４０に記憶されているパーティ管理データに基づいて、音声データの送信先である複数のボイスチャット装置１０を特定していることとする。
【０１４０】
まず、選択部４６が、本ループの期間において音声データ受信部４４が受信した音声データを特定する（Ｓ３０１）。
【０１４１】
そして、選択部４６が、Ｓ３０１に示す処理で特定された音声データの数（以下、ｍ４と表現する）がｎ２以下であるか否かを確認する（Ｓ３０２）。
【０１４２】
Ｓ３０２に示す処理においてｍ４がｎ２以下であることが確認されたとする（Ｓ３０２：Ｙ）。この場合は、音声データ送信部４８は、Ｓ３０１に示す処理で特定されたすべての音声データを、送信先であるボイスチャット装置１０に送信して（Ｓ３０３）、Ｓ３０１に示す処理に戻る。
【０１４３】
Ｓ３０２に示す処理においてｍ４がｎ２より大きいことが確認されたとする（Ｓ３０２：Ｎ）。この場合は、選択部４６は、Ｓ３０１に示す処理で特定された複数の音声データのうちから、関連付けられているＶＡＤデータの値が１である音声データを特定する（Ｓ３０４）。
【０１４４】
そして、選択部４６は、Ｓ３０４に示す処理で特定された音声データの数（以下、ｍ５と表現する）がｎ２以上であるか否かを確認する（Ｓ３０５）。
【０１４５】
Ｓ３０５に示す処理においてｍ５がｎ２以上であることが確認されたとする（Ｓ３０５：Ｙ）。この場合は、選択部４６は、Ｓ２０４に示す処理で特定された複数の音声データのうちから、関連付けられている音量データが示す音量が大きいものから順にｎ２個の音声データを特定する（Ｓ３０６）。ｍ５がｎ２と同じである場合は、Ｓ３０６に示す処理において、Ｓ３０４に示す処理で特定されたすべての音声データが特定されることとなる。
【０１４６】
そして、音声データ送信部４８は、Ｓ３０６に示す処理で特定されたｎ２個の音声データを、送信先であるボイスチャット装置１０に送信して（Ｓ３０７）、Ｓ３０１に示す処理に戻る。
【０１４７】
Ｓ３０５に示す処理においてｍ５がｎ２より小さいことが確認されたとする（Ｓ３０５：Ｎ）。この場合は、選択部４６は、Ｓ３０１に示す処理で特定された複数の音声データのうちから、関連付けられているＶＡＤデータの値が０である音声データを特定する（Ｓ３０８）。
【０１４８】
そして、選択部４６は、Ｓ３０８に示す処理で特定された音声データのそれぞれについて、当該音声データが表す音声の音量の移動平均を特定する（Ｓ３０９）。ここで音声データが表す音声の音量の移動平均とは、例えば、当該音声データの送信元であるボイスチャット装置１０から、直近の所定回あるいは直近の所定時間（例えば直近の１秒間）に受信した音声データが表す音声の音量の平均を指す。なお移動平均を特定するにあたり、選択部４６が、直近の所定回あるいは直近の所定時間にわたって受信した音声データを少なくとも記憶するようにしてもよい。
【０１４９】
そして、選択部４６は、Ｓ３０８に示す処理で特定された複数の音声データのうちから、Ｓ３０９に示す処理で特定された移動平均が所定の閾値以上（例えば−４０ｄＢＯＶ以上）である音声データを特定する（Ｓ３１０）。
【０１５０】
そして、選択部４６は、Ｓ３０４に示す処理で特定された音声データの数と、Ｓ２１０に示す処理で特定された音声データの数との合計（以下、ｍ６と表現する）と、ｎ２とを比較する（Ｓ３１１）。
【０１５１】
Ｓ３１１に示す処理においてｍ６がｎ２より大きいことが確認されたとする。この場合は、選択部４６は、Ｓ３０４又はＳ３１０に示す処理で特定された複数の音声データのうちから、関連付けられている音量データが示す音量が大きいものから順にｎ２個の音声データを特定する（Ｓ３１２）。そして、音声データ送信部４８は、Ｓ３１２に示す処理で特定されたｎ２個の音声データを、送信先であるボイスチャット装置１０に送信して（Ｓ３１３）、Ｓ３０１に示す処理に戻る。
【０１５２】
Ｓ３１１に示す処理においてｍ６がｎ２より小さいことが確認されたとする。この場合は、選択部４６は、Ｓ３０４又はＳ３１０に示す処理で特定されていない残りの音声データのうちから、関連付けられている音量データが示す音量が大きいものから順に（ｎ２−ｍ６）個の音声データを特定する（Ｓ３１４）。そして、選択音声データ出力部３６は、Ｓ３０４、Ｓ３１０、又は、Ｓ３１４に示す処理で特定された合計ｎ２個の音声データを、送信先であるボイスチャット装置１０に送信して（Ｓ３１５）、Ｓ３０１に示す処理に戻る。
【０１５３】
Ｓ３１１に示す処理においてｍ６がｎ２と同じであることが確認されたとする。この場合は、選択部４６は、Ｓ３０４又はＳ３１０に示す処理で特定された合計ｎ２個の音声データを、送信先であるボイスチャット装置１０に送信して（Ｓ３１６）、Ｓ３０１に示す処理に戻る。
【０１５４】
図１１Ａ及び図１１Ｂに示す処理例によれば、中継装置１２の選択部４６によって、複数の音声データのうちから、ボイスチャットの音声を表すものである可能性が高い音声データが的確に選択されることとなる。
【０１５５】
ＶＡＤデータに基づく音声データの選択を行うことで、例えば、机をたたく音や救急車の音などといった人の声以外の音を表す音声データが選択される可能性を下げることができる。また、音量の移動平均に基づく音声データの選択を行うことで、例えば、ＶＡＤデータに基づく音声データの選択では選択されなかったが実際には人の声を表す音声データが選択される可能性を上げることができる。
【０１５６】
なお、音声データの選択処理は、図１１Ａ及び図１１Ｂに示す処理例に示されている処理には限定されない。例えば、選択部４６は、関連付けられているＶＡＤデータの値が１である、あるいは、音量の移動平均が所定の閾値以上である、音声データを特定してもよい。そして、選択部４６は、これらの音声データのうちから、関連付けられている音量データが示す音量が大きいものから順にｎ２個の音声データを特定してもよい。
【０１５７】
また上述のように、選択部３４、又は、選択部４６は、音声データが表す音声の音量の移動平均に基づいて、複数の音声データのうちの一部を選択してもよい。このようにすれば、音声データの選択が安定して行われることとなる。
【０１５８】
また図１１Ａ及び図１１Ｂに示す処理例において、選択部４６は、複数の音声データのうちから、音声データの送信先であるボイスチャット装置１０の種類に基づいて決定される数の音声データを選択してもよい。そして、音声データ送信部４８は、当該一部の音声データを当該ボイスチャット装置１０に送信するようにしてもよい。この場合は、上述の数ｎ２は、送信先であるボイスチャット装置１０の種類によって異なることとなる。
【０１５９】
スマートフォンは、キャリアのネットワークを利用する可能性が高いため、当該ネットワークを流れる音声データの通信量は特に抑える必要がある。このことを踏まえると、例えば、スマートフォンであるボイスチャット装置１０には、ゲームコンソールであるボイスチャット装置１０よりも少ない数の音声データが送信されるようにすることが好適である。
【０１６０】
また、複数の音声データのうちから、装置の負荷又はコンピュータネットワーク１６の通信品質に基づいて決定される数の音声データが選択されるようにしてもよい。
【０１６１】
例えば、ボイスチャット装置１０の選択部３４は、当該ボイスチャット装置１０の負荷に基づいて、上述の値ｎ１を決定してもよい。
【０１６２】
また、中継装置１２の選択部４６は、中継装置１２の負荷、又は、コンピュータネットワーク１６の通信品質（例えば通信量）に基づいて、上述の値ｎ２を決定してもよい。
【０１６３】
以上で説明したボイスチャットシステム１によれば、ボイスチャットの音声を表す音声データの出力を適切に間引くことができる。例えば、中継装置１２による音声データの送信出力や、ボイスチャット装置１０のプロセッサ１０ａからエンコード・デコード部１０ｈへの音声データの出力を、適切に間引くことができる。
【０１６４】
なお、本発明は上述の実施形態に限定されるものではない。
【０１６５】
例えば図１０Ａ及び図１０Ｂに示す処理において、選択部３４が、最近発話したユーザを表すユーザＩＤのリストを記憶してもよい。当該リストには、ｎ１個のユーザＩＤが含まれていてもよい。
【０１６６】
そして、選択部３４が、リストにユーザＩＤが含まれていないユーザが利用するボイスチャット装置１０が送信する音声データのうちの一部を選択してもよい。ここでは選択される音声データの数ｎ３は、ｎ１よりも小さい。そして、選択部３４は、リストからｎ３個のユーザＩＤを削除してもよい。例えば、リストに追加されたタイミングが最も古いものから順にｎ３個のユーザＩＤがリストから削除されるようにしてもよい。また、直近における音声データが表す音声の音量が小さいものから順にｎ３個のユーザＩＤがリストから削除されるようにしてもよい。
【０１６７】
そして、選択部３４は、選択されたｎ３個の音声データに対応付けられるユーザＩＤを当該リストに追加してもよい。
【０１６８】
そして選択部３４は、リストに含まれるユーザＩＤが関連付けられている音声データを選択してもよい。このようにすれば、ボイスチャット装置１０における音声データの選択が安定して行われることとなる。
【０１６９】
また、同様に、図１１Ａ及び図１１Ｂに示す処理において、選択部４６が、ｎ２個のユーザＩＤを含むリストを記憶してもよい。そして上述の例における選択部３４と同様にして、当該リストに含まれるユーザＩＤが関連付けられている音声データが選択されるようにしてもよい。このようにすれば、中継装置１２における音声データの選択が安定して行われることとなる。
【０１７０】
また、ボイスチャット装置１０、及び、中継装置１２の役割分担は上述のものに限定されない。例えば、中継装置１２において、音声データが人の声を表すものであるか否かの判定や、音声データが表す音声の音量の特定が実行されてもよい。また、例えば、音声データを受信するボイスチャット装置１０において、音声データが人の声を表すものであるか否かの判定や、音声データが表す音声の音量の特定が実行されてもよい。
【０１７１】
また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。
【図１】
2020170946.tif 000003
【図２Ａ】
2020170946.tif 000004
【図２Ｂ】
2020170946.tif 000005
【図３】
2020170946.tif 000006
【図４】
2020170946.tif 000007
【図５】
2020170946.tif 000008
【図６】
2020170946.tif 000009
【図７】
2020170946.tif 000010
【図８】
2020170946.tif 000011
【図９】
2020170946.tif 000012
【図１０Ａ】
2020170946.tif 000013
【図１０Ｂ】
2020170946.tif 000014
【図１１Ａ】
2020170946.tif 000015
【図１１Ｂ】
2020170946.tif 000016
【国際調査報告】
2020170946.tif 000017
2020170946.tif 000018
2020170946.tif 000019
2020170946.tif 000020
2020170946.tif 000021
2020170946.tif 000022