(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-21
(45)【発行日】2023-11-30
(54)【発明の名称】データ通信システム及びデータ通信方法
(51)【国際特許分類】
H04N 21/238 20110101AFI20231122BHJP
H04N 21/239 20110101ALI20231122BHJP
H04L 69/18 20220101ALI20231122BHJP
【FI】
H04N21/238
H04N21/239
H04L69/18
(21)【出願番号】P 2022516639
(86)(22)【出願日】2021-03-30
(86)【国際出願番号】 US2021024810
(87)【国際公開番号】W WO2022211786
(87)【国際公開日】2022-10-06
【審査請求日】2022-03-11
【早期審査対象出願】
(73)【特許権者】
【識別番号】522101081
【氏名又は名称】ワンセブンライブ(ユーエスエー)コーポレーション
【氏名又は名称原語表記】17LIVE(USA)Corp.
【住所又は居所原語表記】1460 Starbuck St.Fullerton,California 92833 United States of America
(74)【代理人】
【識別番号】100126572
【氏名又は名称】村越 智史
(72)【発明者】
【氏名】チャン,ユーチュアン
(72)【発明者】
【氏名】チェン,ユーチュン
【審査官】大西 宏
(56)【参考文献】
【文献】特開2001-177871(JP,A)
【文献】特開2002-198926(JP,A)
【文献】特開2011-130017(JP,A)
【文献】特開2017-152780(JP,A)
【文献】米国特許出願公開第2015/0089077(US,A1)
【文献】米国特許出願公開第2019/0098687(US,A1)
【文献】米国特許出願公開第2020/0186580(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 -21/858
H04L 69/00 -69/40
(57)【特許請求の範囲】
【請求項1】
データ通信システムであって、
ユーザからの操作に基づいてユーザ端末によって実行される
動作を
、前記ユーザ端末から受信するように構成された受信ユニットと、
前記受信ユニットに接続され、前記
動作により要求される指標に基づき、前記ユーザ端末への通信プロトコルを決定するように構成された決定ユニットと、
を含み、決定された前記通信プロトコルが前記ユーザ端末に通知され、前記ユーザ端末が前記通信プロトコルを介してリアルタイムデータを要求する、ことを特徴とする、データ通信システム。
【請求項2】
前記受信ユニットがさらに、前記ユーザ端末とサーバの相互間に利用可能な通信プロトコルを受信し、前記決定ユニットが前記利用可能な通信プロトコルから前記通信プロトコルを選択し、かつさらに前記
動作に基づき、前記通信プロトコルを決定する、ことを特徴とする、請求項1に記載のデータ通信システム。
【請求項3】
前記決定ユニットがさらに、予測要素を含み、前記予測要素が、前記
動作に基づいて後続の
動作を予測するように構成され、前記決定ユニットが、前記後続の
動作に基づき前記通信プロトコルを決定する、ことを特徴とする、請求項1に記載のデータ通信システム。
【請求項4】
前記予測要素が、前記ユーザ端末から複数の履歴データを収集し、前記後続の
動作を予測する、ことを特徴とする、請求項3に記載のデータ通信システム。
【請求項5】
前記
動作がさらに、インタラクション
動作を含み、前記インタラクション
動作によって、インタラクションデータを送信および(または)受信、またはストリーミングデータを送信および(または)受信し、前記決定ユニットが、前記インタラクション
動作に基づいて前記通信プロトコルを決定する、ことを特徴とする、請求項1に記載のデータ通信システム。
【請求項6】
前記
動作がさらに、非インタラクション
動作を含み、前記非インタラクション
動作によって、ストリーミングデータを送信することなく受信、またはストリーミングデータを受信することなく送信し、前記決定ユニットが、前記非インタラクション
動作に基づいて前記通信プロトコルを決定する、ことを特徴とする、請求項1に記載のデータ通信システム。
【請求項7】
前記決定ユニットが、前記ユーザ端末がオーディオコンテンツのみのストリーミングデータを受信するための前記通信プロトコルを決定する、ことを特徴とする、請求項1に記載のデータ通信システム。
【請求項8】
前記決定ユニットが、前記ユーザ端末がビデオコンテンツのみのストリーミングデータを受信するための前記通信プロトコルを決定する、ことを特徴とする、請求項1に記載のデータ通信システム。
【請求項9】
前記決定ユニットが、前記ユーザ端末がオーディオコンテンツおよび(または)ビデオコンテンツを備えたストリーミングデータを送信するための前記通信プロトコルを決定する、ことを特徴とする、請求項1に記載のデータ通信システム。
【請求項10】
前記決定ユニットが、前記ユーザ端末がインタラクションデータを受信または送信するための前記通信プロトコルを決定する、ことを特徴とする、請求項1に記載のデータ通信システム。
【請求項11】
前記決定ユニットが、前記ユーザ端末がインタラクションデータを受信および送信するための前記通信プロトコルを決定する、ことを特徴とする、請求項1に記載のデータ通信システム。
【請求項12】
前記決定ユニットが、前記ユーザ端末が異なるユーザ端末から短時間内に連続してストリーミングデータを受信するための前記通信プロトコルを決定する、ことを特徴とする、請求項1に記載のデータ通信システム。
【請求項13】
前記決定ユニットが、前記ユーザ端末が異なるユーザ端末から同時にストリーミングデータを受信するための前記通信プロトコルを決定する、ことを特徴とする、請求項1に記載のデータ通信システム。
【請求項14】
フィードバック収集ユニットをさらに含み、前記フィードバック収集ユニットが、前記ユーザ端末からフィードバックを収集し、前記フィードバックを前記決定ユニットに送信するものであり、前記決定ユニットが、前記フィードバックに基づいて前記通信プロトコルを決定する、ことを特徴とする、請求項1に記載のデータ通信システム。
【請求項15】
前記決定ユニットが、インターネット品質に基づいて前記通信プロトコルを決定し、前記インターネット品質が、最初のレンダリング、ビデオ遅延、バッファリング率、またはバッファリング回数の指標によって評価される、ことを特徴とする、請求項1に記載のデータ通信システム。
【請求項16】
データ通信方法であって、
ユーザからの操作に基づいてユーザ端末により実行される
動作を
、前記ユーザ端末から受信する工程と、
前記
動作に
より要求される指標に基づいて、前記ユーザ端末への通信プロトコルを決定する工程と、
を含み、決定された前記通信プロトコルが前記ユーザ端末に通知され、前記ユーザ端末が前記通信プロトコルを介してリアルタイムデータを要求する、ことを特徴とする、データ通信方法。
【請求項17】
前記
動作がさらに、インタラクション
動作を含み、前記インタラクション
動作によって、インタラクションデータを送信および(または)受信、またはストリーミングデータを送信および(または)受信し、前記通信プロトコルが、前記インタラクション
動作に基づいて決定される、ことを特徴とする、請求項16に記載のデータ通信方法。
【請求項18】
前記
動作がさらに、非インタラクション
動作を含み、前記非インタラクション
動作によって、ストリーミングデータを送信することなく受信、またはストリーミングデータを受信することなく送信し、前記通信プロトコルが、前記非インタラクション
動作に基づいて決定される、ことを特徴とする、請求項16に記載のデータ通信方法。
【請求項19】
前記通信プロトコルが、前記ユーザ端末が異なるユーザ端末から短時間内に連続してストリーミングデータを受信するように決定される、ことを特徴とする、請求項16に記載のデータ通信方法。
【請求項20】
前記通信プロトコルが、前記ユーザ端末が異なるユーザ端末から同時にストリーミングデータを受信するように決定される、ことを特徴とする、請求項16に記載のデータ通信方法。
【請求項21】
前記指標は、最初のレンダリング、ビデオ遅延、バッファリング率、またはバッファリング回数である、請求項1に記載のデータ通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報通信技術に関し、特に、データ通信システム及びデータ通信方法に関するものである。
【背景技術】
【0002】
ユーザ同士のオンライン通信を可能にするための技術が知られている。ユーザがインターネット経由でデータを送信および受信するためには、通信プロトコルが必要である。通信技術の目覚ましい発展に伴い、ビデオ通話やライブストリーミングなどのリアルタイム通信に対する需要が高まっている。
【0003】
リアルタイム通信のための通信プロトコルは多数存在する。異なる通信プロトコルでは、メリットもデメリットもすべて異なる。低遅延でリアルタイムのやりとりに適した通信プロトコルもあれば、円滑なストリーミングを保証する通信プロトコルもある。
【0004】
異なるシナリオに応じて、異なる通信プロトコルが要求される。例えば、インタラクティブゲームなど、リアルタイムのインタラクションを所望するユーザには、低遅延の通信プロトコルが必要である。通信プロトコルが適切でないと、ユーザの不満の原因になる可能性がある。そのため、様々なシナリオに対応した適切な通信プロトコルで通信を行うことは、非常に重要な課題である。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の目的は、データ通信システム及びデータ通信方法を提供することにある。
【課題を解決するための手段】
【0006】
本発明の実施形態は、データ通信システムに関し、当該データ通信システムは、ユーザからの操作に基づいてユーザ端末によって実行される動作を、前記ユーザ端末から受信するように構成された受信ユニットと、当該受信ユニットに接続され、当該動作により要求される指標に基づき、当該ユーザ端末への通信プロトコルを決定するように構成された決定ユニットと、を含み、当該通信プロトコルが当該ユーザ端末に導かれ、当該ユーザ端末が当該通信プロトコルを介してリアルタイムデータを要求する。
【0007】
本発明の実施形態は、データ通信方法に関し、当該データ通信方法が、ユーザからの操作に基づいてユーザ端末によって実行された動作を、前記ユーザ端末から受信する工程と、当該動作により要求される指標に基づき、当該ユーザ端末への通信プロトコルを決定する工程を含み、当該通信プロトコルが当該ユーザ端末に導かれ、当該ユーザ端末が当該通信プロトコルを介してリアルタイムデータを要求する。
【発明の効果】
【0008】
本発明は当該ユーザ端末がシナリオに応じて異なる動作をする際に、異なる通信プロトコルに切り替える。したがって、ユーザがライブストリーミングを視聴する際の満足度を高め、ユーザエクスペリエンスを最適化することもできる。
【図面の簡単な説明】
【0009】
【
図1】本発明の一部の実施態様に基づく通信システム1の構成を示す概略図である。
【
図2】本発明の一部の実施態様に基づくデータ通信システム100のブロック図である。
【
図8】通信システム1とデータ通信システム100の
処理を示す例示的なシーケンス図である。
【発明を実施するための形態】
【0010】
図1に本発明の一部の実施態様に基づく通信システム1の構成を示す概略図を示す。当該通信システム1は、コンテンツを介したインタラクションを伴うライブストリーミングサービスを提供する。ここで言う「コンテンツ」とは、コンピュータ装置で再生可能なデジタルコンテンツを指す。つまり、通信システム1は、ユーザがオンラインで他のユーザとのリアルタイムのインタラクションを行うことを可能にする。当該通信システム1は、複数のユーザ端末10と、インタラクションサーバ30と、ストリーミングサーバ40を含む。当該ユーザ端末10、当該インタラクションサーバ30、及び当該ストリーミングサーバ40は、ネットワーク90、例えばインターネットを介して接続される。当該インタラクションサーバ30は、インタラクションのフィードバックを同期するためのサーバである。一部の実施態様において、当該インタラクションサーバ30は、アプリのバックエンドサーバとしてもよい。当該ストリーミングサーバ40は、ライブストリーミングを提供するためのサーバである。一部の実施態様において、当該ストリーミングサーバ40は、CDN(コンテンツデリバリネットワーク)プロバイダとしてもよい。一部の実施態様において、当該インタラクションサーバ30と当該ストリーミングサーバ40は、1つのサーバに統合してもよい。当該ユーザ端末10は、ライブストリーミングのためのクライアント装置である。一部の実施態様において、当該ユーザ端末10は、視聴者、ストリーマ(配信者)、ポッドキャスタ、観衆、リスナなどと呼ばれることがある。当該各ユーザ端末10、当該インタラクションサーバ30、及び当該ストリーミングサーバ40はそれぞれ情報処理装置の一例である。
【0011】
図2に本発明の一部の実施態様に基づくデータ通信システム100のブロック図を示す。当該データ通信システム100は、受信ユニット110と、決定ユニット120と、転送ユニット130を含む。当該受信ユニット110は、ユーザ端末10によって実行される
動作Aを受信するように構成される。一部の実施態様において、当該受信ユニット110は、ストレージ要素を含んでもよい。当該ストレージ要素は、当該ユーザ端末10から収集された当該
動作Aを保存するように構成される。当該決定ユニット120は、当該受信ユニット110に接続され、当該
動作Aに基づき、当該ユーザ端末10への通信プロトコルPを決定するように構成される。当該転送ユニット130は、当該決定ユニット120に接続され、当該通信プロトコルPを当該インタラクションサーバ30および(または)当該ストリーミングサーバ40に導くように構成される。一部の実施態様において、当該インタラクションサーバ30および(または)当該ストリーミングサーバ40は、当該
動作Aに基づき、当該ユーザ端末10に対して当該通信プロトコルPを介してリアルタイムデータを受信および(または)送信することができる。
【0012】
図2に示すように、当該ユーザ端末10は
動作Aを実行し、当該受信ユニット110が当該ユーザ端末10により実行された当該
動作Aを受信する。一部の実施態様において、当該
動作Aは、サーバからのおよび(または)サーバへのリアルタイムデータの受信および(または)送信を要求することを含んでもよい。その後、当該受信ユニット110は、当該
動作Aを当該決定ユニット120に送信し、当該決定ユニット120が当該
動作Aに基づき、当該ユーザ端末10への通信プロトコルPを決定する。続いて、当該転送ユニット130は当該決定ユニット120により決定された当該通信プロトコルPを受信し、当該通信プロトコルPを当該インタラクションサーバ30に導く。その後、当該インタラクションサーバ30は当該ユーザ端末10が当該ストリーミングデータを要求するための当該通信プロトコルPを当該ユーザ端末10に送信する。一部の実施態様において、当該データ通信システム100は、当該インタラクションサーバ30に統合してもよい。より具体的には、当該受信ユニット110、当該決定ユニット120、当該転送ユニット130を当該インタラクションサーバ30に統合することができる。当該インタラクションサーバ30は、当該ユーザ端末10により実行された当該
動作Aを保存するためのストレージを含んでもよい。一部の実施態様において、当該ストレージは、当該ユーザ端末10により実行された過去の
動作Aを保存するように構成してもよい。当該インタラクションサーバ30に初めてアクセスする当該ユーザ端末10に対して、当該決定ユニット120は、過去の
動作Aに基づき、当該ユーザ端末10への通信プロトコルPを決定することができる。当該インタラクションサーバ30に特定の時間に関与する当該ユーザ端末10に対して、当該決定ユニット120は、リアルタイムの
動作Aに基づき、当該ユーザ端末10への通信プロトコルPを決定することができる。
【0013】
当該動作Aとは、当該ユーザ端末10がアプリ内で実行する処理とすることができる。当該動作Aは、クリック、送信、交流、スワイプ、消音、ミュート、展開、最小化など、当該ユーザ端末10が実行し得る処理、およびそれらの組み合わせを含むことができる。一部の実施態様において、当該動作Aは、ボタンなどのグラフィカルオブジェクトをクリックすることによって、または音声入力などによって達成されてもよい。例えば、当該ユーザ端末10は、贈り物をクリックしてストリーマに贈り物を送信することができる。当該ユーザ端末10は、他のアプリや他のライブストリーミングを同時利用(マルチタスク)しながら、ライブ配信画面を最小化したり、 ピクチャーインピクチャー(PiP)モードでライブ配信ルームを表示したりすることができる。当該ユーザ端末10は、静かな場所でライブストリーミングを視聴しながら、そのライブ配信を消音またはミュートすることができる。当該ユーザ端末10は、ボタンをクリックしたり、視聴者またはストリーマと音声および(または)ビデオで通信したりすることができる。当該ユーザ端末10は、アプリ内で視聴者またはストリーマとインタラクティブゲームをプレイすることができる。
【0014】
リアルタイムデータ通信には、例えばHLS、RTP(WebRTC)、RTMP、RTSP、DASH、MirrorOPなど、多数の通信プロトコルがあり、各通信プロトコルPは、リアルタイムデータ通信に関してそれぞれメリットとデメリットを有する。本発明においては、HLS、RTC(WebRTC)、RTMPの当該通信プロトコルを例として論じる。表1に、当該通信プロトコルPの例と、それぞれのメリットおよびデメリットを参考として示す。
【0015】
【0016】
リアルタイムのインタラクションに関しては、ビデオ遅延が考慮すべき最も重要な指標の1つであり得る。ここで、「ビデオ遅延」という指標は、一方のユーザ端末からストリーミングデータが導かれ、他方のユーザ端末でストリーミングデータの最初のフレームがレンダリングされるまでの遅延の度合いを指すものとすることができる。WebRTCは遅延が0.5秒以下で、ほぼリアルタイムであるため、リアルタイムのインタラクションにはWebRTCが強く推奨される。同様に、RTMPの遅延は5~8秒であることが多いため、RTMPもリアルタイムのデータ通信に推奨される。しかし、HLSはWebRTCやRTMPに比べて相対的に遅延が大きいため、リアルタイムのインタラクションには推奨されない。
【0017】
ライブストリーミングの滑らかさに関しては、バッファリングの低さが考慮すべき重要な指標となり得る。「バッファリング」という指標は、さらに「バッファリング率」と「バッファリング数」に分類されることがある。「バッファリング率」とは、全視聴時間に対するバッファリング時間の比率を指す。「バッファリング回数」という指標は、バッファリングが発生した回数を指す。HLS(HTTPLive Streaming)とは、HTTPベースのアダプティブビットレートストリーミング通信プロトコルである。HLSは、各視聴者が利用可能なインターネット速度を測定し、それに応じて品質を変化させ、ストリーミングデータの滑らかさを確保するものである。したがって、ライブストリーミングの滑らかな配信にはHLSが推奨される。
【0018】
RTMPは、TCP(Transmission Control Protocol)をベースとした通信プロトコルであり、所定のシーケンスと順序でデータ通信を行い、配信を保証することができる。RTMPのメリットとしては、WebRTCやHLSと比較して、最初のレンダリングに要する時間が比較的短いことがあげられる。ここで、「最初のレンダリング」という指標は、「表示までの時間」とも呼ばれることがあり、ストリーミングデータを要求してから、そのストリーミングデータの最初のフレームがレンダリングされるまでの時間を指す。したがって、RTMPは当該動作Aが最初のレンダリングまでの時間が短いことを要求する場合に推奨される。
【0019】
一部の実施態様において、当該リアルタイムデータは、ストリーミングデータとインタラクションデータを含んでもよい。当該ストリーミングデータは、オーディオコンテンツおよび(または)ビデオコンテンツを指す。当該オーディオコンテンツとビデオコンテンツは、当該ユーザ端末10のマイクやカメラから収集されてもよい。当該インタラクションデータは、当該ユーザ端末10とのインタラクションを示すデータを指す。例えば、当該インタラクションデータは、当該ユーザ端末10が他のユーザ端末10と交流するために実行する処理を指してもよい。例えば、当該ユーザ端末10は、贈り物をクリックしてストリーマに贈り物を送信することができる。当該ユーザ端末10は、Enterボタンをクリックしてストリーマにメッセージを送信することができる。当該ユーザ端末10は、ゲームボタンをクリックしてストリーマとインタラクティブゲームをすることができる。
【0020】
図3から
図7は当該
動作Aの例示的な機能構成図である。
図3から
図7に、当該ユーザ端末10、当該インタラクションサーバ30、当該ストリーミングサーバ40が示されている。当該インタラクションサーバ30は、インタラクションデータの送信および受信を行い、当該ストリーミングサーバ40は、ストリーミングデータの送信および受信を行う。当該ユーザ端末10は、インタラクションユニット11と、デコーダー12と、ディスプレイ13と、ストリーミング入力14と、エンコーダー15を含む。当該インタラクションユニット11は、当該インタラクションサーバ30からインタラクションデータを受信および(または)当該インタラクションサーバ30へインタラクションデータを送信する。当該デコーダー12は、当該ストリーミングサーバ40からの当該ストリーミングデータをデコードし、当該ディスプレイ13が当該ストリーミングデータを表示する。当該ストリーミング入力14は、ユーザ端末10からストリーミングデータを収集する。当該エンコーダー15は、当該ストリーミング入力14から収集されたストリーミングデータをエンコードし、当該ストリーミングデータを当該ストリーミングサーバ40に送信する。一部の実施態様において、当該ストリーミング入力14は、当該ユーザ端末10からオーディオコンテンツとビデオコンテンツを収集するためのマイクやカメラとすることができる。
【0021】
一部の実施態様において、当該動作Aはさらに、インタラクション動作Aiと、非インタラクション動作Aniを含むことができる。当該決定ユニット120は、当該インタラクション動作Aiと当該非インタラクション動作Aniに基づき、当該ユーザ端末10への当該通信プロトコルPを決定することができる。
【0022】
一部の実施態様において、当該インタラクション動作Aiとは、インタラクションデータを送信および(または)受信する動作Aを指してもよい。例えば、当該ユーザ端末10において贈り物ボタンをクリックしてストリーマに贈り物を送る場合、当該ユーザ端末10は当該ストリーマにインタラクションデータを送信する。この場合、贈り物を送るための当該動作Aは、インタラクション動作Aiと呼ぶことができる。当該ユーザ端末10においてゲームボタンをクリックして、当該ストリーマとインタラクティブゲーム(モンスターを一緒に射撃するなど)をする場合、当該ユーザ端末10は当該ストリーマにインタラクションデータを送信し、当該ストリーマからインタラクションデータを受信する。この場合、インタラクティブゲームをする当該動作Aは、インタラクション動作Aiと呼ぶことができる。
【0023】
一部の実施態様において、当該インタラクション動作Aiは、ストリーミングデータを送信および受信する動作を指すこともできる。例えば、視聴者が音声通話ボタンまたはビデオ通話ボタンをクリックして、ストリーマを音声チャットまたはビデオチャットに招待することができる。この場合、当該ストリーマを音声チャットまたはビデオチャットに招待する当該動作Aは、インタラクション動作Aiと呼ぶことができる。
【0024】
当該非インタラクション動作Aniとは、ストリーミングデータを送信することなく受信する、またはストリーミングデータを受信することなく送信する動作Aを指してもよい。例えば、当該ユーザ端末10が何もせずにストリーマを視聴する場合、当該ユーザ端末10はストリーミングデータまたはインタラクションデータを当該ストリーマに送信することなく、当該ストリーマからストリーミングデータを受信する。この場合、当該ストリーマを視聴する当該動作Aは、非インタラクション動作Aniと呼ぶことができる。当該ユーザ端末10が他のユーザ端末10と交流することなく、ライブブロードキャストを行う場合、当該ユーザ端末10はいかなるストリーミングデータまたはインタラクションデータも受信することなく、ストリーミングデータを送信する。この場合、ライブブロードキャストを行う当該動作Aは、非インタラクション動作Aniと呼ぶことができる。
【0025】
図3に、当該非インタラクション
動作Aniの例示的な機能構成図を示す。一部の実施態様において、当該ユーザ端末10は、視聴者、リスナ、観衆などと呼ばれることがある。当該ユーザ端末10は、当該ストリーミングサーバ40からのストリーミングデータの受信を要求する。当該ストリーミングデータは、ストリーマからのオーディオコンテンツとビデオコンテンツを含むことができる。
図3に示すように、当該ユーザ端末10は当該ストリーミングサーバ40からストリーミングデータを受信し、当該デコーダー12が当該ストリーミングデータをデコードして、当該ストリーミングデータをディスプレイ13に表示する。
【0026】
当該動作Aに基づき、当該ユーザ端末10はストリーミングデータの受信を要求し、それにより当該ユーザ端末10がストリーマを視聴したいことを示す。従って、当該動作Aは、非インタラクション動作Aniと呼ぶことができる。当該非インタラクション動作Aniへの応答では、当該ストリーミングデータのバッファリングと最初のレンダリングがユーザ満足度を満たすための第一優先事項となる。従って、当該決定ユニット120は、当該動作Aに基づく当該ユーザ端末10への当該通信プロトコルPをHLSまたはRTMPに決定することができる。一部の実施態様において、当該ユーザ端末10がストリーマをクリックし、ストリーミングルームに入るとき、最初のレンダリングが短いことが好ましい。従って、当該通信プロトコルPはRTMPが推奨される。一部の実施態様において、当該ストリーミングルームに入った後は、低バッファリングが好ましい。従って、当該通信プロトコルPはHLSが推奨される。
【0027】
一部の実施態様において、当該決定ユニット120はさらに、当該ユーザ端末10のインターネット品質に基づき、当該ユーザ端末10に向けて当該通信プロトコルPを決定する。例えば、当該ユーザ端末10のインターネット品質が良好な場合、当該通信プロトコルPはRTMPが推奨される。一方で、当該ユーザ端末10のインターネット品質が劣悪な場合、当該通信プロトコルPはHLSが推奨される。一部の実施態様において、当該インターネット品質の良し悪しは、遅延、バッファリング、最初のレンダリング等の指標に基づき評価される。例えば、バッファリングが高い場合、当該ユーザ端末のインターネット品質が劣悪であることを示す。一方で、バッファリングが低い場合、当該ユーザ端末のインターネット品質が良好であることを示す。当該決定ユニット120はさらに、当該ユーザ端末10のインターネット品質に基づき、当該通信プロトコルPを決定することができる。
【0028】
一部の実施態様において、当該ストリーミングデータはオーディオコンテンツのみとしてもよい。当該決定ユニット120は、オーディオコンテンツのみの当該ストリーミングデータを受信する当該ユーザ端末10への当該通信プロトコルPを決定することができる。例えば、当該ユーザ端末10は、ライブ配信を最小化してストリーマの音声のみを聴くことができ、あるいは当該ユーザ端末10はポッドキャスタをクリックしてライブポッドキャストを聴くこともできる。オーディオコンテンツのみのストリーミングデータをプルする当該動作Aに応答して、当該通信プロトコルPは、例えばRTMPが推奨される。このため、当該決定ユニット120はRTMPを当該ユーザ端末10への当該通信プロトコルPに決定する。RTMPの当該通信プロトコルPは、オーディオコンテンツのみでストリーミングデータをプルしてネットワークトラフィックを低下させ、オーディオコンテンツを滑らかに再生することができる。
【0029】
一部の実施態様において、当該ストリーミングデータはビデオコンテンツのみとしてもよい。当該決定ユニット120は、ビデオコンテンツのみの当該ストリーミングデータを受信する当該ユーザ端末10への当該通信プロトコルPを決定することができる。例えば、当該ユーザ端末10は、当該ユーザ端末10が図書館などの静かな場所にあるとき、ライブ配信を消音またはミュートして、ストリーマのビデオのみを見ることができる。ビデオコンテンツのみのストリーミングデータをプルする当該動作Aに応答して、当該通信プロトコルPはRTMPとHLSが推奨される。このため、当該決定ユニット120はRTMPまたはHLSなどを当該ユーザ端末10への当該通信プロトコルPに決定する。
【0030】
一部の実施態様において、当該ユーザ端末10は、異なるユーザ端末10から短時間に連続的にストリーミングデータを受信する動作Aを実行することができる。ここで、「短時間」とは、当該ユーザ端末10が最初のストリーマからストリーミングデータを受信し、当該最初のストリーマからの当該ストリーミングデータが視聴用のディスプレイ上にレンダリングされると、第2のストリーマから別のストリーミングデータを受信するまでの時間を指す。当該決定ユニット120は、当該動作Aに基づき当該通信プロトコルPを決定することができる。例えば、当該ユーザ端末10は、ライブストリーミングルームをスワイプして、当該ユーザ端末10が関心を持つストリーマがいないかすばやくチェックすることができる。つまり、当該ユーザ端末10は、異なるユーザ端末10からのストリーミングデータの受信を、例えば各要求につき1~3秒というように、 迅速に要求する。この場合、異なるストリーマをできるだけ早くチェックするためには、映像の最初のレンダリングまでの時間の長さが短いほうが良いことになる。当該動作Aへの応答において、当該通信プロトコルPは、RTMPを推奨することができる。このため、当該決定ユニット120はRTMPを当該ユーザ端末10への当該通信プロトコルPに決定することができる。
【0031】
一部の実施態様において、当該ユーザ端末10は、異なるストリーマから同時にストリーミングデータを受信する動作Aを実行することができる。当該決定ユニット120は、当該動作Aに基づき、各ストリーマからの各ストリーミングデータについて、ユーザ端末10への異なる通信プロトコルPを決定することができる。例えば、当該ユーザ端末10は、異なるストリーマを異なるウィンドウで同時に視聴することができる。つまり、当該ユーザ端末10は、異なるユーザ端末10からストリーミングデータを同時に受信するように要求する。この場合、各ストリーミングデータが異なる通信プロトコルPを推奨する。例えば、当該ユーザ端末10はたくさんのストリーマを同時に視聴することができる。当該ユーザ端末10は、他の配信を交流なしでブロードキャストしておきながら、お気に入りのストリーマと交流する。この場合、お気に入りのストリーマとのリアルタイムでの交流を最優先とし、それ以外のストリーマのストリーミングは、映像の滑らかさを重視することを推奨することができる。従って、当該ユーザ端末10がストリーマと交流するための当該通信プロトコルPには、WebRTCを推奨することができる。残りのライブストリーミングを滑らかにブロードキャストするための当該通信プロトコルPには、低解像度ストリーミングデータのHLSが推奨される。
【0032】
図4に、当該非インタラクション
動作Aniの別の例示的な機能構成図を示す。一部の実施態様において、当該ユーザ端末10は、ストリーマ、ポッドキャスタなどと呼ぶことができる。当該ユーザ端末10は、ストリーミングデータを当該ストリーミングサーバ40に送信することを要求する。当該ストリーミングデータは、当該ユーザ端末10からのオーディオコンテンツとビデオコンテンツを含むことができる。
図4に示すように、当該ユーザ端末10は、マイクやカメラなどの当該ストリーミング入力14からストリーミングデータを収集し、当該エンコーダー15が当該ストリーミングデータをエンコードして当該ストリーミングデータを当該ストリーミングサーバ40に送信する。
【0033】
一部の実施態様において、当該ストリーミングデータは、オーディオコンテンツおよび(または)ビデオコンテンツを含んでもよい。当該決定ユニット120は、オーディオコンテンツおよび(または)ビデオコンテンツを備えたストリーミングデータを送信するための当該ユーザ端末10への当該通信プロトコルPを決定することができる。例えば、当該ストリーマはビデオ、ショートビデオ、ライブ配信、ポッドキャスティングなどを送信することができる。上述の当該動作Aに応答して、当該決定ユニット120は、当該ユーザ端末10への通信プロトコルPを決定することができる。
【0034】
図5に、当該インタラクション
動作Aiの例示的な機能構成図を示す。一部の実施態様において、当該ユーザ端末10は、視聴者、ストリーマ、観衆、リスナ、ポッドキャスタなどと呼ばれることがある。当該ユーザ端末10は、ストリーミングデータを当該ストリーミングサーバ40に送信することと、ストリーミングデータを当該ストリーミングサーバ40から受信することを要求する。
図5に示すように、当該ユーザ端末10は当該ストリーミングサーバ40からストリーミングデータを受信し、当該デコーダー12が当該ストリーミングデータをデコードして、当該ストリーミングデータをディスプレイ13に表示する。同時に、当該ユーザ端末10が当該ストリーミング入力14からのストリーミングデータを収集し、当該エンコーダー15が当該ストリーミングデータをエンコードして、当該ストリーミングデータを当該ストリーミングサーバ40に送信する。同様に、当該ストリーミングデータは、オーディオコンテンツおよび(または)ビデオコンテンツを含むことができる。例えば、視聴者が音声通話ボタンまたはビデオ通話ボタンをクリックして、ストリーマを音声チャットまたはビデオチャットに招待することができる。当該ストリーマはボタンをクリックして音声チャットまたはビデオチャットを受け入れることができる。音声チャットまたはビデオチャットの招待または受け入れの当該
動作Aは、インタラクション
動作Aiと呼ぶことができる。従って、当該通信プロトコルPは、例えば、WebRTCが推奨される。
【0035】
図6に、当該インタラクション
動作Aiの別の例示的な機能構成図を示す。一部の実施態様において、当該ユーザ端末10は、視聴者、ストリーマ、観衆、リスナ、ポッドキャスタなどと呼ばれることもある。当該ユーザ端末10は、当該ストリーミングサーバ40からストリーミングデータを受信し、当該インタラクションサーバ30にインタラクションデータを送信することを要求する。
図6に示すように、当該ユーザ端末10は当該ストリーミングサーバ40からストリーミングデータを受信し、当該デコーダー12が当該ストリーミングデータをデコードして、当該ストリーミングデータをディスプレイ13に表示する。同時に、当該ユーザ端末10は当該インタラクションサーバ30にインタラクションデータを送信する。例えば、視聴者はストリーマやポッドキャスタを見ながら、または聴きながら、贈り物ボタンをクリックして当該ストリーマに贈り物を送信することができる。インタラクションデータをトリガーとして、ストリーマの画面に動態ステッカーを表示し、当該ストリーマが当該ユーザ端末10からのイ当該ンタラクションデータに応答して音声やジェスチャーで感謝の気持ちを表現してもよい。従って、当該通信プロトコルPは、例えば、WebRTCが推奨される。
【0036】
図7に、当該インタラクション
動作Aiの別の例示的な機能構成図を示す。一部の実施態様において、当該ユーザ端末10は、視聴者、ストリーマ、観衆、リスナ、ポッドキャスタなどと呼ばれることもある。当該ユーザ端末10は、インタラクションデータを当該インタラクションサーバに送信することと、インタラクションデータを当該インタラクションサーバ30から受信することを要求する。一部の実施態様において、当該ユーザ端末10はさらに、ストリーミングデータを当該ストリーミングサーバ40に送信し、ストリーミングデータを当該ストリーミングサーバ40から受信することができる。
図7に示すように、当該ユーザ端末10は、当該インタラクションサーバ30との間でインタラクションデータを同時に送信および受信する。当該ユーザ端末10はさらに、当該ストリーミングサーバ40との間でストリーミングデータを同時に受信および(または)送信することができる。例えば、視聴者はインタラクションボタンをクリックしてストリーマとインタラクティブゲームをすることができる。従って、当該通信プロトコルPは、例えば、WebRTCが推奨される。
【0037】
図8に通信システム1とデータ通信システム100の
処理を示す例示的なシーケンス図を示す。工程S101において、ストリーマなどの当該ユーザ端末10’による指示に応答して、当該ユーザ端末10’(図示しない)内のクライアントアプリケーションアプリが、当該ストリーミングサーバ40にライブストリーミングデータをアップロードする。ここで、当該ライブ配信は、マイクおよび(または)カメラから収集されたストリーミングデータを含む。多くの場合、当該ストリーミングデータは、当該ストリーマのオーディオコンテンツとビデオコンテンツを含む。
【0038】
工程S102において、当該ユーザ端末10内のクライアントアプリケーションアプリがアプリ内またはプラットフォーム内で動作Aを実行する。一部の実施態様において、当該動作Aは、アプリにログインしてライブストリーミングを視聴するためにストリーマをクリックする動作とすることができる。工程S103において、当該ユーザ端末10が、当該動作Aに応答して、当該インタラクションサーバ30にライブストリーミングデータ情報の要求を送信する。工程S104において、当該受信ユニット110が、当該ユーザ端末10により実行された当該動作Aを受信する。一部の実施態様において、当該受信ユニット110はストレージ要素に当該動作Aを保存する。工程S105において、当該受信ユニット110は当該ユーザ端末10により実行された当該動作Aを当該決定ユニット120に送信する。工程S106において、当該決定ユニット120は、当該動作Aに基づき、当該ユーザ端末10への通信プロトコルPを決定する。工程S107において、当該決定ユニット120は、当該インタラクションサーバ30に当該通信プロトコルPを送信する。工程S108において、当該インタラクションサーバ30は当該ユーザ端末10に当該通信プロトコルPを送信する。工程S109において、当該ユーザ端末10は、当該通信プロトコルPを介して、ストリーミングデータを要求する。工程S110において、当該ストリーミングサーバ40は、当該ユーザ端末10からの当該要求に応答し、当該通信プロトコルPを介して当該ストリーミングデータを送信する。
【0039】
一部の実施態様において、当該受信ユニット110、当該決定ユニット120、当該転送ユニット130は、1つのサーバに統合されてもよい。一部の実施態様において、当該受信ユニット110、当該決定ユニット120、当該転送ユニット130を当該インタラクションサーバ30に統合することができる。一部の実施態様において、当該受信ユニット110と当該転送ユニット130は、当該インタラクションサーバ30の受信手段と送信手段で置換されてもよい。
【0040】
一部の実施態様において、当該ユーザ端末10が工程S102において実行する当該動作Aは、インタラクション動作Aiとすることができる。より具体的に、工程S102において、当該ユーザ端末10は、動作Aを実行することができる。例えば、当該動作Aは、ストリーマを視聴し、贈り物ボタンをクリックして当該ストリーマに贈り物を送ることを含むことができる。工程S103において、当該ユーザ端末10が、当該動作Aに応答して、当該インタラクションサーバ30にインタラクションデータを送信することと、当該ストリーミングサーバ40からストリーミングデータを受信することを要求する。工程S104において、当該受信ユニット110が、当該ユーザ端末10により実行された当該動作Aを受信する。工程S105において、当該受信ユニット110は当該ユーザ端末10により実行された当該動作Aを当該決定ユニット120に送信する。工程S106において、当該決定ユニット120は、当該動作Aに基づき、当該ユーザ端末10への通信プロトコルPを決定する。より具体的に、当該ユーザ端末10は、当該動作Aに基づき、インタラクションデータの送信とストリーミングデータの受信を要求し、それにより当該ユーザ端末10が当該ストリーマを視聴し、贈り物を送ることにより当該ストリーマと交流したいことを示す。従って、当該動作Aは、インタラクション動作Aiと呼ぶことができる。当該インタラクション動作Aiへの応答では、リアルタイムのインタラクションがユーザ満足度を満たすための第一優先事項となる。従って、当該決定ユニット120は、当該動作Aに基づく当該ユーザ端末10への当該通信プロトコルPをWebRTCまたはRTMPに決定する。
【0041】
一部の実施態様において、当該動作Aは、ストリーマを視聴し、インタラクションゲームボタンをクリックして当該ストリーマとインタラクティブゲームをすることを含むことができる。工程S103において、当該ユーザ端末10が、当該動作Aに応答して、当該インタラクションサーバ30にインタラクションデータを送信することと、当該インタラクションサーバ30からインタラクションデータを受信することを要求する。工程S106において、当該決定ユニット120は、当該動作Aに基づき、当該ユーザ端末10への通信プロトコルPを決定する。当該動作Aに基づき、当該ユーザ端末10はインタラクションデータの送信および受信を要求し、それにより当該ユーザ端末10がインタラクティブゲーム(モンスターを一緒に射撃するなど)をプレイすることで当該ストリーマと交流したいことを示す。従って、当該動作Aは、インタラクション動作Aiと呼ぶことができる。当該動作Aへの応答では、リアルタイムのインタラクション、特に低遅延であることがユーザ満足度を満たすための第一優先事項となる。このため、当該決定ユニット120はWebRTCなどを当該ユーザ端末10への当該通信プロトコルPに決定する。
【0042】
一部の実施態様において、当該決定ユニットはさらに予測要素を含むことができる。当該予測要素は、当該動作Aに基づき、後続の動作Aを予測するように構成される。当該予測要素は、当該動作Aを分析して関連動作を特定し、当該関連動作に基づいて当該後続の動作Aを予測する。例えば、当該ユーザ端末10が入力ボックスをクリックすると、それは当該ユーザ端末10がストリーマとチャットを開始したいことを示唆する。当該ユーザ端末10が贈り物ボックスをクリックすると、ユーザ端末10がストリーマに贈り物を送ろうとしていると予測することができる。一部の実施態様において、当該予測要素はさらに、当該ユーザ端末10が残したメッセージを分析し、当該メッセージに基づいて当該後続の動作Aを予測することができる。当該ユーザ端末10が残すメッセージには、テキスト、音声、絵文字などが含まれてもよい。例えば、当該ユーザ端末10がテキストを入力し、ストリーマにインタラクティブゲームをするかを尋ねることができ、これにより当該ユーザ端末10が当該ストリーマとインタラクティブゲームをすることを予測することができる。当該ユーザ端末10からのインタラクティブゲームの要求に応答し、当該ストリーマが例えばマイクを介した音声メッセージでOKと応答した場合、これは当該ユーザ端末10と当該ストリーマがインタラクティブゲームをすることを示唆することができる。このため、当該予測要素は、当該ユーザ端末10が残したメッセージと当該ストリーマが話した音声メッセージを分析して、当該ユーザ端末10が当該ストリーマとインタラクティブゲームをすることを予測することができる。一部の実施態様において、当該決定ユニット120はさらに、当該後続の動作Aに基づいて、当該通信プロトコルPを決定することができる。
【0043】
一部の実施態様において、当該予測要素は当該ユーザ端末10から複数の履歴データを収集することができる。当該履歴データは、当該ユーザ端末10からの過去の動作Aと過去の後続の動作Aを含むことができる。当該予測要素は、当該過去の動作Aと過去の後続の動作Aに基づき、当該後続の動作Aを予測することができる。例えば、当該ユーザ端末10は、ストリーマのライブ配信に入った後、特定のストリーマとビデオ・音声チャットを行うことが習慣となっているため、当該ユーザ端末10が当該ストリーマのルームに入ると、当該ストリーマとビデオ・音声チャットを行う可能性があると予測することができる。
【0044】
一部の実施態様において、当該受信ユニット110はさらに、当該ユーザ端末10から利用可能な通信プロトコルを受信する。当該利用可能な通信プロトコルとは、当該ユーザ端末10と当該サーバ30/40に相互に適用可能な当該通信プロトコルPを指す。一部の実施態様において、当該決定ユニット120は、当該利用可能な通信プロトコルから当該通信プロトコルPを選択することができ、さらに当該動作Aに基づいて、当該通信プロトコルPを決定する。
【0045】
一部の実施態様において、当該データ通信システム100は、さらにフィードバック収集ユニットを含むことができる。当該フィードバック収集ユニットは、当該ユーザ端末10からフィードバックを収集し、当該フィードバックを当該決定ユニット120に送信するように構成される。一部の実施態様において、当該決定ユニット120は、当該フィードバックに基づいて、当該通信プロトコルPを決定する。例えば、当該ユーザ端末10は、リアルタイムデータ通信に対してフィードバックを有することがある。当該フィードバックは、通信に対する満足感または不満であり得る。当該決定ユニット120は、当該フィードバックを参考として取り入れ、当該通信プロトコルPを決定することができる。
【0046】
一部の実施態様において、当該受信ユニット110は、当該ユーザ端末10のインターネット品質を受信することができる。当該決定ユニット120は、当該インターネット品質に基づいて、当該ユーザ端末10への通信プロトコルPを決定することができる。当該インターネット品質は、最初のレンダリング(表示までの時間)、ビデオ遅延、バッファリング率、またはバッファリング回数などの指標に基づいて評価されてもよい。
【0047】
一部の実施態様において、当該決定ユニット120は、これら4つの指標を評価して、当該4つの指標に基づき、当該通信プロトコルPを決定することができる。より具体的に、当該決定ユニット120は、当該ユーザ端末10のインターネット品質に基づき、ビデオ遅延などいずれかの指標を分析し、どの通信プロトコルPのビデオ遅延が最短かをチェックして、当該ユーザ端末10へのビデオ遅延が最短の当該通信プロトコルPを決定する。例えば、当該ユーザ端末10が当該インタラクションサーバ30に要求を送信した場合、当該受信ユニット110は当該ユーザ端末10のインターネット品質を受信することができる。当該決定ユニット120は、各通信プロトコルPを介して通信している間にバッファリングを評価し、当該ユーザ端末10へのバッファリングが最低の当該通信プロトコルPを決定することができる。
【0048】
一部の実施態様において、当該ユーザ端末10は、異なるストリーミングサーバ40との間でリアルタイムデータを受信および送信することができる。当該決定ユニット120は、インターネット品質に基づき、当該ユーザ端末10へのストリーミングサーバ40を決定することができる。一部の実施態様において、当該ストリーミングサーバ40は、CDN(Content Delivery Network)プロバイダとしてもよい。
図8に示すように、当該決定ユニット120はさらに、工程S106における当該インターネット品質に基づいて、当該ユーザ端末10へのストリーミングサーバ40を決定することができる。より具体的に、当該決定ユニット120は、異なるストリーミングサーバ40を介して当該ユーザ端末10のインターネット品質を評価することができる。例えば、当該決定ユニット120は、当該ユーザ端末10が異なるストリーミングサーバ40と通信する間、当該ストリーミングデータのバッファリングを評価し、当該ユーザ端末10へのバッファリングが最短のストリーミングサーバ40を決定する。工程S108において、当該インタラクションサーバ30は、当該ストリーミングサーバ40の情報を当該ユーザ端末10に送信する。一部の実施態様において、当該ストリーミングサーバ40の当該情報は、当該ストリーミングサーバ40のURLとすることができる。工程S109において、当該ユーザ端末10は、当該ストリーミングサーバ40を介してストリーミングデータを要求する。工程S110において、当該ストリーミングサーバ40は、当該ユーザ端末10からの要求に応答して、当該ストリーミングデータを送信する。従って、当該データ通信システム100では、当該ユーザ端末10が適したストリーミングサーバ40にアクセスし、ユーザエクスペリエンスを向上する。
【0049】
一部の実施態様において、当該受信ユニット110はさらに、当該ユーザ端末10から履歴データを受信することができる。当該履歴データはさらに、当該ユーザ端末10の過去のインターネット品質、地理的位置情報および時間情報を含むことができる。当該決定ユニット120は、当該履歴データを評価して、当該ユーザ端末10への当該ストリーミングサーバ40を事前に決定することができる。例えば、当該履歴データに基づき、特定の時間に特定の場所にいるユーザが、特定のストリーミングサーバ40を介して最短のビデオ遅延を有することが示される場合、当該決定ユニット120は、当該特定の時間に当該特定の場所にいるユーザへの当該ストリーミングサーバ40を事前に決定することができる。
【0050】
さらに、上記実施態様で説明したシステムまたは方法は、固体記憶装置、光ディスク記憶装置、磁気ディスク記憶装置などの非一時的なコンピュータ可読ストレージ装置で提供されてもよい。あるいは、プログラムは、インターネットを介してサーバからダウンロードされるものとしてもよい。
【0051】
以上、本発明の技術的内容及び特徴を説明したが、本発明の属する技術分野において通常の知識を有する者であれば、本発明の教示及び開示から逸脱することなく、なお多くの変形及び修正を行うことができる。したがって、本発明の範囲は、既に開示された実施態様に限定されず、本発明から逸脱しない別の変形や修正を含み、後付の特許請求の範囲に含まれる範囲である。
【符号の説明】
【0052】
1 通信システム
10 ユーザ端末
11 インタラクションユニット
12 デコーダー
13 ディスプレイ
14 ストリーミング入力
15 エンコーダー
30 インタラクションサーバ
40 ストリーミングサーバ
100 データ通信システム
110 受信ユニット
120 決定ユニット
130 転送ユニット
P 通信プロトコル
A 動作
Ai インタラクション動作
Ani 非インタラクション動作