(57)【要約】【課題】動画再生時におけるシステムの状態に応じて画質改善のための画質処理を最適なものに自動的に切り替えることができるようにする。【解決手段】主メモリ１１３は、各種アプリケーションプログラムを記憶する。各種アプリケーションプログラムは動画像データを再生するための動画再生アプリケーションプログラム２０１を含む。このプログラム２０１は、動画像の画質を改善する画質処理のための当該画質処理の処理量を切り替え可能な画質改善ルーチンを有する。ＣＰＵ１１１は、動画再生アプリケーションプログラム２０１を含む複数のアプリケーションプログラムを並行して実行可能である。負荷検出部はＣＰＵ１１１の負荷量を検出する。選択部は、画質改善ルーチンに従って実行される画質処理に最適な処理量を、負荷検出部によって検出されたＣＰＵ１１１の負荷量を含むシステム状態に応じて選択する。【選択図】図２
2007013315.tif 000002
【特許請求の範囲】
【請求項１】
動画像データを再生する情報処理装置において、
動画像データを再生するための動画再生アプリケーションプログラムであって、動画像の画質を改善する画質処理のための当該画質処理の処理量を切り替え可能な画質改善ルーチンを有する動画再生アプリケーションプログラムを含む各種アプリケーションプログラムを記憶するメモリと、
前記動画再生アプリケーションプログラムを含む複数のアプリケーションプログラムを並行して実行可能なＣＰＵと、
前記ＣＰＵの負荷量を検出する負荷検出手段と、
前記画質改善ルーチンに従って実行される画質処理に最適な処理量を、前記負荷検出手段によって検出された前記ＣＰＵの負荷量を含むシステム状態に応じて選択する選択手段と
を具備することを特徴とする情報処理装置。
【請求項２】
前記選択手段は、前記ＣＰＵの負荷量が多いほど前記処理量が少なくなるように、前記画質処理に最適な処理量を選択することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記情報処理装置の電源の状態を検出する電源状態検出手段をさらに具備し、
前記システム状態は、前記電源状態検出手段によって検出された前記電源の状態をさらに含むことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記電源状態検出手段は、前記情報処理装置の電源の状態として、当該情報処理装置が外部の交流電源によって駆動される交流駆動モードまたはバッテリによって駆動されるバッテリ駆動モードのいずれの駆動モードにあるかと、前記バッテリの残量とを検出することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記選択手段は、前記交流駆動モードの場合、前記ＣＰＵの負荷量が多いほど前記処理量が少なくなるように、前記画質処理に最適な処理量を選択し、前記バッテリ駆動モードの場合、前記ＣＰＵの負荷量が多くかつ前記バッテリ残量が少ないほど前記処理量が少なくなるように、前記画質処理に最適な処理量を選択することを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記画質改善ルーチンは、動画像の所定の画質を改善する画質処理のための画質処理ルーチンであって、外部から設定されるパラメータの値によって処理量が切り替えられる画質処理ルーチンを有し、
前記情報処理装置は、前記選択手段によって選択された処理量に対応する値のパラメータを引数として前記画質処理ルーチンに渡すことにより当該画質処理ルーチンを呼び出す呼び出し手段をさらに具備する
ことを特徴とする請求項１記載の情報処理装置。
【請求項７】
予め定められた複数のシステム状態の各々にそれぞれ対応付けられた値のパラメータを保持するパラメータテーブルをさらに具備し、
前記選択手段は前記負荷検出手段によって検出された前記ＣＰＵの負荷量を含むシステム状態に応じて前記パラメータテーブルを参照することにより、当該システム状態に対応付けられた値のパラメータを選択する
ことを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記画質改善ルーチンは、動画像の所定の画質を改善する画質処理のための複数のアルゴリズム関数であって、それぞれ画質改善の効果と処理量とが異なる複数のアルゴリズム関数を有する画質処理ルーチンを含み、
前記情報処理装置は、前記選択手段によって選択された処理量に対応する関数ポインタによって、前記複数のアルゴリズム関数のうち、前記選択手段によって選択された処理量のアルゴリズム関数を呼び出す呼び出し手段をさらに具備する
ことを特徴とする請求項１記載の情報処理装置。
【請求項９】
予め定められた複数のシステム状態の各々にそれぞれ対応付けられた関数ポインタを保持する関数ポインタテーブルをさらに具備し、
前記選択手段は前記負荷検出手段によって検出された前記ＣＰＵの負荷量を含むシステム状態に応じて前記関数ポインタテーブルを参照することにより、当該システム状態に対応付けられた関数ポインタを選択する
ことを特徴とする請求項８記載の情報処理装置。
【請求項１０】
前記画質改善ルーチンは、再生される動画像のソースの違いによって画質改善の効果が顕著にならない所定の画質処理のための画質処理ルーチンを含み、
前記選択手段は、前記負荷検出手段によって検出された前記ＣＰＵの負荷量を含むシステム状態に応じて処理量として非ゼロまたはゼロを選択し、
前記情報処理装置は、前記選択手段によって選択された非ゼロまたはゼロに応じて、前記画質処理ルーチンを呼び出すまたはスキップする呼び出し手段をさらに具備する
ことを特徴とする請求項１記載の情報処理装置。
【請求項１１】
予め定められた複数のシステム状態の各々にそれぞれ対応付けられた、前記非ゼロまたは前記ゼロの状態を表すフラグを保持するフラグテーブルをさらに具備し、
前記選択手段は前記負荷検出手段によって検出された前記ＣＰＵの負荷量を含むシステム状態に応じて前記フラグテーブルを参照することにより、当該システム状態に対応付けられたフラグを選択し、
前記呼び出し手段は前記選択手段によって選択されたフラグの状態に応じて、前記画質処理ルーチンを呼び出すまたはスキップする
ことを特徴とする請求項１０記載の情報処理装置。
【請求項１２】
動画像の画質を改善する画質処理のための当該画質処理の処理量を切り替え可能な画質改善ルーチンを有する動画再生アプリケーションプログラムをＣＰＵが実行することによって動画像データを再生する、情報処理装置における動画像再生方法であって、
前記ＣＰＵの負荷量を検出するステップと、
前記画質改善ルーチンに従って実行される画質処理に最適な処理量を、前記検出するステップで検出された前記ＣＰＵの負荷量を含むシステム状態に応じて選択するステップと
を具備することを特徴とする動画像再生方法
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画再生アプリケーションプログラムの実行により動画像データを再生する情報処理装置および動画像再生方法に関する。
【背景技術】
【０００２】
近年、動画像を再生する動画像再生アプリケーション機能を備えたパーソナルコンピュータが開発されている。
【０００３】
動画像のような大量のデータを扱う場合、十分なＣＰＵ性能およびバス性能が確保されない限り、画像を再生表示する時間間隔は一定とならない。そのため、バスやＣＰＵの負荷状況によって不自然な画像表示となる。そこで、フレーム表示の時間間隔を変えることが考えられる。しかし、フレーム表示の時間間隔を変えると再生画像を滑らかに表示できるが、全体の再生時間が不定になり、本来の再生時間と合わなくなるという問題がある。
【０００４】
そこで、例えば特許文献１は、再生時間は本来の再生時間と一致させ、しかも滑らかに動画像を再生することができる動画像生成装置を開示している。この特許文献１に記載された技術（以下、先行技術１と称する）は、圧縮画像データを復号する復号処理部と復号されたフレームを表示装置に転送する表示処理部とを独立させ、表示画像を一定時間間隔で更新しながら、復号が間に合わないときにはフレームを間引き、復号が早いときには復号を停止するため、滑らかな再生が可能となる。
【０００５】
また、動画像再生アプリケーション機能を備えたパーソナルコンピュータにおいて、マイクロプロセッサは、動画再生アプリケーションプログラムに従って動画を再生するための画像処理を実行する。ところが、マイクロプロセッサへの画像処理の負荷が大きくなると、当該処理が間に合わなくなって、コマ落ちによる画質劣化が発生するという問題が生じてくる。
【０００６】
そこで、例えば特許文献２は、画像処理装置のマイクロプロセッサへの処理負荷が大きくなると、負荷の大きい処理から負荷の小さい処理に変更可能な技術（以下、先行技術２と称する）を開示している。この先行技術２によれば、駒落ち等の急激な画質の劣化を生じることなく、画像を処理することが可能となる。
【特許文献１】特開平１０−１３７９４号公報
【特許文献２】特開２００２−３１４９５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記したように、先行技術１では、復号処理部と表示処理部を独立させることによって、一定時間間隔で表示画像の更新ができ、間引くフレームを選択できるため滑らかな動画再生が可能である。
【０００８】
しかしながら、先行技術１は、動画再生の基本機能に関するものであるので、動画を表示装置に表示し、動画を再生することは可能であるが、動画像の画質処理機能に注目したものではない。つまり、先行技術１では、一定間隔でフレームを送信することによって滑らかに動画再生を行うことは可能であるが、その動画像の画質が良質であるとは限らないという問題がある。
【０００９】
また、上記したように、先行技術２では、画像処理の負荷が大きくなると、負荷の小さい処理に変更することによって、駒落ち等の急激な画質の劣化を生じることなく、画像を処理することが可能である。
【００１０】
しかしながら、単に画像処理の負荷が大きいからといって、ＣＰＵの処理が間に合わないとは限らない。ところが、先行技術２では、ＣＰＵの処理能力に余力がある状態でも、単に画像処理の負荷が大きいという理由だけで、負荷の小さい画像処理に変更される。この場合、負荷の大きい画像処理が実行可能であるにも拘わらずに、負荷の小さい画像処理によって動画像の画質を落としてしまうという問題がある。
【００１１】
本発明は、上記事情を考慮してなされたものであり、その目的は、動画再生時におけるシステムの状態に応じて画質改善のための画質処理を最適なものに自動的に切り替えることができ、これにより安定した動画の再生を行うことを可能とする情報処理装置および動画像再生方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の１つの態様によれば、動画像データを再生する情報処理装置が提供される。この情報処理装置は、動画像データを再生するための動画再生アプリケーションプログラムであって、動画像の画質を改善する画質処理のための当該画質処理の処理量を切り替え可能な画質改善ルーチンを有する動画再生アプリケーションプログラムを含む各種アプリケーションプログラムを記憶するメモリと、前記動画再生アプリケーションプログラムを含む複数のアプリケーションプログラムを並行して実行可能なＣＰＵと、前記ＣＰＵの負荷量を検出する負荷検出手段と、前記画質改善ルーチンに従って実行される画質処理に最適な処理量を、前記負荷検出手段によって検出された前記ＣＰＵの負荷量を含むシステム状態に応じて選択する選択手段とを具備する。
【発明の効果】
【００１３】
本発明によれば、動画再生時におけるシステムの状態に応じて画質改善のための画質処理を最適なものに自動的に切り替えることができる。これにより、安定した動画の再生を行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して、本発明の実施形態を説明する。  
まず、図１および図２を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えば、ノートブック型パーソナルコンピュータ１０として実現されている。
【００１５】
図１はノートブック型パーソナルコンピュータ１０のディスプレイユニットを開いた状態における正面図である。本コンピュータ１０は、コンピュータ本体１１と、ディスプレイユニット１２とから構成されている。ディスプレイユニット１２には、ＴＦＴ−ＬＣＤ（Thin Film Transistor Liquid Crystal Display）１７から構成される表示装置が組み込まれており、そのＬＣＤ１７の表示画面はディスプレイユニット１２のほぼ中央に位置されている。
【００１６】
ディスプレイユニット１２は、コンピュータ本体１１に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体１１は薄い箱形の筐体を有しており、その上面にはキーボード１３、コンピュータ１０を電源オン／電源オフするためのパワーボタン１４、入力操作パネル１５、およびタッチパッド１６などが配置されている。
【００１７】
入力操作パネル１５は、押されたボタンに対応するイベントを入力する入力装置であり、複数の機能をそれぞれ起動するための複数のボタンを備えている。これらボタン群には、ＴＶ起動ボタン１５Ａ、ＤＶＤ／ＣＤ起動ボタン１５Ｂも含まれている。ＴＶ起動ボタン１５Ａは、ＴＶ放送番組データの再生、視聴および記録を行うためのＴＶ機能を起動するためのボタンである。ＴＶ起動ボタン１５Ａがユーザによって押下されたとき、ＴＶ機能を実行するための動画再生アプリケーションプログラムが起動される。
【００１８】
コンピュータ１０においては、汎用の主オペレーティングシステムのほかに、ＡＶ（オーディオ・ビデオ）データを処理するための専用の副オペレーティングシステムがインストールされている。動画再生アプリケーションプログラムは、副オペレーティングシステム上で動作するプログラムである。
パワーボタン１４がユーザによって押下されたとき、主オペレーティングシステムが起動される。一方、ＴＶ起動ボタン１５Ａがユーザによって押下されたときは、主オペレーティングシステムではなく、副オペレーティングシステムが起動される。この副オペレーティングシステムの起動により、動画再生アプリケーションプログラムが自動的に実行される。副オペレーティングシステムはＡＶ機能を実行するための最小限の機能のみを有している。このため、副オペレーティングシステムのブートアップに要する時間は、主オペレーティングシステムのブートアップに要する時間に比べて遙かに短い。よって、ユーザは、ＴＶ起動ボタン１５Ａを押すだけで、ＴＶ視聴／録画を即座に行うことが出来る。
【００１９】
ＤＶＤ／ＣＤ起動ボタン１５Ｂは、ＤＶＤ（Digital Versatile Disc）メディアまたはＣＤ（Compact Disc）メディアに記録されたビデオコンテンツ等を再生するためのボタンである。ＤＶＤ／ＣＤ起動ボタン１５Ｂがユーザによって押下されたときも、動画再生アプリケーションプログラムが起動される。この動画再生アプリケーションプログラムは、上記したように副オペレーティングシステム上で動作するアプリケーションプログラムである。ＤＶＤ／ＣＤ起動ボタン１５Ｂがユーザによって押下されたときも、主オペレーティングシステムではなく、副オペレーティングシステムが起動され、動画再生アプリケーションプログラムが自動的に実行される。
【００２０】
次に、図２を参照して、コンピュータ１０のシステム構成について説明する。コンピュータ１０は、図２に示されているように、ＣＰＵ１１１、ノースブリッジ１１２、主メモリ１１３、グラフィクスコントローラ１１４、サウスブリッジ１１９、ＢＩＯＳ−ＲＯＭ１２０、ハードディスクドライブ（ＨＤＤ）１２１、光ディスクドライブ（ＯＤＤ）１２２、ＴＶチューナ１２３、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４、およびネットワークコントローラ１２５等を備えている。
【００２１】
ＣＰＵ１１１は、コンピュータ１０の動作を制御するために設けられたプロセッサである。ＣＰＵ１１１は、主オペレーティングシステム／副オペレーティングシステム、および動画再生アプリケーションプログラム２０１のような各種アプリケーションプログラムを実行する。また、主オペレーティングシステム／副オペレーティングシステム、および各種アプリケーションプログラムは、ハードディスクドライブ（ＨＤＤ）１２１から主メモリ１１３にロードされる。図２には、動画再生アプリケーションプログラム２０１が主メモリ１１３にロードされている状態が示されている。
【００２２】
動画再生アプリケーションプログラム２０１は、ＴＶ放送番組データの再生、視聴および記録を行うための処理ルーチンと、ＤＶＤメディアまたはＣＤメディアへのＴＶ放送番組データ等の記録、ＤＶＤメディアまたはＣＤメディアに記録されたデータの再生を行うための処理ルーチンとを含んでいる。動画再生アプリケーションプログラム２０１は、ＴＶ放送番組データ等における動画像を再生するための基本機能を有する。。動画再生アプリケーションプログラム２０１はまた、動画再生時におけるＣＰＵ１１１の負荷（システムの負荷）およびコンピュータ１０の電源の状態に応じて、動画像の画質を改善（高画質化）するための最適な画質処理を実行する機能を有する。
【００２３】
また、ＣＰＵ１１１は、ＢＩＯＳ−ＲＯＭ１２０に格納されたシステムＢＩＯＳ（Basic Input Output System）も実行する。システムＢＩＯＳはハードウェア制御のためのプログラムである。
【００２４】
ノースブリッジ１１２はＣＰＵ１１１のローカルバスとサウスブリッジ１１９との間を接続するブリッジデバイスである。ノースブリッジ１１２には、主メモリ１１３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１１２は、ＡＧＰ（Accelerated Graphics Port）バスなどを介してグラフィクスコントローラ１１４との通信を実行する機能も有している。
【００２５】
グラフィクスコントローラ１１４はコンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７を制御する表示コントローラである。このグラフィクスコントローラ１１４はビデオメモリ（ＶＲＡＭ）１１４Ａに書き込まれた映像データをＬＣＤ１７に表示する。
【００２６】
サウスブリッジ１１９は、ＬＰＣ（Low Pin Count）バス上の各デバイス、およびＰＣＩ（Peripheral Component Interconnect）バス上の各デバイスを制御する。また、サウスブリッジ１１９は、ＨＤＤ１２１、ＯＤＤ１２２を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。さらに、サウスブリッジ１１９は、ＴＶチューナ１２３を制御する機能、およびＢＩＯＳ−ＲＯＭ１２０をアクセス制御するための機能も有している。
【００２７】
ＨＤＤ１２１は、各種ソフトウェア及びデータを格納する記憶装置である。光ディスクドライブ（ＯＤＤ）１２３は、ビデオコンテンツ等が格納されたＤＶＤメディア、ＣＤメディアなどの記憶メディアを駆動するためのドライブユニットである。ＴＶチューナ１２３は、ＴＶ放送番組のような放送番組データを外部から受信するための受信装置である。
【００２８】
エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、電力管理のためのエンベデッドコントローラ（ＥＣ）と、キーボード（ＫＢ）１３およびタッチパッド１６を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、ユーザによるパワーボタン１４の操作に応じてコンピュータ１０を電源オン／電源オフする機能を有している。本実施形態において、コンピュータ１０の各コンポーネントに供給される動作電源（直流電源）は、本コンピュータ１０に内蔵されたバッテリ１２６、またはＡＣアダプタ１２７を介して外部から供給される外部電源（ＡＣ電源）から生成される。
【００２９】
さらに、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、ユーザによるＴＶ起動ボタン１５Ａ、ＤＶＤ／ＣＤ起動ボタン１５Ｂの操作に応じて、コンピュータ１０を電源オンすることもできる。ネットワークコントローラ１２５は、例えばインターネットなどの外部ネットワークとの通信を実行する通信装置である。
【００３０】
図３は、動画再生アプリケーションプログラム２０１の機能構成を示すブロック図である。図３に示すように、動画再生アプリケーションプログラム２０１は、前処理ルーチン２１０、画質改善ルーチン２２０、ＣＰＵ負荷量チェックルーチン２３０、アルゴリズム選択ルーチン２４０、パラメータテーブル２５０、関数ポインタテーブル２５１、関数スキップフラグテーブル２５２および後処理ルーチン２６０を含んでいる。本実施形態において動画再生アプリケーションプログラム２０１は、ＣＰＵ１１１によって実行される。したがって動画再生アプリケーションプログラム２０１に含まれている、前処理ルーチン２１０、画質改善ルーチン２２０、ＣＰＵ負荷量チェックルーチン２３０、アルゴリズム選択ルーチン２４０および後処理ルーチン２６０も、ＣＰＵ１１１によって実行される。しかし、以降では、記述の簡略化のために、動画再生アプリケーションプログラム２０１、前処理ルーチン２１０、画質改善ルーチン２２０、ＣＰＵ負荷量チェックルーチン２３０、アルゴリズム選択ルーチン２４０および後処理ルーチン２６０自体が処理を実行するものとして説明する。
【００３１】
動画再生アプリケーションプログラム２０１は、前記したように、動画再生時におけるＣＰＵ１１１の負荷およびコンピュータ１０の電源の状態、つまりシステムの状態に応じて最適な画質処理を実行する。コンピュータ１０の電源の状態は、パワーマネージメントシステム２７０上で動作するバッテリチェックルーチン２７１によって通知される。パワーマネージメントシステム２７０は、例えばオペレーティングシステム、ＢＩＯＳおよびエンベデッドコントローラ（ＥＣ）によって実現される。バッテリチェックルーチン２７１は、コンピュータ１０が、バッテリ駆動モードおよびＡＣ駆動（交流駆動）モードのいずれのモードで駆動しているかを判断するための処理を実行する。コンピュータ１０は、バッテリ駆動モードではバッテリ１２６によって駆動され、ＡＣ駆動モードでは外部からＡＣアダプタ１２７を介して供給されるＡＣ電源（から生成される直流電源）によって駆動される。バッテリチェックルーチン２７１はまた、バッテリ１２６の残量を例えば定期的にチェックするための処理も実行する。バッテリチェックルーチン２７１は、駆動モードの切り替えおよびバッテリ１２６の残量（バッテリ残量）の変動（増加／減少）を、コンピュータ１０の電源の状態として検出する。つまりバッテリチェックルーチン２７１は、電源状態検出部として機能する。バッテリチェックルーチン２７１は、駆動モードの切り替えまたはバッテリ残量の変動が発生した場合、その時点の最新の駆動モードまたはバッテリ残量をアルゴリズム選択ルーチン２４０に通知するための処理も実行する。
【００３２】
前処理ルーチン２１０は、動画再生の前処理を実行し、ＴＶチューナ１２３によって受信および圧縮符号化された、例えばＭＰＥＧ２（MPEG: Moving Picture Coding Experts Group）規格の圧縮画像をフレーム画像に復号する。
【００３３】
画質改善ルーチン２２０は、動画再生処理時のシステムの状態に最適な処理量で画質を改善するための処理を実行する。画質改善ルーチン２２０は、第１の画質処理ルーチン２２１、第２の画質処理ルーチン２２２、第３の画質処理ルーチン２２３および画質改善ルーチン呼び出し部２２４を含む。
【００３４】
第１の画質処理ルーチン２２１は、現時点でのシステムの状態を反映した変数Ｐａをパラメータとして、画像データの変換等の処理における処理量を可変する。第２の画質処理ルーチン２２２は、複数のアルゴリズム関数を有し、現時点でのシステムの状態を反映した関数ポインタＰｂに応じてアルゴリズム関数（画質関数アルゴリズム関数）自体を最適なアルゴリズム関数に切り替える。第３の画質処理ルーチン２２３は、現時点でのシステムの状態を反映したフラグＰｃによって実行／非実行が決定される。第３の画質処理ルーチン２２３は、処理対象のデータによっては省略することが可能な処理である。画質改善ルーチン呼び出し部２２４は、アルゴリズム選択ルーチン２４０によって設定された変数Ｐａ、関数ポインタＰｂおよびフラグＰｃをもとに対応する画質処理ルーチンを呼び出す。変数Ｐａ、関数ポインタＰｂおよびフラグＰｃについては後述する。
【００３５】
ＣＰＵ負荷量チェックルーチン２３０は、動画再生時のＣＰＵ１１１の負荷量を調べるための処理を実行するＣＰＵ負荷量検出部（負荷検出部）として機能する。ＣＰＵ負荷量チェックルーチン２３０は、ＣＰＵ１１１の負荷を例えば定期的に検出し、当該ＣＰＵ１１１の負荷に変動（増加／減少）があった場合は、その時点の最新のＣＰＵ１１１の負荷量（ＣＰＵ負荷量）をアルゴリズム選択ルーチン２４０に通知するための処理を実行する。
アルゴリズム選択ルーチン２４０は、ＣＰＵ負荷量チェックルーチン２３０から通知されたＣＰＵ１１１の負荷量並びにバッテリチェックルーチン２７１から通知された駆動モードおよびバッテリ残量に応じて、その時点でＣＰＵ１１１が処理可能な処理量を評価する。アルゴリズム選択ルーチン２４０は、パラメータテーブル２５０、関数ポインタテーブル２５１および関数スキップフラグテーブル２５２を参照して、それぞれ駆動モード／バッテリ残量／ＣＰＵ１１１の負荷量に対応付けられた値を取得（選択）する。この取得（選択）された値は、ＣＰＵ１１１が処理可能な処理量の評価値に対応する。つまりアルゴリズム選択ルーチン２４０は、駆動モード／バッテリ残量／ＣＰＵ１１１の負荷量に対応付けられた処理量（の評価値）を選択する選択部として機能する。アルゴリズム選択ルーチン２４０は、テーブル２５０、２５１および２５２から取得された値を、それぞれ変数Ｐａ、関数ポインタＰｂおよびフラグＰｃとして画質改善ルーチン呼び出し部２２４に設定する。
【００３６】
パラメータテーブル２５０は、駆動モード、バッテリ残量およびＣＰＵ１１１の負荷の組み合わせに対応付けられた値を変数（パラメータ）として保持する。この変数（パラメータ）は、第１の画質処理ルーチン２２１の引数として用いられ、駆動モード、バッテリ残量およびＣＰＵ１１１の負荷の組み合わせに最適な画質処理の処理量と画質改善の効果の程度とを表す。関数ポインタテーブル２５１は、駆動モード、バッテリ残量およびＣＰＵ１１１の負荷の組み合わせに対応付けられた値を関数ポインタとして保持する。この関数ポインタは、第２の画質処理ルーチン２２２に含まれる複数のアルゴリズム関数のうち、駆動モード、バッテリ残量およびＣＰＵ１１１の負荷の組み合わせに最適な画質処理の処理量と画質改善の効果の程度となるアルゴリズム関数を指定するエントリポインタである。
【００３７】
関数スキップフラグテーブル２５２は、駆動モード、バッテリ残量およびＣＰＵ１１１の負荷の組み合わせに対応付けられたフラグを保持する。このフラグは、第３の画質処理ルーチン２２３の実行／スキップのどちらを選択するかを示す。
【００３８】
後処理ルーチン２６０は、画質改善ルーチン２２０の実行によって画質が改善された動画像データを、グラフィックスコントローラ１１４によってＬＣＤ１７に表示可能なように処理する。
【００３９】
次に、図４、図５および図６を参照してテーブル２５０，２５１および２５２について説明する。  
図４は、パラメータテーブル２５０のデータ構造例を示す。本実施形態におけるコンピュータ１０の駆動モードは、ＡＣ駆動モードＰ１とバッテリに基づいて駆動されるバッテリ駆動モードＰ２との２種類である。ＣＰＵ１１１の負荷状態は、例えばＣＰＵ１１１の負荷が低い状態（ＣＰＵ負荷状態）Ｌ１とＣＰＵ１１１の負荷が高い状態（ＣＰＵ負荷状態）Ｌ２との２段階が存在する。また、バッテリ残量の状態は、例えばバッテリ残量が多い状態（バッテリ残量状態）Ｂ１とバッテリ残量が少ない状態（バッテリ残量状態）Ｂ２との２段階が存在する。
【００４０】
パラメータテーブル２５０は、駆動モードＰ１およびＰ２と、ＣＰＵ負荷状態Ｌ１およびＬ２と、バッテリ残量状態Ｂ１およびＢ２との全ての組み合わせごとに、その組み合わせに対応付けられた変数（パラメータ）Ｐａを保持する。この変数（パラメータ）Ｐａの値は、前述したように画質処理の処理量と画質改善効果の程度とを表す。図４の例では、変数Ｐａの値は、１，４，５，８および１０の５通りである。ここでは、変数Ｐａが１０（最大値）のとき、第１の画像処理ルーチン２２１によって実行される画質処理の処理量は最も多くなる（つまりＣＰＵ１１１に与える負荷は最も高くなる）ものの、画像改善効果も最も高くなることを表す。逆に、変数Ｐａが１（最小値）のときは、第１の画像処理ルーチン２２１によって実行される画質処理の処理量は最も少なくなる（つまりＣＰＵ１１１に与える負荷は最も低くなる）ものの、画像改善効果も最も低くなることを表す。図４の例では、ＡＣ駆動モードの場合、変数Ｐａの値はＣＰＵ１１１の負荷の状態のみに依存し、実行中の他のアプリケーションプログラムの処理に影響を及ぼさないように、負荷が高いほど小さくなる。一方、バッテリ駆動モードの場合には、変数Ｐａの値はバッテリ残量の状態およびＣＰＵ１１１の負荷の状態に依存し、バッテリ残量が少ないほど、またＣＰＵ１１１の負荷が高いほど小さくなる。ここでは変数Ｐａの値は、バッテリ残量が多い状態Ｂ１の場合でも、ＡＣ駆動モードの場合よりも、若干処理量が少なくなるように小さな値となる。また本実施形態では、バッテリ残量が低い状態Ｌ１の場合、変数Ｐａの値はＣＰＵ１１１の負荷に無関係に最小値１となる。
【００４１】
図５は、関数ポインタテーブル２５１のデータ構造例を示す。関数ポインタテーブル２５１は、駆動モードＰ１およびＰ２と、ＣＰＵ負荷状態Ｌ１およびＬ２と、バッテリ残量状態Ｂ１およびＢ２との全ての組み合わせごとに、その組み合わせに対応付けられた関数ポインタＰｂを保持する。この関数ポインタＰｂは、前述したように画質処理の処理量と画質改善効果の程度とを表す。図５の例では、関数ポインタＰｂは、Ｂａ，ＢｂおよびＢｃの３通りである。Ｂａ，ＢｂおよびＢｃは、それぞれ第２の画像処理ルーチン２２２に含まれているアルゴリズム関数２２２ａ，２２２ｂおよび２２２ｃを指定するエントリポインタである。アルゴリズム関数２２２ａは、画質処理の処理量は最も多くなる（つまりＣＰＵ１１１に与える負荷が最も高くなる）ものの、画質改善効果も最も高くなる処理である。以下、アルゴリズム関数２２２ｂ、２２２ｃの順に画質処理の処理量は軽減するが、画質改善効果も低下する。図５の例では、ＡＣ駆動モードの場合、関数ポインタＰｂはＣＰＵ負荷状態のみに依存し、ＣＰＵ負荷状態がＬ１であればＢａに、Ｌ２であればＢｃに設定される。一方、バッテリ駆動モードの場合も、関数ポインタＰｂはＣＰＵ負荷状態のみに依存し、ＣＰＵ負荷状態がＬ１であればＢｂに、Ｌ２であればＢｃに設定される。なお、バッテリ駆動モードの場合、関数ポインタＰｂがＣＰＵ負荷状態だけでなくバッテリ残量にも依存する構成であっても構わない。
【００４２】
図６は、関数スキップフラグテーブル２５２のデータ構造例を示す。関数スキップフラグテーブル２５２は、駆動モードＰ１およびＰ２と、ＣＰＵ負荷状態Ｌ１およびＬ２と、バッテリ残量状態Ｂ１およびＢ２との全ての組み合わせごとに、その組み合わせに対応付けられたフラグＰｃを保持する。このフラグＰｃの状態には、“ＴＲＵＥ”と“ＦＡＬＳＥ”の２つがある。“ＴＲＵＥ”は第３の画質処理ルーチン２２３の処理を実行すること、つまり処理量を非ゼロとすることを示し、“ＦＡＬＳＥ”は第３の画質処理ルーチン２２３の処理をスキップ（省略）すること、つまり処理量をゼロとすることを示す。図６の例では、ＡＣ駆動モードの場合、フラグＰｃはＣＰＵ負荷状態のみに依存し、ＣＰＵ負荷状態がＬ１であれば“ＴＲＵＥ”に、Ｌ２であればＦＡＬＳＥ”に設定される。一方、バッテリ駆動モードの場合、フラグＰｃはバッテリ残量にも依存し、ＣＰＵ負荷状態がＬ１でかつバッテリ残量の状態がＢ１であればＴＲＵＥ”に、それ以外は“ＦＡＬＳＥ”に設定される。
【００４３】
上述したように本実施形態では、バッテリ残量の状態がＬ１およびＬ２の２段階に分類される。しかしバッテリ残量を３段階以上に分類してもよい。同様に、ＣＰＵ１１１の負荷の状態も、２段階に限らず３段階以上に分類してもよい。
【００４４】
次に、図７のフローチャートを参照してバッテリチェックルーチン２７１の処理手順について説明する。まず、バッテリチェックルーチン２７１は、現時点でのバッテリ残量Cnewを取得する（ステップＡ１）。バッテリチェックルーチン２７１は、今回取得されたバッテリ残量Cnewと前回取得されたバッテリ残量Coldとを比較する（ステップＡ２，Ａ５）。CnewがCold以上の場合（ステップＡ２）、バッテリチェックルーチン２７１はバッテリ１２６の充電中であると判断する。この場合、バッテリチェックルーチン２７１はCnewと充電時の閾値Ｓ１とを比較する（ステップＡ３）。CnewがＳ１以上の場合、バッテリチェックルーチン２７１はアルゴリズム選択ルーチン２４０に対して、バッテリ１２６のバッテリ残量が多いこと（バッテリ残量状態Ｂ１）を通知する（ステップＡ４）。
【００４５】
一方、CnewがColdより小さい場合（ステップＡ５）、バッテリチェックルーチン２７１はバッテリ１２６の放電中であると判断する。この場合、バッテリチェックルーチン２７１はCnewと放電時の閾値Ｓ２とを比較する（ステップＡ６）。ここで、放電時の閾値Ｓ２は、今後バッテリ残量がさらに低下することを考慮して、充電時の閾値Ｓ１よりも大きい（高い）値に設定されている。CnewがＳ２より小さい場合、バッテリチェックルーチン２７１はアルゴリズム選択ルーチン２４０に対して、バッテリ１２６のバッテリ残量が少ないこと（バッテリ残量状態Ｂ２）を通知する（ステップＡ７）。
【００４６】
これに対し、CnewがＣold以上でかつＳ１より小さい場合（ステップＡ２，Ａ３）、またはCnewがＣoldより小さくかつＳ２以上の場合には（ステップＡ５，Ａ６）、バッテリチェックルーチン２７１はバッテリ残量状態が前回と同じであるとして、アルゴリズム選択ルーチン２４０にバッテリ残量に関する通知を行わない。
【００４７】
以上の動作後、バッテリチェックルーチン２７１は次回の処理のために、Coldの値を現在のCnewの値に更新する（ステップＡ８）。そしてバッテリチェックルーチン２７１は一定時間を待ち（ステップＡ９）、ステップＡ１に戻って上述の処理を繰り返す。つまりバッテリチェックルーチン２７１は、図７のフローチャートに示す処理手順を一定時間ごとに（定期的に）繰り返す。
【００４８】
次に、図８のフローチャートを参照してＣＰＵ負荷量チェックルーチン２３０の実行する処理手順について説明する。  
まず、ＣＰＵ負荷量チェックルーチン２３０は、現時点でのＣＰＵ１１１の負荷量（ＣＰＵ負荷量）Lnewを取得する（ステップＢ１）。ＣＰＵ負荷量チェックルーチン２３０は、今回取得されたＣＰＵ負荷量Lnewと前回取得されたＣＰＵ負荷量Loldとを比較する（ステップＢ２，Ｂ５）。LnewがＬold以上の場合、ＣＰＵ負荷量チェックルーチン２３０はＣＰＵ１１１の温度が上昇していると判断する。この場合、ＣＰＵ負荷量チェックルーチン２３０はLnewと温度上昇時の閾値Ｓ１１とを比較する（ステップＢ３）。LnewがＳ１以上の場合、ＣＰＵ負荷量チェックルーチン２３０はアルゴリズム選択ルーチン２４０に対して、ＣＰＵ１１１の負荷が高いことを通知する（ステップＢ４）。
【００４９】
一方、LnewがLoldより小さい場合（ステップＢ５）、ＣＰＵ負荷量チェックルーチン２３０はＣＰＵ１１１の温度が下降していると判断する。この場合、ＣＰＵ負荷量チェックルーチン２３０はLnewと温度下降時の閾値Ｓ１２とを比較する（ステップＢ６）。ここで、温度下降時の閾値Ｓ１２は、今後ＣＰＵ負荷がさらに低下することを考慮して、温度上昇時の閾値Ｓ１１よりも大きい（高い）値に設定されている。LnewがＳ１２より小さい場合、ＣＰＵ負荷量チェックルーチン２３０はアルゴリズム選択ルーチン２４０に対して、ＣＰＵ１１１の負荷が低いことを通知する（ステップＢ７）。
【００５０】
またこれに対し、LnewがＬold以上でかつＳ１１より小さい場合（ステップＢ２，Ｂ３）、またはLnewがＬoldより小さくかつＳ１２以上の場合には（ステップＢ５，Ｂ６）、ＣＰＵ負荷量チェックルーチン２３０はＣＰＵ負荷状態が前回と同じであるとして、アルゴリズム選択ルーチン２４０にＣＰＵ負荷に関する通知を行わない。
【００５１】
以上の動作後、ＣＰＵ負荷量チェックルーチン２３０は次回の処理のために、現在のLoldの値を現在のLnewの値に更新する（ステップＢ８）。そしてＣＰＵ負荷量チェックルーチン２３０は一定時間を待ち（ステップＢ９）、ステップＢ１に戻って上述の処理を繰り返す。つまりＣＰＵ負荷量チェックルーチン２３０は、図８のフローチャートに示す処理手順を一定時間ごとに（定期的に）繰り返す。
【００５２】
次に、図９のフローチャートを参照してアルゴリズム選択ルーチン２４０の動作について説明する。アルゴリズム選択ルーチン２４０は、ＥＣ（エンベデッドコントローラ）またはＯＳ（オペレーティングシステム）から、駆動モード（使用電源種類）の変化の通知、即ち駆動モード（使用電源種類）がバッテリ駆動モード（バッテリ１２６）からＡＣ駆動モード（ＡＣ電源）に、またはＡＣ駆動モード（ＡＣ電源）からバッテリ駆動モード（バッテリ１２６）に切り替えられたかの通知を受け取る（ステップＣ１）。また、アルゴリズム選択ルーチン２４０は、バッテリチェックルーチン２７１から現時点でのバッテリ残量状態の通知を受け取る（ステップＣ２）。また、アルゴリズム選択ルーチン２４０は、ＣＰＵ負荷量チェックルーチン２３０から現時点でのＣＰＵ１１１の負荷状態の通知を受け取る（ステップＣ３）。
【００５３】
アルゴリズム選択ルーチン２４０は、ステップＣ１乃至Ｃ３で受け取られた通知の組み合わせによってパラメータテーブル２５０を参照することにより、通知された駆動モード、バッテリ残量状態およびＣＰＵ負荷状態の組み合わせに対応付けられた変数Ｐａを取得する（ステップＣ４）。ここで、変数Ｐａは第１の画質処理ルーチン２２１の引数である。
【００５４】
同様にアルゴリズム選択ルーチン２４０は、ステップＣ１乃至Ｃ３で受け取られた通知の組み合わせによって関数ポインタテーブル２５１を参照することにより、通知された駆動モード、バッテリ残量状態およびＣＰＵ負荷状態の組み合わせに対応付けられた関数ポインタＰｂを取得する（ステップＣ５）。ここで、関数ポインタＰｂは第２の画質処理ルーチン２２２に含まれるアルゴリズム関数を指定するエントリポインタである。
【００５５】
また、アルゴリズム選択ルーチン２４０は、ステップＣ１乃至からＣ３で受け取られたの通知の組み合わせによって関数スキップフラグテーブル２５２を参照することにより、通知された駆動モード、バッテリ残量状態およびＣＰＵ負荷状態の組み合わせに対応付けられたフラグＰｃを取得する（ステップＣ６）。ここで、フラグＰｃは第３の画質処理ルーチン２２３を実行するか否かを示す。
【００５６】
次に、図１０のフローチャートを参照して画質改善ルーチン呼び出し部２２４の動作を説明する。画質改善ルーチン呼び出し部２２４は、アルゴリズム選択ルーチン２４０によって設定された変数Ｐａをパラメータ（引数）として第１の画質処理ルーチン２２１を呼び出す（ステップＤ１）。すると第１の画質処理ルーチン２２１は、変数Ｐａをパラメータとする画質改善のための処理（画質処理）を実行する。この第１の画質処理ルーチン２２１の特徴は、実行される画質処理の手順は同一であり、当該処理の中でパラメータが参照される点である。このパラメータの大小によって、画質処理の画質改善の効果と処理量とが変化する。これにより、駆動モード、バッテリ残量状態およびＣＰＵ負荷状態の組み合わせ、つまりシステムの状態に最適な処理量で、当該システムの状態に見合った画質改善効果を得ることができる。
【００５７】
本実施形態において、第１の画質処理ルーチン２２１はＩＰ（インターレース・プログレッシブ）変換処理を実行する。このＩＰ変換処理では、ＴＶ放送番組データのような映像データを構成するインターレース映像が、コンピュータ１０のディスプレイモニタ（ＬＣＤ１７）に表示される映像データであるプログレッシブ映像に変換される。特に第１の画質処理ルーチン２２１のＩＰ変換処理では、設定されたパラメータ（変数）Ｐａの値によって、参照すべきエリアおよび前後フレームの数が変更される。
【００５８】
図４に示すパラメータテーブル２５０の例では、ＡＣ駆動モードＰ１で、かつＣＰＵ１１１の負荷が低い状態Ｌ１の場合に、パラメータ（変数）Ｐａは最大値１０となる。この場合、ＩＰ変換処理（第１の画質処理ルーチン２２１の処理）において参照すべきエリアは最も広くなり、かつ参照すべき前後フレームの数は最も多くなるため、処理量は最も多くなるものの、最大の画質改善効果を得ることができる。また、図４の例では、バッテリ駆動モードＰ２で、バッテリ残量が低い状態Ｂ２で、かつＣＰＵ１１１の負荷が高い状態Ｌ２の場合に、パラメータ（変数）Ｐａは最小値１となる。この場合、ＩＰ変換処理（第１の画質処理ルーチン２２１の処理）において参照すべきエリアは最も狭くなり、かつ参照すべき前後フレームの数は最も少なくなるため、画質改善効果は低いものの処理量を最も低減できる。つまり、パラメータ（変数）Ｐａが大きいほど、処理量は増加するものの画質改善効果は高くなり、パラメータ（変数）Ｐａが小さいほど、画質改善効果は低下するものの処理量を低減できる。
【００５９】
また、画質改善ルーチン呼び出し部２２４は、アルゴリズム選択ルーチン２４０によって設定された関数ポインタＰｂをエントリポインタとして第２の画質処理ルーチン２２２を呼び出す（ステップＤ２）。すると、第２の画質処理ルーチン２２２は、アルゴリズム関数２２２ａ、２２２ｂおよび２２２ｃのうち関数ポインタＰｂで指定されたアルゴリズム関数に従い、画質改善のための処理を実行する。これにより、駆動モード、バッテリ残量状態およびＣＰＵ負荷状態の組み合わせ、つまりシステムの状態に最適な処理量で、当該システムの状態に見合った画質改善効果を得ることができる。
【００６０】
本実施形態において、アルゴリズム関数２２２ａ、２２２ｂおよび２２２ｃは、輪郭強調のためのシャープネス処理に用いられる。図５に示す関数ポインタテーブル２５１の例では、ＡＣ駆動モードＰ１で、かつＣＰＵ１１１の負荷が低い状態Ｌ１の場合に、関数ポインタ（エントリポインタ）ＰｂはＢａとなる。この場合、Ｂａで指定されるアルゴリズム関数２２２ａに従い、処理量は最大となるものの、輪郭強調の効果が最も高くなるシャープネス処理が実行される。また、図５の例では、ＣＰＵ１１１の負荷が高い状態Ｌ２の場合には、駆動モードおよびバッテリ残量に無関係に、関数ポインタ（エントリポインタ）ＰｂはＢｃとなる。この場合、Ｂｃで指定されるアルゴリズム関数２２２ｃに従い、輪郭強調の効果は低くなるものの、処理量が最も少なくなるシャープネス処理が実行される。
【００６１】
また、画質改善ルーチン呼び出し部２２４は、アルゴリズム選択ルーチン２４０によって設定されたフラグＰｃの状態によって第３の画質処理ルーチン２２３を実行すべきか否かを判別する（ステップＤ３）。もし、フラグＰｃの状態が“ＦＡＬＳＥ”であるならば、画質改善ルーチン呼び出し部２２４は第３の画質処理ルーチン２２３を実行すべきでないとして、当該第３の画質処理ルーチン２２３の呼び出しを抑止する。これにより、第３の画質処理ルーチン２２３の処理はスキップされて、当該第３の画質処理ルーチン２２３の処理によって処理量が増加するのを防止できる。これに対し、フラグＰｃの状態が“ＴＲＵＥ”であるならば、画質改善ルーチン呼び出し部２２４は第３の画質処理ルーチン２２３を実行すべきであるとして、当該第３の画質処理ルーチン２２３を呼び出す（ステップＤ４）。これにより第３の画質処理ルーチン２２３の処理が実行され、処理量は増加するものの画質が改善される。
【００６２】
本実施形態において第３の画質処理ルーチン２２３は、システムの状態によっては処理を省略することが可能な、例えばブロックノイズを軽減するためのデブロッキング処理を実行する。このデブロッキング処理によるデブロッキングフィルタの効果は、動画像データのソースに依存する。例えば、動画像データのソースがＤＶＤメディアあるいはデジタル放送の場合、アナログ放送と異なって、復号された動画像データに含まれるブロックノイズ自体が少ないため、当該ノイズを軽減するためのデブロッキングフィルタの効果はそれほど顕著には表れない。そこで本実施形態では、ＣＰＵ１１１の負荷が高い状態Ｌ２では、駆動モードおよびバッテリ残量に無関係にフラグＰｃが“ＦＡＬＳＥ”に設定されて、第３の画質処理ルーチン２２３の実行が抑止される。また、ＣＰＵ１１１の負荷が低い状態Ｌ１でも、バッテリ駆動モードでかつバッテリ残量が低い状態Ｂ２では、フラグＰｃが“ＦＡＬＳＥ”に設定されて、第３の画質処理ルーチン２２３の実行が抑止される。
【００６３】
このように本実施形態においては、動画再生アプリケーションプログラム２０１による動画再生時における画質改善のための処理（画質処理）が、その時点におけるＣＰＵ１１１の負荷の状態およびコンピュータ１０の電源の状態（ここでは使用電源の種類で決まる駆動モードとバッテリ残量）、つまりシステムの状態に応じて最適化される。このように本実施形態においては、システムの状態に最適な処理量で画質処理が実行される。これにより、システムの状態に最適な画質の動画再生を実現でき、システムの処理能力不足に起因するコマ落ちによる動画画質の劣化を防止できる。また本実施形態においてはシステムの状態に最適な処理量で画質処理が実行されることから、ＣＰＵ１１１が動画再生アプリケーションプログラム２０１を実行しながら他のアプリケーションプログラムも実行している場合に、当該他のアプリケーションプログラムの動作を妨げずに、システムの状態に最適な画質の動画像を再生できる。また本実施形態においては、バッテリ残量を考慮しないで済むＡＣ駆動モードとバッテリ残量を考慮する必要があるバッテリ駆動モードとで、画質処理の処理量が変えられる。つまり本実施形態においては、ＡＣ駆動モードでは処理量が多くなる高画質化を優先し、バッテリモードでは処理量を減らして低消費電力を優先するように、画質処理を自動的に切り替えることができる。
【００６４】
上記実施形態では、ＣＰＵ１１１の負荷状態とコンピュータ１０の電源の状態（つまり使用電源の種類で決まる駆動モードおよびバッテリ残量）とが、システムの状態として処理される。しかし、システムの状態にコンピュータ１０の電源の状態を必ずしも含めなくても構わない。
【００６５】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００６６】
【図１】本発明の一実施形態に係るパーソナルコンピュータの外観を示す斜視図。
【図２】図１のコンピュータのシステム構成を示すブロック図。
【図３】図１中の動画再生アプリケーションプログラム２０１の機能構成を示すブロック図。
【図４】図２中のパラメータテーブル２５０のデータ構造例を示す図。
【図５】図２中の関数ポインタテーブル２５１のデータ構造例を示す図。
【図６】図２中の関数スキップフラグテーブル２５２のデータ構造例を示す図。
【図７】図２中のバッテリチェックルーチン２７１の処理手順を示すフローチャート。
【図８】図２中のＣＰＵ負荷量チェックルーチン２３０の処理手順を示すフローチャート。
【図９】図２中のアルゴリズム選択ルーチン２４０の処理手順を示すフローチャート。
【図１０】図２中の画質改善ルーチン呼び出し部２２４の処理手順を示すフローチャート。
【符号の説明】
【００６７】
１０…コンピュータ、１１１…ＣＰＵ、１１３…主メモリ、２０１…動画再生アプリケーションプログラム、２２０…画質改善ルーチン、２２１…第１の画質処理ルーチン、２２２…第２の画質処理ルーチン、２２２ａ，２２２ｂ，２２２ｃ…アルゴリズム関数、２２３…第３の画質処理ルーチン、２２４…画質改善ルーチン呼び出し部、２３０…ＣＰＵ負荷量チェックルーチン、２４０…アルゴリズム選択ルーチン、２５０…パラメータテーブル、２５１…関数ポインタテーブル、２５２…関数スキップフラグテーブル、２７０…パワーマネージメントシステム、２７１…バッテリチェックルーチン。
【図１】
2007013315.tif 000003
【図２】
2007013315.tif 000004
【図３】
2007013315.tif 000005
【図４】
2007013315.tif 000006
【図５】
2007013315.tif 000007
【図６】
2007013315.tif 000008
【図７】
2007013315.tif 000009
【図８】
2007013315.tif 000010
【図９】
2007013315.tif 000011
【図１０】
2007013315.tif 000012