(57)【要約】【課題】計算コストを少なくして、かつ高精度に動き探索を行うことができるようにする。【解決手段】入力されたActivity値とDIFF＿XORSUM値とが、それぞれに予め定められた閾値未満か否かを判別する。そして、Activity値が閾値未満、もしくはDIFF＿XORSUM値が閾値未満であった場合は、動きベクトルとして基準ベクトルを選択する。一方、Activity値が閾値以上かつDIFF＿XORSUM値が閾値以上の場合は、動きベクトルとしてＮ値画像探索ベクトルを選択する。【選択図】図１
2015122573.tif 000002
【特許請求の範囲】
【請求項１】
動画のフレーム画像である原画像から、ブロック単位で前記原画像よりも階調数が小さい画像を生成する生成手段と、
前記生成手段によって生成された前記原画像よりも階調数が小さい画像に基づいて動き検出を行う第１の動き検出手段と、
前記原画像の特徴量を示すパラメータを算出する算出手段と、
前記算出手段によって算出されたパラメータに基づいて、前記第１の動き検出手段の検出結果、または基準ベクトルを動きベクトルとして選択する選択手段とを有することを特徴とする動き検出装置。
【請求項２】
前記基準ベクトルは、周囲のブロックから予測されたベクトルであることを特徴とする請求項１に記載の動き検出装置。
【請求項３】
前記基準ベクトルは、０ベクトルであることを特徴とする請求項１に記載の動き検出装置。
【請求項４】
前記選択手段は、前記パラメータと、前記第１の動き検出手段の検出結果と前記基準ベクトルとの間の差分絶対値和の差分とに基づいて、前記第１の動き検出手段の検出結果、または基準ベクトルを動きベクトルとして選択することを特徴とする請求項１〜３の何れか１項に記載の動き検出装置。
【請求項５】
前記選択手段は、前記パラメータ及び前記差分絶対値和の差分がともに所定値以上である場合に前記第１の動き検出手段の検出結果を動きベクトルとして選択することを特徴とする請求項４に記載の動き検出装置。
【請求項６】
前記選択手段によって選択された動きベクトルを基準として前記原画像における動き検出を行う第２の動き検出手段をさらに有することを特徴とする請求項１〜５の何れか１項に記載の動き検出装置。
【請求項７】
前記原画像を撮影した撮像部の動きに係る情報を取得する取得手段をさらに有し、
前記選択手段は、さらに前記取得手段によって取得された前記撮像部の動きに係る情報に基づいて、前記第１の動き検出手段の検出結果、または基準ベクトルを動きベクトルとして選択することを特徴とする請求項４又は５に記載の動き検出装置。
【請求項８】
動画のフレーム画像である原画像から、ブロック単位で前記原画像よりも階調数が小さい画像を生成する生成工程と、
前記生成工程において生成された前記原画像よりも階調数が小さい画像に基づいて動き検出を行う第１の動き検出工程と、
前記原画像の特徴量を示すパラメータを算出する算出工程と、
前記算出工程において算出されたパラメータに基づいて、前記第１の動き検出工程の検出結果、または基準ベクトルを動きベクトルとして選択する選択工程とを有することを特徴とする動き検出方法。
【請求項９】
動画のフレーム画像である原画像から、ブロック単位で前記原画像よりも階調数が小さい画像を生成する生成工程と、
前記生成工程において生成された前記原画像よりも階調数が小さい画像に基づいて動き検出を行う第１の動き検出工程と、
前記原画像の平坦度を示すパラメータを算出する算出工程と、
前記算出工程において算出されたパラメータに基づいて、前記第１の動き検出工程の検出結果、または基準ベクトルを動きベクトルとして選択する選択工程とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、符号化処理において動きベクトルを算出するために用いて好適な動き検出装置、動き検出方法及びプログラムに関する。
【背景技術】
【０００２】
Ｈ．２６ｘやＭＰＥＧ、ＨＥＶＣ等の符号化方式では、動画の１フレームを複数のブロックに分割し、ブロック単位に符号化を行う。圧縮符号化の方式として、時間的相関性を利用した符号化方式（インター符号化）と、空間的相関性を利用した符号化方式（イントラ符号化）とがある。その中で、時間的相関を利用した符号化方式では、フレーム間の動きを探索し、当該ブロックの動きベクトルおよびブロック間の差分を求めて符号化を行う。
【０００３】
インター符号化を行う際に、最も相関の高い動きベクトルを高精度に求めるためには、全探索を行うことが考えられる。しかし、例えば８ビット、１６×１６画素のブロックを参照フレームの探索領域である６４×６４画素の全てと比較すると、８ビットの比較演算が１６×１６×６４×６４＝１０４８５７６回必要となる。このように全探索を行うと、計算コストが膨大なものになってしまう。
【０００４】
そこで、計算コストを削減するために、二値画像やＮ（Ｎ≧２）値画像を用いた動き探索方式など様々な方式が提案されている（例えば特許文献１参照）。二値画像を用いた探索方式では、入力画像として二値画像を用いることにより一画素あたりの計算コストを８ビットから１ビットに低減することができる。また、二値画像やＮ値画像を用いた探索方式で検出した動きベクトルを探索の中心とし、小さい探索領域に対して多値画像で動き探索を行う方式も提案されている（例えば特許文献２参照）。この方式では、多値画像で探索する領域を小さくすることにより、多値画像で全探索領域を探索する場合と比較して計算コストを低減することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−４９０１７号公報
【特許文献２】特開２００８−６１１３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の二値画像を用いた探索方式では、入力画像として二値画像を用いると２ビットで探索を行うため、計算コストは少ないが探索精度が低下してしまい、特に画像の中の平坦な箇所では探索精度が低下してしまう。この理由について図２を用いて説明する。
【０００７】
図２において、現フレーム多値画像２０１及び参照フレーム多値画像２０２の中の太枠に囲まれたブロック２０５、２０６は、他のブロックと画素値が異なることを示す。なお、図２の各四角形のマスは１画素を表している。図２に示す例の場合、現フレーム多値画像２０１及び参照フレーム多値画像２０２をそれぞれ二値化した結果、現フレーム二値画像２０３及び参照フレーム二値画像２０４の画素値には、変化が表れていない。この理由は、現フレーム多値画像２０１や参照フレーム多値画像２０２における画素値の変化が乏しいためである。このように現フレーム多値画像２０１や参照フレーム多値画像２０２が平坦な画像であり画像の中の画素値の変化が乏しいと、二値画像に変換すると全く画素の変化がない画像になってしまう。
【０００８】
また、動きベクトルの探索については、説明を簡単にするために、２×２画素のブロックに対して、６×６画素の探索領域を探索することとする。現フレーム多値画像２０１の太枠で囲んだ２×２画素のブロック２０５が探索する対象ブロックとすると、一例として、参照フレーム多値画像２０２の太枠で囲んだ２×２画素のブロック２０６とブロックマッチングする。また、現フレーム二値画像２０３中の２×２画素のブロック２０７がブロック２０５に対応している。したがって、参照フレーム二値画像２０４中の太枠で囲んだ２×２画素のブロック２０８がブロック２０７とマッチングすることとなる。
【０００９】
以上のように、平坦な箇所では、多値画像を用いた探索方式の結果と二値画像を用いた探索方式の結果とが異なる場合がある。つまり、二値画像を用いた探索方式の場合は探索精度が低下してしまい、符号化効率が低下するという問題がある。
【００１０】
また、二値画像やＮ値画像を用いた探索方式で検出した動きベクトルを探索の中心として、小さい探索領域に対して多値画像で動き探索する場合も、多値画像で探索領域を全て探索する場合よりは計算コストは少ないが、探索精度が低下してしまう。つまり、探索精度が低いため、二値画像やＮ値画像を用いた探索方式で検出した動きベクトルが最も相関の高い動きベクトルから大きく外れてしまう可能性がある。また、多値画像を用いた探索方式の探索領域は小さいため、最も相関の高い動きベクトルから大きく外れてしまうと、多値画像を用いた動き探索で最も相関の高い動きベクトルに近づけることができなくなってしまい、探索精度が低下してしまう。
【００１１】
本発明は前述の問題点に鑑み、計算コストを少なくして、かつ高精度に動き探索を行うことができるようにすることを目的としている。
【課題を解決するための手段】
【００１２】
本発明に係る動き検出装置は、動画のフレーム画像である原画像から、ブロック単位で前記原画像よりも階調数が小さい画像を生成する生成手段と、前記生成手段によって生成された前記原画像よりも階調数が小さい画像に基づいて動き検出を行う第１の動き検出手段と、前記原画像の特徴量を示すパラメータを算出する算出手段と、前記算出手段によって算出されたパラメータに基づいて、前記第１の動き検出手段の検出結果、または基準ベクトルを動きベクトルとして選択する選択手段とを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、計算コストを少なくして、かつ高精度に動き探索を行うことができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係る動き探索装置の構成例を示すブロック図である。
【図２】現フレーム多値画像及び参照フレーム多値画像をそれぞれ二値化した結果の一例を示す図である。
【図３】予測ベクトルPMVを説明するための概念図である。
【図４】本発明の第２の実施形態に係る動き探索装置の構成例を示すブロック図である。
【図５】動き探索を行う範囲を説明するための図である。
【図６】本発明の第３の実施形態に係る動き探索装置の構成例を示すブロック図である。
【図７】本発明の第３の実施形態において、動きベクトルを選択する処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
（第１の実施形態）
以下、本発明の第１の実施形態について図面を参照しながら説明する。
図１は、本実施形態に係る動き探索装置１００の構成例を示すブロック図である。以下、本実施形態に係る動き探索装置１００による処理について図１を参照しながら説明する。
図１において、ブロックＲＡＭ１０１は、動き探索装置１００に入力された原画像を保持する。ここで、原画像は、動画を構成するフレーム画像を矩形領域に分割した複数の画素群からなるブロックの単位で入力される。
【００１６】
Ｎ値画像生成部１０２は、入力された原画像からより階調数の少ないＮ値画像を生成する。本実施形態では、原画像は８ビットとし、Ｎ値画像は２値画像とするが、これに限定されず、原画像は１０ビットや１２ビットでもよいし、Ｎ値画像は４値画像や８値画像でもよい。Ｎ値画像ブロックＲＡＭ１０３は、Ｎ値画像生成部１０２により生成されたＮ値画像を保持する。Ｎ値画像は、フレームを矩形領域に分割した複数の画素群からなるブロックの単位で入力される。
【００１７】
Ｎ値画像フレームバッファ１１０は、Ｎ値画像生成部１０２から出力されたＮ値画像を保持する。そして、入力されたＮ値画像は、後続するフレームの符号化において参照フレームとして用いられるため、少なくとも次のフレームまで遅延させた後に、Ｎ値遅延フレーム画像として出力する。Ｎ値画像探索範囲ＲＡＭ１０７は、Ｎ値画像フレームバッファ１１０から出力されたＮ値遅延フレーム画像のうち、探索範囲として設定されたＮ値画像参照データ群を格納する。
【００１８】
Ｎ値画像動き探索部１０４は、ブロックマッチング処理に基づく動き探索処理を行う。まず、Ｎ値画像動き探索部１０４は、処理対象ブロックに対応する探索範囲を計算する。そして、Ｎ値画像探索範囲ＲＡＭ１０７から、探索範囲として設定されたＮ値画像参照データを読み出す。また、Ｎ値画像ブロックＲＡＭ１０３から、処理対象となるＮ値画像のデータを読み出す。
【００１９】
次に、Ｎ値画像動き探索部１０４は、読み出した処理対象のＮ値画像のデータと、Ｎ値画像参照データとのブロックマッチングを行う。この処理では、探索範囲内のＮ値画像参照データに対して、処理対象のＮ値画像のブロックを順次ずらしていきながらマッチングを行う。そして、最も高い類似度と評価された際の位置をもとに検出結果としてＮ値画像探索ベクトルbinMVを算出し、特徴量算出部１０５及び選択部１０６へ出力する。
【００２０】
ここで、Ｎ値画像は二値画像であるため、Ｎ値画像ブロック相互の類似度の指標としては、一般的な対応画素間の排他的論理和の合計（XORSUM値）を用いる。二値画像におけるXORSUM値は、多値画像におけるＳＡＤ（Sum of Absolute Difference）と同一である。例えば、処理対象のＮ値画像（ｘ画素×ｙ画素）の各画素値をOrgbin（０，０）〜Orgbin（ｘ−１，ｙ−１）とする。また、マッチング対象として対応するＮ値画像参照データ（ｘ画素×ｙ画素）の各画素値をRefbin（０，０）〜Refbin（ｘ−１，ｙ−１）とする。これらのXORSUM値は以下の式（１）により算出される。
【００２１】
【数１】
2015122573.tif 000003
【００２２】
排他的論理和は入力値が異なる際に真となるため、XORSUM値が小さいほど類似度が高く、大きいほど類似度が低いとみなすことができる。本実施形態では、類似度としてXORSUM値を用いたが、本発明はこれに限定されない。例えば、Ｎ値画像においては、前述したＳＡＤを用いてもよい。本実施形態においては、Ｎ値画像動き探索部１０４は、探索範囲内の全候補点に対して、ブロックマッチングを行う全探索法により動き探索を行う。しかしながら、処理時間や回路コスト等に応じて探索方法を適宜選択するようにしてもよい。
【００２３】
特徴量算出部１０５は、処理対象ブロックの特徴量を算出する。具体的にはまず、特徴量算出部１０５は、ブロックＲＡＭ１０１から原画像の処理対象ブロックを読み出し、画像の平坦度を示す指標値としてActivity値を算出する。例えば、処理対象ブロック（ｘ画素×ｙ画素）の各画素値をOrg（０，０）〜Org（ｘ−１，ｙ−１）とし、処理対象ブロックの画素平均値をAverage値とする。そのとき、処理対象ブロックの特徴量を示すActivity値は、以下の式（２）により算出される。
【００２４】
【数２】
2015122573.tif 000004
【００２５】
また、特徴量算出部１０５は、Ｎ値画像探索ベクトルbinMVが指す位置のブロックのXORSUM値と、基準ベクトル算出部１０９が出力する基準ベクトルが指す位置のブロックのXORSUM値との差分も算出する。ここで、基準ベクトルとは、本実施形態においては周囲のブロックの動きベクトルから算出される予測ベクトルPMVのことである。予測ベクトルPMVは、処理対象ブロックが画像の端部に位置しない場合は、処理対象ブロックの左、上、右上に位置する各ブロックの動きベクトルの中央値medianをとって算出される。
【００２６】
図３は、予測ベクトルPMVを説明するための概念図である。図３において、ブロック３０２は、処理対象ブロック３０１の左側のブロックであり、ブロック３０３は処理対象ブロック３０１の上側のブロックであり、ブロック３０４は処理対象ブロック３０１の右上のブロックである。例えば、処理対象ブロック３０１の左側のブロック３０２の動きベクトルをmvA（ｘ１，ｙ１）、処理対象ブロック３０１の上側のブロック３０３の動きベクトルをmvB（ｘ２，ｙ２）とする。そして、処理対象ブロック３０１の右上のブロック３０４の動きベクトルをmvC（ｘ３，ｙ３）とする。このとき、処理対象ブロック３０１の予測ベクトルPMV（ｘ，ｙ）は、以下の式（３）及び式（４）により算出される。
PMV（ｘ）＝median（ｘ１，ｘ２，ｘ３）        ・・・（３）
PMV（ｙ）＝median（ｙ１，ｙ２，ｙ３）        ・・・（４）
【００２７】
具体的な手順としては、まず、特徴量算出部１０５は、Ｎ値画像ブロックＲＡＭ１０３から処理対象であるＮ値画像のブロックのデータを読み出し、Ｎ値画像探索範囲ＲＡＭ１０７からＮ値画像参照データを読み出す。そして、特徴量算出部１０５は、Ｎ値画像動き探索部１０４で算出されたＮ値画像探索ベクトルbinMVが指す位置のブロックのXORSUM値であるMIN＿XORSUM値を算出する。このMIN＿XORSUM値は、Ｎ値画像動き探索部１０４でも算出されているので、Ｎ値画像動き探索部１０４から特徴量算出部１０５に直接その情報を出力してもよい。
【００２８】
次に、特徴量算出部１０５は、基準ベクトルが指す位置のブロックのXORSUM値であるSTDMV＿XORSUM値を算出する。そして、Ｎ値画像探索ベクトルbinMVが指す位置のブロックのXORSUM値と基準ベクトルが指す位置のブロックのXORSUM値との差分DIFF＿XORSUM値を、以下の式（５）により算出する。
DIFF＿XORSUM＝STDMV＿XORSUM−MIN＿XORSUM      ・・・（５）
【００２９】
特徴量算出部１０５は、以上のように算出したActivity値とDIFF＿XORSUM値とを選択部１０６へ出力する。
【００３０】
選択部１０６は、入力されたActivity値とDIFF＿XORSUM値とに基づき、Ｎ値画像探索ベクトルと基準ベクトルとのいずれかから最終的な動きベクトルを決定する。まず、選択部１０６は、入力されたActivity値とDIFF＿XORSUM値とが、それぞれに予め定められた閾値未満か否かを判別する。そして、Activity値が閾値未満、もしくはDIFF＿XORSUM値が閾値未満であった場合は、動きベクトルとして基準ベクトルを選択する。一方、Activity値が閾値以上かつDIFF＿XORSUM値が閾値以上の場合は、動きベクトルとしてＮ値画像探索ベクトルを選択する。
【００３１】
本実施形態では、Activity値及びDIFF＿XORSUM値と比較するそれぞれの閾値は予め定められたものとしているが、これに限定されるものではなく、動き探索装置１００の外部から閾値を与えるようにしてもよい。また、本実施形態では、Activity値とDIFF＿XORSUM値とを用いて動きベクトルを決定しているが、これに限定されるものではなく、Activity値だけを用いて決定してもよいし、DIFF＿XORSUM値だけを用いて決定してもよい。また、ブロックの輝度平均値や色差平均値を動きベクトルを決定する際に用いてもよい。さらに、本実施形態では、Activity値が閾値未満、もしくはDIFF＿XORSUM値が閾値未満の場合に基準ベクトルを選択することとするが、これに限定されるものではない。例えば、Activity値が閾値未満かつDIFF＿XORSUM値が閾値未満の場合に基準ベクトルを選択する構成でもよい。
【００３２】
動きベクトルＲＡＭ１０８は、選択部１０６が出力した動きベクトルを保持する。基準ベクトル算出部１０９は、動きベクトルＲＡＭ１０８から処理対象ブロックの周辺ブロックの動きベクトルを読み出し、基準ベクトルである予測ベクトルPMVを算出する。算出した基準ベクトルは、特徴量算出部１０５と選択部１０６とに出力される。なお、本実施形態では、基準ベクトルを予測ベクトルPMVとしたが、これに限定されるものではない。例えば、基準ベクトルを０ベクトル（ＭＶ＝（０，０））としてもよい。
【００３３】
以上のように本実施形態によれば、Activity値およびDIFF＿XORSUM値が所定値以上の場合に、動きベクトルとしてＮ値画像探索ベクトルを選択するようにした。このように、Ｎ値画像を用いた動き探索の精度が低い場合には、動きベクトルを基準ベクトルに置き換えることによって、探索精度を向上させることができる。Ｈ．２６ｘやＭＰＥＧ、ＨＥＶＣ等の符号化方式では動きベクトルと基準ベクトルとの差分を符号化するため、動きベクトルを基準ベクトルに置き換えることにより、符号量を減らすこともできる。
【００３４】
（第２の実施形態）
以下、本発明の第２の実施形態について、図面を参照しながら説明する。
図４は、本実施形態に係る動き探索装置４００の構成例を示すブロック図である。なお、図１と同じ符号を付している構成については第１の実施形態と同様であるため、説明は省略する。以下、第１の実施形態と異なる点について説明する。
【００３５】
図４において、多値画像動き探索部４１１は、選択部１０６が出力した動きベクトルを基準位置として、多値画像を使用した動き探索を行う。多値画像フレームバッファ４１３は、原画像をブロック単位で保持し、後続するフレームの符号化において参照フレームとして原画像を用いるために、少なくとも次のフレームまで遅延させた後、遅延フレーム画像として出力する。多値画像探索範囲ＲＡＭ４１２は、多値画像フレームバッファ４１３から出力された遅延フレーム画像のうち、探索範囲として設定された遅延フレーム画像を多値画像参照データ群として格納する。
【００３６】
多値画像動き探索部４１１は、まず、処理対象ブロックに対応する探索範囲を計算する。そして、多値画像探索範囲ＲＡＭ４１２から、探索範囲として設定された多値画像参照データを読み出すとともに、ブロックＲＡＭ１０１から、処理対象となる原画像のデータを読み出す。次に、多値画像動き探索部４１１は、読み出した処理対象の原画像のデータと、多値画像参照データとのブロックマッチングを行う。この処理では、探索範囲内の多値画像参照データに対して、処理対象の原画像のブロックを順次ずらしていきながらマッチングを行う。そして、最も高い類似度と評価された際の位置をもとに探索ベクトルMVを動きベクトルとして算出する。
【００３７】
ここで、図５を参照しながら探索範囲について説明する。多値画像動き探索部４１１は、対象ブロック５０２を基準点とするのではなく、動きベクトル５０３が指すブロック５０４を基準位置として動き探索を行う。このとき、探索範囲は、二値画像を用いた動き探索の探索範囲５０１よりも小さい探索範囲５０５について全探索を行う。
【００３８】
以上のように本実施形態によれば、Ｎ値画像の動き探索の精度が低い場合に基準ベクトルを動きベクトルに置き換え、該動きベクトルを基準としてより小さい範囲で多値画像の動き探索を行うようにした。これによって、探索精度をより向上させることができる。
【００３９】
（第３の実施形態）
以下、本発明の第３の実施形態について、図面を参照しながら説明する。
図６は、本実施形態に係る動き探索装置６００の構成例を示すブロック図である。図６において、図４と同一の構成については、それぞれ図４の対応するブロックと同一であるため、説明を省略する。以下、第２の実施形態と異なる点について説明する。
カメラパラメータ取得部６１４は、動き探索装置６００自体が動いているか、もしくは静止しているかをモーションセンサで検出して、その情報（カメラパラメータ）を取得する。そして、取得したカメラパラメータを選択部６０６へ出力する。すなわち、現画像を撮影した不図示の撮像部が動いているか、もしくは静止しているかを検出することとなる。
【００４０】
選択部６０６は、特徴量（Activity値及びDIFF＿XORSUM値）とカメラパラメータとに基づいて二値画像探索ベクトルまたは基準ベクトルを選択する。ここで、選択部６０６の動作について、図７を参照しながら説明する。
【００４１】
図７は、選択部６０６により動きベクトルを選択する処理手順の一例を示すフローチャートである。
まず、ステップＳ７０１において、カメラパラメータより不図示の撮像部が動いているかどうかを判別する。この判別の結果、撮像部が動いている場合はステップＳ７０２に進み、撮像部が静止している場合はステップＳ７０５に進む。
【００４２】
次に、ステップＳ７０２において、Activity値が閾値未満かどうかを判別する。この判別の結果、Activity値が閾値未満である場合はステップＳ７０４に進み、動きベクトルとして予測ベクトルPMVを選択する。一方、Activity値が閾値以上の場合はステップＳ７０３に進む。そして、ステップＳ７０３において、基準ベクトルを予測ベクトルPMVとしたときにDIFF＿XORSUM値が閾値未満であるかどうかを判別する。この判別の結果、DIFF＿XORSUM値が閾値未満である場合はステップＳ７０４に進み、DIFF＿XORSUM値が閾値以上である場合はステップＳ７０８に進む。ステップＳ７０８においては、動きベクトルとしてＮ値画像探索ベクトルbinMVを選択する。
【００４３】
一方、ステップＳ７０５においては、Activity値が閾値未満かどうかを判別する。この判別の結果、Activity値が閾値未満である場合はステップＳ７０７に進み、動きベクトルとして０ベクトル（ＭＶ＝（０，０））を選択する。一方、Activity値が閾値以上である場合はステップＳ７０６に進む。そして、ステップＳ７０６において、基準ベクトルを０ベクトルとしたときにDIFF＿XORSUM値が閾値未満であるかどうかを判別する。この判別の結果、DIFF＿XORSUM値が閾値未満である場合はステップＳ７０７に進み、DIFF＿XORSUM値が閾値以上である場合はステップＳ７０８に進む。
【００４４】
以上のように、撮像部に動きがある場合は基準ベクトルとして予測ベクトルPMVを採用し、撮像部に動きがない場合は基準ベクトルとして０ベクトルを採用する。なお、本実施形態では、撮像部が動いているか、静止しているかの情報をカメラパラメータとして用いたが、露出パラメータやカメラの撮影モード等を用いてもよい。
【００４５】
以上のように本実施形態によれば、撮像部に動きがあり、かつＮ値画像動き探索の精度が低い場合には基準ベクトルとして予測ベクトルPMVに動きベクトルを置き換える。一方、撮像部に動きがなく、かつＮ値画像動き探索の精度が低い場合には基準ベクトルとして０ベクトルに動きベクトルを置き換える。また、該動きベクトルを基準として小さい範囲で多値画像を用いた動き探索を行うことによって、探索精度をさらに向上させることができる。特に、撮像部に動きがない場合は、フレーム内の大部分において動きがない可能性が高いため、動きベクトルを０ベクトルに置き換えることによって符号量を減らすことができる。
【００４６】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００４７】
１０２  Ｎ値画像生成部
１０４  Ｎ値画像動き探索部
１０５  特徴量算出部
１０６  選択部
【図１】
2015122573.tif 000005
【図２】
2015122573.tif 000006
【図３】
2015122573.tif 000007
【図４】
2015122573.tif 000008
【図５】
2015122573.tif 000009
【図６】
2015122573.tif 000010
【図７】
2015122573.tif 000011