(57)【要約】【課題】動き検出にかかる演算量を削減すること。【解決手段】動画処理装置１００は、対象画像の縮小画像から分割された第１ブロックと、参照画像の縮小画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を所定の順序で累積加算することにより、参照ブロックごとの評価値を算出する。動画処理装置１００は、参照ブロックごとの評価値に基づいて、第１動きベクトルを検出する。動画処理装置１００は、第１動きベクトルが示す参照ブロックの評価値の算出時に画素間の差分を表す値が累積加算された過程を区切って分割された区間同士の増分値を比較する。動画処理装置１００は、比較結果に基づいて、第１ブロックに対応する対象画像内の第２ブロックと、第１動きベクトルから特定される参照画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を累積加算する累積加算順序を決定する。【選択図】図１
2014183408.tif 000002
【特許請求の範囲】
【請求項１】
対象画像を縮小した画像から分割された第１ブロックと、参照画像を縮小した画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を所定の順序で累積加算することにより、前記参照ブロックごとの評価値を算出する算出部と、
前記参照ブロックの評価値の算出時に前記値が累積加算される過程を区切って分割された区間に対応して、前記区間における前記値の増分値を記録する記録部と、
前記算出部によって算出された算出結果に基づいて、前記第１ブロックの動きベクトルを検出する検出部と、
前記記録部によって記録された記録内容に基づいて、前記検出部によって検出された前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程における区間同士の増分値を比較する比較部と、
前記比較部によって比較された比較結果に基づいて、前記第１ブロックに対応する前記対象画像上の第２ブロックと前記動きベクトルから特定される前記参照画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を累積加算して当該参照ブロックの評価値を算出する際の累積加算順序を決定する決定部と、
を有することを特徴とする動画処理装置。
【請求項２】
前記記録部は、
前記過程を区切って２分割された第１および第２の区間のうちの少なくともいずれかの区間の増分値を保持し、
前記比較部は、
前記記録部によって記録された記録内容に基づいて、前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程の第１の区間の増分値と第２の区間の増分値とを比較し、
前記決定部は、
前記第１の区間の増分値が前記第２の区間の増分値以上の場合は、前記累積加算順序を前記所定の順序と同順に決定し、前記第１の区間の増分値が前記第２の区間の増分値未満の場合は、前記累積加算順序を前記所定の順序と逆順に決定することを特徴とする請求項１に記載の動画処理装置。
【請求項３】
前記記録部は、
前記過程を区切って３分割された第１、第２および第３の区間のうちの少なくとも前記第１および第２の区間の増分値を記録し、
前記比較部は、
前記記録部によって記録された記録内容に基づいて、前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程の第１の区間の増分値と第３の区間の増分値とを比較し、
前記決定部は、
前記第１の区間の増分値が前記第３の区間の増分値以上の場合は、前記累積加算順序を前記所定の順序と同順に決定し、前記第１の区間の増分値が前記第３の区間の増分値未満の場合は、前記累積加算順序を前記所定の順序と逆順に決定することを特徴とする請求項１に記載の動画処理装置。
【請求項４】
前記記録部は、
前記過程を区切って分割された複数の区間の各々の区間の増分値を保持し、
前記比較部は、
前記記録部によって記録された保持内容に基づいて、前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程の区間同士の増分値を比較し、
前記決定部は、
前記累積加算順序を、前記複数の区間のうちの増分値が最大となる区間に対応する部分の画素間の差分を表す値を最初に累積加算する順序に決定することを特徴とする請求項１に記載の動画処理装置。
【請求項５】
前記記録部は、
前記過程を区切って分割された複数の区間の各々の区間の増分値を保持し、
前記比較部は、
前記記録部によって記録された記録内容に基づいて、前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程の区間同士の増分値を比較し、
前記決定部は、
前記累積加算順序を、前記複数の区間のうちの増分値が最小となる区間に対応する部分の画素間の差分を表す値を最後に累積加算する順序に決定することを特徴とする請求項１または４に記載の動画処理装置。
【請求項６】
前記決定部によって決定された前記累積加算順序に従って、前記第２ブロックと前記動きベクトルから特定される前記参照画像の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を累積加算することにより、前記参照ブロックごとの評価値を算出する第２の算出部と、
前記第２の算出部によって算出された算出結果に基づいて、前記第２ブロックの動きベクトルを検出する第２の検出部と、
を有することを特徴とする請求項１〜５のいずれか一つに記載の動画処理装置。
【請求項７】
前記第２ブロックと前記第２の検出部によって検出された前記動きベクトルが示す前記参照画像上の参照ブロックとに基づいて、フレーム間予測画像を生成する処理部をさらに有することを特徴とする請求項１〜６のいずれか一つに記載の動画処理装置。
【請求項８】
前記第２の検出部によって検出された前記動きベクトルに基づいて、前記対象画像と前記参照画像とのずれ量を検出する処理部をさらに有することを特徴とする請求項１〜６のいずれか一つに記載の動画処理装置。
【請求項９】
コンピュータが、
対象画像を縮小した画像から分割された第１ブロックと、参照画像を縮小した画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を所定の順序で累積加算することにより、前記参照ブロックごとの評価値を算出し、
前記参照ブロックの評価値の算出時に前記値が累積加算される過程を区切って分割された区間に対応して、前記区間における前記値の増分値を記録し、
算出した算出結果に基づいて、前記第１ブロックの動きベクトルを検出し、
記録した記録内容に基づいて、検出した前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程における区間同士の増分値を比較し、
比較した比較結果に基づいて、前記第１ブロックに対応する前記対象画像上の第２ブロックと前記動きベクトルから特定される前記参照画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を累積加算して当該参照ブロックの評価値を算出する際の累積加算順序を決定する、
処理を実行することを特徴とする動画処理方法。
【請求項１０】
コンピュータに、
対象画像を縮小した画像から分割された第１ブロックと、参照画像を縮小した画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を所定の順序で累積加算することにより、前記参照ブロックごとの評価値を算出し、
前記参照ブロックの評価値の算出時に前記値が累積加算される過程を区切って分割された区間に対応して、前記区間における前記値の増分値を記録し、
算出した算出結果に基づいて、前記第１ブロックの動きベクトルを検出し、
記録した記録内容に基づいて、検出した前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程における区間同士の増分値を比較し、
比較した比較結果に基づいて、前記第１ブロックに対応する前記対象画像上の第２ブロックと前記動きベクトルから特定される前記参照画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を累積加算して当該参照ブロックの評価値を算出する際の累積加算順序を決定する、
処理を実行させることを特徴とする動画処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画処理装置、動画処理方法および動画処理プログラムに関する。
【背景技術】
【０００２】
動き検出は、一連のフレームのうちの処理対象となるフレーム内の元ブロックと類似するブロックを参照フレームから探し出し、元ブロックとの空間的な位置の差を動きベクトルとして出力する処理である。動き検出の精度を向上させるためには、例えば、より多くの候補ベクトルを評価することが求められる。一方、候補ベクトルが増加すると動き検出にかかる演算量が大きくなり、装置全体の処理時間や消費電力が増大してしまう。
【０００３】
関連する先行技術としては、例えば、フレームにあるブロック内の画素と、一つ前のフレームにあるサーチウィンドウ内の対比ブロック内の画素とにより、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）演算を行って、ＳＡＤ値の累積値がＳＡＤ臨界値に等しくなるかより大きい場合、ＳＡＤ演算を中断する技術がある。また、時系列的に離隔した２つの画像間の動き補償予測を行う場合の信号処理方法において、動きベクトルの検出の指標となる画素値の差分絶対値和が最初に所定の閾値に達したとき以降の未探索領域でのブロックマッチングの工程を強制終了させる技術がある。
【０００４】
また、サブサンプルされた縮小画像に対して動き検出を行う階層探索法と呼ばれる技術がある。階層探索法では、例えば、一段階目の動き検出処理において、原画像を縮小した画像を用いて、おおよその動きベクトルが導出される。そして、二段階目の動き検出処理において、原画像と参照画像を用いて、一段階目の動き検出結果の動きベクトルが示す点を中心とした探索範囲について動き検出が行われる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１８３９０１号公報
【特許文献２】特開平１０−２７１５１４号公報
【特許文献３】特開平１１−２９８９０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、動き検出にかかる演算量は候補ベクトルの増加に伴って依然として大きなものとなり、動き検出にかかる装置全体の処理時間や消費電力の増大化を招くという問題がある。
【０００７】
１つの側面では、本発明は、動き検出にかかる演算量を削減する動画処理装置、動画処理方法および動画処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、対象画像を縮小した画像から分割された第１ブロックと、参照画像を縮小した画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を所定の順序で累積加算することにより、前記参照ブロックごとの評価値を算出し、前記参照ブロックの評価値の算出時に前記値が累積加算される過程を区切って分割された区間に対応して、前記区間における前記値の増分値を記録し、算出した算出結果に基づいて、前記第１ブロックの動きベクトルを検出し、記録した記録内容に基づいて、検出した前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程における区間同士の増分値を比較し、比較した比較結果に基づいて、前記第１ブロックに対応する前記対象画像上の第２ブロックと前記動きベクトルから特定される前記参照画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を累積加算して当該参照ブロックの評価値を算出する際の累積加算順序を決定する動画処理装置、動画処理方法および動画処理プログラムが提案される。
【発明の効果】
【０００９】
本発明の一態様によれば、動き検出にかかる演算量を削減することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態にかかる動画処理方法の一実施例を示す説明図である。
【図２】図２は、コンピュータシステム２００のハードウェア構成例を示すブロック図である。
【図３】図３は、動画処理装置１００の機能的構成例を示すブロック図である。
【図４】図４は、累積加算値の時間変化を示す説明図（その１）である。
【図５】図５は、累積加算値の時間変化を示す説明図（その２）である。
【図６】図６は、動画処理装置１００の第１決定処理手順の一例を示すフローチャートである。
【図７】図７は、第１最小評価値算出処理の具体的処理手順の一例を示すフローチャートである。
【図８】図８は、第１評価値算出処理の具体的処理手順の一例を示すフローチャートである。
【図９】図９は、動画処理装置１００の第２決定処理手順の一例を示すフローチャートである。
【図１０】図１０は、第２最小評価値算出処理の具体的処理手順の一例を示すフローチャートである。
【図１１】図１１は、第２評価値算出処理の具体的処理手順の一例を示すフローチャートである。
【図１２】図１２は、動画処理装置１００の第３決定処理手順の一例を示すフローチャートである。
【図１３】図１３は、第３最小評価値算出処理の具体的処理手順の一例を示すフローチャートである。
【図１４】図１４は、第３評価値算出処理の具体的処理手順の一例を示すフローチャートである。
【図１５】図１５は、動画処理装置１００の第４決定処理手順の一例を示すフローチャートである。
【図１６】図１６は、第４最小評価値算出処理の具体的処理手順の一例を示すフローチャートである。
【図１７】図１７は、第４評価値算出処理の具体的処理手順の一例を示すフローチャートである。
【図１８】図１８は、動画処理装置１００の第５決定処理手順の一例を示すフローチャートである。
【図１９】図１９は、第５最小評価値算出処理の具体的処理手順の一例を示すフローチャートである。
【図２０】図２０は、第５評価値算出処理の具体的処理手順の一例を示すフローチャートである。
【図２１】図２１は、動画処理装置１００の動き検出処理手順の一例を示すフローチャートである。
【図２２】図２２は、動画符号化装置の構成例を示すブロック図（その１）である。
【図２３】図２３は、動画符号化装置の構成例を示すブロック図（その２）である。
【発明を実施するための形態】
【００１１】
以下に図面を参照して、本発明にかかる動画処理装置、動画処理方法および動画処理プログラムの実施の形態を詳細に説明する。
【００１２】
（動画処理方法の一実施例）
図１は、実施の形態にかかる動画処理方法の一実施例を示す説明図である。図１において、動画処理装置１００は、階層型の動き検出を行うコンピュータである。ここで、階層型の動き検出とは、動き検出処理全体を複数の段階に分け、前の段階ほど、画像、参照画像を縮小した画像に対して動き検出処理を行い、二段階目以降では、前段で検出した動きベクトルから特定される参照画像上の探索範囲について動き検出処理を行う手法である。
【００１３】
また、動き検出処理とは、対象画像から分割された元ブロックと類似するブロックを参照画像から探索し、元ブロックとの空間的な位置の差を動きベクトルとして出力する処理である。対象画像とは、動画像である一連のフレームのうちの処理対象となる対象フレームの画像である。対象画像は、対象フレームの原画像であってもよく、また、対象フレームの原画像を縮小した画像であってもよい。
【００１４】
参照画像とは、一連のフレームのうちの対象画像から分割されたブロックと類似するブロックを探索する参照フレームの画像である。ブロックとは、対象画像や参照画像を、例えば、８×８画素や１６×１６画素などの単位で区切って分割した画像であり、対象画像においては、いわゆるマクロブロックや、ブロックパーティションなどのフレーム間予測の実施単位である。
【００１５】
具体的には、例えば、動画処理装置１００は、１段階目の動き検出処理において、所定の縮小率で対象画像を縮小した画像と参照画像を縮小した画像とを用いて、動きベクトルを検出する。より具体的には、例えば、動画処理装置１００は、動きベクトルの候補となる候補ベクトルごとに、候補ベクトルに対応する参照ブロックと元ブロックとの違いを示す評価値を算出する。そして、動画処理装置１００は、例えば、算出した評価値が最小となる候補ベクトルを動きベクトルとして出力する。そして、動画処理装置１００は、２段階目の動き検出処理において、対象画像と参照画像を用いて、１段階目の動き検出結果である動きベクトルから特定される対象画像上の点を中心とした探索範囲について動きベクトルを再探索する。
【００１６】
評価値は、例えば、元ブロックと参照ブロックとの対応する画素間の差分を表す値を累積加算することにより算出される。評価値は、元ブロックと参照ブロックとの類似度を判断する指標となる。画素間の差分を表す値は、例えば、画素間の画素値の差の絶対値である。画素値は、画素が示す色情報であり、例えば、輝度成分値、青色色差成分値、赤色色差成分値などの成分値であってもよく、また、赤成分値、緑成分値、青成分値などの成分値であってもよい。
【００１７】
評価値は、具体的には、例えば、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）やＳＡＴＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｔｒａｎｓｆｏｒｍｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）やＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）である。また、各参照ブロックの評価値の算出処理（累積加算演算）は、例えば、画素間の差分を表す値が累積加算される過程において、その累積加算値が、算出済みの他の参照ブロックの評価値よりも大きくなった場合、その後の累積加算過程を続行しても、その評価値が元ブロックの中で最良の評価値を示すことはないので、評価値の算出処理は中断される。
【００１８】
ここで、階層型の動き検出におけるｋ段階目（ｋ：自然数）の動き検出結果である動きベクトルで示される領域と、（ｋ＋１）段階目の動き検出処理で探索対象となる参照ブロックとは相関性が高い。このため、ｋ段階目の動き検出処理の評価値導出における累積加算値の変化と、（ｋ＋１）段階目の動き検出処理の評価値導出における累積加算値の変化は、画像の縮小率分を補正すれば、ほぼ同じような変化を示す。
【００１９】
そこで、本実施の形態では、動画処理装置１００は、１段階目の動き検出処理において画素間の差分を表す値を累積加算する過程を区切って分割された区間同士の増分値を比較する。そして、動画処理装置１００は、比較した比較結果に基づいて、２段階目の動き検出処理において、より早い段階で累積加算演算を打ち切れる可能性が高い累積加算順序を決定する。以下、動画処理装置１００の動画処理例について説明する。
【００２０】
（１）動画処理装置１００は、対象画像を縮小した画像から分割された第１ブロックと、参照画像を縮小した画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を所定の順序で累積加算することにより、参照ブロックごとの評価値を算出する。所定の順序は、例えば、ラスタスキャン順である。
【００２１】
（２）動画処理装置１００は、参照ブロックの評価値の算出時に画素間の差分を表す値が累積加算される過程を区切って分割された区間に対応して、当該区間における画素間の差分を表す値の増分値を記録する。ここで、参照ブロックの評価値の算出時に画素間の差分を表す値を累積加算する１回の処理を「１処理ステップ」とする。
【００２２】
この場合、動画処理装置１００は、例えば、参照ブロックの評価値が算出されるまでの総処理ステップ数を区切って、画素間の差分を表す値を累積加算する過程を複数の区間に分割する。一例として２分割する場合を例に挙げると、動画処理装置１００は、画素間の差分を表す値を累積加算する過程を区間Ｓ１と区間Ｓ２とに分割する。
【００２３】
そして、動画処理装置１００は、区間Ｓ１における画素間の差分を表す値の増分値を記録する。また、動画処理装置１００は、区間Ｓ２における画素間の差分を表す値の増分値を記録する。ただし、区間Ｓ２（または、区間Ｓ１）における増分値は、参照ブロックの評価値から区間Ｓ１（または、区間Ｓ２）における増分値を減算することにより求めることにしてもよい。
【００２４】
（３）動画処理装置１００は、算出した参照ブロックごとの評価値に基づいて、第１ブロックの第１動きベクトルを検出する。具体的には、例えば、動画処理装置１００は、算出した評価値が最小となる参照ブロックを示す候補ベクトルを、第１ブロックの第１動きベクトルとして検出する。
【００２５】
（４）動画処理装置１００は、記録した記録内容に基づいて、検出した第１動きベクトルが示す参照ブロックの評価値の算出時に画素間の差分を表す値が累積加算された過程における区間同士の増分値を比較する。ここで、グラフ１１０を用いて、参照ブロックの評価値の算出時に画素間の差分を表す値が累積加算されていく様子について説明する。
【００２６】
グラフ１１０は、第１動きベクトルが示す参照ブロックの評価値を算出した際の累積加算値の時間変化例を表す。ここで、画素間の差分を表す値を累積加算する過程を区間Ｓ１と区間Ｓ２とに２分割した場合を想定する。グラフ１１０では、累積加算値が、中間点までは処理ステップ数の増加に伴って緩やかに大きくなり、中間点を過ぎた辺りから急激に大きくなっている。
【００２７】
この場合、動画処理装置１００は、区間Ｓ１における増分値ｘ１と区間Ｓ２における増分値ｘ２とを比較する（ｘ１＜ｘ２）。なお、図１の例では、参照ブロックの評価値は、ＳＡＤにベクトルによる符号化コストを加算したものとし、累積加算値の初期値は、「０」ではなく、ベクトルによる符号化コストの値そのものとする。
【００２８】
（５）動画処理装置１００は、比較した比較結果に基づいて、第１ブロックに対応する対象画像内の第２ブロックと、第１動きベクトルから特定される参照画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を累積加算する累積加算順序を決定する。ここで、２段階目の動き検出処理における参照ブロックは、第１動きベクトルから特定される参照画像上のブロックとその周辺に配置されるブロックであり、１段階目の動き検出処理における参照ブロックとの類似性が高い。
【００２９】
このため、２段階目の動き検出処理における累積加算値の時間変化は、ほとんどの候補ベクトルにおいて、１段階目の動き検出処理と類似する曲線、あるいは、若干上回るような曲線になることが予想される。すなわち、１段階目の動き検出処理の評価値導出における累積加算値の時間変化と、２段階目の動き検出処理の評価値導出における累積加算値の時間変化は、画像の縮小率分や処理ステップ数の違いを補正すれば、ほぼ同じような変化を示す。
【００３０】
グラフ１２０，１３０は、第１動きベクトルから特定される参照画像上の探索範囲内の参照ブロックの評価値を算出する際に予測される累積加算値の時間変化を表す。具体的には、グラフ１２０は、１段階目の動き検出処理と同じ順序で累積加算を行った場合に予測される累積加算値の時間変化を表している。処理ステップ数ｓＢは、最小評価値に達する処理ステップ数である。
【００３１】
また、グラフ１３０は、１段階目の動き検出処理と逆の順序で累積加算を行った場合に予測される累積加算値の時間変化を表している。処理ステップ数ｓＣは、最小評価値に達する処理ステップ数である。なお、最小評価値とは、算出済みの最小の評価値である。
【００３２】
ここで、各参照ブロック（候補ベクトル）における評価値の累積加算演算は、例えば、累積加算値が最小評価値を上回った時点で中断される。このため、２段階目の動き検出処理では、グラフ１２０の処理ステップ数ｓＢよりも早い処理ステップ数ｓＣで最小評価値に達するグラフ１３０のように累積加算を行うほうが望ましい。
【００３３】
すなわち、２段階目の動き検出処理では、１段階目の動き検出処理とは逆の順序で累積加算を行うほうが、より早い処理ステップ数で累積加算演算が打ち切られる可能性が高い。そこで、動画処理装置１００は、例えば、区間Ｓ２の増分値ｘ２が区間Ｓ１の増分値ｘ１より大きい場合は、２段階目の動き検出処理における累積加算順序を、１段階目の動き検出処理における累積加算順序の逆順に決定する。
【００３４】
このように、動画処理装置１００によれば、１段階目の動き検出処理において画素間の差分を表す値を累積加算する過程を区切って分割された区間同士の増分値を比較することができる。また、動画処理装置１００によれば、比較した比較結果に基づいて、２段階目の動き検出処理において、より早い処理ステップ数で累積加算演算を打ち切れる可能性が高い累積加算順序を決定することができる。
【００３５】
これにより、２段階目の動き検出処理における累積加算演算をより早い処理ステップ数で打ち切れる確率を高めて動き検出にかかる演算量を削減することができ、動き検出にかかる動画処理装置１００の処理時間および消費電力を削減することができる。
【００３６】
（コンピュータシステム２００のハードウェア構成例）
つぎに、動画処理装置１００が適用されるコンピュータシステム２００のハードウェア構成例について説明する。コンピュータシステム２００は、例えば、動画像を記録・再生する機能を有するシステムであり、具体的には、例えば、パーソナル・コンピュータ、テレビジョン、レコーダ、スマートフォン、ビデオカメラ、デジタルカメラ、携帯電話、スマートフォンなどである。
【００３７】
図２は、コンピュータシステム２００のハードウェア構成例を示すブロック図である。図２において、コンピュータシステム２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、メモリ２０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０３と、を有する。また、各構成部はバス２１０によってそれぞれ接続されている。
【００３８】
ここで、ＣＰＵ２０１は、コンピュータシステム２００の全体の制御を司る。メモリ２０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有している。より具体的には、例えば、フラッシュＲＯＭがＯＳやファームウェアなどのプログラムを記憶し、ＲＯＭがアプリケーションプログラムを記憶し、ＲＡＭがＣＰＵ２０１のワークエリアとして使用される。メモリ２０２に記憶されているプログラムは、ＣＰＵ２０１にロードされることで、コーディングされている処理をＣＰＵ２０１に実行させることになる。
【００３９】
Ｉ／Ｆ２０３は、他の装置からのデータの入出力を制御する。具体的には、例えば、Ｉ／Ｆ２０３は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワークに接続され、このネットワークを介して他の装置に接続される。そして、Ｉ／Ｆ２０３は、ネットワークと内部のインターフェースを司り、他の装置からのデータの入出力を制御する。なお、コンピュータシステム２００は、上述した構成部のほかに、例えば、磁気ディスクドライブ、磁気ディスク、ディスプレイ、キーボード、マウス、イメージセンサなどを有することにしてもよい。アクセラレータ２０４は、ＣＰＵ動画像処理の一部を実現するハードウェアを備えている。
【００４０】
（動画処理装置１００の機能的構成例）
図３は、動画処理装置１００の機能的構成例を示すブロック図である。図３において、動画処理装置１００は、入力部３０１と、第１の縮小部３０２と、第２の縮小部３０３と、第１の検出部３０４と、決定部３０５と、第２の検出部３０６と、処理部３０７と、出力部３０８と、を含む構成である。具体的には、例えば、各機能部は、論理積回路であるＡＮＤ、否定論理回路であるＩＮＶＥＲＴＥＲ、論理和回路であるＯＲ、論理和否定回路であるＮＯＲや、ラッチ回路であるＦＦ（Ｆｌｉｐ  Ｆｌｏｐ）などの素子によって形成されてもよい。また、各機能部は、例えば、Ｖｅｒｉｌｏｇ−ＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）などの記述によって機能定義し、その記述を論理合成してＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）によって実現してもよい。また、各機能部は、例えば、図２に示したメモリ２０２に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、アクセラレータ２０４により、またはＣＰＵ２０１とアクセラレータ２０４とで処理を分担し、全体で、その機能を実現することにしてもよい。
【００４１】
入力部３０１は、対象画像ＯＰの入力を受け付ける。対象画像ＯＰは、動画像である一連のフレームのうちの処理対象となる対象フレームの画像である。対象画像ＯＰは、例えば、対象フレームの原画像であってもよく、また、対象フレームの原画像を縮小した画像であってもよい。具体的には、例えば、入力部３０１は、メモリ２０２に対するデータの入出力を制御するメモリコントローラ（不図示）を介して、メモリ２０２に記憶された対象画像ＯＰの入力を受け付ける。
【００４２】
また、入力部３０１は、参照画像ＲＰの入力を受け付ける。参照画像ＲＰは、一連のフレームのうちの対象画像ＯＰから分割されたブロックと類似するブロックを探索する参照フレームの画像である。参照画像ＲＰは、例えば、参照フレームの復号画像（例えば、局所復号画像）である。具体的には、例えば、入力部３０１は、メモリコントローラ（不図示）を介して、メモリ２０２に記憶された参照画像の入力を受け付ける。
【００４３】
第１の縮小部３０２は、所定の縮小率αで対象画像ＯＰを縮小する。具体的には、例えば、縮小率αが「α＝０．５」の場合、第１の縮小部３０２は、対象画像ＯＰを水平垂直両方で半分にサブサンプリングして対象画像ＯＰの縮小画像を生成する。
【００４４】
また、第２の縮小部３０３は、縮小率αで参照画像ＲＰを縮小する。具体的には、例えば、縮小率αが「α＝０．５」の場合、第２の縮小部３０３は、参照画像ＲＰを水平垂直両方で半分にサブサンプリングして参照画像ＲＰの縮小画像を生成する。
【００４５】
なお、ここでは、第１の縮小部３０２と第２の縮小部３０３とを別々に設ける場合を例に挙げて説明したが、これに限らない。例えば、一つの縮小部が、対象画像ＯＰおよび参照画像ＲＰを時分割処理することにより、対象画像ＯＰの縮小画像および参照画像ＲＰの縮小画像を生成することにしてもよい。
【００４６】
また、ここではサブサンプリングによる縮小画像生成方法を示したが、縮小画像の生成はこれに限らない。任意の縮小画像生成方法を用いることができる。
【００４７】
第１の検出部３０４は、対象画像ＯＰの縮小画像と参照画像ＲＰの縮小画像とに基づいて、対象画像ＯＰの縮小画像から分割されたブロックの第１動きベクトルＶ１を検出する。ここで、第１動きベクトルＶ１は、対象画像ＯＰの縮小画像から分割されたブロックと、参照画像ＲＰの縮小画像上の探索範囲内の参照ブロックとの空間的な位置の差を示すベクトルである。
【００４８】
以下の説明では、対象画像ＯＰの縮小画像から分割されたブロックを「元ブロックｂ」と表記する場合がある。また、参照画像ＲＰの縮小画像上の探索範囲内の参照ブロックを「参照ブロックｒｂ」と表記する場合がある。また、参照画像ＲＰの縮小画像上の探索範囲は予め指定されている。探索範囲は、例えば、参照画像ＲＰの縮小画像上における元ブロックｂの位置を中心として±１５画素の範囲などである。
【００４９】
具体的には、例えば、第１の検出部３０４は、第１の算出部３０９と、記録部３１０と、を含む。ここで、第１の算出部３０９は、参照画像ＲＰの縮小画像上の探索範囲内の参照ブロックｒｂを１画素精度（あるいは、半画素精度、１／４画素精度など）で順次選択する。そして、第１の算出部３０９は、元ブロックｂと参照ブロックｒｂとの対応する画素間の差分を表す値を累積加算順序Ｘで累積加算することにより、参照ブロックｒｂごとの評価値を算出する。
【００５０】
ここで、累積加算順序Ｘは、画素間の差分を表す値を累積加算する順序であり、すなわち、どのような順番で元ブロックｂから画素を選択するのかを示すものである。累積加算順序Ｘは、例えば、元ブロックｂの左上の画素を始点とし、元ブロックｂの右下の画素を終点とするラスタスキャン順である。
【００５１】
以下の説明では、参照ブロックｒｂ（あるいは、後述する参照ブロックＲＢ）の評価値を「評価値ＳＡＤ」と表記する場合がある。評価値ＳＡＤは、例えば、元ブロックｂ内の画素値と参照ブロックｒｂ内の画素値との差の絶対値を合計したものである。また、画素間の画素値の差の絶対値を「絶対値ｄｉｆｆ」と表記する場合がある。
【００５２】
そして、第１の検出部３０４は、第１の算出部３０９によって算出された参照ブロックｒｂごとの評価値ＳＡＤに基づいて、元ブロックｂの第１動きベクトルＶ１を検出する。具体的には、例えば、第１の検出部３０４は、参照画像ＲＰの縮小画像上の探索範囲内の参照ブロックｒｂのうち評価値ＳＡＤが最小となる参照ブロックｒｂに対応する候補ベクトルを第１動きベクトルＶ１として検出する。
【００５３】
また、記録部３１０は、第１の算出部３０９による参照ブロックｒｂの評価値ＳＡＤの算出時に絶対値ｄｉｆｆが累積加算される過程を区切って分割された区間に対応して、当該区間における絶対値ｄｉｆｆの増分値を記録する。具体的には、例えば、記録部３１０は、参照ブロックｒｂの評価値ＳＡＤが算出されるまでの総処理ステップ数を区切って、絶対値ｄｉｆｆを累積加算する過程を区間Ｓ１〜Ｓｎに分割する（ｎ：２以上の自然数）。そして、記録部３１０は、区間Ｓ１〜Ｓｎのうちの区間Ｓｉに対応して、区間Ｓｉにおける絶対値ｄｉｆｆの増分値を記録する（ｉ＝１，２，…，ｎ）。
【００５４】
決定部３０５は、参照ブロックＲＢの評価値ＳＡＤを算出する際の累積加算順序Ｙを決定する。ここで、参照ブロックＲＢは、第１の検出部３０４によって検出された第１動きベクトルＶ１から特定される参照画像ＲＰ上の探索範囲内のブロックである。参照画像ＲＰ上の探索範囲は、例えば、縮小率αに応じて第１動きベクトルＶ１をスケーリングしたベクトルが示す参照画像ＲＰ上の点を中心とした±１５画素程度の範囲である。また、累積加算順序Ｙは、元ブロックｂに対応する対象画像ＯＰ上の元ブロックＢと、参照ブロックＲＢとの対応する画素間の絶対値ｄｉｆｆを累積加算して参照ブロックＲＢの評価値ＳＡＤを算出する際の順序である。
【００５５】
具体的には、例えば、決定部３０５は、比較部３１１を含む。ここで、比較部３１１は、第１動きベクトルＶ１が示す参照ブロックｒｂの評価値ＳＡＤの算出時に絶対値ｄｉｆｆが累積加算された過程における区間同士の増分値を比較する。決定部３０５は、比較部３１１によって比較された比較結果に基づいて、参照ブロックＲＢの評価値ＳＡＤを算出する際の累積加算順序Ｙを決定する。なお、決定部３０５の具体的な処理内容については、図４および図５を用いて後述する。
【００５６】
第２の検出部３０６は、対象画像ＯＰと参照画像ＲＰとに基づいて、対象画像ＯＰから分割された元ブロックＢの第２動きベクトルＶ２を検出する。ここで、第２動きベクトルＶ２は、対象画像ＯＰから分割された元ブロックＢと、第１動きベクトルＶ１から特定される参照画像ＲＰの探索範囲内の参照ブロックＲＢとの空間的な位置の差を示すベクトルである。
【００５７】
具体的には、例えば、第２の検出部３０６は、第２の算出部３１２を含む。ここで、第２の算出部３１２は、参照画像ＲＰ上の探索範囲内の参照ブロックＲＢを１画素精度（あるいは、半画素精度、１／４画素精度など）で順次選択する。そして、第２の算出部３１２は、決定部３０５によって決定された累積加算順序Ｙに従って、元ブロックＢと参照ブロックＲＢとの対応する画素間の絶対値ｄｉｆｆを累積加算することにより、参照ブロックＲＢごとの評価値ＳＡＤを算出する。
【００５８】
そして、第２の検出部３０６は、算出した参照ブロックＲＢごとの評価値ＳＡＤに基づいて、元ブロックＢの第２動きベクトルＶ２を検出する。具体的には、例えば、第２の検出部３０６は、参照画像ＲＰ上の探索範囲内の参照ブロックＲＢのうち評価値ＳＡＤが最小となる参照ブロックＲＢに対応する候補ベクトルを第２動きベクトルＶ２として検出する。
【００５９】
処理部３０７は、検出された第２動きベクトルＶ２に基づいて、所定の処理を実行する。具体的には、例えば、対象画像ＯＰが符号化対象画像であった場合、処理部３０７は、元ブロックＢと第２動きベクトルＶ２が示す参照画像ＲＰ上の参照ブロックＲＢとに基づいて、フレーム間予測画像を生成することにしてもよい。さらに、処理部３０７は、対象画像ＯＰ（元ブロックＢ）とフレーム間予測画像との差分画像を符号化することにしてもよい。
【００６０】
また、例えば、対象画像ＯＰが手ぶれ補正対象画像であった場合、処理部３０７は、検出された第２動きベクトルＶ２に基づいて、対象画像ＯＰと参照画像ＲＰとのずれ量を検出することにしてもよい。第２動きベクトルＶ２は、例えば、第２の検出部３０６によって検出された対象画像ＯＰ上の特徴部分の元ブロックＢについての動きベクトルである。
【００６１】
ここで、特徴部分の元ブロックＢは、例えば、対象画像ＯＰ上のエッジ部分の元ブロックＢである。そして、処理部３０７は、対象画像ＯＰ上の特徴部分の元ブロックＢごとの第２動きベクトルＶ２の平均値を算出することにより、対象画像ＯＰと参照画像ＲＰとのずれ量を検出することにしてもよい。
【００６２】
出力部３０８は、処理部３０７によって実行された処理の処理結果を出力する。具体的には、例えば、出力部３０８は、処理部３０７によって生成されたフレーム間予測画像を出力することにしてもよく、また、処理部３０７によって符号化されたビットストリームを出力することにしてもよい。また、例えば、出力部３０８は、処理部３０７によって検出された対象画像ＯＰと参照画像ＲＰとのずれ量を出力することにしてもよい。
【００６３】
なお、動画処理装置１００は、処理部３０７を有さないことにしてもよい。この場合、出力部３０８は、例えば、処理部３０７と同等の機能を実現する他の装置に、第２の検出部３０６によって検出された元ブロックＢの第２動きベクトルＶ２を出力することにしてもよい。
【００６４】
（決定部３０５の具体的な処理内容）
つぎに、決定部３０５の具体的な処理内容について説明する。
【００６５】
＜第１の決定処理＞
ここでは、まず、参照ブロックｒｂの評価値ＳＡＤが算出されるまでの総処理ステップ数を２等分（ｎ＝２）に区切って、絶対値ｄｉｆｆを累積加算する過程を区間Ｓ１と区間Ｓ２とに分割する場合を想定する。
【００６６】
この場合、記録部３１０は、例えば、区間Ｓ１における絶対値ｄｉｆｆの増分値と、区間Ｓ２における絶対値ｄｉｆｆの増分値とを記録する。そして、比較部３１１は、第１動きベクトルＶ１が示す参照ブロックｒｂの評価値ＳＡＤの算出時に絶対値ｄｉｆｆが累積加算された過程における区間Ｓ１の増分値と区間Ｓ２の増分値とを比較する。
【００６７】
ここで、区間Ｓ１の増分値が区間Ｓ２の増分値以上の場合は、参照ブロックＲＢの評価値ＳＡＤの算出時に、累積加算順序Ｘとは逆の順序で絶対値ｄｉｆｆを累積加算するよりも累積加算順序Ｘと同じ順序で絶対値ｄｉｆｆを累積加算するほうが、より早い処理ステップ数で最小評価値ｍｉｎＳＡＤに達する可能性が高い。
【００６８】
このため、決定部３０５は、区間Ｓ１の増分値が区間Ｓ２の増分値以上の場合は、累積加算順序Ｙを、累積加算順序Ｘと同順に決定する。なお、最小評価値ｍｉｎＳＡＤは、参照ブロックＲＢの評価値ＳＡＤの算出時において、算出済みの他の参照ブロックＲＢの最小の評価値ＳＡＤである。
【００６９】
一方、区間Ｓ１の増分値が区間Ｓ２の増分値未満の場合は、参照ブロックＲＢの評価値ＳＡＤの算出時に、累積加算順序Ｘと同じ順序で絶対値ｄｉｆｆを累積加算するよりも累積加算順序Ｘと逆の順序で絶対値ｄｉｆｆを累積加算するほうが、より早い処理ステップ数で最小評価値ｍｉｎＳＡＤに達する可能性が高い。このため、決定部３０５は、区間Ｓ１の増分値が区間Ｓ２の増分値未満の場合は、累積加算順序Ｙを、累積加算順序Ｘと逆順に決定する。
【００７０】
一例として、累積加算順序Ｘを、元ブロックｂの左上の画素を始点とし、元ブロックｂの右下の画素を終点とするラスタスキャン順であるとする。この場合、累積加算順序Ｘの逆順は、元ブロックｂの右下の画素を始点とし、元ブロックｂの左上の画素を終点とするラスタスキャン順となる。
【００７１】
＜第２の決定処理＞
つぎに、参照ブロックｒｂの評価値ＳＡＤが算出されるまでの総処理ステップ数を３分割（ｎ＝３）して、絶対値ｄｉｆｆを累積加算する過程を区間Ｓ１、区間Ｓ２および区間Ｓ３に分割する場合を想定する。
【００７２】
図４は、累積加算値の時間変化を示す説明図（その１）である。図４において、グラフ４１０は、第１動きベクトルＶ１が示す参照ブロックｒｂの評価値ＳＡＤの算出時における絶対値ｄｉｆｆの累積加算値の時間変化例を表す。また、絶対値ｄｉｆｆが累積加算される過程が区間Ｓ１と区間Ｓ２と区間Ｓ３とに分割されている。グラフ４１０では、区間Ｓ１に比べて区間Ｓ３での絶対値ｄｉｆｆの累積加算値の上昇度合いが大きくなっている。なお、区間Ｓ１と区間Ｓ３は同じ間隔である。
【００７３】
この場合、記録部３１０は、例えば、区間Ｓ１における絶対値ｄｉｆｆの増分値と、区間Ｓ３における絶対値ｄｉｆｆの増分値とを記録する。そして、比較部３１１は、第１動きベクトルＶ１が示す参照ブロックｒｂの評価値ＳＡＤの算出時に絶対値ｄｉｆｆが累積加算された過程における区間Ｓ１の増分値（図４中、増分値ｘ１）と区間Ｓ３の増分値（図４中、増分値ｘ２）とを比較する。
【００７４】
ここで、グラフ４２０，４３０は、第１動きベクトルＶ１から特定される参照画像ＲＰ上の探索範囲内の参照ブロックＲＢの評価値ＳＡＤを算出する際に予測される絶対値ｄｉｆｆの累積加算値の時間変化例を表す。具体的には、グラフ４２０は、累積加算順序Ｘと同じ順序で絶対値ｄｉｆｆの累積加算を行った場合に予測される累積加算値の時間変化を表している。処理ステップ数ｓＢは、予測される最小評価値ｍｉｎＳＡＤに達する処理ステップ数である。
【００７５】
また、グラフ４３０は、累積加算順序Ｘと逆の順序で絶対値ｄｉｆｆの累積加算を行った場合に予測される累積加算値の時間変化を表している。処理ステップ数ｓＣは、予測される最小評価値ｍｉｎＳＡＤに達する処理ステップ数である。グラフ４２０とグラフ４３０とを比較すると、グラフ４３０のほうが早い処理ステップ数で最小評価値ｍｉｎＳＡＤに達している。
【００７６】
すなわち、区間Ｓ１の増分値が区間Ｓ３の増分値未満の場合は、参照ブロックＲＢの評価値ＳＡＤの算出時に、累積加算順序Ｘと同じ順序で絶対値ｄｉｆｆを累積加算するよりも累積加算順序Ｘと逆の順序で絶対値ｄｉｆｆを累積加算するほうが、より早い処理ステップ数で最小評価値ｍｉｎＳＡＤに達する可能性が高い。このため、決定部３０５は、区間Ｓ１の増分値が区間Ｓ３の増分値未満の場合は、累積加算順序Ｙを、累積加算順序Ｘと逆順に決定することにしてもよい。
【００７７】
一方、区間Ｓ１の増分値が区間Ｓ３の増分値以上の場合は、参照ブロックＲＢの評価値ＳＡＤの算出時に、累積加算順序Ｘとは逆の順序で絶対値ｄｉｆｆを累積加算するよりも累積加算順序Ｘと同じ順序で絶対値ｄｉｆｆを累積加算するほうが、より早い処理ステップ数で最小評価値ｍｉｎＳＡＤに達する可能性が高い。このため、決定部３０５は、区間Ｓ１の増分値が区間Ｓ３の増分値以上の場合は、累積加算順序Ｙを、累積加算順序Ｘと同順に決定することにしてもよい。
【００７８】
＜第３、第４および第５の決定処理＞
つぎに、参照ブロックｒｂの評価値ＳＡＤが算出されるまでの総処理ステップ数をｎ分割して、絶対値ｄｉｆｆを累積加算する過程を区間Ｓ１〜区間Ｓｎに分割する場合を想定する。
【００７９】
図５は、累積加算値の時間変化を示す説明図（その２）である。図５において、グラフ５１０は、第１動きベクトルＶ１が示す参照ブロックｒｂの評価値ＳＡＤの算出時における絶対値ｄｉｆｆの累積加算値の時間変化例を表す。また、絶対値ｄｉｆｆが累積加算される過程が区間Ｓ１と区間Ｓ２と区間Ｓ３とに等分割されている。
【００８０】
この場合、記録部３１０は、例えば、区間Ｓ１における絶対値ｄｉｆｆの増分値と、区間Ｓ２における絶対値ｄｉｆｆの増分値と、区間Ｓ３における絶対値ｄｉｆｆの増分値とを記録する。そして、比較部３１１は、第１動きベクトルＶ１が示す参照ブロックｒｂの評価値ＳＡＤの算出時に絶対値ｄｉｆｆが累積加算された過程における区間同士の増分値を比較する。
【００８１】
決定部３０５は、比較部３１１によって比較された比較結果に基づいて、区間Ｓ１〜Ｓ３のうちの増分値が最大の区間および増分値が最小の区間を特定する。図５の例では、区間Ｓ１〜Ｓ３のうち、区間Ｓ１の増分値（図５中、増分値ｘ１）が最小となり、区間Ｓ３の増分値（図５中、増分値ｘ３）が最大となる。
【００８２】
ここで、グラフ５２０，５３０，５４０，５５０は、第１動きベクトルＶ１から特定される参照画像ＲＰ上の探索範囲内の参照ブロックＲＢの評価値ＳＡＤを算出する際に予測される絶対値ｄｉｆｆの累積加算値の時間変化例を表す。具体的には、グラフ５２０は、累積加算順序Ｘと同じ順序で絶対値ｄｉｆｆの累積加算を行った場合に予測される累積加算値の時間変化を表している。処理ステップ数ｓＢは、予測される最小評価値ｍｉｎＳＡＤに達する処理ステップ数である。
【００８３】
・第３の決定処理
グラフ５３０は、区間Ｓ１〜Ｓ３のうち増分値が最大となる区間Ｓ３に対応する部分の絶対値ｄｉｆｆを最初に累積加算した場合に予測される累積加算値の時間変化を表している。処理ステップ数ｓＣは、予測される最小評価値ｍｉｎＳＡＤに達する処理ステップ数である。
【００８４】
ここで、グラフ５２０とグラフ５３０とを比較すると、グラフ５３０のほうが早い処理ステップ数で最小評価値ｍｉｎＳＡＤに達している。すなわち、区間Ｓ１〜Ｓ３のうち増分値が最大となる区間Ｓ３に対応する部分の絶対値ｄｉｆｆを最初に累積加算した場合は、より早い処理ステップ数で最小評価値ｍｉｎＳＡＤに達する可能性が高い。
【００８５】
このため、決定部３０５は、累積加算順序Ｙを、区間Ｓ１〜Ｓｎのうちの増分値が最大となる区間に対応する部分の絶対値ｄｉｆｆを最初に累積加算する順序に決定することにしてもよい。図５の例では、決定部３０５は、累積加算順序Ｙを、区間Ｓ３に対応する部分の絶対値ｄｉｆｆを最初に累積加算する順序に決定する。
【００８６】
一例として、ブロックを８×８画素単位のマクロブロックとし、ブロック内の画素群を画素１〜画素６４（左上を始点とするラスタスキャン順に番号を付した場合）とする。この場合、例えば、区間Ｓ１に対応する部分の画素は「画素１〜画素２１」となり、区間Ｓ２に対応する部分の画素は「画素２２〜画素４４」となり、区間Ｓ３に対応する部分の画素は「画素４５〜画素６４」となる。
【００８７】
このため、決定部３０５は、累積加算順序Ｙを、ブロック（元ブロックＢ、参照ブロックＲＢ）内の画素４５〜画素６４の画素間の絶対値ｄｉｆｆを最初に累積加算する順序に決定する。なお、区間Ｓ３に対応する部分の後は、「区間Ｓ１→区間Ｓ２」の順に累積加算を行うことにしてもよく、また、「区間Ｓ２→区間Ｓ１」の順に累積加算を行うことにしてもよい。
【００８８】
・第４の決定処理
また、グラフ５４０は、区間Ｓ１〜Ｓ３のうち増分値が最小となる区間Ｓ１に対応する部分の絶対値ｄｉｆｆを最後に累積加算した場合に予測される累積加算値の時間変化を表している。処理ステップ数ｓＤは、予測される最小評価値ｍｉｎＳＡＤに達する処理ステップ数である。
【００８９】
ここで、グラフ５２０とグラフ５４０とを比較すると、グラフ５４０のほうが早い処理ステップ数で最小評価値ｍｉｎＳＡＤに達している。すなわち、区間Ｓ１〜Ｓ３のうち増分値が最小となる区間Ｓ１に対応する部分の絶対値ｄｉｆｆを最後に累積加算した場合は、より早い処理ステップ数で最小評価値ｍｉｎＳＡＤに達する可能性が高い。
【００９０】
このため、決定部３０５は、累積加算順序Ｙを、区間Ｓ１〜Ｓｎのうちの増分値が最小となる区間に対応する部分の絶対値ｄｉｆｆを最後に累積加算する順序に決定することにしてもよい。図５の例では、決定部３０５は、累積加算順序Ｙを、区間Ｓ１に対応する部分の絶対値ｄｉｆｆを最後に累積加算する順序に決定する。
【００９１】
上述したブロックを８×８画素単位のマクロブロックとする例では、累積加算順序Ｙは、ブロック内の画素１〜画素２１の画素間の絶対値ｄｉｆｆを最後に累積加算する順序となる。なお、区間Ｓ１に対応する部分の前は、「区間Ｓ２→区間Ｓ３」の順に累積加算を行うことにしてもよく、また、「区間Ｓ３→区間Ｓ２」の順に累積加算を行うことにしてもよい。
【００９２】
・第５の決定処理
また、グラフ５５０は、区間Ｓ３に対応する部分の絶対値ｄｉｆｆを最初に累積加算するとともに、区間Ｓ１に対応する部分の絶対値ｄｉｆｆを最後に累積加算した場合に予測される累積加算値の時間変化を表している。処理ステップ数ｓＥは、予測される最小評価値ｍｉｎＳＡＤに達する処理ステップ数である。
【００９３】
ここで、グラフ５２０とグラフ５５０とを比較すると、グラフ５５０のほうが早い処理ステップ数で最小評価値ｍｉｎＳＡＤに達している。すなわち、区間Ｓ１〜Ｓ３のうち、増分値が最大となる区間Ｓ３に対応する部分の絶対値ｄｉｆｆを最初に累積加算するとともに、増分値が最小となる区間Ｓ１に対応する部分の絶対値ｄｉｆｆを最後に累積加算した場合は、より早い処理ステップ数で最小評価値ｍｉｎＳＡＤに達する可能性が高い。
【００９４】
このため、決定部３０５は、累積加算順序Ｙを、区間Ｓ１〜Ｓｎのうち、増分値が最大となる区間に対応する部分の絶対値ｄｉｆｆを最初に累積加算するとともに、増分値が最小となる区間に対応する部分の絶対値ｄｉｆｆを最後に累積加算する順序に決定することにしてもよい。
【００９５】
図５の例では、決定部３０５は、累積加算順序Ｙを、区間Ｓ３に対応する部分の絶対値ｄｉｆｆを最初に累積加算するとともに、区間Ｓ１に対応する部分の絶対値ｄｉｆｆを最後に累積加算する順序に決定する。上述したブロックを８×８画素単位のマクロブロックとする例では、累積加算順序Ｙは、ブロック内の画素４５〜画素６４の画素間の絶対値ｄｉｆｆを最初に累積加算し、画素１〜画素２１の画素間の絶対値ｄｉｆｆを最後に累積加算する順序となる。
【００９６】
（動画処理装置１００の各種処理手順）
つぎに、動画処理装置１００の各種処理手順について説明する。
【００９７】
＜第１決定処理手順＞
まず、動画処理装置１００の第１決定処理手順について説明する。第１決定処理は、参照ブロックｒｂの評価値ＳＡＤの算出時に絶対値ｄｉｆｆを累積加算する過程を２分割した場合の累積加算順序Ｙを決定する処理である。
【００９８】
図６は、動画処理装置１００の第１決定処理手順の一例を示すフローチャートである。図６のフローチャートにおいて、まず、動画処理装置１００は、対象画像ＯＰの縮小画像を生成する（ステップＳ６０１）。つぎに、動画処理装置１００は、参照画像ＲＰの縮小画像を生成する（ステップＳ６０２）。
【００９９】
そして、動画処理装置１００は、対象画像ＯＰの縮小画像から元ブロックｂを選択する（ステップＳ６０３）。つぎに、動画処理装置１００は、第１最小評価値算出処理を実行する（ステップＳ６０４）。なお、第１最小評価値算出処理の具体的な処理手順については、図７を用いて後述する。
【０１００】
そして、動画処理装置１００は、「ｍｉｎＳＡＤ−ｉｎｔｅｒＳＡＤ」が「ｉｎｔｅｒＳＡＤ」より大きいか否かを判断する（ステップＳ６０５）。なお、ｍｉｎＳＡＤは、評価値ＳＡＤの最小評価値である。また、ｉｎｔｅｒＳＡＤは、後述するチェックポイントに達した時点の絶対値ｄｉｆｆの累積加算値であり、区間Ｓ１の絶対値ｄｉｆｆの増分値に相当する。
【０１０１】
ここで、「ｍｉｎＳＡＤ−ｉｎｔｅｒＳＡＤ」が「ｉｎｔｅｒＳＡＤ」以下の場合（ステップＳ６０５：Ｎｏ）、動画処理装置１００は、累積加算順序Ｙを累積加算順序Ｘと同順に決定する（ステップＳ６０６）。一方、「ｍｉｎＳＡＤ−ｉｎｔｅｒＳＡＤ」が「ｉｎｔｅｒＳＡＤ」より大きい場合（ステップＳ６０５：Ｙｅｓ）、動画処理装置１００は、累積加算順序Ｙを累積加算順序Ｘと逆順に決定する（ステップＳ６０７）。
【０１０２】
つぎに、動画処理装置１００は、元ブロックｂと対応付けて、第１動きベクトルＶ１と累積加算順序情報とを出力する（ステップＳ６０８）。なお、第１動きベクトルは、後述する最小評価ベクトルｖｅｃｔｏｒである。また、累積加算順序情報は、累積加算順序Ｙを表す情報である。そして、動画処理装置１００は、対象画像ＯＰの縮小画像から選択していない未選択の元ブロックｂがあるか否かを判断する（ステップＳ６０９）。
【０１０３】
ここで、未選択の元ブロックｂがある場合（ステップＳ６０９：Ｙｅｓ）、動画処理装置１００は、ステップＳ６０３に戻って、対象画像ＯＰの縮小画像から未選択の元ブロックｂを選択する。一方、未選択の元ブロックｂがない場合（ステップＳ６０９：Ｎｏ）、動画処理装置１００は、本フローチャートによる一連の処理を終了する。
【０１０４】
これにより、１段階目の動き検出処理において絶対値ｄｉｆｆを累積加算する過程を２分割した区間Ｓ１，Ｓ２のうち、区間Ｓ１の増分値が区間Ｓ２の増分値以上の場合は、累積加算順序Ｙを累積加算順序Ｘと同順に決定することができる。また、区間Ｓ１の増分値が区間Ｓ２の増分値未満の場合は、累積加算順序Ｙを累積加算順序Ｘと逆順に決定することができる。
【０１０５】
つぎに、図６に示したステップＳ６０４の第１最小評価値算出処理の具体的な処理手順について説明する。
【０１０６】
図７は、第１最小評価値算出処理の具体的処理手順の一例を示すフローチャートである。図７のフローチャートにおいて、まず、動画処理装置１００は、最小評価値ｍｉｎＳＡＤを「ｍｉｎＳＡＤ＝＋∞」で初期化する（ステップＳ７０１）。
【０１０７】
つぎに、動画処理装置１００は、参照画像ＲＰの縮小画像から探索範囲内の参照ブロックｒｂを選択する（ステップＳ７０２）。そして、動画処理装置１００は、参照ブロックｒｂの評価値ＳＡＤを算出する第１評価値算出処理を実行する（ステップＳ７０３）。なお、第１評価値算出処理の具体的な処理手順については、図８を用いて後述する。
【０１０８】
つぎに、動画処理装置１００は、参照ブロックｒｂの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ未満か否かを判断する（ステップＳ７０４）。ここで、参照ブロックｒｂの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ以上の場合（ステップＳ７０４：Ｎｏ）、動画処理装置１００は、ステップＳ７０８に移行する。
【０１０９】
一方、参照ブロックｒｂの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ未満の場合（ステップＳ７０４：Ｙｅｓ）、動画処理装置１００は、最小評価値ｍｉｎＳＡＤを参照ブロックｒｂの評価値ＳＡＤに更新する（ステップＳ７０５）。つぎに、動画処理装置１００は、最小評価ベクトルｖｅｃｔｏｒを現在の候補ベクトルに更新する（ステップＳ７０６）。
【０１１０】
そして、動画処理装置１００は、チェックポイントでの累積加算値ｉｎｔｅｒＳＡＤを累積加算値ｔｍｐ＿ｉｎｔｅｒＳＡＤに更新する（ステップＳ７０７）。なお、累積加算値ｔｍｐ＿ｉｎｔｅｒＳＡＤについては、図８を用いて後述する。つぎに、動画処理装置１００は、参照画像ＲＰの縮小画像から選択されていない探索範囲内の参照ブロックｒｂがあるか否かを判断する（ステップＳ７０８）。
【０１１１】
ここで、未選択の参照ブロックｒｂがある場合（ステップＳ７０８：Ｙｅｓ）、動画処理装置１００は、ステップＳ７０２に戻って、参照画像ＲＰの縮小画像から探索範囲内の未選択の参照ブロックｒｂを選択する。一方、未選択の参照ブロックｒｂがない場合（ステップＳ７０８：Ｎｏ）、動画処理装置１００は、第１最小評価値算出処理を呼び出したステップに戻る。
【０１１２】
これにより、最小評価値ｍｉｎＳＡＤに対応する参照ブロックｒｂの候補ベクトルを第１動きベクトルＶ１として検出することができる。また、最小評価値ｍｉｎＳＡＤの算出時におけるチェックポイントでの累積加算値を記録することができる。
【０１１３】
つぎに、図７に示したステップＳ７０３の第１評価値算出処理の具体的な処理手順について説明する。
【０１１４】
図８は、第１評価値算出処理の具体的処理手順の一例を示すフローチャートである。図８のフローチャートにおいて、まず、動画処理装置１００は、評価値ＳＡＤの算出時に絶対値ｄｉｆｆを累積加算する過程を２分割するチェックポイントを特定する（ステップＳ８０１）。なお、チェックポイントは、例えば、処理ステップ数（または画素数）によって特定される。
【０１１５】
つぎに、動画処理装置１００は、評価値ＳＡＤを「ＳＡＤ＝０」で初期化する（ステップＳ８０２）。そして、動画処理装置１００は、累積加算順序Ｘに従って、元ブロックｂ内の画素を選択する（ステップＳ８０３）。つぎに、動画処理装置１００は、累積加算順序Ｘに従って、参照ブロックｒｂ内の画素を選択する（ステップＳ８０４）。
【０１１６】
そして、動画処理装置１００は、選択した画素間の画素値の差の絶対値ｄｉｆｆを算出し（ステップＳ８０５）、評価値ＳＡＤに絶対値ｄｉｆｆを加算する（ステップＳ８０６）。つぎに、動画処理装置１００は、現在の処理ステップ数がチェックポイントか否かを判断する（ステップＳ８０７）。
【０１１７】
ここで、現在の処理ステップ数がチェックポイントではない場合（ステップＳ８０７：Ｎｏ）、動画処理装置１００は、ステップＳ８０９に移行する。一方、現在の処理ステップ数がチェックポイントの場合（ステップＳ８０７：Ｙｅｓ）、動画処理装置１００は、累積加算値ｔｍｐ＿ｉｎｔｅｒＳＡＤを評価値ＳＡＤに更新する（ステップＳ８０８）。
【０１１８】
そして、動画処理装置１００は、元ブロックｂから選択されていない未選択の画素があるか否かを判断する（ステップＳ８０９）。ここで、未選択の画素がある場合（ステップＳ８０９：Ｙｅｓ）、動画処理装置１００は、ステップＳ８０３に戻って、元ブロックｂ内の未選択の画素を選択する。一方、未選択の画素がない場合（ステップＳ８０９：Ｎｏ）、動画処理装置１００は、第１評価値算出処理を呼び出したステップに戻る。
【０１１９】
これにより、参照ブロックｒｂごとの評価値ＳＡＤを算出するとともに、評価値ＳＡＤの算出時におけるチェックポイントでの累積加算値（区間Ｓ１の絶対値ｄｉｆｆの増分値）を記録することができる。
【０１２０】
＜第２決定処理手順＞
つぎに、動画処理装置１００の第２決定処理手順について説明する。第２決定処理は、参照ブロックｒｂの評価値ＳＡＤの算出時に絶対値ｄｉｆｆを累積加算する過程を３分割した場合の累積加算順序Ｙを決定する処理である。
【０１２１】
図９は、動画処理装置１００の第２決定処理手順の一例を示すフローチャートである。図９のフローチャートにおいて、まず、動画処理装置１００は、対象画像ＯＰの縮小画像を生成する（ステップＳ９０１）。つぎに、動画処理装置１００は、参照画像ＲＰの縮小画像を生成する（ステップＳ９０２）。
【０１２２】
そして、動画処理装置１００は、対象画像ＯＰの縮小画像から元ブロックｂを選択する（ステップＳ９０３）。つぎに、動画処理装置１００は、第２最小評価値算出処理を実行する（ステップＳ９０４）。なお、第２最小評価値算出処理の具体的な処理手順については、図１０を用いて後述する。
【０１２３】
そして、動画処理装置１００は、「ｍｉｎＳＡＤ−ｉｎｔｅｒＳＡＤ２」が「ｉｎｔｅｒＳＡＤ１」より大きいか否かを判断する（ステップＳ９０５）。なお、ｉｎｔｅｒＳＡＤ１は、後述する第１のチェックポイントに達した時点の絶対値ｄｉｆｆの累積加算値であり、区間Ｓ１の絶対値ｄｉｆｆの増分値に相当する。また、ｉｎｔｅｒＳＡＤ２は、後述する第２のチェックポイントに達した時点の絶対値ｄｉｆｆの累積加算値であり、区間Ｓ１の絶対値ｄｉｆｆの増分値と区間Ｓ２の絶対値ｄｉｆｆの増分値とを足し合わせたものに相当する。
【０１２４】
ここで、「ｍｉｎＳＡＤ−ｉｎｔｅｒＳＡＤ２」が「ｉｎｔｅｒＳＡＤ１」以下の場合（ステップＳ９０５：Ｎｏ）、動画処理装置１００は、累積加算順序Ｙを累積加算順序Ｘと同順に決定する（ステップＳ９０６）。一方、「ｍｉｎＳＡＤ−ｉｎｔｅｒＳＡＤ２」が「ｉｎｔｅｒＳＡＤ１」より大きい場合（ステップＳ９０５：Ｙｅｓ）、動画処理装置１００は、累積加算順序Ｙを累積加算順序Ｘと逆順に決定する（ステップＳ９０７）。
【０１２５】
つぎに、動画処理装置１００は、元ブロックｂと対応付けて、第１動きベクトルＶ１と累積加算順序情報とを出力する（ステップＳ９０８）。そして、動画処理装置１００は、対象画像ＯＰの縮小画像から選択していない未選択の元ブロックｂがあるか否かを判断する（ステップＳ９０９）。
【０１２６】
ここで、未選択の元ブロックｂがある場合（ステップＳ９０９：Ｙｅｓ）、動画処理装置１００は、ステップＳ９０３に戻って、対象画像ＯＰの縮小画像から未選択の元ブロックｂを選択する。一方、未選択の元ブロックｂがない場合（ステップＳ９０９：Ｎｏ）、動画処理装置１００は、本フローチャートによる一連の処理を終了する。
【０１２７】
これにより、１段階目の動き検出処理において絶対値ｄｉｆｆを累積加算する過程を３分割した区間Ｓ１〜Ｓ３のうち、区間Ｓ１の増分値が区間Ｓ３の増分値未満の場合は、累積加算順序Ｙを累積加算順序Ｘと逆順に決定することができる。また、区間Ｓ１の増分値が区間Ｓ３の増分値以上の場合は、累積加算順序Ｙを累積加算順序Ｘと同順に決定することができる。
【０１２８】
つぎに、図９に示したステップＳ９０４の第２最小評価値算出処理の具体的な処理手順について説明する。
【０１２９】
図１０は、第２最小評価値算出処理の具体的処理手順の一例を示すフローチャートである。図１０のフローチャートにおいて、まず、動画処理装置１００は、最小評価値ｍｉｎＳＡＤを「ｍｉｎＳＡＤ＝＋∞」で初期化する（ステップＳ１００１）。
【０１３０】
つぎに、動画処理装置１００は、参照画像ＲＰの縮小画像から探索範囲内の参照ブロックｒｂを選択する（ステップＳ１００２）。そして、動画処理装置１００は、参照ブロックｒｂの評価値ＳＡＤを算出する第２評価値算出処理を実行する（ステップＳ１００３）。なお、第２評価値算出処理の具体的な処理手順については、図１１を用いて後述する。
【０１３１】
つぎに、動画処理装置１００は、参照ブロックｒｂの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ未満か否かを判断する（ステップＳ１００４）。ここで、参照ブロックｒｂの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ以上の場合（ステップＳ１００４：Ｎｏ）、動画処理装置１００は、ステップＳ１００９に移行する。
【０１３２】
一方、参照ブロックｒｂの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ未満の場合（ステップＳ１００４：Ｙｅｓ）、動画処理装置１００は、最小評価値ｍｉｎＳＡＤを参照ブロックｒｂの評価値ＳＡＤに更新する（ステップＳ１００５）。つぎに、動画処理装置１００は、最小評価ベクトルｖｅｃｔｏｒを現在の候補ベクトルに更新する（ステップＳ１００６）。
【０１３３】
そして、動画処理装置１００は、第１のチェックポイントでの累積加算値ｉｎｔｅｒＳＡＤ１を累積加算値ｔｍｐ＿ｉｎｔｅｒＳＡＤ１に更新する（ステップＳ１００７）。つぎに、動画処理装置１００は、第２のチェックポイントでの累積加算値ｉｎｔｅｒＳＡＤ２を累積加算値ｔｍｐ＿ｉｎｔｅｒＳＡＤ２に更新する（ステップＳ１００８）。なお、累積加算値ｔｍｐ＿ｉｎｔｅｒＳＡＤ１および累積加算値ｔｍｐ＿ｉｎｔｅｒＳＡＤ２については、図１１を用いて後述する。
【０１３４】
そして、動画処理装置１００は、参照画像ＲＰの縮小画像から選択されていない探索範囲内の参照ブロックｒｂがあるか否かを判断する（ステップＳ１００９）。ここで、未選択の参照ブロックｒｂがある場合（ステップＳ１００９：Ｙｅｓ）、動画処理装置１００は、ステップＳ１００２に戻って、参照画像ＲＰの縮小画像から探索範囲内の未選択の参照ブロックｒｂを選択する。一方、未選択の参照ブロックｒｂがない場合（ステップＳ１００９：Ｎｏ）、動画処理装置１００は、第２最小評価値算出処理を呼び出したステップに戻る。
【０１３５】
これにより、最小評価値ｍｉｎＳＡＤに対応する参照ブロックｒｂの候補ベクトルを第１動きベクトルＶ１として検出することができる。また、最小評価値ｍｉｎＳＡＤの算出時における第１および第２のチェックポイントでの累積加算値を記録することができる。
【０１３６】
つぎに、図１０に示したステップＳ１００３の第２評価値算出処理の具体的な処理手順について説明する。
【０１３７】
図１１は、第２評価値算出処理の具体的処理手順の一例を示すフローチャートである。図１１のフローチャートにおいて、まず、動画処理装置１００は、評価値ＳＡＤの算出時に絶対値ｄｉｆｆを累積加算する過程を３分割する第１および第２のチェックポイントを特定する（ステップＳ１１０１）。
【０１３８】
つぎに、動画処理装置１００は、評価値ＳＡＤを「ＳＡＤ＝０」で初期化する（ステップＳ１１０２）。そして、動画処理装置１００は、累積加算順序Ｘに従って、元ブロックｂ内の画素を選択する（ステップＳ１１０３）。つぎに、動画処理装置１００は、累積加算順序Ｘに従って、参照ブロックｒｂ内の画素を選択する（ステップＳ１１０４）。
【０１３９】
そして、動画処理装置１００は、選択した画素間の画素値の差の絶対値ｄｉｆｆを算出し（ステップＳ１１０５）、評価値ＳＡＤに絶対値ｄｉｆｆを加算する（ステップＳ１１０６）。つぎに、動画処理装置１００は、現在の処理ステップ数が第１のチェックポイントか否かを判断する（ステップＳ１１０７）。
【０１４０】
ここで、現在の処理ステップ数が第１のチェックポイントではない場合（ステップＳ１１０７：Ｎｏ）、動画処理装置１００は、ステップＳ１１０９に移行する。一方、現在の処理ステップ数が第１のチェックポイントの場合（ステップＳ１１０７：Ｙｅｓ）、動画処理装置１００は、累積加算値ｔｍｐ＿ｉｎｔｅｒＳＡＤ１を評価値ＳＡＤに更新する（ステップＳ１１０８）。
【０１４１】
つぎに、動画処理装置１００は、現在の処理ステップ数が第２のチェックポイントか否かを判断する（ステップＳ１１０９）。ここで、現在の処理ステップ数が第２のチェックポイントではない場合（ステップＳ１１０９：Ｎｏ）、動画処理装置１００は、ステップＳ１１１１に移行する。一方、現在の処理ステップ数が第２のチェックポイントの場合（ステップＳ１１０９：Ｙｅｓ）、動画処理装置１００は、累積加算値ｔｍｐ＿ｉｎｔｅｒＳＡＤ２を評価値ＳＡＤに更新する（ステップＳ１１１０）。
【０１４２】
そして、動画処理装置１００は、元ブロックｂから選択されていない未選択の画素があるか否かを判断する（ステップＳ１１１１）。ここで、未選択の画素がある場合（ステップＳ１１１１：Ｙｅｓ）、動画処理装置１００は、ステップＳ１１０３に戻って、元ブロックｂ内の未選択の画素を選択する。一方、未選択の画素がない場合（ステップＳ１１１１：Ｎｏ）、動画処理装置１００は、第２評価値算出処理を呼び出したステップに戻る。
【０１４３】
これにより、参照ブロックｒｂごとの評価値ＳＡＤを算出するとともに、評価値ＳＡＤの算出時における第１および第２のチェックポイントの累積加算値を記録することができる。
【０１４４】
＜第３決定処理手順＞
つぎに、動画処理装置１００の第３決定処理手順について説明する。第３決定処理は、参照ブロックｒｂの評価値ＳＡＤの算出時に絶対値ｄｉｆｆを累積加算する過程をｎ分割した場合の累積加算順序Ｙを決定する処理である。
【０１４５】
図１２は、動画処理装置１００の第３決定処理手順の一例を示すフローチャートである。図１２のフローチャートにおいて、まず、動画処理装置１００は、対象画像ＯＰの縮小画像を生成する（ステップＳ１２０１）。つぎに、動画処理装置１００は、参照画像ＲＰの縮小画像を生成する（ステップＳ１２０２）。
【０１４６】
そして、動画処理装置１００は、対象画像ＯＰの縮小画像から元ブロックｂを選択する（ステップＳ１２０３）。つぎに、動画処理装置１００は、第３最小評価値算出処理を実行する（ステップＳ１２０４）。なお、第３最小評価値算出処理の具体的な処理手順については、図１３を用いて後述する。
【０１４７】
そして、動画処理装置１００は、累積加算順序Ｙを最大増分区間に対応する部分の絶対値ｄｉｆｆを最初に累積加算する順序に決定する（ステップＳ１２０５）。つぎに、動画処理装置１００は、元ブロックｂと対応付けて、第１動きベクトルＶ１と累積加算順序情報とを出力する（ステップＳ１２０６）。
【０１４８】
そして、動画処理装置１００は、対象画像ＯＰの縮小画像から選択していない未選択の元ブロックｂがあるか否かを判断する（ステップＳ１２０７）。ここで、未選択の元ブロックｂがある場合（ステップＳ１２０７：Ｙｅｓ）、動画処理装置１００は、ステップＳ１２０３に戻って、対象画像ＯＰの縮小画像から未選択の元ブロックｂを選択する。一方、未選択の元ブロックｂがない場合（ステップＳ１２０７：Ｎｏ）、動画処理装置１００は、本フローチャートによる一連の処理を終了する。
【０１４９】
これにより、累積加算順序Ｙを、１段階目の動き検出処理において絶対値ｄｉｆｆを累積加算する過程をｎ分割した区間Ｓ１〜Ｓｎのうちの増分値が最大となる最大増分区間に対応する部分を最初に累積加算する順序に決定することができる。
【０１５０】
つぎに、図１２に示したステップＳ１２０４の第３最小評価値算出処理の具体的な処理手順について説明する。
【０１５１】
図１３は、第３最小評価値算出処理の具体的処理手順の一例を示すフローチャートである。図１３のフローチャートにおいて、まず、動画処理装置１００は、最小評価値ｍｉｎＳＡＤを「ｍｉｎＳＡＤ＝＋∞」で初期化する（ステップＳ１３０１）。
【０１５２】
つぎに、動画処理装置１００は、参照画像ＲＰの縮小画像から探索範囲内の参照ブロックｒｂを選択する（ステップＳ１３０２）。そして、動画処理装置１００は、評価値ＳＡＤを「ＳＡＤ＝０」で初期化する（ステップＳ１３０３）。つぎに、動画処理装置１００は、直前のチェックポイントの累積加算値を現在の評価値に設定する（ステップＳ１３０４）。
【０１５３】
つぎに、動画処理装置１００は、最大増分ｍａｘｉｎｃを「ｍａｘｉｎｃ＝０」で初期化する（ステップＳ１３０５）。そして、動画処理装置１００は、参照ブロックｒｂの評価値ＳＡＤを算出する第３評価値算出処理を実行する（ステップＳ１３０６）。なお、第３評価値算出処理の具体的な処理手順については、図１４を用いて後述する。
【０１５４】
つぎに、動画処理装置１００は、参照ブロックｒｂの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ未満か否かを判断する（ステップＳ１３０７）。ここで、参照ブロックｒｂの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ以上の場合（ステップＳ１３０７：Ｎｏ）、動画処理装置１００は、ステップＳ１３１１に移行する。
【０１５５】
一方、参照ブロックｒｂの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ未満の場合（ステップＳ１３０７：Ｙｅｓ）、動画処理装置１００は、最小評価値ｍｉｎＳＡＤを参照ブロックｒｂの評価値ＳＡＤに更新する（ステップＳ１３０８）。つぎに、動画処理装置１００は、最小評価ベクトルｖｅｃｔｏｒを現在の候補ベクトルに更新する（ステップＳ１３０９）。
【０１５６】
そして、動画処理装置１００は、最大増分区間ｉｎｔｅｒｖａｌを区間ｔｍｐ＿ｉｎｔｅｒｖａｌに更新する（ステップＳ１３１０）。なお、最大増分区間ｉｎｔｅｒｖａｌおよび区間ｔｍｐ＿ｉｎｔｅｒｖａｌについては、図１４を用いて後述する。つぎに、動画処理装置１００は、参照画像ＲＰの縮小画像から選択されていない探索範囲内の参照ブロックｒｂがあるか否かを判断する（ステップＳ１３１１）。
【０１５７】
ここで、未選択の参照ブロックｒｂがある場合（ステップＳ１３１１：Ｙｅｓ）、動画処理装置１００は、ステップＳ１３０２に戻って、参照画像ＲＰの縮小画像から探索範囲内の未選択の参照ブロックｒｂを選択する。一方、未選択の参照ブロックｒｂがない場合（ステップＳ１３１１：Ｎｏ）、動画処理装置１００は、第３最小評価値算出処理を呼び出したステップに戻る。
【０１５８】
これにより、最小評価値ｍｉｎＳＡＤに対応する参照ブロックｒｂの候補ベクトルを第１動きベクトルＶ１として検出することができる。また、最小評価値ｍｉｎＳＡＤの算出時における最大増分区間を記録することができる。
【０１５９】
つぎに、図１３に示したステップＳ１３０６の第３評価値算出処理の具体的な処理手順について説明する。
【０１６０】
図１４は、第３評価値算出処理の具体的処理手順の一例を示すフローチャートである。図１４のフローチャートにおいて、まず、動画処理装置１００は、評価値ＳＡＤの算出時に絶対値ｄｉｆｆを累積加算する過程をｎ分割するチェックポイントを特定する（ステップＳ１４０１）。
【０１６１】
そして、動画処理装置１００は、累積加算順序Ｘに従って、元ブロックｂ内の画素を選択する（ステップＳ１４０２）。つぎに、動画処理装置１００は、累積加算順序Ｘに従って、参照ブロックｒｂ内の画素を選択する（ステップＳ１４０３）。
【０１６２】
そして、動画処理装置１００は、選択した画素間の画素値の差の絶対値ｄｉｆｆを算出し（ステップＳ１４０４）、評価値ＳＡＤに絶対値ｄｉｆｆを加算する（ステップＳ１４０５）。つぎに、動画処理装置１００は、現在の処理ステップ数がチェックポイントか否かを判断する（ステップＳ１４０６）。
【０１６３】
ここで、現在の処理ステップ数がチェックポイントではない場合（ステップＳ１４０６：Ｎｏ）、動画処理装置１００は、ステップＳ１４１２に移行する。一方、現在の処理ステップ数がチェックポイントの場合（ステップＳ１４０６：Ｙｅｓ）、動画処理装置１００は、評価値ＳＡＤから現在の評価値ｐｒｅｖＳＡＤを減算することにより増分値ｉｎｃを算出する（ステップＳ１４０７）。
【０１６４】
つぎに、動画処理装置１００は、増分値ｉｎｃが最大増分ｍａｘｉｎｃより大きいか否かを判断する（ステップＳ１４０８）。ここで、増分値ｉｎｃが最大増分ｍａｘｉｎｃ以下の場合（ステップＳ１４０８：Ｎｏ）、動画処理装置１００は、ステップＳ１４１１に移行する。
【０１６５】
一方、増分値ｉｎｃが最大増分ｍａｘｉｎｃより大きい場合（ステップＳ１４０８：Ｙｅｓ）、動画処理装置１００は、最大増分ｍａｘｉｎｃを増分値ｉｎｃに更新する（ステップＳ１４０９）。そして、動画処理装置１００は、現在の区間を区間ｔｍｐ＿ｉｎｔｅｒｖａｌとして記録する（ステップＳ１４１０）。
【０１６６】
つぎに、動画処理装置１００は、直前のチェックポイントの累積加算値を現在の評価値ｐｒｅｖＳＡＤに設定する（ステップＳ１４１１）。そして、動画処理装置１００は、元ブロックｂから選択されていない未選択の画素があるか否かを判断する（ステップＳ１４１２）。
【０１６７】
ここで、未選択の画素がある場合（ステップＳ１４１２：Ｙｅｓ）、動画処理装置１００は、ステップＳ１４０２に戻って、元ブロックｂ内の未選択の画素を選択する。一方、未選択の画素がない場合（ステップＳ１４１２：Ｎｏ）、動画処理装置１００は、第３評価値算出処理を呼び出したステップに戻る。
【０１６８】
これにより、参照ブロックｒｂごとの評価値ＳＡＤを算出するとともに、評価値ＳＡＤの算出時における最大増分区間を記録することができる。
【０１６９】
＜第４決定処理手順＞
つぎに、動画処理装置１００の第４決定処理手順について説明する。第４決定処理は、参照ブロックｒｂの評価値ＳＡＤの算出時に絶対値ｄｉｆｆを累積加算する過程をｎ分割した場合の累積加算順序Ｙを決定する処理である。
【０１７０】
図１５は、動画処理装置１００の第４決定処理手順の一例を示すフローチャートである。図１５のフローチャートにおいて、まず、動画処理装置１００は、対象画像ＯＰの縮小画像を生成する（ステップＳ１５０１）。つぎに、動画処理装置１００は、参照画像ＲＰの縮小画像を生成する（ステップＳ１５０２）。
【０１７１】
そして、動画処理装置１００は、対象画像ＯＰの縮小画像から元ブロックｂを選択する（ステップＳ１５０３）。つぎに、動画処理装置１００は、第４最小評価値算出処理を実行する（ステップＳ１５０４）。なお、第４最小評価値算出処理の具体的な処理手順については、図１６を用いて後述する。
【０１７２】
そして、動画処理装置１００は、累積加算順序Ｙを最小増分区間に対応する部分の絶対値ｄｉｆｆを最後に累積加算する順序に決定する（ステップＳ１５０５）。つぎに、動画処理装置１００は、元ブロックｂと対応付けて、第１動きベクトルＶ１と累積加算順序情報とを出力する（ステップＳ１５０６）。
【０１７３】
そして、動画処理装置１００は、対象画像ＯＰの縮小画像から選択していない未選択の元ブロックｂがあるか否かを判断する（ステップＳ１５０７）。ここで、未選択の元ブロックｂがある場合（ステップＳ１５０７：Ｙｅｓ）、動画処理装置１００は、ステップＳ１５０３に戻って、対象画像ＯＰの縮小画像から未選択の元ブロックｂを選択する。一方、未選択の元ブロックｂがない場合（ステップＳ１５０７：Ｎｏ）、動画処理装置１００は、本フローチャートによる一連の処理を終了する。
【０１７４】
これにより、累積加算順序Ｙを、１段階目の動き検出処理において絶対値ｄｉｆｆを累積加算する過程をｎ分割した区間Ｓ１〜Ｓｎのうちの増分値が最小となる最小増分区間に対応する部分を最後に累積加算する順序に決定することができる。
【０１７５】
つぎに、図１５に示したステップＳ１５０４の第４最小評価値算出処理の具体的な処理手順について説明する。
【０１７６】
図１６は、第４最小評価値算出処理の具体的処理手順の一例を示すフローチャートである。図１６のフローチャートにおいて、まず、動画処理装置１００は、最小評価値ｍｉｎＳＡＤを「ｍｉｎＳＡＤ＝＋∞」で初期化する（ステップＳ１６０１）。
【０１７７】
つぎに、動画処理装置１００は、参照画像ＲＰの縮小画像から探索範囲内の参照ブロックｒｂを選択する（ステップＳ１６０２）。そして、動画処理装置１００は、評価値ＳＡＤを「ＳＡＤ＝０」で初期化する（ステップＳ１６０３）。つぎに、動画処理装置１００は、直前のチェックポイントの累積加算値を現在の評価値に設定する（ステップＳ１６０４）。
【０１７８】
つぎに、動画処理装置１００は、最小増分ｍｉｎｉｎｃを「ｍｉｎｉｎｃ＝＋∞」で初期化する（ステップＳ１６０５）。そして、動画処理装置１００は、参照ブロックｒｂの評価値ＳＡＤを算出する第４評価値算出処理を実行する（ステップＳ１６０６）。なお、第４評価値算出処理の具体的な処理手順については、図１７を用いて後述する。
【０１７９】
つぎに、動画処理装置１００は、参照ブロックｒｂの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ未満か否かを判断する（ステップＳ１６０７）。ここで、参照ブロックｒｂの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ以上の場合（ステップＳ１６０７：Ｎｏ）、動画処理装置１００は、ステップＳ１６１１に移行する。
【０１８０】
一方、参照ブロックｒｂの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ未満の場合（ステップＳ１６０７：Ｙｅｓ）、動画処理装置１００は、最小評価値ｍｉｎＳＡＤを参照ブロックｒｂの評価値ＳＡＤに更新する（ステップＳ１６０８）。つぎに、動画処理装置１００は、最小評価ベクトルｖｅｃｔｏｒを現在の候補ベクトルに更新する（ステップＳ１６０９）。
【０１８１】
そして、動画処理装置１００は、最小増分区間ｉｎｔｅｒｖａｌを区間ｔｍｐ＿ｉｎｔｅｒｖａｌに更新する（ステップＳ１６１０）。なお、最小増分区間ｉｎｔｅｒｖａｌおよび区間ｔｍｐ＿ｉｎｔｅｒｖａｌについては、図１７を用いて後述する。つぎに、動画処理装置１００は、参照画像ＲＰの縮小画像から選択されていない探索範囲内の参照ブロックｒｂがあるか否かを判断する（ステップＳ１６１１）。
【０１８２】
ここで、未選択の参照ブロックｒｂがある場合（ステップＳ１６１１：Ｙｅｓ）、動画処理装置１００は、ステップＳ１６０２に戻って、参照画像ＲＰの縮小画像から探索範囲内の未選択の参照ブロックｒｂを選択する。一方、未選択の参照ブロックｒｂがない場合（ステップＳ１６１１：Ｎｏ）、動画処理装置１００は、第４最小評価値算出処理を呼び出したステップに戻る。
【０１８３】
これにより、最小評価値ｍｉｎＳＡＤに対応する参照ブロックｒｂの候補ベクトルを第１動きベクトルＶ１として検出することができる。また、最小評価値ｍｉｎＳＡＤの算出時における最小増分区間を記録することができる。
【０１８４】
つぎに、図１６に示したステップＳ１６０６の第４評価値算出処理の具体的な処理手順について説明する。
【０１８５】
図１７は、第４評価値算出処理の具体的処理手順の一例を示すフローチャートである。図１７のフローチャートにおいて、まず、動画処理装置１００は、評価値ＳＡＤの算出時に絶対値ｄｉｆｆを累積加算する過程をｎ分割するチェックポイントを特定する（ステップＳ１７０１）。
【０１８６】
そして、動画処理装置１００は、累積加算順序Ｘに従って、元ブロックｂ内の画素を選択する（ステップＳ１７０２）。つぎに、動画処理装置１００は、累積加算順序Ｘに従って、参照ブロックｒｂ内の画素を選択する（ステップＳ１７０３）。
【０１８７】
そして、動画処理装置１００は、選択した画素間の画素値の差の絶対値ｄｉｆｆを算出し（ステップＳ１７０４）、評価値ＳＡＤに絶対値ｄｉｆｆを加算する（ステップＳ１７０５）。つぎに、動画処理装置１００は、現在の処理ステップ数がチェックポイントか否かを判断する（ステップＳ１７０６）。
【０１８８】
ここで、現在の処理ステップ数がチェックポイントではない場合（ステップＳ１７０６：Ｎｏ）、動画処理装置１００は、ステップＳ１７１２に移行する。一方、現在の処理ステップ数がチェックポイントの場合（ステップＳ１７０６：Ｙｅｓ）、動画処理装置１００は、評価値ＳＡＤから現在の評価値ｐｒｅｖＳＡＤを減算することにより増分値ｉｎｃを算出する（ステップＳ１７０７）。
【０１８９】
つぎに、動画処理装置１００は、増分値ｉｎｃが最小増分ｍｉｎｉｎｃ未満か否かを判断する（ステップＳ１７０８）。ここで、増分値ｉｎｃが最小増分ｍｉｎｉｎｃ以上の場合（ステップＳ１７０８：Ｎｏ）、動画処理装置１００は、ステップＳ１７１１に移行する。
【０１９０】
一方、増分値ｉｎｃが最小増分ｍｉｎｉｎｃ未満の場合（ステップＳ１７０８：Ｙｅｓ）、動画処理装置１００は、最小増分ｍｉｎｉｎｃを増分値ｉｎｃに更新する（ステップＳ１７０９）。そして、動画処理装置１００は、現在の区間を区間ｔｍｐ＿ｉｎｔｅｒｖａｌとして記録する（ステップＳ１７１０）。
【０１９１】
つぎに、動画処理装置１００は、直前のチェックポイントの累積加算値を現在の評価値ｐｒｅｖＳＡＤに設定する（ステップＳ１７１１）。そして、動画処理装置１００は、元ブロックｂから選択されていない未選択の画素があるか否かを判断する（ステップＳ１７１２）。
【０１９２】
ここで、未選択の画素がある場合（ステップＳ１７１２：Ｙｅｓ）、動画処理装置１００は、ステップＳ１７０２に戻って、元ブロックｂ内の未選択の画素を選択する。一方、未選択の画素がない場合（ステップＳ１７１２：Ｎｏ）、動画処理装置１００は、第４評価値算出処理を呼び出したステップに戻る。
【０１９３】
これにより、参照ブロックｒｂごとの評価値ＳＡＤを算出するとともに、評価値ＳＡＤの算出時における最小増分区間を記録することができる。
【０１９４】
＜第５決定処理手順＞
つぎに、動画処理装置１００の第５決定処理手順について説明する。第５決定処理は、参照ブロックｒｂの評価値ＳＡＤの算出時に絶対値ｄｉｆｆを累積加算する過程をｎ分割した場合の累積加算順序Ｙを決定する処理である。
【０１９５】
図１８は、動画処理装置１００の第５決定処理手順の一例を示すフローチャートである。図１８のフローチャートにおいて、まず、動画処理装置１００は、対象画像ＯＰの縮小画像を生成する（ステップＳ１８０１）。つぎに、動画処理装置１００は、参照画像ＲＰの縮小画像を生成する（ステップＳ１８０２）。
【０１９６】
そして、動画処理装置１００は、対象画像ＯＰの縮小画像から元ブロックｂを選択する（ステップＳ１８０３）。つぎに、動画処理装置１００は、第５最小評価値算出処理を実行する（ステップＳ１８０４）。なお、第５最小評価値算出処理の具体的な処理手順については、図１９を用いて後述する。
【０１９７】
そして、動画処理装置１００は、累積加算順序Ｙを、最大増分区間に対応する部分の絶対値ｄｉｆｆを最初に累積加算するとともに、最小増分区間に対応する部分の絶対値ｄｉｆｆを最後に累積加算する順序に決定する（ステップＳ１８０５）。つぎに、動画処理装置１００は、元ブロックｂと対応付けて、第１動きベクトルＶ１と累積加算順序情報とを出力する（ステップＳ１８０６）。
【０１９８】
そして、動画処理装置１００は、対象画像ＯＰの縮小画像から選択していない未選択の元ブロックｂがあるか否かを判断する（ステップＳ１８０７）。ここで、未選択の元ブロックｂがある場合（ステップＳ１８０７：Ｙｅｓ）、動画処理装置１００は、ステップＳ１８０３に戻って、対象画像ＯＰの縮小画像から未選択の元ブロックｂを選択する。一方、未選択の元ブロックｂがない場合（ステップＳ１８０７：Ｎｏ）、動画処理装置１００は、本フローチャートによる一連の処理を終了する。
【０１９９】
これにより、累積加算順序Ｙを、区間Ｓ１〜Ｓｎのうち、増分値が最大となる最大増分区間に対応する部分を最初に累積加算するとともに、増分値が最小となる最小増分区間に対応する部分を最後に累積加算する順序に決定することができる。
【０２００】
つぎに、図１８に示したステップＳ１８０４の第５最小評価値算出処理の具体的な処理手順について説明する。
【０２０１】
図１９は、第５最小評価値算出処理の具体的処理手順の一例を示すフローチャートである。図１９のフローチャートにおいて、まず、動画処理装置１００は、最小評価値ｍｉｎＳＡＤを「ｍｉｎＳＡＤ＝＋∞」で初期化する（ステップＳ１９０１）。
【０２０２】
つぎに、動画処理装置１００は、参照画像ＲＰの縮小画像から探索範囲内の参照ブロックｒｂを選択する（ステップＳ１９０２）。そして、動画処理装置１００は、評価値ＳＡＤを「ＳＡＤ＝０」で初期化する（ステップＳ１９０３）。つぎに、動画処理装置１００は、直前のチェックポイントの累積加算値を現在の評価値に設定する（ステップＳ１９０４）。
【０２０３】
つぎに、動画処理装置１００は、最大増分ｍａｘｉｎｃを「ｍａｘｉｎｃ＝０」で初期化する（ステップＳ１９０５）。つぎに、動画処理装置１００は、最小増分ｍｉｎｉｎｃを「ｍｉｎｉｎｃ＝＋∞」で初期化する（ステップＳ１９０６）。そして、動画処理装置１００は、参照ブロックｒｂの評価値ＳＡＤを算出する第５評価値算出処理を実行する（ステップＳ１９０７）。なお、第５評価値算出処理の具体的な処理手順については、図２０を用いて後述する。
【０２０４】
つぎに、動画処理装置１００は、参照ブロックｒｂの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ未満か否かを判断する（ステップＳ１９０８）。ここで、参照ブロックｒｂの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ以上の場合（ステップＳ１９０８：Ｎｏ）、動画処理装置１００は、ステップＳ１９１３に移行する。
【０２０５】
一方、参照ブロックｒｂの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ未満の場合（ステップＳ１９０８：Ｙｅｓ）、動画処理装置１００は、最小評価値ｍｉｎＳＡＤを参照ブロックｒｂの評価値ＳＡＤに更新する（ステップＳ１９０９）。つぎに、動画処理装置１００は、最小評価ベクトルｖｅｃｔｏｒを現在の候補ベクトルに更新する（ステップＳ１９１０）。
【０２０６】
そして、動画処理装置１００は、最大増分区間ｍａｘ＿ｉｎｔｅｒｖａｌを区間ｔｍｐ＿ｍａｘ＿ｉｎｔｅｒｖａｌに更新する（ステップＳ１９１１）。なお、最大増分区間ｍａｘ＿ｉｎｔｅｒｖａｌおよび区間ｔｍｐ＿ｍａｘ＿ｉｎｔｅｒｖａｌについては、図２０を用いて後述する。
【０２０７】
つぎに、動画処理装置１００は、最小増分区間ｍｉｎ＿ｉｎｔｅｒｖａｌを区間ｔｍｐ＿ｍｉｎ＿ｉｎｔｅｒｖａｌに更新する（ステップＳ１９１２）。なお、最小増分区間ｍｉｎ＿ｉｎｔｅｒｖａｌおよび区間ｔｍｐ＿ｍｉｎ＿ｉｎｔｅｒｖａｌについては、図２０を用いて後述する。
【０２０８】
そして、動画処理装置１００は、参照画像ＲＰの縮小画像から選択されていない探索範囲内の参照ブロックｒｂがあるか否かを判断する（ステップＳ１９１３）。ここで、未選択の参照ブロックｒｂがある場合（ステップＳ１９１３：Ｙｅｓ）、動画処理装置１００は、ステップＳ１９０２に戻って、参照画像ＲＰの縮小画像から探索範囲内の未選択の参照ブロックｒｂを選択する。一方、未選択の参照ブロックｒｂがない場合（ステップＳ１９１３：Ｎｏ）、動画処理装置１００は、第５最小評価値算出処理を呼び出したステップに戻る。
【０２０９】
これにより、最小評価値ｍｉｎＳＡＤに対応する参照ブロックｒｂの候補ベクトルを第１動きベクトルＶ１として検出することができる。また、最小評価値ｍｉｎＳＡＤの算出時における最大増分区間および最小増分区間を記録することができる。
【０２１０】
つぎに、図１９に示したステップＳ１９０７の第５評価値算出処理の具体的な処理手順について説明する。
【０２１１】
図２０は、第５評価値算出処理の具体的処理手順の一例を示すフローチャートである。図２０のフローチャートにおいて、まず、動画処理装置１００は、評価値ＳＡＤの算出時に絶対値ｄｉｆｆを累積加算する過程をｎ分割するチェックポイントを特定する（ステップＳ２００１）。
【０２１２】
そして、動画処理装置１００は、累積加算順序Ｘに従って、元ブロックｂ内の画素を選択する（ステップＳ２００２）。つぎに、動画処理装置１００は、累積加算順序Ｘに従って、参照ブロックｒｂ内の画素を選択する（ステップＳ２００３）。
【０２１３】
そして、動画処理装置１００は、選択した画素間の画素値の差の絶対値ｄｉｆｆを算出し（ステップＳ２００４）、評価値ＳＡＤに絶対値ｄｉｆｆを加算する（ステップＳ２００５）。つぎに、動画処理装置１００は、現在の処理ステップ数がチェックポイントか否かを判断する（ステップＳ２００６）。
【０２１４】
ここで、現在の処理ステップ数がチェックポイントではない場合（ステップＳ２００６：Ｎｏ）、動画処理装置１００は、ステップＳ２０１５に移行する。一方、現在の処理ステップ数がチェックポイントの場合（ステップＳ２００６：Ｙｅｓ）、動画処理装置１００は、評価値ＳＡＤから現在の評価値ｐｒｅｖＳＡＤを減算することにより増分値ｉｎｃを算出する（ステップＳ２００７）。
【０２１５】
つぎに、動画処理装置１００は、増分値ｉｎｃが最大増分ｍａｘｉｎｃより大きいか否かを判断する（ステップＳ２００８）。ここで、増分値ｉｎｃが最大増分ｍａｘｉｎｃより大きい場合（ステップＳ２００８：Ｙｅｓ）、動画処理装置１００は、最大増分ｍａｘｉｎｃを増分値ｉｎｃに更新する（ステップＳ２００９）。そして、動画処理装置１００は、現在の区間を区間ｔｍｐ＿ｍａｘ＿ｉｎｔｅｒｖａｌとして記録する（ステップＳ２０１０）。
【０２１６】
また、ステップＳ２００８において、増分値ｉｎｃが最大増分ｍａｘｉｎｃ以下の場合（ステップＳ２００８：Ｎｏ）、動画処理装置１００は、増分値ｉｎｃが最小増分ｍｉｎｉｎｃ未満か否かを判断する（ステップＳ２０１１）。ここで、増分値ｉｎｃが最小増分ｍｉｎｉｎｃ以上の場合（ステップＳ２０１１：Ｎｏ）、動画処理装置１００は、ステップＳ２０１４に移行する。
【０２１７】
一方、増分値ｉｎｃが最小増分ｍｉｎｉｎｃ未満の場合（ステップＳ２０１１：Ｙｅｓ）、動画処理装置１００は、最小増分ｍｉｎｉｎｃを増分値ｉｎｃに更新する（ステップＳ２０１２）。そして、動画処理装置１００は、現在の区間を区間ｔｍｐ＿ｍｉｎ＿ｉｎｔｅｒｖａｌとして記録する（ステップＳ２０１３）。
【０２１８】
つぎに、動画処理装置１００は、直前のチェックポイントの累積加算値を現在の評価値ｐｒｅｖＳＡＤに設定する（ステップＳ２０１４）。そして、動画処理装置１００は、元ブロックｂから選択されていない未選択の画素があるか否かを判断する（ステップＳ２０１５）。
【０２１９】
ここで、未選択の画素がある場合（ステップＳ２０１５：Ｙｅｓ）、動画処理装置１００は、ステップＳ２００２に戻って、元ブロックｂ内の未選択の画素を選択する。一方、未選択の画素がない場合（ステップＳ２０１５：Ｎｏ）、動画処理装置１００は、第５評価値算出処理を呼び出したステップに戻る。
【０２２０】
これにより、参照ブロックｒｂごとの評価値ＳＡＤを算出するとともに、評価値ＳＡＤの算出時における最大増分区間および最小増分区間を記録することができる。
【０２２１】
以上で示した第１〜第５の決定処理手順では、各最小評価値算出処理（Ｓ６０４、Ｓ９０４、Ｓ１２０４、Ｓ１５０４、Ｓ１８０４）からは各チェックポイントでの累積加算値、または最大や最小の増分を示す区間を出力させ、最小評価値算出処理後に、元ブロックｂにおける累積加算順序Ｙを決定（Ｓ６０５〜Ｓ６０７、Ｓ９０５〜Ｓ９０７、Ｓ１２０５、Ｓ１５０５、Ｓ１８０５）している。一方、各最小評価値を更新（Ｓ７０５、Ｓ１００５、Ｓ１３０８、Ｓ１６０８、Ｓ１９０９）するごとに累積加算順序Ｙ決定処理を行い、最後に行われた累積加算順序Ｙ決定処理の結果を、第１〜第５の決定処理手順の結果としてもよい。この際、最小評価値を更新した時点での各チェックポイントでの累積加算値、または最大や最小の増分を示す区間の保持（Ｓ７０７、Ｓ１００７、Ｓ１００８、Ｓ１３１０、Ｓ１６１０、Ｓ１９１１、Ｓ１９１２）は行わなくてもよい。
【０２２２】
この場合、図３における決定部３０５と比較部３１１は、第１の算出部によってある参照ブロックｒｂの評価値が算出した結果が最小評価値を更新するたびに動作し、記録部３１０に保持された絶対値ｄｉｆｆから累積加算順序Ｙを決定する。
【０２２３】
＜動き検出処理手順＞
つぎに、動画処理装置１００の動き検出処理手順について説明する。この動き検出処理は、元ブロックｂに対応する対象画像ＯＰ上の元ブロックＢの第２動きベクトルＶ２を検出する処理である。
【０２２４】
図２１は、動画処理装置１００の動き検出処理手順の一例を示すフローチャートである。図２１のフローチャートにおいて、まず、動画処理装置１００は、最小評価値ｍｉｎＳＡＤを「ｍｉｎＳＡＤ＝＋∞」で初期化する（ステップＳ２１０１）。
【０２２５】
そして、動画処理装置１００は、第１動きベクトルＶ１から特定される参照画像ＲＰの探索範囲内の参照ブロックＲＢを選択する（ステップＳ２１０２）。つぎに、動画処理装置１００は、評価値ＳＡＤを「ＳＡＤ＝０」で初期化する（ステップＳ２１０３）。
【０２２６】
そして、動画処理装置１００は、元ブロックｂに対応する累積加算順序情報から特定される累積加算順序Ｙに従って、元ブロックＢ内の画素を選択する（ステップＳ２１０４）。つぎに、動画処理装置１００は、累積加算順序Ｙに従って、参照ブロックＲＢ内の画素を選択する（ステップＳ２１０５）。
【０２２７】
そして、動画処理装置１００は、選択した画素間の画素値の差の絶対値ｄｉｆｆを算出し（ステップＳ２１０６）、評価値ＳＡＤに絶対値ｄｉｆｆを加算する（ステップＳ２１０７）。つぎに、動画処理装置１００は、参照ブロックＲＢの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤよりも大きいか否かを判断する（ステップＳ２１０８）。
【０２２８】
ここで、参照ブロックＲＢの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤよりも大きい場合（ステップＳ２１０８：Ｙｅｓ）、動画処理装置１００は、ステップＳ２１１３に移行する。一方、参照ブロックＲＢの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ以下の場合（ステップＳ２１０８：Ｎｏ）、動画処理装置１００は、元ブロックＢから選択されていない未選択の画素があるか否かを判断する（ステップＳ２１０９）。
【０２２９】
ここで、未選択の画素がある場合（ステップＳ２１０９：Ｙｅｓ）、動画処理装置１００は、ステップＳ２１０４に戻って、元ブロックＢ内の未選択の画素を選択する。一方、未選択の画素がない場合（ステップＳ２１０９：Ｎｏ）、動画処理装置１００は、参照ブロックＲＢの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ未満か否かを判断する（ステップＳ２１１０）。
【０２３０】
ここで、参照ブロックＲＢの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ以上の場合（ステップＳ２１１０：Ｎｏ）、動画処理装置１００は、ステップＳ２１１３に移行する。一方、参照ブロックＲＢの評価値ＳＡＤが最小評価値ｍｉｎＳＡＤ未満の場合（ステップＳ２１１０：Ｙｅｓ）、動画処理装置１００は、最小評価値ｍｉｎＳＡＤを参照ブロックＲＢの評価値ＳＡＤに更新する（ステップＳ２１１１）。
【０２３１】
つぎに、動画処理装置１００は、最小評価ベクトルｖｅｃｔｏｒを現在の候補ベクトルに更新する（ステップＳ２１１２）。そして、動画処理装置１００は、参照画像ＲＰの探索範囲内の選択されていない未選択の参照ブロックＲＢがあるか否かを判断する（ステップＳ２１１３）。
【０２３２】
ここで、未選択の参照ブロックＲＢがある場合（ステップＳ２１１３：Ｙｅｓ）、動画処理装置１００は、ステップＳ２１０３に戻って、参照画像ＲＰの探索範囲内の未選択の参照ブロックＲＢを選択する。一方、未選択の参照ブロックＲＢがない場合（ステップＳ２１１３：Ｎｏ）、動画処理装置１００は、元ブロックＢと対応付けて、第２動きベクトルＶ２を出力して（ステップＳ２１１４）、本フローチャートによる一連の処理を終了する。なお、第２動きベクトルＶ２は、最小評価ベクトルｖｅｃｔｏｒである。
【０２３３】
これにより、累積加算演算をより早い処理ステップ数で打ち切れる可能性が高い累積加算順序Ｙに従って、元ブロックＢと参照ブロックＲＢとの対応する画素間の絶対値ｄｉｆｆを累積加算して、参照ブロックＲＢごとの評価値ＳＡＤを算出することができる。
【０２３４】
（動画符号化装置の構成例）
つぎに、動画処理装置１００を動画符号化装置に適用した場合の構成例について説明する。
【０２３５】
図２２は、動画符号化装置の構成例を示すブロック図（その１）である。図２２において、動画符号化装置２２００は、フレーム内予測モード決定部２２０１と、フレーム内予測部２２０２と、動き検出部２２０３と、フレーム間予測部２２０４と、直交変換／量子化部２２０５と、逆直交変換／逆量子化部２２０６と、エントロピー符号化部２２０７と、ループ内フィルタ部２２０８と、参照画像（局所復号画像）メモリ２２０９と、を有する。
【０２３６】
フレーム内予測モード決定部２２０１は、フレーム内予測の予測モードを決定する。フレーム内予測部２２０２は、フレーム内予測処理を行う。動き検出部２２０３は、動きベクトルを検出する。動き検出部２２０３は、例えば、動画処理装置１００の入力部３０１〜第２の検出部３０６に相当し、動き検出部２２０３から出力される動きベクトルは、第２動きベクトルＶ２に相当する。
【０２３７】
フレーム間予測部２２０４は、動き検出部２２０３から出力される動きベクトルに基づいて、フレーム間予測処理を行う。フレーム間予測部２２０４は、例えば、動画処理装置１００の処理部３０７に相当する。直交変換／量子化部２２０５は、直交変換、量子化処理を行う。
【０２３８】
逆直交変換／逆量子化部２２０６は、逆直交変換、逆量子化処理を行う。エントロピー符号化部２２０７は、エントロピー符号化処理を行ってストリームを生成する。ループ内フィルタ部２２０８は、フィルタ前局所復号画像に対してフィルタ処理を行う。参照画像（局所復号画像）メモリ２２０９は、ループ内フィルタ部２２０８から出力される参照画像（局所復号画像）を記憶する。
【０２３９】
なお、図２２の例では、動き検出部２２０３が、１段階目の動き検出処理と２段階目の動き検出処理とを行う場合を例に挙げて説明したが、１段階目の動き検出処理を行う構成部と２段階目の動き検出処理を行う構成部とを別々に設けることにしてもよい。
【０２４０】
図２３は、動画符号化装置の構成例を示すブロック図（その２）である。図２３において、動画符号化装置２３００は、フレーム内予測モード決定部２２０１と、フレーム内予測部２２０２と、フレーム間予測部２２０４と、直交変換／量子化部２２０５と、逆直交変換／逆量子化部２２０６と、エントロピー符号化部２２０７と、ループ内フィルタ部２２０８と、縮小画生成部２３０１と、第１の動き検出部２３０２と、第２の動き検出部２３０３と、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２３０４と、を有する。
【０２４１】
縮小画生成部２３０１は、縮小画像を生成する。縮小画生成部２３０１は、例えば、動画処理装置１００の第１の縮小部３０２および第２の縮小部３０３に相当する。第１の動き検出部２３０２は、第１の動きベクトルを検出する。第１の動き検出部２３０２は、例えば、動画処理装置１００の第１の検出部３０４および決定部３０５に相当する。また、第１の動き検出部２３０２から出力される第１の動きベクトルは第１動きベクトルＶ１に相当し、第１の動き検出部２３０２から出力される評価指標算出方法情報は累積加算情報に相当する。
【０２４２】
第２の動き検出部２３０３は、第２の動きベクトルを検出する。第２の動き検出部２３０３は、例えば、動画処理装置１００の第２の検出部３０６に相当する。また、第２の動き検出部２３０３から出力される第２の動きベクトルは、第２動きベクトルＶ２に相当する。ＳＤＲＡＭ２３０４は、縮小画メモリ２３０５と、原画メモリ２３０６と、参照画像（局所復号画像）メモリ２３０７と、を含む。
【０２４３】
縮小画メモリ２３０５は、縮小画生成部２３０１から出力される縮小画像を記憶する。原画メモリ２３０６は、原画を記憶する。原画は、例えば、対象画像ＯＰの原画像である。参照画像（局所復号画像）メモリ２３０７は、ループ内フィルタ部２２０８から出力される参照画像（局所復号画像）を記憶する。
【０２４４】
以上説明したように、実施の形態にかかる動画処理装置１００によれば、１段階目の動き検出処理において絶対値ｄｉｆｆを累積加算する過程を２分割した区間Ｓ１と区間Ｓ２との増分値を比較することができる。また、動画処理装置１００によれば、区間Ｓ１の増分値が区間Ｓ２の増分値以上の場合は、累積加算順序Ｙを累積加算順序Ｘと同順に決定することができる。また、動画処理装置１００によれば、区間Ｓ１の増分値が区間Ｓ２の増分値未満の場合は、累積加算順序Ｙを累積加算順序Ｘと逆順に決定することができる。これにより、２段階目の動き検出処理における累積加算演算を、累積加算順序Ｘに従って行う場合よりも早い処理ステップ数で打ち切れる可能性が高い累積加算順序Ｙを出力することができる。
【０２４５】
また、動画処理装置１００によれば、１段階目の動き検出処理において絶対値ｄｉｆｆを累積加算する過程を３分割した区間Ｓ１〜Ｓ３のうちの区間Ｓ１と区間Ｓ３との増分値を比較することができる。また、動画処理装置１００によれば、区間Ｓ１の増分値が区間Ｓ３の増分値未満の場合は、累積加算順序Ｙを累積加算順序Ｘと逆順に決定することができる。また、動画処理装置１００によれば、区間Ｓ１の増分値が区間Ｓ３の増分値以上の場合は、累積加算順序Ｙを累積加算順序Ｘと同順に決定することができる。これにより、２段階目の動き検出処理における累積加算演算を、累積加算順序Ｘに従って行う場合よりも早い処理ステップ数で打ち切れる可能性が高い累積加算順序Ｙを出力することができる。
【０２４６】
また、動画処理装置１００によれば、１段階目の動き検出処理において絶対値ｄｉｆｆを累積加算する過程をｎ分割した区間Ｓ１〜Ｓｎのうちの区間同士の増分値を比較することができる。また、動画処理装置１００によれば、累積加算順序Ｙを、区間Ｓ１〜Ｓｎのうちの増分値が最大となる最大増分区間に対応する部分を最初に累積加算する順序に決定することができる。これにより、２段階目の動き検出処理における累積加算演算を、累積加算順序Ｘに従って行う場合よりも早い処理ステップ数で打ち切れる可能性が高い累積加算順序Ｙを出力することができる。
【０２４７】
また、動画処理装置１００によれば、１段階目の動き検出処理において絶対値ｄｉｆｆを累積加算する過程をｎ分割した区間Ｓ１〜Ｓｎのうちの区間同士の増分値を比較することができる。また、動画処理装置１００によれば、累積加算順序Ｙを、区間Ｓ１〜Ｓｎのうちの増分値が最小となる最小増分区間に対応する部分を最後に累積加算する順序に決定することができる。
【０２４８】
また、動画処理装置１００によれば、１段階目の動き検出処理において絶対値ｄｉｆｆを累積加算する過程をｎ分割した区間Ｓ１〜Ｓｎのうちの区間同士の増分値を比較することができる。また、動画処理装置１００によれば、累積加算順序Ｙを、区間Ｓ１〜Ｓｎのうち、増分値が最大となる最大増分区間に対応する部分を最初に累積加算するとともに、増分値が最小となる最小増分区間に対応する部分を最後に累積加算する順序に決定することができる。これにより、２段階目の動き検出処理における累積加算演算を、累積加算順序Ｘに従って行う場合よりも早い処理ステップ数で打ち切れる可能性が高い累積加算順序Ｙを出力することができる。
【０２４９】
また、動画処理装置１００によれば、２段階目の動き検出処理において、元ブロックＢと参照ブロックＲＢとの対応する画素間の絶対値ｄｉｆｆを累積加算順序Ｙに従って累積加算して、参照ブロックＲＢごとの評価値ＳＡＤを算出することができる。これにより、２段階目の動き検出処理における累積加算演算をより早い処理ステップ数で打ち切れる確率を高めることができる。この結果、動き検出にかかる演算量を削減して、動き検出にかかる動画処理装置１００の処理時間および消費電力を削減することができる。
【０２５０】
なお、上述した説明では、２段階の動き検出を例に挙げて説明したが、３段階以上の動き検出に本動画処理方法を適用することにしてもよい。具体的には、例えば、動画処理装置１００は、３段階目以降の動き検出処理においても、１段階目の動き検出処理において決定した累積加算順序Ｙに従って画素間の絶対値ｄｉｆｆを累積加算することにしてもよい。また、動画処理装置１００は、ｋ段階目の動き検出処理において（ｋ＋１）段階目の動き検出処理で用いる累積加算順序Ｙを逐次決定することにしてもよい。
【０２５１】
また、本実施の形態で説明した動画処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本動画処理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本動画処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２５２】
また、本実施の形態で説明した動画処理装置１００は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、例えば、上述した動画処理装置１００の機能部をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、動画処理装置１００を製造することができる。
【０２５３】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２５４】
（付記１）対象画像を縮小した画像から分割された第１ブロックと、参照画像を縮小した画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を所定の順序で累積加算することにより、前記参照ブロックごとの評価値を算出する算出部と、
前記参照ブロックの評価値の算出時に前記値が累積加算される過程を区切って分割された区間に対応して、前記区間における前記値の増分値を記録する記録部と、
前記算出部によって算出された算出結果に基づいて、前記第１ブロックの動きベクトルを検出する検出部と、
前記記録部によって記録された記録内容に基づいて、前記検出部によって検出された前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程における区間同士の増分値を比較する比較部と、
前記比較部によって比較された比較結果に基づいて、前記第１ブロックに対応する前記対象画像上の第２ブロックと前記動きベクトルから特定される前記参照画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を累積加算して当該参照ブロックの評価値を算出する際の累積加算順序を決定する決定部と、
を有することを特徴とする動画処理装置。
【０２５５】
（付記２）前記記録部は、
前記過程を区切って２分割された第１および第２の区間のうちの少なくともいずれかの区間の増分値を保持し、
前記比較部は、
前記記録部によって記録された記録内容に基づいて、前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程の第１の区間の増分値と第２の区間の増分値とを比較し、
前記決定部は、
前記第１の区間の増分値が前記第２の区間の増分値以上の場合は、前記累積加算順序を前記所定の順序と同順に決定し、前記第１の区間の増分値が前記第２の区間の増分値未満の場合は、前記累積加算順序を前記所定の順序と逆順に決定することを特徴とする付記１に記載の動画処理装置。
【０２５６】
（付記３）前記記録部は、
前記過程を区切って３分割された第１、第２および第３の区間のうちの少なくとも前記第１および第２の区間の増分値を記録し、
前記比較部は、
前記記録部によって記録された記録内容に基づいて、前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程の第１の区間の増分値と第３の区間の増分値とを比較し、
前記決定部は、
前記第１の区間の増分値が前記第３の区間の増分値以上の場合は、前記累積加算順序を前記所定の順序と同順に決定し、前記第１の区間の増分値が前記第３の区間の増分値未満の場合は、前記累積加算順序を前記所定の順序と逆順に決定することを特徴とする付記１に記載の動画処理装置。
【０２５７】
（付記４）前記記録部は、
前記過程を区切って分割された複数の区間の各々の区間の増分値を保持し、
前記比較部は、
前記記録部によって記録された保持内容に基づいて、前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程の区間同士の増分値を比較し、
前記決定部は、
前記累積加算順序を、前記複数の区間のうちの増分値が最大となる区間に対応する部分の画素間の差分を表す値を最初に累積加算する順序に決定することを特徴とする付記１に記載の動画処理装置。
【０２５８】
（付記５）前記記録部は、
前記過程を区切って分割された複数の区間の各々の区間の増分値を保持し、
前記比較部は、
前記記録部によって記録された記録内容に基づいて、前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程の区間同士の増分値を比較し、
前記決定部は、
前記累積加算順序を、前記複数の区間のうちの増分値が最小となる区間に対応する部分の画素間の差分を表す値を最後に累積加算する順序に決定することを特徴とする付記１または４に記載の動画処理装置。
【０２５９】
（付記６）前記決定部によって決定された前記累積加算順序に従って、前記第２ブロックと前記動きベクトルから特定される前記参照画像の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を累積加算することにより、前記参照ブロックごとの評価値を算出する第２の算出部と、
前記第２の算出部によって算出された算出結果に基づいて、前記第２ブロックの動きベクトルを検出する第２の検出部と、
を有することを特徴とする付記１〜５のいずれか一つに記載の動画処理装置。
【０２６０】
（付記７）前記評価値は、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）またはＳＡＴＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｔｒａｎｓｆｏｒｍｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）またはＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）であることを特徴とする付記１〜６のいずれか一つに記載の動画処理装置。
【０２６１】
（付記８）前記第２ブロックと前記第２の検出部によって検出された前記動きベクトルが示す前記参照画像上の参照ブロックとに基づいて、フレーム間予測画像を生成する処理部をさらに有することを特徴とする付記１〜７のいずれか一つに記載の動画処理装置。
【０２６２】
（付記９）前記第２の検出部によって検出された前記動きベクトルに基づいて、前記対象画像と前記参照画像とのずれ量を検出する処理部をさらに有することを特徴とする付記１〜７のいずれか一つに記載の動画処理装置。
【０２６３】
（付記１０）コンピュータが、
対象画像を縮小した画像から分割された第１ブロックと、参照画像を縮小した画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を所定の順序で累積加算することにより、前記参照ブロックごとの評価値を算出し、
前記参照ブロックの評価値の算出時に前記値が累積加算される過程を区切って分割された区間に対応して、前記区間における前記値の増分値を記録し、
算出した算出結果に基づいて、前記第１ブロックの動きベクトルを検出し、
記録した記録内容に基づいて、検出した前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程における区間同士の増分値を比較し、
比較した比較結果に基づいて、前記第１ブロックに対応する前記対象画像上の第２ブロックと前記動きベクトルから特定される前記参照画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を累積加算して当該参照ブロックの評価値を算出する際の累積加算順序を決定する、
処理を実行することを特徴とする動画処理方法。
【０２６４】
（付記１１）コンピュータに、
対象画像を縮小した画像から分割された第１ブロックと、参照画像を縮小した画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を所定の順序で累積加算することにより、前記参照ブロックごとの評価値を算出し、
前記参照ブロックの評価値の算出時に前記値が累積加算される過程を区切って分割された区間に対応して、前記区間における前記値の増分値を記録し、
算出した算出結果に基づいて、前記第１ブロックの動きベクトルを検出し、
記録した記録内容に基づいて、検出した前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程における区間同士の増分値を比較し、
比較した比較結果に基づいて、前記第１ブロックに対応する前記対象画像上の第２ブロックと前記動きベクトルから特定される前記参照画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を累積加算して当該参照ブロックの評価値を算出する際の累積加算順序を決定する、
処理を実行させることを特徴とする動画処理プログラム。
【０２６５】
（付記１２）コンピュータに、
対象画像を縮小した画像から分割された第１ブロックと、参照画像を縮小した画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を所定の順序で累積加算することにより、前記参照ブロックごとの評価値を算出し、
前記参照ブロックの評価値の算出時に前記値が累積加算される過程を区切って分割された区間に対応して、前記区間における前記値の増分値を記録し、
算出した算出結果に基づいて、前記第１ブロックの動きベクトルを検出し、
記録した記録内容に基づいて、検出した前記動きベクトルが示す参照ブロックの評価値の算出時に前記値が累積加算された過程における区間同士の増分値を比較し、
比較した比較結果に基づいて、前記第１ブロックに対応する前記対象画像上の第２ブロックと前記動きベクトルから特定される前記参照画像上の探索範囲内の参照ブロックとの対応する画素間の差分を表す値を累積加算して当該参照ブロックの評価値を算出する際の累積加算順序を決定する、
処理を実行させる動画処理プログラムを記録したことを特徴とする前記コンピュータに読み取り可能な記録媒体。
【符号の説明】
【０２６６】
１００  動画処理装置
３０１  入力部
３０２  第１の縮小部
３０３  第２の縮小部
３０４  第１の検出部
３０５  決定部
３０６  第２の検出部
３０７  処理部
３０８  出力部
３０９  第１の算出部
３１０  記録部
３１１  比較部
３１２  第２の算出部
【図１】
2014183408.tif 000003
【図２】
2014183408.tif 000004
【図３】
2014183408.tif 000005
【図４】
2014183408.tif 000006
【図５】
2014183408.tif 000007
【図６】
2014183408.tif 000008
【図７】
2014183408.tif 000009
【図８】
2014183408.tif 000010
【図９】
2014183408.tif 000011
【図１０】
2014183408.tif 000012
【図１１】
2014183408.tif 000013
【図１２】
2014183408.tif 000014
【図１３】
2014183408.tif 000015
【図１４】
2014183408.tif 000016
【図１５】
2014183408.tif 000017
【図１６】
2014183408.tif 000018
【図１７】
2014183408.tif 000019
【図１８】
2014183408.tif 000020
【図１９】
2014183408.tif 000021
【図２０】
2014183408.tif 000022
【図２１】
2014183408.tif 000023
【図２２】
2014183408.tif 000024
【図２３】
2014183408.tif 000025