(57)【要約】【課題】探索精度の低下を最小限に抑えて高速に動きベクトルを探索できる探索方法及び装置を提供する。【解決手段】画像の縦方向及び横方向を異なる縮小率で縮小し、縮小画像に基づいて第１段の動きベクトルを探索する。続いて、第１段の動きベクトルにより決定される位置の探索範囲内で、元の画像解像度により第２段の動きベクトルを探索する。第２段の探索範囲は画像の縮小率に応じて決定することができる。さらに、第２段探索において、横方向探索により横方向の位置を決定し、その位置における縦方向の探索を実行して第２段の動きベクトルを探索する。【選択図】　　図１
2004129099.tif 000002
【特許請求の範囲】
【請求項１】
動画像の符号化における動きベクトルを探索する装置において、
対象画像および参照画像の縦方向及び横方向を異なる縮小率で縮小し、縮小対象画像および縮小参照画像をそれぞれ生成する画像縮小手段と、
前記縮小対象画像および縮小参照画像に基づいて第１動きベクトルを探索する第１探索手段と、
前記第１動きベクトルにより決定される位置の探索範囲内で、前記縮小前の画像解像度により第２動きベクトルを探索して前記動きベクトルを決定する第２探索手段と、
を有することを特徴とする動きベクトル探索装置。
【請求項２】
前記探索範囲は、前記縮小率に応じて決定されることを特徴とする請求項１記載の動きベクトル探索装置。
【請求項３】
前記画像データの縮小率は、縦方向の方が横方向よりも大きいことを特徴とする請求項１または２記載の動きベクトル探索装置。
【請求項４】
前記第２探索手段は、縦方向の探索と横方向の探索とを独立して実行することを特徴とする請求項１乃至３のいずれかに記載の動きベクトル探索装置。
【請求項５】
動画像の符号化における動きベクトルを探索する装置において、
対象画像および参照画像を縮小して縮小対象画像および縮小参照画像をそれぞれ生成する画像縮小手段と、
前記縮小対象画像および縮小参照画像に基づいて第１動きベクトルを探索する第１探索手段と、
前記第１動きベクトルにより決定される位置の探索範囲内で、前記縮小前の画像解像度により縦方向の探索と横方向の探索とを独立して実行し、第２動きベクトルを探索して前記動きベクトルを決定する第２探索手段と、
を有することを特徴とする動きベクトル探索装置。
【請求項６】
前記画像縮小手段は、前記対象画像および参照画像の縦方向及び横方向を異なる縮小率で縮小して前記縮小対象画像および縮小参照画像をそれぞれ生成することを特徴とする請求項５記載の動きベクトル探索装置。
【請求項７】
前記探索範囲は、前記縮小率に応じて決定されることを特徴とする請求項６記載の動きベクトル探索装置。
【請求項８】
前記第２探索手段は、
横方向探索により横方向動きベクトルを決定する横方向探索手段と、
前記横方向動きベクトルにより決定された位置の縦方向の探索を実行して前記第２動きベクトルを探索する縦方向探索手段と、
を有することを特徴とする請求項５乃至７のいずれかに記載の動きベクトル探索装置。
【請求項９】
動画像の符号化における動きベクトルを探索する方法において、
対象画像および参照画像の縦方向及び横方向を異なる縮小率で縮小することで縮小対象画像および縮小参照画像をそれぞれ生成し、
前記縮小対象画像および縮小参照画像に基づいて第１動きベクトルを探索し、前記第１動きベクトルにより決定される位置の探索範囲内で、前記縮小前の画像解像度により第２動きベクトルを探索して前記動きベクトルを決定する、
ことを特徴とする動きベクトル探索方法。
【請求項１０】
動画像の符号化における動きベクトルを探索する方法において、
対象画像および参照画像を縮小して縮小対象画像および縮小参照画像をそれぞれ生成し、
前記縮小対象画像および縮小参照画像に基づいて第１動きベクトルを探索し、
前記第１動きベクトルにより決定される位置の探索範囲内で、前記縮小前の画像解像度により縦方向の探索と横方向の探索とを独立して実行することで、第２動きベクトルを探索して前記動きベクトルを決定する、
ことを特徴とする動きベクトル探索方法。
【請求項１１】
動画像の符号化における動きベクトル探索を実行するコンピュータシステムにおいて、
対象画像データを格納する対象画像バッファと、
参照画像を格納する参照画像バッファと、
動画像の符号化における動きベクトル探索をコンピュータに実行させるための命令からなるプログラムを格納するメモリと、
前記プログラムを実行するプログラム制御プロセッサと、
を有し、前記プログラムは、少なくとも、
前記対象画像および前記参照画像の縦方向及び横方向を異なる縮小率で縮小し、縮小対象画像および縮小参照画像をそれぞれ生成する画像縮小部と、
前記縮小対象画像および縮小参照画像に基づいて第１動きベクトルを探索する第１探索部と、
前記第１動きベクトルにより決定される位置の探索範囲内で、前記縮小前の画像解像度により第２動きベクトルを探索して前記動きベクトルを決定する第２探索部と、
からなることを特徴とするコンピュータシステム。
【請求項１２】
動画像の符号化における動きベクトル探索を実行するコンピュータシステムにおいて、
対象画像データを格納する対象画像バッファと、
参照画像を格納する参照画像バッファと、
動画像の符号化における動きベクトル探索をコンピュータに実行させるための命令からなるプログラムを格納するメモリと、
前記プログラムを実行するプログラム制御プロセッサと、
を有し、前記プログラムは、少なくとも、
前記対象画像および前記参照画像を縮小して縮小対象画像および縮小参照画像をそれぞれ生成する画像縮小部と、
前記縮小対象画像および縮小参照画像に基づいて第１動きベクトルを探索する第１探索部と、
前記第１動きベクトルにより決定される位置の探索範囲内で、前記縮小前の画像解像度により縦方向の探索と横方向の探索とを独立して実行し、第２動きベクトルを探索して前記動きベクトルを決定する第２探索部と、
からなることを特徴とするコンピュータシステム。
【請求項１３】
前記プログラム制御プロセッサは、１命令で複数のデータを処理できる方式のプロセッサであることを特徴とする請求項１１または１２に記載のコンピュータシステム。
【請求項１４】
動画像の符号化における動きベクトル探索をコンピュータに実行させるための命令からなるコンピュータプログラムにおいて、
前記対象画像および前記参照画像の縦方向及び横方向を異なる縮小率で縮小し、縮小対象画像および縮小参照画像をそれぞれ生成する画像縮小部と、
前記縮小対象画像および縮小参照画像に基づいて第１動きベクトルを探索する第１探索部と、
前記第１動きベクトルにより決定される位置の探索範囲内で、前記縮小前の画像解像度により第２動きベクトルを探索して前記動きベクトルを決定する第２探索部と、
を有することを特徴とする動きベクトル探索プログラム。
【請求項１５】
動画像の符号化における動きベクトル探索をコンピュータに実行させるための命令からなるコンピュータプログラムにおいて、
前記対象画像および前記参照画像を縮小して縮小対象画像および縮小参照画像をそれぞれ生成する画像縮小部と、
前記縮小対象画像および縮小参照画像に基づいて第１動きベクトルを探索する第１探索部と、
前記第１動きベクトルにより決定される位置の探索範囲内で、前記縮小前の画像解像度により縦方向の探索と横方向の探索とを独立して実行し、第２動きベクトルを探索して前記動きベクトルを決定する第２探索部と、
を有することを特徴とする動きベクトル探索プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は動き補償予測符号化技術に係り、特に多段探索法で用いられる動きベクトル探索方法および装置ならびにコンピュータシステムに関する。
【０００２】
【従来の技術】
動画像信号を記録あるいは伝送する際の圧縮符号化では、符号化効率を高めるために画像フレーム間の相関を利用した符号化方法が一般に用いられる。画像フレーム間の相関を利用する符号化方式は動き補償予測符号化と呼ばれ、ＭＰＥＧ　（Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）２などで採用されている。
【０００３】
動き補償予測符号化では、フレーム間の映像の動きの情報（動きベクトル）と、動きベクトルによって生成される予測画像と符号化中のフレームとの差分画像（予測誤差）を符号化する。画像フレーム間の相関が大きければ、予測誤差が小さくなり、符号化する情報量を小さくでき圧縮率を向上させることができる。動き補償予測符号化では、一般に、フレームを１６×１６画素などの一定サイズのブロックに分割し、分割したブロックごとに動きベクトルを割り当てる。
【０００４】
具体的には、すでに符号化が完了しているフレーム（参照フレーム）の中から、ブロックごとに相関が最も大きくなる場所を探し、そのブロック間の差分を求め、符号化する。相関が大きくなる場所を探す処理を動きベクトル探索という。相関の大小は、参照フレームと符号化中フレームとのブロック内の各画素の差異を総和することで評価できる。
【０００５】
指定された探索範囲のすべての点を単純に探索し、相関の大きさを調べれば最適な動きベクトルが得られるが、この方法では演算量が極めて大きくなり現実的でない。演算量を削減するために、初めに粗く第１段の探索をおこない、その探索結果を中心にして細かい第２段の探索を行うのが一般的である。このような方法は多段探索法と呼ばれ、Ｒｅｎｘｉａｎｇ　Ｌｉ　等によるＩＥＥＥ　Ｔｒａｎｓａｃｔｉｏｎｓ　ｏｎ　Ｃｉｒｃｕｉｔｓ　ａｎｄ　Ｓｙｓｔｅｍｓ　ｆｏｒ　Ｖｉｄｅｏ　Ｔｅｃｈｎｏｌｏｇｙ，　Ｖｏｌ．４，　Ｎｏ．４，　Ａｕｇｕｓｔ，　１９９４，　ｐｐ．４３８−４４１　などに開示されている。以下、多段探索法について簡単に説明する。
【０００６】
図１０（Ａ）は、一般的な多段探索法を説明するための画素配列を示す模式図であり、（Ｂ）は第２段の探索の様子を示すシーケンス図である。例えば、初めに第１段の探索として２画素精度探索（図１０（Ａ）の”１”でラベルされた位置の探索）を実行し、そのなかで最も相関が大きくなる位置を決定する。続いて、第１段の探索結果である位置を中心に、第２段の探索として１画素精度探索（図１０（Ａ）の”２”でラベルされた位置の探索）を実行し、その中で最も相関が大きくなる位置を最終的な動きベクトルとする。
【０００７】
通常、第１段の動きベクトル探索は、フレームをサブサンプリングして解像度を下げたフレームデータを用いる。例えば、フレームデータを縦横ともに半分にして第１段の動きベクトル探索をおこない、その探索結果の周囲を探索範囲として本来の解像度で第２段の探索を実行し、最終的な動きベクトルを求める。たとえば図１０（Ｂ）に示すように、第２段の探索範囲が縦および横方向±１画素の範囲である場合には、探索範囲内のすべての位置（図１０（Ｂ）の（ａ）〜（ｉ））でマッチングが行われる。
【０００８】
動きベクトル探索の効率は符号化処理能力を決定する主な要因であることから、様々な探索手法が提案されている。
【０００９】
特開平９−１３０８０８号公報には、上述した第１段および第２段の動きベクトル探索を用いた多段探索方法についての一般的な説明がある（段落番号００１８〜００２０）。さらに、同公報に開示された動画像圧縮方法では、ピクチャタイプがＢピクチャの場合、第１段の探索処理に基づいて最適な動きベクトルを判定しており、多少の画質の劣化を許容しつつ処理の効率化を図っている（段落番号００６５）。
【００１０】
また、特開平１０−１２６７８３号公報に開示された動きベクトル検出方法では、動きベクトルを検出する対象画像データを垂直および水平の両方向で間引いてブロックサイズにした後、参照画像データの探索範囲内で順次マッチングを行い、最適な動きベクトルを検出している（段落番号０００８、００２４〜００２８、００４９）。
【００１１】
更に、特開平９−１６２７４７号公報に開示された動きベクトル検出方法では、探索範囲のブロック画像に対して水平および垂直方向の少なくとも一方向でサブサンプルを行い、対象画像との相関演算によって最適動きベクトルを検出する（要約、段落番号００１９、００３４）。
【００１２】
【特許文献１】
特開平９−１３０８０８号公報（要約、段落番号００１８〜００２０、図９）
【特許文献２】
特開平１０−１２６７８３号公報（要約、段落番号０００８、００２４〜００２８、図３、図５、図７）
【特許文献３】
特開平９−１６２７４７号公報（要約、段落番号００１９、００３４）。
【００１３】
【発明が解決しようとする課題】
特許文献１に記載されている一般的な多段探索方法では、例えばソフトウェア制御によりリアルタイムで符号化を行う場合に、探索範囲を狭くするなどして演算量を削減しているのが現状である。しかしながら、探索範囲が狭い場合は適切な動きベクトルが得られない場合があり、符号化効率が下がり画質が低下する。そこで特許文献１では、動きベクトル探索における演算量を更に削減するために、Ｂピクチャの場合に第１段の探索だけで動きベクトルの判定を行っている。この場合も、適切な動きベクトルが得られないことがあり、画質の低下は免れない。
【００１４】
他方、特許文献２に記載されている方法は、多段ではなく１段階で動き探索を効率良く実現しようとするものである。対象画像データを垂直および水平の両方向で間引いてブロックサイズに縮小してから相関演算を行うが、その目的は演算量が低減した分を並列処理に振り分けることにある。
【００１５】
また、特許文献３に記載されている方法は、多段ではなく１段階で動き探索を精度良く実現しようとするものである。そのために、探索範囲のみ水平および垂直方向で異なる縮小率にサブサンプリングする点が記載されているが、対象画像はサブサンプリングしないことを特徴としている。
【００１６】
本発明の目的は、動きベクトルを高速に探索できる新規な動きベクトル探索方法および装置ならびにコンピュータシステムを提供することにある。
【００１７】
本発明の他の目的は、探索精度の低下を最小限に抑えて高速に動きベクトルを探索できる動きベクトル探索方法および装置ならびにコンピュータシステムを提供することにある。
【００１８】
【課題を解決するための手段】
本発明の第１の側面による動きベクトル探索装置は、対象画像および参照画像の縦方向及び横方向を異なる縮小率で縮小し、縮小対象画像および縮小参照画像をそれぞれ生成する画像縮小手段と、前記縮小対象画像および縮小参照画像に基づいて第１動きベクトルを探索する第１探索手段と、前記第１動きベクトルにより決定される位置の探索範囲内で、前記縮小前の画像解像度により第２動きベクトルを探索して前記動きベクトルを決定する第２探索手段と、を有することを特徴とする。これにより、第１探索の高速化を実現できる。
【００１９】
また、本発明による動きベクトル探索装置は、第２探索手段の探索範囲が前記縮小率に応じて決定されることを特徴とする。これにより、第１探索の高速化に伴う精度劣化を補償することが可能となる。
【００２０】
本発明の第２の側面による動きベクトル探索装置は、対象画像および参照画像を縮小して縮小対象画像および縮小参照画像をそれぞれ生成する画像縮小手段と、前記縮小対象画像および縮小参照画像に基づいて第１動きベクトルを探索する第１探索手段と、前記第１動きベクトルにより決定される位置の探索範囲内で、前記縮小前の画像解像度により縦方向の探索と横方向の探索とを独立して実行し、第２動きベクトルを探索して前記動きベクトルを決定する第２探索手段と、を有することを特徴とする。これにより第２探索の高速化が可能となる。
【００２１】
画像縮小手段は、前記対象画像および参照画像の縦方向及び横方向を異なる縮小率で縮小して前記縮小対象画像および縮小参照画像をそれぞれ生成してもよい。また、探索範囲は前記縮小率に応じて決定することができる。
【００２２】
第２探索手段は、横方向探索により横方向動きベクトルを決定する横方向探索手段と、前記横方向動きベクトルにより決定された位置の縦方向の探索を実行して前記第２動きベクトルを探索する縦方向探索手段と、を有することが望ましい。このように縦方向及び横方向を独立して探索することにより、探索範囲内のすべての点を探索するよりも演算量が削減でき、高速な動きベクトル探索処理が可能となる。第２段探索では一般に探索範囲が狭いので縦横独立に探索しても、すべての点を探索した場合と比べて探索精度の低下は小さくなる。
【００２３】
なお、上記の第１段動き探索の高速化手法と第２段動き探索の高速化手法は片方のみを採用してもよいが、両方を同時に採用することでより高速に動きベクトル探索を実行できる。
【００２４】
【発明の実施の形態】
構成
図１は、本発明による動きベクトル探索装置の一実施形態を示すブロック図である。図１において、現フレームバッファ１０１には符号化中のフレームのデータが格納され、参照フレームバッファ１０２には参照フレームデータが格納されている。サブサンプリング処理部１０３は現フレームバッファ１０１および参照フレームバッファ１０２からそれぞれ現フレームデータおよび参照フレームデータを入力し、後述するように横方向と縦方向とで縮小率が異なるサンプリングを行い、縮小現フレームデータおよび縮小参照フレームデータを生成する。
【００２５】
第１段の動き探索処理部１０４は、縮小現フレームデータおよび縮小参照フレームデータを用いて動き探索を行い、その探索結果である第１段の動きベクトルの位置情報を第２段の動き探索処理部１０５へ出力する。第２段の動き探索処理部１０５は、現フレームバッファ１０１および参照フレームバッファ１０２から本来の現フレームデータ及び参照フレームデータを入力し、第１段の動きベクトルの位置を中心として詳細な動きベクトル探索を実行する。こうして、最終的な動きベクトルを決定する。
【００２６】
本実施形態におけるサブサンプリング処理１０３は、縦／横の縮小をおこなう縮小処理部１１１と、縦方向のみの縮小をおこなう縦方向縮小処理部１１２と、を有し、縮小処理部１１１および縦方向縮小処理部１１２により縮小された縮小現フレームデータおよび縮小参照フレームデータを縮小現フレームバッファ１１３および縮小参照フレームバッファ１１４にそれぞれ格納する。
【００２７】
第２段の動き探索処理部１０５は、横方向の探索と縦方向の探索とを独立して実行することができる。本実施形態における動き探索処理部１０５は、横方向の探索を行う横方向探索処理部１１５と、その横方向の探索により決定された位置に基づいて縦方向の探索を行う縦方向探索処理部１１６と、を備える。次に、本実施形態の全体的動作について詳細に説明する。
【００２８】
全体的動作
図２は、本実施形態の全体的動作を示すフローチャートである。まず、縮小処理部１１１は、符号化しようとしている現フレームデータを現フレームバッファ１０１から入力してサブサンプリングする（ステップＳ２０１）。続いて、縦方向縮小処理部１１２は、サンプリングされた現フレームデータを更に縦方向のみサブサンプリングし（ステップＳ２０２）、縮小現フレームバッファ１１３に格納する。
【００２９】
同様に、縮小処理部１１１は、参照フレームデータを参照フレームバッファ１０２から入力してサブサンプリングする（ステップＳ２０３）。続いて、縦方向縮小処理部１１２は、サンプリングされた参照フレームデータを更に縦方向のみサブサンプリングし（ステップＳ２０４）、縮小参照フレームバッファ１１４に格納する。
【００３０】
このように、縦方向縮小処理部１１２により縦方向のみをサブサンプリングすることで、縦方向の探索精度を下げる。なお、ここでは、縮小処理部１１１で従来と同様のサブサンプリングを行った後に縦方向縮小処理部１１２により再度縦方向のみのサブサンプリングを実行しているが、１度のサブサンプリング処理で縦方向の縮小率のみを大きくしても同様の効果が得られる。つまり、サブサンプリング処理では縦方向の縮小率を高くして横長の縮小画像を作成し動きベクトル探索をおこなう。
【００３１】
なお、本実施形態では縦方向のみ探索精度を下げている。一般にソフトウェアで動きベクトル探索をおこなう場合、すべての演算はＣＰＵが命令を実行することで行われる。その際、ＣＰＵが１命令で複数のデータを処理できるＳＩＭＤ（ｓｉｎｇｌｅ　ｉｎｓｔｒｕｃｔｉｏｎ　ｍｕｌｔｉｐｌｅ　ｄａｔａ　ｓｔｒｅａｍ）型の命令を備えている場合には、横方向複数画素のマッチング演算が並列処理可能となる。そのために横方向については、探索精度を下げなくても並列処理により高速化が可能である。そこで、本実施形態では、ＳＩＭＤ型命令を採用して横方向については精度を下げずに探索を実行し、縦方向のみ探索精度を下げて演算量の削減を図っている。
【００３２】
次に、フレーム先頭から第１段の動きベクトル探索処理を開始するために縮小現フレームの先頭のブロックにポインタを合わせ（ステップＳ２０５）、第１段の動きベクトル探索を実行する（ステップＳ２０６）。第１段の動き探索処理部１０４は、探索範囲内のすべての点を探索して相関が最も大きくなる位置を決定する。すなわち、１つのブロックの探索が終了したら、次のブロックにポインタを移動させ（ステップＳ２０７）、フレーム内のすべてのブロックについて探索が終了するまで、同様の動きベクトル探索を繰り返す（ステップＳ２０８）。
第１段の動きベクトル探索が終了すると（ステップＳ２０８のＹＥＳ）、第２段の動き探索処理部１０５は、現フレームの先頭のブロックにポインタを合わせ（ステップＳ２０９）、第１段の探索で決定された動きベクトルを中心に、本来の画像解像度で動きベクトル探索を開始する。第２段の探索では、横方向の探索と縦方向の探索とを独立して実行する。
【００３３】
まず、横方向の探索は、第１段探索で決定された動きベクトルを中心に横方向探索処理部１１５により実行される（ステップＳ２１０）。続いて、縦方向探索処理部１１６が横方向で探索した位置を入力し、第１段探索で決定された動きベクトルを中心に、その横方向で探索した位置での縦方向の探索を実行する（ステップＳ１１１）。横方向および縦方向の探索の具体例は後述する。
【００３４】
第２段の動き探索処理部１０５は、１つのブロックの探索が終了したら、次のブロックにポインタを移動させ（ステップＳ２１２）、フレーム内のすべてのブロックについて探索が終了するまで、同様の動きベクトル探索を繰り返す（ステップＳ２１３）。フレーム内のすべてのブロックについて探索が終了したら第２段の探索を終了させ（ステップＳ２１３のＹＥＳ）、第２段の探索で相関が最も大きいと判定された位置を最終的な動きベクトルとする。
【００３５】
図３は、本発明による動きベクトル探索方法の第１実施形態を説明するための画素配列の一例を示す模式図である。上述したように横方向よりも縦方向の縮小率が高くなっている。この例では、横方向が１／２に縮小され、縦方向が１／４に縮小されており、第１段の横方向探索は２画素精度、縦方向探索は４画素精度に下がっている（図３の”１”でラベルされた位置の探索）。縦方向の探索精度を下げることにより、探索点数が少なくなり第１段探索の演算量が削減され、高速な動きベクトル探索を実現できる。
【００３６】
第１段の探索において最も相関が大きくなる位置が決定され、続いて、その探索結果である位置を中心に、第２段の探索として１画素精度探索（図３の”２”でラベルされた位置の探索）が実行される。そして、その中で最も相関が大きくなる位置が最終的な動きベクトルとして決定される。
【００３７】
第２段探索（横方向と縦方向の独立実行）
第２段の動き探索では、１画素精度探索が行われるために演算量が一般的に大きくなるが、本発明では縦方向および横方向の動きベクトルを独立に求めることで演算量を低減させることができる。
【００３８】
図４（Ａ）は横方向探索時における探索範囲とマッチング単位との関係を示す模式図であり、（Ｂ）は縦方向探索時における探索範囲とマッチング単位との関係を示す模式図である。ここでは、探索をおこなうブロックサイズを横Ｎ画素×縦Ｍ画素、探索範囲を横Ｎ±ｎ画素、縦Ｍ±ｍ画素と仮定している。
【００３９】
初めに横方向の動きベクトルを求める。横方向探索時には、　図４（Ａ）に示すように、マッチング単位（ハッチング部）を横Ｎ画素×縦（Ｍ＋２ｍ）画素に設定する。つまり、マッチング単位の縦サイズを探索範囲と同じサイズにする。このマッチング単位を使って横方向の探索をおこない、横方向の動きベクトルを求める。
【００４０】
続いて、横方向の探索結果の位置における縦方向の探索をおこなう。縦方向探索時には、図４（Ｂ）に示すように、マッチング単位を横Ｎ画素×縦Ｍ画素のブロックサイズに設定して通常の探索をおこなう。その際、横方向探索により決定された位置の縦方向で探索が行われる。たとえば、図４（Ｂ）に示すように、横方向探索の結果、矢印４０１で示される最左端の位置が決定されたとすると、その位置における縦方向にマッチング単位を１画素ずつシフトさせながら探索が行われる。以下、本発明による動きベクトル探索方法の第１実施形態における横方向及び縦方向の探索動作の一例を説明する。
【００４１】
図５（Ａ−１）〜（Ａ−３）は、本発明による動きベクトル探索方法の第１実施形態における横方向探索時の探索範囲とマッチング単位との関係を示す模式図、図５（Ｂ−１）〜（Ｂ−３）は縦方向探索時の探索範囲とマッチング単位との関係を示す模式図である。ここでは、ブロックサイズが８×８画素、探索範囲が１０×１０画素とする。
【００４２】
図５（Ａ−１）〜（Ａ−３）に示すように、横方向探索では、マッチング単位（ハッチング部）の縦サイズを探索範囲と同じサイズにし、左から順に図５（Ａ−１）、（Ａ−２）、（Ａ−３）の位置でそれぞれマッチング処理を行う。そして、相関が最も大きくなる位置を横方向探索の結果として出力する。ここでは、図５（Ａ−３）の矢印５０１で示す位置が最大相関値を示すものとする。
【００４３】
続いて、横方向探索の結果を用いて縦方向探索を行う。図５（Ｂ−１）〜（Ｂ−３）に示すように、マッチング単位をブロックサイズに一致させ、矢印５０１の位置において、上から順に図５（Ｂ−１）、（Ｂ−２）、（Ｂ−３）の位置でそれぞれマッチング処理を実行し、相関が最も大きくなる位置を探す。こうして得られた最大相関値を示す位置が最終的な動きベクトルとして出力される。
【００４４】
上述したように、第１実施形態では、サブサンプリングしたフレームで動きベクトル探索を行う場合に、縦方向と横方向とで独立して縮小率を設定している。その際、縦方向の縮小率を高くして横長の映像を用いて動きベクトル探索を行うことで、探索点数を削減でき、高速に動きベクトルを探索できる。
【００４５】
また、本実施形態では、第２段の探索において、横方向および縦方向の動きベクトルを独立に探索し、一方の探索結果を用いて探索演算量を削減することができるために、さらに高速の動きベクトル探索を実現できる。
【００４６】
他の実施形態
上述したように、本発明では、第１段の探索において、縦方向の探索精度を横方向の探索精度より低くしている。そのため、最終的な動きベクトル探索の精度が低下する傾向にある。そこで第２実施形態では、第２段の探索における縦方向の探索範囲を広げることにより探索精度の低下を防ぐ。このようにサブサンプリング時の縮小率に応じて探索範囲を変えることで探索精度の低下を最小限に抑えることが可能となる。
【００４７】
図６は、本発明による動きベクトル探索方法の第２実施形態を説明するための画素配列の一例を示す模式図である。第１実施形態の場合と同様に、この例でも、横方向が１／２に縮小され、縦方向が１／４に縮小されており、第１段の横方向探索は２画素精度、縦方向探索は４画素精度に下がっている（図６の”１”でラベルされた位置の探索）。
【００４８】
また、第１段探索の結果を中心にして、第２段の探索として１画素精度探索（図６の”２”でラベルされた位置の探索）が実行されるが、その際の縦方向の探索範囲は、図６の”２”でラベルされた位置のように、縦方向の縮小率に応じて広げられている。例えば、横方向が１／２に縮小され、縦方向が１／４に縮小されている場合は、探索範囲を横方向に±１画素、縦方向に±２画素拡張する。この例を用いて、具体的に説明する。
【００４９】
図７（Ａ−１）〜（Ａ−３）は、本発明による動きベクトル探索方法の第２実施形態における横方向探索時の探索範囲とマッチング単位との関係を示す模式図、図７（Ｂ−１）〜（Ｂ−５）は縦方向探索時の探索範囲とマッチング単位との関係を示す模式図である。ここでは、フレームデータが横方向に１／２、縦方向に１／４だけ縮小されている場合を仮定し、それに応じて第２段の探索範囲が横方向に±１画素、縦方向に±２画素だけ拡張されている。すなわち、ブロックサイズが８×８画素、探索範囲が１４×１０画素とする。
【００５０】
図７（Ａ−１）〜（Ａ−３）に示すように、横方向探索では、マッチング単位（ハッチング部）の縦サイズを探索範囲と同じサイズにし、左から順に図７（Ａ−１）、（Ａ−２）、（Ａ−３）の位置でそれぞれマッチング処理を行う。そして、相関が最も大きくなる位置を横方向探索の結果として出力する。ここでは、図７（Ａ−３）の矢印７０１で示す位置が最大相関値を示すものとする。
【００５１】
続いて、横方向探索の結果を用いて縦方向探索を行う。図７（Ｂ−１）〜（Ｂ−５）に示すように、マッチング単位をブロックサイズに一致させ、矢印７０１の位置において、上から順に図７（Ｂ−１）〜（Ｂ−５）の位置でそれぞれマッチング処理を実行し、相関が最も大きくなる位置を探す。こうして得られた最大相関値を示す位置が最終的な動きベクトルとして出力される。
【００５２】
この場合、第２段探索では探索範囲が広くなるので計算量は増加してしまう。しかしながら、第１段探索の精度を下げたことによる計算量削減が第２段探索での計算量増加を上回るならば、動き探索処理全体としての計算量は削減される。したがって、通常の動きベクトル探索より高速な処理が可能となり、動きベクトル探索の探索精度の低下も最小限に抑えられる。
【００５３】
【実施例】
次に、横方向の画素数が７２０、縦方向の画素数が４８０の動画像を符号化する場合を具体例として、本発明による動きベクトル探索方法について説明する。
【００５４】
符号化方式は横方向１６画素、縦方向１６画素を一つのブロックとして、ブロックごとに動きベクトルを割り当てる方式を採用しているものとする。
【００５５】
図８は、本発明による動きベクトル探索方法の一実施例を説明するための模式的な流れ図である。まず、縦４８０画素×横７２０画素のオリジナルフレームデータ８０１を所定の縮小率（横方向に１／２、縦方向に１／４）でサブサンプリングし、１２０×３６０画素の縮小フレームデータ８０２を生成する。
【００５６】
この縮小フレームデータ８０２を用いて、縦４画素×横８画素のブロック単位で第１段の探索を実行する。上述したように、各ブロックにおいて、あらかじめ指定された探索範囲内のすべての点を探索し相関が最も大きくなる位置を探す。ここでは、第１段探索によって、縮小フレーム左上から右に１０画素、下に３画素の位置８０３が特定されたと仮定する。
【００５７】
次に、第２段の探索を行うために、第１段探索で得られた探索結果の画素位置８０３を本来の解像度の画素位置８０４にマッピングする。画素位置８０３が（１０，３）であると仮定した場合、本来の解像度での画素位置８０４は、それを横方向に２倍、縦方向に４倍した、右に２０画素、下に１２画素の位置となる。
【００５８】
第２段探索では、この画素位置８０４とその周辺をさらに詳細に探索することになる。すなわち、上記第１実施形態あるいは第２実施形態で説明したように、所定の探索範囲内で、横方向探索を行い、その結果に基づいて縦方向探索を行う。このようにして、演算量を抑制しつつ精度の良い動きベクトル探索を行うことができる。
【００５９】
図９は、本発明による動きベクトル探索装置の他の実施形態であるコンピュータシステムを示すブロック図である。このコンピュータシステムには、すでに述べたように、ＳＩＭＤ型命令を備えたプログラム制御プロセッサ９０１が装備されている。これによって、横方向については精度を下げずに探索を実行し、縦方向のみ探索精度を下げて演算量を削減できる。
【００６０】
更に、プログラム制御プロセッサ９０１には、現フレームバッファ１０１および参照フレームバッファ１０２の他に、必要なプログラムを格納したプログラムメモリ９０２と、縮小現フレームバッファ１１３および縮小参照フレームバッファ１１４を含む縮小フレームバッファ９０３と、が接続されている。
【００６１】
プログラムメモリ９０２には、本発明による動きベクトル探索を実行するためのメインプログラムの他に、上述した縮小処理部１１１および縦方向縮小処理部１１２、第１段動き探索処理部１０４、第２段動き探索処理部１０５の探索範囲セッティング処理部、横方向探索処理部１１５、および縦方向探索処理部１１６をそれぞれ機能的に実現するプログラムモジュールが格納されている。メインプログラムおよび各機能モジュールをプログラム制御プロセッサ９０１で実行することで、本発明による動きベクトル探索が実行される。
【００６２】
なお、上記実施形態及び実施例では、フレーム単位の動画像の場合を例示したが、フィールド単位であっても、フィールド情報を残したまま縮小すれば、本発明は容易に適用できる。
【００６３】
【発明の効果】
以上説明したように、本発明による動きベクトル探索方法及び装置は、縦方向と横方向とで異なる縮小率のサブサンプリングを行って第１の探索を実行し、その結果に基づいて第２探索を実行する。さらに、第２探索において、縦方向探索と横方向探索とを独立して実行し最終的な動きベクトルを決定する。このように構成することで、探索点数が少なくなり演算量が削減され、動きベクトル探索を高速化できる。特に、より細かい第２段探索において、横方向探索により決定された横方向位置において縦方向探索を実行することが望ましい。
【００６４】
さらに、本発明による動きベクトル探索方法及び装置は、第１段探索の探索精度を粗くした分を第２段探索の探索範囲の拡大で補うことができるために、高速動きベクトル探索において探索精度の低下を最小限に抑えることができる。
【図面の簡単な説明】
【図１】本発明による動きベクトル探索装置の一実施形態を示すブロック図である。
【図２】本実施形態の全体的動作を示すフローチャートである。
【図３】本発明による動きベクトル探索方法の第１実施形態を説明するための画素配列の一例を示す模式図である。
【図４】（Ａ）は横方向探索時における探索範囲とマッチング単位との関係を示す模式図であり、（Ｂ）は縦方向探索時における探索範囲とマッチング単位との関係を示す模式図である。
【図５】（Ａ−１）〜（Ａ−３）は、本発明による動きベクトル探索方法の第１実施形態における横方向探索時の探索範囲とマッチング単位との関係を示す模式図、（Ｂ−１）〜（Ｂ−３）は縦方向探索時の探索範囲とマッチング単位との関係を示す模式図である。
【図６】本発明による動きベクトル探索方法の第２実施形態を説明するための画素配列の一例を示す模式図である。
【図７】（Ａ−１）〜（Ａ−３）は、本発明による動きベクトル探索方法の第２実施形態における横方向探索時の探索範囲とマッチング単位との関係を示す模式図、（Ｂ−１）〜（Ｂ−５）は縦方向探索時の探索範囲とマッチング単位との関係を示す模式図である。
【図８】本発明による動きベクトル探索方法の一実施例を説明するための模式的な流れ図である。
【図９】本発明による動きベクトル探索装置の他の実施形態であるコンピュータシステムを示すブロック図である。
【図１０】（Ａ）は、一般的な多段探索法を説明するための画素配列を示す模式図であり、（Ｂ）は第２段の探索の様子を示すシーケンス図である。
【符号の説明】
１０１　現フレームバッファ
１０２　参照フレームバッファ
１０３　サブサンプリング処理部
１０４　第１段動き探索処理部
１０５　第２段動き探索処理部
１１１　縮小処理部
１１２　縦方向縮小処理部
１１３　縮小現フレームバッファ
１１４　縮小参照フレームバッファ
１１５　横方向探索処理部
１１６　縦方向探索処理部
【図１】
2004129099.tif 000003
【図２】
2004129099.tif 000004
【図３】
2004129099.tif 000005
【図４】
2004129099.tif 000006
【図５】
2004129099.tif 000007
【図６】
2004129099.tif 000008
【図７】
2004129099.tif 000009
【図８】
2004129099.tif 000010
【図９】
2004129099.tif 000011
【図１０】
2004129099.tif 000012