(57)【要約】【課題】高精細映像の再生に必要なパフォーマンスの確保を適切に行うことを可能とする情報処理装置を提供する。【解決手段】パフォーマンス監視アプリケーション２００のＶＲＡＭ使用状況検出モジュール２０１は、ＶＲＡＭ１４Ａの空き容量を検出し、プロセス制限モジュール２０２は、ＶＲＡＭ使用状況検出モジュール２０１によって検出された空き容量が予め定められた値以下となっていないかどうかを調べる。もし、予め定められた値以下となっていたら、プロセス制限モジュール２０２は、ＶＲＡＭ１４Ａを使用する関数１０１群を使用中のプログラムをＯＳ１００に問い合わせ、回答されたプログラムの中のＨＤ  ＤＶＤプレーヤアプリケーション３００以外の他のプログラムの停止をＯＳ１００に要求する。【選択図】      図２
2008135979.tif 000002
【特許請求の範囲】
【請求項１】
表示データを格納するＶＲＡＭと、
前記ＶＲＡＭの空き容量を検出する検出手段と、
圧縮符号化された動画像データを再生するデコーダの稼働時、前記検出手段により検出される前記ＶＲＡＭの空き容量が予め定められた値以下となった場合に、前記デコーダ以外の稼働を制限するための制御を行う制御手段と、
を具備することを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記ＶＲＡＭを使用中のプログラムを検出する手段を有し、前記デコーダ以外で稼働中のプログラムのうち、前記ＶＲＡＭを使用中のプログラムを停止させることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記制御手段は、前記デコーダ以外で稼働中のプログラムを停止させることを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記制御手段は、前記デコーダ以外のプログラムの起動を禁止することを特徴とする請求項３記載の情報処理装置。
【請求項５】
スクリプトを含む圧縮符号化された動画像データを再生する、前記スクリプトを解析するためのスクリプトエンジンを備えたデコーダと、
前記デコーダが前記スクリプトエンジンによりスクリプトを解析する期間中、前記デコーダ以外の稼働を制限するための制御を行う制御手段と、
を具備することを特徴とする情報処理装置。
【請求項６】
前記制御手段は、前記デコーダ以外で稼働中のプログラムを停止させることを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記制御手段は、前記デコーダ以外のプログラムの起動を禁止することを特徴とする請求項６記載の情報処理装置。
【請求項８】
表示データを格納するＶＲＡＭを具備するコンピュータを、
前記ＶＲＡＭの空き容量を検出する検出手段、
圧縮符号化された動画像データを再生するデコーダの稼働時、前記検出手段により検出される前記ＶＲＡＭの空き容量が予め定められた値以下となった場合に、前記デコーダ以外の稼働を制限するための制御を行う制御手段、
として動作させるためのプログラム。
【請求項９】
前記制御手段は、前記ＶＲＡＭを使用中のプログラムを検出する手段を有し、前記デコーダ以外で稼働中のプログラムのうち、前記ＶＲＡＭを使用中のプログラムを停止させることを特徴とする請求項８記載のプログラム。
【請求項１０】
前記制御手段は、前記デコーダ以外で稼働中のプログラムを停止させることを特徴とする請求項８記載のプログラム。
【請求項１１】
前記制御手段は、前記デコーダ以外のプログラムの起動を禁止することを特徴とする請求項１０記載のプログラム。
【請求項１２】
スクリプトを含む圧縮符号化された動画像データを再生する、前記スクリプトを解析するためのスクリプトエンジンを備えたデコーダを具備するコンピュータを、
前記デコーダが前記スクリプトエンジンによりスクリプトを解析する期間中、前記デコーダ以外の稼働を制限するための制御を行う制御手段、
として動作させるためのプログラム。
【請求項１３】
前記制御手段は、前記デコーダ以外で稼働中のプログラムを停止させることを特徴とする請求項１２記載のプログラム。
【請求項１４】
前記制御手段は、前記デコーダ以外のプログラムの起動を禁止することを特徴とする請求項１３記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばＨＤ（High Definition）規格の高精細映像を取り扱うパーソナルコンピュータ等に適用して好適なパフォーマンス管理技術に関する。
【背景技術】
【０００２】
近年、ＨＤ（High Definition）規格の高精細映像を再生するプレーヤをパーソナルコンピュータ上で動作するソフトウェアとして実現するための開発が進められている。高精細映像の再生は、非常に負荷が高い処理であり、その一方で、パーソナルコンピュータでは、種々のソフトウェアが並行して動作する可能性がある。
【０００３】
また、例えばプロセッサの処理能力などの限られた資源を有効活用するための仕組み等もこれまで種々提案されている（例えば特許文献１等参照）。
【特許文献１】特開２００４−７８８８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ＨＤ規格の高精細映像を再生するにあたっては、いわゆるコマ落ち等の防止を第１に考慮しなければならない。従って、プロセッサの負荷を監視するといったすべてのソフトウェアに共通の画一的な手法によるのではなく、このコマ落ち等を招くおそれのある事象の発生を監視するといった、ＨＤ規格の高精細映像を再生するソフトウェアに特有の手法によるパフォーマンス管理が求められる。換言すれば、例えばプロセッサが高負荷状態にあるからといって、コマ落ち等を招くおそれのないソフトウェアの動作までを規制するといったことは行うべきではない。
【０００５】
この発明は、このような事情を考慮してなされたものであり、高精細映像の再生に必要なパフォーマンスの確保を適切に行うことを可能とする情報処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
前述の目的を達成するために、この発明の情報処理装置は、表示データを格納するＶＲＡＭと、前記ＶＲＡＭの空き容量を検出する検出手段と、圧縮符号化された動画像データを再生するデコーダの稼働時、前記検出手段により検出される前記ＶＲＡＭの空き容量が予め定められた値以下となった場合に、前記デコーダ以外の稼働を制限するための制御を行う制御手段と、を具備することを特徴とする。
【０００７】
また、この発明の情報処理装置は、スクリプトを含む圧縮符号化された動画像データを再生する、前記スクリプトを解析するためのスクリプトエンジンを備えたデコーダと、前記デコーダが前記スクリプトエンジンによりスクリプトを解析する期間中、前記デコーダ以外の稼働を制限するための制御を行う制御手段と、を具備することを特徴とする。
【発明の効果】
【０００８】
この発明によれば、高精細映像の再生に必要なパフォーマンスの確保を適切に行うことが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の実施形態を説明する。
【００１０】
（第１実施形態）
まず、本発明の第１実施形態について説明する。図１には、この第１実施形態に係る情報処理装置の構成例が示されている。この情報処理装置は、例えばバッテリ駆動可能なノートブック型パーソナルコンピュータ等として実現されている。
【００１１】
図１に示すように、このコンピュータは、ＣＰＵ１１、ノースブリッジ１２、主メモリ１３、グラフィックスコントローラ１４、ＶＲＡＭ１４Ａ、ＬＣＤ１５、サウスブリッジ１６、ＢＩＯＳ−ＲＯＭ１７、ＨＤＤ１８、ＨＤ  ＤＶＤ１９、エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）２０、キーボード２１、タッチパッド２２およびネットワークコントローラ２３等を備えている。
【００１２】
ＣＰＵ１１は、本コンピュータ内の各部の動作を制御するプロセッサである。ＣＰＵ１１は、ＨＤＤ１８から主メモリ１３にロードされるオペレーティングシステム（ＯＳ）１００や各種アプリケーションプログラムを実行する。この各種アプリケーションプログラムの中には、後述するパフォーマンス監視アプリケーション２００およびＨＤ  ＤＶＤプレーヤアプリケーション３００が含まれている。また、ＣＰＵ１１は、ＢＩＯＳ−ＲＯＭ１７に格納されたＢＩＯＳも実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００１３】
ノースブリッジ１２は、ＣＰＵ１１のローカルバスとサウスブリッジ１６との間を接続するブリッジデバイスである。また、ノースブリッジ１２は、バスを介してグラフィックスコントローラ１４との通信を実行する機能を有しており、さらに、主メモリ１３を制御するメモリコントローラも内蔵されている。
【００１４】
グラフィックスコントローラ１４は、本コンピュータのディスプレイモニタとして使用されるＬＣＤ１５を制御する表示コントローラである。そして、このグラフィックスコントローラ１４によるグラフィックス処理用のメモリとして、ＶＲＡＭ１４Ａが設けられている。
【００１５】
サウスブリッジ１６は、ＰＣＩバスおよびＬＰＣバスに接続された各種デバイスを制御するコントローラである。また、このサウスブリッジ１６には、ＢＩＯＳ−ＲＯＭ１７、ＨＤＤ１８およびＨＤ  ＤＶＤ１９が直接的に接続され、これらを制御する機能も有している。
【００１６】
ＥＣ／ＫＢＣ２０は、電源管理のためのエンベデッドコントローラと、キーボード２１およびタッチパッド２２などを制御するキーボードコントローラとが集積された１チップマイクロコンピュータである。そして、ネットワークコントローラ２３は、外部装置との間の例えばＬＡＮ経由の通信を実行する。
【００１７】
図２は、このようなハードウエア構成の本コンピュータ上で動作する、ＨＤ  ＤＶＤメディアに格納された高精細映像の再生に関わるソフトウェア構成例を示す図である。
【００１８】
ＨＤ  ＤＶＤプレーヤアプリケーション３００は、ＨＤ  ＤＶＤ１９に挿入されたＨＤ  ＤＶＤメディアに圧縮符号化されて格納された動画像データを再生するプレーヤとして本コンピュータを動作させるためのプログラムである。ＨＤ  ＤＶＤメディアには、ＨＤ規格の高精細映像が格納されるので、この動画像データの再生時には、高レベルでのパフォーマンス確保が要求される。より具体的には、いわゆるコマ落ち等を発生させることがないように、ＶＲＡＭ１４Ａの一定量以上の空き容量の確保が要求される。そして、このパフォーマンス確保のために、本コンピュータでは、パフォーマンス監視アプリケーション２００を、ＨＤ  ＤＶＤプレーヤアプリケーション３００の起動と同期させて起動・動作させる。
【００１９】
ＨＤ  ＤＶＤプレーヤアプリケーション３００およびパフォーマンス監視アプリケーション２００の双方とも、ＯＳ１００の配下で動作するプログラムであり、ＨＤ  ＤＶＤプレーヤアプリケーション３００は、再生した動画像データの表示をＯＳ１００に依頼してＬＣＤ１５への表示を実施する。ＯＳ１００は、ＶＲＡＭ１４Ａを使用する複数の関数群１０１と、グラフィックスコントローラ１４を駆動制御する表示ドライバ１０２とを含む各種モジュールを具備している。ＨＤ  ＤＶＤプレーヤアプリケーション３００からの動画像データの表示依頼は、所定の関数１０１が呼び出されることで実施され、呼び出された関数１０１は、表示ドライバ１０２経由でグラフィックスコントローラ１４に当該動画像データの描画を（ＶＲＡＭ１４Ａを使って）行わせてＬＣＤ１５に表示させる。
【００２０】
パフォーマンス監視アプリケーション２００は、ＶＲＡＭ使用状況検出モジュール２０１およびプロセス制限モジュール２０２を有している。ＶＲＡＭ使用状況検出モジュール２０１は、例えば一定周期毎に、ＯＳ１００の表示ドライバ１０２経由でＶＲＡＭ１４Ａの空き容量をグラフィックスコントローラ１４に問い合わせる。
【００２１】
この問い合わせに対する回答は、ＶＲＡＭ使用状況検出モジュール２０１からプロセス制限モジュール２０２にもたらされる。そして、もし、ＶＲＡＭ１４Ａの空き容量が予め定められた値以下となっていたら、いわゆるコマ落ち等を招くおそれのある事象が発生したとして、プロセス制限モジュール２０２は、ＨＤ  ＤＶＤプレーヤアプリケーション３００以外でＶＲＡＭ１４Ａを使用する他のプログラムを停止させる。これにより、パフォーマンス監視アプリケーション２００は、高精細映像の再生に必要なパフォーマンスを確保する。
【００２２】
プロセス制限モジュール２０２は、ＯＳ１００が具備する種々の関数の中で、ＶＲＡＭ１４Ａを使用する関数１０１群を予め把握しており、まず、それらの関数群１０１を使用中のプログラムをＯＳ１００に問い合わせる。そして、この問い合わせに対する回答をＯＳ１００から得たら、プロセス制限モジュール２０２は、今度は、この回答されたプログラムの中のＨＤ  ＤＶＤプレーヤアプリケーション３００以外、つまり（関数群１０１を介して）ＶＲＡＭ１４Ａを使用中の他のプログラムの停止をＯＳ１００に要求する。これにより、高精細映像の描画に必要なＶＲＡＭ１４ＡをＨＤ  ＤＶＤプレーヤアプリケーション３００に占有させてコマ落ち等を防止することができる。
【００２３】
図３は、この第１実施形態のコンピュータの高精細映像の再生に関わるパフォーマンス管理の動作手順を示すフローチャートである。
【００２４】
パフォーマンス監視アプリケーション２００のＶＲＡＭ使用状況検出モジュール２０１は、ＶＲＡＭ１４Ａの空き容量を検出する（ステップＡ１）。一方、パフォーマンス監視アプリケーション２００のプロセス制限モジュール２０２は、ＶＲＡＭ使用状況検出モジュール２０１によって検出された空き容量が予め定められた値以下となっていないかどうかを調べる（ステップＡ２）。
【００２５】
もし、予め定められた値以下となっていたら（ステップＡ２のＹＥＳ）、プロセス制限モジュール２０２は、ＶＲＡＭ１４Ａを使用する関数１０１群を使用中のプログラムをＯＳ１００に問い合わせ（ステップＡ３）、回答された他のプログラムの停止をＯＳ１００に要求する（ステップＡ４）。
【００２６】
ところで、ここでは、ＶＲＡＭ１４Ａを使用中の他のプログラムを停止するパフォーマンス管理手法を説明したが、仕様によっては、ＶＲＡＭ１４Ａの使用有無に関わらずに他のすべてのプログラムを停止するように変更することも可能である。この場合でも、例えばＣＰＵ１１が高負荷状態となっても、ＶＲＡＭ１４Ａの空き容量が十分である場合、他のプログラムの停止を行わないで済む等の適切なパフォーマンス管理が実現されることになる。さらに、他のすべてのプログラムの起動を禁止する要求をＯＳ１００に依頼可能であるならば、そのように変更しても良い。
【００２７】
（第２実施形態）
次に、本発明の第２実施形態について説明する。
【００２８】
ＨＤ  ＤＶＤ規格の高精細映像では、主映像のほか、この主映像上に重ね合わされた状態で表示される副映像を複数もつことができ、この副映像用としてグラフィックスデータを利用することができる。グラフィックスデータは、例えばメニューオブジェクトのような操作ガイダンス等を表示するための各種データから構成されている。そして、このグラフィックスデータの再生を制御するために、ＸＭＬのようなマークアップ言語によって記述されているスクリプトが用意される。そのため、ＨＤ  ＤＶＤプレーヤは、スクリプトを解析するスクリプトエンジンの搭載が必須である。
【００２９】
ＨＤ  ＤＶＤプレーヤをソフトウェアとして実現すると、このスクリプトエンジンによるスクリプトの解析時に、高レベルでのパフーマンス確保が要求されることになる。そこで、この第２実施形態では、ＨＤ  ＤＶＤプレーヤアプリケーション３００がスクリプトの解析を開始したら、パフォーマンス監視アプリケーション２００が他のプログラムを停止させるように動作する。
【００３０】
図４は、この第２実施形態のコンピュータ上で動作する、ＨＤ  ＤＶＤメディアに格納された高精細映像の再生に関わるソフトウェア構成例を示す図である。
【００３１】
図４に示すように、ＨＤ  ＤＶＤプレーヤアプリケーション３００は、スクリプトを解析するためのスクリプトエンジン３０１を有している。スクリプトエンジン３０１は、スクリプトの解析開始時および解析終了時に、その旨をパフォーマンス監視アプリケーション２００のプロセス制限モジュール２０２に通知する。
【００３２】
スクリプトの解析開始を通知されると、プロセス制限モジュール２０２は、稼働中のプログラムをＯＳ１００に問い合わせ、この問い合わせに対する回答をＯＳ１００から得たら、この回答されたプログラムの中のＨＤ  ＤＶＤプレーヤアプリケーション３００以外の他のプログラムの停止をＯＳ１００に要求する。これにより、スクリプトの解析に必要なＣＰＵ１１の能力をＨＤ  ＤＶＤプレーヤアプリケーション３００に占有させることができる。
【００３３】
図５は、この第２実施形態のコンピュータの高精細映像の再生に関わるパフォーマンス管理の動作手順を示すフローチャートである。
【００３４】
ＨＤ  ＤＶＤプレーヤアプリケーション３００のスクリプトエンジン３０１がスクリプトの解析を開始すると（ステップＢ１）、パフォーマンス監視アプリケーション２００のプロセス制限モジュール２０２は、稼働中のプログラムをＯＳ１００に問い合わせる（ステップＢ２）。そして、プロセス制限モジュール２０２は、回答された他のプログラムの停止をＯＳ１００に要求する（ステップＢ３）。
【００３５】
なお、前述の第１実施形態と同様、この第２実施形態のコンピュータにおいても、他のすべてのプログラムの起動を禁止する要求をＯＳ１００に依頼可能であるならば、そのように変更することは当然に可能である。
【００３６】
以上のように、本発明によれば、高精細映像の再生に必要なパフォーマンスの確保を適切に行うことが可能となる。
【００３７】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００３８】
【図１】この発明の第１実施形態に係る情報処理装置（コンピュータ）の構成例を示す図
【図２】同第１実施形態のコンピュータ上で動作する、ＨＤ  ＤＶＤメディアに格納された高精細映像の再生に関わるソフトウェア構成例を示す図
【図３】同第１実施形態のコンピュータの高精細映像の再生に関わるパフォーマンス管理の動作手順を示すフローチャート
【図４】同第２実施形態のコンピュータ上で動作する、ＨＤ  ＤＶＤメディアに格納された高精細映像の再生に関わるソフトウェア構成例を示す図
【図５】同第２実施形態のコンピュータの高精細映像の再生に関わるパフォーマンス管理の動作手順を示すフローチャート
【符号の説明】
【００３９】
１１…ＣＰＵ、１２…ノースブリッジ、１３…主メモリ、１４…グラフィックスコントローラ、１４Ａ…ＶＲＡＭ、１５…ＬＣＤ、１６…サウスブリッジ、１７…ＢＩＯＳ−ＲＯＭ、１８…ＨＤＤ、１９…ＨＤ  ＤＶＤ、２０…エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）、２１…キーボード、２２…タッチパッド、２３…ネットワークコントローラ、１００…オペレーティングシステム（ＯＳ）、１０１…関数群、１０２…表示ドライバ、２００…パフォーマンス監視アプリケーション、２０１…ＶＲＡＭ使用状況検出モジュール、２０２…プロセス制限モジュール、３００…ＤＶＤプレーヤアプリケーション、３０１…スクリプトエンジン。
【図１】
2008135979.tif 000003
【図２】
2008135979.tif 000004
【図３】
2008135979.tif 000005
【図４】
2008135979.tif 000006
【図５】
2008135979.tif 000007