(57)【要約】本発明は、特別のメディア再生のシナリオにおいて電力消費を最適化する方法、システム、装置及びコンピュータプログラムプロダクトに関する。本方法は、マルチメディアストリームの第一の部分の復号化が中断されるシナリオを識別する段階、マルチメディアストリームの第二の部分の復号化を継続する間、マルチメディアストリームの第一の部分の復号化を中断する段階を含む。第一の部分はビデオストリームであり、第二の部分は、オーディオストリームであり、シナリオは、ビデオストリームのプレイバックウィンドウが隠されることを含む。第一の部分はオーディオストリームであり、第二の部分はビデオストリームであり、シナリオは、オーディオストリームがミュートされることを含む。本方法は、シナリオが変化したかを判定する段階、及びマルチメディアストリームの第一の部分の復号化を再開する段階を更に含む。
2014505929.tif 000002
【特許請求の範囲】
【請求項１】
マルチメディアストリームの第一の部分の復号化が中断されるシナリオを識別する段階と、
前記マルチメディアストリームの第二の部分の復号化を継続する一方、前記マルチメディアストリームの前記第一の部分の復号化を中断する段階と、
を含むコンピュータで実現される方法。
【請求項２】
前記第一の部分はビデオストリームであり、前記第二の部分はオーディオストリームであり、前記シナリオは、前記ビデオストリームについてのプレイバックアプリケーションが隠されることを含む、
請求項１記載の方法。
【請求項３】
前記第一の部分はオーディオストリームであり、前記第二の部分はビデオストリームであり、前記シナリオは、前記オーディオストリームがミュートされることを含む、
請求項１記載の方法。
【請求項４】
前記シナリオが変化したかを判定する段階と、
前記マルチメディアストリームの前記第一の部分の復号化を再開する段階と、
を更に含む請求項１記載の方法。
【請求項５】
前記マルチメディアストリームの前記第一の部分の復号化を再開する段階は、
前記マルチメディアストリームの前記第二の部分で現在復号化されている第一のフレームを識別する段階と、
前記マルチメディアストリームの前記第一の部分における第二のフレームであって、前記第一のフレームに対応する第二のフレームを識別する段階と、
前記第二のフレームで前記マルチメディアストリームの前記第二の部分のレンダリングを再開する段階と、
を含む請求項４記載の方法。
【請求項６】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されるメモリであって、マルチメディアストリームの第一の部分の復号化が中断されるシナリオを識別し、前記マルチメディアストリームの第二の部分の復号化を継続する一方、前記マルチメディアストリームの前記第一の部分の復号化を中断する、ための命令を記憶するメモリと、
を備えるシステム。
【請求項７】
前記第一の部分はビデオストリームであり、前記第二の部分はオーディオストリームであり、前記シナリオは、前記ビデオストリームのプレイバックアプリケーションが隠されることを含む、
請求項６記載のシステム。
【請求項８】
前記第一の部分はオーディオストリームであり、前記第二の部分はビデオストリームであり、前記シナリオは、前記オーディオストリームがミュートされることを含む、
請求項６記載のシステム。
【請求項９】
前記命令は、前記シナリオが変化したかを決定し、前記マルチメディアストリームの前記第一の部分の復号化を再開するための命令を更に含む、
請求項６記載のシステム。
【請求項１０】
前記メディアストリームの前記第一の部分の復号化を再開することは、
前記マルチメディアストリームの前記第二の部分で現在復号化されている第一のフレームを識別する段階と、
前記マルチメディアストリームの前記第一の部分における第二のフレームであって、前記第一のフレームに対応する第二のフレームを識別する段階と、
前記第二のフレームで前記マルチメディアストリームの前記第二の部分のレンダリングを再開する段階と、
を含む請求項９記載のシステム。
【請求項１１】
コンピュータ読み取り可能な記録媒体と、
前記コンピュータ読み取り可能な記録媒体で記録される命令であって、処理システムで実行されたときに、前記処理システムに、マルチメディアストリームの第一の部分の復号化が中断されるシナリオを識別し、前記マルチメディアストリームの第二の部分の復号化を継続する一方、前記マルチメディアストリームの前記第一の部分の復号化を中断する処理を実行させる命令と、
を備えるコンピュータプログラムプロダクト。
【請求項１２】
前記第一の部分はビデオストリームであり、前記第二の部分はオーディオストリームであり、前記シナリオは、前記ビデオストリームのプレイバックアプリケーションが隠されることを含む、
請求項１１記載のコンピュータプログラムプロダクト。
【請求項１３】
前記第一の部分はオーディオストリームであり、前記第二の部分はビデオストリームであり、前記シナリオは、前記オーディオストリームがミュートされることを含む、
請求項１１記載のコンピュータプログラムプロダクト。
【請求項１４】
前記命令は、前記処理システムに、前記シナリオが変化したかを決定し、前記マルチメディアストリームの前記第一の部分の復号化を再開する処理を更に実行させる、
請求項１１記載のコンピュータプログラムプロダクト。
【請求項１５】
前記メディアストリームの前記第一の部分の復号化を再開することは、
前記マルチメディアストリームの前記第二の部分で現在復号化されている第一のフレームを識別し、前記マルチメディアストリームの前記第一の部分における第二のフレームであって、前記第一のフレームに対応する第二のフレームを識別する段階と、
前記第二のフレームで前記マルチメディアストリームの前記第二の部分のレンダリングを再開することを含む、
請求項１４記載のコンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューティング装置における電力の最適化に関する。
【０００２】
本明細書に含まれるものは、著作権保護を受けるマテリアルである。著作権者は、特許商標庁のパテントファイル又はレコードに現れたときに、任意の人物による特許のファクシミリの複製に対して異議がないが、さもなければ、著作権に対する全ての権利を保有する。
【背景技術】
【０００３】
今日の社会における携帯装置の普及により、モバイルコンピューティング環境で実行するアプリケーションは、数の上で増加し、高度化している。ユーザは、一般にテレビ及び／又は映画を見るのと同様に、それらの携帯装置で音楽を聴く、全てのアプリケーションは、相当な量の電力を必要とする。多くの携帯装置の制限されたバッテリ寿命及びマルチメディアアプリケーションの高い電力の需要のため、携帯装置により使用される相当な量の電力は、マルチメディアアプリケーションにより消費される。
【発明の概要】
【課題を解決するための手段】
【０００４】
本発明の実施の形態は、特別なメディア再生のシナリオの間の電力消費を最適化する方法、装置、システム及びコンピュータプログラムプロダクトを提供する。１実施の形態では、本方法は、マルチメディアストリームの第一の部分の復号化が中断されるシナリオを識別する段階、マルチメディアストリームの第二の部分を復号化し続ける間に、マルチメディアストリームの第一の部分の復号化を中断する段階を含む。第一の部分は、ビデオストリームであり、第二の部分は、オーディオストリームであり、シナリオは、ビデオストリームのプレイバックウィンドウが隠されることを含む場合がある。第一の部分は、オーディオストリームであり、第二の部分は、ビデオストリームであり、シナリオは、オーディオストリームがミュートされることを含む。本方法は、シナリオが変化したかを判定する段階、及びマルチメディアストリームの第一の部分の復号化を再開する段階を更に含む。本発明は、マルチメディアストリームの第二の部分で現在復号化されている第一のフレームを識別する段階、マルチメディアストリームの第一の部分における第二のフレームであって、第一のフレームに対応する第二のフレームを識別する段階、及びマルチメディアストリームの第一の部分の第二のフレームでのレンダリングを再開する段階を更に含む。
【０００５】
本発明の「１実施の形態」又は「実施の形態」に対する明細書における参照は、実施の形態に関して記載される特定の特徴、構造又は特性が本発明の少なくとも１つの実施の形態に含まれることを意味する。従って、明細書を通して様々な位置に現れる記載「１実施の形態では」、「１実施の形態によれば」は、必ずしも、同じ実施の形態を全て示すものではない。
【０００６】
説明のため、特定の構成及び詳細が本発明の完全な理解を提供するために述べられる。しかし、当業者にとって、本発明の実施の形態が本明細書で提示された特定の詳細なしに実施される場合があることが明らかであろう。さらに、公知の特徴は、本発明を曖昧にしないように省略又は簡略化される場合がある。様々な例は、この記載を通して与えられる場合がある。これらは、本発明の特定の実施の形態の単なる記載にすぎない。本発明の範囲は、与えられた例に限定されない。
【図面の簡単な説明】
【０００７】
【図１】本発明の１実施の形態に係る特別なメディア再生のシナリオの電力の最適化を可能にするシステムのブロック図である。
【図２】通常の再生のシナリオの間の図１のシステムのコンポーネント間でのデータフローを示すメディアパイプラインである。
【図３】本発明の１実施の形態に係る、ビデオプレイバックアプリケーションが別のアプリケーションにより重ね合わせられる再生のシナリオの間に、図１のシステムのコンポーネント間のデータフローを示すメディアパイプラインである。
【図４】本発明の１実施の形態に係る、オーディオ出力がミュートされる再生のシナリオの間に、図１のシステムのコンポーネント間のデータフローを示すメディアパイプラインである。
【図５】通常の再生のシナリオの間の図１のシステムのコンポーネント間の相互作用を示すシーケンスダイアグラムである。
【図６】本発明の１実施の形態に係る、ビデオプレイバックアプリケーションが別のアプリケーションに重ね合わせられる再生のシナリオの間の、図１のシステムのコンポーネント間の相互作用を示すシーケンスダイアグラムである。
【図７】本発明の１実施の形態に係る、オーディオ出力がミュートされる再生のシナリオの間の、図１のシステムのコンポーネント間の相互作用を示すシーケンスダイアグラムである。
【図８】本発明の別の実施の形態に係る、オーディオ出力がミュートされる再生のシナリオの間の、図１のシステムのコンポーネント間の相互作用を示すシーケンスダイアグラムである。
【発明を実施するための形態】
【０００８】
図１は、本発明の１実施の形態に係る、特別なメディア再生のシナリオについて電力の最適化を可能にするシステムのブロック図である。システム１００は、アプリケーションレイヤ１１０及びオペレーティングシステム／ランニングレイヤ１５０を有するソフトウェア環境と、プロセッサ１６０及びメモリ１７０を含むハードウェア環境を有する。システムのユーザ１０２は、メディアアプリケーション１２０及び他のアプリケーション１３０のようなアプリケーションレイヤ１１０におけるプロセッサ１６０で実行されるアプリケーションを使用する。ユーザ１０２は、あるアプリケーションから別のアプリケーションに焦点をシフトし、これによりアクティブなアプリケーションは、アクティブでないアプリケーションに重ね合わせられる。例えば、ユーザ１０２は、メディアアプリケーション１２０を使用してビデオを再生するか、ワードプロセッシングアプリケーションをアクティブにし、これによりビデオアプリケーションを隠す。ユーザ１０２は、ワードプロセッシングアプリケーションにおいて作業している間、オーディオストリームを聞き続けることを選択する場合がある。通常の再生のシナリオでは、ビデオストリームは、ビデオストリームの表示がアクティブではない場合でさえ、オーディオストリームに合わせて復号化され続ける。
【０００９】
図１に示される実施の形態では、ビデオ表示が別のアプリケーションにより重ね合わされる、この再生のシナリオが検出され、システム１００における電力消費を最適化するために使用される。オペレーティングシステム／ランタイム１５０は、電力消費が最適化されるシナリオを検出する。ポリシーデータストア１４０は、ユーザ１０２により設定可能な電力最適化パラメータを記憶する。電力最適化パラメータの１つの例は、ビデオ復号化を中断する電力節約モードに切り替える前に、ビデオプレイバックアプリケーションが別のアプリケーションにより重ね合わせられる時間量である。例えば、ビデオプレイバックアプリケーションが１０秒間だけ別のアプリケーションにより重ねられる場合、ビデオストリームの復号化は、電力を節約するために中断される。電力最適化パラメータの別の例は、オーディオ復号化を中断する電力節約モードへの切り替えの前にオーディオがミュートされる時間量である。
【００１０】
オペレーティングシステム／ランタイム１５０が、ビデオプレイバックアプリケーションが別のアプリケーションにより重ね合わされるか、又はオーディオストリームのミュートのような、電力消費が最適化されるシナリオを検出したとき、オペレーティングシステム／ランタイム１５０は、ポリシーデータストア１４０をチェックして、ポリシーを作動させるかを判定する。あるポリシーの電力最適化パラメータが適合される場合、オペレーティングシステム／ランタイム１５０は、利用可能なオーディオ又はビデオストリームの復号化を中断するようにメディアアプリケーション１２０に通知する。オペレーティングシステム／ランタイム１５０による通知に応答して、メディアアプリケーション１２０は、適用可能なオーディオ又はビデオストリームの復号化を中断する。１実施の形態では、適用可能なオーディオ又はビデオストリームの復号化の中断は、ビットストリームの解析及びレンダリングをオフにすることを含む。
【００１１】
システム１００のハードウェア環境を参照して、プロセッサ１６０は、処理電力をシステム１００に供給するものであって、シングルコアプロセッサ又はマルチコアプロセッサであり、１を超えるプロセッサがシステム１００に含まれる場合がある。プロセッサ１６０は、１以上のシステムバス、通信経路又は媒体（図示せず）を介してシステム１００の他のコンポーネントに接続される。プロセッサ１６０は、オペレーティングシステム／メディアアプリケーション１２０及び他のアプリケーション１３０のようなホストアプリケーションを実行する。
【００１２】
システム１００は、メモリ１７０のようなメモリ装置を更に含む。これらのメモリ装置は、ランダムアクセスメモリ（RAM）及びリードオンリメモリ（ROM）を含む。この開示のため、用語「ROM」は、EPROM（Erasable  Programmable  ROM）、EEPROM（Electrically  Erasable  Programmable  ROM）、フラッシュROM、フラッシュメモリ等のような不揮発性メモリ装置を一般に示すために使用される。これらのメモリ装置は、IDE（Integrated  Drive  Electronics）ハードドライブ、及び／又は、フロプティカルディスク、光ストレージ、テープ、フラッシュメモリ、メモリスティック、デジタルビデオディスク、バイオロジカルストレージ等のような他の装置又はメディアを更に含む。
【００１３】
また、プロセッサ１６０は、ディスプレイコントローラ、SCSI（Small  Computer  System  Interface）コントローラ、ネットワークコントローラ、USB（Universal  Serial  Bus）コントローラ、キーボード及びマウスのような入力装置等のような更なるコンポーネントに通信可能に結合される場合もある。システム１００は、様々なシステムコンポーネントを通信可能に結合するため、メモリコントローラハブ、入力／出力（I/O）コントローラハブ、PCIルートブリッジ等のような１以上のブリッジ又はハブを含む。本明細書で使用されたとき、用語「バス」は、ポイント・ツー・ポイント経路のような共通通信経路を示すために使用される。
【００１４】
システム１００の幾つかのコンポーネントは、バスと通信する（例えばPCIコネクタといった）インタフェースをもつアダプタカードとして実現される場合がある。１実施の形態では、１以上の装置は、プログラマブル又はノンプログラマブルロジックデバイス又はアレイ、特定用途向け集積回路（ASIC）、埋め込みコンピュータ、スマートカード等のようなコンポーネントを使用した、組み込みコントローラとして実現される場合がある。
【００１５】
本明細書で使用されたとき、用語「処理システム」及び「データ処理システム」は、単一のマシン、互いに動作する通信可能に結合されたマシン又はデバイスのシステムを広義に含むことが意図される。例となる処理システムは、限定されるものではないが、分散コンピューティングシステム、スーパーコンピュータ、高性能コンピューティングシステム、コンピューティングクラスタ、メインフレームコンピュータ、ミニコンピュータ、クライアントサーバシステム、パーソナルコンピュータ、ワークステーション、サーバ、ポータブルコンピュータ、ラップトップコンピュータ、タブレット、電話、パーソナルデジタルアシスタント（PDA）、ハンドヘルド装置、オーディオ及び／又はビデオ装置のような娯楽装置、及び他の情報を処理又は伝送する他の装置を含む。
【００１６】
システム１００は、少なくとも部分的に、キーボード、マウス等のような従来の入力装置からの入力により制御されるか、及び／又は、別のマシン、生体フィードバック、又は他の入力源又は信号から受信されたコマンドにより制御される。システム１００は、ネットワークコントローラ、モデム、或いは、他の通信ポート又はカップリングのような、１以上のリモートデータ処理システム（図示せず）への１以上のコネクションを利用する場合がある。
【００１７】
システム１００は、ローカルエリアネットワーク（LAN）、ワイドエリアネットワーク（WAN）、イントラネット、インターネット等のような、物理的なネットワーク及び／又は論理的なネットワークにより他の処理システム（図示せず）に相互接続される。ネットワークを含む通信は、無線周波（RF）、衛星、マイクロ波、IEEE（Institute  of  Electrical  and  Electronics  Engineers）802.11、Bluetooth（登録商標）、光、赤外線、ケーブル、レーザ等を含む、様々な有線及び／又は無線の短距離又は長距離のキャリア及びプロトコルを利用する場合がある。
【００１８】
図２は、通常の再生のシナリオの間の図１のメディアアプリケーションのコンポーネント間のデータフローを示すメディアパイプラインである。メディアソースファイル２１０は、図１のメディアアプリケーション１２０のデマルチプレクサ／スプリッタ２２０コンポーネントにより受信される入力メディアストリームを表す。デマルチプレクサ／スプリッタ２２０は、入力メディアストリームをビデオストリーム２２１とオーディオストリーム２２２に分割する。ビデオストリーム２２１は、ビデオデコーダ２３０への入力として供給され、ビデオデコーダは、ビットストリームを解析及びデコードし、デコードされたビデオビットストリーム２３１をビデオレンダラー２４０に供給し、ビデオレンダラーは、ビデオ出力をレンダリングする。デマルチプレクサ／スプリッタ２２０から、オーディオストリーム２２２は、オーディオデコーダ２５０への入力として供給される。デコードされた出力オーディオストリーム２５１は、ソース装置２６０に供給される。
【００１９】
図３は、本発明の１実施の形態に係る、ビデオプレイバックアプリケーションが別のアプリケーションによりオーバラップされる再生のシナリオの間の、図１のメディアアプリケーションのコンポーネント間のデータフローを示すメディアパイプラインである。メディアソースファイル３１０は、図１のメディアアプリケーション１２０のデマルチプレクサ／スプリッタ３２０コンポーネントにより受信される入力メディアストリームを表す。デマルチプラクサ／スプリッタ３２０は、入力メディアストリームをビデオストリーム３２１とオーディオストリーム３２２に分割する。しかし、ビデオプレイバックアプリケーションは、別のアプリケーションにより重ね合わされているため、デマルチプレクサ／スプリッタ３２０は、ビデオストリーム３２１をビデオデコーダ３３０に供給せず、したがってビデオストリームは、ビデオレンダラー３４０に到達せず、従ってビデオ出力はレンダリングされない。ビデオがデコードされない時間の間、ビデオをデコード及びレンダリングするCPUサイクルを除くことで、有意な電力の節約が可能である。ビデオストリームはデコードされないが、デマルチプレクサ／スプリッタ３２０は、オーディオストリーム３２２をオーディオデコーダ３５０に供給し続ける。デコードされた出力オーディオシステム３５１は、サウンド装置３６０に供給される。
【００２０】
別のアプリケーションにより重ね合わされているビデオプレイバックアプリケーションのシミュレーションは、ビデオストリームを再生する3GBのRAMをもつINTEL（登録商標）Core2Duo（登録商標）2.0GHzで実行され、メディアストリームのビデオストリームは、MPEG4-Part2でエンコードされ、オーディオストリームは、MP3でエンコードされる。オーディオ復号化とビデオ復号化の両者による１分間の再生のシナリオは、オーディオ復号化のみによる１分間の再生のシナリオ（ビデオアプリケーションは、別のアプリケーションにより重ね合わされる）に比較される。CPI（Clocks  Per  Instruction  Retired）における４２％の低減が発見され、消費される電力における比例した節約を生じさせる。
【００２１】
図４は、本発明の１実施の形態に係る、オーディオ出力がミュートされる再生のシナリオの間の、図１のメディアアプリケーションのコンポーネント間のデータフローを示すメディアパイプラインである。メディアソースファイル４１０は、図１のメディアアプリケーション１２０のデマルチプレクサ／スプリッタ４２０のコンポーネントにより受信される入力メディアストリームを表す。デマルチプレクサ／スプリッタ４２０は、入力メディアストリームをビデオストリーム４２１及びオーディオストリーム４２２に分割する。ビデオストリーム４２１は、ビデオデコーダ４３０への入力として供給され、ビデオデコーダは、ビットストリームを解析及びデコードし、デコードされたビットストリーム４３１をビデオレンダラー４４０に供給し、ビデオレンダラーは、ビデオ出力をレンダリングする。しかし、デマルチプレクサ／スプリッタ４２０は、オーディオデコーダ４５０への入力としてオーディオストリーム４２２を供給せず、出力オーディオストリームは、サウンド装置４６０に供給されない。有意な電力の節約は、オーディオ出力をデコード及びレンダリングするため、CPUサイクルをバイパスすることで達成される。
【００２２】
図５は、通常の再生のシナリオの間の図１のメディアアプリケーションのコンポーネント間の相互作用を示すシーケンスダイアグラムである。アクション５.１では、入力メディアストリームは、メディアプレーヤ５１０に供給される。ビデオクリップの受信に応答して、アクション５.２では、メディアプレーヤ５１０はオーディオデコーダ５１０を呼び出し、ビットストリームを供給する。アクション５.３では、オーディオデコーダ５２０は、ビットストリームをデコードし、オーディオストリーム出力をスピーカ５５０でレンダリングする。アクション５.４では、メディアプレーヤ５１０はビデオデコーダ５３０を呼び、ビデオストリームを供給する。アクション５.５では、ビデオデコーダ５３０は、ビデオ出力ストリームをデコードして、ディスプレイ５６０でレンダリングする。このアクティビティの間、OSサービス５４０は、ポリシーがアクティブであるときに電力消費量が最適化されるシナリオをモニタリングする。図５におけるステップは、ビデオクリップにおける全てのフレームについて繰り返される。オーディオ及びビデオ復号化及びレンダリングのアクションは、並列に行われる場合があり、例えばアクション５.２及び５.３は、アクション５.４及び５.５と並列に行われる場合がある。さらに、幾つかのオーディオ又はビデオフレームは、他のオーディオ又はビデオフレームがレンダリングされているのと同時にデコードされ、例えば、ステップ５.２で、幾つかのフレームは、ステップ５.３（又は５.５）で他のフレームがレンダリングされるのと同時にデコードされる。
【００２３】
図６は、本発明の１実施の形態に係る、ビデオプレイバックアプリケーションが別のアプリケーションにより重ね合わせられる再生のシナリオの間の図１のメディアアプリケーションのコンポーネント間の相互作用を示すシーケンスダイアグラムである。アクション６.１では、入力メディアストリームは、メディアプレーヤ６１０に供給される。アクション６.２では、ビデオクリップの受信に応答して、メディアプレーヤ６１０は、オーディオデコーダ６２０を呼び出し、ビットストリームを供給する。アクション６.３では、オーディオデコーダ６２０は、ビットストリームをデコードし、オーディオストリーム出力をスピーカ６５０にレンダリングする。アクション６．４では、メディアプレーヤ６１０は、ビデオデコーダ６３０を呼び出し、ビデオストリームを供給する。アクション６.５では、ビデオデコーダ６３０は、ビデオ出力ストリームをデコードして、ディスプレイ６６０でレンダリングする。全てのこのアクティビティの間、OSサービス６４０は、電力の消費が最適化されるシナリオをモニタする。このポイントまで、電力消費を最適化する機会が生じないので、通常の再生のシナリオが続く。図６におけるステップは、メディアクリップにおける全てのフレームについて実行される。図におけるオーディオ及びビデオのステップは並列して行われる。
【００２４】
アクション６.６では、OSサービス６４０は、ビデオプレイバックアプリケーションが別のアプリケーションにより重ね合わせられるシナリオを識別する。アクション６.７では、OSサービス６４０は、イベントPLAYBACK_APPLICATION_LOST_FOCUSをメディアプレーヤ６１０に送出する。イベントの受信に応じて、メディアプレーヤ６１０は、電力最適化モードに入るため、ビデオストリームの復号化を中断する。アクション６.８では、メディアプレーヤ６１０は、オーディオストリームを復号化のためにオーディオデコーダ６２０に送出し続け、アクション６.９では、オーディオデコーダ６２０は、出力オーディオストリームをスピーカ６５０でレンダリングする。ビデオ復号化が再び必要とされるシナリオをOSサービス６４０が識別するまで、オーディオのみの再生が継続する。
【００２５】
アクション６.１０では、ユーザは、ビデオプレイバックアプリケーションへの焦点を回復する。このイベントの検出に応答して、アクション６.１１において、OSサービス６４０は、イベントPLAYBACK_APPLICATION_FOCUS_REGAINEDをメディアプレーヤ６１０に送出する。イベントの受信に応答して、メディアプレーヤ６１０は、CurrentFrameパラメータによりGetReferenceFrame機能を呼び出すことで、オーディオ出力において再生されている現在のフレームを識別する。現在アクティブなオーディオフレームは、現在のビデオフレームを復号化してオーディオ再生と同期したビデオ再生を配置するため、対応するビデオフレーム及び関連される参照フレームを識別するために使用される。アクション６.１３では、全ての参照フレームは、メディアプレーヤ６１０から復号化のためにビデオデコーダ６３０に送出される。現在のオーディオフレームに対応する参照フレームを識別するため、全ての参照フレームが復号化される。現在のビデオフレームから開始するフレームのみが表示される。全ての参照フレームが復号化される必要があるとしても、制限された数の参照フレームのみが利用可能である。例えば、H.264規格の下で、毎秒２４フレームで実行するビデオクリップが参照フレームをデコードするために１秒未満を必要とするように、最大で１６の参照フレームが利用可能である。
【００２６】
アクション６.１４では、オーディオストリームとビデオストリームが同期されたからには、焦点が当てられたビデオプレイバックアプリケーション及びミュートされていないオーディオとにより通常の再生が再開される。アクション６.１４では、メディアプレーヤ６１０は、オーディオストリームをオーディオデコーダ６２０に供給し、アクション６.１５で、オーディオデコーダは、オーディオストリームをデコードし、スピーカ６５０でレンダリングする。アクション６.１６では、メディアプレーヤ６１０は、ビデオストリームを復号化のためにビデオデコーダ６３０に送出し、アクション６.１７では、ビデオデコーダ６３０は、ビデオストリームをデコードし、ディスプレイ６６０をレンダリングする。
【００２７】
図７は、本発明の１実施の形態に係る、オーディオ出力がミュートされる再生のシナリオの間の、図１のメディアアプリケーションのコンポーネント間の相互作用を示すシーケンスダイアグラムである。アクション７.１では、入力メディアストリームは、コマンドPlayClip(NoOfFrames)を介してメディアプレーヤ７１０に供給される。ビデオクリップの受信に応答して、アクション７.２では、メディアプレーヤ７１０は、オーディオデコーダ７２０を呼び出し、ビットストリームを供給する。アクション７.３では、オーディオデコーダ７２０は、ビットストリームをデコードして、オーディオストリーム出力をスピーカ７５０でレンダリングする。アクション７.４では、メディアプレーヤ７１０は、ビデオデコーダ７３０を呼び出し、ビデオストリームを供給する。アクション７.５では、ビデオデコーダ７３０は、ビデオ出力ストリームをデコードし、ディスプレイ７６０でレンダリングする。全てのこのアクティビティの間、OSサービス７４０は、電力の消費を最適化することができるシナリオをモニタする。このポイントまで、電力の消費を最適化する機会が生じないので、通常の再生のシナリオが続く。
【００２８】
アクション７.６では、サービス７４０は、オーディオ再生がミュートされるシナリオを識別する。アクション７.７では、OSサービス７４０は、イベントAUDIO_MUTEDをメディアプレーヤ７１０に送出する。イベントの受信に応答して、メディアプレーヤ７１０は、電力最適化モードに入るため、オーディオストリームの復号化を中断する。アクション７.８では、メディアプレーヤ７１０は、ビデオストリームを復号化のためにビデオデコーダ７３０に送出し続け、アクション７.９では、ビデオデコーダ７３０は、出力ビデオストリームをディスプレイ７６０でレンダリングする。オーディオ復号化が再び必要とされるシナリオをOSサービス７４０が識別するまで、ビデオのみの再生が継続する。
【００２９】
アクション７.１０では、ユーザは、オーディオ再生のミュートを解除する。このイベントの検出に応答して、アクション７.１１では、OSサービス７４０は、イベントAUDIO_UNMUTEDをメディアプレーヤ７１０に送出する。イベントの受信に応答して、メディアプレーヤ７１０は、CurrentFrameパラメータによりGetReferenceFrame機能を呼び出すことで、ビデオ出力で再生されている現在のフレームを識別する。現在アクティブなビデオフレーム及びオーディオのミュートを解除する時間は、対応するオーディオ参照フレームを識別して、ビデオの再生をオーディオの再生に同期させるために使用される。アクション７.１３では、全ての参照フレームは、メディアプレーヤ７１０から復号化のためにオーディオデコーダ７３０に送出される。全ての参照フレームは、現在のオーディオフレームに対応する参照フレームを識別するために復号化される。
【００３０】
アクション７.１４では、オーディオストリームとビデオストリームとが同期されたからには、焦点が当てられるビデオプレイバックアプリケーションとミュートされていないオーディオとにより通常の再生が再開される。アクション７.１４では、メディアプレーヤ７１０は、オーディオストリームをオーディオデコーダ７２０に供給し、アクション７.１５で、オーディオデコーダは、オーディオストリームをデコードして、スピーカ７５０でレンダリングする。アクション７.１６で、メディアプレーヤ７１０は、ビデオストリームを復号化のためにビデオデコーダ７３０に送出し、アクション７.１７で、ビデオデコーダ７３０は、ビデオストリームをデコードし、ディスプレイ７６０でレンダリングする。
【００３１】
図８は、本発明の別の実施の形態に係る、オーディオ出力がミュートされた再生のシナリオの間の図１のシステムのコンポーネント間の相互作用を示すシーケンスダイアグラムである。アクション８.１では、入力メディアストリームは、コマンドPlayVideoClip(NoOfFrames)を介してメディアプレーヤ８１０に供給される。アクション８.２では、ビデオクリップの受信に応答して、メディアプレーヤ８１０は、オーディオデコーダ８２０を呼び出し、ビットストリームを供給する。アクション８.３では、オーディオデコーダ８２０は、ビットストリームをデコードし、オーディオストリーム出力をスピーカ８５０でレンダリングする。アクション８.４では、メディアプレーヤ８１０は、ビデオデコーダ８３０を呼び出し、ビデオストリームを供給する。アクション８.５では、ビデオデコーダ８３０は、ビデオ出力ストリームをデコードし、ディスプレイ８６０でレンダリングする。ポリシーがアクティブであるときにこのアクティビティの全ての間、OSサービス８４０は、電力消費が最適化されるシナリオをモニタする。このポイントまで、電力消費を最適化する機会が生じないので、通常の再生シナリオが続く。
【００３２】
アクション８.６では、OSサーバ８４０は、オーディオ再生がミュートされるシナリオを識別する。アクション８.７では、OSサービス８４０は、イベントAUDIO_MUTEDをメディアプレーヤ８１０に送出する。イベントの受信に応答して、メディアプレーヤ８１０は、電力最適化モードに入るため、オーディオストリームの復号化を中断する。アクション８.８では、メディアプレーヤ８１０は、ビデオストリームを復号化のためにビデオデコーダ８３０に送出し続け、アクション８.９では、ビデオデコーダ８３０は、出力ビデオストリームをディスプレイ８６０でレンダリングする。オーディオ復号化が再び必要とされるシナリオをOSサービス８４０が識別するまで、ビデオのみの再生が継続する。
【００３３】
アクション８.１０では、ユーザは、オーディオ再生のミュートを解除する。このイベントの検出に応答して、アクション８.１１では、OSサービス８４０は、イベントAUDIO_UNMUTEDをメディアプレーヤ８１０に送出する。焦点が当てられたビデオプレイバックアプリケーションとミュートされていないオーディオとにより通常の再生が再開する。アクション８.１２では、メディアプレーヤ８１０は、オーディオストリームをオーディオデコーダ８２０に供給し、アクション８.１３では、オーディオデコーダは、オーディオストリームをデコードし、スピーカ８５０でレンダリングする。アクション８.１４では、メディアプレーヤ８１０は、ビデオストリームを復号化のためにビデオデコーダ８３０に送出し、アクション８.１５では、ビデオデコーダ８３０は、ビデオストリームをデコードし、ディスプレイ８６０でレンダリングする。
【００３４】
本明細書で記載された技術は、オーディオ又はビデオ復号化が回避される特別な再生のシナリオを認識することで、電力節約が達成されるのを可能にする。結果として得られる電力の節約は、マルチメディアプレゼンテーションのユーザの楽しみを妥協することなしに、携帯装置のバッテリ寿命を延長する。
【００３５】
本明細書で開示されるメカニズムの実施の形態は、ハードウェア、ソフトウェア、ファームウェア、係る実現アプローチの組み合わせで実現される場合がある。本発明の実施の形態は、少なくとも１つのプロセッサ、（揮発性及び不揮発性メモリ及び／又はストレージエレメントを含む）データストレージシステム、少なくとも１つの入力装置、少なくとも１つの出力装置を含むプログラマブルシステムで実行するコンピュータプログラムとして実現される場合がある。
【００３６】
プログラムコードは、本明細書で記載された記載を実行し、出力情報を生成するために適用される。また、本発明の実施の形態は、本発明の動作を実行する命令を含むか、又は本明細書で記載された構造、回路、装置、プロセッサ及び／又はシステムの特徴を定義するHDLのようなデザインデータを含むコンピュータアクセス可能な記録媒体を含む。また、係る実施の形態は、プログラムプロダクトと呼ばれる。
【００３７】
係るコンピュータアクセス可能な記録媒体は、限定されることなしに、ハードディスク、フロプティカルディスクを含む何れかのタイプのディスク、光ディスク、コンパクトディスクリードオンリメモリ（CD-ROM）、コンパクトディスクリライタブル（CD-RW）、及び光磁気ディスク、リードオンリメモリ（ROM）のような半導体装置、ダイナミックランダムアクセスメモリ（DRAM）のようなランダムアクセスメモリ（RAM）、スタティックランダムアクセスメモリ（SRAM）、消去可能なプログラマブルリードオンリメモリ（EPROM）、フラッシュプログラマブルメモリ（FLASH）、電気的に消去可能なプログラマブルリードオンリメモリ（EEPROM）、磁気又は光カード、又は電子的な命令を記録するために適した何れかの他のタイプの記録媒体を含めて、コンピュータ又は装置により製造又は形成される有形の粒子の配置を含む場合がある。
【００３８】
出力情報は、公知のやり方で１以上の出力装置に適用される場合がある。この適用のため、処理システムは、例えばデジタルシグナルプロセッサ（DSP）、マイクロコントローラ、特定用途向け集積回路（ASIC）のようなプロセッサを有するシステムを含む。
【００３９】
プログラムは、処理システムと通信するため、高水準手続又はオブジェクト指向プログラミング言語で実現される。また、プログラムは、望まれる場合、アセンブリ言語又はマシン言語で実現される場合がある。実際、本明細書で記載されたメカニズムは、特定のプログラミング言語に制限されるものではない。何れのケースであっても、言語は、コンパイル言語又はインタープリタ言語である場合がある。
【００４０】
本明細書では、特別のメディア再生のシナリオの間に電力の消費を最適化する方法及びシステムの実施の形態が提示された。本発明の特定の実施の形態が図示及び記載されたが、様々な変形、バリエーション、及び変更が特許請求の範囲から逸脱することなしに行われることが当業者にとって明らかであろう。従って、当業者であれば、その広義の態様において、本発明から逸脱することなしに変形及び変更が行われることを認識されるであろう。特許請求の範囲は、本発明の範囲及び精神に含まれる全ての係る変形、バリエーション及び変更をそれらの範囲において包含するものである。
【図１】
2014505929.tif 000003
【図２】
2014505929.tif 000004
【図３】
2014505929.tif 000005
【図４】
2014505929.tif 000006
【図５】
2014505929.tif 000007
【図６】
2014505929.tif 000008
【図７】
2014505929.tif 000009
【図８】
2014505929.tif 000010
【国際調査報告】
2014505929.tif 000011
2014505929.tif 000012