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

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

▶ フェニックス リアル タイム ソリューションズ, インコーポレイテッドの特許一覧

特表2023-540528対象とするコンテンツのリアルタイムトリーミングメディアへの挿入
<>
  • 特表-対象とするコンテンツのリアルタイムトリーミングメディアへの挿入 図1
  • 特表-対象とするコンテンツのリアルタイムトリーミングメディアへの挿入 図2
  • 特表-対象とするコンテンツのリアルタイムトリーミングメディアへの挿入 図3
  • 特表-対象とするコンテンツのリアルタイムトリーミングメディアへの挿入 図4
  • 特表-対象とするコンテンツのリアルタイムトリーミングメディアへの挿入 図5
  • 特表-対象とするコンテンツのリアルタイムトリーミングメディアへの挿入 図6
  • 特表-対象とするコンテンツのリアルタイムトリーミングメディアへの挿入 図7
  • 特表-対象とするコンテンツのリアルタイムトリーミングメディアへの挿入 図
  • 特表-対象とするコンテンツのリアルタイムトリーミングメディアへの挿入 図
  • 特表-対象とするコンテンツのリアルタイムトリーミングメディアへの挿入 図
  • 特表-対象とするコンテンツのリアルタイムトリーミングメディアへの挿入 図
  • 特表-対象とするコンテンツのリアルタイムトリーミングメディアへの挿入 図
  • 特表-対象とするコンテンツのリアルタイムトリーミングメディアへの挿入 図
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-09-25
(54)【発明の名称】対象とするコンテンツのリアルタイムトリーミングメディアへの挿入
(51)【国際特許分類】
   H04N 21/258 20110101AFI20230915BHJP
   H04N 21/2665 20110101ALI20230915BHJP
   H04H 60/82 20080101ALI20230915BHJP
【FI】
H04N21/258
H04N21/2665
H04H60/82
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023514870
(86)(22)【出願日】2021-09-03
(85)【翻訳文提出日】2023-04-24
(86)【国際出願番号】 US2021049045
(87)【国際公開番号】W WO2022051612
(87)【国際公開日】2022-03-10
(31)【優先権主張番号】63/074,902
(32)【優先日】2020-09-04
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/465,581
(32)【優先日】2021-09-02
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519379400
【氏名又は名称】フェニックス リアル タイム ソリューションズ, インコーポレイテッド
(74)【代理人】
【識別番号】110000062
【氏名又は名称】弁理士法人第一国際特許事務所
(72)【発明者】
【氏名】ブスタマンテ, ファビアン イー.
(72)【発明者】
【氏名】ビーラー, ステファン
(72)【発明者】
【氏名】ロス, ニコラス
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA06
5C164FA25
5C164MA05S
5C164SA11S
5C164SB29S
5C164SC04P
5C164SC11P
5C164TA21S
5C164TB45S
5C164UD41S
5C164YA27
(57)【要約】
リアルタイムストリーミングにおける対象とするコンテンツ挿入のための方法。本方法は、領域の選択、制御チャネルへの接続、およびリアルタイムメディアストリームにおけるコンテンツ選択、トランスコード、および挿入のマルチステージプロセスをガイドするためのストリームへの加入を含む、リアルタイムメディア(ビデオおよび/またはオーディオ)ストリームに加入するときにクライアントが時間、マルチステッププロセス上で利用可能な異なる順序付けられた信号を活用する。リアルタイムストリーミングアーキテクチャ上で説明した方法を実装するためのシステムも指定される。
【選択図】図1
【特許請求の範囲】
【請求項1】
リアルタイムメディアストリームにコンテンツ要素を挿入する方法であって:
クライアントデバイスに関連付けられた特徴のセットを受信するステップであって、
前記特徴のセットは、前記クライアントデバイスのために選択された地理的領域を示す第1の信号に関連して受信される、ステップ;
前記クライアントデバイスに関連付けられた前記特徴のセットに基づいて前記コンテンツ要素を選択するステップであって、
前記コンテンツ要素は、前記リアルタイムメディアストリームの制御チャネルに前記クライアントデバイスを加入させるための第2の信号に対して選択される、ステップ;
修正されたリアルタイムメディアストリームを生成するために、前記リアルタイムメディアストリームにコンテンツ要素を挿入するステップであって、
前記コンテンツ要素は、クライアントデバイスをリアルタイムメディアストリームに加入させるための第3の信号に対して、リアルタイムメディアストリームに挿入され、第1の信号または第2の信号は、第3の信号の前に処理される、ステップ;
修正されたリアルタイムメディアストリームをクライアントデバイスに通信する、ステップ
を備える方法。
【請求項2】
前記修正されたリアルタイムメディアストリームを前記クライアントデバイスに通信する前に、
クライアントデバイスから、リアルタイムメディアストリームに加入する要求を受信すとステップであって、
前記リアルタイムメディアストリームは、キューインまたはキューアウトのポイントを示す位置に関連付けられた複数のスプライスポイントを含み、
前記コンテンツ要素は、前記複数のスプライスポイントのスプライスポイントに挿入される、ステップ
をさらに備える、請求項1に記載の方法。
【請求項3】
前記修正されたメディアストリームを前記クライアントデバイスに通信する前に、
前記クライアントデバイスのために利用可能な複数の地理的領域から選択された前記地理的領域の指示を受信するステップであって、
前記コンテンツ要素は、前記選択された地理的領域のために指定された複数のコンテンツ要素の中から選択される、ステップ
をさらに備える、請求項1に記載の方法。
【請求項4】
前記修正されたメディアストリームを前記クライアントデバイスに通信する前に、
前記コンテンツ要素をトランスコードするステップ、および
前記トランスコードされたコンテンツ要素を、地理的領域に関連付けられたキャッシュメモリに格納するステップ、
をさらに備える、請求項1に記載の方法。
【請求項5】
記クライアントデバイスに関連付けられた前記特徴のセットは、
前記リアルタイムメディアストリームの視聴者の人口統計情報と、
前記視聴者の好みの表示と、
前記視聴者の行動の表示と、
のいずれかを備える、請求項1に記載の方法。
【請求項6】
前記修正されたリアルタイムメディアストリームを前記クライアントデバイスに通信する前に、
前記クライアントデバイスを制御チャネルに加入させるための前記第2の信号に対してコンテンツ要素をトランスコードするステップであって、
前記トランスコードされたコンテンツ要素が、前記リアルタイムメディアストリームに挿入されるステップ、
を備える、請求項1に記載の方法。
【請求項7】
前記コンテンツ要素を選択するステップは、
複数のコンテンツ要素の中から前記コンテンツ要素を選択するステップであって、
前記複数のコンテンツ要素は、前記リアルタイムメディアストリームのコンテンツに基づいて識別される、ステップ、
を備える、請求項1に記載の方法。
【請求項8】
前記コンテンツ要素が、広告セグメントであって、
前記広告セグメントを前記リアルタイムメディアストリームに挿入するように構成された広告挿入サービスを選択する、ステップ、
をさらに備える、請求項1に記載の方法。
【請求項9】
前記コンテンツ要素を選択するステップは、
前記地理的領域に対して指定されたキャッシュメモリから前記コンテンツ要素を選択する、ステップ、をさらに備える、請求項1に記載の方法。
【請求項10】
前記クライアントデバイスが前記リアルタイムメディアストリームに加入する前に、前記キャッシュメモリには、リアルタイムメディアストリームに挿入するために選択された複数のコンテンツ要素が、事前入力される、請求項9に記載の方法。
【請求項11】
一時的な信号を除外し、かつそしてシステムの少なくとも1つのデータプロセッサによって実行される場合、システムに次の実行:
クライアントデバイスをリアルタイムメディアストリームに加入させる要求を受信させる実行であって、前記要求は、前記リアルタイムメディアストリームの見込み視聴者によって前記クライアントデバイスに入力される、実行;
前記リアルタイムメディアストリーム用のストリーミングサービスの制御チャネルに前記クライアントデバイスを加入させる実行;
見込み視聴者の人口統計情報および前記クライアントデバイスの地理的領域に基づいて、複数のコンテンツ要素の中からコンテンツ要素を選択させる実行;
前記選択されたコンテンツ要素をトランスコードさせる実行;
前記トランスコードされたコンテンツ要素を前記地理的領域のキャッシュメモリに記憶させ;
前記リアルタイムメディアストリームにおける前記トランスコードされたコンテンツ要素をスプライスし、それによって修正メディアストリームを生成させる実行;そして
前記クライアントデバイスを前記修正メディアストリームに加入させる実行
をさせる命令を保持する、
少なくとも1つのコンピュータ可読記憶媒体。
【請求項12】
前記システムに、:
別のクライアントデバイスを別のメディアストリームに加入させる要求を受信させ;
前記トランスコードされたコンテンツ要素を前記キャッシュメモリから取り出させ;
前記トランスコードされたコンテンツ要素を前記他のメディアストリームにおける前記キャッシュメモリからスプライスさせ;そして
前記トランスコードされたコンテンツ要素を含む前記他のメディアストリームに前記他のクライアントデバイスを加入させる、
請求項11に記載の、少なくとも1つのコンピュータ可読記憶媒体。
【請求項13】
少なくとも1つのコンピュータ記憶媒体であって、前記複数のコンテンツ要素の各々は、広告サービスによって管理される広告コンテンツを含む、請求項11に記載の、少なくとも1つのコンピュータ可読記憶媒体。
【請求項14】
以下を備えるクライアントデバイスであって:
ネットワークインタフェースと;
表示デバイスと;
デコーダと;
プロセッサと、
プロセッサによって実行される場合、前記クライアントデバイスに以下を実行させる命令を格納するメモリであって、:
リアルタイムにキャプチャされたリアルタイムストリーミングコンテンツのための加入サービスへの要求をネットワークインターフェースを用いて通信させ;
前記クライアントデバイスのユーザの人口統計情報を前記ネットワークインターフェースを使用して通信させ;
前記ネットワークインターフェースを使用して、前記リアルタイムストリーミングコンテンツの符号化バージョンを受信させ、前記ストリーミングコンテンツは、人口統計学的情報を対象とするコンテンツ要素を含み;
復号器を用いることによって、前記リアルタイムストリーミングコンテンツの前記符号化バージョンを復号して、前記コンテンツ要素を含む復号されたストリーミングコンテンツを生成させ;そして
前記コンテンツ要素を含む前記復号されたストリーミングコンテンツを前記表示デバイスに表示させる、
メモリとを
備える、クライアントデバイス。
【請求項15】
前記コンテンツ要素は、前記ユーザの前記人口統計情報と前記クライアントデバイスの地理的領域とに基づいて選択された広告を含む、請求項14に記載のクライアントデバイス。
【請求項16】
リアルタイムコンテンツストリームに加入する要求をクライアントデバイスから受信するステップであって、
前記リアルタイムコンテンツストリームは、1つまたは複数のスプライスポイントを含み、そして、
前記1つまたは複数のスプライスポイントは、前記コンテンツストリームにおける位置に関連付けられていて、そしてキューインまたはキューアウトのポイントを示す、ステップ;
前記リアルタイムコンテンツストリームに前記クライアントデバイスを加入させるためのプロセスの複数の順序付けられた信号を増強するステップであって、
複数の順序付けられた信号を増強するステップは:
前記クライアントデバイスに関連付けられたユーザの特徴のセットを受信するステップ;
前記特徴のセットに基づいて、前記リアルタイムコンテンツストリームに挿入するように構成されたコンテンツ要素を選択するステップ;
前記リアルタイムコンテンツストリームの前記キューインまたはキューアウトのポイントに対して前記コンテンツ要素を挿入し、それによって修正されたコンテンツストリームを生成するステップ;および、
前記修正されたコンテンツストリームを前記クライアントデバイスに通信するステップ、を含む、ステップ
を備える、方法。
【請求項17】
前記複数の順序付けられた信号を増強するステップは、:
広告サービスに対する広告コンテンツの要求を発行するステップ;
前記広告サービスに対する前記要求に応答して、広告を含む前記選択されたコンテンツ要素を受信するステップ;
前記リアルタイムコンテンツストリームのための制御チャネルに前記クライアントデバイスを加入させる際に、前記コンテンツ要素をトランスコードするステップ、
前記リアルタイムメディアストリームの挿入のために、前記トランスコードされたコンテンツ要素をキャッシュストレージに記憶するステップ、
を備える、請求項16に記載の方法。
【請求項18】
前記複数の順序付けられた信号を増強するステップは:
前記リアルタイムコンテンツストリームのための前記制御チャネルに別のクライアントデバイスを加入させる際に、前記キャッシュストレージからコンテンツ要素を取り出すステップ;および
前記他のクライアントデバイスのために前記リアルタイムコンテンツストリームに前記コンテンツ要素を挿入するステップ、
を備える、請求項17に記載の方法。
【請求項19】
前記広告サービスが、閾値イベントの前に、前記リアルタイムコンテンツストリーム内の第1のコンテンツ要素を適時に選択、トランスコード、または挿入することができないと決定するステップ、そして
前記第1のコンテンツ要素の代わりに、前記リアルタイムコンテンツストリーム内に挿入するための第2のコンテンツ要素を選択するステップ、
を備える、請求項17に記載の方法。
【請求項20】
前記第1のコンテンツ要素は、ユーザを対象とし、そして
前記第2のコンテンツ要素は、前記ユーザを対象としない一般的なコンテンツ要素である、請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
(関連出願の相互参照)本出願は、2021年9月2日に出願された米国特許出願第17/465,581号、ならびに2020年9月4日に出願された「Method and System for Ad Insertion in Real-Time」と題された米国仮特許出願第63/074,902号の利益を主張し、その全体が参照により本明細書に組み込まれる。
【0002】
開示される教示は、ストリーミングメディアに関する。より詳細には、開示される教示は、リアルタイムストリーミングメディアにコンテンツを挿入することに関する。
【背景技術】
【0003】
ストリーミングメディアは、インターネット上の支配的なアプリケーショントラフィックである。典型的なメディアストリーミングサービスでは、ビデオおよび/またはオーディオデータは、パケットのシーケンスとして、サーバの集合からいくつかのクライアントデバイスへストリーミングされる。個々のクライアントデバイスは、例えば、インターネットを介して受信されたマルチメディアを再生することができる受信機である。現在、ほとんどのメディアストリーミングはビデオオンデマンド(VoD)または「ライブ」ビデオストリーミング(例えば、Apple HTTP Live Streaming(HLS))に焦点を当てており、これは、再生前にクライアントデバイスにおいてパケットを収集するために比較的大きなバッファを必要とする。
【0004】
非リアルタイムストリーミングサービスは「ストリームラグ」に対する高い許容度を有する。このストリームラグとは、ストリーミングされるイベント(またはその中の特定のアクション)が発生してから、ストリーミングされるイベントがクライアントデバイスに配信されるまでの時間をいう。アップル社のHLSなどのソリューションによって提供されるようなライブマルチメディアストリーミングの場合、10秒単位のストリームラグは珍しくなく、一般に許容可能であると考えられる。ユーザが任意の時間に(すなわち、典型的な静的放送スケジュールによって課される制約なしに)ビデオエンターテインメントにアクセスすることができるVoDの場合、ストリームラグは、事実上無限であると考えることができる。
【図面の簡単な説明】
【0005】
本発明の実施の詳細な説明は、添付の図面を用いて説明され、明白にされる。
図1】リアルタイムストリーミングメディアにコンテンツを挿入するように構成されたハードウェアおよびソフトウェアコンポーネントを含むシステムを示す。
図2】世界中に広がるシステムのアーキテクチャを示す。
図3】対象とするコンテンツ要素が挿入されたリアルタイムストリーミングメディアを再生することができるクライアントデバイスを示すブロック図である。
図4】リアルタイムメディアストリームに加入するクライアントデバイスの加入プロセスを示すフローチャートである。
図5】リアルタイムメディアストリームに対象とするコンテンツ要素を挿入するために、図4の加入プロセスを拡張するプロセスを含むフローチャートを示す。
図6】異なるソースからのコンテンツ要素をリアルタイムストリーミングメディアに動的に挿入するためのプロセスを示すフロー図である。
図7】ここで説明される少なくともいくつかの動作が実装され得る処理システムの一例を示すブロック図である。
【0006】
ここに説明された技術は、図面と併せて詳細な説明を検討することにより、当業者にはより明らかになるのであろう。本発明の態様を説明する実施形態または実装は、例として示され、同じ参照符号は同様の要素を示すことができる。図面は例示の目的で様々な実装を言うが、当業者は本技術の原理から逸脱することなく代替の実装が採用され得ることを認識するであろう。したがって、特定の実装が図面に表されているが、本技術は様々な修正を受け入れることができる。
【発明を実施するための形態】
【0007】
以下に述べる実施形態は、当業者が実施形態を実施することを可能にしおよび実施形態を実施する最良の形態を示すために必要な情報を表す。添付の図面に照らして以下の説明を読むと、当業者は、本開示の概念を理解し、本明細書で特に対処しないこれらの概念の適用を認識するであろう。これらの概念およびアプリケーションは、本開示および添付の実施形態の範囲内にある。
【0008】
実施形態は、特定のコンピュータプログラム、システム構成、ネットワークなどを参照して説明されてもよい。しかしながら、当業者は、これらの特徴が他のコンピュータプログラムタイプ、システム構成、ネットワークタイプなどにも等しく適用可能であることを認識するであろう。例えば、用語「Wi-Fiネットワーク」は、ネットワークを説明するために使用することができるが、関連する実施形態は、別のタイプのネットワークに展開することができる。
【0009】
さらに、開示された技術は、専用ハードウェア(例えば、回路)、ソフトウェアおよび/またはファームウェアで適切にプログラムされたプログラマブル回路、または専用ハードウェアとプログラマブル回路の組み合わせを使用して具現化することができる。したがって、実施形態は、コンピューティングデバイス(例えば、基地局またはネットワーク接続コンピュータサーバ)を、電子デバイスによって生成されたビデオコンテンツを調べ、ビデオコンテンツに含まれる要素を識別し、分類モデルを適用して適切なアクションを決定し、適切なアクションを実行するようにプログラムするために使用される命令を有する機械可読媒体を含んでもよい。
【0010】
用語
ここで用いられる用語の目的は、実施形態を説明するためのみであり、本開示の範囲を限定することを意図するものではない。文脈上許される場合、単数形または複数形を使用する単語は、それぞれ、複数形または単数形を含んでもよい。
【0011】
ここで使用される場合、特に明記されない限り、「処理(processing)」、「計算(computing)」、「算出(calculating)」、「決定(determining)」、「表示(displaying)」、「生成(generating)」のような用語は、コンピュータのメモリまたはレジスタにおける物理(電子)量として表されるデータを、コンピュータのメモリ、レジスタ、または他のそのような記憶媒体、伝送、もしくは表示デバイスにおける物理量として表される他の同様のデータへ操作および変換する、コンピュータまたは同様の電子コンピューティングデバイスのアクションおよびプロセスを言う。
【0012】
ここで使用される場合、「接続された(connected)」、「結合された(coupled)」のような用語は、2つ以上の要素間の直接的または間接的のいずれの接続または結合を言ってもよい。要素間の結合または接続は、物理的、論理的、またはそれらの組合せとすることができる。
【0013】
「実施形態」または「一実施形態」への言及は、記載されている特定の特徴、機能、構成、または特性が少なくとも1つの実施形態に含まれることを手段する。そのような語句の出現は、必ずしも同じ実施形態を言うものではなく、必ずしも相互に排他的である代替実施形態を言うものでもない。
【0014】
文脈が明らかに他のことを必要としない限り、単語「備える(comprise)」および「備える(comprising)」は、排他的または網羅的な意味ではなく包括的な意味で解釈されるべきである(すなわち、「含むが、限定されない(including but not limited to)」。
【0015】
用語「~に基づく(based on)」は、また、排他的または網羅的な意味ではなく包括的な意味で解釈されるべきである。したがって、特に明記しない限り、「~に基づく」という用語は、「~に少なくとも部分的に基づく(based at least in part on)」ことを意味するものとする。
【0016】
用語「モジュール(module)」は、広義にはソフトウェア要素、ハードウェア要素、および/またはファームウェア要素を言う。モジュールは、典型的には、指定された入力に基づいて有用なデータまたは他の出力を生成することができる機能的要素である。モジュールは、内蔵型であってもよい。コンピュータプログラムは、1つまたは複数のモジュールを含むことができる。したがって、コンピュータプログラムは、異なるタスクを完了することを担う複数のモジュール、または複数のタスクを完了することを担う単一のモジュールを含んでもよい。
【0017】
複数の項目のリストに関して使用される場合、単語「または(or)」は、以下の解釈のすべて、リストにおける項目のいずれか、リストにおける項目のすべて、およびリストにおける項目の任意の組み合わせの、を網羅することが意図される。理解のために、実施形態の完全な理解を確実にするために、複数の詳細が提供される。しかしながら、実施形態がこれらの具体的な詳細なしに、または同等の構成で実施されてもよいことは、当業者には明らかである。他の例では、実施形態を不必要に不明瞭にすることを回避するために、周知の構造およびデバイスがブロック図の形態で表される。
【0018】
開示される技術は、インターネットのようなパケット交換ネットワークを介したリアルタイムメディアストリーミングに関する。リアルタイムメディアストリーミングは、参加者間の自然な対話を可能にするのに十分に小さいレイテンシを有する、1人以上のユーザに「発生したとき」同時に記録されおよび放送されるメディアのオンラインストリーミングを含む。開示される技術は、ストリーミングサービスにコンテンツ(例えば、広告)を挿入するための技術を含み、コンテンツは特定の視聴者を対象とすることができる。すなわち、本技術は、人口統計、地理的位置、過去の好み、および過去の挙動のようなさまざまな消費者属性に基づいて、消費者に到達するリアルタイムメディアストリームに広告(「広告」)を挿入することを可能にする。
【0019】
用語「リアルタイムメディアストリーム(real-time media stream)」または「リアルタイムストリーミングメディア(real-time streaming media)は、広義には、イベントが発生したときにネットワーク上でイベントを放送することを言う。これはソースデバイスによってキャプチャまたは生成され、ネットワークを介して放送され、受信デバイスのユーザによって認識されないレイテンシを有する受信デバイスによってレンダリングされるコンテンツを含んでもよく、「ライブ(live)」または「ほぼリアルタイム(near real-time)」として言われてもよい。デバイスのユーザによって認識されないそのようなレイテンシの例は、100ms、300ms、500ms、などを含むことができる。したがって、放送グループにおけるクライアントデバイスのユーザは、リアルタイムで(すなわち、放送グループにおけるクライアントデバイスのユーザが認識できない遅延で)ライブメディアストリームと対話するか、またはそれに応答することができる。
【0020】
したがって、コンテンツは、クライアントデバイスのユーザによる「自然な」対話を可能にするようにストリーム遅延は十分小にされて、1つまたは複数のユーザデバイスに「発生すると同時に」キャプチャおよび放送されるので、参加者が、コンテンツと、同じメディアストリームに加入している他の参加者とに「リアルタイム」で、反応および/または対話することが可能になる。したがって、「リアルタイム」、「ライブ」、または「ほぼリアルタイム」の定義は、特定のレイテンシのしきい値(例えば、0.5秒未満)に関しては述べられず、より一般的には自然なユーザの双方向性をサポートすることに関して述べられる。示される実施例では、リアルタイムストリーミング番組に加入している参加者は、出演者のアクションと直接的に通信し、それを誘導することができる(例えば、スタンドアップコメディ番組における出演者と対話し、おそらく質問に応答する)。別の例では、カードのストリーミングリアルタイムゲームにおけるプレーヤは、カードがめくられている間に賭けを行うことができる。
【0021】
リアルタイムストリーミングコンテンツを様々なクライアントデバイスに提供するために、サーバのようなストリーミングデバイスは、メディアストリームを生成し、そしてネットワークを介してクライアントデバイスにメディアストリームを送信することができる。ライブメディアストリーミングは、メディアを圧縮(例えば、符号化)するためにコーデックの使用を必要とし、また符号化されたメディアをネットワークを介してトランスポートするためにトランスポートプロトコルを使用することを必要とする。ビデオ圧縮規格の例には、AVC H.264、H.265、VP8、およびVP9を含む。トランスポートプロトコルの例には、RTSP/RTP、RTMP、およびApple HLSが含まれる。コンテンツ要素(例えば、広告要素、広告セグメント)は、所与のメディアストリームに挿入される前に、ストリーム(例えば、H.264)およびメディアストリームをレンダリングするクライアントデバイスに適したフォーマットにトランスコード(変換)される必要があり得る。コンテンツ要素は、画像、オーディオ、ビデオ、テキスト、またはそれらの組合せを含むことができる。前述のように、コンテンツ要素は、広告コンテンツを含むか、または広告コンテンツに対応することができる。
【0022】
リアルタイムメディアストリームは、少なくとも1つのキーフレーム(例えば、クライアントデバイスによって完全なフレームをレンダリングするために符号化されたデータ)と、キーフレームに対する差分を表すいくつかの予測フレームまたはデルタフレームとを含むことができる。メディアストリームは、ビデオのフレームのためのビット数を表すビットレートを含むことができ、増加したビットレートは、関連するメディア(例えば、高精細度ビデオ)のより大きな精細度を表す。新しいクライアントデバイスがストリーミングメディアに加入するために、クライアントデバイスは、メディアのフレームをレンダリングするためにキーフレームを処理する。キーフレームがレンダリングされると、クライアントデバイスは、後続の予測フレームを処理して、メディアの一連のフレームをレンダリングしそして出力することができる。
【0023】
一例では、一連のキーフレームおよび予測フレームは、様々な時間にメディアストリームに沿って配置されてもよい。例には、それぞれ、VP8におけるイントラフレームおよびインターフレーム、ならびにそれぞれ、MPEG(Moving Picture Experts Group)におけるキーフレームおよびPフレームが含まれる。キーフレームは、シーケンスにおける任意の他のフレームを参照することなく復号することができる、すなわち、復号器は、デフォルト状態から開始するようなフレームを再構成する。キーフレームは、メディアストリームにおけるランダムアクセス(またはシーク)ポイントを提供する。予測フレームは、先行フレームの参照を用いて、具体的には最新のキーフレームを含むすべての先行フレームの参照を用いて符号化される。一般に、予測フレームの正しい復号は、最新のキーフレームおよび後に続くすべての予測フレームの正しい復号に依存する。したがって、復号アルゴリズムは、ドロップされたキーフレームに耐性がない。例えば、フレームが欠落または破損する可能性がある環境では、正しい復号化は、キーフレームが正しく受信されるまで不可能である。さらに、広告のようなコンテンツ要素は、典型的には、キーフレームにおいてまたはキーフレームに対して、リアルタイムメディアストリームに挿入される。
【0024】
コンテンツ要素の配信ストリームへの挿入は、SCTE-104およびSCTE-35標準に基づくことができる。Society of Cable Telecommunication Engineers(SCTE)は、デジタルプログラムのトランスポートストリームへの挿入のためのMPEGフォーマットストリームスプライシング(挿入)およびHLSのようなより新しい適応ビットレート(ABR)配信フォーマットを定義する標準であるSCTE-35を開発しそして公開した。SCTE-35は、マルチシステムオペレータ(MSO)が広告を含むがこれに限定されない異なるコンテンツタイプをビデオストリームに挿入することを許可するメッセージを定義する。ビデオストリームは、SCTE-104において定義されているようにコンテンツ要素を区切るマーカを用いて拡張され、そしてエンコーダは、SCTE-5において定義されているように圧縮ストリームマーカに変換されたマーカを用いた圧縮ビットストリームにビデオを変換する。スプライサは、マーカを読み取り、例えば、SCTE-30プロトコルを使用してコンテンツ要素を要求することによってコンテンツサーバ(例えば、広告サーバ)に接触し、そしてトランスポートストリーム内の正しい位置にコンテンツ要素をスプライスする。
【0025】
広告のようなコンテンツの配信ストリームへの挿入(「広告挿入」(AI)と言われることもある)は、クライアント側(CSAI)またはサーバ側(SSAI)のいずれかで行われることができる。CSAIでは、ストリームおよび挿入されたコンテンツは、異なる接続を介してクライアントデバイスに到達することができる。クライアントデバイスは、マークされたスプライスイベントにおいて挿入を実行するロジックを含む。SSAIでは、挿入されたコンテンツは、上流のサーバにおいて、マークされたスプライスイベントにストリームに含まれる。CSAIの利点は、端部のデバイスにビデオベースの挿入されたコンテンツを主コンテンツとは別に配信することができる容易さおよび柔軟性を含むことである。配信されるコンテンツは、視聴者の人口統計、位置、および過去の挙動などの特徴のセットを対象とすることができる。加えて、CSAIにおいて広告再生イベントを作成することは一般的により容易である。一方、SSAIは、広告ブロッキングの有効性を低減すること、クライアントロジックを移植することをより簡単におよびより容易に可能にすること、ロジックがより簡単になる結果としてクライアントデバイスのリソースに対する要求をより低くすることができることのような、CSAIを上回る利点を有する。一例では、従来のテレビは、典型的にはSSAIを使用して、地域ベースで広告を挿入し、得られたストリームを所与の地域内のすべての視聴者に放送する。インターネットストリーミングシステムのための従来の広告関連ソリューションは、ビデオオンデマンド(VOD)放送および他の非リアルタイムサービスのための広告のキャッシングおよび選択の問題に焦点を当てている。
【0026】
開示される技術は、パケット交換ネットワーク(例えば、インターネット)を介した、サーバ側での、対象とするコンテンツのリアルタイムストリーミングメディアへの挿入に関する。このソリューションは、リアルタイムストリーミングの品質を低下させないように、リアルタイムメディアストリームにおいて対象とするコンテンツを、十分なペースで選択し、トランスコードし、挿入するという課題に対処することによって、既存の技術を改善する。具体的には、ストリーミングサービス運営者は、ある程度、そのプラットフォーム上のイベントのタイミングを制御するが、このサービス運営者は、一般に、数秒の範囲で大きく変化し得るコンテンツ挿入プロセスのタイミングに対する制御を欠いている。リアルタイムメディアストリーミングのタイミング要求を考慮すると、サービスオペレータは、トランスコーディングには到着が遅すぎる可能性がある特定の視聴者および集団を対象とする広告(例えば、「対象とする“targeted”」コンテンツ)を挿入することと、あるいは、潜在的に有効ではないがタイムリーに取得される一般的な広告を挿入することと、の間で決定しなければならない。さらにより問題なのは、ストリーミングサービスオペレータは、対象とする広告におけるタイムリーなスプライシングに対し「遅すぎる」かどうか、またはいつが「遅すぎる」かを決定するためのフレームワーク、およびその場合の代替の応答を欠いている。すなわち、サービスオペレータは、挿入されたコンテンツの代替のタイプを挿入するかどうかを決定するための閾値のフレームワークを欠いている。
【0027】
開示される技術は、対象とするコンテンツをその中に挿入することができるように、クライアントデバイスをリアルタイムメディアストリームに加入させるための順序付けられたプロセスを拡張する。したがって、コンテンツ挿入プロセスは、クライアントデバイスがリアルタイムメディアストリームに加入するために実行されるプロセスに関連付けられている複数の信号の順序付けられたシーケンスを拡張する。より具体的には、複数の信号が、コンテンツ選択、トランスコード、および挿入の順次プロセスを駆動する。すなわち、1つまたは複数のソース(例えば、サードパーティ広告サービスまたはシステムワイドキャッシュ)から潜在的コンテンツ要素のセットを選択し、視聴者に地理的に近いIPネットワーク内の終端ポイントのような存在ポイント(PoP)で潜在的コンテンツ要素のサブセットをキャッシュし、キャッシュされたコンテンツ要素のサブセットを挿入のためにトランスコードし、ライブメディアストリーム内にトランスコードされたコンテンツ要素のサブセットを挿入するプロセスをガイドするために、リアルタイムストリームに加入するときに、クライアントデバイスが行う複数の信号を、サーバは用いることができる。したがって、広告の挿入実装において、広告のセットは1つまたは複数のソースから選択され、それらの広告のサブセットは視聴者に近いPoPのキャッシュメモリに記憶され、キャッシュされた広告は挿入のためにトランスコードされ、トランスコードされた広告はリアルタイムメディアストリームに挿入される。
【0028】
図1は、リアルタイムメディアストリームにコンテンツ要素を挿入するように構成されたハードウェアおよびソフトウェアコンポーネントを含むシステムを示す。図示されるように、1つまたは複数の発行者102は、メディアストリームをアップロードする。メディアストリームには、それぞれのタグが、メディアストリーム内の位置にコンテンツ要素を挿入する機会(例えば、キューインまたはキューアウトのポイント)を示す、1つまたは複数のタグが埋め込まれている。。自動化システム104は、エンコーダ108によって符号化されそしてネットワーク110を介して送信される前に、リアルタイムメディアストリームの上流側で処理される106間に、タグに従ってコンテンツ要素を挿入することができる。PoPにおいて、トランスコーダ112は、クライアントデバイス114に配信する前に、符号化ストリームをトランスコードすることができる。図示された実装において、広告挿入マネージャ116は、ここで説明される実施形態の論理を行い、広告サービス118のような1つまたは複数のサービスにコンテンツ要素を要求し、リアルタイムメディアストリームのスプライスポイントにおいて受信されたトランスコードされた広告をスプライスし、埋め込まれたコンテンツ要素を有するトランスポートストリームをクライアントデバイス114に配信する。
【0029】
一例では、リアルタイムメディアストリームは、プログラミング構造(例えば、マークされたスプライスイベント)を説明するメタデータを有し、そして広告要素は、特定の広告の所望の受信者(例えば、年齢が18~25歳、収入が50,000ドル超)およびクライアントデバイス(例えば、デバイスのタイプ、地理的位置)のカテゴリを説明するメタデータを有する。スプライス、広告、ビューア、およびクライアントデバイスの基準要件は、リアルタイムメディアストリームへの挿入に対して対象とする広告を選択するために使用される。基準を満たすマッチング広告は、トランスコードされ、スクライバのPoPにおいてリアルタイムメディアストリームに挿入される。一例では、トランスコードされた広告は、後に他のメディアストリームにおける後の使用のため、または他の加入者のため、広告キャッシュ120にキャッシュされる。クライアントデバイス114に収集された広告視聴の情報は、後の処理のために広告分析122に配信され、分析(例えば、広告がリアルタイムメディアストリームで正常に配信されたかどうか、および/または対象とする視聴者ユーザによって視聴されたかどうか)を生成する。
【0030】
システム100に示されるプロセスは、広告挿入マネージャ116から要求された広告が到着し、閾値時間内にトランスコードされて、リアルタイムメディアストリームをクライアントデバイス114に配信する際に遅延を引き起こすことなく、リアルタイムメディアストリームに広告を挿入することを可能にすることができると仮定している。しかしながら、先に示したように、ストリーミングサービスオペレータは、一般に、広告挿入プロセスのタイミングをほとんどまたは全く制御しない。加えて、広告のトランスコーディングは、並行処理である同時プロセスの存在のために遅延する可能性があり、それは、対象とするコンテンツのリアルタイムメディアストリームへの挿入をさらに妨げる可能性がある。
【0031】
開示された技術は、ストリーミングサービスオペレータが、特定の視聴者または集団を対象とし、そして所与の時間内に、コンテンツ要素を選択し、トランスコーディングし、およびスプライシングするプロセスを編成することを可能にする。いくつかの実施形態では、他の要因の中でもとりわけ、加入者ビューアの特定の人口統計、使用中のクライアントデバイス、およびコンテンツ挿入に利用可能な時間に基づいて、選択するための多くの可能なコンテンツ要素がある。一般に、高度に特定される(例えば、シカゴ地域の40~50歳の男性を)対象とする広告は、特定されない(例えば、シカゴ地域の任意の人に対する)ジェネリック広告よりも好ましい。
【0032】
開示された技術は、異なる地理的ロケーションに関連付けられたPoPのデータセンターにおいて、選択されそしてトランスコードされたコンテンツ要素をキャッシュすることが可能であると仮定している。例えば、図2は、世界中に広がるシステム200のアーキテクチャを示す。図示されるように、クライアントデバイス202は、リアルタイムメディアストリームを要求しそして受信するために、メディアストリームソース204と通信する。ストリームソース204は、発行者および加入者が接続できるメディアストリーミングサービングインフラストラクチャである。クライアントデバイス202は、また、クライアントデバイスと共通のPoPを有するデータセンタとも通信することができる。図示されるように、世界中に複数のデータセンタ206-1~206-6(「データセンタ206」と総称される)が存在する。データセンタが選択されると、クライアントデバイス202は、ストリームソース204のストリーミングサービスを用いて持続的制御チャネルを設定および認証した後に、この持続的制御チャネルを使用してリアルタイムメディアストリームに加入する。リアルタイムメディアストリームに加入しようとしているクライアントデバイス202は、典型的にはまず、近くのPoPを選択する。この選択は、利用可能な領域のセットを入力とし、そして例えば、クライアントデバイス202の地理的位置またはネットワーク位置、または最小要求に対するサービスの応答時間に基づくことができるであろう。
【0033】
図3は、視聴者を対象とするコンテンツ要素を含むリアルタイムストリーミングメディアを再生することが可能なクライアントデバイスを示すブロック図300である。図示されるように、クライアントデバイス302は、ネットワーク304(例えば、インターネット)を介してストリーミングサービス303のサーバと情報を交換する。クライアントデバイス302は、メディアストリーム要求と、クライアントデバイス302のユーザーのためのコンテンツを対象とするために使用することができる特徴のセットとを含む信号を、ストリーミングサービス303に通信するためのネットワークインターフェース306を有する。クライアントデバイス302のサービス監視要素312は、ネットワークインターフェース306を介してメディアストリーム要求および特徴のセットを、ネットワーク304を介してストリーミングサービス303に通信する。特徴のセットの例は、クライアントの人口統計およびデバイス情報(例えば、型式、場所)を含む。ネットワークインターフェース306は、ストリーミングサービス303から、対象とするコンテンツ要素を有する符号化されたトランスポートストリームを受信する。符号化されたトランスポートストリームは、デコーダ308によって処理され、そして復号されたトランスポートストリームは、クライアントデバイス302のディスプレイ310上に表示される。
【0034】
図4は、リアルタイムメディアストリームに加入するためのクライアントデバイスの加入プロセス400を示すフローチャートである。フローチャートは、対象とするコンテンツを選択し、対象とするコンテンツをトランスコードし、そしてストリームのリアルタイム性を妨げることなくリアルタイムメディアストリームに対象とするコンテンツを挿入するプロセスを駆動するように、クライアントデバイスが、リアルタイムメディアストリームに加入するための複数の信号の順序付けられたシーケンスを、拡張することができるという観察に基づく。プロセス400は解説のためにのみ使用され、そしてリアルタイムストリーミングサービスの異なる実施形態は、プロセス400の基本ステップを含む異なるマルチステッププロセスを採用することができる。これらのステップは、402において、クライアントデバイスが利用可能な1つまたは複数の地理的領域の指示を受信することを含む。404において、クライアントデバイスは、1つまたは複数の領域の中から地理的領域を選択する。406において、クライアントデバイスは、ストリーミングサービスの制御チャネルに加入する。408において、クライアントデバイスは、ストリーミングサービスのリアルタイムメディアストリームに加入する。
【0035】
図5は、対象とするコンテンツ要素をリアルタイムメディアストリームに挿入するために、加入プロセス400を拡張するプロセス500を含むフローチャートを示す。言い換えれば、この加入プロセス400は、本技術の実装におけるコンテンツ挿入プロセスのステップを示すために拡張される。プロセス500は、システム(例えば、ストリーミングサービス)が、リアルタイムメディアストリームに加入する要求をクライアントデバイスから受信したときに開始される。一例では、要求は、リアルタイムメディアストリームの見込み視聴者によってクライアントデバイスに入力される。リアルタイムメディアストリームは、(例えば、キーフレームにおいて)コンテンツ要素を挿入するためのキューインまたはキューアウトのポイントを示す位置に関連付けられているスプライスポイントを含むことができる。
【0036】
502において、1つまたは複数の地理的領域は、リアルタイムストリーミングメディアが通信されることになる領域をクライアントデバイスが指定するための選択に利用可能である。一例では、1つまたは複数の地理的領域は、クライアントデバイスまたはそのユーザの地理的位置に関連して識別され得る。
【0037】
504において、クライアントデバイスは、1つまたは複数の地理的領域の中から地理的領域を選択する。一例では、クライアントデバイスは、選択された地理的領域の指示をシステムに通信する。地理的領域の例は、クライアントデバイスが現在位置する領域、またはクライアントデバイスが以前に登録された位置を含む。.
【0038】
506において、クライアントデバイスに関連付けられている特徴のセットが、システムに通信される。一例では、特徴のセットは、見込み視聴者の人口統計情報、見込み視聴者の好みの表示、および/または見込み視聴者の挙動の表示を含む。特徴のセットは、選択された地理的領域を示す第1の信号(例えば、502のための信号)に対して通信される。したがって、特徴のセットは、選択された地理的領域の指示を通信することとともにシステムに通信される。
【0039】
508において、クライアントデバイスは、ストリーミングサービスの制御チャネルに加入する。クライアントデバイスは、ストリーミングサービスで継続的制御チャネルを設定および認証した後に、この制御チャネルを使用してリアルタイムメディアストリームに加入する。
【0040】
510において、(対象とする)コンテンツは、選択された地理的領域に関連するメモリにおいて選択され、トランスコードされ、および/またはキャッシュされる。システムは、複数のコンテンツ要素の中からコンテンツ要素を選択する。一例では、複数のコンテンツ要素は、リアルタイムメディアストリームのコンテンツおよび/またはクライアントデバイスに関連付けられている特徴のセットに基づいて識別および/または選択される。したがって、コンテンツ要素は、見込み視聴者を対象とする。コンテンツ要素は、クライアントデバイスをリアルタイムメディアストリームの制御チャネルに加入させるための第2の信号(例えば、508のための信号)に対して選択される。
【0041】
一例では、コンテンツ要素は、ストリーミングサービスが発行する要求に応答して、広告挿入サービスが選択する広告セグメントである。コンテンツ要素は、選択された地理的領域のキャッシュメモリから選択することができる。一例では、キャッシュメモリには、クライアントデバイスがリアルタイムメディアストリームに加入する前に、リアルタイムメディアストリームに挿入するために選択されたコンテンツ要素が、事前入力される。
【0042】
システムは、選択されたコンテンツ要素をトランスコードし、そしてトランスコードされたコンテンツ要素を選択された地理的領域のキャッシュメモリに記憶することができる。図示されるように、コンテンツ要素は、クライアントデバイスを制御チャネルに加入させるための第2の信号(例えば、508のための信号)に対してトランスコードされる。別の例では、コンテンツ要素は、順序付けられた信号のシーケンスの第2の信号とは異なる信号に対してトランスコードされる。
【0043】
512において、クライアントデバイスは、加入プロセス(例えば、加入プロセス400)に従ってストリーミングサービスのリアルタイムメディアストリームに加入する。
【0044】
514において、(対象とする)コンテンツ要素は、リアルタイムメディアストリームに挿入される。例えば、トランスコードされたコンテンツ要素は、リアルタイムメディアストリームのキューイン又はキューアウトのポイントに挿入されることができる。コンテンツ要素をリアルタイムメディアストリームに挿入することによって、修正されたリアルタイムメディアストリームが生成される。コンテンツ要素は、クライアントデバイスをリアルタイムメディアストリームに加入させるための第3の信号(例えば、512のための信号)に対して、リアルタイムメディアストリームに挿入される。
【0045】
修正されたリアルタイムメディアストリームは、次いで、クライアントデバイスに通信される。システムが、閾値イベントの前に、第1のコンテンツ要素をタイムリーに選択、トランスコード、または挿入することができない場合、リアルタイムコンテンツストリームに挿入するために、第1のコンテンツ要素の代わりに第2のコンテンツ要素を選択することができる。例えば、クライアントが制御チャネルの設定を終了する前に、広告サーバが対象とする広告に応答しない場合、または加入者がストリームに加入する前に、広告サーバによって返された広告がトランスコードされていない場合、システムは、選択された地理的領域に関連付けられたキャッシュメモリにキャッシュされたより一般的な広告を選択することができる。したがって、第1のコンテンツ要素を対象とする広告とし、第2のコンテンツ要素を汎用広告とすることができる。
【0046】
図6は、リアルタイムストリーミングメディアに広告を含むコンテンツ要素を挿入するためのプロセス600を示すフロー図である。例えば、プロセス600は、リアルタイムストリーミングメディアへの広告挿入のためのストリーミングサービスによって、実行させることができる。一実施形態では、加入者が、領域選択のプロセスを開始し、同時にその人口統計情報を利用可能にした後、広告挿入マネージャは、602において、広告サーバからの広告要求を発行することができる。604において、加入者が制御チャネルの設定を終了する前に、広告サーバが広告に応答しない場合、または加入者がストリームに加入する前に、広告サーバによって返された広告がトランスコードされていない場合、システムは、挿入のために広告キャッシュから以前にキャッシュされたより一般的な広告を選択することができる。これに代えて、606において一旦トランスコードされると、608において、未使用の広告は、広告キャッシュに挿入させることができる。広告挿入マネージャは、加入者がリアルタイムメディアストリームに参加する前に、後の使用のために、広告要求を発行し、広告をトランスコードし、そしてキャッシュすることができる。キャッシュされた広告は、先に説明したように、加入プロセス信号によって指示されたときに使用することができるであろう。広告挿入マネージャは、加入プロセス信号を使用し、そして広告サービスの過去のパフォーマンスを追跡して、代替の広告サービスの中から、タイムリーな広告配信のためにあまり有益でないサービスの取引を選択することができる。
【0047】
開示される実施形態は、リアルタイムメディアストリームへのコンテンツ挿入のための完全に機能する方法およびシステムを説明しているが、他の同等の実施形態も存在する。本記述を検討する者には、多数の修正および変形が生じるであろうことから、本方法およびシステムは、解説および開示された正確な構成および動作に限定されない。したがって、この説明は、すべての適切な変更および均等物が実施形態の範囲内に入ることを意図する。
【0048】
処理システム
図7は、本明細書で説明する少なくともいくつかの動作を実装することができる処理システム700の一例を示すブロック図である。例えば、処理システム700のいくつかの構成要素は、ストリーミングサーバ、クライアントデバイス、または図1図6のいずれかの他のデバイス上で主催させてもよい。
【0049】
処理システム700は、1つまたは複数の中央処理ユニット(「プロセッサ」)702、メインメモリ706、不揮発性メモリ710、ネットワークアダプタ712(例えば、ネットワークインターフェース)、ビデオディスプレイ718、入出力デバイス720、制御デバイス722(例えば、キーボードおよびポインティングデバイス)、記憶媒体726を含む駆動ユニット724、記憶媒体726を含む駆動部バス716に通信可能に接続された信号生成デバイス730を含んでもよい。バス716は、適切なブリッジ、アダプタ、またはコントローラによって接続される1つまたは複数の物理バスおよび/またはポイントツーポイント接続を表す抽象概念として示される。従って、バス716は、システムバス、周辺機器相互接続バスまたはPCI-Expressバス、HyperTransportまたは業界標準アーキテクチャ(ISA)バス、小型コンピュータシステムインタフェース(SCSI)バス、ユニバーサルシリアルバス(USB)、IIC(I2C)バス、またはIEEE(Institute of Electrical and Electronics Engineers)標準1394バス(すなわち、「Firewire」)を含むことができる。
【0050】
処理システム700は、デスクトップコンピュータ、タブレットコンピュータ、パーソナルデジタルアシスタント(PDA)、スマートフォン、ゲームコンソール、音楽プレーヤ、ウェアラブル電子デバイス(例えば、時計またはフィットネストラッカ)、ネットワーク接続(「スマート」)デバイス(例えば、テレビジョンまたはホームアシスタントデバイス)、仮想/拡張現実システム(例えば、ヘッドマウントディスプレイ)、または処理システム700によって行われるべきアクションを指定する命令のセット(シーケンシャルまたは他の態様)を実行することが可能な別の電子デバイスのものと同様のコンピュータプロセッサアーキテクチャを共有してもよい。
【0051】
メインメモリ706、不揮発性メモリ710、および記憶媒体726(「機械可読媒体」とも呼ばれる)は単一の媒体であるように表されているが、「機械可読媒体」および「記憶媒体」という用語は1つまたは複数の命令セット728を記憶する単一の媒体または複数の媒体(例えば、集中/分散データベースおよび/または関連するキャッシュおよびサーバ)を含むと解釈されるべきである。用語「機械可読媒体」および「記憶媒体」はまた、処理システム700による実行のための命令のセットを記憶、符号化、または搬送することが可能ないずれかの媒体を含むものとする。
【0052】
一般に、本開示の実施形態を実装するために実行されるルーチンは、オペレーティングシステム、または特定のアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、もしくは命令のシーケンス(「コンピュータプログラム」と総称される)の一部として実装させてもよい。コンピュータプログラムは、典型的にはコンピューティングデバイスにおける様々なメモリおよび記憶デバイス内の様々な時間に設定された1つまたは複数の命令(例えば、命令704、708、728)を含む。1つまたは複数のプロセッサ702によって読み取られ、実行されるとき、命令は、処理システム700に、本開示の様々な態様を含む要素を実行するための動作を実行させる。
【0053】
さらに、実施形態は、完全に機能するコンピューティングデバイスの文脈で説明されてきたが、当業者は、様々な実施形態が、様々な形態でプログラム製品として配布することができることを理解するであろう。本開示は、実際に配信を行うために使用される特定の種類の機械またはコンピュータ可読媒体にかかわらず適用される。
【0054】
機械可読記憶媒体、機械可読媒体、またはコンピュータ可読媒体のさらなる例は、揮発性および不揮発性メモリデバイス710などの記録可能なタイプの媒体、フロッピーおよび他のリムーバブルディスク、ハードディスクドライブ、光ディスク(例えば、コンパクトディスク読み取り専用メモリ(CD-ROMS)、デジタル多用途ディスク(DVD))、ならびにデジタルおよびアナログ通信リンクなどの伝送タイプの媒体を含む。
【0055】
ネットワークアダプタ712は、処理システム700が処理システム700および外部エンティティによってサポートされるいずれかの通信プロトコルを介して、処理システム700の外部にあるエンティティとのネットワーク714においてデータを仲介することを可能にする。ネットワークアダプタ712は、ネットワークアダプタカード、ワイヤレスネットワークインターフェースカード、ルータ、アクセスポイント、ワイヤレスルータ、スイッチ、多層スイッチ、プロトコルコンバータ、ゲートウェイ、ブリッジ、ブリッジルータ、ハブ、デジタルメディアレシーバ、および/またはリピータを含むことができる。
【0056】
ネットワークアダプタ712は、コンピュータネットワークにおけるデータにアクセス/プロキシする許可を支配および/または管理し、そして異なるマシンおよび/またはアプリケーションの間の様々な信頼レベルを追跡するファイアウォールを含んでもよい。ファイアウォールは、マシンおよびアプリケーション、マシンおよびマシン、ならびに/またはアプリケーションおよびアプリケーションの特定のセットの間のアクセス権の所定のセットを実施することができる(例えば、これらのエンティティ間のトラフィックおよびリソース共有の流れを調整するための)ハードウェアおよび/またはソフトウェア構成要素の任意の組合せを有する任意の数のモジュールとすることができる。ファイアウォールは、さらに、個人、機械、および/またはアプリケーションによるオブジェクトのアクセスおよび操作権、ならびに許可権が存在する状況を含む許可を詳細にするアクセス制御リストを管理および/またはアクセスしてもよい。
【0057】
ここで紹介される技術は、プログラム可能な回路(例えば、1つ以上のマイクロプロセッサ)、ソフトウェアおよび/またはファームウェア、専用ハードワイヤード(すなわち、非プログラム可能)回路、またはそのような形態の組合せによって実装されることができる。専用回路は、1つまたは複数の特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)などの形態であることができる。
【0058】
いくつかの実施形態では、いずれかの適切な符号化プロトコルを利用してもよい。例えば、符号化プロトコルH.264またはVP9を利用してもよく、そしてこれらはそのようなプロトコルのいずれかの組合せに適用することができる。
【0059】
備考
主題の様々な実施形態の前述の説明は、解説および説明の目的のために提供されている。それは、網羅的であること、または開示された正確な形態に主題を限定することを意図するものではない。当業者には、多くの修正および変更が明らかであろう。実施形態は、技術の原理およびその実用的用途を最も良く説明するために選択され、説明され、それによって、当業者が主題、様々な実施形態、および企図される特定の使用に適した様々な修正を理解することを可能にした。
【0060】
「発明を実施するための形態」は、いくつかの実施形態および企図される最良の形態を説明するが、「発明を実施するための形態」がどれだけ詳細に現れても、技術は多くの方法で実施することができる。実施形態は、本明細書に包含されるが、その実施の詳細においてかなり変化してもよい。様々な実施形態の特定の特徴または態様を説明するときに使用される特定の用語は、用語がその用語が関連する技術の任意の特定の特性、特徴、または態様に限定されるように本明細書で再定義されるということを暗示するものと解釈されるべきではない。一般に、以下の実施形態で使用される用語は、それらの用語がここで明示的に定義されない限り、本明細書で開示される特定の実施形態に技術を限定すると解釈されるべきではない。したがって、本技術の実際の範囲は、開示された実施形態だけでなく、実施形態を実施または実装するすべての同等の方法も包含する。
【0061】
本明細書に記載されるプロセスのいずれかにおいて実施されるステップのシーケンスは、例示的である。しかしながら、物理的可能性に反しない限り、ステップは、様々なシーケンスおよび組合せで実行されてもよい。例えば、ステップは、本明細書に記載されるプロセスに追加されることができるか、またはそこから除去されることができる。同様に、ステップは、置き換えられることができ、または並べ替えられることもできる。したがって、いずれかのプロセスの説明は、オープンエンドであることが意図される。
【0062】
本明細書で使用される言語は、主に、読みやすさおよび教育目的のために選択されている。それは、主題を線引きまたは制限するように選択されていなくともよい。したがって、本技術の範囲は、本発明の詳細な説明によってではなく、本明細書に基づく出願に基づいて生じるいずれかの実施形態によって限定されることが意図される。したがって、様々な実施形態の開示は、以下の実施形態に記載されるような技術の範囲を示すものであり、限定するものではない。
図1
図2
図3
図4
図5
図6
図7
【図
【図
【図
【図
【図
【図
【国際調査報告】