(57)【要約】【課題】消費電力を大幅に低減したブロックマッチング処理回路を提供する。【解決手段】ブロックマッチング処理回路は、２入力信号の差分絶対値を求める演算器と、演算器の全演算結果を順次階層的に加算する加算器回路と、加算器回路の出力結果を累算する第１および第２の累算器と、第１および第２の累算器から時系列的に出力される累算結果をそれぞれ分割する１対２分配器および１対４分配器と、１対２分配器の出力結果を格納する第１のレジスタと、第１のレジスタの値を加算する加算器と、加算器の出力結果を格納する第２のレジスタと、１対４分配器の出力結果を格納する第３のレジスタと、第３のレジスタの値を加算する加算器と、加算器の出力結果を格納する第４のレジスタと、第４のレジスタの値を加算する加算器と、加算器の出力結果を格納する第５のレジスタと、を含み、第１〜第５のレジスタが、差分絶対値和を出力する。【選択図】図４
2013026966.tif 000002
【特許請求の範囲】
【請求項１】
現フレーム画像内で設定されたｎ画素×ｎ画素の符号化対象マクロブロックの画素と、前記画素に対応する参照フレーム画像内で選定された探索領域内の照合マクロブロックの画素と、の差分絶対値を、符号化対象マクロブロックの全画素に対して加算し、差分絶対値和を求めるためのブロックマッチング処理回路において、前記ブロックマッチング処理回路は、
２入力信号の差分絶対値を求めるｎ個の演算器と、
（ｎ−１）個の加算器からなり、前記演算器の全演算結果を順次階層的に加算する加算器回路と、
前記加算器回路の出力結果を累算する第１の累算器および第２の累算器と、
前記第１の累算器から時系列的に出力される累算結果を２つに分割する１対２分配器と、
前記１対２分配器の出力結果を格納する第１のレジスタと、
前記第１のレジスタの値を加算する加算器と、
前記加算器の出力結果を格納する第２のレジスタと、
前記第２の累算器から時系列的に出力される累算結果を４つに分割する１対４分配器と、
前記１対４分配器の出力結果を格納する第３のレジスタと、
前記第３のレジスタの値を加算する加算器と、
前記加算器の出力結果を格納する第４のレジスタと、
前記第４のレジスタの値を加算する加算器と、
前記加算器の出力結果を格納する第５のレジスタと、
を含み、
前記第１〜第５のレジスタが、前記差分絶対値和を出力することを特徴とするブロックマッチング処理回路。
【請求項２】
請求項１に記載のブロックマッチング処理回路におけるブロックマッチング処理方法であって、
２入力信号の差分絶対値を求めるステップと、
前記差分絶対値を順次階層的に加算するステップと、
前記加算結果を累算するステップと、
時系列的に出力される第１の累算結果を２つに分割するステップと、
前記１対２分配結果を第１のレジスタに格納するステップと、
前記格納値を加算するステップと、
前記加算結果を第２のレジスタに格納するステップと、
時系列的に出力される第２の累算結果を４つに分割するステップと、
前記１対４分配結果を格納する第３のレジスタにステップと、
前記格納値を加算するステップと、
前記加算結果を第４のレジスタに格納するステップと、
前記格納値を加算するステップと、
前記加算結果を第５のレジスタに格納するステップと、
を含み、
前記第１〜第５のレジスタが、前記差分絶対値和を出力することを特徴とするブロックマッチング処理方法。
【請求項３】
請求項１に記載のブロックマッチング処理回路を用い、参照フレーム画像内の探索点を決定するアルゴリズムであって、
（２ｐ＋１）画素×（２ｐ＋１）画素の探索領域内の全探索点のうち（ｐは自然数）、前記探索領域内の中心に位置する中心探索点から上下左右に帯状に伸びる４本の第１の帯状探索点領域と、前記第１の帯状探索点領域を、前記中心探索点を中心に所定角度回転させた第２の帯状探索点領域と、からなる帯状探索点領域を設定し、
前記帯状探索点領域のうち、符号化対象マクロブロックの左に位置するマクロブロックの動きベクトルＭＶβと、上に位置するマクロブロックの動きベクトルＭＶγと、の角度差θに従い、探索対象帯状探索点領域を設定し、
前記探索対象帯状探索点領域内の全探索点のうち、前記中心探索点から、探索削減点を所定の規則に従って間引き、探索点を決定する、
ことを特徴とするアルゴリズム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像情報のブロックマッチング処理回路およびブロックマッチング処理方法に関するものである。
【背景技術】
【０００２】
従来から、膨大な動画像情報の信号処理に関する手法について多面的角度から検討されている。例えば、ＭＰＥＧ２、Ｈ．２６４／ＡＶＣに準拠する動画像符号化の信号処理量は、動き補償予測（ＭＣ）における動きベクトル検出（ＭＥ）処理が突出して多い。この動きベクトル検出処理は、時系列的に離隔した二つの画像間の動きに着目した動きベクトル検出に帰着する。
【０００３】
図１を参照して、ＭＰＥＧ２に準拠する全探索法を用いた動きベクトル検出処理を説明する。
図１ａに示す現フレーム画像（現画像）内の符号化対象マクロブロック（ブロックサイズ：１６画素×１６画素）に対して、図１ｂに示す参照フレーム画像（再生画像）内の照合マクロブロックを、探索領域の全範囲について探索する。なお、以降の説明では、符号化対象マクロブロックの画素をａ０〜ａ１５、照合マクロブロックの画素をｂ０〜ｂ１５にて表す。
この場合、動きベクトル検出処理をする回路（動きベクトル検出回路）を１個準備すればよいことになる。
【０００４】
しかしながら、Ｈ．２６４／ＡＶＣでは、よりきめ細かな動きベクトル検出を行うため、符号化対象マクロブロックのブロックサイズを、１６画素×１６画素より小さく、かつ複数種類準備している。具体的には、図２（ａ）〜図２（ｇ）に示すように、符号化対象マクロブロックは、１６画素×１６画素を１個、１６画素×８画素を２個、８画素×１６画素を２個、８画素×８画素を４個、８画素×４画素を８個、４画素×８画素を８個、４画素×４画素を１６個である。したがって、符号化対象マクロブロックの種類は７種類、符号化対象マクロブロックの数は合計４１個である（非特許文献１参照）。
また、ブロック毎に動きベクトル検出処理を実施するため、Ｈ．２６４／ＡＶＣでは動きベクトル検出回路が４１個必要となる。ＭＰＥＧ２では動きベクトル検出回路が１個であったのに対して、Ｈ．２６４／ＡＶＣの動きベクトル検出回路では、回路規模が大幅に（約４０倍）増加する上、動きベクトル検出回路の消費電力も大幅に（約４０倍）増加する。
【０００５】
動きベクトル検出アルゴリズムでは、１つの符号化対象マクロブロックに対して、探索領域内の全ての照合マクロブロックとの差分絶対値和（あるいは積和）の演算値Ｄａを求めるブロックマッチング処理と、得られたＤａのうち最小のＤａ（ＭｉｎＤａ）を決定する最小値決定処理と、で構成される。Ｄａは再生画像の画質を評価する指標で、小さい値であれば、画質がよいとされている。
以下、演算値Ｄａを求めるために、ブロックマッチング処理を実行するブロックマッチング処理回路について説明する。
【０００６】
図３ａに示す１６画素×１６画素信号処理回路２００ａは、現フレーム画像内の符号化対象マクロブロックの画素（図２（ａ））と、参照フレーム画像内で選定された探索領域内の照合マクロブロック（図示せず）の対応する画素と、の差分絶対値をマクロブロック内の全画素に対して求める。次に、求めた全差分絶対値を加算することにより、差分絶対値和の和信号Ａを出力する。以下、具体的に説明する。
【０００７】
１６画素×１６画素信号処理回路２００ａは、１６個の演算器１と、１５個の加算器２１〜２４からなる加算器回路２と、累算器３と、レジスタ５と、を含む。
演算器１は、２入力信号の差分絶対値を求める回路である。２入力信号とは、例えば、符号化対象マクロブロック内の１行１列目の画素ａ０と、この画素ａ０に対応する照合マクロブロック内の１行１列目の画素ｂ０である。
加算器回路２は、演算器１の全演算結果を順次階層的に加算する回路である。例えば、ある加算器２１が、画素ａ０と画素ｂ０との差分絶対値と、画素ａ１と画素ｂ１との差分絶対値と、を加算する。この加算器２１による加算値と、別の加算器２１による加算値と、を加算器２２が加算する。この加算器２２による加算値と、別の加算器２２による加算値と、を加算器２３が加算する。この加算器２３による加算値と、別の加算器２３による加算値と、を加算器２４が加算する。
累算器３は、加算器回路２の出力結果を１５回累算する回路である。すなわち、図２（ａ）に示す１行目の画素同士の差分絶対値和から１６行目の画素同士の差分絶対値和までを累算する回路である。
レジスタ５は、累算器３の出力結果を格納する記憶回路である。
【０００８】
なお、１６画素×１６画素信号処理回路２００ａは、パイプライン処理を行う。すなわち、８個の加算器２１が、符号化対象マクロブロック内の１行目の画素ａ０〜ａ１５と、照合マクロブロック内の対応する１行目の画素ｂ０〜ｂ１５と、のそれぞれの差分絶対値を加算しているとき、１６個の演算器１は、符号化対象マクロブロック内の２行目の画素ａ０〜ａ１５と、照合マクロブロック内の対応する２行目の画素ｂ０〜ｂ１５と、のそれぞれの差分絶対値を求める。同様に、１個の加算器２４が、符号化対象マクロブロック内の１行目の画素ａ０〜ａ１５と、照合マクロブロック内の対応する１行目の画素ｂ０〜ｂ１５と、のそれぞれの差分絶対値を加算しているとき、２個の加算器２３は、符号化対象マクロブロック内の２行目の画素ａ０〜ａ１５と、照合マクロブロック内の対応する２行目の画素ｂ０〜ｂ１５と、のそれぞれの差分絶対値を加算し、４個の加算器２２は、符号化対象マクロブロック内の３行目の画素ａ０〜ａ１５と、照合マクロブロック内の対応する３行目の画素ｂ０〜ｂ１５と、のそれぞれの差分絶対値を加算し、８個の加算器２１は、符号化対象マクロブロック内の４行目の画素ａ０〜ａ１５と、照合マクロブロック内の対応する４行目の画素ｂ０〜ｂ１５と、のそれぞれの差分絶対値を加算し、１６個の演算器１は、符号化対象マクロブロック内の５行目の画素ａ０〜ａ１５と、照合マクロブロック内の対応する５行目の画素ｂ０〜ｂ１５と、のそれぞれの差分絶対値を求める。
【０００９】
同様に、図３ｂに示す１６画素×８画素信号処理回路２００ｂは、符号化対象マクロブロックの全画素（図２（ｂ））と、照合マクロブロック（図示せず）の対応する全画素と、に対する差分絶対値和の和信号Ｂ１、Ｂ２を出力する。１６画素×８画素信号処理回路２００ｂは、１６個の演算器１と、１５個の加算器２１〜２４からなる加算器回路２と、累算器３と、レジスタ５と、を含む。従来のブロックマッチング処理回路では、この１６画素×８画素信号処理回路２００ｂを２個必要とする。
【００１０】
同様に、図３ｃに示す８画素×１６画素信号処理回路２００ｃは、符号化対象マクロブロックの全画素（図２（ｃ））と、照合マクロブロック（図示せず）の対応する全画素と、に対する差分絶対値和の和信号Ｃ１、Ｃ２を出力する。８画素×１６画素信号処理回路２００ｃは、８個の演算器１と、７個の加算器２１〜２３からなる加算器回路２と、累算器３と、レジスタ５と、を含む。従来のブロックマッチング処理回路では、この８画素×１６画素信号処理回路２００ｃを２個必要とする。
なお、和信号Ｃ１は、符号化対象マクロブロックの左側の画素ａ０〜ａ７および照合マクロブロックの対応する左側の画素ｂ０〜ｂ７に対応し、和信号Ｃ２は、符号化対象マクロブロックの右側の画素ａ８〜ａ１５および照合マクロブロックの対応する左側の画素ｂ８〜ｂ１５に対応する。
【００１１】
同様に、図３ｄに示す８画素×８画素信号処理回路２００ｄは、符号化対象マクロブロックの全画素（図２（ｄ））と、照合マクロブロック（図示せず）の対応する全画素と、に対する差分絶対値和の和信号Ｄ１〜Ｄ４を出力する。８画素×８画素信号処理回路２００ｄは、８個の演算器１と、７個の加算器２１〜２３からなる加算器回路２と、累算器３と、レジスタ５と、を含む。従来のブロックマッチング処理回路では、この８画素×８画素信号処理回路２００ｄを４個必要とする。
なお、和信号Ｄ１、Ｄ２は、符号化対象マクロブロックの左側の画素ａ０〜ａ７および照合マクロブロックの対応する左側の画素ｂ０〜ｂ７に対応し、和信号Ｄ３、Ｄ４は、符号化対象マクロブロックの右側の画素ａ８〜ａ１５および照合マクロブロックの対応する左側の画素ｂ８〜ｂ１５に対応する。
【００１２】
同様に、図３ｅに示す８画素×４画素信号処理回路２００ｅは、符号化対象マクロブロックの全画素（図２（ｅ））と、照合マクロブロック（図示せず）の対応する全画素と、に対する差分絶対値和の和信号Ｅ１〜Ｅ８を出力する。８画素×４画素信号処理回路２００ｅは、８個の演算器１と、７個の加算器２１〜２３からなる加算器回路２と、累算器３と、レジスタ５と、を含む。従来のブロックマッチング処理回路では、この８画素×４画素信号処理回路２００ｅを８個必要とする。
なお、和信号Ｅ１〜Ｅ４は、符号化対象マクロブロックの左側の画素ａ０〜ａ７および照合マクロブロックの対応する左側の画素ｂ０〜ｂ７に対応し、和信号Ｅ５〜Ｅ８は、符号化対象マクロブロックの右側の画素ａ８〜ａ１５および照合マクロブロックの対応する左側の画素ｂ８〜ｂ１５に対応する。
【００１３】
同様に、図３ｆに示す４画素×８画素信号処理回路２００ｆは、符号化対象マクロブロックの全画素（図２（ｆ））と、照合マクロブロック（図示せず）の対応する全画素と、に対する差分絶対値和の和信号Ｆ１〜Ｆ８を出力する。４画素×８画素信号処理回路２００ｆは、４個の演算器１と、３個の加算器２１、２２からなる加算器回路２と、累算器３と、レジスタ５と、を含む。従来のブロックマッチング処理回路では、この４画素×８画素信号処理回路２００ｆを８個必要とする。
なお、和信号Ｆ１、Ｆ２は、符号化対象マクロブロックの左側の画素ａ０〜ａ３および照合マクロブロックの対応する左側の画素ｂ０〜ｂ３に対応し、和信号Ｆ３、Ｆ４は、符号化対象マクロブロックの中央左側の画素ａ４〜ａ７および照合マクロブロックの対応する中央左側の画素ｂ４〜ｂ７に対応し、和信号Ｆ５、Ｆ６は、符号化対象マクロブロックの中央右側の画素ａ８〜ａ１１および照合マクロブロックの対応する中央右側の画素ｂ８〜ｂ１１に対応し、和信号Ｆ７、Ｆ８は、符号化対象マクロブロックの右側の画素ａ１２〜ａ１５および照合マクロブロックの対応する右側の画素ｂ１２〜ｂ１５に対応する。
【００１４】
同様に、図３ｇに示す４画素×４画素信号処理回路２００ｇは、符号化対象マクロブロックの全画素（図２（ｇ））と、照合マクロブロック（図示せず）の対応する全画素と、に対する差分絶対値和の和信号Ｇ１〜Ｇ１６を出力する。４画素×４画素信号処理回路２００ｇは、４個の演算器１と、３個の加算器２１、２２からなる加算器回路２と、累算器３と、レジスタ５と、を含む。従来のブロックマッチング処理回路では、この４画素×４画素信号処理回路２００ｇを１６個必要とする。
なお、和信号Ｇ１〜Ｇ４は、符号化対象マクロブロックの左側の画素ａ０〜ａ３および照合マクロブロックの対応する左側の画素ｂ０〜ｂ３に対応し、和信号Ｇ５〜Ｇ８は、符号化対象マクロブロックの中央左側の画素ａ４〜ａ７および照合マクロブロックの対応する中央左側の画素ｂ４〜ｂ７に対応し、和信号Ｇ９〜Ｇ１２は、符号化対象マクロブロックの中央右側の画素ａ８〜ａ１１および照合マクロブロックの対応する中央右側の画素ｂ８〜ｂ１１に対応し、和信号Ｇ１３〜Ｇ１６は、符号化対象マクロブロックの右側の画素ａ１２〜ａ１５および照合マクロブロックの対応する右側の画素ｂ１２〜ｂ１５に対応する。
【００１５】
以上の通り、７種類の符号化対象ブロックに対して、７種類の信号処理回路が必要であり、回路数は合計で４１個となる。
【先行技術文献】
【非特許文献】
【００１６】
【非特許文献１】Ｈ．２６４／ＡＶＣ教科書  大久保栄監修  株式会社インプレスＲ＆Ｄ
【発明の概要】
【発明が解決しようとする課題】
【００１７】
ＣＭＯＳ論理ゲートが動作しているとき、この論理ゲート１個が消費するする電力ｐ（Ｗ）は近似的に下式で与えられる。
ｐ≒Ｃ・ｆ・Ｖ２
ここで、Ｃは該論理ゲートの負荷容量、ｆは入力信号の周波数、Ｖは供給電圧である。なお、Ｃの値は論理ゲート毎に異なる。多数の論理ゲートで構成される半導体集積回路の消費電力（すなわち、ブロックマッチング処理回路１個の消費電力）Ｐは各論理ゲートが消費する電力の総和である。
例えば、図３に示した従来のブロックマッチング処理回路をＣＭＯＳ論理ゲートで構成すると、Ｖ＝１Ｖ、ｆ＝２ＧＨｚ動作の時、ブロックマッチング処理回路１個の消費電力Ｐは６８９．３ｍＷとなる。
【００１８】
本発明の目的は、上述した従来技術の課題を解決し、高速処理を指向しながら、消費電力を大幅に低減したブロックマッチング処理回路およびブロックマッチング処理方法を提供することにある。
【課題を解決するための手段】
【００１９】
本発明の要旨は、以下のとおりである。
（１）現フレーム画像内で設定されたｎ画素×ｎ画素の符号化対象マクロブロックの画素と、前記画素に対応する参照フレーム画像内で選定された探索領域内の照合マクロブロックの画素と、の差分絶対値を、符号化対象マクロブロックの全画素に対して加算し、差分絶対値和を求めるためのブロックマッチング処理回路において、前記ブロックマッチング処理回路は、
２入力信号の差分絶対値を求めるｎ個の演算器と、
（ｎ−１）個の加算器からなり、前記演算器の全演算結果を順次階層的に加算する加算器回路と、
前記加算器回路の出力結果を累算する第１の累算器および第２の累算器と、
前記第１の累算器から時系列的に出力される累算結果を２つに分割する１対２分配器と、
前記１対２分配器の出力結果を格納する第１のレジスタと、
前記第１のレジスタの値を加算する加算器と、
前記加算器の出力結果を格納する第２のレジスタと、
前記第２の累算器から時系列的に出力される累算結果を４つに分割する１対４分配器と、
前記１対４分配器の出力結果を格納する第３のレジスタと、
前記第３のレジスタの値を加算する加算器と、
前記加算器の出力結果を格納する第４のレジスタと、
前記第４のレジスタの値を加算する加算器と、
前記加算器の出力結果を格納する第５のレジスタと、
を含み、
前記第１〜第５のレジスタが、前記差分絶対値和を出力することを特徴とするブロックマッチング処理回路。
【００２０】
（２）上記（１）に記載のブロックマッチング処理回路におけるブロックマッチング処理方法であって、
２入力信号の差分絶対値を求めるステップと、
前記差分絶対値を順次階層的に加算するステップと、
前記加算結果を累算するステップと、
時系列的に出力される第１の累算結果を２つに分割するステップと、
前記１対２分配結果を第１のレジスタに格納するステップと、
前記格納値を加算するステップと、
前記加算結果を第２のレジスタに格納するステップと、
時系列的に出力される第２の累算結果を４つに分割するステップと、
前記１対４分配結果を格納する第３のレジスタにステップと、
前記格納値を加算するステップと、
前記加算結果を第４のレジスタに格納するステップと、
前記格納値を加算するステップと、
前記加算結果を第５のレジスタに格納するステップと、
を含み、
前記第１〜第５のレジスタが、前記差分絶対値和を出力することを特徴とするブロックマッチング処理方法。
【００２１】
（３）上記（１）に記載のブロックマッチング処理回路を用い、参照フレーム画像内の探索点を決定するアルゴリズムであって、
（２ｐ＋１）画素×（２ｐ＋１）画素の探索領域内の全探索点のうち（ｐは自然数）、前記探索領域内の中心に位置する中心探索点から上下左右に帯状に伸びる４本の第１の帯状探索点領域と、前記第１の帯状探索点領域を、前記中心探索点を中心に所定角度回転させた第２の帯状探索点領域と、からなる帯状探索点領域を設定し、
前記帯状探索点領域のうち、符号化対象マクロブロックの左に位置するマクロブロックの動きベクトルＭＶβと、上に位置するマクロブロックの動きベクトルＭＶγと、の角度差θに従い、探索対象帯状探索点領域を設定し、
前記探索対象帯状探索点領域内の全探索点のうち、前記中心探索点から、探索削減点を所定の規則に従って間引き、探索点を決定する、
ことを特徴とするアルゴリズム。
【発明の効果】
【００２２】
本発明により、高速処理を指向しながら、消費電力を大幅に低減したブロックマッチング処理回路およびブロックマッチング処理方法を提供することができる。
【図面の簡単な説明】
【００２３】
【図１ａ】ＭＰＥＧ２に準拠する全探索法を用いた動きベクトル検出処理を説明するための現フレーム画像を示す図である。
【図１ｂ】ＭＰＥＧ２に準拠する全探索法を用いた動きベクトル検出処理を説明するための参照フレーム画像を示す図である。
【図２】符号化対象マクロブロックの例を示す図である。
【図３ａ】従来のブロックマッチング処理回路の構成を示す模式図である。
【図３ｂ】従来のブロックマッチング処理回路の構成を示す模式図である。
【図３ｃ】従来のブロックマッチング処理回路の構成を示す模式図である。
【図３ｄ】従来のブロックマッチング処理回路の構成を示す模式図である。
【図３ｅ】従来のブロックマッチング処理回路の構成を示す模式図である。
【図３ｆ】従来のブロックマッチング処理回路の構成を示す模式図である。
【図３ｇ】従来のブロックマッチング処理回路の構成を示す模式図である。
【図４】本発明のブロックマッチング処理回路の構成を示す模式図である。
【図５】本発明のブロックマッチング処理回路に用いられるのに好適なアルゴリズムを説明するための図である。
【図６】本発明のブロックマッチング処理回路に用いられるのに好適なアルゴリズムを説明するための図である。
【図７】本発明のブロックマッチング処理回路に用いられるのに好適なアルゴリズムを説明するための図である。
【発明を実施するための形態】
【００２４】
図４を参照して、本発明のブロックマッチング処理回路を説明する。
ブロックマッチング処理回路１００は、１６個の演算器１と、１５個の加算器２１〜２４からなる加算器回路２と、１個の第１の累算器３１と、６個の第２の累算器３２、３３と、１個の１対２分配器４２と、６個の１対４分配器４４と、２個の第１のレジスタ５１、５２と、２４個の第３のレジスタ５３〜５６と、１３個の加算器６と、１個の第２のレジスタ７１と、１２個の第４のレジスタ７２、７３と、２個の加算器８と、２個の第５のレジスタ９と、を含む。
【００２５】
演算器１は、２入力信号の差分絶対値を求める回路である。２入力信号とは、例えば、符号化対象マクロブロック内の１行１列目の画素ａ０と、この画素ａ０に対応する照合マクロブロック内の１行１列目の画素ｂ０である。
【００２６】
加算器回路２は、演算器１の全演算結果を順次階層的に加算する回路である。例えば、ある加算器２１が、画素ａ０と画素ｂ０との差分絶対値と、画素ａ１と画素ｂ１との差分絶対値と、を加算する。この加算器２１による加算値と、別の加算器２１による加算値と、を加算器２２が加算する。この加算器２２による加算値と、別の加算器２２による加算値と、を加算器２３が加算する。この加算器２３による加算値と、別の加算器２３による加算値と、を加算器２４が加算する。ここで、４個の加算器２２の加算値と、２個の加算器２３の加算値と、１個の加算器２４の加算値と、の合計７つの加算値が、加算器回路２の出力結果となる。
なお、ブロックマッチング処理回路１００は、上述した従来の回路と同様、パイプライン処理を行う。
【００２７】
第１の累算器３１および第２の累算器３２、３３は、加算器回路２の出力結果を１５回累算する回路である。すなわち、図２に示す１行目の画素同士の差分絶対値和から１６行目の画素同士の差分絶対値和までを累算する回路である。
【００２８】
１対２分配器４２は、第１の累算器３１から時系列的に出力される累算結果を２つに分割し、第１のレジスタ５１、５２に供給する回路である。
同様に、１対４分配器４４は、第２の累算器３２、３３から時系列的に出力される累算結果を４つに分割し、第３のレジスタ５３〜５６に供給する回路である。
【００２９】
（回路１０ａ）
回路１０ａの第１のレジスタ５１、５２は、１対２分配器４２の出力結果を格納する記憶回路である。第１のレジスタ５１は、図２（ａ）に示す１６画素×１６画素の符号化対象マクロブロックの全画素の差分絶対値和のうち、１行目から８行目までの１６画素×８画素の差分絶対値和を格納し、第１のレジスタ５２は、９行目から１６行目までの１６画素×８画素の差分絶対値和を格納する。それゆえ、第１のレジスタ５１は、和信号Ｂ１（１６画素×８画素の符号化対象マクロブロックの画素（図２（ｂ））と、照合マクロブロック（図示せず）の対応する画素と、に対する差分絶対値和）を出力し、同様に、第１のレジスタ５２は、和信号Ｂ２を出力する。
加算器６は、第１のレジスタ５１、５２の値を加算する。
第２のレジスタ７１は、加算器６の出力結果を格納する記憶回路である。それゆえ、第２のレジスタ７１は、和信号Ａ（１６画素×１６画素の符号化対象マクロブロックの全画素（図２（ａ））と、照合マクロブロック（図示せず）の対応する全画素と、に対する差分絶対値和）を出力する。
【００３０】
（回路１０ｂ）
回路１０ｂの第３のレジスタ５３〜５６は、１対４分配器４３の出力結果を格納する記憶回路である。第３のレジスタ５３は、図２（ｃ）に示す８画素×１６画素の符号化対象マクロブロックの画素の差分絶対値和のうち、１行目から４行目までの８画素×４画素の差分絶対値和を格納し、第３のレジスタ５４は、５行目から８行目までの８画素×４画素の差分絶対値和を格納し、第３のレジスタ５５は、９行目から１２行目までの８画素×４画素の差分絶対値和を格納し、第３のレジスタ５６は、１３行目から１６行目までの８画素×４画素の差分絶対値和を格納する。それゆえ、第３のレジスタ５３は、和信号Ｅ１（８画素×４画素の符号化対象マクロブロックの画素（図２（ｅ））と、照合マクロブロック（図示せず）の対応する画素と、に対する差分絶対値和）を出力し、第３のレジスタ５４は、和信号Ｅ２を出力し、第３のレジスタ５５は、和信号Ｅ３を出力し、第３のレジスタ５６は、和信号Ｅ４を出力する。
加算器６は、第３のレジスタ５３、５４の値あるいは、第３のレジスタ５５、５６の値を加算する。
第４のレジスタ７２、７３は、加算器６の出力結果を格納する記憶回路である。それゆえ、第４のレジスタ７２は、和信号Ｄ１（８画素×８画素の符号化対象マクロブロックの画素（図２（ｄ））と、照合マクロブロック（図示せず）の対応する画素と、に対する差分絶対値和）を出力し、第４のレジスタ７３は、和信号Ｄ２を出力する。
加算器８は、第４のレジスタ７２、７３の値を加算する。
第５のレジスタ９は、加算器８の出力結果を格納する記憶回路である。それゆえ、第５のレジスタ９は、和信号Ｃ１（８画素×１６画素の符号化対象マクロブロックの画素（図２（ｃ））と、照合マクロブロック（図示せず）の対応する画素と、に対する差分絶対値和）を出力する。
【００３１】
（回路１０ｃ）
回路１０ｃは、回路１０ｂと同様の構成要素からなり、各レジスタの出力は以下の通りである。
第３のレジスタ５３は、和信号Ｅ５を出力し、第３のレジスタ５４は、和信号Ｅ６を出力し、第３のレジスタ５５は、和信号Ｅ７を出力し、第３のレジスタ５６は、和信号Ｅ８を出力する。
第４のレジスタ７２は、和信号Ｄ３を出力し、第４のレジスタ７３は、和信号Ｄ４を出力する。
第５のレジスタ９は、和信号Ｃ２を出力する。
【００３２】
（回路１０ｄ）
回路１０ｄの第３のレジスタ５３〜５６は、１対４分配器４４の出力結果を格納する記憶回路である。第３のレジスタ５３は、４画素×１６画素の符号化対象マクロブロックの画素の差分絶対値和のうち、１行目から４行目までの４画素×４画素の差分絶対値和を格納し、第３のレジスタ５４は、５行目から８行目までの４画素×４画素の差分絶対値和を格納し、第３のレジスタ５５は、９行目から１２行目までの４画素×４画素の差分絶対値和を格納し、第３のレジスタ５６は、１３行目から１６行目までの４画素×４画素の差分絶対値和を格納する。それゆえ、第３のレジスタ５３は、和信号Ｇ１（４画素×４画素の符号化対象マクロブロックの画素（図２（ｇ））と、照合マクロブロック（図示せず）の対応する画素と、に対する差分絶対値和）を出力し、第３のレジスタ５４は、和信号Ｇ２を出力し、第３のレジスタ５５は、和信号Ｇ３を出力し、第３のレジスタ５６は、和信号Ｇ４を出力する。
加算器６は、第３のレジスタ５３、５４の値あるいは、第３のレジスタ５５、５６の値を加算する。
第４のレジスタ７２、７３は、加算器６の出力結果を格納する記憶回路である。それゆえ、第４のレジスタ７２は、和信号Ｆ１（４画素×８画素の符号化対象マクロブロックの画素（図２（ｆ））と、照合マクロブロック（図示せず）の対応する画素と、に対する差分絶対値和）を出力し、第４のレジスタ７３は、和信号Ｆ２を出力する。
【００３３】
（回路１０ｅ）
回路１０ｅは、回路１０ｄと同様の構成要素からなり、各レジスタの出力は以下の通りである。
第３のレジスタ５３は、和信号Ｇ５を出力し、第３のレジスタ５４は、和信号Ｇ６を出力し、第３のレジスタ５５は、和信号Ｇ７を出力し、第３のレジスタ５６は、和信号Ｇ８を出力する。
第４のレジスタ７２は、和信号Ｆ３を出力し、第４のレジスタ７３は、和信号Ｆ４を出力する。
【００３４】
（回路１０ｆ）
回路１０ｆは、回路１０ｄと同様の構成要素からなり、各レジスタの出力は以下の通りである。
第３のレジスタ５３は、和信号Ｇ９を出力し、第３のレジスタ５４は、和信号Ｇ１０を出力し、第３のレジスタ５５は、和信号Ｇ１１を出力し、第３のレジスタ５６は、和信号Ｇ１２を出力する。
第４のレジスタ７２は、和信号Ｆ５を出力し、第４のレジスタ７３は、和信号Ｆ６を出力する。
【００３５】
（回路１０ｇ）
回路１０ｇは、回路１０ｄと同様の構成要素からなり、各レジスタの出力は以下の通りである。
第３のレジスタ５３は、和信号Ｇ１３を出力し、第３のレジスタ５４は、和信号Ｇ１４を出力し、第３のレジスタ５５は、和信号Ｇ１５を出力し、第３のレジスタ５６は、和信号Ｇ１６を出力する。
第４のレジスタ７２は、和信号Ｆ７を出力し、第４のレジスタ７３は、和信号Ｆ８を出力する。
【００３６】
図４では、符号化対象マクロブロックが１６画素×１６画素の場合について説明したが、本発明はこれに限定されることはない。符号化対象マクロブロックがｎ画素×ｎ画素の場合は、ｎ個の演算器１と、（ｎ−１）個の加算器からなる加算器回路２とを用いる。
【００３７】
また、図４では、演算器１は、２入力信号の差分絶対値を求める回路として説明したが、演算器１は、２入力信号の積を求める回路とすることもできる。この場合、ブロックマッチング処理回路１００の出力は、差分絶対値和の代わりに積和となる。
【００３８】
従来は、上述したように、４１個の信号処理回路が必要であった。これに対して、本発明では、図４に示した１個のブロックマッチング処理回路１００により、全ての符号化対象マクロブロックのブロックマッチング処理を同時に実行するので、本発明では、回路規模を従来の回路規模の１／４０以下に小型化できる。
また、図４に示した本発明のブロックマッチング処理回路をＣＭＯＳ論理ゲートで構成すると、Ｖ＝１Ｖ、ｆ＝２ＧＨｚ動作の時、本発明のブロックマッチング処理回路１個の消費電力Ｐは８０．３ｍＷとなり、従来のブロックマッチング処理回路のＰの１／８.５８に低消費電力化できる。従来と本発明のブロックマッチング処理回路１個当たりの消費電力Ｐを表１に示す。
【００３９】
【表１】
2013026966.tif 000003
【００４０】
以下、本発明のブロックマッチング処理回路およびブロックマッチング処理方法に用いられるのに好適なアルゴリズム（帯状探索窓（Stick-shaped Search Window (ＳＳＷ））ブロックマッチングアルゴリズム（Proc. of the IEEE 10th International Conference on Signal Processing (ICSP2010), pp.1117-1120））について説明する。
図５（ａ）に示す現フレーム画像内の符号化対象マクロブロックに対して、図５（ｂ）に示す参照フレーム画像内で選定された探索領域（２ｐ＋１）２を探索する（ｐは自然数）。ここで、探索領域の全範囲を探索すると、探索点の数Ｎ１は、
Ｎ１＝（２ｐ＋１）２
であり、ｐ＝１９２画素の場合、Ｎ１＝１４８，９９６となり膨大な値となる。それゆえ、探索点を中心に８本の帯状探索点領域を設定し、この帯状探索点領域内を探索する。
【００４１】
図６を参照して、さらに詳細に説明する。
図６（ａ）に示すように、探索領域１０１内の中心に位置する中心探索点１０２から上下左右に帯状に伸びる４本の第１の帯状探索点領域１０３ａ〜１０３ｄと、この第１の帯状探索点領域１０３ａ〜１０３ｄを、中心探索点１０２を中心に時計回りに所定角度、図示例では４５°回転させた第２の帯状探索点領域１０３ｅ〜１０３ｇと、の総計８本の帯状探索点領域を設定する。なお、所定角度とは、４５°の他１５°、３０°等とすることができる。
各帯状探索点領域１０３ａ〜１０３ｇには、ｐ個の探索点が存在するので、探索点の数Ｎ２は、
Ｎ２＝８ｐ＋１である。
【００４２】
次に、図６（ｂ）を参照して、各帯状探索点領域１０３ａ〜１０３ｇ内の全探索点のうち、探索削減点を所定条件に従い間引くことを検討する。図示例では、探索点間隔（探索削減点（間引かれる探索点））を、１、２、・・・、ｋ（ｋ≦（２ｐ）１／２）としている。すなわち、中心探索点１０２から離れるほど探索点間隔ｋが大きくなるように設定する。
各帯状探索点領域１０３ａ〜１０３ｇ内の探索点の数Ｎ３は、
Ｎ３≒８ｋ＋１≒８（２ｐ）１／２
である。
探索削減点を間引く方法は、上述した方法に限定されず、画質の低下を最小限に抑制しながら処理量を最小にするように最適化することができる。
【００４３】
次に、探索方向を決定して帯状探索点領域を削減することを検討する。
図７（ａ）に、現フレーム画像内の符号化対象マクロブロックαと、符号化対象マクロブロックの左に位置し、探索済みのマクロブロックβと、上に位置し、探索済みのマクロブロックγと、を示す。マクロブロックβの動きベクトルＭＶβと、マクロブロックγの動きベクトルＭＶγとの角度差θに対応して、帯状探索点領域の数ｒを決定し、探索対象帯状探索点領域を設定する。すなわち、角度差θが小さい場合、探索方向を狭い範囲に限定し、帯状探索点領域の数ｒを削減する。一例を以下に示す。
０°＜θ≦４５°：ｒ＝３
４５°＜θ≦９０°：ｒ＝５
９０°＜θ≦１３５°：ｒ＝７
１３５°＜θ≦１８０°：ｒ＝８
なお、帯状探点索領域の方向も動きベクトルＭＶβ、ＭＶγの方向を含む領域に設定する。
図７（ｂ）は、に０°＜θ≦４５°の場合、８本の帯状探索点領域１０３ａ〜１０３ｇのうち、探索対象帯状探索点領域を３本の帯状探索点領域１０３ｂ、１０３ｅ、１０３ｆに設定した例を示す。このとき、各帯状探索点領域１０３ｂ、１０３ｅ、１０３ｆ内の探索点の数Ｎ４は、
Ｎ４＝ｒＮ３／８≒ｒ（２ｐ）１／２
であり、Ｎ４／Ｎ１は、ｒ＝３、ｐ＝１９２画素の場合
Ｎ４／Ｎ１≒ｒ（２ｐ）１／２／４ｐ２≒０．０３９９％
となり、探索点数は大幅に削減される。
【００４４】
なお、８本の帯状探索点領域１０３ａ〜１０３ｇの探索削減点を間引いた後、帯状探索点領域の数ｒを削減した例を説明したが、本発明は、この工程の順序に限定されることはない。すなわち、帯状探索点領域の数ｒを削減した後、探索削減点を間引いてもよい。
【実施例１】
【００４５】
以下、本発明のブロックマッチング処理に関する実施例を説明する。
Ｈ．２６４／ＡＶＣを用いて評価した動きベクトル検出の速度と画質の一例を表２に示す。用いたテスト画像はRiverbed、Intersection、Whale Show、 Tractorの４種類、用いた動きベクトル検出アルゴリズムは全探索法および上述した最新の高速動きベクトル検出アルゴリズム（Stick-shaped Search Window (SSW)）である。Ｎｂは１探索点（つまり、１つの符号化対象マクロブロック）当たりの平均差分演算回数で、このＮｂをブロックマッチング処理速度の指標とすることができる。Ｒｓｎは再生画像の平均ピーク信号/雑音で、このＲｓｎを再生画像の画質の指標とすることができる。
ＳＳＷのＮｂは、Riverbedで４４，６６６回、Intersectionで１０，８５０回、Whale Showで２５，７９３回、Tractorで２０，１９０回、である。これらの値は全探索法のＮｂのそれぞれ０．０９６３％、０．０３６８％、０．０５９０％、０．０６６２％、である。探索点数の大幅な削減により、ＳＳＷのＮｂが全探索法のＮｂの１／１，０００以下に削減され、ブロックマッチング処理速度が１，０００倍以上に高速化されていることがわかる。一方、ＳＳＷのＲｓｎは、最も画質がよいとされる全探索法のＲｓｎとほぼ同一である。このことから、ＳＳＷは全探索法と遜色のない画質を補償していることを示している。
【００４６】
【表２】
2013026966.tif 000004
【実施例２】
【００４７】
以下、本発明のブロックマッチング処理回路に関する実施例を説明する。
ケース（１）
スーパーハイビジョン（ＳＨＶ）画像の動きベクトルをＨ．２６４／ＡＶＣと全探索法を用いて検出する。テスト画像としてWhale Showを用い、ブロックマッチング処理回路として図３に示した従来の処理回路を用いる。この場合、Ｖ＝１Ｖ、ｆ＝２ＧＨｚ動作の時、必要な従来の処理回路の数Ｎは１、４２４個となる。従って、総消費電力（ブロックマッチング処理回路Ｎ個の消費電力）ＰＴは９８１．６Ｗと極めて高くなる。それゆえ、図３に示した従来のブロックマッチング処理回路のＳＨＶ画像符号化装置への適用ならびにその実用化はほぼ不可能といえる。
ケース（２）
本発明のブロックマッチング処理回路を用いて、ケース（１）と同じ処理をする。処理回路の数Ｎは、この場合も、１、４２４個である。一方、Ｖ＝１Ｖ、ｆ＝２ＧＨｚ動作の時、本発明の処理回路１個あたりのＰは８０．３Ｗと少ないので、ＰＴは総消費電力１１４．４Ｗとなり、ケース（１）のＰＴの１／８.５８に低減できることが分かる。
ケース（３）
スーパーハイビジョン（ＳＨＶ）画像の動きベクトルをＨ．２６４／ＡＶＣ、ＳＳＷ、および図４に示した本発明の処理回路を用いて検出する。この場合、Ｖ＝１Ｖ、ｆ＝３２０ＭＨｚ動作の時、必要な本発明のブロックマッチング処理回路の数Ｎは６個ですむ。これは、前述したように、ＳＳＷのＮｂが全探索法のＮｂと比べ、大幅に削減されたため、クロック周波数が低い処理回路を用いることを可能とし、かつ、かつ処理回路の数を大幅に削減が可能となった。従って、本発明の処理回路１個あたりのＰが１０．３５ｍＷであるから、総消費電力ＰＴはわずか６２.１ｍＷとなる。これはケース（１）つまり、全探索法と従来のブロックマッチング処理回路を用いた場合のＰＴ（９８１．６Ｗ）の１／１５,８００以下、ケース（２）つまり、全探索法と本発明のブロックマッチング処理回路を用いた場合のＰＴ（１１４．４Ｗ）の１／１,８４０以下、に低減できることが分かる。また、ブロックマッチング処理回路のＮをケース（１）、ケース（２）の１／２３７に低減できることが分かる。さらに、本発明の処理回路は従来の回路規模の１／４０以下であるから、ケース（３）の総回路規模はケース（１）、ケース（２）の１／９,４８０以下に小型化できることが分かる。
従って、本発明のＳＳＷ、本発明のブロックマッチング処理回路のＳＨＶ画像符号化装置への適用ならびにその実用化が十分に可能な値である。Ｖを１Ｖに固定したときのケース（１）〜（３）のブロックマッチング処理回路数Ｎ、ブロックマッチング処理回路Ｎ個の総消費電力ＰＴを表３に示す。
【００４８】
【表３】
2013026966.tif 000005
【符号の説明】
【００４９】
１        演算器
２        加算器回路
２１      加算器
２２      加算器
２３      加算器
２４      加算器
３        累算器
３１      第１の累算器
３２      第２の累算器
３３      第２の累算器
４２      １対２分配器
４４      １対４分配器
５        レジスタ
５１      第１のレジスタ
５２      第１のレジスタ
５３      第３のレジスタ
５４      第３のレジスタ
５５      第３のレジスタ
５６      第３のレジスタ
６        加算器
７１      第２のレジスタ
７２      第４のレジスタ
７３      第４のレジスタ
８        加算器
９        第５のレジスタ
１０      回路
１００    ブロックマッチング処理回路
１０１    探索領域
１０２    中心探索点
１０３    帯状探索点領域
２００ａ  １６画素×１６画素信号処理回路
２００ｂ  １６画素×８画素信号処理回路
２００ｃ  ８画素×１６画素信号処理回路
２００ｄ  ８画素×８画素信号処理回路
２００ｅ  ８画素×４画素信号処理回路
２００ｆ  ４画素×８画素信号処理回路
２００ｇ  ４画素×４画素信号処理回路
【図１ａ】
2013026966.tif 000006
【図１ｂ】
2013026966.tif 000007
【図２】
2013026966.tif 000008
【図３ａ】
2013026966.tif 000009
【図３ｂ】
2013026966.tif 000010
【図３ｃ】
2013026966.tif 000011
【図３ｄ】
2013026966.tif 000012
【図３ｅ】
2013026966.tif 000013
【図３ｆ】
2013026966.tif 000014
【図３ｇ】
2013026966.tif 000015
【図４】
2013026966.tif 000016
【図５】
2013026966.tif 000017
【図６】
2013026966.tif 000018
【図７】
2013026966.tif 000019