(57)【要約】【課題】動きベクトルの検出処理を煩雑なものとすることなく、動きボケ、エッジ部分におけるコーミングおよびダーティウィンドウ効果を抑制できる動きベクトル処理装置を提供する。【解決手段】本発明に係る動きベクトル処理装置１は、検出対象サブブロックを含むブロックの動きベクトル、および検出対象サブブロックに接する各ブロックの各動きベクトル、ならびにこれらの動きベクトルをフィルタ処理した結果の動きベクトルを、それぞれ候補ベクトルとして取得する候補ベクトル取得部３と、候補ベクトルごとに、検出対象サブブロックの存在する画像の前および後の画像の少なくともいずれかの画像において検出対象サブブロックを上記候補ベクトル分移動させた領域のうち、検出対象サブブロックに最も類似する領域の算出に用いられた候補ベクトルを、検出対象サブブロックの動きベクトルとして検出する動きベクトル決定部７とを備えている。【選択図】図１
2009004919.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが動きベクトルを有している複数のブロックに分割された画像の動きベクトルを処理する動きベクトル処理装置であって、
上記ブロックを形成する複数のサブブロックのうち１つを、検出対象サブブロックとして選択する手段と、
上記検出対象サブブロックを含むブロックの上記動きベクトル、および、上記検出対象サブブロックに接する各上記ブロックの各上記動きベクトル、ならびにこれらの動きベクトルをフィルタ処理した結果の動きベクトルを、それぞれ候補ベクトルとして取得する候補ベクトル取得手段と、
上記候補ベクトルごとに、上記画像の前および後の画像のうちの少なくともいずれか１つの画像において上記検出対象サブブロックを上記候補ベクトル分移動させた領域を算出する領域算出手段と、
上記領域のうち上記検出対象サブブロックに最も類似する領域の算出に用いられた上記候補ベクトルを、上記検出対象サブブロックの動きベクトルとして検出する動きベクトル検出手段とを備えていることを特徴とする動きベクトル処理装置。
【請求項２】
上記動きベクトル検出手段は、上記検出対象サブブロックと上記領域とを最も類似させる、または上記領域間を最も類似させる上記候補ベクトルを上記動きベクトルとして検出することを特徴とする請求項１に記載の動きベクトル処理装置。
【請求項３】
上記検出対象サブブロックと上記領域との類似もしくは上記領域間の類似は、上記検出対象サブブロックの輝度値と上記領域の輝度値との類似度もしくは相違度、または上記領域間の輝度値の類似度もしくは相違度から求めることを特徴とする請求項２に記載の動きベクトル処理装置。
【請求項４】
各上記候補ベクトルのうちの少なくとも２つが同一の量である場合に、同一の量である各上記候補ベクトルのいずれか１つを変更する候補ベクトル入れ替え手段をさらに備えており、
上記候補ベクトル入れ替え手段は、
上記検出対象サブブロックおよび入れ替えの対象とする上記候補ベクトルを有する上記ブロックと同一線上の各上記ブロックにおける上記動きベクトルのうち、
各上記候補ベクトルと異なる量であり、かつ、入れ替えの対象とする上記候補ベクトルを有する上記ブロックに最も近い位置の上記ブロックにおける上記動きベクトルを新たに上記候補ベクトルとして取得することを特徴とする請求項１から３のいずれか１項に記載の動きベクトル処理装置。
【請求項５】
それぞれが動きベクトルを有している複数のブロックに分割された画像の動きベクトルを処理する動きベクトル処理方法であって、
上記ブロックを形成する複数のサブブロックのうち１つを、検出対象サブブロックとして選択する工程と、
上記検出対象サブブロックを含むブロックの上記動きベクトル、および、上記検出対象サブブロックに接する各上記ブロックの各上記動きベクトル、ならびにこれらの動きベクトルをフィルタ処理した結果の動きベクトルを、それぞれ候補ベクトルとして取得する候補ベクトル取得工程と、
上記候補ベクトルごとに、上記画像の前後の画像の少なくともいずれか１つの画像において上記検出対象サブブロックを上記候補ベクトル分移動させた領域を算出する領域算出工程と、
上記候補ベクトルから上記動きベクトルを検出する動きベクトル検出工程とを備えていることを特徴とする動きベクトル処理方法。
【請求項６】
請求項１から４のいずれか１項に記載の動きベクトル処理装置を動作させるプログラムであって、コンピュータを上記の各手段として機能させるためのプログラム。
【請求項７】
請求項６に記載のプログラムを記録しているコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像のＩＰ変換に係る動きベクトルの処理装置、処理方法装置、処理プログラム、および該プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
動画像において、前のフレームと現在のフレームとは全く同じではなく、フレーム中の物体が動いたり、カメラなどの撮像機器が動いたりすることによるフレーム間における動きがある。一般的に、このような動きを補正するためには、動き補償が用いられる。動き補償とは、フレーム間予測において上述したフレーム間の動きを補正するものであり、具体的には、現在のフレームを予測する場合に、動きの分だけずらした位置の画像を用いて補正するものである。動き補償を行うためには、画像の動く量を推定する動きベクトルを検出する必要がある。
【０００３】
動き補償を行うための動きベクトルを検出する方法としては、ブロックマッチングによる検出方法が一般的である。ブロックマッチングとは、フレームを複数のブロック（領域）に分割し、現フレームにおいて定められた範囲のブロックと、次フレームにおける注目ブロックとの差分評価関数の値を計算することによって、動きベクトルを検出する方法である。
【０００４】
しかし、１ブロックにつき１つのベクトルしか用いない一般的なブロック分割では、ブロックの境界が視認されてしまうダーティウィンドウ効果を生じる。特許文献１には、動きベクトルを有するブロックをさらに分割したサブブロックにおいて動きベクトルを検出することによって、ダーティウィンドウ効果を低減する技術が開示されている。特許文献１におけるサブブロックの有する動きベクトルの検出方法について以下に説明する。
【０００５】
特許文献１では、例えば、図３に示すように、画像がブロックＡ〜ブロックＹに分割されており、ブロックＭがサブブロックＭ１〜Ｍ４にさらに分割されている。このうち、例えば、サブブロックＭ１における動きベクトルを検出する場合には、まず、サブブブロックＭ１によって分割されているブロック（母ブロック）であるブロックＭ、サブブロックＭ１が隣接するブロックＨおよびＬの有する動きベクトルを取得する。そして、取得した動きベクトルにおける中央値を検出することによって、サブブロックＭ１における動きベクトルの候補となるベクトルを設定する。図３は、ブロックおよびサブブロックに分割した画像の一例を模式的に示す図である。
【０００６】
設定した候補となるベクトルが、ブロックＨ、ＬおよびＭにおける動きベクトルのいずれとも等しくない場合には、サブブロックＭ１の動きベクトルとして、母ブロックであるブロックＭの動きベクトルを設定する。また、設定した候補となるベクトルがブロックＨ、ＬおよびＭにおける動きベクトルのうちのいずれか１つと等しい場合には、該候補となるベクトルをサブブロックＭ１における動きベクトルとして設定する。なお、上記の動きベクトルの検出は、ｘ成分およびｙ成分のそれぞれにおいて行う。
【特許文献１】特許第３２３８７２５号公報（平成１３年１０月５日登録）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１に記載の技術では、中央値フィルタの候補が限定される。すなわち、各ブロックにおける動きベクトルのいずれかを新たなベクトルとして設定するため、あらかじめ検出している、各ブロックにおける動きベクトル以外の値が生じない。
【０００８】
したがって、振り子のような回転運動の映像など、サブブロック単位によって動きベクトルが異なるような場合、より整合性の高いベクトルが存在していたとしても、整合性の高いベクトルを選択できない。そのため、振り子のような回転運動の映像などでは、動きボケおよびエッジ部分におけるコーミングなどが生じる。また、ダーティウィンドウ効果も十分に低減できない。
【０００９】
上述の問題を解決するために、サブブロックの動きベクトルを検出した後、平滑化フィルタ（ローパスフィルタ）をかける手法もあるが、平滑化フィルタをかけることによって得られるベクトルに対する整合性の確認を改めて行う必要があるため、動きベクトル検出におけるプロセスが煩雑となってしまう。
【００１０】
また、特許文献１に記載の技術では、中央値フィルタによりベクトル検出を行っている。この中央値フィルタの候補ベクトルには、サブブロックＭ１に隣接するブロックＨおよびＬを用いて整合性を確認しているが、母ブロックＭまたはサブブロックＭ１において整合性を確認していないベクトルが含まれている。この結果、サブブロックＭ１において整合性のとれないベクトルを検出してしまうことがある。
【００１１】
例えば、ブロック「Ｍ、Ｒ、Ｎ、Ｓ」の４ブロックとほぼ同じ大きさの物体が動き、その他のブロックが背景となっている映像の場合、母ブロックＭのベクトルｍは物体の動きと同じベクトルを検出し、ブロックＬのベクトルｌとブロックＨのベクトルｈは、背景の動きと同じベクトルを検出する。しかし、特許文献１に記載の技術では、サブブロックＭ１における中央値フィルタの候補ベクトルは、ベクトルｍ（物体のベクトル）、ベクトルｌ（背景のベクトル）、ベクトルｈ（背景のベクトル）となり、中央値フィルタの結果はベクトルｌまたはベクトルｈの背景のベクトルである。つまり、サブブロックＭ１のベクトルｍ１として検出されるベクトルは、背景のベクトルとなってしまい、サブブロックＭ１において整合性のとれないベクトルを検出してしまうことになる。
【００１２】
本発明は、上記問題点に鑑みたものであり、その主たる目的は、例えば回転映像において、動きベクトルの検出処理を煩雑とすることなく、動きボケ、エッジ部分におけるコーミングおよびダーティウィンドウ効果を抑制できる動きベクトル処理装置を提供することである。
【課題を解決するための手段】
【００１３】
本発明に係る動きベクトル処理装置は、上記課題を解決するために、それぞれが動きベクトルを有している複数のブロックに分割された画像の動きベクトルを処理する動きベクトル処理装置であって、上記ブロックを形成する複数のサブブロックのうち１つを、検出対象サブブロックとして選択する手段と、上記検出対象サブブロックを含むブロックの上記動きベクトル、および、上記検出対象サブブロックに接する各上記ブロックの各上記動きベクトル、ならびにこれらの動きベクトルをフィルタ処理した結果の動きベクトルを、それぞれ候補ベクトルとして取得する候補ベクトル取得手段と、上記候補ベクトルごとに、上記画像の前および後の画像のうちの少なくともいずれか１つの画像において上記検出対象サブブロックを上記候補ベクトル分移動させた領域を算出する領域算出手段と、上記領域のうち上記検出対象サブブロックに最も類似する領域の算出に用いられた上記候補ベクトルを、上記検出対象サブブロックの動きベクトルとして検出する動きベクトル検出手段とを備えていることを特徴としている。
【００１４】
上記の構成によれば、動きベクトル処理装置は、動きベクトルの検出対象である検出対象サブブロックを含むブロックにおける動きベクトル、および、検出対象サブブロックに接するブロックにおける動きベクトル、ならびにそれらの動きベクトルをフィルタ処理することにより算出したベクトルを、検出対象サブブロックの動きベクトルの候補ベクトルとして取得し、取得した候補ベクトルから検出対象サブブロックの動きベクトルを決定している。
【００１５】
これによって、サブブロックの動きベクトルの候補として、新たに算出したベクトル、すなわち、すでに検出している動きベクトルとは異なる量のベクトルを設定できる。このため、例えば、回転運動の映像などのサブブロック単位において動きベクトルが異なる場合であっても、より整合性の高いベクトルをサブブロックの動きベクトルとして検出できる。
【００１６】
また、上記の構成によれば、新たなベクトルの整合性も、ブロックにおける動きベクトルの整合性の確認と同時、すなわち検出対象サブブロックの動きベクトルの検出時に確認できる。
【００１７】
したがって、動きベクトルの検出プロセスが煩雑となることなく、検出した動きベクトルに基づいて作製した画像において、動きボケおよびエッジ部分におけるコーミングなどを抑制できる。また、ダーティウィンドウ効果を十分に低減できる効果を奏する。
【００１８】
また、上記の構成によれば、検出対象サブブロックに接する全てのブロックにおいて整合性を確認している。これによって、動きの境界付近において、整合性のとれていないベクトルをサブブロックのベクトルとして検出することを防止できる効果も併せて奏する。
【００１９】
また、本発明に係る動きベクトル処理装置では、さらに、上記動きベクトル検出手段は、上記検出対象サブブロックと上記領域とを最も類似させる、または上記領域間を最も類似させる上記候補ベクトルを上記動きベクトルとして検出することが好ましい。
【００２０】
上記の構成によれば、検出対象サブブロックと領域とが最も類似するような候補ベクトル、または領域間を最も類似するような候補ベクトルを動きベクトルとして選択できるため、上述した従来の問題点であるサブブロックＭ１のベクトルとして背景のベクトルを選択することを回避できる。結果として、動きボケおよびエッジ部分におけるコーミングを抑制し、かつダーティウィンドウ効果を低減できる効果を奏する。
【００２１】
また、限られた候補ベクトルにおいて動きベクトルを決定するため、動きベクトル検索を再度行うよりも計算量を大幅に削減できる効果も併せて奏する。
【００２２】
また、本発明に係る動きベクトル処理装置では、さらに、上記検出対象サブブロックと上記領域との類似もしくは上記領域間の類似は、上記検出対象サブブロックの輝度値と上記領域の輝度値との類似度もしくは相違度、または上記領域間の輝度値の類似度もしくは相違度から求めることが好ましい。
【００２３】
また、本発明に係る動きベクトル処理装置では、さらに、各上記候補ベクトルのうちの少なくとも２つが同一の量である場合に、同一の量である各上記候補ベクトルのいずれか１つを変更する候補ベクトル入れ替え手段をさらに備えており、上記候補ベクトル入れ替え手段は、上記検出対象サブブロックおよび入れ替えの対象とする上記候補ベクトルを有する上記ブロックと同一線上の各上記ブロックにおける上記動きベクトルのうち、各上記候補ベクトルと異なる量であり、かつ、入れ替えの対象とする上記候補ベクトルを有する上記ブロックに最も近い位置の上記ブロックにおける上記動きベクトルを新たに上記候補ベクトルとして取得することが好ましい。
【００２４】
上記の構成によれば、動きベクトル処理装置は、全ての候補ベクトルの量が異なるように候補ベクトルを取得している。
【００２５】
これによって、検出対象サブブロックの動きベクトルの検出精度を高めることができる。したがって、検出した動きベクトルを用いた画像において、動きボケおよびコーミングが生じることをより一層抑制するとともに、ダーティウィンドウ効果をより一層防止できる。
【００２６】
本発明に係る動きベクトル処理方法は、上記課題を解決するために、それぞれが動きベクトルを有している複数のブロックに分割された画像の動きベクトルを処理する動きベクトル処理方法であって、上記ブロックを形成する複数のサブブロックのうち１つを、検出対象サブブロックとして選択する工程と、上記検出対象サブブロックを含むブロックの上記動きベクトル、および、上記検出対象サブブロックに接する各上記ブロックの各上記動きベクトル、ならびにこれらの動きベクトルをフィルタ処理した結果の動きベクトルを、それぞれ候補ベクトルとして取得する候補ベクトル取得工程と、上記候補ベクトルごとに、上記画像の直前または直後の画像において上記検出対象サブブロックを上記候補ベクトル分移動させた領域を算出する領域算出工程と、上記領域のうち上記検出対象サブブロックに最も類似する領域の算出に用いられた上記候補ベクトルを、上記検出対象サブブロックの上記動きベクトルとして検出する動きベクトル検出工程とを備えていることを特徴としている。
【００２７】
上記の構成によれば、本発明に係る動きベクトル処理装置と同様の作用効果を奏する。
【００２８】
なお、上記動きベクトル処理装置は、コンピュータによって実現してもよい。この場合、コンピュータを上記各手段として動作させることにより上記動きベクトル処理装置をコンピュータにおいて実現する上記動きベクトル処理プログラム、およびその上記動きベクトル処理プログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００２９】
以上のように、本発明に係る動きベクトル処理装置は、動きベクトルの検出対象である検出対象サブブロックを含むブロックにおける動きベクトル、検出対象サブブロックに接するブロックにおける動きベクトル、ならびにそれらの動きベクトルに基づいて算出したベクトルを候補ベクトルとして取得し、取得した候補ベクトルから検出対象サブブロックとして最も好適であると判定される動きベクトルを検出する。
【００３０】
これによって、動きベクトルの検出プロセスを煩雑とすることなく、検出した動きベクトルに基づいて作製した画像において、動きボケおよびエッジ部分におけるコーミングなどを抑制できる。また、ダーティウィンドウ効果を十分に低減できる効果を奏する。
【発明を実施するための最良の形態】
【００３１】
〔実施形態１〕
本発明に係る画像処理装置の一実施形態について、図１〜図１０を参照して以下に説明する。
【００３２】
（動きベクトル処理装置１の構成）
まず、本発明に係る動きベクトル処理装置１について、図１を参照して以下に説明する。図１は、本発明の一実施形態に係る動きベクトル処理装置１の要部構成を示すブロック図である。動きベクトル処理装置１は、図１に示すように、サブブロック分割部２、候補ベクトル取得部３、候補ベクトル判定部４、候補ベクトル入れ替え部５、エラー値算出部６、および動きベクトル決定部７を備えている。
【００３３】
（サブブロック分割部２）
サブブロック分割部２は、画像を分割し、かつそれぞれが動きベクトルを有している複数のブロックを複数のサブブロックにさらに分割するものである。サブブロック分割部２は、従来公知の技術を用いることができる。
【００３４】
ここで、本明細書等において、サブブロックに分割されているブロックを、該サブブロックの「母ブロック」とも称する。
【００３５】
なお、画像をブロックに分割するブロック分割部（図示しない）および分割したブロックにおける動きベクトルを検出する動きベクトル検出部（図示しない）もまた、従来公知の技術を用いることができる。
【００３６】
（候補ベクトル取得部３）
候補ベクトル取得部３は、動きベクトルを検出しようとするサブブロック（検出対象サブブロック）における動きベクトルの候補となる候補ベクトルを取得するものである。候補ベクトルの取得方法の詳細については、下記にて詳述する。
【００３７】
（候補ベクトル判定部４）
候補ベクトル判定部４は、取得した候補ベクトルに、同一の量のベクトルがあるか否かを判定するものである。判定の詳細な方法については、下記にて詳述する。
【００３８】
（候補ベクトル入れ替え部５）
候補ベクトル入れ替え部５は、候補ベクトル判定部４において同一の量の候補ベクトルが見出された場合に、同一の量の候補ベクトルのいずれか１つを入れ替えるものである。候補ベクトルの入れ替え方法の詳細については、下記にて詳述する。
【００３９】
（エラー値算出部６）
エラー値算出部６は、検出対象サブブロックと、検出対象サブブロックの存在する画像の前後の画像のうちの少なくともいずれか１つにおいて検出対象サブブロックを候補ベクトル分移動させた領域との類似性を求めるものである。類似性は、検出対象サブブロックの輝度値と領域の輝度値の類似度または相違度（以下、エラー値とも称する）によって求める。
【００４０】
また、エラー値算出部６は、領域間、すなわち検出対象サブブロックを候補ベクトル分移動させた前の画像の領域と、後ろの画像の領域との類似性を求めてもよい。この場合、類似性は、前の画像の領域の輝度値と、後ろの画像の領域の輝度値とのエラー値によって求める。なお、エラー値の詳細な算出方法については、下記にて詳述する。
【００４１】
ここで、本明細書等における「前後の画像」とは、時間軸において現在の画像よりも過去の画像（前の画像）、および未来の画像（後ろの画像）を意味している。また、本明細書等において、「画像」とは、動画像であり、走査方式がプログレッシブ方式の場合にはフレームを指し、インターレース方式の場合にはフィールドを指す。
【００４２】
なお、エラー値算出部６は、候補ベクトルごとに、検出対象サブブロックの存在する画像の前後の画像のうちの少なくともいずれか１つにおいて検出対象サブブロックを候補ベクトル分移動させた領域を算出する領域算出部（図示しない）を備えている。
【００４３】
（動きベクトル決定部７）
動きベクトル決定部７は、エラー値が最小または最大となる候補ベクトルを検出対象サブブロックの動きベクトルとして検出するものである。具体的には、相違度をエラー値とする場合には、エラー値が最大となる候補ベクトルを検出対象サブブロックの動きベクトルとして選出し、類似度をエラー値とする場合には、エラー値が最小となる候補ベクトルを検出対象サブブロックの動きベクトルとして検出するものである。
【００４４】
エラー値算出部６と動きベクトル決定部７とは、実際に検出対象サブブロックの動きベクトルを検出するための部材であり、両部材を併せて動きベクトル検出部（動きベクトル検出手段）（図示しない）と称してもよい。
【００４５】
（ＩＰ変換部８）
ＩＰ変換部８は、動きベクトル処理装置１を構成する構成要素ではないが、便宜上図１に記載している。ＩＰ変換部８は、動きベクトル処理装置１において、決定された動きベクトルを用いて、画像をＩＰ変換（インターレース／プログレッシブ変換）するものである。なお、ＩＰ変換部８は、従来公知の技術を用いることができる。例えば、ＩＰ変換を施す技術として双方向型手法を用いてもよく、巡回型手法を用いてもよい。
【００４６】
（動きベクトル処理プロセスの概要）
次に、動きベクトル処理装置１における動きベクトル処理プロセスの概要について、図２を参照して以下に説明する。図２は、動きベクトル処理装置１における動きベクトル処理プロセスの概要を示すフローチャートである。
【００４７】
なお、本実施の形態では、動きベクトルの検出プロセスを把握し易いように、図３に示すようにブロック分割し、サブブロックＭ１（検出対象サブブロック）における動きベクトルｍ１を検出するプロセスを例に挙げて説明する。もちろん、本発明がサブブロックＭ１における動きベクトルｍ１の検出に限定されるものではない。また、以下の説明では、検出対象サブブロックと、検出対象サブブロックの存在する画像の前後の画像のうちの少なくともいずれか１つにおいて検出対象サブブロックを候補ベクトル分移動させた領域との類似性から動きベクトルを求める場合を例に挙げて説明する。
【００４８】
（母ブロックの分割）
まず、動きベクトル処理装置１におけるサブブロック分割部２は、既に動きベクトルを検出している母ブロックＭをサブブロックＭ１〜Ｍ４にさらに分割する（ステップＳ１）。なお、サブブロックＭ１〜Ｍ４の分割方法は、従来公知の技術を用いることができる。
【００４９】
また、図３においては、サブブロックを母ブロックの相似形となるように分割しているが、分割する数、および形状は、これに限定されるものではない。例えば、ブロックＭを２つのブロックに分割してもよいし、三角形などの他の多角形に分割してもよい。
【００５０】
（候補ベクトルの設定）
次に、候補ベクトル取得部３は、母ブロックＭのベクトルｍを候補ベクトルの一つとして取得する（ステップＳ２）。さらに、母ブロックＭおよびサブブロックＭ１のいずれにも接しているブロックであるブロックＧ、ＨおよびＬのベクトルｇ、ｈおよびｌを候補ベクトルとして取得する（ステップＳ３）。ここで、「母ブロックおよびサブブロックのいずれにも接している」とは、母ブロックおよびサブブロックの辺が接しているだけでなく、頂点が接している場合も含める。
【００５１】
なお、候補ベクトルとして取得するベクトルは、頂点の接するブロックであるブロックＧを除く母ブロックおよびサブブロックのいずれにも隣接するブロックＨおよびＬから取得してもよい。しかし、候補ベクトルを取得するブロックが減少すると、検出対象サブブロックの動きベクトルの精度が悪化するため、好ましくない。
【００５２】
ベクトルｇ、ｈ、ｌおよびｍを候補ベクトルとして取得すると、候補ベクトル取得部３は、取得した候補ベクトルであるベクトルｇ、ｈ、ｌおよびｍをフィルタ処理することにより新たなベクトルｚを算出し、候補ベクトルの一つとして取得する（ステップＳ４）。ベクトルｚの詳細な算出方法は、下記にて説明する。
【００５３】
すなわち、上述したステップＳ２〜Ｓ４の３ステップにおいて取得する、動きベクトルｍ１の候補となる候補ベクトルは、ブロックＧ、Ｈ、ＬおよびＭにおけるベクトルｇ、ｈ、ｌ、ｍおよび新たなベクトルｚの５つである。
【００５４】
（同一量の候補ベクトルの検出）
上述したようにステップＳ２〜Ｓ４において候補ベクトルを取得すると、動きベクトル処理装置１は、候補ベクトル判定部４において、取得した候補ベクトルｇ、ｈ、ｌおよびｍに同一の量のベクトルがあるか否かを判定する（ステップＳ５）。
【００５５】
取得した候補ベクトルｇ、ｈ、ｌおよびｍに同一の量の候補ベクトルがある場合（ステップＳ５においてＹｅｓ）には、同一の量の候補ベクトルのうちのいずれか１つを入れ替える（ステップＳ７）。候補ベクトルの入れ替えの詳細については、下記にて説明する。
【００５６】
（エラー値の算出）
取得した候補ベクトルｇ、ｈ、ｌおよびｍに同一の量の候補ベクトルがない場合（ステップＳ５においてＮｏ）には、エラー値算出部６は、取得した候補ベクトルｇ、ｈ、ｌ、ｍおよびｚのそれぞれについてエラー値を算出する。エラー値の算出の詳細については、下記にて説明する。
【００５７】
（動きベクトルの決定）
動きベクトル決定部７は、エラー値算出部６において算出された候補ベクトルｇ、ｈ、ｌ、ｍおよびｚにおけるエラー値のうち、エラー値の最も小さいまたは大きい候補ベクトルをサブブロックＭ１の動きベクトルｍ１として決定する（ステップＳ８）。エラー値の最も小さい候補ベクトルを動きベクトルとして検出するか、エラー値の最も大きい候補ベクトルを動きベクトルとして検出するかは、算出するエラー値の種類によって決まる。算出するエラー値の詳細については、後で説明する。
【００５８】
また、サブブロックＭ２〜Ｍ４における動きベクトルｍ２〜ｍ４および他のサブブロックの動きベクトルも同様のプロセスによって検出できる。
【００５９】
（本実施形態の利点）
以上のように、本発明に係る動きベクトル処理装置１では、検出対象サブブロックの母ブロックおよび検出対象サブブロックに接するブロックの動きベクトル、ならびに当該動きベクトルに基づいて算出した新たなベクトルのいずれかを、検出対象サブブロックの動きベクトルの候補ベクトルとして検出し、検出した候補ベクトルから検出対象サブブロックの動きベクトルを決定している。
【００６０】
すなわち、サブブロックの動きベクトルの候補ベクトルとして、すでに検出している動きベクトルとは異なる量の新たなベクトルを設定できる。これによって、例えば、回転運動のような映像などのサブブロック単位において動きベクトルが異なる場合であっても、より整合性の高いベクトルをサブブロックの動きベクトルとして検出できる。
【００６１】
したがって、検出した動きベクトルに基づいて作製した画像において、動きボケおよびエッジ部分におけるコーミングなどを抑制できる。また、ダーティウィンドウ効果を十分に低減できる。なお、本明細書等における「コーミング」とは、画像の動きの境界部分、すなわちエッジ部分が櫛歯状となることである。
【００６２】
さらに、ブロックにおける動きベクトルに基づいて算出した新たなベクトルの整合性もまた、検出対象サブブロックの動きベクトルの検出時に確認しているため、検出プロセスが煩雑となることを防止できる。
【００６３】
なお、本発明に係る動きベクトル処理装置１において、検出対象サブブロックに接する全てのブロックにおいて整合性を確認しているため、動きの境界付近において、整合性のとれていないベクトルをサブブロックのベクトルとして検出してしまうことも防止できる。
【００６４】
また、本発明に係る動きベクトル処理装置１では、候補ベクトルから検出対象サブブロックの動きベクトルを決定する際に、検出対象サブブロックと領域とを最も類似させるような候補ベクトルを、検出対象サブブロックの動きベクトルとして検出している。具体的には、検出対象サブブロックの輝度値と領域の輝度値とのエラー値を算出することによって検出対象サブブロックを決定している。
【００６５】
これによって、検出対象サブブロックと領域とが最も類似するベクトルを選択できるため、従来の問題点であるサブブロックＭ１のベクトルとして背景のベクトルを選択してしまうことを回避できる。結果として、動きボケおよびエッジ部分におけるコーミングを抑制し、かつダーティウィンドウ効果を低減できる。
【００６６】
また、限られた候補ベクトルと、検出対象サブブロックとによって類似性を求めるため、動きベクトル検索を再度行うよりも遥かに少ない計算量とすることができる。
【００６７】
また、本発明に係る動きベクトル処理装置１では、いずれも異なる量を有する候補ベクトルを選択して取得している。
【００６８】
これによって、検出対象サブブロックの動きベクトルの検出精度を高めることができる。したがって、検出した動きベクトルを用いた画像において、動きボケおよびコーミングが生じることをより一層抑制するとともに、ダーティウィンドウ効果をより一層防止できる。
【００６９】
（ベクトルｚの詳細な算出方法）
検出対象サブブロックの母ブロックにおける動きベクトル、および検出対象ブロックの接するブロックにおける動きベクトルをフィルタ処理することにより算出する新たな動きベクトルの詳細な算出方法について、以下に説明する。なお、上記新たなベクトルの算出方法についても、サブブロックＭ１における動きベクトルｍ１の検出を例に挙げて説明する。すなわち、以下の説明において、新たなベクトルは、上述したベクトルｚであり、ベクトルｚのｘ成分およびｙ成分を（ｘｚ、ｙｚ）と示す。なお、当然、本発明がサブブロックＭ１における動きベクトルｍ１の検出に限定されるものではない。
【００７０】
ベクトルｚは、ブロックＧ、Ｈ、ＬおよびＭのベクトルｇ（ｘｇ、ｙｇ）、ベクトルｈ（ｘｈ、ｙｈ）、ベクトルｌ（ｘｌ、ｙｌ）およびベクトルｍ（ｘｍ、ｙｍ）のｘ成分およびｙ成分それぞれにローパスフィルタを施すことによって算出することが好ましい。ローパスフィルタを施すことによって、輝度値の変化の大きい部分を除去できる。ローパスフィルタによる処理は、従来公知の方法を用いることができる。
【００７１】
また、ローパスフィルタを施す際に、重み付け係数を設定してもよい。例えば、ブロックＧ、Ｈ、ＬおよびＭにおける重み付け係数をそれぞれ「１」、「２」、「２」および「３」とした場合、ベクトルｚ（ｘｚ、ｙｚ）は、それぞれ下記式によって算出する。
ｘｚ＝１／８（ｘｇ＋２ｘｈ＋２ｘｌ＋３ｘｍ）
ｙｚ＝１／８（ｙｇ＋２ｙｈ＋２ｙｌ＋３ｙｍ）。
【００７２】
（候補ベクトルの入れ替えの詳細な方法）
取得した候補ベクトルに同一の量のベクトルが存在する場合に、候補ベクトルを入れ替える方法の詳細について、図４〜図７を参照して以下に説明する。なお、候補ベクトルの入れ替え方法についても、サブブロックＭ１における動きベクトルｍ１を検出する場合を例に挙げて説明するが、当然これに限定されるものではない。
【００７３】
まず、取得した候補ベクトルに同一の量のベクトルがあるか否かを判定するプロセスについて、図４を参照して以下に説明する。図４は、本実施の形態において、候補ベクトルと同一の量のベクトルがあるか否かを判定する判定方法を示すフローチャートである。
【００７４】
まず、候補ベクトル判定部４は、ブロックＨにおけるベクトルｈの量が、ブロックＧ、ＬおよびＭにおけるベクトルｇ、ｌおよびｍのいずれかの量と同一であるか否かを判定する（ステップＳ１１）。ベクトルｈの量がベクトルｇ、ｌおよびｍのいずれかと同一の量である場合（ステップＳ１１においてＹｅｓ）には、候補ベクトル入れ替え部５は、ベクトルｈを他のブロックにおける動きベクトルと入れ替える（ステップＳ１２）。すなわち、ベクトルｈを候補ベクトルとして取得しない。ベクトルｈの詳細な入れ替え方法については下記に説明する。
【００７５】
ベクトルｈの量がベクトルｇ、ｌおよびｍのいずれとも異なる量である場合（ステップＳ１１においてＮｏ）には、候補ベクトル判定部４は、ベクトルｌの量がベクトルｇ、ｈおよびｍの量と同一の量であるか否かを判定する（ステップＳ１３）。なお、ステップＳ１１において、ベクトルｈを入れ替えている場合には、ベクトルｈの量ではなく、入れ替えたベクトルの量とベクトルｌの量とが同一の量であるか否かを判定する。
【００７６】
ベクトルｌの量が、ベクトルｇ、ｈおよびｍのいずれかと同一の量である場合（ステップＳ１３においてＹｅｓ）には、候補ベクトル入れ替え部５は、ベクトルｌを他のブロックにおける動きベクトルと入れ替える（ステップＳ１４）。すなわち、ベクトルｌを候補ベクトルとして取得しない。ベクトルｌの詳細な入れ替え方法については下記に説明する。
【００７７】
ベクトルｌの量がベクトルｇ、ｈおよびｍの量のいずれとも異なる量である場合（ステップＳ１３においてＮｏ）には、候補ベクトル判定部４は、ベクトルｇの量がベクトルｈ、ｌおよびｍの量と同一の量であるか否かを判定する（ステップＳ１５）。なお、ステップＳ１１およびステップＳ１２の少なくともいずれか１つのステップにおいて、ベクトルｈおよびベクトルｌの少なくともいずれか１つを入れ替えている場合には、入れ替えたベクトルの量とベクトルｇの量とが同一の量であるか否かを判定する。
【００７８】
ベクトルｇの量がベクトルｈ、ｌおよびｍのいずれかと同一の量である場合（ステップＳ１５においてＹｅｓ）には、候補ベクトル入れ替え部５は、ベクトルｇを他のブロックにおける動きベクトルと入れ替える（ステップＳ１６）。ベクトルｇの詳細な入れ替え方法については下記に説明する。
【００７９】
ベクトルｇの量が、ベクトルｈ、ｌおよびｍのいずれとも異なる量である場合（ステップＳ１５においてＮｏ）には、その時点における候補ベクトルを用いてエラー値を算出する。
【００８０】
（ベクトルｈの入れ替え処理）
ベクトルｈの量がベクトルｇ、ｌおよびｍのいずれかと同一の量である場合（ステップＳ１１においてＹｅｓ）におけるベクトルｈの入れ替え処理の詳細について、図５を参照して以下に説明する。図５は、ベクトルｈの入れ替え処理の詳細を示すフローチャートである。
【００８１】
まず、候補ベクトル入れ替え部５は、ベクトルｈと入れ替えるベクトルを取得する。具体的には、入れ替える対象である候補ベクトルｈを有するブロックＨおよび検出対象のサブブロックＭ１と同一行であり、かつブロックＨに最近傍のブロックにおける動きベクトルを取得する。すなわち、本実施の形態においては、ブロックＣにおけるベクトルを取得する（ステップＳ２１）。
【００８２】
そして、取得したベクトルｃの量が、ベクトルｇ、ｌおよびｍのいずれかの量と同一の量であるか否かを判定する（ステップＳ２２）。ベクトルｃの量がベクトルｇ、ｌおよびｍのいずれとも異なる量である場合（ステップＳ２２においてＮｏ）には、候補ベクトル入れ替え部５は、ベクトルｈの代わりにベクトルｃを候補ベクトルとして設定する（ステップＳ２３）。
【００８３】
取得したベクトルｃの量が、ベクトルｇ、ｌおよびｍのいずれかと同一の量である場合（ステップＳ２２においてＹｅｓ）には、候補ベクトル入れ替え部５は、ベクトルｈと入れ替えるベクトルとして、新たなベクトルを取得する。具体的には、ブロックＨおよびサブブロックＭ１と同一行のブロックであり、ブロックＣの次にブロックＨに近傍であるブロックＲにおけるベクトルｒを取得する（ステップＳ２４）。
【００８４】
そして、取得したベクトルｒの量が、ベクトルｇ、ｌおよびｍのいずれかの量と同一の量であるか否かを判定する（ステップＳ２５）。ベクトルｒの量がベクトルｇ、ｌおよびｍのいずれとも異なる量である場合（ステップＳ２５においてＮｏ）には、候補ベクトル入れ替え部５は、ベクトルｈの代わりにベクトルｒを候補ベクトルとして設定する（ステップＳ２６）。
【００８５】
取得したベクトルｒの量が、ベクトルｇ、ｌおよびｍのいずれかと同一の量である場合（ステップＳ２５においてＹｅｓ）には、候補ベクトル入れ替え部５は、ベクトルｈと入れ替えるベクトルとして、新たなベクトルを取得する。具体的には、ブロックＨおよびサブブロックＭ１と同一行のブロックであり、ブロックＲの次にブロックＨに近傍であるブロックＷにおけるベクトルｗを取得する（ステップＳ２７）。
【００８６】
そして、取得したベクトルｗの量が、ベクトルｇ、ｌおよびｍのいずれかの量と同一の量であるか否かを判定する（ステップＳ２８）。ベクトルｗの量がベクトルｇ、ｌおよびｍの量のいずれとも異なる量である場合（ステップＳ２８においてＮｏ）には、候補ベクトル入れ替え部５は、ベクトルｈの代わりにベクトルｗを候補ベクトルとして設定する（ステップＳ２９）。
【００８７】
取得したベクトルｗの量が、ベクトルｇ、ｌおよびｍのいずれかと同一の量である場合（ステップＳ２８においてＹｅｓ）には、候補ベクトル入れ替え部５は、ベクトルｈを候補ベクトルとして再度設定する（ステップＳ３０）。すなわち、入れ替えるベクトルの候補がいずれも入れ替える条件に当てはまらない場合には、元のベクトルを再度候補ベクトルとして設定する。
【００８８】
（ベクトルｌの入れ替え処理）
ベクトルｌの量がベクトルｇ、ｈおよびｍのいずれかと同一の量である場合（ステップＳ１３においてＹｅｓ）におけるベクトルｌの入れ替え処理の詳細について、図６を参照して以下に説明する。図６は、ベクトルｌの入れ替え処理の詳細を示すフローチャートである。
【００８９】
まず、候補ベクトル入れ替え部５は、ベクトルｌと入れ替えるベクトルを取得する。具体的には、入れ替える対象である候補ベクトルｌを有するブロックＬおよび検出対象のサブブロックＭ１と同一列であり、かつブロックＬに最近傍のブロックにおける動きベクトルを取得する。すなわち、本実施の形態においては、ブロックＫにおけるベクトルｋを取得する（ステップＳ３１）。
【００９０】
そして、取得したベクトルｋの量が、ベクトルｇ、ｈおよびｍのいずれかの量と同一の量であるか否かを判定する（ステップＳ３２）。ベクトルｃの量がベクトルｇ、ｌおよびｍのいずれとも異なる量である場合（ステップＳ３２においてＮｏ）には、候補ベクトル入れ替え部５は、ベクトルｌの代わりにベクトルｋを候補ベクトルとして設定する（ステップＳ３３）。
【００９１】
取得したベクトルｋの量が、ベクトルｇ、ｈおよびｍのいずれかと同一の量である場合（ステップＳ３２においてＹｅｓ）には、候補ベクトル入れ替え部５は、ベクトルｌと入れ替えるベクトルとして、新たなベクトルを取得する。具体的には、ブロックＬおよびサブブロックＭ１と同一列のブロックであり、ブロックＫの次にブロックＬに近傍であるブロックＮにおけるベクトルｎを取得する（ステップＳ３４）。
【００９２】
そして、取得したベクトルｎの量が、ベクトルｇ、ｈおよびｍのいずれかの量と同一の量であるか否かを判定する（ステップＳ３５）。ベクトルｎの量がベクトルｇ、ｈおよびｍのいずれとも異なる量である場合（ステップＳ３５においてＮｏ）には、候補ベクトル入れ替え部５は、ベクトルｌの代わりにベクトルｎを候補ベクトルとして設定する（ステップＳ３６）。
【００９３】
取得したベクトルｎの量が、ベクトルｇ、ｈおよびｍのいずれかと同一の量である場合（ステップＳ３５においてＹｅｓ）には、候補ベクトル入れ替え部５は、ベクトルｌと入れ替えるベクトルとして、新たなベクトルを取得する。具体的には、ブロックＬおよびサブブロックＭ１と同一列のブロックであり、ブロックＮの次にブロックＬに近傍であるブロックＯにおけるベクトルｏを取得する（ステップＳ３７）。
【００９４】
そして、取得したベクトルｏの量が、ベクトルｇ、ｈおよびｍのいずれかの量と同一の量であるか否かを判定する（ステップＳ３８）。ベクトルｏの量がベクトルｇ、ｈおよびｍの量のいずれとも異なる量である場合（ステップＳ３８においてＮｏ）には、候補ベクトル入れ替え部５は、ベクトルｌの代わりにベクトルｏを候補ベクトルとして設定する（ステップＳ３９）。
【００９５】
取得したベクトルｏの量が、ベクトルｇ、ｈおよびｍのいずれかと同一の量である場合（ステップＳ３８においてＹｅｓ）には、候補ベクトル入れ替え部５は、ベクトルｌを候補ベクトルとして再度設定する（ステップＳ４０）。すなわち、入れ替えるベクトルの候補がいずれも入れ替える条件に当てはまらない場合には、元のベクトルを再度候補ベクトルとして設定する。
【００９６】
（ベクトルｇの入れ替え処理）
ベクトルｇの量がベクトルｈ、ｌおよびｍのいずれかと同一の量である場合（ステップＳ１５においてＹｅｓ）におけるベクトルｇの入れ替え処理の詳細について、図７を参照して以下に説明する。図７は、ベクトルｇの入れ替え処理の詳細を示すフローチャートである。
【００９７】
まず、候補ベクトル入れ替え部５は、ベクトルｇと入れ替えるベクトルを取得する。具体的には、入れ替える対象である候補ベクトルｇを有するブロックＧおよび検出対象のサブブロックＭ１と同一対角線上であり、かつブロックＧに最近傍のブロックにおける動きベクトルを取得する。すなわち、本実施の形態においては、ブロックＡにおけるベクトルａを取得する（ステップＳ４１）。
【００９８】
そして、取得したベクトルａの量が、ベクトルｈ、ｌおよびｍのいずれかの量と同一の量であるか否かを判定する（ステップＳ４２）。ベクトルａの量がベクトルｈ、ｌおよびｍのいずれとも異なる量である場合（ステップＳ４２においてＮｏ）には、候補ベクトル入れ替え部５は、ベクトルｇの代わりにベクトルａを候補ベクトルとして設定する（ステップＳ４３）。
【００９９】
取得したベクトルａの量が、ベクトルｈ、ｌおよびｍのいずれかと同一の量である場合（ステップＳ４２においてＹｅｓ）には、候補ベクトル入れ替え部５は、ベクトルｇと入れ替えるベクトルとして、新たなベクトルを取得する。具体的には、ブロックＧおよびサブブロックＭ１と同一対角線上のブロックであり、ブロックＡの次にブロックＧに近傍であるブロックＳにおけるベクトルｓを取得する（ステップＳ４４）。
【０１００】
そして、取得したベクトルｓの量が、ベクトルｈ、ｌおよびｍのいずれかの量と同一の量であるか否かを判定する（ステップＳ４５）。ベクトルｓの量がベクトルｈ、ｌおよびｍのいずれとも異なる量である場合（ステップＳ４５においてＮｏ）には、候補ベクトル入れ替え部５は、ベクトルｇの代わりにベクトルｓを候補ベクトルとして設定する（ステップＳ４６）。
【０１０１】
取得したベクトルｓの量が、ベクトルｈ、ｌおよびｍのいずれかと同一の量である場合（ステップＳ４５においてＹｅｓ）には、候補ベクトル入れ替え部５は、ベクトルｇと入れ替えるベクトルとして、新たなベクトルを取得する。具体的には、ブロックＧおよびサブブロックＭ１と同一対角線上のブロックであり、ブロックＳの次にブロックＧに近傍であるブロックＹにおけるベクトルｙを取得する（ステップＳ４７）。
【０１０２】
そして、取得したベクトルｙの量が、ベクトルｈ、ｌおよびｍのいずれかの量と同一の量であるか否かを判定する（ステップＳ４８）。ベクトルｙの量がベクトルｈ、ｌおよびｍの量のいずれとも異なる量である場合（ステップＳ４８においてＮｏ）には、候補ベクトル入れ替え部５は、ベクトルｇの代わりにベクトルｙを候補ベクトルとして設定する（ステップＳ４９）。
【０１０３】
取得したベクトルｙの量が、ベクトルｈ、ｌおよびｍのいずれかと同一の量である場合（ステップＳ４８においてＹｅｓ）には、候補ベクトル入れ替え部５は、ベクトルｇを候補ベクトルとして再度設定する（ステップＳ５０）。すなわち、入れ替えるベクトルの候補がいずれも入れ替える条件に当てはまらない場合には、元のベクトルを再度候補ベクトルとして設定する。
【０１０４】
（エラー値の算出方法）
エラー値は、現在の画像における検出対象サブブロックと、現在の画像の前の画像および後の画像の少なくともいずれか１つにおいて、検出対象サブブロックを候補ベクトル分移動させた領域との類似性、または現在の画像の前の画像および後の画像において、検出対象サブブロックを候補ベクトル分移動させた領域間の類似性である。より具体的には、エラー値として、検出対象サブブロックの輝度値と上記領域の輝度値との類似度または相違度、もしくは上記領域間の類似度または相違度を用いる。
【０１０５】
また、エラー値の算出は、ＩＰ変換の補間手法として、巡回型手法を用いる場合は、現在の画像の直前または直後の画像を用いることが好ましい。一方、双方向型手法を用いる場合には、動きベクトルのｙ座標を２の整数倍（偶数）とする必要があるため、比較するフィールドを広げることにより動きベクトルのｙ座標を選択できる範囲を広げることが好ましい。例えば、現在のフィールドをｔフィールドとした場合、比較するフィールドをｔ−２フィールドおよびｔ＋２フィールドまで広げることによって、動きベクトルのｙ座標の選択できる範囲を偶数および奇数／２とすることができる。すなわち、双方向型手法を用いる場合には、現在のフィールド（画像）の２つ前または後ろのフィールド（画像）を用いることが好ましい。
【０１０６】
類似度および相違度の具体例について、以下に説明する。エラー値を相違度として算出する場合には、例えば、差の二乗和（Sum of Square Difference；ＳＳＤ）および絶対差分和（Sum of Absolute Difference；ＳＡＤ）などを用いることができる。ＳＳＤおよびＳＡＤは相違度を表すため、２つの検出対象サブブロックの輝度値が相違しているほど値が大きくなる。したがって、ＳＳＤおよびＳＡＤを用いてエラー値を算出する場合には、ＳＳＤおよびＳＡＤが最小となる候補ベクトルを検出対象サブブロックの動きベクトルとして検出する。
【０１０７】
エラー値を類似度として算出する場合には、例えば、正規化相互相関（Normalized Cross Correlation；ＮＣＣ）を用いることができる。ＮＣＣは類似度を表すため、２つの検出対象サブブロックの輝度値が類似しているほど値が大きくなる。したがって、ＮＣＣを用いてエラー値を算出する場合には、ＮＣＣが最大となる候補ベクトルを検出対象サブブロックの動きベクトルとして検出する。
【０１０８】
なお、ＳＡＤは、ＳＳＤおよびＮＣＣに比べて計算量が少ないが、画像のわずかなノイズにも値が変化するため、ノイズに弱い。ＳＳＤは、ＳＡＤよりノイズに強いが、画像のコントラストの影響を受けやすい。ＮＣＣは、ＳＡＤおよびＳＤＤよりも計算量が多いが、画像のノイズやコントラストの影響を受けにくい。エラー値としてどのコスト関数を用いるかは、状況に応じて適宜設定することが好ましい。
【０１０９】
ＳＡＤ、ＳＳＤおよびＮＣＣは、例えば、それぞれ下記式（１）〜（３）を用いることによって算出する。なお、下記式（１）〜（３）は、図８に示すように、ブロック（検出対象サブブロック）の大きさをＭ×Ｎ、候補ベクトルを（ｄｘ、ｄｙ）とし、ｔフレーム（画像）内における検出対象サブブロックの（ｘ、ｙ）における輝度値をＹｔ（ｘ、ｙ）とした場合の算出式である。図８は、エラー値を算出する際の検出対象サブブロックの動きを模式的に示す図である。
【０１１０】
【数１】
2009004919.tif 000003
【０１１１】
なお、上記式（１）〜（３）では、現在のフレームであるｔフレームと一つ前のフレームであるｔ−１フレームとの類似度または相違度を算出しているが、一つ後のフレームであるｔ＋１フレームと現在のフレームであるｔフレームとの類似度または相違度を算出してもよい。この場合には、下記式（４）〜（６）を用いる。
【０１１２】
【数２】
2009004919.tif 000004
【０１１３】
インターレース画像においてＳＡＤ、ＳＳＤおよびＮＣＣを算出する場合には、偶数フィールド（画像）と奇数フィールドとでは映像ラインが異なるため、その算出方法が異なる。ここでは、インターレース画像におけるＳＡＤ、ＳＳＤおよびＮＣＣを算出について巡回型手法の場合（図９）を例示して説明する。巡回型手法における、ＳＡＤ、ＳＳＤおよびＮＣＣは、それぞれ下記式（７）〜（９）を用いて算出する。
【０１１４】
【数３】
2009004919.tif 000005
【０１１５】
ただし、上記式（７）〜（９）中のｆｄには、ｔフィールドが偶数フィールドの場合には「１」が代入され、ｔフィールドが奇数フィールドである場合には「０」が代入される。
【０１１６】
なお、上記式（７）〜（９）は、図９に示すように、ブロック（検出対象サブブロック）の大きさをＭ×２Ｌ、候補ベクトルを（ｄｘ、ｄｙ）、ｔフィールド内における検出対象サブブロックの（ｘ、ｙ）における輝度値をＹｔ（ｘ、ｙ）とした場合の算出式である。図９は、インターレース画像において、エラー値を算出する際の検出対象サブブロックの動きを模式的に示す図である。
【０１１７】
また、図９では、現在のフィールドであるｔフィールドと、ｔ−１フィールドとを比較する場合を示した図であるが、ｔフィールドとｔ＋１フィールドとを比較するようにしてもよい。
【０１１８】
なお、双方向型手法を用いる場合は、巡回型を用いる場合とはまた異なる。双方向型手法では、前の画像の領域の輝度値と、後ろの画像の領域の輝度値とのエラー値によって類似性を求める。すなわち、ｔ−１フィールドとｔ＋１フィールドとを比較することによって類似性を求める。しかし、この場合は、ｔフィールドを考慮していないため、コーミングが生じやすくなる。したがって、双方向型手法を用いる場合は、プログレッシブ画像に合成したときの輝度の変化がコーミングにどの程度近いかを表す値についてもあわせて評価することが好ましい。
【０１１９】
（動きベクトル処理装置１の変形例）
動きベクトル処理装置１は、動きベクトル決定部７において検出対象サブブロックの動きベクトルを決定した後、サブブロック分割部２において、検出対象サブブロックを母ブロックとしてさらにサブブロックを分割するようにしてもよい。
【０１２０】
具体的には、図１０に示すように、サブブロックＭ１を母ブロックとしてさらにサブブロックＭ１１〜１４を分割し、サブブロックＭ１１〜１４における動きベクトルｍ１１〜１４を検出するようにしてもよい。例えば、サブブロックＭ１１における動きベクトルｍ１１を検出する場合、その候補ベクトルは、ベクトルｇ４、ｈ２、ｌ３、ｍ１およびベクトルｇ４、ｈ３、ｌ３、ｍ１から算出される新たなベクトルｚ１の５つのベクトルとなる。なお、図１０は、サブブロックをさらに細かいサブブロックに分割した画像の例を模式的に示す図である。
【０１２１】
これによって、輪郭領域などの複雑な動きが存在する場合であっても、動きボケおよびコーミングをより一層抑制した画像とすることができる。また、ダーティウィンドウ効果もより一層防止できる。
【０１２２】
なお、サブブロックＭ１１を母ブロックとしてサブブロックをさらに分割してもよい。すなわち、本発明に係る動きベクトル処理装置１は、母ブロックをサブブロックに分割可能な限り、サブブロックの動きベクトルを検出できる。
【０１２３】
より小さいサブブロックの動きベクトルを検出することによって、動きボケおよびコーミングをさらに一層抑制した画像とすることができる。また、ダーティウィンドウ効果もさらに一層防止できる。
【０１２４】
（付記事項）
最後に、動きベクトル処理装置１の各ブロックは、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウェアによって実現してもよい。
【０１２５】
すなわち、動きベクトル処理装置１は、各機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである動きベクトル処理装置１の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記動きベクトル処理装置１に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０１２６】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスクなどの磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒなどの光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭなどの半導体メモリ系などを用いることができる。
【０１２７】
また、動きベクトル処理装置１を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網などが利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網などの無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０１２８】
なお、本発明は、上述した実施形態に限定されるものではなく、請求項に示した範囲において種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１２９】
以下、実施例を示し、本発明の形態についてさらに詳しく説明する。もちろん、本発明は以下の実施例に限定されるものではなく、細部については様々な様態が可能である。
【実施例】
【０１３０】
動きベクトル処理装置１を用いて検出した動きベクトルに基づいてＩＰ変換した振り子の画像と、従来の処理装置を用いて検出した動きベクトルに基づいてＩＰ変換した振り子の画像とを比較した。なお、「従来の処理装置」とは、特許文献１に記載の動きベクトル処理装置である。
【０１３１】
〔実施例１〕
動きベクトル処理装置１を用いて検出した動きベクトルに基づく画像を作製するプロセスについて、図１１を参照して以下に説明する。図１１は、検出した動きベクトルに基づいて画像を作製するプロセスを示すフローチャートである。
【０１３２】
まず、従来公知の方法に基づいて、画像をブロックサイズが３２画素×１６画素のブロックに分割し、それぞれのブロックにおける動きベクトルを検出した（ステップＳ１０１）。そして、母ブロック、および周囲の８つのブロックにおける動きベクトルに対してメディアンフィルタを施し、エラーベクトルを除去した（ステップＳ１０２）。なお、メディアンフィルタは、動きベクトルのｘ成分、およびｙ成分ともに施し、結果生じたｘ成分、ｙ成分を出力している。
【０１３３】
動きベクトル処理装置１は、３２画素×１６画素のブロックを１６画素×８画素のブロック（サブブロック）に分割し、上述した動きベクトル処理装置１の動きベクトル検出プロセス（補間手法には双方向型手法を使用）によって、１６画素×８画素のブロックにおける動きベクトルを検出した（ステップＳ１０３）。
【０１３４】
動きベクトルを検出した１６画素×８画素のブロックを母ブロックとして、８画素×４画素のブロック（サブブロック）にさらに分割し、ステップＳ１０３と同様にして、８画素×４画素のブロックにおける動きベクトルを検出した（ステップＳ１０４）。
【０１３５】
動きベクトル処理装置１は、さらに、動きベクトルを検出した８画素×４画素のブロックを母ブロックとして、４画素×２画素のブロック（サブブロック）にさらに分割し、ステップＳ１０３およびステップＳ１０４と同様にして、４画素×２画素のブロックにおける動きベクトルを検出した（ステップＳ１０５）。
【０１３６】
動きベクトルを検出した４画素×２画素のブロック、および周囲８つの４画素×２画素のブロックにおける動きベクトルに対してメディアンフィルタを施し、エラーベクトルを除去した（ステップＳ１０６）。なお、メディアンフィルタは、動きベクトルのｘ成分、ｙ成分それぞれにおいて施し、結果生じたｘ成分、ｙ成分と同じ組み合わせを持つベクトルがメディアンフィルタの候補ベクトルに存在する場合は、メディアンフィルタの結果生じたｘ成分、ｙ成分を動きベクトルとして出力する。しかし、メディアンフィルタの候補ベクトルに同じ組み合わせを持つベクトルが存在しない場合は、ステップＳ１０５で検出した動きベクトルを出力する。
【０１３７】
動きベクトル処理装置１は、さらに、４画素×２画素のブロックを母ブロックとして、２画素×１画素のブロック（サブブロック）に分割し、ステップＳ１０３、Ｓ１０４およびＳ１０５と同様にして２画素×１画素のブロックにおける動きベクトルを検出した（ステップＳ１０７）。
【０１３８】
ＩＰ変換部８は、２画素×１画素のブロックにおける動きベクトルに基づいて動き補償型ＩＰ変換を施し、図１２に示す画像を作製した（ステップＳ１０８）。図１２は、動きベクトル処理装置１を用いて検出した動きベクトルに基づいた画像を示す図である。
【０１３９】
〔比較例１〕
ステップＳ１０３、Ｓ１０４、Ｓ１０５およびＳ１０７において、特許文献１に記載の方法を用いた以外は、実施例１と同様にして図１３に示す画像を得た。図１３は、従来の動きベクトル処理装置を用いて検出した動きベクトルに基づいた画像を示す図である。
【０１４０】
（実施例における画像と比較例における画像との比較）
図１２と図１３とを比較すると、動きベクトル処理装置１を用いて検出した動きベクトルに基づいて作製した画像は、画像のエッジ部分におけるコーミングおよび動きボケが非常に良好に抑制されている。
【産業上の利用可能性】
【０１４１】
本発明に動きベクトル処理装置を用いることによって、インターレース方式の映像をプログレッシブ方式の映像へと変換する際の画像の劣化を防止できる。
【図面の簡単な説明】
【０１４２】
【図１】本発明に係る動きベクトル処理装置の要部構成を示すブロック図である。
【図２】本発明に係る動きベクトル処理装置の処理プロセスの概要を示すフローチャートである。
【図３】ブロックおよびサブブロックに分割した画像の一例を模式的に示す図である。
【図４】候補ベクトルに同じ量のベクトルがあるか否かを判定するプロセスを示すフローチャートである。
【図５】ベクトルｈの入れ替え処理における詳細なプロセスを示すフローチャートである。
【図６】ベクトルｌの入れ替え処理における詳細なプロセスを示すフローチャートである。
【図７】ベクトルｇの入れ替え処理における詳細なプロセスを示すフローチャートである。
【図８】エラー値を算出する際の検出対象サブブロックの動きを模式的に示す図である。
【図９】インターレース画像におけるエラー値を算出する際の検出対象サブブロックの動きを模式的に示した図である。
【図１０】サブブロックをさらに細かいサブブロックに分割した画像の一例を模式的に示す図である。
【図１１】検出した動きベクトルに基づいて画像を作製するためのプロセスを示すフローチャートである。
【図１２】本発明に係る動きベクトル処理装置を用いて検出した動きベクトルに基づいた画像を示す図である。
【図１３】従来の動きベクトル処理装置を用いて検出した動きベクトルに基づいた画像を示す図である。
【符号の説明】
【０１４３】
１        動きベクトル処理装置
２        サブブロック分割部
３        候補ベクトル取得部
４        候補ベクトル判定部
５        候補ベクトル入れ替え部
６        エラー値算出部
７        動きベクトル決定部
８        ＩＰ変換部
【図１】
2009004919.tif 000006
【図２】
2009004919.tif 000007
【図３】
2009004919.tif 000008
【図４】
2009004919.tif 000009
【図５】
2009004919.tif 000010
【図６】
2009004919.tif 000011
【図７】
2009004919.tif 000012
【図８】
2009004919.tif 000013
【図９】
2009004919.tif 000014
【図１０】
2009004919.tif 000015
【図１１】
2009004919.tif 000016
【図１２】
2009004919.tif 000017
【図１３】
2009004919.tif 000018