"処理対象ブロックを分割した第1ブロック毎の画素値の平均値と、参照画像内の前記第1ブロックと同じサイズの第2ブロック毎の画素値の平均値とを計算する第1計算部と、前記第1計算部により計算された平均値を記憶する記憶部と、前記処理対象ブロック内の動きベクトルの検出対象ブロックにおける画素値の平均値を前記第1ブロックの平均値に基づいて計算し、前記検出対象ブロックに対応する前記参照画像内の参照対象ブロックにおける画素値の平均値を前記第2ブロックの平均値に基づいて計算する第2計算部と、前記検出対象ブロックの各画素値から前記第1ブロックの平均値を減算した各画素値と、前記参照対象ブロックの各画素値から前記第2ブロックの平均値を減算した各画素値との差分、及び前記検出対象ブロックの平均値と前記参照対象ブロックの平均値との差分に基づき、動きベクトルの評価値を計算する第3計算部と、前記評価値に基づき動きベクトルを選択する選択部と、を備える動きベクトル検出装置。前記第3計算部は、前記第1ブロックの平均値を減算した各画素値と前記第2ブロックの平均値を減算した各画素値との差分絶対値和又は差分二乗和に、前記検出対象ブロックの平均値と前記参照対象ブロックの平均値との差分に定数を乗算した値を加算した値を前記評価値とする請求項1記載の動きベクトル検出装置。前記記憶部に記憶された平均値を用いて小数精度の動きベクトルに対応する参照画像の平均値を計算する第4計算部をさらに備え、前記第3計算部は、前記第4計算部により計算された平均値を用いて小数精度の動きベクトルの評価値を計算する請求項1又は2記載の動きベクトル検出装置。処理対象ブロックを分割した第1ブロック毎の画素値の平均値と、参照画像内の前記第1ブロックと同じサイズの第2ブロック毎の画素値の平均値とを計算し、計算された前記平均値を記憶部に記憶し、前記処理対象ブロック内の動きベクトルの検出対象ブロックにおける画素値の平均値を前記第1ブロックの平均値に基づいて計算し、前記検出対象ブロックに対応する前記参照画像内の参照対象ブロックにおける画素値の平均値を前記第2ブロックの平均値に基づいて計算し、前記検出対象ブロックの各画素値から前記第1ブロックの平均値を減算した各画素値と、前記参照対象ブロックの各画素値から前記第2ブロックの平均値を減算した各画素値との差分、及び前記検出対象ブロックの平均値と前記参照対象ブロックの平均値との差分に基づき、動きベクトルの評価値を計算し、前記評価値に基づき動きベクトルを選択する動きベクトル検出方法。処理対象ブロックを分割した第1ブロック毎の画素値の平均値と、参照画像内の前記第1ブロックと同じサイズの第2ブロック毎の画素値の平均値とを計算し、計算された前記平均値を記憶部に記憶し、前記処理対象ブロック内の動きベクトルの検出対象ブロックにおける画素値の平均値を前記第1ブロックの平均値に基づいて計算し、前記検出対象ブロックに対応する前記参照画像内の参照対象ブロックにおける画素値の平均値を前記第2ブロックの平均値に基づいて計算し、前記検出対象ブロックの各画素値から前記第1ブロックの平均値を減算した各画素値と、前記参照対象ブロックの各画素値から前記第2ブロックの平均値を減算した各画素値との差分、及び前記検出対象ブロックの平均値と前記参照対象ブロックの平均値との差分に基づき、動きベクトルの評価値を計算し、前記評価値に基づき動きベクトルを選択する、処理をコンピュータに実行させるための動きベクトル検出プログラム。しかしながら、従来技術では、差分画像を周波数変換して得られる交流成分AC係数が量子化処理、エントロピー符号化処理されて生成されるビットストリームのサイズのみを評価して動きベクトルを選択していることに相当する。この選択方法だと、差分画像を直交変換した後の直流成分DC係数がエントロピー符号化されたときのビットストリームサイズについては考慮されていない。直流成分は、もっとも小さな量子化スケールで量子化される係数であり、エントロピー符号化後のビットストリームサイズがその他の係数よりも大きくなるため、直流成分の評価は重要であると考えられる。そこで、開示の技術は、上記課題に鑑みてなされたものであり、エントロピー符号化後の符号量がより小さくなるような動きベクトルを検出することができる動きベクトル検出装置、動きベクトル検出方法及び動きベクトル検出プログラムを提供することを目的とする。開示の一態様における動きベクトル検出装置は、処理対象ブロックを分割した第1ブロック毎の画素値の平均値と、参照画像内の前記第1ブロックと同じサイズの第2ブロック毎の画素値の平均値とを計算する第1計算部と、前記第1計算部により計算された平均値を記憶する記憶部と、前記処理対象ブロック内の動きベクトルの検出対象ブロックにおける画素値の平均値を前記第1ブロックの平均値に基づいて計算し、前記検出対象ブロックに対応する前記参照画像内の参照対象ブロックにおける画素値の平均値を前記第2ブロックの平均値に基づいて計算する第2計算部と、前記検出対象ブロックの各画素値から前記第1ブロックの平均値を減算した各画素値と、前記参照対象ブロックの各画素値から前記第2ブロックの平均値を減算した各画素値との差分、及び前記検出対象ブロックの平均値と前記参照対象ブロックの平均値との差分に基づき、動きベクトルの評価値を計算する第3計算部と、前記評価値に基づき動きベクトルを選択する選択部と、を備える。開示の技術によれば、エントロピー符号化後の符号量がより小さくなるような動きベクトルを検出することができる。以下、添付図面を参照しながら実施例について詳細に説明する。[実施例]<構成>図1は、実施例における動画像符号化装置10の概略構成の一例を示すブロック図である。実施例における動画像符号化装置10は、フレームメモリ100と、動きベクトル検出部101と、符号化部102と、局所復号部103とを有する。動画像符号化装置10は、例えば、プロセッサやDSPおよびメモリなどで構成されるコンピュータを、インストールしたプログラムで動作させることにより実現される。または、ハードワイヤードロジックにより構成された専用の回路やマッピング情報により回路構成が変更されるFPGAFieldProgrammableGateArrayなどにより実現される。また、動きベクトル検出部101は、動きベクトル検出装置として実装されてもよい。フレームメモリ100は、外部から順次供給される符号化の処理対象画像処理対象の画像信号を受け取り、記憶する。また、フレームメモリ100は、局所復号部103から局所復号ローカルデコードされた画像を記憶する。フレームメモリ100は、複数の画像を記憶する容量を有し、符号化処理が完了した画像、動き検出処理で参照画像として使用されなくなった画像を破棄する。これにより、順次新しい符号化の処理対象画像と局所復号された画像とが記憶されることになる。この局所復号された画像は、参照画像となりうる。動きベクトル検出部101は、フレームメモリ100から符号化の処理対象画像と参照画像のデータにアクセスし、動きベクトルを決定し、決定した動きベクトルを符号化部102へ出力する。動きベクトル検出部101は、所定サイズのブロック毎に画素値の平均を求め、記憶しておく。所定サイズは、例えば、最小処理単位とし、H.264では4×4である。動きベクトル検出部101は、このブロックの平均値を用いて動きベクトルを検出する。動きベクトル検出部101の詳細については、図4を用いて後述する。ここで、符号化の処理対象ブロックについて説明する。図2は、符号化の処理対象ブロックの一例を示す図である。図2に示す例では、動きベクトル検出部101は、符号化の処理対象画像200内の16×16画素のマクロブロックに対するサブブロック単位で処理を行う。ここでは、マクロブロックを処理対象ブロックとする。図2では、符号化の処理対象画像200と、画像を分割したマクロブロック201との関係を示す。処理対象画像200は、水平16画素×垂直16画素のマクロブロック201でタイル状に区分けされる。図2に示す例では、動きベクトル検出部101は、マクロブロック201を4×4のブロックに分割し、このブロック毎に画素値の平均値を算出する。このブロックの画素値の平均値をAcx,yx=0~3,y=0~3で表す。例えば、ブロック220の平均値は、Ac3,3で表される。図3は、マクロブロックとサブブロックとの関係を示す図である。図3に示すように、マクロブロック201は、さらに16×8ブロック301、311、8×16ブロック302、312、8×8ブロック303、313、314、315のサブブロックに分割されうる。また、8×8のサブブロックは、さらに、8×4ブロック304、314、4×8ブロック305、315、4×4ブロック306、316、326、336のサブブロックに分割されうる。動きベクトル検出部101は、符号化対象画像200内のマクロブロック毎に、全てのサブブロックに対してそれぞれ動きベクトルを1つ決定し、符号化部102へ出力する。図1に戻り、符号化部102は、動きベクトル検出部101から動きベクトルを受け取り、フレームメモリ100に記憶された処理対象画像と参照画像とにアクセスし、ブロック単位で直交変換処理、量子化処理、エントロピー符号化処理を行い、ビットストリームを生成して出力する。符号化部102は、参照画像となりうる画像の量子化後の符号化データを局所復号部103に出力する。局所復号部103は、取得した符号化データに逆量子化処理、逆直交変換処理、動き補償処理、復号画像生成処理、デブロッキングフィルタ処理などを行って局所復号画像を生成し、フレームメモリ102に出力する。符号化部102や局所復号部103の処理については広く知られているので、ここでは詳細な説明を省略する。次に、動きベクトル検出部101の構成について説明する。図4は、動きベクトル検出部101の構成の一例を示すブロック図である。図4に示す動きベクトル検出部101は、平均値計算部400、平均値記憶部401、ブロック平均値計算部402、平均値差計算部404、評価値計算部405、動きベクトル選択部406を有する。また、動きベクトル検出部101は、小数精度の動きベクトルを検出するため、小数精度平均値計算部403、小数精度参照画像生成部407を有する。整数精度まずは、整数精度での動きベクトルの検出について説明する。平均値計算部400は、処理対象ブロックマクロブロックの画素値の平均値を計算する。平均値計算部400は、例えば、フレームメモリ100から処理対象ブロックを読出し、この処理対象ブロックを水平4画素×垂直4画素のブロックに分割し、4×4画素のブロック毎に画素値の平均値を計算する。処理対象ブロックの画素値をCx,yで表すとすると、1つの4×4画素のブロックの平均値Acx,yは、式1により計算される。ただし、Cx,yは、処理対象ブロックの左上の画素の座標を0,0としたときの水平座標x座標,垂直座標y座標の位置の画素値を表す。Aci,jは、x座標が4i~4i3、y座標が4j~4j3の位置の16画素からなるブロックの画素の平均値を表す。図2に示す例を用いると、Ac3,3は、ブロック220で示される位置の4×4画素の平均値である。平均値計算部400は、計算した16個の平均値Acx,yを平均値記憶部401に書き込む。また、平均値計算部400は、フレームメモリ100から参照画像内の探索範囲となる画像領域を読出し、この探索範囲の任意の位置を左上画素とする水平4画素×垂直4画素のブロック毎に平均値Arm,nを計算する。平均値計算部400は、計算した平均値Arm,nを平均値記憶部401に書き込む。参照画像の探索範囲の画素値をRx,yで表すと、1つの4×4画素のブロックの平均値Arm,nは、式2により計算される。図5は、参照画像における平均値計算の対象となるブロックの一例を示す図である。図5に示す画像500は参照画像を示し、ブロック501は処理対象ブロックと同じ位置にあるブロックを示し、画像領域502は動きベクトルの探索範囲を示す。図5に示す例では、画像領域502は、ブロック501を基準に水平方向-16~16、垂直方向-16~16までの領域を探索範囲とする。しかし、この探索範囲は、この範囲に限られず、設計者が任意に設定することができる。例えば、16×16画素のマクロブロックで動き検出を行う場合、このマクロブロックと、画像領域502内の16×16画素のブロックとの差分絶対値和が計算される。ここで、ブロック501の左上の画素を基準にすると、水平-16~31、垂直-16~31の画素がフレームメモリ100から読み出される。図5に示す例を、式2に適用すると、m,nは次の範囲になる。m=-16,-15,,27,28n=-16,-15,,27,28この範囲内で、平均値Arm,nが計算される。平均値記憶部401は、平均値計算部400により計算された処理対象ブロックを分割した各ブロックの平均値と、参照画像の画像領域内の各ブロックの平均値とを記憶する。ブロック平均値計算部402は、動きベクトルの検出対象のサブブロック以下、検出対象ブロックともいうを1つずつ選択する。サブブロックの種類は、図3に示す種類がある。サブブロックを選択する順序には制限はなく、例えば、より大きなサイズのサブブロックから選択し、同一サイズの場合は、上側、左側からサブブロックを選択するとする。ブロック平均値計算部402は、平均値記憶部401から各ブロックの平均値Aci,ji=0,1,2,3,j=0,1,2,3を読み出し、検出対象ブロックの平均値A’cを計算する。検出対象ブロックは、平均値Acを求めたブロックの定数倍である。例えば、選択された検出対象ブロックが16×16のブロック201の場合、平均値A’cは、式3により計算される。ここで、Aci,ji=0,1,2,3、j=0,1,2,3は、それぞれ4×4画素ブロックの平均値であるから、式3で計算される平均値A’cは、16×16画素のブロック201の画素値の平均値となる。4×4ブロック単位の平均値は、すでに計算されて平均値記憶部401に格納されている。よって、式3は、加算15回と除算1回とで計算することができる。従来のように、256画素の検出対象ブロックの画素値からそのまま平均値を計算する場合、加算255回と除算1回との演算量がかかる。この従来手法と比較して、式3では少ない演算量で平均値を計算することができる。例えば、H.264で規定されているブロックは4×4画素が最小で、その他のブロックは、4×4画素を複数個並べた形状になっているので、前述したように4×4画素毎に平均値が計算される。ブロック平均値計算部402は、その他のサイズのブロックの平均値について、4×4画素毎の平均値から計算することにより、演算量を大幅に削減することができる。ブロック平均値計算部402は、探索範囲の水平方向±16,垂直方向±16の範囲内から1つ動きベクトル候補candidate_vecを選択する。動きベクトル候補の選択方法は、フルサーチ法、スパイラルサーチ法、スリーステップサーチ法、追跡法など公知となっている様々なアルゴリズムから自由に選択して用いることができる。ブロック平均値計算部402は、選択された動きベクトル候補candidate_vecが指し示す予測画像の平均値を計算する。図6は、動きベクトルが指し示す予測画像の一例を示す図である。図6に示すように、例えば、動きベクトル候補candidate_vecが、図6に示す動きベクトル602水平成分,垂直成分=14,10である場合、この動きベクトル候補602に対応する予測画像は、ブロック600以下、参照対象ブロックともいうとなる。なお、ブロック601の評価値は、Ar5,3で表される。ブロック平均値計算部402は、平均値記憶部401から平均値Ari,ji=-16,-15,,27,28,j=-16,-15,,27,28を読み出し、参照対象ブロック600の画素値の平均値A’rを式4により計算する。式4は、フレームメモリ100から参照対象ブロック600の各画素値を読み出して、式5により計算する場合と比較して、加算回数が255回から15回に削減されている。ブロック平均値計算部402は、計算した検出対象ブロックの平均値A’cと、各参照対象ブロックの平均値A’rとを平均値差計算部404及び評価値計算部405に出力する。平均値差計算部404は、検出対象ブロックの平均値A’cと、各参照対象ブロックの平均値差A’rとの差分平均値差を計算する。平均値差計算部404は、計算した平均値差を評価値計算部405に出力する。また、平均値差計算部404は、平均値差に定数αを乗算してもよい。評価値計算部405は、検出対象ブロックと各参照対象ブロックとをフレームメモリ100から読出す。評価値計算部405は、検出対象ブロックの各画素値から検出対象ブロックの平均値を減算し、参照対象ブロックの各画素値から参照対象ブロックの平均値を減算する。評価値計算部405は、平均値が減算された検出対象ブロックの各画素値と、平均値が減算された参照対象ブロックの各画素値との差分絶対値和を計算する。評価値計算部405は、計算した差分絶対値和に平均値差を考慮して評価値SAD’を計算する。なお、差分絶対値和は、差分二乗和でもよい。評価値SAD’は、式6により計算される。式6におけるp,qは選択されている検出対象ブロックのマクロブロック中でのx座標、y座標を表す。例えば、16×16ブロックであれば、p,q=0,0、左上8×8ブロックの右下の4×4ブロックの場合、p,q=4,4となる。式6におけるr,sは、選択されている検出対象ブロックの水平画素数-1,垂直画素数-1を表す。16×16ブロックであれば、r,s=15,15,4×4ブロックであればr,s=3,3となる。各ブロックとp,qの関係を図7に示す。図7は、サブブロックに関するデータの一例を示す図である。サブブロックの平均値A’cは、図7に示すようにして求められる。図7に示すように、サブブロックの平均値A’cは、4×4のブロックの平均値Acを用いて算出できる。なお、式6で計算されるCpx,qy-A’cは、検出対象ブロックの各画素値の平均値成分が除外された値である。また、式6で計算されるRXpx,Yqy-A’rは、参照画像の参照対象ブロックの各画素値の平均値成分が除外された値である。したがって、式6のΣΣ|Cpx,qy-A’c-RXpx,Yqy-A’r|は、平均値成分を除外した差分絶対値和となる。式6のα|A’c-A’r|は、検出対象ブロックと参照画像の参照対象ブロックとの平均値の差に基づく値である。αは、検出対象ブロックの画素数などから決定する定数である。例えば、16×16画素の検出対象ブロックが選択されている場合、α=256とする。ΣΣ|Cpx,qy-A’c-RXpx,Yqy-A’r|は、16×16=256画素分の和である。よって、例えばα=256とすることで、平均値の差分の評価が、ΣΣ|Cpx,qy-A’c-RXpx,Yqy-A’r|と同じ重みになる。同様に、動きベクトル検出対象のブロックが4×4ブロックの場合、αは例えば16とする。実施例での評価値算出によれば、動きベクトル評価時の差分絶対値和に、α|A’c-A’r|を考慮することができる。これにより、例えば、複数のベクトル候補でΣΣ|Cpx,qy-A’c-RXpx,Yqy-A’r|が同じになった場合に、より平均値成分が近い動きベクトル候補を選択することができる。評価値計算部405は、探索範囲内の全ての参照対象ブロックに対して評価値を計算する。評価値計算部405は、式6により計算した評価値を、動きベクトル選択部406に出力する。動きベクトル選択部406は、評価値計算部405から取得した評価値に基づいて動きベクトルを選択する。例えば、動きベクトル選択部406は、評価値が最小となる動きベクトルを選択する。検出対象ブロックに対して整数精度の動きベクトルが1つ検出できれば、動きベクトル検出部101は、整数精度の動きベクトルの検出処理を終了する。小数精度次に、小数精度の動きベクトル検出について説明する。小数精度平均値計算部403は、動きベクトル検出対象の小数精度動きベクトルの候補candidate_vecを選択する。小数精度平均値計算部403は、動きベクトル選択部406で選択された整数精度の動きベクトルを中心とした周囲の小数精度の動きベクトルを候補とする。小数精度の動きベクトル候補の選択方法や選択順は、様々な公知のアルゴリズムがあるが、そのうちのいずれかを用いればよい。図8は、小数精度の動きベクトルの候補の一例を示す図である。動きベクトル選択部406で検出した整数精度の動きベクトルMVx,MVyを中心として、図8の黒丸で示した24個の小数精度の動きベクトルが候補となる。選択順番は、例えば、ラスタスキャン順に左上の候補から右下の候補とする。ブロック平均値計算部402と小数精度参平均値計算部403とにより、選択されている小数精度動きベクトルに対応する予測画像参照対象ブロックの平均値A’’rを計算する。A’’rの計算は、平均値記憶部401に記憶されている平均値Arと、図9に示す式イ~ナとを用いて計算される。図9は、H.264の小数精度の画素値を算出する式を示す図である。図9に示すClip1yは、飽和処理を表し、値が最大画素値を超える場合は最大画素値に丸める処理を表す。一般的な1画素8ビットの動画像符号化装置であれば、最大画素値は2の8乗-1=255である。また、>>は、算術右シフト演算を表す。ここで、小数精度動きベクトルに対応する予測画像の平均値A’’rの計算方法について説明する。まず、ブロック平均値計算部402は、平均値記憶部401から平均値Acを読み出し、検出対象ブロックの複数の整数位置での平均値を計算する。小数精度平均値計算部403は、ブロック平均値計算部402が計算した平均値を用いて小数位置での平均値を計算する。例えば、小数精度動きベクトル候補が13.5,10.5の場合例えば、図9の点jの位置に対応、小数精度平均値計算部403は、図9に示す式ヘ、トを用いて平均値を計算する。ただし、式ヘのb1は、式イを用いて計算する。式イのE,F,G,H,I,Jは、例えば動きベクトル検出対象のサブブロックが16×16の場合、式7~12を用いて計算され、16×8上側ブロックの場合、式13~18を用いて計算される。同様にして、図9に示す式ヘのaa,bb,s1,gg,hhは、b1計算に用いた式、すなわち式7~12や式8~13をそれぞれ垂直方向-2,-1,1,2,3ずらした点に対して適用して計算される。例えば、aaの計算では、式7および式13は、垂直方向に-2だけずらした式19及び式20となる。小数精度平均値計算部403は、小数精度において算出した平均値を平均値差計算部404及び評価値計算部405に出力する。小数精度参照画像生成部407は、フレームメモリ100から参照画像を読み出し、図9に示す式イ~ナを用いて小数精度の動きベクトルに対応する予測画像参照対象ブロックを生成する。小数精度参照画像生成部407は、生成した参照対象ブロックを評価値計算部405に出力する。評価値計算部405は、式21を用いて評価値SAD’’を計算する。ただし、R’x,yは、選択された小数精度の動きベクトル候補に対応する予測画像の水平座標x,垂直座標yの点の画素値を表す。係数αの決定方法は、整数精度の場合と同様に行う。整数精度での効果と同様に、式21を用いることで、平均値成分が除外された差分絶対値和がより小さく、かつ、平均値成分が近い動きベクトル候補を選択することができる。評価値計算部405は、小数精度の全ての動きベクトル候補に対して、評価値SAD’’を計算する。計算された評価値SAD’’は、動きベクトル選択部406に出力される。動きベクトル選択部406は、評価値計算部405で計算された小数精度での評価値SAD’’と、整数精度での評価値SAD’とを比較し、一番小さい評価値に対応する動きベクトルを選択する。動きベクトル選択部406は、選択した動きベクトルを符号化部102に出力する。これにより、動きベクトル検出部101は、小数精度の動きベクトルの検出処理を終了する。次に、前述したA’’rの計算方法で、各4×4画素のブロックの平均値を用いて、小数精度の動きベクトルに対応する参照画像の平均値が計算できることを証明する。動きベクトルの検出対象ブロックが、8×16左側ブロックで、A’’rを計算したい小数精度の動きベクトルが12.5,10の場合、前述したA’’rの計算方法によれば、A’’rの計算式は式22のように変形できる。H.264では、小数精度の動きベクトルに対応する参照画像の生成を図9の式イ~ナを用いて行うことを定めている。例えば、動きベクトルが12.5,10の8×4左側ブロックの参照画像の平均値は、式23となる。Clip1Y、16を無視すれば、式22、23は同じ値となる。実際には、Clip1Y、16の影響で完全に同じ値にはならない場合があるが、小数精度動きベクトル検出への影響は無視できる程度である。なお、小数精度動きベクトルに対応する予測画像の平均値A’’rの計算を、各ブロックの平均値を用いる方法にかえて、予測画像R’x,yを生成してR’x,yの平均値を計算する一般的な手法によって求めることもできる。この場合、一般的な手法の計算式は、式23になり、実施例の計算式である式22の場合の加減算12回、乗算4回、シフト演算7回、Clip1y演算1回と比較して演算回数が非常に多くなる。よって、本実施例のように、各ブロックの平均値を用いて平均値A’’rを演算する方が、従来の手法と比べて演算回数を大きく削減できることが分かる。これにより、上記構成を有することで、エントロピー符号化後の符号量がより小さくなるような動きベクトルを検出することができる。また、上記構成を有することで、整数精度及び小数精度での動きベクトルを検出するための演算量を削減することもできる。<動作>次に、実施例における動きベクトル検出部101の動作について説明する。図10は、実施例における動き検出処理の一例を示すフローチャートである。図10に示すステップS101で、平均値計算部400は、フレームメモリ100から処理対象のマクロブロックを読出し、このマクロブロックを所定のブロック例えば4×4に分割して、ブロック毎に画素値の平均値Acを計算する。ステップS102で、平均値計算部400は、フレームメモリ100から参照画像の探索範囲の画像領域を読出し、この画像領域の所定ブロック毎に平均値Arを計算する。ステップS103で、ブロック平均値計算部402は、動きベクトルの検出対象のサブブロック検出対象ブロックを1つ選択する。ステップS104で、ブロック平均値計算部402、平均値差計算部404、評価値計算部405、動きベクトル選択部406は、選択された検出対象ブロックに対して、整数精度の動きベクトル検出処理を行う。この整数精度の動きベクトル検出処理は、図11を用いて後述する。ステップS105で、ブロック平均値計算部402、小数精度平均値計算部403、平均値差計算部404、小数精度参照画像生成部407などは、ステップS104で検出した整数精度の動きベクトルを用いて、小数精度の動きベクトル検出処理を行う。これにより、検出対象ブロックに対する小数精度の動きベクトルが1つ決定される。この小数精度の動きベクトル検出処理は、図12を用いて後述する。ステップS106で、動きベクトル検出部101は、全てのサブブロックに対してステップS104、S105を実行したかを判定する。未実行のサブブロックがあれば、ステップS103に戻り、ステップS104、S105の処理を実行し、未実行のサブブロックがなければ、動きベクトルの検出処理を終了する。動きベクトル検出部101は、全てのサブブロックに対してステップS104、S105を実行し、評価値に基づいて一つの動きベクトルを検出する。整数精度の動きベクトル検出処理次に、整数精度の動きベクトルの検出処理について説明する。図11は、整数精度の動きベクトル検出処理の一例を示すフローチャートである。図11に示すステップS201で、動きベクトル検出部101は、変数MinSAD’をMAX値で初期化する。MAX値は、ステップS205で計算されるあらゆるSAD’よりも大きな値であればよい。ステップS202で、ブロック平均値計算部402は、平均値記憶部401から各ブロックの平均値Acを読出し、平均値Acを用いて検出対象のサブブロックの平均値A’cを計算する。ステップS203で、ブロック平均値計算部402は、動きベクトルの探索範囲である水平方向±16、垂直方向±16の範囲内から1つの動きベクトル候補candidate_vecを選択する。ステップS204で、ブロック平均値計算部402は、選択された動きベクトル候補が指し示す予測画像の参照対象ブロックの平均値A’rを計算する。平均値を計算する際は、平均値記憶部401に記憶された平均値Arが用いられる。前述したように、この平均値Arを用いることで、演算量が削減される。ステップS205で、平均値差計算部404、評価値計算部405は、A’cやA’rを用いて、式6により評価値SAD’を計算する。ステップS206で、動きベクトル選択部406は、SAD’<MinSAD’を満たすかを判定する。この条件を満たせばステップS207に進み、この条件を満たさなければステップS208に進む。ステップS207で、動きベクトル選択部406は、MinSAD’の値をSAD’に上書きし、変数tmp_vecをcandidate_vecで上書きする。ステップS208で、動きベクトル検出部101は、全ての動きベクトル候補について、ステップS203~S207を実行したかどうかを判定する。未実行の動きベクトル候補があれば、ステップS203へ戻り、未実行の動きベクトル候補がなければ、整数精度動きベクトル検出処理を終了する。この段階で、変数tep_vecの動きベクトルが整数精度で選択された動きベクトルを表す。小数精度の動きベクトル検出処理次に、小数精度の動きベクトル検出処理について説明する。図12は、小数精度の動きベクトル検出処理の一例を示すフローチャートである。図12に示すステップS301で、ブロック平均値計算部402は、動きベクトル検出対象の小数精度における動きベクトル候補candidate_vecを選択する。例えば、ステップS104で検出した整数精度の動きベクトルを中心とした周囲の小数精度の動きベクトルが候補となる。ステップS302で、ブロック平均値計算部402と小数精度平均値計算部403は、選択されている小数精度動きベクトルに対応する予測画像参照対象ブロックの平均値A’’rを計算する。ステップS303で、評価値SAD’’が計算される。まず、小数精度参照画像生成部407は、フレームメモリ100から参照画像を読出し、図9の式イ~ナを用いて小数精度の動きベクトルに対応する予測画像を生成する。また、平均値差計算部404は、検出対象ブロックの平均値A’cと小数精度の予測画像の平均値A’’rとの差を計算する。評価値計算部405は、式21を用いて評価値SAD’’を計算する。ステップS304で、動きベクトル選択部406は、SAD’’<MinSAD’を満たすかを判定する。この条件を満たせばステップS305に進み、この条件を満たさなければステップS306に進む。ステップS305で、動きベクトル選択部406は、MinSAD’の値をSAD’’に上書きし、変数tmp_vecをcandidate_vecで上書きする。ステップS306で、動きベクトル検出部101は、全ての動きベクトル候補について、ステップS203~S207を実行したかどうかを判定する。未実行の動きベクトル候補があれば、ステップS203へ戻り、未実行の動きベクトル候補がなければ、小数精度動きベクトル検出処理を終了する。この段階で、変数tep_vecの動きベクトルが、整数精度及び小数精度において選択された動きベクトルを表す。以上、実施例によれば、エントロピー符号化後の符号量がより小さくなるような動きベクトルを検出することができる。また、実施例によれば、整数精度及び小数精度での動きベクトルを検出するための演算量を削減することもできる。例えば、検出対象ブロックに対して、サブブロックごとに平均値を算出し、これを一時メモリに保存しておく。マクロブロックの動きベクトル検出において評価すべき様々なサイズのブロックを、一時メモリに保存した平均値から求める。これにより、様々なサイズのブロックの平均値計算に必要な演算量を削減することができる。また、参照画像の探索範囲の任意の位置を左上とする画像ブロックについての平均値を算出し、これを一時メモリに保存しておく。マクロブロックの動きベクトル検出において評価すべき様々なサイズ、様々な動きベクトルに対応する参照対象ブロックの平均値を、一時メモリに保存した平均値から求める。これにより、様々なサイズのブロック及び様々な動きベクトルに対応する予測画像の平均値計算に必要な演算量を削減することができる。また、実施例によれば、動きベクトルの選択指標として用いる評価値に、検出対象ブロックの平均値と参照対象ブロックの平均値の差を定数倍した値を考慮する。これにより、差分画像を符号化したビットストリームの内、直流成分のビットストリームサイズも考慮してマクロブロックタイプと動きベクトルとを選択することができる。また、実施例によれば、一時メモリに保存した平均値を用いてフィルタリング処理することで、小数精度の動きベクトルに対応する予測画像の平均値を算出できる。これにより、小数精度の動きベクトルの選択に必要な演算量を削減することができる。図13は、画像処理装置700の構成の一例を示す図である。動画像符号化装置10は、画像処理装置700の一例である。図13に示すように、画像処理装置700は、制御部701、主記憶部702、補助記憶部703、ドライブ装置704、ネットワークI/F部706、入力部707、表示部708を含む。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。制御部701は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPUである。また、制御部701は、主記憶部702や補助記憶部703に記憶されたプログラムを実行する演算装置であり、入力部707や記憶装置からデータを受け取り、演算、加工した上で、表示部708や記憶装置などに出力する。主記憶部702は、ROMReadOnlyMemoryやRAMRandomAccessMemoryなどであり、制御部701が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。補助記憶部703は、HDDHardDiskDriveなどであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。ドライブ装置704は、記録媒体705、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。また、記録媒体705に、所定のプログラムを格納し、この記録媒体705に格納されたプログラムはドライブ装置704を介して画像処理装置700にインストールされる。インストールされた所定のプログラムは、画像処理装置700により実行可能となる。ネットワークI/F部706は、有線及び/又は無線回線などのデータ伝送路により構築されたLANLocalAreaNetwork、WANWideAreaNetworkなどのネットワークを介して接続された通信機能を有する周辺機器と画像処理装置700とのインターフェースである。入力部707は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部708の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部707は、ユーザが制御部701に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。表示部708は、CRTCathodeRayTubeやLCDLiquidCrystalDisplay等により構成され、制御部701から入力される表示データに応じた表示が行われる。例えば、フレームメモリ100は、主記憶部702や補助記憶部703などにより実現されうる。例えば、動きベクトル検出部101、符号化部102、局所復号部103は、制御部701やワークメモリとしての主記憶部703などにより実現されうる。このように、前述した実施例で説明した動画像符号化処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述した動画像符号化処理を実現することができる。例えば、前述した動きベクトル検出処理は、プログラムとして実現されてもよい。また、このプログラムを記録媒体705に記録し、このプログラムが記録された記録媒体705をコンピュータや携帯端末に読み取らせて、前述した動画像符号化処理を実現させることも可能である。なお、記録媒体705は、CD-ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。また、前述した実施例で説明した各処理部は、1つ又は複数の処理部を1つ又は複数の集積回路に実装されてもよい。なお、上記実施例では、H.264以外にも、MPEG-2、4、VC-1、VP8などの符号化技術や、ブロック分割を行う次世代の符号化技術においても適用可能である。以上、実施例について詳述したが、この実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記実施例や変形例以外にも種々の変形及び変更が可能である。なお、以上の実施例に関し、さらに以下の付記を開示する。付記1処理対象ブロックを分割した第1ブロック毎の画素値の平均値と、参照画像内の前記第1ブロックと同じサイズの第2ブロック毎の画素値の平均値とを計算する第1計算部と、前記第1計算部により計算された平均値を記憶する記憶部と、前記処理対象ブロック内の動きベクトルの検出対象ブロックにおける画素値の平均値を前記第1ブロックの平均値に基づいて計算し、前記検出対象ブロックに対応する前記参照画像内の参照対象ブロックにおける画素値の平均値を前記第2ブロックの平均値に基づいて計算する第2計算部と、前記検出対象ブロックの各画素値から前記第1ブロックの平均値を減算した各画素値と、前記参照対象ブロックの各画素値から前記第2ブロックの平均値を減算した各画素値との差分、及び前記検出対象ブロックの平均値と前記参照対象ブロックの平均値との差分に基づき、動きベクトルの評価値を計算する第3計算部と、前記評価値に基づき動きベクトルを選択する選択部と、を備える動きベクトル検出装置。付記2前記第3計算部は、前記第1ブロックの平均値を減算した各画素値と前記第2ブロックの平均値を減算した各画素値との差分絶対値和又は差分二乗和に、前記検出対象ブロックの平均値と前記参照対象ブロックの平均値との差分に定数を乗算した値を加算した値を前記評価値とする付記1記載の動きベクトル検出装置。付記3前記定数は、前記検出対象ブロックの画素数に応じて決定される付記2記載の動きベクトル検出装置。付記4前記記憶部に記憶された平均値を用いて小数精度の動きベクトルに対応する参照画像の平均値を計算する第4計算部をさらに備え、前記第3計算部は、前記第4計算部により計算された平均値を用いて小数精度の動きベクトルの評価値を計算する付記1乃至3いずれか一項に記載の動きベクトル検出装置。付記5前記検出対象ブロックは、前記第1ブロックの定数倍である付記1乃至4いずれか一項に記載の動きベクトル検出装置。付記6前記第1計算部は、前記第1ブロックを、水平4画素×垂直4画素とする付記1乃至5いずれか一項に記載の動きベクトル検出装置。付記7処理対象ブロックを分割した第1ブロック毎の画素値の平均値と、参照画像内の前記第1ブロックと同じサイズの第2ブロック毎の画素値の平均値とを計算し、計算された前記平均値を記憶部に記憶し、前記処理対象ブロック内の動きベクトルの検出対象ブロックにおける画素値の平均値を前記第1ブロックの平均値に基づいて計算し、前記検出対象ブロックに対応する前記参照画像内の参照対象ブロックにおける画素値の平均値を前記第2ブロックの平均値に基づいて計算し、前記検出対象ブロックの各画素値から前記第1ブロックの平均値を減算した各画素値と、前記参照対象ブロックの各画素値から前記第2ブロックの平均値を減算した各画素値との差分、及び前記検出対象ブロックの平均値と前記参照対象ブロックの平均値との差分に基づき、動きベクトルの評価値を計算し、前記評価値に基づき動きベクトルを選択する動きベクトル検出方法。付記8処理対象ブロックを分割した第1ブロック毎の画素値の平均値と、参照画像内の前記第1ブロックと同じサイズの第2ブロック毎の画素値の平均値とを計算し、計算された前記平均値を記憶部に記憶し、前記処理対象ブロック内の動きベクトルの検出対象ブロックにおける画素値の平均値を前記第1ブロックの平均値に基づいて計算し、前記検出対象ブロックに対応する前記参照画像内の参照対象ブロックにおける画素値の平均値を前記第2ブロックの平均値に基づいて計算し、前記検出対象ブロックの各画素値から前記第1ブロックの平均値を減算した各画素値と、前記参照対象ブロックの各画素値から前記第2ブロックの平均値を減算した各画素値との差分、及び前記検出対象ブロックの平均値と前記参照対象ブロックの平均値との差分に基づき、動きベクトルの評価値を計算し、前記評価値に基づき動きベクトルを選択する、処理をコンピュータに実行させるための動きベクトル検出プログラム。"