(57)【要約】      （修正有）【課題】消費電力を抑制し、かつ少ない回路で高速に全ての参照画素に対してブロックマッチング処理を行うブロックマッチング演算装置を得ること。【解決手段】２Ｎ−１個のＰＥ部を、Ｎ個のＰＥ部からなる第１のＳＡＤ演算部１０１と、Ｎ−１個のＰＥ部からなる第２のＳＡＤ演算部１０２とに分割し、メモリインタフェース部１０３は、メモリ１０４に記憶されている参照画像の画素データを読み出して第１のＳＡＤ演算部１０１と第２のＳＡＤ演算部１０２とに出力し、第２のＳＡＤ演算部１０２は、第１のＳＡＤ演算部１０１より１サイクル遅延して現画像の画素データと参照画像の画素データとの差分絶対値和演算を行う。【選択図】図１
2005072800.tif 000002
【特許請求の範囲】
【請求項１】
動画圧縮伸長システムに適用され、現画像と参照画像とのブロックマッチングを行い差分絶対値和を算出するブロックマッチング演算処理装置において、
入力された参照画像の画素データを保持するレジスタと、このレジスタに保持された参照画像の画素データと入力された現画像の画素データとの差分絶対値和演算を行う第１の演算部を有するプロセッシング・エレメントをＮ（１＜Ｎ，Ｎは自然数）個備えるとともに、これらＮ個のプロセッシング・エレメントのレジスタを接続して前記参照画像の画素データを順次シフトするシフトレジスタを構成する第１の差分絶対値和演算手段と、
入力された参照画像の画素データを保持するレジスタと、このレジスタに保持された参照画像の画素データと入力された現画像の画素データとの差分絶対値和演算を行う第２の演算部を有するプロセッシング・エレメントをＮ−１個備えるとともに、これらＮ−１個のプロセッシング・エレメントのレジスタを接続して前記参照画像の画素データを順次シフトするシフトレジスタを構成する第２の差分絶対値和演算手段と、
前記第１の差分絶対値和演算手段内のＮ個のプロセッシング・エレメントが構成するシフトレジスタの初段および第２の差分絶対値和演算手段内のＮ−１個のプロセッシング・エレメントが構成するシフトレジスタの初段に参照画像の画素データを入力するメモリインタフェース部と、
を備え、
前記第２の差分絶対値和演算手段は、前記第１の差分絶対値和演算手段より１サイクル遅延して参照画像の画素データと入力された現画像の画素データとの差分絶対値和演算を行うことを特徴とするブロックマッチング演算装置。
【請求項２】
前記参照画像の画素データを記憶するメモリ、
をさらに備え、
前記メモリインタフェース部は、
前記メモリから読み出した参照画像の画素データを保持する複数のレジスタと、
前記レジスタに保持されている参照画像の画素データを前記第１および第２の差分絶対値和演算手段に出力するセレクタと、
を備えることを特徴とする請求項１に記載のブロックマッチング演算装置。
【請求項３】
前記参照画像の画素データを記憶するメモリ、
をさらに備え、
前記メモリインタフェース部は、
前記メモリから読み出した参照画像の画素データを４つ以上保持するレジスタと、
前記レジスタに保持されている参照画像の画素データを前記第１および第２の差分絶対値和演算手段に出力するセレクタと、
を備えることを特徴とする請求項１に記載のブロックマッチング演算装置。
【請求項４】
前記参照画像の画素データを記憶する複数のメモリ、
をさらに備え、
前記メモリインタフェース部は、
前記第１および第２の差分絶対値和演算手段に出力する参照画像の画素データを前記複数のメモリから同時に読み出すことを特徴とする請求項１に記載のブロックマッチング演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画圧縮伸長システムに適用されるブロックマッチング演算処理に関するものであり、特に、ブロック演算処理を高速に実現するためにブロックマッチング演算装置に関するものである。
【背景技術】
【０００２】
ＭＰＥＧなどを用いた動画像圧縮伸張システムにおいて、ブロックマッチングによる動きベクトルの検出をハードウエアで実現する場合、ブロックマッチング処理を高速に、かつ少ない回路で実現する種々の技術が提案されている。
【０００３】
従来技術では、参照画素を保持するシフトレジスタを備え、参照画素の読み出し順序を制御することで複数の画素列に対する演算を並列して行うことを可能にし、従来よりも早い段階で評価値演算が完結するようにしている（たとえば、特許文献１参照）。
【０００４】
【特許文献１】特開平１０−３０４３７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術は、参照画素を１／ｋ（ｋは自然数）に減らし、かつ参照画素を保持するシフトレジスタを備えることでＭ（Ｍは参照画素の垂直画素数）／ｋ列分の参照画素を同時に別の演算ユニットに与えることで複数の画素列に対する演算を並列に行うようにしているため、たとえば、フレームでのブロックマッチング処理を参照画素を間引くことなく（ｋ＝１）行う場合、８個のＰＥ（プロセッシング・エレメント）を内部に有する演算ユニットＰＥＵが８個必要となり、回路規模が大きくなってしまうという問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、消費電力を抑制し、かつ少ない回路で高速に全ての参照画素に対してブロックマッチング処理を行うブロックマッチング演算装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明にかかるブロックマッチング演算装置は、動画圧縮伸長システムに適用され、現画像と参照画像とのブロックマッチングを行い差分絶対値和を算出するブロックマッチング演算処理装置において、入力された参照画像の画素データを保持するレジスタと、このレジスタに保持された参照画像の画素データと入力された現画像の画素データとの差分絶対値和演算を行う第１の演算部を有するプロセッシング・エレメントをＮ（１＜Ｎ，Ｎは自然数）個備えるとともに、これらＮ個のプロセッシング・エレメントのレジスタを接続して前記参照画像の画素データを順次シフトするシフトレジスタを構成する第１の差分絶対値和演算手段と、入力された参照画像の画素データを保持するレジスタと、このレジスタに保持された参照画像の画素データと入力された現画像の画素データとの差分絶対値和演算を行う第２の演算部を有するプロセッシング・エレメントをＮ−１個備えるとともに、これらＮ−１個のプロセッシング・エレメントのレジスタを接続して前記参照画像の画素データを順次シフトするシフトレジスタを構成する第２の差分絶対値和演算手段と、前記第１の差分絶対値和演算手段内のＮ個のプロセッシング・エレメントが構成するシフトレジスタの初段および第２の差分絶対値和演算手段内のＮ−１個のプロセッシング・エレメントが構成するシフトレジスタの初段に参照画像の画素データを入力するメモリインタフェース部とを備え、前記第２の差分絶対値和演算手段は、前記第１の差分絶対値和演算手段より１サイクル遅延して参照画像の画素データと入力された現画像の画素データとの差分絶対値和演算を行うことを特徴とする。
【０００８】
この発明によれば、現画像の画素データと参照画像の画素データとの差分絶対値和演算を行う２Ｎ−１個のプロセッシング・エレメントをＮ個とＮ−１個に分割して、それぞれ第１の差分絶対値和演算手段と第２の差分絶対値和演算手段とし、プロセッシング・エレメントが１個少ない第２の差分絶対値和演算手段が、第１の差分絶対値和演算手段より１サイクル遅延して並列に現画像の画素データと参照画像の画素データとの差分絶対値和演算を行うようにしている。
【発明の効果】
【０００９】
この発明にかかるブロックマッチング装置によれば、現画像の画素データと参照画像の画素データとの差分絶対値和演算を行う２Ｎ−１個のプロセッシング・エレメントをＮ個とＮ−１個に分割して、それぞれ第１の差分絶対値和演算手段と第２の差分絶対値和演算手段とし、プロセッシング・エレメントが１個少ない第２の差分絶対値和演算手段が、第１の差分絶対値和演算手段より１サイクル遅延して並列に現画像の画素データと参照画像の画素データとの差分絶対値和演算を行うようにしているため、高速にブロックマッチング演算を実行することができる。
【発明を実施するための最良の形態】
【００１０】
以下に、本発明にかかるブロックマッチング演算装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１〜図９−２を用いて、本発明の実施の形態１を説明する。図１は、この発明における実施の形態１のブロックマッチング演算装置の構成を示すブロック図である。この発明における実施の形態１のブロックマッチング演算装置は、メモリ１０４と、メモリインタフェース部１０３と、第１の差分絶対値和演算手段である第１の差分絶対値和演算部（以下、第１のＳＡＤ演算部とする）１０１と、第２の差分絶対値和演算手段である第２の差分絶対値和演算部（以下、第２のＳＡＤ演算部とする）１０２とを備えている。なお、メモリ１０４は、ブロックマッチング演算装置の外部に備えるようにしてもよい。
【００１２】
メモリ１０４は、ブロックマッチング演算の参照画像のデータを記憶する。たとえば、図２に示すように現画像がｃ（０，０），ｃ（０，１），…，ｃ（０，７），ｃ（１，０），ｃ（１，１），…ｃ（１，７），…，ｃ（７，０），ｃ（７，１），…，ｃ（７，７）の８×８ｐｉｘｅｌであり、現画像の探索範囲である参照画像は現画像を中心とした垂直方向および水平方向にそれぞれ±７の範囲とした場合、メモリ１０４は、図３に示すようにｒ（０，０），ｒ（０，１），…，ｒ（０，２１），ｒ（１，０），ｒ（１，１），…ｒ（１，２１），…，ｒ（２１，０），ｒ（２１，１），…，ｒ（２１，２１）の４８４個の画素データを参照画像として記憶する。
【００１３】
メモリインタフェース部１０３は、メモリ１０４とのインタフェース機能を備えており、制御信号１１０に基づいてメモリ１０４から参照画像の画素データを読み出し、読み出した画素データを第１のＳＡＤ演算部１０１と第２のＳＡＤ演算部１０２とに出力する。
【００１４】
図４は、図１に示したメモリインタフェース部１０３の構成の一例を示すブロック図である。図４に示したメモリインタフェース部１０３は、画素データが８ビットであり、メモリ１０４が１アドレスに４つの画素データ（３２ｂｉｔ）を記憶する場合の構成を示している。メモリインタフェース部１０３は、アドレス生成回路５００と、セレクタ５０１，５０２と、レジスタ５０３〜５０６とを備えている。なお、アドレス生成回路５００は、メモリインタフェース部１０３の外部に備えるようにしてもよい。
【００１５】
アドレス生成回路５００は、メモリ１０４へのアクセスの開始および停止を制御する制御信号１１０に基づいてメモリ１０４に記憶されている参照画像の画素データを読み出すためのチップセレクトやリードイネーブルなどの制御信号およびアドレス信号をメモリ１０４に出力する。
【００１６】
セレクタ５０１は、制御信号１１０に基づいてメモリ１０４から読み出した参照画像の各画素データをレジスタ５０３〜５０６の何れか１つに出力する。レジスタ５０３〜５０６は、それぞれメモリ１０４へのアクセスビット数（ここでは、３２ｂｉｔ）のデータを保持する。
【００１７】
セレクタ５０２は、制御信号１１０に基づいてレジスタ５０３〜５０６に保持されている参照画像の画素データの中から２つの画素データを選択して、選択した２つの画素データの一方を第１のＳＡＤ演算部１０１に、もう一方の画素データを第２のＳＡＤ演算部１０２に出力する。ただし、各水平ラインの最初の参照画像データｒ（０，０），ｒ（１，０），ｒ（２，０），…，ｒ（２１，０）については、第１のＳＡＤ演算部１０１のみに出力し、第２のＳＡＤ演算部１０２への参照画像データの出力を行なわない。
【００１８】
第１のＳＡＤ演算部１０１は、Ｎ（１＜Ｎ，Ｎは自然数）個のＰｒｏｃｅｓｓｉｎｇ  Ｅｌｅｍｅｎｔ部（以下、ＰＥ部）を備え、参照画像の画素データと現画像の画素データとの差分絶対値和の演算処理を行う。ＰＥ部の数Ｎは、現画像を中心とした水平方向の検索範囲の画素データ数により決定する。具体的には、水平方向の検索範囲の画素データ数をｍとすると、第１のＳＡＤ演算部１０１のＰＥ部の個数Ｎは、Ｎ＝ｍ／２（ただし、小数点以下は四捨五入とする）となる。図５は、現画像の探索範囲である参照画像を現画像を中心とした垂直方向および水平方向にそれぞれ±７の範囲とした場合（検索範囲となる画素数ｍが１５の場合）の第１のＳＡＤ演算部１０１の構成を示すブロック図である。図５に示した第１のＳＡＤ演算部１０１は、８つのＰＥ部ＰＥ０ａ〜ＰＥ７ａを備えている。ＰＥ部ＰＥ０ａ〜ＰＥ７ａは、それぞれ現画像と参照画像の画素データとの差分絶対値和の演算処理を行うとともに、ＰＥ部ＰＥ７ａ，ＰＥ６ａ，ＰＥ５ａ，ＰＥ４ａ，ＰＥ３ａ，ＰＥ２ａ，ＰＥ１ａ，ＰＥ０ａの順に参照画像の画素データをシフトする。
【００１９】
第２のＳＡＤ演算部１０２は、Ｎ−１個のＰＥ部を備え、参照画像の画素データと現画像の画素データとの差分絶対値和の演算処理を行う。図６は、Ｎ＝８の場合の第２のＳＡＤ演算部１０２の構成を示すブロック図である。図６に示した第２のＳＡＤ演算部１０２は、７つのＰＥ部ＰＥ０ｂ〜ＰＥ６ｂを備えている。ＰＥ部ＰＥ０ｂ〜ＰＥ６ｂは、それぞれ現画像と参照画像の画素データとの差分絶対値和の演算処理を行うとともに、ＰＥ部ＰＥ６ｂ，ＰＥ５ｂ，ＰＥ４ｂ，ＰＥ３ｂ，ＰＥ２ｂ，ＰＥ１ｂ，ＰＥ０ｂの順に参照画像の画素データをシフトする。
【００２０】
第１のＳＡＤ演算部１０１のＰＥ部ＰＥ０ａ〜ＰＥ７ａおよび第２のＳＡＤ演算部１０２のＰＥ部ＰＥ０ｂ〜ＰＥ６ｂは全て同じ機能を備えている。図７に示したＰＥ０ａの構成を示すブロック図を参照して、ＰＥ部の機能を説明する。ＰＥ部は、フリップフロップ４００，４０１と、減算器４０２と、絶対値演算器４０３と、加算器４０４とを備えている。なお、第１のＳＡＤ演算部１０１のＰＥ部ＰＥ０ａ〜ＰＥ７ａ内の減算器４０２と、絶対値演算器４０３と、加算器４０４とで特許請求の範囲でいうところの第１の演算部を、第２のＳＡＤ演算部１０２のＰＥ部ＰＥ０ｂ〜ＰＥ６ｂ内の減算器４０２と、絶対値演算器４０３と、加算器４０４とで特許請求の範囲でいうところの第２の演算部を構成している。
【００２１】
フリップフロップ４００は、参照画像の１画素分の画素データをクロック信号に同期して保持するとともに、次段のＰＥ部のフリップフロップ４００に参照画像の画素データを出力する。すなわち、各ＰＥ部のフリップフロップ４００が接続されて参照画像の１画素分の画像データをシフトするシフトレジスタを構成する。
【００２２】
減算器４０２は、現画像の１画素分の画素データとフリップフロップ４００に保持されている参照画像の１画素分の画素データとの減算を行なう。絶対値演算器４０３は、減算器４０２の出力の絶対値を算出する。すなわち、減算器４０２と絶対値演算器４０３とで、フリップフロップ４００に保持された参照画像の１画素分の画素データと現画像の１画素分の画素データとの差分絶対値を算出する。加算器４０４は、差分絶対値とフリップフロップ４０１に保持されている１クロック前に演算したＳＡＤ出力とを加算して、ＳＡＤ演算を行なう。なお、クロック信号およびリセット信号が、図１における制御信号１１１，１１２に相当する。また、フリップフロップ４００，４０１のリセットは同期リセットでもよいし、非同期リセットでもよい。
【００２３】
つぎに、この発明における実施の形態１のブロックマッチング演算装置の動作を説明する。メモリ１０４へのアクセスの開始および停止を制御する制御信号１１０に基づいてメモリ１０４に記憶されている参照画像の画素データを読み出すためのチップセレクトやリードイネーブルなどの制御信号およびアドレス信号をメモリ１０４に出力する。メモリ１０４は、アドレス信号で指定されたアドレスの参照画像の画素データをセレクタ５０１に出力する。セレクタ５０１は、制御信号１１０に基づいてメモリ１０４から入力された画素データをレジスタ５０３〜５０６の何れか１つに出力し、レジスタ５０３〜５０６は、入力された画素データを保持する。たとえば、図８に示すように、アドレス「８’ｈ００」に格納されている参照画像ｒ（０，０），ｒ（０，１），ｒ（０，２），ｒ（０，３）の各画素データをレジスタ５０３に、アドレス「８’ｈ０１」に格納されている参照画像ｒ（０，４），ｒ（０，５），ｒ（０，６），ｒ（０，７）の各画素データをレジスタ５０４に、アドレス「８’ｈ０２」に格納されている参照画像ｒ（０，８），ｒ（０，９），ｒ（０，１０），ｒ（０，１１）の各画素データをレジスタ５０５に、アドレス「８’ｈ０３」に格納されている参照画像ｒ（０，１２），ｒ（０，１３），ｒ（０，１４），ｒ（０，１５）の各画素データをレジスタ５０６に、それぞれ格納する。
【００２４】
セレクタ５０２は、制御信号１１０に基づいてレジスタ５０３〜５０６に保持されている参照画像の画素データの中から２つの画素データを選択して、選択した２つの画素データの一方を第１のＳＡＤ演算部１０１に、もう一方の画素データを第２のＳＡＤ演算部１０２に出力する。具体的には、セレクタ５０２は、最初に、レジスタ５０３に格納されている参照画像ｒ（０，０）の画素データを第１のＳＡＤ演算部１０１に出力する。つぎに、セレクタ５０２は、参照画像ｒ（０，１），ｒ（０，８）、ｒ（０，２），ｒ（０，９）、ｒ（０，３），ｒ（０，１０）、…、ｒ（０，７），ｒ（０，１４）の組でそれぞれの画素データを順次第１のＳＡＤ演算部１０１のＰＥ部ＰＥ７ａと第２のＳＡＤ演算部１０２のＰＥ部ＰＥ６ｂとに同一サイクルで出力する。
【００２５】
第１のＳＡＤ演算部１０１のＰＥ部ＰＥ７ａ〜ＰＥ０ａおよび第２のＳＡＤ演算部１０２のＰＥ部ＰＥ６ｂ〜ＰＥ０ｂは、それぞれシフト動作を行なって順次参照画像の画素データをシフトする。図９−１に示すように第１のＳＡＤ演算部１０１のＰＥ部ＰＥ０ａ〜ＰＥ７ｂに参照画像ｒ（０，０）〜ｒ（０，７）の８つの画素データが、図９−２に示すように第２のＳＡＤ演算部１０２のＰＥ部ＰＥ０ｂ〜ＰＥ６ｂに参照画像ｒ（０，８）〜ｒ（０，１４）の７つの画素データが設定されると、現画像ｃ（０，０）の画素データを入力する。これにより、ＰＥ部ＰＥ０ａ〜ＰＥ７ａ，ＰＥ０ｂ〜ＰＥ６ｂは、それぞれ参照画像ｒ（０，０）〜ｒ（０，１４）の画素データと現画像ｃ（０，０）の画素データとのＳＡＤ演算を行なって、それぞれのＳＡＤ出力値を出力する。ここでは、参照画像ｒ（０，０）〜ｒ（０，１４）の画素データと現画像ｃ（０，０）の画素データとの１５個のＳＡＤ出力値を出力する。
【００２６】
つぎのサイクルでセレクタ５０２は、レジスタ５０５に保持されている参照画像ｒ（０，８）の画素データを第１のＳＡＤ演算部１０１のＰＥ部ＰＥ７ａに、レジスタ５０６に保持されている参照画像ｒ（０，１５）を第２のＳＡＤ演算部１０２のＰＥ部６ｂにそれぞれ出力する。第１のＳＡＤ演算部１０１のＰＥ部ＰＥ７ａ〜ＰＥ０ａと第２のＳＡＤ演算部１０２のＰＥ部ＰＥ６ｂ〜ＰＥ０ｂはそれぞれシフト動作により、保持している参照画像の画素データをシフトする。これにより、図１０−１に示すように第１のＳＡＤ演算部１０１のＰＥ部ＰＥ０ａ〜ＰＥ７ａには参照画像ｒ（０，１）〜ｒ（０，８）が、図１０−２の示すように第２のＳＡＤ演算部１０２のＰＥ部ＰＥ０ｂ〜ＰＥ６ｂには参照画像ｒ（０，９）〜ｒ（０，１５）が設定される。そして、現画像ｃ（０，１）の画素データが入力され、ＰＥ部ＰＥ０ａ〜ＰＥ７ａ，ＰＥ０ｂ〜ＰＥ６ｂは、それぞれ参照画像ｒ（０，１）〜ｒ（０，１５）と現画像の画像データｃ（０，１）とのＳＡＤ演算を行なって、それぞれのＳＡＤ出力値を出力する。
【００２７】
つぎのサイクルでは、参照画像ｒ（０，２）〜ｒ（０，１６）の画素データと現画像ｃ（０，２）の画素データとのＳＡＤ演算を行なうが、アドレス生成回路５００およびセレクタ５０１は、制御信号１１０によりセレクタ５０２が選択しているレジスタとは異なるレジスタに、メモリ１０４に格納されている参照画像ｒ（０，１６），ｒ（０，１７），ｒ（０，１８），ｒ（０，１９）を読み込んでおく。たとえば、セレクタ５０２がレジスタ５０３のｒ（０，３）の画素データを選択して第１のＳＡＤ演算部１０１のＰＥ７ａに出力した後に、アドレス生成回路５００はチップセレクト、リードイネーブルおよびアドレス「８’ｈ０４」をメモリ１０４に出力して、参照画像ｒ（０，１６），ｒ（０，１７），ｒ（０，１８），ｒ（０，１９）を読み出して、セレクタ５０１は、読み出した参照画像をレジスタ５０３に出力し、レジスタ５０３に格納する。すなわち、メモリインタフェース部１０３は、レジスタ５０３〜５０６に格納されている有効な参照画像の画素データがなくなる前に、第１のＳＡＤ演算部１０１および第２のＳＡＤ演算部１０２に参照画像の画素データを出力しながら、つぎに必要な参照画像の画素データをメモリ１０４から読み出しておく。これにより、メモリ１０４から参照画像の画素データを読み出しと、第１のＳＡＤ演算部１０１および第２のＳＡＤ演算部１０２に参照画像の画素データを出力する処理とを並列に行なうことができる。
【００２８】
メモリインタフェース部１０３は、参照画像ｒ（０，９），ｒ（０，１６）、ｒ（０，１０），ｒ（０，１７）、…、ｒ（０，１４）、ｒ（０，２１）の組で順次第１のＳＡＤ演算部１０１のＰＥ７ａと第２のＳＡＤ演算部１０２のＰＥ６ｂとに出力し、第１のＳＡＤ演算部１０１および第２のＳＡＤ演算部１０２は、現画像１画素分の画像データと参照画像の１５画素分の画像データとのＳＡＤ演算を行なう。
【００２９】
このようにして図２に示した８×８画素の現画像と図３に示した２２×２２画素の参照画像とのブロックマッチング処理手順を以下に示す。
【００３０】
参照画像水平方向１ライン目と現画像水平方向１ライン目の処理の場合、第１のＳＡＤ演算部１０１は、
現画像ｃ（０，０）と参照画像のｒ（０，０）〜ｒ（０，７）とのマッチング
現画像ｃ（０，１）と参照画像のｒ（０，１）〜ｒ（０，８）とのマッチング
現画像ｃ（０，２）と参照画像のｒ（０，２）〜ｒ（０，９）とのマッチング
現画像ｃ（０，３）と参照画像のｒ（０，３）〜ｒ（０，１０）とのマッチング
現画像ｃ（０，４）と参照画像のｒ（０，４）〜ｒ（０，１１）とのマッチング
現画像ｃ（０，５）と参照画像のｒ（０，５）〜ｒ（０，１２）とのマッチング
現画像ｃ（０，６）と参照画像のｒ（０，６）〜ｒ（０，１３）とのマッチング
現画像ｃ（０，７）と参照画像のｒ（０，７）〜ｒ（０，１４）とのマッチング
を行なう。
【００３１】
参照画像水平方向１ライン目と現画像水平方向２ライン目の処理の場合、第１のＳＡＤ演算部１０１は、
現画像ｃ（１，０）と参照画像のｒ（１，０）〜ｒ（１，７）とのマッチング
現画像ｃ（１，１）と参照画像のｒ（１，１）〜ｒ（１，８）とのマッチング
現画像ｃ（１，２）と参照画像のｒ（１，２）〜ｒ（１，９）とのマッチング
現画像ｃ（１，３）と参照画像のｒ（１，３）〜ｒ（１，１０）とのマッチング
現画像ｃ（１，４）と参照画像のｒ（１，４）〜ｒ（１，１１）とのマッチング
現画像ｃ（１，５）と参照画像のｒ（１，５）〜ｒ（１，１２）とのマッチング
現画像ｃ（１，６）と参照画像のｒ（１，６）〜ｒ（１，１３）とのマッチング
現画像ｃ（１，７）と参照画像のｒ（１，７）〜ｒ（１，１４）とのマッチング
を行なう。
【００３２】
参照画像水平方向１ライン目と現画像水平方向３ライン目の処理の場合、第１のＳＡＤ演算部１０１は、
現画像ｃ（２，０）と参照画像のｒ（２，０）〜ｒ（２，７）とのマッチング
現画像ｃ（２，１）と参照画像のｒ（２，１）〜ｒ（２，８）とのマッチング
現画像ｃ（２，２）と参照画像のｒ（２，２）〜ｒ（２，９）とのマッチング
現画像ｃ（２，３）と参照画像のｒ（２，３）〜ｒ（２，１０）とのマッチング
現画像ｃ（２，４）と参照画像のｒ（２，４）〜ｒ（２，１１）とのマッチング
現画像ｃ（２，５）と参照画像のｒ（２，５）〜ｒ（２，１２）とのマッチング
現画像ｃ（２，６）と参照画像のｒ（２，６）〜ｒ（２，１３）とのマッチング
現画像ｃ（２，７）と参照画像のｒ（２，７）〜ｒ（２，１４）とのマッチング
を行なう。
【００３３】
すなわち、現画像の垂直成分をｉ（０≦ｉ≦７，ｉは整数）とすると、第１のＳＡＤ演算部１０１は、
現画像ｃ（ｉ，０）と参照画像のｒ（ｉ，０）〜ｒ（ｉ，７）とのマッチング
現画像ｃ（ｉ，１）と参照画像のｒ（ｉ，１）〜ｒ（ｉ，８）とのマッチング
現画像ｃ（ｉ，２）と参照画像のｒ（ｉ，２）〜ｒ（ｉ，９）とのマッチング
現画像ｃ（ｉ，３）と参照画像のｒ（ｉ，３）〜ｒ（ｉ，１０）とのマッチング
現画像ｃ（ｉ，４）と参照画像のｒ（ｉ，４）〜ｒ（ｉ，１１）とのマッチング
現画像ｃ（ｉ，５）と参照画像のｒ（ｉ，５）〜ｒ（ｉ，１２）とのマッチング
現画像ｃ（ｉ，６）と参照画像のｒ（ｉ，６）〜ｒ（ｉ，１３）とのマッチング
現画像ｃ（ｉ，７）と参照画像のｒ（ｉ，７）〜ｒ（ｉ，１４）とのマッチング
を行なう。
【００３４】
これにより、ＰＥ部ＰＥ０ａは図２に示した現画像８×８画素ｃ（０，０）〜ｃ（７，７）と図３に示した参照画像の左上角をｒ（０，０）、右下角をｒ（７，７）とする各画素との６４個分のＳＡＤ出力値を、ＰＥ部ＰＥ１ａは図２に示した現画像８×８画素ｃ（０，０）〜ｃ（７，７）と図３に示した参照画像の左上角をｒ（０，１）、右下角をｒ（７，８）とする各画素との６４個分のＳＡＤ出力値を、ＰＥ部ＰＥ２ａは図２に示した現画像８×８画素ｃ（０，０）〜ｃ（７，７）と図３に示した参照画像の左上角をｒ（０，２）、右下角をｒ（７，９）とする各画素との６４個分のＳＡＤ出力値を、ＰＥ部ＰＥ３ａは図２に示した現画像８×８画素ｃ（０，０）〜ｃ（７，７）と図３に示した参照画像の左上角をｒ（０，３）、右下角をｒ（７，１０）とする各画素との６４個分のＳＡＤ出力値を、ＰＥ部ＰＥ４ａは図２に示した現画像８×８画素ｃ（０，０）〜ｃ（７，７）と図３に示した参照画像の左上角をｒ（０，４）、右下角をｒ（７，１１）とする各画素との６４個分のＳＡＤ出力値を、ＰＥ部ＰＥ５ａは図２に示した現画像８×８画素ｃ（０，０）〜ｃ（７，７）と図３に示した参照画像の左上角をｒ（０，５）、右下角をｒ（７，１２）とする各画素との６４個分のＳＡＤ出力値を、ＰＥ部ＰＥ６ａは図２に示した現画像８×８画素ｃ（０，０）〜ｃ（７，７）と図３に示した参照画像の左上角をｒ（０，６）、右下角をｒ（７，１３）とする各画素との６４個分のＳＡＤ出力値を、ＰＥ部ＰＥ７ａは図２に示した現画像８×８画素ｃ（０，０）〜ｃ（７，７）と図３に示した参照画像の左上角をｒ（０，７）、右下角をｒ（７，１４）とする各画素との６４個分のＳＡＤ出力値を出力する。すなわち、第１のＳＡＤ演算部１０１は、８種類のＳＡＤ出力値を同時に出力する。
【００３５】
一方、参照画像水平方向１ライン目と現画像水平方向１ライン目の処理の場合、第２のＳＡＤ演算部１０２は、
現画像ｃ（０，０）と参照画像のｒ（０，８）〜ｒ（０，１４）とのマッチング
現画像ｃ（０，１）と参照画像のｒ（０，９）〜ｒ（０，１５）とのマッチング
現画像ｃ（０，２）と参照画像のｒ（０，１０）〜ｒ（０，１６）とのマッチング
現画像ｃ（０，３）と参照画像のｒ（０，１１）〜ｒ（０，１７）とのマッチング
現画像ｃ（０，４）と参照画像のｒ（０，１２）〜ｒ（０，１８）とのマッチング
現画像ｃ（０，５）と参照画像のｒ（０，１３）〜ｒ（０，１９）とのマッチング
現画像ｃ（０，６）と参照画像のｒ（０，１４）〜ｒ（０，２０）とのマッチング
現画像ｃ（０，７）と参照画像のｒ（０，１５）〜ｒ（０，２１）とのマッチング
を行なう。
【００３６】
参照画像水平方向１ライン目と現画像水平方向２ライン目の処理の場合、第２のＳＡＤ演算部１０２は、
現画像ｃ（１，０）と参照画像のｒ（１，８）〜ｒ（１，１４）とのマッチング
現画像ｃ（１，１）と参照画像のｒ（１，９）〜ｒ（１，１５）とのマッチング
現画像ｃ（１，２）と参照画像のｒ（１，１０）〜ｒ（１，１６）とのマッチング
現画像ｃ（１，３）と参照画像のｒ（１，１１）〜ｒ（１，１７）とのマッチング
現画像ｃ（１，４）と参照画像のｒ（１，１２）〜ｒ（１，１８）とのマッチング
現画像ｃ（１，５）と参照画像のｒ（１，１３）〜ｒ（１，１９）とのマッチング
現画像ｃ（１，６）と参照画像のｒ（１，１４）〜ｒ（１，２０）とのマッチング
現画像ｃ（１，７）と参照画像のｒ（１，１５）〜ｒ（１，２１）とのマッチング
を行なう。
【００３７】
すなわち、現画像の垂直成分をｉ（０≦ｉ≦７，ｉは整数）とすると、第２のＳＡＤ演算部１０２は、
現画像ｃ（ｉ，０）と参照画像のｒ（ｉ，８）〜ｒ（ｉ，１４）とのマッチング
現画像ｃ（ｉ，１）と参照画像のｒ（ｉ，９）〜ｒ（ｉ，１５）とのマッチング
現画像ｃ（ｉ，２）と参照画像のｒ（ｉ，１０）〜ｒ（ｉ，１６）とのマッチング
現画像ｃ（ｉ，３）と参照画像のｒ（ｉ，１１）〜ｒ（ｉ，１７）とのマッチング
現画像ｃ（ｉ，４）と参照画像のｒ（ｉ，１２）〜ｒ（ｉ，１８）とのマッチング
現画像ｃ（ｉ，５）と参照画像のｒ（ｉ，１３）〜ｒ（ｉ，１９）とのマッチング
現画像ｃ（ｉ，６）と参照画像のｒ（ｉ，１４）〜ｒ（ｉ，２０）とのマッチング
現画像ｃ（ｉ，７）と参照画像のｒ（ｉ，１５）〜ｒ（ｉ，２１）とのマッチング
を行なう。
【００３８】
これにより、ＰＥ部ＰＥ０ｂは図２に示した現画像８×８画素ｃ（０，０）〜ｃ（７，７）と図３に示した参照画像の左上角をｒ（０，８）、右下角をｒ（７，１５）とする各画素との６４個分のＳＡＤ出力値を、ＰＥ部ＰＥ１ｂは図２に示した現画像８×８画素ｃ（０，０）〜ｃ（７，７）と図３に示した参照画像の左上角をｒ（０，９）、右下角をｒ（７，１６）とする各画素との６４個分のＳＡＤ出力値を、ＰＥ部ＰＥ２ｂは図２に示した現画像８×８画素ｃ（０，０）〜ｃ（７，７）と図３に示した参照画像の左上角をｒ（０，１０）、右下角をｒ（７，１７）とする各画素との６４個分のＳＡＤ出力値を、ＰＥ部ＰＥ３ｂは図２に示した現画像８×８画素ｃ（０，０）〜ｃ（７，７）と図３に示した参照画像の左上角をｒ（０，１１）、右下角をｒ（７，１８）とする各画素との６４個分のＳＡＤ出力値を、ＰＥ部ＰＥ４ｂは図２に示した現画像８×８画素ｃ（０，０）〜ｃ（７，７）と図３に示した参照画像の左上角をｒ（０，１２）、右下角をｒ（７，１９）とする各画素との６４個分のＳＡＤ出力値を、ＰＥ部ＰＥ５ｂは図２に示した現画像８×８画素ｃ（０，０）〜ｃ（７，７）と図３に示した参照画像の左上角をｒ（０，１３）、右下角をｒ（７，２０）とする各画素との６４個分のＳＡＤ出力値を、ＰＥ部ＰＥ６ｂは図２に示した現画像８×８画素ｃ（０，０）〜ｃ（７，７）と図３に示した参照画像の左上角をｒ（０，１４）、右下角をｒ（７，２１）とする各画素との６４個分のＳＡＤ出力値を出力する。すなわち、第２のＳＡＤ演算部１０２は、７種類のＳＡＤ出力値を同時に出力する。
【００３９】
このようにして、図３に示した参照画像内の左上角をｒ（０，０）、右下角をｒ（７，２１）とする１５並列処理範囲８×２２画素分の画素データと、図２に示した現画像ｃ（０，０）〜ｃ（７，７）の画素データとのブロックマッチング、すなわち、参照画像の水平方向１ライン目と現画像とのブロックマッチングが完了する。
【００４０】
参照画像の水平方向１ライン目の処理が完了すると、参照画像内での１５並列処理範囲を垂直方向に１ラインずつずらして、上述した水平方向１ライン目の処理と同様の処理を行うが、メモリインタフェース部１０３は、水平成分が０の参照画像ｒ（１，０），ｒ（２，０），…，ｒ（２１，０）については、第１のＳＡＤ演算部１０１のみに出力し、第２のＳＡＤ演算部１０２への参照画像データの出力を行なわない。すなわち、参照画像の水平方向１ライン分のブロックマッチング処理が開始されるたびに、第２のＳＡＤ演算部１０２に出力するデータを第１のＳＡＤ演算部１０１に出力するデータより１サイクル遅延させて出力する。
【００４１】
参照画像の水平方向２ライン目の処理の１５並列処理範囲は、図３に示した参照画像の左上角をｒ（１，０）、右下角をｒ（８，２１）とする８×２２画素の画素データとなる。
【００４２】
参照画像水平方向２ライン目と現画像水平方向１ライン目の処理の場合、第１のＳＡＤ演算部１０１は、
現画像ｃ（０，０）と参照画像のｒ（１，０）〜ｒ（１，７）とのマッチング
現画像ｃ（０，１）と参照画像のｒ（１，１）〜ｒ（１，８）とのマッチング
現画像ｃ（０，２）と参照画像のｒ（１，２）〜ｒ（１，９）とのマッチング
現画像ｃ（０，３）と参照画像のｒ（１，３）〜ｒ（１，１０）とのマッチング
現画像ｃ（０，４）と参照画像のｒ（１，４）〜ｒ（１，１１）とのマッチング
現画像ｃ（０，５）と参照画像のｒ（１，５）〜ｒ（１，１２）とのマッチング
現画像ｃ（０，６）と参照画像のｒ（１，６）〜ｒ（１，１３）とのマッチング
現画像ｃ（０，７）と参照画像のｒ（１，７）〜ｒ（１，１４）とのマッチング
を行なう。
【００４３】
参照画像水平方向２ライン目と現画像水平方向２ライン目の処理の場合、第１のＳＡＤ演算部１０１は、
現画像ｃ（１，０）と参照画像のｒ（２，０）〜ｒ（２，７）とのマッチング
現画像ｃ（１，１）と参照画像のｒ（２，１）〜ｒ（２，８）とのマッチング
現画像ｃ（１，２）と参照画像のｒ（２，２）〜ｒ（２，９）とのマッチング
現画像ｃ（１，３）と参照画像のｒ（２，３）〜ｒ（２，１０）とのマッチング
現画像ｃ（１，４）と参照画像のｒ（２，４）〜ｒ（２，１１）とのマッチング
現画像ｃ（１，５）と参照画像のｒ（２，５）〜ｒ（２，１２）とのマッチング
現画像ｃ（１，６）と参照画像のｒ（２，６）〜ｒ（２，１３）とのマッチング
現画像ｃ（１，７）と参照画像のｒ（２，７）〜ｒ（２，１４）とのマッチング
を行なう。
【００４４】
すなわち、現画像の垂直成分をｉ（０≦ｉ≦７，ｉは整数）とすると、第１のＳＡＤ演算部１０１は、
現画像ｃ（ｉ，０）と参照画像のｒ（ｉ＋１，０）〜ｒ（ｉ＋１，７）とのマッチング
現画像ｃ（ｉ，１）と参照画像のｒ（ｉ＋１，１）〜ｒ（ｉ＋１，８）とのマッチング
現画像ｃ（ｉ，２）と参照画像のｒ（ｉ＋１，２）〜ｒ（ｉ＋１，９）とのマッチング
現画像ｃ（ｉ，３）と参照画像のｒ（ｉ＋１，３）〜ｒ（ｉ＋１，１０）とのマッチング
現画像ｃ（ｉ，４）と参照画像のｒ（ｉ＋１，４）〜ｒ（ｉ＋１，１１）とのマッチング
現画像ｃ（ｉ，５）と参照画像のｒ（ｉ＋１，５）〜ｒ（ｉ＋１，１２）とのマッチング
現画像ｃ（ｉ，６）と参照画像のｒ（ｉ＋１，６）〜ｒ（ｉ＋１，１３）とのマッチング
現画像ｃ（ｉ，７）と参照画像のｒ（ｉ＋１，７）〜ｒ（ｉ＋１，１４）とのマッチング
を行なう。
【００４５】
参照画像水平方向３ライン目と現画像の処理の場合、現画像の垂直成分をｉ（０≦ｉ≦７，ｉは整数）とすると、第１のＳＡＤ演算部１０１は、
現画像ｃ（ｉ，０）と参照画像のｒ（ｉ＋２，０）〜ｒ（ｉ＋２，７）とのマッチング
現画像ｃ（ｉ，１）と参照画像のｒ（ｉ＋２，１）〜ｒ（ｉ＋２，８）とのマッチング
現画像ｃ（ｉ，２）と参照画像のｒ（ｉ＋２，２）〜ｒ（ｉ＋２，９）とのマッチング
現画像ｃ（ｉ，３）と参照画像のｒ（ｉ＋２，３）〜ｒ（ｉ＋２，１０）とのマッチング
現画像ｃ（ｉ，４）と参照画像のｒ（ｉ＋２，４）〜ｒ（ｉ＋２，１１）とのマッチング
現画像ｃ（ｉ，５）と参照画像のｒ（ｉ＋２，５）〜ｒ（ｉ＋２，１２）とのマッチング
現画像ｃ（ｉ，６）と参照画像のｒ（ｉ＋２，６）〜ｒ（ｉ＋２，１３）とのマッチング
現画像ｃ（ｉ，７）と参照画像のｒ（ｉ＋２，７）〜ｒ（ｉ＋２，１４）とのマッチング
を行なう。
【００４６】
参照画像内での１５並列処理範囲を垂直方向に１ラインずつずらしていき、参照画像水平方向１５ライン目と現画像の処理の場合、現画像の垂直成分をｉ（０≦ｉ≦７，ｉは整数）とすると、第１のＳＡＤ演算部１０１は、
現画像ｃ（ｉ，０）と参照画像のｒ（ｉ＋１４，０）〜ｒ（ｉ＋１４，７）とのマッチング
現画像ｃ（ｉ，１）と参照画像のｒ（ｉ＋１４，１）〜ｒ（ｉ＋１４，８）とのマッチング
現画像ｃ（ｉ，２）と参照画像のｒ（ｉ＋１４，２）〜ｒ（ｉ＋１４，９）とのマッチング
現画像ｃ（ｉ，３）と参照画像のｒ（ｉ＋１４，３）〜ｒ（ｉ＋１４，１０）とのマッチング
現画像ｃ（ｉ，４）と参照画像のｒ（ｉ＋１４，４）〜ｒ（ｉ＋１４，１１）とのマッチング
現画像ｃ（ｉ，５）と参照画像のｒ（ｉ＋１４，５）〜ｒ（ｉ＋１４，１２）とのマッチング
現画像ｃ（ｉ，６）と参照画像のｒ（ｉ＋１４，６）〜ｒ（ｉ＋１４，１３）とのマッチング
現画像ｃ（ｉ，７）と参照画像のｒ（ｉ＋１４，７）〜ｒ（ｉ＋１４，１４）とのマッチング
を行なう。
【００４７】
一方、参照画像水平方向２ライン目と現画像水平方向１ライン目の処理の場合、第２のＳＡＤ演算部１０２は、
現画像ｃ（０，０）と参照画像のｒ（１，８）〜ｒ（１，１４）とのマッチング
現画像ｃ（０，１）と参照画像のｒ（１，９）〜ｒ（１，１５）とのマッチング
現画像ｃ（０，２）と参照画像のｒ（１，１０）〜ｒ（１，１６）とのマッチング
現画像ｃ（０，３）と参照画像のｒ（１，１１）〜ｒ（１，１７）とのマッチング
現画像ｃ（０，４）と参照画像のｒ（１，１２）〜ｒ（１，１８）とのマッチング
現画像ｃ（０，５）と参照画像のｒ（１，１３）〜ｒ（１，１９）とのマッチング
現画像ｃ（０，６）と参照画像のｒ（１，１４）〜ｒ（１，２０）とのマッチング
現画像ｃ（０，７）と参照画像のｒ（１，１５）〜ｒ（１，２１）とのマッチング
を行なう。
【００４８】
参照画像水平方向２ライン目と現画像水平方向２ライン目の処理の場合、第２のＳＡＤ演算部１０２は、
現画像ｃ（１，０）と参照画像のｒ（２，８）〜ｒ（２，１４）とのマッチング
現画像ｃ（１，１）と参照画像のｒ（２，９）〜ｒ（２，１５）とのマッチング
現画像ｃ（１，２）と参照画像のｒ（２，１０）〜ｒ（２，１６）とのマッチング
現画像ｃ（１，３）と参照画像のｒ（２，１１）〜ｒ（２，１７）とのマッチング
現画像ｃ（１，４）と参照画像のｒ（２，１２）〜ｒ（２，１８）とのマッチング
現画像ｃ（１，５）と参照画像のｒ（２，１３）〜ｒ（２，１９）とのマッチング
現画像ｃ（１，６）と参照画像のｒ（２，１４）〜ｒ（２，２０）とのマッチング
現画像ｃ（１，７）と参照画像のｒ（２，１５）〜ｒ（２，２１）とのマッチング
を行なう。
【００４９】
すなわち、現画像の垂直成分をｉ（０≦ｉ≦７，ｉは整数）とすると、第２のＳＡＤ演算部１０２は、
現画像ｃ（ｉ，０）と参照画像のｒ（ｉ＋１，８）〜ｒ（ｉ＋１，１４）とのマッチング
現画像ｃ（ｉ，１）と参照画像のｒ（ｉ＋１，９）〜ｒ（ｉ＋１，１５）とのマッチング
現画像ｃ（ｉ，２）と参照画像のｒ（ｉ＋１，１０）〜ｒ（ｉ＋１，１６）とのマッチング
現画像ｃ（ｉ，３）と参照画像のｒ（ｉ＋１，１１）〜ｒ（ｉ＋１，１７）とのマッチング
現画像ｃ（ｉ，４）と参照画像のｒ（ｉ＋１，１２）〜ｒ（ｉ＋１，１８）とのマッチング
現画像ｃ（ｉ，５）と参照画像のｒ（ｉ＋１，１３）〜ｒ（ｉ＋１，１９）とのマッチング
現画像ｃ（ｉ，６）と参照画像のｒ（ｉ＋１，１４）〜ｒ（ｉ＋１，２０）とのマッチング
現画像ｃ（ｉ，７）と参照画像のｒ（ｉ＋１，１５）〜ｒ（ｉ＋１，２１）とのマッチング
を行なう。
【００５０】
参照画像水平方向３ライン目と現画像の処理の場合、現画像の垂直成分をｉ（０≦ｉ≦７，ｉは整数）とすると、第２のＳＡＤ演算部１０２は、
現画像ｃ（ｉ，０）と参照画像のｒ（ｉ＋２，８）〜ｒ（ｉ＋２，１４）とのマッチング
現画像ｃ（ｉ，１）と参照画像のｒ（ｉ＋２，９）〜ｒ（ｉ＋２，１５）とのマッチング
現画像ｃ（ｉ，２）と参照画像のｒ（ｉ＋２，１０）〜ｒ（ｉ＋２，１６）とのマッチング
現画像ｃ（ｉ，３）と参照画像のｒ（ｉ＋２，１１）〜ｒ（ｉ＋２，１７）とのマッチング
現画像ｃ（ｉ，４）と参照画像のｒ（ｉ＋２，１２）〜ｒ（ｉ＋２，１８）とのマッチング
現画像ｃ（ｉ，５）と参照画像のｒ（ｉ＋２，１３）〜ｒ（ｉ＋２，１９）とのマッチング
現画像ｃ（ｉ，６）と参照画像のｒ（ｉ＋２，１４）〜ｒ（ｉ＋２，２０）とのマッチング
現画像ｃ（ｉ，７）と参照画像のｒ（ｉ＋２，１５）〜ｒ（ｉ＋２，２１）とのマッチング
を行なう。
【００５１】
参照画像内での１５並列処理範囲を垂直方向に１ラインずつずらしていき、参照画像水平方向１５ライン目と現画像の処理の場合、現画像の垂直成分をｉ（０≦ｉ≦７，ｉは整数）とすると、第２のＳＡＤ演算部１０２は、
現画像ｃ（ｉ，０）と参照画像のｒ（ｉ＋１４，８）〜ｒ（ｉ＋１４，１４）とのマッチング
現画像ｃ（ｉ，１）と参照画像のｒ（ｉ＋１４，９）〜ｒ（ｉ＋１４，１５）とのマッチング
現画像ｃ（ｉ，２）と参照画像のｒ（ｉ＋１４，１０）〜ｒ（ｉ＋１４，１６）とのマッチング
現画像ｃ（ｉ，３）と参照画像のｒ（ｉ＋１４，１１）〜ｒ（ｉ＋１４，１７）とのマッチング
現画像ｃ（ｉ，４）と参照画像のｒ（ｉ＋１４，１２）〜ｒ（ｉ＋１４，１８）とのマッチング
現画像ｃ（ｉ，５）と参照画像のｒ（ｉ＋１４，１３）〜ｒ（ｉ＋１４，１９）とのマッチング
現画像ｃ（ｉ，６）と参照画像のｒ（ｉ＋１４，１４）〜ｒ（ｉ＋１４，２０）とのマッチング
現画像ｃ（ｉ，７）と参照画像のｒ（ｉ＋１４，１５）〜ｒ（ｉ＋１４，２１）とのマッチング
を行なう。
【００５２】
このようにして、第１のＳＡＤ演算部１０１および第２のＳＡＤ演算部１０２は、図２に示した８×８画素の現画像の画素データと、図３に示した２２×２２画素の参照画像の画素データとのブロックマッチング処理がすべて完了する。この実施の形態１のブロックマッチング演算装置は、第１のＳＡＤ演算部１０１および第２のＳＡＤ演算部１０２で１５並列のブロックマッチング処理を行っている。そのため、第１のＳＡＤ演算部１０１は８つＳＡＤ出力値を、第２のＳＡＤ演算部１０２は７つのＳＡＤ出力値をそれぞれ同時に出力する。ブロックマッチング処理は、これらのＳＡＤ出力値の最小値に相当する位置をベクトルで表示するのが一般的である。したがって、ブロックマッチング演算装置は、第１のＳＡＤ演算部１０１および第２のＳＡＤ演算部１０２から出力される１５のＳＡＤ出力値の最小値を求めて出力してもよいし、１５のＳＡＤ出力値を出力し、これらの最小値の算出は、他の装置で行うようにしてもよい。
【００５３】
以上説明したように、この実施の形態１では、現画像の画素データと参照画像の画素データとの差分絶対値和演算を行う２Ｎ−１個のＰＥ部をＮ個とＮ−１個に分割して、それぞれ第１のＳＡＤ演算部と第２のＳＡＤ演算部とし、ＰＥ部が１個少ない第２のＳＡＤ演算部が、第１のＳＡＤ演算部より１サイクル遅延して並列に現画像の画素データと参照画像の画素データとの差分絶対値和演算を行うようにしているため、参照画像の２Ｎ−１個の画素データを全てのＰＥ部に格納するサイクルが少なくなり、高速にブロックマッチング演算を実行することができる。
【００５４】
また、メモリインタフェース部に複数のレジスタを備えているため、参照画像の画素データを第１および第２のＳＡＤ演算部が差分絶対値和演算を実行中に、つぎに必要な参照画像の画素データをメモリから読み出すことができ、高速にブロックマッチング演算を実行することができる。
【００５５】
なお、この実施の形態１では、メモリインタフェース部に４つのレジスタを備え、１つのレジスタが４個の画素データを保持して、合計１６個の画素データを保持する例をあげて説明した。しかし、画素データを保持するレジスタの構成はこれに限るものではなく、１若しくは複数のレジスタを用いて、４つ以上の画素データを保持するようにしてもよい。これにより、参照画像の画素データを第１および第２のＳＡＤ演算部が差分絶対値和演算を実行中に、つぎに必要な参照画像の画素データをメモリから読み出すことができ、高速にブロックマッチング演算を実行することができる。
【００５６】
実施の形態２．
図１１〜図１３を用いて本発明の実施の形態２を説明する。なお、この実施の形態２は、実施の形態１と同様に、ＰＥ部の数を示すＮの値は８、現画像は８×８画素、参照画像は２２×２２画素とする。
【００５７】
図１１は、この発明における実施の形態２のブロックマッチング演算装置の構成を示すブロック図である。この発明における実施の形態２のブロックマッチング演算装置は、図１に示した実施の形態１のブロックマッチング演算装置のメモリ１０４の代わりに、４つのメモリ１２０〜１２３を、メモリインタフェース部１０３の代わりにメモリインタフェース部１３０を備えている。実施の形態１のブロックマッチング演算装置と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。この例では、メモリを４分割（メモリ１２０〜１２３）としているが、４分割に限るものではなく、いくつに分割してもよい。また、メモリ１２０〜１２３は、ブロックマッチング演算装置の外部に備えるようにしてもよい。
【００５８】
４つのメモリ１２０〜１２３は、参照画像のデータを記憶する。図１２に示すように、メモリ１２０〜メモリ１２３は、それぞれ１アドレスに１つの参照画像の画素データを記憶する。
【００５９】
メモリインタフェース部１３０は、メモリ１２０〜１２３とのインタフェース機能を備えており、制御信号１１０に基づいてメモリ１２０〜１２３から参照画像の画素データを読み出し、読み出した画素データを第１のＳＡＤ演算部１０１と第２のＳＡＤ演算部１０２とに出力する。
【００６０】
図１３は、図１１に示したメモリインタフェース部１３０の構成の一例を示すブロック図である。図１３に示したメモリインタフェース部１３０は、４つのアドレス生成回路５１０〜５１３と、セレクタ５１４とを備えている。
【００６１】
制御信号１１０に基づいて、アドレス生成回路５１０はメモリ１２０のチップセレクト、リードイネーブルおよびアドレス信号を、アドレス生成回路５１１はメモリ１２１のチップセレクト、リードイネーブルおよびアドレス信号を、アドレス生成回路５１２はメモリ１２２のチップセレクト、リードイネーブルおよびアドレス信号を、アドレス生成回路５１３はメモリ１２３のチップセレクト、リードイネーブルおよびアドレス信号を生成して、それぞれのメモリに出力する。なお、アドレス生成回路５１０〜５１３は、メモリインタフェース部１３０の外部に備えるようにしてもよい。
【００６２】
セレクタ５１４は、制御信号１１０に基づいてメモリ１２０〜１２３から読み出された画素データの中から２つの画素データを選択して、選択した２つの画素データの一方を第１のＳＡＤ演算部１０１に、もう一方の画素データを第２のＳＡＤ演算部１０２に出力する。ただし、各水平ラインの最初の参照画像データｒ（０，０），ｒ（１，０），ｒ（２，０），…，ｒ（２１，０）については、第１のＳＡＤ演算部１０１のみに出力し、第２のＳＡＤ演算部１０２への参照画像データの出力を行なわない。
【００６３】
つぎに、この発明における実施の形態２のブロックマッチング演算装置の動作を説明する。この実施の形態２のブロックマッチング演算装置と実施の形態１のブロックマッチング演算装置との違いは、メモリ構成およびメモリインタフェース部であり、第１のＳＡＤ演算部１０１および第２のＳＡＤ演算部１０２が入力された参照画素と現画像とのマッチング処理を行う動作は実施の形態１と同様のものとなるので、ここでは第１のＳＡＤ演算部１０１および第２のＳＡＤ演算部１０２に参照画像の画素データを読み出す動作のみを説明する。
【００６４】
アドレス生成回路５１０〜５１３は、制御信号１１０に基づいてメモリ１２０〜１２３のチップセレクト、リードイネーブルおよびアドレス信号を生成して、メモリ１２０〜１２３に出力する。第１のＳＡＤ演算部１０１に、ｒ（０，０），ｒ（０，１），…，ｒ（０，７）の順に参照画像の画素データを出力する場合、アドレス生成回路５１０、５１１，５１２，５１３の順にアドレス「８’ｈ００」を出力し、つぎに、アドレス生成回路５１０、５１１，５１２，５１３の順にアドレス「８’ｈ０１」を出力する。これにより、参照画像ｒ（０，０），ｒ（０，１），…，ｒ（０，７）の画素データが順にセレクタ５１４に入力され、セレクタ５１４は、これらのデータを第１のＳＡＤ演算部１０１に出力する。
【００６５】
第２のＳＡＤ演算部１０２に、ｒ（０，８），ｒ（０，９），…，ｒ（０，１４）の順に参照画像の画素データを出力する場合、アドレス生成回路５１０、５１１，５１２，５１３の順にアドレス「８’ｈ０２」を出力し、つぎに、アドレス生成回路５１０、５１１，５１２の順にアドレス「８’ｈ０３」を出力する。ここで、参照画像ｒ（０，０）の画素データと参照画像ｒ（０，８）は同一のメモリ１２０に格納されているため、同時にアクセスした場合、競合が発生する。このような場合は、第１のＳＡＤ演算部１０１にメモリ１２１に格納されている参照画像ｒ（０，１）の画素データを出力するタイミングでメモリ１２０に格納されている参照画像ｒ（０，８）の画素データを読み出して、第２のＳＡＤ演算部１０２に出力するようにすればよい。このタイミングを維持してアドレス生成回路５１０〜５１３を制御して、メモリ１２０〜１２３から参照画像の画素データを読み出すようにすれば、競合が発生することはない。
【００６６】
以上説明したように、この実施の形態２では、参照画像の画像データを複数のメモリに分割して格納するようにしたため、第１および第２のＳＡＤ演算部に出力する参照画像の画素データを異なるメモリから読み出すことが可能となり、メモリアクセスの競合を発生させることなく、高速でかつ消費電力を抑えたブロックマッチング処理を実行することができる。
【産業上の利用可能性】
【００６７】
以上のように、本発明にかかるブロックマッチング演算装置は、動画圧縮伸長システムに有用であり、特に、高速かつ回路規模を抑えたブロックマッチング処理に適している。
【図面の簡単な説明】
【００６８】
【図１】この発明における実施の形態１のブロックマッチング演算装置の構成を示すブロック図である。
【図２】現画像のデータ配置の概念図である。
【図３】参照画像のデータ配置の概念図である。
【図４】図１に示したメモリインタフェース部の構成の一例を示すブロック図である。
【図５】図１に示した第１のＳＡＤ演算部の構成を示すブロック図である。
【図６】図１に示した第２のＳＡＤ演算部の構成を示すブロック図である。
【図７】ＰＥ部の構成を示すブロック図である。
【図８】メモリ構成と参照画素格納の概念図である。
【図９−１】参照画像の画素データが設定された第１のＳＡＤ演算部の一例を示すブロック図である。
【図９−２】参照画像の画素データが設定された第２のＳＡＤ演算部の一例を示すブロック図である。
【図１０−１】参照画像の画素データが設定された第１のＳＡＤ演算部の一例を示すブロック図である。
【図１０−２】参照画像の画素データが設定された第２のＳＡＤ演算部の一例を示すブロック図である。
【図１１】この発明における実施の形態２のブロックマッチング演算装置の構成を示すブロック図である。
【図１２】メモリ構成と参照画素格納の概念図である。
【図１３】図１１に示したメモリインタフェース部の構成を一例を示すブロック図である。
【符号の説明】
【００６９】
１０１  第１のＳＡＤ演算部
１０２  第２のＳＡＤ演算部
１０３，１３０  メモリインタフェース部
１０４，１２０，１２１，１２２，１２３  メモリ
１１０，１１１，１１２  制御信号
４００，４０１  フリップフロップ
４０２  減算器
４０３  絶対値演算器
４０４  加算器
５００，５１０，５１１，５１２，５１３  アドレス生成回路
５０１，５０２，５１４  セレクタ
５０３，５０４，５０５，５０６  レジスタ
ＰＥ０ａ，ＰＥ１ａ，ＰＥ２ａ，ＰＥ３ａ，ＰＥ４ａ，ＰＥ５ａ，ＰＥ６ａ，ＰＥ７ａ，ＰＥ０ｂ，ＰＥ１ｂ，ＰＥ２ｂ，ＰＥ３ｂ，ＰＥ４ｂ，ＰＥ５ｂ，ＰＥ６ｂ  ＰＥ部
【図１】
2005072800.tif 000003
【図２】
2005072800.tif 000004
【図３】
2005072800.tif 000005
【図４】
2005072800.tif 000006
【図５】
2005072800.tif 000007
【図６】
2005072800.tif 000008
【図７】
2005072800.tif 000009
【図８】
2005072800.tif 000010
【図９−１】
2005072800.tif 000011
【図９−２】
2005072800.tif 000012
【図１０−１】
2005072800.tif 000013
【図１０−２】
2005072800.tif 000014
【図１１】
2005072800.tif 000015
【図１２】
2005072800.tif 000016
【図１３】
2005072800.tif 000017