JP2010219715A - 画像処理装置、画像処理方法、及び、プログラム - Google Patents

画像処理装置、画像処理方法、及び、プログラム Download PDF

Info

Publication number
JP2010219715A
JP2010219715A JP2009062340A JP2009062340A JP2010219715A JP 2010219715 A JP2010219715 A JP 2010219715A JP 2009062340 A JP2009062340 A JP 2009062340A JP 2009062340 A JP2009062340 A JP 2009062340A JP 2010219715 A JP2010219715 A JP 2010219715A
Authority
JP
Japan
Prior art keywords
vector
frame
pixel
background
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2009062340A
Other languages
English (en)
Inventor
Akihiro Okumura
明弘 奥村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2009062340A priority Critical patent/JP2010219715A/ja
Publication of JP2010219715A publication Critical patent/JP2010219715A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Television Systems (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Liquid Crystal Display Device Control (AREA)

Abstract

【課題】フレーム補間において、高画質の補間フレームを生成する。
【解決手段】候補ベクトル算出部12は、入力画像をブロック分割した小ブロックごとに、背景の動きを表す背景ベクトルv1と、背景以外の物体の動きを表す物体ベクトルv2とを求める。画素単位動き推定部13は、背景について、背景ベクトルv1に従った動き、及び画像の相関が連続している回数を表す背景カウント値をカウントし、背景カウント値のカウントとは別個に、物体について、物体ベクトルv2に従った動き、及び画像の相関が連続している回数を表す物体カウント値をカウントする。そして、画素単位動き推定部13は、背景カウント値と物体カウント値との大小関係に基づいて、補間フレームの画素の動きを表す順方向ベクトルと逆方向ベクトルを求める。本発明は、例えば、画像のフレーム補間を行う場合に適用できる。
【選択図】図5

Description

本発明は、画像処理装置、画像処理方法、及び、プログラムに関し、特に、例えば、フレーム補間において、高画質の補間フレームを生成することができるようにする画像処理装置、画像処理方法、及び、プログラムに関する。
例えば、液晶ディスプレイや液晶プロジェクタ等のように、新たな画像の書き込みが行われるまで、いま表示されているフレームを表示し続けるディスプレイは、ホールド型ディスプレイと呼ばれる。
ホールド型ディスプレイでは、画像(動画)の表示に際して、動く物体である動体の動きに、視聴者の眼(視覚)が追従することにより発生するボケ現象や、コマ数の少ない画像を表示する場合に不自然な動きが生じるという動きジャーキネス等の問題がある。
上述のようなぼけ現象や動きジャーキネスを解消するには、ホールド型ディスプレイの表示レートを高速にするとともに、ホールド型ディスプレイで表示の対象とする画像のフレームレートを高速にする(フレームどうしの間隔を短くする)必要がある。
画像のフレームレートを高速にする方法としては、隣接するフレームどうしの間に、新たなフレーム(補間フレーム)を補間(内挿補間)する方法がある。
補間フレームを生成する方法としては、補間の対象の画像である入力画像のフレームのブロックマッチングを行うことにより、動きベクトルを検出し、入力画像のフレームを、動きベクトルに従って動き補償をすることにより、補間フレームを生成する方法がある。
しかしながら、ブロックマッチングだけでは、特に、入力画像のフレームに繰り返しパターンが存在する場合に、誤った動きベクトルが検出され、そのような誤った動きベクトルを用いて生成される補間フレームの画質が劣化することがある。
図1及び図2を参照して、入力画像のフレームに繰り返しパターンが存在する場合に、誤った動きベクトルが検出されることを説明する。
図1は、繰り返しパターンのテクスチャを有する物体が移動している様子が写った入力画像を示している。
なお、図1において、横軸は、時間(フレーム数)を表し、縦軸は、画像の垂直方向を表す。
図1の入力画像では、背景が、ベクトルVBで表す動き(背景動き)をしており、背景以外の物体(前景)が、ベクトルVFで表す動き(物体動き)をしている。
すなわち、図1の入力画像では、背景は、静止しており、物体は、下方向に一定の速さで移動している。
また、図1の入力画像において、物体は、繰り返しパターンのテクスチャを有している。
ブロックマッチングでは、入力画像の第nフレームが、所定のサイズのブロックにブロック分割される。さらに、第nフレームのブロックのうちの所定のブロックAに注目すると、その注目するブロック(注目ブロック)Aについて、注目ブロックAを、第n-1フレームに設定されるサーチエリア内を移動させ、注目ブロックAと、サーチエリアの各位置における、注目ブロックAと同一のサイズの領域(以下、対応領域ともいう)との画像の一致の度合いを表す評価値が求められる。
ここで、評価値としては、例えば、注目ブロックAの各画素と、その画素と同一の位置の、対応領域の画素との画素値の絶対値差分の総和や自乗和等が用いられる。この場合、評価値は、値が小さいほど、画像の一致の度合いが良いことを表す。
図1では、注目ブロックAを、背景動きを表すベクトルVB(正確には、-VB)だけ移動した第n-1フレームの位置ABも、前景動きを表すベクトルVF(正確には、-VF)だけ移動した第n-1フレームの位置AFも、物体上の位置になっている。
上述したように、物体は、繰り返しパターンのテクスチャを有しているため、位置ABを含む対応領域に対しても、位置AFを含む対応領域に対しても、評価値として、同様の小さい値が得られる。
図1において、正確な動きベクトルを検出するためには、位置AFを含む対応領域に対して、最小の評価値(画像の一致の度合いが最も良いことを表す評価値)が得られる必要がある。
しかしながら、最悪の場合、位置AFを含む対応領域ではなく、位置ABを含む対応領域に対して、最小の評価値が得られることがあり、この場合、背景動きを表すベクトルVBが、物体の動きベクトルとして、誤検出される。
すなわち、図2は、第nフレームのブロックAに写る画像の波形(画素値)、第n-1フレームの位置ABを含む対応領域に写る画像の波形、及び、第n-1フレームの位置AFを含む対応領域に写る画像の波形を示している。
一般に、画像を撮影するカメラでの画素のサンプリング周期(間隔)と、画像に、繰り返しパターンのテクスチャを有する物体が写っている場合の、その繰り返しパターンの周期とは、一致しない。
このため、第n-1フレームの位置AFを含む対応領域に写っている物体の部分は、第nフレームの注目ブロックAに写っている物体の部分と同一の部分であるが、注目ブロックAの各画素と、その画素と同一の位置の、位置AFを含む対応領域の画素との画素値の絶対値差分が0になるとは限らず、そのため、評価値も0になるとは限らない。
一方、第n-1フレームの位置ABを含む対応領域に写っている物体の部分は、第nフレームの注目ブロックAに写っている物体の部分とは異なる部分であるが、物体のテクスチャが繰り返しパターンであるため、偶然、注目ブロックAの各画素と、その画素と同一の位置の、位置ABを含む対応領域の画素との画素値どうしがほぼ一致し、その結果、位置ABを含む対応領域に対して得られる評価値が、位置AFを含む対応領域に対して得られる評価値よりも小さくなることがある。
そして、この場合、注目ブロックAの動きベクトルとしては、物体動きを表すベクトルVF以外のベクトルが、誤検出されることになる。
ここで、特許文献1には、連続する所定数のフレームで、同じ動き量が求められたラインを、テロップが写っているラインに判定する方法が記載されている。
特開2003-189264号公報
繰り返しパターンのテクスチャを有する物体が写った入力画像については、特許文献1に記載の方法を、動きベクトルの検出に適用することにより、動きベクトルの誤検出を防止することが可能となる。
すなわち、図3は、特許文献1に記載の方法を適用した動きベクトルの検出の方法を示している。
なお、図3において、横軸は、時間(フレーム数)を表し、縦軸は、画像の垂直方向を表す。
また、図3でも、図1の場合と同様に、入力画像では、背景が、ベクトルVBで表す動き背景動きをしており、物体(前景)が、ベクトルVFで表す物体動きをしている。
図3においては、第nフレームの物体が写っている画素a0を含むブロックについて、ブロックマッチングにより、評価値が小さいベクトルの1つとして、物体動きを表すベクトルVF(正確には、-VF)が求められている。
さらに、図3では、第nフレームの画素a0から、ベクトルVFだけ移動した第n-1フレームの位置の画素a1を含むブロックについて、ブロックマッチングにより、評価値が小さいベクトルの1つとして、物体動きを表すベクトルVFが求められている。
また、第n-1フレームの画素a1から、ベクトルVFだけ移動した第n-2フレームの位置の画素a2を含むブロックについて、ブロックマッチングにより、評価値が小さいベクトルの1つとして、物体動きを表すベクトルVFが求められている。
このように、連続する複数のフレーム(図3では、第nフレームから第n-2フレームの連続する3フレーム)にわたり、第nフレームの画素a0を含むブロックを始点として、同一のベクトルVFが、評価値が小さいベクトルの1つとして求められる場合、第nフレームの画素a0を含むブロックの動きベクトルとして、ベクトルVFが検出される。
特許文献1に記載の方法を適用した動きベクトルの検出の方法によれば、入力画像において、繰り返しパターンのテクスチャを有する領域が、図3に示したように、小さい領域である場合には、動きベクトルの誤検出を防止することができる。
しかしながら、入力画像において、繰り返しパターンのテクスチャを有する領域が大きい領域である場合、すなわち、例えば、背景として、すだれ等の画像のような、細かい繰り返しパターンの画像が広い範囲に写っている場合、動きベクトルを誤検出することがある。
図4は、特許文献1に記載の方法を適用した動きベクトルの検出の方法によって、動きベクトルを誤検出する場合を示している。
なお、図4において、横軸は、時間を表し、縦軸は、画像の垂直方向を表す。
また、図4でも、図1の場合と同様に、入力画像では、背景が、ベクトルVBで表す動き背景動きをしており、物体が、ベクトルVFで表す物体動きをしている。
図4の入力画像では、背景として、細かい繰り返しパターンの画像が広い範囲に写っている。
このため、図4の入力画像については、第nフレームから第n-2フレームの連続する3フレーム)にわたり、第nフレームの、背景が写っているある画素を含むブロックを始点として、複数のベクトルが、評価値が小さいベクトルとして求められる。その結果、第nフレームの、背景が写っているある画素を含むブロックの動きベクトルとして、背景動きを表すベクトルVBではなく、物体動きを表すVFが誤検出されることがある。
以上のように、動きベクトルが誤検出されると、そのような動きベクトルを用いて生成される補間フレームの画質が劣化することがある。
本発明は、このような状況に鑑みてなされたものであり、フレーム補間において、高画質の補間フレームを生成することができるようにするものである。
本発明の一側面の画像処理装置、又は、プログラムは、補間の対象の入力画像のフレームどうしの間に補間する補間フレームの過去側の前記入力画像のフレームである過去側フレームと、前記補間フレームの未来側の前記入力画像のフレームである未来側フレームとを、前記入力画像から選択し、前記過去側フレーム、及び前記未来側フレームを用いたブロックマッチングによって、前記補間フレームをブロック分割して得られる小ブロックごとに、複数種類の動きベクトルを検出する動きベクトル検出手段と、前記複数種類の動きベクトルそれぞれの統計量を求める統計処理によって、前記入力画像に写る背景の動きを表す背景ベクトルと、前記入力画像に写る、前記背景以外の物体の動きを表す物体ベクトルとを、前記小ブロックの動きを表す動きベクトルの候補として、前記小ブロックごとに求める候補ベクトル算出手段と、前記小ブロックごとの前記背景ベクトル、及び前記物体ベクトルを用い、前記過去側フレームから前記未来側フレームの方向に見た、前記補間フレームの画素の動きを表す順方向ベクトルと、前記未来側フレームから前記過去側フレームの方向に見た、前記補間フレームの画素の動きを表す逆方向ベクトルとを、前記補間フレームの画素ごとに求める画素単位動き推定手段と、前記補間フレームの画素である補間画素について、前記補間画素を含む前記小ブロックの前記背景ベクトルに平行で、前記補間画素を通る直線上の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと、前記補間画素を含む前記小ブロックの前記物体ベクトルに平行で、前記補間画素を通る直線上の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと、前記補間画素の位置の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルとの中の少なくとも1つ以上と、前記背景ベクトル、前記物体ベクトル、又は0ベクトルとが類似しているかどうかによって、前記背景ベクトル、前記物体ベクトル、又は前記0ベクトルを、前記補間画素の動きベクトルに判定する動き判定を行う補間画素動き判定手段と、前記補間画素の動きベクトルに従い、前記過去側フレーム、及び前記未来側フレームのうちの少なくとも一方の動き補償を行い、前記動き補償によって得られる動き補償画像を用いて、前記補間フレームを生成する補間画像生成手段とを含み、前記画素単位動き推定手段は、前記補間フレームの中の、注目する注目フレームを構成する画素のうちの、注目する注目画素について、前記注目画素を含む前記小ブロックの前記背景ベクトルが、前記注目画素の位置から前記背景ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの画素である前フレーム画素の前記背景ベクトル又は前記物体ベクトルに類似し、かつ、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がある場合、及び、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がある場合、前記背景ベクトルに従った動き、及び画像の相関が連続している回数を表す背景カウント値をインクリメントし、前記注目画素を含む前記小ブロックの前記背景ベクトルが、前記注目画素の位置から前記背景ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記背景ベクトル及び前記物体ベクトルのいずれにも類似しないか、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がないか、又は、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がない場合、前記背景カウント値をリセットし、前記注目画素を含む前記小ブロックの前記物体ベクトルが、前記注目画素の位置から前記物体ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記物体ベクトル又は前記背景ベクトルに類似し、かつ、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がある場合、及び、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がある場合、前記物体ベクトルに従った動き、及び画像の相関が連続している回数を表す物体カウント値をインクリメントし、前記注目画素を含む前記小ブロックの前記物体ベクトルが、前記注目画素の位置から前記物体ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記物体ベクトル及び前記背景ベクトルのいずれにも類似しないか、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がないか、又は、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がない場合、前記物体カウント値をリセットし、前記背景カウント値と前記物体カウント値との大小関係に基づいて、前記背景ベクトル、又は前記物体ベクトルを、前記順方向ベクトルとして求めるとともに、前記逆方向ベクトルとして求める画像処理装置、又は、画像処理装置として、コンピュータを機能させるためのプログラムである。
本発明の一側面の画像処理方法は、補間の対象の入力画像のフレームどうしの間に補間する補間フレームの過去側の前記入力画像のフレームである過去側フレームと、前記補間フレームの未来側の前記入力画像のフレームである未来側フレームとを、前記入力画像から選択し、前記過去側フレーム、及び前記未来側フレームを用いたブロックマッチングによって、前記補間フレームをブロック分割して得られる小ブロックごとに、複数種類の動きベクトルを検出する動きベクトル検出ステップと、前記複数種類の動きベクトルそれぞれの統計量を求める統計処理によって、前記入力画像に写る背景の動きを表す背景ベクトルと、前記入力画像に写る、前記背景以外の物体の動きを表す物体ベクトルとを、前記小ブロックの動きを表す動きベクトルの候補として、前記小ブロックごとに求める候補ベクトル算出ステップと、前記小ブロックごとの前記背景ベクトル、及び前記物体ベクトルを用い、前記過去側フレームから前記未来側フレームの方向に見た、前記補間フレームの画素の動きを表す順方向ベクトルと、前記未来側フレームから前記過去側フレームの方向に見た、前記補間フレームの画素の動きを表す逆方向ベクトルとを、前記補間フレームの画素ごとに求める画素単位動き推定ステップと、前記補間フレームの画素である補間画素について、前記補間画素を含む前記小ブロックの前記背景ベクトルに平行で、前記補間画素を通る直線上の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと、前記補間画素を含む前記小ブロックの前記物体ベクトルに平行で、前記補間画素を通る直線上の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと、前記補間画素の位置の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルとの中の少なくとも1つ以上と、前記背景ベクトル、前記物体ベクトル、又は0ベクトルとが類似しているかどうかによって、前記背景ベクトル、前記物体ベクトル、又は前記0ベクトルを、前記補間画素の動きベクトルに判定する動き判定を行う補間画素動き判定ステップと、前記補間画素の動きベクトルに従い、前記過去側フレーム、及び前記未来側フレームのうちの少なくとも一方の動き補償を行い、前記動き補償によって得られる動き補償画像を用いて、前記補間フレームを生成する補間画像生成ステップとを含み、前記画素単位動き推定ステップでは、前記補間フレームの中の、注目する注目フレームを構成する画素のうちの、注目する注目画素について、前記注目画素を含む前記小ブロックの前記背景ベクトルが、前記注目画素の位置から前記背景ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの画素である前フレーム画素の前記背景ベクトル又は前記物体ベクトルに類似し、かつ、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がある場合、及び、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がある場合、前記背景ベクトルに従った動き、及び画像の相関が連続している回数を表す背景カウント値をインクリメントし、前記注目画素を含む前記小ブロックの前記背景ベクトルが、前記注目画素の位置から前記背景ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記背景ベクトル及び前記物体ベクトルのいずれにも類似しないか、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がないか、又は、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がない場合、前記背景カウント値をリセットし、前記注目画素を含む前記小ブロックの前記物体ベクトルが、前記注目画素の位置から前記物体ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記物体ベクトル又は前記背景ベクトルに類似し、かつ、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がある場合、及び、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がある場合、前記物体ベクトルに従った動き、及び画像の相関が連続している回数を表す物体カウント値をインクリメントし、前記注目画素を含む前記小ブロックの前記物体ベクトルが、前記注目画素の位置から前記物体ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記物体ベクトル及び前記背景ベクトルのいずれにも類似しないか、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がないか、又は、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がない場合、前記物体カウント値をリセットし、前記背景カウント値と前記物体カウント値との大小関係に基づいて、前記背景ベクトル、又は前記物体ベクトルを、前記順方向ベクトルとして求めるとともに、前記逆方向ベクトルとして求める画像処理方法である。
本発明の一側面においては、補間の対象の入力画像のフレームどうしの間に補間する補間フレームの過去側の前記入力画像のフレームである過去側フレームと、前記補間フレームの未来側の前記入力画像のフレームである未来側フレームとが、前記入力画像から選択され、前記過去側フレーム、及び前記未来側フレームを用いたブロックマッチングによって、前記補間フレームをブロック分割して得られる小ブロックごとに、複数種類の動きベクトルが検出される。さらに、前記複数種類の動きベクトルそれぞれの統計量を求める統計処理によって、前記入力画像に写る背景の動きを表す背景ベクトルと、前記入力画像に写る、前記背景以外の物体の動きを表す物体ベクトルとが、前記小ブロックの動きを表す動きベクトルの候補として、前記小ブロックごとに求められる。また、前記小ブロックごとの前記背景ベクトル、及び前記物体ベクトルを用い、前記過去側フレームから前記未来側フレームの方向に見た、前記補間フレームの画素の動きを表す順方向ベクトルと、前記未来側フレームから前記過去側フレームの方向に見た、前記補間フレームの画素の動きを表す逆方向ベクトルとが、前記補間フレームの画素ごとに求められる。さらに、前記補間フレームの画素である補間画素について、前記補間画素を含む前記小ブロックの前記背景ベクトルに平行で、前記補間画素を通る直線上の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと、前記補間画素を含む前記小ブロックの前記物体ベクトルに平行で、前記補間画素を通る直線上の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと、前記補間画素の位置の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルとの中の少なくとも1つ以上と、前記背景ベクトル、前記物体ベクトル、又は0ベクトルとが類似しているかどうかによって、前記背景ベクトル、前記物体ベクトル、又は前記0ベクトルが、前記補間画素の動きベクトルに判定される。また、前記補間画素の動きベクトルに従い、前記過去側フレーム、及び前記未来側フレームのうちの少なくとも一方の動き補償が行われ、前記動き補償によって得られる動き補償画像を用いて、前記補間フレームが生成される。
この場合において、前記補間フレームの中の、注目する注目フレームを構成する画素のうちの、注目する注目画素について、前記注目画素を含む前記小ブロックの前記背景ベクトルが、前記注目画素の位置から前記背景ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの画素である前フレーム画素の前記背景ベクトル又は前記物体ベクトルに類似し、かつ、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がある場合、及び、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がある場合には、前記背景ベクトルに従った動き、及び画像の相関が連続している回数を表す背景カウント値がインクリメントされる。
また、前記注目画素を含む前記小ブロックの前記背景ベクトルが、前記注目画素の位置から前記背景ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記背景ベクトル及び前記物体ベクトルのいずれにも類似しないか、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がないか、又は、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がない場合、前記背景カウント値がリセットされる。
さらに、前記注目画素を含む前記小ブロックの前記物体ベクトルが、前記注目画素の位置から前記物体ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記物体ベクトル又は前記背景ベクトルに類似し、かつ、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がある場合、及び、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がある場合には、前記物体ベクトルに従った動き、及び画像の相関が連続している回数を表す物体カウント値がインクリメントされる。
また、前記注目画素を含む前記小ブロックの前記物体ベクトルが、前記注目画素の位置から前記物体ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記物体ベクトル及び前記背景ベクトルのいずれにも類似しないか、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がないか、又は、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がない場合には、前記物体カウント値がリセットされる。
そして、前記背景カウント値と前記物体カウント値との大小関係に基づいて、前記背景ベクトル、又は前記物体ベクトルが、前記順方向ベクトルとして求められるとともに、前記逆方向ベクトルとして求められる。
なお、画像処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
本発明の一側面によれば、フレーム補間において、高画質の補間フレームを生成することができる。
入力画像のフレームに繰り返しパターンが存在する場合に、誤った動きベクトルが検出されることを説明する図である。 入力画像のフレームに繰り返しパターンが存在する場合に、誤った動きベクトルが検出されることを説明する図である。 連続する所定数のフレームで、同じ動き量が求められたラインを、テロップが写っているラインに判定する方法を適用した動きベクトルの検出の方法を説明する図である。 動きベクトルを誤検出する場合を説明する図である。 本発明を適用した画像処理装置の一実施の形態の構成例を示すブロック図である。 入力画像と出力画像とを示す図である。 画像処理装置が行う画像処理を説明するフローチャートである。 動きベクトル検出部11の構成例を示すブロック図である。 小ブロック評価値テーブル生成部22の処理を説明する図である。 大ブロックの例を示す図である。 過去側フレームの大ブロックのずらし量を表すベクトルvと、未来側フレームの大ブロックのずらし量を表すベクトル-vとを示す図である。 小ブロック順方向評価値テーブルを示す図である。 大ブロック双方向評価値テーブルの例を示す図である。 大ブロック双方向評価値テーブルの例を示す図である。 中ブロック双方向評価値テーブルの例を示す図である。 中ブロック双方向評価値テーブルの例を示す図である。 動きベクトル検出部11が行う動きベクトル検出処理を説明するフローチャートである。 候補ベクトル算出部12の構成例を示すブロック図である。 全画面ヒストグラムの例を示す図である。 全画面ヒストグラムの例を示す図である。 水平射影ヒストグラムの例を示す図である。 水平射影ヒストグラムの例を示す図である。 垂直射影ヒストグラムの例を示す図である。 垂直射影ヒストグラムの例を示す図である。 背景ベクトル第2候補算出部55が背景ベクトル第2候補を求める処理を説明する図である。 候補ベクトル算出部12が行う候補ベクトル算出処理を説明するフローチャートである。 候補ベクトル算出部12が行う候補ベクトル算出処理を説明するフローチャートである。 候補ベクトル算出部12が行う候補ベクトル算出処理を説明するフローチャートである。 画素単位動き推定部13の構成例を示すブロック図である。 画素どうしの相関の有無の判定に用いる評価値テーブルを生成するブロックマッチングを説明する図である。 画素単位動き推定部13が行う画素単位動き推定処理を説明する図である。 画素単位動き推定部13が行う画素単位動き推定処理を説明する図である。 画素単位動き推定部13が行う画素単位動き推定処理を説明する図である。 画素単位動き推定部13が行う画素単位動き推定処理を説明する図である。 画素単位動き推定部13が行う画素単位動き推定処理を説明する図である。 画素単位動き推定部13が行う画素単位動き推定処理を説明する図である。 画素単位動き推定部13が行う画素単位動き推定処理を説明する図である。 画素単位動き推定部13が行う画素単位動き推定処理を説明する図である。 回数カウント値、及び、背景カウント値の変化の例を示す図である。 物体カウント値、及び、物体回数カウント値の変化の例を示す図である。 背景カウント値、回数カウント値、物体カウント値、及び、物体回数カウント値がリセットされる場合を説明する図である。 繰り返しパターンのテクスチャを有する物体が移動している様子が写った入力画像の例を示す図である。 繰り返しパターンのテクスチャを有する領域が大きい領域になっている入力画像の例を示す図である。 入力画像の他の例を示す図である。 入力画像の、さらに他の例を示す図である。 補間画素動き判定部14が行う補間画素動き判定処理を説明する図である。 補間画素動き判定処理を説明するフローチャートである。 動き判定とC/UC判定の判定処理を説明するフローチャートである。 判定処理を説明するフローチャートである。 判定処理を説明するフローチャートである。 注目画素Pが、ベクトルv2に対するv1のアンカバード画素となる場合を説明する図である。 注目画素Pが、ベクトルv2に対するv1のカバード画素となる場合を説明する図である。 補間画像生成部15の構成例を示すブロック図である。 補間画像生成部15の補間画像生成処理の概要を説明する図である。 補間画像生成処理を説明するフローチャートである。 バイキュービック補間を説明する図である。 補間画像生成部15の他の構成例を示すブロック図である。 予測タップ、及び、クラスタップのタップ構造を説明する図である。 クラス分類適応処理を利用した補間画像生成処理を説明するフローチャートである。 タップ係数を学習する学習装置の構成例を示すブロック図である。 教師データと生徒データの例を示す図である。 学習部236の構成例を示すブロック図である。 学習装置の学習処理を説明するフローチャートである。 本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
[本発明を適用した画像処理装置の一実施の形態の全体構成例]
図5は、本発明を適用した画像処理装置の一実施の形態の構成例を示すブロック図である。
図5において、画像処理装置には、補間の対象の入力画像(動画像)が供給される。画像処理装置は、入力画像のフレームどうしの間に補間する補間フレームを生成し、その補間フレームを、入力画像のフレームどうしの間に補間することで、フレームレートが入力画像のフレームレートよりも高い高フレームレートの画像である出力画像を得て出力する。
すなわち、図5において、画像処理装置は、動きベクトル検出部11、候補ベクトル算出部12、画素単位動き推定部13、補間画素動き判定部14、補間画像生成部15、及び、出力画像出力部16から構成される。
動きベクトル検出部11には、補間の対象の入力画像が、外部から供給される。
動きベクトル検出部11は、外部からの入力画像のフレームどうしの間に補間する補間フレームの過去側の入力画像のフレームである過去側フレームと、補間フレームの未来側の入力画像のフレームである未来側フレームとを、入力画像から選択する。
さらに、動きベクトル検出部11は、過去側フレーム、及び未来側フレームを用いたブロックマッチングによって、補間フレームをブロック分割して得られる小ブロックごとに、複数種類の動きベクトルを検出し、候補ベクトル算出部12に供給する。
ここで、図5では、動きベクトル検出部11は、複数種類の動きベクトルとして、大ブロック双方向ベクトルmvL、中ブロック双方向ベクトルmvM、中ブロック順方向ベクトルmvF、及び、中ブロック逆方向ベクトルmvBの4種類のベクトルを検出する。
大ブロック双方向ベクトルmvL、中ブロック双方向ベクトルmvM、中ブロック順方向ベクトルmvF、及び、中ブロック逆方向ベクトルmvBについては、後述する。
候補ベクトル算出部12は、動きベクトル検出部11からの複数種類の動きベクトルそれぞれの統計量を求める統計処理を行う。そして、候補ベクトル算出部12は、この統計処理によって、入力画像に写る背景の動きを表す背景ベクトルv1と、入力画像に写る、背景以外の物体の動きを表す物体ベクトルv2とを、小ブロックの動きを表す動きベクトルの候補として、小ブロックごとに求める。
ここで、候補ベクトル算出部12は、小ブロックに、背景だけが写っている場合、及び、物体だけ写っている場合の他、背景と物体の両方が写っている場合を考慮して、補間フレームの各小ブロックについて、背景ベクトルv1と物体ベクトルv2との両方を求める。
また、候補ベクトル算出部12では、小ブロックごとの背景ベクトルv1、及び物体ベクトルv2の他、(1フレームの)補間フレームごとに、シーンチェンジ判定信号を求めるとともに、小ブロックごとに、順方向動き判定情報、及び、逆方向動き判定情報を求める。
シーンチェンジ判定信号、並びに、順方向動き判定情報、及び、逆方向動き判定情報については、後述する。
候補ベクトル算出部12で求められる小ブロックごとの背景ベクトルv1、及び物体ベクトルv2は、画素単位動き推定部13、補間画素動き判定部14、及び、補間画像生成部15に供給される。
また、候補ベクトル算出部12で求められる補間フレームごとのシーンチェンジ判定信号と、小ブロックごとの順方向動き判定情報、及び、逆方向動き判定情報とは、画素単位動き推定部13に供給される。
画素単位動き推定部13には、候補ベクトル算出部12から、小ブロックごとの背景ベクトルv1、及び物体ベクトルv2、補間フレームごとのシーンチェンジ判定信号、並びに、小ブロックごとの順方向動き判定情報、及び、逆方向動き判定情報が供給される他、外部からの入力画像が供給される。
画素単位動き推定部13は、候補ベクトル算出部12からの小ブロックごとの背景ベクトルv1、及び物体ベクトルv2等を用い、過去側フレームから未来側フレームの方向に見た、補間フレームの画素の動きを表す順方向ベクトルを、補間フレームの画素ごとに求める。
さらに、画素単位動き推定部13は、小ブロックごとの背景ベクトルv1、及び物体ベクトルv2等を用い、未来側フレームから過去側フレームの方向に見た、補間フレームの画素の動きを表す逆方向ベクトルを、補間フレームの画素ごとに求める。
そして、画素単位動き推定部13は、補間フレームの画素(以下、補間画素ともいう)ごとの順方向ベクトルと逆方向ベクトルを、補間画素動き判定部14に供給する。
補間画素動き判定部14は、画素単位動き推定部13からの順方向ベクトルや逆方向ベクトルと、候補ベクトル算出部12からの背景ベクトルv1や物体ベクトルv2、あるいは0ベクトルとが類似しているかどうかによって、背景ベクトルv1、物体ベクトルv2、又は0ベクトルを、補間画素の動きベクトルに判定する動き判定を行う。
さらに、補間画素動き判定部14は、画素単位動き推定部13からの順方向ベクトルや逆方向ベクトルと、候補ベクトル算出部12からの背景ベクトルv1や物体ベクトルv2、あるいは0ベクトルとが類似しているかどうかによって、補間画素が、カバードバックグラウンド領域の画素、アンカバードバックグラウンド領域の画素、又は、カバードバックグラウンド領域、及び、アンカバードバックグラウンド領域のいずれの領域でもない領域の画素のうちのいずれであるかを判定するC/UC判定を行う。
そして、補間画素動き判定部14は、動き判定の判定結果を表す動き情報と、C/UC判定の判定結果を表すC/UC情報とを、補間画像生成部15に供給する。
ここで、0ベクトルとは、x成分とy成分とが、いずれも0のベクトルであり、動きがない(静止している)ことを表す。
補間画像生成部15には、候補ベクトル算出部12からの背景ベクトルv1、及び物体ベクトルv2、並びに、補間画素動き判定部14からの動き情報、及びC/UC情報が供給される他、外部からの入力画像が供給される。
補間画像生成部15は、候補ベクトル算出部12からの背景ベクトルv1、若しくは物体ベクトルv2、又は0ベクトルのうちの、補間画素動き判定部14からの動き情報が表す、補間画素の動きベクトルに従い、外部からの入力画像における過去側フレーム、及び未来側フレームのうちの少なくとも一方の動き補償を行う。
さらに、補間画像生成部15は、動き補償によって得られる動き補償画像を用い、補間画素動き判定部14からのC/UC情報を考慮して、補間画素(の画素値)、ひいては、その補間画素で構成される補間フレームを生成し、出力画像出力部16に供給する。
出力画像出力部16には、補間画像生成部15からの補間フレームが供給される他、外部からの入力画像が供給される。
出力画像出力部16は、外部からの入力画像のフレームどうしの間(過去側フレームと未来側フレームとの間)に、補間画像生成部15からの補間フレームを補間することで、高フレームレートの出力画像を生成して出力する。
図6は、入力画像と出力画像の例を示している。
図6において、実線は、入力画像のフレームを表しており、点線は、補間フレームを表している。
入力画像は、例えば、フレームレートが60Hzのプログレッシブ(ノンインターレース)の画像であり、図5の画像処理装置では、その入力画像の隣接するフレームどうしの間を3等分に区切る境界の時間的な位置に補間する2つの補間フレームを生成する。
そして、図5の画像処理装置は、入力画像の隣接するフレームどうしの間に、2つの補間フレームを補間(内挿)することで、フレームレートが180Hzのプログレッシブの画像を、出力画像として生成する。
なお、入力画像は、フレームレートが60Hzのプログレッシブの画像に限定されるものではない。
また、入力画像の隣接するフレームどうしの間に補間する補間フレームの数は、2つに限定されるものではない。すなわち、図5の画像処理装置では、入力画像の隣接するフレームどうしの間を2等分に区切る境界の時間的な位置に補間する1つの補間フレームを生成することができる。その他、図5の画像処理装置では、入力画像の隣接するフレームどうしの間に補間する3以上の補間フレームを生成することができる。
なお、本明細書等において、フレームとは、フィールドを含むこととする。
ここで、入力画像のフレームの第n-1フレームと第nフレームとの間に補間する2つの補間フレームのうちのいずれか一方に注目すると、その注目する補間フレーム(以下、注目フレームともいう)については、第n-1フレームが過去側フレームとなり、第nフレームが未来側フレームとなる。
[画像処理装置の処理の説明]
図7は、図5の画像処理装置が行う処理(画像処理)を説明するフローチャートである。
図5の画像処理装置においては、外部からの入力画像が、動きベクトル検出部11、画素単位動き推定部13、補間画像生成部15、及び、出力画像出力部16に供給される。
画像処理装置は、ステップS11において、まだ生成していない補間画像のフレーム(補間フレーム)のうちの、時間的に最も先行する補間フレームを、注目フレームに選択し(これから生成する補間フレームを想定し)、処理は、ステップS12に進む。
ステップS12では、動きベクトル検出部11は、外部からの入力画像のフレームから、注目フレームの過去側の、例えば、第n-1フレームを、過去側フレームとして選択する。さらに、動きベクトル検出部11は、外部からの入力画像のフレームから、注目フレームの未来側の、例えば、第nフレームを、未来側フレームとして選択する。
そして、ステップS12では、動きベクトル検出部11は、過去側フレーム、及び未来側フレームを用いたブロックマッチングによって、補間フレームをブロック分割して得られる小ブロックごとに、複数種類の動きベクトルを検出する。動きベクトル検出部11は、注目フレームの小ブロックごとにの複数種類の動きベクトルを、候補ベクトル算出部12に供給し、処理は、ステップS12からステップS13に進む。
ステップS13では、候補ベクトル算出部12は、動きベクトル検出部11からの複数種類の動きベクトルそれぞれの統計量を求める統計処理を行う。候補ベクトル算出部12は、統計処理によって、入力画像に写る背景の動きを表す背景ベクトルv1と、入力画像に写る、背景以外の物体の動きを表す物体ベクトルv2とを、小ブロックごとに求め、画素単位動き推定部13、補間画素動き判定部14、及び、補間画像生成部15に供給する。
さらに、ステップS13では、候補ベクトル算出部12は、統計処理によって、注目フレームについて、過去側フレームと未来側フレームとの間で、シーンチェンジが生じているかどうかを判定し、その判定結果を表すシーンチェンジ判定信号を、画素単位動き推定部13に供給する。
また、ステップS13では、候補ベクトル算出部12は、統計処理によって、小ブロックごとに、後述する順方向動き判定情報、及び、逆方向動き判定情報を求め、画素単位動き推定部13に供給して、処理は、ステップS14に進む。
ステップS14では、画素単位動き推定部13は、候補ベクトル算出部12からの小ブロックごとの背景ベクトルv1、及び物体ベクトルv2、小ブロックごとの順方向動き判定情報、及び、逆方向動き判定情報、並びに、注目フレームについてのシーンチェンジ判定信号を用い、過去側フレームから未来側フレームの方向に見た、補間フレームの画素の動きを表す順方向ベクトルと、未来側フレームから過去側フレームの方向に見た、補間フレームの画素の動きを表す逆方向ベクトルとを、注目フレームの画素(補間画素)ごとに求める。
そして、画素単位動き推定部13は、注目フレームの補間画素ごとの順方向ベクトルと逆方向ベクトルを、補間画素動き判定部14に供給して、処理は、ステップS14からステップS15に進む。
ステップS15では、補間画素動き判定部14は、画素単位動き推定部13からの順方向ベクトルや逆方向ベクトルと、候補ベクトル算出部12からの背景ベクトルv1や物体ベクトルv2、あるいは0ベクトルとが類似しているかどうかによって、動き判定と、C/UC判定とを行う。
そして、補間画素動き判定部14は、動き判定の判定結果を表す動き情報と、C/UC判定の判定結果を表すC/UC情報とを、補間画像生成部15に供給して、処理は、ステップS16に進む。
ステップS16では、補間画像生成部15は、候補ベクトル算出部12からの背景ベクトルv1、及び物体ベクトルv2、並びに、補間画素動き判定部14からの動き情報、及びC/UC情報に基づき、外部からの入力画像を用いて、注目フレームの各補間画素(の画素値)を生成することで、注目フレームを生成する。
ここで、補間画像生成部15で生成された注目フレームは、出力画像出力部16に供給される。出力画像出力部16では、補間画像生成部15からの注目フレームが、外部からの入力画像の過去側フレームと未来側フレームとの間の適切な、時間的な位置(時間的位置)に補間され、出力画像(の一部)として出力される。
その後、処理は、ステップS16からステップS17に進み、図5の画像処理装置は、まだ、生成すべき補間フレームがあるかどうかを判定する。
ステップS17において、まだ、生成すべき補間フレームがあると判定された場合、すなわち、図5の画像処理装置に供給される入力画像の隣接するフレームどうしの間のすべてに、まだ、補間フレームが生成されていない場合、処理は、ステップS11に戻り、以下、同様の処理が繰り返される。
また、ステップS17において、生成すべき補間フレームがないと判定された場合、処理は終了する。
[動きベクトル検出部11の構成例]
図8は、図5の動きベクトル検出部11の構成例を示している。
図8において、動きベクトル検出部11は、過去側フレーム、及び未来側フレームを用いたブロックマッチングによって、注目フレームの小ブロックごとに、複数種類の動きベクトルとしての大ブロック双方向ベクトルmvL、中ブロック双方向ベクトルmvM、中ブロック順方向ベクトルmvF、及び、中ブロック逆方向ベクトルmvBの4種類のベクトルを検出する。
すなわち、図8において、動きベクトル検出部11は、メモリ21、小ブロック評価値テーブル生成部22、小ブロック評価値テーブル記憶部23、大ブロック双方向評価値テーブル生成部24、大ブロック双方向ベクトル検出部25、中ブロック双方向評価値テーブル生成部26、中ブロック双方向ベクトル検出部27、中ブロック順方向評価値テーブル生成部28、中ブロック順方向ベクトル検出部29、中ブロック逆方向評価値テーブル生成部30、及び、中ブロック逆方向ベクトル検出部31から構成される。
メモリ21には、外部からの入力画像が供給される。メモリ21は、外部からの入力画像の過去側フレームと未来側フレームとを一時記憶する。
小ブロック評価値テーブル生成部22は、注目フレームの小ブロックについて、メモリ21に記憶された過去側フレーム、又は未来側フレームの一方のフレームの小ブロックを、他方のフレームに設定されるサーチエリア内を移動させ、小ブロックと、サーチエリアの各位置における、小ブロックと同一のサイズの領域との画像の一致の度合いを表す評価値(例えば、前述した画素値の絶対値差分の総和等)を求め、評価値のテーブルである評価値テーブルを生成する、小ブロックのブロックマッチングを行う。
すなわち、小ブロックが、注目フレームを、例えば、横×縦が8×8画素にブロック分割することで得られるブロックであるとする。
小ブロック評価値テーブル生成部22は、メモリ21に記憶された過去側フレーム、及び、未来側フレームのうちの、例えば、過去側フレームを、一方のフレームとして、過去側フレームを、注目フレームと同様に、小ブロックにブロック分割する。
さらに、小ブロック評価値テーブル生成部22は、過去側フレームの小ブロックについて、他方のフレームとしての未来側フレームにサーチエリアを設定する。
すなわち、小ブロック評価値テーブル生成部22は、過去側フレームの小ブロックについて、小ブロックの位置から、小ブロックよりも、x方向(横方向)(水平方向)に、例えば、±31画素だけ大きく、かつ、y方向(縦方向)(垂直方向)に、例えば、±16画素だけ大きい、未来側フレームの領域を、サーチエリアに設定する。
そして、小ブロック評価値テーブル生成部22は、過去側フレームの小ブロックを、未来側フレームのサーチエリア内を移動させ、小ブロックと、サーチエリアの各位置(x,y)(x=-31,-30,・・・+30,+31)(y=-16,-15,・・・+15,+16)における、小ブロックと同一のサイズの領域(サーチエリア内の領域)との画像の一致の度合いを表す評価値(例えば、前述した画素値の絶対値差分の総和等)を求めて、評価値のテーブルである評価値テーブルを生成する、
同様に、小ブロック評価値テーブル生成部22は、メモリ21に記憶された過去側フレーム、及び、未来側フレームのうちの、例えば、未来側フレームを、一方のフレームとして、評価値テーブルを求める。
すなわち、小ブロック評価値テーブル生成部22は、メモリ21に記憶された未来側フレームを、注目フレームと同様に、小ブロックにブロック分割し、また、メモリ21に記憶された過去側フレームにサーチエリアを設定する。
そして、小ブロック評価値テーブル生成部22は、未来側フレームの小ブロックを、過去側フレームのサーチエリア内を移動させ、小ブロックと、サーチエリアの各位置(x,y)における、小ブロックと同一のサイズの領域との画像の一致の度合いを表す評価値を求めて、評価値テーブルを生成する、
ここで、過去側フレームの小ブロックに対して得られる評価値テーブルを、小ブロック順方向評価値テーブルともいい、未来側フレームの小ブロックに対して得られる評価値テーブルを、小ブロック逆方向評価値テーブルともいう。また、小ブロック順方向評価値テーブルと小ブロック逆方向評価値テーブルの一方、及び両方を、単に、小ブロック評価値テーブルともいう。
なお、小ブロック評価値テーブル生成部22では、注目フレームの小ブロックに、順次注目し、注目する小ブロック(以下、注目ブロックともいう)について、注目ブロックと同一の位置の、過去側フレームの小ブロックのブロックマッチングと、未来側フレームの小ブロックのブロックマッチングとを行うことにより、それぞれ、小ブロック順方向評価値テーブルと小ブロック逆方向評価値テーブルとを求める。
小ブロック評価値テーブル生成部22は、過去側フレームのすべての小ブロックに対して、小ブロック順方向評価値テーブルを求めるとともに、未来側フレームのすべての小ブロックに対して、小ブロック逆方向評価値テーブルを求めると、その小ブロック順方向評価値テーブルと小ブロック逆方向評価値テーブルを、小ブロック評価値テーブル記憶部23に供給する。
小ブロック評価値テーブル記憶部23は、小ブロック評価値テーブル生成部22からの小ブロック評価値(小ブロック順方向評価値テーブルと小ブロック逆方向評価値テーブル)を一時記憶する。
大ブロック双方向評価値テーブル生成部24は、注目フレームの注目ブロックである小ブロックについて、小ブロック評価値テーブル記憶部23に記憶された小ブロック評価値テーブルの評価値の加算と減算とを行うことにより、後述する中ブロックを構成する小ブロックの数よりも多い数の小ブロックから構成される、過去側フレームの大ブロックのブロックマッチングの結果得られる評価値テーブルと、未来側フレームの大ブロックのブロックマッチングの結果得られる評価値テーブルとを合成した大ブロック双方向評価値テーブルを生成する。
そして、大ブロック双方向評価値テーブル生成部24は、注目ブロックについての大ブロック双方向評価値テーブルを、大ブロック双方向ベクトル検出部25に供給する。
ここで、大ブロックは、例えば、横×縦が17×17個の小ブロックで構成される。
また、評価値の加算と減算とを行うことによる、評価値テーブルどうしを合成した大ブロック双方向評価値テーブルの生成については、後述する。
大ブロック双方向ベクトル検出部25は、大ブロック双方向評価値テーブル生成部24からの大ブロック双方向評価値テーブルにおいて、画像の一致の度合いが最も良いことを表す評価値、すなわち、ここでは、最小の評価値が得られるときの、サーチエリア内の大ブロックの位置を表すベクトルを、複数種類(ここでは、上述したように、4種類)の動きベクトルのうちの第1の種類の大ブロック双方向ベクトルmvLとして検出する。
そして、大ブロック双方向ベクトル検出部25は、大ブロック双方向ベクトルmvLを、中ブロック双方向ベクトル検出部27、中ブロック順方向ベクトル検出部29、及び、中ブロック逆方向ベクトル検出部31に供給するとともに、候補ベクトル算出部12(図5)に供給する。
中ブロック双方向評価値テーブル生成部26は、注目フレームの注目ブロックについて、小ブロック評価値テーブル記憶部23に記憶された小ブロック評価値テーブルの評価値の加算と減算とを行うことにより、複数の小ブロックから構成される、過去側フレームの中ブロックのブロックマッチングの結果得られる評価値テーブルと、未来側フレームの中ブロックのブロックマッチングの結果得られる評価値テーブルとを合成した中ブロック双方向評価値テーブルを生成する。
そして、中ブロック双方向評価値テーブル生成部26は、注目ブロックについての中ブロック双方向評価値テーブルを、中ブロック双方向ベクトル検出部27に供給する。
ここで、中ブロックは、例えば、横×縦が5×5個の小ブロックで構成される。
中ブロック双方向ベクトル検出部27は、中ブロック双方向評価値テーブル生成部26からの中ブロック双方向評価値テーブルにおいて、最小の評価値が得られるときの、サーチエリア内の中ブロックの位置を表すベクトルを、中ブロックの動きベクトルとして検出する。
また、中ブロック双方向ベクトル検出部27は、中ブロック双方向評価値テーブル生成部26からの中ブロック双方向評価値テーブルの評価値の分布に基づいて、中ブロックの中ブロック双方向評価値テーブルから検出される動きベクトルが信頼できるかどうかを判定する。
そして、中ブロック双方向ベクトル検出部27は、中ブロック双方向評価値テーブルから検出される動きベクトルが信頼できると判定した場合、その動きベクトルを、複数種類の動きベクトルのうちの第2の種類の中ブロック双方向ベクトルmvMとして採用し、候補ベクトル算出部12(図5)に供給する。
一方、中ブロック双方向ベクトル検出部27は、中ブロック双方向評価値テーブルから検出される動きベクトルが信頼できないと判定した場合、大ブロック双方向ベクトル検出部25からの大ブロック双方向ベクトルmvLを、中ブロック双方向ベクトルmvMとして採用し、候補ベクトル算出部12(図5)に供給する。
中ブロック順方向評価値テーブル生成部28は、注目フレームの注目ブロックについて、小ブロック評価値テーブル記憶部23に記憶された小ブロック評価値テーブルの評価値の加算と減算とを行うことにより、過去側フレームの中ブロックのブロックマッチングの結果得られる評価値テーブルである中ブロック順方向評価値テーブルを生成する。
そして、中ブロック順方向評価値テーブル生成部28は、注目ブロックについての中ブロック順方向評価値テーブルを、中ブロック順方向ベクトル検出部29に供給する。
中ブロック順方向ベクトル検出部29は、中ブロック順方向評価値テーブル生成部28からの中ブロック順方向評価値テーブルにおいて、最小の評価値が得られるときの、サーチエリア内の中ブロックの位置を表すベクトルを、中ブロックの動きベクトルとして検出する。
また、中ブロック順方向ベクトル検出部29は、中ブロック順方向評価値テーブル生成部28からの中ブロック順方向評価値テーブルの評価値の分布に基づいて、中ブロックの中ブロック順方向評価値テーブルから検出される動きベクトルが信頼できるかどうかを判定する。
そして、中ブロック順方向ベクトル検出部29は、中ブロック順方向評価値テーブルから検出される動きベクトルが信頼できると判定した場合、その動きベクトルを、複数種類の動きベクトルのうちの第3の種類の中ブロック順方向ベクトルmvFとして採用し、候補ベクトル算出部12(図5)に供給する。
一方、中ブロック順方向ベクトル検出部29は、中ブロック順方向評価値テーブルから検出される動きベクトルが信頼できないと判定した場合、大ブロック双方向ベクトル検出部25からの大ブロック双方向ベクトルmvLを、中ブロック順方向ベクトルmvFとして採用し、候補ベクトル算出部12(図5)に供給する。
中ブロック逆方向評価値テーブル生成部30は、注目フレームの注目ブロックについて、小ブロック評価値テーブル記憶部23に記憶された小ブロック評価値テーブルの評価値の加算と減算とを行うことにより、未来側フレームの中ブロックのブロックマッチングの結果得られる評価値テーブルである中ブロック逆方向評価値テーブルを生成する。
そして、中ブロック逆方向評価値テーブル生成部30は、注目ブロックについての中ブロック逆方向評価値テーブルを、中ブロック逆方向ベクトル検出部31に供給する。
中ブロック逆方向ベクトル検出部31は、中ブロック逆方向評価値テーブル生成部30からの中ブロック逆方向評価値テーブルにおいて、最小の評価値が得られるときの、サーチエリア内の中ブロックの位置を表すベクトルを、中ブロックの動きベクトルとして検出する。
また、中ブロック逆方向ベクトル検出部31は、中ブロック逆方向評価値テーブル生成部30からの中ブロック逆方向評価値テーブルの評価値の分布に基づいて、中ブロックの中ブロック逆方向評価値テーブルから検出される動きベクトルが信頼できるかどうかを判定する。
そして、中ブロック逆方向ベクトル検出部31は、中ブロック逆方向評価値テーブルから検出される動きベクトルが信頼できると判定した場合、その動きベクトルを、複数種類の動きベクトルのうちの第4の種類の中ブロック逆方向ベクトルmvBとして採用し、候補ベクトル算出部12(図5)に供給する。
一方、中ブロック逆方向ベクトル検出部31は、中ブロック逆方向評価値テーブルから検出される動きベクトルが信頼できないと判定した場合、大ブロック双方向ベクトル検出部25からの大ブロック双方向ベクトルmvLを、中ブロック逆方向ベクトルmvBとして採用し、候補ベクトル算出部12(図5)に供給する。
次に、図9を参照して、図8の小ブロック評価値テーブル生成部22の処理を説明する。
小ブロック評価値テーブル生成部22(図8)は、注目フレームの小ブロックを、順次、注目ブロックとし、注目ブロックについて、注目ブロックと同一の位置の、過去側フレーム(第n-1フレーム)の小ブロックのブロックマッチングと、未来側フレーム(第nフレーム)の小ブロックのブロックマッチングとを行うことにより、それぞれ、小ブロック順方向評価値テーブルと小ブロック逆方向評価値テーブルとを求める。
すなわち、いま、注目フレームの、ラスタスキャン順で、k番目の小ブロック#kが注目ブロックであるとする。
小ブロック評価値テーブル生成部22は、図9Aに示すように、注目ブロックと同一の位置の、過去側フレームの小ブロック#kに対し、未来側フレームにサーチエリアを設定する。
そして、小ブロック評価値テーブル生成部22は、過去側フレームの小ブロック#kを、未来側フレームのサーチエリア内でずらし、過去側フレームの小ブロック#kと、サーチエリアの各位置(x,y)、つまり、小ブロック#kの各ずらし量(x,y)に対する、小ブロック#kと同一のサイズの領域との画像の一致の度合いを表す評価値を求めて、その評価値のテーブルである小ブロック順方向評価値テーブルを生成する。
さらに、小ブロック評価値テーブル生成部22は、図9Bに示すように、注目ブロックと同一の位置の、未来側フレームの小ブロック#kに対し、過去側フレームにサーチエリアを設定する。
そして、小ブロック評価値テーブル生成部22は、未来側フレームの小ブロック#kを、過去側フレームのサーチエリア内でずらし、各ずらし量(x,y)に対する評価値を求めて、その評価値のテーブルである小ブロック逆方向評価値テーブルを生成する。
次に、図10ないし図12を参照して、図8の大ブロック双方向評価値テーブル生成部24の処理を説明する。
図10は、大ブロックの例を示している。
図8の大ブロック双方向評価値テーブル生成部24は、注目ブロックと同一の位置の、過去側フレームの小ブロック#kを中心とする17×17の小ブロックを、大ブロックとして、過去側フレームの大ブロックのブロックマッチングの結果得られる評価値テーブル(以下、大ブロック順方向評価値テーブルという)を、小ブロック評価値テーブル記憶部23に記憶された小ブロック評価値テーブルの評価値の加算と減算とによって、後述するように生成する。
さらに、大ブロック双方向評価値テーブル生成部24は、注目ブロックと同一の位置の、未来側フレームの小ブロック#kを中心とする17×17の小ブロックを、大ブロックとして、未来側フレームの大ブロックのブロックマッチングの結果得られる評価値テーブル(以下、大ブロック逆方向評価値テーブルという)を、小ブロック評価値テーブル記憶部23に記憶された小ブロック評価値テーブルの評価値の加算と減算とによって生成する。
そして、大ブロック双方向評価値テーブル生成部24は、注目ブロックについて得られる大ブロック順方向評価値テーブルの各評価値と、大ブロック逆方向評価値テーブルの、対応する評価値とを加算することで、大ブロック双方向評価値テーブルを生成する。
すなわち、補間フレームに平行なxy平面と、補間フレームに垂直な方向(時間方向)とで定義される3次元空間において、入力画像のフレーム周期をT[秒]として、注目ブロックについて得られる小ブロック順方向評価値テーブルの、あるずらし量(x,y)を表すベクトルvを、(x,y,T)と表すこととする。
この場合、大ブロック双方向評価値テーブル生成部24は、注目ブロックについて得られる大ブロック順方向評価値テーブルの、ずらし量(x,y)を表すベクトルv=(x,y,T)に対する評価値と、注目ブロックについて得られる大ブロック逆方向評価値テーブルの、ベクトル-v=(-x,-y,-T)で表されるずらし量に対する評価値とを加算することで、大ブロック双方向評価値テーブルを生成する。
ここで、図11は、ベクトルvと-vとを示している。
すなわち、図11は、大ブロック双方向評価値テーブルを生成するための加算の対象となる、大ブロック順方向評価値テーブルの評価値と、大ブロック逆方向評価値テーブルの評価値とのそれぞれに対する、過去側フレーム(第n-1フレーム)の大ブロックのずらし量を表すベクトルvと、未来側フレーム(第nフレーム)の大ブロックのずらし量を表すベクトル-vとを示している。
図8の中ブロック双方向評価値テーブル生成部26も、大ブロック双方向評価値テーブル生成部24と同様に、過去側フレームの小ブロック#kのブロックマッチングにより得られる中ブロック順方向評価値テーブルの各評価値と、未来側フレームの小ブロック#kのブロックマッチングにより得られる中ブロック逆方向評価値テーブルの、対応する評価値とを加算することで、中ブロック双方向評価値テーブルを生成する。
ここで、本明細書において、「順方向」とは、過去側フレームから未来側フレームに向かう方向を表し、「逆方向」とは、未来側フレームから過去側フレームに向かう方向を表す。
そして、本明細書において、2つのベクトルどうしが等しい(同一)とは、2つのベクトルの大きさ及び方向の両方が一致する場合の他、「順方向」のベクトルと、「逆方向」のベクトルとについては、大きさが一致し、方向が反対方向になっている場合を含む。
さらに、本明細書において、2つのベクトルどうしが類似するとは、2つのベクトルの大きさ及び方向の両方がほぼ一致する場合(例えば、差分絶対値が所定の閾値以内である場合)の他、「順方向」のベクトルと、「逆方向」のベクトルとについては、大きさがほぼ一致し、一方のベクトルの方向が他方のベクトルのほぼ反対方向になっている場合を含む。
次に、図12を参照して、図8の大ブロック双方向評価値テーブル生成部24が、小ブロック評価値テーブルの評価値の加算と減算とによって、大ブロック順方向評価値テーブルを生成する方法について説明する。
図12は、小ブロック評価値テーブル生成部22が生成する、過去側フレーム(第n-1フレーム)の小ブロック#kのブロックマッチングによって得られる小ブロック順方向評価値テーブルを示している。
図12の小ブロック順方向評価値テーブルでは、サーチエリアは、過去側フレームの小ブロック#kの位置から、その小ブロック#kよりも、x方向に±31画素だけ大きく、かつ、y方向に±16画素だけ大きい、未来側フレームの領域に設定されており、x=-31,-30,・・・+30,+31のx成分と、y=-16,-15,・・・+15,+16のy成分との組み合わせで表される63×33通りのずらし量(x,y)に対して、小ブロック#kの評価値VF(k)(x,y)が求められている。
いま、説明を簡単にするため、小ブロック#kについての過去側フレームの大ブロックが、過去側フレームの小ブロック#kと、その左右に隣接する小ブロック#k-1及び#k+1との3個の小ブロック#k-1,#k,#k+1で構成されることとする。
この場合、小ブロック#kについての大ブロックの、ずらし量(x,y)に対する評価値VF'(k)(x,y)は、式VF'(k)(x,y)=VF(k-1)(x,y)+VF(k)(x,y)+VF(k+1)(x,y)に従い、小ブロック#k-1の評価値VF(k-1)(x,y)、小ブロック#kの評価値VF(k)(x,y)、及び、小ブロック#k+1の評価値VF(k+1)(x,y)の加算によって求めることができる。
同様にして、小ブロック#kの右隣の小ブロック#k+1についての大ブロック、つまり、小ブロック#k,#k+1,#k+2で構成される大ブロックの、ずらし量(x,y)に対する評価値VF'(k+1)(x,y)は、式VF'(k+1)(x,y)=VF(k)(x,y)+VF(k+1)(x,y)+VF(k+2)(x,y)に従い、小ブロック#kの評価値VF(k)(x,y)、小ブロック#k+1の評価値VF(k+1)(x,y)、及び、小ブロック#k+2の評価値VF(k+2)(x,y)の加算によって求めることができる。
ここで、式VF'(k+1)(x,y)=VF(k)(x,y)+VF(k+1)(x,y)+VF(k+2)(x,y)は、小ブロック#kについての大ブロックの、ずらし量(x,y)に対する評価値VF'(k)(x,y)を用いて、次式で表される。
VF'(k+1)(x,y)=VF(k)(x,y)+VF(k+1)(x,y)+VF(k+2)(x,y)
=VF(k-1)(x,y)+VF(k)(x,y)+VF(k+1)(x,y)+VF(k+2)(x,y)-VF(k-1)(x,y)
=VF'(k)(x,y)+VF(k+2)(x,y)-VF(k-1)(x,y)
したがって、小ブロック#k+1についての大ブロックの、ずらし量(x,y)に対する評価値VF'(k+1)(x,y)は、小ブロック#kについての大ブロックの、ずらし量(x,y)に対する評価値VF'(k)(x,y)に対する、小ブロック#k+2の評価値VF(k+2)(x,y)の加算と、小ブロック#k-1の評価値VF(k-1)(x,y)の減算とによって求めることができる。
以上のようにして、大ブロック順方向評価値テーブルは、小ブロック評価値テーブルの評価値の加算と減算とを行うことによって生成することができる。
図8の大ブロック双方向評価値テーブル生成部24は、大ブロック順方向評価値テーブルと同様にして、大ブロック逆方向評価値テーブルも生成する。
そして、大ブロック双方向評価値テーブル生成部24は、図10及び図11で説明したように、大ブロック順方向評価値テーブルの各評価値と、大ブロック逆方向評価値テーブルの、対応する評価値とを加算することで、大ブロック双方向評価値テーブルを生成する。
図8の中ブロック双方向評価値テーブル生成部26も、大ブロック双方向評価値テーブル生成部24と同様にして、中ブロック順方向評価値テーブルと、中ブロック逆方向評価値テーブルとを生成し、その中ブロック順方向評価値テーブルと、中ブロック逆方向評価値テーブルとを用いて、中ブロック双方向評価値テーブルを生成する。
また、図8の中ブロック順方向評価値テーブル生成部28は、大ブロック双方向評価値テーブル生成部24が大ブロック順方向評価値テーブルを生成するのと同様にして、中ブロック順方向評価値テーブルを生成する。
さらに、図8の中ブロック逆方向評価値テーブル生成部30は、大ブロック双方向評価値テーブル生成部24が大ブロック逆方向評価値テーブルを生成するのと同様にして、中ブロック逆方向評価値テーブルを生成する。
以上のように、大ブロック双方向評価値テーブル、中ブロック双方向評価値テーブル、中ブロック順方向評価値テーブル、及び、中ブロック逆方向評価値テーブルが、小ブロック評価値テーブルの評価値の加算と減算とを行うことによって生成されるので、大ブロックや、中ブロックのブロックマッチングを実際に行って評価値を求める場合よりも、効率的に、少ない演算量で、大ブロック双方向評価値テーブル、中ブロック双方向評価値テーブル、中ブロック順方向評価値テーブル、及び、中ブロック逆方向評価値テーブルを生成することができる。
図13及び図14は、図8の大ブロック双方向評価値テーブル生成部24で得られる大ブロック双方向評価値テーブルの例を示している。
すなわち、図13Aは、過去側フレーム及び未来側フレームとなる入力画像の例を示しており、図13B、及び図14は、図13Aの入力画像から求められる大ブロック双方向評価値テーブルの例を示している。
なお、図13Bでは、2次元平面の2つの軸のうちの一方の軸を、ずらし量(x,y)のx成分を表す軸とするとともに、他方の軸を、ずらし量(x,y)のy成分を表す軸とし、かつ、その2次元平面に直交する軸を、評価値を表す軸として、グラフで、大ブロック双方向評価値テーブル(以下、グラフの大ブロック双方向評価値テーブルともいう)を示してある。
また、図14では、評価値を数値で表した大ブロック双方向評価値テーブル(以下、数値の大ブロック双方向評価値テーブルともいう)を示してある。
大ブロック双方向評価値テーブルは、上述したように、17×17個の小ブロックから構成される大ブロックに対して得られる。このような大きなサイズの大ブロックには、背景の広い範囲の様々なテクスチャが含まれる可能性が高く、そのため、グラフの大ブロック双方向評価値テーブルの評価値は、図13Bに示すように、背景動きを表すずらし量(x,y)付近だけで、値が窪んだような分布となる傾向が極めて強い。
したがって、大ブロック双方向評価値テーブルの評価値が最小となるずらし量(x,y)は、背景動きを表す。
図15及び図16は、図8の中ブロック双方向評価値テーブル生成部26で得られる中ブロック双方向評価値テーブルの例を示している。
なお、図15は、フラグの中ブロック双方向評価値テーブルを示しており、図16は、数値の中ブロック双方向評価値テーブルを示している。
中ブロック双方向評価値テーブルは、上述したように、5×5個の小ブロックから構成される中ブロックに対して得られる。このような中程度のサイズの中ブロックには、様々なテクスチャが含まれる可能性もあるが、繰り返しパターンのテクスチャだけが含まれる可能性が、大ブロックの場合よりも高い。
そして、中ブロックが、繰り返しパターンのテクスチャだけを含む場合や、中ブロックのほとんどの領域が、繰り返しパターンのテクスチャである場合には、グラフの中ブロック双方向評価値テーブルの評価値は、図15に示すように、複数のずらし量(x,y)において、値が窪んだような分布となる。
すなわち、中ブロックが、繰り返しパターンのテクスチャだけを含む場合や、中ブロックのほとんどの領域が、繰り返しパターンのテクスチャである場合には、中ブロック双方向評価値テーブルでは、複数のずらし量(x,y)において、最小の評価値とほぼ同様の評価値が得られ、その結果、グラフの中ブロック双方向評価値テーブルの評価値は、複数の窪み(くさび)が存在するような分布となる。
このように、中ブロック双方向評価値テーブルの複数のずらし量(x,y)において、最小の評価値とほぼ同様の評価値が得られる場合(最小の評価値との差分絶対値が、所定の閾値以内の評価値が存在する場合)には、最小の評価値に対するずらし量が表すベクトルが、中ブロック(に写っているテクスチャ)の動きを表している可能性は、高くはない。
すなわち、中ブロック双方向評価値テーブルの複数のずらし量(x,y)において、最小の評価値とほぼ同様の評価値が得られる場合に、その中ブロック双方向評価値テーブルから検出される動きベクトルは、信頼できない(信頼性が低い)。
そこで、図8の中ブロック双方向ベクトル検出部27は、中ブロック双方向評価値テーブルから検出される動きベクトルが信頼できるかどうかを判定し、信頼できる場合、すなわち、中ブロック双方向評価値テーブルの複数のずらし量(x,y)において、最小の評価値とほぼ同様の評価値が存在しない場合、中ブロック双方向評価値テーブルから検出される動きベクトルを、そのまま、中ブロック双方向ベクトルmvMに採用する。
一方、中ブロック双方向評価値テーブルから検出される動きベクトルが信頼できない場合、すなわち、中ブロック双方向評価値テーブルの複数のずらし量(x,y)において、最小の評価値とほぼ同様の評価値が存在する場合、中ブロック双方向ベクトル検出部27は、中ブロック双方向評価値テーブルから検出される動きベクトルに代えて、大ブロック双方向ベクトル検出部25から供給される大ブロック双方向ベクトルmvLを、中ブロック双方向ベクトルmvMとして採用する。
図8の中ブロック順方向ベクトル検出部29も同様に、中ブロック順方向評価値テーブルから検出される動きベクトルが信頼できるかどうかを判定し、信頼できる場合には、その動きベクトルを、そのまま、中ブロック順方向ベクトルmvFに採用する。
一方、中ブロック順方向評価値テーブルから検出される動きベクトルが信頼できない場合、中ブロック順方向ベクトル検出部29は、中ブロック順方向評価値テーブルから検出される動きベクトルに代えて、大ブロック双方向ベクトル検出部25から供給される大ブロック双方向ベクトルmvLを、中ブロック順方向ベクトルmvFとして採用する。
さらに、図8の中ブロック逆方向ベクトル検出部31も同様に、中ブロック逆方向評価値テーブルから検出される動きベクトルが信頼できるかどうかを判定し、信頼できる場合には、その動きベクトルを、そのまま、中ブロック逆方向ベクトルmvBに採用する。
一方、中ブロック逆方向評価値テーブルから検出される動きベクトルが信頼できない場合、中ブロック逆方向ベクトル検出部31は、中ブロック逆方向評価値テーブルから検出される動きベクトルに代えて、大ブロック双方向ベクトル検出部25から供給される大ブロック双方向ベクトルmvLを、中ブロック逆方向ベクトルmvBとして採用する。
なお、大ブロック双方向ベクトルmvLと、中ブロック双方向ベクトルmvMとは、「順方向」、及び「逆方向」のうちの、例えば、「順方向」のベクトルと同様に、過去側フレームから未来側フレームに向かう方向のベクトルであるとする。
また、中ブロック逆方向評価値テーブルから検出される動きベクトルが信頼できない場合、中ブロック逆方向ベクトル検出部31では、大ブロック双方向ベクトル検出部25から供給される大ブロック双方向ベクトルmvLの向きを反対方向に変更したベクトルを、中ブロック逆方向ベクトルmvBとして採用することとする。
[動きベクトル検出処理の説明]
図17は、図8の動きベクトル検出部11が、図7のステップS12で行う処理(動きベクトル検出処理)を説明するフローチャートである。
メモリ21は、外部からの入力画像の過去側フレームと未来側フレームが供給されるのを待って、ステップS21において、過去側フレームと未来側フレームを記憶し、処理は、ステップS22に進む。
ステップS22では、小ブロック評価値テーブル生成部22は、メモリ21に記憶された過去側フレーム、及び、未来側フレームのそれぞれを、小ブロックに分割する。さらに、小ブロック評価値テーブル生成部22は、過去側フレーム、又は未来側フレームの一方のフレームの小ブロックを、他方のフレームに設定されるサーチエリア内を移動させ、小ブロックと、サーチエリアの各位置(ずらし量)における、小ブロックと同一のサイズの領域との画像の一致の度合いを表す評価値を求めることで、小ブロック評価値テーブルを生成する。
小ブロック評価値テーブルは、小ブロック評価値テーブル生成部22から小ブロック評価値テーブル記憶部23に供給されて記憶される。
その後、処理は、ステップS22からステップS23に進み、大ブロック双方向評価値テーブル生成部24は、注目フレーム(補間フレーム)の小ブロックの中で、まだ、注目ブロックとしていない小ブロックの1つを、注目ブロックに選択して、処理は、ステップS24に進む。
ステップS24では、大ブロック双方向評価値テーブル生成部24は、注目フレームの注目ブロックである小ブロックについて、小ブロック評価値テーブル記憶部23に記憶された小ブロック評価値テーブルの評価値の加算と減算とを行うことにより、大ブロック双方向評価値テーブルを生成する。
そして、大ブロック双方向評価値テーブル生成部24は、注目ブロックについての大ブロック双方向評価値テーブルを、大ブロック双方向ベクトル検出部25に供給する。
また、ステップS24では、中ブロック双方向評価値テーブル生成部26が、注目フレームの注目ブロックについて、小ブロック評価値テーブル記憶部23に記憶された小ブロック評価値テーブルの評価値の加算と減算とを行うことにより、中ブロック双方向評価値テーブルを生成する。
そして、中ブロック双方向評価値テーブル生成部26は、注目ブロックについての中ブロック双方向評価値テーブルを、中ブロック双方向ベクトル検出部27に供給する。
さらに、ステップS24では、中ブロック順方向評価値テーブル生成部28が、注目フレームの注目ブロックについて、小ブロック評価値テーブル記憶部23に記憶された小ブロック評価値テーブルの評価値の加算と減算とを行うことにより、中ブロック順方向評価値テーブルを生成する。
そして、中ブロック順方向評価値テーブル生成部28は、注目ブロックについての中ブロック順方向評価値テーブルを、中ブロック順方向ベクトル検出部29に供給する。
また、ステップS24では、中ブロック逆方向評価値テーブル生成部30が、注目フレームの注目ブロックについて、小ブロック評価値テーブル記憶部23に記憶された小ブロック評価値テーブルの評価値の加算と減算とを行うことにより、中ブロック逆方向評価値テーブルを生成する。
そして、中ブロック逆方向評価値テーブル生成部30は、注目ブロックについての中ブロック逆方向評価値テーブルを、中ブロック逆方向ベクトル検出部31に供給する。
その後、処理は、ステップS24からステップS25に進み、大ブロック双方向ベクトル検出部25は、大ブロック双方向評価値テーブル生成部24からの大ブロック双方向評価値テーブルにおいて、最小の評価値が得られるときの、サーチエリア内の大ブロックの位置を表すベクトルを、大ブロック双方向ベクトルmvLとして検出する。
そして、大ブロック双方向ベクトル検出部25は、大ブロック双方向ベクトルmvLを、中ブロック双方向ベクトル検出部27、中ブロック順方向ベクトル検出部29、及び、中ブロック逆方向ベクトル検出部31に供給する。
さらに、ステップS25では、中ブロック双方向ベクトル検出部27が、中ブロック双方向評価値テーブル生成部26からの中ブロック双方向評価値テーブルにおいて、最小の評価値が得られるときの、サーチエリア内の中ブロックの位置を表すベクトルを、中ブロック双方向ベクトルmvMとして検出する。
また、ステップS25では、中ブロック順方向ベクトル検出部29が、中ブロック順方向評価値テーブル生成部28からの中ブロック順方向評価値テーブルにおいて、最小の評価値が得られるときの、サーチエリア内の中ブロックの位置を表すベクトルを、中ブロック順方向ベクトルmvFとして検出する。
さらに、ステップS25では、中ブロック逆方向ベクトル検出部31が、中ブロック逆方向評価値テーブル生成部30からの中ブロック逆方向評価値テーブルにおいて、最小の評価値が得られるときの、サーチエリア内の中ブロックの位置を表すベクトルを、中ブロック逆方向ベクトルmvBとして検出する。
そして、処理は、ステップS25からステップS26に進み、中ブロック双方向ベクトル検出部27は、中ブロック双方向評価値テーブル生成部26からの中ブロック双方向評価値テーブルの評価値の分布に基づいて、中ブロック双方向評価値テーブルから検出された中ブロック双方向ベクトルmvLが信頼できるかどうかを判定する(信頼性を判定する)。
また、ステップS26では、中ブロック順方向ベクトル検出部29が、中ブロック順方向評価値テーブル生成部28からの中ブロック順方向評価値テーブルの評価値の分布に基づいて、中ブロック順方向評価値テーブルから検出される中ブロック順方向ベクトルmvFが信頼できるかどうかを判定する。
さらに、ステップS26では、中ブロック逆方向ベクトル検出部31が、中ブロック逆方向評価値テーブル生成部30からの中ブロック逆方向評価値テーブルの評価値の分布に基づいて、中ブロック逆方向評価値テーブルから検出される中ブロック逆方向ベクトルmvBが信頼できるかどうかを判定する。
その後、処理は、ステップS26からステップS27に進み、中ブロック双方向ベクトル検出部27は、中ブロック双方向評価値テーブルから検出された中ブロック双方向ベクトルmvMが信頼できないと判定した場合、大ブロック双方向ベクトル検出部25からの大ブロック双方向ベクトルmvLを、中ブロック双方向ベクトルmvMとして採用する(中ブロック双方向ベクトルmvMを、大ブロック双方向ベクトルmvLに置き換える)。
さらに、ステップS27では、中ブロック順方向ベクトル検出部29は、中ブロック順方向評価値テーブルから検出された中ブロック順方向ベクトルmvFが信頼できないと判定した場合、大ブロック双方向ベクトル検出部25からの大ブロック双方向ベクトルmvLを、中ブロック順方向ベクトルmvFとして採用する。
また、ステップS27では、中ブロック逆方向ベクトル検出部31は、中ブロック逆方向評価値テーブルから検出された中ブロック逆方向ベクトルmvBが信頼できないと判定した場合、大ブロック双方向ベクトル検出部25からの大ブロック双方向ベクトルmvLを、中ブロック逆方向ベクトルmvBとして採用する。
その後、大ブロック双方向ベクトル検出部25は、大ブロック双方向ベクトルmvLを、中ブロック双方向ベクトル検出部27は、中ブロック双方向ベクトルmvMを、中ブロック順方向ベクトル検出部29は、中ブロック順方向ベクトルmvFを、中ブロック逆方向ベクトル検出部31は、中ブロック逆方向ベクトルmvBを、それぞれ、候補ベクトル算出部12(図5)に供給し、処理は、ステップS27からステップS28に進む。
ステップS28では、大ブロック双方向評価値テーブル生成部24は、注目フレーム(補間フレーム)の小ブロックの中で、まだ、注目ブロックとしていない小ブロックがあるかどうかを判定する。
ステップS28において、注目フレームの小ブロックの中で、まだ、注目ブロックとしていない小ブロックがあると判定された場合、処理は、ステップS23に戻り、以下、同様の処理が繰り返される。
また、ステップS28において、注目フレームの小ブロックの中で、まだ、注目ブロックとしていない小ブロックがないと判定された場合、すなわち、注目フレームのすべての小ブロックについて、大ブロック双方向ベクトルmvL、中ブロック双方向ベクトルmvM、中ブロック順方向ベクトルmvF、及び、中ブロック逆方向ベクトルmvBが求められた場合、動きベクトル検出処理は終了する(リターンする)。
[候補ベクトル算出部12の構成例]
図18は、図5の候補ベクトル算出部12の構成例を示すブロック図である。
候補ベクトル算出部12は、動きベクトル検出部11からの、注目フレームの小ブロックごとの大ブロック双方向ベクトルmvL、中ブロック双方向ベクトルmvM、中ブロック順方向ベクトルmvF、及び、中ブロック逆方向ベクトルmvBそれぞれの統計量を求める統計処理(例えば、ヒストグラムや、平均値、メディアン(中央値)を求める処理等)を行う。
そして、候補ベクトル算出部12は、この統計処理によって、注目フレームの小ブロックごとの背景ベクトルv1、物体ベクトルv2、順方向動き判定情報、及び、逆方向動き判定情報、並びに、注目フレームについてのシーンチェンジ判定信号を求める。
すなわち、図18において、候補ベクトル算出部12は、全画面ヒストグラム生成部51、シーンチェンジ判定部52、背景物体ブロック検出部53、射影ヒストグラム生成部54、背景ベクトル第2候補算出部55、背景ベクトル選択部56、周辺ヒストグラム生成部57、背景ベクトル候補算出用ベクトル算出部58、背景ベクトル第1候補算出部59、周辺ヒストグラム生成部60、物体ベクトル候補算出用ベクトル算出部61、物体ベクトル算出部62、メディアンフィルタ63、比較判定部64、メディアンフィルタ65、及び、比較判定部66から構成される。
動きベクトル検出部11(図5)からの大ブロック双方向ベクトルmvLは、全画面ヒストグラム生成部51、射影ヒストグラム生成部54、周辺ヒストグラム生成部57に供給される。
また、動きベクトル検出部11からの中ブロック双方向ベクトルmvMは、周辺ヒストグラム生成部60に、中ブロック順方向ベクトルmvFは、メディアンフィルタ63に、中ブロック逆方向ベクトルmvBは、メディアンフィルタ65に、それぞれ供給される。
全画面ヒストグラム生成部51は、動きベクトル検出部11からの、注目フレームを構成する小ブロックすべてについての大ブロック双方向ベクトルmvLのヒストグラムである全画面ヒストグラムを、統計量として生成する。そして、全画面ヒストグラム生成部51は、注目フレームの全画面ヒストグラムを、シーンチェンジ判定部52と、背景物体ブロック検出部53に供給する。
シーンチェンジ判定部52は、全画面ヒストグラム生成部51からの注目フレームの全画面ヒストグラムに基づいて、過去側フレームから、未来側フレームにかけて、シーンチェンジが生じているかどうかを判定する。そして、シーンチェンジ判定部52は、その判定結果を表すシーンチェンジ判定信号を、画素単位動き推定部13(図5)に供給する。
背景物体ブロック検出部53は、全画面ヒストグラム生成部51からの全画面ヒストグラムに基づいて、注目フレームを構成する小ブロックのうちの、背景動きをしている小ブロック(背景動きが支配的な小ブロック)である背景ブロックと、物体動きをしている物体ブロック(物体動きが支配的な小ブロック)とを検出する。
そして、背景物体ブロック検出部53は、注目フレームを構成する各小ブロックが、背景ブロック、及び物体ブロックのうちのいずれのブロックであるかを表すブロック情報を、射影ヒストグラム生成部54と、周辺ヒストグラム生成部57、及び60とに供給する。
射影ヒストグラム生成部54は、注目フレームの小ブロックのうちの背景ブロックを、背景物体ブロック検出部53からのブロック情報に基づいて認識する。
さらに、射影ヒストグラム生成部54は、動きベクトル検出部11(図5)からの大ブロック双方向ベクトルmvLのうちの、背景ブロックについての大ブロック双方向ベクトルmvLのヒストグラムを生成し、背景ベクトル第2候補算出部55に供給する。
すなわち、射影ヒストグラム生成部54は、注目フレームの小ブロック単位の列ごとの背景ブロックの大ブロック双方向ベクトルmvLのx成分のヒストグラムである水平射影ヒストグラムを、統計量として生成し、背景ベクトル第2候補算出部55に供給する。
さらに、射影ヒストグラム生成部54は、注目フレームの小ブロック単位の行ごとの背景ブロックの大ブロック双方向ベクトルmvLのy成分のヒストグラムである垂直射影ヒストグラムを、統計量として生成し、背景ベクトル第2候補算出部55に供給する。
背景ベクトル第2候補算出部55は、射影ヒストグラム生成部54からの水平射影ヒストグラムと垂直射影ヒストグラムとに基づいて、注目フレームの小ブロック単位の列ごとに、背景ベクトルv1の1つの候補のx成分を求めるとともに、注目フレームの小ブロック単位の行ごとに、背景ベクトルv1の1つの候補のy成分を求める。
すなわち、背景ベクトル第2候補算出部55は、注目フレームの第j行第i列の小ブロック(左からi番(列)目で、上からj番(行)目の小ブロック)の背景ベクトルv1の1つの候補として、射影ヒストグラム生成部54からの水平射影ヒストグラムにおいて度数が最大の階級と、垂直射影ヒストグラムにおいて度数が最大の階級とを、それぞれx成分とy成分とするベクトルを求める。
そして、背景ベクトル第2候補算出部55は、射影ヒストグラム生成部54からの水平射影ヒストグラムと垂直射影ヒストグラムとに基づいて求めた背景ベクトルv1の1つの候補を、背景ベクトル第2候補として、背景ベクトル選択部56に供給される。
ここで、後述するように、背景ベクトル第1候補算出部59では、背景ベクトルv1の他の1つの候補が求められる。この、背景ベクトル第1候補算出部59で求められる背景ベクトルv1の他の1つの候補が、背景ベクトル第1候補として、背景ベクトル第1候補算出部59から、背景ベクトル選択部56に供給される。
背景ベクトル選択部56は、注目フレームの小ブロックごとに、背景ベクトル第2候補算出部55からの背景ベクトル第2候補と、背景ベクトル第1候補算出部59からの背景ベクトル第1候補とのうちのいずれか一方を、背景ベクトルv1として選択する。
さらに、背景ベクトル選択部56は、注目フレームの小ブロックごとの背景ベクトルv1を、物体ベクトル算出部62、比較判定部64、及び66に供給するとともに、図5の画素単位動き推定部13、補間画素動き判定部14、及び、補間画像生成部15に供給する。
周辺ヒストグラム生成部57は、注目フレームの小ブロックのうちの背景ブロックを、背景物体ブロック検出部53からのブロック情報に基づいて認識する。
さらに、周辺ヒストグラム生成部57は、注目フレームの各小ブロックについて、その小ブロックを含む周辺の小ブロックのうちの背景ブロック(以下、周辺背景ブロックともいう)を特定する。
また、周辺ヒストグラム生成部57は、注目フレームの各小ブロックについて、動きベクトル検出部11(図5)からの大ブロック双方向ベクトルmvLのうちの、周辺背景ブロックの大ブロック双方向ベクトルmvLのヒストグラムを、統計量として生成する。
そして、周辺ヒストグラム生成部57は、注目フレームの各小ブロックについて生成した、周辺背景ブロックの大ブロック双方向ベクトルmvLのヒストグラム(以下、大ブロック周辺ヒストグラムともいう)を、背景ベクトル候補算出用ベクトル算出部58に供給する。
背景ベクトル候補算出用ベクトル算出部58は、注目フレームの各小ブロックについて、周辺ヒストグラム生成部57からの、大ブロック周辺ヒストグラムに基づき、背景ベクトル第1候補の算出に用いる候補算出用ベクトルを求める。
すなわち、背景ベクトル候補算出用ベクトル算出部58は、注目フレームの各小ブロックについて、大ブロック周辺ヒストグラムにおいて度数が最大の階級としてのベクトル(大ブロック双方向ベクトルmvL)を、候補算出用ベクトルとして求める。
そして、背景ベクトル候補算出用ベクトル算出部58は、注目フレームの各小ブロックについて求めた候補算出用ベクトルを、背景ベクトル第1候補算出部59に供給する。
背景ベクトル第1候補算出部59は、注目フレームの各小ブロックについて、その小ブロックを含む周辺の小ブロックの候補算出用ベクトルの平均値である平均ベクトルを求める平均フィルタで構成される。
背景ベクトル第1候補算出部59は、注目フレームの各小ブロックについて、背景ベクトル候補算出用ベクトル算出部58からの候補算出用ベクトルを、平均フィルタでフィルタリングすることにより、平均ベクトルを求め、背景ベクトル第1候補として、背景ベクトル選択部56に供給する。
ここで、注目フレームの小ブロックの中には、その周辺に、背景ブロック(周辺背景ブロック)が存在しない小ブロックがあり得る。
周辺に、背景ブロックが存在しない小ブロックについては、周辺ヒストグラム生成部57において、大ブロック周辺ヒストグラムを生成することができず、ひいては、背景ベクトル第1候補算出部59において、背景ベクトル第1候補も求めることができない。
したがって、注目フレームの小ブロックには、背景ベクトル第1候補を求めることができる小ブロックと、求めることができない小ブロックとが存在し得る。
背景ベクトル選択部56は、背景ベクトル第1候補を求めることができる小ブロックについては、つまり、背景ベクトル第1候補算出部59から、背景ベクトル第1候補が供給される小ブロックについては、その背景ベクトル第1候補を、背景ベクトルv1として選択する。
また、背景ベクトル選択部56は、背景ベクトル第1候補を求めることができない小ブロックについては、つまり、背景ベクトル第1候補算出部59から、背景ベクトル第1候補が供給されない小ブロックについては、背景ベクトル第2候補算出部55から供給される背景ベクトル第2候補を、背景ベクトルv1として選択する。
周辺ヒストグラム生成部60は、注目フレームの小ブロックのうちの物体ブロックを、背景物体ブロック検出部53からのブロック情報に基づいて認識する。
さらに、周辺ヒストグラム生成部60は、注目フレームの各小ブロックについて、その小ブロックを含む周辺の小ブロックのうちの物体ブロック(以下、周辺物体ブロックともいう)を特定する。
また、周辺ヒストグラム生成部60は、注目フレームの各小ブロックについて、動きベクトル検出部11(図5)からの中ブロック双方向ベクトルmvMのうちの、周辺物体ブロックの中ブロック双方向ベクトルmvMのヒストグラムを、統計量として生成する。
そして、周辺ヒストグラム生成部60は、注目フレームの各小ブロックについて生成した、周辺物体ブロックの中ブロック双方向ベクトルmvMのヒストグラム(以下、中ブロック周辺ヒストグラムともいう)を、物体ベクトル候補算出用ベクトル算出部61に供給する。
物体ベクトル候補算出用ベクトル算出部61は、注目フレームの各小ブロックについて、周辺ヒストグラム生成部60からの、中ブロック周辺ヒストグラムに基づき、物体ベクトルの候補である物体ベクトル候補の算出に用いる候補算出用ベクトルを求める。
すなわち、物体ベクトル候補算出用ベクトル算出部61は、注目フレームの各小ブロックについて、中ブロック周辺ヒストグラムにおいて度数が最大の階級としてのベクトル(中ブロック双方向ベクトルmvM)を、候補算出用ベクトルとして求める。
そして、物体ベクトル候補算出用ベクトル算出部61は、注目フレームの各小ブロックについて求めた候補算出用ベクトルを、物体ベクトル算出部62に供給する。
物体ベクトル算出部62は、メディアンフィルタと平均フィルタとで構成される。
物体ベクトル算出部62のメディアンフィルタは、フィルタリングにより、注目フレームの各小ブロックについて、その小ブロックを含む周辺の小ブロックの候補算出用ベクトルのメディアン(中央値)を求める。
さらに、物体ベクトル算出部62の平均フィルタは、フィルタリングにより、注目フレームの各小ブロックについて、その小ブロックを含む周辺の小ブロックのメディアンの平均値である平均ベクトルを、統計量として求める。
そして、物体ベクトル算出部62は、注目フレームの各小ブロックについて求められた平均ベクトルを、物体ベクトル候補とする。
ここで、注目フレームの小ブロックの中には、その周辺に、物体ブロック(周辺物体ブロック)が存在しない小ブロックがあり得る。
周辺に、物体ブロックが存在しない小ブロックについては、周辺ヒストグラム生成部60において、中ブロック周辺ヒストグラムを生成することができず、ひいては、物体ベクトル算出部62において、物体ベクトル候補も求めることができない。
したがって、注目フレームの小ブロックには、物体ベクトル候補を求めることができる小ブロックと、求めることができない小ブロックとが存在し得る。
物体ベクトル算出部62は、物体ベクトル候補を求めることができる小ブロックについては、その物体ベクトル候補を、そのまま、物体ベクトルv2として採用する。そして、物体ベクトル算出部62は、物体ベクトルv2を、比較判定部64、及び66に供給するとともに、図5の画素単位動き推定部13、補間画素動き判定部14、及び、補間画像生成部15に供給する。
一方、物体ベクトル算出部62は、物体ベクトル候補を求めることができない小ブロックについては、背景ベクトル選択部56から供給される背景ベクトルv1を、物体ベクトルv2として採用する。そして、物体ベクトル算出部62は、物体ベクトルv2を、比較判定部64、及び66に供給するとともに、図5の画素単位動き推定部13、補間画素動き判定部14、及び、補間画像生成部15に供給する。
したがって、物体ベクトル候補を求めることができない小ブロックについては、背景ベクトルv1と物体ベクトルv2とは、同一のベクトルとなる。
メディアンフィルタ63は、動きベクトル検出部11(図5)からの中ブロック順方向ベクトルmvFをフィルタリングすることにより、注目フレームの各小ブロックについて、その小ブロックを含む周辺の小ブロックの中ブロック順方向ベクトルmvFのメディアン(以下、順方向メディアンベクトルともいう)を、統計量として求める。
そして、メディアンフィルタ63は、注目フレームの各小ブロックについて求められた統計量としての順方向メディアンベクトルを、比較判定部64に供給する。
比較判定部64は、注目フレームの各小ブロックについて、その小ブロックの順方向メディアンベクトルと、背景ベクトル選択部56からの背景ベクトルv1、及び、物体ベクトル算出部62からの物体ベクトルv2それぞれとを比較する。
比較判定部64は、その比較により、背景ベクトルv1、及び、物体ベクトルv2のうちの、順方向メディアンベクトルに類似する方のベクトルを判定する。
そして、比較判定部64は、注目フレームの各小ブロックについて、背景ベクトルv1、及び、物体ベクトルv2のうちの、順方向メディアンベクトルに類似する方のベクトルを表す順方向動き判定情報を生成し、図5の画素単位動き推定部13に供給する。
メディアンフィルタ65は、動きベクトル検出部11(図5)からの中ブロック逆方向ベクトルmvBをフィルタリングすることにより、注目フレームの各小ブロックについて、その小ブロックを含む周辺の小ブロックの中ブロック逆方向ベクトルmvBのメディアン(以下、逆方向メディアンベクトルともいう)を、統計量として求める。
そして、メディアンフィルタ65は、注目フレームの各小ブロックについて求められた統計量としての逆方向メディアンベクトルを、比較判定部66に供給する。
比較判定部66は、注目フレームの各小ブロックについて、その小ブロックの逆方向メディアンベクトルと、背景ベクトル選択部56からの背景ベクトルv1、及び、物体ベクトル算出部62からの物体ベクトルv2それぞれとを比較する。
比較判定部66は、その比較により、背景ベクトルv1、及び、物体ベクトルv2のうちの、逆方向メディアンベクトルに類似する方のベクトルを判定する。
そして、比較判定部66は、注目フレームの各小ブロックについて、背景ベクトルv1、及び、物体ベクトルv2のうちの、逆方向メディアンベクトルに類似する方のベクトルを表す逆方向動き判定情報を生成し、図5の画素単位動き推定部13に供給する。
次に、図19及び図20は、図18の全画面ヒストグラム生成部51で生成される全画面ヒストグラムの例を示している。
なお、図19では、2次元平面の2つの軸のうちの一方の軸を、階級としての大ブロック双方向ベクトルmvL(ずらし量)のx成分を表す軸とするとともに、他方の軸を、大ブロック双方向ベクトルmvLのy成分を表す軸とし、かつ、その2次元平面に直交する軸を、度数を表す軸として、グラフで、全画面ヒストグラムを示してある。
また、図20では、度数を数値で表した全画面ヒストグラムを示してある。
全画面ヒストグラムにおいては、過去側フレームから未来側フレームに亘ってシーンチェンジが生じていない場合、一般に、図19に示すように、背景動きを表す階級(ベクトル)と、物体動きを表す階級の度数が大になる。
また、背景と、背景以外の物体とでは、一般に、背景の方が、物体よりも、表示されている領域(の面積)が大であるため、背景動きを表す階級の度数の方が、物体動きを表す階級の度数よりも大となる。
そこで、背景物体ブロック検出部53(図18)は、全画面ヒストグラムにおいて、度数が1位と2位の階級を検出する。
さらに、背景物体ブロック検出部53は、全画面ヒストグラムにおいて、1位と2位の階級それぞれを、背景動きの候補の階級のエリアである背景階級エリアとして、背景階級エリアに隣接する階級のうちの、度数が0でない階級を、背景階級エリアに含めることを繰り返すことで、背景階級エリアを拡張する。
そして、背景物体ブロック検出部53は、背景階級エリアを拡張することができなくなると、すなわち、1位と2位の階級それぞれに対して、度数が0の階級で囲まれた背景階級エリアが得られると、その背景階級エリアに基づいて、注目フレームの小ブロックから、背景ブロックと物体ブロックとを検出する。
すなわち、背景物体ブロック検出部53は、1位と2位の階級に対して得られる背景階級エリアそれぞれについて、背景階級エリアに含まれる階級の動きベクトル(ここでは、大ブロック双方向ベクトルmvL)が検出された小ブロックの中で、注目フレームの画枠に接する小ブロックの数をカウントする。
そして、背景物体ブロック検出部53は、1位と2位の階級に対して得られる背景階級エリアのうちの、画枠に接する小ブロックの数が多い方の背景階級エリアに含まれる階級の動きベクトル(大ブロック双方向ベクトルmvL)が検出された小ブロックを、背景ブロックとして検出する。さらに、背景物体ブロック検出部53は、注目フレームの背景ブロック以外の小ブロック(他の小ブロック)を、物体ブロックとして検出する。
すなわち、画像において、画枠付近には、背景が移っている可能性が高いことから、背景物体ブロック検出部53では、1位と2位の階級に対して得られる背景階級エリアのうちの、画枠に接する小ブロックの数が多い方の背景階級エリアに含まれる階級の動きベクトルが検出された小ブロックが、背景ブロックとして検出される。
なお、図19及び図20では、図20に点線で囲んで示すように、1位と2位の階級に対して、同一の背景階級エリアが得られる。この場合、その同一の背景階級エリアに含まれる階級の動きベクトルが検出された小ブロックが、背景ブロックとして検出され、他の小ブロックが、物体ブロックとして検出される。
次に、図21及び図22は、図18の射影ヒストグラム生成部54で生成される水平射影ヒストグラムの例を示しており、図23及び図24は、射影ヒストグラム生成部54で生成される垂直射影ヒストグラムの例を示している。
なお、図21では、2次元平面の2つの軸のうちの一方の軸を、階級としての大ブロック双方向ベクトルmvL(ずらし量)のx成分を表す軸とするとともに、他方の軸を、小ブロックのx方向(水平方向)の位置(画素の位置)を表す軸とし、かつ、その2次元平面に直交する軸を、度数を表す軸として、グラフで、水平射影ヒストグラムを示してある。
また、図22では、度数を数値で表した水平射影ヒストグラムを示してある。
図23及び図24でも、図21及び図22の場合と同様にして、垂直射影ヒストグラムを示してある。
ここで、図22の横軸の水平位置は、小ブロックの左上の画素のx座標を表し、図24の横軸の垂直位置は、小ブロックの左上の画素のy座標を表す。
小ブロックは、8×8画素のブロックであるため、図24の横軸の垂直位置は、0,8,16,・・・のように、8画素ごとの値になっている。
なお、図22では、横軸の水平位置が、0,16,32,・・・のように、16画素ごとの値になっているが、これは、図22においては、スケールの関係で、小ブロックの左上の画素のx座標を、1個おきの小ブロックごとに図示してあるためである。
いま、注目フレームが、横×縦がBx×By個のブロックで構成されることとし、左からi番目で、上からj番目の小ブロック(第j行第i列の小ブロック)を、小ブロック#(i,j)と表すこととする。
この場合、注目フレームの第i列に注目すると、射影ヒストグラム生成部54は、注目する第i列(以下、注目列#iともいう)のBy個の小ブロック#(i,1),#(i,2),・・・,#(i,By)のうちの背景ブロックの大ブロック双方向ベクトルmvLのx成分のヒストグラム(以下、第i列のx成分ヒストグラムともいう)を求める。
射影ヒストグラム生成部54は、注目フレームの各列を、注目列として、各列のx成分ヒストグラムを求め、注目フレームのすべての列のx成分ヒストグラムを、水平射影ヒストグラムとして、背景ベクトル第2候補算出部55に供給する。
同様に、注目フレームの第j行に注目すると、射影ヒストグラム生成部54は、注目する第j行(以下、注目行#jともいう)のBx個の小ブロック#(1,j),#(2,j),・・・,#(Bx,j)のうちの背景ブロックの大ブロック双方向ベクトルmvLのy成分のヒストグラム(以下、第j行のy成分ヒストグラムともいう)を求める。
射影ヒストグラム生成部54は、注目フレームの各行を、注目行として、各行のy成分ヒストグラムを求め、注目フレームのすべての行のy成分ヒストグラムを、垂直射影ヒストグラムとして、背景ベクトル第2候補算出部55に供給する。
次に、図25を参照して、図18の背景ベクトル第2候補算出部55が背景ベクトル第2候補を求める処理について説明する。
上述したように、背景ベクトル第2候補算出部55は、射影ヒストグラム生成部54からの水平射影ヒストグラムと垂直射影ヒストグラムとに基づいて、注目フレームの小ブロック単位の列ごとに、背景ベクトル第2候補のx成分を求めるとともに、小ブロック単位の行ごとに、背景ベクトル第2候補のy成分を求める。
すなわち、水平射影ヒストグラムの第i列のx成分ヒストグラムにおいて、頻度が最大の大ブロック双方向ベクトルmvLのx成分を、vx(i)と表すこととする。さらに、垂直射影ヒストグラムの第j行のy成分ヒストグラムにおいて、頻度が最大の大ブロック双方向ベクトルmvLのy成分を、vy(j)と表すこととする。
この場合、背景ベクトル第2候補算出部55は、小ブロック#(i,j)の背景ベクトル第2候補として、ベクトル(vx(i),vy(j))を求め、背景ベクトル選択部56に供給する。
[候補ベクトル算出処理の説明]
図26ないし図28を参照して、図18の候補ベクトル算出部12が、図7のステップS13で行う処理(候補ベクトル算出処理)を説明する。
図26は、候補ベクトル算出処理を説明するフローチャートである。
図18の候補ベクトル算出部12において、動きベクトル検出部11(図5)からの大ブロック双方向ベクトルmvLは、全画面ヒストグラム生成部51、射影ヒストグラム生成部54、周辺ヒストグラム生成部57に供給される。
また、動きベクトル検出部11からの中ブロック双方向ベクトルmvMは、周辺ヒストグラム生成部60に、中ブロック順方向ベクトルmvFは、メディアンフィルタ63に、中ブロック逆方向ベクトルmvBは、メディアンフィルタ65に、それぞれ供給される。
そして、ステップS31において、全画面ヒストグラム生成部51は、動きベクトル検出部11からの、注目フレームを構成する小ブロックすべてについての大ブロック双方向ベクトルmvLのヒストグラムである全画面ヒストグラムを生成する。
さらに、全画面ヒストグラム生成部51は、注目フレームの全画面ヒストグラムを、シーンチェンジ判定部52と、背景物体ブロック検出部53に供給して、処理は、ステップS31からステップS32に進む。
ステップS32では、シーンチェンジ判定部52は、全画面ヒストグラム生成部51からの注目フレームの全画面ヒストグラムに基づいて、過去側フレームから、未来側フレームにかけて、シーンチェンジが生じているかどうかを判定する。
ここで、過去側フレームから、未来側フレームにかけて、シーンチェンジが生じている場合、全画面ヒストグラム(図19)では、四隅の度数(大ブロック双方向ベクトルmvLのx成分の最大値付近の階級、及び、最小値付近の階級、並びに、y成分の最大値付近の階級、及び、最小値付近の階級の度数)が大になる傾向がある。
そこで、シーンチェンジ判定部52は、例えば、全画面ヒストグラムの四隅の度数が、所定の第1の閾値以上であり、その他の度数が、第1の閾値よりも小さい第2の閾値以下である場合に、シーンチェンジが生じていると判定し、それ以外の場合、シーンチェンジが生じていないと判定する。
シーンチェンジ判定部52は、過去側フレームから、未来側フレームにかけて、シーンチェンジが生じているかどうかを判定すると、その判定結果を表すシーンチェンジ判定信号を、画素単位動き推定部13(図5)に供給し、処理は、ステップS32からステップS33に進む。
ステップS33では、背景物体ブロック検出部53が、全画面ヒストグラム生成部51からの全画面ヒストグラムに基づいて、注目フレームを構成する小ブロックから、背景ブロックと物体ブロックとを検出する背景物体ブロック検出処理を行う。
すなわち、背景物体ブロック検出部53は、全画面ヒストグラムにおいて、度数が1位と2位の階級を検出する。
さらに、背景物体ブロック検出部53は、全画面ヒストグラムにおいて、1位と2位の階級それぞれを、背景階級エリアとして、背景階級エリアに隣接する階級のうちの、度数が0でない階級を、背景階級エリアに含めることを繰り返すことで、背景階級エリアを拡張する。
そして、背景物体ブロック検出部53は、背景階級エリアの拡張によって、1位と2位の階級それぞれに対して、度数が0の階級で囲まれた背景階級エリアが得られると、1位と2位の階級に対して得られる背景階級エリアそれぞれについて、背景階級エリアに含まれる階級の大ブロック双方向ベクトルmvLが検出された小ブロックの中で、注目フレームの画枠に接する小ブロックの数をカウントする。
そして、背景物体ブロック検出部53は、1位と2位の階級に対して得られる背景階級エリアのうちの、画枠に接する小ブロックの数が多い方の背景階級エリアに含まれる階級の大ブロック双方向ベクトルmvLが検出された小ブロックを、背景ブロックとして検出する。さらに、背景物体ブロック検出部53は、注目フレームの残りのブロック(他の小ブロック)を、物体ブロックとして検出する。
その後、背景物体ブロック検出部53は、注目フレームを構成する各小ブロックが、背景ブロック、及び物体ブロックのうちのいずれのブロックであるかを表すブロック情報を、射影ヒストグラム生成部54と、周辺ヒストグラム生成部57、及び60とに供給し、処理は、ステップS33からステップS34に進む。
ステップS34では、射影ヒストグラム生成部54は、注目フレームの小ブロックのうちの背景ブロックを、背景物体ブロック検出部53からのブロック情報に基づいて認識する。
さらに、ステップS34では、射影ヒストグラム生成部54は、動きベクトル検出部11(図5)からの大ブロック双方向ベクトルmvLを用いて、図21ないし図24で説明したように、注目フレームの各列のx成分ヒストグラムからなる水平射影ヒストグラムと、注目フレームの各行のy成分ヒストグラムからなる垂直射影ヒストグラムとを生成する。
そして、射影ヒストグラム生成部54は、水平射影ヒストグラムと、垂直射影ヒストグラムとを、背景ベクトル第2候補算出部55に供給し、処理は、ステップS34からステップS35に進む。
ステップS35では、背景ベクトル第2候補算出部55は、射影ヒストグラム生成部54からの水平射影ヒストグラムと垂直射影ヒストグラムとに基づいて、注目フレームの各小ブロック#(i,j)の背景ベクトル第2候補を求める。
すなわち、背景ベクトル第2候補算出部55は、水平射影ヒストグラムの第i列のx成分ヒストグラムにおいて、頻度が最大の大ブロック双方向ベクトルmvLのx成分vx(i)と、垂直射影ヒストグラムの第j行のy成分ヒストグラムにおいて、頻度が最大の大ブロック双方向ベクトルmvLのy成分vy(j)とを求める。
そして、背景ベクトル第2候補算出部55は、ベクトル(vx(i),vy(j))を、小ブロック#(i,j)の背景ベクトル第2候補として求め、背景ベクトル選択部56に供給して、処理は、図27のステップS41に進む。
すなわち、図27は、図26に続くフローチャートである。
図27のステップS41では、周辺ヒストグラム生成部57は、注目フレームの小ブロックのうちの背景ブロックを、背景物体ブロック検出部53からのブロック情報に基づいて認識する。
さらに、周辺ヒストグラム生成部57は、注目フレームの各小ブロックについて、その小ブロックを含む周辺の小ブロックのうちの背景ブロック(周辺背景ブロック)を特定する。
また、周辺ヒストグラム生成部57は、注目フレームの各小ブロックについて、動きベクトル検出部11(図5)からの大ブロック双方向ベクトルmvLのうちの、周辺背景ブロックの大ブロック双方向ベクトルmvLのヒストグラム(大ブロック周辺ヒストグラム)を生成する。
そして、周辺ヒストグラム生成部57は、注目フレームの各小ブロックについて生成した大ブロック周辺ヒストグラムを、背景ベクトル候補算出用ベクトル算出部58に供給し、処理は、ステップS41からステップS42に進む。
ステップS42では、背景ベクトル候補算出用ベクトル算出部58は、注目フレームの各小ブロックについて、周辺ヒストグラム生成部57からの、大ブロック周辺ヒストグラムに基づき、背景ベクトル第1候補の算出に用いる候補算出用ベクトルを求める。
すなわち、背景ベクトル候補算出用ベクトル算出部58は、注目フレームの各小ブロックについて、大ブロック周辺ヒストグラムにおいて度数が最大の階級としてのベクトル(大ブロック双方向ベクトルmvL)を、候補算出用ベクトルとして求める。
そして、背景ベクトル候補算出用ベクトル算出部58は、注目フレームの各小ブロックについて求めた候補算出用ベクトルを、背景ベクトル第1候補算出部59に供給し、処理は、ステップS42からステップS43に進む。
ステップS43では、背景ベクトル第1候補算出部59は、注目フレームの各小ブロックについて、背景ベクトル候補算出用ベクトル算出部58からの候補算出用ベクトルを、平均フィルタでフィルタリングすることにより、平均ベクトルを求める。
そして、背景ベクトル第1候補算出部59は、注目フレームの各小ブロックについて求めた平均ベクトルを、背景ベクトル第1候補として、背景ベクトル選択部56に供給し、処理は、ステップS43からステップS44に進む。
ここで、注目フレームの小ブロックには、上述したように、背景ベクトル第1候補を求めることができる小ブロックと、求めることができない小ブロックとが存在し得る。
ステップS44では、背景ベクトル選択部56は、背景ベクトル第1候補を求めることができ、背景ベクトル第1候補算出部59から、背景ベクトル第1候補が供給される小ブロックについては、その背景ベクトル第1候補を、背景ベクトルv1として選択する。
また、背景ベクトル選択部56は、背景ベクトル第1候補を求めることができず、背景ベクトル第1候補算出部59から、背景ベクトル第1候補が供給されない小ブロックについては、背景ベクトル第2候補算出部55から供給される背景ベクトル第2候補を、背景ベクトルv1として選択する。
そして、背景ベクトル選択部56は、注目フレームの各小ブロックについて背景ベクトルv1を選択すると、その小ブロックごとの背景ベクトルv1を、物体ベクトル算出部62、比較判定部64、及び66に供給するとともに、図5の画素単位動き推定部13、補間画素動き判定部14、及び、補間画像生成部15に供給する。
その後、処理は、ステップS44からステップS45に進み、周辺ヒストグラム生成部60は、注目フレームの小ブロックのうちの物体ブロックを、背景物体ブロック検出部53からのブロック情報に基づいて認識する。
さらに、周辺ヒストグラム生成部60は、注目フレームの各小ブロックについて、その小ブロックを含む周辺の小ブロックのうちの物体ブロック(周辺物体ブロック)を特定する。
また、周辺ヒストグラム生成部60は、注目フレームの各小ブロックについて、動きベクトル検出部11(図5)からの中ブロック双方向ベクトルmvMのうちの、周辺物体ブロックの中ブロック双方向ベクトルmvMのヒストグラム(中ブロック周辺ヒストグラム)を生成する。
そして、周辺ヒストグラム生成部60は、注目フレームの各小ブロックについて生成した中ブロック周辺ヒストグラムを、物体ベクトル候補算出用ベクトル算出部61に供給し、処理は、ステップS45からステップS46に進む。
ステップS46では、物体ベクトル候補算出用ベクトル算出部61は、注目フレームの各小ブロックについて、周辺ヒストグラム生成部60からの中ブロック周辺ヒストグラムにおいて度数が最大の階級としてのベクトル(中ブロック双方向ベクトルmvM)を、物体ベクトルv2の候補である候補算出用ベクトルとして求める。
そして、物体ベクトル候補算出用ベクトル算出部61は、注目フレームの各小ブロックについて求めた候補算出用ベクトルを、物体ベクトル算出部62に供給し、処理は、ステップS46からステップS47に進む。
ステップS47では、物体ベクトル算出部62は、メディアンフィルタによるフィルタリングにより、注目フレームの各小ブロックについて、その小ブロックを含む周辺の小ブロックの候補算出用ベクトルのメディアンを求める。
さらに、物体ベクトル算出部62は、平均フィルタのよるフィルタリングにより、注目フレームの各小ブロックについて、その小ブロックを含む周辺の小ブロックのメディアンの平均値である平均ベクトルを、物体ベクトル候補として求める。
ここで、上述したように、注目フレームの小ブロックの中には、その周辺に、物体ブロック(周辺物体ブロック)が存在しない小ブロックがあり得るので、周辺ヒストグラム生成部60において、物体ベクトル候補を求めることができる小ブロックと、求めることができない小ブロックとが存在し得る。
物体ベクトル算出部62は、物体ベクトル候補を求めることができる小ブロックについては、その物体ベクトル候補を、そのまま、物体ベクトルv2として採用する。そして、物体ベクトル算出部62は、物体ベクトルv2を、比較判定部64、及び66に供給するとともに、図5の画素単位動き推定部13、補間画素動き判定部14、及び、補間画像生成部15に供給する。
一方、物体ベクトル算出部62は、物体ベクトル候補を求めることができない小ブロックについては、背景ベクトル選択部56から供給される背景ベクトルv1を、物体ベクトルv2として採用する。そして、物体ベクトル算出部62は、物体ベクトルv2を、比較判定部64、及び66に供給するとともに、図5の画素単位動き推定部13、補間画素動き判定部14、及び、補間画像生成部15に供給する。
その後、処理は、ステップS47から、図28のステップS51に進む。
すなわち、図28は、図27に続くフローチャートである。
図28のステップS51では、メディアンフィルタ63は、動きベクトル検出部11(図5)からの中ブロック順方向ベクトルmvFをフィルタリングすることにより、注目フレームの各小ブロックについて、その小ブロックを含む周辺の小ブロックの中ブロック順方向ベクトルmvFのメディアン(順方向メディアンベクトル)を求める。
そして、メディアンフィルタ63は、注目フレームの各小ブロックについて求められた順方向メディアンベクトルを、比較判定部64に供給し、処理は、ステップS51からステップS52に進む。
ステップS52では、比較判定部64は、注目フレームの各小ブロックについて、メディアンフィルタ63からの順方向メディアンベクトルが表す動きが、背景ベクトル選択部56からの背景ベクトルv1が表す動きと、物体ベクトル算出部62からの物体ベクトルv2が表す動きとのうちのいずれに類似するか(より近いか)を判定する。
そして、比較判定部64は、注目フレームの各小ブロックについて、背景ベクトルv1、及び、物体ベクトルv2のうちの、順方向メディアンベクトルに類似する方のベクトルを表す順方向動き判定情報を生成し、図5の画素単位動き推定部13に供給する。
その後、処理は、ステップS52からステップS53に進み、メディアンフィルタ65は、動きベクトル検出部11(図5)からの中ブロック逆方向ベクトルmvBをフィルタリングすることにより、注目フレームの各小ブロックについて、その小ブロックを含む周辺の小ブロックの中ブロック逆方向ベクトルmvBのメディアン(逆方向メディアンベクトル)を求める。
そして、メディアンフィルタ65は、注目フレームの各小ブロックについて求められた逆方向メディアンベクトルを、比較判定部66に供給し、処理は、ステップS53からステップS54に進む。
ステップS54では、比較判定部66は、注目フレームの各小ブロックについて、メディアンフィルタ65からの逆方向メディアンベクトルが表す動きが、背景ベクトル選択部56からの背景ベクトルv1が表す動きと、物体ベクトル算出部62からの物体ベクトルv2が表す動きとのうちのいずれに類似するかを判定する。
そして、比較判定部66は、注目フレームの各小ブロックについて、背景ベクトルv1、及び、物体ベクトルv2のうちの、逆方向メディアンベクトルに類似する方のベクトルを表す逆方向動き判定情報を生成し、図5の画素単位動き推定部13に供給する。
その後、処理は終了する(リターンする)。
[画素単位動き推定部13の構成例]
図29は、図5の画素単位動き推定部13の構成例を示している。
画素単位動き推定部13は、外部からの入力画像の過去側フレーム、及び、未来側フレーム、並びに、候補ベクトル算出部12からの、注目フレームの小ブロックごとの背景ベクトルv1、物体ベクトルv2、順方向動き判定情報、逆方向動き判定情報、及び、注目フレームのシーンチェンジ判定信号に基づき、過去側フレームから未来側フレームの方向に見た、注目フレームの画素(補間画素)の動きを表す順方向ベクトルと、未来側フレームから過去側フレームの方向に見た、補間画素の動きを表す逆方向ベクトルとを、補間画素ごとに求める。
すなわち、図29において、画素単位動き推定部13は、フレーム回数カウンタ71、静止相関判定部72、静止カウンタ73、順方向背景相関判定部74、逆方向背景相関判定部75、背景情報記憶部76、順方向物体相関判定部81、逆方向物体相関判定部82、物体情報記憶部83、順方向動き推定部91、及び、逆方向動き推定部92から構成される。
なお、図29では、図が煩雑になるのを避けるため、ブロックどうしを接続する接続線(結線)の一部の図示を省略してある。
図29の画素単位動き推定部13において、外部からの入力画像、及び、候補ベクトル算出部12(図5)からのシーンチェンジ判定信号は、フレーム回数カウンタ71、静止相関判定部72、順方向背景相関判定部74、逆方向背景相関判定部75、順方向物体相関判定部81、及び、逆方向物体相関判定部82に供給される。
また、候補ベクトル算出部12(図5)からの背景ベクトルv1は、順方向背景相関判定部74、及び、逆方向背景相関判定部75に供給され、物体ベクトルv2は、順方向物体相関判定部81、及び、逆方向物体相関判定部82に供給される。
さらに、候補ベクトル算出部12からの順方向動き判定情報は、順方向動き推定部91に供給され、逆方向動き判定情報は、逆方向動き推定部92に供給される。
フレーム回数カウンタ71は、シーンチェンジからのフレーム数を表す回数カウント値をカウントし、順方向背景相関判定部74、逆方向背景相関判定部75、順方向物体相関判定部81、及び、逆方向物体相関判定部82に供給する。
すなわち、フレーム回数カウンタ71は、例えば、外部からの入力画像のフレームの供給に応じて、回数カウント値をインクリメントする。
また、フレーム回数カウンタ71は、候補ベクトル算出部12からのシーンチェンジ判定信号が、シーンチェンジが生じていることを表している場合、回数カウント値をリセットする(例えば、初期値である0等にする)。
なお、フレーム回数カウンタ71は、回数カウント値を記憶する記憶領域として、2つのバンク#1及び#2を有している。
静止相関判定部72は、注目フレームの補間画素を、例えば、ラスタスキャン順等で、順次、注目画素に選択する。
さらに、静止相関判定部72は、外部からの入力画像の過去側フレームと未来側フレームとのうちの、一方のフレームの、注目画素の位置の画素を中心とする、例えば、横×縦が9×9画素等の所定のサイズのブロックを、画像(画素)の相関の有無の判定に用いる相関判定ブロックとする。
そして、静止相関判定部72は、過去側フレームと未来側フレームとのうちの、他方のフレームの、注目画素の位置を中心とする、相関判定ブロックよりも、横と縦とのそれぞれが数画素(例えば、4画素等)だけ大きいエリア(相関判定ブロックを、x方向に±2画素だけ大きくし、かつ、y方向に±2画素だけ大きくしたエリア)をサーチエリアとして、相関判定ブロックのブロックマッチングを行う。
さらに、静止相関判定部72は、相関判定ブロックのブロックマッチングの結果得られる評価値テーブルの評価値の分布に基づき、注目画素について、静止相関の有無を判定する。
ここで、静止相関とは、注目画素に写っている被写体が静止している場合に、過去側フレームの注目画素の位置の画素と、未来側フレームの注目画素の位置の画素との間にあるであろう、画素どうしの相関を意味する。
評価値テーブルの評価値の分布に基づく、画素どうしの相関の判定では、例えば、評価値テーブルにおいて、最小の評価値が得られるずらし量(x,y)を含む、そのずらし量(x,y)の周辺の複数のずらし量それぞれに対する評価値の中の最大値と最小値との差(ダイナミックレンジ)が、所定の閾値以上である場合や、ずらし量(0,0)を含む、そのずらし量(0,0)の周辺の複数のずらし量それぞれに対する評価値の中で、2番目に小さい評価値よりも、ずらし量(0,0)に対する評価値が小さい場合等に、相関があると判定し、それ以外の場合に、相関がないと判定することができる。
静止相関判定部72は、注目画素について、静止相関の有無を判定すると、その判定結果に従い、静止カウンタ73を制御する。
すなわち、静止相関判定部72は、注目画素について、静止相関があると判定した場合、静止カウンタ73に、静止カウント値をインクリメントさせる。また、静止相関判定部72は、注目画素について、静止相関がないと判定した場合、静止カウンタ73に、静止カウント値を、例えば、0にリセットさせる。
静止カウンタ73は、静止相関判定部72の制御に従い、注目画素について、0ベクトルに従った動き、及び画像(画素)の相関が連続している回数を表す静止カウント値のカウントを行う。
そして、静止カウンタ73の静止カウント値は、順方向動き判定部91、及び、逆方向動き判定部92に供給される。
なお、静止カウンタ73は、静止カウント値を記憶する記憶領域として、2つのバンク#1及び#2を有している。さらに、静止カウンタ73のバンク#1は、注目フレームの画素(補間画素)ごとに、静止カウント値を記憶する。すなわち、静止カウンタ73のバンク#1は、補間フレームの各画素に対応するアドレスに、その画素についての静止カウント値を記憶する。静止カウンタ73のバンク#2も同様である。
順方向背景相関判定部74は、外部からの入力画像の過去側フレームと未来側フレームとのうちの、過去側フレームの、注目画素の位置の画素を中心とする、例えば、横×縦が9×9画素等の所定のサイズのブロックを、相関判定ブロックとする。
そして、順方向背景相関判定部74は、未来側フレームの、注目画素の位置から、候補ベクトル算出部12(図5)からの、注目画素を含む小ブロック(以下、注目ブロックともいう)の背景ベクトルv1だけ順方向に移動した位置を中心とする、相関判定ブロックよりも、横と縦とのそれぞれが数画素(例えば、4画素等)だけ大きいエリアをサーチエリアとして、相関判定ブロックのブロックマッチングを行う。
さらに、順方向背景相関判定部74は、相関判定ブロックのブロックマッチングの結果得られる評価値テーブルの評価値の分布に基づき、注目画素について、背景順方向動き相関の有無を判定する。
ここで、背景順方向動き相関とは、注目画素に写っている被写体が、過去側フレームから、未来側フレームにわたって、背景ベクトルv1だけ移動している場合に、過去側フレームの注目画素の位置の画素と、未来側フレームの注目画素の位置から背景ベクトルv1だけ、順方向に移動した位置の画素との間にあるであろう、画素どうしの相関を意味する。
順方向背景相関判定部74は、注目画素について、背景順方向動き相関の有無を判定すると、その判定結果に従い、背景情報記憶部76の背景カウンタ78を制御する。
すなわち、順方向背景相関判定部74は、注目画素について、背景順方向動き相関があると判定した場合、背景カウンタ78に、背景カウント値をインクリメントさせる。また、順方向背景相関判定部74は、注目画素について、背景順方向動き相関がないと判定した場合、背景カウンタ78に、背景カウント値を、例えば、0にリセットさせる。
ここで、候補ベクトル算出部12(図5)から順方向背景相関判定部74に供給される小ブロックごとの背景ベクトルv1のうちの、注目画素を含む小ブロック(注目ブロック)の背景ベクトルv1を、以下、注目画素の背景ベクトルv1ともいう。
順方向背景相関判定部74は、上述したように、背景情報記憶部76の背景カウンタ78を制御する他、背景情報記憶部76の背景ベクトルメモリ77も制御し、候補ベクトル算出部12(図5)からの注目画素の背景ベクトルv1を、背景ベクトルメモリ77に記憶させる。
逆方向背景相関判定部75は、外部からの入力画像の過去側フレームと未来側フレームとのうちの、未来側フレームの、注目画素の位置の画素を中心とする、例えば、横×縦が9×9画素等の所定のサイズのブロックを、相関判定ブロックとする。
そして、逆方向背景相関判定部75は、過去側フレームの、注目画素の位置から、候補ベクトル算出部12(図5)からの、注目画素の背景ベクトルv1だけ逆方向に移動した位置を中心とする、相関判定ブロックよりも、横と縦とのそれぞれが数画素(例えば、4画素等)だけ大きいエリアをサーチエリアとして、相関判定ブロックのブロックマッチングを行う。
さらに、逆方向背景相関判定部75は、相関判定ブロックのブロックマッチングの結果得られる評価値テーブルの評価値の分布に基づき、注目画素について、背景逆方向動き相関の有無を判定する。
ここで、背景逆方向動き相関とは、注目画素に写っている被写体が、過去側フレームから、未来側フレームにわたって、背景ベクトルv1だけ移動している場合に、未来側フレームの注目画素の位置の画素と、過去側フレームの注目画素の位置から背景ベクトルv1だけ、逆方向に移動した位置(注目画素の位置から、背景ベクトルv1だけ戻った位置)の画素との間にあるであろう、画素どうしの相関を意味する。
逆方向背景相関判定部75は、注目画素について、背景逆方向動き相関の有無を判定すると、その判定結果に従い、背景情報記憶部76の背景カウンタ78を制御する。
すなわち、逆方向背景相関判定部75は、注目画素について、背景逆方向動き相関があると判定した場合、背景カウンタ78に、背景カウント値をインクリメントさせる。また、逆方向背景相関判定部75は、注目画素について、背景逆方向動き相関がないと判定した場合、背景カウンタ78に、背景カウント値を、例えば、0にリセットさせる。
逆方向背景相関判定部75は、上述したように、背景情報記憶部76の背景カウンタ78を制御する他、背景情報記憶部76の背景ベクトルメモリ77も制御し、候補ベクトル算出部12(図5)からの注目画素の背景ベクトルv1を、背景ベクトルメモリ77に記憶させる。
また、逆方向背景相関判定部75は、必要に応じて、フレーム回数カウンタ71からの回数カウント値を、背景カウンタ78に、背景カウンタ値として記憶させる。
背景情報記憶部76は、背景ベクトルメモリ77と背景カウンタ78から構成される。
背景ベクトルメモリ77は、順方向背景相関判定部74や逆方向背景相関判定部75の制御に従い、注目画素の背景ベクトルv1を記憶する。
なお、背景ベクトルメモリ77は、背景ベクトルv1を記憶する記憶領域として、2つのバンク#1及び#2を有している。さらに、背景ベクトルメモリ77のバンク#1は、注目フレームの画素(補間画素)ごとに、背景ベクトルv1を記憶する。すなわち、背景ベクトルメモリ77のバンク#1は、補間フレームの各画素に対応するアドレスに、その画素の背景ベクトルv1を記憶する。背景ベクトルメモリ77のバンク#2も同様である。
背景カウンタ78は、順方向背景相関判定部74や逆方向背景相関判定部75の制御に従い、注目画素について、背景ベクトルv1に従った動き、及び画像の相関が連続している回数を表す背景カウント値のカウントを行う。
背景カウンタ78の背景カウント値は、順方向動き判定部91、及び、逆方向動き判定部92に供給される。
なお、背景カウンタ78は、背景カウント値を記憶する記憶領域として、2つのバンク#1及び#2を有している。さらに、背景カウンタ78のバンク#1は、注目フレームの画素(補間画素)ごとに、背景カウント値を記憶する。すなわち、背景カウンタ78のバンク#1は、補間フレームの各画素に対応するアドレスに、その画素についての背景カウント値を記憶する。背景カウンタ78のバンク#2も同様である。
順方向物体相関判定部81は、外部からの入力画像の過去側フレームと未来側フレームとのうちの、過去側フレームの、注目画素の位置の画素を中心とする、例えば、横×縦が9×9画素等の所定のサイズのブロックを、相関判定ブロックとする。
そして、順方向物体相関判定部81は、未来側フレームの、注目画素の位置から、候補ベクトル算出部12(図5)からの、注目画素の物体ベクトルv2(注目ブロックの物体ベクトルv2)だけ順方向に移動した位置を中心とする、相関判定ブロックよりも、横と縦とのそれぞれが数画素(例えば、4画素等)だけ大きいエリアをサーチエリアとして、相関判定ブロックのブロックマッチングを行う。
さらに、順方向物体相関判定部81は、相関判定ブロックのブロックマッチングの結果得られる評価値テーブルの評価値の分布に基づき、注目画素について、物体順方向動き相関の有無を判定する。
ここで、物体順方向動き相関とは、注目画素に写っている被写体が、過去側フレームから、未来側フレームにわたって、物体ベクトルv2だけ移動している場合に、過去側フレームの注目画素の位置の画素と、未来側フレームの注目画素の位置から物体ベクトルv2だけ、順方向に移動した位置の画素との間にあるであろう、画素どうしの相関を意味する。
順方向物体相関判定部81は、注目画素について、物体順方向動き相関の有無を判定すると、その判定結果に従い、物体情報記憶部83の物体カウンタ85を制御する。
すなわち、順方向物体相関判定部81は、注目画素について、物体順方向動き相関があると判定した場合、物体カウンタ85に、物体カウント値をインクリメントさせる。また、順方向物体相関判定部81は、注目画素について、物体順方向動き相関がないと判定した場合、物体カウンタ85に、物体カウント値を、例えば、0にリセットさせる。
順方向物体相関判定部81は、上述したように、物体情報記憶部83の物体カウンタ85を制御する他、物体情報記憶部83の物体ベクトルメモリ84も制御し、候補ベクトル算出部12(図5)からの注目画素の物体ベクトルv2を、物体ベクトルメモリ84に記憶させる。
その他、順方向物体相関判定部81は、物体情報記憶部83の物体回数カウンタ86を制御する。
逆方向物体相関判定部82は、外部からの入力画像の過去側フレームと未来側フレームとのうちの、未来側フレームの、注目画素の位置の画素を中心とする、例えば、横×縦が9×9画素等の所定のサイズのブロックを、相関判定ブロックとする。
そして、逆方向物体相関判定部82は、過去側フレームの、注目画素の位置から、候補ベクトル算出部12(図5)からの、注目画素の物体ベクトルv2だけ逆方向に移動した位置を中心とする、相関判定ブロックよりも、横と縦とのそれぞれが数画素(例えば、4画素等)だけ大きいエリアをサーチエリアとして、相関判定ブロックのブロックマッチングを行う。
さらに、逆方向物体相関判定部82は、相関判定ブロックのブロックマッチングの結果得られる評価値テーブルの評価値の分布に基づき、注目画素について、物体逆方向動き相関の有無を判定する。
ここで、物体逆方向動き相関とは、注目画素に写っている被写体が、過去側フレームから、未来側フレームにわたって、物体ベクトルv2だけ移動している場合に、未来側フレームの注目画素の位置の画素と、過去側フレームの注目画素の位置から物体ベクトルv2だけ、逆方向に移動した位置(注目画素の位置から物体ベクトルv2だけ戻った位置)の画素との間にあるであろう、画素どうしの相関を意味する。
逆方向物体相関判定部82は、注目画素について、物体逆方向動き相関の有無を判定すると、その判定結果に従い、物体情報記憶部83の物体カウンタ85を制御する。
すなわち、逆方向物体相関判定部82は、注目画素について、物体逆方向動き相関があると判定した場合、物体カウンタ85に、物体カウント値をインクリメントさせる。また、逆方向物体相関判定部82は、注目画素について、物体逆方向動き相関がないと判定した場合、物体カウンタ85に、物体カウント値を、例えば、0にリセットさせる。
逆方向物体相関判定部82は、上述したように、物体情報記憶部83の物体カウンタ85を制御する他、物体情報記憶部83の物体ベクトルメモリ84も制御し、候補ベクトル算出部12(図5)からの注目画素の物体ベクトルv2を、物体ベクトルメモリ84に記憶させる。
また、逆方向物体相関判定部82は、必要に応じて、フレーム回数カウンタ71からの回数カウント値を、物体カウンタ85に、物体カウンタ値として記憶させる。
その他、逆方向物体相関判定部82は、物体情報記憶部83の物体回数カウンタ86を制御する。
物体情報記憶部83は、物体ベクトルメモリ84、物体カウンタ85、及び、物体回数カウンタ86から構成される。
物体ベクトルメモリ84は、順方向物体相関判定部81や逆方向物体相関判定部82の制御に従い、注目画素の物体ベクトルv2を記憶する。
なお、物体ベクトルメモリ84は、物体ベクトルv2を記憶する記憶領域として、2つのバンク#1及び#2を有している。さらに、物体ベクトルメモリ84のバンク#1は、注目フレームの画素(補間画素)ごとに、物体ベクトルv2を記憶する。すなわち、物体ベクトルメモリ84のバンク#1は、補間フレームの各画素に対応するアドレスに、その画素の物体ベクトルv2を記憶する。物体ベクトルメモリ84のバンク#2も同様である。
物体カウンタ85は、順方向物体相関判定部81や逆方向物体相関判定部82の制御に従い、注目画素について、物体ベクトルv2に従った動き、及び画像の相関が連続している回数を表す物体カウント値のカウントを行う。
物体カウンタ85の物体カウント値は、順方向動き判定部91、及び、逆方向動き判定部92に供給される。
なお、物体カウンタ85は、物体カウント値を記憶する記憶領域として、2つのバンク#1及び#2を有している。さらに、物体カウンタ85のバンク#1は、注目フレームの画素(補間画素)ごとに、物体カウント値を記憶する。すなわち、物体カウンタ85のバンク#1は、補間フレームの各画素に対応するアドレスに、その画素についての物体カウント値を記憶する。物体カウンタ85のバンク#2も同様である。
物体回数カウンタ86は、順方向物体相関判定部81や逆方向物体相関判定部82の制御に従い、注目画素について、物体ベクトルv2に従った動きが連続している回数を表す物体回数カウント値のカウントを行う。
なお、物体回数カウンタ86は、物体回数カウント値を記憶する記憶領域として、2つのバンク#1及び#2を有している。さらに、物体回数カウンタ86のバンク#1は、注目フレームの画素(補間画素)ごとに、物体回数カウント値を記憶する。すなわち、物体回数カウンタ86のバンク#1は、補間フレームの各画素に対応するアドレスに、その画素についての物体回数カウント値を記憶する。物体回数カウンタ86のバンク#2も同様である。
順方向動き推定部91は、静止カウンタ73の静止カウント値、背景カウンタ78の背景カウント値、及び、物体カウンタ85の物体カウント値の大小関係、さらには、候補ベクトル算出部12(図5)からの必要な順方向動き判定情報等に基づき、注目画素の背景ベクトルv1、物体ベクトルv2、又は、0ベクトルを、注目画素の順方向ベクトルとして求める。
逆方向動き推定部92は、静止カウンタ73の静止カウント値、背景カウンタ78の背景カウント値、及び、物体カウンタ85の物体カウント値の大小関係、さらには、候補ベクトル算出部12からの必要な逆方向動き判定情報等に基づき、注目画素の背景ベクトルv1、物体ベクトルv2、又は、0ベクトルを、注目画素の逆方向ベクトルとして求める。
なお、画素単位動き推定部13において、フレーム回数カウンタ71のバンク#1と#2には、値が、交互に書き込まれる(記憶される)。静止カウンタ73、背景ベクトルメモリ77、背景カウンタ78、物体ベクトルメモリ84、物体カウンタ85、及び、物体回数カウンタ86のバンク#1と#2についても、同様である。
次に、図30を参照して、図29の順方向背景相関判定部74、逆方向背景相関判定部75、順方向物体相関判定部81、及び、逆方向物体相関判定部82において、画素どうしの相関の有無の判定に用いる評価値テーブルを生成するブロックマッチングについて説明する。
順方向背景相関判定部74は、図30Aに示すように、過去側フレーム(第n-1フレーム)の、注目画素の位置の画素を中心とする所定のサイズのブロックを、相関判定ブロックとする。さらに、順方向背景相関判定部74は、未来側フレーム(第nフレーム)の、注目画素の位置から、注目画素の背景ベクトルv1だけ順方向に移動した位置を中心とする、相関判定ブロックよりも、横と縦とのそれぞれが数画素だけ大きいエリアをサーチエリアとして、相関判定ブロックのブロックマッチングを行う。
逆方向背景相関判定部75は、図30Bに示すように、未来側フレーム(第nフレーム)の、注目画素の位置の画素を中心とする所定のサイズのブロックを、相関判定ブロックとする。さらに、逆方向背景相関判定部75は、過去側フレーム(第n-1フレーム)の、注目画素の位置から、注目画素の背景ベクトルv1だけ逆方向に移動した位置(ベクトル-v1だけ移動した位置)を中心とする、相関判定ブロックよりも、横と縦とのそれぞれが数画素だけ大きいエリアをサーチエリアとして、相関判定ブロックのブロックマッチングを行う。
順方向物体相関判定部81は、図30Aに示すように、過去側フレーム(第n-1フレーム)の、注目画素の位置の画素を中心とする所定のサイズのブロックを、相関判定ブロックとする。さらに、順方向物体相関判定部81は、未来側フレーム(第nフレーム)の、注目画素の位置から、注目画素の物体ベクトルv2だけ順方向に移動した位置を中心とする、相関判定ブロックよりも、横と縦とのそれぞれが数画素だけ大きいエリアをサーチエリアとして、相関判定ブロックのブロックマッチングを行う。
逆方向物体相関判定部82は、図30Bに示すように、未来側フレーム(第nフレーム)の、注目画素の位置の画素を中心とする所定のサイズのブロックを、相関判定ブロックとする。さらに、逆方向物体相関判定部82は、過去側フレームの、注目画素の位置から、注目画素の物体ベクトルv2だけ逆方向に移動した位置(ベクトル-v2だけ移動した位置)を中心とする、相関判定ブロックよりも、横と縦とのそれぞれが数画素だけ大きいエリアをサーチエリアとして、相関判定ブロックのブロックマッチングを行う。
[画素単位動き推定処理の説明]
図31ないし図38をを参照して、図29の画素単位動き推定部13が、図7のステップS14で行う処理(画素単位動き推定処理)を説明する。
図31は、画素単位動き推定処理を説明するフローチャートである。
ステップS61において、画素単位動き推定部13は、候補ベクトル算出部12(図5)からの注目フレームのシーンチェンジ判定信号、並びに、注目フレームの小ブロックごとの背景ベクトルv1、物体ベクトルv2、順方向動き判定情報、及び、逆方向動き判定情報を受信する。
さらに、ステップS61では、画素単位動き推定部13は、外部からの入力画像の過去側フレーム、及び、未来側フレームを受信する。
そして、画素単位動き推定部13では、外部からの入力画像の過去側フレーム、及び、未来側フレーム、並びに、候補ベクトル算出部12(図5)からのシーンチェンジ判定信号が、フレーム回数カウンタ71、静止相関判定部72、順方向背景相関判定部74、逆方向背景相関判定部75、順方向物体相関判定部81、及び、逆方向物体相関判定部82に供給される。
さらに、候補ベクトル算出部12からの背景ベクトルv1が、順方向背景相関判定部74、及び、逆方向背景相関判定部75に供給され、物体ベクトルv2が、順方向物体相関判定部81、及び、逆方向物体相関判定部82に供給される。
また、候補ベクトル算出部12からの順方向動き判定情報が、順方向動き推定部91に供給され、逆方向動き判定情報が、逆方向動き推定部92に供給される。
そして、処理は、ステップS61からステップS62に進み、フレーム回数カウンタ71、及び、順方向背景相関判定部74は、候補ベクトル算出部12(図5)からのシーンチェンジ判定信号に基づき、過去側フレームから未来側フレームの間に、シーンチェンジが生じているかどうかを判定する。
ステップS62において、シーンチェンジが生じていないと判定された場合、処理は、ステップS63に進み、フレーム回数カウンタ71は、そのバンク#2に記憶された回数カウント値を読み出す。さらに、フレーム回数カウンタ71は、バンク#2から読み出した回数カウント値を1だけインクリメントし、バンク#1に書き込んで(記憶させ)、処理は、ステップS63からステップS65に進む。
また、ステップS62において、シーンチェンジが生じていると判定された場合、処理は、ステップS64に進み、フレーム回数カウンタ71は、そのバンク#1及び#2に記憶された回数カウント値を0にリセットする。
さらに、ステップS64では、順方向背景相関判定部74が、背景カウンタ78のバンク#1及び#2のすべてのアドレスの背景カウント値を0にリセットし、処理は、ステップS65に進む。
ステップS65では、静止相関判定部72は、注目フレームの画素(補間画素)のうちの、注目画素としていない画素の1つを、注目画素に選択し、処理は、ステップS66に進む。
ステップS66では、静止相関判定部72は、外部からの入力画像の過去側フレームと未来側フレームとのうちの、過去側フレームの、注目画素の位置の画素を中心とする所定のサイズのブロックを、相関の有無の判定に用いる相関判定ブロックとする。
さらに、静止相関判定部72は、過去側フレームと未来側フレームとのうちの、未来側フレームの、注目画素の位置を中心とする、相関判定ブロックよりも、横と縦とのそれぞれが数画素だけ大きいエリアをサーチエリアとして、相関判定ブロックのブロックマッチングを行う。このブロックマッチングによって、評価値テーブルが求められる。
その後、処理は、ステップS66からステップS67に進み、静止相関判定部72は、相関判定ブロックのブロックマッチングの結果得られる評価値テーブルの評価値の分布に基づき、注目画素について、静止相関の有無を判定する。
ステップS67において、注目画素について、静止相関があると判定された場合、処理は、ステップS68に進み、静止相関判定部72は、静止カウンタ73の、注目画素の位置に対応するアドレスの静止カウント値をインクリメントする。
すなわち、静止相関判定部72は、静止カウンタ73のバンク#2の、注目画素の位置に対応するアドレスの静止カウント値を読み出してインクリメントし、そのインクリメント後の静止カウント値を、静止カウンタ73のバンク#1の、注目画素の位置に対応するアドレスに書き込む。
また、ステップS67において、注目画素について、静止相関がないと判定された場合、処理は、ステップS69に進み、静止相関判定部72は、静止カウンタ73のバンク#1の、注目画素の位置に対応するアドレスの静止カウント値を、0にリセットする。
以上のように、未来側フレームの、注目画素の位置の画素と、過去側フレームの、注目画素の位置の画素との間に相関(静止相関)がある場合、静止相関判定部72は、静止カウンタ73の、注目画素の位置に対応するアドレスの静止カウント値をインクリメントする。一方、静止相関がない場合、静止相関判定部72は、注目画素の位置に対応するアドレスの静止カウント値をリセットする。
ステップS68、又はS69の後は、処理は、図32のステップS81に進む。
すなわち、図32は、図31に続くフローチャートである。
図32のステップS81では、順方向背景相関判定部74が、外部からの入力画像の過去側フレームと未来側フレームとのうちの、過去側フレームの、注目画素の位置の画素を中心とする所定のサイズのブロックを、相関判定ブロックとする。
さらに、順方向背景相関判定部74は、未来側フレームの、注目画素の位置から、候補ベクトル算出部12(図5)からの、注目画素(を含む注目ブロック)の背景ベクトルv1だけ順方向に移動した位置を中心とする、相関判定ブロックよりも、横と縦とのそれぞれが数画素だけ大きいエリアをサーチエリアとして、相関判定ブロックのブロックマッチングを行う。このブロックマッチングにより、評価値テーブルが求められる。
その後、処理は、ステップS81からステップS82に進み、順方向背景相関判定部74は、相関判定ブロックのブロックマッチングの結果得られる評価値テーブルの評価値の分布に基づき、注目画素について、背景順方向動き相関の有無を判定する。
ステップS82において、注目画素について、背景順方向動き相関があると判定された場合、処理は、ステップS83に進み、順方向背景相関判定部74は、背景カウンタ78の、注目画素の位置に対応するアドレスの背景カウント値をインクリメントする。
すなわち、順方向背景相関判定部74は、背景カウンタ78のバンク#2の、注目画素の位置に対応するアドレスの背景カウント値を読み出してインクリメントし、そのインクリメント後の背景カウント値を、背景カウンタ78のバンク#1の、注目画素の位置に対応するアドレスに書き込む。
また、ステップS82において、注目画素について、背景順方向動き相関がないと判定された場合、処理は、ステップS84に進み、順方向背景相関判定部74は、背景カウンタ78のバンク#1の、注目画素の位置に対応するアドレスの背景カウント値を、0にリセットする。
以上のように、過去側フレームの、注目画素の位置の画素と、未来側フレームの、注目画素の位置から背景ベクトルv1に従って移動した位置の画素との間に相関(背景順方向動き相関)がある場合、順方向背景相関判定部74は、背景カウンタ78の注目画素の位置に対応するアドレスの背景カウント値をインクリメントする。一方、背景順方向動き相関がない場合、順方向背景相関判定部74は、注目画素の位置に対応するアドレスの背景カウント値をリセットする。
ステップS83、又はS84の後は、処理は、ステップS85に進み、順方向背景相関判定部74は、背景ベクトルメモリ77のバンク#1及び#2のうちの、いま注目フレームとなっている補間フレームの1フレーム前の補間フレームが注目フレームであったときに背景ベクトルの書き込みが行われなかった方の、例えば、バンク#1の注目画素の位置に対応するアドレスに、候補ベクトル算出部12(図5)からの注目画素の背景ベクトルv1を書き込む(記憶させる)。
そして、処理は、ステップS85から、図33のステップS91に進む。
すなわち、図33は、図32に続くフローチャートである。
図33のステップS91では、順方向物体相関判定部81が、外部からの入力画像の過去側フレームと未来側フレームとのうちの、過去側フレームの、注目画素の位置の画素を中心とする所定のサイズのブロックを、相関判定ブロックとする。
さらに、順方向物体相関判定部81は、未来側フレームの、注目画素の位置から、候補ベクトル算出部12(図5)からの、注目画素の物体ベクトルv2だけ順方向に移動した位置を中心とする、相関判定ブロックよりも、横と縦とのそれぞれが数画素だけ大きいエリアをサーチエリアとして、相関判定ブロックのブロックマッチングを行う。このブロックマッチングにより、評価値テーブルが求められる。
その後、処理は、ステップS91からステップS92に進み、順方向物体相関判定部81は、相関判定ブロックのブロックマッチングの結果得られる評価値テーブルの評価値の分布に基づき、注目画素について、物体順方向動き相関の有無を判定する。
ステップS92において、注目画素について、物体順方向動き相関があると判定された場合、処理は、ステップS93に進み、順方向物体相関判定部81は、物体カウンタ85の、注目画素の位置に対応するアドレスの物体カウント値をインクリメントする。
すなわち、順方向物体相関判定部81は、物体カウンタ85のバンク#2の、注目画素の位置に対応するアドレスの物体カウント値を読み出してインクリメントし、そのインクリメント後の物体カウント値を、物体カウンタ85のバンク#1の、注目画素の位置に対応するアドレスに書き込む。
さらに、ステップS93では、順方向物体相関判定部81は、物体回数カウンタ86の、注目画素の位置に対応するアドレスの物体カウント値をインクリメントする。
すなわち、順方向物体相関判定部81は、物体回数カウンタ86のバンク#2の、注目画素の位置に対応するアドレスの物体回数カウント値を読み出してインクリメントし、そのインクリメント後の物体回数カウント値を、物体回数カウンタ86のバンク#1の、注目画素の位置に対応するアドレスに書き込む。
一方、ステップS92において、注目画素について、物体順方向動き相関がないと判定された場合、処理は、ステップS94に進み、順方向物体相関判定部81は、物体カウンタ85のバンク#1の、注目画素の位置に対応するアドレスの物体カウント値を、0にリセットする。
さらに、ステップS94では、順方向物体相関判定部81は、物体回数カウンタ86のバンク#2の、注目画素の位置に対応するアドレスの物体回数カウント値を読み出してインクリメントし、そのインクリメント後の物体回数カウント値を、物体回数カウンタ86のバンク#1の、注目画素の位置に対応するアドレスに書き込む。
以上のように、過去側フレームの、注目画素の位置の画素と、未来側フレームの、注目画素の位置から物体ベクトルv2に従って移動した位置の画素との間に相関(物体順方向動き相関)がある場合、順方向物体相関判定部81は、物体カウンタ85の注目画素の位置に対応するアドレスの物体カウント値をインクリメントする。一方、物体順方向動き相関がない場合、順方向物体相関判定部81は、注目画素の位置に対応するアドレスの物体カウント値をリセットする。なお、物体回数カウント値は、物体順方向動き相関の有無に関係なく、インクリメントされる。
ステップS93、又はS94の後は、処理は、ステップS95に進み、順方向物体相関判定部81は、物体ベクトルメモリ84のバンク#1及び#2のうちの、いま注目フレームとなっている補間フレームの1フレーム前の補間フレームが注目フレームであったときに物体ベクトルの書き込みが行われなかった方の、例えば、バンク#1の注目画素の位置に対応するアドレスに、候補ベクトル算出部12(図5)からの注目画素の物体ベクトルv2を書き込む(記憶させる)。
そして、処理は、ステップS95から、図34のステップS101に進む。
すなわち、図34は、図33に続くフローチャートである。
図34のステップS101では、順方向動き推定部91が、静止カウンタ73のバンク#1の、注目画素の位置に対応するアドレスの静止カウント値(以下、注目画素の静止カウント値ともいう)、背景カウンタ78のバンク#1の、注目画素の位置に対応するアドレスの背景カウント値(以下、注目画素の背景カウント値ともいう)、及び、物体カウンタ85のバンク#1の、注目画素の位置に対応するアドレスの物体カウント値(以下、注目画素の物体カウント値ともいう)の大小関係を判定する。
すなわち、ステップS101では、注目画素の静止カウント値、背景カウント値、及び、物体カウント値の中で、最大のカウント値が判定される。
ステップS101において、注目画素の静止カウント値、背景カウント値、及び、物体カウント値の中の最大のカウント値が、静止カウント値のみであると判定された場合、処理は、ステップS102に進み、順方向動き推定部91は、0ベクトルを、注目画素の順方向ベクトルに決定する。
そして、順方向動き推定部91は、注目画素の順方向ベクトルを、補間画素動き判定部14(図5)に供給して、処理は、ステップS102からステップS110に進む。
また、ステップS101において、注目画素の静止カウント値、背景カウント値、及び、物体カウント値の中の最大のカウント値が、静止カウント値のみではないと判定された場合、すなわち、静止カウント値、背景カウント値、及び、物体カウント値が、すべて同一の値であるか、背景カウント値と物体カウント値とが、静止カウント値よりも大きい同一の値になっているか、又は、背景カウント値だけ、若しくは、物体カウント値だけが、他の値よりも大きい値になっている場合、処理は、ステップS103に進み、順方向動き推定部91は、背景カウント値と物体カウント値との大小関係を判定する。
ステップS103において、背景カウント値と物体カウント値とが同一であると判定された場合、すなわち、背景カウント値、物体カウント値、及び、静止カウント値が、同一の値になっているか、又は、背景カウント値と物体カウント値とが、静止カウント値よりも大きい同一の値になっている場合、処理は、ステップS104に進み、順方向動き推定部91は、背景ベクトルメモリ77のバンク#1に記憶された注目画素の背景ベクトルv1(注目画素の位置に対応するアドレスの背景ベクトルv1)と、物体ベクトルメモリ84のバンク#1に記憶された注目画素の物体ベクトルv2(注目画素の位置に対応するアドレスの物体ベクトルv2)とのうちの、候補ベクトル算出部12からの注目画素を含む小ブロック(注目ブロック)の順方向動き判定情報が表すベクトルを、注目画素の順方向ベクトルに決定する。
そして、順方向動き推定部91は、注目画素の順方向ベクトルを、補間画素動き判定部14(図5)に供給して、処理は、ステップS104からステップS110に進む。
また、ステップS103において、背景カウント値が、物体カウント値よりも大きいと判定された場合、すなわち、注目画素の静止カウント値、背景カウント値、及び、物体カウント値の中の最大のカウント値が、背景カウント値のみであるか、又は、背景カウント値と静止カウント値である場合、処理は、ステップS105に進み、順方向動き推定部91は、背景カウンタ78のバンク#1の注目画素の背景カウント値が、フレーム回数カウンタ71のバンク#1の回数カウント値よりも小さいかどうかを判定する。
ステップS105において、背景カウンタ78のバンク#1の注目画素の背景カウント値が、フレーム回数カウンタ71のバンク#1の回数カウント値よりも小さくないと判定された場合、処理は、ステップS106に進み、順方向動き推定部91は、背景ベクトルメモリ77のバンク#1に記憶された注目画素の背景ベクトルv1を、注目画素の順方向ベクトルに決定する。
そして、順方向動き推定部91は、注目画素の順方向ベクトルを、補間画素動き判定部14(図5)に供給して、処理は、ステップS106からステップS110に進む。
また、ステップS105において、背景カウンタ78のバンク#1の注目画素の背景カウント値が、フレーム回数カウンタ71のバンク#1の回数カウント値よりも小さいと判定された場合、処理は、ステップS107に進み、順方向動き推定部91は、評価値テーブルに基づき、背景ベクトルメモリ77のバンク#1に記憶された注目画素の背景ベクトルv1、及び、物体ベクトルメモリ84のバンク#1に記憶された注目画素の物体ベクトルv2のうちの一方を、注目画素の順方向ベクトルに決定する。
すなわち、順方向動き推定部91は、図32のステップS81で、順方向背景相関判定部74が背景ベクトルv1を用いて行ったブロックマッチングによって得られた評価値テーブル(背景順方向動き相関の有無の判定に用いられた評価値テーブル)と、図33のステップS91で、順方向物体相関判定部81が物体ベクトルv2を用いて行ったブロックマッチングによって得られた評価値テーブル(物体順方向動き相関の有無の判定に用いられた評価値テーブル)とのうちの、最小の評価値を有する方の評価値テーブル(以下、最小評価値テーブルともいう)に対応する背景ベクトルv1、又は物体ベクトルv2を、注目画素の順方向ベクトルに決定する。
つまり、最小評価値テーブルが、順方向背景相関判定部74が背景ベクトルv1を用いて行ったブロックマッチングによって得られた評価値テーブルである場合には、順方向動き推定部91は、その評価値テーブルに対応する背景ベクトルv1(評価値テーブルを求めるブロックマッチングで用いた注目画素の背景ベクトルv1)を、背景ベクトルメモリ77のバンク#1の注目画素の位置に対応するアドレスから読み出して、注目画素の順方向ベクトルに決定する。
また、最小評価値テーブルが、順方向物体相関判定部81が物体ベクトルv2を用いて行ったブロックマッチングによって得られた評価値テーブルである場合には、順方向動き推定部91は、その評価値テーブルに対応する物体ベクトルv2(評価値テーブルを求めるブロックマッチングで用いた注目画素の物体ベクトルv2)を、物体ベクトルメモリ84のバンク#1の注目画素の位置に対応するアドレスから読み出して、注目画素の順方向ベクトルに決定する。
そして、順方向動き推定部91は、注目画素の順方向ベクトルを、補間画素動き判定部14(図5)に供給して、処理は、ステップS107からステップS110に進む。
一方、ステップS103において、物体カウント値が、背景カウント値よりも大きいと判定された場合、すなわち、注目画素の静止カウント値、背景カウント値、及び、物体カウント値の中の最大のカウント値が、物体カウント値のみであるか、又は、物体カウント値と静止カウント値である場合、処理は、ステップS108に進み、順方向動き推定部91は、物体カウンタ85のバンク#1の注目画素の物体カウント値が、物体回数カウンタ86のバンク#1の注目画素の物体回数カウント値(注目画素の位置に対応するアドレスの物体回数カウント値)よりも小さいかどうかを判定する。
ステップS108において、物体カウンタ85のバンク#1の注目画素の物体カウント値が、物体回数カウンタ86のバンク#1の物体回数カウント値よりも小さくないと判定された場合、処理は、ステップS109に進み、順方向動き推定部91は、物体ベクトルメモリ84のバンク#1に記憶された注目画素の物体ベクトルv2を、注目画素の順方向ベクトルに決定する。
そして、順方向動き推定部91は、注目画素の順方向ベクトルを、補間画素動き判定部14(図5)に供給して、処理は、ステップS109からステップS110に進む。
また、ステップS108において、物体カウンタ85のバンク#1の注目画素の物体カウント値が、物体回数カウンタ86のバンク#1の物体回数カウント値よりも小さいと判定された場合、処理は、ステップS107に進み、上述したように、順方向動き推定部91は、評価値テーブルに基づき、物体ベクトルメモリ84のバンク#1に記憶された注目画素の背景ベクトルv1、及び、物体ベクトルメモリ84のバンク#1に記憶された注目画素の物体ベクトルv2のうちの一方を、注目画素の順方向ベクトルに決定する。
そして、順方向動き推定部91は、注目画素の順方向ベクトルを、補間画素動き判定部14(図5)に供給して、処理は、ステップS107からステップS110に進む。
以上のように、順方向動き推定部91では、背景カウント値、物体カウント値、及び、静止カウント値の大小関係に基づいて、背景ベクトルv1、物体ベクトルv2、又は、0ベクトルが、順方向ベクトルとして求められる。
すなわち、順方向動き推定部91では、基本的には、背景ベクトルv1、物体ベクトルv2、及び、0ベクトルのうちの、背景カウント値、物体カウント値、及び、静止カウント値の中の最大のカウント値に対応するベクトルが、順方向ベクトルとして求められる。
但し、背景カウント値、物体カウント値、及び、静止カウント値のうちの2以上が最大値である場合には、背景ベクトルv1、及び、物体ベクトルv2のうちの、順方向動き判定情報が表すベクトルが、順方向ベクトルとして求められる。
また、背景カウント値、物体カウント値、及び、静止カウント値の中の最大値が、背景カウント値である場合において、背景カウント値が、回数カウント値よりも小であるときと、最大値が、物体カウント値である場合において、物体カウント値が、物体回数カウンタよりも小であるときには、背景順方向動き相関の有無の判定に用いられた評価値テーブル(背景ベクトルv1に対応する評価値テーブル)と、物体順方向動き相関の有無の判定に用いられた評価値テーブル(物体ベクトルv2に対応する評価値テーブル)とのうちの、最小の評価値(画像の一致の度合いが最も良いことを表す評価値)を有する方の評価値テーブルに対応する背景ベクトルv1、又は物体ベクトルv2が、順方向ベクトルとして求められる。
ステップS110では、静止相関判定部72は、注目フレームの画素(補間画素)の中に、注目画素としていない画素があるかどうかを判定する。
ステップS110において、注目フレームに、注目画素としていない画素があると判定された場合、処理は、図31のステップS65に戻り、以下、同様の処理が繰り返される。
また、ステップS110において、注目フレームに、注目画素としていない画素がないと判定された場合、注目フレームの各画素を、注目画素とした旨の情報がリセットされ、処理は、図35のステップS111に進む。
すなわち、図35は、図34に続くフローチャートである。
図35のステップS111では、フレーム回数カウンタ71が、そのバンク#1に記憶された回数カウント値を読み出す。さらに、フレーム回数カウンタ71は、バンク#1から読み出した回数カウント値を1だけインクリメントし、バンク#2に書き込んで、処理は、ステップS111からステップS112に進む。
ステップS112では、静止相関判定部72は、注目フレームの画素(補間画素)のうちの、注目画素としていない画素の1つを、注目画素に選択し、処理は、ステップS113に進む。
ステップS113では、静止相関判定部72は、外部からの入力画像の過去側フレームと未来側フレームとのうちの、未来側フレームの、注目画素の位置の画素を中心とする所定のサイズのブロックを、相関の有無の判定に用いる相関判定ブロックとする。
さらに、静止相関判定部72は、過去側フレームと未来側フレームとのうちの、過去側フレームの、注目画素の位置を中心とする、相関判定ブロックよりも、横と縦とのそれぞれが数画素だけ大きいエリアをサーチエリアとして、相関判定ブロックのブロックマッチングを行う。このブロックマッチングによって、評価値テーブルが求められる。
その後、処理は、ステップS113からステップS114に進み、静止相関判定部72は、相関判定ブロックのブロックマッチングの結果得られる評価値テーブルの評価値の分布に基づき、注目画素について、静止相関の有無を判定する。
ステップS114において、注目画素について、静止相関があると判定された場合、処理は、ステップS115に進み、静止相関判定部72は、静止カウンタ73の、注目画素の位置に対応するアドレスの静止カウント値をインクリメントする。
すなわち、静止相関判定部72は、静止カウンタ73のバンク#1の、注目画素の位置に対応するアドレスの静止カウント値を読み出してインクリメントし、そのインクリメント後の静止カウント値を、静止カウンタ73のバンク#2の、注目画素の位置に対応するアドレスに書き込む。
また、ステップS114において、注目画素について、静止相関がないと判定された場合、処理は、ステップS116に進み、静止相関判定部72は、静止カウンタ73のバンク#2の、注目画素の位置に対応するアドレスの静止カウント値を、0にリセットする。
以上のように、未来側フレームの、注目画素の位置の画素と、過去側フレームの、注目画素の位置の画素との間に相関(静止相関)がある場合、静止相関判定部72は、静止カウンタ73の、注目画素の位置に対応するアドレスの静止カウント値をインクリメントする。一方、静止相関がない場合、静止相関判定部72は、注目画素の位置に対応するアドレスの静止カウント値をリセットする。
ステップS115、又はS116の後は、処理は、図36のステップS121に進む。
すなわち、図36は、図35に続くフローチャートである。
図36のステップS121では、逆方向背景相関判定部75が、外部からの入力画像の過去側フレームの、注目画素の位置から、候補ベクトル算出部12(図5)からの注目画素(を含む注目ブロック)の背景ベクトルv1に従って逆方向に移動した位置(注目画素の位置から、背景ベクトルv1だけ戻った位置)が、画枠外の位置であるかどうかを判定する。
ステップS121において、過去側フレームの、注目画素の位置から注目画素の背景ベクトルv1に従って逆方向に移動した位置が、画枠外の位置であると判定された場合、すなわち、注目画素の背景ベクトルv1が、過去側フレームの画枠外の位置から、未来側フレームの画枠内の位置への動きを表すベクトルである場合、処理は、ステップS122に進み、逆方向背景相関判定部75は、背景カウンタ78のバンク#2の注目画素の位置に対応するアドレスに、フレーム回数カウンタ71のバンク#2に記憶された回数カウント値を書き込み、処理は、図37のステップS131に進む。
すなわち、ステップS122では、逆方向背景相関判定部75は、背景カウンタ78のバンク#2の注目画素の背景カウント値として、フレーム回数カウンタ71のバンク#2に記憶された回数カウント値をセットする。
また、ステップS121において、過去側フレームの、注目画素の位置から注目画素の背景ベクトルv1に従って逆方向に移動した位置が、画枠外の位置でないと判定された場合、処理は、ステップS123に進み、逆方向背景相関判定部75は、注目画素の背景ベクトルv1が、注目画素の位置から背景ベクトルv1に従って逆方向に移動した位置の、注目フレームの前の補間フレームの画素である前フレーム画素の背景ベクトル又は物体ベクトルに類似するかどうかを判定する。
すなわち、背景ベクトルメモリ77のバンク#2には、いま、注目フレームとなっている補間フレームの1フレーム前の補間フレーム(以下、前フレームともいう)を注目フレームとして、図32のステップS85の処理が行われることにより、前フレームの各画素の背景ベクトルが記憶されている。
したがって、背景ベクトルメモリ77のバンク#2では、注目画素の位置から背景ベクトルv1に従って逆方向に移動した位置(注目画素の位置からベクトル-v1だけ移動した位置)に対応するアドレスに、前フレームの、注目画素の位置から背景ベクトルv1に従って逆方向に移動した位置の前フレーム画素の背景ベクトルが記憶されている。
同様に、物体ベクトルメモリ84のバンク#2では、注目画素の位置から背景ベクトルv1に従って逆方向に移動した位置に対応するアドレスに、前フレームの、注目画素の位置から背景ベクトルv1に従って逆方向に移動した位置の前フレーム画素の物体ベクトルが記憶されている。
逆方向背景相関判定部75は、背景ベクトルメモリ77のバンク#2から、前フレームの、注目画素の位置から背景ベクトルv1に従って逆方向に移動した位置の前フレーム画素の背景ベクトルを読み出す。さらに、逆方向背景相関判定部75は、物体ベクトルメモリ84のバンク#2から、前フレームの、注目画素の位置から背景ベクトルv1に従って逆方向に移動した位置の前フレーム画素の物体ベクトルを読み出す。
そして、逆方向背景相関判定部75は、注目画素の背景ベクトルv1が、前フレームの、注目画素の位置から背景ベクトルv1に従って逆方向に移動した位置の前フレーム画素の背景ベクトル又は物体ベクトルに類似するかどうかを判定する。
ステップS123において、注目画素の背景ベクトルv1が、前フレーム画素の背景ベクトル又は物体ベクトルに類似すると判定された場合、すなわち、注目画素の背景ベクトルv1だけ戻った前フレーム画素が、注目画素の背景ベクトルv1で表される動きと同様の(類似する)動きをしており、したがって、少なくとも、前フレームと注目フレームとを含む複数の補間フレームにわたって、いわば、動きの連続性が認められる場合、処理は、ステップS124に進み、以下、背景逆方向動き相関の有無が判定される。
すなわち、ステップS124では、逆方向背景相関判定部75が、外部からの入力画像の過去側フレームと未来側フレームとのうちの、未来側フレームの、注目画素の位置の画素を中心とする所定のサイズのブロックを、相関判定ブロックとする。
さらに、逆方向背景相関判定部75は、過去側フレームの、注目画素の位置から、候補ベクトル算出部12(図5)からの、注目画素の背景ベクトルv1だけ逆方向に移動した位置を中心とする、相関判定ブロックよりも、横と縦とのそれぞれが数画素だけ大きいエリアをサーチエリアとして、相関判定ブロックのブロックマッチングを行う。このブロックマッチングにより、評価値テーブルが求められる。
その後、処理は、ステップS124からステップS125に進み、逆方向背景相関判定部75は、相関判定ブロックのブロックマッチングの結果得られる評価値テーブルの評価値の分布に基づき、注目画素について、背景逆方向動き相関の有無を判定する。
ステップS125において、注目画素について、背景逆方向動き相関があると判定された場合、処理は、ステップS126に進み、逆方向背景相関判定部75は、背景カウンタ78の、注目画素の位置に対応するアドレスの背景カウント値をインクリメントする。
すなわち、逆方向背景相関判定部75は、背景カウンタ78のバンク#1の、注目画素の位置から、背景ベクトルv1だけ逆方向に移動した位置に対応するアドレスの背景カウント値を読み出してインクリメントし、そのインクリメント後の背景カウント値を、背景カウンタ78のバンク#2の、注目画素の位置に対応するアドレスに書き込む。
また、ステップS125において、注目画素について、背景逆方向動き相関がないと判定された場合、並びに、上述のステップS123において、注目画素の背景ベクトルv1が、前フレーム画素の背景ベクトル、及び物体ベクトルのいずれにも類似しないと判定された場合、いずれの場合も、処理は、ステップS127に進み、逆方向背景相関判定部75は、背景カウンタ78のバンク#2の、注目画素の位置に対応するアドレスの背景カウント値を、0にリセットする。
以上のように、注目画素の位置から背景ベクトルv1に従って逆方向に移動した位置が、画枠外の位置である場合、逆方向背景相関判定部75は、注目画素の背景カウント値に、回数カウント値をセットする。
一方、注目画素の位置から背景ベクトルv1に従って逆方向に移動した位置が、画枠内の位置である場合には、注目画素の背景カウント値は、以下のように制御される。
すなわち、注目画素の背景ベクトルv1が、注目画素の位置から背景ベクトルv1に従って逆方向に移動した位置の、前フレームの前フレーム画素の背景ベクトル又は物体ベクトルに類似し、かつ、未来側フレームの、注目画素の位置の画素と、過去側フレームの、注目画素の位置から背景ベクトルv1に従って逆方向に移動した位置の画素との間に相関(背景逆方向動き相関)がある場合には、逆方向背景相関判定部75は、背景カウンタ78の注目画素の背景カウント値をインクリメントする。
また、注目画素の背景ベクトルv1が、注目画素の位置から背景ベクトルv1に従って逆方向に移動した位置の、前フレームの前フレーム画素の背景ベクトル、及び物体ベクトルのいずれにも類似しない場合、逆方向背景相関判定部75は、注目画素の背景カウント値をリセットする。
さらに、背景逆方向動き相関がない場合も、逆方向背景相関判定部75は、注目画素の背景カウント値をリセットする。
ステップS126、又はS127の後は、処理は、図37のステップS131に進む。
すなわち、図37は、図36に続くフローチャートである。
図37のステップS131では、逆方向物体相関判定部82が、外部からの入力画像の過去側フレームの、注目画素の位置から、候補ベクトル算出部12(図5)からの注目画素(を含む注目ブロック)の物体ベクトルv2に従って逆方向に移動した位置(注目画素の位置から、物体ベクトルv2だけ戻った位置)が、画枠外の位置であるかどうかを判定する。
ステップS131において、過去側フレームの、注目画素の位置から注目画素の物体ベクトルv2に従って逆方向に移動した位置が、画枠外の位置であると判定された場合、すなわち、注目画素の物体ベクトルv2が、過去側フレームの画枠外の位置から、未来側フレームの画枠内の位置への動きを表すベクトルである場合、処理は、ステップS132に進み、逆方向物体相関判定部82は、物体カウンタ85のバンク#2の注目画素の位置に対応するアドレスに、フレーム回数カウンタ71のバンク#2に記憶された回数カウント値を書き込む。すなわち、逆方向物体相関判定部82は、物体カウンタ85のバンク#2の注目画素の物体カウント値として、フレーム回数カウンタ71のバンク#2に記憶された回数カウント値をセットする。
さらに、ステップS132では、逆方向物体相関判定部82は、物体回数カウンタ86のバンク#2の注目画素の位置に対応するアドレスの物体回数カウント値を、0にリセットして、処理は、図38のステップS151に進む。
また、ステップS131において、過去側フレームの、注目画素の位置から注目画素の物体ベクトルv2に従って逆方向に移動した位置が、画枠外の位置でないと判定された場合、処理は、ステップS133に進み、逆方向物体相関判定部82は、注目画素の物体ベクトルv2が、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置の、注目フレームの前の補間フレーム(前フレーム)の前フレーム画素の背景ベクトル又は物体ベクトルに類似するかどうかを判定する。
すなわち、物体ベクトルメモリ84のバンク#2には、いま、注目フレームとなっている補間フレームの1フレーム前の補間フレーム(前フレーム)を注目フレームとして、図33のステップS95の処理が行われることにより、前フレームの各画素の物体ベクトルが記憶されている。
したがって、物体ベクトルメモリ84のバンク#2では、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置(注目画素の位置からベクトル-v2だけ移動した位置)に対応するアドレスに、前フレームの、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置の前フレーム画素の物体ベクトルが記憶されている。
同様に、背景ベクトルメモリ77のバンク#2では、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置に対応するアドレスに、前フレームの、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置の前フレーム画素の背景ベクトルが記憶されている。
逆方向物体相関判定部82は、物体ベクトルメモリ84のバンク#2から、前フレームの、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置の前フレーム画素の物体ベクトルを読み出す。さらに、逆方向物体相関判定部82は、背景ベクトルメモリ77のバンク#2から、前フレームの、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置の前フレーム画素の背景ベクトルを読み出す。
そして、逆方向物体相関判定部82は、注目画素の物体ベクトルv2が、前フレームの、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置の前フレーム画素の背景ベクトル又は物体ベクトルに類似するかどうかを判定する。
ステップS133において、注目画素の物体ベクトルv2が、前フレーム画素の背景ベクトル、及び物体ベクトルのいずれにも類似しないと判定された場合、すなわち、注目画素の物体ベクトルv2だけ戻った前フレーム画素が、注目画素の物体ベクトルv2で表される動きと同様の(類似する)動きをしておらず、したがって、前フレームから注目フレームにかけて、動きの連続性が認められない場合、処理は、ステップS134に進み、逆方向物体相関判定部82は、物体回数カウンタ86のバンク#2の注目画素の位置に対応するアドレスの物体回数カウント値(以下、注目画素の物体回数カウント値ともいう)を、0にリセットして、処理は、ステップS139に進む。
ステップS139では、逆方向物体相関判定部82は、物体カウンタ85のバンク#2の、注目画素の位置に対応するアドレスの背景カウント値を、0にリセットし、処理は、図38のステップS151に進む。
一方、ステップS133において、注目画素の物体ベクトルv2が、前フレーム画素の背景ベクトル又は物体ベクトルに類似すると判定された場合、すなわち、注目画素の物体ベクトルv2だけ戻った前フレーム画素が、注目画素の物体ベクトルv2で表される動きと同様の動きをしており、したがって、少なくとも、前フレームと注目フレームとを含む複数の補間フレームにわたって、動きの連続性が認められる場合、処理は、ステップS135に進み、逆方向物体相関判定部82は、物体回数カウンタ86の注目画素の物体回数カウント値をインクリメントする。
すなわち、ステップS135では、逆方向物体相関判定部82は、物体回数カウンタ86のバンク#1の、注目画素の位置から、物体ベクトルv2だけ逆方向に移動した位置に対応するアドレスの物体回数カウント値を読み出してインクリメントし、そのインクリメント後の物体回数カウント値を、物体回数カウンタ86のバンク#2の、注目画素の位置に対応するアドレスに書き込む。
その後、処理は、ステップS135からステップS136に進み、以下、物体逆方向動き相関の有無が判定される。
すなわち、ステップS136では、逆方向物体相関判定部82が、外部からの入力画像の過去側フレームと未来側フレームとのうちの、未来側フレームの、注目画素の位置の画素を中心とする所定のサイズのブロックを、相関判定ブロックとする。
さらに、逆方向物体相関判定部82は、過去側フレームの、注目画素の位置から、候補ベクトル算出部12(図5)からの、注目画素の物体ベクトルv2だけ逆方向に移動した位置を中心とする、相関判定ブロックよりも、横と縦とのそれぞれが数画素だけ大きいエリアをサーチエリアとして、相関判定ブロックのブロックマッチングを行う。このブロックマッチングにより、評価値テーブルが求められる。
その後、処理は、ステップS136からステップS137に進み、逆方向物体相関判定部82は、相関判定ブロックのブロックマッチングの結果得られる評価値テーブルの評価値の分布に基づき、注目画素について、物体逆方向動き相関の有無を判定する。
ステップS137において、注目画素について、物体逆方向動き相関があると判定された場合、処理は、ステップS138に進み、逆方向物体相関判定部82は、物体カウンタ85の、注目画素の位置に対応するアドレスの物体カウント値をインクリメントする。
すなわち、逆方向物体相関判定部82は、物体カウンタ85のバンク#1の、注目画素の位置から、物体ベクトルv2だけ逆方向に移動した位置に対応するアドレスの物体カウント値を読み出してインクリメントし、そのインクリメント後の物体カウント値を、物体カウンタ85のバンク#2の、注目画素の位置に対応するアドレスに書き込む。
また、ステップS137において、注目画素について、物体逆方向動き相関がないと判定された場合、処理は、ステップS139に進み、上述したように、逆方向物体相関判定部82は、物体カウンタ85のバンク#2の、注目画素の位置に対応するアドレスの背景カウント値を、0にリセットする。
以上のように、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置が、画枠外の位置である場合、逆方向物体相関判定部82は、注目画素の物体カウント値に、回数カウント値をセットする。さらに、この場合、逆方向物体相関判定部82は、注目画素の物体回数カウント値をリセットする。
一方、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置が、画枠内の位置である場合には、注目画素の物体カウント値、及び、物体回数カウント値は、以下のように制御される。
すなわち、物体カウント値については、注目画素の物体ベクトルv2が、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置の、前フレームの前フレーム画素の背景ベクトル又は物体ベクトルに類似し、かつ、未来側フレームの、注目画素の位置の画素と、過去側フレームの、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置の画素との間に相関(物体逆方向動き相関)がある場合には、逆方向物体相関判定部82は、物体カウンタ85の注目画素の物体カウント値をインクリメントする。
また、注目画素の物体ベクトルv2が、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置の、前フレームの前フレーム画素の背景ベクトル、及び物体ベクトルのいずれにも類似しない場合、逆方向物体相関判定部82は、注目画素の物体カウント値をリセットする。
さらに、物体逆方向動き相関がない場合も、逆方向物体相関判定部82は、注目画素の物体カウント値をリセットする。
一方、物体回数カウント値については、注目画素の物体ベクトルv2が、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置の、前フレームの前フレーム画素の背景ベクトル又は物体ベクトルに類似する場合には、逆方向物体相関判定部82は、物体逆方向動き相関の有無に関係なく、物体回数カウンタ85の注目画素の物体回数カウント値をインクリメントする。
また、注目画素の物体ベクトルv2が、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置の、前フレームの前フレーム画素の背景ベクトル、及び物体ベクトルのいずれにも類似しない場合、逆方向物体相関判定部82は、物体逆方向動き相関の有無に関係なく、注目画素の物体回数カウント値をリセットする。
ここで、注目画素の物体カウント値、及び、物体回数カウント値の制御が、上述のように異なるのは、注目画素が、背景以外の物体としてのテロップが写っている画素である場合に、シーンチェンジが生じたこと等によって、物体逆方向動き相関がなくても、注目画素の物体回数カウント値をリセットしないようにするためである。
ステップS138、又はS139の後は、処理は、図38のステップS151に進む。
すなわち、図38は、図37に続くフローチャートである。
図38のステップS151ないしS160では、逆方向動き推定部92が、図34のステップS101ないしS110とそれぞれ同様の処理を行うことで、注目画素の逆方向ベクトルを求める。
すなわち、図38のステップS151では、逆方向動き推定部92が、静止カウンタ73のバンク#2の、注目画素の位置に対応するアドレスの静止カウント値(注目画素の静止カウント値)、背景カウンタ78のバンク#2の、注目画素の位置に対応するアドレスの背景カウント値(注目画素の背景カウント値)、及び、物体カウンタ85のバンク#1の、注目画素の位置に対応するアドレスの物体カウント値(注目画素の物体カウント値)の大小関係を判定する。
すなわち、ステップS151では、注目画素の静止カウント値、背景カウント値、及び、物体カウント値の中で、最大のカウント値が判定される。
ステップS151において、注目画素の静止カウント値、背景カウント値、及び、物体カウント値の中の最大のカウント値が、静止カウント値のみであると判定された場合、処理は、ステップS152に進み、逆方向動き推定部92は、0ベクトルを、注目画素の逆方向ベクトルに決定する。
そして、逆方向動き推定部92は、注目画素の逆方向ベクトルを、補間画素動き判定部14(図5)に供給して、処理は、ステップS152からステップS160に進む。
また、ステップS151において、注目画素の静止カウント値、背景カウント値、及び、物体カウント値の中の最大のカウント値が、静止カウント値のみではないと判定された場合、処理は、ステップS153に進み、逆方向動き推定部92は、背景カウント値と物体カウント値との大小関係を判定する。
ステップS153において、背景カウント値と物体カウント値とが同一であると判定された場合、すなわち、背景カウント値、物体カウント値、及び、静止カウント値が、同一の値になっているか、又は、背景カウント値と物体カウント値とが、静止カウント値よりも大きい同一の値になっている場合、処理は、ステップS154に進み、逆方向動き推定部92は、背景ベクトルメモリ77のバンク#1に記憶された注目画素の背景ベクトルv1(の逆方向のベクトル-v1)と、物体ベクトルメモリ84のバンク#1に記憶された注目画素の物体ベクトルv2(の逆方向のベクトル-v2)とのうちの、候補ベクトル算出部12からの注目画素を含む小ブロック(注目ブロック)の逆方向動き判定情報が表すベクトルを、注目画素の逆方向ベクトルに決定する。
そして、逆方向動き推定部92は、注目画素の逆方向ベクトルを、補間画素動き判定部14(図5)に供給して、処理は、ステップS154からステップS160に進む。
また、ステップS153において、背景カウント値が、物体カウント値よりも大きいと判定された場合、処理は、ステップS155に進み、逆方向動き推定部92は、背景カウンタ78のバンク#2の注目画素の背景カウント値が、フレーム回数カウンタ71のバンク#2の回数カウント値よりも小さいかどうかを判定する。
ステップS155において、背景カウンタ78のバンク#2の注目画素の背景カウント値が、フレーム回数カウンタ71のバンク#2の回数カウント値よりも小さくないと判定された場合、処理は、ステップS156に進み、逆方向動き推定部92は、背景ベクトルメモリ77のバンク#1に記憶された注目画素の背景ベクトルv1(の逆方向のベクトル-v1)を、注目画素の逆方向ベクトルに決定する。
そして、逆方向動き推定部92は、注目画素の逆方向ベクトルを、補間画素動き判定部14(図5)に供給して、処理は、ステップS156からステップS160に進む。
また、ステップS155において、背景カウンタ78のバンク#2の注目画素の背景カウント値が、フレーム回数カウンタ71のバンク#2の回数カウント値よりも小さいと判定された場合、処理は、ステップS157に進み、逆方向動き推定部92は、評価値テーブルに基づき、背景ベクトルメモリ77のバンク#1に記憶された注目画素の背景ベクトルv1(の逆方向のベクトル-v1)、及び、物体ベクトルメモリ84のバンク#1に記憶された注目画素の物体ベクトルv2(の逆方向のベクトル-v2)のうちの一方を、注目画素の逆方向ベクトルに決定する。
すなわち、逆方向動き推定部92は、図36のステップS124で、逆方向背景相関判定部75が背景ベクトルv1を用いて行ったブロックマッチングによって得られた評価値テーブル(背景逆方向動き相関の有無の判定に用いられた評価値テーブル)と、図37のステップS136で、逆方向物体相関判定部82が物体ベクトルv2を用いて行ったブロックマッチングによって得られた評価値テーブル(物体逆方向動き相関の有無の判定に用いられた評価値テーブル)とのうちの、最小の評価値を有する方の評価値テーブル(最小評価値テーブル)に対応する背景ベクトルv1、又は物体ベクトルv2を、注目画素の逆方向ベクトルに決定する。
つまり、最小評価値テーブルが、逆方向背景相関判定部75が背景ベクトルv1を用いて行ったブロックマッチングによって得られた評価値テーブルである場合には、逆方向動き推定部92は、その評価値テーブルに対応する背景ベクトルv1(評価値テーブルを求めるブロックマッチングで用いた注目画素の背景ベクトルv1)を、背景ベクトルメモリ77のバンク#1の注目画素の位置に対応するアドレスから読み出して、注目画素の逆方向ベクトルに決定する。
また、最小評価値テーブルが、逆方向物体相関判定部82が物体ベクトルv2を用いて行ったブロックマッチングによって得られた評価値テーブルである場合には、逆方向動き推定部92は、その評価値テーブルに対応する物体ベクトルv2(評価値テーブルを求めるブロックマッチングで用いた注目画素の物体ベクトルv2)を、物体ベクトルメモリ84のバンク#1の注目画素の位置に対応するアドレスから読み出して、注目画素の逆方向ベクトルに決定する。
そして、逆方向動き推定部92は、注目画素の逆方向ベクトルを、補間画素動き判定部14(図5)に供給して、処理は、ステップS157からステップS160に進む。
なお、逆方向背景相関判定部75において、図36のステップS124の処理が行われず、したがって、背景ベクトルv1を用いたブロックマッチングで求められる評価値テーブルが得られていない場合、逆方向動き推定部92が、背景ベクトルv1を用いてブロックマッチングを行い、評価値テーブルを求める。
同様に、逆方向物体相関判定部82において、図37のステップS136の処理が行われず、したがって、物体ベクトルv2を用いたブロックマッチングで求められる評価値テーブルが得られていない場合、逆方向動き推定部92が、物体ベクトルv2を用いてブロックマッチングを行い、評価値テーブルを求める。
一方、ステップS153において、物体カウント値が、背景カウント値よりも大きいと判定された場合、処理は、ステップS158に進み、逆方向動き推定部92は、物体カウンタ85のバンク#2の注目画素の物体カウント値が、物体回数カウンタ86のバンク#2の注目画素の物体回数カウント値よりも小さいかどうかを判定する。
ステップS158において、物体カウンタ85のバンク#2の注目画素の物体カウント値が、物体回数カウンタ86のバンク#2の物体回数カウント値よりも小さくないと判定された場合、処理は、ステップS159に進み、逆方向動き推定部92は、物体ベクトルメモリ84のバンク#1に記憶された注目画素の物体ベクトルv2(の逆方向のベクトル-v2)を、注目画素の逆方向ベクトルに決定する。
そして、逆方向動き推定部92は、注目画素の逆方向ベクトルを、補間画素動き判定部14(図5)に供給して、処理は、ステップS159からステップS160に進む。
また、ステップS158において、物体カウンタ85のバンク#2の注目画素の物体カウント値が、物体回数カウンタ86のバンク#2の物体回数カウント値よりも小さいと判定された場合、処理は、ステップS157に進み、上述したように、逆方向動き推定部92は、評価値テーブルに基づき、物体ベクトルメモリ84のバンク#1に記憶された注目画素の背景ベクトルv1、及び、物体ベクトルメモリ84のバンク#1に記憶された注目画素の物体ベクトルv2のうちの一方を、注目画素の逆方向ベクトルに決定する。
そして、逆方向動き推定部92は、注目画素の逆方向ベクトルを、補間画素動き判定部14(図5)に供給して、処理は、ステップS157からステップS160に進む。
以上のように、逆方向動き推定部92では、順方向動き推定部91と同様に、背景カウント値、物体カウント値、及び、静止カウント値の大小関係に基づいて、背景ベクトルv1、物体ベクトルv2、又は、0ベクトルが、逆方向ベクトルとして求められる。
すなわち、逆方向動き推定部92では、基本的には、背景ベクトルv1、物体ベクトルv2、及び、0ベクトルのうちの、背景カウント値、物体カウント値、及び、静止カウント値の中の最大のカウント値に対応するベクトルが、逆方向ベクトルとして求められる。
但し、背景カウント値、物体カウント値、及び、静止カウント値のうちの2以上が最大値である場合には、背景ベクトルv1、及び、物体ベクトルv2のうちの、逆方向動き判定情報が表すベクトルが、逆方向ベクトルとして求められる。
また、背景カウント値、物体カウント値、及び、静止カウント値の中の最大値が、背景カウント値である場合において、背景カウント値が、回数カウント値よりも小であるときと、最大値が、物体カウント値である場合において、物体カウント値が、物体回数カウンタよりも小であるときには、背景逆方向動き相関の有無の判定に用いられた評価値テーブル(背景ベクトルv1に対応する評価値テーブル)と、物体逆方向動き相関の有無の判定に用いられた評価値テーブル(物体ベクトルv2に対応する評価値テーブル)とのうちの、最小の評価値を有する方の評価値テーブルに対応する背景ベクトルv1、又は物体ベクトルv2が、逆方向ベクトルとして求められる。
ステップS160では、静止相関判定部72は、注目フレームの画素(補間画素)のうちの、注目画素としていない画素があるかどうかを判定する。
ステップS160において、注目フレームに、注目画素としていない画素があると判定された場合、処理は、図35のステップS112に戻り、以下、同様の処理が繰り返される。
また、ステップS160において、注目フレームに、注目画素としていない画素がないと判定された場合、処理は終了する(リターンする)。
次に、図39及び図40を参照して、図29のフレーム回数カウンタ71の回数カウント値、背景カウンタ78の背景カウント値、物体カウンタ85の物体カウント値、及び、物体回数カウンタ86の物体回数カウント値の変化について説明する。
なお、図39及び図40では、入力画像のフレームの垂直方向に並ぶ最上部から9個の画素#0,#1,#2,・・・,#8を図示してある。
そして、入力画像においては、背景が、ベクトルV1に従って移動しており、物体が、ベクトルV2に従って移動している。
また、図39及び図40では、ベクトルV1は、0ベクトルであり、したがって、背景は、静止している。
さらに、図39及び図40では、ベクトルV2は、下方向の、1画素分の動きを表すベクトルであり、したがって、入力画像の各フレームに写る物体は、1フレーム前の位置から、1画素分だけ下に移動している。
また、物体は、垂直方向に4画素分の長さを有し、入力画像の第1フレームでは、4画素分の長さの物体(図中、影を付して示す)の、下から3画素分が、画素#0ないし#2に写っている。なお、画素#0ないし#8のうちの、物体が写っている画素以外の画素には、背景が写っている。
入力画像の第2フレームでは、第1フレームの位置から、1画素分だけ下の位置に移動することにより、4画素分の長さの全体が見えるようになった物体が、画素#0ないし#3に写っている。
入力画像の第3フレームでは、第2フレームの位置から、1画素分だけ下の位置に移動した4画素分の長さの物体が、画素#1ないし#4に写っている。
以下、同様にして、物体は、入力画像の第4フレームでは、画素#2ないし#5に写っており、入力画像の第5フレームでは、画素#3ないし#6に写っている。
また、ここでは、説明を簡単にするため、補間フレームの画素#i(ここでは、i=0,1,2,・・・,8)(を含む小ブロック)の背景ベクトルv1としては、ベクトルV1が求められ、物体ベクトルv2としては、ベクトルV2が求められていることとする。
さらに、入力画像の第1フレームから第5フレームまでの間では、シーンチェンジは生じていないこととする。また、入力画像の第1フレームと第2フレームが、それぞれ、過去側フレームと未来側フレームとなる前に、バンク#2に記憶された回数カウント値、背景カウント値、物体カウント値、及び、物体回数カウント値は、すべて、0にリセットされていることとする。
さらに、図39及び図40では、説明を簡単にするため、入力画像の隣接するフレームどうしの間には、1フレームの補間フレームが補間されることとする。
まず、図39を参照して、図29のフレーム回数カウンタ71の回数カウント値、及び、背景カウンタ78の背景カウント値の変化について説明する。
入力画像の第1フレームと第2フレームが、それぞれ、過去側フレームと未来側フレームとなった場合、フレーム回数カウンタ71(図29)は、バンク#2の回数カウント値をインクリメントして得られる値を、バンク#1の回数カウント値として書き込む。
いまの場合、バンク#2の回数カウント値は、0にリセットされているので、バンク#1の回数カウント値は、1となる。
また、順方向背景相関判定部74(図29)では、第1フレームと第2フレームとの間に補間される補間フレームの画素#0ないし#3の各画素#iについては、第1フレームの画素#iと、画素#iの位置から背景ベクトルv1だけ順方向に移動した位置の第2フレームの画素#iとの間の背景順方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#4ないし#8については、背景順方向動き相関がある(図中、丸印(○)で示す)と判定される。
順方向背景相関判定部74は、背景順方向動き相関がない画素#0ないし#3については、バンク#1の背景カウント値を0にリセットする。
また、順方向背景相関判定部74は、背景順方向動き相関がある画素#4ないし#8の各画素#iについては、バンク#2の画素#iの背景カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#1の画素#iの背景カウント値として書き込む。
いまの場合、バンク#2の画素#4ないし#8の背景カウント値は、0にリセットされているので、バンク#1の画素#4ないし#8の背景カウント値は、いずれも1となる。
その後、フレーム回数カウンタ71(図29)は、バンク#1の回数カウント値"1"をインクリメントして得られる値"2"を、バンク#2の回数カウント値として書き込む。
そして、逆方向背景相関判定部75(図29)では、第1フレームと第2フレームとの間に補間される補間フレームの画素#0ないし#3の各画素#iについては、第2フレームの画素#iと、画素#iの位置から背景ベクトルv1だけ逆方向に移動した位置の第1フレームの画素#iとの間の背景逆方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#4ないし#8については、背景逆方向動き相関がある(図中、丸印(○)で示す)と判定される。
逆方向背景相関判定部75は、背景逆方向動き相関がない画素#0ないし#3については、バンク#2の背景カウント値を0にリセットする。
また、逆方向背景相関判定部75は、背景逆方向動き相関がある画素#4ないし#8の各画素#iについては、バンク#1の、画素#iの位置から、背景ベクトルv1だけ逆方向に移動した位置に対応するアドレスの背景カウント値、すなわち、いまの場合、バンク#1の画素#iの背景カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#2の、画素#iの背景カウント値として書き込む。
その結果、バンク#2の画素#4ないし#8の背景カウント値は、いずれも、バンク#1の画素#4ないし#8の背景カウント値"1"をインクリメントして得られる値"2"となる。
次に、入力画像の第2フレームと第3フレームが、それぞれ、過去側フレームと未来側フレームとなった場合、フレーム回数カウンタ71(図29)は、バンク#2の回数カウント値"2"をインクリメントして得られる値"3"を、バンク#1の回数カウント値として書き込む。
また、順方向背景相関判定部74(図29)では、第2フレームと第3フレームとの間に補間される補間フレームの画素#0ないし#4の各画素#iについては、第2フレームの画素#iと、画素#iの位置から背景ベクトルv1だけ順方向に移動した位置の第3フレームの画素#iとの間の背景順方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#5ないし#8については、背景順方向動き相関がある(図中、丸印(○)で示す)と判定される。
順方向背景相関判定部74は、背景順方向動き相関がない画素#0ないし#4については、バンク#1の背景カウント値を0にリセットする。
また、順方向背景相関判定部74は、背景順方向動き相関がある画素#5ないし#8の各画素#iについては、バンク#2の画素#iの背景カウント値"2"を読み出してインクリメントし、そのインクリメント後の値"3"を、バンク#1の画素#iの背景カウント値として書き込む。
その後、フレーム回数カウンタ71(図29)は、バンク#1の回数カウント値"3"をインクリメントして得られる値"4"を、バンク#2の回数カウント値として書き込む。
そして、逆方向背景相関判定部75(図29)では、第2フレームと第3フレームとの間に補間される補間フレームの画素#0ないし#4の各画素#iについては、第3フレームの画素#iと、画素#iの位置から背景ベクトルv1だけ逆方向に移動した位置の第2フレームの画素#iとの間の背景逆方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#5ないし#8については、背景逆方向動き相関がある(図中、丸印(○)で示す)と判定される。
逆方向背景相関判定部75は、背景逆方向動き相関がない画素#0ないし#4については、バンク#2の背景カウント値を0にリセットする。
また、逆方向背景相関判定部75は、背景逆方向動き相関がある画素#5ないし#8の各画素#iについては、バンク#1の、画素#iの位置から、背景ベクトルv1だけ逆方向に移動した位置に対応するアドレスの背景カウント値、すなわち、いまの場合、バンク#1の画素#iの背景カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#2の、画素#iの背景カウント値として書き込む。
その結果、バンク#2の画素#5ないし#8の背景カウント値は、いずれも、バンク#1の画素#5ないし#8の背景カウント値"3"をインクリメントして得られる値"4"となる。
次に、入力画像の第3フレームと第4フレームが、それぞれ、過去側フレームと未来側フレームとなった場合、フレーム回数カウンタ71(図29)は、バンク#2の回数カウント値"4"をインクリメントして得られる値"5"を、バンク#1の回数カウント値として書き込む。
また、順方向背景相関判定部74(図29)では、第3フレームと第4フレームとの間に補間される補間フレームの画素#1ないし#5の各画素#iについては、第3フレームの画素#iと、画素#iの位置から背景ベクトルv1だけ順方向に移動した位置の第4フレームの画素#iとの間の背景順方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#0,#6ないし#8については、背景順方向動き相関がある(図中、丸印(○)で示す)と判定される。
順方向背景相関判定部74は、背景順方向動き相関がない画素#1ないし#5については、バンク#1の背景カウント値を0にリセットする。
また、順方向背景相関判定部74は、背景順方向動き相関がある画素#0,#6ないし#8の各画素#iについては、バンク#2の画素#iの背景カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#1の画素#iの背景カウント値として書き込む。
いまの場合、バンク#2の画素#0の背景カウント値は、"0"となっており、バンク#2の画素#6ないし#8の背景カウント値は、"4"となっているので、バンク#1の画素#0の背景カウント値は、"1"となり、バンク#1の画素#6ないし#8の背景カウント値は、"5"となる。
その後、フレーム回数カウンタ71(図29)は、バンク#1の回数カウント値"5"をインクリメントして得られる値"6"を、バンク#2の回数カウント値として書き込む。
そして、逆方向背景相関判定部75(図29)では、第3フレームと第4フレームとの間に補間される補間フレームの画素#1ないし#5の各画素#iについては、第4フレームの画素#iと、画素#iの位置から背景ベクトルv1だけ逆方向に移動した位置の第3フレームの画素#iとの間の背景逆方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#0,#6ないし#8については、背景逆方向動き相関がある(図中、丸印(○)で示す)と判定される。
逆方向背景相関判定部75は、背景逆方向動き相関がない画素#1ないし#5については、バンク#2の背景カウント値を0にリセットする。
また、逆方向背景相関判定部75は、背景逆方向動き相関がある画素#0,#6ないし#8の各画素#iについては、バンク#1の、画素#iの位置から、背景ベクトルv1だけ逆方向に移動した位置に対応するアドレスの背景カウント値、すなわち、いまの場合、バンク#1の画素#iの背景カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#2の、画素#iの背景カウント値として書き込む。
その結果、バンク#2の画素#0の背景カウント値は、バンク#1の画素#0の背景カウント値"1"をインクリメントして得られる値"2"となる。また、バンク#2の画素#6ないし#8の背景カウント値は、いずれも、バンク#1の画素#6ないし#8の背景カウント値"5"をインクリメントして得られる値"6"となる。
次に、入力画像の第4フレームと第5フレームが、それぞれ、過去側フレームと未来側フレームとなった場合、フレーム回数カウンタ71(図29)は、バンク#2の回数カウント値"6"をインクリメントして得られる値"7"を、バンク#1の回数カウント値として書き込む。
また、順方向背景相関判定部74(図29)では、第4フレームと第5フレームとの間に補間される補間フレームの画素#2ないし#6の各画素#iについては、第4フレームの画素#iと、画素#iの位置から背景ベクトルv1だけ順方向に移動した位置の第5フレームの画素#iとの間の背景順方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#0,#1,#7,#8については、背景順方向動き相関がある(図中、丸印(○)で示す)と判定される。
順方向背景相関判定部74は、背景順方向動き相関がない画素#2ないし#6については、バンク#1の背景カウント値を0にリセットする。
また、順方向背景相関判定部74は、背景順方向動き相関がある画素#0,#1,#7,#8の各画素#iについては、バンク#2の画素#iの背景カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#1の画素#iの背景カウント値として書き込む。
いまの場合、バンク#2の画素#0の背景カウント値は、"2"となっているので、バンク#1の画素#0の背景カウント値は、"3"となる。
また、バンク#2の画素#1の背景カウント値は、"0"となっているので、バンク#1の画素#1の背景カウント値は、"1"となる。
さらに、バンク#2の画素#7及び#8の背景カウント値は、"6"となっているので、バンク#1の画素#7及び#8の背景カウント値は、"7"となる。
その後、フレーム回数カウンタ71(図29)は、バンク#1の回数カウント値"7"をインクリメントして得られる値"8"を、バンク#2の回数カウント値として書き込む。
そして、逆方向背景相関判定部75(図29)では、第4フレームと第5フレームとの間に補間される補間フレームの画素#2ないし#6の各画素#iについては、第5フレームの画素#iと、画素#iの位置から背景ベクトルv1だけ逆方向に移動した位置の第4フレームの画素#iとの間の背景逆方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#0,#1,#7,#8については、背景逆方向動き相関がある(図中、丸印(○)で示す)と判定される。
逆方向背景相関判定部75は、背景逆方向動き相関がない画素#2ないし#6については、バンク#2の背景カウント値を0にリセットする。
また、逆方向背景相関判定部75は、背景逆方向動き相関がある画素#0,#1,#7,#8の各画素#iについては、バンク#1の、画素#iの位置から、背景ベクトルv1だけ逆方向に移動した位置に対応するアドレスの背景カウント値、すなわち、いまの場合、バンク#1の画素#iの背景カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#2の、画素#iの背景カウント値として書き込む。
その結果、バンク#2の画素#0の背景カウント値は、バンク#1の画素#0の背景カウント値"3"をインクリメントして得られる値"4"となる。
また、バンク#2の画素#1の背景カウント値は、バンク#1の画素#1の背景カウント値"1"をインクリメントして得られる値"2"となる。
さらに、バンク#2の画素#7及び#8の背景カウント値は、いずれも、バンク#1の画素#7及び#8の背景カウント値"7"をインクリメントして得られる値"8"となる。
次に、図40を参照して、図29の物体カウンタ85の物体カウント値、及び、物体回数カウンタ86の物体回数カウント値の変化について説明する。
入力画像の第1フレームと第2フレームが、それぞれ、過去側フレームと未来側フレームとなった場合、順方向物体相関判定部81(図29)では、第1フレームと第2フレームとの間に補間される補間フレームの画素#3ないし#8の各画素#iについては、第1フレームの画素#iと、画素#iの位置から物体ベクトルv2だけ順方向に移動した位置の第2フレームの画素#i+1との間の物体順方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#0ないし#2については、物体順方向動き相関がある(図中、丸印(○)で示す)と判定される。
順方向物体相関判定部81は、物体順方向動き相関がない画素#3ないし#8については、バンク#1の物体カウント値を0にリセットする。
また、順方向物体相関判定部81は、物体順方向動き相関がある画素#0ないし#2の各画素#iについては、バンク#2の画素#iの物体カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#1の画素#iの物体カウント値として書き込む。
いまの場合、バンク#2の画素#0ないし#2の物体カウント値は、0にリセットされているので、バンク#1の画素#0ないし#2の物体カウント値は、いずれも"1"となる。
さらに、順方向物体相関判定部81は、すべての画素#0ないし#8について、バンク#2の画素#iの物体回数カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#1の画素#iの物体回数カウント値として書き込む。
いまの場合、バンク#2の画素#0ないし#8の物体回数カウント値は、0にリセットされているので、バンク#1の画素#0ないし#8の物体回数カウント値は、いずれも"1"となる。
その後、逆方向物体相関判定部82では、第1フレームと第2フレームとの間に補間される補間フレームの画素#0ないし#8のうちの画素#0については、第1フレームの画素#0の位置から、物体ベクトルv2に従って逆方向に移動した位置(画素#0の位置から、物体ベクトルv2だけ戻った位置)が、画枠外の位置であると判定され、他の画素#1ないし#8の各画素#iについては、第1フレームの画素#iの位置から、物体ベクトルv2に従って逆方向に移動した位置(ここでは、画素#i-1の位置)が、画枠外の位置でないと判定される。
物体ベクトルv2に従って逆方向に移動した位置が、画枠外の位置となる画素#0については、逆方向物体相関判定部82は、バンク#2の画素#0の物体カウント値(図中、斜線を付して示す)として、図39に示したバンク#2の回数カウント値"2"を書き込む。
さらに、物体ベクトルv2に従って逆方向に移動した位置が、画枠外の位置となる画素#0については、逆方向物体相関判定部82は、バンク#2の画素#0の物体回数カウント値を、0にリセットする。
また、いま、物体ベクトルv2に従って逆方向に移動した位置が、画枠外の位置とならない画素#1ないし#8の各画素#iについては、物体ベクトルv2が、第1フレームと第2フレームとの間に補間される補間フレームの前の補間フレーム(前フレーム)の、画素#iの位置から物体ベクトルv2に従って逆方向に移動した位置の画素(前フレーム画素)#i-1の物体ベクトルに類似すると仮定する。
ここで、このように、画素#iの物体ベクトルv2が、画素#iの位置から物体ベクトルv2に従って逆方向に移動した位置の前フレーム画素#i-1の物体ベクトルに類似する場合の、画素#iを、以下、ベクトル類似画素#iともいう。
逆方向物体相関判定部82は、ベクトル類似画素である画素#1ないし#8の各画素#iについては、バンク#1の、画素#iの位置から、物体ベクトルv2だけ逆方向に移動した位置に対応するアドレスの物体回数カウント値、すなわち、いまの場合、バンク#1の画素#i-1の物体回数カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#2の、画素#iの物体回数カウント値として書き込む。
その結果、画素#iの位置から、物体ベクトルv2だけ逆方向に移動した位置の画素を、以下、引き寄せ画素ということとすると、画素#1ないし#8の各画素#iについては、バンク#1の引き寄せ画素#i-1の物体回数カウント値が"1"となっているので、バンク#2の画素#iの物体回数カウント値は、"2"となる。
さらに、逆方向物体相関判定部82では、ベクトル類似画素である画素#1ないし#8のうちの、画素#4ないし#8の各画素#iについては、第2フレームの画素#iと、画素#iの位置から物体ベクトルv2だけ逆方向に移動した位置の第1フレームの画素(引き寄せ画素)#i-1との間の物体逆方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#1ないし#3については、物体逆方向動き相関がある(図中、丸印(○)で示す)と判定される。
逆方向物体相関判定部82は、物体逆方向動き相関がない画素#4ないし#8については、バンク#2の物体カウント値を0にリセットする。
また、逆方向物体相関判定部82は、物体逆方向動き相関がある画素#1ないし#3の各画素#iについては、バンク#1の引き寄せ画素#i-1の物体カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#2の、画素#iの物体カウント値として書き込む。
その結果、バンク#2の画素#1ないし#3の物体カウント値は、バンク#1の引き寄せ画素#0ないし#2の物体カウント値"1"をインクリメントして得られる値"2"となる。
次に、入力画像の第2フレームと第3フレームが、それぞれ、過去側フレームと未来側フレームとなった場合、順方向物体相関判定部81(図29)では、第2フレームと第3フレームとの間に補間される補間フレームの画素#4ないし#8の各画素#iについては、第2フレームの画素#iと、画素#iの位置から物体ベクトルv2だけ順方向に移動した位置の第3フレームの画素#i+1との間の物体順方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#0ないし#3については、物体順方向動き相関がある(図中、丸印(○)で示す)と判定される。
順方向物体相関判定部81は、物体順方向動き相関がない画素#4ないし#8については、バンク#1の物体カウント値を0にリセットする。
また、順方向物体相関判定部81は、物体順方向動き相関がある画素#0ないし#3の各画素#iについては、バンク#2の画素#iの物体カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#1の画素#iの物体カウント値として書き込む。
いまの場合、バンク#2の画素#0ないし#3の物体カウント値は、"2"になっているので、バンク#1の画素#0ないし#3の物体カウント値は、いずれも"3"となる。
さらに、順方向物体相関判定部81は、すべての画素#0ないし#8について、バンク#2の画素#iの物体回数カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#1の画素#iの物体回数カウント値として書き込む。
いまの場合、バンク#2の画素#0の物体回数カウント値は、0にリセットされているので、バンク#1の画素#0の物体回数カウント値は、"1"となる。
また、バンク#2の画素#1ないし#8の物体回数カウント値は、"2"になっているので、バンク#1の画素#1ないし#8の物体回数カウント値は、いずれも"3"となる。
その後、逆方向物体相関判定部82では、第2フレームと第3フレームとの間に補間される補間フレームの画素#0ないし#8のうちの画素#0については、第2フレームの画素#0の位置から、物体ベクトルv2に従って逆方向に移動した位置が、画枠外の位置であると判定される。すなわち、画素#0の引き寄せ画素は、画枠外の画素であると判定される。
また、他の画素#1ないし#8の各画素#iについては、第2フレームの画素#iの位置から、物体ベクトルv2に従って逆方向に移動した位置(ここでは、画素#i-1の位置)が、画枠外の位置でないと判定される。すなわち、画素#1ないし#8の各画素#iについては、画素#iの引き寄せ画素#i-1は、画枠外の画素でないと判定される。
引き寄せ画素が画枠外の画素となる画素#0については、逆方向物体相関判定部82は、バンク#2の画素#0の物体カウント値(図中、斜線を付して示す)として、図39に示したバンク#2の回数カウント値"4"を書き込む。
さらに、引き寄せ画素が画枠外の画素となる画素#0については、逆方向物体相関判定部82は、バンク#2の画素#0の物体回数カウント値を、0にリセットする。
また、引き寄せ画素が画枠外の位置とならない画素#1ないし#8の各画素#iについては、逆方向物体相関判定部82において、画素#iの物体ベクトルv2が、第2フレームと第3フレームとの間に補間される補間フレームの前の補間フレーム(前フレーム)(図40では、第1フレームと第2フレームとの間に補間される補間フレーム)の、画素#iの位置から物体ベクトルv2に従って逆方向に移動した位置の画素(前フレーム画素)#i-1の物体ベクトルに類似すると判定される。
すなわち、画素#1ないし#8は、ベクトル類似画素であると判定される。
逆方向物体相関判定部82は、ベクトル類似画素である画素#1ないし#8の各画素#iについては、バンク#1の、画素#iの位置から、物体ベクトルv2だけ逆方向に移動した位置に対応するアドレスの物体回数カウント値、すなわち、バンク#1の引き寄せ画素#i-1の物体回数カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#2の、画素#iの物体回数カウント値として書き込む。
その結果、画素#1ないし#8のうちの画素#1については、バンク#1の引き寄せ画素#0の物体回数カウント値が"1"となっているので、バンク#2の画素#1の物体回数カウント値は、"2"となる。
さらに、画素#1ないし#8のうちの、画素#2ないし#8の各画素#iについては、バンク#1の引き寄せ画素#i-1の物体回数カウント値が"3"となっているので、バンク#2の画素#iの物体回数カウント値は、"4"となる。
また、逆方向物体相関判定部82では、ベクトル類似画素である画素#1ないし#8のうちの、画素#5ないし#8の各画素#iについては、第3フレームの画素#iと、画素#iの位置から物体ベクトルv2だけ逆方向に移動した位置の第2フレームの画素(引き寄せ画素)#i-1との間の物体逆方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#1ないし#4については、物体逆方向動き相関がある(図中、丸印(○)で示す)と判定される。
逆方向物体相関判定部82は、物体逆方向動き相関がない画素#5ないし#8については、バンク#2の物体カウント値を0にリセットする。
また、逆方向物体相関判定部82は、物体逆方向動き相関がある画素#1ないし#4の各画素#iについては、バンク#1の引き寄せ画素#i-1の物体カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#2の、画素#iの物体カウント値として書き込む。
その結果、バンク#2の画素#1ないし#4の物体カウント値は、バンク#1の引き寄せ画素#0ないし#3の物体カウント値"3"をインクリメントして得られる値"4"となる。
次に、入力画像の第3フレームと第4フレームが、それぞれ、過去側フレームと未来側フレームとなった場合、順方向物体相関判定部81(図29)では、第3フレームと第4フレームとの間に補間される補間フレームの画素#0,#5ないし#8の各画素#iについては、第3フレームの画素#iと、画素#iの位置から物体ベクトルv2だけ順方向に移動した位置の第4フレームの画素#i+1との間の物体順方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#1ないし#4については、物体順方向動き相関がある(図中、丸印(○)で示す)と判定される。
順方向物体相関判定部81は、物体順方向動き相関がない画素#0,#5ないし#8については、バンク#1の物体カウント値を0にリセットする。
また、順方向物体相関判定部81は、物体順方向動き相関がある画素#1ないし#4の各画素#iについては、バンク#2の画素#iの物体カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#1の画素#iの物体カウント値として書き込む。
いまの場合、バンク#2の画素#1ないし#4の物体カウント値は、"4"になっているので、バンク#1の画素#1ないし#4の物体カウント値は、いずれも"5"となる。
さらに、順方向物体相関判定部81は、すべての画素#0ないし#8について、バンク#2の画素#iの物体回数カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#1の画素#iの物体回数カウント値として書き込む。
いまの場合、バンク#2の画素#0の物体回数カウント値は、0にリセットされているので、バンク#1の画素#0の物体回数カウント値は、"1"となる。
また、バンク#2の画素#1の物体回数カウント値は、"2"になっているので、バンク#1の画素#1の物体回数カウント値は、"3"となる。
さらに、バンク#2の画素#2ないし#8の物体カウント値は、"4"になっているので、バンク#1の画素#2ないし#8の物体カウント回数値は、いずれも"5"となる。
その後、逆方向物体相関判定部82では、第3フレームと第4フレームとの間に補間される補間フレームの画素#0ないし#8のうちの画素#0については、第3フレームの画素#0の位置から、物体ベクトルv2に従って逆方向に移動した位置が、画枠外の位置であると判定される。すなわち、画素#0の引き寄せ画素は、画枠外の画素であると判定される。
また、他の画素#1ないし#8の各画素#iについては、第3フレームの画素#iの位置から、物体ベクトルv2に従って逆方向に移動した位置(ここでは、画素#i-1の位置)が、画枠外の位置でないと判定される。すなわち、画素#1ないし#8の各画素#iについては、画素#iの引き寄せ画素#i-1は、画枠外の画素でないと判定される。
引き寄せ画素が画枠外の画素となる画素#0については、逆方向物体相関判定部82は、バンク#2の画素#0の物体カウント値(図中、斜線を付して示す)として、図39に示したバンク#2の回数カウント値"6"を書き込む。
さらに、引き寄せ画素が画枠外の画素となる画素#0については、逆方向物体相関判定部82は、バンク#2の画素#0の物体回数カウント値を、0にリセットする。
また、引き寄せ画素が画枠外の位置とならない画素#1ないし#8の各画素#iについては、逆方向物体相関判定部82において、画素#iの物体ベクトルv2が、第3フレームと第4フレームとの間に補間される補間フレームの前の補間フレーム(前フレーム)の、画素#iの位置から物体ベクトルv2に従って逆方向に移動した位置の画素(前フレーム画素)#i-1の物体ベクトルに類似すると判定される。
すなわち、画素#1ないし#8は、ベクトル類似画素であると判定される。
逆方向物体相関判定部82は、ベクトル類似画素である画素#1ないし#8の各画素#iについては、バンク#1の、画素#iの位置から、物体ベクトルv2だけ逆方向に移動した位置に対応するアドレスの物体回数カウント値、すなわち、バンク#1の引き寄せ画素#i-1の物体回数カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#2の、画素#iの物体回数カウント値として書き込む。
その結果、画素#1ないし#8のうちの画素#1については、バンク#1の引き寄せ画素#0の物体回数カウント値が"1"となっているので、バンク#2の画素#1の物体回数カウント値は、"2"となる。
また、画素#1ないし#8のうちの、画素#2については、バンク#1の引き寄せ画素#1の物体回数カウント値が"3"となっているので、バンク#2の画素#2の物体回数カウント値は、"4"となる。
さらに、画素#1ないし#8のうちの、画素#3ないし#8の各画素#iについては、バンク#1の引き寄せ画素#i-1の物体回数カウント値が"5"となっているので、バンク#2の画素#iの物体回数カウント値は、"6"となる。
また、逆方向物体相関判定部82において、ベクトル類似画素である画素#1ないし#8のうちの、画素#1,#6ないし#8の各画素#iについては、第4フレームの画素#iと、画素#iの位置から物体ベクトルv2だけ逆方向に移動した位置の第3フレームの画素(引き寄せ画素)#i-1との間の物体逆方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#2ないし#5については、物体逆方向動き相関がある(図中、丸印(○)で示す)と判定される。
逆方向物体相関判定部82は、物体逆方向動き相関がない画素#1,#6ないし#8については、バンク#2の物体カウント値を0にリセットする。
また、逆方向物体相関判定部82は、物体逆方向動き相関がある画素#2ないし#5の各画素#iについては、バンク#1の引き寄せ画素#i-1の物体カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#2の、画素#iの物体カウント値として書き込む。
その結果、バンク#2の画素#2ないし#5の物体カウント値は、バンク#1の引き寄せ画素#1ないし#4の物体カウント値"5"をインクリメントして得られる値"6"となる。
次に、入力画像の第4フレームと第5フレームが、それぞれ、過去側フレームと未来側フレームとなった場合、順方向物体相関判定部81(図29)では、第4フレームと第5フレームとの間に補間される補間フレームの画素#0,#1,#6ないし#8の各画素#iについては、第4フレームの画素#iと、画素#iの位置から物体ベクトルv2だけ順方向に移動した位置の第5フレームの画素#i+1との間の物体順方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#2ないし#5については、物体順方向動き相関がある(図中、丸印(○)で示す)と判定される。
順方向物体相関判定部81は、物体順方向動き相関がない画素#0,#1,#6ないし#8については、バンク#1の物体カウント値を0にリセットする。
また、順方向物体相関判定部81は、物体順方向動き相関がある画素#2ないし#5の各画素#iについては、バンク#2の画素#iの物体カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#1の画素#iの物体カウント値として書き込む。
いまの場合、バンク#2の画素#2ないし#5の物体カウント値は、"6"になっているので、バンク#1の画素#2ないし#5の物体カウント値は、いずれも"7"となる。
さらに、順方向物体相関判定部81は、すべての画素#0ないし#8について、バンク#2の画素#iの物体回数カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#1の画素#iの物体回数カウント値として書き込む。
いまの場合、バンク#2の画素#0の物体回数カウント値は、0にリセットされているので、バンク#1の画素#0の物体回数カウント値は、"1"となる。
また、バンク#2の画素#1の物体回数カウント値は、"2"になっているので、バンク#1の画素#1の物体回数カウント値は、"3"となる。
さらに、バンク#2の画素#2の物体回数カウント値は、"4"になっているので、バンク#1の画素#2の物体回数カウント値は、"5"となる。
また、バンク#2の画素#3ないし#8の物体カウント値は、"6"になっているので、バンク#1の画素#3ないし#8の物体カウント回数値は、いずれも"7"となる。
その後、逆方向物体相関判定部82では、第4フレームと第5フレームとの間に補間される補間フレームの画素#0ないし#8のうちの画素#0については、第4フレームの画素#0の位置から、物体ベクトルv2に従って逆方向に移動した位置が、画枠外の位置であると判定される。すなわち、画素#0の引き寄せ画素は、画枠外の画素であると判定される。
また、他の画素#1ないし#8の各画素#iについては、第4フレームの画素#iの位置から、物体ベクトルv2に従って逆方向に移動した位置(ここでは、画素#i-1の位置)が、画枠外の位置でないと判定される。すなわち、画素#1ないし#8の各画素#iについては、画素#iの引き寄せ画素#i-1は、画枠外の画素でないと判定される。
引き寄せ画素が画枠外の画素となる画素#0については、逆方向物体相関判定部82は、バンク#2の画素#0の物体カウント値(図中、斜線を付して示す)として、図39に示したバンク#2の回数カウント値"8"を書き込む。
さらに、引き寄せ画素が画枠外の画素となる画素#0については、逆方向物体相関判定部82は、バンク#2の画素#0の物体回数カウント値を、0にリセットする。
また、引き寄せ画素が画枠外の位置とならない画素#1ないし#8の各画素#iについては、逆方向物体相関判定部82において、画素#iの物体ベクトルv2が、第4フレームと第5フレームとの間に補間される補間フレームの前の補間フレーム(前フレーム)の、画素#iの位置から物体ベクトルv2に従って逆方向に移動した位置の画素(前フレーム画素)#i-1の物体ベクトルに類似すると判定される。
すなわち、画素#1ないし#8は、ベクトル類似画素であると判定される。
逆方向物体相関判定部82は、ベクトル類似画素である画素#1ないし#8の各画素#iについては、バンク#1の、画素#iの位置から、物体ベクトルv2だけ逆方向に移動した位置に対応するアドレスの物体回数カウント値、すなわち、バンク#1の引き寄せ画素#i-1の物体回数カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#2の、画素#iの物体回数カウント値として書き込む。
その結果、画素#1ないし#8のうちの画素#1については、バンク#1の引き寄せ画素#0の物体回数カウント値が"1"となっているので、バンク#2の画素#1の物体回数カウント値は、"2"となる。
また、画素#1ないし#8のうちの、画素#2については、バンク#1の引き寄せ画素#1の物体回数カウント値が"3"となっているので、バンク#2の画素#2の物体回数カウント値は、"4"となる。
さらに、画素#1ないし#8のうちの、画素#3については、バンク#1の引き寄せ画素#2の物体回数カウント値が"5"となっているので、バンク#2の画素#3の物体回数カウント値は、"6"となる。
そして、画素#1ないし#8のうちの、画素#4ないし#8の各画素#iについては、バンク#1の引き寄せ画素#i-1の物体回数カウント値が"7"となっているので、バンク#2の画素#iの物体回数カウント値は、"8"となる。
また、逆方向物体相関判定部82において、ベクトル類似画素である画素#1ないし#8のうちの、画素#1,#2,#7,#8の各画素#iについては、第5フレームの画素#iと、画素#iの位置から物体ベクトルv2だけ逆方向に移動した位置の第4フレームの画素(引き寄せ画素)#i-1との間の物体逆方向動き相関がない(図中、バツ印(×)で示す)と判定され、画素#3ないし#6については、物体逆方向動き相関がある(図中、丸印(○)で示す)と判定される。
逆方向物体相関判定部82は、物体逆方向動き相関がない画素#1,#2,#7,#8については、バンク#2の物体カウント値を0にリセットする。
また、逆方向物体相関判定部82は、物体逆方向動き相関がある画素#3ないし#6の各画素#iについては、バンク#1の引き寄せ画素#i-1の物体カウント値を読み出してインクリメントし、そのインクリメント後の値を、バンク#2の、画素#iの物体カウント値として書き込む。
その結果、バンク#2の画素#3ないし#6の物体カウント値は、バンク#1の引き寄せ画素#2ないし#5の物体カウント値"7"をインクリメントして得られる値"8"となる。
次に、図41を参照して、図29の画素単位動き推定部13において、背景カウント値、回数カウント値、物体カウント値、及び、物体回数カウント値がリセットされる場合について説明する。
図29において、フレーム回数カウンタ71の回数カウント値、背景カウンタ78の背景カウント値、物体カウンタ85の物体カウント値、及び、物体回数カウンタ86の物体回数カウント値は、以下の場合にリセットされる。
すなわち、回数カウント値、及び、背景カウント値は、シーンチェンジが発生した場合にリセットされる。
さらに、背景カウント値は、背景順方向動き相関、又は背景逆方向動き相関がない場合と、注目画素の背景ベクトルv1が、引き寄せ画素の背景ベクトルv1'、及び、引き寄せ画素の物体ベクトルv2'のいずれにも類似していない場合(注目画素がベクトル類似画素でない場合)にリセットされる。
また、物体カウント値は、物体順方向動き相関、又は物体逆方向動き相関がない場合と、注目画素の物体ベクトルv2が、引き寄せ画素の背景ベクトルv1'、及び、引き寄せ画素の物体ベクトルv2'のいずれにも類似していない場合(注目画素がベクトル類似画素でない場合)にリセットされる。
一方、物体回数カウント値は、物体順方向動き相関や物体逆方向動き相関の有無には関係なく、注目画素の物体ベクトルv2が、引き寄せ画素の背景ベクトルv1'、及び、引き寄せ画素の物体ベクトルv2'のいずれにも類似していない場合(注目画素がベクトル類似画素でない場合)と、引き寄せ画素が、画枠外の画素となる場合にリセットされる。
ここで、図41は、注目画素の背景ベクトルv1が、引き寄せ画素の背景ベクトルv1'、及び、引き寄せ画素の物体ベクトルv2'のいずれにも類似していないことに起因して、背景カウント値が0にリセットされた状態と、注目画素の物体ベクトルv2が、引き寄せ画素の背景ベクトルv1'、及び、引き寄せ画素の物体ベクトルv2'のいずれにも類似していないことに起因して、物体カウント値、及び、物体回数カウント値が0にリセットされた状態とを示している。
以上のように、図29の画素単位動き推定部13では、背景について、背景ベクトルv1に従った動き、及び画像の相関(背景順方向動き相関、及び、背景逆方向動き相関)が連続している回数を表す背景カウント値をカウントし、背景カウント値のカウントとは別個に、物体について、物体ベクトルv2に従った動き、及び画像の相関(物体順方向動き相関、及び、物体逆方向動き相関)が連続している回数を表す物体カウント値をカウントするので、繰り返しパターンのテクスチャを有する背景や物体が写った入力画像について、動きベクトルの誤検出を防止することができ、ひいては、その動きベクトルを用い、フレーム補間において、高画質の補間フレームを生成することができる。
すなわち、図42は、繰り返しパターンのテクスチャを有する物体が移動している様子が写った入力画像の例を示している。
なお、図42において、横軸は、時間(フレーム数)を表し、縦軸は、画像の垂直方向を表す。
また、図42では、前述の図1の場合と同様に、入力画像において、背景は、ベクトルVBで表す動き背景動きをしており、物体(前景)は、ベクトルVFで表す物体動きをしている。
ここで、図42では、入力画像の第n-3フレームないし第nフレームだけを考慮するとする。
また、入力画像の第n-3フレームないし第nフレームのうちの、例えば、第n-1フレームと第nフレームが、それぞれ、過去側フレームと未来側フレームとなっており、その第n-1フレームと第nフレームとの間に補間される補間フレームの、第nフレームの物体が写っている画素a0と同一の位置の画素が、注目画素となっているとする。
さらに、注目画素については、背景ベクトルv1として、背景動きを表すベクトルVBが求められ、物体ベクトルv2として、物体動きを表すベクトルVFが求められていることとする。
また、第n-1フレームの、画素a0の位置から背景ベクトルv1だけ逆方向に移動した位置を中心とする所定のエリアをサーチエリアとして行われる、第nフレームの画素a0を中心とするブロックのブロックマッチングを、背景ベクトルv1を用いるブロックマッチングということとする。
さらに、第n-1フレームの、画素a0の位置から物体ベクトルv2だけ逆方向に移動した位置を中心とする所定のエリアをサーチエリアとして行われる、第nフレームの画素a0を中心とするブロックのブロックマッチングを、物体ベクトルv2を用いるブロックマッチングということとする。
いま、背景ベクトルv1を用いるブロックマッチングと、物体ベクトルv2を用いるブロックマッチングとを行い、ブロックマッチングの結果得られる2つの評価値テーブルのうちの、最小の評価値が得られる評価値テーブルが求められるブロックマッチングで用いられるベクトル(背景ベクトルv1、及び、物体ベクトルv2のうちのいずれか)を、注目画素の順方向ベクトル(又は、逆方向ベクトル)として選択することとすると、図42の入力画像については、物体ベクトルv2ではなく、背景ベクトルv1が、順方向ベクトルとして、誤って選択される可能性が高い(背景ベクトルv1、及び、物体ベクトルv2のいずれも、同程度の可能性で、順方向ベクトルとして選択されうる)。
但し、画素単位動き推定部13(図29)では、図42の入力画像については、注目画素の背景カウント値CBとして、4が得られ、物体カウント値CFとして、背景カウント値CBよりも大の6が得られる。したがって、値が大きい物体カウント値CFに対応する物体ベクトルv2を、順方向ベクトルとして、正確に選択することができる。
ここで、繰り返しパターンのテクスチャを有する領域が、図42に示したように、小さい領域になっている入力画像については、前述の図3で説明した、特許文献1に記載の方法を適用した動きベクトルの検出の方法によっても、物体の動きを表す動きベクトルを、正確に検出することができる。
しかしながら、特許文献1に記載の方法を適用した動きベクトルの検出の方法では、前述の図4で説明したように、繰り返しパターンのテクスチャを有する領域が大きい領域になっている入力画像(繰り返しパターンが広い範囲に写っている入力画像)については、動きベクトルを誤検出する(順方向ベクトルの選択を誤る)可能性が高くなる。
すなわち、図43は、繰り返しパターンのテクスチャを有する領域が大きい領域になっている入力画像の例を示している。
なお、図43において、横軸は、時間を表し、縦軸は、画像の垂直方向を表す。
また、図43では、図1の場合と同様に、入力画像では、背景が、ベクトルVBで表す動き背景動きをしており、物体が、ベクトルVFで表す物体動きをしている。
図43の入力画像では、背景として、細かい繰り返しパターンが広い範囲に写っている。
図43の入力画像については、画素単位動き推定部13(図29)では、注目画素の背景カウント値CBとして、6が得られ、物体カウント値CFとしても、背景カウント値CBと同一の値の6が得られる。
この場合、画素単位動き推定部13では、背景ベクトルv1、及び、物体ベクトルv2のうちの、順方向動き判定情報(又は、逆方向動き判定情報)が表すベクトルが、順方向ベクトル(又は、逆方向ベクトル)として選択される。
すなわち、図43の入力画像のように、細かい繰り返しパターンが広い範囲に写っている場合には、背景カウント値CBと、物体カウント値CFとは、多くのフレームにわたって、同一の値となる。
したがって、背景カウント値CBと、物体カウント値CFとが、同一の値になっている場合には、入力画像において、細かい繰り返しパターンが広い範囲に写っている。
そして、細かい繰り返しパターンが広い範囲に写っている入力画像については、サイズが大きいブロックを用いて、ブロックマッチングを行うことで、正確な動きベクトルを求めることができる傾向がある。
一方、順方向動き判定情報は、上述したように、候補ベクトル算出部12(図18)で得られる情報であり、5×5の小ブロックから構成される、サイズが比較的大きい中ブロックのブロックマッチングの結果得られる中ブロック順方向ベクトルmvFの統計処理の結果としてのメディアンが、背景ベクトルv1、及び、物体ベクトルv2のうちのいずれに類似するかを表す。
そして、背景ベクトルv1は、中ブロックよりもサイズが大きい大ブロックのブロックマッチングの結果得られる大ブロック双方向ベクトルmvLの統計処理の結果であり、物体ベクトルv2は、中ブロックのブロックマッチングの結果得られる中ブロック順方向ベクトルmvFの統計処理の結果である。
したがって、背景カウント値CBと、物体カウント値CFとが、同一の値になっている場合に、サイズが大きい大ブロックや中ブロックのブロックマッチングの結果から得られる順方向動き判定情報が表すベクトル(背景ベクトルv1、又は、物体ベクトルv2)を、順方向ベクトルとして選択することにより、順方向ベクトルを正確に求めることができる(図34のステップS104や、図38のステップS154)。
次に、図44は、第n-3フレームないし第nフレームの入力画像の他の例を示している。
なお、図44において、横軸は、時間を表し、縦軸は、画像の垂直方向を表す。
図44では、入力画像では、背景が、ベクトルVBで表す動き背景動きをしており、物体が、ベクトルVFで表す物体動きをしている。
図44の入力画像では、物体の後ろ側から、細かい繰り返しパターンの背景が出現している。
図44の入力画像については、背景カウント値、及び、物体カウント値の大小関係に基づいて、背景ベクトルv1、又は、物体ベクトルv2を(値が大きい方のカウント値に対応するベクトルを)、順方向ベクトルとして選択すると、順方向ベクトルの選択を誤ることがある。すなわち、物体の後ろ側から出現する、細かい繰り返しパターンの背景の位置の補間画素について、順方向ベクトルとして、背景ベクトルv1を選択すべきであるのにもかかわらず、誤って、物体ベクトルv2が選択されることがある。
そこで、図29の画素単位動き推定部13では、例えば、補間画素の背景カウント値が、シーンチェンジからのフレーム数を表す回数カウント値よりも小さいかどうか(、及び、物体カウント値が、物体回数カウント値よりも小さいかどうか)が判定される。
そして、画素単位動き推定部13では、補間画素の背景カウント値が、回数カウント値よりも小さい場合には、過去側フレームや未来側フレームの、補間画素の位置の画素に写るテクスチャが、シーンチェンジ直後から存在していたのではなく、シーンチェンジ直後より後で出現したとして、背景カウント値、及び、物体カウント値の大小関係ではなく、相関の有無の判定に用いられた評価値テーブルに基づいて、背景ベクトルv1、又は、物体ベクトルv2が、順方向ベクトルとして選択される(図34のステップS107や、図38のステップS157)。
なお、評価値テーブルに基づいて、順方向ベクトルを選択する場合には、細かい繰り返しパターンの影響で、順方向ベクトルを正しく選択することができないことがあり得る。しかしながら、背景カウント値が、回数カウント値よりも小さい場合に、評価値テーブルに基づいて、順方向ベクトルを選択することで、背景カウント値、及び、物体カウント値の大小関係に基づいて、順方向ベクトルを選択する場合に比較して、順方向ベクトルを正しく選択することができないことがあり得る補間画素の範囲(数)を小さくすることができる。
次に、図45は、第n-3フレームないし第nフレームの入力画像の、さらに他の例を示している。
なお、図45において、横軸は、時間を表し、縦軸は、画像の垂直方向を表す。
図45の入力画像では、画枠外から、ベクトルVBで表す背景動きの、細かい繰り返しパターンの背景が出現している。
過去側フレームや未来側フレームにおいて、画枠外から出現したテクスチャが写った画素の位置の補間画素の背景カウント値は、画枠外からの出現後にインクリメントが開始されるため、0を初期値としてインクリメントを開始すると、回数カウント値よりも小さくなる。
この場合、図44で説明したように、評価値テーブルに基づいて、順方向ベクトルが選択されることになり、細かい繰り返しパターンの影響で、順方向ベクトルを正しく選択することができないことがあり得る。
そこで、画素単位動き推定部13(図29)では、過去側フレームや未来側フレームにおいて、画枠外から出現したテクスチャが写った画素の位置の補間画素の背景カウント値には、回数カウント値がセットされる。
これにより、過去側フレームや未来側フレームにおいて、画枠外から出現したテクスチャが写った画素の位置の補間画素の背景カウント値は、回数カウント値と一致し、評価値テーブルに基づいて、順方向ベクトルが選択されるのではなく、背景カウント値、及び、物体カウント値の大小関係に基づいて、順方向ベクトルが選択される。
すなわち、過去側フレームや未来側フレームにおいて、画枠外から出現するテクスチャが写った画素の位置の補間画素について、シーンチェンジ直後から存在するテクスチャが写った画素の位置の補間画素の場合と同様にして、順方向ベクトルを正確に求めることができる。
以上のように、画素単位動き推定部13では、背景カウント値、及び、物体カウント値の大小関係等に基づいて、順方向ベクトル、及び、逆方向ベクトルを求めるので、繰り返しパターンのテクスチャが写った入力画像に対して、誤った順方向ベクトルや逆方向ベクトルが求められる可能性を低くすることができる。
[補間画素動き判定部14の補間画素動き判定処理の説明]
次に、図46を参照して、図5の補間画素動き判定部14が行う処理(補間画素動き判定処理)を説明する。
図46は、過去側フレームとしての第n-1フレームと、未来側フレームとしての第nフレームとを示している。
補間画素動き判定部14は、画素単位動き推定部13からの順方向ベクトルや逆方向ベクトルと、候補ベクトル算出部12からの背景ベクトルv1、若しくは物体ベクトルv2、又は0ベクトルとが類似しているかどうかによって、背景ベクトルv1、物体ベクトルv2、又は0ベクトルを、補間画素の動きベクトルに判定する動き判定を行う。
さらに、補間画素動き判定部14は、画素単位動き推定部13からの順方向ベクトルや逆方向ベクトルと、候補ベクトル算出部12からの背景ベクトルv1、若しくは物体ベクトルv2、又は0ベクトルとが類似しているかどうかによって、補間画素が、カバードバックグラウンド領域の画素、アンカバードバックグラウンド領域の画素、又は、カバードバックグラウンド領域、及び、アンカバードバックグラウンド領域のいずれの領域でもない領域の画素のうちのいずれであるかを判定するC/UC判定を行う。
すなわち、補間画素動き判定部14は、注目画素(補間画素)Pについて、注目画素P(を含む注目ブロック)の背景ベクトルv1に平行で、注目画素Pを通る直線L1(図中、太い実線で示す)上の、過去側フレーム(第n-1フレーム)の画素P1(n-1)についての順方向ベクトルv1(n-1)、及び、未来側フレーム(第nフレーム)の画素P1(n)についての逆方向ベクトルv1(n)を特定する。
ここで、第n-1フレームの画素P1(n-1)についての順方向ベクトルv1(n-1)とは、第n-1フレームと第nフレームとの間に補間される補間フレームの、画素P1(n-1)の位置の補間画素の順方向ベクトルを意味する。
同様に、第nフレームの画素P1(n)についての逆方向ベクトルv1(n)とは、第n-1フレームと第nフレームとの間に補間される補間フレームの、画素P1(n)の位置の補間画素の逆方向ベクトルを意味する。
また、補間画素動き判定部14は、注目画素Pについて、注目画素Pの物体ベクトルv2に平行で、注目画素Pを通る直線L2(図中、太い点線で示す)上の、過去側フレームの画素P2(n-1)についての順方向ベクトルv2(n-1)、及び、未来側フレームの画素P2(n)についての逆方向ベクトルv2(n)を特定する。
さらに、補間画素動き判定部14は、注目画素Pについて、注目画素Pの位置の、過去側フレームの画素P3(n-1)についての順方向ベクトルv3(n-1)、及び、未来側フレームの画素P3(n)についての逆方向ベクトルv3(n)を特定する。
ここで、0ベクトルを、ベクトルv3と表すこととすると、順方向ベクトルv3(n-1)は、ベクトルv3に平行で、注目画素Pを通る直線L3(図中、一点鎖線で示す)上の、過去側フレームの画素P3(n-1)についての順方向ベクトルである。また、逆方向ベクトルv3(n)は、ベクトルv3に平行で、注目画素Pを通る直線L3上の、未来側フレームの画素P3(n)についての逆方向ベクトルである。
補間画素動き判定部14は、以上の、画素P1(n-1)についての順方向ベクトルv1(n-1)、画素P1(n)についての逆方向ベクトルv1(n)、画素P2(n-1)についての順方向ベクトルv2(n-1)、画素P2(n)についての逆方向ベクトルv2(n)、画素P3(n-1)についての順方向ベクトルv3(n-1)、及び、画素P3(n)についての逆方向ベクトルv3(n)の中の少なくとも1つ以上と、注目画素Pの背景ベクトルv1、物体ベクトルv2、又は0ベクトルv3とが類似しているかどうかによって、背景ベクトルv1、物体ベクトルv2、又は0ベクトルv3を、注目画素Pの動きベクトルに判定する動き判定を行う。
さらに、補間画素動き判定部14は、以上の、画素P1(n-1)についての順方向ベクトルv1(n-1)、画素P1(n)についての逆方向ベクトルv1(n)、画素P2(n-1)についての順方向ベクトルv2(n-1)、画素P2(n)についての逆方向ベクトルv2(n)、画素P3(n-1)についての順方向ベクトルv3(n-1)、及び、画素P3(n)についての逆方向ベクトルv3(n)の中の少なくとも1つ以上と、注目画素Pの背景ベクトルv1、物体ベクトルv2、又は0ベクトルv3とが類似しているかどうかによって、注目画素Pが、カバードバックグラウンド領域の画素、アンカバードバックグラウンド領域の画素、又は、カバードバックグラウンド領域、及び、アンカバードバックグラウンド領域のいずれの領域でもない領域の画素のうちのいずれであるかを判定するC/UC判定を行う。
以上のように、補間画素動き判定部14では、過去側フレームと未来側フレームとの2フレームという少ないフレームから得られる背景ベクトルv1、及び、物体ベクトルv2、並びに、順方向ベクトル、及び、逆方向ベクトル等から、注目画素Pが、カバードバックグラウンド領域の画素、アンカバードバックグラウンド領域の画素、又は、カバードバックグラウンド領域、及び、アンカバードバックグラウンド領域のいずれの領域でもない領域の画素のうちのいずれであるかを判定することができる。
図47は、図5の補間画素動き判定部14が、図7のステップS15で行う処理(補間画素動き判定処理)を説明するフローチャートである。
補間画素動き判定部14は、ステップS171において、注目フレーム(補間フレーム)の画素のうちの、まだ、注目画素としていない画素の1つを、注目画素に選択し、処理は、ステップS172に進む。
ステップS172では、補間画素動き判定部14は、注目画素Pについて、候補ベクトル算出部12(図5)からの、注目画素Pの背景ベクトルv1に平行で、注目画素Pを通る直線L1上の、過去側フレームの画素P1(n-1)、及び、未来側フレームの画素P1(n)を特定する。
さらに、補間画素動き判定部14は、注目画素Pについて、候補ベクトル検出部12からの、注目画素Pの物体ベクトルv2に平行で、注目画素Pを通る直線L2上の、過去側フレームの画素P2(n-1)、及び、未来側フレームの画素P2(n)を特定する。
また、補間画素動き判定部14は、注目画素Pについて、0ベクトルv3に平行で、注目画素Pを通る直線L3上の、過去側フレームの画素P3(n-1)、及び、未来側フレームの画素P3(n)を特定する。
そして、処理は、ステップS172からステップS173に進み、補間画素動き判定部14は、図46で説明したように、注目画素Pについて、過去側フレームの画素P1(n-1)についての順方向ベクトルv1(n-1)、及び、未来側フレームの画素P1(n)についての逆方向ベクトルv1(n)を、画素単位動き推定部13(図5)からの順方向ベクトル、及び、逆方向ベクトルから特定する。
さらに、補間画素動き判定部14は、図46で説明したように、注目画素Pについて、過去側フレームの画素P2(n-1)についての順方向ベクトルv2(n-1)、及び、未来側フレームの画素P2(n)についての逆方向ベクトルv2(n)を、画素単位動き推定部13からの順方向ベクトル、及び、逆方向ベクトルから特定する。
また、補間画素動き判定部14は、注目画素Pについて、過去側フレームの画素P3(n-1)についての順方向ベクトルv3(n-1)、及び、未来側フレームの画素P3(n)についての逆方向ベクトルv3(n)を、画素単位動き推定部13からの順方向ベクトル、及び、逆方向ベクトルから特定する。
その後、処理は、ステップS173からステップS174に進み、補間画素動き判定部14は、順方向ベクトルv1(n-1)、逆方向ベクトルv1(n)、順方向ベクトルv2(n-1)、逆方向ベクトルv2(n)、順方向ベクトルv3(n-1)、及び、逆方向ベクトルv3(n)のうちの必要なベクトルを用いて、動き判定とC/UC判定を行う。
さらに、補間画素動き判定部14は、注目画素Pについての、動き判定の結果を表す動き情報と、C/UC判定の結果を表すC/UC情報とを、補間画像生成部15(図5)に供給して、処理は、ステップS174からステップS175に進む。
ステップS175では、補間画素動き判定部14は、注目フレームの画素の中で、まだ、注目画素としていない画素があるかどうかを判定する。
ステップS175において、注目フレームの画素の中に、まだ、注目画素としていない画素があると判定された場合、処理は、ステップS171に戻る。
また、ステップS715において、注目フレームの画素の中に、注目画素としていない画素がないと判定された場合、処理は終了する(リターンする)。
図48は、図47のステップS174で行われる動き判定とC/UC判定の処理(判定処理)を説明するフローチャートである。
ステップS201において、補間画素動き判定部14は、逆方向ベクトルv3(n)が、0ベクトルv3に類似し、かつ、順方向ベクトルv3(n-1)も、0ベクトルv3に類似するかどうかを判定する。
ステップS201において、逆方向ベクトルv3(n)が、0ベクトルv3に類似し、かつ、順方向ベクトルv3(n-1)も、0ベクトルv3に類似すると判定された場合、処理は、ステップS202に進み、補間画素動き判定部14は、注目画素Pの動きベクトルが、0ベクトルv3である旨の動き情報を出力する。
さらに、ステップS202では、補間画素動き判定部14は、注目画素Pが、カバードバックグラウンド領域、及び、アンカバードバックグラウンド領域のいずれの領域でもない領域の画素(以下、通常画素ともいう)である旨のC/UC情報を出力し、処理を終了する(リターンする)。
なお、補間画素動き判定部14が出力する動き情報、及び、C/UC情報は、補間画像生成部15(図5)に供給される。
ここで、逆方向ベクトルv3(n)が、0ベクトルv3に類似し、かつ、順方向ベクトルv3(n-1)も、0ベクトルv3に類似する場合(以下、ステップS201の判定結果が真の場合ともいう)、過去側フレームの画素P3(n-1)から、静止を表す0ベクトルv3だけ順方向に移動した位置の、未来側フレームの画素P3(n)についての逆方向ベクトルv3(n)が、0ベクトルv3に類似する。
さらに、ステップS201の判定結果が真の場合、未来側フレームの画素P3(n)から、静止を表す0ベクトルv3だけ逆方向に移動した(戻った)位置の、過去側フレームの画素P3(n-1)についての順方向ベクトルv3(n-1)が、物体ベクトルv3に類似する。
したがって、例えば、未来側フレームの画素P3(n)(に写るテクスチャ)が、逆方向に向かって静止していると仮定した場合に、未来側フレームの画素P3(n)と同一の位置の、過去側フレームの画素P3(n-1)は、順方向に向かって、静止している(0ベクトルv3で表される動きをしている)。
よって、未来側フレームの画素P3(n)が、逆方向に向かって静止しているとの仮定は正しく、画素P3(n)とP3(n-1)とは、対応するテクスチャ(同一のテクスチャ)が写っていることになる。
一方、ステップS201において、逆方向ベクトルv3(n)が、0ベクトルv3に類似しないか、又は、順方向ベクトルv3(n-1)が、0ベクトルv3に類似しない場合、処理は、ステップS203に進み、補間画素動き判定部14は、逆方向ベクトルv2(n)が、物体ベクトルv2に類似し、かつ、順方向ベクトルv2(n-1)も、物体ベクトルv2に類似するかどうかを判定する。
ステップS203において、逆方向ベクトルv2(n)が、物体ベクトルv2に類似し、かつ、順方向ベクトルv2(n-1)も、物体ベクトルv2に類似すると判定された場合、処理は、ステップS204に進み、補間画素動き判定部14は、注目画素Pの動きベクトルが、物体ベクトルv2である旨の動き情報を出力する。
さらに、ステップS204では、補間画素動き判定部14は、注目画素Pが、通常画素である旨のC/UC情報を出力し、処理を終了する(リターンする)。
ここで、逆方向ベクトルv2(n)が、物体ベクトルv2に類似し、かつ、順方向ベクトルv2(n-1)も、物体ベクトルv2に類似する場合(以下、ステップS203の判定結果が真の場合ともいう)、過去側フレームの画素P2(n-1)から、物体ベクトルv2だけ順方向に移動した位置の、未来側フレームの画素P2(n)についての逆方向ベクトルv2(n)が、物体ベクトルv2に類似する。
さらに、ステップS203の判定結果が真の場合、未来側フレームの画素P2(n)から、物体動きを表す物体ベクトルv2だけ逆方向に移動した(戻った)位置の、過去側フレームの画素P2(n-1)についての順方向ベクトルv2(n-1)が、物体ベクトルv2に類似する。
したがって、例えば、未来側フレームの画素P2(n)(に写るテクスチャ)が、逆方向に向かって物体ベクトルv2で表される物体動きをしている物体であると仮定した場合に、未来側フレームの画素P2(n)から、物体動きを表す物体ベクトルv2だけ逆方向に移動した(戻った)位置の、過去側フレームの画素P2(n-1)は、順方向に向かって物体ベクトルv2で表される物体動きをしている。
よって、未来側フレームの画素P2(n)が、物体ベクトルv2で表される物体動きをしているとの仮定は正しく、画素P2(n)とP2(n-1)とは、対応する(物体の)テクスチャが写っていることになる。
一方、ステップS203において、逆方向ベクトルv2(n)が、物体ベクトルv2に類似しないか、又は、順方向ベクトルv2(n-1)が、物体ベクトルv2に類似しない場合、処理は、ステップS205に進み、補間画素動き判定部14は、逆方向ベクトルv1(n)が、背景ベクトルv1に類似し、かつ、順方向ベクトルv1(n-1)も、背景ベクトルv1に類似するかどうかを判定する。
ステップS205において、逆方向ベクトルv1(n)が、背景ベクトルv1に類似し、かつ、順方向ベクトルv1(n-1)も、背景ベクトルv1に類似すると判定された場合、処理は、ステップS206に進み、補間画素動き判定部14は、注目画素Pの動きベクトルが、背景ベクトルv1である旨の動き情報を出力する。
さらに、ステップS206では、補間画素動き判定部14は、注目画素Pが、通常画素である旨のC/UC情報を出力し、処理を終了する(リターンする)。
ここで、逆方向ベクトルv1(n)が、背景ベクトルv1に類似し、かつ、順方向ベクトルv1(n-1)も、背景ベクトルv1に類似する場合(以下、ステップS205の判定結果が真の場合ともいう)、過去側フレームの画素P1(n-1)から、背景ベクトルv1だけ順方向に移動した位置の、未来側フレームの画素P1(n)についての逆方向ベクトルv1(n)が、背景ベクトルv1に類似する。
さらに、ステップS205の判定結果が真の場合、未来側フレームの画素P1(n)から、背景動きを表す背景ベクトルv1だけ逆方向に移動した(戻った)位置の、過去側フレームの画素P1(n-1)についての順方向ベクトルv1(n-1)が、背景ベクトルv1に類似する。
したがって、例えば、未来側フレームの画素P1(n)(に写るテクスチャ)が、背景ベクトルv1で表される背景動きをしている背景であると仮定した場合に、未来側フレームの画素P1(n)から背景ベクトルv1だけ逆方向に移動した(戻った)位置の、過去側フレームの画素P1(n-1)は、順方向に向かって背景ベクトルv1で表される背景動きをしている。
よって、未来側フレームの画素P1(n)が、背景ベクトルv1で表される背景動きをしているとの仮定は正しく、画素P1(n)とP1(n-1)とは、対応する(背景の)テクスチャが写っていることになる。
一方、ステップS205において、逆方向ベクトルv1(n)が、背景ベクトルv1に類似しないか、又は、順方向ベクトルv1(n-1)が、背景ベクトルv1に類似しないと判定された場合、処理は、図49のステップS211に進む。
すなわち、図49は、図48に続くフローチャートである。
図49のステップS211では、補間画像動き判定部14は、順方向ベクトルv2(n-1)が、背景ベクトルv1に類似するかどうかを判定する。
ステップS211において、順方向ベクトルv2(n-1)が、背景ベクトルv1に類似すると判定された場合、処理は、ステップS212に進み、補間画素動き判定部14は、注目画素Pの動きベクトルが、背景ベクトルv1である旨の動き情報を出力する。
さらに、ステップS212では、補間画素動き判定部14は、注目画素Pが、アンカバードバックグラウンド領域の画素(以下、アンカバード画素ともいう)である旨のC/UC情報を出力し、処理を終了する(リターンする)。
ここで、ステップS211(以降)の処理が行われる場合とは、図48のステップS201,S203、及びS205の判定結果が、いずれも真ではない場合である。
したがって、ステップS211の処理が行われる場合、未来側フレームの画素P1(n)と、過去側フレームの画素P1(n-1)とには、対応するテクスチャが写っていない。
さらに、未来側フレームの画素P2(n)と、過去側フレームの画素P2(n-1)とにも、対応するテクスチャは写っておらず、未来側フレームの画素P3(n)と、過去側フレームの画素P3(n-1)とにも、対応するテクスチャは写っていない。
ところで、順方向ベクトルv2(n-1)が、背景ベクトルv1に類似する場合(以下、ステップS211の判定結果が真の場合ともいう)とは、未来側フレームの画素P2(n)から、物体動きを表す物体ベクトルv2だけ逆方向に移動した(戻った)位置の、過去側フレームの画素P2(n-1)についての順方向ベクトルv2(n-1)が、背景ベクトルv1に類似する場合である。
したがって、例えば、未来側フレームの画素P2(n)が、逆方向に、物体ベクトルv2で表される物体動きをしている物体が写っている画素(以下、物体画素ともいう)であると仮定した場合に、未来側フレームの画素P2(n)から、物体ベクトルv2だけ逆方向に移動した位置の、過去側フレームの画素P2(n-1)は、物体ベクトルv2で表される物体動きではなく、背景ベクトルv1で表される背景動きをしている(順方向ベクトルv2(n-1)が背景ベクトルv1に類似するため)。
よって、過去側フレームの画素P2(n-1)は、背景が写っている画素(以下、背景画素ともいう)である。
そして、未来側フレームの画素P2(n)から、物体ベクトルv2だけ逆方向に移動した(戻った)位置の、過去側フレームの画素P2(n-1)が背景画素なのであるから、未来側フレームの画素P2(n)が物体画素であるとの仮定は誤りであり、画素P2(n)は、背景画素である。
しかしながら、ステップS211の処理が行われる場合とは、図48のステップS201,S203、及びS205の判定結果が、いずれも真ではない場合であり、上述したように、未来側フレームの画素P2(n)と、過去側フレームの画素P2(n-1)とには、対応するテクスチャは写っていない。
すなわち、未来側フレームの画素P2(n)に写っている背景(のテクスチャ)は、過去側フレームには写っていない。
したがって、未来側フレームの画素P2(n)に写っている背景は、物体が、物体ベクトルv2だけ順方向に移動するとともに、背景が、背景ベクトルv1だけ順方向に移動することにより現れた、過去側フレームには写っていない背景である。
以上のように、過去側フレームに写る物体及び背景が移動することにより、未来側フレームに現れる、過去側フレームには写っていない背景が写っている、未来側フレームの画素P2(n)の領域が、アンカバードバックグラウンド領域である。
本明細書では、便宜的に、未来側フレームのアンカバードバックグラウンド領域の画素P2(n)に対して注目画素Pとなる補間フレームの画素も、アンカバードバックグラウンド領域の画素(アンカバード画素)という。
ここで、順方向ベクトルv2(n-1)が、背景ベクトルv1に類似する場合(ステップS211の判定結果が真の場合)とは、上述したように、物体が、物体ベクトルv2だけ順方向に移動するとともに、背景が、背景ベクトルv1だけ順方向に移動することにより、物体ベクトルv2に従って移動する物体の後ろ側から、背景ベクトルv1に従って移動する背景が、未来側フレームの画素P2(n)に現れる場合であるが、本明細書では、この未来側フレームの画素P2(n)に現れる背景は、注目画素Pにも現れることとする。
この場合、注目画素Pは、物体ベクトルv2に従って移動する物体の後ろ側から、背景ベクトルv1に従って移動する背景が現れ、その背景が写っているアンカバード画素ということができるが、このようなアンカバード画素を、以下、ベクトルv2に対するv1のアンカバード画素ともいう。
補間画素動き判定部14は、ステップS212において、注目画素Pが、ベクトルv2に対するv1のアンカバード画素である旨のC/UC情報を出力する。
一方、ステップS211において、順方向ベクトルv2(n-1)が、背景ベクトルv1に類似しないと判定された場合、処理は、ステップS213に進み、補間画像動き判定部14は、逆方向ベクトルv2(n)が、背景ベクトルv1に類似するかどうかを判定する。
ステップS213において、逆方向ベクトルv2(n)が、背景ベクトルv1に類似すると判定された場合、処理は、ステップS214に進み、補間画素動き判定部14は、注目画素Pの動きベクトルが、背景ベクトルv1である旨の動き情報を出力する。
さらに、ステップS214では、補間画素動き判定部14は、注目画素Pが、カバードバックグラウンド領域の画素(以下、カバード画素ともいう)である旨のC/UC情報を出力し、処理を終了する(リターンする)。
ここで、ステップS211以降の処理が行われる場合とは、上述したように、図48のステップS201,S203、及びS205の判定結果が、いずれも真ではない場合である。
したがって、ステップS213の処理が行われる場合、未来側フレームの画素P1(n)と、過去側フレームの画素P1(n-1)とには、対応するテクスチャが写っていない。
さらに、未来側フレームの画素P2(n)と、過去側フレームの画素P2(n-1)とにも、対応するテクスチャは写っておらず、未来側フレームの画素P3(n)と、過去側フレームの画素P3(n-1)とにも、対応するテクスチャは写っていない。
ところで、逆方向ベクトルv2(n)が、背景ベクトルv1に類似する場合(以下、ステップS213の判定結果が真の場合ともいう)とは、過去側フレームの画素P2(n-1)から、物体動きを表す物体ベクトルv2だけ順方向に移動した位置の、未来側フレームの画素P2(n)についての逆方向ベクトルv2(n)が、背景ベクトルv1に類似する場合である。
したがって、例えば、過去側フレームの画素P2(n-1)が、物体ベクトルv2で表される物体動きをしている物体が写っている画素(物体画素)であると仮定した場合に、過去側フレームの画素P2(n-1)から、物体ベクトルv2だけ順方向に移動した位置の、未来側フレームの画素P2(n)は、物体ベクトルv2で表される物体動きではなく、背景ベクトルv1で表される背景動きをしている(逆方向ベクトルv2(n)が背景ベクトルv1に類似するため)。
よって、未来側フレームの画素P2(n)は、背景が写っている画素(背景画素)である。
そして、過去側フレームの画素P2(n-1)から、物体ベクトルv2だけ順方向に移動した位置の、未来側フレームの画素P2(n)が背景画素なのであるから、過去側フレームの画素P2(n-1)が物体画素であるとの仮定は誤りであり、画素P2(n-1)は、背景画素である。
しかしながら、ステップS213の処理が行われる場合とは、図48のステップS201,S203、及びS205の判定結果が、いずれも真ではない場合であり、上述したように、過去側フレームの画素P2(n-1)と、未来側フレームの画素P2(n)とには、対応するテクスチャは写っていない。
すなわち、過去側フレームの画素P2(n-1)に写っている背景(のテクスチャ)は、未来側フレームには写っていない。
したがって、過去側フレームの画素P2(n-1)に写っている背景は、物体が、物体ベクトルv2だけ順方向に移動するとともに、背景が、背景ベクトルv1だけ順方向に移動することにより(物体の後ろ側に)隠れてしまった、未来側フレームには写っていない背景である。
以上のように、過去側フレームに写る物体及び背景が移動することにより、未来側フレームにおいて、物体の後ろ側に隠れる背景が写っている、過去側フレームの画素P2(n-1)の領域が、カバードバックグラウンド領域である。
本明細書では、便宜的に、過去側フレームのカバードバックグラウンド領域の画素P2(n-1)に対して注目画素Pとなる補間フレームの画素も、カバードバックグラウンド領域の画素(カバード画素)という。
ここで、逆方向ベクトルv2(n)が、背景ベクトルv1に類似する場合(ステップS213の判定結果が真の場合)とは、上述したように、物体が、物体ベクトルv2だけ順方向に移動するとともに、背景が、背景ベクトルv1だけ順方向に移動することにより、過去側フレームの画素P2(n-1)に写っている、背景ベクトルv1に従って移動する背景が、未来側フレームにおいて、物体ベクトルv2に従って移動する物体の後ろ側に隠れる場合であるが、本明細書では、この物体の後ろ側に隠れる背景は、注目画素Pには写っていることとする。
この場合、注目画素Pは、物体ベクトルv2に従って移動する物体の後ろ側に隠れてしまう、背景ベクトルv1に従って移動する背景が写っているカバード画素ということができるが、このようなカバード画素を、以下、ベクトルv2に対するv1のカバード画素ともいう。
補間画素動き判定部14は、ステップS214において、注目画素Pが、ベクトルv2に対するv1のカバード画素である旨のC/UC情報を出力する。
一方、ステップS213において、逆方向ベクトルv2(n)が、背景ベクトルv1に類似しないと判定された場合、処理は、ステップS215に進み、補間画素動き判定部14は、順方向ベクトルv3(n-1)が、背景ベクトルv1に類似するかどうかを判定する。
ステップS215において、順方向ベクトルv3(n-1)が、背景ベクトルv1に類似すると判定された場合、処理は、ステップS216に進み、補間画素動き判定部14は、注目画素Pの動きベクトルが、背景ベクトルv1である旨の動き情報を出力する。
さらに、ステップS216では、補間画素動き判定部14は、注目画素Pが、ベクトルv3に対するv1のアンカバード画素である旨のC/UC情報を出力し、処理を終了する(リターンする)。
また、ステップS215において、順方向ベクトルv3(n-1)が、背景ベクトルv1に類似しないと判定された場合、処理は、図50のステップS221に進む。
すなわち、図50は、図49に続くフローチャートである。
図50のステップS221では、補間画素動き判定部14は、逆方向ベクトルv3(n)が、背景ベクトルv1に類似するかどうかを判定する。
ステップS221において、逆方向ベクトルv3(n)が、背景ベクトルv1に類似すると判定された場合、処理は、ステップS222に進み、補間画素動き判定部14は、注目画素Pの動きベクトルが、背景ベクトルv1である旨の動き情報を出力する。
さらに、ステップS222では、補間画素動き判定部14は、注目画素Pが、ベクトルv3に対するv1のカバード画素である旨のC/UC情報を出力し、処理を終了する(リターンする)。
また、ステップS221において、逆方向ベクトルv3(n)が、背景ベクトルv1に類似しないと判定された場合、処理は、ステップS223に進み、補間画素動き判定部14は、順方向ベクトルv3(n-1)が、物体ベクトルv2に類似するかどうかを判定する。
ステップS223において、順方向ベクトルv3(n-1)が、物体ベクトルv2に類似すると判定された場合、処理は、ステップS224に進み、補間画素動き判定部14は、注目画素Pの動きベクトルが、物体ベクトルv2である旨の動き情報を出力する。
さらに、ステップS224では、補間画素動き判定部14は、注目画素Pが、ベクトルv3に対するv2のアンカバード画素である旨のC/UC情報を出力し、処理を終了する(リターンする)。
また、ステップS223において、順方向ベクトルv3(n-1)が、物体ベクトルv2に類似しないと判定された場合、処理は、ステップS225に進み、補間画素動き判定部14は、逆方向ベクトルv3(n)が、物体ベクトルv2に類似するかどうかを判定する。
ステップS225において、逆方向ベクトルv3(n)が、物体ベクトルv2に類似すると判定された場合、処理は、ステップS226に進み、補間画素動き判定部14は、注目画素Pの動きベクトルが、物体ベクトルv2である旨の動き情報を出力する。
さらに、ステップS226では、補間画素動き判定部14は、注目画素Pが、ベクトルv3に対するv2のカバード画素である旨のC/UC情報を出力し、処理を終了する(リターンする)。
また、ステップS225において、逆方向ベクトルv3(n)が、物体ベクトルv2に類似しないと判定された場合、処理は、ステップS227に進み、補間画素動き判定部14は、注目画素Pの動きベクトルが、不明である旨の動き情報と、注目画素Pが、アンカバード画素か、又はカバード画素であるか不明である旨のC/UC情報とを出力し、処理を終了する(リターンする)。
図51は、注目画素Pが、ベクトルv2に対するv1のアンカバード画素となる場合を示している。
すなわち、図51は、背景ベクトルv1に従って移動する背景と、物体ベクトルv2に従って移動する物体とが写った入力画像の例を示している。
なお、図51において、横軸は、時間(フレーム数)を表し、縦軸は、画像の垂直方向を表す。
また、図51において、数字を付してある正方形は、背景の画像の1画素分を表しており、陰を付してある部分は、物体の画像を表している。
図51では、背景は、1フレームあたり、1画素分の距離を、上方向に移動しており、物体は、1フレームあたり、3画素分の距離を、下方向に移動している。
さらに、図51では、入力画像の第n-1フレームと第nフレームが、それぞれ、過去側フレームと未来側フレームとなっている。
そして、図51では、図46で説明したように、過去側フレームの画素P1(n-1)は、注目画素Pの背景ベクトルv1に平行で、注目画素Pを通る直線L1上の、過去側フレームの画素になっており、未来側フレームの画素P1(n)は、注目画素Pの背景ベクトルv1に平行で、注目画素Pを通る直線L1上の、未来側フレームの画素になっている。
さらに、図51では、過去側フレームの画素P2(n-1)は、注目画素Pの物体ベクトルv2に平行で、注目画素Pを通る直線L2上の、過去側フレームの画素になっており、未来側フレームの画素P2(n)は、注目画素Pの物体ベクトルv2に平行で、注目画素Pを通る直線L2上の、未来側フレームの画素になっている。
図51では、未来側フレームの画素P1(n)と、過去側フレームの画素P1(n-1)とには、対応するテクスチャが写っておらず、未来側フレームの画素P2(n)と、過去側フレームの画素P2(n-1)とにも、対応するテクスチャは写っていない。
また、過去側フレームの画素P2(n-1)の順方向ベクトルv2(n-1)が、背景ベクトルv1に類似しており、したがって、図51は、図49のステップS211の判定結果が真となる場合を表している。
図51において、未来側フレームの画素P2(n)が、物体ベクトルv2で表される物体動きをしている物体が写っている画素(物体画素)であると仮定した場合、未来側フレームの画素P2(n)から、物体ベクトルv2だけ逆方向に移動した位置の、過去側フレームの画素P2(n-1)は、物体ベクトルv2で表される物体動きではなく、背景ベクトルv1(に類似する順方向ベクトルv2(n-1))で表される背景動きをしている。
よって、過去側フレームの画素P2(n-1)は、背景が写っている画素(背景画素)である。
そして、未来側フレームの画素P2(n)から、物体ベクトルv2だけ逆方向に移動した(戻った)位置の、過去側フレームの画素P2(n-1)が背景画素なのであるから、未来側フレームの画素P2(n)が物体画素であるとの仮定は誤りであり、画素P2(n)は、背景画素である。
しかしながら、上述したように、未来側フレームの画素P2(n)と、過去側フレームの画素P2(n-1)とには、対応するテクスチャは写っていない。
すなわち、未来側フレームの画素P2(n)に写っている背景(のテクスチャ)は、過去側フレームには写っていない。
したがって、未来側フレームの画素P2(n)に写っている背景(図51において、番号#11で表す画像)は、物体が、物体ベクトルv2だけ順方向に移動するとともに、背景が、背景ベクトルv1だけ順方向に移動することにより現れた、過去側フレームには写っていない背景であり、アンカバードバックグラウンド領域の画像である。
この場合、補間画素動き判定部14では、注目画素Pは、物体ベクトルv2に従って移動する物体の後ろ側から、背景ベクトルv1に従って移動する背景が現れ、その背景が写っているアンカバード画素、すなわち、ベクトルv2に対するv1のアンカバード画素であると判定される(図49のステップS212)。
図52は、注目画素Pが、ベクトルv2に対するv1のカバード画素となる場合を示している。
すなわち、図52は、図51と同一の入力画像を示している。
そして、図52でも、図51と同様に、入力画像の第n-1フレームと第nフレームが、それぞれ、過去側フレームと未来側フレームとなっている。
さらに、過去側フレームの画素P1(n-1)は、注目画素Pの背景ベクトルv1に平行で、注目画素Pを通る直線L1上の、過去側フレームの画素になっており、未来側フレームの画素P1(n)は、注目画素Pの背景ベクトルv1に平行で、注目画素Pを通る直線L1上の、未来側フレームの画素になっている。
また、過去側フレームの画素P2(n-1)は、注目画素Pの物体ベクトルv2に平行で、注目画素Pを通る直線L2上の、過去側フレームの画素になっており、未来側フレームの画素P2(n)は、注目画素Pの物体ベクトルv2に平行で、注目画素Pを通る直線L2上の、未来側フレームの画素になっている。
図52では、未来側フレームの画素P1(n)と、過去側フレームの画素P1(n-1)とには、対応するテクスチャが写っておらず、未来側フレームの画素P2(n)と、過去側フレームの画素P2(n-1)とにも、対応するテクスチャは写っていない。
そして、図52では、未来側フレームの画素P2(n)の逆方向ベクトルv2(n)が、背景ベクトルv1に類似しており、したがって、図52は、図49のステップS213の判定結果が真となる場合を表している。
図52において、過去側フレームの画素P2(n-1)が、物体ベクトルv2で表される物体動きをしている物体が写っている画素(物体画素)であると仮定した場合、過去側フレームの画素P2(n-1)から、物体ベクトルv2だけ順方向に移動した位置の、未来側フレームの画素P2(n)は、物体ベクトルv2で表される物体動きではなく、背景ベクトルv1(に類似する逆方向ベクトルv2(n))で表される背景動きをしている。
よって、未来側フレームの画素P2(n)は、背景が写っている画素(背景画素)である。
そして、過去側フレームの画素P2(n-1)から、物体ベクトルv2だけ順方向に移動した位置の、未来側フレームの画素P2(n)が背景画素なのであるから、過去側フレームの画素P2(n-1)が物体画素であるとの仮定は誤りであり、画素P2(n-1)は、背景画素である。
しかしながら、上述したように、過去側フレームの画素P2(n-1)と、未来側フレームの画素P2(n)とには、対応するテクスチャは写っていない。
すなわち、過去側フレームの画素P2(n-1)に写っている背景(のテクスチャ)は、未来側フレームには写っていない。
したがって、過去側フレームの画素P2(n-1)に写っている背景(図52において、番号#15で表す画像)は、物体が、物体ベクトルv2だけ順方向に移動するとともに、背景が、背景ベクトルv1だけ順方向に移動することにより物体の後ろ側に隠れてしまった、未来側フレームには写っていない背景であり、カバードバックグラウンド領域の画像である。
この場合、補間画像動き判定部14では、注目画素Pは、物体ベクトルv2に従って移動する物体の後ろ側に隠れてしまう、背景ベクトルv1に従って移動する背景が写っているカバード画素、すなわち、ベクトルv2に対するv1のカバード画素と判定される(図49のステップS214)。
なお、ここでは、補間画像動き判定部14において、背景ベクトルv1、物体ベクトルv2、0ベクトルv3の3つのベクトルを、注目画素Pの動きを表す候補として、その3つのベクトルの候補の中から、注目画素Pの動きベクトルを判定することとしたが、注目画素Pの動きベクトルの判定は、注目画素Pの動きを表すベクトルの4個以上の候補を用いて行うことが可能である。
但し、この場合、注目画素Pの動きベクトルの誤りを低減することができるが、処理量やハードウェアが増加する。
[補間画像生成部15の構成例]
図53は、図5の補間画像生成部15の構成例を示すブロック図である。
補間画像生成部15は、候補ベクトル算出部12からの背景ベクトルv1、若しくは物体ベクトルv2、又は0ベクトルのうちの、補間画素動き判定部14からの動き情報が表す、注目画素の動きベクトルに従い、外部からの入力画像における過去側フレーム、及び未来側フレームのうちの少なくとも一方の動き補償を行う。
さらに、補間画像生成部15は、補間画素動き判定部14からのC/UC情報に基づいて、動き補償によって得られる動き補償画像の画素から、注目画素の生成に用いる画素を選択し、その画素(の画素値)を用いて、注目画素(の画素値)を生成する。
すなわち、図53において、補間画像生成部15は、動き補償部111、画素選択部112、及び、加算部113から構成される。
動き補償部111には、外部からの入力画像と、候補ベクトル算出部12からの注目画素の背景ベクトルv1及び物体ベクトルv2とが供給される。
動き補償部111は、フィルタリングによって、画像の位相をシフトする位相シフトフィルタで構成される。動き補償部111は、外部からの入力画像の過去側フレーム、及び未来側フレームのそれぞれを、候補ベクトル算出部12からの注目画素の背景ベクトルv1及びv2のそれぞれに従ってフィルタリングすることにより動き補償する。
すなわち、動き補償部111は、過去側フレームを、候補ベクトル算出部12からの注目画素の背景ベクトルv1に従って動き補償することにより、注目画素(補間画素)を通り、注目画素の背景ベクトルv1に平行な直線と交わる過去側フレーム上の画素の位置が、注目画素の位置に一致するように、過去側フレームの位相(画素の位置)をシフトした画像(以下、背景過去側動き補償画像ともいう)を生成する。
さらに、動き補償部111は、未来側フレームを、候補ベクトル算出部12からの注目画素の背景ベクトルv1に従って動き補償することにより、注目画素を通り、注目画素の背景ベクトルv1に平行な直線と交わる未来側フレーム上の画素の位置が、注目画素の位置に一致するように、未来側フレームの位相をシフトした画像(以下、背景未来側動き補償画像ともいう)を生成する。
また、動き補償部111は、過去側フレームを、候補ベクトル算出部12からの注目画素の物体ベクトルv2に従って動き補償することにより、注目画素を通り、注目画素の物体ベクトルv2に平行な直線と交わる過去側フレーム上の画素の位置が、注目画素の位置に一致するように、過去側フレームの位相をシフトした画像(以下、物体過去側動き補償画像ともいう)を生成する。
さらに、動き補償部111は、未来側フレームを、候補ベクトル算出部12からの注目画素の物体ベクトルv2に従って動き補償することにより、注目画素を通り、注目画素の物体ベクトルv2に平行な直線と交わる未来側フレーム上の画素の位置が、注目画素の位置に一致するように、未来側フレームの位相をシフトした画像(以下、物体未来側動き補償画像ともいう)を生成する。
動き補償部111で生成された背景過去側動き補償画像、背景未来側動き補償画像、物体過去側動き補償画像、及び、物体未来側動き補償画像は、画素選択部112に供給される。
画素選択部112には、動き補償部111からの背景過去側動き補償画像、背景未来側動き補償画像、物体過去側動き補償画像、及び、物体未来側動き補償画像が供給される他、外部からの入力画像と、補間画素動き判定部14(図5)からの動き情報とが供給される。
画素選択部112は、補間画素動き判定部14からの動き情報に基づき、動き補償部111からの背景過去側動き補償画像、背景未来側動き補償画像、物体過去側動き補償画像、及び、物体未来側動き補償画像、並びに、外部からの入力画像の過去側フレーム、及び、未来側フレームから、注目画素(の画素値)の生成に用いる画素を選択する。
すなわち、動き情報が、注目画素の動きベクトルが背景ベクトルv1である旨を表している場合、画素選択部112は、背景過去側動き補償画像の、注目画素の位置の画素(の画素値)を、注目画素の生成に用いる1つの画素としての過去側生成用画素として選択する。さらに、この場合、画素選択部112は、背景未来側動き補償画像の、注目画素の位置の画素を、注目画素の生成に用いる他の1つの画素としての未来側生成用画素として選択する。
また、動き情報が、注目画素の動きベクトルが物体ベクトルv2である旨を表している場合、画素選択部112は、物体過去側動き補償画像の、注目画素の位置の画素を、過去側生成用画素として選択する。さらに、この場合、画素選択部112は、物体未来側動き補償画像の、注目画素の位置の画素を、未来側生成用画素として選択する。
また、動き情報が、注目画素の動きベクトルが0ベクトルv3である旨を表している場合と、不明である旨を表している場合、画素選択部112は、過去側フレームの、注目画素の位置の画素を、過去側生成用画素として選択する。さらに、この場合、画素選択部112は、未来側フレームの、注目画素の位置の画素を、未来側生成用画素として選択する。
画素選択部112で選択された過去側生成用画素、及び、未来側生成用画素は、加算部113に供給される。
加算部113には、画素選択部112からの過去側生成用画素、及び、未来側生成用画素が供給される他、補間画素動き判定部14(図5)からのC/UC情報が供給される。
加算部113は、補間画素動き判定部14からのC/UC情報に従い、画素選択部112からの過去側生成用画素、及び、未来側生成用画素のうちの一方を選択して、注目画素(補間画素)(の画素値)として、出力画像出力部16(図5)に供給する。
あるいは、加算部113は、補間画素動き判定部14からのC/UC情報に従い、画素選択部112からの過去側生成用画素、及び、未来側生成用画素(の画素値どうし)の重み付け加算を行い、その結果得られる重み付け加算値を、注目画素として、出力画像出力部16に供給する。
図54を参照して、図53の補間画像生成部15の処理(補間画像生成処理)の概要を説明する。
図54Aは、C/UC情報が、注目画素が、通常画素(カバードバックグラウンド領域、及び、アンカバードバックグラウンド領域のいずれの領域でもない領域の画素)である旨を表している場合の補間画像生成処理を説明する図である。
いま、説明を簡単にするために、注目画素の動き情報が、注目画素の動きベクトルが背景ベクトルv1である旨を表していることとし、背景ベクトルv1だけを考慮することとする。
動き補償部111では、背景ベクトルv1に従い、過去側フレーム(第n-1フレーム)と、未来側フレーム(第nフレーム)との間の注目フレームの時間的位置に応じて、過去側フレーム、及び、未来側フレームのそれぞれの動き補償を行う。
すなわち、過去側フレームと未来側フレームとの時間的距離(入力画像のフレーム周期)を、aで表し、注目フレームの、過去側フレームからの時間的距離を、bで表すこととする。
この場合、動き補償部111は、過去側フレームを、ベクトルvf1=(b/a)×v1に従って動き補償(MC)することで、注目画素を通り、注目画素の背景ベクトルv1に平行な直線と交わる過去側フレーム上の画素の位置が、注目画素の位置に一致するように、過去側フレームの位相をシフトした背景過去側動き補償画像を生成する。
さらに、動き補償部111は、未来側フレームを、ベクトルvb1=(a-b)/a×v1に従って動き補償することで、注目画素を通り、注目画素の背景ベクトルv1に平行な直線と交わる未来側フレーム上の画素の位置が、注目画素の位置に一致するように、未来側フレームの位相をシフトした背景未来側動き補償画像を生成する。
背景過去側動き補償画像と、背景未来側動き補償画像は、動き補償部111から画素選択部112に供給される。
画素選択部112では、背景過去側動き補償画像の、注目画素の位置の画素が、過去側生成用画素として選択されるとともに、背景未来側動き補償画像の、注目画素の位置の画素が、未来側生成用画素として選択され、加算部113に供給される。
上述したように、C/UC情報が、注目画素が通常画素である旨を表している場合、加算部113では、過去側生成用画素、及び、未来側生成用画素の重み付け加算が、注目フレームの時間的位置に応じた重みを用いて行われ、その結果得られる重み付け加算値が、注目画素として、出力画像出力部16に供給される。
すなわち、加算部113は、過去側生成用画素と、未来側生成用画素とを、b/aと(a-b)/aとの比で加算することで、注目画素(の画素値)を生成する。
図54Bは、C/UC情報が、注目画素が、ベクトルv2に対するベクトルv1のアンカバード画素である旨を表している場合の補間画像生成処理を説明する図である。
なお、図54Bでも、図54Aと同様に、注目画素の動き情報が、注目画素の動きベクトルが背景ベクトルv1である旨を表していることとし、背景ベクトルv1だけを考慮することとする。
動き補償部111では、図54Aの場合と同様に、背景ベクトルv1に従い、過去側フレーム(第n-1フレーム)と、未来側フレーム(第nフレーム)との間の注目フレームの時間的位置に応じて、過去側フレーム、及び、未来側フレームのそれぞれの動き補償を行う。
すなわち、動き補償部111は、過去側フレームを、ベクトルvf1=(b/a)×v1に従って動き補償することで、注目画素を通り、注目画素の背景ベクトルv1に平行な直線と交わる過去側フレーム上の画素の位置が、注目画素の位置に一致するように、過去側フレームの位相をシフトした背景過去側動き補償画像を生成する。
さらに、動き補償部111は、未来側フレームを、ベクトルvb1=(a-b)/a×v1に従って動き補償することで、注目画素を通り、注目画素の背景ベクトルv1に平行な直線と交わる未来側フレーム上の画素の位置が、注目画素の位置に一致するように、未来側フレームの位相をシフトした背景未来側動き補償画像を生成する。
背景過去側動き補償画像と、背景未来側動き補償画像は、動き補償部111から画素選択部112に供給される。
画素選択部112では、背景過去側動き補償画像の、注目画素の位置の画素が、過去側生成用画素として選択されるとともに、背景未来側動き補償画像の、注目画素の位置の画素が、未来側生成用画素として選択され、加算部113に供給される。
上述したように、C/UC情報が、注目画素がアンカバード画素である旨を表している場合、加算部113では、過去側生成用画素、及び、未来側生成用画素のうちの、未来側生成用画素が、注目画素として選択され、出力画像出力部16に供給される。
ここで、上述したように、注目画素がアンカバード画素である場合とは、過去側フレームには現れていない背景が、未来側フレームにおいて、物体の後ろ側から現れる場合である。
この場合、加算部113では、上述したように、未来側生成用画素が、注目画素として選択されるので、注目画素は、未来側フレームにおいて、物体の後ろ側から現れる背景が写った画素となる。
なお、C/UC情報が、注目画素がカバード画素である旨を表している場合、加算部113では、過去側生成用画素、及び、未来側生成用画素のうちの、過去側生成用画素が、注目画素として選択され、出力画像出力部16に供給される。
上述したように、注目画素がカバード画素である場合とは、過去側フレームに写っている背景が、未来側フレームにおいて、物体の後ろ側に隠れる場合である。
この場合、加算部113では、上述したように、過去側生成用画素が、注目画素として選択されるので、注目画素は、過去側フレームに写っている背景が写った画素となる。
以上のように、補間画像生成部15において、補間画素動き判定部14からのC/UC情報に基づいて、動き補償によって得られる動き補償画像の画素から、注目画素の生成に用いる画素を選択することにより、アンカバードバックグラウンド領域や、カバードバックグラウンド領域において、過去側フレームと未来側フレームとの両方の画素を用いて、補間画素(注目画素)が生成され、背景と物体のテクスチャが混合することによる、補間フレームの画質の劣化を防止することができる。
[補間画像生成処理の説明]
図55は、図53の補間画像生成部15が、図7のステップS16で行う処理(補間画像生成処理)を説明するフローチャートである。
補間画像生成部15において、動き補償部111には、外部からの入力画像と、候補ベクトル算出部12からの背景ベクトルv1及び物体ベクトルv2とが供給される。
また、画素選択部112には、外部からの入力画像と、補間画素動き判定部14(図5)からの動き情報とが供給される。
さらに、加算部113には、補間画素動き判定部14からのC/UC情報が供給される。
動き補償部111は、ステップS251において、注目フレームの画素(補間画素)のうちの、まだ、注目画素としていない画素の1つを、注目画素に選択し、処理は、ステップS252に進む。
ステップS252では、動き補償部111が、注目フレームの時間的位置に基づき、候補ベクトル算出部12からの注目画素の背景ベクトルv1及び物体ベクトルv2から、外部からの入力画像の過去側フレームと未来側フレームの動き補償に用いるベクトルを求める。
すなわち、図54で説明したように、過去側フレームと未来側フレームとの時間的距離を、aと表すとともに、注目フレームの、過去側フレームからの時間的距離を、bで表すこととすると、動き補償部111は、ベクトルvf1=(b/a)×v1を、過去側フレームの動き補償に用いるベクトルの1つである背景順方向ベクトルとして求める。
さらに、動き補償部111は、ベクトルvb1=(a-b)/a×v1を、未来側フレームの動き補償に用いるベクトルの1つである背景逆方向ベクトルとして求める。
また、動き補償部111は、ベクトルvf2=(b/a)×v2を、過去側フレームの動き補償に用いるベクトルの他の1つである物体順方向ベクトルとして求める。
さらに、動き補償部111は、ベクトルvb2=(a-b)/a×v2を、未来側フレームの動き補償に用いるベクトルの他の1つである物体逆方向ベクトルとして求める。
その後、処理は、ステップS252からステップS253に進み、動き補償部111は、過去側フレームを、背景順方向ベクトルvf1に従って動き補償することにより、背景過去側動き補償画像を生成する。
さらに、動き補償部111は、未来側フレームを、背景逆方向ベクトルvb1に従って動き補償することにより、背景未来側動き補償画像を生成する。
また、動き補償部111は、過去側フレームを、物体順方向ベクトルvf2に従って動き補償することにより、物体過去側動き補償画像を生成する。
さらに、動き補償部111は、未来側フレームを、物体逆方向ベクトルvb2に従って動き補償することにより、物体未来側動き補償画像を生成する。
そして、動き補償部111は、背景過去側動き補償画像、背景未来側動き補償画像、物体過去側動き補償画像、及び、物体未来側動き補償画像を、画素選択部112に供給して、処理は、ステップS253からステップS254に進む。
ステップS254では、画素選択部112は、上述したように、補間画素動き判定部14(図5)からの動き情報に基づき、動き補償部111からの背景過去側動き補償画像、背景未来側動き補償画像、物体過去側動き補償画像、及び、物体未来側動き補償画像、並びに、外部からの入力画像の過去側フレーム、及び、未来側フレームから、注目画素の生成に用いる画素としての過去側生成用画素と、未来側生成用画素とを選択する。
そして、画素選択部112は、過去側生成用画素と、未来側生成用画素とを、加算部113に供給して、処理は、ステップS254からステップS255に進む。
ステップS255では、加算部113は、補間画素動き判定部14(図5)からのC/UC情報に基づき、注目画素がカバード画素であるかどうかを判定する。
ステップS255において、注目画素がカバード画素であると判定された場合、処理は、ステップS256に進み、加算部113は、画素選択部112からの過去側生成用画素、及び、未来側生成用画素のうちの、過去側生成用画素を、注目画素として選択する。
そして、加算部113は、注目画素(の画素値)を、出力画像出力部16(図5)に供給して、処理は、ステップS256からステップS260に進む。
また、ステップS256において、注目画素がカバード画素でないと判定された場合、処理は、ステップS257に進み、加算部113は、補間画素動き判定部14(図5)からのC/UC情報に基づき、注目画素がアンカバード画素であるかどうかを判定する。
ステップS257において、注目画素がアンカバード画素であると判定された場合、処理は、ステップS258に進み、加算部113は、画素選択部112からの過去側生成用画素、及び、未来側生成用画素のうちの、未来側生成用画素を、注目画素として選択する。
そして、加算部113は、注目画素を、出力画像出力部16(図5)に供給して、処理は、ステップS258からステップS260に進む。
また、ステップS257において、注目画素がアンカバード画素でないと判定された場合、すなわち、注目画素が、通常画素であるか、又は、C/UC情報が不明である旨を表している場合、処理は、ステップS259に進み、加算部113は、画素選択部112からの過去側生成用画素、及び、未来側生成用画素の重み付け加算を、注目フレームの時間的位置に応じた重みを用いて行う。
そして、加算部113は、重み付け加算の結果得られる重み付け加算値を、注目画素として、出力画像出力部16(図5)に供給して、処理は、ステップS259からステップS260に進む。
ステップS260では、動き補償部111が、注目フレームの画素の中に、まだ、注目画素としていない画素があるかどうかを判定する。
ステップS260において、注目フレームの画素の中に、まだ、注目画素としていない画素があると判定された場合、処理は、ステップS251に戻り、以下、同様の処理が繰り返される。
また、ステップS260において、注目フレームの画素の中に、注目画素としていない画素がないと判定された場合、処理は終了する。
ところで、図53の動き補償部111において生成される背景過去側動き補償画像、背景未来側動き補償画像、物体過去側動き補償画像、及び、物体未来側動き補償画像のうちの、例えば、背景過去側動き補償画像だけを考えると、画素選択部112では、背景過去側動き補償画像の、注目画素の位置の画素が、注目画素の生成に用いる過去側生成用画素として選択され(得)るが、動き補償によって得られる背景過去側動き補償画像において、注目フレーム(補間フレーム)の注目画素の位置と完全に同一の位置(空間的位置)に、画素(画素値のサンプリング点)が存在するとは限らない。
そこで、画素選択部112では、背景過去側動き補償画像において、注目画素の位置と完全に同一の位置に、画素が存在しない場合には、背景過去側動き補償画像において、注目画素の位置に最も近い位置の画素を、過去側生成用画素として選択することができる。
但し、この場合、そのような過去側生成用画素を用いて生成される注目画素としての補間画素、ひいては、補間フレームの精度が、多少なりとも劣化する。
このことは、背景過去側動き補償画像以外の、背景未来側動き補償画像、物体過去側動き補償画像、及び、物体未来側動き補償画像についても同様である。
そこで、動き補償部111では、空間的な補間を行うことで、注目画素の位置と完全に同一の位置に、画素(画素値のサンプリング点)が存在する背景過去側動き補償画像を生成することができる。
空間的な補間としては、例えば、バイキュービックフィルタでのフィルタリングによるバイキュービック補間等を採用することができる。
図56を参照して、バイキュービック補間について説明する。
いま、動き補償部111において、過去側フレームを、注目画素の背景ベクトルv1に従って動き補償することにより得られる画像を、補償画像と呼ぶこととする。
図56は、注目画素の位置Aと、補償画像の、位置Aの近傍の画素(の画素値)f(x,y)とを示している。
なお、図56では、補償画像の画素のうちの、位置Aに最も近い左上方向の画素の位置を原点(0,0)とし、右方向をx軸とするとともに、下方向をy軸とする2次元座標系を考えた場合に、画素f(x,y)は、位置(x,y)にある補償画像の画素を表す。
但し、隣接する画素どうしの距離は、1であるとする。
バイキュービック補間では、位置Aの近傍の、横×縦が4×4画素f(x,y)を用いて、位置Aの画素(の画素値)P(A)が補間される。ここで、4×4画素f(x,y)のうちの、位置Aにより近い4画素f(x,y)(図中、黒丸印(●)で示す)は、第1次近傍と呼ばれ、残りの12画素f(x,y)(図中、白丸印(○)で示す)は、第2次近傍と呼ばれる。
いま、補償画像の画素f(x,y)の、位置Aからのx方向の距離をdと表すこととすると、バイキュービック補間では、x方向の重みWxが、第1次近傍の画素f(x,y)については、式Wx(x,y)=(d-1)×(d2-d-1)に従って求められ、第2次近傍の画素f(x,y)については、式Wx(x,y)=-(d-1)×(d-2)2に従って求められる。
同様に、補償画像の画素f(x,y)の、位置Aからのy方向の距離をdと表すこととすると、バイキュービック補間では、y方向の重みWyが、第1次近傍の画素f(x,y)については、式Wy(x,y)=(d-1)×(d2-d-1)に従って求められ、第2次近傍の画素f(x,y)については、式Wy(x,y)=-(d-1)×(d-2)2に従って求められる。
さらに、バイキュービック補間では、画素f(x,y)と乗算するフィルタ係数としての重みW(x,y)が、式W(x,y)=Wx(x,y)×Wy(x,y)に従って求められる。
そして、位置Aの画素P(A)が、式P(A)=ΣxΣy{W(x,y)×f(x,y)}に従って求められる。
ここで、Σxは、変数xを、-1ないし+2の範囲の整数値に変えてのサメーションを表し、Σyは、変数yを、-1ないし+2の範囲の整数値に変えてのサメーションを表す。
[補間画像生成部15の他の構成例]
図57は、図5の補間画像生成部15の他の構成例を示すブロック図である。
図57の補間画像生成部15では、本件出願人が先に提案しているクラス分類適応処理を利用して、入力画像から、補間フレーム(注目フレーム)が生成される。
ここで、第1の画像データ(画像信号)を第2の画像データ(画像信号)に変換する画像変換処理を例に、クラス分類適応処理について説明する。
第1の画像データを第2の画像データに変換する画像変換処理は、その第1と第2の画像データの定義によって様々な信号処理となる。
すなわち、例えば、第1の画像データを低空間解像度の画像データとするとともに、第2の画像データを高空間解像度の画像データとすれば、画像変換処理は、空間解像度を向上させる空間解像度創造(向上)処理ということができる。
また、例えば、第1の画像データを低S/N(Siginal/Noise)の画像データとするとともに、第2の画像データを高S/Nの画像データとすれば、画像変換処理は、ノイズを除去するノイズ除去処理ということができる。
さらに、例えば、第1の画像データを所定の画素数(サイズ)の画像データとするとともに、第2の画像データを、第1の画像データの画素数を多くまたは少なくした画像データとすれば、画像変換処理は、画像のリサイズ(拡大または縮小)を行うリサイズ処理ということができる。
また、例えば、第1の画像データを低時間解像度(低フレームレート)の画像データとするとともに、第2の画像データを高時間解像度(高フレームレート)の画像データとすれば、画像変換処理は、時間解像度を向上させる時間解像度創造(向上)処理ということができる。
さらに、例えば、第1の画像データを、MPEG(Moving Picture Experts Group)符号化などのブロック単位で符号化された画像データを復号することによって得られる復号画像データとするとともに、第2の画像データを、符号化前の画像データとすれば、画像変換処理は、MPEG符号化および復号によって生じるブロック歪み等の各種の歪みを除去する歪み除去処理ということができる。
なお、空間解像度創造処理において、低空間解像度の画像データである第1の画像データを、高空間解像度の画像データである第2の画像データに変換するにあたっては、第2の画像データを、第1の画像データと同一の画素数の画像データとすることもできるし、第1の画像データよりも画素数が多い画像データとすることもできる。第2の画像データを、第1の画像データよりも画素数が多い画像データとする場合、空間解像度創造処理は、空間解像度を向上させる処理であるとともに、画像サイズ(画素数)を拡大するリサイズ処理でもある。
以上のように、画像変換処理によれば、第1および第2の画像データをどのように定義するかによって、様々な信号処理を実現することができる。
以上のような画像変換処理としてのクラス分類適応処理では、第2の画像データのうちの注目している注目画素(の画素値)を複数のクラスのうちのいずれかのクラスにクラス分類することにより得られるクラスのタップ係数と、注目画素に対して選択される第1の画像データの画素(の画素値)とを用いた演算により、注目画素(の画素値)が求められる。
図57の補間画像生成部15では、第1の画像データを低フレームレートの画像データとするとともに、第2の画像データを高フレームレートの画像データとするクラス分類適応処理を利用して、入力画像から、入力画像よりも高フレームレートの出力画像(図5)の補間フレームが生成される。
すなわち、図57の補間画像生成部15では、第1の画像データとしての外部からの入力画像は、動き補償部202と、タップ選択部203及び204とに供給される。
また、候補ベクトル算出部12(図5)からの背景ベクトルv1、及び、物体ベクトルv2が、動き補償部202に供給される。
さらに、補間画素動き判定部14(図5)からの動き情報、及び、C/UC情報が、タップ選択部203及び204と、クラス分類部205とに供給される。
注目画素選択部201は、第2の画像データとしての注目フレーム(補間フレーム)を構成する画素を、順次、注目画素とし、その注目画素を表す情報を、必要なブロックに供給する。
動き補償部202は、図53の動き補償部111と同様に、外部からの入力画像の過去側フレーム、及び未来側フレームのそれぞれを、候補ベクトル算出部12からの注目画素の背景ベクトルv1及びv2のそれぞれに従ってフィルタリングすることにより動き補償する。
そして、動き補償部202は、動き補償によって得られる背景過去側動き補償画像、背景未来側動き補償画像、物体過去側動き補償画像、及び、物体未来側動き補償画像(以下、まとめて、動き補償画像ともいう)を、タップ選択部203及び204に供給する。
なお、動き補償部202では、図53の動き補償部111と同様に、バイキュービック補間を行わずに、動き補償画像を求めることもできるし、バイキュービック補間を行って動き補償画像を求めることもできる。
タップ選択部203は、注目フレーム(補間フレーム)の注目画素(の画素値)を求める予測演算に用いられる予測タップとなる画素として、動き補償部202からの動き補償画像の、注目画素の位置に近い画素と、外部からの入力画像の過去側フレーム、及び、未来側フレームの、注目画素の位置に近い画素とを選択し、予測タップとして、予測演算部207に供給する。
ここで、タップ選択部203では、動き補償画像、並びに、過去側フレーム、及び、未来側フレームからの予測タップの選択は、補間画素動き判定部14からの動き情報、及び、C/UC情報に基づいて行われる。
タップ選択部204は、注目画素を、複数のクラスのうちのいずれかのクラスに分類する(クラスタリングする)クラス分類に用いられるクラスタップとなる画素として、動き補償部202からの動き補償画像の、注目画素の位置に近い画素と、外部からの入力画像の過去側フレーム、及び、未来側フレームの、注目画素の位置に近い画素とを選択し、クラスタップとして、クラス分類部205に供給する。
ここで、タップ選択部204では、動き補償画像、並びに、過去側フレーム、及び、未来側フレームからの予測タップの選択は、タップ選択部203と同様に、補間画素動き判定部14からの動き情報、及び、C/UC情報に基づいて行われる。
クラス分類部205は、タップ選択部204からのクラスタップである画素の、少なくともレベル分布(例えば、輝度の分布)によって、注目画素のクラス分類を行い、注目画素のクラス(クラスタ)を表すクラスコードを、係数出力部206に供給する。
ここで、レベル分布によって、クラス分類を行う方法としては、例えば、ADRC(Adaptive Dynamic Range Coding)等を採用することができる。
ADRCを用いるクラス分類では、クラスタップを構成する画素(の画素値)が、ADRC処理され、その結果得られるADRCコードが、注目画素のクラスコードとされる。
なお、KビットADRCにおいては、例えば、クラスタップを構成する画素の画素値の最大値MAXと最小値MINが検出され、DR=MAX-MINを、集合の局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、クラスタップを構成する各画素の画素値がKビットに再量子化される。すなわち、クラスタップを構成する各画素の画素値から、最小値MINが減算され、その減算値がDR/2Kで除算(再量子化)される。そして、以上のようにして得られる、クラスタップを構成するKビットの各画素の画素値を、所定の順番で並べたビット列が、ADRCコードとして出力される。したがって、クラスタップが、例えば、1ビットADRC処理された場合には、そのクラスタップを構成する各画素の画素値は、最大値MAXと最小値MINとの平均値で除算され(小数点以下切り捨て)、これにより、各画素の画素値が1ビットとされる(2値化される)。そして、その1ビットの画素値を所定の順番で並べたビット列が、ADRCコードとして出力される。
なお、クラス分類部205には、例えば、クラスタップを構成する画素の画素値のレベル分布のパターンを、そのままクラスコードとして出力させることも可能である。しかしながら、この場合、クラスタップが、N個の画素の画素値で構成され、各画素の画素値に、Kビットが割り当てられているとすると、クラス分類部205が出力するクラスコードの場合の数は、(2NK通りとなり、画素の画素値のビット数Kに指数的に比例した膨大な数となる。
したがって、クラス分類部205においては、クラスタップの情報量を、上述のADRC処理や、あるいはベクトル量子化等によって圧縮することにより、クラス分類を行うのが好ましい。
なお、図57のクラス分類部205では、クラス分類を、レベル分布によって行う他、補間画素動き判定部14からの動き情報、及び、C/UC情報によっても行うことができる。
すなわち、いま、クラスタップのレベル分布によって得られるクラスコード(例えば、ADRCコード)を、レベルコードと呼ぶこととする。
補間画素動き判定部14からの動き情報とC/UC情報との組み合わせとしては、補間画素動き判定部14が、図48のステップS202,S204,S206、図49のステップS212,S214,S216、図50のステップS222,S224,S226,S227で出力する10種類の組み合わせが存在する。
そこで、クラス分類部205は、補間画素動き判定部14からの動き情報とC/UC情報との組み合わせによって、注目画素を、10種類の組み合わせに対応する10個のクラスのうちの、いずれかのクラスに分類するクラス分類を行い、注目画素のクラスを表すクラスコードを求める。
いま、動き情報とC/UC情報との組み合わせによって得られるクラスコードを、動き判定コードと呼ぶこととすると、クラス分類部205は、レベルコードと動き判定コードとを組み合わせて、注目画素の、いわば最終的なクラスを表すクラスコードとする。
すなわち、クラス分類部205は、例えば、2進数で表現したレベルコードと動き判定コードとのうちの一方を、他方の上位ビットとして付加し、その結果得られるビット列を、注目画素のクラスコードとする。
なお、クラス分類部205では、その他、例えば、背景ベクトルv1と物体ベクトルv2との差分のx成分及びy成分それぞれのADRC処理を行い、その結果得られるx成分及びy成分それぞれのADRCコードを、レベルコード、さらには、動き判定コードと組み合わせて、注目画素のクラスコードとすることができる。
係数出力部206は、クラスごとのタップ係数を記憶している。係数出力部206は、クラスごとのタップ係数のうちの、クラス分類部205から供給されるクラスコードに対応するアドレスに記憶されているタップ係数(クラス分類部205から供給されるクラスコードが表すクラスのタップ係数)を出力する。このタップ係数は、予測演算部207に供給され、予測演算に用いられる。
ここで、タップ係数とは、ディジタルフィルタにおける、いわゆるタップにおいて入力データと乗算される係数に相当するものである。
また、タップ係数は、入力画像に相当する生徒画像から得られる動き補償画像を用いた予測演算の結果と、補間フレーム(注目フレーム)に相当する教師画像との誤差を最小にする学習により求められる。タップ係数の学習については、後述する。
予測演算部207は、タップ選択部203が出力する予測タップと、係数出力部206が出力するタップ係数とを取得し、その予測タップとタップ係数とを用いて、注目画素の真値の予測値を求める所定の予測演算を行う。これにより、予測演算部207は、注目画素の画素値(の予測値)、すなわち、第2の画像データとしての補間フレーム(注目フレーム)を構成する注目画素(の画素値)を求めて出力する。
図58は、図57のタップ選択部203で得られる予測タップ、及び、タップ選択部204で得られるクラスタップのタップ構造を説明する図である。
ここで、以下、予測タップとクラスタップとを、まとめて、単に、タップともいう。タップ構造とは、注目画素から見た、タップ(予測タップ、クラスタップ)を構成する画素の位置関係を意味する。
図58Aは、注目画素と、入力画像の過去側フレーム(第n-1フレーム)、及び、未来側フレーム(第nフレーム)とを示している。
タップ選択部203及び204(図57)は、過去側フレーム、及び、未来側フレームの、注目画素の位置に近い位置の1以上の画素を、タップを構成する一部の画素である静止タップとして選択する。
さらに、タップ選択部203及び204は、注目画素を通り、注目画素の背景ベクトルv1に平行な直線と過去側フレームとが交わる位置に近い過去側フレームの1以上の画素と、注目画素を通り、注目画素の背景ベクトルv1に平行な直線と未来側フレームとが交わる位置に近い未来側フレームの1以上の画素とを、タップを構成する残りの画素である引き寄せタップ(以下、背景ベクトルv1に基づく引き寄せタップともいう)として選択する。
あるいは、タップ選択部203及び204は、注目画素を通り、注目画素の物体ベクトルv2に平行な直線と過去側フレームとが交わる位置に近い過去側フレームの1以上の画素と、注目画素を通り、注目画素の物体ベクトルv2に平行な直線と未来側フレームとが交わる位置に近い未来側フレームの1以上の画素とを、引き寄せタップ(以下、物体ベクトルv2に基づく引き寄せタップともいう)として選択する。
そして、タップ選択部203及び204は、それぞれ、静止タップと引き寄せタップとによって、予測タップ及びクラスタップを構成する。
なお、タップ選択部203及び204は、補間画素動き判定部14からの動き情報が、注目画素の動きベクトルが背景ベクトルv1である旨を表している場合、引き寄せタップとして、背景ベクトルv1に基づく引き寄せタップを採用する。
また、タップ選択部203及び204は、補間画素動き判定部14からの動き情報が、注目画素の動きベクトルが物体ベクトルv2である旨を表している場合、引き寄せタップとして、物体ベクトルv2に基づく引き寄せタップを採用する。
さらに、タップ選択部203及び204は、補間画素動き判定部14からのC/UC情報が、注目画素が通常画素である旨を表している場合と、不明である旨を表している場合には、過去側フレームと未来側フレームとの両方の画素を、静止タップ及び引き寄せタップとして採用するが、その他の場合には、過去側フレーム及び未来側フレームのうちの一方のフレームの画素を、静止タップ及び引き寄せタップとして採用せずに、タップを構成する。
すなわち、C/UC情報が、注目画素がアンカバード画素である旨を表している場合、タップ選択部203及び204は、過去側フレーム及び未来側フレームのうちの過去側フレームの画素を、静止タップ及び引き寄せタップとして採用せず、未来側フレームの画素だけを用いて、タップを構成する。
また、C/UC情報が、注目画素がカバード画素である旨を表している場合、タップ選択部203及び204は、過去側フレーム及び未来側フレームのうちの未来側フレームの画素を、静止タップ及び引き寄せタップとして採用せず、過去側フレームの画素だけを用いて、タップを構成する。
ここで、過去側フレーム(又は、未来側フレーム)の画素を、静止タップ及び引き寄せタップとして採用せずに構成されるタップは、実装上は、過去側フレーム(又は、未来側フレーム)の静止タップ及び引き寄せタップとしての画素値が、例えば、0とされる。
図58Bは、予測タップ、及び、クラスタップを構成する静止タップの例を示している。
いま、過去側フレーム(第n-1フレーム)、及び、未来側フレーム(第nフレーム)の、注目画素の位置の画素を、対応画素ということとする。
予測タップについては、過去側フレーム、及び、未来側フレームそれぞれの対応画素と、対応画素の上下左右に隣接する4画素との、合計5×2画素が、静止タップとされる。
また、クラスタップについては、過去側フレーム、及び、未来側フレームそれぞれの対応画素の、合計2画素が、静止タップとされる。
図58Cは、予測タップ、及び、クラスタップを構成する引き寄せタップの例を示している。
いま、注目画素を通り、注目画素の背景ベクトルv1に平行な直線と過去側フレームとが交わる位置の過去側フレームの画素、注目画素を通り、注目画素の背景ベクトルv1に平行な直線と未来側フレームとが交わる位置の未来側フレームの画素、注目画素を通り、注目画素の物体ベクトルv2に平行な直線と過去側フレームとが交わる位置の過去側フレームの画素、及び、注目画素を通り、注目画素の物体ベクトルv2に平行な直線と未来側フレームとが交わる位置の未来側フレームの画素を、いずれも、対応画素ということとする。
予測タップについては、過去側フレーム、及び、未来側フレームそれぞれの対応画素と、対応画素の上下左右に隣接する4画素との、合計5×2画素が、引き寄せタップとされる。
また、クラスタップについては、過去側フレーム、及び、未来側フレームそれぞれの対応画素の、合計2画素が、引き寄せタップとされる。
なお、予測タップ、及び、クラスタップのタップ構造は、図58に示したタップ構造に限定されるものではない。
また、補間画素動き判定部14からの動き情報が、注目画素の動きベクトルが0ベクトルv3である旨を表している場合と、不明である旨を表している場合には、タップ選択部203では、例えば、過去側フレーム(第n-1フレーム)、及び、未来側フレーム(第nフレーム)の、注目画素の位置の画素(対応画素)と、対応画素の上下左右に隣接する4画素との、合計5×2画素が、予測タップの静止タップ、及び、引き寄せタップの両方として採用される。
さらに、この場合、タップ選択部204では、例えば、過去側フレーム(第n-1フレーム)、及び、未来側フレーム(第nフレーム)の、注目画素の位置の画素(対応画素)の、合計2画素が、クラスタップの静止タップ、及び、引き寄せタップの両方として採用される。
次に、図59は、図57の補間画像生成部15による、クラス分類適応処理を利用した補間画像生成処理を説明するフローチャートである。
図57の補間画像生成部15では、第1の画像データとしての外部からの入力画像が、動き補償部202と、タップ選択部203及び204とに供給される。
また、候補ベクトル算出部12からの背景ベクトルv1、及び、物体ベクトルv2が、動き補償部202に供給される。
さらに、補間画素動き判定部14からの動き情報、及び、C/UC情報が、タップ選択部204及び204と、クラス分類部205とに供給される。
そして、ステップS301において、注目画素選択部201は、第2の画像データとしての注目フレームを構成する画素(補間画素)のうち、まだ、注目画素とされていないものの1つを、注目画素として選択し、処理は、ステップS302に進む。
ステップS302では、動き補償部202は、外部からの入力画像の過去側フレーム、及び未来側フレームのそれぞれを、候補ベクトル算出部12からの注目画素の背景ベクトルv1及びv2のそれぞれに従ってフィルタリングすることにより動き補償する。
そして、動き補償部202は、動き補償によって生成される動き補償画像(背景過去側動き補償画像、背景未来側動き補償画像、物体過去側動き補償画像、及び、物体未来側動き補償画像)を、タップ選択部203及び204に供給し、処理は、ステップS302からステップS303に進む。
ステップS303では、タップ選択部203及び204が、外部からの入力画像の過去側フレーム、及び、未来側フレーム、並びに、動き補償部202からの動き補償画像から、注目画素の予測タップ及びクラスタップとする画素を、それぞれ選択することにより、予測タップ及びクラスタップを構成する。
すなわち、タップ選択部203は、図58で説明したように、過去側フレーム、及び、未来側フレームそれぞれから、注目画素の位置に近い1以上の画素を、予測タップの静止タップとなる画素として選択する。
さらに、タップ選択部203は、図58で説明したように、補間画素動き判定部14からの動き情報に基づき、動き補償部202からの動き補償画像から、予測タップの引き寄せタップとなる画素を選択する。
すなわち、動き情報が、注目画素の動きベクトルが背景ベクトルv1である旨を表している場合、タップ選択部203は、背景ベクトルv1に基づく引き寄せタップとして、注目画素を通り、注目画素の背景ベクトルv1に平行な直線と過去側フレームとが交わる位置に近い過去側フレームの1以上の画素と、注目画素を通り、注目画素の背景ベクトルv1に平行な直線と未来側フレームとが交わる位置に近い未来側フレームの1以上の画素、つまり、動き補償画像のうちの、背景過去側動き補償画像、及び、背景未来側動き補償画像それぞれの、注目画素の位置に近い1以上の画素を、図58で説明したように選択する。
さらに、動き情報が、注目画素の動きベクトルが物体ベクトルv2である旨を表している場合、タップ選択部203は、物体ベクトルv2に基づく引き寄せタップとして、注目画素を通り、注目画素の物体ベクトルv2に平行な直線と過去側フレームとが交わる位置に近い過去側フレームの1以上の画素と、注目画素を通り、注目画素の物体ベクトルv2に平行な直線と未来側フレームとが交わる位置に近い未来側フレームの1以上の画素、つまり、動き補償画像のうちの、物体過去側動き補償画像、及び、物体未来側動き補償画像それぞれの、注目画素の位置に近い1以上の画素を、図58で説明したように選択する。
また、動き情報が、注目画素の動きベクトルが0ベクトルv3である旨を表している場合と、不明である旨を表している場合には、タップ選択部203は、図58で説明したように、過去側フレーム、及び、未来側フレームそれぞれの、注目画素の位置に近い1以上の画素を、引き寄せタップとして選択する。
そして、タップ選択部203は、静止タップと引き寄せタップとしての画素(の画素値)を、所定の順番に並べることで、予測タップを構成する。
さらに、タップ選択部203は、補間画素動き判定部14からのC/UC情報に基づき、必要に応じて、予測タップが、過去側フレーム(ここでは、背景過去側動き補償画像、及び、物体過去側動き補償画像を含む)の画素、又は、未来側フレーム(ここでは、背景未来側動き補償画像、及び、物体未来側動き補償画像を含む)の画素だけで構成されるように、予測タップを加工する。
すなわち、C/UC情報が、注目画素がアンカバード画素である旨を表している場合、タップ選択部203は、予測タップを構成する画素のうちの、過去側フレームの画素の画素値を0とする。
また、C/UC情報が、注目画素がカバード画素である旨を表している場合、タップ選択部203は、予測タップを構成する画素のうちの、未来側フレームの画素の画素値を0とする。
タップ選択部204も、タップ選択部203と同様にして、クラスタップを構成する。
そして、予測タップは、タップ選択部203から予測演算部207に供給される。また、クラスタップは、タップ選択部204からクラス分類部205に供給され、処理は、ステップS303からステップS304に進む。
ステップS304では、クラス分類部205が、タップ選択部204からの、注目画素のクラスタップ、並びに、補間画像動き判定部14(図5)からの注目画素の動き情報、及び、C/UC情報によって、注目画素を、上述したように、クラス分類する。さらに、クラス分類部205は、そのクラス分類の結果得られる注目画素のクラスを表すクラスコードを、係数出力部206に出力し、処理は、ステップS304からステップS305に進む。
ステップS305では、係数出力部206が、クラス分類部205から供給されるクラスコードに対応するアドレスに記憶されているタップ係数を取得して出力する。さらに、ステップS305では、予測演算部207が、係数出力部206が出力するタップ係数を取得し、ステップS306に進む。
ステップS306では、予測演算部207が、タップ選択部203が出力する予測タップと、係数出力部206から取得したタップ係数とを用いて、所定の予測演算を行う。これにより、予測演算部207は、注目画素の画素値を求めて、出力画像出力部16(図5)に供給し、処理は、ステップS306からステップS307に進む。
ステップS307では、注目画素選択部201が、注目フレームの中に、まだ、注目画素としていない画素があるかどうかを判定する。ステップS307において、注目フレームの中に、まだ、注目画素としていない画素があると判定された場合、処理は、ステップS301に戻り、以下、同様の処理が繰り返される。
また、ステップS307において、注目フレームの中に、注目画素とされていない画素がないと判定された場合、処理は終了する(リターンする)。
次に、図57の予測演算部207における予測演算と、係数出力部206に記憶されたタップ係数の学習について説明する。
いま、例えば、高フレームレートの画像データ等の、高画質の画像データ(高画質画像データ)を第2の画像データとするとともに、その高画質画像データのフレームを間引くことによってその画質(時間解像度)を低下させた低フレームレートの画像データ等の、低画質の画像データ(低画質画像データ)を第1の画像データとして、低画質画像データから予測タップを選択し、その予測タップとタップ係数を用いて、高画質画像データの画素(高画質画素)の画素値を、所定の予測演算によって求める(予測する)ことを考える。
所定の予測演算として、例えば、線形1次予測演算を採用することとすると、高画質画素の画素値yは、次の線形1次式によって求められることになる。
Figure 2010219715
・・・(1)
但し、式(1)において、xnは、高画質画素yについての予測タップを構成する、n番目の低画質画像データの画素(以下、適宜、低画質画素という)の画素値を表し、wnは、n番目の低画質画素(の画素値)と乗算されるn番目のタップ係数を表す。なお、式(1)では、予測タップが、N個の低画質画素x1,x2,・・・,xNで構成されるものとしてある。
ここで、高画質画素の画素値yは、式(1)に示した線形1次式ではなく、2次以上の高次の式によって求めるようにすることも可能である。
いま、第kサンプルの高画質画素の画素値の真値をykと表すとともに、式(1)によって得られるその真値ykの予測値をyk’と表すと、その予測誤差ekは、次式で表される。
Figure 2010219715
・・・(2)
いま、式(2)の予測値yk’は、式(1)にしたがって求められるため、式(2)のyk’を、式(1)にしたがって置き換えると、次式が得られる。
Figure 2010219715
・・・(3)
但し、式(3)において、xn,kは、第kサンプルの高画質画素についての予測タップを構成するn番目の低画質画素を表す。
式(3)(または式(2))の予測誤差ekを0とするタップ係数wnが、高画質画素を予測するのに最適なものとなるが、すべての高画質画素について、そのようなタップ係数wnを求めることは、一般には困難である。
そこで、タップ係数wnが最適なものであることを表す規範として、例えば、最小自乗法を採用することとすると、最適なタップ係数wnは、次式で表される自乗誤差の総和Eを最小にすることで求めることができる。
Figure 2010219715
・・・(4)
但し、式(4)において、Kは、高画質画素ykと、その高画質画素ykについての予測タップを構成する低画質画素x1,k,x2,k,・・・,xN,kとのセットのサンプル数(学習用のサンプルの数)を表す。
式(4)の自乗誤差の総和Eの最小値(極小値)は、式(5)に示すように、総和Eをタップ係数wnで偏微分したものを0とするタップ係数wnによって与えられる。
Figure 2010219715
・・・(5)
そこで、上述の式(3)をタップ係数wnで偏微分すると、次式が得られる。
Figure 2010219715
・・・(6)
式(5)と(6)から、次式が得られる。
Figure 2010219715
・・・(7)
式(7)のekに、式(3)を代入することにより、式(7)は、式(8)に示す正規方程式で表すことができる。
Figure 2010219715
・・・(8)
式(8)の正規方程式は、例えば、掃き出し法(Gauss-Jordanの消去法)などを用いることにより、タップ係数wnについて解くことができる。
式(8)の正規方程式を、クラスごとにたてて解くことにより、最適なタップ係数(ここでは、自乗誤差の総和Eを最小にするタップ係数)wnを、クラスごとに求めることができる。
次に、図60は、式(8)の正規方程式をたてて解くことによりタップ係数wnを求める学習を行う学習装置の構成例を示している。
学習用画像記憶部231は、タップ係数wnの学習に用いられる学習用画像データを記憶している。ここで、学習用画像データとしては、例えば、高フレームレートの高画質画像データを用いることができる。
教師データ生成部232は、学習用画像記憶部231から学習用画像データを読み出す。さらに、教師データ生成部232は、学習用画像データから、タップ係数の学習の教師(真値)、すなわち、式(1)による予測演算としての写像の写像先の画素値となる教師データ(教師画像)を生成し、教師データ記憶部233に供給する。
ここでは、教師データ生成部232は、例えば、学習用画像データとしての高画質画像データを、そのまま教師データとして、教師データ記憶部233に供給する。
なお、教師データとしては、出力画像に相当する画像(出力画像と同様のフレームレートの画像)を採用する必要がある。
教師データ記憶部233は、教師データ生成部232から供給される教師データとしての高画質画像データを記憶する。
生徒データ生成部234は、学習用画像記憶部231から学習用画像データを読み出す。さらに、生徒データ生成部234は、学習用画像データから、タップ係数の学習の生徒、すなわち、式(1)による予測演算としての写像による変換対象の画素値となる生徒データを生成し、生徒データ記憶部235に供給する。
ここでは、生徒データ生成部234は、例えば、学習用画像データとしての高画質画像データのフレームを間引くことにより、そのフレームレートを低下させることで、低画質画像データを生成し、この低画質画像データを、生徒データとして、生徒データ記憶部235に供給する。
なお、生徒データとしては、入力画像に相当する画像(入力画像と同様のフレームレートの画像)を採用する必要がある。
生徒データ記憶部235は、生徒データ生成部234から供給される生徒データを記憶する。
学習部236は、教師データ記憶部233に記憶された教師データとしての高画質画像データを構成する画素を、順次、注目画素とし、その注目画素について、生徒データ記憶部235に記憶された生徒データとしての低画質画像データを構成する低画質画素のうちの、図57のタップ選択部203が選択するのと同一のタップ構造の低画質画素を、予測タップとして選択する。さらに、学習部236は、教師データを構成する各画素と、その画素が注目画素とされたときに選択された予測タップとを用い、クラスごとに、式(8)の正規方程式をたてて解くことにより、クラスごとのタップ係数を求める学習を行う。
図61は、図60の学習装置で用いられる教師データと生徒データの例を示している。
すなわち、図61Aは、図5の画像処理装置において、図6で説明したように、フレームレートが60Hzの入力画像から、そのフレーム間に、2つの補間フレームを補間して、フレームレートが180Hzの出力画像を生成する場合の、教師データと生徒データの例を示している。
図5の画像処理装置において、図6で説明したように、フレームレートが60Hzの入力画像から、そのフレーム間に、2つの補間フレームを補間して、フレームレートが180Hzの出力画像を生成する場合には、教師データとして、フレームレートが180Hzの高フレームレートの画像が採用される。
そして、例えば、教師データとしての高フレームレートの画像の、連続する3フレームごとに、その3フレームのうちの2フレームが間引かれた、フレームレートが、教師データの1/3の60Hzの低フレームレートの画像が、生徒データとして採用される。
図61Bは、図5の画像処理装置において、フレームレートが60Hzの入力画像から、フレームレートが、入力画像の2倍である120Hzの画像を、出力画像として生成する場合の、教師データと生徒データの例を示している。
フレームレートが60Hzの入力画像から、フレームレート120Hzの出力画像を生成する場合には、教師データとして、フレームレートが120Hzの高フレームレートの画像が採用される。
そして、例えば、教師データとしての高フレームレートの画像の、2フレームごとに、その2フレームの同一の位置の画素どうしの画素値の平均値を1フレームの画素値とする、フレームレートが、教師データの1/2の60Hzの低フレームレートの画像が、生徒データとして採用される。
なお、図61Bでは、生徒データの各フレームの時間的位置は、そのフレームを生成するのに用いる教師データの2フレームの間の中点の位置になっている。
ここで、図61Bに示したように、教師データとしての高フレームレートの画像の、2フレームごとに、その2フレームの同一の位置の画素どうしの画素値の平均値を1フレームの画素値とする画像を、生徒データとする場合には、生徒データが、所定のシャッタスピードで撮影した画像に相当すると考えると、教師データは、所定のシャッタスピードの2倍のシャッタスピード(1/2の露光時間)で撮影した画像に相当する。
この場合、教師データは、生徒データに比較して、動きボケの少ない鮮明な画像になっており、図60の学習部236において、このような教師データと生徒データとのセットを用いて学習を行うことにより、第1の画像データから、その第1の画像データの2倍のフレームレートの、動きボケが少ない鮮明な画像を、第2の画像データとして生成することができるタップ係数を求めることができる。
すなわち、このタップ係数を用いたクラス分類適応処理によれば、動きボケの少ない鮮明な、高画質の画像を生成することができる。
図62は、図60の学習部236の構成例を示している。
図62の学習部236においては、生徒データ記憶部235(図60)に記憶された、入力画像に対応(相当)する生徒データが、動き検出部240、タップ選択部243及び244に供給される。
また、教師データ記憶部233(図60)に記憶された、出力画像に対応(相当)する教師データが、足し込み部246に供給される。
動き検出部240は、図5の画像処理装置の動きベクトル検出部11、候補ベクトル算出部12、画素単位動き推定部13、及び、補間画素動き判定部14と同様に構成される。
動き検出部240は、生徒データ記憶部235(図60)に記憶された、入力画像に対応する生徒データの過去側フレーム、及び、未来側フレームから、図5の画像処理装置と同様にして、背景ベクトルv1、及び、物体ベクトルv2、並びに、動き情報、及び、C/UC情報を求める。
そして、動き検出部240は、背景ベクトルv1、及び、物体ベクトルv2を、動き補償部242に供給し、動き情報、及び、C/UC情報を、タップ選択部243及び244、並びに、クラス分類部245に供給する。
注目画素選択部241は、教師データ記憶部233(図60)に記憶されている教師データを構成する画素を、順次、注目画素として選択し、その注目画素を表す情報を、必要なブロックに供給する。
動き補償部242は、図53の動き補償部111と同様に、生徒データ記憶部235(図60)に記憶された、入力画像に対応する生徒データの過去側フレーム、及び、未来側フレームのそれぞれを、動き検出部240からの注目画素の背景ベクトルv1及びv2のそれぞれに従ってフィルタリングすることにより動き補償する。
そして、動き補償部232は、動き補償によって得られる動き補償画像(背景過去側動き補償画像、背景未来側動き補償画像、物体過去側動き補償画像、及び、物体未来側動き補償画像)を、タップ選択部243及び244に供給する。
タップ選択部243は、動き検出部240からの動き情報、及び、C/UC情報に基づき、注目画素について、生徒データ記憶部235に記憶された生徒データ、及び、動き補償部242からの動き補償画像から、図57のタップ選択部203が選択するの同一の画素を、予測タップとして選択し、これにより、タップ選択部203で得られるのと同一のタップ構造の予測タップを得て、足し込み部246に供給する。
タップ選択部244は、動き検出部240からの動き情報、及び、C/UC情報に基づき、注目画素について、生徒データ記憶部235に記憶された生徒データ、及び、動き補償部242からの動き補償画像から、図57のタップ選択部204が選択するのと同一の画素を、クラスタップとして選択し、これにより、タップ選択部204で得られるのと同一のタップ構造のクラスタップを得て、クラス分類部245に供給する。
クラス分類部245は、タップ選択部244が出力するクラスタップと、動き検出部240からの動き情報及びC/UC情報とに基づき、図57のクラス分類部205と同一のクラス分類を行い、その結果得られるクラスに対応するクラスコードを、足し込み部246に出力する。
足し込み部246は、教師データ記憶部233(図60)から、注目画素となっている教師データ(画素)を読み出し、その注目画素と、タップ選択部243から供給される注目画素の予測タップを構成する生徒データ(画素)とを対象とした足し込みを、クラス分類部245から供給されるクラスコードごとに行う。
すなわち、足し込み部246には、教師データ記憶部233に記憶された教師データyk、タップ選択部243が出力する予測タップxn,k、クラス分類部245が出力するクラスコードが供給される。
そして、足し込み部246は、クラス分類部245から供給されるクラスコードに対応するクラスごとに、予測タップ(生徒データ)xn,kを用い、式(8)の左辺の行列における生徒データどうしの乗算(xn,kn',k)と、サメーション(Σ)に相当する演算を行う。
さらに、足し込み部246は、やはり、クラス分類部245から供給されるクラスコードに対応するクラスごとに、予測タップ(生徒データ)xn,kと教師データykを用い、式(8)の右辺のベクトルにおける生徒データxn,kおよび教師データykの乗算(xn,kk)と、サメーション(Σ)に相当する演算を行う。
すなわち、足し込み部246は、前回、注目画素とされた教師データについて求められた式(8)における左辺の行列のコンポーネント(Σxn,kn',k)と、右辺のベクトルのコンポーネント(Σxn,kk)を、その内蔵するメモリ(図示せず)に記憶しており、その行列のコンポーネント(Σxn,kn',k)またはベクトルのコンポーネント(Σxn,kk)に対して、新たに注目画素とされた教師データについて、その教師データyk+1および生徒データxn,k+1を用いて計算される、対応するコンポーネントxn,k+1n',k+1またはxn,k+1k+1を足し込む(式(8)のサメーションで表される加算を行う)。
そして、足し込み部246は、教師データ記憶部233(図60)に記憶された教師データすべてを注目画素として、上述の足し込みを行うことにより、各クラスについて、式(8)に示した正規方程式をたてると、その正規方程式を、タップ係数算出部247に供給する。
タップ係数算出部247は、足し込み部246から供給される各クラスについての正規方程式を解くことにより、各クラスについて、最適なタップ係数wnを求めて出力する。
図57の補間画像生成部15における係数出力部206には、タップ係数算出部247が出力するクラスごとのタップ係数wnが記憶されている。
次に、図63は、図60の学習装置が行う処理(学習処理)を説明するフローチャートである。
まず最初に、ステップS321において、教師データ生成部232と生徒データ生成部234が、学習用画像記憶部231に記憶された学習用画像データから、教師データと生徒データを生成し、教師データ記憶部233と生徒データ記憶部235にそれぞれ供給して記憶させる。
その後、処理は、ステップS321からステップS322に進み、学習部236(図62)において、注目画素選択部241が、教師データ記憶部233に記憶された教師データのフレームのうちの、まだ、注目フレームとしていないフレームを、注目フレームに選択して、処理は、ステップS323に進む。
ステップS323では、動き検出部240が、生徒データ記憶部235に記憶された生徒データから、注目フレームの過去側フレームと未来側フレームとを読み出す。そして、動き検出部240は、過去側フレームと未来側フレームを用いて、注目フレームの画素(を含む小ブロック)ごとに、背景ベクトルv1、物体ベクトルv2、動き情報、及び、C/UC情報を求める。
さらに、動き検出部240は、背景ベクトルv1、及び、物体ベクトルv2を、動き補償部242に供給し、動き情報、及び、C/UC情報を、タップ選択部243及び244、並びに、クラス分類部245に供給して、処理は、ステップS323からステップS324に進む。
ステップS324では、注目画素選択部241は、教師データ記憶部233に記憶された教師データとしての注目フレームの画素の中から、まだ、注目画素としていないものを、注目画素として選択し、処理は、ステップS325に進む。
ステップS325では、動き補償部242が、動き検出部240からの注目画素の背景ベクトルv1及びv2に基づき、生徒データ記憶部235(図60)に記憶された、入力画像に対応する生徒データの過去側フレーム、及び、未来側フレームから、動き補償画像を生成する。そして、動き補償部242は、動き補償画像を、タップ選択部243及び244に供給して、処理は、ステップS325からステップS326に進む。
ステップS326では、タップ選択部243が、動き検出部240からの動き情報、及び、C/UC情報に基づき、注目画素について、生徒データ記憶部235に記憶された生徒データの過去側フレーム、及び、未来側フレーム、並びに、動き補償部242からの動き補償画像から、予測タップとする画素を選択し、足し込み部246に供給する。
さらに、タップ選択部244が、動き検出部240からの動き情報、及び、C/UC情報に基づき、注目画素について、生徒データ記憶部235に記憶された生徒データの過去側フレーム、及び、未来側フレーム、並びに、動き補償部242からの動き補償画像から、クラスタップとする画素を選択し、クラス分類部245に供給する。
そして、処理は、ステップS326からステップS327に進み、クラス分類部245は、注目画素についてのクラスタップと、動き検出部240からの動き情報、及び、C/UC情報とに基づき、注目画素のクラス分類を行う。
さらに、クラス分類部245は、クラス分類の結果得られるクラスに対応するクラスコードを、足し込み部246に出力して、処理は、ステップS327からステップS328に進む。
ステップS328では、足し込み部246は、教師データ記憶部233(図60)から、注目画素を読み出す。さらに、足し込み部246は、注目画素と、タップ選択部243から供給される注目画素について選択された予測タップを構成する生徒データとを対象とした式(8)の足し込みを、クラス分類部245から供給されるクラスコードごとに行う。
そして、処理は、ステップS328からステップS329に進み、注目画素選択部241が、注目フレームの中に、まだ、注目画素としていない画素があるかどうかを判定する。ステップS329において、注目画素としていない教師データが、まだ、注目フレームの中にあると判定された場合、処理は、ステップS324に戻り、以下、同様の処理が繰り返される。
また、ステップS329において、注目画素としていない画素が、注目フレームの中にないと判定された場合、処理は、ステップS330に進み、注目画素選択部241は、教師データ記憶部233(図60)に記憶された、出力画像に対応する教師データのフレームの中に、まだ、注目フレームとして選択していないフレームがあるかどうかを判定する。
ステップS330において、教師データ記憶部233に記憶された教師データのフレームの中に、まだ、注目フレームとして選択していないフレームがあると判定された場合、処理は、ステップS322に戻り、以下、同様の処理が繰り返される。
また、ステップS330において、教師データ記憶部233に記憶された教師データのフレームの中に、注目フレームとして選択していないフレームがないと判定された場合、足し込み部246は、いままでのステップS322ないしS330の処理によって得られたクラスごとの式(8)における左辺の行列と、右辺のベクトルを、タップ係数算出部247に供給し、処理は、ステップS330からステップS331に進む。
ステップS331では、タップ係数算出部247は、足し込み部246から供給されるクラスごとの式(8)における左辺の行列と右辺のベクトルによって構成されるクラスごとの正規方程式を解くことにより、各クラスごとに、タップ係数wnを求めて出力し、処理を終了する。
なお、学習用画像データの数が十分でないこと等に起因して、タップ係数を求めるのに必要な数の正規方程式が得られないクラスが生じることがあり得るが、そのようなクラスについては、タップ係数算出部247は、例えば、デフォルトのタップ係数を出力するようになっている。
[本発明を適用したコンピュータの説明]
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図64は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク305やROM303に予め記録しておくことができる。
あるいはまた、プログラムは、リムーバブル記録媒体311に格納(記録)しておくことができる。このようなリムーバブル記録媒体311は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体311としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
なお、プログラムは、上述したようなリムーバブル記録媒体311からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク305にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
コンピュータは、CPU(Central Processing Unit)302を内蔵しており、CPU302には、バス301を介して、入出力インタフェース310が接続されている。
CPU302は、入出力インタフェース310を介して、ユーザによって、入力部307が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)303に格納されているプログラムを実行する。あるいは、CPU302は、ハードディスク305に格納されたプログラムを、RAM(Random Access Memory)304にロードして実行する。
これにより、CPU302は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU302は、その処理結果を、必要に応じて、例えば、入出力インタフェース310を介して、出力部306から出力、あるいは、通信部308から送信、さらには、ハードディスク305に記録等させる。
なお、入力部307は、キーボードや、マウス、マイク等で構成される。また、出力部306は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
なお、画素単位動き推定部13が行う画素単位動き推定処理(図31ないし図38)では、例えば、注目画素の物体ベクトルv2が、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置の、注目フレームの前の補間フレームの前フレーム画素の背景ベクトル又は物体ベクトルに類似し、かつ、注目画素についての物体逆方向動き相関がある場合には、画素単位動き推定部13(図29)の逆方向物体相関判定部82において、背景カウンタ78のバンク#1の、注目画素の位置から、物体ベクトルv2だけ逆方向に移動した位置に対応するアドレスの背景カウント値、又は、物体カウンタ85のバンク#1の、注目画素の位置から、物体ベクトルv2だけ逆方向に移動した位置に対応するアドレスの背景カウント値のうちの、物体ベクトルv2が類似するベクトルに対応するカウント値をインクリメントし、そのインクリメント後のカウント値を、物体カウンタ85のバンク#2の、注目画素の位置に対応するアドレスに、物体カウント値として書き込むことができる。逆方向背景相関判定部75でも同様である。
ここで、背景カウント値、又は、背景カウント値のうちの、物体ベクトルv2が類似するベクトルに対応するカウント値とは、注目画素の物体ベクトルv2が、注目画素の位置から物体ベクトルv2に従って逆方向に移動した位置の、注目フレームの前の補間フレームの前フレーム画素の背景ベクトルに類似する場合には、背景カウント値であり、物体ベクトルv2が、前フレーム画素の物体ベクトルに類似する場合には、物体カウント値である。
以上のように、背景カウント値、又は、背景カウント値のうちの、物体ベクトルv2が類似するベクトルに対応するカウント値をインクリメントし、そのインクリメント後のカウント値を、物体カウント値として書き込むことで、例えば、飛行機が、手前側から奥側に飛んでいくことにより、入力画像のフレームに写る飛行機の領域が、大きな領域から小さな領域になり、当初、背景ブロックとして扱われていたが、その後、物体ブロックとして扱われるようになっても、飛行機の動き、及び飛行機の画像の相関が連続している回数を、物体カウント値としてカウントすることができる。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
11 動きベクトル検出部, 12 候補ベクトル算出部, 13 画素単位動き推定部, 14 補間画素動き判定部, 15 補間画像生成部, 16 出力画像出力部, 21 メモリ, 22 小ブロック評価値テーブル生成部, 23 小ブロック評価値テーブル記憶部, 24 大ブロック双方向評価値テーブル生成部, 25 大ブロック双方向ベクトル検出部, 26 中ブロック双方向評価値テーブル生成部, 27 中ブロック双方向ベクトル検出部, 28 中ブロック順方向評価値テーブル生成部, 29 中ブロック順方向ベクトル検出部, 30 中ブロック逆方向評価値テーブル生成部, 31 中ブロック逆方向ベクトル検出部, 51 全画面ヒストグラム生成部, 52 シーンチェンジ判定部, 53 背景物体ブロック検出部, 54 射影ヒストグラム生成部, 55 背景ベクトル第2候補算出部, 56 背景ベクトル選択部, 57 周辺ヒストグラム生成部, 58 背景ベクトル候補算出用ベクトル算出部, 59 背景ベクトル第1候補算出部, 60 周辺ヒストグラム生成部, 61 物体ベクトル候補算出用ベクトル算出部, 62 物体ベクトル算出部, 63 メディアンフィルタ, 64 比較判定部, 65 メディアンフィルタ, 66 比較判定部, 71 フレーム回数カウンタ, 72 静止相関判定部, 73 静止カウンタ, 74 順方向背景相関判定部, 75 逆方向背景相関判定部, 76 背景情報記憶部, 77 背景ベクトルメモリ, 78 背景カウンタ, 81 順方向物体相関判定部, 82 逆方向物体相関判定部, 83 物体情報記憶部, 84 物体ベクトルメモリ, 85 物体カウンタ, 86 物体回数カウンタ, 91 順方向動き推定部, 92 逆方向動き推定部, 111 動き補償部, 112 画素選択部, 113 加算部, 201 注目画素選択部, 202 動き補償部, 203,204 タップ選択部, 205 クラス分類部, 206 係数出力部, 207 予測演算部, 231 学習用画像記憶部, 232 教師データ生成部, 233 教師データ記憶部, 234 生徒データ生成部, 235 生徒データ記憶部, 236 学習部, 240 動き検出部, 241 注目画素選択部, 242 動き補償部, 243,244 タップ選択部, 245 クラス分類部, 246 足し込み部, 247 タップ係数算出部, 301 バス, 302 CPU, 303 ROM, 304 RAM, 305 ハードディスク, 306 出力部, 307 入力部, 308 通信部, 309 ドライブ, 310 入出力インタフェース, 311 リムーバブル記録媒体

Claims (15)

  1. 補間の対象の入力画像のフレームどうしの間に補間する補間フレームの過去側の前記入力画像のフレームである過去側フレームと、前記補間フレームの未来側の前記入力画像のフレームである未来側フレームとを、前記入力画像から選択し、前記過去側フレーム、及び前記未来側フレームを用いたブロックマッチングによって、前記補間フレームをブロック分割して得られる小ブロックごとに、複数種類の動きベクトルを検出する動きベクトル検出手段と、
    前記複数種類の動きベクトルそれぞれの統計量を求める統計処理によって、前記入力画像に写る背景の動きを表す背景ベクトルと、前記入力画像に写る、前記背景以外の物体の動きを表す物体ベクトルとを、前記小ブロックの動きを表す動きベクトルの候補として、前記小ブロックごとに求める候補ベクトル算出手段と、
    前記小ブロックごとの前記背景ベクトル、及び前記物体ベクトルを用い、前記過去側フレームから前記未来側フレームの方向に見た、前記補間フレームの画素の動きを表す順方向ベクトルと、前記未来側フレームから前記過去側フレームの方向に見た、前記補間フレームの画素の動きを表す逆方向ベクトルとを、前記補間フレームの画素ごとに求める画素単位動き推定手段と、
    前記補間フレームの画素である補間画素について、
    前記補間画素を含む前記小ブロックの前記背景ベクトルに平行で、前記補間画素を通る直線上の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと、
    前記補間画素を含む前記小ブロックの前記物体ベクトルに平行で、前記補間画素を通る直線上の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと、
    前記補間画素の位置の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと
    の中の少なくとも1つ以上と、前記背景ベクトル、前記物体ベクトル、又は0ベクトルとが類似しているかどうかによって、前記背景ベクトル、前記物体ベクトル、又は前記0ベクトルを、前記補間画素の動きベクトルに判定する動き判定を行う補間画素動き判定手段と、
    前記補間画素の動きベクトルに従い、前記過去側フレーム、及び前記未来側フレームのうちの少なくとも一方の動き補償を行い、前記動き補償によって得られる動き補償画像を用いて、前記補間フレームを生成する補間画像生成手段と
    を含み、
    前記画素単位動き推定手段は、
    前記補間フレームの中の、注目する注目フレームを構成する画素のうちの、注目する注目画素について、
    前記注目画素を含む前記小ブロックの前記背景ベクトルが、前記注目画素の位置から前記背景ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの画素である前フレーム画素の前記背景ベクトル又は前記物体ベクトルに類似し、かつ、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がある場合、
    及び、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がある場合、
    前記背景ベクトルに従った動き、及び画像の相関が連続している回数を表す背景カウント値をインクリメントし、
    前記注目画素を含む前記小ブロックの前記背景ベクトルが、前記注目画素の位置から前記背景ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記背景ベクトル及び前記物体ベクトルのいずれにも類似しないか、
    前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がないか、
    又は、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がない場合、
    前記背景カウント値をリセットし、
    前記注目画素を含む前記小ブロックの前記物体ベクトルが、前記注目画素の位置から前記物体ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記物体ベクトル又は前記背景ベクトルに類似し、かつ、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がある場合、
    及び、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がある場合、
    前記物体ベクトルに従った動き、及び画像の相関が連続している回数を表す物体カウント値をインクリメントし、
    前記注目画素を含む前記小ブロックの前記物体ベクトルが、前記注目画素の位置から前記物体ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記物体ベクトル及び前記背景ベクトルのいずれにも類似しないか、
    前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がないか、
    又は、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がない場合、
    前記物体カウント値をリセットし、
    前記背景カウント値と前記物体カウント値との大小関係に基づいて、前記背景ベクトル、又は前記物体ベクトルを、前記順方向ベクトルとして求めるとともに、前記逆方向ベクトルとして求める
    画像処理装置。
  2. 前記動きベクトル検出手段は、
    前記補間フレームの小ブロックについて、前記過去側フレーム、又は前記未来側フレームの一方のフレームの小ブロックを、他方のフレームに設定されるサーチエリア内を移動させ、前記小ブロックと、前記サーチエリアの各位置における、前記小ブロックと同一のサイズの領域との画像の一致の度合いを表す評価値を求め、前記評価値のテーブルである評価値テーブルを生成する、前記小ブロックのブロックマッチングを行う小ブロック評価値テーブル生成手段と、
    前記補間フレームの小ブロックについて、前記小ブロックの評価値テーブルの評価値の加算と減算とを行うことにより、複数の前記小ブロックから構成される中ブロックのブロックマッチングの結果得られる、前記中ブロックの評価値テーブルを生成する中ブロックの評価値テーブル生成手段と、
    前記中ブロックの評価値テーブルにおいて、前記画像の一致の度合いが最も良いことを表す評価値が得られるときの、前記サーチエリア内の前記中ブロックの位置を表すベクトルを、前記複数種類の動きベクトルのうちの1種類の動きベクトルとして検出する中ブロックのベクトル検出手段と、
    前記補間フレームの小ブロックについて、前記小ブロックの評価値テーブルの評価値の加算と減算とを行うことにより、前記中ブロックを構成する小ブロックの数よりも多い数の小ブロックから構成される大ブロックのブロックマッチングの結果得られる、前記大ブロックの評価値テーブルを生成する大ブロックの評価値テーブル生成手段と、
    前記大ブロックの評価値テーブルにおいて、前記画像の一致の度合いが最も良いことを表す評価値が得られるときの、前記サーチエリア内の前記大ブロックの位置を表すベクトルを、前記複数種類の動きベクトルのうちの他の1種類の動きベクトルとして検出する大ブロックのベクトル検出手段と
    を有する
    請求項1に記載の画像処理装置。
  3. 前記中ブロックのベクトル検出手段は、
    前記中ブロックの評価値テーブルの評価値の分布に基づいて、前記中ブロックの評価値テーブルから検出される動きベクトルが信頼できるかどうかを判定し、
    前記中ブロックの評価値テーブルから検出される動きベクトルが信頼できない場合、前記大ブロックのベクトル検出手段において検出される前記他の1種類の動きベクトルを、前記1種類の動きベクトルとして採用する
    請求項2に記載の画像処理装置。
  4. 前記候補ベクトル算出手段は、
    前記動きベクトル検出手段において検出される、前記補間フレームの前記小ブロックすべての動きベクトルのヒストグラムである全画面ヒストグラムを生成する全画面ヒストグラム生成手段と、
    前記全画面ヒストグラムに基づいて、前記補間フレームを構成する前記小ブロックのうちの、前記背景の動きをしている背景ブロックと、前記物体の動きをしている物体ブロックとを検出する背景物体ブロック検出手段と、
    前記補間フレームを構成する前記小ブロックのうちの前記背景ブロックの前記動きベクトルのヒストグラムに基づいて、前記補間フレームの前記小ブロック単位の列ごとに、前記背景ベクトルの候補のx成分を求めるとともに、前記補間フレームの前記小ブロック単位の行ごとに、前記背景ベクトルの候補のy成分を求める背景ベクトルの候補算出手段と、
    前記背景ベクトルの候補から、前記背景ベクトルを選択する背景ベクトル選択手段と
    を有し、
    前記背景物体ブロック検出手段は、
    前記全画面ヒストグラムにおいて、度数が1位と2位の階級を検出し、
    前記全画面ヒストグラムにおいて、1位と2位の階級それぞれを、背景の動きの候補の階級のエリアである背景階級エリアとして、前記背景階級エリアに隣接する階級のうちの、度数が0でない階級を、前記背景階級エリアに含めることを繰り返すことで、前記背景階級エリアを拡張し、
    1位と2位の階級に対して得られる前記背景階級エリアそれぞれについて、前記背景階級エリアに含まれる階級の動きベクトルが検出された小ブロックの中で、画枠に接する小ブロックの数をカウントし、
    1位と2位の階級に対して得られる前記背景階級エリアのうちの、前記画枠に接する小ブロックの数が多い方の前記背景階級エリアに含まれる階級の動きベクトルが検出された小ブロックを、背景の動きをしている背景ブロックとして検出するとともに、前記補間フレームの他の小ブロックを、前記物体の動きをしている物体ブロックとして検出する
    請求項1に記載の画像処理装置。
  5. 前記候補ベクトル算出手段は、
    前記補間フレームの前記小ブロック単位の列ごとの前記背景ブロックの前記動きベクトルのx成分のヒストグラムである水平射影ヒストグラムと、
    前記補間フレームの前記小ブロック単位の行ごとの前記背景ブロックの前記動きベクトルのy成分のヒストグラムである垂直射影ヒストグラムと
    を、前記統計量として生成する射影ヒストグラム生成手段
    をさらに有し、
    前記背景ベクトルの候補算出手段は、第j行第i列の小ブロックの背景ベクトルの候補として、前記水平射影ヒストグラムにおいて度数が最大の階級と、前記垂直射影ヒストグラムにおいて度数が最大の階級とを、それぞれx成分とy成分とするベクトルを求める
    請求項4に記載の画像処理装置。
  6. 前記画素単位動き推定手段は、
    前記注目画素について、さらに、
    前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置の画素との間に相関がある場合、前記0ベクトルに従った動き、及び画像の相関が連続している回数を表す静止カウント値をインクリメントし、
    前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置の画素との間に相関がない場合、前記静止カウント値をリセットし、
    前記背景カウント値、前記物体カウント値、及び、前記静止カウント値の大小関係に基づいて、前記背景ベクトル、前記物体ベクトル、又は、前記0ベクトルを、前記順方向ベクトルとして求めるとともに、前記逆方向ベクトルとして求める
    請求項1に記載の画像処理装置。
  7. 前記画素単位動き推定手段は、
    前記未来側フレーム、又は前記過去側フレームのうちの一方のフレームの画素を含むブロックを、他方のフレームに設定されるサーチエリア内を移動させ、前記ブロックと、前記サーチエリアの各位置における、前記ブロックと同一のサイズの領域との画像の一致の度合いを表す評価値を求め、前記評価値のテーブルである評価値テーブルを生成する、前記ブロックのブロックマッチングを行い、
    前記評価値テーブルの評価値の分布に基づいて、前記未来側フレームの画素と、前記過去側フレームの画素との間の相関の有無を判定する
    請求項6に記載の画像処理装置。
  8. 前記動きベクトル検出手段は、
    前記補間フレームの小ブロックについて、前記過去側フレーム、又は前記未来側フレームの一方のフレームの小ブロックを、他方のフレームに設定されるサーチエリア内を移動させ、前記小ブロックと、前記サーチエリアの各位置における、前記小ブロックと同一のサイズの領域との画像の一致の度合いを表す評価値を求め、前記評価値のテーブルである評価値テーブルを生成する、前記小ブロックのブロックマッチングを行う小ブロック評価値テーブル生成手段と、
    前記補間フレームの小ブロックについて、前記小ブロックの評価値テーブルの評価値の加算と減算とを行うことにより、複数の前記小ブロックから構成される、前記過去側フレームの中ブロックのブロックマッチングの結果得られる評価値テーブルと、前記未来側フレームの中ブロックのブロックマッチングの結果得られる評価値テーブルとを合成した中ブロック双方向評価値テーブルを生成する中ブロック双方向評価値テーブル生成手段と、
    前記中ブロック双方向評価値テーブルにおいて、前記画像の一致の度合いが最も良いことを表す評価値が得られるときの、前記サーチエリア内の前記中ブロックの位置を表すベクトルを、前記複数種類の動きベクトルのうちの1種類である中ブロック双方向ベクトルとして検出する中ブロック双方向ベクトル検出手段と、
    前記補間フレームの小ブロックについて、前記小ブロックの評価値テーブルの評価値の加算と減算とを行うことにより、前記過去側フレームの中ブロックのブロックマッチングの結果得られる評価値テーブルである中ブロック順方向評価値テーブルを生成する中ブロック順方向評価値テーブル生成手段と、
    前記中ブロック順方向評価値テーブルにおいて、前記画像の一致の度合いが最も良いことを表す評価値が得られるときの、前記サーチエリア内の前記中ブロックの位置を表すベクトルを、前記複数種類の動きベクトルのうちの1種類である中ブロック順方向ベクトルとして検出する中ブロック順方向ベクトル検出手段と、
    前記補間フレームの小ブロックについて、前記小ブロックの評価値テーブルの評価値の加算と減算とを行うことにより、前記未来側フレームの中ブロックのブロックマッチングの結果得られる評価値テーブルである中ブロック逆方向評価値テーブルを生成する中ブロック逆方向評価値テーブル生成手段と、
    前記中ブロック逆方向評価値テーブルにおいて、前記画像の一致の度合いが最も良いことを表す評価値が得られるときの、前記サーチエリア内の前記中ブロックの位置を表すベクトルを、前記複数種類の動きベクトルのうちの1種類である中ブロック逆方向ベクトルとして検出する中ブロック逆方向ベクトル検出手段と、
    前記補間フレームの小ブロックについて、前記小ブロックの評価値テーブルの評価値の加算と減算とを行うことにより、前記中ブロックを構成する小ブロックの数よりも多い数の小ブロックから構成される、前記過去側フレームの大ブロックのブロックマッチングの結果得られる評価値テーブルと、前記未来側フレームの大ブロックのブロックマッチングの結果得られる評価値テーブルとを合成した大ブロック双方向評価値テーブルを生成する大ブロック双方向評価値テーブル生成手段と、
    前記大ブロック双方向評価値テーブルにおいて、前記画像の一致の度合いが最も良いことを表す評価値が得られるときの、前記サーチエリア内の前記大ブロックの位置を表すベクトルを、前記複数種類の動きベクトルのうちの1種類である大ブロック双方向ベクトルとして検出する大ブロック双方向ベクトル検出手段と
    を有し、
    前記候補ベクトル算出手段は、
    前記大ブロック双方向ベクトルの前記統計処理を行うことによって、前記小ブロックごとの前記背景ベクトルを求め、
    前記中ブロック双方向ベクトルの前記統計処理を行うことによって、前記小ブロックごとの前記物体ベクトルを求め、
    前記中ブロック順方向ベクトルの前記統計処理を行うことによって得られる前記統計量としてのベクトルと、前記背景ベクトル、及び前記物体ベクトルのそれぞれとを比較することにより、前記背景ベクトルと前記物体ベクトルとのうちの、前記統計量としてのベクトルに類似する方のベクトルを表す順方向動き判定情報を、前記小ブロックごとに生成し、
    前記中ブロック逆方向ベクトルの前記統計処理を行うことによって得られる前記統計量としてのベクトルと、前記背景ベクトル、及び前記物体ベクトルのそれぞれとを比較することにより、前記背景ベクトルと前記物体ベクトルとのうちの、前記統計量としてのベクトルに類似する方のベクトルを表す逆方向動き判定情報を、前記小ブロックごとに生成し、
    前記画素単位動き推定手段は、前記背景カウント値、前記物体カウント値、及び、前記静止カウント値のうちの2以上が最大値である場合、前記背景ベクトル、及び、前記物体ベクトルのうちの、前記順方向動き判定情報が表すベクトルを、前記順方向ベクトルとして求めるとともに、前記背景ベクトル、及び、前記物体ベクトルのうちの、前記逆方向動き判定情報が表すベクトルを、前記逆方向ベクトルとして求める
    請求項6に記載の画像処理装置。
  9. 前記画素単位動き推定手段は、前記注目フレームの前の補間フレームの前記前フレーム画素の前記背景ベクトル、及び前記物体ベクトルを記憶するベクトル記憶手段を有する
    請求項6に記載の画像処理装置。
  10. 前記候補ベクトル算出手段は、
    前記動きベクトル検出手段において検出される、前記補間フレームの前記小ブロックすべての動きベクトルのヒストグラムである全画面ヒストグラムを生成する全画面ヒストグラム生成手段と、
    前記全画面ヒストグラムに基づいて、前記過去側フレームから、前記未来側フレームにかけて、シーンチェンジが生じているかどうかを判定するシーンチェンジ判定手段と
    を有し、
    前記画素単位動き推定手段は、
    前記注目画素の位置から前記背景ベクトルに従って移動した位置が、画枠外の位置である場合、前記背景カウント値に、シーンチェンジからのフレーム数を表す回数カウント値をセットし、
    前記注目画素の位置から前記物体ベクトルに従って移動した位置が、画枠外の位置である場合、前記物体カウント値に、シーンチェンジからのフレーム数を表す回数カウント値をセットする
    請求項7に記載の画像処理装置。
  11. 前記画素単位動き推定手段は、
    前記注目画素を含む前記小ブロックの前記物体ベクトルが、前記注目画素の位置から前記物体ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記物体ベクトル又は前記背景ベクトルに類似している場合、前記物体ベクトルに従った動きが連続している回数を表す物体回数カウント値をインクリメントし、
    前記注目画素を含む前記小ブロックの前記物体ベクトルが、前記注目画素の位置から前記物体ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記物体ベクトル及び前記背景ベクトルのいずれにも類似しない場合、前記物体回数カウント値をリセットし、
    前記背景カウント値、前記物体カウント値、及び、前記静止カウント値の中の最大値が、前記背景カウント値である場合において、前記背景カウント値が、前記回数カウント値よりも小であるとき、又は、前記最大値が、前記物体カウント値である場合において、前記物体カウント値が、前記物体回数カウンタよりも小であるとき、
    前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間の相関の有無の判定に用いられた、前記背景ベクトルに対応する前記評価値テーブルと、
    前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間の相関の有無の判定に用いられた、前記物体ベクトルに対応する前記評価値テーブルと
    のうちの、前記画像の一致の度合いが最も良いことを表す評価値を有する前記評価値テーブルに対応する前記背景ベクトル、又は前記物体ベクトルを、前記順方向ベクトルとして求めるとともに、
    前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間の相関の有無の判定に用いられた、前記背景ベクトルに対応する前記評価値テーブルと、
    前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間の相関の有無の判定に用いられた、前記物体ベクトルに対応する前記評価値テーブルと
    のうちの、前記画像の一致の度合いが最も良いことを表す評価値を有する前記評価値テーブルに対応する前記背景ベクトル、又は前記物体ベクトルを、前記逆方向ベクトルとして求める
    請求項10に記載の画像処理装置。
  12. 前記補間画素動き判定手段は、前記補間画素について、
    前記補間画素を含む前記小ブロックの前記背景ベクトルに平行で、前記補間画素を通る直線上の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと、
    前記補間画素を含む前記小ブロックの前記物体ベクトルに平行で、前記補間画素を通る直線上の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと、
    前記補間画素の位置の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと
    の中の少なくとも1つ以上と、前記背景ベクトル、前記物体ベクトル、又は0ベクトルとが類似しているかどうかによって、前記動き判定を行うとともに、前記補間画素が、カバードバックグラウンド領域の画素、アンカバードバックグラウンド領域の画素、又は、カバードバックグラウンド領域、及び、アンカバードバックグラウンド領域のいずれの領域でもない領域の画素のうちのいずれであるかを判定するC/UC判定を行い、
    前記補間画像生成手段は、前記C/UC判定の判定結果を表すC/UC情報に基づいて、前記動き補償画像の画素から、前記補間フレームの前記補間画素の生成に用いる画素を選択して、前記補間画素を生成する
    請求項1に記載の画像処理装置。
  13. 前記補間画像生成手段は、
    前記補間フレームの補間画素のうちの注目している注目画素の画素値を求める予測演算に用いられる予測タップとなる画素として、前記動き補償画像の、前記注目画素の位置に近い画素を選択する予測タップ選択手段と、
    前記注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類に用いられるクラスタップとなる画素として、前記動き補償画像の、前記注目画素の位置に近い画素を選択するクラスタップ選択手段と、
    前記クラスタップである画素のレベル分布によって、前記注目画素のクラス分類を行うクラス分類手段と、
    前記入力画像に相当する生徒画像から得られる前記動き補償画像を用いた前記予測演算の結果と、前記補間フレームに相当する教師画像との誤差を最小にする学習により求められた、前記複数のクラスそれぞれごとの、前記予測演算に用いられるタップ係数のうちの、前記注目画素のクラスのタップ係数を出力するタップ係数出力手段と、
    前記注目画素のクラスのタップ係数と、前記注目画素の前記予測タップとを用いた前記予測演算を行うことにより、前記注目画素の画素値を求める演算手段と
    を有する
    請求項1に記載の画像処理装置。
  14. 補間の対象の入力画像のフレームどうしの間に補間する補間フレームの過去側の前記入力画像のフレームである過去側フレームと、前記補間フレームの未来側の前記入力画像のフレームである未来側フレームとを、前記入力画像から選択し、前記過去側フレーム、及び前記未来側フレームを用いたブロックマッチングによって、前記補間フレームをブロック分割して得られる小ブロックごとに、複数種類の動きベクトルを検出する動きベクトル検出ステップと、
    前記複数種類の動きベクトルそれぞれの統計量を求める統計処理によって、前記入力画像に写る背景の動きを表す背景ベクトルと、前記入力画像に写る、前記背景以外の物体の動きを表す物体ベクトルとを、前記小ブロックの動きを表す動きベクトルの候補として、前記小ブロックごとに求める候補ベクトル算出ステップと、
    前記小ブロックごとの前記背景ベクトル、及び前記物体ベクトルを用い、前記過去側フレームから前記未来側フレームの方向に見た、前記補間フレームの画素の動きを表す順方向ベクトルと、前記未来側フレームから前記過去側フレームの方向に見た、前記補間フレームの画素の動きを表す逆方向ベクトルとを、前記補間フレームの画素ごとに求める画素単位動き推定ステップと、
    前記補間フレームの画素である補間画素について、
    前記補間画素を含む前記小ブロックの前記背景ベクトルに平行で、前記補間画素を通る直線上の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと、
    前記補間画素を含む前記小ブロックの前記物体ベクトルに平行で、前記補間画素を通る直線上の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと、
    前記補間画素の位置の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと
    の中の少なくとも1つ以上と、前記背景ベクトル、前記物体ベクトル、又は0ベクトルとが類似しているかどうかによって、前記背景ベクトル、前記物体ベクトル、又は前記0ベクトルを、前記補間画素の動きベクトルに判定する動き判定を行う補間画素動き判定ステップと、
    前記補間画素の動きベクトルに従い、前記過去側フレーム、及び前記未来側フレームのうちの少なくとも一方の動き補償を行い、前記動き補償によって得られる動き補償画像を用いて、前記補間フレームを生成する補間画像生成ステップと
    を含み、
    前記画素単位動き推定ステップでは、
    前記補間フレームの中の、注目する注目フレームを構成する画素のうちの、注目する注目画素について、
    前記注目画素を含む前記小ブロックの前記背景ベクトルが、前記注目画素の位置から前記背景ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの画素である前フレーム画素の前記背景ベクトル又は前記物体ベクトルに類似し、かつ、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がある場合、
    及び、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がある場合、
    前記背景ベクトルに従った動き、及び画像の相関が連続している回数を表す背景カウント値をインクリメントし、
    前記注目画素を含む前記小ブロックの前記背景ベクトルが、前記注目画素の位置から前記背景ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記背景ベクトル及び前記物体ベクトルのいずれにも類似しないか、
    前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がないか、
    又は、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がない場合、
    前記背景カウント値をリセットし、
    前記注目画素を含む前記小ブロックの前記物体ベクトルが、前記注目画素の位置から前記物体ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記物体ベクトル又は前記背景ベクトルに類似し、かつ、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がある場合、
    及び、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がある場合、
    前記物体ベクトルに従った動き、及び画像の相関が連続している回数を表す物体カウント値をインクリメントし、
    前記注目画素を含む前記小ブロックの前記物体ベクトルが、前記注目画素の位置から前記物体ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記物体ベクトル及び前記背景ベクトルのいずれにも類似しないか、
    前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がないか、
    又は、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がない場合、
    前記物体カウント値をリセットし、
    前記背景カウント値と前記物体カウント値との大小関係に基づいて、前記背景ベクトル、又は前記物体ベクトルを、前記順方向ベクトルとして求めるとともに、前記逆方向ベクトルとして求める
    画像処理方法。
  15. 補間の対象の入力画像のフレームどうしの間に補間する補間フレームの過去側の前記入力画像のフレームである過去側フレームと、前記補間フレームの未来側の前記入力画像のフレームである未来側フレームとを、前記入力画像から選択し、前記過去側フレーム、及び前記未来側フレームを用いたブロックマッチングによって、前記補間フレームをブロック分割して得られる小ブロックごとに、複数種類の動きベクトルを検出する動きベクトル検出手段と、
    前記複数種類の動きベクトルそれぞれの統計量を求める統計処理によって、前記入力画像に写る背景の動きを表す背景ベクトルと、前記入力画像に写る、前記背景以外の物体の動きを表す物体ベクトルとを、前記小ブロックの動きを表す動きベクトルの候補として、前記小ブロックごとに求める候補ベクトル算出手段と、
    前記小ブロックごとの前記背景ベクトル、及び前記物体ベクトルを用い、前記過去側フレームから前記未来側フレームの方向に見た、前記補間フレームの画素の動きを表す順方向ベクトルと、前記未来側フレームから前記過去側フレームの方向に見た、前記補間フレームの画素の動きを表す逆方向ベクトルとを、前記補間フレームの画素ごとに求める画素単位動き推定手段と、
    前記補間フレームの画素である補間画素について、
    前記補間画素を含む前記小ブロックの前記背景ベクトルに平行で、前記補間画素を通る直線上の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと、
    前記補間画素を含む前記小ブロックの前記物体ベクトルに平行で、前記補間画素を通る直線上の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと、
    前記補間画素の位置の、前記過去側フレームの画素についての前記順方向ベクトル、及び、前記未来側フレームの画素についての前記逆方向ベクトルと
    の中の少なくとも1つ以上と、前記背景ベクトル、前記物体ベクトル、又は0ベクトルとが類似しているかどうかによって、前記背景ベクトル、前記物体ベクトル、又は前記0ベクトルを、前記補間画素の動きベクトルに判定する動き判定を行う補間画素動き判定手段と、
    前記補間画素の動きベクトルに従い、前記過去側フレーム、及び前記未来側フレームのうちの少なくとも一方の動き補償を行い、前記動き補償によって得られる動き補償画像を用いて、前記補間フレームを生成する補間画像生成手段と
    して、コンピュータを機能させるためのプログラムであり、
    前記画素単位動き推定手段は、
    前記補間フレームの中の、注目する注目フレームを構成する画素のうちの、注目する注目画素について、
    前記注目画素を含む前記小ブロックの前記背景ベクトルが、前記注目画素の位置から前記背景ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの画素である前フレーム画素の前記背景ベクトル又は前記物体ベクトルに類似し、かつ、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がある場合、
    及び、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がある場合、
    前記背景ベクトルに従った動き、及び画像の相関が連続している回数を表す背景カウント値をインクリメントし、
    前記注目画素を含む前記小ブロックの前記背景ベクトルが、前記注目画素の位置から前記背景ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記背景ベクトル及び前記物体ベクトルのいずれにも類似しないか、
    前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がないか、
    又は、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記背景ベクトルに従って移動した位置の画素との間に相関がない場合、
    前記背景カウント値をリセットし、
    前記注目画素を含む前記小ブロックの前記物体ベクトルが、前記注目画素の位置から前記物体ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記物体ベクトル又は前記背景ベクトルに類似し、かつ、前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がある場合、
    及び、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がある場合、
    前記物体ベクトルに従った動き、及び画像の相関が連続している回数を表す物体カウント値をインクリメントし、
    前記注目画素を含む前記小ブロックの前記物体ベクトルが、前記注目画素の位置から前記物体ベクトルに従って移動した位置の、前記注目フレームの前の補間フレームの前記前フレーム画素の前記物体ベクトル及び前記背景ベクトルのいずれにも類似しないか、
    前記未来側フレームの、前記注目画素の位置の画素と、前記過去側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がないか、
    又は、前記過去側フレームの、前記注目画素の位置の画素と、前記未来側フレームの、前記注目画素の位置から前記物体ベクトルに従って移動した位置の画素との間に相関がない場合、
    前記物体カウント値をリセットし、
    前記背景カウント値と前記物体カウント値との大小関係に基づいて、前記背景ベクトル、又は前記物体ベクトルを、前記順方向ベクトルとして求めるとともに、前記逆方向ベクトルとして求める
    プログラム。
JP2009062340A 2009-03-16 2009-03-16 画像処理装置、画像処理方法、及び、プログラム Withdrawn JP2010219715A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009062340A JP2010219715A (ja) 2009-03-16 2009-03-16 画像処理装置、画像処理方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009062340A JP2010219715A (ja) 2009-03-16 2009-03-16 画像処理装置、画像処理方法、及び、プログラム

Publications (1)

Publication Number Publication Date
JP2010219715A true JP2010219715A (ja) 2010-09-30

Family

ID=42978098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009062340A Withdrawn JP2010219715A (ja) 2009-03-16 2009-03-16 画像処理装置、画像処理方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP2010219715A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012100189A (ja) * 2010-11-05 2012-05-24 Univ Of Tokyo 高時間分解能映像の生成方法及び装置
KR20200079739A (ko) * 2018-12-26 2020-07-06 엘지디스플레이 주식회사 영상 처리 방법 및 이를 이용한 표시 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012100189A (ja) * 2010-11-05 2012-05-24 Univ Of Tokyo 高時間分解能映像の生成方法及び装置
KR20200079739A (ko) * 2018-12-26 2020-07-06 엘지디스플레이 주식회사 영상 처리 방법 및 이를 이용한 표시 장치
KR102583784B1 (ko) * 2018-12-26 2023-10-04 엘지디스플레이 주식회사 영상 처리 방법 및 이를 이용한 표시 장치

Similar Documents

Publication Publication Date Title
US8588306B2 (en) Temporal motion vector filtering
JP4265237B2 (ja) 画像処理装置および方法、学習装置および方法、記録媒体、並びにプログラム
EP1587032B1 (en) Image processing apparatus and method, recording medium, and program
US6987866B2 (en) Multi-modal motion estimation for video sequences
TWI455588B (zh) 以雙向、局部及全域移動評估為基礎之框率轉換
KR100973429B1 (ko) 배경 움직임 벡터 선택기, 업-변환 유닛, 이미지 처리 장치, 배경 움직임 벡터 선택 방법 및 컴퓨터 판독 가능한 기록 매체
US20050259738A1 (en) Image processing apparatus and method, and recording medium and program used therewith
KR100746839B1 (ko) 데이터 처리 장치, 데이터 처리 방법, 학습 장치, 학습방법, 및 매체
US20050259739A1 (en) Image processing apparatus and method, and recording medium and program used therewith
JP2005210697A (ja) 動き補償フレームレート変換
JP2009533928A (ja) イメージ信号中の推定動きベクトルの決定方法、コンピュータプログラム、コンピュータプログラム製品およびディスプレイ装置
JP2000134585A (ja) 動きベクトル決定方法、画像信号のフレーム数変換方法および回路
JP2001086507A (ja) 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、媒体、並びに画像処理装置
US20100080299A1 (en) Frame frequency conversion apparatus, frame frequency conversion method, program for achieving the method, computer readable recording medium recording the program, motion vector detection apparatus, and prediction coefficient generation apparatus
US8269844B2 (en) Method of improving video images by removing the effects of camera vibration
JP5669523B2 (ja) フレーム補間装置及び方法、並びにプログラム及び記録媒体
JP5133038B2 (ja) 画像復元方法および画像復元装置
US20050180506A1 (en) Unit for and method of estimating a current motion vector
EP2161687A1 (en) Video signal processing device, video signal processing method, and video signal processing program
EP1514241A2 (en) Unit for and method of estimating a motion vector
EP1782622A1 (en) Pixel interpolation
JP2009003598A (ja) 画像生成装置および方法、学習装置および方法、並びにプログラム
JP2010219715A (ja) 画像処理装置、画像処理方法、及び、プログラム
JP2001084368A (ja) データ処理装置およびデータ処理方法、並びに媒体
KR20070094521A (ko) 화상 처리 장치 및 화상처리 방법과 프로그램

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120605