(57)【要約】【課題】  動きベクトル検出回路のハードウェア量を削減して消費電力を低減し、且つ高速なベクトルサーチを可能にする。【解決手段】  対象画素データＴと参照画素データＲとをブロック単位でマッチングさせることにより差分絶対値が演算処理されるプロセッサアレイ３を備え、ブロックごとに加算される差分絶対値和の最小値が求められることにより動きベクトルが検出される動きベクトル検出装置であり、このプロセッサアレイ３は、参照画素データを選択し入力する入力セレクタと参照画素データを格納する１つのＲレジスタと対象画素データを格納する１つのＴレジスタとを有する要素プロセッサＰＥと、参照画素データを選択し入力するとともに保持する入力セレクタと参照画素データを格納するＢレジスタとを有するレジスタバッファＲＢとからなることを特徴とする。【選択図】  図１
2006140813.tif 000002
【特許請求の範囲】
【請求項１】
動きベクトル検出のために参照する参照画像のサーチ範囲の参照画素データから、動きベクトル検出対象である対象画像の対象画素ブロックの対象画素データとの差分絶対値が最小となる参照画素ブロックを検出するブロックマッチング処理により動きベクトルを求める動きベクトル検出装置において、
前記対象画素ブロックの数に対応して行列状に配置されるとともに、それぞれが、前記対象画素ブロックの対象画素データを格納する第１のレジスタと、前記対象画素ブロックの対象画素データとの差分絶対値を求める参照画素ブロックの参照画素データを複数方向のうち選択された一方向から入力して格納し、この入力した方向に基づいて定まる一方向にデータを出力する第２のレジスタと、前記第１のレジスタに格納された対象画素データと前記第２のレジスタに格納された参照画素データとの差分絶対値を求める差分絶対値演算ブロックとを有する要素プロセッサと、
前記要素プロセッサの数に対応して行列状に配置されるとともに前記要素プロセッサに接続され、前記参照画素ブロック以外の参照画素データを格納する第３のレジスタを有し、前記参照画素ブロックの移動に伴い前記第２のレジスタとの間で参照画素データを入出力するレジスタバッファと、
前記要素プロセッサの１列、または前記要素プロセッサおよび前記レジスタバッファの１列に対応して配置されるとともに前記要素プロセッサまたは前記要素プロセッサおよび前記レジスタバッファに接続され、一方方向に前記参照画素ブロック以外の参照画素データを格納し、前記参照画素ブロックの移動に伴い格納した参照画素データを前記第２のレジスタに入力するシフトレジスタと、
前記サーチ範囲内における前記参照画素ブロックの位置に基づいて前記参照画素ブロックの移動経路を制御する経路制御手段と、
前記要素プロセッサで演算処理された差分絶対値をブロックごとに加算する総和プロセッサと、
前記総和プロセッサで加算された差分絶対値の最小値を対象画素ブロックごとに検出し、検出された位置から動きベクトルを出力する比較選択手段と、
を備えることを特徴とする動きベクトル検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の動き補償予測符号化において、動き補償処理に用いられる動きベクトルをブロックマッチング法により検出する動きベクトル検出装置に関する。
【背景技術】
【０００２】
近年、画像情報をデジタルデータとして取り扱う技術が普及しているが、デジタル化した画像情報はデータ量が非常に多いことから、送受信や保存などの処理を行うためにデータを大幅に圧縮する必要がある。
【０００３】
デジタル化された画像情報は、近隣画素間の相関関係や人間の知覚特性などに起因する冗長度が高い。この冗長度を抑圧してデータ量を削減するデータ圧縮技術である高能率符号化方式の１つに、フレーム（またはフィールド）間予測符号化方式がある。このフレーム（またはフィールド）間予測符号化方式では、まず符号化対象のフレーム（またはフィールド）の画素データと、参照するフレーム（またはフィールド）の同じ位置にある画素データの差分である予測誤差を画素ごとに算出する。参照するフレーム（またはフィールド）は、符号化対象のフレーム（またはフィールド）の時間的に前または後のフレーム（またはフィールド）である。そして、算出された予測誤差を以降の符号化に用いる。
【０００４】
この方式に従えば、動きの少ない画像ではフレーム（またはフィールド）間の相関が大きいため予測誤差値は小さく、高能率な符号化を行うことができる。しかしながら、動きの大きな画像ではフレーム（またはフィールド）間の相関が小さいため、誤差が大きくなり、逆に伝送されるデータ量が増加するという欠点が生じる。
【０００５】
このような問題点を解決する方法として、動き補償付フレーム（またはフィールド）間予測符号化方式がある。この方式では、動き情報を表す動きベクトルデータと動き補償予測画像からの予測差分データとを符号化する。物体の動きをベクトルデータという形で効率よく差し引くことによって、ベクトルデータを無視した上述の方式の場合より差分データが極端に少なくて済み、高い圧縮率を得ることが可能になる。この動きベクトルを検出する方法に、ブロックマッチング法がある。ブロックマッチング法は、設定されたサーチ範囲内でブロックの位置を移動させ、サーチ範囲内の各位置における参照画素データのブロックと対象画素データのブロックとの間の差分を求め、差分が最小となるようなブロック位置を求める方法である。
【０００６】
このブロックマッチング法により動きベクトルを検出する装置として、特許文献１に示す動きベクトル検出装置が提案されている。この検出装置では、対象画素ブロックおよび参照画素ブロックの各画素に対応して配置される要素プロセッサ（ＰＥ）が並列に構成され、要素プロセッサ（ＰＥ）内部には対象となるブロックの対象画素データＴを格納するＴレジスタを１個および参照するブロックの各参照画素データＲを格納するＲレジスタが２個含まれる。そして、Ｔレジスタと２つのＲレジスタの一方とを用いて、動きベクトル差分絶対値（評価値）｜Ｒ−Ｔ｜を求める演算を行う。この演算動作と並行して、各要素プロセッサ間の２つのＲレジスタに対する信号の接続経路から一方を選択して参照画素データＲの転送を行うことにより、転送を行っていないもう一方のＲレジスタに次のベクトルサーチ範囲の先頭の参照画素ブロックデータを格納して次の転送処理の準備をすることができ、サーチウィンドウ更新時における参照画素ブロックデータのロードのための待ち時間が不要となり、高速なベクトルサーチを可能にしていた。
【特許文献１】特開平１０−７９９４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記の動きベクトル検出装置は、各要素プロセッサ（ＰＥ）の内部構成において参照画素データＲを格納するＲレジスタを２個含むため、プロセッサアレイ全体では対象画素ブロックサイズの２倍のＲレジスタを必要としていた。例えば、１６×１６画素の対象画素ブロックでは、１６×１６×２個のＲレジスタが必要であった。しかし、対象画素ブロックの２倍のＲレジスタが設けられるとプロセッサアレイのハードウェア量が大きくなり、消費電力も大きくなるという問題があった。さらに、同時に動作するレジスタの数が多いとクロックに同期した電流の変化も大きくなり、クロストーク等、クロック同期のノイズも高くなり、誤動作の原因になるという問題もあった。
【０００８】
本発明は上記事情に鑑みてなされたものであり、動きベクトル検出装置のハードウェア量を削減して消費電力を低減し、且つ高性能なベクトルサーチを可能にする動きベクトル検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するための本発明の動きベクトル検出装置は、動きベクトル検出のために参照する参照画像のサーチ範囲の参照画素データから、動きベクトル検出対象である対象画像の対象画素ブロックの対象画素データとの差分絶対値が最小となる参照画素ブロックを検出するブロックマッチング処理により動きベクトルを求める動きベクトル検出装置において、対象画素ブロックの数に対応して行列状に配置されるとともに、それぞれが、対象画素ブロックの対象画素データを格納する第１のレジスタと、対象画素ブロックの対象画素データとの差分絶対値を求める参照画素ブロックの参照画素データを複数方向のうち選択された一方向から入力して格納し、この入力した方向に基づいて定まる一方向にデータを出力する第２のレジスタと、第１のレジスタに格納された対象画素データと第２のレジスタに格納された参照画素データとの差分絶対値を求める差分絶対値演算ブロックとを有する要素プロセッサと、要素プロセッサの数に対応して行列状に配置されるとともに要素プロセッサに接続され、参照画素ブロック以外の参照画素データを格納する第３のレジスタを有し、参照画素ブロックの移動に伴い第２のレジスタとの間で参照画素データを入出力するレジスタバッファと、要素プロセッサの１列、または要素プロセッサおよびレジスタバッファの１列に対応して配置されるとともに要素プロセッサまたは要素プロセッサおよびレジスタバッファに接続され、一方方向に参照画素ブロック以外の参照画素データを格納し、参照画素ブロックの移動に伴い格納した参照画素データを第２のレジスタに入力するシフトレジスタと、サーチ範囲内における参照画素ブロックの位置に基づいて参照画素ブロックの移動経路を制御する経路制御手段と、要素プロセッサで演算処理された差分絶対値をブロックごとに加算する総和プロセッサと、総和プロセッサで加算された差分絶対値の最小値を対象画素ブロックごとに検出し、検出された位置から動きベクトルを出力する比較選択手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明の動きベクトル検出装置によれば、動きベクトル差分絶対値｜Ｒ−Ｔ｜を演算するためのプロセッサアレイを構成する各要素プロセッサ（ＰＥ）の内部構成において、参照画素データＲを格納するためのＲレジスタ数を１個とし、この要素プロセッサでプロセッサアレイを適切に構成することによってプロセッサアレイ全体のハードウェア量を有効に削減し、消費電力を低減させ且つ高性能な動きベクトル検出装置を実現することができる。
【発明を実施するための最良の形態】
【００１１】
（第一実施形態）
本発明の第一実施形態による動きベクトル検出装置の構成を、図１〜図４を用いて説明する。図１は本発明の第一実施形態による動きベクトル検出装置を示す全体図である。
【００１２】
第一実施形態における動きベクトル検出装置は、参照画素バッファ１と、対象画素バッファ２と、プロセッサアレイ３と、経路制御部４と、総和プロセッサ５と、比較選択部６とを備える。
【００１３】
参照画素バッファ１は、動きベクトル検出のために参照する参照画像のサーチ範囲（以下、「サーチウィンドウ」と称する）の参照画素データＲを受け、保持する。対象画素バッファ２は、動きベクトル検出対象である画像の対象画素ブロックの対象画素データＴを受け、保持する。プロセッサアレイ３は、参照画素バッファ１および対象画素バッファ２から設定されたタイミングで参照画素データＲおよび対象画素データＴを受信し、ブロックごとの差分絶対値｜Ｒ−Ｔ｜を演算処理する。経路制御部４は、参照画素バッファ１からの参照画素データＲに対してプロセッサアレイ３における各プロセッサ間の画素データのサーチ経路を制御し、適切なサーチ位置にて画素間の演算が行われるようにする。総和プロセッサ５は、プロセッサアレイ３からの差分絶対値｜Ｒ−Ｔ｜を受信し、ブロックごとに加算して差分絶対値和（ＳＡＤ）Σ｜Ｒ−Ｔ｜の演算を行う。比較選択部６は、総和プロセッサ５から各ブロックの差分絶対値和（ＳＡＤ）を受信し、比較および選択して差分絶対値和（ＳＡＤ）の最小値（ＳＡＤｍｉｎ）とその検出位置のベクトルとを出力する。
【００１４】
図２は、本発明の第一実施形態における対象画素ブロックが４×４画素の場合のプロセッサアレイ３を示す概略図である。本実施形態によるプロセッサアレイ３は、参照画素データＲと対象画素データＴとの差分絶対値｜Ｒ−Ｔ｜を求める要素プロセッサＰＥ１〜ＰＥ１６と、参照画素データＲを要素プロセッサＰＥとの間で入出力するレジスタバッファＲＢ１〜ＲＢ１６と、要素プロセッサＰＥへ参照画素データＲを入力するシフトレジスタＳＧ１〜ＳＧ４と、サーチ対象画素ブロックの更新時に参照画素データＲを初期ロードし要素プロセッサＰＥへ入力するセレクタＩＳ１とを有する。要素プロセッサＰＥおよびレジスタバッファＲＢは対象画像データＴの対象画素ブロックの数および参照画像データＲの参照画素ブロックの数に対応して行列状に配列され、シフトレジスタＳＧは要素プロセッサの１列の数に対応して構成され配列されている。
【００１５】
図３は、本発明の第一実施形態における要素プロセッサＰＥを示す概略図である。本発明の第一実施形態による要素プロセッサＰＥは、参照画素データＲを入力する３つの入力端子ＲＵ、ＲＲ、およびＲＬから１つの入力端子を選択する入力セレクタ３１と、入力セレクタ３１で入力された参照画素データＲを１クロック期間保持し出力端子ＲＯから出力するＲレジスタ３２と、入力端子ＴＩから入力された対象画素データＴを１クロック期間保持し出力端子ＴＯから出力するＴレジスタ３３と、Ｒレジスタ３２に保持されている参照画素データＲとＴレジスタ３３に保持されている対象画素データＴとの差分を演算して差分絶対値｜Ｒ−Ｔ｜を算出し出力する差分絶対値演算ブロック３４とを有する。
【００１６】
図４は、本発明の第一実施形態におけるレジスタバッファＲＢを示す概略図である。本発明の第一実施形態によるレジスタバッファＲＢは、参照画素データＲが入力される３つの入力端子Ｒ１、Ｒ２、およびＲ３から１つの入力端子を選択する機能および１クロック前に入力された参照画素データＲが保持される機能を持つ入力セレクタ３５と、入力セレクタ３５で入力された参照画素データＲを１クロック期間保持し出力端子ＲＯから出力する機能および入力セレクタ３５に保持させるために出力する機能を持つＢレジスタ３６とを有する。
【００１７】
次に、本発明の第一実施形態における動きベクトル検出装置のプロセッサアレイ３の動作について図２、および図５〜図１６を参照して説明する。本実施形態においては、対象画素ブロックおよび参照画素ブロックは４×４画素、サーチウィンドウは８×８画素とする。
【００１８】
図５は、本実施形態における８×８画素のサーチウィンドウに各参照画素データＲ（０．０）、（０．２）、・・・（７．７）が配置されている状態を示す説明図である。図６は、本実施形態における初期ロードの際の要素プロセッサＰＥおよびレジスタバッファＲＢの、画素データの転送経路を示す説明図である。図７および図８は、本実施形態におけるプロセッサアレイ３における参照画素データＲの動作を示す説明図である。図９は、本実施形態におけるサーチウィンドウにおける参照画素ブロックの移動順序を示す説明図である。図１０〜図１２は、本実施形態における各動作モードに対応した要素プロセッサＰＥ、レジスタバッファＲＢ、およびシフトレジスタＳＧ間の参照画素データＲの転送経路を示す説明図である。図１３〜図１６は、本実施形態におけるサーチウィンドウと参照画素ブロックとの位置関係を示す説明図である。
【００１９】
まず、図６に矢印で示す経路によって、対象画素バッファ２からプロセッサアレイ３の要素プロセッサＰＥへ対象画素データＴが初期ロードされる。
【００２０】
対象画素データＴの初期ロードには、まず対象画素データＴが要素プロセッサＰＥ１６の入力端子ＴＩに入力され、１クロック後要素プロセッサＰＥ１６の出力端子ＴＯより出力され、要素プロセッサＰＥ１５の入力端子ＴＩに入力される。以後、クロック毎に要素プロセッサＰＥ１６→要素プロセッサＰＥ１へと対象画素データＴがシフト転送され、１６クロック後、要素プロセッサＰＥ１６から要素プロセッサＰＥ１のＴレジスタに４×４画素の対象画素ブロックデータが初期状態に配置され格納される。
【００２１】
次に、図６に矢印で示す経路によって、参照画素バッファ１からプロセッサアレイ３の要素プロセッサＰＥおよびレジスタバッファＲＢへ参照画素データＲが初期ロードされる。
【００２２】
参照画素データＲの要素プロセッサＰＥへの初期ロードは、まず参照画素データＲが要素プロセッサＰＥ１６の入力端子ＲＲに入力され、１クロック後要素プロセッサ１６の出力端子ＲＯより出力され、要素プロセッサＰＥ１５のＲＬ端子に入力される。以後、クロック毎に要素プロセッサＰＥ１６から要素プロセッサＰＥ１へと参照画素データＲがシフト転送され、１６クロック後、要素プロセッサＰＥ１６から要素プロセッサＰＥ１のＲレジスタに４×４画素の参照画素データＲ（０．０）・・・（３．３）が初期状態に配置され格納される。
【００２３】
参照画素データＲのレジスタバッファＲＢへの初期ロードには、まず参照画素データＲがレジスタバッファＲＢ１６の入力端子Ｒ２に入力され、１クロック後レジスタバッファＲＢ１６の出力端子ＢＯより出力され、レジスタバッファＲＢ１５の入力端子Ｒ２に入力される。以後、クロック毎にレジスタバッファＲＢ１６からレジスタバッファＲＢ１へと参照画素データＲがシフト転送され、１６クロック後、レジスタバッファＲＢ１６からレジスタバッファＲＢ１のＢレジスタに参照画素データＲ（４．０）・・・（７．３）が初期状態に配置され格納され、図７のＳ１１に示される状態になる。
【００２４】
また、この時点における差分絶対値｜Ｒ−Ｔ｜が演算され、要素プロセッサＰＥ１〜ＰＥ１６から出力される。
【００２５】
以上の初期ロードは各要素プロセッサＰＥおよび各レジスタバッファＲＢに対して並列に行われるので、次の対象画素ブロックに対するベクトルサーチへ移行（対象画素ブロックの更新）するときも間断なく連続して対象画素データおよび参照画素データの転送が行われる。
【００２６】
その後、図９のＡ方向に示されるようにサーチウィンドウの参照画素データＲが同一列に沿って上方向から下方向へスキャンされ、次いでＣ１方向に示されるように一列隣のデータに移動し、さらにＢ方向に示されるように下方向から上方向へスキャンされるスネークスキャンによりブロックマッチングが行われる。このとき、要素プロセッサＰＥ１〜ＰＥ１６では各サーチ位置に対応する参照画素データＲがクロック毎に格納され、差分絶対値｜Ｒ−Ｔ｜が演算され出力される。
【００２７】
スネークスキャン時のプロセッサアレイにおける各要素プロセッサＰＥおよび各レジスタバッファＲＢ間の参照画素データ転送経路は、図９のＡ方向と、Ｂ方向と、Ｃ１およびＣ２方向との３通りのサーチ方向に対応して図１０と、図１１と、図１２とで示される。
【００２８】
図１０では、各要素プロセッサＰＥの入力端子ＲＬが選択され、各レジスタバッファＲＢの入力端子Ｒ２が選択された場合のデータ転送経路を示す。図１１では、各要素プロセッサＰＥの入力端子ＲＵが選択され、各レジスタバッファＲＢの入力端子Ｒ１が選択された場合のデータ転送経路を示す。図１２では、各要素プロセッサＰＥの入力端子ＲＲが選択され、各レジスタバッファＲＢの入力端子については保持状態が選択（直前に選択された状態の保持）された場合のデータ転送経路を示す。
【００２９】
次に、図７〜図１２、および図１３〜図１６を参照して、スネークスキャンによる各要素プロセッサＰＥとレジスタバッファＲＢとの間の参照画素データＲの転送の動作、および、参照画素バッファ１からプロセッサアレイ３への参照画素データＲの転送の動作について説明する。
【００３０】
図７および図８は、図９のサーチ経路に従って、サーチウィンドウを参照画素ブロックが移動したときに、各要素プロセッサＰＥ、レジスタバッファＲＢ、およびシフトレジスタＳＧ間でシフト転送され格納された参照画素データＲの遷移を示す説明図である。画素データの格納状態は、１クロック毎にＳ１１からＳ１５（図９のＡ方向）、Ｓ１５からＳ２１（図９のＣ１方向）、Ｓ２１からＳ２５（図９のＢ方向）へと遷移する。図１３〜図１６は、図７のＳ１１、Ｓ１３、Ｓ１５、Ｓ１６、および図８のＳ２１、Ｓ２３、Ｓ２５に対応したサーチウィンドウと対象画素ブロックとの位置関係を示す説明図である。すなわち、図７において初期状態であるＳ１１の参照画素ブロックは、サーチウィンドウにおいて図１３の実線で示されるような位置にある。
【００３１】
初期状態であるＳ１１において、各要素プロセッサＰＥおよび各レジスタバッファＲＢ間の参照画素データＲの転送経路は、経路制御部からの経路選択信号により図１０の経路が選択される。よって、１クロック後、参照画素データＲは各要素プロセッサＰＥおよび各レジスタバッファＲＢ間において図７の黒矢印に示される方向にシフト転送される。
【００３２】
この時、レジスタバッファＲＢ１６には参照画素バッファ１から参照画素データＲ（０．４）がシフトインされ、要素プロセッサＰＥ１からは参照画素データＲ（０．０）がシフトアウトされ、シフトレジスタＳＧ４には参照画素データＲ（４．４）がシフトインされる。この結果、各要素プロセッサＰＥおよび各レジスタバッファＲＢにはＳ１２に示されるように参照画素データＲが格納される。以後、クロック毎にＳ１２→Ｓ１３→Ｓ１４→Ｓ１５と参照画素データＲが黒矢印に示される方向にシフト転送され、それぞれの状態においてレジスタバッファＲＢ１６には参照画素データＲ（１．４）、（２．４）、（３．４）がシフトインされ、要素プロセッサＰＥ１からは（１．０）、（２．０）、（３．０）がシフトアウトされ、シフトレジスタＳＧ４には（５．４）、（６．４）、（７．４）がシフトインされる。
【００３３】
その結果、各要素プロセッサＰＥ、各レジスタバッファＲＥ、および各シフトレジスタＳＧにはＳ１５に示されるように参照画素データＲが配置され格納される。これにより、サーチウィンドウにおける参照画素ブロックは図１４実線で示される位置になり、図９におけるＡ方向のシフト転送が完了する。
【００３４】
次にＳ１５において、各要素プロセッサＰＥおよび各レジスタバッファＲＢ間のデータ転送経路は、経路制御部からの経路選択信号により図１２の経路が選択される。よって、１クロック後、参照画素データＲは各要素プロセッサＰＥ間において図７のＳ１５の黒矢印に示される方向にシフト転送される。
【００３５】
この時、要素プロセッサＰＥ１、ＰＥ２、ＰＥ３、およびＰＥ４から参照画素データＲ（４．０）、（５．０）、（６．０）および（７．０）がシフトアウトされ、シフトレジスタＳＧ４には参照画素バッファ１から参照画素データＲ（０．５）がシフトインされる。また、各レジスタバッファＲＢの参照画素データＲはＳ１５の状態で保持される。
【００３６】
その結果、各要素プロセッサにはＰＥ、各レジスタバッファＲＥ、および各シフトレジスタＳＧには図８のＳ２１に示されるように参照画素データＲが配置され格納される。これにより、サーチウィンドウにおける参照画素ブロックは図１５実線で示される位置になり、図９におけるＣ１方向のシフト転送が完了する。
【００３７】
次にＳ２１において、各要素プロセッサＰＥおよび各レジスタバッファＲＢ間のデータ転送経路は、経路制御部からの経路選択信号により図１１の経路が選択される。よって、１クロック後、参照画素データＲは各要素プロセッサＰＥおよび各レジスタバッファＲＢ間において図８の黒矢印に示される方向にシフト転送される。
【００３８】
この時、レジスタバッファＲＢ１３には参照画素バッファ１から参照画素データＲ（７．５）がシフトインされ、要素プロセッサＰＥ４からは参照画素データＲ（７．１）がシフトアウトされ、シフトレジスタＳＧ４には参照画素データＲ（０．５）がシフトインされる。この結果、各要素プロセッサＰＥおよび各レジスタバッファＲＢにはＳ２２に示されるように参照画素データＲが格納される。以後、クロック毎にＳ２２→Ｓ２３→Ｓ２４→Ｓ２５と参照画素データＲが黒矢印に示される方向にシフト転送され、それぞれの状態においてレジスタバッファＲＢ１３には参照画素データＲ（６．５）、（５．５）、（４．５）がシフトインされ、要素プロセッサＰＥ４からは（６．１）、（５．１）、（４．１）がシフトアウトされ、シフトレジスタＳＧ４には（１．５）、（２．５）、（３．５）がシフトインされる。
【００３９】
その結果、各要素プロセッサＰＥ、各レジスタバッファＲＥ、および各シフトレジスタＳＧにはＳ２５に示されるように参照画素データＲが配置され格納される。これにより、サーチウィンドウにおける参照画素ブロックは図１６実線で示される位置になり、図９におけるＢ方向のシフト転送が完了する。
【００４０】
次にＳ２５において、各要素プロセッサＰＥおよび各レジスタバッファＲＢ間の参照画素データＲの転送経路は、経路制御部からの経路選択信号により図１２の経路が選択される。よって、１クロック後、参照画素データＲは各要素プロセッサＰＥおよび各レジスタバッファＲＢ間において図８のＳ２５の黒矢印に示される方向にシフト転送される。これにより、サーチウィンドウにおける参照画素ブロックは図１６に点線で示される位置（状態Ｓ３１）になり、図９におけるＣ２方向のシフト転送が完了する。
【００４１】
以上の処理により、初期状態から参照画素データＲがクロック入力される毎に、Ｓ１１からＳ１４では図１０の経路が選択されて図９におけるＡ方向のシフト転送が行われ、Ｓ１５では図１２の経路が選択されて図９におけるＣ１方向のシフト転送が行われ、Ｓ２１からＳ２４までは図１１の経路が選択されて図９におけるＢ方向のシフト転送が行われ、Ｓ２５では図１２の経路が選択されて図９におけるＣ２方向のシフト転送が行われる。Ｃ２方向のシフト転送後、サーチウィンドウにおける参照画素ブロックは図１６点線（Ｓ３１）で示される位置になり、図９におけるＡ方向→Ｃ１方向→Ｂ方向→Ｃ２方向のシフト転送のサイクルが完了する。以後、同様のパターンでスネークスキャンが行われ、サーチウィンドウ全体のサーチが完了し、差分絶対値が算出される。算出された差分絶対値は総和プロセッサでブロックごとに加算され差分絶対値和が求められる。この差分絶対値和の最小値が比較選択部で対象画素ブロックごとに選択され、選択された位置から動きベクトルが検出される。
【００４２】
このように、第一実施形態によれば、参照画素データＲを格納するためのＲレジスタ数が１個である要素プロセッサでプロセッサアレイを適切に構成することができ、レジスタバッファＲＢおよびシフトレジスタＳＧに次のベクトルサーチ範囲の参照画素ブロックデータを格納して次の転送処理の準備をすることにより高速なベクトルサーチを実現するとともに、プロセッサアレイ全体のハードウェア量を有効に削減し、消費電力を低減させ、且つ高性能な動きベクトル検出装置を実現することができる。
【００４３】
（第二実施形態）
本発明の第二実施形態について、図５、および図１３〜図２３を参照して説明する。
【００４４】
本発明の第二実施形態による動きベクトル検出装置の構成は、第一実施形態と同様に参照画素バッファ１と、対象画素バッファ２と、プロセッサアレイ３と、経路制御部４と、総和プロセッサ５と、比較選択部６とを備える。第一実施形態と異なる部分は、プロセッサアレイ３に、要素プロセッサＰＥと、レジスタバッファＲＢと、シフトレジスタＳＧと、セレクタＩＳ１との他に、レジスタバッファＲＢへ参照画素データＲを入力するシフトレジスタＲＧと、サーチ対象画素ブロックの更新時に参照象画素データＲを初期ロードしレジスタバッファＲＢへ入力するセレクタＩＳ２とを有することである。シフトレジスタＲＧは、レジスタバッファの１列の数に対応して構成され配列される。
【００４５】
図１７は、本発明の第二実施形態における対象画素ブロックが４×４画素の場合のプロセッサアレイ３を示す概略図である。図１８は、本実施形態における初期ロードの際の要素プロセッサＰＥ、およびレジスタバッファＲＢ間の画素データの転送経路を示す説明図である。図１９および図２０は、本実施形態におけるプロセッサアレイ３における参照画素データＲの動作を示す説明図である。図２１〜図２３は、本実施形態における各動作モードに対応した要素プロセッサＰＥ、レジスタバッファＲＢ、シフトレジスタＳＧ、およびシフトレジスタＲＧ間の画素データの転送経路を示す説明図である。
【００４６】
まず、図１８の経路によって、対象画素バッファ２および参照画素バッファ１からプロセッサアレイ３へ対象画素データＴおよび参照画素データＲが初期ロードされる。第一実施形態と同様に対象画素バッファ２および参照画素バッファ１から各画素データがシフト転送され、１６クロック後、図１９のＳ４１に示されるようにＰＥ１６〜ＰＥ１のＲレジスタおよびＲＢ１６〜ＲＢ１のＢレジスタには参照画素データが配置され格納される。
【００４７】
また、この時点における差分絶対値｜Ｒ−Ｔ｜が演算され、要素プロセッサＰＥ１〜ＰＥ１６から出力される。
【００４８】
その後、第一実施形態と同様にスネークスキャンが行われ、１クロック毎に各サーチ位置における差分絶対値｜Ｒ−Ｔ｜が演算され、ＰＥ１〜ＰＥ１６から出力される。
【００４９】
第二実施形態におけるスネークスキャン時のプロセッサアレイにおける要素プロセッサＰＥおよびレジスタバッファＲＢ間のデータ転送経路は、図９の方向Ａと、方向Ｂと、方向Ｃ１およびＣ２との３通りのサーチ方向に対応して図２１と、図２２と、図２３とで示される。
【００５０】
図２１は、各要素プロセッサＰＥの入力端子ＲＬが選択され、各レジスタバッファＲＢの入力端子Ｒ２が選択された場合のデータ転送経路図を示す。図２２は、経路制御部からの経路選択信号により各要素プロセッサＰＥの入力端子ＲＵが選択され、各レジスタバッファＲＢの入力端子Ｒ１が選択された場合のデータ転送経路図を示す。図２３は、経路制御部からの経路選択信号により各要素プロセッサＰＥの入力端子ＲＲが選択され、各レジスタバッファＲＢの入力端子Ｒ３が選択された場合のデータ転送経路図を示す。
【００５１】
次に、図１３〜図２３を参照して、スネークスキャンによる各要素プロセッサＰＥおよびレジスタバッファＲＢ間の参照画素データＲの転送の動作、および、参照画素バッファ１からプロセッサアレイ３への参照画素データＲの転送の動作について説明する。
【００５２】
図１９および図２０は、図９のサーチ経路に従って、サーチウィンドウにおいて画素ブロックが移動したときに、各要素プロセッサＰＥ、レジスタバッファＲＢ、およびシフトレジスタＳＧ、ＲＧ間でシフト転送され格納された参照画素データＲの遷移を示す説明図である。参照画素データＲの格納状態は、１クロック毎にＳ４１からＳ４５、Ｓ４５からＳ５１、Ｓ５１からＳ５５へと遷移する。図１３〜図１６は、図１９のＳ４１、Ｓ４３、Ｓ４５、および図２０のＳ５１、Ｓ５３、Ｓ５５におけるサーチウィンドウと参照画素ブロックとの位置関係を示す説明図である。すなわち、図１９において初期状態であるＳ４１の参照画素ブロックは、サーチウィンドウにおいて図１３の実線で示されるような位置にある。
【００５３】
初期状態であるＳ４１において、各要素プロセッサＰＥおよび各レジスタバッファＲＢ間のデータ転送経路は、経路制御部からの経路選択信号により図２１の経路が選択される。よって、１クロック後、参照画素データＲは各要素プロセッサＰＥおよび各レジスタバッファＲＢ間において図１９の黒矢印に示される方向にシフト転送される。
【００５４】
この時、シフトレジスタＲＧ４には参照画素データＲ（０．４）がシフトインされ、シフトレジスタＳＧ４には参照画素データＲ（４．４）がシフトインされる。以後、クロック毎にＳ４２→Ｓ４３→Ｓ４４→Ｓ４５と参照画素データＲが黒矢印に示される方向にシフト転送され、それぞれの状態においてシフトレジスタＲＧ４には参照画素データＲ（１．４）、（２．４）、（３．４）がシフトインされ、シフトレジスタＳＧ４には（５．４）、（６．４）、（７．４）がシフトインされる。
【００５５】
その結果、各要素プロセッサＰＥ、各レジスタバッファＲＥ、および各シフトレジスタＳＧ、ＲＧにはＳ４５に示されるように参照画素データＲが配置され格納される。これにより、サーチウィンドウにおける参照画素ブロックは図１４実線で示される位置になり、図９におけるＡ方向のシフト転送が完了する。
【００５６】
次にＳ４５において、各要素プロセッサＰＥおよび各レジスタバッファＲＢ間のデータ転送経路は、経路制御部からの経路選択信号により図２３の経路が選択される。よって、１クロック後、参照画素データＲは各要素プロセッサＰＥ間において図１９のＳ４５の黒矢印に示される方向にシフト転送される。
【００５７】
この時、要素プロセッサＰＥ１、ＰＥ２、ＰＥ３、およびＰＥ４から参照画素データＲ（４．０）、（５．０）、（６．０）および（７．０）がシフトアウトされ、レジスタバッファＲＢ１、ＲＢ２、ＲＢ３、およびＲＢ４から参照画素データＲ（０．０）、（１．０）、（２．０）および（３．０）がシフトアウトされる。また、シフトレジスタＲＧ４には参照画素バッファ１から参照画素データＲ（４．５）がシフトインされ、シフトレジスタＳＧ４には（０．５）がシフトインされる。
【００５８】
その結果、各要素プロセッサにはＰＥ、各レジスタバッファＲＥ、および各シフトレジスタＳＧ、ＲＧにはＳ５１に示されるように参照画素データＲが配置され格納される。これにより、サーチウィンドウにおける参照画素ブロックは図１５実線で示される位置になり、図９におけるＣ１方向のシフト転送が完了する。
【００５９】
次にＳ５１において、各要素プロセッサＰＥおよび各レジスタバッファＲＢ間のデータ転送経路は、経路制御部からの経路選択信号により図２２の経路が選択される。よって、１クロック後、参照画素データＲは各要素プロセッサＰＥおよび各レジスタバッファＲＢ間において図２０の黒矢印に示される方向にシフト転送される。
【００６０】
この時、シフトレジスタＲＧ４には参照画素バッファ１から参照画素データＲ（４．５）がシフトインされ、シフトレジスタＳＧ４には参照画素データＲ（０．５）がシフトインされる。この結果、各要素プロセッサＰＥおよび各レジスタバッファＲＢにはＳ５２に示されるように参照画素データＲが格納される。以後、クロック毎にＳ５２→Ｓ５３→Ｓ５４→Ｓ５５と参照画素データＲが黒矢印に示される方向にシフト転送され、それぞれの状態においてシフトレジスタＲＧ４には参照画素データＲ（５．５）、（６．５）、（７．５）がシフトインされ、シフトレジスタＳＧ４には（１．５）、（２．５）、（３．５）がシフトインされる。
【００６１】
その結果、各要素プロセッサＰＥ、各レジスタバッファＲＥ、および各シフトレジスタＳＧ、ＲＧにはＳ５５に示されるように参照画素データＲが配置され格納される。これにより、サーチウィンドウにおける参照画素ブロックは図１６実線で示される位置になり、図９におけるＢ方向のシフト転送が完了する。
【００６２】
次にＳ５５において、各要素プロセッサＰＥおよび各レジスタバッファＲＢ間のデータ転送経路は、経路制御部からの経路選択信号により図２３の経路が選択される。よって、１クロック後、参照画素データＲは各要素プロセッサＰＥおよび各レジスタバッファＲＢ間において図２０のＳ５５の黒矢印に示される方向にシフト転送される。これにより、サーチウィンドウに対する対象画素ブロックは図１６点線（Ｓ６１）で示される位置になり、図９におけるＣ２方向のシフト転送が完了する。
【００６３】
以上の処理により、初期状態から参照画素データＲがクロック入力される毎に、Ｓ４１からＳ４４では図２１の経路が選択されて図９におけるＡ方向のシフト転送が行われ、Ｓ４５では図２３の経路が選択されて図９におけるＣ１方向のシフト転送が行われ、Ｓ５１からＳ５４までは図２２の経路が選択されて図９におけるＢ方向のシフト転送が行われ、Ｓ５５では図２３の経路が選択されて図９におけるＣ２方向のシフト転送が行われる。Ｃ２方向のシフト転送後、サーチウィンドウにおける参照画素ブロックは図１６点線（Ｓ６１）で示される位置になり、図９におけるＡ方向→Ｃ１方向→Ｂ方向→Ｃ２方向のシフト転送のサイクルが完了する。以後、同様のパターンでスネークスキャンが行われ、サーチウィンドウ全体のベクトルサーチが完了し、差分絶対値が算出される。算出された差分絶対値は総和プロセッサでブロックごとに加算され差分絶対値和が求められる。この差分絶対値和の最小値が比較選択部で対象画素ブロックごとに選択され、選択された位置から動きベクトルが検出される。
【００６４】
以上の第二実施形態によれば、シフトレジスタが要素プロセッサＰＥのみでなくレジスタバッファＲＢにも対応して設けられている点が第一実施形態と異なるが、要素プロセッサＰＥのＲレジスタ数は１個であるためプロセッサアレイ全体のハードウェア量を有効に削減することができ、第一実施形態と同様の効果を得ることができる。
【図面の簡単な説明】
【００６５】
【図１】本発明の第一実施形態による動きベクトル検出装置を示す全体図である。
【図２】本発明の第一実施形態による動きベクトル検出装置のプロセッサアレイを示す概略図である。
【図３】本発明の第一実施形態による動きベクトル検出装置の要素プロセッサＰＥを示す概略図である。
【図４】本発明の第一実施形態による動きベクトル検出装置のレジスタバッファＲＢを示す概略図である。
【図５】本発明の第一実施形態による動きベクトル検出装置の参照画素バッファに格納されている各参照画素データＲの配置を示す説明図である。
【図６】本発明の第一実施形態による動きベクトル検出装置の初期ロードの際の要素プロセッサＰＥ、およびレジスタバッファＲＢ間の画素データの転送経路を示す説明図である。
【図７】本発明の第一実施形態による動きベクトル検出装置のプロセッサアレイにおける画素データの動作を示す説明図である。
【図８】本発明の第一実施形態による動きベクトル検出装置のプロセッサアレイにおける画素データの動作を示す説明図である。
【図９】本発明の第一実施形態による動きベクトル検出装置のサーチウィンドウにおけるサーチ順序を示す説明図である。
【図１０】本発明の第一実施形態による動きベクトル検出装置の各動作モードに対応した要素プロセッサＰＥ、レジスタバッファＲＢ、およびシフトレジスタＳＧ間の画素データの転送経路を示す説明図である。
【図１１】本発明の第一実施形態による動きベクトル検出装置の各動作モードに対応した要素プロセッサＰＥ、レジスタバッファＲＢ、およびシフトレジスタＳＧ間の画素データの転送経路を示す説明図である。
【図１２】本発明の第一実施形態による動きベクトル検出装置の各動作モードに対応した要素プロセッサＰＥ、レジスタバッファＲＢ、およびシフトレジスタＳＧ間の画素データの転送経路を示す説明図である。
【図１３】本発明の第一実施形態による動きベクトル検出装置のサーチウィンドウと参照画素ブロックとの位置関係を示す説明図である。
【図１４】本発明の第一実施形態による動きベクトル検出装置のサーチウィンドウと参照画素ブロックとの位置関係を示す説明図である。
【図１５】本発明の第一実施形態による動きベクトル検出装置のサーチウィンドウと参照画素ブロックとの位置関係を示す説明図である。
【図１６】本発明の第一実施形態による動きベクトル検出装置のサーチウィンドウと参照画素ブロックとの位置関係を示す説明図である。
【図１７】本発明の第二実施形態による動きベクトル検出装置のプロセッサアレイを示す概略図である。
【図１８】本発明の第二実施形態による動きベクトル検出装置の初期ロードの際の要素プロセッサＰＥ、およびレジスタバッファＲＢ間の画素データの転送経路を示す説明図である。
【図１９】本発明の第二実施形態による動きベクトル検出装置のプロセッサアレイにおける画素データの動作を示す説明図である。
【図２０】本発明の第二実施形態による動きベクトル検出装置のプロセッサアレイにおける画素データの動作を示す説明図である。
【図２１】本発明の第二実施形態による動きベクトル検出装置の各動作モードに対応した要素プロセッサＰＥ、レジスタバッファＲＢ、およびシフトレジスタＳＧ間の画素データの転送経路を示す説明図である。
【図２２】本発明の第二実施形態による動きベクトル検出装置の各動作モードに対応した要素プロセッサＰＥ、レジスタバッファＲＢ、およびシフトレジスタＳＧ間の画素データの転送経路を示す説明図である。
【図２３】本発明の第二実施形態による動きベクトル検出装置の各動作モードに対応した要素プロセッサＰＥ、レジスタバッファＲＢ、およびシフトレジスタＳＧ間の画素データの転送経路を示す説明図である。
【符号の説明】
【００６６】
１  参照画素バッファ
２  対象画素バッファ
３  プロセッサアレイ
４  総和プロセッサ
５  比較選択部
３１  入力セレクタ
３２  Ｒレジスタ
３３  Ｔレジスタ
３４  差分絶対値演算ブロック
３５  入力セレクタ
３６  Ｂレジスタ
【図１】
2006140813.tif 000003
【図２】
2006140813.tif 000004
【図３】
2006140813.tif 000005
【図４】
2006140813.tif 000006
【図５】
2006140813.tif 000007
【図６】
2006140813.tif 000008
【図７】
2006140813.tif 000009
【図８】
2006140813.tif 000010
【図９】
2006140813.tif 000011
【図１０】
2006140813.tif 000012
【図１１】
2006140813.tif 000013
【図１２】
2006140813.tif 000014
【図１３】
2006140813.tif 000015
【図１４】
2006140813.tif 000016
【図１５】
2006140813.tif 000017
【図１６】
2006140813.tif 000018
【図１７】
2006140813.tif 000019
【図１８】
2006140813.tif 000020
【図１９】
2006140813.tif 000021
【図２０】
2006140813.tif 000022
【図２１】
2006140813.tif 000023
【図２２】
2006140813.tif 000024
【図２３】
2006140813.tif 000025