(57)【要約】【課題】ハードウェア化を容易に実現可能な動き探索方法を得る。【解決手段】動き探索方法は、画像内の任意の箇所に探索開始点を設定するステップ（Ａ）と、前のステップで設定された探索開始点が属する行と同一の行に属する複数の点に関して探索を行うことにより、当該複数の点のうち、動き探索の対象であるブロックとの類似度が最も高い点を、次の探索開始点として設定するステップ（Ｂ）と、前のステップで設定された探索開始点が属する列と同一の列に属する複数の点に関して探索を行うことにより、当該複数の点のうち類似度が最も高い点を、次の探索開始点として設定するステップ（Ｃ）と、ステップ（Ｂ）及び（Ｃ）を、所定回数だけ繰り返し実行するステップ（Ｄ）と、ステップ（Ａ）乃至（Ｄ）によって設定された複数の探索開始点のうち、ブロックとの類似度が最も高い点を求めるステップ（Ｅ）とを備える。【選択図】図１
2008242698.tif 000002
【特許請求の範囲】
【請求項１】
（Ａ）画像内の任意の箇所に探索開始点を設定するステップと、
（Ｂ）前記ステップ（Ａ）又は後記ステップ（Ｃ）の後に実行され、前のステップで設定された探索開始点が属する行と同一の行に属し、かつ当該探索開始点を除く複数の点に関して探索を行うことにより、当該複数の点のうち、動き探索の対象であるブロックとの類似度が最も高い点を、次の探索開始点として設定するステップと、
（Ｃ）前記ステップ（Ｂ）の後に実行され、前のステップで設定された探索開始点が属する列と同一の列に属し、かつ当該探索開始点を除く複数の点に関して探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い点を、次の探索開始点として設定するステップと、
（Ｄ）前記ステップ（Ｂ）及び前記ステップ（Ｃ）を、所定回数だけ繰り返し実行するステップと、
（Ｅ）前記ステップ（Ａ）乃至前記ステップ（Ｄ）によって設定された複数の探索開始点のうち、前記ブロックとの類似度が最も高い点を求めるステップと
を備える、動き探索方法。
【請求項２】
（Ａ）画像内の任意の箇所に探索開始点を設定するステップと、
（Ｂ）前記ステップ（Ａ）又は後記ステップ（Ｃ）の後に実行され、前のステップで設定された探索開始点が属する列と同一の列に属し、かつ当該探索開始点を除く複数の点に関して探索を行うことにより、当該複数の点のうち、動き探索の対象であるブロックとの類似度が最も高い点を、次の探索開始点として設定するステップと、
（Ｃ）前記ステップ（Ｂ）の後に実行され、前のステップで設定された探索開始点が属する行と同一の行に属し、かつ当該探索開始点を除く複数の点に関して探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い点を、次の探索開始点として設定するステップと、
（Ｄ）前記ステップ（Ｂ）及び前記ステップ（Ｃ）を、所定回数だけ繰り返し実行するステップと、
（Ｅ）前記ステップ（Ａ）乃至前記ステップ（Ｄ）によって設定された複数の探索開始点のうち、前記ブロックとの類似度が最も高い点を求めるステップと
を備える、動き探索方法。
【請求項３】
請求項１に記載の動き探索方法を実行するステップと、
請求項２に記載の動き探索方法を実行するステップと、
（Ｆ）請求項１に記載の動き探索方法における前記ステップ（Ｅ）によって求められた点と、請求項２に記載の動き探索方法における前記ステップ（Ｅ）によって求められた点とのうち、前記ブロックとの類似度が高い点を求めるステップと
を備える、動き探索方法。
【請求項４】
（Ａ）画像内の任意の箇所に探索開始点を設定するステップと、
（Ｂ）前記ステップ（Ａ）で設定された探索開始点が属する行と同一の行に属し、かつ当該探索開始点を除く複数の点に関して行方向の探索を行うことにより、当該複数の点のうち、動き探索の対象であるブロックとの類似度が最も高い点を、次の探索開始点として設定するとともに、前記ステップ（Ａ）で設定された探索開始点が属する列と同一の列に属し、かつ当該探索開始点を除く複数の点に関して列方向の探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い点を、次の探索開始点として設定するステップと、
（Ｃ）前のステップにおける列方向の探索で設定された探索開始点が属する行と同一の行に属し、かつ当該探索開始点を除く複数の点に関して行方向の探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い点を、次の探索開始点として設定するとともに、前のステップにおける行方向の探索で設定された探索開始点が属する列と同一の列に属し、かつ当該探索開始点を除く複数の点に関して列方向の探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い点を、次の探索開始点として設定するステップと、
（Ｄ）前記ステップ（Ｃ）を所定回数だけ繰り返し実行するステップと、
（Ｅ）前記ステップ（Ａ）乃至前記ステップ（Ｄ）によって設定された複数の探索開始点のうち、前記ブロックとの類似度が最も高い点を求めるステップと
を備える、動き探索方法。
【請求項５】
（Ｆ）前記ステップ（Ｅ）によって求められた点の周辺の複数の点に関して探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い点を求めるステップ
をさらに備える、請求項１，２，４のいずれか一つに記載の動き探索方法。
【請求項６】
（Ｇ）前記ステップ（Ｆ）によって求められた点の周辺の複数の点に関して探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い点を求めるステップ
をさらに備える、請求項３に記載の動き探索方法。
【請求項７】
請求項１に記載の動き探索方法を実行するステップと、
請求項２に記載の動き探索方法を実行するステップと、
請求項１に記載の動き探索方法における前記ステップ（Ｅ）によって求められた点の周辺の複数の点に関して探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い第１の点を求めるステップと、
請求項２に記載の動き探索方法における前記ステップ（Ｅ）によって求められた点の周辺の複数の点に関して探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い第２の点を求めるステップと、
前記第１及び第２の点のうち、前記ブロックとの類似度が高い点を求めるステップと
を備える、動き探索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理によって動き補償を行うための動き探索方法に関する。
【背景技術】
【０００２】
動き探索アルゴリズムとして、Diamond探索やHexagon探索等の逐次的探索法が知られている。逐次的探索法を用いた動き探索方法では、探索開始点及びその周囲の複数の点（Diamond探索では４点。Hexagon探索では６点）について、動き探索の対象であるマクロブロックとの類似度がそれぞれ求められ、当該複数の点のうち類似度が最も高い点が、新たな探索開始点として設定される。次に、その新たな探索開始点及びその周囲の複数の点について、上記マクロブロックとの類似度がそれぞれ求められ、当該複数の点のうち類似度が最も高い点が、次の探索開始点として設定される。そして、探索が収束するまで（即ち、周囲のいずれの点よりも中心の探索開始点の類似度のほうが高くなるまで）、同様の探索が繰り返し実行され、最終的に求められた探索開始点に基づいて、上記マクロブロックの動きベクトルが求められる。
【０００３】
なお、画像処理による動き探索に関連する技術は、例えば下記特許文献１〜６に開示されている。
【０００４】
【特許文献１】特開２００６−３１５９７号公報
【特許文献２】特開２００６−１４１３２号公報
【特許文献３】米国特許出願公開第２００６／１２６７３９号明細書
【特許文献４】米国特許出願公開第２００６／１０４３５９号明細書
【特許文献５】米国特許出願公開第２００４／１０５４９５号明細書
【特許文献６】米国特許出願公開第２００５／２６５４５４号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら逐次的探索法に基づく動き探索方法は、探索性能は優れているが、探索が収束するまで同様の探索が繰り返し実行され、画像の内容や最初の探索開始点の設定等によって探索の繰り返し回数が異なるため、ハードウェア化には不向きである。
【０００６】
本発明はかかる事情に鑑みて成されたものであり、探索性能を低下させることなく、ハードウェア化を容易に実現可能な動き探索方法を得ることを目的とする。
【課題を解決するための手段】
【０００７】
第１の発明に係る動き探索方法は、（Ａ）画像内の任意の箇所に探索開始点を設定するステップと、（Ｂ）前記ステップ（Ａ）又は後記ステップ（Ｃ）の後に実行され、前のステップで設定された探索開始点が属する行と同一の行に属し、かつ当該探索開始点を除く複数の点に関して探索を行うことにより、当該複数の点のうち、動き探索の対象であるブロックとの類似度が最も高い点を、次の探索開始点として設定するステップと、（Ｃ）前記ステップ（Ｂ）の後に実行され、前のステップで設定された探索開始点が属する列と同一の列に属し、かつ当該探索開始点を除く複数の点に関して探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い点を、次の探索開始点として設定するステップと、（Ｄ）前記ステップ（Ｂ）及び前記ステップ（Ｃ）を、所定回数だけ繰り返し実行するステップと、（Ｅ）前記ステップ（Ａ）乃至前記ステップ（Ｄ）によって設定された複数の探索開始点のうち、前記ブロックとの類似度が最も高い点を求めるステップとを備えるものである。
【０００８】
第２の発明に係る動き探索方法は、（Ａ）画像内の任意の箇所に探索開始点を設定するステップと、（Ｂ）前記ステップ（Ａ）又は後記ステップ（Ｃ）の後に実行され、前のステップで設定された探索開始点が属する列と同一の列に属し、かつ当該探索開始点を除く複数の点に関して探索を行うことにより、当該複数の点のうち、動き探索の対象であるブロックとの類似度が最も高い点を、次の探索開始点として設定するステップと、（Ｃ）前記ステップ（Ｂ）の後に実行され、前のステップで設定された探索開始点が属する行と同一の行に属し、かつ当該探索開始点を除く複数の点に関して探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い点を、次の探索開始点として設定するステップと、（Ｄ）前記ステップ（Ｂ）及び前記ステップ（Ｃ）を、所定回数だけ繰り返し実行するステップと、（Ｅ）前記ステップ（Ａ）乃至前記ステップ（Ｄ）によって設定された複数の探索開始点のうち、前記ブロックとの類似度が最も高い点を求めるステップとを備えるものである。
【０００９】
第３の発明に係る動き探索方法は、第1の発明に係る動き探索方法を実行するステップと、第２の発明に係る動き探索方法を実行するステップと、（Ｆ）第１の発明に係る動き探索方法における前記ステップ（Ｅ）によって求められた点と、第２の発明に係る動き探索方法における前記ステップ（Ｅ）によって求められた点とのうち、前記ブロックとの類似度が高い点を求めるステップとを備えるものである。
【００１０】
第４の発明に係る動き探索方法は、（Ａ）画像内の任意の箇所に探索開始点を設定するステップと、（Ｂ）前記ステップ（Ａ）で設定された探索開始点が属する行と同一の行に属し、かつ当該探索開始点を除く複数の点に関して行方向の探索を行うことにより、当該複数の点のうち、動き探索の対象であるブロックとの類似度が最も高い点を、次の探索開始点として設定するとともに、前記ステップ（Ａ）で設定された探索開始点が属する列と同一の列に属し、かつ当該探索開始点を除く複数の点に関して列方向の探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い点を、次の探索開始点として設定するステップと、（Ｃ）前のステップにおける列方向の探索で設定された探索開始点が属する行と同一の行に属し、かつ当該探索開始点を除く複数の点に関して行方向の探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い点を、次の探索開始点として設定するとともに、前のステップにおける行方向の探索で設定された探索開始点が属する列と同一の列に属し、かつ当該探索開始点を除く複数の点に関して列方向の探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い点を、次の探索開始点として設定するステップと、（Ｄ）前記ステップ（Ｃ）を所定回数だけ繰り返し実行するステップと、（Ｅ）前記ステップ（Ａ）乃至前記ステップ（Ｄ）によって設定された複数の探索開始点のうち、前記ブロックとの類似度が最も高い点を求めるステップとを備えるものである。
【００１１】
第５の発明に係る動き探索方法は、第１，第２，第４のいずれか一つの発明に係る動き探索方法において特に、（Ｆ）前記ステップ（Ｅ）によって求められた点の周辺の複数の点に関して探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い点を求めるステップをさらに備えることを特徴とするものである。
【００１２】
第６の発明に係る動き探索方法は、第３の発明に係る動き探索方法において特に、（Ｇ）前記ステップ（Ｆ）によって求められた点の周辺の複数の点に関して探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い点を求めるステップをさらに備えることを特徴とするものである。
【００１３】
第７の発明に係る動き探索方法は、第１の発明に係る動き探索方法を実行するステップと、第２の発明に係る動き探索方法を実行するステップと、第１の発明に係る動き探索方法における前記ステップ（Ｅ）によって求められた点の周辺の複数の点に関して探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い第１の点を求めるステップと、第２の発明に係る動き探索方法における前記ステップ（Ｅ）によって求められた点の周辺の複数の点に関して探索を行うことにより、当該複数の点のうち、前記ブロックとの類似度が最も高い第２の点を求めるステップと、前記第１及び第２の点のうち、前記ブロックとの類似度が高い点を求めるステップとを備えるものである。
【発明の効果】
【００１４】
第１の発明に係る動き探索方法によれば、ステップ（Ｄ）における「所定回数」によって、探索の繰り返し回数を設定できる。つまり、「所定回数」を予め任意に設定することによって、探索が繰り返される回数を任意の回数に固定することができる。そして、探索の繰り返し回数が固定されることにより、ハードウェア化を容易に実現することが可能となる。また、ステップ（Ｂ）において行方向の探索が行われる「複数の点」、及びステップ（Ｃ）において列方向の探索が行われる「複数の点」の各個数を増やすことにより、探索性能が低下することを回避できる。しかも、「複数の点」に関する同時探索は、演算回路の高並列化によって容易に実現できるため、ハードウェア化による利点を最大限に活用することができる。
【００１５】
第２の発明に係る動き探索方法によれば、ステップ（Ｄ）における「所定回数」によって、探索の繰り返し回数を設定できる。つまり、「所定回数」を予め任意に設定することによって、探索が繰り返される回数を任意の回数に固定することができる。そして、探索の繰り返し回数が固定されることにより、ハードウェア化を容易に実現することが可能となる。また、ステップ（Ｂ）において列方向の探索が行われる「複数の点」、及びステップ（Ｃ）において行方向の探索が行われる「複数の点」の各個数を増やすことにより、探索性能が低下することを回避できる。しかも、「複数の点」に関する同時探索は、演算回路の高並列化によって容易に実現できるため、ハードウェア化による利点を最大限に活用することができる。
【００１６】
第３の発明に係る動き探索方法によれば、第１の発明に係る行優先探索によって求めた、類似度が最も高い点と、第２の発明に係る列優先探索によって求めた、類似度が最も高い点とを比較し、両者のうち類似度がより高い点を求める。従って、行優先探索及び列優先探索のいずれか一方のみを実行する場合と比較すると、探索性能をより向上することが可能となる。
【００１７】
第４の発明に係る動き探索方法によれば、ステップ（Ｄ）における「所定回数」によって、探索の繰り返し回数を設定できる。つまり、「所定回数」を予め任意に設定することによって、探索が繰り返される回数を任意の回数に固定することができる。そして、探索の繰り返し回数が固定されることにより、ハードウェア化を容易に実現することが可能となる。また、ステップ（Ｂ）及び（Ｃ）において行方向及び列方向の探索が行われる「複数の点」の各個数を増やすことにより、探索性能が低下することを回避できる。しかも、「複数の点」に関する同時探索は、演算回路の高並列化によって容易に実現できるため、ハードウェア化による利点を最大限に活用することができる。また、行優先探索及び列優先探索のいずれか一方のみを実行する場合と比較すると、探索性能をより向上することが可能となる。
【００１８】
第５の発明に係る動き探索方法によれば、第１，第２，第４のいずれか一つの発明に係る動き探索方法によって類似度の最も高い点を求めた後、その点の周辺の複数の点に関して、追加探索を実行する。従って、第１，第２，第４のいずれか一つの発明に係る動き探索方法によって発見された点以上に類似度が高い点を、追加探索によって発見できる場合もあるため、探索性能をより向上することが可能となる。
【００１９】
第６の発明に係る動き探索方法によれば、第３の発明に係る動き探索方法によって類似度の最も高い点を求めた後、その点の周辺の複数の点に関して、追加探索を実行する。従って、第３の発明に係る動き探索方法によって発見された点以上に類似度が高い点を、追加探索によって発見できる場合もあるため、探索性能をより向上することが可能となる。
【００２０】
第７の発明に係る動き探索方法によれば、第１の発明に係る動き探索方法によって類似度の最も高い点を求めた後、その点の周辺の複数の点に関して、追加探索を実行する。また、第２の発明に係る動き探索方法によって類似度の最も高い点を求めた後、その点の周辺の複数の点に関して、追加探索を実行する。従って、第１及び第２の発明に係る動き探索方法によって発見された点以上に類似度が高い点を、追加探索によって発見できる場合もあるため、探索性能をより向上することが可能となる。しかも、第１の発明に関して求めた第１の点と、第２の発明に関して求めた第２の点とを比較し、両者のうち類似度がより高い点を求める。従って、第１及び第２の発明のいずれか一方のみを実行する場合と比較すると、探索性能をより向上することが可能となる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００２２】
実施の形態１．
図１は、本発明の実施の形態１に係る動き探索方法の処理の流れを示すフローチャートである。また、図２は、本実施の形態１に係る動き探索方法を説明するために、簡易的な画像１０を示す図である。図２においては、縦横の破線で区切られる各マス目が、画像１０の各画素に相当する（以下同様）。以下、図１，２を参照して、本実施の形態１に係る動き探索方法について説明する。
【００２３】
まず、ステップＳ１０１において、画像１０内に探索開始点Ａ０を設定する。探索開始点Ａ０の設定方法及び設定箇所は任意である。そして、探索開始点Ａ０に関して探索を行う。つまり、動き探索の対象が例えば縦１６画素×横１６画素のマクロブロックであった場合、探索開始点Ａ０を左上角とする縦１６画素×横１６画素のブロックを規定し、そのブロックと上記マクロブロックとの類似度（例えばＳＡＤ（差分絶対値和）。但し、ＳＡＤ以外の指標を用いたり、さらに付加項を加えて類似度を求めることも可能。以下同様。）を、演算によって求める。
【００２４】
次に、ステップＳ１０２において、探索開始点Ａ０を起点として、行方向の探索を行う。つまり、探索開始点Ａ０が属する行と同一の行に属する複数の探索点に関して、上記と同様の探索を行う。このように本実施の形態１に係る動き探索方法では、列方向の探索（後述）よりも前に行方向の探索が行われており、本明細書においてはこのような態様の探索を「行優先探索」と称する。図２に示した例では、合計１２個の探索点、具体的には、探索開始点Ａ０よりも左側に２画素毎に設定された３個の探索点、及び、探索開始点Ａ０よりも右側に２画素毎に設定された９個の探索点に関して、それぞれ探索が行われる。なお、探索点の個数や探索点同士の間隔は、上記の例に限らず任意である（以下同様）。また、これら複数の探索点に関する探索は、類似度を求めるための演算回路を複数個並列に配置することによって、同時に一括して実行可能である（以下同様）。
【００２５】
次に、ステップＳ１０３において、次の探索開始点を設定する。具体的には、ステップＳ１０２で設定された合計１２個の探索点のうち、上記マクロブロックとの類似度が最も高い探索点を、次の探索開始点Ｈ１ｈとして設定する。ここで、仮に探索開始点Ｈ１ｈの類似度よりも探索開始点Ａ０の類似度の方が高かった場合であっても、探索開始点Ａ０は次の探索開始点としては設定されない。つまり、前のステップで設定された探索開始点を除く複数の探索点のうちで類似度が最も高い探索点が、次の探索開始点として設定される（以下同様）。
【００２６】
次に、ステップＳ１０４において、予め定められた所定回数の探索が行われたか否かが判定される。この例では、上記「所定回数」として「６回」という回数が設定されているものとする。すると、この時点では、探索開始点Ａ０を起点とした複数の探索点に関する探索（ステップＳ１０２）、つまり１回の探索しか行われていないため、ステップＳ１０４における判定の結果は「ＮＯ」となる。
【００２７】
この場合、次に、ステップＳ１０５において、探索開始点Ｈ１ｈを起点として、列方向の探索を行う。つまり、探索開始点Ｈ１ｈが属する列と同一の列に属する複数の探索点に関して、上記と同様の探索を行う。図２に示した例では、合計１２個の探索点、具体的には、探索開始点Ｈ１ｈよりも上側に２画素毎に設定された２個の探索点、及び、探索開始点Ｈ１ｈよりも下側に２画素毎に設定された１０個の探索点に関して、それぞれ探索が行われる。
【００２８】
次に、ステップＳ１０６において、次の探索開始点を設定する。具体的には、ステップＳ１０５で設定された合計１２個の探索点のうち、上記マクロブロックとの類似度が最も高い探索点を、次の探索開始点Ｖ１ｈとして設定する。
【００２９】
次に、ステップＳ１０７において、上記所定回数の探索が行われたか否かが判定される。この時点では、探索開始点Ａ０を起点とした複数の探索点に関する探索（ステップＳ１０２）、及び探索開始点Ｈ１ｈを起点とした複数の探索点に関する探索（ステップＳ１０５）の、合計２回の探索しか行われていないため、ステップＳ１０７における判定の結果は「ＮＯ」となる。
【００３０】
この場合、ステップＳ１０２に戻り、上記と同様の処理が繰り返される。つまり、ステップＳ１０２において探索開始点Ｖ１ｈを起点として行方向の探索が行われ、続くステップＳ１０３において次の探索開始点Ｈ２ｈが設定され、続くステップＳ１０４において所定回数の探索が行われた否かが判定される。この時点でも合計３回の探索しか行われていないため、ステップＳ１０４における判定の結果は「ＮＯ」となる。従って、続くステップＳ１０５において探索開始点Ｈ２ｈを起点として列方向の探索が行われ、続くステップＳ１０６において次の探索開始点Ｖ２ｈが設定され、続くステップＳ１０７において所定回数の探索が行われた否かが判定される。この時点でも合計４回の探索しか行われていないため、ステップＳ１０７における判定の結果は「ＮＯ」となる。
【００３１】
従って、再びステップＳ１０２に戻り、上記と同様の処理が再度繰り返される。つまり、ステップＳ１０２において探索開始点Ｖ２ｈを起点として行方向の探索が行われ、続くステップＳ１０３において次の探索開始点Ｈ３ｈが設定され、続くステップＳ１０４において所定回数の探索が行われた否かが判定される。この時点でも合計５回の探索しか行われていないため、ステップＳ１０４における判定の結果は「ＮＯ」となる。従って、続くステップＳ１０５において探索開始点Ｈ３ｈを起点として列方向の探索が行われ、続くステップＳ１０６において次の探索開始点Ｖ３ｈが設定され、続くステップＳ１０７において所定回数の探索が行われた否かが判定される。この時点では合計６回の探索が完了しているため、ステップＳ１０７における判定の結果は「ＹＥＳ」となる。
【００３２】
次に、ステップＳ１０８において、これまでの処理で設定された合計７個の探索開始点Ａ０，Ｈ１ｈ，Ｖ１ｈ，Ｈ２ｈ，Ｖ２ｈ，Ｈ３ｈ，Ｖ３ｈの各類似度を比較し、最も類似度の高い探索開始点を求める。この例では、探索開始点Ｖ３ｈの類似度が最も高かったものとする。この場合、上記マクロブロックの左上角点の位置座標と、探索開始点Ｖ３ｈの位置座標とに基づいて、上記マクロブロックの動きベクトルが求められる。
【００３３】
このように本実施の形態１に係る動き探索方法によれば、ステップＳ１０４，Ｓ１０７の「所定回数」によって、探索の繰り返し回数を設定できる。つまり、ステップＳ１０４，Ｓ１０７の「所定回数」を予め任意に設定することによって、探索が繰り返される回数を任意の回数（上記の例では６回）に固定することができる。そして、探索の繰り返し回数が固定されることにより、ハードウェア化を容易に実現することが可能となる。
【００３４】
また、ステップＳ１０２において行方向の探索を行う際の探索点の個数や、ステップＳ１０５において列方向の探索を行う際の探索点の個数を増やすことにより、逐次的探索法等と比較して探索性能が低下することを回避できる。しかも、複数の探索点に関する同時探索は、類似度を求めるための演算回路を高並列化することによって容易に実現できるため、ハードウェア化による利点を最大限に活用することができる。
【００３５】
なお、図２に示した例では、ステップＳ１０２において行方向の探索を行う際の探索点の個数、及びステップＳ１０５において列方向の探索を行う際の探索点の個数を、いずれも固定値（１２個）としたが、設定する探索点の個数は固定でなくても良い。例えば、図３に示すように、探索が進行するほど、設定する探索点の個数を減少させても良い。図３に示した例では、１回目の探索では１４個、２回目の探索では１２個、３回目の探索では１０個、４回目の探索では８個、５回目の探索では６個、６回目の探索では４個の探索点が、それぞれ設定されている。後述の他の実施の形態２〜５についても同様である。
【００３６】
実施の形態２．
図４は、本発明の実施の形態２に係る動き探索方法の処理の流れを示すフローチャートである。また、図５は、本実施の形態２に係る動き探索方法を説明するために、簡易的な画像１０を示す図である。以下、図４，５を参照して、本実施の形態２に係る動き探索方法について説明する。
【００３７】
まず、ステップＳ２０１において、上記実施の形態１のステップＳ１０１と同様に、画像１０内に探索開始点Ａ０を任意に設定し、探索開始点Ａ０に関して探索を行う。
【００３８】
次に、ステップＳ２０２において、探索開始点Ａ０を起点として、列方向の探索を行う。つまり、探索開始点Ａ０が属する列と同一の列に属する複数の探索点に関して、上記と同様の探索を行う。このように本実施の形態２に係る動き探索方法では、行方向の探索よりも前に列方向の探索が行われており、本明細書においてはこのような態様の探索を「列優先探索」と称する。図５に示した例では、合計１２個の探索点、具体的には、探索開始点Ａ０よりも上側に２画素毎に設定された４個の探索点、及び、探索開始点Ａ０よりも下側に２画素毎に設定された８個の探索点に関して、それぞれ探索が行われる。
【００３９】
次に、ステップＳ２０３において、次の探索開始点を設定する。具体的には、ステップＳ２０２で設定された合計１２個の探索点のうち、上記マクロブロックとの類似度が最も高い探索点を、次の探索開始点Ｖ１ｖとして設定する。
【００４０】
次に、ステップＳ２０４において、予め定められた所定回数の探索が行われたか否かが判定される。この例では、上記「所定回数」として「６回」という回数が設定されているものとする。すると、この時点では、探索開始点Ａ０を起点とした複数の探索点に関する探索（ステップＳ２０２）、つまり１回の探索しか行われていないため、ステップＳ２０４における判定の結果は「ＮＯ」となる。
【００４１】
この場合、次に、ステップＳ２０５において、探索開始点Ｖ１ｖを起点として、行方向の探索を行う。つまり、探索開始点Ｖ１ｖが属する行と同一の行に属する複数の探索点に関して、上記と同様の探索を行う。図５に示した例では、合計１２個の探索点、具体的には、探索開始点Ｖ１ｖよりも左側に２画素毎に設定された５個の探索点、及び、探索開始点Ｖ１ｖよりも右側に２画素毎に設定された７個の探索点に関して、それぞれ探索が行われる。
【００４２】
次に、ステップＳ２０６において、次の探索開始点を設定する。具体的には、ステップＳ２０５で設定された合計１２個の探索点のうち、上記マクロブロックとの類似度が最も高い探索点を、次の探索開始点Ｈ１ｖとして設定する。
【００４３】
次に、ステップＳ２０７において、上記所定回数の探索が行われたか否かが判定される。この時点では、探索開始点Ａ０を起点とした複数の探索点に関する探索（ステップＳ２０２）、及び探索開始点Ｖ１ｖを起点とした複数の探索点に関する探索（ステップＳ２０５）の、合計２回の探索しか行われていないため、ステップＳ２０７における判定の結果は「ＮＯ」となる。
【００４４】
この場合、ステップＳ２０２に戻り、上記と同様の処理が繰り返される。つまり、ステップＳ２０２において探索開始点Ｈ１ｖを起点として列方向の探索が行われ、続くステップＳ２０３において次の探索開始点Ｖ２ｖが設定され、続くステップＳ２０４において所定回数の探索が行われた否かが判定される。この時点でも合計３回の探索しか行われていないため、ステップＳ２０４における判定の結果は「ＮＯ」となる。従って、続くステップＳ２０５において探索開始点Ｖ２ｖを起点として行方向の探索が行われ、続くステップＳ２０６において次の探索開始点Ｈ２ｖが設定され、続くステップＳ２０７において所定回数の探索が行われた否かが判定される。この時点でも合計４回の探索しか行われていないため、ステップＳ２０７における判定の結果は「ＮＯ」となる。
【００４５】
従って、再びステップＳ２０２に戻り、上記と同様の処理が再度繰り返される。つまり、ステップＳ２０２において探索開始点Ｈ２ｖを起点として列方向の探索が行われ、続くステップＳ２０３において次の探索開始点Ｖ３ｖが設定され、続くステップＳ２０４において所定回数の探索が行われた否かが判定される。この時点でも合計５回の探索しか行われていないため、ステップＳ２０４における判定の結果は「ＮＯ」となる。従って、続くステップＳ２０５において探索開始点Ｖ３ｖを起点として行方向の探索が行われ、続くステップＳ２０６において次の探索開始点Ｈ３ｖが設定され、続くステップＳ２０７において所定回数の探索が行われた否かが判定される。この時点では合計６回の探索が完了しているため、ステップＳ２０７における判定の結果は「ＹＥＳ」となる。
【００４６】
次に、ステップＳ２０８において、これまでの処理で設定された合計７個の探索開始点Ａ０，Ｖ１ｖ，Ｈ１ｖ，Ｖ２ｖ，Ｈ２ｖ，Ｖ３ｖ，Ｈ３ｖの各類似度を比較し、最も類似度の高い探索開始点を求める。この例では、探索開始点Ｖ３ｖの類似度が最も高かったものとする。この場合、上記マクロブロックの左上角点の位置座標と、探索開始点Ｖ３ｖの位置座標とに基づいて、上記マクロブロックの動きベクトルが求められる。
【００４７】
このように本実施の形態２に係る動き探索方法によれば、ステップＳ２０４，Ｓ２０７の「所定回数」によって、探索の繰り返し回数を設定できる。つまり、ステップＳ２０４，Ｓ２０７の「所定回数」を予め任意に設定することによって、探索が繰り返される回数を任意の回数（上記の例では６回）に固定することができる。そして、探索の繰り返し回数が固定されることにより、ハードウェア化を容易に実現することが可能となる。
【００４８】
また、ステップＳ２０２において列方向の探索を行う際の探索点の個数や、ステップＳ２０５において行方向の探索を行う際の探索点の個数を増やすことにより、逐次的探索法等と比較して探索性能が低下することを回避できる。しかも、複数の探索点に関する同時探索は、類似度を求めるための演算回路を高並列化することによって容易に実現できるため、ハードウェア化による利点を最大限に活用することができる。
【００４９】
実施の形態３．
図６は、本発明の実施の形態３に係る動き探索方法の処理の流れを示すフローチャートである。以下、図２，５，６を参照して、本実施の形態３に係る動き探索方法について説明する。
【００５０】
まず、ステップＳ３０１において、上記実施の形態１のステップＳ１０１と同様に、画像１０内に探索開始点Ａ０を任意に設定し、探索開始点Ａ０に関して探索を行う。
【００５１】
次に、ステップＳ３０２において、ステップＳ３０１で設定された探索開始点Ａ０を起点として、上記実施の形態１に係る行優先探索を行う。そして、ステップＳ３０３において、図２のように設定された合計７個の探索開始点Ａ０，Ｈ１ｈ，Ｖ１ｈ，Ｈ２ｈ，Ｖ２ｈ，Ｈ３ｈ，Ｖ３ｈの各類似度を比較し、最も類似度の高い探索開始点（この例では探索開始点Ｖ３ｈ）を求める。
【００５２】
次に、ステップＳ３０４において、ステップＳ３０１で設定された探索開始点Ａ０を起点として、上記実施の形態２に係る列優先探索を行う。そして、ステップＳ３０５において、図５のように設定された合計７個の探索開始点Ａ０，Ｖ１ｖ，Ｈ１ｖ，Ｖ２ｖ，Ｈ２ｖ，Ｖ３ｖ，Ｈ３ｖの各類似度を比較し、最も類似度の高い探索開始点（この例では探索開始点Ｖ３ｖ）を求める。
【００５３】
次に、ステップＳ３０６において、行優先探索の結果として最も類似度の高い探索開始点Ｖ３ｈと、列優先探索の結果として最も類似度の高い探索開始点Ｖ３ｖとを比較し、両者のうちより類似度の高い探索開始点を求める。この例では、探索開始点Ｖ３ｈの類似度のほうが高かったものとする。この場合、上記マクロブロックの左上角点の位置座標と、探索開始点Ｖ３ｈの位置座標とに基づいて、上記マクロブロックの動きベクトルが求められる。
【００５４】
なお、以上の説明では行優先探索の後に列優先探索を実行したが、実行の順序はこの例とは逆でも良い。
【００５５】
このように本実施の形態３に係る動き探索方法によれば、上記実施の形態１に係る行優先探索によって求めた、類似度が最も高い探索開始点Ｖ３ｈと、上記実施の形態２に係る列優先探索によって求めた、類似度が最も高い探索開始点Ｖ３ｖとを比較し、両者のうち類似度がより高い探索開始点（この例では探索開始点Ｖ３ｈ）を求める。従って、行優先探索及び列優先探索のいずれか一方のみを実行する場合と比較すると、探索性能をより向上することが可能となる。
【００５６】
実施の形態４．
図７は、本発明の実施の形態４に係る動き探索方法の処理の流れを示すフローチャートである。また、図８は、本実施の形態４に係る動き探索方法を説明するために、簡易的な画像１０を示す図である。以下、図７，８を参照して、本実施の形態４に係る動き探索方法について説明する。
【００５７】
まず、ステップＳ４０１において、上記実施の形態１のステップＳ１０１と同様に、画像１０内に探索開始点Ａ０を任意に設定し、探索開始点Ａ０に関して探索を行う。
【００５８】
次に、ステップＳ４０２において、探索開始点Ａ０を起点として、行方向及び列方向の各探索を併せて行う。つまり、上記実施の形態１におけるステップＳ１０２と、上記実施の形態２におけるステップＳ２０２とを同時に実行する。
【００５９】
次に、ステップＳ４０３において、次の探索開始点をそれぞれ設定する。具体的には、ステップＳ４０２における行方向の探索の結果として次の探索開始点Ｈ１ｈを設定し、ステップＳ４０２における列方向の探索の結果として次の探索開始点Ｖ１ｖを設定する。つまり、上記実施の形態１におけるステップＳ１０３と、上記実施の形態２におけるステップＳ２０３とを同時に実行する。
【００６０】
次に、ステップＳ４０４において、予め定められた所定回数の探索が行われたか否かが判定される。この例では、上記「所定回数」として「６回」という回数が設定されているものとする。ここで、本実施の形態４では行方向の探索と列方向の探索とが同時に実行されるが、同時に実行される探索は１回として数えるものとする。すると、この時点では、探索開始点Ａ０を起点とした複数の探索点に関する探索（ステップＳ４０２）、つまり１回の探索しか行われていないため、ステップＳ４０４における判定の結果は「ＮＯ」となる。
【００６１】
この場合、次に、ステップＳ４０５において、探索開始点Ｈ１ｈを起点として列方向の探索を行うとともに、探索開始点Ｖ１ｖを起点として行方向の探索を行う。つまり、上記実施の形態１におけるステップＳ１０５と、上記実施の形態２におけるステップＳ２０５とを同時に実行する。
【００６２】
次に、ステップＳ４０６において、次の探索開始点をそれぞれ設定する。具体的には、ステップＳ４０５における列方向の探索の結果として次の探索開始点Ｖ１ｈを設定し、ステップＳ４０５における行方向の探索の結果として次の探索開始点Ｈ１ｖを設定する。つまり、上記実施の形態１におけるステップＳ１０６と、上記実施の形態２におけるステップＳ２０６とを同時に実行する。
【００６３】
次に、ステップＳ４０７において、上記所定回数の探索が行われたか否かが判定される。この時点では合計２回の探索しか行われていないため、ステップＳ４０７における判定の結果は「ＮＯ」となる。
【００６４】
上記実施の形態１，２と同様に、ステップＳ４０４又はステップＳ４０７における判定の結果が「ＹＥＳ」となるまで、上記と同様の処理が繰り返し実行される。
【００６５】
次に、ステップＳ４０８において、これまでの処理で設定された合計１３個の探索開始点Ａ０，Ｈ１ｈ，Ｖ１ｈ，Ｈ２ｈ，Ｖ２ｈ，Ｈ３ｈ，Ｖ３ｈ，Ｖ１ｖ，Ｈ１ｖ，Ｖ２ｖ，Ｈ２ｖ，Ｖ３ｖ，Ｈ３ｖの各類似度を比較し、最も類似度の高い探索開始点を求める。この例では、探索開始点Ｖ３ｖの類似度が最も高かったものとする。この場合、上記マクロブロックの中心点の位置座標と、探索開始点Ｖ３ｖの位置座標とに基づいて、上記マクロブロックの動きベクトルが求められる。
【００６６】
このように本実施の形態４に係る動き探索方法によれば、ステップＳ４０４，Ｓ４０７の「所定回数」によって、探索の繰り返し回数を設定できる。つまり、ステップＳ４０４，Ｓ４０７の「所定回数」を予め任意に設定することによって、探索が繰り返される回数を任意の回数（上記の例では６回）に固定することができる。そして、探索の繰り返し回数が固定されることにより、ハードウェア化を容易に実現することが可能となる。
【００６７】
また、ステップＳ４０２，Ｓ４０５において行方向及び列方向の探索を行う際の探索点の個数を増やすことにより、逐次的探索法等と比較して探索性能が低下することを回避できる。しかも、複数の探索点に関する同時探索は、類似度を求めるための演算回路を高並列化することによって容易に実現できるため、ハードウェア化による利点を最大限に活用することができる。
【００６８】
さらに、上記実施の形態３と同様に、行優先探索及び列優先探索のいずれか一方のみを実行する場合と比較すると、探索性能をより向上することが可能となる。
【００６９】
実施の形態５．
本実施の形態５では、上記実施の形態１〜４に適用可能な変形例について述べる。以下では、上記実施の形態１に適用した例について説明する。
【００７０】
図９は、本発明の実施の形態５に係る動き探索方法の処理の流れを示すフローチャートである。また、図１０は、本実施の形態５に係る動き探索方法を説明するために、簡易的な画像１０を示す図である。以下、図９，１０を参照して、本実施の形態５に係る動き探索方法について説明する。
【００７１】
ステップＳ１０１〜Ｓ１０８までの処理内容は、上記実施の形態１と同様である。この例では、ステップＳ１０８において、探索開始点Ｖ３ｈの類似度が最も高かったものとする。
【００７２】
次に、ステップＳ１０９において、探索開始点Ｖ３ｈの周囲にある複数の探索点について、上記と同様の探索を行う。図１０に示した例では、探索開始点Ｖ３ｈに隣接する合計８個の探索点について探索が行われている。
【００７３】
次に、ステップＳ１１０において、探索開始点Ｖ３ｈ及びそれに隣接する合計８個の探索点の各類似度を比較し、最も類似度の高い点を求める。この例では、探索開始点Ｖ３ｈの左隣に位置する探索点Ｂ１の類似度が最も高かったものとする。この場合、上記マクロブロックの左上角点の位置座標と、探索点Ｂ１の位置座標とに基づいて、上記マクロブロックの動きベクトルが求められる。
【００７４】
なお、以上の説明では、ステップＳ１０９において、探索開始点Ｖ３ｈを中心とする合計８個の探索点（横３画素×縦３画素）を対象として追加の探索が行われたが、これよりも広い範囲を対象として追加の探索を行っても良い。例えば、探索開始点Ｖ３ｈを中心とする合計２４個の探索点（横５画素×縦５画素）又は合計４８個の探索点（横７画素×縦７画素）について追加の探索を行っても良い。あるいは、これに代えて、探索開始点Ｖ３ｈを起点としてDiamond探索やHexagon探索等の逐次的探索法に基づく探索を追加的に実行しても良い。
【００７５】
また、本実施の形態５に係る発明を上記実施の形態１に適用することにより、最も類似度の高い点（以下「第１の点」と称す）を求め、同様に、本実施の形態５に係る発明を上記実施の形態２に適用することにより、最も類似度の高い点（以下「第２の点」と称す）を求め、その後、第１の点及び第２の点を比較し、より類似度の高い点を求めて、その点に基づいて動きベクトルを求めても良い。
【００７６】
このように本実施の形態５に係る動き探索方法によれば、上記実施の形態１に係る動き探索方法によって類似度の最も高い探索開始点Ｖ３ｈを求めた後、その探索開始点Ｖ３ｈの周辺の複数の探索点に関して、追加探索を実行する。従って、上記実施の形態１に係る動き探索方法によって発見された探索開始点Ｖ３ｈ以上に類似度が高い探索点Ｂ１を、追加探索によって発見できる場合もあるため、探索性能をより向上することが可能となる。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施の形態１に係る動き探索方法の処理の流れを示すフローチャートである。
【図２】簡易的な画像を示す図である。
【図３】本発明に係る動き探索方法の変形例を示す図である。
【図４】本発明の実施の形態２に係る動き探索方法の処理の流れを示すフローチャートである。
【図５】簡易的な画像を示す図である。
【図６】本発明の実施の形態３に係る動き探索方法の処理の流れを示すフローチャートである。
【図７】本発明の実施の形態４に係る動き探索方法の処理の流れを示すフローチャートである。
【図８】簡易的な画像を示す図である。
【図９】本発明の実施の形態５に係る動き探索方法の処理の流れを示すフローチャートである。
【図１０】簡易的な画像を示す図である。
【符号の説明】
【００７８】
Ａ０，Ｈ１ｈ，Ｖ１ｈ，Ｈ２ｈ，Ｖ２ｈ，Ｈ３ｈ，Ｖ３ｈ，Ｖ１ｖ，Ｈ１ｖ，Ｖ２ｖ，Ｈ２ｖ，Ｖ３ｖ，Ｈ３ｖ  探索開始点
【図１】
2008242698.tif 000003
【図２】
2008242698.tif 000004
【図３】
2008242698.tif 000005
【図４】
2008242698.tif 000006
【図５】
2008242698.tif 000007
【図６】
2008242698.tif 000008
【図７】
2008242698.tif 000009
【図８】
2008242698.tif 000010
【図９】
2008242698.tif 000011
【図１０】
2008242698.tif 000012