本開示の態様および実装形態は、調整された再生にてメディアアイテムを提供することを対象とする。ビデオアイテム、オーディオアイテム、時間とともにスライドを切り替えるスライドショー、時間とともにスクロールするテキスト、時間とともに変化する図などのうちの1つまたは複数などのメディアアイテムが、ユーザデバイスによってレンダリングされ得る。メディアアイテムはメディアアイテムサーバからユーザデバイスにストリーミングされることがあり、またはメディアアイテムはメディアアイテムサーバからユーザデバイスへとダウンロードされて(たとえば、オフラインにされて)(たとえば、より後の時点で)ユーザデバイスによりレンダリングされることがある。
メディアアイテムには、たとえば、ユーザにとって不明確な1つまたは複数の部分、および/またはユーザにとって冗長な1つまたは複数の部分があり得る。ユーザにとって不明確なメディアの部分は、現在の再生速度および現在の抽象度ではユーザが理解(たとえば、吸収)できないメディアアイテムの部分(たとえば、セグメント)であり得る。たとえば、メディアアイテムのその部分は、ユーザが理解するには速すぎる、および/または、ユーザに馴染みのない概念もしくは用語を使用し得る、テキスト、オーディオ、またはビデオを含み得る。メディアセグメントのその部分を理解するために、ユーザは、再生速度を下げ、その部分をリプレイし、かつ/または1回または複数の検索を実行することがある。たとえば、メディアアイテムの第1の部分において、講義者が速く話すことがあり、ユーザが理解しない用語を使用することがある。メディアアイテムの第1の部分はユーザにとって不明確であり得る(たとえば、ユーザはリプレイおよび/または検索の実行なしではメディアアイテムのその部分を理解しない)。ユーザは、ユーザデバイスを介して、再生速度を下げること、不明確な部分をリプレイすること、またはメディアアイテムの再生をやめることによって、ユーザにとって不明確な部分の間のメディアアイテムの再生を手動で調整することがある。ユーザは、ユーザデバイスを介して、メディアアイテムの再生に関連する1回または複数の検索を手動で実行する(たとえば、ユーザにとって不明確なメディアアイテムの1つまたは複数の部分に基づいて解説情報を検索する)ことがある。
ユーザにとって冗長なメディアアイテムの部分は、ユーザがすでに理解しているメディアアイテムの部分(たとえば、セグメント)であり得る。メディアアイテムのその部分は、ユーザをメディアアイテムのその部分に繋ぎ止めるには基本的すぎることがある。たとえば、20分のメディアアイテムが、最初の5分に加算と減算の基礎を、残りの15分に高度な微積分学の概念を含むことがある。最初の5分は、加算と減算の基礎に馴染みのあるユーザにとって冗長であり得る。ユーザは、ユーザデバイスを介して、再生速度を上げること、冗長な部分をスキップすること、またはメディアアイテムの再生をやめることによって、ユーザにとって冗長な部分の間のメディアアイテムの再生を手動で調整することがある。
不明確な部分および/または冗長な部分に遭遇し、再生を手動で調整し、内容を明確にするための検索を実行すると、ユーザ体験が悪くなることがあり、これにより、ユーザが退屈し、混乱および失望し、またはメディアアイテムの再生をやめることがある。加えて、再生を手動で調整して検索を実行するには、追加の処理オーバーヘッド、追加の必要とされる帯域幅などが必要であり得る。
本開示の態様は、調整された再生にてメディアアイテムを提供することによって、上述のおよび他の課題に対処する。サーバコンピューティングデバイスは、メディアアイテムに対する第1のユーザデバイスからの再生要求を受信し得る。メディアアイテムは、第1のユーザデバイスと関連付けられる第1のユーザにとって不明確または冗長であると見なされるメディアコンテンツの1つまたは複数の部分を含み得る。メディアコンテンツのある部分は、1人または複数のユーザが以前にその部分を不明確もしくは冗長であるとタグ付けしている場合、または、その部分に関する1人または複数のユーザの以前の再生行動が、その部分が不明確もしくは冗長である可能性が高いことを示す場合、不明確または冗長であると見なされ得る。たとえば、以前の再生行動が1人または複数のユーザによりその部分の再生速度を下げることまたはその部分をリプレイすることを含む場合、その部分は不明確であると見なされ得る。別の例では、以前の再生行動が1人または複数のユーザによりその部分の再生速度を上げることまたはその部分をスキップすることを含む場合、その部分は冗長であると見なされ得る。
サーバコンピューティングデバイスは、メディアアイテムの少なくとも1つの部分(不明確または冗長であると見なされる少なくとも1つの部分)のための調整された再生を決定することができ、調整された再生は第1のメディアアイテムの少なくとも1つの部分のためのデフォルト再生とは異なる。この決定は、メディアアイテムのメディアコンテンツの少なくとも1つの部分に対応する、メディアコンテンツの1つまたは複数の部分(たとえば、第1のユーザおよび/もしくは1人または複数の他のユーザにとって不明確であった1つまたは複数の部分、かつ/または冗長であった1つまたは複数の対応する部分)を各々が含んでいた1つまたは複数のメディアアイテムに関連する1人または複数のユーザの以前の再生行動に基づき得る。メディアアイテムの少なくとも1つの部分のための調整された再生は、第1のユーザにとって不明確であると見なされる部分の明確化を可能にすること、第1のユーザにとって冗長であると見なされる部分の冗長性の低減を可能にすることなどができる。サーバコンピューティングデバイスは、第1のユーザデバイスに、調整された再生にてメディアアイテムのその少なくとも1つの部分をレンダリングさせ得る。調整された再生は、たとえば、再生速度の低下、再生速度の上昇、リプレイ、スキップ、またはメディアアイテムの1つまたは複数の部分におけるコンテキスト情報の表示などを伴い得る。サーバコンピューティングデバイスは、以前の再生行動に基づいてメディアアイテムを修正するための推奨を(たとえば、再生メタデータまたは命令の形で)生成し得る。
本明細書で開示されるように、調整された再生にてメディアアイテムを提供することは、ユーザ体験を向上させ技術的な利点をもたらすので有利である。調整された再生にてアイテムを提供することで、ユーザの混乱、ユーザの失望、およびユーザがメディアアイテムの再生の間に退屈している時間の長さが減る。調整された再生にてメディアアイテムを提供することで、再生を手動で調整し、ネットワーク接続を介して検索を実行することの必要性も減る。本開示の態様は、必要とされる帯域幅、エネルギー消費(たとえば、バッテリー消費)、およびレイテンシの大幅な低減という技術的な利点をもたらす。
いくつかの実装形態では、技術的な利点は、ユーザデバイスが再生を調整するためのユーザ操作(user action)を受け付けること、およびユーザデバイスがサーバコンピューティングデバイスへネットワークを介してユーザ操作を送信することを必要としない、調整された再生にてユーザデバイスにメディアアイテムをレンダリングさせることと、サーバコンピューティングデバイスにユーザ操作を処理させ、ユーザ操作に基づいて再生を調整しまたは検索を実行させ、ネットワークを介してユーザデバイスへ、調整された再生にてメディアアイテムを再送信させ、またはユーザ操作に基づく検索結果を再送信させることとにより、もたらされ得る。
いくつかの実装形態では、技術的な利点は、ユーザデバイスが、サーバコンピューティングデバイスから、メディアアイテムおよび調整された再生命令を(たとえば、再生メタデータの一部として)受信することと、ユーザデバイスが、ユーザ入力を受け取ることなく、かつメディアアイテムの再生の間にネットワークを介してサーバコンピューティングデバイスと通信することなく、調整された再生命令に基づいて調整された再生にてメディアアイテムをレンダリングすることとにより、もたらされ得る。
メディアアイテムとともに表示されるコンテキスト情報は、以前の再生の間にネットワーク接続を介してユーザによって実行されたよくある検索に応答する解説情報を含み得る。ユーザデバイスがネットワーク接続(たとえば、セルラーネットワーク接続ではなくWi-Fiネットワーク接続などの安価なネットワーク接続)を有するときに、メディアアイテムおよび調整された再生命令(たとえば、再生メタデータ)を受信することによって、(たとえば、ユーザデバイスがネットワークに接続されていないとき、ユーザデバイスのネットワーク接続が遅いとき、ユーザデバイスがWi-Fiネットワーク接続ではなくセルラーネットワーク接続などのより高価なネットワーク接続を介して接続しているとき)ユーザデバイスがネットワーク接続を有することを必要とすることなく、よくある検索によりもたらされる解説情報を含むコンテキスト情報を、メディアアイテムの調整された再生の間に後で表示することができる。
加えて、本開示の態様は、必要とされる帯域幅、エネルギー消費(たとえば、バッテリー消費)、およびレイテンシの大幅な低減をもたらし、それは、ユーザデバイスに調整された再生にてメディアアイテムを表示させることは、メディアアイテムをレンダリングして以前の再生の間に実行されたよくある検索からの解説情報を表示することが可能であるように、持続的なネットワーク接続をユーザデバイスが維持することを必要としないからである。
図1は、本開示の一実装形態による、例示的なシステムアーキテクチャ100Aを示す。システムアーキテクチャ100Aは、メディアアイテムサーバ110、ユーザデバイス120、再生調整サーバ130、コンテンツ所有者デバイス140、ネットワーク150、およびデータストア160を含む。再生調整サーバ130は、再生調整システム105の一部であり得る。
メディアアイテムサーバ110は、1つまたは複数のコンピューティングデバイス(ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなど)、データストア(たとえば、ハードディスク、メモリ、データベースなど)、ネットワーク、ソフトウェアコンポーネント、および/またはハードウェアコンポーネントであり得る。メディアアイテムサーバ110は、メディアアイテム112へのアクセスをユーザに提供するために使用され得る。メディアアイテムサーバ110は、メディアアイテム112をユーザに提供し得る(たとえば、ユーザは、メディアアイテム112を要求または購入したことに応答して、メディアアイテム112を選択してメディアアイテムサーバ110からメディアアイテム112をダウンロードし得る)。メディアアイテムサーバ110は、ユーザが、メディアアイテム112を消費すること、開発すること、アップロードすること、ダウンロードすること、評価すること、共有すること、検索すること、認める(「高評価をつける」)こと、低評価をつけること、および/またはそれにコメントすることを可能にし得る、メディアアイテムプラットフォーム(たとえば、コンテンツホスティングサービスを提供するコンテンツホスティングプラットフォーム)の一部であり得る。メディアアイテムプラットフォームはまた、メディアアイテム112へのアクセスをユーザに提供するために使用され得る、ウェブサイト(たとえば、ウェブページ)またはアプリケーションバックエンドソフトウェアを含み得る。
メディアアイテムサーバ110は、メディアアイテム112などのコンテンツをホストし得る。メディアアイテム112は、ユーザにより選ばれたデジタルコンテンツ、ユーザにより利用可能にされるデジタルコンテンツ、ユーザにより開発されたデジタルコンテンツ、ユーザによりアップロードされたデジタルコンテンツ、コンテンツ所有者により開発されたデジタルコンテンツ、コンテンツ所有者によりアップロードされたデジタルコンテンツ、メディアアイテムサーバ110により提供されたデジタルコンテンツなどであり得る。メディアアイテム112の例は、限定はされないが、ビデオアイテム(たとえば、デジタルビデオ、デジタルムービーなど)、オーディオアイテム(たとえば、デジタルミュージック、デジタルオーディオブックなど)、広告、時間とともにスライドを切り替えるスライドショー、時間とともにスクロールするテキスト、時間とともに変化する図などを含む。
メディアアイテム112は、ユーザデバイス120のウェブブラウザを介して、またはアプリストアを介してユーザデバイス120にインストールされ得るモバイルアプリケーション(「アプリ」)を介して、消費され得る。ウェブブラウザまたはモバイルアプリは、ユーザが1回または複数の検索(たとえば、解説情報、他のメディアアイテム112などについての)を実行することを可能にし得る。本明細書では、「アプリケーション」、「モバイルアプリケーション」、「スマートテレビジョンアプリケーション」、「デスクトップアプリケーション」、「ソフトウェアアプリケーション」、「デジタルコンテンツ」、「コンテンツ」、「コンテンツアイテム」、「メディア」、「メディアアイテム」、「ビデオアイテム」、「オーディオアイテム」、「連絡の招待」、「ゲーム」、および「広告」は、メディアアイテム112をエンティティに提示するように構成されるソフトウェア、ファームウェア、またはハードウェアを使用して、実行またはロードされ得る電子ファイルを含み得る。一実装形態では、メディアアイテムプラットフォームは、データストア160を使用してメディアアイテム112を記憶し得る。メディアアイテム112は、メディアアイテムサーバ110(たとえば、コンテンツホスティングプラットフォームなどのメディアアイテムプラットフォーム)からユーザデバイス120のユーザによって提示またはダウンロードされ得る。本開示の態様によれば、対応するユーザ操作に応答して、メディアアイテム112の1つまたは複数の部分の再生速度を上げること、メディアアイテム112の1つまたは複数の部分の再生速度を下げること、メディアアイテム112の1つまたは複数の部分をリプレイすること、メディアアイテム112の1つまたは複数の部分をスキップすること、コンテキスト情報をメディアアイテム112とともに表示することなどができる。メディアアイテム112は、メディアアイテムプラットフォームによって提供される、またはローカルに記憶される、埋め込まれたメディアプレーヤ(ならびに他の構成要素)を介して再生され得る。メディアアイテムプラットフォームは、たとえば、アプリケーション配布プラットフォーム、コンテンツホスティングプラットフォーム、またはソーシャルネットワーキングプラットフォームであってもよく、メディアア
イテム112へのアクセスをユーザに提供するために、またはメディアアイテム112をユーザに提供するために使用されてもよい。たとえば、メディアアイテムプラットフォームは、ユーザがメディアアイテム112を消費し、アップロードし、検索し、認め(「高評価をつけ」)、低評価をつけ、かつ/またはそれにコメントすることを可能にし得る。メディアアイテムサーバ110は、メディアアイテムプラットフォームの一部であってもよく、独立したシステムであってもよく、または異なるプラットフォームの一部であってもよい。
いくつかの実装形態では、システムアーキテクチャ100Aはまた、メディアアイテム112の調整された再生の提供を容易にするためにネットワーク150を介してユーザデバイス120およびコンテンツ所有者デバイス140に結合された、再生調整サーバ130を含み得る。一実装形態では、再生調整サーバ130はメディアアイテムプラットフォームの一部であり得る(たとえば、メディアアイテムサーバ110および再生調整サーバ130は同じメディアアイテムプラットフォームの一部であり得る)。別の実装形態では、再生調整サーバ130は、ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなどの、1つまたは複数のコンピューティングデバイスを含む独立したプラットフォームであり得る。
再生調整サーバ130は再生マネージャ132を含み得る。本開示のいくつかの態様によれば、再生マネージャ132は、メディアアイテム112のための調整された再生を決定するために、過去のユーザ操作(たとえば、再生行動136)を使用し得る。代替として、再生マネージャ132は、そのような決定を行うために、訓練される機械学習モデル190(図1B〜図1C参照)を使用し得る。訓練される機械学習モデル190は、深層強化学習(たとえば、再生速度を調整するための強化学習)を使用し得る(図1B〜図1C参照)。深層強化学習は、過去のユーザ操作(たとえば、再生行動136)の状態表現を使用することができ、ユーザのダウンストリーム視聴時間を報酬として扱うことができる。それらの操作は、調整された再生を設定すること(たとえば、再生速度を下げるまたは上げること、スキップすること、リプレイすること、コンテキスト情報を表示することなど)であり得る。全体としての目的は、ある再生速度、情報のレベル、およびユーザにより吸収可能な(たとえば、不明確ではない、冗長ではない、など)抽象度でユーザを繋ぎ止めることであり得る。
再生マネージャ132は、ユーザデバイス120から、メディアアイテム112に対する再生要求を受信し得る。いくつかの実装形態では、再生マネージャ132は、ユーザデバイス120のユーザにとって不明確であると(たとえば、以前の再生行動に基づいて)見なされるメディアコンテンツの1つまたは複数の部分をメディアアイテム112が含むことを決定する。いくつかの実装形態では、再生マネージャ132は、ユーザにとって冗長であると(たとえば、以前の再生行動に基づいて)見なされるメディアコンテンツの1つまたは複数の部分をメディアアイテム112が含むことを決定する。いくつかの実装形態では、メディアアイテム112は、ユーザデバイス120のユーザにとって不明確であると見なされる1つまたは複数の第1の部分と、ユーザデバイス120のユーザにとって冗長であると見なされる1つまたは複数の第2の部分とを含み得る。再生マネージャ132は、メディアアイテム112の少なくとも1つの部分のためのデフォルト再生とは異なる、メディアアイテム112の少なくとも1つの部分のための調整された再生を決定し得る。再生マネージャ132は、(たとえば、ユーザデバイス120のユーザもしくは1人または複数の他のユーザにとって不明確であった、または冗長であった、メディアコンテンツの1つまたは複数の対応する部分を各々が含んでいた)1つまたは複数のメディアアイテムに関連する1人または複数のユーザの再生行動136に基づいて、調整された再生を決定し得る。調整された再生は、ユーザデバイス120のユーザにとって不明確である、または冗長であると見なされる、メディアアイテムの1つまたは複数の部分の明確化または冗長性の低減を可能にし得る。再生マネージャ132は、ユーザデバイス120に、調整された再生にてメディアアイテム112の少なくとも1つの部分をレンダリングさせ得る。いくつかの実装形態では、再生調整サーバ130、メディアアイテムサーバ110、またはメディアアイテムプラットフォームは、調整された再生にてメディアアイテム112をユーザデバイス120にストリーミングする。いくつかの実装形態では、再生調整サーバ130は、調整された再生命令(たとえば、再生メタデータ)をユーザデバイス120に送信し、ユーザデバイス120は、調整された再生命令に基づいて、調整された再
生にてメディアアイテム112をレンダリングする。
ユーザデバイス120に、調整された再生命令に基づいて調整された再生にてメディアアイテム112をレンダリングさせることに続いて、再生調整サーバ130は、ユーザデバイス120から追加の再生行動136(たとえば、再生への調整に基づく)を受信し得る。再生調整サーバ130は、追加の再生行動136に基づいて、調整された再生を更新し得る。再生調整サーバ130は、より多くのユーザがメディアアイテム112の再生を実行するにつれて、メディアアイテム112の調整された再生を改善することができる。たとえば、調整された再生は、メディアアイテム112に関する同じまたは異なるユーザの追加の再生行動に基づいて、メディアアイテム112のより的確な再生速度を反映するように定期的に更新され得る。
メディアアイテムサーバ110、再生調整サーバ130、またはメディアアイテムプラットフォームは、コンテンツ所有者デバイス140から、メディアアイテム112を受信し得る。再生マネージャ132は、メディアアイテム112(たとえば、ユーザデバイス120のユーザにとって不明確または冗長であると見なされる1つまたは複数の部分を含むメディアアイテム112など)に関連する1人または複数のユーザの再生行動136を特定し得る。再生マネージャ132は、再生行動136に基づいてメディアアイテム112を修正するために推奨138を生成し得る。再生マネージャ132は、推奨138をコンテンツ所有者デバイス140に送信し得る。コンテンツ所有者デバイス140は、推奨138に基づいてメディアアイテム112を修正し得る。メディアアイテムサーバ110、再生調整サーバ130、またはメディアアイテムプラットフォームは、コンテンツ所有者デバイス140から、(たとえば、推奨138に基づいて)修正されたメディアアイテム112を受信し得る。いくつかの実装形態では、再生マネージャ132は、ユーザデバイス120に調整された再生にて(たとえば、調整された再生命令を生成することなく)メディアアイテム112をレンダリングさせることなく、メディアアイテム112を修正するために推奨138を生成し得る。
いくつかの実装形態では、データストア160は、メディアアイテム112、調整された再生134のインジケータ、再生行動136、または推奨138のうちの1つまたは複数を記憶し得る。メディアアイテム112はいくつかの部分を含むことがあり、各部分は識別子(たとえば、セグメント識別子)を有することがある。いくつかの部分は調整された再生134(たとえば、調整された再生インジケータ)と関連付けられ得る。調整された再生134(たとえば、調整された再生インジケータ)は、(たとえば、再生速度の上昇、再生のスキップ、再生速度の低下、再生の反復などを介して)それぞれの部分の再生がどのように修正されるべきかを明示し得る。代替として、調整された再生134(たとえば、調整された再生インジケータ)は、その部分が不明確または冗長であると見なされるかどうかを(たとえば、不明確な部分を表すために割り当てられる値または冗長な部分を表すために割り当てられる値を使用して)明示することができ、データストア160は、不明確または冗長であると見なされる部分に対して再生がどのように調整されるべきかを明示する、規則のセットを記憶し得る。調整された再生134(たとえば、調整された再生インジケータ)は、メディアアイテム112と一緒に(たとえば、メタデータの一部として)、またはメディアアイテム112とは別に(たとえば、別個のデータベース、リポジトリ、またはファイルに)記憶され得る。調整された再生命令は、調整された再生134(たとえば、操作識別子または操作記述)を含むことができ、または、調整された再生134に基づいて作成されることが可能である(たとえば、その部分が不明確または冗長であると見なされることを調整された再生134が明示する場合、調整された再生命令は、不明確または冗長であると見なされる部分に対して何の操作が実行されるべきかを明示する規則のセットを使用して作成される)。
ユーザデバイス120A〜B(本明細書ではユーザデバイス120と呼ばれる)およびコンテンツ所有者デバイス140は、パーソナルコンピュータ(PC)、ラップトップ、携帯電話、スマートフォン、タブレットコンピュータ、ネットブックコンピュータ、ネットワーク接続テレビジョン(「スマートTV」)、ネットワーク接続メディアプレーヤ(たとえば、Blu-ray(登録商標)プレーヤ)、セットトップボックス、over-the-top(OTT)ストリーミングデバイス、オペレータボックスなどの、コンピューティングデバイスを含み得る。コンテンツ所有者デバイス140は、ネットワーク150を介してメディアアイテム112をメディアアイテムサーバ110に送信し(たとえば、アップロードし)、ネットワーク150を介して再生調整サーバ130から推奨138を受信することが可能であり得る。ユーザデバイス120は、ネットワークを介してメディアアイテムサーバ110からメディアアイテム112を受信し、ネットワーク150を介して再生調整サーバ130から調整された再生命令を受信し、ネットワーク150を介して再生調整サーバ130に再生行動136を送信することが可能であり得る。ユーザデバイス120は、調整された再生命令に基づいて調整された再生にてメディアアイテム112をレンダリングすることができ、ユーザデバイス120がネットワーク150に接続されているかどうかとは無関係に(たとえば、オフラインの間に)メディアアイテム112に関連するユーザデバイス120のユーザの再生行動136を決定することができる。
ネットワーク150は、メディアアイテムサーバ110、再生調整サーバ130、および他の公に利用可能なコンピューティングデバイスへのアクセスをユーザデバイス120に提供するパブリックネットワークであり得る。ネットワーク150は、1つまたは複数のワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、有線ネットワーク(たとえば、イーサネットネットワーク)、ワイヤレスネットワーク(たとえば、802.11ネットワークまたはWi-Fiネットワーク)、セルラーネットワーク(たとえば、Long Term Evolution(LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、および/またはこれらの組合せを含み得る。
各ユーザデバイス120は、調整された再生にてメディアアイテム112の1つまたは複数の部分をユーザがレンダリングすることを可能にする、オペレーティングシステムを含み得る。メディアアイテム112は、メディアビューワまたはウェブブラウザを介して提示され得る。ウェブブラウザは、ウェブサーバによってサービスされるコンテンツ(たとえば、ハイパーテキストマークアップ言語(HTML)ページなどのウェブページ、デジタルメディアアイテム、テキスト会話、通知など)にアクセスし、それを取り出し、提示し、かつ/またはナビゲートすることができる。埋め込みメディアプレーヤ(たとえば、Flash(登録商標)プレーヤまたはHTML5プレーヤ)は、(たとえば、オンライン業者により販売される製品についての情報を提供する)ウェブページに埋め込まれ、またはユーザデバイス120にインストールされているメディアビューワ(モバイルアプリ)の一部であり得る。別の例では、メディアアイテム112は、ユーザがデジタルメディアアイテム(たとえば、デジタルビデオ、デジタルオーディオ、デジタル画像など)を見ることを可能にするスタンドアロンアプリケーション(たとえば、モバイルアプリケーションまたはアプリ)を介して提示され得る。
図1に示される例では、ユーザデバイス120は、要求構成要素124、レンダリング構成要素126、再生行動構成要素128、およびデータストア122のうちの1つまたは複数を含み得る。いくつかの実装形態では、要求構成要素124、レンダリング構成要素126、または再生行動構成要素128のうちの1つまたは複数は、ユーザデバイス120上で実行されるウェブブラウザまたはアプリケーション(たとえば、モバイルアプリケーション、デスクトップアプリケーション)によって提供され得る。
データストア122は、メモリ(たとえば、ランダムアクセスメモリ)、ドライブ(たとえば、ハードドライブ、フラッシュドライブ)、データベースシステム、またはデータを記憶することが可能な別のタイプの構成要素もしくはデバイスであり得る。データストア122は、複数のコンピューティングデバイス(たとえば、複数のサーバコンピュータ)にまたがり得る複数の記憶構成要素(たとえば、複数のドライブまたは複数のデータベース)を含み得る。データストア122は、メディアアイテムキャッシュ123、調整された再生キャッシュ125、および再生行動キャッシュ127を含み得る。
要求構成要素124は、メディアアイテム112に対する再生要求のユーザ入力を(たとえば、ユーザデバイス120を介して表示されるグラフィカルユーザインターフェースを介して)受信し得る。要求構成要素124は、メディアアイテムサーバ110、再生調整サーバ130、またはメディアアイテムプラットフォームのうちの1つまたは複数に再生要求を送信し得る。いくつかの実装形態では、要求構成要素124は、メディアアイテム112に対する要求をメディアアイテムサーバ110に送信し、調整された再生命令に対する要求を再生調整サーバ130に送信する。いくつかの実装形態では、要求構成要素124は、再生要求を再生調整サーバ130に送信し、再生調整サーバ130は、メディアアイテム112に対する要求をメディアアイテムサーバ110に送信する。
レンダリング構成要素126は、メディアアイテムサーバ110、再生調整サーバ130、またはメディアアイテムプラットフォームから、メディアアイテム112を受信し得る。レンダリング構成要素126は、再生調整サーバ130から調整された再生命令を受信し得る。いくつかの実装形態では、再生調整サーバ130は、要求構成要素124から再生要求を受信し、再生調整サーバ130は、メディアアイテム112に対する要求をメディアアイテムサーバ110に送信し、メディアアイテムサーバ110からメディアアイテム112を受信し、再生調整サーバ130は、レンダリング構成要素126に、調整された再生にてメディアアイテム112をレンダリングさせる(たとえば、レンダリング構成要素126は、再生調整サーバ130からメディアアイテム112および調整された再生命令を受信する)。
レンダリング構成要素126は、調整された再生命令に基づいて調整された再生にてメディアアイテム112をレンダリングし得る。いくつかの実装形態では、メディアアイテム112は、ネットワーク150を介して調整された再生にて(たとえば、再生調整サーバ130などから)ユーザデバイス120にストリーミングされ、レンダリング構成要素126は、調整された再生にてメディアアイテム112がユーザデバイス120を介して表示されるようにする。いくつかの実装形態では、レンダリング構成要素126は、ネットワーク150を介して(たとえば、再生調整サーバ130などから)メディアアイテム112および調整された再生命令を受信する。レンダリング構成要素126は、メディアアイテムキャッシュ123にメディアアイテム112を記憶し、調整された再生キャッシュ125に調整された再生命令を記憶し得る。いくつかの実装形態では、レンダリング構成要素126は、調整された再生命令をメディアアイテム112とともにキャッシュし得る。レンダリング構成要素126は、データストア122からメディアアイテム112および調整された再生命令を取り出し、ネットワーク150を介したネットワーク接続を必要とすることなく、調整された再生命令に基づいて調整された再生にてメディアアイテム112をレンダリングし得る。
いくつかの実装形態では、レンダリング構成要素126による、調整された再生でのメディアアイテム112のレンダリングは、1つまたは複数のユーザ操作に応じたものであることがあり、またはそれに基づくことがある(たとえば、調整された再生にてメディアアイテム112をレンダリングすることは条件的な1つまたは複数のユーザ操作であり、調整された再生は1つまたは複数のユーザ操作の以前の再生行動に基づく)。たとえば、レンダリング構成要素126は、メディアアイテム112の第1の部分(たとえば、第1の話者が話している第1の部分)の再生速度を上げるためのユーザ操作を受け取ったことに応答して、メディアアイテム112の1つまたは複数の追加の部分(たとえば、第1の話者が話している追加の部分)をより速い速度でレンダリングし得る。別の例では、レンダリング構成要素126は、1つまたは複数のメディアアイテムの対応する部分の以前の再生について再生速度をデフォルト速度の半分に下げるための1つまたは複数のユーザ操作をユーザデバイス120のユーザが提供したことに応答して、デフォルト速度の半分の低下した再生速度にてメディアアイテム112の1つまたは複数の部分をレンダリングし得る。
いくつかの実装形態では、レンダリング構成要素126は、調整された再生にてメディアアイテム112をレンダリングする際に外挿を行い得る。たとえば、1人または複数の他のユーザの再生行動は、第1のメディアアイテム112aのある部分および第2のメディアアイテム112bのある部分について速度を25%に下げている。ユーザデバイス120のユーザの再生行動は、第1のメディアアイテム112aのその部分について速度を25%ではなく50%に下げている。レンダリング構成要素126は、ユーザデバイス120のユーザのために、外挿を行って第2のメディアアイテム112bのその部分について速度を25%ではなく50%に下げることができる。
いくつかの実装形態では、再生行動構成要素128は、メディアアイテム112に関するユーザデバイス120のユーザの再生行動136を決定し得る。たとえば、再生行動構成要素128は、メディアアイテム112の1つまたは複数の部分の再生速度を下げるための対応するユーザ操作、メディアアイテム112の1つまたは複数の部分の再生速度を上げるための対応するユーザ操作、メディアアイテム112の1つまたは複数の部分をリプレイするための対応するユーザ操作、メディアアイテム112の1つまたは複数の部分をスキップするための対応するユーザ操作、メディアアイテム112の再生と関連付けられる1回または複数の検索を実行するための対応するユーザ操作などのうちの1つまたは複数を含む、再生行動136を決定し得る。再生行動構成要素128は、再生行動キャッシュ127に再生行動136を記憶し得る(たとえば、ユーザデバイス120がネットワーク150を介して再生調整サーバ130に接続されないとき)。再生行動構成要素128は、再生行動キャッシュ127から再生行動136を取り出し、再生調整サーバ130に再生行動136を送信し得る。いくつかの実装形態では、再生行動構成要素128は、ユーザデバイス120がネットワーク150を介して再生調整サーバ130に接続されることに応答して、再生行動136を再生調整サーバ130に送信し得る。いくつかの実装形態では、再生行動構成要素128は、再生行動136を再生調整サーバ130に定期的に(たとえば、設定された時間の間隔で、毎日設定された時間に、など)送信し得る。いくつかの実装形態では、再生行動構成要素128は、メディアアイテム112の再生を実行した後で、再生行動136を再生調整サーバ130に送信し得る。いくつかの実装形態では、再生行動構成要素128は、ユーザ操作がメディアアイテム112の再生を調整するために実行されるにつれて、再生行動136を再生調整サーバ130に送信し得る。
図1に示される例では、コンテンツ所有者デバイス140は、送信構成要素144、受信構成要素146、修正構成要素148、およびデータストア142を含み得る。
データストア142は、メモリ(たとえば、ランダムアクセスメモリ)、ドライブ(たとえば、ハードドライブ、フラッシュドライブ)、データベースシステム、またはデータを記憶することが可能な別のタイプの構成要素もしくはデバイスであり得る。データストア142は、複数のコンピューティングデバイス(たとえば、複数のサーバコンピュータ)にまたがり得る複数の記憶構成要素(たとえば、複数のドライブまたは複数のデータベース)を含み得る。データストア142は、メディアアイテムキャッシュ143および推奨キャッシュ145を含み得る。
送信構成要素144は、コンテンツ所有者デバイス140と関連付けられるコンテンツ所有者により作成された、修正された、アップロードされることになる、またはその所有者と関連付けられる、メディアアイテム112を受信し得る。送信構成要素144は、メディアアイテム112をメディアアイテムキャッシュ143に記憶し得る。送信構成要素144は、メディアアイテム112をメディアアイテムサーバ110に(たとえば、メディアアイテム112をアップロードするためのコンテンツ所有者入力に応答して)送信(たとえば、アップロード)し得る。
受信構成要素146は、再生調整サーバ130から推奨138(たとえば、再生行動136、調整された再生命令などに基づく)を受信し得る。受信構成要素146は、推奨138を推奨キャッシュ145に記憶し得る。
修正構成要素148は、推奨138に基づいてメディアアイテム112を修正し得る。修正構成要素148は、推奨キャッシュ145から推奨138を取り出し得る。いくつかの実装形態では、修正構成要素148は、メディアアイテム112の1つまたは複数の部分および対応するユーザ操作を示す報告または分析を提供し得る。たとえば、修正構成要素148は、メディアアイテム112の第1の部分の間に再生速度を上げるための対応するユーザ操作をユーザが提供すること、メディアアイテム112の第2の部分をリプレイするための対応するユーザ操作をユーザが提供すること、およびメディアアイテム112の第3の部分の間に解説情報についての検索をユーザが実行することのうちの1つまたは複数を示す、報告を提供し得る。修正構成要素148は、提案される修正をメディアアイテム112に(たとえば、報告または分析を介して)提供し得る。たとえば、修正構成要素148は、第1の部分をスキップすること、第2の部分の再生速度を下げること、および第3の部分に対するメディアアイテム112とともにコンテキスト情報(たとえば、メディアアイテム112に重畳されるテキスト)を提供することを提案し得る。修正構成要素148は、推奨138に基づいてメディアアイテム112に修正を行い得る。コンテンツ所有者の承認に応答して、コンテンツ所有者デバイス140は、再生調整サーバ130、メディアアイテムサーバ110、またはメディアアイテムプラットフォームのうちの1つまたは複数に、修正されたメディアアイテム112を提供し得る。修正されたメディアアイテムが、以前のメディアアイテム112に取って代わり得る。
一般に、一実装形態においてユーザデバイス120上で実行されるものとして説明される機能は、他の実装形態では適宜、メディアアイテムサーバ110または再生調整サーバ130によっても実行され得る。たとえば、再生調整サーバ130は、調整された再生にてメディアアイテム112をレンダリングし、かつ/または、メディアアイテム112に関するユーザの再生行動136を決定し得る。
一実装形態においてメディアアイテムサーバ110または再生調整サーバ130上で実行されるものとして説明される機能は、適宜、他の実装形態ではユーザデバイス120によっても実行され得る。たとえば、ユーザデバイス120は、以前の再生行動136を特定し、再生行動136に基づいて調整された再生134を決定し、メディアアイテム112を修正するための推奨138を生成し、推奨138をコンテンツ所有者デバイス140に送信し、かつ/または、推奨138に基づいてコンテンツ所有者デバイス140から修正されたメディアアイテム112を受信し得る。
加えて、特定の構成要素の機能は、異なるまたは複数の構成要素が一緒に動作することによって実行され得る。メディアアイテムプラットフォーム、メディアアイテムサーバ110、または再生調整サーバ130のうちの1つまたは複数は、適切なアプリケーションプログラミングインターフェース(API)を通じて他のシステムまたはデバイスに提供されるサービスとしてもアクセスされ得るので、ウェブサイトおよびアプリケーションにおける使用には限定されない。
本開示の実装形態では、「ユーザ」は単一の個人として表され得る。しかしながら、本開示の他の実装形態は、ユーザのセットおよび/または自動化されたソースによって制御されるエンティティである「ユーザ」を包含する。たとえば、ソーシャルネットワークのコミュニティとして連合している個々のユーザの集合が、「ユーザ」と見なされ得る。別の例では、自動化された消費者は、アプリケーション配布プラットフォームの自動化されたインジェスチョンパイプラインであり得る。
本開示の実装形態は、メディアアイテムサーバ110、再生調整サーバ130、およびメディアアイテムプラットフォームに関して論じられるが、実装形態は、コンテンツおよびユーザ間のつながりを提供するあらゆるタイプのソーシャルネットワークにも一般に適用され得る。
上記の説明に付け加えると、本明細書で説明されるシステム、プログラム、または特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会的な行動もしくは活動、職業、ユーザの選好、またはユーザの現在地についての情報)の収集を可能にし得るかどうか、およびいつ可能にし得るかということと、ユーザがサーバ(たとえば、メディアアイテムサーバ110または再生調整サーバ130)からコンテンツまたは通信を送信されるかどうかということとの両方についての選択をユーザが行うことを可能にする制御を、ユーザは与えられ得る。加えて、個人を識別可能な情報が削除されるように、いくつかのデータは記憶または使用される前に1つまたは複数のやり方で扱われ得る。たとえば、ユーザについて個人を識別可能な情報が決定できないように、または、ユーザの具体的な位置を決定できないように位置情報が取得されるユーザの地理的位置が(都市、郵便番号、または州などのレベルに)一般化され得るように、ユーザの識別情報は扱われ得る。したがって、ユーザは、ユーザについてどの情報が収集されるか、情報がどのように使用されるか、およびどの情報がユーザに提供されるかを制御することができる。
図1Bは、本開示の別の実装形態による、例示的なシステムアーキテクチャ100Bを示すブロック図である。システム100Bは再生調整システム105を示す。再生調整システム105は、再生調整サーバ130、サーバマシン170、またはサーバマシン180のうちの1つまたは複数を含み得る。システム100Bは、図1Aに関して説明されたような、システム100Aと同様の構成要素を含み得る。図1Aのシステム100Aに関して説明された構成要素は、図1Bのシステム100Bを説明するのを助けるために使用され得る。
サーバマシン170〜180は、1つまたは複数のコンピューティングデバイス(ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなど)、データストア(たとえば、ハードディスク、メモリ、データベース)、ネットワーク、ソフトウェアコンポーネント、またはハードウェアコンポーネントであり得る。
サーバマシン170は、機械学習モデルを訓練するための訓練データ(たとえば、訓練入力のセットおよび目標出力のセット)を生成することが可能な訓練セット生成器171を含む。訓練セット生成器171のいくつかの動作は、図1Cおよび図3Eに関して以下で詳しく説明される。
サーバマシン180は、訓練セット生成器171からの訓練データを使用して機械学習モデル190を訓練することが可能な訓練エンジン181を含む。機械学習モデル190は、訓練入力および対応する目標出力(それぞれの訓練入力に対する正しい答え)を含む訓練データを使用して訓練エンジン181によって作成されるモデルアーティファクトを指し得る。訓練データにおいて、訓練入力を目標出力(正しい答え)にマッピングするパターンを発見することができ、これらのパターンを捉える機械学習モデル190が与えられる。機械学習モデル190は、たとえば、単一レベルの線形演算もしくは非線形演算(たとえば、サポートベクターマシン[SVM])からなることがあり、または、深層ネットワーク、すなわち、複数レベルの非線形演算からなる機械学習モデルであることがある。深層ネットワークの例は、1つまたは複数の隠れ層を有するニューラルネットワークであり、そのような機械学習モデルは、たとえば、誤差逆伝播学習アルゴリズムなどに従ってニューラルネットワークの重みを調整することによって訓練され得る。機械学習モデル190は、深層強化学習を使用し得る。便宜的に、本開示の残りの部分ではニューラルネットワークとして実装形態に言及するが、いくつかの実装形態は、ニューラルネットワークの代わりに、またはそれに加えて、SVMまたは他のタイプの学習機械を使用し得る。
一態様では、訓練セットはサーバマシン170から取得される。再生調整サーバ130は、現在のデータ(たとえば、メディアアイテム112、再生行動136、ユーザ情報などと関連付けられるコンテンツ情報)を訓練される機械学習モデル190への入力として提供し、訓練される機械学習モデル190を入力に対して実行して1つまたは複数の出力を得る、再生マネージャ132を含む。図3Dに関して以下で詳しく説明されるように、一実装形態では、再生マネージャ132はまた、訓練される機械学習モデル190の出力からメディアアイテム112の少なくとも1つの部分をレンダリングするための調整された再生を抽出し、メディアアイテムの少なくとも1つの部分が調整された再生にてレンダリングされるべきであることの信頼水準を示す信頼性データを出力から抽出し、信頼性データを使用して、(たとえば、再生を肯定的に調整するためのユーザ入力なしで)調整された再生にてメディアアイテム112の少なくとも1つの部分を自動的にレンダリングすることを決めることが可能である。
ある実装形態では、信頼性データは、メディアアイテムの少なくともある部分のための調整された再生(たとえば、ユーザにより吸収可能な再生速度、情報のレベル、および抽象度においてユーザを繋ぎ止めるであろう調整された再生、ユーザが再生をさらに手動で調整しないような調整された再生)に対するユーザ選好の信頼水準を含み、または示し得る。一例では、信頼水準は、両端を含めて0と1の間の実数であり、ここで0は、特定のメディアアイテムの少なくとも1つの部分のための調整された再生をユーザが好むことの信頼性がないことを示し、1は、特定のメディアアイテムの少なくとも1つの部分のための調整された再生をユーザが好むことへの絶対的な信頼性を示す。
上で述べられたように、ユーザデバイス120は、メディアアイテム112に対する再生要求を送信し得る。再生要求に応答して、訓練される機械学習モデル190は、1つまたは複数のメディアアイテムに関連する1人または複数のユーザの再生行動136、1つまたは複数のメディアアイテムと関連付けられるコンテンツ情報、または1人または複数のユーザと関連付けられるユーザ情報のうちの1つまたは複数を与えられ得る。たとえば、コンテンツ情報は、訓練される機械学習モデル190への第1の入力として使用されてもよく、再生行動が第2の入力として使用されてもよく、ユーザ情報が第3の入力として使用されてもよく、以下同様である。
実装形態では、訓練される機械学習モデル190への入力として使用されるコンテンツ情報は、再生要求に対応する現在のメディアアイテム112に関する情報を含み得る。実装形態では、訓練される機械学習モデル190への入力として使用される再生行動は、再生要求を出したユーザの再生行動に関する情報を含み得る。実装形態では、訓練される機械学習モデル190への入力として使用されるユーザ情報は、再生要求を出したユーザに関する情報を含み得る。
訓練される機械学習モデル190は、メディアアイテム112のための調整された再生、調整された再生に対するユーザの選好の信頼水準(たとえば、ユーザがメディアアイテム112の再生をさらに調整しないであろうことの信頼水準)を示す、出力を生成し得る。再生調整サーバ130は、信頼水準に基づいて、調整された再生を使用するかどうかを決定し得る。上で述べられたように、再生調整サーバ130は、ユーザデバイスに、信頼水準に基づいて、調整された再生にてメディアアイテム112を自動的にレンダリングさせ得る。いくつかの実装形態では、推奨がユーザデバイスに送信されてもよく、メディアアイテム112が特定の調整された再生にてレンダリングされるべきであることを提案する。
いくつかの実装形態では、再生調整サーバ130は、メディアアイテム112の調整された再生を提供するために再生マネージャ132を実装し得る。実装形態では、再生マネージャ132はスタンドアロンのアプリケーションであり得る。いくつかの実装形態では、調整された再生は、ユーザに対して魅力的であり得る個人化された調整された再生(メディアアイテムの少なくとも1つの部分のための)をユーザに提供する、インターフェース構成要素、電子メッセージ、プロンプトなどを介して可能にされ得る。調整された再生命令は、上でより詳しく論じられたような調整された再生に基づいて作成され得る。調整された再生命令は、スキップ、リプレイ、再生速度の上昇、再生速度の低下、コンテキスト情報の表示などの操作を特定し得る。
いくつかの実装形態では、訓練セット生成器171は、メディアアイテムの再生を調整するためにメディアアイテムおよびユーザ入力のデフォルト再生を使用して(または、メディアアイテムの再生をさらに調整するためにメディアアイテムおよびユーザ入力の決定された調整された再生を使用して)機械学習モデルを訓練するための、訓練データを生成し得る。たとえば、メディアアイテムは、ユーザデバイス上でデフォルト再生にてレンダリングされ得る。ユーザデバイスは、ユーザが、メディアアイテムの部分をスキップすること、メディアアイテムの部分をリプレイすること、メディアアイテムの再生速度を上げること、メディアアイテムの再生速度を下げること、検索を実行することなどのための、ユーザ入力を提供することを可能にする、ユーザインターフェース要素を提供し得る。(再生を調整するための)ユーザインターフェース要素のユーザ選択は、機械学習モデルを訓練するための目標出力データとして使用され得る。
機械学習モデルが訓練されると、訓練される機械学習モデル190は、現在要求されているメディアアイテム(要求しているユーザに関する訓練セットに含まれない)のための調整された再生と、そのようなメディアアイテムのための調整された再生と関連付けられる信頼水準とを特定する出力を提供するために使用されることが可能であり、この信頼水準は調整された再生にてメディアアイテムをレンダリングすることに対するユーザの選好度を示す。いくつかの実装形態では、低い信頼水準に応答して(たとえば、信頼性スコアが閾値の信頼水準未満である)、ユーザデバイス120にプロンプトが送信され得る(たとえば、「調整された再生でメディアアイテムを再生しますか?」)。いくつかの実装形態では、高い信頼水準に応答して(たとえば、信頼性スコアが閾値の信頼水準以上である場合)、代わりにデフォルト操作を行うことができる(たとえば、メディアアイテムの少なくとも1つの部分を調整された再生にて自動的にレンダリングする)。いくつかの実装形態では、デフォルト操作を行うことができ、ユーザがデフォルト操作を取り消すための機会を与えられてもよい。たとえば、ユーザは、「メディアアイテムの少なくとも1つの部分を調整された再生でレンダリングしています[取り消す]」というプロンプトを表示され得る。
いくつかの実装形態では、プロンプトは調整された再生の詳細(たとえば、スキップ、再生速度の変更、コンテキスト情報の表示など)の指示を含み得る。たとえば、「メディアアイテムの再生速度を上げますか?」
実装形態では、ユーザはユーザアカウントを通じて再生調整サーバ130にアクセスし得る。ユーザは、ユーザデバイス120上でアプリケーションを介してユーザアカウント情報(たとえば、ユーザ名およびパスワード)を提供することによって、ユーザアカウントにアクセスする(たとえば、ログインする)ことができる。いくつかの実装形態では、ユーザアカウントは単一のユーザと関連付けられ得る。いくつかの実装形態では、ユーザアカウントと関連付けられるユーザ活動(たとえば、再生行動)は、機械学習モデル(たとえば、訓練エンジン181)を訓練するための入力として、または、訓練される機械学習モデル190への入力として、記録され使用され得る。他の実装形態では、ユーザアカウントは共有アカウント(たとえば、複数のユーザによって共有される家族のアカウント)(本明細書では「共有ユーザカウント」とも呼ばれる)であり得る。共有アカウントは、各々が異なるユーザと関連付けられる複数のユーザプロファイルを有し得る。複数のユーザは、同じアカウント情報または異なるアカウント情報を使用して共有アカウントにログインし得る。いくつかの実装形態では、共有アカウントの複数のユーザは、共有アカウントの異なるユーザプロファイルに基づいて区別され得る。実装形態では、共有アカウントの異なるユーザプロファイルと関連付けられるユーザ活動(たとえば、再生行動)は、機械学習モデル(たとえば、訓練エンジン181)を訓練するための入力として、または訓練される機械学習モデル190への入力として、記録され使用され得る。
機械学習モデル190は、本明細書で説明される訓練入力192および目標出力196を使用して訓練され得る(図1C参照)。訓練される機械学習モデルは次いで、メディアアイテムの少なくとも1つの部分のための調整された再生を決定するために使用され得る。メディアアイテムの少なくとも1つの部分のレンダリングは、いくつかのやり方で実行され得る。たとえば、メディアアイテムおよび調整された再生命令が、ユーザデバイス120にダウンロードされてもよく、ユーザデバイス120が、(たとえば、オフラインであるとき)命令に基づいて調整された再生にてメディアアイテム112をレンダリングしてもよい。別の例では、再生調整サーバ130が、調整された再生にてメディアアイテム112をユーザデバイス120にストリーミングしてもよい。
また、限定ではなく説明を目的に上で述べられたように、本開示の態様は、メディアアイテム112の少なくとも1つの部分のための調整された再生を決定するための、1つまたは複数のユーザデバイス120上での1つまたは複数のメディアアイテム112の再生に関する情報を使用した、機械学習モデルの訓練と訓練される機械学習モデルの使用とを説明する。他の実装形態では、ヒューリスティックモデルまたはルールベースモデルが、メディアアイテム112の少なくとも1つの部分のための調整された再生を決定するために使用される。いくつかの実装形態では、再生調整サーバ130が、ユーザデバイスの再生行動136を決定または監視し得る。たとえば、1つまたは複数のユーザデバイスは、特定の話者が話しているとき、メディアアイテムの部分の再生速度を下げることができる。再生調整サーバ130は、再生行動136、コンテンツ情報、ユーザ情報などの情報を監視し得る。図1Cの訓練入力192に関して説明される情報のいずれもが、ヒューリスティックモデルまたはルールベースモデルにおいて監視され、または別様に使用され得ることに留意されたい。再生調整サーバ130は、メディアアイテム112の部分ごとに各々の調整された再生のスコアを付けることができる(たとえば、最初の5分は、10回のうち9回でデフォルト再生速度の2倍に再生速度が上がっており、10回のうち1回でデフォルト再生速度の半分に再生速度が下がっている)。メディアコンテンツのある部分のための各々の調整された再生と関連付けられるスコアは、その部分を含む複数のメディアアイテム112にわたって比較されてもよく、最高のスコアを有する調整された再生が使用されてもよい(たとえば、デフォルト再生速度の2倍に再生速度を上げる)。他の実装形態では、各々の調整された再生と関連付けられるスコアは、閾値(たとえば、10回のうちの7回という閾値)と比較され得る。スコアが閾値を超える場合、メディアアイテム112の少なくとも1つの部分が調整された再生にてレンダリングされ得る。
いくつかの他の実装形態では、サーバマシン170、サーバマシン180、再生調整サーバ130、またはメディアアイテムサーバ110の機能は、より少数の機械によって提供され得ることに留意されたい。たとえば、いくつかの実装形態では、サーバマシン170および180が単一の機械へと統合され得るが、いくつかの他の実装形態では、サーバマシン170、サーバマシン180、および再生調整サーバ130が単一の機械へと統合され得る。加えて、いくつかの実装形態では、サーバマシン170、サーバマシン180、および再生調整サーバ130のうちの1つまたは複数が、メディアアイテムサーバ110へと統合され得る。
一般に、メディアアイテムサーバ110、サーバマシン170、サーバマシン180、または再生調整サーバ130によって実行されるものとして一実装形態において説明される機能は、適宜、他の実装形態においてユーザデバイス120上でも実行され得る。加えて、特定の構成要素に起因する機能は、異なるまたは複数の構成要素が一緒に動作することによって実行され得る。メディアアイテムサーバ110、サーバマシン170、サーバマシン180、または再生調整サーバ130はまた、適切なアプリケーションプログラミングインターフェースを通じて他のシステムまたはデバイスに提供されるサービスとしてアクセスされ得るので、ウェブサイトにおける使用に限定されない。
図1Cは、本開示のある実装形態による、ユーザデバイス上でのメディアアイテムの再生に関する情報を使用した機械学習モデルのための訓練データを作成するための例示的な訓練セット生成器である。システム100Cは、訓練セット生成器171、訓練入力192、および目標出力196を示す。システム100Cは、図1A〜図1Bに関して説明されたような、システム100A〜Bと同様の構成要素を含み得る。図1A〜図1Bのシステム100A〜Bに関して説明された構成要素は、図1Cのシステム100Cを説明するのを助けるために使用され得る。
実装形態では、訓練セット生成器171は、1つまたは複数の訓練入力192および1つまたは複数の目標出力196を含む、訓練データを生成する。訓練データはまた、訓練入力192を目標出力196にマッピングする、マッピングデータを含み得る。訓練入力192は、「特徴」、「属性」、または「情報」とも呼ばれ得る。いくつかの実装形態では、訓練セット生成器171は、訓練セットにおいて訓練データを提供し、訓練セットが機械学習モデル190を訓練するために使用される訓練エンジン181に訓練セットを提供し得る。訓練セットを生成することのいくつかの実装形態がさらに、図3Eに関して説明され得る。
一実装形態では、訓練入力192は、メディアアイテム(たとえば、メディアアイテムA)と関連付けられるコンテンツ情報192A、別のメディアアイテムと関連付けられる追加のコンテンツ情報192B、1つまたは複数のメディアアイテムに関連する1人または複数のユーザの再生行動情報192C(再生行動136)、またはユーザ情報192Dのうちの1つまたは複数を含み得る。コンテンツ情報192Aなどのコンテンツ情報は、任意の数のメディアアイテムについて取得され得ることに留意されたい(たとえば、コンテンツ情報192A〜Bは任意の数のメディアアイテムを含み得る)。いくつかの実装形態では、メディアアイテムと関連付けられるコンテンツ情報192A(以後「コンテンツ情報」と呼ばれる)は、メディアアイテムごとに編成され得る。他の実装形態では、コンテンツ情報は、別の原理で編成された同様の情報を含み得る。
実装形態では、コンテンツ情報192Aは、メディアアイテムごとにも編成されるコンテンツ情報のカテゴリ194を含み得る。コンテンツ情報のカテゴリ194は、限定はされないが、メディアアイテムAのコンテンツのタイプ194A、メディアアイテムAのコンテンツの特性194B、およびメディアアイテムAに関するセグメント情報194C(たとえば、セグメントの時間的な位置)を含み得る。コンテンツ情報192Bは、コンテンツ情報192Aと同様の、コンテンツ情報のカテゴリ194を含み得る。コンテンツ情報およびコンテンツ情報のカテゴリは、あらゆる数のメディアアイテムに対して含まれ得ることにも留意することができる。コンテンツ情報の1つまたは複数のカテゴリ194は、訓練入力192として使用され得ることにも留意することができる。
限定ではなく説明のために、機械学習モデルを訓練するための訓練入力192および目標出力196は、特定のユーザアカウントの情報を含む。同様に、訓練される機械学習モデル190への入力は、訓練される機械学習モデル190がある特定のユーザアカウントまたはそのユーザアカウントの特定のユーザプロファイルについての結果(たとえば、再生を調整するかどうか)を決定することを可能にするための、特定のユーザアカウントの情報を含み得る。他の実装形態では、機械学習モデルを訓練するために使用される情報は、特定の特性を有するユーザアカウントの特定のグループ(たとえば、ある特定の地理的領域からのユーザのユーザアカウント、ユーザアカウントのクラスタなど)からのものであり、訓練される機械学習モデル190が、ユーザアカウントのある特定のグループの特性を共有するあるユーザアカウントに対する入力に基づいてその特定のグループについての結果を決定することを可能にし得る。さらに他の実装形態では、機械学習モデルを訓練するために使用される情報は、すべてのユーザアカウントに対するものであり、訓練される機械学習モデル190が、ある特定のユーザアカウントに対する入力に基づいてすべてのユーザアカウントについての結果を決定することを可能にし得る。
実装形態では、訓練入力192はコンテンツ情報192Aを含み得る。コンテンツ情報は、メディアアイテムのコンテンツに関する情報を指し得る。
実装形態では、コンテンツ情報192Aはコンテンツのタイプ194Aを含み得る。コンテンツのタイプ194Aは、メディアアイテムのフォーマットを含み得る。たとえば、メディアアイテムのフォーマットは、ビデオアイテム、オーディオアイテム、時間とともにスライドを切り替えるスライドショー、時間とともにスクロールするテキスト、時間とともに変化する図などのうちの1つまたは複数を含み得る。
実装形態では、コンテンツ情報192Aはコンテンツの特性194Bを含み得る。コンテンツの特性194Bはコンテンツのジャンル(たとえば、コメディショー、教育ビデオ、ニュース、講義など)、コンテンツにおいて話している、または描かれている具体的な人々、コンテンツの主題、コンテンツにおいて論じられている題材などを含み得る。
実装形態では、コンテンツ情報192Aはセグメント情報194Cを含み得る。セグメント情報194Cは、メディアアイテムのある部分が開始する第1の時間的位置と、メディアアイテムのその部分が終了する第2の時間的位置とを含み得る。たとえば、講義者は、メディアアイテムの最初から30秒の第1の時間的位置において話し始めることがあり、講義者は、メディアアイテムの最初から10分の第2の時間的位置において話し終えることがある。
いくつかの実装形態では、訓練入力192は、再生行動情報192C(たとえば、再生行動136)を含み得る。再生行動情報192Cは、1つまたは複数のメディアアイテムの部分に関連する1人または複数のユーザの再生行動136を含み得る。上で論じられたように、再生行動136は、メディアアイテムの1つまたは複数の部分をスキップすること、メディアアイテムの1つまたは複数の部分をリプレイすること、メディアアイテムの1つまたは複数の部分の再生速度の上昇、メディアアイテムの1つまたは複数の部分の再生速度の低下、メディアアイテムの1つまたは複数の部分の再生の間に検索すること、メディアアイテムの1つまたは複数の部分の再生を中断すること、メディアアイテムの再生をやめることなどのうちの1つまたは複数を含み得る。
再生行動情報192Cはさらに、ユーザのフィードバック、ユーザのブラウジング操作、ユーザ入力(たとえば、再生の開始、中断、早送り、巻き戻し、リプレイなど)、視聴履歴、およびユーザの不活動(たとえば、ユーザ入力なし)、または前述のもののすべてに対するタイムスタンプ(たとえば、各ストリームまたはダウンロードの開始時間、各ストリームに関するユーザ入力の時間)を含み得る。再生行動情報192Cはさらに、たとえば、1人または複数のユーザが(たとえば、ウェブサイトにアクセスするためのブラウザを介して、ネイティブアプリケーションを介して、意思アイコンを通じて、など)メディアアイテムにアクセスするようになる状況、アクセスの時刻、視聴され、ストリーミングされ、またはダウンロードされるメディアコンテンツについての情報(たとえば、ジャンル、長さ、タイトル、アーティスト、ビデオアイテム、オーディオアイテムなどのタイプ)を示す情報を含み得る。
いくつかの実装形態では、再生行動情報192Cはまた、メディアアイテムの消費に関する使用パターンまたは習慣を示す情報を含み得る。使用パターンまたは習慣を示す情報は、同様の特性(たとえば、コンテンツの特性194B)を伴う、または同様のタイプ(コンテンツのタイプ194A)のコンテンツ情報に関する、ユーザの使用パターンを示し得る。たとえば、使用パターンまたは習慣を示す情報は、特定の講義者に対応するメディアアイテムの部分に対するユーザ入力に応答してユーザが再生速度を(たとえば、0.5倍の再生速度に)下げることを示し得る。別の例では、使用パターンまたは習慣を示す情報は、メディアアイテムの少なくとも1つの部分を調整された再生にてレンダリングするかどうかを選ぶためのプロンプトがユーザに表示されたかどうか、そして、ユーザに表示された場合、どのテキストがプロンプトにおいて使用されたかを示し得る。使用パターンまたは習慣を示す情報は、システムがデフォルトでより簡単にしたものに基づいて、メディアアイテムの少なくとも1つの部分を調整された再生にてレンダリングすることをユーザが選んだかどうかということについて生じ得る偏りを避けるのに、有用であり得る。
実装形態では、訓練入力192はユーザ情報192Dを含み得る。ユーザ情報192Dは、メディアアイテムサーバ110または再生調整サーバ130にアクセスするユーザのタイプに関する情報を指し得る。たとえば、ユーザ情報192Dはユーザ親和性を含み得る。親和性とは、メディアアイテムの特定のカテゴリ(たとえば、ニュース、ビデオゲーム、大学バスケットボールなど)へのユーザの関心を指し得る。親和性スコア(たとえば、低から高に向かって、値0〜1)は、特定のカテゴリへのユーザの関心を定量化するために各カテゴリに割り当てられ得る。たとえば、ユーザは、大学バスケットボールに対して0.5の親和性スコアを、ビデオゲームに対して0.9の親和性スコアを有することがある。たとえば、ユーザは、メディアアイテムサーバ110または再生調整サーバ130にログインしている(たとえば、アカウント名およびパスワード)ことがあり、ユーザ情報192Dはそのユーザアカウントと関連付けられることがある。別の例では、クッキーが、ユーザ、ユーザデバイス、またはアプリケーションと関連付けられることがあり、ユーザ情報192Dはクッキーから決定されることがある。実装形態では、ユーザ情報192Dは、共有ユーザアカウントの一部またはすべてのユーザのユーザ情報を含み得る。
メディアアイテムの少なくとも1つの部分を調整された再生にてレンダリングするかどうかを決定することは、多くの異なるやり方で達成され得ることに留意することができる。たとえば、ユーザがブラウザを使用している場合、特定のユーザデバイスまたはユーザアカウントは、特定のユーザデバイスまたはユーザアカウントを特定するための、クッキー、ユーザエージェント、または指紋情報を使用して決定され得る。ネイティブアプリケーションがメディアアイテムサーバ110にアクセスするために使用されている場合、ネイティブアプリケーションは、ユーザデバイスのオペレーティングシステムに問い合わせて、特定のユーザデバイスまたはユーザアカウントを区別するための情報を集め得る。
いくつかの実装形態では、ユーザ情報192Dは位置情報を含み得る。位置情報は、ジオロケーション情報、近接情報、またはコンテキスト位置情報を含み得る。ジオロケーション情報とは、ユーザデバイスの現実世界での地理的位置の特定または推定を可能にする情報を指し得る。たとえば、ジオロケーション情報は、住所、街路、都市、郡、州などであり得る。ジオロケーション情報は、とりわけ、全地球測位システム(GPS)デバイス、インターネットプロトコル(IP)アドレスを使用して決定され得る。
実装形態では、目標出力196は、調整された再生の指示196B(たとえば、メディアアイテムの少なくとも1つの部分を調整された再生にてレンダリングすることに対するユーザの選好の指示)を含み得る。いくつかの実装形態では、調整された再生の選好の指示は、メディアアイテムの少なくとも1つの部分の再生を調整するためのユーザの選択を含み得る。上で説明されたように、再生を調整するためのユーザの選択は、推奨によって容易にされ得る。調整された再生の指示196Bはまた、メディアアイテムについての情報、再生行動についての情報、およびユーザについての情報を含み得る。
いくつかの実装形態では、訓練セットを生成し、訓練セットを使用して機械学習モデル190を訓練したことに続いて、機械学習モデル190はさらに、1つまたは複数のメディアアイテムの1つまたは複数の部分の再生を調整するというユーザの選択を使用して、訓練されることがあり(たとえば、訓練セットに対する追加のデータ)、または調整されることがある(たとえば、ニューラルネットワークにおける接続の重みなどの、機械学習モデル190の入力データと関連付けられる重みを調整する)。たとえば、訓練セットが生成されて、機械学習モデル190が訓練セットを使用して訓練された後で、訓練エンジン181は、再生要求のメディアアイテムの少なくとも1つの部分が1つまたは複数のメディアアイテムの1つまたは複数の部分に対応することの指示を受信することがあり、メディアアイテムの少なくとも1つの部分のための調整された再生を特定する試験出力を生成するために機械学習モデル190を使用することがある。システム100は、ユーザデバイスに、調整された再生にてメディアアイテムの少なくとも1つの部分をレンダリングさせる。システム100は、ユーザの選択を受け取って、メディアアイテムの1つまたは複数の部分の再生をさらに調整し(たとえば、再生行動)、この情報を使用して機械学習モデル190をさらに訓練または調整し得る。
図2は、本開示のある実装形態による、調整された再生にてメディアアイテム112を提供するためのシーケンス図200を示す。図示されるように、シーケンス図200は、ユーザデバイス120と、再生調整サーバ130と、コンテンツ所有者デバイス140との間の相互作用を含む。再生調整サーバ130によって実行されるものとしてシーケンス図200において図示される活動のうちの1つまたは複数は、再生調整サーバ130、メディアアイテムサーバ110、またはメディアアイテムプラットフォームのうちの1つまたは複数によって実行され得る。いくつかの実装形態では、メディアアイテムサーバ110および/または再生調整サーバ130は、メディアアイテムプラットフォームの一部である。いくつかの実装形態では、シーケンス図200に示される活動と活動の間に、1つまたは複数の介在する構成要素または活動があり得る。いくつかの実装形態では、メディアアイテム112は、シーケンス図200に図示されるものより少数の活動で、調整された再生にて提供され得る。
シーケンス図200は、動作205において、再生調整サーバ130がコンテンツ所有者デバイス140からメディアアイテム112aを受信することで開始し得る。いくつかの実装形態では、コンテンツ所有者デバイス140は、メディアアイテム112aを再生調整サーバ130に送信する。いくつかの実装形態では、コンテンツ所有者デバイス140は、メディアアイテム112aをメディアアイテムサーバ110に送信し、再生調整サーバ130は、メディアアイテム112aをメディアアイテムサーバ110から受信する。いくつかの実装形態では、コンテンツ所有者デバイス140は、メディアアイテム112aをメディアアイテムサーバ110に送信し、再生調整サーバ130は、メディアアイテム112aがメディアアイテムサーバ110またはデータストア160に記憶されていることの指示をメディアアイテムサーバ110から受信する。
動作210において、再生調整サーバ130は、メディアアイテム112aに対する再生要求をユーザデバイス120から受信し得る。いくつかの実装形態では、メディアアイテム112aは、ユーザデバイス120のユーザにとって不明確であると見なされる1つまたは複数の部分を含み得る。いくつかの実装形態では、メディアアイテム112aは、ユーザデバイス120のユーザにとって冗長であると見なされる1つまたは複数の第2の部分を含み得る。いくつかの実装形態では、ユーザデバイス120のユーザは、再生要求を送信する前に、再生調整サーバ130、メディアアイテムサーバ110、またはメディアアイテムプラットフォームへのログインを実行する。再生調整サーバ130は、ユーザのログインに応答して、ユーザの以前の再生行動(たとえば、視聴履歴、スクローリング履歴、検索履歴)またはユーザについての情報(たとえば、人口統計、ユーザがそのメンバーであるグループなど)のうちの1つまたは複数を入手することが可能である。いくつかの実装形態では、以前の再生行動136および/またはユーザのユーザ情報は、メディアアイテム112aの少なくとも1つの部分がユーザにとって不明確または冗長であると見なされることを決定するために使用され得る。たとえば、特定の講義者を含む他のメディアアイテムの他の部分の再生速度をユーザが下げた場合、再生調整サーバ130は、不明確であると見なされる同じ講義者を含むメディアアイテム112aの少なくとも1つの部分を見つけることができる。別の例では、ユーザが、ある特定の主題(たとえば、基本的な加算および減算)についてのメディアアイテムの部分の再生速度を上げた他のユーザとクラスタリングされる(たとえば、類似するユーザ情報および/または再生行動136を有する)場合、再生調整サーバ130は、メディアアイテム112aの少なくとも1つの部分も、冗長であると見なされるべき同じ主題(たとえば、基本的な加算および減算)についてのものであると決定することができる。いくつかの実装形態では、以前の再生行動および/またはユーザのユーザ情報とは無関係に、メディアアイテム112に対して調整された再生がデフォルトである。
動作215において、再生調整サーバ130は、1つまたは複数のメディアアイテム112に関連する1人または複数のユーザの以前の再生行動136に基づいて、第1のメディアアイテム112aの少なくとも1つの部分のための調整された再生を決定し得る。いくつかの実装形態では、再生要求は、ユーザにとって不明確であると見なされる1つまたは複数の対応する部分を有するメディアアイテム112aに対するものであり、再生調整サーバ130は、第1のユーザまたは1人または複数の他のユーザにとって不明確であった1つまたは複数の対応する部分(たとえば、第1のメディアアイテムの第1の部分、第2のメディアアイテムの第2および第3の部分など)を有する、1つまたは複数のメディアアイテムを特定し得る。いくつかの実装形態では、再生要求は、ユーザにとって冗長であると見なされる1つまたは複数の対応する部分を有するメディアアイテム112aに対するものであり、再生調整サーバ130は、第1のユーザまたは1人または複数の他のユーザにとって冗長であった1つまたは複数の対応する部分を有する1つまたは複数のメディアアイテムを特定し得る。
いくつかの実装形態では、再生調整サーバ130は、1人または複数の他のユーザ(たとえば、以前の再生行動に対応する)がユーザデバイス120のユーザと類似していることを決定し得る。再生調整サーバ130は、(たとえば、類似する再生行動に基づいて)ユーザデバイス120のユーザを1人または複数の他のユーザとクラスタリングし得る。たとえば、再生調整サーバ130は、類似する視聴履歴(たとえば、1人または複数の他のユーザが、ユーザと同じメディアアイテムを閾値の量見る)に基づいて、ユーザデバイス120のユーザを1人または複数の他のユーザとクラスタリングし得る。別の例では、再生調整サーバ130は、類似するスクローリング履歴(たとえば、1つまたは複数の他のメディアアイテムに対する類似する再生行動、メディアアイテムの類似する部分のスキップまたは繰り返し)に基づいて、ユーザデバイス120のユーザを1人または複数の他のユーザとクラスタリングし得る。いくつかの実装形態では、再生調整サーバ130は、他の類似する特性(たとえば、大人対子供、地理的位置など)に基づいて(たとえば、再生行動136の照合なしで、再生行動136を照合することに加えて)、ユーザデバイス120のユーザを1人または複数の他のユーザとクラスタリングし得る。いくつかの実装形態では、再生調整サーバ130は、同じグループの一部であること(たとえば、同じチャネルに登録していること、同じソーシャルネットワーキンググループの一部であることなど)に基づいて、ユーザデバイス120のユーザを1人または複数の他のユーザとクラスタリングし得る。
一実装形態では、再生調整サーバ130は、類似する再生行動136に基づいて、第1のクラスタにおいて、ユーザデバイス120のユーザを第2のユーザとクラスタリングし得る。再生調整サーバ130は、メディアアイテム112aの1つまたは複数の部分に関連する第2のユーザの第2の再生行動を特定し得る。再生調整サーバ130は、第2の再生行動に基づいて、メディアアイテム112aの1つまたは複数の部分の調整された再生を決定し得る。
いくつかの実装形態では、再生調整サーバ130は、メディアアイテム112aとの類似性を有する1つまたは複数のメディアアイテムに関連する、ユーザデバイス120のユーザの以前の再生行動を特定する。いくつかの実装形態では、再生調整サーバ130は、メディアアイテム112aに関連する1人または複数の他のユーザの以前の再生行動を特定する。いくつかの実装形態では、再生調整サーバ130は、メディアアイテム112aとの類似性を有する1つまたは複数のメディアアイテムに関連する、1人または複数の他のユーザの以前の再生行動を特定する。
いくつかの実装形態では、再生調整サーバ130は、対応する1つまたは複数のユーザデバイス120への1つまたは複数のメディアアイテム112のストリーミングの間、1人または複数のユーザの以前の再生行動136を監視する。いくつかの実装形態では、再生調整サーバ130は、(たとえば、1つまたは複数のメディアアイテム112が1つまたは複数のユーザデバイス120によってレンダリングされた後で)1つまたは複数のユーザデバイス120から以前の再生行動136を受信し得る。いくつかの実装形態では、再生調整サーバ130は、APIを介して(たとえば、1つまたは複数の他のメディアアイテムプラットフォームから)以前の再生行動136を受信し得る。
再生調整サーバ130は、再生行動136に基づいて、メディアアイテム112aの調整された再生を決定し得る。いくつかの実装形態では、ユーザデバイス120のユーザまたは1人または複数の他のユーザにとって不明確であった1つまたは複数のメディアアイテム112の1つまたは複数の対応する部分の再生速度を下げるためのユーザ操作を、以前の再生行動136が含んでいることに応答して、再生調整サーバ130は、ユーザデバイス120のユーザにとって不明確であると見なされるメディアアイテム112aの1つまたは複数の部分の第1の低減した再生速度を含む、調整された再生を決定し得る。いくつかの実装形態では、ユーザデバイス120のユーザまたは1人または複数の他のユーザにとって冗長であった1つまたは複数のメディアアイテム112の1つまたは複数の対応する部分の再生速度を上げるためのユーザ操作を、以前の再生行動136が含んでいることに応答して、再生調整サーバ130は、ユーザデバイス120のユーザにとって冗長であると見なされるメディアアイテム112aの1つまたは複数の部分の第1の増大した再生速度を含む、調整された再生を決定し得る。いくつかの実装形態では、ユーザデバイス120のユーザまたは1人または複数の他のユーザにとって不明確であった1つまたは複数のメディアアイテム112の1つまたは複数の対応する部分をリプレイするためのユーザ操作を、以前の再生行動136が含んでいることに応答して、再生調整サーバ130は、ユーザデバイス120のユーザにとって不明確であると見なされるメディアアイテム112aの1つまたは複数の部分をリプレイすることを含む、調整された再生を決定し得る。いくつかの実装形態では、ユーザデバイス120のユーザまたは1人または複数の他のユーザにとって冗長であった1つまたは複数のメディアアイテム112の1つまたは複数の対応する部分をスキップするためのユーザ操作を、以前の再生行動136が含んでいることに応答して、再生調整サーバは、ユーザデバイス120のユーザにとって冗長であると見なされるメディアアイテム112aの1つまたは複数の部分をスキップすることを含む、調整された再生を決定し得る。
いくつかの実装形態では、以前の再生行動136は、1人または複数のユーザによって実行される1回または複数の検索を含む。1回または複数の検索は、1つまたは複数のメディアアイテム112(たとえば、メディアアイテム112の中の1つまたは複数の時間的位置)の再生と関連付けられ得る。対応する検索がメディアアイテム112に関連するかどうかを決定するために、異なるタイプの検索が異なるレベルの調査を受け得る。たとえば、対応するメディアアイテム112の再生の間に実行された検索は、低いレベルの調査を受け得る。メディアアイテム112の再生を中断しながら(たとえば、メディアアイテム112の第1の部分の再生の後、かつメディアアイテム112の第2の部分の再生の前に)実行された検索は、中間のレベルの調査を受け得る。メディアアイテム112の再生の後に実行された検索は、高いレベルの調査を受け得る。
いくつかの実装形態では、メディアアイテム112の再生に関連して実行される1回または複数の検索は、その1回または複数の検索をメディアアイテム112の再生に関連せずに実行されるよくある検索(たとえば、メディアアイテム112の再生の間に実行されない検索)と比較することに基づいて、メディアアイテム112に関連する(たとえば、メディアアイテム112のある部分に関連する、メディアアイテム112の第1の時間的位置に関連する、メディアアイテム112の第1の時間的位置において開始する時間の範囲に関連する)ものと決定される。1回または複数の検索が、メディアアイテム112の再生に関連せずに実行されるよくある検索と類似している場合、その1回または複数の検索は、メディアアイテム112に関連しないものと決定され得る。いくつかの実装形態では、メディアアイテム112の再生に関連して実行される1回または複数の検索は、メディアアイテム112のコンテンツ埋め込み(たとえば、コンテンツ分類、キャプションなど)に基づいて、メディアアイテム112に関連するものと決定される。いくつかの実装形態では、1回または複数の検索がメディアアイテムに関連する確率は、1回または複数の検索とメディアアイテム112のコンテンツ埋め込み(たとえば、メディアアイテム112のメタデータ)との間の一致に基づいて決定され得る。たとえば、ある検索の中の4つの語のうちの2つがメディアアイテム112のコンテンツ埋め込みと一致する場合、検索がメディアアイテムに関連する確率は50%であり得る。いくつかの実装形態では、1回または複数の検索がメディアアイテムに関連する確率は、メディアアイテム112のコンテンツ埋め込みとの一致に基づいて、かつ、その検索とメディアアイテム112の再生との関連なしに実行されるよくある検索との間の類似の程度に基づいて決定され得る。たとえば、ある検索の中の4つの語のうちの2つがメディアアイテム112のコンテンツ埋め込みと一致し、検索がメディアアイテム112の再生との関連なしに実行されるよくある検索と50%類似している場合、検索がメディアアイテムに関連する確率は25%であり得る。調査を受ける検索は、検索が関連するものである確率を閾値の確率と比較することを含み得る。たとえば、低水準の調査は、メディアアイテム112と関連する確率が2
5%以上である検索を含み得る(たとえば、25%の閾値の確率)。中程度の調査は、メディアアイテム112と関連する確率が50%以上である検索を含み得る(たとえば、50%の閾値の確率)。高水準の調査は、メディアアイテムと関連する確率が75%以上である検索を含み得る(たとえば、75%の閾値の確率)。
いくつかの実装形態では、1回または複数の検索は、再生調整サーバ130の再生マネージャ132によって監視される。いくつかの実装形態では、1回または複数の検索は、ユーザデバイス120の再生行動構成要素128によって監視され、再生調整サーバ130に送信される。いくつかの実装形態では、1回または複数の検索は、サードパーティ(たとえば、ユーザデバイス120を介して入力された検索クエリを受信する検索エンジン)からAPIを介して再生調整サーバ130によって受信される。いくつかの実装形態では、再生マネージャ132が、検索が関連するかどうかを決定する。いくつかの実装形態では、サードパーティが、検索が関連するかどうかを決定する。
検索は、時間の関数によってメディアアイテム112の1つまたは複数の部分と結び付けられ得る。たとえば、メディアアイテム112の再生行動136は、再生事象、中断事象、リプレイ事象、スキップ事象、速度低下事象、速度上昇事象、検索事象などのうちの1つまたは複数を用いて時間的な電子透かしを埋め込まれたメディアアイテム112の指示を含み得る。
再生調整サーバ130は、メディアアイテム112(たとえば、メディアアイテム112の1つまたは複数の部分)の第1の時間的位置(たとえば、第1の時間的位置において開始する時間の長さ)に1回または複数の検索が関連することを決定し得る。再生調整サーバ130は、1回または複数の関連する検索という再生行動136に基づいて、(たとえば、メディアアイテム112のある部分の間に、メディアアイテム112の第1の時間的位置において、メディアアイテム112の第1の時間的位置において開始するある時間の範囲の間に)メディアアイテム112aとともに表示されるべきコンテキスト情報を含む調整された再生を決定し得る。たとえば、メディアアイテム112に関連があると決定される検索は、解説情報(たとえば、メディアアイテム112において言及される1つまたは複数の概念、メディアアイテム112において言及される用語の1つまたは複数の定義を説明する情報)についての検索であり得る。コンテキスト情報は、検索に基づく解説情報を含み得る。デフォルト再生でのメディアアイテム112aのレンダリングは、コンテキスト情報の表示を含まなくてもよい。
いくつかの実装形態では、再生調整サーバ130は、調整された再生に基づいて調整された再生命令(たとえば、再生メタデータ)を生成し得る(図3C参照)。調整された再生命令は、ユーザデバイス120に、調整された再生にてメディアアイテム112aをレンダリングさせ得る(たとえば、調整された再生にてメディアアイテム112aをレンダリングすること、調整された再生のためのメディアアイテム112aの部分を標識することなどのための命令)。たとえば、調整された再生命令は、ユーザデバイス120に、メディアアイテム112aをより遅い再生速度でレンダリングさせ、メディアアイテム112aをより速い再生速度でレンダリングさせ、メディアアイテム112aの1つまたは複数の部分をリプレイさせ、メディアアイテム112aの1つまたは複数の部分をスキップさせ、かつ/または再生の間にコンテキスト情報を表示させ得る。
図2に戻ると、動作220において、再生調整サーバ130は、メディアアイテム112aの少なくとも1つの部分が調整された再生にてレンダリングされるようにし得る。いくつかの実装形態では、再生調整サーバ130は、メディアアイテム112aおよび調整された再生命令(たとえば、再生メタデータ)をユーザデバイス120に送信し得る。いくつかの実装形態では、再生調整サーバ130は、調整された再生にてメディアアイテム112aをユーザデバイス120にストリーミングし得る。いくつかの実装形態では、再生調整サーバ130は、調整された再生命令をユーザデバイス120に送信したことに続いて、メディアアイテム112aをユーザデバイス120にストリーミングし得る。
動作225において、ユーザデバイス120は、調整された再生にてメディアアイテム112aをレンダリングし得る。いくつかの実装形態では、ユーザデバイス120は、調整された再生命令に基づいて、調整された再生にてメディアアイテム112aをレンダリングする。ユーザデバイス120のレンダリング構成要素126は、調整された再生命令に基づいて、メディアアイテム112aの1つまたは複数の部分の再生の間に取るべき行動(たとえば、再生速度を上げ、または下げること、スキップまたはリプレイすること、コンテキスト情報を表示すること)を決定し、再生の間にそれらの行動を実行し得る。たとえば、レンダリング構成要素126は、メディアプレーヤに、再生の間にメディアアイテム112aの部分をスキップまたはリプレイさせ得る。
いくつかの実装形態では、メディアアイテム112aは、調整された再生にて(たとえば、調整された再生速度にて、一部をスキップまたはリプレイして、コンテキスト情報を表示して、など)ユーザデバイス120によって受信され、ユーザデバイスは、(たとえば、グラフィカルユーザインターフェースを介して、グラフィカルユーザインターフェースを介して表示されるメディアプレーヤを介して)調整された再生にてメディアアイテム112aをレンダリング(たとえば、表示)する。たとえば、メディアアイテム112aは、ユーザデバイス120が調整された再生を引き起こすことなく(たとえば、ユーザデバイス120を介して表示されるメディアプレーヤは、メディアアイテム112aの部分のスキップ、リプレイなどを行わない)、調整された再生にて(たとえば、1つまたは複数の部分がスキップ、リプレイなどをされるフォーマットで)ユーザデバイス120にストリーミングされ得る。
いくつかの実装形態では、動作230において、ユーザデバイス120は、メディアアイテム112aに関連する第1のユーザの再生行動136aを決定し得る。動作235において、再生調整サーバ130は、ユーザデバイス120から再生行動136aを受信し得る。たとえば、ユーザデバイス120は(たとえば、再生行動構成要素128を介して)、メディアアイテム112aの第1の部分が再生の間にスキップされたこと、メディアアイテム112aの第2の部分が再生の間にリプレイされたこと、および再生の間にメディアアイテム112aの第3の部分の間に検索が実行されたことを決定し得る。
いくつかの実装形態では、再生調整サーバ130は、メディアアイテム112aに関連する第1のユーザの再生行動136aを決定する。たとえば、再生調整サーバ130は、メディアアイテム112aをユーザデバイス120にストリーミングしていることがあり、再生調整サーバ130は、ストリーミングの間にメディアアイテム112aの第1の部分をスキップするためのユーザ入力を受け取ることがあり、再生調整サーバは、ユーザ入力に基づいてストリーミングの間に第1の部分をスキップすることがあり、再生調整サーバは、メディアアイテム112aの第1の部分をスキップするためのユーザ入力に基づいて、メディアアイテム112aに関連する第1のユーザの再生行動136aを決定することがある。
動作240において、再生調整サーバ130は、再生行動136aに基づいて第1のメディアアイテム112aを修正するための推奨138を生成し得る。たとえば、再生行動136aがメディアアイテム112aの第1の部分をスキップすることを含んでいた場合、推奨138は、メディアアイテムの第1の部分をスキップする(たとえば、削除する)ために第1のメディアアイテム112aを修正する(たとえば、編集する)ことであり得る。
いくつかの実装形態では、動作245において、再生調整サーバ130は、推奨138をコンテンツ所有者デバイス140に送信し得る。いくつかの実装形態では、再生調整サーバ130は、推奨に基づいてメディアアイテム112aを修正し得る。
いくつかの実装形態では、動作250において、コンテンツ所有者デバイス140は、推奨138に基づいて(たとえば、コンテンツ所有者による推奨138の受入れに基づいて)メディアアイテム112aを修正し得る。
いくつかの実装形態では、動作255において、再生調整サーバ130は、コンテンツ所有者デバイス140から修正されたメディアアイテム112aを受信し得る。再生調整サーバ130は、修正されたメディアアイテム112aをメディアアイテムサーバ110に送信し得る。
図3A〜図3Gは、本開示の実装形態による、調整された再生にてメディアアイテム112を提供する例示的な方法を示す流れ図である。
図3A〜図3Gは、本開示の実装形態による、調整された再生にてメディアアイテム112を提供するための方法300、310、330、340、350、370、および390の説明のための例の流れ図を示す。方法300、310、330、340、および350は、再生調整システム105(たとえば、サーバマシン170、サーバマシン180、または再生調整サーバ130のうちの1つまたは複数)(たとえば、および/またはメディアアイテムプラットフォームもしくはメディアアイテムサーバ110)の観点からの例示的な方法である。方法370は、ユーザデバイス120の観点からの例示的な方法である。方法390は、コンテンツ所有者デバイス140の観点からの例示的な方法である。方法300、310、330、340、350、370、および390は、ハードウェア(たとえば、回路、専用論理回路)、ソフトウェア(汎用コンピュータシステムまたは専用機械上で実行されるものなど)、または両方の組合せを含み得る、処理デバイスによって実行され得る。方法300、310、330、340、350、370、および390、ならびに、それらの個別の関数、ルーチン、サブルーチン、または動作の各々は、方法を実行するコンピュータデバイスの1つまたは複数のプロセッサによって実行され得る。いくつかの実装形態では、方法300、310、330、340、350、370、および390の各々は、単一の処理スレッドによって実行され得る。代替として、方法300、310、330、340、350、370、および390の各々は、2つ以上の処理スレッドによって実行されてもよく、各スレッドは、方法の1つまたは複数の個別の関数、ルーチン、サブルーチン、または動作を実行する。
説明を簡単にするために、本開示の方法は、一連の活動として図示され説明される。しかしながら、本開示による活動は、様々な順序で、かつ/または同時に行われてもよく、他の活動は本明細書では提示されず、説明されない。さらに、すべての図示される活動が、開示される主題による方法を実施するために必要とされるとは限らない。加えて、方法は代替的に、状態図またはイベントを介して一連の相関する状態として表され得ることを、当業者は理解し了解するであろう。加えて、本明細書において開示される方法は、コンピューティングデバイスへのそのような方法の輸送および移送を容易にするための製造品に記憶されることが可能であることを了解されたい。本明細書では、「製造品」という用語は、任意のコンピュータ可読デバイスまたは記憶媒体からアクセス可能なコンピュータプログラムを包含することが意図される。たとえば、非一時的機械可読記憶媒体は、実行されると、(たとえば、再生調整システム105の、メディアアイテムサーバ110の、ユーザデバイス120の、再生調整サーバ130の、コンテンツ所有者デバイス140の、サーバマシン170の、サーバマシン180の、メディアアイテムプラットフォームの、などの)処理デバイスに、本明細書で開示される方法を含む動作を実行させる命令を記憶し得る。別の例では、システムは、命令を記憶するためのメモリと、メモリに通信可能に結合される処理デバイスとを含み、処理デバイスは、本明細書で開示される方法を実行するための命令を実行する。一実装形態では、方法300、310、330、340、および350は、図1Aおよび/または図1Bの再生調整システム105によって実行されてもよく、方法370は、図1のユーザデバイス120によって実行されてもよく、方法390は、図1のコンテンツ所有者デバイス140によって実行されてもよい。
図3Aを参照すると、方法300は、調整された再生にてメディアアイテム112を提供するための再生調整サーバ130の1つまたは複数の処理デバイスによって実行され得る。方法300は、再生調整サーバ130上の1つまたは複数の処理デバイス上で実行される、アプリケーションまたはバックグラウンドスレッドによって実行され得る。いくつかの実装形態では、方法300の1つまたは複数の部分は、再生調整システム105、メディアアイテムサーバ110、再生調整サーバ130、またはメディアアイテムプラットフォームのうちの1つまたは複数によって実行され得る。
ブロック302において、処理デバイスは、メディアアイテム112に対する再生要求を、第1のユーザデバイスから受信し得る。メディアアイテム112は、ユーザにとって不明確であると見なされるメディアコンテンツの1つまたは複数の部分、および/または、ユーザにとって冗長であると見なされる1つまたは複数の第2の部分を含み得る。再生要求は、ユーザデバイス120を介して表示されるGUI400を介したユーザ入力(たとえば、検索バー440を介したユーザ入力)(図4参照)に対応し得る。
ブロック304において、処理デバイスは、メディアアイテム112の少なくとも1つの部分のためのデフォルト再生とは異なる、メディアアイテム112の少なくとも1つの部分のための調整された再生を決定し得る。いくつかの実装形態では、処理デバイスは、データストア160から調整された再生134のインジケータを取り出し、調整された再生134のインジケータに基づいて調整された再生命令を提供することによって、調整された再生を決定し得る(図3B〜図3C参照)。いくつかの実装形態では、処理デバイスは、訓練される機械学習モデルを使用することによって、調整された再生を決定し得る(図3D〜図3E参照)。
調整された再生は、1つまたは複数のメディアアイテムに関連する1人または複数のユーザの以前の再生行動に基づき得る。1つまたは複数のメディアアイテムは各々、第1のメディアアイテムのメディアコンテンツの1つまたは複数の部分に対応するメディアコンテンツの1つまたは複数の対応する部分を含み得る。たとえば、メディアコンテンツの1つまたは複数の対応する部分およびメディアコンテンツの1つまたは複数の部分は、フレームのかなり似ている(または同じ)順序、かなり似ている(または同じ)オーディオストリーム、外見がかなり似ている(または同じ)キャラクターまたは人物などのうちの1つまたは複数を特徴とし得る。1つまたは複数のメディアアイテムは各々、ユーザまたは1人または複数の他のユーザにとって不明確および/もしくは冗長であった1つまたは複数の対応する部分を含み得る。以前の再生行動136は、再生速度を下げ、再生速度を上げ、1つまたは複数の部分をリプレイし、1つまたは複数の部分をスキップし、かつ/または1回または複数の検索を実行するためのユーザ操作を含み得る。たとえば、以前の再生行動は、議論されている概念を理解するには再生速度が速すぎる場合に、1人または複数のユーザがメディアアイテム112のある部分の間の再生速度を下げるためのユーザ操作を実行したことを含み得る。
調整された再生は、以前の再生行動と同様の方式で再生を修正し得る。たとえば、調整された再生は、1人または複数の他のユーザが再生速度を下げた(たとえば、論じられている概念を他のユーザが理解するには再生速度が速すぎた)メディアアイテム112の部分の間、再生速度を下げることを含み得る。
ブロック306において、処理デバイスは、ユーザデバイスに、調整された再生にて第1のメディアアイテムの少なくとも1つの部分をレンダリングさせ得る。メディアアイテム112の少なくとも1つの部分をレンダリングすることは、メディアプレーヤ410を介したものであってもよく、いくつかの実装形態によれば、図4に関連してさらに説明される。たとえば、メディアプレーヤ410は、再生を調整するためのユーザ操作(たとえば、GUI400を介したユーザ入力)を受け取ることなく、再生速度を上げ、もしくは下げること、一部をリプレイもしくはスキップすること、および/または、コンテキスト情報を表示することによって、再生を調整し得る。いくつかの実装形態では、処理デバイスは、ユーザデバイス120に、調整された再生134(たとえば、調整された再生データ)に基づいて調整された再生のインジケータを生成することと、メディアアイテム112および調整された再生命令をユーザデバイス120に送信することとによって、メディアアイテム112を調整された再生にてレンダリングさせ得る。ユーザデバイス120は、調整された再生命令に基づいてメディアアイテム112をレンダリングし得る。いくつかの実装形態では、処理デバイスは、調整された再生にてメディアアイテム112をユーザデバイス120に(たとえば、調整された再生命令をユーザデバイス120に送信することなく)ストリーミングし得る。
図3Bを参照すると、方法310は、調整された再生にてメディアアイテムを提供するための再生調整システム105の1つまたは複数の処理デバイスによって実行され得る。方法310は、再生要求に対応するメディアアイテムの少なくとも1つの部分をレンダリングするための、調整された再生を決定する(たとえば、図3Aのブロック304)ために使用され得る。方法310は、再生調整システム105の1つまたは複数の処理デバイス上で実行されるアプリケーションまたはバックグラウンドスレッドによって実行され得る。
ブロック312において、処理デバイスは、メディアアイテム(たとえば、再生要求と関連付けられる)が調整された再生のインジケータと関連付けられるかどうかに基づいて、分岐する。関連付けられる場合、実行はブロック314に進み、そうではない場合、実行はブロック316に続く。処理デバイスは、メディアアイテムの少なくとも1つの部分が調整された再生のインジケータと関連付けられるかどうかを決定するために、データストア160を検索し得る。メディアアイテムの少なくとも1つの部分と関連付けられる調整された再生のインジケータを発見しないことに応答して、実行はブロック314に進む。メディアアイテムの少なくとも1つの部分と関連付けられる調整された再生のインジケータを発見したことに応答して、実行はブロック316に進む。
ブロック314において、処理デバイスは、メディアアイテムの少なくとも1つの部分の調整された再生のためのインジケータを使用し得る。一実装形態では、処理デバイスは、インジケータに基づいて、調整された再生命令を生成し、ユーザデバイスに調整された再生にてメディアアイテムをレンダリングさせるための命令およびメディアアイテムをユーザデバイスに送信し得る。
ブロック316において、処理デバイスは、第1のメディアアイテムの少なくとも1つの部分と一致するインジケータを伴う少なくとも1つの部分を含む他のメディアアイテムについて、データストア160を検索し得る。いくつかの実装形態では、処理デバイスは、再生要求に対応するメディアアイテムと類似する(または同じ)コンテンツ情報192を有する1つまたは複数のメディアアイテムについて、データストア160を検索する。
ブロック318において、処理デバイスは、メディアアイテムと一致するインジケータと関連付けられる1つまたは複数のメディアアイテムが発見されるかどうかで分岐する。発見される場合、実行はブロック320に進み、そうではない場合、方法310の実行は終了し得る。
ブロック320において、処理論理回路は、メディアアイテムの少なくとも1つの部分の調整された再生のためのインジケータを使用する。
図3Cを参照すると、方法330は、調整された再生にてメディアアイテムを提供するための再生調整システム105の1つまたは複数の処理デバイスによって実行され得る。方法330は、調整された再生134のインジケータを生成するために使用され得る。方法330は、再生調整システム105の1つまたは複数の処理デバイス上で実行されるアプリケーションまたはバックグラウンドスレッドによって実行され得る。
ブロック332において、処理デバイスは、1つまたは複数のメディアアイテム112に関連する1人または複数のユーザの以前の再生行動136を決定し得る。上で論じられたように、再生行動136は、スキップすること、リプレイすること、再生速度を上げること、再生速度を下げること、検索を実行することなどのうちの1つまたは複数を含み得る。
ブロック334において、処理デバイスは、以前の再生行動136が、1つまたは複数のメディアアイテム112の少なくとも1つの部分のための調整された再生134を反映していることを決定し得る。いくつかの実装形態では、調整された再生134は、1つまたは複数のメディアアイテムのデフォルト再生とは異なり得る。いくつかの実装形態では、調整された再生134は、以前に生成された調整された再生とは異なり得る。たとえば、以前に決定された調整された再生134は、元の再生速度の2倍に再生速度を上げることであることがあり、ブロック334において反映される調整された再生は、再生速度を元の再生速度に戻すためのユーザ入力に応答したものであることがある。
ブロック336において、処理デバイスは、1つまたは複数のメディアアイテム112の少なくとも1つの部分のための調整された再生134(たとえば、再生メタデータ)のインジケータを生成し得る。
ブロック338において、処理デバイスは、データストア160において、1つまたは複数のメディアアイテム112の少なくとも1つの部分を調整された再生134のインジケータと関連付け得る。処理デバイスは、メディアアイテム112を調整された再生134のインジケータとともにデータストア160に記憶し得る。
図3Dを参照すると、方法370は、調整された再生にてメディアアイテムを提供するための再生調整システム105の1つまたは複数の処理デバイスによって実行され得る。方法370は、再生要求に対応するメディアアイテムの少なくとも1つの部分をレンダリングするための調整された再生を決定するために使用され得る。方法370は、再生調整システム105の1つまたは複数の処理デバイス上で実行されるアプリケーションまたはバックグラウンドスレッドによって実行され得る。
ブロック342において、処理デバイスは、メディアアイテムと関連付けられる(たとえば、再生要求と関連付けられる)コンテンツ情報192Aと、(たとえば、再生要求を提供した)ユーザと関連付けられるユーザ情報192Dとを、訓練される機械学習モデル190への入力として提供し得る。処理デバイスはまた、訓練される機械学習モデル190への入力として、再生行動情報192Cを提供し得る。訓練される機械学習モデル190は、図3Eの方法350によって訓練され得る。図3Eの方法350は、図1Cにおいて生成される訓練セットを使用し得る。
ブロック344において、処理デバイスは、訓練される機械学習モデル190から1つまたは複数の出力を取得し得る。1つまたは複数の出力は、メディアアイテムの少なくとも1つの部分のための調整された再生の指示(たとえば、メディアアイテムの少なくとも1つの部分のための調整された再生に対するユーザ選好の予測)を含み得る。
ブロック346において、処理デバイスは、1つまたは複数の出力から、第1のメディアアイテムの少なくとも1つの部分が調整された再生にてレンダリングされるべきであることの信頼水準を抽出し得る。いくつかの実装形態では、信頼水準は、調整された再生にてレンダリングされているメディアアイテムの少なくとも1つの部分の再生をユーザがさらに調整しない確率であり得る。いくつかの実装形態では、信頼水準は、メディアアイテムの少なくとも1つの部分が調整された再生にてレンダリングされていることに応答して、ユーザがメディアアイテムの再生をさらに調整しない確率であり得る。たとえば、(たとえば、再生要求を送信したユーザとクラスタリングされている)10人のユーザのうちの9人が、メディアアイテムの最初の30秒をスキップした場合、処理デバイスは、処理デバイスがメディアアイテムの最初の30秒を自動的にスキップする場合にユーザがメディアアイテムの最初の30秒の再生をさらに調整しないであろうことを、90%の信頼水準で決定し得る。
図3Eを参照すると、方法350は、調整された再生にてメディアアイテムを提供するための再生調整システム105の1つまたは複数の処理デバイスによって実行され得る。再生調整システム105は、本開示の実装形態による、機械学習モデルを訓練するために方法350を使用し得る。方法は、ハードウェア(回路、専用論理回路など)、ソフトウェア(たとえば、処理デバイス上で実行される命令)、またはこれらの組合せを含み得る、処理論理回路によって実行される。一実装形態では、方法350の一部またはすべての動作は、図1Aおよび/または図1Bのシステム100の1つまたは複数の構成要素によって実行され得る。他の実装形態では、方法350の1つまたは複数の動作は、図1B〜図1Cに関して説明されたようなサーバマシン170の訓練セット生成器171によって実行され得る。図1A〜図1Cに関して説明された構成要素は、図3Eの態様を説明するために使用され得ることに留意することができる。
方法350は、機械学習モデルのための訓練データを生成する。いくつかの実装形態では、ブロック352において、方法350を実施する処理論理回路は、訓練セットTを空集合へと初期化する。
ブロック354において、処理論理回路は、(図1Cに関して説明されたような)第1のメディアアイテムと関連付けられるコンテンツ情報192Aを含む第1の訓練入力を生成する。ユーザデバイスは、特定のユーザアカウントと関連付けられ得る。いくつかの実装形態では、コンテンツ情報192Aのカテゴリ194のうちの1つまたは複数も、別個の訓練入力として使用され得ることに留意することができる。第2の訓練入力は、追加のメディアアイテムと関連付けられるコンテンツ情報(たとえば、図1Cに関して説明されたような第2のメディアアイテムと関連付けられるコンテンツ情報192B)を含み得る。任意の数のメディアアイテムに対するコンテンツ情報が訓練入力として使用され得ることに留意することができる。
ブロック356において、処理論理回路は、1つまたは複数のメディアアイテムに関連する1人または複数のユーザと関連付けられるユーザ活動を示す再生行動情報192Cを含む、第2の訓練入力を生成する。
ブロック358において、処理論理回路は、(たとえば、再生行動情報192Cおよび再生要求に対応する)1人または複数のユーザと関連付けられる情報を示すユーザ情報192Dを含む、第3の訓練入力を生成する。
ブロック360において、処理論理回路は、訓練入力(たとえば、訓練入力1から3)のうちの1つまたは複数のための第1の目標出力を生成する。第1の目標出力は、調整された再生にてメディアアイテムの少なくとも1つの部分をレンダリングすることについての、ユーザアカウントと関連付けられるユーザの選好の指示を提供する。
ブロック362において、処理論理回路は任意選択で、入力/出力のマッピングを示すマッピングデータを生成する。入力/出力のマッピング(またはマッピングデータ)とは、訓練入力(たとえば、本明細書で説明される訓練入力のうちの1つまたは複数)、訓練入力のための目標出力(たとえば、目標出力は、それぞれの送信を取り消すことについてのユーザの選好の指示を特定する)、および訓練入力と目標出力との間の関連付けを指し得る。ブロック364において、処理論理回路は、ブロック362において生成されたマッピングデータを訓練セットTに追加する。
ブロック366において、処理論理回路は、訓練セットTが機械学習モデル190を訓練するのに十分であるかどうかに基づいて分岐する。十分である場合、実行はブロック368に進み、そうではない場合、実行はブロック354に戻って継続する。いくつかの実装形態では、訓練セットTが十分であることは、訓練セットの中の入力/出力のマッピングの数に単に基づいて決定され得るが、いくつかの他の実装形態では、訓練セットTが十分であることは、入力/出力のマッピングの数に加えて、またはその代わりに、1つまたは複数の他の基準(たとえば、訓練の例の多様性、正確さなどの尺度)に基づいて決定され得ることに留意されたい。
ブロック368において、処理論理回路は、機械学習モデル190を訓練するために訓練セットTを提供する。一実装形態では、訓練セットTは、訓練を実行するためにサーバマシン180の訓練エンジン181に与えられる。ニューラルネットワークの場合、たとえば、所与の入力/出力のマッピングの入力値(たとえば、訓練入力192と関連付けられる数値)はニューラルネットワークに入力され、入力/出力のマッピングの出力値(たとえば、目標出力196と関連付けられる数値)は、ニューラルネットワークの出力ノードに記憶される。次いで、ニューラルネットワークにおける接続の重みが、学習アルゴリズム(たとえば、逆伝播など)に従って調整され、訓練セットTの中の他の入力/出力のマッピングに対して手順が繰り返される。ブロック368の後で、機械学習モデル190は、サーバマシン180の訓練エンジン181を使用して訓練され得る。訓練される機械学習モデル190は、メディアアイテムの少なくとも1つの部分をレンダリングする際に使用されるべき調整された再生を決定するために、(再生調整サーバ130の)再生マネージャによって実装され得る。
図3Fを参照すると、方法370は、調整された再生にてメディアアイテムを提供するためのユーザデバイス120の1つまたは複数の処理デバイスによって実行され得る。方法370は、ユーザデバイス120上の1つまたは複数の処理デバイス上で実行されるアプリケーションまたはバックグラウンドスレッドによって実行され得る。
方法370は、処理デバイスが、サーバコンピューティングデバイス(たとえば、再生調整サーバ130)に、メディアアイテムに対する再生要求を送信し得る、ブロック372において開始し得る。メディアアイテム112は、処理デバイス(たとえば、ユーザデバイス120)のユーザにとって不明確であると(たとえば、1つまたは複数のメディアアイテムに関連する1人または複数のユーザの以前の再生行動136に基づいて再生調整サーバ130によって)見なされる1つまたは複数の部分、および/または、ユーザにとって冗長であると見なされる1つまたは複数の第2の部分を含み得る。メディアアイテム112に対する再生要求は、GUI400を介して受信され得る(図4参照)。たとえば、再生要求に対応するメディアアイテム112を選択するために、ユーザ入力がGUI400を介して表示される検索バー440(図4参照)を介して受信され得る。
ブロック374において、処理デバイスは、サーバコンピューティングデバイスから、メディアアイテム112および調整された再生命令(たとえば、再生メタデータ)を受信し得る。いくつかの実装形態では、メディアアイテム112および調整された再生命令は、再生の前に処理デバイスによって受信される(たとえば、オフラインにされる)。いくつかの実装形態では、調整された再生命令は再生の前に受信され、メディアアイテム112は再生の間に処理デバイスにストリーミングされる。いくつかの実装形態では、メディアアイテム112および調整された再生命令は、再生の間に処理デバイスにストリーミングされる。
ブロック376において、処理デバイスは、調整された再生命令に基づいて、調整された再生にてメディアアイテム112をレンダリングし得る。いくつかの実装形態では、処理デバイスのGUI400を介して表示されるメディアプレーヤ410(図4参照)は、調整された再生命令に基づいて調整された再生にてメディアアイテム112をレンダリングし得る。いくつかの実装形態では、処理デバイスは、再生調整サーバ130へのネットワーク接続を必要とすることなく、調整された再生にてメディアアイテム112をレンダリングし得る。いくつかの実装形態では、メディアアイテム112(たとえば、および調整された再生命令)は、ネットワーク150を介して処理デバイスに(たとえば、調整された再生にて)ストリーミングされ、処理デバイスは、(たとえば、メディアアイテム112の各部分が処理デバイスによって受信されるにつれて)メディアアイテム112をレンダリングする。
ブロック378において、処理デバイスは、メディアアイテム112に関連する処理デバイス(たとえば、ユーザデバイス120)のユーザの第1の再生行動を決定し得る。いくつかの実装形態では、第1の再生行動は、メディアアイテム112の再生を調整するための、メディアプレーヤ410を介して受信される1つまたは複数のユーザ操作(図4参照)を含む。いくつかの実装形態では、第1の再生行動は、(たとえば、調整された再生命令に基づく)調整された再生と、メディアアイテム112の再生を調整するためのメディアプレーヤ410を介して受信される1つまたは複数の追加のユーザ操作とを含む。
ブロック380において、処理デバイスは、サーバコンピューティングデバイスに、第1の再生行動136を送信し得る。
図3Gを参照すると、方法390は、調整された再生にてメディアアイテムを提供するためのコンテンツ所有者デバイス140の1つまたは複数の処理デバイスによって実行され得る。方法390は、コンテンツ所有者デバイス140上の1つまたは複数の処理デバイス上で実行されるアプリケーションまたはバックグラウンドスレッドによって実行され得る。
方法390は、処理デバイスがメディアアイテム112をサーバコンピューティングデバイス(たとえば、再生調整サーバ130)に送信し得る、ブロック392において開始し得る。いくつかの実装形態では、メディアアイテム112は、処理デバイスと関連付けられるコンテンツ所有者(たとえば、作成者)によって作成される。いくつかの実装形態では、メディアアイテム112は、処理デバイスと関連付けられるコンテンツ所有者と関連付けられる。いくつかの実装形態では、メディアアイテム112は、メディアアイテムプラットフォーム、メディアアイテムサーバ110、および/または再生調整サーバ130を介して、1人または複数のユーザによる再生のために処理デバイスによってアップロードされる。
ブロック394において、処理デバイスは、メディアアイテム112のデフォルト再生とは異なるメディアアイテムの調整された再生に基づいてメディアアイテム112を修正するための推奨138を、サーバコンピューティングデバイスから受信し得る。
いくつかの実装形態では、推奨138は、メディアアイテム112の再生に関連する1人または複数のユーザによって実行されるユーザ操作の報告を含む。たとえば、報告は、ユーザの50%がメディアアイテム112の第1の部分において再生速度を上げ、ユーザの25%がメディアアイテム112の第2の部分をスキップし、ユーザの75%がメディアアイテム112の第3の部分の間に解説情報の第1のセットについての検索を実行したことを示し得る。
いくつかの実装形態では、推奨138はメディアアイテム112に対する提案される修正を含む。たとえば、提案される修正は、メディアアイテム112の第1の部分において再生速度を上げることと、メディアアイテム112の第3の部分においてコンテキスト情報(たとえば、解説情報を含む)を表示することとを含み得る。
いくつかの実装形態では、推奨138は、1つまたは複数の尺度または分析を含む。たとえば、尺度または分析は、メディアアイテム112の1つまたは複数の部分において1人または複数のユーザが再生から離脱した(たとえば、再生をやめた)率を示す離脱率を含み得る。
推奨138は、1人または複数のユーザにとって混乱をもたらす(たとえば、失望をもたらす)、遅い(たとえば、退屈である)、不明確である、冗長である、などのうちの1つまたは複数である1つまたは複数の部分を示し得る。推奨138は、(たとえば、再生の間に、第1の部分の再生の後かつ第2の部分の再生の前に、再生の後に、再生からある閾値の長さの時間内に、メディアアイテム112と関連することの閾値の確率内で)メディアアイテム112の再生に関連してユーザが実行した、関連する検索の履歴を示し得る。推奨138は、明確さを欠いている、またはよくある混乱を引き起こす、メディアアイテム112の中の点を強調し得る。推奨138は、メディアアイテム112に関連して投稿されたよくあるコメント(たとえば、コメントからのよくある質問)を含み得る。
ブロック396において、処理デバイスは、推奨138に基づいてメディアアイテム112を修正し得る。いくつかの実装形態では、コンテンツ所有者またはコンテンツ所有者デバイス140は、推奨138の報告、1つまたは複数の尺度、または分析に基づいて修正を決定し得る。処理デバイスは、推奨138において示される提案された修正を受け入れることによって、メディアアイテム112を修正し得る。いくつかの実装形態では、提案される修正を受け入れたことに応答して、処理デバイスはメディアアイテム112を修正し得る。いくつかの実装形態では、提案された修正を受け入れたことに応答して、処理デバイスは、再生調整サーバ130にメディアアイテム112を修正させ得る。いくつかの実装形態では、修正されたメディアアイテムは、コンテンツ所有者によって一緒に作成される。いくつかの実装形態では、修正されたメディアアイテムは、処理デバイスによって(たとえば、コンテンツ所有者の受入れに応答して)自動的に生成される。
ブロック398において、処理デバイスは、修正されたメディアアイテムを、サーバコンピューティングデバイス(たとえば、再生調整サーバ130、メディアアイテムサーバ110、メディアアイテムプラットフォーム)に送信し得る。
図4は、本開示のある実装形態による、調整された再生にてメディアアイテム112をレンダリングするための例示的なグラフィカルユーザインターフェース(GUI)400である。
図4を参照すると、ユーザデバイス120はGUI400を表示し得る。GUI400は、メディアアイテム112をレンダリングするためのメディアプレーヤ410を表示する。メディアアイテム112は、ビデオアイテム、オーディオアイテム、時間とともにスライドを切り替えるスライドショー、時間とともにスクロールするテキスト、時間とともに変化する図などのうちの1つまたは複数を含み得る。いくつかの実装形態では、メディアアイテム112は、長い時間にわたってデフォルト再生を有するあらゆるメディアである。デフォルト再生は、再生速度を変更すること、スキップすること、リプレイすること、中断すること、またはコンテキスト情報を表示することによって調整され得る。
いくつかの実装形態では、メディアアイテム112は、話している1人または複数の人々(すなわち、話者)のオーディオを含む。たとえば、メディアアイテム112は、教育ビデオ、ポッドキャスト、講義、ニュース、コメディショー、スポーツ、映画などであり得る。1人または複数の話者は、その話者の発話の速度によりメディアアイテム112のその話者の部分が他の話者に対応するメディアアイテム112の部分よりもユーザにとってより不明確またはより冗長になるような、話者を含み得る。1人または複数の話者は、その話者の発話の形式(たとえば、不明瞭な発話、発音、訛り、方言など)によりメディアアイテム112のその話者の部分が他の話者に対応するメディアアイテム112の部分よりもユーザにとってより不明確になるような、話者を含み得る。1人または複数の話者は、(たとえば、理解するのが難しいレベルにある)その話者の主題によりメディアアイテム112のその話者の部分が他の話者に対応するメディアアイテム112の部分よりもユーザにとってより不明確(たとえば、ユーザがその主題に馴染みがない)またはより冗長(たとえば、ユーザがすでにその主題に馴染みがある)になるような、話者を含み得る。
メディアプレーヤ410は、メディアプレーヤコントロール420を含み得る。メディアプレーヤコントロール420を介して受信される1つまたは複数のユーザ操作は、メディアアイテム112の再生を調整し得る。メディアプレーヤコントロール420を介したユーザ操作は、再生行動136として記憶されてもよく、再生調整サーバ130に送信されてもよい。メディアアイテム112および調整された再生命令を再生調整サーバ130から受信したことに応答して、ユーザデバイス120は、メディアプレーヤコントロール420に、ユーザ操作を受け取ることなく(たとえば、メディアアイテム112の再生を開始することを選択するのではなく)調整された再生命令に基づいてメディアアイテム112の再生を調整させ得る。いくつかの実装形態では、ユーザ操作が、調整された再生命令によって引き起こされる調整された再生の1つまたは複数の部分より優先され得る。いくつかの実装形態では、調整された再生の1つまたは複数の部分(たとえば、コンテキスト情報430を表示すること)が、ユーザ操作より優先され得る。
メディアプレーヤコントロール420は、プログレスバー420aおよびプログレスインジケータ420bを含み得る。プログレスバー420aは、メディアアイテム112の時間長(たとえば、メディアアイテムがどの程度長いか)を示すことがあり、プログレスインジケータ420bは、メディアアイテム112の時間長に対する時間的な点を示し得る(たとえば、再生の進捗、現在の再生の点、再生が再開または開始する点など)。プログレスインジケータ420bを選択して、プログレスインジケータ420bを左にドラッグするユーザ操作は、メディアアイテム112の1つまたは複数の部分のリプレイをもたらし得る。プログレスインジケータ420bを選択して、プログレスインジケータ420bを右にドラッグするユーザ操作は、メディアアイテム112の1つまたは複数の部分のスキップをもたらし得る。
メディアプレーヤコントロールは、リプレイコントロール420c、前シークコントロール(previous seeking control)420d、巻き戻しコントロール420e、中断コントロール420f、再生コントロール420g、早送りコントロール420h、次シークコントロール420i、スキップコントロール420j、または再生速度コントロール420kのうちの1つまたは複数を含み得る。リプレイコントロール420cを選択するユーザ操作があると、プログレスインジケータ420bが左に動くことがあり、メディアプレーヤ410がメディアアイテム112の1つまたは複数の部分をリプレイする(たとえば、メディアアイテム112の最後の30秒をリプレイする)ことがある。前シークコントロール420dを選択するユーザ操作に応答して、メディアプレーヤ410は、メディアアイテム112の再生をメディアアイテム112のある設定された点(たとえば、最初、以前にブックマークを付けられた位置)に移す(たとえば、リプレイする)ことがある。巻き戻しコントロール420eを選択するユーザ操作があると、メディアプレーヤ410は、プログレスインジケータ420bがメディアアイテム112の最初に到達するまで、またはメディアプレーヤ410が巻き戻しコントロール420eを介して第2のユーザ操作を受け取る(たとえば、巻き戻しコントロール420eを離す、再び巻き戻しコントロール420eを選択する)まで、一定の速さでメディアアイテム112を巻き戻す(たとえば、プログレスインジケータ420bを左に移す)ことがある。中断コントロール420fを選択するユーザ操作に応答して、メディアプレーヤ410は、ユーザが再生コントロール420gと対話するまで、メディアアイテム112の再生を中断する(たとえば、再生を停止する)ことがある。再生コントロール420gを選択するユーザ操作に応答して、メディアプレーヤ410は、メディアアイテム112の再生を開始または再開し得る。早送りコントロール420hを選択するユーザ操作に応答して、メディアプレーヤは、プログレスインジケータ420bがメディアアイテム112の最後に到達するまで、またはメディアプレーヤ410が早送りコントロール420hを介して第2のユーザ操作を受け取る(たとえば、早送りコントロール420hを離す、早送りコントロール420hを再び選択する)まで、一定の速さでメディアアイテム112を早送りする(たとえば、プログレスインジケータ420bを右に移す)ことがある。次シークコントロール420iを選択するユーザ操作に応答して、メディアプレーヤは、メディアアイテム112の再生(たとえば、スキップ)をメディアアイテム112のある設定された点(たとえば、最後、次のブックマークを付けられた位置)に移す(たとえば、スキップする)ことがある。スキップコントロール420jを選択したことに応答して、プログレスインジケータ420bは右に移動することがあり、メディアプレーヤ410はメディアアイテム112の1つまたは複数の部分をスキップする(たとえば、メディアアイテム112の30秒をスキップする)ことがある。再生速度コントロール420kを選択するユーザ操作に応答して、メディアプレーヤは、メディアアイテム112の再生速度を上げ、または下げ得る。たとえば、ユーザ操作は、0.5倍速、1倍速、または2倍速の選択を含み得る。
メディアアイテム112の1つまたは複数の部分が不明確であることに応答して、ユーザ操作は1回または複数の検索を実行することを含み得る。いくつかの実装形態では、1回または複数の検索は検索バー440を介して実行され得る。いくつかの実装形態では、メディアプレーヤ410は、GUI400の第1のタブ450aに位置することがあり、ユーザ操作があると、第2のタブ450bが表示されてもよく、1回または複数の検索が第2のタブ450bを介して実行されてもよい。第1のタブ450aおよび第2のタブ450bは、対応する閉じるボタン452を含み得る。第1のタブ450aに対応する閉じるボタン452aを選択するユーザ操作に応答して、メディアプレーヤ410を介したメディアアイテム112の再生は停止され得る(たとえば、再生がやめられ得る、メディアプレーヤ410が第1のタブ450aとともに閉じられ得る)。
ユーザおよび/または1人または複数の追加のユーザの再生行動136(たとえば、視聴履歴、スクローリング履歴、メディアアイテムの再生に関連する検索履歴)は、検索の提案および/または検索結果のランキングを、検索バー440および/または第2のタブ450bを介して提供するために使用され得る。たとえば、メディアプレーヤ410が現在、ゲーム理論についてのメディアアイテム112の再生を実行している場合、「スタグハント」という検索語は、狩猟に関連するものではなく、ゲーム理論の概念(2人のプレーヤのゲーム)として解釈され得る。いくつかの実装形態では、GUI400は、他のユーザによるよくある検索を提案するインターフェースを(たとえば、検索バー440を介して、第2のタブ450bを介して)表示し得る。いくつかの実装形態では、GUI400は、コンテキスト情報430またはコンテキスト情報要素432を介して、他のユーザによるよくある検索、および/またはよくある検索に応答した解説情報を表示し得る。
コンテキスト情報430は、メディアアイテム112に関連する1回または複数の検索に基づいて解説情報を表示し得る。いくつかの実装形態では、コンテキスト情報430aは、メディアアイテム112への重畳情報として表示され得る。いくつかの実装形態では、コンテキスト情報430bは、メディアプレーヤ410の横に表示され得る。いくつかの実装形態では、コンテキスト情報要素432は、メディアプレーヤ410を介してレンダリングされているメディアアイテム112とともに(たとえば、それに重畳されて、その横に)表示され得る。コンテキスト情報要素432は、ポップアップ、ドロップダウンメニュー、ユーザ操作に応答してより多くの情報を表示する要素であり得る。コンテキスト情報要素432に関するユーザ操作(たとえば、その選択、その上でのホバーリングなど)に応答して、(たとえば、メディアプレーヤ410に重畳されて、メディアプレーヤ410の横に)コンテキスト情報が表示され得る。コンテキスト情報430は、メディアアイテム112によって参照されるが導入されない概念(たとえば、ついでに言及されるが説明されない概念)の説明または定義を含み得る。コンテキスト情報430およびコンテキスト情報要素432は、メディアアイテム112の不明確な部分の説明のためにユーザがネットワーク150および/または第2のタブ450bにアクセスすることが求められないように、ユーザのために解説情報を提供し得る。
コンテキスト情報430は、テキスト、図、ハイパーリンク(たとえば、他のメディアアイテム112へのハイパーリンク)、定義、解説情報などのうちの1つまたは複数を含み得る。コンテキスト情報430は、不明確であった(たとえば、以前の再生が速度の低減、リプレイ、中断、1回または複数の検索の実行などを含んでいた)1つまたは複数の部分の再生の間に表示され得る。
図5は、本開示のある実装形態による、コンピュータシステムの一実装形態を示すブロック図である。いくつかの実装形態では、コンピュータシステム500は、他のコンピュータシステムに(たとえば、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、またはインターネットなどのネットワークを介して)接続され得る。コンピュータシステム500は、クライアント-サーバ環境におけるサーバもしくはクライアントコンピュータの容量の中で、または、ピアツーピアもしくは分散型ネットワーク環境におけるピアコンピュータとして動作し得る。コンピュータシステム500は、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチもしくはブリッジ、または、そのデバイスにより取られるべき行動を指定する命令のセット(逐次命令または別様の命令)を実行することが可能な任意のデバイスによって提供され得る。さらに、「コンピュータ」という用語は、本明細書で説明される方法のうちの任意の1つまたは複数を実行するために、命令のセット(または複数のセット)を個別にまたは一緒に実行する、コンピュータの任意の集合体を含むものとする。
さらなる態様では、コンピュータシステム500は、処理デバイス502、揮発性メモリ504(たとえば、ランダムアクセスメモリ(RAM))、不揮発性メモリ506(たとえば、読取り専用メモリ(ROM)または電気的消去可能プログラマブルROM(EEPROM))、およびデータ記憶デバイス516を含むことがあり、これらはバス508を介して互いに通信することがある。
処理デバイス502は、汎用プロセッサ(たとえば、複雑命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、他のタイプの命令セットを実装するマイクロプロセッサ、または、命令セットの複数のタイプの組合せを実装するマイクロプロセッサなど)、または、専用プロセッサ(たとえば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、またはネットワークプロセッサなど)などの1つまたは複数のプロセッサによって実現され得る。
コンピュータシステム500はさらに、ネットワークインターフェースデバイス522を含み得る。コンピュータシステム500はまた、ビデオディスプレイユニット510(たとえば、LCD)、英数字入力デバイス512(たとえば、キーボード)、カーソルコントロールデバイス514(たとえば、マウス)、および信号生成デバイス520を含み得る。
いくつかの実装形態では、データ記憶デバイス516は、図1の再生マネージャ132を符号化する、および方法300を実施するための命令を含む、本明細書で説明される方法または機能のうちの任意の1つまたは複数を符号化する命令526を記憶し得る、非一時的コンピュータ可読記憶媒体524を含み得る。
命令526はまた、コンピュータシステム500による命令の実行の間、揮発性メモリ504内に、および/または処理デバイス502内に、完全にもしくは部分的に存在し得るので、揮発性メモリ504および処理デバイス502も、機械可読記憶媒体を構成し得る。
コンピュータ可読記憶媒体524が単一の媒体として説明のための例において示されるが、「コンピュータ可読記憶媒体」という用語は、実行可能な命令の1つまたは複数のセットを記憶する単一の媒体または複数の媒体(たとえば、集中型もしくは分散型のデータベース、および/または関連するキャッシュおよびサーバ)を含むものとする。「コンピュータ可読記憶媒体」という用語は、コンピュータに本明細書で説明される方法のうちの任意の1つまたは複数を実行させる、コンピュータによる実行のための命令のセットを記憶または符号化することが可能な、任意の雄勁な媒体も含むものとする。「コンピュータ可読記憶媒体」という用語は、限定はされないが、ソリッドステートメモリ、光学メディア、および磁気メディアを含むものとする。
本明細書で説明される方法、構成要素、および特徴は、個別のハードウェア構成要素によって実装されてもよく、または、ASIC、FPGA、DSPもしくは同様のデバイスなどの、他のハードウェア構成要素の機能に統合されてもよい。加えて、方法、構成要素、および特徴は、ハードウェアデバイス内のファームウェアモジュールまたは機能回路によって実装され得る。さらに、方法、構成要素、および特徴は、ハードウェアデバイスとコンピュータプログラムコンポーネントの任意の組合せで、またはコンピュータプログラムで実装され得る。
別段特に述べられない限り、「受信する」、「特定する」、「決定する」、「引き起こす」、「下げる」、「上げる」、「リプレイする」、「スキップする」、「実行する」、「クラスタリングする」、「生成する」、「送信する」、「提供する」などの用語は、コンピュータシステムのレジスタおよびメモリ内の物理的(電気的)な量として表されるデータを、コンピュータシステムメモリもしくはレジスタまたは他のそのような情報記憶、送信、もしくは表示デバイス内の物理的な量として同様に表される他のデータへと操作して変換する、コンピュータシステムによって実行または実施される活動および処理を指す。また、本明細書で使用される「第1の」、「第2の」、「第3の」、「第4の」などの用語は、異なる要素を区別するための標識として意図されており、それらの数値的な指定に従った順序の意味を有しないことがある。
本明細書で説明される例はまた、本明細書で説明される方法を実行するための装置に関する。この装置は、本明細書で説明される方法を実行するために特別に構築されてもよく、または、コンピュータシステムに記憶されているコンピュータプログラムにより選択的にプログラムされる汎用コンピュータシステムを含んでもよい。そのようなコンピュータプログラムは、コンピュータ可読の有形記憶媒体に記憶され得る。
本明細書で説明される方法および説明のための例は、どのような特定のコンピュータまたは他の装置にも本質的に関係しない。様々な汎用システムは、本明細書で説明される教示に従って使用されてもよく、または、方法300、330、および360、ならびに/または、それらの個々の関数、ルーチン、サブルーチンもしくは動作の各々を実行するためにより特別な装置を構築することが便利であると分かることもある。種々のこれらのシステムの構造の例は、上記の説明に記載されている。
上記の説明は、制約するものではなく説明のためのものであることが意図される。本開示は、特定の説明のための例および実装形態を参照して説明されてきたが、本開示は説明された例および実装形態に限定されないことが認識されるであろう。本開示の範囲は、以下の特許請求の範囲を参照して、特許請求の範囲に対して認められる完全な均等物の範囲とともに、決定されるべきである。