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

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

▶ ソニー・インタラクティブエンタテインメント エルエルシーの特許一覧

特許7339417リダクティブエッジング原理を利用したビデオの開始時間の短縮
<>
  • 特許-リダクティブエッジング原理を利用したビデオの開始時間の短縮 図1A
  • 特許-リダクティブエッジング原理を利用したビデオの開始時間の短縮 図1B
  • 特許-リダクティブエッジング原理を利用したビデオの開始時間の短縮 図2A
  • 特許-リダクティブエッジング原理を利用したビデオの開始時間の短縮 図2B
  • 特許-リダクティブエッジング原理を利用したビデオの開始時間の短縮 図3
  • 特許-リダクティブエッジング原理を利用したビデオの開始時間の短縮 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-28
(45)【発行日】2023-09-05
(54)【発明の名称】リダクティブエッジング原理を利用したビデオの開始時間の短縮
(51)【国際特許分類】
   H04N 21/222 20110101AFI20230829BHJP
   H04N 21/235 20110101ALI20230829BHJP
【FI】
H04N21/222
H04N21/235
【請求項の数】 19
(21)【出願番号】P 2022192682
(22)【出願日】2022-12-01
(62)【分割の表示】P 2021523185の分割
【原出願日】2019-09-27
(65)【公開番号】P2023029937
(43)【公開日】2023-03-07
【審査請求日】2022-12-01
(31)【優先権主張番号】16/191,341
(32)【優先日】2018-11-14
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】518187455
【氏名又は名称】ソニー・インタラクティブエンタテインメント エルエルシー
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】サンハビ、ブミク
(72)【発明者】
【氏名】フリーマン、ジョエル
(72)【発明者】
【氏名】ウォン、アレックス
(72)【発明者】
【氏名】スリーダラン、スリ
【審査官】醍醐 一貴
(56)【参考文献】
【文献】米国特許出願公開第2018/0219965(US,A1)
【文献】米国特許出願公開第2018/0160159(US,A1)
【文献】米国特許出願公開第2018/0191801(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00-21/858
(57)【特許請求の範囲】
【請求項1】
プロセッサと、
前記プロセッサに結合されたメモリと、
前記メモリに組み込まれた非一時的命令と、
を含むリダクティブエッジングデバイスであって、前記非一時的命令は、前記プロセッサによって実行された場合に、前記デバイスにリダクティブエッジングのための方法を実行させ、前記方法は、
コンテンツ配信ネットワーク(CDN)からの情報を求めるクライアントデバイスからの要求を受信する前に、前記CDNに前記情報を予測的に要求し、以前のユーザアクティビティに基づいて前記情報をメモリに記憶すること
を含み、前記リダクティブエッジングデバイスは、前記CDNからの前記情報を求める前記クライアントデバイスからの前記要求に、前記要求を受信する前に前記メモリに記憶された前記情報を用いて応答するように構成され
前記CDNからの前記情報はマスタープレイリストである、
リダクティブエッジングデバイス。
【請求項2】
プロセッサと、
前記プロセッサに結合されたメモリと、
前記メモリに組み込まれた非一時的命令と、
を含むリダクティブエッジングデバイスであって、前記非一時的命令は、前記プロセッサによって実行された場合に、前記デバイスにリダクティブエッジングのための方法を実行させ、前記方法は、
コンテンツ配信ネットワーク(CDN)からの情報を求めるクライアントデバイスからの要求を受信する前に、前記CDNに前記情報を予測的に要求し、以前のユーザアクティビティに基づいて前記情報をメモリに記憶すること
を含み、前記リダクティブエッジングデバイスは、前記CDNからの前記情報を求める前記クライアントデバイスからの前記要求に、前記要求を受信する前に前記メモリに記憶された前記情報を用いて応答するように構成され、
前記CDNからの前記情報はメディアプレイリストである
リダクティブエッジングデバイス。
【請求項3】
プロセッサと、
前記プロセッサに結合されたメモリと、
前記メモリに組み込まれた非一時的命令と、
を含むリダクティブエッジングデバイスであって、前記非一時的命令は、前記プロセッサによって実行された場合に、前記デバイスにリダクティブエッジングのための方法を実行させ、前記方法は、
コンテンツ配信ネットワーク(CDN)からの情報を求めるクライアントデバイスからの要求を受信する前に、前記CDNに前記情報を予測的に要求し、以前のユーザアクティビティに基づいて前記情報をメモリに記憶すること
前記クライアントデバイスからの前記要求を受信する前に、鍵サーバにメディア暗号鍵を要求して受信することと、前記メディア暗号鍵を前記メモリに記憶することと、
を含み、前記リダクティブエッジングデバイスは、前記CDNからの前記情報を求める前記クライアントデバイスからの前記要求に、前記要求を受信する前に前記メモリに記憶された前記情報を用いて応答するように構成される、
リダクティブエッジングデバイス。
【請求項4】
前記メモリに組み込まれた前記非一時的命令は1つまたは複数の命令をさらに含み、前記1つまたは複数の命令は、実行された場合に、メディアプリフェッチデバイスに、メモリに記憶された前記情報を用いて、前記CDNからの情報を求めるクライアントデバイスからの要求に応答させる、請求項1、2、3のいずれかに記載のリダクティブエッジングデバイス。
【請求項5】
メモリに記憶された前記情報を用いて前記要求に応答することは、CDNの場所をメディアフレームワークサーバに転送することを含む、請求項に記載のリダクティブエッジングデバイス。
【請求項6】
プロセッサと、
前記プロセッサに結合されたメモリと、
前記メモリに組み込まれた非一時的命令と、
を含むリダクティブエッジングデバイスであって、前記非一時的命令は、前記プロセッサによって実行された場合に、前記デバイスにリダクティブエッジングのための方法を実行させ、前記方法は、
コンテンツ配信ネットワーク(CDN)からの情報を求めるクライアントデバイスからの要求を受信する前に、前記CDNに前記情報を予測的に要求し、以前のユーザアクティビティに基づいて前記情報をメモリに記憶すること
を含み、前記リダクティブエッジングデバイスは、前記CDNからの前記情報を求める前記クライアントデバイスからの前記要求に、前記要求を受信する前に前記メモリに記憶された前記情報を用いて応答するように構成され、
前記メモリに組み込まれた前記非一時的命令は1つまたは複数の命令をさらに含み、前記1つまたは複数の命令は、実行された場合に、メディアプリフェッチデバイスに、メモリに記憶された前記情報を用いて、前記CDNからの情報を求めるクライアントデバイスからの要求に応答させ、
前記メモリに記憶された前記情報を用いて前記要求に応答することは、前記CDNにコンテンツプレイリストを要求して受信することと、前記コンテンツプレイリストを前記クライアントデバイスに送信することと、を含む
リダクティブエッジングデバイス。
【請求項7】
プロセッサと、
前記プロセッサに結合されたメモリと、
前記メモリに組み込まれた非一時的命令と、
を含むリダクティブエッジングデバイスであって、前記非一時的命令は、前記プロセッサによって実行された場合に、前記デバイスにリダクティブエッジングのための方法を実行させ、前記方法は、
コンテンツ配信ネットワーク(CDN)からの情報を求めるクライアントデバイスからの要求を受信する前に、前記CDNに前記情報を予測的に要求し、以前のユーザアクティビティに基づいて前記情報をメモリに記憶すること
を含み、前記リダクティブエッジングデバイスは、前記CDNからの前記情報を求める前記クライアントデバイスからの前記要求に、前記要求を受信する前に前記メモリに記憶された前記情報を用いて応答するように構成され、
前記メモリに組み込まれた前記非一時的命令は1つまたは複数の命令をさらに含み、前記1つまたは複数の命令は、実行された場合に、メディアプリフェッチデバイスに、メモリに記憶された前記情報を用いて、前記CDNからの情報を求めるクライアントデバイスからの要求に応答させ、
前記CDNからの前記情報はマスタープレイリストであり、メモリに記憶された前記情報を用いて前記要求に応答することは、前記マスタープレイリストを前記クライアントデバイスに送信することを含む
リダクティブエッジングデバイス。
【請求項8】
プロセッサと、
前記プロセッサに結合されたメモリと、
前記メモリに組み込まれた非一時的命令と、
を含むリダクティブエッジングデバイスであって、前記非一時的命令は、前記プロセッサによって実行された場合に、前記デバイスにリダクティブエッジングのための方法を実行させ、前記方法は、
コンテンツ配信ネットワーク(CDN)からの情報を求めるクライアントデバイスからの要求を受信する前に、前記CDNに前記情報を予測的に要求し、以前のユーザアクティビティに基づいて前記情報をメモリに記憶すること
を含み、前記リダクティブエッジングデバイスは、前記CDNからの前記情報を求める前記クライアントデバイスからの前記要求に、前記要求を受信する前に前記メモリに記憶された前記情報を用いて応答するように構成され、
前記メモリに組み込まれた前記非一時的命令は1つまたは複数の命令をさらに含み、前記1つまたは複数の命令は、実行された場合に、メディアプリフェッチデバイスに、メモリに記憶された前記情報を用いて、前記CDNからの情報を求めるクライアントデバイスからの要求に応答させ、
前記CDNからの前記情報はメディアプレイリストであり、メモリに記憶された前記情報を用いて前記要求に応答することは、前記メディアプレイリストを前記クライアントデバイスに送信することを含む
リダクティブエッジングデバイス。
【請求項9】
前記メモリに組み込まれた前記非一時的命令は1つまたは複数の命令をさらに含み、前記1つまたは複数の命令は、実行された場合に、メディアプリフェッチデバイスに、前記CDNにメディアセグメントを要求させて受信させ、前記メディアセグメントをメモリに記憶させる、請求項1、2、3、6、7、8のいずれかに記載のリダクティブエッジングデバイス。
【請求項10】
前記命令は1つまたは複数の命令をさらに含み、前記1つまたは複数の命令は、実行された場合に、前記メディアプリフェッチデバイスに、前記記憶されたメディアセグメントを前記クライアントデバイスに送信させる、請求項に記載のリダクティブエッジングデバイス。
【請求項11】
前記命令は1つまたは複数の命令をさらに含み、前記1つまたは複数の命令は、実行された場合に、前記メディアプリフェッチデバイスに、前記クライアントデバイスからメディアセグメント要求を受信する前に、前記CDNに前記メディアセグメントを要求させる、請求項に記載のリダクティブエッジングデバイス。
【請求項12】
前記命令は1つまたは複数の命令をさらに含み、前記1つまたは複数の命令は、実行された場合に、前記メディアプリフェッチデバイスに、記憶されていないメディアセグメントを前記CDNに要求させる、請求項1に記載のリダクティブエッジングデバイス。
【請求項13】
前記命令は1つまたは複数の命令をさらに含み、前記1つまたは複数の命令は、実行された場合に、前記メディアプリフェッチデバイスに、前記クライアントデバイスからメディアセグメント要求を受信した後に、記憶されていないメディアセグメントを前記CDNに要求させる、請求項1に記載のリダクティブエッジングデバイス。
【請求項14】
前記プロセッサに結合され、前記リダクティブエッジングデバイスをネットワークに接続するように構成されるネットワークインターフェースをさらに備え、前記メモリに組み込まれた前記非一時的命令は、前記ネットワークインターフェースを介して前記ネットワーク越しに前記クライアントから受信した前記クライアントデバイスからの要求を処理するための1つまたは複数の命令を含む、請求項1、2、3、6、7、8のいずれかに記載のリダクティブエッジングデバイス。
【請求項15】
前記プロセッサに結合され、前記リダクティブエッジングデバイスを前記クライアントデバイスに接続するように構成されるローカル接続をさらに備え、前記メモリに組み込まれた前記非一時的命令は、前記ローカル接続を介して前記クライアントから受信した前記クライアントデバイスからの要求を処理するための1つまたは複数の命令を含む、請求項1、2、3、6、7、8のいずれかに記載のリダクティブエッジングデバイス。
【請求項16】
前記リダクティブエッジングデバイスは、前記クライアントデバイスの組み込みハードウェアコンポーネントであり、前記リダクティブエッジングデバイスは、前記クライアントデバイス上で実行されるアプリケーションから要求を受信するように構成される、請求項1、2、3、6、7、8のいずれかに記載のリダクティブエッジングデバイス。
【請求項17】
前記リダクティブエッジングデバイスは、前記クライアントデバイスの組み込みソフトウェアコンポーネントとして実装され、前記リダクティブエッジングデバイスは、前記クライアントデバイス上で実行されるアプリケーションから要求を受信するように構成される、請求項1、2、3、6、7、8のいずれかに記載のリダクティブエッジングデバイス。
【請求項18】
プロセッサによって実行された場合に、前記プロセッサに方法を実行させる、非一時的コンピュータ可読媒体に組み込まれた命令であって、前記方法は、
コンテンツ配信ネットワーク(CDN)からの情報を求めるクライアントデバイスからの要求を受信する前に、前記CDNに前記情報を予測的に要求し、以前のユーザアクティビティに基づいて前記情報をメモリに記憶することと、
前記CDNからの情報を求める前記クライアントデバイスからの前記要求に、前記要求を受信する前にメモリに記憶された前記情報を用いて応答することと、
を含
前記CDNからの前記情報はマスタープレイリストまたはメディアプレイリストである、命令。
【請求項19】
リダクティブエッジングのための方法であって、
コンテンツ配信ネットワーク(CDN)からの情報を求めるクライアントデバイスからの要求を受信する前に、前記CDNに前記情報を予測的に要求し、以前のユーザアクティビティに基づいて前記情報をメモリに記憶することと、
前記CDNからの情報を求める前記クライアントデバイスからの前記要求に、前記メモリに記憶された前記情報を用いて応答することと、
を含み、
前記CDNからの前記情報はマスタープレイリストまたはメディアプレイリストである、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、オンラインメディアストリーミングに関する。より詳細には、本開示は、HTTPライブストリーミング(HLS)の強化に関する。
【背景技術】
【0002】
オーバーザトップビデオストリーミングは、テレビと比較してますます人気が高まっている。人気はあるが、オーバーザトップ(OTT)ビデオストリーミングは、放送及びケーブルテレビと比較していくつかの不利な点を有する。具体的には、適応的なビットレートのストリーミング、たとえば、適応ビットレートストリーミングは、接続ハンドシェイク及びプレイリスト収集を必要とする。
【0003】
さらに、ストリーミングビデオアプリケーションは、ビデオを再生できるようになる前に、ビデオデータ及びそれに関連するマニフェストをダウンロードしてバッファリングしなければならない。そのため、ユーザが視聴するストリーミングビデオを選んでから、ビデオが実際に再生されるまでには、通常はある程度の遅延がある。この遅延は、特にネットワークの輻輳が激しいとき、またはネットワークの状態が遅いときに、ユーザを苛立たせる可能性がある。
【0004】
また、たとえば、PS4、Roku、Apple-TV、Android(登録商標) Mobileなどの複数のデバイス間でビデオの開始時間を短縮するための単一のソリューションを実装することが望ましいであろう。しかしながら、そのようなソリューションへの障害は、全てのHTTP要求が接続、セットアップ、及びハンドシェイク動作を経由する必要があるという事実から生じる。HTTPは通常ステートレスであるので、以前の要求の情報を常に記憶したり活用したりするわけではない。主な欠点は、サーバが大部分予測可能な要求パターンを利用していないために、サーバが多くの適応ビットレートストリーミングプロトコル用に最適化されていないということである。また、全ての再生クライアントがサーバと対話する場合に全てのネットワーク最適化を実装することは困難または実現不可能である。
【0005】
本開示の実施形態が生じるのはこの状況においてである。
【図面の簡単な説明】
【0006】
本開示の態様は、以下の詳細な説明を添付図面と併せて検討することによって容易に理解することができる。
【0007】
図1A】適応ビットレート(ABR)マルチメディアストリーミングシステムの一般的なアーキテクチャを示す図である。
図1B図1AのHLSシステムにおける従来技術のクライアントデバイスの動作を示す図である。
図2A】本開示の態様による、リダクティブエッジングを用いて強化されたHLSシステムを示す図である。
図2B】本開示の態様による、クライアントデバイスと通信するリダクティブエッジングデバイスの動作方法を示す図である。
図3】本開示の態様によるスタンドアロン型リダクティブエッジングデバイスを示す図である。
図4】本開示の態様による組み込み型リダクティブエッジングシステムを示す図である。
【発明を実施するための形態】
【0008】
以下の詳細な説明は、例示を目的として多くの特定の詳細を包含するが、当業者は、以下の詳細への多くの変形及び変更が本開示の範囲内にあることを認識するであろう。したがって、以下で説明する本開示の実施形態の例は、特許請求する開示に対して一般性を失うことなく、また、それに限定を課すことなく示している。
【0009】
本開示の実施形態の完全な理解を提供するために多数の特定の詳細を示しているが、他の実施形態がこれらの特定の詳細なしで実施され得ることが当業者には理解されよう。他の例では、よく知られている方法、手順、構成要素、及び回路については、本開示を曖昧にしないように、詳細には説明していない。本明細書の説明のいくつかの部分は、コンピュータメモリ内のデータビットまたは2値デジタル信号への演算のアルゴリズム及び記号表現の観点で表されている。これらのアルゴリズムの記述及び表現は、データ処理技術の当業者が自身の制作物の内容を他の当業者に伝えるために使用する手法であり得る。
【0010】
アルゴリズムとは、本明細書で使用する場合、所望の結果をもたらす首尾一貫した一連のアクションまたは動作である。これらは物理量の物理的操作を含む。通常、必須ではないが、これらの量は、記憶、変換、組み合わせ、比較、及び別の方法で操作されることが可能な電気または磁気信号の形をとる。主に一般的な用法の理由で、これらの信号をビット、値、要素、記号、文字、用語、番号などと称することが、好都合な場合があることが分かっている。
【0011】
特に明記していない限り、あるいは以下の議論から明らかな場合、説明全体を通して、「処理」、「計算」、「変換」、「調整」、「決定」または「識別」などの用語を用いた議論は、プロセッサのレジスタ及びアクセス可能なプラットフォームメモリ内で物理量(たとえば、電子量)として表されるデータを操作して、コンピュータプラットフォームメモリ、プロセッサレジスタ、または表示画面内で同様に物理量として表される他のデータに変換するプロセッサを含む電子コンピューティングデバイスであるコンピュータプラットフォームのアクション及び処理を指すことを理解されたい。
【0012】
コンピュータプログラムは、フロッピー(登録商標)ディスク、光ディスク(たとえば、コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタルビデオディスク(DVD)、Blu-Ray(登録商標)ディスク(商標)など)、及び光磁気ディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カードもしくは光カード、フラッシュメモリ、または電子命令の記憶に適した他の任意のタイプの非一時的媒体を含む任意のタイプのディスクなどであるがこれらに限定されないコンピュータ可読記憶媒体に記憶され得る。
【0013】
[序論]
本開示の態様は、クロスプラットフォームクライアント環境における同等性能の問題に対処するためのリダクティブエッジャー(reductive edger)の使用を通じて、既存の適応ビットレートストリーミングシステムに関連する欠点に対処する。ビデオは、適応ビットレートストリーミングの処理に関しては比較的同等の能力を有する様々なクライアントデバイスで消費される。
【0014】
本明細書では「エッジング(edging)」問題と呼ぶ問題は、どのようにしてこれら全てのクロスプラットフォームクライアントを、コンテンツ配信ネットワーク(CDN)によってホストされるコンテンツに同等にアクセスできるようするか、ということである。これらのデバイス全てが高度なエッジング技術全てを実装できると想定することは、可能性が低く、合理的でもない。本開示の態様によるリダクティブエッジング(Reductive Edging)アーキテクチャは、クライアントデバイスまたはクライアントアプリケーションの外部のコンポーネントにエッジインテリジェンスを提供するので、クライアントは、クライアントデバイスまたはアプリケーションを根本的に再構成する必要なく、高度なエッジング技術をうまく利用することができる。
【0015】
関連する問題の1つは「再生のロバスト性」であり、すなわち、クライアントデバイスまたはアプリケーションが適応ビットレートストリームを効率的に処理する能力である。これは特に、主流でない(fringe)構文及び機能、待ち時間、エラー、適応ビットレートなどに対処する際に重要である。これはエッジング問題よりもさらに複雑である。
【0016】
本明細書で説明するリダクティブエッジング技術は、クライアントデバイス及びアプリケーションをエッジング及びロバスト性の責務から解放して、それらがより単純なタスクでうまく機能することを可能にする。これらの責務を引き受けるリダクティブエッジャーは、本開示の態様の顕著な特徴である。
【0017】
[適応ビットレートストリーミングアーキテクチャ]
図1Aは、適応ビットレート(ABR)マルチメディアストリーミングシステム100の一般的なアーキテクチャを示している。パーソナルコンピュータ、セットトップテレビデバイス、電話、及びタブレットでのABRストリーミングマルチメディアの一般的なプロトコルの例には、HTTPライブストリーミング(HLS)と、動的適応ストリーミングオーバーHTTP(DASH)とが含まれる。マルチメディアストリーミングシステム100は、メディアフレームワーク102、コンテンツ配信ネットワーク及びサーバ106、鍵サーバ108、ならびにネットワーク101を介して接続されたクライアントデバイス104を含む。
【0018】
コンテンツ配信ネットワーク(CDN)106は、ネットワーク101を介して地理的に分散したクライアントデバイス104に効率的なマルチメディアコンテンツを提供するように構成される複数のサーバ及びデータサーバを含む。鍵サーバ108は、暗号鍵をクライアントデバイス104に提供する。暗号鍵はCDN106からのメディアコンテンツを復号するために使用され、これはデジタル著作権管理(DRM)の目的で暗号化され得る。メディアフレームワーク102は、ユニフォームリソースロケータ(URL)などを介してCDN106によって配信されるビデオコンテンツのネットワーク101上の場所を提供する。
【0019】
図1Bは、HLSシステム100における従来技術のクライアントデバイスの動作を示している。メディアがクライアントデバイス104上で再生できるようになる前に、クライアントデバイス104は、CDN106上のメディアストリームの場所の要求をメディアフレームワーク102に送信する。メディアフレームワーク102は、クライアントデバイス104にCDN106の場所を返信する。この場所は、たとえば、限定はしないが、URL、インターネットプロトコルアドレス(IPアドレス)などの形式であり得る。
【0020】
次いで、クライアントデバイス104は、マスタープレイリストの要求によってCDN106に連絡する。マスタープレイリストは、様々なビットレート、様々なフォーマット、またはコンテンツの代替レンディションでのメディアプレゼンテーションの場所を含むリストを提供する。次いで、CDN106は、マスタープレイリストをクライアントデバイス104に返信することによって応答する。
【0021】
次いで、クライアントデバイスは、メディアプレゼンテーションの特定のレンディションを選択し得る。これは、最適なビットレート選択及び対応するレンディションを計算的かつ動的に決定するクライアントのABRメカニズムを介して実行され得る。レンディションの選択に応答して、クライアントデバイス104は、メディアプレイリストの要求をCDN106に送信する。メディアプレイリストは、鍵の場所と、特定のフォーマット、ビットレートなどでのメディアプレゼンテーションのビデオセグメントとを含むリストを提供する。CDN106はメディアプレイリストを送信し、これはクライアントデバイス104で受信される。
【0022】
暗号化されたストリームのメディア再生の準備として、クライアントデバイス104は、メディアプレゼンテーションのビデオセグメントに固有の暗号鍵の要求を送信することによって、鍵サーバ108に連絡し得る。次いで、鍵サーバ108は要求された鍵を送信し、これはクライアントデバイス104によって受信される。この手順は、全てのストリームが暗号化されるわけではなく、他の形式のセキュリティがあれば、鍵がなくてもよいので、任意選択である。
【0023】
クライアントデバイスは、CDN106にメディアセグメントの要求を送信することによって、メディアプレゼンテーションのストリーミングを開始する。CDN106も同じようにメディアセグメントの送信を開始し、これはクライアントデバイス104で受信される。メディアセグメントは、エンコードされた音声、字幕データ、メタデータ及び制御データ、ならびに/あるいは、合わせて順番に再生されると、完全版のメディアプレゼンテーションを作成するメディアプレゼンテーションのビデオセグメントである。メディアセグメントはエンコードされ得、その場合、クライアントデバイスは、鍵サーバから受信した鍵を使用してメディアセグメントを復号し、再生を開始し得る。HLSシステムアーキテクチャの詳細については、引用により本明細書に組み込まれている、https://tools.ietf.org/html/rfc8216(2017年8月)から入手可能なPantos,R.P.“HTTP Live Streaming,”Request for Comments 8216,Network Working Group:1を参照されたい。
【0024】
[リダクティブエッジングで強化されたストリーミング]
図2Aは、本開示の態様による、リダクティブエッジングを用いて強化されたHLSシステムを示している。HLSベースのストリーミングのユーザエクスペリエンスは、リダクティブエッジングデバイスまたは組み込みデバイス210を使用した、より高速なデバイス起動時間と、短縮されたバッファリング時間とによって強化され得る。本開示の実施形態を使用して、64%高速なバッファリング時間と、60%高速な起動時間とが達成された。
【0025】
リダクティブエッジングは、組み込み型リダクティブエッジングデバイス210を有するクライアントデバイス204によって、もしくはローカルリダクティブエッジングデバイス210に接続されたクライアントデバイス203によって、またはネットワーク101を介してリダクティブエッジングデバイス210と通信するクライアントデバイスによって実行され得る。組み込み型リダクティブエッジングデバイスは、クライアントデバイスの専用回路内に作成され得、または専用命令と、プロセッサと、通信バスなどを介してクライアントデバイスのプロセッサに結合されたメモリとを有する別個の専用モジュールとして作成され得る。いくつかの実施態様では、リダクティブエッジングは、デバイスまたはそのオペレーティングシステム(OS)上のソフトウェアサービスとして実装され得る。
【0026】
ネットワークは、たとえば、限定はしないが、インターネット、ローカルエリアネットワーク(LAN)、または他の何らかのタイプのワイドエリアネットワーク(WAN)であり得る。プリフェッチデバイスは、動作中にメディアフレームワーク202、鍵サーバ208、CDN206、またはそれらの任意の組み合わせと、ネットワーク101を介して通信し得る。いくつかの実施態様では、プリフェッチデバイスは、クライアントデバイス経由で通信し得る。たとえば、メディアプリフェッチデバイスは、クライアントデバイスのネットワークインターフェースを使用して、ネットワーク101を介してサーバと通信し得る。
【0027】
図2Bは、本開示の態様による、クライアントデバイスと通信するリダクティブエッジングデバイスの動作方法を示している。二重線220によって示すように、クライアントデバイスがHLSデータをホストするサーバとの通信を開始する前に、メディアプリフェッチデバイスが動作を開始する。いくつかの実施態様では、リダクティブエッジングが二重線220より上の動作を実行している間、クライアントデバイスに電力が供給されなくてもよい。
【0028】
リダクティブエッジングデバイス210は、メディアフレームワークサーバ202の場所の要求をドメインネームシステム(DNS)に送信することによって動作を開始し得る。DNSはメディアフレームワークサーバの場所を、典型的にはIPアドレスの形式でリダクティブエッジングデバイス210に返信し、そこでそれが受信される。いくつかの実施態様では、リダクティブエッジングデバイス210は、信頼できるソースに連絡し、暗号化された通信のためのセキュアソケットレイヤ(SSL)証明書をダウンロードし得る。この信頼できるソースは、メディアフレームワーク202の一部であり得る。SSL証明書は、SSL対応サーバとの通信中に通信を暗号化するために使用される。この暗号化により、第三者によって傍受されたサーバからクライアントへの通信、及びその逆の通信が理解不能になる。
【0029】
次いで、リダクティブエッジングデバイス210は、CDNの場所の要求をメディアフレームワーク202に送信し得る。メディアフレームワーク202は、CDNの場所をリダクティブエッジングデバイス210に返し得る。次いで、CDNの場所は記憶され、その後の通信に使用される。リダクティブエッジングデバイス210は、マスタープレイリストを要求する通信を、ネットワークを介してCDN206に送信する。それに応答して、CDN206は、ネットワークを介してマスタープレイリストを送信し、これはリダクティブエッジングデバイス210によって受信される。次いで、リダクティブエッジングデバイス210は、マスタープレイリストを記憶する。
【0030】
上記で論じたように、マスタープレイリストは、様々なビットレート、様々なフォーマット、またはコンテンツの代替バージョンでのメディアプレゼンテーションの場所のリストを含む。CDN206上の異なるメディアプレゼンテーションの数は有限である。したがって、ストリーミング処理を加速するために、いくつかの実施態様では、メディアプリフェッチャは、CDN206上の全てのメディアプレゼンテーションを含むマスタープレイリストを要求し得る。次いで、マスタープレイリストは、メモリまたは大容量ストレージに記憶される。いくつかの実施態様では、リダクティブエッジングデバイス210は、マスタープレイリストに必要なダウンロード時間及びメモリスペースを削減するために、マスタープレイリストを予測的に要求し得る。たとえば、限定はしないが、リダクティブエッジングデバイスは、ユーザの視聴習慣をテーブルに追跡して、ユーザが最後に視聴したコンテンツの記録をデバイスが有するようにし得る。デバイスは、ユーザがそのコンテンツの視聴を要求する前に、さらにはクライアントデバイスを起動する前に、そのコンテンツのマスターリストをダウンロードし得る。同様に、ゲームの場合、システムはユーザが頻繁にプレイするゲームを追跡し、ゲームのプレイ時間またはセッション数が特定の閾値を超えた場合に、マスターリストをダウンロードし得る。この実施態様はゲームのコンテキストで説明したが、ビデオまたは音楽などの他のメディアタイプにも適用され得ることに留意されたい。
【0031】
マスタープレイリストがリダクティブエッジングデバイス210で受信されると、リダクティブエッジングデバイス210によってメディアプレイリストの要求がCDN206に送信され得る。マスタープレイリストと同様に、CDN206上には有限数のメディアプレゼンテーションが存在する。したがって、リダクティブエッジングデバイスは、CDN206上の全てのメディアプレゼンテーションのメディアプレイリストを要求し得る。また、ダウンロードされるコンテンツプレイリストの数を削減するために、予測的な方法が使用され得る。コンテンツリストの先見的なフェッチのための予測方法は、マスタープレイリストに関して上記で説明した方法と実質的に同様である。ただし、コンテンツプレイリストに関するユーザアクティビティの追跡は、より粒度が細かくなければならず、その理由は、コンテンツプレイリストが特定のメディアプレゼンテーションを表すのに対し、マスタープレイリストは様々なビットレート、様々なフォーマット、またはコンテンツの代替バージョンを有するメディアプレゼンテーションのセットを表すためである。
【0032】
CDN206は、メディアプレイリストの要求を受信した後、ネットワークを介してリダクティブエッジングデバイス210にメディアプレイリストを送信する。メディアプレイリストは、リダクティブエッジングデバイス210によって受信され、メモリまたは大容量ストレージに記憶される。
【0033】
次いで、リダクティブエッジングデバイス210は、CDN206から受信した各メディアプレイリストの鍵を鍵サーバ208に要求し得る。これらの鍵は、鍵サーバ208からリダクティブエッジングデバイス210によって受信された後、メモリまたは大容量ストレージに記憶される。
【0034】
ユーザがクライアントデバイス203上でストリーミングシステムを開始すると、クライアントデバイス203とリダクティブエッジングデバイス210との間の通信が開始し得る。クライアントデバイスは、あたかもリダクティブエッジングデバイスがメディアフレームワークの一部であり、コンテンツ配信ネットワーク内に存在するかのように、リダクティブエッジングデバイスと通信するように構成され得る。そのため、リダクティブエッジングデバイス210は、クライアントデバイス203からCDNの場所の要求を受信し得る。リダクティブエッジングデバイス210は、要求をメディアフレームワーク202に転送する。メディアフレームワーク202はCDNの場所を返答し、これはクライアントデバイス203によって受信される。同時にリダクティブエッジングデバイス210は、コンテンツプレイリスト要求をCDN206に送信する。CDN206はコンテンツプレイリストを送信し、コンテンツプレイリストはリダクティブエッジングデバイス210によって受信される。
【0035】
CDNの場所を受信した後、クライアントデバイス203は、リダクティブエッジングデバイス210に対するマスタープレイリストの要求を送信する。クライアントデバイス203は、CDN206に連絡する前に、またはCDN206の代わりに、リダクティブエッジングデバイス210にプレイリストを要求するように構成され得る。マスタープレイリストの要求を受信した後、リダクティブエッジングデバイス210は、要求されたマスタープレイリストをクライアントデバイス203に送信し得る。リダクティブエッジングデバイスは前もってCDNから全てのマスタープレイリストを受信しているので、このデバイスは全てのマスタープレイリストを既にメモリに有している。マスタープレイリストを予測的に要求する実施態様では、メモリは要求される可能性が高いマスタープレイリストを含み、その結果、予測が間違っている可能性があり、その場合には、要求がCDN206に転送される。
【0036】
マスタープレイリスト要求を受信した後、リダクティブエッジングデバイス210はまた、先見的なキャッシングのために、メディアセグメントの要求をCDN206に送信し得る。いくつかの実施態様では、リダクティブエッジングデバイス210は、クライアントデバイス203によって要求されたマスタープレイリスト内の全てのメディアプレイリストのメディアセグメントを要求し得る。他の実施態様では、リダクティブエッジングデバイス210は、最近要求されたメディアプレイリストを追跡し、同じメディアプレイリストまたは合致するメディアプレイリストのメディアセグメントを要求し得る。限定ではなく例として、リダクティブエッジングデバイスは、最近要求された5つのメディアプレイリスト、ダウンロードされたメディアセグメントなどのテーブルを保持し得る。たとえば、各メディアプレイリストに関する何らかのメタ情報が存在し得、テーブルエントリは、メディアプレイリストが通常要求される順序に関する情報、及び要求される可能性が高い次のメディアプレイリストの場所に関する情報、すなわち、「前回の視聴:ブレイキング・バッド エピソード1、次のエピソード:ブレイキング・バッド エピソード2、次のエピソードの場所:Location.Location」を有し得る。リダクティブエッジングデバイスは、メタ情報と合致するメディアのメディアセグメント、たとえば、限定はしないが、シリーズの次のエピソードを要求し得る。他の実施態様では、テーブルは、言語及び接続速度などのユーザ設定を追跡し、それらの設定に一致するマスターリストのメディアセグメントを要求し得る。
【0037】
CDN206は、メディアセグメントの要求を受信した後、リダクティブエッジングデバイス210へのメディアセグメントの送信を開始する。リダクティブエッジングデバイス210は、CDN206からメディアセグメントを受信して記憶する。メディアセグメントはメモリに、たとえば、バッファまたは大容量ストレージに記憶され得る。
【0038】
クライアントデバイス203は、リダクティブエッジングデバイス210にメディアプレイリストを要求し得る。それに応答して、リダクティブエッジングデバイス210は、メディアプレイリストをクライアントデバイス203に送信し得る。リダクティブエッジングデバイス210は、要求されたマスタープレイリストの全てのメディアプレイリストを既にメモリに有しているので、要求されたメディアプレイリストをメモリから取り出すだけでよい。
【0039】
次に、クライアントデバイス203は、リダクティブエッジングデバイス210にメディアセグメントを要求し得る。メディアセグメントの要求がリダクティブエッジングデバイス210で受信されると、メディアセグメントについてメモリまたは大容量ストレージに問い合わせを行い得る。メディアセグメントが見つかった場合、リダクティブエッジングデバイスはセグメントをクライアントデバイス203に送信する。メディアセグメントが見つからなかった場合、メディアセグメントの要求がCDN206に送信される。CDNは、メディアセグメントの要求を受信すると、要求されたメディアセグメントをリダクティブエッジングデバイス210に送信する。リダクティブエッジングデバイス210は、メディアセグメントを受信した後、メディアセグメントをメモリまたは大容量ストレージに記憶する。新しく記憶されたメディアセグメントは次いで、クライアントデバイス203に送信され得る。上記で論じたように、メディアセグメントは、DRM保護の一部として、ひいては記憶処理の一部として暗号化され得、リダクティブエッジングデバイス210は、鍵サーバから受信した正しい鍵でメディアセグメントを復号する。他の実施態様では、メディアセグメントは、クライアントデバイスに送信される前に復号され得る。メディアセグメントがCDN206から送信され、リダクティブエッジングデバイス210で受信されると、リダクティブエッジングデバイス210は、クライアントデバイス203に先立ってメディアセグメントを記憶し、必要に応じてクライアントデバイス203に送信し得る。
【0040】
[スタンドアロン型リダクティブエッジングシステム]
図3は、本開示の態様によるスタンドアロン型リダクティブエッジングデバイスを示している。スタンドアロン型リダクティブエッジングデバイスまたはエッジャー300は、ネットワークインターフェース307を介してLANまたはWAN越しにローカルクライアントデバイス302に結合され得る。他の代替の実施態様では、スタンドアロン型リダクティブエッジングデバイスは、ネットワークインターフェース307を介して、インターネットなどの大規模ネットワーク304越しに、非ローカルデバイス303、たとえば、サーバまたは他のクライアントと通信し得る。いくつかの実施態様では、クライアントデバイスは、通信バス(図示せず)、たとえば、限定はしないが、ペリフェラルインターコネクト(PCI)バス、PCI Expressバス、ユニバーサルシリアルバス(USB)、イーサネット(登録商標)ポート、Fire-wireコネクタまたは同様のインターフェースを介して、スタンドアロン型リダクティブエッジングデバイスに接続される。
【0041】
スタンドアロン型リダクティブエッジングデバイス300は1つまたは複数のプロセッサユニット306を含み得、これらは、たとえば、シングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサ-コプロセッサ、セルプロセッサなどのよく知られているアーキテクチャに従って構成され得る。また、スタンドアロン型リダクティブエッジングデバイス300は、1つまたは複数のメモリユニット305(たとえば、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、読み取り専用メモリ(ROM)など)を含み得る。
【0042】
プロセッサユニット306は1つまたは複数の命令308を実行し得、その一部はメモリ305に記憶され得、プロセッサ306はバスまたはバス型接続を介してメモリに動作可能に結合され得る。命令308は、図2Bに示すHLSシステムにおいてプリフェッチするための方法を実装するように構成され得る。さらに、メモリ305は、HLSサーバの場所を定義するHLSライブラリ及びプロトコルスタックにプレイリストを記憶するための命令を含み得る。また、メモリ305はHLSライブラリ310及びプロトコルスタック311を含み得る。命令308は、動作中にメディアセグメントをキャッシュ309に記憶することをさらに実施し得る。また、キャッシュ309はメモリ305内に配置され得る。
【0043】
スタンドアロン型リダクティブエッジングデバイス300は、電子通信ネットワーク304を介した通信を容易にするためのネットワークインターフェース307を含み得る。ネットワークインターフェース307は、ローカルエリアネットワーク及びインターネットなどのワイドエリアネットワークを介して有線または無線通信を実施するように構成され得る。デバイス300は、ネットワーク304上で1つまたは複数のメッセージパケットを介してファイルのデータ及び/または要求を送受信し得る。ネットワーク304を介して送信されるメッセージパケットは、メモリ305内のキャッシュ309に一時的に記憶され得る。クライアントデバイス302は、ネットワークインターフェース307を介して電子通信ネットワーク304に接続し得る。あるいは、クライアントデバイス303は、電子通信ネットワーク304を介してスタンドアロン型リダクティブエッジングデバイス300と通信し得る。
【0044】
[組み込み型リダクティブエッジングシステム]
図4は、本開示の態様による組み込み型リダクティブエッジングシステムを示している。組み込み型リダクティブエッジングシステムは、ユーザ入力デバイス402に結合されたクライアントコンピューティングデバイス400を含み得る。ユーザ入力デバイス402は、コントローラ、タッチスクリーン、マイクロフォン、キーボード、マウス、ジョイスティック、またはユーザが音声データを含む情報をシステムに入力することを可能にする他のデバイスであり得る。
【0045】
組み込み型リダクティブエッジングデバイス400のクライアントデバイスは1つまたは複数のプロセッサユニット403を含み得、これらは、たとえば、シングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサ-コプロセッサ、セルプロセッサなどのよく知られているアーキテクチャに従って構成され得る。また、コンピューティングデバイスは、1つまたは複数のメモリユニット404(たとえば、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、読み取り専用メモリ(ROM)など)を含み得る。
【0046】
プロセッサユニット403は1つまたは複数のプログラムを実行し得、その一部はメモリ404に記憶され得、プロセッサ403は、たとえば、データバス405を介してメモリにアクセスすることによって、メモリに動作可能に結合され得る。プログラムは、HLSシステムを介したメディアのストリーミング408を実施するように構成され得る。さらに、メモリ404は、システムと1つまたは複数のストリーミングサーバとの間の接続に関する情報410を含み得る。また、メモリ404は、メディアセグメントのバッファ409を含み得る。また、メディアセグメント及び接続情報は、マスストア418にデータ418として記憶され得る。
【0047】
また、コンピューティングデバイス400は、入出力(I/O)回路407、電源(P/S)411、クロック(CLK)412、及びキャッシュ413などのよく知られているサポート回路を含み得、これらはバス405などを介してシステムの他の構成要素と通信し得る。コンピューティングデバイスは、ネットワークインターフェース414を含み得る。プロセッサユニット403及びネットワークインターフェース414は、ローカルエリアネットワーク(LAN)またはパーソナルエリアネットワーク(PAN)を、適切なネットワークプロトコル、たとえばPANの場合ブルートゥース(登録商標)を介して実装するように構成され得る。コンピューティングデバイスは、ディスクドライブ、CD-ROMドライブ、テープドライブ、フラッシュメモリなどの大容量ストレージデバイス415を任意選択で含み得、大容量ストレージデバイスはプログラム及び/またはデータを記憶し得る。また、コンピューティングデバイスは、システム及びユーザの間のインタラクションを容易にするためのユーザインターフェース416を含み得る。ユーザインターフェースは、モニタ、テレビ画面、スピーカー、ヘッドホン、またはユーザに情報を伝達する他のデバイスを含み得る。
【0048】
コンピューティングデバイス400は、電子通信ネットワーク420を介した通信を容易にするためのネットワークインターフェース414を含み得る。ネットワークインターフェース414は、ローカルエリアネットワーク及びインターネットなどのワイドエリアネットワークを介して有線または無線通信を実施するように構成され得る。デバイス400は、ネットワーク420上で1つまたは複数のメッセージパケットを介してファイルのデータ及び/または要求を送受信し得る。ネットワーク420を介して送信されるメッセージパケットは、メモリ404内のバッファ409に一時的に記憶され得る。
【0049】
いくつかの実施態様では、組み込み型リダクティブエッジングまたは組み込み型エッジャー421は、クライアントデバイス400の組み込みハードウェアコンポーネントであり得、これはバスを介してメインプロセッサに結合され得、クライアントデバイス上で実行されるストリーミングアプリケーションなどのアプリケーションから要求が受信され得る。いくつかの実施態様では、組み込み型エッジャー421は、CDNまたは他のサーバ向けのネットワーク通信を開始及び傍受し得る。これらの実施態様では、組み込み型エッジャー421にはネットワークインターフェースがなくてもよく、またはネットワークインターフェースが使用されなくてもよい。他の実施態様では、組み込み型エッジャー及びエッジャーの機能は、メモリ404に記憶されたストリーミングソフトウェア408に、またはマスストア415に記憶されたプログラム417に実装され、プロセッサ403上で実行され得る。
【0050】
いくつかの代替の実施態様では、組み込み型エッジャー421は、I/O機能407などのローカルな非ネットワーク接続などを介してクライアントデバイス400に結合される外付けデバイスであり得る。
【0051】
組み込み型エッジャーユニット421のプロセッサは1つまたは複数の命令424を実行し得、その一部はエッジャーメモリ422に記憶され得、プロセッサ423はバスまたはバス型接続を介してメモリ422に動作可能に結合され得る。命令424は、図2Bに示すHLSシステムにおいてプリフェッチするための方法を実装するように構成され得る。さらに、メモリ422は、HLSサーバの場所を定義するHLSライブラリ及びプロトコルスタックにプレイリストを記憶するための命令を含み得る。また、メモリ422はHLSライブラリ310及びプロトコルスタック311を含み得る。命令424は、動作中にメディアセグメントをデータ425として記憶することをさらに実施し得る。あるいは、HLSライブラリ、プロトコルスタック、及びメディアセグメントは、クライアントデバイス400のバッファ409に格納されていてもよいし、もしくはメモリ404内の接続情報410として、またはマスストア415内のデータ418として記憶され得る。
【0052】
上記が本開示の好ましい実施形態の完全な説明であるが、様々な代替例、修正例、及び均等物を使用することが可能である。上記の説明は限定的ではなく例示的であることを意図していることを理解されたい。たとえば、図のフロー図は、本開示の特定の実施形態によって実行される特定の順序の動作を示しているが、そのような順序は必須ではないことを理解されたい(たとえば、代替の実施形態は、それらの動作を異なる順序で実行する、特定の動作を組み合わせる、特定の動作をオーバーラップさせる、などし得る)。さらに、上記の説明を読んで理解すると、当業者には他の多くの実施形態が明らかになろう。本開示は、特定の例示的な実施形態を参照して説明してきたが、本開示が説明した実施形態に限定されず、添付の特許請求の範囲の趣旨及び範囲内で修正及び変更して実施できることは理解されよう。したがって、本開示の範囲は、添付の特許請求の範囲を参照して、そのような特許請求の範囲に権利が与えられる均等物の全範囲に沿って判断されるべきである。好ましいか否かに関わらず、本明細書に記載した任意の特徴は、好ましいか否かに関わらず、本明細書に記載した他の任意の特徴と組み合わせられ得る。以下に続く特許請求の範囲では、不定冠詞「a」または「an」は、明示的に特別の定めがない限り、冠詞に続く項目の1つまたは複数の数量を指す。添付の特許請求の範囲は、ミーンズプラスファンクションの限定を含むものとして解釈されるべきではなく、ただし、所与の請求項において「~するための手段(means for)」という語句を使用してそのような限定が明示的に記載されている場合を除く。
図1A
図1B
図2A
図2B
図3
図4