本発明の動き検出装置は、時間的に異なる第1及び第2のフレームの映像信号から、映像信号における動き検出を行うものであり、本発明の映像信号処理装置は、上記の動き検出装置を用いて映像信号を処理するものであり、本発明の表示装置は、上記の映像信号処理装置で処理された映像を表示するものである。
本出願において、「・・・部」として示される構成要素は、電気回路(ハードウェア)によって実現されるもの、又はソフトウェアによって、即ちプログラムされたコンピュータによって実現されるもののいずれであってもよい。
実施の形態1.
図1は、本発明の実施の形態1の映像信号処理装置(すなわち、実施の形態1の映像信号処理方法を実施することができる装置)の構成を示すブロック図であり、時間的に異なる第1及び第2のフレームの映像信号、例えば、現フレームの映像信号と、1フレーム前の映像信号から画像の動きを画素ごとに検出するよう構成されている。
図1において、実施の形態1の映像信号処理装置は、インターレース信号である入力映像信号Di0が順次入力されており、フレーム遅延部13と、動き検出装置1とを備えている。入力映像信号Di0は、入力映像を構成する画素の各々の値を示すものである。
フレーム遅延部13は、入力映像信号Di0を1フィールド分遅延した信号(1フィールド遅延信号)d1fと1フレーム分遅延した信号(1フレーム遅延信号)d2fを出力するものであり、第1及び第2のフィールドメモリ11及び12で構成されている。第1及び第2のフィールドメモリ11及び12は各々フィールド遅延部としての機能を持つものであり、インターレース信号において相前後する垂直同期信号で区切られるフィールド単位で入力映像信号を順次遅延することで上記の1フィールド遅延信号d1f及び1フレーム遅延信号d2fを出力する。
入力映像信号Di0、1フィールド遅延した信号d1f及び1フレーム遅延信号d2fは、時間的に異なるフレームの映像信号であり、以下に詳述する例では、入力映像信号Di0を現フレームの信号或いは入力フレームの信号と呼び、1フレーム遅延信号d2fを1フレーム前の信号と呼び、1フィールド遅延信号d1fを1フィールド前の信号と呼ぶことがある。
動き検出装置1は、入力映像信号(現フレーム信号)Di0と、1フィールド遅延信号(1フィールド前の信号)d1fと、1フレーム遅延信号(1フレーム前の信号)d2fを用いてフレーム間の差分に基づく動きの度合いを示す動き検出信号mdsを出力する。
動き検出装置1は、パターンマッチング検出部30と、エッジ検出部40と、フレーム間差分検出部20と、動き情報補正部50と、時空間拡大フィルタ部16と、動き検出信号変換部19とを備えている。
パターンマッチング検出部30は、現フレーム信号Di0と1フレーム遅延信号d2fにおける画素ブロック間で2つの画素ブロックの間のパターンの類似度の算出(パターンマッチング)を行って、画素ブロックの動きを示す第1及び第2の動きブロック係数dfmat及びcbmatを生成する。
エッジ検出部40は、現フレーム信号Di0と、1フレーム遅延信号d2fと、1フィールド遅延信号d1fとを受け、映像信号の注目画素近傍での画像のエッジを検出し、第1及び第2のエッジ判定係数efkm及びcedkmを出力する。
フレーム間差分検出部20は、現フレーム信号Di0と、1フレーム遅延信号d2fとを受け、パターンマッチング検出部30からの動きブロック係数dfmatとエッジ検出部40からのエッジ判定係数efkmとに応じて、平滑化処理を行う画素の範囲を選択して、平滑化処理された映像信号のフレーム間の差分を検出し、同じ画素についてのフレーム間の差分を表すフレーム間差分信号fdiffを出力する。
動き情報補正部50は、パターンマッチング検出部30からの動きブロック係数cbmatとエッジ検出部40からのエッジ判定係数cedkmに応じて、フレーム間差分検出部20からのフレーム間差分信号fdiffを補正し、動き情報md0を求める。
時空間拡大フィルタ部16は、動き情報信号md0に対し、時空間フィルタや孤立点除去などの処理を行い、動き情報を時空間方向で補正して動き信号afmdを出力し、動き検出信号変換部19は、時空間フィルタ部16からの動き信号afmdを、映像信号の動きの度合い示す動き検出信号mdsへ変換する。
フレーム間差分検出部20は、動きブロック係数dfmatとエッジ判定係数efkmとに応じて、平滑化処理を行う範囲を切り換え、現フレーム信号と1フレーム遅延信号の間のフレーム間差分frdを算出するフレーム間差分算出部21と、フレーム間差分の値を非線形変換し動きとしての差分信号を求め上記フレーム間差分信号fdiffとして出力する非線形変換部22とを備えている。
また、時空間拡大フィルタ部16は、時間方向に動き情報を引き伸ばすフィルタ処理による補正を行って、補正処理された信号fmd0を出力する時間フィルタ部17と、水平もしくは垂直方向の空間方向に動き情報を引き伸ばすフィルタ処理や孤立点除去などの処理による補正を行って、補正された信号を動き信号afmdとして出力する空間フィルタ部18とを備えている。
以下の実施の形態1では、インターレース信号入力時に現フレーム信号と1フレーム遅延信号の間での映像信号における動きを検出するものとする。
フィールド遅延部13を構成する第1及び第2のフィールドメモリ11及び12は、映像信号を1フィールド分遅延して出力するためのメモリであり、第1のフィールドメモリ11は、入力された入力映像信号Di0を1フィールド分遅延して1フィールド遅延信号d1fを出力し、第2のフィールドメモリ12は、第1のフィールドメモリ11からの1フィールド遅延信号d1fを1フィールド分遅延し、2フィールド遅延信号(すなわち、1フレーム遅延信号)d2fを出力する。
ここで、入力映像信号Di0はインターレース信号であり、フレーム遅延部13から出力される1フレーム遅延信号d2fは、入力映像信号Di0の画素と同一位置にある画素の信号であり、同位相の信号となる。一方、第1のフィールドメモリ11から出力される1フィールド遅延信号d1fは、入力映像信号Di0の画素に対し、垂直方向上又は下に1/2ラインずれた位置にある画素の信号であり、異位相の信号である。
動き検出装置1には、入力映像信号Di0が現フレーム信号として入力され、フレーム遅延部13から1フレーム遅延信号d2f及び1フィールド遅延信号d1fが、1フレーム前の信号及び1フィールド前の信号として入力される。動き検出装置1は、現フレーム信号Di0と1フレーム前の信号との間での映像信号における動きを画素ごとに検出し、検出結果から動きの度合いを示す動き検出信号mdsを出力する。
動き検出装置1では、現フレーム信号Di0と1フレーム前の信号d2fにおける画素ブロックのパターンマッチングによる動きブロック係数と、エッジ検出の結果であるエッジ判定係数とにより、画像のエッジの方向、パターンの動きに応じてフレーム間の差分を求める際の平滑化処理の範囲を切り換えて、適切な範囲で平滑化されたフレーム間差分信号を得て、さらには、エッジの方向、パターンの動きに応じたフレーム間差分信号の補正を行い、動き部分を静止であると誤判定され勝ちなエッジやパターンにおいて、動きと検出されやすいように補正された動き情報生成することで、誤検出と動き検出漏れを防止した高い精度の動き検出を行って、動きの度合いを示す動き検出信号mdsを生成し出力する。
動き検出装置1内のパターンマッチング検出部30には、現フレーム信号Di0と1フレーム遅延信号d2fが入力される。
パターンマッチング検出部30では、1フレーム前の信号としての1フレーム遅延信号d2fと現フレーム信号Di0の画素ブロック間でパターンの類似度を算出し(パターンマッチングを行い)、画素ブロックの動きを示す動きブロック係数dfmat及びcbmatを出力する。出力された動きブロック係数dfmat及びcbmatは、動き検出の対象である注目画素を中心とした画素ブロックにおいて、パターンマッチングの結果により求められており、類似度の値が大きくなれば、画素ブロックのパターンが異なる、すなわち、画素ブロック内の画像が動いていることを示しており、画素ブロックでのブロック・パターンの動き(以下では、動きパターンと記す)を示すと言える。
パターンマッチング検出部30は、例えば図2に示すように構成される。図示のパターンマッチング検出部30は、1フレーム前の信号d2fと現フレーム信号Di0の画素ブロック間でパターンマッチングを行い、現フレーム信号Di0における注目画素P0を中心とした画素ブロックの動きを示す動きブロック係数dfmat及びcbmatを生成する。
図示のように、パターンマッチング検出部30は、ブロック間マッチング演算部301と、水平ブロックマッチング演算部303と、マッチング垂直高域成分抽出部304と、垂直ブロックマッチング演算部306と、マッチング水平高域成分抽出部307と、第1、第2及び第3の動きブロック係数変換部311、312及び313とを備える。
ここで、パターンマッチング検出部30でパターンマッチングを行う範囲は、例えば、図3に示すように、現フレームDi0内の注目画素P0を中心とし、垂直方向3ライン、水平方向3画素(3行3列)の合計9画素で構成される画素ブロック(注目画素ブロック)b0とし、当該ブロックb0と、1フレーム遅延信号d2fのフレーム内の同一位置の画素(参照中心画素)Pf2を中心とした画素ブロック(参照画素ブロック)b2との間で、パターンマッチングが行われる。
なお、パターンマッチングを行う範囲は、図3に示した9画素で構成されるブロックに限定されるものではなく、一般的には画素垂直方向Vライン、水平方向H画素(V≧2、H≧2)であれば良く、例えば、図4(a)に示す垂直方向3ライン、水平方向5画素(3行5列)の合計15画素の矩形ブロックとしても、図4(b)に示す垂直方向2ライン、水平方向4画素(2行4列)の合計8画素で構成された矩形ブロックとしてもよい。画素ブロックを構成する画素の数が多いほど、より広い範囲での類似度を算出することが可能であるため、より安定した値が得られる。
一方で、画素の数が多く広い範囲での算出を行うほど、画素ブロックの動きが影響する範囲が広がることになる。
図5は、現フレーム信号Di0と1フレーム遅延信号d2fの同一ラインの信号の時間的関係と、それぞれのフレーム内における、垂直走査方向(画面表示ライン上下方向)の位置関係を示すものであり、パターンマッチング検出部30内でパターンマッチングを行う注目画素P0及び注目画素ブロックb0と、対応する1フレーム遅延信号d2fのフレーム内の参照中心画素Pf2及び参照画素ブロックb2の位置関係を示している。
図5では、時間的に前のフレームほどより左側に示され、各フレームの画素は、画面内で上のものほど図で上に示されている。現フレーム信号Di0が現フレーム(最新のフレーム)の信号であるのに対して、1フィールド遅延信号d1fは、1フィールド期間前のフレームの信号であり、1フレーム遅延信号d2fは、1フレーム期間前のフレームの信号であり、2フレーム遅延信号d4fは、2フレーム期間前のフレームの信号である。1フレーム期間前のフレームを単に「直前のフレーム」と言うことがある。各フレームの符号は、当該フレームの信号と同じ符号(Di0、d2f、d1f)で表される。
図6(a)及び(b)は、現フレーム信号Di0と1フレーム遅延信号d2fのそれぞれにおいて、各フレームの画面内の垂直方向(画面表示垂直走査方向)と水平方向(水平走査方向)の位置関係を示すものであり、現フレームDi0内の注目画素P0及び注目画素ブロックb0と、対応する1フレーム遅延信号d2fのフレーム(直前フレームd2f)内の参照中心画素Pf2及び参照画素ブロックb2の関係を示している。
図2のパターンマッチング検出部30は、1フレーム前の信号d2fと現フレーム信号Di0の画素ブロック間でパターンマッチングを行い、注目画素P0を中心とした画素ブロックb0での動きを示す動きブロック係数を検出するものであり、図5及び図6(a)及び(b)において、現フレームDi0内の注目画素ブロックb0に対し、直前フレームd2f内の同じ位置にある参照画素ブロックb2との間でパターンマッチングした結果をパターンの類似度として求める。
図2において、パターンマッチング検出部30へ入力された現フレーム信号Di0と1フレーム遅延信号d2fは、それぞれブロック間マッチング演算部301、水平ブロックマッチング演算部303、及び垂直ブロックマッチング演算部306へ入力される。
ブロック間マッチング演算部301は、現フレームDi0内の注目画素P0を中心とする注目画素画素ブロックb0(図5、図6(b)参照)と、対応する直前フレームd2f内の、画素P0と同一位置にある画素Pf2を中心とする参照画素ブロックb2(図5、図6(a)参照)を抽出し、画素ブロック間でパターンマッチングを行い、結果として、パターンの類似度を示すブロックマッチング量blkpmを求める。
ここで、パターンマッチングによる画素ブロック間でパターンの類似度は、画素ブロック内の対応する位置にある画素の画素値の差分の絶対値を、ブロック内の全ての画素について求め、それらを単純に加算すること或いは重み付け加算することで得られる値(単に差分絶対値和ということがある)に基づく値、又は差分の絶対値の単純平均又は加重平均値を算出することにより得られる。
具体的には、ブロック間マッチング演算部301では、現フレームDi0の注目画素ブロックb0内の画素と、直前フレームd2fの参照画素ブロックb2内の画素について、下記の式(1)〜(9)に従い、それぞれ対応する位置にある画素ごとに画素値の差分の絶対値を算出する。
d1=|P0a(−1)−Pf2a(−1)| …式(1)
d2=|P0a(0)−Pf2a(0)| …式(2)
d3=|P0a(1)−Pf2a(1)| …式(3)
d4=|P0(−1)−Pf2(−1)| …式(4)
d5=|P0−Pf2| …式(5)
d6=|P0(1)−Pf2(1)| …式(6)
d7=|P0b(−1)−Pf2b(−1)| …式(7)
d8=|P0b(0)−Pf2b(0)| …式(8)
d9=|P0b(1)−Pf2b(1)| …式(9)
次に、式(1)〜式(9)により計算した差分の絶対値d1〜d9の総和である差分絶対値和を求め、平均化を行う。すなわち、下記の式(10)により、ブロックの平均差分絶対値を求め、ブロックマッチング量blkpmとして出力する。
blkpm=(d1+d2+d3+d4+d5+d6+d7+d8+d9)/9
…式(10)
ここで、上記式(10)で9画素の平均値を求めるため、9分の1としたが、ハードウェアの構成、演算処理の容易さを考慮して、8(2の4乗)や、4(2の2乗)で割るようにしても良く、要するに平均値を反映した指標が得られれば良い。
上記式(10)に従い算出されるブロック間のブロックマッチング量blkpmは、注目画素ブロックb0と参照画素ブロックb2との類似性が高いほど「0」に近づき、完全に静止しているか、静止に近い微少な動きであることを示す。また、類似性が低いほどブロックマッチング量blkpmは大きな値となり、画素ブロックのパターンが異なる、すなわち、画素ブロックが動きであることを示している。
ブロック間マッチング演算部301で算出されたブロックマッチング量blkpmは、
注目画素ブロックb0と参照画素ブロックb2間でのパターンの類似度、すなわち、画素ブロックでのブロック・パターンの動きを示す結果として、図2における第1、第2及び第3の動きブロック係数変換部311、312及び313へ出力される。
なお、差分の絶対値d1〜d9の総和を求め平均化を行う際に、差分の絶対値を重み付け平均化しても良く、例えば、画素ブロックの中心画素P0に近い画素での差分の重みが大きく、中心画素からの距離が大きくなるほど重みが次第に小さくなるように重み付け加算することで重み付け平均化を行うこととしても良い。例えば、式(10)に代え、下記の式(11)に従い、差分絶対値和によるブロックマッチング量blkpmとすることもできる。
blkpm
=d1/8+d2/8+d3/8+d4/8+d5/2
+d6/8+d7/8+d8/8+d9/8 …式(11)
また、パターンマッチングに使用する画素ブロックを図3に示す9画素のブロックとして構成したが、図4(a)又は(b)に示すように構成しても良く、例えば図4(a)に示す3ライン×5画素の15画素のブロックとしてもよく、この場合には、ブロック間マッチング演算部301では、15画素で構成された注目画素ブロックb0と、参照画素ブロックb2の画素ブロックが抽出され、15画素分の差分の絶対値の総和を求め、平均化したブロックマッチング量blkpmを得ることとなる。
次に、水平ブロックマッチング演算部303は、現フレーム信号Di0と1フレーム遅延信号d2fとに基づき、画素ブロックの一部で構成される水平方向に細長い領域で構成された小ブロックを単位としてパターンマッチングを行う。例えば、図3における水平方向(行方向)に並んだ3画素で小ブロックを形成し、小ブロックごとにパターンマッチングを行い、3ライン分(3行分)の水平ブロックマッチング量hp11、hp12及びhp13を求め、マッチング垂直高域成分抽出部304へ送る。
水平ブロックマッチング演算部303では、まず、上記ブロック間マッチング演算部301と同様、現フレームDi0の注目画素ブロックb0内の各画素と、直前フレームd2fの参照画素ブロックb2内の画素について、上記式(1)〜式(9)で表される画素値の差分の絶対値d1〜d9を求め、画素ブロックb0内を垂直方向に分割することで形成された複数の小ブロック、例えば各々垂直方向のサイズが1ライン(1行)である3つの小ブロックの各々について差分絶対値の総和を求める。ここでは、画素ブロックのサイズが垂直方向3ライン×水平方向3画素(3行3列)であるので、各々垂直方向1ライン×水平方向3画素(1行3列)から成るブロック、即ち水平方向に並んだ3画素から成る小ブロックの単位で、その総和である差分絶対値和を求める。そして、下記の式(12)〜式(14)による水平ブロックマッチング量hp11、hp12及びhp13を求める。
hp11=d1+d2+d3 …式(12)
hp12=d4+d5+d6 …式(13)
hp13=d7+d8+d9 …式(14)
なお、画素ブロックの画素値の差分絶対値d1〜d9は、ブロック間マッチング演算部301内で求められているので、その差分絶対値を水平ブロックマッチング演算部303へ入力して、水平ブロックマッチング量hp11、hp12及びhp13の算出に用いても良い。
また、上記式(12)〜式(14)の演算の代わりに、式(12)〜式(14)の各々において、右辺の差分絶対値和の3分の1を求めることで、差分絶対値和の平均を求めることとしても良く、さらに3分の1を求める代わりに、ハードウェアの構成、演算処理の容易さを考慮して、4(2のべき乗)で割るようにしてもよい。
さらに、水平方向に並んだ3画素から成る小ブロックの単位での差分絶対値和を求める際に、重み付け加算を行っても良く、例えば、画素ブロックの中心画素P0、Pf2に近い画素での差分の重みが大きく、中心画素からの距離が大きい画素での重みが小さくなるように重み付け加算してもよい。例えば、式(12)に代え、下記の式(15)に従い、水平ブロックマッチング量hp11とすることもできる。
hp11=d1/4+d2/2+d3/4 …式(15)
マッチング垂直高域成分抽出部304では、入力された水平ブロックマッチング量hp11、hp12及びhp13から、隣接するライン(行)の水平ブロックマッチング量同士の差分絶対値を求め、差分絶対値の垂直方向の高域周波数成分を表すマッチング垂直高域成分vebpmを算出して出力する。
ここで、上記水平方向ブロックマッチング量hp11、hp12、hp13は、差分絶対値和に基づく値であるが、水平方向ブロックマッチング量の垂直方向の高域周波数成分、すなわち、垂直方向のエッジ成分を求めることで、垂直方向に動くパターンの場合の類似度を得ることができる。
マッチング垂直高域成分抽出部304は、水平ブロックマッチング演算部303からの水平ブロックマッチング量hp11、hp12及びhp13から、下記の式(16)及び式(17)により、ライン間(行間)の値の差分の絶対値の1/4の値dh1及びdh2を求めて垂直方向の高域周波数成分を抽出し、さらに式(18)のように2つの値dh1及びdh2の最大値を求めて、マッチング垂直高域成分vebpmとして出力する。
dh1=|hp11−hp12|/4 …式(16)
dh2=|hp12−hp13|/4 …式(17)
vebpm=MAX(dh1,dh2) ・・・式(18)
ここで、上記式(16)及び式(17)で差分絶対値の4分の1を求めているが、2分の1を求めるようにしてもよく、また、ライン間(行間)の値の差分の絶対値の最大値を選択した後、4分の1を求めても良い。さらに、水平ブロックマッチング演算部303で差分絶対値を平均化することで水平ブロックマッチング量hp11、hp12及びhp13を求める場合には、上記のように4分の1の乗算などを行う必要は無く、同様の値が得られる。いずれにせよ、上記差分の絶対値の最大値を反映する値が得られれば良い。
上記式(18)に従い算出されるマッチング垂直高域成分vebpmは、完全に静止しているか、ブロック内の画素が同じ値であり、かつブロック内の画素がすべて同じ方向に同じ速さでが動いているか、もしくは、ブロック内の画素が同じ速さで水平方向に動いている場合は、「0」であり、また、類似性が低いほど差分絶対値(水平方向ブロックマッチング量hp11、hp12、hp13)は大きくなるので、差分絶対値の垂直方向の高域周波数成分があれば、マッチング垂直高域成分vebpmは大きな値となり、画素ブロック内に垂直方向に動く成分があることを示している。
一例として、図7(a)及び(b)に示すように、直前フレームd2fでは、1行目と2行目の間にエッジがあり、現フレームDi0では、2行目と3行目の間にエッジがある場合(即ち、水平方向に延びたエッジが下方に移動した場合)、水平ブロックマッチング量hp11は小さな値、水平ブロックマッチング量hp12は大きな値、水平ブロックマッチング量hp13は小さな値となり、従って、dh1、dh2はとも大きな値となり、マッチング垂直高域成分vebpmは、大きな値となる。
また、図8(a)及び(b)に示すように、直前フレームd2fでは1行目の上側にエッジがあり、現フレームDi0では、1行目と2行目の間にエッジがある場合(即ち、水平方向に延びたエッジが下方に移動した場合)、水平ブロックマッチング量hp11は大きな値、水平ブロックマッチング量hp12及びhp13は小さな値となり、従って、dh1は大きな値となり、dh2は小さな値となり、マッチング垂直高域成分vebpmは、大きな値となる。
図2の水平ブロックマッチング演算部303と、マッチング垂直高域成分抽出部304とで、現フレームDi0及び直前フレームd2fの、同一の画素位置の画素ブロックb0、b2内の、同一位置にある画素の画素値の差分の絶対値に基づいて、画素ブロックb0、b2を垂直方向に分割した複数の小ブロックについての上記差分の絶対値の総和(単純加算値又は重み付け加算値)を求め、上記複数の小ブロックのうちの垂直方向に隣接するもの相互間で、上記総和の差を求めることで、マッチング垂直高域成分vebpmを生成するマッチング垂直高域成分生成部308が構成されている。
なお、上記の例では、パターンマッチングに使用する画素ブロックを図3に示す9画素のブロックとして構成したが、図4(a)又は(b)に示すように構成しても良く、例えば図4(a)に示す3ライン×5画素の15画素のブロックとした場合には、水平ブロックマッチング演算部303では、水平方向に並んだ5画素から成る小ブロックの単位でパターンマッチングを行い、3ライン分の(垂直方向の異なる位置の3つの小ブロックについての)水平ブロックマッチング量を得ることとなる。
一般的に言えば、画素ブロックb0、b2が垂直方向Vライン×水平方向H画素から成るものである場合、画素ブロックb0、b2を垂直方向に分割して、各々1ライン×H画素から成り、互いに垂直方向位置が異なるV個の小ブロックを形成して、現フレームと直前フレームの同一画素位置の小ブロック間の差分絶対値の総和を求め、垂直方向に隣接する小ブロック相互間で、上記総和の差を求めることで、マッチング垂直高域成分vebpmを求める。
マッチング垂直高域成分抽出部304で抽出されたマッチング垂直高域成分vebpmは、画素ブロック内に垂直方向に動く成分があることを示す値として、第1及び第2の動きブロック係数変換部311及び312へ出力される。
垂直ブロックマッチング演算部306は、現フレーム信号Di0と1フレーム遅延信号d2fとに基づき、画素ブロックの一部で構成される垂直方向に細長い領域で構成された小ブロックを単位としてパターンマッチングを行う。例えば、図3における垂直方向(列方向)に並んだ3画素で小ブロックを形成し、小ブロックごとにパターンマッチングを行い、3画素(3列)分の垂直ブロックマッチング量vp11、vp12及びvp13を求め、マッチング水平高域成分抽出部307へ送る。
垂直ブロックマッチング演算部306における処理は、水平方向ブロックマッチング演算部303における処理と、「水平」と「垂直」を入れ替えた点以外では同じである。即ち、垂直ブロックマッチング演算部306では、まず、上記ブロック間マッチング演算部301と同様、現フレームDi0の注目画素ブロックb0内の各画素と、直前フレームd2fの参照画素ブロックb2内の画素について、上記式(1)〜式(9)で表される画素値の差分の絶対値d1〜d9を求め、画素ブロックb0内を水平方向に分割することで形成された複数の小ブロック、例えば各々水平方向のサイズが1画素(1列)である3つの小ブロックの各々について差分絶対値の総和を求める。ここでは、画素ブロックのサイズが垂直方向3ライン×水平方向3画素(3行3列)であるので、各々垂直方向3ライン×1画素(3行1列)から成るブロック、即ち垂直方向に並んだ3画素から成る小ブロックの単位で、その総和である差分絶対値和を求める。そして、下記の式(19)〜式(21)による垂直ブロックマッチング量vp11、vp12及びvp13を求める。
vp11=d1+d4+d7 …式(19)
vp12=d2+d5+d8 …式(20)
vp13=d3+d6+d9 …式(21)
なお、水平ブロックマッチング演算部303と同様、画素ブロックの画素値の差分絶対値d1〜d9は、ブロック間マッチング演算部301内で求められているので、その差分絶対値を垂直ブロックマッチング演算部306へ入力して、垂直ブロックマッチング量vp11、vp12及びvp13の算出に用いても良い。
また、上記式(19)〜式(21)の演算の代わりに、式(19)〜式(21)の各々において、右辺の差分絶対値和の3分の1を求めることで、差分絶対値和の平均を求めることとしても良く、さらに3分の1を求める代わりに、ハードウェアの構成、演算処理の容易さを考慮して、4(2のべき乗)で割るようにしてもよい。
さらに、垂直方向に並んだ3画素から成る小ブロックの単位での差分絶対値和を求める際に、重み付け加算を行っても良く、例えば、画素ブロックの中心画素P0、Pf2に近い画素での差分の重みが大きく、中心画素からの距離が大きい画素での重みが小さくなるように重み付け加算してもよい。例えば、式(19)に代え、下記の式(22)に従い、垂直ブロックマッチング量vp11とすることもできる。
vp11=d1/4+d4/2+d7/4 …式(22)
マッチング水平高域成分抽出部307では、入力された垂直ブロックマッチング量vp11、vp12及びvp13から、隣接する列の垂直ブロックマッチング量同士の差分絶対値を求め、差分絶対値の水平方向の高域周波数成分を表すマッチング水平高域成分hebpmを算出して出力する。
ここで、上記垂直方向ブロックマッチング量vp11、vp12、vp13は、差分絶対値和に基づく値であるが、垂直方向ブロックマッチング量の水平方向の高域周波数成分、すなわち、水平方向のエッジ成分を求めることで、水平方向に動くパターンの場合の類似度(水平方向に動くパターンがある場合に値が大きくなる類似度)を得ることができる。
マッチング水平高域成分抽出部307は、垂直ブロックマッチング演算部306からの垂直ブロックマッチング量vp11、vp12及びvp13から、下記の式(23)及び式(24)により、水平方向の画素間(列間)の値の差分の絶対値の1/4の値dv1及びdv2を求めて水平方向の高域周波数成分を抽出し、さらに式(25)のように2つの値dv1及びdv2の最大値を求めて、マッチング水平高域成分hebpmとして出力する。
dv1=|vp11−vp12|/4 …式(23)
dv2=|vp12−vp13|/4 …式(24)
hebpm=MAX(dv1,dv2) ・・・式(25)
ここで、上記式(23)及び式(24)で差分絶対値の4分の1を求めているが、2分の1を求めるようにしてもよく、また、画素間(列間)の値の差分の絶対値の最大値を選択した後、4分の1を求めても良い。さらに、垂直ブロックマッチング演算部306で差分絶対値を平均化することで垂直ブロックマッチング量vp11、vp12及びvp13を求める場合には、上記のように4分の1の乗算などを行う必要は無く、同様の値が得られる。いずれにせよ、上記差分の絶対値の最大値を反映する値が得られれば良い。
上記式(25)に従い算出されるマッチング水平高域成分hebpmは、完全に静止しているか、ブロック内の画素が同じ値であり、かつブロック内の画素がすべて同じ方向に同じ速さで動いているか、もしくは、ブロック内の画素が同じ速さで垂直方向に動いている場合は、「0」であり、また、類似性が低いほど差分絶対値(垂直方向ブロックマッチング量vp11、vp12、vp13)は大きくなるので、差分絶対値の水平方向の高域周波数成分があれば、マッチング垂直高域成分hebpmは大きな値となり、画素ブロック内に水平方向に動く成分があることを示している。
図2の垂直ブロックマッチング演算部306と、マッチング水平高域成分抽出部307とで、現フレームDi0及び直前フレームd2fの、同一の画素位置の画素ブロックb0、b2内の、同位置にある画素の画素値の差分の絶対値に基づいて、画素ブロックb0、b2を水平方向に分割した複数の小ブロックについての上記差分の絶対値の総和(単純加算値又は重み付け加算値)を求め、上記複数の小ブロックのうちの水平方向に隣接するもの相互間で、上記総和の差を求めることで、マッチング水平高域成分hebpmを生成するマッチング水平高域成分生成部309が構成されている。
なお、上記の例では、パターンマッチングに使用する画素ブロックを図3に示す9画素のブロックとして構成したが、図4(a)又は(b)に示すように構成しても良く、例えば図4(a)に示す3ライン×5画素の15画素のブロックとした場合には、垂直ブロックマッチング演算部306では、垂直方向に並んだ3画素から成る小ブロックの単位でパターンマッチングを行い、水平方向5画素分の(水平方向の異なる位置の5つの小ブロックについての)垂直ブロックマッチング量を得ることとなる。
一般的に言えば、画素ブロックb0、b2が垂直方向Vライン×水平方向H画素から成るものである場合、画素ブロックb0、b2を水平方向に分割して、各々Vライン×1画素から成り、水平方向位置が互いに異なるH個の小ブロックを形成して、現フレームと直前フレームの同一画素位置の小ブロック間の差分絶対値の総和を求め、水平方向に隣接する小ブロック相互間で、上記総和の差を求めることで、マッチング水平高域成分hebpmを求める。
マッチング水平高域成分抽出部307で抽出されたマッチング水平高域成分hebpmは、
画素ブロック内に水平方向に動く成分があることを示す値として、第3の動きブロック係数変換部313へ出力される。
第1乃至第3の動きブロック係数変換部311乃至313は、互いに同様に構成されている。但し、第1及び第2の動きブロック係数変換部311及び312には、ブロック間マッチング演算部301からのブロックマッチング量blkpm及びマッチング垂直高域成分抽出部304からのマッチング垂直高域成分vdbpmが入力され、第3の動きブロック係数変換部313には、ブロック間マッチング演算部301からのブロックマッチング量blkpm及びマッチング水平高域成分抽出部307からのマッチング水平高域成分hdbpmが入力されている点で異なる。
第1、第2及び第3の動きブロック係数変換部311、312及び313は、それぞれブロック係数変換部302a〜302cと、高域成分変換部305a〜305cと、係数合成部314、315及び316とを備えている。
第1乃至第3の動きブロック係数変換部311、312及び313は、いずれも、ブロック間マッチング演算部301からのブロックマッチング量blkpmを、マッチング高域成分(vebpm又はhebpmの値)に応じて変換して、画素ブロックでの動きを示す動きブロック係数dfmat、dmat_mk、Vrdmatを生成する。
第1の動きブロック係数変換部311内のブロック係数変換部302aは、例えば、ブロックマッチング量blkpmから所定のオフセット値M1を減算し、所定の倍率Mk1を乗算して、その演算結果として得られる値((blkpm−M1)×Mk1)を所定の範囲(例えば、「0」からMax_kまでの範囲)に制限することで非線形変換し、ブロック係数dmbl1として出力する。
なお、非線形変換は、所定の倍率Mk1を乗算した後、所定のオフセット値M1を減算する演算(blkpm×Mk1−M1)を行い、ブロック係数として求めてもよい。
図9は、ブロック係数変換部302aにおいて、ブロックマッチング量blkpm(横軸)からブロック係数dmbl1(縦軸)への変換の特性を示す図であり、ブロック係数dmbl1が、「0」から最大値Max_k(=1)までの値を取る場合を示している。
ブロック係数dmbl1は、画素ブロックでのブロック・パターンの動きの度合いを示すものとして用いられる。
なお、このブロック係数dmbl1の「0」から「1」の値は、係数「1」に相当する値を「8」として、「0」〜「8」の値で小数部である「1/8」、「2/8」、・・・を表す値へ変換するようにしてもよい。
図示の例では、ブロックマッチング量blkpmが所定値M2以上の場合は、得られるブロック係数dmbl1が最大値Max_k、即ち、動きブロックである(完全に「動き」として扱われるべき)ことを示すものとなり、ブロックマッチング量blkpmがオフセット値M1以下では、ブロック係数dmbl1が「0」となり、類似パターン(静止画)として扱われる。
ブロックマッチング量blkpmがオフセット値M1から所定値M2までの範囲では、ブロックマッチング量blkpmの増加に伴ってブロック係数dmbl1が「0」からMax_kまで次第に増加し、その値で動きの度合い(完全に「動き」として扱われるべき状態と、完全に「静止」として扱われるべき状態の間の状態であって、完全に「動き」として扱われるべき状態への近さ)を示している。
倍率Mk1を大きくすることで、ブロックマッチング量blkpmがより大きな値を持つブロック係数dmbl1に変換される。即ち、ブロック係数dmbl1としてより大きな動きを表すものが生成されるように調整が行なわれ、動きと判定されやすくなる。一方、オフセット値M1を大きくすると、その値までの差分値が静止部分として検出されることとなる。よって、この倍率Mk1とオフセット値M1により、ブロック係数dmbl1への変換時の検出の感度が調整される。
なお、ブロック係数変換部302aにおいて、非線形変換を省略し、ブロックマッチング量blkpmを所定の閾値と比較することにより変換したり、ROM(Read Only Memory)などで構成されたLUT(ルックアップテーブル)を用いて、予め定められた、例えば図9に示すような変換を行って、ブロック係数dmbl1を生成するようにしてもよい。
第1の動きブロック係数変換部311内の高域成分変換部305aへは、マッチング垂直高域成分抽出部304からのマッチング垂直高域成分vebpmを、例えば、上記ブロック係数変換部302aと同様に非線形変換や閾値比較を行うことにより、画素ブロック内の垂直方向に動く成分の動きの度合いを示す高域成分係数hldm1に変換して出力する。
高域成分係数hldm1としては、マッチング垂直高域成分vebpmの増加に伴って「0」から「1」まで次第に増加し、その値で垂直方向に動く成分の動きの度合いを示すものが得られる。
係数合成部314へは、ブロック係数変換部302aからのブロック係数dmbl1と、高域成分変換部305aからの高域成分係数hldm1が入力される。係数合成部314では、ブロック係数dmbl1と、高域成分係数hldm1を合成して、動きブロック係数dfmatを生成し、出力する。係数合成部314では、例えば、ブロック係数dmbl1を、高域成分係数hldm1の値に応じて変化させる変換を行うことで、上記の合成を行う。
上記のように、高域成分係数hldm1は、垂直方向に動く成分の動きの度合いを示すものであるので、係数合成部314では、例えば、ブロック係数dmbl1に対し、高域成分係数hldm1を乗算することで変換を行うこととすれば、高域成分係数hldm1=1である(垂直方向に動く成分が存在することを示す)場合に、ブロック係数dmbl1がそのままの値で動きブロック係数dfmatとして出力され、高域成分係数hldm1=0である(垂直方向に動く成分が存在しないことを示す)場合には、動きブロック係数dfmatも「0」として出力され、高域成分係数hldm1の値に応じて重み付けされたブロック係数dmbl1が、動きブロック係数dfmatとして得られることとなる。
これにより、係数合成部314から出力される動きブロック係数dfmatは、画素ブロックが垂直方向に動くパターンを考慮したブロックの動きの度合いを示す動きブロック係数dfmatとして得ることができる。
なお、係数合成部314での合成は、高域成分係数hldm1をブロック係数dmbl1に対し、乗算する変換ではなく、高域成分係数hldm1が所定値(例えばhldm1=1)以上の場合にブロック係数dmbl1を動きブロック係数dfmatとするような変換を行っても、画素ブロックが垂直方向に動くパターンを考慮した動きブロック係数dfmatとすることができる。
また、係数合成部314で垂直方向に動くパターンを考慮した動きブロック係数dfmatを求めることとしたが、ブロック係数変換部302aから出力されたブロック係数dmbl1をそのまま動きブロック係数dfmatしてもよく、ブロックマッチング量blkpmから、画素ブロックの動きを示す動きブロック係数dfmatを生成できれば良く、このようにして生成された動きブロック係数dfmatは、画素ブロック間でパターンが異なること、すなわち、画素ブロックが動いていることを示しており、画素ブロックでのブロック・パターンの動きを示すものである。
但し、高域成分係数hldm1に応じた変換を行うことで、垂直方向に動くパターンを考慮することにより、後に述べるフレーム間の差分の検出等において、パターンの動きに応じたより適切な処理を行うための動きブロック係数dfmatとすることができる。
以上の第1の動きブロック係数変換部311内の係数合成部314で生成される動きブロック係数dfmatは、パターンマッチング検出部30で検出された動きブロック係数dfmatとして、図1におけるフレーム間差分検出部20へ送られる。
第2及び第3の動きブロック係数変換部312及び313は、上記第1の動きブロック係数変換部311と入力が異なるのみで同様な構成であるので、その詳細な説明は省略するが、第2の動きブロック係数変換部312では、ブロックマッチング量blkpmとマッチング垂直高域成分抽出部304で抽出されたマッチング垂直高域成分vebpmを入力として、垂直方向に動くパターンを考慮した横線動きブロック係数dfmat_mkを求め、第3の動きブロック係数変換部313では、ブロックマッチング量blkpmとマッチング水平高域成分抽出部307で抽出されたマッチング水平高域成分hebpmを入力として、水平方向に動くパターンを考慮した縦線動きブロック係数Vrdfmatを求め、得られた横線動きブロック係数dfmat_mkと縦線動きブロック係数Vrdfmatは、パターンマッチング検出部30で検出された動きブロック係数cbmatとして、図1における動き情報補正部50へ送られる。
第2及び第3の動きブロック係数変換部312及び313内のブロック係数変換部302b及び302cと、高域成分変換部305b及び305cと、係数合成部315、316は、第1の動きブロック係数変換部311でのブロック係数変換部302a、高域成分変換部305a、係数合成部314とそれぞれ同じ構成であり、得られる動きブロック係数cbmatは、垂直方向もしくは水平方向に動くパターンを考慮して、パターンの類似度によるブロックマッチング量blkpmの値に応じた画素ブロックでのブロック・パターンの動きを示すものとなるようにすることができる。
なお、第1、第2及び第3の動きブロック係数変換部311、312及び313で別々に動きブロック係数への変換を行っているが、共通の変換とし、一つの係数をそれぞれの出力とすることも可能である。しかし、ブロック係数変換部302a、302b、302c、高域成分変換部305a、305b、305cでの変換時の倍率やオフセット値を別々に設定することで、高域成分の方向や、変換時の検出の感度の調整を後に述べるフレーム間の差分の検出、動き情報補正部50の処理において、パターンの動きに応じたより適切な処理を行うための動きブロック係数となるようにすることができる。
以上により、図2に示されるパターンマッチング検出部30においては、現フレームDi0の注目画素ブロックb0と、直前フレームd2fの参照画素ブロックb2の間での類似度の算出から得られたブロックマッチング量blkpmを求め、また、差分絶対値の垂直高域成分及び水平高域成分を求めて、画素ブロックが垂直方向に動くパターン及び/又は水平方向に動くパターンのものであるかを考慮して、ブロックマッチング量blkpmによる類似度に応じた動きブロック係数dfmat及びcbmatが生成される。これらの動きブロック係数dfmat及びcbmatは、画素ブロック間のパターンマッチング(類似度の算出)から得られているため、注目画素P0と対応する画素の差分のみに基づいて判定を行なうのと比較し、画素ブロックのパターンの違いも考慮することとなり、画素ブロックでのブロック・パターンの動きを示した値が得られている。
図1に戻り、エッジ検出部40には、現フレーム信号Di0と、1フレーム遅延信号d2fと、1フィールド遅延信号d1fとが入力される。エッジ検出部40では、現フレーム信号Di0、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fで表される各画素の画素値から、現フレームDi0における注目画素P0の近傍の領域、並びに1フィールド期間前のフレーム及び1フレーム期間前のフレームにおける、注目画素P0に対応する位置の近傍の領域に、画像の物体の輪郭部分であるエッジが存在するかを検出し、検出結果であるエッジ判定係数efkm及びcedkmを生成する。
エッジ検出部40は、例えば図10に示すように構成される。
図10に示すエッジ検出部40は、画像の垂直方向の高域周波数成分(垂直エッジ成分、もしくは垂直高域成分、横線成分)を検出する垂直エッジ検出部41と、画像の水平方向の高域周波数成分(水平エッジ成分、もしくは水平高域成分、縦線成分)を検出する水平エッジ検出部42とを備えている。
垂直エッジ検出部41と水平エッジ検出部42は、現フレーム信号Di0と、1フレーム前の信号d2fと、1フィールド前の信号d1fとを用いて、注目画素P0と、注目画素P0と同じフレーム内において、注目画素P0及びその近傍乃至周辺に位置する画素と、時間的に隣接するフレーム内において、注目画素P0と同じ位置もしくは対応する位置にある画素とその近傍乃至周辺の位置にある画素から、垂直方向もしくは水平方向の高域周波数成分を求めることで、エッジを検出し、検出結果であるエッジ判定係数を出力する。
垂直エッジ検出部41は、垂直方向の高域周波数成分である垂直エッジ成分を取り出すための垂直高域成分抽出部411〜413と、垂直高域成分選択部414と、垂直エッジ判定係数変換部415〜417と、反転部418とを備える。
垂直高域成分抽出部411〜413は入力されるフレーム(フィールド)の信号が異なるが、同様に構成され、また、垂直エッジ判定係数変換部415〜417も、同様に構成されるが、同様のものを別々に設けることで、係数変換のための設定をそれぞれ(独立に)決定乃至変更することができる。
水平エッジ検出部42は、水平方向の高域周波数成分である水平エッジ成分を取り出すための水平高域成分抽出部421〜423と、水平高域成分選択部424と、水平エッジ判定係数変換部425及び426とを備える。
水平高域成分抽出部421〜423は入力されるフレーム(フィールド)の信号が異なるが、同様に構成され、また、水平エッジ判定係数変換部425及び426も、同様に構成されるが、同様のものを別々に設けることで、係数変換のための設定をそれぞれ(独立に)決定乃至変更することができる。
上記パターンマッチング検出部30に関して述べたように、図5は、入力映像信号がインターレース信号である場合の、現フレーム信号Di0、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fのフレーム相互間の時間的関係と、処理に用いられる画素の垂直走査方向(画面表示ライン上下方向)の位置関係を示している。
図5において、現フレームDi0を示す縦線上で、ラインn上に注目画素P0(図6(b)の画素ブロックb0の中心画素)が示され、1フレーム遅延信号d2fのフレームを示す縦線上で、注目画素P0と同じラインn上に(注目画素と同じ縦方向位置に)画素Pf2(図6(a)の画素ブロックb2の中心画素)が示され、1フィールド遅延信号d1fのフレームを示す縦線上で、注目画素P0に対して1/2ライン上及び1/2ライン下に画素Pf1a及びPf1bが示されている。
図10及び図5を参照してエッジ検出部40の動作を説明する。
まず、垂直エッジ検出部41において、現フレーム信号Di0、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fは、それぞれ垂直高域成分抽出部411〜413へ入力される。垂直高域成分抽出部411〜413では、現フレーム信号Di0、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fから、注目画素P0(又はそれに対応する位置)の近傍の領域における垂直方向の高域周波数成分である垂直エッジ成分(横線成分)を抽出する。
垂直エッジ成分の抽出は、具体的には、帯域通過フィルタ(バンドパスフィルタ、以下、BPFと略す)等により行い、ライン間の画素で垂直方向のBPF(垂直BPF)処理した後、BPF後の出力を絶対値化した値を垂直エッジ成分として求める。
なお、絶対値化したBPF出力に対し、水平方向のLPF(水平LPF)を施すことで平滑化処理を行っても良く、または、上記の垂直方向のBPF(垂直BPF)の前に各ラインの信号に対し水平LPFを施すこととしても良く、要するに、水平方向に延びた或いは水平方向の成分を有する輪郭における垂直エッジ成分が求められれば良い。
垂直高域成分抽出部411及び412は互いに同様に構成されており、垂直高域成分抽出部411では、現フレームDi0における画素P0と垂直方向上下ライン上に位置する信号(例えば、図5中のP0aとP0b)をライン遅延処理等で得て、フレーム内のライン間の画素の演算により垂直エッジ成分(例えば、垂直BPF出力を絶対値化した値)を抽出し、垂直エッジ成分vbp0として出力する。
また、垂直高域成分抽出部412では、1フレーム遅延信号d2fのフレームにおける画素Pf2(上記画素P0と同一位置)と垂直方向上下ライン上に位置する信号(図5中のPf2aとPf2b)をライン遅延処理等で得て、フレーム内のライン間の画素の演算により垂直エッジ成分を抽出し、垂直エッジ成分vbp2として出力する。
なお、上記の処理の代わりに、画素位置P0またはPf2を中心とし、その上または下のラインに位置する1つの画素との間の演算、さらには、画素位置P0またはPf2の上下に位置する数ラインにわたる画素との間での演算により垂直エッジ成分を抽出してもよい。
また、抽出した垂直エッジ成分に対して、平滑化処理とゲイン調整等の変換を行うよう構成することもできる。
垂直高域成分抽出部413では、1フィールド遅延信号d1fにおいて垂直方向上下ライン上に位置する画素の信号(例えば、図5中の画素Pf1a及びPf1bの信号)をライン遅延処理等で得て、フィールド内のライン間の画素の演算により垂直エッジ成分(例えば、2画素の差分による垂直BPF出力を絶対値化した値)を抽出し、フィールド内の垂直エッジ成分vbp1fとして出力する。
なお、図5中の画素Pf1a及びPf1bの上下に位置する数ラインにわたる画素との間での演算により垂直エッジ成分を抽出してもよく、上記垂直高域成分抽出部411と同様のライン数を用いた抽出を行うこともできる。また、上記と同様、抽出した垂直エッジ成分に対して、平滑化処理とゲイン調整等の変換を行うよう構成することもできる。
垂直高域成分抽出部411〜413から出力される現フレーム信号Di0、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fの各フレーム内における、垂直エッジ成分vbp0、vbp2及びvbp1fは、垂直高域成分選択部414へ出力される。
垂直高域成分選択部414では、入力された垂直エッジ成分vbp0、vbp2及びvbp1fを比較し、その最小値を選択して、抽出垂直エッジ成分vedとして出力する。即ち、抽出垂直エッジ成分vedは、注目画素P0の近傍(図5に示される注目画素P0周辺に位置する画素)とその時間的に1フレーム前までの同一位置の近傍において得られた垂直高域成分のうち最小となる値として抽出される。最小値を選択することで、例えば垂直高域成分があると判定できるような所定の閾値よりも、選択された最小値である抽出垂直エッジ成分vedの値が大きければ、現フレーム信号Di0、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fのいずれにも垂直高域成分、つまり、垂直エッジである横線成分が存在すると判定できる。
なお、垂直高域成分選択部414において、各垂直エッジ成分を比較し、その最大値を選択して、抽出垂直エッジ成分vedとすることもできるが、この場合は、現フレーム信号Di0、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fのいずれかにおいて、垂直エッジである横線成分が存在する場合を判定することになる。
この垂直高域成分選択部414からの抽出垂直エッジ成分vedは、注目画素P0の近傍の垂直エッジである横線成分の存在を示し、垂直エッジ判定係数変換部415〜417へ出力される。
垂直エッジ判定係数変換部415〜417は、垂直高域成分選択部414からの抽出垂直エッジ成分vedに基づいて、垂直エッジの有無を判定し、垂直エッジ判定係数を生成する。垂直エッジ判定係数変換部415〜417は互いに同様に構成されているが、垂直エッジ判定係数生成における係数変換のための設定がそれぞれ独立に定め得るように構成されている。
垂直エッジ判定係数変換部415〜417は互いに同様な構成であるので、垂直エッジ判定係数変換部415について説明する。
垂直エッジ判定係数変換部415では、例えば、抽出垂直エッジ成分vedから所定のオフセット値E1を減算し、所定の倍率Ek1を乗算して、その演算結果として得られる値((ved−E1)×Ek1)を所定の範囲(例えば、「0」からMax_ekまでの範囲)に制限することで非線形変換し、第1の垂直エッジ判定係数vedg_fkとして出力する。
なお、非線形変換の方法は、抽出垂直エッジ成分vedに所定の倍率Ek1を乗算した後、所定のオフセット値E1を減算する演算(ved×Ek1−E1)を行ってもよい。
図11は、垂直エッジ判定係数変換部415において、抽出垂直エッジ成分ved(横軸、図中、抽出エッジ成分と記す)から垂直エッジ判定係数vedg_fk(縦軸、図中エッジ判定係数と記す)への変換の特性を示す図であり、垂直エッジ判定係数vedg_fkが「0」から最大値Max_ekまでの値を取る場合を示している。
垂直エッジ判定係数vedg_fkは、垂直エッジである横線成分の存在の度合い (存在するとして扱われるべき度合い)を示すものとして用いられる。
なお、この垂直エッジ判定係数vedg_fkの「0」から「1」の値は、係数「1」に相当する値を「8」として、「0」〜「8」の値で小数部である「1/8」、「2/8」、・・・を表す値へ変換するようにしてもよい。
図示の例では、抽出垂直エッジ成分vedが所定値E2以上の場合は、得られる垂直エッジ判定係数vedg_fkが最大値Max_ek、即ち、垂直エッジである(完全に「垂直エッジあり」として扱われるべき)ことを示すものとなり、抽出垂直エッジ成分vedがオフセット値E1以下では、垂直エッジ判定係数vedg_fkが「0」となり、エッジがない(完全に「垂直エッジなし」)として扱われる。
抽出垂直エッジ成分vedがオフセット値E1から所定値E2までの範囲では、抽出垂直エッジ成分vedの増加に伴って垂直エッジ判定係数vedg_fkが「0」からMax_ekまで次第に増加し、その値で垂直エッジであることの度合い、言い換えれば垂直エッジとして扱われるべき度合い(完全に「エッジあり」として扱われるべき状態と、完全に「エッジなし」として扱われるべき状態の間の状態であって、完全に「エッジあり」として扱われるべき状態への近さ)、言い換えればエッジ成分の大きさ乃至強さを示している。
倍率Ek1を大きくすることで、抽出垂直エッジ成分vedがより大きな値を持つ垂直エッジ判定係数vedg_fkに変換され、垂直エッジが存在するとの判定がされやすくなる(垂直エッジが検出されやすくなる)。一方、オフセット値E1を大きくすると、エッジなしと判定される範囲が広がる。従って、この範囲内の高域成分はノイズとして扱われる。このようにこの倍率Ek1とオフセット値E1により、垂直エッジ判定係数vedg_fkへの変換時の検出の感度が調整される。
なお、垂直エッジ判定係数変換部415において、非線形変換を省略し、抽出垂直エッジ成分vedを所定の閾値と比較することにより変換したり、LUTを用いて、予め定められた、例えば図11に示すような変換を行って、垂直エッジ判定係数vedg_fkを生成するようにしてもよい。
垂直エッジ判定係数変換部416及び417は、上記垂直エッジ判定係数変換部415と同様な構成であるので、その詳細な説明は省略するが、垂直エッジ判定係数変換部416では、抽出垂直エッジ成分vedを変換し、第2の垂直エッジ判定係数vedg_mkを生成し、垂直エッジ判定係数変換部417では、抽出垂直エッジ成分vedを変換し、第3の垂直エッジ判定係数vrdeを生成する。垂直エッジ判定係数変換部417で変換された垂直エッジ判定係数vrdeは、反転部418へ送られる。
垂直エッジ判定係数変換部416及び417は、垂直エッジ判定係数変換部415と同じ構成であり、得られる垂直エッジ判定係数vedg_mk及びvrdeは、垂直エッジである横線成分の存在の度合い(存在するとして扱われるべき度合い)を示す「0」から「1」の値をとり、抽出垂直エッジ成分vedの値に応じた垂直エッジの存在を示すものとなる。
なお、垂直エッジ判定係数変換部415〜417で別々に垂直エッジ判定係数への変換を行っているが、共通の変換とし、一つの係数をそれぞれの出力とすることも可能である。しかし、垂直エッジ判定係数変換部415〜417での変換時の倍率やオフセット値を別々に設定することで、変換時の検出の感度の調整を、後に述べるフレーム間の差分の検出、動き情報補正部50の処理において、画像のエッジの方向に応じたより適切な処理を行うための垂直エッジ判定係数となるようにすることができる。
反転部418は、垂直エッジ判定係数変換部417からの垂直エッジ判定係数vrdeを反転し、非垂直エッジ判定係数vrd_hvkmとする。この反転は、例えば、垂直エッジ判定係数vrdeの値を、その最大値から減算することで行われる。垂直エッジ判定係数vrdeは、垂直エッジである横線成分の存在の度合いを示すものであるので、反転することで垂直エッジである横線成分が存在しないこと、すなわち、非垂直エッジであることの度合いを示す値が得られる。
垂直エッジ判定係数変換部415及び416で生成された垂直エッジ判定係数vedg_fk及びvedg_mkと、反転部418からの非垂直エッジ判定係数vrd_hvkmが、注目画素P0の近傍に垂直エッジが存在するか否かを示す検出結果として出力される。
次に、水平エッジ検出部42において、現フレーム信号Di0、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fは、それぞれ水平高域成分抽出部421〜423へ入力される。水平高域成分抽出部421〜423では、現フレーム信号Di0、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fから、注目画素P0(又はそれに対応する位置)の近傍の領域における水平方向の高域周波数成分である水平エッジ成分(縦線成分)を抽出する。
水平エッジ成分の抽出は、垂直方向のLPF(垂直LPF)により垂直方向での低域周波数成分(垂直低域成分)を取り出した後、水平方向のBPF(水平BPF)処理を施すことにより行い、水平BPF後の出力を絶対値化した値を水平エッジ成分として求める。
なお、フレーム内での水平エッジ成分の抽出は、所定の画素を中心とした水平BPF処理のみから求めることとしても良く、また水平BPF処理を施し、絶対値化したBPF出力に対し、垂直LPFを施すことで平滑化処理することとしても良く、要するに、垂直方向に延びた或いは垂直方向の成分を有する輪郭(縦線)における水平エッジ成分が求められれば良い。
水平高域成分抽出部421及び422は互いに同様に構成されており、水平高域成分抽出部421では、現フレームDi0における画素P0に対し、垂直LPFにより垂直低域成分を取り出した後、この垂直低域成分に水平方向のBPF処理を施すことで、水平エッジ成分(例えば、水平BPF出力を絶対値化した値)を抽出し、水平エッジ成分hbp0として出力する。
また、水平高域成分抽出部422では、1フレーム遅延信号d2fのフレームにおける画素Pf2に対し、垂直LPFにより垂直低域成分を取り出した後、この垂直低域成分に水平方向のBPF処理を施すことで、水平エッジ成分を抽出し、水平エッジ成分hbp2として出力する。
なお、抽出した水平エッジ成分に対して、平滑化処理とゲイン調整等の変換を行うよう構成することもできる。
水平高域成分抽出部423では、1フィールド遅延信号d1fの画素Pf1a及びPf1b(図5参照)に対し、垂直LPF(例えば、2画素の平均値)により垂直低域成分を取り出した後、この垂直低域成分に水平BPF処理を施すことで、フィールド内の垂直低域成分における水平エッジ成分(例えば、BPF出力を絶対値化した値)を抽出し、フィールド内の水平エッジ成分hbp1fとして出力する。
なお、図5中の画素Pf1a及びPf1bの上下に位置する数ラインにわたる画素との間での垂直LPF処理により垂直低域成分を取り出してもよく、また、上記と同様、抽出した水平エッジ成分に対して、平滑化処理とゲイン調整等の変換を行うよう構成することもできる。
水平高域成分抽出部421〜423から出力される現フレーム信号Di0、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fの各フレーム内における、水平エッジ成分hbp0、hbp2及びhbp1fは、水平高域成分選択部424へ出力される。
水平高域成分選択部424では、入力された水平エッジ成分hbp0、hbp2及びhbp1fを比較し、その最小値を選択して、抽出水平エッジ成分hedとして出力する。
即ち、抽出水平エッジ成分hedは、注目画素P0の近傍(図5に示される注目画素P0周辺に位置する画素)とその時間的に1フレーム前までの同一位置の近傍において得られた水平高域成分のうち最小となる値として抽出される。最小値を選択することで、例えば水平高域成分があると判定できるような所定の閾値よりも、選択された最小値である抽出水平エッジ成分hedの値が大きければ、現フレーム信号Di0、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fのいずれにも水平高域成分、つまり、水平エッジである縦線成分が存在すると判定できる。
なお、水平高域成分選択部424において、各水平エッジ成分を比較し、その最大値を選択して、抽出水平エッジ成分hedとすることもできるが、この場合は、現フレーム信号Di0、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fのいずれかにおいて、水平エッジである縦線成分が存在する場合を判定することになる。
この水平高域成分選択部424からの抽出水平エッジ成分hedは、注目画素P0の近傍の水平エッジである縦線成分の存在を示し、水平エッジ判定係数変換部425、426へ出力される。
水平エッジ判定係数変換部425及び426は、水平高域成分選択部424からの抽出水平エッジ成分hedに基づいて、水平エッジの有無を判定し、水平エッジ判定係数を生成する。水平エッジ判定係数変換部425及び426は互いに同様に構成されているが、水平エッジ判定係数生成における係数変換のための設定がそれぞれ独立に定め得るように構成されている。
水平エッジ判定係数変換部425及び426は互いに同様な構成であるので、水平エッジ判定係数変換部425について説明する。
水平エッジ判定係数変換部425では、例えば、上記垂直エッジ判定係数変換部415と同様の処理により、抽出水平エッジ成分hedを、「0」から最大値Max_ekまでの値をとる第1の水平エッジ判定係数hedg_fkとして変換して出力する。変換特性は図11に示すようになる。
この水平エッジ判定係数hedg_fkは、水平エッジである縦線成分の存在の度合いを示すものとして用いられる。
なお、水平エッジ判定係数hedg_fkの「0」から「1」の値は、係数「1」に相当する値を「8」として、「0」〜「8」の値で小数部である「1/8」、「2/8」、・・・を表す値へ変換するようにしてもよいことは、上述の垂直エッジ判定係数変換部415での変換と同様である。
抽出垂直エッジ成分vedについて述べたのと同様に、抽出水平エッジ成分hedが所定値E2以上の場合は、得られる水平エッジ判定係数hedg_fkが最大値Max_ek、即ち水平エッジであること(完全に「水平エッジあり」として扱われるべき)を示すものとなり、抽出水平エッジ成分hedがオフセット値E1以下では、水平エッジ判定係数hedg_fkが「0」となり、エッジがない(完全に「水平エッジなし」)として扱われる。
抽出水平エッジ成分hedがオフセット値E1から所定値E2までの範囲では、抽出水平エッジ成分hedの増加に伴って水平エッジ判定係数hedg_fkが「0」からMax_ekまで次第に増加し、その値で水平エッジであることの度合い、言い換えれば水平エッジとして扱われるべき度合いを示している。
水平エッジ判定係数変換部426は、上記水平エッジ判定係数変換部425と同様な構成であるので、説明は省略するが、水平エッジ判定係数変換部426では、抽出水平エッジ成分hedを変換し、第2の水平エッジ判定係数hedg_mkを生成する。得られる水平エッジ判定係数hedg_mkは、水平エッジである縦線成分の存在の度合いを示す「0」から「1」の値をとり、抽出水平エッジ成分hedの値に応じた水平エッジの存在を示すものとなる。
なお、水平エッジ判定係数変換部425及び426で別々に水平エッジ判定係数への変換を行っているが、共通の変換とし、一つの係数をそれぞれの出力とすることも可能である。しかし、水平エッジ判定係数変換部425及び426での変換時の倍率やオフセット値を別々に設定することで、変換時の検出の感度の調整を、後に述べるフレーム間の差分の検出、動き情報補正部50の処理において、画像のエッジの方向に応じたより適切な処理を行うための水平エッジ判定係数となるようにすることができる。
水平エッジ判定係数変換部425及び426で生成された水平エッジ判定係数hedg_fk及びhedg_mkが、注目画素P0の近傍に水平エッジが存在するか否かを示す検出結果として出力される。
以上により、図10に示されるエッジ検出部40においては、現フレーム信号Di0、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fの画素から、信号の高域成分を抽出し、注目画素P0の近傍のエッジ成分の存在の度合いを示すエッジ判定係数efkm及びcedkmを生成し、出力する。
そして、垂直エッジ検出部41の垂直エッジ判定係数変換部415からの垂直エッジ判定係数vedg_fkと、水平エッジ検出部42の水平エッジ判定係数変換部425からの水平エッジ判定係数hedg_fkは、エッジ検出部40で検出された注目画素P0の近傍にエッジが存在するかを検出した検出結果であるエッジ判定係数efkmとして、図1におけるフレーム間差分検出部20へ送られ、垂直エッジ検出部41の垂直エッジ判定係数変換部416からの垂直エッジ判定係数vedg_mkと反転部418からの非垂直エッジ判定係数vrd_hvkm、水平エッジ検出部42の水平エッジ判定係数変換部426からの水平エッジ判定係数hedg_mkは、エッジ検出部40で検出されたエッジ判定係数cedkmとして、図1における動き情報補正部50へ送られる。
図1に戻り、フレーム間差分検出部20へは、現フレーム信号Di0と1フレーム遅延信号d2fが入力され、さらにパターンマッチング検出部30からの動きブロック係数dfmatと、エッジ検出部40からのエッジ判定係数efkmが入力される。
フレーム間差分検出部20では、1フレーム前の信号d2fと現フレーム信号Di0の同位相にある画素間の差分を求め、この差分に対し、動きブロック係数dfmatとエッジ判定係数efkmとに応じて、平滑化処理を行う画素の範囲を選択し、平滑化処理したフレーム間の差分を検出し、検出結果としてフレーム間差分信号fdiffを生成する。
フレーム間差分検出部20から出力されるフレーム間差分信号fdiffは、画像の完全に静止した部分では、「0」となり、動き成分があると、動きの度合いに応じてその値の絶対値が大きくなる。
フレーム間差分検出部20内のフレーム間差分算出部21へは、現フレーム信号Di0と1フレーム遅延信号d2fが入力され、さらに、パターンマッチング検出部30からの動きブロック係数dfmatと、エッジ検出部40からのエッジ判定係数efkmが入力される。
フレーム間差分算出部21は、例えば、図12に示すように構成される。
図12に示すフレーム間差分算出部21は、減算部211と、水平方向平滑化処理部212と、第1の混合部213と、垂直方向平滑化処理部214と、第2の混合部215と、絶対値演算部216とを有する。
ここで、パターンマッチング検出部30からフレーム間差分算出部21へ入力される動きブロック係数dfmatは、画素ブロックが垂直方向に動くパターンを考慮したブロックの動きの度合いを示すものであり、エッジ検出部40からのエッジ判定係数efkmは、垂直エッジ成分(横線)の度合いを示す垂直エッジ判定係数vedg_fkと、水平エッジ成分(縦線)の度合いを示す水平エッジ判定係数hedg_fkによるものである。
図12において、フレーム間差分算出部21内の減算部211へは、現フレーム信号Di0と1フレーム遅延信号d2fが入力され、減算部211は、1フレーム遅延信号d2fと現フレーム信号Di0の減算処理を行い、同位相にある画素間の差分を算出する。即ち、現フレーム信号Di0と1フレーム遅延信号d2fのフレーム間の差分値(注目画素の画素値と、該注目画素と同一位置にある、画素の画素値との差分値)Dnを求める。
水平方向平滑化処理部212は、減算部211で求められた差分値Dnを受け、水平方向の画素範囲で平滑化処理を行う。即ち、注目画素P0の位置での差分Dnと、注目画素P0を中心として、水平方向に隣接する画素位置での差分Dnとを用いた平均値を求め、水平方向の所定の画素範囲で平滑化処理した水平方向平滑化差分hlpdとして出力する。平均値を求める処理においては、水平方向での差分の単純平均を求める代わりに、重み付け平均、例えば、中心位置に近いほどより大きな重みを付けた平均を求める処理、即ち水平LPFを施す平滑化処理を行ってもよい。
水平方向平滑化処理部212において、差分値Dnが水平方向の所定の範囲で平滑化処理されると、縦線のような水平エッジが移動する場合には、得られた差分値Dnが水平エッジ付近の画素で平均化され、急峻な変化でなくなるため(低域成分の値が得られることとなり)、動きであるにもかかわらず平滑化後の値が小さくなる。
特に、縦線による繰り返し模様の物体が移動する場合は、差分が正の値と負の値を交互に取るため、動きであるにもかかわらず平滑化後の値は小さくなる。
一方、平坦部や水平エッジ成分がない場合は、平滑化処理することで、差分の高域周波数成分であるノイズの影響を低減することができる。
第1の混合部213は、エッジ検出部40からの第1のエッジ判定係数efkmのうちの第1の水平エッジ判定係数hedg_fkに応じて、減算部211からの差分値Dnと水平方向平滑化処理部212からの水平方向平滑化差分hlpdとを混合し、水平混合差分hdfを求める。
水平エッジ判定係数hedg_fkは、水平エッジ成分(縦線)の度合いに応じたものであるので、第1の混合部213は、例えば、水平エッジ判定係数hedg_fkを混合比として、水平方向の平滑化処理を行っていない差分値Dnと、水平方向平滑化差分hlpdとを下記式(26)のように混合する。
hdf=(1−hedg_fk)×hlpd+hedg_fk×Dn ・・・式(26)
式(26)の混合を行えば、水平エッジ判定係数hedg_fkの値が「0」から「1」の間である場合は、水平エッジ判定係数hedg_fkの値に応じた混合比により、差分値Dnと水平方向平滑化差分hlpdを混合することにより得られた水平混合差分hdfが出力され、水平エッジ判定係数hedg_fkが水平エッジ成分の存在を示す「1」である場合は、水平方向の平滑化処理を行っていない差分値Dnがそのまま水平混合差分hdfとして出力され、一方、水平エッジ判定係数hedg_fkが「0」である場合は、水平方向平滑化差分hlpdがそのまま水平混合差分hdfとして出力される。
このようにして、水平エッジ判定係数hedg_fkの値に応じ、適切な範囲で平滑化された差分が得られる。
なお、第1の混合部213での処理は、水平エッジ判定係数hedg_fkが所定値以上(例えばhedg_fk=1)の場合に、差分値Dnを選択し、それ以外は水平方向平滑化差分hlpdを選択する処理であってもよい。このような選択処理も混合比を「1」か「0」にする混合処理の一種と見ることができる。但し、上記の式(26)で表される混合処理を行えば、差分値Dnと水平方向平滑化差分hlpdが選択される切り換りを滑らかにすることができ、より精度よく差分値を得ることができる。
また、第1の混合部213に対し、パターンマッチング検出部30からの動きブロック係数dfmatを使い、動くパターンであり、かつ、水平エッジ判定係数hedg_fkが水平エッジ成分の存在を示す場合において差分値Dnを選択するようにすることもできる。しかし、水平エッジ成分(縦線)がある場合は、動きとしての差分の検出ができないと、動き検出漏れにつながる。そこで、動きとして検出されるよう差分を得た方がよいため、動きパターンか否かに関わらず水平エッジ判定係数hedg_fkに応じて水平混合差分hdfを求めるようにした方がよい。
垂直方向平滑化処理部214は、第1の混合部213からの水平混合差分hdfを受け、垂直方向の画素範囲で平滑化処理を行う。即ち、注目画素P0での水平混合差分hdfと、注目画素を中心として、垂直方向に隣接する画素位置での水平混合差分hdfとを用いた平均値を求め、垂直方向の所定の画素範囲で平滑化処理した垂直方向平滑化差分vlpdとして出力する。平均値を求める処理においては、垂直方向での単純平均を求める代わりに、重み付け平均、例えば、中心位置に近いほどより大きな重みを付けた平均を求める処理、即ち垂直LPFを施す平滑化処理を行ってもよい。
垂直方向平滑化処理部214において、水平混合差分hdfが垂直方向の所定の範囲で平滑化処理されると、横線のような垂直エッジが移動する場合には、差分hdfが垂直エッジの隣接する画素で平均化され、急峻な変化でなくなるため(低域成分の値が得られることとなり)、動きであるにもかかわらず平滑化後の値が小さくなる。
特に、横線による繰り返し模様の物体が垂直方向に移動する場合は、差分が正の値と負の値を交互に取るため、動きであるにもかかわらず平滑化後の値は小さくなる。
一方、平坦部や垂直エッジ成分がない場合は、平滑化処理することで、差分の高域周波数成分であるノイズの影響を低減することができる。
また、横線のような垂直エッジ成分が存在しても、そのエッジが静止である場合や、水平方向に動く場合は、垂直方向に平滑化処理することで差分が小さくなっても、動き検出漏れにつながることはない。
第2の混合部215は、パターンマッチング検出部30からの第1の動きブロック係数dfmatと、エッジ検出部40からの第1のエッジ判定係数efkmのうちの第1の垂直エッジ判定係数vedg_fkとに応じて、第1の混合部213からの水平混合差分hdfと垂直方向平滑化処理部214からの垂直方向平滑化差分vlpdとを混合し、混合差分difを求める。
動きブロック係数dfmatは、画素ブロックが垂直方向に動くパターンを考慮したブロックの動きの度合いに応じたものであり、垂直エッジ判定係数vedg_fkは垂直エッジ成分(横線)の度合いに応じたものであるので、第2の混合部215は、例えば、垂直エッジ判定係数vedg_fkと動きブロック係数dfmatを乗算し、「0」から「1」の範囲内の値を取る混合比vdkへ変換し(例えば、vdk=vedg_fk×dfmat)、この混合比vdkに応じて、水平混合差分hdfと垂直方向平滑化差分vlpdとを下記式(27)で示すように混合する。
dif=(1−vdk)×vlpd+vdk×hdf ・・・式(27)
動きブロック係数dfmatが垂直方向への動きパターンを示す「1」で、垂直エッジ判定係数vedg_fkが垂直エッジ成分の存在を示す「1」であれば、混合比vdkは、垂直エッジである横線成分が動きパターンとなることを示し、混合比vdkは「1」となる。
よって、式(27)の混合を行えば、混合比vdkの値が「0」から「1」の間である場合は、混合比vdkにより、水平混合差分hdfと垂直方向平滑化差分vlpdとを混合して混合差分difが求められ、混合比vdkが「1」である場合、垂直方向の平滑化処理を行っていない水平混合差分hdfがそのまま混合差分difとして出力され、一方、混合比vdkが「0」である場合は、垂直方向平滑化差分vlpdがそのまま混合差分difとして出力される。
このようにして、動きブロック係数dfmatと垂直エッジ判定係数vedg_fkとの値に応じ、適切な範囲で平滑化された差分が得られる。
なお、第2の混合部215での処理は、動きブロック係数dfmatと垂直エッジ判定係数vedg_fkの値がどちらも所定値(例えばともに1)以上の場合に、水平混合差分hdfを選択し、それ以外は垂直方向平滑化差分vlpdを選択する処理であっても良い。このような選択処理も混合比を「1」か「0」にする混合処理の一種と見ることができる。但し、上記の式(27)で表される混合処理を行えば、水平混合差分hdfと垂直方向平滑化差分vlpdが選択される切り換りを滑らかにすることができ、より精度よく差分値を得ることができる。
絶対値演算部216は、第2の混合部215からの混合差分difを受け、混合差分difの絶対値を演算し、フレーム間差分の差分絶対値frdとして出力する。
絶対値演算部216により得られたフレーム間差分の差分絶対値は、フレーム間差分frdとしてフレーム間差分算出部21から出力される。このフレーム間差分frdは、水平エッジ判定係数hedg_fkが水平エッジ成分(縦線)の存在を示す場合は、水平方向の平滑化処理を行わず、垂直方向の平滑化処理のみ施されたフレーム間差分であり、動きブロック係数dfmatが垂直方向への動きパターンを示し、かつ、垂直エッジ判定係数vedg_fkが垂直エッジ成分(横線)の存在を示す場合は、水平方向の平滑化処理のみが施され、垂直方向の平滑化処理を行わないフレーム間差分であり、それ以外の場合は、水平方向及び垂直方向で平滑化処理されたものである。このように、フレーム間差分算出部21により、画像のエッジの方向、パターンの動きに応じて平滑化処理の範囲を切り換えて、適切な範囲で平滑化されたフレーム間差分を得ることができ、ノイズ等による静止部分を動きと誤検出することなく、動き部分を静止と検出する動き検出漏れを防止でき、精度がよいフレーム間差分を得ることができる効果がある。
また、フレーム間差分算出部21で平滑化処理の範囲を切り換える場合、閾値による切換えではなく、動きブロック係数dfmatとエッジ判定係数efkmによる値を混合比として混合処理する構成としたので、平滑化処理による信号である水平混合差分hdf及び垂直方向平滑化差分vlpdが選択される切り換りを滑らかにすることができ、より精度よく安定したフレーム間差分を得ることができる。
なお、図12に示すフレーム間差分算出部21は、水平方向平滑化処理部212と第1の混合部213の後段に配置された垂直方向平滑化処理部214と第2の混合部215により、フレーム間差分frdを得るよう構成したが、水平方向の平滑化と垂直方向の平滑化処理を逆に行うこととしても良い。すなわち、垂直方向平滑化処理部214と第2の混合部215を前段に配置し、その後段に水平方向平滑化処理部212と第1の混合部213を配置しても、同様のフレーム間差分を得ることができる。
従って、一般化すれば、フレーム間差分算出部(21)は、現フレームの注目画素の信号と直前フレームにおける、注目画素と同じ位置の画素の信号との差分を求める減算部(211)と、水平方向及び垂直方向のうちの一方である第1の方向の平滑化を行う第1の平滑化処理部(212、214)と、上記第1の平滑化処理部(212、214)による平滑化を受けた信号と、減算部(211)の出力とを混合する第1の混合部(213、215)と、上記第1の混合部(213、215)の出力に対し、水平方向及び垂直方向のうちの他方である第2の方向の平滑化を行う第2の平滑化処理部(214、212)と、上記第2の平滑化処理部(214、212)による平滑化を受けた信号と、上記第1の混合部(213)の出力とを混合する第2の混合部(215、213)とを備え、上記第2の混合部の出力に基づいて上記フレーム間差分(frd)を出力するものであれば良い。
また、図12のフレーム間差分算出部21の代わりに、図13のフレーム間差分算出部21bを用いることもできる。図13に示されるフレーム算出部21bにおいては、現フレーム信号Di0及び1フレーム遅延信号d2fの各々に対し、図12の差分に対する平滑化処理と同様の処理を行い、その後、1フレーム遅延信号d2fと現フレーム信号Di0の減算処理を行ってフレーム間の差分値を求める。
図13において、図12と同一又は対応する構成要素、同じ数字に添え字「b」、「c」を付した符号で表されており、水平方向平滑化処理部212b、212cと、混合部213b、213cと、垂直方向平滑化処理部214b、214cと、混合部215b、215cは、それぞれ、入力が差分による値ではなく、映像信号における画素値であることが異なるのみで、図12における水平方向平滑化処理部212、混合部213、垂直方向平滑化処理部214及び混合部215と同様に構成されており、減算部211bは、混合部215bから出力される混合結果である画素の値dif1と混合部215cから出力される混合結果である画素の値dif2の減算処理を行う。
画像のエッジの方向、パターンの動きに応じて平滑化処理の範囲を切り換えて、適切な範囲で平滑化されたフレーム間差分の差分絶対値frdを得るまでの構成は、上記図12と同様である。
図1におけるフレーム間差分検出部20内の非線形変換部22は、フレーム間差分算出部21(又は21b)からのフレーム間差分frdに対して非線形変換を行って、フレーム間差分信号fdiffを生成する。
例えば、フレーム間差分frdに所定の感度倍率Tmfを乗算し、所定のオフセット値Tofを減算して、その演算結果を所定の値(例えば、「0」からdM)の間に値を制限することで非線形変換し、フレーム間差分信号fdiffとして出力する。フレーム間差分信号fdiffは動き情報補正部50へ出力される。
なお、フレーム間差分検出部20が非線形変換部22を備えず、フレーム間差分frdをそのままフレーム間差分信号fdiffとして出力する構成としてもよい。
図14は、非線形変換部22の入出力特性、即ちフレーム間差分frd(横軸に示される入力)とフレーム間差分信号fdiff(縦軸に示される出力)の関係の一例を示している。図示の例では、フレーム間差分frdが所定値Tm以上の場合は、出力されるフレーム間差分信号fdiffが一定値dMとして動きを示すものとなり、フレーム間差分frdがオフセット値Tof以下ではフレーム間差分信号fdiffが「0」となり、微小のノイズ成分として扱われる。
フレーム間差分frdがオフセット値Tofから所定値Tmまでの範囲では、フレーム間差分frdの増加に伴ってフレーム間差分信号fdiffが「0」からdMまで次第に増加し、その値で動きもしくはノイズの量を示している。
感度倍率Tmfを大きくすることで、フレーム間差分frdがより大きな値を持つフレーム間差分信号fdiffに変換され、より大きな動き、もしくはより多くのノイズを表すものとなり、動き、もしくはノイズを所定値以上含むと判断されやすくなる。一方、オフセット値Tofを大きくすると、微小ノイズ成分(静止部分)と判断される範囲が広がる。このように、感度倍率Tmfとオフセット値Tofにより動きとしてのフレーム間差分の検出の感度が調整される。
但し、動きと検出しやすくするため上記感度倍率Tmfを大きくしすぎると、ノイズやゆらぎなどのように、映像信号の動きによる値の変化に比べて比較的差分が小さな値となる場合も、動きとして変換されるため、実際は静止である部分もフレーム間差分信号fdiffが大きな値として変換され、静止部分を動きと誤検出される。
また、上記オフセット値Tofを大きくしすぎると、実際は動きがある部分においてもフレーム間差分信号fdiffが「0」として変換され、動き部分を静止画として検出してしまう(即ち動き検出漏れとなってしまう)。感度倍率Tmf、オフセット値Tofの設定に当たっては、上記の点を考慮する必要がある。
フレーム間差分検出部20においては、フレーム間差分算出部21(又は21b)からのフレーム間差分frdは、画像のエッジの方向、パターンの動きに応じて平滑化処理の範囲を切り換えて、適切な範囲で平滑化された値を有し、ノイズ等による静止部分を動きと誤検出することなく、動き部分を静止と検出する動き検出漏れを防止できるものとして得られているので、動き検出漏れなどをなくすよう、感度倍率Tmfを極端に大きくする必要なく、また、オフセット値Tofを小さくしすぎたり、大きくしすぎることも必要ない。
以上のように、フレーム間差分検出部20では、フレーム間差分信号fdiffを求める際に、動きブロック係数dfmatとエッジ判定係数efkmとに応じて、平滑化処理を行う画素の範囲を選択して処理することで、画像のエッジの方向、パターンの動きに応じた適切な範囲で平滑化されたフレーム間差分を得ており、精度のよいフレーム間差分信号fdiffを出力する。
図1の動き情報補正部50へは、フレーム間差分検出部20からのフレーム間差分信号fdiffと、パターンマッチング検出部30からの動きブロック係数cbmatとエッジ検出部40からのエッジ判定係数cedkmが入力される。
動き情報補正部50では、動きブロック係数cbmatとエッジ判定係数cedkmに応じて、フレーム間差分信号fdiffを補正し、動き情報信号md0として時空間拡大フィルタ部16へ出力する。動きブロック係数cbmatとエッジ判定係数cedkmに応じた値によりフレーム間差分信号fdiffを補正することで、動き部分を静止であると判定し勝ちなエッジやパターンにおいて、動きと検出されやすい値へフレーム間差分信号fdiffを補正することができる。
この動き情報補正部50は、例えば、図15に示すように構成される。
図15に示す動き情報補正部50は、横線(垂直エッジ)が垂直方向に移動する場合の補正を行う横線動き調整部51と、縦線(水平エッジ)のような垂直方向に並ぶ画素で相関がある(相関が大きい)場合の補正を行う垂直相関調整部52とを備える。横線動き調整部51は、横線動き加算部53と、加算値算出部54とを備え、垂直相関調整部52は、垂直相関変換部55と、変換値算出部56とを備えている。
動き情報補正部50へ入力されているパターンマッチング検出部30からの第2の動きブロック係数cbmatは、垂直方向に動くパターンを考慮した横線動きブロック係数dfmat_mkと、水平方向に動くパターンを考慮した縦線動きブロック係数Vrdfmatとを含み、エッジ検出部40からの第2のエッジ判定係数cedkmは、垂直エッジ成分(横線)の度合いを示す垂直エッジ判定係数vedg_mkと、非垂直エッジであることの度合いを示す非垂直エッジ判定係数vrd_hvkmと、水平エッジ成分(縦線)の度合いを示す水平エッジ判定係数hedg_mkとを含む。
図15において、横線動き調整部51へは、フレーム間差分検出部20からのフレーム間差分信号fdiffと、エッジ検出部40からの垂直エッジ判定係数vedg_mkと、パターンマッチング検出部30からの横線動きブロック係数dfmat_mkとが入力される。
横線動き調整部51では、垂直エッジ判定係数vedg_mkと横線動きブロック係数dfmat_mkに応じて、フレーム間差分信号fdiffの値を補正し、横線が垂直方向に移動する場合に、その動きを考慮に入れた補正動き情報mdad1を決定し、動き情報補正部50内の垂直相関調整部52へ出力する。
ここで、フレーム間差分検出部20に関して上記したように、横線による繰り返し模様の物体が垂直方向に移動する場合は、動きであるにもかかわらず差分(平滑化後の差分)が小さくなりやすく、フレーム間差分検出部20によりエッジの方向、パターンの動きに応じて平滑化処理の範囲を切り換えフレーム間差分frdを得ていても、その差分値そのものの値が小さく、「0」に近ければ、動き検出漏れにつながる。
エッジ検出部40からの垂直エッジ判定係数vedg_mkは、垂直エッジ成分(横線)の度合いを示し、パターンマッチング検出部30からの横線動きブロック係数dfmat_mkは、垂直方向に動くパターンを考慮したブロックの動きの度合いを示す。そこで、これらの2つの係数を用いれば、横線による物体が垂直方向に移動する場合が判別でき、横線動き調整部51では、これらの係数に応じた調整を行うことができる。例えば、垂直エッジ判定係数vedg_mkと横線動きブロック係数dfmat_mkから所定の加算値(オフセット値)had1を算出し、この加算値had1をフレーム間差分信号fdiffに加算することで、フレーム間差分信号fdiffによる動き情報を補正する。
具体的には、横線動き調整部51の加算値算出部54で、第2のエッジ判定係数cedkmの第2の垂直エッジ判定係数vedg_mkと第2の動きブロック係数cbmatの横線動きブロック係数dfmat_mkとに応じて、フレーム間差分信号fdiffを補正するための加算値had1を算出する。
加算値算出部54では、例えば、所定の値Adm1を設定するとともに、例えば、垂直エッジ判定係数vedg_mkと横線動きブロック係数dfmat_mkを乗算し、「0」から「1」の範囲内の値を取る係数k1を求め(例えば、
k1=vedg_mk×dfmat_mk
により、係数k1を求め)、この係数k1を、予め設定された値Adm1に、下記式(28)のように乗算することで、加算値had1を算出する。
had1=k1×Adm1 ・・・式(28)
このとき、横線動きブロック係数dfmat_mkが垂直方向への動きパターンを示す値「1」で、垂直エッジ判定係数vedg_mkが垂直エッジ成分の存在を示す値「1」であれば、係数k1は、垂直エッジである横線成分が垂直方向に動く動きパターンとなることを示す値「1」となる。
よって、式(28)で示すように、係数k1により値Adm1を変換すれば、係数k1が「1」の場合、値Adm1がそのまま加算値had1として出力され、一方、係数k1が「0」である場合は、加算値had1は「0」となる。係数k1の値が「0」から「1」の間である場合は、係数k1により値Adm1が変換されて加算値had1となる。このようにして、垂直エッジ判定係数vedg_mkと横線動きブロック係数dfmat_mkとの値に応じ、横線による物体が垂直方向に移動する場合において最大値であるAdm1となる加算値had1が生成される。
なお、加算値had1は、上記のように係数k1による乗算で求める代わりに、横線動きブロック係数dfmat_mkと垂直エッジ判定係数vedg_fkの値がどちらも所定値以上(例えばともに「1」)の場合に、設定された値Adm1を選択し、それ以外の場合は「0」とすることで求めたり、横線動きブロック係数dfmat_mkと垂直エッジ判定係数vedg_fkの種々の値に応じた加算値had1をLUTに設定しておき、パターンマッチング検出部10から出力される特定の横線動きブロック係数dfmat_mkとエッジ検出部40から出力される特定の垂直エッジ判定係数vedg_fkの値を、対応する変換値had1に変換することとしても良い。但し、上記のような乗算処理を行えば、加算値の切り換りを滑らかにすることができ、より適切に加算値had1を得ることができる。
横線動き加算部53へは、フレーム間差分検出部20からのフレーム間差分信号fdiffと、加算値算出部54からの加算値had1が入力される。横線動き加算部53では、フレーム間差分信号fdiffに加算値had1を加算することでフレーム間差分信号fdiffの値を補正し、結果として、横線が垂直方向に移動するときに、動きと検出される方向へ補正された補正動き情報mdad1を生成する。
なお、横線動き調整部51では、横線動き加算部53において、フレーム間差分信号fdiffに加算値had1を加算することで補正を行っているが、動きブロック係数dfmat_mkと垂直エッジ判定係数vedg_fkの値に応じて変化する倍率係数(1倍より大きい値)により、フレーム間差分信号fdiffが大きくなる方向へ倍率変換してもよく、さらには、フレーム間差分信号fdiffの代わりに、予め定められた、動きであることを示す値(例えば動きを示す最大値)を選択して出力することもできる。つまり、動きブロック係数dfmat_mkと垂直エッジ判定係数vedg_fkの値に応じて、フレーム差分を表すフレーム間差分信号fdiffの値を補正し、結果として、動きと検出される方向へ調整され (動きと検出されやすい値へ調整され)、横線が垂直方向に移動するときの動きを考慮に入れた補正動き情報mdad1が得られれば、同様の効果がある。
よって、横線動き調整部51では、垂直エッジ判定係数vedg_mkと横線動きブロック係数dfmat_mkに応じて、横線が垂直方向に移動するような場合に、動きと検出されやすいよう補正された補正動き情報mdad1が得られ、静止部分を動きと誤検出することなく、動き部分を静止と検出する動き検出漏れを防止できる。
次に、動き情報補正部50内の垂直相関調整部52へは、横線動き調整部51からの補正動き情報mdad1と、エッジ検出部40からの水平エッジ判定係数hedg_mk及び非垂直エッジ判定係数vrd_hvkmと、パターンマッチング検出部30からの縦線動きブロック係数Vrdfmatとが入力される。
垂直相関調整部52では、水平エッジ判定係数hedg_mk、非垂直エッジ判定係数vrd_hvkm及び縦線動きブロック係数Vrdfmatに応じて、フレーム間差分信号fdiffにより求められている補正動き情報mdad1の値を補正し、
動きのある縦線のような垂直相関がある画素で、その動きを考慮に入れた補正動き情報mdv2を生成する。補正動き情報mdv2は、動き情報信号md0として動き情報補正部50から時空間拡大フィルタ部16へ出力される。
ここで、フレーム間差分検出部20に関して上記したように、縦線による繰り返し模様の物体が、特に水平方向に移動する場合、動きであるにもかかわらず差分(平滑化後の差分)が小さくなりやすく、フレーム間差分検出部20によりエッジの方向、パターンの動きに応じて平滑化処理の範囲を切り換えフレーム間差分frdを得ていても、その差分値そのものの値が小さく、「0」に近ければ、動き検出漏れにつながる。
エッジ検出部40からの水平エッジ判定係数hedg_mkは、水平エッジ成分(縦線)の度合いを示し、また、非垂直エッジ判定係数vrd_hvkmは、非垂直エッジ(垂直エッジ、横線でない)であることの度合いを示し、パターンマッチング検出部30からの縦線動きブロック係数Vrdfmatは、水平方向に動くパターンを考慮したブロックの動きの度合いを示す。そこで、これらの3つの係数を用いれば、縦線のみによる物体が水平方向に移動する場合が判別でき、垂直相関調整部52では、これらの係数に応じた補正を行うことができる。例えば、水平エッジ判定係数hedg_mk、非垂直エッジ判定係数vrd_hvkm、及び縦線動きブロック係数Vrdfmatから所定の加算値(オフセット値)ad2及び倍率(1倍より大きい値)ml2を算出し、この加算値ad2の加算及び倍率ml2の乗算による変換を、補正動き情報mdad1に対し施すことで、補正動き情報mdad1を補正する。
詳しくは、垂直相関調整部52内の変換値算出部56では、第2のエッジ判定係数cedkmの水平エッジ判定係数hedg_mk、非垂直エッジ判定係数vrd_hvkm、及び第2の動きブロック係数cbmatの縦線動きブロック係数Vrdfmatに応じて、フレーム間差分信号である補正動き情報mdad1を補正するための所定の加算値(オフセット値)ad2と倍率ml2から成る変換係数vdmvを算出する。
変換値算出部56では、例えば、所定の値Adm2と倍率値Md2を設定するとともに、例えば、水平エッジ判定係数hedg_mk、非垂直エッジ判定係数vrd_hvkm、及び縦線動きブロック係数Vrdfmatを乗算し、「0」から「1」の範囲内の値を取る係数k2を求め(例えば、
k2=hedg_mk×Vrdfmat×vrd_hvkm
により係数k2を求め)、この係数k2を、値Adm2と倍率値Md2のそれぞれに対し、下記式(29)、(30)のように乗算することで、加算値ad2と倍率ml2から成る変換係数vdmvを算出する。
ad2=k2×Adm2 ・・・式(29)
ml2=k2×Md2 ・・・式(30)
このとき、縦線動きブロック係数Vrdfmatが水平方向への動きパターンを示す「1」で、水平エッジ判定係数hedg_mkが水平エッジ成分の存在を示す値「1」であり、さらに、非垂直エッジ判定係数vrd_hvkmが垂直エッジ成分がないことを示す値「1」であれば、係数k2は、水平エッジである縦線成分のみがあり、水平方向に動く動きパターンであることを示す値「1」となる。よって、式(29)、(30)で示すように係数k2により値Adm2と倍率値Md2を変換すれば、係数k2が「1」の場合、値Adm2がそのまま加算値ad2として出力され、倍率Md2がそのまま倍率mdl2として出力され、一方、係数k2が「0」である場合は、加算値ad2及び倍率ml2は「0」となる。
係数k2の値が「0」から「1」の間である場合は、係数k2により値Adm2と倍率値Md2が変換されて加算値ad2及び倍率ml2となる。このようにして、水平エッジ判定係数hedg_mk、非垂直エッジ判定係数vrd_hvkm、及び縦線動きブロック係数Vrdfmatとに応じて、縦線のみによる物体が水平方向に移動する場合において、最大値であるAdm2及びMd2となる、加算値ad2及び倍率ml2が生成される。このようにして生成された加算値ad2及び倍率ml2が、変換値算出部56からの出力である変換係数vdmvとして、垂直相関変換部55に供給される。
なお、変換係数vdmvは、上記のように係数k2による乗算で求める代わりに、水平エッジ判定係数hedg_mk、及び非垂直エッジ判定係数vrd_hvkmと、縦線動きブロック係数Vrdfmatがいずれも所定値以上(例えばすべて「1」)の場合に、設定された値Adm2と倍率値Md2を選択し、それ以外の場合は「0」とすることで求めたり、水平エッジ判定係数hedg_mk、非垂直エッジ判定係数vrd_hvkm、及び縦線動きブロック係数Vrdfmatの種々の値に応じた変換係数vdmvの値をLUTに設定しておき、入力された水平エッジ判定係数hedg_mk、非垂直エッジ判定係数vrd_hvkm、及び縦線動きブロック係数Vrdfmatの値を、対応する変換係数vdmvの値に変換することとしても良い。但し、上記のような乗算処理により求めれば、変換係数vdmvの切り換りを滑らかにすることができ、より適切に変換係数vdmvを得ることができる。
また、係数k2を求める際に、水平エッジ判定係数hedg_mk、非垂直エッジ判定係数vrd_hvkm、及び縦線動きブロック係数Vrdfmatを用いたが、非垂直エッジ判定係数vrd_hvkmを除き、縦線による物体が水平方向に移動する場合を示す係数k2を得るようにしてもよい。この場合は、縦線と横線の両方の成分が検出される場合にも、縦線動きブロック係数Vrdfmatが動きパターンを示せば、変換係数vdmvが「0」以外の値となる。
垂直相関変換部55へは、横線動き調整部51からの補正動き情報mdad1と、変換値算出部56からの変換係数vdmvが入力される。垂直相関変換部55では、変換係数vdmvを構成する倍率ml2を補正動き情報mdad1に乗算して倍率変換し、さらに、加算値ad2を加算することで補正動き情報mdad1の値を補正し、結果として、縦線のような垂直相関がある(垂直相関が強い)画素が水平方向に移動するときに、動きと検出される方向へ補正された補正動き情報mdv2を生成する。この補正動き情報mdv2は、動き情報信号md0として動き情報補正部50から出力される。
なお、上記垂直相関調整部52では、変換値算出部56において、加算値ad2と倍率ml2による変換で補正をしているが、加算値ad2または倍率ml2のどちらか一方により、フレーム間差分信号が大きくなる方向へ変換してもよく、また、補正動き情報mdad1の代わりに、予め定められた、動きであることを示す値(例えば動きを示す最大値)を選択して出力することもできる。つまり、水平エッジ判定係数hedg_mk、非垂直エッジ判定係数vrd_hvkm、及び縦線動きブロック係数Vrdfmatの値に応じて、フレーム差分を表す補正動き情報mdad1の値を補正し、結果として、動きと検出される方向へ調整され(動きと検出されやすい値に調整され)、縦線のような垂直相関がある画素が水平方向に移動するときの動きを考慮に入れた補正動き情報mdv2が得られれば、同様の効果がある。
よって、垂直相関調整部52では、水平エッジ判定係数hedg_mk、非垂直エッジ判定係数vrd_hvkm、及び縦線動きブロック係数Vrdfmatに応じて、垂直相関がある物体が水平方向に移動するような場合に、動きと検出されやすいよう補正された補正動き情報mdv2が得られ、静止部分を動きと誤検出することなく、動き部分を静止と検出する動き検出漏れを防止できる。
以上のように、動き情報補正部50では、パターンマッチング検出部30からの動きブロック係数cbmatとエッジ検出部40からのエッジ判定係数cedkmに応じて、横線が垂直方向に移動する場合や、垂直相関がある動きパターンの場合に、フレーム間差分信号fdiffを動きと検出されやすいよう補正し、エッジの方向、パターンの動きに対応した補正が施された動き情報信号md0を求めることができるので、静止部分を動きと誤検出することなく、動き部分を静止と検出する動き検出漏れを防止し、高い精度の動き情報信号md0を得られる。
なお、図15における動き情報補正部50では、横線動き調整部51による補正の後、垂直相関調整部52で補正しているが、垂直相関調整部52による補正の後、横線動き調整部51で補正してもよく、どちらか一方の補正のみでもよい。
図1に戻り、時空間拡大フィルタ部16へは、動き情報補正部50からの動き情報信号md0が入力される。時空間拡大フィルタ部16では、動き情報信号md0に対し、時空間フィルタや孤立点除去などの処理を行い、動き情報を時空間方向で補正して動き信号afmdを求め、動き検出信号変換部19へ出力する。
時空間拡大フィルタ部16内の時間フィルタ部17は、入力された動き情報信号md0に対し、時間方向の時間拡大処理を行って、動きの誤検出、動き検出漏れを補正する。
時空間拡大フィルタ部16内の空間フィルタ部18は、動き情報信号に対し、水平もしくは垂直方向のLPFを用いた空間フィルタや、孤立点除去処理などのフィルタ処理を行って、動きの誤検出、動き検出漏れを画面内の画素での動きにより補正し、動き信号afmdとして出力する。
このように、時空間拡大フィルタ部16で処理された動き信号afmdは、動きが大きく、フレーム差分が動きと検出される場合は大きな値となり、静止画部分もしくはノイズがある場合は、「0」に近い小さな値となり、その値で動き検出の対象である画素での画像の動き量を示すこととなる。
動き検出信号変換部19へは、時空間拡大フィルタ部16からの動き信号afmdが入力される。動き検出信号変換部19では、時空間拡大フィルタ部16からの動き信号afmdに対し、動き検出の結果として、映像信号の動きの度合いを示す動き検出信号mdsへ変換し出力する。
図16は、動き検出信号変換部19における動き信号afmd(横軸、入力)から動き検出信号mds(縦軸、出力)への変換の特性例を示す図であり、動き検出信号mdsを映像信号の動きの度合いを示す「0」から「16」までの値をとるように変換し出力する場合を示している。この動き検出信号mdsの値は、動き信号afmdの値に応じて非線形で変換したものであり、動き信号afmdが大きくなり、動きである場合(動きの度合いが最大である場合)は動き検出信号mdsを最大値「16」とし、完全に静止画である場合は、動き検出信号mdsを「0」として変換している。この変換は、動き信号afmdを対応する動き検出信号mds値に変換するLUTで行ったり、動き信号afmdに対し所定の倍率を乗算したり、値を加算もしくは減算するなどの非線形変換による演算で行っても良い。また、上記の例では、動き検出信号mdsが「0」〜「16」の値を取るものであるが、より低い分解能を持つもの、例えば「0」〜「8」の値を取るものであっても良く、より高い分解能を持つものであっても良く、さらに、非線形変換を行わず動き信号afmdで示される値をそのまま動き検出信号mdsの値としても良く、動きを「1」、静止部を「0」とする2値信号であっても良い。
以上のように、図1に示される動き検出装置1では、パターンマッチング検出部30において、パターンマッチングにより画素ブロックでのパターンの動きを示した動きブロック係数dfmat及びcbmatを生成し、エッジ検出部40において、エッジ成分の存在の度合いを示すエッジ判定係数efkm及びcedkmを生成しており、フレーム間差分検出部20では、生成された動きブロック係数dfmatとエッジ判定係数efkmとに応じて、平滑化処理を行う画素の範囲を選択して処理することで、画像のエッジの方向、パターンの動きに応じた適切な範囲で平滑化されたフレーム間差分を生成している。さらに、動き情報補正部50では、生成された動きブロック係数cbmatとエッジ判定係数cedkmに応じて、エッジの方向、パターンの動きに対応した補正が施された動き情報信号md0を生成している。
したがって、動き検出装置1からは、ノイズのある画像においても、静止部分を動きと誤検出することなく、動き部分を静止と検出する動き検出漏れを防止し、高い精度で動き量を表す動き検出信号mdsが得られる。
次に、実施の形態1の映像信号処理装置において、フレーム遅延部13によりフレーム遅延信号を得て、動き検出装置1で、映像信号のフレーム間差分を求め、パターンマッチングによる動きブロック係数と、エッジ検出の結果であるエッジ判定係数とにより、画像のエッジの方向、パターンの動きに応じてフレーム間の差分を求める際の平滑化処理の範囲を切り換えて、フレーム間差分信号を得て、さらには、エッジの方向、パターンの動きに応じたフレーム間差分信号の補正を行い、動きの度合いを示す動き検出信号mdsを出力する処理の手順をフローチャートを参照して説明する。
図17及び図18は、実施の形態1の映像信号処理装置において、画像の動きを画素ごとに検出する動き検出装置1の動作を示すフローチャートである。
入力された現フレーム信号Di0は、フレーム遅延部13でフレーム遅延され、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fが得られる。動き検出装置1には、現フレーム信号Di0と1フレーム遅延信号d2fと、1フィールド遅延信号d1fが入力される(ステップS101)。
現フレーム信号Di0と1フレーム遅延信号d2fは、パターンマッチング検出部30へ入力され、1フレーム遅延信号d2fと現フレーム信号Di0の画素ブロック間でパターンの類似度を算出し、画素ブロックの動きを示す動きブロック係数dfmat及びcbmatが生成される。生成された動きブロック係数dfmat及びcbmatは、パターンマッチングの結果により求められたものであり、画素ブロックが動いていることを示して、パターンの動きを示す(ステップS102)。
エッジ検出部40では、現フレーム信号Di0、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fに基づいて、注目画素P0の近傍に、画像の物体の輪郭部分であるエッジが存在するかを検出し、検出結果であるエッジ判定係数efkm及びcedkmを生成する(ステップS103)。
フレーム間差分検出部20では、フレーム間差分算出部21内の減算部211において、現フレーム信号Di0と1フレーム遅延信号d2fのフレーム間の差分値Dnを算出し(ステップS104)、差分値Dnを水平方向平滑化処理部212で平滑化して水平方向平滑化差分hlpdを求め、混合部213で、エッジ判定係数efkmのうちの水平エッジ判定係数hedg_fkに応じて、差分値Dnと、水平方向平滑化差分hlpdとを混合し、水平混合差分hdfを求める。
このとき、例えば、水平エッジ判定係数hedg_fkを混合比として、差分値Dnと、水平方向平滑化差分hlpdとを混合し、水平混合差分hdfを生成する(ステップS105)。この混合は、下記の式で表される。
hdf=(1−hedg_fk)×hlpd+hedg_fk×Dn
次に、垂直方向平滑化処理部214で、水平方向混合差分hdfを平滑化して垂直方向平滑化差分vlpdを求め、混合部215で、動きブロック係数dfmatとエッジ判定係数efkmのうちの垂直エッジ判定係数vedg_fkに応じて、水平混合差分hdfと垂直方向平滑化差分vlpdとを混合し、混合差分difを生成する。例えば、垂直エッジ判定係数vedg_fkと動きブロック係数dfmatを乗算し、「0」から「1」の値を取る係数vdkへ変換する(ステップS106)。この係数vdkは、垂直エッジ成分(横線)の度合いが強く、また動きの度合いが大きいほど大きな値を取る。
次に上記のようにして求めた係数vdkを混合比として、水平混合差分hdfと垂直方向平滑化差分vlpdとを混合して混合差分difを生成する(ステップS107)。この場合の混合は、下記の式で表される。
dif=(1−vdk)×vlpd+vdk×hdf
そして、絶対値演算部216で、混合差分difの絶対値を演算し、非線形変換部22で非線形変換することで、フレーム間差分信号fdiffを得る(ステップS108)。
以上のステップS102、S103及びS104〜S108により、動きブロック係数dfmatとエッジ判定係数efkmとに応じて、平滑化処理を行う画素の範囲を選択して処理することで、画像のエッジの方向、パターンの動きに応じた適切な範囲で平滑化されたフレーム間差分を得ており、フレーム間差分検出部20からは、精度のよいフレーム間差分信号fdiffが出力される。
フレーム間差分検出部20から出力されるフレーム間差分信号fdiffは、動き情報補正部50で補正されて動き情報信号md0となるが、動きブロック係数cbmatとエッジ判定係数cedkmに応じた値によりフレーム間差分信号fdiffを補正することで、動き部分を静止であると誤判定され勝ちなエッジやパターンにおいて、動きと検出されやすい値へ(動き寄りへ)フレーム間差分信号fdiffを補正する(ステップS109〜S110)。
具体的には、動き情報補正部50内の横線動き調整部51において、垂直エッジ判定係数vedg_mkと横線動きブロック係数dfmat_mkに応じて、例えば、垂直エッジ判定係数vedg_mkと横線動きブロック係数dfmat_mkから所定の加算値を算出し、この加算値をフレーム間差分信号fdiffに加算することで、横線が垂直方向に移動するような場合に、フレーム間差分信号fdiffによる動き情報を補正し、補正動き情報mdad1を生成する(ステップS109)。
また、動き情報補正部50内の垂直相関調整部52においては、水平エッジ判定係数hedg_mk、非垂直エッジ判定係数vrd_hvkm、及び縦線動きブロック係数Vrdfmatに応じて、例えば、水平エッジ判定係数hedg_mk、非垂直エッジ判定係数vrd_hvkm、及び縦線動きブロック係数Vrdfmatから所定の加算値と倍率(1倍より大きい値)を算出し、この加算値の加算と倍率の乗算(倍率変換)による変換を補正動き情報mdad1に対し施すことで、動き情報信号md0を生成して出力する(ステップS110)。縦線であり、かつ横線がなく、かつ動きパターンである場合に、より動きと検出されやすい値へ補正する(動き寄りへ補正する)ものである。
上記のように、動き情報補正部50により、動きブロック係数cbmatとエッジ判定係数cedkmに応じて、横線が垂直方向に移動する場合や、垂直相関がある動きパターンの場合に、フレーム間差分信号fdiffを動きと検出されやすいよう補正し、エッジの方向、パターンの動きに対応した補正が施された動き情報信号md0を求めることができる。
時空間拡大フィルタ部16では、動き情報補正部50からの動き情報信号md0に対し、時間方向の時間拡大処理を行い(ステップS111)、水平もしくは垂直方向のLPFを用いた空間フィルタや、孤立点除去処理などのフィルタ処理を行う(ステップS112)。
動き検出信号変換部19では、時空間拡大フィルタ部16からの動き信号afmdに対し、動き検出の結果として、映像信号の動きの度合いを示す動き検出信号mdsへ変換する(ステップS113)。
そして、この動き検出信号mdsを、動き検出装置1からの動き検出の結果として決定し、出力する(ステップS114)。動き検出装置1では、パターンマッチングにより画素ブロックでのパターンの動きを示した動きブロック係数dfmat及びcbmatを生成し、エッジ成分の存在の度合いを示すエッジ判定係数efkm及びcedkmを生成しており、生成された動きブロック係数dfmatとエッジ判定係数efkmとに応じて、平滑化処理を行う画素の範囲を選択して処理することで、画像のエッジの方向、パターンの動きに応じた適切な範囲で平滑化されたフレーム間差分を得ている。さらに、動きブロック係数cbmatとエッジ判定係数cedkmに応じて、エッジの方向、パターンの動きに対応した補正が施された動き情報信号md0を求めている。
したがって、動き検出装置1からは、ノイズのある画像においても、静止部分を動きと誤検出することなく、動き部分を静止と検出する動き検出漏れを防止し、高い精度で動き量である動きの度合いを示す動き検出信号mdsが得られる。
以上のように、実施の形態1の映像信号処理装置によれば、パターンマッチング検出部30において、パターンマッチングにより画素ブロックでのパターンの動きを示した動きブロック係数dfmat及びcbmatを生成し、エッジ検出部40において、エッジ成分の存在の度合いを示すエッジ判定係数efkm及びcedkmを生成しており、フレーム間差分検出部20では、生成された動きブロック係数dfmatとエッジ判定係数efkmとに応じて、平滑化処理を行う画素の範囲を選択して処理することで、画像のエッジの方向、パターンの動きに応じた適切な範囲で平滑化されたフレーム間差分を得ている。さらに、動き情報補正部50では、動きブロック係数cbmatとエッジ判定係数cedkmに応じて、エッジの方向、パターンの動きに対応した補正が施された動き情報信号md0を求めている。
したがって、画素ブロックのパターンの類似度の値によるブロックの動きを示す動きブロック係数と、エッジの存在の度合いを示すエッジ判定係数とにより、画像のエッジの方向、パターンの動きに応じて、フレーム間の差分を求める際の平滑化処理の範囲を切り換えて、適切な範囲で平滑化されたフレーム間差分信号を得ることができ、また、上記動きブロック係数と上記エッジ判定係数とに応じて、エッジの方向、パターンの動きに応じたフレーム間差分信号の補正を行い、動き部分を静止であると誤判定され勝ちなエッジやパターンにおいて、動きと検出されやすいよう補正することができるので、ノイズのある画像においても、静止部分を動きと誤検出することなく、動き部分を静止と検出する動き検出漏れを防止し、高い精度で良好な動き検出を行うことができる。
なお、実施の形態1の映像信号処理装置で用いられる、図10に示すエッジ検出部40では、現フレーム信号Di0、1フレーム遅延信号d2f、及び1フィールド遅延信号d1fから、注目画素P0の近傍における垂直エッジ成分、及び水平エッジ成分を抽出してエッジ検出を行っているが、1フィールド遅延信号d1fを使用せず、同位相の信号となる現フレーム信号Di0と1フレーム遅延信号d2fによりエッジ成分を抽出してエッジ検出を行うよう構成することもできる。この場合は、図10における垂直高域成分抽出部413と、水平高域成分抽出部423を除去し、垂直高域成分選択部414、及び水平高域成分選択部424での選択で、垂直高域成分抽出部413と、水平高域成分抽出部423からの信号を除外して選択すればよい。
また、実施の形態1の映像信号処理装置では、入力映像信号をインターレース信号として、現フレーム信号Di0と1フレーム前の信号d2fの間での映像信号における動きを検出しているが、入力映像信号は、プログレッシブ信号であってもよく、同様に構成することで動き検出を行うことができる。なお、プログレッシブ信号入力の場合には、フレーム遅延部13は入力された現フレーム信号Di0を1フレーム分遅延して、1フレーム前の信号d2fが出力されるが、異位相の信号の位置関係にある1フィールド前の信号d1fは得られないため、エッジ検出部40として、上記のように同位相のフレーム位置関係にある1フレーム前の信号d2fからエッジ検出を行う構成を用いることとなる。
また、実施の形態1の映像信号処理装置では、現フレームDi0における画素P0を動き検出の対象である注目画素として動きを検出しているが、注目画素P0のあるフレームは現フレーム信号Di0のフレームでなくてもよく、フィールドもしくはフレーム遅延された信号のフレームを動き検出する中心フレームとして、そのフレーム内の画素を注目画素P0とすることもできる。この場合、動き検出装置1で検出する1フレーム間差分は、中心フレームの時間軸上前に位置するフレームとの間の差分であっても、時間軸上後ろに位置するフレームとの間の差分であってもよく、さらには、その両方向のフレームとの差分を合成して用いてもよく、中心フレームとの間のフレーム差分を検出し動き検出信号として得られれば、実施の形態1と同様の効果が得られる。一般化して言えば、本発明の動き検出装置は、時間的に異なる第1のフレーム及び第2のフレームの映像信号に基づいて、第1のフレーム内の画素を注目画素として動きの検出を行うものであり、この第1のフレームは、現フレーム(最新のフレーム)であっても良く、1フレーム期間前のフレームであっても良く、1フィールド期間前のフレームであっても良い。
さらに、上記説明においては、映像信号処理装置のフレーム遅延部、動き検出装置1の各構成要素をハードウェアで構成するものとしているが、これらの構成要素を、ソフトウェアにより、即ちプログラムされたコンピュータにより実現しても良い。
実施の形態2.
実施の形態1の映像信号処理装置は、現フレーム信号と1フレーム前の信号から画像の動きを画素ごとで検出し、フレーム間差分検出部20において、現フレーム信号と1フレーム前の信号の間の1フレーム間の差分を求めてフレーム差分を得るように構成されているが、図19に示す映像信号処理装置のように、現フレーム信号と1フレーム前の信号との1フレーム間の差分に加え、現フレーム信号と2フレーム前の信号との2フレーム離れたフレーム間の差分(2フレーム間差分)とから、フレーム間の差分信号を求め、画像の動きを画素ごとで検出するよう構成することもできる。
図19は、本発明の実施の形態2の映像信号処理装置(すなわち、実施の形態2の映像信号処理方法を実施することができる装置)の構成を示すブロック図であり、現フレーム信号Di0と、1フレーム前の信号d2f及び2フレーム前の信号d4fから画像の動きを画素ごとで検出するよう構成されている。図19において、図1を参照して説明した実施の形態1における構成要素と同一又は対応する構成要素には、同じ符号を付してある。
図19において、実施の形態2の映像信号処理装置は、現フレームの信号Di0としての入力映像信号を順次1フレーム分遅延するフレーム遅延部13、15と、フレーム遅延された信号d2f、d4fと現フレームの信号Di0から画像の動きを画素ごとで検出する動き検出装置2とを備えている。
動き検出装置2は、図1に示される動き検出装置1と概して同じであるが、図1に示されるフレーム間差分検出部20及びパターンマッチング検出部30の代わりに、フレーム間差分検出部20b及びパターンマッチング検出部31が用いられている。
フレーム間差分検出部20bは、1フレーム間の差分に加え、2フレーム間のフレーム間差分を検出し、動き検出を行うためのフレーム間差分信号を出力する。
パターンマッチング検出部31は、現フレーム信号と1フレーム前の信号の画素ブロック間でのパターンの類似度に加え、1フレーム前の信号とその1フレーム前(つまり、2フレーム前)の信号の画素ブロック間でのパターンの類似度により動きブロック係数を生成する。
その他の構成要素、即ち、エッジ検出部40と、動き情報補正部50と、時空間拡大フィルタ部16と、動き検出信号変換部19の構成及び動作は、実施の形態1に示されるものと同じであり、その詳細な説明は省略する。
図19に示されるフレーム間差分検出部20bの構成要素のうち、フレーム間差分を算出するフレーム間差分算出部21c、21dは、図1のフレーム間差分算出部21と同じものであり、入力が現フレーム信号Di0と1フレーム前の信号d2fであるか、現フレーム信号Di0と2フレーム前の信号d4fであるかの違いのみである。また、非線形変換部22c、22dは、図1の非線形変換部22と同じものである。図19のフレーム間差分検出部20bはさらに、1フレーム間差分fdiff1と2フレーム間差分fdiff2を合成する差分合成部23を備えている。
図19を用いて、実施の形態2での動き検出について説明する。
フレーム遅延部13、15は、映像信号を1フレーム分遅延して出力するためのメモリであり、第1のフレーム遅延部13は、入力映像信号Di0を1フレーム分遅延して1フレーム遅延信号d2fを出力し、第2のフレーム遅延部15は、第1のフレーム遅延部13からの1フレーム遅延信号d2fを1フレーム分遅延し、2フレーム遅延信号d4fを出力する。なお、インターレース信号入力時には、フレーム遅延部13及び15は、フィールドごとで遅延する2個のフィールドメモリで構成できるので、フレーム遅延部13において1フィールド遅延信号d1fをも得ることができる。このフレーム遅延部13及び15の各々の構成、動作は図1のフレーム遅延部13と同じである。
フレーム遅延部15から出力される2フレーム遅延信号d4fは、1フレーム遅延信号d2fと同様、現フレーム信号Di0の画素と同一位置における画素の信号であり、同位相の信号となる。
動き検出装置2には、現フレーム信号Di0と、フレーム遅延部13からの1フレーム遅延信号d2f及び1フィールド遅延信号d1fと、フレーム遅延部15からの2フレーム遅延信号d4fが入力される。動き検出装置2は、現フレーム信号Di0、1フレーム遅延信号d2f、1フィールド遅延信号d1f、及び2フレーム遅延信号d4fから映像信号における動きを画素ごとに検出し、検出結果から動きの度合いを示す動き検出信号mdsを出力する。
動き検出装置2では、現フレーム信号Di0と1フレーム遅延信号d2fにおける画素ブロックのパターンマッチングに加え、1フレーム遅延信号d2fと2フレーム遅延信号の信号d4fにおける画素ブロックのパターンマッチングによる動きブロック係数を求めるとともに、この動きブロック係数とエッジ検出の結果であるエッジ判定係数とにより、画像のエッジの方向、パターンの動きに応じてフレーム間の差分を求める際の平滑化処理の範囲を切り換えて、適切な範囲で平滑化されたフレーム間差分信号を得る。この場合、フレーム間の差分は、現フレーム信号Di0と1フレーム遅延信号d2fとの1フレーム間差分に加え、現フレーム信号Di0と2フレーム遅延信号d4fとの2フレーム間差分により検出するよう構成し、より誤検出と動き検出漏れを防止した高い精度の動き検出を行って、動きの度合いを示す動き検出信号mdsを生成し出力する。
動き検出装置2において、エッジ検出部40と、動き情報補正部50と、時空間拡大フィルタ部16と、動き検出信号変換部19の構成及び動作は、図1に示されるものと同じであり、その詳細な説明は省略し、以下では、パターンマッチング検出部31により動きブロック係数dfmat及びcbmatを生成する構成と、フレーム間差分検出部20でフレーム間差分信号sfdiffを求める構成について説明する。
動き検出装置2内のパターンマッチング検出部31には、現フレーム信号Di0、1フレーム遅延信号d2f、及び2フレーム遅延信号d4fが入力される。
パターンマッチング検出部31では、1フレーム遅延信号d2fと現フレーム信号Di0の画素ブロック間でパターンマッチングを行い、類似度を算出するとともに、1フレーム遅延信号d2fと2フレーム遅延信号d4fの画素ブロック間でパターンマッチングを行い、類似度を算出する。そして、これら2通りのパターンマッチングの結果から、画素ブロックの動きを示す動きブロック係数dfmat及びcbmatを生成する。検出された動きブロック係数dfmat及びcbmatは、動き検出の対象である注目画素と同一位置での画素ブロックにおいて、パターンマッチングの結果により求められており、類似度の値が大きくなれば、画素ブロックのパターンが異なる、すなわち、画素ブロックが動いていることを示しており、2フレームの間に亘る画素ブロックでのブロック・パターンの動き(動きパターン)を示すと言える。
パターンマッチング検出部31は、例えば図20に示すように構成されている。
図20において、図2を参照して説明した実施の形態1におけるパターンマッチング検出部30の構成要素と同一又は対応する構成要素には、同じ符号を付してある。
図20のパターンマッチング検出部31の構成要素のうち、ブロック間マッチング演算部301a、301bは、パターンマッチング検出部30でのブロック間マッチング演算部301と同じものであり、水平ブロックマッチング演算部303a、303bとマッチング垂直高域成分抽出部304a、304bとによるマッチング垂直高域成分生成部308a及び308bと、垂直ブロックマッチング演算部306a、306bとマッチング水平高域成分抽出部307a、307bとによるマッチング水平高域成分生成部309a及び309bは、パターンマッチング検出部30での水平ブロックマッチング演算部303、マッチング垂直高域成分抽出部304によるマッチング垂直高域成分生成部308、垂直ブロックマッチング演算部306、水平高域成分抽出部307によるマッチング水平高域成分生成部309と同じものである。
パターンマッチング検出部31は、さらに、最大値選択部321と、垂直高域最大値選択部322と、水平高域最大値選択部323を備えている。
図20において、ブロック間マッチング演算部301aは、現フレーム信号Di0と1フレーム遅延信号d2fを入力とし、現フレームDi0における注目画素P0を中心とする画素ブロックb0と、対応する1フレーム遅延信号d2fのフレームにおける画素ブロックb2との間でパターンマッチングを行い、結果として、パターンの類似度を示すブロックマッチング量blkpm1を求める。また、ブロック間マッチング演算部301bは、1フレーム遅延信号d2fと2フレーム遅延信号d4fを入力とし、1フレーム遅延信号d2fのフレームにおける画素ブロックb2と、対応する2フレーム遅延信号d4fのフレームにおける画素ブロックb4との間でパターンマッチングを行い、結果として、パターンの類似度を示すブロックマッチング量blkpm2を求める。これらブロック間マッチング演算部301a、301bの構成、動作は、実施の形態1でのブロック間マッチング演算部301と同じである。
ブロック間マッチング演算部301aで算出されたブロックマッチング量blkpm1と、ブロック間マッチング演算部301bで算出されたブロックマッチング量blkpm2は、最大値選択部321へ送られ、最大値選択部321では、ブロックマッチング量blkpm1とブロックマッチング量blkpm2の最大値を選択し、ブロックマッチング量blkpmとして出力する。ブロックマッチング量blkpmは、注目画素P0を中心とする画素ブロックb0から2フレームに亘る間でのパターンの類似度、すなわち、画素ブロックでのブロック・パターンの動きを示す結果として、図20における第1、第2及び第3の動きブロック係数変換部311、312及び313へ出力される。
なお、ブロック間マッチング演算部301bでは、1フレーム遅延信号d2fと2フレーム遅延信号d4fの画素ブロック間でパターンマッチングを行い、ブロックマッチング量blkpm2を求めているが、代わりに、現フレーム信号Di0と2フレーム遅延信号d4fの2フレームの間でパターンマッチングを行ってもよく、最大値選択部321の結果として、2フレームに亘る間でのブロックマッチング量blkpmが得られればよい。
水平ブロックマッチング演算部303aは、現フレーム信号Di0と1フレーム遅延信号d2fとを受け、それぞれのフレームの画素ブロックの一部で構成される水平方向に細長い領域で構成された小ブロックを単位としてパターンマッチングを行う。
水平ブロックマッチング演算部303bは、1フレーム遅延信号d2fと2フレーム遅延信号d4fとを受け、それぞれのフレームの画素ブロックの一部で構成される水平方向に細長い領域で構成された小ブロックを単位としてパターンマッチングを行う。
マッチング垂直高域成分抽出部304aは、水平ブロックマッチング演算部303aからの水平ブロックマッチング量hp11、hp12及びhp13から、マッチング垂直高域成分vebpm1を求め、マッチング垂直高域成分抽出部304bは、水平ブロックマッチング演算部303bからの水平ブロックマッチング量hp21、hp22及びhp23から、マッチング垂直高域成分vebpm2を求める。
マッチング垂直高域成分抽出部304a及び304bで算出されたマッチング垂直高域成分vebpm1及びvebpm2は、垂直高域最大値選択部322へ送られ、垂直高域最大値選択部322では、マッチング垂直高域成分vebpm1及びvebpm2の最大値を選択し、マッチング垂直高域成分vebpmとして出力する。マッチング垂直高域成分vebpmは、2フレームに亘る間での画素ブロック内に垂直方向に動く成分があることを示す値として、第1及び第2の動きブロック係数変換部311及び312へ出力される。
垂直ブロックマッチング演算部306aは、現フレーム信号Di0と1フレーム遅延信号d2fとを受け、それぞれのフレームの画素ブロックの一部で構成される垂直方向に細長い領域で構成された小ブロックを単位としてパターンマッチングを行う。
垂直ブロックマッチング演算部306bへは、1フレーム遅延信号d2fと2フレーム遅延信号d4fとを受け、それぞれのフレームの画素ブロックの一部で構成される垂直方向に細長い領域で構成された小ブロックを単位としてパターンマッチングを行う。
マッチング水平高域成分抽出部307aは、垂直ブロックマッチング演算部306aからの垂直ブロックマッチング量vp11、vp12及びvp13から、マッチング水平高域成分hebpm1を求め、マッチング水平高域成分抽出部307bは、垂直ブロックマッチング演算部306bからの垂直ブロックマッチング量vp21、vp22及びvp23から、マッチング水平高域成分hebpm2を求める。
マッチング水平高域成分抽出部307a及び307bで算出されたマッチング水平高域成分hebpm1及びhebpm2は、水平高域最大値選択部323へ送られ、水平高域最大値選択部323では、マッチング水平高域成分hebpm1及びhebpm2の最大値を選択し、マッチング水平高域成分hebpmとして出力する。
マッチング水平高域成分hebpmは、2フレームに亘る間での画素ブロック内に水平方向に動く成分があることを示す値として、第3の動きブロック係数変換部313へ出力される。
なお、水平ブロックマッチング演算部303bと垂直ブロックマッチング演算部306bにおいても、ブロック間マッチング演算部301bと同様、1フレーム遅延信号d2fと2フレーム遅延信号d4fからパターンマッチングを行っているが、現フレーム信号Di0と2フレーム遅延信号d4fの2フレームの間でパターンマッチングを行ってもよく、垂直高域最大値選択部322及び水平高域最大値選択部323での結果として、2フレームに亘る間での差分絶対値(マッチング量)の高域成分が得られればよい。
以下、第1、第2及び第3の動きブロック係数変換部311、312及び313の構成、動作は図2と同じであるので、説明は省略する。図20におけるパターンマッチング検出部31によれば、1フレーム遅延信号d2fと現フレーム信号Di0の画素ブロック間でパターンマッチングを行い、類似度を算出するとともに、1フレーム遅延信号d2fと2フレーム遅延信号d4fの画素ブロック間でパターンマッチングを行い、類似度を算出してブロックマッチング量blkpmを求め、また、差分絶対値の垂直高域成分及び水平高域成分を求めて、画素ブロックが垂直方向もしくは水平方向に動くパターンを考慮して、ブロックマッチング量blkpmによる類似度に応じた動きブロック係数dfmat及びcbmatが生成される。この動きブロック係数dfmat及びcbmatは、2フレームの間に亘る画素ブロック間のパターンマッチング(類似度の算出)から得られているため、注目画素P0と対応する画素の差分のみに基づいて判定を行なうのと比較し、2フレームの間に亘る画素ブロックのパターンの違いも考慮することとなり、より画像の速い動きに対応した画素ブロックでのブロック・パターンの動きを示した値が得られる。
次に、図19に戻り、フレーム間差分検出部20bへは、現フレーム信号Di0と、1フレーム遅延信号d2fと、2フレーム遅延信号d4fとが入力され、パターンマッチング検出部31からの動きブロック係数dfmatと、エッジ検出部40からのエッジ判定係数efkmも入力される。
フレーム間差分検出部20bでは、1フレーム間差分と2フレーム間差分を求めるが、この差分を求める際に、動きブロック係数dfmatとエッジ判定係数efkmとに応じて、平滑化処理を行う画素の範囲を選択して処理し、平滑化処理したフレーム間の差分を検出し、結果として2つのフレーム差分を合成したフレーム間差分信号sfdiffを求め、動き情報補正部50へ出力する。
フレーム間差分検出部20b内のフレーム間差分算出部21cへは、現フレーム信号Di0と1フレーム遅延信号d2fが入力され、さらに、パターンマッチング検出部31からの動きブロック係数dfmatと、エッジ検出部40からのエッジ判定係数efkmが入力され、また、フレーム間差分算出部21dへは、現フレーム信号Di0と2フレーム遅延信号d4fが入力され、さらに、パターンマッチング検出部31からの動きブロック係数dfmatと、エッジ検出部40からのエッジ判定係数efkmも入力される。
フレーム間差分算出部21cは現フレーム信号Di0と1フレーム遅延信号d2fによる1フレーム間差分によるフレーム間差分frd1を求め、フレーム間差分算出部21dは現フレーム信号Di0と2フレーム遅延信号d4fによる2フレーム間差分によるフレーム間差分frd2を求める。なお、フレーム間差分frd1は、図1の装置の説明におけるフレーム間差分frdと同じものである。
また、フレーム間差分検出部20b内の非線形変換部22cは、フレーム間差分frd1を非線形変換し、フレーム間差分信号fdiff1として求め、非線形変換部22dは、フレーム間差分frd2を非線形変換し、フレーム間差分信号fdiff2として求め、差分合成部23へ出力する。
差分合成部23では、非線形変換部22cからの1フレーム差分による1フレーム間差分信号fdiff1と、非線形変換部22dからの2フレーム差分による2フレーム間差分信号fdiff2を入力とし、1フレーム間差分信号fdiff11と2フレーム間差分信号fdiff12の最大値を求めて合成することで、映像信号の動きを示すフレーム間差分とし、フレーム間差分信号sfdiffを出力する。
なお、差分合成部23での合成の方法は最大値を求めることに限らず、平均値を求めることや、入力される1フレーム間差分信号fdiff11と2フレーム間差分信号fdiff12の大きさに基づく重み付けした係数による演算により合成してもよい。
以上のように、フレーム間差分検出部20bでは、フレーム間差分信号sfdiffを求める際に、動きブロック係数dfmatとエッジ判定係数efkmとに応じて、平滑化処理を行う画素の範囲を選択して処理することで、画像のエッジの方向、パターンの動きに応じた適切な範囲で平滑化されたフレーム間差分を得ており、また、2フレーム間の差分を求めているので、より精度のよいフレーム間差分信号sfdiffを出力することができる。
以下、フレーム間差分信号sfdiffを動き情報補正部50へ送り、動き信号mdsとして得るまでの構成は、実施の形態1の図1に示されるものと同じであり、その詳細な説明は省略する。
以上のように、図19の動き検出装置2では、パターンマッチング検出部31において、現フレーム信号と1フレーム前の信号に加え、1フレーム前の信号と2フレーム前の信号における画素ブロックのパターンマッチングにより画素ブロックでのパターンの動きを示した動きブロック係数dfmat及びcbmatを生成し、フレーム間差分検出部20bでは、生成された動きブロック係数dfmatとエッジ判定係数efkmとに応じて、平滑化処理を行う画素の範囲を選択して処理することで、画像のエッジの方向、パターンの動きに応じた適切な範囲で平滑化された1フレーム間差分と2フレーム間差分を得ている。
したがって、動き検出装置2からは、ノイズのある画像においても、静止部分を動きと誤検出することなく、動き部分を静止と検出する動き検出漏れを防止し、高い精度で映像信号の動きの度合いを示すmdsが得られる。そして、1フレーム間差分と2フレーム間差分を求め、2つのフレーム差分を合成することで、画像の速い動きに対応でき、動きを静止と検出する動き検出の漏れを防止できる。
実施の形態2の映像信号処理装置において、パターンマッチングによる動きブロック係数と、エッジ検出の結果であるエッジ判定係数とにより、映像信号の1フレーム間差分と2フレーム間差分を検出し、動きの度合いを示す動き検出信号mdsを出力する動作については、実施の形態1に関し図17及び図18を参照して説明したのと同様であり、その説明は省略するが、実施の形態2においては、図17中のステップS101において入力されるフレーム遅延信号は、1フレーム遅延信号d2fと、2フレーム遅延信号d4fとなり、ステップS102における、パターンマッチング検出部31でのブロックマッチングが、1フレーム遅延信号d2fと現フレーム信号Di0の画素ブロック間と、2フレーム遅延信号d4fと1フレーム遅延信号d2fの画素ブロック間とでパターンの2つの類似度を算出し、画素ブロックの動きを示す動きブロック係数dfmat及びcbmatを生成することとなり、図18中のステップS108においてフレーム間差分信号が、1フレーム間差分と2フレーム間差分の合成により求められることとなる。
上記のステップS101、S102及びステップS108以外の動作は、図17及び図18で示すフローチャートによりで説明した動作と同じである。
以上より、実施の形態2の映像信号処理装置によれば、パターンマッチング検出部31において、現フレーム信号と1フレーム前の信号に加え、1フレーム前の信号と2フレーム前の信号における画素ブロックのパターンマッチングにより画素ブロックでのパターンの動きを示した動きブロック係数dfmat及びcbmatを生成し、フレーム間差分検出部20bでは、生成された動きブロック係数dfmatとエッジ判定係数efkmとに応じて、平滑化処理を行う画素の範囲を選択して処理することで、画像のエッジの方向、パターンの動きに応じた適切な範囲で平滑化された1フレーム間差分と2フレーム間差分を得ている。さらに、動き情報補正部50では、動きブロック係数cbmatとエッジ判定係数cedkmに応じて、エッジの方向、パターンの動きに対応した補正が施された動き情報信号md0を求めている。
したがって、2フレーム間でも動きブロック係数を求め、フレーム間差分を1フレーム間差分と2フレーム間差分から求めるので、画像の速い動きに対応でき、動きを静止と検出する動き検出の漏れを防止できるとともに、画素ブロックのパターンの類似度の値によるブロックの動きを示す動きブロック係数と、エッジの存在の度合いを示すエッジ判定係数とにより、画像のエッジの方向、パターンの動きに応じて、フレーム間の差分を求める際の平滑化処理の範囲を切り換えて、適切な範囲で平滑化されたフレーム間差分信号を得ることができ、
ノイズのある画像においても、静止部分を動きと誤検出することなく、動き部分を静止と検出する動き検出漏れを防止し、高い精度で良好な動き検出を行うことができる。
なお、実施の形態2の映像信号処理装置では、現フレーム信号Di0における画素P0を動き検出の対象である注目画素として、フレーム間差分検出部20bで1フレーム間差分、2フレーム間差分を検出しているが、注目画素P0のあるフレームは現フレームでなくてもよく、フィールドもしくはフレーム遅延された信号のフレームを動き検出する中心フレームとして、そのフレーム遅延信号上の画素を注目画素P0とすることもできる。この場合、フレーム間差分検出部20bで検出する1フレーム間差分と2フレーム間差分は、中心フレームの時間軸上前に位置するフレームとの間の差分であっても、時間軸上後ろに位置するフレームとの間の差分であってもよく、さらには、その両方向のフレームとの差分を合成し用いてもよく、中心フレームとの間のフレーム差分を検出して動き検出信号として得られれば、実施の形態2と同様の効果が得られる。
さらに、実施の形態2の説明においては、映像信号処理装置のフレーム遅延部、動き検出装置の各構成をハードウェアで構成するものとしているが、これらの構成要素を、ソフトウェアにより、即ちプログラムされたコンピュータにより実現しても良い。
実施の形態3.
実施の形態1又は実施の形態2の映像信号処理装置における動き検出は、映像信号から画像の動きを局所的に検出し、検出された動きに応じて映像信号処理を行う動き適応処理に適用できる。
この動き適応処理の適用例として、まず、インターレース信号をプログレッシブ信号に走査線変換(IP変換)する動き適応走査線補間処理について説明する。
以下に示す実施の形態3においては、IP変換する際に、動き検出された動き量である動きの度合いを示す動き検出信号に応じて、フィールド間補間及びフィールド内補間のいずれかに切換えて補間信号を生成する映像信号処理装置であって、動き検出のために、実施の形態1の映像信号処理装置における動き検出装置1を用いるものについて説明する。
図21は、本発明の実施の形態3の映像信号処理装置(すなわち、実施の形態3の映像信号処理方法を実施することができる装置)の構成を示すブロック図であり、映像信号のフレーム間差分に基づき動きを検出し、動き検出装置の出力に従い、動きに応じた走査線補間処理を行ってプログレッシブ信号を得る動き適応処理装置3の構成を示している。図21において、図1に示す実施の形態1における構成要素と同一又は対応する構成要素には、同じ符号を付してある。
図21において、実施の形態3の映像信号処理装置である動き適応処理装置3は、映像信号の動き検出を行う動き検出を、実施の形態1の映像信号処理装置(図1参照)の動き検出装置1により行なっており、フィールドメモリ11、12で構成されたフレーム遅延部13と、動き検出装置1と、動き検出装置1の出力に従い、動きに応じた走査線補間信号を生成する動き適応補間処理部600と、動き適応補間処理部600から出力された走査線補間信号Iを実走査線信号Rの対応する走査線間にはめ込み、倍速変換して、プログレッシブ映像信号Doへ変換して出力する倍速変換部601とを備えている。
動き適応処理装置3には、インターレース信号である入力映像信号Di0が順次入力されており、動き適応処理による走査線補間処理を行い、プログレッシブ信号Doを出力する。
フレーム遅延部13からは、1フィールド遅延信号d1fと1フレーム遅延信号d2fとが出力される。
動き適応処理装置3における動き検出装置1は、現フレーム信号Di0、1フレーム遅延信号d2f及び1フィールド遅延信号d1fとを受け、現フレーム信号と1フレーム前の信号との間での映像信号における動きを検出し、検出結果から動きの度合いを示す動き検出信号mdsを出力する。
この動き検出装置1としては、図1に示されるものを用いることができ、現フレーム信号Di0と1フレーム前の信号d2fにおける画素ブロックのパターンマッチングによる動きブロック係数と、エッジ検出の結果であるエッジ判定係数とにより、画像のエッジの方向、パターンの動きに応じてフレーム間の差分を求める際の平滑化処理の範囲を切り換えて、適切な範囲で平滑化されたフレーム間差分信号を得て、さらには、エッジの方向、パターンの動きに応じたフレーム間差分信号の補正を行い、動き部分を静止であると誤判定され勝ちなエッジやパターンにおいて、動きと検出されやすいよう補正された動き情報を求めることで、誤検出と動き検出漏れを防止した高い精度の動き検出を行う。
動き適応処理装置3における動き適応補間処理部600には、現フレーム信号Di0と、1フレーム遅延信号d2fと、1フィールド遅延信号d1fと、動き検出装置1からの動き検出信号mdsが入力される。
ここで、図21においては、走査線補間処理を行う対象となるフィールド(補間対象フィールド)を1フィールド遅延信号d1fのフィールドとする。動き検出装置1においては、動き検出を現フレーム信号Di0と1フレーム遅延信号d2fとの間で行い、動きの度合いを示す動き検出信号mdsを出力しているので、補間対象フィールドを1フィールド遅延信号d1fとすると、動き検出の中心に補間信号を生成することとなる。すなわち、図5において、1フィールド遅延信号d1f上の画素Pf1a及びPf1bの間の走査線上の画素を走査線補間信号として生成する。
動き適応補間処理部600では、1フィールド遅延信号d1f、現フレーム信号Di0、及び1フレーム遅延信号d2fに対し、動き検出装置1から出力される動き検出信号mdsに基づき、動き適応補間処理を行って走査線補間信号Iを生成し、この走査線補間信号Iと、1フィールド遅延信号d1fにおける実走査線信号Rを出力する。走査線補間信号Iの生成処理は、1フィールド遅延信号d1fに対して行われ、動き適応補間処理部600は、動き検出信号mdsの値に応じて、1フィールド遅延信号d1fに対して時間的に前の1フレーム遅延信号d2f、あるいは、時間的に後ろの現フレーム信号Di0における対応する走査線の画素をはめ込むことによるフィールド間補間、もしくは1フィールド遅延信号d1fにおける垂直方向の上下に位置する画素の信号を用いたフィールド内補間処理を行い、走査線補間信号Iを生成する。
この動き適応補間処理部600での走査線補間信号Iの生成は、例えば、動き検出信号mdsの値に応じて、フィールド間補間により得られた信号と、フィールド内補間により得られた信号を混合して行う。すなわち、動き検出信号mdsが完全静止画を示す場合(mds=0の場合)は、フィールド間補間を行い、1フレーム遅延信号d2fもしくは現フレーム信号Di0信号を走査線補間信号Iとする一方、動き検出信号mdsの値が大きく、「完全に動き」であると判定される場合は、フィールド内補間により得られた信号(垂直方向の上下に位置する画素の信号を用いた補間信号)を走査線補間信号Iとする。そして、動き検出信号mdsの値が「0」と、「完全動き」を表す値との間の値である場合は、動き検出信号mdsの値に応じた混合比により、フィールド間補間による信号とフィールド内補間による信号を混合して走査線補間信号Iを生成する。
上記のフィールド間補間、1フレーム遅延信号d2f、あるいは、現フレーム信号Di0のどちらか一方の信号、例えば、時間的に前の1フレーム遅延信号d2fのみによって行っても良い。
なお、補間対象フィールドを1フィールド遅延信号d1fとしたが、現フレーム信号Di0や、1フレーム遅延信号d2fとすることもできる。
次に、倍速変換部601は、動き適応補間処理部600から出力された走査線補間信号Iと実走査線信号Rとを入力とし、補間信号を実走査線信号の対応する走査線間にはめ込み、倍速変換して、プログレッシブ映像信号Doへ変換して出力する。これにより、動き適応処理装置3からは、倍速変換部601の出力であるプログレッシブ映像信号Doが出力される。
以上に説明したように、実施の形態3の映像信号処理装置では、実施の形態1における動き検出装置1を用いて、適切な範囲で平滑化されたフレーム間差分信号から求められ、エッジの方向、パターンの動きに応じて補正された動き検出信号mdsを得ており、この動き検出信号mdsに応じて、動き適応補間処理部600での動き適応処理による走査線補間処理を行ってプログレッシブ信号Doを得ている。
よって、ノイズのある画像においても、静止部分を動きと誤検出することなく、動き部分を静止と検出する動き検出漏れを防止し、高い精度で良好な動き検出を行うことができ、この良好な動き検出の結果を用いることで、動き適応処理による走査線補間の結果において、画像のちらつきやぼやけなどの弊害やコーミング現象やぶれによる画質劣化を低減されたプログレッシブ信号を得ることができる。
なお、図21に示す実施の形態3の動き適応処理装置3では、映像信号の動き検出を図1の動き検出装置1により行う構成としたが、図22に示すように、2フレーム遅延信号d4fを得るためのフレーム遅延部15をさらに備えることで、実施の形態2の映像信号処理装置(図19参照)における動き検出装置2を用いて構成することもできる。この場合は、
2フレーム間でも動きブロック係数を求め、フレーム間差分を1フレーム間差分と2フレーム間差分から求めるので、画像の速い動きに対応でき、動きを静止と検出する動き検出の漏れを防止でき、高い精度で良好な動き検出を行った結果により、動き適応処理による走査線補間処理を行い、プログレッシブ信号Doを得ることができる。
また、図21又は図22に示す実施の形態3の動き適応処理装置3又は3bでは、映像信号の動き適応走査線補間処理について示したが、例えば、動きベクトルを検出し、動きベクトルに対応した走査線変換を行う動き補償型走査線補間処理において、動き検出装置1又は2により行った動き検出の結果を動き補償時の一つのパラメータとして使用し、動きベクトルと併用するよう構成することもできる。この場合は、より高い精度で良好な動き補償による走査線補間処理を行い、プログレッシブ信号Doを得ることができる。
さらに、上記説明においては、動き適応処理装置3の各構成をハードウェアで構成するものとしているが、これらの構成要素を、ソフトウェアにより、即ちプログラムされたコンピュータにより実現しても良い。
実施の形態4.
次に、動き適応処理の適用例として、3次元ノイズ除去において動き適応処理を行う場合について示す。
実施の形態4においては、3次元ノイズ除去を行う際に、動き検出された動き量である動きの度合いを示す動き検出信号に応じて、ノイズ除去の効果を制御する動き適応処理を行う映像信号処理装置であって、動き検出のために、実施の形態1の映像信号処理装置における動き検出装置1を用いるものについて説明する。
図23は、本発明の実施の形態4の映像信号処理装置(すなわち、実施の形態4の映像信号処理方法を実施することができる装置)の構成を示すブロック図であり、映像信号のフレーム間差分に基づき動きを検出し、動き検出装置の出力に従い、ノイズ成分に対する巡回係数を得て、フレーム巡回型のノイズ除去処理を行う動き適応処理装置4の構成を示している。図23において、図1に示す実施の形態1における構成要素と同一又は対応する構成要素には、同じ符号を付してある。
図23において、実施の形態4の映像信号処理装置である動き適応処理装置4は、映像信号の動き検出を行う動き検出を、実施の形態1の図1の映像信号処理装置(図1)における動き検出装置1により行なっており、フレーム遅延部13、603と、動き検出装置1と、動き検出装置1の出力に従いノイズ成分に対する巡回係数を得て、フレーム巡回型のノイズ除去処理を行う動き適応ノイズ除去部610とを備えている。
動き適応ノイズ除去部610は、ノイズ抽出部611と、動き検出結果に応じてノイズに対する巡回係数を生成する係数生成部612と、ノイズ抽出部611からのノイズ成分と巡回係数を乗算しノイズの巡回量として出力する乗算部613と、乗算部613からのノイズ巡回量Ndと入力映像信号Di0を加算又は減算処理する演算部614とを備えている。
動き適応処理装置4には、インターレース信号である入力映像信号Di0が順次入力されており、動き適応処理によるノイズ除去処理を行い、ノイズ除去後の信号Dnroを出力する。
フレーム遅延部13、603は、映像信号を1フレーム分遅延して出力するためのメモリであり、第1のフレーム遅延部13は、入力映像信号Di0を1フレーム分遅延して1フレーム遅延信号d2fを出力し、第2のフレーム遅延部603は、ノイズ除去後の信号Dnroを1フレーム分遅延して、ノイズ除去後信号の1フレーム遅延信号ln2を出力する。なお、インターレース信号入力時には、フレーム遅延部13、603は、1フィールド単位の遅延を行う2個のフィールドメモリで構成できるので、フレーム遅延部13で、1フィールド遅延信号d1fが生成されて、動き検出装置1に供給される。このフレーム遅延部13及び603の構成、動作は図1のフレーム遅延部13と同様である。
動き検出装置1は、現フレーム信号Di0と、フレーム遅延部13からの1フレーム遅延信号d2f及び1フィールド遅延信号d1fとを入力とし、現フレーム信号Di0と1フレーム前の信号d2fとの間での映像信号における動きを検出し、検出結果から動き量である動きの度合いを示すmdsを出力する。この動き検出装置1は、図1に示される動き検出装置1を適用したものであり、パターンマッチングによる動きブロック係数と、エッジ検出の結果であるエッジ判定係数とにより、画像のエッジの方向、パターンの動きに応じてフレーム間の差分を求める際の平滑化処理の範囲を切り換えて、適切な範囲で平滑化されたフレーム間差分信号を得て、さらには、エッジの方向、パターンの動きに応じたフレーム間差分信号の補正を行い、動き部分を静止であると誤判定され勝ちなエッジやパターンにおいて、動きと検出されやすいよう補正された動き情報を求めることで、誤検出と動き検出漏れを防止した高い精度の動き検出を行う。
動き適応ノイズ除去部610には、現フレーム信号Di0と、フレーム遅延部603からのノイズ除去後信号の1フレーム遅延信号ln2と、動き検出装置1からの動き検出信号mdsが入力される。動き適応ノイズ除去部610では、現フレーム信号Di0と1フレーム遅延信号ln2とのフレーム間の差分値からノイズ成分を抽出し、動き検出装置1からの動き検出信号mdsに応じてノイズ成分に対する巡回係数を求め、抽出したノイズ成分と巡回係数からノイズ除去処理を行い、ノイズ除去後の信号Dnroを出力する。ノイズ除去後の信号Dnroは、現フレーム信号Di0と同じフレームの信号であり、第2のフレーム遅延部603へ送られる。
動き適応ノイズ除去部610内のノイズ抽出部611では、例えば、1フレーム遅延信号ln2から現フレーム信号Di0を減算して、現フレーム信号Di0と1フレーム遅延信号ln2のフレーム差分Diffを求めた後、所定の値内(例えば、±dTh内)に振幅を制限することで、振幅制限された差分値をノイズ成分Dfnとして求める。フレーム差分Diffには、映像信号における「動き」と「ノイズ」の成分が含まれており、したがって、フレーム差分Diffから得られるノイズ成分Dfnが「0」の場合は、完全に静止している部分もしくはノイズ成分がない部分であり、動きもしくはノイズ成分があると、その値は大きくなる。ノイズ抽出部301で求めたノイズ成分Dfnは、現フレーム信号Di0での画素におけるノイズ成分として、乗算部613へ出力される。
係数生成部612は、動き検出装置1からの動き検出信号mdsを入力とし、動き検出信号mdsに応じたノイズに対する巡回係数Kmを生成する。ここで、係数生成部612で生成する巡回係数Kmは、巡回型ノイズ除去を行う際のノイズの巡回値を設定するものであり、0≦Km<1で設定される。この巡回係数Kmの値が「1」に近いほど、ノイズ除去を行うノイズの巡回値が大きくなり、ノイズ除去効果が高くなる。一方、巡回係数Kmの値がゼロ(Km=0)であると、ノイズの巡回値はゼロとなり、ノイズ除去は行われない。
よって、係数生成部612では、動き検出装置1からの動き検出信号mdsが示す動きの度合いに対応して変化するよう、例えば乗算処理や、ROM(Read Only Memory)で構成されたLUTを用いて変換を行って、巡回係数Kmを生成する。すなわち、動き検出信号mdsの値が大きく、「完全に動き」であることを示す場合は、巡回係数Km=0とし、動き検出信号mdsが「0」である(静止画もしくはノイズ成分であることを示す)場合は、Km=Kmax(Kmax<1)として、動き検出信号mdsが「0」と「完全に動き」の間の値を取るときは、その値が大きくなるにつれ、巡回係数Kmの値が小さくなるように変化させることで、動きを考慮したノイズに対する巡回係数が得られる。
そして、動き検出信号mdsに対応して0≦Km<Kmaxで変化するよう生成された係数生成部612からの巡回係数Kmは、乗算部613へ出力される。
乗算部613は、ノイズ抽出部611からのノイズ成分Dfnに巡回係数Kmを乗算し、ノイズの巡回量NdをKm×Dfnとして求める。得られたノイズ巡回量Ndは、演算部614へ出力される。
巡回係数Kmは、動き検出信号mdsの値に応じて算出されており、動き検出信号mdsが動きを示す場合は、巡回係数Km=0として送られているので、この場合のノイズの巡回量NdはNd=0となり、ノイズ除去は行われない。一方で、静止画の画素と検出される場合は、Km=Kmaxとなっているので、ノイズ巡回量Ndは最大値に設定され、ノイズの除去効果を大きくすることができ、動き検出信号が示す動き量に応じて段階的にノイズの除去効果を変化することになる。
演算部614には、現フレーム信号Di0に対してノイズ巡回量Ndを加算または減算することで、映像信号中のノイズを除去し、ノイズ除去後の信号Dnroを得る。ここで、演算部614の処理は、乗算部613からのノイズ巡回量Ndの符号(正か負か)によって加算または減算処理が行われ、ノイズを除去するようにしている。
次に、図23において、動き適応ノイズ除去部610から出力されたノイズ除去後の信号Dnroは、入力映像信号と同じフレームの信号であり、フレーム遅延部603へ送られる。
以上に説明したように、実施の形態4の映像信号処理装置では、実施の形態1における動き検出装置1を用いて、適切な範囲で平滑化されたフレーム間差分信号から求められ、エッジの方向、パターンの動きに応じて補正された動き検出信号mdsを得ており、動き適応ノイズ除去部610において、この動き検出信号mdsに応じて、ノイズ成分に対する巡回係数を得てフレーム巡回型のノイズ除去処理を行い、動き検出の結果でノイズ除去の効果を制御する動き適応処理を行っている。
よって、ノイズのある画像においても、静止部分を動きと誤検出することなく、動き部分を静止と検出する動き検出漏れを防止し、高い精度で良好な動き検出を行うことができ、この良好な動き検出の結果を用いることで、動き適応処理によるノイズ除去後の映像信号において、動き部分の尾引きや残像を抑え、静止画部のノイズを低減して、画像のちらつきやぼやけなどの弊害が低減されたノイズ除去された信号を得ることができる。
なお、図23に示す実施の形態4の動き適応処理装置4では、映像信号の動き検出を図1の動き検出装置1により行う構成としたが、2フレーム遅延信号d4fを得るためのフレーム遅延部15をさらに備えることで、実施の形態2の映像信号処理装置(図19参照)における動き検出装置2を用いて構成することもできる。この場合は、2フレーム間でも動きブロック係数を求め、フレーム間差分を1フレーム間差分と2フレーム間差分から求めるので、画像の速い動きに対応でき、動きを静止と検出する動き検出の漏れを防止できるとともに、高い精度で良好な動き検出を行った結果により、動き検出の結果でノイズ除去の効果を制御する動き適応処理によるノイズ除去を行うことができる。
また、実施の形態4の映像信号処理装置では、入力映像信号をインターレース信号としているが、入力映像信号はプログレッシブ信号であってもよく、同様に構成することで動き検出、ノイズ除去処理を行うことができる。なお、プログレッシブ信号入力の場合には、フレーム遅延部13は入力された入力映像信号Di0を1フレーム分遅延して、1フレーム前の信号である1フレーム遅延信号d2fのみが出力され、異位相の信号の位置関係にある1フィールド遅延信号d1fは得られないため、動き検出装置1では、同位相のフレーム位置関係にあるフレーム遅延信号により動き検出を行う構成を用いることとなる。
また、実施の形態4の動き適応処理装置4では、フレーム遅延部13、603を設け、動き検出装置1のための1フレーム遅延信号d2fと、動き適応ノイズ除去部610のためのノイズ除去後信号の1フレーム遅延信号ln2を得るように構成したが、図24に示す動き適応処理装置4bのように、フレーム遅延部603によりノイズ除去後の信号Dnroを1フレーム遅延し、動き検出装置1と動き適応ノイズ除去部610で同じ1フレーム遅延信号を用いる構成としてもよい。なお、この場合にも、フレーム遅延部603で信号Dnroの1フィールド遅延信号ln1が生成されて、動き検出装置1に供給される。
また、実施の形態4の動き適応処理装置4では、動き適応ノイズ除去部610を図23に示す構成とし、動き検出装置1で生成された動き検出信号mdsに応じて、係数生成部612において動き検出結果に応じたノイズ成分に対する巡回係数を生成するが、動き適応ノイズ除去部610の構成は図23に限らず、例えば、巡回係数を固定として所定の強さの巡回型ノイズ除去を行った信号と入力映像信号とを、動き検出装置1で生成された動き検出信号mdsに応じた混合比で混合することで、動きにより制御された巡回型ノイズ除去後の信号を得るようにすることもでき、図23の動き適応処理装置4と同様の効果を奏する。
さらには、図23の動き適応処理装置4は、巡回型ノイズ除去を行うが、動き適応処理装置4を図25で示す構成として、非巡回型のノイズ除去処理に、動き検出結果を適用することもできる。図25において、図23及び図1、図19の構成と同一又は対応する構成には、同じ符号を付してある。図25で示す動き適応処理装置4cは、図23の動き適応ノイズ除去部610を非巡回型ノイズ除去処理を行う動き適応ノイズ除去部620とし、2フレーム遅延信号d4fを得るためのフレーム遅延部15を備え、動き適応ノイズ除去部620は、フィルタ部621と、動き混合部622とを備える。
図25において、フレーム遅延部13及び15と、動き検出装置2の構成、動作は、実施の形態2と同じであるので、説明は省略する。
動き適応ノイズ除去部620のフィルタ部612は、現フレーム信号Di0、1フレーム遅延信号d2f、及び2フレーム遅延信号d4fに対してノイズ除去のためのフィルタ処理(例えば3つの信号の平均処理)を行い、動き混合部622は、フィルタ処理後の信号dfirと、フィルタ処理されていない信号、例えば現フレーム信号Di0を、動き検出装置2からの動き検出信号mdsに応じて混合比で混合することで、ノイズ除去後の信号Dnroを出力する。
動き混合部622は、動き検出信号mdsが動きを示す場合は、現フレーム信号Di0の混合比率を大きくし、動き検出信号mdsが「0」である(静止画もしくはノイズ成分であることを示す)場合は、フィルタ処理後の信号dfirの比率を大きくする。
また、動き検出信号mdsの値が0と「動き」の間であるときは、その値が大きくなるにつれ、フィルタ処理後の信号dfirの比率が小さくなるように変化させる。
これにより、動きを考慮した非巡回型ノイズ除去後の信号Dnroが得られることになる。よって、実施の形態4の図23の場合と同様の効果が得られる。
なお、この動き適応ノイズ除去部620内のフィルタ部621での各フレームに対するフィルタ係数を、動き検出装置2からの動き検出信号mdsに応じて変化させることとすれば、動き混合部622を省略することができ、その場合にも、動きを考慮した非巡回型ノイズ除去後の信号Dnroを得ることができる。
なお、上記説明においては、動き適応処理装置4、4b及び4cの各構成をハードウェアで構成するものとしているが、これらの構成要素を、ソフトウェアにより、即ちプログラムされたコンピュータにより実現しても良い。
実施の形態5.
次に、実施の形態1乃至4においては、映像信号処理装置及び映像信号処理方法を実施することができる装置について説明したが、本発明は、入力映像信号を動き検出することで動き適応処理し、高画質で表示する映像表示装置にも適用できる。以下に示す実施の形態5においては、TV放送信号やDVD、VTR等の記録再生装置、TV放送受信装置などから入力される映像信号を処理し、実施の形態3又は4の映像信号処理装置の動き適応処理装置3又は4を用いた映像信号を表示する映像表示装置について説明する。
図26は、本発明の実施の形態5の映像表示装置の一例を示すブロック図である。図示の映像表示装置5は、実施の形態3の動き適応処理装置3(もしくは、実施の形態4の動き適応処理装置4)のように構成された映像信号処理装置500を有しており、入力端子501と、入力信号処理部502と、表示処理部503と、表示部504とを設け、動き適応処理による映像信号を表示するように構成したものである。これら入力端子501、入力信号処理部502、表示処理部503及び表示部504に関する部分以外の構成及び動作は、実施の形態1〜4に示されるものと同じであり、その詳細な説明は省略する。
入力端子501には、TV放送信号やDVD、VTR等の記録再生装置、TV放送受信装置等からの信号が入力される。入力端子501に入力された信号は、入力信号処理部502へ送られる。
入力信号処理部502は、TV放送信号やDVD、VTR等の記録再生装置、TV放送受信装置等からの信号に対し、例えば、アナログ信号が入力される場合は、信号をデジタル信号へ変換する処理、同期信号を分離する処理などの入力信号処理や、MPEGデータを受けた場合には、MPEGデータをデコードするなどの処理を施す。そして、入力信号処理された映像信号を映像信号処理装置500へ出力する。
ここで、入力信号処理された映像信号は、インターレース信号である場合もあり、プログレッシブ信号である場合もある。
映像信号処理装置500は、動き適応処理によるノイズ除去処理及び/又は動き適応走査線補間処理を行い、入力信号処理部502からの映像信号をフレーム遅延して、フレーム間での差分を用いて動き検出を行うとともに、この動き検出された結果に応じて、インターレース入力時は、ノイズ除去処理と3次元IP変換を行う。
プログレッシブ信号の場合は、動き検出された結果に応じて、ノイズ除去処理を行う。
そして、動き適応処理によりノイズ除去、IP変換されたプログレッシブ信号を表示処理部503へ出力する。この動き検出処理と、動き検出の結果を用いたノイズ除去処理及びIP変換処理の動き適応処理の構成、動作は、実施の形態1〜4と同様であるので、詳細な説明は省略する。
また、ここでの動き適応処理は、ノイズ除去処理もしくは3次元IP変換どちらか一方の処理でもよい。
表示処理部503には、映像信号処理装置500からの動き適応処理された映像信号が入力される。表示処理部503は、動き適応処理された映像信号に対し、スケーリング処理や映像信号の階調を変換する階調補正処理などの表示信号へ変換するための信号処理を施し、表示部504で表示するための表示信号として表示部504へ出力する。
表示部504は、表示処理部503からの表示信号に基づき映像を表示する。
以上に説明したように、実施の形態5の映像表示装置によれば、実施の形態1〜4の映像信号処理装置及び映像信号処理方法を用いるので、微少な動きやノイズのある画像においも、静止部分を動きと誤検出することなく、動き部分を静止と検出する動き検出漏れを防止し、高い精度で良好な動き検出を行い、動き適応処理の結果において、画像のちらつきやぼやけなどの弊害やコーミング現象やぶれによる画質劣化を低減された映像信号に基づく高品質な映像を表示することができる。