(57)【要約】【課題】インタレース映像信号の符号化時に映像の動きが小さい場合でも動きベクトルを誤検出せず、映像の劣化が少ない動き補償符号化技術を提供する。【解決手段】動き予測符号化のための参照画像を格納するメモリと、第１の動きベクトルを検出する動きベクトル探索手段とを備える動きベクトル検出装置であって、フィールド画像をＩ／Ｐ変換を行ってフレーム画像に変換する変換手段と、縮小画像を生成する縮小画像生成手段と、フレームメモリが格納する縮小画像のうち、符号化対象のマクロブロックの縮小画像と参照用の縮小画像とに基づいて、第２の動きベクトルを検出するプレ動きベクトル探索手段とをさらに備え、動きベクトル探索手段は、符号化対象のマクロブロックの縮小画像について検出された第２の動きベクトルを利用して、第１の動きベクトルを検出するための探索範囲を決定する。【選択図】図１
2012034225.tif 000002
【特許請求の範囲】
【請求項１】
動き予測符号化のための参照画像を格納するメモリと、
フィールド画像を分割して得られた複数のマクロブロックのうち、符号化対象のマクロブロックと前記メモリが格納する前記参照画像との比較に基づき、第１の動きベクトルを検出する動きベクトル探索手段とを備える動きベクトル検出装置であって、
前記フィールド画像をインタレース／プログレッシブ変換を行ってフレーム画像に変換する変換手段と、
前記フレーム画像を縮小して、縮小画像を生成する縮小画像生成手段と、
前記縮小画像を保存するフレームメモリと、
前記フレームメモリが格納する縮小画像のうち、前記符号化対象のマクロブロックの縮小画像と参照用の縮小画像とに基づいて、第２の動きベクトルを検出するプレ動きベクトル探索手段と
をさらに備え、
前記動きベクトル探索手段は、前記符号化対象のマクロブロックの縮小画像について検出された前記第２の動きベクトルを利用して、前記第１の動きベクトルを検出するための探索範囲を決定することを特徴とする動きベクトル検出装置。
【請求項２】
前記動きベクトル探索手段は、前記第２の動きベクトルに基づいて、前記参照画像において前記比較を行う範囲を絞り込むことにより、前記探索範囲を決定することを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項３】
前記動きベクトル探索手段は、前記第２の動きベクトルに基づいて前記メモリから取得する参照画像の範囲を特定することで、前記探索範囲を決定することを特徴とする請求項１または２に記載の動きベクトル検出装置。
【請求項４】
前記変換手段は、変換対象のフィールド画像と、該フィールド画像の直前に位置する他のフィールド画像とを用いた補間処理により前記変換を行い、
前記補間処理では、前記変換対象のフィールド画像における補間対象の画素を挟む画素の画素値の平均値と、前記補間対象の画素の位置に対応する前記他のフィールドの画素の画素値との差分に基づいて、該補間対象の画素の動きの有無を判定して補間方法を決定し、
前記差分が所定値を超える場合には、動きが有ると判定して、前記平均値により前記補間対象の画素の補間を行い、
前記差分が所定値を超えない場合には、動きが無いと判定して、前記他のフィールドにおける画素の画素値により前記補間対象の画素の補間を行う
ことを特徴とする請求項１乃至３のいずれか１項に記載の動きベクトル検出装置。
【請求項５】
前記プレ動きベクトル探索手段が検出した第２の動きベクトルを保存するベクトル保存手段と、
前記符号化対象のマクロブロックの動きを判定する動き判定手段と
をさらに備え、
前記動き判定手段は、前記符号化対象のマクロブロックについて行われた前記補間処理における該マクロブロックに含まれる前記補間対象の画素の前記動きの有無の判定結果に基づいて、
動きが有ると判定された前記補間対象の画素の数が閾値を超える場合に、該符号化対象のマクロブロックは動きが有ると判定し、
動きが有ると判定された前記補間対象の画素の数が閾値を超えない場合に、該符号化対象のマクロブロックは動きが無いと判定し、
前記動きが有ると判定された符号化対象のマクロブロックについて、前記プレ動きベクトル探索手段は、前記ベクトル保存手段が保存する第２の動きベクトルのうち、前記符号化対象のマクロブロックに隣接するマクロブロックについて検出された第２の動きベクトルを用いて前記参照用の縮小画像を決定し、
前記動きが無いと判定された符号化対象のマクロブロックについて、前記プレ動きベクトル探索手段は、前記符号化対象のマクロブロックの位置に基づき前記参照用の縮小画像を決定する
ことを特徴とする請求項４に記載の動きベクトル検出装置。
【請求項６】
変換対象のフィールド画像と、該フィールド画像の直前に位置する他のフィールド画像との間の画素値の差分に基づきグローバルベクトルを検出する検出手段をさらに備え、
前記プレ動きベクトル探索手段は、前記グローバルベクトルを用いて前記参照用の縮小画像を決定することを特徴とする請求項１乃至３のいずれか１項に記載の動きベクトル検出装置。
【請求項７】
コンピュータを、請求項１乃至６のいずれか１項に記載の動きベクトル検出装置の各手段として機能させるためのプログラム。
【請求項８】
動き予測符号化のための参照画像を格納するメモリと、
フィールド画像を分割して得られた複数のマクロブロックのうち、符号化対象のマクロブロックと前記メモリが格納する前記参照画像との比較に基づき、第１の動きベクトルを検出する動きベクトル探索手段とを備える動きベクトル検出装置における動きベクトル検出方法であって、
変換手段が、前記フィールド画像をインタレース／プログレッシブ変換を行ってフレーム画像に変換する変換工程と、
縮小画像生成手段が、前記フレーム画像を縮小して、縮小画像を生成する縮小画像生成工程と、
前記縮小画像をフレームメモリに保存する工程と、
プレ動きベクトル探索手段が、前記フレームメモリが格納する縮小画像のうち、前記符号化対象のマクロブロックの縮小画像と参照用の縮小画像とに基づいて、第２の動きベクトルを検出するプレ動きベクトル探索工程と、
前記動きベクトル探索手段が、前記符号化対象のマクロブロックの縮小画像について検出された前記第２の動きベクトルを利用して、前記第１の動きベクトルを検出するための探索範囲を決定する工程と
を備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトル検出装置及び動きベクトル検出方法、コンピュータプログラムに関する。
【背景技術】
【０００２】
近年、音声信号、映像信号など所謂マルチメディアに関連する情報のデジタル化が急速に普及しており、これに対応して映像信号の圧縮符号化復号化技術が注目されている。圧縮符号化及び復号化技術により、映像信号の格納に必要な記憶容量や伝送に必要な帯域を減少させることができるため、マルチメディア産業には極めて重要な技術である。
【０００３】
これらの圧縮符号化復号化技術は、多くの映像信号が有する自己相関性の高さ（すなわち、冗長性）を利用して情報量／データ量を圧縮している。映像信号が有する冗長性には、時間冗長性及び空間冗長性があり、時間冗長性は、ブロック単位の動き検出及び動き補償を用いて低減することができ、一方、空間冗長性は、離散コサイン変換（ＤＣＴ）を用いて低減させることができる。
【０００４】
圧縮符号化復号化技術として知られるＭＰＥＧ方式などではこれらの手法により映像信号の冗長性を低減させ、経時的に変わるビデオフレーム／フィールドのデータ圧縮効果を向上させる。時間冗長性を低減させるためのブロック単位の動き推定とは、連続して入力する参照フレーム／フィールド（過去のフレーム／フィールド）と現在フレーム／フィールドとの間で最も近似するブロックを探し出す作業である。ここで、対応するブロックの移動方向、移動量を表すベクトルを動きベクトルという。従って、動き検出とは動きベクトルの検出と同義である。このような動きベクトルの検出は、ビデオ信号をｍ画素×ｎライン（ｍ、ｎは整数）による動きベクトルの検出単位（すなわちマクロブロックである）にブロック化し、ブロック毎に動きベクトルを検出するようになされている。動きベクトル検出では、特許文献１に開示のブロックマッチング法等を用いることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４-２２９１５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
インタレース方式の映像信号を符号化する際、フィールド間で動き検出を行っている。その際、動きの小さい斜め線をエッジとしてもつ物体の動きベクトル検出を行った場合、正確に動きを捉えることができず画質に劣化が生じる。
【０００７】
その理由を、図２に示す静止映像の斜め線を参照して説明する。図２（a）のようにプログレッシブ方式の映像信号を符号化する際には、映像をフレームとして扱うため、時間方向の絵柄が同一になり、同一座標に斜め線が存在するので、動きベクトルを「０」と正しく検出できる。一方、インタレース方式の映像信号を符号化する際には、映像をフィールドとして扱う。映像をフィールドで扱った場合、図２（b）のように偶数フィールドと奇数フィールドとで絵柄が異なるため同一座標に斜め線が存在しなくなってしまう。そのため、動きベクトルが「０」にならず検出誤差が発生する。その結果、符号化した映像を再生した際に引きつりなどの映像劣化が起きてしまう。
【０００８】
そこで、本発明は、インタレース映像信号の符号化時に映像の動きが小さい場合でも動きベクトルを誤検出せず、映像の劣化が少ない動き補償符号化技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するための本発明は、
動き予測符号化のための参照画像を格納するメモリと、
フィールド画像を分割して得られた複数のマクロブロックのうち、符号化対象のマクロブロックと前記メモリが格納する前記参照画像との比較に基づき、第１の動きベクトルを検出する動きベクトル探索手段とを備える動きベクトル検出装置であって、
前記フィールド画像をインタレース／プログレッシブ変換を行ってフレーム画像に変換する変換手段と、
前記フレーム画像を縮小して、縮小画像を生成する縮小画像生成手段と、
前記縮小画像を保存するフレームメモリと、
前記フレームメモリが格納する縮小画像のうち、前記符号化対象のマクロブロックの縮小画像と参照用の縮小画像とに基づいて、第２の動きベクトルを検出するプレ動きベクトル探索手段と
をさらに備え、
前記動きベクトル探索手段は、前記符号化対象のマクロブロックの縮小画像について検出された前記第２の動きベクトルを利用して、前記第１の動きベクトルを検出するための探索範囲を決定することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、インタレース映像信号の符号化時に映像の動きが小さい場合でも動きベクトルを誤検出せず、映像の劣化が少ない動き補償符号化技術を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態１に係る動き補償符号化装置の構成例を示すブロック図。
【図２】インタレース映像信号の符号化時の問題点を説明するための図。
【図３】インタレース／プログレッシブ変換の一方式を説明するための図。
【図４】実施形態２に係る動き補償符号化装置の構成例を示すブロック図。
【図５】実施形態１に係る動きベクトル検出処理のフローチャート。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明をその好適な実施形態に基づき詳細に説明する。
【００１３】
［実施形態１］
以下に図１及び図５を参照しながら、本発明にかかる動きベクトル検出装置を含む補償符号化装置の好適な一実施形態について詳細に説明する。図１は本発明に係る動き補償符号化装置のブロック図であり、図５は、本実施形態に係る動きベクトル検出の処理の一例を示すフローチャートである。
【００１４】
本実施形態の特徴は、フィールド画像における符号化対象のマクロブロックについて動き補償を行うための動きベクトル（第１の動きベクトル）の誤検出を減らすための技術にある。具体的には、フィールド画像をフレーム画像に変換した後縮小画像を生成し、当該縮小画像についてプレ動きベクトル（第２の動きベクトル）を検出し、当該第２の動きベクトルを第１の動きベクトルの探索のために利用する。
【００１５】
図１に示す各構成部を利用して、本実施形態における処理について具体的に説明する。図１の動き補償符号化装置１００において、各ブロックは専用ロジック回路やメモリを用いてハードウェア的に構成されてもよい。或いは、メモリに記憶されている処理プログラムをＣＰＵが実行することにより、ソフトウェア的に構成されてもよい。また、図５のフローチャートは、例えば、該当する機能ブロックとして機能するＣＰＵが対応するプログラム（ＲＯＭ等に格納）を実行することにより実現できる。
【００１６】
Ｓ５０１では、インタレース／プログレッシブ変換部１０１は、インタレース映像信号をプログレッシブ映像信号に変換した上で、縮小画像生成部１０２に送信する。
【００１７】
インタレース／プログレッシブ変換の一例を図３を用いて説明する。なお、プログレッシブ映像信号を生成する方法は特に問わない。図３は連続する２つのフィールド画像（インタレース映像信号）から同じ座標位置を１画素分の幅で抜き出したものである。このとき、現フィールドの補間対象の画素（補間点）３０１を中心に抜き出すようにする。インタレース／プログレッシブ変換時にはまず現フィールドの補間点３０１の上下の値と、現フィールドの補間点３０１と同位置の、現フィールドの直前に位置する前フィールドの値の３値を用いて補間画素で動きの有無を判定する。なお図２のように現フィールドの補間点３０１の上下の値をb,c、現フィールドの補間点３０１と同位置の前フィールドの値をaとする。これらの値を用いて次の式１を用いてフィールド間差分値fddを算出する。
【００１８】
ｆｄｄ ＝ |ａ−(ｂ＋ｃ)／２|    ・・・（式１）
ｆｄｄが大きいほど現フィールドと前フィールドとの差が大きいため、動きがあったものと判定する。一方、fddが小さいほど現フィールドと前フィールドとの差が小さいため、静止していると判定する。例えばｆｄｄと、所定値（閾値ＴＨ１）とを比較して、ｆｄｄ＞ＴＨ１の場合には、「動きあり」と判定し、ｆｄｄ≦ＴＨ１の場合には「静止」と判定することができる。
【００１９】
動き判定で「静止」であった場合、補間点は前フィールドの値から変化していないと考えられるので、前フィールドの値（図２の”ａ”）をそのまま代入する。この補間処理方法のことを「フィールド間補間」と呼ぶ。一方、動き判定で「動きあり」と判定された場合は前フィールドの値とは関係の無いものとなっている。したがって、現フィールドの上下の画素値の平均値（図２の（ｂ＋ｃ）／２）を補間値とする。この補間処理方法のことを「フィールド内補間」と呼ぶ。
【００２０】
次にＳ５０２で縮小画像生成部１０２は、インタレース／プログレッシブ変換部１０１を縮小した画像を生成する。縮小画像を生成する方法は、例えば縦１／２、横１／４縮小する場合は縦２画素、横４画素の画素値の平均値を用いるなどの方法が挙げられるが特に方法は問わない。なお、本実施形態では縦１／２、横１／４縮小した場合を例に挙げて説明する。
【００２１】
次にプレ動きベクトル探索用参照フレームメモリ１０３は、縮小画像生成部１０２から表示順にプログレッシブ映像の縮小画像を保存し、符号化順序に従い符号化対象ブロックをプレ動きベクトル探索部１０４に順次送信する。また、プログレッシブ映像の縮小画像をプレ動きベクトルを探索するための参照用の縮小画像として保存し、プレ動きベクトル探索部１０４に順次送信する。なお、プレ動きベクトル探索はプログレッシブ映像の縮小画で行うため符号化対象ブロックの大きさをそれに合わせた大きさに調整して行う。
【００２２】
本実施形態の場合、プログレッシブ化し縦１／２、横１／４縮小しているので縦方向に２倍にした上で縦１／２、横１／４縮小したブロック、すなわち横方向に１／４したブロックを用いて行う。例えばＭＰＥＧ２の符号化対象ブロックのサイズは１６×１６のため、プレ動きベクトル探索は４×１６のブロックを用いて行う。
【００２３】
プレ動きベクトル探索部１０４は、Ｓ５０３にてプレ動きベクトルの探索を行う。ここでは、プレ動きベクトル探索用参照フレームメモリ１０３からの符号化対象マクロブロックと、プレ動きベクトル探索用参照フレームメモリ１０３からの参照画像との相関が強い位置に基づいてベクトル検出を行う。
【００２４】
最大相関度を有する動きベクトルを推定するためには、後述のMSE(Mean Square Error) (式２)、MAE(Mean Absolute Error)（式３）、あるいはMAD(Mean Absolute Difference) などの評価関数を用いて次のように求められる。
2012034225.tif 000003
2012034225.tif 000004
ここで、Ｓrefは参照画像、Ｓcur,kは現在のフレームでk番目のマクロブロックを示す。(i,j)は現在フレームのk番目のマクロブロックに対する参照画像の空間的な位置をそれぞれ示している。
【００２５】
ただし、Ｘ及びＹをサーチウィンドウの水平及び垂直画素数とすると、ｘ＝ｇ×ｕ、ｙ＝ｈ×ｖであり、ｇ、ｈは、０≦ｘ≦Ｘ、１≦ｇ≦Ｘ、０≦ｙ≦Ｙ、１≦ｈ≦Ｙを満たす自然数である。また、Ｕ、Ｖは、Ｘ−ｇ≦Ｕ≦Ｘ、Ｙ−ｈ≦Ｖ≦Ｙを満たす。
【００２６】
この評価関数は画素の差に基づいたものであり、最も小さいMAE値やMSE値を有する場合を現在のマクロブロックにおけるプレ動きベクトルとして選定する。なお、プレ動きベクトル探索はプログレッシブ映像の縮小画を用いて行うため、インタレース映像と画像サイズを合わせる必要がある。本実施形態では検出したプレ動きベクトルを横方向に４倍する。続いて決定したプレ動きベクトルを動きベクトル探索部１０５及びフィルタ後参照フレームメモリ１１８に送信する。
【００２７】
動きベクトル探索部１０５はＳ５０４にて動きベクトルの探索を行う。ここでは、プレ動きベクトル探索部１０４からのプレ動きベクトルを利用して、符号化対象マクロブロックとフィルタ後参照フレームメモリ１１８からの参照画像との相関が強くなる位置に基づいてベクトル探索を行う。具体的には、動きベクトル探索を行う参照画像の領域をプレ動きベクトルに基づいて絞り込んでもよいし、プレ動きベクトル分だけずらした参照画像をフィルタ後参照フレームメモリ１１８から取得してもよい。或いは、その両方を実施して、プレ動きベクトル分だけずらした参照画像を取得した上で、探索領域を参照画像内で更に絞り込んでもよい。
【００２８】
最大相関度を有する動きベクトルを推定するためには、プレ動きベクトルと同様、前述のMSEあるいはMADなどの評価関数を用いる。最も小さいMAE値やMSE値を有する場合を現在のマクロブロックにおける動きベクトルとして選定する。なお、動き探索はインタレース映像をそのまま用いて行うのでプレ動きベクトル探索のようにブロックのサイズの調整、動きベクトルの大きさの調整をする必要は無い。
【００２９】
続いて決定した動きベクトルを動き補償部１０６とエントロピー符号化部１１２に情報を送出する。また、同時に動き情報の生成に使った参照画像の識別情報もまた、動き補償部１０６とエントロピー符号化部１１２に送出する。
【００３０】
以上のように、インタレース／プログレッシブ変換部１０１、縮小画像生成部１０２、プレ動きベクトル探索用参照フレームメモリ１０３、プレ動きベクトル探索部１０４により、第２の動きベクトルであるプレ動きベクトルを検出する。そして、当該プレ動きベクトルを利用して、動きベクトル探索部１０５、フィルタ後参照フレームメモリ１１８により、第１の動きベクトルである動きベクトルを検出することが出来る。これらの構成により、本実施形態における動きベクトル検出装置を構成することができる。
【００３１】
イントラ予測部１０７はフィルタ前参照フレームメモリ１１６の復元画像データを所定のブロック単位に分割し、各ブロック内の復元画像データを、前記ブロックの周辺画素値から予測する。前記予測値を予測画像情報として算出し、スイッチ１０８に送られる。スイッチ１０８では図示しないコントローラによって、予測方法に応じて、スイッチを切り替える。イントラ予測符号化方式の場合、スイッチは１０８ａに接続され、予測画像情報はイントラ予測方式による算出方法で得られたデータが送出される。
【００３２】
動き補償部１０６では、前記参照フレーム識別情報に応じた参照画像の復元画像をフィルタ後参照フレームメモリ１１８から呼出し、前記復元画像データと前記動きベクトルから、現行画像の予測画像情報を生成する。このように、インター予測符号化では、現行画像とは別のフレームを参照して、予測画像情報を作り出すところが、イントラ予測符号化とは異なる。
【００３３】
生成されたインター方式の予測画像情報は、スイッチ１０８で１０８ｂに接続され、予測画像情報はインター予測方式による算出方法で得られたデータが送出される。減算器１０９は符号化対象ブロックからスイッチ１０８から送信されてくる予測画像ブロックを減算し、画像残差データを出力する。直交変換部１１０では減算器１０９から出力された画像残差データを直交変換処理して、変換係数を量子化部１１１に送信する。
【００３４】
量子化部１１１は直交変換部１１０からの変換係数を所定の量子化パラメータを用いて量子化し、エントロピー符号化部１１２および逆量子化部１１３に送信する。エントロピー符号化部１１２は量子化部１１１で量子化された変換係数を入力し、CAVLC、CABACなどのエントロピー符号化を施して、符号化データとして出力する。
【００３５】
続いて、量子化部１１１で量子化された変換係数を用いて参照画像を生成する方法について述べる。逆量子化部１１３は量子化部１１１から送信されてくる量子化された変換係数を逆量子化する。逆直交変換部１１４は逆量子化部１１３で逆量子化された変換係数を逆直交変換し、復号残差データを生成し加算器１１５に送信する。加算器１１５は復号残差データと後述する予測画像データとを加算し参照画像を生成し、フィルタ前参照フレームメモリ１１６に保存する。また、ループフィルタ１１７に送信される。但し、この時点の復元画像データは予測情報の誤差や前記量子化処理における量子化誤差によって、入力画像データよりも僅かに劣化している画像となっている。
【００３６】
ループフィルタ１１７では、ブロック境界に隣接する画素データに対して所定のフィルタ処理を施し、ブロック境界のデータの不連続性を抑圧する。先に述べたように、復元される画像データは入力画像よりも劣化した画像となっており、特に各処理において所定のブロック単位で処理される画像データは、ブロック境界でデータの不連続性が生じやすくブロック歪として画像認識されてしまう。そこで、ブロック歪を低減させるためにデブロッキングフィルタを用いる。境界処理された前記復元画像データはフィルタ後参照フレームメモリ１１８に保存される。
【００３７】
以上のようにインタレース映像を符号化する場合においても階層動きベクトル探索の上層での動きベクトル探索時にはプログレッシブ映像を用いることで動きが少ない映像であっても動きベクトルの誤検出を減らすことができる。
【００３８】
［実施形態２］
次に図４のブロック図を参照しながら、本発明にかかる動きベクトル検出装置のもう一つの実施形態について詳細に説明する。図４に示す実施形態２に係る動き補償符号化装置１００の動きベクトル検出装置は、実施形態１とほぼ同じ構造を有するが、符号化対象マクロブロック動き判定部１１９およびプレ動きベクトル保存部１２０を有する点が異なる。また、インタレース／プログレッシブ変換部１０１の動き判定結果を符号化対象マクロブロック動き判定部１１９に送信し、符号化対象マクロブロックの動き判定結果に応じて、プレ動きベクトル探索部１０４の動きベクトル探索方法を切り換えている点が異なる。
【００３９】
なお、インタレース／プログレッシブ変換部１０１、プレ動きベクトル探索部１０４、符号化対象マクロブロック動き判定部１１９及びプレ動きベクトル保存部１２０以外の構成の動作については実施形態１と同様のため説明を省く。インタレース／プログレッシブ変換部１０１は実施形態１で使用した式１を用いてインタレース／プログレッシブ変換対象画素の動き判定を行い、判定結果を符号化対象マクロブロック動き判定部１１９に送信する。符号化対象マクロブロック動き判定部１１９はインタレース／プログレッシブ変換部１０１からの動き判定結果を受け、符号化対象マクロブロックの動き判定を行い、判定結果をプレ動きベクトル探索部１０４に送信する。
【００４０】
以下、符号化対象マクロブロックの動き判定方法について説明する。符号化対象マクロブロック動き判定部１１９はインタレース／プログレッシブ変換部１０１からの動き判定結果を受け、符号化対象マクロブロックの画素のうち動きがあったと判定された画素の数をカウントする。カウント数をＭＶcntとし後述する式４−１及び式４−２を用いて符号化対象ブロックが動いているかどうか判定する。
【００４１】
ＭＶcnt≧ＴＨ２    ・・・（式４ー１）
ＭＶcnt＜ＴＨ２    ・・・（式４ー２）
ここでＴＨ２は所定の閾値である。式４−１の場合は動きがあった画素数が多いと判定されているため、符号化対象マクロブロックに動きがあったものとする。一方、式４−２の場合は動きがあった画素の数が少ないと判定されているため、符号化対象マクロブロックに動きが無かったものとする。
【００４２】
プレ動きベクトル探索部１０４は符号化対象マクロブロック動き判定部１１９から送信されてくる符号化対象マクロブロックの動き判定結果に応じて、探索位置を切り替えて動きベクトル探索を行う。符号化対象マクロブロックに動きが無いと判定された場合、符号化対象マクロブロックの位置に基づいて探索範囲を決定し、プレ動きベクトル探索用参照フレームメモリ１０３に参照画像を要求する。そして、得られた参照画像を用いて、符号化対象マクロブロックの周辺で動き探索を行う。
【００４３】
一方、動きがあると判定された場合、符号化対象マクロブロックの位置と、周辺のマクロブロックで得られたプレ動きベクトル（「予測動きベクトル」という）とに基づいて探索範囲を決定する。そして、プレ動きベクトル探索用参照フレームメモリ１０３に参照画像を要求する。ここで周辺のマクロブロックには、例えば、既にプレ動きベクトルの検出が終わったマクロブロックであって、符号化対象マクロブロックに隣接するマクロブロックが含まれる。対象となる周辺マクロブロックが複数ある場合には、複数のプレ動きベクトルを合成して得られた結果を予測動きベクトルとしてもよい。このようにして、プレ動きベクトル探索部１０４は、予測動きベクトル分だけ探索位置をずらした位置で動き探索を行う。そして実施形態１と同様にＭＳＥ、ＭＡＥあるいはＭＡＤを求め、最も小さいＭＡＥ値やＭＳＥ値を有する場合を現在のマクロブロックにおけるプレ動きベクトルに選定する。
【００４４】
なお、プレ動きベクトル探索はプログレッシブ映像の縮小画を用いて行うため、インタレース映像と画像サイズを合わせる必要がある。本実施形態では検出したプレ動きベクトルを横方向に４倍する。続いて決定したプレ動きベクトルを動きベクトル探索部１０５及びフィルタ後参照フレームメモリ１１８に送信する。また、プレ動きベクトル探索部内のプレ動きベクトル保存部１２０に送信する。以降の符号化処理は実施形態１と同様のため説明を省く。
【００４５】
なお、本実施形態では動きがあると期待される位置を周辺のマクロブロックで求めたプレ動きベクトルを利用して特定しているが、他の方法を用いてもよい。例えば、参照画像に対する符号化対象画像の空間的な位置の差（即ち、フィールド間のずれ量）を示すグローバルベクトル探索部を、符号化対象マクロブロック動き判定部１１９とプレ動きベクトル保存部１２０の代わりに設けてもよい。グローバルベクトル探索部はグローバルベクトルを検出し、プレ動きベクトル探索部１０４に出力する。プレ動きベクトル探索部１０４はグローバルベクトル分だけ符号化対象マクロブロックからずらした位置でプレ動きベクトルを探索しても良い。
【００４６】
グローバルベクトルの検出にあたっては動きベクトル同様ＭＳＥ(Mean Square Error)、ＭＡＥ(Mean Absolute Error)、あるいはＭＡＤ(Mean Absolute Differ ence)などの評価関数を用いることができる。ＭＳＥ、ＭＡＥを用いた評価関数の一例を式５及び式６に示す。
2012034225.tif 000005
2012034225.tif 000006
ここで、Ｓcur（ｍ、ｎ）は現在のフレームでの（ｍ、ｎ）番目の画素値、Ｓref（ｍ、ｎ）は参照画像での（ｍ、ｎ）番目の画素値を示す。(i,j)は参照画像に対する現在のフレームの空間的な位置をそれぞれ示している。
【００４７】
ただし、Ｍ、Ｎを１フレームの水平及び垂直画素数とすると、ｍ＝ｋ×ｑ、ｎ＝ｌ×ｒであり、ｋ、ｌは、０≦ｍ≦Ｍ、１≦ｋ≦Ｍ、０≦ｎ≦Ｎ、１≦ｌ≦Ｎを満たす自然数である。また、Ｑ、Ｒは、Ｍ−ｋ≦Ｑ≦Ｍ、Ｎ−ｌ≦Ｒ≦Ｎを満たす。
【００４８】
以上のように本実施形態では、符号化対象ブロックの動きが無い時には符号化対象マクロブロック周辺でプレ動きベクトル探索を行い、動きがある場合には動きがあると期待される位置でプレ動きベクトル探索を行う。これにより、動きベクトルの誤検出を減らすことができる。
【００４９】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012034225.tif 000007
【図２】
2012034225.tif 000008
【図３】
2012034225.tif 000009
【図４】
2012034225.tif 000010
【図５】
2012034225.tif 000011