(57)【特許請求の範囲】
【請求項１】
特定演算データに対して演算器が演算を行う期間、前記演算器の消費電力に関する制御を行う装置であって、
前記特定演算データに対して前記演算器が演算を行う期間、演算対象となる部分のデータ長に基づいて予め前記演算器のクロック周波数を決定し、
前記演算対象となる部分の実際の演算に先だって前記演算器のクロック周波数を前記決定したクロック周波数に調整し、前記実際の演算を行わせるようになっていることを特徴とする演算器の電力制御装置。
【請求項２】
複数の演算単位に区分されている特定演算データに対して演算器が演算を行う期間、前記演算器の消費電力に関する制御を行う装置であって、
前記演算器の消費電力に関する制御を行う電力制御手段を備え、前記電力制御手段は、
前記各演算単位ごとに、当該演算単位のデータに対して前記演算器が演算を行う期間、当該演算単位のデータ長に基づいて予め前記演算器のクロック周波数を決定し、
前記演算対象となる部分の実際の演算に先だって前記演算器のクロック周波数を前記決定したクロック周波数に調整し、前記実際の演算を行わせることを特徴とする演算器の電力制御装置。
【請求項３】
請求項２において、さらに、前記演算単位のデータに基づいて当該演算単位のデータ長を取得するデータ長取得手段を備え、前記電力制御手段は、前記演算単位のデータに対して前記演算器が演算を行う期間、前記データ長取得手段で取得したデータ長に基づいて、前記演算器の消費電力に関する制御を行うようになっていることを特徴とする演算器の電力制御装置。
【請求項４】
請求項２及び３のいずれかにおいて、前記特定演算データは、前記演算器が演算を行った場合にデータ長が演算負荷に応じたものとなるデータを前記演算単位のデータとして含むことを特徴とする演算器の電力制御装置。
【請求項５】
請求項２乃至４のいずれかにおいて、前記電力制御手段は、前記各演算単位ごとに、当該演算単位のデータに対して前記演算器が演算を行う期間、当該演算単位のデータ長に基づいて、前記演算器の消費電力が低減されるように、前記演算器に供給するクロック周波数を決定するようになっていることを特徴とする演算器の電力制御装置。
【請求項６】
請求項５において、前記特定演算データは、複数の演算単位に区分されている第１種特定演算データと、複数の演算単位に区分されている第２種特定演算データとを含み、前記電力制御手段は、前記第１種特定演算データ及び前記第２種特定演算データに対して前記演算器が並列に演算を行う期間、前記第１種特定演算データのうち演算対象となる演算単位のデータ長及び前記第２種特定演算データのうち演算対象となる演算単位のデータ長に基づいて、前記演算器の消費電力が低減されるように、前記演算器に供給するクロック周波数を決定するようになっていることを特徴とする演算器の電力制御装置。
【請求項７】
請求項６において、前記電力制御手段は、前記第１種特定演算データのうち演算対象となる演算単位のデータ長に第１係数を乗算し、前記第２種特定演算データのうち演算対象となる演算単位のデータ長に第２係数を乗算し、それら乗算結果の加算値に基づいて前記演算器に供給する周波数を決定するようになっていることを特徴とする演算器の電力制御装置。
【請求項８】
請求項７において、前記電力制御手段は、前記演算単位のデータに対して前記演算器が演算を完了するまでに要する予定時間よりも、当該データに対して前記演算器が演算を完了するまでに要した実時間が短いときは、前記演算器に供給する周波数が低くなるように、前記第１係数及び前記第２係数のいずれか又は両方を修正するようになっていることを特徴とする演算器の電力制御装置。
【請求項９】
請求項８において、前記電力制御手段は、前記予定時間のうち前記実時間を控除した残り時間、前記演算器に供給する周波数を前記演算器の許容最小周波数に設定するようになっていることを特徴とする演算器の電力制御装置。
【請求項１０】
請求項７において、前記電力制御手段は、前記演算単位のデータに対して前記演算器が演算を完了するまでに要する予定時間よりも、当該データに対して前記演算器が演算を完了するまでに要した実時間が長いときは、前記演算器に供給する周波数が高くなるように、前記第１係数及び前記第２係数のいずれか又は両方を修正するようになっていることを特徴とする演算器の電力制御装置。
【請求項１１】
請求項６乃至１０のいずれかにおいて、前記第１種特定演算データは、離散コサイン変換によりエンコードされた動画データであり、前記第２種特定演算データは、離散コサイン変換によりエンコードされた音楽データであることを特徴とする演算器の電力制御装置。
【請求項１２】
請求項１乃至１１のいずれかに記載の演算器の電力制御装置を、離散コサイン変換によりエンコードされた動画データ又は音楽データをデコードするデコーダに適用したことを特徴とする省電力デコーダ。
【請求項１３】
特定演算データに対して演算器が演算を行う期間、前記演算器の消費電力に関する制御を行うプログラムであって、前記特定演算データに対して前記演算器が演算を行う期間、演算対象となる部分のデータ長に基づいて予め前記演算器のクロック周波数を決定させ、前記演算対象となる部分の実際の演算に先だって前記演算器のクロック周波数を前記決定したクロック周波数に調整させ、前記実際の演算を行わせる処理をコンピュータに実行させるためのプログラムであることを特徴とする演算器の電力制御プログラム。
【請求項１４】
特定演算データに対して演算器が演算を行う期間、前記演算器の消費電力に関する制御を行う方法であって、前記特定演算データに対して前記演算器が演算を行う期間、演算対象となる部分のデータ長に基づいて予め前記演算器のクロック周波数を決定し、
前記演算対象となる部分の実際の演算に先だって前記演算器のクロック周波数を前記決定したクロック周波数に調整し、前記実際の演算を行うことを特徴とする演算器の電力制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、演算器の消費電力に関する制御を行う装置、デコーダおよびプログラム、並びに方法に係り、特に、省電力化を図るのに好適な演算器の電力制御装置、省電力デコーダおよび演算器の電力制御プログラム、並びに演算器の電力制御方法に関する。
【０００２】
【従来の技術】
従来の演算処理プロセッサは、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）データをデコードするときに、ＭＰＥＧデータの内容にかかわらず一定のクロック周波数で動作している。
また、省電力化を図る演算処理プロセッサもあり、これは、演算処理プロセッサの演算負荷を監視する演算負荷監視回路を設け、演算負荷監視回路で監視結果に基づいてクロック周波数を調整している。
【０００３】
【発明が解決しようとする課題】
ＭＰＥＧデータには、動画データおよび音楽データが含まれ、動画データとしては、１フレームの動画像を構成するフレームデータが所定フレーム分含まれている。演算処理プロセッサは、動画データに基づいて動画を再生する場合、各フレームデータごとにそのフレームデータをデコードする。このデコードは、一定のフレームレート内で完了する必要がある。
【０００４】
しかしながら、従来の演算処理プロセッサにあっては、ＭＰＥＧデータの内容にかかわらず一定のクロック周波数で動作しているため、フレームレート内でフレームデータのデコードが完了した場合、そのフレームレート内の残り時間については、演算処理プロセッサが演算を行う必要がないにもかかわらず高いクロック周波数で動作することとなり、消費電力が大きいという問題があった。
【０００５】
また、従来の省電力化を図る演算処理プロセッサにあっては、演算負荷監視回路を設けているため、演算負荷監視回路で電力の消費があり、省電力化を図るには不十分であった。
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、省電力化を図るのに好適な演算器の電力制御装置、省電力デコーダおよび演算器の電力制御プログラム、並びに演算器の電力制御方法を提供することを目的としている。
【０００６】
【課題を解決するための手段】
本発明者は、鋭意検討を重ねた結果、ＭＰＥＧデータに含まれる各フレームデータは、これにより構成される動画像の内容によって演算器の演算負荷が異なり、その演算負荷は、フレームデータのデータ長にほぼ依存（通常のフレームの場合は比例、一方、時間的に前後のフレームデータの情報を参照して復号されるフレームにおいては反比例）するという性質があることを見出した。したがって、フレームデータのデータ長を利用すれば、演算負荷監視回路を設けずとも省電力化を図ることができるということが分かった。このことは、ＭＰＥＧデータに限らず、離散コサイン変換によりエンコードされたデータ、またはこれに類似する性質を有するデータに対して演算器が演算を行う場合についても同様に応用することができる。
【０００７】
上記目的を達成するために、本発明に係る請求項１記載の演算器の電力制御装置は、特定演算データに対して演算器が演算を行う期間、前記演算器の消費電力に関する制御を行う装置であって、前記特定演算データに対して前記演算器が演算を行う期間、演算対象となる部分のデータ長に基づいて予め前記演算器のクロック周波数を決定し、
前記演算対象となる部分の実際の演算に先だって前記演算器のクロック周波数を前記決定したクロック周波数に調整し、前記実際の演算を行わせるようになっている。
【０００８】
このような構成であれば、特定演算データに対して演算器が演算を行う期間、演算対象となる部分のデータ長に基づいて演算器の消費電力に関する制御が行われる。
ここで、演算器の消費電力に関する制御は、どのようなものであってもよく、例えば、演算器に供給するクロックを調整する制御であってもよいし、演算器に供給する電力を調整する制御であってもよいし、演算器に供給する周波数または電圧を調整する制御であってもよい。以下、請求項１２記載の省電力デコーダ、請求項１３記載の演算器の電力制御プログラム、および請求項１４記載の演算器の電力制御方法において同じである。
【０００９】
さらに、本発明に係る請求項２記載の演算器の電力制御装置は、複数の演算単位に区分されている特定演算データに対して演算器が演算を行う期間、前記演算器の消費電力に関する制御を行う装置であって、前記演算器の消費電力に関する制御を行う電力制御手段を備え、前記電力制御手段は、前記各演算単位ごとに、当該演算単位のデータに対して前記演算器が演算を行う期間、当該演算単位のデータ長に基づいて予め前記演算器のクロック周波数を決定し、前記演算対象となる部分の実際の演算に先だって前記演算器のクロック周波数を前記決定したクロック周波数に調整し、前記実際の演算を行わせるようになっている。
【００１０】
このような構成であれば、電力制御手段により、各演算単位ごとに、その演算単位のデータに対して演算器が演算を行う期間、その演算単位のデータ長に基づいて、演算器の消費電力に関する制御が行われる。
ここで、電力制御手段は、演算器の消費電力に関する制御を行うようになっていればどのような構成であってもよく、演算器の消費電力に関する制御は、例えば、演算器に供給するクロックを調整する制御であってもよいし、演算器に供給する電力を調整する制御であってもよいし、演算器に供給する周波数または電圧を調整する制御であってもよい。以下、請求項１２記載の省電力デコーダにおいて同じである。
【００１１】
さらに、本発明に係る請求項３記載の演算器の電力制御装置は、請求項２記載の演算器の電力制御装置において、さらに、前記演算単位のデータに基づいて当該演算単位のデータ長を取得するデータ長取得手段を備え、前記電力制御手段は、前記演算単位のデータに対して前記演算器が演算を行う期間、前記データ長取得手段で取得したデータ長に基づいて、前記演算器の消費電力に関する制御を行うようになっている。
【００１２】
このような構成であれば、データ長取得手段により、演算単位のデータに基づいてその演算単位のデータ長が取得され、電力制御手段により、演算単位のデータに対して演算器が演算を行う期間、取得されたデータ長に基づいて、演算器の消費電力に関する制御が行われる。
ここで、データ長取得手段は、演算単位のデータに基づいてその演算単位のデータ長を取得するようになっていればどのような構成であってもよく、例えば、演算単位のデータにそのデータ長を示すヘッダ等が付加されている場合は、ヘッダ等からデータ長を取得するようになっていてもよいし、演算単位のデータにそのデータ長を示すヘッダ等が付加されていない場合は、演算単位のデータから直接データ長を算出することによりデータ長を取得するようになっていてもよい。以下、請求項１２記載の省電力デコーダにおいて同じである。
【００１３】
さらに、本発明に係る請求項４記載の演算器の電力制御装置は、請求項２および３のいずれかに記載の演算器の電力制御装置において、前記特定演算データは、前記演算器が演算を行った場合にデータ長が演算負荷に応じたものとなるデータを前記演算単位のデータとして含む。
このような構成であれば、特定演算データには、データ長が演算負荷に応じたものとなるデータが演算単位のデータとして含まれているので、その演算単位のデータに対して演算器が演算を行う期間、消費電力を低減することができる。
【００１４】
さらに、本発明に係る請求項５記載の演算器の電力制御装置は、請求項２乃至４のいずれかに記載の電力制御装置において、前記電力制御手段は、前記各演算単位ごとに、当該演算単位のデータに対して前記演算器が演算を行う期間、当該演算単位のデータ長に基づいて、前記演算器の消費電力が低減されるように、前記演算器に供給するクロック周波数を決定するようになっている。
【００１５】
このような構成であれば、電力制御手段により、各演算単位毎に、その演算単位のデータにたいして演算器が演算を行う期間、その演算単位のデータ長に基づいて、演算器の消費電力が低減されるように、演算器に供給する周波数が決定される。
さらに、本発明に係る請求項６記載の演算器の電力制御装置は、 請求項５記載の演算器の電力制御装置において、前記特定演算データは、複数の演算単位に区分されている第１種特定演算データと、複数の演算単位に区分されている第２種特定演算データとを含み、前記電力制御手段は、前記第１種特定演算データ及び前記第２種特定演算データに対して前記演算器が並列に演算を行う期間、前記第１種特定演算データのうち演算対象となる演算単位のデータ長及び前記第２種特定演算データのうち演算対象となる演算単位のデータ長に基づいて、前記演算器の消費電力が低減されるように、前記演算器に供給するクロック周波数を決定するようになっている。
【００１６】
このような構成であれば、電力制御手段により、第１種特定演算データ及び第２種特定演算データに対して演算器が並列に演算を行う期間、第１種特定演算データのうち演算対象となる演算単位のデータ長及び第２種特定演算データのうち演算対象となる演算単位のデータ長に基づいて、演算器の消費電力が低減されるように、演算器に供給するクロック周波数が決定される。
【００１７】
さらに、本発明に係る請求項７記載の演算器の電力制御装置は、請求項６記載の演算器の電力制御装置において、前記電力制御手段は、前記第１種特定演算データのうち演算対象となる演算単位のデータ長に第１係数を乗算し、前記第２種特定演算データのうち演算対象となる演算単位のデータ長に第２係数を乗算し、それら乗算結果の加算値に基づいて前記演算器に供給する周波数を決定するようになっている。
【００１８】
このような構成であれば、電力制御手段により、第１種特定演算データのうち演算対象となる演算単位のデータ長に第１係数が乗算され、第２種特定演算データのうち演算対象となる演算単位のデータ長に第２係数が乗算される。そして、それら乗算結果の加算値に基づいて演算器に供給する周波数が決定される。
さらに、本発明に係る請求項８記載の演算器の電力制御装置は、請求項７記載の演算器の電力制御装置において、前記電力制御手段は、前記演算単位のデータに対して前記演算器が演算を完了するまでに要する予定時間よりも、当該データに対して前記演算器が演算を完了するまでに要した実時間が短いときは、前記演算器に供給する周波数が低くなるように、前記第１係数および前記第２係数のいずれかまたは両方を修正するようになっている。
【００１９】
このような構成であれば、予定時間よりも実時間が短いと、電力制御手段により、演算器に供給する周波数が低くなるように、第１係数および第２係数のいずれかまたは両方が修正される。
さらに、本発明に係る請求項９記載の演算器の電力制御装置は、請求項８記載の演算器の電力制御装置において、前記電力制御手段は、前記予定時間のうち前記実時間を控除した残り時間、前記演算器に供給する周波数を前記演算器の許容最小周波数に設定するようになっている。
【００２０】
このような構成であれば、電力制御手段により、予定時間のうち実時間を控除した残り時間、演算器に供給する周波数が演算器の許容最小周波数に設定される。
さらに、本発明に係る請求項１０記載の演算器の電力制御装置は、請求項７記載の演算器の電力制御装置において、前記電力制御手段は、前記演算単位のデータに対して前記演算器が演算を完了するまでに要する予定時間よりも、当該データに対して前記演算器が演算を完了するまでに要した実時間が長いときは、前記演算器に供給する周波数が高くなるように、前記第１係数および前記第２係数のいずれかまたは両方を修正するようになっている。
【００２１】
このような構成であれば、予定時間よりも実時間が長いと、電力制御手段により、演算器に供給する周波数が高くなるように、第１係数および第２係数のいずれかまたは両方が修正される。
さらに、本発明に係る請求項１１記載の演算器の電力制御装置は、請求項６ないし１０のいずれかに記載の演算器の電力制御装置において、前記第１種特定演算データは、離散コサイン変換によりエンコードされた動画データであり、前記第２種特定演算データは、離散コサイン変換によりエンコードされた音楽データである。
【００２２】
このような構成であれば、電力制御手段により、動画データおよび音楽データに対して演算器が並列に演算を行う期間、動画データのうち演算対象となる演算単位のデータ長および音楽データのうち演算対象となる演算単位のデータ長に基づいて、演算器の消費電力が低減されるように、演算器に供給する周波数が調整される。
【００２３】
一方、上記目的を達成するために、本発明に係る請求項１２記載の省電力デコーダは、請求項１ないし１１のいずれかに記載の演算器の電力制御装置を、離散コサイン変換によりエンコードされた動画データまたは音楽データをデコードするデコーダに適用した。
このような構成であれば、離散コサイン変換によりエンコードされた動画データまたは音楽データがデコードされると、請求項１ないし１１のいずれかに記載の演算器の電力制御装置と同等の作用が得られる。
【００２４】
一方、上記目的を達成するために、本発明に係る請求項１３記載の演算器の電力制御プログラムは、特定演算データに対して演算器が演算を行う期間、前記演算器の消費電力に関する制御を行うプログラムであって、前記特定演算データに対して前記演算器が演算を行う期間、演算対象となる部分のデータ長に基づいて予め前記演算器のクロック周波数を決定させ、前記演算対象となる部分の実際の演算に先だって前記演算器のクロック周波数を前記決定したクロック周波数に調整させ、前記実際の演算を行わせる処理をコンピュータに実行させるためのプログラムである。
【００２５】
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、請求項１記載の演算器の電力制御装置と同等の作用が得られる。
一方、上記目的を達成するために、本発明に係る請求項１４記載の演算器の電力制御方法は、 特定演算データに対して演算器が演算を行う期間、前記演算器の消費電力に関する制御を行う方法であって、前記特定演算データに対して前記演算器が演算を行う期間、演算対象となる部分のデータ長に基づいて予め前記演算器のクロック周波数を決定し、前記演算対象となる部分の実際の演算に先だって前記演算器のクロック周波数を前記決定したクロック周波数に調整し、前記実際の演算を行うための制御を行う。
【００２６】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。図１ないし図５は、本発明に係る演算器の電力制御装置、省電力デコーダおよび演算器の電力制御プログラム、並びに演算器の電力制御方法の実施の形態を示す図である。
本実施の形態は、本発明に係る演算器の電力制御装置、省電力デコーダおよび演算器の電力制御プログラム、並びに演算器の電力制御方法を、図１に示すように、ＭＰＥＧデコーダ１００においてＭＰＥＧデータを再生する場合について適用したものである。
【００２７】
まず、ＭＰＥＧデコーダ１００の構成を図１を参照しながら説明する。図１は、ＭＰＥＧデコーダ１００の構成を示すブロック図である。
ＭＰＥＧデコーダ１００は、図１に示すように、制御プログラムに基づいて演算およびシステム全体を制御するＣＰＵ３０と、所定領域にあらかじめＣＰＵ３０の制御プログラムを格納しているメモリ３２と、クロック周波数の設定に関するステータス情報３４に基づいてＣＰＵ３０に供給するクロック周波数を調整するクロック制御部３６と、ＭＰＥＧデータのうち動画データを格納するためのビデオバッファ３８と、ビデオバッファ３８の動画データに基づいて動画を再生するビデオ出力部４０と、ＭＰＥＧデータのうち音楽データを格納するためのオーディオバッファ４２と、オーディオバッファ４２の音楽データに基づいて音楽を再生するオーディオ出力部４４とで構成されている。
【００２８】
次に、ＭＰＥＧデータのデータ構造を図２を参照しながら説明する。図２は、ＭＰＥＧデータのデータ構造を示す図である。
ＭＰＥＧデータは、図２に示すように、ヘッダ情報を含むヘッダ部３０２を先頭に含み、ヘッダ部３０２の後続には、複数の動画データ３０４および複数の音楽データ３０６が混在して含まれている。
【００２９】
ヘッダ部３０２は、動画を構成する各フレームの単位時間当たりの再生枚数を示すフレームレートと、１フレームの大きさを示すイメージサイズと、音楽を出力するチャネル番号と、音楽データ３０６のサンプリングレートと、音楽データ３０６のフレーム番号と、ＭＰＥＧデータの総データ長とをヘッダ情報として含んでいる。なお、図２中、動画データ３０４に関するパラメータは「（Ｖ）」と表記し、音楽データ３０６に関するパラメータは「（Ａ）」と表記し、動画データ３０４および音楽データ３０６に関するパラメータは「（Ｖ／Ａ）」と表記している。
【００３０】
動画データ３０４は、ヘッダ情報を含むヘッダ部３０８と、１フレームの動画像を構成するフレームデータ３１０とから構成されている。ヘッダ部３０８は、フレームデータ３１０のデータ長Ｌｖを示すビット長と、フレームデータ３１０のデコードを完了すべき予定時間または予定時刻を示すデコード時間と、フレームデータ３１０に基づいて動画像の再生を完了すべき予定時間または予定時刻を示す再生時間とをヘッダ情報として含んでいる。フレームデータ３１０は、離散コサイン変換によりエンコードされている。
【００３１】
音楽データ３０６は、ヘッダ情報を含むヘッダ部３１２と、１フレームの音楽を構成するフレームデータ３１４とから構成されている。ヘッダ部３１２は、フレームデータ３１４のデータ長Ｌａを示すビット長と、フレームデータ３１４のデコードを完了すべき予定時間または予定時刻を示すデコード時間と、フレームデータ３１４に基づいて音楽の再生を完了すべき予定時間または予定時刻を示す再生時間とをヘッダ情報として含んでいる。フレームデータ３１４は、離散コサイン変換によりエンコードされている。
【００３２】
動画像の再生は、各動画データ３０４のヘッダ部３０８によりスケジューリングされ、同様に、音楽の再生は、各音楽データ３０６のヘッダ部３１２によりスケジューリングされるため、それぞれの再生を独立して行う必要がある。そのため、ＣＰＵ３０は、動画データ３０４および音楽データ３０６のデコードを並列に行っている。以下、動画データ３０４および音楽データ３０６を区別しない場合は、それらをアクセスユニットと称する。
【００３３】
クロック制御部３６は、クロック周波数の設定に関するステータス情報３４を内部メモリ等に有し、内部メモリ等からステータス情報３４を読み出し、読み出したステータス情報３４に基づいてＣＰＵ３０のクロック周波数を調整するようになっている。内部メモリ等のステータス情報３４は、ＣＰＵ３０が書換可能であり、ＣＰＵ３０がステータス情報３４を書き換えることによりクロック制御部３６を制御する。
【００３４】
ステータス情報３４は、動画データ３０４のデコード時のクロック周波数を算出するのに用いる係数αと、音楽データ３０６のデコード時のクロック周波数を算出するのに用いる係数βと、フレームデータ３１０のデータ長Ｌｖと、フレームデータ３１４のデータ長Ｌａとを含んでいる。
クロック制御部３６は、下式（１）により、フレームデータ３１０のデータ長Ｌｖに係数αを乗算し、フレームデータ３１４のデータ長Ｌａに係数βを乗算し、それら乗算値を加算することによりクロック周波数Ｆを算出し、算出したクロック周波数ＦとなるようにＣＰＵ３０のクロック周波数を調整する。クロック周波数Ｆの算出は、所定周期ごとに行う。すなわち、ＣＰＵ３０がステータス情報３４を書き換えることで、所定周期ごとにＣＰＵ３０のクロック周波数を調整することができる。
Ｆ＝  Ｌｖ×α  ＋  Ｌａ×β                                  …（１）
ＣＰＵ３０は、マイクロプロセッシングユニットＭＰＵ等からなり、ＭＰＥＧデータをデコードするときは、メモリ３２の所定領域に格納されている所定のプログラムを起動させ、そのプログラムに従って、図３および図４のフローチャートに示す動画データデコード処理および音楽データデコード処理をそれぞれ時分割で実行するようになっている。
【００３５】
初めに、動画データデコード処理を図３を参照しながら説明する。図３は、動画データデコード処理を示すフローチャートである。
動画データデコード処理は、ＭＰＥＧデータのうち動画データ３０４をデコードする処理であって、ＣＰＵ３０において実行されると、図３に示すように、まず、ステップＳ１００に移行するようになっている。
【００３６】
ステップＳ１００では、ＭＰＥＧデータにおけるデコードポイントが動画データ３０４の先頭であるか否かを判定し、デコードポイントが動画データ３０４の先頭であると判定したとき（Ｙｅｓ）は、ステップＳ１０２に移行するが、そうでないと判定したとき（Ｎｏ）は、デコードポイントが動画データ３０４の先頭にくるまでステップＳ１００で待機する。
【００３７】
ステップＳ１０２では、フレームデータ３１０のデータ長Ｌｖを動画データ３０４から検出したか否かを判定し、フレームデータ３１０のデータ長Ｌｖを検出したと判定したとき（Ｙｅｓ）は、ステップＳ１０４に移行して、フレームデータ３１０のデータ長Ｌｖを取得し、ステップＳ１０６に移行して、ステータス情報３４のうちフレームデータ３１０のデータ長Ｌｖを、取得したデータ長Ｌｖに書き換え、ステップＳ１０８に移行する。
【００３８】
ステップＳ１０８では、タイマをセットし、ステップＳ１１０に移行して、フレームデータ３１０をデコードし、ステップＳ１１２に移行して、デコードポイントが動画データ３０４の末尾であるか否かを判定し、デコードポイントが動画データ３０４の末尾であると判定したとき（Ｙｅｓ）は、ステップＳ１１４に移行するが、そうでないと判定したとき（Ｎｏ）は、ステップＳ１１０に移行する。
【００３９】
ステップＳ１１４では、デコードポイントがＭＰＥＧデータの末尾であるか否かを判定し、デコードポイントがＭＰＥＧデータの末尾でないと判定したとき（Ｎｏ）は、ステップＳ１１６に移行して、タイマの値に基づいてフレームデータ３１０のデコードを完了するまでに要した実時間を算出し、ステップＳ１１７に移行する。
【００４０】
ステップＳ１１７では、フレームデータ３１０のデコードを完了すべき予定時間よりも実時間が短いか否かを判定し、予定時間よりも実時間が短いと判定したとき（Ｙｅｓ）は、ステップＳ１１８に移行して、ステータス情報３４から係数αを取得し、ステップＳ１２０に移行して、取得した係数αを減算することにより係数αを下方修正し、ステップＳ１２２に移行して、ステータス情報３４のうち係数αを修正後の係数αに書き換え、ステップＳ１２４に移行する。係数αを下方修正することにより、クロック制御部３６では、次回以降同様のデコードを行う場合に動画データ３０４のデコード時のクロック周波数が低くなるようにＣＰＵ３０のクロック周波数が調整される。
【００４１】
ステップＳ１２４では、ステータス情報３４のうちフレームデータ３１０のデータ長Ｌｖを「０」に書き換え、ステップＳ１２６に移行して、タイマをセットし、ステップＳ１２８に移行して、タイマの値に基づいて予定時間から実時間を控除した残り時間が経過したか否かを判定し、残り時間が経過したと判定したとき（Ｙｅｓ）は、ステップＳ１００に移行するが、そうでないと判定したとき（Ｎｏ）は、残り時間が経過するまでステップＳ１２８で待機する。
【００４２】
一方、ステップＳ１１７で、予定時間よりも実時間が長いと判定したとき（Ｎｏ）は、ステップＳ１３０に移行して、ステータス情報３４から係数αを取得し、ステップＳ１３２に移行して、取得した係数αを加算することにより係数αを上方修正し、ステップＳ１３４に移行して、ステータス情報３４のうち係数αを修正後の係数αに書き換え、ステップＳ１００に移行する。係数αを上方修正することにより、クロック制御部３６では、次回以降同様のデコードを行う場合に動画データ３０４のデコード時のクロック周波数が高くなるようにＣＰＵ３０のクロック周波数が調整される。
【００４３】
一方、ステップＳ１１４で、デコードポイントがＭＰＥＧデータの末尾であると判定したとき（Ｙｅｓ）は、一連の処理を終了して元の処理に復帰させる。
一方、ステップＳ１０２で、フレームデータ３１０のデータ長Ｌｖを動画データ３０４から検出しないと判定したとき（Ｎｏ）は、ステップＳ１３６に移行して、フレームデータ３１０に基づいてデータ長Ｌｖを算出することによりデータ長Ｌｖを取得し、ステップＳ１０６に移行する。
【００４４】
次に、音楽データデコード処理を図４を参照しながら説明する。図４は、音楽データデコード処理を示すフローチャートである。
音楽データデコード処理は、ＭＰＥＧデータのうち音楽データ３０６をデコードする処理であって、ＣＰＵ３０において実行されると、図４に示すように、まず、ステップＳ２００に移行するようになっている。
【００４５】
ステップＳ２００では、ＭＰＥＧデータにおけるデコードポイントが音楽データ３０６の先頭であるか否かを判定し、デコードポイントが音楽データ３０６の先頭であると判定したとき（Ｙｅｓ）は、ステップＳ２０２に移行するが、そうでないと判定したとき（Ｎｏ）は、デコードポイントが音楽データ３０６の先頭にくるまでステップＳ２００で待機する。
【００４６】
ステップＳ２０２では、フレームデータ３１４のデータ長Ｌａを音楽データ３０６から検出したか否かを判定し、フレームデータ３１４のデータ長Ｌａを検出したと判定したとき（Ｙｅｓ）は、ステップＳ２０４に移行して、フレームデータ３１４のデータ長Ｌａを取得し、ステップＳ２０６に移行して、ステータス情報３４のうちフレームデータ３１４のデータ長Ｌａを、取得したデータ長Ｌａに書き換え、ステップＳ２０８に移行する。
【００４７】
ステップＳ２０８では、タイマをセットし、ステップＳ２１０に移行して、フレームデータ３１４をデコードし、ステップＳ２１２に移行して、デコードポイントが音楽データ３０６の末尾であるか否かを判定し、デコードポイントが音楽データ３０６の末尾であると判定したとき（Ｙｅｓ）は、ステップＳ２１４に移行するが、そうでないと判定したとき（Ｎｏ）は、ステップＳ２１０に移行する。
【００４８】
ステップＳ２１４では、デコードポイントがＭＰＥＧデータの末尾であるか否かを判定し、デコードポイントがＭＰＥＧデータの末尾でないと判定したとき（Ｎｏ）は、ステップＳ２１６に移行して、タイマの値に基づいてフレームデータ３１４のデコードを完了するまでに要した実時間を算出し、ステップＳ２１７に移行する。
【００４９】
ステップＳ２１７では、フレームデータ３１４のデコードを完了すべき予定時間よりも実時間が短いか否かを判定し、予定時間よりも実時間が短いと判定したとき（Ｙｅｓ）は、ステップＳ２１８に移行して、ステータス情報３４から係数βを取得し、ステップＳ２２０に移行して、取得した係数βを減算することにより係数βを下方修正し、ステップＳ２２２に移行して、ステータス情報３４のうち係数βを修正後の係数βに書き換え、ステップＳ２２４に移行する。係数βを下方修正することにより、クロック制御部３６では、次回以降同様のデコードを行う場合に音楽データ３０６のデコード時のクロック周波数が低くなるようにＣＰＵ３０のクロック周波数が調整される。
【００５０】
ステップＳ２２４では、ステータス情報３４のうちフレームデータ３１４のデータ長Ｌａを「０」に書き換え、ステップＳ２２６に移行して、タイマをセットし、ステップＳ２２８に移行して、タイマの値に基づいて予定時間から実時間を控除した残り時間が経過したか否かを判定し、残り時間が経過したと判定したとき（Ｙｅｓ）は、ステップＳ２００に移行するが、そうでないと判定したとき（Ｎｏ）は、残り時間が経過するまでステップＳ２２８で待機する。
【００５１】
一方、ステップＳ２１７で、予定時間よりも実時間が長いと判定したとき（Ｎｏ）は、ステップＳ２３０に移行して、ステータス情報３４から係数βを取得し、ステップＳ２３２に移行して、取得した係数βを加算することにより係数βを上方修正し、ステップＳ２３４に移行して、ステータス情報３４のうち係数βを修正後の係数βに書き換え、ステップＳ２００に移行する。係数βを上方修正することにより、クロック制御部３６では、次回以降同様のデコードを行う場合に音楽データ３０６のデコード時のクロック周波数が高くなるようにＣＰＵ３０のクロック周波数が調整される。
【００５２】
一方、ステップＳ２１４で、デコードポイントがＭＰＥＧデータの末尾であると判定したとき（Ｙｅｓ）は、一連の処理を終了して元の処理に復帰させる。
一方、ステップＳ２０２で、フレームデータ３１４のデータ長Ｌａを音楽データ３０６から検出しないと判定したとき（Ｎｏ）は、ステップＳ２３６に移行して、フレームデータ３１４に基づいてデータ長Ｌａを算出することによりデータ長Ｌａを取得し、ステップＳ２０６に移行する。
【００５３】
次に、本実施の形態の動作を説明する。
デコード要求とともにＭＰＥＧデータが与えられると、ＣＰＵ３０により、ＭＰＥＧデータのデコードが開始される。ＭＰＥＧデータのデコードは、動画データ３０４のデコードと、音楽データ３０６のデコードとがそれぞれ独立して行われる。なお、ＭＰＥＧデータのデコードに先立って、ステータス情報３４の係数α，βおよびデータ長Ｌｖ，Ｌａには、適切な初期値が与えられているものとする。
【００５４】
ＣＰＵ３０では、デコードポイントが動画データ３０４の先頭にくると、ステップＳ１００〜Ｓ１０６を経て、動画データ３０４が読み出され、これに含まれるフレームデータ３１０のデータ長Ｌｖが取得され、ステータス情報３４のうちフレームデータ３１０のデータ長Ｌｖが、取得されたデータ長Ｌｖに書き換えられる。
【００５５】
クロック制御部３６では、ステータス情報３４のうちフレームデータ３１０のデータ長Ｌｖが書き換えられると、上式（１）により、フレームデータ３１０のデータ長Ｌｖに係数αが乗算され、フレームデータ３１４のデータ長Ｌａに係数βが乗算され、それら乗算値が加算される。これにより、クロック周波数Ｆが算出され、算出されたクロック周波数ＦとなるようにＣＰＵ３０のクロック周波数が調整される。したがって、ＣＰＵ３０のクロック周波数は、データ長Ｌｖが大きければフレームデータ３１０のデコード時の演算負荷が大きいので、その演算負荷に見合うように高く設定される。逆に、データ長Ｌｖが小さければフレームデータ３１０のデコード時の演算負荷が小さいので、消費電力が低減されるように低く設定される。
【００５６】
ＣＰＵ３０では、このように設定されたクロック周波数で動作しながら、ステップＳ１０８〜Ｓ１１２を繰り返し経て、タイマがセットされ、フレームデータ３１０がデコードされる。そして、デコードが完了すると、ステップＳ１１６，Ｓ１１７を経て、タイマの値に基づいてフレームデータ３１０のデコードを完了するまでに要した実時間が算出され、フレームデータ３１０のデコードを完了すべき予定時間と実時間とが比較される。その結果、予定時間よりも実時間が短いと判定されると、ステップＳ１１８〜Ｓ１２２を経て、ステータス情報３４から係数αが取得され、取得された係数αが減算されることにより係数αが下方修正され、ステータス情報３４のうち係数αが修正後の係数αに書き換えられる。
【００５７】
クロック制御部３６では、係数αが下方修正されると、結果として、次回以降同様のデコードを行う場合に動画データ３０４のデコード時のクロック周波数が低くなるようにＣＰＵ３０のクロック周波数が調整される。
また、ＣＰＵ３０では、ステップＳ１２４を経て、ステータス情報３４のうちフレームデータ３１０のデータ長Ｌｖが「０」に書き換えられ、ステップＳ１２８を繰り返し経て、データ長Ｌｖが「０」の状態が、予定時間から実時間を控除した残り時間だけ保持される。
【００５８】
クロック制御部３６では、ステータス情報３４のうちフレームデータ３１０のデータ長Ｌｖが「０」に書き換えられると、予定時間から実時間を控除した残り時間、ＣＰＵ３０のクロック周波数が許容最小周波数に設定される。ここで、許容最小周波数とは、上式（１）においてクロック周波数Ｆのうち動画データ３０４に係る部分を「０」にした残りの部分から算出される周波数をいう。
【００５９】
一方、ＣＰＵ３０では、予定時間と実時間との比較の結果、予定時間よりも実時間が長いと判定されると、ステップＳ１３０〜Ｓ１３４を経て、ステータス情報３４から係数αが取得され、取得された係数αが加算されることにより係数αが上方修正され、ステータス情報３４のうち係数αが修正後の係数αに書き換えられる。
【００６０】
クロック制御部３６では、係数αが上方修正されると、結果として、次回以降同様のデコードを行う場合に動画データ３０４のデコード時のクロック周波数が高くなるようにＣＰＵ３０のクロック周波数が調整される。
ＣＰＵ３０では、デコードポイントが音楽データ３０６の先頭にくると、ステップＳ２００〜Ｓ２０６を経て、音楽データ３０６が読み出され、これに含まれるフレームデータ３１４のデータ長Ｌａが取得され、ステータス情報３４のうちフレームデータ３１４のデータ長Ｌａが、取得されたデータ長Ｌａに書き換えられる。
【００６１】
クロック制御部３６では、ステータス情報３４のうちフレームデータ３１４のデータ長Ｌａが書き換えられると、上式（１）により、フレームデータ３１０のデータ長Ｌｖに係数αが乗算され、フレームデータ３１４のデータ長Ｌａに係数βが乗算され、それら乗算値が加算される。これにより、クロック周波数Ｆが算出され、算出されたクロック周波数ＦとなるようにＣＰＵ３０のクロック周波数が調整される。したがって、ＣＰＵ３０のクロック周波数は、データ長Ｌａが大きければフレームデータ３１４のデコード時の演算負荷が大きいので、その演算負荷に見合うように高く設定される。逆に、データ長Ｌａが小さければフレームデータ３１４のデコード時の演算負荷が小さいので、消費電力が低減されるように低く設定される。
【００６２】
ＣＰＵ３０では、このように設定されたクロック周波数で動作しながら、ステップＳ２０８〜Ｓ２１２を繰り返し経て、タイマがセットされ、フレームデータ３１４がデコードされる。そして、デコードが完了すると、ステップＳ２１６，Ｓ２１７を経て、タイマの値に基づいてフレームデータ３１４のデコードを完了するまでに要した実時間が算出され、フレームデータ３１４のデコードを完了すべき予定時間と実時間とが比較される。その結果、予定時間よりも実時間が短いと判定されると、ステップＳ２１８〜Ｓ２２２を経て、ステータス情報３４から係数βが取得され、取得された係数βが減算されることにより係数βが下方修正され、ステータス情報３４のうち係数βが修正後の係数βに書き換えられる。
【００６３】
クロック制御部３６では、係数βが下方修正されると、結果として、次回以降同様のデコードを行う場合に音楽データ３０６のデコード時のクロック周波数が低くなるようにＣＰＵ３０のクロック周波数が調整される。
また、ＣＰＵ３０では、ステップＳ２２４を経て、ステータス情報３４のうちフレームデータ３１４のデータ長Ｌａが「０」に書き換えられ、ステップＳ２２８を繰り返し経て、データ長Ｌａが「０」の状態が、予定時間から実時間を控除した残り時間だけ保持される。
【００６４】
クロック制御部３６では、ステータス情報３４のうちフレームデータ３１４のデータ長Ｌａが「０」に書き換えられると、予定時間から実時間を控除した残り時間、ＣＰＵ３０のクロック周波数が許容最小周波数に設定される。ここで、許容最小周波数とは、上式（１）においてクロック周波数Ｆのうち音楽データ３０６に係る部分を「０」にした残りの部分から算出される周波数をいう。
【００６５】
一方、ＣＰＵ３０では、予定時間と実時間との比較の結果、予定時間よりも実時間が長いと判定されると、ステップＳ２３０〜Ｓ２３４を経て、ステータス情報３４から係数βが取得され、取得された係数βが加算されることにより係数βが上方修正され、ステータス情報３４のうち係数βが修正後の係数βに書き換えられる。
【００６６】
クロック制御部３６では、係数βが上方修正されると、結果として、次回以降同様のデコードを行う場合に音楽データ３０６のデコード時のクロック周波数が高くなるようにＣＰＵ３０のクロック周波数が調整される。
以上により、動画データ３０４および音楽データ３０６のデコードがそれぞれ独立して行われた結果、ＣＰＵ３０のクロック周波数は、図５に示すように、データ長Ｌｖ，Ｌａが大きければフレームデータ３１０，３１４のデコード時の演算負荷が大きいので、その演算負荷に見合うように高く設定される。逆に、データ長Ｌｖ，Ｌａが小さければフレームデータ３１０，３１４のデコード時の演算負荷が小さいので、消費電力が低減されるように低く設定される。図５は、ＭＰＥＧデータのデコード時においてＣＰＵ３０のクロック周波数の推移を示すグラフである。
【００６７】
このようにして、本実施の形態では、ＭＰＥＧデータに含まれる各演算単位ごとに、その演算単位のデータに対してＣＰＵ３０が演算を行う期間、その演算単位のデータ長Ｌｖ，Ｌａに基づいて、ＣＰＵ３０の消費電力が低減されるようにＣＰＵ３０のクロック周波数を調整するようになっている。
これにより、演算単位のデータ長Ｌｖ，Ｌａに基づいてＣＰＵ３０の消費電力が低減されるようにＣＰＵ３０のクロック周波数が調整されるので、演算負荷に応じてＣＰＵ３０の消費電力を比較的適切に調整することができる。また、演算負荷監視回路を設ける必要がないので、演算負荷監視回路で消費すべき電力分を削減することができる。したがって、従来に比して、消費電力を効果的に低減することができる。
【００６８】
さらに、本実施の形態では、動画データ３０４および音楽データ３０６に対してＣＰＵ３０が並列に演算を行う期間、動画データ３０４のうち演算対象となる演算単位のデータ長Ｌｖおよび音楽データ３０６のうち演算対象となる演算単位のデータ長Ｌａに基づいて、ＣＰＵ３０の消費電力が低減されるようにＣＰＵ３０のクロック周波数を調整するようになっている。
【００６９】
これにより、動画データ３０４および音楽データ３０６に対してＣＰＵ３０が並列に演算を行う場合でも、その時の演算負荷に応じてＣＰＵ３０の消費電力を比較的適切に調整することができる。
さらに、本実施の形態では、動画データ３０４のうち演算対象となる演算単位のデータ長Ｌｖに係数αを乗算し、音楽データ３０６のうち演算対象となる演算単位のデータ長Ｌａに係数βを乗算し、それら乗算結果の加算値に基づいてＣＰＵ３０のクロック周波数Ｆを決定するようになっている。
【００７０】
これにより、係数αおよび係数βを調整することができるので、ＣＰＵ３０の性能に応じて係数αおよび係数βを調整すれば、ＣＰＵ３０の性能に応じて消費電力を効果的に低減することができる。
さらに、本実施の形態では、フレームデータ３１０，３１４のデコードを完了すべき予定時間よりも、フレームデータ３１０，３１４のデコードを完了するまでに要した実時間が短いときは、ＣＰＵ３０のクロック周波数が低くなるように係数αおよび係数βのいずれかまたは両方を修正するようになっている。
【００７１】
これにより、予定時間よりも実時間が短い場合、ＣＰＵ３０のクロック周波数が低くなるように係数αまたは係数βが修正されるので、ＣＰＵ３０の性能に応じて係数αおよび係数βを比較的適切な値に調整することができる。したがって、ＣＰＵ３０の性能に応じて消費電力をさらに効果的に低減することができる。さらに、本実施の形態では、予定時間よりも実時間が短いときは、予定時間のうち実時間を控除した残り時間、ＣＰＵ３０のクロック周波数をＣＰＵ３０の許容最小周波数に設定するようになっている。
【００７２】
これにより、予定時間のうち実時間を控除した残り時間、消費電力を低減することができる。
さらに、本実施の形態では、フレームデータ３１０，３１４のデコードを完了すべき予定時間よりも、フレームデータ３１０，３１４のデコードを完了するまでに要した実時間が長いときは、ＣＰＵ３０のクロック周波数が高くなるように係数αおよび係数βのいずれかまたは両方を修正するようになっている。
【００７３】
これにより、予定時間よりも実時間が長い場合、ＣＰＵ３０のクロック周波数が高くなるように係数αまたは係数βが修正されるので、ＣＰＵ３０の性能に応じて係数αおよび係数βを比較的適切な値に調整することができる。したがって、ＣＰＵ３０の性能に応じて消費電力をさらに効果的に低減することができる。上記実施の形態において、ＣＰＵ３０は、請求項１ないし１４記載の演算器に対応し、ステップＳ１０４，Ｓ１３６は、請求項３記載のデータ長取得手段に対応し、ステップＳ１０６〜Ｓ１３４は、請求項２、３、５ないし１０記載の電力制御手段に対応し、ＭＰＥＧデータは、請求項１、２、４、６、１３または１４記載の特定演算データに対応している。また、動画データ３０４は、請求項６、７または１１記載の第１種特定演算データに対応し、音楽データ３０６は、請求項６、７または１１記載の第２種特定演算データに対応し、係数αは、請求項７、８または１０記載の第１係数に対応し、係数βは、請求項７、８または１０記載の第２係数に対応している。
【００７４】
なお、上記実施の形態においては、ＣＰＵ３０の消費電力が低減されるようにＣＰＵ３０のクロック周波数を制御するように構成したが、これに限らず、ＣＰＵ３０の消費電力が低減されるようにＣＰＵ３０に供給する電力または電圧を制御を制御するように構成してもよいし、ＣＰＵ３０の消費電力が低減されるようにＣＰＵ３０に供給するクロック、電力または電圧の有無を制御するように構成してもよい。
【００７５】
また、上記実施の形態においては、データ長Ｌｖ，ＬｖをＭＰＥＧデータにあらかじめ含めておき、データ長Ｌｖ，ＬｖをＭＰＥＧデータから取得し、データ長Ｌｖに係数αを乗算し、データ長Ｌａに係数βを乗算し、それら乗算値を加算することによりクロック周波数Ｆを算出するように構成したが、データ長Ｌｖと係数αとの乗算値およびデータ長Ｌａと係数βとの乗算値をＭＰＥＧデータにあらかじめ含めておき、それら乗算値をＭＰＥＧデータから取得し、それら乗算値を加算することによりクロック周波数Ｆを算出するように構成してもよい。
【００７６】
また、上記実施の形態において、図３および図４のフローチャートに示す処理を実行するにあたってはいずれも、メモリ３２にあらかじめ格納されている制御プログラムを実行する場合について説明したが、これに限らず、これらの手順を示したプログラムが記憶された記憶媒体から、そのプログラムをメモリ３２に読み込んで実行するようにしてもよい。
【００７７】
ここで、記憶媒体とは、ＲＡＭ、ＲＯＭ等の半導体記憶媒体、ＦＤ、ＨＤ等の磁気記憶型記憶媒体、ＣＤ、ＣＤＶ、ＬＤ、ＤＶＤ等の光学的読取方式記憶媒体、ＭＯ等の磁気記憶型／光学的読取方式記憶媒体であって、電子的、磁気的、光学的等の読み取り方法のいかんにかかわらず、コンピュータで読み取り可能な記憶媒体であれば、あらゆる記憶媒体を含むものである。
【００７８】
また、上記実施の形態においては、本発明に係る演算器の電力制御装置、省電力デコーダおよび演算器の電力制御プログラム、並びに演算器の電力制御方法を、図１に示すように、ＭＰＥＧデコーダ１００においてＭＰＥＧデータを再生する場合について適用したが、これに限らず、本発明の主旨を逸脱しない範囲で他の場合にも適用可能である。
【００７９】
例えば、ＭＰＥＧデータをデコードする場合に限らず、離散コサイン変換によりエンコードされたデータ、またはこれに類似する性質を有するデータに対してＣＰＵやＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等の演算器が演算を行う場合にも適用可能である。
【００８０】
【発明の効果】
以上説明したように、本発明に係る請求項１記載の演算器の電力制御装置によれば、データ長に基づいて演算器の消費電力に関する制御が行われるので、特定演算データが、データ長が演算負荷に応じたものとなるデータを含む場合は、演算負荷に応じて演算器の消費電力を比較的適切に調整することができる。また、演算負荷監視回路を設ける必要がないので、演算負荷監視回路で消費すべき電力分を削減することができる。したがって、従来に比して、消費電力を効果的に低減することができるという効果が得られる。
【００８１】
さらに、本発明に係る請求項２ないし１１記載の演算器の電力制御装置によれば、演算単位のデータ長に基づいて演算器の消費電力に関する制御が行われるので、特定演算データが、データ長が演算負荷に応じたものとなるデータを演算単位のデータとして含む場合は、演算負荷に応じて演算器の消費電力を比較的適切に調整することができる。また、演算負荷監視回路を設ける必要がないので、演算負荷監視回路で消費すべき電力分を削減することができる。したがって、従来に比して、消費電力を効果的に低減することができるという効果が得られる。
【００８２】
さらに、本発明に係る請求項４記載の演算器の電力制御装置によれば、特定演算データが、データ長が演算負荷に応じたものとなるデータを演算単位のデータとして含み、なおかつ、演算単位のデータ長に基づいて演算器の消費電力に関する制御が行われるので、演算負荷に応じて演算器の消費電力をさらに適切に調整することができる。したがって、消費電力をさらに効果的に低減することができるという効果も得られる。
【００８３】
さらに、本発明に係る請求項５ないし１１記載の演算器の電力制御装置によれば、演算単位のデータ長に基づいて演算器の消費電力が低減されるように演算器に供給する周波数が調整されるので、消費電力をさらに効果的に低減することができるという効果も得られる。
さらに、本発明に係る請求項６ないし１１記載の演算器の電力制御装置によれば、第１種特定演算データおよび第２種特定演算データに対して演算器が並列に演算を行う場合でも、その時の演算負荷に応じて演算器の消費電力を比較的適切に調整することができるという効果も得られる。
【００８４】
さらに、本発明に係る請求項７ないし１０記載の演算器の電力制御装置によれば、第１係数および第２係数を調整することができるので、演算器の性能に応じて第１係数および第２係数を調整すれば、演算器の性能に応じて消費電力を効果的に低減することができるという効果も得られる。
さらに、本発明に係る請求項８または９記載の演算器の電力制御装置によれば、予定時間よりも実時間が短い場合、演算器に供給する周波数が低くなるように第１係数または第２係数が修正されるので、演算器の性能に応じて第１係数および第２係数を比較的適切な値に調整することができる。したがって、演算器の性能に応じて消費電力をさらに効果的に低減することができるという効果も得られる。
【００８５】
さらに、本発明に係る請求項９記載の演算器の電力制御装置によれば、予定時間のうち実時間を控除した残り時間、消費電力を低減することができるという効果も得られる。
さらに、本発明に係る請求項１０記載の演算器の電力制御装置によれば、予定時間よりも実時間が長い場合、演算器に供給する周波数が高くなるように第１係数または第２係数が修正されるので、演算器の性能に応じて第１係数および第２係数を比較的適切な値に調整することができる。したがって、演算器の性能に応じて消費電力をさらに効果的に低減することができるという効果も得られる。
【００８６】
さらに、本発明に係る請求項１１記載の演算器の電力制御装置によれば、動画データおよび音楽データに対して演算器が並列に演算を行う場合でも、その時の演算負荷に応じて演算器の消費電力を比較的適切に調整することができるという効果も得られる。
一方、本発明に係る請求項１２記載の省電力デコーダによれば、請求項１ないし１１のいずれかに記載の演算器の電力制御装置と同等の効果が得られる。
【００８７】
一方、本発明に係る請求項１３記載の演算器の電力制御プログラムによれば、請求項１記載の演算器の電力制御装置と同等の効果が得られる。
一方、本発明に係る請求項１４記載の演算器の電力制御方法によれば、請求項１記載の演算器の電力制御装置と同等の効果が得られる。
【図面の簡単な説明】
【図１】ＭＰＥＧデコーダ１００の構成を示すブロック図である。
【図２】ＭＰＥＧデータのデータ構造を示す図である。
【図３】動画データデコード処理を示すフローチャートである。
【図４】音楽データデコード処理を示すフローチャートである。
【図５】ＭＰＥＧデータのデコード時においてＣＰＵ３０のクロック周波数の推移を示すグラフである。
【符号の説明】
１００                    ＭＰＥＧデコーダ
３０                      ＣＰＵ
３２                      メモリ
３４                      ステータス情報
３６                      クロック制御部
３８                      ビデオバッファ
４０                      ビデオ出力部
４２                      オーディオバッファ
４４                      オーディオ出力部
３０２                    ヘッダ部
３０４                    動画データ
３０６                    音楽データ
３０８，３１２            ヘッダ部
３１０，３１４            フレームデータ
【図１】
0003633572.tif 000002
【図２】
0003633572.tif 000003
【図３】
0003633572.tif 000004
【図４】
0003633572.tif 000005
【図５】
0003633572.tif 000006