(57)【要約】【課題】小さな回路規模で並列処理を実現でき、ブロックマッチングを高速に行なうことが可能なブロックマッチング画像処理装置を提供すること。【解決手段】第３ＳＡＤ演算部１３０は、第１参照画像入力１４０の画素を順次入力し、現画像入力１０２の画素との差分絶対値和を演算する。第２ＳＡＤ演算部１２０は、第３ＳＡＤ演算部１３０からシフトアウトされた参照画像の画素を順次入力し、現画像入力１０２の画素との差分絶対値和を演算する。また、第１ＳＡＤ演算部１１０は、第２ＳＡＤ演算部１２０からシフトアウトされた参照画像の画素を順次入力し、現画像入力１０２の画素との差分絶対値和を演算する。したがって、小さな回路規模で並列処理を実現でき、ブロックマッチングを高速に行なうことが可能となる。【選択図】        図１
2004350114.tif 000002
【特許請求の範囲】
【請求項１】
同一のマクロブロックと参照画像内の複数の領域との１画素精度のブロックマッチングを並列に行なうブロックマッチング画像処理装置であって、
前記参照画像内の一方向に連続した画素が順次入力され、前記参照画像内の第１の領域の画素と、前記マクロブロック内の対応する画素との差分絶対値和を演算すると共に、前記参照画像内の一方向に連続した画素をシフトアウトするための第１の演算手段と、
前記第１の演算手段からシフトアウトされた画素が順次入力され、前記参照画像内の前記第１の領域とは異なる第２の領域の画素と、前記マクロブロック内の対応する画素との差分絶対値和を演算すると共に、前記第１の演算手段からシフトアウトされた画素をシフトアウトするための第２の演算手段と、
前記第２の演算手段からシフトアウトされた画素が順次入力され、前記参照画像内の前記第１の領域および前記第２の領域とは異なる第３の領域の画素と、前記マクロブロック内の対応する画素との差分絶対値和を演算するための第３の演算手段とを含む、ブロックマッチング画像処理装置。
【請求項２】
同一のマクロブロックと参照画像内の複数の領域との半画素精度のブロックマッチングを並列に行なうブロックマッチング画像処理装置であって、
前記参照画像内の一方向に１つおきの画素が順次入力され、前記参照画像内の第１の領域の画素と、前記マクロブロック内の対応する画素との差分絶対値和を演算すると共に、前記参照画像内の一方向に１つおきの画素をシフトアウトするための第１の演算手段と、
前記参照画像内の前記一方向に１つおきの画素とは異なる一方向に１つおきの画素が順次入力され、前記参照画像内の前記第１の領域とは異なる第２の領域の画素と、前記マクロブロック内の対応する画素との差分絶対値和を演算するための第２の演算手段と、
前記第１の演算手段からシフトアウトされた画素が順次入力され、前記参照画像内の前記第１の領域および前記第２の領域とは異なる第３の領域の画素と、前記マクロブロック内の対応する画素との差分絶対値和を演算するための第３の演算手段とを含む、ブロックマッチング画像処理装置。
【請求項３】
同一のマクロブロックと参照画像内の複数の領域との１画素精度または半画素精度のブロックマッチングを並列に行なうブロックマッチング画像処理装置であって、
前記参照画像内の一方向に連続した画素または前記参照画像内の一方向に１つおきの画素が順次入力され、前記参照画像内の第１の領域の画素と、前記マクロブロック内の対応する画素との差分絶対値和を演算すると共に、前記参照画像内の一方向に連続した画素または前記参照画像内の一方向に１つおきの画素をシフトアウトするための第１の演算手段と、
前記第１の演算手段によってシフトアウトされた画素および前記参照画像内の前記一方向に１つおきの画素とは異なる一方向に１つおきの画素のいずれかを選択的に出力するための第１の選択手段と、
前記第１の選択手段から出力された画素が順次入力され、前記参照画像内の前記第１の領域とは異なる第２の領域の画素と、前記マクロブロック内の対応する画素との差分絶対値和を演算すると共に、前記第１の選択手段から出力された画素をシフトアウトするための第２の演算手段と、
前記第１の演算手段によってシフトアウトされた画素および前記第２の演算手段によってシフトアウトされた画素のいずれかを選択的に出力するための第２の選択手段と、
前記第２の選択手段から出力された画素が順次入力され、前記参照画像内の前記第１の領域および前記第２の領域とは異なる第３の領域の画素と、前記マクロブロック内の対応する画素との差分絶対値和を演算するための第３の演算手段とを含む、ブロックマッチング画像処理装置。
【請求項４】
１画素精度のブロックマッチングを行なう場合、前記第１の選択手段は、前記第１の演算手段によってシフトアウトされた画素を選択して出力し、前記第２の選択手段は、前記第２の演算手段によってシフトアウトされた画素を選択して出力する、請求項３記載のブロックマッチング画像処理装置。
【請求項５】
半画素精度のブロックマッチングを行なう場合、前記第１の選択手段は、前記参照画像内の前記一方向に１つおきの画素とは異なる一方向に１つおきの画素を選択して出力し、前記第２の選択手段は、前記第１の演算手段によってシフトアウトされた画素を選択して出力する、請求項３記載のブロックマッチング画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、高速に動きベクトルを検出するブロックマッチング技術に関し、特に、回路規模が小さく、高速にブロックマッチング処理を行なうことが可能なブロックマッチング画像処理装置に関する。
【０００２】
【従来の技術】
近年、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）などの動画像圧縮伸長の符号化技術が盛んに研究されており、特に、精度の高い動きベクトルを検出することが圧縮率を向上させるために重要となる。
【０００３】
従来、動きベクトルを検出するためのブロックマッチングの方法として、階層的探索法が用いられている。階層的探索法は、２画素精度のブロックマッチング、１画素精度のブロックマッチングおよび半画素精度のブロックマッチングの３段階で行なうことが多い。これに関連する技術として、特開平１０−１９１３５８号公報および特開平８−１４９４８３号公報に開示された発明がある。
【０００４】
特開平１０−１９１３５８号公報に開示された動きベクトル検出装置においては、整数画素精度の探索範囲内の画素値か、これらの画素値から生成された半画素精度の画素値かの何れかを選択する選択手段と、選択手段により選択された何れかの画素値を用いて動きベクトルを検出する動きベクトル検出手段とが設けられる。これにより、１つの動きベクトル検出手段を用いて、整数画素精度の動きベクトルと半画素精度の動きベクトルとを求めることができるようになり、２種類の動きベクトルをより簡単な構成で求めることができるようになる。
【０００５】
また、特開平８−１４９４８３号公報に開示された動きベクトル探索装置においては、現符号化ブロックを前符号化ブロックからの整数画素と１／２画素とを用いて予測するための動きベクトルを探索するに際して、前符号化フレームの各位置に対する候補ブロックのディストーションを算出するプロセッサエレメントを整数画素のディストーションの算出と、１／２画素のディストーションの算出とに使用する構成を有するものである。
【０００６】
【特許文献１】
特開平１０−１９１３５８号公報
【０００７】
【特許文献２】
特開平８−１４９４８３号公報
【０００８】
【発明が解決しようとする課題】
１画素精度のブロックマッチングと半画素精度のブロックマッチングとを異なる回路で行なう画像処理装置においては、ブロックマッチングのための回路規模が大きくなるといった問題点があった。
【０００９】
また、特開平１０−１９１３５８号公報、特開平８−１４９４８３号公報などに開示された発明のように、１画素精度のブロックマッチングと半画素精度のブロックマッチングとを同一回路で１画素ずつ処理するブロックマッチング画像処理装置においては、画面サイズが大きくなり１秒間のフレーム枚数が増えると、ブロックマッチングの処理速度が追いつかないといった問題点があった。
【００１０】
本発明は、上記問題点を解決するためになされたものであり、その目的は、小さな回路規模で並列処理を実現でき、ブロックマッチングを高速に行なうことが可能なブロックマッチング画像処理装置を提供することである。
【００１１】
【課題を解決するための手段】
本発明のある局面に従えば、同一のマクロブロックと参照画像内の複数の領域との１画素精度のブロックマッチングを並列に行なうブロックマッチング画像処理装置であって、参照画像内の一方向に連続した画素が順次入力され、参照画像内の第１の領域の画素と、マクロブロック内の対応する画素との差分絶対値和を演算すると共に、参照画像内の一方向に連続した画素をシフトアウトするための第１の演算手段と、第１の演算手段からシフトアウトされた画素が順次入力され、参照画像内の第１の領域とは異なる第２の領域の画素と、マクロブロック内の対応する画素との差分絶対値和を演算すると共に、第１の演算手段からシフトアウトされた画素をシフトアウトするための第２の演算手段と、第２の演算手段からシフトアウトされた画素が順次入力され、参照画像内の第１の領域および第２の領域とは異なる第３の領域の画素と、マクロブロック内の対応する画素との差分絶対値和を演算するための第３の演算手段とを含む。
【００１２】
本発明の別の局面に従えば、同一のマクロブロックと参照画像内の複数の領域との半画素精度のブロックマッチングを並列に行なうブロックマッチング画像処理装置であって、参照画像内の一方向に１つおきの画素が順次入力され、参照画像内の第１の領域の画素と、マクロブロック内の対応する画素との差分絶対値和を演算すると共に、参照画像内の一方向に１つおきの画素をシフトアウトするための第１の演算手段と、参照画像内の一方向に１つおきの画素とは異なる一方向に１つおきの画素が順次入力され、参照画像内の第１の領域とは異なる第２の領域の画素と、マクロブロック内の対応する画素との差分絶対値和を演算するための第２の演算手段と、第１の演算手段からシフトアウトされた画素が順次入力され、参照画像内の第１の領域および第２の領域とは異なる第３の領域の画素と、マクロブロック内の対応する画素との差分絶対値和を演算するための第３の演算手段とを含む。
【００１３】
本発明のさらに別の局面に従えば、同一のマクロブロックと参照画像内の複数の領域との１画素精度または半画素精度のブロックマッチングを並列に行なうブロックマッチング画像処理装置であって、参照画像内の一方向に連続した画素または参照画像内の一方向に１つおきの画素が順次入力され、参照画像内の第１の領域の画素と、マクロブロック内の対応する画素との差分絶対値和を演算すると共に、参照画像内の一方向に連続した画素または参照画像内の一方向に１つおきの画素をシフトアウトするための第１の演算手段と、第１の演算手段によってシフトアウトされた画素および参照画像内の一方向に１つおきの画素とは異なる一方向に１つおきの画素のいずれかを選択的に出力するための第１の選択手段と、第１の選択手段から出力された画素が順次入力され、参照画像内の第１の領域とは異なる第２の領域の画素と、マクロブロック内の対応する画素との差分絶対値和を演算すると共に、第１の選択手段から出力された画素をシフトアウトするための第２の演算手段と、第１の演算手段によってシフトアウトされた画素および第２の演算手段によってシフトアウトされた画素のいずれかを選択的に出力するための第２の選択手段と、第２の選択手段から出力された画素が順次入力され、参照画像内の前記第１の領域および第２の領域とは異なる第３の領域の画素と、マクロブロック内の対応する画素との差分絶対値和を演算するための第３の演算手段とを含む。
【００１４】
【発明の実施の形態】
（第１の実施の形態）
本発明の第１の実施の形態におけるブロックマッチング画像処理装置は、１画素精度のブロックマッチングを行なう画像処理装置であり、並列度が３のブロックマッチング画像処理装置に関するものである。
【００１５】
図１は、本発明の第１の実施の形態におけるブロックマッチング画像処理装置の概略構成を示すブロック図である。このブロックマッチング画像処理装置１００は、ＳＡＤ（差分絶対値和）演算を行なう第１ＳＡＤ演算部１１０、第２ＳＡＤ演算部１２０および第３ＳＡＤ演算部１３０と、選択信号１０３に応じて第２ＳＡＤ演算部１２０からシフトアウトされた第２ＳＡＤ演算部参照画像出力１２２および第３ＳＡＤ演算部１３０からシフトアウトされた第３ＳＡＤ演算部参照画像出力１３２のいずれかを選択して第１ＳＡＤ演算部１１０へ出力するセレクタ１６０と、選択信号１０４に応じて第３ＳＡＤ演算部１３０からシフトアウトされた第３ＳＡＤ演算部参照画像出力１３２および第２参照画像入力１４１のいずれかを選択して第２ＳＡＤ演算部１２０へ出力するセレクタ１７０とを含む。
【００１６】
第１ＳＡＤ演算部１１０、第２ＳＡＤ演算部１２０および第３ＳＡＤ演算部１３０は、クロック１０１に同期して演算処理を行なう。
【００１７】
第３ＳＡＤ演算部１３０は、第１参照画像入力１４０と現画像入力１０２との差分絶対値和を演算し、その演算結果を第３ＳＡＤ演算部演算結果１５２として外部へ出力すると共に、第１参照画像入力１４０を第３ＳＡＤ演算部参照画像出力１３２としてセレクタ１７０へシフトアウトする。
【００１８】
第２ＳＡＤ演算部１２０は、セレクタ１７０から出力された第２ＳＡＤ演算部参照画像入力１２１と現画像入力１０２との差分絶対値和を演算し、その演算結果を第２ＳＡＤ演算部演算結果１５１として外部へ出力すると共に、第２ＳＡＤ演算部参照画像入力１２１を第２ＳＡＤ演算部参照画像出力１２２としてセレクタ１６０へシフトアウトする。１画素精度のブロックマッチングの場合、セレクタ１７０は選択信号１０４に応じて、常に第３ＳＡＤ演算部参照画像出力１３２を選択し、第２ＳＡＤ演算部参照画像入力１２１として第２ＳＡＤ演算部１２０へ出力する。
【００１９】
第１ＳＡＤ演算部１１０は、セレクタ１６０から出力された第１ＳＡＤ演算部参照画像入力１１１と現画像入力１０２との差分絶対値和を演算し、その演算結果を第１ＳＡＤ演算部演算結果１５０として外部へ出力すると共に、第１ＳＡＤ演算部参照画像入力１１１を第１ＳＡＤ演算部参照画像出力１１２として外部へシフトアウトする。１画素精度のブロックマッチングの場合、セレクタ１６０は選択信号１０３に応じて、常に第２ＳＡＤ演算部参照画像出力１２２を選択し、第１ＳＡＤ演算部参照画像入力１１１として第１ＳＡＤ演算部１１０へ出力する。
【００２０】
図２は、図１に示す第１ＳＡＤ演算部１１０、第２ＳＡＤ演算部１２０および第３ＳＡＤ演算部１３０の構成例を示すブロック図である。なお、図２においては、第１ＳＡＤ演算部１１０、第２ＳＡＤ演算部１２０および第３ＳＡＤ演算部１３０を総称して、ＳＡＤ演算部２００と呼ぶことにする。
【００２１】
ＳＡＤ演算部２００は、参照画像入力２０１を保持するフリップフロップ（以下、ＦＦと略す。）２１０と、ＦＦ２１０によって保持される参照画像出力２０２と現画像入力１０２との差分を演算する減算器２１１と、減算器２１１からの減算器出力２２０の絶対値を演算する絶対値演算器２１２と、絶対値演算器２１２からの絶対値演算器出力２２１とＳＡＤ演算結果２０５とを加算する加算器２１３と、加算器２１３からの加算器出力２２２を保持してＳＡＤ演算結果２０５として出力するＦＦ２１４とを含む。
【００２２】
なお、参照画像入力２０１は、図１に示す第１ＳＡＤ演算部参照画像入力１１１、第２ＳＡＤ演算部参照画像入力１２１および第１参照画像入力１４０に相当する。また、参照画像出力２０２は、図１に示す第１ＳＡＤ演算部参照画像出力１１２、第２ＳＡＤ演算部参照画像出力１２２および第３ＳＡＤ演算部参照画像出力１３２に相当する。さらには、ＳＡＤ演算結果２０５は、図１に示す第１ＳＡＤ演算部演算結果１５０、第２ＳＡＤ演算部演算結果１５１および第３ＳＡＤ演算部演算結果１５２に相当する。
【００２３】
ＦＦ２１０は、クロック１０１の立上りで参照画像入力２０１を保持し、参照画像出力２０２としてシフトアウトする。減算器２１１は、参照画像出力２０２から現画像入力１０２を減算し、減算結果を減算器出力２２０として絶対値演算部２１２へ出力する。
【００２４】
絶対値演算器２１２は、減算器２１１からの減算器出力２２０の絶対値を演算し、その絶対値を絶対値演算器出力２２１として加算器２１３へ出力する。加算器２１３は、絶対値演算器２１２からの絶対値演算器出力２２１とＦＦ２１４からのＳＡＤ演算結果２０５とを加算し、加算結果を加算器出力２２２としてＦＦ２１４へ出力する。
【００２５】
ＦＦ２１４は、クロック１０１の立上りで加算器出力２２２を保持し、ＳＡＤ演算結果２０５として出力する。このように、ＳＡＤ演算結果２０５として、現画像入力１０２と参照画像出力２０２との差分絶対値が累積加算された結果が出力される。
【００２６】
図３は、現画像の１ＭＢ（マクロブロック）の画素配置イメージを示す図である。ｃ（ｉ，ｊ）（ｉ＝０，１，２，…，１５、ｊ＝０，１，２，…，１５）は、現画像３００の各画素であり、水平方向に１６画素、垂直方向に１６画素ずつある。したがって、１ＭＢの現画像３００の画素数は、２５６画素となる。
【００２７】
図４は、１画素精度のブロックマッチングにおいて、水平方向に±１画素、垂直方向に±１画素の範囲で探索する場合の参照画像の画素配置イメージを示す図である。ｒ（ｉ，ｊ）（ｉ＝０，１，２，…，１７、ｊ＝０，１，２，…，１７）は、ブロックマッチングにおける探索範囲となる参照画像３０１の各画素であり、水平方向に１８画素、垂直方向に１８画素ずつある。したがって、参照画像３０１の画素数は、３２４画素となる。
【００２８】
１画素精度のブロックマッチング画像処理においては、現画像３００の２５６画素と、参照画像３０１の中の水平方向１６画素、垂直方向１６画素の２５６画素との差分絶対値和が演算され、最小の差分絶対値和となる位置を示すベクトルが求められる。なお、位置を示すベクトルを抽出する処理は、本発明と直接的には関係しないので、その詳細な説明は省略する。
【００２９】
現画像３００には垂直方向に１６画素、水平方向に１６画素の２５６画素があり、参照画像３０１には垂直方向に１８画素、水平方向に１８画素の３２４画素があるため、差分絶対値和の演算対象となる位置が９個ある。
【００３０】
図５〜１３は、１画素精度のブロックマッチングの演算対象となる９個の位置を示す図である。図５に示す領域３１０が１番目のブロックマッチングの対象位置となり、その位置の画像と現画像３００とのブロックマッチングが行なわれる。同様にして、図６〜１３に示す領域３１１〜３１８が２番目〜９番目のブロックマッチングの対象位置となり、それぞれの位置の画像と現画像３００とのブロックマッチングが行なわれる。
【００３１】
図５〜１３に示す９個の位置の画像の差分絶対値和を３並列で演算処理する場合、同一水平上に並んだ第１の領域３１０、第２の領域３１１および第３の領域３１２に対応する差分絶対値和が並列に演算される。同様にして、第４の領域３１３、第５の領域３１４および第６の領域３１５に対応する差分絶対値和が並列に演算され、第７の領域３１６、第８の領域３１７および第９の領域３１８に対応する差分絶対値和が並列に演算される。
【００３２】
図１４は、本発明の第１の実施の形態におけるブロックマッチング画像処理装置が、第１の領域３１０、第２の領域３１１および第３の領域３１２に対応する差分絶対値和を演算するときの手順を説明するための図である。
【００３３】
サイクルＮにおいて、第３のＳＡＤ演算部１３０は、第１参照画像入力１４０として画素ｒ（０，０）を入力する。
【００３４】
サイクルＮ＋１において、第３ＳＡＤ演算部１３０は、第１参照画像入力１４０として画素ｒ（０，１）を入力すると共に、第３ＳＡＤ演算部参照画像出力１３２として画素ｒ（０，０）を第２ＳＡＤ演算部１２０へ出力する。
【００３５】
サイクルＮ＋２において、第３ＳＡＤ演算部１３０は、第１参照画像入力１４０として画素ｒ（０，２）を入力すると共に、第３ＳＡＤ演算部参照画像出力１３２として画素ｒ（０，１）を第２ＳＡＤ演算部１２０へ出力する。このとき、第２ＳＡＤ演算部１２０は、第２ＳＡＤ演算部参照画像出力１２２として画素ｒ（０，０）を第１ＳＡＤ演算部１１０へ出力する。
【００３６】
サイクルＮ＋３において、第３ＳＡＤ演算部１３０は、第１参照画像入力１４０として画素ｒ（０，３）を入力すると共に、第３ＳＡＤ演算部参照画像出力１３２として画素ｒ（０，２）を第２ＳＡＤ演算部１２０へ出力する。第２ＳＡＤ演算部１２０は、第２ＳＡＤ演算部参照画像出力１２２として画素ｒ（０，１）を第１ＳＡＤ演算部１１０へ出力する。また、第１ＳＡＤ演算部１２０は、第１ＳＡＤ演算部参照画像出力１１２として画素ｒ（０，０）を出力する。
【００３７】
このサイクルＮ＋３において、第１ＳＡＤ演算部１１０は、現画像の画素ｃ（０，０）と参照画像の画素ｒ（０，０）との差分絶対値和を演算する。第２ＳＡＤ演算部１２０は、現画像の画素ｃ（０，０）と参照画像の画素ｒ（０，１）との差分絶対値和を演算する。第３ＳＡＤ演算部１３０は、現画像の画素ｃ（０，０）と参照画像の画素ｒ（０，２）との差分絶対値和を演算する。
【００３８】
サイクルＮ＋４において、第３ＳＡＤ演算部１３０は、第１参照画像入力１４０として画素ｒ（０，４）を入力すると共に、第３ＳＡＤ演算部参照画像出力１３２として画素ｒ（０，３）を第２ＳＡＤ演算部１２０へ出力する。第２ＳＡＤ演算部１２０は、第２ＳＡＤ演算部参照画像出力１２２として画素ｒ（０，２）を第１ＳＡＤ演算部１１０へ出力する。また、第１ＳＡＤ演算部１１０は、第１ＳＡＤ演算部参照画像出力１１２として画素ｒ（０，１）を出力する。
【００３９】
このサイクルＮ＋４において、第１ＳＡＤ演算部１１０は、現画像の画素ｃ（０，１）と参照画像の画素ｒ（０，１）との差分絶対値和を演算すると共に、前サイクルＮ＋３において求められた演算結果（ＳＡＤ演算結果１回目）を第１ＳＡＤ演算部演算結果１５０として出力する。第２ＳＡＤ演算部１２０は、現画像の画素ｃ（０，１）と参照画像の画素ｒ（０，２）との差分絶対値和を演算すると共に、前サイクルＮ＋３において求められた演算結果（ＳＡＤ演算結果１回目）を第２ＳＡＤ演算部演算結果１５１として出力する。第３ＳＡＤ演算部１３０は、現画像の画素ｃ（０，１）と参照画像の画素ｒ（０，３）との差分絶対値和を演算すると共に、前サイクルＮ＋３において求められた演算結果（ＳＡＤ演算結果１回目）を第３ＳＡＤ演算部演算結果１５２として出力する。
【００４０】
以上の処理を順次繰返すことにより、サイクルＮ＋４〜Ｎ＋１９において、第１ＳＡＤ演算部１１０は、第１の領域３１０の水平方向の画素ｒ（０，０）〜ｒ（０，１５）に対応する差分絶対値和を順次出力する。第２ＳＡＤ演算部１２０は、第２の領域３１１の水平方向の画素ｒ（０，１）〜ｒ（０，１６）に対応する差分絶対値和を順次出力する。第３ＳＡＤ演算部１３０は、第３の領域３１２の水平方向の画素ｒ（０，２）〜（０，１７）に対応する差分絶対値和を順次出力する。
【００４１】
また、サイクルＮ＋２２〜Ｎ＋３７において、第１ＳＡＤ演算部１１０は、第１の領域３１０の水平方向の画素ｒ（１，０）〜ｒ（１，１５）に対応する差分絶対値和を順次出力する。第２ＳＡＤ演算部１２０は、第２の領域３１１の水平方向の画素ｒ（１，１）〜ｒ（１，１６）に対応する差分絶対値和を順次出力する。第３ＳＡＤ演算部１３０は、第３の領域３１２の水平方向の画素ｒ（１，２）〜（１，１７）に対応する差分絶対値和を順次出力する。
【００４２】
さらに、サイクルＮ＋２７４〜Ｎ＋２８９において、第１ＳＡＤ演算部１１０は、第１の領域３１０の水平方向の画素ｒ（１５，０）〜ｒ（１５，１５）に対応する差分絶対値和を順次出力する。第２ＳＡＤ演算部１２０は、第２の領域３１１の水平方向の画素ｒ（１５，１）〜ｒ（１５，１６）に対応する差分絶対値和を順次出力する。第３ＳＡＤ演算部１３０は、第３の領域３１２の水平方向の画素ｒ（１５，２）〜（１５，１７）に対応する差分絶対値和を順次出力する。
【００４３】
このようにして、図４に示す参照画像３０１の画素ｒ（０，０），ｒ（０，１），…，ｒ（０，１７），ｒ（１，０），…，ｒ（１，１７），…，ｒ（１５，０），…，ｒ（１５，１７）が水平方向に１画素ずつブロックマッチング画像処理装置１００に入力されると、サイクルＮ＋２８９において、第１ＳＡＤ演算部１１０は、図５に示す第１の領域３１０の２５６個の画素の差分絶対値和の演算結果を第１ＳＡＤ演算部演算結果１５０として出力する。第２ＳＡＤ演算部１２０は、図６に示す第２の領域３１１の２５６個の画素の差分絶対値和の演算結果を第２ＳＡＤ演算部演算結果１５１として出力する。第３ＳＡＤ演算部１３０は、図７に示す第３の領域３１２の２５６個の画素の差分絶対値和の演算結果を第３ＳＡＤ演算部演算結果１５２として出力する。
【００４４】
なお、同様にして、図８〜１０に示す第４の領域３１３〜第６の領域３１５の差分絶対値和が並列に演算され、図１１〜１３に示す第７の領域３１６〜第９の領域３１８の差分絶対値和が並列に演算される。
【００４５】
以上説明したように、本実施の形態におけるブロックマッチング画像処理装置によれば、参照画像３０１の中の９個の領域に対応する差分絶対値和を演算する際、３つの領域に対応する差分絶対値和を並列に演算するようにしたので、１画素精度のブロックマッチングを高速に行なうことが可能となった。また、図１および図２に示すように、小さな回路規模でこのような並列処理を行なうことができ、低消費電力化を図ることが可能となった。
【００４６】
なお、図１と同様の方法によって、５以上の奇数個のＳＡＤ演算部２００を並列に接続するようにすれば、１画素精度のブロックマッチング画像処理をＮ（Ｎは３以上の奇数）並列で行なえるようになり、さらにブロックマッチングの処理速度を向上させることが可能となる。
【００４７】
また、本実施の形態においては、水平方向に差分絶対値和の演算を行なっているが、垂直方向に差分絶対値和を演算するようにしても同様の効果を得ることが可能である。
【００４８】
（第２の実施の形態）
本発明の第１の実施の形態におけるブロックマッチング画像処理装置においては、１画素精度のブロックマッチングを３並列で処理するものであった。本発明の第２の実施の形態においては、半画素精度のブロックマッチングを３並列で処理するものである。なお、本実施の形態におけるブロックマッチング画像処理装置の概略構成およびＳＡＤ演算部の構成例は、図１に示すブロックマッチング画像処理装置の概略構成および図２に示すＳＡＤ演算部２００の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
【００４９】
半画素精度のブロックマッチングの場合、セレクタ１７０は選択信号１０４に応じて、常に第２参照画像入力１４１を選択し、第２ＳＡＤ演算部参照画像入力１２１として第２ＳＡＤ演算部１２０へ出力する。また、セレクタ１６０は選択信号１０３に応じて、常に第３ＳＡＤ演算部参照画像出力１３２を選択し、第１ＳＡＤ演算部参照画像入力１１１として第１ＳＡＤ演算部１１０へ出力する。
【００５０】
図１５は、半画素精度のブロックマッチングにおいて、水平方向に±０．５画素、垂直方向に±０．５画素の範囲で探索する場合の参照画像の画素配置イメージを示す図である。ｒ（ｉ，ｊ）（ｉ＝０，１，２，…，３２、ｊ＝０，１，２，…，３２）は、ブロックマッチングにおける探索範囲となる参照画像４００の各画素であり、水平方向に３３画素、垂直方向に３３画素ずつある。したがって、参照画像４００の画素数は、１０８９画素となる。
【００５１】
半画素精度のブロックマッチング画像処理においては、現画像３００の２５６画素と、参照画像４００の中の水平方向１６画素、垂直方向１６画素の２５６画素との差分絶対値和が演算され、最小の差分絶対値和となる位置を示すベクトルが求められる。なお、位置を示すベクトルを抽出する処理は、本発明と直接的には関係しないので、その詳細な説明は省略する。
【００５２】
現画像３００には垂直方向に１６画素、水平方向に１６画素の２５６画素がある。また、参照画像４００には半画素精度の位置にある画素が、垂直方向に１８画素、水平方向に１８画素の３２４画素があるため、差分絶対値和の演算対象となる位置が９個ある。
【００５３】
図１６は、半画素精度のブロックマッチングの演算対象となる９個の位置のうち１番目の対象位置を示す図である。図１６に示す領域４１０が１番目のブロックマッチングの対象位置となり、半画素精度の位置にある２５６個の画素ｒ（ｉ，ｊ）（ｉ＝０，２，４，…，３０、ｊ＝０，２，４，…，３０）が差分絶対値和の演算対象となる。
【００５４】
図１７は、半画素精度のブロックマッチングの演算対象となる９個の位置のうち２番目の対象位置を示す図である。図１７に示す領域４１１が２番目のブロックマッチングの対象位置となり、半画素精度の位置にある２５６個の画素ｒ（ｉ，ｊ）（ｉ＝０，２，４，…，３０、ｊ＝１，３，５，…，３１）が差分絶対値和の演算対象となる。
【００５５】
図１８は、半画素精度のブロックマッチングの演算対象となる９個の位置のうち３番目の対象位置を示す図である。図１８に示す領域４１２が３番目のブロックマッチングの対象位置となり、半画素精度の位置にある２５６個の画素ｒ（ｉ，ｊ）（ｉ＝０，２，４，…，３０、ｊ＝２，４，６，…，３２）が差分絶対値和の演算対象となる。
【００５６】
図１９は、半画素精度のブロックマッチングの演算対象となる９個の位置のうち４番目の対象位置を示す図である。図１９に示す領域４１３が４番目のブロックマッチングの対象位置となり、半画素精度の位置にある２５６個の画素ｒ（ｉ，ｊ）（ｉ＝１，３，５，…，３１、ｊ＝０，２，４，…，３０）が差分絶対値和の演算対象となる。
【００５７】
図２０は、半画素精度のブロックマッチングの演算対象となる９個の位置のうち５番目の対象位置を示す図である。図２０に示す領域４１４が５番目のブロックマッチングの対象位置となり、半画素精度の位置にある２５６個の画素ｒ（ｉ，ｊ）（ｉ＝１，３，５，…，３１、ｊ＝１，３，５，…，３１）が差分絶対値和の演算対象となる。
【００５８】
図２１は、半画素精度のブロックマッチングの演算対象となる９個の位置のうち６番目の対象位置を示す図である。図２１に示す領域４１５が６番目のブロックマッチングの対象位置となり、半画素精度の位置にある２５６個の画素ｒ（ｉ，ｊ）（ｉ＝１，３，５，…，３１、ｊ＝２，４，６，…，３２）が差分絶対値和の演算対象となる。
【００５９】
図２２は、半画素精度のブロックマッチングの演算対象となる９個の位置のうち７番目の対象位置を示す図である。図２２に示す領域４１６が７番目のブロックマッチングの対象位置となり、半画素精度の位置にある２５６個の画素ｒ（ｉ，ｊ）（ｉ＝２，４，６，…，３２、ｊ＝０，２，４，…，３０）が差分絶対値和の演算対象となる。
【００６０】
図２３は、半画素精度のブロックマッチングの演算対象となる９個の位置のうち８番目の対象位置を示す図である。図２３に示す領域４１７が８番目のブロックマッチングの対象位置となり、半画素精度の位置にある２５６個の画素ｒ（ｉ，ｊ）（ｉ＝２，４，６，…，３２、ｊ＝１，３，５，…，３１）が差分絶対値和の演算対象となる。
【００６１】
図２４は、半画素精度のブロックマッチングの演算対象となる９個の位置のうち９番目の対象位置を示す図である。図２４に示す領域４１８が９番目のブロックマッチングの対象位置となり、半画素精度の位置にある２５６個の画素ｒ（ｉ，ｊ）（ｉ＝２，４，６，…，３２、ｊ＝２，４，６，…，３２）が差分絶対値和の演算対象となる。
【００６２】
図１６〜２４に示す９個の位置の画像の差分絶対値和を３並列で演算処理する場合、同一水平上に並んだ第１の領域４１０、第２の領域４１１および第３の領域４１２に対応する差分絶対値和が並列に演算される。同様にして、第４の領域４１３、第５の領域４１４および第６の領域４１５に対応する差分絶対値和が並列に演算され、第７の領域４１６、第８の領域４１７および第９の領域４１８に対応する差分絶対値和が並列に演算される。
【００６３】
図２５は、本発明の第２の実施の形態におけるブロックマッチング画像処理装置が、第１の領域４１０、第２の領域４１１および第３の領域４１２に対応する差分絶対値和を演算するときの手順を説明するための図である。
【００６４】
サイクルＮにおいて、第３のＳＡＤ演算部１３０は、第１参照画像入力１４０として画素ｒ（０，０）を入力する。
【００６５】
サイクルＮ＋１において、第３ＳＡＤ演算部１３０は、第１参照画像入力１４０として画素ｒ（０，２）を入力すると共に、第３ＳＡＤ演算部参照画像出力１３２として画素ｒ（０，０）を第１ＳＡＤ演算部１１０へ出力する。このとき、第２ＳＡＤ演算部１２０は、第２参照画像入力１４１として画素ｒ（０，１）を入力する。
【００６６】
サイクルＮ＋２において、第３ＳＡＤ演算部１３０は、第１参照画像入力１４０として画素ｒ（０，４）を入力すると共に、第３ＳＡＤ演算部参照画像出力１３２として画素ｒ（０，２）を第１ＳＡＤ演算部１１０へ出力する。第１ＳＡＤ演算部１１０は、第１ＳＡＤ演算部参照画像入力１１１として画素ｒ（０，２）を入力すると共に、第１ＳＡＤ演算部参照画像出力１１２として画素ｒ（０，０）を出力する。また、第２ＳＡＤ演算部１２０は、第２参照画像入力１４１として画素ｒ（０，３）を入力すると共に、第２ＳＡＤ演算部参照画像出力１２２として画素ｒ（０，１）を出力する。
【００６７】
このサイクルＮ＋２において、第１ＳＡＤ演算部１１０は、現画像の画素ｃ（０，０）と参照画像の画素ｒ（０，０）との差分絶対値和を演算する。第２ＳＡＤ演算部１２０は、現画像の画素ｃ（０，０）と参照画像の画素ｒ（０，１）との差分絶対値和を演算する。第３ＳＡＤ演算部１３０は、現画像の画素ｃ（０，０）と参照画像の画素ｒ（０，２）との差分絶対値和を演算する。
【００６８】
サイクルＮ＋３において、第３ＳＡＤ演算部１３０は、第１参照画像入力１４０として画素ｒ（０，６）を入力すると共に、第３ＳＡＤ演算部参照画像出力１３２として画素ｒ（０，４）を第１ＳＡＤ演算部１１０へ出力する。第１ＳＡＤ演算部１１０は、第１ＳＡＤ演算部参照画像入力１１１として画素ｒ（０，４）を入力すると共に、第１ＳＡＤ演算部参照画像出力１１２として画素ｒ（０，２）を出力する。また、第２ＳＡＤ演算部１２０は、第２参照画像入力１４１として画素ｒ（０，５）を入力すると共に、第２ＳＡＤ演算部参照画像出力１２２として画素ｒ（０，３）を出力する。
【００６９】
このサイクルＮ＋３において、第１ＳＡＤ演算部１１０は、現画像の画素ｃ（０，１）と参照画像の画素ｒ（０，２）との差分絶対値和を演算すると共に、前サイクルＮ＋２において求められた演算結果（ＳＡＤ演算結果１回目）を第１ＳＡＤ演算部演算結果１５０として出力する。第２ＳＡＤ演算部１２０は、現画像の画素ｃ（０，１）と参照画像の画素ｒ（０，３）との差分絶対値和を演算すると共に、前サイクルＮ＋２において求められた演算結果（ＳＡＤ演算結果１回目）を第２演算部演算結果１５１として出力する。第３ＳＡＤ演算部１３０は、現画像の画素ｃ（０，１）と参照画像の画素ｒ（０，４）との差分絶対値和を演算すると共に、前サイクルＮ＋２において求められた演算結果（ＳＡＤ演算結果１回目）を第３演算部演算結果１５２として出力する。
【００７０】
以上の処理を順次繰返すことにより、サイクルＮ＋３〜Ｎ＋１８において、第１ＳＡＤ演算部１１０は、第１の領域４１０の水平方向の画素ｒ（０，０），ｒ（０，２）〜ｒ（０，２８），ｒ（０，３０）に対応する差分絶対値和を順次出力する。第２ＳＡＤ演算部１２０は、第２の領域４１１の水平方向の画素ｒ（０，１），ｒ（０，３）〜ｒ（０，２９），ｒ（０，３１）に対応する差分絶対値和を順次出力する。第３ＳＡＤ演算部１３０は、第３の領域４１２の水平方向の画素ｒ（０，２），ｒ（０，４）〜ｒ（０，３０），（０，３２）に対応する差分絶対値和を順次出力する。
【００７１】
また、サイクルＮ＋２０〜Ｎ＋３５において、第１ＳＡＤ演算部１１０は、第１の領域４１０の水平方向の画素ｒ（２，０），ｒ（２，２）〜ｒ（２，２８），ｒ（２，３０）に対応する差分絶対値和を順次出力する。第２ＳＡＤ演算部１２０は、第２の領域４１１の水平方向の画素ｒ（２，１），ｒ（２，３）〜ｒ（２，２９），ｒ（２，３１）に対応する差分絶対値和を順次出力する。第３ＳＡＤ演算部１３０は、第３の領域４１２の水平方向の画素ｒ（２，２），ｒ（２，４）〜ｒ（２，３０），（２，３２）に対応する差分絶対値和を順次出力する。
【００７２】
さらに、サイクルＮ＋２５８〜Ｎ＋２７３において、第１ＳＡＤ演算部１１０は、第１の領域４１０の水平方向の画素ｒ（３０，０），ｒ（３０，２）〜ｒ（３０，２８），ｒ（３０，３０）に対応する差分絶対値和を順次出力する。第２ＳＡＤ演算部１２０は、第２の領域４１１の水平方向の画素ｒ（３０，１），ｒ（３０，３）〜ｒ（３０，２９），ｒ（３０，３１）に対応する差分絶対値和を順次出力する。第３ＳＡＤ演算部１３０は、第３の領域４１２の水平方向の画素ｒ（３０，２），ｒ（３０，４）〜ｒ（３０，３０），（３０，３２）に対応する差分絶対値和を順次出力する。
【００７３】
このようにして、図１５に示す参照画像４００の画素ｒ（０，０），ｒ（０，２），…，ｒ（０，３２），ｒ（２，０），…，ｒ（２，３２），…，ｒ（３０，０），…，ｒ（３０，３２）が第１の参照画像入力１４０として水平方向に１画素ずつブロックマッチング画像処理装置１００に入力され、画素ｒ（０，１），ｒ（０，３），…，ｒ（０，３１），ｒ（２，１），…，ｒ（２，３１），…，ｒ（３０，１），…，ｒ（３０，３１）が第２の参照画像入力１４１として水平方向に１画素ずつブロックマッチング画像処理装置１００に入力されると、サイクルＮ＋２７３において、第１ＳＡＤ演算部１１０は、図１６に示す第１の領域４１０の２５６個の画素の差分絶対値和の演算結果を第１ＳＡＤ演算部演算結果１５０として出力する。第２ＳＡＤ演算部１２０は、図１７に示す第２の領域４１１の２５６個の画素の差分絶対値和の演算結果を第２ＳＡＤ演算部演算結果１５１として出力する。第３ＳＡＤ演算部１３０は、図１８に示す第３の領域４１２の２５６個の画素の差分絶対値和の演算結果を第３ＳＡＤ演算部演算結果１５２として出力する。
【００７４】
なお、同様にして、図１９〜２１に示す第４の領域４１３〜第６の領域４１５の差分絶対値和が並列に演算され、図２２〜２４に示す第７の領域４１６〜第９の領域４１８の差分絶対値和が並列に演算される。
【００７５】
以上説明したように、本実施の形態におけるブロックマッチング画像処理装置においては、参照画像３０１の中の９個の領域に対応する差分絶対値和を演算する際、３つの領域に対応する差分絶対値和を並列に演算するようにしたので、半画素精度のブロックマッチングを高速に行なうことが可能となった。また、図１および図２に示すように、小さな回路規模でこのような並列処理を行なうことができ、低消費電力化を図ることが可能となった。
【００７６】
なお、図１と同様の方法によって、５以上の奇数個のＳＡＤ演算部２００を並列に接続するようにすれば、半画素精度のブロックマッチング画像処理をＮ（Ｎは３以上の奇数）並列で行なえるようになり、さらにブロックマッチングの処理速度を向上させることが可能となる。
【００７７】
また、本実施の形態においては、水平方向に差分絶対値和の演算を行なっているが、垂直方向に差分絶対値和を演算するようにしても同様の効果を得ることが可能である。
【００７８】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００７９】
【発明の効果】
本発明のある局面によれば、第１の演算手段、第２の演算手段および第３の演算手段が、第１の領域に対応する差分絶対値和、第２の領域に対応する差分絶対値和および第３の領域に対応する差分絶対値和を演算するので、１画素精度のブロックマッチングを並列に行なうことができ、１画素精度のブロックマッチングを高速に行なうことが可能となった。
【００８０】
本発明の別の局面によれば、第１の演算手段、第２の演算手段および第３の演算手段が、第１の領域に対応する差分絶対値和、第２の領域に対応する差分絶対値和および第３の領域に対応する差分絶対値和を演算するので、半画素精度のブロックマッチングを並列に行なうことができ、半画素精度のブロックマッチングを高速に行なうことが可能となった。
【００８１】
本発明のさらに別の局面によれば、第１の選択手段および第２の選択手段による選択に応じて、第１の演算手段、第２の演算手段および第３の演算手段が、第１の領域に対応する差分絶対値和、第２の領域に対応する差分絶対値和および第３の領域に対応する差分絶対値和を演算するので、１画素精度のブロックマッチングおよび半画素精度のブロックマッチングのいずれかを適宜選択することができ、小さな回路規模で１画素精度のブロックマッチングおよび半画素精度のブロックマッチングに対応することが可能となった。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態におけるブロックマッチング画像処理装置の概略構成を示すブロック図である。
【図２】図１に示す第１ＳＡＤ演算部１１０、第２ＳＡＤ演算部１２０および第３ＳＡＤ演算部１３０の構成例を示すブロック図である。
【図３】現画像の１ＭＢの画素配置イメージを示す図である。
【図４】１画素精度のブロックマッチングにおいて、水平方向に±１画素、垂直方向に±１画素の範囲で探索する場合の参照画像の画素配置イメージを示す図である。
【図５】１画素精度のブロックマッチングの演算対象となる９個の位置のうち１個目の位置を示す図である。
【図６】１画素精度のブロックマッチングの演算対象となる９個の位置のうち２個目の位置を示す図である。
【図７】１画素精度のブロックマッチングの演算対象となる９個の位置のうち３個目の位置を示す図である。
【図８】１画素精度のブロックマッチングの演算対象となる９個の位置のうち４個目の位置を示す図である。
【図９】１画素精度のブロックマッチングの演算対象となる９個の位置のうち５個目の位置を示す図である。
【図１０】１画素精度のブロックマッチングの演算対象となる９個の位置のうち６個目の位置を示す図である。
【図１１】１画素精度のブロックマッチングの演算対象となる９個の位置のうち７個目の位置を示す図である。
【図１２】１画素精度のブロックマッチングの演算対象となる９個の位置のうち８個目の位置を示す図である。
【図１３】１画素精度のブロックマッチングの演算対象となる９個の位置のうち９個目の位置を示す図である。
【図１４】本発明の第１の実施の形態におけるブロックマッチング画像処理装置が、第１の領域３１０、第２の領域３１１および第３の領域３１２に対応する差分絶対値和を演算するときの手順を説明するための図である。
【図１５】半画素精度のブロックマッチングにおいて、水平方向に±０．５画素、垂直方向に±０．５画素の範囲で探索する場合の参照画像の画素配置イメージを示す図である。
【図１６】半画素精度のブロックマッチングの演算対象となる９個の位置のうち１番目の対象位置を示す図である。
【図１７】半画素精度のブロックマッチングの演算対象となる９個の位置のうち２番目の対象位置を示す図である。
【図１８】半画素精度のブロックマッチングの演算対象となる９個の位置のうち３番目の対象位置を示す図である。
【図１９】半画素精度のブロックマッチングの演算対象となる９個の位置のうち４番目の対象位置を示す図である。
【図２０】半画素精度のブロックマッチングの演算対象となる９個の位置のうち５番目の対象位置を示す図である。
【図２１】半画素精度のブロックマッチングの演算対象となる９個の位置のうち６番目の対象位置を示す図である。
【図２２】半画素精度のブロックマッチングの演算対象となる９個の位置のうち７番目の対象位置を示す図である。
【図２３】半画素精度のブロックマッチングの演算対象となる９個の位置のうち８番目の対象位置を示す図である。
【図２４】半画素精度のブロックマッチングの演算対象となる９個の位置のうち９番目の対象位置を示す図である。
【図２５】本発明の第２の実施の形態におけるブロックマッチング画像処理装置が、第１の領域４１０、第２の領域４１１および第３の領域４１２に対応する差分絶対値和を演算するときの手順を説明するための図である。
【符号の説明】
１００  ブロックマッチング画像処理装置、１０１  クロック、１０２  現画像入力、１０３，１０４  選択信号、１１０  第１ＳＡＤ演算部、１１１  第１ＳＡＤ演算部参照画像入力、１１２  第１ＳＡＤ演算部参照画像出力、１２０  第２ＳＡＤ演算部、１２１  第２ＳＡＤ演算部参照画像入力、１２２  第２ＳＡＤ演算部参照画像出力、１３０  第３ＳＡＤ演算部、１３２  第３ＳＡＤ演算部参照画像出力、１４０  第１参照画像入力、１４１  第２参照画像入力、１５０第１ＳＡＤ演算部演算結果、１５１  第２ＳＡＤ演算部演算結果、１５２  第３ＳＡＤ演算部演算結果、２００  ＳＡＤ演算部、２０１  参照画像入力、２０２  参照画像出力、２０５  ＳＡＤ演算結果、２１０，２１４  ＦＦ、２１１  減算器、２１２  絶対値演算器、２１３  加算器、２２０  減算器出力、２２１絶対値演算器出力、２２２  加算器出力。
【図１】
2004350114.tif 000003
【図２】
2004350114.tif 000004
【図３】
2004350114.tif 000005
【図４】
2004350114.tif 000006
【図５】
2004350114.tif 000007
【図６】
2004350114.tif 000008
【図７】
2004350114.tif 000009
【図８】
2004350114.tif 000010
【図９】
2004350114.tif 000011
【図１０】
2004350114.tif 000012
【図１１】
2004350114.tif 000013
【図１２】
2004350114.tif 000014
【図１３】
2004350114.tif 000015
【図１４】
2004350114.tif 000016
【図１５】
2004350114.tif 000017
【図１６】
2004350114.tif 000018
【図１７】
2004350114.tif 000019
【図１８】
2004350114.tif 000020
【図１９】
2004350114.tif 000021
【図２０】
2004350114.tif 000022
【図２１】
2004350114.tif 000023
【図２２】
2004350114.tif 000024
【図２３】
2004350114.tif 000025
【図２４】
2004350114.tif 000026
【図２５】
2004350114.tif 000027