(57)【要約】【課題】ＡＤＲＣコードを生成する際に、ＤＲが小さいことにより発生する誤差を抑制する。【解決手段】クラスタップ抽出部７２により抽出されたクラスタップに基づいて、ＤＲ算出部５２は、ＤＲを算出し、使用ビット長決定部８１に出力する。使用ビット長決定部８１は、ＤＲに対応して予め決定されている使用ビット長の情報を記憶したテーブル８１ａを有しており、入力されたＤＲに対応する使用ビット長をテーブル８１ａから決定し、決定した使用ビット長の情報をＡＤＲＣコード生成部８２に出力する。ＡＤＲＣコード生成部８２は、クラスタップ抽出部７２より入力されるクラスタップの情報を使用ビット長決定部８１より入力された使用ビット長で処理し、ＤＲ演算部５２より入力されたＤＲ、および、最小値でＡＤＲＣコードを生成する。本発明は、動きベクトルを生成する装置に適用することができる。【選択図】　　　図２４
2004134990.tif 000002
【特許請求の範囲】
【請求項１】
第１、または、第２のフレームの各画素からクラスタップを抽出するクラスタップ抽出手段と、
前記クラスタップのダイナミックレンジを検出するダイナミックレンジ検出手段と、
前記ダイナミックレンジに基づいて、前記クラスタップのビット長を決定するビット長決定手段と、
前記クラスタップ抽出手段により抽出された前記クラスタップの、前記ビット長決定手段により決定された前記ビット長のビットから、量子化コードを生成する量子化コード生成手段と、
前記量子化コード生成手段により生成された量子化コード毎に対応する各画素位置の情報を記憶する記憶手段と、
前記第２のフレーム中の注目画素の量子化コードに対応する前記第１のフレームの画素位置の情報を、前記記憶手段より読み出す読出し手段と、
前記読出し手段により読み出された前記第１のフレームの画素位置の情報のうち、前記第２のフレーム中の注目画素との距離が最小となる画素を検出する画素検出手段と
を備えることを特徴とする画像処理装置。
【請求項２】
ビット長決定手段は、前記ダイナミックレンジと対応するビット長の情報を記憶したテーブルを備え、前記ダイナミックレンジに基づいてビット長の情報を前記テーブルから読み出して、前記クラスタップのビット長を決定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画素検出手段により検出された画素と前記注目画素の画素位置の情報に基づいて、動きベクトルを生成する動きベクトル生成手段をさらに備える
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記動きベクトル生成手段により生成された前記動きベクトルの大きさを所定の動きベクトルの大きさと比較する動きベクトル比較手段をさらに備え、
前記動きベクトル比較手段の比較結果が、前記所定の動きベクトルの大きさよりも、前記動きベクトル生成手段により生成された前記動きベクトルの大きさの方が大きい場合、前記読出し手段は、前記第２のフレーム中の注目画素の量子化コードに類似する量子化コードに対応する前記第１のフレームの画素位置の情報を、前記記憶手段より読み出す
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
第１、または、第２のフレームの各画素からクラスタップを抽出するクラスタップ抽出ステップと、
前記クラスタップのダイナミックレンジを検出するダイナミックレンジ検出ステップと、
前記ダイナミックレンジに基づいて、前記クラスタップのビット長を決定するビット長決定ステップと、
前記クラスタップ抽出ステップの処理で抽出された前記クラスタップの、前記ビット長決定ステップの処理で決定された前記ビット長のビットから、量子化コードを生成する量子化コード生成ステップと、
前記量子化コード生成ステップの処理で生成された量子化コード毎に対応する各画素位置の情報を記憶する記憶ステップと、
前記記憶ステップの処理で記憶された前記第２のフレーム中の注目画素の量子化コードに対応する前記第１のフレームの画素位置の情報を読み出す読出しステップと、
前記読出しステップの処理で読み出された前記第１のフレームの画素位置の情報のうち、前記第２のフレーム中の注目画素との距離が最小となる画素を検出する画素検出ステップと
を含むことを特徴とする画像処理方法。
【請求項６】
第１、または、第２のフレームの各画素からクラスタップを抽出するクラスタップ抽出ステップと、
前記クラスタップのダイナミックレンジを検出するダイナミックレンジ検出ステップと、
前記ダイナミックレンジに基づいて、前記クラスタップのビット長を決定するビット長決定ステップと、
前記クラスタップ抽出ステップの処理で抽出された前記クラスタップの、前記ビット長決定ステップの処理で決定された前記ビット長のビットから、量子化コードを生成する量子化コード生成ステップと、
前記量子化コード生成ステップの処理で生成された量子化コード毎に対応する各画素位置の情報を記憶する記憶ステップと、
前記記憶ステップの処理で記憶された前記第２のフレーム中の注目画素の量子化コードに対応する前記第１のフレームの画素位置の情報を読み出す読出しステップと、
前記読出しステップの処理で読み出された前記第１のフレームの画素位置の情報のうち、前記第２のフレーム中の注目画素との距離が最小となる画素を検出する画素検出ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項７】
第１、または、第２のフレームの各画素からクラスタップを抽出するクラスタップ抽出ステップと、
前記クラスタップのダイナミックレンジを検出するダイナミックレンジ検出ステップと、
前記ダイナミックレンジに基づいて、前記クラスタップのビット長を決定するビット長決定ステップと、
前記クラスタップ抽出ステップの処理で抽出された前記クラスタップの、前記ビット長決定ステップの処理で決定された前記ビット長のビットから、量子化コードを生成する量子化コード生成ステップと、
前記量子化コード生成ステップの処理で生成された量子化コード毎に対応する各画素位置の情報を記憶する記憶ステップと、
前記記憶ステップの処理で記憶された前記第２のフレーム中の注目画素の量子化コードに対応する前記第１のフレームの画素位置の情報を読み出す読出しステップと、
前記読出しステップの処理で読み出された前記第１のフレームの画素位置の情報のうち、前記第２のフレーム中の注目画素との距離が最小となる画素を検出する画素検出ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、より正確に動きベクトルを検出できるようにした画像処理装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
画像の動きを示す動きベクトルを求め、この動きベクトルに基づいて効率よく動画像を圧縮する技術がある。
【０００３】
この動画像圧縮技術における上述の動きベクトルを求める手法としては、いくつか提案されているが、代表的な手法としてブロックマッチングアルゴリズムと呼ばれる手法がある。
【０００４】
図１は、ブロックマッチングアルゴリズムを採用した従来の画像処理装置の動き検出部１の構成を示している。
【０００５】
動き検出部１のフレームメモリ１１は、例えば、時刻ｔ１において、入力端子Ｔｉｎから画像信号が入力されると、１フレーム分の情報を格納する。さらに、フレームメモリ１１は、次のタイミングとなる時刻ｔ２において、入力端子Ｔｉｎから次のフレームの画像信号が入力されると、時刻ｔ１において、格納した１フレーム分の画像情報をフレームメモリ１２に出力した後、新たに入力された１フレーム分の画像情報を格納する。
【０００６】
また、フレームメモリ１２は、時刻ｔ２のタイミングで、フレームメモリ１１から入力されてくる時刻ｔ１のタイミングで入力端子Ｔｉｎから入力されてきた１フレーム分の画像情報を格納する。
【０００７】
すなわち、フレームメモリ１１が、上述の時刻ｔ２のタイミングで入力される（今現在の）１フレーム分の画像情報を格納するとき、フレームメモリ１２は、時刻ｔ１のタイミングで入力された（１タイミング過去の）１フレーム分の画像情報を格納していることになる。尚、以下において、フレームメモリ１１に格納される画像情報をカレントフレームＦｃ、フレームメモリ１２に格納される画像情報を参照フレームＦｒと称するものとする。
【０００８】
動きベクトル検出部１３は、フレームメモリ１１，１２に格納されているカレントフレームＦｃと参照フレームＦｒをそれぞれから読出し、このカレントフレームＦｃと参照フレームＦｒに基づいて、ブロックマッチングアルゴリズムにより動きベクトルを検出し、出力端子Ｔｏｕｔから出力する。
【０００９】
ここで、ブロックマッチングアルゴリズムについて説明する。例えば、図２で示すように、カレントフレームＦｃ内の注目画素Ｐ（ｉ，ｊ）に対応する動きベクトルを求める場合、まず、カレントフレームＦｃ上に注目画素Ｐ（ｉ，ｊ）を中心としたＬ（画素数）×Ｌ（画素数）からなる基準ブロックＢｂ（ｉ，ｊ）、参照フレームＦｒ上に、注目画素Ｐ（ｉ，ｊ）の位置に対応するサーチエリアＳＲ、そして、そのサーチエリアＳＲ内に、Ｌ（画素数）×Ｌ（画素数）の画素からなる参照ブロックＢｒｎ（ｉ，ｊ）がそれぞれ設定される。
【００１０】
次に、この基準ブロックＢｂ（ｉ，ｊ）と、参照ブロックＢｒｎ（ｉ，ｊ）の各画素間の差分の絶対値の和を求める処理が、参照ブロックＢｒｎ（ｉ，ｊ）をサーチエリアＳＲ内の全域で水平方向、または、垂直方向に１画素分ずつ移動させながら、図２中のＢｒ１（ｉ，ｊ）からＢｒｍ（ｉ，ｊ）（参照ブロックＢｒｎ（ｉ，ｊ）が、サーチエリアＳＲ内にｍ個設定できるものとする）まで繰り返される。
【００１１】
このようにして求められた基準ブロックＢｂ（ｉ，ｊ）と、参照ブロックＢｒｎ（ｉ，ｊ）の各画素間の差分絶対値和のうち、差分絶対値和が最小となる参照ブロックＢｒｎ（ｉ，ｊ）を求めることにより、基準ブロックＢｂ（ｉ，ｊ）に最も近い（類似している）参照ブロックＢｒｎ（ｉ，ｊ）を構成するＬ×Ｌ個の画素の中心となる参照画素Ｐｎ（ｉ，ｊ）が求められる。
【００１２】
そして、このカレントフレームＦｃ上の注目画素Ｐ（ｉ，ｊ）に対応する参照フレームＦｒ上の画素Ｐ’（ｉ，ｊ）を始点とし、参照画素Ｐｎ（ｉ，ｊ）を終点とするベクトルが、注目画素Ｐ（ｉ，ｊ）の動きベクトル（Ｖｘ，Ｖｙ）として出力される。ここで、例えば、Ｐ（ｉ，ｊ）＝（ａ，ｂ）、および、Ｐｎ（ｉ，ｊ）＝（ｃ，ｄ）である場合、（Ｖｘ，Ｖｙ）は、（Ｖｘ，Ｖｙ）＝（ｃ−ａ，ｄ−ｂ）となる。
【００１３】
すなわち、注目画素Ｐ（ｉ，ｊ）に対応する参照フレームＦｒ上の参照画素Ｐ’（ｉ，ｊ）を始点とし、基準ブロックＢｂ（ｉ，ｊ）に最も近い（類似している）参照ブロックＢｒｎ（ｉ，ｊ）を構成するＬ×Ｌ個の画素の中心となる参照画素Ｐｎ（ｉ，ｊ）を終点とするベクトルが動きベクトルとして求められる。
【００１４】
次に、図３のフローチャートを参照して、図１の動き検出部１の動き検出処理について説明する。
【００１５】
ステップＳ１において、動きベクトル検出部１３は、フレームメモリ１１に格納されているカレントフレームＦｃ上の注目画素Ｐ（ｉ，ｊ）の画素位置に応じて、サーチエリアＳＲを設定する。
【００１６】
ステップＳ２において、動きベクトル検出部１３は、上述のように、基準ブロックＢｂ（ｉ，ｊ）と参照ブロックＢｒｎ（ｉ，ｊ）の画素間の差分絶対値和の最小値を設定する変数Ｍｉｎを、画素の階調数に基準ブロックＢｂ（ｉ，ｊ）を構成する画素数を乗じた値に設定することにより初期化する。すなわち、例えば、１画素が８ビットのデータであった場合、１画素の階調数は、２の８乗となるため２５６階調（２５６色）となる。また、基準ブロックＢｂ（ｉ，ｊ）がＬ画素×Ｌ画素＝３画素×３画素から構成される場合、その画素数は、９個となる。結果として、変数Ｍｉｎは、２３０４（＝２５６（階調数）×９（画素数））に初期化される。
【００１７】
ステップＳ３において、動きベクトル検出部１３は、参照ブロックＢｒｎ（ｉ，ｊ）をカウントするカウンタ変数ｎを１に初期化する。
【００１８】
ステップＳ４において、動きベクトル検出部１３は、基準ブロックＢｂ（ｉ，ｊ）と参照ブロックＢｒｎ（ｉ，ｊ）の画素間の差分絶対値和を代入するために用いる変数Ｓｕｍを０に初期化する。
【００１９】
ステップＳ５において、動きベクトル検出部１３は、基準ブロックＢｂ（ｉ，ｊ）と参照ブロックＢｒｎ（ｉ，ｊ）の画素間の差分絶対値和（＝Ｓｕｍ）を求める。すなわち、基準ブロックＢｂ（ｉ，ｊ）の各画素がＰ＿Ｂｂ（ｉ，ｊ）、基準ブロックＢｒｎ（ｉ，ｊ）の各画素がＰ＿Ｂｒｎ（ｉ，ｊ）としてそれぞれ示される場合、動きベクトル検出部１３は、以下の式（１）で示される演算を実行して、基準ブロックＢｂ（ｉ，ｊ）と参照ブロックＢｒｎ（ｉ，ｊ）の画素間の差分絶対値和を求める。
【００２０】
【数１】
2004134990.tif 000003
【００２１】
ステップＳ６において、動きベクトル検出部１３は、変数Ｍｉｎが変数Ｓｕｍよりも大きいか否かを判定し、例えば、変数Ｍｉｎが変数Ｓｕｍよりも大きいと判定する場合、ステップＳ７において、変数Ｍｉｎを変数Ｓｕｍに更新し、その時点でのカウンタｎの値を動きベクトル番号として登録する。すなわち、今求めた差分絶対値和を示す変数Ｓｕｍが、最小値を示す変数Ｍｉｎよりも小さいと言うことは、これまで演算したどの参照ブロックよりも、今演算している参照ブロックＢｒｎ（ｉ，ｊ）が基準ブロックＢｂ（ｉ，ｊ）により類似したものであるとみなすことができるので、動きベクトルを求める際の候補とするため、その時点でのカウンタｎが動きベクトル番号として登録される。また、ステップＳ６において、変数Ｍｉｎが変数Ｓｕｍよりも大きくないと判定された場合、ステップＳ７の処理がスキップされる。
【００２２】
ステップＳ８において、動きベクトル検出部１３は、カウンタ変数ｎがサーチエリアＳＲの参照ブロックＢｒｎ（ｉ，ｊ）の総数ｍであるか否か、すなわち、今の参照ブロックＢｒｎ（ｉ，ｊ）がＢｒｎ（ｉ，ｊ）＝Ｂｒｍ（ｉ，ｊ）であるか否かを判定し、例えば、総数ｍではないと判定した場合、ステップＳ９において、カウンタ変数ｎを１インクリメントし、その処理は、ステップＳ４に戻る。
【００２３】
ステップＳ８において、カウンタ変数ｎがサーチエリア内の参照ブロックＢｒｎ（ｉ，ｊ）の総数ｍである、すなわち、今の参照ブロックＢｒｎ（ｉ，ｊ）がＢｒｎ（ｉ，ｊ）＝Ｂｒｍ（ｉ，ｊ）であると判定された場合、ステップＳ１０において、動きベクトル検出部１３は、登録されている動きベクトル番号に基づいて動きベクトルを出力する。すなわち、ステップＳ４乃至Ｓ９が繰り返されることにより、差分絶対値和が最小となる参照ブロックＢｒｎ（ｉ，ｊ）に対応するカウンタ変数ｎが動きベクトル番号として登録されることになるので、動きベクトル検出部１３は、この動きベクトル番号に対応する参照ブロックＢｒｎ（ｉ，ｊ）のＬ×Ｌ個の画素のうち、その中心となる参照画素Ｐｎ（ｉ，ｊ）を求め、カレントフレームＦｃ上の注目画素Ｐ（ｉ，ｊ）に対応する参照フレームＦｒ上の画素Ｐ’（ｉ，ｊ）を始点とし、参照画素Ｐｎ（ｉ，ｊ）を終点とするベクトルを、注目画素Ｐ（ｉ，ｊ）の動きベクトル（Ｖｘ，Ｖｙ）として求めて出力する。
【００２４】
また、ブロックマッチング法により動きベクトルを検出する時に、定常成分および過渡成分の絶対値差分を累算した値の加重平均から得られる評価値に基づいて動きベクトルを検出することにより、演算量を低減させるようにするものがある（例えば、特許文献１参照）。
【００２５】
さらに、参照ブロックおよび探索範囲内の画素値を符号化してコード値に基づいてマッチング演算を行い、演算結果に基づいて第１の動きベクトルを算出し、第１の動きベクトルに応じた動き補償を行った後に第１の動きベクトルに係る候補ブロックを１画素を単位としてずらすことで得られる新たな探索範囲について、画素値の差分に基づくブロックマッチングを行うことにより、第２の動きベクトルを算出して、第１の動きベクトルと第２の動きベクトルの和として最終的な動きベクトルを算出することで、演算を簡素化するものがある（例えば、特許文献２参照）。
【００２６】
【特許文献１】
特開平０７−０８７４９４号公報
【特許文献２】
特開２０００−２７８６９１号公報
【００２７】
【発明が解決しようとする課題】
しかしながら、上述したブロックマッチングアルゴリズムは、式（１）の演算量が非常に膨大なものとなるため、ＭＰＥＧ（Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）等の画像圧縮処理においては、大半の時間がこの処理に費やされてしまうという課題があった。
【００２８】
また、カレントフレームＦｃ、または、参照フレームＦｒの動きベクトルの始点、または、終点付近でノイズが含まれた場合、ブロックマッチングでは基準ブロックに類似する参照ブロックを検出することができず、正確な動きベクトルを検出することができないという課題があった。
【００２９】
本発明はこのような状況に鑑みてなされたものであり、正確に動きベクトルを生成することができるようにするものである。
【００３０】
【課題を解決するための手段】
本発明の画像処理装置は、第１、または、第２のフレームの各画素からクラスタップを抽出するクラスタップ抽出手段と、クラスタップのダイナミックレンジを検出するダイナミックレンジ検出手段と、ダイナミックレンジに基づいて、クラスタップのビット長を決定するビット長決定手段と、クラスタップ抽出手段により抽出されたクラスタップの、ビット長決定手段により決定されたビット長のビットから、量子化コードを生成する量子化コード生成手段と、量子化コード生成手段により生成された量子化コード毎に対応する各画素位置の情報を記憶する記憶手段と、第２のフレーム中の注目画素の量子化コードに対応する第１のフレームの画素位置の情報を、記憶手段より読み出す読出し手段と、読出し手段により読み出された第１のフレームの画素位置の情報のうち、第２のフレーム中の注目画素との距離が最小となる画素を検出する画素検出手段とを備えることを特徴とする。
【００３１】
前記ビット長決定手段には、ダイナミックレンジと対応するビット長の情報を記憶したテーブルを設けるようにさせることができ、ダイナミックレンジに基づいてビット長の情報をテーブルから読み出して、クラスタップのビット長を決定させるようにすることができる。
【００３２】
前記画素検出手段により検出された画素と注目画素の画素位置の情報に基づいて、動きベクトルを生成する動きベクトル生成手段をさらに設けるようにさせることができる。
【００３３】
前記動きベクトル生成手段により生成された動きベクトルの大きさを所定の動きベクトルの大きさと比較する動きベクトル比較手段をさらに設けるようにさせることができ、動きベクトル比較手段の比較結果が、所定の動きベクトルの大きさよりも、動きベクトル生成手段により生成された動きベクトルの大きさの方が大きい場合、読出し手段には、第２のフレーム中の注目画素の量子化コードに類似する量子化コードに対応する第１のフレームの画素位置の情報を、記憶手段より読み出すようにさせることができる。
【００３４】
本発明の画像処理方法は、第１、または、第２のフレームの各画素からクラスタップを抽出するクラスタップ抽出ステップと、クラスタップのダイナミックレンジを検出するダイナミックレンジ検出ステップと、ダイナミックレンジに基づいて、クラスタップのビット長を決定するビット長決定ステップと、クラスタップ抽出ステップの処理で抽出されたクラスタップの、ビット長決定ステップの処理で決定されたビット長のビットから、量子化コードを生成する量子化コード生成ステップと、量子化コード生成ステップの処理で生成された量子化コード毎に対応する各画素位置の情報を記憶する記憶ステップと、記憶ステップの処理で記憶された第２のフレーム中の注目画素の量子化コードに対応する第１のフレームの画素位置の情報を読み出す読出しステップと、読出しステップの処理で読み出された第１のフレームの画素位置の情報のうち、第２のフレーム中の注目画素との距離が最小となる画素を検出する画素検出ステップとを含むことを特徴とする。
【００３５】
本発明の記録媒体のプログラムは、第１、または、第２のフレームの各画素からクラスタップを抽出するクラスタップ抽出ステップと、クラスタップのダイナミックレンジを検出するダイナミックレンジ検出ステップと、ダイナミックレンジに基づいて、クラスタップのビット長を決定するビット長決定ステップと、クラスタップ抽出ステップの処理で抽出されたクラスタップの、ビット長決定ステップの処理で決定されたビット長のビットから、量子化コードを生成する量子化コード生成ステップと、量子化コード生成ステップの処理で生成された量子化コード毎に対応する各画素位置の情報を記憶する記憶ステップと、記憶ステップの処理で記憶された第２のフレーム中の注目画素の量子化コードに対応する第１のフレームの画素位置の情報を読み出す読出しステップと、読出しステップの処理で読み出された第１のフレームの画素位置の情報のうち、第２のフレーム中の注目画素との距離が最小となる画素を検出する画素検出ステップとを含むことを特徴とする。
【００３６】
本発明のプログラムは、第１、または、第２のフレームの各画素からクラスタップを抽出するクラスタップ抽出ステップと、クラスタップのダイナミックレンジを検出するダイナミックレンジ検出ステップと、ダイナミックレンジに基づいて、クラスタップのビット長を決定するビット長決定ステップと、クラスタップ抽出ステップの処理で抽出されたクラスタップの、ビット長決定ステップの処理で決定されたビット長のビットから、量子化コードを生成する量子化コード生成ステップと、量子化コード生成ステップの処理で生成された量子化コード毎に対応する各画素位置の情報を記憶する記憶ステップと、記憶ステップの処理で記憶された第２のフレーム中の注目画素の量子化コードに対応する第１のフレームの画素位置の情報を読み出す読出しステップと、読出しステップの処理で読み出された第１のフレームの画素位置の情報のうち、第２のフレーム中の注目画素との距離が最小となる画素を検出する画素検出ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００３７】
本発明の画像処理装置および方法、並びにプログラムにおいては、第１、または、第２のフレームの各画素からクラスタップが抽出され、クラスタップのダイナミックレンジが検出され、ダイナミックレンジに基づいて、クラスタップのビット長が決定され、抽出されたクラスタップの、決定されたビット長のビットから、量子化コードが生成され、生成された量子化コード毎に対応する各画素位置の情報が記憶され、第２のフレーム中の注目画素の量子化コードに対応する第１のフレームの画素位置の情報が読み出され、読み出された第１のフレームの画素位置の情報のうち、第２のフレーム中の注目画素との距離が最小となる画素が検出される。
【００３８】
【発明の実施の形態】
図４は、本発明を適用した画像処理装置の動き検出部２１の構成を示すブロック図である。
【００３９】
動き検出部２１は、フレームメモリ３１、特徴量抽出部３２、バッファメモリ３３、データベース制御部３４、および、動きベクトル検出部３５で構成されている。
【００４０】
フレームメモリ３１は、入力端子Ｔｉｎから入力された画像信号の１画面（１フレーム）の情報を格納し、特徴量抽出部３２に供給する。特徴量抽出部３２は、フレームメモリから供給された画面情報、すなわちカレントフレームＦｃの情報を基に、注目画素の特徴量を抽出する。
【００４１】
特徴量抽出部３２は、注目画素に対応したクラスタップを抽出し（注目画素に対応した付近の画素の画素値を抽出し）、そのクラスタップの情報から量子化コードを生成し、この量子化コードを特徴量として出力する。特徴量抽出部３２は、次の画面情報が入力されると、先に供給された画面情報から抽出した特徴量と対応する画素位置の情報（例えば、座標情報）を、バッファメモリ３３および動きベクトル検出部３５に供給する。尚、特徴量抽出部３２については、詳細を後述する。
【００４２】
バッファメモリ３３は、供給された特徴量を、参照フレームＦｒの特徴量情報として格納する。
【００４３】
データベース制御部３４は、バッファメモリ３３に格納されている参照フレームＦｒの特徴量情報に基づいて、特徴量をアドレスとして画素の位置情報をデータベース２１に格納することにより、参照フレーム情報を生成する。データベース制御部３４は、内部に、処理済の画素数をカウントするためのカウンタを有している。
【００４４】
次に、図５を参照して、データベース２１に格納される参照フレーム情報の構成について説明する。
【００４５】
データベース２１は、特徴量アドレス０乃至ａと、フラグアドレス０乃至ｂによって示されるａ×ｂ個のセルにより構成されている。データベース制御部３４は、画素の特徴量を特徴量アドレスに対応付けて、特徴量毎にその特徴量を持つ画素位置の情報を、データベース２１の、特徴量アドレスに対応するフラグアドレス１乃至ｂに順次格納する。そして、フラグアドレス０には、現在、その特徴量アドレスに格納されている画素位置の情報の数が、順次、インクリメントされて格納される。具体的には、特徴量アドレス１に、１つの画素位置の情報がセル（１，１）に格納されている場合、セル（１，０）には、格納されている画素位置の情報の数として、１が格納される。そして、次の注目画素の特徴量が、特徴量アドレス１に対応するものであった場合、セル（１，０）に格納されている値は、インクリメントされて２となり、注目画素の位置情報が、セル（１，２）に格納される。
【００４６】
再び、図４に戻り、動き検出部２１の構成について説明する。動きベクトル検出部３５は、特徴量抽出部３２から供給されたカレントフレームＦｃの特徴量情報と、データベース制御部３４のデータベース４１に記憶されている情報とのマッチング処理を実行して、動きベクトルを検出する。動きベクトル検出部３５は、具体的には、カレントフレームＦｃの注目画素の特徴量に対応する、データベース４１の特徴量アドレスに記載されている、複数の候補それぞれの画素位置と注目画素の距離を演算し、算出された距離が最小である画素位置の情報に基づいて、差分座標を注目画素の動きベクトル（Ｖｘ，Ｖｙ）として検出する。
【００４７】
動きベクトル検出部３５は、検出した動きベクトルＭの値が想定される動きベクトルの最大値Ｍ＿Ｍａｘより小さいときは（規定範囲内にあるとき）、正しい動きベクトルとして判定し、端子Ｔｏｕｔ　から出力する。また、動きベクトル検出部３５は、検出した動きベクトルＭの値が想定される動きベクトルの最大値Ｍ＿Ｍａｘより大きいときは（規定範囲外にあるとき（等しい場合も含む））、対応していない位置の動きベクトルと判定し、カレントフレーム内の画素とデータベース４１で近い特徴量のアドレスを生成して、近傍の特徴量のアドレスに属する画素位置の情報に基づいて再度マッチング処理を行う。なお、動きベクトル検出部３５は、たとえば近傍の特徴量の選択においてビット反転を行うが、このとき注目画素のパターンに応じてビット反転の形態を変更する。
【００４８】
次に、図６のフローチャートを参照して、参照フレーム情報生成処理について説明する。
【００４９】
ステップＳ３１において、データベース制御部３４は、データベース４１に登録されている参照フレーム情報を初期化する。すなわち、データベース制御部３４は、全ての特徴量アドレスに対応するフラグアドレス０のセルに０を書き込み、フラグアドレス１乃至ｂに格納されている画素位置の情報を削除する。
【００５０】
ステップＳ３２において、データベース制御部３４は、フレームメモリ３１内の画素をカウントするカウンタのカウンタ変数ｎを０に初期化する。
【００５１】
ステップＳ３３において、特徴量抽出部３２は、注目画素に対応するクラスタップから特徴量を算出し、算出された特徴量を、動きベクトル検出部３５およびバッファメモリ３３に供給する。尚、特徴量算出処理については、後述する。
【００５２】
ステップＳ３４において、データベース制御部３４は、バッファメモリ３３に保存されている参照フレームＦｒの情報から、カウンタ変数ｎに対応する画素に対応する注目画素の特徴量を読み出し、データベース４１内の対応する特徴量アドレスの、フラグアドレス０に記載されている値Ｋを読み込む。
【００５３】
ステップＳ３５において、データベース制御部３４は、ステップＳ３５において読み出した値Ｋを、１だけインクリメントして（Ｋ＝Ｋ＋１として）、データベース４１の対応する特徴量アドレスの、フラグアドレス０に書き込む。
【００５４】
ステップＳ３６において、データベース制御部３４は、バッファメモリ３３に保存されている参照フレームＦｒの情報から、注目画素の位置情報を読み出し、データベース４１の対応する特徴量アドレスのフラグアドレスＫ＋１に、注目画素の位置情報を書き込む。
【００５５】
ステップＳ３７において、データベース制御部３４は、カウンタ変数ｎをインクリメントして、ｎ＝ｎ＋１とする。
【００５６】
ステップＳ３８において、データベース制御部３４は、カウンタ変数ｎ＝１フレームの画素数であるか否かを判定する。ステップＳ３８において、カウンタ変数ｎ＝１フレームの画素数ではないと判定された場合、処理は、ステップＳ３３に戻り、それ以降の処理が繰り返される。ステップＳ３８において、カウンタ変数ｎ＝１フレームの画素数であると判定された場合、処理は、終了される。
【００５７】
次に、図７，図８のフローチャートを参照して、図４の動き検出部２１による動きベクトル検出処理について説明する。
【００５８】
ステップＳ５１において、動きベクトル検出部３５は、１フレームの画素数をカウントするカウント変数ｓを０に初期化する。
【００５９】
ステップＳ５２において、動きベクトル検出部３５は、特徴量抽出部３２により抽出されたカレントフレームＦｃ内の注目画素Ｐｎの特徴量を取得する。
【００６０】
ステップＳ５３において、動きベクトル検出部３５は、取得した特徴量を特徴量アドレスに対応する、データベース４１上のセル（特徴量アドレス，０）に記録されている値を読み込み、同じ特徴量に分類される画素数（候補数：画素位置の情報の数）を変数ｔｓに代入する。また、動きベクトル検出部３５は、候補数カウンタを示すカウンタ変数ｔを１に、距離の最小値を示す変数Ｍｉｎを∞に、距離を示すカウンタ変数Ｌを０にそれぞれ初期化する。
【００６１】
ステップＳ５４において、動きベクトル検出部３５は、カレントフレームＦｃ内の注目画素Ｐｎとデータベース制御部３５から読み込んだデータベース４１上の（特徴量アドレス，ｔ）に記録されている画素位置の情報との距離を演算して、変数Ｌに代入する。
【００６２】
ステップＳ５５において、動きベクトル検出部３５は、ステップＳ５４の処理で求められた距離Ｌが最小値を示す変数Ｍｉｎよりも小さいか否かを判定し、例えば、変数Ｍｉｎ＞距離Ｌであると判定した場合、ステップＳ５６において、変数Ｍｉｎを距離Ｌに更新し、そのときの変数ｔを動きベクトル番号として登録する。また、変数Ｍｉｎ≦距離Ｌであると判定された場合、ステップＳ５６の処理はスキップされる。
【００６３】
ステップＳ５７において、動きベクトル検出部３５は、候補カウンタ変数ｔが候補数の変数ｔｓ以上であるか否かを判定し、候補カウンタ変数ｔが候補数の変数ｔｓ以上ではないと判定した場合、すなわち、候補となる未処理の画素が存在する場合、ステップＳ５８において、変数ｔを１インクリメントして、その処理は、ステップＳ５４に戻る。
【００６４】
すなわち、候補カウンタ変数ｔが候補数の変数ｔｓ以上ではないということは、データベース４１上に記録されている、注目画素の特徴量と同一の特徴量に分類された画素位置の情報のうち、ステップＳ５４乃至Ｓ５６の処理がなされていない画素位置の情報が存在することになるので、候補となる全ての画素位置の情報について、ステップＳ５４乃至Ｓ５７の処理が施されるまで、その処理が繰り返される。
【００６５】
ステップＳ５７において、変数ｔが変数ｔｓ以上であると判定された場合、すなわち、注目画素の特徴量と同一の特徴量を有する全ての画素の画素位置と注目画素との距離が比較されたと判定された場合、ステップＳ５９において、動きベクトル検出部３５は、ステップＳ５６の処理で登録した動きベクトル番号に対応する画素位置を始点とし、注目画素位置を終点とする動きベクトルＭを求める。
【００６６】
ステップＳ６０において、動きベクトル検出部３５は、求められた動きベクトルＭの絶対値と、動きベクトルＭの想定される最大値Ｍ＿Ｍａｘとを比較し、動きベクトルＭの絶対値が最大値Ｍ＿Ｍａｘよりも小さいか否かを判定し、例えば、動きベクトルＭの絶対値が最大値Ｍ＿Ｍａｘよりも小さいと判定した場合、その処理は、ステップＳ６１に進む。
【００６７】
ステップＳ６１において、動きベクトル検出部３５は、ステップＳ５９の処理で求められた動きベクトルＭを出力端子Ｔｏｕｔから出力し、ステップＳ６２において、変数ｓを１インクリメントする。
【００６８】
ステップＳ６３において、動きベクトル検出部３５は、変数ｓがフレーム内の画素数と一致するか否かを判定し、例えば、変数ｓがフレーム内の画素数と一致しないと判定した場合、すなわち、まだ、処理すべき画素が存在すると判定する場合、その処理は、ステップＳ５２に戻り、例えば、変数ｓがフレーム内の画素数と一致すると判定した場合、すなわち、全ての画素について処理がなされたと判定された場合、その処理は終了する。
【００６９】
ステップＳ６０において、動きベクトルＭの絶対値が最大値Ｍ＿Ｍａｘよりも小さくないと判定された場合、すなわち、注目画素と同じ特徴量と有する参照フレームの画素のうち、注目画素と最も近い位置に存在する画素との距離が想定していた距離Ｍ＿Ｍａｘよりも離れていた場合、その処理は、ステップＳ６４（図８）に進む。
【００７０】
ステップＳ６４（図８）において、動きベクトル検出部３５は、反転ビット数を示す変数ｕを１に初期化する。
【００７１】
ステップＳ６５において、動きベクトル検出部３５は、注目画素の特徴量を示す量子化コードのうちｕビットを反転させる。すなわち、最初の処理では注目画素の特徴量を示す量子化コードを構成する複数ビットのうちのいずれか１ビットが反転される。
【００７２】
ステップＳ６６において、動きベクトル検出部３５は、ｕビットだけ反転した特徴量を特徴量アドレスに対応する、データベース４１上の（特徴量アドレス，０）に記録されている値を読み込み、同じ特徴量に分類される画素数（候補数：画素位置の情報の数）を変数ｔｓに代入する。また、動きベクトル検出部３５は、候補数カウンタを示すカウンタ変数ｔを１に、距離の最小値を意味する変数Ｍｉｎを∞に、距離を示すカウンタ変数Ｌを０にそれぞれ初期化する。
【００７３】
ステップＳ６７において、動きベクトル検出部３５は、カレントフレームＦｃ内の注目画素Ｐｎと、データベース制御部３５から読み込んだデータベース４１上の（特徴量アドレス，ｔ）に記録されている画素位置との距離を演算して、変数Ｌに代入する。
【００７４】
ステップＳ６８において、動きベクトル検出部３５は、ステップＳ６７の処理で求められた距離Ｌが距離の最小値の変数Ｍｉｎよりも小さいか否かを判定し、例えば、変数Ｍｉｎ＞距離Ｌであると判定した場合、ステップＳ６９において、最小値の変数Ｍｉｎを距離Ｌに更新し、そのときの変数ｔを動きベクトル番号として登録する。また、変数Ｍｉｎ≦距離Ｌであると判定された場合、ステップＳ６９の処理はスキップされる。
【００７５】
ステップＳ７０において、動きベクトル検出部３５は、候補カウンタ変数ｔが候補数の変数ｔｓ以上であるか否かを判定し、候補カウンタ変数ｔが候補数の変数ｔｓ以上ではないと判定した場合、すなわち、候補となる未処理の画素が存在するとみなし、ステップＳ７１において、変数ｔを１インクリメントして、その処理は、ステップＳ６７に戻る。
【００７６】
すなわち、候補カウンタ変数ｔが候補数の変数ｔｓ以上ではないということは、データベース４１上に記録されている、注目画素の特徴量がｕビット反転された特徴量と同一の特徴量に分類された画素位置の情報のうち、ステップＳ６７乃至Ｓ６９の処理がなされていない画素が存在することになるので、候補となる全ての画素について、ステップＳ６７乃至Ｓ６９の処理が施されるまで、その処理が繰り返される。
【００７７】
ステップＳ７０において、変数ｔが変数ｔｓ以上であると判定された場合、すなわち、注目画素の特徴量のうちｕビット反転された特徴量と同一の特徴量を有する全ての画素の画素位置と注目画素との距離が比較されたと判定された場合、ステップＳ７２において、注目画素の特徴量のうち反転させていないビットの組み合わせがあるか否かを判定し、まだ、反転させていないビットが、または、反転させていないビットの組み合わせがあると判定した場合、その処理は、ステップＳ６５に戻る。
【００７８】
ステップＳ７２において、反転させていないビットが存在しないと判定された場合、ステップＳ７３において、動きベクトル検出部３５は、ステップＳ６９の処理で登録した動きベクトル番号に対応する画素位置を始点とし、注目画素位置を終点とする動きベクトルＭを求める。
【００７９】
ステップＳ７４において、動きベクトル検出部３５は、求められた動きベクトルＭの大きさの絶対値と、動きベクトルＭの大きさとして想定される最大値Ｍ＿Ｍａｘとを比較し、動きベクトルＭの絶対値が最大値Ｍ＿Ｍａｘよりも小さいか否かを判定し、例えば、動きベクトルＭの絶対値が最大値Ｍ＿Ｍａｘよりも小さいと判定した場合、その処理は、ステップＳ６１に戻る。
【００８０】
ステップＳ７４において、動きベクトルＭの絶対値が最大値Ｍ＿Ｍａｘよりも小さくないと判定された場合、すなわち、注目画素の特徴量のうちｕビット反転された特徴量と同じ特徴量を有する参照フレームの画素のうち、注目画素と最も近い位置に存在する画素との距離が想定していた距離よりも離れていた場合、ステップＳ７５において、変数ｕを１インクリメントして、その処理は、ステップＳ６５に戻る。
【００８１】
すなわち、ステップＳ５１乃至Ｓ６３の処理により、注目画素Ｐｎの特徴量と同一の特徴量として分類されている画素と、注目画素との距離を順次演算し、最小となる画素を求め、その求められた画素位置の情報と注目画素Ｐｎの画素位置の情報から動きベクトルを生成して、出力する。
【００８２】
ただし、ステップＳ６０において、生成された動きベクトルＭの絶対値が、最大値Ｍ＿Ｍａｘよりも大きい場合、正しく求められた動きベクトルではないと判定され、ステップＳ６４乃至Ｓ７５の処理により、注目画素Ｐｎの特徴量に類似した近傍の特徴量に属する（分類される）画素と、注目画素Ｐｎとの距離を順次求めて、その距離が最小となる画素を求め、動きベクトルを求める。
【００８３】
すなわち、動き物体のある部分の特徴量が隣接フレームで少量変化することがありうる。
【００８４】
特徴量空間の各要素間は直交の関係にあるため、ある特徴量は図８のｄ−ａ１のように要素の個数を軸とした特徴量空間で定義される。すなわち、ｄ−ａ１で示す座標に特徴量を抽出した画素の空間座標をリンクさせる。
【００８５】
ある特徴量に対して近傍の特徴量（ある特徴量に対して類似する特徴量）は、図８中ｄ−ａ２で示すように、各特徴量空間内の軸ｘ，ｙ，ｚの値に対してある範囲の振れ幅を許容する領域として定義される。特徴量抽出部３２から出力される特徴量は、量子化コードであり、例えば、４ビットの量子化コードとして「０００」が出力される場合、最も近傍の特徴量は、ハミング距離が１となる「００１」、「０１０」、および「１００」となる。結果として、図８において、注目画素の特徴量が「０００」である場合、図中ｄ−ａ２で定義される範囲に含まれる特徴量（類似する特徴量）は、「００１」、「０１０」、および「１００」となる。
【００８６】
そこで、ステップＳ６５乃至Ｓ７２の処理においては、上述したようにいずれかｕビットのデータを反転させた（０ならば１に、１ならば０に反転させた）ときに求められる特徴量に属する画素と注目画素との距離を求めて最小となる画素と注目画素の画素位置の情報から動きベクトルＭを生成し、大きさが最大値Ｍ＿Ｍａｘ以下となる動きベクトルＭが生成されるまで、反転させるビット数ｕを大きくしながらその処理を繰り返す。すなわち、注目画素の特徴量を示す量子化コードとのハミング距離を徐々に大きくしながら、注目画素との距離が最小となる画素を求める処理を繰り返す。
【００８７】
この場合、演算内容はアドレス参照と差分演算と分岐のみなので、演算量が大幅に増大することはない。
【００８８】
画素値としては、たとえば１画素＝８ビットとした場合、コンピュータグラフィックス（ＣＧ）のような画像はフルビット（８ビット）情報でマッチング処理を行えるが、自然画像の場合は、フレーム毎にバラツキを含むので、複数ビットのうち所定ビットを除いて、マッチング処理を行うことが望ましい。具体的には、下位数ビットをマスクして使用してもよいし、ビット数を少なくして再量子化しても良い。つまり、非線形／線形な量子化におけるビット数を削減する（量子化ビット数を少なくする）ことが望ましい。
【００８９】
次に、特徴量抽出部３２について詳細を説明する。
【００９０】
図１０は、特徴量抽出部３２の構成例を示したブロック図である。
【００９１】
クラスタップ抽出部５１は、入力された画像情報のうち、特徴量の抽出に必要な注目画素に対応する周辺画素（クラスタップ）の情報（画素値）を抽出しＤＲレンジ演算部５２、および、ＡＤＲＣコード生成部５３に出力する。また、クラスタップ抽出部５１は、クラスタップのパターンを記憶したタップテーブル５１ａを有しており、ＤＲ判定部５４より入力される指示情報に基づいて（指示回数に応じて）、抽出するクラスタップのパターンを切り替える。
【００９２】
すなわち、タップテーブル５１ａは、クラスタップのパターンとして、図１１で示すように注目画素（図中黒丸で表示されている画素）を中心とした３画素×３画素からなるブロックの最外周位置に配置される８画素（図中斜線で塗りつぶされている画素）のパターンや、図１２で示すように、注目画素（図中黒丸で表示されている画素）を中心とした５画素×５画素からなるブロックの最外周位置に配置される１６画素（図中斜線で塗りつぶされている画素）のパターンや、図１３で示すように、注目画素（図中黒丸で表示されている画素）を中心とした７画素×７画素からなるブロックの最外周位置に配置される２４画素（図中斜線で塗りつぶされている画素）パターンや、さらに、図示しないが、注目画素（図中黒丸で表示されている画素）を中心としたｎ画素×ｎ画素からなるブロックの最外周位置に配置される４（ｎ−１）画素（図中斜線で塗りつぶされている画素）パターンを記憶している。
【００９３】
また、クラスタップのパターンは、図１４で示すように、注目画素の上下左右の１画素からなる４画素であってもよいし、図１５で示すように、注目画素の上下左右の２画素からなる８画素であってもよいし、図１６で示すように、注目画素の上下左右の３画素からなる１２画素であってもよいし、さらには、図示しないが、注目画素の上下左右のｍ画素からなる４ｍ画素であってもよい。さらに、クラスタップは、図示した以外の構成でもよく、例えば、注目画素との位置関係が非対称となる配置のものであってもよい。
【００９４】
クラスタップ抽出部５１は、ＤＲ（ダイナミックレンジ）判定部５４からの指示情報に基づいて、クラスタップの配置が注目画素の位置に対してその範囲が広がっていくような配置となるように、ランク分けされたクラスタップのパターンを順次タップテーブル５１ａから読み出して変更させていく。この際、クラスタップ抽出部５１は、内蔵するランクを示すカウンタを制御して対応するランクのクラスタップを抽出する。
【００９５】
すなわち、図１１乃至図１３で示すように変化していくクラスタップのパターン（注目画素を中心としたｎ画素×ｎ画素からなるブロックの最外周位置に配置される４（ｎ−１）画素のパターン）が、順次ランクと共にタップテーブル５１ａに記憶されていた場合、クラスタップ抽出部５１は、ＤＲ判定部５４から指示情報が無い状態では、図１１で示すランク１のパターンでクラスタップの情報を読出し、その後のタイミングで、最初に指示情報を受信した場合、図１２で示すランク２のパターンに変化させて、クラスタップの情報を読み出し、さらに、２回目の指示情報を受信した場合、図１３で示すランク３のパターンに変更してクラスタップの情報を読み出し、さらに、ｎ回目の指示情報を受信した場合、注目画素を中心としたｎ画素×ｎ画素からなるブロックの最外周位置に配置される４（ｎ−１）画素のランクｎのパターンでクラスタップの情報を抽出する。このようにクラスタップのパターンのランクｎは、指示情報を受信した回数に基づいて変化する。尚、このクラスタップ抽出部５１が用いるパターンの変化（変更）は、図１１乃至図１３で示すようなパターンの変化のように同一形状で規則的に変化するもの（クラスタップの配置の形状が正方形で相似に変化するようなもの）である必要は無く、配置の形状などは変化するものであってもよい。また、パターンの変化は、図１４乃至図１６で示すようなパターンであってもよく、この場合、ランクｓは、図１４，図１５，図１６の順に設定されることになる。
【００９６】
ＤＲ（ダイナミックレンジ）演算部５２は、クラスタップ抽出部５１より入力されるクラスタップの情報（画素値）からダイナミックレンジを求め、ダイナミックレンジをＤＲ判定部５４とＡＤＲＣ（Ａｄａｐｔｉｖｅ　Ｄｙｎａｍｉｃ　Ｒａｎｇｅ　Ｃｏｄｉｎｇ）コード生成部５３に出力すると共に、ダイナミックレンジとダイナミックレンジを求める際に得られる最小値の情報をＡＤＲＣコード生成部５３に出力する。すなわち、クラスタップのパターンが、例えば、図１４で示すものであった場合、各クラスタップＣ１乃至Ｃ４の情報（画素値レベル）が、（Ｃ１，Ｃ２，Ｃ３，Ｃ４）＝（６０，９０，５１，１００）であるとき、その関係は、図１７で示すようになる。このような場合、ダイナミックレンジは、画素値レベルの最小値と最大値の差として定義され、その値は、以下の式（２）で定義される。
ＤＲ＝Ｍａｘ−Ｍｉｎ＋１・・・（２）
【００９７】
ここで、Ｍａｘは、クラスタップの情報である画素値レベルの最大値であり、Ｍｉｎは、クラスタップの画素値レベルの最小値を示す。ここで、１を加算するのは、クラスを定義するためである（例えば、０，１で示されるクラスを設定する場合、両者の差分は１であるが、クラスとしては２クラスとなるため、差分に１を加算する）。従って、図１７の場合、クラスタップＣ３の画素値レベル１００が最大値であり、クラスタップＣ１の画素値レベル５１が最小値となるので、ＤＲは、５０（＝１００−５１＋１）となる。
【００９８】
このように、ＤＲ演算部５２は、ＤＲを演算するにあたり、クラスタップの画素値レベルのうちの最小値と最大値を検出することになるので、その最小値（または最大値：最小値は、最大値とＤＲから求めることができる）をＡＤＲＣコード生成部５３に出力する。
【００９９】
ＡＤＲＣコード生成部５３は、ＤＲ演算部５２より入力されたＤＲの値と最小値Ｍｉｎからクラスタップの各画素値レベルをＡＤＲＣコードからなる量子化コードを生成して出力する。より詳細には、ＡＤＲＣコードは、クラスタップの各画素値レベルを以下の式（３）に代入することにより求められる。
Ｑ＝Ｒｏｕｎｄ（（Ｌ−Ｍｉｎ＋０．５）×（２＾ｎ）／ＤＲ）・・・（３）
【０１００】
ここで、Ｒｏｕｎｄは切り捨てを、Ｌは画素値レベルを、ｎは割り当てビット数を、（２＾ｎ）は２のｎ乗を、それぞれ示している。
【０１０１】
従って、例えば、割り当てビット数ｎが１であった場合、各クラスタップの画素値レベルは、以下の式（４）で示される閾値ｔｈ以上であれば１であり、閾値ｔｈより小さければ０とされる。
ｔｈ＝ＤＲ／２−０．５＋Ｍｉｎ・・・（４）
【０１０２】
結果として、割り当てビット数ｎが１である場合、図１７で示すようなクラスタップが得られた場合、閾値ｔｈは、７５．５（＝５０／２−０．５＋５１）となるので、ＡＤＲＣコードは、ＡＤＲＣ（Ｃ１，Ｃ２，Ｃ３，Ｃ４）＝０１０１となる。
【０１０３】
ここで、図１０の特徴量抽出部３２の構成の説明に戻る。
【０１０４】
ＤＲ判定部５４は、ＤＲ演算部５２より入力されるＤＲの値が所定の閾値ＤＲ＿ｔｈ以上であるか否かを判定し、所定の閾値ＤＲ＿ｔｈの場合、クラスタップ抽出部５１に対してクラスタップのパターンを変更するように指示すると共に、ＡＤＲＣコード生成部５３に対して、今入力されたＤＲを用いたＡＤＲＣコードの生成処理を実行しないように指示する。
【０１０５】
すなわち、ＡＤＲＣコードは、クラスタップによっては、異なるＤＲであっても同じＡＤＲＣコードが生成されることがある。この場合、ＤＲが小さいほど誤差の影響を受けやすくなり、ＡＤＲＣコードがフレーム毎に変化する恐れが生じやすくなる。
【０１０６】
より詳細には、例えば、図１８で示すように、図１４で示すクラスタップにより画素値レベル（Ｃ１，Ｃ２，Ｃ３，Ｃ４）＝（７４，８０，６５．５，８５．５）となる場合を考える。尚、図１８において、画素値レベル（Ｃ１，Ｃ２，Ｃ３，Ｃ４）＝（７４，８０，６５．５，８５．５）は、バツ印により示されている。または、図中の黒丸は、図１７で示した場合の例をそのまま示しており、ダイナミックレンジは、ＤＲ１（＝５０）で示されている。
【０１０７】
このとき、図１８中で、バツ印で示されるクラスタップのダイナミックレンジであるＤＲ２は、２０となり、最小値は６５．５となるので、閾値は、７５．５となり、生成されるＡＤＲＣコードは、０１０１となり、図１７で示した場合と同一のＡＤＲＣコードが生成されることになる。
【０１０８】
ところで、各画素値レベルには、一定のレベルの誤差が生じる事が知られている。例えば、図１８では、各データに発生する誤差の範囲が、図中の縦棒で示されている。ここで、バツ印のクラスタップＣ１のデータは、誤差範囲に閾値が含まれているため、誤差の程度によっては、閾値ｔｈよりも大きくなることがあり、クラスタップのコードが反転してしまう可能性がある。
【０１０９】
動きベクトルの始点、または、終点となる画素に対応するクラスタップにこのような現象が生じると、結果として、本来動きベクトルの始点、または、終点として設定されるＡＤＲＣコードが変化してしまうため、正確な動きベクトルの生成ができなくなる可能性が生じてしまう。さらに、ＤＲが小さいと、クラスタップの各画素値レベルは、分散の程度が小さいことになるので、このように、閾値付近に存在する画素が多く含まれている可能性があり、それぞれの誤差範囲が閾値を跨ぐことにより複数ビットのコードが反転してしまう可能性がある。
【０１１０】
以上のことから、ＤＲが大きい程、ＡＤＲＣコードの誤差は小さく、ＤＲが小さい程、ＡＤＲＣコードの誤差が大きくなる。
【０１１１】
そこで、ダイナミックレンジＤＲがダイナミックレンジの閾値ＤＲ＿ｔｈよりも小さい場合、クラスタップのパターンを変化させて、例えば、図１１のランク１のパターンから図１２のランク２のパターンへと変化させ、クラスタップの個数とクラスタップを抽出する範囲を注目画素に対して広くすることによりＤＲが大きくなるようにパターンを変更させる。さらに、パターンを変更させた後でも、ＤＲがＤＲ＿ｔｈよりも小さい場合には、さらに、高いランクのパターンに変更させ、ＤＲがＤＲ＿ｔｈを超える値になるまでパターンを変更させる指示情報をクラスタップ抽出部５１に送信する。
【０１１２】
次に、図１９のフローチャートを参照して、特徴量算出処理について説明する。
【０１１３】
ステップＳ９１において、クラスタップ抽出部５１は、クラスタップのパターンのランクを示すカウンタ変数ｓを１に初期化する。
【０１１４】
ステップＳ９２において、クラスタップ抽出部５１は、フレームメモリ３１に記憶されている１フレーム分の画像を読出し、その中の注目画素に対応するランクｓのパターンの情報をタップテーブル５１ａから読出し、対応するクラスタップを抽出し、ＤＲ演算部５２、および、ＡＤＲＣコード生成部５３に出力する。すなわち、最初の処理では、ランクｓ＝１のパターン（例えば、上述の図１１、または、図１４のクラスタップのパターン）のクラスタップが抽出され、ＤＲ演算部５２に出力される。
【０１１５】
ステップＳ９３において、ＤＲ演算部５２は、クラスタップ抽出部５１より入力されたクラスタップのダイナミックレンジを求め、ＡＤＲＣコード生成部５３、および、ＤＲ判定部５４に出力すると共に、その際、検出される最小値をＡＤＲＣコード生成部５３に出力する。すなわち、図１７で示すような、クラスタップの画素値レベルが入力されると、上述のように、ＤＲとして５０が出力され、最小値Ｍｉｎとして５１が出力される。
【０１１６】
ステップＳ９４において、ＤＲ判定部５４は、ＤＲ演算部５２より入力されたＤＲが所定の閾値ＤＲ＿ｔｈよりも大きいか否かを判定し、例えば、ＤＲ演算部５２より入力されたＤＲが所定の閾値ＤＲ＿ｔｈよりも大きくない、すなわち、クラスタップの各画素値レベルが分散していないと判定した場合、ステップＳ９６において、クラスタップ抽出部５１に対して、クラスタップのパターンを変更させる指示を出力し、ＡＤＲＣコード生成部５３に対して、ＤＲ算出部５２より入力されたＤＲ、および、最小値Ｍｉｎを用いたＡＤＲＣコードを生成しないように指示する。
【０１１７】
ステップＳ９７において、クラスタップ抽出部５１は、ランクを示すカウンタ変数ｓを１インクリメントし、その処理は、ステップＳ９２に進む。すなわち、今の場合、ランクを示すカウンタ変数ｓは２となり、例えば、上述の図１２、または、図１５のパターンのように、注目画素から空間的に広がりをもつパターンに変更させてクラスタップを抽出する。
【０１１８】
このように、ＤＲが所定の閾値ＤＲ＿ｔｈを超えるまで、ステップＳ９２乃至Ｓ９７の処理が繰り返される。
【０１１９】
ステップＳ９４において、ＤＲ演算部５２より入力されたＤＲが所定の閾値ＤＲ＿ｔｈよりも大きいと判定された場合、ステップＳ９５において、ＡＤＲＣコード生成部５３は、ＤＲ演算部５２より入力されたＤＲ、および、最小値Ｍｉｎを用いて、クラスタップ抽出部５１より入力されたクラスタップの各画素値レベルからＡＤＲＣコードを生成して出力する。
【０１２０】
以上のように、クラスタップとして検出される画素値レベルに含まれる誤差を考慮し、所定の大きさ以上のダイナミックレンジが確保されるまでクラスタップを抽出する範囲が広げられることにより、ＡＤＲＣコードを生成する際に生じるノイズなどの誤差を抑制し、より正確な動きベクトルの検出を可能にすることができる。
【０１２１】
以上においては、注目画素に対するクラスタップのパターンを変化させることにより、ＤＲを大きくして、結果的に正しい動きベクトルの検出が可能となる例について説明してきたが、クラスタップのパターンを変更させること無く、画像を縮小させるようにしてもよい。
【０１２２】
図２０は、ＤＲが所定の閾値ＤＲ＿ｔｈより小さい場合、画像を縮小させることにより、同一のクラスタップのパターンでもＤＲを大きくさせるようにした特徴量抽出部３２の構成を示している。
【０１２３】
尚、図２０中、図１０における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【０１２４】
図２０において、図１０の特徴量抽出部３２と異なるのは、画像縮小部７１が新たに設けられ、クラスタップ抽出部５１およびＤＲ判定部５４に代えて、クラスタップ抽出部７２およびＤＲ判定部７３が設けられた点である。
【０１２５】
画像縮小部７１は、ＤＲ判定部７３からの指示に基づいて入力された画像を縮小してクラスタップ抽出部７２に出力する。尚、画像縮小部７１は、縮小率を示すカウンタを備えており、デフォルトの状態では（ＤＲ判定部７３から特に指示を受けていない状態では）、縮小率１、すなわち、入力された画像を縮小することなくそのままクラスタップ抽出部７２に出力する。
【０１２６】
クラスタップ抽出部７２は、クラスタップ５１と同一の機能を有するものであるが、クラスタップ抽出部５１とは異なりタップテーブル５１ａを有していないので、所定の固定されたクラスタップのパターンで画像縮小部７１より入力された画像の注目画素に対応するクラスタップを抽出し、ＤＲ演算部５２、および、ＡＤＲＣコード生成部５３に出力する。
【０１２７】
ＤＲ判定部７３は、基本的には、ＤＲ判定部５４と同一の機能を有するものであるが、ＤＲが所定の閾値ＤＲ＿ｔｈよりも小さいと判定した場合、画像縮小部７１に対して画像を縮小するように指示を送信する。
【０１２８】
次に、図２１のフローチャートを参照して、図２０の特徴量算出処理について説明する。尚、図２１のフローチャートにおけるステップＳ１１３乃至Ｓ１１６の処理については、図１９のフローチャートにおけるステップＳ９２乃至Ｓ９５の処理と、同様の処理であるので、その説明は省略する。
【０１２９】
ステップＳ１１１において、画像縮小部７１は、縮小率を示すカウンタ変数ｔを１に初期化する。
【０１３０】
ステップＳ１１２において、画像縮小部７１は、フレームメモリ３１に記憶されている画像情報を読出し、１／（ｔ＾２）倍（ここで、ｔ＾２は、ｔの２乗を示す）に画像を縮小して（水平方向、および、垂直方向にそれぞれ、ｔ行毎、または、ｔ列毎に間引きして、１／ｔ倍に縮小して）、クラスタップ抽出部７２に出力する。すなわち、最初の処理では、縮小率が１（＝１／（１＾２））であるので、画像は縮小されること無くフレームメモリ３１に記憶されている画像そのものがクラスタップ抽出部７２に出力される。
【０１３１】
ステップＳ１１５において、ＤＲ判定部７３は、ＤＲが所定の閾値ＤＲ＿ｔｈよりも大きいと判定すると、ステップＳ１１７において、画像縮小部７１に対して、画像を縮小するようにする指示情報を送信する。
【０１３２】
ステップＳ１１８において、画像縮小部７１は、ＤＲ判定部７３からの指示に基づいて縮小率を示すカウンタ変数ｔを１インクリメントし、その処理は、ステップＳ１１２に戻る。従って、例えば、ｔ＝２とき、ステップＳ１１２においては、画像が水平方向、および垂直方向に１／２に縮小されて（１／（２＾２）に縮小されて）以降の処理が繰り返される。
【０１３３】
すなわち、例えば、図２２で示すように、２Ｌ（画素数）×２Ｍ（画素数）からなる画像の注目画素（図中黒丸で表示されている画素）を中心としたを３画素×３画素からなるブロックの最外周位置に配置される８画素（図中斜線で塗りつぶされている画素）のパターンからなるクラスタップを抽出する場合、ＤＲが所定の閾値ＤＲ＿ｔｈよりも大きいと判定されると、図２３で示すように、画像が、水平方向、および、垂直方向に対して１／２倍となるＬ×Ｍからなる画像に縮小されて（水平方向および垂直方向に、それぞれ１行、および、１列ずつ間引きされて）、注目画素を中心とした３画素×３画素からなるブロックの最外周位置に配置される８画素（図２３中格子状の線で塗りつぶされている画素）のパターンからなるクラスタップを抽出する。このように処理することにより、図２３で示す縮小された画像のクラスタップは、図２２で示すように縮小前の画像の注目画素の水平方向、および、垂直方向に対して２画素分の距離に存在していた画素（図２２中格子状の線で塗りつぶされている画素）がクラスタップとして選択されることになる。
【０１３４】
このように、画像を縮小して、同一のパターンからなるクラスタップを抽出することにより、実質的に、元の画像の注目画素の位置から空間的に広がるように、クラスタップのパターンが変更されるのと同様の処理がなされることになるので、図１０を参照して説明した特徴量抽出部３２と同様の効果を得ることができる。
【０１３５】
また、以上においては、クラスタップを空間的に広がるようにパターンを切り替えてＤＲを所定の閾値ＤＲ＿ｔｈ以上となるようにさせる例について説明してきたが、例えば、ＤＲが小さい場合、クラスタップとして抽出される各画素の画素値レベルを表すビット長を変化させることによりＡＤＲＣコードを正確に表現できるようにしてもよい。
【０１３６】
図２４は、クラスタップとして抽出する画素値レベルを表すビット長を変化させるようにして、正確なＡＤＲＣコードを生成するようにした特徴量抽出部３２の構成例を示すブロック図である。
【０１３７】
尚、図２４中、図１０または図２０における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。図２４において、図１０の特徴量抽出部３２と異なるのは、ＤＲ判定部５４、および、ＡＤＲＣコード生成部５３に代えて、使用ビット長決定部８１、および、ＡＤＲＣコード生成部８２が設けられている点である。
【０１３８】
使用ビット長決定部８１は、ＡＤＲＣコードを生成する際に、ＤＲに対応した使用ビット長の情報が予め記憶されたテーブル８１ａを有しており、ＤＲ演算部より入力されるＤＲに基づいて、このテーブルからクラスタップのデータ（各画素の画素値）の使用ビット長を決定し、決定した使用ビット長の情報をＡＤＲＣコード生成部８２に出力する。
【０１３９】
ＡＤＲＣコード生成部８２は、基本的に図１０のＡＤＲＣコード生成部５３と同様の機能を有するものであるが、使用ビット長決定部８１より入力される使用ビット長の情報に基づいてＡＤＲＣコードを生成する。
【０１４０】
ここで、クラスタップの各画素値レベルを示すビット長を変化させることにより、ＡＤＲＣコード（量子化コード）を正確に表現する方法について説明する。
【０１４１】
例えば、クラスタップ抽出部７２により、クラスタップから抽出される各画素の画素値レベルを上位２ビットで表現させる場合、図２５で示すように、クラスタップＣ１が、０乃至６３の範囲に、クラスタップＣ２が、６４乃至１２７の範囲に、クラスタップＣ３が、１２８乃至１９１の範囲に、クラスタップＣ４が、１９２乃至２５５の範囲に、それぞれ分布して、ダイナミックレンジＤＲ＿Ｌが大きければ、２ビットのＡＤＲＣコードで表現するとき、各クラスタップの値は、それぞれ異なる値として表現できることになる。すなわち、画素値レベルが、０乃至６３のとき００、６４乃至１２７のとき０１、１２８乃至１９１のとき１０、１９２乃至２５５のとき１１としてＡＤＲＣコードの各コードを表すとするならば、クラスタップ（Ｃ１，Ｃ２，Ｃ３，Ｃ４）に対応するコードは、（００，１０，０１，１１）となるので、各画素値に対応するコードに差をつけて表現することが可能である。
【０１４２】
ところが、図２５と類似する傾向を持ったクラスタップＣ１乃至Ｃ２のようにダイナミックレンジＤＲ＿Ｓが小さくとなると、例えば、図２６で示すようにクラスタップＣ１乃至Ｃ４が同一の範囲（１２８乃至１９１の範囲）に分布してしまうことになり、２ビットの表現では、全てが０１で表現されてしまうことになるため、結果として、画素値レベルを２ビットで表現すると、各画素毎に差をつけて表現することができないことになる。
【０１４３】
従って、このような場合には、画素値レベルの表現方法を２ビットからそれ以上のビット数で表現すれば、各画素毎に異なる画素値レベルを表現することができるので、ＡＤＲＣコードの各画素値レベルを示すコードにも差をつけることが可能になる。
【０１４４】
これらをまとめると、画素値レベルを表現するビット長は、実際の画素値レベルのダイナミックレンジＤＲ／２の分解能が表現できるように選択すればよいことになる。従って、例えば、画素値レベルのダイナミックレンジを８ビットで表現できる場合、図２７で示すように、必要分解能（＝ＤＲ／２）が１２８であるとき、使用ビット長は１ビット以上であればよく、必要分解能が６４であるとき、使用ビット長は２ビット以上であればよく、必要分解能が３２であるとき、使用ビット長は３ビット以上であればよく、必要分解能が１６であるとき、使用ビット長は４ビット以上であればよく、必要分解能が８であるとき、使用ビット長は５ビット以上であればよく、必要分解能が４であるとき、使用ビット長は６ビット以上であればよく、必要分解能が２であるとき、使用ビット長は７ビット以上であればよく、必要分解能が１であるとき、使用ビット長は８ビット以上であればよいことになる。
【０１４５】
換言すれば、図２８で示すように、ダイナミックレンジＤＲに対して、ＤＲが２６５であるとき、使用ビット長は１ビット以上であればよく、ＤＲが１２８であるとき、使用ビット長は２ビット以上であればよく、ＤＲが６４であるとき、使用ビット長は３ビット以上であればよく、ＤＲが３２であるとき、使用ビット長は４ビット以上であればよく、ＤＲが１６であるとき、使用ビット長は５ビット以上であればよく、ＤＲが８であるとき、使用ビット長は６ビット以上であればよく、ＤＲが４であるとき、使用ビット長は７ビット以上であればよく、ＤＲが２であるとき、使用ビット長は８ビット以上であればよいことになる。
【０１４６】
使用ビット長決定部８１のテーブル８１ａには、図２８で示すダイナミックレンジＤＲと、対応する使用ビット長の情報が記憶されている。
【０１４７】
次に、図２９のフローチャートを参照して、ビット長を調整することにより、注目画素に対応する特徴量を抽出する処理（注目画素に対応するプラスタップに基づいてＡＤＲＣコードを生成する処理）について説明する。尚、図２９のフローチャートにおいて、ステップＳ１３１，Ｓ１３２の処理については、図２１のフローチャートにおけるステップＳ１１３，Ｓ１１４の処理と同様であるので、その説明は省略する。
【０１４８】
ステップＳ１３３において、使用ビット長決定部８１は、ステップＳ１３２の処理によりＤＲ演算部５２で演算されたＤＲに基づいて、テーブル８１ａを参照して使用ビット長を決定し、決定した使用ビット長の情報をＡＤＲＣコード生成部８２に出力する。
【０１４９】
ステップＳ１３４において、ＡＤＲＣコード生成部８２は、クラスタップ抽出部７２より入力されたクラスタップの各画素値レベルを、使用ビット長決定部８１より入力された使用ビット長により処理し、ＤＲ演算部５２より入力されたＤＲ、および、最小値Ｍｉｎを用いてＡＤＲＣコードを生成して出力する。
【０１５０】
以上によれば、クラスタップとして抽出される画素値レベルを示すデータのビット長をＤＲに対応して変更させることにより、ダイナミックレンジが小さい場合には、画素値レベルを表現するビット長を長くして、各画素毎のコードに差をつけて表現することができ、結果として正確なＡＤＲＣコードを生成することが可能になる。また、ダイナミックレンジが大きい場合、ビット長を長くしすぎないようにすることができるので、フレーム単位での画素値レベルの変化を吸収してノイズによる影響を抑制することが可能となる。
【０１５１】
また、動き検出部２１は、図４で示すように、参照フレームＦｒの特徴量をバッファメモリ３３に記憶させ、次のタイミングでデータベース４１に記憶させて、動きベクトルを検出させるようにする例について説明してきたが、例えば、図３０で示すように、カレントフレームＦｃを記憶するフレームメモリ３１−１と、その次のタイミングで、カレントフレームＦｃを参照フレームＦｒに記憶させるフレームメモリ３１−２を設けるようにして、カレントフレームＦｃと参照フレームＦｒのそれぞれの特徴量抽出部３２−１，３２−２を設けるようにしてもよい。尚、図３０の動き検出部２１の処理は、図４の動き検出部２１と同様であるので、その説明は省略する。
【０１５２】
以上においては、特徴量を表現する量子化コードとしてＡＤＲＣコードを生成する場合について説明してきたが、特徴量を表現する量子化コードは、ＡＤＲＣコードに限るものではなく、例えば、注目画素に対応したクラスタップから求められるダイナミックレンジＤＲ、最小値Ｍｉｎ、ラプラシアン、ソーベルオペレータ、または、クラスタップの中心画素の画素値、もしくは、注目画素近傍Ｎ画素値の平均、または、和などであってもよい。
【０１５３】
以上によれば、注目画素に対応したクラスタップのＤＲの大きさに基づいて、適応的にＤＲ、または、ビット長を変更することにより、適正な量子化コードを生成することが可能となるので、動きベクトルを正確に求めることが可能となる。
【０１５４】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【０１５５】
図３１は、動き検出部２１をソフトウェアにより実現する場合のパーソナルコンピュータの一実施の形態の構成を示している。パーソナルコンピュータのＣＰＵ２０１は、パーソナルコンピュータの動作の全体を制御する。また、ＣＰＵ２０１は、バス２０４および入出力インタフェース２０５を介してユーザからキーボードやマウスなどからなる入力部２０６から指令が入力されると、それに対応してＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）２０２に格納されているプログラムを実行する。あるいはまた、ＣＰＵ２０１は、ドライブ２１０に接続された磁気ディスク２１１、光ディスク２１２、光磁気ディスク２１３、または半導体メモリ２１４から読み出され、記憶部２０８にインストールされたプログラムを、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）２０３にロードして実行し、出力部２０７が実行結果を出力する。さらに、ＣＰＵ２０１は、通信部２０９を制御して、外部と通信し、データの授受を実行する。
【０１５６】
プログラムが記録されている記録媒体は、図３１に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク２１１（フレキシブルディスクを含む）、光ディスク２１２（ＣＤＲＯＭ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ−Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｃ）を含む）、光磁気ディスク２１３（ＭＤ（Ｍｉｎｉ−Ｄｉｓｃ）を含む）、もしくは半導体メモリ２１４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭ２０２や、記憶部２０８に含まれるハードディスクなどで構成される。
【０１５７】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【０１５８】
【発明の効果】
本発明によれば、適正な量子化コードを生成することが可能となるので、動きベクトルを正確に求めることが可能となる。
【図面の簡単な説明】
【図１】従来の動き検出部の構成を示すブロック図である。
【図２】動きベクトルの検出方法を説明する図である。
【図３】図１の動き検出部による動き検出処理を説明するフローチャートである。
【図４】本発明を適用した動き検出部の一実施の形態の構成を説明するブロック図である。
【図５】図４のデータベースの構造を説明する図である。
【図６】図４の動き検出部による参照フレーム情報生成処理を説明するフローチャートである。
【図７】図４の動き検出部による動きベクトル検出処理を説明するフローチャートである。
【図８】図４の動き検出部による動きベクトル検出処理を説明するフローチャートである。
【図９】注目画素の特徴量の近傍の特徴量を説明する図である。
【図１０】本発明を適用した特徴量抽出部の一実施の形態の構成を説明するブロック図である。
【図１１】クラスタップを説明する図である。
【図１２】クラスタップを説明する図である。
【図１３】クラスタップを説明する図である。
【図１４】クラスタップを説明する図である。
【図１５】クラスタップを説明する図である。
【図１６】クラスタップを説明する図である。
【図１７】ＡＤＲＣコードを説明する図である。
【図１８】ＤＲが小さいときに生じる誤差の例を説明する図である。
【図１９】図１０で示す特徴量抽出部による特徴量算出処理を説明するフローチャートである。
【図２０】本発明を適用した特徴量抽出部の他の実施の形態の構成を説明するブロック図である。
【図２１】図２０で示す特徴量抽出部による特徴量算出処理を説明するフローチャートである。
【図２２】画像を縮小してクラスタップを抽出する処理を説明する図である。
【図２３】画像を縮小してクラスタップを抽出する処理を説明する図である。
【図２４】本発明を適用した特徴量抽出部の他の実施の形態の構成を説明するブロック図である。
【図２５】ＤＲに対応して使用ビット長を変更させる処理を説明する図である。
【図２６】ＤＲに対応して使用ビット長を変更させる処理を説明する図である。
【図２７】必要分解能と使用ビット長の関係を説明する図である。
【図２８】ダイナミックレンジと使用ビット長の関係を説明する図である。
【図２９】図２４で示す特徴量抽出部による特徴量算出処理を説明するフローチャートである。
【図３０】本発明を適用した動き検出部の他の実施の形態の構成を説明するブロック図である。
【図３１】媒体を説明する図である。
【符号の説明】
３１　フレームメモリ，　３２　特徴量抽出部，　３３　バッファメモリ，　３４　データベース制御部，　３５　動きベクトル検出部，　４１　データベース，　５１　クラスタップ抽出部，　５１ａ　タップテーブル，　５２　ＤＲ算出部，　５３　ＡＤＲＣコード生成部，　５４　ＤＲ判定部，　７１　画像縮小部，　７２　クラスタップ抽出部，　７３　ＤＲ判定部，　８１　使用ビット長決定部，　８１ａ　テーブル，　８２　ＡＤＲＣコード生成部
【図１】
2004134990.tif 000004
【図２】
2004134990.tif 000005
【図３】
2004134990.tif 000006
【図４】
2004134990.tif 000007
【図５】
2004134990.tif 000008
【図６】
2004134990.tif 000009
【図７】
2004134990.tif 000010
【図８】
2004134990.tif 000011
【図９】
2004134990.tif 000012
【図１０】
2004134990.tif 000013
【図１１】
2004134990.tif 000014
【図１２】
2004134990.tif 000015
【図１３】
2004134990.tif 000016
【図１４】
2004134990.tif 000017
【図１５】
2004134990.tif 000018
【図１６】
2004134990.tif 000019
【図１７】
2004134990.tif 000020
【図１８】
2004134990.tif 000021
【図１９】
2004134990.tif 000022
【図２０】
2004134990.tif 000023
【図２１】
2004134990.tif 000024
【図２２】
2004134990.tif 000025
【図２３】
2004134990.tif 000026
【図２４】
2004134990.tif 000027
【図２５】
2004134990.tif 000028
【図２６】
2004134990.tif 000029
【図２７】
2004134990.tif 000030
【図２８】
2004134990.tif 000031
【図２９】
2004134990.tif 000032
【図３０】
2004134990.tif 000033
【図３１】
2004134990.tif 000034