(57)【特許請求の範囲】
【請求項１】
対話に参加する複数のユーザのユーザ端末のそれぞれから、該それぞれのユーザの音声と画像の少なくとも一方を含むデータを符号化したパケットを順次受信する手段と、
前記受信したパケットに基づいて、前記複数のユーザの一のユーザごとに用いられる第１のバッファ領域に、前記複数のユーザのうち該一のユーザ以外のユーザのそれぞれのデータを順次記憶させる第１の記憶制御手段と、
前記受信したパケットに基づいて、前記対話に参加しないユーザについて用いられる前記第１のバッファ領域よりもサイズが大きい第２のバッファ領域に、前記複数のユーザのそれぞれのデータを順次記憶させる第２の記憶制御手段と、
前記対話に参加する複数のユーザのそれぞれに対して、該それぞれのユーザについて用いられる前記第１のバッファ領域に記憶されたデータを合成した合成データをそれぞれ提供する第１の提供手段と、
前記対話に参加しないユーザに対して、前記第２のバッファ領域に記憶されたデータを合成した合成データを提供する第２の提供手段と、
を含むことを特徴とする合成データ提供装置。
【請求項２】
請求項１に記載の合成データ提供装置であって、
前記第１のバッファ領域は、第１の時間長のデータが記憶可能な記憶領域であり、
前記第２のバッファ領域は、前記第１の時間長よりも長い第２の時間長のデータが記憶可能な記憶領域である
ことを特徴とする合成データ提供装置。
【請求項３】
請求項１又は２に記載の合成データ提供装置であって、
前記第１の提供手段は、前記第１のバッファ領域に記憶されるユーザのデータのうち同一の時間長の部分を合成した合成データを提供する
ことを特徴とする合成データ提供装置。
【請求項４】
請求項３に記載の合成データ提供装置であって、
前記第１の提供手段は、前記第１のバッファ領域に記憶されるいずれのユーザのデータの時間長も０より大きい場合には、最小の時間長のユーザのデータに基づいて決定した部分を少なくとも合成した前記合成データを提供する
ことを特徴とする合成データ提供装置。
【請求項５】
請求項３又は４に記載の合成データ提供装置であって、
前記第１の提供手段は、所定時間を待機した後に、前記第１のバッファ領域に記憶される少なくとも１つのユーザのデータの時間長が０である場合には、該時間長が０であるユーザのデータについての合成部分を空データとした前記合成データを提供する
ことを特徴とする合成データ提供装置。
【請求項６】
請求項５に記載の合成データ提供装置であって、
前記パケットに符号化されるデータは、音声を含み、
ユーザごとの遅延時間を管理する遅延時間管理手段と、
前記第１のバッファ領域に記憶されるそれぞれのユーザの遅延時間に基づいて、該それぞれのユーザのデータに含まれる音声の無音部分を削除する手段と、を含み、
前記遅延時間管理手段は、前記無音部分を削除した場合に、該無音部分に相当する時間に基づいて前記遅延時間を更新する
ことを特徴とする合成データ提供装置。
【請求項７】
請求項１乃至６のいずれかに記載の合成データ提供装置であって、
前記パケットに符号化されるデータは、画像を含み、
前記第１のバッファ領域に記憶される画像のデータサイズを、前記第２のバッファ領域に記憶される画像のデータサイズよりも小さくした
ことを特徴とする合成データ提供装置。
【請求項８】
対話に参加する複数のユーザのユーザ端末のそれぞれから、該それぞれのユーザの音声と画像の少なくとも一方を含むデータを符号化したパケットを順次受信するステップと、
前記受信したパケットに基づいて、前記複数のユーザの一のユーザごとに用いられる第１のバッファ領域に、前記複数のユーザのうち該一のユーザ以外のユーザのそれぞれのデータを順次記憶させる第１の記憶制御ステップと、
前記受信したパケットに基づいて、前記対話に参加しないユーザについて用いられる前記第１のバッファ領域よりもサイズが大きい第２のバッファ領域に、前記複数のユーザのそれぞれのデータを順次記憶させる第２の記憶制御ステップと、
前記対話に参加する複数のユーザのそれぞれに対して、該それぞれのユーザについて用いられる前記第１のバッファ領域に記憶されたデータを合成した合成データをそれぞれ提供する第１の提供ステップと、
前記対話に参加しないユーザに対して、前記第２のバッファ領域に記憶されたデータを合成した合成データを提供する第２の提供ステップと、
を含むことを特徴とする合成データ提供方法。
【請求項９】
対話に参加する複数のユーザのユーザ端末のそれぞれから、該それぞれのユーザの音声と画像の少なくとも一方を含むデータを符号化したパケットを順次受信する手段と、
前記受信したパケットに基づいて、前記複数のユーザの一のユーザごとに用いられる第１のバッファ領域に、前記複数のユーザのうち該一のユーザ以外のユーザのそれぞれのデータを順次記憶させる第１の記憶制御手段と、
前記受信したパケットに基づいて、前記対話に参加しないユーザについて用いられる前記第１のバッファ領域よりもサイズが大きい第２のバッファ領域に、前記複数のユーザのそれぞれのデータを順次記憶させる第２の記憶制御手段と、
前記対話に参加する複数のユーザのそれぞれに対して、該それぞれのユーザについて用いられる前記第１のバッファ領域に記憶されたデータを合成した合成データをそれぞれ提供する第１の提供手段と、
前記対話に参加しないユーザに対して、前記第２のバッファ領域に記憶されたデータを合成した合成データを提供する第２の提供手段
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、合成データ提供装置、合成データ提供方法及びプログラムに関する。
【背景技術】
【０００２】
それぞれ遠隔地にいるユーザが、各々の端末を用いてネットワークを介して互いの映像や音声を通信してコミュニケーションを取るシステムがある。例えば、下記の特許文献１では、複数の端末からそれぞれ受信した画像信号をバッファメモリに格納し、バッファメモリに格納された画像信号を合成して端末に出力するシステムについて開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−２２２１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、複数のユーザの端末から取得した画像と音声を符号化したパケットを格納するバッファのサイズを大きくしてパケットの欠損が生じないように合成すると、発信者が送信したデータを受信者が受け取るまでのタイムラグが大きくなり、ユーザ同士の円滑なコミュニケーションを阻害してしまう。一方で、コミュニケーションに直接関与しないユーザに対しても複数のユーザが対話している状況をストリーミングデータとして配信する場合において、パケットを格納するバッファのサイズを小さくするとストリーミングデータにパケットの欠損が増え、再生される画像と音声の質が低下しユーザの視聴意欲を削ぐこととなる。
【０００５】
本発明は上記課題に鑑みて為されたものであり、その目的は、対話を行うユーザの間では遅延が少なく、対話を視聴するだけのユーザに対しては質の高いデータ配信を実行できる合成データ提供装置、合成データ提供方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明に係る合成データ提供装置は、対話に参加する複数のユーザのユーザ端末のそれぞれから、該それぞれのユーザの音声と画像の少なくとも一方を含むデータを符号化したパケットを順次受信する手段と、前記受信したパケットに基づいて、前記複数のユーザの一のユーザごとに用いられる第１のバッファ領域に、前記複数のユーザのうち該一のユーザ以外のユーザのそれぞれのデータを順次記憶させる第１の記憶制御手段と、前記受信したパケットに基づいて、前記対話に参加しないユーザについて用いられる前記第１のバッファ領域よりもサイズが大きい第２のバッファ領域に、前記複数のユーザのそれぞれのデータを順次記憶させる第２の記憶制御手段と、前記対話に参加する複数のユーザのそれぞれに対して、該それぞれのユーザについて用いられる前記第１のバッファ領域に記憶されたデータを合成した合成データをそれぞれ提供する第１の提供手段と、前記対話に参加しないユーザに対して、前記第２のバッファ領域に記憶されたデータを合成した合成データを提供する第２の提供手段と、を含むこととする。
【０００７】
本発明の一態様では、前記合成データ提供装置において、前記第１のバッファ領域は、第１の時間長のデータが記憶可能な記憶領域であり、前記第２のバッファ領域は、前記第１の時間長よりも長い第２の時間長のデータが記憶可能な記憶領域であることとしてよい。
【０００８】
本発明の一態様では、前記合成データ提供装置において、前記第１の提供手段は、前記第１のバッファ領域に記憶されるユーザのデータのうち同一の時間長の部分を合成した合成データを提供することとしてよい。
【０００９】
本発明の一態様では、前記合成データ提供装置において、前記第１の提供手段は、前記第１のバッファ領域に記憶されるいずれのユーザのデータの時間長も０より大きい場合には、最小の時間長のユーザのデータに基づいて決定した部分を少なくとも合成した前記合成データを提供することとしてよい。
【００１０】
本発明の一態様では、前記合成データ提供装置において、前記第１の提供手段は、所定時間を待機した後に、前記第１のバッファ領域に記憶される少なくとも１つのユーザのデータの時間長が０である場合には、該時間長が０であるユーザのデータについての合成部分を空データとした前記合成データを提供することとしてよい。
【００１１】
本発明の一態様では、前記合成データ提供装置において、前記パケットに符号化されるデータは、音声を含み、ユーザごとの遅延時間を管理する遅延時間管理手段と、前記第１のバッファ領域に記憶されるそれぞれのユーザの遅延時間に基づいて、該それぞれのユーザのデータに含まれる音声の無音部分を削除する手段と、を含み、前記遅延時間管理手段は、前記無音部分を削除した場合に、該無音部分に相当する時間に基づいて前記遅延時間を更新することとしてよい。
【００１２】
本発明の一態様では、前記合成データ提供装置において、前記パケットに符号化されるデータは、画像を含み、前記第１のバッファ領域に記憶される画像のデータサイズを、前記第２のバッファ領域に記憶される画像のデータサイズよりも小さくしたこととしてよい。
【００１３】
本発明に係る合成データ提供方法は、対話に参加する複数のユーザのユーザ端末のそれぞれから、該それぞれのユーザの音声と画像の少なくとも一方を含むデータを符号化したパケットを順次受信するステップと、前記受信したパケットに基づいて、前記複数のユーザの一のユーザごとに用いられる第１のバッファ領域に、前記複数のユーザのうち該一のユーザ以外のユーザのそれぞれのデータを順次記憶させる第１の記憶制御ステップと、前記受信したパケットに基づいて、前記対話に参加しないユーザについて用いられる前記第１のバッファ領域よりもサイズが大きい第２のバッファ領域に、前記複数のユーザのそれぞれのデータを順次記憶させる第２の記憶制御ステップと、前記対話に参加する複数のユーザのそれぞれに対して、該それぞれのユーザについて用いられる前記第１のバッファ領域に記憶されたデータを合成した合成データをそれぞれ提供する第１の提供ステップと、前記対話に参加しないユーザに対して、前記第２のバッファ領域に記憶されたデータを合成した合成データを提供する第２の提供ステップと、を含むこととする。
【００１４】
本発明に係るプログラムは、対話に参加する複数のユーザのユーザ端末のそれぞれから、該それぞれのユーザの音声と画像の少なくとも一方を含むデータを符号化したパケットを順次受信する手段と、前記受信したパケットに基づいて、前記複数のユーザの一のユーザごとに用いられる第１のバッファ領域に、前記複数のユーザのうち該一のユーザ以外のユーザのそれぞれのデータを順次記憶させる第１の記憶制御手段と、前記受信したパケットに基づいて、前記対話に参加しないユーザについて用いられる前記第１のバッファ領域よりもサイズが大きい第２のバッファ領域に、前記複数のユーザのそれぞれのデータを順次記憶させる第２の記憶制御手段と、前記対話に参加する複数のユーザのそれぞれに対して、該それぞれのユーザについて用いられる前記第１のバッファ領域に記憶されたデータを合成した合成データをそれぞれ提供する第１の提供手段と、前記対話に参加しないユーザに対して、前記第２のバッファ領域に記憶されたデータを合成した合成データを提供する第２の提供手段としてコンピュータを機能させるためのプログラムである。
【発明の効果】
【００１５】
本発明によれば、対話を行うユーザの間では遅延が少なく、対話を視聴するだけのユーザに対しては質の高いデータ配信を実行できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係る配信システムの全体構成を示す図である。
【図２】コラボ配信の開始要求受付画面の一例を示す図である。
【図３】配信リスト表示画面の一例を示す図である。
【図４】配信データの再生画面の一例を示す図である。
【図５】参加可否問い合わせ画面の一例を示す図である。
【図６】コラボ配信画面の一例を示す図である。
【図７】コラボ配信画面の一例を示す図である。
【図８】コラボ配信画面の一例を示す図である。
【図９】コラボ配信の視聴画面の一例を示す図である。
【図１０】コラボ配信画面の一例を示す図である。
【図１１】ユーザ端末の機能ブロック図である。
【図１２】中継装置の機能ブロック図である。
【図１３】参加者用合成部の構成を説明する図である。
【図１４】参加者用合成部の合成タイミング制御データ領域に記憶されるデータの一例を示す図である。
【図１５】１ユーザ当たりの画像領域のサイズの変化例を説明する図である。
【図１６】視聴者用合成部の構成を説明する図である。
【図１７】視聴者用合成部の合成タイミング制御データ領域に記憶されるデータの一例を示す図である。
【図１８】コラボ配信開始処理のシーケンス図である。
【図１９】コラボ配信参加処理のシーケンス図である。
【図２０】配信制御処理のフロー図である。
【図２１】合成画像生成処理のフロー図である。
【図２２】再生制御処理のフロー図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態（以下、実施形態）を、図面に基づいて説明する。なお、図面において同一又は対応する構成には同一の符号を付し、繰り返しの説明を省略することがある。
【００１８】
［１．配信システムの全体構成］
図１は、本発明の実施形態に係る配信システム１の全体構成を示す図である。図１に示すように、本実施形態に係る配信システム１は、中継装置２０（合成データ提供装置の一例）と、中継装置２０を介して対話を行う複数のユーザ（参加者）Ｕ−１〜Ｎ（Ｎは３以上の整数）がそれぞれ操作するユーザ端末１０−１〜Ｎ，及びユーザＵ−１〜Ｎの対話の様子を、中継装置２０を介して視聴するユーザ（視聴者）ＵＧが操作するユーザ端末１０−Ｇを含む。中継装置２０、ユーザ端末１０−１〜Ｎ、及びユーザ端末１０ＧはネットワークＮＷに接続される。これにより、中継装置２０、ユーザ端末１０−１〜Ｎ、及びユーザ端末１０Ｇとの間で相互にデータ通信が可能である。なお、本実施形態では、ユーザ端末１０−１〜Ｎ、及びユーザ端末１０Ｇはハードウェア構成を同一として説明することとし、ユーザ端末１０−１〜Ｎ、及びユーザ端末１０Ｇについて共通する内容についてはユーザ端末１０と表記して説明することがある。
【００１９】
中継装置２０はユーザ端末からデータを受信し、またユーザ端末にデータを提供する装置であり、例えばサーバコンピュータによって実現される。
【００２０】
図１に示すように、中継装置２０は制御部２１、記憶部２２、及び通信部２３を含む。制御部２１は例えば少なくとも一つのマイクロプロセッサ等を含み、オペレーティングシステムやその他のプログラムに従って処理を実行する。記憶部２２は主記憶部（例えばＲＡＭ）及び補助記憶部（例えばハードディスクドライブ又はソリッドステートドライブ）を含む。通信部２３はネットワークＮＷを介してデータ通信を行うためのものである。
【００２１】
ユーザ端末１０はユーザが使用するコンピュータである。本実施形態では、ユーザ端末１０はデータ配信（例えば、カメラ画像と音声を含むストリーミングデータの配信）を行うために使用するコンピュータである。ユーザ端末１０は、例えば、携帯電話機（スマートフォンを含む）、携帯情報端末（タブレット型コンピュータを含む）、デスクトップ型コンピュータ、ラップトップ型コンピュータ、家庭用ゲーム機（据置型ゲーム機）、携帯用ゲーム機、又は業務用ゲーム機によって実現されることとしてよい。
【００２２】
図１に示すように、ユーザ端末１０は制御部１１、記憶部１２、通信部１３、入力部１４、カメラ１５、マイク１６、スピーカ１７及びディスプレイ１８を含む。
【００２３】
制御部１１は例えば少なくとも一つのマイクロプロセッサ等を含み、オペレーティングシステムやその他のプログラムに従って処理を実行する。記憶部１２は主記憶部（例えばＲＡＭ）及び補助記憶部（例えばハードディスクドライブ又はソリッドステートドライブ）を含む。通信部１３はネットワークＮＷを介してデータ通信を行うためのものである。入力部１４は、例えばタッチパネル、キー、マウス、ゲームコントローラ等を含み、ユーザが入力操作を行うためのものである。なお、入力部１４は、ユーザが音声又はジェスチャによって操作を行うためのものであってもよい。
【００２４】
カメラ１５は、例えばユーザ端末に内蔵され（例えばディスプレイ１８の上部や下部等）、ユーザ端末１０を操作するユーザを撮影するためのものである。カメラ１５は、静止画像や動画像を撮影可能としてよい。マイク１６は、例えばユーザ端末１０に内蔵され、ユーザ端末１０を操作するユーザの音声を集音するためのものである。スピーカ１７は、音声を出力するものであり、例えばネットワークＮＷを介して受信した他のユーザの音声データ（音声データは、複数のユーザの音声を合成した合成音声であってよい）に基づいて音声を出力することとしてよい。ディスプレイ１８は例えば液晶表示パネル又は有機ＥＬディスプレイ等であり、制御部１１の指示に従って画面を表示する。例えば、ディスプレイ１８は、カメラ１５で撮影したカメラ画像（動画像）や、ネットワークＮＷを介して受信した他のユーザのカメラ画像（動画像）を表示することとしてよい。
【００２５】
プログラムやデータは例えばネットワークＮＷを介して中継装置２０又はユーザ端末１０に供給される。なお、中継装置２０又はユーザ端末１０は、情報記憶媒体（例えば光ディスク又はメモリカード等）に記憶されたプログラム又はデータを読み取るための構成要素を含むようにしてもよい。そして、情報記憶媒体を介して中継装置２０又はユーザ端末１０にプログラムやデータを供給するようにしてもよい。
【００２６】
［２．画面遷移の一例］
次に、図２乃至図１０に示したユーザ端末１０のディスプレイ１８に表示される画面例に基づいて、配信システム１１において実行される。ユーザ端末１０−１〜Ｎが中継装置２０を介して、複数ユーザの対話を配信（以下、コラボ配信とする）する処理の概要について説明する。なお、以下に説明する例においては、ユーザ端末１０−１がコラボ配信を開始し、ユーザ端末１０−２〜Ｎが、ユーザ端末１０−１が開始したコラボ配信に参加することとする。そして、ユーザ端末１０Ｇが、ユーザ端末１０−１〜Ｎにより実行されるコラボ配信を視聴することとする。
【００２７】
図２には、ユーザ端末１０−１のディスプレイ１８に表示されるコラボ配信の開始要求受付画面の一例を示した。図２に示されるように、コラボ配信の開始要求受付画面Ｇ１００には、カメラ画像表示領域Ａ１００、チャット表示領域Ａ１０１、配信モード表示アイコンＰ１０１、配信開始アイコンＰ１０２、チャット開始アイコンＰ１０３、リンクＬ１０１が表示される。
【００２８】
カメラ画像表示領域Ａ１００には、ユーザ端末１０−１のカメラ１５により撮影された画像が表示される。そして、配信モード表示アイコンＰ１０１には、ユーザが開始する配信モードが表示される。例えば、配信モードには、複数人が対話をしながら配信を行うコラボ配信モード、ユーザが１人で配信を行うシングル配信モード等を含むこととしてよい。なお、本実施形態では、配信モードにコラボ配信モードを指定した場合について説明する。
【００２９】
ユーザにより配信開始アイコンＰ１０２が選択されると、カメラ画像表示領域Ａ１００に表示されている画像と、ユーザ端末１０−１のマイク１６により集音されたユーザの音声をエンコードしたパケットがユーザ端末１０−１から中継装置２０に送信され、配信が開始する。なお、中継装置２０は、リンクＬ１０１に表示されたリンクを通じて、ユーザ端末１０−１から受信したパケットに基づくデータ配信を実行することとしてよい。
【００３０】
また、チャット開始アイコンＰ１０２が選択されると、図示しないチャット入力画面が表示され、チャット入力画面に入力されたテキスト情報が、チャット表示領域Ａ１０１に表示されることとしてよい。
【００３１】
なお、この段階ではユーザ端末１０−１が単独で配信している状態であるが、ここに他のユーザ端末（以下ではユーザ端末１０−２とする）が参加する場面について以下に説明する。
【００３２】
図３には、ユーザ端末１０−２のディスプレイ１８に中継装置２０から提供されるデータに基づいて表示される、配信リスト表示画面Ｇ２００の一例を示した。なお、配信リスト表示画面Ｇ２００は、中継装置２０により生成されることとしてよい。
【００３３】
図３に示されるように、配信リスト表示画面Ｇ２００には、例えば現在配信されている配信データの概要情報を表示する複数の概要情報表示領域Ａ２０１、Ａ２０２、Ａ２０３、Ａ２０４が含まれる。ここでは、Ａ２０１が、ユーザ端末１０−１が開始したコラボ配信（配信データ）に対応することとする。そして、配信リスト表示画面Ｇ２００で、例えばＡ２０１が選択されると、ユーザ端末１０−１が開始している配信データの配信が開始され、ユーザ端末１０−２のディスプレイ１８には例えば図４に示される配信データの再生画面Ｇ２０１が表示される。
【００３４】
、
図４に示されるように、配信データの再生画面Ｇ２０１には、カメラ画像表示領域Ａ１００とチャット表示領域Ａ１０１、配信モード表示アイコンＰ１０１、チャット開始アイコンＰ１０３、参加アイコンＰ１０４が表示される。この段階では、カメラ表示領域Ａ１００には、中継装置２０から受信しているユーザ端末１０−１が単独で配信する配信データに基づいて、ユーザ端末１０−１のカメラ画像が表示されている。また、参加アイコンＰ１０４は、ユーザ端末１０−１が開始したデータ配信への参加を申請する操作を行うためのものであり、例えば配信モード表示アイコンＰ１０１の示す配信モードがコラボ配信である場合に表示されることとしてよい。そして、参加アイコンＰ１０４が選択されると、ユーザ端末１０−２から中継装置２０を介してユーザ端末１０−１に対して参加が申請される。
【００３５】
図５には、ユーザ端末１０−２からの参加申請に応じて、ユーザ端末１０−１のディスプレイ１８に表示される参加可否問い合わせ画面Ｇ１０１の一例を示した。図５に示されるように、参加可否問い合わせ画面Ｇ１０１には、ポップアップ画面として構成された問い合わせ表示領域Ａ１０２が含まれる。ここで問い合わせ表示領域Ａ１０２には、参加を申請するユーザの情報と、「参加を許可する」アイコンＰ１０５と、「参加を許可しない」アイコンＰ１０６が表示される。そして、「参加を許可しない」アイコンＰ１０６が選択された場合には、ユーザ端末１０−２の参加が拒否され、「参加を許可する」アイコンＰ１０５が選択された場合には、ユーザ端末１０−２の参加が許可される。以下では、「参加を許可する」アイコンＰ１０５が選択されたこととして説明を続ける。
【００３６】
図６には、ユーザ端末１０−２の参加を許可した場合に、ユーザ端末１０−１のディスプレイ１８に表示されるコラボ配信画面Ｇ１０２の一例を示した。図６に示されるように、コラボ配信画面Ｇ１０２のカメラ画像表示領域Ａ１００の一部（小窓）には、ユーザ端末１０−２から送信されるカメラ画像ＩＭ１０１が表示される。また、同時にユーザ端末１０−１では、ユーザ端末１０−２から送信される音声データも再生される。
【００３７】
図７には、ユーザ端末１０−１の配信に参加を開始したユーザ端末１０−２のディスプレイ１８に表示されるコラボ配信画面Ｇ２０２の一例を示した。図７に示されるように、コラボ配信画面Ｇ２０２のカメラ画像表示領域Ａ１００には、ユーザ端末１０−２のカメラ１５により撮影されたユーザの画像が表示されるとともに、その一部（小窓）には、ユーザ端末１０−１から送信されるカメラ画像ＩＭ２０１が表示される。また、同時にユーザ端末１０−２では、ユーザ端末１０−１から送信される音声データも再生される。
【００３８】
以上が、ユーザ端末１０−１が開始したコラボ配信への参加の流れの一例である。また、コラボ配信への参加は例えば３人以上であってもよい。
【００３９】
図８には、ユーザ端末１０−１が開始したコラボ配信に全体で５人（すなわち４人が追加）が参加した場合のコラボ配信画面の一例を示した。図８に示されるように、コラボ配信画面Ｇ１０３のカメラ画像表示領域Ａ１００の一部（小窓）には、コラボ配信に参加した他のユーザ端末（例えばユーザ端末１０−２〜５）からそれぞれ送信されるカメラ画像ＩＭ１０１，１０２，１０３，１０４の合成画像Ｃ１０１が表示される。また、同時にユーザ端末１０−１では、ユーザ端末１０−２〜５からそれぞれ送信される音声データを合成した合成音声も再生される。なお、合成画像Ｃ１０１と合成音声は中継装置２０において生成され、ユーザ端末１０−１に配信されることとしてよい。
【００４０】
また、ユーザ端末１０−１〜５により実行されるコラボ配信は、コラボ配信の参加者以外も視聴可能である。例えば、視聴者ＵＧが操作するユーザ端末１０Ｇは、リンクＬ１０１にアクセスすることによりコラボ配信を視聴することとしてよい。
【００４１】
図９には、視聴者ＵＧが操作するユーザ端末１０Ｇのディスプレイ１８に表示されるコラボ配信の視聴画面Ｇ３００の一例を示した。図９に示されるように、視聴画面Ｇ３００は、カメラ画像表示領域Ａ１００、チャット表示領域Ａ１０１、チャット開始アイコンＰ１０３を含む。そして、カメラ画像表示領域Ａ１００には、配信モード表示アイコンＰ１０１と、ユーザ端末１０−１〜５からそれぞれ送信されるカメラ画像ＩＭ２０１，ＩＭ２０２，２０３，２０４，２０５を合成した合成画像Ｃ２０１が表示される。図９に示される合成画像Ｃ２０１は、ユーザ端末１０−１のカメラ画像ＩＭ２０１を背景画像とし、ユーザ端末１０−２〜５のカメラ画像ＩＭ２０２〜２０５をそれぞれ小さい画像サイズに変換して合成した窓画像とを重ね合わせて合成している。また、ユーザ端末１０Ｇでは、ユーザ端末１０−１〜５からそれぞれ送信される音声データを合成した合成音声も再生される。なお、合成画像Ｃ２０１と合成音声は中継装置２０において生成され、ユーザ端末１０Ｇに配信されることとしてよい。
【００４２】
また、コラボ配信の参加者の数は上記の例に限られず、６以上としてもよい。
【００４３】
図１０には、コラボ配信の参加者が９人である場合に、ユーザ端末１０−１のディスプレイ１８に表示されるコラボ配信画面の一例を示した。図１０に示されるように、コラボ配信画面Ｇ１０４のカメラ表示領域Ａ１００の一部（小窓）には、参加する他のユーザ端末から送信される８つのカメラ画像を合成した合成画像Ｃ１０２が表示される。なお、合成画像Ｃ１０２のサイズには上限を定めておくこととしてよく、合成画像のサイズが上限に収まるように、参加する他のユーザ端末からそれぞれ送信されるカメラ画像を変換する変換サイズを決定して、決定した変換サイズに変換されたそれぞれのカメラ画像を合成して合成画像Ｃ１０２を生成することとしてよい。
【００４４】
以上説明した、配信システム１において行われる処理の一例をまとめると以下のようになる。
【００４５】
まず、配信システム１では、コラボ配信に参加するユーザ端末１０−ｉ（ｉは１〜Ｎの任意の整数）は、カメラ１５で撮影したユーザＵ−ｉのカメラ画像と、マイク１６で集音したユーザＵ−ｉの音声とをエンコードして生成したパケットを中継装置２０に順次送信する。そして、中継装置２０では、ユーザ端末１０−ｉに対して、ユーザ端末１０−１〜Ｎのうちユーザ端末１０−ｉを除くユーザ端末からそれぞれ受信したパケットに基づいて、ユーザＵ−１〜ＮのうちユーザＵ−ｉを除く複数のユーザに係るカメラ画像と音声とをそれぞれ合成した合成画像と合成音声を生成し、合成画像と合成音声をエンコードして生成したパケットをユーザ端末１０−ｉに順次送信（ストリーミング配信）する。ユーザ端末１０−ｉは、中継装置２０から受信したパケットをデコードして、合成画像と合成音声とを出力する。
【００４６】
また、配信システム１では、コラボ配信には参加しないユーザ（視聴者）ＵＧに対しても、ユーザ端末１０−１〜Ｎからそれぞれ受信したパケットに基づいて、ユーザＵ−１〜Ｎの画像と音声とをそれぞれ合成した合成画像と合成音声を生成し、合成画像と合成音声をエンコードして生成したパケットをユーザ端末１０Ｇに順次送信（ストリーミング配信）する。ユーザ端末１０Ｇは、中継装置２０から受信したパケットをデコードして、合成画像と合成音声とを出力する。
【００４７】
なお詳細については後述するが、配信システム１においては、コラボ配信に参加するユーザ（参加者）のユーザ端末１０−１〜Ｎに対して送信するパケットの生成処理を第１の方式で実行し、コラボ配信に参加しないユーザ（視聴者）のユーザ端末１０Ｇに対して送信するパケットの生成処理を第２の方式で実行することとしている。なお、第１の方式は、第２の方式に比べて、遅延が少ないがデータ品質が劣化（すなわち合成画像や合成音声にデータ欠損が生じやすい）する方式である。これにより、ユーザ端末１０−１〜Ｎでは、ユーザ間でより遅延が少なくコミュニケーションが円滑にとることができ、コミュニケーションに直接参加しないユーザに対しては質の高いストリーミング配信を実行することができる。
【００４８】
また、配信システム１においては、コラボ配信に参加するユーザの数（すなわちＮ）に応じて、合成画像におけるユーザ１人あたりの画像サイズを変化させることとしてよい。例えば、コラボ配信の参加者が増えるにつれて、合成画像におけるユーザ１人あたりの画像サイズを小さくして、合成画像のサイズが所定サイズに収まるようにすることとしてよい。
【００４９】
［３．配信システム１において実現される機能］
次に、以上に説明したような処理を実現するために配信システム１に含まれるユーザ端末と中継装置２０にそれぞれ備えられる機能について説明する。
【００５０】
［３．１．ユーザ端末１０において実現される機能］
まず、ユーザ端末１０に備えられる機能について説明する。図１１は、配信システム１で実現される機能のうち、ユーザ端末１０について本発明に関連する機能を示す機能ブロック図である。図１１に示すように、ユーザ端末１０は、機能として入力変換部１０２、エンコード部１０４、パケット送信部１０６、パケット受信部１０８、デコード部１１０、及び出力変換部１１２を備える。
【００５１】
ユーザ端末１０では、制御部１１が記憶部１２に記憶されるプログラムに従って処理を実行することにより、ユーザ端末１０に含まれる上記の各機能を実現することとしてよい。
【００５２】
［３．１．１．入力変換部１０２］
入力変換部１０２は、主に制御部１１及び記憶部１２によって実現されることとしてよい。入力変換部１０２は、カメラ１５により撮影されたカメラ画像と、マイク１６により集音された音声とを取得し、取得したカメラ画像と音声とを所定の形式のデジタルデータに変換する。例えば、入力変換部１０２は、取得したカメラ画像と音声がアナログ信号である場合にはデジタル信号に変換することとしてもよい。例えば、入力変換部１０２は、カメラ１５からは所定の周期（例えば、１／３０秒や１／６０秒ごと等）で撮影されたカメラ画像を順次取得することとしてよい。また例えば、入力変換部１０２は、カメラ１５から取得したカメラ画像に対して、所定の標本化、量子化、符号化の処理を施すことにより、所定の形式の画像データに変換することとしてよい。また、同様に入力変換部１０２は、マイク１６から取得した音声に対して、所定の標本化、量子化、符号化の処理を施すことにより、所定の形式の音声データに変換することとしてよい。入力変換部１０２は、デジタルデータに変換したカメラ画像データと音声データとをエンコード部１０４に出力する。
【００５３】
［３．１．２．エンコード部１０４］
エンコード部１０４は、主に制御部１１及び記憶部１２によって実現されることとしてよい。エンコード部１０４は、入力変換部１０２で変換されたカメラ画像データ（映像データ）と音声データとをそれぞれ所定の圧縮規格に基づいて圧縮する。そして、エンコード部１０４は、圧縮したカメラ画像データと音声データをパケット送信部１０６に出力する。
【００５４】
［３．１．３．パケット送信部１０６］
パケット送信部１０６は、主に制御部１１、記憶部１２及び通信部１３によって実現されることとしてよい。パケット送信部１０６は、エンコード部１０４により圧縮されたカメラ画像データと、音声データをそれぞれ送信するパケットのサイズに応じて分割し、例えばＴＣＰ（Transmission Control Protocol）ヘッダ及びＩＰ（Internet Protocol）ヘッダを付加してパケット化する。なお、カメラ画像データのパケットと、音声データのパケットにはそれぞれ時刻同期情報を含んでいることとし、時刻同期情報に基づいてカメラ画像データと音声データとが同期再生可能である。そして、パケット送信部１０６は、パケット化したカメラ画像データ、音声データ、及び制御情報を多重化した送信パケットを生成し、送信パケットを送信バッファ１０６Ａに格納する。そして、パケット送信部１０６は、送信バッファ１０６Ａに格納された送信パケットを中継装置２０に対して順次送信する。
【００５５】
［３．１．４．パケット受信部１０８］
パケット受信部１０８は、主に制御部１１、記憶部１２及び通信部１３によって実現されることとしてよい。パケット受信部１０８は、中継装置２０からパケットを受信し、受信したパケット（受信パケット）を受信バッファ１０８Ａに格納する。例えば受信パケットには、画像（合成画像）、合成音声及び制御情報のそれぞれのパケットが多重化されていることとしてよい。
【００５６】
［３．１．５．デコード部１１０］
デコード部１１０は、主に制御部１１及び記憶部１２によって実現されることとしてよい。デコード部１１０は、パケット受信部１０８の受信バッファに格納された受信パケットに多重化された画像データと、音声データのパケットを、それぞれの予め定められた基準（例えば予め規定された仕様）に沿ったＴＣＰヘッダの情報に基づく順序で読み出して、読み出したパケットを展開する。そして、デコード部１１０は、展開した画像データと音声データを出力変換部１１２に出力する。
【００５７】
［３．１．６．出力変換部１１２］
出力変換部１１２は、主に制御部１１及び記憶部１２によって実現されることとしてよい。出力変換部１１２は、デコード部１１０から入力された画像データと音声データをそれぞれデジタルデータから所定の形式の出力信号に変換する。例えば、出力信号は、デジタル信号であってもよいし、アナログ信号であってもよい。そして、出力変換部１１２は、画像データと音声データの時刻同期情報に基づいて、所定の形式の出力信号に変換した画像と音声とを同期させながら、それぞれディスプレイ１８とスピーカ１７に出力してデータ再生する。
【００５８】
［３．２．中継装置２０において実現される機能］
次に、図１２乃至図１６に基づいて、中継装置２０に備えられる機能について説明する。
【００５９】
図１２は、配信システム１で実現される機能のうち、中継装置２０について本発明に関連する機能を示す機能ブロック図である。図１２に示すように、中継装置２０は、機能としてパケット受信部２００−１〜Ｎ（Ｎは３以上の整数）、デコード部２１０−１〜Ｎ、参加者用合成部２２０−１〜Ｎ、視聴者用合成部２２０−Ｇ、エンコード部２４０−１〜Ｎ、エンコード部２４０−Ｇ、パケット送信部２５０−１〜Ｎ、パケット送信部２５０−Ｇを備える。なお、ｉを１以上の整数としたときに、ユーザ端末１０−ｉに対して、パケット受信部２００−ｉ、デコード部２１０−ｉ、参加者用合成部２２０−ｉ、エンコード部２４０−ｉ、パケット送信部２５０−ｉのユニット（組）が設けられる。また、上記のユニットはユーザ端末１０−ｉがコラボ配信に参加する場合に新規に設けられ、コラボ配信への参加を終了する場合に削除されることとしてよい。
【００６０】
中継装置２０では、制御部２１が記憶部２２に記憶されるプログラムに従って処理を実行することにより、中継装置２０に含まれる上記の各機能を実現することとしてよい。
【００６１】
［３．２．１．パケット受信部］
パケット受信部２００−ｉ（ｉは１〜Ｎの任意の整数）は、主に制御部２１、記憶部２２及び通信部２３によって実現されることとしてよい。パケット受信部２００−ｉは、ユーザ端末１０−ｉのパケット送信部１０６により送信されたパケットを受信する。パケット受信部２００−ｉは、ユーザ端末１０−ｉから受信したパケットを、パケット受信部２００−ｉの受信バッファに格納することとしてよい。
【００６２】
例えば、パケット受信部２００−ｉの受信バッファは、第１のバッファと、第１のバッファよりもサイズが大きい（すなわちより長い時間のデータを格納する）第２のバッファを含むこととしてもよい。この場合に、パケット受信部２００−ｉは、受信したパケットを第１のバッファと第２のバッファにそれぞれ格納することとしてもよい。また、第１のバッファを第２のバッファの一部として構成してもよい。
【００６３】
［３．２．２．デコード部］
デコード部２１０−ｉ（ｉは１〜Ｎの任意の整数）は、主に制御部２１及び記憶部２２によって実現されることとしてよい。デコード部２１０−ｉは、パケット受信部２００−ｉの受信バッファに格納されたパケットに多重化された画像データと、音声データのパケットを、それぞれの予め定められた基準（例えば予め規定された仕様）に沿ったＴＣＰヘッダの情報に基づく順序で読み出して、読み出したパケットを展開する。そして、デコード部２１０−ｉは、展開した画像データと音声データ（例えば音声データは波形データとしてよい）を参加者用合成部２２０−１〜Ｎ及び視聴者用合成部２２０−Ｇに出力する。なお、デコード部２１０−ｉは、参加者用合成部２２０−１〜Ｎに出力する画像データについては画像サイズ（解像度）が、視聴者用合成部２２０−Ｇに出力する画像データよりも小さくなるように変換することとしてもよい。
【００６４】
例えば、デコード部２１０−ｉは、パケット受信部２００−ｉの受信バッファが、第１のバッファと、第２のバッファを有する場合には、第１のバッファに一定量（例えば閾値α以上）のパケットが格納されたタイミングで第１のバッファからパケットを読み出して展開したデータを参加者用合成部２２０−１〜Ｎに出力することとしてもよい。この場合に、デコード部２１０−ｉは、第２のバッファに一定量（例えば閾値β（＞α）以上）のパケットが格納されたタイミングで第２のバッファからパケットを読み出して展開したデータを視聴者用合成部２２０−Ｇに出力することとしてもよい。
【００６５】
［３．２．３．参加者用合成部］
参加者用合成部２２０−ｉ（ｉは１〜Ｎの任意の整数）は、主に制御部２１及び記憶部２２によって実現されることとしてよい。参加者用合成部２２０−ｉは、ユーザ端末１０−ｉに提供する合成画像と、合成音声を生成する。なお、ユーザ端末１０−ｉに提供する合成画像は、ユーザ端末１０−１〜Ｎのうち、ユーザ端末１０−ｉ以外のユーザ端末から受信したカメラ画像を合成（例えば１つの画像に連結）したものである。また、ユーザ端末１０−ｉに提供する合成音声は、ユーザ端末１０−１〜Ｎのうち、ユーザ端末１０−ｉ以外のユーザ端末から受信した音声を合成（例えば音声の波形を合成）したものである。以下、図１３に基づいて、参加者用合成部２２０−ｉの構成の詳細について説明する。
【００６６】
図１３に示されるように、参加者用合成部２２０−ｉは、参加者用バッファ領域２２１−ｉ、合成タイミング制御データ領域２２３−ｉ、合成制御部２２５−ｉ、合成部２２７−ｉを備える。
【００６７】
参加者用バッファ領域２２１−ｉは、ユーザ端末１０−ｊ（ただしｊは１〜Ｎのうちｉを除く任意の整数）のデータ（画像データ、音声データ）を格納する参加者用バッファＢｆ（ｊ）を含む。参加者用バッファＢｆ（ｊ）には、音声データを音声の波形データとして記憶することとしてもよい。また、参加者用バッファＢｆ（ｊ）には、最大で予め定められた第１の時間長のデータ（画像データ、音声データ）が記憶されることとしてよい。
【００６８】
合成タイミング制御データ領域２２３−ｉは、参加者用バッファＢＦ（ｊ）に格納されたデータ（画像データ、音声データ）を合成するための合成タイミング制御データＤ（ｊ）を記憶する。本実施形態では、合成タイミング制御データＤ（ｊ）は、参加者用バッファＢＦ（ｊ）に格納されたユーザごとの合成を終えているデータの位置（合成完了位置）と、遅れ時間とを含む。また、図１４には、合成タイミング制御データ領域２２３−ｉに記憶されるデータの一例を示した。
【００６９】
図１４に示されるように、合成タイミング制御データ領域２２３−ｉには、コラボ配信に参加するユーザ（注目ユーザとする）のＩＤ、当該注目ユーザと対話する他のユーザのＩＤ、注目ユーザに対して送信する他のユーザのデータの合成完了位置（例えば、当該他のユーザのユーザ端末１０が中継装置２０と通信開始してからの時間を用いて表すこととしてよい）、遅れ時間が関連付けて記憶される。なお、注目ユーザに対して、次に他のユーザのデータを送る際には、合成済みの位置を先頭としたデータを切り出し、切り出したデータを合成後に送信することとなる。また、遅れ時間は、注目ユーザに対して、他のユーザのデータを合成して送信するに当たり、注目ユーザの参加者用バッファに格納された他のユーザのデータについて到着分（時間長）が不揃いであるときに、未到着の部分を空データとして送信したユーザについては、空データとして送信した分の時間長が遅れ時間の加算分となる。また、注目ユーザの参加者用バッファに格納されたユーザのデータのうち、実時間の経過に比べて多くの時間長のデータを送った場合に、そのユーザについては遅れ時間が減算される。また、注目ユーザの参加者用バッファに格納されたユーザのデータのうち、所定の条件を満足するデータの部分をカットした（削除して詰めた）場合にも、カットした分の時間長が遅れ時間の減算分となる。なお、上記の所定の条件を満足するデータとは、例えばユーザの音声データが示す音声のレベルが閾値以下の部分（例えば無音部分）のデータとしてよい。
【００７０】
合成制御部２２５−ｉは、参加者用バッファ領域２２１−ｉと、合成タイミングデータ制御データ領域２２３−ｉに格納された情報に基づいて、ユーザの画像データ、音声データの合成処理を制御する。例えば、合成制御部２２５−ｉは、参加者用バッファ領域２２１−ｉに格納されたそれぞれの参加者用バッファＢｆ（ｊ）に格納されたデータのうち、合成対象とするデータの部分（合成部分）を決定する。ただし、上記のｊは１〜Ｎのうちｉを除く任意の整数であるとする。
【００７１】
例えば、合成制御部２２５−ｉは、参加者用バッファＢｆ（ｊ）に記憶されている、合成タイミング制御データＤ（ｊ）に示される合成完了位置を始点としたデータの長さ（時間長）をそれぞれ参照する。そして、例えば合成制御部２２５−ｉは、参照したデータの長さがいずれも０より大きい場合には、その中で最小の長さの部分を合成部分として各参加者用バッファＢｆ（ｊ）から切り出すこととしてもよい。またこの際に、合成制御部２２５−ｉは、特定の参加者用バッファＢｆ（ｊ）に閾値（Ａ）より多くの時間長のデータが格納されている場合であって、他の参加者の遅れ時間がいずれも閾値（Ｂ）より大きくない場合には、特定の参加者用バッファＢｆ（ｊ）に格納されるデータを合成部分に追加してもよい。また例えば、合成制御部２２５−ｉは、特定の参加者用バッファＢｆ（ｊ）に閾値（Ａ）より多くの時間長のデータが格納されている場合であって、他の参加者の遅れ時間のいずれが閾値（Ｂ）より大きい場合には、特定の参加者用バッファＢｆ（ｊ）に格納されるデータのうち無音部分をカットすることとしてもよい。また例えば、合成制御部２２５−ｉは、所定の待機時間の後においても、参照したデータのうち長さが０のデータがある場合には、長さが０より大きいデータの中で最小の長さの部分を合成部分として各参加者用バッファＢｆ（ｊ）から切り出し、長さの０のデータについては合成部分を空データとすることとしてもよい。
【００７２】
また、合成制御部２２５−ｉは、コラボ配信への参加者の数に基づいて、参加者用バッファ領域２２１−ｉに格納される各ユーザの画像データを合成する際の１ユーザ当たりの画像領域のサイズＳ（基準画像サイズ）を決定することとしてよい。例えば、合成制御部２２５−ｉは、参加者数（Ｎ）が大きくなるにつれて、１ユーザ当たりの画像領域のサイズＳを小さくすることとしてもよい。また例えば、合成制御部２２５−ｉは、合成画像について定められた所定の画像領域を、（Ｎ−１）個に分割した画像サイズを上記のサイズＳとして決定することとしてもよい。また例えば、合成制御部２２５−ｉは、合成する画像数（Ｎ−１）の各画像を重ねずに上記の所定の画像領域内に配置することができる画像サイズを上記のサイズＳとして決定することとしてもよい。また例えば、合成制御部２２５−ｉは、参加者の数が１人増えるごとに定められた一定の比率で１ユーザ当たりの画像領域のサイズＳが小さくなるようにしてもよい。また例えば、合成制御部２２５−ｉは、コラボ配信への参加者の数が閾値を超えた場合に、参加者の数に応じて１ユーザ当たりの画像領域のサイズＳが小さくなるようにしてもよい。
【００７３】
図１５には、合成制御部２２５−ｉにより決定される１ユーザ当たりの画像領域のサイズの例を示した。図１５（Ａ）には、参加者（Ｎ）が５である場合に、１つの合成画像フレームＦ１００を４つの部分画像領域に分割し、各部分画像領域に１つのユーザの画像データを割り当てる例を示した。また、図１５（Ｂ）には、参加者（Ｎ）が１１である場合に、１つの合成画像フレームＦ１００を１０の部分画像領域に分割し、各部分画像領域に１つのユーザの画像データを割り当てる例を示した。また、図１５（Ｃ）には、参加者（Ｎ）が１６である場合に、１つの合成画像フレームＦ１００の中に、１５の部分画像領域を設定し、各部分画像領域に１つのユーザの画像データを割り当てる例を示した。また、１つのユーザの画像データを割り当てる部分画像領域の縦横比は、画像データの縦横比と同一としてもよい。また、合成画像フレームＦ１００は、予め定められた最小サイズと最大サイズの範囲で大きさを可変としてもよい。
【００７４】
また、合成制御部２２５−ｉは、例えば合成対象の各データについて、合成部分の終了位置、合成部分の時間長、合成部分に含まれる空データの時間長に基づいて、合成タイミング制御データＤ（ｊ）を更新することとしてよい。
【００７５】
合成部２２７−ｉは、合成制御部２２５−ｉにより決定した各参加者用バッファＢｆ（ｊ）についての合成部分をそれぞれ合成する。例えば、合成部２２７−ｉは、音声データに関しては、各参加者用バッファＢｆ（ｊ）の音声データの波形を合成して合成音声のデータを生成することとしてよい。また、合成部２２７−ｉは、画像データに関しては、各参加者用バッファＢｆ（ｊ）の合成部分のフレームごとの画像データを、１ユーザ当たりの画像領域のサイズ（Ｓ）に変換した上で、変換後の各画像を連結してフレームごとの合成画像を生成することとしてよい。
【００７６】
［３．２．４．視聴者用合成部］
視聴者用合成部２２０−Ｇは、主に制御部２１及び記憶部２２によって実現されることとしてよい。視聴者用合成部２２０−Ｇは、ユーザ端末１０Ｇに提供する合成画像と、合成音声を生成する。なお、ユーザ端末１０Ｇに提供する合成画像は、ユーザ端末１０−１〜Ｎから受信したカメラ画像を合成したものである。また、ユーザ端末１０Ｇに提供する合成音声は、ユーザ端末１０−１〜Ｎから受信した音声を合成（例えば音声の波形を合成）したものである。以下、図１６に基づいて、視聴者用合成部２２０−Ｇの構成の詳細について説明する。
【００７７】
図１６に示されるように、視聴者用合成部２２０−Ｇは、参加者用バッファ領域２２１−Ｇと、合成タイミング制御データ領域２２３−Ｇ、合成制御部２２５−Ｇ、合成部２２７−Ｇを備える。
【００７８】
参加者用バッファ領域２２１−Ｇは、ユーザ端末１０−ｋ（ただしｋは１〜Ｎの整数）のデータ（画像データ、音声データ）を格納する視聴者用バッファＢｆ（ｋ）を含む。視聴者用バッファＢｆ（ｋ）には、音声データを音声の波形データとして記憶することとしてよい。また、視聴者用バッファＢｆ（ｋ）は、参加者用バッファＢｆ（ｊ）よりも記憶容量が大きく、例えば最大で予め定められた第２の時間長（＞第１の時間長）のデータ（画像データ、音声データ）が記憶されることとしてよい。
【００７９】
合成タイミング制御データ領域２２３−Ｇは、視聴者用バッファＢｆ（ｋ）に格納されたデータ（画像データ、音声データ）を合成するための合成タイミング制御データＤ（ｋ）を記憶する。本実施形態では、合成タイミング制御データＤ（ｋ）は、視聴者用バッファＢｆ（ｋ）に格納されたユーザごとの合成を終えているデータの位置（合成完了位置）と、遅れ時間とを含む。また、図１７には、合成タイミング制御データ領域２２３−Ｇに記憶されるデータの一例を示した。
【００８０】
図１７に示されるように、合成タイミング制御データ領域２２３−Ｇには、コラボ配信に参加するユーザのＩＤ、そのユーザのデータについての合成完了位置、遅れ時間が関連付けて記憶される。合成完了位置、遅れ時間については参加者用合成部２２０−ｉにおいて説明したものと同様である。
【００８１】
合成制御部２２５−Ｇは、参加者用バッファ領域２２１−Ｇと、合成タイミングデータ制御データ領域２２３−Ｇに格納された情報に基づいて、ユーザの画像データ、音声データの合成処理を制御する。例えば、合成制御部２２５−Ｇは、参加者用バッファ領域２２１−Ｇに格納されたそれぞれの参加者用バッファＢｆ（ｋ）に格納されたデータのうち、合成対象とするデータの部分（合成部分）を決定する。ただし上記のｋは１〜Ｎの任意の整数としてよい。なお、合成部分の決定処理については、上述した参加者用合成部２２０−ｉにおける処理と同様であるため省略する。
【００８２】
また、合成制御部２２５−Ｇは、コラボ配信への参加者の数に基づいて、参加者用バッファ領域２２１−Ｇに格納される各ユーザの画像データを合成する際の１ユーザ当たりの画像領域のサイズ（Ｓ）を決定することとしてよい。この処理に関しても合成制御部２２５−ｉと同様であるため省略する。
【００８３】
また、合成制御部２２５−Ｇは、例えば合成対象の各データについて、合成部分の終了位置、合成部分の時間長、合成部分に含まれる空データの時間長に基づいて、合成タイミング制御データＤ（ｋ）を更新することとしてよい。
【００８４】
合成部２２７−Ｇは、合成制御部２２５−Ｇにより決定した各視聴者用バッファＢｆ（ｋ）についての合成部分をそれぞれ合成する。例えば、合成部２２７−Ｇは、音声データに関しては、各視聴者用バッファＢｆ（ｋ）の音声データの波形を合成して合成音声のデータを生成することとしてよい。また、合成部２２７−Ｇは、画像データに関しては、例えば、視聴者用バッファＢｆ（１）の画像データを背景画像とし、視聴者用バッファＢｆ（２）〜視聴者用バッファＢｆ（Ｎ）のそれぞれの画像データを１ユーザ当たりの画像領域のサイズ（Ｓ）に変換して連結した小窓埋め込み用の小窓合成画像を、上記の背景画像の小窓領域（部分領域）に埋め込むことで合成画像を生成することとしてよい。なお、背景画像は視聴者用バッファＢｆ（１）〜（Ｎ）の任意の１つから選択されることとしてよく、その場合に小窓合成画像は上記選択されたバッファ以外のバッファに格納された画像を連結したものとしてよい。
【００８５】
［３．２．５．エンコード部］
エンコード部２４０−１〜Ｎ及びエンコード部２４０−Ｇは、主に制御部２１及び記憶部２２によって実現されることとしてよい。
【００８６】
エンコード部２４０−ｉ（ｉは１〜Ｎの任意の整数）は、参加者用合成部２２０−ｉで合成された合成画像データと合成音声データとをそれぞれ所定の圧縮規格に基づいて圧縮する。そして、エンコード部２４０−ｉは、圧縮した合成画像データと音声データをパケット送信部２５０−ｉに出力する。
【００８７】
また、エンコード部２４０−Ｇは、視聴者用合成部２２０−Ｇで合成された合成画像データと合成音声データとをそれぞれ所定の圧縮規格に基づいて圧縮する。そして、エンコード部２４０−Ｇは、圧縮した合成画像データと音声データをパケット送信部２５０−Ｇに出力する。
【００８８】
［３．２．６．パケット送信部］
パケット送信部２５０−１〜Ｎ及びパケット送信部２５０−Ｇは、主に制御部１１、記憶部１２及び通信部１３によって実現されることとしてよい。
【００８９】
パケット送信部２５０−ｉ（ｉは１〜Ｎの任意の整数）は、エンコード部２４０−ｉにより圧縮された合成画像データと、合成音声データをそれぞれ送信するパケットのサイズに応じて分割し、例えばＴＣＰ（Transmission Control Protocol）ヘッダ及びＩＰ（Internet Protocol）ヘッダを付加してパケット化する。なお、合成画像データのパケットと、合成音声データのパケットにはそれぞれ時刻同期情報を含んでいることとし、時刻同期情報に基づいて合成画像データと合成音声データとが同期再生される。そして、パケット送信部２５０−ｉは、パケット化した合成画像データ、合成音声データ、及び制御情報を多重化した送信パケットを生成し、送信パケットを送信バッファに格納する。そして、パケット送信部は、送信バッファに格納された送信パケットをユーザ端末１０−ｉに対して順次送信する。
【００９０】
パケット送信部２５０−Ｇは、エンコード部２５０−Ｇにより圧縮された合成画像データと、合成音声データをそれぞれパケット化して生成した送信パケットを送信バッファに格納し、格納した送信パケットをユーザ端末１０−Ｇに対して順次送信する。
【００９１】
［４．配信システム１において実行される処理］
図１８乃至図２２は、配信システム１において実行される処理を示す図である。図１８乃至図２２においてユーザ端末１０に関する処理は、ユーザ端末１０の制御部１１が記憶部１２に記憶されたプログラムに基づいて実行し、中継装置２０に関する処理は、中継装置２０の制御部２１が記憶部２２に記憶されたプログラムに基づいて実行するものとしてよい。
【００９２】
［４．１．コラボ配信開始処理］
図１８は、配信システム１において実行されるコラボ配信開始処理の一例を示すシーケンス図である。図１８に示す例では、ユーザ端末１０−１が中継装置２０と通信することによりコラボ配信を開始する際の処理について説明する。
【００９３】
図１８に示されるように、ユーザ端末１０−１の制御部１１は、入力部１４によりユーザからコラボ配信の開始要求の操作を受け付けると（Ｓ１００）、中継装置２０に対して、通信部１３によりコラボ配信の開始を要求する（Ｓ１０１）。例えば、ユーザ端末１０−１の制御部１１は、図２に示した開始要求受付画面Ｇ１００における配信開始ボタンＰ１０２が選択された場合に、配信の開始要求を受け付け、配信の開始を要求することとしてよい。この際に、例えばユーザ端末１０−１は、通信部１３によりコラボ配信に係るユーザの情報、配信の情報（説明情報、配信モード等）等を中継装置２０に送信することとしてよい。
【００９４】
中継装置２０の制御部２１は、通信部２３によりユーザ端末１０−１からコラボ配信の開始要求を受け付けると、受け付けた開始要求に基づいて配信情報を登録する（Ｓ２００）。そして、中継装置２０の制御部２１は、通信部２３によりユーザ端末１０−１に対して、配信開始の許可を通知する（Ｓ２０１）。
【００９５】
ユーザ端末１０−１の制御部１１は、通信部１３により中継装置２０から配信開始の許可を受け付けると、ユーザ端末１０−１のマイク１６とカメラ１５から音声と画像を取得し（Ｓ１０２）、取得した音声と画像を符号化してパケットを生成する（Ｓ１０３）。そして、ユーザ端末１０−１の制御部１１は、生成したパケットを順次、通信部１３により中継装置２０に対して送信する（Ｓ１０５）。
【００９６】
中継装置２０の制御部２１は、通信部２３によりユーザ端末１０−１から送信されたパケットを受信すると、受信したパケットを受信バッファに順次格納する（Ｓ２０２）。そして、中継装置２０の制御部２１は、受信バッファに格納されたパケットに基づいて配信制御処理を実行し（Ｓ２０３）、その結果生成したパケットを、通信部２３によりユーザ端末１０−１に対して送信する（Ｓ２０４）。なお、Ｓ１０５で実行されるパケットの送信処理と、Ｓ２０４で実行されるパケットの送信処理とは非同期で実施してよい。その場合に、Ｓ１０５で送信されるパケットの到着を待たずに、Ｓ２０４によりバッファに格納されているパケット（データ）を送信することとしてよい。なお、上記の配信制御処理の詳細については後述する。
【００９７】
ユーザ端末１０−１の制御部１１は、通信部により中継装置２０から送信されたパケットを受信すると、受信したパケットを受信バッファに順次格納する（Ｓ１０６）。そして、中継装置２０の制御部２１は、受信バッファに格納されたパケットに基づいて再生制御処理を実行する（Ｓ１０７）。なお、上記の再生制御処理の詳細については後述する。
【００９８】
また、ユーザ端末１０−１の制御部１１は、コラボ配信を終了せずに継続する場合には（Ｓ１０８：Ｎ）、Ｓ１０２に戻り、継続しない場合には（Ｓ１０８：Ｙ）、通信部１３により中継装置２０に終了を通知して（Ｓ１０９）、処理を終了する。
【００９９】
中継装置２０の制御部２１は、通信部２３によりユーザ端末１０−１から終了の通知を受けると、コラボ配信の終了処理を実行する。
【０１００】
［４．２．コラボ配信参加処理］
図１９は、配信システム１において実行されるコラボ配信への参加処理の一例を示すシーケンス図である。図１９に示す例では、ユーザ端末１０−２が、ユーザ端末１０−１が開始したコラボ配信に参加する際の処理について説明する。
【０１０１】
図１９に示されるように、ユーザ端末１０−２の制御部１１は、入力部１４によりユーザから受け付けた操作に応じて、通信部１３により中継装置２０に配信リストの転送を要求する（Ｓ１１０）。
【０１０２】
中継装置２０の制御部２１は、通信部２３によりユーザ端末１０−２から配信リストの転送要求を受け付けると、登録されている配信情報に基づいて配信リストを生成して、生成した配信リストを通信部２３によりユーザ端末１０−２に送信する（Ｓ２１０）。
【０１０３】
ユーザ端末１０−２の制御部１１は、通信部１３により中継装置２０から配信リストを受信すると、上記受信した配信リストをディスプレイ１８に表示させ（例えば図３に示した配信リスト表示画面Ｇ２００等）、表示した配信リストの中から配信データの選択を受け付ける（Ｓ１１１）。そして、ユーザ端末１０−２の制御部１１は、通信部１３により中継装置２０に上記選択された配信データの情報を通知して、選択された配信データの配信を要求する（Ｓ１１２）。
【０１０４】
中継装置２０の制御部２１は、通信部２３によりユーザ端末１０−２から受け付けたデータ配信の要求に応じて、データ（ストリーミングデータ）を配信する（Ｓ２１１）。
【０１０５】
ユーザ端末１０−２の制御部１１は、通信部１３により中継装置２０から配信データを受信し、受信した配信データに基づく再生処理を実行する（Ｓ１１３）。例えば、ユーザ端末１０−２の制御部１１は、配信データに含まれる画像データに基づいて図４に示される配信データの再生画面Ｇ２０１をディスプレイ１８に表示させるとともに、配信データに含まれる音声データに基づく音声をスピーカ１７に出力してデータ再生することとしてよい。
【０１０６】
ここで、ユーザ端末１０−２の制御部１１は、例えば図４に示される再生画面Ｇ２０１において参加アイコンＰ１０４が選択されることで、受信している配信データに係るコラボ配信への参加要求をユーザから受け付けると（Ｓ１１４）、通信部１３により中継装置２０に対して参加を要求する（Ｓ１１５）。
【０１０７】
中継装置２０の制御部２１は、通信部２３によりユーザ端末１０−２から参加要求を受け付けると、コラボ配信を開始したユーザ端末１０−１に対して、参加を許可するか否かを問い合わせる（Ｓ２１２）。例えば、参加の許否の問い合わせは、図５に示される参加可否問い合わせ画面Ｇ１０１を表示させ、その選択結果を受け付けることで行うこととしてよい。
【０１０８】
中継装置２０の制御部２１は、ユーザ端末１０−１への問い合わせの結果が許可でない場合には（Ｓ２１３：Ｎ）、通信部２３によりユーザ端末１０−２に不許可を通知する（Ｓ２１４）。
【０１０９】
ユーザ端末１０−２の制御部１１は、通信部１３により中継装置２０から不許可の通知を受けると、参加エラー処理を実行する（Ｓ１１６）。例えば、参加エラー処理としては、ユーザ端末の制御部１１は、参加不許可の旨をディスプレイ１８に表示させることとしてよい。
【０１１０】
一方、中継装置２０の制御部２１は、ユーザ端末１０−１への問い合わせの結果が許可である場合には（Ｓ２１３：Ｙ）、通信部２３によりユーザ端末１０−２に許可を通知する（Ｓ２１５）。
【０１１１】
ユーザ端末１０−２の制御部１１は、通信部１３により中継装置２０から許可の通知を受信すると、ユーザ端末１０−２のマイク１６とカメラ１５から音声と画像を取得し（Ｓ１１７）、取得した音声と画像を符号化してパケットを生成する（Ｓ１１８）。そして、ユーザ端末１０−２の通信部１１は、生成したパケットを順次、中継装置２０に対して送信する（Ｓ１１９）。
【０１１２】
中継装置２０の制御部２１は、通信部２３によりユーザ端末１０−２から送信されたパケットを受信すると、受信したパケットを受信バッファに順次格納する（Ｓ２１６）。そして、中継装置２０の制御部２１は、受信バッファに格納されたパケットに基づいて配信制御処理を実行し（Ｓ２１７）、その結果生成したパケットを、通信部２３によりユーザ端末１０−２に対して送信する（Ｓ２１８）。なお、Ｓ１１９で実行されるパケットの送信処理と、Ｓ２１８で実行されるパケットの送信処理とは非同期で実施してよい。その場合に、Ｓ１１で送信されるパケットの到着を待たずに、Ｓ２１８によりバッファに格納されているパケット（データ）を送信することとしてよい。なお、配信制御処理の詳細については後述する。
【０１１３】
ユーザ端末１０−２の制御部１１は、通信部１３により中継装置２０から送信されたパケットを受信すると、受信したパケットを受信バッファに順次格納する（Ｓ１２０）。そして、ユーザ端末１０−２の制御部１１は、受信バッファに格納されたパケットに基づいて再生制御処理を実行する（Ｓ１２１）。なお、再生制御処理の詳細については後述する。
【０１１４】
また、ユーザ端末１０−２の制御部１１は、コラボ配信への参加を継続する場合には（Ｓ１２２：Ｎ）、Ｓ１１７に戻り、継続しない場合には（Ｓ１２２：Ｙ）、コラボ配信への参加を終了する（Ｓ１２３）。ここで例えば、ユーザ端末１０−２は、中継装置２０からの配信データの受信を継続したまま配信データの再生を続けてもよいし、配信データの受信を終了してもよい。
【０１１５】
［４．３．配信制御処理］
次に、中継装置２０で実行される配信制御処理の一例について説明する。図２０は、中継装置２０において実行される配信制御処理の一例を示すフロー図である。図２０に示す例では、ユーザ端末１０−１に対して、コラボ配信に参加するユーザ端末１０−２〜Ｎから受信したデータを合成する処理について説明する。
【０１１６】
図２０に示されるように、中継装置２０の制御部２１は、参加者用合成部２２０−１の参加者用バッファ領域２２１−１に記憶される他の参加者のユーザ端末１０−２〜Ｎのそれぞれの参加者用バッファＢｆ（２）〜Ｂｆ（Ｎ）に格納される音声データ（波形データ）をチェックする（Ｓ２２０）。
【０１１７】
中継装置２０の制御部２１は、Ｓ２２０の結果、他の全ての参加者の波形データが揃っている場合には（Ｓ２２１：Ｙ）、波形データにおける未合成の部分のうち同じ時間長（最大をＴｍａｘ）の波形部分を合成対象とする（Ｓ２２２）。例えば、中継装置２０の制御部２１は、他の全ての参加者の波形データのうち未合成の部分が最小の時間長である波形データの部分を、合成対象として決定することとしてよい（すなわち、他の全ての参加者の波形データが揃っている部分を合成部分とすることとしてよい）。
【０１１８】
次に、中継装置２０の制御部２１は、変数ｊを２に初期化し（Ｓ２２３）、参加者用バッファＢｆ（ｊ）に記憶される波形データ（例えば、Ｓ２２２で決定した合成部分を除く部分としてよい）の時間長が閾値（Ａとする）よりも大きい場合には（Ｓ２２４：Ｙ）、Ｓ２２５に進む。
【０１１９】
中継装置２０の制御部２１は、Ｓ２２５において、合成タイミング制御データ領域２２３−１に記憶される他のいずれかの参加者の遅れ時間が閾値（Ｂとする）よりも大きい場合には（Ｓ２２５：Ｙ）、参加者用バッファＢｆ（ｊ）に記憶される波形データのうち無音部分をカットする（Ｓ２２６）。また、中継装置２０の制御部２１は、Ｓ２２５において、合成タイミング制御データ領域２２３−１に記憶される他の全ての参加者の遅れ時間が閾値（Ｂとする）以下である場合には（Ｓ２２５：Ｎ）、Ｓ２２２で決定した合成部分に、参加者用バッファＢｆ（ｊ）に記憶される波形データ（例えば、Ｓ２２２で決定した合成部分を除く部分）を追加する（Ｓ２２７）。この場合に、Ｂｆ（ｊ）以外のバッファに記憶される波形データの追加は行われないこととしてよい（すなわちＢｆ（ｊ）以外については、追加部分は空データとなる）。
【０１２０】
次に、中継装置２０の制御部２１は、変数ｊがＮに達していない場合には（Ｓ２２８：Ｎ）、変数ｊに１を加算して（Ｓ２２９）、Ｓ２２４に戻る。また、中継装置２０の制御部２１は、変数ｊがＮに達している場合には（Ｓ２２８：Ｙ）、Ｓ２３２に進む。
【０１２１】
また、中継装置２０の制御部２１は、Ｓ２２１において、他の参加者のうちいずれかの波形データが揃っていない（すなわちデータが格納されていないバッファがある）場合には（Ｓ２２１：Ｎ）、待機時間が閾値（Ｃとする）を超えないときには（Ｓ２３０：Ｎ）、Ｓ２２０に戻り、待機時間が閾値（Ｃとする）を超えたときには（Ｓ２３０：Ｙ）、参加者用バッファＢｆ（ｊ）に記憶される波形データ（すなわち到着しているデータ）について切り出した波形部分を合成部分とする（Ｓ２３１）。例えば、中継装置２０の制御部２１は、参加者用バッファＢｆ（ｊ）に記憶される波形データ（時間長が０以外の波形データ）のうち最小の時間長の波形データの部分を、合成部分として決定することとしてよい。
【０１２２】
中継装置２０の制御部２１は、Ｓ２３１の後又はＳ２２８で変数ｊがＮに達している場合には（Ｓ２２８：Ｙ）、Ｓ２３２を実行する。すなわち、中継装置２０の制御部２１は、以上決定した合成部分についてＢｆ（２）〜Ｂｆ（Ｎ）にそれぞれ記憶される波形データ（又は波形データに空データを加えたデータ）を合成して合成音声を生成する（Ｓ２３２）。
【０１２３】
また、中継装置２０の制御部２１は、以上決定した合成部分の音声に対応する画像を合成する合成画像生成処理を実行する（Ｓ２３３）。なお、合成画像生成処理の詳細について後述する。
【０１２４】
中継装置２０の制御部２１は、Ｓ２３２で生成した合成音声と、Ｓ２３３で生成した合成画像とをそれぞれ圧縮した後に、パケット化して配信用のパケットを生成する（Ｓ２３４）。
【０１２５】
また、中継装置２０の制御部２１は、合成部分の時間長、合成部分に含まれる空データの時間長等に基づいて、合成タイミング制御データ領域２２３−１のそれぞれの合成タイミング制御データＤ（２）〜Ｄ（Ｎ）を更新し（Ｓ２３５）、配信制御処理を抜ける。
【０１２６】
なお、図２０のフロー図は、中継装置２０が、ユーザ端末１０−１に対して、コラボ配信に参加するユーザ端末１０−２〜Ｎから受信したデータを合成する処理について説明するものであるが、中継装置２０はユーザ端末１０−２〜Ｎについても同様の処理を実行することとしてよい。また、ユーザ端末１０Ｇに対して、ユーザ端末１０−１〜Ｎから受信したデータを合成する際についても上記のフローと同様の処理を適用することとしてよい。
【０１２７】
［４．４．合成画像生成処理］
次に、中継装置２０で実行される合成画像生成処理の一例について説明する。図２１は、中継装置２０において実行される合成画像処理の一例を示すフロー図である。図２１に示す例では、ユーザ端末１０−１に対して、コラボ配信に参加するユーザ端末１０−２〜Ｎから受信した画像データを合成して合成画像を生成する処理について説明する。
【０１２８】
図２１に示されるように、中継装置２０の制御部２１は、コラボ配信の参加者数（Ｎ）に基づいて、１ユーザ当たりの画像領域のサイズＳを決定する（Ｓ２４０）。例えば、中継装置２０の制御部２１は、予め定められたサイズの合成画像の領域内に、（Ｎ−１）の参加者の画像を配置する際の１枚当たりの画像サイズを、上記の画像領域のサイズＳとして決定することとしてもよい。なお、参加者数ごとに、予め画像領域のサイズＳを関連付けて記憶しておくこととしてもよい。
【０１２９】
中継装置２０の制御部２１は、変数ｔを１に、変数ｊを２に初期化する（Ｓ２４１）。次に、ユーザ端末１０−ｊについての参加者用バッファＢｆ（ｊ）に記憶される画像データのうち、図２０のフローで決定した合成部分に対応するフレーム（フレーム１〜Ｔとする）における第ｔフレームの画像Ｐｊの画像サイズがサイズＳとなるように変換する（Ｓ２４２）。
【０１３０】
次に、中継装置２０の制御部２１は、Ｓ２４２で画像サイズを変換した画像Ｐｊを、第ｔフレームの合成画像に設けられた（Ｎ−１）個のサイズＳの領域（例えばＡ２〜ＡＮとする）のうち１つ（例えばＡｊ）に割り付ける（Ｓ２４３）。
【０１３１】
中継装置２０の制御部２１は、変数ｊがＮに達していない場合には（Ｓ２４４：Ｎ）、変数ｊに１加算して（Ｓ２４５）、Ｓ２４２に戻る。また、中継装置２０の制御部２１は、変数ｊがＮに達している場合であって（Ｓ２４４：Ｙ）、さらにフレームｔがＴに達していないときには（Ｓ２４６：Ｎ）、変数ｊを１に、変数ｔに１加算して（Ｓ２４７）、Ｓ２４２に戻る。
【０１３２】
また、中継装置２０の制御部２１は、Ｓ２４６でフレームｔがＴに達しているときには（Ｓ２４６：Ｙ）、合成画像生成処理を抜ける。
【０１３３】
なお、図２１のフロー図は、中継装置２０が、ユーザ端末１０−１に対して、コラボ配信に参加するユーザ端末１０−２〜Ｎから受信した画像データを合成する処理について説明するものであるが、中継装置２０はユーザ端末１０−２〜Ｎに対しても同様の処理を実行することとしてよい。また、中継装置２０は、ユーザ端末１０Ｇに対しても、ユーザ端末１０−１〜Ｎから受信した画像データを合成する際において、ユーザ端末１０−２〜Ｎの画像データを上記のフローと同様の処理で合成した後に、合成した画像をユーザ端末１０−１の画像データの一部に埋め込むことで合成画像を生成することとしてよい。
【０１３４】
［４．５．再生制御処理］
次に、ユーザ端末１０−１〜Ｎ、及びユーザ端末１０Ｇで実行される再生制御処理の一例について説明する。図２２は、ユーザ端末１０−１〜Ｎ、及びユーザ端末１０Ｇにおいて実行される再生制御処理の一例を示すフロー図である。図２２に示す例では、ユーザ端末１０−１が、中継装置２０から受信したパケットに基づいてデータを再生する処理について説明する。
【０１３５】
図２２に示されるように、ユーザ端末１０−１の制御部１１は、中継装置２０から受信したパケットを格納する受信バッファにパケットが格納されている場合には（Ｓ１３０：Ｙ）、次に再生するパケットを読み込む（Ｓ１３１）。そして、ユーザ端末１０−１の制御部１１は、Ｓ１３１で読み込んだパケットをデコードして、合成音声と合成画像とを取得する（Ｓ１３２）。
【０１３６】
そして、ユーザ端末１０−１の制御部１１は、ユーザ端末１０−１のカメラ１５で撮影されたカメラ画像に、合成画像を重畳してディスプレイ１８に表示させるとともに、合成音声をスピーカ１７で出力してデータ再生し（Ｓ１３３）、再生制御処理を抜ける。
【０１３７】
また、ユーザ端末１０−１の制御部１１は、Ｓ１３０で受信バッファにパケットが格納されていない場合にも（Ｓ１３０：Ｎ）、再生制御処理を抜ける。
【０１３８】
なお、ユーザ端末１０−２〜Ｎにおいても、上記と同様のフローを実行して中継装置２０から受信したパケットに基づくデータ再生を行うこととしてよい。また、ユーザ端末１０Ｇにおいても、中継装置２０から受信したパケットを上記のフローに基づいてデータ再生することとしてよい。
【０１３９】
以上説明した実施形態に係る配信システム１によれば、それぞれ対話を行う複数のユーザが操作する複数のユーザ端末１０−１〜Ｎから送信された映像と音声を含むパケットに基づくデータを中継装置２０が合成して複数のユーザ端末１０−１のそれぞれに合成データを配信する際に用いるバッファサイズ（第１のバッファサイズ）と、上記の対話には参加せずに視聴するだけのユーザが操作するユーザ端末１０Ｇに対して、複数のユーザ端末１０−１〜Ｎから送信された映像と音声を含むパケットに基づくデータを中継装置２０が合成した合成データを配信する際に用いるバッファサイズ（第２のバッファサイズ）とを異なる容量とし、第１のバッファサイズを第２のバッファサイズよりも小さくしたことで、対話に参加する参加者のユーザ端末１０−１〜Ｎに対しては遅延を低減して配信が実行でき、視聴者のユーザ端末１０Ｇに対してはデータの欠落が少ない高品質の配信が実行できる。
【０１４０】
また、上記の配信システム１によれば、対話の参加者数（Ｎ）に応じて、中継装置２０が１ユーザ当たりのカメラ画像のサイズを制御し、合成画像のサイズが一定の範囲に収まるように合成することで、参加者数（Ｎ）が増えた場合にも、ユーザ端末１０−１〜Ｎの限られたディスプレイ１８サイズにおいて他のユーザの状況を把握させることができる。また、参加者数（Ｎ）が増えた場合にもユーザ端末１０−１〜Ｎの負荷を増大させることもないため、ユーザ端末１０−１〜Ｎの処理能力の制約を小さくすることができ、参加者数（Ｎ）の増減に対応し易くなる。
【０１４１】
［５．変形例］
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【０１４２】
（１）例えば、配信システム１において、コラボ配信への参加を申請し、参加の待機をしているユーザ端末１０−Ａに対して、中継装置２０はパケット受信部２００−Ａ，デコード部２１０−Ａ、参加者用合成部２２０−Ａ、エンコード部２４０−Ａ、パケット送信部２５０−Ａのユニットを新たに設け、コラボ配信に既に参加しているユーザ端末１０−１〜Ｎのデータを上記設けたユニットにより合成して提供するようにしてもよい。
【０１４３】
（２）また例えば、配信システム１において、中継装置２０は、視聴者用合成部２２０−Ｇで合成された配信データをデータベースに記録するようにしてもよい。そして、中継装置２０は、記録した配信データを、クライアント装置からの要求に応じてストリーミング配信することとしてもよい。
【０１４４】
（３）また例えば、配信システム１において、中継装置２０のエンコード部２４０は、データを提供するユーザ端末の機種や通信回線に応じてエンコードの方式を変えてもよい。
【０１４５】
（４）また例えば、配信システム１において、中継装置２０は、コラボ配信に参加するユーザ端末１０−１〜Ｎから受信したそれぞれのカメラ画像を、参加者の数に応じた基準画像サイズに縮小した縮小画像して、ユーザ端末１０−１〜Ｎに送信することとしてもよい。この場合には、ユーザ端末１０−１〜Ｎが、中継装置２０から受信した縮小画像を所定の窓領域に合成表示させることとしてもよい。
【０１４６】
（５）また例えば、配信システム１において、参加者用バッファを視聴者用バッファの一部を利用することで実現してもよい。
【０１４７】
（６）また例えば、上述した配信システム１においては、映像と音声を制御するためのヘッダを含めた情報をＴＣＰ及びＩＰプロトコルにより送受信する例を説明したが、映像と音声を制御するためのヘッダを含めた情報をＵＤＰ（User Datagram Protocol）及びＩＰプロトコルにより送受信しても構わない。
【符号の説明】
【０１４８】
１  配信システム、１０（１０−１〜Ｎ，１０Ｇ）  ユーザ端末、１１  制御部、１２  記憶部、１３  通信部、１４  入力部、１５  カメラ、１６  マイク、１７  スピーカ、１８  ディスプレイ、１０２  入力変換部、１０４  エンコード部、１０６  パケット送信部、１０６Ａ  送信バッファ、１０８  パケット受信部、１０８Ａ  受信バッファ、１１０  デコード部、１１２  出力変換部、２０  中継装置、２１  制御部、２２  記憶部、２３  通信部、２００−１〜Ｎ  パケット受信部、２１０−１〜Ｎ  デコード部、２２０−１〜Ｎ  参加者用合成部、２２１−ｉ  参加者用バッファ領域、２２３−ｉ  合成タイミング制御データ領域、２２５−ｉ  合成制御部、２２７−ｉ  合成部、２２０−Ｇ  視聴者用合成部、２２１−Ｇ  視聴者用バッファ領域、２２３−Ｇ  合成タイミング制御データ領域、２２５−Ｇ  合成制御部、２２７−Ｇ  合成部、２４０−１〜Ｎ，２４０−Ｇ  エンコード部、２５０−１〜Ｎ、２５０−Ｇ  パケット送信部、ＮＷ  ネットワーク。
【図１】
0006279415.tif 000002
【図２】
0006279415.tif 000003
【図３】
0006279415.tif 000004
【図４】
0006279415.tif 000005
【図５】
0006279415.tif 000006
【図６】
0006279415.tif 000007
【図７】
0006279415.tif 000008
【図８】
0006279415.tif 000009
【図９】
0006279415.tif 000010
【図１０】
0006279415.tif 000011
【図１１】
0006279415.tif 000012
【図１２】
0006279415.tif 000013
【図１３】
0006279415.tif 000014
【図１４】
0006279415.tif 000015
【図１５】
0006279415.tif 000016
【図１６】
0006279415.tif 000017
【図１７】
0006279415.tif 000018
【図１８】
0006279415.tif 000019
【図１９】
0006279415.tif 000020
【図２０】
0006279415.tif 000021
【図２１】
0006279415.tif 000022
【図２２】
0006279415.tif 000023