(58)【調査した分野】(Int.Cl.,DB名)
前記第2の動画は、受信したウェブページを用いて前記第1配信者の操作に関する操作データに基づいて生成されたゲームに関する動画となるようにプロセッサを機能させる、
請求項1に記載のコンピュータプログラム。
前記少なくとも1つの他のアバターを前記第1配信者のアバターとともに前記第2の動画内に含める表示制御を行うことで、前記第1配信者と、前記少なくとも1つの他のアバターに対応するユーザと、が前記ゲームを実行するようにプロセッサを機能させる、
請求項1または請求項2に記載のコンピュータプログラム。
前記第1データは、前記少なくとも1つの他のアバターを前記第1配信者のアバターとともに前記第2の動画内に含めることを要求するデータを含むように前記プロセッサを機能させる、
請求項1〜請求項4のいずれかに記載のコンピュータプログラム。
前記第2データおよび前記第3データの少なくともいずれかは、前記第1配信者のアバターとともに前記第2の動画内に含める少なくとも1つの他のアバターの優先順位を前記少なくとも一のユーザの各々に対して割り当てたデータを含む、ように前記プロセッサを機能させる、
請求項1〜請求項5のいずれかに記載のコンピュータプログラム。
前記少なくとも1つの他のアバターの数が、前記第1上限値を超える場合において、前記少なくとも1つの他のアバターの中から前記第1上限値の人数以下のアバターを前記第1配信者のアバターとともに前記第2の動画内に含めることを決定した場合には、前記少なくとも1つの他のアバターのうち前記第1配信者のアバターとともに前記第2の動画内に含めないアバターに対応するユーザに対して前記第1の動画および前記第2の動画の少なくともいずれかを配信するように前記プロセッサを機能させる、
請求項7に記載のコンピュータプログラム。
前記第2データは、前記少なくとも一のユーザが過去に配信したゲームの配信回数、前記少なくとも一のユーザが過去に視聴したゲームの視聴回数、前記少なくとも一のユーザのアバターのレベルを示すデータ、前記少なくとも一のユーザのランキングを示すデータ、前記第1配信者によって過去に配信されたゲームにおいて前記少なくとも一のユーザが前記第1配信者とともに前記ゲームを配信した配信回数を示すデータ、前記少なくとも一のユーザが前記第1配信者によって過去に配信されたゲームを視聴した視聴回数を示すデータ、前記第1配信者によって過去に実行されたゲーム内のイベントに前記少なくとも一のユーザが所属した履歴を示すデータ、前記少なくとも一のユーザが前記第1配信者をフォローしているか否かを示すデータ、前記少なくとも一のユーザと前記第1配信者との間で送信されたメッセージの総数を示すデータ、並びに、前記第1配信者によって過去に配信されたゲームにおいて前記少なくとも一のユーザが、前記第1配信者に付与したギフトの量およびギフトの内容、のうち少なくともいずれかを含むように前記プロセッサを機能させる、
請求項8に記載のコンピュータプログラム。
前記第2データに基づいて、前記少なくとも一のユーザのアバターのうち、過去に配信したゲームの配信回数が最も多いユーザのアバター、過去に視聴したゲームの視聴回数が最も多いユーザのアバター、最もレベルの高いアバター、最もランキングの高いユーザのアバター、前記第1配信者によって過去に配信されたゲームに前記第1配信者とともに配信した配信回数が最も多いユーザのアバター、前記第1配信者によって過去に実行されたゲームを視聴した視聴回数が最も多いユーザのアバター、前記第1配信者によって過去に実行されたゲーム内のイベントに所属した回数が最も多いユーザのアバター、前記第1配信者に送信したメッセージおよび前記第1配信者から受信したメッセージの総数が最も多いユーザのアバター、前記第1配信者にギフトを最も多く付与したユーザのアバター、または、前記第1配信者に付与した前記ギフトの価値の累計が最も高いと決定されたユーザのアバターを、前記第1配信者のアバターとともに前記第2の動画内に含める表示制御を行うように前記プロセッサを機能させる、
請求項9に記載のコンピュータプログラム。
前記第1配信者に付与した前記ギフトの価値の累計は、前記第1配信者に付与された各々のギフトの価格の総和、または、前記ゲーム内において消費された各々の消費ポイントの総和、に基づいて決定されるように前記プロセッサを機能させる、
請求項10に記載のコンピュータプログラム。
前記第3データに基づいて、前記少なくとも一のユーザのうち、前記送信タイミングが最先であるユーザのアバターを、前記第1配信者のアバターとともに前記第2の動画内に含める表示制御を行うように前記プロセッサを機能させる、
請求項12に記載のコンピュータプログラム。
前記表示制御を行った後、前記第1配信者のアバターのパラメータの変更、前記第1配信者のアバターとともに前記第2の動画内に含める前記少なくとも1つの他のアバターのパラメータの変更、または、前記表示制御を行った後、第1時間が経過したこと、に基づいて、前記第1配信者のアバターとともに前記第2の動画内に含めるアバターを変更するように前記プロセッサを機能させる、
請求項1〜請求項13のいずれかに記載のコンピュータプログラム。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して本発明の様々な実施形態を説明する。なお、図面において共通した構成要素には同一の参照符号が付されている。また、或る図面に表現された構成要素が、説明の便宜上、別の図面においては省略されていることがある点に留意されたい。さらにまた、添付した図面が必ずしも正確な縮尺で記載されている訳ではないということに注意されたい。
1.動画配信システムの構成
本開示の動画配信システムは、簡潔にいえば、配信を行うユーザ(以下「配信者」という。)が、その端末を用いて、この配信者の動作に関する動作データに基づいて生成されたアバター(アバターオブジェクト)のアニメーションを含む第1の動画、及び、この配信者の操作に関する操作データに基づいて生成されたゲームに関する第2の動画を、通信回線を介して、動画を視聴するユーザ(以下「視聴者」という。)の端末に配信することを可能にするものである。以下、第1の例について、
図1〜
図5Bを参照しながら説明する。
【0015】
図1は、一実施形態に係る動画配信システムの構成の一例を示すブロック図である。
図1に示すように、動画配信システム1は、図示しない通信回線(通信網)に接続される複数の端末10と、通信回線に接続される1又は複数のサーバ装置20と、を含むことができる。各端末10は、通信回線を介して、1又は複数のサーバ装置20に接続され得る。
【0016】
なお、
図1には、複数の端末10として、例えば、第1配信者端末11A、第2配信者端末11B、視聴者端末12A、視聴者端末12B、及び、視聴者端末12Cが示されているが、これら以外の1又はそれ以上の端末10が同様に用いられ得る。また、以後の説明において、第1配信者端末11Aおよび第2配信者端末11Bを配信者端末11と総称することがあるものとし、視聴者端末12A〜12Cを視聴者端末12と総称することがあるものとする。また、
図1には、1又は複数のサーバ装置20として、例えば、サーバ装置20A及び20Bが示されているが、これら以外の1又はそれ以上のサーバ装置20が同様に用いられ得る。また、図示しない通信回線は、携帯電話網、無線LAN、固定電話網、インターネット、イントラネット及び/又はイーサネット(登録商標)等をこれらに限定することなく含むことができるものである。
【0017】
さらに、一実施形態では、動画配信システム1は、通信網に接続される1又はそれ以上のスタジオユニット30を含むこともできる。各スタジオユニット30は、通信回線を介して、1又は複数のサーバ装置20又は複数の端末10に接続され得る。なお、
図1には、1又はそれ以上のスタジオユニット30として、例えば、スタジオユニット30A及び30Bが示されているが、これら以外の1又はそれ以上のスタジオユニット30が同様に用いられ得る。各スタジオユニット30は、後述する端末10又はサーバ装置20と同様の機能を有することが可能なものである。
【0018】
以下、説明を簡単にするために、1又は複数のサーバ装置20が、各端末10との間において、動画等の送受信を行う場合に着目する。これに代えて又はこれに加えて、後述するように、1又は複数のサーバ装置20が、各スタジオユニット30との間において、動画等の送受信を行うことも可能である。さらに、これに代えて又はこれに加えて、後述するように、スタジオユニット30が、各端末10との間において、動画等の送受信を行うことも可能である。
【0019】
1−1.端末10
複数の端末10は、例えば、複数の配信者端末11(例えば、第1配信者端末11Aおよび第2配信者端末11B)と、1又はそれ以上の視聴者端末12(例えば、視聴者端末12A〜12C)と、を含むことができる。なお、第1配信者端末11Aに対応する配信者を第1配信者、第2配信者端末11Bに対応する配信者を第2配信者と称するものとする。なお、以下の説明において、複数の配信者端末11のうち、第1配信者端末11Aが単独でゲームを配信している場合には、第2配信者端末11Bは、ゲームを配信する端末として機能していなくてもよく、例えば、視聴者端末12と同様に機能する構成であってもよい。
【0020】
各端末10は、共通した構成を有することにより、動画を配信するための端末(配信者端末11)及び動画を視聴するための端末(視聴者端末12)のいずれにもなり得るものである。
【0021】
また、各端末10は、動画を配信するための端末(配信者の端末)として動作する場合には、インストールされた動画配信用アプリケーション(ミドルウェア、又は、アプリケーションとミドルウェアとを組み合わせたものであってもよい。以下同様。)を実行することにより、その配信者の動作に関する動作データを取得し、取得したデータに従って変化させた仮想的なキャラクター(アバター/アバターオブジェクト)のアニメーションを含む第1の動画を、通信回線を介してサーバ装置20(配信サーバシステム20A1)に送信することができる。このような第1の動画は、サーバ装置20(配信サーバシステム20A1)により通信回線を介して、動画を受信するための端末(視聴者端末)12に配信される。このような視聴者端末12は、インストールされた動画視聴用アプリケーション(ミドルウェア、又は、アプリケーションとミドルウェアとを組み合わせたものであってもよい。以下同様。)を実行することにより、動画を受信することができる。
【0022】
また、各端末10は、インストールされた動画配信用アプリケーションに組み込まれたブラウザ機能を実行することにより、及び/又は、インストールされたウェブブラウザアプリケーションを実行することにより、サーバ装置20(ウェブサーバシステム20B)からウェブページ(HTMLドキュメント)を受信し、このウェブページに含まれたゲームプログラムを実行することができる。各端末10は、このゲームプログラムを実行することにより、その配信者の操作に関する操作データに基づいて少なくとも1つのゲームオブジェクトを動作させた第2の動画を生成することができる。ユーザは、単独配信及び/又はコラボ配信(後述する)において、自身の端末10を利用してブラウザを起動し、サーバ装置20からゲーム描画データを受信し、ゲーム画面(WebView)を介して、ゲームを視聴することができる。
【0023】
さらに、各端末10は、配信者の端末として動作する場合には、このように生成した第2の動画を、上記動画配信用アプリケーションを実行することにより、通信回線を介してサーバ装置20(配信サーバシステム20A)に送信することができる。このような第2の動画もまた、サーバ装置20(配信サーバシステム20A)により通信回線を介して、インストールされた動画視聴用アプリケーションを実行する、動画を受信するための端末(視聴者端末)10に配信される。
【0024】
さらにまた、各端末10は、配信者の端末として動作する場合には、上記動画配信用アプリケーションを実行することにより、(この配信者端末11により配信された)第2の動画を視聴する視聴者端末12からサーバ装置20(配信サーバシステム20A)を介して、この配信者に対してギフトを付与する旨を示すギフト情報、及び/又は、この配信者に対してコメントを送信する旨を示すコメント情報を受信することができる。
【0025】
一方、各端末10は、動画を視聴するための端末(視聴者端末)として動作する場合には、インストールされた動画視聴用アプリケーションを実行することにより、配信者端末11により配信された第1の動画及び/又は第2の動画を、サーバ装置20(配信サーバシステム20A)を介して受信することができる。
【0026】
さらに、各端末10は、視聴者端末として動作する場合には、動画視聴用アプリケーションを実行することにより、配信者に対してギフトを付与する旨を示すギフト情報、及び/又は、この配信者に対してコメントを送信する旨を示すコメント情報を、サーバ装置20(配信サーバシステム20A)を介して、第1配信者端末11Aに送信することができる。
【0027】
なお、上述した動画配信用アプリケーション及び動画視聴用アプリケーションは、統合された1つのアプリケーションとして、又は、それぞれ別々のアプリケーションとして、各端末10にインストール及び実行されるものとすることができる。
【0028】
各端末10は、このような動作を実行することができる任意の端末であって、スマートフォン、タブレット、携帯電話(フィーチャーフォン)及び/又はパーソナルコンピュータ等を、これらに限定することなく含むことができるものである。また、各端末10は、例えば、コラボ配信(共同配信/コラボレーション配信)を行うことができるように構成される。
【0029】
なお、以下の説明において、コラボ配信とは、例えば、複数の配信者が共同して各々有する端末を利用して配信を行うものである。なお、当該コラボ配信は、例えば、第1配信者のアバター及び他の配信者のアバターを用いた動画配信、及び、第1配信者及び他の配信者によって行われるゲーム配信、を含みうる。当該ゲーム配信によって配信されるゲームは、例えば、ライブ配信するゲーム(ライブゲーム)である。また、コラボ配信により配信されるゲームにおいて、当該ゲームを配信及び/又は視聴するユーザは、各々が有する端末10に対して操作情報及び/又は音声を入力することで、他のユーザが操作する端末10にその入力情報を伝えることができ、ユーザ同士が互いにコミュニケーションを図ることが可能となる。
【0030】
また、コラボ配信を行う場合において、例えば、複数の配信者の各々は区別されて扱われうる。例えば、複数の配信者のうち一の配信者が、例えば、ホスト配信者として、複数の配信者のうち残りの配信者が、例えば、ゲストとして扱われうる。具体的には例えば、2人の配信者(第1配信者及び第2配信者)がコラボ配信を実行する場合において、第1配信者は、ホスト配信者として扱われ、第2配信者は、ゲストとして扱われうる。この場合において、コラボ配信を終了すると、第1配信者は配信を継続し、第2配信者は当該配信を継続することができなくなる。なお、第2配信者は当該配信を継続することができなくなった場合において、例えば、視聴者として当該配信を視聴できるように構成されてもよい。
【0031】
また、複数の配信者の各々が区別されて扱われる場合には、例えば、ホスト配信者が操作する端末の表示画面に表示される表示内容は、ゲストが操作する端末の表示画面に表示される表示内容と異なるように構成されてもよい。また、複数の配信者の各々が区別されて扱われる場合には、例えば、ホスト配信者が操作可能なコマンドは、ゲストが操作可能なコマンドよりも多く構成されてもよい。
【0032】
以上、コラボ配信を行う場合において、複数の配信者の各々が区別されて扱われる例について説明したが、この例に限定されず、コラボ配信を行う場合において、複数の配信者の各々は、区別されることなく扱われるように構成してもよい。
【0033】
1−2.サーバ装置20
図1に示されるように、サーバ装置20は、例えば、配信サーバシステム20A及びウェブサーバシステム20Bを含む。
【0034】
配信サーバシステム20Aは、各端末(各配信者端末)10により送信された第1の動画及び/又は第2の動画を、各端末(各視聴者端末)10に配信することができる。また、配信サーバシステム20Aは、各端末(各視聴者端末)10により送信された、或る配信者に対してギフトを付与する旨を示すギフト情報、及び/又は、或る配信者に対してコメントを送信する旨を示すコメント情報を、配信者端末11に送信することができる。
【0035】
このような動作を実行するために、配信サーバシステム20Aは、一実施形態では、相互に通信回線(図示しない無線回線及び/又は有線回線を含む)を介して接続された、配信サーバ装置20A1と、データベース(DB)サーバ装置20A2と、ゲームAPIサーバ装置20A3と、コラボサーバ装置20A4と、を含むことができる。
【0036】
配信サーバ装置20A1は、各配信者端末11により送信された第1の動画及び/又は第2の動画を各端末10に配信することができる。さらに、配信サーバ装置20A1は、各視聴者端末12により送信されたギフト情報及び/又はコメント情報をDBサーバ装置20A2に格納することができる。
【0037】
DBサーバ装置20A2は、配信サーバ装置20A1から受信したギフト情報及び/又はコメント情報を格納し、ゲームAPIサーバ装置20A3により問い合わせを受けたギフト情報及び/コメント情報を、読み出してゲームAPIサーバ装置20A3に送信することができる。
【0038】
ゲームAPIサーバ装置20A3は、各配信者端末11からギフト情報及び/又はコメント情報について問い合わせを受けたときに、配信者端末11に対するギフト情報及び/又はコメント情報をDBサーバ装置20A2から読み出してその配信者端末11に送信することができる。また、ゲームAPIサーバ装置20A3は、コラボ配信を行うユーザを決定するために、第1配信者以外に候補となるユーザの情報を取得し、DBサーバ装置20A2に記憶する。ここで、「第1配信者以外に候補となるユーザ」とは、例えば、第2配信者または視聴者である。
【0039】
コラボサーバ装置20A4(コラボレーションサーバ装置20A4)は、例えば、コラボ配信中において、音声データ及び/又は動作データを、各端末10と通信する。例えば、コラボ配信中において、第1配信者が、第1配信者端末11Aに対して音声を発した場合には、コラボサーバ装置20A4は、当該音声に関するデータを第1配信者端末11Aから受信し、当該音声に関するデータを第2配信者端末11B及び/又は視聴者端末12に送信する。また、例えば、コラボ配信中において、第2配信者が、第2配信者端末11Bに対して音声を発した場合には、コラボサーバ装置20A4は、当該音声に関するデータを第2配信者端末11Bから受信し、当該音声に関するデータを第1配信者端末11A及び/又は視聴者端末12に送信する。
【0040】
なお、
図1に示した例では、負荷を分散すること等を目的として、配信サーバシステム20Aが、配信サーバ装置20A1、DBサーバ装置20A2及びゲームAPIサーバ装置20A3、及び、コラボサーバ装置20A4を有する4つのサーバ装置を有する構成が示されている。しかし、これら4つのサーバ装置のうちの少なくとも1つのサーバ装置が残りのサーバ装置のうちの少なくとも一方と統合されるようにしてもよい。
【0041】
図1に示されるように、ウェブサーバシステム20Bは、例えば、ゲームサーバ装置20B1及びコンテンツサーバ装置20B2を含む。
【0042】
ゲームサーバ装置20B1は、アクセスしてきた各配信者端末11に対して、ゲームプログラムが組み込まれたウェブページ(HTML、例えばHTML5に従って作成されたドキュメント)を送信するものである。このゲームプログラムは、受信して解読した端末10に対して、以下の(a)〜(c)に例示する動作等を含む、動画の配信に関連する様々な動作を実行させることができるものである。
(a)ゲームを実行する動作
(b)ゲームの実行に伴って生成されたゲーム画面を配信サーバシステム20A(配信サーバ装置20A1)に送信する動作
(c)この配信者宛てに送信されたギフト情報及び/又はコメント情報を配信サーバシステム20A(ゲームAPIサーバ装置20A3)から取得する動作
【0043】
ゲームサーバ装置20B1は、例えば、コラボ配信によりゲームを配信する場合において、当該ゲームにおける操作情報を統括し、ゲームロジックの演算を行う。また、ゲームサーバ装置20B1は、例えば、コラボ配信によりゲームを配信する場合において、当該ゲームを配信及び/又は視聴するユーザが操作する端末10と、ゲーム操作情報及び/又は演算情報の送受信を行う。ゲームサーバ装置20B1は、コラボ配信中において、第2配信者及び/又はコラボ配信により配信されるゲームの視聴者に関するデータを記憶する。
【0044】
コンテンツサーバ装置20B2は、例えば、ゲームに関するデータ(例えば、ライブゲームコンテンツ)を記憶し、当該ゲームを配信及び/又は視聴するユーザが操作する端末10に対してゲーム描画データを提供する装置である。
【0045】
1−3.スタジオユニット30
スタジオユニット30は、演者(配信者)が動画を配信する場所であるスタジオ、部屋、ホール等に配置され得る。スタジオユニット30は、上述したように、端末10及び/又はサーバ装置20と同様の機能を果たすことが可能なものである。なお、
図1においては、スタジオユニット30と他の装置との間でデータを通信可能なことを破線により示しており、それ以外の装置間でデータを通信可能なことを実線により示している。
【0046】
2.各装置のハードウェア構成
次に、端末10、サーバ装置20及びスタジオユニット30の各々が有するハードウェア構成の一例について説明する。
【0047】
2−1.端末10のハードウェア構成
各端末10のハードウェア構成例について
図2を参照して説明する。
図2は、
図1に示した端末10(サーバ装置20)のハードウェア構成の一例を模式的に示すブロック図である(なお、
図2において、括弧内の参照符号は、後述するようにサーバ装置20に関連して記載されたものである。)。
【0048】
図2に示すように、各端末10は、主に、中央処理装置14と、主記憶装置15と、入出力インタフェイス装置16と、入力装置17と、補助記憶装置18と、出力装置19と、を含むことができる。これら装置同士は、データバス及び/又は制御バスにより接続されている。
【0049】
中央処理装置14は、「CPU」と称されるものであり、主記憶装置15に記憶されている命令及びデータに対して演算を行い、その演算の結果を主記憶装置15に記憶させるものである。さらに、中央処理装置14は、入出力インタフェイス装置16を介して、入力装置17、補助記憶装置18及び出力装置19等を制御することができる。端末10は、1又はそれ以上のこのような中央処理装置14を含むことが可能である。
【0050】
主記憶装置15は、「メモリ」と称されるものであり、入力装置17、補助記憶装置18及び通信回線30(サーバ装置20等)から、入出力インタフェイス装置16を介して受信した命令及びデータ、並びに、中央処理装置14の演算結果を記憶するものである。主記憶装置15は、RAM(ランダムアクセスメモリ)、ROM(リードオンリーメモリ)及び/又はフラッシュメモリ等をこれらに限定することなく含むことができる。
【0051】
補助記憶装置18は、主記憶装置15よりも大きな容量を有する記憶装置である。上述した特定のアプリケーション(動画配信用アプリケーション、動画視聴用アプリケーション等)やウェブブラウザアプリケーション等を構成する命令及びデータ(コンピュータプログラム)を記憶することができる。さらに、補助記憶装置18は、中央処理装置14により制御されることにより、これらの命令及びデータ(コンピュータプログラム)を、入出力インタフェイス装置16を介して、主記憶装置15に送信することができる。補助記憶装置18は、磁気ディスク装置及び/又は光ディスク装置等をこれらに限定することなく含むことができる。
【0052】
入力装置17は、外部からデータを取り込む装置であり、タッチパネル、ボタン、キーボード、マウス及び/又はセンサ等をこれらに限定することなく含むものである。センサは、後述するように、1又はそれ以上のカメラ等及び/又は1又はそれ以上のマイク等を含むセンサをこれらに限定することなく含むことができる。
【0053】
出力装置19は、ディスプレイ装置、タッチパネル及び/又はプリンタ装置等をこれらに限定することなく含むことができる。
【0054】
このようなハードウェア構成にあっては、中央処理装置14が、補助記憶装置18に記憶された特定のアプリケーションを構成する命令及びデータ(コンピュータプログラム)を順次主記憶装置15にロードし、ロードした命令及びデータを演算することにより、入出力インタフェイス装置16を介して出力装置19を制御し、或いはまた、入出力インタフェイス装置16及び通信回線2を介して、他の装置(例えばサーバ装置20、他の端末10及び/又はスタジオユニット30等)との間で様々な情報の送受信を行うことができる。
【0055】
これにより、端末10は、インストールされた特定のアプリケーションを実行することにより、例えば以下の(a)〜(d)に例示する動作のうちの少なくとも1つの動作を実行することができる。
(a)第1の動画及び/又は第2の動画を配信するために必要な動作
(b)他の端末10により自端末10宛てに送信されたギフト情報及び/又はコメント情報を受信するために必要な動作
(c)他の端末10により配信された第1の動画及び/又は第2の動画を受信するために必要な動作
(d)他の端末10に対してギフト情報及び/又はコメント情報を送信するために必要な動作
【0056】
なお、端末10は、中央処理装置14に代えて又は中央処理装置14とともに、1又はそれ以上のマイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含むものであってもよい。
【0057】
2−2.サーバ装置20のハードウェア構成
各サーバ装置20のハードウェア構成例について同じく
図2を参照して説明する。各サーバ装置20(配信サーバ装置20A1、DBサーバ装置20A2、ゲームAPIサーバ装置20A3、ゲームサーバ装置20B1、及び、コンテンツサーバ装置20B2の各々)のハードウェア構成としては、例えば、上述した各端末10のハードウェア構成と同一のものを用いることが可能である。したがって、各サーバ装置20が有する構成要素に対する参照符号は、
図2において括弧内に示されている。
【0058】
図2に示すように、各サーバ装置20は、主に、中央処理装置24と、主記憶装置25と、入出力インタフェイス装置26と、入力装置27と、補助記憶装置28と、出力装置29と、を含むことができる。これら装置同士は、データバス及び/又は制御バスにより接続されている。
【0059】
中央処理装置24、主記憶装置25、入出力インタフェイス装置26、入力装置27、補助記憶装置28、及び、出力装置29は、それぞれ、上述した各端末10に含まれる、中央処理装置14、主記憶装置15、入出力インタフェイス装置16、入力装置17、補助記憶装置18及び出力装置19と略同一なものとすることができる。
【0060】
このようなハードウェア構成にあっては、中央処理装置24が、補助記憶装置28に記憶された特定のアプリケーションを構成する命令及びデータ(コンピュータプログラム)を順次主記憶装置25にロードし、ロードした命令及びデータを演算することにより、入出力インタフェイス装置26を介して出力装置29を制御し、或いはまた、入出力インタフェイス装置26及び通信回線2を介して、他の装置(例えば各端末10及び/又はスタジオユニット30等)との間で様々な情報の送受信を行うことができる。
【0061】
これにより、サーバ装置20は、各配信者端末11により送信された第1の動画及び/又は第2の動画を、各視聴者端末12に配信するために必要な動作、各視聴者端末12により或る配信者端末11宛てに送信されたギフト情報及び/又はコメント情報を、その配信者端末11に送信するために必要な動作等(後に詳述する様々な動作を含む)を実行することができる。
【0062】
なお、サーバ装置20は、中央処理装置24に代えて又は中央処理装置24とともに、1又はそれ以上のマイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含むものであってもよい。
【0063】
2−3.スタジオユニット30のハードウェア構成
スタジオユニット30は、上述したように、端末10及び/又はサーバ装置20と同様の機能を果たすことが可能なものである。したがって、スタジオユニット30は、上述した端末10又はサーバ装置20と同様のハードウェア構成を有することができる。
【0064】
3.各装置の機能
次に、端末10、サーバ装置20、及び、スタジオユニット30の各々が有する機能の一例について説明する。
【0065】
3−1.端末10の機能
端末10の機能の一例について
図3を参照して説明する。
図3は、
図1に示した端末10の機能の一例を模式的に示すブロック図である。
【0066】
図3に示すように、端末10は、主に、第1の動画生成部100と、第2の動画生成部110と、通信部120と、表示部130と、記憶部140と、ユーザインタフェイス部150と、ギフト処理部160と、を含むことができる。
【0067】
(1)第1の動画生成部100
第1の動画生成部100は、配信者の動作に関する動作データに基づいて、この配信者のアバターオブジェクトのアニメーションを含む第1の動画を生成することができる。これを実現するために、第1の動画生成部100は、例えば、取得部102と、処理部104と、を含むことができる。
【0068】
取得部102は、配信者の身体に関するデータを取得する1又はそれ以上の第1のセンサ102a(図示せず)と、配信者により発せられた発話及び/又は歌唱に関する音声データを取得する1又はそれ以上の第2のセンサ102b(図示せず)と、を含むことができる。
【0069】
第1のセンサ102aは、好ましい実施形態では、可視光線を撮像するRGBカメラと、近赤外線を撮像する近赤外線カメラと、を含むことができる。このようなカメラとしては、例えばiphone X(登録商標)のトゥルーデプス(True Depth)カメラに含まれたものを用いることが可能である。第2のセンサ102bは、音声を記録するマイクロフォンを含むことができる。
【0070】
まず、第1のセンサ102aに関して、取得部102は、配信者の身体に近接して配置された第1のセンサ102aを用いて配信者の身体を撮像する。これにより、取得部102は、RGBカメラにより取得された画像をタイムコード(取得した時間を示すコード)に対応付けて単位時間にわたって記録したデータ(例えばMPEGファイル)を生成することができる。さらに、取得部102は、近赤外線カメラにより取得された所定数(例えば51個)の深度を示す数値(例えば浮動小数点の数値)を上記タイムコードに対応付けて単位時間にわたって記録したデータ(例えばTSVファイル)を生成することができる。なお、TSVファイルとは、データ間をタブで区切って複数のデータを記録する形式のファイルである。
【0071】
近赤外線カメラに関して、具体的には、ドットプロジェクタがドット(点)パターンを形成する赤外線レーザーを演者の身体に放射し、近赤外線カメラが、演者の身体に投影され反射した赤外線ドットを捉え、このように捉えた赤外線ドットの画像を生成する。取得部102は、予め登録されているドットプロジェクタにより放射されたドットパターンの画像と、近赤外線カメラにより捉えられた画像とを比較して、両画像における各ポイント(各特徴点)(例えば51個のポイント・特徴点の各々)における位置のずれを用いて各ポイント(各特徴点)の深度(各ポイント・各特徴点と近赤外線カメラとの間の距離)を算出することができる。取得部102は、このように算出された深度を示す数値を上記のようにタイムコードに対応付けて単位時間にわたって記録したデータを生成することができる。
【0072】
次に、第2のセンサ102bに関して、取得部102は、配信者の身体に近接して配置された第2のセンサ102bを用いて配信者により発せられた発話及び/又は歌唱に関する音声を取得する。これにより、取得部100は、タイムコードに対応付けて単位時間にわたって記録したデータ(例えばMPEGファイル)を生成することができる。一実施形態では、取得部102は、第1のセンサ102aを用いて配信者の身体に関するデータを取得することと同時に、第2のセンサ102bを用いて配信者により発せられた発話及び/又は歌唱に関する音声データを取得することができる。この場合には、取得部102は、RGBカメラにより取得された画像と、第2のセンサ102bを用いて配信者により発せられた発話及び/又は歌唱に関する音声データとを、同一のタイムコードに対応付けて単位時間にわたって記録したデータ(例えばMPEGファイル)を生成することができる。
【0073】
取得部102は、このように生成した、配信者の身体に関するデータ(MPEGファイル及びTSVファイル等)、及び/又は、配信者により発せられた発話及び/又は歌唱に関する音声データ(MPEGファイル等)を、処理部104に出力することができる。
【0074】
なお、ここでは、第1のセンサ102aがRGBカメラ及び赤外線カメラを含む場合について説明したが、第1のセンサ102aは、例えば、以下の(A)〜(C)のうちのいずれかを含むことも可能である。
(A)赤外線レーザーにより放射され演者の顔に反射した赤外線を検出するカメラ
(B)可視光線を撮像する複数のRGBカメラ
(C)可視光線を撮像する単一のカメラ
【0075】
上記(A)の場合には、取得部102は、上述したものと同様の手法により、配信者の身体における各特徴点について深度を算出することができる。上記(B)の場合には、取得部102は、複数のRGBカメラにより撮像された複数の画像を用いて、配信者の身体における各特徴点について奥行(深度)を計算することができる。上記(C)の場合には、取得部102は、単一のカメラにより撮像された画像から、配信者の身体における各特徴点の奥行(深度)を、ディープラーニング等を利用して算出することができる。また、上記(C)の場合には、取得部102は、単一のカメラにより撮像された画像に対する分析処理(画像処理等)により、演者の身体における各特徴点の奥行(深度)を算出してもよい。
【0076】
処理部104は、取得部102からの、配信者の身体に関するデータに基づいて、仮想的なキャラクター(配信者のアバターオブジェクト)のアニメーションを含む動画を生成することができる。仮想的なキャラクターの動画自体については、処理部104は、図示しないキャラクターデータ記憶部に記憶された様々な情報(例えば、ジオメトリ情報、ボーン情報、テクスチャ情報、シェーダ情報及びブレンドシェイプ情報等)を用いて、図示しないレンダリング部にレンダリングを実行させることにより、仮想的なキャラクターの動画を生成することができる。
【0077】
さらに、処理部104は、取得部102からの配信者の身体に関するデータ(演者の身体における各特徴点の深度に関するデータ)を用いてアバターオブジェクトの表情等を変化させた動画(例えば、アバターオブジェクトの表情が演者の口及び両目の動きに同期して変化した動画、すなわち、アバターオブジェクトの表情が演者の顔に対してリップシンク及び視線追従して変化した動画)を、様々な周知な技術を利用して生成することができる。
【0078】
なお、配信者の動作に関する動作データに基づいてこの配信者のアバターオブジェクトのアニメーションを含む第1の動画を生成するために、他の任意の周知な技術を利用することも可能である。
【0079】
(2)第2の動画生成部110
第2の動画生成部110は、ウェブサーバシステム20Bから受信したウェブページを用いて配信者の操作に関する操作データに基づいてゲームに関する第2の動画を生成することができる。
【0080】
具体的には、第2の動画生成部110は、ウェブサーバシステム20Bから受信したウェブページに組み込まれたゲームプログラムを実行する。これにより、第2の動画生成部110は、ユーザインタフェイス部150により入力された配信者の操作を示す操作データに基づいて、少なくとも1つのゲームオブジェクトが動作するゲームに関する第2の動画(ゲーム動画)を描画することができる。
【0081】
さらに、第2の動画生成部110は、第2の動画を視聴する各視聴者の視聴者端末により生成され、当該端末10のユーザ(配信者)に対して送信されたギフト情報に基づいて、第2の動画に表示させるべき少なくとも1つのゲームオブジェクトを制御することができる。なお、ギフト情報とは、上記配信者に対してギフトを付与する旨を示す情報である。
【0082】
(3)通信部120
通信部120は、動画の配信及び/又は視聴に必要とされる様々な情報を、配信サーバシステム20A及びウェブサーバシステム20Bとの間において通信することができる。例えば、通信部120は、端末10が配信者端末11として動作する場合には、ウェブサーバシステム20Bにアクセスして、ゲームの実行等に必要とされるゲームプログラムを含むウェブページ(HTMLドキュメント)等を受信することができる。また、通信部120は、端末10が配信者端末として動作する場合には、第1の動画及び/又は第2の動画を配信サーバシステム20Aに送信し、この配信者宛てに送信されたギフト情報及び/又はコメント情報を配信サーバシステム20Aから受信することができる。
【0083】
さらに、通信部120は、端末10が視聴者端末として動作する場合には、配信者端末11により送信された第1の動画及び/又は第2の動画を配信サーバシステム20Aから受信し、配信者に対してギフト情報及び/又はコメント情報を配信サーバシステム20Aに送信することができる。
【0084】
(4)表示部130
表示部130は、動画の配信及び/又は視聴に必要とされる様々な情報を表示することができる。例えば、表示部130は、配信される第1の動画及び/又は第2の動画、及び/又は、受信した第1の動画及び/又は第2の動画等を、表示することができる。
【0085】
(5)記憶部140
記憶部140は、動画の配信及び/又は視聴に必要とされる様々な情報を記憶することができる。
【0086】
(6)ユーザインタフェイス部150
ユーザインタフェイス部150は、動画の配信及び/又は視聴に必要とされる様々な情報をユーザの操作を介して入力することができる。例えば、ユーザインタフェイス部150は、ゲームの実行に際して配信者の操作の内容を示す操作データを配信者から入力して第2の動画生成部110に出力することができる。
【0087】
(7)ギフト処理部160
ギフト処理部160は、動画の配信及び/又は視聴に関して送受信されるギフト情報を処理することができる。例えば、ギフト処理部160は、端末10が配信者端末11として動作する場合には、この配信者宛てに送信されたギフト情報を処理することができる。また、ギフト処理部160は、端末10が視聴者端末12として動作する場合には、この視聴者が送信すべきギフト情報を処理することができる。
【0088】
3−2.サーバ装置20の機能
サーバ装置20の機能の一例について
図4を参照して説明する。
図4は、
図1に示したサーバ装置20の機能の一例を模式的に示すブロック図である。
図4に示すように、サーバ装置20は、例えば、通信部200と、記憶部210と、ギフト処理部220と、判定部230と、を含む。
【0089】
(1)通信部200
通信部200は、動画の配信及び/又は視聴に必要とされる様々な情報を、配信者端末11及び/又は視聴者端末12との間において通信することができる。例えば、サーバ装置20は、配信サーバシステム20Aとして動作する場合には、第1の動画及び/又は第2の動画を、各配信者端末11から受信して各視聴者端末12に配信すること等ができる。また、サーバ装置20は、ウェブサーバシステム20Bとして動作する場合には、アクセスしてきた各配信者端末11に対して、ゲームプログラムが組み込まれたウェブページを送信すること等ができる。
【0090】
(2)記憶部210
記憶部210は、動画の配信及び/又は視聴に必要とされる様々な情報を記憶することができる。記憶部210は、例えば、第2データを記憶する。第2データは、例えば、少なくとも一のユーザが過去に配信または視聴したゲームにおけるパラメータを示すデータ、および、少なくとも一のユーザと第1配信者との関連性を示すデータを含む。第2データは、例えば、少なくとも一のユーザが過去に配信したゲームの配信回数、少なくとも一のユーザが過去に視聴したゲームの視聴回数、少なくとも一のユーザのアバターのレベルを示すデータ、少なくとも一のユーザのランキングを示すデータ、第1配信者によって過去に配信されたゲームにおいて少なくとも一のユーザが第1配信者とともにゲームを配信した配信回数を示すデータ、少なくとも一のユーザが第1配信者によって過去に配信されたゲームを視聴した視聴回数を示すデータ、第1配信者によって過去に実行されたゲーム内のイベントに少なくとも一のユーザが所属した履歴を示すデータ、少なくとも一のユーザが第1配信者をフォローしているか否かを示すデータ、少なくとも一のユーザと第1配信者との間で送信されたメッセージの総数を示すデータ、並びに、第1配信者によって過去に配信されたゲームにおいて少なくとも一のユーザが、第1配信者に付与したギフトの量およびギフトの内容、のうち少なくともいずれかを含む。記憶部210は、例えば、第1配信者が他の配信者とともに行ったコラボ配信の配信履歴に関するデータを記憶する。記憶部210に記憶されているデータは、例えば、端末10が配信を実行し及び/又は当該配信の視聴を行う毎に更新される。
【0091】
記憶部210が記憶するデータは、例えば、「コラボ情報」、「配信時間/視聴時間」、「ゲーム進捗状況」、「対戦履歴」、「フォロワー数」、「特殊スキル」、「ギフト情報」、の少なくともいずれかに関する情報を含む。
【0092】
「コラボ情報」は、例えば、第1配信者とともにコラボ配信によりゲームを配信した他の配信者が過去に配信または視聴したゲームにおけるパラメータを示す情報を含む。また、「コラボ情報」は、例えば、第1配信者のアバター及び当該他の配信者のアバターを用いた動画配信に関する情報を含みうる。「配信時間/視聴時間」とは、各端末10を操作するユーザが過去にゲームを配信または視聴した時間を指す。記憶部210は、例えば、各ユーザが各ゲームを過去に配信及び/又は視聴した時間の累計時間を記憶する。
【0093】
「ゲーム進捗状況」は、配信者が過去に配信したゲームの進捗状況を示すものである。「対戦履歴」は、実行されるゲームが対戦型のゲームである場合において、例えば、当該ゲームに参加したユーザについての、勝ち数、負け数、および、引き分け数、を示すものである。「対戦履歴」は、実行されるゲームが対戦型のゲームである場合において、例えば、当該ゲームに参加したユーザをランキング形式で順位付けしたものであってもよい。「対戦履歴」は、一回の勝ち、負け、および、引き分け、順位付け、に対して所定の重みづけを行って数値化を行い、これによって算出された点数としてもよい。
【0094】
「フォロワー数」とは、一のユーザが他のユーザからフォローされているフォロー数に相当する数である。当該一のユーザのフォロワー数が多いほど、多くのユーザからの関心度が高いことを示す。「特殊スキル」とは、配信者のアバターが有するスキル(必殺技)を指す。特殊スキルは、実行しているゲームが対戦ゲームである場合には、例えば、当該ゲームにおいて使用されうる、相手側にダメージを与えるための必殺技を含む。なお、当該必殺技は、例えば、通常の攻撃によるダメージよりも大きいダメージを相手側に与えるものである。また、当該必殺技は、例えば、通常の攻撃による効果よりも大きい効果を発揮するものである。記憶部210は、例えば、特殊スキルの名前、特殊スキルが使用可能になるための使用条件、等を記憶する。
【0095】
「ギフト情報」とは、例えば、ギフトの数、ギフトの価値、ギフトの種類、ギフトのレベル、等、を所定のテーブルにしたがって数値化し、各ギフトの数値の総計を記載されている。また、例えば、「ギフト情報」は、視聴者端末12から配信者端末11に対してギフトを付与(送付)した時間、頻度、および、回数のうち少なくともいずれかを含みうる。なお、ギフトの数とは、視聴者が第1配信者に対して付与した数である。ここで、「ギフトの価値」とは、例えば、ギフトが有償である場合には、そのギフトの価格が価値に相当し、ギフトが無償である場合には、そのギフトの消費ポイントが価値に相当する。また、「ギフトの価値」とは、例えば、そのギフトの使用可能時間、そのギフトの表示時間、及び/又は、そのギフトを同時に使用可能な人数、ゲーム内で入手できるギフトの総数に基づいて決定されるものであってもよい。なお、そのギフトの使用可能時間が短いことは、そのギフトの価値が高いことを意味する。また、そのギフトの使用可能時間が長いことは、そのギフトの価値が低いことを意味する。また、そのギフトの表示時間が長いことは、そのギフトの価値が高いことを意味する。また、そのギフトの表示時間が短いことは、そのギフトの価値が低いことを意味する。また、そのギフトを同時に使用可能な人数が少ないことは、そのギフトの価値が高いことを意味する。また、そのギフトを同時に使用可能な人数が多いことは、そのギフトの価値が低いことを意味する。また、ゲーム内で入手できるギフトの総数が少ないことは、そのギフトが珍しく価値が高いことを意味する。また、ゲーム内で入手できるギフトの総数が多いことは、そのギフトが珍しく価値が珍しくなく価値が低いことを意味する。
【0096】
(3)ギフト処理部220
ギフト処理部220は、各視聴者から各配信者宛てに送信されたギフト情報を処理することができる。なお、サーバ装置20が、ウェブサーバシステム20Bとして動作する場合には、ギフト処理部220を省略してもよい。
【0097】
(4)判定部230
判定部230は、種々の条件を判定するものであり、例えば、救援要求の有無を判定し(後述のS314)、救援要求への応答の有無を判定し(後述のS316)、コラボ配信を終了したか否かを判定する(後述のS326)。
【0098】
3−3.スタジオユニット30の機能
スタジオユニット30は、上述したように、端末10及び/又はサーバ装置20と同様の機能を果たすことが可能なものである。したがって、スタジオユニット30は、
図3を参照して説明した端末10の機能、及び/又は、
図4を参照して説明したサーバ装置30の機能を有することが可能なものである。
【0099】
4.動画配信システム1の全体的な動作
次に、上記構成を有する動画配信システム1においてなされる全体的な動作について、
図5A及び
図5Bを参照して説明する。
図5A及び
図5Bは、
図1に示した動画配信システム1において行われる動作の一例を示すフロー図である。なお、本実施の形態においては、例えば、第1配信者とコラボ配信するユーザは単数(第2配信者)であるものとして以後説明するが、第1配信者とコラボ配信するユーザは単数でなく複数であってもよい。
【0100】
まず、
図5Aを参照すると、S302において、配信者(第1配信者)の操作に従って、その端末10(第1配信者端末11A)が動画配信用アプリケーションを起動して実行する。
【0101】
S304において、第1配信者端末11Aは、第1配信者の動作に関する動作データに基づいて第1配信者のアバターオブジェクトのアニメーション、を含む第1の動画を生成する。これにより、第1配信者端末11Aの表示部130には、第1配信者のアバターオブジェクトのアニメーションを含む第1の動画が表示される。そして、第1配信者端末11Aは、生成した第1の動画を配信サーバシステム20Aの配信サーバ装置20A1に送信する。配信サーバ装置20A1は、第1配信者端末11Aから受信した第1の動画を、動画視聴用アプリケーションを実行している各視聴者端末12に配信する。これにより、各視聴者の視聴者端末12の表示部130にも第1の動画が表示される。
【0102】
S306において、第1配信者が、第1配信者端末11Aの表示部130に表示された「ゲーム」というアイコン406(図示省略)をタップ等すると、第1配信者端末11Aは、動画配信用アプリケーションに搭載されたブラウザ機能を実行する。これにより、S308において、第1配信者端末11Aは、動画配信用アプリケーションを実行した(すなわち、第1の動画を各視聴者端末12に向けて配信した)状態で、ウェブサーバシステム20Bにアクセスすることにより、ゲームプログラムが組み込まれたHTML5ドキュメントを受信することができる。
【0103】
S310において、第1配信者端末11Aは、受信したHTML5ドキュメントに組み込まれたゲームプログラムを実行することにより、ゲームに関する動画(第2の動画)を生成することができる。
【0104】
S312において、第1配信者は、第1配信者端末11Aを用いて、単独でゲームを配信し、S314の処理が実行される。なお、S312において、第1配信者及び視聴者は、自身の端末10を操作してブラウザを起動しサーバ装置20(例えば、ウェブサーバシステム20B)からゲーム描画データを受信し、ゲーム画面(WebView)を介して、ゲームを視聴することができる。このとき、サーバ装置20は、ゲーム描画データを端末10に送信する。なお、ゲームを配信する場合において、サーバ装置20(例えば、ウェブサーバシステム20B)と端末10との間では、例えば、ゲーム操作情報、演算情報、等の情報の送受信が行われる。
【0105】
S314において、サーバ装置20は、第1配信者端末11Aから第1データを受信したか否かを判定する。サーバ装置20は、第1配信者端末11Aから第1データを受信したと判定した場合には(S314でYES)、第1配信者が配信している配信を視聴する視聴者端末12に対して、S314における救援要求の旨を知らせるデータを送信し、S316の処理が行われる。一方、サーバ装置20は、第1配信者端末11Aから第1データを受信していないと判定した場合には(S314でNO)、S314の処理が繰り返される。
【0106】
なお、第1データは、例えば、第1配信者が、当該ゲームに参加するユーザを募るように要求するデータである。第1データは、少なくとも1つの他のアバターを第1配信者のアバターとともに第2の動画内に含めることを要求するデータを含む。第1データは、例えば、第1配信者が、第1配信者端末11Aを用いてキャラクターを操作して所定のゲームを行っている場合において、当該キャラクターのパラメータが当該ゲームにおいて好ましくない値を示すような場合に、第1配信者端末11Aから送信される。なお、第1データは、例えば、外部のSNS(Social Networking Service)に送信される。
【0107】
S316において、サーバ装置20は、視聴者端末12から救援要求に対する応答があったか否かを判定する。サーバ装置20は、視聴者端末12から救援要求に対する応答があったと判定した場合には(S316でYES)、S318の処理が実行される。一方、サーバ装置20は、視聴者端末12から救援要求に対する応答がなかったと判定した場合には(S316でNO)、S316の処理は繰り返される。なお、視聴者端末12から救援要求に対する応答があったか否かの判定は、例えば、サーバ装置20が、視聴者端末12から救援要求に対する応答に関する第3データを受信したか否かを判定することにより行われる。第3データは、少なくとも一の視聴者の視聴者端末12から送信されるデータである。
【0108】
なお、上述の説明においては、S316において、サーバ装置20が、視聴者端末12から救援要求に対する応答があったか否かを判定する例について記載したが、これに限定されない。例えば、サーバ装置20は、第1配信者端末11Aから第1データを受信した場合に(S314でYES)、S316の判定を行うことに代えて記憶部210に記憶されている第2データを取得してもよい。
【0109】
S318において、サーバ装置20は、例えば、第2データまたは第3データに基づいて、一のユーザを救援ユーザとして決定する。なお、S318において、サーバ装置20は、例えば、第2データまたは第3データに基づいて、複数のユーザを救援ユーザとして決定してもよい。なお、救援ユーザとして決定される一又は複数のユーザは、例えば、第1配信者が配信している配信を視聴する視聴者の中から決定される。なお、第2データおよび第3データの少なくともいずれかは、第1配信者のアバターとともに第2の動画内に含める少なくとも1つの他のアバターの優先順位を少なくとも一のユーザの各々に対して割り当てたデータを含んでもよい。
【0110】
なお、S318において、サーバ装置20が、第2データに基づいて、一のユーザを救援ユーザとして決定する場合には、少なくとも一のユーザのアバターのうち、過去に配信したゲームの配信回数が最も多いユーザのアバター、過去に視聴したゲームの視聴回数が最も多いユーザのアバター、最もレベルの高いアバター、最もランキングの高いユーザのアバター、第1配信者によって過去に配信されたゲームに第1配信者とともに配信した配信回数が最も多いユーザのアバター、第1配信者によって過去に実行されたゲームを視聴した視聴回数が最も多いユーザのアバター、第1配信者によって過去に実行されたゲーム内のイベントに所属した回数が最も多いユーザのアバター、第1配信者に送信したメッセージおよび第1配信者から受信したメッセージの総数が最も多いユーザのアバター、第1配信者にギフトを最も多く付与したユーザのアバター、または、第1配信者に付与したギフトの価値の累計が最も高いと決定されたユーザのアバターを、第1配信者のアバターとともに第2の動画内に含める表示制御を行う。なお、第1配信者に付与したギフトの価値の累計は、第1配信者に付与された各々のギフトの価格の総和、または、ゲーム内において消費された各々の消費ポイントの総和、に基づいて決定される。また、S318において、サーバ装置20が、第2データに基づいて、一のユーザを救援ユーザとして決定する場合において、少なくとも一のユーザのアバターのうち、コラボ配信の視聴時間が長い順に決定してもよい。ここで、例えば、第1視聴者、第2視聴者、及び、第3視聴者が同一の配信を視聴しており、第1視聴者、第2視聴者、第3視聴者は、それぞれ、第1時間、第2時間、第3時間、当該配信を視聴しているものとする。ここで、第1時間は、第2時間より長く、第2時間は、第3時間より長いものとする。この場合には、第1視聴者、第2視聴者、及び、第3視聴者が、S316において救援要求への応答をすることで、S318において視聴時間の最も長い第1視聴者が救援ユーザとして決定される。そして、第2視聴者及び第3視聴者が引き続き当該配信を視聴することで、第2視聴者は、第3視聴者よりも視聴時間が長いため、第2視聴者は、第3視聴者よりも優先して、救援ユーザとして所定の配信に参加することができる。このように、視聴者は、所定タイミングにおいて、救援ユーザとして所定の配信に参加することができなかった場合においても、当該配信を引き続き視聴することによって、当該所定タイミングよりも後のタイミングにおいて、当該配信の視聴時間が長い順から優先して、救援ユーザとして当該配信に参加することができる。以上のようにして、所定の配信を視聴する視聴者のうち救援ユーザとして選定されなかった視聴者が、当該配信から離脱する(当該配信の視聴を停止する)可能性を低減することができる。
【0111】
また、S318において、サーバ装置20が、第2データに基づいて、複数のユーザを救援ユーザとして決定する場合には、ウェブサーバ装置20は、例えば、救援ユーザの候補となるユーザの数が、第1配信者とともに第2の動画内に含めることが可能なアバターの上限数を超えるか否かを判定する。次に、ウェブサーバ装置20は、例えば、救援ユーザの候補となるユーザの数が、第1上限値を超える場合には、ウェブサーバ装置20の記憶部210に記憶されているデータに含まれる優先順位に基づいて、第1上限値の人数以下のユーザのアバターオブジェクトを第1配信者のアバターオブジェクトとともに第2の動画内に含めることを決定する。なお、ウェブサーバ装置20は、例えば、救援ユーザの候補となるユーザの数が、第1上限値以下である場合には、ウェブサーバ装置20の記憶部210に記憶されているデータに基づいて、複数のユーザのアバターオブジェクトを、第1配信者のアバターオブジェクトとともに第2の動画内に含めることを決定する。ここで、ウェブサーバ装置20は、例えば、救援ユーザの候補となるユーザの数が、第1上限値以下である場合において、救援ユーザの候補となる新たなユーザが現れた場合に、当該新たなユーザのアバターオブジェクトを、第1配信者のアバターオブジェクトとともに第2の動画内に含めるようにしてもよい。なお、救援ユーザの候補となる新たなユーザが現れた場合とは、例えば、第1配信者による配信を行っている場合において新たなユーザが当該配信の視聴を開始することを指す。
【0112】
また、S318において、サーバ装置20が、第2データに基づいて、複数のユーザを救援ユーザとして決定する場合には、少なくとも1つの他のアバターの数が、第1上限値を超える場合において、少なくとも1つの他のアバターの中から第1上限値の人数以下のアバターを第1配信者のアバターとともに第2の動画内に含めることを決定した場合には、少なくとも1つの他のアバターのうち第1配信者のアバターとともに第2の動画内に含めないアバターに対応するユーザに対して第1の動画および第2の動画の少なくともいずれかを配信するようにプロセッサを機能させる、
【0113】
また、S318において、サーバ装置20が、第3データに基づいて、一のユーザを救援ユーザとして決定する場合には、サーバ装置20は、例えば、複数の視聴者の中から、第3データの送信タイミングが最先であるユーザを決定する。この場合、第3データは、視聴者端末12から送信されるデータの送信タイミングに関するデータを含んでいてもよい。
【0114】
S320において、サーバ装置20は、第1配信者と、S318で決定された1又は複数のユーザと、によるコラボ配信を開始させる。コラボ配信がアバターの共演に関するものである場合には、S320の処理が実行されると、例えば、第1配信者のアバターのみが第1の動画に表示されることに代えて、第1配信者のアバター及び第2配信者のアバターが第1の動画に表示される。そして、端末10は、サーバ装置20から、S320のコラボ配信の実行に関するデータを受信し、当該データに基づいて、第1配信者が操作するアバターに加えて、第2配信者が操作するアバターについても第1の動画内に含める表示制御を行う。コラボ配信がゲームの配信に関するものである場合には、S320の処理が実行された後、第1配信者端末11A及び第2配信者端末11Bにおける操作内容は、ウェブサーバシステム20に送信される。第1配信者及び第2配信者並びに各視聴者は、自身の端末10を操作してブラウザを起動し、ゲーム画面(WebView)を介して、ゲームを視聴することができる。なお、サーバ装置20のうち、例えば、ウェブサーバシステム20Bは、ゲームに参加するユーザのゲーム操作情報を統括するサーバ装置(例えば、ゲームサーバ装置20B1)を含む。当該サーバ装置は、各端末10を操作する操作情報を統括し、演算を行った結果をホスト配信者(第1配信者)に送信する。ホスト配信者(第1配信者)の端末10のゲーム画面(WebView)上において、演算が行われ、その結果はサーバ装置20(例えば、ウェブサーバシステム20B)に送信され、その後、各端末10に送信される。なお、当該各端末10は、第1配信者端末11A、第1配信者とコラボ配信を行う配信者(例えば、第2配信者端末11B)、及び、ゲームの視聴者が操作する端末を含む。コラボサーバ装置20A4と、第1配信者端末11A及び/又は第2配信者端末11Bとの間では、音声に関するデータが送受信される。
【0115】
S320において、コラボ配信が開始されると、例えば、第1配信者のアバターのパラメータの変更、第1配信者のアバターとともに第2の動画内に含める少なくとも1つの他のアバターのパラメータが変更される。
【0116】
または、S320において、コラボ配信を開始した後、第1時間が経過したことに基づいて、第1配信者のアバターとともに第2の動画内に含めるアバターを変更する。これにより、視聴者は、第1配信者のアバターとともに第2の動画内に含められるアバターが時間の経過とともに変更されることを認識することができる。したがって、視聴者は、第1配信者の配信を継続して視聴することで、将来的に、第1配信者の配信に救援ユーザとして参加して第1配信者と共にコラボ配信を行うことができるという期待感を抱くことができる。このことは、視聴者にとって、第1配信者の配信を継続して視聴し続ける動機付けになりうる。
【0117】
このように、少なくとも1つの他のアバターを第1配信者のアバターとともに第2の動画内に含める表示制御を行うことで、第1配信者と、少なくとも1つの他のアバターに対応するユーザと、が共同して配信を行うことができる。
【0118】
次に、S322において、サーバ装置20は、第1配信者および第2配信者によるコラボ配信を終了したか否かを判定する。S322において、サーバ装置20は、第1配信者および第2配信者によるコラボ配信を終了したと判定した場合に(S322においてYES)、S314の処理が実行される。一方、S322において、サーバ装置20が、第1配信者および第2配信者によるコラボ配信を終了しないと判定した場合には(S322においてNO)、S322の処理が繰り返される。なお、S322でコラボ配信者を終了する条件は、例えば、コラボ配信によりプレイするゲームにおける条件を満たす場合、コラボ配信を開始してから所定時間が経過した場合、のいずれかの場合に終了する。ここで、上述の「ゲームにおける条件」とは、例えば、ゲーム内において用意されるステージにおいて操作するキャラクターとは別のキャラクターを倒す、当該ステージにおいて所定のアイテムを取得する、当該ステージにおいて操作するキャラクターを所定の位置まで移動させる、または、当該ステージにおいて操作するキャラクターのパラメータが所定値以上または所定値を下回る、等の条件である。なお、ゲーム内において用意されるステージにおいて操作するキャラクターとは別のキャラクターを倒す、当該ステージにおいて所定のアイテムを取得する、当該ステージにおいて操作するキャラクターを所定の位置まで移動させる、ことは、当該ステージをクリアすることに相当しうる。また、当該ステージにおいて操作するキャラクターのパラメータが所定値以上または所定値を下回ることは、操作するキャラクターが死亡することに相当しうる。また、上述の「所定時間」は、コラボ配信により配信する複数の配信者の親密度に応じて決定される。
【0119】
なお、親密度は、例えば、第1配信者と第2配信者とのコラボ回数の実績回数、第1配信者が第2配信者をフォローしている期間、第2配信者が第1配信者をフォローしている期間、第1配信者と第2配信者との間で行われたコメントの回数、及び、第1配信者と第2配信者との間で行われたDM(Direct Message)の回数、のうち少なくともいずれかに基づいて決定されるものである。
【0120】
ここで、第1配信者と第2配信者とのコラボ回数の実績回数が多いほど、親密度が高く、所定時間が長く設定されるものとする。また、第1配信者が第2配信者をフォローしている期間が長いほど、親密度が高く、所定時間が長く設定されるものとする。また、第2配信者が第1配信者をフォローしている期間が長いほど、親密度が高く、所定時間が長く設定されるものとする。また、第1配信者と第2配信者との間で行われたコメントの回数が多いほど、親密度が高く、所定時間が長く設定されるものとする。また、第1配信者と第2配信者との間で行われたDM(Direct Message)の回数が多いほど、親密度が高く、所定時間が長く設定されるものとする。
【0121】
なお、以上の説明においては、
図5Aに記載されているS302からS312を順番に実行する例について記載したが、これに限定されない。例えば、
図5Aに記載されているS302からS312の処理の一部を省略してもよい。また、S314〜S322の処理は、S314〜S322の処理を実行できる範囲で、サーバ装置20を構成する1又は複数の構成要素によって行われうる。
【0122】
また、第1の動画と第2の動画は、端末10の画面上に並列、重畳、切り替え、合成されて表示されてもよい。また、少なくとも1つの他のアバターを第1配信者のアバターとともに第1の動画内及び/又は第2の動画内に含める表示制御を行ってもよい。
【0123】
なお、少なくとも1つの他のアバターを抽出し、少なくとも1つの他のアバターを第1配信者のアバターとともに第2の動画内に含める表示制御を行う例について説明したが、これに限定されず、少なくとも1つの他のアバターを抽出し、少なくとも1つの他のアバターを第1配信者のアバターとともに第1の動画内に含める表示制御を行ってもよい。
【0124】
また、上述の説明においては、S312において、第1配信者が単独で配信を行う例について記載したが、これに限定されない。S312において、第1配信者端末11Aは、第2の動画(ゲーム画面)を、配信サーバシステム20Aの配信サーバ装置20A1に送信してもよい。この場合には、配信サーバ装置20A1は、第1配信者端末11Aから受信した第2の動画を、動画視聴用アプリケーションを実行している各視聴者端末12に配信することができる。
【0125】
以上のように、本開示によれば、少なくとも1つのプロセッサにより実行されることにより、第1配信者の動作に関する動作データ又は該動作データに基づいて生成された第1配信者のアバターのアニメーションを含む第1の動画と、第1配信者の操作に関する操作データに基づいて生成されたゲームに関する第2の動画とを、通信回線を介して少なくとも一の視聴者の視聴者端末12に向けて配信し、第1配信者から第1データが送信されたか否かを判定し、第1配信者から第1データが送信されたと判定した場合に、第1配信者とは異なる少なくとも一のユーザが過去に実行したゲームにおける少なくとも一のユーザに関する第2データ、および、少なくとも一の視聴者の視聴者端末12から送信されるデータに関する第3データ、のうち少なくともいずれかに基づいて、少なくとも1つの他のアバターを抽出し、少なくとも1つの他のアバターを第1配信者のアバターとともに第2の動画内に含める表示制御を行うようにプロセッサを機能させる。したがって、従来よりも配信態様の拡張性を高くすることができる。
【0126】
5.変形例
なお、上述した様々な実施形態では、配信者端末11がゲームに関する動画(第2の動画)を生成するために、ゲームプログラムが組み込まれたHTML(特にHTML5)ドキュメントをウェブサーバ装置20Bから受信する場合について説明した。しかし、配信者端末11は、ウェブサーバ装置20Bからゲームプログラムが組み込まれたHTMLドキュメントをウェブサーバ装置20Bから受信する構成に代えて、インストールされた動画配信用アプリケーションを実行して図示しないデータサーバ装置(又は配信サーバシステム20Aに含まれた何らかの図示しないサーバ装置)から必要な情報を受信することによりゲームに関する画面を含む第2の動画を生成することも可能である。
【0127】
上述した様々な実施形態では、配信者端末11は、一般的なユーザにより使用されるスマートフォン等であってもよいし、スタジオ等に設置される専用端末であってもよい。この場合には、配信サーバシステム20Aに含まれる、配信サーバ装置20a、DBサーバ装置20b及びゲームAPIサーバ装置20c(さらにはウェブサーバ装置20B)のうちの少なくとも1つのサーバ装置が上記スタジオ等において上記専用端末と併設されるようにしてもよい。
【0128】
また、上述した様々な実施形態では、配信者端末11が、配信者の動作に関する動作データ及び配信者の音声に関する音声データに基づいてこの配信者のアバターオブジェクトを含むアニメーションを含む動画を生成し、この動画をサーバ装置20に送信する場合について説明した。しかし、配信者端末11は、配信者の動作に関する動作データ及び配信者の音声に関する音声データをサーバ装置20に送信し、サーバ装置20がこの動作データ及び音声データに基づいて動画を生成して各視聴者端末12に配信してもよい。これにより、配信者端末11からサーバ装置20に送信される情報の量を削減することができる。
【0129】
また、配信者端末11は、配信者の動作に関する動作データ及び配信者の音声に関する音声データを別途設けられたサーバ装置に送信し、この別途のサーバ装置が動作データ及び音声データに基づいて動画を生成して配信者端末11に返し、配信者端末11が、受信した動画をサーバ装置20に送信するようにしてもよい。これにより、配信者端末11から上記別途設けられたサーバ装置20に送信される情報の量を削減することができる。
【0130】
また、配信者端末11は、配信者の動作に関する動作データ及び配信者の音声に関する音声データを、サーバ装置20または上記別途設けられたサーバ装置を介して、各視聴者端末12に送信し、各視聴者端末12が、受信した動作データ及び音声データに基づいて動画を生成(レンダリング)及び表示するようにしてもよい。これにより、サーバ装置20又は上記別途設けられたサーバ装置から各視聴者端末12に送信される情報の量を削減することができる。
【0131】
また、上記いずれかの場合において、配信者端末11により送信された動作データ及び音声データに基づいて動画を生成することは、サーバ装置20、上記別途のサーバ装置及び各視聴者端末12のうちの少なくとも2つの装置において分担されるようにしてもよい。いずれの場合であっても、動画の生成を担う装置は、動作させるべきアバターオブジェクトに関する情報(画像等)を例えばサーバ装置20等から受信して記憶しておくことができる。
【0132】
以上説明した様々な実施形態において、上述した各端末10の動作は、この端末10と同様の構成を有するスタジオユニット30によっても同様に実行可能なものである。この場合、
図1に例示されたスタジオユニット30Aは、動画を配信するための端末10と同様の機能を有することが可能である。同様に、
図1に例示されたスタジオユニット30Bは、動画を視聴するための端末10と同様の機能を有することが可能である。さらに、上述した各サーバ装置20の動作もまた、このサーバ装置20と同様の構成を有するスタジオユニット30によっても同様に実行可能なものである。
【0133】
上述した様々な実施形態は、矛盾又は不都合が生じない限りにおいて相互に組み合わせて用いることが可能なものである。
【0134】
一般的に、ゲームプログラムが端末10にインストールされている場合、又は、ゲームプログラムが端末10にインストールされた動画配信用アプリケーションに組み込まれている場合には、新規なゲームを実行するためには、端末10は、新規なゲームプログラム又は新規なゲームプログラムを組み込んだ動画配信用アプリケーションをインストールする必要がある。この場合、ゲームプログラムの製作者からみれば、複数のOSの各々に対応したゲームプログラムを用意する必要があるため、ゲームプログラムの製作に必要な工数が増加するという問題がある。一方、ユーザの観点からみれば、新しいゲームを入手するために、新しいゲームプログラムをダウンロードする、及び/又は、既存のゲームプログラムをアップデートする必要があるため、通信負荷、通信コスト、時間及び手間がかかるという問題がある。
【0135】
また、本開示の技術は、例えば、ロールプレイングゲーム、シミュレーションゲーム、シューティングゲーム、アクションゲーム、カードゲーム、麻雀、囲碁、オセロ、パズルゲーム、クイズゲーム、スポーツゲーム及び/又はボードゲーム等においても、適用可能なものである。
【0136】
また、第2の例では、第1配信者の第1配信者端末11Aは、インストールされたゲームアプリケーションを実行して、ゲームサーバ装置としても機能する配信サーバシステム20Aにアクセスすることにより、実行しているゲームの画面をこの配信サーバシステム20Aを介して各視聴者の端末10に配信することも可能である。これら第1の例及び第2の例においても、第1配信者の第1配信者端末11Aは、上述した様々な実施形態と同様に、配信サーバシステム20Aから受信した視聴パラメータを用いて第2の動画を生成することが可能である。
【0137】
さらに、第3の例では、上記第1の例又は上記第2の例において、第1配信者の第1配信者端末11Aは、ゲーム画面の生成を行うことなく、第1配信者の操作データをウェブサーバ装置20B又は配信サーバシステム20Aに送信することができる。この場合には、ウェブサーバ装置20B又は配信サーバシステム20Aが操作データを用いてゲーム画面を生成し、配信サーバシステム20Aが、生成されたゲーム画面を含む第2の動画を各視聴者の端末10に配信することができる。この第3の例では、ウェブサーバ装置20Bがゲーム画面を生成する場合には、ウェブサーバ装置20Bは、配信サーバシステム20Aから受信した視聴パラメータを用いることができる。配信サーバシステム20Aがゲーム画面を生成する場合には、配信サーバシステム20Aは、自身が管理している視聴パラメータを用いることができる。
【0138】
このように、本開示の技術は、ゲーム配信の態様を従来よりも拡張することで興趣性を向上させるコンピュータプログラム、方法、及び、サーバ装置を提供することができる。
【解決手段】第1配信者から第1データが送信されたか否かを判定し、第1配信者から第1データが送信されたと判定した場合に、第1配信者とは異なる少なくとも一のユーザが過去に実行したゲームにおける少なくとも一のユーザに関する第2データ、および、少なくとも一の視聴者の視聴者端末から送信されるデータに関する第3データ、のうち少なくともいずれかに基づいて、少なくとも1つの他のアバターを抽出し、少なくとも1つの他のアバターを第1配信者のアバターとともに第2の動画内に含める表示制御を行うようにプロセッサを機能させる。