(57)【要約】【課題】本発明は、コンテンツ配信に関し、より詳細には、デバイス上でのメディア再生を提供する。【解決手段】メディアアプリケーションが、開示される。メディアアプリケーションは、ビデオ部分およびオーディオ部分を含むメディアアイテムの再生を提供する。メディアアプリケーションは、メディアアイテムのオーディオ部分を提供し続けながら、メディアアイテムのビデオ部分の再生を停止する。メディアアプリケーションは、提供されているオーディオ部分と同期してメディアアイテムのビデオ部分の再生を再開する。【選択図】図１
2018157579.tif 000002
【特許請求の範囲】
【請求項１】
処理デバイスによって実行されるアプリケーションによって、ビデオ部分およびオーディオ部分を含むメディアアイテムの再生を提供するステップと、
前記アプリケーションによって、前記メディアアイテムの前記再生中に第1のメッセージを受信するステップと、
前記第1のメッセージに応答して、前記メディアアイテムの前記オーディオ部分を提供し続けながら、前記メディアアイテムの前記ビデオ部分の前記再生を停止するステップと、
前記アプリケーションによって、前記メディアアイテムの前記オーディオ部分を提供している間に第2のメッセージを受信するステップと、
前記第2のメッセージに応答して、提供されている前記オーディオ部分と同期して前記メディアアイテムの前記ビデオ部分の前記再生を再開するステップとを含む方法。
【請求項２】
前記メディアアイテムの前記再生を提供するステップが、前記メディアアイテムを再生する要求を受信するステップと、前記要求に応答して前記メディアアイテムの前記再生に関連する1つまたは複数のリソースを予約するステップを含み、
前記メディアアイテムの前記ビデオ部分の前記再生を停止するステップが、前記1つまたは複数のリソースのうちの少なくとも1つを解放するステップを含む請求項1に記載の方法。
【請求項３】
前記1つまたは複数のリソースが、メモリ、バッファ、ビデオデコーダ、またはビデオプレイヤーのうちの少なくとも1つを含む請求項2に記載の方法。
【請求項４】
前記1つまたは複数のリソースのうちの少なくとも1つを解放するステップが、ビデオデータをバッファからクリアするステップ、前記ビデオ部分のダウンロードを停止するステップ、または前記ビデオ部分を要求するために使用されるネットワーク接続を閉じるステップのうちの少なくとも1つを含む請求項2に記載の方法。
【請求項５】
前記メディアアイテムの前記ビデオ部分の提示を再開するステップが、前記解放された1つまたは複数のリソースを再び獲得するステップを含む請求項2に記載の方法。
【請求項６】
前記第1のメッセージが、前記アプリケーションがモバイルデバイス上でバックグラウンド状態になったという指示、前記モバイルデバイスのディスプレイが電源をオフにされるという指示、または第2のアプリケーションが前記モバイルデバイス上でフォアグラウンド状態になったという指示のうちの少なくとも1つである請求項1に記載の方法。
【請求項７】
前記第2のメッセージが、前記アプリケーションがモバイルデバイス上でフォアグラウンド状態になったという指示である請求項1に記載の方法。
【請求項８】
前記メディアアイテムの前記ビデオ部分の提示が、前記オーディオ部分の提示を中断することなく再開される請求項1に記載の方法。
【請求項９】
前記ビデオ部分が、初めは第1の品質で提示され、前記メディアアイテムの前記ビデオ部分の提示を再開するステップが、前記ビデオ部分を第2の品質で提示するステップを含む請求項1に記載の方法。
【請求項１０】
グラフィカルユーザインターフェースを介して、前記ビデオ部分の提示が再開すべきであるというメッセージを提示するステップをさらに含む請求項1に記載の方法。
【請求項１１】
前記ビデオ部分および前記オーディオ部分を異なるソースから受信するステップをさらに含む請求項1に記載の方法。
【請求項１２】
前記メディアアイテムの前記ビデオ部分および前記オーディオ部分を単一のファイルとして受信するステップと、
前記ビデオ部分および前記オーディオ部分を別々のファイルへと分けるステップとをさらに含む請求項1に記載の方法。
【請求項１３】
装置において、
ディスプレイデバイスと、
前記ディスプレイデバイスに通信可能なように結合されたメモリと、
前記メモリに通信可能なように結合された処理デバイスであって、
ビデオ部分およびオーディオ部分を含むメディアアイテムの再生を提供し、
前記メディアアイテムの前記再生中に第1のメッセージを受信し、
前記第1のメッセージに応答して、前記メディアアイテムの前記オーディオ部分を提供し続けながら、前記メディアアイテムの前記ビデオ部分の前記再生を停止し、
前記メディアアイテムの前記オーディオ部分を提供している間に第2のメッセージを受信し、
前記第2のメッセージに応答して、提供されている前記オーディオ部分と同期して前記メディアアイテムの前記ビデオ部分の前記再生を再開するための、命令を実行する処理デバイスと、
を含む装置。
【請求項１４】
前記メディアアイテムの前記再生を提供するとき、前記処理デバイスが、前記メディアアイテムを再生する要求を受信し、前記要求に応答して前記メディアアイテムの前記再生に関連する1つまたは複数のリソースを予約するためのものであり、
前記メディアアイテムの前記ビデオ部分の前記再生を停止するとき、前記処理デバイスが、前記1つまたは複数のリソースのうちの少なくとも1つを解放するためのものである請求項13に記載の装置。
【請求項１５】
前記1つまたは複数のリソースが、メモリ、バッファ、ビデオデコーダ、またはビデオプレイヤーのうちの少なくとも1つを含む請求項14に記載の装置。
【請求項１６】
前記1つまたは複数のリソースのうちの少なくとも1つを解放するときに、前記処理デバイスが、ビデオデータをバッファからクリアすること、前記ビデオ部分のダウンロードを停止すること、または前記ビデオ部分を要求するために使用されるネットワーク接続を閉じることのうちの少なくとも1つを実行するためのものである請求項14に記載の装置。
【請求項１７】
前記メディアアイテムの前記ビデオ部分の提示を再開するとき、前記処理デバイスが、前記解放された1つまたは複数のリソースを再び獲得するためのものである請求項14に記載の装置。
【請求項１８】
実行されるときに処理デバイスに
前記処理デバイスによって実行されるアプリケーションによって、ビデオ部分およびオーディオ部分を含むメディアアイテムの再生を提供する動作と、
前記アプリケーションによって、前記メディアアイテムの前記再生中に第1のメッセージを受信する動作と、
前記第1のメッセージに応答して、前記メディアアイテムの前記オーディオ部分を提供し続けながら、前記メディアアイテムの前記ビデオ部分の前記再生を停止する動作と、
前記アプリケーションによって、前記メディアアイテムの前記オーディオ部分を提供している間に第2のメッセージを受信する動作と、
前記第2のメッセージに応答して、提供されている前記オーディオ部分と同期して前記メディアアイテムの前記ビデオ部分の前記再生を再開する動作とを含む動作
を実行させる命令を記憶する非一時的機械可読ストレージ媒体。
【請求項１９】
前記第1のメッセージが、前記アプリケーションがモバイルデバイス上でバックグラウンド状態になったという指示、前記モバイルデバイスのディスプレイが電源をオフにされるという指示、または第2のアプリケーションが前記モバイルデバイス上でフォアグラウンド状態になったという指示のうちの少なくとも1つである請求項18に記載の非一時的機械可読ストレージ媒体。
【請求項２０】
前記第2のメッセージが、前記アプリケーションがモバイルデバイス上でフォアグラウンド状態になったという指示である請求項18に記載の非一時的機械可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実装は、コンテンツ配信に関し、より詳細には、デバイス上でのメディア再生に関する。
【背景技術】
【０００２】
インターネットは、人々が情報を取得し、他の人々と結び付き、情報を互いに共有することを可能にする。よくあるインターネットの訪問先は、ニュースウェブサイト、コンテンツ共有プラットフォーム、ソーシャルネットワーキングウェブサイトなどを含む。多くのウェブサイトおよびプラットフォームは、ユーザがビデオコンテンツ、画像コンテンツ、オーディオコンテンツなどのメディアアイテム(media item)を閲覧し、アップロードし、共有することを可能にするコンテンツ共有の態様を含む。ユーザは、それらのユーザのユーザデバイスからメディアアイテムを消費することができる。
【発明の概要】
【課題を解決するための手段】
【０００３】
以下は、本開示のいくつかの態様の基本的な理解を提供するための本開示の簡潔な概要である。この概要は、本開示の広範囲にわたる概観ではない。この概要は、本開示の重要なまたは決定的な要素を特定するように意図されておらず、本開示の特定の実装のいかなる範囲または特許請求の範囲のいかなる範囲を示すようにも意図されていない。この概要の唯一の目的は、後ほど与えられるより詳細な説明に対する前置きとして、本開示のいくつかの概念を簡潔な形態で提示することである。
【０００４】
一態様においては、方法が、処理デバイスによって実行されるアプリケーションによって、ビデオ部分およびオーディオ部分を含むメディアアイテムの再生を提供するステップを含む。方法は、アプリケーションによって、メディアアイテムの再生中に第1のメッセージを受信するステップをさらに含む。方法は、第1のメッセージに応答して、メディアアイテムのオーディオ部分を提供し続けながら、メディアアイテムのビデオ部分の再生を停止するステップをさらに含む。方法は、アプリケーションによって、メディアアイテムのオーディオ部分を提供している間に第2のメッセージを受信するステップをさらに含む。方法は、第2のメッセージに応答して、提供されているオーディオ部分と同期してメディアアイテムのビデオ部分の再生を再開するステップをさらに含む。
【０００５】
実装は、以下の特徴のいずれかまたはすべてを含む可能性があり、あるいは以下の特徴のいずれも含まない可能性がある。方法は、メディアアイテムの再生を提供するステップと、メディアアイテムを再生する要求を受信するステップと、要求に応答してメディアアイテムの再生に関連する1つまたは複数のリソースを予約するステップとを含み得る。方法は、メディアアイテムのビデオ部分の再生を停止するステップと、1つまたは複数のリソースのうちの少なくとも1つを解放するステップとをさらに含み得る。1つまたは複数のリソースは、メモリ、ビデオデコーダ、またはビデオプレイヤーのうちの少なくとも1つを含み得る。1つまたは複数のリソースのうちの少なくとも1つを解放するステップは、ビデオデータをバッファからクリアするステップ、ビデオ部分のダウンロードを停止するステップ、またはビデオ部分を要求するために使用されるネットワーク接続を閉じるステップのうちの少なくとも1つを含み得る。メディアアイテムのビデオ部分の提示を再開するステップは、解放された1つまたは複数のリソースを再び獲得するステップを含み得る。第1のメッセージは、アプリケーションがモバイルデバイス上でバックグラウンド状態になった可能性があるという指示、前記モバイルデバイスのディスプレイが電源をオフにされる可能性があるという指示、または第2のアプリケーションがモバイルデバイス上でフォアグラウンド状態になった可能性があるという指示のうちの少なくとも1つである可能性がある。第2のメッセージは、アプリケーションがモバイルデバイス上でフォアグラウンド状態になった可能性があるという指示である可能性がある。メディアアイテムのビデオ部分の提示は、オーディオ部分の提示を中断することなく再開される可能性がある。ビデオ部分は、初めは第1の品質で提示される可能性があり、メディアアイテムのビデオ部分の提示を再開するステップは、ビデオ部分を第2の品質で提示するステップを含む可能性がある。方法は、グラフィカルユーザインターフェースを介して、ビデオ部分の提示が再開すべきであるというメッセージを提示するステップを含む可能性がある。方法は、ビデオ部分およびオーディオ部分を異なるソースから受信するステップを含む可能性がある。方法は、メディアアイテムのビデオ部分およびオーディオ部分を単一のファイルとして受信するステップを含む可能性がある。方法は、ビデオ部分およびオーディオ部分を別々のファイルへと分けるステップをさらに含む可能性がある。
【０００６】
さらなる実装において、上述の実装の動作を実行するためのコンピューティングデバイスも開示される。加えて、本開示の実装においては、コンピュータ可読ストレージ媒体が、上述の実装の動作を実行するための方法を記憶する。
【０００７】
本開示は、添付の図面の図において限定としてではなく例として示される。
【図面の簡単な説明】
【０００８】
【図１】本開示の1つの実装による例示的なシステムアーキテクチャを示す図である。
【図２】本開示のいくつかの実装によるクライアントデバイス上での効率的なメディアアプリケーションのバックグラウンド処理を提供するための方法を示す流れ図である。
【図３】本開示のいくつかの実装によるクライアントデバイス上での効率的なメディアアプリケーションのバックグラウンド処理を提供するための2つの例示的なタイムラインを示す図である。
【図４】いくつかの実装による例示的なコンピュータシステムを示すブロック図である。
【発明を実施するための形態】
【０００９】
本明細書において説明されるのは、クライアントデバイス上でのメディアの消費を改善するためのメカニズムである。通常のクライアントデバイスは、コンテンツ共有プラットフォームからメディアアイテムをストリーミングすることができる。クライアントデバイス上のメディアアプリケーションは、ストリーミングされたメディアアイテムをクライアントデバイス上でメディアプレイヤーを使用して再生することができる。ユーザは、ビデオ部分がクライアントデバイス上でもはや表示されない一方でビデオのオーディオ部分が再生し続けられるように、クライアントデバイス上で別の特徴またはその他のアプリケーションを操作したい可能性がある。たとえば、ユーザは、オーディオ部分が再生し続けられる一方で、その他のアプリケーションを使用するかまたはクライアントデバイスのスクリーンをオフにしたい可能性がある。そして今度は、ユーザは、メディアアプリケーションを最小化するか、閉じるか、またはその他の方法でバックグラウンド状態になる可能性がある。バックグラウンド状態とは、アプリケーションがもはや見えないまま実行され続ける状態を指す可能性があり、バックグラウンド状態のアプリケーションとは、「バックグラウンド処理される」アプリケーションを指す可能性がある。
【００１０】
概して、通常のクライアントデバイスは、メディアアイテムの再生中にビデオストリームおよびオーディオストリームを動的に独立して追加および/または削除することを許さない。通常のクライアントデバイスはビデオを再生しているメディアアプリケーションをバックグラウンド処理し得るが、通常、メディアアプリケーションは、ビデオがスクリーン上で見えないにもかかわらず、オーディオデータおよびビデオデータを実行し、処理(たとえば、ダウンロード、復号、キャッシング)し続ける。メディアアプリケーションをバックグラウンド処理するとき、また、通常のクライアントデバイスは、概して、(データをバッファリングするための)メモリ、ネットワークソケット、およびビデオデコーダなどのシステムリソースを保持し続ける。加えて、一部の通常のデバイスは、ビデオの同期されたビデオ部分およびオーディオ部分が別々に配信される多重化されていないフォーマットでメディアアイテムを受信する可能性がある。再生中に、クライアントデバイスは、概して、同期されたビデオストリームおよびオーディオストリームを同時にレンダリングする。通常のシステムは、通常、メディアアプリケーションがバックグラウンド処理されるとき、異なるように動作せず、それが、リソースの不必要な消費を引き起こす可能性がある。概して、モバイルデバイスは、限られた数のリソースを有し、つまり、通常の手法は、別のアプリケーションがリソースを使用することを妨げる可能性がある。
【００１１】
本開示の実装は、メディアアイテムのビデオ部分およびメディアアイテムのオーディオ部分の独立した再生を制御するためのメカニズムを提供することによって、通常のシステムの上述の欠点に対処する。クライアントデバイス上のアプリケーションは、ビデオ部分およびオーディオ部分を含むメディアアイテムの再生を提供する。いつでも、アプリケーションは、オーディオ部分を提供し続けながらメディアアイテムのビデオ部分の再生を止めることができる。後で、アプリケーションは、提供されているオーディオ部分と同期してビデオ部分の再生を再開することができる。
【００１２】
本明細書において説明される技術は、バックグラウンドモードでアプリケーションを動作させるコストを下げることができる。アプリケーションは、ビデオ部分を提示していない間、ビデオ部分のダウンロードを停止し、任意のダウンロードされたビデオデータの復号を一時停止し、任意の関連するメモリをクリアする可能性がある。これらのおよびその他のリソースを解放することによって、結果として、クライアントデバイスのネットワークおよびバッテリー消費が削減され得る。多くの場合、ユーザは、それらのユーザが見ようと意図していないビデオがデータおよび帯域幅を使用するとき、そのビデオをダウンロードすることを望まない。さらに、オーディオ部分は、フォアグラウンドからバックグラウンドにおよびバックグラウンドからフォアグラウンドに遷移するアプリケーション全体を通じて切れ目なく提供される可能性がある。
【００１３】
簡潔および簡単にするために、本明細書の実装は、オーディオ部分およびビデオ部分を含むメディアアイテムに関連して説明される。メディアアイテムは、任意の種類の任意の数の部分を含み得る。たとえば、メディアアイテムの一部は、オーディオ、ビデオ、字幕データ、上に重ねられるデータのストリーム、アノテーション、広告、コメント、メタデータ、メディアアイテムのコンテンツについての情報(たとえば、役者、関連する映画、音楽トラック、顔認識など)を含み得る。一部のうちのいずれも、本明細書において説明される技術を使用して扱われ得る。
【００１４】
図1は、ビデオ部分およびオーディオ部分を含むメディアアイテムの再生を独立して提供するための、本開示の1つの実装による例示的なシステムアーキテクチャ100を示す。システムアーキテクチャ100は、任意の数のクライアントデバイス102、ネットワーク104、データストア106、およびコンテンツ共有プラットフォーム110を含む。1つの実装において、ネットワーク104は、パブリックネットワーク(たとえば、インターネット)、プライベートネットワーク(たとえば、ローカルエリアネットワーク(LAN)もしくは広域ネットワーク(WAN))、有線ネットワーク(たとえば、イーサネット（登録商標）ネットワーク)、ワイヤレスネットワーク(たとえば、802.11ネットワークもしくはWi-Fiネットワーク)、セルラーネットワーク(たとえば、ロングタームエボリューション(LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、および/またはこれらの組合せを含み得る。
【００１５】
1つの実装において、データストア106は、メモリ(たとえば、ランダムアクセスメモリ)、キャッシュ、ドライブ(たとえば、ハードドライブ)、フラッシュドライブ、データベースシステム、分散型データベース、分散型ストレージ、またはデータを記憶することができる別の種類の構成要素もしくはデバイスである可能性がある。また、データストア106は、複数のコンピューティングデバイス(たとえば、複数のサーバコンピュータ)に広がる可能性もある複数のストレージ構成要素(たとえば、複数のドライブまたは複数のデータベース)を含む可能性がある。データストア106は、メディアアイテムと、オーディオ部分およびビデオ部分などのメディアアイテムの一部とを記憶することができる。データストア106は、メディアアイテムのビデオ部分のビデオソース118を含む可能性がある。同様に、データストア106は、メディアアイテムのオーディオ部分のオーディオソース120を含む可能性がある。実装において、ビデオソース118およびオーディオソース120は、同じデータストア106に記憶される。別の実装において、ビデオソース118およびオーディオソース120は、異なるデータストアに記憶される。実装において、異なるデータストアは、1つの主体によって所有および/または運用される可能性がある。代替的に、あるいは、異なるデータは、複数の別々の主体によって所有および/または運用される可能性がある。たとえば、ビデオソース118は、第1の主体によって所有および運用され、オーディオソース120は、第2の主体によって所有および運用される。クライアントデバイス102は、これらの2つの異なる主体から別々のビデオストリームおよびオーディオストリームを受信する可能性がある。
【００１６】
クライアントデバイス102は、それぞれ、パーソナルコンピュータ(PC)、ラップトップ、モバイル電話、スマートフォン、タブレットコンピュータ、ネットブックコンピュータなどのコンピューティングデバイスを含み得る。一部の実装において、クライアントデバイス102は、「ユーザデバイス」とも呼ばれる可能性がある。各クライアントデバイスは、メディアプレイヤー112を含む。1つの実装において、メディアプレイヤー112は、ユーザが画像、ビデオ、ウェブページ、ドキュメントなどのコンテンツを閲覧することを可能にするアプリケーションまたはアプリケーションの一部である可能性がある。たとえば、メディアプレイヤー112は、ウェブサーバによって提供されるコンテンツ(たとえば、ハイパーテキストマークアップ言語(HTML)ページなどのウェブページ、デジタルメディアアイテムなど)にアクセスし、それらのコンテンツを取得し、提示し、および/またはナビゲートすることができるウェブブラウザである可能性がある。メディアプレイヤー112は、グラフィカルユーザインターフェース(GUI)によるなどしてユーザに対してコンテンツ(たとえば、ウェブページ、メディアビューワ)をレンダリングし、表示し、および/または提示する可能性がある。メディアプレイヤー112は、ウェブページ(たとえば、オンライン売買業者によって販売される製品についての情報を提供し得るウェブページ)に埋め込まれる埋め込みメディアプレイヤー(たとえば、Flash(登録商標)プレイヤーまたはHTML5プレイヤー)を表示する可能性もある。別の例において、メディアプレイヤー112は、ユーザがデジタルメディアアイテム(たとえば、デジタルビデオ、デジタル画像、電子ブックなど)を閲覧することを可能にするスタンドアロンのアプリケーションである可能性がある。
【００１７】
メディアプレイヤー112は、サーバ(図示せず)および/またはコンテンツ共有プラットフォーム110によってクライアントデバイス102に提供される可能性がある。たとえば、メディアプレイヤー112は、コンテンツ共有プラットフォーム110によって提供されるウェブページに埋め込まれる埋め込みメディアプレイヤーである可能性がある。別の例において、メディアプレイヤー112は、サーバからダウンロードされるアプリケーションである可能性がある。
【００１８】
1つの実装において、コンテンツ共有プラットフォーム110は、ユーザにメディアアイテムへのアクセスを提供し、および/もしくはユーザにメディアアイテムを提供するために使用され得る(ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなどの)1つもしくは複数のコンピューティングデバイス、データストア(たとえば、ハードディスク、メモリ、データベース)、ネットワーク、ソフトウェア構成要素、ならびに/またはハードウェア構成要素である可能性がある。たとえば、コンテンツ共有プラットフォーム110は、ユーザがメディアアイテムを消費し、アップロードし、検索し、賛成し(「いいね!(like)し」)、ひどいね!(dislike)し、および/またはコメントすることを可能にする可能性がある。コンテンツ共有プラットフォーム110は、ユーザにメディアアイテムへのアクセスを提供するために使用され得るウェブサイト(たとえば、ウェブページ)を含む可能性もある。コンテンツ共有プラットフォーム110は、コンテンツおよび/またはメディアアイテムへのアクセスを提供する任意の種類のコンテンツ配信ネットワークを含む可能性があり、ソーシャルネットワーク、ニュースアウトレット(news outlet)、メディアアグリゲータ(media aggregator)などを含む可能性がある。コンテンツ共有プラットフォーム110は、メディアアイテムデータストア106を使用してクライアントデバイス102にメディアアイテムを提供する可能性がある。コンテンツ共有プラットフォーム110は、クライアントデバイス102に、メディアアイテムデータストア106からなど、1つまたは複数のデータストアからメディアアイテムを受信させる。実装において、コンテンツ共有プラットフォーム110は、メディアアイテムデータストア106を含む。その他の実装において、メディアアイテムデータストア106は、コンテンツ共有プラットフォーム110の一部ではない。コンテンツ共有プラットフォーム110は、メディアアイテムデータストア106に通信可能なように結合され得る。メディアアイテムのユーザの要求を扱うとき、コンテンツ共有プラットフォーム110は、クライアントデバイス102に要求されたメディアアイテムを提供するためにメディアアイテムデータストア106とインタラクションし得る。
【００１９】
コンテンツ共有プラットフォーム110は、利用可能なメディアアイテムのリストをクライアントデバイス102に提示または提供する可能性がある。メディアアイテムの例は、デジタルビデオ、デジタル映画、デジタル写真、写真アルバム、デジタル音楽、ウェブサイトコンテンツ、ソーシャルメディアの最新情報、ビデオオンデマンド、ライブストリーミングされるメディア、電子ブック(eブック)、電子雑誌、デジタル新聞、デジタルオーディオブック、電子ジャーナル、ウェブログ(ブログ)エントリ、真に単純なシンジケーション(RSS: real simple syndication)フィード、電子コミックブック、ソフトウェアアプリケーション、広告などを含む可能性があり、これらに限定されない。一部の実装において、メディアアイテムは、コンテンツアイテムとも呼ばれる。
【００２０】
メディアアイテムは、インターネットを介して、および/またはクライアントデバイス102のメディアプレイヤー112などのクライアントアプリケーションを介して消費される可能性がある。簡潔および簡単にするために、オンラインビデオ(本明細書においてはビデオとも呼ばれる)が、本書面全体を通じてメディアアイテムの例として使用される。本明細書において使用されるとき、「メディア」、「メディアアイテム」、「オンラインメディアアイテム」、「デジタルメディア」、「デジタルメディアアイテム」、「コンテンツ」、および「コンテンツアイテム」は、主体にデジタルメディアアイテムを提示するように構成されたソフトウェア、ファームウェア、またはハードウェアを使用して実行またはロードされ得る1つまたは複数の電子ファイルを含む可能性がある。
【００２１】
実装において、クライアントデバイス102は、メディアアイテム再生マネージャ114を含む。メディアアイテム再生マネージャ114は、2つの別々の部分またはストリームを含むメディアアイテムの再生を制御する。部分のうちの一方は、オーディオ部分である可能性があり、他方は、ビデオ部分である可能性がある。クライアントデバイス102は、ビデオソース118からビデオ部分を受信し、オーディオソース120からオーディオ部分を受信する。ビデオ部分およびオーディオ部分は、任意のフォーマットで、HTTPライブストリーミング(HLS)、HTTPを介した動的適応ストリーミング(DASH: Dynamic Adaptive Streaming over HTTP)、Flash(登録商標)のためのAdobeダイナミックストリーミング(Adobe Dynamic Streaming for Flash)、Microsoft(登録商標)スムースストリーミング(Microsoft Smooth Streaming)、Octoshapeマルチビットレート(Octoshape Multi-BitRate)などの任意のテクノロジーまたはプロトコルを使用して配信され得る。メディアアイテム再生マネージャ114は、本明細書において説明されるように、メディアプレイヤー112におけるメディアアイテムのビデオ部分およびオーディオ部分の同期された再生を調整し、リソースを使わずに取っておくことができる。
【００２２】
メディアアイテム再生マネージャ114は、メディアアイテムの再生を変更する指示を受信する可能性がある。指示は、たとえば、オペレーティングシステム116からの(プリファレンスまたはコマンドなどの)メッセージである可能性がある。代替的に、メディアアイテム再生マネージャ114は、クライアントデバイス102の任意の構成要素またはユーザから指示を受信する可能性がある。指示は、メディアプレイヤー112がもはやプライマリアプリケーションでないという指示、メディアプレイヤー112がクライアントデバイス102上でバックグラウンド状態になったという指示、クライアントデバイス102のディスプレイが電源をオフにされるという指示、第2のアプリケーションがクライアントデバイス102上でフォアグラウンド状態になったという指示、メディアプレイヤー112に関連するビデオがより低い優先度を有するという指示、またはメディアプレイヤー112のバックグラウンドへのインターフェースもしくはボタンを介してユーザから受信される要求のうちの少なくとも1つである可能性がある。指示は、メディアプレイヤーのビデオ部分の再生を停止するためにオペレーティングシステム116によってメディアアイテム再生マネージャ114に与えられる可能性がある。指示に応答して、メディアアイテム再生マネージャ114は、メディアアイテムのオーディオ部分を提供し続けながら、メディアプレイヤー112内でのメディアアイテムのビデオ部分の再生を停止することができる。
【００２３】
実装において、オペレーティングシステム116は、メディアアイテムを提示するアプリケーション(たとえば、メディアプレイヤー112)がフォアグラウンド状態になるときおよびそのアプリケーションがバックグラウンド状態になるときを追跡することができる。メディアアイテム再生マネージャ114は、アプリケーション(メディアプレイヤー112)がバックグラウンド状態になったときにオペレーティングシステム116から信号、指示、またはメッセージを受信する可能性がある。
【００２４】
信号を受信すると、メディアアイテム再生マネージャ114は、ビデオをダウンロードし、再生することに関連するあらゆるリソースを解放することができる。メディアアイテム再生マネージャ114は、ビデオバッファのクリア、ビデオメモリ、ビデオデコーダの解放、ネットワークソケットの閉鎖などのためのプロセスを開始することができる。一部の実装において、メディアアイテム再生マネージャ114は、ある期間、一部のリソースを保持する可能性がある。リソースを保持することは、アプリケーションがバックグラウンド状態になり、それからすぐにフォアグラウンド状態になるときなどに、性能的な理由で有益である可能性がある。別の例において、メディアアイテム再生マネージャ114は、アプリケーションがフォアグラウンド状態になるときに、メディアプレイヤーが迅速な再開のためにビデオ部分の復号を開始することができるように、ビデオデコーダを解放するが、データのダウンロードを続ける可能性がある。一部の実装において、メディアアイテム再生マネージャ114は、一部のリソースを保持し、それから、ある期間の後にそれらのリソースを解放する可能性がある。
【００２５】
その後、メディアアイテム再生マネージャ114は、メディアプレイヤー112がメディアアイテムのオーディオ部分を提供していながらメディアアイテムの再生を変更する第2の指示を受信する可能性がある。第2の指示は、(たとえば、メディアプレイヤー112がフォアグラウンド状態になるときに)オーディオ部分の再生中にビデオ部分の再生を開始または再開するためのものである可能性がある。第2の指示は、たとえば、メディアプレイヤー112が今やプライマリアプリケーションであるというオペレーティングシステム116からの(プリファレンスもしくはコマンドなどの)メッセージ、メディアプレイヤー112がクライアントデバイス102上でフォアグラウンド状態になったという指示、クライアントデバイス102のディスプレイが電源をオンにされるという指示、またはメディアプレイヤー112に関連するビデオが高い表示優先順位を有するという指示である可能性がある。第2の指示に応答して、メディアアイテム再生マネージャ114は、提供されているオーディオ部分と同期してメディアアイテムのビデオ部分の再生を再開するようにメディアプレイヤー112に命令することができる。
【００２６】
実装において、コンテンツ共有プラットフォーム110は、再生中にオーディオ部分およびビデオ部分をどのようにして同期すべきかをクライアントデバイス102に知らせる、オーディオ部分およびビデオ部分のインデックスを提供する。たとえば、オーディオ部分およびビデオ部分は、時間インデックス付けされる(time-indexed)可能性がある。メディアプレイヤー112は、メディアアイテムを初めから再生し始めるとき、インデックスで示されるように、時間=0からオーディオ部分およびビデオ部分を再生する。ビデオ部分を再開するとき、メディアアイテム再生マネージャ114は、再生するオーディオがインデックスに対して時間的にどこに入るかを特定する可能性がある。次いで、メディアアイテム再生マネージャ114は、対応する時間的場所においてビデオ部分を再開するようにメディアプレイヤー112に命令する可能性がある。また、ビデオ部分を再開するとき、メディアアイテム再生マネージャ114は、任意の解放されたリソース(たとえば、ビデオデコーダ、バッファ(メモリを再割り振りする)、ビデオ部分をダウンロードするためのオープンネットワークソケットなど)を再び獲得する可能性がある。これが起こっている間、メディアプレイヤー112は、オーディオを再生し続ける。ビデオ部分が利用可能であり、再生の準備ができていると、メディアアイテム再生マネージャ114は、再生するオーディオがインデックスに対して時間的にどこに入るかを再び特定する可能性がある。オーディオの位置を知ることによって、メディアアイテム再生マネージャ114は、再生するオーディオ部分と同期してビデオ部分の再生を再開するようにメディアプレイヤー112に命令することができる。
【００２７】
概して、1つの実装においてクライアントデバイス102によって実行されるものとして説明される機能は、適切な場合、その他の実装においてはコンテンツ共有プラットフォーム110上で実行される可能性もある。同様に、1つの実装においてコンテンツ共有プラットフォーム110によって実行されるものとして説明される機能は、適切な場合、その他の実装においてはクライアントデバイス102上で実行される可能性もある。加えて、特定の構成要素に帰せられる機能が、一緒に動作する異なるまたは複数の構成要素によって実行される可能性がある。たとえば、メディアプレイヤー112およびメディアアイテム再生マネージャ114は、単一のアプリケーション内で動作する可能性がある。コンテンツ共有プラットフォーム110は、適切なアプリケーションプログラミングインターフェース(API)を通じてその他のシステムまたはデバイスに提供されるサービスとしてアクセスされる可能性もあり、したがって、ウェブサイトにおける使用に限定されない。
【００２８】
一部の実装において、メディアプレイヤー112およびメディアアイテム再生マネージャ114は、同じアプリケーションの一部である。実装において、メディアアイテム再生マネージャ114は、オペレーティングシステム116の一部である。
【００２９】
さらなる実装において、メディアアイテム再生マネージャ114は、早い再開および最小限のネットワーク使用のために、バックグラウンド状態にあるとき、より低い品質のビデオをダウンロードする可能性がある。メディアアイテム再生マネージャ114は、受信されるときにメディアプレイヤー112が再生し得るより高い品質のビデオを要求する可能性がある。一部の実装において、ビデオ部分のダウンロードを再開するとき、メディアアイテム再生マネージャ114は、ビデオを再開するためのより大きな帯域幅を与えるためにオーディオ部分の品質を下げる可能性がある。
【００３０】
実装において、メディアアイテム再生マネージャ114は、現在のネットワークの状態を特定することができる。メディアアイテム再生マネージャ114は、現在のネットワークの状態などが原因でビデオ部分を確実に受信することができないと判定するとき、ビデオ部分が確実に受信され得るまでオーディオのみのモードをトリガする可能性がある。メディアアイテム再生マネージャ114は、ビデオの信頼性が低いことをGUIを介してユーザにプロンプト表示する可能性がある。ユーザは、オーディオのみで進むことを選択する可能性があり、メディアアイテム再生マネージャ114は、GUIを介してそのような入力を受信する可能性があり、それに応じて進む可能性がある。
【００３１】
一部の実装において、オーディオ部分およびビデオ部分は、単一の接続、ストリーム、またはファイルによって配信される。メディアアイテム再生マネージャ114またはオペレーティングシステム116は、メディアプレイヤー112がバックグラウンド状態になるとき、またはオーディオ部分を送信し、ビデオ部分を送信すべきでないときをコンテンツプラットフォーム110に知らせることができる。コンテンツプラットフォーム110は、単一の接続を介したビデオ部分の配信を停止することができる。一部の実装において、オーディオ部分およびビデオ部分が単一の組み合わされたファイルとして配信されるとき、ファイルは、メディアアイテム再生マネージャ114がクライアントにおいて2つの部分を分けるために使用し得るビデオ部分およびオーディオ部分の識別子を含む可能性がある。
【００３２】
実装において、メディアアイテムは、ライブストリームまたはライブイベント(たとえば、オンライン講義またはプレゼンテーション、ビデオゲームストリーム)に関連する可能性がある。ライブストリームおよびライブイベントに関して、メディアアイテムは、時間(たとえば、5秒のパケット)またはサイズ(たとえば、1メガバイトのパケット)によるなどしてセグメントにパッケージングされる可能性がある。オーディオパケットは、ビデオパケットとは異なるサイズを有する可能性がある。たとえば、オーディオパケットは、5秒の長さである可能性があり、ビデオパケットは、10秒である可能性がある。メディアアイテムのオーディオ部分およびビデオ部分は、互いに対応する可能性があるが、別々にパッケージングされる可能性がある。たとえば、メディアアイテムは、200個の順序付けられたパケットに分割される可能性がある。オーディオ部分およびビデオ部分は、同様に、各パケットが時間的に同じ瞬間に対応する(たとえば、ビデオ部分およびオーディオ部分の第27のパケットが、時間的に同じ瞬間に対応する)ようにして、順序付けられた200個のパケットへと分割される可能性がある。ビデオ部分を停止するとき、メディアアイテム再生マネージャ114は、次の順序付けられたパケットを再生しないようにメディアプレイヤー112に命令する可能性がある。ビデオ部分を再開するとき、メディアアイテム再生マネージャ114は、どのオーディオパケットが現在再生されているかを特定することができ、そのメディアアイテム再生マネージャ114が次のオーディオパケットを再生し始めるのと同時に次のビデオパケットを再生し始めるようにメディアプレイヤー112に命令することができる。実装において、メディアアイテム再生マネージャ114は、コンテンツ共有プラットフォーム110からの次のビデオパケットを要求する可能性もある。
【００３３】
その他の実装においては、ソフトウェア開発者またはエンドユーザが、メディアアイテム再生マネージャ114を構成する可能性がある。たとえば、エンドユーザがメディアアイテム再生マネージャ114の機能の一部またはすべてを閲覧し、必要に応じてその機能を修正することを可能にするGUIが、提供され得る。別の例において、コンテンツ共有プラットフォーム110は、ソフトウェア開発者がメディアアイテム再生マネージャ114を構成することを可能にするためのAPIを提供する可能性がある。
【００３４】
一部の実装においては、バックグラウンドでメディアプレイヤー112において現在再生されているメディアアイテムに対応するメタデータなどの情報が、クライアントデバイス102のユーザインターフェースのメディアアイテム情報部分内に示される可能性がある。たとえば、ビデオのタイトル、閲覧回数、いいね!などのビデオについての情報が、提示される可能性がある。再生、一時停止、停止、早送り、巻き戻し、ソーシャルポスト、コメント追加などの、バックグラウンドで現在再生されているメディアアイテムに関連する追加的なメニューオプションが、提示される可能性もある。別の実装において、メディアアイテムに対応する情報は、ユーザがクライアントデバイス102上でその他の活動を実行している間に半透明なフォーマットで(たとえば、半透明なオーバーレイまたはレイヤとして)提示される可能性がある。
【００３５】
図2は、本開示のいくつかの実装によるクライアントデバイス上での効率的なメディアアプリケーションのバックグラウンド処理を提供するための方法200を示す流れ図である。方法200は、ハードウェア(たとえば、回路、専用論理、プログラミング可能な論理、マイクロコードなど)、ソフトウェア(たとえば、ハードウェアのシミュレーションを実行するために処理デバイス上で実行される命令)、またはこれらの組合せを含む処理論理によって実行され得る。
【００３６】
説明を簡単にするために、本開示の方法は、一連の行為として示され、説明される。しかし、本開示による行為は、様々な順序でおよび/または同時に、ならびに本明細書において提示および説明されないその他の行為とともに行われる可能性がある。さらに、開示される対象による方法を実施するために、示されるすべての行為が必要とされるわけではない可能性がある。加えて、当業者は、方法が、代替的に状態図による一連の相互に関連した状態またはイベントとして表され得ることを理解し、認識するであろう。加えて、本明細書において開示される方法は、そのような方法をコンピューティングデバイスに運び、転送することを容易にするための製品に記憶され得ることを理解されたい。本明細書において使用される用語「製品」は、任意のコンピュータ可読デバイスまたはストレージ媒体からアクセス可能なコンピュータプログラムを包含するように意図される。1つの実装において、方法200は、図1に関連してさらに説明されたように、メディアプレイヤー112もしくはメディアアイテム再生マネージャ114、またはこれらの組合せなどのアプリケーションによって実行され得る。
【００３７】
図2を参照すると、方法200は、処理論理がビデオ部分およびオーディオ部分を有するメディアアイテムを再生する要求を受信するときにブロック202において始まる。要求は、クライアントデバイスのタッチスクリーンを介するなどしてユーザ入力として受信される可能性がある。ブロック204において、処理論理が、要求に応じて、メディアアイテムの再生に関連する1つまたは複数のリソースを予約する。1つまたは複数のリソースは、たとえば、メモリ、バッファ、ビデオデコーダ、ネットワークソケット、またはビデオプレイヤーである可能性がある。処理論理は、1つまたは複数のソースからメディアアイテムを受信する。
【００３８】
ブロック206において、処理論理がメディアアイテムを提示し、これは、クライアントデバイスのディスプレイを介してメディアアイテムの再生を提供することを含み得る。ブロック208において、処理論理が、メディアアイテムの再生中に第1のメッセージを受信する。
【００３９】
ブロック210において、第1のメッセージに応答して、処理論理が、メディアアイテムのオーディオ部分を提供し続けながら、メディアアイテムのビデオ部分の再生を停止する。ブロック212において、処理論理が、メディアアイテムの再生に関連する1つまたは複数のリソースのうちの少なくとも1つを解放する。たとえば、1つまたは複数のリソースのうちの少なくとも1つを解放するとき、処理論理は、ビデオデータをバッファからクリアすること、ビデオ部分のダウンロードを停止すること、またはビデオ部分を要求するために使用されるネットワーク接続を閉じることのうちの少なくとも1つを含み得る。
【００４０】
ブロック214において、処理論理が、メディアアイテムのオーディオ部分を提供しながら第2のメッセージを受信する。実装において、第2のメッセージは、処理論理によって実行されるアプリケーションがクライアントデバイス上でフォアグラウンド状態になったという指示である。ブロック216において、処理論理が、解放されたリソースを再び獲得する。ブロック218において、第2のメッセージに応答して、処理論理が、提供されているオーディオ部分と同期してメディアアイテムのビデオ部分の再生を再開する。実装において、処理論理は、オーディオ部分の提示を中断することなくメディアアイテムのビデオ部分の提示を再開する。
【００４１】
実装において、処理論理は、初めは第1の品質レベルまたはビットレートでビデオ部分を提示し、メディアアイテムのビデオ部分の提示を再開するときは、第2の品質レベルまたはビットレートでビデオ部分を提示する。たとえば、第2の品質は、改善されたネットワークリソースのために第1の品質よりも高い可能性がある。
【００４２】
図3は、本開示のいくつかの実装によるクライアントデバイス上での効率的なメディアアプリケーションのバックグラウンド処理を提供するための2つの例示的なタイムライン302、304を示す。インターバルおよびイベントが、活動を示すために使用される。インターバルの長さまたは規模(dimension)は、特定の時間または継続時間を示さず、互いに相対的ないかなる時間または継続時間も示さない。任意のインターバルは、任意の時間の量または継続時間である可能性がある。
【００４３】
第1の例において、図1に関連して示されたクライアントデバイス102などのクライアントデバイス上のアプリケーションを実行し(302)、インターバル306の間、メディアアイテムのオーディオ部分とビデオ部分との両方を再生する。イベント308において、アプリケーションが、本明細書において説明されるように、第1のメッセージを受信し、メッセージに応答して、オーディオ部分を再生し続けながらビデオ部分の再生を停止する。インターバル310の間に、アプリケーションはビデオリソースを解放し、インターバル312の終わりまで、ビデオリソースが解放される。イベント314において、アプリケーションは、第2のメッセージを受信する。イベント314において受信された第2のメッセージに応答して、アプリケーションは、インターバル316の間にビデオリソースを獲得する。ビデオリソースが獲得されると、アプリケーションは、インターバル306の間に、オーディオ部分を再生し続けながらメディアアイテムのビデオ部分の再生を再開し得る。
【００４４】
第2の例においては、第1の例、実行302と同様にアプリケーションの機能を実行する(304)。第2の例は、アプリケーションがビデオリソースを獲得し、オーディオ部分と同期してビデオ部分の再生を開始するための許容される継続時間である参加ウィンドウ(joining window)320をさらに含む。参加ウィンドウ320の継続時間は、予め決められた時間の量(たとえば、5秒)である可能性がある。代替的に、参加ウィンドウ320の継続時間は、動的である可能性があり、メディアアイテムに関する任意の変数に依存する可能性がある。たとえば、参加ウィンドウ320の継続時間は、現在再生されているオーディオデータパケットの残りの継続時間である可能性がある。参加ウィンドウ320の間に、クライアントデバイスは、ビデオがロード、バッファリングなどしていることをユーザに示すためのプロンプトをレンダリングする可能性がある。たとえば、プロンプトは、サムネイル、スピナー(spinner)、メッセージなどを含む可能性がある。プロンプトは、ビデオ部分が再開するまで表示される可能性がある。実装において、クライアントデバイスは、早く再開するためにビデオ部分をより低い品質またはビットレートで再開する可能性があり、ビデオ品質またはビットレートを動的に調整する可能性がある。ビデオ部分が参加ウィンドウ320内で再生または再開されない場合、アプリケーションは、ビデオ部分が再生の準備ができるまで、(たとえば、インターバル322の継続時間の間)オーディオを一時停止する可能性がある。
【００４５】
図4は、本明細書において検討された方法のうちのいずれか1つまたは複数をマシンに実行させるための命令の組が実行され得るコンピュータシステム400の例示的な形態のマシンの図式的な表現を示す。代替的な実装において、マシンは、LAN、イントラネット、エクストラネット、またはインターネット内のその他のマシンに接続される(たとえば、ネットワーク接続される)可能性がある。マシンは、クライアント-サーバネットワーク環境内のサーバもしくはクライアントマシンの能力内で、またはピアツーピア(もしくは分散型)ネットワーク環境内のピアマシンとして動作する可能性がある。マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、セルラー電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチもしくはブリッジ、またはそのマシンによって行われるべきアクションを指定する(逐次的またはその他の)命令の組を実行することができる任意のマシンである可能性がある。さらに、単一のマシンだけが示されているが、用語「マシン」は、本明細書において検討された方法のうちのいずれか1つまたは複数を実行するための命令の1組(または複数組)を個々にまたは連携して実行するマシンの任意の集合を含むとやはり受け取られる。
【００４６】
例示的なコンピューティングシステム400は、処理デバイス(プロセッサ)402、メインメモリ404(たとえば、読み出し専用メモリ(ROM)、フラッシュメモリ、同期DRAM(SDRAM)またはRambus DRAM(RDRAM)などのダイナミックランダムアクセスメモリ(DRAM)など)、スタティックメモリ406(たとえば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)など)、およびデータストレージデバイス416を含み、これらは、バス408を介して互いに通信する。
【００４７】
プロセッサ402は、マイクロプロセッサ、中央演算処理装置などの1つまたは複数の汎用処理デバイスを表す。より詳細には、プロセッサ402は、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、またはその他の命令セットを実装するプロセッサもしくは命令セットの組合せを実装するプロセッサである可能性がある。プロセッサ402は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなど1つまたは複数の専用処理デバイスである可能性もある。プロセッサ402は、本明細書において検討された動作およびステップを実行するための命令426を実行するように構成される。
【００４８】
コンピュータシステム400は、ネットワークインターフェースデバイス422をさらに含み得る。コンピュータシステム400は、ビデオディスプレイユニット410(たとえば、液晶ディスプレイ(LCD)、ブラウン管(CRT)、またはタッチスクリーン)、英数字入力デバイス412(たとえば、キーボード)、カーソル制御デバイス414(たとえば、マウス)、および信号生成デバイス420(たとえば、スピーカ)も含み得る。
【００４９】
データストレージデバイス416は、本明細書において説明された方法または機能のうちのいずれか1つまたは複数を具現化する命令426(たとえば、ソフトウェア)の1つまたは複数の組が記憶されるコンピュータ可読ストレージ媒体424を含み得る。また、命令426は、コンピュータシステム400によるその命令426の実行中、メインメモリ404および/またはプロセッサ402内に完全にまたは少なくとも部分的に存在する可能性があり、メインメモリ404およびプロセッサ402は、コンピュータ可読ストレージ媒体をやはり構成する。命令426は、ネットワークインターフェースデバイス422を介してネットワーク418上でさらに送信または受信される可能性がある。
【００５０】
1つの実装において、命令426は、図1に関連して説明されたメディアプレイヤー112もしくはメディアアイテム再生マネージャ114にそれぞれ対応する可能性があるメディアプレイヤーもしくはメディアアイテム再生マネージャのための命令、および/またはメディアプレイヤーもしくはメディアアイテム再生マネージャを提供する方法を含むソフトウェアライブラリを含む。コンピュータ可読ストレージ媒体424は例示的な実装においては単一の媒体であるように示されているが、用語「コンピュータ可読ストレージ媒体」は、命令の1つまたは複数の組を記憶する単一の媒体または複数の媒体(たとえば、集中的なもしくは分散型のデータベース、ならびに/または関連するキャッシュおよびサーバ)を含むものと受け取られるべきである。また、用語「コンピュータ可読ストレージ媒体」は、マシンによる実行のために命令の組を記憶するか、符号化するか、または運ぶことができ、本開示の方法のうちのいずれか1つまたは複数をマシンに実行させる任意の媒体を含むものと受け取られる。したがって、用語「コンピュータ可読ストレージ媒体」は、ソリッドステートメモリ、光学式媒体、および磁気式媒体を含むがこれらに限定されないと受け取られる。
【００５１】
上述の説明において、多くの詳細が記載されている。しかし、本開示がこれらの具体的詳細なしに実施され得ることは、本開示の恩恵に浴する当業者に明らかであろう。場合によっては、本開示を曖昧にすることを避けるために、よく知られた構造およびデバイスは、詳細にではなくブロック図の形態で示される。
【００５２】
詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する操作のアルゴリズムおよび記号表現の観点で提示された。これらのアルゴリズムの記述および表現は、データ処理技術に精通した者によって、それらの者の成果の内容を当該技術に精通したその他の者に最も効果的に伝えるために使用される手段である。ここでおよび概して、アルゴリズムは、所望の結果をもたらす自己矛盾のない一連のステップであると考えられる。ステップとは、物理量の物理的操作を必要とするステップである。必ずではないが通常は、これらの量は、記憶、転送、組合せ、比較、およびその他の操作を行われ得る電気的または磁気的信号の形態をとる。これらの信号をビット、値、要素、シンボル、文字、語句、数などと呼ぶことが、主に共通使用の理由で便利な場合があることが分かっている。
【００５３】
しかし、これらのおよび同様の用語のすべては、適切な物理量に関連付けられるべきであり、これらの量に付される便宜的なラベルであるに過ぎないことに留意されたい。以下の検討から明らかなように、別途はっきりと記載されていない限り、説明全体を通じて、「セグメント分けする」、「分析する」、「判定する」、「可能にする」、「特定する」、「修正する」などの用語を利用する検討は、コンピュータシステムのレジスタおよびメモリ内の物理的(たとえば、電子的)量として表されるデータを操作し、コンピュータシステムのメモリまたはレジスタまたはその他のそのような情報ストレージ、送信、もしくは表示デバイス内の物理的量として同様に表されるその他のデータに変形するコンピュータシステムまたは同様の電子的なコンピューティングデバイスのアクションおよびプロセスを指すことが理解される。
【００５４】
本開示は、本明細書の動作を実行するための装置にも関する。この装置は、必要とされる目的のために特別に構築される可能性があり、またはコンピュータに記憶されたコンピュータプログラムによって選択的にアクティブ化または再構成される汎用コンピュータを含む可能性がある。そのようなコンピュータプログラムは、フロッピーディスク、光ディスク、CD-ROM、および光磁気ディスクを含む任意の種類のディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気式もしくは光学式カード、または電子的な命令を記憶するのに好適な任意の種類の媒体などであるがこれらに限定されないコンピュータ可読ストレージ媒体に記憶される可能性がある。
【００５５】
語「例」および/または「例示的な」は、本明細書においては、具体例または事例としての役割を果たすことを意味するために使用される。本明細書で「例」または「例示的な」と記載されたいずれの態様または設計も、必ずしもその他の態様または設計よりも好ましいかまたは有利であると解釈されるべきでない。むしろ、語「例」または「例示的な」の使用は、概念を具体化して提示するように意図される。本出願において使用されるとき、用語「または(or)」は、排他的な「または(or)」ではなく包含的な「または(or)」を意味するように意図される。つまり、別途指定されない限り、または文脈から明らかでない限り、「XはAまたはBを含む」は、自然な包含的順列(natural inclusive permutation)のいずれかを意味するように意図される。つまり、XがAを含む、XがBを含む、またはXがAとBとの両方を含む場合、「XがAまたはBを含む」は、上記の場合のいずれかの下でも満たされる。加えて、本出願および添付の特許請求の範囲において使用される冠詞「a」および「an」は、別途指定されない限り、または文脈から単数形を対象とすることが明らかでない限り、通常「1つまたは複数の(one or more)」を意味するとみなされるべきである。さらに、用語「実装」または「1つの実装」の使用は、全体を通じて、そのように説明されない限り同じ実装を意味するように意図されていない。
【００５６】
本明細書全体を通じた「1つの実装」または「実装」への言及は、実装に関連して説明された特定の特徴、構造、または特徴が少なくとも1つの実装に含まれることを意味する。したがって、語句「1つの実装において」または「実装において」が本明細書全体を通じて様々な箇所に現れることは、必ずしもすべて同じ実装を指すものではない。さらに、用語「または(or)」は、排他的な「または(or)」ではなく包含的な「または(or)」を意味するように意図される。
【００５７】
上述の説明は例示的であるように意図されており、限定的であるように意図されていないことを理解されたい。多くのその他の実装は、上述の説明を読み、理解すると、当業者に明らかになるであろう。したがって、本開示の範囲は、添付の特許請求の範囲が与えられる均等物の全範囲と併せたそのような特許請求の範囲に関連して決定されるべきである。
【符号の説明】
【００５８】
100  システムアーキテクチャ
102  クライアントデバイス
104  ネットワーク
106  データストア
110  コンテンツ共有プラットフォーム
112  メディアプレイヤー
114  メディアアイテム再生マネージャ
116  オペレーティングシステム
118  ビデオソース
120  オーディオソース
200  方法
302  タイムライン
304  タイムライン
400  コンピュータシステム
402  処理デバイス(プロセッサ)
404  メインメモリ
406  スタティックメモリ
408  バス
410  ビデオディスプレイユニット
412  英数字入力デバイス
414  カーソル制御デバイス
416  データストレージデバイス
418  ネットワーク
420  信号生成デバイス
422  ネットワークインターフェースデバイス
424  コンピュータ可読ストレージ媒体
426  命令
【図１】
2018157579.tif 000003
【図２】
2018157579.tif 000004
【図３】
2018157579.tif 000005
【図４】
2018157579.tif 000006
【手続補正書】
【提出日】平成30年5月15日(2018.5.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティングデバイスの処理デバイスによって実行される第1のアプリケーションによって、コンテンツプラットフォームから受信されたメディアアイテムの再生を提供するステップであって、前記メディアアイテムは、ビデオ部分およびオーディオ部分を含み、前記ビデオ部分の前記再生は、前記コンピューティングデバイスのディスプレイデバイス上で行われる、ステップと、
前記メディアアイテムの前記再生の間に前記第1のアプリケーションがバックグランド状態になることに応答して、前記第1のアプリケーションが、前記ビデオ部分を送信せずに前記オーディオ部分を送信し続けるように前記コンテンツプラットフォームに要求を送信することによって前記バックグランド状態にある間に、前記オーディオ部分の前記再生を提供し続けながら、前記ディスプレイデバイス上で前記ビデオ部分の前記再生を停止するステップと、
前記ビデオ部分が再生されない前記オーディオ部分の前記再生の間に前記第1のアプリケーションがフォアグランド状態になることに応答して、前記ビデオ部分の前記再生を再開するステップであって、前記再開するステップが、前記第1のアプリケーションが前記バックグランド状態にあった間に、提供され続けた前記オーディオ部分の前記再生と前記ビデオ部分の前記再生との同期を調整するステップを含む、ステップとを含む方法。
【請求項２】
前記メディアアイテムの前記再生を提供するステップが、
前記メディアアイテムの前記再生を開始する要求を受信するステップと、
前記再生を開始する要求を受信することに応答して前記メディアアイテムの前記再生に関連する1つまたは複数のリソースを予約するステップを含み、
前記ビデオ部分の前記再生を停止するステップが、前記リソースのうちの少なくとも1つのリソースを解放するステップであって、前記リソースが前記ビデオ部分の前記再生に関連する、ステップを含む請求項1に記載の方法。
【請求項３】
前記リソースが、メモリ、バッファ、ビデオデコーダ、またはビデオプレイヤーのうちの少なくとも1つを含む請求項2に記載の方法。
【請求項４】
前記リソースを解放するステップが、ビデオデータをバッファからクリアするステップ、または前記ビデオ部分を要求するために使用されるネットワーク接続を閉じるステップのうちの少なくとも1つを実行するステップを含む請求項2に記載の方法。
【請求項５】
前記ビデオ部分の前記再生を再開するステップが、前記解放されたリソースを再び獲得するステップを含む請求項2に記載の方法。
【請求項６】
前記ビデオ部分の前記再生が、前記オーディオ部分の前記再生を中断することなく再開される請求項1に記載の方法。
【請求項７】
前記ビデオ部分の前記再生が、初めは第1の品質であり、前記ビデオ部分の前記再生を再開するステップが、第2の品質である請求項1に記載の方法。
【請求項８】
グラフィカルユーザインターフェースを介して、前記ビデオ部分の再生が再開すべきであるというメッセージを提示するステップをさらに含む請求項1に記載の方法。
【請求項９】
前記ビデオ部分および前記オーディオ部分を異なるソースから受信するステップをさらに含む請求項1に記載の方法。
【請求項１０】
前記ビデオ部分および前記オーディオ部分を単一の接続、ストリーム、またはファイルとして受信するステップと、
前記ビデオ部分および前記オーディオ部分を別々のファイルへと分けるステップとをさらに含む請求項1に記載の方法。
【請求項１１】
コンピューティングデバイスにおいて、
ディスプレイデバイスと、
処理デバイスであって、
コンテンツプラットフォームから受信されたメディアアイテムの再生を、前記コンピューティングデバイスの前記処理デバイスによって実行される第1のアプリケーションによって、提供することであって、前記メディアアイテムは、ビデオ部分およびオーディオ部分を含み、前記ビデオ部分の前記再生が前記コンピューティングデバイスの前記ディスプレイデバイス上で行われる、提供することと、
前記メディアアイテムの前記再生の間に前記第1のアプリケーションがバックグランド状態になることに応答して、前記第1のアプリケーションが、前記ビデオ部分を送信せずに前記オーディオ部分を送信し続けるように前記コンテンツプラットフォームに要求を送信することによって前記バックグランド状態にある間に、前記オーディオ部分の前記再生を提供し続けながら、前記ディスプレイデバイス上で前記ビデオ部分の前記再生を停止することと、
前記ビデオ部分が再生されない前記オーディオ部分の前記再生の間に前記第1のアプリケーションがフォアグランド状態になることに応答して、前記ビデオ部分の前記再生を再開することであって、前記ビデオ部分の前記再生を再開するために、前記処理デバイスが、前記第1のアプリケーションが前記バックグランド状態にあった間に、提供され続けた前記オーディオ部分の前記再生と前記ビデオ部分の前記再生との同期を調整するためのものである、再開することと、を行うように構成される処理デバイスと、
を含むコンピューティングデバイス。
【請求項１２】
前記メディアアイテムの前記再生を提供するために、
前記処理デバイスが、前記メディアアイテムの前記再生を開始する要求を受信し、
前記再生を開始する要求を受信することに応答して前記メディアアイテムの前記再生に関連する1つまたは複数のリソースを予約するためのものであり、
前記ビデオ部分の前記再生を停止するために、前記処理デバイスが、前記リソースから少なくとも1つのリソースを解放するためのものであり、前記リソースが前記ビデオ部分の前記再生に関連する、請求項11に記載のコンピューティングデバイス。
【請求項１３】
前記リソースが、メモリ、バッファ、ビデオデコーダ、またはビデオプレイヤーのうちの少なくとも1つを含む請求項12に記載のコンピューティングデバイス。
【請求項１４】
前記リソースを解放するために、前記処理デバイスが、ビデオデータをバッファからクリアすること、または前記ビデオ部分を要求するために使用されるネットワーク接続を閉じることのうちの少なくとも1つを実行するためのものである請求項12に記載のコンピューティングデバイス。
【請求項１５】
前記ビデオ部分の前記再生を再開するために、前記処理デバイスが、前記解放されたリソースを再び獲得するためのものである請求項12に記載のコンピューティングデバイス。
【請求項１６】
コンピューティングデバイスの処理デバイスによって実行されるときに、前記処理デバイスに
前記コンピューティングデバイスの前記処理デバイスによって実行される第1のアプリケーションによって、ネットワークを介してコンテンツプラットフォームから受信されたメディアアイテムの再生を提供することであって、前記メディアアイテムがビデオ部分およびオーディオ部分を含み、前記ビデオ部分の前記再生は、前記コンピューティングデバイスのディスプレイデバイス上で行われる、ことと、
前記コンテンツプラットフォームからの前記ビデオ部分の受信の間に、前記ネットワークの第1の状態を識別することと、
前記ビデオ部分が、前記ネットワークの状態に基づいて、前記コンテンツプラットフォームから確実には受信できないと判定することと、
前記ビデオ部分が確実には受信できないと判定することに応答して、前記ビデオ部分が確実には受信できないと判定されたまま前記オーディオ部分の前記再生を提供し続けながら、前記ディスプレイデバイス上で前記ビデオ部分の前記再生を停止することと、
前記ビデオ部分が前記コンテンツプラットフォームから確実に受信できると判定することに応答して、前記ビデオ部分の前記再生を再開することであって、前記ビデオ部分の前記再生を再開するために、前記処理デバイスは、前記ビデオ部分が確実には受信できなかったと判定されていた間に提供され続けた前記オーディオ部分の前記再生と前記ビデオ部分の前記再生との同期を調整するためのものである、ことと
を行わせる命令を記憶する非一時的機械可読媒体。
【請求項１７】
前記メディアアイテムの前記再生を提供するために、前記処理デバイスは、
前記メディアアイテムの前記再生を開始する要求を受信し、
前記再生を開始する要求を受信することに応答して前記メディアアイテムの前記再生に関連する1つまたは複数のリソースを予約するためのものであり、
前記ビデオ部分の前記再生を停止するために、前記処理デバイスは前記リソースのうちの少なくとも1つのリソースを解放するためのものであり、前記リソースが前記ビデオ部分の前記再生に関連する、請求項16に記載の非一時的機械可読媒体。
【請求項１８】
前記リソースが、メモリ、バッファ、ビデオデコーダ、またはビデオプレイヤーのうちの少なくとも1つを含む、請求項17に記載の非一時的機械可読媒体。
【請求項１９】
前記リソースを解放するために、前記処理デバイスは、ビデオデータをバッファからクリアすること、または前記ビデオ部分を要求するために使用されるネットワーク接続を閉じることのうちの少なくとも1つを実行するためのものである、請求項17に記載の非一時的機械可読媒体。
【請求項２０】
前記ビデオ部分の前記再生を再開するために、前記処理デバイスは、前記解放されたリソースを再び獲得するためのものである、請求項17に記載の非一時的機械可読媒体。
【外国語明細書】
2018157579000001.pdf