(57)【要約】      （修正有）【課題】動きベクトルの検出の精度を向上させ、画質劣化を抑制する。【解決手段】画像処理装置は、処理対象画像のブロック又は前記ブロックを分割したサブブロックの動きベクトル探索部と、注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、誤差を算出する第１の誤差算出部と、複数の第１の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定するサブブロック特定部と、前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第２の誤差を算出する第２の誤差算出部と、前記第１の誤差と前記第２の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する動きベクトル決定部とを有する。【選択図】図２
2014183544.tif 000002
【特許請求の範囲】
【請求項１】
処理対象画像の部分領域であるブロック又は前記ブロックを分割したサブブロックが参照画像のどの領域から動いたかを示す動きベクトルを探索する、動きベクトル探索部と、
注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、それぞれの第１の誤差を算出する第１の誤差算出部と、
前記第１の誤差算出部が算出する複数の第１の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定する、サブブロック特定部と、
前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第２の誤差を算出する第２の誤差算出部と、
前記第１の誤差と、前記第２の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する、動きベクトル決定部と、
を有する画像処理装置。
【請求項２】
前記サブブロック特定部は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、請求項１記載の画像処理装置。
【請求項３】
前記サブブロック特定部は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の絶対値の合計が、第２の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、請求項１記載の画像処理装置。
【請求項４】
前記サブブロック特定部は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の絶対値の平均値を、前記複数の第１の誤差の絶対値の平均値で除算した値が、第３の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、請求項１記載の画像処理装置。
【請求項５】
前記サブブロック特定部は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の絶対値の平均値を、前記複数の第１の誤差の絶対値のうち前記第１の閾値を超えない第１の誤差の絶対値の平均値で除算した値が、第４の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、請求項１記載の画像処理装置。
【請求項６】
前記サブブロック特定部は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の数が、第５の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、請求項１記載の画像処理装置。
【請求項７】
前記動きベクトル決定部は、
前記第１の誤差の絶対値から前記第２の誤差の絶対値を減算した値を、第６の閾値と比較する比較部と、
前記減算した値が前記第６の閾値を超える場合、前記所定のサブブロックの動きベクトルとして、前記隣接ブロックの動きベクトルを採用し、前記減算した値が前記第６の閾値を超えない場合、前記所定のサブブロックの動きベクトルとして、前記注目ブロックの動きベクトルを採用する、動きベクトル採用部と、
を含む、
請求項１ないし６のうちいずれか１項記載の画像処理装置。
【請求項８】
前記動きベクトル採用部は、前記減算した値が前記第６の閾値を超える場合、前記所定のサブブロックの動きベクトルとして、前記隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる、前記所定のサブブロックに対応する参照画像の領域の所定の周辺領域について、前記所定のサブブロックの動きベクトルを探索するよう、前記動きベクトル探索部に指示し、探索された動きベクトルを前記所定のサブブロックの動きベクトルとして採用する、請求項７記載の画像処理装置。
【請求項９】
前記動きベクトル採用部は、前記注目ブロックに関し、前記減算した値が前記第６の閾値を超える場合の数が、第７の閾値を超えない場合、前記減算した値が前記第６の閾値を超える場合であっても、前記所定のサブブロックの動きベクトルとして、前記注目ブロックの動きベクトルを採用する、請求項７又は８記載の画像処理装置。
【請求項１０】
前記動きベクトル採用部が、前記所定のサブブロックの全ての動きベクトルとして、前記注目ブロックの動きベクトルを採用することを決定した場合、前記動きベクトル採用部は、前記注目ブロックをサブブロックに分割しない、請求項７ないし９のうちいずれか１項記載の画像処理装置。
【請求項１１】
コンピュータが、
処理対象画像の部分領域であるブロック又は前記ブロックを分割したサブブロックが参照画像のどの領域から動いたかを示す動きベクトルを探索する段階と、
注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、それぞれの第１の誤差を算出する段階と、
前記第１の誤差を算出する段階が算出する複数の第１の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定する段階と、
前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第２の誤差を算出する段階と、
前記第１の誤差と、前記第２の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する段階と、
を有する画像処理方法。
【請求項１２】
処理対象画像の部分領域であるブロック又は前記ブロックを分割したサブブロックが参照画像のどの領域から動いたかを示す動きベクトルを探索し、
注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、複数の第１の誤差を算出し、
前記第１の誤差を算出する処理が算出する複数の第１の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定する段階と、
前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第２の誤差を算出し、
前記第１の誤差と、前記第２の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する、
処理をコンピュータに実行させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像などの画像を処理する画像処理装置、及び画像処理方法に関する。
【背景技術】
【０００２】
映像の圧縮の手法の１つとして、ブロックの動きベクトルを用いた画像予測が利用される。動きベクトルとは、処理対象画像のブロックに最も類似している参照画像内の位置を探索するブロックマッチング法などを用いて求められるブロック単位の空間的なずれを示す値である。この動きベクトルによって定まる参照画像の領域と、処理対象画像のブロックとの画素値の差分値を求めることにより、映像のデータ量を削減することが可能である。
【０００３】
ブロックマッチング型動きベクトル探索において、ブロック内画素を間引くことによる検出精度の低下を抑えるために、同じ動きを含むブロックを統合し、統合ブロックのサイズに応じてブロック内画素の間引きを行い、統合ブロックでマッチングを行なった後、統合ブロックを再び各ブロックに分割して統合ブロックで求まった動きベクトルを各ブロックの初期変移として再び微小な領域での探索を行なう技術が存在する（例えば、特許文献１参照）。
【０００４】
また、第１の探索モードで小ブロック毎及び大ブロック毎に算出したブロックマッチング誤差が最小となる小ブロック及び大ブロック動きベクトル候補を探索し、第２の探索モードで小ブロック毎に算出したブロックマッチング誤差が最小となる小ブロック動きベクトル候補を探索し、第１の探索モードで探索された動きベクトル候補に対応するブロックマッチング誤差に基づき最終的な動きベクトル候補を決定する技術が存在する（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−２２３５７８号公報
【特許文献２】特開２００３−１１１０８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
動きベクトルの検出確度は、映像の圧縮効率などに影響を与えるため、より確度の高い動きベクトルの検出手法が望まれている。
【０００７】
特に個々に移動する複数のオブジェクトが映像に存在する場合、動きベクトルの精度が確保されている大きな動き検出の単位（ブロック）に含まれる別の動きを持つ小さい部分領域（サブブロック）が存在する場合がある。この場合、別の動きを持つ小さい部分領域は、大きな動き検出単位の動きにつられるため、正確な動きベクトルの検出が難しい場合がある。
【０００８】
これに対処するために、動きベクトルを検出するブロックの大きさを小さくして、動きベクトルをきめ細かく検出することが行われる場合がある。しかしながら、ブロックの大きさを小さくすると、一般に現実のオブジェクトの動きを正確に捉えた動きベクトルを検出することが難しくなる。
【０００９】
ただし、動画符号化の一側面では、映像の動きを必ずしも正確に追う必要はなく、周辺とよく似たベクトルで、符号化対象画像と類似した領域が見つかれば高い圧縮率を達成する事が出来る。このため、ブロックの大きさを小さくした際の動きベクトルの精度の低下は必ずしも問題とはならないことが多い。
【００１０】
しかしながら、動きベクトルを捉える精度が低下すると、映像の動きと異なる動きベクトルを処理することが多くなるために、映像内の動きのある物体の周辺において、映像の動きとは異なるノイズの動きが知覚されることによる画像劣化の課題がある。
【００１１】
実施形態の一側面では、上記の課題に対応するため、動きベクトルの検出の精度を向上させ、このような画質劣化を抑制することを目的とする。
【課題を解決するための手段】
【００１２】
一実施形態によれば、処理対象画像の部分領域であるブロック又は前記ブロックを分割したサブブロックが参照画像のどの領域から動いたかを示す動きベクトルを探索する、動きベクトル探索部と、注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、それぞれの第１の誤差を算出する第１の誤差算出部と、前記第１の誤差算出部が算出する複数の第１の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定する、サブブロック特定部と、前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第２の誤差を算出する第２の誤差算出部と、前記第１の誤差と、前記第２の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する、動きベクトル決定部と、を有する画像処理装置が提供される。
【発明の効果】
【００１３】
実施形態によれば、動きベクトルの検出の精度を向上させ、画質劣化を抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】動きベクトルの検出例を示す図である。
【図２】一実施形態の画像処理装置の構成の例を示すブロック図である。
【図３】動きベクトルの例を示す図である。
【図４】処理対象画像のサブブロックと参照画像における対応する領域の具体例を示す図である。
【図５】処理対象画像のサブブロックと参照画像における複数の対応する領域を示す図である。
【図６】サブブロックに対して最も誤差の小さい参照画像の領域が探索された例を示す図である。
【図７】ブロック分割の例を示す図である。
【図８】一実施形態の動作の概略を示すフローチャートである。
【図９】サブブロック特定部の第１の動作の例を示すフローチャートである。
【図１０】サブブロック特定部の第２の動作の例を示すフローチャートである。
【図１１】サブブロック特定部の第３の動作の例を示すフローチャートである。
【図１２】サブブロック特定部の第４の動作の例を示すフローチャートである。
【図１３】サブブロック特定部の第５の動作の例を示すフローチャートである。
【図１４】動きベクトル決定部の第１の動作の例を示すフローチャートである。
【図１５】動きベクトル決定部の第２の動作の例を示すフローチャートである。
【図１６】動きベクトル決定部の第３の動作の例を示すフローチャートである。
【図１７】一実施形態のブロック分割の例を示すフローチャートである。
【図１８】一実施形態のハードウェア構成の概要を示す図である。
【発明を実施するための形態】
【００１５】
動画情報を効率的に処理する規格であるＨ．２６４／ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）やＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）の映像の圧縮符号化方式では、映像の各フレーム（画像）を矩形領域（以下ブロック）に分割して符号化が行われる。
【００１６】
上記の標準においても、動きベクトルが用いられている。なお、動きベクトルの検出手法自体は、規格として定義されていない。例えば、処理対象画像のブロック毎に、参照画像に対してブロックマッチング法を用いることができる。
【００１７】
図１は、動きベクトルの検出例を示している。動画像情報は、複数のフレーム（画像）を含む。例えば、処理対象画像１１０は、時刻ｔ＝０のときの動画像の画像を表している。そして、参照画像１２０は、時刻ｔ＝１における動画像の画像を表している。各々の画像は、複数のブロックで構成されている。処理対象画像１１０に存在するブロック１１２の動きベクトルを探索するために、参照画像１２０には、探索範囲１２１が設定される。
【００１８】
ブロックマッチング法を利用した場合には、処理対象画像１１０上のブロック１１２と、参照画像上の同じ空間位置１２２を中心として設定した上記探索範囲１２１内の領域の画像のＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ：誤差の絶対値和）又はＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅ  Ｄｉｆｆｅｒｅｎｃｅ：二乗誤差和）を計算する。この誤差の値が最も小さい参照画像上の領域１２３と処理対象画像１１０のブロック１１２の空間的な位置の関係から動きベクトル１２４が決定される。
【００１９】
なお、ＡＶＣ／Ｈ．２６４及びＨＥＶＣの標準では、処理対象画像と参照画像との間の動きベクトル検出において、１／２又は１／４画素精度の動きベクトル検出が行われる。
【００２０】
図２は、実施形態の画像処理装置２００の構成の例を示すブロック図である。画像処理装置２００は、動きベクトル探索部２１０，第１の誤差算出部２２０、サブブロック特定部２３０、第２の誤差算出部２４０、及び動きベクトル決定部２６０を有してもよい。
【００２１】
また、動きベクトル決定部２６０は、比較部２６２、及び動きベクトル採用部２６４を含んでもよい。
【００２２】
そして、処理対象画像１１０及び参照画像１２０が、動きベクトル探索部２１０、第１の誤差算出部２２０、及び第２の誤差算出部２４０に与えられてもよい。
【００２３】
以下、図に２に示される各部の構成について説明する。
【００２４】
動きベクトル探索部２１０は、処理対象画像の部分領域であるブロック或いは、ブロックを更に再分割したサブブロックに関して、参照画像のどの領域から動いたかを推測する動きベクトルを探索する。
【００２５】
図３は、動きベクトルの例を示す図である。動きベクトルの説明の便宜上、処理対象画像の複数のブロックの空間的位置と、参照画像の複数の領域の空間的位置が同一平面上に描かれている。なお、実際には、処理対象画像と参照画像とは、異なる時刻におけるフレーム画像である点に留意すべきである。
【００２６】
図３において、処理対象画像の一部のブロックとして、ブロック３１２及びブロック３１４が示されている。上述のようにブロックマッチング技術により、処理対象画像のブロック３１２を参照画像の探索範囲で探索した結果、参照画像の領域３２２と、処理対象画像のブロック３１２との誤差が最も小さくなったと仮定する。この場合、ブロック３１２の動きベクトルは、動きベクトル３３２で表される。
【００２７】
同様に、処理対象画像のブロック３１４は、探索範囲内において、参照画像の領域３２４との間で誤差が最も小さいため、動きベクトルは、動きベクトル３３４として得られる。なお、図３では、長方形のブロック形状を用いたが、画像の標準毎にブロック及びブロックを再分割したブロックの形状が定められている。したがって、ブロックの形状は、長方形に限られるものではない。
【００２８】
図２に戻る。第１の誤差算出部２２０は、動きベクトルを算出した注目ブロックをさらに分割してサブブロックに分ける。そして、処理対象ブロックを分割すると、その分割されたサブブロックに対応する参照画像の領域は、一意に定まる。したがって、処理対象画像の複数のサブブロックの各々に対応して、参照画像の対応する領域が特定できることになる。
【００２９】
図４を用いて、処理対象画像のサブブロックに対する参照画像における対応する領域の具体例を説明する。ここでは、注目ブロック３１４のサブブロック４１０を例に説明する。サブブロック４１０に対応する参照画像の領域は、領域４２４である。サブブロック４１０と、領域４２４との位置は、ベクトル３３４ａで特定できる。このベクトル３３４ａは、ブロック３１４の動きベクトル３３４と同じ方向及び長さを持つ。
【００３０】
そして、サブブロック４１０と、領域４２４との誤差を計算する。誤差は、上述のＳＡＤまたは、ＳＳＤを用いて、対応する画素の例えば輝度の値を用いて計算してもよい。なお、輝度の値に限られるものではない。図４では、１つのサブブロック４１０のみが示されているが、ブロック３１４全体を複数のサブブロックに分割して、それぞれのサブブロックについて、参照画像の対応する領域との誤差を計算してもよい。
【００３１】
なお、サブブロックにおける誤差は、サブブロックが属するブロックの動きベクトルを計算した際に既に算出された画素単位又は所定の領域単位の誤差の算出結果を流用できる点に留意すべきである。したがって、ブロックの動きベクトルを求めた際には、算出された画素単位又は所定の領域単位の誤差を、メモリなどの記憶部に格納しておくことが望ましい。このようにすることによって、サブブロック単位の誤差の計算の簡素化を図ることができる。
【００３２】
図２に戻る。サブブロック特定部２３０は、複数のサブブロックについて計算された誤差を処理する。サブブロック特定部２３０の目的の１つは、誤差の絶対値が大きなサブブロックを特定することである。なお、処理の方法は、これに限られるものではなく、以下の処理の例の１つを実行してもよい。ここにおける誤差は、第１の誤差の一例である。
【００３３】
（１）複数の誤差の絶対値のうち第１の閾値を超える誤差に対応するサブブロックを所定のサブブロックとして特定する。第１の閾値としては、所定の定数を予め設定してもよい。或いは、ブロック内の複数のサブブロックに対応する誤差の平均値に所定の数値を掛けて、第１の閾値として用いてもよい。
【００３４】
（２）複数の誤差の絶対値のうち第１の閾値を超える誤差の絶対値の合計が、第２の閾値を超える場合、前記第１の閾値を超える誤差に対応するサブブロックを所定のサブブロックとして特定してもよい。第２の閾値は、予め定めておいてもよい。この場合、第１の閾値を超える誤差の絶対値の合計が第２の閾値を超えなければ、注目しているブロックの全体の誤差は、小さいと考えられるので、前記第１の閾値を超える誤差に対応する前記サブブロックに関連して生じるノイズは無視してもよいと判断してもよい。
【００３５】
（３）複数の誤差の絶対値のうち第１の閾値を超える誤差の絶対値の平均値を、ブロック内の全てのサブブロックの複数の誤差の絶対値の平均値で除算した値が、第３の閾値を超える場合、第１の閾値を超える誤差に対応するサブブロックを所定のサブブロックとして特定してもよい。第３の閾値は、予め定めておいてもよい。この場合、第１の誤差の絶対値の平均値を、ブロック内の全てのサブブロックの複数の誤差の絶対値の平均値で割った値が、第３の閾値よりも大きい場合は、第１の閾値を超える誤差が無視できない値であると判断し、この条件に合致するサブブロックを所定のサブブロックとして扱ってもよい。
【００３６】
（４）複数の誤差の絶対値のうち第１の閾値を超える第１の誤差の絶対値の平均値を、複数の誤差の絶対値のうち第１の閾値を超えない誤差の絶対値の平均値で割った値が、第４の閾値を超える場合、第１の閾値を超える誤差に対応するサブブロックを所定のサブブロックとして特定してもよい。第４の閾値は予め設定しておいてもよい。この条件は、上記条件（３）の変形例である。これは、比の計算を行う場合の分母として、複数の誤差の絶対値のうち第１の閾値を超えない誤差の絶対値の平均値を用いる例である。
【００３７】
（５）複数の誤差の絶対値のうち第１の閾値を超える誤差の数が、第５の閾値を超える場合、第１の閾値を超える誤差に対応するサブブロックを所定のサブブロックとして特定してもよい。第５の閾値は、予め設定しておいてもよい。例えば、ブロックをサブブロックに分割した際に、比較的多くのサブブロックの誤差が第１の閾値を超える場合、比較的多くのブロックにおいて、ノイズが知覚される可能性があると判断される。なお、１つのブロックをサブブロックに分割する際のサブブロックの個数が一定でない場合もあるため、第５の閾値は、サブブロックに分割する個数に所定の割合（例えば１／３）を掛けた値としてもよい。この場合、誤差が第１の閾値を超えたサブブロックの数が、全体のサブブロックの分割数の１／３を超えた場合、第１の閾値を超える誤差に対応するサブブロックが所定のサブブロックとして特定されることになる。
【００３８】
図２において、第２の誤差算出部２４０は、所定のサブブロックと、注目ブロックに隣接する隣接ブロックの動きベクトル、及び所定のサブブロックの注目ブロックにおける相対位置によって定まる、所定のサブブロックに対応する参照画像の領域と、の間の誤差を算出する。この誤差は、第２の誤差の一例である。
【００３９】
図４を用いて、第２の誤差算出部２４０について説明する。図４において、サブブロック４１０は、サブブロック特定部２３０において、所定のサブブロックとして特定されていると仮定する。したがって、処理対象画像のブロック４１０と、参照画像の領域４２４の誤差の絶対値は、第１の閾値よりも大きい。
【００４０】
このことは、サブブロック４１０として、動きベクトル３３４ａを（すなわち処理対象画像のブロック３１４の動きベクトルをそのまま）用いることが、適切でない可能性が高いことになる。
【００４１】
したがって、第２の誤差算出部２４０は、サブブロック４１０に関して、より適切な動きベクトルを求めるために、参照画像の他の領域との誤差を算出する。
【００４２】
このため、処理対象画像において、サブブロックが属するブロックの周辺のブロック（又はサブブロック）の動きベクトルの情報を考慮して、複数の可能性の高い参照画像の領域を特定し、かつ、誤差を算出する。
【００４３】
図４において、サブブロック４１０が属するブロック３１４に隣接する隣接ブロック３１２が存在する。隣接ブロック３１２は、前述のように動きベクトル３３２を有する。動きベクトル３３２を求めた際に、ブロック３１２に対応する参照画像の領域は領域３２２である。
【００４４】
この場合、サブブロック４１０は、自己の属するブロック３１４の動きベクトルではなく、隣接する隣接ブロック３１２の動きベクトル３３２に近い動きベクトルを持つ可能性があることが予想される。
【００４５】
サブブロック４１０のブロック３１４に対する相対位置と、隣接ブロック３１２の動きベクトル３２２を用いることによって、対応する参照画像の領域４３２を特定することができる。
【００４６】
そして、第２の誤差算出部２４０は、処理対象画像のサブブロック４１０と、参照画像の特定された領域４３２との誤差を計算する。
【００４７】
なお、一般に、ブロック３１４に隣接するブロックは、複数存在する。
【００４８】
図５は、処理対象画像のサブブロックに対する参照画像における複数の対応する領域を示している。すなわち、処理対象画像のブロック５０１のサブブロック５０１ａに対応する参照画像における領域は、以下の４つの候補がある。
（１）参照画像の領域５３１の中に存在する領域５３１ｂ
（２）参照画像の領域５３２の外に存在する領域５３２ｂ
（３）参照画像の領域５３３の外に存在する領域５３３ｂ
（４）参照画像の領域５３４の外に存在する領域５３４ｂ
上記のうち、（１）の領域５３１はブロック５０１の動きベクトルを求めた際に用いた参照画像の領域である。そして、領域５３２ｂ、領域５３３ｂ、領域５３４ｂが、サブブロック２０１ａの新たな動きベクトルを計算する際に用いられる。
【００４９】
このため、第２の誤差算出部２４０は、サブブロック５０１ａと領域５３２ｂとの誤差、サブブロック５０１ａと領域５３３ｂとの誤差、サブブロック５０１ａと領域５３４ｂとの誤差を、動きベクトル決定部２６０に出力してもよい。
【００５０】
図２に戻る。動きベクトル決定部２６０における比較部３６２は、第１の誤差算出部２２０からの誤差の絶対値から、第２の誤差算出部２４０からの誤差の絶対値を減算し、第６の閾値と比較してもよい。動きベクトル決定部２６０における動きベクトル採用部２６４は、この減算の結果が第６の閾値を超える場合には、動きベクトル決定部２６０は、最も大きい減算値を出力する第２の誤差に対応する隣接ブロックの動きベクトルを、特定されたサブブロックの動きベクトルとして採用し、出力してもよい。
【００５１】
逆に、動きベクトル採用部２６４は、この減算の結果が第６の閾値を超えない場合には、動きベクトルの改善が微少である（又は改善できない）と判断し、新たな動きベクトルを採用しなくてもよい。
【００５２】
図６は、動きベクトル採用部２６４が、動きベクトルの探索を行う例を示した図である。図６（Ａ）は、図４に加えて、ベクトル探索範囲５１０が示されている。
【００５３】
動きベクトル採用部２６４は、参照画像内において、領域４３２を中心として、探索範囲５１０を探索して、サブブロック４１０に対する最も適切な動きベクトルを探索してもよい。なお、動きベクトル採用部２６４は、探索範囲５１０を固定範囲として予め設定してもよい。あるいは、処理対象画像と参照画像との時間間隔に応じて、探索範囲５１０を変化させてもよい。たとえば、時間間隔が長くなるほど、探索範囲５１０の領域を広げてもよい。なお、探索範囲は、図６のように楕円である必要はなく、矩形などの任意の形状を持つ探索範囲を設定してもよい。なお、探索の手法は、ブロックマッチングの技術を用いてもよい。
【００５４】
図６（Ｂ）は、探索範囲５１０内で、ブロック４１０に対して最も誤差の小さい、参照画像の領域５３２が探索された例を示している。この結果、サブブロック４１０に対する動きベクトル３３２ｂが示されている。
【００５５】
図７は、ブロック分割の例を示す図である。図７（Ａ１）に示すように、処理対象画像のサブブロック７１５及びサブブロック７１６が、それぞれ参照画像の領域７６２及び領域７６４に対応付けられた場合を想定する。
【００５６】
この場合、処理対象画像のブロック７１０の動きベクトルと、サブブロック７１５及びサブブロック７１６とは、異なる動きベクトルを持つことになる。図７（Ａ１）のようなブロック構造を許容する符号化標準であれば、このままでよい。
【００５７】
例えば、ＭＰＥＧ−４又はＡＶＣ／Ｈ．２６４では、正方形又は長方形のブロック及びサブブロックを許容する。この場合には、図７（Ｂ１）のように、処理対象画像のブロック７１０ｂは、サブブロック７１１ないし７１８に分割され得る。また、ブロック７２６ｂは、サブブロック７１２及びサブブロック７２２に分割され得る。なお、この例では、画像処理装置２００が、ブロック７１０ｂの隣接ブロックである７２０ｂもサブブロック７２１とサブブロック７２２に分割している。この理由は、ブロック分割に関する特定の規則が適用される符号化標準に従ったためである。したがって、ブロック分割の方法は、適用する符号化標準に従えばよい。このため、図７（Ｂ１）のブロック分割は、ブロック分割の一例に過ぎない。
【００５８】
図７（Ｂ２）に示すように、参照画像の領域７５０ｂ及び７６０ｂも、処理対象画像に対応する領域に分割されて参照される。
【００５９】
＜動作＞
図８は、実施形態の動作の概略を示している。以下順を追って説明する。
【００６０】
ステップＳ８０５で、動きベクトル探索部２１０は、ブロックの動きベクトルを探索して、ブロックの動きベクトルを求める。
【００６１】
ステップＳ８１０で、第１の誤差算出部２２０は、ブロックをサブブロックに分割し、サブブロックの各々と、参照画像の対応する領域との第１の誤差を算出する。この第１の誤差は、記憶部（例えば、図１８の主記憶部１８０２）に記憶されてもよい。
【００６２】
ステップＳ８２０で、サブブロック特定部２３０は、第１の誤差の絶対値に基づいて、所定のサブブロックを特定する。例えば、第1の誤差と所定の閾値を比較して、その所定の閾値を超える誤差に対応するサブブロックを所定のサブブロックとして、特定してもよい。この点の詳細は、後述する。
【００６３】
ステップＳ８３０で、第２の誤差算出部２４０は、処理対象ブロックの隣接ブロックにおいて、所定のサブブロックと、所定のサブブロックに対応する、参照画像の領域との第２の誤差を算出する。
【００６４】
ステップＳ８４０で、動きベクトル決定部は、第１の誤差の絶対値と第２の誤差の絶対値に基づいて、所定のサブブロックの動きベクトルを算出する。例えば、第１の誤差の絶対値から第２の誤差の絶対値を減算した値が、所定の閾値を超える場合には、所定のサブブブロックの動きベクトルとして、上記隣接ブロックの動きベクトルを採用してもよい。この点についての詳細は、後述する。
【００６５】
図９は、サブブロック特定部２３０の第１の動作の例を示している。
【００６６】
ステップＳ９１０で、サブブロック特定部２３０は、サブブロックの第１の誤差の１つを記憶部（例えば、図１８の主記憶部１８０２）から取り出す。
【００６７】
ステップＳ９２０で、サブブロック特定部２３０は、取り出された第１の誤差の絶対値が、第１の閾値を超えるか否かを判断する。判断結果が「はい」であれば、ステップＳ９３０に移る。判断結果が「いいえ」であればステップＳ９４０に移る。
【００６８】
ステップＳ９３０で、サブブロック特定部２３０は、取り出された誤差に対応するサブブロックを所定のサブブロックとして採用してもよい。
【００６９】
ステップＳ９４０で、サブブロック特定部２３０は、ブロックに含まれる全てのサブブロックに対して処理が終了したか否かを判断する。判断結果が「いいえ」であれば、ステップＳ９１０に戻る。判断結果が「はい」であれば、終了する。
【００７０】
図１０は、サブブロック特定部２３０の第２の動作の例を示している。
【００７１】
ステップＳ１０１０及びステップＳ１０２０は、それぞれ図９のステップＳ９１０及びステップＳ９２０と同様である。
【００７２】
ステップＳ１０３０で、サブブロック特定部２３０は、第１の誤差の絶対値が第１の閾値を超える場合には、その誤差の絶対値をＳｕｍに積算する。
【００７３】
ステップＳ１０４０は、図９のステップＳ９４０と同様である。
【００７４】
ステップＳ１０５０で、サブブロック特定部２３０は、Ｓｕｍの値が、第２の閾値を超えるかを判断する。判断が「はい」であれば、ステップＳ１０５０に移る。判断が「いいえ」であれば、処理は終了する。
【００７５】
ステップＳ１０６０で、サブブロック特定部２３０は、第１の誤差の絶対値が、第１の閾値を超えるサブブロックを、所定のサブブロックと特定する。
【００７６】
図１１は、サブブロック特定部２３０の第３の動作の例を示している。
【００７７】
ステップＳ１１１０、ステップＳ１１２０、ステップＳ１１３０は、及びステップＳ１１４０は、それぞれ、図１０のステップＳ１０１０、ステップＳ１０２０、ステップＳ１０３０は、及びステップＳ１０４０と同様である。
【００７８】
ステップＳ１１５０で、サブブロック特定部２３０は、第１の誤差の絶対値が第１の閾値を超える誤差の合計Ｓｕｍの平均から、ブロックの全てのサブブロックの誤差の絶対値の平均を減算した値が、第３の閾値を超えるかが判断される。判断結果が「はい」であればステップＳ１１６０に移る。判断結果が「いいえ」であれば、終了する。
【００７９】
ステップＳ１１６０で、サブブロック特定部２３０は、第１の誤差の絶対値が、第１の閾値を超えるサブブロックを、所定のサブブロックと特定する。
【００８０】
図１２は、サブブロック特定部２３０の第４の動作の例を示している。
【００８１】
ステップＳ１２１０、ステップＳ１２２０、ステップＳ１２３０、及びステップＳ１２４０は、それぞれ図１０のステップＳ１０１０、ステップＳ１０２０、ステップＳ１０３０、及びステップＳ１０４０と同様である。
【００８２】
ステップＳ１２５０で、サブブロック特定部２３０は、第１の誤差の絶対値が第１の閾値を超える誤差の合計Ｓｕｍかの平均から、ブロックの残りのサブブロック（サブブロックの誤差の絶対値が第１の閾値を超えないサブブロック）の誤差の絶対値の平均を減算した値が、第４の閾値を超えるかが判断される。判断結果が「はい」であればステップＳ１２６０に移る。判断結果が「いいえ」であれば、終了する。
【００８３】
ステップＳ１２６０で、サブブロック特定部２３０は、第１の誤差の絶対値が、第１の閾値を超えるサブブロックを、所定のサブブロックと特定する。
【００８４】
図１３は、サブブロック特定部２３０の第５の動作の例を示している。
ステップＳ１３１０、ステップＳ１３２０は、それぞれ図１０のステップＳ１０１０、ステップＳ１０２０と同様である。
【００８５】
ステップＳ１３３０で、サブブロック特定部２３０は、第１の誤差の絶対値が第１の閾値を超える場合には、ｎをインクリメントすることにより、その回数をｎに記憶させる。
【００８６】
ステップＳ１３４０は、図１０のステップＳ１０４０と同様である。
【００８７】
ステップＳ１３５０で、サブブロック特定部２３０は、第１の誤差の絶対値が第１の閾値を超える誤差の個数ｎが第５の閾値を超えるかを判断する。この判断結果が「はい」であればステップＳ１３６０に進む。判断結果が「いいえ」であれば、終了する。
【００８８】
ステップＳ１３６０で、サブブロック特定部２３０は、第１の誤差の絶対値が、第１の閾値を超えるサブブロックを、所定のサブブロックと特定する。
【００８９】
図１４は、動きベクトル決定部２６０の第１の動作の例を示している。
【００９０】
ステップＳ１４１０で、動きベクトル決定部２６０の比較部２６２は、第１の誤差の絶対値から第２の誤差の絶対値を減算した値が第６の閾値を超えるか否かを判断してもよい。その判断結果が「はい」であればステップＳ１４２０に進む、その判断結果が「いいえ」であれば、ステップＳ１４３０に進む。
【００９１】
ステップＳ１４２０で、動きベクトル採用部２６４は、所定のサブブロックの動きベクトルとして隣接ブロックの動きベクトルを採用してもよい。なお、図５に示したように隣接ブロックが複数あることにより、隣接ブロックの動きベクトルが複数ある場合には、減算した値が一番大きい隣接ブロックの動きベクトルを採用してもよい。
【００９２】
ステップＳ１４３０で、動きベクトル採用部２６４は、所定のサブブロックの動きベクトルとして、その所定のサブブロックが属する注目ブロックの動きベクトルを採用してもよい（すなわちベクトルを変更しなくてもよい）。
【００９３】
図１５は、動きベクトル決定部２６０の第２の動作の例を示すフローチャートである。
【００９４】
ステップＳ１５１０は、図１４のステップＳ１４１０と同様である。
【００９５】
ステップＳ１５２０で、動きベクトル採用部２６４は、所定のサブブロックの動きベクトルとして、隣接する隣接ブロックの動きベクトル、及び所定のサブブロックの注目ブロックにおける相対位置によって定まる、所定のサブブロックに対応する参照画像の領域の、所定の周辺領域について、所定のサブブロックの動きベクトルを探索し、探索された動きベクトルを前記所定のサブブロックの動きベクトルとして採用してもよい。なお、探索には、既存のブロックマッチング技術を利用してもよい。
【００９６】
ステップＳ１５３０で、動きベクトル採用部２６４は、所定のサブブロックの動きベクトルとして、その所定のサブブロックが属する注目ブロックの動きベクトルを採用してもよい（すなわちベクトルを変更しなくてもよい）。
【００９７】
図１６は、動きベクトル決定部２６０の第３の動作の例を示すフローチャートである。
【００９８】
ステップＳ１６１０は、図１４のステップＳ１４１０と同様である。
【００９９】
ステップＳ１６２０で、動きベクトル決定部２６０の比較部が、第１の誤差の絶対値から第２の誤差の絶対値を減算した値が第６の閾値を超えると判断した場合、その回数をカウントするためにｍの値をインクリメントする。
【０１００】
ステップＳ１６３０で、全てのサブブロックが処理されたかが判断される。「いいえ」であればステップＳ１６１０に戻る。「はい」であればステップＳ１６４０に移る。
【０１０１】
ステップＳ１６４０で、ｍの値が第７の閾値を超えるか否かを判断する。超えない（「はい」）と判断された場合には、ステップＳ１６５０の処理に移る。超えると判断された場合（「いいえ」の場合）には、図１４又は図１５の処理を行ってもよい（より具体的には、ステップＳ１４２０、又はステップＳ１５２０の処理を行ってもよい）。
【０１０２】
ステップＳ１６５０で、所定のサブブロックの動きベクトルとして、注目ブロックの動きベクトルを採用する。所定のサブブロックが複数ある場合には、全ての所定のサブブロックの動きベクトルとして、注目ブロックの動きベクトルを採用する。
【０１０３】
図１７は、一実施形態のブロック分割の例を示すフローチャートを示している。
【０１０４】
ステップＳ１７１０で、全ての所定のサブブロックの動きベクトルとして、注目ブロックの動きベクトルを採用したかが判断される。すなわち、この判断が「はい」であれば、全てのサブブロックに対する動きベクトルは、そのサブブロックが所属する注目ブロックの動きベクトルに統一される。この判断が「はい」であれば、ステップＳ１７２０に移る。この判断が「いいえ」であればステップＳ１７３０に移る。
【０１０５】
ステップＳ１７２０で、注目ブロックをサブブロックに分割しないことを決定してもよい。その理由は、上述のように注目ブロックに含まれる全てのサブブロックの動きベクトルが注目ブロックと同じになるため、サブブロックに分割して処理行うことは、却ってデータ量の増大を招くことになる場合があるからである。
【０１０６】
ステップＳ１７３０で、注目ブロックに分割する処理を行う。この処理については、例えば図７を用いて説明したブロック分割技術が利用できる。なお、ブロックの分割については、それぞれの映像符号化標準に準拠するよう処理すればよい。
【０１０７】
なお、ブロック分割の情報は、符号化されて、映像情報の符号化情報とともに、ビットストリームに含ませることができる。ビットストリームを受信したデコーダは、このブロック分割の情報を活用して、復号化を行う。
【０１０８】
図１８は、画像処理装置１８００の概略構成の一例を示すブロック図である。図１８に示す画像処理装置１８００は、上述した実施形態で説明した画像処理をソフトウェアで実装した装置の一例である。
【０１０９】
なお、以上の実施形態では、ブロックと、そのブロックを分割したサブブロックを例にして説明したが、サブブロックを更に分割した場合などにも、上記の実施形態を適用できることは言うまでもない。
【０１１０】
図１８に示すように、画像処理装置１８００は、制御部１８０１と、主記憶部１８０２と、補助記憶部１８０３と、ドライブ装置１８０４と、ネットワークＩ／Ｆ部１８０６と、入力部１８０７と、表示部１８０８とを有する。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。また、各部は、バス１８０９によって接続されている。
【０１１１】
制御部１８０１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。また、制御部１８０１は、主記憶部１８０２又は補助記憶部１８０３に記憶された画像処理のプログラムを実行する演算装置である。制御部１８０１は、入力部１８０７や記憶装置からデータを受け取り、演算、加工した上で、表示部１８０８又は記憶装置などに出力する。
【０１１２】
また、制御部１８０１は、画像処理のプログラムを実行することで、実施形態で説明した処理を実現することができる。
【０１１３】
主記憶部１８０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）又はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などである。主記憶部１８０２は、制御部１８０１が実行する基本ソフトウェアであるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）又はアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【０１１４】
補助記憶部１８０３は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【０１１５】
ドライブ装置１８０４は、記録媒体１８０５、例えばフレキシブルディスクからプログラムを読み出し、記憶部にインストールする。
【０１１６】
また、記録媒体１８０５に、所定のプログラムを格納し、この記録媒体１８０５に格納されたプログラムはドライブ装置１８０４を介して画像処理装置１８００にインストールされる。インストールされた所定のプログラムは、画像処理装置１８００により実行可能となる。
【０１１７】
ネットワークＩ／Ｆ部１８０６は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワークを介して接続された通信機能を有する周辺機器と画像処理装置１８００とのインターフェースである。
【０１１８】
入力部１８０７は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部１８０８の表示画面上でキーの選択等を行うためのマウスやスライドパット等を有する。表示部１８０８は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等により構成され、制御部１８０１から入力される表示データに応じた表示が行われる。
【０１１９】
なお、図２の画像処理装置２００の各部は、例えば制御部１８０１及びワークメモリとしての主記憶部１８０２により実現されうる。主記憶部１８０２には、上述の誤差の情報等が格納されてもよい。
【０１２０】
画像処理装置１８００で実行されるプログラムは、実施形態で説明した各部を含むモジュール構成となっている。実際のハードウェアとしては、制御部１８０１が補助記憶部１８０３からプログラムを読み出して実行することにより上記各部のうち１又は複数の各部が主記憶部１８０２上にロードされ、１又は複数の各部が主記憶部１８０２上に生成されるようになっている。
【０１２１】
このように、上述した実施形態で説明した画像処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、実施形態で説明した処理を実現することができる。
【０１２２】
また、このプログラムを記録媒体１８０５に記録し、このプログラムが記録された記録媒体１８０５をコンピュータや携帯端末などの処理装置に読み取らせて、前述した画像処理を実現させることも可能である。
【０１２３】
なお、記録媒体１８０５は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等のように情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【０１２４】
また、上述した各実施例で説明した画像処理は、１つ又は複数の集積回路に実装されてもよい。なお、画像処理装置１８００は、上記の通り、画像処理装置２００の少なくとも一部の装置としての機能を有してもよい。
【０１２５】
また、上述した実施形態における画像処理装置は、符号化技術に対して適用可能であり、Ｈ．２６４／ＡＶＣやＨＥＶＣだけに限られるものではない。
【０１２６】
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記変形例以外にも種々の変形及び変更が可能である。
【０１２７】
以上の実施形態に対し、以下の付記を開示する。
（付記１）
処理対象画像の部分領域であるブロック又は前記ブロックを分割したサブブロックが参照画像のどの領域から動いたかを示す動きベクトルを探索する、動きベクトル探索部と、
注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、それぞれの第１の誤差を算出する第１の誤差算出部と、
前記第１の誤差算出部が算出する複数の第１の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定する、サブブロック特定部と、
前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第２の誤差を算出する第２の誤差算出部と、
前記第１の誤差と、前記第２の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する、動きベクトル決定部と、
を有する画像処理装置。
（付記２）
前記サブブロック特定部は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記１記載の画像処理装置。
（付記３）
前記サブブロック特定部は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の絶対値の合計が、第２の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記１記載の画像処理装置。
（付記４）
前記サブブロック特定部は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の絶対値の平均値を、前記複数の第１の誤差の絶対値の平均値で除算した値が、第３の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記１記載の画像処理装置。
（付記５）
前記サブブロック特定部は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の絶対値の平均値を、前記複数の第１の誤差の絶対値のうち前記第１の閾値を超えない第１の誤差の絶対値の平均値で除算した値が、第４の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記１記載の画像処理装置。
（付記６）
前記サブブロック特定部は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の数が、第５の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記１記載の画像処理装置。
（付記７）
前記動きベクトル決定部は、
前記第１の誤差の絶対値から前記第２の誤差の絶対値を減算した値を、第６の閾値と比較する比較部と、
前記減算した値が前記第６の閾値を超える場合、前記所定のサブブロックの動きベクトルとして、前記隣接ブロックの動きベクトルを採用し、前記減算した値が前記第６の閾値を超えない場合、前記所定のサブブロックの動きベクトルとして、前記注目ブロックの動きベクトルを採用する、動きベクトル採用部と、
を含む、
付記１ないし６のうちいずれか１項記載の画像処理装置。
（付記８）
前記動きベクトル採用部は、前記減算した値が前記第６の閾値を超える場合、前記所定のサブブロックの動きベクトルとして、前記隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる、前記所定のサブブロックに対応する参照画像の領域の所定の周辺領域について、前記所定のサブブロックの動きベクトルを探索するよう、前記動きベクトル探索部に指示し、探索された動きベクトルを前記所定のサブブロックの動きベクトルとして採用する、付記７記載の画像処理装置。
（付記９）
前記動きベクトル採用部は、前記注目ブロックに関し、前記減算した値が前記第６の閾値を超える場合の数が、第７の閾値を超えない場合、前記減算した値が前記第６の閾値を超える場合であっても、前記所定のサブブロックの動きベクトルとして、前記注目ブロックの動きベクトルを採用する、付記７又は８記載の画像処理装置。
（付記１０）
前記動きベクトル採用部は、前記動きベクトル採用部が、前記所定のサブブロックの全ての動きベクトルとして、前記注目ブロックの動きベクトルを採用することを決定した場合、前記注目ブロックをサブブロックに分割しない、付記７ないし９のうちいずれか１項記載の画像処理装置。
（付記１１）
コンピュータが、
処理対象画像の部分領域であるブロック又は前記ブロックを分割したサブブロックが参照画像のどの領域から動いたかを示す動きベクトルを探索する段階と、
注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、それぞれの第１の誤差を算出する段階と、
前記第１の誤差を算出する段階が算出する複数の第１の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定する段階と、
前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第２の誤差を算出する段階と、
前記第１の誤差と、前記第２の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する段階と、
を有する画像処理方法。
（付記１２）
前記サブブロックを特定する段階は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記１１記載の画像処理方法。
（付記１３）
前記サブブロックを特定する段階は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の絶対値の合計が、第２の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記１１記載の画像処理方法。
（付記１４）
前記サブブロックを特定する段階は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の絶対値の平均値を、前記複数の第１の誤差の絶対値の平均値で除算した値が、第３の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記１１記載の画像処理方法。
（付記１５）
前記サブブロックを特定する段階は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の絶対値の平均値を、前記複数の第１の誤差の絶対値のうち前記第１の閾値を超えない第１の誤差の絶対値の平均値で除算した値が、第４の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記１１記載の画像処理方法。
（付記１６）
前記サブブロックを特定する段階は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の数が、第５の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記１１記載の画像処理方法。
（付記１７）
前記動きベクトルを決定する段階は、
前記第１の誤差の絶対値から前記第２の誤差の絶対値を減算した値を、第６の閾値と比較する段階と、
前記減算した値が前記第６の閾値を超える場合、前記所定のサブブロックの動きベクトルとして、前記隣接ブロックの動きベクトルを採用し、前記減算した値が前記第６の閾値を超えない場合、前記所定のサブブロックの動きベクトルとして、前記注目ブロックの動きベクトルを採用する段階と、
を含む、
付記１１ないし１６のうちいずれか１項記載の画像処理方法。
（付記１８）
前記動きベクトルを採用する段階は、前記減算した値が前記第６の閾値を超える場合、前記所定のサブブロックの動きベクトルとして、前記隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる、前記所定のサブブロックに対応する参照画像の領域の所定の周辺領域について、前記所定のサブブロックの動きベクトルを探索し、探索された動きベクトルを前記所定のサブブロックの動きベクトルとして採用する、付記１７記載の画像処理方法。
（付記１９）
前記動きベクトルを採用する段階は、前記注目ブロックに関し、前記減算した値が前記第６の閾値を超える場合の数が、第７の閾値を超えない場合、前記減算した値が前記第６の閾値を超える場合であっても、前記所定のサブブロックの動きベクトルとして、前記注目ブロックの動きベクトルを採用する、付記１７又は１８記載の画像処理方法。
（付記２０）
前記動きベクトルを採用する段階が、前記所定のサブブロックの全ての動きベクトルとして、前記注目ブロックの動きベクトルを採用することを決定した場合、前記動きベクトルを採用する段階は、前記注目ブロックをサブブロックに分割しない、付記１７ないし１９のうちいずれか１項記載の画像処理方法。
（付記２１）
処理対象画像の部分領域であるブロック又は前記ブロックを分割したサブブロックが参照画像のどの領域から動いたかを示す動きベクトルを探索し、
注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、複数の第１の誤差を算出し、
前記第１の誤差を算出する処理が算出する複数の第１の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定する段階と、
前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第２の誤差を算出し、
前記第１の誤差と、前記第２の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する、
処理をコンピュータに実行させる画像処理プログラム。
（付記２２）
前記サブブロックを特定する処理は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記２１記載の画像処理プログラム。
（付記２３）
前記サブブロックを特定する処理は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の絶対値の合計が、第２の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記２１記載の画像処理プログラム。
（付記２４）
前記サブブロックを特定する処理は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の絶対値の平均値を、前記複数の第１の誤差の絶対値の平均値で除算した値が、第３の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記２１記載の画像処理プログラム。
（付記２５）
前記サブブロックを特定する処理は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の絶対値の平均値を、前記複数の第１の誤差の絶対値のうち前記第１の閾値を超えない第１の誤差の絶対値の平均値で除算した値が、第４の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記２１記載の画像処理プログラム。
（付記２６）
前記サブブロックを特定する処理は、前記複数の第１の誤差の絶対値のうち第１の閾値を超える第１の誤差の数が、第５の閾値を超える場合、前記第１の閾値を超える第１の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記２１記載の画像処理プログラム。
（付記２７）
前記動きベクトルを決定する処理は、
前記第１の誤差の絶対値から前記第２の誤差の絶対値を減算した値を、第６の閾値と比較し、
前記減算した値が前記第６の閾値を超える場合、前記所定のサブブロックの動きベクトルとして、前記隣接ブロックの動きベクトルを採用し、前記減算した値が前記第６の閾値を超えない場合、前記所定のサブブロックの動きベクトルとして、前記注目ブロックの動きベクトルを採用する、
処理を含む、
付記２１ないし２６のうちいずれか１項記載の画像処理プログラム。
（付記２８）
前記動きベクトルを採用する処理は、前記減算した値が前記第６の閾値を超える場合、前記所定のサブブロックの動きベクトルとして、前記隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる、前記所定のサブブロックに対応する参照画像の領域の所定の周辺領域について、前記所定のサブブロックの動きベクトルを探索し、探索された動きベクトルを前記所定のサブブロックの動きベクトルとして採用する、付記２７記載の画像処理プログラム。
（付記２９）
前記動きベクトルを採用する処理は、前記注目ブロックに関し、前記減算した値が前記第６の閾値を超える場合の数が、第７の閾値を超えない場合、前記減算した値が前記第６の閾値を超える場合であっても、前記所定のサブブロックの動きベクトルとして、前記注目ブロックの動きベクトルを採用する、付記２７又は２８記載の画像処理プログラム。
（付記３０）
前記動きベクトルを採用する処理が、前記所定のサブブロックの全ての動きベクトルとして、前記注目ブロックの動きベクトルを採用することを決定した場合、前記動きベクトルを採用する処理は、前記注目ブロックをサブブロックに分割しない、付記２７ないし２９のうちいずれか１項記載の画像処理プログラム。
【符号の説明】
【０１２８】
２００  画像処理装置
２１０  動きベクトル探索部
２２０  第１の誤差算出部
２３０  サブブロック特定部
２４０  第２の誤差算出部
２６０  ベクトル決定部
２６２  比較部
２６４  ベクトル採用部
１８００  画像処理装置
【図１】
2014183544.tif 000003
【図２】
2014183544.tif 000004
【図３】
2014183544.tif 000005
【図４】
2014183544.tif 000006
【図５】
2014183544.tif 000007
【図６】
2014183544.tif 000008
【図７】
2014183544.tif 000009
【図８】
2014183544.tif 000010
【図９】
2014183544.tif 000011
【図１０】
2014183544.tif 000012
【図１１】
2014183544.tif 000013
【図１２】
2014183544.tif 000014
【図１３】
2014183544.tif 000015
【図１４】
2014183544.tif 000016
【図１５】
2014183544.tif 000017
【図１６】
2014183544.tif 000018
【図１７】
2014183544.tif 000019
【図１８】
2014183544.tif 000020