(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024162965
(43)【公開日】2024-11-21
(54)【発明の名称】サーバ、方法及びコンピュータプログラム
(51)【国際特許分類】
H04N 21/258 20110101AFI20241114BHJP
H04N 21/278 20110101ALI20241114BHJP
G06Q 50/10 20120101ALI20241114BHJP
【FI】
H04N21/258
H04N21/278
G06Q50/10
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023178575
(22)【出願日】2023-10-17
(62)【分割の表示】P 2023078817の分割
【原出願日】2023-05-11
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.MySQL
(71)【出願人】
【識別番号】517287224
【氏名又は名称】17LIVE株式会社
(74)【代理人】
【識別番号】100199277
【弁理士】
【氏名又は名称】西守 有人
(72)【発明者】
【氏名】盧威坤
【テーマコード(参考)】
5C164
5L049
5L050
【Fターム(参考)】
5C164FA06
5C164MB01S
5C164SB08S
5C164SC11P
5C164SD01P
5C164UD51S
5C164YA21
5L049CC12
5L050CC12
(57)【要約】 (修正有)
【課題】ライブストリーミングプラットフォームにおいて、ストリームカテゴリを効率的かつ効果的に管理するサーバ、方法及びコンピュータプログラムを提供する。
【解決手段】ライブ配信者と視聴者に、リアルタイムで相互交流するためのライブストリーミングサービスを提供するライブストリーミングシステムにおいて、サーバは、ユーザのユーザ端末から第1のストリームを受信する機能と、当該第1のストリームが第1のカテゴリを満たすか否かを判定する機能と、当該第1のストリームが当該第1のカテゴリに一致することに応答して当該第1のストリームを当該第1のカテゴリに追加する機能と、を有し、当該ストリームの当該カテゴリの生成と維持を容易にし、さらに、当該ストリームの当該カテゴリを複雑な手順なしに動的に追加、更新、修正または削除することを可能とする。
【選択図】
図8
【特許請求の範囲】
【請求項1】
ライブストリーミングプラットフォームにおけるストリームを管理するためのサーバであって、1以上のプロセッサを含み、当該1以上のプロセッサが機械可読命令を実行して、
ユーザのユーザ端末から第1のストリームを受信する機能と、
前記第1のストリームが第1のカテゴリを満たすか否かを判定する機能と、
前記第1のストリームが前記第1のカテゴリに一致することに応答して前記第1のストリームを前記第1のカテゴリに追加する機能と、
を実行することを特徴とする、サーバ。
【請求項2】
前記第1のストリームと前記第1のカテゴリに対応するカテゴリリンクを生成する機能と、
前記カテゴリリンクを前記第1のストリームに格納する機能と、
をさらに含むことを特徴とする、請求項1に記載のサーバ。
【請求項3】
前記カテゴリリンクが連結リストの形式であり、前記第1のストリームを前記第1のカテゴリに連結し、
前記カテゴリリンクに基づいて、前記第1のカテゴリが前記第1のストリームからアクセスされる、ことを特徴とする、請求項2に記載のサーバ。
【請求項4】
前記カテゴリリンクを介して前記第1のストリームを更新する機能をさらに含み、
前記第1のストリームの更新が、前記第1のストリームを前記第1のカテゴリから削除すること、及び/または前記第1のストリームを第2のカテゴリに追加することを含む、ことを特徴とする、請求項2に記載のサーバ。
【請求項5】
前記第1のストリームがどのカテゴリにも一致しないことに応答して、前記第1のストリームを第3のカテゴリに追加することをさらに含む、ことを特徴とする、請求項1に記載のサーバ。
【請求項6】
前記第1のカテゴリの第1のフィルターを生成する機能と、
前記第1のフィルターを前記第1のストリームとフックする機能と、
をさらに含み、
前記第1のフィルターと前記第1のストリームがロングポーリングによりフックされる、
ことを特徴とする、請求項1に記載のサーバ。
【請求項7】
前記第1のストリームの受信に応答して、前記ユーザの情報を取得する機能をさらに含み、
前記ユーザの前記情報が、前記ユーザの固有キー、性別、最初のライブストリーム時刻、地域、又はハッシュタグを含む、ことを特徴とする、請求項1に記載のサーバ。
【請求項8】
前記第1のカテゴリ内の前記第1のストリームが、前記第1のカテゴリ内の前記第1のストリームの寿命または残存期間を特定するTTL(time to live)のパラメータを含む、ことを特徴とする、請求項1に記載のサーバ。
【請求項9】
ライブストリーミングプラットフォームにおいてストリームを管理する方法であって、
ユーザのユーザ端末から第1のストリームを受信する工程と、
前記第1のストリームが第1のカテゴリを満たすか否かを判定する工程と、
前記第1のストリームが前記第1のカテゴリに一致することに応答して前記第1のストリームを前記第1のカテゴリに追加する工程と、
を含むことを特徴とする、方法。
【請求項10】
コンピュータプログラムであって、サーバに、
ユーザのユーザ端末から第1のストリームを受信する機能と、
前記第1のストリームが第1のカテゴリを満たすか否かを判定する機能と、
前記第1のストリームが前記第1のカテゴリに一致することに応答して前記第1のストリームを前記第1のカテゴリに追加する機能と、
を実行させることを特徴とする、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報通信技術に関し、特に、ライブストリーミングにおけるサーバ、方法、及びコンピュータプログラムに関する。
【背景技術】
【0002】
アプリやプラットフォームの中には、ストリーマーと視聴者が交流できるライブストリーミングサービスを提供しているものがある。ストリーマーが視聴者を応援するパフォーマンスをしたり、視聴者がストリーマーを支援したりするために贈り物を送ることもある。
【0003】
視聴者が興味のあるストリーマーにアクセスできるようにするために、ストリームは常に異なるカテゴリに分類され、視聴者が興味のあるカテゴリに集中できるようになっている。特許文献1には、ストリームの特徴インデックスに応じたカテゴリに分類する方法が開示されている。
【0004】
しかしながら、ストリームの増加に伴い、ストリームのカテゴリを維持することが困難になってきている。また、ストリームの更新や打ち切りに対応しながら、カテゴリを管理するためには、常に複雑な手順が必要となる。このため、ストリームカテゴリをより効率的かつ効果的に管理する方法が非常に重要な課題となっている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】中国特許出願公開第114268839号明細書
【発明の概要】
【0006】
本開示の一実施態様によるライブストリーミングプラットフォームにおけるストリームを管理するためのサーバは、1以上のプロセッサを含み、当該1以上のプロセッサが機械可読命令を実行して、ユーザのユーザ端末から第1のストリームを受信する機能と、当該第1のストリームが第1のカテゴリを満たすか否かを判定する機能と、当該第1のストリームが当該第1のカテゴリに一致することに応答して当該第1のストリームを当該第1のカテゴリに追加する機能と、を実行する。
【0007】
本開示の別の一実施態様によるライブストリーミングプラットフォームにおけるストリームを管理するための方法は、ユーザのユーザ端末から第1のストリームを受信する工程と、当該第1のストリームが第1のカテゴリを満たすか否かを判定する工程と、当該第1のストリームが当該第1のカテゴリに一致することに応答して当該第1のストリームを当該第1のカテゴリに追加する工程と、を含む。
【0008】
本開示のさらに別の一実施態様によるコンピュータプログラムは、サーバに、ユーザのユーザ端末から第1のストリームを受信する機能と、当該第1のストリームが第1のカテゴリを満たすか否かを判定する機能と、当該第1のストリームが当該第1のカテゴリに一致することに応答して当該第1のストリームを当該第1のカテゴリに追加する機能と、を実行させる。
【発明の効果】
【0009】
本開示の実施態様によれば、当該ストリームの当該カテゴリの生成と維持が容易であり、さらに、当該ストリームの当該カテゴリを複雑な手順なしに動的に追加、更新、修正または削除することができる。したがって、ライブストリーミングプラットフォームでのストリームの品質を向上させることができる。
【図面の簡単な説明】
【0010】
【
図1】本開示の一部の実施態様に基づくライブストリーミングシステム1の構成を示す概略図である。
【
図2】本開示の一部の実施態様に基づくユーザ端末20のブロック図である。
【
図3】本開示の一部の実施態様に基づくサーバ10のブロック図である。
【
図4】
図3のストリームDB320の例示的データ構造を示す表である。
【
図5】
図3のユーザDB322の例示的データ構造を示す表である。
【
図6】
図3のフィルターDB324の例示的データ構造を示す表である。
【
図7】
図3のカテゴリDB326の例示的データ構造を示す表である。
【
図8】本開示の一部の実施態様に基づくライブストリーミングシステム1の機能構成例を示す概略図である。
【
図9】視聴者のユーザ端末30のディスプレイ上に表示されたライブストリーミングルーム画面600の例示的な画面イメージである。
【
図10】視聴者のユーザ端末30のディスプレイ上に表示されたライブストリーミングルーム画面600の例示的な画面イメージである。
【
図11】本開示の一部の実施態様に基づくライブストリーミングシステム1の構成の動作を示す例示的なシーケンス図である。
【
図12】本開示の一部の実施態様に基づくライブストリーミングシステム1の構成の動作を示す例示的なシーケンス図である。
【
図13】本開示の一部の実施態様に基づくライブストリーミングシステム1の構成の動作を示す例示的なシーケンス図である。
【
図14】本開示の一部の実施態様に基づく情報処理装置の例示的なハードウェア構成である。
【発明を実施するための形態】
【0011】
以下、各図面に示す同一または類似の構成要素、部材、手順または信号には、すべての図面において同様の符号を付し、それによって重複する説明は適宜省略される。また、各図面の説明において重要でない一部部材は省略される。
【0012】
本開示の一部の実施態様に基づくライブストリーミングシステム1は、ユーザ間のコミュニケーションと交流を円滑にする強化機能を提供する。より具体的には、技術的な方法で視聴者やストリーマーを楽しませるものである。
【0013】
図1に本開示の一部の実施態様に基づくライブストリーミングシステム1の構成を示す概略図を示す。当該ライブストリーミングシステム1は、ストリーミングストリーマー(ライブ配信者またはストリーマーとも呼ばれる)LVと視聴者(観衆とも呼ばれる)AU(AU1、AU2...)に、リアルタイムで相互交流するためのライブストリーミングサービスを提供する。
図1に示すように、当該ライブストリーミングシステム1は、サーバ10と、ユーザ端末20と、ユーザ端末30(30a、30b...)を含むことができる。当該ユーザ端末20はストリーマー、当該ユーザ端末30は視聴者であってもよい。一部の実施態様において、当該ストリーマーと視聴者はユーザと呼ばれてもよい。
【0014】
当該サーバ10は、ネットワークNWを介して接続された、1または複数の情報処理装置を含むことができる。当該ユーザ端末20、30は、例えば、スマートフォン、タブレット、ノートPC、レコーダー、携帯ゲーム機、ウェアラブル端末などの携帯端末や、デスクトップPCなどの据置型コンピュータであってもよい。当該サーバ10、ユーザ端末20、ユーザ端末30は、任意の種類の有線または無線ネットワークNWにより通信可能に接続されてもよい。
【0015】
当該ライブストリーミングシステム1には、当該ストリーマーLV、当該視聴者AU、当該サーバ10を提供するアプリプロバイダー(図示せず)が関与する。当該ストリーマーLVは、自身の歌、トーク、パフォーマンス、ゲームストリーミングなどのコンテンツを自身のユーザ端末20で収録して当該サーバ10にアップロードし、リアルタイムでコンテンツを配信する者となることができる。一部の実施態様において、当該ストリーマーLVは、当該ライブストリーミングを介して当該視聴者AUと交流することができる。
【0016】
当該アプリプロバイダーは、当該サーバ10においてライブストリーミングされるコンテンツのためのプラットフォームを提供することができる。一部の実施態様において、当該アプリプロバイダーは、当該ストリーマーLVと当該視聴者AU間のリアルタイム通信を管理するメディアまたはマネージャーであってもよい。当該視聴者AUは、当該ユーザ端末30により当該プラットフォームにアクセスし、自身が視聴したいコンテンツを選択して視聴することができる。当該視聴者AUは、当該ユーザ端末30により、当該ストリーマーに対してコメントしたり、応援したりなど、当該ストリーマーと交流するための操作を行うことができる。コンテンツを提供する当該ストリーマーは、当該コメントや応援に応答することができる。当該ストリーマーの応答は、映像及び(または)音声などにより当該視聴者AUに送信することができる。従って、当該ストリーマーと視聴者間の相互通信を達成することができる。
【0017】
本明細書でいう「ライブストリーミング」とは、当該ストリーマーLVが当該ユーザ端末20により記録したコンテンツを、当該視聴者AUが当該ユーザ端末30を介して実質的に再生・視聴することを可能にする、データ伝送を指すことができる。一部の実施態様において、「ライブストリーミング」は、上述のデータ伝送により実現されるストリーミングを指すこともある。当該ライブストリーミングは、HTTPライブストリーミング、CMAF(Common Media Application Format)、WebRTC(Web Real-Time Communications)、RTMP(Real―Time Messaging Protocol)、MPEG DASHなど、公知の技術によって実現することができる。
【0018】
当該ライブストリーミングは、さらに、当該ストリーマーがコンテンツを記録している間、当該視聴者AUが特定の遅延をもって当該コンテンツを再生または視聴することができる、実施形態を含んでもよい。当該遅延の程度については、少なくとも当該ストリーマーLVと当該視聴者AUがコミュニケーションを行うことができる程度に小さいことが望ましい。ただし、ライブストリーミングは、いわゆるオンデマンド配信とは異なる。より具体的に、当該オンデマンド配信とは、当該コンテンツを記録したすべてのデータをサーバに格納し、ユーザの要求に応じてランダムなタイミングで当該サーバから当該ユーザにデータを提供することを指してもよい。
【0019】
本明細書における「ストリーミングデータ」とは、画像データや音声データを含むデータを指すことができる。より具体的に、当該画像データ(ビデオデータと呼んでもよい)は、当該ユーザ端末20と30の画像キャプチャ機能によって生成されてもよい。当該音声データ(オーディオデータと呼んでもよい)は、当該ユーザ端末20と30の音声入力機能により生成されてもよい。当該ストリーミングデータを当該ユーザ端末20、30で再生し、ユーザに関するコンテンツを視聴できるようにしてもよい。一部の実施態様において、当該ストリーマーの当該ユーザ端末でストリーミングデータが生成されてから、当該視聴者の当該ユーザ端末で再生されるまでの間、圧縮、拡張、エンコード、デコード、トランスコードなど、データの形式、サイズ、規格を変更する処理が想定される。このような処理の前と後、当該コンテンツ(映像や音声)は実質的に変更されず、このため、本開示の現在の実施態様においては、処理される前のストリーミングデータと処理された後のストリーミングデータは同じであると説明される。つまり、当該ストリーマーの当該ユーザ端末により生成された当該ストリーミングデータが、当該サーバ10を介して当該視聴者の当該ユーザ端末で再生される場合、当該ストリーマーの当該ユーザ端末で生成された当該ストリーミングデータ、当該サーバ10を通過した当該ストリーミングデータ、そして当該視聴者の当該ユーザ端末が受信して再生する当該ストリーミングデータは、すべて同じストリーミングデータである。
【0020】
図1に示すように、ストリーマーLVはライブストリーミングを提供する。当該ストリーマーのユーザ端末20は、当該ストリーマーの映像及び(または)音声を記録することにより、ストリーミングデータを生成し、ネットワークNWを介してサーバ10に送信する。同時に、当該ユーザ端末20は映像VDを当該ユーザ端末20のディスプレイ上に表示し、当該ストリーマーLVのストリーミングコンテンツをチェックすることができる。
【0021】
当該ストリーマーのライブストリーミングの提供をプラットフォームに要求するユーザ端末30a、30bの視聴者AU1、AU2は、当該ネットワークNWを介して当該ライブストリーミングに対応するストリーミングデータを受信し、受信したストリーミングデータを再生してディスプレイ上に映像VD1、VD2を表示し、スピーカーなどから音声を出力することができる。当該ユーザ端末30a、30b上にそれぞれ表示される当該映像VD1、VD2は、当該ストリーマーLVの当該ユーザ端末により記録された当該映像と実質的に同じであり、当該ユーザ端末30a、30bから出力される当該音声は、当該ストリーマーLVの当該ユーザ端末により記録された当該音声と実質的に同じである。
【0022】
当該ストリーマーの当該ユーザ端末20での記録は、当該視聴者AU1、AU2の当該ユーザ端末30a、30bでのストリーミングデータの再生と同時であってもよい。当該視聴者AU1が当該ストリーマーLVのコンテンツに関するコメントを当該ユーザ端末30aに入力すると、当該サーバ10は、当該コメントを当該ストリーマーの当該ユーザ端末20にリアルタイムで表示するとともに、当該視聴者AU1、AU2の当該ユーザ端末30a、30bにもそれぞれ表示する。当該ストリーマーLVが当該コメントに応答した場合、当該応答を当該視聴者AU1、AU2の当該ユーザ端末30a、30bからテキスト、画像、映像または音声として出力し、当該ストリーマーLVと当該視聴者AU1、AU2のコミュニケーションを実現することができる。従って、当該ライブストリーミングシステムは、双方向通信のライブストリーミングを実現することができる。
【0023】
図2は、本開示の実施態様に基づく、
図1に示すユーザ端末20の機能と構成を示すブロック図である。当該ユーザ端末30は、当該ユーザ端末20と同様の機能と構成を有する。本明細書のブロック図に描かれているブロックは、コンピュータのCPUなどのデバイスや機械部品などのハードウェア、およびこれらの要素の連携によって実施される機能ブロックを表現する、コンピュータプログラムなどのソフトウェアで実施される。したがって、機能ブロックは、ハードウェアとソフトウェアの組み合わせによる多様な態様で実装され得ることが、当業者には理解されよう。
【0024】
当該ストリーマーLVと視聴者AUは、ネットワークNWを介して、ダウンロードサイトから本開示のライブストリーミングアプリケーション(ライブストリーミングアプリ)を当該ユーザ端末20と30にダウンロードしてインストールすることができる。または、当該ライブストリーミングアプリは、当該ユーザ端末20と30に予めインストールされていてもよい。当該ユーザ端末20と30によるライブストリーミングの実行により、当該ユーザ端末20と30は、当該ネットワークNWを介して当該サーバ10と通信し、複数の機能を実現することができる。当該ユーザ端末20と30(より具体的に、CPUなどのプロセッサ)による当該ライブストリーミングアプリの実行により実現される当該機能は、当該ユーザ端末20と30の機能として以下で説明される。当該機能は基本的に、当該ライブストリーミングアプリが当該ユーザ端末20と30に実現させる機能である。一部の実施態様において、これらの機能は、ネットワークNWを介して当該サーバ10から当該ユーザ端末20と30のウェブブラウザに送信し、当該ウェブブラウザのコンピュータプログラムにより実行されることにより実現されてもよい。当該コンピュータプログラムは、HTML(Hyper Text Markup Language)などのプログラミング言語で書かれていてもよい。
【0025】
当該ユーザ端末20は、ストリーミングユニット100と視聴ユニット200を含む。一部の実施態様において、当該ストリーミングユニット100は、ユーザのオーディオ及び(または)ビデオデータを記録し、当該サーバ10に送信するストリーミングデータを生成するように構成される。当該視聴ユニット200は、サーバ10からストリーミングデータを受信し、再生するように構成される。一部の実施態様において、ユーザは、ブロードキャスト時に当該ストリーミングユニット100を作動させる、またはストリーミングを視聴するときに当該視聴ユニット200を作動させることができる。一部の実施態様において、当該ストリーミングユニット100を作動させる当該ユーザ端末は、ストリーマーと呼ぶことができ、またはストリーミングデータを生成する当該ユーザ端末と呼ぶことができる。当該視聴ユニット200を作動させる当該ユーザ端末は、視聴者と呼ぶことができ、または当該ストリーミングデータを再生する当該ユーザ端末と呼ぶことができる。
【0026】
当該ストリーミングユニット100は、ビデオコントロールユニット102と、オーディオコントロールユニット104と、配信ユニット106と、UIコントロールユニット108を含むことができる。当該ビデオコントロールユニット102は、カメラ(図示せず)に接続されてもよく、当該映像は当該カメラにより制御される。当該ビデオコントロールユニット102は、当該カメラから当該ビデオデータを取得することができる。当該オーディオコントロールユニット104は、マイク(図示せず)に接続されてもよく、音声は当該マイクにより制御される。当該オーディオコントロールユニット104は、当該マイクから当該オーディオデータを取得することができる。
【0027】
当該配信ユニット106は、当該ビデオコントロールユニット102からのビデオデータと、当該オーディオコントロールユニット104からのオーディオデータを含むストリーミングデータを受信し、ネットワークNWを介して当該サーバ10に送信する。一部の実施態様において、当該配信ユニット106は当該ストリーミングデータをリアルタイムで送信する。つまり、当該ビデオコントロールユニット102と当該オーディオコントロールユニット104からの当該ストリーミングデータの生成と、当該配信ユニット106の配信は同時に実行される。
【0028】
当該UIコントロールユニット108は、当該ストリーマーのUIを制御する。当該UIコントロールユニット108はディスプレイ(図示しない)に接続され、当該配信ユニット106が当該ストリーミングデータを送信し、再生して当該ディスプレイ上に表示する相手に対して当該ストリーミングデータを生成するように構成される。当該UIコントロールユニット108は、操作するオブジェクトまたは指示を受けるオブジェクトをディスプレイ上に表示し、ストリーマーからのタップ入力を受け付けるように構成される。
【0029】
当該視聴ユニット200は、UIコントロールユニット202と、レンダリングユニット204と、入力送信ユニット206を含んでもよい。当該視聴ユニット200は、ネットワークNWを介してサーバ10からストリーミングデータを受信するように構成される。当該UIコントロールユニット202は、当該視聴者のUIを制御する。当該UIコントロールユニット202は、ディスプレイ(図示せず)及び(または)スピーカー(図示せず)に接続され、当該ストリーミングデータを再生することにより、当該ディスプレイ上に映像を表示し、当該スピーカーから音声を出力するように構成される。一部の実施態様において、当該ディスプレイ上に映像を出力し、当該スピーカーから音声を出力することを「ストリーミングデータを再生する」ことと呼んでもよい。当該UIコントロールユニット202は、タッチパネルやキーボード、ディスプレイなどの入力ユニットに接続され、ユーザからの入力を取得することができる。
【0030】
当該レンダリングユニット204は、当該サーバ10からのストリーミングデータと、フレーム画像とをレンダリングするように構成されてもよい。当該フレーム画像は、ユーザからの入力、視聴者により入力されたコメント、当該サーバ10から受信したデータを受け付けるためのユーザインターフェイスオブジェクトを含んでもよい。当該入力送信ユニット206は、当該UIコントロールユニット202から当該ユーザ入力を受信し、当該ネットワークNWを介して当該サーバ10に送信するように構成される。
【0031】
一部の実施態様において、当該ユーザ入力は、ライブ配信の選択、コメントの入力、贈り物の送信、ユーザのフォローまたはフォロー解除、イベントでの投票、ゲームなど、当該ユーザ端末の画面上のオブジェクトをクリックすることであってもよい。例えば、当該入力送信ユニット206は、視聴者の当該ユーザ端末がストリーマーに贈り物を送るために画面上の贈り物オブジェクトをクリックした場合に、贈り物情報を生成し、インターネットNWを介して当該サーバ10に送信してもよい。
【0032】
図3は、本開示の一部の実施態様に基づく当該サーバ10のブロック図である。当該サーバ10は、ストリーミング情報ユニット302、中継ユニット304、フィルタリングユニット306、マッチングユニット308、処理ユニット310、ストリームDB320、ユーザDB322、フィルターDB324、カテゴリDB326を含んでもよい。
【0033】
当該ストリーミング情報ユニット302は、当該ネットワークNWを介して当該ストリーマーの当該ユーザ端末20からライブストリーミングの要求を受信する。要求を受信すると、当該ストリーミング情報ユニット302は、当該ライブストリーミングの情報を当該ストリームDB320に登録する。一部の実施態様において、当該ライブストリーミングの情報は、当該ライブストリーミングのストリームID及び(または)当該ライブストリーミングに対応する当該ストリーマーのストリーマーIDであってもよい。
【0034】
当該視聴者から当該ネットワークNWを介して当該ユーザ端末30の当該視聴ユニット200から当該ライブストリーミングの当該情報の提供要求を受信すると、当該ストリーミング情報ユニット302は当該ストリームDB320を参照し、利用可能なライブストリーミングのリストを生成する。
【0035】
その後当該ストリーミング情報ユニット302は、当該ネットワークNWを介して当該ユーザ端末30に当該リストを送信する。当該ユーザ端末30の当該UIコントロールユニット202は、当該リストに基づいてライブストリーミング選択画面を生成し、当該ユーザ端末30のディスプレイ上に当該リストを表示する。
【0036】
当該ユーザ端末30の当該入力送信ユニット206は、当該ライブストリーミング選択画面上での当該視聴者によるライブストリーミングの選択を受信すると、選択された当該ライブストリーミングの当該ストリームIDを含む配信要求を生成し、当該ネットワークを介して当該サーバ10に送信する。当該ストリーミング情報ユニット302は、当該配信要求で当該ストリームIDにより指定された当該ライブストリーミングの当該ユーザ端末30に対する提供を開始することができる。当該ストリーミング情報ユニット302は、当該ストリームDB320を更新し、当該ユーザ端末30の当該視聴者の視聴者IDを当該ストリームIDの当該ストリーマーIDに追加することができる。
【0037】
当該中継ユニット304は、当該ストリーミング情報ユニット302により開始された当該ライブストリーミングにおいて、当該ストリーマーの当該ユーザ端末20から、当該視聴者の当該ユーザ端末30へのライブストリーミングの送信を中継することができる。当該中継ユニット304は、ストリーミングデータの再生中に、当該視聴者からのユーザ入力を示す信号を当該入力送信ユニット206から受信することができる。当該ユーザ入力を示す当該信号は、当該ユーザ端末30のディスプレイに表示されるオブジェクトの指定を示すオブジェクト指定信号であってもよい。当該オブジェクト指定信号は、当該視聴者の視聴者ID、当該視聴者が視聴しているライブストリーミングを配信するストリーマーのストリーマーID、及び当該オブジェクトにより指定されるオブジェクトIDを含んでもよい。当該オブジェクトが贈り物などである場合、当該オブジェクトIDは、贈り物IDなどであってもよい。同様に、当該中継ユニット304は、ストリーミングデータの再生中に、当該ユーザ端末20の当該ストリーミングユニット100から、例えば当該オブジェクト指定信号など、当該ストリーマーのユーザ入力を示す信号を受信することができる。
【0038】
当該フィルタリングユニット306は、生ストリームをカテゴリごとにフィルタリングするように構成される。より具体的に、当該フィルタリングユニット306は、生ストリームがカテゴリに一致するか否かなどを判定してもよい。当該フィルタリングユニット306は、複数のフィルターを含んでいてもよい。各フィルターFは、例えば、当該カテゴリと、生ストリームを対応するカテゴリにマッピングするためのマッピング機能とを含んでいてもよい。
【0039】
当該マッチングユニット308は、当該生ストリームをカテゴリDB326の対応するカテゴリにマッチングするように構成される。当該マッチングユニット308は、当該フィルタリングユニット306からの出力に基づき、当該カテゴリDB326内の当該カテゴリから当該生ストリームを追加、更新、修正または削除してもよい。一部の実施態様において、当該出力は、マッチリストなどであってもよい。生ストリームが対応するカテゴリによってフィルタリングされると、当該フィルタリングユニット306は、「カテゴリ」や「フィルターID」などのフィルターFの情報を取得し、当該生ストリームと当該カテゴリ間のマッチングを生成してもよい。当該マッチングユニット308はさらに、対応するカテゴリを生成し、当該生ストリームと当該カテゴリ間のマッチングに基づいて、当該生ストリームを当該カテゴリに追加してもよい。
【0040】
当該処理ユニット310は、当該ストリームの当該カテゴリに基づいて、当該ユーザに当該ストリームを提供するように構成される。視聴者からのストリームの要求に応じて、当該処理ユニット310はストリームを取得し、特定のカテゴリの当該ストリームを収集して、当該ユーザに動的に提供してもよい。
【0041】
図4は、
図3のストリームDB320の例示的データ構造を示す表である。当該ストリームDB320は、現在行われているライブストリームに関する情報を保持する。当該ストリームDB320は、当該ライブストリーミングシステム1が提供するライブストリーミングプラットフォーム上のライブ配信を識別するためのストリームID、当該ライブ配信を提供するストリーマーを識別するためのストリーマーID、及び当該ライブ配信の視聴者を識別するための視聴者IDを、互いに関連付けて格納する。
【0042】
一部の実施態様において、当該ストリームDB320は、当該ストリーマーが当該ストリームを開始した時刻を特定する「BeginTime」(開始時刻)、当該ストリームが属する地域を特定する「region」(地域)、当該ストリームの当該カテゴリを特定する「hashtag」(ハッシュタグ)、当該ストリームのサブカテゴリを特定する「subtabs」(サブタブ)を、互いに関連付けて格納してもよい。一部の実施態様において、当該ハッシュタグおよびサブタブは、当該ユーザによって、あるいは当該サーバ10によって、手動または自動で決定されてもよい。当該サーバ10は、機械学習、AIタグ付けなど任意の可能な技術によって、当該ハッシュタグおよび当該サブタブを決定してもよい。
【0043】
一部の実施態様において、当該ストリームDB320は、生ストリームをその対応するカテゴリで識別する「Category link」(カテゴリリンク)も格納してもよい。より具体的に、当該カテゴリリンクは、ストリームDB320における生ストリームと、当該カテゴリDB326におけるそのカテゴリとを示すパラメータであってもよい。当該カテゴリリンクは、互いに連結されたノードのシーケンスを含む連結リストの形式であってもよい。一部の実施態様において、当該カテゴリリンクは、ストリームID、カテゴリIDなどのパラメータによって当該ストリームを当該カテゴリに連結するデータ構造であってもよい。
【0044】
一部の実施態様において、当該ストリームIDの当該ストリームは、当該カテゴリリンクに基づき、当該カテゴリDB326の当該カテゴリIDのカテゴリを参照してもよい。一部の実施態様において、当該カテゴリリンクは、当該カテゴリDB326のカテゴリにおけるストリームの順序の情報を含んでいてもよい。例えば、当該カテゴリリンクは、そのストリームが当該カテゴリにおける1つ目のもの、または2つ目のものであることを示してもよい。一部の実施態様において、各カテゴリのストリームの当該順序は、当該カテゴリリンクに基づいて、他のストリームと再編成、並べ替え、または挿入されてもよい。実施態様において、各カテゴリのストリームの当該カテゴリ、順序またはレイアウトは容易に維持することができる。
【0045】
当該カテゴリリンクは、単方向連結リスト、双方向連結リスト、多方向連結リストなど、任意の種類の連結リストオブジェクトであってもよい。例えば、当該カテゴリリンクは、ストリームIDとカテゴリIDとを単方向で連結していてもよい。当該カテゴリリンクは、ストリームIDをカテゴリIDに、カテゴリIDをストリームIDに、双方向に連結していてもよい。実施態様において、当該カテゴリリンクは、ストリームIDを、同じカテゴリ内または異なるカテゴリ内の異なるノードなどに多方向に連結していてもよい。一部の実施態様において、当該カテゴリリンクの構成は、実際の必要性に応じて設計および設定されてもよい。
【0046】
当該マッチングユニット308が生ストリームを当該カテゴリDB326内の対応するカテゴリに一致させると、当該フィルタリングユニット306が、ストリームDB320のストリームとカテゴリDB326の一致に基づいて、カテゴリリンクを生成してもよい。当該フィルタリングユニット306はさらに、ストリームDB320内のストリームで当該カテゴリリンクを格納してもよい。一部の実施態様において、当該フィルタリングユニット306または当該マッチングユニット308は、当該カテゴリリンクに基づいて、当該ストリームの当該カテゴリを参照してもよい。
【0047】
一部の実施態様において、ストリームが複数のカテゴリに属する場合、当該ストリームは、複数のカテゴリに連結している1つのカテゴリリンク、または異なるカテゴリにそれぞれ連結している複数のカテゴリリンクを含んでいてもよい。一部の実施態様において、ストリームの当該カテゴリは、当該カテゴリリンクに基づいて、識別、確定、または参照されてもよい。
【0048】
図5は、
図3のユーザDB322の例示的データ構造を示す表である。当該ユーザDB322は、ユーザに関する情報を保持する。当該ユーザDB322は、ユーザを識別するためのユーザID、当該ユーザが有するポイント、当該ユーザのレベル、当該ユーザのステータスを相互に関連付けて格納する。当該ポイントは、当該ライブストリーミングプラットフォーム内で流通する電子的な価値である。当該レベルは、当該ライブストリーミングプラットフォームにおける当該ユーザの活動またはエンゲージメントの量の指標である。当該ステータスは、当該ライブストリーミングプラットフォームにおける当該ユーザのアイデンティティまたはメンバーシップステータスである。
【0049】
一部の実施態様において、当該ユーザDBには、当該ユーザの性別を特定する「gender」(性別)、ユーザの最初のライブストリーム開始時刻を特定する「firstLiveStreamTime」(最初のライブストリーム時刻)、ユーザの地域を特定するための「region」(地域)を相互に関連付けて格納されていてもよい。一部の実施態様において、当該ユーザの各パラメータは、当該パラメータの属性に基づき当該ストリームを分類するために使用されてもよい。例えば、「女性」カテゴリを使用して、当該ストリームを「女性」の性別で格納したり、「レベル80超」のカテゴリを使用して、当該ストリームをレベル80超で格納したりしてもよい。
【0050】
図6は、
図3のフィルターDB324の例示的データ構造を示す表である。当該フィルターDB324は、当該サーバ10内のフィルターFに関する情報を保持する。当該フィルターDB324は、当該サーバ10内のフィルターを識別するための「filter ID」(フィルターID)と、当該フィルターのカテゴリを識別するための「category」(カテゴリ)と、当該フィルターが有効か否かを識別する「isEnable」(有効)パラメータと、ストリームを対応するカテゴリにマッピングする機能を識別する「mappingFunc」(マッピング機能)の機能とを、互いに関連付けて格納している。
【0051】
一部の実施態様において、当該「mappingFunc」(マッピング機能)パラメータは、特定の特徴を有するストリームを定義するために使用されてもよく、当該サーバ10において機能をコーディングすることにより実現されてもよい。当該特徴は、特定のカテゴリ、特定のユーザリスト、特定の期間、特定の地域などであってもよい。例えば、ユーザIDを含むユーザのリストが生成されてもよい。当該マッピング機能において、「user ID」(ユーザID)のパラメータは、当該ストリーム内の当該ユーザが当該リスト内の当該ユーザIDと一致するか否かを判断するための指標として使用されてもよい。一部の実施態様において、当該ストリームが当該カテゴリと一致するか否かを判断するためのパラメータとして、ハッシュタグ、ユーザ情報、時間情報、地域情報などのその他のパラメータが使用されてもよい。
【0052】
一部の実施態様において、当該フィルター機能は、RESTful APIやgRPCフレームワークなどのサービスやフレームワークによって実現されてもよく、Golangなどのプログラミング言語によってコード化されてもよい。プログラミングのロジックは、例えば、当該サーバ10がフィルターを登録したり、当該サーバ10で利用可能なフィルターリストを取得したりすることを可能にしてもよい。一部の実施態様において、当該フィルター機能は、実際の必要性に応じて、任意の可能な手段によって実現されてもよい。
【0053】
図7は、
図3のカテゴリDB326の例示的データ構造を示す表である。当該カテゴリDB326は、当該サーバ10内の当該ストリームのカテゴリに関する情報を保持する。当該カテゴリには、カテゴリを特定するためのカテゴリIDと、当該サーバ10内におけるカテゴリを特定するためのカテゴリと、当該カテゴリに属する当該ストリームを特定するストリームIDとが互いに関連付けて格納される。
【0054】
一部の実施態様において、当該カテゴリDB326には、当該カテゴリDB326内のカテゴリにおける当該ストリームの寿命または残存期間を特定するTTL(time to live)も格納されてもよい。例えば、「latest」(最新)というカテゴリがあり、それが過去6時間以内に配信されたストリームを含む場合、配信時刻が6時間を超えると当該カテゴリから削除されるように、当該ストリームに「TTL」が設定されてもよい。
【0055】
一部の実施態様において、当該TTLの形式は、当該ストリームを当該カテゴリから削除する時間点を示すタイムスタンプ、または当該ストリームが当該カテゴリ内に存在するための残存時間を示す期間などであってもよい。一部の実施態様において、ストリームが当該TTLに基づきカテゴリから削除されると、当該ストリームのカテゴリリンクも動的に更新され、例えば、当該ストリームから削除されたりしてもよい。
【0056】
図8は、本開示の一部の実施態様に基づくライブストリーミングシステム1の機能構成例を示す概略図である。
図8に示すように、当該サーバ10内で生成された複数の生ストリーム(R1、R2...)が存在してもよい。各生ストリームは、ストリームID、ユーザID、ストリーム開始時刻、地域、その他メタデータなどの情報を含んでいてもよい。一部の実施態様において、当該メタデータは、当該ストリーマーが配信前または配信中に設定したデータを含んでいてもよい。例えば、当該メタデータは、軍用ストリームの設定、ストリーミングルームでのトピックなどを含んでいてもよい。
【0057】
当該フィルタリングユニット306は、各生ストリームを各フィルターFでフィルタリングし、当該生ストリームが当該フィルターFのカテゴリと一致するか否かを判断してもよい。一部の実施態様において、当該フィルタリングユニット306は、当該ストリームに関連する情報を参照してもよい。例えば、当該フィルタリングユニット306は、当該ユーザDB322を参照して、当該ストリーム情報に含まれる当該ユーザID(またはストリーマーID)に基づき、当該ストリーマーのプロフィールを取得してもよい。当該フィルタリングユニット306は、当該ユーザDB322から当該ストリーマーの性別や地域などの情報を取得してもよい。当該情報はさらに、当該ストリームをフィルタリングし、対応するカテゴリにマッチングするために使用されてもよい。
【0058】
当該ストリームがストリーマーによって生成されると、イベントチェックポイントが埋め込まれてもよい。当該チェックポイントでは、当該生ストリームの情報が記録され、当該フィルタリングユニット306に送信されてもよい。当該フィルタリングユニット306は、カテゴリによるストリームのフィルタリングに使用され得る1つ以上のフィルターFを含んでいてもよい。当該フィルターFは、事前に、またはリアルタイムで生成されてもよい。例えば、「female」(女性)のカテゴリに対するデフォルトのフィルターが存在し、女性ストリーマーの当該ストリームがフィルタリングされて女性ストリームに分類されてもよい。一部の実施態様において、「v―liver」のカテゴリを当該カテゴリページに追加させたいとき、「v―liver」のフィルターがリアルタイムで生成されてもよい。
【0059】
一部の実施態様において、生ストリームが生成されると、当該フィルターFが当該生ストリームをフィルタリングするように、当該生ストリームが当該フィルター機能にフックされてもよい。ここで、「フック」とは、APIのステータスにおける変化を動的に受信する、または通知を受けるための方法を指してもよい。これは、ウェブフック、ポーリング、ロングポーリング、リアルタイムストリーミングなど、あらゆる可能な方法によって実現されてもよい。一部の実施態様において、当該生ストリームを当該フィルタリング機能にフックする方法は、例えば、gRPCのフレームワークとロングポーリングの方法、またはその他の可能な任意の手段によって実現されてもよい。
【0060】
本実施態様によれば、フィルターFが新たに生成された後、当該サーバ10の再起動、リブート、再設定は不要である。つまり、あるカテゴリのフィルターFが新たに生成された場合、追加の構成や設定を行うことなく、そのフィルターが動作し得る。さらに、ロングポーリングの方法は、リソースの状態が変化したときにAPIがクライアントの要求に応答するのみでいいため、APIサーバの負荷を軽減することもできる。
【0061】
図8に示すように、当該フィルター機能は複数のフィルター(F1、F2…)を含んでもよい。生ストリームR1が生成されると、当該フィルタリングユニット306は、当該生ストリームR1をフィルターFで1つずつフィルタリングしてもよい。当該生ストリームR1があるカテゴリに一致する場合、当該マッチングユニット308は、当該生ストリームR1を当該カテゴリDB326内の対応するカテゴリに追加してもよい。
【0062】
一部の実施態様において、1つの生ストリームが、1つ以上のカテゴリに一致してもよい。
図8に示すように、ストリームID「100001」の当該生ストリームR1は、カテゴリ「latest stream」(最新のストリーム)と「female stream」(女性によるストリーム)に一致する。このため、当該マッチングユニット308は、当該生ストリームR1の情報を一致したカテゴリにそれぞれ追加してもよい。
【0063】
一部の実施態様において、当該マッチングユニット308は、生ストリームがどのカテゴリにも一致しない場合、当該生ストリームをどのカテゴリにも追加しなくてもよい。一部の実施態様において、当該マッチングユニット308は、生ストリームがどのカテゴリにも一致しない場合、当該生ストリームを「other category」(その他のカテゴリ)に追加してもよい。一部の実施態様において、「other」(その他)のカテゴリのフィルターFを生成し、どのカテゴリにも一致しないストリームをフィルタリングしてもよい。本実施態様によれば、ストリームを適切な方法で管理・維持することができる。
【0064】
図9と
図10は、視聴者のユーザ端末30のディスプレイ上に表示されたライブストリーミング選択画面600の例示的な画面イメージである。当該サーバ10は、当該視聴者が視聴するストリーマーを選択するためのライブストリーミング選択画面600を提供してもよい。当該ライブストリーミング選択画面600は、当該視聴者がストリームの配置およびレイアウトを調整するためのタブオブジェクト602を含んでもよい。また、当該ライブストリーミング選択画面600は、当該視聴者のために当該ストリームを表示するための表示領域604を含んでもよい。
【0065】
一部の実施態様において、当該タブオブジェクト602は、当該視聴者向けに「all」(すべて)タブ、「category」(カテゴリ)タブなどを含んでもよい。当該「all」(すべて)タブは、すべてのストリームを表示するために使用され、当該「category」(カテゴリ)タブはカテゴリごとに分類されたストリームを表示するために使用されてもよい。一部の実施態様において、ストリームの当該カテゴリには、「latest」(最新)、「female」(女性)、「v―liver」、「singer」(歌手)などが含まれてもよく、当該カテゴリは、当該サーバ10が実際の必要に応じて柔軟に追加、削除、更新、変更することができる。
【0066】
図9に示すように、当該ライブストリーミング選択画面600には、「latest」(最新)と「dance」(ダンス)のカテゴリがある。当該「latest」(最新)のカテゴリには、少なくともストリームR1とストリームR2の2つがある。当該「dance」(ダンス)のカテゴリには、少なくともストリームR1とストリームR3、ストリームR4の3つがある。当該視聴者は、右または左にスワイプして、他の利用可能なストリームを確認してもよい。
【0067】
一部の実施態様において、当該フィルタリングユニット306とマッチングユニット308は、当該カテゴリDB326を動的に更新してもよい。更新の要求は、当該サーバ10からの検出、管理スタッフによる検出、ストリーマーや視聴者からの検出などに基づいていてもよい。
図9に示すように、ストリーマー「Ben」は当該「dance」(ダンス)のカテゴリに分類されている。当該ストリーマーがダンスから歌にパフォーマンスを変更したい場合、当該ストリーマーは、例えば、当該ストリーミングルームのハッシュタグを変更し、当該ストリーミングルームのトピックを更新してもよい。
【0068】
生ストリームで更新が行われると、当該フィルタリングユニット306とマッチングユニット308が当該カテゴリDB326を動的に更新してもよい。一部の実施態様において、当該更新は、例えば、当該カテゴリ名の変更や、当該ストリームのあるカテゴリからの削除、当該ストリームの別のカテゴリへの追加、当該ストリームの削除などであってもよい。
図10に示すように、当該ストリーマー「Ben」のストリームは、「dance」(ダンス)のカテゴリから除外され、新たに「Singer」(歌手)のカテゴリに追加されてもよい。
【0069】
図11から
図13は、本開示の一部の実施態様に基づくライブストリーミングシステム1の構成の動作を示す例示的なシーケンス図である。
【0070】
一部の実施態様において、サーバ10は、現在行われているライブストリームを保存するストリームDB320を含んでいてもよい。
図11に示すように、ストリーマーがライブストリーミングを開始すると、当該ストリームの情報が当該ストリームDB320などのデータベースに格納されてもよい(S302)。一部の実施態様において、当該データベースは、サーバ10の内部データベースや、YAML、MangoDB、MySQLなどのサードパーティ製データベースであってもよい。当該視聴者は、ユーザ端末30を介して当該ストリームカテゴリページにアクセスし、当該ライブストリーミングを選択してもよい(S304)。当該処理ユニット310は、当該ストリームDB320からストリームを収集してもよい(S306)。当該視聴者が当該カテゴリページにアクセスし、例えば、音楽カテゴリのストリームを要求した場合、当該処理ユニット310は、当該音楽カテゴリ内のストリームを当該視聴者に提供してもよい(S308)。
【0071】
一部の実施態様において、当該視聴者が最新カテゴリ内のストリームを要求した場合、当該処理ユニット310は、当該最新カテゴリ内のストリームを当該視聴者に提供してもよい(S310)。一部の実施態様において、当該視聴者が女性カテゴリ内のストリームを要求した場合、当該処理ユニット310は、当該女性カテゴリ内のストリームを当該視聴者に提供してもよい(S312)。本実施態様によれば、当該処理ユニット310は、当該視聴者にカテゴリごとに当該ストリームを提供でき、当該視聴者は、自分が興味を持っている当該カテゴリの当該ストリームに集中することができる。
【0072】
一部の実施態様において、当該ストリームは、実際の必要性に応じて、同一のデータベースまたは異なるデータベースに格納されてもよい。当該処理ユニット310は、ストリームの情報を収集するために、異なるデータベースにアクセスする必要があってもよい。
図11に示すように、ストリームDB320’など別のデータベースがストリームの格納に使用されてもよい(S302’)。あるストリームが当該ストリームDB320’に格納されている場合、当該処理ユニット310は、当該ストリームDB320’から当該ストリームを収集してもよい(S306’)。一部の実施態様において、各データベースにはその技術的ロジックがあり、当該処理ユニット310がストリームを収集し、当該視聴者に提供する手順は、データベースごとに異なっていてもよい。
【0073】
図12は、関連技術として
図11に示すものと比較した場合のライブストリーミングシステム1の構成の動作を示す図である。
図12に示すように、当該フィルタリングユニット306は、サーバ10内のフィルターのリストを初期化してもよい(S322)。一部の実施態様において、当該サーバ10にはいくつかのデフォルトの、あるいは新たに生成された、有効または無効のフィルターFが存在してもよく、当該フィルタリングユニット306は、サーバ10のフィルターの当該リストを初期化することにより、利用可能なフィルターを取得してもよい。一部の実施態様において、当該フィルタリングユニット306は、サーバ10内のすべてのフィルターを登録し、フィルター機能を処理するためのフィルターリストを提供してもよい。
【0074】
一部の実施態様において、当該ストリームDB320は当該フィルタリングユニット306にフックされてもよい(S324)。当該ストリームDB320を当該フィルタリングユニット306にフックすることにより、生ストリームは、生成または更新されると、フィルタリングされて対応するカテゴリにマッチングされ得る。ストリーマーがライブストリーミングを開始すると、当該ストリームの情報が当該ストリームDB320に格納されてもよい(S326)。さらに、当該ストリームの当該情報が、カテゴリのフィルタリングのために、当該フィルタリングユニット306に送信されてもよい(S328)。
【0075】
当該フィルタリングユニット306は、当該ストリームに対してカテゴリを生成してもよく、例えば、当該カテゴリに当該ストリームをフィルタリングすることによってこれを行ってもよい(S330)。一部の実施態様において、当該フィルタリングユニット306は、フィルターFによって当該ストリームフィルターFをフィルタリングしてもよい。一部の実施態様において、当該フィルタリングユニット306は、ループ内で各ストリームSを各フィルターFでフィルタリングしてもよい。例えば、3つのフィルターF1、F2、F3がある場合、当該フィルタリングユニット306は、フィルターF1、F2、F3それぞれによって生ストリームをフィルタリングしてもよい。当該フィルタリングユニット306は、各フィルターで各ストリームをそれぞれフィルタリングして、当該ストリームが各フィルターFのカテゴリと一致するかどうかを判断してもよい。
【0076】
一部の実施態様において、ストリームR1における当該ストリーマーの性別が女性であり、当該フィルターF2のカテゴリが女性である場合、当該フィルタリングユニット306は、当該フィルターF2により当該ストリームR1を女性のカテゴリに一致させてもよい。より具体的に、当該フィルターF2は、当該ストリーマーの性別が女性である当該ストリームを見つけることを示すマッピング機能を含んでもよい。ストリームR1における当該ストリーマーの性別は女性であるため、当該ストリームR1はフィルターF2のカテゴリに一致する可能性がある。当該フィルタリングユニット306はさらに、例えば、フィルターF2におけるカテゴリ名とフィルターIDを取得して、当該ストリームR1とフィルターF2とのマッチングを生成してもよい。
【0077】
すべてのストリームを各フィルターFでそれぞれフィルタリングした後、当該フィルタリングユニット306はマッチリストを生成し、当該マッチングユニット308に当該マッチリストを送信してもよい(S332)。一部の実施態様において、当該マッチリストは、生ストリームとフィルターFとのマッチング結果を示すテーブルなど、当該フィルタリングユニット306からの出力であってもよい。当該マッチングユニット308はさらに、マッチリストに基づいて当該生ストリームを当該カテゴリDB324に対してマッチングしてもよい(S334)。例えば、ストリームR1が「latest」(最新)と「female」(女性)のカテゴリに一致する場合、当該マッチングユニット308は、当該ストリームR1をカテゴリDB324内の「latest」(最新)と「female」(女性)のカテゴリにそれぞれ追加してもよい。一部の実施態様において、ストリームIDなどの当該ストリームR1の情報は、参照として当該カテゴリDB324に追加されてもよい。一部の実施態様において、カテゴリDB324に対応するカテゴリがない場合、当該マッチングユニット308は、新しいカテゴリを生成し、当該ストリームを新たに生成したカテゴリに追加してもよい。
【0078】
一部の実施態様において、1つのストリームは、1つのカテゴリにも一致しない、または1つ以上のカテゴリに一致してもよい。一部の実施態様において、ストリームがどのカテゴリにも一致しない場合、当該マッチングユニット308は、当該ストリームを当該カテゴリDB324に追加しなくてもよい。一部の実施態様において、ストリームがどのカテゴリにも一致しない場合、当該マッチングユニット308は当該ストリームをカテゴリDB324内の「other」(その他)カテゴリに追加してもよい(S336)。
【0079】
一部の実施態様において、当該フィルタリングユニット306は一致したカテゴリの情報を当該ストリームDB320に参照用に送信してもよい(S338)。さらに、カテゴリリンクが生成され、ストリームDB320内の当該ストリームに格納されてもよい(S340)。当該カテゴリリンクは、当該マッチリストの情報に基づいて生成されてもよい。例えば、当該ストリームの当該カテゴリはリンクとしてストリームDB320内の当該ストリームに格納されてもよい。当該リンクは連結リストの形式であり、ストリームDB320内の当該ストリームとカテゴリDB324内の当該カテゴリを接続してもよい。
【0080】
一部の実施態様において、ストリームを格納するためのデータベースが複数ある場合、各データベースが当該カテゴリDB324にリンクされ、また上述の手順に従いリアルタイムで動的に更新されてもよい。当該ユーザは、ストリームのカテゴリについて当該カテゴリDB324にアクセスしてもよい(S342)。さらに、当該カテゴリの当該更新は、ストリームの開始、ストリームの更新、ストリームの終了などのイベントによってトリガーまたは駆動されてもよい。したがって、当該ストリームの当該カテゴリの生成と維持が容易になる。
【0081】
図13は、当該ライブストリーミングシステム1における当該ストリームの更新または終了の操作を示す。
図13に示すように、当該フィルタリングユニット306は、サーバ10内のフィルターのリストを初期化してもよい(S352)。当該ストリームDB320はさらに、当該フィルタリングユニット306にフックされてもよい(S354)。一部の実施態様において、オペレーターは当該ストリームの情報を更新してもよい(S356)。一部の実施態様において、当該オペレーターは、当該サーバ10自体、管理スタッフ、当該ストリーマー、視聴者などであってもよい。当該更新は、手動または自動で行われてもよい。
【0082】
当該オペレーターによってストリームR1の更新が行われると、当該ストリームR1のカテゴリリンクが確認および参照され(S358)、当該フィルタリングユニット306がさらに当該カテゴリリンクに基づいて当該カテゴリを更新してもよい(S360)。当該フィルタリングユニット306はさらに、当該更新の情報を当該カテゴリリンクと比較し、それらの間の差異を特定してもよい(S362)。一部の実施態様において、当該差異は、カテゴリを更新するか、別のカテゴリに追加するか、1つのカテゴリから削除するかなどを示していてもよい。
【0083】
一部の実施態様において、当該フィルタリングユニット306は、上述の比較及び差異に基づいて、マッチリストを生成してもよい。当該ストリームとカテゴリの間に新たな一致が存在する場合、当該マッチングユニット308は当該マッチリストを受信し(S364)、それに応じて当該カテゴリDB324の更新されたカテゴリに更新された当該ストリームを追加してもよい(S366)。一部の実施態様において、元のカテゴリが失われた、つまり更新された当該ストリームが当該元のカテゴリに一致しない場合、当該マッチングユニット308は、当該カテゴリDB324内の当該元のカテゴリから更新された当該ストリームを削除してもよい(S368)。
【0084】
当該ストリームとそれに対応するカテゴリに当該更新が反映された後、当該フィルタリングユニット306は、当該マッチリストの情報を当該ストリームDB320に送信してもよい(S370)。さらに、更新されたカテゴリリンクが生成され、ストリームDB320内の当該ストリームに格納されてもよい(S372)。
【0085】
例えば、あるストリーマーがストリーミングルームのハッシュタグを「dance」(ダンス)から「singer」(歌手)に変更した場合、当該ストリーミングルームを更新するイベントがトリガーされてもよい。当該フィルタリングユニット306は、カテゴリリンクに基づいて、当該ストリーミングルームの対応するカテゴリを特定してもよい。当該フィルタリングユニット306は、当該ストリームの当該元のカテゴリと新しいカテゴリの差異を比較し、さらに当該ストリームの当該カテゴリを変更するか否かを決定してもよい。当該マッチングユニット308は、当該差異に基づいて、当該ストリームの当該カテゴリをさらに更新してもよい。例えば、当該マッチングユニット308は、当該ストリームを「dance」(ダンス)のカテゴリから削除し、当該ストリームを「singer」(歌手)のカテゴリに追加してもよい。
【0086】
さらに、当該オペレーターは当該ストリームを閉じてもよい(S374)。例えば、当該ストリーマーが自発的に当該ストリームを終了しても、当該サーバ10が違反等により当該ストリームを終了させてもよい。当該オペレーターが当該ストリームを閉じると、当該ストリームR1の当該カテゴリリンクが参照され(S376)、当該フィルタリングユニット306は、カテゴリを削除するための当該ストリームのカテゴリリンクを取得してもよい(S378)。さらに、当該フィルタリングユニット306は、当該カテゴリリンクに基づき、当該カテゴリDB324内の当該カテゴリから当該ストリームを削除してもよい(S380)。手順が終了したら、当該フィルタリングユニット306は、当該ストリームDB320にechoして処理を終了してもよい(S382)。
【0087】
本開示の実施態様によれば、当該ストリームの当該カテゴリの生成と維持が容易であり、さらに、当該ストリームの当該カテゴリを複雑な手順なしに動的に追加、更新、修正または削除することができる。したがって、ライブストリーミングプラットフォームでのストリームの品質を向上させることができる。
【0088】
図14は、本開示の一部の実施態様に基づくシステム構成および処理を実行するためのコンピュータハードウェアの概略ブロック図である。
図14に示す当該情報処理装置900は、例えば、本開示の一部の実施態様に基づく当該サーバ10と当該ユーザ端末20、30をそれぞれ実現するように構成される。
【0089】
当該情報処理装置900は、CPU901と、リードオンリーメモリ(ROM)903、ランダムアクセスメモリ(RAM)905を含む。さらに、当該情報処理装置900は、ホストバス907、ブリッジ909、外部バス911、インターフェイス913、入力ユニット915、出力ユニット917、ストレージユニット919、ドライブ921、接続ポート925、通信ユニット929を含んでもよい。当該情報処理装置900は、カメラなどの撮像装置(図示せず)を含んでもよい。当該情報処理装置900は、CPU901に代えて、または加えて、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)等の処理回路を含んでもよい。
【0090】
当該CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージユニット919、またはリムーバブル記録媒体923に記録された各種プログラムに従って、当該情報処理装置900の全体動作またはその一部の動作を制御する。例えば、当該CPU901は、上述した実施態様の当該サーバ10および当該ユーザ端末20、30に含まれる各機能ユニットの動作全般を制御する。当該ROM903は、当該CPU901が使用するプログラム、動作パラメータなどを記憶する。当該RAM905は、当該CPU901が実行する際に使用するプログラムや、当該プログラムを実行する際に適宜変化するパラメータを過渡的に記憶する。当該CPU901、当該ROM903、当該RAM905は、CPUバスなどの内部バスから構成されるホストバス907を介して互いに接続されている。当該ホストバス907は、当該ブリッジ909を介してペリフェラルコンポーネントインターコネクト/インターフェイス(PCI)バスなどの外部バス911に接続される。
【0091】
当該入力ユニット915は、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバーなど、ユーザによって操作される装置である。当該入力ユニット915は、オーディオセンサ(マイクなど)、加速度センサ、傾斜センサ、赤外線センサ、深度センサ、温度センサ、湿度センサなど、物理量を電気信号に変換する装置であってもよい。当該入力ユニット915は、例えば、赤外線や別の種類の電波を利用するリモートコントロール装置であってもよい。あるいは、当該入力ユニット915は、当該情報処理装置900の動作に対応する携帯電話などの外部接続端末927であってもよい。当該入力ユニット915は、ユーザから入力される情報に基づいて入力信号を生成し、生成した入力信号を当該CPU901に出力する入力制御回路を含む。当該ユーザは当該入力ユニット915を操作することにより、各種データを入力し、当該情報処理装置900に対する処理動作の指示を行う。
【0092】
当該出力ユニット917は、取得した情報をユーザに対して視覚的または聴覚的に報知することができる装置を含む。当該出力ユニット917は、例えば、LCD、PDP、OLEDなどのディスプレイ装置、スピーカー、ヘッドホンなどの音声出力装置、プリンタなどであってもよい。当該出力ユニット917は、当該情報処理装置900が実行する処理によって得られた結果を、テキスト、画像などの映像、音声などのサウンドの形で出力する。
【0093】
当該ストレージユニット919はデータストレージ用装置であり、当該情報処理装置900のストレージユニットの一例である。当該ストレージユニット919は、例えば、ハードディスクドライブ(HDD)などの磁気記憶装置、半導体記憶装置、光記憶装置、光磁気記憶装置などを含む。当該ストレージユニット919は、当該CPU901が実行するプログラムや各種データ、及び外部から取得された各種データを格納する。
【0094】
当該ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどのリムーバブル記録媒体923のリーダー/ライターであり、当該情報処理装置900に内蔵または外付けされる。当該ドライブ921は、装着された当該リムーバブル記録媒体923に記録された情報を読み出し、当該RAM905に出力する。当該ドライブ921は、装着された当該リムーバブル記録媒体923に記録を書き込む。
【0095】
当該接続ポート925は、当該情報処理装置900に機器を直接接続するために用いられるポートである。当該接続ポート925は、例えば、USB(ユニバーサルシリアルバス)ポート、IEEE1394ポート、またはSCSI(小型計算機システムインターフェイス)ポートであってもよい。当該接続ポート925は、RS―232Cポート、光オーディオ端子、HDMI(高精細度マルチメディアインターフェイス(登録商標))ポートなどであってもよい。当該接続ポート925に外部接続端末927が接続されることにより、当該情報処理装置900と当該外部接続端末927間の各種データのやり取りが可能になる。
【0096】
当該通信ユニット929は、例えば、通信ネットワークNWに接続するための通信装置を含む通信インターフェイスである。当該通信ユニット929は、例えば、有線または無線のローカルエリアネットワーク(LAN)、Bluetooth(登録商標)、または、無線USB(WUSB)用の通信カードであってもよい。
【0097】
当該通信ユニット929は、例えば、光通信用のルータ、ADSL(非対称デジタル加入者線)用のルータ、または、各種通信用のモデムであってもよい。例えば、当該通信ユニット929は、TCP/IP等の所定のプロトコルを用いて、インターネットにおける信号の送受信や、他の通信装置との信号の送受信を行う。当該通信ユニット929が接続する当該通信ネットワークNWは、有線接続または無線接続により確立されたネットワークである。当該通信ネットワークNWは、例えば、インターネット、家庭内LAN、赤外線通信、電波通信、または衛星通信である。
【0098】
当該撮像装置(図示せず)は、例えば、CCD(電荷結合デバイス)やCMOS(相補型金属酸化膜半導体)などの撮像素子と、当該撮像素子上の被写体像の結像を制御するためのレンズなど各種部材を用いて現実空間を撮像し、撮像画像を生成する装置である。当該撮像装置は、静止画を撮像しても、動画を撮像してもよい。
【0099】
以上、本開示のライブストリーミングシステム1について、実施形態を参照しながら説明した。上述の実施態様は、単に説明のために記載されたものである。むしろ、実施態様の上述した構成要素や処理を多様に組み合わせ、さまざまな変更がなされ得ることは、当業者であれば容易に想到し得ることであり、これらも本開示の技術的範囲に包含される。
【0100】
本明細書に記載された工程、特にフローチャートやフローチャートを用いて説明された工程は、工程を構成する工程の一部の省略、工程を構成する工程に明示的に含まれない工程の追加、及び(または)工程順序の並べ替えが可能である。このような省略、追加、並べ替えの対象となった工程も、本開示の要旨を逸脱しない限り、本開示の範囲に含まれる。
【0101】
一部の実施態様において、当該サーバ10が実行する機能の少なくとも一部は、当該サーバ10以外が実行してもよく、例えば、当該ユーザ端末20または30が実行するようにしてもよい。一部の実施態様において、当該ユーザ端末20または30が実行する機能の少なくとも一部を、当該ユーザ端末20または30以外が実行してもよく、例えば、当該サーバ10が実行するようにしてもよい。一部の実施態様において、フレーム画像のレンダリングは、視聴者、サーバ、ストリーマー等の当該ユーザ端末が実行するようにしてもよい。
【0102】
さらに、上記実施態様で説明したシステムまたは方法は、固体記憶装置、光ディスク記憶装置、磁気ディスク記憶装置などの非一時的なコンピュータ可読ストレージ装置、またはコンピュータプログラム製品などで提供されてもよい。あるいは、プログラムは、インターネットを介してサーバからダウンロードされるものとしてもよい。
【0103】
以上、本開示の技術的内容及び特徴を説明したが、本開示の属する技術分野において通常の知識を有する者であれば、本開示の教示及び開示から逸脱することなく、なお多くの変形及び修正を行うことができる。したがって、本開示の範囲は、既に開示された実施態様に限定されず、本開示から逸脱しない別の変形や修正を含む、後付の特許請求の範囲に含まれる範囲である。
【符号の説明】
【0104】
1 ライブストリーミングシステム
10 サーバ
20 ユーザ端末
100 ストリーミングユニット
102 ビデオコントロールユニット
104 オーディオコントロールユニット
106 配信ユニット
108 UIコントロールユニット
200 視聴ユニット
202 UIコントロールユニット
204 レンダリングユニット
206 入力ユニット
30、30a、30b ユーザ端末
302 ストリーミング情報ユニット
304 中継ユニット
306 フィルタリングユニット
308 マッチングユニット
310 処理ユニット
320 ストリームDB
322 ユーザDB
324 フィルターDB
326 カテゴリDB
600 画面
602 タブオブジェクト
604 表示領域
900 情報処理装置
901 CPU
903 ROM
905 RAM
907 ホストバス
909 ブリッジ
911 外部バス
913 インターフェイス
915 入力ユニット
917 出力ユニット
919 ストレージユニット
921 ドライブ
923 リムーバブル記録媒体
925 接続ポート
927 外部接続端末
929 通信ユニット
LS ライブストリーミング
LV ストリーマー
NW ネットワーク
SP 特定の部分
AU1、AU2 視聴者
C1、C2、C3、C4、C0 カテゴリ
F1、F2、F3、F4 フィルター
R1、R2、R3、R4 生ストリーム
S302~S312、S322~S342、S352~S382 工程
VD、VD1、VD2 映像