IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 17LIVE株式会社の特許一覧

特表2023-547287ストリーミングをレンダリングするためのシステム、方法、及びコンピュータ可読媒体
<>
  • 特表-ストリーミングをレンダリングするためのシステム、方法、及びコンピュータ可読媒体 図1
  • 特表-ストリーミングをレンダリングするためのシステム、方法、及びコンピュータ可読媒体 図2
  • 特表-ストリーミングをレンダリングするためのシステム、方法、及びコンピュータ可読媒体 図3
  • 特表-ストリーミングをレンダリングするためのシステム、方法、及びコンピュータ可読媒体 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-10
(54)【発明の名称】ストリーミングをレンダリングするためのシステム、方法、及びコンピュータ可読媒体
(51)【国際特許分類】
   H04N 21/431 20110101AFI20231102BHJP
   H04N 21/442 20110101ALI20231102BHJP
   H04L 67/131 20220101ALI20231102BHJP
   G06T 19/00 20110101ALI20231102BHJP
【FI】
H04N21/431
H04N21/442
H04L67/131
G06T19/00 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022516347
(86)(22)【出願日】2021-09-30
(85)【翻訳文提出日】2022-03-14
(86)【国際出願番号】 US2021052775
(87)【国際公開番号】W WO2023055363
(87)【国際公開日】2023-04-06
(81)【指定国・地域】
(71)【出願人】
【識別番号】517287224
【氏名又は名称】17LIVE株式会社
(74)【代理人】
【識別番号】100126572
【弁理士】
【氏名又は名称】村越 智史
(72)【発明者】
【氏名】シュー,ヤン チ
(72)【発明者】
【氏名】シュー,チョン チアン
(72)【発明者】
【氏名】ウー,シャオ ユアン
(72)【発明者】
【氏名】チェン,ミン-チュ
【テーマコード(参考)】
5B050
5C164
【Fターム(参考)】
5B050AA10
5B050BA08
5B050CA08
5B050EA27
5B050FA02
5C164FA06
5C164UB41P
5C164UB81P
5C164YA21
(57)【要約】
【課題】ストリーミングをレンダリングするためのシステム、方法、及びコンピュータ可読媒体の提供。
【解決手段】本発明はユーザ端末でストリーミングをレンダリングするためのシステム、方法、及びコンピュータ可読媒体に関するものであり、当該方法は、ストリーミングを第1のモードでレンダリングする工程と、当該ユーザ端末の環境パラメータを受信する工程と、当該ユーザ端末がストリーミングを閉じるタイミングを受信する工程と、当該ユーザ端末がストリーミングを閉じる当該タイミングに基づいて、当該環境パラメータの閾値を決定する工程と、当該ユーザ端末の更新された環境パラメータを受信する工程と、当該更新された環境パラメータが閾値に達した場合、当該ストリーミングを第2のモードでレンダリングする工程と、を含み、当該第2のモードは、当該第1のモードよりも少ないデータオブジェクトを含むか、または、レンダリングに当該第1のモードにおけるデータオブジェクトのダウングレードバージョンを含む。本発明は、レンダリングモードをユーザごとにカスタマイズし、ユーザごとのストリーミング視聴の満足度を最大化することができる。
【選択図】図3
【特許請求の範囲】
【請求項1】
ユーザ端末上でストリーミングをレンダリングする方法であって、
前記ストリーミングを第1のモードでレンダリングする工程と、
前記ユーザ端末の環境パラメータを受信する工程と、
前記ユーザ端末が前記ストリーミングを閉じるタイミングを受信する工程と、
前記ユーザ端末が前記ストリーミングを閉じるタイミングに基づいて前記環境パラメータの閾値を決定する工程と、
前記ユーザ端末の更新された環境パラメータを受信する工程と、
前記更新された環境パラメータが前記閾値に達した場合、前記ストリーミングを第2のモードでレンダリングする工程と、
を含み、前記第2のモードが、レンダリングに前記第1のモードよりも少ないデータオブジェクトを含むか、または、前記第1のモードにおけるデータオブジェクトのダウングレードバージョンを含む、ことを特徴とする、ストリーミングをレンダリングする方法。
【請求項2】
前記環境パラメータの前記閾値が、前記ユーザ端末が前記ストリーミングを閉じるタイミングの前記環境パラメータの値からの所定のオフセットにより決定される、ことを特徴とする、請求項1に記載のストリーミングをレンダリングする方法。
【請求項3】
前記環境パラメータが、前記ユーザ端末のCPU使用率、または前記ユーザ端末のメモリ使用率である、ことを特徴とする、請求項2に記載のストリーミングをレンダリングする方法。
【請求項4】
前記環境パラメータが、前記ユーザ端末が前記ストリーミングを閉じるタイミングより前の特定の期間内における、前記第1のモードでの前記ストリーミングのレンダリング中におけるフリーズまたはラグの発生回数である、ことを特徴とする、請求項2に記載のストリーミングをレンダリングする方法。
【請求項5】
前記環境パラメータが、前記第1のモードでストリーミングがレンダリングされるFPS(フレーム毎秒)数が指定された値を下回る時間の長さである、ことを特徴とする、請求項2に記載のストリーミングをレンダリングする方法。
【請求項6】
前記環境パラメータが、API応答時間、TCP接続時間、DNSルックアップ時間、SSLハンドシェイク時間、またはダウンストリーム帯域幅を含む品質要素によって決定されるネットワーク品質パラメータである、ことを特徴とする、請求項2に記載のストリーミングをレンダリングする方法。
【請求項7】
前記データオブジェクトが、贈り物、特殊効果、ゲーム機能、アバター、アニメーション、または別のユーザからのビデオデータを含むことを特徴とする、請求項1に記載のストリーミングをレンダリングする方法。
【請求項8】
前記データオブジェクトが、贈り物、特殊効果、ゲーム機能、アバター、またはアニメーションを含み、前記第2のモードが前記第1のモードより、レンダリングにより少ないデータオブジェクトを含む、ことを特徴とする、請求項3乃至5のいずれかに記載のストリーミングをレンダリングする方法。
【請求項9】
前記データオブジェクトが別のユーザからのビデオデータを含み、前記第2のモードが、レンダリングに別のユーザからの前記ビデオデータのダウングレードバージョンを含むことを特徴とする、請求項6に記載のストリーミングをレンダリングする方法。
【請求項10】
各品質要素のスコアが当該品質要素のパフォーマンスグレードに基づいて定義され、前記ネットワーク品質パラメータの値が、当該品質要素の前記スコアの平均となるように決定される、ことを特徴とする、請求項6に記載のストリーミングをレンダリングする方法。
【請求項11】
前記環境パラメータの閾値を決定する工程が、
前記環境パラメータに安全領域を定義する工程と、
前記ユーザ端末が前記ストリーミングを閉じるタイミングで、前記環境パラメータが前記安全領域内にあるか否かを判断する工程と、
前記ユーザ端末が前記ストリーミングを閉じるタイミングで、前記環境パラメータが前記安全領域内にある場合、前記閾値をそのまま維持する工程と、
前記ユーザ端末が前記ストリーミングを閉じるタイミングで、前記環境パラメータが前記安全領域外にある場合、前記閾値を厳格化する工程と、
を含むことを特徴とする、請求項1に記載のストリーミングをレンダリングする方法。
【請求項12】
さらに、
学習期間中に、前記ユーザ端末の複数の環境パラメータを受信する工程と、
前記学習期間中に、前記ユーザ端末が前記ストリーミングを閉じたときの複数のタイミングを受信する工程と、
前記ユーザ端末が前記ストリーミングを閉じる行動と各環境パラメータ間の相関性を計算する工程と、
前記ユーザ端末が前記ストリーミングを閉じる行動に関して最も相関性が高い環境パラメータの閾値を決定してから、残りの環境パラメータの閾値を決定する工程と、
を含むことを特徴とする、請求項1に記載のストリーミングをレンダリングする方法。
【請求項13】
ユーザ端末上でストリーミングをレンダリングするためのシステムであって、1つまたは複数のプロセッサを含み、前記1つまたは複数のプロセッサが、機械可読命令を実行して、
前記ストリーミングを第1のモードでレンダリングする工程と、
前記ユーザ端末の環境パラメータを受信する工程と、
前記ユーザ端末が前記ストリーミングを閉じるタイミングを受信する工程と、
前記ユーザ端末が前記ストリーミングを閉じるタイミングに基づいて前記環境パラメータの閾値を決定する工程と、
前記ユーザ端末の更新された環境パラメータを受信する工程と、
前記更新された環境パラメータが前記閾値に達した場合、前記ストリーミングを第2のモードでレンダリングする工程と、
を実行させ、前記第2のモードが、レンダリングに前記第1のモードよりも少ないデータオブジェクトを含むか、または、前記第1のモードにおけるデータオブジェクトのダウングレードバージョンを含む、ことを特徴とする、ストリーミングをレンダリングするためのシステム。
【請求項14】
前記環境パラメータの前記閾値が、前記ユーザ端末が前記ストリーミングを閉じるタイミングの前記環境パラメータの値からの所定のオフセットにより決定される、ことを特徴とする、請求項13に記載のストリーミングをレンダリングするためのシステム。
【請求項15】
前記環境パラメータが、前記ユーザ端末のCPU使用率、前記ユーザ端末のメモリ使用率、前記ユーザ端末が前記ストリーミングを閉じるタイミングより前の特定の期間内における、前記第1のモードでの前記ストリーミングのレンダリング中におけるフリーズまたはラグの発生回数、前記第1のモードで前記ストリーミングがレンダリングされるFPS(フレーム毎秒)数が指定された値を下回る時間の長さ、またはAPI応答時間、TCP接続時間、DNSルックアップ時間、SSLハンドシェイク時間、またはダウンストリーム帯域幅を含む品質要素によって決定されるネットワーク品質パラメータである、ことを特徴とする、請求項13に記載のストリーミングをレンダリングするためのシステム。
【請求項16】
前記データオブジェクトが、贈り物、特殊効果、ゲーム機能、アバター、アニメーション、または別のユーザからのビデオデータを含む、ことを特徴とする、請求項13に記載のストリーミングをレンダリングするためのシステム。
【請求項17】
前記環境パラメータの閾値を決定する工程が、
前記環境パラメータに安全領域を定義する工程と、
前記ユーザ端末が前記ストリーミングを閉じるタイミングで、前記環境パラメータが前記安全領域内にあるか否かを判断する工程と、
前記ユーザ端末が前記ストリーミングを閉じるタイミングで、前記環境パラメータが前記安全領域内にある場合、前記閾値をそのまま維持する工程と、
前記ユーザ端末が前記ストリーミングを閉じるタイミングで、前記環境パラメータが前記安全領域外にある場合、前記閾値を厳格化する工程と、
を含むことを特徴とする、請求項13に記載のストリーミングをレンダリングするためのシステム。
【請求項18】
前記1つまたは複数のプロセッサが、機械可読命令を実行して、さらに、
学習期間中に、前記ユーザ端末の複数の環境パラメータを受信する工程と、
前記学習期間中に、前記ユーザ端末が前記ストリーミングを閉じたときの複数のタイミングを受信する工程と、
前記ユーザ端末が前記ストリーミングを閉じる行動と各環境パラメータ間の相関性を計算する工程と、
前記ユーザ端末が前記ストリーミングを閉じる行動に関して最も相関性が高い環境パラメータの閾値を決定してから、残りの環境パラメータの閾値を決定する工程と、
を実行させることを特徴とする、請求項13に記載のストリーミングをレンダリングするためのシステム。
【請求項19】
ユーザ端末上でストリーミングをレンダリングするためのプログラムを含む非一時的なコンピュータ可読媒体であって、前記プログラムが、1または複数のコンピュータに、
前記ストリーミングを第1のモードでレンダリングする工程と、
前記ユーザ端末の環境パラメータを受信する工程と、
前記ユーザ端末が前記ストリーミングを閉じるタイミングを受信する工程と、
前記ユーザ端末が前記ストリーミングを閉じるタイミングに基づいて前記環境パラメータの閾値を決定する工程と、
前記ユーザ端末の更新された環境パラメータを受信する工程と、
前記更新された環境パラメータが前記閾値に達した場合、前記ストリーミングを第2のモードでレンダリングする工程と、
を実行させ、前記第2のモードが、レンダリングに前記第1のモードよりも少ないデータオブジェクトを含むか、または、前記第1のモードにおけるデータオブジェクトのダウングレードバージョンを含む、ことを特徴とする、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はストリーミングをレンダリングするためのシステム、方法、及びコンピュータ可読媒体に関する。
【背景技術】
【0002】
ライブストリーミングとは、オンラインストリーミングメディアやライブ映像をリアルタイムで同時に録画・ブロードキャストすることを指す。ライブストリーミングのトピックは、ソーシャルメディアから、ビデオゲーム、プロスポーツまで、多岐にわたる。
【0003】
また、チャットルームを介したユーザの交流も、ライブストリーミングの大きな特徴である。従来、ライブストリーミングを視聴するためのアプリケーションやプラットフォームでは、視聴者のライブストリーミングへの参加意欲を高めるために、贈り物の送信やゲームなどの機能を提供し、視聴者と配信者(または放送者)の交流を深めている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、ストリーミングをレンダリングするためのシステム、方法、及びコンピュータ可読媒体を提供することにある。
【課題を解決するための手段】
【0005】
本発明の一実施態様による方法は、1つまたは複数のコンピュータにより実行されるユーザ端末上でストリーミングをレンダリングするための方法であって、ストリーミングを第1のモードでレンダリングする工程と、当該ユーザ端末の環境パラメータを受信する工程と、当該ユーザ端末がストリーミングを閉じるタイミングを受信する工程と、当該ユーザ端末がストリーミングを閉じる当該タイミングに基づいて、当該環境パラメータの閾値を決定する工程と、当該ユーザ端末の更新された環境パラメータを受信する工程と、当該更新された環境パラメータが閾値に達した場合、当該ストリーミングを第2のモードでレンダリングする工程と、を含む。当該第2のモードは、当該第1のモードよりも少ないデータオブジェクトを含むか、または、レンダリングに当該第1のモードにおけるデータオブジェクトのダウングレードバージョンを含む。
【0006】
本発明の一実施態様によるシステムは、1つまたは複数のプロセッサを含むユーザ端末でストリーミングをレンダリングするシステムであって、当該1つまたは複数のコンピュータプロセッサは、機械可読命令を実行して、ストリーミングを第1のモードでレンダリングする工程と、当該ユーザ端末の環境パラメータを受信する工程と、当該ユーザ端末がストリーミングを閉じるタイミングを受信する工程と、当該ユーザ端末がストリーミングを閉じる当該タイミングに基づいて、当該環境パラメータの閾値を決定する工程と、当該ユーザ端末の更新された環境パラメータを受信する工程と、当該更新された環境パラメータが閾値に達した場合、当該ストリーミングを第2のモードでレンダリングする工程と、を実行し、当該第2のモードは、当該第1のモードよりも少ないデータオブジェクトを含むか、または、レンダリングに当該第1のモードにおけるデータオブジェクトのダウングレードバージョンを含む。
【0007】
本発明の一実施態様によるコンピュータ可読媒体は、ユーザ端末でストリーミングをレンダリングするためのプログラムを含む非一時的なコンピュータ可読媒体であり、当該プログラムは、1つまたは複数のコンピュータに、ストリーミングを第1のモードでレンダリングする工程と、当該ユーザ端末の環境パラメータを受信する工程と、当該ユーザ端末がストリーミングを閉じるタイミングを受信する工程と、当該ユーザ端末がストリーミングを閉じる当該タイミングに基づいて、当該環境パラメータの閾値を決定する工程と、当該ユーザ端末の更新された環境パラメータを受信する工程と、当該更新された環境パラメータが閾値に達した場合、当該ストリーミングを第2のモードでレンダリングする工程と、を実行させ、当該第2のモードは、当該第1のモードよりも少ないデータオブジェクトを含むか、または、レンダリングに当該第1のモードにおけるデータオブジェクトのダウングレードバージョンを含む。
【図面の簡単な説明】
【0008】
図1】本発明の一部の実施態様に基づく通信システムの構成を示す概略図である。
図2】本発明の一部の実施態様に基づく通信システムの例示的な機能構成図である。
図3】本発明の一部の実施態様に基づく通信システムの動作を示す例示的なシーケンス図である。
図4】本発明の一部の実施態様に基づく工程を示すフローチャートである。
【発明を実施するための形態】
【0009】
ユーザ(視聴者など)がユーザ端末(スマートフォンなど)のディスプレイで視聴するストリーミングは、多様なデータオブジェクトを処理またはレンダリングした結果である。データオブジェクトの中には、ユーザ端末に存在するもの(例えば、ライブストリーミングを視聴するために使用するアプリケーションとともにダウンロードされたもの)もあれば、ネットワークを介してユーザ端末に受信されるものもある。例えば、ライブストリーミングのチャットルームにおいて、データオブジェクトは、他のユーザ(ストリーマなど)からのストリーミングデータやライブ映像/音声データ、およびその他ゲーム、特殊効果、ギフトまたはアバターなどの機能を実行するためのオブジェクトを含むことができる。
【0010】
ライブストリーミングの提供者(視聴者がライブストリーミングを視聴するアプリケーションの提供者であってもよい)にとって、視聴者が可能な限り長くストリーミングを楽しむ、すなわちチャットルームに滞在することが重要である。そして、ネットワーク品質の低下や端末の過負荷などの環境や端末の要因により、遅延やラグ、フリーズが発生して視聴体験が損なわれ、視聴者がストリーミングやチャットルームを離脱してしまうことを防ぐことが重要である。
【0011】
したがって、様々な環境またはデバイスの条件において、円滑な視聴体験を保証する方法が不可欠となる。本発明は、様々な条件におけるユーザの行動や好みに基づき、ストリーミングのレンダリングに使用されるデータオブジェクトを動的または適応的に調整し、視聴体験を最適化できるシステム、方法およびコンピュータ読み取り可能な媒体を提供するものである。
【0012】
図1に本発明の一部の実施態様に基づく通信システム1の構成を示す概略図を示す。前記通信システム1は、コンテンツを介したインタラクションを伴うライブストリーミングサービスを提供する。ここで言う「コンテンツ」とは、コンピュータ装置で再生可能なデジタルコンテンツを指す。つまり、通信システム1は、ユーザがオンラインで他のユーザとのリアルタイムのインタラクションに参加することを可能にする。通信システム1は、複数のユーザ端末10と、バックエンドサーバ30と、ストリーミングサーバ40とを含む。ユーザ端末10、バックエンドサーバ30、及びストリーミングサーバ40は、ネットワーク90(例えばインターネットとしてもよい)を介して接続される。バックエンドサーバ30は、ユーザ端末および/またはストリーミングサーバ40との間のインタラクションを同期させるサーバとすることができる。一部の実施態様において、バックエンドサーバ30は、アプリケーション(APP)プロバイダのバックエンドサーバとしてもよい。ストリーミングサーバ40は、ストリーミングデータまたはビデオデータを取り扱う、または提供するためのサーバである。一部の実施態様において、当該ストリーミングサーバ40は、CDN(Content Delivery Network)プロバイダからのサーバとしてもよい。一部の実施態様において、バックエンドサーバ30とストリーミングサーバ40は、独立したサーバとしてもよい。一部の実施態様において、バックエンドサーバ30とストリーミングサーバ40は、1つのサーバに統合してもよい。当該ユーザ端末10は、ライブストリーミングのためのクライアント装置である。一部の実施態様において、ユーザ端末10は、視聴者、ストリーマ、アンカ、ポッドキャスタ、オーディエンス、リスナなどと呼ばれることがある。ユーザ端末10、バックエンドサーバ30、及びストリーミングサーバ40はそれぞれ情報処理装置の一例である。一部の実施態様において、ストリーミングは、ライブストリーミングまたはビデオ再生とすることができる。一部の実施態様において、ストリーミングは、オーディオストリーミングおよび/またはビデオストリーミングとすることができる。一部の実施態様において、ストリーミングは、オンラインショッピング、トークショ、タレントショ、娯楽イベント、スポーツイベント、音楽ビデオ、映画、コメディ、コンサートなどのコンテンツを含むことができる。
【0013】
図2に、通信システム1の例示的な機能構成図を示す。この実施態様において、当該ユーザ端末10は、UIユニット102と、ストレージユニット104と、ユーザ行動トラッカー106と、環境条件トラッカー108と、コントローラー110と、レンダラー112と、デコーダー114と、ディスプレイ116を含む。一部の実施態様において、上述の各部材は、処理ユニットまたはプロセッサ―とみなされてもよい。
【0014】
当該UIユニット102は、当該ユーザ端末10のユーザがアプリを操作または再生するインターフェイスであり、当該アプリは一部の実施態様において、ストリーミングサービスを提供するアプリであってもよい。当該ユーザ行動トラッカー106は、当該ユーザ端末10の行動または操作を監視または追跡し、その結果を当該コントローラー110に提供するように構成される。例えば、当該操作はアプリ上でストリーミングに参加する/ストリーミングを開くこと、またはストリーミングから離脱する/閉じることを含んでもよい。
【0015】
当該ストレージユニット104は、アプリが当該ユーザ端末10上で動作するために必要な命令またはデータオブジェクトを含むアプリのプログラムを格納するように構成される。当該ストレージユニット104は、例えば、DRAM等で構成することができる。一部の実施態様において、当該ストレージユニット104は、例えば、磁気ディスク、フラッシュメモリ等で構成される。当該ストレージユニット104は、OSを含む各種プログラム、各種データ等を記憶する。
【0016】
当該環境条件トラッカー108は、アプリが動作する環境条件を監視または追跡し、その結果をコントローラー110に提供するように構成される。当該環境条件トラッカー108は、ストリーミングの操作/再生、ひいてはユーザの視聴体験に関連する多様な環境パラメータを検出することができる。一部の実施態様において、当該環境パラメータには、当該ユーザ端末10のCPU使用率、当該ユーザ端末10のメモリ使用率、ストリーミング中にフリーズやラグが発生した時間または回数、ストリーミングを再生しているFPS(フレーム毎秒)数が所定値以下である時間長さ、およびネットワーク90の品質を示すネットワーク品質パラメータが含まれてもよい。例えば、当該ネットワーク品質パラメータは、アプリケーションプログラミングインターフェイス(API)応答時間、伝送制御プロトコル(TCP)接続時間、ドメインネームシステム(DNS)ルックアップ時間、セキュリティソケットレイヤー(SSL)ハンドシェイク時間、及びネットワーク90を介したストリーミングサービスに関するダウンストリーム帯域幅を含んでもよい。
【0017】
当該コントローラー110は、当該ユーザ行動トラッカー106及び当該環境条件トラッカー108からユーザ行動データ及び環境パラメータを受信し、その後のストリーミングをどのようにレンダリングまたは提示するかを決定する。例えば、当該コントローラーは、ユーザ行動データおよび環境パラメータに基づいてレンダリングモードを決定し、対応するデータオブジェクトについて、当該ストレージユニット104及び(または)ストリーミングサーバ40にアクセスして、当該レンダラー112にストリーミングのレンダリングを指示することができる。
【0018】
一部の実施態様において、当該コントローラー110は、CPU、GPU等として構成され、アプリの一部であり得る、当該ストレージユニット104などに格納された各種プログラムをメインメモリ(図示しない)に読み込み、当該プログラムに含まれる各種コマンドや機械読み取り可能な命令を実行する。
【0019】
当該デコーダー114は、当該ストリーミングサーバ40からのストリーミングデータを、当該レンダラー112がストリーミングをレンダリングするためのビデオデータまたはフレーム画像に変換するように構成される。当該ストリーミングデータは、ストリーマ、ブロードキャスター、またはアンカと呼ばれることがある別のユーザによって当該ストリーミングサーバ40に提供されてもよい。1つのストリーマからのストリーミングデータには多様なバージョンまたはグレードが存在してもよい。例えば、当該ストリーミングサーバ40は、ストリーマからストリーミングメディアを受信し、それを360p、480p、720pなどの異なる解像度を有するバージョンに変換してもよい。ストリーミングデータの異なるバージョンまたはグレードは、異なるURL(統一資源位置指定子)で当該ストリーミングサーバ40に格納されてもよい。一部の実施態様において、それらURLは当該バックエンドサーバ30により割り当てられ、当該バックエンドサーバ30により当該ユーザ端末10に導かける。当該デコーダー114は、当該 コントローラー110により決定されたレンダリングモードに従い、特定グレードのストリーミングデータのURLに到達することができる。
【0020】
当該レンダラー112は、当該コントローラー110からレンダリングモードに関する指示を受け、当該ストレージユニット104から当該レンダリングモードに対応するデータオブジェクトを受け取り、当該デコーダー114から当該レンダリングモードに対応するストリーミングデータ(別のデータオブジェクトと呼ぶこともできる)を受け取って、当該ディスプレイ116に当該ストリーミングメディアをレンダリングするように構成することができる。当該ディスプレイ116は、当該ユーザ端末10がストリーミングメディアを楽しむことができる画面であるか、あるいはそれを含むことができる。
【0021】
図3に本発明の一部の実施態様に基づく通信システム1の動作を示す例示的なシーケンス図を示す。
【0022】
工程S1において、当該コントローラー110は、ストリーミングまたはストリーミングメディアを第1のモードでレンダリングするように当該レンダラー112に指示し、当該第1のモードは、例えば、アプリ上でストリーミングに参加する、またはストリーミング開くというユーザの操作に従うものとすることができる。工程S2において、当該レンダラー112は、当該ストレージユニット104から当該第1のモードに対応するデータオブジェクトを受信する。 工程S3において、当該レンダラー112は、当該デコーダー114から当該第1のモードに対応するストリーミングデータまたはビデオデータ(他のユーザからのものであってもよい)を受信する。工程S4において、レンダリングされたストリーミングが当該ディスプレイ116に表示される。
【0023】
一部の実施態様において、当該第1のモードは、より高いパフォーマンスのモードを示し、これは、ストリーミングのレンダリングのために、当該レンダラー112が、当該ストレージユニット104からより多くの、またはより高いグレードのデータオブジェクトを含めること、及び(または)当該デコーダー114からストリーミングデータの高解像度バージョンを取得することを要求する。
【0024】
工程S5において、当該コントローラー110は、当該環境条件トラッカー108から様々な環境パラメータを受信する。工程S6において、当該ユーザ行動トラッカー106は、当該UIユニット102を介してユーザの行動を監視する。工程S7において、当該ユーザ行動トラッカー106は、ユーザがストリーミングを閉じる、またはオフにするタイミングを検出し、当該コントローラー110に報告する。
【0025】
工程S8において、当該コントローラー110は、ユーザがストリーミングを閉じるタイミングに基づいて、当該環境パラメータのそれぞれについて閾値を決定する。当該閾値は、当該コントローラー110が、後続の監視により得られた環境パラメータと比較して、後続のレンダリングモードを決定するために使用されてもよい。
【0026】
一部の実施態様において、当該環境パラメータの閾値は、ユーザがストリーミングを閉じるタイミングにおける当該環境パラメータの受信値からの所定のオフセットにより決定されてもよい。例えば、ユーザ端末のCPU使用率のパラメータについて、ユーザがストリーミングを閉じるタイミングで受信したCPU使用率がN1%である場合、CPU使用率の閾値は、(N1-T1)%(そのうち、T1は所定のオフセットである)と決定されてもよい。一部の実施態様において、T1は2.5~5であってもよい。また別の例では、ユーザ端末のメモリ使用率のパラメータについて、ユーザがストリーミングを閉じるタイミングで受信したメモリ使用率がN2%である場合、メモリ使用率の閾値は、(N2-T2)%(そのうち、T2は所定のオフセットである)と決定されてもよい。一部の実施態様において、T2は2.5~5としてもよい。
【0027】
一部の実施態様において、当該環境パラメータは、当該第1のモードでストリーミングをレンダリングしている間にフリーズまたはラグが発生した回数を含むことができる。フリーズやラグは、例えば2~5秒程度の時間、ストリーミングコンテンツやユーザ端末全体が一時停止、停止、または遅延することを示す。例えば、ユーザがストリーミングを閉じるタイミングより前の特定の期間内(例えば、3分、5分、10分)に、フリーズまたはラグを検出した回数がN3である場合、T3は例えば2、3または5であり得る所定の値である、閾値(N3-T3)を決定することができ、そのうちT3は所定の値(例えば、2または3、5)とすることができる。
【0028】
一部の実施態様において、当該環境パラメータは、ストリーミングがレンダリングされているFPS(フレーム毎秒)数が指定された値を下回る時間の長さを含むことができる。例えば、ユーザがストリーミングを閉じるタイミングの前の特定の期間内(例えば、3分、5分、10分)に、FPSが指定された値(例えば、30フレーム)を下回る状態がN4秒間続いた場合、閾値(N4-T4)秒を決定することができ、そのうちT4は例えば、2~5の所定の値とすることができる。
【0029】
一部の実施態様において、当該環境パラメータは、API応答時間、TCP接続時間、DNSルックアップ時間、SSLハンドシェイク時間、およびダウンストリーム帯域幅などの品質要素によって値が決定されるネットワーク品質パラメータを含むことができる。例えば、以下の表1に従って、上記の各要素のスコアを決定し、ネットワーク品質パラメータの値は、考慮された各要素のスコアの平均値としてもよい。実際のアプリケーションまたは実践に応じて、要素のすべてまたは一部を考慮し、ネットワーク品質パラメータを決定することができる。一部の実施態様において、ネットワーク品質パラメータを計算する際に、一部の品質要素の重みが他のものより高くてもよい。
【0030】
【表1】
【0031】
一部の実施態様において、ユーザがストリーミングを閉じるタイミングの近傍で、ネットワーク品質パラメータの値がN5である場合、閾値(N5+T5)を決定することができ、そのうちT5は所定の値、例えば5~10とすることができる。当該閾値(N5+T5)は、ネットワーク品質パラメータがN5の値に低下する前により低いパフォーマンス、またはより負荷の低いモード(第2のモードなど)に後続のストリーミングレンダリングを切り替えるためのより厳しい基準を示すことができる。
【0032】
工程S9において、工程S8において決定された当該閾値が当該ストレージユニット104に保存される。工程S10において、当該コントローラー110は、当該環境条件トラッカー108から環境パラメータ(または更新された環境パラメータ)を再度受信する。工程S11において、当該コントローラー110は当該ストレージユニット104に保存された当該環境パラメータの閾値を読み出す。
【0033】
工程S12において、当該コントローラー110は、当該閾値と当該環境パラメータとを比較し、いずれかの環境パラメータが当該閾値を満たすか、または当該閾値に達しているかを確認する。一部の実施態様において、いずれかの環境がその閾値に達した場合、当該コントローラー110は、第2のモードでストリーミングをレンダリングすることを決定し、それに応じて工程S13で、例えば、アプリ上のストリーミングに再度参加する、またはストリーミングを再度開くというユーザの操作に従い、当該レンダラー112に動作するように指示する。工程S12において、どの環境パラメータもその閾値に達していない場合、当該コントローラー110は、第1のモードのレンダリングを維持することを決定し、当該レンダラー112にそれに応じて動作するよう指示し、フローは工程S1に戻ってもよく、これは例えば、アプリ上のストリーミングに再度参加する、ストリーミングを再度開くというユーザの操作に従ったものとすることができる。
【0034】
工程S14において、当該レンダラー112は、当該ストレージユニット104から当該第2のモードに対応するデータオブジェクトを受信する。工程S15において、当該レンダラー112は、当該デコーダー114から当該第2のモードに対応するストリーミングデータまたはビデオデータ(他のユーザからのものであってもよい)を受信する。工程S16において、レンダリングされたストリーミングが当該ディスプレイ116に表示される。
【0035】
一部の実施態様において、当該第2のモードは、より低いパフォーマンスのモードを示し、これは、ストリーミングのレンダリングのために、当該レンダラー112が、当該ストレージユニット104から(第1のモードと比較して)より少ない、またはより低いグレードのデータオブジェクト(第1のモードと比較して)を含めること、及び(または)当該デコーダー114からストリーミングデータの(第1のモードと比較して)より低解像度またはダウングレードバージョンを取得することを要求する。
【0036】
一部の実施態様において、閾値に達したことが判明した当該環境パラメータが、CPU使用率、メモリ使用率、第1のモードでのストリーミングのレンダリング中におけるフリーズまたはラグの発生回数、または第1のモードでストリーミングがレンダリングされるFPSが所定値を下回っている時間長さを含む場合、当該コントローラー110によって指示される当該第2のモードは、当該第1のモードと比較して、レンダリングする贈り物、特殊効果、ゲーム機能、アバター、またはアニメーションの数が少なくなる。贈り物、特殊効果、ゲーム機能、アバター、またはアニメーションの数がより少ないストリーミングをレンダリングすることで、CPU使用率とメモリ使用率に関して当該ユーザ端末の負荷を緩和または軽減することができ、フリーズやラグが発生し得る回数を減少したり、FPSが好ましい値または十分な値を下回る時間長さを短縮したりすることができる。このレンダリングモードの適応により、レンダリングが円滑でないためにユーザがストリーミングを閉じたり、離脱したりすることを防止し、ユーザ体験を向上させることができる。
【0037】
一部の実施態様において、閾値に達したことが判明した当該環境パラメータが、API応答時間、TCP接続時間、DNSルックアップ時間、SSLハンドシェイク時間及び(または)ダウンストリーム帯域幅によって決まるネットワーク品質パラメータを含む場合、当該コントローラー110によって指示された当該第2のモードは、当該第1のモードで使用されるビデオデータ(例えば、720p)と比較して、レンダリングに他のユーザからのビデオデータのダウングレードバージョン(例えば、360pまたは480p)を含むことができる。ダウングレードバージョンのビデオデータでストリーミングをレンダリングすることにより、ネットワーク接続状態に関する当該ユーザ端末の負荷を軽減または緩和することができる。このレンダリングモードの適応により、レンダリングが円滑でないためにユーザがストリーミングを閉じたり、離脱したりすることを防止し、ユーザ体験を向上させることができる。
【0038】
図4は本発明の一部の実施態様に基づく工程を示すフローチャートである。図4に、当該環境パラメータの閾値が各ユーザ端末に対してどのように動的に更新されるかを示す。
【0039】
工程S400において、当該ストリーミングがレンダリングされる。これは第1のモード、第2のモード、または任意の既定のモードであってもよい。工程S402において、当該環境パラメータが、例えば、当該環境条件トラッカー108により、監視される。工程S404において、当該ストリーミングが閉じられたことが、例えば、当該ユーザ行動トラッカー106により、検出される。
【0040】
工程S406において、当該ストリーミングの視聴時間が所定の期間V1と比較され、これは例えば、当該コントローラー110により実行されてもよい。視聴時間がV1以上の場合、フローは工程S408に進み、すべてのパラメータの閾値は変更されないままとなる。この場合、ユーザは監視されていた環境パラメータとは無関係の理由でストリーミングから離脱したと判断されるため、後続のストリーミング視聴におけるレンダリングモードの決定に使用される環境パラメータの閾値を更新したり厳格化したりする必要はない。例えば、視聴時間が当該所定の期間V1より大きい場合、ユーザがすでにストリーミングに満足していることを示すことができる。一部の実施態様において、当該所定の期間V1は、30分以上、あるいは60分以上であってもよい。
【0041】
視聴時間が当該所定の期間V1より小さいことが判明した場合、工程S406において、ストリーミングを閉じたことが当該環境パラメータに関連していると見なすことができ、フローは工程S410に進む。
【0042】
工程S410において、当該監視された環境パラメータが、例えば、コントローラー110によって、値がそれぞれの安全領域内にあるか否かがチェックされる。すべての当該環境パラメータが安全領域内にある場合、フローは工程S408に進み、すべてのパラメータの閾値は変更されないままとなる。いずれかの環境パラメータがその安全領域より大きい、または超過する場合、フローは工程S412に進む。
【0043】
安全領域とは、対応する環境パラメータのうち、ストリーミングレンダリングのためにユーザ端末に過大な負担がかかる可能性が低いと考えられる範囲である。つまり、ストリーミングが閉じられたときに、検出された環境パラメータがその安全領域にある場合、その環境パラメータは、ストリーミングが閉じられる結果を引き起こした可能性のある劣悪な視聴体験の原因とはみなされず、したがって、後続のストリーミングのレンダリングモードを決定するために用いられる、その環境パラメータの閾値を更新したり、厳格化したりする必要はない。各安全領域の範囲は、実際の用途に応じて定義することができる。例を下の表2に示す。
【0044】
【表2】
【0045】
工程S412において、それぞれの安全領域外と判明した環境パラメータに、更新された閾値が付与される。閾値更新方法の例については、図3の工程S8に関する説明で述べたとおりであり、類似の方法が工程S412で適用されてもよい。
【0046】
安全領域外の環境パラメータは、特定の環境パラメータがそのユーザの視聴体験を損なう、あるいは低下させるような値になったために、当該ユーザがストリーミングを閉じた可能性が高い。例えば、CPU使用率が80%になると、視聴体験が損なわれる可能性があり、これは、ユーザがさまざまなアプリケーションを同時に操作する場合に起こることがある。したがって、後続のストリーミング視聴でそのユーザが同じ理由でストリーミングから離脱することを防止するために、その特定のユーザに対しては、その環境パラメータの更新された、より厳しい閾値が必要となる。例えば、その特定のユーザ端末のCPU使用率の閾値を、(80-5)%の75%に更新してもよい。この方法によれば、次回当該ユーザがストリーミングを視聴しているときに、CPU使用率が75%に到達するまで上昇すると、レンダリングモードが切り替えられ(例えば、上述した第2のモードに切り替えられる)、より少ないデータオブジェクト(例えば、贈り物、ゲーム機能、アバター、特殊効果など)、またはデータオブジェクトのダウングレードバージョン(ストリーミングデータや他のユーザのビデオデータなど)を含めることで、当該ユーザ端末の負荷を軽減・緩和し、満足感が得られる視聴体験を維持することができる。
【0047】
工程S408または工程S412の後、フローは後続のストリーミングレンダリングのために工程S400に戻ることができ、これは、例えば、当該ユーザ端末が次回ストリーミングを開始するときに続くことができる。
【0048】
本発明の実施態様は、ユーザ端末の環境パラメータに基づき、当該ユーザ端末で満足のいく視聴体験を確約するために、当該ユーザ端末上でのストリーミングのためのレンダリングモードを動的にまたは適応的に切り替える方法、システム、およびコンピュータ可読媒体を開示する。監視された当該環境パラメータは、それぞれの閾値と比較され、当該ユーザ端末の負荷を軽減して円滑にレンダリングするために、レンダリングモードの切り替えが必要か否かが判断される。当該環境パラメータの閾値の設定は、ユーザごとに大きく異なることがあり、これは、各ユーザの行動と、そのユーザの当該ユーザ端末の監視された当該環境パラメータとの関係や相関によって設定されるためである。
【0049】
異なるユーザは、異なる環境パラメータに関して異なる許容レベルを有することができる。例えば、ユーザAはネットワーク品質パラメータが70に達する、または低下すると常にストリーミングをオフにし、ユーザBはネットワーク品質パラメータが60に達する、または低下すると常にストリーミングをオフにする場合、ユーザAおよびユーザBのネットワーク品質パラメータの閾値は、75(70+5)と65(60+5)に設定されてもよい。各ユーザ端末の閾値は、上記のように各ユーザの行動や好みに応じて動的かつ継続的に調整される。本発明は、ユーザごとにカスタマイズされた各種環境パラメータの閾値に基づいてレンダリングモードを動的に切り替えることで、各ユーザのストリーミング視聴の満足度を効果的に最大化することができる。
【0050】
一部の実施態様において、当該環境パラメータの閾値を設定する前に、学習期間があってもよい。学習期間とは、ユーザのストリーミングを閉じる行動が閾値の決定または更新に即座に使用されない期間である。例えば、ユーザがアプリでストリーミングを視聴する初期段階において、学習期間は、システムまたはアプリがユーザ(またはユーザ端末)の行動パターンを学習することを可能にする。学習の過程において、数回のストリーミング視聴を通じ、アプリは当該ユーザの行動(ストリーミングを閉じるなど)と各種環境パラメータとの相関性を把握または計算することができる。したがって、各環境パラメータに関するユーザの関心度や許容度を把握し、各種環境パラメータに対する閾値設定の優先度や厳格化の度合いを決定することができる。一部の実施態様において、当該学習期間は、例えば、1週間や1か月であり得る、所定の期間とすることができる。一部の実施態様において、当該学習期間は、ユーザ端末がX1回のストリーミング視聴を終了するまでの可変期間とすることができ、X1回は、例えば、5~10回としてもよい。
【0051】
例えば、学習期間中に、ユーザAがネットワーク品質パラメータの影響をより強く受けている、すなわち、閉じる行動とネットワーク品質パラメータの値の低さの相関性が高く、他の環境パラメータとの相関性が低いことが判明した場合、ネットワーク品質パラメータの閾値を設定してから、他の環境パラメータの閾値を設定することができる。このような仕組みにより、ユーザにとって関心事ではない他の環境パラメータの変動によって、ストリーミングが不必要に(例えば、第1のモードから第2のモードへ)ダウングレードされるような事態を防ぐことができる。
【0052】
一部の実施態様において、例えば、ある条件が満たされた場合に、当該コントローラー110により、当該環境パラメータの閾値が緩和される仕組みがあってもよい。例えば、ある環境パラメータが閾値に達し、それに応じてストリーミングが低パフォーマンスのレンダリングモードに切り替えられる場合、環境パラメータが閾値を超えたことによる視聴体験の悪化にかかわらず、ストリーミングを提供するアプリ上でユーザが通常/デフォルト/より高パフォーマンスなレンダリングモードに戻すことを実行できるオプションを設けてもよい。
【0053】
一部の実施態様において、ユーザが連続して(例えば、3回または5回連続で)特定の環境パラメータについて、(その環境パラメータがすでに閾値に達しているにもかかわらず)より高パフォーマンスなレンダリングモードを要求するオプションを実行する場合、当該環境パラメータの閾値は、そのユーザの個人的な好みに合わせて、後続のストリーミングレンダリングのために緩和した設定とすることができる。例えば、当該環境パラメータがCPU使用率である場合、CPU使用率が本来の閾値70%に達してレンダリングモードがダウングレードされるたびに、ユーザがより高パフォーマンスなレンダリングモードに戻すオプションを連続して実行する場合、閾値を70%から75%に緩和することができる。
【0054】
本発明で説明した処理及び手順は、明示的に説明したものに加えて、ソフトウェア、ハードウェア、またはそれらの任意の組み合わせにより実現することができる。例えば、本明細書で説明した処理および手順は、その処理および手順に対応するロジックを集積回路、揮発性メモリ、不揮発性メモリ、非一過性のコンピュータ可読媒体、磁気ディスクなどの媒体に実装することにより実現することができる。さらに、本明細書に記載された処理および手順は、その処理および手順に対応するコンピュータプログラムとして実現することができ、各種のコンピュータにより実行することができる。
【0055】
一部の実施態様において、当該要素、サブスコア、スコア及び重みは、当該、サブスコア、スコア及び重みを計算する際に、より最近のデータや操作の関連性が高まるように、特定のデータまたは操作の強度を時間と共に減衰させる減衰要素を含んでもよい。当該要素、サブスコア、スコア、及び重みは、データまたは操作の継続的な追跡に基づいて継続的に更新されてもよい。各要素のスコア、および要素とスコアに割り当てられる重みの割り当て、組み合わせ、平均化などのために、任意のタイプのプロセスまたはアルゴリズムを採用することができる。特定の実施態様において、当該ハイライト検出ユニット35は、過去のデータ、過去の操作及び過去のユーザ端末の反応に基づいてトレーニングされた機械学習アルゴリズム、またはユーザ端末を多様なオプションに露出して反応を測定することによりユーザ端末から収集されたデータを使用して、要素、サブスコア、スコア及び重みを決定することができる。一部の実施態様において、当該要素、サブスコア、スコア、及び重みは、任意の適切な方法で決定されてもよい。
【0056】
さらに、上記実施態様で説明したシステムまたは方法は、固体記憶装置、光ディスク記憶装置、磁気ディスク記憶装置などの非一時的なコンピュータ可読媒体に格納されたプログラムに統合されてもよい。あるいは、プログラムは、インターネットを介してサーバからダウンロードされ、プロセッサにより実行されるものとしてもよい。
【0057】
以上、本発明の技術的内容及び特徴を説明したが、本発明の属する技術分野において通常の知識を有する者であれば、本発明の教示及び開示から逸脱することなく、なお多くの変形及び修正を行うことができる。したがって、本発明の範囲は、既に開示された実施態様に限定されず、本発明から逸脱しない別の変形や修正を含み、特許請求の範囲に含まれる範囲である。
【符号の説明】
【0058】
1 通信システム
10 ユーザ端末
102 UIユニット
104 ストレージユニット
106 ユーザ行動トラッカー
108 環境条件トラッカー
110 コントローラー
112 レンダラー
114 デコーダー
116 ディスプレイ
30 バックエンドサーバ
40 ストリーミングサーバ
90 ネットワーク
図1
図2
図3
図4
【国際調査報告】