通信システム、通信装置、通信プログラム、通信プログラムを記憶したコンピュータ読み取り可能な記憶媒体
【課題】音声チャット中に、ユーザの興味を惹き付ける画像を表示する。
【解決手段】クライアント装置1は、ネットワークに接続され、通信パケット受信部13とテクスチャ処理部18とを有する。通信パケット受信部13は、ネットワークに接続される他のクライアント端末から送信された画像データと音声データと画像データの種別を示す画像種別情報とを受信する。テクスチャ処理部18は、受信した画像データに応じた画像を描画する。また、テクスチャ処理部18は、通信パケット受信部13が受信した画像種別情報が所定の画像を示す情報であるとき、画像データに応じた画像に所定の描画処理を施す。
【解決手段】クライアント装置1は、ネットワークに接続され、通信パケット受信部13とテクスチャ処理部18とを有する。通信パケット受信部13は、ネットワークに接続される他のクライアント端末から送信された画像データと音声データと画像データの種別を示す画像種別情報とを受信する。テクスチャ処理部18は、受信した画像データに応じた画像を描画する。また、テクスチャ処理部18は、通信パケット受信部13が受信した画像種別情報が所定の画像を示す情報であるとき、画像データに応じた画像に所定の描画処理を施す。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の通信装置間で画像データ及び音声データを送受信する通信システムに用いて好適な技術に関する。
【背景技術】
【0002】
ネットワークに接続される複数の端末装置間において、各ユーザのアバターの識別情報と当該識別情報に関連付けた音声データとを双方向に送受信することにより、各ユーザのアバターの画像を各端末装置の表示画面に表示させながら音声チャットによって会話を行うシステムが知られている。
【0003】
【特許文献1】特開2003−6132号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、上記システムでは、音声チャット中において、各端末装置の表示画面にはアバターの静止画像が表示されるだけであり、表示画面の状態が自ずと単調となってしまう。
【0005】
本発明は上述の課題に鑑みてなされたものであり、音声チャット中に、ユーザの興味を惹き付ける画像を表示することが可能な通信システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、ネットワークに接続される第1及び第2の通信装置を含む通信システムである。第1の通信装置は、音入力手段と送信手段とを有する。送信手段は、第1の通信装置のユーザを表す画像データと、音入力手段により入力された音声に応じた音声データと、画像データの種別を示す画像種別情報とを、第2の通信装置に送信する。第2の通信装置は、受信手段と表示制御手段と音声出力制御手段とを有する。受信手段は、第1の通信装置から送信された画像データと音声データと画像種別情報とを受信する。表示制御手段は、受信した画像データに応じた画像を表示手段に表示する。音声出力制御手段は、受信した音声データによって表される音声を音声出力手段から出力する。表示制御手段は、受信した画像種別情報が所定の画像を示す情報であるとき、画像データに応じた画像に所定の描画処理を施して表示手段に表示する。
【発明の効果】
【0007】
本発明によれば、音声チャット中に、ユーザの興味を惹き付ける画像を表示することができる。
【発明を実施するための最良の形態】
【0008】
以下、図面を参照して本発明の実施形態について説明する。なお、各図において共通する部分には、同一の符号が付されている。また、かかる実施形態は本発明の一態様を示すものであり、この発明を限定するものではなく、本発明の範囲で任意に変更可能である。
【0009】
[実施形態]
(1)構成
<AV(Audio Visual)チャットシステムの構成>
図1は、本実施形態に係るAVチャットシステムの概要を示す模式図である。AVチャットシステムSYMは、複数のクライアント装置1A,1B,1Cと、サーバ装置2とを備える。サーバ装置2と、クライアント装置1の各々とは、インターネット30を介して、データ通信を行う。また、複数のクライアント装置1A,1B,1Cは、各々とP2P(peer-to-peer)で通信する。なお、これらのクライアント装置1A,1B,1Cの各ユーザを、ユーザA,B,Cとする。以降、クライアント装置1A,1B,1Cについて、区別して記載する必要がない場合には、単に、クライアント装置1と記載する。また、各クライアント装置を区別して記載する必要があり、各クライアント装置の各構成要素について区別して記載する必要がある場合には、各々符号の後ろにA,B,Cを付記する。
【0010】
各クライアント装置1には、コントローラ20と、モニタ装置10と、ビデオカメラ11と、マイクロフォン12とが各々図示しない接続ケーブルを介して接続される。コントローラ20は、ユーザにより操作される操作端末であり、ユーザの操作に応じた操作信号をクライアント装置1に供給する。ビデオカメラ11は、撮像した映像に応じた映像信号をクライアント装置1に供給する。マイクロフォン12は、入力された音声に応じた音声信号をクライアント装置1に供給する。モニタ装置10には、クライアント装置1から映像信号が供給される。
【0011】
モニタ装置10は、クライアント装置1から供給された映像信号に基づいて画像を表示する。AVチャットの実行中にモニタ装置10に表示される画像は、自己を表す画像(以下、自己表示画像と称する)と会話の相手を表す画像(以下、相手表示画像と称する)とを含む。例えば、クライアント装置1AのユーザAとクライアント装置1BのユーザBとがAVチャットを行う場合、モニタ装置10Aには、自己表示画像としてユーザAを表す画像が表示され、相手表示画像としてユーザBを表す画像が表示される。同様に、モニタ装置10Bには、自己表示画像としてユーザBを表す画像が表示され、相手表示画像としてユーザAを表す画像が表示される。
【0012】
各クライアント装置1において、自己表示画像の種別(タイプ)は、予め設定された複数の種別の中から各ユーザによって選択され指定される。各クライアント装置1は、ユーザから指定され設定された種別の画像を、自己表示画像としてモニタ装置10に表示する。ユーザが指定可能な画像の種別は、ビデオカメラ11からの映像信号に応じた画像(ビデオ画像)と、ユーザを象徴する画像として予め記憶されたアバターと、予め撮像されて記憶された写真(フォト)の3種類である。なお、ユーザが指定可能な画像として、例えばユーザが予め撮像して記憶させた映像など上記以外の種別の画像を含めてもよい。
【0013】
上記構成のAVチャットシステムSYMにおいて、AVチャットに参加するユーザのクライアント装置1は、それぞれパケット化された画像データパケット(画像関連情報)と音声データパケット(音声関連情報)とを、それぞれチャットストリーミングデータとして、所定のタイミングでAVチャットに参加する他のクライアント装置1に逐次送信する。
【0014】
画像データパケットには、各クライアント装置1のユーザが自己表示画像として指定した画像のデータ(画像データ)と、ユーザが自己表示画像に指定した画像データの種別を示す画像種別情報と、ユーザを特定するユーザ情報とが含まれる。各ユーザが自己表示画像に指定可能な画像データの種別は、上述のようにビデオの画像データとアバターの画像データと写真の画像データの3種類である。
【0015】
音声データパケットを受信したクライアント装置1は、受信した音声データパケットに含まれる画像データを用いて、モニタ装置10の所定の領域に相手表示画像を表示させる。ここで、音声データパケットに含まれる画像データのデータ構造は、全ての種別の画像データにおいて同一であり共通する。すなわち、ビデオの画像データとアバターの画像データと写真の画像データとは、共通するデータ構造を有する。このようなデータ構造の共通化により、クライアント装置1は、相手表示画像として何れの種別の画像データを受信した場合であっても、その種別によらず、共通の描画処理を実行することによって、モニタ装置10の所定の領域に相手表示画像を表示させることができる。従って、上記画像データのデータ構造の共通化は、クライアント装置1における基本的な描画処理(画像処理)の共通化に寄与する。
【0016】
また、音声データパケットを受信したクライアント装置1は、受信した音声データパケットに含まれる画像種別情報によって、受信した画像データの種別を判定し、その種別に応じた描画処理を、上記基本的な描画処理に適宜加える。すなわち、上述のように画像データのデータ構造が共通化されていると、クライアント装置1では、他のクライアント装置1から受信した画像データによってその画像データの種別を判別することはできないが、画像データと画像種別情報とが関連付けられた状態で送信されるので、この画像種別情報によって画像データの種別が判定可能となり、画像種別情報が写真を示す画像データの場合、相手表示画像(写真)の周囲に枠状のフレームを加える描画処理を、上記基本的な描画処理に加える。また、画像種別情報がアバターを示す画像データの場合、相手表示画像(アバター)の状態(透明度及びサイズ)を後述する音声レベル情報に応じて変化させる描画処理を、上記基本的な描画処理に加える。また、画像種別情報がビデオ画像を示す画像データの場合、特に特別な描画処理を加えずに上記基本的な描画処理を実行する。
【0017】
これにより、画像データのデータ構造の共通化及びクライアント装置1における基本的な描画処理の共通化を維持しつつ、画像データの種別に応じて差別化された相手表示画像をモニタ装置10に表示させて、ユーザの興味をモニタ装置10に惹き付けることが可能となる。
【0018】
音声データパケットには、マイクロフォン12からの音声に応じた音声データと、上記ユーザ情報と、ボイス・ディテクト値を表す音声レベル情報とが含まれる。ボイス・ディテクト値とは、マイクロフォン12に入力された音声の相対的な音声レベルを10段階(1〜10)で表した評価値であり、入力された音声の変動が大きいほど大きい値(10に近い値)を示す。マイクロフォン12は、入力された音声レベルに応じたボイス・ディテクト値を検知して、音声データとともに出力する。また、クライアント装置1は、AVチャットに参加している他のユーザのクライアント装置1からインターネット30を介してそれぞれ送信されたチャットストリーミングデータ(画像データパケット及び音声データパケット)を個別に受信する。
【0019】
<クライアント装置の主要構成>
次に、図2を参照しながら、クライアント装置の構成のうち本発明に関連する主要な構成について説明する。図2は、クライアント装置の構成のうち本発明に関連する主要な構成を示すブロック図である。
【0020】
クライアント装置1は、通信パケット受信部13と音声関連情報処理部14と画像関連情報処理部15と入力音声情報記憶部16と画像種別情報記憶部17とテクスチャ処理部18とを有する。
【0021】
通信パケット送受信部13は、AVチャットに参加するユーザのクライアント装置1から送信された音声データパケットを受信し、受信した音声データパケットを音声関連情報処理部14へ出力する。また、通信パケット送受信部13は、AVチャットに参加するユーザのクライアント装置1から送信された画像データパケットを受信し、受信した画像データパケットを画像関連情報処理部15へ出力する。
【0022】
音声関連情報処理部14は、通信パケット受信部13から入力された音声データパケットに含まれる音声レベル情報(ボイス・ディテクト値)を、テクスチャ処理部18へ出力するとともに、入力音声情報記憶部16に更新して記憶する。
画像関連情報処理部15は、通信パケット受信部13から入力された画像データパケットに含まれる画像データを、テクスチャ処理部18へ出力するとともに、当該画像データパケットに含まれる画像種別情報を、画像種別情報記憶部17に更新して記憶する。
【0023】
テクスチャ処理部18は、AVチャットの実行中にモニタ装置10に表示するためのチャット画像(テクスチャ)を描画する。チャット画像は、自己表示画像と相手表示画像とを含む。
【0024】
自己表示画像は、各クライアント装置1にそれぞれ設定された種別の画像である。例えば、クライアント装置1Aにおいて、自己表示画像としてビデオカメラ11Aの映像が選択され設定されている場合、クライアント装置1Aのテクスチャ処理部18は、ビデオカメラ11Aから入力された映像を自己表示画像として描画する。また、自己表示画像としてクライアント装置1Aに予め記憶されたアバター又は写真が選択されている場合、クライアント装置1Aのテクスチャ処理部18は、選択されたアバター又は写真を読み出して、自己表示画像として描画する。
【0025】
一方、相手表示画像は、通信パケット受信部13が受信して画像関連情報処理部15から入力された画像データに基づいて描画される。例えば、クライアント装置1AのユーザAとクライアント装置1BのユーザBとがAVチャットを行う場合、クライアント装置1Aのテクスチャ処理部18は、通信パケット受信部13が受信した情報のうちユーザBを特定するユーザ情報を含む画像データパケットの画像データに基づいて、ユーザBを表す相手表示画像を描画する。ユーザBを特定するユーザ情報を含む画像データパケットの画像データがビデオの画像データの場合、ビデオカメラ11Bが撮影したユーザBの映像が相手表示画像として描画され、アバターの画像データの場合、ユーザBがクライアント装置1Bにおいて選択したアバターが相手表示画像として描画され、写真の画像データの場合、ユーザBがクライアント装置1Bにおいて選択した写真が相手表示画像として描画される。
【0026】
また、テクスチャ処理部18は、相手表示画像を描画する際に、画像データの種別によらずに共通する上記基本的な描画処理に加えて、画像種別情報記憶部17から相手表示画像の種別を示す画像種別情報を読み出し、読み出した画像種別情報に応じた描画処理を適宜実行する。なお、画像種別情報記憶部17を設けず、画像関連情報処理部15から直接入力された画像種別情報に基づいて画像データの種別を判定してもよい。
【0027】
例えば、画像種別情報記憶部17から読み出した画像種別情報が写真である場合、相手表示画像(写真)の周囲に枠状のフレームを加える処理を行う。
【0028】
また、画像種別情報記憶部17から読み出した画像種別情報がアバターである場合、入力音声情報記憶部16から音声レベル情報(ボイス・ディテクト値)を読み出し、読み出したボイス・ディテクト値に応じて相手表示画像(アバター)の状態(透明度及びサイズ)を変化させる処理を行う。具体的には、ボイス・ディテクト値が「9」以上か未満かを判定し、「9」以上の場合には、現在のアルファ値が100%か否かを判定し、現在のアルファ値が100%ではない(100%未満である)の場合、目標アルファ値を100%に設定する。また、現在のアルファ値が100%の場合には、さらに現在の画像サイズが100%か否かを判定し、画像サイズが100%の場合には、目標画像サイズを70%に設定し、画像サイズが100%未満の場合には、目標画像サイズを100%に設定する。一方、ボイス・ディテクト値が「9」未満の場合には、目標アルファ値を80%に設定し、且つ目標画像サイズを70%に設定する。なお、テクスチャ処理部18は、音声関連情報処理部14から直接入力されたボイス・ディテクト値に応じて相手表示画像を描画してもよい。
【0029】
アルファ値とは、透明度(半透明度)の比率を表す値であり、0%から100%の間の実数値で表される。アルファ値が100%の場合は完全に不透明な状態となり、反対に0%の場合は完全に透明な状態となる。例えば、アバターの画像データがアバター単体の画像データとその背景の画像データとを含む場合、アバター単体を描画する際に、アバター単体の色と背景色とがアルファ値に応じてブレンドされる。
【0030】
テクスチャ処理部18は、目標アルファ値及び目標画像サイズを設定すると、予め記憶されたアニメーションプログラムに従って、アバターの画像が目標アルファ値や目標画像サイズに徐々に近づくように描画処理を行う(目標アルファ値や目標画像サイズに近づくように、アルファ値や画像サイズを徐々に変化させる)。なお、現在のアルファ値が既に目標アルファ値である場合には、そのアルファ値を維持し、現在の画像サイズが既に目標画像サイズである場合には、その画像サイズを維持する。
【0031】
例えば、クライアント装置1AのユーザAとクライアント装置1BのユーザBとがAVチャットを行う場合において、ユーザBが話すことによってボイス・ディテクト値が「9」以上である入力音声情報がクライアント装置1Bからクライアント装置1Aに送信されると、クライアント装置1Aの音声関連情報処理部14は、当該入力音声情報を入力音声情報記憶部16に記憶し、テクスチャ処理部18は、当該入力音声情報を入力音声情報記憶部16から読み出し、目標アルファ値を100%に設定し、完全に不透明なアバターをユーザBに対応した相手表示画像として描画する。また、ユーザBが継続して話すことによってボイス・ディテクト値が「9」以上である入力音声情報が継続してクライアント装置1Bからクライアント装置1Aに送信されると、クライアント装置1Aの音声関連情報処理部14は、当該入力音声情報を入力音声情報記憶部16に記憶し、テクスチャ処理部18は、当該入力音声情報を入力音声情報記憶部16から読み出し、現在の画像サイズが100%の場合には目標画像サイズを70%に設定し、現在の画像サイズが100%未満の場合には目標画像サイズを70%に設定する。これにより、ユーザBが継続して話すことによってボイス・ディテクト値が「9」以上である入力音声情報が継続してクライアント装置1Bからクライアント装置1Aに送信されると、クライアント装置1Aのテクスチャ処理部18は、完全に不透明な状態で、画像サイズが70%から100%の間で拡大と縮小を繰り返すアバターをユーザBに対応した相手表示画像として描画する。
【0032】
一方、ユーザBが黙ることによってボイス・ディテクト値が「9」未満である入力音声情報がクライアント装置1Bからクライアント装置1Aに送信されると、クライアント装置1Aの音声関連情報処理部14は、当該入力音声情報を入力音声情報記憶部16に記憶し、テクスチャ処理部18は、当該入力音声情報を入力音声情報記憶部16から読み出し、目標アルファ値を80%に設定し、目標画像サイズを70%に設定し、半透明でサイズの小さいアバターをユーザBに対応した相手表示画像として描画する。
【0033】
また、テクスチャ処理部18は、自己表示画像を描画する際に、設定された種別が写真である場合には、上記相手表示画像を描画する場合と同様に、自己表示画像(写真)の周囲に枠状のフレームを加える処理を行う。また、設定された種別がアバターである場合にも、上記相手表示画像を描画する場合と同様に、ボイス・ディテクト値に応じて自己表示画像(アバター)の状態(透明度及びサイズ)を変化させる処理を行う。但し、自己表示画像を描画する場合には、当該クライアント装置1に接続されているマイクロフォン12から入力されたボイス・ディテクト値を用いてアバターの状態を変化させる。
【0034】
<クライアント装置の内部回路の一例>
次に、図3を参照しながら、上記図2の構成が実装されたクライアント装置の内部回路の一例について説明する。図3は、クライアント装置の内部回路の一例を示すブロック図である。
【0035】
中央演算処理装置(CPU:Central Processing Unit)41及びその周辺装置等からなる制御系40と、HDD(Hard Disc Drive)45と、フレームバッファ53に描画を行う画像処理装置(GPU:Graphics Processing Unit)52等からなるグラフィックシステム50と、楽音、効果音等を発生する音声処理装置(SPU:Sound Processing Unit)61等からなるサウンドシステム60と、アプリケーションプログラムが記録されている光ディスクの制御を行う光ディスク制御部70と、通信部80と、インターフェース部90と、上記の各部が接続されているバス等を備えて構成されている。CPU41は音声関連情報処理部14及び画像関連情報処理部15として機能し、GPU52はテクスチャ処理部18として機能し、通信部80は通信パケット受信部13として機能する。
【0036】
制御系40は、CPU41と、割り込み制御やダイレクトメモリアクセス(DMA:Direct Memory Access)転送の制御等を行う周辺装置制御部42と、RAM(Random Access Memory)からなるメインメモリ43と、ROM(Read Only Memory)44とを備えている。メインメモリ43は入力音声情報記憶部16及び画像種別情報記憶部17として機能する。
【0037】
ROM44には、クライアント装置1の各部を制御するためのオペレーティングシステム等のプログラムや、各種機能を実現させるためのアプリケーションプログラムが記憶されている。CPU41は、ROM44に記憶されているオペレーティングシステムをメインメモリ43に読み出し、読み出したオペレーティングシステムを実行することにより、このクライアント装置1の全体を制御する。
【0038】
HDD45には、各種データや、AVチャットを実現させるためのプログラム(以下、AVチャットプログラムと称する)などの各種アプリケーションプログラムが記憶されている。また、HDD45には、自己表示画像として選択可能なアバターや写真の画像データが記憶される。AVチャットプログラムには、自己表示画像や相手表示画像としてアバターを描画する際のアニメーションプログラムが含まれる。CPU41は、HDD45に記憶されているAVチャットプログラムをメインメモリ43に読み出し、読み出したAVチャットプログラムを実行する。これにより実現される機能については、後述の動作欄において説明する。
【0039】
サウンドシステム60は、制御系40の制御の下、音声信号を制御するSPU61と、音声再生の際の波形データ等が記録されるサウンドバッファ62と、SPU61によって発生される楽音、効果音等を出力するスピーカ63とを備えている。サウンドシステム60には、マイクロフォン12から出力された音声信号とボイス・ディテクト値とが入力される。サウンドシステム60は、入力された音声信号をデジタル変換し、音声コーデックにより符号化して通信部80に供給する。また、サウンドシステム60には、インターネット30を介して取得された音声データが、通信部80から供給される。サウンドシステム60は、当該音声データを音声コーデックにより復号し、アナログ変換して波形データを生成し、これをサウンドバッファ62に記録し、これをスピーカ63に供給する。
【0040】
光ディスク制御部70は、光ディスクに記録されたプログラムやデータ等を再生する光ディスク装置71と、例えばエラー訂正符号(ECC:Error Correction Code)が付加されて記録されているプログラム、データ等を復号するデコーダ72と、光ディスク装置71からのデータを一時的に記憶することにより、光ディスクからのデータの読み出しを高速化するバッファ73とを備えている。上記のデコーダ72には、サブCPU74が接続されている。
【0041】
インターフェース部90は、パラレルI/Oインターフェース(PIO)91と、シリアルI/Oインターフェース(SIO)92とを備えている。これらは、図示しないメモリカードとクライアント装置1とを接続するためのインターフェースである。
【0042】
グラフィックシステム50は、ジオメトリトランスファエンジン(GTE:Geometry Transfer Engine)51と、GPU52と、フレームバッファ53と、画像エンコーダ・デコーダ54とを備えている。
【0043】
GTE51は、例えば複数の演算を並列に実行する並列演算機構を備え、上記CPU41からの演算要求に応じて座標変換、光源計算、行列あるいはベクトルなどの演算を高速に行う。そして、制御系40は、GTE51による演算結果に基づいて三角形や四角形などの基本的な単位図形(ポリゴン)の組み合わせとして3次元モデルを定義して3次元画像を描画するための各ポリゴンに対応する描画命令をGPU52に送る。
【0044】
GPU52は、制御系40からの描画命令に従って、フレームバッファ53に対して多角形(ポリゴン)等の描画を行う。フレームバッファ53は、GPU52により描画された画像を記憶する。このフレームバッファ53は、いわゆるデュアルポートRAMからなり、GPU52からの描画あるいはメインメモリ43からの転送と、表示のための読み出しとを同時に行うことができる。また、このフレームバッファ53には、ビデオ出力として出力される表示領域の他に、GPU52がポリゴン等の描画を行う際に参照するカラールックアップテーブル(CLUT:Color Lock Up Table)が記憶されるCLUT領域と、描画時に座標変換されてGPU52によって描画されるポリゴン等の中に挿入(マッピング)される素材(テクスチャ)が記憶されるテクスチャ領域が設けられている。これらのCLUT領域とテクスチャ領域は、表示領域の変更等に従って動的に変更される。
【0045】
画像エンコーダ・デコーダ54は、上記の制御系40からの制御により、静止画あるいは動画の画像の符号化及び復号化や、デジタル変換及びアナログ変換などの各種処理を行う。
【0046】
このグラフィックシステム50には、制御系40がHDD45から読み出したアバター又は写真の画像データやビデオカメラ11からの映像信号が供給される。自己表示画像としてビデオ画像が選択され設定されている場合、グラフィックシステム50は、この映像信号をデジタル変換し、映像コーデックにより符号化(圧縮)して、通信部80に供給する。また、デジタル変換した映像信号をモニタ装置10に供給する。また、自己表示画像としてアバター又は写真が選択され設定されている場合、グラフィックシステム50は、HDD45から読み出されたアバター又は写真の画像データを、上記と同様に映像コーデックにより符号化して通信部80に供給するとともに、モニタ装置10に供給する。このとき、自己表示画像として写真が設定されている場合には、メインメモリ43から読み出された画像データに上記フレームを描画する処理を施してモニタ装置10に供給する。また、自己表示画像としてアバターが設定されている場合には、メインメモリ43から読み出された画像データに上記ボイス・ディテクト値に応じた処理を施してモニタ装置10に供給する。なお、アバター又は写真の画像データの通信部80への供給は、グラフィックシステム50ではなく制御系40が行ってもよい。さらに、グラフィックシステム50には、インターネット30を介して取得された画像データが通信部80から供給され、グラフィックシステム50は、この画像データをモニタ装置10に供給する。なお、通信部80から供給された画像データが映像コーデックにより符号化(圧縮)されている場合、グラフィックシステム50は、供給された画像データを映像コーデックにより復号(伸長)し、これをアナログ変換して、モニタ装置10に供給する。また、画像データの種別が写真の場合には、画像データに上記フレームを描画する処理を施してモニタ装置10に供給する。また、画像データの種別がアバターの場合には、画像データに上記ボイス・ディテクト値に応じた処理を施してモニタ装置10に供給する。
【0047】
通信部80は、制御系40の制御の下、インターネット30を介して他の情報処理装置とのデータ通信を制御する。通信部80は、HDD45やグラフィックシステム50(ビデオカメラ11)から供給された自己表示画像である画像データと、画像データの種別を示す画像種別情報と、ユーザを特定するユーザ情報とをパケット化して画像データパケットを生成し、生成した画像データパケットをチャットストリーミングデータとしてインターネット30を介して、AVチャットに参加している他のクライアント装置1へ送信する。また、通信部80は、サウンドシステム60(マイクロフォン12)から供給された音声データ及びボイス・ディテクト値と、ユーザを特定するユーザ情報とをパケット化して音声データパケットを生成し、生成した音声データパケットをチャットストリーミングデータとしてインターネット30を介して、AVチャットに参加している他のクライアント装置1へ送信する。また、通信部80は、AVチャットに参加している他のクライアント装置1からインターネット30を介して送信されたチャットストリーミングデータ(画像データパケット及び音声データパケット)を受信し、画像データをグラフィックシステム50へ供給し、音声データをサウンドシステム60へ供給する。また、通信部80が画像データパケットを受信すると、CPU41は、画像データパケットに含まれるユーザ情報と画像種別情報とを対応付けた状態でメインメモリ43に記憶する。また、通信部80が音声データパケットを受信すると、CPU41は、音声データパケットに含まれるユーザ情報と音声レベル情報(ボイス・ディテクト値)とを対応付けた状態でメインメモリ43に記憶する。
【0048】
<サーバ装置の構成>
次に、図4を参照しながら、サーバ装置の主要な内部構成について説明する。図4は、サーバ装置の主要な内部構成を示すブロック図である。
【0049】
サーバ装置2は、CPU200と、ROM210と、RAM220と、HDD(Hard Disc Drive)230と、通信部240とから構成され、これらはバスを介して接続される。
【0050】
ROM210には、サーバ装置2の各部を制御するためのオペレーティングシステムや各種プログラムが記憶されている。CPU200は、サーバ装置2の起動時にROM210に記憶されているオペレーティングシステムをRAM210に読み出し、読み出したオペレーティングシステムを実行することにより、サーバ装置2の各部の動作を制御する。
【0051】
通信部240は、CPU200の制御の下、インターネット30を介したデータ通信を制御する。
【0052】
HDD230には、フレンド管理テーブル230aが記憶されている。フレンド管理テーブル230aには、AVチャットシステムSYMを利用可能なユーザのユーザ情報が、フレンド情報と対応付けられて記憶されている。なお、ユーザが、AVチャットシステムSYMを利用するための所定の手続きを予め行うことにより、当該ユーザのユーザ情報がフレンド管理テーブル230aに記憶される。ここでは、クライアント装置1A,1B,1Cの各ユーザA,B,Cのユーザ情報が予めフレンド管理テーブル230aに記憶されているものとする。ユーザ情報は、ユーザを識別するための情報であり、例えば、ユーザを一意に識別するためのユーザID、ユーザのメールアドレス、ユーザのニックネーム、ユーザによって選択されたアバターなどの情報を含む。フレンド情報は、ユーザによって友達の登録が予めなされた他のユーザを示すものであり、他のユーザの各ユーザ情報が示される。友達の登録は、例えば以下のようになされる。クライアント装置1のユーザがコントローラ20を介して所定の操作を行うと、当該クライアント装置1が、サーバ装置2と、友達として登録する他のユーザのクライアント装置1との間でデータ通信を行い、当該他のユーザのクライアント装置1から登録を許可する旨のデータを受信することにより、当該他のユーザのユーザ情報がフレンド情報として登録される。
【0053】
(2)動作
次に、本実施形態に係る動作について説明する。
【0054】
なお、クライアント装置1の図示しない電源が投入され、ROM44に記憶されたオペレーティングシステムなどのプログラムがCPU41によってメインメモリ43に読み出されて実行され、ユーザによってそれぞれ指示が入力されることにより、ROM44や光ディスク装置71に装着された光ディスクからメインメモリ43に読み出された各種プログラムがCPU41によって実行され、上述の構成欄で述べた各種機能が実現される。
【0055】
また、サーバ装置2の図示しない電源が投入され、ROM210に記憶されたオペレーティングシステムなどのプログラムがCPU200によってRAM220に読み出されて実行され、ユーザによってそれぞれ指示が入力されることにより、RAM220に読み出されたゲーム制御プログラムなどの各種プログラムがCPU200によって実行され、上述の構成欄で述べた各種機能が実現される。
【0056】
なお、本実施形態においては、AVチャットシステムSYMに接続される複数のクライアント装置1のうち、マスタとなるクライアント装置1においてユーザがAVチャットの開始及び他のユーザの招待を指示し、当該他のユーザが他のクライアント装置1においてAVチャットへの参加の受け入れを指示すると、これらのクライアント装置1間でAVチャットが行われる。即ち、これらのクライアント装置1により、AVチャットを行う通信グループが形成される。なお、マスタは、参加者を招く権限を有する。ここでは、マスタとして選出されたクライアント装置1をクライアント装置1Aとする。
【0057】
<AVチャットの開始準備>
まず、ユーザAが、クライアント装置1Aに接続されたコントローラ20Aを操作して、メニュー画面を表示させると、CPU41Aは、通信部80Aを介してサーバ装置2にアクセスし、当該ユーザのユーザ情報に対応付けられて記憶されているフレンド情報を要求する旨のリクエストデータをサーバ装置2に送信する。このリクエストデータには、例えば、ユーザAのユーザID等の情報が含まれている。一方、サーバ装置2は、クライアント装置1Aから送信されたリクエストデータを受信すると、当該リクエストデータに従い、HDD230に記憶されているフレンド管理テーブル230aを参照して、ユーザAのユーザ情報に対応付けられているフレンド情報をクライアント装置1Aに送信する。クライアント装置1AのCPU41Aは、サーバ装置2から送信されたフレンド情報を受信すると、次いで、このフレンド情報を用いたメニュー画面の描画命令をグラフィックシステム50Aに対して行う。グラフィックシステム50Aが、当該描画命令に従い、メニュー画面の画像の描画を行う。CPU41Aは、描画されたメニュー画面の画像に応じた映像信号をモニタ装置10Aに供給する。この結果、モニタ装置10Aには、例えば図5に示されるようなメニュー画面MGが表示される。当該メニュー画面MGにおいては、AVチャットの機能を象徴するチャットアイコンIC1が表示され、当該チャットアイコンIC1の上下方向に、当該ユーザAによって予め登録されサーバ装置2から受信したフレンド情報が展開表示される。ここで表示されるフレンド情報は、例えば、友達として登録された他のユーザのアバターFR1や、ニックネームNM1などである。ユーザAが、コントローラ20Aを操作して、このフレンド情報の中からAVチャットを開始したい相手を選択し、更にコントローラ20Aを操作して、オプションメニューの表示を指示すると、メニュー画面MGの右方にオプションメニュー(図示せず)が表示される。更に、ユーザAが、コントローラ20Aを操作して、このオプションメニューに表示される指示内容から「AVチャットの開始」を選択して、AVチャットの開始を指示すると、CPU41Aは、AVチャットプログラムをHDD45Aからメインメモリ43Aに読み出し、これを実行させる。そして、CPU41Aは、ユーザにより選択されたフレンド情報を参照して、当該フレンド情報に対応するユーザに宛てた招待メッセージを生成し、これをモニタ装置10Aに表示させる。具体的には、例えば、招待メッセージの雛型がHDD45Aに予め記憶されており、CPU41Aは、HDD45Aに記憶された雛型の招待メッセージを読み出し、これに基づいて、フレンド情報によって示される情報を宛先として加えるなどして、招待メッセージを生成する。このように生成されモニタ装置10Aに表示される招待メッセージは、例えば図6に示される。
【0058】
ユーザAがコントローラ20を操作して、この招待メッセージの送信を決定指示すると、クライアント装置1Aは、サーバ装置2を介して、当該招待メッセージの宛先のユーザ(ここでは、ユーザBとする)のクライアント装置1(ここでは、クライアント装置1Bとする)へ当該招待メッセージを送信する。
【0059】
また、ユーザAがAVチャットを行う際の自己表示画像を選択する場合、コントローラ20Aを操作して、モニタ装置10Aに自己表示画像選択画面(図示せず)を表示させる。自己表示画像選択画面には、選択可能な自己表示画像群(ビデオ画像、アバター及び写真)が表示され、ユーザAがコントローラ20Aを操作して自己表示画像群の中から1つを特定して決定すると、クライアント装置1Aの自己表示画像とその種別が設定される。
【0060】
一方、クライアント装置1Aが送信した招待メッセージを受信したクライアント装置1Bは、当該招待メッセージをモニタ装置10Bに表示させる。モニタ装置10Bに表示される招待メッセージは、例えば図7に示される。ここで、当該クライアント装置1BのユーザBが、コントローラ20Bを操作して、AVチャットの参加を指示すると、当該クライアント装置1Bは、AVチャットプログラムをHDD45Bからメインメモリ43Bに読み出し、これを実行させる。そして、クライアント装置1Bは、クライアント装置1Aとの間で、接続性のチェックを行うため、接続確認用データをクライアント装置1Aに送信する。クライアント装置1Aは、クライアント装置1Bから送信された接続確認データを受信すると、当該データを受信した旨を示す接続応答データをクライアント装置1Bに送信する。
【0061】
クライアント装置1Bは、当該接続応答データを受信すると、クライアント装置1Aと接続可能であると判定し、AVチャットに参加する旨を示す参加応答データをクライアント装置1Aに送信する。なお、この参加応答データには、ユーザBのユーザIDなどが含まれる。
【0062】
なお、ユーザBがAVチャットを行う際の自己表示画像を選択する場合、ユーザAの場合と同様に、コントローラ20Bを操作して、モニタ装置10Bに自己表示画像選択画面(図示せず)を表示させる。自己表示画像選択画面には、選択可能な自己表示画像群(ビデオ画像、アバター及び写真)が表示され、ユーザBがコントローラ20Bを操作して自己表示画像群の中から1つを特定して決定すると、クライアント装置1Bの自己表示画像とその種別が設定される。
【0063】
次いで、クライアント装置1Aは、クライアント装置1Bから送信された結果応答データを受信すると、AVチャットの開始を指示する旨の開始指示データをクライアント装置1Bに送信する。また、クライアント装置1Aは、図8に示されるようなチャット画面CH1をモニタ装置10に表示させる。当該チャット画面CH1においては、クライアント装置1Aに設定された自己表示画像DA1を画面右方に表示させる。このとき、設定された自己表示画像がビデオ画像の場合には、クライアント装置1Aに接続されたビデオカメラ11Aから入力される映像信号に応じた映像を表示させ、アバターの場合には選択されたアバターの画像を表示させ、写真の場合には選択された写真の画像を表示させる。図8には、山の風景の写真が選択された場合を示す。画面左方には、上述のクライアント装置1Bから送信される画像データに応じた映像を表示させるため、クライアント装置1Bから画像データが送信されるのを待機する。また、クライアント装置1Aは、画像データパケットと音声データパケットとを通信部80Aを介してクライアント装置1Bに送信する。
【0064】
一方、クライアント装置1Bは、クライアント装置1Aから送信された開始指示データを受信すると、チャット画面をモニタ装置10Bに表示させる。当該チャット画面においては、クライアント装置1Bに設定された自己表示画像を画面右方に表示させる。画面左方には、上述のクライアント装置1Aから送信される画像データに応じた映像を表示させるため、クライアント装置1Aから画像データが送信されるのを待機する。また、クライアント装置1Bは、画像データパケットと音声データパケットとを通信部80Bを介してクライアント装置1Aに送信する。
【0065】
各クライアント装置1は、自装置に設定された自己表示画像をチャット画面右方に表示させ、他装置から送信された画像データによって表される相手表示画像をチャット画面の左方に表示させる。例えば、クライアント装置1Aにおいて自己表示画像として山の風景の写真が選択され、クライアント装置1Bにおいて自己表示画像としてアバターが選択された場合、モニタ装置10Aには、図9に示すように、右方に自己表示画像(山の風景の写真)DA1が配置され、左方に相手表示画像(アバター)DB1が配置されたチャット画面CH2が表示される。
【0066】
<自己表示画像及び相手表示画像の種別に応じた処理>
次に、自己表示画像及び相手表示画像の種別に応じた処理について説明する。
【0067】
クライアント装置1Aは、自装置に設定された自己表示画像の種別が写真の場合、図8に示すように、自己表示画像(写真)DA1の周囲にフレームFLを描画したチャット画面CH1をモニタ装置10Aに表示させる。また、AVチャットの相手であるクライアント装置1Bに設定された自己表示画像の種別が写真の場合、クライアント装置1Aは、クライアント装置1Bから写真を示す画像種別識別情報を受信し、相手表示画像(写真)の周囲にフレームを描画したチャット画面(図示せず)をモニタ装置10Aに表示させる。
【0068】
写真を自己表示画像又は相手表示画像としてモニタ装置10Aに表示する場合、クライアント装置1Aのグラフィックシステム50Aでは、以下の処理が実行される。まず、フレームバッファ53のテクスチャ領域に対して、HDD45から供給された自己表示画像の写真の画像データ又はクライアント装置1Bから受信した相手表示画像の写真の画像データに対応する画像が描画される。この画像は、チャット画面のうち自己表示画像又は相手表示画像の表示領域の全域に対応した大きさでテクスチャ領域に描画される。そして、テクスチャ領域に描画された画像は、チャット画面のうち自己表示画像又は相手表示画像の表示領域からフレームが描画される周囲の領域を除いた大きさに縮小されて、フレームバッファ53の表示領域にマッピングされ、且つ当該表示領域にフレームの画像がマッピングされる。これにより、表示領域において、縮小された写真の画像とフレームの画像とが合成される。
【0069】
また、クライアント装置1Aは、自装置に設定された自己表示画像の種別がアバターの場合、マイクロフォン12Aが検知したボイス・ディテクト値に応じて自己表示画像(アバター)の状態(透明度及びサイズ)が変化するチャット画面(図示せず)をモニタ装置10Aに表示させる。また、AVチャットの相手であるクライアント装置1Bに設定された自己表示画像の種別がアバターの場合、クライアント装置1Aは、クライアント装置1Bからアバターを示す画像種別識別情報とマイクロフォン12Bが検知したボイス・ディテクト値(音声レベル情報)を受信し、受信したボイス・ディテクト値に応じて相手表示画像(アバター)の状態(透明度及びサイズ)が変化するチャット画面(図9に示すCH2や図10に示すCH3)をモニタ装置10Aに表示させる。
【0070】
すなわち、図11に示すように、自己表示画像がアバターの場合及び/又は相手表示画像がアバターの場合、ボイス・ディテクト値が「9」以上か未満かを判定し(ステップS1)、「9」以上の場合(ステップS1:Yes)には、現在のアルファ値が100%か否かを判定し(ステップS2)、現在のアルファ値が100%ではない(100%未満である)場合(ステップS2:No)、目標アルファ値を100%に設定する(ステップS3)。また、現在のアルファ値が100%の場合(ステップS2:Yes)、さらに現在の画像サイズが100%か否かを判定し(ステップS4)、画像サイズが100%の場合(ステップS4:Yes)には、目標画像サイズを70%に設定し(ステップS5)、画像サイズが100%未満の場合(ステップS4:No)には、目標画像サイズを100%に設定する(ステップS6)。一方、ボイス・ディテクト値が「9」未満の場合(ステップS1:No)には、目標アルファ値を80%に設定し(ステップS7)、且つ目標画像サイズを70%に設定する(ステップS5)。目標アルファ値及び目標画像サイズを設定すると、予め記憶されたアニメーションプログラムに従って、アバターの画像が目標アルファ値及び目標画像サイズに徐々に近づくようにモニタ装置10に表示される。このアニメーションプログラムでは、現在表示している自己表示画像及び/又は相手表示画像の各アルファ値や各表示サイズを記憶しており、設定された目標アルファ値や目標表示サイズに達するまで、所定時間(例えば、750msec)かけて自己表示画像及び/又は相手表示画像を変化させる。このとき、アルファ値を上昇(増加)させる処理は画像サイズを変更する処理に優先して行われ、目標アルファ値に達した後に表示サイズの変更が開始される。一方、アルファ値を下降(減少)させる処理は、画像サイズを変更する処理と同時に並行して行われる。
【0071】
アバターを自己表示画像又は相手表示画像としてモニタ装置10Aに表示する場合、クライアント装置1Aのグラフィックシステム50Aでは、以下の処理が実行される。まず、フレームバッファ53のテクスチャ領域に対して、HDD45から供給された自己表示画像のアバターの画像データ又はクライアント装置1Bから受信した相手表示画像のアバターの画像データに対応する画像が描画される。この画像は、チャット画面のうち自己表示画像又は相手表示画像の表示領域の全域に対応した大きさ(画像サイズ)でテクスチャ領域に描画される。そして、テクスチャ領域に描画された画像は、設定された目標アルファ値及び/又は目標画像サイズに応じて濃度を減少する処理や画像サイズを縮小する処理が施されて、フレームバッファ53の表示領域にマッピングされる。ここで、アバターの画像データは、アバター単体(アバターのみ)の画像データだけではなくその背景の画像データをも含んでいるため、アバター単体とその背景とを含む全体のアバター画像を縮小して描画領域にマッピングしただけでは、全体のアバター画像のサイズがチャット画面における自己表示画像や相手表示画像の表示領域よりも小さくなり、周囲にブランクの領域が発生し、ユーザに違和感を与える可能性が生じる。このため、上記画像サイズの縮小処理では、フレームバッファ53の表示領域に予め背景色を描画しておき、その上から全体のアバター画像を縮小して描画する。これにより、上記ブランクの領域に必ず背景色が描画されるため、ユーザに違和感を与えることがない。また、上記濃度を減少する処理では、アバター単体の色と背景色とをアルファ値に応じて混合(ブレンド)する。
【0072】
例えば、クライアント装置1AのユーザAとクライアント装置1BのユーザBとがAVチャットを行う場合であって、クライアント装置1Bにおいて自己表示画像としてアバターが選択され、ボイス・ディテクト値が「9」以上である入力音声情報がクライアント装置1Bからクライアント装置1Aに継続して送信されると、アルファ値が100%に達するまでの間は、上記ステップS2において現在のアルファ値が100%ではないと継続して判定され、目標アルファ値が100%に維持される(ステップS3)。このため、モニタ装置10Aには、表示サイズが変わらずに当初の半透明の状態から徐々に濃くなって最終的に完全に不透明となるアバターが、ユーザBに対応した相手表示画像として表示される。さらに、ユーザBが発話を継続し、ボイス・ディテクト値が「9」以上である入力音声情報が継続してクライアント装置1Bからクライアント装置1Aに送信されると、現在の画像サイズが100%未満であれば目標画像サイズが100%に設定され、画像サイズが既に100%に達していると目標画像サイズが70%に設定されるので、図9に示すように、モニタ装置10Aのチャット画面CH2には、完全に不透明な状態で画像サイズが70%(図9に実線で示す)から100%(図9に二点鎖線で示す)の間で拡大と縮小を繰り返すアバターDB1がユーザBに対応した相手表示画像として描画される。また、ユーザBが黙ることによってボイス・ディテクト値が「9」未満である入力音声情報がクライアント装置1Bからクライアント装置1Aに継続して送信されると、目標アルファ値が80%に設定され、図10に示すように、モニタ装置10Aのチャット画面CH3には、画像サイズが70%まで徐々に小さくなり且つアルファ値が80%となるまで徐々に半透明となるアバターDB1がユーザBに対応した相手表示画像として表示される。このため、自己表示画像及び/又は相手表示画像がアバターである場合、AVチャット開始時のチャット画面には、画像サイズが70%でアルファ値が80%のアバターが表示される。なお、図示を簡略化するため、図9及び図10には、三角形の図形がアバターとして選択された場合を例示している。
【0073】
従って、相手表示画像がアバターの場合、表示されたアバターの状態を視ることによって、相手が話しているか黙っているかを認識することができる。また、相手の発話に伴って先ずアルファ値が変化し、アルファ値が目標アルファ値に達した後に、次いで画像サイズが変化するようにアバターの画像が表示されるので、発話以外の突発的な音(ノイズ)が相手のマイクロフォン12に入力された場合であっても、アルファ値が目標アルファ値に達するまでの間はアルファ値が変化するだけであり、画像サイズはそのまま維持されるので、相手表示画像を視るユーザに対して与える違和感を最小限に抑えることができる。さらに、話し相手が発話を継続している場合、相手表示画像の画像サイズが周期的に変化するので、相手表示画像を、これ視るユーザに対して相手の話を聞くように視覚的に促すメッセージとして機能させることができる。
【0074】
このように、本実施形態によれば、自己表示画像として写真が選択され、又は相手表示画像として写真の画像データが送信された場合、モニタ装置10のチャット画面には、自己表示画像又は相手表示画像としてフレームが付加された写真の画像が表示される。
【0075】
また、自己表示画像としてアバターが選択されている場合、モニタ装置10のチャット画面には、そのユーザの音声の状態(ボイス・ディテクト値)に応じて変化するアバターが自己表示画像として表示される。
【0076】
また、相手表示画像としてアバターの画像データが送信された場合、モニタ装置10のチャット画面には、相手ユーザの音声の状態(ボイス・ディテクト値)に応じて変化するアバターが相手表示画像として表示される。
【0077】
従って、音声チャット中にユーザの興味をチャット画面に惹き付けることができる。
【0078】
[変形例]
<変形例1>
自己表示画像及び/又は相手表示画像の種別は、上記ビデオ画像とアバターと写真の三種類に限定されず、クライアント装置1に記憶された動画やクライアント装置1が実行しているゲーム画像など他の種別の画像であってもよく、これら他の種別の画像を自己表示画像及び/又は相手表示画像として表示する際に、その種別に応じた描画処理を加えてもよい。例えば、動画を自己表示画像及び/又は相手表示画像として使用する場合には、上記写真の場合と同様に、自己表示画像及び/又は相手表示画像(動画)の周囲に枠状のフレームを加えてもよく、動画の場合に加えるフレームを写真の場合と異なる態様に設定してもよい。また、ゲーム画像を自己表示画像及び/又は相手表示画像として使用する場合には、ゲームを実行しながら会話を行っている旨を話し相手に知らせる表記(例えば「ゲーム中」などの文字)を、ゲーム画像の一部(例えば上部)に描画してもよい。
【0079】
<変形例2>
図11の処理(ステップS1〜ステップS7)の実行頻度と自己表示画像や相手表示画像の画像サイズの変化速度とのバランスが適正でない場合、画像サイズがほとんど変化しなくなってしまう可能性が生じる。例えば、相手表示画像としてアバターを表示する場合において、ボイス・ディテクト値が「9」以上に継続して維持され、既にアルファ値が100%に達しており、現在の画像サイズが100%であると、画像データパケットを受信することによって目標画像サイズとして70%が設定され(ステップS5)、アバターの画像が徐々に縮小する。このとき、アバターの画像がほとんど縮小していないタイミングで次の画像データパケットを受信すると、画像サイズが100%ではないと判定され(ステップS4:No)、目標画像サイズとして100%が設定され(ステップS6)、アバターの画像が目標画像サイズ70%に達することなく僅かに縮小した後に拡大してしまう。このような不都合を解消するため、ステップS5の処理において、アバターの画像が拡大されている途中か否かを判定し、拡大されている途中であれば、目標画像サイズを70%に変更せずに100%のまま維持してもよい。また、同様に、ステップS6の処理において、アバターの画像が縮小されている途中か否かを判定し、縮小されている途中であれば、目標画像サイズを100%に変更せずに70%のまま維持してもよい。
【0080】
<変形例3>
図11のステップS1の処理では、ボイス・ディテクト値が単発的に1回だけ「9」以上と判定された場合であっても、ステップS2に処理が移行するため、ユーザの発話以外の突発的な音(ノイズ)がマイクロフォン12に入力された場合であっても、アバターの表示が変化してしまう可能性が生じる。このような不都合を解消するため、ステップS1の処理において、「9」以上のボイス・ディテクト値が所定回数(例えば4回)連続した場合にのみステップS2へ移行させ、直前の連続する所定回数に「9」未満のボイス・ディテクト値が含まれている場合には、ステップS7へ移行させてもよい。
【0081】
<変形例4>
図11のステップS1の処理では、ボイス・ディテクト値が単発的に1回だけ「9」未満と判定された場合であっても、ステップS7に処理が移行するため、ユーザの発話が一瞬とぎれた場合であっても、アバターの表示が変化してしまう可能性が生じる。このような不都合を解消するため、ステップS1の処理において、「9」未満のボイス・ディテクト値が所定回数(例えば4回)連続した場合にステップS7へ移行させ、直前の連続する所定回数に「9」以上のボイス・ディテクト値が含まれている場合には、ステップS2へ移行させてもよい。
【0082】
<変形例5>
図11のステップS2の処理では、現在のアルファ値が100%か否かを判定しているため、アルファ値が100%に達するまでの間は、画像サイズが変更されない。このため、ユーザが発話を開始してからアバターの画像サイズが変更される(拡大する)までに時間を要してしまう可能性が生じる。このような不都合を解消するため、ステップS2での判断基準となるアルファ値の値を100%未満(例えば90%)に設定してもよい。
【0083】
<変形例6>
上記実施形態のマイクロフォン12はモノラルタイプであり、音声データとともにクライアント装置1に入力するボイス・ディテクト値は1つであるが、例えばステレオタイプのマイクロフォンを使用した場合のように、音声データとともに入力するボイス・ディテクト値が複数(例えば2つ)であってもよい。この場合、図11のステップS1の処理において、複数のボイス・ディテクト値のうち1つでも「9」以上である場合にステップS2に移行させてもよく、また、所定値以上が「9」以上である場合にステップS2に移行させてもよい。
【0084】
<変形例7>
左右双方のボイス・ディテクト値をそれぞれ検知して音声データとともにクライアント装置1に入力するステレオタイプのマイクロフォンを使用した場合において、例えば、自己表示画像及び/又は相手表示画像がアバターであるとき、左右のボイス・ディテクト値の大小を判定し、チャット画面上でボイス・ディテクト値が大きい方に向かってアバターを移動させてもよい。この場合、両者の差が大きいほど、移動量や移動速度を大きく設定してもよい。
【0085】
上述の各実施の形態の説明は本発明の一例である。このため、本発明は上述の各実施の形態に限定されることはなく、本発明に係る技術的思想を逸脱しない範囲であれば、上述の実施の形態以外であっても種々の変更が可能であることは勿論である。
【産業上の利用可能性】
【0086】
本発明は、所定の通信グループに属する複数の通信装置間で相互に画像データ及び音声データを送受信する通信システムに用いて好適である。
【図面の簡単な説明】
【0087】
【図1】本発明の一実施形態に係るAVチャットシステムの概要を示す図である。
【図2】クライアント装置の構成のうち本発明に関連する主要な構成を示すブロック図である。
【図3】図2の構成が実装されたクライアント装置の内部回路の一例を示すブロック図である。
【図4】同実施形態に係るサーバ装置の内部構成を示すブロック図である。
【図5】同実施形態に係るメニュー画面を例示する図である。
【図6】同実施形態に係るメッセージを例示する図である。
【図7】同実施形態に係るメッセージを例示する図である。
【図8】同実施形態に係るチャット画面を例示する図である。
【図9】同実施形態に係るチャット画面を例示する図である。
【図10】同実施形態に係るチャット画面を例示する図である。
【図11】同実施形態に係る描画処理を示すフローチャートである。
【符号の説明】
【0088】
1・・・クライアント装置、2・・・サーバ装置、10・・・モニタ装置、11・・・ビデオカメラ、12・・・マイクロフォン、13・・・通信パケット受信部、14・・・音声関連情報処理部、15・・・画像関連情報処理部、16・・・入力音声情報記憶部、17・・・画像種別情報記憶部、18・・・テクスチャ処理部、20・・・コントローラ、30・・・インターネット、41・・・CPU、43・・・メインメモリ、62・・・GPU、200・・・CPU、210・・・ROM、220・・・RAM、230・・・HDD、240・・・通信部、SYM・・・AVチャットシステム
【技術分野】
【0001】
本発明は、複数の通信装置間で画像データ及び音声データを送受信する通信システムに用いて好適な技術に関する。
【背景技術】
【0002】
ネットワークに接続される複数の端末装置間において、各ユーザのアバターの識別情報と当該識別情報に関連付けた音声データとを双方向に送受信することにより、各ユーザのアバターの画像を各端末装置の表示画面に表示させながら音声チャットによって会話を行うシステムが知られている。
【0003】
【特許文献1】特開2003−6132号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、上記システムでは、音声チャット中において、各端末装置の表示画面にはアバターの静止画像が表示されるだけであり、表示画面の状態が自ずと単調となってしまう。
【0005】
本発明は上述の課題に鑑みてなされたものであり、音声チャット中に、ユーザの興味を惹き付ける画像を表示することが可能な通信システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、ネットワークに接続される第1及び第2の通信装置を含む通信システムである。第1の通信装置は、音入力手段と送信手段とを有する。送信手段は、第1の通信装置のユーザを表す画像データと、音入力手段により入力された音声に応じた音声データと、画像データの種別を示す画像種別情報とを、第2の通信装置に送信する。第2の通信装置は、受信手段と表示制御手段と音声出力制御手段とを有する。受信手段は、第1の通信装置から送信された画像データと音声データと画像種別情報とを受信する。表示制御手段は、受信した画像データに応じた画像を表示手段に表示する。音声出力制御手段は、受信した音声データによって表される音声を音声出力手段から出力する。表示制御手段は、受信した画像種別情報が所定の画像を示す情報であるとき、画像データに応じた画像に所定の描画処理を施して表示手段に表示する。
【発明の効果】
【0007】
本発明によれば、音声チャット中に、ユーザの興味を惹き付ける画像を表示することができる。
【発明を実施するための最良の形態】
【0008】
以下、図面を参照して本発明の実施形態について説明する。なお、各図において共通する部分には、同一の符号が付されている。また、かかる実施形態は本発明の一態様を示すものであり、この発明を限定するものではなく、本発明の範囲で任意に変更可能である。
【0009】
[実施形態]
(1)構成
<AV(Audio Visual)チャットシステムの構成>
図1は、本実施形態に係るAVチャットシステムの概要を示す模式図である。AVチャットシステムSYMは、複数のクライアント装置1A,1B,1Cと、サーバ装置2とを備える。サーバ装置2と、クライアント装置1の各々とは、インターネット30を介して、データ通信を行う。また、複数のクライアント装置1A,1B,1Cは、各々とP2P(peer-to-peer)で通信する。なお、これらのクライアント装置1A,1B,1Cの各ユーザを、ユーザA,B,Cとする。以降、クライアント装置1A,1B,1Cについて、区別して記載する必要がない場合には、単に、クライアント装置1と記載する。また、各クライアント装置を区別して記載する必要があり、各クライアント装置の各構成要素について区別して記載する必要がある場合には、各々符号の後ろにA,B,Cを付記する。
【0010】
各クライアント装置1には、コントローラ20と、モニタ装置10と、ビデオカメラ11と、マイクロフォン12とが各々図示しない接続ケーブルを介して接続される。コントローラ20は、ユーザにより操作される操作端末であり、ユーザの操作に応じた操作信号をクライアント装置1に供給する。ビデオカメラ11は、撮像した映像に応じた映像信号をクライアント装置1に供給する。マイクロフォン12は、入力された音声に応じた音声信号をクライアント装置1に供給する。モニタ装置10には、クライアント装置1から映像信号が供給される。
【0011】
モニタ装置10は、クライアント装置1から供給された映像信号に基づいて画像を表示する。AVチャットの実行中にモニタ装置10に表示される画像は、自己を表す画像(以下、自己表示画像と称する)と会話の相手を表す画像(以下、相手表示画像と称する)とを含む。例えば、クライアント装置1AのユーザAとクライアント装置1BのユーザBとがAVチャットを行う場合、モニタ装置10Aには、自己表示画像としてユーザAを表す画像が表示され、相手表示画像としてユーザBを表す画像が表示される。同様に、モニタ装置10Bには、自己表示画像としてユーザBを表す画像が表示され、相手表示画像としてユーザAを表す画像が表示される。
【0012】
各クライアント装置1において、自己表示画像の種別(タイプ)は、予め設定された複数の種別の中から各ユーザによって選択され指定される。各クライアント装置1は、ユーザから指定され設定された種別の画像を、自己表示画像としてモニタ装置10に表示する。ユーザが指定可能な画像の種別は、ビデオカメラ11からの映像信号に応じた画像(ビデオ画像)と、ユーザを象徴する画像として予め記憶されたアバターと、予め撮像されて記憶された写真(フォト)の3種類である。なお、ユーザが指定可能な画像として、例えばユーザが予め撮像して記憶させた映像など上記以外の種別の画像を含めてもよい。
【0013】
上記構成のAVチャットシステムSYMにおいて、AVチャットに参加するユーザのクライアント装置1は、それぞれパケット化された画像データパケット(画像関連情報)と音声データパケット(音声関連情報)とを、それぞれチャットストリーミングデータとして、所定のタイミングでAVチャットに参加する他のクライアント装置1に逐次送信する。
【0014】
画像データパケットには、各クライアント装置1のユーザが自己表示画像として指定した画像のデータ(画像データ)と、ユーザが自己表示画像に指定した画像データの種別を示す画像種別情報と、ユーザを特定するユーザ情報とが含まれる。各ユーザが自己表示画像に指定可能な画像データの種別は、上述のようにビデオの画像データとアバターの画像データと写真の画像データの3種類である。
【0015】
音声データパケットを受信したクライアント装置1は、受信した音声データパケットに含まれる画像データを用いて、モニタ装置10の所定の領域に相手表示画像を表示させる。ここで、音声データパケットに含まれる画像データのデータ構造は、全ての種別の画像データにおいて同一であり共通する。すなわち、ビデオの画像データとアバターの画像データと写真の画像データとは、共通するデータ構造を有する。このようなデータ構造の共通化により、クライアント装置1は、相手表示画像として何れの種別の画像データを受信した場合であっても、その種別によらず、共通の描画処理を実行することによって、モニタ装置10の所定の領域に相手表示画像を表示させることができる。従って、上記画像データのデータ構造の共通化は、クライアント装置1における基本的な描画処理(画像処理)の共通化に寄与する。
【0016】
また、音声データパケットを受信したクライアント装置1は、受信した音声データパケットに含まれる画像種別情報によって、受信した画像データの種別を判定し、その種別に応じた描画処理を、上記基本的な描画処理に適宜加える。すなわち、上述のように画像データのデータ構造が共通化されていると、クライアント装置1では、他のクライアント装置1から受信した画像データによってその画像データの種別を判別することはできないが、画像データと画像種別情報とが関連付けられた状態で送信されるので、この画像種別情報によって画像データの種別が判定可能となり、画像種別情報が写真を示す画像データの場合、相手表示画像(写真)の周囲に枠状のフレームを加える描画処理を、上記基本的な描画処理に加える。また、画像種別情報がアバターを示す画像データの場合、相手表示画像(アバター)の状態(透明度及びサイズ)を後述する音声レベル情報に応じて変化させる描画処理を、上記基本的な描画処理に加える。また、画像種別情報がビデオ画像を示す画像データの場合、特に特別な描画処理を加えずに上記基本的な描画処理を実行する。
【0017】
これにより、画像データのデータ構造の共通化及びクライアント装置1における基本的な描画処理の共通化を維持しつつ、画像データの種別に応じて差別化された相手表示画像をモニタ装置10に表示させて、ユーザの興味をモニタ装置10に惹き付けることが可能となる。
【0018】
音声データパケットには、マイクロフォン12からの音声に応じた音声データと、上記ユーザ情報と、ボイス・ディテクト値を表す音声レベル情報とが含まれる。ボイス・ディテクト値とは、マイクロフォン12に入力された音声の相対的な音声レベルを10段階(1〜10)で表した評価値であり、入力された音声の変動が大きいほど大きい値(10に近い値)を示す。マイクロフォン12は、入力された音声レベルに応じたボイス・ディテクト値を検知して、音声データとともに出力する。また、クライアント装置1は、AVチャットに参加している他のユーザのクライアント装置1からインターネット30を介してそれぞれ送信されたチャットストリーミングデータ(画像データパケット及び音声データパケット)を個別に受信する。
【0019】
<クライアント装置の主要構成>
次に、図2を参照しながら、クライアント装置の構成のうち本発明に関連する主要な構成について説明する。図2は、クライアント装置の構成のうち本発明に関連する主要な構成を示すブロック図である。
【0020】
クライアント装置1は、通信パケット受信部13と音声関連情報処理部14と画像関連情報処理部15と入力音声情報記憶部16と画像種別情報記憶部17とテクスチャ処理部18とを有する。
【0021】
通信パケット送受信部13は、AVチャットに参加するユーザのクライアント装置1から送信された音声データパケットを受信し、受信した音声データパケットを音声関連情報処理部14へ出力する。また、通信パケット送受信部13は、AVチャットに参加するユーザのクライアント装置1から送信された画像データパケットを受信し、受信した画像データパケットを画像関連情報処理部15へ出力する。
【0022】
音声関連情報処理部14は、通信パケット受信部13から入力された音声データパケットに含まれる音声レベル情報(ボイス・ディテクト値)を、テクスチャ処理部18へ出力するとともに、入力音声情報記憶部16に更新して記憶する。
画像関連情報処理部15は、通信パケット受信部13から入力された画像データパケットに含まれる画像データを、テクスチャ処理部18へ出力するとともに、当該画像データパケットに含まれる画像種別情報を、画像種別情報記憶部17に更新して記憶する。
【0023】
テクスチャ処理部18は、AVチャットの実行中にモニタ装置10に表示するためのチャット画像(テクスチャ)を描画する。チャット画像は、自己表示画像と相手表示画像とを含む。
【0024】
自己表示画像は、各クライアント装置1にそれぞれ設定された種別の画像である。例えば、クライアント装置1Aにおいて、自己表示画像としてビデオカメラ11Aの映像が選択され設定されている場合、クライアント装置1Aのテクスチャ処理部18は、ビデオカメラ11Aから入力された映像を自己表示画像として描画する。また、自己表示画像としてクライアント装置1Aに予め記憶されたアバター又は写真が選択されている場合、クライアント装置1Aのテクスチャ処理部18は、選択されたアバター又は写真を読み出して、自己表示画像として描画する。
【0025】
一方、相手表示画像は、通信パケット受信部13が受信して画像関連情報処理部15から入力された画像データに基づいて描画される。例えば、クライアント装置1AのユーザAとクライアント装置1BのユーザBとがAVチャットを行う場合、クライアント装置1Aのテクスチャ処理部18は、通信パケット受信部13が受信した情報のうちユーザBを特定するユーザ情報を含む画像データパケットの画像データに基づいて、ユーザBを表す相手表示画像を描画する。ユーザBを特定するユーザ情報を含む画像データパケットの画像データがビデオの画像データの場合、ビデオカメラ11Bが撮影したユーザBの映像が相手表示画像として描画され、アバターの画像データの場合、ユーザBがクライアント装置1Bにおいて選択したアバターが相手表示画像として描画され、写真の画像データの場合、ユーザBがクライアント装置1Bにおいて選択した写真が相手表示画像として描画される。
【0026】
また、テクスチャ処理部18は、相手表示画像を描画する際に、画像データの種別によらずに共通する上記基本的な描画処理に加えて、画像種別情報記憶部17から相手表示画像の種別を示す画像種別情報を読み出し、読み出した画像種別情報に応じた描画処理を適宜実行する。なお、画像種別情報記憶部17を設けず、画像関連情報処理部15から直接入力された画像種別情報に基づいて画像データの種別を判定してもよい。
【0027】
例えば、画像種別情報記憶部17から読み出した画像種別情報が写真である場合、相手表示画像(写真)の周囲に枠状のフレームを加える処理を行う。
【0028】
また、画像種別情報記憶部17から読み出した画像種別情報がアバターである場合、入力音声情報記憶部16から音声レベル情報(ボイス・ディテクト値)を読み出し、読み出したボイス・ディテクト値に応じて相手表示画像(アバター)の状態(透明度及びサイズ)を変化させる処理を行う。具体的には、ボイス・ディテクト値が「9」以上か未満かを判定し、「9」以上の場合には、現在のアルファ値が100%か否かを判定し、現在のアルファ値が100%ではない(100%未満である)の場合、目標アルファ値を100%に設定する。また、現在のアルファ値が100%の場合には、さらに現在の画像サイズが100%か否かを判定し、画像サイズが100%の場合には、目標画像サイズを70%に設定し、画像サイズが100%未満の場合には、目標画像サイズを100%に設定する。一方、ボイス・ディテクト値が「9」未満の場合には、目標アルファ値を80%に設定し、且つ目標画像サイズを70%に設定する。なお、テクスチャ処理部18は、音声関連情報処理部14から直接入力されたボイス・ディテクト値に応じて相手表示画像を描画してもよい。
【0029】
アルファ値とは、透明度(半透明度)の比率を表す値であり、0%から100%の間の実数値で表される。アルファ値が100%の場合は完全に不透明な状態となり、反対に0%の場合は完全に透明な状態となる。例えば、アバターの画像データがアバター単体の画像データとその背景の画像データとを含む場合、アバター単体を描画する際に、アバター単体の色と背景色とがアルファ値に応じてブレンドされる。
【0030】
テクスチャ処理部18は、目標アルファ値及び目標画像サイズを設定すると、予め記憶されたアニメーションプログラムに従って、アバターの画像が目標アルファ値や目標画像サイズに徐々に近づくように描画処理を行う(目標アルファ値や目標画像サイズに近づくように、アルファ値や画像サイズを徐々に変化させる)。なお、現在のアルファ値が既に目標アルファ値である場合には、そのアルファ値を維持し、現在の画像サイズが既に目標画像サイズである場合には、その画像サイズを維持する。
【0031】
例えば、クライアント装置1AのユーザAとクライアント装置1BのユーザBとがAVチャットを行う場合において、ユーザBが話すことによってボイス・ディテクト値が「9」以上である入力音声情報がクライアント装置1Bからクライアント装置1Aに送信されると、クライアント装置1Aの音声関連情報処理部14は、当該入力音声情報を入力音声情報記憶部16に記憶し、テクスチャ処理部18は、当該入力音声情報を入力音声情報記憶部16から読み出し、目標アルファ値を100%に設定し、完全に不透明なアバターをユーザBに対応した相手表示画像として描画する。また、ユーザBが継続して話すことによってボイス・ディテクト値が「9」以上である入力音声情報が継続してクライアント装置1Bからクライアント装置1Aに送信されると、クライアント装置1Aの音声関連情報処理部14は、当該入力音声情報を入力音声情報記憶部16に記憶し、テクスチャ処理部18は、当該入力音声情報を入力音声情報記憶部16から読み出し、現在の画像サイズが100%の場合には目標画像サイズを70%に設定し、現在の画像サイズが100%未満の場合には目標画像サイズを70%に設定する。これにより、ユーザBが継続して話すことによってボイス・ディテクト値が「9」以上である入力音声情報が継続してクライアント装置1Bからクライアント装置1Aに送信されると、クライアント装置1Aのテクスチャ処理部18は、完全に不透明な状態で、画像サイズが70%から100%の間で拡大と縮小を繰り返すアバターをユーザBに対応した相手表示画像として描画する。
【0032】
一方、ユーザBが黙ることによってボイス・ディテクト値が「9」未満である入力音声情報がクライアント装置1Bからクライアント装置1Aに送信されると、クライアント装置1Aの音声関連情報処理部14は、当該入力音声情報を入力音声情報記憶部16に記憶し、テクスチャ処理部18は、当該入力音声情報を入力音声情報記憶部16から読み出し、目標アルファ値を80%に設定し、目標画像サイズを70%に設定し、半透明でサイズの小さいアバターをユーザBに対応した相手表示画像として描画する。
【0033】
また、テクスチャ処理部18は、自己表示画像を描画する際に、設定された種別が写真である場合には、上記相手表示画像を描画する場合と同様に、自己表示画像(写真)の周囲に枠状のフレームを加える処理を行う。また、設定された種別がアバターである場合にも、上記相手表示画像を描画する場合と同様に、ボイス・ディテクト値に応じて自己表示画像(アバター)の状態(透明度及びサイズ)を変化させる処理を行う。但し、自己表示画像を描画する場合には、当該クライアント装置1に接続されているマイクロフォン12から入力されたボイス・ディテクト値を用いてアバターの状態を変化させる。
【0034】
<クライアント装置の内部回路の一例>
次に、図3を参照しながら、上記図2の構成が実装されたクライアント装置の内部回路の一例について説明する。図3は、クライアント装置の内部回路の一例を示すブロック図である。
【0035】
中央演算処理装置(CPU:Central Processing Unit)41及びその周辺装置等からなる制御系40と、HDD(Hard Disc Drive)45と、フレームバッファ53に描画を行う画像処理装置(GPU:Graphics Processing Unit)52等からなるグラフィックシステム50と、楽音、効果音等を発生する音声処理装置(SPU:Sound Processing Unit)61等からなるサウンドシステム60と、アプリケーションプログラムが記録されている光ディスクの制御を行う光ディスク制御部70と、通信部80と、インターフェース部90と、上記の各部が接続されているバス等を備えて構成されている。CPU41は音声関連情報処理部14及び画像関連情報処理部15として機能し、GPU52はテクスチャ処理部18として機能し、通信部80は通信パケット受信部13として機能する。
【0036】
制御系40は、CPU41と、割り込み制御やダイレクトメモリアクセス(DMA:Direct Memory Access)転送の制御等を行う周辺装置制御部42と、RAM(Random Access Memory)からなるメインメモリ43と、ROM(Read Only Memory)44とを備えている。メインメモリ43は入力音声情報記憶部16及び画像種別情報記憶部17として機能する。
【0037】
ROM44には、クライアント装置1の各部を制御するためのオペレーティングシステム等のプログラムや、各種機能を実現させるためのアプリケーションプログラムが記憶されている。CPU41は、ROM44に記憶されているオペレーティングシステムをメインメモリ43に読み出し、読み出したオペレーティングシステムを実行することにより、このクライアント装置1の全体を制御する。
【0038】
HDD45には、各種データや、AVチャットを実現させるためのプログラム(以下、AVチャットプログラムと称する)などの各種アプリケーションプログラムが記憶されている。また、HDD45には、自己表示画像として選択可能なアバターや写真の画像データが記憶される。AVチャットプログラムには、自己表示画像や相手表示画像としてアバターを描画する際のアニメーションプログラムが含まれる。CPU41は、HDD45に記憶されているAVチャットプログラムをメインメモリ43に読み出し、読み出したAVチャットプログラムを実行する。これにより実現される機能については、後述の動作欄において説明する。
【0039】
サウンドシステム60は、制御系40の制御の下、音声信号を制御するSPU61と、音声再生の際の波形データ等が記録されるサウンドバッファ62と、SPU61によって発生される楽音、効果音等を出力するスピーカ63とを備えている。サウンドシステム60には、マイクロフォン12から出力された音声信号とボイス・ディテクト値とが入力される。サウンドシステム60は、入力された音声信号をデジタル変換し、音声コーデックにより符号化して通信部80に供給する。また、サウンドシステム60には、インターネット30を介して取得された音声データが、通信部80から供給される。サウンドシステム60は、当該音声データを音声コーデックにより復号し、アナログ変換して波形データを生成し、これをサウンドバッファ62に記録し、これをスピーカ63に供給する。
【0040】
光ディスク制御部70は、光ディスクに記録されたプログラムやデータ等を再生する光ディスク装置71と、例えばエラー訂正符号(ECC:Error Correction Code)が付加されて記録されているプログラム、データ等を復号するデコーダ72と、光ディスク装置71からのデータを一時的に記憶することにより、光ディスクからのデータの読み出しを高速化するバッファ73とを備えている。上記のデコーダ72には、サブCPU74が接続されている。
【0041】
インターフェース部90は、パラレルI/Oインターフェース(PIO)91と、シリアルI/Oインターフェース(SIO)92とを備えている。これらは、図示しないメモリカードとクライアント装置1とを接続するためのインターフェースである。
【0042】
グラフィックシステム50は、ジオメトリトランスファエンジン(GTE:Geometry Transfer Engine)51と、GPU52と、フレームバッファ53と、画像エンコーダ・デコーダ54とを備えている。
【0043】
GTE51は、例えば複数の演算を並列に実行する並列演算機構を備え、上記CPU41からの演算要求に応じて座標変換、光源計算、行列あるいはベクトルなどの演算を高速に行う。そして、制御系40は、GTE51による演算結果に基づいて三角形や四角形などの基本的な単位図形(ポリゴン)の組み合わせとして3次元モデルを定義して3次元画像を描画するための各ポリゴンに対応する描画命令をGPU52に送る。
【0044】
GPU52は、制御系40からの描画命令に従って、フレームバッファ53に対して多角形(ポリゴン)等の描画を行う。フレームバッファ53は、GPU52により描画された画像を記憶する。このフレームバッファ53は、いわゆるデュアルポートRAMからなり、GPU52からの描画あるいはメインメモリ43からの転送と、表示のための読み出しとを同時に行うことができる。また、このフレームバッファ53には、ビデオ出力として出力される表示領域の他に、GPU52がポリゴン等の描画を行う際に参照するカラールックアップテーブル(CLUT:Color Lock Up Table)が記憶されるCLUT領域と、描画時に座標変換されてGPU52によって描画されるポリゴン等の中に挿入(マッピング)される素材(テクスチャ)が記憶されるテクスチャ領域が設けられている。これらのCLUT領域とテクスチャ領域は、表示領域の変更等に従って動的に変更される。
【0045】
画像エンコーダ・デコーダ54は、上記の制御系40からの制御により、静止画あるいは動画の画像の符号化及び復号化や、デジタル変換及びアナログ変換などの各種処理を行う。
【0046】
このグラフィックシステム50には、制御系40がHDD45から読み出したアバター又は写真の画像データやビデオカメラ11からの映像信号が供給される。自己表示画像としてビデオ画像が選択され設定されている場合、グラフィックシステム50は、この映像信号をデジタル変換し、映像コーデックにより符号化(圧縮)して、通信部80に供給する。また、デジタル変換した映像信号をモニタ装置10に供給する。また、自己表示画像としてアバター又は写真が選択され設定されている場合、グラフィックシステム50は、HDD45から読み出されたアバター又は写真の画像データを、上記と同様に映像コーデックにより符号化して通信部80に供給するとともに、モニタ装置10に供給する。このとき、自己表示画像として写真が設定されている場合には、メインメモリ43から読み出された画像データに上記フレームを描画する処理を施してモニタ装置10に供給する。また、自己表示画像としてアバターが設定されている場合には、メインメモリ43から読み出された画像データに上記ボイス・ディテクト値に応じた処理を施してモニタ装置10に供給する。なお、アバター又は写真の画像データの通信部80への供給は、グラフィックシステム50ではなく制御系40が行ってもよい。さらに、グラフィックシステム50には、インターネット30を介して取得された画像データが通信部80から供給され、グラフィックシステム50は、この画像データをモニタ装置10に供給する。なお、通信部80から供給された画像データが映像コーデックにより符号化(圧縮)されている場合、グラフィックシステム50は、供給された画像データを映像コーデックにより復号(伸長)し、これをアナログ変換して、モニタ装置10に供給する。また、画像データの種別が写真の場合には、画像データに上記フレームを描画する処理を施してモニタ装置10に供給する。また、画像データの種別がアバターの場合には、画像データに上記ボイス・ディテクト値に応じた処理を施してモニタ装置10に供給する。
【0047】
通信部80は、制御系40の制御の下、インターネット30を介して他の情報処理装置とのデータ通信を制御する。通信部80は、HDD45やグラフィックシステム50(ビデオカメラ11)から供給された自己表示画像である画像データと、画像データの種別を示す画像種別情報と、ユーザを特定するユーザ情報とをパケット化して画像データパケットを生成し、生成した画像データパケットをチャットストリーミングデータとしてインターネット30を介して、AVチャットに参加している他のクライアント装置1へ送信する。また、通信部80は、サウンドシステム60(マイクロフォン12)から供給された音声データ及びボイス・ディテクト値と、ユーザを特定するユーザ情報とをパケット化して音声データパケットを生成し、生成した音声データパケットをチャットストリーミングデータとしてインターネット30を介して、AVチャットに参加している他のクライアント装置1へ送信する。また、通信部80は、AVチャットに参加している他のクライアント装置1からインターネット30を介して送信されたチャットストリーミングデータ(画像データパケット及び音声データパケット)を受信し、画像データをグラフィックシステム50へ供給し、音声データをサウンドシステム60へ供給する。また、通信部80が画像データパケットを受信すると、CPU41は、画像データパケットに含まれるユーザ情報と画像種別情報とを対応付けた状態でメインメモリ43に記憶する。また、通信部80が音声データパケットを受信すると、CPU41は、音声データパケットに含まれるユーザ情報と音声レベル情報(ボイス・ディテクト値)とを対応付けた状態でメインメモリ43に記憶する。
【0048】
<サーバ装置の構成>
次に、図4を参照しながら、サーバ装置の主要な内部構成について説明する。図4は、サーバ装置の主要な内部構成を示すブロック図である。
【0049】
サーバ装置2は、CPU200と、ROM210と、RAM220と、HDD(Hard Disc Drive)230と、通信部240とから構成され、これらはバスを介して接続される。
【0050】
ROM210には、サーバ装置2の各部を制御するためのオペレーティングシステムや各種プログラムが記憶されている。CPU200は、サーバ装置2の起動時にROM210に記憶されているオペレーティングシステムをRAM210に読み出し、読み出したオペレーティングシステムを実行することにより、サーバ装置2の各部の動作を制御する。
【0051】
通信部240は、CPU200の制御の下、インターネット30を介したデータ通信を制御する。
【0052】
HDD230には、フレンド管理テーブル230aが記憶されている。フレンド管理テーブル230aには、AVチャットシステムSYMを利用可能なユーザのユーザ情報が、フレンド情報と対応付けられて記憶されている。なお、ユーザが、AVチャットシステムSYMを利用するための所定の手続きを予め行うことにより、当該ユーザのユーザ情報がフレンド管理テーブル230aに記憶される。ここでは、クライアント装置1A,1B,1Cの各ユーザA,B,Cのユーザ情報が予めフレンド管理テーブル230aに記憶されているものとする。ユーザ情報は、ユーザを識別するための情報であり、例えば、ユーザを一意に識別するためのユーザID、ユーザのメールアドレス、ユーザのニックネーム、ユーザによって選択されたアバターなどの情報を含む。フレンド情報は、ユーザによって友達の登録が予めなされた他のユーザを示すものであり、他のユーザの各ユーザ情報が示される。友達の登録は、例えば以下のようになされる。クライアント装置1のユーザがコントローラ20を介して所定の操作を行うと、当該クライアント装置1が、サーバ装置2と、友達として登録する他のユーザのクライアント装置1との間でデータ通信を行い、当該他のユーザのクライアント装置1から登録を許可する旨のデータを受信することにより、当該他のユーザのユーザ情報がフレンド情報として登録される。
【0053】
(2)動作
次に、本実施形態に係る動作について説明する。
【0054】
なお、クライアント装置1の図示しない電源が投入され、ROM44に記憶されたオペレーティングシステムなどのプログラムがCPU41によってメインメモリ43に読み出されて実行され、ユーザによってそれぞれ指示が入力されることにより、ROM44や光ディスク装置71に装着された光ディスクからメインメモリ43に読み出された各種プログラムがCPU41によって実行され、上述の構成欄で述べた各種機能が実現される。
【0055】
また、サーバ装置2の図示しない電源が投入され、ROM210に記憶されたオペレーティングシステムなどのプログラムがCPU200によってRAM220に読み出されて実行され、ユーザによってそれぞれ指示が入力されることにより、RAM220に読み出されたゲーム制御プログラムなどの各種プログラムがCPU200によって実行され、上述の構成欄で述べた各種機能が実現される。
【0056】
なお、本実施形態においては、AVチャットシステムSYMに接続される複数のクライアント装置1のうち、マスタとなるクライアント装置1においてユーザがAVチャットの開始及び他のユーザの招待を指示し、当該他のユーザが他のクライアント装置1においてAVチャットへの参加の受け入れを指示すると、これらのクライアント装置1間でAVチャットが行われる。即ち、これらのクライアント装置1により、AVチャットを行う通信グループが形成される。なお、マスタは、参加者を招く権限を有する。ここでは、マスタとして選出されたクライアント装置1をクライアント装置1Aとする。
【0057】
<AVチャットの開始準備>
まず、ユーザAが、クライアント装置1Aに接続されたコントローラ20Aを操作して、メニュー画面を表示させると、CPU41Aは、通信部80Aを介してサーバ装置2にアクセスし、当該ユーザのユーザ情報に対応付けられて記憶されているフレンド情報を要求する旨のリクエストデータをサーバ装置2に送信する。このリクエストデータには、例えば、ユーザAのユーザID等の情報が含まれている。一方、サーバ装置2は、クライアント装置1Aから送信されたリクエストデータを受信すると、当該リクエストデータに従い、HDD230に記憶されているフレンド管理テーブル230aを参照して、ユーザAのユーザ情報に対応付けられているフレンド情報をクライアント装置1Aに送信する。クライアント装置1AのCPU41Aは、サーバ装置2から送信されたフレンド情報を受信すると、次いで、このフレンド情報を用いたメニュー画面の描画命令をグラフィックシステム50Aに対して行う。グラフィックシステム50Aが、当該描画命令に従い、メニュー画面の画像の描画を行う。CPU41Aは、描画されたメニュー画面の画像に応じた映像信号をモニタ装置10Aに供給する。この結果、モニタ装置10Aには、例えば図5に示されるようなメニュー画面MGが表示される。当該メニュー画面MGにおいては、AVチャットの機能を象徴するチャットアイコンIC1が表示され、当該チャットアイコンIC1の上下方向に、当該ユーザAによって予め登録されサーバ装置2から受信したフレンド情報が展開表示される。ここで表示されるフレンド情報は、例えば、友達として登録された他のユーザのアバターFR1や、ニックネームNM1などである。ユーザAが、コントローラ20Aを操作して、このフレンド情報の中からAVチャットを開始したい相手を選択し、更にコントローラ20Aを操作して、オプションメニューの表示を指示すると、メニュー画面MGの右方にオプションメニュー(図示せず)が表示される。更に、ユーザAが、コントローラ20Aを操作して、このオプションメニューに表示される指示内容から「AVチャットの開始」を選択して、AVチャットの開始を指示すると、CPU41Aは、AVチャットプログラムをHDD45Aからメインメモリ43Aに読み出し、これを実行させる。そして、CPU41Aは、ユーザにより選択されたフレンド情報を参照して、当該フレンド情報に対応するユーザに宛てた招待メッセージを生成し、これをモニタ装置10Aに表示させる。具体的には、例えば、招待メッセージの雛型がHDD45Aに予め記憶されており、CPU41Aは、HDD45Aに記憶された雛型の招待メッセージを読み出し、これに基づいて、フレンド情報によって示される情報を宛先として加えるなどして、招待メッセージを生成する。このように生成されモニタ装置10Aに表示される招待メッセージは、例えば図6に示される。
【0058】
ユーザAがコントローラ20を操作して、この招待メッセージの送信を決定指示すると、クライアント装置1Aは、サーバ装置2を介して、当該招待メッセージの宛先のユーザ(ここでは、ユーザBとする)のクライアント装置1(ここでは、クライアント装置1Bとする)へ当該招待メッセージを送信する。
【0059】
また、ユーザAがAVチャットを行う際の自己表示画像を選択する場合、コントローラ20Aを操作して、モニタ装置10Aに自己表示画像選択画面(図示せず)を表示させる。自己表示画像選択画面には、選択可能な自己表示画像群(ビデオ画像、アバター及び写真)が表示され、ユーザAがコントローラ20Aを操作して自己表示画像群の中から1つを特定して決定すると、クライアント装置1Aの自己表示画像とその種別が設定される。
【0060】
一方、クライアント装置1Aが送信した招待メッセージを受信したクライアント装置1Bは、当該招待メッセージをモニタ装置10Bに表示させる。モニタ装置10Bに表示される招待メッセージは、例えば図7に示される。ここで、当該クライアント装置1BのユーザBが、コントローラ20Bを操作して、AVチャットの参加を指示すると、当該クライアント装置1Bは、AVチャットプログラムをHDD45Bからメインメモリ43Bに読み出し、これを実行させる。そして、クライアント装置1Bは、クライアント装置1Aとの間で、接続性のチェックを行うため、接続確認用データをクライアント装置1Aに送信する。クライアント装置1Aは、クライアント装置1Bから送信された接続確認データを受信すると、当該データを受信した旨を示す接続応答データをクライアント装置1Bに送信する。
【0061】
クライアント装置1Bは、当該接続応答データを受信すると、クライアント装置1Aと接続可能であると判定し、AVチャットに参加する旨を示す参加応答データをクライアント装置1Aに送信する。なお、この参加応答データには、ユーザBのユーザIDなどが含まれる。
【0062】
なお、ユーザBがAVチャットを行う際の自己表示画像を選択する場合、ユーザAの場合と同様に、コントローラ20Bを操作して、モニタ装置10Bに自己表示画像選択画面(図示せず)を表示させる。自己表示画像選択画面には、選択可能な自己表示画像群(ビデオ画像、アバター及び写真)が表示され、ユーザBがコントローラ20Bを操作して自己表示画像群の中から1つを特定して決定すると、クライアント装置1Bの自己表示画像とその種別が設定される。
【0063】
次いで、クライアント装置1Aは、クライアント装置1Bから送信された結果応答データを受信すると、AVチャットの開始を指示する旨の開始指示データをクライアント装置1Bに送信する。また、クライアント装置1Aは、図8に示されるようなチャット画面CH1をモニタ装置10に表示させる。当該チャット画面CH1においては、クライアント装置1Aに設定された自己表示画像DA1を画面右方に表示させる。このとき、設定された自己表示画像がビデオ画像の場合には、クライアント装置1Aに接続されたビデオカメラ11Aから入力される映像信号に応じた映像を表示させ、アバターの場合には選択されたアバターの画像を表示させ、写真の場合には選択された写真の画像を表示させる。図8には、山の風景の写真が選択された場合を示す。画面左方には、上述のクライアント装置1Bから送信される画像データに応じた映像を表示させるため、クライアント装置1Bから画像データが送信されるのを待機する。また、クライアント装置1Aは、画像データパケットと音声データパケットとを通信部80Aを介してクライアント装置1Bに送信する。
【0064】
一方、クライアント装置1Bは、クライアント装置1Aから送信された開始指示データを受信すると、チャット画面をモニタ装置10Bに表示させる。当該チャット画面においては、クライアント装置1Bに設定された自己表示画像を画面右方に表示させる。画面左方には、上述のクライアント装置1Aから送信される画像データに応じた映像を表示させるため、クライアント装置1Aから画像データが送信されるのを待機する。また、クライアント装置1Bは、画像データパケットと音声データパケットとを通信部80Bを介してクライアント装置1Aに送信する。
【0065】
各クライアント装置1は、自装置に設定された自己表示画像をチャット画面右方に表示させ、他装置から送信された画像データによって表される相手表示画像をチャット画面の左方に表示させる。例えば、クライアント装置1Aにおいて自己表示画像として山の風景の写真が選択され、クライアント装置1Bにおいて自己表示画像としてアバターが選択された場合、モニタ装置10Aには、図9に示すように、右方に自己表示画像(山の風景の写真)DA1が配置され、左方に相手表示画像(アバター)DB1が配置されたチャット画面CH2が表示される。
【0066】
<自己表示画像及び相手表示画像の種別に応じた処理>
次に、自己表示画像及び相手表示画像の種別に応じた処理について説明する。
【0067】
クライアント装置1Aは、自装置に設定された自己表示画像の種別が写真の場合、図8に示すように、自己表示画像(写真)DA1の周囲にフレームFLを描画したチャット画面CH1をモニタ装置10Aに表示させる。また、AVチャットの相手であるクライアント装置1Bに設定された自己表示画像の種別が写真の場合、クライアント装置1Aは、クライアント装置1Bから写真を示す画像種別識別情報を受信し、相手表示画像(写真)の周囲にフレームを描画したチャット画面(図示せず)をモニタ装置10Aに表示させる。
【0068】
写真を自己表示画像又は相手表示画像としてモニタ装置10Aに表示する場合、クライアント装置1Aのグラフィックシステム50Aでは、以下の処理が実行される。まず、フレームバッファ53のテクスチャ領域に対して、HDD45から供給された自己表示画像の写真の画像データ又はクライアント装置1Bから受信した相手表示画像の写真の画像データに対応する画像が描画される。この画像は、チャット画面のうち自己表示画像又は相手表示画像の表示領域の全域に対応した大きさでテクスチャ領域に描画される。そして、テクスチャ領域に描画された画像は、チャット画面のうち自己表示画像又は相手表示画像の表示領域からフレームが描画される周囲の領域を除いた大きさに縮小されて、フレームバッファ53の表示領域にマッピングされ、且つ当該表示領域にフレームの画像がマッピングされる。これにより、表示領域において、縮小された写真の画像とフレームの画像とが合成される。
【0069】
また、クライアント装置1Aは、自装置に設定された自己表示画像の種別がアバターの場合、マイクロフォン12Aが検知したボイス・ディテクト値に応じて自己表示画像(アバター)の状態(透明度及びサイズ)が変化するチャット画面(図示せず)をモニタ装置10Aに表示させる。また、AVチャットの相手であるクライアント装置1Bに設定された自己表示画像の種別がアバターの場合、クライアント装置1Aは、クライアント装置1Bからアバターを示す画像種別識別情報とマイクロフォン12Bが検知したボイス・ディテクト値(音声レベル情報)を受信し、受信したボイス・ディテクト値に応じて相手表示画像(アバター)の状態(透明度及びサイズ)が変化するチャット画面(図9に示すCH2や図10に示すCH3)をモニタ装置10Aに表示させる。
【0070】
すなわち、図11に示すように、自己表示画像がアバターの場合及び/又は相手表示画像がアバターの場合、ボイス・ディテクト値が「9」以上か未満かを判定し(ステップS1)、「9」以上の場合(ステップS1:Yes)には、現在のアルファ値が100%か否かを判定し(ステップS2)、現在のアルファ値が100%ではない(100%未満である)場合(ステップS2:No)、目標アルファ値を100%に設定する(ステップS3)。また、現在のアルファ値が100%の場合(ステップS2:Yes)、さらに現在の画像サイズが100%か否かを判定し(ステップS4)、画像サイズが100%の場合(ステップS4:Yes)には、目標画像サイズを70%に設定し(ステップS5)、画像サイズが100%未満の場合(ステップS4:No)には、目標画像サイズを100%に設定する(ステップS6)。一方、ボイス・ディテクト値が「9」未満の場合(ステップS1:No)には、目標アルファ値を80%に設定し(ステップS7)、且つ目標画像サイズを70%に設定する(ステップS5)。目標アルファ値及び目標画像サイズを設定すると、予め記憶されたアニメーションプログラムに従って、アバターの画像が目標アルファ値及び目標画像サイズに徐々に近づくようにモニタ装置10に表示される。このアニメーションプログラムでは、現在表示している自己表示画像及び/又は相手表示画像の各アルファ値や各表示サイズを記憶しており、設定された目標アルファ値や目標表示サイズに達するまで、所定時間(例えば、750msec)かけて自己表示画像及び/又は相手表示画像を変化させる。このとき、アルファ値を上昇(増加)させる処理は画像サイズを変更する処理に優先して行われ、目標アルファ値に達した後に表示サイズの変更が開始される。一方、アルファ値を下降(減少)させる処理は、画像サイズを変更する処理と同時に並行して行われる。
【0071】
アバターを自己表示画像又は相手表示画像としてモニタ装置10Aに表示する場合、クライアント装置1Aのグラフィックシステム50Aでは、以下の処理が実行される。まず、フレームバッファ53のテクスチャ領域に対して、HDD45から供給された自己表示画像のアバターの画像データ又はクライアント装置1Bから受信した相手表示画像のアバターの画像データに対応する画像が描画される。この画像は、チャット画面のうち自己表示画像又は相手表示画像の表示領域の全域に対応した大きさ(画像サイズ)でテクスチャ領域に描画される。そして、テクスチャ領域に描画された画像は、設定された目標アルファ値及び/又は目標画像サイズに応じて濃度を減少する処理や画像サイズを縮小する処理が施されて、フレームバッファ53の表示領域にマッピングされる。ここで、アバターの画像データは、アバター単体(アバターのみ)の画像データだけではなくその背景の画像データをも含んでいるため、アバター単体とその背景とを含む全体のアバター画像を縮小して描画領域にマッピングしただけでは、全体のアバター画像のサイズがチャット画面における自己表示画像や相手表示画像の表示領域よりも小さくなり、周囲にブランクの領域が発生し、ユーザに違和感を与える可能性が生じる。このため、上記画像サイズの縮小処理では、フレームバッファ53の表示領域に予め背景色を描画しておき、その上から全体のアバター画像を縮小して描画する。これにより、上記ブランクの領域に必ず背景色が描画されるため、ユーザに違和感を与えることがない。また、上記濃度を減少する処理では、アバター単体の色と背景色とをアルファ値に応じて混合(ブレンド)する。
【0072】
例えば、クライアント装置1AのユーザAとクライアント装置1BのユーザBとがAVチャットを行う場合であって、クライアント装置1Bにおいて自己表示画像としてアバターが選択され、ボイス・ディテクト値が「9」以上である入力音声情報がクライアント装置1Bからクライアント装置1Aに継続して送信されると、アルファ値が100%に達するまでの間は、上記ステップS2において現在のアルファ値が100%ではないと継続して判定され、目標アルファ値が100%に維持される(ステップS3)。このため、モニタ装置10Aには、表示サイズが変わらずに当初の半透明の状態から徐々に濃くなって最終的に完全に不透明となるアバターが、ユーザBに対応した相手表示画像として表示される。さらに、ユーザBが発話を継続し、ボイス・ディテクト値が「9」以上である入力音声情報が継続してクライアント装置1Bからクライアント装置1Aに送信されると、現在の画像サイズが100%未満であれば目標画像サイズが100%に設定され、画像サイズが既に100%に達していると目標画像サイズが70%に設定されるので、図9に示すように、モニタ装置10Aのチャット画面CH2には、完全に不透明な状態で画像サイズが70%(図9に実線で示す)から100%(図9に二点鎖線で示す)の間で拡大と縮小を繰り返すアバターDB1がユーザBに対応した相手表示画像として描画される。また、ユーザBが黙ることによってボイス・ディテクト値が「9」未満である入力音声情報がクライアント装置1Bからクライアント装置1Aに継続して送信されると、目標アルファ値が80%に設定され、図10に示すように、モニタ装置10Aのチャット画面CH3には、画像サイズが70%まで徐々に小さくなり且つアルファ値が80%となるまで徐々に半透明となるアバターDB1がユーザBに対応した相手表示画像として表示される。このため、自己表示画像及び/又は相手表示画像がアバターである場合、AVチャット開始時のチャット画面には、画像サイズが70%でアルファ値が80%のアバターが表示される。なお、図示を簡略化するため、図9及び図10には、三角形の図形がアバターとして選択された場合を例示している。
【0073】
従って、相手表示画像がアバターの場合、表示されたアバターの状態を視ることによって、相手が話しているか黙っているかを認識することができる。また、相手の発話に伴って先ずアルファ値が変化し、アルファ値が目標アルファ値に達した後に、次いで画像サイズが変化するようにアバターの画像が表示されるので、発話以外の突発的な音(ノイズ)が相手のマイクロフォン12に入力された場合であっても、アルファ値が目標アルファ値に達するまでの間はアルファ値が変化するだけであり、画像サイズはそのまま維持されるので、相手表示画像を視るユーザに対して与える違和感を最小限に抑えることができる。さらに、話し相手が発話を継続している場合、相手表示画像の画像サイズが周期的に変化するので、相手表示画像を、これ視るユーザに対して相手の話を聞くように視覚的に促すメッセージとして機能させることができる。
【0074】
このように、本実施形態によれば、自己表示画像として写真が選択され、又は相手表示画像として写真の画像データが送信された場合、モニタ装置10のチャット画面には、自己表示画像又は相手表示画像としてフレームが付加された写真の画像が表示される。
【0075】
また、自己表示画像としてアバターが選択されている場合、モニタ装置10のチャット画面には、そのユーザの音声の状態(ボイス・ディテクト値)に応じて変化するアバターが自己表示画像として表示される。
【0076】
また、相手表示画像としてアバターの画像データが送信された場合、モニタ装置10のチャット画面には、相手ユーザの音声の状態(ボイス・ディテクト値)に応じて変化するアバターが相手表示画像として表示される。
【0077】
従って、音声チャット中にユーザの興味をチャット画面に惹き付けることができる。
【0078】
[変形例]
<変形例1>
自己表示画像及び/又は相手表示画像の種別は、上記ビデオ画像とアバターと写真の三種類に限定されず、クライアント装置1に記憶された動画やクライアント装置1が実行しているゲーム画像など他の種別の画像であってもよく、これら他の種別の画像を自己表示画像及び/又は相手表示画像として表示する際に、その種別に応じた描画処理を加えてもよい。例えば、動画を自己表示画像及び/又は相手表示画像として使用する場合には、上記写真の場合と同様に、自己表示画像及び/又は相手表示画像(動画)の周囲に枠状のフレームを加えてもよく、動画の場合に加えるフレームを写真の場合と異なる態様に設定してもよい。また、ゲーム画像を自己表示画像及び/又は相手表示画像として使用する場合には、ゲームを実行しながら会話を行っている旨を話し相手に知らせる表記(例えば「ゲーム中」などの文字)を、ゲーム画像の一部(例えば上部)に描画してもよい。
【0079】
<変形例2>
図11の処理(ステップS1〜ステップS7)の実行頻度と自己表示画像や相手表示画像の画像サイズの変化速度とのバランスが適正でない場合、画像サイズがほとんど変化しなくなってしまう可能性が生じる。例えば、相手表示画像としてアバターを表示する場合において、ボイス・ディテクト値が「9」以上に継続して維持され、既にアルファ値が100%に達しており、現在の画像サイズが100%であると、画像データパケットを受信することによって目標画像サイズとして70%が設定され(ステップS5)、アバターの画像が徐々に縮小する。このとき、アバターの画像がほとんど縮小していないタイミングで次の画像データパケットを受信すると、画像サイズが100%ではないと判定され(ステップS4:No)、目標画像サイズとして100%が設定され(ステップS6)、アバターの画像が目標画像サイズ70%に達することなく僅かに縮小した後に拡大してしまう。このような不都合を解消するため、ステップS5の処理において、アバターの画像が拡大されている途中か否かを判定し、拡大されている途中であれば、目標画像サイズを70%に変更せずに100%のまま維持してもよい。また、同様に、ステップS6の処理において、アバターの画像が縮小されている途中か否かを判定し、縮小されている途中であれば、目標画像サイズを100%に変更せずに70%のまま維持してもよい。
【0080】
<変形例3>
図11のステップS1の処理では、ボイス・ディテクト値が単発的に1回だけ「9」以上と判定された場合であっても、ステップS2に処理が移行するため、ユーザの発話以外の突発的な音(ノイズ)がマイクロフォン12に入力された場合であっても、アバターの表示が変化してしまう可能性が生じる。このような不都合を解消するため、ステップS1の処理において、「9」以上のボイス・ディテクト値が所定回数(例えば4回)連続した場合にのみステップS2へ移行させ、直前の連続する所定回数に「9」未満のボイス・ディテクト値が含まれている場合には、ステップS7へ移行させてもよい。
【0081】
<変形例4>
図11のステップS1の処理では、ボイス・ディテクト値が単発的に1回だけ「9」未満と判定された場合であっても、ステップS7に処理が移行するため、ユーザの発話が一瞬とぎれた場合であっても、アバターの表示が変化してしまう可能性が生じる。このような不都合を解消するため、ステップS1の処理において、「9」未満のボイス・ディテクト値が所定回数(例えば4回)連続した場合にステップS7へ移行させ、直前の連続する所定回数に「9」以上のボイス・ディテクト値が含まれている場合には、ステップS2へ移行させてもよい。
【0082】
<変形例5>
図11のステップS2の処理では、現在のアルファ値が100%か否かを判定しているため、アルファ値が100%に達するまでの間は、画像サイズが変更されない。このため、ユーザが発話を開始してからアバターの画像サイズが変更される(拡大する)までに時間を要してしまう可能性が生じる。このような不都合を解消するため、ステップS2での判断基準となるアルファ値の値を100%未満(例えば90%)に設定してもよい。
【0083】
<変形例6>
上記実施形態のマイクロフォン12はモノラルタイプであり、音声データとともにクライアント装置1に入力するボイス・ディテクト値は1つであるが、例えばステレオタイプのマイクロフォンを使用した場合のように、音声データとともに入力するボイス・ディテクト値が複数(例えば2つ)であってもよい。この場合、図11のステップS1の処理において、複数のボイス・ディテクト値のうち1つでも「9」以上である場合にステップS2に移行させてもよく、また、所定値以上が「9」以上である場合にステップS2に移行させてもよい。
【0084】
<変形例7>
左右双方のボイス・ディテクト値をそれぞれ検知して音声データとともにクライアント装置1に入力するステレオタイプのマイクロフォンを使用した場合において、例えば、自己表示画像及び/又は相手表示画像がアバターであるとき、左右のボイス・ディテクト値の大小を判定し、チャット画面上でボイス・ディテクト値が大きい方に向かってアバターを移動させてもよい。この場合、両者の差が大きいほど、移動量や移動速度を大きく設定してもよい。
【0085】
上述の各実施の形態の説明は本発明の一例である。このため、本発明は上述の各実施の形態に限定されることはなく、本発明に係る技術的思想を逸脱しない範囲であれば、上述の実施の形態以外であっても種々の変更が可能であることは勿論である。
【産業上の利用可能性】
【0086】
本発明は、所定の通信グループに属する複数の通信装置間で相互に画像データ及び音声データを送受信する通信システムに用いて好適である。
【図面の簡単な説明】
【0087】
【図1】本発明の一実施形態に係るAVチャットシステムの概要を示す図である。
【図2】クライアント装置の構成のうち本発明に関連する主要な構成を示すブロック図である。
【図3】図2の構成が実装されたクライアント装置の内部回路の一例を示すブロック図である。
【図4】同実施形態に係るサーバ装置の内部構成を示すブロック図である。
【図5】同実施形態に係るメニュー画面を例示する図である。
【図6】同実施形態に係るメッセージを例示する図である。
【図7】同実施形態に係るメッセージを例示する図である。
【図8】同実施形態に係るチャット画面を例示する図である。
【図9】同実施形態に係るチャット画面を例示する図である。
【図10】同実施形態に係るチャット画面を例示する図である。
【図11】同実施形態に係る描画処理を示すフローチャートである。
【符号の説明】
【0088】
1・・・クライアント装置、2・・・サーバ装置、10・・・モニタ装置、11・・・ビデオカメラ、12・・・マイクロフォン、13・・・通信パケット受信部、14・・・音声関連情報処理部、15・・・画像関連情報処理部、16・・・入力音声情報記憶部、17・・・画像種別情報記憶部、18・・・テクスチャ処理部、20・・・コントローラ、30・・・インターネット、41・・・CPU、43・・・メインメモリ、62・・・GPU、200・・・CPU、210・・・ROM、220・・・RAM、230・・・HDD、240・・・通信部、SYM・・・AVチャットシステム
【特許請求の範囲】
【請求項1】
ネットワークに接続される第1及び第2の通信装置を含む通信システムであって、
前記第1の通信装置は、
音入力手段と、
前記第1の通信装置のユーザを表す画像データと、前記音入力手段により入力された音声に応じた音声データと、前記画像データの種別を示す画像種別情報とを、前記第2の通信装置に送信する送信手段と、を有し、
前記第2の通信装置は、
前記第1の通信装置から送信された画像データと音声データと画像種別情報とを受信する受信手段と、
前記受信した画像データに応じた画像を表示手段に表示する表示制御手段と、
前記受信した音声データによって表される音声を音声出力手段から出力する音声出力制御手段と、を有し、
前記表示制御手段は、前記受信した画像種別情報が所定の画像を示す情報であるとき、前記画像データに応じた画像に所定の描画処理を施して前記表示手段に表示する
ことを特徴とする通信システム。
【請求項2】
請求項1に記載の通信システムであって、
前記送信手段は、前記音入力手段により入力された音声の入力レベルを示す音声レベル情報を前記第2の通信装置に送信し、
前記受信手段は、前記第2の通信装置から送信された音声レベル情報を受信し、
前記表示制御手段は、前記受信した画像種別情報がアバターを示す情報であるとき、前記画像データに応じたアバターの画像を前記受信した音声レベル情報に応じて変化させて前記表示手段に表示する
ことを特徴とする通信システム。
【請求項3】
請求項2に記載の通信システムであって、
前記音声レベル情報は、ボイス・ディテクト値を示し、
前記表示制御手段は、前記受信した画像種別情報がアバターを示す情報であるとき、前記受信した音声レベル情報が示すボイス・ディテクト値が所定値以上か否かを判定し、ボイス・ディテクト値が所定値以上の場合、現在表示しているアバターの画像のアルファ値が第1の所定値か否かを判定し、現在のアルファ値が第1の所定値未満の場合、アルファ値を前記第1の所定値に徐々に近づけるようにアバターの画像を変化させ、現在のアルファ値が第1の所定値の場合、画像サイズを所定の最大サイズに徐々に近づけるようにアバターの画像を変化させ、ボイス・ディテクト値が所定値未満の場合、アルファ値を前記第1の所定値よりも小さい第2の所定値に徐々に近づけるとともに、画像サイズを前記最大サイズよりも小さい所定の最小サイズに徐々に近づけるようにアバターの画像を変化させて前記表示手段に表示する
ことを特徴とする通信システム。
【請求項4】
請求項1〜請求項3の何れかに記載の通信システムであって、
前記表示制御手段は、前記受信した画像種別情報が写真を示す情報であるとき、前記画像データに応じた写真の画像の周囲にフレームを付加して前記表示手段に表示する
ことを特徴とする通信システム。
【請求項5】
ネットワークに接続される通信装置であって、
前記ネットワークに接続される他の通信装置から送信された画像データと音声データと前記画像データの種別を示す画像種別情報とを受信する受信手段と、
前記受信した画像データに応じた画像を表示手段に表示する表示制御手段と、
前記受信した音声データによって表される音声を音声出力手段から出力する音声出力制御手段と、を有し、
前記表示制御手段は、前記受信した画像種別情報が所定の画像を示す情報であるとき、前記画像データに応じた画像に所定の描画処理を施して表示手段に表示する
ことを特徴とする通信装置。
【請求項6】
請求項5に記載の通信装置であって、
前記受信手段は、前記他の通信装置から送信された音声レベル情報を受信し、
前記表示制御手段は、前記画像種別情報がアバターを示す情報であるとき、前記画像データに応じたアバターの画像を前記受信した音声レベル情報に応じて変化させて前記表示手段に表示する
ことを特徴とする通信装置。
【請求項7】
請求項6に記載の通信装置であって、
前記音声レベル情報は、ボイス・ディテクト値を示し、
前記表示制御手段は、前記受信した画像種別情報がアバターを示す情報であるとき、前記受信した音声レベル情報が示すボイス・ディテクト値が所定値以上か否かを判定し、ボイス・ディテクト値が所定値以上の場合、現在表示しているアバターの画像のアルファ値が第1の所定値か否かを判定し、現在のアルファ値が第1の所定値未満の場合、アルファ値を前記第1の所定値に徐々に近づけるようにアバターの画像を変化させ、現在のアルファ値が第1の所定値の場合、画像サイズを所定の最大サイズに徐々に近づけるようにアバターの画像を変化させ、ボイス・ディテクト値が所定値未満の場合、アルファ値を前記第1の所定値よりも小さい第2の所定値に徐々に近づけるとともに、画像サイズを前記最大サイズよりも小さい所定の最小サイズに徐々に近づけるようにアバターの画像を変化させて前記表示手段に表示する
ことを特徴とする通信装置。
【請求項8】
請求項5〜請求項7の何れかに記載の通信装置であって、
前記表示制御手段は、前記受信した画像種別情報が写真を示す情報であるとき、前記画像データに応じた写真の画像の周囲にフレームを付加して前記表示手段に表示する
ことを特徴とする通信装置。
【請求項9】
他の通信装置からネットワークを介して送信された画像データと音声データと前記画像データの種別を示す画像種別情報とを受信する通信装置が有するコンピュータに所定の処理を実行させるためのプログラムであって、
前記所定の処理は、
前記受信した画像データに応じた画像を表示手段に表示する表示制御ステップと、
前記受信した音声データによって表される音声を音声出力手段から出力する音声出力制御ステップと、を含み、
前記表示制御ステップは、前記受信した画像データの種別を示す画像種別情報が所定の情報であるとき、前記画像データに応じた画像に所定の描画処理を施すステップを含む
ことを特徴とする通信プログラム。
【請求項10】
請求項9に記載の通信プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項1】
ネットワークに接続される第1及び第2の通信装置を含む通信システムであって、
前記第1の通信装置は、
音入力手段と、
前記第1の通信装置のユーザを表す画像データと、前記音入力手段により入力された音声に応じた音声データと、前記画像データの種別を示す画像種別情報とを、前記第2の通信装置に送信する送信手段と、を有し、
前記第2の通信装置は、
前記第1の通信装置から送信された画像データと音声データと画像種別情報とを受信する受信手段と、
前記受信した画像データに応じた画像を表示手段に表示する表示制御手段と、
前記受信した音声データによって表される音声を音声出力手段から出力する音声出力制御手段と、を有し、
前記表示制御手段は、前記受信した画像種別情報が所定の画像を示す情報であるとき、前記画像データに応じた画像に所定の描画処理を施して前記表示手段に表示する
ことを特徴とする通信システム。
【請求項2】
請求項1に記載の通信システムであって、
前記送信手段は、前記音入力手段により入力された音声の入力レベルを示す音声レベル情報を前記第2の通信装置に送信し、
前記受信手段は、前記第2の通信装置から送信された音声レベル情報を受信し、
前記表示制御手段は、前記受信した画像種別情報がアバターを示す情報であるとき、前記画像データに応じたアバターの画像を前記受信した音声レベル情報に応じて変化させて前記表示手段に表示する
ことを特徴とする通信システム。
【請求項3】
請求項2に記載の通信システムであって、
前記音声レベル情報は、ボイス・ディテクト値を示し、
前記表示制御手段は、前記受信した画像種別情報がアバターを示す情報であるとき、前記受信した音声レベル情報が示すボイス・ディテクト値が所定値以上か否かを判定し、ボイス・ディテクト値が所定値以上の場合、現在表示しているアバターの画像のアルファ値が第1の所定値か否かを判定し、現在のアルファ値が第1の所定値未満の場合、アルファ値を前記第1の所定値に徐々に近づけるようにアバターの画像を変化させ、現在のアルファ値が第1の所定値の場合、画像サイズを所定の最大サイズに徐々に近づけるようにアバターの画像を変化させ、ボイス・ディテクト値が所定値未満の場合、アルファ値を前記第1の所定値よりも小さい第2の所定値に徐々に近づけるとともに、画像サイズを前記最大サイズよりも小さい所定の最小サイズに徐々に近づけるようにアバターの画像を変化させて前記表示手段に表示する
ことを特徴とする通信システム。
【請求項4】
請求項1〜請求項3の何れかに記載の通信システムであって、
前記表示制御手段は、前記受信した画像種別情報が写真を示す情報であるとき、前記画像データに応じた写真の画像の周囲にフレームを付加して前記表示手段に表示する
ことを特徴とする通信システム。
【請求項5】
ネットワークに接続される通信装置であって、
前記ネットワークに接続される他の通信装置から送信された画像データと音声データと前記画像データの種別を示す画像種別情報とを受信する受信手段と、
前記受信した画像データに応じた画像を表示手段に表示する表示制御手段と、
前記受信した音声データによって表される音声を音声出力手段から出力する音声出力制御手段と、を有し、
前記表示制御手段は、前記受信した画像種別情報が所定の画像を示す情報であるとき、前記画像データに応じた画像に所定の描画処理を施して表示手段に表示する
ことを特徴とする通信装置。
【請求項6】
請求項5に記載の通信装置であって、
前記受信手段は、前記他の通信装置から送信された音声レベル情報を受信し、
前記表示制御手段は、前記画像種別情報がアバターを示す情報であるとき、前記画像データに応じたアバターの画像を前記受信した音声レベル情報に応じて変化させて前記表示手段に表示する
ことを特徴とする通信装置。
【請求項7】
請求項6に記載の通信装置であって、
前記音声レベル情報は、ボイス・ディテクト値を示し、
前記表示制御手段は、前記受信した画像種別情報がアバターを示す情報であるとき、前記受信した音声レベル情報が示すボイス・ディテクト値が所定値以上か否かを判定し、ボイス・ディテクト値が所定値以上の場合、現在表示しているアバターの画像のアルファ値が第1の所定値か否かを判定し、現在のアルファ値が第1の所定値未満の場合、アルファ値を前記第1の所定値に徐々に近づけるようにアバターの画像を変化させ、現在のアルファ値が第1の所定値の場合、画像サイズを所定の最大サイズに徐々に近づけるようにアバターの画像を変化させ、ボイス・ディテクト値が所定値未満の場合、アルファ値を前記第1の所定値よりも小さい第2の所定値に徐々に近づけるとともに、画像サイズを前記最大サイズよりも小さい所定の最小サイズに徐々に近づけるようにアバターの画像を変化させて前記表示手段に表示する
ことを特徴とする通信装置。
【請求項8】
請求項5〜請求項7の何れかに記載の通信装置であって、
前記表示制御手段は、前記受信した画像種別情報が写真を示す情報であるとき、前記画像データに応じた写真の画像の周囲にフレームを付加して前記表示手段に表示する
ことを特徴とする通信装置。
【請求項9】
他の通信装置からネットワークを介して送信された画像データと音声データと前記画像データの種別を示す画像種別情報とを受信する通信装置が有するコンピュータに所定の処理を実行させるためのプログラムであって、
前記所定の処理は、
前記受信した画像データに応じた画像を表示手段に表示する表示制御ステップと、
前記受信した音声データによって表される音声を音声出力手段から出力する音声出力制御ステップと、を含み、
前記表示制御ステップは、前記受信した画像データの種別を示す画像種別情報が所定の情報であるとき、前記画像データに応じた画像に所定の描画処理を施すステップを含む
ことを特徴とする通信プログラム。
【請求項10】
請求項9に記載の通信プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2009−27423(P2009−27423A)
【公開日】平成21年2月5日(2009.2.5)
【国際特許分類】
【出願番号】特願2007−188109(P2007−188109)
【出願日】平成19年7月19日(2007.7.19)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
【公開日】平成21年2月5日(2009.2.5)
【国際特許分類】
【出願日】平成19年7月19日(2007.7.19)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
[ Back to top ]