以下、図面を参照しながら、本発明の実施形態について説明する。
図1は、本発明の一実施形態に係る動画配信サーバ10を含むネットワークの構成を概略的に示す構成図である。サーバ10は、図示するように、インターネット等の通信ネットワーク20を介してユーザ端末30と通信可能に接続されている。図1においては、1つのユーザ端末30のみが図示されているが、サーバ10は、複数のユーザ端末30と通信可能に接続されている。サーバ10は、ライブ動画を配信及び視聴するためのライブ動画配信サービスを、ユーザ端末30を介してユーザに提供する。本実施形態において、ユーザ端末30を操作するユーザは、配信者としてライブ動画を配信することができ、また、視聴者として他のユーザによって提供されるライブ動画を視聴することもできる。動画配信サーバ10は、本発明のシステムの一部又は全部を実装する装置の一例である。
動画配信サーバ10は、一般的なコンピュータとして構成されており、図1に示すように、コンピュータプロセッサ11と、メインメモリ12と、入出力I/F13と、通信I/F14と、ストレージ(記憶装置)15とを備え、これらの各構成要素が図示しないバス等を介して電気的に接続されている。
コンピュータプロセッサ11は、CPU又はGPU等として構成され、ストレージ15等に記憶されている様々なプログラムをメインメモリ12に読み込んで、当該プログラムに含まれる各種の命令を実行する。メインメモリ12は、例えば、DRAM等によって構成される。
入出力I/F13は、ユーザ等との間で情報をやり取りするための各種の入出力装置を含む。入出力I/F13は、例えば、キーボード、ポインティングデバイス(例えば、マウス、タッチパネル等)等の情報入力装置、マイクロフォン等の音声入力装置、カメラ等の画像入力装置を含む。また、入出力I/F13は、ディスプレイ等の画像出力装置、スピーカー等の音声出力装置を含む。
通信I/F14は、ネットワークアダプタ等のハードウェア、各種の通信用ソフトウェア、及びこれらの組み合わせとして実装され、通信ネットワーク20等を介した有線又は無線の通信を実現できるように構成されている。
ストレージ15は、例えば磁気ディスク、フラッシュメモリ等によって構成される。ストレージ15は、オペレーティングシステムを含む様々なプログラム、及び各種データ等を記憶する。
本実施形態において、動画配信サーバ10は、それぞれが上述したハードウェア構成を有する複数のコンピュータを用いて構成され得る。例えば、動画配信サーバ10は、1又は複数のサーバ装置によって構成され得る。
このように構成された動画配信サーバ10は、ウェブサーバ及びアプリケーションサーバとしての機能を有するように構成することができ、この場合、ユーザ端末30にインストールされているウェブブラウザ及びその他のアプリケーションからの要求に応答して各種の処理を実行し、当該処理の結果に応じた画面データ(例えば、HTMLデータ)及び制御データ等をユーザ端末30に送信する。ユーザ端末30では、受信したデータに基づくウェブページ又はその他の画面が表示され得る。
ユーザ端末30は、一般的なコンピュータとして構成されており、図1に示すように、コンピュータプロセッサ31と、メインメモリ32と、入出力I/F33と、通信I/F34と、ストレージ(記憶装置)35とを備え、これらの各構成要素が図示しないバス等を介して電気的に接続されている。
コンピュータプロセッサ31は、CPU又はGPU等として構成され、ストレージ35等に記憶されている様々なプログラムをメインメモリ32に読み込んで、当該プログラムに含まれる各種の命令を実行する。メインメモリ32は、例えば、DRAM等によって構成される。
入出力I/F33は、ユーザ等との間で情報をやり取りするための各種の入出力装置を含む。入出力I/F33は、例えば、キーボード、ポインティングデバイス(例えば、マウス、タッチパネル等)等の情報入力装置、マイクロフォン等の音声入力装置、カメラ等の画像入力装置を含む。また、入出力I/F33は、ディスプレイ等の画像出力装置、スピーカー等の音声出力装置を含む。
通信I/F34は、ネットワークアダプタ等のハードウェア、各種の通信用ソフトウェア、及びこれらの組み合わせとして実装され、通信ネットワーク20等を介した有線又は無線の通信を実現できるように構成されている。
ストレージ35は、例えば磁気ディスク又はフラッシュメモリ等によって構成される。ストレージ35は、オペレーティングシステムを含む様々なプログラム及び各種データ等を記憶する。ストレージ35が記憶するプログラムは、アプリケーションマーケット等からダウンロードされてインストールされ得る。
本実施形態において、ユーザ端末30は、スマートフォン、タブレット端末、パーソナルコンピュータ、及び、ウェアラブルデバイス等として構成され得る。
このように構成されたユーザ端末30を操作するユーザは、ストレージ35等にインストールされているウェブブラウザ又はその他のアプリケーションを介した動画配信サーバ10との通信を実行することによって、サーバ10が提供するライブ動画配信サービスを利用することができる。
次に、本実施形態の動画配信サーバ10が有する機能について説明する。図2は、サーバ10が有する機能を概略的に示すブロック図である。サーバ10は、図示するように、様々な情報を記憶及び管理する情報記憶管理部41と、ライブ動画配信サービスの基本機能を制御する基本機能制御部43と、ライブ動画の配信を制御する動画配信制御部45とを有する。これらの機能は、コンピュータプロセッサ11及びメインメモリ12等のハードウェア、並びに、ストレージ15等に記憶されている各種プログラムやデータ等(例えば、ライブ動画配信サービスを提供するためのプログラム等)が協働して動作することによって実現され、例えば、メインメモリ12に読み込まれたプログラムに含まれる命令をコンピュータプロセッサ11が実行することによって実現される。また、図2に示す機能の一部又は全部は、サーバ10とユーザ端末30とが協働することによって実現され、又は、ユーザ端末30によって実現され得る。
動画配信サーバ10の情報記憶管理部41は、ストレージ15等において様々な情報を記憶及び管理する。情報記憶管理部41は、例えば、図2に示すように、ライブ動画配信サービスのユーザに関する情報を管理するユーザ情報テーブル411と、個別のライブ動画の配信に関する情報を管理する配信管理テーブル412と、視聴者による配信者別のライブ動画の視聴に関する情報を管理する配信者別視聴管理テーブル413とを有するように構成されている。
動画配信サーバ10の基本機能制御部43は、ライブ動画配信サービスの基本機能の制御に関する様々な処理を実行する。例えば、基本機能制御部43は、基本機能に関する様々な画面の画面データ及び制御データ等をユーザ端末30に送信し、当該ユーザ端末30で表示される当該画面を介したユーザによる操作入力に応答して様々な処理を実行し、当該処理の結果に応じた画面データ及び制御データ等をユーザ端末30に送信する。基本機能制御部43によって制御される基本機能は、例えば、ログイン処理(ユーザ認証)、課金制御、及び、ユーザ管理(例えば、ユーザ情報テーブル411の更新等)等を含む。
動画配信サーバ10の動画配信制御部45は、ライブ動画の配信の制御に関する様々な処理を実行する。例えば、動画配信制御部45は、複数の配信者の各々が提供するライブ動画を複数の視聴者に対して配信するように構成されている。例えば、動画配信制御部45は、配信者のユーザ端末30(以下、「配信者端末30」と言うことがある。)から送信されるライブ動画を受信して、当該ライブ動画を複数の視聴者の各々のユーザ端末30(以下、「視聴者端末30」と言うことがある。)に対して送信するように構成される。ライブ動画は、例えば、配信者端末30のカメラを介して入力される画像、及び、マイクを介して入力される音声によって構成される。こうしたライブ動画の配信は、例えば、HTTP Live Streaming(HLS)等のプロトコルを用いたストリーミング方式で行われ得る。
本実施形態において、動画配信制御部45は、視聴者が有する配信者別の所定のパラメータであって、対応する配信者が提供するライブ動画の視聴に応じて増加する当該所定のパラメータの値を管理するように構成されている。所定のパラメータは、視聴者及び配信者の組合せに対応付けて管理されるパラメータであって、対応する配信者が提供するライブ動画を対応する視聴者が視聴することに応じて増加するパラメータである、とも言える。当該所定のパラメータは、例えば、視聴時間及び視聴回数の少なくとも一方を含み、配信者別視聴管理テーブル413において管理され得る。当該所定のパラメータは、ライブ動画の視聴を終了する都度、又は、定期的に更新され得る。
また、動画配信制御部45は、ライブ動画を配信する際に、特定の配信者に対応する所定のパラメータの値が小さい視聴者が優先されるように、当該特定の配信者が提供するライブ動画を配信するように構成されている。
このように、本実施形態における動画配信サーバ10は、特定の配信者に対応する所定のパラメータの値が小さい視聴者(つまり、当該特定の配信者が提供するライブ動画の視聴が少ない視聴者)が優先されるように、当該特定の配信者が提供するライブ動画を配信するから、当該特定の配信者が提供するライブ動画の常連の視聴者よりも新参の視聴者が優先され、この結果、新参の視聴者によるライブ動画の視聴が促進される。
本実施形態において、上記所定のパラメータの値が小さい視聴者を優先したライブ動画の配信は、様々な態様で実現され得る。例えば、特定の配信者が提供するライブ動画の配信が、当該特定の配信者に対応する所定のパラメータの値が所定の値未満である視聴者に限定されるようにしても良い。つまり、動画配信制御部45は、特定の配信者に対応する所定のパラメータの値が所定の値未満である視聴者に対して当該特定の配信者が提供するライブ動画を配信する(当該ライブ動画の視聴を可能とする)一方、当該特定の配信者に対応する当該所定のパラメータの値が当該所定の値以上である視聴者に対して当該特定の配信者が提供するライブ動画を配信しない(当該ライブ動画の視聴を不可能とする。例えば、視聴するライブ動画を選択するためのライブ動画一覧において、当該特定の配信者が提供するライブ動画が表示されないようにする、及び/又は、当該特定の配信者が提供するライブ動画を視聴しようとしても視聴が開始されずに所定のメッセージが表示されるようにする等)ように構成され得る。こうした構成は、ライブ動画の視聴者が、対応する配信者が提供するライブ動画の視聴が少ない視聴者に限定されることになるから、新参の視聴者によるライブ動画の視聴を促進する。
また、例えば、特定の配信者が提供するライブ動画の配信の開始の通知が、当該特定の配信者に対応する所定のパラメータの値が所定の値未満である視聴者に限定されるようにしても良い。つまり、動画配信制御部45は、特定の配信者に対応する所定のパラメータの値が所定の値未満である視聴者に対して当該特定の配信者が提供するライブ動画の配信の開始を通知する(例えば、プッシュ通知/アプリ内通知を行う等)一方、当該特定の配信者に対応する当該所定のパラメータの値が当該所定の値以上である視聴者に対して当該特定の配信者が提供するライブ動画の配信の開始を通知しないように構成され得る。この場合、所定のパラメータの値が所定の値以上である視聴者であっても、ライブ動画の視聴自体は行えるようにしても良いし、ライブ動画の視聴も制限する(不可能とする)ようにしてもよい。こうした構成は、ライブ動画の配信開始を通知する視聴者が、対応する配信者が提供するライブ動画の視聴が少ない視聴者に限定されることになるから、新参の視聴者によるライブ動画の視聴を促進する。
また、動画配信制御部45は、配信中のライブ動画の一覧を視聴者に対して提示するように構成され得る。例えば、動画配信制御部45は、配信中のライブ動画の一覧を含む画面の画面データ及び制御データ等をユーザ端末30に対して送信するように構成される。この場合、動画配信制御部45は、特定の視聴者が有する所定のパラメータの値が所定の値未満である配信者による配信中のライブ動画の一覧を、当該特定の視聴者に対して提示するように構成され得る。こうした構成は、特定の視聴者が新参の視聴者として優先的に配信されるライブ動画の一覧を当該特定の視聴者に提示することを可能とし、この結果、新参の視聴者によるライブ動画の視聴が促進される。
また、動画配信制御部45は、配信者による指示に応じて、所定のパラメータの値が小さい視聴者が優先される所定のモードを開始し、その後、所定の終了条件の充足に応じて、当該所定のモードを終了させるように構成され得る。こうした構成は、所定のモードの終了に応じて、所定のパラメータの値が小さい視聴者に対するライブ動画の優先的な配信が終了するから、新参の視聴者以外の視聴者を含めたライブ動画の視聴の促進を可能とする。
また、動画配信制御部45は、ライブ動画の配信の開始に応じて上記所定のモードを開始し、その後、所定の時間の経過に応じて当該所定のモードを終了するように構成され得る。こうした構成は、新参の視聴者に対する優先的なライブ動画の配信に対して時間的な制限を設けることを可能とする。
本実施形態において、所定のモードを終了させるための所定の終了条件は、ライブ動画の配信状況に応じて変化するように構成され得る。例えば、所定の終了条件は、ライブ動画の視聴者数が多いほど所定のモードが継続するように(例えば、条件が充足し難くなるように)構成され、又は、ライブ動画の視聴者による入力情報(コメント、アイテム、スタンプ等が含まれ得る。)の入力数が多いほど所定のモードが継続するように構成され得る。こうした構成は、ライブ動画の配信状況に応じた所定のモードの柔軟な継続を可能とする。
次に、このような機能を有する本実施形態の動画配信サーバ10の具体例について説明する。図3は、この例において、ユーザ情報テーブル411において管理される情報を例示する。ユーザ情報テーブル411は、ライブ動画配信サービスのユーザに関する情報を管理し、図示するように、個別のユーザを識別する「ユーザアカウント」に対応付けて、アカウント名、年齢、性別等を含む「基本情報」、ライブ動画の配信履歴に関する情報である「配信履歴情報」、他のユーザが配信するライブ動画の視聴履歴に関する情報である「視聴履歴情報」、このユーザがフォローしている他のユーザに関する情報である「フォローユーザ情報」、このユーザをフォローしている他のユーザ(フォロワー)に関する情報である「フォロワー情報」、配信者としてのユーザのランクを示す「ランク」、ランクアップ/ダウンを判定するためのパラメータ値である「ランクメータ値」、ライブ動画配信サービスにおける仮想的なコインの保有数を示す「コイン保有数」、同じく仮想的なダイヤの保有数を示す「ダイヤ保有数」等の情報を管理する。
図4は、この例における配信者の「ランク」を説明するための図である。図示するように、この例では、「S」、「A」、「B」、「C」、「D」及び「E」の6つのランク帯が存在し、「S」、「A」、「B」、「C」、「D」の5つのランク帯の各々は、3つのランク(例えば、「S+」、「S」、「S−」のように、ランク帯を示すアルファベットに「+」を付加したランク、当該アルファベットのみのランク、及び、当該アルファベットに「−」を付加したランク)によって構成されている。また、「E」のランク帯は、1つのランク「E」によって構成されている。つまり、この例では、16段階(3×5+1=16)のランクが存在している。
また、ランク帯は、「S」側が最上位であって「E」側が最下位である。また、同一のランク帯内のランクは、「+」側が最上位であって「−」側が最下位である。この例では、ユーザのランクは、初期値として「D−」が設定される。
図5は、この例において、配信管理テーブル412において管理される情報を例示する。配信管理テーブル412は、個別のライブ動画の配信に関する情報を管理し、図示するように、個別の配信(ライブ動画)を識別する「配信ID」に対応付けて、この配信の配信者を識別する「配信者ユーザアカウント」、「配信日時」、配信の継続時間を示す「配信時間」、「視聴者数(現在値及び最大値)」、視聴者によって入力されたコメントの数である「コメント数」、視聴者によって入力された「いいね」の数である「いいね数」、視聴者によるアイテムの入力に応じて増加する「アイテムポイント」、この配信に対して付与されるポイントである「配信ポイント」、この配信が、おしのび配信モード(所定のモード)であるか否かを示す「おしのび配信モードフラグ」等の情報を管理する。この例において、詳しくは後述するが、おしのび配信モードは、新参の視聴者のみが視聴可能なライブ動画の配信モードである。
図6は、この例において、配信者別視聴管理テーブル413において管理される情報を例示する。配信者別視聴管理テーブル413は、視聴者による配信者別のライブ動画の視聴に関する情報を管理し、図示するように、個別の視聴者を識別する「視聴者ユーザアカウント」及び個別の配信者を識別する「配信者ユーザアカウント」の組合せに対応付けて、「対象期間視聴時間」(所定のパラメータ)、対応する視聴者が対応する配信者によるおしのび配信(おしのび配信モードで配信されるライブ動画)の視聴を制限されているか否かを示す「おしのび配信視聴制限フラグ」等の情報を管理する。
この例において、おしのび配信は、対応する配信者が提供するライブ動画の前月及び今月の視聴時間の合計が所定の値(例えば、5時間)未満である視聴者のみが視聴可能となる。言い換えると、対応する配信者が提供するライブ動画の前月及び今月の視聴時間の合計が所定の値以上である視聴者は、当該配信者による「おしのび配信」の視聴を制限される(視聴することができない。)。配信者別視聴管理テーブル413の対象期間視聴時間は、こうした「おしのび配信」の視聴制限の判断の対象期間である前月及び今月の視聴時間を管理し、視聴者によるライブ動画の視聴に応じて適宜に更新される。そして、対象期間視聴時間の値が所定の値以上となると、「おしのび配信視聴制限フラグ」の値が更新され、おしのび配信の視聴が制限されていることを示す値が設定される。
図7は、ユーザ端末30において表示されるライブ動画配信サービスのトップ画面60を例示する。当該画面60は、ライブ動画配信サービスを利用するユーザの起点となる画面であり、図示するように、「フォロー」、「人気」、「おしのび」及び「すべて」と表示された選択領域62と、当該領域62の下側に位置し、配信中のライブ動画を一覧表示する一覧表示領域64と、画面右上隅に位置する円形の配信ボタン66とを有する。
選択領域62は、一覧表示領域64における表示内容を選択するための領域である。具体的には、選択領域62において「フォロー」が選択されると、一覧表示領域64において、ユーザがフォローしている他のユーザの配信中のライブ動画が一覧表示される。同様に、選択領域62において「人気」が選択されると、一覧表示領域64において、人気を有する動画を抽出するための所定の抽出条件に従って抽出されたライブ動画(例えば、視聴者数(現在値)が閾値以上であるライブ動画等)が一覧表示される。また、選択領域62において「すべて」が選択されると、一覧表示領域64において、配信中の全てのライブ動画が一覧表示の対象となる。
この例では、選択領域62において「おしのび」が選択されると、一覧表示領域64において、対応するユーザが視聴者として視聴可能な「おしのび配信」が一覧表示される。配信中のおしのび配信は、配信管理テーブル412の「おしのび配信モードフラグ」を参照することによって特定することができ、また、対応するユーザが視聴者として視聴可能な「おしのび配信」は、配信中のおしのび配信から、対応するユーザが「おしのび配信」の視聴を制限されている配信者によるもの(配信者別視聴管理テーブル413の「おしのび配信視聴制限フラグ」を参照することによって特定される。)を除外することによって特定される。
また、この例では、選択領域62において「おしのび」以外(「フォロー」、「人気」、又は「すべて」)が選択されている場合であっても、一覧表示領域64において表示されるライブ動画に「おしのび配信」が含まれ得るが、対応するユーザが「おしのび配信」の視聴を制限されている配信者による「おしのび配信」は除外される。なお、選択領域62において「おしのび」以外が選択されている場合の一覧表示領域64において、「おしのび配信」以外のライブ配信よりも「おしのび配信」が優先して表示される(例えば、上位に表示される。)ようにしても良い。
一覧表示領域64には、図7に示すように、各々が個別のライブ動画に関する情報を表示する複数の個別表示領域641が2列で配置される。個別表示領域641は、ライブ動画の配信者によって予め設定されている静止画像、配信者のアカウント名、配信タイトル、及び、視聴者数(現在値)等を表示し、ユーザによる選択に応じて、対応するライブ動画の視聴が開始されるように構成されている。一覧表示領域64は、上下方向へのフリック操作/スライド操作等によって、表示される個別表示領域641が切り替わるように構成されている。
配信ボタン66は、ユーザが、配信者としてライブ動画の配信を行うためのオブジェクトである。当該配信ボタン66がユーザによって選択されると、図8に例示する配信準備画面100がトップ画面60に重ねて表示される。当該画面100は、図示するように、配信タイトルを入力するための配信タイトル入力領域102と、おしのび配信モードを設定するためのおしのび配信設定スイッチ104と、「開始!」と表示された配信開始ボタン106とを有する。おしのび配信設定スイッチ104は、初期状態ではオフ(おしのび配信モードの設定なし)となっている。これにより、配信者によって誤って「おしのび配信モード」が設定されてしてしまうことが抑制される。なお、配信者による「おしのび配信モード」の設定に制限を設けるようにしても良く、例えば、ランクが所定の値(例えば、「B−」等)以上であるユーザは、おしのび配信モードの設定が可能である一方、ランクが所定の値未満であるユーザは、おしのび配信モードの設定が不可能であるようにしても良い。
配信開始ボタン106が選択されると、ライブ動画の配信が開始され、具体的には、ユーザ端末30のカメラを介して入力される画像、及び、同じくユーザ端末30のマイクを介して入力される音声によって構成される動画のサーバ10への送信が開始される。また、ライブ動画の配信の開始に応じて、配信管理テーブル412において新たなレコードが作成される。また、ライブ動画の配信の開始に応じて、配信者のフォロワーに対して配信開始の通知(プッシュ通知/アプリ内通知等)が行われる。
図9は、配信開始ボタン106の選択(つまり、ライブ動画の配信の開始)に応じて配信者端末30において表示される配信画面70を例示する。当該画面70は、図示するように、画面全体に対応する動画表示領域71と、画面左上隅に位置する基本情報表示領域72と、画面左下に位置するコメント表示領域73と、画面下端部中央に位置する円形の配信停止ボタン76とを有する。
動画表示領域71は、配信されるライブ動画、つまり、配信者端末30のカメラを介して入力される画像が表示される。配信者は、通常は、配信者端末30のインカメラを介して配信者自身を撮影するので、配信されるライブ動画には配信者自身の画像が含まれる。
基本情報表示領域72は、この配信の基本情報を表示し、具体的には、配信者情報(プロフィール画像等)、この配信の視聴者数(現在値)、及び、この配信に対して視聴者によって入力された「いいね」の数等を表示する。
コメント表示領域73は、視聴者によって入力されたユーザコメント、又は、自動的に入力されたシステムコメントを表示するための領域である。具体的には、当該領域73には、各々が個別のコメントに対応する複数のコメントオブジェクト731が上下方向に並べて配置される。コメント表示領域73は、新たなコメントが入力されると、対応するコメントオブジェクト731が下側に追加され、既存のコメントオブジェクト731が順に上方向に移動するように構成されている。コメント表示領域73は、上下方向へのフリック操作/スライド操作等によって、表示されるコメントオブジェクト731が切り替わるように構成されている。
配信停止ボタン76は、配信者がライブ動画の配信を停止するためのオブジェクトである。当該配信停止ボタン76が配信者によって選択されると、ライブ動画の配信(配信者端末30からサーバ10へのライブ動画の送信)が停止される。
図10は、視聴者端末30において表示される視聴画面80を例示する。例えば、トップ画面60の一覧表示領域64等を介して任意のライブ動画が視聴者によって選択されると、選択されたライブ動画を視聴するための視聴画面80が視聴者端末30において表示される。当該画面80は、図示するように、上述した配信画面70と同様に、動画表示領域81と、基本情報表示領域82と、コメント表示領域83とを有する。また、視聴画面80は、画面下端部において、コメント入力領域86と、ハートマークが表示された「いいね」ボタン87と、プレゼントの図柄が表示されたアイテム入力ボタン88とを有する。
コメント入力領域86は、視聴者がコメントを入力するための領域である。当該領域86の右端部には送信オブジェクト861が配置されており、当該オブジェクト861が選択されると、コメント入力領域86に入力されている文字列がユーザコメントとして入力され、コメント入力データが視聴者端末30からサーバ10に対して送信される。コメント入力データは、コメントの内容、及び、コメントを入力した視聴者のユーザアカウントを含む。コメント入力データを受信したサーバ10は、対応する配信者端末30(対応するライブ動画の配信者の配信者端末30)及び各視聴者端末30(対応するライブ動画の複数の視聴者の各々の視聴者端末30)に対してコメント入力データを送信する。また、コメント入力データを受信したサーバ10は、配信管理テーブル412のコメント数を更新(1加算)する。
サーバ10からコメント入力データを受信した配信者端末30及び各視聴者端末30では、配信画面70及び視聴画面80のコメント表示領域73、83において、ユーザコメントに対応するコメントオブジェクト731、831が表示可能となる。ユーザコメントに対応するコメントオブジェクト731、831には、当該コメントを入力した視聴者のアカウント名と共に、コメントの内容(文字列)が表示される。
いいねボタン87は、視聴者が配信者に対して「いいね」を入力するためのオブジェクトである。当該ボタン87が視聴者によって選択されると、「いいね」の入力が行われ、いいね入力データが視聴者端末30からサーバ10に対して送信される。いいね入力データは、「いいね」を入力した視聴者のユーザアカウントを含む。いいね入力データを受信したサーバ10は、対応する配信者端末30及び各視聴者端末30に対していいね入力データを送信する。また、いいね入力データを受信したサーバ10は、配信管理テーブル412の「いいね数」を更新(1加算)する。
サーバ10からいいね入力データを受信した配信者端末30及び各視聴者端末30では、配信画面70及び視聴画面80のコメント表示領域73、83において、「いいね」の入力を通知するシステムコメントに対応するコメントオブジェクト731、831が表示可能となる。当該システムコメントに対応するコメントオブジェクト731、831には、「いいね」を入力した視聴者のアカウント名と共に、「いいね」の入力を示すテキストが表示される。また、いいね入力データを受信した配信者端末30及び各視聴者端末30では、配信画面70及び視聴画面80の動画表示領域71、81において、所定の視覚効果(例えば、ハート型のオブジェクトが画面下側から上側に向かって流れるように表示されるアニメーション効果等)が付加される。
アイテム入力ボタン88は、視聴者がアイテムを入力するためのオブジェクトである。当該ボタン88が視聴者によって選択されると、図11に例示するアイテム選択画面200が視聴画面80に重ねて表示される。当該画面200は、図示するように、各々がアイテムに関する情報を表示する複数の個別表示領域202を一覧表示する。個別表示領域202は、アイテムに対応する画像、及び、当該アイテムの入力に必要なコイン数を表示する。
この例では、視聴者によって入力可能な複数のアイテムが予め定められており、各アイテムには、その価格(価値、対価)としてのコイン数が予め設定されている。アイテム選択画面200は、当該入力可能な複数のアイテムを一覧表示する。視聴者によってアイテム選択画面200を介して何れかのアイテムが選択されると、選択されたアイテムの入力が行われる。
アイテムの入力が行われると、アイテム入力データが視聴者端末30からサーバ10に対して送信される。アイテム入力データは、アイテムを入力した視聴者のユーザアカウント、及び、入力されたアイテムを特定可能な情報を含む。アイテム入力データを受信したサーバ10は、対応する配信者端末30及び各視聴者端末30に対してアイテム入力データを送信する。また、アイテム入力データを受信したサーバ10は、入力されたアイテムのコイン数に応じたアイテムポイント(例えば、コイン数が多くなるほどポイントも多くなる。)をこの配信に対して付与し、具体的には、コイン数に応じたポイントを、配信管理テーブル412において、対応する配信のアイテムポイントに加算する。また、アイテム入力データを受信したサーバ10は、ユーザ情報テーブル411において、入力されたアイテムのコイン数を、対応するユーザ(アイテムを入力した視聴者)のコイン保有数から減じる。
サーバ10からアイテム入力データを受信した配信者端末30及び各視聴者端末30では、配信画面70及び視聴画面80のコメント表示領域73、83において、アイテムの入力を通知するシステムコメントに対応するコメントオブジェクト731、831が表示可能となる。当該システムコメントに対応するコメントオブジェクト731、831には、アイテムを入力した視聴者のアカウント名と共に、入力されたアイテムの名称が表示される。また、また、アイテム入力データを受信した配信者端末30及び各視聴者端末30では、配信画面70及び視聴画面80の動画表示領域71、81において、入力されたアイテムに対応する視覚効果が付加される。
配信者が、配信画面70の配信停止ボタン76を選択すると、ライブ動画の配信が終了する。ライブ動画の配信が終了すると、サーバ10は、当該配信に対する配信ポイントを設定する。この例では、視聴者数(最大値)、いいね数、コメント数、及び、アイテムポイントに基づいて配信ポイントが算出される。配信ポイントは、視聴者数(最大値)、いいね数、コメント数、及び、アイテムポイントが多いほど、多くなるように構成されている。算出された配信ポイントは、配信管理テーブル412において登録される。
ここで、おしのび配信について説明する。図12は、おしのび配信の開始に応じて(つまり、配信準備画面100のおしのび配信設定スイッチ104を介して「おしのび配信モード」が設定されている状態で、当該画面100の配信開始ボタン106が選択されたときに)、動画配信サーバ10が実行する処理を例示するフロー図である。
サーバ10は、まず、図示するように、対応するユーザ(配信者)が提供する「おしのび配信」を視聴可能なフォロワーに対して配信開始を通知する(ステップS100)。具体的には、配信者のフォロワー(ユーザ情報テーブル411のフォロワー情報を参照することによって特定される。)のうち、当該配信者が提供する「おしのび配信」の視聴を制限されているユーザ(配信者別視聴管理テーブル413の「おしのび配信視聴制限フラグ」を参照することによって特定される。)を除くユーザに対して、配信開始の通知(プッシュ通知/アプリ内通知等)が行われる。このように、おしのび配信の開始に応じたフォロワーへの通知の際には、おしのび配信の視聴を制限されているユーザが除外される。
図13は、ライブ動画の配信モードが「おしのび配信モード」である場合の視聴画面80を例示する。図示するように、配信モードが「おしのび配信モード」である間(配信管理テーブル412の「おしのび配信モードフラグ」を参照することによって特定される。)、基本情報表示領域82において、「おしのび」と表示されたおしのび配信オブジェクト300が表示される。視聴者は、当該オブジェクト300を介して、視聴中のライブ動画が「おしのび配信」であることを認識することができる。また、配信画面70の基本情報表示領域72においても、同様に、おしのび配信オブジェクト300が表示される。なお、トップ画面60の個別表示領域641においても、対応するライブ動画が「おしのび配信」である場合に、おしのび配信オブジェクト300と同様・類似のオブジェクトが表示されるようにしても良い。
図12のフロー図に戻る。そして、サーバ10は、おしのび配信を開始してから所定の時間(例えば、60分)が経過するのを待機し(ステップS110においてNO)、所定の時間が経過すると(ステップS110においてYES)、おしのび配信モードを終了させる(ステップS120)。具体的には、配信管理テーブル412の「おしのび配信モードフラグ」の値が更新される(おしのび配信モードではない通常モードに対応する値が設定される)。また、おしのび配信モードの終了に応じて、配信画面70及び視聴画面80の基本情報表示領域72、82において、おしのび配信オブジェクト300が消える(非表示となる)。なお、おしのび配信モードを終了するとき、及び/又は、終了の所定時間前に、おしのび配信モードの終了に関する所定のメッセージが、配信画面70及び/又は視聴画面80において表示されるようにしても良い。
また、おしのび配信モードが終了すると、配信中のライブ動画は、対応する配信者が提供する「おしのび配信」の視聴を制限されているユーザに対するトップ画面60においても一覧表示の対象となり、こうしたユーザによる視聴が可能となる。なお、おしのび配信モードの終了に応じて、こうしたユーザに対する通知(プッシュ通知/アプリ内通知等)が行われるようにしても良い。
以上、おしのび配信について説明した。次に、ランクの更新について説明する。この例では、ユーザが前日に獲得した配信ポイントに基づいて当日のランクが決定(更新)される。図14は、各ユーザのランクを更新する際に動画配信サーバ10が実行する処理を例示するフロー図である。これらの処理は、毎日深夜(例えば、毎日午前3時)に実行される。
サーバ10は、まず、図14に示すように、各ユーザのランクメータ値を更新する(ステップS200)。図15は、ランクメータ値の更新ルールを説明するための図である。図示するように、この例では、ユーザが前日に獲得した配信ポイントの当該ユーザが属するランク帯内での順位に基づいてランクメータ値が変動する。特定のユーザが前日に獲得した配信ポイントは、配信管理テーブル412の配信者ユーザアカウント、配信日時、及び、配信ポイントを参照することによって算出される。なお、ユーザが1日に複数の配信を行っている場合、複数の配信でそれぞれ獲得した配信ポイントが合算される。
ランクメータ値の更新ルールは、具体的には、図15に示すように、まず、ランク帯内の配信ポイントの順位が上位10%に含まれる場合には、ランクメータ値の変動は「+2」(2ポイント増加)である。同様に、当該順位が上位11〜30%(上位30%から上位10%を除いた残りの20%)に含まれる場合の変動は「+1」であり、当該順位が中位30%(上位31〜60%)に含まれる場合の変動は「±0」(増減なし)であり、当該順位が下位40%に含まれる場合の変動は「−1」(1ポイント減少)である。なお、前日の配信が行われなかった場合には、ランク帯内の順位にかかわらず、ランクメータ値の変動は「−1」となる。
ステップS200では、図15に例示される更新ルールに従って、各ユーザのランクメータ値が更新される。なお、ランクメータ値がマイナスであるユーザであって、今回のランクメータ値の変動が増加(具体的には、+2、又は、+1)である場合、ランクメータ値を0にクリアした上で増加させるようにしても良い。つまり、例えば、ランクメータ値の現在値が「−1」であるユーザの今回の変動が「+2」である場合、ランクメータ値を0にクリアした後に2増加させ、変動後のランクメータ値は(「+1」ではなく)「+2」となる。こうすれば、ランクメータ値がマイナスであるユーザ(例えば、配信頻度が低いユーザ等)であっても当該ランクメータ値を一気に増加させることができるから、ライブ動画の配信が促進される。
図14のフロー図に戻り、各ユーザのランクメータ値を更新すると、次に、サーバ10は、更新後のランクメータ値に基づいてランクを更新する(ステップS210)。図16は、ランクの更新内容と必要なランクメータ値との対応関係を説明するための図である。図示するように、まず、ランク帯をまたいでランクアップする場合(言い換えると、各ランク帯内の最上位のランクからランクアップする場合)に必要なランクメータ値は+4である。つまり、各ランク帯内の最上位のランク(例えば、A+)に属するユーザは、ランクメータ値が+4になると、直上のランク帯内の最下位のランク(例えば、S−)にランクアップする。また、同一のランク帯内でランクアップする場合(言い換えると、各ランク帯内の中位又は最下位のランクからランクアップする場合)に必要なランクメータ値は+2である。つまり、各ランク帯内の中位又は最下位のランク(例えば、B又はB−)に属するユーザは、ランクメータ値が+2になると、同一のランク帯内の直上のランク(例えば、B+又はB)にランクアップする。
同様に、図16に例示するように、同一のランク帯内でランクダウンする場合(言い換えると、各ランク帯内の最上位又は中位のランクからランクダウンする場合)に必要なランクメータ値は−2である。つまり、各ランク帯内の最上位又は中位のランク(例えば、B+又はB)に属するユーザは、ランクメータ値が−2になると、同一のランク帯内の直下のランク(例えば、B又はB−)にランクダウンする。また、ランク帯をまたいでランクダウンする場合に必要なランクメータ値は−6である。つまり、各ランク帯内の最下位のランク(例えば、A−)に属するユーザは、ランクメータ値が−6になると、直下のランク帯の最上位のランク(例えば、B+)にランクダウンする。このように、この例では、ランク帯をまたいだランクアップ/ダウンは、同一のランク帯内でのランクアップ/ダウンと比較して、必要なランクメータ値の絶対値が大きくなっている。この結果、短期間での急激なランクアップ/ダウンが抑制される。
図14のフロー図に戻り、ステップS210においては、図16に例示した対応関係に従って、ランクメータ値に基づくランクの更新が行われる。なお、ランクの更新が行われたユーザ(ランクアップ/ダウンが発生したユーザ)のランクメータ値は0にクリアされる。
以上、ランクの更新について説明した。次に、ダイヤの付与について説明する。この例では、前日の配信時間とランク(前日におけるランク)とに基づいて配信者としてのユーザに対する報酬であるダイヤが付与される。図17は、各配信者にダイヤを付与する際に動画配信サーバ10が実行する処理を例示するフロー図である。これらの処理は、毎日深夜に実行され、例えば、図14に例示した各ユーザのランクを更新する際に実行される処理よりも前の時刻(例えば、毎日午前0時)に実行される。
サーバ10は、まず、図示するように、各ユーザの前日の配信時間を算出する(ステップS300)。特定のユーザの前日の配信時間は、具体的には、配信管理テーブル412の配信者ユーザアカウント、配信日時、及び、配信時間を参照することによって特定される。ユーザが1日に複数の配信を行っている場合、複数の配信の各々の配信時間が合算される。
続いて、サーバ10は、算出した配信時間及び基準ダイヤ数に基づく数のダイヤを各ユーザに付与する(ステップS310)。具体的には、算出した配信時間に基準ダイヤ数を乗じた数のダイヤが各ユーザに付与される。基準ダイヤ数は、ランクが上位であるほど多くなるように、ランク毎に予め設定されており、各ユーザの前日のランクに対応する基準ダイヤ数が適用される。ユーザに対してダイヤが付与されると、ユーザ情報テーブル411のダイヤ保有数が更新される。この例では、ダイヤは、コイン又は現実の通貨に交換することができる。
上述した例では、おしのび配信は、対応する配信者が提供するライブ動画の前月及び今月の視聴時間の合計が所定の値未満である視聴者のみが視聴可能となるように構成したが、「前月及び今月の視聴時間の合計」は、おしのび配信の視聴の可否(制限)を判定するための所定のパラメータの一例であって、本実施形態の他の例では、視聴に応じて増加する他のパラメータ(異なる期間の視聴時間の合計、特定の期間の視聴回数、又は、視聴率等)が適用され得る。
上述した例において、おしのび配信の配信状況に応じて、おしのび配信モードの終了条件(配信開始から所定時間経過すること)を変化させるようにしても良い。例えば、おしのび配信の視聴者数(現在値/最大値)、コメント数、いいね数、及びアイテムポイント等が多いほど、おしのび配信モードを終了させるまでの経過時間を長くするようにしても良い。さらに「おしのび配信モード」の終了条件として、配信開始からの経過時間以外の条件を適用することもでき、例えば、コメント数/いいね数の入力速度(単位時間当たりのコメント/「いいね」の入力数)等の配信の盛り上がりを示すパラメータの値が所定値以上である間、おしのび配信モードを継続させる一方、こうしたパラメータの値が所定値未満となったときに、おしのび配信モードを終了させるようにしても良い。
また、配信者による設定に応じて、おしのび配信の視聴を制限されているユーザ(所定のパラメータ(前月及び今月の視聴時間の合計等)の値に関する条件を満たさないユーザ)の一部が、おしのび配信を視聴できるようにしても良い。例えば、配信準備画面100等の画面で、おしのび配信の視聴を制限されている視聴者の中から所定数以内の視聴者を選択できるようにし、選択された視聴者に対して、おしのび配信開始の通知が届き、当該視聴者が配信を視聴できるようにしても良い。画面上でこうした視聴者を選択する際には、配信者のファンとして予め登録されている視聴者(ファミリーのメンバー)を選択できるようにしても良い。こうすれば、配信者によって選択された所定数以内の常連の視聴者による、ライブ配信の円滑な進行の支援を期待することができる。
以上説明した本実施形態の動画配信サーバ10は、特定の配信者に対応する所定のパラメータ(例えば、前月及び今月の視聴時間の合計等)の値が小さい視聴者(つまり、当該特定の配信者が提供するライブ動画の視聴が少ない視聴者)が優先されるように、当該特定の配信者が提供するライブ動画を配信する(例えば、こうした視聴者以外のユーザによる視聴を制限する、及び、こうした視聴者のみに配信開始を通知する等)から、当該特定の配信者が提供するライブ動画の常連の視聴者よりも新参の視聴者が優先され、この結果、新参の視聴者によるライブ動画の視聴が促進される。
本明細書で説明された処理及び手順は、明示的に説明されたもの以外にも、ソフトウェア、ハードウェアまたはこれらの任意の組み合わせによって実現される。例えば、本明細書で説明される処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク等の媒体に、当該処理及び手順に相当するロジックを実装することによって実現される。また、本明細書で説明された処理及び手順は、当該処理・手順に相当するコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。
本明細書中で説明された処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び/又は複数のモジュールによって実行され得る。また、本明細書において説明されたソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。
本明細書において、発明の構成要素が単数もしくは複数のいずれか一方として説明された場合、又は、単数もしくは複数のいずれとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数のいずれであってもよい。