以下、添付図面を参照して本発明の様々な実施形態を説明する。なお、図面において共通した構成要素には同一の参照符号が付されている。また、或る図面に表現された構成要素が、説明の便宜上、別の図面においては省略されていることがある点に留意されたい。さらにまた、添付した図面が必ずしも正確な縮尺で記載されている訳ではないということに注意されたい。さらにまた、アプリケーションという用語は、ソフトウェア又はプログラムと称呼されるものであってもよく、コンピュータに対する指令であって、ある種の結果を得ることができるように組み合わされたものであればよい。
1.動画配信システムの構成
本件出願において開示される動画配信システム1においては、簡潔にいえば、配信を行うユーザ(以下、「配信者」という。)が、その端末装置を用いて、第1の動画及び第2の動画を、通信回線を介して、動画を視聴するユーザ(以下、「視聴者」という。)の端末装置に配信することができる。第1の動画とは、配信者の動作に関する動作データに基づいて生成された配信者のアバターのアニメーションを含む動画である。また、第2の動画とは、配信者の操作に関する操作データに基づいて生成されたゲームに関する動画である。
図1は、一実施形態に係る動画配信システム1の構成の一例を示すブロック図である。図1に示すように、動画配信システム1は、図示しない通信回線(通信網)に接続される複数の端末装置10と、通信回線に接続される1又はそれ以上のサーバ装置20と、を含むことができる。各端末装置10は、通信回線を介して、1又はそれ以上のサーバ装置20に接続され得る。
なお、図1には、複数の端末装置10として、例えば、端末装置10A~10Eが示されているが、これら以外の1又はそれ以上の端末装置10が同様に用いられ得る。同様に、図1には、1又はそれ以上のサーバ装置20として、例えば、サーバシステム20A(サーバシステム20Aは後述するとおり複数のサーバで構成されている)及びサーバ装置20B(ウェブサーバ装置20B)が示されているが、これら以外の1又はそれ以上のサーバ装置20が同様に用いられ得る。なお、図示しない通信回線は、携帯電話網、無線LAN、固定電話網、インターネット、イントラネット及び/又はイーサネット(登録商標)等をこれらに限定することなく含むことができる。
さらに、一実施形態では、動画配信システム1は、通信回線に接続される1又はそれ以上のスタジオユニット30を含むこともできる。各スタジオユニット30は、通信回線を介して、1若しくはそれ以上のサーバ装置20又は複数の端末装置10に接続され得る。なお、図1には、1又はそれ以上のスタジオユニット30として、例えば、スタジオユニット30A及び30Bが示されているが、これら以外の1又はそれ以上のスタジオユニット30が同様に用いられ得る。
1-1.端末装置10
図1に示すように、複数の端末装置10は、1又はそれ以上の配信者の端末装置10(ここでは、端末装置10A)と、1又はそれ以上の視聴者の端末装置10(ここでは、端末装置10B~端末装置10E)と、を含むことができる。各端末装置10は、共通した構成を有することにより、動画を配信するための端末装置(配信者の端末装置10)及び動画を視聴するための端末装置(視聴者の端末装置10)のいずれにもなり得るものである。同様に、動画配信システム1を利用するユーザ(例えば、図1においては、一例としてユーザA~ユーザEの5人が示されているが、ユーザの人数は5人に限られないことは言うまでもない)は、ある場面においては配信者に、別の場面においては視聴者になり得るものである。したがって、図1に示される或る場面(以降、「第1の場面」ということもある。)においては、ユーザAが配信者(便宜上、第1の場面におけるユーザAを「第1の配信者」と称す場合もある。)となり(ユーザAの端末装置10Aが配信者の端末装置10となり)、ユーザB~ユーザEが視聴者となる(ユーザBの端末装置10B~ユーザ10Eの端末装置10Eが視聴者の端末装置10となる)。一方、別の場面(以降、「第2の場面」ということもある。)においては、ユーザBが配信者となり(ユーザBの端末装置10Bが配信者の端末装置10となり)、ユーザA及びユーザC~ユーザEが視聴者となる(ユーザAの端末装置10A及びユーザCの端末装置10C~ユーザEの端末装置10Eが視聴者の端末装置10となる)。この第2の場面には、ユーザBではなく、ユーザC~ユーザEのいずれかが配信者(便宜上、第2の場面におけるユーザB~ユーザEのいずれかを「第2の配信者」と称す場合もある。)となる場合も含まれるものとする。
各端末装置10は、動画を配信するための端末装置(配信者の端末装置)として動作する場合には、インストールされた動画配信用アプリケーション(ミドルウェア、又は、アプリケーションとミドルウェアとの組合せであってもよい。以下同様。)を実行することができる。これにより、各端末装置10は、その配信者の動作に関する動作データを取得し、取得したデータに従って変化させた仮想的なキャラクター(アバター)のアニメーションを含む第1の動画を生成することができる。ここで、図1に示される一例に関し、ユーザAが配信者となる第1の場面においてユーザAの端末装置10Aによって生成される動画を、便宜上第1の動画と称し、ユーザB(又はユーザC~ユーザEのいずれか)が配信者となる第2の場面においてユーザBの端末装置10B(又はユーザCの端末装置10C~ユーザEの端末装置10Eのいずれか)によって生成される動画を、便宜上第3の動画と以後称す場合がある。なお、第1の動画と第3の動画は、その動画の基礎となる配信者(それに伴う配信者の動作データ)等が異なるだけであり、本質的には同様の動画であると理解されたい。したがって、本願明細書における説明において、「第1の動画」と称される箇所において、当該「第1の動画」との記載を「第3の動画」に読み替えることもできる。
さらに、各端末装置10は、動画を配信するための端末装置(配信者の端末装置)として動作する場合には、生成した第1の動画(第3の動画)を、通信回線を介してサーバ装置20(サーバシステム20A)に送信することができる。このような第1の動画(第3の動画)は、サーバ装置20(サーバシステム20A)から、通信回線を介して、動画を受信するための端末装置(視聴者の端末装置)10に配信される。このような視聴者の端末装置10は、インストールされた動画視聴用アプリケーション(ミドルウェア、又は、アプリケーションとミドルウェアとの組合せであってもよい。以下同様。)を実行することにより、動画を受信することができる。
また、各端末装置10は、配信者の端末装置として動作する場合には、インストールされた動画配信用アプリケーションに組み込まれたブラウザ機能を実行すること、及び/又は、インストールされたウェブブラウザアプリケーションを実行することができる。これにより、各端末装置10は、サーバ装置20(ウェブサーバ装置20B)からウェブページ(HTMLドキュメント)を受信し、このウェブページに含まれるゲームプログラムを実行することができる。各端末装置10は、このゲームプログラムを実行することにより、その配信者の操作に関する操作データに基づいて、少なくとも1つのゲームオブジェクトを動作させた第2の動画を生成することができる。ここで、図1に示される一例に関し、ユーザAが配信者となる第1の場面において生成される動画を、便宜上第2の動画と称し、ユーザB(ユーザC~ユーザEのいずれかでもよい)が配信者となる第2の場面において生成される動画を、便宜上第4の動画と以後称す場合がある。なお、第2の動画と第4の動画は、その動画の基礎となる配信者(それに伴う配信者の操作データ)等が異なるだけであり、本質的には同様の動画(同じゲームに関する動画)であると理解されたい。したがって、本願明細書における説明において、「第2の動画」と称される箇所において、当該「第2の動画」との記載を「第4の動画」に読み替えることもできる。
さらに、各端末装置10は、配信者の端末装置として動作する場合には、前述のとおり生成した第2の動画(第4の動画)を、前述の動画配信用アプリケーションを実行することにより、通信回線を介してサーバ装置20(サーバシステム20A)に送信することができる。このような第2の動画(第4の動画)もまた、サーバ装置20(サーバシステム20A)から、通信回線を介して、インストールされた動画視聴用アプリケーションを実行する、動画を受信するための端末装置(視聴者の端末装置)10に配信される。
さらにまた、各端末装置10は、配信者の端末装置として動作する場合には、前述の動画配信用アプリケーションを実行することにより、この配信者の端末装置10により配信された第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)を視聴する視聴者の端末装置10から、サーバ装置20(サーバシステム20A)を介して、この配信者に対してギフトを付与する旨を示すギフト情報、及び/又は、この配信者に対してコメントを送信する旨を示すコメント情報を受信することができる。また、各端末装置10は、配信者の端末装置として動作する場合には、前述の動画配信用アプリケーションを実行することにより、この配信者の端末装置10により配信された第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)を視聴する視聴者の端末装置10に対して、サーバ装置20(サーバシステム20A)を介して、コメント情報を配信することもできる。
一方、各端末装置10は、動画を視聴するための端末装置(視聴者の端末装置)として動作する場合には、インストールされた動画視聴用アプリケーションを実行することにより、配信者の端末装置10により配信された第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)を、サーバ装置20(サーバシステム20A)を介して受信することができる。
さらに、各端末装置10は、視聴者の端末装置として動作する場合には、動画視聴用アプリケーションを実行することにより、動画を配信する配信者に対してギフトを付与する旨を示すギフト情報、及び/又は、この配信者に対してコメントを送信する旨を示すコメント情報を、サーバ装置(サーバシステム20A)を介して、この配信者の端末装置10(図1に示される一例における第1の場面においては配信者としてのユーザAの端末装置10A)に送信することができる。
なお、前述した動画配信用アプリケーション及び動画視聴用アプリケーションは、統合された1つのアプリケーションとして、又は、それぞれ別々のアプリケーションとして、各端末装置10にインストール及び実行され得る。
各端末装置10は、このような動作を実行することができる任意の端末装置であって、スマートフォン、タブレット、携帯電話(フィーチャーフォン)及び/又はパーソナルコンピュータ等を、これらに限定することなく含むことができる。
1-2.サーバ装置20
図1には、1又は複数のサーバ装置20の一例として、サーバシステム20A及びウェブサーバ装置20Bが示されている。
サーバシステム20Aは、各端末装置(各配信者の端末装置)10(第1の場面においては配信者であるユーザAの端末装置10Aであり、第2の場面においては配信者であるユーザB~ユーザEの端末装置10B~端末装置10Eのいずれかである)により送信された動画(第1の場面においては第1の動画及び/又は第2の動画であり、第2の場面においては第3の動画及び/又は第4の動画)を、各端末装置(各視聴者の端末装置)10に配信することができる。さらには、サーバシステム20Aは、各端末装置(各視聴者の端末装置)10により送信された、或る配信者に対してギフトを付与する旨を示すギフト情報、及び/又は、或る配信者に対してコメントを送信する旨を示すコメント情報を、その配信者の端末装置10に送信することができる。
このような動作を実行するために、サーバシステム20Aは、一実施形態において、相互に通信回線(図示しない無線回線及び/又は有線回線を含む)を介して接続される、配信サーバ装置20aと、第1データベース(DB)サーバ装置20bと、第2DBサーバ装置20cと、ギフト/コメントAPIサーバ装置20dと、を含むことができる。
配信サーバ装置20aは、各配信者の端末装置10により送信された第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)を、各視聴者の端末装置10に配信することができる。さらに、配信サーバ装置20aは、各視聴者の端末装置10に対する第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)に関するコメント情報を各配信者の端末装置10からギフト/コメントAPIサーバ装置20dを介して受信して、該コメント情報を各視聴者の端末装置10に配信することができる。さらに、配信サーバ装置20aは、各視聴者の端末装置10から送信された第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)に関するギフト情報及び/又はコメント情報を受信して、受信した該ギフト情報及び/又はコメント情報を、ギフト/コメントAPIサーバ装置20dに送信することができる。
また、配信サーバ装置20aは、各配信者の端末装置10により送信された第1の動画及び第3の動画に関する各配信者(例えば、ユーザA~ユーザE)の様々なユーザ情報(第1の動画及び第3の動画に関する配信者の情報)を管理(取得)して、その各配信者のユーザ情報を第1DBサーバ装置20bに格納することができる。さらにまた、配信サーバ装置20aは、各配信者(例えば、ユーザA~ユーザE)の端末装置10により送信された第2の動画及び第4の動画に関する各配信者の様々なユーザ情報(第2の動画及び第4の動画に関する配信者の情報)を管理(取得)して、その各配信者のユーザ情報を第2DBサーバ装置20cに格納することができる。さらにまた、配信サーバ装置20aは、或る場面(例えば、前述の第1の場面)において配信者の端末装置10(例えば、第1の場面においては、ユーザAの端末装置10A)から問い合わせを受けた場合に、その場面(第1の場面)における各視聴者(ユーザB~ユーザE)の情報(視聴者情報)を、第1DBサーバ装置20b及び/又は第2DBサーバ装置20cから読み出して、その配信者の端末装置10に送信することができる。ここで、各視聴者の情報(視聴者情報)には、第1DBサーバ装置20b及び/又は第2DBサーバ装置20cに格納されている前述の各配信者の様々なユーザ情報(各配信者に関する様々な配信者の情報)が含まれる。
第1DBサーバ装置20bは、ギフト/コメントAPIサーバ装置20dから受信する第1の動画及び第3の動画に関するギフト情報及び/又はコメント情報(各視聴者の端末装置10から送信されたもの、及び各配信者の端末装置10から送信されたもの、の両方を含む)を格納することができる。さらに、第1DBサーバ装置20bは、配信サーバ装置20aから受信する第1の動画及び第3の動画に関する各配信者(例えば、ユーザA~ユーザE)の様々なユーザ情報(第1の動画及び第3の動画に関する配信者の情報)を格納することができる。さらに、第1DBサーバ装置20bは、配信サーバ装置20aにより問い合わせを受けた各視聴者(例えば、第1の場面においては、ユーザB~ユーザE)の情報(視聴者情報)を読み出して、その視聴者情報を配信サーバ装置20aに送信することができる。
第2DBサーバ装置20cは、ギフト/コメントAPIサーバ装置20dから受信する第2の動画及び第4の動画に関するギフト情報及び/又はコメント情報(各視聴者の端末装置10から送信されたもの、及び各配信者の端末装置10から送信されたもの、の両方を含む)を格納することができる。さらに、第2DBサーバ装置20cは、配信サーバ装置20aから受信する第2の動画及び第4の動画に関する各配信者(例えば、ユーザA~ユーザE)の様々なユーザ情報(第2の動画及び第4の動画に関する配信者の情報)を格納することができる。さらに、第2DBサーバ装置20cは、配信サーバ装置20aにより問い合わせを受けた各視聴者(例えば、第1の場面においては、ユーザB~ユーザE)の情報(視聴者情報)を読み出して、その視聴者情報を配信サーバ装置20aに送信することができる。
ギフト/コメントAPIサーバ装置20dは、配信サーバ装置20aから受信した第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)についてのギフト情報及び/又はコメント情報を、各配信者の端末装置10から問い合わせを受けたとき(又は自動的に)、その配信者の端末装置10にその配信者に対するギフト情報/又はコメント情報を送信することができる。さらに、ギフト/コメントAPIサーバ装置20dは、配信サーバ装置20aから受信した第1の動画(第3の動画)についてのギフト情報及び/又はコメント情報(各視聴者の端末装置10から送信されたもの、及び各配信者の端末装置10から送信されたもの、の両方を含む)を、第1DBサーバ装置20bに格納することができる。さらにまた、ギフト/コメントAPIサーバ装置20dは、配信サーバ装置20aから受信した第2の動画(第4の動画)についてのギフト情報及び/又はコメント情報(各視聴者の端末装置10から送信されたもの、及び各配信者の端末装置10から送信されたもの、の両方を含む)を、第2DBサーバ装置20cに格納することができる。
また、ギフト/コメントAPIサーバ装置20dは、各視聴者の端末装置10に対する第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)に関するコメント情報を、各配信者の端末装置10から受信し、そのコメント情報を配信サーバ装置20aに送信することができる。さらにまた、ギフト/コメントAPIサーバ装置20dは、各配信者の端末装置10から受信した第1の動画(第3の動画)に関するコメント情報を、第1DBサーバ装置20bに格納することができる。さらにまた、ギフト/コメントAPIサーバ装置20dは、各配信者の端末装置10から受信した第2の動画(第4の動画)に関するコメント情報を、第2DBサーバ装置20cに格納することができる。
なお、図1に示した例では、負荷を分散すること等を目的として、サーバシステム20Aが、配信サーバ装置20a、第1DBサーバ装置20b、第2DBサーバ装置20c、及びギフト/コメントAPIサーバ装置20dからなる4つのサーバ装置を有する構成が示されている。しかし、これら4つのサーバ装置のうちの少なくとも1つのサーバ装置が残りのサーバ装置のうちの少なくとも一方と統合されるようにしてもよい。また、前述した4つのサーバ装置の各動作は一例であり、例えば少なくとも1つのサーバ装置の動作を、他の別のサーバ装置の動作と入れ替えてもよい。
次に、ウェブサーバ装置20Bは、アクセスしてきた各配信者の端末装置10に対して、ゲームプログラムが組み込まれたウェブページ(HTML、例えばHTML5に従って作成されたドキュメント)を送信することができる。このゲームプログラムは、受信して解読した端末装置10に対して、以下に例示する動作等を含む、動画の配信に関連する様々な動作を実行することができる。
・ゲームを実行する動作
・ゲームの実行に伴って生成されたゲーム画面(第2の動画又は第4の動画)を、サーバシステム20A(配信サーバ装置20a)に送信する動作
・配信者宛てに送信されたギフト情報及び/又はコメント情報を、サーバシステム20A(ギフト/コメントAPIサーバ装置20d)から取得する動作
1-3.スタジオユニット30
スタジオユニット30は、配信者(演者)が動画を配信する場所であるスタジオルーム、部屋、ホール等に配置され得る。スタジオユニット30は、前述の端末装置10及び/又はサーバ装置20と同様の機能を果たすことができる。
2.各装置のハードウェア構成
次に、端末装置10、サーバ装置20、及びスタジオユニット30の各々が有するハードウェア構成の一例について説明する。
2-1.端末装置10のハードウェア構成
各端末装置10のハードウェア構成の一例について、図2を参照しつつ説明する。図2は、図1に示した端末装置10(サーバ装置20)のハードウェア構成の一例を模式的に示すブロック図である(なお、図2において、括弧内の参照符号は、後述するようにサーバ装置20に関連して付されている)。
図2に示すように、各端末装置10は、主に、中央処理装置11と、主記憶装置12と、入出力インタフェイス13と、入力装置14と、補助記憶装置15と、出力装置16と、を含むことができる。これら装置同士は、データバス及び/又は制御バスにより接続されている。
中央処理装置11は、「CPU」と称され、主記憶装置12に記憶されている命令及びデータに対して演算を行い、その演算の結果を主記憶装置12に記憶させることができる。さらに、中央処理装置11は、入出力インタフェイス13を介して、入力装置14、補助記憶装置15及び出力装置16等を制御することができる。端末装置10は、1又はそれ以上のこのような中央処理装置11を含むことが可能である。
主記憶装置12は、「メモリ」と称され、入力装置14、補助記憶装置15及び通信回線30(サーバ装置20等)から、入出力インタフェイス13を介して受信した命令及びデータ、並びに、中央処理装置11の演算結果を記憶することができる。主記憶装置12は、RAM(ランダムアクセスメモリ)、ROM(リードオンリーメモリ)及び/又はフラッシュメモリ等をこれらに限定することなく含むことができる。
補助記憶装置15は、主記憶装置12よりも大きな容量を有する記憶装置である。前述した特定のアプリケーション(動画配信用アプリケーション、動画視聴用アプリケーション等)やウェブブラウザアプリケーション等を構成する命令及びデータ(コンピュータプログラム)を記憶することができる。さらに、補助記憶装置15は、中央処理装置11により制御されることにより、これらの命令及びデータ(コンピュータプログラム)を、入出力インタフェイス13を介して主記憶装置12に送信することができる。補助記憶装置15は、磁気ディスク装置及び/又は光ディスク装置等をこれらに限定することなく含むことができる。
入力装置14は、外部からデータを取り込む装置であって、タッチパネル、ボタン、キーボード、マウス及び/又はセンサ等をこれらに限定することなく含むことができる。センサは、後述するように、1若しくはそれ以上のカメラ等及び/又は1若しくはそれ以上のマイク等を含むセンサを、これらに限定することなく含むことができる。
出力装置16は、ディスプレイ装置、タッチパネル及び/又はプリンタ装置等をこれらに限定することなく含むことができる。
このようなハードウェア構成にあっては、中央処理装置11が、補助記憶装置15に記憶された特定のアプリケーションを構成する命令及びデータ(コンピュータプログラム)を順次主記憶装置12にロードし、ロードした命令及びデータを演算することができる。これにより、中央処理装置11は、入出力インタフェイス13を介して出力装置16を制御し、或いはまた、入出力インタフェイス13及び通信網2を介して、他の装置(例えばサーバ装置20、他の端末装置10及び/又はスタジオユニット30等)との間で、様々な情報の送受信を行うことができる。
これにより、端末装置10は、インストールされた特定のアプリケーションを実行することにより、例えば以下に例示する動作(後に詳述する様々な動作を含む)のうちの少なくとも1つの動作を実行することができる。
・第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)を配信するために必要な動作
・他の端末装置10により自端末装置10宛てに送信されたギフト情報及び/又はコメント情報を受信するために必要な動作
・他の端末装置10により配信された第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)を受信するために必要な動作
・他の端末装置10に対してギフト情報及び/又はコメント情報を送信するために必要な動作
なお、端末装置10は、中央処理装置11に代えて又は中央処理装置11とともに、1又はそれ以上のマイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含むことも可能である。
2-2.サーバ装置20のハードウェア構成
各サーバ装置20のハードウェア構成の一例について、同じく図2を参照しつつ説明する。各サーバ装置20(配信サーバ装置20a、第1DBサーバ装置20b、第2DBサーバ装置20c、ギフト/コメントAPIサーバ装置20d、及びウェブサーバ装置20Bの各々)のハードウェア構成としては、例えば、前述した各端末装置10のハードウェア構成と同一の構成を用いることができる。したがって、各サーバ装置20が有する構成要素に対する参照符号は、図2において括弧内に示されている。
図2に示すように、各サーバ装置20は、主に、中央処理装置21と、主記憶装置22と、入出力インタフェイス23と、入力装置24と、補助記憶装置25と、出力装置26と、を含むことができる。これら装置同士は、データバス及び/又は制御バスにより接続されている。
中央処理装置21、主記憶装置22、入出力インタフェイス23、入力装置24、補助記憶装置25及び出力装置26は、それぞれ、前述した各端末装置10に含まれる、中央処理装置11、主記憶装置12、入出力インタフェイス13、入力装置14、補助記憶装置15及び出力装置16と略同一とすることができる。
このようなハードウェア構成にあっては、中央処理装置21が、補助記憶装置25に記憶された特定のアプリケーションを構成する命令及びデータ(コンピュータプログラム)を順次主記憶装置22にロードし、ロードした命令及びデータを演算することができる。これにより、中央処理装置21は、入出力インタフェイス23を介して出力装置26を制御し、或いはまた、入出力インタフェイス23及び通信網2を介して、他の装置(例えば各端末装置10及び/又はスタジオユニット30等)との間で様々な情報の送受信を行うことができる。
これにより、サーバ装置20は、例えば以下に例示する動作(後に詳述する様々な動作を含む)のうちの少なくとも1つの動作を実行することができる。
・各配信者の端末装置10により送信された第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)を、各視聴者の端末装置10に配信するために必要な動作
・各視聴者の端末装置10により或る配信者の端末装置10宛てに送信されたギフト情報及び/又はコメント情報を、その配信者の端末装置10に送信するために必要な動作
・各配信者の端末装置10より送信された各視聴者の端末装置10宛てに送信されたコメント情報を、各視聴者の端末装置10に送信するために必要な動作
・各視聴者の端末装置10により或る配信者の端末装置10宛てに送信されたギフト情報及び/又はコメント情報を管理及び記憶するために必要な動作
・各配信者による第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)に関する各配信者(例えば、ユーザA~ユーザE)の様々なユーザ情報(配信者の情報を含む)を管理及び記憶するために必要な動作
・各配信者による第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)の各視聴者の情報(視聴者情報)を各配信者の端末装置10に送信するために必要な動作
なお、サーバ装置20は、中央処理装置21に代えて又は中央処理装置21とともに、1又はそれ以上のマイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含むことも可能である。
2-3.スタジオユニット30のハードウェア構成
スタジオユニット30は、パーソナルコンピュータ等の情報処理装置により実装可能なものであって、図示はされていないが、前述した端末装置10及びサーバ装置20と同様に、主に、中央処理装置と、主記憶装置と、入出力インタフェイスと、入力装置と、補助記憶装置と、出力装置と、を含むことができる。これら装置同士は、データバス及び/又は制御バスにより接続されている。
このようなハードウェア構成を有するスタジオユニット30は、前述した端末装置10及び/又はサーバ装置20と同様の機能を果たすことが可能である。
3.各装置の機能
次に、端末装置10、サーバ装置20及びスタジオユニット30の各々が有する機能の一例について説明する。
3-1.端末装置10の機能
端末装置10の機能の一例について、図3を参照しつつ説明する。図3は、図1に示した端末装置10の機能の一例を模式的に示すブロック図である。
図3に示すように、端末装置10は、主に、第1の動画生成部100(第3の動画生成部100)と、第2の動画生成部110(第4の動画生成部110)と、ギフト/コメント処理部120と、視聴者情報取得部130と、オブジェクト抽出部140と、制御パラメータ演算部150と、通信部160と、表示部170と、記憶部180と、ユーザインタフェイス部190と、を含むことができる。
(1)第1の動画生成部100(第3の動画生成部100)
第1の動画生成部100は、配信者の動作に関する動作データに基づいて、この配信者のアバターのアニメーションを含む第1の動画を生成することができる。これを実現するために、第1の動画生成部100は、例えば、取得部102と、処理部104と、を含むことができる。なお、前述のとおり、第1の動画と第3の動画は、その動画の基礎となる配信者(第1の動画の配信者はユーザAであり、第3の動画の配信者はユーザB~ユーザEのいずれか)が異なるだけであり、本質的には同様の動画である。つまり、第1の場面においてはユーザAによって配信される動画を第1の動画と称し、第2の場面においてはユーザB~ユーザEのいずれかによって配信される動画を第3の動画を称するのであって、端末装置10の機能、つまり、端末装置10A~端末装置10Eの機能は同一である。したがって、第1の動画生成部100と記載される箇所においては、当該第1の動画生成部100を第3の動画生成部100と読み替えることができると理解されたい。
取得部102は、配信者の身体に関するデータを取得する1又はそれ以上の第1のセンサ(図示せず)と、配信者により発せられた発話や歌唱に関する音声データを取得する1又はそれ以上の第2のセンサ(図示せず)と、を含むことができる。
第1のセンサは、好ましい実施形態では、可視光線を撮像するRGBカメラと、近赤外線を撮像する近赤外線カメラと、を含むことができる。このようなカメラとしては、例えばiphone X(登録商標)のトゥルーデプス(True Depth)カメラに含まれたものを用いることが可能である。第2のセンサは、音声を記録するマイクロフォンを含むことができる。
まず、第1のセンサに関して、取得部102は、配信者の身体(例えば顔や手足)に近接して配置された第1のセンサを用いて配信者の身体を撮像する。これにより、取得部102は、RGBカメラにより取得された画像をタイムコード(取得した時間を示すコード)に対応付けて単位時間にわたって記録したデータ(例えばMPEGファイル)を生成することができる。さらに、取得部102は、近赤外線カメラにより取得された所定数(例えば51個)の深度を示す数値(例えば、浮動小数点の数値)を上記タイムコードに対応付けて単位時間にわたって記録したデータ(例えばTSVファイル)を生成することができる。なお、TSVファイルとは、データ間をタブで区切って複数のデータを記録する形式のファイルである。
近赤外線カメラに関して、具体的には、ドットプロジェクタがドット(点)パターンを形成する赤外線レーザーを配信者(演者)の身体に放射し、近赤外線カメラが、配信者の身体に投影され反射した赤外線ドットを捉え、このように捉えた赤外線ドットの画像を生成する。取得部102は、予め登録されているドットプロジェクタにより放射されたドットパターンの画像と、近赤外線カメラにより捉えられた画像とを比較することができる。これにより、取得部102は、両画像における各ポイント(各特徴点)(例えば51個のポイント・特徴点の各々)における位置のずれを用いて各ポイント(各特徴点)の深度(各ポイント・各特徴点と近赤外線カメラとの間の距離)を算出することができる。取得部102は、このように算出した深度を示す数値を前述のようにタイムコードに対応付けて単位時間にわたって記録したデータを生成することができる。
次に、第2のセンサに関して、取得部102は、配信者の身体に近接して配置された第2のセンサを用いて、配信者により発せられた発話や歌唱に関する音声を取得する。これにより、取得部102は、タイムコードに対応付けて単位時間にわたって記録したデータ(例えばMPEGファイル)を生成することができる。一実施形態では、取得部102は、第1のセンサを用いて配信者の身体に関するデータを取得することと同時に、第2のセンサを用いて配信者により発せられた発話や歌唱に関する音声データを取得することができる。この場合において、取得部102は、RGBカメラにより取得された画像と、第2のセンサを用いて配信者により発せられた発話や歌唱に関する音声データとを、同一のタイムコードに対応付けて単位時間にわたって記録したデータ(例えばMPEGファイル)を生成することができる。
取得部102は、このように生成した、配信者の身体に関するデータ(MPEGファイル及びTSVファイル等)、及び/又は、配信者により発せられた発話や歌唱に関する音声データ(MPEGファイル等)を、処理部104に出力することができる。
なお、ここでは、第1のセンサがRGBカメラ及び赤外線カメラを含む場合について説明したが、第1のセンサは、例えば、以下の(A)~(C)のうちのいずれかを含むことも可能である。
(A)赤外線レーザーにより放射され演者の顔に反射した赤外線を検出するカメラ
(B)可視光線を撮像する複数のRGBカメラ
(C)可視光線を撮像する単一のカメラ
上記(A)の場合には、取得部102は、前述したものと同様の手法により、配信者の身体における各特徴点について深度を算出することができる。上記(B)の場合には、取得部102は、複数のRGBカメラにより撮像された複数の画像を用いて、配信者の身体における各特徴点について奥行(深度)を計算することができる。上記(C)の場合には、取得部102は、単一のカメラにより撮像された画像から、配信者の身体における各特徴点の奥行(深度)を、ディープラーニング等を利用して算出することができる。また、上記(C)の場合には、取得部102は、単一のカメラにより撮像された画像に対する分析処理(画像処理等)により、配信者の身体における各特徴点の奥行(深度)を算出してもよい。
処理部104は、取得部102からの、配信者の身体に関するデータに基づいて、仮想的なキャラクター(配信者のアバター)のアニメーションを含む動画を生成することができる。仮想的なキャラクターの動画自体について、処理部104は、図示しないキャラクター記憶部に記憶された様々な情報(例えば、ジオメトリ情報、ボーン情報、テクスチャ情報、シェーダ情報及びブレンドシェイプ情報等)を用いて、図示しないレンダリング部にレンダリングを実行させることにより、仮想的なキャラクターの動画を生成することもできる。
さらに、処理部104は、取得部102からの配信者の身体に関するデータ(配信者の身体における各特徴点の深度に関するデータ)を用いてアバターの表情等を変化させた動画(例えば、アバターの表情が配信者の口及び両目の動きに同期して変化した動画、すなわち、アバターの表情が配信者の顔に対してリップシンク及び視線追従して変化した動画)を、様々な周知な技術を利用して生成することができる。
なお、配信者の動作に関する動作データに基づいて、この配信者のアバターのアニメーションを含む第1の動画(第3の動画)を生成するために、他の任意の周知な技術を利用することも可能である。かかる周知技術には、下記URLにより特定されるウェブサイトに記載された”Blend Shapes”と称する技術が含まれる。
https://developer.apple.com/documentation/arkit/arfaceanchor/2928251-blendshapes
なお、このウェブサイトに記載された内容は、引用よりその全体が本明細書に組み入れられる。
処理部104は、この技術を用いる場合には、配信者の上半身(顔等)の複数の特徴点のうち、配信者の動作に対応する1以上の特徴点の各々のパラメータを調整することができる。これにより、処理部104は、配信者の動作に追従した仮想的なキャラクターの動画を生成することができる。
(2)第2の動画生成部110(第4の動画生成部110)
第2の動画生成部110は、ウェブサーバ装置20Bから受信したウェブページを用いて、配信者の操作に関する操作データに基づいてゲームに関する第2の動画を生成することができる。なお、前述のとおり、第2の動画と第4の動画は、その動画の基礎となる配信者(第2の動画の配信者はユーザAであり、第4の動画の配信者はユーザB~ユーザEのいずれか)が異なるだけであり、本質的には同様の動画である。つまり、第1の場面においてはユーザAによって配信される動画を第2の動画と称し、第2の場面においてはユーザB~ユーザEのいずれかによって配信される動画を第4の動画を称するのであって、端末装置10の機能、つまり、端末装置10A~端末装置10Eの機能は同一である。したがって、第2の動画生成部110と記載される箇所においては、当該第2の動画生成部110を第4の動画生成部110と読み替えることができると理解されたい。
第2の動画生成部110は、ウェブサーバ装置20Bから受信したウェブページに組み込まれたゲームプログラムを実行する。これにより、第2の動画生成部110は、ユーザインタフェイス部190により入力された配信者の操作を示す操作データと、関連する制御パラメータが制御パラメータ演算部150により演算された少なくとも1つのゲームオブジェクトと、に基づいて、ゲームに関する第2の動画(ゲーム動画)を描画することができる。
(3)ギフト/コメント処理部120
ギフト/コメント処理部120は、動画の配信及び/又は視聴に関して送受信されるギフト情報及び/又はコメント情報を処理することができる。例えば、ギフト/コメント処理部120は、第1の場面において、端末装置10が配信者としてのユーザAの端末装置10Aとして動作する場合には、このユーザA宛てに送信されたギフト情報及び/又はコメント情報と、このユーザAが各視聴者の端末装置10(図1においては、ユーザBの端末装置10B~ユーザEの端末装置10E)に対して配信(送信)したコメント情報と、を処理することができる。また、ギフト/コメント処理部120は、端末装置10が視聴者の端末装置10(例えば、第1の場面における、ユーザBの端末装置10B~ユーザEの端末装置10E)として動作する場合には、この視聴者(ユーザB~ユーザE)が送信すべきギフト情報及び/又はコメント情報を処理することができる。
なお、ギフト/コメント処理部120は、動画配信用アプリケーション及び/又は動画視聴用アプリケーションが端末装置10(配信者の端末装置10及び視聴者の端末装置10)にインストールされると、これらのアプリケーションに予め設定されるギフト情報を記憶することができる。なお、ギフト情報とは、様々な種類のギフトの名称、形状、色、アバターの装着場所等の情報や、各ギフトに予め設定される金額情報等を含むことができる。
具体的には、例えば、第1の場面において、視聴者であるユーザB~ユーザEは、その視聴者の端末装置10(ユーザBの端末装置10B~ユーザEの端末装置10E)のユーザインタフェイス部190を用いて、ユーザA(配信者であるユーザAの端末装置10A)に対する任意のギフトを購入したうえで、購入したギフトをユーザAに送信する旨の操作を実行することができる。この視聴者によるギフトの送信(ギフティングともいう)に関する操作により、ギフティング対象のギフト情報が、視聴者の端末装置10からサーバ装置20(配信サーバ装置20a)を介してユーザAの端末装置10Aに送信される。これにより、ユーザAの端末装置10Aにおけるギフト/コメント処理部120が、受信したギフト情報を読み出すという処理を実行することができる。
(4)視聴者情報取得部130
視聴者情報取得部130は、配信者の端末装置10から、サーバ装置20(配信サーバ20a)を介して各視聴者の端末装置10へ配信される第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)に関する各視聴者の情報(視聴者情報)を、サーバ装置20(配信サーバ20a)から受信することができる。
ここで、視聴者情報とは、サーバ装置20(サーバシステム20Aの第1DBサーバ装置20b及び第2DBサーバ装置20c)に格納されている視聴者としての各ユーザのユーザ情報である。つまり、例えば、第1の場面において、視聴者はユーザB~ユーザEであるから、第1の場面における視聴者情報とはユーザB~ユーザEのユーザ情報を意味する。同様に、第2の場面においてユーザBが配信者である場合、視聴者はユーザA及びユーザC~ユーザEであるから、第2の場面における視聴者情報とはユーザA及びユーザC~ユーザEのユーザ情報を意味する。第2の場面においてユーザC~ユーザEのいずれかが配信者である場合にも、ユーザBが配信者となる場合と同様に考えればよい。
そして、このユーザ情報には、各ユーザの視聴者としての情報だけでなく、各ユーザが配信者となって、第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)を配信する場合の、配信される動画に関する情報(配信者の情報)が含まれる。
ここで、各ユーザの視聴者としての情報とは、視聴者として任意の配信者にギフトやポイントを送付(送信)した累計ポイント又は累計額に関する情報等を含むことができる。例えば、ユーザCに着目すると、ユーザCは第1の場面において、配信者であるユーザAに対して何らかのギフティング行為を実行し、さらに第2の場面においてユーザBが配信者である場合に、ユーザBに対しても何らかのギフティング行為を実行したとすると、第1の場面及び第2の場面におけるギフティング行為に付随するポイントやギフト購入額(ギフティング額)に関する情報を、ユーザCに関する視聴者としての情報とすることができる。さらに、ユーザD及びユーザEを含む他のユーザに関しても、ユーザCと同様の「視聴者としての情報」をサーバ装置20で管理することで、視聴者としてのユーザCの何らかのランキング(例えば、配信者へのギフティング総額を他の視聴者と競った上でランク付けされる順位)に関する情報も、ユーザCに関する視聴者としての情報として含めることができる。このような視聴者としての情報は、サーバ装置20の配信サーバ20aにて管理され、第1DBサーバ装置20b及び第2DBサーバ装置20cに格納されておけばよい。
次に、前述の配信者の情報とは、例えば、第1の場面において、配信者であるユーザAによって配信される第1の動画及び/又は第2の動画におけるアバター(ユーザAのアバター)に関するアバター情報やゲームに関するゲーム情報等を含むことができる。同様に、例えば、第2の場面においてユーザBが配信者である場合、配信者であるユーザBによって配信される第3の動画及び/又は第4の動画におけるアバター(ユーザBのアバター)に関するアバター情報やゲームに関するゲーム情報を含むことができる。なお、第2の場面においてユーザC~ユーザEのいずれかが配信者である場合においても、配信者であるユーザC~ユーザEのいずれかによって配信される第3の動画及び/又は第4の動画におけるアバター(ユーザC~ユーザEのアバター)に関するアバター情報やゲームに関するゲーム情報を含むことができる。また、配信者の情報には、例えば第1の場面において、配信者であるユーザAのフォロワー(ユーザAによる動画配信をフォローする視聴者)の数や、ユーザAの何らかのランキング(例えば、視聴者からのギフティング行為によって獲得する累計ポイントを他の配信者間と競った上でランク付けされる順位)等の情報が含まれてもよい。
アバター情報とは、例えば、アバターの属性、及び/又はアバターに装着若しくは付与されるアイテムに関する情報等を含むことができる。アバターの属性とは、例えば、魔法使い、僧侶、女子高生、勇者等といったアバターの種類(職業)や、優しい、荒々しい、豪快、のんびり等といったアバターの性格等を含むことができる。なお、アバターの属性は、各配信者がアバターを設定する際に各配信者自らが個別に設定してもよいし、インストールされた動画配信用アプリケーションにおいて自動的に設定されていてもよい。
アバターに装着若しくは付与されるアイテムに関する情報とは、アバターに対して各配信者自らが装着させた(又は動画配信用アプリケーション上で購入した)、又は動画を視聴している視聴者からギフトとして付与された、各種アイテムを含むことができる。ここでアイテムには、衣装、防具、小物といったアバターが身につけることができるものや、呪文、必殺技、ライフといったゲームオブジェクトが含まれ得る。
ゲーム情報とは、例えば、ゲームの進行情報(ゲームの進行に対応して保存されるセーブデータ情報)、ゲームのスコアやゲームの進行に応じて配信者(ユーザ)に与えられる何らかの称号(バッジ等)、何らかのゲームのイベントや大会での戦績情報等が含まれ得る。
以上より、視聴者情報取得部130は、例えば、第1の場面においては、配信者(第1の配信者)であるユーザAの端末装置10Aは、視聴者であるユーザB~ユーザEの少なくとも1人のユーザ情報であって、前述した視聴者としての情報と、第2の場面においてユーザB~ユーザEが配信する(ユーザB~ユーザEが第2の配信者として配信する)第3の動画及び/又は第4の動画に関する配信者の情報(の少なくとも一部)を、サーバ装置20(配信サーバ20a)から取得する。
(5)オブジェクト抽出部140
オブジェクト抽出部140は、配信者(第1の場面においてはユーザA)の操作に関する操作データに基づいて生成されるゲームにおいて用いられる複数のゲームオブジェクトの中から、視聴者情報取得部130により取得された視聴者情報(第1の場面においてはユーザB~ユーザEのユーザ情報)に基づく制御の対象とされる少なくとも1つの特定ゲームオブジェクトを抽出することができる。制御の対象とされる少なくとも1つの特定ゲームオブジェクトは、ゲームにおいて配信者が取得及び/又は操作する少なくとも1つのゲームオブジェクトを含み得る。ゲームにおいて配信者が「取得する」又は「操作する」少なくとも1つのゲームオブジェクトは、アイテム、装備、ポイント、報酬、コイン、カード、キャラクター及び/又はアバターを含み得る。
(6)制御パラメータ演算部150
制御パラメータ演算部150は、オブジェクト抽出部140により抽出された特定ゲームオブジェクトに関連する制御パラメータを、視聴者情報取得部130により取得された視聴者情報に基づいて演算することができる。ここで、特定ゲームオブジェクトに関連する制御パラメータの具体的な演算については後述する。なお、オブジェクト抽出部140により抽出された特定ゲームオブジェクトとは、前述のとおり、ゲームにおいて配信者(第1の場面においてはユーザA)が取得及び/又は操作する少なくとも1つのゲームオブジェクトを含み得る。
(7)通信部160
通信部160は、動画の配信/及び視聴に必要とされる様々な情報を、サーバシステム20A及びウェブサーバ装置20Bとの間において通信することができる。例えば、通信部160は、端末装置10が配信者の端末装置10として動作する場合には、ウェブサーバ装置20Bにアクセスして、ゲームの実行等に必要とされるゲームプログラムを含むウェブページ(HTMLドキュメント)等を受信することができる。また、通信部160は、端末装置10が配信者の端末装置10として動作する場合には、少なくとも1人の視聴者に関する視聴者情報を、配信サーバ装置20aから受信することができる。さらにまた、通信部160は、端末装置10が配信者の端末装置10として動作する場合には、第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)をサーバシステム20Aに送信し、視聴者の端末装置10からこの配信者宛てに送信されたギフト情報及び/又はコメント情報等を、サーバシステム20A(ギフト/コメントAPIサーバ装置20d)から受信することができる。さらにまた、通信部160は、端末装置10が配信者の端末装置10として動作する場合には、視聴者の端末装置10宛てのコメント情報等をサーバシステム20A(ギフト/コメントAPIサーバ装置20d)に送信することができる。
さらに、通信部160は、端末装置10が視聴者の端末装置10として動作する場合には、配信者の端末装置10により送信された第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)と、コメント情報とを、サーバシステム20A(配信サーバ装置20a)から受信し、配信者(配信者の端末装置10)に対してギフト情報及び/又はコメント情報を、サーバシステム20A(配信サーバ装置20a)に送信することができる。
(8)表示部170
表示部170は、動画の配信及び/又は視聴に必要とされる様々な情報を表示することができる。具体的には、表示部170は、配信される第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)、及び/又は、受信した第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)等を、表示することができる。さらに、表示部170は、配信者と視聴者との間で送受信されるギフト情報/コメント情報等を、表示することもできる。
(9)記憶部180
記憶部180は、動画の配信及び/又は視聴に必要とされる様々な情報を記憶することができる。具体的には、記憶部180は、例えば、第1の動画に関する様々な情報(配信者の情報を含む)、第2の動画に関する様々な情報(配信者の情報を含む)、第3の動画に関する様々な情報(配信者の情報を含む)、第4の動画に関する様々な情報(配信者の情報を含む)、配信者の端末装置10と視聴者の端末装置10との間で送受信されるギフト情報及びコメント情報、等の少なくとも一部を記憶することができる。
(10)ユーザインタフェイス部190
ユーザインタフェイス部190は、動画の配信及び/又は視聴に必要とされる様々な情報をユーザ(配信者又は視聴者)の操作を介して入力することができる。例えば、ユーザインタフェイス部190は、ゲームの実行に際して配信者の操作の内容を示す操作データを配信者から入力して第2の動画生成部110(第4の動画生成部110)に出力することができる。
3-2.サーバ装置20の機能
次に、サーバ装置20の機能の一例について、図4を参照しつつ説明する。図4は、図1に示したサーバ装置20の機能の一例を模式的に示すブロック図である。
図4に示すように、サーバ装置20は、主に、通信部200と、記憶部210と、ギフト/コメント処理部220と、ユーザ情報管理部230と、を含むことができる。これらは、サーバシステム20Aを構成する配信サーバ装置20a、第1DBサーバ装置20b、第2DBサーバ装置20c、及びギフト/コメントAPIサーバ装置20dのうちのいずれかの1つに含まれていてもよいし、配信サーバ装置20a、第1DBサーバ装置20b、第2DBサーバ装置20c、及びギフト/コメントAPIサーバ装置20dのうちの少なくとも1つのサーバ装置に重複及び/又は分散して含まれていてもよい。
通信部200は、動画の配信及び/又は視聴に必要とされる様々な情報を、配信者の端末装置10及び/又は視聴者の端末装置10との間において通信することができる。例えば、サーバ装置20は、サーバシステム20Aとして動作する場合には、第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)を、各配信者の端末装置10から受信して各視聴者の端末装置10に配信することができる。また、サーバ装置20は、サーバシステム20Aとして動作する場合には、第1の動画及び/又は第2の動画に関し、各視聴者の端末装置10から配信者の端末装置10(第1の場面においてはユーザAの端末装置10A)宛てのギフト情報及び/又はコメント情報を受信して、これらをその配信者の端末装置10(第1の場面においてはユーザAの端末装置10A)に送信することができる。さらにまた、サーバ装置20は、サーバシステム20Aとして動作する場合には、或る配信者の端末装置10から各視聴者の端末装置10宛てのコメント情報を受信して、このコメント情報を各視聴者の端末装置10に送信することができる。さらにまた、サーバ装置20は、サーバシステム20Aとして動作する場合には、ユーザ情報管理部230によって管理され(また、記憶部210に記憶される)ユーザ情報(視聴者情報)を、問い合わせのあった配信者の端末装置10(例えば、第1の場面においてはユーザAの端末装置10A)に送信することができる。さらにまた、サーバ装置20は、ウェブサーバ装置20Bとして動作する場合には、アクセスしてきた各配信者の端末装置10に対して、ゲームプログラムが組み込まれたウェブページを送信することができる。
記憶部210は、動画の配信及び/又は視聴に必要とされ、通信部200、ギフト/コメント処理部220、及び/又はユーザ情報管理部230から受信した様々なユーザ情報(後述するユーザ毎の視聴者としての情報、及び/又は配信者の情報を含む)を記憶することができる。なお、記憶部210が、ユーザ情報管理部230から受信した様々なユーザ情報は、各ユーザに付与される識別IDに基づいて、ユーザ毎に各ユーザ情報を記憶することができる。
ギフト/コメント処理部220は、各視聴者(各視聴者の端末装置10)から各配信者(各配信者の端末装置10)宛に送信されたギフト情報及び/又はコメント情報を処理することができる。また、ギフト/コメント処理部220は、各配信者(各配信者の端末装置10)から各視聴者(各視聴者の端末装置10)宛に送信されたコメント情報を処理することもできる。
ユーザ情報管理部230は、各配信者(各配信者の端末装置10)からの第1の動画乃至第4の動画に関し、例えば、以下のユーザ情報(配信者の情報)のうちの少なくとも1つをこれに限定することなく管理することができる。
(a)配信者(例えば、第1の場面においてはユーザA、第2の場面においてはユーザB~ユーザE)のアバターに関するアバター情報であって、例えば、以下の情報を含む。
・魔法使い、僧侶、女子高生、勇者等といったアバターの種類(職業)や、優しい、荒々しい、豪快、のんびり等といったアバターの性格等に関するアバターの属性情報。
・アバターに装着又は付与されるアイテムに関する情報であって、アバターに対して各配信者自らが装着させた(又は動画配信用アプリケーション上で購入した)、又は視聴者からギフトとして付与された各種アイテムに関する情報。ここで、アイテムとは、衣装、武器、防具、小物(例えば、カチューシャ、指輪、ネックレス等)といったアバターが身につけることができるものや、呪文、必殺技、ライフといったゲームオブジェクトが含まれ得る。
(b)配信者のゲームに関するゲーム情報であって、例えば、以下の情報を含む。
・ゲームの進行情報(ゲームの進行に対応して保存されるセーブデータ情報)。
・ゲームのスコアやゲームの進行に応じて配信者(ユーザ)に与えられる何らかの称号(バッジやレベル等)に関する情報。
・何らかのゲームのイベントや大会での戦績情報。
さらに、ユーザ情報管理部230は、ギフト/コメント処理部220から必要な情報を受信して、以下に例示する情報(ユーザ情報)を、各ユーザの視聴者としての情報として管理することができる。
・視聴者として任意の配信者にギフトやポイントを送付(送信)した累計ポイント又は累計額に関する情報(例えば、ユーザCに着目すると、ユーザCは第1の場面において、配信者であるユーザAに対して何らかのギフティング行為を実行し、さらに第2の場面においてユーザBが配信者である場合に、ユーザBに対しても何らかのギフティング行為を実行したとすると、第1の場面及び第2の場面におけるギフティング行為に付随するポイントやギフト購入額(ギフティング額)に関する情報を、ユーザCに関する視聴者としての情報とすることができる)。
・視聴者としてのユーザの何らかのランキング(例えば、配信者へのギフティング総額を他の視聴者と競った上でランク付けされる順位)に関する情報。
サーバシステム20Aは、各配信者の端末装置10により送信される第1の動画及び/又は第2の動画(第3の動画及び/又は第4の動画)を、複数の視聴者の端末装置10の各々に対して配信する機能を果たすために設けられている。また、特定のアプリケーション(動画配信用アプリケーション、動画視聴用アプリケーション等)をインストールした配信者の端末装置10及び視聴者の端末装置10においては、ユーザ(配信者か視聴者かを問わず)毎に識別IDが付与される。
さらに、サーバシステム20Aは、各配信者と各視聴者との間でやりとりされるギフト情報及びコメント情報を中継している。
したがって、サーバシステム20Aは、前述した各ユーザの視聴者としての情報や、各ユーザ(例えば、図1におけるユーザA~ユーザE)が配信者となりうる場合(例えば、第1の場面又は第2の場面)における、各ユーザの前述のとおり例示した様々なユーザ情報(配信者の情報)を認識することができる。つまり、サーバシステム20Aは、このような各ユーザのユーザ情報(視聴者としての情報、及び/又は配信者の情報を含む)を、配信や受信の履歴(ログ)や、ギフトの購入履歴、ギフト情報の送受信の履歴、ゲームの進行に関する履歴(ゲームの進行に対応して保存されるセーブデータ情報)と、各ユーザの識別IDとを対応付けることによって、各ユーザの前述のとおり例示した様々なユーザ情報をユーザ毎(識別ID毎)に管理・記憶することができる。
なお、サーバ装置20が、ウェブサーバ装置20Bとして動作する場合には、ギフト/コメント処理部220及びユーザ情報管理部230を欠いてもよい。
3-3.スタジオユニット30の機能
スタジオユニット30は、前述したように、端末装置10及び/又はサーバ装置20と同様の機能を果たすことが可能である。したがって、スタジオユニット30は、図3を参照して説明した端末装置10の機能、及び/又は、図4を参照して説明したサーバ装置20の機能を有することが可能である。
なお、スタジオユニット30を、配信者の端末装置10と同様の機能を果たすために用いる場合において、スタジオユニット30における第1の動画生成部300(第3の動画生成部300)(図示せず)は、前述の端末装置10における第1の動画生成部100(第3の動画生成部100)と同様の機能を有していてもよいし、さらに別の機能が付加されていてもよい。
4.動画配信システム1の全体的な動作
次に、前述の構成を有する動画配信システム1において実行される全体的な動作について、図5A乃至図7を参照して説明する。図5A乃至図5Cは、図1に示した動画配信システム1において行われる動作の一例を示すフロー図である。図6は、図1に示した動画配信システム1において用いられる端末装置10に表示される第1の動画(第3の動画)の一例を示す図である。図7は、図1に示した動画配信システム1において用いられる端末装置10に表示される第2の動画(第4の動画)の一例を示す図である。
はじめに、図5Aを参照して、第1の動画又は第3の動画が配信される一連のステップについて説明する。
まず、ステップ(以下、「ST」という。)602において、配信者(例えば、第1の場面においてはユーザA、第2の場面においてはユーザB~ユーザE)の操作に従って、その端末装置10(例えば、第1の場面においてはユーザAの端末装置10A、第2の場面においてはユーザBの端末装置10B~ユーザEの端末装置10Eのいずれか)が、動画配信用アプリケーションを起動して実行する。
次に、ST604において、配信者の端末装置10(例えば、第1の場面においてはユーザAの端末装置10A、第2の場面においてはユーザBの端末装置10B~ユーザEの端末装置10Eのいずれか)は、配信者(第1の場面においてはユーザA、第2の場面においてはユーザB~ユーザEのいずれか)の動作に関する動作データに基づいて、配信者のアバターのアニメーションを含む第1の動画(第3の動画)を生成する。これにより、図6に例示されるように、配信者の端末装置10の表示部170には、配信者のアバター400のアニメーションを含む第1の動画410(第3の動画410)が表示される。
さらに、ST604において、配信者の端末装置10は、生成した第1の動画410(第3の動画410)を、サーバシステム20Aの配信サーバ装置20aに送信する。配信サーバ装置20aは、動画視聴用アプリケーションを実行して配信サーバ装置20aにアクセスしている各視聴者の端末装置10から、配信者の端末装置10により配信される第1の動画410(第3の動画410)を要求する旨の要求信号を受信することができる。この要求信号に応答して、配信サーバ装置20aは、各視聴者の端末装置10に、配信者の端末装置10から受信した第1の動画410(第3の動画410)を配信することができる。このようにして、各視聴者の端末装置10の表示部170にも、図6に例示したような第1の動画410(第3の動画410)が表示される。
次に、ST606において、配信者の端末装置10により配信されている第1の動画410(第3の動画410)を視聴している視聴者(例えば、第1の場面においては、ユーザB~ユーザE)が、配信者に対してギフト(ここでは一例としてギフトG1)を贈る(ギフティングする)場合を考える。視聴者は、その端末装置10(例えば、第1の場面においては、ユーザBの端末装置10B~ユーザEの端末装置10E))のユーザインタフェイス部190を操作して、予め設定されている複数のギフトのうちギフトG1を選択(購入)し、そのギフトG1を配信者(例えば、第1の場面においては、ユーザA)にギフティングするコマンドを選択することができる。これにより、視聴者の端末装置10は、配信者に対してギフトG1をギフティングする旨を示すギフト情報を、(配信サーバ装置20aを介して)サーバシステム20Aのギフト/コメントAPIサーバ装置20dに送信することができる。このギフト情報は、例えば、ギフトの受信者(この場合、ユーザA)を識別する受信者識別情報(この場合、ユーザAの識別ID)と、ギフト(この場合、ギフトG1)を識別するギフト識別情報と、ギフトの送信者(この場合、例えば、ユーザC)を識別する送信者識別情報(この場合、ユーザCの識別ID)と、を含むことができる。
各視聴者(例えば、第1の場面においては、ユーザB~ユーザE)は、その端末装置10を操作して、配信者(例えば、第1の場面において、ユーザA)に対してコメントを送信することも可能である。この場合には、視聴者の端末装置10は、(配信サーバ装置20aを介して)サーバシステム20Aのギフト/コメントAPIサーバ装置20dに対してコメント情報を送信することができる。コメント情報は、コメントの受信者(この場合、ユーザA)を識別する受信者識別情報(この場合、ユーザAの識別ID)と、コメントの内容に関するコメント内容情報(例えば、「がんばって」なるコメント)と、コメントの送信者(この場合、例えば、ユーザD)を識別する送信者識別情報(この場合、ユーザDの識別ID)と、を含むことができる。
次に、ST608において、サーバシステム20Aのギフト/コメントAPIサーバ装置20dは、配信サーバ装置20aを介して視聴者の端末装置10から受信したギフト情報及び/又はコメント情報を、配信者の端末装置10に遅延なく(又は単位時間ごとに)送信する。これにより、配信者の端末装置10の表示部170には、受信したギフト情報及び/又はコメント情報に対応するギフトやコメントが表示される。なお、サーバシステム20Aのギフト/コメントAPIサーバ装置20dは、受信したギフト情報及び/又はコメント情報を第1DBサーバ装置20bに格納する。この際、ギフト/コメントAPIサーバ装置20dは、受信したギフト情報及び/又はコメント情報を、配信サーバ装置20aに送信してもよい。これにより、配信サーバ装置20aは、各視聴者のギフト及び/又はコメントに関する視聴者としての情報を管理することができる。
次に、ST610において、配信者(例えば、第1の場面において、ユーザA)が、第1の動画(第3の動画)を視聴している全ての視聴者又は特定の視聴者に対してコメントを送信する場合を考える。配信者は、その端末装置10のユーザインタフェイス部190を操作して、全て又は特定の視聴者に対してコメントすることができる。つまり、配信者の端末装置10は、サーバシステム20Aのギフト/コメントAPIサーバ装置20dに対してコメント情報を送信することができる。この場合におけるコメント情報も、前述の受信者識別情報(第1の場面においては、ユーザB~ユーザEの識別ID)、コメント内容情報、及び送信者識別情報(第1の場面においては、ユーザAの識別ID)を含むことができる。
次に、ST612において、サーバシステム20Aのギフト/コメントAPIサーバ装置20dは、配信者の端末装置10から受信したコメント情報を配信サーバ装置20aに送信し、配信サーバ装置20aがこのコメント情報を各視聴者の端末装置10に配信する。また、ギフト/コメントAPIサーバ装置20dは、受信したコメント情報を第1DBサーバ装置20bに格納する。
次に、ST614において、サーバシステム20Aの配信サーバ装置20aが、第1の場面及び第2の場面において、第1の動画410及び第3の動画410に関する各配信者(第1の動画においてはユーザA、第3の動画においてはユーザB~ユーザE)のユーザ情報(配信者の情報)や、第1の動画410及び第3の動画410に関する各視聴者の視聴者としての情報(例えば、第1の場面においては、第1の動画410を視聴するユーザB~ユーザEの情報であり、第2の場面においては、第3の動画410を視聴するユーザA及びユーザC~ユーザEの情報)を管理する。配信サーバ装置20aは、第1の動画410及び第3の動画410の配信や、第1の動画410及び第3の動画410の配信に関し配信者の端末装置10と視聴者の端末装置10との間のギフト情報及び/又はコメント情報の送受信を全て把握することができる。これにより、配信サーバ装置20a(のユーザ情報管理部230)は、第1の動画及び第3の動画に関する配信者のアバターに関するアバター情報(ギフティングされたギフト情報も含む)等の様々な配信者の情報や、第1の動画410及び第3の動画410における各視聴者の前述した視聴者としての情報を管理(取得)することができる。なお、配信サーバ装置20aは、第1の動画410及び第3の動画410に関する各ユーザの情報(配信者の情報、及び/又は視聴者としての情報)を、第1DBサーバ装置20bに格納する。なお、各配信者及び各視聴者には固有の識別IDが付与されるため、配信サーバ装置20aは、ユーザ毎(例えば、ユーザA~ユーザE毎)のユーザ情報を管理(取得)することができ、且つユーザ毎に各ユーザ情報を第1DBサーバ装置20bに格納することができる。
以上のとおり説明したST602~ST614は、配信者の端末装置10から第1の動画410又は第3の動画410が配信される一連の動作となるが、ST614は、必ずしも、ST612の後に実行される必要はなく、ST604~ST612の動作が実行される度に、その動作に関係する視聴者情報を管理(取得)して、そのユーザ情報(配信者の情報、及び/又は視聴者としての情報)を第1DBサーバ装置20bに格納してもよい。
以上のとおり説明したST602~ST614にて、第1の動画410又は第3の動画410が各配信者の端末装置10から配信される一連の一般的な動作は終了する。この一連の動作により、サーバシステム20A(配信サーバ装置20a)は、第1の動画410又は第3の動画410に関する各ユーザのユーザ情報(配信者の情報、及び/又は視聴者としての情報)を取得することができる。
次に、図5Bを参照して、第2の動画又は第4の動画が配信される一連のステップについて説明する。なお、図5Bは、第2の動画又は第4の動画が配信される一連のステップに着目したものであるが、図5Bは、図5Aの一連のステップに続いて実行されることもあるし(この場合においては、図5AのST614の後に後述するST702が続くこととなる)、図5Aの一連のステップとは独立的に(図5Aの一連のステップとは関係なく)実行されることもある。
まず、ST702において、配信者(第1の場面においてはユーザA、第2の場面においてはユーザB~ユーザEのいずれか)が、配信者の端末装置10の表示部170に表示される「ゲーム」というアイコン420(図6参照)をタップ等すると、配信者の端末装置10は、動画配信用アプリケーションに搭載されたブラウザ機能を実行する。これにより、ST704において、配信者の端末装置10は、動画配信用アプリケーションを実行した(すなわち、第1の動画410又は第3の動画410を各視聴者の端末装置10に向けて配信可能な)状態で、ウェブサーバ装置20Bにアクセスすることができる。したがって、配信者の端末装置10は、ウェブサーバ装置20Bからゲームプログラムが組み込まれたHTML5ドキュメントを受信することができる。
そして、ST706において、配信者の端末装置10は、受信したHTML5ドキュメントに組み込まれたゲームプログラムを実行することにより、ゲームに関する動画(第2の動画又は第4の動画)を生成する。図7には、このように配信者Aの端末装置10Aにより生成された第2の動画500(第4の動画500)の一例が示されている。配信者の端末装置10は、生成した第2の動画500又は第4の動画500を、サーバシステム20Aの配信サーバ装置20aに送信する。配信サーバ装置20aは、動画視聴用アプリケーションを実行して配信サーバ装置20aにアクセスしている各視聴者の端末装置10から、配信者の端末装置10により配信される第2の動画500(第4の動画500)を要求する旨の要求信号を受信することができる。この要求信号に応答して、配信サーバ装置20aは、各視聴者の端末装置10に、配信者の端末装置10から受信した第2の動画500(第4の動画500)を配信することができる。このようにして、各視聴者の端末装置10の表示部170にも、図7に例示したような第2の動画500(第4の動画500)が表示される。
次に、ST708において、配信者の端末装置10が、受信したHTML5ドキュメントに組み込まれたゲームプログラムを実行することにより、ゲームを開始・実行する。したがって、配信者の端末装置10は、ゲームを進行すると同時に、該ゲームの状況を第2の動画500(第4の動画500)として、配信サーバ装置20aを介して各視聴者の端末装置10に配信する。
ところで、図5Bが、図5Aの一連のステップに続いて実行される場合における第1の動画410(第3の動画410)と第2の動画500(第4の動画)の送信について補足する。配信者の端末装置10は、ST706及びST708で生成した第2の動画500(第4の動画500)を配信サーバ装置20aに送信するに際して、第1の動画410(第3の動画410)の配信サーバ装置20aへの送信を中止してもよいし、第1の動画410(第3の動画410)を第2の動画500(第4の動画500)の送信とともに送信してもよい。配信サーバ装置20aは、配信者の端末装置10から受信した第2の動画500(第4の動画500)を、動画視聴用アプリケーションを実行して第1の動画410(第3の動画410)を受信している各視聴者の端末装置10に配信する。この場合において、配信サーバ装置20aは、配信者の端末装置10から、第2の動画500(第4の動画500)だけでなく第1の動画410(第3の動画410)をも受信している場合には、第2の動画500(第4の動画500)のみ、又は、第2の動画500(第4の動画500)及び第1の動画410(第3の動画410)の両方を、各視聴者の端末装置10に送信してもよい。このようにして、各視聴者の端末装置10の表示部170には、図6に例示したような第1の動画410(第3の動画410)の上に被せて第1の動画410(第3の動画410)を隠した状態で、第2の動画500(第4の動画500)が表示され得る。
次に、ST710において、配信者の端末装置10により配信されている第2の動画500(第4の動画500)を視聴している視聴者(例えば、第1の場面においては、ユーザB~ユーザE)が、配信者に対してギフト(ここでは一例としてギフトG2)を贈る(ギフティングする)場合を考える。視聴者は、その端末装置10(例えば、第1の場面においては、ユーザBの端末装置10B~ユーザEの端末装置10E))のユーザインタフェイス部190を操作して、予め設定されている複数のギフトのうちギフトG2を選択(購入)し、そのギフトG2を配信者(例えば、第1の場面においては、ユーザA)にギフティングするコマンドを選択することができる。これにより、視聴者の端末装置10は、配信者に対してギフトG2をギフティングする旨を示すギフト情報を、(配信サーバ装置20aを介して)サーバシステム20Aのギフト/コメントAPIサーバ装置20dに送信することができる。このギフト情報は、例えば、ギフトの受信者(この場合、ユーザA)を識別する受信者識別情報(この場合、ユーザAの識別ID)と、ギフト(この場合、ギフトG2)を識別するギフト識別情報と、ギフトの送信者(この場合、例えば、ユーザC)を識別する送信者識別情報(この場合、ユーザCの識別ID)と、を含むことができる。
各視聴者(例えば、第1の場面においては、ユーザB~ユーザE)は、その端末装置10を操作して、配信者(例えば、第1の場面において、ユーザA)に対してコメントを送信することも可能である。この場合には、視聴者の端末装置10は、(配信サーバ装置20aを介して)サーバシステム20Aのギフト/コメントAPIサーバ装置20dに対してコメント情報を送信することができる。コメント情報は、コメントの受信者(この場合、ユーザA)を識別する受信者識別情報(この場合、ユーザAの識別ID)と、コメントの内容に関するコメント内容情報(例えば、「がんばって」なるコメント)と、コメントの送信者(この場合、例えば、ユーザD)を識別する送信者識別情報(この場合、ユーザDの識別ID)と、を含むことができる。
次に、ST712において、サーバシステム20Aのギフト/コメントAPIサーバ装置20dは、配信サーバ装置20aを介して視聴者の端末装置10から受信したギフト情報及び/又はコメント情報を、配信者の端末装置10に遅延なく(又は単位時間ごとに)送信する。これにより、配信者の端末装置10の表示部170には、受信したギフト情報及び/又はコメント情報に対応するギフトやコメントが表示される。なお、サーバシステム20Aのギフト/コメントAPIサーバ装置20dは、受信したギフト情報及び/又はコメント情報を第2DBサーバ装置20cに格納する。この際、ギフト/コメントAPIサーバ装置20dは、受信したギフト情報及び/又はコメント情報を、配信サーバ装置20aに送信してもよい。これにより、配信サーバ装置20aは、各視聴者のギフト及び/又はコメントに関する視聴者としての情報を管理することができる。
次に、ST714において、配信者(例えば、第1の場面において、ユーザA)は、第2の動画500(第4の動画500)を視聴している全ての視聴者又は特定の視聴者に対してコメントを送信する場合を考える。配信者は、その端末装置10のユーザインタフェイス部190を操作して、全て又は特定の視聴者に対してコメントすることができる。つまり、配信者の端末装置10は、サーバシステム20Aのギフト/コメントAPIサーバ装置20dに対してコメント情報を送信することができる。この場合におけるコメント情報も、前述の受信者識別情報(第1の場面においては、ユーザB~ユーザEの識別ID)、コメント内容情報、及び送信者識別情報(第1の場面においては、ユーザAの識別ID)を含むことができる。なお、第2の動画500(又は第4の動画500)を視聴している視聴者に対する配信者のコメント内容情報としては、例えば、「レアな衣装を着ているアバター募集!」や「青のカチューシャを着けているアバター募集!」といったものが例示される。配信者が前述のようなコメント情報を配信することにより、そのコメント情報に合致するアバターを有するユーザを、当該配信者が配信する第2の動画500(第4の動画500)の視聴者として勧誘することが可能となる。また、第2の動画500(又は第4の動画500)を視聴している視聴者のアバターが、配信者のコメント内容を受信した際に当該コメント内容に合致しない場合、その視聴者は、第2の動画500(又は第4の動画500)を視聴する状態を維持しながら、配信者のコメント内容に合致する衣装やアイテムをその視聴者のアバターが装着する状態となるように、アバターの設定を適宜変更することが想定される。さらにまた、第2の動画500(又は第4の動画500)を視聴している視聴者のアバターが、配信者のコメント内容を受信した際に当該コメント内容に合致しない場合であって、且つ当該コメント内容に合致する衣装やアイテムを有していない場合、その視聴者は、第2の動画500(又は第4の動画500)を視聴する状態を維持しながら、配信者のコメント内容に合致する衣装やアイテムを動画配信システム1上で購入した上で、購入した衣装やアイテムをその視聴者のアバターに装着する状態となるように設定してもよい。ところで、視聴者のアバターの設定の変更は、第2の動画500(又は第4の動画500)を視聴する状態を維持することなく一旦解除し、当該設定変更を行った上で、再度視聴する状態に復帰するような処理が視聴者によって実行されてもよい。
なお、配信者は、前述のように所定の条件を満たすアバターを有する視聴者を勧誘するために、例えば前述のようなコメント内容(「レアな衣装を着ているアバター募集!」や「青のカチューシャを着けているアバター募集!」)を、一般的に知られるSNS(Social Networking Service)を介して情報発信するようにしてもよい。
次に、ST716において、サーバシステム20Aのギフト/コメントAPIサーバ装置20dは、配信者の端末装置10から受信したコメント情報を配信サーバ装置20aに送信し、配信サーバ装置20aがこのコメント情報を各視聴者の端末装置10に配信する。また、ギフト/コメントAPIサーバ装置20dは、受信したコメント情報を第1DBサーバ装置20bに格納する。
次に、ST718において、サーバシステム20Aの配信サーバ装置20aが、第1の場面及び第2の場面において、第2の動画500及び第4の動画500に関する各配信者(第1の動画においてはユーザA、第3の動画においてはユーザB~ユーザE)のユーザ情報(配信者の情報)や、第2の動画500及び第4の動画500に関する各視聴者の視聴者としての情報(例えば、第1の場面においては、第2の動画500を視聴するユーザB~ユーザEの情報であり、第2の場面においては、第4の動画500を視聴するユーザA及びユーザC~ユーザEの情報)を管理する。配信サーバ装置20aは、第2の動画500及び第4の動画500の配信や、第2の動画500及び第4の動画500の配信に関し配信者の端末装置10と視聴者の端末装置10との間のギフト情報及び/又はコメント情報の送受信を全て把握することができる。これにより、配信サーバ装置20a(のユーザ情報管理部230)は、第2の動画500及び第4の動画500に関する配信者のアバターに関するアバター情報(ギフティングされたギフト情報も含む)やゲームに関するゲーム情報等の様々な配信者の情報や、第2の動画500及び第4の動画500における各視聴者の前述した視聴者としての情報を管理(取得)することができる。なお、配信サーバ装置20aは、第2の動画500及び第4の動画500に関する各ユーザの情報(配信者の情報、及び/又は視聴者としての情報)を、第2DBサーバ装置20cに格納する。なお、各配信者及び各視聴者には固有の識別IDが付与されるため、配信サーバ装置20aは、ユーザ毎(例えば、ユーザA~ユーザE毎)のユーザ情報を管理(取得)することができ、且つユーザ毎に各ユーザ情報を第2DBサーバ装置20cに格納することができる。
以上のとおり説明したST702~ST718は、配信者の端末装置10から第2の動画500又は第4の動画500が配信される一連の動作となるが、ST718は、必ずしも、ST716の後に実行される必要はなく、ST706~ST716の動作が実行される度に、その動作に関係する視聴者情報を管理(取得)して、そのユーザ情報(配信者の情報、及び/又は視聴者としての情報)を第2DBサーバ装置20cに格納してもよい。
以上のとおり説明したST702~ST718にて、第2の動画500又は第4の動画500が各配信者の端末装置10から配信される一連の一般的な動作は終了する。この一連の動作により、サーバシステム20A(配信サーバ装置20a)は、第2の動画500又は第4の動画500に関する各ユーザのユーザ情報(配信者の情報、及び/又は視聴者としての情報)を取得することができる。
次に、図5Cを参照して、図5A及び図5Bの一連の動作によって各ユーザのユーザ情報(配信者の情報、及び/又は視聴者としての情報)がサーバシステム20A(配信サーバ装置20a)によって取得され、第1DBサーバ装置20b及び第2DBサーバ装置20cにその各ユーザのユーザ情報(配信者の情報、及び/又は視聴者としての情報)が格納されていることを前提にした場合における、第2の動画500又は第4の動画500が配信される一連のステップについて説明する。つまり、図5Cに示される一連の動作は、その前提として、図5A及び図5Bの少なくともいずれか一方の一連の動作が実行された後に、連続的に(図5A及び/又は図5Bの一連の動作に連続して)又は独立的に(図5A及び図5Bとは非連続的に)実行される。なお、図5Cは、一例として、図5A及び図5Bに対して独立的に実行される場合に着目されている。
まず、ST802~ST808は、図5BにおけるST702~ST708と同じであるため、詳細な説明は省略する。
次に、ST810において、配信者の端末装置10(第1の場面においては、ユーザAの端末装置10A)が、その端末装置10が配信する第2の動画500又は第4の動画500(第1の場面においては第2の動画500)を視聴する視聴者(第1の場面においては、ユーザB~ユーザE)の視聴者情報についてサーバシステム20Aの配信サーバ装置20aに対して問い合わせを行うと、配信サーバ装置20aは、第1DBサーバ装置20b及び/又は第2DBサーバ装置20cに格納されている各視聴者のユーザ情報(第1の場面においては、視聴者であるユーザB~ユーザEの視聴者情報であって、ユーザB~ユーザEの前述の配信者の情報、及び/又は前述の視聴者としての情報)を読み出す。これにより、配信者の端末装置10は、視聴者のうちの少なくとも1人のユーザ情報を、配信サーバ装置20aから受信することができる。なお、配信サーバ装置20aから配信者の端末装置10への視聴者のユーザ情報の送信は、必ずしも、配信者の端末装置10からの前述の問い合わせに基づく必要はなく、例えば、配信サーバ装置20aから配信者の端末装置10に対して、所定時間間隔毎に自動的に行われるようにしてもよい。これにより、配信者の端末装置10は、当該配信者によるゲームの進行(時間経過)に伴って視聴者が増減する場合に、第2の動画500又は第4の動画500を視聴する最新の各視聴者のユーザ情報を常に取得することができる。
このST810において、配信サーバ装置20aは、配信者の端末装置10からの問い合わせに応じて、第1DBサーバ装置20bに格納されている第1の動画410又は第3の動画410に関する各視聴者のユーザ情報だけを読み出してもよいし、第2DBサーバ装置20cに格納されている第2の動画500又は第4の動画500に関する各視聴者のユーザ情報だけを読み出してもよいし、これらの両方を読み出してもよい。具体的には、例えば第1の場面において、配信サーバ装置20aは、ユーザAの端末装置10Aからの問い合わせに応じて、第1DBサーバ装置20bに格納されている第1の動画410又は第3の動画410に関するユーザB~ユーザEのユーザ情報だけを読み出してもよいし、第2DBサーバ装置20cに格納されている第2の動画500又は第4の動画500に関するユーザB~ユーザEのユーザ情報だけを読み出してもよいし、これらの両方を読み出してもよい。ここで、第1の動画410及び第3の動画410に関する各視聴者のユーザ情報は、図5AにおけるST614によって第1DBサーバ装置20bに格納されているものである。また、第2の動画500及び第4の動画500に関する各視聴者のユーザ情報は、図5BにおけるST718によって第2DBサーバ装置20cに格納されているものである。
次に、ST812において、配信サーバ装置20aから各視聴者のユーザ情報を受信した配信者の端末装置10(第1の場面においては、ユーザAの端末装置10A)は、受信した(少なくとも1人の)視聴者情報(の少なくとも一部)に基づいて、ゲームにおいて用いられる複数のゲームオブジェクトの中から、制御の対象とされる特定ゲームオブジェクトに関連する制御パラメータを演算する。ここで、制御の対象とされる特定ゲームオブジェクトは、ゲームにおいて配信者が取得及び/又は操作する少なくとも1つのゲームオブジェクトを含み得るものである。ゲームにおいて配信者が「取得する」又は「操作する」少なくとも1つのゲームオブジェクトは、アイテム、装備、ポイント、報酬、コイン、カード、キャラクター及び/又はアバター(配信者のアバターを含む)を含み得る。なお、特定ゲームオブジェクトに関連する制御パラメータの演算の詳細ついては、第2の動画500(第4の動画500)の具体例において後述する。
これにより、ST814において、配信者の端末装置10は、特定ゲームオブジェクトに関連する制御パラメータが演算された第2の動画(ゲーム)500を生成して、生成した第2の動画500を、サーバシステム20A(配信サーバ装置20a)を介して各視聴者の端末装置10に配信することができる。なお、特定ゲームオブジェクトに関連する制御パラメータが演算されたゲーム画面の詳細については、第2の動画500(第4の動画500)の具体例において後述する。
次に、ST816において、配信者の端末装置10が、ゲームを続行する場合には、前述したST810~ST814の処理を繰り返すことができる。一方、配信者の端末装置10がゲームを続行しない場合には、処理は終了する。
5.第2の動画500(第4の動画500)の具体例
次に、図7及び図8を参照して、第2の動画500(第4の動画500)の具体例について説明する。図8は、情報テーブルに含まれる演算情報の一例を示す図である。図7には、一例として、配信者によりプレイされている格闘ゲーム(アクションゲームの一種)に関する第2の動画500(第4の動画500)が、前述のST814によって、配信者の端末装置10において表示され、且つ各視聴者の端末装置10において表示されている様子が示されている。
このゲームにおいては、配信者は、図7に示すように、配信者のアバター(又はキャラクター)501を操作して、敵キャラクター502と対戦する。配信者のアバター501は、基本的には、パンチやキック等の様々な攻撃を繰り出して、敵キャラクター502を倒すことを目指すものである。なお、敵キャラクターは、ゲームプログラムに予め設定されているものであってもよいし、このゲームが、複数の配信者間による対戦型の格闘ゲームである場合には、他の配信者(例えば、配信者X)のアバターであってもよい。
配信者の端末装置10は、前述したST810において、サーバシステム20Aの配信サーバ装置20aから受信した視聴者情報(視聴者のユーザ情報)に基づいて、このゲームにおいて用いられる少なくとも1つのゲームオブジェクトを制御することができる。具体的には、配信者の端末装置10は、まず、このゲームにおいて用いられる複数のゲームオブジェクトの中から、制御の対象とされるゲームオブジェクト(「特定ゲームオブジェクト」)を抽出することができる。さらに、配信者の端末装置10は、抽出された特定ゲームオブジェクトに関連する制御パラメータを、受信した視聴者情報に基づいて演算することができる。
配信者の端末装置10が、前述したST810において受信する視聴者情報は、次に例示するもののうちの少なくとも1つを含み得る。なお、以下に例示されるものは、ST810の処理が実行される時点における、各視聴者の最新のユーザ情報であってもよいし、該時点より所定期間(例えば、1週間以内)遡った過去のユーザ情報であってもよい。
(a)各視聴者のユーザ情報であって、各視聴者が配信者(例えば、第1の場面においてはユーザA、第2の場面においてはユーザB~ユーザE)として配信する場合における、第1の動画乃至第4の動画の少なくともいずれかのアバターに関するアバター情報であって、例えば、以下の情報を含む。
・魔法使い、僧侶、女子高生、勇者等といったアバターの種類(職業)や、優しい、荒々しい、豪快、のんびり等といったアバターの性格等に関するアバターの属性情報。
・アバターに装着又は付与されるアイテムに関する情報であって、アバターに対して各配信者自らが装着させた(又は動画配信用アプリケーション上で購入した)、又は視聴者からギフトとして付与された各種アイテムに関する情報。ここで、アイテムとは、衣装、武器、防具、小物(例えば、カチューシャ、指輪、ネックレス等)といったアバターが身につけることができるものや、呪文、必殺技、ライフといったゲームオブジェクトが含まれ得る。
(b)各視聴者のユーザ情報であって、各視聴者が配信者(例えば、第1の場面においてはユーザA、第2の場面においてはユーザB~ユーザE)として配信する場合における第2の動画又は第4の動画のゲームに関するゲーム情報であって、例えば、以下の情報を含む。
・ゲームの進行情報(ゲームの進行に対応して保存されるセーブデータ情報)。
・ゲームのスコアやゲームの進行に応じて配信者(ユーザ)に与えられる何らかの称号(バッジやレベル等)に関する情報。
・何らかのゲームのイベントや大会での戦績情報。
(c)各視聴者のユーザ情報であって、例えば以下に例示される、各視聴者の視聴者としての情報を含む。
・視聴者として任意の配信者にギフトやポイントを送付(送信)した累計ポイント又は累計額に関する情報(例えば、ユーザCに着目すると、ユーザCは第1の場面において、配信者であるユーザAに対して何らかのギフティング行為を実行し、さらに第2の場面においてユーザBが配信者である場合に、ユーザBに対しても何らかのギフティング行為を実行したとすると、第1の場面及び第2の場面におけるギフティング行為に付随するポイントやギフト購入額(ギフティング額)に関する情報を、ユーザCに関する視聴者としての情報とすることができる)。
・視聴者としてのユーザの何らかのランキング(例えば、配信者へのギフティング総額を他の視聴者と競った上でランク付けされる順位)に関する情報。
また、配信者の端末装置10が、複数のゲームオブジェクトの中から、制御の対象となる特定ゲームオブジェクトを抽出するには、一実施形態では、ウェブサーバ装置20B及び/又はサーバシステム20A(の配信サーバ装置20a)等から受信する情報テーブル1000(図8参照)を用いることができる。この情報テーブルでは、各ゲームに対応付けて、各特定ゲームオブジェクトのいずれの制御パラメータを、どの視聴者情報に基づいてどのように演算(主に、増加又は減少であるが、これらに限定されない)させるのかを示す演算情報を含むことができる。配信者の端末装置10は、現在実行しているゲームを検索キーとして情報テーブルを検索することにより、少なくとも1つの特定ゲームオブジェクトを識別したうえで、その特定ゲームオブジェクトに関連する制御パラメータをどのように演算するのかを識別することができる。なお、配信者の端末装置10は、現在実行しているゲームに関する少なくとも1つの特定ゲームオブジェクトを識別したうえで、その特定ゲームオブジェクトを演算する前提となる視聴者情報を予め識別し、その視聴者情報のみを配信サーバ装置20aから受信するように、配信サーバ装置20aに対してその旨を問い合わせるようにしてもよい。
図8を参照すると、例えば、格闘ゲームA(例えば、図7参照)においては、特定ゲームオブジェクトとして、配信者のアバター(図7においては、配信者のアバター501)と、味方キャラクターが抽出される。配信者のアバターに関連する制御パラメータとしては、「攻撃力」及び「防御力」であり、味方キャラクターに関連する制御パラメータとしては「出現数」が、それぞれ情報テーブルにおいて設定されている。そして、配信者の端末装置10が取得する各視聴者の視聴者情報(各視聴者のユーザ情報)に関し、「豪快な性格のアバターが2つ」取得されると(つまり、第1の場面において、例えばユーザB~ユーザEのうち、2人のアバターが豪快な性格である場合)、配信者のアバターの「攻撃力」が「2倍」となるように、「攻撃力」が演算される。また、配信者の端末装置10が取得する各視聴者の視聴者情報(各視聴者のユーザ情報)に関し、「武器『日本刀』を持っているアバターが4つ」取得されると(つまり、第1の場面において、例えばユーザB~ユーザEのアバター全てが日本刀を装着又は付与されている場合)、配信者のアバターの武器として「日本刀」が付与され(図7における符号505参照)且つ配信者のアバターの「攻撃力」が「4倍」となるように、「攻撃力」が演算される。
また、図8を参照すると、配信者の端末装置10が取得する各視聴者の視聴者情報(各視聴者のユーザ情報)に関し、「レアな衣装のアバターが2つ」取得されると(つまり、第1の場面において、例えばユーザB~ユーザEのうち、2人のアバターの衣装が他のユーザが持っていない個性的なものである場合)、配信者のアバターの「防御力」が「2倍」となるように、「防御力」が演算される。さらに、配信者の端末装置10が取得する各視聴者の視聴者情報(各視聴者のユーザ情報)に関し、「金のネックレスを装着しているアバターが4つ」取得されると(つまり、第1の場面において、例えばユーザB~ユーザEのアバター全てが金のネックレスを装着又は付与されている場合)、配信者のアバターの「防御力」が「4倍」となるように、「防御力」が演算される。
さらにまた、図8を参照すると、配信者の端末装置10が取得する各視聴者の視聴者情報(各視聴者のユーザ情報)に関し、「格闘ゲームAのレベルT(Tは任意に設定される整数であって、ゲームにおいて一般的に用いられるものであればよい)に到達済の視聴者が2人」という視聴者情報が取得されると(つまり、第1の場面において、例えばユーザB~ユーザEのいずれか2人が格闘ゲームAのレベルTに到達済である場合)、「味方キャラクター」が1体追加(付与)される。さらにまた、配信者の端末装置10が取得する各視聴者の視聴者情報(各視聴者のユーザ情報)に関し、「格闘ゲーム大会Pの優勝者である視聴者が1人」という視聴者情報が取得されると(つまり、第1の場面において、例えばユーザB~ユーザEのいずれか一人が大会Pの優勝者である場合)、「味方キャラクター」が1体追加(付与)される。なお、図7においては、この「味方キャラクター」に関する2つの条件がいずれも満たされた結果(ユーザB及びユーザCが格闘ゲームAにおいてレベルTに到達済であり、ユーザEが大会Pの優勝者である)、味方キャラクター503及び504が表示されている。味方キャラクターとは、配信者のアバターの味方となって、敵キャラクター502と対戦(格闘)するキャラクターを意味する。
さらにまた、図8を参照すると、配信者がロールプレイングゲームBに関する第2の動画500(第4の動画500)を配信する場合においては、配信者の端末装置10が取得する各視聴者の視聴者情報(各視聴者のユーザ情報)に関し、「魔法使いのアバターが3つ」という視聴者情報や、「同じカチューシャを装着するアバターが10(例えば、同じカチューシャを装着するアバターを有する視聴者が10人)」という視聴者情報を取得することで、新たな「呪文」や「必殺技」を取得できる旨が情報テーブル1000において設定されている。
なお、前述の「攻撃力」が「2倍」又は「4倍」になるということは、図7において、配信者のアバター501が敵キャラクター502を攻撃した場合に、敵キャラクターのエネルギーゲージ520が通常時よりも2倍又は4倍減ることを意味する。また、図8に示されるように「防御力」が「2倍」又は「4倍」になるということは、図7において、配信者のアバター501が敵キャラクター502の攻撃を受けた場合に、配信者のアバター501のエネルギーゲージ510が通常時よりも1/2倍又は1/4倍しか減らないことを意味する。
ところで、前述の特定ゲームオブジェクトは、図8に示すように、配信者のアバター等に限定されるものではなく、例えば、装備、ポイント、報酬、コイン、カード等、ゲームの種類に応じて様々なものを対象とすることができる。また、例えば図8に示されるアバター情報(「豪快な性格」、「レアな衣装」、「魔法使い」、「同じカチューシャを装着する」等)は、第1の動画410(第3の動画410)に関するもののみであってもよいし、第2の動画500(第4の動画500)に関するもののみであってもよいし、第1の動画410(第3の動画410)に関するものと第2の動画500(第4の動画500)に関するものの両方の合計(合算)であってもよい。また、図8に示すような、視聴者情報に基づく演算方法においては、例えば、「同じカチューシャを装着するアバターが10(例えば、同じカチューシャを装着するアバターを有する視聴者が10人)」という視聴者情報を取得すると、新たな必殺技Aが付与され、「同じカチューシャを装着するアバターが20(例えば、同じカチューシャを装着するアバターを有する視聴者が20人)」という視聴者情報を取得すると、新たな必殺技Bが付与されるように、視聴者情報に対して複数の閾値(この場合においては、10及び20が閾値に相当する)が設けられるようにしてもよい。
また、特定ゲームオブジェクトに関連する制御パラメータを、少なくとも1つの視聴者情報に基づいて演算することは、換言すれば、配信者にとってより有利となるような以下の事象のうちの少なくとも1つを発生することを意味すると捉えることができる。
・ゲームの難易度を減少させる。
・より多くのゲームオブジェクト(キャラクター、ポイント、報酬等)を配信者に取得させる。
・より価値の高いゲームオブジェクト(より希少なアイテム、より高いポイントや報酬等)を配信者に取得させる。
なお、図7に示すように、第2の動画500(第4の動画500)の配信に際し、配信者の端末装置10と各視聴者の端末装置10との間で行われるコメント情報(前述のST710~ST716)は、配信者の端末装置10及び各視聴者の端末装置10の表示部170におけるコメント領域530に表示される。なお、図7は、ユーザAが配信者、ユーザB~ユーザEが視聴者となる第1の場面を例示している。図7のコメント領域530に示されるように、第1の場面において、ユーザAはユーザDからギフトを付与されているが、このギフトの情報(ギフトの種類等)は、ユーザAのユーザ情報として、サーバシステム20A(の配信サーバ装置20a)に管理され且つ第2DBサーバ装置20cに格納されることは言うまでもない。したがって、当該ギフト情報は、図7に示される第1の場面の後に、例えば、第2の場面において、ユーザBが第4の動画500を配信する場合であって、且つユーザAがユーザBによって配信される第4の動画500を視聴する場合に、視聴者であるユーザAのユーザ情報として、ユーザBの端末装置10Bに送信されることとなる。
6.変形例
前述した様々な実施形態では、配信者の端末装置10が格闘ゲームに関する第2の動画500(第4の動画)を配信する場合について説明した。しかし、配信者の端末装置10は、任意のゲームに関する第2の動画500(第4の動画500)を配信することが可能である。任意のゲームは、例えば、アクションゲーム、シミュレーションゲーム、ロールプレイングゲーム、カードゲーム、パズルゲーム、シューティングゲーム、クイズゲーム、育成ゲーム、ボードゲーム、ガチャゲーム、及び/又は、スポーツゲームを、これらに限定することなく含み得る。
また、図7及び図8を参照しつつ前述のとおり説明した一実施形態においては、特定ゲームオブジェクトを、一例として配信者のアバター及び味方キャラクターとしたが、これに限定されず、例えば、敵キャラクター502としてもよい。この場合において、敵キャラクター502の制御パラメータを「攻撃力」とすれば、その攻撃力を1/2や1/4とするように演算してもよい。
また、制御パラメータの演算については、図8に示されるものはあくまで一例であって、さらに詳細に(細かく)設定されていてもよい。
また、前述した様々な実施形態では、配信者の端末装置10が、ゲームに関する動画(第2の動画500又は第4の動画500)を生成するために、ゲームプログラムが組み込まれたHTML(特にHTML5)ドキュメントをウェブサーバ装置20Bから受信する場合について説明した。しかし、配信者の端末装置10は、ゲームプログラムが組み込まれたHTMLドキュメントをウェブサーバ装置20Bから受信する構成に代えて、インストールされた動画配信用アプリケーションを実行して図示しないデータサーバ装置(又はサーバシステム20Aに含まれた何らかの図示しないサーバ装置)から必要な情報を受信することによりゲームに関する画面を含む第2の動画500(第4の動画500)を生成することも可能である。
前述した様々な実施形態では、配信者の端末装置10は、一般的なユーザにより使用されるスマートフォン等であってもよいし、スタジオ等に設置される専用端末装置であってもよい。この場合には、サーバシステム20Aに含まれる、配信サーバ装置20a、第1DBサーバ装置20b、第2DBサーバ装置20c、及びギフト/コメントAPIサーバ装置20d(さらにはウェブサーバ装置20B)のうちの少なくとも1つのサーバ装置がスタジオ等において専用端末装置と併設されるようにしてもよい。
また、前述した様々な実施形態では、配信者の端末装置10が、配信者の動作に関する動作データ及び配信者の音声に関する音声データに基づいてこの配信者のアバターを含むアニメーションを含む第1の動画410(第3の動画410)を生成し、この第1の動画410(第3の動画410)をサーバ装置20(サーバシステム20A)に送信する場合について説明した。しかし、配信者の端末装置10は、配信者の動作に関する動作データ及び配信者の音声に関する音声データをサーバ装置20に送信し、サーバ装置20がこの動作データ及び音声データに基づいて第1の動画410(第3の動画410)を生成し、該第1の動画410(第3の動画410)を各視聴者の端末装置10に配信してもよい。これにより、配信者の端末装置10からサーバシステム20Aに送信される情報の量を削減することができる。
或いはまた、配信者の端末装置10は、配信者の動作に関する動作データ及び配信者の音声に関する音声データを別途設けられたサーバ装置に送信し、この別途のサーバ装置が動作データ及び音声データに基づいて第1の動画410(第3の動画410)を生成して配信者の端末装置10に返し、配信者の端末装置10が、受信した第1の動画410(第3の動画410)をサーバ装置20(サーバシステム20A)に送信するようにしてもよい。これにより、配信者の端末装置10から別途設けられたサーバ装置20に送信される情報の量を削減することができる。
さらにまた、配信者の端末装置10は、配信者の動作に関する動作データ及び配信者の音声に関する音声データを、サーバ装置20(サーバシステム20A)又は別途設けられたサーバ装置を介して、各視聴者の端末装置10に送信し、各視聴者の端末装置10が、受信した動作データ及び音声データに基づいて第1の動画410(第3の動画410)を生成(レンダリング)及び表示するようにしてもよい(なお、この手法は「クライアントレンダリング」といわれることがある)。これにより、サーバ装置20(サーバシステム20A)又は別途設けられたサーバ装置から各視聴者の端末装置10に送信される情報の量を削減することができる。
また、上記いずれかの場合において、配信者の端末装置10により送信された動作データ及び音声データに基づいて第1の動画410(第3の動画410)を生成することは、サーバ装置20、上記別途のサーバ装置及び各視聴者の端末装置10のうちの少なくとも2つの装置において分担されるようにしてもよい。いずれの場合であっても、動画の生成を担う装置は、動作させるべきアバターに関する情報(画像等)を例えばサーバ装置20等から受信して記憶しておくことができる。
以上説明した様々な実施形態において、前述した各端末装置10の動作は、この端末装置10と同様の構成を有するスタジオユニット30によっても同様に実行可能である。この場合、図1に例示されたスタジオユニット30Aは、動画を配信するための端末装置10と同様の機能を有することが可能である。同様に、図1に例示されたスタジオユニット30Bは、動画を視聴するための端末装置10と同様の機能を有することが可能である。さらに、前述した各サーバ装置20の動作もまた、このサーバ装置20と同様の構成を有するスタジオユニット30によっても同様に実行可能である。
一般的に、ゲームプログラムが端末装置10にインストールされる場合、又は、ゲームプログラムが端末装置10にインストールされる動画配信用アプリケーションに組み込まれている場合、新規なゲームを実行するためには、端末装置10は、新規なゲームプログラム又は動画配信用アプリケーションをインストールする必要がある。この場合、ゲームプログラムの製作者からみれば、複数のOSの各々に対応したゲームプログラムを用意する必要があるため、ゲームプログラムの製作に必要な工数が増加するという問題がある。一方、ユーザの観点からみれば、新しいゲームを入手するために、新しいゲームプログラムをダウンロードする、及び/又は、既存のゲームプログラムをアップデートする必要があるため、通信負荷、通信コスト、時間及び手間がかかるという問題がある。
これに対して、本件出願に開示された技術では、配信者の端末装置10は、ゲームを実行するために、この端末装置10にインストールされたゲームプログラムを実行するのではなく、動画配信用アプリケーションに組み込まれたブラウザ機能を呼び出し、このブラウザ機能を用いて、ウェブサーバ装置20Bからウェブページ(HTMLドキュメント、特にHTML5ドキュメント)を受信し、このウェブページに組み込まれたゲームプログラムを実行することができる。これにより、配信者の端末装置10は、新規なゲームを容易に実行することができる。したがって、ゲームプログラムの製作者は、新しいゲームを提供する際には、ウェブサーバ装置20Bにより送信されるウェブページ(HTMLドキュメント、特にHTML5ドキュメント)に新しいゲームプログラムを組み込むだけでよいので、新しいゲームプログラムの製作に必要な工数を抑えることができる。また、ユーザは、新しいゲームの提供を受けるために、新しいゲームプログラムをダウンロード等する必要がないので、通信負荷、通信コスト、時間及び手間を抑えることができる。
前述した様々な実施形態では、配信者の端末装置10は、動画配信用アプリケーションを実行してサーバシステム20Aと通信して第1の動画410(第3の動画410)を配信している最中に、この動画配信用アプリケーションに組み込まれたブラウザ機能を実行することにより、ウェブサーバ装置20Bから受信したウェブページに含まれたプログラムを実行して、サーバシステム20Aを介して各視聴者の端末装置10に第2の動画500(第4の動画500)を配信することができる。しかし、このような構成は一例に過ぎない。
例えば、配信者の端末装置10は、第1の動画410(第3の動画410)を配信することなく、第2の動画500(第4の動画500)を配信することも可能である。具体的には、第1の例では、配信者の端末装置10は、動画配信用アプリケーションを実行してこの動画配信用アプリケーションに組み込まれたブラウザ機能を実行することにより、(動画配信用アプリケーションを用いて第1の動画410又は第3の動画410を配信することなく)ウェブサーバ装置20Bから受信したウェブページに含まれたプログラムを実行して、サーバシステム20Aを介して各視聴者の端末装置10に第2の動画500(第4の動画500)を配信することも可能である。この構成では、配信者は、自身の動作に基づいた第1の動画410(第3の動画410)を配信するのではなく(第1の動画410又は第3の動画410の配信を停止して)、自身が実行するゲームの様子を示す第2の動画500(第4の動画500)のみを配信することができる。
また、第2の例では、配信者の端末装置10は、インストールされたゲームアプリケーションを実行して、ゲームサーバ装置としても機能するサーバシステム20Aにアクセスすることにより、実行しているゲームの画面をこのサーバシステム20Aを介して各視聴者の端末装置10に配信することも可能である。これら第1の例及び第2の例においても、配信者の端末装置10は、前述した様々な実施形態と同様に、サーバシステム20Aから受信する視聴者情報を用いて第2の動画500(第4の動画500)を生成することが可能である。
さらに、第3の例では、上記第1の例又は上記第2の例において、配信者の端末装置10は、ゲーム画面(第2の動画500又は第4の動画500)の生成を行うことなく、配信者の操作データをサーバシステム20A又はウェブサーバ装置20Bに送信することができる。この場合には、サーバシステム20A又はウェブサーバ装置20Bが、操作データを用いてゲーム画面(第2の動画500又は第4の動画500)を生成し、サーバシステム20Aが、生成された第2の動画500(第4の動画500)を各視聴者の端末装置10に配信することができる。この第3の例では、ウェブサーバ装置20Bが第2の動画500(第4の動画500)を生成する場合には、ウェブサーバ装置20Bは、サーバシステム20A(配信サーバ装置20a)から受信する視聴者情報を用いることができる。サーバシステム20Aが第2の動画500(第4の動画500)を生成する場合には、サーバシステム20Aは、自身が管理・記憶しているユーザ情報(視聴者情報)を用いることができる。
前述した様々な実施形態は、矛盾又は不都合が生じない限りにおいて相互に組み合わせて用いられ得る。
以上のとおり、一実施形態、及び変形例を含む様々な実施態様によれば、少なくとも1人の視聴者に関する視聴者情報に基づいて、特定ゲームオブジェクトに関連する制御パラメータを演算した第2の動画(第4の動画)を生成することができる。これにより、配信者は、自らのゲームをより有利に進めることを目的として、配信者として動画配信システム1のサービスを利用することを惹起される。また、その配信者は、必ずしも配信者として動画配信システム1を利用することに留まらず、視聴者として動画配信システム1を利用することも惹起される。
このように、本件出願に開示された技術は、配信者として又は視聴者として、ユーザによる動画配信に関するサービスの利用を惹起させることが可能な、コンピュータプログラム、方法及びサーバ装置を提供することができる。
7.様々な態様について
第1の態様に係るコンピュータプログラムは、「少なくとも1つのプロセッサにより実行されることにより、第1の配信者の動作に関する第1の動作データに基づいて生成された前記第1の配信者のアバターのアニメーションを含む第1の動画又は前記第1の動作データと、受信したウェブページを用いて前記第1の配信者の操作に関する第1の操作データに基づいて生成されたゲームに関する第2の動画とを、通信回線を介して複数の視聴者の端末装置に向けて配信し、前記複数の視聴者のうちの少なくとも1人の視聴者に関する視聴者情報を、通信回線を介して取得し、前記ゲームにおいて用いられる複数のゲームオブジェクトの中から、制御の対象とされる特定ゲームオブジェクトを抽出し、前記視聴者情報に基づいて、前記特定ゲームオブジェクトに関連する制御パラメータを演算する、ように前記プロセッサを機能させる」。
第2の態様に係るコンピュータプログラムは、上記第1の態様において「前記視聴者情報は、前記少なくとも1人の視聴者が、前記第1の配信者とは異なる第2の配信者として、該第2の配信者の動作に関する第2の動作データに基づいて生成された前記第2の配信者のアバターのアニメーションを含む第3の動画又は前記第2の動作データと、前記ウェブページを用いて前記第2の配信者の操作に関する第2の操作データに基づいて生成された前記ゲームに関する第4の動画との少なくともいずれか一方を、前記通信回線を介して前記複数の視聴者の端末装置に向けて配信可能である場合における、前記第2の配信者の情報を含む」。
第3の態様に係るコンピュータプログラムは、上記第2の態様において「前記第2の配信者の情報は、前記第2の配信者のアバターに関するアバター情報、及び/又は前記第2の配信者の前記ゲームに関するゲーム情報を含む」。
第4の態様に係るコンピュータプログラムは、上記第3の態様において「前記アバター情報は、前記第2の配信者のアバターの属性、及び/又は該アバターに装着若しくは付与されるアイテム、に関する情報を含む」。
第5の態様に係るコンピュータプログラムは、上記第3の態様において「前記ゲーム情報は、前記第2の配信者による前記ゲームの進行情報を含む」。
第6の態様に係るコンピュータプログラムは、上記第1乃至上記第5のいずれかの態様において「前記視聴者情報を記憶するサーバ装置から、前記通信回線を介して前記視聴者情報を受信する、ように前記少なくとも1つのプロセッサを機能させる」。
第7の態様に係るコンピュータプログラムは、上記第1乃至上記第6のいずれかの態様において「前記特定ゲームオブジェクトは、前記ゲームにおいて前記第1の配信者が取得する又は前記第1の配信者によって操作される前記ゲームオブジェクトである」。
第8の態様に係るコンピュータプログラムは、上記第7の態様において「前記特定ゲームオブジェクトは、アイテム、装備、ポイント、報酬、コイン、カード、キャラクター及び/又はアバターを含む」。
第9の態様に係るコンピュータプログラムは、上記第1乃至上記第8のいずれかの態様において「前記プロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又はグラフィックスプロセッシングユニット(GPU)を含む」。
第10の態様に係るコンピュータプログラムは、上記第1乃至上記第9のいずれかの態様において「前記通信回線が、インターネットを含む」。
第11の態様に係るコンピュータプログラムは、「少なくとも1つのプロセッサにより実行されることにより、第1の配信者の動作に関する第1の動作データに基づいて生成された前記第1の配信者のアバターのアニメーションを含む第1の動画又は前記第1の動作データと、受信したウェブページを用いて前記第1の配信者の操作に関する第1の操作データに基づいて生成されたゲームに関する第2の動画とを、通信回線を介して前記第1の配信者の端末装置から受信し、前記第2の動画が、前記ゲームにおいて用いられる複数のゲームオブジェクトの中から制御の対象として抽出され、且つ、前記第1の配信者の端末装置から前記第1の動画又は前記動作データと前記第2の動画とを受信する複数の視聴者のうちの少なくとも1人の視聴者に関する視聴者情報に基づいて、関連する制御パラメータが演算された特定ゲームオブジェクトを含む、ように前記プロセッサを機能させる」。
第12の態様に係るコンピュータプログラムは、上記第11の態様において「前記プロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又はグラフィックスプロセッシングユニット(GPU)を含む」。
第13の態様に係るコンピュータプログラムは、上記第11又は上記12の態様において「前記通信回線が、インターネットを含む」。
第14の態様に係る方法は、「コンピュータにより読み取り可能な命令を実行する少なくとも1つのプロセッサにより実行される方法であって、前記プロセッサが、前記命令を実行することにより、第1の配信者の動作に関する第1の動作データに基づいて生成された前記第1の配信者のアバターのアニメーションを含む第1の動画又は前記第1の動作データと、受信したウェブページを用いて前記第1の配信者の操作に関する第1の操作データに基づいて生成されたゲームに関する第2の動画とを、通信回線を介して複数の視聴者の端末装置に向けて配信する工程と、前記複数の視聴者のうちの少なくとも1人の視聴者に関する視聴者情報を、通信回線を介して取得する工程と、前記ゲームにおいて用いられる複数のゲームオブジェクトの中から、制御の対象とされる特定ゲームオブジェクトを抽出する工程と、前記視聴者情報に基づいて、前記特定ゲームオブジェクトに関連する制御パラメータを演算する工程と、を含む」。
第15の態様に係る方法は、上記第14の態様において「前記プロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又はグラフィックスプロセッシングユニット(GPU)を含む」。
第16の態様に係る方法は、上記第14又は上記15の態様において「前記通信回線が、インターネットを含む」。
第17の態様に係る方法は、「コンピュータにより読み取り可能な命令を実行する少なくとも1つのプロセッサにより実行される方法であって、前記プロセッサが、前記命令を実行することにより、第1の配信者の動作に関する第1の動作データに基づいて生成された前記第1の配信者のアバターのアニメーションを含む第1の動画又は前記第1の動作データと、受信したウェブページを用いて前記第1の配信者の操作に関する第1の操作データに基づいて生成されたゲームに関する第2の動画とを、通信回線を介して前記第1の配信者の端末装置から受信する工程、を含む方法であり、前記第2の動画が、前記ゲームにおいて用いられる複数のゲームオブジェクトの中から制御の対象として抽出され、且つ、前記第1の配信者の端末装置から前記第1の動画又は前記動作データと前記第2の動画とを受信する複数の視聴者のうちの少なくとも1人の視聴者に関する視聴者情報に基づいて、関連する制御パラメータが演算された特定ゲームオブジェクトを含む」。
第18の態様に係る方法は、上記第17の態様において「前記プロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又はグラフィックスプロセッシングユニット(GPU)を含む」。
第19の態様に係る方法は、上記第17又は上記18の態様において「前記通信回線が、インターネットを含む」。
第20の態様に係るサーバ装置は、「少なくとも1つのプロセッサを具備し、該プロセッサが、第1の配信者の動作に関する第1の動作データに基づいて生成された前記第1の配信者のアバターのアニメーションを含む第1の動画又は前記第1の動作データと、受信したウェブページを用いて前記第1の配信者の操作に関する第1の操作データに基づいて生成されたゲームに関する第2の動画とを、前記第1の配信者の端末装置から受信し、受信した前記第1の動画又は前記第1の動作データと、前記第2の動画とを、通信回線を介して複数の視聴者の端末装置に向けて配信し、前記複数の視聴者のうちの少なくとも1人の視聴者に関する視聴者情報を記憶し、且つ前記視聴者情報を前記第1の配信者の端末装置へ送信する、ように前記少なくとも1つのプロセッサを機能させるサーバ装置であって、前記第2の動画が、前記ゲームにおいて用いられる複数のゲームオブジェクトの中から制御の対象として抽出され、且つ、前記視聴者情報に基づいて、関連する制御パラメータが演算された特定ゲームオブジェクトを含む」。
第21の態様に係るサーバ装置は、上記第20の態様において「前記プロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又はグラフィックスプロセッシングユニット(GPU)を含む」。
第22の態様に係るサーバ装置は、上記第20又は上記21の態様において「前記通信回線が、インターネットを含む」。
第23の態様に係るサーバ装置は、「少なくとも1つのプロセッサを具備し、該プロセッサが、第1の配信者の動作に関する第1の動作データに基づいて生成された前記第1の配信者のアバターのアニメーションを含む第1の動画又は前記第1の動作データと、受信したウェブページを用いて前記第1の配信者の操作に関する第1の操作データに基づいて生成されたゲームに関する第2の動画とを、通信回線を介して複数の視聴者の端末装置に向けて配信する、ように構成された前記第1の配信者の端末装置に対して、コンピュータプログラムを含むウェブページを、前記通信回線を介して送信するものであり、前記コンピュータプログラムが、前記第1の配信者の端末装置を、前記複数の視聴者のうちの少なくとも1人の視聴者に関する視聴者情報を、前記通信回線を介して取得し、前記ゲームにおいて用いられる複数のゲームオブジェクトの中から、制御の対象とされる特定ゲームオブジェクトを抽出し、前記視聴者情報に基づいて、前記特定ゲームオブジェクトに関連する制御パラメータを演算する、ように機能させる」。
第24の態様に係るサーバ装置は、上記第23の態様において「前記プロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又はグラフィックスプロセッシングユニット(GPU)を含む」。
第25の態様に係るサーバ装置は、上記第23又は上記24の態様において「前記通信回線が、インターネットを含む」。
第26の態様に係る方法は、「コンピュータにより読み取り可能な命令を実行する少なくとも1つのプロセッサにより実行される方法であって、前記プロセッサが、前記命令を実行することにより、第1の配信者の動作に関する第1の動作データに基づいて生成された前記第1の配信者のアバターのアニメーションを含む第1の動画又は前記第1の動作データと、受信したウェブページを用いて前記第1の配信者の操作に関する第1の操作データに基づいて生成されたゲームに関する第2の動画とを、前記第1の配信者の端末装置から受信する工程と、受信した前記第1の動画又は前記第1の動作データと、前記第2の動画とを、通信回線を介して複数の視聴者の端末装置に向けて配信する工程と、前記複数の視聴者のうちの少なくとも1人の視聴者に関する視聴者情報を記憶する工程と、前記視聴者情報を前記第1の配信者の端末装置へ送信する工程と、を含む方法であって、前記第2の動画が、前記ゲームにおいて用いられる複数のゲームオブジェクトの中から制御の対象として抽出され、且つ、前記視聴者情報に基づいて、関連する制御パラメータが演算された特定ゲームオブジェクトを含む」。
第27の態様に係る方法は、上記第26の態様において「前記プロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又はグラフィックスプロセッシングユニット(GPU)を含む」。
第28の態様に係る方法は、上記第26又は上記27の態様において「前記通信回線が、インターネットを含む」。
第29の態様に係る方法は、「コンピュータにより読み取り可能な命令を実行する少なくとも1つのプロセッサにより実行される方法であって、前記プロセッサが、前記命令を実行することにより、第1の配信者の動作に関する第1の動作データに基づいて生成された前記第1の配信者のアバターのアニメーションを含む第1の動画又は前記第1の動作データと、受信したウェブページを用いて前記第1の配信者の操作に関する第1の操作データに基づいて生成されたゲームに関する第2の動画とを、通信回線を介して複数の視聴者の端末装置に向けて配信する、ように構成された前記第1の配信者の端末装置に対して、コンピュータプログラムを含むウェブページを、前記通信回線を介して送信する工程、を含む方法であり、前記コンピュータプログラムが、前記第1の配信者の端末装置を、前記複数の視聴者のうちの少なくとも1人の視聴者に関する視聴者情報を、前記通信回線を介して取得し、前記ゲームにおいて用いられる複数のゲームオブジェクトの中から、制御の対象とされる特定ゲームオブジェクトを抽出し、前記視聴者情報に基づいて、前記特定ゲームオブジェクトに関連する制御パラメータを演算する、ように機能させる」。
第30の態様に係る方法は、上記第29の態様において「前記プロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又はグラフィックスプロセッシングユニット(GPU)を含む」。
第31の態様に係る方法は、上記第29又は上記30の態様において「前記通信回線が、インターネットを含む」。