(57)【特許請求の範囲】
【請求項１】
動作周波数及び動作電圧が変更可能なプロセッサと、そのプロセッサを使用して連続する複数のフレームから構成される動画像をフレーム単位で順次符号化する動画像符号化手段を有するシステムにおいて、これから符号化される任意の一のフレームを所定フレームとし、前記所定フレームより前に符号化処理されるフレームを前フレームとすると、
動画像符号化手段による所定フレームの符号化に必要な必要演算量Ｋを計算する必要演算量計算手段と、所定フレームの符号化処理に予め割り当てられている時間内に前記必要演算量Ｋを処理可能な動作電圧Ｖ及び動作周波数Ｆを計算する動作電圧・動作周波数計算手段と、前記動作電圧・動作周波数計算手段により算出された動作周波数Ｆ及び動作電圧Ｖでプロセッサを動作させる動作電圧・動作周波数制御手段とを備え、
前記必要演算量計算手段は、所定フレームと前フレームとの動き量、所定フレームのアクティビティの量、前フレームのアクティビティの量、前フレームの量子化ステップサイズの平均値、前フレームの量子化ステップサイズの平均値とその一つ前のフレームの量子化ステップサイズの平均値の差、前フレームのマクロブロックマッチング回数、前フレームの有効ブロック数、前フレームの有効係数の数、前フレームの符号化に実際に要した演算量、前フレームの発生ビット数、所定フレームの符号化ビットレート、所定フレームについてフレーム内符号化又はフレーム間符号化のいずれであるかの種類、必要演算量計算手段により算出された前フレームの必要演算量のうち、一つ以上の要素を使用して必要演算量Ｋを計算するものであり、
前記必要演算量計算手段により所定フレームの必要演算量Ｋを算出し、前記動作電圧・動作周波数計算手段により前記必要演算量Ｋを処理可能な動作電圧Ｖ・動作周波数Ｆを算出した後に、前記動作電圧・動作周波数制御手段により所定フレームの符号化処理に割り当てられた時間内は前記算出された一定の動作周波数Ｆ及び一定の動作電圧Ｖで前記プロセッサを動作させ、前記プロセッサが当該一定の動作周波数Ｆ及び一定の動作電圧Ｖで動作しながら動画像符号化手段により所定フレームの符号化処理を行うことを特徴とする動画像符号化処理システム。
【請求項２】
動作周波数及び動作電圧が変更可能なプロセッサと、そのプロセッサを使用して連続する複数のフレームから構成される動画像をフレーム単位で順次復号化する動画像復号化手段を有するシステムにおいて、これから復号化される任意の一のフレームを所定フレームとし、前記所定フレームより前に復号化処理されるフレームを前フレームとすると、
動画像復号化手段による所定フレームの復号化に必要な必要演算量Ｋを計算する必要演算量計算手段と、所定フレームの復号化処理に予め割り当てられている時間内に前記必要演算量Ｋを処理可能な動作電圧Ｖ及び動作周波数Ｆを計算する動作電圧・動作周波数計算手段と、前記動作電圧・動作周波数計算手段により算出された動作周波数Ｆ及び動作電圧Ｖでプロセッサを動作させる動作電圧・動作周波数制御手段とを備え、
前記必要演算量計算手段は、所定フレームの符号化データのビット数、前記所定フレームがフレーム内符号化されたものであるか又はフレーム間符号化されたものであるかの種類、動きベクトルの大きさの平均値(所定フレームの，もしくは前フレームのもの)、動きベクトルの大きさの分散 (所定フレームの，もしくは前フレームのもの)、有効ブロック数(所定フレームの，もしくは前フレームのもの)、有効係数の数(所定フレームの，もしくは前フレームのもの)、ビットレート(所定フレームの，もしくは前フレームのもの)、符号量(所定フレームの，もしくは前フレームのもの)、量子化ステップサイズの平均値(所定フレームの，もしくは前フレームのもの)、量子化ステップサイズの平均値の差(所定フレームと１つ前のフレームの量子化ステップサイズの差，もしくは１つ前のフレームの量子化ステップサイズと２つ前のフレームの量子化ステップサイズの差)、前フレームの復号化に実際に要した演算量、必要演算量計算手段により算出された前フレームの必要演算量のうち、一つ以上の要素を使用して必要演算量Ｋを計算するものであり、
前記必要演算量計算手段により所定フレームの必要演算量Ｋを算出し、前記動作電圧・動作周波数計算手段により前記必要演算量Ｋを処理可能な動作電圧Ｖ・動作周波数Ｆを算出した後に、前記動作電圧・動作周波数制御手段により所定フレームの符号化又は復号化処理に割り当てられた時間内は前記算出された一定の動作周波数Ｆ及び一定の動作電圧Ｖで前記プロセッサを動作させ、前記プロセッサが当該一定の動作周波数Ｆ及び一定の動作電圧Ｖで動作しながら動画像復号化手段により所定フレームの復号化処理を行うことを特徴とする動画像復号化処理システム。
【請求項３】
動作周波数及び動作電圧が変更可能なプロセッサを有するコンピュータを、そのプロセッサを使用して連続する複数のフレームから構成される動画像をフレーム単位で順次符号化する動画像符号化手段を有するシステムとして機能させるプログラムにおいて、任意の一のフレームを所定フレームとし、前記所定フレームより前に符号化処理されるフレームを前フレームとすると、
動画像符号化手段による所定フレームの符号化に必要な必要演算量Ｋを計算する必要演算量計算手段と、所定フレームの符号化処理に予め割り当てられている時間内に前記必要演算量Ｋを処理可能な動作電圧Ｖ及び動作周波数Ｆを計算する動作電圧・動作周波数計算手段と、前記動作電圧・動作周波数計算手段により算出された動作周波数Ｆ及び動作電圧Ｖでプロセッサを動作させる動作電圧・動作周波数制御手段とを備え、
前記必要演算量計算手段は、所定フレームと前フレームとの動き量、所定フレームのアクティビティの量、前フレームのアクティビティの量、前フレームの量子化ステップサイズの平均値、前フレームの量子化ステップサイズの平均値とその一つ前のフレームの量子化ステップサイズの平均値の差、前フレームのマクロブロックマッチング回数、前フレームの有効ブロック数、前フレームの有効係数の数、前フレームの符号化に実際に要した演算量、前フレームの発生ビット数、所定フレームの符号化ビットレート、所定フレームについてフレーム内符号化又はフレーム間符号化のいずれであるかの種類、必要演算量計算手段により算出された前フレームの必要演算量のうち、一つ以上の要素を使用して必要演算量Ｋを計算するものであり、
前記必要演算量計算手段により所定フレームの必要演算量Ｋを算出し、前記動作電圧・動作周波数計算手段により前記必要演算量Ｋを処理可能な動作電圧Ｖ・動作周波数Ｆを算出した後に、前記動作電圧・動作周波数制御手段により所定フレームの符号化処理に割り当てられた時間内は前記算出された一定の動作周波数Ｆ及び一定の動作電圧Ｖで前記プロセッサを動作させ、前記プロセッサが当該一定の動作周波数Ｆ及び一定の動作電圧Ｖで動作しながら動画像符号化手段により所定フレームの符号化処理を行うように、コンピュータを機能させることを特徴とする動画像符号化処理プログラム。
【請求項４】
動作周波数及び動作電圧が変更可能なプロセッサを有するコンピュータを、そのプロセッサを使用して連続する複数のフレームから構成される動画像をフレーム単位で順次復号化する動画像復号化手段を有するシステムとして機能させるプログラムにおいて、任意の一のフレームを所定フレームとし、連続する複数のフレームのうち前記所定フレームより前に復号化処理されるフレームを前フレームとすると、
動画像復号化手段による所定フレームの復号化に必要な必要演算量Ｋを計算する必要演算量計算手段と、所定フレームの復号化処理に予め割り当てられている時間内に前記必要演算量Ｋを処理可能な動作電圧Ｖ及び動作周波数Ｆを計算する動作電圧・動作周波数計算手段と、前記動作電圧・動作周波数計算手段により算出された動作周波数Ｆ及び動作電圧Ｖでプロセッサを動作させる動作電圧・動作周波数制御手段とを備え、
前記必要演算量計算手段は、所定フレームの符号化データのビット数、前記所定フレームがフレーム内符号化されたものであるか又はフレーム間符号化されたものであるかの種類、動きベクトルの大きさの平均値(所定フレームの，もしくは前フレームのもの)、動きベクトルの大きさの分散 (所定フレームの，もしくは前フレームのもの)、有効ブロック数(所定フレームの，もしくは前フレームのもの)、有効係数の数(所定フレームの，もしくは前フレームのもの)、ビットレート(所定フレームの，もしくは前フレームのもの)、符号量(所定フレームの，もしくは前フレームのもの)、量子化ステップサイズの平均値(所定フレームの，もしくは前フレームのもの)、量子化ステップサイズの平均値の差(所定フレームと１つ前のフレームの量子化ステップサイズの差，もしくは１つ前のフレームの量子化ステップサイズと２つ前のフレームの量子化ステップサイズの差)、前フレームの復号化に実際に要した演算量、必要演算量計算手段により算出された前フレームの必要演算量のうち、一つ以上の要素を使用して必要演算量Ｋを計算するものであり、
前記必要演算量計算手段により所定フレームの必要演算量Ｋを算出し、前記動作電圧・動作周波数計算手段により前記必要演算量Ｋを処理可能な動作電圧Ｖ・動作周波数Ｆを算出した後に、前記動作電圧・動作周波数制御手段により所定フレームの復号化処理に割り当てられた時間内は前記算出された一定の動作周波数Ｆ及び一定の動作電圧Ｖで前記プロセッサを動作させ、前記プロセッサが当該一定の動作周波数Ｆ及び一定の動作電圧Ｖで動作しながら動画像復号化手段により所定フレームの復号化処理を行うように、コンピュータを機能させることを特徴とする動画像復号化処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動作周波数及び動作電圧が変更可能なプロセッサを使用して、動画像の符号化又は復号化を行う動画像符号化処理システム、動画像復号化処理システム、動画像符号化処理プログラム、及び、動画像復号化処理プログラムに関する。
【０００２】
【従来の技術】
近年、伝送路を通じて動画像の送受信を行うことや、動画像を蓄積メディアに蓄積することが可能となっている。一般に、動画像は情報量が大きいため、伝送ビットレートの限られた伝送路を用い動画像を伝送する場合、あるいは蓄積容量の限られた蓄積メディアに動画像を蓄積する場合には、動画像を符号化・復号化する技術が必要不可欠である。動画像の符号化・復号化方式として、ISO/IECが標準化を進めているＭＰＥＧ(Moving Picture Experts
Group)やＨ.２６Ｘがある。これらは動画像を構成する経時的に連続した複数のフレームの符号化又は復号化を行うものであり、動画像の時間的相関、空間的相関を利用した冗長性の削減を行うことにより動画像の情報量を減らして符号化し、符号化された動画像を再度元の動画像に復号化する技術である。
【０００３】
かかる符号化・復号化技術はパーソナルコンピュータやマイクロコンピュータを内蔵する携帯電話等の情報端末機器等に適用されており、符号化・復号化の手段を記述したプログラムに基づいてコンピュータのプロセッサ等を動作させることにより、動画像を送信等する場合は動画像符号化処理システムとして、動画像を受信等する場合は動画像復号化処理システムとして機能させている。しかしながら、かかる動画像符号化又は復号化処理は比較的に演算量が多いため消費電力が大きくなる傾向にあり、ハードウエアよりも汎用性の高いソフトウエアを使用して、符号化・復号化処理における低消費電力化を図ることが大きな課題となっている。
【０００４】
以下に、ソフトウエアを使用した動画像符号化又は復号化処理システムにおける従来の低消費電力化の手段を説明する。従来の低消費電力化の手段としては、例えば下記の非特許文献１に開示されている。
【０００５】
【非特許文献１】
IEEE International Symposium on Circuits andSystem 2001(May,2001)の予稿集pp918-921 " An LSI forVDD-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の同期する単位が１フレームであるにもかかわらず、１フレーム内で最大Ｎ回の動作電圧及び動作周波数の変更が行われており、低消費電力が十分に図られていなかった。すなわち、本従来例のように多段階に動作電圧及び動作周波数を制御可能なプロセッサでの動画像符号化又は復号化処理の低消費電力化は、１フレームの処理中に何回も動作電圧及び動作周波数を変更する必要があった。一方、上述のように、処理時間の制約の単位がフレームであるため、１フレームの処理中は処理を可能にする最低限の一定の周波数で制御するのが好ましい。そのため、１フレームの処理中に最大Ｎ回動作電圧及び動作周波数が変更される本従来例では十分な低消費電力化ができていなかった。
【００１２】
そこで本発明は、前記のような課題を解決するためのものであり、前記従来技術と比較して大幅に低消費電力化を図ることができる動画像符号化又は復号化処理システム及び動画像符号化又は復号化処理プログラムを提案することにある。
【００１３】
【課題を解決するための手段】
すなわち、本発明の動画像符号化処理システムは、動作周波数及び動作電圧が変更可能なプロセッサと、そのプロセッサを使用して連続する複数のフレームから構成される動画像をフレーム単位で順次符号化する動画像符号化手段を有するシステムにおいて、これから符号化される任意の一のフレームを所定フレームとし、前記所定フレームより前に符号化処理されるフレームを前フレームとすると、
所定フレームの符号化に必要な必要演算量Ｋを計算する必要演算量計算手段と、所定フレームの符号化処理に予め割り当てられている時間内に前記必要演算量Ｋを処理可能な動作電圧Ｖ及び動作周波数Ｆを計算する動作電圧・動作周波数計算手段と、前記動作電圧・動作周波数計算手段により算出された動作周波数Ｆ及び動作電圧Ｖでプロセッサを動作させる動作電圧・動作周波数制御手段とを備え、
前記必要演算量計算手段は、所定フレームと前フレームとの動き量、所定フレームのアクティビティの量、前フレームのアクティビティの量、前フレームの量子化ステップサイズの平均値、前フレームの量子化ステップサイズの平均値とその一つ前のフレームの量子化ステップサイズの平均値の差、前フレームのマクロブロックマッチング回数、前フレームの有効ブロック数、前フレームの有効係数の数、前フレームの符号化に実際に要した演算量、前フレームの発生ビット数、所定フレームの符号化ビットレート、所定フレームについてフレーム内符号化又はフレーム間符号化のいずれであるかの種類、必要演算量計算手段により算出された前フレームの必要演算量のうち、一つ以上の要素を使用して必要演算量Ｋを計算し、
前記必要演算量計算手段により所定フレームの必要演算量Ｋを算出し、前記動作電圧・動作周波数計算手段により前記必要演算量Ｋを処理可能な動作電圧Ｖ・動作周波数Ｆを算出した後に、前記動作電圧・動作周波数制御手段により所定フレームの符号化処理に割り当てられた時間内は前記算出された一定の動作周波数Ｆ及び一定の動作電圧Ｖで前記プロセッサを動作させ、前記プロセッサが当該一定の動作周波数Ｆ及び一定の動作電圧Ｖで動作しながら動画像符号化手段により所定フレームの符号化処理を行うことを特徴とする。
また、本発明の動画像復号化処理システムは、動作周波数及び動作電圧が変更可能なプロセッサと、そのプロセッサを使用して連続する複数のフレームから構成される動画像をフレーム単位で順次復号化する動画像復号化手段を有するシステムにおいて、これから復号化される任意の一のフレームを所定フレームとし、前記所定フレームより前に復号化処理されるフレームを前フレームとすると、
所定フレームの復号化に必要な必要演算量Ｋを計算する必要演算量計算手段と、所定フレームの復号化処理に予め割り当てられている時間内に前記必要演算量Ｋを処理可能な動作電圧Ｖ及び動作周波数Ｆを計算する動作電圧・動作周波数計算手段と、前記動作電圧・動作周波数計算手段により算出された動作周波数Ｆ及び動作電圧Ｖでプロセッサを動作させる動作電圧・動作周波数制御手段とを備え、
前記必要演算量計算手段は、所定フレームの符号化データのビット数、前記所定フレームがフレーム内符号化されたものであるか又はフレーム間符号化されたものであるかの種類、動きベクトルの大きさの平均値(所定フレームの，もしくは前フレームのもの)、動きベクトルの大きさの分散 (所定フレームの，もしくは前フレームのもの)、有効ブロック数(所定フレームの，もしくは前フレームのもの)、有効係数の数(所定フレームの，もしくは前フレームのもの)、ビットレート(所定フレームの，もしくは前フレームのもの)、符号量(所定フレームの，もしくは前フレームのもの)、量子化ステップサイズの平均値(所定フレームの，もしくは前フレームのもの)、量子化ステップサイズの平均値の差(所定フレームと１つ前のフレームの量子化ステップサイズの差，もしくは１つ前のフレームの量子化ステップサイズと２つ前のフレームの量子化ステップサイズの差)、前フレームの復号化に実際に要した演算量、必要演算量計算手段により算出された前フレームの必要演算量のうち、一つ以上の要素を使用して必要演算量Ｋを計算し、
前記必要演算量計算手段により所定フレームの必要演算量Ｋを算出し、前記動作電圧・動作周波数計算手段により前記必要演算量Ｋを処理可能な動作電圧Ｖ・動作周波数Ｆを算出した後に、前記動作電圧・動作周波数制御手段により所定フレームの復号化処理に割り当てられた時間内は前記算出された一定の動作周波数Ｆ及び一定の動作電圧Ｖで前記プロセッサを動作させ、前記プロセッサが当該一定の動作周波数Ｆ及び一定の動作電圧Ｖで動作しながら復号化手段により所定フレームの復号化処理を行うことを特徴とする。
また、本発明の動画像符号化処理プログラムは、動作周波数及び動作電圧が変更可能なプロセッサを有するコンピュータを、そのプロセッサを使用して連続する複数のフレームから構成される動画像をフレーム単位で順次符号化する動画像符号化手段を有するシステムとして機能させるプログラムにおいて、任意の一のフレームを所定フレームとし、前記所定フレームより前に符号化処理されるフレームを前フレームとすると、
所定フレームの符号化に必要な必要演算量Ｋを計算する必要演算量計算手段と、所定フレームの符号化処理に予め割り当てられている時間内に前記必要演算量Ｋを処理可能な動作電圧Ｖ及び動作周波数Ｆを計算する動作電圧・動作周波数計算手段と、前記動作電圧・動作周波数計算手段により算出された動作周波数Ｆ及び動作電圧Ｖでプロセッサを動作させる動作電圧・動作周波数制御手段とを備え、
前記必要演算量計算手段は、所定フレームと前フレームとの動き量、所定フレームのアクティビティの量、前フレームのアクティビティの量、前フレームの量子化ステップサイズの平均値、前フレームの量子化ステップサイズの平均値とその一つ前のフレームの量子化ステップサイズの平均値の差、前フレームのマクロブロックマッチング回数、前フレームの有効ブロック数、前フレームの有効係数の数、前フレームの符号化に実際に要した演算量、前フレームの発生ビット数、所定フレームの符号化ビットレート、所定フレームについてフレーム内符号化又はフレーム間符号化のいずれであるかの種類、必要演算量計算手段により算出された前フレームの必要演算量のうち、一つ以上の要素を使用して必要演算量Ｋを計算し、
前記必要演算量計算手段により所定フレームの必要演算量Ｋを算出し、前記動作電圧・動作周波数計算手段により前記必要演算量Ｋを処理可能な動作電圧Ｖ・動作周波数Ｆを算出した後に、前記動作電圧・動作周波数制御手段により所定フレームの符号化処理に割り当てられた時間内は前記算出された一定の動作周波数Ｆ及び一定の動作電圧Ｖで前記プロセッサを動作させ、前記プロセッサが当該一定の動作周波数Ｆ及び一定の動作電圧Ｖで動作しながら動画像符号化手段により所定フレームの符号化処理を行うように、コンピュータを機能させることを特徴とする。
また、本発明の動画像復号化処理プログラムは、動作周波数及び動作電圧が変更可能なプロセッサを有するコンピュータを、そのプロセッサを使用して連続する複数のフレームから構成される動画像をフレーム単位で順次復号化する動画像復号化手段を有するシステムとして機能させるプログラムにおいて、任意の一のフレームを所定フレームとし、前記所定フレームより前に復号化処理されるフレームを前フレームとすると、
所定フレームの復号化に必要な必要演算量Ｋを計算する必要演算量計算手段と、所定フレームの復号化処理に予め割り当てられている時間内に前記必要演算量Ｋを処理可能な動作電圧Ｖ及び動作周波数Ｆを計算する動作電圧・動作周波数計算手段と、前記動作電圧・動作周波数計算手段により算出された動作周波数Ｆ及び動作電圧Ｖでプロセッサを動作させる動作電圧・動作周波数制御手段とを備え、
前記必要演算量計算手段は、所定フレームの符号化データのビット数、前記所定フレームがフレーム内符号化されたものであるか又はフレーム間符号化されたものであるかの種類、動きベクトルの大きさの平均値(所定フレームの，もしくは前フレームのもの)、動きベクトルの大きさの分散 (所定フレームの，もしくは前フレームのもの)、有効ブロック数(所定フレームの，もしくは前フレームのもの)、有効係数の数(所定フレームの，もしくは前フレームのもの)、ビットレート(所定フレームの，もしくは前フレームのもの)、符号量(所定フレームの，もしくは前フレームのもの)、量子化ステップサイズの平均値(所定フレームの，もしくは前フレームのもの)、量子化ステップサイズの平均値の差(所定フレームと１つ前のフレームの量子化ステップサイズの差，もしくは１つ前のフレームの量子化ステップサイズと２つ前のフレームの量子化ステップサイズの差)、前フレームの復号化に実際に要した演算量、必要演算量計算手段により算出された前フレームの必要演算量のうち、一つ以上の要素を使用して必要演算量Ｋを計算し、
前記必要演算量計算手段により所定フレームの必要演算量Ｋを算出し、前記動作電圧・動作周波数計算手段により前記必要演算量Ｋを処理可能な動作電圧Ｖ・動作周波数Ｆを算出した後に、前記動作電圧・動作周波数制御手段により所定フレームの復号化処理に割り当てられた時間内は前記算出された一定の動作周波数Ｆ及び一定の動作電圧Ｖで前記プロセッサを動作させ、前記プロセッサが当該一定の動作周波数Ｆ及び一定の動作電圧Ｖで動作しながら動画像復号化手段により所定フレームの復号化処理を行うように、コンピュータを機能させることを特徴とする。
【００１４】
符号化・復号化方式（MPEG等）の規定においては、所定フレームに対して予め処理時間が割り当てられている。本発明によれば、必要演算量計算手段により所定フレームの符号化又は復号化に必要な必要演算量が計算され、動作電圧・動作周波数計算手段により所定フレームの符号化処理又は復号化処理に予め割り当てられている時間内に前記必要演算量を符号化処理又は復号化処理可能な動作電圧及び動作周波数が計算され、動作電圧・動作周波数制御手段により前記動作電圧・動作周波数計算手段により算出された動作周波数及び動作電圧でプロセッサが動作し、前記動作電圧・動作周波数制御手段により前記算出された動作周波数及び動作電圧でプロセッサを一定に動作させながら、動画像符号化手段又は動画像復号化手段により所定フレームの符号化又は復号化処理が行われる。したがって、フレームごとに一定の動作電圧及び動作周波数でプロセッサを動作させながら、そのプロセッサにより符号化又は復号化処理が行われることとなり、フレームを分割して成る所定数のブロックごとに動作周波数及び動作電圧が決定されることで一のフレームの符号化・復号化処理中に何度も動作電圧及び動作周波数が変更される従来技術と比較して、低消費電力化を図ることができる。
【００１５】
【００１６】
【００１７】
また、前記複数の要素はそれぞれ符号化処理又は復号化処理において必要演算量に影響を与える要素である。本発明によれば、前記要素のうち一つ以上が必要演算量計算手段の要素として使用されて必要演算量が計算されるため、必要演算量計算手段により計算される必要演算量が現実に符号化処理又は復号化処理を行ったときの演算量により近い値となる。したがって、算出された必要演算量が現実の演算量よりも大き過ぎて低消費電力化が阻害されたり、必要演算量が現実の演算量よりも小さ過ぎて処理が時間内に完了しないという問題が生じにくい。
【００１８】
本発明の動画像符号化処理システム又は動画像復号化処理システムは、前記プロセッサは、動作可能な可能動作周波数がｎ段階（ｎは２以上の整数）に用意されており、前記動作電圧・周波数計算手段は、前記必要演算量計算手段により算出された前記所定フレームの必要演算量Ｋと、所定フレームの処理に割り当てられる時間Ｔfとから、時間Ｔfで必要演算量Ｋを処理するに必要な動作周波数ＦfをＦf＝Ｋ／Ｔfで計算し、前記プロセッサが動作可能な可能動作周波数から前記必要な動作周波数Ｆf以上であり且つその動作周波数Ｆfに最も近い動作周波数Ｆを選択する計算を行うとともに、選択された動作周波数Ｆに適する動作電圧Ｖを計算することが好ましい。本発明の動画像符号化処理プログラム又は動画像復号化処理プログラムは、前記プロセッサは動作可能な可能動作周波数がｎ段階（ｎは２以上の整数）に用意されており、前記動作電圧・周波数計算手段は、前記必要演算量計算手段により算出された前記所定フレームの必要演算量Ｋと、所定フレームの処理に割り当てられる時間Ｔfとから、時間Ｔfで必要演算量Ｋを処理するに必要な動作周波数ＦfをＦf＝Ｋ／Ｔfで計算し、前記プロセッサが動作可能な可能動作周波数から前記必要な動作周波数Ｆf以上であり且つその動作周波数Ｆfに最も近い動作周波数Ｆを選択する計算を行うとともに、その選択された動作周波数Ｆに適する動作電圧Ｖを計算するように、コンピュータを機能させることが好ましい。
【００１９】
この発明によれば、時間Ｔfで必要演算量Ｋを処理するに必要な動作周波数ＦfがＦf＝Ｋ／Ｔfで計算された後に、前記プロセッサが動作可能な可能動作周波数から前記必要な動作周波数Ｆf以上であり且つその動作周波数Ｆfに最も近い動作周波数Ｆを選択する計算が行われるとともに、選択された動作周波数Ｆに適する動作電圧Ｖが計算され、プロセッサがその算出（選択）された動作周波数Ｆ及び動作電圧Ｖで一定に動作しながら動画像符号化又は復号化手段により所定フレームの符号化又は復号化が行われる。すなわち、プロセッサが動作可能な可能動作周波数及び動作電圧のうち、所定フレームに割り当てられた時間Ｔf内に必要演算量Ｋを処理可能な最小の動作周波数Ｆ及び動作電圧Ｖにより、プロセッサを一定に動作させながら、そのプロセッサ上で動作する符号化又は復号化手段により所定フレームの符号化又は復号化処理が行われるため、可能動作周波数が段階的に用意されたプロセッサが使用されても、低消費電力化が効率的に行われる。
【００２０】
【発明の実施の形態】
以下、本発明の動画像符号化又は復号化処理システムについて動画像符号化処理システムと動画像復号化処理システムに分けて詳述する。
【００２１】
（第１の実施の形態）本発明の第１の実施の形態の動画像符号化処理システムは、例えばマイクロコンピュータが内蔵された携帯電話やパーソナルコンピュータ等の情報端末機器であるコンピュータ内においてマルチメディア信号処理部などの一部として機能するシステムであり、連続する所定数のフレームから構成される動画像をフレーム単位で順次符号化を行うシステムである。図１は、本実施の形態の動画像符号化処理システムＳ１の動作を示した概略ブロック図である。動画像符号化処理システムＳ１は、動作電圧及び動作周波数がｎ段階（ｎは２以上の整数）に用意され（すなわち、ｎ段階の動作電圧及び動作周波数で動作可能であり）且つプログラムにより動作電圧及び動作周波数を変更可能なプロセッサ１と、ＤＣ−ＤＣコンバータやＰＬＬなどを備えて前記プロセッサ１の動作電圧及び動作周波数を制御する動作電圧・動作周波数制御手段４と、所定のデータを記憶する記憶領域である局部復号フレームメモリ６と入力フレームメモリ７と要素メモリ８とを少なくとも備えるコンピュータ（特にコンピュータ内のマルチメディア信号処理部）である。ただし、局部復号メモリ６および入力フレームメモリ７は動作電圧・動作周波数制御手段４により，プロセッサ１と同様に動作電圧・動作周波数が制御されてもよい。プロセッサ１は、プロセッサ１上で動作する必要演算量計算手段２と、プロセッサ１上で動作する動作電圧・動作周波数計算手段３と、プロセッサ１上で動作する動画像符号化手段５とを備える。なお、符号１０１は入力画像データ、符号１０２は動作電圧及び動作周波数指示、符号１０３は前フレームの局部復号データ、符号１０５は動作電圧及び動作周波数供給、符号１０６はフレームの符号化データ、符号１０７は前フレームの量子化ステップサイズの平均値の情報、符号１０８は各フレームについてフレーム内符号化であるかフレーム間符号化であるかの種類、符号１０９は動画像の符号化ビットレートの情報である。要素メモリ８は、後述する必要演算量計算手段２において使用される複数の要素のうち一部の要素（フレーム内符号化であるかフレーム間符号化であるかの種類１０８や符号化ビットレート１０９）が記憶される記憶領域である。動画像符号化手段５には符号化方式としてＭＰＥＧ−４が使用されるが、Ｈ．２６ＸやＭＰＥＧ−１、ＭＰＥＧ−２などの他の符号化方式が使用されていても良い。
【００２２】
次に、図１に従って本実施の形態の動画像符号化処理システムＳ１の動作を説明する。動画像符号化処理システムＳ１は、動画像符号化処理プログラムＰｒｇ１によりコンピュータ（特にコンピュータ内のマルチメディア信号処理部）を所定の手段として機能させることにより実現される。以下、順次符号化されるフレームのうちこれから符号化される任意の一のフレームを所定フレーム（すなわち、あるフレームが符号化された時点を基準とすると次に符号化されるフレームであり、換言すると、その時点において未だに符号化処理されておらず未来に符号化処理が行われる予定であるフレーム）、所定フレームより前に符号化された一のフレーム（過去に符号化されたフレーム）を前フレームとし、所定フレームを符号化する処理について説明するが、いずれのフレームについても同様の処理が行われる。
【００２３】
図２はその動画像符号化処理プログラムＰｒｇ１の概略フローチャートを示す図である。動画像符号化処理プログラムＰｒｇ１は、後述するステップ１からステップ５においてコンピュータを各手段として機能させる。（ステップ１）所定フレームの画像情報を入力フレームメモリ７に入力する。（ステップ２）所定フレームの必要演算量Ｋを計算させる必要演算量計算手段２として機能させる。（ステップ３）算出された必要演算量Ｋに応じてプロセッサの動作周波数Ｆ及び動作電圧Ｖを計算させる動作電圧・動作周波数計算手段３として機能させる。（ステップ４）算出された動作周波数Ｆ及び動作電圧Ｖでプロセッサ１を動作させる制御を行わせる動作電圧・動作周波数制御手段４として機能させる。（ステップ５）所定フレームの画像情報を符号化させる動画像符号化手段５として機能させる。以上、ステップ１からステップ５の処理を入力フレームメモリ７に入力されるフレームの順番（すなわち、符号化される順番）に、すべてのフレームに対して行うことで、動画像の符号化を行う。以下、詳細に説明する。
【００２４】
（ステップ１）入力された入力画像データは、フレームの同期をとるため、フレームを一時的に記憶する記憶領域である入力フレームメモリ７に一旦格納される。
【００２５】
（ステップ２）必要演算量計算手段２は、入力フレームメモリ７にアクセスして所定フレームの入力画像データ１０１を取得し、所定フレームの符号化処理に必要な必要演算量Ｋを計算する。必要演算量Ｋの計算方法は様々な方法が考えられるが、たとえば、動画像符号化処理において、処理内容が動き補償である場合は、動きの激しい映像では演算量が多く、一方、動きの少ない映像では演算量が少ないことに注目して、所定フレームと前フレームとの動き量として差分絶対値和で計算される歪み値を算出し、動き量が大きいフレームに対しては必要演算量Ｋ（サイクル）を大きく、動き量が小さいフレームに対しては必要演算量Ｋ（サイクル）を小さくしたり、所定フレームがフレーム内符号化である場合は必要演算量を小さく、フレーム間符号化である場合は必要演算量Ｋを大きくしたり、符号化ビットレートが大きい場合は必要演算量Ｋを大きく、符号化ビットレートが小さい場合は必要演算量Ｋを小さくするなどのように、各要素に合わせて必要演算量Ｋ（サイクル）を増減させる。すなわち、これらの複数の要素は所定フレームの符号化処理のために必要な必要演算量に影響を与える要素であるため、必要演算量計算手段２が、これらの要素に応じて必要演算量Ｋ（サイクル）を増減させるように計算を行うことにより、必要演算量計算手段２により計算される必要演算量Ｋが現実に符号化処理を行ったときの演算量により近い値となる。本実施の形態では、関数Ｇを使用して計算し、入力フレームメモリ７に記憶されている所定フレームの入力画像データ１０１と、局部復号フレームメモリ６に蓄積されている復号化された前フレームの局部復号データ１０３とを比較して、入力画像の動きの大きさの予測（計算）を行う。この前フレームの局部復号データ１０３は、所定フレームよりも前に符号化が行われる前フレームの符号化処理において、前フレームを符号化して形成した前フレームの符号化データ１０６を、ローカルデコーダで復号化することにより形成され、局部復号フレームメモリ６に記憶されている。動きの大きさの予測（計算）の一例として、例えば差分絶対値和を用いる。以下に、差分絶対値和Σと必要演算量Ｋの求め方を説明する。なお、前フレームの画像データとしては、符号化後にローカルデコーダにより復号化された局部復号データ１０６を使用しても良いが、入力された前フレームの入力画像データをそのまま使用しても良い。
【００２６】
入力フレームメモリ７に蓄積された所定フレームの入力画像データ１０１をＸ(i,j)（iは画像の水平方向の座標、jは垂直方向の座標）、後述する局部復号フレームメモリ６に蓄積された前フレームの局部復号データ１０３をＹ(i,j)（iは画像の水平方向の座標、jは垂直方向の座標）とすると、所定フレームと前フレームとの動き量は、差分絶対値和Ｚ＝Σ｜Ｘ(i,j)−Ｙ(i,j)｜をすべての（またはサンプルした）画素に対して計算する。この差分絶対値和の値をＺ、前フレームの平均量子化ステップサイズ（量子化ステップサイズの平均値）をＱprev、所定フレームの符号化ビットレートをＢＲとおくと、これらの要素のうち一つ以上の要素を使用して、必要演算量Ｋは、Ｋ＝Ｇ（Ｚ，Ｑprev，ＢＲ）・・・（数式１）
で計算される。ただし、ＧはＺ，Ｑprev，ＢＲのうち、一以上の要素から導き出される関数である。その一例としては、Ｋ＝ｊ＋δＺ＋ε△Ｑprev・・・（数式２）
が挙げられるが、これに限られるわけではない。また、必要演算量Ｋの計算に使用される要素として、所定フレームがフレーム内符号化であるかフレーム間符号化であるかの種類Ｉが使用される。所定フレームがフレーム内符号化である場合の必要演算量Ｋは小さい値と、フレーム間符号化である場合の必要演算量Ｋは大きい値となる。すなわち、必要演算量計算手段２は、差分絶対値和Ｚを使用するときは差分絶対値和Ｚ＝Σ｜Ｘij−Ｙij｜を計算した後に、必要演算量Ｋ＝Ｇ（Ｚ，Ｑprev，ＢＲ）を計算する。なお、動画像の符号化ビットレート１０９や、所定フレーム及び前フレームについてフレーム内符号化であるかフレーム間符号化であるかの種類１０８は要素が記憶される記憶領域である要素メモリ８に予め記憶されており、必要演算量Ｋの計算時に必要演算量計算手段２に読み込まれて使用される。前フレームの量子化ステップサイズの平均値１０７は前フレームの符号化処理が行われたときに動画像符号化手段５から必要演算量計算手段２にフィードバックされる。必要演算量計算手段２においては、これらの要素のうち一つの要素のみを使用しても良いし、複数の要素を組み合わせて使用しても良い。
【００２７】
以下、上記関数Ｇについて説明する。上記関数Ｇを簡単に説明するため省略してＫ＝Ｇ（Ｚ）と記載する。所定フレームの動き量Ｚａであり、前フレームの動き量Ｚｂとであるとき、前フレームの必要演算量Ｋａ＝Ｇ（Ｚａ）であり所定フレームの必要演算量Ｋｂ＝Ｇ（Ｚｂ）となり、Ｚａ＞ＺｂならＫａ＞Ｋｂとなるように、Ｚａ＜ＺｂならＫａ＜Ｋｂとなるように、必要演算量Ｋ（サイクル）が設定される関数Ｇを用いる。
【００２８】
（ステップ３）動作電圧・動作周波数計算手段３は、必要演算量Ｋの値をもとに、所定フレームの処理に対する動作周波数Ｆf（サイクル／秒）を予測する計算を行う。すなわち、符号化方式により処理時間が規定されている最小単位は１フレームであり、所定フレームの符号化処理に割り当てられた時間をＴf（秒）とすると、所定フレームに必要とされる動作周波数Ｆf（サイクル／秒）、すなわち時間Ｔf（秒）内に前記必要演算量Ｋを符号化処理可能な動作周波数Ｆｆ（サイクル／秒）はＦf＝Ｋ／Ｔfで表されることから、動作電圧・動作周波数計算手段３は動作周波数Ｆｆ＝Ｋ／Ｔfを計算する。図３に示すように、プロセッサ１および（又は）局部復号メモリ６等を含めた周辺装置がサポートする動作電圧・動作周波数がＰ段階（Ｐは２以上の整数）で変更可能な場合、動作電圧・動作周波数計算手段３は、Ｆ（ｎ）＞Ｆｆであり、且つＦ（ｎ−１）＜Ｆｆとなる動作周波数Ｆ（ｎ）を所定フレームの符号化処理を行う動作周波数として選択する計算を行い、その動作周波数Ｆ（ｎ）に適する動作電圧Ｖ（ｎ）を選択する計算を行い、プロセッサ１および（又は）局部復号メモリ６等を含めた周辺装置をその動作周波数Ｆ（ｎ）と動作電圧Ｖ（ｎ）で動作させるように、動作電圧・動作周波数を動作電圧・動作周波数制御手段４に指示する（符号１０２）。
【００２９】
（ステップ４）動作電圧・動作周波数制御手段４は、動作電圧・動作周波数計算手段３から指示を受けた動作電圧Ｖ（ｎ）及び動作周波数Ｆ（ｎ）の値をプロセッサ１および（又は）局部復号メモリ６等を含めた周辺装置に供給し（符号１０５）、その動作電圧Ｖ（ｎ）及び動作周波数Ｆ（ｎ）でプロセッサ１を一定に動作させる制御を行う。これにより、プロセッサ１および（又は）局部復号メモリ６等を含めた周辺装置は、一定の動作電圧Ｖ（ｎ）及び動作周波数Ｆ（ｎ）で動作することになる。
【００３０】
（ステップ５）動画像符号化手段５は、動画像符号化処理プログラムＰｒｇ１によりコンピュータのプロセッサ１上で実現される手段であり、プロセッサ１を使用して入力フレームメモリ７に格納された入力画像データを動画像符号化を行う単位でアクセスし、符号化処理を行う手段である。すなわち、動画像符号化手段５は、入力フレームメモリ７から所定フレームの入力画像データ１０１を取得し、符号化して符号化データ１０６を生成する。ステップ４において、プロセッサ１および（又は）局部復号メモリ６等を含めた周辺装置は動作電圧・動作周波数制御手段４から供給された一定の動作電圧Ｖ（ｎ）及び動作周波数Ｆ（ｎ）で動作している状態となっているため、ステップ５では、動作電圧・動作周波数制御手段４がその動作周波数Ｆ（ｎ）及び動作電圧Ｖ（ｎ）でプロセッサ１および（又は）局部復号メモリ６等を含めた周辺装置を一定に動作させながら、そのプロセッサ１を使用して符号化を行う動画像符号化手段５が所定フレームの符号化を行うこととなる。たとえば動きの激しい画像（所定フレームの入力画像データ１０１）に対してはプロセッサ１および（又は）局部復号メモリ６等を含めた周辺装置を高い周波数で一定に動作させ、動きの少ない画像に対しては低い周波数で一定に動作させることにより低消費電力化を図ることが可能になる。さらに、動画像符号化手段５は、符号化データ１０６を復号する機能を有するローカルデコーダを備えており、所定フレームの符号化データ１０６はローカルデコーダにより復号されて局部復号フレームメモリ６に局部復号データ１０３として蓄積される。この所定フレームの局部復号データ１０３は所定フレームの次に符号化されるフレームについて必要演算量Ｋを計算する際に使用される。所定フレームの符号化データ１０６は伝送路を通じて送信されたり、蓄積メディアに蓄積される。
【００３１】
以下に、プロセッサの動作電圧及び動作周波数を複数回変更しながら一のフレームを符号化する従来技術と比較して、本願発明がより低消費電力化を図ることができることを証明する。たとえば、ある特定の時間Ｔtにある特定の演算量Ｋtを行う場合、その特定の時間の間は、同一周波数で制御を行い、周波数ＦtをＦt＝Ｋt／Ｔt・・・（数式３）
に設定すると低消費電力を実現できる。たとえば、プロセッサ１の動作電圧及び動作周波数は図３に示すようにＰ段階に可変とし、任意の一のフレームの必要演算量をＫtとし、そのフレームの処理に割り当てられる時間をＴtとする。図４（ａ）に示すように、動作周波数をＦtと設定し、プロセッサ１を動作周波数Ｆtで動作させるときの動作電圧をＶａとし、時間Ｔtで必要演算量Ｋtの処理が終了する場合（すなわち、動作周波数が一定の場合）をCase１とし、図４（ｂ）に示すように、初期値の動作周波数をｈ＊Ｆtと設定し、プロセッサを動作周波数ｈ＊Ｆtで動作させるときの動作電圧をＶｂとし、時間Ｔt/ｈで必要演算量Ｋtの処理が終了する場合（すなわち、動作周波数の切り替えが１回行われる場合）をCase２とし、各Case1,Case2について前記任意の一のフレームを符号化する場合を考えてみる。どちらも同一の演算量、すなわちＫt（サイクル）となる。一方、消費電力は、Ｐ＝α×Ｃ×ｆ×Ｖ2×ｔ・・・（数式４）
α：係数、Ｃ：プロセッサのトランジスタ数ｆ：動作周波数、Ｖ：動作電圧、ｔ：動作時間で表される。これを用いてCase１の消費電力ＰａとCase２の消費電力Ｐｂを計算すると、Ｐａ＝α×Ｃ×Ｆt×Ｖａ2×Ｔt・・・（数式５）
Ｐｂ＝α×Ｃ×（ｈ×Ｆt）×Ｖｂ2×（Ｔt／ｈ）
＝α×Ｃ×Ｆt×Ｖｂ2×Ｔt・・・（数式６）
となり、Ｐａ：Ｐｂ＝Ｖａ2：Ｖｂ2・・・（数式７）
となり、Ｖａ＜Ｖｂであるため、Ｐａ＜Ｐｂとなる。すなわち、決められた演算量を一定時間で処理する場合、同一演算量Ｋｔにもかかわらず、Case１の場合のように、その時間内で処理が終了可能な最小の動作周波数により、その処理時間を通してプロセッサを一定に動作させるほうが、従来のように処理時間中に動作周波数を変更するCase２場合よりも低消費電力であることがわかる。したがって、一定の動作電圧及び動作周波数でプロセッサ１を動作させながら一のフレームの符号化処理を行う本発明によれば、ブロックごとに動作電圧及び動作周波数が決定されるため一のフレームの符号化中に何度も動作電圧及び動作周波数が変更される従来技術と比較して、低消費電力化が図られることがわかる。
【００３２】
（第２の実施の形態）図５は、第２の実施の形態の動画像符号化処理システムＳ２の動作を示した概略ブロック図である。本実施の形態の動画像符号化処理システムＳ２は、前記第１の実施の形態の動画像符号化処理システムＳ１に、さらに必要演算量計算手段２で使用する要素を多くして精度を高めたものである。コンピュータを動画像符号化処理システムＳ２として機能させる動画像符号化処理プログラムＰｒｇ２は、前記動画像符号化処理プログラムＰｒｇ１とほぼ同様である。たとえば、符号化の処理内容が逆量子化の場合は有効係数のみ復号化すれば良いため有効係数の数に比例した演算量となり、逆ＤＣＴ（ＩＤＣＴ）の場合は無効ブロックに対して演算する必要がないため、無効ブロックの多いフレームに対しては演算量を少なくすることが可能であり、可変長符号化に対しては有効係数の数が演算量と比例するため有効係数の数により演算量が異なること等に注目して要素を追加する。
【００３３】
差分絶対値和の値Ｚ、前フレームの量子化ステップサイズの平均値１０７、符号化ビットレート１０９、所定フレームがフレーム内符号化であるかフレーム間符号化であるかの種類１０８のほかに、所定フレームのアクティビティの量、前フレーム（過去のフレーム）のアクティビティの量２０９、前フレームのマクロブロックマッチング回数２０２、前フレームの有効ブロック数２０３、前フレームの有効係数の数２０４、前フレームの符号化に実際に要した演算量２０５、必要演算量計算部により算出された前フレームの必要演算量２０６、前フレームの量子化ステップサイズの平均値とその一つ前のフレームの量子化ステップサイズの平均値の差２１０、前フレームの実際の発生ビット数などを要素として、所定フレームの必要演算量Ｋを予測する計算を行う。必要演算量計算手段２においては、これらの要素のうち一つの要素のみを使用しても良いし、複数の要素を組み合わせて使用しても良い。
【００３４】
フレームのアクティビティの量は、例えば隣接画素差分絶対値和などで計算する。入力フレームメモリ７に蓄積された所定フレームの入力画像データ１０１をＸ(i,j)（iは画像の水平方向の座標であり、jは垂直方向の座標）とすると、隣接画素差分絶対値和Ｗは水平方向Ｗｈ＝Σ｜Ｘ(i,j)−Ｘ(i-1,j)｜、垂直方向Ｗｖ＝Σ｜Ｘ(i,j)−Ｘ(i,j-1)｜を計算することにより求められ、すべての（またはサンプルした）入力画像に対して計算することにより各フレームのアクティビティの量が求められる。この隣接画素差分絶対値和の値（すなわち各フレームのアクティビティの量）をＷとする。
【００３５】
所定フレームのアクティビティの量をＷａ、前フレーム（過去のフレーム）のアクティビティの量をＷｂ、前フレームの量子化ステップサイズの平均値をＱprev、前フレームのマクロブロックマッチング回数をＭ、前フレームの有効ブロック数をＢ、前フレームの有効係数の数をＣ、所定フレームの符号化ビットレートをＢＲ、前フレームの量子化ステップサイズの平均値とその一つ前のフレームの量子化ステップサイズの平均値の差をΔＱprev、前フレームの実際の発生ビット数Ｄ、前フレームの符号化に実際に要した演算量をＳ、必要演算量計算部２により算出された前フレームの必要演算量をＰとおくと、必要演算量Ｋは、
Ｋ＝Ｇ（Ｚ，Ｗａ，Ｗｂ，Ｑprev，Ｍ，Ｂ，Ｃ，ＢＲ，Ｓ，Ｐ，ΔＱprev，Ｄ）・・・（数式８）
で表される。ただし関数ＧはＺ，Ｗａ，Ｗｂ，Ｑprev，Ｍ，Ｂ，Ｃ，ＢＲ，Ｓ，Ｐ，ΔＱprev，Ｄのうち一つ以上の要素から導き出される関数である。その一例としては、
Ｋ＝ｊ＋αＭ＋βＢ＋γＣ＋δＺ＋ε△Ｑprev・・・（数式９）
が挙げられるが、これに限られるわけではない。すなわち、必要演算量計算手段２は、前記複数の要素のうち一つ以上の要素を使用し、Ｋ＝Ｇ（Ｚ，Ｗａ，Ｗｂ，Ｑprev，Ｍ，Ｂ，Ｃ，ＢＲ，Ｓ，Ｐ，ΔＱprev，Ｄ）の計算を行うことにより所定フレームの必要演算量Ｋを算出する。
【００３６】
なお、前フレームのアクティビティの量２０９及び必要演算量計算部により算出された前フレームの必要演算量２０６は、前フレームの必要演算量計算の処理において算出された値が要素メモリ８に記憶されており、その値が読み込まれて使用される。前フレームの量子化ステップサイズの平均値１０７、前フレームのマクロブロックマッチング回数２０２、前フレームの有効ブロック数２０３、前フレームの有効係数の数２０４、前フレームの符号化に実際に要した演算量２０５は、前フレームの符号化処理に要した時間Ｔと符号化処理を行っていたときのプロセッサの動作周波数ＦからＦ×Ｔで計算され、前フレームの符号化処理の際に動画像符号化手段５から必要演算量計算手段２にフィードバックされる。
【００３７】
（第３の実施の形態）本発明の第３の実施の形態の動画像復号化処理システムＳ３は、符号化された動画像を復号化するシステムである。図６は動画像復号化処理システムＳ３の動作を示した概略ブロック図である。本実施の形態の動画像復号化処理システムＳ３は、動作電圧及び動作周波数がｎ段階（ｎは２以上の整数）に用意され且つプログラムにより動作電圧及び動作周波数を変更可能なプロセッサ１と、前記プロセッサ１の動作電圧及び動作周波数を制御する動作電圧・動作周波数制御手段４と、前フレームの復号化データを記憶する局部復号フレームメモリ３６とを備える。ただし，局部復号メモリ３６は動作電圧・動作周波数制御手段４により，プロセッサ１と同様に動作電圧・動作周波数が制御されてもよい。プロセッサ１は、プロセッサ１上で動作する必要演算量計算手段３２と、プロセッサ１上で動作する動作電圧・動作周波数計算手段３と、プロセッサ１上で動作する動画像復号化手段３５とを備える。符号３０１は入力符号化データ、符号１０２は動作電圧・動作周波数指示、符号１０５は動作電圧・動作周波数供給、符号３０６は復号化データであり、第１の実施の形態と同一符号は同一機能又はそれ相当の機能を有する部分である。符号化ではなく復号化を行う点及び下記以外の点は第１の実施の形態と同様である。
【００３８】
図６に従って、動画像復号化処理システムＳ３の動作を説明する。以下、順次復号化されるフレームのうちこれから復号化される任意の一のフレーム（すなわち、あるフレームが復号化された時点を基準とすると次に復号化されるフレームであり、換言すると、その時点において未だに復号化処理されておらず未来に復号化処理が行われる予定であるフレーム）を所定フレーム、所定フレームより前に復号化された一のフレーム（過去に復号化されたフレーム）を前フレームとし、所定フレームを復号化する処理について説明するが、いずれのフレームについても同様の処理が行われる。コンピュータを動画像復号化処理システムＳ３として機能させる動画像復号化処理プログラムＰｒｇ３は、前記動画像符号化処理プログラムＰｒｇ１とほぼ同様であるが、ステップ５において、所定フレームの符号化データを復号化させる動画像復号化手段３５としてコンピュータ（詳しくはコンピュータに内蔵されるプロセッサ１）を機能させる。動画像復号化処理システムＳ３に入力されてきた入力符号化データ３０１は、必要演算量計算手段３２に入力される。必要演算量計算手段３２は符号化データ３０１の一フレーム分（すなわち、所定フレームの符号化データ３０１）の発生情報量（ビット数）ＦＢを計算し、必要計算量Ｋを予測する計算を行う。必要演算量Ｋは、
Ｋ＝Ｇ（ＦＢ，ＭＶａ，ＭＶｖ，Ｂ，Ｃ，ＢＲ，Ｄ，Ｑ，ΔＱprev，Ｉ，Ｅ，Ｐ）・・・（数式１０）
で表される。ＦＢは一フレーム分の発生情報量（ビット数）である。ただし、関数Ｇは要素ＦＢ，ＭＶａ，ＭＶｖ，Ｂ，Ｃ，ＢＲ，Ｄ，Ｑ，ΔＱprev，Ｉ，Ｅ，Ｐの一つ以上の要素を用いて導き出される関数である。必要演算量Ｋは、所定フレームに必要と予測される演算性能（周波数，サイクル）であり、所定フレーム内のビット数ＦＢが大きければ高い値と、ビット数ＦＢが小さければ低い値となる。また、必要演算量Ｋを予測する計算である必要演算量計算手段３２の要素として、所定フレームがフレーム内符号化であるかフレーム間符号化であるかの種類も使用することが可能であり、所定フレームがフレーム内符号化である場合の必要演算量Ｋは小さい値と、フレーム間符号化である場合の必要演算量Ｋは大きい値となる。さらに、必要計算量Ｋは、動きベクトルの大きさの平均値(これから復号化するフレームの，もしくは前フレームのもの)ＭＶａ、動きベクトルの大きさの分散 (これから復号化するフレームの，もしくは前フレームのもの)ＭＶｖ、有効ブロック数(これから復号化するフレームの，もしくは前フレームのもの)Ｂ、有効係数の数(これから復号化するフレームの，もしくは前フレームのもの)Ｃ、ビットレート(これから復号化するフレームの，もしくは前フレームのもの)ＢＲ、符号量(これから復号化するフレームの，もしくは前フレームのもの)Ｄ、量子化ステップサイズの平均値(これから復号化するフレームの，もしくは前フレームのもの)Ｑ、量子化ステップサイズの平均値の差(これから復号化するフレームのＱと1つ前のフレームのＱの差，もしくは1つ前のフレームのＱと2つ前のフレームのＱの差)ΔＱ、ＩピクチャであるかＰピクチャであるかＢピクチャであるかの種類Ｉ、前フレームの復号化に実際に要した演算量Ｅ、前フレームの復号化に必要な演算量の予測値（すなわち、必要演算量計算手段により算出された前フレームの必要演算量）Ｐにも影響され、これらを必要演算量計算手段３２において要素として使用しても良い。例えば、動きベクトルの大きさの平均値(これから復号化するフレームの，もしくは前フレームのもの)ＭＶａが大きい場合は必要演算量Ｋが大きくなるように、小さい場合は必要演算量Ｋが小さくなるように、動きベクトルの大きさの分散 (これから復号化するフレームの，もしくは前フレームのもの)ＭＶｖが大きい場合は必要演算量Ｋが大きくなるように、小さい場合は必要演算量Ｋが小さくなるように、有効ブロック数(これから復号化するフレームの，もしくは前フレームのもの)Ｂが大きい場合は必要演算量Ｋが大きくなるように、小さい場合は必要演算量Ｋが小さくなるように、有効係数の数(これから復号化するフレームの，もしくは前フレームのもの)Ｃが大きい場合は必要演算量Ｋが大きくなるように、小さい場合は必要演算量Ｋが小さくなるようにする。必要演算量計算手段３２においては、これらの要素のうち一つの要素のみを使用しても良いし、複数組み合わせて使用しても良い。すなわち、これらの複数の要素は所定フレームの復号化処理のために必要な必要演算量に影響を与える要素であるため、必要演算量計算手段３２が、これらの要素に応じて必要演算量Ｋ（サイクル）を増減させるように計算を行うことにより、必要演算量計算手段３２によ��計算される必要演算量Ｋが現実に復号化処理を行ったときの演算量により近い値となる。
【００３９】
動作電圧・動作周波数計算手段３及び動作電圧・動作周波数制御手段４は、前記第１の実施の形態と同様である。動画像復号化手段３５は、所定フレームの入力符号化データ３０１を復号化して復号化データ３０６を生成する。動画像復号化手段３５による復号化処理に際しては、動作電圧・動作周波数制御手段４により一定の動作電圧及び動作周波数でプロセッサ１を動作させながら復号化処理が行われる。フレームごとに、そのフレームの復号化処理の前に必要な必要演算量が算出され、その必要演算量に応じた一定の動作周波数及び動作電圧でプロセッサを動作させながらそのフレームの復号化が行われるため、フレームを分割して成る所定数のブロックごとに動作周波数及び動作電圧を変更する従来技術と比較して、低消費電力化を図ることができる。復号化データ３０６は、携帯電話やパソコンの画像表示部に動画像として表示されたり、ハードディスク等の記憶媒体に記憶される。
【００４０】
【発明の効果】
以上説明したように、本発明の動画像符号化又は復号化処理システムと動画像符号化又は復号化処理プログラムによれば、これから符号化又は復号化する所定フレーム（未来に符号化又は復号化するフレーム）に対して、符号化又は復号化に要する必要演算量を予測する計算を行い、その所定フレームの処理に割り当てられた時間内は一定の動作周波数で制御することにより、フレーム単位に動作電圧・動作周波数がダイナミックに制御されるため、低消費電力を実現することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の動画像符号化処理システムの動作を示した概略ブロック図。
【図２】上記実施の形態の動画像符号化処理システムとしてコンピュータを機能させる動画像符号化処理プログラムの概略フローチャートを示す図。
【図３】上記実施の形態の動画像符号化処理システムに使用されるプロセッサの動作電圧・動作周波数を示す概念図。
【図４】本発明の有効性を説明する図。
【図５】本発明の第２の実施の形態の動画像符号化処理システムの動作を示した概略ブロック図。
【図６】本発明の第３の実施の形態の動画像復号化処理システムの動作を示した概略ブロック図。
【図７】動画像符号化処理システムについて従来の低消費電力化を行う手法を示した図。
【図８】フレーム単位に動画像符号化又は復号化の演算量が異なる状態を示す概念図。
【符号の説明】
Ｓ１，Ｓ２ 動画像符号化処理システム
Ｓ３ 動画像復号化処理システム
１ プロセッサ
２ 必要演算量計算手段
３ 動作電圧・動作周波数計算手段
４ 動作電圧・動作周波数制御手段
５ 動画像符号化手段
６ 局部復号フレームメモリ
７ 入力フレームメモリ
８ 要素メモリ
１０１ 入力画像データ
１０２ 動作電圧・動作周波数指示
１０３ 局部復号データ
１０５ 動作電圧・動作周波数供給
１０６ 符号化データ
１０７ 前フレームの量子化ステップサイズの平均値、
１０８ 各フレームについてフレーム内符号化であるかフレーム間符号化であるかの種類
１０９ 動画像の符号化ビットレート
２０９ 前フレーム（過去のフレーム）のアクティビティの量
２０２ 前フレームのマクロブロックマッチング回数
２０３ 前フレームの有効ブロック数
２０４ 前フレームの有効係数の数
２０５ 前フレームの符号化に実際に要した処理量
２０６ 必要演算量計算部により算出された前フレームの必要演算量
２１０ 前フレームの量子化ステップサイズの平均値とその一つ前のフレームの量子化ステップサイズの平均値の差
３５ 動画像復号化手段
３６ 局部復号フレームメモリ
３０１ 入力符号化データ
３０６ 復号化データ
【図１】
0003772183.tif 000002
【図２】
0003772183.tif 000003
【図３】
0003772183.tif 000004
【図４】
0003772183.tif 000005
【図５】
0003772183.tif 000006
【図６】
0003772183.tif 000007
【図７】
0003772183.tif 000008
【図８】
0003772183.tif 000009