(57)【特許請求の範囲】
【請求項１】
それぞれＭ行×Ｎ列の画素からなる基準ブロックのデータと検査ブロックのデータとを演算することによって、ブロック単位で動きベクトルを検出するような動きベクトル検出装置において、
Ｍ行×Ｎ列の基準ブロックの中の最大値および最小値、ならびに、該最大値を示す画素の位置および該最小値を示す画素の位置を抽出し、それぞれ選択すること、
若しくはＭ行×Ｎ列の基準ブロックの中の画素データの値の平均値からの差分が最大値および最小値、ならびに、該最大値を示す画素の位置および該最小値を示す画素の位置を抽出し、それぞれ選択すること
の何れかまたはこれらを併用して
上記基準ブロックの特徴を反映する画素の位置を選択する特徴値抽出選択手段と、
上記抽出された上記基準ブロックの上記複数の特徴値にそれぞれ対応する複数の画素と、上記Ｍ行×Ｎ列の画素からなる検査ブロックの中の、上記基準ブロックの中の上記特徴値抽出選択手段により選択された上記画素の位置にそれぞれ対応する位置の複数の画素とに基づき動きベクトルを検出する演算手段と
を有することを特徴とした動きベクトル検出装置。
【請求項２】
請求項１に記載の動きベクトル検出装置において、
上記特徴値抽出選択手段は、
上記最大値に対して２番目に大きな値および上記最小値に対して２番目に小さな値、ならびに、該２番目に大きな値の画素の位置および該２番目に小さな値を示す画素の位置を抽出し、それぞれ選択することを併用して、上記基準ブロックの特徴を反映する画素の位置を選択すること
を特徴とした動きベクトル検出装置。
【請求項３】
請求項１に記載の動きベクトル検出装置において、
上記特徴値抽出選択手段は、
上記基準ブロックを複数の基準小ブロックに分割し、該基準小ブロックの特徴を反映する上記複数の画素それぞれに対応する特徴値を該複数の基準小ブロックのそれぞれについて抽出し、上記検査ブロック中の、該複数の画素の位置を選択することを特徴とした動きベクトル検出装置。
【請求項４】
それぞれＭ行×Ｎ列の画素からなる基準ブロックのデータと検査ブロックのデータとを演算することによって、ブロック単位で動きベクトルを検出するような動きベクトル検出方法において、
Ｍ行×Ｎ列の基準ブロックの中の最大値および最小値、ならびに、該最大値を示す画素の位置および該最小値を示す画素の位置を抽出し、それぞれ選択すること、
若しくはＭ行×Ｎ列の基準ブロックの中の画素データの値の平均値からの差分が最大値および最小値、ならびに、該最大値を示す画素の位置および該最小値を示す画素の位置を抽出し、それぞれ選択すること
の何れかまたはこれらを併用して
上記基準ブロックの特徴を反映する画素の位置を選択する特徴値抽出選択のステップと、
上記抽出された上記基準ブロックの上記複数の特徴値にそれぞれ対応する複数の画素と、上記Ｍ行×Ｎ列の画素からなる検査ブロックの中の、上記基準ブロックの中の上記特徴値抽出選択のステップにより選択された上記画素の位置にそれぞれ対応する位置の複数の画素とに基づき動きベクトルを検出する演算のステップと
を有することを特徴とした動きベクトル検出方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、例えばＭＰＥＧ方式等、画像の予測符号化処理に用いて好適な動きベクトルの検出装置に関する。
【０００２】
【従来の技術】
動画の高能率圧縮符号化の国際標準方式としてＭＰＥＧ（Moving Picture Coding Experts Group ）方式が知られている。ＭＰＥＧ方式は、ＤＣＴ（Discrete Cosine Transform ）変換と、動き補償を組み合わせた画像の高能率圧縮技術である。
【０００３】
図８は、ＭＰＥＧ方式のように、他のフレームとの相関を利用して画像を符号化する予測符号化装置の一例である。図８において、入力端子１００に画像データが供給される。この画像データは動きベクトル検出回路１０１に供給されると共に、減算回路１０２に供給される。動きベクトル検出回路１０１で、現フレームと参照フレームとの動きベクトルが求められる。この動きベクトルが動き補償回路１０３に供給される。
【０００４】
一方、参照フレームの画像データは、フレームメモリ１０４に蓄えられている。フレームメモリ１０４の出力は、動き補償回路１０３に供給される。動き補償回路１０３で、フレームメモリ１０４からの参照フレームの画像データが、動きベクトル検出回路１０１で求められた動きベクトルに基づいて、動き補償される。この動き補償された画像データは、減算回路１０２に供給されると共に、加算回路１０５に供給される。
【０００５】
減算回路１０２には、入力端子１００から現フレームの画像データが供給されると共に、動き補償回路１０３で動き補償された参照フレームの画像データが供給される。減算回路１０２で、現フレームの画像データと、動き補償された参照フレームの画像データとが減算され、現フレームと参照フレームとの差分データが求められる。この差分データが、ＤＣＴ回路１０６に供給される。ＤＣＴ回路１０６でこの差分データがＤＣＴ変換される。ＤＣＴ回路１０６の出力が量子化器１０７に供給される。量子化器１０７で、ＤＣＴ回路１０６の出力が量子化される。この量子化器１０７の出力が出力端子１０８から出力される。
【０００６】
また、このＤＣＴ変換され、量子化された差分データは、逆量子化器１０９及び逆ＤＣＴ回路１１０に供給され、元の差分データに戻され、加算回路１０５に供給される。加算回路１０５には、動き補償回路１０３から参照フレームの画像データが供給される。加算回路１０５で、この参照フレームの画像データに、参照フレームと現フレームとの差分データが加算され、現フレームの画像データが求められる。求められた現フレームの画像データは、次の参照フレームとして、フレームメモリ１０４に蓄えられる。
【０００７】
このように、フレーム間予測符号化処理では、動きベクトルに基づいて動き補償された参照フレームと、現フレームとの差分データが符号化される。このようなフレーム間予測符号化処理において用いられる動きベクトルの検出方法としては、参照フレームの検査ブロックを所定のベクトルサーチ範囲内で動かしていき、現フレームの基準ブロックに最も合致しているブロックを検出することにより動きベクトルを求めるブロックマッチング法が知られている。
【０００８】
図９は、このようなブロックマッチング法を説明するための図である。図９において、１５０は基準フレームを示し、１５１はサーチフレームを示している。基準フレーム１５０にＭ画素×Ｎラインの大きさの基準ブロック１５２が設定され、サーチフレーム１５１に基準ブロック１５２と同じ大きさの検査ブロック１５３が設定される。サーチフレーム１５１の検査ブロック１５３は、所定のベクトルサーチ範囲１５４内を巡って移動される。そして、基準フレーム１５０の基準ブロック１５２と、サーチフレーム１５１の検査ブロック１５３とがどの程度合致しているかが検出される。基準ブロック１５２に最も合致している検査ブロック１５３がマッチングブロックとされる。このマッチングブロックから動きベクトルが求められる。
【０００９】
すなわち、検査ブロック１５３は、単位画素毎に基準ブロック１５２に対し所定のベクトルサーチ範囲１５４内を移動され、検査ブロック１５３の画素データおよび基準ブロック１５２の画素データが動きベクトル検出回路１０１に供給される。この動きベクトル検出回路１０１において、これら供給されたデータに基づいて演算が行なわれ、基準ブロック１５２および検査ブロック１５３同士の同じ位置の画素値の差分の絶対値和（以下、残差と称する）が最小となる動きベクトルおよびその残差が出力される。この残差は、評価値の一例であって、これ以外にも、例えば画素値の差分の２乗和を評価値として用いてもよい。
【００１０】
従来、このようなブロックマッチング法においては、基準ブロック１５２および検査ブロック１５３について、これらブロックのＭ画素×Ｎラインの全画素に対して残差が求められ、動きベクトルが算出されていた。さらに、演算量および回路規模の削減のために、このＭ画素×Ｎラインの画素から、サブサンプルを行い、演算に用いる画素数をＭ画素×Ｎラインより少なくし、このサブサンプルされた画素同士に対し残差が求められていた。
【００１１】
図１０は、このサブサンプルの例を示す。この例では、ブロックサイズが４×４の場合に画素数が４：１にサブサンプルされ、全１６画素のうち図中に斜線が掛けられた４個の画素同士で残差が求められる。
【００１２】
【発明が解決しようとする課題】
しかしながら、このように画素位置が固定された、固定サブサンプルを行なうことにより、誤検出が生じる可能性がある。一例として、基準ブロックが図１１Ａに示すようなものであって、検査ブロックに対して、この基準ブロック中の斜線が掛けられた画素同士で残差が求められるとする。この基準ブロックに対しては、検査ブロックが図１１Ｂに示すような基準ブロックと同じ構成を持つものに対しては、残差が０となり、正しく合致しているとされる。
【００１３】
ところが、例えば、図１１Ｃに示すような、明らかに基準ブロックと異なるような構成を持つ検査ブロックについても、サブサンプルによって抽出された画素による残差が０であるため、図１１Ｂの検査ブロック同様正しく合致しているとされ、誤検出の原因となる。このように、従来方法である固定サブサンプルでは、動きベクトルの演算に用いられる画素の位置が固定され、誤検出が起きる可能性があるという問題点があった。
【００１４】
したがって、この発明の目的は、誤検出が起こりにくいようなサブサンプル方法が適用された動きベクトル検出装置を提供することにある。
【００１５】
【課題を解決するための手段】
この発明は、上述した課題を解決するために、それぞれＭ行×Ｎ列の画素からなる基準ブロックのデータと検査ブロックのデータとを演算することによって、ブロック単位で動きベクトルを検出するような動きベクトル検出装置において、Ｍ行×Ｎ列の基準ブロックの中の最大値および最小値、ならびに、最大値を示す画素の位置および最小値を示す画素の位置を抽出し、それぞれ選択すること、若しくはＭ行×Ｎ列の基準ブロックの中の画素データの値の平均値からの差分が最大値および最小値、ならびに、最大値を示す画素の位置および最小値を示す画素の位置を抽出し、それぞれ選択することの何れかまたはこれらを併用して基準ブロックの特徴を反映する画素の位置を選択する特徴値抽出選択手段と、抽出された基準ブロックの複数の特徴値にそれぞれ対応する複数の画素と、Ｍ行×Ｎ列の画素からなる検査ブロックの中の、基準ブロックの中の特徴値抽出選択手段により選択された画素の位置にそれぞれ対応する位置の複数の画素とに基づき動きベクトルを検出する演算手段とを有することを特徴とした動きベクトル検出装置である。
【００１８】
また、この発明は、それぞれＭ行×Ｎ列の画素からなる基準ブロックのデータと検査ブロックのデータとを演算することによって、ブロック単位で動きベクトルを検出するような動きベクトル検出方法において、Ｍ行×Ｎ列の基準ブロックの中の最大値および最小値、ならびに、最大値を示す画素の位置および最小値を示す画素の位置を抽出し、それぞれ選択すること、若しくはＭ行×Ｎ列の基準ブロックの中の画素データの値の平均値からの差分が最大値および最小値、ならびに、最大値を示す画素の位置および最小値を示す画素の位置を抽出し、それぞれ選択することの何れかまたはこれらを併用して基準ブロックの特徴を反映する画素の位置を選択する特徴値抽出選択のステップと、抽出された基準ブロックの複数の特徴値にそれぞれ対応する複数の画素と、Ｍ行×Ｎ列の画素からなる検査ブロックの中の、基準ブロックの中の特徴値抽出選択のステップにより選択された画素の位置にそれぞれ対応する位置の複数の画素とに基づき動きベクトルを検出する演算のステップとを有することを特徴とした動きベクトル検出方法である。
【００１９】
【作用】
この発明は、上述の構成を有しているために、動きベクトルを求めるための演算に用いられるデータを、基準ブロックのデータによって適応的に選択することができるため、動きベクトル検出の際の誤検出を減少させることができる。
【００２０】
【実施例】
以下、この発明の第１の実施例を、図面を参考にしながら説明する。図１は、この実施例による動きベクトル検出回路の構成の一例を示す。この例では、動きベクトル検出回路が基準ブロックデータ解析回路を有しており、この回路でＭ画素×Ｎラインの基準ブロックのデータが解析され、その解析結果に基づき、動きベクトルの演算に用いられる画素のデータが適応的に変えられる。
【００２１】
入力端子１には、基準ブロックデータが供給され、入力端子２には、検査ブロックデータが供給される。入力端子１からの信号は、基準ブロックデータ解析回路３およびＭ×Ｎレジスタ４に共に供給され、Ｍ×Ｎレジスタ４の出力が選択回路６の一方の入力端に供給される。入力端子２からの信号は、Ｍ×Ｎレジスタ５に供給され、Ｍ×Ｎレジスタ５の出力が選択回路７の一方の入力端に供給される。選択回路６の出力が差分絶対値和演算回路８の一方の入力端に供給され、選択回路７の出力が差分絶対値和演算回路８の他方の入力端に供給される。差分絶対値和演算回路８の出力が最小値回路９に供給され、最小値回路９の出力が出力端子１０に供給される。また、基準ブロックデータ解析回路３の出力が選択回路６の他方の入力端および選択回路７の他方の入力端に供給される。
【００２２】
基準ブロックデータおよび検査ブロックデータが入力端子１、２に供給され、Ｍ×Ｎレジスタ４、５にそれぞれ格納される。また、入力端子１に供給されＭ×Ｎレジスタに供給された基準ブロックデータは、基準ブロックデータ解析回路３にも供給される。この基準ブロックデータ解析回路３で供給された基準ブロックデータの解析が行なわれ、ブロックの特徴を表す値が計算され、その特徴を有する最適な画素の位置が特定される。
【００２３】
例えば、Ｍ画素×Ｎラインから成る基準ブロックデータの最大値および最小値が検出され、これらのデータが発生した画素の位置が特定される。このとき、最大値、最小値共に、それぞれ最大値および２番目に大きな値、あるいは、最小値および２番目に小さな値というように２個ずつデータを抽出すると、精度をより上げることができる。
【００２４】
また、基準ブロック内平均値からの差分によって特徴値を算出してもよい。この場合には、例えば、基準ブロック内の各々の画素に対し、平均値からの差分が大きい画素および差分の小さい画素を抽出するといった方法が考えられる。
【００２５】
さらに、上述した最大値、最小値の画素を利用する方法に、この平均値からの差分によって特徴値を抽出する方法を併用してもよい。この場合、先ず、基準ブロックデータに対して、最大値および最小値が検出され、これらのデータが発生した画素の位置が特定される。続いて、基準ブロック内の各々の画素に対し平均値からの差分が求められ、この差分が小さいデータを持つ画素が２箇所抽出され特定される。
【００２６】
さらにまた、基準ブロック内の各々の画素における隣接する画素との差分による特徴値の抽出を行なってもよい。この場合には、差分が大きいところ、および差分が小さいところに対し、それぞれ２個ずつの画素が特定され、それら特定された画素間において傾きが算出される。
【００２７】
このようにして、基準ブロックデータ解析回路３によって、基準ブロック内の特徴値を有する画素が特定され、その位置情報が選択信号１０として出力される。この選択信号１０が選択回路６および選択回路７に共に供給される。選択回路６にはＭ×Ｎレジスタ４から基準ブロックデータ１１が供給され、また、選択回路７にはＭ×Ｎレジスタ５から検査ブロックデータ１２が供給されている。
【００２８】
基準ブロックデータ解析回路３から供給された選択信号１０に基づき、選択回路６によって、基準ブロックデータ１１から特徴値を有する位置の画素データが選択され、選択基準ブロックデータ１３として出力される。また、同様にして、選択回路７によって、検査ブロックデータ１２のデータにおいて、基準ブロックデータ１１の特徴値を有する位置に対応した位置の画素データが選択され、選択検査ブロックデータ１４として出力される。これら選択回路６、７によって選択されたデータの個数は、元のブロックデータの画素数Ｍ画素×Ｎラインより少なくされている。これら選択基準ブロックデータ１３および選択検査ブロックデータ１４は、差分絶対値和演算回路８にそれぞれ供給される。
【００２９】
差分絶対値和演算回路８では、供給されたこれら選択基準ブロックデータ１３および選択検査ブロックデータ１４に基づき、これらのデータ同士の同じ位置の画素値の差分の絶対値和（残差）が算出される。この残差は、評価値の一例であって、これ以外にも、例えば画素値の差分の２乗和を評価値として用いてもよい。算出されたこの残差および対応する動きベクトルが最小値回路９に供給される。この最小値回路９で、サーチ範囲内における残差が比較される。そして、サーチ範囲内での最小の残差およびこの残差に対応する動きベクトルが出力データ１５とされ、出力端子１０に供給される。
【００３０】
次に、この第１の実施例の変形例について図面を参考にしながら説明する。図２は、この第１の実施例の変形例による動きベクトル検出回路の構成の一例を示す。この例では、上述した第１の実施例における動きベクトル検出回路の入力端子１、２およびＭ×Ｎレジスタ４、５との間に特徴抽出回路１６、１７が挿入された構成とされている。なお、この図２において、図１と共通する部分については、同一の符号を付してその説明を省略する。
【００３１】
入力端子１から特徴抽出回路１６に、Ｍ画素×Ｎラインの基準ブロックデータが供給される。また、入力端子２から特徴抽出回路１７に、Ｍ画素×Ｎラインの検査ブロックデータが供給される。供給されたこれらのブロックデータは、特徴抽出回路１６、１７において、画素データそのものから構成されたブロックデータが画素データより算出された特徴値データで構成されたブロックデータに変換される。
【００３２】
このときの特徴抽出の方法としては、例えば、画素データに対するローパスフィルタ、ブロックをさらに小ブロックに分割しそれぞれのブロックに対する全画素加算、ブロックデータを横方向および縦方向にそれぞれ加算する積分射影、あるいは、アダマール変換などが適用できる。
【００３３】
このように、特徴値抽出回路１６、１７で特徴を抽出された各々のブロックデータに対し、上述した第１の実施例における動きベクトルの演算が行なわれる。すなわち、特徴値抽出回路１６に供給された基準ブロックデータから特徴値が算出され、特徴値から構成された基準ブロックデータとされる。この特徴値から構成された基準ブロックデータがレジスタ１８に格納される。レジスタ１８に格納されるこのブロックデータは、特徴値を抽出されることによって元の基準ブロックデータよりもデータ数が少なくされている。
【００３４】
また、検査ブロックデータは、特徴値抽出回路１７に供給され、上述の基準ブロックデータと同様、特徴値が算出され、特徴値から構成された検査ブロックデータとされ、レジスタ１９に格納される。
【００３５】
特徴値抽出回路１６の出力は、基準ブロックデータ解析回路３にも供給される。この基準ブロックデータ解析回路３で、この特徴値から構成された基準ブロックデータが解析される。この解析方法の例としては、上述したように、ブロックデータの最大値および最小値の検出、ブロック内平均値からの差分をとる、あるいは隣接画素との差分をとるなどの方法がある。このように、ブロックとしての特徴値が抽出され、その特徴を有するデータが特定され、選択信号１０として出力される。
【００３６】
この選択信号１０は、選択回路６、７に共に供給される。選択回路６、７には、レジスタ１８、１９から、特徴値から構成された基準ブロックデータおよび検査ブロックデータも供給される。これらブロックデータは、選択回路６、７に供給されている選択信号１０によって、適応的にサブサンプルされ、それぞれ差分絶対値和演算回路８に供給され、残差を計算される。算出されたこの残差および対応する動きベクトルが最小値回路９に供給される。この最小値回路９で、サーチ範囲内における残差が比較される。そして、サーチ範囲内での最小の残差およびこの残差に対応する動きベクトルが出力データ１５とされ、出力端子１０に供給される。
【００３７】
次に、この発明の第２の実施例について、図面を参考にしながら説明する。この実施例においては、先ず、基準ブロックを複数のブロックに分割する。図３は、この基準ブロックの分割の一例を示す。図に示されるように、元のブロックサイズが４画素×４ラインとした場合、このブロックが４画素×２ラインの基準小ブロック３０および基準小ブロック３１の２つに分割される。そして、分割されたそれぞれのブロックに対し、最大値および最小値を有する画素を求め、それら求められた画素の位置データが動きベクトルの演算に用いられる。
【００３８】
図４は、このようにして基準小ベクトルから最大値・最小値を有する画素を検出し、動きベクトルを求める例について示す。基準ブロック４０は、上述した従来技術における基準ブロックと同じもので、４画素×４ラインとして１６画素を有し、それぞれの画素が図中の円に記した値を有する。この基準ブロック４０が４画素×２ラインの２つの基準小ブロック４１、４２に分割される。この分割された基準小ブロック４１、４２において、斜線を付された画素ａ、画素ｂが最大値を有する画素、ドットを付された画素ｃ、ｄが最小値を有する画素を示す。
【００３９】
一方、検査ブロック４３についても、基準ブロック４０に対応するように分割が行なわれ、４画素×２ラインの２つの検査小ブロック４４、４５に分割される。この検査ブロック４３は、基準ブロック４１と正しく合致する例である。
【００４０】
検査小ブロック４４、４５における、基準ブロック４１、４２の最大値を表すブロックおよび最小値を表すブロックの位置に対応する位置のブロックが動きベクトルの演算に用いられる。すなわち、検査小ブロック４４における、基準小ブロック４１の画素ａおよび画素ｂの位置に対応した位置の画素ａ’および画素ｂ’が動きベクトルの演算に用いられる。また、同様に、検査小ブロック４５における、基準小ブロック４２の画素ｃおよび画素ｄの位置に対応した位置の画素ｃ’および画素ｄ’が動きベクトルの演算に用いられる。
【００４１】
動きベクトルの演算の際の評価値として残差（差分絶対値和）が用いられる場合には、これら画素データから残差を算出するために、例えば、次に示す数式（１）のような演算が行なわれる。ここで、ａ、ａ’、ｂ、・・・、は、それぞれ画素ａ、画素ａ’、画素ｂ、・・・、のデータを表す。
残差＝｜ａ−ａ’｜＋｜ｂ−ｂ’｜＋｜ｃ−ｃ’｜＋｜ｄ−ｄ’｜    （１）
【００４２】
基準ブロック４０および検査ブロック４３に対して数式（１）の演算を行なうと、残差＝０となってこの検査ブロック４３が最小の残差を持つとされ、両者が合致しているとされる。
【００４３】
ここで、検査ブロック４６のような画素で構成されたブロックを考える。これは、上述した従来例における図１１Ｃと同一のものである。この検査ブロック４６についても、基準ブロック４０に対応するように分割が行なわれ、４画素×２ラインの２つの検査小ブロック４７、４８に分割される。
【００４４】
この検査ブロック４６および上述の基準ブロック４０に対して数式（１）の演算を行なうと、残差＝１２となり、上述した従来例とは異なり誤検出されない。
【００４５】
図５に、この第２の実施例の方法による適応サブサンプルおよび従来の固定サブサンプルでの誤検出の発生の一例を示す。これは、ＭＰＥＧ２のアルゴリズムにより６ＭＢｐｓのレートでエンコードした場合のシミュレーション結果である。ここで用いられている基準ブロックの大きさは、１６画素×１６ラインである。
【００４６】
縦軸は、ブロック内の２５６個の全要素を用いた場合の輝度のＳＮＲを基準とした、輝度のＳＮＲの劣化を示している。横軸は、動きベクトル検出演算に用いるサンプル点の数を示している。なお、このディジタルデータにおけるＳＮＲは、次に示す数式（２）で定義される。ここで、Ｙrealがオリジナルのデータ値、また、Ｙdecodeが量子化後の値を示している。
【数１】
0003769773.tif 000002
【００４７】
白い四角の点が従来の固定サブサンプルによる値を示す。また、黒い四角の点がこの第２の実施例による方法、すなわち、サブサンプル位置を分割された小ブロック内の最小値および最大値を用い、適応的にサブサンプルを行なった場合の値を示す。各値は、６０フレームの長さの６種類のシーケンスの平均値を取ったものである。この図から明らかなように、同じサンプル数を動きベクトル検出演算に用いた際に、適応的にサブサンプルを行なった方が固定サブサンプルの場合よりもＳＮＲの劣化が少ない。適応的にサブサンプルを行なった場合、固定サブサンプルを行なった場合の半分程度のサンプル数で、固定サブサンプルの場合とほぼ同等の結果が得られている。
【００４８】
図６は、この第２の実施例による動きベクトル検出回路の構成の一例を示す。入力端子５０に供給された基準ブロックデータが基準小ブロックレジスタ５１、５２に共に供給される。この基準ブロックデータは、最大値・最小値検出回路５３にも供給されている。また、入力端子５４に供給された検査ブロックデータが検査小ブロックレジスタ５５、５６に共に供給される。基準小ブロックレジスタ５１、５２の出力が選択回路５７、５８にそれぞれ供給される。
【００４９】
検査小ブロックレジスタ５５、５６の出力が選択回路５９、６０にそれぞれ供給される。また、最大値・最小値検出回路５３から、選択信号６４が選択回路５７、５９に共に供給される。同時に、最大値・最小値検出回路５３から、選択信号６５が選択回路５８、６０に共に供給される。選択回路５７、５８、５９、６０からは、各々２系統の出力を有しており、それぞれ差分絶対値和演算回路６１に供給される。差分絶対値和演算回路６１の出力が最小値回路６２に供給され、最小値回路６２の出力は、出力端子６３に導出される。
【００５０】
入力端子５０を介し基準小ブロックレジスタ５１、５２に供給された基準ブロックデータは、これらレジスタ５１、５２において予め設定された位置の画素データだけが格納される。例えば、この基準ブロックが４×４画素から構成されている、上述の基準ブロック４０であれば、レジスタ５１には上半分の４×２画素が基準小ブロック４１として、また、レジスタ５２には下半分の４×２画素が基準小ブロック４２として分割され格納される。これら基準小ブロックレジスタ５１、５２の出力は、選択回路５７、５８にそれぞれ供給される。
【００５１】
入力端子５４に供給された検査ブロックデータも、上述の基準ブロックデータと同様に分割され検査小ブロックレジスタ５５、５６に格納される。すなわち、この例では、レジスタ５５には４×４画素で構成される検査ブロック４３の上半分の４×２画素が検査小ブロック４４として、また、レジスタ５６には下半分の４×２画素が検査小ブロック４５として分割され格納される。これら検査小ブロックレジスタ５５、５６の出力は、選択回路５９、６０にそれぞれ供給される。
【００５２】
最大値・最小値検出回路５３には、入力端子５０を介して基準ブロックデータが供給される。そして、上述した基準小ブロック４１、４２それぞれの中での最大値および最小値が求められ、それらに対応する位置のデータを選択する信号、すなわち、小ブロックデータ制御信号６４および小ブロックデータ制御信号６５が出力される。
【００５３】
図７に、この基準小ブロックからそれぞれ最大値および最小値が求められ、それらに対応する画素の位置が特定された例を示す。なお、この例においては、基準ブロックが１６画素×１６ラインとされ、この基準ブロックが８個の８画素×４ラインの基準小ブロック分割されている。図７Ａに示す画素データを持った基準ブロックに対し、各々の基準小ブロックから最大値および最小値のデータを有する画素が抽出される。このとき、１つの規準小ブロック中に２個以上の同値の最大値あるいは最小値が存在した場合には、所定の方法、例えば、最大値を有する画素および最小値を有する画素間の距離の比較、予め設定された規準の画素位置からの距離の比較、単にそれらの画素位置の比較といったような方法によって、それらのうちの１個が選択される。そして、図７Ｂに示すように、それら抽出された画素の位置にはフラグ‘１’が立てられ、その他の画素にはフラグ‘０’が立てられる。
【００５４】
これら小ブロックデータ制御信号６４、６５のうち、制御信号６４は、基準小ブロック４１が供給される選択回路５７、および、検査小ブロック４４が供給される選択回路５９に共に供給される。この供給された制御信号６４によって選択回路５７および選択回路５９がそれぞれ制御される。そして、選択回路５７では、供給された基準小ブロック４１における最大値データ６６および最小値データ６７が選択され出力される。この出力が選択回路５９に供給され、選択回路５９では、検査小ブロック４４におけるこれら基準小ブロック４１における最大値データと同位置の検査小ブロックデータ６８、および、基準小ブロック４１における最小値データと同位置の検査小ブロックデータ６９が選択され出力される。
【００５５】
これら出力された、基準小ブロック４１の最大値と同位置の検査小ブロックデータ６８、および、基準小ブロック４１の最小値と同位置の検査小ブロックデータ６９は、それぞれ差分絶対値和演算回路６１に供給される。
【００５６】
また、一方、小ブロックデータ制御信号６５は、基準小ブロック４２が供給される選択回路５８、および、検査小ブロック４５が供給される選択回路６０に共に供給される。この供給された制御信号６５によって選択回路５８および選択回路６０がそれぞれ制御される。そして、選択回路５８では、供給された基準小ブロック４２における最大値データ６８および最小値データ６９が選択され出力される。この出力が選択回路６０に供給され、選択回路６０では、検査小ブロック４５におけるこれら基準小ブロック４２における最大値データと同位置の検査小ブロックデータ７０、および、基準小ブロック４２における最小値データと同位置の検査小ブロックデータ７１が出力される。
【００５７】
これら出力された、基準小ブロック４１の最大値と同位置の検査小ブロックデータ７０、および、基準小ブロック４２の最小値と同位置の検査小ブロックデータ７１は、それぞれ差分絶対値和演算回路６１に供給される。
【００５８】
これらデータが供給された差分絶対値和演算回路６１では、次に示す数式（３）の演算が行なわれる。
差分絶対値和（残差）＝｜データ６６−データ７０｜＋｜データ６７−データ７１｜＋｜データ６８−データ７２｜＋｜データ６９−データ７３｜  （３）
【００５９】
算出されたこの残差および対応する動きベクトルが出力データ７４とされ、最小値回路６２に供給される。この最小値回路６２で、サーチ範囲内における残差が比較される。そして、サーチ範囲内での最小の残差およびこの残差に対応する動きベクトルが出力データ７５とされ、出力端子６３に供給される。
【００６０】
【発明の効果】
以上説明したように、この発明においては、動きベクトル検出における演算に用いるデータを、基準ブロックの中から適応的に選択している（適応サブサンプル）。それにより誤出が発生しにくくなり、動きベクトル検出の精度が向上する効果がある。
【００６１】
また、このように誤検出が少ない適応サブサンプルを行なうことによって、動きベクトル検出の際の演算量を減らすことができる効果がある。特に、この発明の第２の実施例においては、処理が分割されたブロックに対し最大値および最小値をもつ画素位置の特定のみとされ、特にこの効果が大きい。
【図面の簡単な説明】
【図１】第１の実施例による動きベクトル検出回路の構成の一例を示すブロック図である。
【図２】第１の実施例の変形例による動きベクトル検出回路の構成の一例を示すブロック図である。
【図３】第２の実施例における基準ブロックの分割の一例を示す略線図である。
【図４】基準小ベクトルから最大値・最小値を有する画素を検出し動きベクトルを求める例を示す略線図である。
【図５】第２の実施例の方法による適応サブサンプルおよび従来の固定サブサンプルでの誤検出の発生の一例を示す略線図である。
【図６】第２の実施例による動きベクトル検出回路の構成の一例を示すブロック図である。
【図７】基準小ブロックからそれぞれ最大値および最小値が求められ、それらに対応する画素の位置が特定された例を示す略線図である。
【図８】予測符号化装置の構成の一例を示すブロック図である。
【図９】ブロックマッチング法を説明するための略線図である。
【図１０】従来技術によるサブサンプルの例を示す略線図である。
【図１１】従来技術によるサブサンプルにおける誤検出の例を示す略線図である。
【符号の説明】
３    基準ブロックデータ解析回路
４、５    Ｍ×Ｎレジスタ
６、７、５７、５８、５９、６０    選択回路
８、６１    差分絶対値和演算回路
９  、６２    最小値回路
５３    最小値・最大値検出回路
【図１】
0003769773.tif 000003
【図２】
0003769773.tif 000004
【図３】
0003769773.tif 000005
【図４】
0003769773.tif 000006
【図５】
0003769773.tif 000007
【図６】
0003769773.tif 000008
【図７】
0003769773.tif 000009
【図８】
0003769773.tif 000010
【図９】
0003769773.tif 000011
【図１０】
0003769773.tif 000012
【図１１】
0003769773.tif 000013