(57)【要約】  【課題】  従来技術と比較して低消費電力化を図ることができる動画像符号化又は復号化処理システム及び動画像符号化又は復号化処理方法を提案する。  【解決手段】  所定フレームの符号化又は復号化に必要な必要演算量を計算する必要演算量計算手段２と、所定フレームの符号化処理又は復号化処理に予め割り当てられている時間内に前記必要演算量を符号化処理又は復号化処理可能な動作電源電圧及び基板バイアス電圧及び動作周波数を決定する動作決定手段３とを備え、前記プロセッサ１が前記算出された動作周波数及び動作電源電圧及び基板バイアス電圧で少なくとも２段階に動作しながら所定フレームの符号化又は復号化処理を行う。【選択図】  図２
2005210525.tif 000002
【特許請求の範囲】
【請求項１】
半導体基板にＭＯＳトランジスタが集積され、動作周波数及び基板バイアス電圧が制御可能であるプロセッサを備え、当該プロセッサが連続する複数のフレームから構成される動画像をフレーム単位で順次符号化又は復号化する動画像符号化又は復号化処理システムにおいて、これから符号化又は復号化される任意の一のフレームを所定フレームとすると、
所定フレームの符号化又は復号化に必要な必要演算量を計算する必要演算量計算手段と、所定フレームの符号化処理又は復号化処理に予め割り当てられている時間内に前記必要演算量を符号化処理又は復号化処理可能な一組の動作周波数とそれに適する基板バイアス電圧と、及び、少なくとも一組の前記動作周波数よりも低い動作周波数とそれに適する基板バイアス電圧の組とを決定する動作決定手段とを備え、
前記プロセッサは、前記動作決定手段により決定された少なくとも２組の動作周波数と基板バイアス電圧によりフレーム単位で少なくとも２段階に動作しながら所定フレームの符号化又は復号化処理を行うことを特徴とする動画像符号化又は復号化処理システム。
【請求項２】
半導体基板にＭＯＳトランジスタが集積され、動作周波数及び基板バイアス電圧及び動作電源電圧が制御可能であるプロセッサを備え、当該プロセッサが連続する複数のフレームから構成される動画像をフレーム単位で順次符号化又は復号化する動画像符号化又は復号化処理システムにおいて、これから符号化又は復号化される任意の一のフレームを所定フレームとすると、
所定フレームの符号化又は復号化に必要な必要演算量を計算する必要演算量計算手段と、所定フレームの符号化処理又は復号化処理に予め割り当てられている時間内に前記必要演算量を符号化処理又は復号化処理可能な一組の動作周波数とそれに適する基板バイアス電圧と動作電源電圧、及び、少なくとも一組の前記動作周波数よりも低い動作周波数とそれに適する基板バイアス電圧と動作電源電圧を決定する動作決定手段とを備え、
前記プロセッサは、前記動作決定手段により決定された少なくとも２組の動作周波数と基板バイアス電圧と動作電源電圧によりフレーム単位で少なくとも２段階に動作しながら、所定フレームの符号化又は復号化処理を行うことを特徴とする動画像符号化又は復号化処理システム。
【請求項３】
動作周波数及び動作電源電圧が制御可能であるプロセッサを備え、当該プロセッサが連続する複数のフレームから構成される動画像をフレーム単位で順次符号化又は復号化する動画像符号化又は復号化処理システムにおいて、これから符号化又は復号化される任意の一のフレームを所定フレームとすると、
所定フレームの符号化又は復号化に必要な必要演算量を計算する必要演算量計算手段と、所定フレームの符号化処理又は復号化処理に予め割り当てられている時間内に前記必要演算量を符号化処理又は復号化処理可能な一組の動作周波数とそれに適する動作電源電圧、及び、少なくとも一組の前記動作周波数よりも低い動作周波数とそれに適する動作電源電圧を決定する動作決定手段とを備え、
前記プロセッサは、前記動作決定手段により決定された少なくとも２組の動作周波数と動作電源電圧によりフレーム単位で少なくとも２段階に動作しながら所定フレームの符号化又は復号化処理を行うことを特徴とする動画像符号化又は復号化処理システム。
【請求項４】
前記プロセッサは動作周波数がｒ段階（ｒは２以上の整数）に可変であり、前記動作決定手段は、前記必要演算量計算手段により算出された前記所定フレームの必要演算量Ｋpと、所定フレームの処理に割り当てられる時間Ｔｅとから、時間Ｔｅ内に必要演算量Ｋpを処理するに必要な動作周波数ＦｅをＦｅ＝Ｋｐ／Ｔｅで計算し、前記プロセッサが動作可能な可能動作周波数から前記必要な動作周波数Ｆｅ以上であり且つその動作周波数Ｆｅに最も近い動作周波数と、前記必要な動作周波数Ｆｅ以下であり且つその動作周波数Ｆｅに最も近い動作周波数を、前記動作決定手段により決定される各組の動作周波数とすることを特徴とする請求項１乃至請求項３のいずれか１項に記載の動画像符号化又は復号化処理システム。
【請求項５】
前記必要演算量計算手段で算出された必要演算量が実際に必要な演算量よりも小さい場合に起きる破綻現象を回避する少なくとも一つの破綻回避手段を備えることを特徴とする請求項１乃至請求項４のいずれか１項に記載の動画像符号化又は復号化処理システム。
【請求項６】
前記破綻回避手段として、前記必要演算量計算手段により算出された必要演算量に余裕を持たせる第１の破綻回避手段を備えることを特徴とする請求項５に記載の動画像符号化又は復号化処理システム。
【請求項７】
前記第１の破綻回避手段は、必要演算量計算手段により算出された必要演算量をｍ倍（ｍは１以上の実数）又は必要演算量に０より大きい実数ｎを加算することを特徴とする請求項６記載の動画像符号化又は復号化処理システム。
【請求項８】
前記第１の破綻回避手段は、所定のタイミングで動画像符号化又は復号化手段による符号化又は復号化処理に割り込みを行い、その割り込み時点において、必要演算量計算手段で算出された所定フレームの必要演算量の残量が、符号化又は復号化処理手段による所定フレームの符号化又は復号化処理に実際に必要な演算量の残量よりも小さい場合は、プロセッサの動作周波数を上げ、その動作周波数に適する基板バイアス電圧、又は、動作電源電圧、又は、基板バイアス電圧と動作電源電圧でプロセッサを動作させることを特徴とする請求項６記載の動画像符号化又は復号化処理システム。
【請求項９】
前記第１の破綻回避手段は、所定のタイミングで動画像符号化又は復号化手段による符号化又は復号化処理に割り込みを行い、その割り込み時点において、必要演算量計算手段で算出された所定フレームの必要演算量の残量が、符号化又は復号化処理手段による所定フレームの符号化又は復号化処理に実際に必要な演算量の残量よりも小さい場合は、前記プロセッサの少なくとも２段階の動作の切替タイミングを遅く又は早くすることを特徴とする請求項６記載の動画像符号化又は復号化処理システム。
【請求項１０】
前記破綻回避手段として、所定フレームの符号化処理に予め割り当てられている時間内に所定フレームの符号化処理が終了しないと判断した場合には破綻現象を回避する処理を行う第２の破綻回避手段を備えることを特徴とする請求項５に記載の動画像符号化又は復号化処理システム。
【請求項１１】
前記第２の破綻回避手段は、所定のタイミングで動画像符号化手段による符号化処理に割り込みを行い、符号化がなされていないマクロブロックがある場合は、当該マクロブロックに対して無効ブロック化処理を行うことを特徴とする請求項８記載の動画像符号化処理システム。
【請求項１２】
連続する複数のフレームのうち前記所定フレームより前に符号化処理されるフレームを前フレームとすると、動画像符号化処理を行う場合において、前記必要演算量計算手段は、所定フレームと前フレームとの動き量、所定フレームのアクティビティの量、前フレームのアクティビティの量、前フレームの量子化ステップサイズの平均値、前フレームの量子化ステップサイズの平均値とその一つ前のフレームの量子化ステップサイズの平均値の差、前フレームのマクロブロックマッチング回数、前フレームの有効ブロック数、前フレームの有効係数の数、前フレームの符号化に実際に要した演算量、前フレームの発生ビット数、所定フレームの符号化ビットレート、所定フレームについてフレーム内符号化又はフレーム間符号化のいずれであるかの種類、必要演算量計算手段により算出された前フレームの必要演算量のうち、一つ以上の要素を使用して必要演算量を計算することを特徴とする請求項１乃至請求項１１のいずれか１項に記載の動画像符号化又は復号化処理システム。
【請求項１３】
連続する複数のフレームのうち前記所定フレームより前に復号化処理されるフレームを前フレームとすると、動画像復号化処理を行う場合において、前記必要演算量計算手段は、所定フレームの符号化データのビット数、前記所定フレームがフレーム内符号化されたものであるか又はフレーム間符号化されたものであるかの種類、所定フレーム若しくは前フレームの動きベクトルの大きさの平均値、所定フレーム若しくは前フレームの動きベクトルの大きさの分散、所定フレーム若しくは前フレームの有効ブロック数、所定フレーム若しくは前フレームの有効係数の数、所定フレーム若しくは前フレームのビットレート、所定フレーム若しくは前フレームの符号量、所定フレーム若しくは前フレームの量子化ステップサイズの平均値、量子化ステップサイズの平均値の差(所定フレームと１つ前のフレームの量子化ステップサイズの差，もしくは１つ前のフレームの量子化ステップサイズと２つ前のフレームの量子化ステップサイズの差)、前フレームの復号化に実際に要した演算量、必要演算量計算手段により算出された前フレームの必要演算量のうち一つ以上の要素を使用して必要演算量を計算することを特徴とする請求項１乃至請求項１１のいずれか１項に記載の動画像符号化又は復号化処理システム。
【請求項１４】
半導体基板にＭＯＳトランジスタが集積され、動作周波数及び基板バイアス電圧が制御可能であるプロセッサを使用して、当該プロセッサにより連続する複数のフレームから構成される動画像をフレーム単位で順次符号化又は復号化する動画像符号化又は復号化処理方法において、これから符号化又は復号化される任意の一のフレームを所定フレームとすると、
所定フレームの符号化又は復号化に必要な必要演算量を計算する必要演算量計算ステップと、所定フレームの符号化処理又は復号化処理に予め割り当てられている時間内に前記必要演算量を符号化処理又は復号化処理可能な一組の動作周波数とそれに適する基板バイアス電圧、及び、少なくとも一組の前記動作周波数よりも低い動作周波数とそれに適する基板バイアス電圧を決定する動作決定ステップとを備え、
前記プロセッサは、前記動作決定ステップにより決定された少なくとも２組の動作周波数と基板バイアス電圧によりフレーム単位で少なくとも２段階に動作しながら所定フレームの符号化又は復号化処理を行うことを特徴とする動画像符号化又は復号化処理方法。
【請求項１５】
半導体基板にＭＯＳトランジスタが集積され、動作周波数及び基板バイアス電圧及び動作電源電圧が制御可能であるプロセッサを使用して、当該プロセッサが連続する複数のフレームから構成される動画像をフレーム単位で順次符号化又は復号化する動画像符号化又は復号化処理方法において、これから符号化又は復号化される任意の一のフレームを所定フレームとすると、
所定フレームの符号化又は復号化に必要な必要演算量を計算する必要演算量計算ステップと、所定フレームの符号化処理又は復号化処理に予め割り当てられている時間内に前記必要演算量を符号化処理又は復号化処理可能な一組の動作周波数とそれに適する基板バイアス電圧と動作電源電圧、及び、少なくとも一組の前記動作周波数よりも低い動作周波数とそれに適する基板バイアス電圧と動作電源電圧を決定する動作決定ステップとを備え、
前記プロセッサは、前記動作決定ステップにより決定された少なくとも２組の動作周波数と基板バイアス電圧と動作電源電圧によりフレーム単位で少なくとも２段階に動作しながら所定フレームの符号化又は復号化処理を行うことを特徴とする動画像符号化又は復号化処理方法。
【請求項１６】
動作周波数及び動作電源電圧が制御可能であるプロセッサを使用して、当該プロセッサが連続する複数のフレームから構成される動画像をフレーム単位で順次符号化又は復号化する動画像符号化又は復号化処理方法において、これから符号化又は復号化される任意の一のフレームを所定フレームとすると、
所定フレームの符号化又は復号化に必要な必要演算量を計算する必要演算量計算ステップと、所定フレームの符号化処理又は復号化処理に予め割り当てられている時間内に前記必要演算量を符号化処理又は復号化処理可能な一組の動作周波数とそれに適する動作電源電圧、及び、少なくとも一組の前記動作周波数よりも低い動作周波数とそれに適する動作電源電圧を決定する動作決定ステップとを備え、
前記プロセッサは、前記動作決定ステップにより決定された少なくとも２組の動作周波数と動作電源電圧によりフレーム単位で少なくとも２段階に動作しながら所定フレームの符号化又は復号化処理を行うことを特徴とする動画像符号化又は復号化処理方法。
【請求項１７】
前記プロセッサは動作周波数がｒ段階（ｒは２以上の整数）に可変であり、前記動作決定ステップは、前記必要演算量計算手段により算出された前記所定フレームの必要演算量Ｋpと、所定フレームの処理に割り当てられる時間Ｔｅとから、時間Ｔｅ内に必要演算量Ｋpを処理するに必要な動作周波数ＦｅをＦｅ＝Ｋｐ／Ｔｅで計算し、前記プロセッサが動作可能な可能動作周波数から前記必要な動作周波数Ｆｅ以上であり且つその動作周波数Ｆｅに最も近い動作周波数と、前記必要な動作周波数Ｆｅ以下であり且つその動作周波数Ｆｅに最も近い動作周波数を、前記動作決定手段により決定される各組の動作周波数とすることを特徴とする請求項１４乃至請求項１６のいずれか１項に記載の動画像符号化又は復号化処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサを使用して連続する複数のフレームから構成される動画像をフレーム単位で順次符号化又は復号化し、前記プロセッサは動作周波数と基板バイアス電圧、又は動作周波数と基板バイアス電圧と動作電源電圧、又は動作周波数と動作電源電圧が制御可能である動画像符号化又は復号化処理システム、及び、動画像符号化又は復号化処理方法に関する。
【背景技術】
【０００２】
近年、伝送路を通じて動画像の送受信を行うことや、動画像を蓄積メディアに蓄積することが可能となっている。一般に、動画像は情報量が大きいため、伝送ビットレートの限られた伝送路を用い動画像を伝送する場合、あるいは蓄積容量の限られた蓄積メディアに動画像を蓄積する場合には、動画像を符号化・復号化する技術が必要不可欠である。動画像の符号化・復号化方式として、ISO/IECが標準化を進めているＭＰＥＧ(Moving Picture Experts Group)やＨ.２６Ｘがある。これらは動画像を構成する経時的に連続した複数のフレームの符号化又は復号化を行うものであり、動画像の時間的相関、空間的相関を利用した冗長性の削減を行うことにより動画像の情報量を減らして符号化し、符号化された動画像を再度元の動画像に復号化する技術である。
【０００３】
かかる符号化・復号化技術はパーソナルコンピュータやマイクロコンピュータを内蔵する携帯電話等の情報端末機器等に適用されており、符号化・復号化の手段を記述したプログラムに基づいてコンピュータのプロセッサ等を動作させることにより、動画像を送信等する場合は動画像符号化処理システムとして、動画像を受信等する場合は動画像復号化処理システムとして機能させている。しかしながら、かかる動画像符号化又は復号化処理は比較的に演算量が多いため消費電力が大きくなる傾向にあり、ハードウエアよりも汎用性の高いソフトウエアを使用して、符号化・復号化処理における低消費電力化を図ることが大きな課題となっている。
【０００４】
以下に、ソフトウエアを使用した動画像符号化又は復号化システムにおける従来の低消費電力化の手段を説明する。従来の低消費電力化の手段としては、例えば下記の非特許文献１に開示されている。
【０００５】
【非特許文献１】IEEE International Symposium on Circuits and System 2001(May,2001)の予稿集pp918-921 " An LSI for Ｖｄｄ-Hopping and MPEG4 System Based on the Chip"(H. Kawaguchi, G. Zhang, S. Lee, and T. Sakurai)
【０００６】
図２４は、非特許文献１で示された、動画像（動画像）符号化処理システムについて従来の低消費電力化を行う手法を示した図である。なお、低消費電力化の手段は、動画像復号化処理システムにおいても同様である。
【０００７】
非特許文献１では、動的に動作電源電圧及び動作周波数を変更可能なプロセッサ上で、動画像符号化（特にMPEG）を処理する場合の低消費電力化を行うための動作電源電圧及び動作周波数の制御方法を示している。すなわち非特許文献１の発明は、図２５に示すように、動画像符号化を行う場合に、動画像内の動きの激しさなどによりフレーム単位に動画像符号化又は復号化の演算量が異なることに注目し、プロセッサの動作周波数及び動作電源電圧を制御して低消費電力化を図るものである。
【０００８】
符号化処理は、１フレームの処理時間が符号化方式（MPEGなど）の規定などにより時間Ｔfに制約されており、その処理時間Ｔf内に１フレームの符号化処理が完了することが必要とされる。１フレームの処理時間Ｔf（秒）に対して、それを一定間隔にＮ個に分割し、一つ一つの間隔（時間）をタイムスロットＴslot（Ｔslot＝Ｔf／Ｎ）と定義し、また、タイムスロットＴslot１からタイムスロットＴslotｉが終了した時点の残時間ＴＲiをＴＲi＝Ｔf−Ｔslot×ｉと定義する。一つのタイムスロットＴslotで処理する動画像のブロック数（動画像の符号化はブロック単位に処理が行われる）をＲ（すなわちＲ×Ｎが１フレームのブロック数となる）とし、（Ｒ×ｉ）ブロック処理にかかった時間（すなわちタイムスロットＴslot１からタイムスロットＴslotｉまでに処理すべきブロック群に対して実際に処理にかかった時間）をＴacc(i+1)とする。電圧変更した場合に動作電源電圧及び動作周波数が安定するまでの時間をＴrdとする。なお、実タイムスロットＲＴslotｉはタイムスロットＴslotｉ内に完了されるべき処理に対して実際に要した処理時間を示す。図２４では、まずタイムスロットＴslot１及びタイムスロットＴslot２に割り当てられたブロック群の処理に対しては、負荷が最大の場合でもそのタイムスロットＴslot１，Ｔslot２内に十分に処理が完了可能なクロック周波数Ｆmaxで動作させる。その処理にかかった時間Ｔacc３がＴacc３＜（Ｔf−ＴＲ２）である場合、すなわち、割り当てられたブロック群がタイムスロットＴslot１,Ｔslot２内で処理が完了した場合、次のタイムスロットＴslot３に割り当てられたブロック群の処理に使用可能な処理時間Ｔtar３はＴtar３＝Ｔf−Ｔacc３−ＴＲ３−Ｔrdであり、この処理時間Ｔtar３内にＴslot３に割り当てられたブロック群の処理が完結すればよいので、このブロック群に対しては動作周波数を下げて動作させる。図２４の処理時間Ｔf1，Ｔf2，Ｔf3は、タイムスロットＴslot３において負荷が最大の場合に、各動作周波数Ｆ１，Ｆ２，Ｆ３で動作させたときの処理時間を示す。動作周波数としては、図２４においてＦ２＝Ｆmax／２の動作周波数を選択すれば、負荷が最大の場合でもタイムスロットＴslot１からタイムスロットＴslot３までに完了されるべき処理時間が（Ｔf−ＴＲ３）以内である、次のタイムスロットＴslot４に処理が入り込むことはない。一方、動作周波数Ｆ３＝Ｆmax／３を選択した場合は、処理時間Ｔf3が処理時間Ｔtar３を超えてしまう。したがって、このタイムスロットＴslot３で処理すべきブロック群に対してはＦ２＝Ｆmax／２の動作周波数及びその動作周波数に適する動作電源電圧で動作させる。同様にして、タイムスロットＴslot毎にこの処理を行う。
【０００９】
これにより、動的に動作クロック周波数及び動作電源電圧を変更するに際し、所定時間内に所定数のブロック群を処理可能な動作周波数のうち最小の動作周波数を選択することにより、総合的に動作周波数及び動作電源電圧を下げて動作させ、必要処理に応じて電圧を制御することにより、低消費電力化が図られている。
【００１０】
ところで、ある一定の処理時間（例えば、ここでは１フレームの処理時間Ｔf）に完了すべき処理（例えば、ここでは１フレームの処理）に対しては、１フレームの処理時間を通してプロセッサを一定の動作電源電圧及び動作周波数で動作させて処理することが好ましい。すなわち、１フレームの処理時間をＴf（秒）とし、演算量Ｋf（サイクル）とし、動作周波数Ｆｆとすると、動作周波数Ｆｆ＝Ｋf／Ｔf（サイクル／秒）に設定し、１フレームの処理時間Ｔfを通してプロセッサを一定の動作周波数Ｆｆで動作させることにより、その処理時間Ｔｆ内で動作周波数Ｆｆを何回も変動させる場合と比較して、より低消費電力化が可能となる。
【００１１】
しかしながら、非特許文献１では、処理時間Ｔfの同期する単位が１フレームであるにもかかわらず、１フレーム内で最大Ｎ回の動作電源電圧及び動作周波数の変更が行われており、低消費電力が十分に図られていなかった。すなわち、本従来例のように多段階に動作電源電圧及び動作周波数を制御可能なプロセッサでの動画像符号化又は復号化処理の低消費電力化は、１フレームの処理中に何回も動作電源電圧及び動作周波数を変更する必要があった。一方、上述のように、処理時間の制約の単位がフレームであるため、１フレームの処理中は処理を可能にする最低限の一定の周波数で制御するのが好ましい。そのため、１フレームの処理中に最大Ｎ回動作電源電圧及び動作周波数が変更される本従来例では十分な低消費電力化ができていなかった。
【００１２】
そこで、本願発明者等は下記特許文献１の発明を完成させた。この発明は、一定の動作電源電圧・動作周波数でプロセッサ１を動作させながら符号化又は復号化処理を行うことにより低消費電力化を図るものである。
【特許文献１】特願２００３−４８５３５
【００１３】
また、プロセッサの低消費電力化を妨げる他の要因の一つとして、プロセッサを構成するＭＯＳトランジスタのサブスレッショルドリーク電流が挙げられる。サブスレッショルドリーク電流は、半導体基板に形成されるＭＯＳトランジスタのゲート電圧がしきい値電圧以下のとき流れる微少電流である。このサブスレッショルドリーク電流による消費電力は、ＭＯＳトランジスタの微細化が高まるにつれて支配的となる傾向にあり、半導体基板にＭＯＳトランジスタが集積されたプロセッサを使用して動画像の符号化又は復号化を行う動画像符号化又は復号化システムにおいて、低消費電力化を妨げる要因の一つとなっている。
【００１４】
このサブスレッショルドリーク電流は、１フレームの処理時間Ｔｆ内でプロセッサの動作周波数Ｆｆを何回も変動させる場合と比較して、処理時間Ｔfを通して一定の動作周波数Ｆｆで動作させることにより低減され、プロセッサの低消費電力化が可能となる。上記非特許文献１の発明は、処理時間Ｔfの同期する単位が１フレームであるにもかかわらず、１フレーム内で最大Ｎ回の動作周波数の変更が行われており、動作電源電圧のみならずサブスレッショルドリーク電流の観点からも好ましくなかった。一方、ＭＯＳトランジスタに関しては、ＭＯＳトランジスタが形成される半導体領域の基板バイアス電圧を制御することにより、サブスレッショルドリーク電流を制御できることが知られている。
【００１５】
そこで、本願発明者等は下記特許文献２の発明を完成させた。この発明は、フレームごとに符号化又は復号化に必要な演算量を計算し、一定の基板バイアス電圧・動作周波数、又は、一定の基板バイアス電圧・動作電源電圧・動作周波数でプロセッサ１を動作させながら符号化又は復号化処理を行うことにより低消費電力化を図るものである。
【特許文献２】特願２００３−４０９６４１
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしながら、上記特許文献１及び特許文献２では非特許文献１と比較して低消費電力化が図られているものの、さらなる低消費電力化の余地がある。図２６は、特許文献１，２の動作周波数・動作電源電圧・基板バイアス電圧の制御方法を示した図である。特許文献１，２では、算出した必要演算量を処理可能な予測動作周波数Ｆｐ以上の動作周波数Ｆａでプロセッサを一定に動作させるため、必要以上に電力が消費されていた。特に、プロセッサが動作可能な動作周波数と動作電源電圧や基板バイアス電圧の組合せ数が２組と少ない場合、必要演算量から算出された予測動作周波数Ｆｐがプロセッサに用意されている最小の動作周波数を超えると、プロセッサに用意された最大の動作周波数でプロセッサを動作させなければならず、低消費電力化に大きな影響を与えていた。
【００１７】
そこで本発明は、前記のような課題を解決するためのものであり、動作周波数や動作電源電圧や基板バイアス電圧を少なくとも２段階に制御することにより、さらなる低消費電力化を図ることができる動画像符号化又は復号化処理システム、及び、動画像符号化又は復号化処理方法を提案することにある。
【課題を解決するための手段】
【００１８】
発明者等は、動作周波数とそれに適する動作電源電圧、又は、動作周波数とそれに適する基板バイアス電圧、又は、動作周波数とそれに適する基板バイアス電圧と動作電源電圧を少なくとも２段階に制御することにより、さらなる低消費電力化が可能となることを導き出した。図１は動作周波数等を２段階に制御する方法を示した概念図である。２段階制御方法とは、プロセッサにおける動画像１フレームの処理において、プロセッサ及び（又は）局部復号メモリ等を含めた周辺装置がサポートする動作電源電圧とそれに適する基板バイアス電圧や動作周波数がｒ段階（ｒは２以上の整数）で変更可能な場合、１フレームの処理時間Ｔｆ内に必要演算量を処理可能な予測動作周波数Ｆｐ以上の動作周波数Ｆａと、その動作周波数Ｆａよりも低い動作周波数Ｆｂを選択し、この２つの動作周波数Ｆａ，Ｆｂで時分割にプロセッサを動作させるという方法である。２段階制御方法では、必要演算量を処理可能な一の動作周波数Ｆａよりも低い動作周波数Ｆｂで時間Ｔｂの間動作させ、動作周波数Ｆａでのプロセッサの動作時間Ｔａを抑えることができる。それゆえ、動作周波数Ｆａで一定に動作する場合と比較してより低消費電力化が可能となる。
【００１９】
以上の結果から、発明者等は動作周波数及び動作電源電圧及び基板バイアス電圧を少なくとも２段階に制御することにより、低消費電力を実現する本発明を完成させた。
【００２０】
すなわち、本発明の請求項１記載の動画像符号化又は復号化処理システムは、半導体基板にＭＯＳトランジスタが集積され、動作周波数及び基板バイアス電圧が制御可能であるプロセッサを備え、当該プロセッサが連続する複数のフレームから構成される動画像をフレーム単位で順次符号化又は復号化する動画像符号化又は復号化処理システムにおいて、これから符号化又は復号化される任意の一のフレームを所定フレームとすると、所定フレームの符号化又は復号化に必要な必要演算量を計算する必要演算量計算手段と、所定フレームの符号化処理又は復号化処理に予め割り当てられている時間内に前記必要演算量を符号化処理又は復号化処理可能な一組の動作周波数とそれに適する基板バイアス電圧、及び、少なくとも一組の前記動作周波数よりも低い動作周波数とそれに適する基板バイアス電圧を決定する動作決定手段とを備え、前記プロセッサは、前記動作決定手段により決定された少なくとも２組の動作周波数と基板バイアス電圧によりフレーム単位で少なくとも２段階に動作しながら所定フレームの符号化又は復号化処理を行うことを特徴とする。また、本発明の請求項２記載の動画像符号化又は復号化処理システムは、半導体基板にＭＯＳトランジスタが集積され、動作周波数及び基板バイアス電圧及び動作電源電圧が制御可能であるプロセッサを備え、当該プロセッサが連続する複数のフレームから構成される動画像をフレーム単位で順次符号化又は復号化する動画像符号化又は復号化処理システムにおいて、これから符号化又は復号化される任意の一のフレームを所定フレームとすると、所定フレームの符号化又は復号化に必要な必要演算量を計算する必要演算量計算手段と、所定フレームの符号化処理又は復号化処理に予め割り当てられている時間内に前記必要演算量を符号化処理又は復号化処理可能な一組の動作周波数とそれに適する基板バイアス電圧と動作電源電圧、及び、少なくとも一組の前記動作周波数よりも低い動作周波数とそれに適する基板バイアス電圧と動作電源電圧を決定する動作決定手段とを備え、前記プロセッサは、前記動作決定手段により決定された少なくとも２組の動作周波数と基板バイアス電圧と動作電源電圧によりフレーム単位で少なくとも２段階に動作しながら所定フレームの符号化又は復号化処理を行うことを特徴とする。また、本発明の請求項３記載の動画像符号化又は復号化処理システムは、動作周波数及び動作電源電圧が制御可能であるプロセッサを備え、当該プロセッサが連続する複数のフレームから構成される動画像をフレーム単位で順次符号化又は復号化する動画像符号化又は復号化処理システムにおいて、これから符号化又は復号化される任意の一のフレームを所定フレームとすると、所定フレームの符号化又は復号化に必要な必要演算量を計算する必要演算量計算手段と、所定フレームの符号化処理又は復号化処理に予め割り当てられている時間内に前記必要演算量を符号化処理又は復号化処理可能な一組の動作周波数とそれに適する動作電源電圧、及び、少なくとも一組の前記動作周波数よりも低い動作周波数とそれに適する動作電源電圧を決定する動作決定手段とを備え、前記プロセッサは、前記動作決定手段により決定された少なくとも２組の動作周波数と動作電源電圧によりフレーム単位で少なくとも２段階に動作しながら所定フレームの符号化又は復号化処理を行うことを特徴とする。
【００２１】
また、請求項１４記載の動画像符号化又は復号化処理方法は、半導体基板にＭＯＳトランジスタが集積され、動作周波数及び基板バイアス電圧が制御可能であるプロセッサを使用して、当該プロセッサにより連続する複数のフレームから構成される動画像をフレーム単位で順次符号化又は復号化する動画像符号化又は復号化処理方法において、これから符号化又は復号化される任意の一のフレームを所定フレームとすると、所定フレームの符号化又は復号化に必要な必要演算量を計算する必要演算量計算ステップと、所定フレームの符号化処理又は復号化処理に予め割り当てられている時間内に前記必要演算量を符号化処理又は復号化処理可能な一組の動作周波数とそれに適する基板バイアス電圧、及び、少なくとも一組の前記動作周波数よりも低い動作周波数とそれに適する基板バイアス電圧を決定する動作決定ステップとを備え、前記プロセッサは、前記動作決定ステップにより決定された少なくとも２組の動作周波数と基板バイアス電圧によりフレーム単位で少なくとも２段階に動作しながら所定フレームの符号化又は復号化処理を行うことを特徴とする。また、請求項１５記載の動画像符号化又は復号化処理方法は、半導体基板にＭＯＳトランジスタが集積され、動作周波数及び基板バイアス電圧及び動作電源電圧が制御可能であるプロセッサを使用して、当該プロセッサが連続する複数のフレームから構成される動画像をフレーム単位で順次符号化又は復号化する動画像符号化又は復号化処理方法において、これから符号化又は復号化される任意の一のフレームを所定フレームとすると、所定フレームの符号化又は復号化に必要な必要演算量を計算する必要演算量計算ステップと、所定フレームの符号化処理又は復号化処理に予め割り当てられている時間内に前記必要演算量を符号化処理又は復号化処理可能な一組の動作周波数とそれに適する基板バイアス電圧と動作電源電圧、及び、少なくとも一組の前記動作周波数よりも低い動作周波数とそれに適する基板バイアス電圧と動作電源電圧を決定する動作決定ステップとを備え、前記プロセッサは、前記動作決定ステップにより決定された少なくとも２組の動作周波数と基板バイアス電圧と動作電源電圧によりフレーム単位で少なくとも２段階に動作しながら所定フレームの符号化又は復号化処理を行うことを特徴とする。また、請求項１６記載の動画像符号化又は復号化処理方法は、動作周波数及び動作電源電圧が制御可能であるプロセッサを使用して、当該プロセッサが連続する複数のフレームから構成される動画像をフレーム単位で順次符号化又は復号化する動画像符号化又は復号化処理方法において、これから符号化又は復号化される任意の一のフレームを所定フレームとすると、所定フレームの符号化又は復号化に必要な必要演算量を計算する必要演算量計算ステップと、所定フレームの符号化処理又は復号化処理に予め割り当てられている時間内に前記必要演算量を符号化処理又は復号化処理可能な一組の動作周波数とそれに適する動作電源電圧、及び、少なくとも一組の前記動作周波数よりも低い動作周波数とそれに適する動作電源電圧を決定する動作決定ステップとを備え、前記プロセッサは、前記動作決定ステップにより決定された少なくとも２組の動作周波数と動作電源電圧によりフレーム単位で少なくとも２段階に動作しながら所定フレームの符号化又は復号化処理を行うことを特徴とする。
【００２２】
符号化・復号化方式（MPEG等）の規定においては、所定フレームに対して予め処理時間が割り当てられている。請求項１乃至請求項３及び請求項１４乃至請求項１６記載の発明によれば、必要演算量計算手段により所定フレームの符号化又は復号化に必要な必要演算量が計算され、動作決定手段が、この必要演算量を処理可能な一組の動作周波数とそれに適する基板バイアス電圧や動作電源電圧、及び、少なくとも一組のそれよりも低い動作周波数とそれに適する基板バイアス電圧や動作電源電圧を決定する。プロセッサは、動作決定手段により決定された少なくとも２組の動作周波数とそれに適する基板バイアス電圧や動作電源電圧により少なくとも２段階に動作しながら動画像の符号化や復号化処理を行う。プロセッサは、符号化や復号化処理に際して、必要演算量を処理可能な動作周波数等と、その動作周波数よりも低い動作周波数等で時分割に動作するため、必要演算量を処理可能な動作周波数等で一定に動作する場合と比較して、低消費電力化を図ることができる。
【００２３】
本発明の請求項４記載の動画像符号化又は復号化処理システムは、前記プロセッサは動作周波数がｒ段階（ｒは２以上の整数）に可変であり、前記動作決定手段は、前記必要演算量計算手段により算出された前記所定フレームの必要演算量Ｋpと、所定フレームの処理に割り当てられる時間Ｔｅとから、時間Ｔｅ内に必要演算量Ｋpを処理するに必要な動作周波数ＦｅをＦｅ＝Ｋｐ／Ｔｅで計算し、前記プロセッサが動作可能な可能動作周波数から前記必要な動作周波数Ｆｅ以上であり且つその動作周波数Ｆｅに最も近い動作周波数Ｆａと、前記必要な動作周波数Ｆｅ以下であり且つその動作周波数Ｆｅに最も近い動作周波数Ｆｂを、前記動作決定手段により決定される各組の動作周波数とすることを特徴とする。また、請求項１７前記の動画像符号化又は復号化処理方法は、プロセッサは動作周波数がｒ段階（ｒは２以上の整数）に可変であり、前記動作決定ステップは、前記必要演算量計算手段により算出された前記所定フレームの必要演算量Ｋpと、所定フレームの処理に割り当てられる時間Ｔｅとから、時間Ｔｅ内に必要演算量Ｋpを処理するに必要な動作周波数ＦｅをＦｅ＝Ｋｐ／Ｔｅで計算し、前記プロセッサが動作可能な可能動作周波数から前記必要な動作周波数Ｆｅ以上であり且つその動作周波数Ｆｅに最も近い動作周波数と、前記必要な動作周波数Ｆｅ以下であり且つその動作周波数Ｆｅに最も近い動作周波数を、前記動作決定手段により決定される各組の動作周波数とすることを特徴とする。
【００２４】
この発明によれば、動作決定手段は、プロセッサが動作可能な可能動作周波数のうち、所定フレームに割り当てられた時間Ｔｅ内に必要演算量Ｋｐを処理可能な最小の動作周波数Ｆａと、前記必要な動作周波数Ｆｅ以下であり且つその動作周波数Ｆｅに最も近い動作周波数Ｆｂを、各組の動作周波数とする。プロセッサは、動作周波数Ｆａに適する基板バイアス電圧や動作電源電圧、及び、動作周波数Ｆｂに適する基板バイアス電圧や動作電源電圧により、２段階に動作しながら符号化や復号化処理を行う。処理時間内に所定フレームを過不足無く処理可能な動作周波数Ｆｅに最も近い２つの動作周波数Ｆａ，Ｆｂで動作するため効果的に低消費電力化が図られる。プロセッサは２段階で動作するため、動作を切り替えるタイミングは一回であり、動作変更の際に消費される電力も抑えることができる。
【００２５】
本発明の請求項５の動画像符号化又は復号化処理システムは、前記必要演算量計算手段で算出された必要演算量が実際に必要な演算量よりも小さい場合に起きる破綻現象を回避する少なくとも一つの破綻回避手段を備えることを特徴とする。前記必要演算量計算手段で算出された必要演算量が実際に必要な演算量よりも小さい値である場合には、予め定められた時間内に所定フレームの符号化又は復号化処理が完了せず、画像が劣悪になる破綻現象が起こるが、本発明は破綻現象を回避する一つ以上の破綻回避手段を備えるため破綻現象の発生が回避される。
【００２６】
本発明の請求項６記載の動画像符号化又は復号化処理システムは、前記破綻回避手段として、前記必要演算量計算手段により算出された必要演算量に余裕を持たせる第１の破綻回避手段を備えることを特徴とする。この発明によれば、破綻回避手段が必要演算量を所定値だけ増加させるため、必要演算量計算手段により算出された必要演算量が実際の演算量を満たす可能性が高くなり、必要演算量が現実の演算量よりも小さいことにより生じる破綻現象を回避することができる。
【００２７】
本発明の請求項７記載の動画像符号化又は復号化処理システムは、前記第１の破綻回避手段は、必要演算量計算手段により算出された必要演算量をｍ倍（ｍは１以上の実数）又は必要演算量に０より大きい実数ｎを加算することを特徴とする。この発明によれば、第１の破綻回避手段は必要演算量をｍ倍又は必要演算量にｎを加算するため、ｍやｎの値を調節することで、必要演算量計算手段により算出された必要演算量を、現実の演算量よりも大きく且つ現実の演算量に近似した値とすることができ、破綻現象を回避することができる。
【００２８】
本発明の請求項８記載の動画像符号化又は復号化処理システムは、前記第１の破綻回避手段が、所定のタイミングで動画像符号化又は復号化手段による符号化又は復号化処理に割り込みを行い、その割り込み時点において、必要演算量計算手段で算出された所定フレームの必要演算量の残量が、符号化又は復号化処理手段による所定フレームの符号化又は復号化処理に実際に必要な演算量の残量よりも小さい場合は、プロセッサの動作周波数を上げ、その動作周波数に適する基板バイアス電圧、又は、動作電源電圧、又は、基板バイアス電圧と動作電源電圧でプロセッサを動作させることを特徴とする。この発明によれば、第２の破綻回避手段が、所定のタイミングで動画像符号化又は復号化手段による処理に割り込みを行い、その割り込み時点において、必要演算量計算手段で算出された所定フレームの必要演算量の残量が、符号化又は復号化処理手段による所定フレームの符号化又は復号化処理において実際に必要な演算量の残量よりも小さい場合は、プロセッサの動作周波数を上げ、その動作周波数に適する基板バイアス電圧でプロセッサを動作させるか、又は、その動作周波数に適する動作電源電圧及び基板バイアス電圧でプロセッサを動作させるため、プロセッサの計算速度が向上して処理可能な処理量が増加し、破綻現象を回避できる可能性が高くなる。割り込みの回数を複数回とすると、処理状態に合わせて動作周波数と基板バイアス電圧、又は、動作周波数と動作電源電圧と基板バイアス電圧を段階的に上げることができ、破綻現象を回避できる可能性がさらに高められる。
【００２９】
本発明の請求項９記載の動画像符号化又は復号化処理システムは、前記第１の破綻回避手段が、所定のタイミングで動画像符号化又は復号化手段による符号化又は復号化処理に割り込みを行い、その割り込み時点において、必要演算量計算手段で算出された所定フレームの必要演算量の残量が、符号化又は復号化処理手段による所定フレームの符号化又は復号化処理に実際に必要な演算量の残量よりも小さい場合は、前記プロセッサの少なくとも２段階の動作の切替タイミングを遅く又は早くすることを特徴とする。この発明によれば、第１の破綻回避手段が切替タイミングを調節することにより、高い動作周波数で動作する時間を長くすることができ、破綻現象できる可能性を高めることができる。
【００３０】
本発明の請求項１０記載の動画像符号化又は復号化処理システムは、前記破綻回避手段として、所定フレームの符号化処理に予め割り当てられている時間内に所定フレームの符号化処理が終了しないと判断した場合には破綻現象を回避する処理を行う第２の破綻回避手段を備えることを特徴とする。この発明によれば、第２の破綻回避手段が、所定フレームの符号化処理に予め割り当てられている時間内に所定フレームの符号化処理が終了しないと判断した場合には破綻現象を回避する処理を行うため、破綻現象を回避することができる。
【００３１】
本発明の請求項１１記載の動画像符号化又は復号化処理システムは、前記第２の破綻回避手段が、所定のタイミングで動画像符号化手段による符号化処理に割り込みを行い、符号化がなされていないマクロブロックがある場合は、当該マクロブロックに対して無効ブロック化処理を行うことを特徴とする。たとえば、所定フレームの符号化処理に予め割り当てられた時間のうち、総てのマクロブロックを無効ブロック化する処理時間を残したタイミングなどの所定のタイミングにおいて、符号化されていないマクロブロックがある場合は破綻現象が生じる可能性が高い。本発明によれば、第２の破綻回避手段が、例えば上記タイミングで動画像符号化手段による処理に割り込みを行い、符号化がなされていないマクロブロックがある場合は、前記必要演算量計算手段で算出された必要演算量が実際に必要な演算量よりも小さいと判断し、当該マクロブロックに対して無効ブロック化処理を行うため、破綻現象を回避することができる。
【００３２】
本発明の請求項１２記載の動画像符号化又は復号化処理システムは、連続する複数のフレームのうち前記所定フレームより前に符号化処理されるフレームを前フレームとすると、動画像符号化処理を行う場合において、前記必要演算量計算手段は、所定フレームと前フレームとの動き量、所定フレームのアクティビティの量、前フレームのアクティビティの量、前フレームの量子化ステップサイズの平均値、前フレームの量子化ステップサイズの平均値とその一つ前のフレームの量子化ステップサイズの平均値の差、前フレームのマクロブロックマッチング回数、前フレームの有効ブロック数、前フレームの有効係数の数、前フレームの符号化に実際に要した演算量、前フレームの発生ビット数、所定フレームの符号化ビットレート、所定フレームについてフレーム内符号化又はフレーム間符号化のいずれであるかの種類、必要演算量計算手段により算出された前フレームの必要演算量のうち、一つ以上の要素を使用して必要演算量を計算することを特徴とする。本発明の請求項１３記載の動画像符号化又は復号化処理システムは、連続する複数のフレームのうち前記所定フレームより前に復号化処理されるフレームを前フレームとすると、動画像復号化処理を行う場合において、前記必要演算量計算手段は、所定フレームの符号化データのビット数、前記所定フレームがフレーム内符号化されたものであるか又はフレーム間符号化されたものであるかの種類、所定フレーム若しくは前フレームの動きベクトルの大きさの平均値、所定フレーム若しくは前フレームの動きベクトルの大きさの分散、所定フレーム若しくは前フレームの有効ブロック数、所定フレーム若しくは前フレームの有効係数の数、所定フレーム若しくは前フレームのビットレート、所定フレーム若しくは前フレームの符号量、所定フレーム若しくは前フレームの量子化ステップサイズの平均値、量子化ステップサイズの平均値の差(所定フレームと１つ前のフレームの量子化ステップサイズの差，もしくは１つ前のフレームの量子化ステップサイズと２つ前のフレームの量子化ステップサイズの差)、前フレームの復号化に実際に要した演算量、必要演算量計算手段により算出された前フレームの必要演算量のうち一つ以上の要素を使用して必要演算量を計算することを特徴とする。
【００３３】
前記複数の要素はそれぞれ符号化又は復号化処理において必要演算量に影響を与える要素である。本発明によれば、前記要素のうち一つ以上が必要演算量計算手段の要素として使用されて必要演算量が計算されるため、必要演算量計算手段により計算される必要演算量が現実に符号化又は復号化処理を行ったときの演算量により近い値となる。したがって、算出された必要演算量が現実の演算量よりも大き過ぎて低消費電力化が阻害される可能性が少なく、また、必要演算量が現実の演算量よりも小さくて符号化又は復号化処理が時間内に完了しないという破綻現象が上記破綻回避手段によらなくても発生しにくい。
【発明の効果】
【００３４】
以上説明したように、本発明の動画像符号化又は復号化システムと動画像符号化又は復号化処理方法によれば、これから符号化又は復号化する所定フレーム（未来に符号化又は復号化するフレーム）に対して、符号化又は復号化に要する必要演算量を予測する計算を行い、その所定フレームの処理に割り当てられた時間内は少なくとも２段階の動作周波数で制御することにより、フレーム単位に基板バイアス電圧・動作周波数、又は、動作周波数・基板バイアス電圧・動作電源電圧、又は、基板バイアス電圧・動作電源電圧が動的に制御されるため、低消費電力を実現することができる。プロセッサは、符号化や復号化処理に際して、必要演算量を処理可能な動作周波数等と、その動作周波数よりも低い動作周波数等で時分割に動作するため、必要演算量を処理可能な動作周波数等で一定に動作する場合と比較して、低消費電力化を図ることができる。
【００３５】
また、破綻回避手段を備えるため、必要演算量計算手段で算出された必要演算量が実際に必要な演算量よりも小さい場合に起きる破綻現象を回避することができ、符号化又は復号化処理された動画像が劣悪になるのを防止することができる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の動画像符号化又は復号化処理システム及び動画像符号化又は復号化処理方法について説明する。本発明の動画像符号化又は復号化システムは、後述するプロセッサ１が動画像符号化処理及び動画像復号化処理を行うものであり、動画像符号化を行う場合は動画像符号化処理システムとして機能し、動画像復号化を行う場合を動画像復号化処理システムとして機能する。たとえば、本発明の動画像符号化又は復号化処理システムとしては、フレーム単位若しくは時間単位で符号化又は復号化を行うものでも良く、また、復号化処理のみ又は符号化処理のみを行うものでも良い。以下、説明の便宜上、符号化を行う場合を動画像符号化システムとし、復号化を行う場合を動画像復号化システムとし、動画像符号化処理と動画像復号化処理に分けて詳述する。
【００３７】
（第１の実施の形態）
本発明の第１の実施の形態の動画像符号化処理システムＳ１は、動作周波数と基板バイアス電圧と動作電源電圧をフレーム単位に２段階で制御することにより、サブスレッショルドリーク電流と充放電電流とを適度に抑制し、低消費電力化を図るものである。本システムＳ１は、例えばマイクロコンピュータが内蔵された携帯電話やパーソナルコンピュータ等の情報端末機器であるコンピュータにより実現され、特に、そのコンピュータ内においてマルチメディア信号処理部などの一部として機能するシステムであり、連続する所定数のフレームから構成される動画像をフレーム単位で順次符号化を行うシステムである。
【００３８】
図２は、本実施の形態の動画像符号化処理システムＳ１の動作を示した概略ブロック図であり、図３は本システムＳ１により実現される動画像符号化処理方法である。動画像符号化処理システムＳ１は、動作電源電圧Ｖｄｄ及び基板バイアス電圧Ｖｂｎ，Ｖｂｐ及び動作周波数Ｆがｒ段階（ｒは２以上の整数）に可変であり（すなわち、ｒ段階の動作電源電圧Ｖｄｄ及び基板バイアス電圧Ｖｂｎ、Ｖｂｐ及び動作周波数Ｆで動作可能であり）且つプログラムにより動作電源電圧及び基板バイアス電圧及び動作周波数を変更可能なプロセッサ１と、プロセッサ１の動作電源電圧及び基板バイアス電圧及び動作周波数を制御する動作制御手段４と、所定のデータを記憶する記憶領域である局部復号フレームメモリ６と入力フレームメモリ７と要素メモリ８とを少なくとも備えるコンピュータ（特にコンピュータ内のマルチメディア信号処理部）である。ただし、Ｖｂｎはｎ−チャネルＭＯＳトランジスタの基板バイアス電圧、Ｖｂｐはｐ−チャネルＭＯＳトランジスタの基板バイアス電圧である。
【００３９】
プロセッサ１は、図４に示すようにトリプルウエル構造をとる半導体素子であり、ＭＯＳトランジスタごとに基板バイアス電圧が制御可能となっている。局部復号メモリ６及び入力フレームメモリ７は半導体記憶素子であり、動作制御手段４により、プロセッサ１と同様に動作電源電圧・基板バイアス電圧・動作周波数が制御される。
【００４０】
動作制御手段４は、ＤＣ−ＤＣコンバータなどを備えた動作電源電圧制御手段、n-チャネルＭＯＳトランジスタの基板バイアス電圧を制御するための基板バイアス電圧Ｖｂｎ制御手段、p-チャネルＭＯＳトランジスタの基板バイアス電圧を制御するための基板バイアス電圧Ｖｂｐ制御手段、ＰＬＬなどを備えた動作周波数制御手段からなる。ただし、動作制御手段４の各要素は動画像符号化処理システムＳ１の外に存在し、動画像符号化処理システムＳ１の外から動作電源電圧または基板バイアス電圧または動作周波数を制御してもよい。プロセッサ１、各メモリ６，７、動作制御手段４は互いに配線を介して接続されている。
【００４１】
プロセッサ１は、プロセッサ１上で動作する手段として、必要演算量計算手段２と、動作決定手段３と、動画像符号化手段５とを備える。なお、符号１０１は入力画像データ、符号１０２は動作電源電圧及び基板バイアス電圧及び動作周波数指示、符号１０３は前フレームの局部復号データ、符号１０５は動作電源電圧・基板バイアス電圧・動作周波数供給、符号１０６はフレームの符号化データ、符号１０７は前フレームの量子化ステップサイズの平均値の情報、符号１０８は各フレームについてフレーム内符号化であるかフレーム間符号化であるかの種類、符号１０９は動画像の符号化ビットレートの情報、符号１１０は前フレームのアクティビティ量、符号１１１は前フレームのマクロブロックマッチング回数、符号１１２は前フレームの有効ブロック数、符号１１３は前フレームの有効係数の数、符号１１４は前フレームの量子化ステップサイズの平均値とその一つ前のフレームの量子化ステップサイズの平均値の差、符号１１５は前フレームの符号化に実際に要した処理量、符号１１６は必要演算量計算手段２により算出された前フレームの必要演算量である。要素メモリ８は、後述する必要演算量計算手段２において使用される複数の要素のうち一部の要素（フレーム内符号化であるかフレーム間符号化であるかの種類１０８や、符号化ビットレート１０９や、フレームのアクティビティの量１１０や、必要演算量計算手段２により算出された必要演算量１１６）が記憶される記憶領域である。動画像符号化手段５には符号化方式としてＭＰＥＧ−４が使用されるが、Ｈ．２６ＸやＭＰＥＧ−１、ＭＰＥＧ−２などの他の符号化方式が使用されていても良い。
【００４２】
次に、本実施の形態の動画像符号化処理システムＳ１の動作を説明する。動画像符号化処理システムＳ１は、動画像符号化処理プログラムＰｒｇ１によりコンピュータ（特にコンピュータ内のマルチメディア信号処理部）を下記の所定の手段として機能させることにより実現される。以下、順次符号化されるフレームのうちこれから符号化される任意の一のフレームを所定フレーム（すなわち、あるフレームが符号化された時点を基準とすると次に符号化されるフレームであり、換言すると、その時点において未だに符号化処理されておらず未来に符号化処理が行われる予定であるフレーム）、所定フレームより前に符号化された一のフレーム（過去に符号化されたフレーム）を前フレームとし、所定フレームを符号化する処理について説明するが、いずれのフレームについても同様の処理が行われる。
【００４３】
動画像符号化処理プログラムＰｒｇ１は、後述するステップ１からステップ９においてコンピュータを下記のように機能させる。（ステップ１）所定フレームの画像情報を入力フレームメモリ７に入力する。（ステップ２）所定フレームの必要演算量Ｋpを計算させる必要演算量計算手段２として機能させる。（ステップ３．１）算出された必要演算量Ｋpに応じてプロセッサの動作周波数Ｆ及び動作電源電圧Ｖｄｄ及び基板バイアス電圧Ｖｂｎ、Ｖｂｐの組合せを２組決定し、（ステップ３．２）２つの動作周波数おのおののプロセッサの動作時間を計算する動作決定手段３として機能させる。（ステップ４）所定フレームの処理において使用する２つの動作周波数のうち高いほうの動作周波数とそれに適する動作電源電圧・基板バイアス電圧を動作制御手段に供給する。（ステップ５）算出された動作周波数Ｆ及び動作電源電圧Ｖｄｄ及び基板バイアス電圧Ｖｂｎ、Ｖｂｐでプロセッサ１を動作させる制御を行わせる動作制御手段４として機能させる。（ステップ６）所定フレームの画像情報を符号化させる動画像符号化手段５として機能させる。（ステップ７）所定フレームの処理において使用する２つの動作周波数のうち低いほうの動作周波数とそれに適する動作電源電圧・基板バイアス電圧を動作制御手段に供給する。（ステップ８）算出された動作周波数Ｆ及び動作電源電圧Ｖｄｄ及び基板バイアス電圧Ｖｂｎ、Ｖｂｐでプロセッサ１を動作させる制御を行わせる動作制御手段４として機能させる。（ステップ９）所定フレームの画像情報を符号化させる動画像符号化手段５として機能させる。以上、ステップ１からステップ９の処理を入力フレームメモリ７に入力されるフレームの順番（すなわち、符号化される順番）に、すべてのフレームに対して行うことで、動画像の符号化を行う。以下、詳細に説明する。
【００４４】
（ステップ１）入力された入力画像データは、フレームの同期をとるため、フレームを一時的に記憶する記憶領域である入力フレームメモリ７に一旦格納される。
【００４５】
（ステップ２：必要演算量計算ステップ）必要演算量計算手段２は、入力フレームメモリ７にアクセスして所定フレームの入力画像データ１０１を取得し、所定フレームの符号化処理に必要な必要演算量Ｋpを計算する。必要演算量Ｋpの計算方法は様々な方法が考えられるが、たとえば、所定フレームの符号化処理の演算量に影響を与える要素を一つ以上使用して計算することが望ましい。要素としては、例えば、動画像符号化処理において、処理内容が動き補償である場合は、動きの激しい映像では演算量が多く、一方、動きの少ない映像では演算量が少ないことに注目して、所定フレームと前フレームとの動き量として差分絶対値和で計算される歪み値や、また、各々のフレームのアクティビティ量として隣接画素差分絶対値和で計算される値や、マクロブロックマッチング回数や、有効ブロック数や、有効係数の数や、符号化ビットレートや、発生ビット数や、前フレームの符号化に実際に要した演算量や、必要演算量計算手段２により算出された前フレームの必要演算量が挙げられる。ここで、各要素それぞれについて、一つの要素の値のみ変化し、他の要素の値が変化しないと仮定したときに、その一つの要素の値が大きい場合は小さい場合に比較して必要演算量が相対的に大きくなるようにし、その一つの要素の値が小さい場合は大きい場合と比較して必要演算量が相対的に小さくなるようにする。また、所定フレームがフレーム内符号化である場合はフレーム間符号化である場合と比較して必要演算量Ｋpが相対的に小さく、フレーム間符号化である場合はフレーム内符号化である場合と比較して必要演算量Ｋpが相対的に大きくなるようにする。すなわち、これらの複数の要素は所定フレームの符号化処理のために必要な必要演算量に影響を与える要素であるため、必要演算量計算手段２が、これらの要素に応じて必要演算量Ｋp（サイクル）を増減するように計算を行うことにより、必要演算量計算手段２により計算される必要演算量Ｋpが現実に符号化処理を行ったときの演算量により近い値となる。
【００４６】
たとえば、本実施の形態では、関数Ｇを使用して計算し、入力フレームメモリ７に記憶されている所定フレームの入力画像データ１０１と、局部復号フレームメモリ６に蓄積されている復号化された前フレームの局部復号データ１０３とを比較して、入力画像の動きの大きさの予測（計算）を行う。この前フレームの局部復号データ１０３は、所定フレームよりも前に符号化が行われる前フレームの符号化処理において、前フレームを符号化して形成した前フレームの符号化データ１０６を、ローカルデコーダで復号化することにより形成され、局部復号フレームメモリ６に記憶されている。動きの大きさの予測（計算）の一例として、例えば差分絶対値和を用いる。以下に、差分絶対値和Σと必要演算量Ｋpの求め方を説明する。なお、前フレームの画像データとしては、符号化後にローカルデコーダにより復号化された局部復号データ１０６を使用しても良いが、入力された前フレームの入力画像データをそのまま使用しても良い。
【００４７】
入力フレームメモリ７に蓄積された所定フレームの入力画像データ１０１をＸ(i,j)（iは画像の水平方向の座標、jは垂直方向の座標）、後述する局部復号フレームメモリ６に蓄積された前フレームの局部復号データ１０３をＹ(i,j)（iは画像の水平方向の座標、jは垂直方向の座標）とすると、所定フレームと前フレームとの動き量は、差分絶対値和Ｚ＝Σ｜Ｘ(i,j)−Ｙ(i,j)｜をすべての（またはサンプルした）画素に対して計算する。この差分絶対値和の値をＺとする。一方、フレームのアクティビティ量においては、Ｘ(i,j)において隣接画素差分絶対値和Ｗ、つまり、水平方向Ｗｈ＝Σ｜Ｘ(i,j)−Ｘ(i-1,j)｜、垂直方向Ｗｖ＝Σ｜Ｘ(i,j)−Ｘ(i,j-1)｜を計算することにより求められ、全ての（又はサンプルした）入力画像に対して計算する。この隣接画素差分絶対値和の値（すなわち各フレームのアクティビティ量）をＷとする。
【００４８】
差分絶対値和をＺ、所定フレームのアクティビティ量をＷａ、前フレーム（過去のフレーム）のアクティビティ量をＷｂ、前フレームの平均量子化ステップサイズ（量子化ステップサイズの平均値）をＱprev、前フレームのマクロブロックマッチング回数をＭ、前フレームの有効ブロック数をＢ、前フレームの有効係数の数をＣ、前フレームの符号化に実際に要した処理量をＳ、所定フレームの符号化ビットレートをＢＲ、前フレームの量子化ステップサイズの平均値とその一つ前のフレームの量子化ステップサイズの平均値の差をΔＱprev、前フレームの実際の発生ビット数をＤとおくと、これらの要素のうち一つ以上の要素を使用して、必要演算量Ｋpは、
Ｋｐ＝Ｇ（Ｚ，Ｗａ，Ｗｂ，Ｑprev，Ｍ，Ｂ，Ｃ，Ｓ，ＢＲ，ΔＱprev，Ｄ）
で計算される。ただし、ＧはＺ，Ｗａ，Ｗｂ，Ｑprev，Ｍ，Ｂ，Ｃ，Ｓ，ＢＲ，ΔＱprev，Ｄのうち、一以上の要素から導き出される関数である。その一例としては、
Ｋｐ＝ｊ＋αＭ＋βＢ＋γＣ＋δＺ＋ε△Ｑprev
が挙げられるが、これに限られるわけではない。また、必要演算量Ｋpの計算に使用される要素として、所定フレームがフレーム内符号化であるかフレーム間符号化であるかの種類Ｉが使用される。所定フレームがフレーム内符号化である場合の必要演算量Ｋpは小さい値と、フレーム間符号化である場合の必要演算量Ｋpは大きい値となる。すなわち、必要演算量計算手段２は、差分絶対値和Ｚを使用するときは差分絶対値和Ｚ＝Σ｜Ｘij−Ｙij｜を計算した後に、必要演算量Ｋp＝Ｇ（Ｚ，Ｗａ，Ｗｂ，Ｑprev，Ｍ，Ｂ，Ｃ，Ｓ，ＢＲ，ΔＱprev，Ｄ）を計算する。
【００４９】
以下、上記関数Ｇについて説明する。上記関数Ｇを簡単に説明するため省略してＫｐ＝Ｇ（Ｚ）と記載する。所定フレームの動き量がＺａであり、前フレームの動き量がＺｂであるとき、所定フレームの必要演算量Ｋpａ＝Ｇ（Ｚａ）であり前フレームの必要演算量Ｋpｂ＝Ｇ（Ｚｂ）となり、Ｚａ＞ＺｂならＫａ＞Ｋｂとなるように、Ｚａ＜ＺｂならＫｐａ＜Ｋｐｂとなるように、必要演算量Ｋp（サイクル）が設定される関数Ｇを用いる。
【００５０】
なお、動画像の符号化ビットレート１０９や、所定フレーム及び前フレームについてフレーム内符号化であるかフレーム間符号化であるかの種類１０８や、前フレームのアクティビティの量１１０や、必要演算量計算手段により算出された前フレームの必要演算量１１６は要素が記憶される記憶領域である要素メモリ８に予め記憶されており、必要演算量Ｋpの計算時に必要演算量計算手段２に読み込まれて使用される。前フレームの量子化ステップサイズの平均値１０７、前フレームのマクロブロックマッチング回数１１１、前フレームの有効ブロック数１１２、前フレームの有効係数の数１１３、前フレームの量子化ステップサイズの平均値とその一つ前のフレームの量子化ステップサイズの平均値との差１１４、及び前フレームの符号化に実際に要した処理量１１５は前フレームの符号化処理が行われたときに動画像符号化手段５から必要演算量計算手段２にフィードバックされる。必要演算量計算手段２においては、これらの要素のうち一つの要素のみを使用しても良いし、複数の要素を組み合わせて使用しても良い。
【００５１】
（ステップ３：動作決定ステップ）（ステップ３．１）動作決定手段３は、必要演算量Ｋpの値をもとに、所定フレームの処理に対する動作周波数Ｆｅ（サイクル／秒）を予測する計算を行う。すなわち、符号化方式により処理時間が規定されている最小単位は１フレームであり、所定フレームの符号化処理に割り当てられた時間をＴｅ（秒）とすると、所定フレームに必要とされる動作周波数Ｆｅ（サイクル／秒）、すなわち時間Ｔｅ（秒）内に前記必要演算量Ｋpを符号化処理可能な動作時間Ｔｅ（サイクル／秒）はＦｅ＝Ｋｐ／Ｔｅで表されることから、動作決定手段３は動作周波数Ｆｅ＝Ｋｐ／Ｔｅを計算する。ただし、所定フレームの符号化処理に割り当てられた時間Ｔｅは、１フレームの処理の制限時間Ｔｆから、所定フレームに対する必要演算量を計算する時間Ｔｐ及びプロセッサの動作周波数・動作電源電圧・基板バイアス電圧を変更する時間Ｔｓの２倍の時間を引いた時間である。図５に示すように、プロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置がサポートする動作電源電圧・基板バイアス電圧・動作周波数がｒ段階（ｒは２以上の整数）で変更可能な場合、動作決定手段３は、プロセッサ１が動作可能なｒ段階の可能動作周波数から、動作周波数Ｆｅ以上であり且つその動作周波数Ｆｅに最も近い動作周波数Ｆ（ｉ）と、前記必要な動作周波数Ｆｅ以下であり且つその動作周波数Ｆｅに最も近い動作周波数Ｆ（ｊ）とを、所定フレームの符号化処理を行う動作周波数として選択し、動作周波数Ｆ（ｉ）に適する動作電源電圧Ｖｄｄ（ｉ）及び基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）、動作周波数Ｆ（ｊ）に適する動作電源電圧Ｖｄｄ（ｊ）及び基板バイアス電圧Ｖｂｎ（ｊ）、Ｖｂｐ（ｊ）を選択する。なお、ｉ，ｊは１以上ｒ以下の整数である。
【００５２】
なお、２つの動作周波数Ｆ（ｉ），Ｆ（ｊ）の選択方法は上記に限らず、動作周波数Ｆｅ以上の２つの動作周波数を選択してもよいし、動作周波数Ｆｅ以上の任意の動作周波数と周波数Ｆｅ以下の任意の動作周波数を選択してもよい。
【００５３】
図５の動作周波数・動作電源電圧・基板バイアス電圧の関係は、動作決定手段３において、各動作周波数に対し、プロセッサ１、又は、プロセッサ１及び局部復号メモリ６等を含めた周辺装置で消費される電流が所定値以下となるように動作電源電圧・基板バイアス電圧の組合せがあらかじめ設定されている。たとえば、サブスレッショルドリーク電流Ｉｓｔと充放電電流Ｉｃｄとの関係から、消費電力Ｐが最小となる動作電源電圧Ｖｄｄと基板バイアス電圧Ｖｂｎ、Ｖｂｐを実験や計算等により求め、この動作電源電圧Ｖｄｄと基板バイアス電圧Ｖｂｎ、Ｖｂｐの組み合わせとすることが望ましい。ここで、電流の最小化を図る際、各電流要素を１つ以上用いて合計した電流を計算に用いる。なお、動作決定手段３に内蔵するハードウエア及び（又は）プログラムで、動作周波数に応じた動作電源電圧に対し、自動的に基板バイアス電圧が計算されてもよい。また、動作決定手段３に内蔵するハードウエア及び（又は）プログラムで、動作周波数に対し、動作電源電圧と基板バイアス電圧が計算されてもよい。
【００５４】
（ステップ３．２）動作決定手段３は、ステップ３．１で求めた動作周波数Ｆ（ｉ），Ｆ（ｊ）を用いて、動作周波数Ｆ（ｉ）及び動作電源電圧Ｖｄｄ（ｉ）及び基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）でプロセッサ１を動作させる時間Ｔａと、動作周波数Ｆ（ｊ）及び動作電源電圧Ｖｄｄ（ｊ）及び基板バイアス電圧Ｖｂｎ（ｊ）、Ｖｂｐ（ｊ）でプロセッサ１を動作させる時間Ｔｂを求める。時間Ｔａ、Ｔｂは以下の式で求めることができる。１フレームの符号化に与えられた時間をＴｅとすると、
Ｔａ＝Ｔｅ×（Ｆｅ−Ｆ（ｊ））／（Ｆ（ｉ）−Ｆ（ｊ））
Ｔｂ＝Ｔｅ×（Ｆ（ｉ）−Ｆｅ）／（Ｆ（ｉ）−Ｆ（ｊ））
【００５５】
なお、予測周波数Ｆｅがプロセッサに用意された動作周波数Ｆ（ｉ）と一致する場合は、Ｔａ＝Ｔｅ、Ｔｂ＝０となる。この場合、２段階に動作周波数及び動作電源電圧及び基板バイアス電圧を変更する必要がないため、動作周波数Ｆ（ｉ）及び動作電源電圧Ｖｄｄ（ｉ）及び基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）での符号化時間ＴｅｉはＴｅｉ＝Ｔｅ＋Ｔｓとすることができる。
【００５６】
また、算出された動作時間Ｔｂが所定値以下の場合、Ｔｂ＝０とし、１フレームの処理時間に対し動作周波数Ｆ（ｉ）及び動作電源電圧Ｖｄｄ（ｉ）及び基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）で一定にプロセッサ１を動作させてもよい。
【００５７】
（ステップ４）動作決定手段３は、プロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置を動作周波数Ｆ（ｉ）と動作電源電圧Ｖｄｄ（ｉ）と基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）で時間Ｔａだけ動作させるように、動作電源電圧・基板バイアス電圧・動作周波数を動作制御手段４に指示する（符号１０２）。
【００５８】
（ステップ５）動作制御手段４は、動作決定手段３から指示を受けた動作電源電圧Ｖｄｄ（ｉ）及び基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）及び動作周波数Ｆ（ｉ）の値をプロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置に供給し（符号１０５）、その動作電源電圧Ｖｄｄ（ｉ）及び基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）及び動作周波数Ｆ（ｉ）でプロセッサ１を一定に動作させる制御を行う。これにより、プロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置は、一定の動作電源電圧Ｖｄｄ（ｉ）及び基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）及び動作周波数Ｆ（ｉ）で動作することになる。具体的には、動作制御手段４に内蔵する動作電源電圧制御手段により動作電源電圧Ｖｄｄ（ｉ）でプロセッサ１を一定に動作させる制御を行い、基板バイアス電圧Ｖｂｎ制御手段によりｎ−チャネルＭＯＳトランジスタに対する基板バイアス電圧Ｖｂｎ（ｉ）でプロセッサ１を一定に動作させる制御を行い、基板バイアス電圧Ｖｂｐ制御手段によりｐ−チャネルＭＯＳトランジスタに対する基板バイアス電圧Ｖｂｐ（ｉ）でプロセッサ１を一定に動作させる制御を行い、動作周波数制御手段により動作周波数Ｆ（ｉ）でプロセッサ１を一定に動作させる制御を行う。
【００５９】
基板バイアス電圧Ｖｂｎ，Ｖｂｐの印加方法について具体的に説明する。ｎ−チャネルＭＯＳトランジスタに対する基板バイアス電圧Ｖｂｎ（ｉ）とグランド電位Ｖｓｓとの電位差をＶｂｂｎ（ｉ）とし、ｐ−チャネルＭＯＳトランジスタに対する基板バイアス電圧Ｖｂｐ（ｉ）と動作電源電圧Ｖｄｄ（ｉ）との電位差をＶｂｂｐ（ｉ）とする。すなわち、
Ｖｂｎ（ｉ）＝Ｖｂｂｎ（ｉ）＋Ｖｓｓ
Ｖｂｐ（ｉ）＝Ｖｂｂｐ（ｉ）＋Ｖｄｄ（ｉ）
の関係が成り立つ。電圧Ｖｂｂｎ（ｉ）とＶｂｂｐ（ｉ）と動作電源電圧Ｖｄｄ（ｉ）は独立に設定できる。ただし、Ｖｂｂｎ（ｉ）は、ｎ−チャネルＭＯＳトランジスタのソース−基板間ｐｎ接合に印加された電圧であり、この電圧が拡散電位Ｖφを超えないようにし、Ｖｂｂｐ（ｉ）は、ｐ−チャネルトランジスタのソース−基板間ｐｎ接合に印加された電圧であり、この電圧が拡散電位−Ｖφを下回らないようにする。拡散電位Ｖφは通常０．６Ｖである。
【００６０】
（ステップ６：動画像符号化ステップ）動画像符号化手段５は、動画像符号化処理プログラムによりコンピュータのプロセッサ１上で実現される手段であり、プロセッサ１を使用して入力フレームメモリ７に格納された入力画像データを動画像符号化を行う単位でアクセスし、符号化処理を行う手段である。すなわち、動画像符号化手段５は、入力フレームメモリ７から所定フレームの入力画像データ１０１を取得し、符号化して符号化データ１０６を生成する。ステップ４において、プロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置は動作制御手段４から供給された一定の動作電源電圧Ｖｄｄ（ｉ）及び基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）及び動作周波数Ｆ（ｉ）で動作している状態となっているため、ステップ５では、動作制御手段４がその動作周波数Ｆ（ｉ）及び動作電源電圧Ｖｄｄ（ｉ）及び基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）でプロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置を時間Ｔａだけ一定に動作させながら、そのプロセッサ１を使用して符号化を行う動画像符号化手段５が所定フレームの符号化を行うこととなる。たとえば、動きの激しい画像（所定フレームの入力画像データ１０１）に対してはプロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置を高い動作周波数で時間Ｔａだけ一定に動作させ、動きの少ない画像に対しては低い動作周波数で時間Ｔａだけ一定に動作させることにより低消費電力化を図ることが可能になる。
【００６１】
（ステップ７）プロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置を動作周波数Ｆ（ｉ）及び動作電源電圧Ｖｄｄ（ｉ）及び基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）で一定に動作させながら、動画像符号化手段により動画像を符号化する時間がＴａだけ経過すると、プロセッサ１は符号化処理を一時中断し、動作決定手段４は動作周波数Ｆ（ｊ）及び動作電源電圧Ｖｄｄ（ｊ）及び基板バイアス電圧Ｖｂｎ（ｊ）、Ｖｂｐ（ｊ）に変更し、この動作周波数Ｆ（ｊ）及び動作電源電圧Ｖｄｄ（ｊ）及び基板バイアス電圧Ｖｂｎ（ｊ）、Ｖｂｐ（ｊ）でプロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置が時間Ｔｂだけ動作できるように、動作電源電圧・基板バイアス電圧・動作周波数を動作制御手段４に指示する。
【００６２】
（ステップ８）動作制御手段４は、プロセッサ１を一定の動作電源電圧Ｖｄｄ（ｊ）及び基板バイアス電圧Ｖｂｎ（ｊ）、Ｖｂｐ（ｊ）及び動作周波数Ｆ（ｊ）で動作させる制御を行う。
【００６３】
（ステップ９）動画像符号化手段５は、所定フレームの符号化処理を行う。プロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置は動作制御手段４から供給された一定の動作電源電圧Ｖｄｄ（ｊ）及び基板バイアス電圧Ｖｂｎ（ｊ）、Ｖｂｐ（ｊ）及び動作周波数Ｆ（ｊ）で動作している状態となっているため、ステップ９では、プロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置が動作周波数Ｆ（ｊ）及び動作電源電圧Ｖｄｄ（ｊ）及び基板バイアス電圧Ｖｂｎ（ｊ）、Ｖｂｐ（ｊ）で時間Ｔｂだけ一定に動作しながら、動画像符号化手段５が所定フレームの符号化を行うこととなる。
【００６４】
さらに、動画像符号化手段５は、符号化データ１０６を復号する機能を有するローカルデコーダを備えており、所定フレームの符号化データ１０６はローカルデコーダにより復号されて局部復号フレームメモリ６に局部復号データ１０３として蓄積される。この所定フレームの局部復号データ１０３は所定フレームの次に符号化されるフレームについて必要演算量Ｋpを計算する際に使用される。所定フレームの符号化データ１０６は伝送路を通じて送信されたり、蓄積メディアに蓄積されたりする。
【００６５】
なお、動作電源電圧及び基板バイアス電圧の制御は、動作周波数Ｆに応じて動作電源電圧Ｖｄｄ、ｐ−チャネルＭＯＳトランジスタの基板バイアス電圧Ｖｂｐ，ｎ−チャネルＭＯＳトランジスタの基板バイアス電圧Ｖｂｎのうち少なくとも１つの電圧だけ制御してもよい。
【００６６】
また、動作周波数を変更するときの動作電源電圧及び基板バイアス電圧の制御方法は、動作周波数を変更するタイミング（すなわち所定フレームの処理の最初に動作周波数を設定する時点、および所定フレームの処理中に動作周波数を変更する時点、及び後述する例３の第１の破綻回避手段９３により動作周波数を上昇させる時点）に応じて変化させてもよい。たとえば、所定フレームの処理の最初に動作周波数を設定する時点では、動作電源電圧Ｖｄｄ及び基板バイアス電圧Ｖｂｎ、Ｖｂｐを制御し、所定フレームの処理中に動作周波数を変更する時点では基板バイアス電圧Ｖｂｎ、Ｖｂｐを制御し、例３の第１の破綻回避手段９３により動作周波数を上昇させる時点では基板バイアス電圧Ｖｂｐのみ制御することができる。
【００６７】
また、１フレームの処理に用いられる（すなわち、動作決定手段３により選択される）動作周波数・動作電源電圧・基板バイアス電圧は２組とは限らず、Ｎ組（Ｎは正の整数）とすることもできる。この場合、Ｎ組の動作周波数・動作電源電圧・基板バイアス電圧各々の動作時間を計算し、プロセッサ１を動作させることとなる。
【００６８】
さらに、プロセッサ１は、ステップ６，９の符号化処理に際して高動作周波数の次に低動作周波数で動作しているが、先に低動作周波数で時間Ｔｂだけ動作した後に、高動作周波数で時間Ｔａだけ動作するようにしても良い。
【００６９】
（証明１）
以下に、プロセッサの動作電源電圧及び動作周波数を一定としながら一のフレームを符号化する従来技術と比較して、本願発明がより低消費電力化を図ることができることを証明する。たとえば、プロセッサ１の動作電源電圧及び動作周波数は図５に示すようにｒ段階に可変とし、任意の一のフレームの必要演算量をＫtとし、そのフレームの処理に割り当てられる時間をＴtとする。また、プロセッサ１を動作周波数Ｆt（１）で動作させるときの動作電源電圧をＶｄｄ（１）とし、プロセッサ１を動作周波数Ｆt（２）で動作させるときの動作電源電圧をＶｄｄ（２）とする。図６（ａ）に示すように、動作周波数をＦt（１）と設定し、時間Ｔt１（＜Ｔｔ）で必要演算量Ｋtの処理が終了する場合をCase１とし、図６（ｂ）に示すように、動作周波数をＦｔ（１），Ｆｔ（２）と設定し、動作周波数Ｆｔ（１）でプロセッサ１を動作させる時間をＴ１とし、動作周波数Ｆｔ（２）でプロセッサ１を動作させる時間をＴ２とし、動作周波数を２段階に変更してプロセッサを動作させ、時間Ｔｔ（＝Ｔ１＋Ｔ２）で必要演算量Ｋｔの処理が終了する場合をCase２とし、各Case1,Case2について前記任意の一のフレームを符号化する場合を考えてみる。どちらも同一の演算量、すなわちＫt（サイクル）となる。一方、消費電力は、
Ｐ＝α×Ｃ×Ｆ×Ｖｄｄ2×ｔ
α：係数、Ｃ：プロセッサのトランジスタ数
Ｆ：動作周波数、Ｖｄｄ：動作電源電圧、ｔ：動作時間
で表される。これを用いてCase１の消費電力ＰａとCase２の消費電力Ｐｂを計算すると、
Ｐａ＝α×Ｃ×Ｆt（１）×Ｖｄｄ（１）2×Ｔt１
Ｐｂ＝α×Ｃ×Ｆt（１）×Ｖｄｄ（１）2×Ｔ１＋α×Ｃ×Ｆt（２）×Ｖｄｄ（２）2×Ｔ２
となり、
Ｐａ：Ｐｂ＝Ｆｔ（１）×Ｖｄｄ（１）2×Ｔt１：（Ｆｔ（１）×Ｖｄｄ（１）2×Ｔ１＋Ｆｔ（２）×Ｖｄｄ（２）2×Ｔ２）
となる。ここでたとえばＦｔ（１）＝２００、Ｆｔ（２）＝１００、Ｖｄｄ（１）＝１，Ｖｄｄ（２）＝０．５、Ｔｔ１＝０．７５×Ｔｔ、Ｔｔ１＝１／２×Ｔｔ、Ｔｔ２＝１／２×Ｔｔとすると、
Ｐａ：Ｐｂ＝２００×１2×０．７５：（２００×１2×（１／２）＋１００×０．５2×（１／２）
＝１７５：１１２．５
となり、Ｐａ＞Ｐｂとなる。すなわち、決められた演算量を一定時間で処理する場合、同一演算量Ｋｔに対し、Case２の場合のように、その時間内で動作周波数と動作電源電圧を２段階に変更してプロセッサを動作させるほうが、従来のように処理時間中に動作周波数と動作電源電圧を一定とするCase１の場合よりも低消費電力であることがわかる。したがって、動作電源電圧及び動作周波数を２段階に変更してプロセッサ１を動作させながら一のフレームの符号化処理を行う本発明によれば、一のフレームの符号化中に一定の動作周波数と動作電源電圧でプロセッサ１を動作させる従来技術と比較して、低消費電力化が図られることがわかる。
【００７０】
（証明２）
以下に、プロセッサの動作周波数を一定としながら一のフレームを符号化する従来技術と比較して、本願発明がよりサブスレッショルドリーク電流による消費電力を低減できることを証明する。たとえば、プロセッサ１の基板バイアス電圧及び動作周波数は図５に示すようにｒ段階に可変とし、任意の一のフレームの必要演算量をＫtとし、そのフレームの処理に割り当てられる時間をＴtとする。また、プロセッサ１を動作周波数Ｆt（１）で動作させるときの基板バイアス電圧をＶｂｎ（１）、Ｖｂｐ（１）とし、基板バイアス電圧Ｖｂｎ（１）、Ｖｂｐ（１）に対応するしきい値電圧をＶｔ（１）とし、プロセッサ１を動作周波数Ｆt（２）で動作させるときの基板バイアス電圧をＶｂｎ（２）、Ｖｂｐ（２）とし、基板バイアス電圧Ｖｂｎ（２）、Ｖｂｐ（２）に対応するしきい値電圧をＶｔ（２）とする。図７（ａ）に示すように、動作周波数をＦt（１）と設定し、時間Ｔt１（＜Ｔｔ）で必要演算量Ｋtの処理が終了し、残りの時間（Ｔｔ−Ｔｔ１）は基板バイアス電圧Ｖｂ'を負に深く印加してしきい値電圧Ｖｔ’を高くする場合をCase１とし、図７（ｂ）に示すように、動作周波数をＦｔ（１），Ｆｔ（２）と設定し、動作周波数Ｆｔ（１）でプロセッサ１を動作させる時間をＴ１とし、動作周波数Ｆｔ（２）でプロセッサ１を動作させる時間をＴ２とし、動作周波数を２段階に変更してプロセッサを動作させ、時間Ｔｔ（＝Ｔ１＋Ｔ２）で必要演算量Ｋｔの処理が終了する場合をCase２とし、各Case1,Case2について前記任意の一のフレームを符号化する場合を考えてみる。サブスレッショルドリーク電流による消費電力は、
Ｐｓｔ＝Ｖｄｄ×Ｉ0×１０＾（−Ｖｔ／Ｓ）×ｔ
Ｉ0：定数、Ｖｄｄ：動作電源電圧、
Ｖｔ：しきい値電圧、Ｓ：サブスレッショルドswing、ｔ：動作時間
と表される。これを用いてCase１のサブスレッショルドリーク電流による消費電力Ｐｓｔ１とCase２のサブスレッショルドリーク電流による消費電力Ｐｓｔ２を計算すると、
Ｐｓｔ１＝Ｖｄｄ×Ｉ0×１０＾（−Ｖｔ（１）／Ｓ）×Ｔｔ１＋Ｖｄｄ×Ｉ0×１０＾（−Ｖｔ'／Ｓ）×（Ｔｔ−Ｔｔ１）
Ｐｓｔ２＝Ｖｄｄ×Ｉ0×１０＾（−Ｖｔ（１）／Ｓ）×Ｔ１＋Ｉ0×１０＾（−Ｖｔ（２）／Ｓ）×Ｔ２
となり、
Ｐｓｔ１：Ｐｓｔ２＝（１０＾（−Ｖｔ（１）／Ｓ）×Ｔｔ１＋１０＾（−Ｖｔ'／Ｓ）×Ｔｔ'：（１０＾（−Ｖｔ（１）／Ｓ）×Ｔ１＋１０＾（−Ｖｔ（２）／Ｓ）×Ｔ２）
となる。ここで、たとえばＶｔ（１）＝０、Ｖｔ（２）＝Ｓ、Ｖｔ'＝４×Ｓ，Ｔｔ１＝０．７５×Ｔｔ、Ｔｔ１＝１／２×Ｔｔ、Ｔｔ２＝１／２×Ｔｔとすると、
Ｐｓｔ１：Ｐｓｔ２＝（１０0×０．７５＋１０-4×０．２５）：（１０-0／２＋１０-1／２）
≒０．７５：０．５５
となり、Ｐｓｔ１＞Ｐｓｔ２となる。すなわち、決められた演算量を一定時間で処理する場合、同一演算量Ｋｔに対し、Case２の場合のように、その時間内で動作周波数と基板バイアス電圧を２段階に変更してプロセッサを動作させるほうが、従来のように処理時間中に動作周波数と基板バイアス電圧を一定とするCase１の場合よりも低消費電力であることがわかる。したがって、基板バイアス電圧及び動作周波数を２段階に変更してプロセッサ１を動作させながら一のフレームの符号化処理を行う本発明によれば、一のフレームの符号化中に一定の動作周波数と基板バイアス電圧でプロセッサ１を動作させる従来技術と比較して、低消費電力化が図られることがわかる。
【００７１】
（第２の実施の形態）
本実施の形態の符号化処理システムは、必要演算量計算手段２で算出された必要演算量Ｋpが現実の所定フレームの必要演算量よりも小さい場合に生ずる、所定フレームの処理に割り当てられた時間内に処理が完了できないという破綻現象の問題を解決するために、破綻回避手段を備えることが好ましい。本実施の形態の動画像符号化処理システムＳ２１，Ｓ２２，Ｓ２３は、必要演算量Ｋｐに対し余裕を持たせる第１の破綻回避手段を備える。下記以外の点は、上記第１の実施の形態と同様である。第１の破綻回避手段としては、下記の例１から例３が挙げられる。
【００７２】
（第１の破綻回避手段の例１）図８は、第１の破綻回避手段の例１を備える動画像符号化処理システムＳ２１の概略ブロック図であり、図９は本システムＳ２１により実現される動画像符号化処理方法を説明する概略フローチャートである。本例の第１の破綻回避手段９１は、必要演算量計算手段２の一部として機能する手段であり、必要演算量Ｋｐを所定値だけ増加させる処理を行う。この破綻回避処理は、必要演算量計算ステップ（Ｓｔｅｐ２）内で実行される。具体的には、必要演算量計算ステップ内において必要演算量Ｋｐをｍ倍（ｍは1以上の実数）する。たとえばｍ＝1.1とすると、算出した必要演算量Ｋｐに対し、10％の余裕を持たせることができる。また、必要演算量Ｋｐに実数ｎ（ｎは０以上の実数）を加算しても良く、算出された必要演算量の値に関わらず一定の値で余裕を持たせることができる。上述の例を用いると、最終的に算出される必要演算量Ｋpは、
Ｋp＝Ｇ（Ｚ）×ｍ
Ｋp＝Ｇ（Ｚ）＋ｎ
により求められる。２式を組み合わせて、
Ｋp＝Ｇ（Ｚ）×ｍ＋ｎ
としてもよい。
【００７３】
（第１の破綻回避手段の例２）
算出された必要演算量Ｋｐの値が実際に所定フレームの処理に必要な必要演算量Ｋｍよりも小さい場合、必要演算量Ｋｐの値をもとに選択される２つの動作周波数Ｆ（ｉ），Ｆ（ｊ）の値が小さくなったり、２つの動作周波数のうち高いほうの動作周波数での動作時間が短くなったり、低いほうの動作周波数での動作時間が長くなったりして、破綻現象が生じる可能性がある。そこで、本例の第１の破綻回避手段９２は、プロセッサ１の動作の切替タイミングを制御することにより破綻現象を回避する。
【００７４】
図１０は、第１の破綻回避手段９２を備える動画像符号化システムＳ２２の概略ブロック図であり、図１１は、このシステムＳ２２により実現される動画像符号化方法を説明する概略フローチャートである。本実施の形態の動画像符号化処理システムＳ２２は、本例の第１の破綻回避手段９２を備える。動画像符号化処理システムＳ２２は、動画像一フレームの処理において、プロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置を動作させている動作周波数及び動作電源電圧及び基板バイアス電圧の動作の切替タイミングを遅らせるように動的動作電源電圧・基板バイアス電圧・動作周波数制御を行うことで、破綻現象を回避するというものである。
【００７５】
図１２は、本例の第１の破綻回避手段９２を用いて破綻回避を行ったときのプロセッサの動作周波数の時間推移を示した図である。動画像符号化処理システムＳ２２では、プロセッサ１の動作周波数がＦ（ｉ）からＦ（ｊ）に切り替わる時刻に符号化処理を一時中断し、動画像符号化手段５に割り込み処理をさせ、その割り込みの時点において、本例の第１の破綻回避手段９２が、必要演算量計算手段２で算出された所定フレームに費やせる演算量の残量である演算残量Ｋｉと、動画像符号化手段５による所定のフレームの符号化処理において実際に必要な演算量の残りの演算量とを比較する。すなわち、本例の第１の破綻回避手段９２は、所定フレームの処理に割り当てられている残りの時間Ｔｂとプロセッサ１の動作周波数Ｆ（ｊ）から、演算残量Ｋｉを数式Ｋｉ＝Ｔｂ×Ｆ（ｊ）で計算する。また、本例の第１の破綻回避手段９２は、関数Ｋｐｒ（ＭＢｘ）から、フレーム内で処理されていない残りの（ＭＢ−ＭＢｉ）個のマクロブロックの処理に必要な演算量の予測値をＫｐｒ（ＭＢｉ）で計算する。なお、ＭＢは所定フレームに含まれるマクロブロックの総数、ＭＢｉは割り込み処理発生時刻における所定フレームの符号化処理済みマクロブロック数を表す。
【００７６】
ここで関数Ｋｐｒ（ＭＢｘ）は、フレーム内で処理されていない残りの（ＭＢ−ＭＢｘ）個のマクロブロックの処理に必要な演算量の予測値を求める関数である。たとえば、関数の一例として、
Ｋｐｒ（ＭＢｘ）＝Ｋｐ×（ＭＢ−ＭＢｘ）／ＭＢ
が考えられる。また、
Ｋｐｒ（ＭＢｘ）＝Ｆ（ｉ）×Ｔａ×（ＭＢ−ＭＢｘ）／ＭＢｘ
としてもよい。また、前フレームにおけるｋ番目のマクロブロックの処理に実際に費やした演算量を表す関数ｋａ'（ｋ）と、所定フレームにおけるｋ番目のマクロブロックの処理に実際に費やした演算量を表す関数ｋａ（ｋ）を用いて、
Ｋｐｒ（ＭＢｘ）＝Ｋｐ×（Ｋａ'−Σ（ｋ＝１〜ＭＢｘ）ｋａ'（ｋ））／Ｋａ'
Ｋｐｒ（ＭＢｘ）＝Ｋｐ'×（Ｋａ'−Σ（ｋ＝１〜ＭＢｘ）ｋａ'（ｋ））／Ｋａ'
Ｋｐｒ（ＭＢｘ）＝Ｋａ'−Σ（ｋ＝１〜ＭＢｘ）ｋａ'（ｋ）
Ｋｐｒ（ＭＢｘ）＝Ｋｐ×Σ（ｋ＝１〜ＭＢｘ）ｋａ（ｋ）／Σ（ｋ＝１〜ＭＢｘ）ｋａ'（ｋ）×（ＭＢ−ＭＢｘ）／ＭＢ
Ｋｐｒ（ＭＢｘ）＝Ｋｐ'× Σ（ｋ＝１〜ＭＢｘ）ｋａ（ｋ）／Σ（ｋ＝１〜ＭＢｘ）ｋａ'（ｋ）×（ＭＢ−ＭＢｘ）／ＭＢ
Ｋｐｒ（ＭＢｘ）＝Σ（ｋ＝１〜ＭＢｘ）ｋａ（ｋ）／Σ（ｋ＝１〜ＭＢｘ）ｋａ'（ｋ）×（ＭＢ−ＭＢｘ）／ＭＢ
としてもよいが、これに限られることはない。
【００７７】
次に、本例の第１の破綻回避手段９２は、Ｋｉ≧Ｋｐｒ（ＭＢｉ）であるかＫｉ＜Ｋｐｒ（ＭＢｉ）であるかを判断する。計算された演算残量Ｋｉ及びフレーム内で処理されていない残りの（ＭＢ−ＭＢｘ）個のマクロブロックの処理に必要な演算量の予測値Ｋｐｒ（ＭＢｉ）が数式Ｋｉ≧Ｋｐｒ（ＭＢｉ）を満たすとき、割り込み処理を終了し、符号化処理ルーチンに戻る。本例の第１の破綻回避手段９２は、計算された演算残量Ｋｉ及びフレーム内で処理されていない残りの（ＭＢ−ＭＢｘ）個のマクロブロックの処理に必要な演算量の予測値Ｋｐｒ（ＭＢｉ）が数式Ｋｉ＜Ｋｐｒ（ＭＢｉ）を満たすとき、必要演算量計算手段２で算出された必要演算量が実際に必要な演算量よりも小さいと判断し、動作制御手段４に対し動作周波数Ｆ（ｉ）及び動作電源電圧Ｖｄｄ（ｉ）及び基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）でのプロセッサ１及び（又は）局部復号メモリ６等を含んだ周辺装置の動作を延長するように指示をする（符号１０４）。
【００７８】
ここで、時間Ｔｂのうち動作周波数Ｆ（ｉ）及び動作電源電圧Ｖｄｄ（ｉ）及び基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）でのプロセッサ１及び（又は）局部復号メモリ６等を含んだ周辺装置の動作の延長時間Ｔａ'は、
Ｔａ'＝（Ｋｐｒ（ＭＢｉ）−Ｋｉ）／（Ｆ（ｉ）−Ｆ（ｊ））
で求められる。また、破綻現象を生じにくくさせるため、Ｔａ'に余裕を持たせるのが好ましい。具体的には、たとえば延長時間Ｔａ'をｍ倍（ｍは1以上の実数）する。たとえばｍ＝1.1とすると、算出した延長時間Ｔａ'に対し、10％の余裕を持たせることができる。また、延長時間Ｔａ'に実数ｎ（ｎは０以上の実数）を加算しても良く、算出された延長時間の値に関わらず一定の値で余裕を持たせることができる。上述の例を用いると、最終的に算出される延長時間Ｔａ'は、
Ｔａ'＝（Ｋｐｒ（ＭＢｉ）−Ｋｉ）／（Ｆ（ｉ）−Ｆ（ｊ））×ｍ
Ｔａ'＝（Ｋｐｒ（ＭＢｉ）−Ｋｉ）／（Ｆ（ｉ）−Ｆ（ｊ））＋ｎ
により求められる。２式を組み合わせて、
Ｔａ'＝（Ｋｐｒ（ＭＢｉ）−Ｋｉ）／（Ｆ（ｉ）−Ｆ（ｊ））×ｍ＋ｎ
としてもよい。また、動作周波数Ｆ（ｊ）での動作時間（Ｔｂ−Ｔａ'）が所定値以下の場合、Ｔａ'＝Ｔｂとし、１フレームの処理の残り時間を動作周波数Ｆ（ｉ）で一定に動作させてもよい。以上の処理を設けることにより、高い動作周波数Ｆ（ｉ）での所定フレームの処理を延長することができるため、所定フレームの処理開始時にプロセッサに設定された動作周波数が、所定フレームの処理に必要な演算量を実現するために必要な動作周波数より小さく設定されたとしても、また高い動作周波数での動作時間が短く設定され、低い動作周波数での動作時間が長く設定されたとしても、破綻現象を生ずることなく所定フレームの処理を終了することができるようになる。また、上式におけるＭＢ及びＭＢｉの代わりに、ＢＬ及びＢＬｉを用いてもよい。ここでＢＬは所定フレームに含まれるブロックの総数、ＢＬｉはｉ回目の割り込み処理発生時刻における所定フレームの処理済みブロック数を表す。この場合、関数Ｋｐｒ（ＢＬｘ）は、フレーム内で処理されていない残りの（ＢＬ−ＢＬｘ）個のブロックの処理に必要な演算量の予測値を求める関数であり、関数ｋａ'（ｋ）は前フレームにおけるｋ番目のブロックの処理に実際に費やした演算量を表す関数であり、関数ｋａ（ｋ）は所定フレームにおけるｋ番目のブロックの処理に実際に費やした演算量を表す関数である。
【００７９】
なお、低い動作周波数で動作した後に高い動作周波数で動作する場合は、予め定められたタイミングで割り込みを行い、その割り込み時点において、必要演算量計算手段で算出された所定フレームの必要演算量の残量が、符号化又は復号化処理手段による所定フレームの符号化又は復号化処理に実際に必要な演算量の残量よりも小さい場合は、切替タイミングを早めて、高い動作周波数で動作する時間を長くするようにしても良い。
【００８０】
また、本例の第１の破綻回避手段９２により高い動作周波数での動作時間を延長させた場合、新たに決定された動作周波数の変更タイミングで本例の第１の破綻回避手段９２をもう１度実行してもよいし、本例の第１の破綻回避手段９２を実行せず、高い動作周波数から低い動作周波数に変更してもよい。さらに、本例の第１の破綻回避手段９２による、高い動作周波数での動作時間を延長する制御が１フレームの処理のうち所定値以上発生した場合は、後述する例３の第１の破綻回避手段９３により動作周波数を上昇させてもよい。
【００８１】
（第１の破綻回避手段の例３）
図１０は、例３の第１の破綻回避手段９３を備える動画像符号化システムＳ２３の概略ブロック図であり、図１３は、このシステムＳ２３により実現される動画像符号化方法を説明する概略フローチャートである。本実施の形態の動画像符号化処理システムＳ２３は、本例の第１の破綻回避手段９３を備える。動画像符号化処理システムＳ２３は、プロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置を動作させている動作周波数及び動作電源電圧及び基板バイアス電圧を変更する動的動作電源電圧・基板バイアス電圧・動作周波数制御を行うことで、破綻現象を回避するというものである。
【００８２】
所定フレームの処理に対する動作周波数及び動作電源電圧及び基板バイアス電圧は、必要演算量計算手段２により算出された値をもとに動作決定手段３により算出される。しかし、算出された必要演算量Ｋｐの値が実際に所定フレームの処理に必要な必要演算量Ｋｍよりも小さい場合、必要演算量Ｋｐの値をもとに算出された動作周波数もまた、実際に所定フレームの処理に必要な動作周波数より小さい値となる。
【００８３】
図１４は、本例の第１の破綻回避手段９３を用いて破綻回避を行ったときのプロセッサの動作周波数の時間推移を示した図である。動画像符号化処理システムＳ２３では、動画像符号化手段５にＮ回の割り込み処理を等間隔に設けて符号化処理を一時中断し、その割り込みの時点において、本例の第１の破綻回避手段９３が、必要演算量計算手段２で算出された所定フレームの必要演算量の残量である演算残量Ｋｉと、動画像符号化手段５による所定のフレームの符号化処理において実際に必要な演算量の残りの演算量とを比較する。すなわち、ｉ回目の割り込み処理では、演算残量判断手段２９は、所定フレームの処理に割り当てられている残りの時間Ｔｉとプロセッサ１の動作周波数Ｆを測定し、演算残量Ｋｉを数式Ｋｉ＝Ｔｉ×Ｆで計算する。また、本例の第１の破綻回避手段９３は、１回目から（ｉ−１）回目までの割り込み処理時刻Ｔ１，Ｔ２，・・・，Ｔ（ｉ−１）、及び、各割り込み時刻でのプロセッサの動作周波数Ｆ１，Ｆ２，・・・，Ｆ（ｉ−１）を保持し、これらの値をもとに所定フレームの処理開始時刻からｉ回目の割り込み処理発生時刻までに、所定フレームの処理に費やされた演算量Ｋｐｍを数式Ｋｐｍ＝Σ｛Ｆｊ×（Ｔ（ｊ＋１）−Ｔｊ）｝を用いて計算する。ただし、Ｆ０は所定フレームの処理開始時に設定されていたプロセッサの動作周波数、ｊ＝０，１，・・・，（ｉ−１）である。つぎに、本例の第１の破綻回避手段９３は、Ｋｉ≧Ｋｐｍ×（ＭＢ−ＭＢｉ）／ＭＢｉであるかＫｉ＜Ｋｐｍ×（ＭＢ−ＭＢｉ）／ＭＢｉであるかを判断する。計算された演算残量Ｋｉ及び所定フレームの処理に費やされた演算量Ｋｐｍが数式Ｋｉ≧Ｋｐｍ×（ＭＢ−ＭＢｉ）／ＭＢｉを満たすとき、割り込み処理を終了し、符号化処理ルーチンに戻る。動画像符号化手段５は、（ｉ＋１）回目の割り込み処理発生時刻まで、所定フレームの処理を継続する。本例の第１の破綻回避手段９３は、計算された演算残量Ｋｉ及び所定フレームの処理に費やされた演算量Ｋｐｍが数式Ｋｉ＜Ｋｐｍ×（ＭＢ−ＭＢｉ）／ＭＢｉを満たすとき、必要演算量計算手段２で算出された必要演算量が実際に必要な演算量よりも小さいと判断し、動作制御手段４に対し図５に示すプロセッサ１及び（又は）局部復号メモリ６等を含んだ周辺装置がサポートする動作周波数を一段階上げ、動作周波数に応じた動作電源電圧及び基板バイアス電圧でプロセッサ１及び（又は）局部復号メモリ６等を含んだ周辺装置を動作させるように指示をする（符号１０４）。ここで、動作周波数を２段階以上上げるように指示しても良い。なお、ＭＢは所定フレームに含まれるマクロブロックの総数、ＭＢｉはｉ回目の割り込み処理発生時刻における所定フレームの符号化処理済みマクロブロック数を表す。以上の処理を設けることにより、所定フレームの処理の途中でプロセッサの動作周波数を上げることができるため、所定フレームの処理開始時にプロセッサに設定された動作周波数が、所定フレームの処理に必要な演算量を実現するために必要な動作周波数より小さく設定されたとしても、破綻現象を生ずることなく所定フレームの処理を終了することができるようになる。なお、動画像符号化手段５への割り込み時刻は等間隔のＮ回に限らず、任���の間隔のＮ回で行ってもよい。また、数式Ｋｉ≧Ｋｐｍ×（ＭＢ−ＭＢｉ）／ＭＢｉ及び数式Ｋｉ＜Ｋｐｍ×（ＭＢ−ＭＢｉ）／ＭＢｉのかわりに、Ｋｉ≧Ｋｐｍ×（ＢＬ−ＢＬｉ）／ＢＬｉ及びＫｉ≧Ｋｐｍ×（ＢＬ−ＢＬｉ）／ＢＬｉを用いてもよい。ここでＢＬは所定フレームに含まれるブロックの総数、ＢＬｉはｉ回目の割り込み処理発生時刻における所定フレームの処理済みブロック数を表す。
【００８４】
（第３の実施の形態）
本実施の形態の動画像符号化処理システムＳ３は、所定フレームの符号化処理に予め割り当てられている時間内に所定フレームの符号化処理が終了しないと判断した場合には破綻現象を回避する処理を行う第２の破綻回避手段９４を備える。その他の点は第１の実施の形態と同様である。
【００８５】
図１５は、第２の破綻回避手段９４を備える動画像符号化システムＳ３の概略ブロック図であり、図１６は、このシステムＳ３により実現される動画像符号化方法を説明する概略フローチャートである。第２の破綻回避手段９４は、ステップ５において動画像符号化手段５が所定フレームの入力画像データ１０１の符号化処理ルーチンを実行している際に、所定のタイミングで符号化処理ルーチンに割り込みを行い、処理時間内で一時中断し、所定フレームの符号化処理が終了しているか終了していないかを判定し、符号化がなされていないマクロブロックがある場合は、前記必要演算量計算手段で算出された必要演算量が実際に必要な演算量よりも小さいと判断し、当該マクロブロックに対して無効ブロック化処理を行う。ここでは、第２の破綻回避手段９４において、少なくとも破綻現象が起きない時点で割り込みを行った際に符号化処理が完了していなければ、残りの処理を大幅に削減できる処理に変更するなどの無効ブロック化処理を行うことにより、時間内に符号化処理が完了できないという破綻現象を回避できるようにしている。
【００８６】
以下に、第２の破綻回避手段９４について具体的に説明する。図１７は割り込みを行う際の時間と演算残量の関係を示している。１フレームのマクロブロック数をＭＢとし、１つのマクロブロックを無効マクロブロックとして処理する際に必要な演算量をＫsとする。ただし、無効マクロブロックとして処理する際に必要な演算量Ｋsは、1マクロブロックの通常の処理に要する演算量に比べはるかに小さい値であり、どのフレームのマクロブロックに対しても同様の処理を行う。動画像符号化処理システムＳ３では、所定フレームの処理の最初の時点において、及び（または）動画像符号化手段５にＮ回（Ｎは０以上の整数）の割り込み処理を等間隔に設けて符号化処理を一時中断し、その割り込みの時点において、第２の破綻回避手段９４が、無効ブロック化処理を行うための割り込み時間を算出する。すなわち、第２の破綻回避手段９４は、処理済マクロブロック数レジスタ１０から符号化処理が終了したマクロブロックの数ＭＢi（符号１１７）の読み出しを行って、（ＭＢ−ＭＢｉ）×Ｋｓ＜Ｆ（ｊ）×Ｔｂであるか、（ＭＢ−ＭＢｉ）×Ｋｓ＞Ｆ（ｊ）×Ｔｂであるかを判断する。第２の破綻回避手段９４が（ＭＢ−ＭＢｉ）×Ｋｓ＜Ｆ（ｊ）×Ｔｂであると判断した場合は、割り込みを行う時間ＴｉをＴｉ＝Ｔｆ−｛（ＭＢ−ＭＢｉ）×Ｋｓ｝／Ｆ（ｊ）で算出する。一方、第２の破綻回避手段９４が（ＭＢ−ＭＢｉ）×Ｋｓ＞Ｆ（ｊ）×Ｔｂであると判断した場合は、割り込みを行う時間ＴｉをＴｉ＝｛Ｋｐ−（ＭＢ−ＭＢｉ）×Ｋｓ｝／Ｆ（ｉ）で算出する。割り込みを行う時間は、前記動作決定手段３が計算しても良い。次に、第２の破綻回避手段９４は、時間Ｔiのタイミングで符号化処理ルーチンに割り込みを行い、処理済マクロブロック数レジスタ１０から符号化処理が終了したマクロブロックの数ＭＢi（符号１１７）の読み出しを行って、ＭＢi＝ＭＢであるか、ＭＢi＜ＭＢであるかを判断し、符号化処理が完了しているかを判定する。ＭＢi＝ＭＢであれば、所定フレームの符号化処理が完了しているので、そのまま割り込みルーチンを終了して符号化処理ルーチンに戻る。ＭＢi＜ＭＢであれば、所定フレームの符号化処理が終了していないので、必要演算量計算手段２で算出された必要演算量が実際に必要な演算量よりも小さいと判断し、符号化未処理のマクロブロック総てを無効ブロックとして処理し、符号化処理ルーチンに戻る。時間Ｔｉのタイミングで割り込みを行う時点で、少なくとも全てのマクロブロックを無効ブロックとして処理する演算量は確保されているため、必ず破綻現象を回避することができる。
【００８７】
（第４の実施の形態）
本発明の第４の実施の形態の動画像復号化処理システムＳ４は、符号化された動画像を復号化するシステムである。図１８は動画像復号化処理システムＳ４の動作を示した概略ブロック図である。本実施の形態の動画像復号化処理システムＳ４は、動作電源電圧及び基板バイアス電圧及び動作周波数がｒ段階（ｒは２以上の整数）に用意され且つプログラムにより動作電源電圧及び基板バイアス電圧及び動作周波数を変更可能なプロセッサ１と、前記プロセッサ１の動作電源電圧及び基板バイアス電圧及び動作周波数を制御する動作制御手段４と、前フレームの復号化データを記憶する局部復号フレームメモリ３６と、プロセッサ１上で動作する第１の破綻回避手段とを備える。また、局部復号メモリ３６は動作制御手段４により，プロセッサ１と同様に動作電源電圧・基板バイアス電圧・動作周波数が制御されてもよい。プロセッサ１は、プロセッサ１上で動作する必要演算量計算手段３２と、プロセッサ１上で動作する動作決定手段３と、プロセッサ１上で動作する動画像復号化手段３５とを備える。符号３０１は入力符号化データ、符号１０２は動作電源電圧・基板バイアス電圧・動作周波数指示、符号１０５は動作電源電圧・基板バイアス電圧・動作周波数供給、符号３０６は復号化データであり、第１の実施の形態と同一符号は同一機能又はそれ相当の機能を有する部分である。符号化ではなく復号化を行う点及び下記以外の点は第２の実施の形態と同様である。
【００８８】
図１８に従って、動画像復号化処理システムＳ４の動作を説明する。以下、順次復号化されるフレームのうちこれから復号化される任意の一のフレーム（すなわち、あるフレームが復号化された時点を基準とすると次に復号化されるフレームであり、換言すると、その時点において未だに復号化処理されておらず未来に復号化処理が行われる予定であるフレーム）を所定フレーム、所定フレームより前に復号化された一のフレーム（過去に復号化されたフレーム）を前フレームとし、所定フレームを復号化する処理について説明するが、いずれのフレームについても同様の処理が行われる。コンピュータを動画像復号化処理システムＳ４として機能させる動画像復号化処理プログラムＰｒｇ４は、前記動画像符号化処理プログラムＰｒｇ１とほぼ同様であるが、ステップ６及びステップ９において、所定フレームの符号化データを復号化させる動画像復号化手段３５としてコンピュータ（詳しくはコンピュータに内蔵されるプロセッサ１）を機能させる。動画像復号化処理システムＳ３に入力されてきた入力符号化データ３０１は、必要演算量計算手段３２に入力される。必要演算量計算手段３２は符号化データ３０１の一フレーム分（すなわち、所定フレームの符号化データ３０１）の発生情報量（ビット数）ＦＢを計算し、必要計算量Ｋｐを予測する計算を行う（必要演算量計算ステップ）。必要演算量Ｋｐは、
Ｋp＝Ｇ（ＦＢ，ＭＶａ，ＭＶｖ，Ｂ，Ｃ，ＢＲ，Ｄ，Ｑ，ΔＱprev，Ｉ，Ｅ，Ｐ）
で表される。ＦＢは一フレーム分の発生情報量（ビット数）である。ただし、関数Ｇは要素ＦＢ，ＭＶａ，ＭＶｖ，Ｂ，Ｃ，ＢＲ，Ｄ，Ｑ，ΔＱprev，Ｉ，Ｅ，Ｐの一つ以上の要素を用いて導き出される関数である。必要演算量Ｋｐは、所定フレームに必要と予測される演算性能（周波数，サイクル）であり、所定フレーム内のビット数ＦＢが大きければ高い値と、ビット数ＦＢが小さければ低い値となる。また、必要演算量Ｋｐを予測する計算である必要演算量計算手段３２の要素として、所定フレームがフレーム内符号化であるかフレーム間符号化であるかの種類も使用することが可能であり、所定フレームがフレーム内符号化である場合の必要演算量Ｋｐは小さい値と、フレーム間符号化である場合の必要演算量Ｋｐは大きい値となる。さらに、必要計算量Ｋｐは、動きベクトルの大きさの平均値(これから復号化するフレームの，もしくは前フレームのもの)ＭＶａ、動きベクトルの大きさの分散  (これから復号化するフレームの，もしくは前フレームのもの)ＭＶｖ、有効ブロック数(これから復号化するフレームの，もしくは前フレームのもの)Ｂ、有効係数の数(これから復号化するフレームの，もしくは前フレームのもの)Ｃ、ビットレート(これから復号化するフレームの，もしくは前フレームのもの)ＢＲ、発生情報量(これから復号化するフレームの，もしｓくは前フレームのもの)ＦＢ、量子化ステップサイズの平均値(これから復号化するフレームの，もしくは前フレームのもの)Ｑ、量子化ステップサイズの平均値の差(これから復号化するフレームのＱと1つ前のフレームのＱの差，もしくは1つ前のフレームのＱと2つ前のフレームのＱの差)ΔＱ、ＩピクチャであるかＰピクチャであるかＢピクチャであるかの種類Ｉ、前フレームの復号化に実際に要した演算量Ｅ、前フレームの復号化に必要な演算量の予測値（すなわち、必要演算量計算手段により算出された前フレームの必要演算量）Ｐにも影響され、これらを必要演算量計算手段３２において要素として使用しても良い。例えば、動きベクトルの大きさの平均値(これから復号化するフレームの，もしくは前フレームのもの)ＭＶａ、動きベクトルの大きさの分散  (これから復号化するフレームの，もしくは前フレームのもの)ＭＶｖ、有効ブロック数(これから復号化するフレームの，もしくは前フレームのもの)Ｂ、有効係数の数(これから復号化するフレームの，もしくは前フレームのもの)Ｃについては、各要素それぞれについて、他の要素の値が変化しないと仮定したときに、要素の値が大きい場合は小さい場合と比較して必要演算量Ｋｐが相対的に大きくなるようにし、要素の値が小さい場合は大きい場合と比較して必要演算量Ｋｐが相対的に小さくなるようにする。必要演算量計算手段３２においては、これらの要素のうち一つの要素のみを使用しても良いし、複数組み合わせて使用しても良い。すなわち、これらの複数の要素は所定フレームの復号化処理のために必要な必要演算量に影響を与える要素であるため、必要演算量計算手段３２が、これらの要素に応じて必要演算量Ｋｐ（サイクル）を増減させるように計算を行うことにより、必要演算量計算手段３２により計算される必要演算量Ｋｐが現実に復号化処理を行ったときの演算量により近い値となる。
【００８９】
動作決定手段３（動作電源電圧・基板バイアス電圧・動作周波数決定ステップ）及び動作電源電圧・基板バイアス電圧・動作周波数制御手段４は、前記第１の実施の形態と同様である。動画像復号化手段３５は、所定フレームの入力符号化データ３０１を復号化して復号化データ３０６を生成する（動画像復号化ステップ）。動画像復号化手段３５による復号化処理に際しては、動作制御手段４により動作電源電圧及び基板バイアス電圧及び動作周波数を少なくとも２段階に制御してプロセッサ１を動作させながら復号化処理が行われる。フレームごとに、そのフレームの復号化処理の前に必要な必要演算量が算出され、必要演算量を処理可能な動作周波数等と、その動作周波数よりも低い周波数等で時分割に動作するため、必要演算量を処理可能な動作周波数等で一定に動作する従来技術と比較して、低消費電力化を図ることができる。復号化データ３０６は、携帯電話やパソコンの画像表示部に動画像として表示されたり、ハードディスク等の記憶媒体に記憶されたりする。
【００９０】
動画像復号化処理システムＳ４においても、上記第１の破綻回避手段９１，９２，９３を備えることが好ましい。各破綻回避手段９１，９２，９３は第２の実施の形態とほぼ同様であるが、符号化処理の演算量ではなく復号化処理の演算量について判断する点で異なる。各第１の破綻回避手段９１，９２，９３により、破綻現象を回避することができる。
【００９１】
本発明の動画像符号化処理システムは、第１の破綻回避手段９１，９２，９３と、第２の破綻回避手段９４をそれぞれ単独で備えても良く、また、各手段を適宜組み合わせて備えても良い。復号化処理システムは、各第１の破綻回避手段９１，９２，９３をそれぞれ単独で備えてもよく、また、各手段を適宜組み合わせて備えても良い。たとえば、符号化処理システムの場合は、第１の破綻回避手段９１，９２，９３及び第２の破綻回避手段９４を総て備えるようにし、例１の第１の破綻回避手段９１により必要演算量を増加させても破綻を回避できない場合は、例２の第１の破綻回避手段９２によりプロセッサ１の動作の切替タイミングを調整し、高い動作周波数でのプロセッサの動作を延長させる。それでも破綻回避現象を回避不可能な場合は、例３の第１の破綻回避手段９３により動作周波数を上昇させ、さらに、それでも破綻現象を回避不可能な場合は、第２の破綻回避手段９４により無効ブロック化処理を行うようにしても良い。また、上記動画像符号化又は復号化処理プログラムは、プログラムと同様の機能を備えるハードウエアで実現されても良い。
【００９２】
（第５の実施の形態）
上記第１の実施の形態乃至第４の実施の形態は、動作電源電圧、基板バイアス電圧及び動作周波数を制御するものであるが、本実施の形態は、動作電源電圧及び動作周波数を制御することにより、低消費電力化を図るものである。なお、本実施の形態は半導体に集積されたシステムに限らない。図１９は、本実施の形態の動画像符号化システムＳ５の動作を示した概略ブロック図であり、図２０はプロセッサ５１の動作電源電圧・動作周波数の関係を示す概念図である。本実施の形態の動画像符号化処理システムＳ５は、上記第１の実施の形態のプロセッサ１に代えて、動作電源電圧Ｖｄｄ及び動作周波数がｒ段階（ｒは２上の整数）に可変であり（すなわち、ｒ段階の動作電源電圧Ｖｄｄ及び動作周波数で動作可能であり）且つプログラムにより動作電源電圧及び動作周波数を変更可能なプロセッサ５１とする。また、前記動作制御手段５４は、プロセッサ１の動作電源電圧及び動作周波数を制御する。プロセッサ５１、又は、プロセッサ１及び周辺装置（局部部復号メモリ６や入力フレームメモリ７等）は動作制御手段５２により動作電源電圧・動作周波数が制御される。
【００９３】
動作決定手段５３は、Ｆ（ｉ）＞Ｆｅであり、且つＦ（ｊ）＜Ｆｅとなる２つの動作周波数Ｆ（ｉ）、Ｆ（ｊ）を所定フレームの符号化処理を行う動作周波数として選択する計算を行い、動作周波数Ｆ（ｉ）に適する動作電源電圧Ｖｄｄ（ｉ）、動作周波数Ｆ（ｊ）に適する動作電源電圧Ｖｄｄ（ｊ）を選択する計算を行い、動作周波数Ｆ（ｉ），Ｆ（ｊ）を用いて、動作周波数Ｆ（ｉ）及び動作電源電圧Ｖｄｄ（ｉ）でプロセッサ１を動作させる時間Ｔａと、動作周波数Ｆ（ｊ）及び動作電源電圧Ｖｄｄ（ｊ）でプロセッサ１を動作させる時間Ｔｂを求め、プロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置をその動作周波数Ｆ（ｉ）及び動作電源電圧Ｖｄｄ（ｉ）で時間Ｔａだけ動作させるように、または動作周波数Ｆ（ｊ）及び動作電源電圧Ｖｄｄ（ｊ）で時間Ｔｂだけ動作させるように、動作電源電圧・動作周波数を動作制御手段５４に指示する（符号５０２）。動作制御手段５４は、動作決定手段５３から指示を受けた動作周波数Ｆ（ｉ）及び動作電源電圧Ｖｄｄ（ｉ）の値、または動作周波数Ｆ（ｊ）及び動作電源電圧Ｖｄｄ（ｊ）の値をプロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置に供給し（符号５０５）、その動作周波数Ｆ（ｉ）及び動作電源電圧Ｖｄｄ（ｉ）、または動作周波数Ｆ（ｊ）及び動作電源電圧Ｖｄｄ（ｊ）でプロセッサ１を一定に動作させる制御を行う。これにより、プロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置は、動作電源電圧Ｖｄｄ（ｉ）及び動作周波数Ｆ（ｉ）で時間Ｔａだけ、または動作電源電圧Ｖｄｄ（ｊ）及び動作周波数Ｆ（ｊ）で時間Ｔｂだけ動作することになる。その他の点については、第１の実施の形態とほぼ同様である。
【００９４】
本動画像符号化処理システムＳ５においても、上記第１の破綻回避手段９１，９２，９３や、上記第２の破綻回避手段９４を備えることが好ましい。たとえば、例３の第１の破綻回避手段９３を備える場合は、動作制御手段５４に対し図２０に示すプロセッサ１及び（又は）局部復号メモリ６等を含んだ周辺装置がサポートする動作周波数を一段階上げ、動作周波数に応じた動作電源電圧でプロセッサ１及び（又は）局部復号メモリ６等を含んだ周辺装置を一定に動作させるように指示をする。
【００９５】
（第６の実施の形態）
上記第１の実施の形態乃至第４の実施の形態は、動作電源電圧、基板バイアス電圧及び動作周波数を制御するものであるが、本実施の形態は、基板バイアス電圧及び動作周波数を制御することにより、低消費電力化を図るものである。図２１は、本実施の形態の動画像符号化システムＳ６の動作を示した概略ブロック図であり、図２２はプロセッサ６１の基板バイアス電圧・動作周波数の関係を示す概念図である。本実施の形態の動画像符号化処理システムＳ６は、上記第１の実施の形態のプロセッサ１に代えて、基板バイアス電圧Ｖｂｎ、Ｖｂｐ及び動作周波数がｒ段階（ｒは２以上の整数）に可変であり（すなわち、ｒ段階の基板バイアス電圧Ｖｂｎ、Ｖｂｐ及び動作周波数で動作可能であり）且つプログラムにより基板バイアス電圧及び動作周波数を変更可能なプロセッサ６１とする。また、前記動作制御手段６４は、プロセッサ１の基板バイアス電圧及び動作周波数を制御する。プロセッサ１、又は、プロセッサ１及び周辺装置（局部部復号メモリ６や入力フレームメモリ７等）は動作制御手段６４により基板バイアス電圧・動作周波数が制御される。
【００９６】
動作決定手段６３は、Ｆ（ｉ）＞Ｆｅであり、且つＦ（ｊ）＜Ｆｅとなる２つの動作周波数Ｆ（ｉ）、Ｆ（ｊ）を所定フレームの符号化処理を行う動作周波数として選択する計算を行い、動作周波数Ｆ（ｉ）に適する基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）、動作周波数Ｆ（ｊ）に適する基板バイアス電圧Ｖｂｎ（ｊ）、Ｖｂｐ（ｊ）を選択する計算を行い、動作周波数Ｆ（ｉ），Ｆ（ｊ）を用いて、動作周波数Ｆ（ｉ）及び基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）でプロセッサ１を動作させる時間Ｔａと、動作周波数Ｆ（ｊ）及び基板バイアス電圧Ｖｂｎ（ｊ）、Ｖｂｐ（ｊ）でプロセッサ１を動作させる時間Ｔｂを求め、プロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置をその動作周波数Ｆ（ｉ）及び基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）で時間Ｔａだけ動作させるように、または動作周波数Ｆ（ｊ）及び基板バイアス電圧Ｖｂｎ（ｊ）、Ｖｂｐ（ｊ）で時間Ｔｂだけ動作させるように、基板バイアス電圧・動作周波数を動作制御手段６４に指示する（符号６０２）。動作制御手段６４は、動作決定手段６３から指示を受けた動作周波数Ｆ（ｉ）基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）の値、または動作周波数Ｆ（ｊ）及び基板バイアス電圧Ｖｂｎ（ｊ）、Ｖｂｐ（ｊ）の値をプロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置に供給し（符号６０５）、その動作周波数Ｆ（ｉ）及び基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）、または動作周波数Ｆ（ｊ）及び基板バイアス電圧Ｖｂｎ（ｊ）、Ｖｂｐ（ｊ）でプロセッサ１を一定に動作させる制御を行う。これにより、プロセッサ１及び（又は）局部復号メモリ６等を含めた周辺装置は、基板バイアス電圧Ｖｂｎ（ｉ）、Ｖｂｐ（ｉ）及び動作周波数Ｆ（ｉ）で時間Ｔａだけ、または基板バイアス電圧Ｖｂｎ（ｊ）、Ｖｂｐ（ｊ）及び動作周波数Ｆ（ｊ）で時間Ｔｂだけ動作することになる。その他の点については、第１の実施の形態とほぼ同様である。
【００９７】
本動画像符号化処理システムＳ６においても、上記第１の破綻回避手段９１，９２，９３や、上記第２の破綻回避手段９４を備えることが好ましい。たとえば、例３の第１の破綻回避手段９３を備える場合は、動作制御手段６４に対し図２２に示すプロセッサ１及び（又は）局部復号メモリ６等を含んだ周辺装置がサポートする動作周波数を一段階上げ、動作周波数に応じた基板バイアス電圧でプロセッサ１及び（又は）局部復号メモリ６等を含んだ周辺装置を一定に動作させるように指示をする。
【００９８】
また、上記第４の実施の形態の動画像復号化システムＳ４についても、動作周波数に適する動作電源電圧及び基板バイアス電圧を制御することに代えて、動作周波数に適する動作電源電圧、又は基板バイアス電圧を制御することが可能である。
【００９９】
（実施例１）
実施例１を説明する。本実施例は、第２の実施の形態の動画像符号化システムＳ２１に、第２の破綻回避手段が含まれたシステムについての実施例である。符号化の対象として７５枚のフレームから成る動画像データを使用し、符号化されるフレームとして３２番目のフレームを例に説明する。各フレームは１４４行１７６列の画素配列で構成されている。符号化処理としては、ＭＰＥＧ−４を使用する。図２３は、動画像符号化システムＳ２１のプロセッサ１における動作周波数と動作電源電圧、基板バイアス電圧の関係の例を表している。動画像符号化システムＳ１のプロセッサ１は、動作周波数５０ＭＨｚ〜２５０ＭＨｚ、動作電源電圧０．５Ｖ〜１．０Ｖ、基板バイアス電圧−１．０Ｖ〜０．５Ｖであり、５段階に可変となっている。
【０１００】
まず、動画像符号化システムＳ１は、入力フレームメモリ７にアクセスして、３２番目のフレームを取得し、必要演算量計算手段２により、そのフレームの必要演算量Ｋｐを計算する。必要演算量Ｋｐは、具体的には、まず、前フレームとして３１番目のフレームを使用し下記の数式により差分絶対値和Ｚを算出する。
Ｚ＝Σ｜Ｘij−Ｙij｜＝５０７０５
次に、所定フレームである３２番目のフレームのアクティビティ量Ｗを下記の数式により算出する。
水平方向Ｗｈ＝Σ｜Ｘ(i,j)−Ｘ(i-1,j)｜＝１３７４１２
垂直方向Ｗｖ＝Σ｜Ｘ(i,j)−Ｘ(i,j-1)｜＝１０９１７６
さらに、前フレームのマクロブロックマッチング回数Ｍ＝１０２、前フレームの平均量子化ステップサイズ（量子化ステップサイズの平均値）Ｑprev＝３、前フレームの有効ブロック数Ｂ＝９８、前フレームの有効係数の数Ｃ＝６１０、前フレームの符号化に実際に要した処理量Ｓ＝１００２２４７４、所定フレームの符号化ビットレートＢＲ＝６５５３６を得る。また、前フレームの量子化ステップサイズの平均値とその一つ前の２０番目のフレームの量子化ステップサイズの平均値の差ΔＱprev＝０を算出する。また、前フレームの実際の発生ビット数Ｄ＝５６７９７を得る。つぎに、各要素を使用して下記の数式により必要演算量Ｋｐを算出する。
Ｋｐ＝ｊ＋αＭ＋βＢ＋γＣ＋δＺ＋ε△Ｑprev
以上より、本実施例１では必要演算量Ｋｐ＝１０３１５５７１が得られる。
【０１０１】
さらに、各要素から算出された上記必要演算量Ｋｐ＝１０３１５５７１から下記の式で必要演算量Ｋｐを増加させる計算を行う。なお、ここでは上記数式Ｋp＝Ｇ（Ｚ）×ｍを例に説明する。
Ｋｐｆ＝１０３１５５７１×１．１＝１１３４７１２９
つぎに、下記の数式により動作周波数を計算する。
Ｆｆ＝Ｋｐｆ／Ｔｆ＝１１３４７１２９／（１／１５）＝１７１ＭＨｚ
Ｆ（ｉ）＞Ｆｆであり且つＦ（ｊ）＜ＦｆとなるＦ（ｉ）、Ｆ（ｊ）を計算し、プロセッサ１の５段階に可変な動作周波数のうち、動作周波数Ｆ（４）＝２００ＭＨｚ、Ｆ（３）＝１５０ＭＨｚを選択し、動作周波数Ｆ（４）＝２００ＭＨｚに適する動作電源電圧Ｖｄｄ（４）＝０．９Ｖ及び基板バイアス電圧Ｖｂｎ（４）＝０．２Ｖ、Ｖｂｐ（４）＝０．７Ｖ、動作周波数Ｆ（３）＝１５０ＭＨｚに適する動作電源電圧Ｖｄｄ（４）＝０．８Ｖ及び基板バイアス電圧Ｖｂｎ（４）＝０Ｖ、Ｖｂｐ（４）＝０．８Ｖを決定する。動作周波数Ｆ（４）＝２００ＭＨｚ、Ｆ（３）＝１５０ＭＨｚでプロセッサ１を動作させる時間Ｔａ，Ｔｂを以下の数式で算出する。なお、本実施例ではｊ＝ｉ−１としている。
Ｔａ＝（Ｆｆ−Ｆ（ｊ））／（Ｆ（ｉ）−Ｆ（ｊ））×Ｔｆ
＝（１７１×１０6―１５０×１０6）／（２００×１０6―１５０×１０6）×０．０６６６６
≒０．０２８
Ｔｂ＝（Ｆ（ｉ）−Ｆｆ）／（Ｆ（ｉ）−Ｆ（ｊ））×Ｔｆ
＝（２００×１０6―１７１×１０6）／（２００×１０6―１５０×１０6）×０．０６６６６
≒０．０３８
プロセッサ１を動作周波数Ｆ＝２００ＭＨｚ及び動作電源電圧Ｖｄｄ＝０．９Ｖ及び基板バイアス電圧Ｖｂｎ＝０．２Ｖ，Ｖｂｐ＝０．７Ｖで時間Ｔａ＝０．０２８秒だけ動作させるように、動作制御手段４に指示する。動作制御手段４は、少なくともプロセッサ１を動作周波数Ｆ＝２００ＭＨｚ及び動作電源電圧Ｖｄｄ＝０．９Ｖ及び基板バイアス電圧Ｖｂｎ＝０．２Ｖ、Ｖｂｐ＝０．７Ｖで一定に動作させる制御を行う。動画像符号化手段５は、入力フレームメモリ７からフレームＦを取得し、上記動作周波数Ｆ＝２００ＭＨｚ及び動作電源電圧Ｖｄｄ＝０．９Ｖ及び基板バイアス電圧Ｖｂｎ＝０．２Ｖ、Ｖｂｐ＝０．７Ｖで一定に動作させられた状態のプロセッサ１を使用して、符号化処理を行い符号化データを生成する。符号化処理開始から時間Ｔａ＝０．０２８秒だけ経過すると、プロセッサ１を動作周波数Ｆ＝１５０ＭＨｚ及び動作電源電圧Ｖｄｄ＝０．８Ｖ及び基板バイアス電圧Ｖｂｎ＝０Ｖ、Ｖｂｐ＝０．８Ｖで時間Ｔｂ＝０．０３８秒だけ動作させるように、動作制御手段４に指示する。動作制御手段４は、少なくともプロセッサ１を動作電源電圧Ｆ＝１５０ＭＨｚ及び動作電源電圧Ｖｄｄ＝０．８Ｖ及び基板バイアス電圧Ｖｂｎ＝０Ｖ、Ｖｂｐ＝０．８Ｖで一定に動作させる制御を行う。動画像符号化手段５は、上記動作周波数Ｆ＝１５０ＭＨｚ及び動作電源電圧Ｖｄｄ＝０．９Ｖ及び基板バイアス電圧Ｖｂｎ＝０Ｖ、Ｖｂｐ＝０．８Ｖで一定に動作させられた状態のプロセッサ１を使用して、時間Ｔｂ＝０．０３８秒だけ符号化処理を行い符号化データを生成する。
【０１０２】
さらに、符号化処理ルーチンを実行している際に、上記第２の破綻回避手段９４を備える場合は、下記の数式により割り込み時間を算出し、割り込みを行う。
Ｔｉ＝Ｔf−Ｋs×ＭＢ／Ｆ
＝０．０６６６６―３７×９９／(２００００００００)
≒０．０６６６４
第２の破綻回避手段９４は、この割り込みのタイミングにおいてＭｂｉ＜ＭＢであるか否かを判断する。本実施例１では、Ｔｉ＝０．０６６６４のタイミングではＭＢi＜ＭＢであり、所定フレームの符号化処理が終了していなかったので、残りのマクロブロック全てを無効ブロックとして処理を行い、符号化処理ルーチンに戻る。ここでＫsは1つのマクロブロックを無効ブロックとして処理するために必要なサイクル数である．
【０１０３】
（実施例２）
本実施例２では、上記例３の第１の破綻回避手段９３を備え、符号化処理において４回の割り込みを行うように設定されている。第１の破綻回避手段９３は、第１回目と第２回目の割り込み時において、Ｋｉ＝Ｔｉ×Ｆ及びＫｐｍ＝ΣＦｊ×（Ｔ（ｊ＋１）−Ｔｊ）を計算し、さらに実際に必要な演算量の残量としてＫｐｍ×（ＭＢ−ＭＢｉ）を計算し、Ｋｉ≧Ｋｐｍ×（ＭＢ−ＭＢｉ）／ＭＢｉであるかＫｉ＜Ｋｐｍ×（ＭＢ−ＭＢｉ）／ＭＢｉであるかを判断する。本実施例２ではＫ１≧Ｋｐｍ×（ＭＢ−ＭＢ１）／ＭＢ１，Ｋ２≧Ｋｐｍ×（ＭＢ−ＭＢ２）／ＭＢ２であったため、割り込み処理を終了し、第３回目の割り込みまで動画像符号化手段５が符号化処理を続行する。つぎの割り込みである第３回目の割り込み時においても同様に計算及び判断を行う。本実施例２ではＫ３＜Ｋｐｍ×（ＭＢ−ＭＢ３）／ＭＢ３であったため、動作周波数及び動作電源電圧及び基板バイアス電圧を一段階上げた周波数Ｆ（５）＝２５０ＭＨｚ及び電圧Ｖｄｄ（５）＝１．０Ｖ、Ｖｂｎ（５）＝０．５Ｖ，Ｖｂｐ（５）＝０．５Ｖを動作周波数及び動作電源電圧及び基板バイアス電圧として、動作制御手段４に指示する。
【図面の簡単な説明】
【０１０４】
【図１】動作周波数を２段階に制御するときのプロセッサの動作周波数の時間推移を示す概念図。
【図２】本発明の第１の実施の形態の動画像符号化処理システムの動作を示した概略ブロック図。
【図３】上記実施の形態の動画像符号化処理方法を説明する概略フローチャートを示す図。
【図４】トリプルウエル構造を示す断面図。
【図５】上記実施の形態の動画像符号化処理システムに使用されるプロセッサの動作電源電圧・基板バイアス電圧・動作周波数の関係を説明する概念図。
【図６】動作周波数及び動作電源電圧を２段階に制御することにより充放電電流による消費電力を削減できることを説明する説明図。
【図７】動作周波数及び基板バイアス電圧を２段階に制御することによりサブスレッショルドリーク電流による消費電力を削減できることを説明する説明図。
【図８】本発明の第２の実施の形態において例１の第１の破綻回避手段を備える動画像符号化処理システムの動作を示した概略ブロック図。
【図９】上記実施の形態の動画像符号化処理方法を説明する概略フローチャートを示す図。
【図１０】本発明の第２の実施の形態において例２又は例３の第１の破綻回避手段を備える動画像符号化処理システムの動作を示した概略ブロック図。
【図１１】上記実施の形態の動画像符号化処理方法を説明する概略フローチャートを示す図。
【図１２】例２の第１の破綻回避手段を用いて破綻回避を行ったときのプロセッサの動作周波数の時間推移を示す概念図。
【図１３】第２の実施の形態において例３の第１の破綻回避手段を用いたときの動画像符号化処理方法を説明する概略フローチャートを示す図。
【図１４】例３の第１の破綻回避手段を用いて破綻回避を行ったときのプロセッサの動作周波数の時間推移を示す概念図。
【図１５】本発明の第３の実施の形態の動画像符号化処理システムの動作を示した概略ブロック図。
【図１６】上記実施の形態の動画像符号化処理方法を説明する概略フローチャートを示す図。
【図１７】上記実施の形態における割り込みを行う際の時間と演算残量の関係を説明する説明図。
【図１８】本発明の第４の実施の形態の動画像復号化処理システムの動作を示した概略ブロック図。
【図１９】本発明の第５の実施の形態の動画像符号化処理システムの動作を示した概略ブロック図。
【図２０】上記実施の形態の動画像符号化処理システムに使用されるプロセッサの動作電源電圧・動作周波数の関係を説明する概念図。
【図２１】本発明の第６の実施の形態の動画像符号化処理システムの動作を示した概略ブロック図。
【図２２】上記実施の形態の動画像符号化処理システムに使用されるプロセッサの基板バイアス電圧・動作周波数の関係を説明する概念図。
【図２３】実施例におけるプロセッサの動作周波数と動作電源電圧、基板バイアス電圧の関係の例を示す図。
【図２４】動画像符号化処理システムについて従来の低消費電力化を行う手法を示した図。
【図２５】フレーム単位に動画像符号化又は復号化の演算量が異なる状態を示す概念図。
【図２６】従来の制御手法によるプロセッサの動作周波数の時間推移を示す概念図。
【符号の説明】
【０１０５】
Ｓ１，Ｓ２１，Ｓ２２，Ｓ２３，Ｓ３，Ｓ５，Ｓ６  動画像符号化処理システム
Ｓ４                    動画像復号化処理システム
１，５１，６１          プロセッサ
２          必要演算量計算手段
３，５３，６３    動作決定手段
４，５４，６４    動作制御手段
５          動画像符号化手段
６          局部復号フレームメモリ
７          入力フレームメモリ
８          要素メモリ
９１，９２，９３    第１の破綻回避手段
９４        第２の破綻回避手段
１０        処理済マクロブロック数レジスタ
１０１      入力画像データ
１０２      動作電源電圧・基板バイアス電圧・動作周波数指示
１０３      局部復号データ
１０４      動作電源電圧・基板バイアス電圧・動作周波数指示
１０５      動作電源電圧・基板バイアス電圧・動作周波数供給
１０６      符号化データ
１０７      前フレームの量子化ステップサイズの平均値、
１０８      各フレームについてフレーム内符号化であるかフレーム間符号化であるかの種類  
１０９      動画像の符号化ビットレート
１１０      前フレーム（過去のフレーム）のアクティビティの量
１１１      前フレームのマクロブロックマッチング回数
１１２      前フレームの有効ブロック数
１１３      前フレームの有効係数の数
１１４      前フレームの量子化ステップサイズの平均値とその一つ前のフレームの量子化ステップサイズの平均値の差
１１５      前フレームの符号化に実際に要した処理量
１１６      必要演算量計算手段により算出された前フレームの必要演算量
１１７      処理済マクロブロック数
３５        動画像復号化手段
３６        局部復号フレームメモリ
３０１      入力符号化データ
３０６      復号化データ
５０２      動作電源電圧・動作周波数指示
５０５      動作電源電圧・動作周波数供給  
６０２      基板バイアス電圧・動作周波数指示
６０５      基板バイアス電圧・動作周波数供給  
ｐ−ｓｕｂ    ｐ型半導体基板
ｎ−ｗｅｌｌ  ｎ型ウエル
ｐ−ｗｅｌｌ  ｐ型ウエル
【図１】
2005210525.tif 000003
【図２】
2005210525.tif 000004
【図３】
2005210525.tif 000005
【図４】
2005210525.tif 000006
【図５】
2005210525.tif 000007
【図６】
2005210525.tif 000008
【図７】
2005210525.tif 000009
【図８】
2005210525.tif 000010
【図９】
2005210525.tif 000011
【図１０】
2005210525.tif 000012
【図１１】
2005210525.tif 000013
【図１２】
2005210525.tif 000014
【図１３】
2005210525.tif 000015
【図１４】
2005210525.tif 000016
【図１５】
2005210525.tif 000017
【図１６】
2005210525.tif 000018
【図１７】
2005210525.tif 000019
【図１８】
2005210525.tif 000020
【図１９】
2005210525.tif 000021
【図２０】
2005210525.tif 000022
【図２１】
2005210525.tif 000023
【図２２】
2005210525.tif 000024
【図２３】
2005210525.tif 000025
【図２４】
2005210525.tif 000026
【図２５】
2005210525.tif 000027
【図２６】
2005210525.tif 000028