(57)【要約】【課題】定義の読み込みを変更するだけで優先度情報の設定が可能となる情報処理装置を提供する。【解決手段】複数のスレッドの処理を行う際の各スレッドの処理のパラメータセットをスレッド優先度定義部５０から読み出し、読み出されたパラメータセットを定義として読み込むことにより各スレッドの処理を行う。【選択図】      図３
2008276569.tif 000002
【特許請求の範囲】
【請求項１】
動画データを再生するための複数のスレッドから構成される処理を行う情報処理装置であって、
前記複数のスレッドの処理を行う際の各スレッドの処理の優先度を示す優先度情報を記憶する記憶手段と、
前記記憶手段から優先度情報を読み出し、読み出された優先度情報を定義ファイルとして読み込み、該定義ファイルの優先度情報に従って前記各スレッドの処理を行う処理手段と、
を具備することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記記憶手段には、前記各スレッドに対する優先度情報の複数のパラメータセットが記憶されており、前記処理手段は、さらに前記スレッドの処理を監視する監視手段を備え、当該監視手段は、前記スレッド処理の状態に応じて前記記憶手段から所定の優先度情報のパラメータセットを読み出して、読み出された優先度情報に基づいて前記各スレッドの処理を行うことを特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置において、
前記記憶手段は、レジストリであることを特徴とする情報処理装置。
【請求項４】
請求項１に記載の情報処理装置において、
前記処理手段は、前記スレッド処理の負荷状態に応じた所定のパラメータセットの優先度情報に基づいて前記各スレッドの処理を行うことを特徴とする情報処理装置。
【請求項５】
請求項１に記載の情報処理装置において、
前記処理手段は、前記スレッド処理の負荷状態に応じた適切なパラメータセットの優先度情報をデフォルトとして設定可能であることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパーソナルコンピュータのような情報処理装置に関し、特に動画再生機能を有する情報処理装置に関する。
【背景技術】
【０００２】
一般的に、ＨＤ  ＤＶＤ等のメディア再生をサポートするソフトウェアでは、動画データの再生処理は、動画データの読み込みやデコード、描画等の処理等を行う複数のスレッドで構成されている。各スレッドのスケジューリングはオペレーティングシステムに任されている。このとき、ストリーミング等の重要な処理に十分な時間が与えられず、システムの性能が劣化する場合がある。例えば、描画スレッド処理中に他のスレッドの割り込みが発生し、描画がリアルタイムに間に合わずに、こま落ちが発生する場合がある。この対策として、オペレーティングシステムにスレッドの優先度を設定し、描画等の重要な処理を行うスレッドについては高い優先度を設定し、優先的に動作させる方法がある。例えば、特許文献１に開示されているように、機種毎に優先度情報を設定して複数のスレッドを処理する方法が開示されている。
【特許文献１】特開平１１−２３７９９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述した技術であると、優先度情報の設定を変更する場合には、再度、リビルドを行う必要があり、煩雑である。
【０００４】
本発明は上述の事情を考慮してなされたものであり、リビルド等の煩雑な作業を伴わずに優先度の設定を変更することが可能となる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の一態様によれば、動画データを再生するための複数のスレッドから構成される処理を行う情報処理装置であって、前記複数のスレッドの処理を行う際の各スレッドの処理の優先度を示す優先度情報を記憶する記憶手段と、前記記憶手段から優先度情報を読み出し、読み出された優先度情報を定義ファイルとして読み込み、該定義ファイルの優先度情報に従って前記各スレッドの処理を行う処理手段と、を具備することを特徴とする情報処理装置が提供される。
【発明の効果】
【０００６】
本発明によれば、リビルド等の煩雑な作業を伴わずに優先度の設定を変更することが可能となる。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して、本発明の実施形態を説明する。  
まず、図１および図２を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えば、ノートブック型パーソナルコンピュータ１０として実現されている。
【０００８】
図１はノートブック型パーソナルコンピュータ１０のディスプレイユニットを開いた状態における斜視図である。本コンピュータ１０は、コンピュータ本体１１と、ディスプレイユニット１２とから構成されている。ディスプレイユニット１２には、ＴＦＴ−ＬＣＤ（Thin Film Transistor Liquid Crystal Display）１７から構成される表示装置が組み込まれており、そのＬＣＤ１７の表示画面はディスプレイユニット１２のほぼ中央に位置されている。
【０００９】
ディスプレイユニット１２は、コンピュータ本体１１に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体１１は薄い箱形の筐体を有しており、その上面にはキーボード１３、本コンピュータ１０をパワーオン／パワーオフするためのパワーボタン１４、入力操作パネル１５、タッチパッド１６、およびスピーカ１８Ａ，１８Ｂなどが配置されている。
【００１０】
入力操作パネル１５は、押されたボタンに対応するイベントを入力する入力装置であり、複数の機能をそれぞれ起動するための複数のボタンを備えている。これらボタン群には、本コンピュータ１０のＴＶ機能を制御するための操作ボタンも含まれている。
【００１１】
また、コンピュータ本体１１の正面には、本コンピュータ１０のＴＶ機能を制御するリモコンユニットとの通信を実行するためのリモコンユニットインタフェース部２０が設けられている。リモコンユニットインタフェース部２０は、赤外線信号受信部などから構成されている。
【００１２】
本コンピュータ１０は、地上波デジタルＴＶ放送のような放送番組データを受信、再生することができる。コンピュータ本体１１の右側面には、地上波デジタルＴＶ放送用のアンテナ端子１９が設けられている。
【００１３】
次に、図２を参照して、本コンピュータ１０のシステム構成について説明する。
【００１４】
本コンピュータ１０は、図２に示されているように、ＣＰＵ１０１、ノースブリッジ１０２、主メモリ１０３、サウスブリッジ１０４、グラフィクスプロセッシングユニット（ＧＰＵ）１０５、ビデオメモリ（ＶＲＡＭ）１０５Ａ、サウンドコントローラ１０６、ＢＩＯＳ−ＲＯＭ１０９、ＬＡＮコントローラ１１０、ハードディスクドライブ（ＨＤＤ）１１１、ＨＤ  ＤＶＤドライブ１１２、インターネット接続部１１４、およびエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１１６等を備えている。
【００１５】
ＣＰＵ１０１は本コンピュータ１０の動作を制御するプロセッサであり、ハードディスクドライブ（ＨＤＤ）１１１から主メモリ１０３にロードされる、オペレーティングシステム、および動画再生アプリケーション３０等を実行する。また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０９に格納されたＢＩＯＳ（Basic Input Output System）も実行する。ＢＩＯＳはハードウェア制御のためのプログラムである。
【００１６】
ノースブリッジ１０２はＣＰＵ１０１のローカルバスとサウスブリッジ１０４との間を接続するブリッジデバイスである。ノースブリッジ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１０２は、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してＧＰＵ１０５との通信を実行する機能も有している。
【００１７】
ＧＰＵ１０５は本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７を制御する表示コントローラである。このＧＰＵ１０５によって生成される表示信号はＬＣＤ１７に送られる。また、表示信号は、コンピュータ本体１１に設けられたインタフェース３、４をそれぞれ介して外部のＴＶ１、外部のＨＤＭＩモニタに送出することもできる。
【００１８】
サウスブリッジ１０４は、ＬＰＣ（Low Pin Count）バス上の各デバイス、およびＰＣＩ（Peripheral Component Interconnect）バス上の各デバイスを制御する。また、サウスブリッジ１０４は、ＨＤＤ１１１、ＤＶＤドライブ１１２を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。さらに、サウスブリッジ１０４は、サウンドコントローラ１０６との通信を実行する機能も有している。
【００１９】
サウンドコントローラ１０６は音源デバイスであり、再生対象のオーディオデータをスピーカ１８Ａ，１８Ｂに出力する。
【００２０】
エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１１６は、電力管理のためのエンベデッドコントローラと、キーボード（ＫＢ）１３およびタッチパッド１６を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１１６は、ユーザーによるパワーボタン１４の操作に応じて本コンピュータ１０をパワーオン／パワーオフする機能を有している。さらに、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１１６は、リモコンユニットインタフェース２０との通信を実行する機能を有している。
【００２１】
次に図３は、動画再生アプリケーションの機能構成等を示したブロック図である。
【００２２】
動画再生アプリケーション３０は、ソースフィルタ４０，デコーダ４１、レンダラフィリタ４２、スレッド優先度調整部４３、レジスタ等であるスレッド優先度定義部５０等を備えている。さらに、スレッド優先度調整部４３は、スレッド監視部４５、スレッド優先度読み込み部４４、スレッド優先度変更部４６を備えている。
【００２３】
ソースフィルタ４０は、デコードする動画データの管理および送信を行う。デコーダ４１は、動画データのデコードを行う。レンダラフィリタ４２は、デコードした動画データの描画を行う。スレッド優先度調整部４３は、各スレッド処理の優先度を制御する。スレッド優先度定義部５０は、レジストリ等であり、各スレッド処理の優先度情報のパラメータセットをテーブルとして記憶している。本実施形態では、優先度情報のパラメータセットを機種毎に組み込んで設定するのではなく、レジストリ等の外部から定義ファイルとして読み込むようにしている。スレッド監視部４５は、各スレッド処理の負荷状態を監視し、最適な優先度を決定する。スレッド優先度読み込み部４４は、予め定義されたスレッド処理の優先度情報をスレッド優先度定義部５０から読み込む。スレッド優先度変更部４６は、各スレッド処理を優先度情報に従い、スレッドの優先度を設定する。
【００２４】
次に、図４のフローチャートを参照して、本発明の実施形態に係る情報処理装置を適用した制御方法について説明する。なお、本発明には、例えば以下の２通りの処理が考えられるが、本実施形態では、１．の形態について説明する。
【００２５】
１．予めデフォルトの優先度情報のパラメータセットを読み込み、各スレッドの負荷状況に応じて、読み込むパラメータセットを変更する。
【００２６】
２．予め優先度情報のパラメータセットを読み込み、読み込んだパラメータセットで以降のスレッド処理を行う（スレッドの負荷状況に応じて、読み込むパラメータセットを変更しない）。
【００２７】
まず、予め、レジストリ等であるスレッド優先度定義部５０に、図５に示すような各スレッドのパラメータセットを記憶する。例えば、「設定Ａ」〜「設定Ｄ」の４通りを記憶する。
【００２８】
ＣＰＵ１０１は、ＨＤＤ１１１から主メモリ１０３に動画再生アプリケーション３０をロードする。動画再生アプリケーション３０のスレッド優先度調整部４３のスレッド優先度読み込み部４４は、予め定義されたスレッド処理の優先度情報のパラメータセットをスレッド優先度定義部５０から読み込む（ステップＳ１０１）。例えば、スレッド処理の優先度情報のパラメータセットとしては、例えば、図５に示すように、複数の設定パラメータセットであるＡ〜Ｄの４通りがテーブルとして記憶されているものとする。例えば、デフォルトの設定を「設定Ｂ」とすると、ステップＳ１０１では、「設定Ｂ」を読み出し、スレッド優先度変更部４６によって設定する。「設定Ｂ」では、例えば、動画データの描画スレッド（処理）は、優先度５、デコードフレームの送出（処理）は、優先度３、デコードスレッド（処理）は、優先度４、動画データのソース供給（処理）は、優先度３、そして、その他の処理（ユーザインターフェースの描画処理等）の優先度を２として設定する。
【００２９】
続いて、動画再生アプリケーション３０は、動画再生処理を開始する（ステップＳ１０２）。上述した各スレッド処理、すなわち、動画データの描画スレッド、デコードフレームの送出、デコードスレッド、動画データのソース供給、その他の処理が順次行われる。ソースフィルタ４０は、デコードする動画データの管理および送信（ソース供給、デコードフレームの送出）を行う。デコーダ４１は、動画データのデコード（デコードスレッド）を行う。レンダラフィリタ４２は、デコードした動画データの描画（描画スレッド）を行う。
【００３０】
スレッド優先度調整部４３のスレッド監視部４５は、上述した各スレッド（処理）の負荷状態に基づいて、最適な優先度を決定する。例えば、「設定Ｂ」の状態であるときに、動画データの再生にこま落ちが発生した場合は、「設定Ｃ」の定義を読み込むことにより、デコードフレームの送出（処理）の優先度を上げる。また、最適な優先度（パラメータセット）が決定された後は、この最適な優先度（パラメータセット）である「設定Ｃ」をデフォルトのパラメータセットとして、ステップＳ１０１で読み込むことも可能である。
【００３１】
このように、ＨＤ  ＤＶＤプレーヤのような、複数のスレッドでタイミングを取りながら処理を行うシステムでは、各処理の重要度に応じたスレッド優先度のバランスが重要である。本実施形態では、各スレッド優先度のバランスをシステム内で最適に保つことができる。例えば、動作時に予め計測等により決定されたスレッド優先度のパラメータセットを読み込んで決定する方法と、システムの状況から判断して最適値に自動調整する方法がある。精度は予め測定により決定したパラメータの方が精度が高く設定できるが、不特定の環境では、自動調整機能が有効である。
【００３２】
以上、本発明を用いることにより、動画データの再生の負荷状況に応じて、定義ファイル（パラメータ）を読み込むことで、リビルド処理を行うことなく、スレッド処理の優先度を適切に変更することができる。
【００３３】
なお、本実施形態では、パーソナルコンピュータ１０について説明したが、特にこれに限定されるものではなく、ＨＤ  ＤＶＤプレーヤ等の動画再生機能を備えた機器にも適用できる。
【００３４】
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施形態に係るコンピュータの概観を示す斜視図。
【図２】本発明の一実施形態に係るコンピュータのシステム構成の例を示すブロック図。
【図３】本発明の一実施形態に係る動画再生アプリケーションの機能構成等を示したブロック図。
【図４】本発明の一実施形態に係るコンピュータに係る制御方法を説明したフローチャート。
【図５】パラメータセットのテーブルの一例を示した模式図。
【符号の説明】
【００３６】
１０…コンピュータ、３０…動画再生アプリケーション、１０１…ＣＰＵ、１０３…主メモリ、１０５…表示コントローラ（ＧＰＵ）、１０５Ａ…ビデオメモリ（ＶＲＡＭ）
【図１】
2008276569.tif 000003
【図２】
2008276569.tif 000004
【図３】
2008276569.tif 000005
【図４】
2008276569.tif 000006
【図５】
2008276569.tif 000007