JP7302806B1 - サーバ、コンピュータプログラム及び端末 - Google Patents

サーバ、コンピュータプログラム及び端末 Download PDF

Info

Publication number
JP7302806B1
JP7302806B1 JP2023043668A JP2023043668A JP7302806B1 JP 7302806 B1 JP7302806 B1 JP 7302806B1 JP 2023043668 A JP2023043668 A JP 2023043668A JP 2023043668 A JP2023043668 A JP 2023043668A JP 7302806 B1 JP7302806 B1 JP 7302806B1
Authority
JP
Japan
Prior art keywords
live distribution
distribution
live
distributor
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023043668A
Other languages
English (en)
Inventor
徐永吉
許淳勝
張家翰
▲とう▼鎮海
宋竹凱
張育銓
鄭承宇
邱柏盛
翁振翔
簡紹唐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
17Live Japan Inc
Original Assignee
17Live Japan Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 17Live Japan Inc filed Critical 17Live Japan Inc
Priority to JP2023043668A priority Critical patent/JP7302806B1/ja
Application granted granted Critical
Publication of JP7302806B1 publication Critical patent/JP7302806B1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】予期しない理由でライブ配信が終了した場合でもそれによる損失を低減する。【解決手段】サーバは、ライブ配信の配信者の端末から視聴者の端末へのライブ配信に係る動画データの伝送を中継する手段と、ライブ配信が予期しない理由で終了したか否かを判定する手段と、終了したと判定された場合、ライブ配信の状態を維持する手段と、終了したと判定されてから所定の期間内に配信者の端末からライブ配信の再開の指示を受信した場合、ライブ配信を維持されている状態で再開させる手段と、を備える。【選択図】図1

Description

本開示は、サーバ、コンピュータプログラム及び端末に関する。
IT技術の発展と共に情報のやりとりの様も移り変わってきた。昭和の時代には新聞やテレビなどの一方通行の情報伝達が主であった。平成になると、ケータイやパソコンが普及し、インターネットの通信速度も大きく改善されたので、チャットサービスなどの即時双方向通信サービスが台頭し、また記憶コストの低減に伴ってオンデマンド型の動画配信サービスが受け入れられていった。そして、現在、令和の時代となり、スマートフォンの高機能化や5Gに代表されるネットワークの速度のさらなる向上を受けて、動画によるリアルタイムのコミュニケーションを実現するサービス、特にライブ配信(Live Streaming)サービスが急速に認知度を高めている。ライブ配信サービスは、離れた場所にいても皆が同じ楽しい時間を共有できるサービスとして、若者を中心に利用者が拡大している。
ライブ配信の配信側の機材には、リアルタイムで高品質の動画を生成するために比較的高いスペックが要求される。したがって、従来は高スペックの据え置き型のPCに専用のソフトウエアを導入することで配信端末を構成していた。しかしながら、昨今のスマートフォンなどの携帯端末の性能の向上により、スマートフォン一台でライブ配信を行うことも現実的になってきた(例えば、非特許文献1参照)。
「iPhone/Androidだけでゲーム配信・生配信するなら、知っておくべき7つのこと」、 新・VIPで初心者がゲーム実況するには、URL:https://vip-jikkyo.net/live-stream-from-a-smartphone
スマートフォンでライブ配信を行う場合、スマートフォンの性能には大きな幅があり、また接続も比較的不安定なので、予期しない理由によりライブ配信が突然終了するという事象が起こりやすい。オンライン会議などとは違い、ライブ配信では配信者が創意工夫し努力してスコアや獲得ギフトや人気度や盛り上がりなどを高めていく。ライブ配信が意図せず終了すると、配信者はそれらの積み上げたものを一瞬で失うこととなる。これは配信者をいらだたせ、ライブ配信を続けようという意欲を削ぐ原因となりうる。
本開示はこうした課題に鑑みてなされたものであり、その目的は、予期しない理由でライブ配信が終了した場合でもそれによる損失を低減することができる技術の提供にある。
本発明のある態様は、サーバに関する。このサーバは、ライブ配信の配信者の端末から視聴者の端末へのライブ配信に係る動画データの伝送を中継する手段と、ライブ配信が予期しない理由で終了したか否かを判定する手段と、終了したと判定された場合、ライブ配信の状態を維持する手段と、終了したと判定されてから所定の期間内に配信者の端末からライブ配信の再開の指示を受信した場合、ライブ配信を維持されている状態で再開させる手段と、を備える。
本発明の別の態様は、コンピュータプログラムである。このコンピュータプログラムは、ライブ配信の配信者の端末に、ネットワークを介してサーバに、ライブ配信に係る動画データを送信する機能と、ライブ配信が予期しない理由で終了した場合、ライブ配信を再開するか否かを配信者に問い合わせるための画面をディスプレイに表示させる機能と、を実現させる。
本発明のさらに別の態様は、コンピュータプログラムである。このコンピュータプログラムは、ライブ配信の視聴者の端末に、ネットワークを介してサーバから、ライブ配信に係る動画データを受信する機能と、ライブ配信の配信者の端末においてライブ配信が予期しない理由で終了した場合、視聴者の端末においてライブ配信を終了させずに待機要請画面をディスプレイに表示させる機能と、待機要請画面に残り時間を表示させる機能と、ライブ配信が再開されないまま残り時間が無くなると視聴者の端末においてライブ配信を終了させる機能と、を実現させる。
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。
本発明によれば、予期しない理由でライブ配信が終了した場合でもそれによる損失を低減することができる。
本開示の実施の形態に係るライブ配信システムの構成を示す模式図である。 図1のユーザ端末の機能および構成を示すブロック図である。 図1のサーバの機能および構成を示すブロック図である。 図3のストリームDBの一例を示すデータ構造図である。 ライブ配信のステータス遷移図である。 図3のユーザDBの一例を示すデータ構造図である。 図3のギフトDBの一例を示すデータ構造図である。 ライブ配信が予期しない理由で終了したときのサーバにおける一連の処理の流れを示すフローチャートである。 ライブ配信アプリを起動したときのユーザ端末における一連の処理の流れを示すフローチャートである。 配信者のユーザ端末のディスプレイに表示されるライブ配信ルーム画面の代表画面図である。 配信者のユーザ端末のディスプレイに表示される再開問い合わせ画面の代表画面図である。 配信者のユーザ端末のディスプレイに表示される、再開成功メッセージ表示領域が重畳表示されたライブ配信ルーム画面の代表画面図である。 配信者のユーザ端末のディスプレイに表示される、終了メッセージ表示領域が重畳表示されたライブ配信選択画面の代表画面図である。 配信者のユーザ端末のディスプレイに表示される、再起動問い合わせ領域が重畳表示されたライブ配信ルーム画面の代表画面図である。 視聴者のユーザ端末のディスプレイに表示されるライブ配信ルーム画面の代表画面図である。 視聴者のユーザ端末のディスプレイに表示される待機要請画面の代表画面図である。 アクティブユーザのユーザ端末のディスプレイに表示されるプッシュ通知画面の代表画面図である。 本実施の形態に係る情報処理装置のハードウェア構成例を示すブロック図である。
以下、各図面に示される同一または同等の構成要素、部材、処理、信号には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面において説明上重要ではない部材の一部は省略して表示する。
実施の形態に係るライブ配信システムでは、ライブ配信が予期しない理由で終了した場合、サーバはそのライブ配信の状態を再開可能期間の間、維持する。配信者のユーザ端末は配信者に、終了したライブ配信を再開させるか否かを問い合わせる。再開可能期間内に再開の指示があると、終了したライブ配信は終了直前の状態から再開される。これにより、配信者は視聴者の流出を抑制することができ、また、それまで蓄積されたスコアや他のライブ配信のパラメータや盛り上がりの度合いを維持した状態でライブ配信を続けることができる。
予期しない理由には例えば、配信者のユーザ端末における障害(ライブ配信アプリの強制終了(クラッシュ)、意図しないまたは操作ミスによるライブ配信アプリの終了など)や、ネットワークにおける障害(ネットワーク遅延、ネットワーク切断、無線接続の不良など)や、サーバにおける障害(サーバエラー、過負荷、停電、監視員の誤認識による強制終了など)がある。本実施の形態では主に配信者のユーザ端末においてライブ配信アプリの強制終了が発生した場合を説明する。他のタイプの理由についても本実施の形態に係る技術的思想を適用できることは、本明細書に触れた当業者には理解される。配信者からライブ配信を止めるための指示を受け付けたことは、予期しない理由に含まれない。
図1は、本開示の実施の形態に係るライブ配信システム1の構成を示す模式図である。ライブ配信システム1は、配信者(ライバー、ストリーマ(Streamer)ともいう)LVと視聴者(オーディエンスともいう)AU(AU1、AU2、…)とがリアルタイムでやりとりできる双方向型のライブ配信サービスを提供する。図1に示すように、ライブ配信システム1は、サーバ10と、配信者側のユーザ端末20と、視聴者側のユーザ端末30(30a、30b、…)と、を備える。ライブ配信を配信している配信者、ライブ配信を視聴している視聴者の他に、ライブ配信プラットフォームにログインしたが配信も視聴もしていないユーザもいる。このようなユーザをアクティブユーザという。配信者、視聴者およびアクティブユーザをユーザと総称することがある。サーバ10は、ネットワークNWに接続された一または複数の情報処理装置によって構成されてもよい。ユーザ端末20、30は例えばスマートフォンやタブレット型端末やラップトップPCやレコーダや携帯型ゲーム機やウェアラブル装置などの携帯端末であってもよいし、デスクトップPCなどの据え置き型の装置であってもよい。サーバ10、ユーザ端末20およびユーザ端末30は、有線または無線の各種ネットワークNWにより互いに通信可能に接続される。
ライブ配信システム1には、配信者LVと、視聴者AUと、サーバ10を管理する管理者(不図示)と、が関与する。配信者LVは、自分の歌や、トーク、パフォーマンス、占い、ゲーム実況などのコンテンツを自身のユーザ端末20で録音・録画してそのままサーバ10にアップロードすることで、リアルタイムにコンテンツを発信する者である。管理者は、サーバ10においてコンテンツのライブ配信のためのプラットフォームを提供し、また、配信者LVと視聴者AUとのリアルタイムのやりとりを仲介または管理する。視聴者AUは、ユーザ端末30でプラットフォームにアクセスして所望のコンテンツを選択し、視聴する。このコンテンツのライブ配信中に視聴者AUがユーザ端末30を介してコメントをしたり応援したり占いを依頼したりするための操作を行い、当該コンテンツを提供する配信者LVがそのようなコメントや応援や依頼に反応し、当該反応が映像および/または音声で視聴者AUに伝わることで、双方向のコミュニケーションが成立する。
本明細書において「ライブ配信」は、配信者LVのユーザ端末20で録音・録画されたコンテンツが実質的にリアルタイムで視聴者AUのユーザ端末30で再生され視聴可能となる状態を実現するデータの伝送態様を意味するものであってもよく、またはそのような伝送態様により実現される配信そのものを意味してもよい。ライブ配信は、HTTP Live StreamingやCommon Media Application FormatやWeb Real-Time CommunicationsやReal-Time Messaging ProtocolやMPEG DASHなどの既存のライブ配信技術を用いて実現されてもよい。ライブ配信は、配信者LVがコンテンツを録音・録画しているときに、視聴者AUが所定の遅延をもって当該コンテンツを視聴可能な伝送態様を含む。遅延の大きさについて、少なくとも、配信者LVと視聴者AUとのやりとりが成立する程度の大きさの遅延は許される。ただし、ライブ配信は、コンテンツを録音・録画したデータ全体をいったんサーバに保存し、その後の任意のタイミングでユーザからの求めに応じて当該データをサーバからユーザに提供するいわゆるオンデマンド型の配信とは区別される。
本明細書において「動画データ」は、ユーザ端末20、30の撮像機能により生成される画像データ(ビデオデータともいう)と、ユーザ端末20、30の音声入力機能により生成される音声データ(オーディオデータともいう)と、を含むデータである。動画データは、ユーザ端末20、30で再生されることで、ユーザによるコンテンツの視聴を可能とする。本実施の形態では、動画データが配信者のユーザ端末で生成されてから視聴者のユーザ端末で再生されるまでの間に、圧縮や伸張や符号化や復号やトランスコーディングなどの、データの形式やサイズや仕様を変更する処理が行われることが想定されている。このような処理の前後で動画データが表す内容(例えば、動画像や音声)は実質的に変わらないので、本実施の形態ではそのような処理が行われた後の動画データはそのような処理が行われる前の動画データと同じであるとして説明する。すなわち、動画データが配信者のユーザ端末で生成されてからサーバ10を経由して視聴者のユーザ端末で再生される場合、配信者のユーザ端末で生成された動画データと、サーバ10を通過する動画データと、視聴者のユーザ端末で受信されて再生される動画データと、は全て同じ動画データである。
本明細書において「配信時間」は、ひとつのライブ配信に関連付けられたパラメータであって、当該ライブ配信が継続した期間の長さを指す。配信時間は、当該ライブ配信に視聴者がいるか否かとは無関係に算出される。
図1の例では、配信者LVがトークをライブ配信している。配信者LVのユーザ端末20はトークを行っている配信者LVの像および音声を録画・録音することで動画データを生成し、ネットワークNWを介してサーバ10に送信する。併せてユーザ端末20は、録画された配信者LVの動画像VDをユーザ端末20のディスプレイに表示させることで、配信者LVによる配信内容の確認を可能とする。
配信者LVのライブ配信の視聴をプラットフォームに要求した視聴者AU1、AU2のユーザ端末30a、30bはそれぞれ、ネットワークNWを介してライブ配信に係る動画データを受信し、受信した動画データを再生することでディスプレイに動画像VD1、VD2を表示させると共にスピーカーから音声を出力する。各ユーザ端末30a、30bで表示される動画像VD1、VD2は配信者LVのユーザ端末20が撮像した動画像VDと実質的に同一であり、各ユーザ端末30a、30bで出力される音声も配信者LVのユーザ端末20が録音した音声と実質的に同一である。
配信者LVのユーザ端末20における録音・録画と、視聴者AU1、AU2のユーザ端末30a、30bにおける動画データの再生と、は実質的に同時に行われる。配信者LVのトークの内容についてひとりの視聴者AU1がコメントをユーザ端末30aに入力すると、サーバ10は当該コメントをリアルタイムで配信者LVのユーザ端末20に表示させると共に各視聴者AU1、AU2のユーザ端末30a、30bにも表示させる。当該コメントを読んだ配信者LVがその内容に被せたトークを展開すると、そのトークの動画像と音声が各視聴者AU1、AU2のユーザ端末30a、30bで出力され、これにより配信者LVと視聴者AU1との会話が成立したと認識される。このように、ライブ配信システム1では、一方通行でない双方向のコミュニケーションを可能とするライブ配信が実現される。
図2は、図1のユーザ端末20の機能および構成を示すブロック図である。ユーザ端末30はユーザ端末20と同様の機能および構成を有する。図2および以後のブロック図に示す各ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組み合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
配信者LVおよび視聴者AUは、ダウンロードサイトからネットワークNWを介して、本実施の形態に係るライブ配信アプリケーションプログラム(本明細書において、ライブ配信アプリという)をユーザ端末20、30にダウンロードし、インストールする。あるいはまた、ライブ配信アプリはユーザ端末20、30にプリインストールされていてもよい。ライブ配信アプリがユーザ端末20、30により実行されることにより、ユーザ端末20、30はネットワークNWを介してサーバ10と通信し、各種機能を実現する。以下、ユーザ端末20、30(のCPUなどのプロセッサ)がライブ配信アプリを実行することにより実現する機能をユーザ端末20、30の機能として説明する。それらの機能は実際はライブ配信アプリがユーザ端末20、30に実現させる機能である。なお、他の実施の形態では、これらの機能は、サーバ10からユーザ端末20、30のウェブブラウザにネットワークNWを介して送信され、そのウェブブラウザによって実行される、HTML(HyperText Markup Language)などのプログラミング言語により記述されたコンピュータプログラムにより実現されてもよい。
ユーザ端末20は、ユーザの像および音声を記録した動画データを生成してサーバ10に提供する配信部100と、サーバ10から動画データを取得して再生する視聴部200と、アクティブユーザによる要求を処理する配信外処理部400と、を備える。ユーザは、配信を行う場合は配信部100を、視聴を行う場合は視聴部200を、視たいライブ配信を探したり配信者のプロフィールを視たりアーカイブを視たりライブ配信を開始する場合は配信外処理部400を、それぞれ起動する。
配信部100は、撮像制御部102と、音声制御部104と、動画送信部106と、配信側UI制御部108と、配信側通信部110と、を含む。撮像制御部102は図2では不図示のカメラと接続され、カメラによる撮像を制御する。撮像制御部102はカメラから画像データを取得する。音声制御部104は図2では不図示のマイクロフォンと接続され、マイクロフォンによる音声入力を制御する。音声制御部104は、マイクロフォンから音声データを取得する。動画送信部106は、撮像制御部102により取得された画像データおよび音声制御部104により取得された音声データを含む動画データを、ネットワークNWを介してサーバ10に送信する。動画送信部106による動画データの送信はリアルタイムで行われる。すなわち、撮像制御部102および音声制御部104による動画データの生成と、生成された動画データの動画送信部106による送信と、は実質的に同時に行われる。
配信側UI制御部108は、配信者向けのUIを制御する。配信側UI制御部108は、図2では不図示のディスプレイと接続され、動画送信部106による送信対象となっている動画データを再生することにより動画像をディスプレイに表示させる。配信側UI制御部108は、図2では不図示のタッチパネルやキーボードやディスプレイなどの入力手段と接続され、それら入力手段を介して配信者による入力を取得する。配信側UI制御部108は、動画像に所定のフレーム画像を重畳させる。フレーム画像は、配信者から入力を受け付けるための様々なユーザインタフェースオブジェクト(以下、単にオブジェクトという)と、視聴者により入力されたコメントと、サーバ10から取得した情報と、を含む。配信側UI制御部108は例えば配信者によるオブジェクトに対するタップ入力を受け付ける。
配信側通信部110は、ライブ配信中のサーバ10との間の通信を制御する。配信側通信部110は、配信側UI制御部108が取得した配信者による入力の内容を、サーバ10にネットワークNWを介して送信する。配信側通信部110は、ライブ配信に関連付けられた各種の情報をサーバ10からネットワークNWを介して受信する。配信側通信部110は、ライブ配信中、周期的に、例えば10秒に1回の送信間隔で、当該ライブ配信のストリームIDを含むkeep alive信号を生成し、ネットワークNWを介してサーバ10に送信する。keep alive信号は配信者のユーザ端末20においてライブ配信が行われている間、繰り返し送信される。ユーザ端末20においてライブ配信が行われていないときはkeep alive信号は生成されない。
視聴部200は、視聴側UI制御部202と、視聴側通信部204と、を含む。視聴側通信部204は、ライブ配信中のサーバ10との間の通信を制御する。視聴側通信部204は、ネットワークNWを介してサーバ10から、配信者と視聴者とが参加するライブ配信に係る動画データを受信する。
視聴側UI制御部202は、視聴者向けのUIを制御する。視聴側UI制御部202は、図2では不図示のディスプレイおよびスピーカと接続され、受信された動画データを再生することにより動画像をディスプレイに表示させると共に音声をスピーカから出力させる。ディスプレイに画像が出力されると共にスピーカから音声が出力されることを、合わせて「動画データが再生」されていると言うことができる。視聴側UI制御部202は、図2では不図示のタッチパネルやキーボードやディスプレイなどの入力手段と接続され、それら入力手段を介して視聴者による入力を取得する。視聴側UI制御部202は、サーバ10から取得された動画データの画像に所定のフレーム画像を重畳させる。フレーム画像は、視聴者から入力を受け付けるための様々なオブジェクトと、視聴者により入力されたコメントと、サーバ10から取得した情報と、を含む。視聴側通信部204は、視聴側UI制御部202が取得した視聴者による入力の内容を、ネットワークNWを介してサーバ10に送信する。
配信外処理部400は、配信外UI制御部402と、配信外通信部404と、終了態様判定部406と、配信開始部408と、配信再開部410と、を含む。配信外UI制御部402は、アクティブユーザ向けのUIを制御する。例えば、配信外UI制御部402は、現在参加可能なライブ配信のリストを表示してアクティブユーザによるライブ配信の選択を受け付けるライブ配信選択画面を生成し、ディスプレイに表示させる。配信外UI制御部402は、任意のユーザのプロフィール画面を生成し、ディスプレイに表示させる。配信外UI制御部402は、過去のライブ配信を録音・録画することにより生成されたアーカイブを再生する。
配信外通信部404は、ライブ配信外のサーバ10との間の通信を制御する。配信外通信部404は、ネットワークNWを介してサーバ10から、ライブ配信選択画面を生成するための情報や、プロフィール画面を生成するための情報や、アーカイブのデータを受信する。配信外通信部404は、アクティブユーザによる入力の内容を、ネットワークNWを介してサーバ10に送信する。
終了態様判定部406は、ユーザ端末20においてライブ配信アプリが起動された直後、ユーザ端末20のユーザが配信者として行った前回のライブ配信の終了の態様を判定する。終了態様判定部406は、ネットワークNWを介してサーバ10に、ユーザ端末20のユーザが前回行ったライブ配信のステータスを問い合わせる。終了態様判定部406は、ユーザ端末20のユーザのユーザIDを含むステータス要求を生成してサーバ10に送信することでこの問い合わせを行う。サーバ10はステータス要求に含まれるユーザIDを配信者IDとするライブ配信の情報を検索し、存在しなければライブ配信が正常に終了したことを示すステータス「終了」を含むステータス応答を生成し、問い合わせ元のユーザ端末20に送信する。サーバ10は、存在すればそのライブ配信のステータスを取得する。この場合、取得されるステータスは後述の「再開可能」または「不安定」となる。サーバ10は、取得したステータスと見つかったライブ配信のストリームIDとを含むステータス応答を生成し、問い合わせ元のユーザ端末20に送信する。終了態様判定部406は、ステータス応答に含まれるステータスが「再開可能」である場合、前回のライブ配信が予期しない理由で終了したと判定する。終了態様判定部406は、ステータス応答に含まれるステータスが「終了」である場合、前回のライブ配信が正常に終了したと判定する。
配信開始部408は、終了態様判定部406において正常に終了したと判定された場合、ユーザによる新たなライブ配信の開始の指示を待ち受ける。配信開始部408は、当該指示を受け付けると、新たなライブ配信を開始するための処理を行う。配信開始部408は、ユーザのユーザIDを含む開始要求を生成し、ネットワークNWを介してサーバ10に送信する。
配信再開部410は、終了態様判定部406において予期しない理由で終了したと判定された場合、前回のライブ配信を再開するか否かを配信者に問い合わせるための再開問い合わせ画面を生成し、ディスプレイに表示させる。配信再開部410は、再開問い合わせ画面において再開の指示を受け付けると、再開対象のライブ配信のストリームID(ステータス応答に含まれるストリームID)を含む再開要求を生成し、ネットワークNWを介してサーバ10に送信する。配信再開部410は、サーバ10と協働して前回のライブ配信を再開するための処理を行う。
図3は、図1のサーバ10の機能および構成を示すブロック図である。サーバ10は、配信情報提供部302と、中継部304と、ギフト処理部308と、支払い処理部310と、通常終了検出部322と、異常終了検出部324と、再開処理部326と、終了処理部328と、ストリームDB314と、ユーザDB318と、ギフトDB320と、を備える。
図4は、図3のストリームDB314の一例を示すデータ構造図である。ストリームDB314は終了していないライブ配信の情報を保持する。ストリームDB314は、ライブ配信システム1が提供するライブ配信プラットフォームにおいてライブ配信を特定するストリームIDと、当該ライブ配信の配信者を特定するユーザIDである配信者IDと、当該ライブ配信の視聴者を特定するユーザIDである視聴者IDと、当該ライブ配信の状態と、当該ライブ配信のカウント値(後述)と、当該ライブ配信のサーバ側タイマーの値(後述)と、当該ライブ配信のステータスと、を対応付けて保持する。
ライブ配信の状態は、スコアと、配信時間と、当該ライブ配信において使用されたギフトの数である獲得ギフト数と、当該ライブ配信において配信者が獲得したポイント数である獲得ポイント数と、当該ライブ配信の配信者が参加しているイベントを特定する参加イベントIDと、当該イベントにおける当該配信者のイベントスコアと、当該ライブ配信で投稿されたコメントの履歴と、当該ライブ配信の内容を表すタグと、当該ライブ配信で送られたエールの数と、当該ライブ配信がシェアされた回数と、を含む。スコアは、ライブ配信の盛り上がりを表す指標である。スコアの数値が高いライブ配信は「盛り上がっている」「人気配信」と認知される。スコアは、例えば、視聴者数、配信時間、コメント数、シェア数、獲得ギフト数、ギフトを贈ってくれた視聴者の数、エール数などにより変動する。スコアが高いほど、そのライブ配信のサムネイルがライブ配信選択画面においてより上位またはより目立つ位置に表示される。したがって、スコアが高いほどより多くのアクティブユーザの目にとまることとなる。スコアは、ライブ配信が終了するとリセットされる。ライブ配信のタグは、配信者がライブ配信を始める際に指定したタグであってもよいし、機械学習により生成されたモデルがライブ配信をリアルタイムで解析することで得られるタグであってもよい。エールは、視聴者が配信者に贈るデジタルアイテムであり、ギフトとは異なり贈るのに対価を必要としない。一度エールを贈ると、次にエールを贈ることができるようになるまで所定期間待機する必要がある。スコアや獲得ギフト数や獲得ポイント数やイベントスコアやタグやエールの数やシェアされた回数は、ライブ配信における配信者のパフォーマンスを示す指標の例である。
本実施の形態に係るライブ配信システム1が提供するライブ配信プラットフォームでは、ユーザがライブ配信を行う場合そのユーザは配信者となり、また同じユーザが他のユーザが配信するライブ配信を視聴する場合は視聴者となる。したがって、配信者・視聴者の別は固定的なものではなく、あるとき配信者IDとして登録されていたユーザIDが別のタイミングでは視聴者IDとして登録されることもある。
ライブ配信のステータスは、配信者のユーザ端末20と正常に接続された状態でライブ配信が進行中であることを示す「配信中」と、ライブ配信は進行中であるが配信者のユーザ端末20との接続が確認できない「不安定」と、配信者のユーザ端末20またはサーバ10においてライブ配信が予期しない理由で終了したが、再開可能であることを示す「再開可能」と、のうちのいずれかに設定される。ライブ配信が終了し、再開不可能である場合はストリームDB314から当該ライブ配信の情報が削除される。
図5は、ライブ配信のステータス遷移図である。keep aliveが失敗すると「配信中」から「不安定」に遷移する。keep aliveが回復すると「不安定」から「配信中」に遷移する。「不安定」のままkeep aliveの失敗回数がしきい値を超えると、「不安定」から「再開可能」に遷移する。「再開可能」ではkeep aliveの監視は行われない。再開可能期間が満了するまでに再開要求が発生した場合、「再開可能」から「配信中」に遷移する。再開要求が発生しないまま再開可能期間が満了する(タイムアウト)すると、「再開可能」から「終了」(ストリームDB314からの消去)に遷移する。配信者が意図してライブ配信の終了を指示した場合、「配信中」から「終了」に遷移する。
図6は、図3のユーザDB318の一例を示すデータ構造図である。ユーザDB318は、ユーザに関する情報を保持する。ユーザDB318は、ユーザを特定するユーザIDと、当該ユーザが有しているポイントと、当該ユーザに付与された報酬と、を対応付けて保持する。ポイントは、ライブ配信プラットフォーム内で流通する電子的価値である。ユーザはクレジットカードや他の決済手段によりポイントを購入する。報酬はライブ配信プラットフォーム内で定義される電子的価値であり、配信者がライブ配信プラットフォームの管理者から受け取る金銭の額を決めるための指標である。ライブ配信プラットフォームでは、ライブ配信内やライブ配信外で視聴者が配信者にギフトを贈ると、視聴者のポイントが消費され、併せて配信者の報酬が相応分だけ増加する。
図7は、図3のギフトDB320の一例を示すデータ構造図である。ギフトDB320は、ライブ配信において視聴者が使用可能なギフトに関する情報を保持する。ギフトは、以下の特徴を有する電子データである。
・ポイントや金銭を対価として購入可能、または無料で付与可能。
・視聴者が配信者に贈ることができるもの。配信者にギフトを贈ることを、ギフトを使用する、またはギフトを投げるともいう。
・ギフトの購入と使用とがセットで同時に発生するタイプのものもあれば、購入した後、視聴者が任意のタイミングで使用可能なタイプのものもある。
・視聴者が配信者にギフトを贈ると、その配信者に相応の報酬が付与される。
・ギフトが使用された場合、ギフトに関連付けられた効果が生じることがある。例えば、ギフトに対応するエフェクトがライブ配信ルーム画面に表れる。
ギフトDB320は、ギフトを特定するギフトIDと、当該ギフトを配信者に贈った場合に当該配信者に付与される報酬である付与報酬と、当該ギフトを使用する際に支払うべき対価である対価ポイントと、を対応付けて保持する。視聴者は、ライブ配信の視聴中に、所望のギフトの対価ポイントを支払うことで配信者に当該ギフトを贈ることができる。この対価ポイントの支払いは適宜の電子的決済手段により行われてもよく、例えば対価ポイントを視聴者が管理者に支払うことで行われてもよい。あるいはまた、銀行振込やクレジットカードによる支払いが用いられてもよい。付与報酬と対価ポイントとの関係は管理者が任意に設定可能である。例えば、付与報酬=対価ポイントに設定してもよい。または付与報酬に1.2などの所定の係数を乗じて得られるポイントを対価ポイントに設定してもよいし、付与報酬に所定の手数料ポイントを加算して得られるポイントを対価ポイントに設定してもよい。
図3に戻り、配信情報提供部302は、ネットワークNWを介して、配信者のユーザ端末20からライブ配信の開始要求を受信すると、当該ライブ配信を特定するストリームIDと、当該ライブ配信の配信者の配信者IDと、をストリームDB314に登録する。ストリームIDは開始要求の受信に応じて新たに生成される。配信者IDは開始要求に含まれるユーザIDに設定される。配信情報提供部302は、ネットワークNWを介して、アクティブユーザのユーザ端末の配信外通信部404からライブ配信に関する情報の提供要求を受信すると、ストリームDB314を参照して現在視聴可能なライブ配信のリストを生成する。配信情報提供部302は、ネットワークNWを介して、生成されたリストを要求元のユーザ端末に送信する。要求元のユーザ端末の配信外UI制御部402は、受信したリストに基づいてライブ配信選択画面を生成し、ユーザ端末のディスプレイに表示させる。
ユーザ端末の配信外UI制御部402は、ライブ配信選択画面におけるアクティブユーザによるライブ配信の選択を受け付けると、選択されたライブ配信のストリームIDを含む配信要求を生成し、ネットワークNWを介してサーバ10に送信する。配信情報提供部302は、受信した配信要求に含まれるストリームIDにより特定されるライブ配信の、要求元のユーザ端末への提供を開始する。配信情報提供部302は、当該ストリームIDの視聴者IDに要求元のユーザ端末のアクティブユーザのユーザIDが含まれるようにストリームDB314を更新する。これにより、アクティブユーザは選択されたライブ配信の視聴者となる。
中継部304は、配信情報提供部302によって開始されたライブ配信において、配信者のユーザ端末20から視聴者のユーザ端末30への動画データの伝送を中継する。中継部304は、ライブ配信中すなわち動画データの再生中における視聴者によるユーザ入力を示す信号を視聴側通信部204から受信する。ユーザ入力を示す信号は、ユーザ端末30のディスプレイに表示されたオブジェクトの指定を示すオブジェクト指定信号であってもよく、当該オブジェクト指定信号は、視聴者の視聴者IDと、視聴者が視聴しているライブ配信を行っている配信者の配信者IDと、オブジェクトを特定するオブジェクトIDと、を含む。オブジェクトがギフトアイコンである場合、オブジェクトIDはギフトIDとなる。その場合のオブジェクト指定信号は、視聴者による配信者に対するギフトの使用を示すギフト使用信号となる。同様に、中継部304は、動画データの再生中における配信者によるユーザ入力を示す信号、例えばオブジェクト指定信号をユーザ端末20の配信部100の配信側通信部110から受信する。
ギフト処理部308は、ギフト使用信号に含まれるギフトIDで特定されるギフトの付与報酬に応じて配信者の報酬を増加させるようにユーザDB318を更新する。ギフト処理部308は、ギフトDB320を参照し、受信したギフト使用信号に含まれるギフトIDに対応する付与報酬を特定する。ギフト処理部308は、ギフト使用信号に含まれる配信者IDに対応する報酬に、特定された付与報酬を加えるようユーザDB318を更新する。
支払い処理部310は、ギフト使用信号の受信に応じて、視聴者によるギフトの対価の支払いを処理する。支払い処理部310は、ギフトDB320を参照し、ギフト使用信号に含まれるギフトIDで特定されるギフトの対価ポイントを特定する。支払い処理部310は、ギフト使用信号に含まれる視聴者IDで特定される視聴者のポイントから特定された対価ポイントを差し引くようユーザDB318を更新する。
通常終了検出部322および異常終了検出部324は、ライブ配信が予期しない理由で終了したか否かを判定する手段として機能する。通常終了検出部322は、配信者のユーザ端末20からライブ配信の終了要求を受信すると、当該ライブ配信の通常の終了、すなわち予期しない理由でない理由による終了を検出する。
異常終了検出部324は、ライブ配信の配信者のユーザ端末20との通信状態を監視することにより、ライブ配信が予期しない理由で終了したことを検出する。異常終了検出部324は、ライブ配信中に配信者のユーザ端末20から周期的に送られてくるkeep alive信号を監視する。異常終了検出部324は、keep alive信号の受信に失敗した場合、そのライブ配信のステータスが「配信中」から「不安定」に変更されるようストリームDB314を更新する。異常終了検出部324は、keep alive信号の受信に続けてN回(Nは2以上の整数)失敗した場合、ライブ配信が予期しない理由で終了したことを検出する。異常終了検出部324は、そのライブ配信のステータスが「不安定」から「再開可能」に変更されるようストリームDB314を更新する。Nは「不安定」の期間の長さを決めるしきい値または上限値であり、管理者により適宜設定されてもよい。例えば、Nは5、10、20、100等に設定されてもよい。「不安定」の期間の長さはライブ配信のステータスを「再開可能」にするか否かを判定するための判定期間であるとも言える。「不安定」であればkeep alive信号を確認することでライブ配信を継続することができるが、「再開可能」ではライブ配信を再開するために、ライブ配信アプリの再起動またはライブ配信に入り直す(参加し直す)ことが要求される。
異常終了検出部324は、ライブ配信が予期しない理由で終了したと判定された場合、待機要請画面を表示させるための待機要請通知を当該ライブ配信の視聴者のユーザ端末30に送信する。
再開処理部326は、ライブ配信が予期しない理由で終了したと判定された場合、ストリームDB314に登録されている当該ライブ配信の状態を維持する。再開処理部326は、終了に係るライブ配信のエントリを削除しない。これは、後述の終了処理部328が通常終了したライブ配信のエントリを直ちに削除することとの対比で、ライブ配信の状態を維持していると言える。再開処理部326は、ライブ配信が予期しない理由で終了したと判定された時点でそのライブ配信のエントリを更新禁止に設定してもよい。
再開処理部326は、ライブ配信が予期しない理由で終了したと判定されてから再開可能期間内に、配信者のユーザ端末20から当該ライブ配信の再開の指示を受信した場合、当該ライブ配信を維持されている状態で再開させる。再開処理部326は、配信者のユーザ端末20から再開要求を受信すると、ストリームDB314において再開要求に含まれるストリームIDに対応するエントリ(再開対象のライブ配信)を特定する。再開処理部326は、再開対象のライブ配信のステータスが「再開可能」から「配信中」に変更されるようストリームDB314を更新する。再開処理部326は、再開要求の送信元のユーザ端末20からの動画データの受信を再開し、受信した動画データを再開対象のライブ配信の視聴者のユーザ端末30に送信する。再開可能期間は管理者により適宜設定されてもよい。例えば再開可能期間は5分、10分、1時間等に設定されてもよい。
再開処理部326は、ライブ配信が再開された場合、当該ライブ配信が予期しない理由で終了したと判定されてから当該ライブ配信が再開されるまでの間に当該ライブ配信から退出した視聴者のユーザ端末30に、当該ライブ配信が再開されたことを知らせるためのプッシュ通知を送信する。これは、サーバ10においてそのような視聴者のリストを作成しておくことで実現される。
終了処理部328は、ライブ配信の通常の終了が検出されると、当該ライブ配信のエントリをストリームDB314から削除する。終了処理部328は、ライブ配信の再開可能期間内に再開の指示を受信しなかった場合、または、非再開の指示を受信した場合、当該ライブ配信のエントリをストリームDB314から削除することで、ストリームDB314に維持されている当該ライブ配信の状態を破棄する。
以上の構成によるライブ配信システム1の動作を説明する。
図8は、ライブ配信が予期しない理由で終了したときのサーバ10における一連の処理の流れを示すフローチャートである。異常終了検出部324は、配信者のユーザ端末20から受信した開始要求に応じてライブ配信が開始されると、当該ライブ配信に対応するカウント値を初期化する(S202)。異常終了検出部324は、開始されたライブ配信(以下、対象ライブ配信という)のカウント値が0に設定されるようストリームDB314を更新する。異常終了検出部324は、対象ライブ配信のカウント値に1が加算されるようストリームDB314を更新する(S204)。異常終了検出部324は、対象ライブ配信のカウント値がしきい値Nに到達したか否かを判定する(S206)。
しきい値Nに達していない場合(S206のN)、異常終了検出部324は単位期間待機する(S208)。単位期間の長さは例えば10秒、20秒または30秒であってもよい。単位期間の長さは、keep alive信号の送信間隔に対応するよう、またはそれと同じになるよう設定されてもよい。すなわち、keep alive信号の生成と検出とを同期させてもよい。異常終了検出部324は、ステップS208の待機中に対象ライブ配信の配信者のユーザ端末20からkeep alive信号を受信したか否かを判定する(S210)。受信していない場合(S210のN)、異常終了検出部324はストリームDB314にアクセスし、対象ライブ配信のステータスを「不安定」に設定する。その後、処理はステップS204に戻る。受信した場合(S210のY)、異常終了検出部324はストリームDB314にアクセスして対象ライブ配信のカウント値をリセットすると共にステータスを「配信中」に設定する(S212)。例えば異常終了検出部324は、対象ライブ配信のカウント値が0に設定されるようストリームDB314を更新する。その後、処理はステップS204に戻る。ステップS202~S212は、単位期間ごとにインクリメントされるカウンタを設け、keep alive信号を受信したらカウンタ値をリセットするという思想を実現するひとつの形態である。
ステップS206においてカウント値がしきい値に到達したと判定された場合(S206のY)、異常終了検出部324はストリームDB314にアクセスして対象ライブ配信のステータスを「再開可能」に設定する(S214)。再開処理部326は、カウントダウン型のサーバ側タイマーを起動する(S216)。サーバ側タイマーの初期値は再開可能期間の長さ(例えば、10分)に設定される。再開処理部326は、対象ライブ配信のサーバ側タイマーの値が初期値に設定されるようストリームDB314を更新する。
再開処理部326は、対象ライブ配信の配信者のユーザ端末20から再開要求を受信したか否かを判定する(S218)。再開要求を受信した場合(S218のY)、再開処理部326は対象ライブ配信の再開処理を行う(S222)。再開処理部326は、要求元の配信者を対象ライブ配信に再接続または再参加させる。再開の前後でストリームIDは変わらず、状態にも変更はないので、対象ライブ配信の状態が維持されることとなる。このようにして対象ライブ配信が復元される。
ステップS218において再開要求を受信しなかった場合(S218のN)、再開処理部326は再開可能期間が満了したか否かを判定する(S220)。特に再開処理部326はサーバ側タイマーが下限値である0に到達したか否かを判定する。サーバ側タイマーが0に到達していない場合(S220のN)、処理はステップS218に戻る。サーバ側タイマーが0に到達した場合(S220のY)、終了処理部328は対象ライブ配信の終了処理を行う(S224)。例えば、終了処理部328は対象ライブ配信の状態を破棄する。
図9は、ライブ配信アプリを起動したときのユーザ端末における一連の処理の流れを示すフローチャートである。ユーザ端末は、ディスプレイに表示されているライブ配信アプリのアイコンが指定されると、ライブ配信アプリを起動する(S302)。終了態様判定部406は、ユーザ端末のユーザのユーザIDを含むステータス要求を生成し、ネットワークNWを介してサーバ10に送信する(S304)。サーバ10の再開処理部326は、ストリームDB314において、受信したステータス要求に含まれるユーザIDを配信者IDとして有するエントリを特定する。再開処理部326は、特定されたエントリのストリームIDおよびステータスを含むステータス応答を生成し、要求元のユーザ端末に送信する。ステータスが「再開可能」の場合、ステータス応答はサーバ側タイマーの値を含む。再開処理部326は、エントリの特定に失敗した場合、すなわちストリームDB314の配信者IDにステータス要求に含まれるユーザIDが登録されていない場合、ステータス「終了」を含むステータス応答を生成し、要求元のユーザ端末に送信する。ユーザ端末の終了態様判定部406はネットワークNWを介してステータス応答を受信する(S306)。
終了態様判定部406はステップS306で受信したステータス応答に含まれるステータスを検出する(S308)。ステータスが「不安定」の場合(S308の不安定)、配信側通信部110はkeep alive信号をサーバ10に送信する(S312)。サーバ10の異常終了検出部324はkeep alive信号を受信すると上述のとおり対応するライブ配信のステータスを「配信中」に戻し、当該ライブ配信を継続する。ユーザ端末は配信部100を活性化させ、動画データのサーバ10への送信を再開する(S316)。
ステータスが「終了」の場合(S308の終了)、配信外UI制御部402はライブ配信アプリのランディングページであるライブ配信選択画面をディスプレイに表示させる(S310)。このライブ配信選択画面には、ライブ配信を新たに開始するための画面への遷移を引き起こすオブジェクトが配置されている。ユーザはこのオブジェクトをタップすることで新たにライブ配信を開始することができる。
ステータスが「再開可能」の場合(S308の再開可能)、配信再開部410は再開問い合わせ画面をディスプレイに表示させる(S314)。併せて配信再開部410はステップS306で受信したステータス応答に含まれるサーバ側タイマーの値に基づいてカウントダウン型のアプリ側タイマーを起動する。サーバ10におけるアプリ側タイマーのカウントダウンと、ユーザ端末におけるアプリ側タイマーのカウントダウンと、は同期するよう設定される。再開問い合わせ画面において再開の指示を受け付けた場合(S318のY)、配信再開部410は、ステップS306で受信したステータス応答に含まれるストリームIDを含む再開要求を生成し、ネットワークNWを介してサーバ10に送信する(S320)。配信再開部410は配信部100を活性化させ、動画データのサーバ10への送信を再開する(S316)。
再開問い合わせ画面において再開の指示を受け付けず(S318のN)、終了の指示を受け付けた場合(S322のY)、配信再開部410はステップS306で受信したステータス応答に含まれるストリームIDを含む終了要求を生成し、ネットワークNWを介してサーバ10に送信する(S326)。その後、処理はステップS310に進む。
再開問い合わせ画面において再開の指示を受け付けず(S318のN)、終了の指示も受け付けなかった場合(S322のN)、配信再開部410はアプリ側タイマーが下限値である0に到達したか否かを判定する。アプリ側タイマーが0に到達していない場合(S324のN)、処理はステップS318に戻る。アプリ側タイマーが0に到達した場合(S324のY)、処理はステップS326に進む。
図10は、配信者のユーザ端末20のディスプレイに表示されるライブ配信ルーム画面608の代表画面図である。ライブ配信ルーム画面608は、配信者のユーザ端末20で生成された動画像をリアルタイムで表示する。ライブ配信ルーム画面608は、配信者の動画像610と、コメント表示領域618と、配信終了ボタン622と、配信者が参加しているイベントを表すイベントアイコン624と、配信時間をテキストで表示する配信時間表示領域626と、当該ライブ配信のスコアを表示するスコア表示領域628と、当該ライブ配信のエール数に基づくエールランクを表示するエールランク表示領域630と、を有する。ライブ配信ルーム画面608は、配信側UI制御部108が動画像610に他のオブジェクトを重畳表示させることにより生成される。
コメント表示領域618は、視聴者により入力されたコメントと、システムからの通知と、を含みうる。システムからの通知は、配信者に誰がどのギフトを贈ったかを示す情報を含む。配信側UI制御部108はサーバ10から受信した視聴者のコメントおよびシステムからの通知を含むコメント表示領域618を生成し、生成されたコメント表示領域618をライブ配信ルーム画面608に含める。コメント表示領域618に表示されるコメントは、ストリームDB314の対応するコメント履歴にも登録され、保存されている。
配信終了ボタン622は、ライブ配信を止めるための指示を配信者から受け付けるためのオブジェクトである。配信側通信部110は、配信終了ボタン622へのタップやクリックを検出すると、ライブ配信のストリームIDを含む終了要求を生成し、ネットワークNWを介してサーバ10に送信する。終了要求を受信したサーバ10がライブ配信を通常終了させることは上述のとおりである。この場合、通常終了したライブ配信の状態は破棄されるので、後で再開することはできない。
配信側通信部110はネットワークNWを介してストリームDB314を参照し、ライブ配信ルーム画面608で行われているライブ配信の状態を取得する。配信側UI制御部108は、取得された状態に基づいてイベントアイコン624、配信時間表示領域626、スコア表示領域628、エールランク表示領域630を生成する。
図11は、配信者のユーザ端末20のディスプレイに表示される再開問い合わせ画面632の代表画面図である。図10のライブ配信ルーム画面608に係るライブ配信が行われているときに、配信者のユーザ端末20においてライブ配信アプリが強制終了したとする。するとライブ配信ルーム画面608は表示されなくなる。その後、配信者がユーザ端末20でライブ配信アプリを再起動すると図11に示される再開問い合わせ画面632が表示される。
再開問い合わせ画面632は、ライブ配信アプリのランディングページであるライブ配信選択画面600に、再開問い合わせダイアログ634が重畳表示された画面である。ライブ配信選択画面600は、サーバ10から受信した現在視聴可能なライブ配信のリストにある各ライブ配信を示すサムネイル602と、ユーザによる新たなライブ配信の開始の指示を受け付けるための配信開始ボタン604と、を含む。配信開始部408は、配信開始ボタン604へのタップやクリックを検出すると、ユーザのユーザIDを含む開始要求を生成し、ネットワークNWを介してサーバ10に送信する。
再開問い合わせダイアログ634は、前回のライブ配信を再開するか否かを問い合わせるテキスト642と、アプリ側タイマーの現在の値である残り時間を表示する残り時間表示領域636と、再開の指示を受け付けるための再開ボタン638と、終了の指示を受け付けるための終了ボタン640と、を有する。残り時間表示領域636に表示される残り時間は1秒ごとに更新される。
図8に関して上述したとおり、再開要求を受けることなく再開可能期間が満了すると、予期しない理由で終了したライブ配信のエントリがストリームDB314から削除される。したがって、再開問い合わせ画面632は、前回のライブ配信が予期しない理由で終了してから再開可能期間内に限りディスプレイに表示される。
図11の再開問い合わせ画面632において再開ボタン638がタップまたはクリックされた場合、配信再開部410は再開要求を生成し、サーバ10に送信する。サーバ10による当該再開要求の受信に応じて、図10のライブ配信ルーム画面608に係るライブ配信が再開される。図12は、配信者のユーザ端末20のディスプレイに表示される、再開成功メッセージ表示領域644が重畳表示されたライブ配信ルーム画面608の代表画面図である。図12はライブ配信が再開された直後の、配信者のユーザ端末20におけるライブ配信ルーム画面608を示す。配信側UI制御部108はライブ配信ルーム画面608に再開成功メッセージ表示領域644を重畳して表示させる。図12のライブ配信ルーム画面608のコメント表示領域618の内容、イベントアイコン624で表される参加イベント、配信時間表示領域626で表される配信時間、スコア表示領域628で表されるスコア、エールランク表示領域630で表されるエールランクはそれぞれ強制終了前の状態(図10の状態)を引き継いでいる。視聴者も、配信者のユーザ端末20における強制終了の後に積極的に視聴を止めた者を除いて参加したままとなっている。
図11の再開問い合わせ画面632において終了ボタン640がタップまたはクリックされた場合、配信再開部410は終了要求を生成し、サーバ10に送信する。サーバ10による当該終了要求の受信に応じて、図10のライブ配信ルーム画面608に係るライブ配信が終了される。図13は、配信者のユーザ端末20のディスプレイに表示される、終了メッセージ表示領域646が重畳表示されたライブ配信選択画面600の代表画面図である。図13はライブ配信が終了された直後の、配信者のユーザ端末20におけるライブ配信選択画面600を示す。配信外UI制御部402はライブ配信選択画面600に終了メッセージ表示領域646を重畳して表示させる。図11の再開問い合わせ画面632において再開ボタン638も終了ボタン640も指定されることなくアプリ側タイマーが0になった場合も同様にライブ配信が終了され、図13のライブ配信選択画面600がディスプレイに表示される。
図14は、配信者のユーザ端末20のディスプレイに表示される、再起動問い合わせ領域648が重畳表示されたライブ配信ルーム画面608の代表画面図である。配信者がユーザ端末20からライブ配信を行っているときにネットワークNWにおける障害やサーバ10における障害が発生した場合、配信者のユーザ端末20においてライブ配信アプリは正常に実行されているがライブ配信は予期せず終了するという事態が発生しうる。例えば、ネットワークNWの障害が発生した場合、配信者のユーザ端末20で生成された動画データは視聴者のユーザ端末30に到達せず、視聴者のユーザ端末30において配信者の動画像が再生されなくなる。同じく、配信者のユーザ端末20においてライブ配信アプリは正常に動作しておりkeep alive信号をサーバ10に送信するものの、ネットワークNWの障害によりそのkeep alive信号は異常終了検出部324に届かない。この状態が判定期間を超えて継続した場合、異常終了検出部324は当該ライブ配信が予期しない理由により終了したと判定し、当該ライブ配信のステータスを「再開可能」に変更する。こうなると、後にネットワークNWが復旧してkeep alive信号が異常終了検出部324に届くようになってもライブ配信をそのまま継続することはできない。このライブ配信を継続するためにはいったんライブ配信アプリを再起動することが必要となる。
配信側通信部110はライブ配信中に周期的に、ネットワークNWを介してストリームDB314から当該ライブ配信のステータスを取得する。配信側UI制御部108は、取得されたステータスが「再開可能」である場合、ライブ配信ルーム画面608に再起動問い合わせ領域648を重畳表示させる。再起動問い合わせ領域648は、ライブ配信が行われていない旨および再開可能期間内にライブ配信アプリを再起動することでライブ配信を再開できる旨を示すテキスト654と、再起動ボタン650と、終了ボタン652と、を有する。配信外UI制御部402は、再起動ボタン650がタップまたはクリックされた場合、ライブ配信アプリを再起動するための処理を行う。その結果、再開可能期間が満了していなければ画面は図11の再開問い合わせ画面632に遷移する。終了ボタン652がタップまたはクリックされた場合、配信再開部410は終了要求を生成し、サーバ10に送信する。その後、画面は図13のライブ配信選択画面600に遷移する。
図15は、視聴者のユーザ端末30のディスプレイに表示されるライブ配信ルーム画面660の代表画面図である。ライブ配信ルーム画面660は、配信者のユーザ端末20で生成された動画像をリアルタイムで表示する。ライブ配信ルーム画面660は、サーバ10から受信した動画データを再生することにより得られる配信者の動画像662と、ギフトオブジェクト612と、コメント入力領域616と、コメント表示領域618と、視聴終了ボタン620と、配信時間表示領域626と、イベントアイコン624と、スコア表示領域628と、を有する。視聴側UI制御部202は、動画データを再生することにより得られる動画像662に、他のオブジェクトを重畳表示することによりライブ配信ルーム画面660を生成する。
コメント入力領域616は視聴者によるコメントの入力を受け付ける。視聴側通信部204は、コメント入力領域616に入力されたコメントを含むコメント入力信号を生成し、ネットワークNWを介してサーバ10に送信する。併せて視聴側UI制御部202は、コメント入力領域616に入力されたコメントを表示するようにコメント表示領域618を更新する。
視聴終了ボタン620は、ライブ配信の視聴を止めるための指示を視聴者から受け付けるためのオブジェクトである。ギフトオブジェクト612は、視聴者が配信者にギフトを贈ることを可能とするためのオブジェクトである。
図16は、視聴者のユーザ端末30のディスプレイに表示される待機要請画面664の代表画面図である。視聴者が図15のライブ配信ルーム画面660でライブ配信を視聴しているときに、当該ライブ配信が予期しない理由で終了した場合、ユーザ端末30の視聴側通信部204は待機要請通知をサーバ10から受信する。視聴側UI制御部202は、待機要請通知が受信されると、視聴者のユーザ端末30においてライブ配信を終了させずに待機要請画面664をディスプレイに表示させる。待機要請画面664は、コメント表示領域618と、視聴終了ボタン620と、残り時間表示領域668と、テキスト666と、コメント入力領域616と、スコア表示領域628と、ギフトオブジェクト612と、を有する。視聴側UI制御部202は、動画データを受信できなくなったので配信者の動画像662の表示を止める。代わりに視聴側UI制御部202は、ライブ配信が予期せず終了した旨および配信者が再開を試みている旨を示すテキスト666と、残り時間表示領域668と、を表示させる。残り時間表示領域668に表示される残り時間は図11の残り時間表示領域636に表示される残り時間に対応する。
視聴部200は、ライブ配信が再開されないまま残り時間が無くなると、視聴者のユーザ端末30において当該ライブ配信を終了させる。視聴部200は、残り時間がまだある状態で待機要請画面664の視聴終了ボタン620へのタップまたはクリックを検出すると、視聴者のユーザ端末30においてライブ配信を終了させる。
図17は、アクティブユーザのユーザ端末のディスプレイに表示されるプッシュ通知画面670の代表画面図である。図17は上述のライブ配信が再開されたことを知らせるためのプッシュ通知の一態様を示す。プッシュ通知画面670は、配信者が予期しない理由で終了したライブ配信を再開した旨を示すテキストを表示するプッシュ通知表示領域672を有する。アクティブユーザがプッシュ通知表示領域672をタップまたはクリックすると、対応する再開されたライブ配信のライブ配信ルーム画面が表示される。
上述の実施の形態において、保持部の例は、ハードディスクや半導体メモリである。また、本明細書の記載に基づき、各部を、図示しないCPUや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶する半導体メモリなどにより実現できることは本明細書に触れた当業者には理解される。
本実施の形態に係るライブ配信システム1によると、ライブ配信アプリの強制終了などの予期しない理由によってライブ配信が終了した場合でも、配信者は強制終了前のライブ配信の視聴者、状態、雰囲気を引き継いで当該ライブ配信を再開することができる。これにより、配信者の安心感を高め、より快適でフェールセーフな配信環境を提供することができる。
特に、スマートフォンなどの携帯端末を用いてライブ配信を行う場合、据え置き型のPCと比較して処理能力やメモリ容量が少ないので強制終了が発生しやすく、またネットワークへの接続は4G、5G、WiFiなどの無線となるので接続障害も発生しやすい。このような状況において、本実施の形態に係るライブ配信システム1は予期しない理由による終了に対するフェールセーフ機構を提供するのでより好適である。
本実施の形態は、予期しない理由によるライブ配信の終了を防ぐものではなく、そのような事象が発生した場合の損失を低減するものである。本実施の形態では、配信者が時間内に戻ってくることができたときにライブ配信を再開できるよう、ライブ配信の状態が維持される。
また、本実施の形態に係るライブ配信システム1では、配信者から明示的にライブ配信を止めるための指示を受け付けた場合、当該ライブ配信の状態を維持することなくすぐに終了し、当該ライブ配信の状態もすぐに破棄する。これにより、サーバ10の処理負荷を低減し、必要なデータ容量を削減することができる。
図18を参照して、本実施の形態に係る情報処理装置のハードウェア構成について説明する。図18は、本実施の形態に係る情報処理装置のハードウェア構成例を示すブロック図である。図示された情報処理装置900は、例えば、本実施の形態におけるサーバ10およびユーザ端末20、30のそれぞれを実現しうる。
情報処理装置900は、CPU901、ROM(Read Only Memory)902、およびRAM(Random Access Memory)903を含む。また、情報処理装置900は、ホストバス907、ブリッジ909、外部バス911、インタフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート925、通信装置929を含んでもよい。さらに、情報処理装置900は、カメラなどの撮像装置(不図示)を含む。また、情報処理装置900は、CPU901に代えて、またはこれとともに、DSP(Digital Signal Processor)またはASIC(Application Specific Integrated Circuit)と呼ばれるような処理回路を有してもよい。
CPU901は、演算処理装置および制御装置として機能し、ROM902、RAM903、ストレージ装置919、またはリムーバブル記録媒体923に記録された各種プログラムに従って、情報処理装置900内の動作全般またはその一部を制御する。例えば、CPU901は、本実施の形態におけるサーバ10およびユーザ端末20、30のそれぞれに含まれる各機能部の動作全般を制御する。ROM902は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。CPU901、ROM902、およびRAM903は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置であってもよいし、マイクロフォンなどの音センサ、加速度センサ、傾きセンサ、赤外線センサ、深度センサ、温度センサ、湿度センサなど物理量を電気信号に変換する装置であってもよい。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置900の操作に対応した携帯電話などの外部接続機器927であってもよい。入力装置915は、ユーザが入力した情報または感知した物理量に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりする。
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置917は、例えば、LCD、PDP、OELDなどのディスプレイ、スピーカおよびヘッドホンなどの音響出力装置、ならびにプリンタ装置などでありうる。出力装置917は、情報処理装置900の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音響などの音として出力したりする。
ストレージ装置919は、情報処理装置900の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体923のためのリーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体923に記録されている情報を読み出して、RAM903に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体923に記録を書き込む。
接続ポート925は、機器を情報処理装置900に直接接続するためのポートである。接続ポート925は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどでありうる。また、接続ポート925は、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポートなどであってもよい。接続ポート925に外部接続機器927を接続することで、情報処理装置900と外部接続機器927との間で各種のデータが交換されうる。
通信装置929は、例えば、ネットワークNWに接続するための通信デバイスなどで構成された通信インタフェースである。通信装置929は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カードなどでありうる。また、通信装置929は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置929は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置929に接続される通信ネットワークNWは、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信などである。なお、通信装置929は、通信部としての機能を実現する。
カメラなどの撮像装置(不図示)は、例えばCCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。当該撮像装置は、静止画を撮像するものであってもよいし、または動画を撮像するものであってもよい。
以上、実施の形態に係るライブ配信システム1の構成と動作について説明した。この実施の形態は例示であり、各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解される。
実施の形態では再開問い合わせ画面632において再開ボタン638が指定されるとすぐにライブ配信が再開される場合を説明したが、これに限られない。例えば、再開ボタン638が指定されると、ライブ配信の配信者側の各種設定を行う設定画面に遷移してもよい。設定画面は再開要求を行うためのライブ配信開始ボタンを有してもよい。この場合、サーバ10が強制終了前の設定値をストリームDB314に保持しておき、設定画面において設定値を自動で復元してもよい。サーバ10は、ライブ配信の開始要求を受けてライブ配信を開始する際に併せて設定値をストリームDB314に登録してもよい。サーバ10はステータス応答に対応する設定値を含めてもよい。これにより、配信者は再設定を行う手間を削減することができ、ライブ配信をより迅速に再開することができる。設定画面での設定作業中に再開可能期間のカウントは進んでもよいし、一時停止されてもよい。
実施の形態において、再開可能期間中に視聴者がギフトを贈ることで再開可能期間を延長できるよう構成してもよい。例えば、図16の待機要請画面664において視聴者がギフトオブジェクト612を通じてギフトを使用した場合、サーバ10はサーバ側タイマーの値を増やしたり、リセットしたりすることにより再開可能期間を延長してもよい。
実施の形態におけるギフトの対価ポイントから付与報酬への換算率は一例であって、これらは例えばライブ配信システムの管理者により適宜設定されてもよい。
実施の形態に係る技術的思想を、配信者の画像の代わりに配信者の動きと同期した動きをするアバターを用いるバーチャルライブ配信や、ライブコマースに適用してもよい。
本明細書において説明された処理手順、特にフロー図、フローチャートを用いて説明された処理手順においては、その処理手順を構成する工程(ステップ)の一部を省略すること、その処理手順を構成する工程として明示されていない工程を追加すること、及び/又は当該工程の順序を入れ替えることが可能であり、このような省略、追加、順序の変更がなされた処理手順も本開示の趣旨を逸脱しない限り本開示の範囲に含まれる。
サーバ10により実現される機能の少なくとも一部は、サーバ10以外の装置、例えばユーザ端末20、30により実現されてもよい。ユーザ端末20、30により実現される機能の少なくとも一部は、ユーザ端末20、30以外の装置、例えば、サーバ10により実現されてもよい。例えば、視聴者のユーザ端末で行われる動画データの画像への所定のフレーム画像の重畳は、サーバ10で行われてもよいし、配信者のユーザ端末で行われてもよい。

Claims (11)

  1. ライブ配信の配信者の端末から視聴者の端末へのライブ配信に係る動画データの伝送を中継する手段と、
    前記ライブ配信が予期しない理由で終了したか否かを判定する手段と、
    終了したと判定された場合、前記ライブ配信の状態を維持する手段と、
    終了したと判定されてから所定の期間内に前記配信者の端末から前記ライブ配信の再開の指示を受信した場合、前記ライブ配信を維持されている状態で再開させる手段と、を備えるサーバ。
  2. 前記所定の期間内に再開の指示を受信しなかった場合、または、非再開の指示を受信した場合、維持されている前記ライブ配信の状態を破棄する手段をさらに備える請求項1に記載のサーバ。
  3. 前記ライブ配信が予期しない理由で終了したと判定された場合、待機要請画面を表示させるための通知を前記ライブ配信の視聴者の端末に送信する手段をさらに備える請求項1に記載のサーバ。
  4. 前記ライブ配信が再開された場合、前記ライブ配信が予期しない理由で終了したと判定されてから前記ライブ配信が再開されるまでの間に前記ライブ配信から退出した視聴者の端末に、前記ライブ配信が再開されたことを知らせるための通知を送信する手段をさらに備える請求項1に記載のサーバ。
  5. ライブ配信の配信者の端末に、
    ネットワークを介してサーバに、前記ライブ配信に係る動画データを送信する機能と、
    前記ライブ配信が予期しない理由で終了した場合、前記ライブ配信を再開するか否かを前記配信者に問い合わせるための画面をディスプレイに表示させる機能と、を実現させるためのコンピュータプログラム。
  6. 前記表示させる機能は、前記ライブ配信が予期しない理由で終了してから所定の期間内に限り前記画面を前記ディスプレイに表示させる請求項5に記載のコンピュータプログラム。
  7. 前記画面は前記所定の期間に係る残り時間を表示する請求項6に記載のコンピュータプログラム。
  8. 前記理由は、前記端末における障害または前記ネットワークにおける障害または前記サーバにおける障害である請求項5に記載のコンピュータプログラム。
  9. 前記ライブ配信を止めるための指示を前記配信者から受け付ける機能をさらに前記端末に実現させ、
    前記指示を受け付けたことは前記理由に含まれない請求項5に記載のコンピュータプログラム。
  10. ライブ配信の配信者の端末であって、
    ネットワークを介してサーバに、前記ライブ配信に係る動画データを送信する手段と、
    前記ライブ配信が予期しない理由で終了した場合、前記ライブ配信を再開するか否かを前記配信者に問い合わせるための画面をディスプレイに表示させる手段と、を備える端末。
  11. ライブ配信の視聴者の端末に、
    ネットワークを介してサーバから、前記ライブ配信に係る動画データを受信する機能と、
    前記ライブ配信の配信者の端末において前記ライブ配信が予期しない理由で終了した場合、前記視聴者の端末において前記ライブ配信を終了させずに待機要請画面をディスプレイに表示させる機能と、
    前記待機要請画面に残り時間を表示させる機能と、
    前記ライブ配信が再開されないまま前記残り時間が無くなると前記視聴者の端末において前記ライブ配信を終了させる機能と、を実現させるためのコンピュータプログラム。
JP2023043668A 2023-03-19 2023-03-19 サーバ、コンピュータプログラム及び端末 Active JP7302806B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023043668A JP7302806B1 (ja) 2023-03-19 2023-03-19 サーバ、コンピュータプログラム及び端末

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023043668A JP7302806B1 (ja) 2023-03-19 2023-03-19 サーバ、コンピュータプログラム及び端末

Publications (1)

Publication Number Publication Date
JP7302806B1 true JP7302806B1 (ja) 2023-07-04

Family

ID=86996521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023043668A Active JP7302806B1 (ja) 2023-03-19 2023-03-19 サーバ、コンピュータプログラム及び端末

Country Status (1)

Country Link
JP (1) JP7302806B1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002271765A (ja) * 2001-03-07 2002-09-20 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2005318250A (ja) * 2004-04-28 2005-11-10 Nippon Telegr & Teleph Corp <Ntt> ライブコンテンツ視聴継続システム、方法、装置、及びプログラム
JP2010218013A (ja) * 2009-03-13 2010-09-30 Yamaha Corp データ配信システム
JP2017219950A (ja) * 2016-06-06 2017-12-14 神戸電気工業株式会社 映像データ配信システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002271765A (ja) * 2001-03-07 2002-09-20 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2005318250A (ja) * 2004-04-28 2005-11-10 Nippon Telegr & Teleph Corp <Ntt> ライブコンテンツ視聴継続システム、方法、装置、及びプログラム
JP2010218013A (ja) * 2009-03-13 2010-09-30 Yamaha Corp データ配信システム
JP2017219950A (ja) * 2016-06-06 2017-12-14 神戸電気工業株式会社 映像データ配信システム

Similar Documents

Publication Publication Date Title
US11778278B2 (en) Server and method
JP7129666B1 (ja) コンピュータプログラム及び端末
US20240004859A1 (en) Data handling method, system and computer program
JP7112695B1 (ja) コンピュータプログラム、端末及びサーバ
JP7284910B1 (ja) サーバ及び方法
US20240114178A1 (en) Server and method
US20240031616A1 (en) Server and method
JP7302806B1 (ja) サーバ、コンピュータプログラム及び端末
JP7125729B1 (ja) サーバ
JP2023090606A (ja) コンピュータプログラム、端末及び方法
JP7469771B1 (ja) サーバおよび方法
JP7272570B1 (ja) コンピュータプログラム、端末、方法およびサーバ
JP7345814B1 (ja) サーバ、コンピュータプログラム及び端末
JP7272572B1 (ja) サーバおよび方法
JP7228174B1 (ja) アプリケーションプログラム及び端末
JP7423024B1 (ja) データアクセスのためのシステム及び方法
JP7442110B1 (ja) 端末、方法及びコンピュータプログラム
JP7246054B1 (ja) コンピュータプログラム、端末及びサーバ
JP7433617B1 (ja) サーバおよびコンピュータプログラム
JP7442112B1 (ja) ストリーム配信のためのシステム、方法及び非一時的なコンピュータ可読媒体
JP7376036B1 (ja) 配信者分析のためのシステム及び方法
JP7371844B1 (ja) レコメンデーションのためのシステム、方法、及びコンピュータ可読媒体
JP7284909B1 (ja) ゲームのチップギフト
JP2024054064A (ja) サーバ及び方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230403

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230403

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230403

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230530

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230613

R150 Certificate of patent or registration of utility model

Ref document number: 7302806

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150