JP4596218B2 - Image processing apparatus and method, recording medium, and program - Google Patents

Image processing apparatus and method, recording medium, and program Download PDF

Info

Publication number
JP4596218B2
JP4596218B2 JP2001189198A JP2001189198A JP4596218B2 JP 4596218 B2 JP4596218 B2 JP 4596218B2 JP 2001189198 A JP2001189198 A JP 2001189198A JP 2001189198 A JP2001189198 A JP 2001189198A JP 4596218 B2 JP4596218 B2 JP 4596218B2
Authority
JP
Japan
Prior art keywords
pixel
frame
unit
motion vector
image data
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.)
Expired - Fee Related
Application number
JP2001189198A
Other languages
Japanese (ja)
Other versions
JP2003006651A (en
Inventor
哲二郎 近藤
淳一 石橋
貴志 沢尾
隆浩 永野
直樹 藤原
徹 三宅
成司 和田
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 JP2001189198A priority Critical patent/JP4596218B2/en
Priority to US10/343,675 priority patent/US7139019B2/en
Priority to PCT/JP2002/005045 priority patent/WO2002099753A1/en
Priority to CNB028025261A priority patent/CN1251148C/en
Priority to KR1020037001610A priority patent/KR100924401B1/en
Publication of JP2003006651A publication Critical patent/JP2003006651A/en
Application granted granted Critical
Publication of JP4596218B2 publication Critical patent/JP4596218B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、センサにより検出した信号と現実世界との違いを考慮した画像処理装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
現実世界における事象をセンサで検出し、画像センサが出力するサンプリングデータを処理する技術が広く利用されている。
【0003】
例えば、静止している所定の背景の前で移動する物体をビデオカメラで撮像して得られる画像には、物体の移動速度が比較的速い場合、動きボケが生じることになる。
【0004】
【発明が解決しようとする課題】
静止している背景の前で物体が移動するとき、移動する物体の画像自身の混ざり合いによる動きボケのみならず、背景の画像と移動する物体の画像との混ざり合いが生じる。従来は、背景の画像と移動する物体の画像との混ざり合いの割合を示す混合比を検出することは、考えられていなかった。
【0005】
また、背景の画像と移動する物体の画像との混ざり合っている領域を考慮して、移動する物体の動きベクトルを検出することはできなかった。
【0006】
本発明はこのような状況に鑑みてなされたものであり、背景の画像と移動する物体の画像との混ざり合いの割合を示す混合比を検出すると共に、背景の画像と移動する物体の画像との混ざり合っている領域を考慮して、移動する物体の動きベクトルを検出することができるようにすることを目的とする。
【0007】
【課題を解決するための手段】
本発明の画像処理装置は、現実世界では複数であるオブジェクトの画素データにおける混合状態を示す混合比の値の範囲に対応させて、それぞれ異なる値の複数の重みを生成し、生成した個々の重みを示す重み付け情報を生成する重み付け情報生成手段と、画像データの各フレームを注目フレームとして、注目フレームに隣接する隣接フレーム所定の画素の画素値に重み付け情報で示される重みを乗じ、その結果得られる重み付けされた所定の画素の画素値と、画像データの注目フレームの所定の画素に対応する画素の画素値差分を算出し、注目フレームに対応する重み付け差分画像データとして出力する重み付け差分画像データ算出手段と、重みごとに、大きさまたは角度の異なる複数の動きベクトルを示す動きベクトル情報を生成する動きベクトル情報生成手段と、動きベクトル情報で示される動きベクトルに応じて、注目フレームの重み付け差分画像データと隣接フレームの重み付け差分画像データとの相対的な位置を合わせて、注目フレームの重み付け差分画像データの各注目画素を中心とした複数画素の画素値からなる第1の注目ブロックと、隣接フレームの重み付け差分画像データの第1の注目ブロックに対応する複数画素の画素値からなる第1の対応ブロックとの相関を演算し、重み付け差分画像間相関データとして出力する重み付け差分画像間相関データ演算手段と、重み付け差分画像間相関データの複数画素からなる所定の単位毎に、重み付け差分画像データ間の相関が最大となる重みおよび動きベクトルを検出し、検出された重みを注目フレームの単位に対応する混合比に設定し、検出された動きベクトルを注目フレームの単位に対応する動きベクトルに設定し、混合比および動きベクトルのうち少なくとも一方を出力する検出手段とを含むことを特徴とする。
【0008】
重み付け差分画像データ算出手段は、画像データの注目フレームの各注目画素を中心とした複数画素の画素値からなる第2の注目ブロックに対応する隣接フレームの複数画素の画素値からなる第2の対応ブロックの各画素値に第2の対応ブロック内で一定の重みを乗じ、その結果得られる重み付けされた第2の対応ブロックと、第2の注目ブロック差分を算出し、注目画素に対応する重み付け差分画像データとして出力し、重み付け差分画像間相関データ演算手段は、動きベクトル情報で示される動きベクトルに応じて、注目フレームの重み付け差分画像データと隣接フレームの重み付け差分画像データとの相対的な位置を合わせて、注目フレームの重み付け差分画像データの第1の注目ブロックと、隣接フレームの重み付け差分画像データの第1の対応ブロックとの相関を演算し、重み付け差分画像間相関データとして出力するようにすることができる。
【0009】
重み付け差分画像データ算出手段は、画像データの注目フレームの各注目画素を中心とした複数画素の画素値からなる第2の注目ブロックに対応する隣接フレームの複数画素の画素値からなる第2の対応ブロックの各画素値に第2の対応ブロック内の画素ごとに異なる重みを乗じ、その結果得られる重み付けされた第2の対応ブロックと、第2の注目ブロックとの差分を算出し、注目画素に対応する重み付け差分画像データとして出力し、重み付け差分画像間相関データ演算手段は、動きベクトル情報で示される動きベクトルに応じて、注目フレームの重み付け差分画像データと隣接フレームの重み付け差分画像データとの相対的な位置を合わせて、注目フレームの重み付け差分画像データの第1の注目ブロックと、隣接フレームの重み付け差分画像データの第1の対応ブロックとの相関を演算し、重み付け差分画像間相関データとして出力するようにすることができる。
【0010】
重み付け差分画像データ算出手段は、第2の対応ブロックの各画素値に第2の対応ブロック内の画素ごとにその画素の位置に対応して連続的に変化する重みを乗じ、その結果得られる重み付けされた第2の対応ブロックと、第2の注目ブロックとの差分を算出し、注目画素に対応する重み付け差分画像データとして出力するようにすることができる。
【0011】
検出手段は、重み付け差分画像データ間の相関が最大となる、所定の単位内の各画素に対応する重みの連続性を評価することにより、複数の重みおよび動きベクトルのうち、最も確からしい重みおよび動きベクトルを検出し、検出された重みを注目フレームの単位に対応する混合比に設定し、検出された動きベクトルを注目フレームの単位に対応する動きベクトルに設定し、混合比および動きベクトルのうち少なくとも一方を出力するようにすることができる。
【0012】
本発明の画像処理方法は、現実世界では複数であるオブジェクトの画素データにおける混合状態を示す混合比の値の範囲に対応させて、それぞれ異なる値の複数の重みを生成し、生成した個々の重みを示す重み付け情報を生成する重み付け情報生成ステップと、画像データの各フレームを注目フレームとして、注目フレームに隣接する隣接フレーム所定の画素の画素値に重み付け情報で示される重みを乗じ、その結果得られる重み付けされた所定の画素の画素値と、画像データの注目フレームの所定の画素に対応する画素の画素値差分を算出し、注目フレームに対応する重み付け差分画像データとして出力する重み付け差分画像データ算出ステップと、重みごとに、大きさまたは角度の異なる複数の動きベクトルを示す動きベクトル情報を生成する動きベクトル情報生成ステップと、動きベクトル情報で示される動きベクトルに応じて、注目フレームの重み付け差分画像データと隣接フレームの重み付け差分画像データとの相対的な位置を合わせて、注目フレームの重み付け差分画像データの各注目画素を中心とした複数画素の画素値からなる第1の注目ブロックと、隣接フレームの重み付け差分画像データの第1の注目ブロックに対応する複数画素の画素値からなる第1の対応ブロックとの相関を演算し、重み付け差分画像間相関データとして出力する重み付け差分画像間相関データ演算ステップと、重み付け差分画像間相関データの複数画素からなる所定の単位毎に、重み付け差分画像データ間の相関が最大となる重みおよび動きベクトルを検出し、検出された重みを注目フレームの単位に対応する混合比に設定し、検出された動きベクトルを注目フレームの単位に対応する動きベクトルに設定し、混合比および動きベクトルのうち少なくとも一方を出力する検出ステップとを含むことを特徴とする。
【0013】
本発明の記録媒体のプログラムは、時間積分効果を有する所定数の画素を有する撮像素子によって取得された所定数の画素データからなる画像データを処理するコンピュータに、現実世界では複数であるオブジェクトの画素データにおける混合状態を示す混合比の値の範囲に対応させて、それぞれ異なる値の複数の重みを生成し、生成した個々の重みを示す重み付け情報を生成する重み付け情報生成ステップと、画像データの各フレームを注目フレームとして、注目フレームに隣接する隣接フレーム所定の画素の画素値に重み付け情報で示される重みを乗じ、その結果得られる重み付けされた所定の画素の画素値と、画像データの注目フレームの所定の画素に対応する画素の画素値差分を算出し、注目フレームに対応する重み付け差分画像データとして出力する重み付け差分画像データ算出ステップと、重みごとに、大きさまたは角度の異なる複数の動きベクトルを示す動きベクトル情報を生成する動きベクトル情報生成ステップと、動きベクトル情報で示される動きベクトルに応じて、注目フレームの重み付け差分画像データと隣接フレームの重み付け差分画像データとの相対的な位置を合わせて、注目フレームの重み付け差分画像データの各注目画素を中心とした複数画素の画素値からなる第1の注目ブロックと、隣接フレームの重み付け差分画像データの第1の注目ブロックに対応する複数画素の画素値からなる第1の対応ブロックとの相関を演算し、重み付け差分画像間相関データとして出力する重み付け差分画像間相関データ演算ステップと、重み付け差分画像間相関データの複数画素からなる所定の単位毎に、重み付け差分画像データ間の相関が最大となる重みおよび動きベクトルを検出し、検出された重みを注目フレームの単位に対応する混合比に設定し、検出された動きベクトルを注目フレームの単位に対応する動きベクトルに設定し、混合比および動きベクトルのうち少なくとも一方を出力する検出ステップとを実行させるためのプログラムである
【0014】
本発明のプログラムは、時間積分効果を有する所定数の画素を有する撮像素子によって取得された所定数の画素データからなる画像データを処理するコンピュータに、現実世界では複数であるオブジェクトの画素データにおける混合状態を示す混合比の値の範囲に対応させて、それぞれ異なる値の複数の重みを生成し、生成した個々の重みを示す重み付け情報を生成する重み付け情報生成ステップと、画像データの各フレームを注目フレームとして、注目フレームに隣接する隣接フレーム所定の画素の画素値に重み付け情報で示される重みを乗じ、その結果得られる重み付けされた所定の画素の画素値と、画像データの注目フレームの所定の画素に対応する画素の画素値差分を算出し、注目フレームに対応する重み付け差分画像データとして出力する重み付け差分画像データ算出ステップと、重みごとに、大きさまたは角度の異なる複数の動きベクトルを示す動きベクトル情報を生成する動きベクトル情報生成ステップと、動きベクトル情報で示される動きベクトルに応じて、注目フレームの重み付け差分画像データと隣接フレームの重み付け差分画像データとの相対的な位置を合わせて、注目フレームの重み付け差分画像データの各注目画素を中心とした複数画素の画素値からなる第1の注目ブロックと、隣接フレームの重み付け差分画像データの第1の注目ブロックに対応する複数画素の画素値からなる第1の対応ブロックとの相関を演算し、重み付け差分画像間相関データとして出力する重み付け差分画像間相関データ演算ステップと、重み付け差分画像間相関データの複数画素からなる所定の単位毎に、重み付け差分画像データ間の相関が最大となる重みおよび動きベクトルを検出し、検出された重みを注目フレームの単位に対応する混合比に設定し、検出された動きベクトルを注目フレームの単位に対応する動きベクトルに設定し、混合比および動きベクトルのうち少なくとも一方を出力する検出ステップとを実行させるプログラムである
【0015】
本発明の画像処理装置および方法、記録媒体、並びにプログラムにおいては、現実世界では複数であるオブジェクトの画素データにおける混合状態を示す混合比の値の範囲に対応させて、それぞれ異なる値の複数の重みが生成され、生成された個々の重みを示す重み付け情報が生成され、画像データの各フレームが注目フレームとされて、注目フレームに隣接する隣接フレーム所定の画素の画素値に重み付け情報で示される重みが乗じられ、その結果得られる重み付けされた所定の画素の画素値と、画像データの注目フレームの所定の画素に対応する画素の画素値差分が算出され、注目フレームに対応する重み付け差分画像データとして出力され、重みごとに、大きさまたは角度の異なる複数の動きベクトルを示す動きベクトル情報が生成され、動きベクトル情報で示される動きベクトルに応じて、注目フレームの重み付け差分画像データと隣接フレームの重み付け差分画像データとの相対的な位置が合わせられて、注目フレームの重み付け差分画像データの各注目画素を中心とした複数画素の画素値からなる第1の注目ブロックと、隣接フレームの重み付け差分画像データの第1の注目ブロックに対応する複数画素の画素値からなる第1の対応ブロックとの相関が演算され、重み付け差分画像間相関データとして出力され、重み付け差分画像間相関データの複数画素からなる所定の単位毎に、重み付け差分画像データ間の相関が最大となる重みおよび動きベクトルが検出され、検出された重みが注目フレームの単位に対応する混合比に設定され、検出された動きベクトルが注目フレームの単位に対応する動きベクトルに設定され、混合比および動きベクトルのうち少なくとも一方が出力される。
【0016】
【発明の実施の形態】
図1は、本発明に係る信号処理装置の一実施の形態を示す図である。CPU(Central Processing Unit)21は、ROM(Read Only Memory)22、または記憶部28に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)23には、CPU21が実行するプログラムやデータなどが適宜記憶される。これらのCPU21、ROM22、およびRAM23は、バス24により相互に接続されている。
【0017】
CPU21にはまた、バス24を介して入出力インタフェース25が接続されている。入出力インタフェース25には、キーボード、マウス、マイクロホンなどよりなる入力部26、ディスプレイ、スピーカなどよりなる出力部27が接続されている。CPU21は、入力部26から入力される指令に対応して各種の処理を実行する。そして、CPU21は、処理の結果得られた画像や音声等を出力部27に出力する。
【0018】
入出力インタフェース25に接続されている記憶部28は、例えばハードディスクなどで構成され、CPU21が実行するプログラムや各種のデータを記憶する。通信部29は、インターネット、その他のネットワークを介して外部の装置と通信する。この例の場合、通信部29はセンサの出力を取り込む取得部として働く。
【0019】
また、通信部29を介してプログラムを取得し、記憶部28に記憶してもよい。
【0020】
入出力インタフェース25に接続されているドライブ30は、磁気ディスク51、光ディスク52、光磁気ディスク53、或いは半導体メモリ54などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部28に転送され、記憶される。
【0021】
図2は、信号処理装置を示すブロック図である。
【0022】
なお、信号処理装置の各機能をハードウェアで実現するか、ソフトウェアで実現するかは問わない。つまり、本明細書の各ブロック図は、ハードウェアのブロック図と考えても、ソフトウェアによる機能ブロック図と考えても良い。
【0023】
この明細書では、撮像の対象となる、現実世界におけるオブジェクトに対応する画像を、画像オブジェクトと称する。
【0024】
信号処理装置に供給された入力画像は、領域特定部101、同時検出部102、および前景背景分離部103に供給される。
【0025】
領域特定部101は、入力された画像の画素のそれぞれを、後述する前景領域、背景領域、または混合領域のいずれかに特定し、画素毎に前景領域、背景領域、または混合領域のいずれかに属するかを示す情報(以下、領域情報と称する)を同時検出部102、前景背景分離部103、および動きボケ調整部104に供給する。
【0026】
同時検出部102は、入力画像、および領域特定部101から供給された領域情報を基に、混合領域に含まれる画素に対応する混合比(以下、混合比αと称する)および前景のオブジェクトに対応する動きベクトルを検出して、検出した混合比を前景背景分離部103に供給し、検出した動きベクトルを動きボケ調整部104に供給する。
【0027】
混合比αは、後述する式(3)に示されるように、画素値における、背景のオブジェクトに対応する画像の成分(以下、背景の成分とも称する)の割合を示す値である。
【0028】
同時検出部102が出力する動きベクトルには、動き量vに対応する情報が含まれるている。
【0029】
動き量vは、動いているオブジェクトに対応する画像の位置の変化を画素間隔を単位として表す値である。例えば、前景に対応するオブジェクトの画像が、あるフレームを基準として次のフレームにおいて4画素分離れた位置に表示されるように移動しているとき、前景に対応するオブジェクトの画像の動き量vは、4とされる。
【0030】
なお、同時検出部102は、混合領域の画素に対応させて、動きベクトルを検出するようにすることもできる。
【0031】
前景背景分離部103は、領域特定部101から供給された領域情報、および同時検出部102から供給された混合比αを基に、前景のオブジェクトに対応する画像の成分(以下、前景の成分とも称する)のみから成る前景成分画像と、背景の成分のみから成る背景成分画像とに入力画像を分離して、前景成分画像を動きボケ調整部104および選択部105に供給する。なお、分離された前景成分画像を最終的な出力とすることも考えられる。従来の混合領域を考慮しないで前景と背景だけを特定し、分離していた方式に比べ正確な前景と背景を得ることが出来る。
【0032】
動きボケ調整部104は、動きベクトルからわかる動き量vおよび領域情報を基に、前景成分画像に含まれる1以上の画素を示す処理単位を決定する。処理単位は、動きボケの量の調整の処理の対象となる1群の画素を指定するデータである。
【0033】
動きボケ調整部104は、信号処理装置に入力された動きボケ調整量、前景背景分離部103から供給された前景成分画像、同時検出部102から供給された動きベクトル、および処理単位を基に、前景成分画像に含まれる動きボケを除去する、動きボケの量を減少させる、または動きボケの量を増加させるなど前景成分画像に含まれる動きボケの量を調整して、動きボケの量を調整した前景成分画像を選択部105に出力する。動きベクトルは使わないこともある。
【0034】
ここで、動きボケとは、撮像の対象となる、現実世界におけるオブジェクトの動きと、センサの撮像の特性とにより生じる、動いているオブジェクトに対応する画像に含まれている歪みをいう。
【0035】
選択部105は、例えば使用者の選択に対応した選択信号を基に、前景背景分離部103から供給された前景成分画像、および動きボケ調整部104から供給された動きボケの量が調整された前景成分画像のいずれか一方を選択して、選択した前景成分画像を出力する。
【0036】
次に、図3乃至図18を参照して、信号処理装置に供給される入力画像について説明する。
【0037】
図3は、センサによる撮像を説明する図である。センサは、例えば、固体撮像素子であるCCD(Charge-Coupled Device)エリアセンサを備えたCCDビデオカメラなどで構成される。現実世界における、前景に対応するオブジェクトは、現実世界における、背景に対応するオブジェクトと、センサとの間を、例えば、図中の左側から右側に水平に移動する。
【0038】
センサは、前景に対応するオブジェクトを、背景に対応するオブジェクトと共に撮像する。センサは、撮像した画像を1フレーム単位で出力する。例えば、センサは、1秒間に30フレームから成る画像を出力する。センサの露光時間は、1/30秒とすることができる。露光時間は、センサが入力された光の電荷への変換を開始してから、入力された光の電荷への変換を終了するまでの期間である。以下、露光時間をシャッタ時間とも称する。
【0039】
図4は、画素の配置を説明する図である。図4中において、A乃至Iは、個々の画素を示す。画素は、画像に対応する平面上に配置されている。1つの画素に対応する1つの検出素子は、センサ上に配置されている。センサが画像を撮像するとき、1つの検出素子は、画像を構成する1つの画素に対応する画素値を出力する。例えば、検出素子のX方向の位置は、画像上の横方向の位置に対応し、検出素子のY方向の位置は、画像上の縦方向の位置に対応する。
【0040】
図5に示すように、例えば、CCDである検出素子は、シャッタ時間に対応する期間、入力された光を電荷に変換して、変換された電荷を蓄積する。電荷の量は、入力された光の強さと、光が入力されている時間にほぼ比例する。検出素子は、シャッタ時間に対応する期間において、入力された光から変換された電荷を、既に蓄積されている電荷に加えていく。すなわち、検出素子は、シャッタ時間に対応する期間、入力される光を積分して、積分された光に対応する量の電荷を蓄積する。検出素子は、時間に対して、積分効果があるとも言える。
【0041】
検出素子に蓄積された電荷は、図示せぬ回路により、電圧値に変換され、電圧値は更にデジタルデータなどの画素値に変換されて出力される。従って、センサから出力される個々の画素値は、前景または背景に対応するオブジェクトの空間的に広がりを有するある部分を、シャッタ時間について積分した結果である、1次元の空間に射影された値を有する。
【0042】
信号処理装置は、このようなセンサの蓄積の動作により、出力信号に埋もれてしまった有意な情報、例えば、混合比αを抽出する。信号処理装置は、前景の画像オブジェクト自身が混ざり合うことによる生ずる歪みの量、例えば、動きボケの量などを調整する。また、信号処理装置は、前景の画像オブジェクトと背景の画像オブジェクトとが混ざり合うことにより生ずる歪みの量を調整する。
【0043】
図6は、動いている前景に対応するオブジェクトと、静止している背景に対応するオブジェクトとを撮像して得られる画像を説明する図である。図6(A)は、動きを伴う前景に対応するオブジェクトと、静止している背景に対応するオブジェクトとを撮像して得られる画像を示している。図6(A)に示す例において、前景に対応するオブジェクトは、画面に対して水平に左から右に動いている。
【0044】
図6(B)は、図6(A)に示す画像の1つのラインに対応する画素値を時間方向に展開したモデル図である。図6(B)の横方向は、図6(A)の空間方向Xに対応している。
【0045】
背景領域の画素は、背景の成分、すなわち、背景のオブジェクトに対応する画像の成分のみから、その画素値が構成されている。前景領域の画素は、前景の成分、すなわち、前景のオブジェクトに対応する画像の成分のみから、その画素値が構成されている。
【0046】
混合領域の画素は、背景の成分、および前景の成分から、その画素値が構成されている。混合領域は、背景の成分、および前景の成分から、その画素値が構成されているので、歪み領域ともいえる。混合領域は、更に、カバードバックグラウンド領域およびアンカバードバックグラウンド領域に分類される。
【0047】
カバードバックグラウンド領域は、前景領域に対して、前景のオブジェクトの進行方向の前端部に対応する位置の混合領域であり、時間の経過に対応して背景成分が前景に覆い隠される領域をいう。
【0048】
これに対して、アンカバードバックグラウンド領域は、前景領域に対して、前景のオブジェクトの進行方向の後端部に対応する位置の混合領域であり、時間の経過に対応して背景成分が現れる領域をいう。
【0049】
このように、前景領域、背景領域、またはカバードバックグラウンド領域若しくはアンカバードバックグラウンド領域を含む画像が、領域特定部101、同時検出部102、および前景背景分離部103に入力画像として入力される。
【0050】
図7は、以上のような、背景領域、前景領域、混合領域、カバードバックグラウンド領域、およびアンカバードバックグラウンド領域を説明する図である。図6に示す画像に対応する場合、背景領域は、静止部分であり、前景領域は、動き部分であり、混合領域のカバードバックグラウンド領域は、背景から前景に変化する部分であり、混合領域のアンカバードバックグラウンド領域は、前景から背景に変化する部分である。
【0051】
図8は、静止している前景に対応するオブジェクトおよび静止している背景に対応するオブジェクトを撮像した画像における、隣接して1列に並んでいる画素の画素値を時間方向に展開したモデル図である。例えば、隣接して1列に並んでいる画素として、画面の1つのライン上に並んでいる画素を選択することができる。
【0052】
図8に示すF01乃至F04の画素値は、静止している前景のオブジェクトに対応する画素の画素値である。図8に示すB01乃至B04の画素値は、静止している背景のオブジェクトに対応する画素の画素値である。
【0053】
図8における縦方向は、図中の上から下に向かって時間が経過する。図8中の矩形の上辺の位置は、センサが入力された光の電荷への変換を開始する時刻に対応し、図8中の矩形の下辺の位置は、センサが入力された光の電荷への変換を終了する時刻に対応する。すなわち、図8中の矩形の上辺から下辺までの距離は、シャッタ時間に対応する。
【0054】
以下において、シャッタ時間とフレーム間隔とが同一である場合を例に説明する。
【0055】
図8における横方向は、図6で説明した空間方向Xに対応する。より具体的には、図8に示す例において、図8中の”F01”と記載された矩形の左辺から”B04”と記載された矩形の右辺までの距離は、画素のピッチの8倍、すなわち、連続している8つの画素の間隔に対応する。
【0056】
前景のオブジェクトおよび背景のオブジェクトが静止している場合、シャッタ時間に対応する期間において、センサに入力される光は変化しない。
【0057】
ここで、シャッタ時間に対応する期間を2つ以上の同じ長さの期間に分割する。例えば、仮想分割数を4とすると、図8に示すモデル図は、図9に示すモデルとして表すことができる。仮想分割数は、前景に対応するオブジェクトのシャッタ時間内での動き量vなどに対応して設定される。例えば、4である動き量vに対応して、仮想分割数は、4とされ、シャッタ時間に対応する期間は4つに分割される。
【0058】
図中の最も上の行は、シャッタが開いて最初の、分割された期間に対応する。図中の上から2番目の行は、シャッタが開いて2番目の、分割された期間に対応する。図中の上から3番目の行は、シャッタが開いて3番目の、分割された期間に対応する。図中の上から4番目の行は、シャッタが開いて4番目の、分割された期間に対応する。
【0059】
以下、動き量vに対応して分割されたシャッタ時間をシャッタ時間/vとも称する。
【0060】
前景に対応するオブジェクトが静止しているとき、センサに入力される光は変化しないので、前景の成分F01/vは、画素値F01を仮想分割数で除した値に等しい。同様に、前景に対応するオブジェクトが静止しているとき、前景の成分F02/vは、画素値F02を仮想分割数で除した値に等しく、前景の成分F03/vは、画素値F03を仮想分割数で除した値に等しく、前景の成分F04/vは、画素値F04を仮想分割数で除した値に等しい。
【0061】
背景に対応するオブジェクトが静止しているとき、センサに入力される光は変化しないので、背景の成分B01/vは、画素値B01を仮想分割数で除した値に等しい。同様に、背景に対応するオブジェクトが静止しているとき、背景の成分B02/vは、画素値B02を仮想分割数で除した値に等しく、B03/vは、画素値B03を仮想分割数で除した値に等しく、B04/vは、画素値B04を仮想分割数で除した値に等しい。
【0062】
すなわち、前景に対応するオブジェクトが静止している場合、シャッタ時間に対応する期間において、センサに入力される前景のオブジェクトに対応する光が変化しないので、シャッタが開いて最初の、シャッタ時間/vに対応する前景の成分F01/vと、シャッタが開いて2番目の、シャッタ時間/vに対応する前景の成分F01/vと、シャッタが開いて3番目の、シャッタ時間/vに対応する前景の成分F01/vと、シャッタが開いて4番目の、シャッタ時間/vに対応する前景の成分F01/vとは、同じ値となる。F02/v乃至F04/vも、F01/vと同様の関係を有する。
【0063】
背景に対応するオブジェクトが静止している場合、シャッタ時間に対応する期間において、センサに入力される背景のオブジェクトに対応する光は変化しないので、シャッタが開いて最初の、シャッタ時間/vに対応する背景の成分B01/vと、シャッタが開いて2番目の、シャッタ時間/vに対応する背景の成分B01/vと、シャッタが開いて3番目の、シャッタ時間/vに対応する背景の成分B01/vと、シャッタが開いて4番目の、シャッタ時間/vに対応する背景の成分B01/vとは、同じ値となる。B02/v乃至B04/vも、同様の関係を有する。
【0064】
次に、前景に対応するオブジェクトが移動し、背景に対応するオブジェクトが静止している場合について説明する。
【0065】
図10は、前景に対応するオブジェクトが図中の右側に向かって移動する場合の、カバードバックグラウンド領域を含む、1つのライン上の画素の画素値を時間方向に展開したモデル図である。図10において、前景の動き量vは、4である。1フレームは短い時間なので、前景に対応するオブジェクトが剛体であり、等速で移動していると仮定することができる。図10において、前景に対応するオブジェクトの画像は、あるフレームを基準として次のフレームにおいて4画素分右側に表示されるように移動する。
【0066】
図10において、最も左側の画素乃至左から4番目の画素は、前景領域に属する。図10において、左から5番目乃至左から7番目の画素は、カバードバックグラウンド領域である混合領域に属する。図10において、最も右側の画素は、背景領域に属する。
【0067】
前景に対応するオブジェクトが時間の経過と共に背景に対応するオブジェクトを覆い隠すように移動しているので、カバードバックグラウンド領域に属する画素の画素値に含まれる成分は、シャッタ時間に対応する期間のある時点で、背景の成分から、前景の成分に替わる。
【0068】
例えば、図10中に太線枠を付した画素値Mは、式(1)で表される。
【0069】
M=B02/v+B02/v+F07/v+F06/v (1)
【0070】
例えば、左から5番目の画素は、1つのシャッタ時間/vに対応する背景の成分を含み、3つのシャッタ時間/vに対応する前景の成分を含むので、左から5番目の画素の混合比αは、1/4である。左から6番目の画素は、2つのシャッタ時間/vに対応する背景の成分を含み、2つのシャッタ時間/vに対応する前景の成分を含むので、左から6番目の画素の混合比αは、1/2である。左から7番目の画素は、3つのシャッタ時間/vに対応する背景の成分を含み、1つのシャッタ時間/vに対応する前景の成分を含むので、左から7番目の画素の混合比αは、3/4である。
【0071】
前景に対応するオブジェクトが、剛体であり、前景の画像が次のフレームにおいて4画素右側に表示されるように等速で移動すると仮定できるので、例えば、図10中の左から4番目の画素の、シャッタが開いて最初の、シャッタ時間/vの前景の成分F07/vは、図10中の左から5番目の画素の、シャッタが開いて2番目のシャッタ時間/vに対応する前景の成分に等しい。同様に、前景の成分F07/vは、図10中の左から6番目の画素の、シャッタが開いて3番目のシャッタ時間/vに対応する前景の成分と、図10中の左から7番目の画素の、シャッタが開いて4番目のシャッタ時間/vに対応する前景の成分とに、それぞれ等しい。
【0072】
前景に対応するオブジェクトが、剛体であり、前景の画像が次のフレームにおいて4画素右側に表示されるように等速で移動すると仮定できるので、例えば、図10中の左から3番目の画素の、シャッタが開いて最初のシャッタ時間/vの前景の成分F06/vは、図10中の左から4番目の画素の、シャッタが開いて2番目のシャッタ時間/vに対応する前景の成分に等しい。同様に、前景の成分F06/vは、図10中の左から5番目の画素の、シャッタが開いて3番目のシャッタ時間/vに対応する前景の成分と、図10中の左から6番目の画素の、シャッタが開いて4番目のシャッタ時間/vに対応する前景の成分とに、それぞれ等しい。
【0073】
前景に対応するオブジェクトが、剛体であり、前景の画像が次のフレームにおいて4画素右側に表示されるように等速で移動すると仮定できるので、例えば、図10中の左から2番目の画素の、シャッタが開いて最初のシャッタ時間/vの前景の成分F05/vは、図10中の左から3番目の画素の、シャッタが開いて2番目のシャッタ時間/vのに対応する前景の成分に等しい。同様に、前景の成分F05/vは、図10中の左から4番目の画素の、シャッタが開いて3番目のシャッタ時間/vに対応する前景の成分と、図10中の左から5番目の画素の、シャッタが開いて4番目のシャッタ時間/vに対応する前景の成分とに、それぞれ等しい。
【0074】
前景に対応するオブジェクトが、剛体であり、前景の画像が次のフレームにおいて4画素右側に表示されるように等速で移動すると仮定できるので、例えば、図10中の最も左側の画素の、シャッタが開いて最初のシャッタ時間/vの前景の成分F04/vは、図10中の左から2番目の画素の、シャッタが開いて2番目のシャッタ時間/vに対応する前景の成分に等しい。同様に、前景の成分F04/vは、図10中の左から3番目の画素の、シャッタが開いて3番目のシャッタ時間/vに対応する前景の成分と、図10中の左から4番目の画素の、シャッタが開いて4番目のシャッタ時間/vに対応する前景の成分とに、それぞれ等しい。
【0075】
動いているオブジェクトに対応する前景の領域は、このように動きボケを含むので、歪み領域とも言える。
【0076】
図11は、前景が図中の右側に向かって移動する場合の、アンカバードバックグラウンド領域を含む、1つのライン上の画素の画素値を時間方向に展開したモデル図である。図11において、前景の動き量vは、4である。1フレームは短い時間なので、前景に対応するオブジェクトが剛体であり、等速で移動していると仮定することができる。図11において、前景に対応するオブジェクトの画像は、あるフレームを基準として次のフレームにおいて4画素分右側に移動する。
【0077】
図11において、最も左側の画素乃至左から4番目の画素は、背景領域に属する。図11において、左から5番目乃至左から7番目の画素は、アンカバードバックグラウンドである混合領域に属する。図11において、最も右側の画素は、前景領域に属する。
【0078】
背景に対応するオブジェクトを覆っていた前景に対応するオブジェクトが時間の経過と共に背景に対応するオブジェクトの前から取り除かれるように移動しているので、アンカバードバックグラウンド領域に属する画素の画素値に含まれる成分は、シャッタ時間に対応する期間のある時点で、前景の成分から、背景の成分に替わる。
【0079】
例えば、図11中に太線枠を付した画素値M'は、式(2)で表される。
【0080】
M'=F02/v+F01/v+B26/v+B26/v (2)
【0081】
例えば、左から5番目の画素は、3つのシャッタ時間/vに対応する背景の成分を含み、1つのシャッタ時間/vに対応する前景の成分を含むので、左から5番目の画素の混合比αは、3/4である。左から6番目の画素は、2つのシャッタ時間/vに対応する背景の成分を含み、2つのシャッタ時間/vに対応する前景の成分を含むので、左から6番目の画素の混合比αは、1/2である。左から7番目の画素は、1つのシャッタ時間/vに対応する背景の成分を含み、3つのシャッタ時間/vに対応する前景の成分を含むので、左から7番目の画素の混合比αは、1/4である。
【0082】
式(1)および式(2)をより一般化すると、画素値Mは、式(3)で表される。
【0083】
【数1】

Figure 0004596218
ここで、αは、混合比である。Bは、背景の画素値であり、Fi/vは、前景の成分である。
【0084】
前景に対応するオブジェクトが剛体であり、等速で動くと仮定でき、かつ、動き量vが4であるので、例えば、図11中の左から5番目の画素の、シャッタが開いて最初の、シャッタ時間/vの前景の成分F01/vは、図11中の左から6番目の画素の、シャッタが開いて2番目のシャッタ時間/vに対応する前景の成分に等しい。同様に、F01/vは、図11中の左から7番目の画素の、シャッタが開いて3番目のシャッタ時間/vに対応する前景の成分と、図11中の左から8番目の画素の、シャッタが開いて4番目のシャッタ時間/vに対応する前景の成分とに、それぞれ等しい。
【0085】
前景に対応するオブジェクトが剛体であり、等速で動くと仮定でき、かつ、仮想分割数が4であるので、例えば、図11中の左から6番目の画素の、シャッタが開いて最初の、シャッタ時間/vの前景の成分F02/vは、図11中の左から7番目の画素の、シャッタが開いて2番目のシャッタ時間/vに対応する前景の成分に等しい。同様に、前景の成分F02/vは、図11中の左から8番目の画素の、シャッタが開いて3番目のシャッタ時間/vに対応する前景の成分に等しい。
【0086】
前景に対応するオブジェクトが剛体であり、等速で動くと仮定でき、かつ、動き量vが4であるので、例えば、図11中の左から7番目の画素の、シャッタが開いて最初の、シャッタ時間/vの前景の成分F03/vは、図11中の左から8番目の画素の、シャッタが開いて2番目のシャッタ時間/vに対応する前景の成分に等しい。
【0087】
図9乃至図11の説明において、仮想分割数は、4であるとして説明したが、仮想分割数は、動き量vに対応する。動き量vは、一般に、前景に対応するオブジェクトの移動速度に対応する。例えば、前景に対応するオブジェクトが、あるフレームを基準として次のフレームにおいて4画素分右側に表示されるように移動しているとき、動き量vは、4とされる。動き量vに対応し、仮想分割数は、4とされる。同様に、例えば、前景に対応するオブジェクトが、あるフレームを基準として次のフレームにおいて6画素分左側に表示されるように移動しているとき、動き量vは、6とされ、仮想分割数は、6とされる。
【0088】
図12および図13に、以上で説明した、前景領域、背景領域、カバードバックグラウンド領域若しくはアンカバードバックグラウンド領域から成る混合領域と、分割されたシャッタ時間に対応する前景の成分および背景の成分との関係を示す。
【0089】
図12は、静止している背景の前を移動しているオブジェクトに対応する前景を含む画像から、前景領域、背景領域、および混合領域の画素を抽出した例を示す。図12に示す例において、前景に対応するオブジェクトは、画面に対して水平に移動している。
【0090】
フレーム#n+1は、フレーム#nの次のフレームであり、フレーム#n+2は、フレーム#n+1の次のフレームである。
【0091】
フレーム#n乃至フレーム#n+2のいずれかから抽出した、前景領域、背景領域、および混合領域の画素を抽出して、動き量vを4として、抽出された画素の画素値を時間方向に展開したモデルを図13に示す。
【0092】
前景領域の画素値は、前景に対応するオブジェクトが移動するので、シャッタ時間/vの期間に対応する、4つの異なる前景の成分から構成される。例えば、図13に示す前景領域の画素のうち最も左側に位置する画素は、F01/v,F02/v,F03/v、およびF04/vから構成される。すなわち、前景領域の画素は、動きボケを含んでいる。
【0093】
背景に対応するオブジェクトが静止しているので、シャッタ時間に対応する期間において、センサに入力される背景に対応する光は変化しない。この場合、背景領域の画素値は、動きボケを含まない。
【0094】
カバードバックグラウンド領域若しくはアンカバードバックグラウンド領域から成る混合領域に属する画素の画素値は、前景の成分と、背景の成分とから構成される。
【0095】
次に、オブジェクトに対応する画像が動いているとき、複数のフレームにおける、隣接して1列に並んでいる画素であって、フレーム上で同一の位置の画素の画素値を時間方向に展開したモデルについて説明する。例えば、オブジェクトに対応する画像が画面に対して水平に動いているとき、隣接して1列に並んでいる画素として、画面の1つのライン上に並んでいる画素を選択することができる。
【0096】
図14は、静止している背景に対応するオブジェクトを撮像した画像の3つのフレームの、隣接して1列に並んでいる画素であって、フレーム上で同一の位置の画素の画素値を時間方向に展開したモデル図である。フレーム#nは、フレーム#n-1の次のフレームであり、フレーム#n+1は、フレーム#nの次のフレームである。他のフレームも同様に称する。
【0097】
図14に示すB01乃至B12の画素値は、静止している背景のオブジェクトに対応する画素の画素値である。背景に対応するオブジェクトが静止しているので、フレーム#n-1乃至フレームn+1において、対応する画素の画素値は、変化しない。例えば、フレーム#n-1におけるB05の画素値を有する画素の位置に対応する、フレーム#nにおける画素、およびフレーム#n+1における画素は、それぞれ、B05の画素値を有する。
【0098】
図15は、静止している背景に対応するオブジェクトと共に図中の右側に移動する前景に対応するオブジェクトを撮像した画像の3つのフレームの、隣接して1列に並んでいる画素であって、フレーム上で同一の位置の画素の画素値を時間方向に展開したモデル図である。図15に示すモデルは、カバードバックグラウンド領域を含む。
【0099】
図15において、前景に対応するオブジェクトが、剛体であり、等速で移動すると仮定でき、前景の画像が次のフレームにおいて4画素右側に表示されるように移動するので、前景の動き量vは、4であり、仮想分割数は、4である。
【0100】
例えば、図15中のフレーム#n-1の最も左側の画素の、シャッタが開いて最初のシャッタ時間/vの前景の成分は、F12/vとなり、図15中の左から2番目の画素の、シャッタが開いて2番目のシャッタ時間/vの前景の成分も、F12/vとなる。図15中の左から3番目の画素の、シャッタが開いて3番目のシャッタ時間/vの前景の成分、および図15中の左から4番目の画素の、シャッタが開いて4番目のシャッタ時間/vの前景の成分は、F12/vとなる。
【0101】
図15中のフレーム#n-1の最も左側の画素の、シャッタが開いて2番目のシャッタ時間/vの前景の成分は、F11/vとなり、図15中の左から2番目の画素の、シャッタが開いて3番目のシャッタ時間/vの前景の成分も、F11/vとなる。図15中の左から3番目の画素の、シャッタが開いて4番目のシャッタ時間/vの前景の成分は、F11/vとなる。
【0102】
図15中のフレーム#n-1の最も左側の画素の、シャッタが開いて3番目のシャッタ時間/vの前景の成分は、F10/vとなり、図15中の左から2番目の画素の、シャッタが開いて4番目のシャッタ時間/vの前景の成分も、F10/vとなる。図15中のフレーム#n-1の最も左側の画素の、シャッタが開いて4番目のシャッタ時間/vの前景の成分は、F09/vとなる。
【0103】
背景に対応するオブジェクトが静止しているので、図15中のフレーム#n-1の左から2番目の画素の、シャッタが開いて最初のシャッタ時間/vの背景の成分は、B01/vとなる。図15中のフレーム#n-1の左から3番目の画素の、シャッタが開いて最初および2番目のシャッタ時間/vの背景の成分は、B02/vとなる。図15中のフレーム#n-1の左から4番目の画素の、シャッタが開いて最初乃至3番目のシャッタ時間/vの背景の成分は、B03/vとなる。
【0104】
図15中のフレーム#n-1において、最も左側の画素は、前景領域に属し、左側から2番目乃至4番目の画素は、カバードバックグラウンド領域である混合領域に属する。
【0105】
図15中のフレーム#n-1の左から5番目の画素乃至12番目の画素は、背景領域に属し、その画素値は、それぞれ、B04乃至B11となる。
【0106】
図15中のフレーム#nの左から1番目の画素乃至5番目の画素は、前景領域に属する。フレーム#nの前景領域における、シャッタ時間/vの前景の成分は、F05/v乃至F12/vのいずれかである。
【0107】
前景に対応するオブジェクトが、剛体であり、等速で移動すると仮定でき、前景の画像が次のフレームにおいて4画素右側に表示されるように移動するので、図15中のフレーム#nの左から5番目の画素の、シャッタが開いて最初のシャッタ時間/vの前景の成分は、F12/vとなり、図15中の左から6番目の画素の、シャッタが開いて2番目のシャッタ時間/vの前景の成分も、F12/vとなる。図15中の左から7番目の画素の、シャッタが開いて3番目のシャッタ時間/vの前景の成分、および図15中の左から8番目の画素の、シャッタが開いて4番目のシャッタ時間/vの前景の成分は、F12/vとなる。
【0108】
図15中のフレーム#nの左から5番目の画素の、シャッタが開いて2番目のシャッタ時間/vの前景の成分は、F11/vとなり、図15中の左から6番目の画素の、シャッタが開いて3番目のシャッタ時間/vの前景の成分も、F11/vとなる。図15中の左から7番目の画素の、シャッタが開いて4番目のシャッタ時間/vの前景の成分は、F11/vとなる。
【0109】
図15中のフレーム#nの左から5番目の画素の、シャッタが開いて3番目のシャッタ時間/vの前景の成分は、F10/vとなり、図15中の左から6番目の画素の、シャッタが開いて4番目のシャッタ時間/vの前景の成分も、F10/vとなる。図15中のフレーム#nの左から5番目の画素の、シャッタが開いて4番目のシャッタ時間/vの前景の成分は、F09/vとなる。
【0110】
背景に対応するオブジェクトが静止しているので、図15中のフレーム#nの左から6番目の画素の、シャッタが開いて最初のシャッタ時間/vの背景の成分は、B05/vとなる。図15中のフレーム#nの左から7番目の画素の、シャッタが開いて最初および2番目のシャッタ時間/vの背景の成分は、B06/vとなる。図15中のフレーム#nの左から8番目の画素の、シャッタが開いて最初乃至3番目の、シャッタ時間/vの背景の成分は、B07/vとなる。
【0111】
図15中のフレーム#nにおいて、左側から6番目乃至8番目の画素は、カバードバックグラウンド領域である混合領域に属する。
【0112】
図15中のフレーム#nの左から9番目の画素乃至12番目の画素は、背景領域に属し、画素値は、それぞれ、B08乃至B11となる。
【0113】
図15中のフレーム#n+1の左から1番目の画素乃至9番目の画素は、前景領域に属する。フレーム#n+1の前景領域における、シャッタ時間/vの前景の成分は、F01/v乃至F12/vのいずれかである。
【0114】
前景に対応するオブジェクトが、剛体であり、等速で移動すると仮定でき、前景の画像が次のフレームにおいて4画素右側に表示されるように移動するので、図15中のフレーム#n+1の左から9番目の画素の、シャッタが開いて最初のシャッタ時間/vの前景の成分は、F12/vとなり、図15中の左から10番目の画素の、シャッタが開いて2番目のシャッタ時間/vの前景の成分も、F12/vとなる。図15中の左から11番目の画素の、シャッタが開いて3番目のシャッタ時間/vの前景の成分、および図15中の左から12番目の画素の、シャッタが開いて4番目のシャッタ時間/vの前景の成分は、F12/vとなる。
【0115】
図15中のフレーム#n+1の左から9番目の画素の、シャッタが開いて2番目のシャッタ時間/vの期間の前景の成分は、F11/vとなり、図15中の左から10番目の画素の、シャッタが開いて3番目のシャッタ時間/vの前景の成分も、F11/vとなる。図15中の左から11番目の画素の、シャッタが開いて4番目の、シャッタ時間/vの前景の成分は、F11/vとなる。
【0116】
図15中のフレーム#n+1の左から9番目の画素の、シャッタが開いて3番目の、シャッタ時間/vの前景の成分は、F10/vとなり、図15中の左から10番目の画素の、シャッタが開いて4番目のシャッタ時間/vの前景の成分も、F10/vとなる。図15中のフレーム#n+1の左から9番目の画素の、シャッタが開いて4番目のシャッタ時間/vの前景の成分は、F09/vとなる。
【0117】
背景に対応するオブジェクトが静止しているので、図15中のフレーム#n+1の左から10番目の画素の、シャッタが開いて最初のシャッタ時間/vの背景の成分は、B09/vとなる。図15中のフレーム#n+1の左から11番目の画素の、シャッタが開いて最初および2番目のシャッタ時間/vの背景の成分は、B10/vとなる。図15中のフレーム#n+1の左から12番目の画素の、シャッタが開いて最初乃至3番目の、シャッタ時間/vの背景の成分は、B11/vとなる。
【0118】
図15中のフレーム#n+1において、左側から10番目乃至12番目の画素は、カバードバックグラウンド領域である混合領域に対応する。
【0119】
図16は、図15に示す画素値から前景の成分を抽出した画像のモデル図である。
【0120】
図17は、静止している背景と共に図中の右側に移動するオブジェクトに対応する前景を撮像した画像の3つのフレームの、隣接して1列に並んでいる画素であって、フレーム上で同一の位置の画素の画素値を時間方向に展開したモデル図である。図17において、アンカバードバックグラウンド領域が含まれている。
【0121】
図17において、前景に対応するオブジェクトは、剛体であり、かつ等速で移動していると仮定できる。前景に対応するオブジェクトが、次のフレームにおいて4画素分右側に表示されるように移動しているので、動き量vは、4である。
【0122】
例えば、図17中のフレーム#n-1の最も左側の画素の、シャッタが開いて最初の、シャッタ時間/vの前景の成分は、F13/vとなり、図17中の左から2番目の画素の、シャッタが開いて2番目のシャッタ時間/vの前景の成分も、F13/vとなる。図17中の左から3番目の画素の、シャッタが開いて3番目のシャッタ時間/vの前景の成分、および図17中の左から4番目の画素の、シャッタが開いて4番目のシャッタ時間/vの前景の成分は、F13/vとなる。
【0123】
図17中のフレーム#n-1の左から2番目の画素の、シャッタが開いて最初のシャッタ時間/vの前景の成分は、F14/vとなり、図17中の左から3番目の画素の、シャッタが開いて2番目のシャッタ時間/vの前景の成分も、F14/vとなる。図17中の左から3番目の画素の、シャッタが開いて最初の、シャッタ時間/vの前景の成分は、F15/vとなる。
【0124】
背景に対応するオブジェクトが静止しているので、図17中のフレーム#n-1の最も左側の画素の、シャッタが開いて2番目乃至4番目の、シャッタ時間/vの背景の成分は、B25/vとなる。図17中のフレーム#n-1の左から2番目の画素の、シャッタが開いて3番目および4番目の、シャッタ時間/vの背景の成分は、B26/vとなる。図17中のフレーム#n-1の左から3番目の画素の、シャッタが開いて4番目のシャッタ時間/vの背景の成分は、B27/vとなる。
【0125】
図17中のフレーム#n-1において、最も左側の画素乃至3番目の画素は、アンカバードバックグラウンド領域である混合領域に属する。
【0126】
図17中のフレーム#n-1の左から4番目の画素乃至12番目の画素は、前景領域に属する。フレームの前景の成分は、F13/v乃至F24/vのいずれかである。
【0127】
図17中のフレーム#nの最も左側の画素乃至左から4番目の画素は、背景領域に属し、画素値は、それぞれ、B25乃至B28となる。
【0128】
前景に対応するオブジェクトが、剛体であり、等速で移動すると仮定でき、前景の画像が次のフレームにおいて4画素右側に表示されるように移動するので、図17中のフレーム#nの左から5番目の画素の、シャッタが開いて最初のシャッタ時間/vの前景の成分は、F13/vとなり、図17中の左から6番目の画素の、シャッタが開いて2番目のシャッタ時間/vの前景の成分も、F13/vとなる。図17中の左から7番目の画素の、シャッタが開いて3番目のシャッタ時間/vの前景の成分、および図17中の左から8番目の画素の、シャッタが開いて4番目のシャッタ時間/vの前景の成分は、F13/vとなる。
【0129】
図17中のフレーム#nの左から6番目の画素の、シャッタが開いて最初のシャッタ時間/vの前景の成分は、F14/vとなり、図17中の左から7番目の画素の、シャッタが開いて2番目のシャッタ時間/vの前景の成分も、F14/vとなる。図17中の左から8番目の画素の、シャッタが開いて最初のシャッタ時間/vの前景の成分は、F15/vとなる。
【0130】
背景に対応するオブジェクトが静止しているので、図17中のフレーム#nの左から5番目の画素の、シャッタが開いて2番目乃至4番目のシャッタ時間/vの背景の成分は、B29/vとなる。図17中のフレーム#nの左から6番目の画素の、シャッタが開いて3番目および4番目のシャッタ時間/vの背景の成分は、B30/vとなる。図17中のフレーム#nの左から7番目の画素の、シャッタが開いて4番目のシャッタ時間/vの背景の成分は、B31/vとなる。
【0131】
図17中のフレーム#nにおいて、左から5番目の画素乃至7番目の画素は、アンカバードバックグラウンド領域である混合領域に属する。
【0132】
図17中のフレーム#nの左から8番目の画素乃至12番目の画素は、前景領域に属する。フレーム#nの前景領域における、シャッタ時間/vの期間に対応する値は、F13/v乃至F20/vのいずれかである。
【0133】
図17中のフレーム#n+1の最も左側の画素乃至左から8番目の画素は、背景領域に属し、画素値は、それぞれ、B25乃至B32となる。
【0134】
前景に対応するオブジェクトが、剛体であり、等速で移動すると仮定でき、前景の画像が次のフレームにおいて4画素右側に表示されるように移動するので、図17中のフレーム#n+1の左から9番目の画素の、シャッタが開いて最初のシャッタ時間/vの前景の成分は、F13/vとなり、図17中の左から10番目の画素の、シャッタが開いて2番目のシャッタ時間/vの前景の成分も、F13/vとなる。図17中の左から11番目の画素の、シャッタが開いて3番目のシャッタ時間/vの前景の成分、および図17中の左から12番目の画素の、シャッタが開いて4番目のシャッタ時間/vの前景の成分は、F13/vとなる。
【0135】
図17中のフレーム#n+1の左から10番目の画素の、シャッタが開いて最初のシャッタ時間/vの前景の成分は、F14/vとなり、図17中の左から11番目の画素の、シャッタが開いて2番目のシャッタ時間/vの前景の成分も、F14/vとなる。図17中の左から12番目の画素の、シャッタが開いて最初のシャッタ時間/vの前景の成分は、F15/vとなる。
【0136】
背景に対応するオブジェクトが静止しているので、図17中のフレーム#n+1の左から9番目の画素の、シャッタが開いて2番目乃至4番目の、シャッタ時間/vの背景の成分は、B33/vとなる。図17中のフレーム#n+1の左から10番目の画素の、シャッタが開いて3番目および4番目のシャッタ時間/vの背景の成分は、B34/vとなる。図17中のフレーム#n+1の左から11番目の画素の、シャッタが開いて4番目のシャッタ時間/vの背景の成分は、B35/vとなる。
【0137】
図17中のフレーム#n+1において、左から9番目の画素乃至11番目の画素は、アンカバードバックグラウンド領域である混合領域に属する。
【0138】
図17中のフレーム#n+1の左から12番目の画素は、前景領域に属する。フレーム#n+1の前景領域における、シャッタ時間/vの前景の成分は、F13/v乃至F16/vのいずれかである。
【0139】
図18は、図17に示す画素値から前景の成分を抽出した画像のモデル図である。
【0140】
図2に戻り、領域特定部101は、複数のフレームの画素値を用いて、前景領域、背景領域、カバードバックグラウンド領域、またはアンカバードバックグラウンド領域に属することを示すフラグを画素毎に対応付けて、領域情報として、同時検出部102および動きボケ調整部104に供給する。
【0141】
同時検出部102は、複数のフレームの画素値、および領域情報を基に、混合領域に含まれる画素について画素毎に混合比αを算出し、算出した混合比αを前景背景分離部103に供給する。
【0142】
前景背景分離部103は、複数のフレームの画素値、領域情報、および混合比αを基に、前景の成分のみからなる前景成分画像を抽出して、動きボケ調整部104に供給する。
【0143】
動きボケ調整部104は、前景背景分離部103から供給された前景成分画像、同時検出部102から供給された動きベクトル、および領域特定部101から供給された領域情報を基に、前景成分画像に含まれる動きボケの量を調整して、動きボケの量を調整した前景成分画像を出力する。
【0144】
図19のフローチャートを参照して、信号処理装置による動きボケの量の調整の処理を説明する。ステップS11において、領域特定部101は、入力画像を基に、入力画像の画素毎に前景領域、背景領域、カバードバックグラウンド領域、またはアンカバードバックグラウンド領域のいずれかに属するかを示す領域情報を生成する領域特定の処理を実行する。領域特定の処理の詳細は、後述する。領域特定部101は、生成した領域情報を同時検出部102および動きボケ調整部104に供給する。
【0145】
なお、ステップS11において、領域特定部101は、入力画像を基に、入力画像の画素毎に前景領域、背景領域、または混合領域(カバードバックグラウンド領域、またはアンカバードバックグラウンド領域の区別をしない)のいずれかに属するかを示す領域情報を生成するようにしてもよい。この場合において、前景背景分離部103および動きボケ調整部104は、動きベクトルの方向を基に、混合領域がカバードバックグラウンド領域であるか、またはアンカバードバックグラウンド領域であるかを判定する。例えば、動きベクトルの方向に対応して、前景領域、混合領域、および背景領域と順に並んでいるとき、その混合領域は、カバードバックグラウンド領域と判定され、動きベクトルの方向に対応して、背景領域、混合領域、および前景領域と順に並んでいるとき、その混合領域は、アンカバードバックグラウンド領域と判定される。
【0146】
ステップS12において、同時検出部102は、入力画像および領域情報を基に、混合領域に含まれる画素毎に、混合比αを検出すると共に、背景のオブジェクトと前景のオブジェクトとの相対的な動きに対応する動きベクトルを検出する。混合比および動きベクトルの検出の処理の詳細は、後述する。同時検出部102は、検出した混合比αを前景背景分離部103に供給し、検出した動きベクトルを動きボケ調整部104に供給する。
【0147】
ステップS13において、前景背景分離部103は、領域情報、および混合比αを基に、入力画像から前景の成分を抽出して、前景成分画像として動きボケ調整部104に供給する。
【0148】
ステップS14において、動きボケ調整部104は、動きベクトルおよび領域情報を基に、動き方向に並ぶ連続した画素であって、アンカバードバックグラウンド領域、前景領域、およびカバードバックグラウンド領域のいずれかに属するものの画像上の位置を示す処理単位を生成し、処理単位に対応する前景成分に含まれる動きボケの量を調整する。動きボケの量の調整の処理の詳細については、後述する。
【0149】
ステップS15において、信号処理装置は、画面全体について処理を終了したか否かを判定し、画面全体について処理を終了していないと判定された場合、ステップS14に進み、処理単位に対応する前景の成分を対象とした動きボケの量の調整の処理を繰り返す。
【0150】
ステップS15において、画面全体について処理を終了したと判定された場合、処理は終了する。
【0151】
このように、信号処理装置は、前景と背景を分離して、前景に含まれる動きボケの量を調整することができる。すなわち、信号処理装置は、前景の画素の画素値であるサンプルデータに含まれる動きボケの量を調整することができる。
【0152】
以下、領域特定部101、同時検出部102、前景背景分離部103、および動きボケ調整部104のそれぞれの構成について説明する。
【0153】
図20は、領域特定部101の構成の一例を示すブロック図である。図20に構成を示す領域特定部101は、動きベクトルを利用しない。フレームメモリ201は、入力された画像をフレーム単位で記憶する。フレームメモリ201は、処理の対象がフレーム#nであるとき、フレーム#nの2つ前のフレームであるフレーム#n-2、フレーム#nの1つ前のフレームであるフレーム#n-1、フレーム#n、フレーム#nの1つ後のフレームであるフレーム#n+1、およびフレーム#nの2つ後のフレームであるフレーム#n+2を記憶する。
【0154】
静動判定部202−1は、フレーム#nの領域特定の対象である画素の画像上の位置と同一の位置にあるフレーム#n+2の画素の画素値、およびフレーム#nの領域特定の対象である画素の画像上の位置と同一の位置にあるフレーム#n+1の画素の画素値をフレームメモリ201から読み出して、読み出した画素値の差の絶対値を算出する。静動判定部202−1は、フレーム#n+2の画素値とフレーム#n+1の画素値との差の絶対値が、予め設定している閾値Thより大きいか否かを判定し、差の絶対値が閾値Thより大きいと判定された場合、動きを示す静動判定を領域判定部203−1に供給する。フレーム#n+2の画素の画素値とフレーム#n+1の画素の画素値との差の絶対値が閾値Th以下であると判定された場合、静動判定部202−1は、静止を示す静動判定を領域判定部203−1に供給する。
【0155】
静動判定部202−2は、フレーム#nの領域特定の対象である画素の画像上の位置と同一の位置にあるフレーム#n+1の画素の画素値、およびフレーム#nの対象となる画素の画素値をフレームメモリ201から読み出して、画素値の差の絶対値を算出する。静動判定部202−2は、フレーム#n+1の画素値とフレーム#nの画素値との差の絶対値が、予め設定している閾値Thより大きいか否かを判定し、画素値の差の絶対値が、閾値Thより大きいと判定された場合、動きを示す静動判定を領域判定部203−1および領域判定部203−2に供給する。フレーム#n+1の画素の画素値とフレーム#nの画素の画素値との差の絶対値が、閾値Th以下であると判定された場合、静動判定部202−2は、静止を示す静動判定を領域判定部203−1および領域判定部203−2に供給する。
【0156】
静動判定部202−3は、フレーム#nの領域特定の対象である画素の画素値、およびフレーム#nの領域特定の対象である画素の画像上の位置と同一の位置にあるフレーム#n-1の画素の画素値をフレームメモリ201から読み出して、画素値の差の絶対値を算出する。静動判定部202−3は、フレーム#nの画素値とフレーム#n-1の画素値との差の絶対値が、予め設定している閾値Thより大きいか否かを判定し、画素値の差の絶対値が、閾値Thより大きいと判定された場合、動きを示す静動判定を領域判定部203−2および領域判定部203−3に供給する。フレーム#nの画素の画素値とフレーム#n-1の画素の画素値との差の絶対値が、閾値Th以下であると判定された場合、静動判定部202−3は、静止を示す静動判定を領域判定部203−2および領域判定部203−3に供給する。
【0157】
静動判定部202−4は、フレーム#nの領域特定の対象である画素の画像上の位置と同一の位置にあるフレーム#n-1の画素の画素値、およびフレーム#nの領域特定の対象である画素の画像上の位置と同一の位置にあるフレーム#n-2の画素の画素値をフレームメモリ201から読み出して、画素値の差の絶対値を算出する。静動判定部202−4は、フレーム#n-1の画素値とフレーム#n-2の画素値との差の絶対値が、予め設定している閾値Thより大きいか否かを判定し、画素値の差の絶対値が、閾値Thより大きいと判定された場合、動きを示す静動判定を領域判定部203−3に供給する。フレーム#n-1の画素の画素値とフレーム#n-2の画素の画素値との差の絶対値が、閾値Th以下であると判定された場合、静動判定部202−4は、静止を示す静動判定を領域判定部203−3に供給する。
【0158】
領域判定部203−1は、静動判定部202−1から供給された静動判定が静止を示し、かつ、静動判定部202−2から供給された静動判定が動きを示しているとき、フレーム#nにおける領域特定の対象である画素がアンカバードバックグラウンド領域に属すると判定し、領域の判定される画素に対応するアンカバードバックグラウンド領域判定フラグに、アンカバードバックグラウンド領域に属することを示す”1”を設定する。
【0159】
領域判定部203−1は、静動判定部202−1から供給された静動判定が動きを示すか、または、静動判定部202−2から供給された静動判定が静止を示しているとき、フレーム#nにおける領域特定の対象である画素がアンカバードバックグラウンド領域に属しないと判定し、領域の判定される画素に対応するアンカバードバックグラウンド領域判定フラグに、アンカバードバックグラウンド領域に属しないことを示す”0”を設定する。
【0160】
領域判定部203−1は、このように”1”または”0”が設定されたアンカバードバックグラウンド領域判定フラグを判定フラグ格納フレームメモリ204に供給する。
【0161】
領域判定部203−2は、静動判定部202−2から供給された静動判定が静止を示し、かつ、静動判定部202−3から供給された静動判定が静止を示しているとき、フレーム#nにおける領域特定の対象である画素が静止領域に属すると判定し、領域の判定される画素に対応する静止領域判定フラグに、静止領域に属することを示す”1”を設定する。
【0162】
領域判定部203−2は、静動判定部202−2から供給された静動判定が動きを示すか、または、静動判定部202−3から供給された静動判定が動きを示しているとき、フレーム#nにおける領域特定の対象である画素が静止領域に属しないと判定し、領域の判定される画素に対応する静止領域判定フラグに、静止領域に属しないことを示す”0”を設定する。
【0163】
領域判定部203−2は、このように”1”または”0”が設定された静止領域判定フラグを判定フラグ格納フレームメモリ204に供給する。
【0164】
領域判定部203−2は、静動判定部202−2から供給された静動判定が動きを示し、かつ、静動判定部202−3から供給された静動判定が動きを示しているとき、フレーム#nにおける領域特定の対象である画素が動き領域に属すると判定し、領域の判定される画素に対応する動き領域判定フラグに、動き領域に属することを示す”1”を設定する。
【0165】
領域判定部203−2は、静動判定部202−2から供給された静動判定が静止を示すか、または、静動判定部202−3から供給された静動判定が静止を示しているとき、フレーム#nにおける領域特定の対象である画素が動き領域に属しないと判定し、領域の判定される画素に対応する動き領域判定フラグに、動き領域に属しないことを示す”0”を設定する。
【0166】
領域判定部203−2は、このように”1”または”0”が設定された動き領域判定フラグを判定フラグ格納フレームメモリ204に供給する。
【0167】
領域判定部203−3は、静動判定部202−3から供給された静動判定が動きを示し、かつ、静動判定部202−4から供給された静動判定が静止を示しているとき、フレーム#nにおける領域特定の対象である画素がカバードバックグラウンド領域に属すると判定し、領域の判定される画素に対応するカバードバックグラウンド領域判定フラグに、カバードバックグラウンド領域に属することを示す”1”を設定する。
【0168】
領域判定部203−3は、静動判定部202−3から供給された静動判定が静止を示すか、または、静動判定部202−4から供給された静動判定が動きを示しているとき、フレーム#nにおける領域特定の対象である画素がカバードバックグラウンド領域に属しないと判定し、領域の判定される画素に対応するカバードバックグラウンド領域判定フラグに、カバードバックグラウンド領域に属しないことを示す”0”を設定する。
【0169】
領域判定部203−3は、このように”1”または”0”が設定されたカバードバックグラウンド領域判定フラグを判定フラグ格納フレームメモリ204に供給する。
【0170】
判定フラグ格納フレームメモリ204は、領域判定部203−1から供給されたアンカバードバックグラウンド領域判定フラグ、領域判定部203−2から供給された静止領域判定フラグ、領域判定部203−2から供給された動き領域判定フラグ、および領域判定部203−3から供給されたカバードバックグラウンド領域判定フラグをそれぞれ記憶する。
【0171】
判定フラグ格納フレームメモリ204は、記憶しているアンカバードバックグラウンド領域判定フラグ、静止領域判定フラグ、動き領域判定フラグ、およびカバードバックグラウンド領域判定フラグを合成部205に供給する。合成部205は、判定フラグ格納フレームメモリ204から供給された、アンカバードバックグラウンド領域判定フラグ、静止領域判定フラグ、動き領域判定フラグ、およびカバードバックグラウンド領域判定フラグを基に、各画素が、アンカバードバックグラウンド領域、静止領域、動き領域、およびカバードバックグラウンド領域のいずれかに属することを示す領域情報を生成し、判定フラグ格納フレームメモリ206に供給する。
【0172】
判定フラグ格納フレームメモリ206は、合成部205から供給された領域情報を記憶すると共に、記憶している領域情報を出力する。
【0173】
次に、領域特定部101の処理の例を図21乃至図25を参照して説明する。
【0174】
前景に対応するオブジェクトが移動しているとき、オブジェクトに対応する画像の画面上の位置は、フレーム毎に変化する。図21に示すように、フレーム#nにおいて、Yn(x,y)で示される位置に位置するオブジェクトに対応する画像は、次のフレームであるフレーム#n+1において、Yn+1(x,y)に位置する。
【0175】
前景のオブジェクトに対応する画像の動き方向に隣接して1列に並ぶ画素の画素値を時間方向に展開したモデル図を図22に示す。例えば、前景のオブジェクトに対応する画像の動き方向が画面に対して水平であるとき、図22におけるモデル図は、1つのライン上の隣接する画素の画素値を時間方向に展開したモデルを示す。
【0176】
図22において、フレーム#nにおけるラインは、フレーム#n+1におけるラインと同一である。
【0177】
フレーム#nにおいて、左から2番目の画素乃至13番目の画素に含まれているオブジェクトに対応する前景の成分は、フレーム#n+1において、左から6番目乃至17番目の画素に含まれる。
【0178】
フレーム#nにおいて、カバードバックグラウンド領域に属する画素は、左から11番目乃至13番目の画素であり、アンカバードバックグラウンド領域に属する画素は、左から2番目乃至4番目の画素である。フレーム#n+1において、カバードバックグラウンド領域に属する画素は、左から15番目乃至17番目の画素であり、アンカバードバックグラウンド領域に属する画素は、左から6番目乃至8番目の画素である。
【0179】
図22に示す例において、フレーム#nに含まれる前景の成分が、フレーム#n+1において4画素移動しているので、動き量vは、4である。仮想分割数は、動き量vに対応し、4である。
【0180】
次に、注目しているフレームの前後における混合領域に属する画素の画素値の変化について説明する。
【0181】
図23に示す、背景が静止し、前景の動き量vが4であるフレーム#nにおいて、カバードバックグラウンド領域に属する画素は、左から15番目乃至17番目の画素である。動き量vが4であるので、1つ前のフレーム#n-1において、左から15番目乃至17番目の画素は、背景の成分のみを含み、背景領域に属する。また、更に1つ前のフレーム#n-2において、左から15番目乃至17番目の画素は、背景の成分のみを含み、背景領域に属する。
【0182】
ここで、背景に対応するオブジェクトが静止しているので、フレーム#n-1の左から15番目の画素の画素値は、フレーム#n-2の左から15番目の画素の画素値から変化しない。同様に、フレーム#n-1の左から16番目の画素の画素値は、フレーム#n-2の左から16番目の画素の画素値から変化せず、フレーム#n-1の左から17番目の画素の画素値は、フレーム#n-2の左から17番目の画素の画素値から変化しない。
【0183】
すなわち、フレーム#nにおけるカバードバックグラウンド領域に属する画素に対応する、フレーム#n-1およびフレーム#n-2の画素は、背景の成分のみから成り、画素値が変化しないので、その差の絶対値は、ほぼ0の値となる。従って、フレーム#nにおける混合領域に属する画素に対応する、フレーム#n-1およびフレーム#n-2の画素に対する静動判定は、静動判定部202−4により、静止と判定される。
【0184】
フレーム#nにおけるカバードバックグラウンド領域に属する画素は、前景の成分を含むので、フレーム#n-1における背景の成分のみから成る場合と、画素値が異なる。従って、フレーム#nにおける混合領域に属する画素、および対応するフレーム#n-1の画素に対する静動判定は、静動判定部202−3により、動きと判定される。
【0185】
このように、領域判定部203−3は、静動判定部202−3から動きを示す静動判定の結果が供給され、静動判定部202−4から静止を示す静動判定の結果が供給されたとき、対応する画素がカバードバックグラウンド領域に属すると判定する。
【0186】
図24に示す、背景が静止し、前景の動き量vが4であるフレーム#nにおいて、アンカバードバックグラウンド領域に含まれる画素は、左から2番目乃至4番目の画素である。動き量vが4であるので、1つ後のフレーム#n+1において、左から2番目乃至4番目の画素は、背景の成分のみを含み、背景領域に属する。また、更に1つ後のフレーム#n+2において、左から2番目乃至4番目の画素は、背景の成分のみを含み、背景領域に属する。
【0187】
ここで、背景に対応するオブジェクトが静止しているので、フレーム#n+2の左から2番目の画素の画素値は、フレーム#n+1の左から2番目の画素の画素値から変化しない。同様に、フレーム#n+2の左から3番目の画素の画素値は、フレーム#n+1の左から3番目の画素の画素値から変化せず、フレーム#n+2の左から4番目の画素の画素値は、フレーム#n+1の左から4番目の画素の画素値から変化しない。
【0188】
すなわち、フレーム#nにおけるアンカバードバックグラウンド領域に属する画素に対応する、フレーム#n+1およびフレーム#n+2の画素は、背景の成分のみから成り、画素値が変化しないので、その差の絶対値は、ほぼ0の値となる。従って、フレーム#nにおける混合領域に属する画素に対応する、フレーム#n+1およびフレーム#n+2の画素に対する静動判定は、静動判定部202−1により、静止と判定される。
【0189】
フレーム#nにおけるアンカバードバックグラウンド領域に属する画素は、前景の成分を含むので、フレーム#n+1における背景の成分のみから成る場合と、画素値が異なる。従って、フレーム#nにおける混合領域に属する画素、および対応するフレーム#n+1の画素に対する静動判定は、静動判定部202−2により、動きと判定される。
【0190】
このように、領域判定部203−1は、静動判定部202−2から動きを示す静動判定の結果が供給され、静動判定部202−1から静止を示す静動判定の結果が供給されたとき、対応する画素がアンカバードバックグラウンド領域に属すると判定する。
【0191】
図25は、フレーム#nにおける領域特定部101の判定条件を示す図である。フレーム#nの判定の対象となる画素の画像上の位置と同一の位置にあるフレーム#n-2の画素と、フレーム#nの判定の対象となる画素の画像上の位置と同一の位置にあるフレーム#n-1の画素とが静止と判定され、フレーム#nの判定の対象となる画素の画像上の位置と同一の位置にあるフレーム#n-1の画素と、フレーム#nの画素とが動きと判定されたとき、領域特定部101は、フレーム#nの判定の対象となる画素がカバードバックグラウンド領域に属すると判定する。
【0192】
フレーム#nの判定の対象となる画素の画像上の位置と同一の位置にあるフレーム#n-1の画素と、フレーム#nの画素とが静止と判定され、フレーム#nの画素と、フレーム#nの判定の対象となる画素の画像上の位置と同一の位置にあるフレーム#n+1の画素とが静止と判定されたとき、領域特定部101は、フレーム#nの判定の対象となる画素が静止領域に属すると判定する。
【0193】
フレーム#nの判定の対象となる画素の画像上の位置と同一の位置にあるフレーム#n-1の画素と、フレーム#nの画素とが動きと判定され、フレーム#nの画素と、フレーム#nの判定の対象となる画素の画像上の位置と同一の位置にあるフレーム#n+1の画素とが動きと判定されたとき、領域特定部101は、フレーム#nの判定の対象となる画素が動き領域に属すると判定する。
【0194】
フレーム#nの画素と、フレーム#nの判定の対象となる画素の画像上の位置と同一の位置にあるフレーム#n+1の画素とが動きと判定され、フレーム#nの判定の対象となる画素の画像上の位置と同一の位置にあるフレーム#n+1の画素と、フレーム#nの判定の対象となる画素の画像上の位置と同一の位置にあるフレーム#n+2の画素とが静止と判定されたとき、領域特定部101は、フレーム#nの判定の対象となる画素がアンカバードバックグラウンド領域に属すると判定する。
【0195】
図26は、領域特定部101の領域の特定の結果の例を示す図である。図26(A)において、カバードバックグラウンド領域に属すると判定された画素は、白で表示されている。図26(B)において、アンカバードバックグラウンド領域に属すると判定された画素は、白で表示されている。
【0196】
図26(C)において、動き領域に属すると判定された画素は、白で表示されている。図26(D)において、静止領域に属すると判定された画素は、白で表示されている。
【0197】
図27は、判定フラグ格納フレームメモリ206が出力する領域情報の内、混合領域を示す領域情報を画像として示す図である。図27において、カバードバックグラウンド領域またはアンカバードバックグラウンド領域に属すると判定された画素、すなわち混合領域に属すると判定された画素は、白で表示されている。判定フラグ格納フレームメモリ206が出力する混合領域を示す領域情報は、混合領域、および前景領域内のテクスチャの無い部分に囲まれたテクスチャの有る部分を示す。
【0198】
次に、図28のフローチャートを参照して、領域特定部101の領域特定の処理を説明する。ステップS201において、フレームメモリ201は、判定の対象となるフレーム#nを含むフレーム#n-2乃至フレーム#n+2の画像を取得する。
【0199】
ステップS202において、静動判定部202−3は、フレーム#n-1の画素とフレーム#nの同一位置の画素とで、静止か否かを判定し、静止と判定された場合、ステップS203に進み、静動判定部202−2は、フレーム#nの画素とフレーム#n+1の同一位置の画素とで、静止か否かを判定する。
【0200】
ステップS203において、フレーム#nの画素とフレーム#n+1の同一位置の画素とで、静止と判定された場合、ステップS204に進み、領域判定部203−2は、領域の判定される画素に対応する静止領域判定フラグに、静止領域に属することを示す”1”を設定する。領域判定部203−2は、静止領域判定フラグを判定フラグ格納フレームメモリ204に供給し、手続きは、ステップS205に進む。
【0201】
ステップS202において、フレーム#n-1の画素とフレーム#nの同一位置の画素とで、動きと判定された場合、または、ステップS203において、フレーム#nの画素とフレーム#n+1の同一位置の画素とで、動きと判定された場合、フレーム#nの画素が静止領域には属さないので、ステップS204の処理はスキップされ、手続きは、ステップS205に進む。
【0202】
ステップS205において、静動判定部202−3は、フレーム#n-1の画素とフレーム#nの同一位置の画素とで、動きか否かを判定し、動きと判定された場合、ステップS206に進み、静動判定部202−2は、フレーム#nの画素とフレーム#n+1の同一位置の画素とで、動きか否かを判定する。
【0203】
ステップS206において、フレーム#nの画素とフレーム#n+1の同一位置の画素とで、動きと判定された場合、ステップS207に進み、領域判定部203−2は、領域の判定される画素に対応する動き領域判定フラグに、動き領域に属することを示す”1”を設定する。領域判定部203−2は、動き領域判定フラグを判定フラグ格納フレームメモリ204に供給し、手続きは、ステップS208に進む。
【0204】
ステップS205において、フレーム#n-1の画素とフレーム#nの同一位置の画素とで、静止と判定された場合、または、ステップS206において、フレーム#nの画素とフレーム#n+1の同一位置の画素とで、静止と判定された場合、フレーム#nの画素が動き領域には属さないので、ステップS207の処理はスキップされ、手続きは、ステップS208に進む。
【0205】
ステップS208において、静動判定部202−4は、フレーム#n-2の画素とフレーム#n-1の同一位置の画素とで、静止か否かを判定し、静止と判定された場合、ステップS209に進み、静動判定部202−3は、フレーム#n-1の画素とフレーム#nの同一位置の画素とで、動きか否かを判定する。
【0206】
ステップS209において、フレーム#n-1の画素とフレーム#nの同一位置の画素とで、動きと判定された場合、ステップS210に進み、領域判定部203−3は、領域の判定される画素に対応するカバードバックグラウンド領域判定フラグに、カバードバックグラウンド領域に属することを示す”1”を設定する。領域判定部203−3は、カバードバックグラウンド領域判定フラグを判定フラグ格納フレームメモリ204に供給し、手続きは、ステップS211に進む。
【0207】
ステップS208において、フレーム#n-2の画素とフレーム#n-1の同一位置の画素とで、動きと判定された場合、または、ステップS209において、フレーム#n-1の画素とフレーム#nの同一位置の画素とで、静止と判定された場合、フレーム#nの画素がカバードバックグラウンド領域には属さないので、ステップS210の処理はスキップされ、手続きは、ステップS211に進む。
【0208】
ステップS211において、静動判定部202−2は、フレーム#nの画素とフレーム#n+1の同一位置の画素とで、動きか否かを判定し、動きと判定された場合、ステップS212に進み、静動判定部202−1は、フレーム#n+1の画素とフレーム#n+2の同一位置の画素とで、静止か否かを判定する。
【0209】
ステップS212において、フレーム#n+1の画素とフレーム#n+2の同一位置の画素とで、静止と判定された場合、ステップS213に進み、領域判定部203−1は、領域の判定される画素に対応するアンカバードバックグラウンド領域判定フラグに、アンカバードバックグラウンド領域に属することを示す”1”を設定する。領域判定部203−1は、アンカバードバックグラウンド領域判定フラグを判定フラグ格納フレームメモリ204に供給し、手続きは、ステップS214に進む。
【0210】
ステップS211において、フレーム#nの画素とフレーム#n+1の同一位置の画素とで、静止と判定された場合、または、ステップS212において、フレーム#n+1の画素とフレーム#n+2の同一位置の画素とで、動きと判定された場合、フレーム#nの画素がアンカバードバックグラウンド領域には属さないので、ステップS213の処理はスキップされ、手続きは、ステップS214に進む。
【0211】
ステップS214において、領域特定部101は、フレーム#nの全ての画素について領域を特定したか否かを判定し、フレーム#nの全ての画素について領域を特定していないと判定された場合、手続きは、ステップS202に戻り、他の画素について、領域特定の処理を繰り返す。
【0212】
ステップS214において、フレーム#nの全ての画素について領域を特定したと判定された場合、ステップS215に進み、合成部205は、判定フラグ格納フレームメモリ204に記憶されているアンカバードバックグラウンド領域判定フラグ、およびカバードバックグラウンド領域判定フラグを基に、混合領域を示す領域情報を生成し、更に、各画素が、アンカバードバックグラウンド領域、静止領域、動き領域、およびカバードバックグラウンド領域のいずれかに属することを示す領域情報を生成し、生成した領域情報を判定フラグ格納フレームメモリ206に設定し、処理は終了する。
【0213】
このように、領域特定部101は、フレームに含まれている画素のそれぞれについて、動き領域、静止領域、アンカバードバックグラウンド領域、またはカバードバックグラウンド領域に属することを示す領域情報を生成することができる。
【0214】
なお、領域特定部101は、アンカバードバックグラウンド領域およびカバードバックグラウンド領域に対応する領域情報に論理和を適用することにより、混合領域に対応する領域情報を生成して、フレームに含まれている画素のそれぞれについて、動き領域、静止領域、または混合領域に属することを示すフラグから成る領域情報を生成するようにしてもよい。
【0215】
前景に対応するオブジェクトがテクスチャを有す場合、領域特定部101は、より正確に動き領域を特定することができる。
【0216】
領域特定部101は、動き領域を示す領域情報を前景領域を示す領域情報として、また、静止領域を示す領域情報を背景領域を示す領域情報として出力することができる。
【0217】
なお、背景に対応するオブジェクトが静止しているとして説明したが、背景領域に対応する画像が動きを含んでいても上述した領域を特定する処理を適用することができる。例えば、背景領域に対応する画像が一様に動いているとき、領域特定部101は、この動きに対応して画像全体をシフトさせ、背景に対応するオブジェクトが静止している場合と同様に処理する。また、背景領域に対応する画像が局所毎に異なる動きを含んでいるとき、領域特定部101は、動きに対応した画素を選択して、上述の処理を実行する。
【0218】
図29は、領域特定部101の構成の他の一例を示すブロック図である。図29に示す領域特定部101は、動きベクトルを使用しない。背景画像生成部301は、入力画像に対応する背景画像を生成し、生成した背景画像を2値オブジェクト画像抽出部302に供給する。背景画像生成部301は、例えば、入力画像に含まれる背景のオブジェクトに対応する画像オブジェクトを抽出して、背景画像を生成する。
【0219】
前景のオブジェクトに対応する画像の動き方向に隣接して1列に並ぶ画素の画素値を時間方向に展開したモデル図の例を図30に示す。例えば、前景のオブジェクトに対応する画像の動き方向が画面に対して水平であるとき、図30におけるモデル図は、1つのライン上の隣接する画素の画素値を時間方向に展開したモデルを示す。
【0220】
図30において、フレーム#nにおけるラインは、フレーム#n-1およびフレーム#n+1におけるラインと同一である。
【0221】
フレーム#nにおいて、左から6番目の画素乃至17番目の画素に含まれているオブジェクトに対応する前景の成分は、フレーム#n-1において、左から2番目乃至13番目の画素に含まれ、フレーム#n+1において、左から10番目乃至21番目の画素に含まれる。
【0222】
フレーム#n-1において、カバードバックグラウンド領域に属する画素は、左から11番目乃至13番目の画素であり、アンカバードバックグラウンド領域に属する画素は、左から2番目乃至4番目の画素である。フレーム#nにおいて、カバードバックグラウンド領域に属する画素は、左から15番目乃至17番目の画素であり、アンカバードバックグラウンド領域に属する画素は、左から6番目乃至8番目の画素である。フレーム#n+1において、カバードバックグラウンド領域に属する画素は、左から19番目乃至21番目の画素であり、アンカバードバックグラウンド領域に属する画素は、左から10番目乃至12番目の画素である。
【0223】
フレーム#n-1において、背景領域に属する画素は、左から1番目の画素、および左から14番目乃至21番目の画素である。フレーム#nにおいて、背景領域に属する画素は、左から1番目乃至5番目の画素、および左から18番目乃至21番目の画素である。フレーム#n+1において、背景領域に属する画素は、左から1番目乃至9番目の画素である。
【0224】
背景画像生成部301が生成する、図30の例に対応する背景画像の例を図31に示す。背景画像は、背景のオブジェクトに対応する画素から構成され、前景のオブジェクトに対応する画像の成分を含まない。
【0225】
2値オブジェクト画像抽出部302は、背景画像および入力画像の相関を基に、2値オブジェクト画像を生成し、生成した2値オブジェクト画像を時間変化検出部303に供給する。
【0226】
図32は、2値オブジェクト画像抽出部302の構成を示すブロック図である。相関値演算部321は、背景画像生成部301から供給された背景画像および入力画像の相関を演算し、相関値を生成して、生成した相関値をしきい値処理部322に供給する。
【0227】
相関値演算部321は、例えば、図33(A)に示すように、X4を中心とした3×3の背景画像の中のブロックと、図33(B)に示すように、背景画像の中のブロックに対応するY4を中心とした3×3の入力画像の中のブロックに、式(4)を適用して、Y4に対応する相関値を算出する。
【0228】
【数2】
Figure 0004596218
【数3】
Figure 0004596218
【数4】
Figure 0004596218
【0229】
相関値演算部321は、このように各画素に対応して算出された相関値をしきい値処理部322に供給する。
【0230】
また、相関値演算部321は、例えば、図34(A)に示すように、X4を中心とした3×3の背景画像の中のブロックと、図34(B)に示すように、背景画像の中のブロックに対応するY4を中心とした3×3の入力画像の中のブロックに、式(7)を適用して、Y4に対応する差分絶対値を算出するようにしてもよい。
【0231】
【数5】
Figure 0004596218
【0232】
相関値演算部321は、このように算出された差分絶対値を相関値として、しきい値処理部322に供給する。
【0233】
しきい値処理部322は、相関画像の画素値としきい値th0とを比較して、相関値がしきい値th0以下である場合、2値オブジェクト画像の画素値に1を設定し、相関値がしきい値th0より大きい場合、2値オブジェクト画像の画素値に0を設定して、0または1が画素値に設定された2値オブジェクト画像を出力する。しきい値処理部322は、しきい値th0を予め記憶するようにしてもよく、または、外部から入力されたしきい値th0を使用するようにしてもよい。
【0234】
図35は、図30に示す入力画像のモデルに対応する2値オブジェクト画像の例を示す図である。2値オブジェクト画像において、背景画像と相関の高い画素には、画素値に0が設定される。
【0235】
図36は、時間変化検出部303の構成を示すブロック図である。フレームメモリ341は、フレーム#nの画素について領域を判定するとき、2値オブジェクト画像抽出部302から供給された、フレーム#n-1、フレーム#n、およびフレーム#n+1の2値オブジェクト画像を記憶する。
【0236】
領域判定部342は、フレームメモリ341に記憶されているフレーム#n-1、フレーム#n、およびフレーム#n+1の2値オブジェクト画像を基に、フレーム#nの各画素について領域を判定して、領域情報を生成し、生成した領域情報を出力する。
【0237】
図37は、領域判定部342の判定を説明する図である。フレーム#nの2値オブジェクト画像の注目している画素が0であるとき、領域判定部342は、フレーム#nの注目している画素が背景領域に属すると判定する。
【0238】
フレーム#nの2値オブジェクト画像の注目している画素が1であり、フレーム#n-1の2値オブジェクト画像の対応する画素が1であり、フレーム#n+1の2値オブジェクト画像の対応する画素が1であるとき、領域判定部342は、フレーム#nの注目している画素が前景領域に属すると判定する。
【0239】
フレーム#nの2値オブジェクト画像の注目している画素が1であり、フレーム#n-1の2値オブジェクト画像の対応する画素が0であるとき、領域判定部342は、フレーム#nの注目している画素がカバードバックグラウンド領域に属すると判定する。
【0240】
フレーム#nの2値オブジェクト画像の注目している画素が1であり、フレーム#n+1の2値オブジェクト画像の対応する画素が0であるとき、領域判定部342は、フレーム#nの注目している画素がアンカバードバックグラウンド領域に属すると判定する。
【0241】
図38は、図30に示す入力画像のモデルに対応する2値オブジェクト画像について、時間変化検出部303の判定した例を示す図である。時間変化検出部303は、2値オブジェクト画像のフレーム#nの対応する画素が0なので、フレーム#nの左から1番目乃至5番目の画素を背景領域に属すると判定する。
【0242】
時間変化検出部303は、2値オブジェクト画像のフレーム#nの画素が1であり、フレーム#n+1の対応する画素が0なので、左から6番目乃至9番目の画素をアンカバードバックグラウンド領域に属すると判定する。
【0243】
時間変化検出部303は、2値オブジェクト画像のフレーム#nの画素が1であり、フレーム#n-1の対応する画素が1であり、フレーム#n+1の対応する画素が1なので、左から10番目乃至13番目の画素を前景領域に属すると判定する。
【0244】
時間変化検出部303は、2値オブジェクト画像のフレーム#nの画素が1であり、フレーム#n-1の対応する画素が0なので、左から14番目乃至17番目の画素をカバードバックグラウンド領域に属すると判定する。
【0245】
時間変化検出部303は、2値オブジェクト画像のフレーム#nの対応する画素が0なので、左から18番目乃至21番目の画素を背景領域に属すると判定する。
【0246】
次に、図39のフローチャートを参照して、領域判定部103の領域特定の処理を説明する。ステップS301において、領域判定部103の背景画像生成部301は、入力画像を基に、例えば、入力画像に含まれる背景のオブジェクトに対応する画像オブジェクトを抽出して背景画像を生成し、生成した背景画像を2値オブジェクト画像抽出部302に供給する。
【0247】
ステップS302において、2値オブジェクト画像抽出部302は、例えば、図33を参照して説明した演算により、入力画像と背景画像生成部301から供給された背景画像との相関値を演算する。ステップS303において、2値オブジェクト画像抽出部302は、例えば、相関値としきい値th0とを比較することにより、相関値およびしきい値th0から2値オブジェクト画像を演算する。
【0248】
ステップS304において、時間変化検出部303は、領域判定の処理を実行して、処理は終了する。
【0249】
図40のフローチャートを参照して、ステップS304に対応する領域判定の処理の詳細を説明する。ステップS321において、時間変化検出部303の領域判定部342は、フレームメモリ341に記憶されているフレーム#nにおいて、注目する画素が0であるか否かを判定し、フレーム#nにおいて、注目する画素が0であると判定された場合、ステップS322に進み、フレーム#nの注目する画素が背景領域に属すると設定して、処理は終了する。
【0250】
ステップS321において、フレーム#nにおいて、注目する画素が1であると判定された場合、ステップS323に進み、時間変化検出部303の領域判定部342は、フレームメモリ341に記憶されているフレーム#nにおいて、注目する画素が1であり、かつ、フレーム#n-1において、対応する画素が0であるか否かを判定し、フレーム#nにおいて、注目する画素が1であり、かつ、フレーム#n-1において、対応する画素が0であると判定された場合、ステップS324に進み、フレーム#nの注目する画素がカバードバックグラウンド領域に属すると設定して、処理は終了する。
【0251】
ステップS323において、フレーム#nにおいて、注目する画素が0であるか、または、フレーム#n-1において、対応する画素が1であると判定された場合、ステップS325に進み、時間変化検出部303の領域判定部342は、フレームメモリ341に記憶されているフレーム#nにおいて、注目する画素が1であり、かつ、フレーム#n+1において、対応する画素が0であるか否かを判定し、フレーム#nにおいて、注目する画素が1であり、かつ、フレーム#n+1において、対応する画素が0であると判定された場合、ステップS326に進み、フレーム#nの注目する画素がアンカバードバックグラウンド領域に属すると設定して、処理は終了する。
【0252】
ステップS325において、フレーム#nにおいて、注目する画素が0であるか、または、フレーム#n+1において、対応する画素が1であると判定された場合、ステップS327に進み、時間変化検出部303の領域判定部342は、フレーム#nの注目する画素を前景領域と設定して、処理は終了する。
【0253】
このように、領域特定部101は、入力された画像と対応する背景画像との相関値を基に、入力画像の画素が前景領域、背景領域、カバードバックグラウンド領域、およびアンカバードバックグラウンド領域のいずれかに属するかを特定して、特定した結果に対応する領域情報を生成することができる。
【0254】
図41は、領域特定部101の他の構成を示すブロック図である。図41に示す領域特定部101は、同時検出部102から供給される動きベクトルを使用する。図29に示す場合と同様の部分には、同一の番号を付してあり、その説明は省略する。
【0255】
ロバスト化部361は、2値オブジェクト画像抽出部302から供給された、N個のフレームの2値オブジェクト画像を基に、ロバスト化された2値オブジェクト画像を生成して、時間変化検出部303に出力する。
【0256】
図42は、ロバスト化部361の構成を説明するブロック図である。動き補償部381は、同時検出部102から供給された動きベクトルを基に、N個のフレームの2値オブジェクト画像の動きを補償して、動きが補償された2値オブジェクト画像をスイッチ382に出力する。
【0257】
図43および図44の例を参照して、動き補償部381の動き補償について説明する。例えば、フレーム#nの領域を判定するとき、図43に例を示すフレーム#n-1、フレーム#n、およびフレーム#n+1の2値オブジェクト画像が入力された場合、動き補償部381は、同時検出部102から供給された動きベクトルを基に、図44に例を示すように、フレーム#n-1の2値オブジェクト画像、およびフレーム#n+1の2値オブジェクト画像を動き補償して、動き補償された2値オブジェクト画像をスイッチ382に供給する。
【0258】
スイッチ382は、1番目のフレームの動き補償された2値オブジェクト画像をフレームメモリ383−1に出力し、2番目のフレームの動き補償された2値オブジェクト画像をフレームメモリ383−2に出力する。同様に、スイッチ382は、3番目乃至N−1番目のフレームの動き補償された2値オブジェクト画像のそれぞれをフレームメモリ383−3乃至フレームメモリ383−(N−1)のいずれかに出力し、N番目のフレームの動き補償された2値オブジェクト画像をフレームメモリ383−Nに出力する。
【0259】
フレームメモリ383−1は、1番目のフレームの動き補償された2値オブジェクト画像を記憶し、記憶されている2値オブジェクト画像を重み付け部384−1に出力する。フレームメモリ383−2は、2番目のフレームの動き補償された2値オブジェクト画像を記憶し、記憶されている2値オブジェクト画像を重み付け部384−2に出力する。
【0260】
同様に、フレームメモリ383−3乃至フレームメモリ383−(N−1)のそれぞれは、3番目のフレーム乃至N−1番目のフレームの動き補償された2値オブジェクト画像のいずれかを記憶し、記憶されている2値オブジェクト画像を重み付け部384−3乃至重み付け部384−(N−1)のいずれかに出力する。フレームメモリ383−Nは、N番目のフレームの動き補償された2値オブジェクト画像を記憶し、記憶されている2値オブジェクト画像を重み付け部384−Nに出力する。
【0261】
重み付け部384−1は、フレームメモリ383−1から供給された1番目のフレームの動き補償された2値オブジェクト画像の画素値に予め定めた重みw1を乗じて、積算部385に供給する。重み付け部384−2は、フレームメモリ383−2から供給された2番目のフレームの動き補償された2値オブジェクト画像の画素値に予め定めた重みw2を乗じて、積算部385に供給する。
【0262】
同様に、重み付け部384−3乃至重み付け部384−(N−1)のそれぞれは、フレームメモリ383−3乃至フレームメモリ383−(N−1)のいずれかから供給された3番目乃至N−1番目のいずれかのフレームの動き補償された2値オブジェクト画像の画素値に予め定めた重みw3乃至重みw(N-1)のいずれかを乗じて、積算部385に供給する。重み付け部384−Nは、フレームメモリ383−Nから供給されたN番目のフレームの動き補償された2値オブジェクト画像の画素値に予め定めた重みwNを乗じて、積算部385に供給する。
【0263】
積算部385は、1乃至N番目のフレームの動き補償され、それぞれ重みw1乃至wNのいずれかが乗じられた、2値オブジェクト画像の対応する画素値を積算して、積算された画素値を予め定めたしきい値th0と比較することにより2値オブジェクト画像を生成する。
【0264】
このように、ロバスト化部361は、N個の2値オブジェクト画像からロバスト化された2値オブジェト画像を生成して、時間変化検出部303に供給するので、図41に構成を示す領域特定部101は、入力画像にノイズが含まれていても、図29に示す場合に比較して、より正確に領域を特定することができる。
【0265】
次に、図41に構成を示す領域特定部101の領域特定の処理について、図45のフローチャートを参照して説明する。ステップS341乃至ステップS343の処理は、図39のフローチャートで説明したステップS301乃至ステップS303とそれぞれ同様なのでその説明は省略する。
【0266】
ステップS344において、ロバスト化部361は、ロバスト化の処理を実行する。
【0267】
ステップS345において、時間変化検出部303は、領域判定の処理を実行して、処理は終了する。ステップS345の処理の詳細は、図40のフローチャートを参照して説明した処理と同様なのでその説明は省略する。
【0268】
次に、図46のフローチャートを参照して、図45のステップS344の処理に対応する、ロバスト化の処理の詳細について説明する。ステップS361において、動き補償部381は、同時検出部102から供給される動きベクトルを基に、入力された2値オブジェクト画像の動き補償の処理を実行する。ステップS362において、フレームメモリ383−1乃至383−Nのいずれかは、スイッチ382を介して供給された動き補償された2値オブジェクト画像を記憶する。
【0269】
ステップS363において、ロバスト化部361は、N個の2値オブジェクト画像が記憶されたか否かを判定し、N個の2値オブジェクト画像が記憶されていないと判定された場合、ステップS361に戻り、2値オブジェクト画像の動き補償の処理および2値オブジェクト画像の記憶の処理を繰り返す。
【0270】
ステップS363において、N個の2値オブジェクト画像が記憶されたと判定された場合、ステップS364に進み、重み付け部384−1乃至384−Nのそれぞれは、N個の2値オブジェクト画像のそれぞれにw1乃至wNのいずれかの重みを乗じて、重み付けする。
【0271】
ステップS365において、積算部385は、重み付けされたN個の2値オブジェクト画像を積算する。
【0272】
ステップS366において、積算部385は、例えば、予め定められたしきい値th1との比較などにより、積算された画像から2値オブジェクト画像を生成して、処理は終了する。
【0273】
このように、図41に構成を示す領域特定部101は、ロバスト化された2値オブジェクト画像を基に、領域情報を生成することができる。
【0274】
以上のように、領域特定部101は、フレームに含まれている画素のそれぞれについて、動き領域、静止領域、アンカバードバックグラウンド領域、またはカバードバックグラウンド領域に属することを示す領域情報を生成することができる。
【0275】
図47は、同時検出部102の構成の一例を示すブロック図である。推定混合比処理部401は、入力画像を基に、カバードバックグラウンド領域に対応する演算により、画素毎に推定混合比および推定動きベクトルを算出して、算出した推定混合比を混合比決定部403に供給すると共に、算出した推定動きベクトルを動きベクトル決定部404に供給する。
【0276】
推定混合比処理部402は、入力画像を基に、アンカバードバックグラウンド領域に対応する演算により、画素毎に推定混合比および推定動きベクトルを算出して、算出した推定混合比を混合比決定部403に供給すると共に、算出した推定動きベクトルを動きベクトル決定部404に供給する。
【0277】
前景に対応するオブジェクトがシャッタ時間内に等速で動いていると仮定できるので、混合領域に属する画素の混合比αは、以下の性質を有する。すなわち、混合比αは、画素の位置の変化に対応して、直線的に変化する。画素の位置の変化を1次元とすれば、混合比αの変化は、直線で表現することができ、画素の位置の変化を2次元とすれば、混合比αの変化は、平面で表現することができる。
【0278】
なお、1フレームの期間は短いので、前景に対応するオブジェクトが剛体であり、等速で移動していると仮定が成り立つ。
【0279】
この場合、混合比αの傾きは、前景のシャッタ時間内での動き量vの逆比となる。理想的な混合比αは、背景領域において、1の値を有し、前景領域において、0の値を有し、混合領域において、0を越え1未満の値を有する。
【0280】
混合比決定部403は、領域特定部101から供給された、混合比αの算出の対象となる画素が、前景領域、背景領域、カバードバックグラウンド領域、またはアンカバードバックグラウンド領域のいずれかに属するかを示す領域情報を基に、混合比αを設定する。混合比決定部403は、対象となる画素が前景領域に属する場合、0を混合比αに設定し、対象となる画素が背景領域に属する場合、1を混合比αに設定し、対象となる画素がカバードバックグラウンド領域に属する場合、推定混合比処理部401から供給された推定混合比を混合比αに設定し、対象となる画素がアンカバードバックグラウンド領域に属する場合、推定混合比処理部402から供給された推定混合比を混合比αに設定する。混合比決定部403は、領域情報を基に設定した混合比αを出力する。
【0281】
動きベクトル決定部404は、推定混合比処理部401から供給された推定動きベクトル、推定混合比処理部402から供給された推定動きベクトル、および領域特定部101から供給された領域情報を基に、動きベクトルを設定する。
【0282】
例えば、動きベクトル決定部404は、対象となる画素がカバードバックグラウンド領域に属する場合、推定混合比処理部401から供給された推定動きベクトルを動きベクトルに設定し、対象となる画素がアンカバードバックグラウンド領域に属する場合、推定混合比処理部402から供給された推定動きベクトルを動きベクトルに設定する。動きベクトル決定部404は、領域情報を基に設定した動きベクトルを出力する。
【0283】
図48は、推定混合比処理部401の構成を示すブロック図である。
【0284】
推定混合比処理部401に入力された画像は、フレームメモリ421および重み付けフレーム差分演算部423に入力される。
【0285】
フレームメモリ421は、入力された画像をフレーム単位で記憶して、1フレームに対応する期間遅延させ、記憶している画像を重み付けフレーム差分演算部423に供給する。
【0286】
重み生成部422は、1つのフレームに対応して、その値が所定の初期値から順次増加する重みを生成して、生成した重みを重み情報として重み付けフレーム差分演算部423および最大値判定部428に供給する。例えば、重み生成部422は、予め記憶している初期値を重みに設定し、順次、予め記憶している微少な値である増分δを重みに加算することにより、初期値から順次増加する重みを生成する。
【0287】
または、重み生成部422は、1つのフレームの注目画素を中心とする複数の画素からなるブロックに対応する重みを生成して、生成した重みを重み情報として重み付けフレーム差分演算部423および最大値判定部428に供給する。ブロックに対応する重みは、1つの値からなるか、または、ブロックを構成する複数の画素の個々に対応する複数の値からなる。
【0288】
重み付けフレーム差分演算部423は、フレームメモリ421から供給されたフレームの画素の画素値に、重み生成部422から供給された重みを乗じて、重み付けされた画素値を算出する。重み付けフレーム差分演算部423は、入力画像の注目している画素の画素値から、対応する画素の重み付けされた画素値を減じて、重み付け差分を算出する。
【0289】
または、重み付けフレーム差分演算部423は、フレームメモリ421から供給されたフレームの注目画素に対応する画素を中心とする複数の画素からなるブロックの各画素に、重み生成部422から供給された重みを乗じて、重み付けされた画素値を算出する。重み付けフレーム差分演算部423は、入力画像のフレームの注目画素を中心とする複数の画素からなるブロックの各画素の画素値から、対応するブロックの対応する画素の重み付けされた画素値を減じて、重み付け差分を算出する。
【0290】
重み付けフレーム差分演算部423は、重み生成部422から供給される、初期値から順次増加する重みに対応して、1つのフレームについて複数の重み付け差分を算出する。
【0291】
重み付けフレーム差分演算部423は、このように算出された重み付け差分を重み付け差分画像データとして動き補償部424およびフレームメモリ425に供給する。
【0292】
動き補償部424は、動きベクトル生成部426から供給された動きベクトルに基づき、重み付けフレーム差分演算部423から供給された重み付け差分画像データを動き補償し、動き補償された重み付け差分を相関値演算部427に供給する。
【0293】
フレームメモリ425は、重み付けフレーム差分演算部423から供給された、複数の重み付け差分画像データをフレーム毎に記憶して、1フレームに対応する期間遅延させ、記憶している重み付け差分画像データを相関値演算部427に供給する。
【0294】
動きベクトル生成部426は、重み生成部422が生成する個々の重み毎に、所定の初期値からその大きさが順次増加すると共に、他の所定の初期値からその角度が順次変化する動きベクトルを生成して、生成した動きベクトルを動き補償部424および最大値判定部428に供給する。
【0295】
例えば、動きベクトル生成部426は、予め記憶している大きさの初期値および角度の初期値を基に、動きベクトルを生成する。動きベクトル生成部426は、生成した動きベクトルの大きさに所定の増分を加算することにより、動きベクトルの大きさを変更する。動きベクトルの大きさが所定の値を超えたとき、動きベクトル生成部426は、動きベクトルの角度に所定の角度を加算すると共に、大きさの初期値を動きベクトルの大きさに設定する。
【0296】
動きベクトル生成部426は、動きベクトルの大きさの変更と、角度の変更の処理を繰り返し、大きさおよび角度が所定の範囲の動きベクトルを生成する。
【0297】
相関値演算部427は、個々の重みと個々の動きベクトルとの組み合わせ毎に、動き補償部424から供給された動き補償された重み付け差分画像データと、フレームメモリ425から供給された1フレーム遅延された重み付け差分画像データとの相関値を画素毎に演算して、演算された相関値を最大値判定部428に供給する。
【0298】
相関値演算部427は、例えば、動き補償部424から供給された動き補償された重み付け差分画像データと、フレームメモリ425から供給された1フレーム遅延された重み付け差分画像データとの差分の絶対値を画素毎に算出し、算出された差分の絶対値を、相関値として最大値判定部428に供給する。相関値演算部427が出力する相関値は、重み付け差分画像間相関データとも称する。
【0299】
または、相関値演算部427は、個々の重みと個々の動きベクトルとの組み合わせ毎に、動き補償部424から供給された動き補償された重み付け差分画像データと、フレームメモリ425から供給された1フレーム遅延された重み付け差分画像データとの相関値をブロック毎に演算して、演算された相関値を最大値判定部428に供給する。
【0300】
相関値演算部427は、例えば、3×3の画素のブロックを基に、相関値として、差分絶対値和、または差分2乗和などを算出するようにしてもよい。
【0301】
最大値判定部428は、重み生成部422から供給された重み情報により示される重みの値と、動きベクトル生成部426から供給された動きベクトル情報により示される動きベクトルの組み合わせに対応させて、相関値演算部427から供給された相関値を記憶する。最大値判定部428は、記憶されている相関値を基に、最も相関の強い相関値に対応する重みおよび動きベクトルを選択する。最大値判定部428は、選択された重みを推定混合比に設定し、選択された重みが設定された推定混合比を出力する。最大値判定部428は、選択された動きベクトルを推定動きベクトルに設定し、選択された動きベクトルが設定された推定動きベクトルを出力する。
【0302】
なお、最大値判定部428は、画素に対応する重みと画素の位置との相互の関係を基に、より確からしい重みおよび動きベクトルをさらに選択するようにすることもできる。画素に対応する重みと画素の位置との相互の関係を基に、動きベクトルを選択する処理の詳細は、後述する。
【0303】
図49乃至図54を参照して、カバードバックグラウンド領域に対応する推定混合比処理部401の処理を説明する。
【0304】
図49に例を示す、前景オブジェクトの動き量vが4である画像のモデルにおいて、フレーム#nの左から6番目乃至8番目の画素は、混合領域に属する。
【0305】
フレーム#nの左から6番目の画素の画素値は、式(8)で表すことができる。同様に、フレーム#nの左から7番目の画素の画素値は、式(9)で表すことができ、フレーム#nの左から8番目の画素の画素値は、式(10)で表すことができる。
【0306】
【数6】
Figure 0004596218
【数7】
Figure 0004596218
【数8】
Figure 0004596218
【0307】
同様に、フレーム#n+1の左から10番目乃至12番目の画素は、混合領域に属する。フレーム#n+1の左から10番目の画素の画素値は、式(11)で表すことができる。同様に、フレーム#n+1の左から11番目の画素の画素値は、式(12)で表すことができ、フレーム#n+1の左から12番目の画素の画素値は、式(13)で表すことができる。
【0308】
【数9】
Figure 0004596218
【数10】
Figure 0004596218
【数11】
Figure 0004596218
【0309】
図50に示すように、重み付け差分画像データは、重みをフレーム#n-1の画素値に乗算して、重みが乗算された画素値を算出し、フレーム#nの画素の画素値から、重みが乗算された画素値を減算することにより算出される。
【0310】
例えば、フレーム#nの画素値がx0である画素に対応する重み付け差分画像データの差分z0は、式(14)により算出される。フレーム#nの画素値がx1である画素に対応する重み付け差分画像データの差分z1は、式(15)により算出される。フレーム#nの画素値がx2である画素に対応する重み付け差分画像データの差分z2は、式(16)により算出される。
【0311】
z0=x0-α0×y0 (14)
z1=x1-α1×y1 (15)
z2=x2-α2×y2 (16)
【0312】
y0は、フレーム#nの画素値がx0である画素に対応する、フレーム#n-1の背景領域に属する画素の画素値である。y1は、フレーム#nの画素値がx1である画素に対応する、フレーム#n-1の背景領域に属する画素の画素値である。y2は、フレーム#nの画素値がx2である画素に対応する、フレーム#n-1の背景領域に属する画素の画素値である。
【0313】
α0がフレーム#nの画素値がx0である画素の混合比αと等しいとき、重み付け差分画像データの差分z0は、フレーム#nの画素値がx0である画素の前景の成分のみからなる。
【0314】
α1がフレーム#nの画素値がx1である画素の混合比αと等しいとき、重み付け差分画像データの差分z1は、フレーム#nの画素値がx1である画素の前景の成分のみからなる。
【0315】
α2がフレーム#nの画素値がx2である画素の混合比αと等しいとき、重み付け差分画像データの差分z2は、フレーム#nの画素値がx2である画素の前景の成分のみからなる。
【0316】
これを図51を参照して説明する。
【0317】
フレーム#nの左から6番目の画素を注目画素としたときを例に説明する。式(8)において、フレーム#nの6番目の画素の混合比α05は、1/4である。
【0318】
注目画素の混合比と同じ値の重みをフレーム#n-1の画素値に乗じた値を算出して、フレーム#nの注目画素の画素値との差分を求めると、図51に示すように、画素値に含まれる背景の成分の全部または一部が除去される。
【0319】
フレーム#nの左から6番目の注目画素において、画素値に含まれる背景の成分の全部が除去され、前景の成分の全部が残る。
【0320】
同様に、式(11)において、フレーム#n+1の10番目の画素の混合比α09は、1/4である。
【0321】
フレーム#nの注目画素の混合比αと同じ値の重みをフレーム#nの画素値に乗じた値を算出して、フレーム#n+1の混合領域に属する、対応する画素の画素値との差分を求めると、図51に示すように、画素値に含まれる背景の成分の全部または一部が除去される。
【0322】
左から10番目の画素において、画素値に含まれる背景の成分の全部が除去され、前景の成分の全部が残る。
【0323】
図51に示すように、フレーム#nの左から6番目の画素に含まれる前景の成分が、フレーム#n+1の左から10番目の画素に含まれる前景の成分と同一なので、重みが注目画素の混合比と同じとき、フレーム#nの左から6番目の画素に対応する差分と、フレーム#n+1の左から10番目の画素の差分との相関は、フレーム#nの左から6番目の画素に対応する差分と、フレーム#n+1の各画素の差分との相関のうち、最大となる。
【0324】
図52に示すように、フレーム#nの左から6番目の画素が注目画素のとき、最大値判定部428は、最大の相関に対応する、1/4である重みを推定混合比として選択すると共に、フレーム#nの左から6番目の画素を基準に、フレーム#n+1の左から10番目の画素を示す動きベクトルを、フレーム#nの注目画素に対応する推定動きベクトルとして選択する。
【0325】
同様に、フレーム#nの左から7番目の画素を注目画素としたときを例に説明する。式(9)において、フレーム#nの左から7番目の画素の混合比α06は、1/2である。
【0326】
注目画素の混合比と同じ値の重みをフレーム#n-1の画素値に乗じた値を算出して、フレーム#nの混合領域または背景領域に属する、対応する画素の画素値との差分を求めると、図53に示すように、画素値に含まれる背景の成分の全部または一部が除去される。左から6番目の画素において、本来含まれている背景の成分以上の背景の成分が除されることとなるので、その画素値は、対応する背景の成分の負の値を含むことになる。
【0327】
フレーム#nの左から7番目の画素において、画素値に含まれる背景の成分の全部が除去され、前景の成分の全部が残る。
【0328】
式(12)において、フレーム#n+1の11番目の画素の混合比α10は、1/2である。
【0329】
フレーム#nの注目画素の混合比αと同じ値の重みをフレーム#nの画素値に乗じた値を算出して、フレーム#n+1の混合領域に属する、対応する画素の画素値との差分を求めると、図53に示すように、画素値に含まれる背景の成分の全部または一部が除去される。左から10番目の画素において、本来含まれている背景の成分以上の背景の成分が除されることとなるので、その画素値は、対応する背景の成分の負の値を含むことになる。
【0330】
左から11番目の画素において、画素値に含まれる背景の成分の全部が除去され、前景の成分の全部が残る。
【0331】
図53に示すように、フレーム#nの左から7番目の画素に含まれる前景の成分が、フレーム#n+1の左から11番目の画素に含まれる前景の成分と同一なので、重みが注目画素の混合比と同じとき、フレーム#nの左から7番目の画素に対応する差分と、フレーム#n+1の左から11番目の画素の差分との相関は、フレーム#nの左から7番目の画素に対応する差分と、フレーム#n+1の各画素の差分との相関のうち、最大となる。
【0332】
図54に示すように、フレーム#nの左から7番目の画素が注目画素のとき、最大値判定部428は、最大の相関に対応する、1/2である重みを推定混合比として選択すると共に、フレーム#nの左から7番目の画素を基準に、フレーム#n+1の左から11番目の画素を示す動きベクトルを、フレーム#nの左から7番目の画素に対応する推定動きベクトルとして選択する。
【0333】
すなわち、図55に示すように、フレーム#n-1の画素値にある重みを乗じた値を算出して、フレーム#nの混合領域に属する、対応する画素の画素値との差分z0,z1、およびz2を求めると共に、フレーム#nの画素値に同じ重みを乗じた値を算出して、フレーム#n+1の混合領域に属する、対応する画素の画素値との差分A0,A1、およびA2を求めたとき、例えば、フレーム#nにおける注目画素に対応する差分z1と、フレーム#n+1における、注目画素を基準として、動きベクトルで示される位置の画素に対応する差分A1が等しい場合、その重みは、フレーム#nにおける注目画素の混合比αに等しく、その動きベクトルは、フレーム#nにおける注目画素の動きベクトルに等しい。
【0334】
このように、推定混合比処理部401は、フレーム#n-1の画素値にある重みを乗じた値を算出して、フレーム#nの混合領域に属する、対応する画素の画素値との差分を求めると共に、フレーム#nの画素値に同じ重みを乗じた値を算出して、フレーム#n+1の混合領域に属する、対応する画素の画素値との差分を求める。推定混合比処理部401は、フレーム#nにおける注目画素に対応する差分と、フレーム#n+1における、注目画素を基準として、動きベクトルで示される位置の画素に対応する差分が等しいとき、その重みを、フレーム#nにおける注目画素の混合比αとし、その動きベクトルを、フレーム#nにおける注目画素の動きベクトルとする。
【0335】
推定混合比処理部401は、所定の数の画素からなるブロックを単位として、推定混合比および推定動きベクトルを検出するようにしてもよい。
【0336】
例えば、図56に示すように、推定混合比処理部401は、3つの画素を1つのブロックとして、1つのブロックの混合比αが一定であると仮定して、推定混合比および推定動きベクトルを検出することができる。より具体的には、例えば、図57に示すように、推定混合比処理部401は、フレーム#nの左から6番目乃至8番目の画素を1つのブロックとして、1つの重みに対応して差分を算出し、フレーム#nの対応するブロックの差分との相関を求めて、相関が最も高いブロックに対応する、重みおよび動きベクトルを選択する。
【0337】
また、例えば、図58に示すように、推定混合比処理部401は、3つの画素を1つのブロックとして、1つのブロックに所定の直線または曲線を当てはめて、当てはめた直線または曲線に対応して混合比αが変化すると仮定して、推定混合比および推定動きベクトルを検出することができる。3つの画素を1つのブロックとして、1つのブロックに所定の直線または曲線を当てはめるとき、重み生成部422は、直線または曲線に対応させて、1つのブロックに含まれる3つの画素に対応する3つの重みを重み情報として出力する。
【0338】
例えば、重み生成部422が生成する、1つの重み情報は、0.25,0.5、および0.75の値を有する3つの重みからなる。
【0339】
重み生成部422は、1つのフレームに対応して、傾き、切片、または曲率を変化させた直線または曲線に対応させた複数の重みからなる重み情報を生成する。
【0340】
より具体的には、例えば、重み生成部422が、1つのブロックに対応させて、直線に対応する0.25,0.5、および0.75からなる1つの重み情報を生成するとき、図59に示すように、推定混合比処理部401は、フレーム#nの左から6番目乃至8番目の画素を1つのブロックとして、フレーム#nの左から6番目の画素について0.25の重みを基に差分を算出し、フレーム#nの左から7番目の画素について0.5の重みを基に差分を算出し、フレーム#nの左から8番目の画素について0.75の重みを基に差分を算出する。同様に、推定混合比処理部401は、フレーム#n+1の左から10番目乃至12番目の画素を1つのブロックとして、フレーム#n+1の左から10番目の画素について0.25の重みを基に差分を算出し、フレーム#n+1の左から11番目の画素について0.5の重みを基に差分を算出し、フレーム#n+1の左から12番目の画素について0.75の重みを基に差分を算出する。
【0341】
推定混合比処理部401は、直線または曲線に対応する重みを基にした差分の相関を求めて、相関が最も高いブロックに対応する、重みおよび動きベクトルを選択する。
【0342】
図60に示すように、推定混合比処理部401は、3つの画素を1つのブロックとして、1つの画素毎に所定の重みを対応させて、推定混合比および推定動きベクトルを検出することができる。
【0343】
より具体的には、例えば、重み生成部422が、1つのブロックに対応させて、0.75,0.25、および0.5からなる1つの重み情報を生成するとき、図61に示すように、推定混合比処理部401は、フレーム#nの左から6番目乃至8番目の画素を1つのブロックとして、フレーム#nの左から6番目の画素について0.75の重みを基に差分を算出し、フレーム#nの左から7番目の画素について0.25の重みを基に差分を算出し、フレーム#nの左から8番目の画素について0.5の重みを基に差分を算出する。同様に、推定混合比処理部401は、フレーム#n+1の左から10番目乃至12番目の画素を1つのブロックとして、フレーム#n+1の左から10番目の画素について0.75の重みを基に差分を算出し、フレーム#n+1の左から11番目の画素について0.25の重みを基に差分を算出し、フレーム#n+1の左から12番目の画素について0.5の重みを基に差分を算出する。
【0344】
推定混合比処理部401は、1つのブロックのそれぞれの画素毎に対応する重みを基にした差分の相関を求めて、相関が最も高いブロックに対応する、重みおよび動きベクトルを選択する。
【0345】
なお、3つの画素からなるブロックを例に説明したが、本発明に係る信号処理装置は、ブロックに含まれる画素の数により限定されない。また、ブロックは、所定の直線上に並ぶ所定の数の画素からなるようにしてもよく、3画素×3画素などの、所定の面上の所定の数の画素からなるようにしてもよい。
【0346】
次に、推定混合比処理部401による、1つの画素毎に、推定混合比および推定動きベクトルを検出するとき、または、1つのブロックのそれぞれの画素毎に対応する重みを基にした差分の相関を基に、推定混合比および動きベクトルを検出するときの、より確からしい重みおよび動きベクトルをさらに選択する処理について説明する。
【0347】
上述したように、1フレームは短い時間なので、前景に対応するオブジェクトが剛体であり、等速で移動していると仮定することができる。また、前景に対応するオブジェクトがシャッタ時間内に等速で動いていると仮定できるので、混合領域に属する画素の混合比αは、直線的に変化する。
【0348】
前景のオブジェクトが剛体なので、前景のオブジェクトに対応する動きベクトルは、1つである。
【0349】
これら性質を利用して、推定混合比処理部401は、より確からしい重みおよび動きベクトルをさらに選択する。
【0350】
図62乃至図66において、図中の○は、画素を表す。画素のそれぞれに対応する重みw0乃至w3は、式(17)の関係を満たすとする。
【0351】
0<w0<w1<w2<w3<1 (17)
【0352】
推定混合比処理部401は、式(17)の関係を満たす重み、および1つの動きベクトルに対応する画素のうち、少なくとも1つの画素の位置が、混合領域の外にあるか否かを判定し、少なくとも1つの画素の位置が、混合領域の外にあると判定された場合、前景領域の混合比αが0であり、背景領域の混合比αが1なので、この重みおよび動きベクトルを選択しない。
【0353】
例えば、図62に示すように、重みw0に対応する画素の位置が混合領域の外にあるとき、推定混合比処理部401は、この重みw0乃至W3および動きベクトルを選択しない。
【0354】
推定混合比処理部401は、式(17)の関係を満たす重み、および1つの動きベクトルに対応する画素の位置が、式(17)に示す重みの大きさに対応する位置関係にあるか否かを判定し、重みの大きさに対応する位置関係にないと判定された場合、この重みと動きベクトルを選択しない。
【0355】
例えば、図63に示すように、重みw3に対応する画素、重みw1に対応する画素、重みw2に対応する画素、および重みw0に対応する画素が順に並んでいるとき、混合比αが直線的に変化するので、推定混合比処理部401は、この重みw0乃至W3および動きベクトルを選択しない。
【0356】
図64に示すように、推定混合比処理部401は、全ての画素が混合領域内に位置し、重みw0に対応する画素、重みw1に対応する画素、重みw2に対応する画素、および重みw3に対応する画素が順に並らんでいるとき、この重みw0乃至W3および動きベクトルを選択する。
【0357】
さらに、推定混合比処理部401は、動きベクトルで示される画素の距離の分散を基に、より確からしい重みおよび動きベクトルを選択できる。
【0358】
全ての画素が混合領域内に位置し、重みw0に対応する画素、重みw1に対応する画素、重みw2に対応する画素、および重みw3に対応する画素が順に並ぶとき、推定混合比処理部401は、画素の距離の分散がより小さい、重みw0乃至W3および動きベクトルを選択する。
【0359】
例えば、図65および図66に示す例において、図65に示す画素の距離の分散が、図66に示す画素の距離の分散より大きいので、推定混合比処理部401は、分散のより小さい、図66に対応する重みw0乃至W3および動きベクトルを選択する。すなわち、推定混合比処理部401は、動きベクトルで示される画素の距離が均一である、重みw0乃至W3および動きベクトルを選択する。これは、混合比αが直線的に変化するので、推定混合比処理部401は、重みがより直線的に変化する組み合わせを選択することを意味する。
【0360】
なお、推定混合比処理部401が、カバードバックグラウンド領域に対応して、前のフレームの画素を背景の画素として、推定混合比および推定動きベクトルを検出するのに対して、推定混合比処理部402は、アンカバードバックグラウンド領域に対応して、次のフレームの画素を背景の画素とする、推定混合比処理部401と同様の処理で、推定混合比および推定動きベクトルを検出するので、その説明は省略する。
【0361】
図67は、同時検出部102の他の構成を示すブロック図である。図47に示す場合と同様の部分には同一の番号を付してあり、その説明は省略する。
【0362】
選択部441は、領域特定部101から供給された領域情報を基に、カバードバックグラウンド領域に属する画素および、これに対応する前のフレームの画素を推定混合比処理部401に供給する。選択部441は、領域特定部101から供給された領域情報を基に、アンカバードバックグラウンド領域に属する画素および、これに対応する次のフレームの画素を推定混合比処理部402に供給する。
【0363】
選択部442は、領域特定部101から供給された領域情報を基に、対象となる画素が前景領域に属する場合、0である推定混合比を選択して、混合比αに設定し、対象となる画素が背景領域に属する場合、1である推定混合比を選択して、混合比αに設定する。選択部442は、対象となる画素がカバードバックグラウンド領域に属する場合、推定混合比処理部401から供給された推定混合比を選択して混合比αに設定し、対象となる画素がアンカバードバックグラウンド領域に属する場合、推定混合比処理部402から供給された推定混合比を選択して混合比αに設定する。選択部442は、領域情報を基に選択して設定した混合比αを出力する。
【0364】
選択部442は、領域特定部101から供給された領域情報を基に、対象となる画素がカバードバックグラウンド領域に属する場合、推定混合比処理部401から供給された推定動きベクトルを選択して動きベクトルに設定し、対象となる画素がアンカバードバックグラウンド領域に属する場合、推定混合比処理部402から供給された推定動きベクトルを選択して動きベクトルに設定する。選択部442は、領域情報を基に選択して設定した動きベクトルを出力する。
【0365】
このように、図67に示す他の構成を有する同時検出部102は、画像の含まれる画素毎に混合比αおよび動きベクトルを検出して、検出した混合比αおよび動きベクトルを出力することができる。
【0366】
図68のフローチャートを参照して、図47に構成を示す混合比算出部104の混合比αおよび動きベクトルの検出の処理を説明する。ステップS401において、同時検出部102は、領域特定部103から供給された領域情報を取得する。ステップS402において、推定混合比処理部401は、カバードバックグラウンド領域に対応して推定混合比および推定動きベクトルを検出し、検出した推定混合比を混合比決定部403に供給すると共に、検出した推定動きベクトルを動きベクトル決定部404に供給する。推定混合比および推定動きベクトルの検出の処理の詳細は、図69のフローチャートを参照して、後述する。
【0367】
ステップS403において、推定混合比処理部402は、アンカバードバックグラウンド領域に対応して推定混合比および推定動きベクトルを検出し、検出した推定混合比を混合比決定部403に供給すると共に、検出した推定動きベクトルを動きベクトル決定部404に供給する。
【0368】
ステップS404において、同時検出部102は、フレーム全体について、推定混合比および推定動きベクトルを検出したか否かを判定し、フレーム全体について、推定混合比および推定動きベクトルを検出していないと判定された場合、ステップS402に戻り、次の画素について推定混合比および推定動きベクトルを検出する処理を実行する。
【0369】
ステップS404において、フレーム全体について、推定混合比および推定動きベクトルを検出したと判定された場合、ステップS405に進み、混合比決定部403は、画素が、前景領域、背景領域、カバードバックグラウンド領域、またはアンカバードバックグラウンド領域のいずれかに属するかを示す、領域特定部101から供給された領域情報を基に、混合比αを設定する。混合比決定部403は、対象となる画素が前景領域に属する場合、0を混合比αに設定し、対象となる画素が背景領域に属する場合、1を混合比αに設定し、対象となる画素がカバードバックグラウンド領域に属する場合、推定混合比処理部401から供給された推定混合比を混合比αに設定し、対象となる画素がアンカバードバックグラウンド領域に属する場合、推定混合比処理部402から供給された推定混合比を混合比αに設定する。
【0370】
動きベクトル決定部404は、画素が、前景領域、背景領域、カバードバックグラウンド領域、またはアンカバードバックグラウンド領域のいずれかに属するかを示す、領域特定部101から供給された領域情報を基に、動きベクトルを設定する。動きベクトル決定部404は、対象となる画素がカバードバックグラウンド領域に属する場合、推定混合比処理部401から供給された推定動きベクトルを動きベクトルに設定し、対象となる画素がアンカバードバックグラウンド領域に属する場合、推定混合比処理部402から供給された推定推定動きベクトルを動きベクトルに設定し、処理は終了する。
【0371】
このように、同時検出部102は、領域特定部101から供給された領域情報、および入力画像を基に、各画素に対応する特徴量である混合比αおよび動きベクトルを同時に検出することができる。
【0372】
図67に構成を示す同時検出部102の混合比αおよび動きベクトルの検出の処理は、図68のフローチャートで説明した処理と同様なので、その説明は省略する。
【0373】
次に、図69のフローチャートを参照して、図68のステップS402に対応する、カバードバックグラウンド領域に対応する混合比および動きベクトルの推定の処理を説明する。
【0374】
ステップS421において、重み生成部422は、重みに予め記憶している初期値を設定する。重み生成部422は、初期値を設定した重みを重み情報として、重み付けフレーム差分演算部423および最大値判定部428に供給する。
【0375】
ステップS422において、推定混合比処理部401は、重み生成部422が出力する重みが1を越えたか否かを判定し、重みが1を越えていないと判定された場合、ステップS423に進む。
【0376】
ステップS423において、重み付けフレーム差分演算部423は、注目フレームの注目する画素の画素値と、次のフレームの対応する画素の画素値に重みを乗じた値との差分である重み付け差分を算出し、差分Aに、注目フレームの注目画素の重み付け差分を設定する。差分Aは、重み付け差分画像データとして出力される。
【0377】
ステップS424において、重み付けフレーム差分演算部423は、注目フレームの次のフレームの画素の画素値と、注目フレームの対応する画素の画素値に重みを乗じた値との差分である重み付け差分を算出し、差分Bに、注目フレームの次のフレームの画素の重み付け差分を設定する。差分Bは、重み付け差分画像データとして出力される。
【0378】
ステップS425において、動きベクトル生成部426は、動きベクトルに初期値を設定して、初期値を設定した動きベクトルを動き補償部424および最大値判定部428に供給する。
【0379】
ステップS426において、相関値演算部427は、差分Aおよび差分Bを基に、差分Aの注目画素と、差分Bの動きベクトルで示される画素との相関値を算出する。
【0380】
すなわち、ステップS426において、動き補償部424は、動きベクトル生成部426から供給された動きベクトルを基に、重み付けフレーム差分演算部423から供給された差分Bを動き補償し、動き補償された差分Bを相関値演算部427に供給する。
【0381】
相関値演算部427は、注目画素に対応する、フレームメモリ425から供給された差分Aと、動き補償された差分Bとの相関値を算出して、最大値判定部428に供給する。
【0382】
例えば、相関値演算部427は、差分Aの注目画素に対応する差分と、注目画素を基準に動きベクトルで示される差分Bの画素に対応する差分の絶対値である相関値を算出する。
【0383】
ステップS427において、最大値判定部428は、重み生成部422から供給された重み、および動きベクトル生成部426から供給された動きベクトルに対応させて、相関値演算部427から供給された相関値を記憶する。
【0384】
ステップS428において、動きベクトル生成部426は、動きベクトルの大きさに、所定の増分を加算する。
【0385】
ステップS429において、推定混合比処理部401は、動きベクトル生成部426が出力する動きベクトルの大きさが所定の値を越えたか否かを判定し、動きベクトルの大きさが所定の値を越えたと判定された場合、ステップS430に進み、動きベクトル生成部426は、動きベクトルの大きさに初期値を設定する。ステップS431において、動きベクトル生成部426は、動きベクトルの角度に、所定の他の増分を加算する。動きベクトル生成部426は、大きさが初期値とされ、角度が変更された動きベクトルを動き補償部424および最大値判定部428に供給する。
【0386】
ステップS432において、推定混合比処理部401は、推定動きベクトルの大きさおよび角度を基に、所定の範囲の画素の相関値を算出したか否かを判定し、所定の範囲の画素の相関値を算出していないと判定された場合、ステップS426に戻り、相関値を算出の処理を繰り返す。
【0387】
ステップS432において、所定の範囲の画素の相関値を算出したと判定された場合、ステップS433に進み、重み生成部422は、重みに予め記憶している増分δを加算して、ステップS422に戻り、重みに対応する相関値の算出の処理を繰り返す。
【0388】
すなわち、重みが1以下であるとき、ステップS423乃至ステップS433の処理が繰り返され、増分δ毎に増加する重みおよび所定の範囲を示す動きベクトルに対応する相関値が算出され、重みおよび動きベクトルに対応付けられて相関値が記憶される。
【0389】
ステップS429において、動きベクトルの大きさが所定の値を越えていないと判定された場合、手続きは、ステップS426に戻り、重みに対応する相関値の算出の処理を繰り返す。
【0390】
ステップS422において、重みが1を越えたと判定された場合、ステップS434に進み、最大値判定部428は、相関が最も強いことを示す最大の相関値に対応する動きベクトルおよび重みを選択する。
【0391】
ステップS435において、最大値判定部428は、選択された動きベクトルを推定動きベクトルに設定して、推定動きベクトルを動きベクトル決定部404に供給する。
【0392】
ステップS436において、最大値判定部428は、選択された重みを推定混合比に設定して、重みが設定された推定混合比を混合比決定部403に出力し、処理は終了する。
【0393】
このように、推定混合比処理部401は、カバードバックグラウンド領域に対応する推定混合比および推定動きベクトルを算出することができる。
【0394】
なお、ステップS403のアンカバードバックグラウンド領域に対応する処理は、差分Aおよび差分Bの算出の処理において、背景に対応する画素値として、次のフレームの画素値を使用する点を除き、図69のフローチャートを参照して説明した処理と同様なので、その説明は省略する。
【0395】
次に、推定混合比処理部401による、混合比および動きベクトル推定の他の処理を、図70のフローチャートを参照して説明する。
【0396】
ステップS451乃至ステップS464の処理のそれぞれは、ステップS421乃至ステップS434の処理のそれぞれと同様なので、その説明は省略する。
【0397】
ステップS465において、最大値判定部428は、ステップS464の処理で選択された動きベクトルおよび重みのうち、動きベクトルで示される画素の位置が、所定の関係を満たす動きベクトルおよび重みを選択する。すなわち、最大値判定部428は、図62乃至図66を参照して説明したように、1つの動きベクトルに対応し、所定の重みに対応する画素が混合領域内に位置し、画素の位置の順序が重みの大きさの順序に対応している動きベクトルおよび重みを選択する。
【0398】
より確からしい動きベクトルおよび重みを選択するとき、最大値判定部428は、画素の位置の間隔が重みの大きさの変化に対応している動きベクトルおよび重みを選択する。
【0399】
ステップS466において、最大値判定部428は、選択された動きベクトルを推定動きベクトルに設定して、推定動きベクトルを動きベクトル決定部404に供給する。
【0400】
ステップS467において、最大値判定部428は、選択された重みを推定混合比に設定して、重みが設定された推定混合比を混合比決定部403に出力し、処理は終了する。
【0401】
このように、推定混合比処理部401は、カバードバックグラウンド領域に対応する、より確からしい推定混合比および推定動きベクトルを算出することができる。
【0402】
図71は、推定混合比処理部401の他の構成を示すブロック図である。図48に示す場合と同様の部分には、同一の番号を付してありその説明は省略する。
【0403】
動きベクトル生成部426は、重み生成部422が生成する個々の重み毎に、所定の初期値からその大きさが順次増加すると共に、他の所定の初期値からその角度が順次変化する動きベクトルを生成して、生成した動きベクトルを動き補償部461−1および461−2、並びに最大値判定部464に供給する。
【0404】
動き補償部461−1は、動きベクトル生成部426から供給された動きベクトルに基づき、重み付けフレーム差分演算部423から供給された重み付け差分画像データを動き補償し、動き補償された重み付け差分を相関値演算部463に供給する。
【0405】
動き補償部461−2は、動きベクトル生成部426から供給された動きベクトルに基づき、フレームメモリ462−2から供給された重み付け差分画像データを動き補償し、動き補償された重み付け差分を相関値演算部463に供給する。
【0406】
動き補償部461−1および461−2は、同一の動きベクトルが入力されたとき、重み付け差分画像データをそれぞれ逆の方向に動き補償する。
【0407】
図72は、動き補償部461−1および461−2の動き補償の処理を説明する図である。
【0408】
フレーム#nの左から6番目の画素を注目画素としたときを例に説明する。注目画素の混合比と同じ値の重みをフレーム#n-1の画素値に乗じた値を算出して、フレーム#nの混合領域または背景領域に属する、対応する画素の画素値との差分を求めると、フレーム#nの左から6番目の画素において、画素値に含まれる背景の成分の全部が除去され、前景の成分の全部が残る。
【0409】
注目画素の混合比と同じ値の重みをフレーム#n-2の画素値に乗じた値を算出して、フレーム#n-1の混合領域または背景領域に属する、対応する画素の画素値との差分を求めると、フレーム#n-1の左から2番目の画素において、画素値に含まれる背景の成分の全部が除去され、前景の成分の全部が残る。
【0410】
同様に、注目画素の混合比と同じ値の重みをフレーム#nの画素値に乗じた値を算出して、フレーム#n+1の混合領域または背景領域に属する、対応する画素の画素値との差分を求めると、フレーム#n+1の左から10番目の画素において、画素値に含まれる背景の成分の全部が除去され、前景の成分の全部が残る。
【0411】
動き補償部461−1が、動きベクトル生成部426から供給された動きベクトルを基に、フレーム#nの左から6番目の画素に対応する差分と、フレーム#n+1の左から10番目の画素に対応する差分との位置が一致するように、フレーム#n+1の重み付け差分画像データを動き補償するとき、動き補償部461−2は、動きベクトル生成部426から供給された同一の動きベクトルを基に、フレーム#nの左から6番目の画素に対応する差分と、フレーム#n-1の左から2番目の画素に対応する差分との位置が一致するように、フレーム#n-1の重み付け差分画像データを動き補償する。
【0412】
前景に対応するオブジェクトが剛体であり、1フレームの期間は短いので、等速で移動していると仮定が成り立つので、フレーム#n-1とフレーム#nとの動きベクトルは、フレーム#nとフレーム#n+1との動きベクトルに等しい。従って、重みが混合比αに等しく、動きベクトル生成部426が生成する動きベクトルが前景オブジェクトの動きに等しいとき、フレーム#nの重み付け差分画像データの注目画素、動き補償されたフレーム#n+1の重み付け差分画像データの対応する画素、および動き補償されたフレーム#n-1の重み付け差分画像データの対応する画素は、それぞれ同一の前景の成分のみからなり、その相関は、最大となる。
【0413】
フレームメモリ462−1は、重み付けフレーム差分演算部423から供給された、複数の重み付け差分画像データをフレーム毎に記憶して、1フレームに対応する期間遅延させ、記憶している重み付け差分画像データをフレームメモリ462−2および相関値演算部463に供給する。
【0414】
フレームメモリ462−2は、フレームメモリ462−1から供給された、複数の重み付け差分画像データをフレーム毎に記憶して、1フレームに対応する期間遅延させ、記憶している重み付け差分画像データを動き補償部461−2に供給する。
【0415】
相関値演算部463は、個々の重みと個々の動きベクトルとの組み合わせ毎に、動き補償部461−1から供給された動き補償された重み付け差分画像データ、フレームメモリ462−1から供給された1フレーム遅延された重み付け差分画像データ、および動き補償部461−2から供給された動き補償された、2フレーム遅延された重み付け差分画像データの相関値を画素毎に演算して、演算された相関値を最大値判定部464に供給する。
【0416】
最大値判定部464は、重み生成部422から供給された重みの値と、動きベクトル生成部426から供給された動きベクトルの組み合わせに対応させて、相関値演算部463から供給された相関値を記憶する。最大値判定部464は、記憶されている相関値を基に、最も相関の強い相関値に対応する重みおよび動きベクトルを選択する。
【0417】
最大値判定部464は、選択された重みを推定混合比に設定し、選択された重みが設定された推定混合比を出力する。最大値判定部464は、選択された動きベクトルを推定動きベクトルに設定し、選択された動きベクトルが設定された推定動きベクトルを出力する。
【0418】
次に、図73のフローチャートを参照して、図71に構成を示す推定混合比処理部401による、カバードバックグラウンド領域に対応する混合比および動きベクトルの推定の処理を説明する。図73のフローチャートに示す処理は、図68のステップS402の処理に対応する。
【0419】
ステップS481において、重み生成部422は、重みに予め記憶している初期値を設定する。重み生成部422は、初期値を設定した重みを重み情報として、重み付けフレーム差分演算部423および最大値判定部464に供給する。
【0420】
ステップS482において、推定混合比処理部401は、重み生成部422が出力する重みが1を越えたか否かを判定し、重みが1を越えていないと判定された場合、ステップS483に進む。
【0421】
ステップS483において、重み付けフレーム差分演算部423は、注目フレームの前のフレームの画素の画素値と、注目フレームの2つ前のフレームの画素の画素値に重みを乗じた値との差分である重み付け差分を算出し、差分Aに、注目フレームの前のフレームの重み付け差分を設定する。差分Aは、重み付け差分画像データとして出力される。
【0422】
ステップS484において、重み付けフレーム差分演算部423は、注目フレームの画素の画素値と、注目フレームの前のフレームの画素の画素値に重みを乗じた値との差分である重み付け差分を算出し、差分Bに、注目フレームの重み付け差分を設定する。差分Bは、重み付け差分画像データとして出力される。
【0423】
ステップS485において、重み付けフレーム差分演算部423は、注目フレームの次のフレームの画素の画素値と、注目フレームの画素の画素値に重みを乗じた値との差分である重み付け差分を算出し、差分Cに、注目フレームの次のフレームの重み付け差分を設定する。差分Cは、重み付け差分画像データとして出力される。
【0424】
ステップS486において、動きベクトル生成部426は、動きベクトルに初期値を設定して、初期値を設定した動きベクトルを動き補償部461−1、動き補償部461−2、および最大値判定部464に供給する。
【0425】
ステップS487において、相関値演算部463は、差分A、差分B、および差分Cを基に、差分Cの動きベクトルで示される画素、差分Bの注目画素、および差分Cの動きベクトルで示される画素の相関値を算出する。
【0426】
すなわち、ステップS487において、動き補償部461−1は、動きベクトル生成部426から供給された動きベクトルを基に、重み付けフレーム差分演算部423から供給された差分Cを動き補償し、動き補償された差分Cを相関値演算部463に供給する。動き補償部461−2は、動きベクトル生成部426から供給された動きベクトルを基に、フレームメモリ462−2から供給された差分Aを動き補償し、動き補償された差分Aを相関値演算部463に供給する。
【0427】
相関値演算部463は、注目画素に対応する、フレームメモリ462−1から供給された差分B、動き補償された差分A、および動き補償された差分Cの相関値を算出して、最大値判定部464に供給する。
【0428】
ステップS488において、最大値判定部464は、重み生成部422から供給された重み、および動きベクトル生成部426から供給された動きベクトルに対応させて、相関値演算部463から供給された相関値を記憶する。
【0429】
ステップS489において、動きベクトル生成部426は、動きベクトルの大きさに、所定の増分を加算する。
【0430】
ステップS490において、推定混合比処理部401は、動きベクトル生成部426が出力する動きベクトルの大きさが所定の値を越えたか否かを判定し、動きベクトルの大きさが所定の値を越えたと判定された場合、ステップS491に進み、動きベクトル生成部426は、動きベクトルの大きさに初期値を設定する。ステップS492において、動きベクトル生成部426は、動きベクトルの角度に、所定の増分を加算する。動きベクトル生成部426は、大きさが初期値とされ、角度が変更された動きベクトルを動き補償部461−1、動き補償部461−2、および最大値判定部464に供給する。
【0431】
ステップS493において、推定混合比処理部401は、推定動きベクトルの大きさおよび角度を基に、所定の範囲の画素の相関値を算出したか否かを判定し、所定の範囲の画素の相関値を算出していないと判定された場合、ステップS487に戻り、相関値を算出の処理を繰り返す。
【0432】
ステップS493において、所定の範囲の画素の相関値を算出したと判定された場合、ステップS494に進み、重み生成部422は、重みに予め記憶している増分δを加算して、ステップS487に戻り、重みに対応する相関値の算出の処理を繰り返す。
【0433】
すなわち、重みが1以下であるとき、ステップS483乃至ステップS494の処理が繰り返され、増分δ毎に増加する重みおよび所定の範囲を示す動きベクトルに対応する相関値が算出され、重みおよび動きベクトルに対応付けられて相関値が記憶される。
【0434】
ステップS490において、動きベクトルの大きさが所定の値を越えていないと判定された場合、手続きは、ステップS487に戻り、重みに対応する相関値の算出の処理を繰り返す。
【0435】
ステップS482において、重みが1を越えたと判定された場合、ステップS495に進み、最大値判定部464は、相関が最も強いことを示す最大の相関値に対応する動きベクトルおよび重みを選択する。
【0436】
ステップS496において、最大値判定部464は、選択された動きベクトルを推定動きベクトルに設定して、推定動きベクトルを動きベクトル決定部404に供給する。
【0437】
ステップS497において、最大値判定部464は、選択された重みを推定混合比に設定して、重みが設定された推定混合比を混合比決定部403に出力し、処理は終了する。
【0438】
このように、推定混合比処理部401は、カバードバックグラウンド領域に対応する推定混合比および推定動きベクトルを算出することができる。
【0439】
なお、ステップS403のアンカバードバックグラウンド領域に対応する処理は、差分A、差分B、および差分Cの算出の処理において、背景に対応する画素値として、次のフレームの画素値を使用する点を除き、図73のフローチャートを参照して説明した処理と同様なので、その説明は省略する。
【0440】
次に、前景背景分離部103について説明する。図74は、前景背景分離部103の構成の一例を示すブロック図である。前景背景分離部103に供給された入力画像は、分離部601、スイッチ602、およびスイッチ604に供給される。カバードバックグラウンド領域を示す情報、およびアンカバードバックグラウンド領域を示す、領域特定部101から供給された領域情報は、分離部601に供給される。前景領域を示す領域情報は、スイッチ602に供給される。背景領域を示す領域情報は、スイッチ604に供給される。
【0441】
同時検出部102から供給された混合比αは、分離部601に供給される。
【0442】
分離部601は、カバードバックグラウンド領域を示す領域情報、アンカバードバックグラウンド領域を示す領域情報、および混合比αを基に、入力画像から前景の成分を分離して、分離した前景の成分を合成部603に供給するとともに、入力画像から背景の成分を分離して、分離した背景の成分を合成部605に供給する。
【0443】
スイッチ602は、前景領域を示す領域情報を基に、前景に対応する画素が入力されたとき、閉じられ、入力画像に含まれる前景に対応する画素のみを合成部603に供給する。
【0444】
スイッチ604は、背景領域を示す領域情報を基に、背景に対応する画素が入力されたとき、閉じられ、入力画像に含まれる背景に対応する画素のみを合成部605に供給する。
【0445】
合成部603は、分離部601から供給された前景に対応する成分、スイッチ602から供給された前景に対応する画素を基に、前景成分画像を合成し、合成した前景成分画像を出力する。前景領域と混合領域とは重複しないので、合成部603は、例えば、前景に対応する成分と、前景に対応する画素とに論理和の演算を適用して、前景成分画像を合成する。
【0446】
合成部603は、前景成分画像の合成の処理の最初に実行される初期化の処理において、内蔵しているフレームメモリに全ての画素値が0である画像を格納し、前景成分画像の合成の処理において、前景成分画像を格納(上書き)する。従って、合成部603が出力する前景成分画像の内、背景領域に対応する画素には、画素値として0が格納されている。
【0447】
合成部605は、分離部601から供給された背景に対応する成分、スイッチ604から供給された背景に対応する画素を基に、背景成分画像を合成して、合成した背景成分画像を出力する。背景領域と混合領域とは重複しないので、合成部605は、例えば、背景に対応する成分と、背景に対応する画素とに論理和の演算を適用して、背景成分画像を合成する。
【0448】
合成部605は、背景成分画像の合成の処理の最初に実行される初期化の処理において、内蔵しているフレームメモリに全ての画素値が0である画像を格納し、背景成分画像の合成の処理において、背景成分画像を格納(上書き)する。従って、合成部605が出力する背景成分画像の内、前景領域に対応する画素には、画素値として0が格納されている。
【0449】
図75は、前景背景分離部103に入力される入力画像、並びに前景背景分離部103から出力される前景成分画像および背景成分画像を示す図である。
【0450】
図75(A)は、表示される画像の模式図であり、図75(B)は、図75(A)に対応する前景領域に属する画素、背景領域に属する画素、および混合領域に属する画素を含む1ラインの画素を時間方向に展開したモデル図を示す。
【0451】
図75(A)および図75(B)に示すように、前景背景分離部103から出力される背景成分画像は、背景領域に属する画素、および混合領域の画素に含まれる背景の成分から構成される。
【0452】
図75(A)および図75(B)に示すように、前景背景分離部103から出力される前景成分画像は、前景領域に属する画素、および混合領域の画素に含まれる前景の成分から構成される。
【0453】
混合領域の画素の画素値は、前景背景分離部103により、背景の成分と、前景の成分とに分離される。分離された背景の成分は、背景領域に属する画素と共に、背景成分画像を構成する。分離された前景の成分は、前景領域に属する画素と共に、前景成分画像を構成する。
【0454】
このように、前景成分画像は、背景領域に対応する画素の画素値が0とされ、前景領域に対応する画素および混合領域に対応する画素に意味のある画素値が設定される。同様に、背景成分画像は、前景領域に対応する画素の画素値が0とされ、背景領域に対応する画素および混合領域に対応する画素に意味のある画素値が設定される。
【0455】
次に、分離部601が実行する、混合領域に属する画素から前景の成分、および背景の成分を分離する処理について説明する。
【0456】
図76は、図中の左から右に移動するオブジェクトに対応する前景を含む、2つのフレームの前景の成分および背景の成分を示す画像のモデルである。図76に示す画像のモデルにおいて、前景の動き量vは4であり、仮想分割数は、4とされている。
【0457】
フレーム#nにおいて、最も左の画素、および左から14番目乃至18番目の画素は、背景の成分のみから成り、背景領域に属する。フレーム#nにおいて、左から2番目乃至4番目の画素は、背景の成分および前景の成分を含み、アンカバードバックグラウンド領域に属する。フレーム#nにおいて、左から11番目乃至13番目の画素は、背景の成分および前景の成分を含み、カバードバックグラウンド領域に属する。フレーム#nにおいて、左から5番目乃至10番目の画素は、前景の成分のみから成り、前景領域に属する。
【0458】
フレーム#n+1において、左から1番目乃至5番目の画素、および左から18番目の画素は、背景の成分のみから成り、背景領域に属する。フレーム#n+1において、左から6番目乃至8番目の画素は、背景の成分および前景の成分を含み、アンカバードバックグラウンド領域に属する。フレーム#n+1において、左から15番目乃至17番目の画素は、背景の成分および前景の成分を含み、カバードバックグラウンド領域に属する。フレーム#n+1において、左から9番目乃至14番目の画素は、前景の成分のみから成り、前景領域に属する。
【0459】
図77は、カバードバックグラウンド領域に属する画素から前景の成分を分離する処理を説明する図である。図77において、α1乃至α18は、フレーム#nにおける画素のぞれぞれに対応する混合比である。図77において、左から15番目乃至17番目の画素は、カバードバックグラウンド領域に属する。
【0460】
フレーム#nの左から15番目の画素の画素値C15は、式(18)で表される。
【0461】
Figure 0004596218
ここで、α15は、フレーム#nの左から15番目の画素の混合比である。P15は、フレーム#n-1の左から15番目の画素の画素値である。
【0462】
式(18)を基に、フレーム#nの左から15番目の画素の前景の成分の和f15は、式(19)で表される。
【0463】
Figure 0004596218
【0464】
同様に、フレーム#nの左から16番目の画素の前景の成分の和f16は、式(20)で表され、フレーム#nの左から17番目の画素の前景の成分の和f17は、式(21)で表される。
【0465】
f16=C16-α16・P16 (20)
f17=C17-α17・P17 (21)
【0466】
このように、カバードバックグラウンド領域に属する画素の画素値Cに含まれる前景の成分fcは、式(22)で計算される。
【0467】
fc=C-α・P (22)
Pは、1つ前のフレームの、対応する画素の画素値である。
【0468】
図78は、アンカバードバックグラウンド領域に属する画素から前景の成分を分離する処理を説明する図である。図78において、α1乃至α18は、フレーム#nにおける画素のぞれぞれに対応する混合比である。図78において、左から2番目乃至4番目の画素は、アンカバードバックグラウンド領域に属する。
【0469】
フレーム#nの左から2番目の画素の画素値C02は、式(23)で表される。
【0470】
Figure 0004596218
ここで、α2は、フレーム#nの左から2番目の画素の混合比である。N02は、フレーム#n+1の左から2番目の画素の画素値である。
【0471】
式(23)を基に、フレーム#nの左から2番目の画素の前景の成分の和f02は、式(24)で表される。
【0472】
Figure 0004596218
【0473】
同様に、フレーム#nの左から3番目の画素の前景の成分の和f03は、式(25)で表され、フレーム#nの左から4番目の画素の前景の成分の和f04は、式(26)で表される。
【0474】
f03=C03-α3・N03 (25)
f04=C04-α4・N04 (26)
【0475】
このように、アンカバードバックグラウンド領域に属する画素の画素値Cに含まれる前景の成分fuは、式(27)で計算される。
【0476】
fu=C-α・N (27)
Nは、1つ後のフレームの、対応する画素の画素値である。
【0477】
このように、分離部601は、領域情報に含まれる、カバードバックグラウンド領域を示す情報、およびアンカバードバックグラウンド領域を示す情報、並びに画素毎の混合比αを基に、混合領域に属する画素から前景の成分、および背景の成分を分離することができる。
【0478】
図79は、以上で説明した処理を実行する分離部601の構成の一例を示すブロック図である。分離部601に入力された画像は、フレームメモリ621に供給され、同時検出部102から供給されたカバードバックグラウンド領域およびアンカバードバックグラウンド領域を示す領域情報、並びに混合比αは、分離処理ブロック622に入力される。
【0479】
フレームメモリ621は、入力された画像をフレーム単位で記憶する。フレームメモリ621は、処理の対象がフレーム#nであるとき、フレーム#nの1つ前のフレームであるフレーム#n-1、フレーム#n、およびフレーム#nの1つ後のフレームであるフレーム#n+1を記憶する。
【0480】
フレームメモリ621は、フレーム#n-1、フレーム#n、およびフレーム#n+1の対応する画素を分離処理ブロック622に供給する。
【0481】
分離処理ブロック622は、カバードバックグラウンド領域およびアンカバードバックグラウンド領域を示す領域情報、並びに混合比αを基に、フレームメモリ621から供給されたフレーム#n-1、フレーム#n、およびフレーム#n+1の対応する画素の画素値に図77および図78を参照して説明した演算を適用して、フレーム#nの混合領域に属する画素から前景の成分および背景の成分を分離して、フレームメモリ623に供給する。
【0482】
分離処理ブロック622は、アンカバード領域処理部631、カバード領域処理部632、合成部633、および合成部634で構成されている。
【0483】
アンカバード領域処理部631の乗算器641は、混合比αを、フレームメモリ621から供給されたフレーム#n+1の画素の画素値に乗じて、スイッチ642に出力する。スイッチ642は、フレームメモリ621から供給されたフレーム#nの画素(フレーム#n+1の画素に対応する)がアンカバードバックグラウンド領域であるとき、閉じられ、乗算器641から供給された混合比αを乗じた画素値を演算器643および合成部634に供給する。スイッチ642から出力されるフレーム#n+1の画素の画素値に混合比αを乗じた値は、フレーム#nの対応する画素の画素値の背景の成分に等しい。
【0484】
演算器643は、フレームメモリ621から供給されたフレーム#nの画素の画素値から、スイッチ642から供給された背景の成分を減じて、前景の成分を求める。演算器643は、アンカバードバックグラウンド領域に属する、フレーム#nの画素の前景の成分を合成部633に供給する。
【0485】
カバード領域処理部632の乗算器651は、混合比αを、フレームメモリ621から供給されたフレーム#n-1の画素の画素値に乗じて、スイッチ652に出力する。スイッチ652は、フレームメモリ621から供給されたフレーム#nの画素(フレーム#n-1の画素に対応する)がカバードバックグラウンド領域であるとき、閉じられ、乗算器651から供給された混合比αを乗じた画素値を演算器653および合成部634に供給する。スイッチ652から出力されるフレーム#n-1の画素の画素値に混合比αを乗じた値は、フレーム#nの対応する画素の画素値の背景の成分に等しい。
【0486】
演算器653は、フレームメモリ621から供給されたフレーム#nの画素の画素値から、スイッチ652から供給された背景の成分を減じて、前景の成分を求める。演算器653は、カバードバックグラウンド領域に属する、フレーム#nの画素の前景の成分を合成部633に供給する。
【0487】
合成部633は、フレーム#nの、演算器643から供給された、アンカバードバックグラウンド領域に属する画素の前景の成分、および演算器653から供給された、カバードバックグラウンド領域に属する画素の前景の成分を合成して、フレームメモリ623に供給する。
【0488】
合成部634は、フレーム#nの、スイッチ642から供給された、アンカバードバックグラウンド領域に属する画素の背景の成分、およびスイッチ652から供給された、カバードバックグラウンド領域に属する画素の背景の成分を合成して、フレームメモリ623に供給する。
【0489】
フレームメモリ623は、分離処理ブロック622から供給された、フレーム#nの混合領域の画素の前景の成分と、背景の成分とをそれぞれに記憶する。
【0490】
フレームメモリ623は、記憶しているフレーム#nの混合領域の画素の前景の成分、および記憶しているフレーム#nの混合領域の画素の背景の成分を出力する。
【0491】
特徴量である混合比αを利用することにより、画素値に含まれる前景の成分と背景の成分とを完全に分離することが可能になる。
【0492】
合成部603は、分離部601から出力された、フレーム#nの混合領域の画素の前景の成分と、前景領域に属する画素とを合成して前景成分画像を生成する。合成部605は、分離部601から出力された、フレーム#nの混合領域の画素の背景の成分と、背景領域に属する画素とを合成して背景成分画像を生成する。
【0493】
図80は、図76のフレーム#nに対応する、前景成分画像の例と、背景成分画像の例を示す図である。
【0494】
図80(A)は、図76のフレーム#nに対応する、前景成分画像の例を示す。最も左の画素、および左から14番目の画素は、前景と背景が分離される前において、背景の成分のみから成っていたので、画素値が0とされる。
【0495】
左から2番目乃至4番目の画素は、前景と背景とが分離される前において、アンカバードバックグラウンド領域に属し、背景の成分が0とされ、前景の成分がそのまま残されている。左から11番目乃至13番目の画素は、前景と背景とが分離される前において、カバードバックグラウンド領域に属し、背景の成分が0とされ、前景の成分がそのまま残されている。左から5番目乃至10番目の画素は、前景の成分のみから成るので、そのまま残される。
【0496】
図80(B)は、図76のフレーム#nに対応する、背景成分画像の例を示す。最も左の画素、および左から14番目の画素は、前景と背景とが分離される前において、背景の成分のみから成っていたので、そのまま残される。
【0497】
左から2番目乃至4番目の画素は、前景と背景とが分離される前において、アンカバードバックグラウンド領域に属し、前景の成分が0とされ、背景の成分がそのまま残されている。左から11番目乃至13番目の画素は、前景と背景とが分離される前において、カバードバックグラウンド領域に属し、前景の成分が0とされ、背景の成分がそのまま残されている。左から5番目乃至10番目の画素は、前景と背景とが分離される前において、前景の成分のみから成っていたので、画素値が0とされる。
【0498】
次に、図81に示すフローチャートを参照して、前景背景分離部103による前景と背景との分離の処理を説明する。ステップS601において、分離部601のフレームメモリ621は、入力画像を取得し、前景と背景との分離の対象となるフレーム#nを、その前のフレーム#n-1およびその後のフレーム#n+1と共に記憶する。
【0499】
ステップS602において、分離部601の分離処理ブロック622は、同時検出部102から供給された領域情報を取得する。ステップS603において、分離部601の分離処理ブロック622は、同時検出部102から供給された混合比αを取得する。
【0500】
ステップS604において、アンカバード領域処理部631は、領域情報および混合比αを基に、フレームメモリ621から供給された、アンカバードバックグラウンド領域に属する画素の画素値から、背景の成分を抽出する。
【0501】
ステップS605において、アンカバード領域処理部631は、領域情報および混合比αを基に、フレームメモリ621から供給された、アンカバードバックグラウンド領域に属する画素の画素値から、前景の成分を抽出する。
【0502】
ステップS606において、カバード領域処理部632は、領域情報および混合比αを基に、フレームメモリ621から供給された、カバードバックグラウンド領域に属する画素の画素値から、背景の成分を抽出する。
【0503】
ステップS607において、カバード領域処理部632は、領域情報および混合比αを基に、フレームメモリ621から供給された、カバードバックグラウンド領域に属する画素の画素値から、前景の成分を抽出する。
【0504】
ステップS608において、合成部633は、ステップS605の処理で抽出されたアンカバードバックグラウンド領域に属する画素の前景の成分と、ステップS607の処理で抽出されたカバードバックグラウンド領域に属する画素の前景の成分とを合成する。合成された前景の成分は、合成部603に供給される。更に、合成部603は、スイッチ602を介して供給された前景領域に属する画素と、分離部601から供給された前景の成分とを合成して、前景成分画像を生成する。
【0505】
ステップS609において、合成部634は、ステップS604の処理で抽出されたアンカバードバックグラウンド領域に属する画素の背景の成分と、ステップS606の処理で抽出されたカバードバックグラウンド領域に属する画素の背景の成分とを合成する。合成された背景の成分は、合成部605に供給される。更に、合成部605は、スイッチ604を介して供給された背景領域に属する画素と、分離部601から供給された背景の成分とを合成して、背景成分画像を生成する。
【0506】
ステップS610において、合成部603は、前景成分画像を出力する。ステップS611において、合成部605は、背景成分画像を出力し、処理は終了する。
【0507】
このように、前景背景分離部103は、領域情報および混合比αを基に、入力画像から前景の成分と、背景の成分とを分離し、前景の成分のみから成る前景成分画像、および背景の成分のみから成る背景成分画像を出力することができる。
【0508】
次に、前景成分画像からの動きボケの量の調整について説明する。
【0509】
図82は、動きボケ調整部104の構成の一例を示すブロック図である。同時検出部102から供給された動きベクトル、および領域特定部101から供給された領域情報は、処理単位決定部801およびモデル化部802に供給される。前景背景分離部103から供給された前景成分画像は、足し込み部804に供給される。
【0510】
処理単位決定部801は、動きベクトル、および領域情報を基に、動きベクトルと共に、生成した処理単位をモデル化部802に供給する。処理単位決定部801は、生成した処理単位を足し込み部804に供給する。
【0511】
処理単位決定部801が生成する処理単位は、図83に例を示すように、前景成分画像のカバードバックグラウンド領域に対応する画素から始まり、アンカバードバックグラウンド領域に対応する画素までの動き方向に並ぶ連続する画素、またはアンカバードバックグラウンド領域に対応する画素から始まり、カバードバックグラウンド領域に対応する画素までの動き方向に並ぶ連続する画素を示す。処理単位は、例えば、左上点(処理単位で指定される画素であって、画像上で最も左または最も上に位置する画素の位置)および右下点の2つのデータから成る。
【0512】
モデル化部802は、動きベクトルおよび入力された処理単位を基に、モデル化を実行する。より具体的には、例えば、モデル化部802は、処理単位に含まれる画素の数、画素値の時間方向の仮想分割数、および画素毎の前景の成分の数に対応する複数のモデルを予め記憶しておき、処理単位、および画素値の時間方向の仮想分割数を基に、図84に示すような、画素値と前景の成分との対応を指定するモデルを選択するようにしても良い。
【0513】
例えば、処理単位に対応する画素の数が12でありシャッタ時間内の動き量vが5であるときにおいては、モデル化部802は、仮想分割数を5とし、最も左に位置する画素が1つの前景の成分を含み、左から2番目の画素が2つの前景の成分を含み、左から3番目の画素が3つの前景の成分を含み、左から4番目の画素が4つの前景の成分を含み、左から5番目の画素が5つの前景の成分を含み、左から6番目の画素が5つの前景の成分を含み、左から7番目の画素が5つの前景の成分を含み、左から8番目の画素が5つの前景の成分を含み、左から9番目の画素が4つの前景の成分を含み、左から10番目の画素が3つの前景の成分を含み、左から11番目の画素が2つの前景の成分を含み、左から12番目の画素が1つの前景の成分を含み、全体として8つの前景の成分から成るモデルを選択する。
【0514】
なお、モデル化部802は、予め記憶してあるモデルから選択するのではなく、動きベクトル、および処理単位が供給されたとき、動きベクトル、および処理単位を基に、モデルを生成するようにしてもよい。
【0515】
モデル化部802は、選択したモデルを方程式生成部803に供給する。
【0516】
方程式生成部803は、モデル化部802から供給されたモデルを基に、方程式を生成する。図84に示す前景成分画像のモデルを参照して、前景の成分の数が8であり、処理単位に対応する画素の数が12であり、動き量vが5であり、仮想分割数が5であるときの、方程式生成部803が生成する方程式について説明する。
【0517】
前景成分画像に含まれるシャッタ時間/vに対応する前景成分がF01/v乃至F08/vであるとき、F01/v乃至F08/vと画素値C01乃至C12との関係は、式(28)乃至式(39)で表される。
【0518】
C01=F01/v (28)
C02=F02/v+F01/v (29)
C03=F03/v+F02/v+F01/v (30)
C04=F04/v+F03/v+F02/v+F01/v (31)
C05=F05/v+F04/v+F03/v+F02/v+F01/v (32)
C06=F06/v+F05/v+F04/v+F03/v+F02/v (33)
C07=F07/v+F06/v+F05/v+F04/v+F03/v (34)
C08=F08/v+F07/v+F06/v+F05/v+F04/v (35)
C09=F08/v+F07/v+F06/v+F05/v (36)
C10=F08/v+F07/v+F06/v (37)
C11=F08/v+F07/v (38)
C12=F08/v (39)
【0519】
方程式生成部803は、生成した方程式を変形して方程式を生成する。方程式生成部803が生成する方程式を、式(40)乃至式(51)に示す。
Figure 0004596218
【0520】
式(40)乃至式(51)は、式(52)として表すこともできる。
【0521】
【数12】
Figure 0004596218
式(52)において、jは、画素の位置を示す。この例において、jは、1乃至12のいずれか1つの値を有する。また、iは、前景値の位置を示す。この例において、iは、1乃至8のいずれか1つの値を有する。aijは、iおよびjの値に対応して、0または1の値を有する。
【0522】
誤差を考慮して表現すると、式(52)は、式(53)のように表すことができる。
【0523】
【数13】
Figure 0004596218
式(53)において、ejは、注目画素Cjに含まれる誤差である。
【0524】
式(53)は、式(54)に書き換えることができる。
【0525】
【数14】
Figure 0004596218
【0526】
ここで、最小自乗法を適用するため、誤差の自乗和Eを式(55)に示すように定義する。
【0527】
【数15】
Figure 0004596218
【0528】
誤差が最小になるためには、誤差の自乗和Eに対する、変数Fkによる偏微分の値が0になればよい。式(56)を満たすようにFkを求める。
【0529】
【数16】
Figure 0004596218
【0530】
式(56)において、動き量vは固定値であるから、式(57)を導くことができる。
【0531】
【数17】
Figure 0004596218
【0532】
式(57)を展開して、移項すると、式(58)を得る。
【0533】
【数18】
Figure 0004596218
【0534】
式(58)のkに1乃至8の整数のいずれか1つを代入して得られる8つの式に展開する。得られた8つの式を、行列により1つの式により表すことができる。この式を正規方程式と呼ぶ。
【0535】
このような最小自乗法に基づく、方程式生成部803が生成する正規方程式の例を式(59)に示す。
【0536】
【数19】
Figure 0004596218
【0537】
式(59)をA・F=v・Cと表すと、C,A,vが既知であり、Fは未知である。また、A,vは、モデル化の時点で既知だが、Cは、足し込み動作において画素値を入力することで既知となる。
【0538】
最小自乗法に基づく正規方程式により前景成分を算出することにより、画素Cに含まれている誤差を分散させることができる。
【0539】
方程式生成部803は、このように生成された正規方程式を足し込み部804に供給する。
【0540】
足し込み部804は、処理単位決定部801から供給された処理単位を基に、前景成分画像に含まれる画素値Cを、方程式生成部803から供給された行列の式に設定する。足し込み部804は、画素値Cを設定した行列を演算部805に供給する。
【0541】
演算部805は、掃き出し法(Gauss-Jordanの消去法)などの解法に基づく処理により、動きボケが除去された前景成分Fi/vを算出して、動きボケが除去された前景の画素値である、0乃至8の整数のいずれかのiに対応するFiを算出して、図85に例を示す、動きボケが除去された画素値であるFiから成る、動きボケが除去された前景成分画像を動きボケ付加部806および選択部807に出力する。
【0542】
なお、図85に示す動きボケが除去された前景成分画像において、C03乃至C10のそれぞれにF01乃至F08のそれぞれが設定されているのは、画面に対する前景成分画像の位置を変化させないためであり、任意の位置に対応させることができる。
【0543】
動きボケ付加部806は、動き量vとは異なる値の動きボケ調整量v'、例えば、動き量vの半分の値の動きボケ調整量v'や、動き量vと無関係の値の動きボケ調整量v'を与えることで、動きボケの量を調整することができる。例えば、図86に示すように、動きボケ付加部806は、動きボケが除去された前景の画素値Fiを動きボケ調整量v'で除すことにより、前景成分Fi/v'を算出して、前景成分Fi/v'の和を算出して、動きボケの量が調整された画素値を生成する。例えば、動きボケ調整量v'が3のとき、画素値C02は、(F01)/v'とされ、画素値C03は、(F01+F02)/v'とされ、画素値C04は、(F01+F02+F03)/v'とされ、画素値C05は、(F02+F03+F04)/v'とされる。
【0544】
動きボケ付加部806は、動きボケの量を調整した前景成分画像を選択部807に供給する。
【0545】
選択部807は、例えば使用者の選択に対応した選択信号を基に、演算部805から供給された動きボケが除去された前景成分画像、および動きボケ付加部806から供給された動きボケの量が調整された前景成分画像のいずれか一方を選択して、選択した前景成分画像を出力する。
【0546】
このように、動きボケ調整部104は、選択信号および動きボケ調整量v'を基に、動きボケの量を調整することができる。
【0547】
また、例えば、図87に示すように、処理単位に対応する画素の数が8であり、動き量vが4であるとき、動きボケ調整部104は、式(60)に示す行列の式を生成する。
【0548】
【数20】
Figure 0004596218
【0549】
動きボケ調整部104は、このように処理単位の長さに対応した数の式を立てて、動きボケの量が調整された画素値であるFiを算出する。同様に、例えば、処理単位に含まれる画素の数が100あるとき、100個の画素に対応する式を生成して、Fiを算出する。
【0550】
図88は、動きボケ調整部104の他の構成を示す図である。図82に示す場合と同様の部分には同一の番号を付してあり、その説明は省略する。
【0551】
選択部821は、選択信号を基に、入力された動きベクトルとその位置信号をそのまま処理単位決定部801およびモデル化部802に供給するか、または動きベクトルの大きさを動きボケ調整量v'に置き換えて、その大きさが動きボケ調整量v'に置き換えられた動きベクトルとその位置信号を処理単位決定部801およびモデル化部802に供給する。
【0552】
このようにすることで、図88の動きボケ調整部104の処理単位決定部801乃至演算部805は、動き量vと動きボケ調整量v'との値に対応して、動きボケの量を調整することができる。例えば、動き量vが5であり、動きボケ調整量v'が3であるとき、図88の動きボケ調整部104の処理単位決定部801乃至演算部805は、図84に示す動き量vが5である前景成分画像に対して、3である動きボケ調整量v'対応する図86に示すようなモデルに従って、演算を実行し、(動き量v)/(動きボケ調整量v')=5/3、すなわちほぼ1.7の動き量vに応じた動きボケを含む画像を算出する。なお、この場合、算出される画像は、3である動き量vに対応した動きボケを含むのではないので、動きボケ付加部806の結果とは動き量vと動きボケ調整量v'の関係の意味合いが異なる点に注意が必要である。
【0553】
以上のように、動きボケ調整部104は、動き量vおよび処理単位に対応して、式を生成し、生成した式に前景成分画像の画素値を設定して、動きボケの量が調整された前景成分画像を算出する。
【0554】
次に、図89のフローチャートを参照して、動きボケ調整部104による前景成分画像に含まれる動きボケの量の調整の処理を説明する。
【0555】
ステップS801において、動きボケ調整部104の処理単位決定部801は、動きベクトルおよび領域情報を基に、処理単位を生成し、生成した処理単位をモデル化部802に供給する。
【0556】
ステップS802において、動きボケ調整部104のモデル化部802は、動き量vおよび処理単位に対応して、モデルの選択や生成を行う。ステップS803において、方程式生成部803は、選択されたモデルを基に、正規方程式を作成する。
【0557】
ステップS804において、足し込み部804は、作成された正規方程式に前景成分画像の画素値を設定する。ステップS805において、足し込み部804は、処理単位に対応する全ての画素の画素値の設定を行ったか否かを判定し、処理単位に対応する全ての画素の画素値の設定を行っていないと判定された場合、ステップS804に戻り、正規方程式への画素値の設定の処理を繰り返す。
【0558】
ステップS805において、処理単位の全ての画素の画素値の設定を行ったと判定された場合、ステップS806に進み、演算部805は、足し込み部804から供給された画素値が設定された正規方程式を基に、動きボケの量を調整した前景の画素値を算出して、処理は終了する。
【0559】
このように、動きボケ調整部104は、動きベクトルおよび領域情報を基に、動きボケを含む前景画像から動きボケの量を調整することができる。
【0560】
すなわち、サンプルデータである画素値に含まれる動きボケの量を調整することができる。
【0561】
以上のように、図2に構成を示す信号処理装置は、入力画像に含まれる動きボケの量を調整することができる。
【0562】
図90は、動きボケ調整部104の構成の他の一例を示すブロック図である。同時検出部102から供給された動きベクトルは、処理単位決定部901および補正部905に供給され、領域特定部101から供給された領域情報は、処理単位決定部901に供給される。前景背景分離部103から供給された前景成分画像は、演算部904に供給される。
【0563】
処理単位決定部901は、動きベクトル、および領域情報を基に、動きベクトルと共に、生成した処理単位をモデル化部902に供給する。
【0564】
モデル化部902は、動きベクトルおよび入力された処理単位を基に、モデル化を実行する。より具体的には、例えば、モデル化部902は、処理単位に含まれる画素の数、画素値の時間方向の仮想分割数、および画素毎の前景の成分の数に対応する複数のモデルを予め記憶しておき、処理単位、および画素値の時間方向の仮想分割数を基に、図91に示すような、画素値と前景の成分との対応を指定するモデルを選択するようにしても良い。
【0565】
例えば、処理単位に対応する画素の数が12であり動き量vが5であるときにおいては、モデル化部902は、仮想分割数を5とし、最も左に位置する画素が1つの前景の成分を含み、左から2番目の画素が2つの前景の成分を含み、左から3番目の画素が3つの前景の成分を含み、左から4番目の画素が4つの前景の成分を含み、左から5番目の画素が5つの前景の成分を含み、左から6番目の画素が5つの前景の成分を含み、左から7番目の画素が5つの前景の成分を含み、左から8番目の画素が5つの前景の成分を含み、左から9番目の画素が4つの前景の成分を含み、左から10番目の画素が3つの前景の成分を含み、左から11番目の画素が2つの前景の成分を含み、左から12番目の画素が1つの前景の成分を含み、全体として8つの前景の成分から成るモデルを選択する。
【0566】
なお、モデル化部902は、予め記憶してあるモデルから選択するのではなく、動きベクトル、および処理単位が供給されたとき、動きベクトル、および処理単位を基に、モデルを生成するようにしてもよい。
【0567】
方程式生成部903は、モデル化部902から供給されたモデルを基に、方程式を生成する。
【0568】
図91乃至図93に示す前景成分画像のモデルを参照して、前景の成分の数が8であり、処理単位に対応する画素の数が12であり、動き量vが5であるときの、方程式生成部903が生成する方程式の例について説明する。
【0569】
前景成分画像に含まれるシャッタ時間/vに対応する前景成分がF01/v乃至F08/vであるとき、F01/v乃至F08/vと画素値C01乃至C12との関係は、上述したように、式(28)乃至式(39)で表される。
【0570】
画素値C12およびC11に注目すると、画素値C12は、式(61)に示すように、前景の成分F08/vのみを含み、画素値C11は、前景の成分F08/vおよび前景の成分F07/vの積和から成る。従って、前景の成分F07/vは、式(62)で求めることができる。
【0571】
F08/v=C12 (61)
F07/v=C11-C12 (62)
【0572】
同様に、画素値C10乃至C01に含まれる前景の成分を考慮すると、前景の成分F06/v乃至F01/vは、式(63)乃至式(68)により求めることができる。
【0573】
F06/v=C10-C11 (63)
F05/v=C09-C10 (64)
F04/v=C08-C09 (65)
F03/v=C07-C08+C12 (66)
F02/v=C06-C07+C11-C12 (67)
F01/v=C05-C06+C10-C11 (68)
【0574】
方程式生成部903は、式(61)乃至式(68)に例を示す、画素値の差により前景の成分を算出するための方程式を生成する。方程式生成部903は、生成した方程式を演算部904に供給する。
【0575】
演算部904は、方程式生成部903から供給された方程式に前景成分画像の画素値を設定して、画素値を設定した方程式を基に、前景の成分を算出する。演算部904は、例えば、式(61)乃至式(68)が方程式生成部903から供給されたとき、式(61)乃至式(68)に画素値C05乃至C12を設定する。
【0576】
演算部904は、画素値が設定された式に基づき、前景の成分を算出する。例えば、演算部904は、画素値C05乃至C12が設定された式(61)乃至式(68)に基づく演算により、図92に示すように、前景の成分F01/v乃至F08/vを算出する。演算部904は、前景の成分F01/v乃至F08/vを補正部905に供給する。
【0577】
補正部905は、演算部904から供給された前景の成分に、処理単位決定部901から供給された動きベクトルに含まれる動き量vを乗じて、動きボケを除去した前景の画素値を算出する。例えば、補正部905は、演算部904から供給された前景の成分F01/v乃至F08/vが供給されたとき、前景の成分F01/v乃至F08/vのそれぞれに、5である動き量vを乗じることにより、図93に示すように、動きボケを除去した前景の画素値F01乃至F08を算出する。
【0578】
補正部905は、以上のように算出された、動きボケを除去した前景の画素値から成る前景成分画像を動きボケ付加部906および選択部907に供給する。
【0579】
動きボケ付加部906は、動き量vとは異なる値の動きボケ調整量v'、例えば、動き量vの半分の値の動きボケ調整量v'、動き量vと無関係の値の動きボケ調整量v'で、動きボケの量を調整することができる。例えば、図86に示すように、動きボケ付加部906は、動きボケが除去された前景の画素値Fiを動きボケ調整量v'で除すことにより、前景成分Fi/v'を算出して、前景成分Fi/v'の和を算出して、動きボケの量が調整された画素値を生成する。例えば、動きボケ調整量v'が3のとき、画素値C02は、(F01)/v'とされ、画素値C03は、(F01+F02)/v'とされ、画素値C04は、(F01+F02+F03)/v'とされ、画素値C05は、(F02+F03+F04)/v'とされる。
【0580】
動きボケ付加部906は、動きボケの量を調整した前景成分画像を選択部907に供給する。
【0581】
選択部907は、例えば使用者の選択に対応した選択信号を基に、補正部905から供給された動きボケが除去された前景成分画像、および動きボケ付加部906から供給された動きボケの量が調整された前景成分画像のいずれか一方を選択して、選択した前景成分画像を出力する。
【0582】
このように、動きボケ調整部104は、選択信号および動きボケ調整量v'を基に、動きボケの量を調整することができる。
【0583】
次に、図90に構成を示す動きボケ調整部104による前景の動きボケの量の調整の処理を図94のフローチャートを参照して説明する。
【0584】
ステップS901において、動きボケ調整部104の処理単位決定部901は、動きベクトルおよび領域情報を基に、処理単位を生成し、生成した処理単位をモデル化部902および補正部905に供給する。
【0585】
ステップS902において、動きボケ調整部104のモデル化部902は、動き量vおよび処理単位に対応して、モデルの選択や生成を行う。ステップS903において、方程式生成部903は、選択または生成されたモデルを基に、前景成分画像の画素値の差により前景の成分を算出するための方程式を生成する。
【0586】
ステップS904において、演算部904は、作成された方程式に前景成分画像の画素値を設定し、画素値が設定された方程式を基に、画素値の差分から前景の成分を抽出する。ステップS905において、演算部904は、処理単位に対応する全ての前景の成分を抽出したか否かを判定し、処理単位に対応する全ての前景の成分を抽出していないと判定された場合、ステップS904に戻り、前景の成分を抽出の処理を繰り返す。
【0587】
ステップS905において、処理単位に対応する全ての前景の成分を抽出したと判定された場合、ステップS906に進み、補正部905は、動き量vを基に、演算部904から供給された前景の成分F01/v乃至F08/vのそれぞれを補正して、動きボケを除去した前景の画素値F01乃至F08を算出する。
【0588】
ステップS907において、動きボケ付加部906は、動きボケの量を調整した前景の画素値を算出して、選択部907は、動きボケが除去された画像または動きボケの量が調整された画像のいずれかを選択して、選択した画像を出力して、処理は終了する。
【0589】
このように、図90に構成を示す動きボケ調整部104は、より簡単な演算で、より迅速に、動きボケを含む前景画像から動きボケを調整することができる。
【0590】
ウィナー・フィルタなど従来の動きボケを部分的に除去する手法が、理想状態では効果が認められるが、量子化され、ノイズを含んだ実際の画像に対して十分な効果が得られないのに対し、図90に構成を示す動きボケ調整部104においても、量子化され、ノイズを含んだ実際の画像に対しても十分な効果が認められ、精度の良い動きボケの除去が可能となる。
【0591】
図95は、動きボケの量を調整する信号処理装置の機能の更に他の構成を示すブロック図である。図2に示す信号処理装置が領域特定と混合比αの算出を順番に行うのに対して、図95に示す信号処理装置は、領域特定と混合比αの算出を並行して行う。
【0592】
図2のブロック図に示す機能と同様の部分には同一の番号を付してあり、その説明は省略する。
【0593】
入力画像は、同時検出部1001、前景背景分離部1002、および領域特定部101に供給される。
【0594】
同時検出部1001は、入力画像を基に、画素がカバードバックグラウンド領域に属すると仮定した場合における推定混合比、および画素がアンカバードバックグラウンド領域に属すると仮定した場合における推定混合比を、入力画像に含まれる画素のそれぞれに対して算出し、算出した画素がカバードバックグラウンド領域に属すると仮定した場合における推定混合比、および画素がアンカバードバックグラウンド領域に属すると仮定した場合における推定混合比を前景背景分離部1002に供給する。
【0595】
同時検出部1001は、入力画像を基に、画素がカバードバックグラウンド領域に属すると仮定した場合における推定動きベクトル、および画素がアンカバードバックグラウンド領域に属すると仮定した場合における推定動きベクトルを、入力画像に含まれる画素のそれぞれに対して算出し、算出した画素がカバードバックグラウンド領域に属すると仮定した場合における推定動きベクトル、および画素がアンカバードバックグラウンド領域に属すると仮定した場合における推定動きベクトルを動きボケ調整部1003に供給する。
【0596】
図96は、同時検出部1001の構成の一例を示すブロック図である。
【0597】
図96に示す推定混合比処理部401は、図47に示す推定混合比処理部401と同じである。図96に示す推定混合比処理部402は、図47に示す推定混合比処理部402と同じである。
【0598】
推定混合比処理部401は、入力画像を基に、カバードバックグラウンド領域のモデルに対応する演算により、画素毎に推定混合比および推定動きベクトルを算出して、算出した推定混合比および推定動きベクトルを出力する。
【0599】
推定混合比処理部402は、入力画像を基に、アンカバードバックグラウンド領域のモデルに対応する演算により、画素毎に推定混合比および推定動きベクトルを算出して、算出した推定混合比および推定動きベクトルを出力する。
【0600】
前景背景分離部1002は、同時検出部1001から供給された、画素がカバードバックグラウンド領域に属すると仮定した場合における推定混合比、および画素がアンカバードバックグラウンド領域に属すると仮定した場合における推定混合比、並びに領域特定部101から供給された領域情報を基に、入力画像から前景成分画像を生成し、生成した前景成分画像を動きボケ調整部1003および選択部105に供給する。
【0601】
図97は、前景背景分離部1002の構成の一例を示すブロック図である。
【0602】
図74に示す前景背景分離部103と同様の部分には同一の番号を付してあり、その説明は省略する。
【0603】
選択部1021は、領域特定部101から供給された領域情報を基に、同時検出部1001から供給された、画素がカバードバックグラウンド領域に属すると仮定した場合における推定混合比、および画素がアンカバードバックグラウンド領域に属すると仮定した場合における推定混合比のいずれか一方を選択して、選択した推定混合比を混合比αとして分離部601に供給する。
【0604】
分離部601は、選択部1021から供給された混合比αおよび領域情報を基に、混合領域に属する画素の画素値から前景の成分および背景の成分を抽出し、抽出した前景の成分を合成部603に供給すると共に、背景の成分を合成部605に供給する。
【0605】
分離部601は、図79に示す構成と同じ構成とすることができる。
【0606】
合成部603は、前景成分画像を合成して、出力する。合成部605は、背景成分画像を合成して出力する。
【0607】
図95に戻り、動きボケ調整部1003は、領域情報および推定動きベクトルを基に、前景背景分離部1002から供給された前景成分画像に含まれる動きボケの量を調整して、動きボケの量が調整された前景成分画像を出力する。
【0608】
図98は、動きボケ調整部1003の構成を示す図である。
【0609】
図82に示す動きボケ調整部104と同様の部分には、同一の番号を付してあり、その説明は省略する。
【0610】
選択部1041は、領域特定部101から供給された領域情報を基に、同時検出部1001から供給された、画素がカバードバックグラウンド領域に属すると仮定した場合における推定動きベクトル、および画素がアンカバードバックグラウンド領域に属すると仮定した場合における推定動きベクトルのいずれか一方を選択して、選択した推定動きベクトルを動きベクトルとして処理単位決定部801および演算部805に供給する。
【0611】
図95に示す選択部105は、例えば使用者の選択に対応した選択信号を基に、前景背景分離部1002から供給された前景成分画像、および動きボケ調整部1003から供給された動きボケの量が調整された前景成分画像のいずれか一方を選択して、選択した前景成分画像を出力する。
【0612】
このように、図95に構成を示す信号処理装置は、入力画像に含まれる前景のオブジェクトに対応する画像に対して、その画像に含まれる動きボケの量を調整して出力することができる。
【0613】
図99は、本発明に係る信号処理装置のさらに他の構成を示すブロック図である。図2に示す信号処理装置と同様の部分には同一の番号を付してあり、その説明は省略する。
【0614】
領域特定部101は、領域情報を同時検出部102および前景背景分離部103に供給する。
【0615】
同時検出部102は、検出した混合比αを前景背景分離部103に供給すると共に、検出した動きベクトルをノイズ除去部1101に供給する。
【0616】
ノイズ除去部1101は、同時検出部102から供給された動きベクトル、および前景背景分離部103から供給された、複数のフレームの前景成分画像を基に、前景成分画像からノイズを除去して、ノイズを除去した前景成分画像を選択部105に供給する。
【0617】
選択部105は、例えば使用者の選択に対応した選択信号を基に、前景背景分離部103から供給された前景成分画像、およびノイズ除去部1101から供給されたノイズが除去された前景成分画像のいずれか一方を選択して、選択した前景成分画像を出力する。
【0618】
図100は、ノイズ除去部1101の構成を示すブロック図である。
【0619】
前景背景分離部103から供給された前景成分画像は、フレームメモリ1111−1および平均画素値算出部1113に入力される。
【0620】
フレームメモリ1111−1乃至1111−Nは、直列に接続され、前景背景分離部103または前のフレームメモリから供給された前景成分画像を記憶し、1フレームに対応する期間遅延させて、記憶している前景成分画像を出力する。
【0621】
フレームメモリ1111−1は、前景背景分離部103から供給された前景成分画像を記憶し、1フレームに対応する期間遅延させて、記憶している前景成分画像をフレームメモリ1111−2および動き補償部1112−1に供給する。
【0622】
フレームメモリ1111−2乃至1111−(N−1)は、それぞれ、前のフレームメモリから供給された前景成分画像を記憶し、1フレームに対応する期間遅延させて、次のフレームメモリおよび動き補償部1112−2乃至1112−(N−1)のいずれかに供給する。
【0623】
フレームメモリ1111−Nは、フレームメモリ1111−(N−1)から供給された前景成分画像を記憶し、1フレームに対応する期間遅延させて、記憶している前景成分画像を動き補償部1112−Nに供給する。
【0624】
動き補償部1112−1は、同時検出部102から供給された動きベクトルを基に、フレームメモリ1111−1から供給された前景成分画像を動き補償し、動き補償された前景成分画像を平均画素値算出部1113に供給する。
【0625】
動き補償部1112−2乃至1112−Nのそれぞれは、同時検出部102から供給された動きベクトルを基に、フレームメモリ1111−2乃至1111−Nのいずれかから供給された前景成分画像を動き補償し、動き補償した前景成分画像のそれぞれを平均画素値算出部1113に供給する。
【0626】
動き補償部1112−1乃至1112−Nから平均画素値算出部1113に供給される全ての前景成分画像の画面上の位置は、ノイズ除去部1101に入力される前景成分画像の画面上の位置に一致している。
【0627】
平均画素値算出部1113は、画面上の位置が一致している、ノイズ除去部1101に入力された前景成分画像、および動き補償部1112−1乃至1112−Nのそれぞれから供給された前景成分画像を基に、各画素の画素値の平均値を算出する。平均画素値算出部1113は、前景成分画像の画素値に、算出した画素値の平均値を設定することにより、前景成分画像からノイズを除去し、ノイズが除去された前景成分画像を出力する。
【0628】
このように、ノイズ除去部1101は、同時検出部102から供給された動きベクトルを基に、前景背景分離部103から出力された前景成分画像からノイズを除去することができる。
【0629】
同時検出部102が出力する動きベクトルが、混合領域が考慮された動きベクトルなので、複数のフレームの前景成分画像をより正確に動き補償することができ、よって、ノイズ除去部1101は、よりノイズのレベルを下げることができる。
【0630】
図101のフローチャートを参照して、信号処理装置によるノイズの除去の処理を説明する。
【0631】
ステップS1101乃至ステップS1103の処理のそれぞれは、ステップS11乃至ステップS13の処理のそれぞれと同様なので、その説明は省略する。
【0632】
ステップS1104において、ノイズ除去部1101は、同時検出部102から供給された動きベクトルを基に、前景背景分離部103から供給された前景成分画像のノイズを除去する。ノイズを除去する処理の詳細は、図102のフローチャートを参照して後述する。
【0633】
ステップS1105において、信号処理装置は、画面全体について処理を終了したか否かを判定し、画面全体について処理を終了していないと判定された場合、ステップS1104に進み、ノイズ除去の処理を繰り返す。
【0634】
ステップS1105において、画面全体について処理を終了したと判定された場合、処理は終了する。
【0635】
このように、信号処理装置は、前景成分画像からノイズを除去することができる。
【0636】
図102は、ステップS1104の処理に対応する、ノイズ除去部1101による、前景成分画像のノイズの除去の処理を説明するフローチャートである。
【0637】
ステップS1111において、フレームメモリ1111−1乃至1111−Nは、フレーム毎の前景成分画像を記憶する。フレームメモリ1111−1乃至1111−Nは、それぞれ、記憶している前景成分画像を、動き補償部1112−1乃至1112−Nのいずれかに供給する。
【0638】
ステップS1112において、動き補償部1112−1乃至1112−Nは、それぞれ、同時検出部102から供給された動きベクトルを基に、フレーム毎の前景成分画像を動き補償する。
【0639】
ステップS1113において、平均画素値算出部1113は、動き補償された前景成分画像の画素値の平均値を算出して、算出した平均値を前景成分画像に設定することにより、前景成分画像からノイズを除去し、ノイズが除去された前景成分画像を出力して、処理は終了する。
【0640】
このように、ノイズ除去部1101は、前景成分画像からノイズを除去することができる。
【0641】
以上のように、図99に構成を示す信号処理装置は、前景成分画像と背景成分画像とを分離し、分離した前景成分画像のノイズを除去することができる。
【0642】
なお、混合比αは、画素値に含まれる背景の成分の割合として説明したが、画素値に含まれる前景の成分の割合としてもよい。
【0643】
また、前景となるオブジェクトの動きの方向は左から右として説明したが、その方向に限定されないことは勿論である。
【0644】
以上においては、3次元空間と時間軸情報を有する現実空間の画像をビデオカメラを用いて2次元空間と時間軸情報を有する時空間への射影を行った場合を例としたが、本発明は、この例に限らず、より多くの第1の次元の第1の情報を、より少ない第2の次元の第2の情報に射影した場合に、その射影によって発生する歪みを補正したり、有意情報を抽出したり、またはより自然に画像を合成する場合に適応することが可能である。
【0645】
なお、センサは、CCDに限らず、固体撮像素子である、例えば、BBD(Bucket Brigade Device)、CID(Charge Injection Device)、CPD(Charge Priming Device)、またはCMOS(Complementary Mental Oxide Semiconductor)センサでもよく、また、検出素子がマトリックス状に配置されているセンサに限らず、検出素子が1列に並んでいるセンサでもよい。
【0646】
本発明の信号処理を行うプログラムを記録した記録媒体は、図1に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク51(フロッピ(登録商標)ディスクを含む)、光ディスク52(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク53(MD(Mini-Disc)(商標)を含む)、もしくは半導体メモリ54などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM22や、記憶部28に含まれるハードディスクなどで構成される。
【0647】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0648】
【発明の効果】
本発明の画像処理装置および方法、記録媒体、並びにプログラムによれば混合比を検出すると共に、混合領域を考慮して、動きベクトルを検出することができるようになる。
【図面の簡単な説明】
【図1】本発明に係る信号処理装置の一実施の形態を示す図である。
【図2】信号処理装置を示すブロック図である。
【図3】センサによる撮像を説明する図である。
【図4】画素の配置を説明する図である。
【図5】検出素子の動作を説明する図である。
【図6】動いている前景に対応するオブジェクトと、静止している背景に対応するオブジェクトとを撮像して得られる画像を説明する図である。
【図7】背景領域、前景領域、混合領域、カバードバックグラウンド領域、およびアンカバードバックグラウンド領域を説明する図である。
【図8】静止している前景に対応するオブジェクトおよび静止している背景に対応するオブジェクトを撮像した画像における、隣接して1列に並んでいる画素の画素値を時間方向に展開したモデル図である。
【図9】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図10】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図11】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図12】前景領域、背景領域、および混合領域の画素を抽出した例を示す図である。
【図13】画素と画素値を時間方向に展開したモデルとの対応を示す図である。
【図14】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図15】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図16】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図17】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図18】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図19】動きボケの量の調整の処理を説明するフローチャートである。
【図20】領域特定部101の構成の一例を示すブロック図である。
【図21】前景に対応するオブジェクトが移動しているときの画像を説明する図である。
【図22】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図23】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図24】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図25】領域判定の条件を説明する図である。
【図26】領域特定部101の領域の特定の結果の例を示す図である。
【図27】領域特定部101の領域の特定の結果の例を示す図である。
【図28】領域特定の処理を説明するフローチャートである。
【図29】領域特定部101の構成の他の一例を示すブロック図である。
【図30】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図31】背景画像の例を示す図である。
【図32】2値オブジェクト画像抽出部302の構成を示すブロック図である。
【図33】相関値の算出を説明する図である。
【図34】相関値の算出を説明する図である。
【図35】2値オブジェクト画像の例を示す図である。
【図36】時間変化検出部303の構成を示すブロック図である。
【図37】領域判定部342の判定を説明する図である。
【図38】時間変化検出部303の判定の例を示す図である。
【図39】領域判定部103の領域特定の処理を説明するフローチャートである。
【図40】領域判定の処理の詳細を説明するフローチャートである。
【図41】領域特定部101のさらに他の構成を示すブロック図である。
【図42】ロバスト化部361の構成を説明するブロック図である。
【図43】動き補償部381の動き補償を説明する図である。
【図44】動き補償部381の動き補償を説明する図である。
【図45】領域特定の処理を説明するフローチャートである。
【図46】ロバスト化の処理の詳細を説明するフローチャートである。
【図47】同時検出部102の構成を示すブロック図である。
【図48】推定混合比処理部401の構成を示すブロック図である。
【図49】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図50】重み付け差分画像データを説明する図である。
【図51】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図52】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図53】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図54】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図55】重み付け差分画像相関データを説明する図である。
【図56】ブロックによる推定混合比の検出の一例を示す図である。
【図57】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図58】ブロックによる推定混合比の検出の一例を示す図である。
【図59】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図60】ブロックによる推定混合比の検出の一例を示す図である。
【図61】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図62】より確からしい推定混合比および推定動きベクトルの選択を説明する図である。
【図63】より確からしい推定混合比および推定動きベクトルの選択を説明する図である。
【図64】より確からしい推定混合比および推定動きベクトルの選択を説明する図である。
【図65】より確からしい推定混合比および推定動きベクトルの選択を説明する図である。
【図66】より確からしい推定混合比および推定動きベクトルの選択を説明する図である。
【図67】同時検出部102の他の構成を示すブロック図である。
【図68】混合比αおよび動きベクトルの検出の処理を説明するフローチャートである。
【図69】混合比および動きベクトル推定の処理を説明するフローチャートである。
【図70】混合比および動きベクトル推定の他の処理を説明するフローチャートである。
【図71】推定混合比処理部401の他の構成を示すブロック図である。
【図72】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図73】混合比および動きベクトル推定のさらに他の処理を説明するフローチャートである。
【図74】前景背景分離部103の構成の一例を示すブロック図である。
【図75】入力画像、前景成分画像、および背景成分画像を示す図である。
【図76】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図77】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図78】画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図79】分離部601の構成の一例を示すブロック図である。
【図80】分離された前景成分画像、および背景成分画像の例を示す図である。
【図81】前景と背景との分離の処理を説明するフローチャートである。
【図82】動きボケ調整部104の構成の一例を示すブロック図である。
【図83】処理単位を説明する図である。
【図84】前景成分画像の画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図85】前景成分画像の画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図86】前景成分画像の画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図87】前景成分画像の画素値を時間方向に展開し、シャッタ時間に対応する期間を分割したモデル図である。
【図88】動きボケ調整部104の他の構成を示す図である。
【図89】動きボケ調整部104による前景成分画像に含まれる動きボケの量の調整の処理を説明するフローチャートである。
【図90】動きボケ調整部104の構成の他の一例を示すブロック図である。
【図91】画素値と前景の成分のとの対応を指定するモデルの例を示す図である。
【図92】前景の成分の算出を説明する図である。
【図93】前景の成分の算出を説明する図である。
【図94】前景成分画像の動きボケの除去の処理を説明するフローチャートである。
【図95】信号処理装置の機能の他の構成を示すブロック図である。
【図96】同時検出部1001の構成を示す図である。
【図97】前景背景分離部1002の構成を示す図である。
【図98】動きボケ調整部1003の構成を示す図である。
【図99】信号処理装置の機能のさらに他の構成を示すブロック図である。
【図100】ノイズ除去部1101の構成を示す図である。
【図101】ノイズ除去の処理を説明するフローチャートである。
【図102】前景成分画像のノイズの除去の処理を説明するフローチャートである。
【符号の説明】
21 CPU, 22 ROM, 23 RAM, 26 入力部, 27 出力部,28 記憶部, 29 通信部, 51 磁気ディスク, 52 光ディスク, 53 光磁気ディスク, 54 半導体メモリ, 101 領域特定部, 102 同時検出部, 103 前景背景分離部, 104 動きボケ調整部,105 選択部, 201 フレームメモリ, 202−1乃至202−4 静動判定部, 203−1乃至203−3 領域判定部, 204 判定フラグ格納フレームメモリ, 205 合成部, 206 判定フラグ格納フレームメモリ, 301 背景画像生成部, 302 2値オブジェクト画像抽出部, 303 時間変化検出部, 321 相関値演算部, 322 しきい値処理部, 341 フレームメモリ, 342 領域判定部, 361 ロバスト化部, 381 動き補償部, 382 スイッチ, 383−1乃至383−N フレームメモリ、 384−1乃至384−N 重み付け部, 385 積算部, 401 推定混合比処理部, 402 推定混合比処理部, 403 混合比決定部, 404 動きベクトル決定部, 421 フレームメモリ, 422 重み生成部, 423 重み付けフレーム差分演算部, 424 動き補償部, 425 フレームメモリ, 426 動きベクトル生成部, 427 相関値演算部, 428 最大値判定部, 441 選択部, 442 選択部,461−1および461−2 動き補償部, 462−1および462−2 フレームメモリ, 463 相関値演算部, 464 最大値判定部, 601分離部, 602 スイッチ, 603 合成部, 604 スイッチ, 605 合成部, 621 フレームメモリ, 622 分離処理ブロック, 623 フレームメモリ, 631 アンカバード領域処理部, 632 カバード領域処理部, 633 合成部, 634 合成部, 801 処理単位決定部, 802 モデル化部, 803 方程式生成部, 804 足し込み部,805 演算部, 806 動きボケ付加部, 807 選択部, 821 選択部, 901 処理単位決定部, 902 モデル化部, 903 方程式生成部, 904 演算部, 905 補正部, 906 動きボケ付加部, 907 選択部, 1001 同時検出部, 1002 前景背景分離部, 1003 動きボケ調整部, 1021 選択部, 1041 選択部, 1101 ノイズ除去部, 1111−1乃至1111−N フレームメモリ, 1112−1乃至1112−N 動き補償部, 1113 平均画素値算出部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and method, a recording medium, and a program, and more particularly, to an image processing apparatus and method, a recording medium, and a program that take into consideration a difference between a signal detected by a sensor and the real world.
[0002]
[Prior art]
A technique for detecting an event in the real world with a sensor and processing sampling data output from an image sensor is widely used.
[0003]
For example, in an image obtained by capturing an object moving in front of a predetermined background with a video camera, motion blur occurs when the moving speed of the object is relatively fast.
[0004]
[Problems to be solved by the invention]
When an object moves in front of a stationary background, not only motion blur due to mixing of the moving object image itself, but also mixing of the background image and the moving object image occurs. Conventionally, it has not been considered to detect a mixing ratio indicating a mixing ratio between a background image and a moving object image.
[0005]
In addition, it is not possible to detect the motion vector of the moving object in consideration of the area where the background image and the moving object image are mixed.
[0006]
The present invention has been made in view of such a situation, and detects a mixing ratio indicating a mixing ratio between a background image and a moving object image, and also detects a mixing ratio between the background image and the moving object image. An object of the present invention is to detect a motion vector of a moving object in consideration of a region where the two are mixed.
[0007]
[Means for Solving the Problems]
The image processing apparatus according to the present invention generates a plurality of weights having different values corresponding to a range of mixing ratio values indicating a mixing state in pixel data of a plurality of objects in the real world, and generates the generated individual weights. Weighting information generating means for generating weighting information indicating Each frame as a frame of interest Featured frame Adjacent frames adjacent to of Predetermined Pixel To the pixel value of , Multiplying the weight indicated by the weighting information, and the resulting pixel value of the weighted predetermined pixel, Featured frame of image data Corresponding to a given pixel of Pixel Pixel value of When of A weighted difference image data calculating means for calculating a difference and outputting it as weighted difference image data corresponding to the frame of interest; Multiple weights with different sizes or angles Relative position between the weighted difference image data of the frame of interest and the weighted difference image data of the adjacent frame according to the motion vector indicated by the motion vector information, and motion vector information generating means for generating motion vector information indicating the motion vector And a plurality of pixels centered on each target pixel of the weighted difference image data of the target frame. Pixel value of Of the first block of interest and the weighted difference image data of adjacent frames Corresponds to the first block of interest Multiple pixels Pixel value of For each predetermined unit consisting of a plurality of pixels of the weighted difference image correlation data, and calculating a correlation with the first corresponding block consisting of: The weight and the motion vector that maximize the correlation between the weighted difference image data are detected, the detected weight is set to the mixing ratio corresponding to the unit of the frame of interest, and the detected motion vector corresponds to the unit of the frame of interest. And detecting means for setting at least one of the mixture ratio and the motion vector.
[0008]
The weighted difference image data calculation means includes a plurality of pixels centered on each target pixel of the target frame of the image data. Pixel value of Second attention block consisting of To each pixel value of the second corresponding block consisting of pixel values of a plurality of pixels in the adjacent frame corresponding to , A weighted second corresponding block obtained by multiplying a constant weight in the second corresponding block and the resulting second target block When of The difference is calculated and output as weighted difference image data corresponding to the pixel of interest, and the weighted difference image correlation data calculation means calculates the weighted difference image data of the frame of interest and the adjacent frame according to the motion vector indicated by the motion vector information. And calculating the correlation between the first target block of the weighted difference image data of the frame of interest and the first corresponding block of the weighted difference image data of the adjacent frame; It can output as correlation data between weighted difference images.
[0009]
The weighted difference image data calculation means includes a plurality of pixels centered on each target pixel of the target frame of the image data. Pixel value of Second attention block consisting of To each pixel value of the second corresponding block consisting of pixel values of a plurality of pixels in the adjacent frame corresponding to , A different weight is multiplied for each pixel in the second corresponding block, and the resulting weighted second corresponding block and the second block of interest The difference is calculated and output as weighted difference image data corresponding to the pixel of interest, and the weighted difference image correlation data calculation means calculates the weighted difference image data of the frame of interest and the adjacent frame according to the motion vector indicated by the motion vector information. And calculating the correlation between the first target block of the weighted difference image data of the frame of interest and the first corresponding block of the weighted difference image data of the adjacent frame; It can output as correlation data between weighted difference images.
[0010]
The weighted difference image data calculation means includes a second Correspondence block For each pixel value of , Each of the pixels in the second corresponding block is multiplied by a weight that continuously changes corresponding to the position of the pixel, and a weighted second corresponding block obtained as a result of the multiplication is obtained. The difference can be calculated and output as weighted difference image data corresponding to the target pixel.
[0011]
The detection means has a maximum correlation between the weighted difference image data. Predetermined unit The most probable weights and motion vectors are detected from a plurality of weights and motion vectors by evaluating the continuity of the weights corresponding to each pixel in the mixture, and the detected weights are mixed corresponding to the unit of the target frame. It is possible to set the ratio, set the detected motion vector to a motion vector corresponding to the unit of the target frame, and output at least one of the mixture ratio and the motion vector.
[0012]
The image processing method of the present invention generates a plurality of weights each having a different value in correspondence with a range of mixing ratio values indicating a mixing state in pixel data of a plurality of objects in the real world, and generates the generated individual weights. A weighting information generation step for generating weighting information indicating Each frame as a frame of interest Featured frame Adjacent frames adjacent to of Predetermined Pixel To the pixel value of , Multiplying the weight indicated by the weighting information, and the resulting pixel value of the weighted predetermined pixel, Featured frame of image data Corresponding to a given pixel of Pixel Pixel value of When of A weighted difference image data calculating step of calculating a difference and outputting as weighted difference image data corresponding to the frame of interest; Multiple weights with different sizes or angles A motion vector information generation step for generating motion vector information indicating a motion vector, and a relative position between the weighted difference image data of the frame of interest and the weighted difference image data of an adjacent frame in accordance with the motion vector indicated by the motion vector information And a plurality of pixels centered on each target pixel of the weighted difference image data of the target frame. Pixel value of Of the first block of interest and the weighted difference image data of adjacent frames Corresponds to the first block of interest Multiple pixels Pixel value of A weighted difference image correlation data calculating step for calculating a correlation with the first corresponding block consisting of and outputting as weighted difference image correlation data, and for each predetermined unit consisting of a plurality of pixels of the weighted difference image correlation data, The weight and the motion vector that maximize the correlation between the weighted difference image data are detected, the detected weight is set to the mixing ratio corresponding to the unit of the frame of interest, and the detected motion vector corresponds to the unit of the frame of interest. And a detection step of setting at least one of the mixture ratio and the motion vector.
[0013]
The program of the recording medium of the present invention is In a computer that processes image data consisting of a predetermined number of pixel data acquired by an imaging device having a predetermined number of pixels having a time integration effect, Weighting that generates a plurality of weights each having a different value corresponding to a range of values of a mixture ratio that indicates a mixture state in pixel data of a plurality of objects in the real world, and generates weighting information that indicates each generated weight Information generation step and image data Each frame as a frame of interest Featured frame Adjacent frames adjacent to of Predetermined Pixel To the pixel value of , Multiplying the weight indicated by the weighting information, and the resulting pixel value of the weighted predetermined pixel, Featured frame of image data Corresponding to a given pixel of Pixel Pixel value of When of A weighted difference image data calculating step of calculating a difference and outputting as weighted difference image data corresponding to the frame of interest; Multiple weights with different sizes or angles A motion vector information generation step for generating motion vector information indicating a motion vector, and a relative position between the weighted difference image data of the frame of interest and the weighted difference image data of an adjacent frame in accordance with the motion vector indicated by the motion vector information And a plurality of pixels centered on each target pixel of the weighted difference image data of the target frame. Pixel value of Of the first block of interest and the weighted difference image data of adjacent frames Corresponds to the first block of interest Multiple pixels Pixel value of A weighted difference image correlation data calculating step for calculating a correlation with the first corresponding block consisting of and outputting as weighted difference image correlation data, and for each predetermined unit consisting of a plurality of pixels of the weighted difference image correlation data, The weight and the motion vector that maximize the correlation between the weighted difference image data are detected, the detected weight is set to the mixing ratio corresponding to the unit of the frame of interest, and the detected motion vector corresponds to the unit of the frame of interest. A detection step that sets a motion vector and outputs at least one of a mixture ratio and a motion vector; It is a program for executing .
[0014]
The program of the present invention In a computer that processes image data consisting of a predetermined number of pixel data acquired by an imaging device having a predetermined number of pixels having a time integration effect, Weighting that generates a plurality of weights each having a different value corresponding to a range of values of a mixture ratio that indicates a mixture state in pixel data of a plurality of objects in the real world, and generates weighting information that indicates each generated weight Information generation step and image data Each frame as a frame of interest Featured frame Adjacent frames adjacent to of Predetermined Pixel To the pixel value of , Multiplying the weight indicated by the weighting information, and the resulting pixel value of the weighted predetermined pixel, Featured frame of image data Corresponding to a given pixel of Pixel Pixel value of When of A weighted difference image data calculating step of calculating a difference and outputting as weighted difference image data corresponding to the frame of interest; Multiple weights with different sizes or angles A motion vector information generation step for generating motion vector information indicating a motion vector, and a relative position between the weighted difference image data of the frame of interest and the weighted difference image data of an adjacent frame in accordance with the motion vector indicated by the motion vector information And a plurality of pixels centered on each target pixel of the weighted difference image data of the target frame. Pixel value of Of the first block of interest and the weighted difference image data of adjacent frames Corresponds to the first block of interest Multiple pixels Pixel value of A weighted difference image correlation data calculating step for calculating a correlation with the first corresponding block consisting of and outputting as weighted difference image correlation data, and for each predetermined unit consisting of a plurality of pixels of the weighted difference image correlation data, The weight and the motion vector that maximize the correlation between the weighted difference image data are detected, the detected weight is set to the mixing ratio corresponding to the unit of the frame of interest, and the detected motion vector corresponds to the unit of the frame of interest. A program that sets a motion vector and executes a detection step that outputs at least one of a mixture ratio and a motion vector Is .
[0015]
In the image processing apparatus and method, the recording medium, and the program of the present invention, a plurality of weights each having a different value corresponding to a range of a mixing ratio value indicating a mixing state in pixel data of a plurality of objects in the real world. Is generated and generated Is Weighting information indicating individual weights is generated, and image data Each frame is considered as a frame of interest, Featured frame Adjacent frames adjacent to of Predetermined Pixel To the pixel value of , The weight value indicated by the weight information is multiplied, and the pixel value of the weighted predetermined pixel obtained as a result, Featured frame of image data Corresponding to a given pixel of Pixel Pixel value of When of The difference is calculated and output as weighted difference image data corresponding to the frame of interest. Multiple weights with different sizes or angles Motion vector information indicating a motion vector is generated, and the relative positions of the weighted difference image data of the frame of interest and the weighted difference image data of the adjacent frame are adjusted according to the motion vector indicated by the motion vector information, Multiple pixels centered on each pixel of interest in frame weighted difference image data Pixel value of Of the first block of interest and the weighted difference image data of adjacent frames Corresponds to the first block of interest Multiple pixels Pixel value of Is calculated as correlation data between the weighted difference images, and the correlation between the weighted difference image data is maximized for each predetermined unit composed of a plurality of pixels of the weighted difference image correlation data. And the detected weight is set to a mixing ratio corresponding to the unit of the target frame, the detected motion vector is set to the motion vector corresponding to the unit of the target frame, and the mixing ratio and At least one of the motion vectors is output.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a diagram showing an embodiment of a signal processing apparatus according to the present invention. A CPU (Central Processing Unit) 21 executes various processes according to a program stored in a ROM (Read Only Memory) 22 or a storage unit 28. A RAM (Random Access Memory) 23 appropriately stores programs executed by the CPU 21 and data. The CPU 21, ROM 22, and RAM 23 are connected to each other by a bus 24.
[0017]
An input / output interface 25 is also connected to the CPU 21 via the bus 24. The input / output interface 25 is connected to an input unit 26 including a keyboard, a mouse, and a microphone, and an output unit 27 including a display and a speaker. The CPU 21 executes various processes in response to commands input from the input unit 26. Then, the CPU 21 outputs an image, sound, or the like obtained as a result of the processing to the output unit 27.
[0018]
The storage unit 28 connected to the input / output interface 25 is configured by, for example, a hard disk and stores programs executed by the CPU 21 and various data. The communication unit 29 communicates with an external device via the Internet or other networks. In this example, the communication unit 29 functions as an acquisition unit that captures the output of the sensor.
[0019]
A program may be acquired via the communication unit 29 and stored in the storage unit 28.
[0020]
The drive 30 connected to the input / output interface 25, when a magnetic disk 51, an optical disk 52, a magneto-optical disk 53, or a semiconductor memory 54 is mounted, drives them, and programs and data recorded there. Get etc. The acquired program and data are transferred to and stored in the storage unit 28 as necessary.
[0021]
FIG. 2 is a block diagram illustrating the signal processing apparatus.
[0022]
It does not matter whether each function of the signal processing device is realized by hardware or software. That is, each block diagram in this specification may be considered as a hardware block diagram or a software functional block diagram.
[0023]
In this specification, an image corresponding to an object in the real world to be imaged is referred to as an image object.
[0024]
The input image supplied to the signal processing device is supplied to the region specifying unit 101, the simultaneous detection unit 102, and the foreground / background separation unit 103.
[0025]
The area specifying unit 101 specifies each pixel of the input image as one of a foreground area, a background area, or a mixed area, which will be described later, and sets each pixel as one of a foreground area, a background area, or a mixed area. Information indicating whether it belongs (hereinafter referred to as region information) is supplied to the simultaneous detection unit 102, the foreground / background separation unit 103, and the motion blur adjustment unit 104.
[0026]
Based on the input image and the region information supplied from the region specifying unit 101, the simultaneous detection unit 102 corresponds to a mixture ratio (hereinafter referred to as a mixture ratio α) corresponding to pixels included in the mixed region and a foreground object. The motion vector to be detected is detected, the detected mixture ratio is supplied to the foreground / background separation unit 103, and the detected motion vector is supplied to the motion blur adjustment unit 104.
[0027]
The mixing ratio α is a value indicating a ratio of an image component (hereinafter also referred to as a background component) corresponding to a background object in a pixel value, as shown in an equation (3) described later.
[0028]
The motion vector output from the simultaneous detection unit 102 includes information corresponding to the motion amount v.
[0029]
The motion amount v is a value that represents a change in the position of the image corresponding to the moving object in units of pixel intervals. For example, when the image of the object corresponding to the foreground is moved so as to be displayed at a position separated by four pixels in the next frame with reference to a certain frame, the motion amount v of the image of the object corresponding to the foreground is 4.
[0030]
Note that the simultaneous detection unit 102 may detect a motion vector in association with the pixels in the mixed region.
[0031]
Based on the region information supplied from the region specifying unit 101 and the mixture ratio α supplied from the simultaneous detection unit 102, the foreground / background separation unit 103 performs image components corresponding to foreground objects (hereinafter, both foreground components are referred to as “foreground components”). The input image is separated into a foreground component image consisting of only the background component and a background component image consisting only of the background component, and the foreground component image is supplied to the motion blur adjustment unit 104 and the selection unit 105. Note that the separated foreground component image may be the final output. Only the foreground and the background can be specified without considering the conventional mixed region, and an accurate foreground and background can be obtained as compared with the separated method.
[0032]
The motion blur adjustment unit 104 determines a processing unit indicating one or more pixels included in the foreground component image based on the motion amount v and the region information that can be known from the motion vector. The processing unit is data that designates a group of pixels to be subjected to a process for adjusting the amount of motion blur.
[0033]
The motion blur adjustment unit 104 is based on the motion blur adjustment amount input to the signal processing device, the foreground component image supplied from the foreground / background separation unit 103, the motion vector supplied from the simultaneous detection unit 102, and the processing unit. Adjust the amount of motion blur by adjusting the amount of motion blur included in the foreground component image, such as removing motion blur included in the foreground component image, decreasing the amount of motion blur, or increasing the amount of motion blur. The foreground component image thus obtained is output to the selection unit 105. The motion vector may not be used.
[0034]
Here, the motion blur refers to a distortion included in an image corresponding to a moving object, which is caused by the movement of an object in the real world to be imaged and the imaging characteristics of the sensor.
[0035]
For example, the selection unit 105 adjusts the foreground component image supplied from the foreground / background separation unit 103 and the amount of motion blur supplied from the motion blur adjustment unit 104 based on a selection signal corresponding to the user's selection. One of the foreground component images is selected, and the selected foreground component image is output.
[0036]
Next, an input image supplied to the signal processing device will be described with reference to FIGS.
[0037]
FIG. 3 is a diagram for explaining imaging by the sensor. The sensor is composed of, for example, a CCD video camera equipped with a CCD (Charge-Coupled Device) area sensor which is a solid-state image sensor. The object corresponding to the foreground in the real world moves horizontally between the object corresponding to the background and the sensor in the real world, for example, from the left side to the right side in the drawing.
[0038]
The sensor images an object corresponding to the foreground together with an object corresponding to the background. The sensor outputs the captured image in units of one frame. For example, the sensor outputs an image composed of 30 frames per second. The exposure time of the sensor can be 1/30 second. The exposure time is a period from the start of the conversion of the input light into the electric charge until the end of the conversion of the input light into the electric charge. Hereinafter, the exposure time is also referred to as shutter time.
[0039]
FIG. 4 is a diagram for explaining the arrangement of pixels. In FIG. 4, A to I indicate individual pixels. The pixels are arranged on a plane corresponding to the image. One detection element corresponding to one pixel is arranged on the sensor. When the sensor captures an image, one detection element outputs a pixel value corresponding to one pixel constituting the image. For example, the position of the detection element in the X direction corresponds to the horizontal position on the image, and the position of the detection element in the Y direction corresponds to the vertical position on the image.
[0040]
As shown in FIG. 5, for example, a detection element that is a CCD converts input light into electric charge for a period corresponding to the shutter time, and accumulates the converted electric charge. The amount of charge is approximately proportional to the intensity of input light and the time during which light is input. The detection element adds the electric charge converted from the input light to the already accumulated electric charge in a period corresponding to the shutter time. That is, the detection element integrates the input light for a period corresponding to the shutter time, and accumulates an amount of charge corresponding to the integrated light. It can be said that the detection element has an integration effect with respect to time.
[0041]
The electric charge accumulated in the detection element is converted into a voltage value by a circuit (not shown), and the voltage value is further converted into a pixel value such as digital data and output. Therefore, each pixel value output from the sensor is a value projected onto a one-dimensional space, which is the result of integrating a part of the object corresponding to the foreground or background having a spatial extent with respect to the shutter time. Have.
[0042]
The signal processing apparatus extracts significant information buried in the output signal, for example, the mixing ratio α, by the accumulation operation of the sensor. The signal processing apparatus adjusts the amount of distortion caused by the mixture of the foreground image objects themselves, for example, the amount of motion blur. The signal processing apparatus also adjusts the amount of distortion caused by the mixture of the foreground image object and the background image object.
[0043]
FIG. 6 is a diagram for explaining an image obtained by imaging an object corresponding to a moving foreground and an object corresponding to a stationary background. FIG. 6A shows an image obtained by imaging an object corresponding to the foreground with movement and an object corresponding to the stationary background. In the example shown in FIG. 6A, the object corresponding to the foreground is moving horizontally from the left to the right with respect to the screen.
[0044]
FIG. 6B is a model diagram in which pixel values corresponding to one line of the image shown in FIG. The horizontal direction in FIG. 6B corresponds to the spatial direction X in FIG.
[0045]
The pixel value of the background region pixel is composed of only the background component, that is, the image component corresponding to the background object. The pixel value of the foreground region pixel is composed of only the foreground component, that is, the image component corresponding to the foreground object.
[0046]
The pixel value of the pixel in the mixed area is composed of a background component and a foreground component. Since the pixel value is composed of the background component and the foreground component, the mixed region can be said to be a distortion region. The mixed area is further classified into a covered background area and an uncovered background area.
[0047]
The covered background area is a mixed area at a position corresponding to the front end of the foreground object in the advancing direction with respect to the foreground area, and is an area where the background component is covered with the foreground as time passes.
[0048]
On the other hand, the uncovered background area is a mixed area at a position corresponding to the rear end portion of the foreground object in the advancing direction with respect to the foreground area, and an area where a background component appears as time passes. Say.
[0049]
As described above, an image including a foreground area, a background area, or a covered background area or an uncovered background area is input as an input image to the area specifying unit 101, the simultaneous detection unit 102, and the foreground / background separation unit 103.
[0050]
FIG. 7 is a diagram illustrating the background area, the foreground area, the mixed area, the covered background area, and the uncovered background area as described above. In the case of the image shown in FIG. 6, the background area is a stationary part, the foreground area is a moving part, and the covered background area of the mixed area is a part that changes from the background to the foreground. The uncovered background area is a portion that changes from the foreground to the background.
[0051]
FIG. 8 is a model diagram in which pixel values of pixels arranged in a row adjacent to each other in an image obtained by capturing an object corresponding to a stationary foreground and an object corresponding to a stationary background are expanded in the time direction. It is. For example, pixels arranged on one line of the screen can be selected as the pixels arranged adjacent to each other in one column.
[0052]
The pixel values F01 to F04 shown in FIG. 8 are pixel values corresponding to the still foreground object. The pixel values B01 to B04 shown in FIG. 8 are pixel values corresponding to the stationary background object.
[0053]
In the vertical direction in FIG. 8, time elapses from the top to the bottom in the figure. The position of the upper side of the rectangle in FIG. 8 corresponds to the time when the sensor starts to convert the input light into electric charge, and the position of the lower side of the rectangle in FIG. 8 indicates the electric charge of the light input by the sensor. Corresponds to the time to finish conversion of. That is, the distance from the upper side to the lower side of the rectangle in FIG. 8 corresponds to the shutter time.
[0054]
Hereinafter, a case where the shutter time and the frame interval are the same will be described as an example.
[0055]
The horizontal direction in FIG. 8 corresponds to the spatial direction X described in FIG. More specifically, in the example shown in FIG. 8, the distance from the left side of the rectangle described as “F01” in FIG. 8 to the right side of the rectangle described as “B04” is 8 times the pixel pitch, That is, it corresponds to the interval between eight consecutive pixels.
[0056]
When the foreground object and the background object are stationary, the light input to the sensor does not change during the period corresponding to the shutter time.
[0057]
Here, the period corresponding to the shutter time is divided into two or more periods having the same length. For example, when the number of virtual divisions is 4, the model diagram shown in FIG. 8 can be represented as the model shown in FIG. The virtual division number is set corresponding to the amount of movement v of the object corresponding to the foreground within the shutter time. For example, the number of virtual divisions is 4 corresponding to the motion amount v being 4, and the period corresponding to the shutter time is divided into 4.
[0058]
The top row in the figure corresponds to the first divided period after the shutter opens. The second row from the top in the figure corresponds to the second divided period from when the shutter has opened. The third line from the top in the figure corresponds to the third divided period from when the shutter has opened. The fourth row from the top in the figure corresponds to the fourth divided period from when the shutter has opened.
[0059]
Hereinafter, the shutter time divided in accordance with the motion amount v is also referred to as shutter time / v.
[0060]
Since the light input to the sensor does not change when the object corresponding to the foreground is stationary, the foreground component F01 / v is equal to a value obtained by dividing the pixel value F01 by the virtual division number. Similarly, when the object corresponding to the foreground is stationary, the foreground component F02 / v is equal to the value obtained by dividing the pixel value F02 by the number of virtual divisions, and the foreground component F03 / v is the virtual value of the pixel value F03. The foreground component F04 / v is equal to the value obtained by dividing the pixel value F04 by the virtual division number.
[0061]
Since the light input to the sensor does not change when the object corresponding to the background is stationary, the background component B01 / v is equal to the value obtained by dividing the pixel value B01 by the virtual division number. Similarly, when the object corresponding to the background is stationary, the background component B02 / v is equal to the value obtained by dividing the pixel value B02 by the virtual division number, and B03 / v is obtained by dividing the pixel value B03 by the virtual division number. B04 / v is equal to a value obtained by dividing the pixel value B04 by the number of virtual divisions.
[0062]
That is, when the object corresponding to the foreground is stationary, the light corresponding to the foreground object input to the sensor does not change during the period corresponding to the shutter time. The foreground component F01 / v corresponding to, the foreground component F01 / v corresponding to the second shutter time / v after the shutter opens, and the third foreground corresponding to the shutter time / v corresponding to the shutter time / v. And the foreground component F01 / v corresponding to the fourth shutter time / v after the shutter is opened have the same value. F02 / v to F04 / v have the same relationship as F01 / v.
[0063]
When the object corresponding to the background is stationary, the light corresponding to the background object input to the sensor does not change during the period corresponding to the shutter time, so it corresponds to the first shutter time / v after the shutter opens. Background component B01 / v, the second background component B01 / v corresponding to the shutter time / v after the shutter opens, and the third background component corresponding to the shutter time / v corresponding to the shutter time / v B01 / v and the fourth background component B01 / v corresponding to the shutter time / v after the shutter is opened have the same value. B02 / v to B04 / v have the same relationship.
[0064]
Next, a case where the object corresponding to the foreground moves and the object corresponding to the background is stationary will be described.
[0065]
FIG. 10 is a model diagram in which pixel values of pixels on one line including the covered background area are expanded in the time direction when the object corresponding to the foreground moves toward the right side in the drawing. In FIG. 10, the foreground motion amount v is 4. Since one frame is a short time, it can be assumed that the object corresponding to the foreground is a rigid body and is moving at a constant speed. In FIG. 10, the image of the object corresponding to the foreground moves so as to be displayed on the right side by four pixels in the next frame with reference to a certain frame.
[0066]
In FIG. 10, the leftmost pixel through the fourth pixel from the left belong to the foreground area. In FIG. 10, the fifth through seventh pixels from the left belong to the mixed area, which is a covered background area. In FIG. 10, the rightmost pixel belongs to the background area.
[0067]
Since the object corresponding to the foreground is moving so as to cover the object corresponding to the background with the passage of time, the component included in the pixel value of the pixel belonging to the covered background area has a period corresponding to the shutter time. At this point, the background component is replaced by the foreground component.
[0068]
For example, a pixel value M with a thick frame in FIG. 10 is expressed by Expression (1).
[0069]
M = B02 / v + B02 / v + F07 / v + F06 / v (1)
[0070]
For example, since the fifth pixel from the left includes a background component corresponding to one shutter time / v and includes a foreground component corresponding to three shutter times / v, the mixture ratio of the fifth pixel from the left α is 1/4. The sixth pixel from the left includes a background component corresponding to two shutter times / v and includes a foreground component corresponding to two shutter times / v. Therefore, the mixture ratio α of the sixth pixel from the left is 1/2. The seventh pixel from the left includes a background component corresponding to three shutter times / v, and includes a foreground component corresponding to one shutter time / v. Therefore, the mixture ratio α of the seventh pixel from the left is 3/4.
[0071]
Since it can be assumed that the object corresponding to the foreground is a rigid body and moves at a constant speed so that the foreground image is displayed on the right side of four pixels in the next frame, for example, the fourth pixel from the left in FIG. The foreground component F07 / v of the first shutter time / v after the shutter is opened is the foreground component corresponding to the second shutter time / v of the fifth pixel from the left in FIG. be equivalent to. Similarly, the foreground component F07 / v corresponds to the foreground component of the sixth pixel from the left in FIG. 10 corresponding to the third shutter time / v from when the shutter has opened, and the seventh pixel from the left in FIG. And the foreground component corresponding to the fourth shutter time / v after the shutter is opened.
[0072]
Since it can be assumed that the object corresponding to the foreground is a rigid body and moves at a constant speed so that the foreground image is displayed on the right side of four pixels in the next frame, for example, the third pixel from the left in FIG. The foreground component F06 / v of the first shutter time / v after the shutter is opened is the foreground component of the fourth pixel from the left in FIG. 10 corresponding to the second shutter time / v after the shutter is opened. equal. Similarly, the foreground component F06 / v is the sixth pixel from the left in FIG. 10 and the foreground component of the fifth pixel from the left in FIG. 10 corresponding to the third shutter time / v from when the shutter has opened. And the foreground component corresponding to the fourth shutter time / v after the shutter is opened.
[0073]
Since it can be assumed that the object corresponding to the foreground is a rigid body and moves at a constant speed so that the foreground image is displayed on the right side of four pixels in the next frame, for example, the second pixel from the left in FIG. The foreground component F05 / v of the first shutter time / v after the shutter is opened is the foreground component corresponding to the second shutter time / v of the third pixel from the left in FIG. be equivalent to. Similarly, the foreground component F05 / v is the fifth pixel from the left in FIG. 10 and the foreground component of the fourth pixel from the left in FIG. 10 corresponding to the third shutter time / v from when the shutter has opened. And the foreground component corresponding to the fourth shutter time / v after the shutter is opened.
[0074]
Since it can be assumed that the object corresponding to the foreground is a rigid body and moves at a constant speed so that the foreground image is displayed on the right side of four pixels in the next frame, for example, the shutter of the leftmost pixel in FIG. The foreground component F04 / v of the first shutter time / v after opening is equal to the foreground component of the second pixel from the left in FIG. 10 corresponding to the second shutter time / v after the shutter is opened. Similarly, the foreground component F04 / v corresponds to the foreground component of the third pixel from the left in FIG. 10 corresponding to the third shutter time / v from when the shutter has opened, and the fourth pixel from the left in FIG. And the foreground component corresponding to the fourth shutter time / v after the shutter is opened.
[0075]
Since the foreground area corresponding to the moving object includes motion blur as described above, it can be said to be a distortion area.
[0076]
FIG. 11 is a model diagram in which pixel values of pixels on one line including the uncovered background area are expanded in the time direction when the foreground moves toward the right side in the drawing. In FIG. 11, the foreground motion amount v is 4. Since one frame is a short time, it can be assumed that the object corresponding to the foreground is a rigid body and is moving at a constant speed. In FIG. 11, the image of the object corresponding to the foreground moves to the right by four pixels in the next frame with reference to a certain frame.
[0077]
In FIG. 11, the leftmost pixel through the fourth pixel from the left belong to the background area. In FIG. 11, the fifth pixel from the left to the seventh pixel from the left belong to the mixed area which is an uncovered background. In FIG. 11, the rightmost pixel belongs to the foreground area.
[0078]
Since the object corresponding to the foreground that covered the object corresponding to the background is moved so as to be removed from the front of the object corresponding to the background over time, it is included in the pixel value of the pixel belonging to the uncovered background area The component to be changed from the foreground component to the background component at a certain point in time corresponding to the shutter time.
[0079]
For example, a pixel value M ′ with a thick line frame in FIG. 11 is expressed by Expression (2).
[0080]
M '= F02 / v + F01 / v + B26 / v + B26 / v (2)
[0081]
For example, since the fifth pixel from the left includes a background component corresponding to three shutter times / v and includes a foreground component corresponding to one shutter time / v, the mixture ratio of the fifth pixel from the left α is 3/4. The sixth pixel from the left includes a background component corresponding to two shutter times / v and includes a foreground component corresponding to two shutter times / v. Therefore, the mixture ratio α of the sixth pixel from the left is 1/2. Since the seventh pixel from the left includes a background component corresponding to one shutter time / v and includes a foreground component corresponding to three shutter times / v, the mixture ratio α of the seventh pixel from the left is 1/4.
[0082]
When the expressions (1) and (2) are generalized, the pixel value M is expressed by the expression (3).
[0083]
[Expression 1]
Figure 0004596218
Here, α is a mixing ratio. B is a background pixel value, and Fi / v is a foreground component.
[0084]
Since the object corresponding to the foreground is a rigid body and can be assumed to move at a constant speed and the amount of movement v is 4, for example, the first pixel from the left in FIG. The foreground component F01 / v of the shutter time / v is equal to the foreground component of the sixth pixel from the left in FIG. 11 corresponding to the second shutter time / v after the shutter is opened. Similarly, F01 / v represents the foreground component of the seventh pixel from the left in FIG. 11 corresponding to the third shutter time / v from when the shutter has opened, and the eighth pixel from the left in FIG. , And the foreground component corresponding to the fourth shutter time / v after the shutter is opened.
[0085]
Since it can be assumed that the object corresponding to the foreground is a rigid body and moves at a constant speed, and the number of virtual divisions is 4, for example, the first pixel from the left in FIG. The foreground component F02 / v of the shutter time / v is equal to the foreground component of the seventh pixel from the left in FIG. 11 corresponding to the second shutter time / v after the shutter is opened. Similarly, the foreground component F02 / v is equal to the foreground component of the eighth pixel from the left in FIG. 11 corresponding to the third shutter time / v from when the shutter has opened.
[0086]
Since the object corresponding to the foreground is a rigid body and can be assumed to move at a constant speed and the amount of movement v is 4, for example, the seventh pixel from the left in FIG. The foreground component F03 / v of the shutter time / v is equal to the foreground component of the eighth pixel from the left in FIG. 11 corresponding to the second shutter time / v after the shutter is opened.
[0087]
In the description of FIG. 9 to FIG. 11, it is assumed that the virtual division number is 4, but the virtual division number corresponds to the motion amount v. The amount of movement v generally corresponds to the moving speed of the object corresponding to the foreground. For example, when the object corresponding to the foreground is moving so as to be displayed to the right by four pixels in the next frame with reference to a certain frame, the amount of movement v is 4. Corresponding to the motion amount v, the number of virtual divisions is 4. Similarly, for example, when the object corresponding to the foreground is moving so that it is displayed on the left by 6 pixels in the next frame with reference to a certain frame, the motion amount v is set to 6, and the number of virtual divisions is , 6.
[0088]
12 and 13, the above-described mixed area composed of the foreground area, the background area, the covered background area, or the uncovered background area, and the foreground component and the background component corresponding to the divided shutter time, The relationship is shown.
[0089]
FIG. 12 shows an example in which pixels in the foreground area, background area, and mixed area are extracted from an image including a foreground corresponding to an object moving in front of a stationary background. In the example shown in FIG. 12, the object corresponding to the foreground is moving horizontally with respect to the screen.
[0090]
Frame # n + 1 is the next frame after frame #n, and frame # n + 2 is the next frame after frame # n + 1.
[0091]
Extract the pixels in the foreground area, background area, and mixed area extracted from any of frame #n to frame # n + 2, set the amount of motion v to 4, and set the pixel values of the extracted pixels in the time direction The developed model is shown in FIG.
[0092]
Since the object corresponding to the foreground moves, the pixel value in the foreground area is composed of four different foreground components corresponding to the shutter time / v period. For example, the leftmost pixel among the pixels in the foreground area shown in FIG. 13 is composed of F01 / v, F02 / v, F03 / v, and F04 / v. That is, the pixels in the foreground area include motion blur.
[0093]
Since the object corresponding to the background is stationary, the light corresponding to the background input to the sensor does not change during the period corresponding to the shutter time. In this case, the pixel value in the background area does not include motion blur.
[0094]
The pixel value of the pixel belonging to the mixed area composed of the covered background area or the uncovered background area is composed of a foreground component and a background component.
[0095]
Next, when the image corresponding to the object is moving, the pixel values of the pixels at the same position on the frame that are adjacent to each other in a plurality of frames are developed in the time direction. The model will be described. For example, when the image corresponding to the object moves horizontally with respect to the screen, the pixels arranged on one line of the screen can be selected as the pixels arranged in a row adjacent to each other.
[0096]
FIG. 14 shows pixels arranged in a row adjacent to three frames of an image obtained by capturing an object corresponding to a stationary background, and the pixel values of the pixels at the same position on the frame are represented by time. It is the model figure developed in the direction. Frame #n is the next frame after frame # n-1, and frame # n + 1 is the next frame after frame #n. Other frames are also referred to in the same manner.
[0097]
The pixel values B01 to B12 shown in FIG. 14 are pixel values corresponding to a stationary background object. Since the object corresponding to the background is stationary, the pixel value of the corresponding pixel does not change in frame # n−1 to frame n + 1. For example, the pixel in frame #n and the pixel in frame # n + 1 corresponding to the position of the pixel having a pixel value of B05 in frame # n−1 each have a pixel value of B05.
[0098]
FIG. 15 shows pixels arranged in a row adjacent to three frames of an image obtained by imaging an object corresponding to the foreground moving to the right side in the drawing together with an object corresponding to the stationary background, FIG. 5 is a model diagram in which pixel values of pixels at the same position on a frame are developed in the time direction. The model shown in FIG. 15 includes a covered background area.
[0099]
In FIG. 15, it can be assumed that the object corresponding to the foreground is a rigid body and moves at a constant speed, and the foreground image is moved so that it is displayed on the right side by four pixels in the next frame. 4 and the number of virtual divisions is 4.
[0100]
For example, the foreground component of the leftmost pixel of frame # n−1 in FIG. 15 for the first shutter time / v after the shutter opens is F12 / v, and the second pixel from the left in FIG. The foreground component of the second shutter time / v after the shutter is opened is also F12 / v. The foreground component of the third pixel from the left in FIG. 15 for the third shutter time / v after the shutter opens, and the fourth shutter time for the fourth pixel from the left in FIG. The foreground component of / v is F12 / v.
[0101]
The foreground component of the leftmost pixel of frame # n-1 in FIG. 15 for the second shutter time / v after the shutter opens is F11 / v, and the second pixel from the left in FIG. The foreground component of the third shutter time / v after the shutter is opened is also F11 / v. The foreground component of the third pixel from the left in FIG. 15 corresponding to the fourth portion of the shutter time / v from when the shutter has opened is F11 / v.
[0102]
The foreground component of the leftmost pixel of frame # n-1 in FIG. 15 corresponding to the third shutter time / v from when the shutter has opened is F10 / v, and the second pixel from the left in FIG. The foreground component of the fourth shutter time / v after the shutter is opened is also F10 / v. The foreground component of the leftmost pixel in frame # n−1 in FIG. 15 corresponding to the fourth shutter time / v from when the shutter has opened is F09 / v.
[0103]
Since the object corresponding to the background is stationary, the background component of the second pixel from the left of frame # n-1 in FIG. 15 corresponding to the first shutter time / v after the shutter is opened is B01 / v Become. The background component of the third pixel from the left of frame # n−1 in FIG. 15 corresponding to the first and second shutter time / v from when the shutter has opened is B02 / v. The background component of the fourth pixel from the left of frame # n−1 in FIG. 15 corresponding to the first through third shutter time / v from when the shutter has opened is B03 / v.
[0104]
In frame # n−1 in FIG. 15, the leftmost pixel belongs to the foreground area, and the second to fourth pixels from the left belong to the mixed area, which is a covered background area.
[0105]
The fifth through twelfth pixels from the left of frame # n−1 in FIG. 15 belong to the background area, and the pixel values thereof are B04 through B11, respectively.
[0106]
The first through fifth pixels from the left of frame #n in FIG. 15 belong to the foreground area. The foreground component of the shutter time / v in the foreground area of frame #n is any one of F05 / v to F12 / v.
[0107]
It can be assumed that the object corresponding to the foreground is a rigid body and moves at a constant speed, and the foreground image moves so as to be displayed on the right side of four pixels in the next frame, so from the left of frame #n in FIG. The foreground component of the fifth pixel from the first shutter time / v after the shutter opens is F12 / v, and the sixth pixel from the left in FIG. The foreground component is also F12 / v. The foreground component of the seventh pixel from the left in FIG. 15 corresponding to the third shutter time / v from when the shutter has opened, and the fourth shutter time from the shutter opening of the eighth pixel from the left in FIG. The foreground component of / v is F12 / v.
[0108]
The foreground component of the fifth pixel from the left in frame #n in FIG. 15 corresponding to the second shutter time / v from when the shutter has opened is F11 / v, and the sixth pixel from the left in FIG. The foreground component of the third shutter time / v after the shutter is opened is also F11 / v. The foreground component of the seventh pixel from the left in FIG. 15 corresponding to the fourth portion of the shutter time / v from when the shutter has opened is F11 / v.
[0109]
The foreground component of the fifth pixel from the left in frame #n in FIG. 15 corresponding to the third shutter time / v from when the shutter has opened is F10 / v, and the sixth pixel from the left in FIG. The foreground component of the fourth shutter time / v after the shutter is opened is also F10 / v. The foreground component of the fifth pixel from the left of frame #n in FIG. 15 corresponding to the fourth portion of the shutter time / v from when the shutter has opened is F09 / v.
[0110]
Since the object corresponding to the background is stationary, the background component of the sixth pixel from the left in frame #n in FIG. 15 corresponding to the first shutter time / v after the shutter is opened is B05 / v. The background component of the seventh pixel from the left of frame #n in FIG. 15 corresponding to the first and second shutter time / v from when the shutter has opened is B06 / v. The background component of the eighth pixel from the left of frame #n in FIG. 15 corresponding to the first through third shutter time / v from when the shutter has opened is B07 / v.
[0111]
In frame #n in FIG. 15, the sixth through eighth pixels from the left belong to the mixed area, which is a covered background area.
[0112]
The ninth through twelfth pixels from the left of frame #n in FIG. 15 belong to the background area, and the pixel values thereof are B08 through B11, respectively.
[0113]
The first through ninth pixels from the left in frame # n + 1 in FIG. 15 belong to the foreground area. The foreground component of the shutter time / v in the foreground area of frame # n + 1 is any one of F01 / v to F12 / v.
[0114]
It can be assumed that the object corresponding to the foreground is a rigid body and moves at a constant speed, and the foreground image moves so as to be displayed on the right side by four pixels in the next frame, so that the frame # n + 1 in FIG. The foreground component of the ninth pixel from the left when the shutter is opened and the first shutter time / v is F12 / v, and the tenth pixel from the left in FIG. 15 is the second shutter time after the shutter is opened. The foreground component of / v is also F12 / v. The foreground component of the eleventh pixel from the left in FIG. 15 corresponding to the third shutter time / v from when the shutter has opened, and the fourth shutter time from the shutter opening of the twelfth pixel from the left in FIG. The foreground component of / v is F12 / v.
[0115]
The foreground component of the ninth pixel from the left of frame # n + 1 in FIG. 15 corresponding to the second shutter time / v from when the shutter has opened is F11 / v, which is the tenth from the left in FIG. The foreground component of the third shutter time / v after the shutter opens is also F11 / v. The foreground component of the eleventh pixel from the left in FIG. 15 corresponding to the fourth shutter time / v from when the shutter has opened is F11 / v.
[0116]
The foreground component of the ninth pixel from the left of frame # n + 1 in FIG. 15 corresponding to the third shutter time / v from when the shutter has opened is F10 / v, which is the tenth pixel from the left in FIG. The foreground component of the fourth shutter time / v after the shutter is opened is also F10 / v. The foreground component of the ninth pixel from the left of frame # n + 1 in FIG. 15 corresponding to the fourth portion of the shutter time / v from when the shutter has opened is F09 / v.
[0117]
Since the object corresponding to the background is stationary, the background component of the tenth pixel from the left of frame # n + 1 in FIG. 15 from the left of the first shutter time / v after the shutter opens is B09 / v Become. The background component of the eleventh pixel from the left of frame # n + 1 in FIG. 15 corresponding to the first and second shutter time / v from when the shutter has opened is B10 / v. The background component of the twelfth pixel from the left of frame # n + 1 in FIG. 15 corresponding to the first through third shutter time / v from when the shutter has opened is B11 / v.
[0118]
In frame # n + 1 in FIG. 15, the tenth through twelfth pixels from the left correspond to the mixed area, which is a covered background area.
[0119]
FIG. 16 is a model diagram of an image obtained by extracting foreground components from the pixel values shown in FIG.
[0120]
FIG. 17 shows pixels arranged in a row adjacent to each other in three frames of an image obtained by imaging a foreground corresponding to an object moving to the right side in the figure together with a stationary background. It is the model figure which expand | deployed the pixel value of the pixel of the position of time direction. In FIG. 17, an uncovered background area is included.
[0121]
In FIG. 17, it can be assumed that the object corresponding to the foreground is a rigid body and is moving at a constant speed. Since the object corresponding to the foreground is moved so as to be displayed on the right side by four pixels in the next frame, the motion amount v is 4.
[0122]
For example, the foreground component of the leftmost pixel of frame # n-1 in FIG. 17 that is the first shutter time / v after the shutter opens is F13 / v, and is the second pixel from the left in FIG. The foreground component of the second shutter time / v after the shutter is opened is also F13 / v. The foreground component of the third pixel from the left in FIG. 17 for the third shutter time / v after the shutter opens, and the fourth shutter time for the fourth pixel from the left in FIG. The foreground component of / v is F13 / v.
[0123]
The foreground component of the second pixel from the left in frame # n-1 in FIG. 17 corresponding to the first shutter time / v from when the shutter has opened is F14 / v, and the third pixel from the left in FIG. The foreground component of the second shutter time / v after the shutter is opened is also F14 / v. The foreground component of the third pixel from the left in FIG. 17 corresponding to the first shutter time / v from when the shutter has opened is F15 / v.
[0124]
Since the object corresponding to the background is stationary, the background component of the leftmost pixel of frame # n−1 in FIG. 17 corresponding to the second to fourth shutter time / v from when the shutter has opened is B25. / v. The background components of the second pixel from the left of frame # n−1 in FIG. 17 corresponding to the third and fourth shutter time / v from when the shutter has opened are B26 / v. The background component of the third pixel from the left of frame # n−1 in FIG. 17 corresponding to the fourth portion of the shutter time / v from when the shutter has opened is B27 / v.
[0125]
In frame # n-1 in FIG. 17, the leftmost pixel through the third pixel belong to the mixed area, which is an uncovered background area.
[0126]
The fourth through twelfth pixels from the left of frame # n−1 in FIG. 17 belong to the foreground area. The foreground component of the frame is any one of F13 / v to F24 / v.
[0127]
The leftmost pixel through the fourth pixel from the left in frame #n in FIG. 17 belong to the background area, and the pixel values are B25 through B28, respectively.
[0128]
It can be assumed that the object corresponding to the foreground is a rigid body and moves at a constant speed, and the foreground image moves so as to be displayed on the right side of four pixels in the next frame, so from the left of frame #n in FIG. The foreground component of the fifth pixel at the first shutter time / v after the shutter opens is F13 / v, and the sixth pixel from the left in FIG. 17 opens the shutter at the second shutter time / v. The foreground component is also F13 / v. The foreground component of the seventh pixel from the left in FIG. 17 corresponding to the third shutter time / v from when the shutter has opened, and the fourth shutter time from the shutter opening of the eighth pixel from the left in FIG. The foreground component of / v is F13 / v.
[0129]
The foreground component of the sixth pixel from the left in frame #n in FIG. 17 corresponding to the first shutter time / v from when the shutter has opened is F14 / v, and the seventh pixel from the left in FIG. The foreground component of the second shutter time / v after opening is also F14 / v. The foreground component of the eighth pixel from the left in FIG. 17 corresponding to the first portion of the shutter time / v from when the shutter has opened is F15 / v.
[0130]
Since the object corresponding to the background is stationary, the background component of the fifth pixel from the left of frame #n in FIG. 17 corresponding to the second to fourth shutter time / v from when the shutter has opened is B29 / v. The background component of the sixth pixel from the left of frame #n in FIG. 17 corresponding to the third and fourth shutter time / v from when the shutter has opened is B30 / v. The background component of the seventh pixel from the left of frame #n in FIG. 17 corresponding to the fourth portion of the shutter time / v from when the shutter has opened is B31 / v.
[0131]
In frame #n in FIG. 17, the fifth through seventh pixels from the left belong to the mixed area, which is an uncovered background area.
[0132]
The eighth through twelfth pixels from the left in frame #n in FIG. 17 belong to the foreground area. The value corresponding to the period of the shutter time / v in the foreground area of frame #n is any one of F13 / v to F20 / v.
[0133]
The leftmost pixel through the eighth pixel from the left in frame # n + 1 in FIG. 17 belong to the background area, and the pixel values are B25 through B32, respectively.
[0134]
It can be assumed that the object corresponding to the foreground is a rigid body and moves at a constant speed, and the foreground image moves so as to be displayed on the right side by four pixels in the next frame. Therefore, the frame # n + 1 in FIG. The foreground component of the ninth pixel from the left when the shutter is opened and the first shutter time / v is F13 / v, and the tenth pixel from the left in FIG. The foreground component of / v is also F13 / v. The foreground component of the eleventh pixel from the left in FIG. 17 and the third shutter time / v from when the shutter has opened, and the fourth shutter time from the shutter of the twelfth pixel from the left in FIG. The foreground component of / v is F13 / v.
[0135]
The foreground component of the tenth pixel from the left of frame # n + 1 in FIG. 17 corresponding to the first shutter time / v from when the shutter has opened is F14 / v, and the eleventh pixel from the left in FIG. The foreground component of the second shutter time / v after the shutter is opened is also F14 / v. The foreground component of the twelfth pixel from the left in FIG. 17 corresponding to the first shutter time / v from when the shutter has opened is F15 / v.
[0136]
Since the object corresponding to the background is stationary, the background components of the ninth pixel from the left of frame # n + 1 in FIG. , B33 / v. The background component of the tenth pixel from the left of frame # n + 1 in FIG. 17 corresponding to the third and fourth shutter time / v from when the shutter has opened is B34 / v. The background component of the eleventh pixel from the left of frame # n + 1 in FIG. 17 corresponding to the fourth portion of the shutter time / v from when the shutter has opened is B35 / v.
[0137]
In frame # n + 1 in FIG. 17, the ninth through eleventh pixels from the left belong to the mixed area, which is an uncovered background area.
[0138]
The twelfth pixel from the left of frame # n + 1 in FIG. 17 belongs to the foreground area. The foreground component of the shutter time / v in the foreground area of frame # n + 1 is any one of F13 / v to F16 / v.
[0139]
FIG. 18 is a model diagram of an image obtained by extracting foreground components from the pixel values shown in FIG.
[0140]
Returning to FIG. 2, the region specifying unit 101 associates a flag indicating that the pixel belongs to the foreground region, the background region, the covered background region, or the uncovered background region for each pixel using the pixel values of a plurality of frames. The region information is supplied to the simultaneous detection unit 102 and the motion blur adjustment unit 104.
[0141]
The simultaneous detection unit 102 calculates the mixture ratio α for each pixel for the pixels included in the mixed region based on the pixel values of multiple frames and the region information, and supplies the calculated mixture ratio α to the foreground / background separation unit 103. To do.
[0142]
The foreground / background separation unit 103 extracts a foreground component image including only foreground components based on the pixel values of a plurality of frames, region information, and the mixture ratio α, and supplies the foreground component image to the motion blur adjustment unit 104.
[0143]
The motion blur adjustment unit 104 generates a foreground component image based on the foreground component image supplied from the foreground / background separation unit 103, the motion vector supplied from the simultaneous detection unit 102, and the region information supplied from the region specifying unit 101. The amount of motion blur included is adjusted, and a foreground component image in which the amount of motion blur is adjusted is output.
[0144]
With reference to the flowchart of FIG. 19, the process of adjusting the amount of motion blur by the signal processing device will be described. In step S11, the area specifying unit 101 obtains area information indicating whether each pixel of the input image belongs to the foreground area, the background area, the covered background area, or the uncovered background area based on the input image. A process for specifying the area to be generated is executed. Details of the area specifying process will be described later. The area specifying unit 101 supplies the generated area information to the simultaneous detection unit 102 and the motion blur adjustment unit 104.
[0145]
In step S11, the area specifying unit 101, based on the input image, foreground area, background area, or mixed area (covered background area or uncovered background area is not distinguished) for each pixel of the input image. It may be possible to generate region information indicating which one of the items belongs to. In this case, the foreground / background separation unit 103 and the motion blur adjustment unit 104 determine whether the mixed region is a covered background region or an uncovered background region based on the direction of the motion vector. For example, when the foreground region, the mixed region, and the background region are arranged in order corresponding to the direction of the motion vector, the mixed region is determined as the covered background region, and the background is determined corresponding to the direction of the motion vector. When the region, the mixed region, and the foreground region are arranged in this order, the mixed region is determined as an uncovered background region.
[0146]
In step S12, the simultaneous detection unit 102 detects the mixing ratio α for each pixel included in the mixed region based on the input image and the region information, and detects relative movement between the background object and the foreground object. The corresponding motion vector is detected. Details of the mixing ratio and motion vector detection process will be described later. The simultaneous detection unit 102 supplies the detected mixture ratio α to the foreground / background separation unit 103 and supplies the detected motion vector to the motion blur adjustment unit 104.
[0147]
In step S13, the foreground / background separator 103 extracts a foreground component from the input image based on the region information and the mixture ratio α, and supplies the foreground component image to the motion blur adjustment unit 104 as a foreground component image.
[0148]
In step S14, the motion blur adjustment unit 104 is a continuous pixel arranged in the motion direction based on the motion vector and the region information, and belongs to any one of the uncovered background region, the foreground region, and the covered background region. A processing unit indicating the position of the object on the image is generated, and the amount of motion blur included in the foreground component corresponding to the processing unit is adjusted. Details of the process of adjusting the amount of motion blur will be described later.
[0149]
In step S15, the signal processing apparatus determines whether or not the process has been completed for the entire screen. If it is determined that the process has not been completed for the entire screen, the process proceeds to step S14, and the foreground corresponding to the processing unit is determined. The process of adjusting the amount of motion blur for the component is repeated.
[0150]
If it is determined in step S15 that the process has been completed for the entire screen, the process ends.
[0151]
As described above, the signal processing apparatus can adjust the amount of motion blur included in the foreground by separating the foreground and the background. That is, the signal processing apparatus can adjust the amount of motion blur included in the sample data that is the pixel value of the foreground pixel.
[0152]
Hereinafter, the configurations of the area specifying unit 101, the simultaneous detection unit 102, the foreground / background separation unit 103, and the motion blur adjustment unit 104 will be described.
[0153]
FIG. 20 is a block diagram illustrating an example of the configuration of the area specifying unit 101. The area specifying unit 101 shown in FIG. 20 does not use a motion vector. The frame memory 201 stores the input image in units of frames. When the processing target is the frame #n, the frame memory 201 is a frame # n-2 that is a frame immediately before the frame #n, a frame # n-1 that is a frame immediately before the frame #n, A frame #n, a frame # n + 1 that is a frame subsequent to the frame #n, and a frame # n + 2 that is a frame subsequent to the frame #n are stored.
[0154]
The static motion determination unit 202-1 determines the pixel value of the pixel of frame # n + 2 at the same position on the image of the pixel that is the target of region specification of frame #n, and the region specification of frame #n. The pixel value of the pixel of frame # n + 1 at the same position as the position of the target pixel on the image is read from the frame memory 201, and the absolute value of the difference between the read pixel values is calculated. The static motion determination unit 202-1 determines whether or not the absolute value of the difference between the pixel value of frame # n + 2 and the pixel value of frame # n + 1 is greater than a preset threshold Th, When it is determined that the absolute value of the difference is greater than the threshold value Th, a static motion determination indicating motion is supplied to the region determination unit 203-1. When it is determined that the absolute value of the difference between the pixel value of the pixel of frame # n + 2 and the pixel value of the pixel of frame # n + 1 is equal to or less than the threshold value Th, the static motion determination unit 202-1 The static motion determination shown is supplied to the region determination unit 203-1.
[0155]
The static motion determination unit 202-2 is the target of the pixel value of the frame # n + 1 at the same position on the image of the pixel that is the target of region identification of the frame #n, and the target of the frame #n The pixel value of the pixel is read from the frame memory 201, and the absolute value of the difference between the pixel values is calculated. The static motion determination unit 202-2 determines whether or not the absolute value of the difference between the pixel value of the frame # n + 1 and the pixel value of the frame #n is greater than a preset threshold value Th. When it is determined that the absolute value of the difference between the two is greater than the threshold value Th, a static motion determination indicating motion is supplied to the region determination unit 203-1 and the region determination unit 203-2. When it is determined that the absolute value of the difference between the pixel value of the pixel of frame # n + 1 and the pixel value of the pixel of frame #n is equal to or less than the threshold value Th, the static motion determination unit 202-2 indicates stillness. The static motion determination is supplied to the region determination unit 203-1 and the region determination unit 203-2.
[0156]
The static motion determination unit 202-3 determines the frame #n at the same position as the pixel value of the pixel that is the region specification target of the frame #n and the position of the pixel that is the region specification target of the frame #n. The pixel value of −1 pixel is read from the frame memory 201, and the absolute value of the difference between the pixel values is calculated. The static motion determination unit 202-3 determines whether or not the absolute value of the difference between the pixel value of the frame #n and the pixel value of the frame # n-1 is larger than a preset threshold value Th. When it is determined that the absolute value of the difference between the two is greater than the threshold value Th, a static motion determination indicating motion is supplied to the region determination unit 203-2 and the region determination unit 203-3. When it is determined that the absolute value of the difference between the pixel value of the pixel of frame #n and the pixel value of the pixel of frame # n-1 is equal to or less than the threshold value Th, the static motion determination unit 202-3 indicates the still state The static motion determination is supplied to the region determination unit 203-2 and the region determination unit 203-3.
[0157]
The static motion determination unit 202-4 determines the pixel value of the pixel of frame # n-1 at the same position on the image of the pixel that is the target of region specification of frame #n, and the region specification of frame #n. The pixel value of the pixel of frame # n-2 located at the same position on the image of the target pixel is read from the frame memory 201, and the absolute value of the difference between the pixel values is calculated. The static motion determination unit 202-4 determines whether or not the absolute value of the difference between the pixel value of the frame # n-1 and the pixel value of the frame # n-2 is greater than a preset threshold Th, When it is determined that the absolute value of the difference between the pixel values is greater than the threshold value Th, a static motion determination indicating motion is supplied to the region determination unit 203-3. When it is determined that the absolute value of the difference between the pixel value of the pixel of frame # n-1 and the pixel value of the pixel of frame # n-2 is equal to or less than the threshold value Th, the static motion determination unit 202-4 Is supplied to the region determination unit 203-3.
[0158]
The region determination unit 203-1 is configured such that the static motion determination supplied from the static motion determination unit 202-1 indicates stillness and the static motion determination supplied from the static motion determination unit 202-2 indicates movement. The pixel that is the target of region identification in frame #n is determined to belong to the uncovered background region, and the uncovered background region determination flag corresponding to the pixel that is determined to belong to the region belongs to the uncovered background region. “1” indicating “” is set.
[0159]
The area determination unit 203-1 indicates that the static motion determination supplied from the static motion determination unit 202-1 indicates movement, or the static motion determination supplied from the static motion determination unit 202-2 indicates stillness. When determining that the pixel that is the target of region identification in frame #n does not belong to the uncovered background region, the uncovered background region determination flag corresponding to the pixel to be determined for the region is set to the uncovered background region. “0” is set to indicate that it does not belong.
[0160]
The area determination unit 203-1 supplies the uncovered background area determination flag in which “1” or “0” is set as described above to the determination flag storage frame memory 204.
[0161]
The region determination unit 203-2 is configured such that the static motion determination supplied from the static motion determination unit 202-2 indicates static and the static motion determination supplied from the static motion determination unit 202-3 indicates static. Then, it is determined that the pixel that is the target of region identification in frame #n belongs to the still region, and “1” indicating that it belongs to the still region is set in the still region determination flag corresponding to the pixel to be determined for the region.
[0162]
In the area determination unit 203-2, the static motion determination supplied from the static motion determination unit 202-2 indicates a motion, or the static motion determination supplied from the static motion determination unit 202-3 indicates a motion. At this time, it is determined that the pixel that is the region identification target in frame #n does not belong to the still region, and “0” indicating that it does not belong to the still region is set in the still region determination flag corresponding to the pixel to be determined for the region. Set.
[0163]
The region determination unit 203-2 supplies the still region determination flag in which “1” or “0” is set as described above to the determination flag storage frame memory 204.
[0164]
The region determination unit 203-2 is configured such that the static motion determination supplied from the static motion determination unit 202-2 indicates movement and the static motion determination supplied from the static motion determination unit 202-3 indicates movement. Then, it is determined that the pixel that is the target of region identification in frame #n belongs to the motion region, and “1” indicating that it belongs to the motion region is set in the motion region determination flag corresponding to the pixel determined for the region.
[0165]
The region determination unit 203-2 indicates that the static motion determination supplied from the static motion determination unit 202-2 indicates static or the static motion determination supplied from the static motion determination unit 202-3 indicates static. At this time, it is determined that the pixel that is the region identification target in frame #n does not belong to the motion region, and “0” indicating that it does not belong to the motion region is set in the motion region determination flag corresponding to the pixel that is determined to be the region Set.
[0166]
The region determination unit 203-2 supplies the motion region determination flag set to “1” or “0” to the determination flag storage frame memory 204 in this way.
[0167]
The region determination unit 203-3 is configured such that the static motion determination supplied from the static motion determination unit 202-3 indicates movement and the static motion determination supplied from the static motion determination unit 202-4 indicates stillness. , It is determined that the pixel that is the target of region identification in frame #n belongs to the covered background region, and the covered background region determination flag corresponding to the pixel to be determined of the region indicates that it belongs to the covered background region. 1 ”is set.
[0168]
In the area determination unit 203-3, the static motion determination supplied from the static motion determination unit 202-3 indicates stillness, or the static motion determination supplied from the static motion determination unit 202-4 indicates movement. When determining that the pixel that is the target of region identification in frame #n does not belong to the covered background region, the covered background region determination flag corresponding to the pixel to be determined for the region does not belong to the covered background region. “0” is set to indicate.
[0169]
The area determination unit 203-3 supplies the covered background area determination flag set to “1” or “0” to the determination flag storage frame memory 204 in this way.
[0170]
The determination flag storage frame memory 204 is supplied from the uncovered background region determination flag supplied from the region determination unit 203-1, the still region determination flag supplied from the region determination unit 203-2, and the region determination unit 203-2. The movement area determination flag and the covered background area determination flag supplied from the area determination unit 203-3 are stored.
[0171]
The determination flag storage frame memory 204 supplies the stored uncovered background area determination flag, still area determination flag, motion area determination flag, and covered background area determination flag to the synthesis unit 205. Based on the uncovered background area determination flag, the still area determination flag, the motion area determination flag, and the covered background area determination flag supplied from the determination flag storage frame memory 204, the combining unit 205 Area information indicating that it belongs to any one of the covered background area, the stationary area, the motion area, and the covered background area is generated and supplied to the determination flag storage frame memory 206.
[0172]
The determination flag storage frame memory 206 stores the area information supplied from the synthesis unit 205 and outputs the stored area information.
[0173]
Next, an example of processing of the area specifying unit 101 will be described with reference to FIGS.
[0174]
When the object corresponding to the foreground is moving, the position on the screen of the image corresponding to the object changes for each frame. As shown in FIG. 21, in the frame #n, the image corresponding to the object located at the position indicated by Yn (x, y) is Yn + 1 (x, y in the frame # n + 1 which is the next frame. Located in y).
[0175]
FIG. 22 shows a model diagram in which pixel values of pixels arranged in a row adjacent to the moving direction of the image corresponding to the foreground object are developed in the time direction. For example, when the moving direction of the image corresponding to the foreground object is horizontal with respect to the screen, the model diagram in FIG. 22 shows a model in which pixel values of adjacent pixels on one line are expanded in the time direction.
[0176]
In FIG. 22, the line in frame #n is the same as the line in frame # n + 1.
[0177]
Foreground components corresponding to the objects included in the second through thirteenth pixels from the left in frame #n are included in the sixth through seventeenth pixels from the left in frame # n + 1.
[0178]
In frame #n, the pixels belonging to the covered background area are the 11th to 13th pixels from the left, and the pixels belonging to the uncovered background area are the 2nd to 4th pixels from the left. In frame # n + 1, the pixels belonging to the covered background area are the 15th to 17th pixels from the left, and the pixels belonging to the uncovered background area are the 6th to 8th pixels from the left.
[0179]
In the example illustrated in FIG. 22, the foreground component included in the frame #n has moved four pixels in the frame # n + 1, and thus the motion amount v is four. The virtual division number corresponds to the motion amount v and is 4.
[0180]
Next, changes in pixel values of pixels belonging to the mixed region before and after the frame of interest will be described.
[0181]
In frame #n shown in FIG. 23 where the background is stationary and the foreground motion amount v is 4, the pixels belonging to the covered background area are the fifteenth through seventeenth pixels from the left. Since the motion amount v is 4, in the previous frame # n−1, the fifteenth through seventeenth pixels from the left include only background components and belong to the background area. In frame # n-2, the fifteenth through seventeenth pixels from the left include only background components and belong to the background area.
[0182]
Here, since the object corresponding to the background is stationary, the pixel value of the fifteenth pixel from the left in frame # n-1 does not change from the pixel value of the fifteenth pixel from the left in frame # n-2. . Similarly, the pixel value of the 16th pixel from the left of frame # n-1 does not change from the pixel value of the 16th pixel from the left of frame # n-2, and the 17th pixel from the left of frame # n-1 The pixel value of this pixel does not change from the pixel value of the 17th pixel from the left in frame # n-2.
[0183]
That is, the pixels of frame # n-1 and frame # n-2 corresponding to the pixels belonging to the covered background area in frame #n are composed of only background components, and the pixel value does not change. The value is almost zero. Therefore, the static motion determination for the pixels in frame # n-1 and frame # n-2 corresponding to the pixels belonging to the mixed region in frame #n is determined as static by the static motion determination unit 202-4.
[0184]
Since the pixels belonging to the covered background area in frame #n include the foreground components, the pixel values are different from the case of only the background components in frame # n-1. Therefore, the static motion determination for the pixels belonging to the mixed region in frame #n and the corresponding pixels in frame # n-1 is determined as motion by the static motion determination unit 202-3.
[0185]
As described above, the region determination unit 203-3 is supplied with the result of the static motion determination indicating the motion from the static motion determination unit 202-3, and is supplied with the result of the static motion determination indicating the static motion from the static motion determination unit 202-4. When it is done, it is determined that the corresponding pixel belongs to the covered background area.
[0186]
In the frame #n shown in FIG. 24 where the background is still and the foreground motion amount v is 4, the pixels included in the uncovered background area are the second through fourth pixels from the left. Since the motion amount v is 4, in the next frame # n + 1, the second through fourth pixels from the left include only background components and belong to the background area. Further, in the next frame # n + 2, the second through fourth pixels from the left include only background components and belong to the background area.
[0187]
Here, since the object corresponding to the background is stationary, the pixel value of the second pixel from the left of frame # n + 2 does not change from the pixel value of the second pixel from the left of frame # n + 1. . Similarly, the pixel value of the third pixel from the left of frame # n + 2 does not change from the pixel value of the third pixel from the left of frame # n + 1, and is the fourth from the left of frame # n + 2. The pixel value of this pixel does not change from the pixel value of the fourth pixel from the left in frame # n + 1.
[0188]
That is, the pixels of frame # n + 1 and frame # n + 2, which correspond to the pixels belonging to the uncovered background area in frame #n, consist only of background components, and the pixel value does not change. The absolute value is almost zero. Therefore, the static motion determination for the pixels in frame # n + 1 and frame # n + 2 corresponding to the pixels belonging to the mixed region in frame #n is determined as static by the static motion determination unit 202-1.
[0189]
Since the pixels belonging to the uncovered background area in frame #n include the foreground components, the pixel values are different from the case of only the background components in frame # n + 1. Therefore, the static motion determination for the pixels belonging to the mixed region in frame #n and the corresponding pixels in frame # n + 1 is determined as motion by the static motion determination unit 202-2.
[0190]
As described above, the region determination unit 203-1 is supplied with the result of the static motion determination indicating the motion from the static motion determination unit 202-2, and is supplied with the result of the static motion determination indicating the static motion from the static motion determination unit 202-1. Is determined to belong to the uncovered background area.
[0191]
FIG. 25 is a diagram illustrating determination conditions of the area specifying unit 101 in frame #n. The pixel in frame # n-2 at the same position on the image of the pixel to be judged in frame #n and the same position on the image of the pixel to be judged in frame #n A pixel in frame # n-1 is determined to be stationary, and a pixel in frame # n-1 and a pixel in frame #n at the same position on the image of the pixel to be determined in frame #n Are determined to be movements, the area specifying unit 101 determines that the pixel to be determined for frame #n belongs to the covered background area.
[0192]
The pixel in frame # n-1 and the pixel in frame #n at the same position on the image of the pixel to be determined in frame #n are determined to be stationary, and the pixel in frame #n When it is determined that the pixel of frame # n + 1 at the same position on the image of the pixel to be determined as #n is still, the area specifying unit 101 determines that the determination target of frame #n is Is determined to belong to the still region.
[0193]
The pixel in frame # n-1 and the pixel in frame #n at the same position on the image of the pixel to be determined in frame #n are determined to move, and the pixel in frame #n When it is determined that a pixel in frame # n + 1 at the same position on the image of a pixel to be determined as #n is a motion, the area specifying unit 101 determines that the determination is as frame #n. Is determined to belong to the motion region.
[0194]
The pixel in frame #n and the pixel in frame # n + 1 at the same position on the image of the pixel to be determined in frame #n are determined as motion, and the determination target in frame #n The pixel of frame # n + 1 at the same position as the position of the pixel on the image and the pixel of frame # n + 2 at the same position as the position of the pixel to be determined at frame #n on the image Are determined to be stationary, the area specifying unit 101 determines that the pixel to be determined for frame #n belongs to the uncovered background area.
[0195]
FIG. 26 is a diagram illustrating an example of the result of specifying the area of the area specifying unit 101. In FIG. 26A, pixels determined to belong to the covered background area are displayed in white. In FIG. 26B, pixels determined to belong to the uncovered background area are displayed in white.
[0196]
In FIG. 26C, pixels determined to belong to the motion region are displayed in white. In FIG. 26D, the pixels determined to belong to the still area are displayed in white.
[0197]
FIG. 27 is a diagram illustrating, as an image, region information indicating a mixed region among region information output from the determination flag storage frame memory 206. In FIG. 27, a pixel determined to belong to the covered background area or the uncovered background area, that is, a pixel determined to belong to the mixed area is displayed in white. The area information indicating the mixed area output from the determination flag storage frame memory 206 indicates a mixed area and a portion having a texture surrounded by a portion having no texture in the foreground area.
[0198]
Next, the area specifying process of the area specifying unit 101 will be described with reference to the flowchart of FIG. In step S201, the frame memory 201 acquires images of frames # n-2 to # n + 2 including the frame #n to be determined.
[0199]
In step S202, the static motion determination unit 202-3 determines whether or not the pixel in frame # n-1 and the pixel at the same position in frame #n are stationary. Then, the static motion determination unit 202-2 determines whether or not the frame #n and the pixel at the same position in the frame # n + 1 are still.
[0200]
In step S203, if it is determined that the pixel in frame #n and the pixel in the same position in frame # n + 1 are determined to be stationary, the process proceeds to step S204, and the region determination unit 203-2 determines that the region is determined. A corresponding still area determination flag is set to “1” indicating that it belongs to a still area. The region determination unit 203-2 supplies the still region determination flag to the determination flag storage frame memory 204, and the procedure proceeds to step S205.
[0201]
When it is determined in step S202 that the pixel in frame # n-1 and the pixel at the same position in frame #n are in motion, or in step S203, the pixel in frame #n and the same position in frame # n + 1 If the pixel is determined to be moving, the pixel in frame #n does not belong to the still region, so the process of step S204 is skipped, and the procedure proceeds to step S205.
[0202]
In step S205, the static motion determination unit 202-3 determines whether or not the pixel in frame # n-1 and the pixel at the same position in frame #n are in motion, and if it is determined as motion, the process proceeds to step S206. Then, the static motion determination unit 202-2 determines whether or not there is motion between the pixel of frame #n and the pixel at the same position of frame # n + 1.
[0203]
If it is determined in step S206 that the pixel in frame #n and the pixel in the same position in frame # n + 1 are in motion, the process proceeds to step S207, and the region determination unit 203-2 determines that the region is determined. “1” indicating that it belongs to a motion region is set in the corresponding motion region determination flag. The region determination unit 203-2 supplies the motion region determination flag to the determination flag storage frame memory 204, and the procedure proceeds to step S208.
[0204]
If it is determined in step S205 that the pixel in frame # n-1 and the pixel in the same position in frame #n are still, or in step S206, the pixel in frame #n and the same position in frame # n + 1 If the current pixel is determined to be still, the pixel of frame #n does not belong to the motion region, so the process of step S207 is skipped, and the procedure proceeds to step S208.
[0205]
In step S208, the static motion determination unit 202-4 determines whether or not the pixel in frame # n-2 and the pixel in the same position in frame # n-1 are stationary. In step S209, the static motion determination unit 202-3 determines whether or not there is motion between the pixel in frame # n-1 and the pixel at the same position in frame #n.
[0206]
If it is determined in step S209 that the motion of the pixel in frame # n-1 and the pixel at the same position in frame #n is determined as moving, the process proceeds to step S210, and the region determination unit 203-3 determines that the region is to be determined. The corresponding covered background area determination flag is set to “1” indicating that it belongs to the covered background area. The area determination unit 203-3 supplies the covered background area determination flag to the determination flag storage frame memory 204, and the procedure proceeds to step S211.
[0207]
If it is determined in step S208 that the pixel in frame # n-2 and the pixel in the same position in frame # n-1 are in motion, or in step S209, the pixel in frame # n-1 and the pixel in frame #n If it is determined that the pixel at the same position is still, the pixel of frame #n does not belong to the covered background area, so the process of step S210 is skipped, and the procedure proceeds to step S211.
[0208]
In step S211, the static motion determination unit 202-2 determines whether or not the pixel in the frame #n and the pixel in the same position in the frame # n + 1 are in motion, and if it is determined to be in motion, the process proceeds to step S212. Then, the static motion determination unit 202-1 determines whether or not the pixel of frame # n + 1 and the pixel at the same position of frame # n + 2 are still.
[0209]
If it is determined in step S212 that the pixel in frame # n + 1 and the pixel in the same position in frame # n + 2 are stationary, the process proceeds to step S213, and the region determination unit 203-1 determines the region. In the uncovered background area determination flag corresponding to the pixel, “1” indicating that the pixel belongs to the uncovered background area is set. The region determination unit 203-1 supplies the uncovered background region determination flag to the determination flag storage frame memory 204, and the procedure proceeds to step S214.
[0210]
If it is determined in step S211 that the pixel in frame #n and the pixel in the same position in frame # n + 1 are stationary, or in step S212, the pixel in frame # n + 1 and the frame # n + 2 If it is determined that the motion is the same pixel, the pixel of frame #n does not belong to the uncovered background area, so the process of step S213 is skipped, and the procedure proceeds to step S214.
[0211]
In step S214, the area specifying unit 101 determines whether or not an area has been specified for all the pixels of frame #n. If it is determined that no area has been specified for all the pixels of frame #n, Returns to step S202 and repeats the area specifying process for other pixels.
[0212]
If it is determined in step S214 that the area has been specified for all the pixels of frame #n, the process proceeds to step S215, where the synthesis unit 205 stores the uncovered background area determination flag stored in the determination flag storage frame memory 204. And a covered background area determination flag, area information indicating a mixed area is generated, and each pixel belongs to one of an uncovered background area, a stationary area, a motion area, and a covered background area. The region information indicating this is generated, the generated region information is set in the determination flag storage frame memory 206, and the process ends.
[0213]
As described above, the area specifying unit 101 can generate area information indicating that each pixel included in the frame belongs to the motion area, the stationary area, the uncovered background area, or the covered background area. it can.
[0214]
The area specifying unit 101 generates area information corresponding to the mixed area by applying a logical sum to the area information corresponding to the uncovered background area and the covered background area, and is included in the frame. For each pixel, region information including a flag indicating that the pixel belongs to a motion region, a still region, or a mixed region may be generated.
[0215]
When the object corresponding to the foreground has a texture, the area specifying unit 101 can specify the moving area more accurately.
[0216]
The area specifying unit 101 can output area information indicating a motion area as area information indicating a foreground area, and area information indicating a still area as area information indicating a background area.
[0217]
In addition, although the object corresponding to the background has been described as stationary, the above-described processing for specifying the region can be applied even if the image corresponding to the background region includes a motion. For example, when the image corresponding to the background area is moving uniformly, the area specifying unit 101 shifts the entire image corresponding to this movement, and performs the same processing as when the object corresponding to the background is stationary. To do. Further, when the image corresponding to the background region includes a different motion for each local area, the region specifying unit 101 selects a pixel corresponding to the motion and executes the above-described processing.
[0218]
FIG. 29 is a block diagram illustrating another example of the configuration of the area specifying unit 101. The area specifying unit 101 shown in FIG. 29 does not use a motion vector. The background image generation unit 301 generates a background image corresponding to the input image, and supplies the generated background image to the binary object image extraction unit 302. For example, the background image generation unit 301 extracts an image object corresponding to a background object included in the input image, and generates a background image.
[0219]
FIG. 30 shows an example of a model diagram in which pixel values of pixels arranged in a line adjacent to the moving direction of the image corresponding to the foreground object are developed in the time direction. For example, when the motion direction of the image corresponding to the foreground object is horizontal with respect to the screen, the model diagram in FIG. 30 shows a model in which pixel values of adjacent pixels on one line are expanded in the time direction.
[0220]
In FIG. 30, the lines in frame #n are the same as the lines in frame # n−1 and frame # n + 1.
[0221]
In frame #n, the foreground components corresponding to the objects included in the sixth through seventeenth pixels from the left are included in the second through thirteenth pixels from the left in frame # n-1. In frame # n + 1, they are included in the 10th to 21st pixels from the left.
[0222]
In frame # n−1, the pixels belonging to the covered background area are the 11th to 13th pixels from the left, and the pixels belonging to the uncovered background area are the 2nd to 4th pixels from the left. In frame #n, the pixels belonging to the covered background area are the 15th to 17th pixels from the left, and the pixels belonging to the uncovered background area are the 6th to 8th pixels from the left. In frame # n + 1, the pixels belonging to the covered background area are the 19th to 21st pixels from the left, and the pixels belonging to the uncovered background area are the 10th to 12th pixels from the left.
[0223]
In frame # n−1, the pixels belonging to the background area are the first pixel from the left and the fourteenth through twenty-first pixels from the left. In frame #n, the pixels belonging to the background area are the first through fifth pixels from the left, and the eighteenth through twenty-first pixels from the left. In frame # n + 1, the pixels belonging to the background area are the first through ninth pixels from the left.
[0224]
An example of a background image generated by the background image generation unit 301 and corresponding to the example of FIG. 30 is shown in FIG. The background image is composed of pixels corresponding to the background object, and does not include image components corresponding to the foreground object.
[0225]
The binary object image extraction unit 302 generates a binary object image based on the correlation between the background image and the input image, and supplies the generated binary object image to the time change detection unit 303.
[0226]
FIG. 32 is a block diagram illustrating a configuration of the binary object image extraction unit 302. The correlation value calculation unit 321 calculates the correlation between the background image and the input image supplied from the background image generation unit 301, generates a correlation value, and supplies the generated correlation value to the threshold processing unit 322.
[0227]
For example, as shown in FIG. Four And a block corresponding to a block in the background image as shown in FIG. 33 (B). Four Applying equation (4) to a block in a 3 × 3 input image centered at Y Four The correlation value corresponding to is calculated.
[0228]
[Expression 2]
Figure 0004596218
[Equation 3]
Figure 0004596218
[Expression 4]
Figure 0004596218
[0229]
The correlation value calculation unit 321 supplies the correlation value calculated for each pixel in this way to the threshold processing unit 322.
[0230]
In addition, the correlation value calculation unit 321 performs, for example, as shown in FIG. Four And a block corresponding to the block in the background image as shown in FIG. 34 (B). Four Applying equation (7) to a block in a 3 × 3 input image centered at Y Four The absolute difference value corresponding to may be calculated.
[0231]
[Equation 5]
Figure 0004596218
[0232]
The correlation value calculation unit 321 supplies the difference absolute value calculated in this way to the threshold processing unit 322 as a correlation value.
[0233]
The threshold value processing unit 322 compares the pixel value of the correlation image with the threshold value th0. When the correlation value is equal to or less than the threshold value th0, the threshold value processing unit 322 sets the pixel value of the binary object image to 1, and Is greater than the threshold th0, the pixel value of the binary object image is set to 0, and a binary object image with 0 or 1 set to the pixel value is output. The threshold processing unit 322 may store the threshold th0 in advance, or may use the threshold th0 input from the outside.
[0234]
FIG. 35 is a diagram showing an example of a binary object image corresponding to the model of the input image shown in FIG. In the binary object image, the pixel value is set to 0 for a pixel having a high correlation with the background image.
[0235]
FIG. 36 is a block diagram illustrating a configuration of the time change detection unit 303. The frame memory 341 determines the area for the pixel of frame #n, and the binary object image of frame # n−1, frame #n, and frame # n + 1 supplied from the binary object image extraction unit 302 Remember.
[0236]
The area determination unit 342 determines an area for each pixel of the frame #n based on the binary object images of the frame # n−1, the frame #n, and the frame # n + 1 stored in the frame memory 341. Region information is generated, and the generated region information is output.
[0237]
FIG. 37 is a diagram illustrating the determination of the region determination unit 342. When the pixel of interest of the binary object image of frame #n is 0, the region determination unit 342 determines that the pixel of interest of frame #n belongs to the background region.
[0238]
The pixel of interest of the binary object image of frame #n is 1, the corresponding pixel of the binary object image of frame # n-1 is 1, and the correspondence of the binary object image of frame # n + 1 When the pixel to be processed is 1, the region determination unit 342 determines that the pixel of interest in frame #n belongs to the foreground region.
[0239]
When the pixel of interest of the binary object image of frame #n is 1 and the corresponding pixel of the binary object image of frame # n-1 is 0, the region determination unit 342 It is determined that the pixel in question belongs to the covered background area.
[0240]
When the pixel of interest of the binary object image of frame #n is 1 and the corresponding pixel of the binary object image of frame # n + 1 is 0, the region determination unit 342 It is determined that the current pixel belongs to the uncovered background area.
[0241]
FIG. 38 is a diagram illustrating an example in which the time change detection unit 303 determines the binary object image corresponding to the input image model illustrated in FIG. Since the corresponding pixel of frame #n of the binary object image is 0, the time change detection unit 303 determines that the first to fifth pixels from the left of the frame #n belong to the background area.
[0242]
The temporal change detection unit 303 has the uncovered background region as the sixth to ninth pixels from the left because the pixel of frame #n of the binary object image is 1 and the corresponding pixel of frame # n + 1 is 0. It is determined that it belongs to.
[0243]
The temporal change detection unit 303 has a pixel of frame #n of 1 in the binary object image, a corresponding pixel of frame # n−1 is 1, and a corresponding pixel of frame # n + 1 is 1. The tenth through thirteenth pixels are determined to belong to the foreground area.
[0244]
Since the pixel of frame #n of the binary object image is 1 and the corresponding pixel of frame # n−1 is 0, the time change detection unit 303 sets the 14th to 17th pixels from the left as the covered background area. Judge as belonging.
[0245]
The time change detection unit 303 determines that the 18th to 21st pixels from the left belong to the background area because the corresponding pixel of frame #n of the binary object image is 0.
[0246]
Next, the area specifying process of the area determination unit 103 will be described with reference to the flowchart of FIG. In step S301, the background image generation unit 301 of the region determination unit 103 generates a background image by extracting, for example, an image object corresponding to a background object included in the input image based on the input image, and generates the generated background. The image is supplied to the binary object image extraction unit 302.
[0247]
In step S302, the binary object image extraction unit 302 calculates a correlation value between the input image and the background image supplied from the background image generation unit 301, for example, by the calculation described with reference to FIG. In step S303, the binary object image extraction unit 302 calculates a binary object image from the correlation value and the threshold value th0, for example, by comparing the correlation value with the threshold value th0.
[0248]
In step S304, the time change detection unit 303 executes region determination processing, and the processing ends.
[0249]
Details of the area determination process corresponding to step S304 will be described with reference to the flowchart of FIG. In step S321, the region determination unit 342 of the time change detection unit 303 determines whether or not the pixel of interest is 0 in the frame #n stored in the frame memory 341, and pays attention in the frame #n. If it is determined that the pixel is 0, the process proceeds to step S322, the pixel of interest in frame #n is set as belonging to the background area, and the process ends.
[0250]
If it is determined in step S321 that the pixel of interest is 1 in frame #n, the process proceeds to step S323, where the area determination unit 342 of the time change detection unit 303 stores the frame #n stored in the frame memory 341. In frame # n-1, it is determined whether or not the corresponding pixel is 0, and in frame #n, the target pixel is 1 and frame #n If it is determined at n−1 that the corresponding pixel is 0, the process proceeds to step S324, the pixel of interest in frame #n is set as belonging to the covered background area, and the process ends.
[0251]
If it is determined in step S323 that the pixel of interest is 0 in frame #n or the corresponding pixel is 1 in frame # n-1, the process proceeds to step S325, and the time change detection unit 303 The area determination unit 342 determines whether the pixel of interest is 1 in frame #n stored in the frame memory 341 and whether the corresponding pixel is 0 in frame # n + 1. If it is determined that the pixel of interest is 1 in frame #n and the corresponding pixel is 0 in frame # n + 1, the process proceeds to step S326, and the pixel of interest of frame #n is undefined. The process ends with setting to belong to the covered background area.
[0252]
If it is determined in step S325 that the pixel of interest is 0 in frame #n or the corresponding pixel is 1 in frame # n + 1, the process proceeds to step S327, and the time change detection unit 303 The area determination unit 342 sets the pixel of interest in frame #n as the foreground area, and the process ends.
[0253]
As described above, the area specifying unit 101 determines whether the pixels of the input image are the foreground area, the background area, the covered background area, and the uncovered background area based on the correlation value between the input image and the corresponding background image. It is possible to specify which one belongs, and generate region information corresponding to the specified result.
[0254]
FIG. 41 is a block diagram showing another configuration of the area specifying unit 101. The area specifying unit 101 shown in FIG. 41 uses the motion vector supplied from the simultaneous detection unit 102. The same parts as those shown in FIG. 29 are denoted by the same reference numerals, and the description thereof is omitted.
[0255]
The robust unit 361 generates a robust binary object image based on the binary object images of N frames supplied from the binary object image extraction unit 302, and sends it to the time change detection unit 303. Output.
[0256]
FIG. 42 is a block diagram illustrating the configuration of the robust unit 361. The motion compensation unit 381 compensates the motion of the binary object image of N frames based on the motion vector supplied from the simultaneous detection unit 102 and outputs the motion-compensated binary object image to the switch 382. To do.
[0257]
With reference to the example of FIG. 43 and FIG. 44, the motion compensation of the motion compensation unit 381 will be described. For example, when the region of frame #n is determined, when binary object images of frame # n−1, frame #n, and frame # n + 1 shown in FIG. 43 are input, the motion compensation unit 381 Based on the motion vector supplied from the simultaneous detection unit 102, motion compensation is performed on the binary object image of frame # n-1 and the binary object image of frame # n + 1 as shown in FIG. Then, the binary object image subjected to motion compensation is supplied to the switch 382.
[0258]
The switch 382 outputs the motion-compensated binary object image of the first frame to the frame memory 383-1, and outputs the motion-compensated binary object image of the second frame to the frame memory 383-2. Similarly, the switch 382 outputs each of the motion compensated binary object images of the third to N−1th frames to any of the frame memory 383-3 to the frame memory 383- (N−1), The motion-compensated binary object image of the Nth frame is output to the frame memory 383-N.
[0259]
The frame memory 383-1 stores the binary object image for which motion compensation has been performed for the first frame, and outputs the stored binary object image to the weighting unit 384-1. The frame memory 383-2 stores the binary object image with motion compensation of the second frame, and outputs the stored binary object image to the weighting unit 384-2.
[0260]
Similarly, each of the frame memories 383-3 to 383- (N-1) stores and stores any of the motion compensated binary object images of the third frame to the (N-1) th frame. The binary object image thus output is output to any one of the weighting unit 384-3 to the weighting unit 384- (N-1). The frame memory 383-N stores the binary object image with motion compensation of the Nth frame, and outputs the stored binary object image to the weighting unit 384-N.
[0261]
The weighting unit 384-1 multiplies the pixel value of the motion-compensated binary object image of the first frame supplied from the frame memory 383-1 by a predetermined weight w1 and supplies the result to the integrating unit 385. The weighting unit 384-2 multiplies the pixel value of the motion compensated binary object image of the second frame supplied from the frame memory 383-2 by a predetermined weight w2, and supplies the result to the integrating unit 385.
[0262]
Similarly, each of the weighting units 384-3 to 384- (N-1) is the third to N-1 supplied from any one of the frame memories 383-3 to 383- (N-1). The pixel value of the motion-compensated binary object image of any one of the frames is multiplied by one of the predetermined weights w3 to w (N−1) and supplied to the accumulating unit 385. The weighting unit 384-N multiplies the pixel value of the motion-compensated binary object image of the Nth frame supplied from the frame memory 383-N by a predetermined weight wN and supplies the result to the integrating unit 385.
[0263]
The accumulating unit 385 accumulates the corresponding pixel values of the binary object image that have been subjected to motion compensation of the 1st to Nth frames and multiplied by one of the weights w1 to wN, respectively, and the accumulated pixel values are obtained in advance. A binary object image is generated by comparing with a predetermined threshold value th0.
[0264]
In this way, the robust unit 361 generates a robust binary object image from the N binary object images and supplies the generated binary object image to the time change detection unit 303. Therefore, the region specifying unit whose configuration is shown in FIG. Even if the input image includes noise, the area 101 can specify the region more accurately than the case shown in FIG.
[0265]
Next, the area specifying process of the area specifying unit 101 having the configuration shown in FIG. 41 will be described with reference to the flowchart of FIG. The processing in steps S341 through S343 is the same as that in steps S301 through S303 described with reference to the flowchart of FIG.
[0266]
In step S344, the robust unit 361 executes a robust process.
[0267]
In step S345, the time change detection unit 303 executes region determination processing, and the processing ends. Details of the processing in step S345 are the same as the processing described with reference to the flowchart of FIG.
[0268]
Next, details of the robust processing corresponding to the processing in step S344 in FIG. 45 will be described with reference to the flowchart in FIG. In step S361, the motion compensation unit 381 performs motion compensation processing on the input binary object image based on the motion vector supplied from the simultaneous detection unit 102. In step S362, any of the frame memories 383-1 to 383-N stores the motion compensated binary object image supplied via the switch 382.
[0269]
In step S363, the robust unit 361 determines whether or not N binary object images are stored. If it is determined that N binary object images are not stored, the process returns to step S361. The motion compensation processing of the binary object image and the storage processing of the binary object image are repeated.
[0270]
If it is determined in step S363 that N binary object images have been stored, the process proceeds to step S364, and each of the weighting units 384-1 to 384-N adds w1 to w in each of the N binary object images. Multiply by one of the weights of wN.
[0271]
In step S365, the integration unit 385 integrates the weighted N binary object images.
[0272]
In step S366, the integrating unit 385 generates a binary object image from the integrated image, for example, by comparison with a predetermined threshold value th1, and the process ends.
[0273]
As described above, the area specifying unit 101 having the configuration illustrated in FIG. 41 can generate area information based on the robust binary object image.
[0274]
As described above, the area specifying unit 101 generates area information indicating that each of the pixels included in the frame belongs to the moving area, the stationary area, the uncovered background area, or the covered background area. Can do.
[0275]
FIG. 47 is a block diagram illustrating an example of the configuration of the simultaneous detection unit 102. Based on the input image, the estimated mixture ratio processing unit 401 calculates an estimated mixture ratio and an estimated motion vector for each pixel by an operation corresponding to the covered background region, and uses the calculated estimated mixture ratio as a mixture ratio determining unit 403. And the calculated estimated motion vector is supplied to the motion vector determination unit 404.
[0276]
The estimated mixture ratio processing unit 402 calculates an estimated mixture ratio and an estimated motion vector for each pixel by an operation corresponding to the uncovered background area based on the input image, and uses the calculated estimated mixture ratio as a mixture ratio determining unit. At the same time, the calculated estimated motion vector is supplied to the motion vector determination unit 404.
[0277]
Since it can be assumed that the object corresponding to the foreground is moving at a constant speed within the shutter time, the mixture ratio α of the pixels belonging to the mixed area has the following properties. That is, the mixture ratio α changes linearly in response to changes in the pixel position. If the change in the pixel position is one-dimensional, the change in the mixture ratio α can be expressed by a straight line. If the change in the pixel position is two-dimensional, the change in the mixture ratio α is expressed by a plane. be able to.
[0278]
Since the period of one frame is short, it is assumed that the object corresponding to the foreground is a rigid body and is moving at a constant speed.
[0279]
In this case, the gradient of the mixture ratio α is the inverse ratio of the motion amount v within the foreground shutter time. The ideal mixing ratio α has a value of 1 in the background area, a value of 0 in the foreground area, and a value of more than 0 and less than 1 in the mixing area.
[0280]
The mixture ratio determining unit 403 supplies the pixel for which the mixture ratio α supplied from the area specifying unit 101 is one of the foreground area, the background area, the covered background area, or the uncovered background area. The mixing ratio α is set based on the area information indicating the above. The mixture ratio determining unit 403 sets 0 as the mixture ratio α when the target pixel belongs to the foreground area, and sets 1 as the mixture ratio α when the target pixel belongs to the background area. When the pixel belongs to the covered background area, the estimated mixture ratio supplied from the estimated mixture ratio processing unit 401 is set to the mixture ratio α, and when the target pixel belongs to the uncovered background area, the estimated mixture ratio processing unit The estimated mixing ratio supplied from 402 is set to the mixing ratio α. The mixture ratio determination unit 403 outputs a mixture ratio α set based on the region information.
[0281]
The motion vector determination unit 404 is based on the estimated motion vector supplied from the estimated mixture ratio processing unit 401, the estimated motion vector supplied from the estimated mixture ratio processing unit 402, and the region information supplied from the region specifying unit 101. Set motion vector.
[0282]
For example, when the target pixel belongs to the covered background region, the motion vector determination unit 404 sets the estimated motion vector supplied from the estimated mixture ratio processing unit 401 as a motion vector, and the target pixel is uncovered back. When belonging to the ground region, the estimated motion vector supplied from the estimated mixture ratio processing unit 402 is set as the motion vector. The motion vector determination unit 404 outputs a motion vector set based on the region information.
[0283]
FIG. 48 is a block diagram illustrating a configuration of the estimated mixture ratio processing unit 401.
[0284]
The image input to the estimated mixture ratio processing unit 401 is input to the frame memory 421 and the weighted frame difference calculation unit 423.
[0285]
The frame memory 421 stores the input image in units of frames, delays it for a period corresponding to one frame, and supplies the stored image to the weighted frame difference calculation unit 423.
[0286]
The weight generation unit 422 generates a weight whose value sequentially increases from a predetermined initial value corresponding to one frame, and uses the generated weight as weight information, the weighting frame difference calculation unit 423 and the maximum value determination unit 428. To supply. For example, the weight generation unit 422 sets the initial value stored in advance as the weight, and sequentially adds the increment δ, which is a small value stored in advance, to the weight, thereby sequentially increasing the weight from the initial value. Is generated.
[0287]
Alternatively, the weight generation unit 422 generates a weight corresponding to a block composed of a plurality of pixels centered on the target pixel of one frame, and uses the generated weight as weight information to determine the weighted frame difference calculation unit 423 and the maximum value determination. To the unit 428. The weight corresponding to the block consists of one value, or consists of a plurality of values corresponding to each of a plurality of pixels constituting the block.
[0288]
The weighted frame difference calculation unit 423 calculates a weighted pixel value by multiplying the pixel value of the pixel of the frame supplied from the frame memory 421 by the weight supplied from the weight generation unit 422. The weighted frame difference calculation unit 423 calculates a weighted difference by subtracting the weighted pixel value of the corresponding pixel from the pixel value of the pixel of interest in the input image.
[0289]
Alternatively, the weighted frame difference calculation unit 423 applies the weight supplied from the weight generation unit 422 to each pixel of a block composed of a plurality of pixels centered on the pixel corresponding to the target pixel of the frame supplied from the frame memory 421. Multiply to calculate weighted pixel values. The weighted frame difference calculation unit 423 subtracts the weighted pixel value of the corresponding pixel of the corresponding block from the pixel value of each pixel of the block composed of a plurality of pixels centered on the target pixel of the frame of the input image, A weighting difference is calculated.
[0290]
The weighting frame difference calculation unit 423 calculates a plurality of weighting differences for one frame corresponding to the weights supplied from the weight generation unit 422 and sequentially increasing from the initial value.
[0291]
The weighted frame difference calculation unit 423 supplies the weighted difference calculated in this way to the motion compensation unit 424 and the frame memory 425 as weighted difference image data.
[0292]
The motion compensation unit 424 performs motion compensation on the weighted difference image data supplied from the weighted frame difference calculation unit 423 based on the motion vector supplied from the motion vector generation unit 426, and the motion-compensated weighting difference is calculated as a correlation value calculation unit. 427.
[0293]
The frame memory 425 stores a plurality of weighted difference image data supplied from the weighted frame difference calculation unit 423 for each frame, delays it for a period corresponding to one frame, and sets the stored weighted difference image data to a correlation value. It supplies to the calculating part 427.
[0294]
For each individual weight generated by the weight generation unit 422, the motion vector generation unit 426 generates a motion vector whose magnitude sequentially increases from a predetermined initial value and whose angle sequentially changes from another predetermined initial value. Then, the generated motion vector is supplied to the motion compensation unit 424 and the maximum value determination unit 428.
[0295]
For example, the motion vector generation unit 426 generates a motion vector based on the initial size value and the initial angle value stored in advance. The motion vector generation unit 426 changes the magnitude of the motion vector by adding a predetermined increment to the magnitude of the generated motion vector. When the magnitude of the motion vector exceeds a predetermined value, the motion vector generation unit 426 adds the predetermined angle to the angle of the motion vector and sets the initial magnitude value to the magnitude of the motion vector.
[0296]
The motion vector generation unit 426 repeats the process of changing the magnitude of the motion vector and the process of changing the angle, and generates a motion vector having a magnitude and an angle within a predetermined range.
[0297]
The correlation value calculation unit 427 delays one frame delayed from the motion compensated weighted difference image data supplied from the motion compensation unit 424 and the frame memory 425 for each combination of individual weights and individual motion vectors. The correlation value with the weighted difference image data is calculated for each pixel, and the calculated correlation value is supplied to the maximum value determination unit 428.
[0298]
The correlation value calculation unit 427 calculates, for example, the absolute value of the difference between the motion compensated weighted difference image data supplied from the motion compensation unit 424 and the weighted difference image data delayed from the frame memory 425 by one frame. Calculation is performed for each pixel, and the absolute value of the calculated difference is supplied to the maximum value determination unit 428 as a correlation value. The correlation value output by the correlation value calculation unit 427 is also referred to as weighted difference image correlation data.
[0299]
Alternatively, the correlation value calculation unit 427 performs the motion-compensated weighted difference image data supplied from the motion compensation unit 424 and one frame supplied from the frame memory 425 for each combination of individual weights and individual motion vectors. The correlation value with the delayed weighted difference image data is calculated for each block, and the calculated correlation value is supplied to the maximum value determination unit 428.
[0300]
For example, the correlation value calculation unit 427 may calculate a sum of absolute differences or a sum of squared differences as a correlation value based on a block of 3 × 3 pixels.
[0301]
The maximum value determination unit 428 correlates with the combination of the weight value indicated by the weight information supplied from the weight generation unit 422 and the motion vector indicated by the motion vector information supplied from the motion vector generation unit 426. The correlation value supplied from the value calculation unit 427 is stored. The maximum value determination unit 428 selects a weight and a motion vector corresponding to the correlation value having the strongest correlation based on the stored correlation value. The maximum value determination unit 428 sets the selected weight to the estimated mixture ratio, and outputs the estimated mixture ratio in which the selected weight is set. Maximum value determining section 428 sets the selected motion vector as an estimated motion vector, and outputs an estimated motion vector in which the selected motion vector is set.
[0302]
Note that the maximum value determination unit 428 can further select a more probable weight and motion vector based on the mutual relationship between the weight corresponding to the pixel and the position of the pixel. Details of the process of selecting a motion vector based on the mutual relationship between the weight corresponding to the pixel and the position of the pixel will be described later.
[0303]
With reference to FIGS. 49 to 54, processing of the estimated mixture ratio processing unit 401 corresponding to the covered background region will be described.
[0304]
In the example of an image model in which the amount of motion v of the foreground object is 4 as shown in FIG. 49, the sixth through eighth pixels from the left of frame #n belong to the mixed area.
[0305]
The pixel value of the sixth pixel from the left of frame #n can be expressed by Expression (8). Similarly, the pixel value of the seventh pixel from the left of frame #n can be expressed by equation (9), and the pixel value of the eighth pixel from the left of frame #n can be expressed by equation (10). Can do.
[0306]
[Formula 6]
Figure 0004596218
[Expression 7]
Figure 0004596218
[Equation 8]
Figure 0004596218
[0307]
Similarly, the tenth through twelfth pixels from the left of frame # n + 1 belong to the mixed area. The pixel value of the tenth pixel from the left of frame # n + 1 can be expressed by Expression (11). Similarly, the pixel value of the eleventh pixel from the left of frame # n + 1 can be expressed by Expression (12), and the pixel value of the twelfth pixel from the left of frame # n + 1 is expressed by Expression (13). ).
[0308]
[Equation 9]
Figure 0004596218
[Expression 10]
Figure 0004596218
[Expression 11]
Figure 0004596218
[0309]
As shown in FIG. 50, the weighted difference image data is obtained by multiplying the pixel value of frame # n-1 by the weight and calculating the pixel value multiplied by the weight, and calculating the weight from the pixel value of the pixel of frame #n. Is calculated by subtracting the pixel value multiplied by.
[0310]
For example, the difference z0 of the weighted difference image data corresponding to the pixel whose frame #n pixel value is x0 is calculated by Expression (14). The difference z1 of the weighted difference image data corresponding to the pixel whose frame #n pixel value is x1 is calculated by the equation (15). The difference z2 of the weighted difference image data corresponding to the pixel having the pixel value x2 of the frame #n is calculated by Expression (16).
[0311]
z0 = x0-α0 × y0 (14)
z1 = x1-α1 × y1 (15)
z2 = x2-α2 × y2 (16)
[0312]
y0 is the pixel value of the pixel belonging to the background area of frame # n−1 corresponding to the pixel whose pixel value of frame #n is x0. y1 is a pixel value of a pixel belonging to the background area of frame # n−1 corresponding to a pixel whose pixel value of frame #n is x1. y2 is a pixel value of a pixel belonging to the background area of frame # n−1 corresponding to a pixel whose pixel value of frame #n is x2.
[0313]
When α0 is equal to the mixture ratio α of the pixels whose frame #n pixel value is x0, the difference z0 of the weighted difference image data consists of only the foreground components of the pixel whose frame value is x0.
[0314]
When α1 is equal to the mixture ratio α of the pixels whose frame #n pixel value is x1, the difference z1 of the weighted difference image data is composed of only the foreground components of the pixel whose frame #n pixel value is x1.
[0315]
When α2 is equal to the mixture ratio α of the pixels whose frame #n pixel value is x2, the difference z2 of the weighted difference image data consists only of the foreground components of the pixel whose frame value is x2.
[0316]
This will be described with reference to FIG.
[0317]
An example will be described in which the sixth pixel from the left of frame #n is the target pixel. In Expression (8), the mixing ratio α05 of the sixth pixel of frame #n is 1/4.
[0318]
When a value obtained by multiplying the pixel value of frame # n−1 by the weight of the same value as the mixture ratio of the target pixel is calculated, and the difference from the pixel value of the target pixel of frame #n is obtained, as shown in FIG. All or part of the background components included in the pixel values are removed.
[0319]
In the sixth pixel of interest from the left of frame #n, all of the background components included in the pixel value are removed, and all of the foreground components remain.
[0320]
Similarly, in Equation (11), the mixture ratio α09 of the tenth pixel in frame # n + 1 is 1/4.
[0321]
Calculate a value obtained by multiplying the pixel value of frame #n by the weight of the same value as the mixture ratio α of the target pixel of frame #n, and the pixel value of the corresponding pixel belonging to the mixed area of frame # n + 1 When the difference is obtained, as shown in FIG. 51, all or part of the background components included in the pixel value are removed.
[0322]
In the tenth pixel from the left, all of the background components included in the pixel value are removed, and all of the foreground components remain.
[0323]
As shown in FIG. 51, the foreground component included in the sixth pixel from the left of frame #n is the same as the foreground component included in the tenth pixel from the left of frame # n + 1. When the pixel mixture ratio is the same, the correlation between the difference corresponding to the sixth pixel from the left of frame #n and the difference of the tenth pixel from the left of frame # n + 1 is 6 from the left of frame #n. Among the correlations between the difference corresponding to the first pixel and the difference between the pixels of frame # n + 1, the maximum is obtained.
[0324]
As shown in FIG. 52, when the sixth pixel from the left of frame #n is the pixel of interest, maximum value determination section 428 selects a weight that is 1/4 corresponding to the maximum correlation as the estimated mixture ratio. At the same time, based on the sixth pixel from the left of frame #n, the motion vector indicating the tenth pixel from the left of frame # n + 1 is selected as the estimated motion vector corresponding to the target pixel of frame #n.
[0325]
Similarly, the case where the seventh pixel from the left of frame #n is the target pixel will be described as an example. In Expression (9), the mixture ratio α06 of the seventh pixel from the left in frame #n is ½.
[0326]
Calculate the value obtained by multiplying the pixel value of frame # n-1 by the weight of the same value as the mixture ratio of the target pixel, and calculate the difference from the pixel value of the corresponding pixel belonging to the mixed area or background area of frame #n. As a result, as shown in FIG. 53, all or part of the background components included in the pixel value are removed. In the sixth pixel from the left, the background component equal to or higher than the originally included background component is removed, so that the pixel value includes the negative value of the corresponding background component.
[0327]
At the seventh pixel from the left of frame #n, all of the background components included in the pixel value are removed, and all of the foreground components remain.
[0328]
In Expression (12), the mixture ratio α10 of the eleventh pixel of frame # n + 1 is 1/2.
[0329]
Calculate a value obtained by multiplying the pixel value of frame #n by the weight of the same value as the mixture ratio α of the target pixel of frame #n, and the pixel value of the corresponding pixel belonging to the mixed area of frame # n + 1 When the difference is obtained, as shown in FIG. 53, all or part of the background components included in the pixel value are removed. In the tenth pixel from the left, the background component equal to or higher than the background component originally included is removed, so that the pixel value includes the negative value of the corresponding background component.
[0330]
In the eleventh pixel from the left, all of the background components included in the pixel value are removed, and all of the foreground components remain.
[0331]
As shown in FIG. 53, the foreground component included in the seventh pixel from the left of frame #n is the same as the foreground component included in the eleventh pixel from the left of frame # n + 1. When the pixel mixture ratio is the same, the correlation between the difference corresponding to the seventh pixel from the left of frame #n and the difference of the eleventh pixel from the left of frame # n + 1 is 7 from the left of frame #n. Among the correlations between the difference corresponding to the first pixel and the difference between the pixels of frame # n + 1, the maximum is obtained.
[0332]
As shown in FIG. 54, when the seventh pixel from the left of frame #n is the pixel of interest, maximum value determination section 428 selects a weight that is 1/2 corresponding to the maximum correlation as the estimated mixture ratio. The motion vector indicating the eleventh pixel from the left of frame # n + 1 is used as the estimated motion vector corresponding to the seventh pixel from the left of frame #n with reference to the seventh pixel from the left of frame #n. Select as.
[0333]
That is, as shown in FIG. 55, a value obtained by multiplying the pixel value of frame # n−1 by a certain weight is calculated, and the difference z0, z1 from the pixel value of the corresponding pixel belonging to the mixed area of frame #n , And z2, and by calculating a value obtained by multiplying the pixel value of frame #n by the same weight, the difference A0, A1 from the pixel value of the corresponding pixel belonging to the mixed area of frame # n + 1, and When A2 is obtained, for example, the difference z1 corresponding to the pixel of interest in frame #n is equal to the difference A1 corresponding to the pixel at the position indicated by the motion vector with reference to the pixel of interest in frame # n + 1. The weight is equal to the mixture ratio α of the target pixel in frame #n, and the motion vector is equal to the motion vector of the target pixel in frame #n.
[0334]
In this way, the estimated mixture ratio processing unit 401 calculates a value obtained by multiplying the pixel value of the frame # n-1 by a certain weight, and the difference from the pixel value of the corresponding pixel belonging to the mixed region of the frame #n And the value obtained by multiplying the pixel value of frame #n by the same weight is calculated, and the difference from the pixel value of the corresponding pixel belonging to the mixed area of frame # n + 1 is obtained. When the difference corresponding to the pixel of interest in frame #n is equal to the difference corresponding to the pixel at the position indicated by the motion vector with reference to the pixel of interest in frame # n + 1, the estimated mixture ratio processing unit 401 The weight is the mixture ratio α of the target pixel in frame #n, and the motion vector is the motion vector of the target pixel in frame #n.
[0335]
The estimated mixture ratio processing unit 401 may detect the estimated mixture ratio and the estimated motion vector in units of blocks each including a predetermined number of pixels.
[0336]
For example, as shown in FIG. 56, the estimated mixture ratio processing unit 401 assumes that the mixture ratio α of one block is constant with three pixels as one block, and calculates the estimated mixture ratio and the estimated motion vector. Can be detected. More specifically, for example, as illustrated in FIG. 57, the estimated mixture ratio processing unit 401 sets the sixth to eighth pixels from the left of the frame #n as one block as a difference corresponding to one weight. Is calculated, the correlation with the difference between the corresponding blocks in frame #n is obtained, and the weight and motion vector corresponding to the block with the highest correlation are selected.
[0337]
For example, as shown in FIG. 58, the estimated mixture ratio processing unit 401 applies three lines as one block, applies a predetermined straight line or curve to one block, and corresponds to the fitted straight line or curve. Assuming that the mixture ratio α changes, the estimated mixture ratio and the estimated motion vector can be detected. When three pixels are regarded as one block and a predetermined straight line or curve is applied to one block, the weight generation unit 422 corresponds to the three pixels included in one block in correspondence with the straight line or curve. Outputs weight as weight information.
[0338]
For example, one piece of weight information generated by the weight generation unit 422 includes three weights having values of 0.25, 0.5, and 0.75.
[0339]
The weight generation unit 422 generates weight information including a plurality of weights corresponding to a straight line or a curved line whose slope, intercept, or curvature is changed corresponding to one frame.
[0340]
More specifically, for example, when the weight generation unit 422 generates one weight information including 0.25, 0.5, and 0.75 corresponding to a straight line in association with one block, as shown in FIG. The estimated mixture ratio processing unit 401 calculates the difference based on the weight of 0.25 for the sixth pixel from the left of the frame #n, with the sixth to eighth pixels from the left of the frame #n as one block. A difference is calculated based on a weight of 0.5 for the seventh pixel from the left of #n, and a difference is calculated based on a weight of 0.75 for the eighth pixel from the left of frame #n. Similarly, the estimated mixture ratio processing unit 401 sets the tenth to twelfth pixels from the left of frame # n + 1 as one block, and sets a weight of 0.25 for the tenth pixel from the left of frame # n + 1. The difference is calculated based on the weight of 0.5 for the eleventh pixel from the left in frame # n + 1, and the difference based on the weight of 0.75 for the twelfth pixel from the left of frame # n + 1. Is calculated.
[0341]
The estimated mixture ratio processing unit 401 obtains the correlation of the difference based on the weight corresponding to the straight line or the curve, and selects the weight and the motion vector corresponding to the block having the highest correlation.
[0342]
As shown in FIG. 60, the estimated mixture ratio processing unit 401 can detect an estimated mixture ratio and an estimated motion vector by using three pixels as one block and corresponding predetermined weights to each pixel. .
[0343]
More specifically, for example, when the weight generation unit 422 generates one weight information consisting of 0.75, 0.25, and 0.5 corresponding to one block, as shown in FIG. The unit 401 calculates the difference based on the weight of 0.75 for the sixth pixel from the left of the frame #n, with the sixth to eighth pixels from the left of the frame #n as one block, and determines the left of the frame #n. The seventh pixel is calculated based on a weight of 0.25, and the eighth pixel from the left of frame #n is calculated based on a weight of 0.5. Similarly, the estimated mixture ratio processing unit 401 sets the tenth to twelfth pixels from the left of frame # n + 1 as one block, and sets a weight of 0.75 for the tenth pixel from the left of frame # n + 1. The difference is calculated based on the weight of 0.25 for the eleventh pixel from the left of frame # n + 1, and the difference is calculated based on the weight of 0.5 for the twelfth pixel from the left of frame # n + 1. Is calculated.
[0344]
The estimated mixture ratio processing unit 401 obtains a difference correlation based on the weight corresponding to each pixel of one block, and selects a weight and a motion vector corresponding to the block having the highest correlation.
[0345]
In addition, although the block which consists of three pixels was demonstrated to the example, the signal processing apparatus which concerns on this invention is not limited by the number of the pixels contained in a block. Further, the block may be composed of a predetermined number of pixels arranged on a predetermined straight line, or may be composed of a predetermined number of pixels on a predetermined surface, such as 3 pixels × 3 pixels.
[0346]
Next, when the estimated mixture ratio and the estimated motion vector are detected for each pixel by the estimated mixture ratio processing unit 401, or the correlation of the difference based on the weight corresponding to each pixel of one block A process for further selecting more likely weights and motion vectors when detecting the estimated mixture ratio and motion vector will be described.
[0347]
As described above, since one frame is a short time, it can be assumed that the object corresponding to the foreground is a rigid body and is moving at a constant speed. Further, since it can be assumed that the object corresponding to the foreground is moving at a constant speed within the shutter time, the mixture ratio α of the pixels belonging to the mixed area changes linearly.
[0348]
Since the foreground object is a rigid body, there is one motion vector corresponding to the foreground object.
[0349]
Using these properties, the estimated mixture ratio processing unit 401 further selects more likely weights and motion vectors.
[0350]
In FIG. 62 to FIG. 66, ◯ in the figure represents a pixel. It is assumed that the weights w0 to w3 corresponding to the respective pixels satisfy the relationship of Expression (17).
[0351]
0 <w0 <w1 <w2 <w3 <1 (17)
[0352]
The estimated mixture ratio processing unit 401 determines whether or not the position satisfying the relationship of Expression (17) and the position of at least one pixel among pixels corresponding to one motion vector are outside the mixed region. When it is determined that the position of at least one pixel is outside the mixed region, the foreground region mixing ratio α is 0 and the background region mixing ratio α is 1, so this weight and motion vector are not selected. .
[0353]
For example, as shown in FIG. 62, when the position of the pixel corresponding to the weight w0 is outside the mixed region, the estimated mixture ratio processing unit 401 does not select the weights w0 to W3 and the motion vector.
[0354]
The estimated mixture ratio processing unit 401 determines whether the weight satisfying the relationship of Expression (17) and the position of the pixel corresponding to one motion vector are in a position relationship corresponding to the magnitude of the weight shown in Expression (17). If it is determined that there is no positional relationship corresponding to the size of the weight, this weight and motion vector are not selected.
[0355]
For example, as shown in FIG. 63, when the pixel corresponding to the weight w3, the pixel corresponding to the weight w1, the pixel corresponding to the weight w2, and the pixel corresponding to the weight w0 are sequentially arranged, the mixture ratio α is linear. Therefore, the estimated mixture ratio processing unit 401 does not select the weights w0 to W3 and the motion vector.
[0356]
As shown in FIG. 64, the estimated mixture ratio processing unit 401 has all the pixels located in the mixed region, the pixel corresponding to the weight w0, the pixel corresponding to the weight w1, the pixel corresponding to the weight w2, and the weight w3. When pixels corresponding to are sequentially arranged, the weights w0 to W3 and the motion vector are selected.
[0357]
Furthermore, the estimated mixture ratio processing unit 401 can select more probable weights and motion vectors based on the dispersion of pixel distances indicated by the motion vectors.
[0358]
When all the pixels are located in the mixed region, a pixel corresponding to the weight w0, a pixel corresponding to the weight w1, a pixel corresponding to the weight w2, and a pixel corresponding to the weight w3 are sequentially arranged. Selects the weights w0 to W3 and the motion vector with smaller pixel distance variance.
[0359]
For example, in the example shown in FIGS. 65 and 66, since the variance of the pixel distance shown in FIG. 65 is larger than the variance of the pixel distance shown in FIG. 66, the estimated mixture ratio processing unit 401 has a smaller variance. The weights w0 to W3 and the motion vector corresponding to 66 are selected. That is, the estimated mixture ratio processing unit 401 selects weights w0 to W3 and motion vectors in which the pixel distances indicated by the motion vectors are uniform. This means that since the mixture ratio α changes linearly, the estimated mixture ratio processing unit 401 selects a combination whose weight changes more linearly.
[0360]
The estimated mixture ratio processing unit 401 detects the estimated mixture ratio and the estimated motion vector using the pixels of the previous frame as the background pixels corresponding to the covered background region, whereas the estimated mixture ratio processing unit 402 detects the estimated mixture ratio and the estimated motion vector in the same process as the estimated mixture ratio processing unit 401, which uses the pixel of the next frame as the background pixel corresponding to the uncovered background area. Description is omitted.
[0361]
FIG. 67 is a block diagram showing another configuration of the simultaneous detection unit 102. The same parts as those shown in FIG. 47 are denoted by the same reference numerals, and the description thereof is omitted.
[0362]
Based on the region information supplied from the region specifying unit 101, the selection unit 441 supplies the pixels belonging to the covered background region and the pixels of the previous frame corresponding thereto to the estimated mixture ratio processing unit 401. Based on the region information supplied from the region specifying unit 101, the selection unit 441 supplies the pixels belonging to the uncovered background region and the pixels of the next frame corresponding thereto to the estimated mixture ratio processing unit 402.
[0363]
When the target pixel belongs to the foreground region based on the region information supplied from the region specifying unit 101, the selection unit 442 selects an estimated mixture ratio that is 0, sets the mixture ratio α, If the pixel belongs to the background region, an estimated mixture ratio of 1 is selected and set to the mixture ratio α. When the target pixel belongs to the covered background area, the selection unit 442 selects the estimated mixture ratio supplied from the estimated mixture ratio processing unit 401 and sets it to the mixture ratio α, and the target pixel is uncovered back. When belonging to the ground region, the estimated mixture ratio supplied from the estimated mixture ratio processing unit 402 is selected and set to the mixture ratio α. The selection unit 442 outputs the mixture ratio α selected and set based on the region information.
[0364]
Based on the region information supplied from the region specifying unit 101, the selection unit 442 selects the estimated motion vector supplied from the estimated mixture ratio processing unit 401 and moves when the target pixel belongs to the covered background region. When the target pixel belongs to the uncovered background area, the estimated motion vector supplied from the estimated mixture ratio processing unit 402 is selected and set as the motion vector. The selection unit 442 outputs a motion vector selected and set based on the region information.
[0365]
As described above, the simultaneous detection unit 102 having another configuration shown in FIG. 67 detects the mixture ratio α and the motion vector for each pixel included in the image, and outputs the detected mixture ratio α and the motion vector. it can.
[0366]
The process of detecting the mixture ratio α and motion vector of the mixture ratio calculation unit 104 shown in FIG. 47 will be described with reference to the flowchart of FIG. In step S <b> 401, the simultaneous detection unit 102 acquires the region information supplied from the region specifying unit 103. In step S402, the estimated mixture ratio processing unit 401 detects the estimated mixture ratio and the estimated motion vector corresponding to the covered background region, supplies the detected estimated mixture ratio to the mixture ratio determining unit 403, and detects the detected estimation. The motion vector is supplied to the motion vector determination unit 404. Details of the process of detecting the estimated mixture ratio and the estimated motion vector will be described later with reference to the flowchart of FIG.
[0367]
In step S403, the estimated mixture ratio processing unit 402 detects the estimated mixture ratio and the estimated motion vector corresponding to the uncovered background region, and supplies the detected estimated mixture ratio to the mixture ratio determining unit 403 and detects it. The estimated motion vector is supplied to the motion vector determination unit 404.
[0368]
In step S404, the simultaneous detection unit 102 determines whether or not the estimated mixture ratio and the estimated motion vector are detected for the entire frame, and determines that the estimated mixture ratio and the estimated motion vector are not detected for the entire frame. If it is, the process returns to step S402, and processing for detecting the estimated mixture ratio and the estimated motion vector for the next pixel is executed.
[0369]
If it is determined in step S404 that the estimated mixture ratio and the estimated motion vector have been detected for the entire frame, the process proceeds to step S405, where the mixture ratio determination unit 403 determines that the pixel is a foreground area, a background area, a covered background area, Alternatively, the mixing ratio α is set based on the area information supplied from the area specifying unit 101 indicating whether it belongs to any of the uncovered background areas. The mixture ratio determining unit 403 sets 0 as the mixture ratio α when the target pixel belongs to the foreground area, and sets 1 as the mixture ratio α when the target pixel belongs to the background area. When the pixel belongs to the covered background area, the estimated mixture ratio supplied from the estimated mixture ratio processing unit 401 is set to the mixture ratio α, and when the target pixel belongs to the uncovered background area, the estimated mixture ratio processing unit The estimated mixing ratio supplied from 402 is set to the mixing ratio α.
[0370]
The motion vector determination unit 404 is based on the region information supplied from the region specifying unit 101 indicating whether the pixel belongs to one of the foreground region, the background region, the covered background region, or the uncovered background region. Set motion vector. When the target pixel belongs to the covered background area, the motion vector determination unit 404 sets the estimated motion vector supplied from the estimated mixture ratio processing unit 401 as a motion vector, and the target pixel is the uncovered background area. In the case of belonging to, the estimated estimated motion vector supplied from the estimated mixture ratio processing unit 402 is set as the motion vector, and the process ends.
[0371]
As described above, the simultaneous detection unit 102 can simultaneously detect the mixture ratio α and the motion vector, which are feature amounts corresponding to the respective pixels, based on the region information supplied from the region specifying unit 101 and the input image. .
[0372]
The processing for detecting the mixing ratio α and motion vector of the simultaneous detection unit 102 having the configuration shown in FIG. 67 is the same as the processing described with reference to the flowchart of FIG.
[0373]
Next, with reference to the flowchart in FIG. 69, the processing for estimating the mixture ratio and motion vector corresponding to the covered background region, corresponding to step S402 in FIG. 68, will be described.
[0374]
In step S421, the weight generation unit 422 sets an initial value stored in advance in the weight. The weight generation unit 422 supplies the weight set with the initial value to the weighted frame difference calculation unit 423 and the maximum value determination unit 428 as weight information.
[0375]
In step S422, the estimated mixture ratio processing unit 401 determines whether or not the weight output by the weight generation unit 422 exceeds 1, and if it is determined that the weight does not exceed 1, the process proceeds to step S423.
[0376]
In step S423, the weighted frame difference calculation unit 423 calculates a weighted difference that is a difference between the pixel value of the pixel of interest of the frame of interest and the pixel value of the corresponding pixel of the next frame multiplied by the weight, In the difference A, the weighted difference of the target pixel of the target frame is set. The difference A is output as weighted difference image data.
[0377]
In step S424, the weighting frame difference calculation unit 423 calculates a weighting difference that is a difference between the pixel value of the pixel of the next frame of the target frame and the pixel value of the corresponding pixel of the target frame multiplied by the weight. In the difference B, the weighting difference of the pixels of the next frame after the frame of interest is set. The difference B is output as weighted difference image data.
[0378]
In step S425, the motion vector generation unit 426 sets an initial value for the motion vector, and supplies the motion vector with the initial value set to the motion compensation unit 424 and the maximum value determination unit 428.
[0379]
In step S426, the correlation value calculation unit 427 calculates a correlation value between the target pixel of the difference A and the pixel indicated by the motion vector of the difference B based on the difference A and the difference B.
[0380]
That is, in step S426, the motion compensation unit 424 performs motion compensation on the difference B supplied from the weighted frame difference calculation unit 423 based on the motion vector supplied from the motion vector generation unit 426, and performs motion compensated difference B. Is supplied to the correlation value calculation unit 427.
[0381]
The correlation value calculation unit 427 calculates a correlation value between the difference A supplied from the frame memory 425 corresponding to the target pixel and the motion-compensated difference B, and supplies the correlation value to the maximum value determination unit 428.
[0382]
For example, the correlation value calculation unit 427 calculates a correlation value that is an absolute value of a difference corresponding to a pixel of difference A and a difference B corresponding to a pixel of difference B indicated by a motion vector with reference to the pixel of interest.
[0383]
In step S427, the maximum value determination unit 428 correlates the correlation value supplied from the correlation value calculation unit 427 with the weight supplied from the weight generation unit 422 and the motion vector supplied from the motion vector generation unit 426. Remember.
[0384]
In step S428, the motion vector generation unit 426 adds a predetermined increment to the magnitude of the motion vector.
[0385]
In step S429, the estimated mixture ratio processing unit 401 determines whether or not the magnitude of the motion vector output by the motion vector generation unit 426 exceeds a predetermined value, and if the magnitude of the motion vector exceeds the predetermined value. When it determines, it progresses to step S430 and the motion vector production | generation part 426 sets an initial value to the magnitude | size of a motion vector. In step S431, the motion vector generation unit 426 adds another predetermined increment to the angle of the motion vector. The motion vector generation unit 426 supplies the motion vector whose magnitude is the initial value and the angle is changed to the motion compensation unit 424 and the maximum value determination unit 428.
[0386]
In step S432, the estimated mixture ratio processing unit 401 determines whether or not the correlation value of the pixels in the predetermined range has been calculated based on the magnitude and angle of the estimated motion vector, and the correlation value of the pixels in the predetermined range. Is determined not to be calculated, the process returns to step S426, and the correlation value calculation process is repeated.
[0387]
If it is determined in step S432 that the correlation value of the pixels in the predetermined range has been calculated, the process proceeds to step S433, and the weight generation unit 422 adds the increment δ stored in advance to the weight, and returns to step S422. The process of calculating the correlation value corresponding to the weight is repeated.
[0388]
That is, when the weight is equal to or less than 1, the processing from step S423 to step S433 is repeated, and the correlation value corresponding to the weight increasing for each increment δ and the motion vector indicating the predetermined range is calculated. Correlation values are stored in association with each other.
[0389]
If it is determined in step S429 that the magnitude of the motion vector does not exceed the predetermined value, the procedure returns to step S426 and repeats the process of calculating the correlation value corresponding to the weight.
[0390]
If it is determined in step S422 that the weight exceeds 1, the process proceeds to step S434, and the maximum value determination unit 428 selects the motion vector and weight corresponding to the maximum correlation value indicating the strongest correlation.
[0390]
In step S435, the maximum value determination unit 428 sets the selected motion vector as an estimated motion vector, and supplies the estimated motion vector to the motion vector determination unit 404.
[0392]
In step S436, the maximum value determination unit 428 sets the selected weight to the estimated mixture ratio, outputs the estimated mixture ratio with the weight set to the mixture ratio determination unit 403, and the process ends.
[0393]
Thus, the estimated mixture ratio processing unit 401 can calculate the estimated mixture ratio and the estimated motion vector corresponding to the covered background region.
[0394]
Note that the processing corresponding to the uncovered background area in step S403 is the same as the processing for calculating difference A and difference B except that the pixel value of the next frame is used as the pixel value corresponding to the background. The processing is the same as that described with reference to the flowchart of FIG.
[0395]
Next, another process of estimating the mixture ratio and motion vector by the estimated mixture ratio processing unit 401 will be described with reference to the flowchart of FIG.
[0396]
Since the processes in steps S451 to S464 are the same as those in steps S421 to S434, description thereof will be omitted.
[0397]
In step S465, the maximum value determination unit 428 selects a motion vector and weight in which the position of the pixel indicated by the motion vector satisfies a predetermined relationship among the motion vector and weight selected in the process of step S464. That is, as described with reference to FIG. 62 to FIG. 66, the maximum value determination unit 428 has pixels corresponding to one motion vector and corresponding to a predetermined weight located in the mixed region. Select a motion vector and weight whose order corresponds to the order of weight magnitude.
[0398]
When selecting a more probable motion vector and weight, the maximum value determination unit 428 selects a motion vector and weight whose interval between pixel positions corresponds to a change in weight size.
[0399]
In step S466, the maximum value determination unit 428 sets the selected motion vector as an estimated motion vector, and supplies the estimated motion vector to the motion vector determination unit 404.
[0400]
In step S467, the maximum value determination unit 428 sets the selected weight to the estimated mixture ratio, outputs the estimated mixture ratio to which the weight is set to the mixture ratio determination unit 403, and the process ends.
[0401]
Thus, the estimated mixture ratio processing unit 401 can calculate a more likely estimated mixture ratio and estimated motion vector corresponding to the covered background region.
[0402]
FIG. 71 is a block diagram showing another configuration of the estimated mixture ratio processing unit 401. The same parts as those shown in FIG. 48 are denoted by the same reference numerals, and the description thereof is omitted.
[0403]
For each individual weight generated by the weight generation unit 422, the motion vector generation unit 426 generates a motion vector whose magnitude sequentially increases from a predetermined initial value and whose angle sequentially changes from another predetermined initial value. The generated motion vector is supplied to the motion compensation units 461-1 and 461-2 and the maximum value determination unit 464.
[0404]
The motion compensation unit 461-1 performs motion compensation on the weighted difference image data supplied from the weighted frame difference calculation unit 423 based on the motion vector supplied from the motion vector generation unit 426, and uses the motion compensated weighted difference as a correlation value. This is supplied to the calculation unit 463.
[0405]
The motion compensation unit 461-2 performs motion compensation on the weighted difference image data supplied from the frame memory 462-2 based on the motion vector supplied from the motion vector generation unit 426, and calculates a correlation value for the weighted difference subjected to motion compensation. Supplied to the unit 463.
[0406]
When the same motion vector is input, the motion compensation units 461-1 and 461-2 perform motion compensation on the weighted difference image data in opposite directions.
[0407]
FIG. 72 is a diagram for explaining the motion compensation processing of the motion compensation units 461-1 and 461-2.
[0408]
An example will be described in which the sixth pixel from the left of frame #n is the target pixel. Calculate the value obtained by multiplying the pixel value of frame # n-1 by the weight of the same value as the mixture ratio of the target pixel, and calculate the difference from the pixel value of the corresponding pixel belonging to the mixed area or background area of frame #n. As a result, in the sixth pixel from the left of frame #n, all of the background components included in the pixel value are removed, and all of the foreground components remain.
[0409]
Calculate the value obtained by multiplying the pixel value of frame # n-2 by the weight of the same value as the mixture ratio of the target pixel, and the pixel value of the corresponding pixel belonging to the mixed area or background area of frame # n-1 When the difference is obtained, in the second pixel from the left of frame # n−1, all of the background components included in the pixel value are removed, and all of the foreground components remain.
[0410]
Similarly, a value obtained by multiplying the pixel value of frame #n by the same weight as the mixture ratio of the target pixel is calculated, and the pixel value of the corresponding pixel belonging to the mixed area or background area of frame # n + 1 is calculated. When all the background components included in the pixel value are removed from the tenth pixel from the left of frame # n + 1, all the foreground components remain.
[0411]
Based on the motion vector supplied from the motion vector generation unit 426, the motion compensation unit 461-1 determines the difference corresponding to the sixth pixel from the left of the frame #n and the tenth from the left of the frame # n + 1. When motion compensation is performed on the weighted difference image data of frame # n + 1 so that the position of the difference corresponding to the pixel matches, the motion compensation unit 461-2 uses the same motion supplied from the motion vector generation unit 426. Based on the vector, frame # n− is such that the position of the difference corresponding to the sixth pixel from the left of frame #n matches the position of the difference corresponding to the second pixel from the left of frame # n−1. Motion compensation is performed on the weighted difference image data of 1.
[0412]
Since the object corresponding to the foreground is a rigid body and the period of one frame is short, it is assumed that the object is moving at a constant speed, so the motion vectors of frame # n-1 and frame #n are It is equal to the motion vector with frame # n + 1. Therefore, when the weight is equal to the mixture ratio α and the motion vector generated by the motion vector generation unit 426 is equal to the motion of the foreground object, the target pixel of the weighted difference image data of frame #n, the motion compensated frame # n + 1 The corresponding pixels of the weighted difference image data and the corresponding pixels of the motion-compensated frame # n−1 of the weighted difference image data are each composed of only the same foreground components, and the correlation is maximum.
[0413]
The frame memory 462-1 stores a plurality of weighted difference image data supplied from the weighted frame difference calculation unit 423 for each frame, delays the period corresponding to one frame, and stores the stored weighted difference image data. This is supplied to the frame memory 462-2 and the correlation value calculation unit 463.
[0414]
The frame memory 462-2 stores a plurality of weighted difference image data supplied from the frame memory 462-1 for each frame, delays the period corresponding to one frame, and moves the stored weighted difference image data. It supplies to the compensation part 461-2.
[0415]
The correlation value calculation unit 463 has the motion-compensated weighted difference image data supplied from the motion compensation unit 461-1 and 1 supplied from the frame memory 462-1 for each combination of individual weights and individual motion vectors. The correlation value of the frame-delayed weighted difference image data and the motion-compensated weighted difference image data delayed by two frames supplied from the motion compensation unit 461-2 is calculated for each pixel, and the calculated correlation value Is supplied to the maximum value determination unit 464.
[0416]
The maximum value determination unit 464 correlates the correlation value supplied from the correlation value calculation unit 463 with the combination of the weight value supplied from the weight generation unit 422 and the motion vector supplied from the motion vector generation unit 426. Remember. The maximum value determination unit 464 selects a weight and a motion vector corresponding to the correlation value having the strongest correlation based on the stored correlation value.
[0417]
The maximum value determination unit 464 sets the selected weight to the estimated mixture ratio, and outputs the estimated mixture ratio in which the selected weight is set. The maximum value determination unit 464 sets the selected motion vector as an estimated motion vector, and outputs an estimated motion vector in which the selected motion vector is set.
[0418]
Next, with reference to the flowchart of FIG. 73, the process of estimating the mixture ratio and motion vector corresponding to the covered background area by the estimated mixture ratio processing unit 401 having the configuration shown in FIG. 71 will be described. The process shown in the flowchart of FIG. 73 corresponds to the process of step S402 of FIG.
[0419]
In step S481, the weight generation unit 422 sets an initial value stored in advance in the weight. The weight generation unit 422 supplies the weight set with the initial value to the weighted frame difference calculation unit 423 and the maximum value determination unit 464 as weight information.
[0420]
In step S482, the estimated mixture ratio processing unit 401 determines whether or not the weight output by the weight generation unit 422 exceeds 1, and if it is determined that the weight does not exceed 1, the process proceeds to step S483.
[0421]
In step S483, the weighted frame difference calculation unit 423 performs weighting that is a difference between the pixel value of the pixel in the frame preceding the frame of interest and the value obtained by multiplying the pixel value of the pixel in the frame immediately previous to the frame of interest by the weight. The difference is calculated, and the weighting difference of the frame before the frame of interest is set as the difference A. The difference A is output as weighted difference image data.
[0422]
In step S484, the weighted frame difference calculation unit 423 calculates a weighted difference that is a difference between the pixel value of the pixel of the target frame and the pixel value of the pixel of the frame before the target frame multiplied by the weight. In B, the weighted difference of the frame of interest is set. The difference B is output as weighted difference image data.
[0423]
In step S485, the weighted frame difference calculation unit 423 calculates a weighted difference that is a difference between the pixel value of the pixel of the next frame of the frame of interest and the pixel value of the pixel of the frame of interest multiplied by the weight. In C, the weighting difference of the next frame after the frame of interest is set. The difference C is output as weighted difference image data.
[0424]
In step S486, the motion vector generation unit 426 sets an initial value to the motion vector, and sends the motion vector in which the initial value is set to the motion compensation unit 461-1, the motion compensation unit 461-2, and the maximum value determination unit 464. Supply.
[0425]
In step S487, the correlation value calculation unit 463, based on the difference A, the difference B, and the difference C, the pixel indicated by the motion vector of the difference C, the target pixel of the difference B, and the pixel indicated by the motion vector of the difference C. The correlation value of is calculated.
[0426]
That is, in step S487, the motion compensation unit 461-1 motion-compensated the difference C supplied from the weighted frame difference calculation unit 423 based on the motion vector supplied from the motion vector generation unit 426, and was motion-compensated. The difference C is supplied to the correlation value calculation unit 463. The motion compensation unit 461-2 performs motion compensation on the difference A supplied from the frame memory 462-2 based on the motion vector supplied from the motion vector generation unit 426, and uses the motion compensated difference A as a correlation value calculation unit. 463.
[0427]
The correlation value calculation unit 463 calculates the correlation value of the difference B supplied from the frame memory 462-1, the motion compensated difference A, and the motion compensated difference C corresponding to the target pixel, and determines the maximum value. To the unit 464.
[0428]
In step S488, the maximum value determination unit 464 correlates the correlation value supplied from the correlation value calculation unit 463 with the weight supplied from the weight generation unit 422 and the motion vector supplied from the motion vector generation unit 426. Remember.
[0429]
In step S489, the motion vector generation unit 426 adds a predetermined increment to the magnitude of the motion vector.
[0430]
In step S490, the estimated mixture ratio processing unit 401 determines whether or not the magnitude of the motion vector output by the motion vector generation unit 426 exceeds a predetermined value, and if the magnitude of the motion vector exceeds the predetermined value. When it determines, it progresses to step S491 and the motion vector production | generation part 426 sets an initial value to the magnitude | size of a motion vector. In step S492, the motion vector generation unit 426 adds a predetermined increment to the angle of the motion vector. The motion vector generation unit 426 supplies the motion vector whose magnitude is the initial value and the angle is changed to the motion compensation unit 461-1, the motion compensation unit 461-2, and the maximum value determination unit 464.
[0431]
In step S493, the estimated mixture ratio processing unit 401 determines whether or not the correlation value of the pixels in the predetermined range has been calculated based on the magnitude and angle of the estimated motion vector, and the correlation value of the pixels in the predetermined range. Is determined not to be calculated, the process returns to step S487, and the process of calculating the correlation value is repeated.
[0432]
If it is determined in step S493 that the correlation value of the pixels in the predetermined range has been calculated, the process proceeds to step S494, and the weight generation unit 422 adds the increment δ stored in advance to the weight, and returns to step S487. The process of calculating the correlation value corresponding to the weight is repeated.
[0433]
That is, when the weight is 1 or less, the processing from step S483 to step S494 is repeated, and the correlation value corresponding to the weight that increases for each increment δ and the motion vector indicating the predetermined range is calculated. Correlation values are stored in association with each other.
[0434]
If it is determined in step S490 that the magnitude of the motion vector does not exceed the predetermined value, the procedure returns to step S487 and repeats the process of calculating the correlation value corresponding to the weight.
[0435]
If it is determined in step S482 that the weight exceeds 1, the process proceeds to step S495, and the maximum value determination unit 464 selects the motion vector and weight corresponding to the maximum correlation value indicating that the correlation is strongest.
[0436]
In step S496, the maximum value determination unit 464 sets the selected motion vector as an estimated motion vector, and supplies the estimated motion vector to the motion vector determination unit 404.
[0437]
In step S497, the maximum value determination unit 464 sets the selected weight to the estimated mixture ratio, outputs the estimated mixture ratio to which the weight is set to the mixture ratio determination unit 403, and the process ends.
[0438]
Thus, the estimated mixture ratio processing unit 401 can calculate the estimated mixture ratio and the estimated motion vector corresponding to the covered background region.
[0439]
Note that the process corresponding to the uncovered background area in step S403 uses the pixel value of the next frame as the pixel value corresponding to the background in the process of calculating the difference A, the difference B, and the difference C. Except for this, the processing is the same as that described with reference to the flowchart of FIG.
[0440]
Next, the foreground / background separation unit 103 will be described. FIG. 74 is a block diagram illustrating an example of the configuration of the foreground / background separator 103. The input image supplied to the foreground / background separator 103 is supplied to the separator 601, the switch 602, and the switch 604. The information indicating the covered background area and the area information supplied from the area specifying unit 101 indicating the uncovered background area are supplied to the separation unit 601. Area information indicating the foreground area is supplied to the switch 602. Area information indicating the background area is supplied to the switch 604.
[0441]
The mixing ratio α supplied from the simultaneous detection unit 102 is supplied to the separation unit 601.
[0442]
The separation unit 601 separates the foreground components from the input image based on the region information indicating the covered background region, the region information indicating the uncovered background region, and the mixing ratio α, and synthesizes the separated foreground components. The background component is separated from the input image, and the separated background component is supplied to the synthesis unit 605.
[0443]
The switch 602 is closed when a pixel corresponding to the foreground is input based on the region information indicating the foreground region, and supplies only the pixel corresponding to the foreground included in the input image to the combining unit 603.
[0444]
The switch 604 is closed when a pixel corresponding to the background is input based on the region information indicating the background region, and supplies only the pixel corresponding to the background included in the input image to the combining unit 605.
[0445]
The combining unit 603 combines the foreground component image based on the component corresponding to the foreground supplied from the separation unit 601 and the pixel corresponding to the foreground supplied from the switch 602, and outputs the combined foreground component image. Since the foreground area and the mixed area do not overlap, the synthesis unit 603 synthesizes the foreground component image by applying a logical sum operation to the component corresponding to the foreground and the pixel corresponding to the foreground, for example.
[0446]
In the initialization process executed at the beginning of the foreground component image synthesis process, the synthesis unit 603 stores an image in which all pixel values are 0 in the built-in frame memory, and performs synthesis of the foreground component image. In the process, the foreground component image is stored (overwritten). Accordingly, 0 is stored as the pixel value in the pixel corresponding to the background area in the foreground component image output by the synthesis unit 603.
[0447]
The combining unit 605 combines the background component images based on the components corresponding to the background supplied from the separation unit 601 and the pixels corresponding to the background supplied from the switch 604, and outputs the combined background component image. Since the background area and the mixed area do not overlap, the synthesis unit 605 synthesizes the background component image by applying a logical sum operation to the component corresponding to the background and the pixel corresponding to the background, for example.
[0448]
In the initialization process executed at the beginning of the background component image synthesis process, the synthesis unit 605 stores an image in which all pixel values are 0 in the built-in frame memory, and performs synthesis of the background component image. In the processing, the background component image is stored (overwritten). Accordingly, 0 is stored as the pixel value in the pixel corresponding to the foreground area in the background component image output from the synthesis unit 605.
[0449]
FIG. 75 is a diagram illustrating an input image input to the foreground / background separator 103 and a foreground component image and a background component image output from the foreground / background separator 103.
[0450]
FIG. 75A is a schematic diagram of a displayed image, and FIG. 75B shows pixels belonging to the foreground area, pixels belonging to the background area, and pixels belonging to the mixed area corresponding to FIG. 1 is a model diagram in which one line of pixels including is expanded in the time direction.
[0451]
As shown in FIGS. 75A and 75B, the background component image output from the foreground / background separator 103 is composed of pixels belonging to the background area and background components included in the pixels in the mixed area. The
[0452]
As shown in FIGS. 75A and 75B, the foreground component image output from the foreground / background separation unit 103 is composed of pixels belonging to the foreground area and foreground components included in the pixels of the mixed area. The
[0453]
The pixel values of the pixels in the mixed region are separated into a background component and a foreground component by the foreground / background separation unit 103. The separated background components together with the pixels belonging to the background area constitute a background component image. The separated foreground components together with the pixels belonging to the foreground area constitute a foreground component image.
[0454]
Thus, in the foreground component image, the pixel value of the pixel corresponding to the background area is set to 0, and a meaningful pixel value is set to the pixel corresponding to the foreground area and the pixel corresponding to the mixed area. Similarly, in the background component image, the pixel value of the pixel corresponding to the foreground area is set to 0, and a meaningful pixel value is set to the pixel corresponding to the background area and the pixel corresponding to the mixed area.
[0455]
Next, a process performed by the separation unit 601 to separate the foreground components and the background components from the pixels belonging to the mixed area will be described.
[0456]
FIG. 76 is an image model showing foreground components and background components of two frames including a foreground corresponding to an object moving from left to right in the drawing. In the image model shown in FIG. 76, the foreground motion amount v is 4, and the number of virtual divisions is 4.
[0457]
In frame #n, the leftmost pixel and the fourteenth through eighteenth pixels from the left consist only of background components and belong to the background area. In frame #n, the second through fourth pixels from the left include a background component and a foreground component, and belong to the uncovered background area. In frame #n, the eleventh through thirteenth pixels from the left include a background component and a foreground component, and belong to the covered background area. In frame #n, the fifth through tenth pixels from the left consist of only the foreground components and belong to the foreground area.
[0458]
In frame # n + 1, the first through fifth pixels from the left and the eighteenth pixel from the left consist of only the background components, and belong to the background area. In frame # n + 1, the sixth through eighth pixels from the left include a background component and a foreground component, and belong to the uncovered background area. In frame # n + 1, the fifteenth through seventeenth pixels from the left include a background component and a foreground component, and belong to the covered background area. In frame # n + 1, the ninth through fourteenth pixels from the left consist of only the foreground components, and belong to the foreground area.
[0459]
FIG. 77 is a diagram illustrating processing for separating foreground components from pixels belonging to the covered background area. In FIG. 77, α1 to α18 are mixing ratios corresponding to the respective pixels in frame #n. In FIG. 77, the fifteenth through seventeenth pixels from the left belong to the covered background area.
[0460]
The pixel value C15 of the fifteenth pixel from the left of frame #n is expressed by equation (18).
[0461]
Figure 0004596218
Here, α15 is the mixture ratio of the fifteenth pixel from the left in frame #n. P15 is the pixel value of the fifteenth pixel from the left in frame # n-1.
[0462]
Based on Expression (18), the sum f15 of the foreground components of the fifteenth pixel from the left of frame #n is expressed by Expression (19).
[0463]
Figure 0004596218
[0464]
Similarly, the foreground component sum f16 of the 16th pixel from the left in frame #n is expressed by equation (20), and the foreground component sum f17 of the 17th pixel from the left in frame #n is expressed by equation (20). (21)
[0465]
f16 = C16-α16 ・ P16 (20)
f17 = C17-α17 ・ P17 (21)
[0466]
As described above, the foreground component fc included in the pixel value C of the pixel belonging to the covered background area is calculated by Expression (22).
[0467]
fc = C-α ・ P (22)
P is the pixel value of the corresponding pixel in the previous frame.
[0468]
FIG. 78 is a diagram illustrating processing for separating foreground components from pixels belonging to the uncovered background area. In FIG. 78, α1 to α18 are mixing ratios corresponding to the respective pixels in frame #n. In FIG. 78, the second through fourth pixels from the left belong to the uncovered background area.
[0469]
The pixel value C02 of the second pixel from the left of frame #n is expressed by Expression (23).
[0470]
Figure 0004596218
Here, α2 is the mixture ratio of the second pixel from the left in frame #n. N02 is the pixel value of the second pixel from the left in frame # n + 1.
[0471]
Based on Expression (23), the sum f02 of the foreground components of the second pixel from the left in frame #n is expressed by Expression (24).
[0472]
Figure 0004596218
[0473]
Similarly, the sum f03 of the foreground components of the third pixel from the left in frame #n is expressed by Expression (25), and the sum f04 of the foreground components of the fourth pixel from the left of frame #n is expressed by Expression (25). (26)
[0474]
f03 = C03-α3 ・ N03 (25)
f04 = C04-α4 ・ N04 (26)
[0475]
As described above, the foreground component fu included in the pixel value C of the pixel belonging to the uncovered background area is calculated by Expression (27).
[0476]
fu = C-α ・ N (27)
N is the pixel value of the corresponding pixel in the next frame.
[0477]
As described above, the separation unit 601 determines from the pixels belonging to the mixed region based on the information indicating the covered background region, the information indicating the uncovered background region, and the mixing ratio α for each pixel included in the region information. Foreground and background components can be separated.
[0478]
FIG. 79 is a block diagram illustrating an example of the configuration of the separation unit 601 that executes the processing described above. The image input to the separation unit 601 is supplied to the frame memory 621, and the region information indicating the covered background region and the uncovered background region supplied from the simultaneous detection unit 102 and the mixing ratio α are the separation processing block 622. Is input.
[0479]
The frame memory 621 stores the input image in units of frames. When the object of processing is frame #n, the frame memory 621 is a frame that is the frame immediately after frame # n-1, frame #n, and frame #n. Remember # n + 1.
[0480]
The frame memory 621 supplies the pixels corresponding to the frame # n−1, the frame #n, and the frame # n + 1 to the separation processing block 622.
[0481]
The separation processing block 622 includes the frame # n−1, the frame #n, and the frame #n supplied from the frame memory 621 based on the area information indicating the covered background area and the uncovered background area, and the mixing ratio α. By applying the calculation described with reference to FIGS. 77 and 78 to the pixel value of the corresponding pixel of +1, the foreground component and the background component are separated from the pixels belonging to the mixed region of frame #n, and the frame This is supplied to the memory 623.
[0482]
The separation processing block 622 includes an uncovered area processing unit 631, a covered area processing unit 632, a combining unit 633, and a combining unit 634.
[0483]
The multiplier 641 of the uncovered area processing unit 631 multiplies the mixing ratio α by the pixel value of the pixel of frame # n + 1 supplied from the frame memory 621 and outputs the result to the switch 642. The switch 642 is closed when the pixel of frame #n (corresponding to the pixel of frame # n + 1) supplied from the frame memory 621 is an uncovered background area, and the mixture ratio supplied from the multiplier 641 The pixel value multiplied by α is supplied to the calculator 643 and the synthesis unit 634. The value obtained by multiplying the pixel value of the pixel of frame # n + 1 output from the switch 642 by the mixing ratio α is equal to the background component of the pixel value of the corresponding pixel of frame #n.
[0484]
The computing unit 643 subtracts the background component supplied from the switch 642 from the pixel value of the pixel of frame #n supplied from the frame memory 621 to obtain the foreground component. The computing unit 643 supplies the foreground component of the pixel of frame #n belonging to the uncovered background area to the synthesis unit 633.
[0485]
The multiplier 651 of the covered area processing unit 632 multiplies the mixture ratio α by the pixel value of the pixel of frame # n−1 supplied from the frame memory 621 and outputs the result to the switch 652. The switch 652 is closed when the pixel of the frame #n supplied from the frame memory 621 (corresponding to the pixel of the frame # n−1) is the covered background region, and the mixture ratio α supplied from the multiplier 651 is The pixel value multiplied by is supplied to the calculator 653 and the combining unit 634. A value obtained by multiplying the pixel value of the pixel of frame # n−1 output from the switch 652 by the mixing ratio α is equal to the background component of the pixel value of the corresponding pixel of frame #n.
[0486]
The arithmetic unit 653 subtracts the background component supplied from the switch 652 from the pixel value of the pixel of frame #n supplied from the frame memory 621 to obtain the foreground component. The calculator 653 supplies the foreground components of the pixels of the frame #n belonging to the covered background area to the synthesis unit 633.
[0487]
The synthesizer 633 outputs the foreground components of the pixels belonging to the uncovered background area supplied from the calculator 643 and the foregrounds of the pixels belonging to the covered background area supplied from the calculator 653 of the frame #n. The components are combined and supplied to the frame memory 623.
[0488]
The combining unit 634 receives the background component of the pixel belonging to the uncovered background area supplied from the switch 642 and the background component of the pixel belonging to the covered background area supplied from the switch 652 of the frame #n. Combined and supplied to the frame memory 623.
[0489]
The frame memory 623 stores the foreground components and the background components of the pixels in the mixed area of the frame #n supplied from the separation processing block 622, respectively.
[0490]
The frame memory 623 outputs the stored foreground components of the pixels in the mixed area of frame #n and the stored background components of the pixels of the mixed area in frame #n.
[0491]
By using the mixture ratio α, which is a feature amount, it is possible to completely separate the foreground component and the background component included in the pixel value.
[0492]
The synthesizing unit 603 combines the foreground components of the pixels in the mixed area of frame #n output from the separating unit 601 with the pixels belonging to the foreground area to generate a foreground component image. The synthesizing unit 605 synthesizes the background component of the pixel in the mixed area of frame #n output from the separating unit 601 and the pixel belonging to the background area to generate a background component image.
[0493]
FIG. 80 is a diagram illustrating an example of the foreground component image and an example of the background component image corresponding to frame #n in FIG.
[0494]
FIG. 80A shows an example of the foreground component image corresponding to frame #n in FIG. Since the leftmost pixel and the fourteenth pixel from the left consist of only background components before the foreground and the background are separated, the pixel value is set to zero.
[0495]
The second through fourth pixels from the left belong to the uncovered background area before the foreground and the background are separated, the background component is 0, and the foreground component is left as it is. The eleventh to thirteenth pixels from the left belong to the covered background area before the foreground and the background are separated, the background component is 0, and the foreground component is left as it is. The fifth through tenth pixels from the left are composed of only the foreground components and are left as they are.
[0496]
FIG. 80B shows an example of a background component image corresponding to frame #n in FIG. The leftmost pixel and the fourteenth pixel from the left are left as they are because they consisted only of the background components before the foreground and the background were separated.
[0497]
The second through fourth pixels from the left belong to the uncovered background area before the foreground and the background are separated, the foreground components are set to 0, and the background components are left as they are. The eleventh to thirteenth pixels from the left belong to the covered background area before the foreground and the background are separated, and the foreground components are set to 0 and the background components are left as they are. Since the fifth through tenth pixels from the left consist of only the foreground components before the foreground and the background are separated, the pixel value is set to zero.
[0498]
Next, foreground / background separation processing by the foreground / background separation unit 103 will be described with reference to the flowchart shown in FIG. In step S601, the frame memory 621 of the separation unit 601 obtains an input image, and determines the frame #n to be separated from the foreground and the background as the previous frame # n-1 and the subsequent frame # n + 1. Remember with.
[0499]
In step S <b> 602, the separation processing block 622 of the separation unit 601 acquires the region information supplied from the simultaneous detection unit 102. In step S <b> 603, the separation processing block 622 of the separation unit 601 acquires the mixing ratio α supplied from the simultaneous detection unit 102.
[0500]
In step S604, the uncovered area processing unit 631 extracts a background component from the pixel values of the pixels belonging to the uncovered background area supplied from the frame memory 621 based on the area information and the mixture ratio α.
[0501]
In step S605, the uncovered area processing unit 631 extracts foreground components from the pixel values of the pixels belonging to the uncovered background area supplied from the frame memory 621 based on the area information and the mixture ratio α.
[0502]
In step S606, the covered area processing unit 632 extracts a background component from the pixel values of the pixels belonging to the covered background area supplied from the frame memory 621 based on the area information and the mixture ratio α.
[0503]
In step S607, the covered area processing unit 632 extracts the foreground components from the pixel values of the pixels belonging to the covered background area supplied from the frame memory 621 based on the area information and the mixture ratio α.
[0504]
In step S608, the synthesis unit 633 extracts the foreground components of the pixels belonging to the uncovered background area extracted in step S605 and the foreground components of the pixels belonging to the covered background area extracted in step S607. And synthesize. The synthesized foreground components are supplied to the synthesis unit 603. Further, the synthesizing unit 603 combines the pixels belonging to the foreground area supplied via the switch 602 with the foreground components supplied from the separating unit 601 to generate a foreground component image.
[0505]
In step S609, the synthesizer 634 extracts the background component of the pixel belonging to the uncovered background area extracted in step S604 and the background component of the pixel belonging to the covered background area extracted in step S606. And synthesize. The synthesized background component is supplied to the synthesis unit 605. Furthermore, the synthesis unit 605 synthesizes the pixels belonging to the background area supplied via the switch 604 and the background components supplied from the separation unit 601 to generate a background component image.
[0506]
In step S610, the synthesis unit 603 outputs the foreground component image. In step S611, the synthesis unit 605 outputs a background component image, and the process ends.
[0507]
As described above, the foreground / background separation unit 103 separates the foreground components and the background components from the input image based on the region information and the mixture ratio α, and the foreground component image including only the foreground components and the background A background component image consisting only of components can be output.
[0508]
Next, adjustment of the amount of motion blur from the foreground component image will be described.
[0509]
FIG. 82 is a block diagram illustrating an example of the configuration of the motion blur adjustment unit 104. The motion vector supplied from the simultaneous detection unit 102 and the region information supplied from the region specifying unit 101 are supplied to the processing unit determination unit 801 and the modeling unit 802. The foreground component image supplied from the foreground / background separation unit 103 is supplied to the adding unit 804.
[0510]
The processing unit determination unit 801 supplies the generated processing unit together with the motion vector to the modeling unit 802 based on the motion vector and the region information. The processing unit determining unit 801 supplies the generated processing unit to the adding unit 804.
[0511]
As shown in FIG. 83, the processing unit generated by the processing unit determination unit 801 starts from a pixel corresponding to the covered background area of the foreground component image, and moves in the direction of movement to the pixel corresponding to the uncovered background area. A continuous pixel lined up in a moving direction starting from a pixel lined up or a pixel corresponding to an uncovered background area to a pixel corresponding to a covered background area is shown. The processing unit is composed of, for example, two pieces of data: an upper left point (a pixel specified by the processing unit and located at the leftmost or uppermost pixel on the image) and a lower right point.
[0512]
The modeling unit 802 executes modeling based on the motion vector and the input processing unit. More specifically, for example, the modeling unit 802 previously stores a plurality of models corresponding to the number of pixels included in the processing unit, the number of virtual divisions of the pixel values in the time direction, and the number of foreground components for each pixel. A model that specifies the correspondence between pixel values and foreground components as shown in FIG. 84 may be selected based on the processing unit and the number of virtual divisions of the pixel values in the time direction. .
[0513]
For example, when the number of pixels corresponding to the processing unit is 12 and the amount of motion v within the shutter time is 5, the modeling unit 802 sets the virtual division number to 5 and sets the leftmost pixel to 1 The foreground component, the second pixel from the left contains the two foreground components, the third pixel from the left contains the three foreground components, and the fourth pixel from the left contains the four foreground components The fifth pixel from the left contains five foreground components, the sixth pixel from the left contains five foreground components, the seventh pixel from the left contains five foreground components, and eight from the left. The tenth pixel includes five foreground components, the ninth pixel from the left includes four foreground components, the tenth pixel from the left includes three foreground components, and the eleventh pixel from the left is 2 The foreground component, and the twelfth pixel from the left contains one foreground component. As a whole, a model consisting of eight foreground components is selected.
[0514]
Note that the modeling unit 802 generates a model based on the motion vector and the processing unit when the motion vector and the processing unit are supplied, instead of selecting from the models stored in advance. Also good.
[0515]
The modeling unit 802 supplies the selected model to the equation generation unit 803.
[0516]
The equation generation unit 803 generates an equation based on the model supplied from the modeling unit 802. Referring to the model of the foreground component image shown in FIG. 84, the number of foreground components is 8, the number of pixels corresponding to the processing unit is 12, the amount of motion v is 5, and the number of virtual divisions is 5 The equation generated by the equation generation unit 803 will be described.
[0517]
When the foreground components corresponding to the shutter time / v included in the foreground component image are F01 / v to F08 / v, the relationship between F01 / v to F08 / v and the pixel values C01 to C12 is expressed by equations (28) to (28) It is represented by Formula (39).
[0518]
C01 = F01 / v (28)
C02 = F02 / v + F01 / v (29)
C03 = F03 / v + F02 / v + F01 / v (30)
C04 = F04 / v + F03 / v + F02 / v + F01 / v (31)
C05 = F05 / v + F04 / v + F03 / v + F02 / v + F01 / v (32)
C06 = F06 / v + F05 / v + F04 / v + F03 / v + F02 / v (33)
C07 = F07 / v + F06 / v + F05 / v + F04 / v + F03 / v (34)
C08 = F08 / v + F07 / v + F06 / v + F05 / v + F04 / v (35)
C09 = F08 / v + F07 / v + F06 / v + F05 / v (36)
C10 = F08 / v + F07 / v + F06 / v (37)
C11 = F08 / v + F07 / v (38)
C12 = F08 / v (39)
[0519]
The equation generation unit 803 generates an equation by modifying the generated equation. The equations generated by the equation generator 803 are shown in equations (40) to (51).
Figure 0004596218
[0520]
Formula (40) thru | or Formula (51) can also be represented as Formula (52).
[0521]
[Expression 12]
Figure 0004596218
In Expression (52), j indicates the position of the pixel. In this example, j has any one value of 1 to 12. I indicates the position of the foreground value. In this example, i has any one value of 1 to 8. aij has a value of 0 or 1 corresponding to the values of i and j.
[0522]
When expressed in consideration of the error, Expression (52) can be expressed as Expression (53).
[0523]
[Formula 13]
Figure 0004596218
In Expression (53), ej is an error included in the target pixel Cj.
[0524]
Expression (53) can be rewritten as Expression (54).
[0525]
[Expression 14]
Figure 0004596218
[0526]
Here, in order to apply the method of least squares, an error sum of squares E is defined as shown in Expression (55).
[0527]
[Expression 15]
Figure 0004596218
[0528]
In order to minimize the error, the partial differential value of the variable Fk with respect to the square sum E of the error may be zero. Fk is obtained so as to satisfy Expression (56).
[0529]
[Expression 16]
Figure 0004596218
[0530]
In Expression (56), since the motion amount v is a fixed value, Expression (57) can be derived.
[0531]
[Expression 17]
Figure 0004596218
[0532]
When Expression (57) is expanded and transferred, Expression (58) is obtained.
[0533]
[Formula 18]
Figure 0004596218
[0534]
This is expanded into eight equations obtained by substituting any one of integers 1 to 8 for k in equation (58). The obtained eight expressions can be expressed by one expression by a matrix. This equation is called a normal equation.
[0535]
An example of a normal equation generated by the equation generation unit 803 based on such a method of least squares is shown in Equation (59).
[0536]
[Equation 19]
Figure 0004596218
[0537]
When Expression (59) is expressed as A · F = v · C, C, A, v are known, and F is unknown. A and v are known at the time of modeling, but C is known by inputting a pixel value in the adding operation.
[0538]
By calculating the foreground component using a normal equation based on the method of least squares, the error included in the pixel C can be dispersed.
[0539]
The equation generation unit 803 supplies the normal equation generated in this way to the addition unit 804.
[0540]
The addition unit 804 sets the pixel value C included in the foreground component image to the matrix expression supplied from the equation generation unit 803 based on the processing unit supplied from the processing unit determination unit 801. The adding unit 804 supplies a matrix in which the pixel value C is set to the calculation unit 805.
[0541]
The calculation unit 805 calculates a foreground component Fi / v from which motion blur has been removed by processing based on a solution method such as a sweep-out method (Gauss-Jordan elimination method), and uses the foreground pixel values from which motion blur has been removed. A foreground component from which motion blur is removed, which is made up of Fi, which is a pixel value from which motion blur has been removed, is calculated by calculating Fi corresponding to any one of the integers from 0 to 8, as shown in FIG. The image is output to the motion blur adding unit 806 and the selection unit 807.
[0542]
In the foreground component image from which the motion blur shown in FIG. 85 is removed, each of F01 to F08 is set to each of C03 to C10 because the position of the foreground component image with respect to the screen is not changed. It can correspond to an arbitrary position.
[0543]
The motion blur adding unit 806 is a motion blur adjustment amount v ′ having a value different from the motion amount v, for example, a motion blur adjustment amount v ′ having a value half the motion amount v, or a motion blur having a value unrelated to the motion amount v. By giving the adjustment amount v ′, the amount of motion blur can be adjusted. For example, as shown in FIG. 86, the motion blur adding unit 806 calculates the foreground component Fi / v ′ by dividing the foreground pixel value Fi from which motion blur is removed by the motion blur adjustment amount v ′. Then, the sum of the foreground components Fi / v ′ is calculated to generate a pixel value in which the amount of motion blur is adjusted. For example, when the motion blur adjustment amount v ′ is 3, the pixel value C02 is (F01) / v ′, the pixel value C03 is (F01 + F02) / v ′, and the pixel value C04 is (F01 + F02 + F03) / v ′, and the pixel value C05 is (F02 + F03 + F04) / v ′.
[0544]
The motion blur adding unit 806 supplies the foreground component image in which the amount of motion blur is adjusted to the selection unit 807.
[0545]
The selection unit 807, for example, based on a selection signal corresponding to the user's selection, the foreground component image from which the motion blur supplied from the calculation unit 805 has been removed, and the amount of motion blur supplied from the motion blur addition unit 806 Is selected, and the selected foreground component image is output.
[0546]
As described above, the motion blur adjusting unit 104 can adjust the amount of motion blur based on the selection signal and the motion blur adjustment amount v ′.
[0547]
Also, for example, as shown in FIG. 87, when the number of pixels corresponding to the processing unit is 8 and the motion amount v is 4, the motion blur adjustment unit 104 uses the matrix equation shown in Equation (60). Generate.
[0548]
[Expression 20]
Figure 0004596218
[0549]
The motion blur adjustment unit 104 thus calculates the number of expressions corresponding to the length of the processing unit, and calculates Fi, which is a pixel value in which the amount of motion blur is adjusted. Similarly, for example, when the number of pixels included in the processing unit is 100, an expression corresponding to 100 pixels is generated and Fi is calculated.
[0550]
FIG. 88 is a diagram illustrating another configuration of the motion blur adjusting unit 104. In FIG. Parts that are the same as those shown in FIG. 82 are given the same reference numerals, and descriptions thereof are omitted.
[0551]
The selection unit 821 supplies the input motion vector and its position signal as they are to the processing unit determination unit 801 and the modeling unit 802 based on the selection signal, or the magnitude of the motion vector is set as the motion blur adjustment amount v ′. The motion vector whose size is replaced with the motion blur adjustment amount v ′ and its position signal are supplied to the processing unit determination unit 801 and the modeling unit 802.
[0552]
In this way, the processing unit determination unit 801 to the calculation unit 805 of the motion blur adjustment unit 104 in FIG. 88 adjust the motion blur amount in accordance with the values of the motion amount v and the motion blur adjustment amount v ′. Can be adjusted. For example, when the motion amount v is 5 and the motion blur adjustment amount v ′ is 3, the processing unit determination unit 801 to the calculation unit 805 of the motion blur adjustment unit 104 in FIG. The foreground component image of 5 is calculated according to the model as shown in FIG. 86 corresponding to the motion blur adjustment amount v ′ of 3, and (motion amount v) / (motion blur adjustment amount v ′) = An image including motion blur corresponding to a motion amount v of 5/3, that is, approximately 1.7 is calculated. In this case, since the calculated image does not include motion blur corresponding to the motion amount v of 3, the result of the motion blur addition unit 806 is the relationship between the motion amount v and the motion blur adjustment amount v ′. It should be noted that the meaning of is different.
[0553]
As described above, the motion blur adjustment unit 104 generates an expression corresponding to the motion amount v and the processing unit, sets the pixel value of the foreground component image in the generated expression, and adjusts the amount of motion blur. A foreground component image is calculated.
[0554]
Next, a process for adjusting the amount of motion blur included in the foreground component image by the motion blur adjustment unit 104 will be described with reference to the flowchart in FIG.
[0555]
In step S801, the processing unit determination unit 801 of the motion blur adjustment unit 104 generates a processing unit based on the motion vector and the region information, and supplies the generated processing unit to the modeling unit 802.
[0556]
In step S802, the modeling unit 802 of the motion blur adjustment unit 104 selects and generates a model corresponding to the motion amount v and the processing unit. In step S803, the equation generation unit 803 creates a normal equation based on the selected model.
[0557]
In step S804, the adding unit 804 sets the pixel value of the foreground component image in the created normal equation. In step S805, the adding unit 804 determines whether or not the pixel values of all the pixels corresponding to the processing unit have been set, and if the pixel values of all the pixels corresponding to the processing unit have not been set. If it is determined, the process returns to step S804, and the process of setting the pixel value in the normal equation is repeated.
[0558]
If it is determined in step S805 that the pixel values of all the pixels in the processing unit have been set, the process advances to step S806, and the calculation unit 805 calculates a normal equation in which the pixel values supplied from the addition unit 804 are set. Based on this, the foreground pixel value adjusted for the amount of motion blur is calculated, and the process ends.
[0559]
As described above, the motion blur adjusting unit 104 can adjust the amount of motion blur from the foreground image including motion blur based on the motion vector and the region information.
[0560]
That is, it is possible to adjust the amount of motion blur included in the pixel value that is the sample data.
[0561]
As described above, the signal processing apparatus having the configuration shown in FIG. 2 can adjust the amount of motion blur included in the input image.
[0562]
FIG. 90 is a block diagram illustrating another example of the configuration of the motion blur adjustment unit 104. The motion vector supplied from the simultaneous detection unit 102 is supplied to the processing unit determination unit 901 and the correction unit 905, and the region information supplied from the region specifying unit 101 is supplied to the processing unit determination unit 901. The foreground component image supplied from the foreground / background separator 103 is supplied to the calculator 904.
[0563]
The processing unit determination unit 901 supplies the generated processing unit together with the motion vector to the modeling unit 902 based on the motion vector and the region information.
[0564]
The modeling unit 902 performs modeling based on the motion vector and the input processing unit. More specifically, for example, the modeling unit 902 previously stores a plurality of models corresponding to the number of pixels included in a processing unit, the number of virtual divisions of pixel values in the time direction, and the number of foreground components for each pixel. A model that specifies the correspondence between pixel values and foreground components as shown in FIG. 91 may be selected based on the processing unit and the number of virtual divisions of the pixel values in the time direction. .
[0565]
For example, when the number of pixels corresponding to the processing unit is 12 and the amount of motion v is 5, the modeling unit 902 sets the virtual division number to 5 and the leftmost pixel is one foreground component. The second pixel from the left contains two foreground components, the third pixel from the left contains three foreground components, the fourth pixel from the left contains four foreground components, and The fifth pixel contains five foreground components, the sixth pixel from the left contains five foreground components, the seventh pixel from the left contains five foreground components, and the eighth pixel from the left Contains 5 foreground components, the 9th pixel from the left contains 4 foreground components, the 10th pixel from the left contains 3 foreground components, and the 11th pixel from the left contains 2 foreground components And the twelfth pixel from the left contains one foreground component, Select a model consisting of two foreground components.
[0566]
Note that the modeling unit 902 generates a model based on the motion vector and the processing unit when the motion vector and the processing unit are supplied, instead of selecting from the models stored in advance. Also good.
[0567]
The equation generation unit 903 generates an equation based on the model supplied from the modeling unit 902.
[0568]
With reference to the foreground component image model shown in FIGS. 91 to 93, when the number of foreground components is 8, the number of pixels corresponding to the processing unit is 12, and the amount of motion v is 5, An example of an equation generated by the equation generation unit 903 will be described.
[0569]
When the foreground components corresponding to the shutter time / v included in the foreground component image are F01 / v to F08 / v, the relationship between F01 / v to F08 / v and the pixel values C01 to C12 is as described above. It represents with Formula (28) thru | or Formula (39).
[0570]
Paying attention to the pixel values C12 and C11, the pixel value C12 includes only the foreground component F08 / v as shown in the equation (61), and the pixel value C11 includes the foreground component F08 / v and the foreground component F07 / v. Consists of product sums of v. Therefore, the foreground component F07 / v can be obtained by Expression (62).
[0571]
F08 / v = C12 (61)
F07 / v = C11-C12 (62)
[0572]
Similarly, in consideration of the foreground components included in the pixel values C10 to C01, the foreground components F06 / v to F01 / v can be obtained by the equations (63) to (68).
[0573]
F06 / v = C10-C11 (63)
F05 / v = C09-C10 (64)
F04 / v = C08-C09 (65)
F03 / v = C07-C08 + C12 (66)
F02 / v = C06-C07 + C11-C12 (67)
F01 / v = C05-C06 + C10-C11 (68)
[0574]
The equation generation unit 903 generates equations for calculating foreground components based on pixel value differences, examples of which are shown in equations (61) to (68). The equation generation unit 903 supplies the generated equation to the calculation unit 904.
[0575]
The calculation unit 904 sets the pixel value of the foreground component image in the equation supplied from the equation generation unit 903, and calculates the foreground component based on the equation in which the pixel value is set. For example, when the equations (61) to (68) are supplied from the equation generator 903, the arithmetic unit 904 sets the pixel values C05 to C12 in the equations (61) to (68).
[0576]
The calculation unit 904 calculates the foreground components based on the formula in which the pixel values are set. For example, the calculation unit 904 calculates the foreground components F01 / v to F08 / v as shown in FIG. 92 by calculations based on the equations (61) to (68) in which the pixel values C05 to C12 are set. . The calculation unit 904 supplies the foreground components F01 / v to F08 / v to the correction unit 905.
[0577]
The correction unit 905 multiplies the foreground component supplied from the calculation unit 904 by the motion amount v included in the motion vector supplied from the processing unit determination unit 901 to calculate a foreground pixel value from which motion blur has been removed. . For example, when the foreground components F01 / v to F08 / v supplied from the calculation unit 904 are supplied, the correction unit 905 has a motion amount v that is 5 for each of the foreground components F01 / v to F08 / v. , The foreground pixel values F01 to F08 from which motion blur is removed are calculated as shown in FIG.
[0578]
The correction unit 905 supplies the foreground component image, which is calculated as described above and includes the foreground pixel values from which the motion blur is removed, to the motion blur addition unit 906 and the selection unit 907.
[0579]
The motion blur adding unit 906 is a motion blur adjustment amount v ′ having a value different from the motion amount v, for example, a motion blur adjustment amount v ′ having a value half the motion amount v, and a motion blur adjustment having a value unrelated to the motion amount v With the amount v ′, the amount of motion blur can be adjusted. For example, as shown in FIG. 86, the motion blur adding unit 906 calculates the foreground component Fi / v ′ by dividing the foreground pixel value Fi from which motion blur is removed by the motion blur adjustment amount v ′. Then, the sum of the foreground components Fi / v ′ is calculated to generate a pixel value in which the amount of motion blur is adjusted. For example, when the motion blur adjustment amount v ′ is 3, the pixel value C02 is (F01) / v ′, the pixel value C03 is (F01 + F02) / v ′, and the pixel value C04 is (F01 + F02 + F03) / v ′, and the pixel value C05 is (F02 + F03 + F04) / v ′.
[0580]
The motion blur adding unit 906 supplies the foreground component image in which the amount of motion blur is adjusted to the selection unit 907.
[0581]
For example, based on a selection signal corresponding to the user's selection, the selection unit 907 removes the motion blur supplied from the correction unit 905 and the amount of motion blur supplied from the motion blur addition unit 906. Is selected, and the selected foreground component image is output.
[0582]
As described above, the motion blur adjusting unit 104 can adjust the amount of motion blur based on the selection signal and the motion blur adjustment amount v ′.
[0583]
Next, processing for adjusting the amount of foreground motion blur by the motion blur adjustment unit 104 having the configuration shown in FIG. 90 will be described with reference to the flowchart of FIG.
[0584]
In step S901, the processing unit determination unit 901 of the motion blur adjustment unit 104 generates a processing unit based on the motion vector and the region information, and supplies the generated processing unit to the modeling unit 902 and the correction unit 905.
[0585]
In step S902, the modeling unit 902 of the motion blur adjusting unit 104 selects and generates a model corresponding to the motion amount v and the processing unit. In step S903, the equation generation unit 903 generates an equation for calculating a foreground component based on a difference in pixel values of the foreground component image based on the selected or generated model.
[0586]
In step S904, the calculation unit 904 sets the pixel value of the foreground component image in the created equation, and extracts the foreground component from the difference between the pixel values based on the equation in which the pixel value is set. In step S905, the calculation unit 904 determines whether all foreground components corresponding to the processing unit have been extracted, and if it is determined that all foreground components corresponding to the processing unit have not been extracted, Returning to step S904, the process of extracting the foreground components is repeated.
[0587]
If it is determined in step S905 that all foreground components corresponding to the processing unit have been extracted, the process advances to step S906, and the correction unit 905 supplies the foreground components supplied from the calculation unit 904 based on the motion amount v. Each of F01 / v through F08 / v is corrected to calculate foreground pixel values F01 through F08 from which motion blur has been removed.
[0588]
In step S907, the motion blur adding unit 906 calculates the foreground pixel value after adjusting the amount of motion blur, and the selection unit 907 selects the image from which motion blur is removed or the image in which the amount of motion blur is adjusted. Either one is selected, the selected image is output, and the process ends.
[0589]
As described above, the motion blur adjusting unit 104 having the configuration shown in FIG. 90 can adjust motion blur from a foreground image including motion blur more quickly by simpler calculation.
[0590]
Conventional methods such as the Wiener filter that partially eliminates motion blur are effective in the ideal state, but they are quantized and not effective enough for actual images containing noise. In the motion blur adjusting unit 104 having the configuration shown in FIG. 90, a sufficient effect is recognized even for an actual image that is quantized and includes noise, and motion blur can be accurately removed.
[0591]
FIG. 95 is a block diagram showing still another configuration of the function of the signal processing device for adjusting the amount of motion blur. The signal processing apparatus shown in FIG. 2 sequentially performs region specification and calculation of the mixing ratio α, whereas the signal processing device shown in FIG. 95 performs region specification and calculation of the mixing ratio α in parallel.
[0592]
The same parts as those shown in the block diagram of FIG. 2 are denoted by the same reference numerals, and the description thereof is omitted.
[0593]
The input image is supplied to the simultaneous detection unit 1001, foreground / background separation unit 1002, and region specifying unit 101.
[0594]
The simultaneous detection unit 1001 inputs an estimated mixture ratio when it is assumed that the pixel belongs to the covered background area and an estimated mixture ratio when the pixel belongs to the uncovered background area based on the input image. Calculated for each pixel included in the image, estimated mixture ratio when the calculated pixel is assumed to belong to the covered background area, and estimated mixture ratio when the pixel is assumed to belong to the uncovered background area Is supplied to the foreground / background separator 1002.
[0595]
The simultaneous detection unit 1001 inputs, based on the input image, an estimated motion vector when the pixel is assumed to belong to the covered background area and an estimated motion vector when the pixel is assumed to belong to the uncovered background area. Calculated for each pixel included in the image, estimated motion vector when the calculated pixel is assumed to belong to the covered background area, and estimated motion vector when the pixel is assumed to belong to the uncovered background area Is supplied to the motion blur adjustment unit 1003.
[0596]
FIG. 96 is a block diagram illustrating an example of the configuration of the simultaneous detection unit 1001.
[0597]
The estimated mixture ratio processing unit 401 illustrated in FIG. 96 is the same as the estimated mixture ratio processing unit 401 illustrated in FIG. The estimated mixture ratio processing unit 402 shown in FIG. 96 is the same as the estimated mixture ratio processing unit 402 shown in FIG.
[0598]
Based on the input image, the estimated mixture ratio processing unit 401 calculates an estimated mixture ratio and an estimated motion vector for each pixel by an operation corresponding to the model of the covered background region, and calculates the estimated mixture ratio and estimated motion vector. Is output.
[0599]
Based on the input image, the estimated mixture ratio processing unit 402 calculates an estimated mixture ratio and an estimated motion vector for each pixel by an operation corresponding to the model of the uncovered background region, and calculates the estimated mixture ratio and estimated motion. Output a vector.
[0600]
The foreground / background separation unit 1002 is supplied from the simultaneous detection unit 1001, and the estimated mixture ratio when the pixel is assumed to belong to the covered background area, and the estimated mixture when the pixel is assumed to belong to the uncovered background area Based on the ratio and the region information supplied from the region specifying unit 101, a foreground component image is generated from the input image, and the generated foreground component image is supplied to the motion blur adjustment unit 1003 and the selection unit 105.
[0601]
FIG. 97 is a block diagram showing an example of the configuration of the foreground / background separator 1002.
[0602]
Parts similar to those of the foreground / background separation unit 103 shown in FIG. 74 are denoted by the same reference numerals, and the description thereof is omitted.
[0603]
Based on the region information supplied from the region specifying unit 101, the selection unit 1021 supplies the estimated mixture ratio supplied from the simultaneous detection unit 1001, assuming that the pixel belongs to the covered background region, and the pixel is uncovered. One of the estimated mixture ratios when it is assumed to belong to the background region is selected, and the selected estimated mixture ratio is supplied to the separation unit 601 as the mixture ratio α.
[0604]
The separation unit 601 extracts the foreground components and the background components from the pixel values of the pixels belonging to the mixed region based on the mixture ratio α and the region information supplied from the selection unit 1021, and combines the extracted foreground components. At the same time, the background component is supplied to the synthesis unit 605.
[0605]
The separation unit 601 can have the same configuration as that shown in FIG.
[0606]
The synthesizing unit 603 synthesizes and outputs the foreground component image. The synthesizing unit 605 synthesizes and outputs the background component image.
[0607]
Returning to FIG. 95, the motion blur adjustment unit 1003 adjusts the amount of motion blur included in the foreground component image supplied from the foreground / background separation unit 1002 based on the region information and the estimated motion vector, and the amount of motion blur The foreground component image with adjusted is output.
[0608]
FIG. 98 is a diagram illustrating a configuration of the motion blur adjusting unit 1003.
[0609]
The same parts as those in the motion blur adjusting unit 104 shown in FIG. 82 are denoted by the same reference numerals, and the description thereof is omitted.
[0610]
Based on the region information supplied from the region specifying unit 101, the selection unit 1041 supplies the estimated motion vector supplied from the simultaneous detection unit 1001 and assuming that the pixel belongs to the covered background region, and the pixel is uncovered. One of the estimated motion vectors when it is assumed to belong to the background area is selected, and the selected estimated motion vector is supplied to the processing unit determination unit 801 and the calculation unit 805 as a motion vector.
[0611]
95 selects, for example, a foreground component image supplied from the foreground / background separation unit 1002 and a motion blur amount supplied from the motion blur adjustment unit 1003 based on a selection signal corresponding to the user's selection. Is selected, and the selected foreground component image is output.
[0612]
As described above, the signal processing apparatus having the configuration shown in FIG. 95 can adjust and output the amount of motion blur included in the image corresponding to the foreground object included in the input image.
[0613]
FIG. 99 is a block diagram showing still another configuration of the signal processing apparatus according to the present invention. The same parts as those of the signal processing apparatus shown in FIG. 2 are denoted by the same reference numerals, and the description thereof is omitted.
[0614]
The area specifying unit 101 supplies the area information to the simultaneous detection unit 102 and the foreground / background separation unit 103.
[0615]
The simultaneous detection unit 102 supplies the detected mixture ratio α to the foreground / background separation unit 103 and supplies the detected motion vector to the noise removal unit 1101.
[0616]
The noise removal unit 1101 removes noise from the foreground component image based on the motion vector supplied from the simultaneous detection unit 102 and the foreground component images of a plurality of frames supplied from the foreground / background separation unit 103, The foreground component image from which the image is removed is supplied to the selection unit 105.
[0617]
For example, based on a selection signal corresponding to the user's selection, the selection unit 105 selects the foreground component image supplied from the foreground / background separation unit 103 and the foreground component image from which noise supplied from the noise removal unit 1101 has been removed. Either one is selected and the selected foreground component image is output.
[0618]
FIG. 100 is a block diagram illustrating a configuration of the noise removing unit 1101.
[0619]
The foreground component image supplied from the foreground / background separation unit 103 is input to the frame memory 1111-1 and the average pixel value calculation unit 1113.
[0620]
The frame memories 1111-1 to 1111-N are connected in series, store the foreground component image supplied from the foreground / background separator 103 or the previous frame memory, and store the delayed for a period corresponding to one frame. Output the foreground component image.
[0621]
The frame memory 1111-1 stores the foreground component image supplied from the foreground / background separation unit 103, delays it for a period corresponding to one frame, and converts the stored foreground component image into the frame memory 111-2 and the motion compensation unit. 1112-1.
[0622]
Each of the frame memories 1111-2 to 1111- (N-1) stores the foreground component image supplied from the previous frame memory, delays it for a period corresponding to one frame, and moves to the next frame memory and motion compensation unit. Supplied to any one of 111-2 to 1112- (N-1).
[0623]
The frame memory 1111-N stores the foreground component image supplied from the frame memory 1111- (N-1), delays it for a period corresponding to one frame, and moves the stored foreground component image to the motion compensation unit 1112-. N.
[0624]
The motion compensation unit 1112-1 performs motion compensation on the foreground component image supplied from the frame memory 1111-1 based on the motion vector supplied from the simultaneous detection unit 102, and calculates the motion compensated foreground component image as an average pixel value. It supplies to the calculation part 1113.
[0625]
Each of the motion compensation units 111-2 to 1112-N performs motion compensation on the foreground component image supplied from any of the frame memories 1111-2 to 1111-N based on the motion vector supplied from the simultaneous detection unit 102. Then, each of the motion-compensated foreground component images is supplied to the average pixel value calculation unit 1113.
[0626]
The positions on the screen of all foreground component images supplied from the motion compensation units 1112-1 to 1112 -N to the average pixel value calculation unit 1113 are the positions on the screen of the foreground component images input to the noise removal unit 1101. Match.
[0627]
The average pixel value calculation unit 1113 matches the foreground component image input to the noise removal unit 1101 and the foreground component images supplied from the motion compensation units 1112-1 to 1112 -N at the same position on the screen. Based on the above, the average value of the pixel values of each pixel is calculated. The average pixel value calculation unit 1113 removes noise from the foreground component image by setting the average value of the calculated pixel values as the pixel value of the foreground component image, and outputs the foreground component image from which the noise has been removed.
[0628]
In this way, the noise removal unit 1101 can remove noise from the foreground component image output from the foreground / background separation unit 103 based on the motion vector supplied from the simultaneous detection unit 102.
[0629]
Since the motion vector output from the simultaneous detection unit 102 is a motion vector in which the mixed region is taken into consideration, the foreground component images of a plurality of frames can be more accurately compensated for motion. The level can be lowered.
[0630]
With reference to the flowchart of FIG. 101, the noise removal processing by the signal processing device will be described.
[0631]
Since the processes in steps S1101 to S1103 are the same as the processes in steps S11 to S13, description thereof is omitted.
[0632]
In step S <b> 1104, the noise removal unit 1101 removes noise from the foreground component image supplied from the foreground / background separation unit 103 based on the motion vector supplied from the simultaneous detection unit 102. Details of the process of removing noise will be described later with reference to the flowchart of FIG.
[0633]
In step S1105, the signal processing apparatus determines whether or not the process has been completed for the entire screen. If it is determined that the process has not been completed for the entire screen, the process proceeds to step S1104 and repeats the noise removal process.
[0634]
If it is determined in step S1105 that the process has been completed for the entire screen, the process ends.
[0635]
In this way, the signal processing apparatus can remove noise from the foreground component image.
[0636]
FIG. 102 is a flowchart for describing noise removal processing of the foreground component image by the noise removal unit 1101 corresponding to the processing in step S1104.
[0637]
In step S <b> 1111, the frame memories 1111-1 to 1111 -N store foreground component images for each frame. The frame memories 1111-1 to 1111-N respectively supply the stored foreground component images to any of the motion compensation units 1112-1 to 1112-N.
[0638]
In step S1112, the motion compensation units 1112-1 to 1112 -N each perform motion compensation on the foreground component image for each frame based on the motion vector supplied from the simultaneous detection unit 102.
[0639]
In step S1113, the average pixel value calculation unit 1113 calculates the average value of the pixel values of the motion-compensated foreground component image, and sets the calculated average value in the foreground component image, thereby removing noise from the foreground component image. The foreground component image from which noise has been removed is output, and the process ends.
[0640]
As described above, the noise removing unit 1101 can remove noise from the foreground component image.
[0641]
As described above, the signal processing apparatus having the configuration shown in FIG. 99 can separate the foreground component image and the background component image, and remove the noise of the separated foreground component image.
[0642]
The mixing ratio α has been described as the ratio of the background component included in the pixel value, but may be the ratio of the foreground component included in the pixel value.
[0643]
In addition, the direction of the foreground object has been described as being from left to right, but is not limited to that direction.
[0644]
In the above, the case where the image of the real space having the three-dimensional space and the time axis information is projected onto the time space having the two-dimensional space and the time axis information by using a video camera is taken as an example. In addition to this example, when the first information of more first dimensions is projected onto the second information of fewer second dimensions, distortion generated by the projection is corrected or significant It is possible to adapt to extracting information or synthesizing an image more naturally.
[0645]
The sensor is not limited to a CCD, and may be a solid-state image sensor, for example, a BBD (Bucket Brigade Device), a CID (Charge Injection Device), a CPD (Charge Priming Device), or a CMOS (Complementary Mental Oxide Semiconductor) sensor. In addition, the sensor is not limited to a sensor in which the detection elements are arranged in a matrix, and may be a sensor in which the detection elements are arranged in a line.
[0646]
As shown in FIG. 1, a recording medium recording a program for performing signal processing according to the present invention is distributed to provide a program to a user separately from a computer. (Including registered trademark) discs, optical disc 52 (including compact disc-read only memory (CD-ROM), DVD (digital versatile disc)), magneto-optical disc 53 (including MD (mini-disc) (trademark)) ), Or a ROM 22 on which a program is recorded, a hard disk included in the storage unit 28, etc. provided to the user in a state of being incorporated in the computer in advance, as well as being configured by a package medium including the semiconductor memory 54 or the like. Consists of.
[0647]
In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. It also includes processes that are executed individually.
[0648]
【The invention's effect】
According to the image processing apparatus and method, the recording medium, and the program of the present invention , In addition to detecting the mixing ratio, the motion vector can be detected in consideration of the mixing region.
[Brief description of the drawings]
FIG. 1 is a diagram showing an embodiment of a signal processing apparatus according to the present invention.
FIG. 2 is a block diagram showing a signal processing device.
FIG. 3 is a diagram illustrating imaging by a sensor.
FIG. 4 is a diagram illustrating an arrangement of pixels.
FIG. 5 is a diagram illustrating the operation of a detection element.
FIG. 6 is a diagram illustrating an image obtained by imaging an object corresponding to a moving foreground and an object corresponding to a stationary background.
FIG. 7 is a diagram illustrating a background area, a foreground area, a mixed area, a covered background area, and an uncovered background area.
FIG. 8 is a model diagram in which pixel values of pixels arranged in a row adjacent to each other in an image obtained by capturing an object corresponding to a stationary foreground and an object corresponding to a stationary background are developed in the time direction; It is.
FIG. 9 is a model diagram in which pixel values are developed in a time direction and a period corresponding to a shutter time is divided.
FIG. 10 is a model diagram in which pixel values are developed in a time direction and a period corresponding to a shutter time is divided.
FIG. 11 is a model diagram in which pixel values are developed in a time direction and a period corresponding to a shutter time is divided.
FIG. 12 is a diagram illustrating an example in which pixels in a foreground area, a background area, and a mixed area are extracted.
FIG. 13 is a diagram illustrating a correspondence between a pixel and a model in which pixel values are expanded in the time direction.
FIG. 14 is a model diagram in which pixel values are developed in a time direction and a period corresponding to a shutter time is divided.
FIG. 15 is a model diagram in which pixel values are developed in a time direction and a period corresponding to a shutter time is divided.
FIG. 16 is a model diagram in which pixel values are developed in a time direction and a period corresponding to a shutter time is divided.
FIG. 17 is a model diagram in which pixel values are developed in a time direction and a period corresponding to a shutter time is divided.
FIG. 18 is a model diagram in which pixel values are developed in the time direction and a period corresponding to a shutter time is divided.
FIG. 19 is a flowchart illustrating processing for adjusting the amount of motion blur.
20 is a block diagram illustrating an example of a configuration of a region specifying unit 101. FIG.
FIG. 21 is a diagram illustrating an image when an object corresponding to the foreground is moving.
FIG. 22 is a model diagram in which pixel values are developed in a time direction and a period corresponding to a shutter time is divided.
FIG. 23 is a model diagram in which pixel values are developed in a time direction and a period corresponding to a shutter time is divided.
FIG. 24 is a model diagram in which pixel values are developed in a time direction and a period corresponding to a shutter time is divided.
FIG. 25 is a diagram for explaining region determination conditions;
FIG. 26 is a diagram illustrating an example of the result of specifying a region by the region specifying unit 101;
FIG. 27 is a diagram illustrating an example of the result of specifying a region by the region specifying unit 101;
FIG. 28 is a flowchart illustrating an area specifying process.
29 is a block diagram illustrating another example of the configuration of the area specifying unit 101. FIG.
30 is a model diagram in which pixel values are developed in the time direction and a period corresponding to a shutter time is divided. FIG.
FIG. 31 is a diagram illustrating an example of a background image.
32 is a block diagram showing a configuration of a binary object image extraction unit 302. FIG.
FIG. 33 is a diagram illustrating calculation of a correlation value.
FIG. 34 is a diagram illustrating calculation of correlation values.
FIG. 35 is a diagram illustrating an example of a binary object image.
36 is a block diagram showing a configuration of a time change detection unit 303. FIG.
FIG. 37 is a diagram for explaining determination by an area determination unit 342;
38 is a diagram showing an example of determination by a time change detection unit 303. FIG.
FIG. 39 is a flowchart for describing region specifying processing by the region determining unit 103;
FIG. 40 is a flowchart illustrating details of a region determination process.
41 is a block diagram showing still another configuration of the area specifying unit 101. FIG.
42 is a block diagram illustrating a configuration of a robust unit 361. FIG.
43 is a diagram for explaining motion compensation by a motion compensation unit 381. FIG.
44 is a diagram illustrating motion compensation of the motion compensation unit 381. FIG.
FIG. 45 is a flowchart illustrating an area specifying process.
FIG. 46 is a flowchart illustrating details of robust processing.
47 is a block diagram showing a configuration of the simultaneous detection unit 102. FIG.
48 is a block diagram showing a configuration of an estimated mixture ratio processing unit 401. FIG.
FIG. 49 is a model diagram in which pixel values are developed in a time direction and a period corresponding to a shutter time is divided.
FIG. 50 is a diagram illustrating weighted difference image data.
FIG. 51 is a model diagram in which pixel values are developed in the time direction and a period corresponding to a shutter time is divided.
FIG. 52 is a model diagram in which pixel values are developed in the time direction and a period corresponding to a shutter time is divided.
FIG. 53 is a model diagram in which pixel values are developed in the time direction and a period corresponding to a shutter time is divided.
FIG. 54 is a model diagram in which pixel values are developed in the time direction and a period corresponding to a shutter time is divided.
FIG. 55 is a diagram illustrating weighted difference image correlation data.
FIG. 56 is a diagram illustrating an example of detection of an estimated mixture ratio by a block.
FIG. 57 is a model diagram in which pixel values are developed in the time direction and a period corresponding to a shutter time is divided.
FIG. 58 is a diagram illustrating an example of detection of an estimated mixture ratio by a block.
FIG. 59 is a model diagram in which pixel values are developed in the time direction and a period corresponding to a shutter time is divided.
FIG. 60 is a diagram illustrating an example of detection of an estimated mixture ratio by a block.
FIG. 61 is a model diagram in which pixel values are developed in the time direction and a period corresponding to a shutter time is divided.
[Fig. 62] Fig. 62 is a diagram for explaining a more probable selection of an estimated mixture ratio and an estimated motion vector.
FIG. 63 is a diagram for explaining more probable estimated mixture ratio and estimated motion vector selection;
[Fig. 64] Fig. 64 is a diagram for explaining a more probable estimated mixture ratio and estimated motion vector selection.
FIG. 65 is a diagram illustrating selection of a more probable estimated mixture ratio and estimated motion vector.
FIG. 66 is a diagram illustrating selection of a more probable estimated mixture ratio and estimated motion vector.
67 is a block diagram illustrating another configuration of the simultaneous detection unit 102. FIG.
FIG. 68 is a flowchart illustrating processing for detecting a mixture ratio α and a motion vector.
[Fig. 69] Fig. 69 is a flowchart for describing processing of mixture ratio and motion vector estimation.
[Fig. 70] Fig. 70 is a flowchart for describing other processing of mixture ratio and motion vector estimation.
71 is a block diagram showing another configuration of the estimated mixture ratio processing unit 401. FIG.
FIG. 72 is a model diagram in which pixel values are developed in the time direction and a period corresponding to a shutter time is divided.
[Fig. 73] Fig. 73 is a flowchart for describing yet another process of mixing ratio and motion vector estimation.
74 is a block diagram illustrating an example of a configuration of a foreground / background separator 103. FIG.
FIG. 75 is a diagram illustrating an input image, a foreground component image, and a background component image.
FIG. 76 is a model diagram in which pixel values are developed in a time direction and a period corresponding to a shutter time is divided.
FIG. 77 is a model diagram in which pixel values are developed in the time direction and a period corresponding to a shutter time is divided.
78 is a model diagram in which pixel values are developed in the time direction and a period corresponding to a shutter time is divided. FIG.
79 is a block diagram illustrating an example of a configuration of a separation unit 601. FIG.
FIG. 80 is a diagram illustrating an example of separated foreground component images and background component images.
FIG. 81 is a flowchart for describing foreground and background separation processing;
82 is a block diagram illustrating an example of a configuration of a motion blur adjusting unit 104. FIG.
FIG. 83 is a diagram illustrating a processing unit.
FIG. 84 is a model diagram in which pixel values of a foreground component image are expanded in a time direction and a period corresponding to a shutter time is divided.
FIG. 85 is a model diagram in which pixel values of a foreground component image are developed in a time direction and a period corresponding to a shutter time is divided.
FIG. 86 is a model diagram in which pixel values of a foreground component image are expanded in a time direction and a period corresponding to a shutter time is divided.
87 is a model diagram in which pixel values of a foreground component image are developed in the time direction and a period corresponding to a shutter time is divided. FIG.
88 is a diagram illustrating another configuration of the motion blur adjusting unit 104. FIG.
89 is a flowchart for describing processing for adjusting the amount of motion blur included in the foreground component image by the motion blur adjustment unit 104. FIG.
90 is a block diagram illustrating another example of the configuration of the motion blur adjusting unit 104. FIG.
FIG. 91 is a diagram illustrating an example of a model that designates correspondence between pixel values and foreground components;
FIG. 92 is a diagram illustrating calculation of foreground components.
FIG. 93 is a diagram illustrating calculation of foreground components.
FIG. 94 is a flowchart for describing a process of removing motion blur from a foreground component image.
FIG. 95 is a block diagram illustrating another configuration of the function of the signal processing device.
96 is a diagram showing a configuration of a simultaneous detection unit 1001. FIG.
FIG. 97 is a diagram illustrating a configuration of a foreground / background separation unit 1002. FIG.
98 is a diagram showing a configuration of a motion blur adjusting unit 1003. FIG.
FIG. 99 is a block diagram showing still another configuration of the function of the signal processing device.
100 is a diagram illustrating a configuration of a noise removal unit 1101. FIG.
FIG. 101 is a flowchart for describing noise removal processing;
FIG. 102 is a flowchart for describing noise removal processing of a foreground component image.
[Explanation of symbols]
21 CPU, 22 ROM, 23 RAM, 26 input section, 27 output section, 28 storage section, 29 communication section, 51 magnetic disk, 52 optical disk, 53 magneto-optical disk, 54 semiconductor memory, 101 area specifying section, 102 simultaneous detection section , 103 foreground / background separation unit, 104 motion blur adjustment unit, 105 selection unit, 201 frame memory, 202-1 to 202-4 static motion determination unit, 203-1 to 203-3 region determination unit, 204 determination flag storage frame memory , 205 synthesis unit, 206 determination flag storage frame memory, 301 background image generation unit, 302 binary object image extraction unit, 303 time change detection unit, 321 correlation value calculation unit, 322 threshold processing unit, 341 frame memory, 342 Area determination unit, 361 robust unit, 381 motion compensation unit, 382 switch 383-1 to 383-N frame memory, 384-1 to 384-N weighting unit, 385 integrating unit, 401 estimated mixture ratio processing unit, 402 estimated mixture ratio processing unit, 403 mixture ratio determining unit, 404 motion vector Determination unit, 421 frame memory, 422 weight generation unit, 423 weighted frame difference calculation unit, 424 motion compensation unit, 425 frame memory, 426 motion vector generation unit, 427 correlation value calculation unit, 428 maximum value determination unit, 441 selection unit, 442 selection unit, 461-1 and 461-2 motion compensation unit, 462-1 and 462-2 frame memory, 463 correlation value calculation unit, 464 maximum value determination unit, 601 separation unit, 602 switch, 603 synthesis unit, 604 switch , 605 synthesis unit, 621 frame memory, 622 separation processing block 623 frame memory, 631 uncovered area processing section, 632 covered area processing section, 633 combining section, 634 combining section, 801 processing unit determining section, 802 modeling section, 803 equation generating section, 804 adding section, 805 Calculation unit, 806 motion blur addition unit, 807 selection unit, 821 selection unit, 901 processing unit determination unit, 902 modeling unit, 903 equation generation unit, 904 calculation unit, 905 correction unit, 906 motion blur addition unit, 907 selection unit , 1001 simultaneous detection unit, 1002 foreground / background separation unit, 1003 motion blur adjustment unit, 1021 selection unit, 1041 selection unit, 1101 noise removal unit, 1111-1 through 1111-N frame memory, 1112-1 through 1112-N motion compensation Part, 1113 average pixel value calculation part

Claims (8)

時間積分効果を有する所定数の画素を有する撮像素子によって取得された所定数の画素データからなる画像データを処理する画像処理装置において、
現実世界では複数であるオブジェクトの前記画素データにおける混合状態を示す混合比の値の範囲に対応させて、それぞれ異なる値の複数の重みを生成し、生成した個々の前記重みを示す重み付け情報を生成する重み付け情報生成手段と、
前記画像データの各フレームを注目フレームとして、前記注目フレームに隣接する隣接フレーム所定の画素の画素値に前記重み付け情報で示される前記重みを乗じ、その結果得られる重み付けされた前記所定の画素の画素値と、前記画像データの前記注目フレームの前記所定の画素に対応する画素の画素値差分を算出し、前記注目フレームに対応する重み付け差分画像データとして出力する重み付け差分画像データ算出手段と、
前記重みごとに、大きさまたは角度の異なる複数の動きベクトルを示す動きベクトル情報を生成する動きベクトル情報生成手段と、
前記動きベクトル情報で示される前記動きベクトルに応じて、前記注目フレームの前記重み付け差分画像データと前記隣接フレームの前記重み付け差分画像データとの相対的な位置を合わせて、前記注目フレームの前記重み付け差分画像データの各注目画素を中心とした複数画素の画素値からなる第1の注目ブロックと、前記隣接フレームの前記重み付け差分画像データの前記第1の注目ブロックに対応する複数画素の画素値からなる第1の対応ブロックとの相関を演算し、重み付け差分画像間相関データとして出力する重み付け差分画像間相関データ演算手段と、
前記重み付け差分画像間相関データの複数画素からなる所定の単位毎に、前記重み付け差分画像データ間の相関が最大となる前記重みおよび前記動きベクトルを検出し、検出された前記重みを前記注目フレームの前記単位に対応する前記混合比に設定し、検出された前記動きベクトルを前記注目フレームの前記単位に対応する前記動きベクトルに設定し、前記混合比および前記動きベクトルのうち少なくとも一方を出力する検出手段と
を含むことを特徴とする画像処理装置。
In an image processing apparatus for processing image data composed of a predetermined number of pixel data acquired by an imaging device having a predetermined number of pixels having a time integration effect,
In the real world, a plurality of weights having different values are generated in correspondence with a range of values of the mixture ratio indicating the mixture state in the pixel data of a plurality of objects in the real world, and weight information indicating the generated individual weights is generated. Weighting information generating means for
Using each frame of the image data as a target frame , the pixel value of a predetermined pixel in an adjacent frame adjacent to the target frame is multiplied by the weight indicated by the weight information, and the weighted predetermined pixel obtained as a result A weighted difference image data calculating unit that calculates a difference between a pixel value of the image data and a pixel value of a pixel corresponding to the predetermined pixel of the frame of interest of the image data, and outputs the difference as weighted difference image data corresponding to the frame of interest When,
Motion vector information generating means for generating motion vector information indicating a plurality of motion vectors having different sizes or angles for each of the weights ;
According to the motion vector indicated by the motion vector information, the relative positions of the weighted difference image data of the frame of interest and the weighted difference image data of the adjacent frame are matched, and the weighted difference of the frame of interest A first target block composed of pixel values of a plurality of pixels centered on each target pixel of image data, and a plurality of pixel values corresponding to the first target block of the weighted difference image data of the adjacent frame. A weighted difference image correlation data calculating means for calculating a correlation with the first corresponding block and outputting the correlation data between the weighted difference images;
For each predetermined unit composed of a plurality of pixels of the correlation data between the weighted difference images, the weight and the motion vector that maximize the correlation between the weighted difference image data are detected, and the detected weight is used for the frame of interest. Detection that sets the mixture ratio corresponding to the unit, sets the detected motion vector to the motion vector corresponding to the unit of the frame of interest, and outputs at least one of the mixture ratio and the motion vector And an image processing apparatus.
前記重み付け差分画像データ算出手段は、前記画像データの注目フレームの各注目画素を中心とした複数画素の画素値からなる第2の注目ブロックに対応する前記隣接フレームの複数画素の画素値からなる第2の対応ブロックの各画素値に前記第2の対応ブロック内で一定の前記重みを乗じ、その結果得られる重み付けされた前記第2の対応ブロックと、前記第2の注目ブロック差分を算出し、前記注目画素に対応する重み付け差分画像データとして出力し、
前記重み付け差分画像間相関データ演算手段は、前記動きベクトル情報で示される前記動きベクトルに応じて、前記注目フレームの前記重み付け差分画像データと前記隣接フレームの前記重み付け差分画像データとの相対的な位置を合わせて、前記注目フレームの前記重み付け差分画像データの前記第1の注目ブロックと、前記隣接フレームの前記重み付け差分画像データの前記第1の対応ブロックとの相関を演算し、重み付け差分画像間相関データとして出力する
ことを特徴とする請求項1に記載の画像処理装置。
The weighted difference image data calculation means includes a pixel value of a plurality of pixels of the adjacent frame corresponding to a second block of interest corresponding to a second block of interest consisting of a pixel value of a plurality of pixels centered on each pixel of interest of the target frame of the image data Each pixel value of the two corresponding blocks is multiplied by the constant weight in the second corresponding block, and a difference between the weighted second corresponding block obtained as a result and the second target block is calculated. Calculate and output as weighted difference image data corresponding to the pixel of interest,
The correlation data calculation means between the weighted difference images is a relative position between the weighted difference image data of the frame of interest and the weighted difference image data of the adjacent frame according to the motion vector indicated by the motion vector information. And calculating the correlation between the first block of interest of the weighted difference image data of the frame of interest and the first corresponding block of the weighted difference image data of the adjacent frame, and the correlation between the weighted difference images The image processing apparatus according to claim 1, wherein the image processing apparatus outputs the data.
前記重み付け差分画像データ算出手段は、前記画像データの注目フレームの各注目画素を中心とした複数画素の画素値からなる第2の注目ブロックに対応する前記隣接フレームの複数画素の画素値からなる第2の対応ブロックの各画素値に前記第2の対応ブロック内の画素ごとに異なる前記重みを乗じ、その結果得られる重み付けされた前記第2の対応ブロックと、前記第2の注目ブロックとの差分を算出し、前記注目画素に対応する重み付け差分画像データとして出力し、
前記重み付け差分画像間相関データ演算手段は、前記動きベクトル情報で示される前記動きベクトルに応じて、前記注目フレームの前記重み付け差分画像データと前記隣接フレームの前記重み付け差分画像データとの相対的な位置を合わせて、前記注目フレームの前記重み付け差分画像データの前記第1の注目ブロックと、前記隣接フレームの前記重み付け差分画像データの前記第1の対応ブロックとの相関を演算し、重み付け差分画像間相関データとして出力する
ことを特徴とする請求項1に記載の画像処理装置。
The weighted difference image data calculation means includes a pixel value of a plurality of pixels of the adjacent frame corresponding to a second block of interest corresponding to a second block of interest consisting of a pixel value of a plurality of pixels centered on each pixel of interest of the target frame of the image data Each pixel value of the two corresponding blocks is multiplied by the different weight for each pixel in the second corresponding block, and the resulting weighted second corresponding block and the second block of interest The difference is calculated and output as weighted difference image data corresponding to the target pixel,
The correlation data calculation means between the weighted difference images is a relative position between the weighted difference image data of the frame of interest and the weighted difference image data of the adjacent frame according to the motion vector indicated by the motion vector information. And calculating the correlation between the first block of interest of the weighted difference image data of the frame of interest and the first corresponding block of the weighted difference image data of the adjacent frame, and the correlation between the weighted difference images The image processing apparatus according to claim 1, wherein the image processing apparatus outputs the data.
前記重み付け差分画像データ算出手段は、前記第2の対応ブロックの各画素値に前記第2の対応ブロック内の画素ごとにその画素の位置に対応して連続的に変化する前記重みを乗じ、その結果得られる重み付けされた前記第2の対応ブロックと、前記第2の注目ブロックとの差分を算出し、前記注目画素に対応する重み付け差分画像データとして出力する
ことを特徴とする請求項3に記載の画像処理装置。
It said weighting difference image data calculating means to each pixel value of the second corresponding block, multiplied by the weights continuously changes corresponding to the position of the pixel for each pixel of said second corresponding block, The difference between the weighted second corresponding block obtained as a result and the second target block is calculated, and output as weighted difference image data corresponding to the target pixel. The image processing apparatus described.
前記検出手段は、前記重み付け差分画像データ間の相関が最大となる、前記所定の単位内の各画素に対応する前記重みの連続性を評価することにより、複数の前記重みおよび前記動きベクトルのうち、最も確からしい前記重みおよび前記動きベクトルを検出し、検出された前記重みを前記注目フレームの前記単位に対応する前記混合比に設定し、検出された前記動きベクトルを前記注目フレームの前記単位に対応する前記動きベクトルに設定し、前記混合比および前記動きベクトルのうち少なくとも一方を出力する
ことを特徴とする請求項3に記載の画像処理装置。
The detecting means evaluates the continuity of the weight corresponding to each pixel in the predetermined unit where the correlation between the weighted difference image data is maximized, and thereby, among the plurality of weights and the motion vectors. Detecting the most probable weight and the motion vector, setting the detected weight to the mixing ratio corresponding to the unit of the frame of interest, and setting the detected motion vector as the unit of the frame of interest. The image processing apparatus according to claim 3, wherein the image processing apparatus is set to the corresponding motion vector and outputs at least one of the mixture ratio and the motion vector.
時間積分効果を有する所定数の画素を有する撮像素子によって取得された所定数の画素データからなる画像データを処理する画像処理方法において、
現実世界では複数であるオブジェクトの前記画素データにおける混合状態を示す混合比の値の範囲に対応させて、それぞれ異なる値の複数の重みを生成し、生成した個々の前記重みを示す重み付け情報を生成する重み付け情報生成ステップと、
前記画像データの各フレームを注目フレームとして、前記注目フレームに隣接する隣接フレーム所定の画素の画素値に前記重み付け情報で示される前記重みを乗じ、その結果得られる重み付けされた前記所定の画素の画素値と、前記画像データの前記注目フレームの前記所定の画素に対応する画素の画素値差分を算出し、前記注目フレームに対応する重み付け差分画像データとして出力する重み付け差分画像データ算出ステップと、
前記重みごとに、大きさまたは角度の異なる複数の動きベクトルを示す動きベクトル情報を生成する動きベクトル情報生成ステップと、
前記動きベクトル情報で示される前記動きベクトルに応じて、前記注目フレームの前記重み付け差分画像データと前記隣接フレームの前記重み付け差分画像データとの相対的な位置を合わせて、前記注目フレームの前記重み付け差分画像データの各注目画素を中心とした複数画素の画素値からなる第1の注目ブロックと、前記隣接フレームの前記重み付け差分画像データの前記第1の注目ブロックに対応する複数画素の画素値からなる第1の対応ブロックとの相関を演算し、重み付け差分画像間相関データとして出力する重み付け差分画像間相関データ演算ステップと、
前記重み付け差分画像間相関データの複数画素からなる所定の単位毎に、前記重み付け差分画像データ間の相関が最大となる前記重みおよび前記動きベクトルを検出し、検出された前記重みを前記注目フレームの前記単位に対応する前記混合比に設定し、検出された前記動きベクトルを前記注目フレームの前記単位に対応する前記動きベクトルに設定し、前記混合比および前記動きベクトルのうち少なくとも一方を出力する検出ステップと
を含むことを特徴とする画像処理方法。
In an image processing method for processing image data composed of a predetermined number of pixel data acquired by an imaging device having a predetermined number of pixels having a time integration effect,
In the real world, a plurality of weights having different values are generated in correspondence with a range of values of the mixture ratio indicating the mixture state in the pixel data of a plurality of objects in the real world, and weight information indicating the generated individual weights is generated. A weighting information generation step to perform,
Using each frame of the image data as a target frame , the pixel value of a predetermined pixel in an adjacent frame adjacent to the target frame is multiplied by the weight indicated by the weight information, and the weighted predetermined pixel obtained as a result Calculating a difference between a pixel value of the image data and a pixel value of a pixel corresponding to the predetermined pixel of the target frame of the image data, and outputting the difference as weighted differential image data corresponding to the target frame When,
A motion vector information generating step for generating motion vector information indicating a plurality of motion vectors having different sizes or angles for each of the weights ;
According to the motion vector indicated by the motion vector information, the relative positions of the weighted difference image data of the frame of interest and the weighted difference image data of the adjacent frame are matched, and the weighted difference of the frame of interest A first target block composed of pixel values of a plurality of pixels centered on each target pixel of image data, and a plurality of pixel values corresponding to the first target block of the weighted difference image data of the adjacent frame. Calculating a correlation with the first corresponding block and outputting the correlation data between the weighted difference images as the correlation data between the weighted difference images; and
For each predetermined unit composed of a plurality of pixels of the correlation data between the weighted difference images, the weight and the motion vector that maximize the correlation between the weighted difference image data are detected, and the detected weight is used for the frame of interest. Detection that sets the mixture ratio corresponding to the unit, sets the detected motion vector to the motion vector corresponding to the unit of the frame of interest, and outputs at least one of the mixture ratio and the motion vector An image processing method comprising: steps.
時間積分効果を有する所定数の画素を有する撮像素子によって取得された所定数の画素データからなる画像データを処理するコンピュータに
現実世界では複数であるオブジェクトの前記画素データにおける混合状態を示す混合比の値の範囲に対応させて、それぞれ異なる値の複数の重みを生成し、生成した個々の前記重みを示す重み付け情報を生成する重み付け情報生成ステップと、
前記画像データの各フレームを注目フレームとして、前記注目フレームに隣接する隣接フレーム所定の画素の画素値に前記重み付け情報で示される前記重みを乗じ、その結果得られる重み付けされた前記所定の画素の画素値と、前記画像データの前記注目フレームの前記所定の画素に対応する画素の画素値差分を算出し、前記注目フレームに対応する重み付け差分画像データとして出力する重み付け差分画像データ算出ステップと、
前記重みごとに、大きさまたは角度の異なる複数の動きベクトルを示す動きベクトル情報を生成する動きベクトル情報生成ステップと、
前記動きベクトル情報で示される前記動きベクトルに応じて、前記注目フレームの前記重み付け差分画像データと前記隣接フレームの前記重み付け差分画像データとの相対的な位置を合わせて、前記注目フレームの前記重み付け差分画像データの各注目画素を中心とした複数画素の画素値からなる第1の注目ブロックと、前記隣接フレームの前記重み付け差分画像データの前記第1の注目ブロックに対応する複数画素の画素値からなる第1の対応ブロックとの相関を演算し、重み付け差分画像間相関データとして出力する重み付け差分画像間相関データ演算ステップと、
前記重み付け差分画像間相関データの複数画素からなる所定の単位毎に、前記重み付け差分画像データ間の相関が最大となる前記重みおよび前記動きベクトルを検出し、検出された前記重みを前記注目フレームの前記単位に対応する前記混合比に設定し、検出された前記動きベクトルを前記注目フレームの前記単位に対応する前記動きベクトルに設定し、前記混合比および前記動きベクトルのうち少なくとも一方を出力する検出ステップと
実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
In a computer that processes image data consisting of a predetermined number of pixel data acquired by an image sensor having a predetermined number of pixels having a time integration effect,
In the real world, a plurality of weights having different values are generated in correspondence with a range of values of the mixture ratio indicating the mixture state in the pixel data of a plurality of objects in the real world, and weight information indicating the generated individual weights is generated. A weighting information generation step to perform,
Using each frame of the image data as a target frame , the pixel value of a predetermined pixel in an adjacent frame adjacent to the target frame is multiplied by the weight indicated by the weight information, and the weighted predetermined pixel obtained as a result Calculating a difference between a pixel value of the image data and a pixel value of a pixel corresponding to the predetermined pixel of the target frame of the image data, and outputting the difference as weighted differential image data corresponding to the target frame When,
A motion vector information generating step for generating motion vector information indicating a plurality of motion vectors having different sizes or angles for each of the weights ;
According to the motion vector indicated by the motion vector information, the relative positions of the weighted difference image data of the frame of interest and the weighted difference image data of the adjacent frame are matched, and the weighted difference of the frame of interest A first target block composed of pixel values of a plurality of pixels centered on each target pixel of image data, and a plurality of pixel values corresponding to the first target block of the weighted difference image data of the adjacent frame. Calculating a correlation with the first corresponding block and outputting the correlation data between the weighted difference images as the correlation data between the weighted difference images; and
For each predetermined unit composed of a plurality of pixels of the correlation data between the weighted difference images, the weight and the motion vector that maximize the correlation between the weighted difference image data are detected, and the detected weight is used for the frame of interest. Detection that sets the mixture ratio corresponding to the unit, sets the detected motion vector to the motion vector corresponding to the unit of the frame of interest, and outputs at least one of the mixture ratio and the motion vector A computer-readable recording medium on which a program for executing steps is recorded .
時間積分効果を有する所定数の画素を有する撮像素子によって取得された所定数の画素データからなる画像データを処理するコンピュータに、
現実世界では複数であるオブジェクトの前記画素データにおける混合状態を示す混合比の値の範囲に対応させて、それぞれ異なる値の複数の重みを生成し、生成した個々の前記重みを示す重み付け情報を生成する重み付け情報生成ステップと、
前記画像データの各フレームを注目フレームとして、前記注目フレームに隣接する隣接フレーム所定の画素の画素値に前記重み付け情報で示される前記重みを乗じ、その結果得られる重み付けされた前記所定の画素の画素値と、前記画像データの前記注目フレームの前記所定の画素に対応する画素の画素値差分を算出し、前記注目フレームに対応する重み付け差分画像データとして出力する重み付け差分画像データ算出ステップと、
前記重みごとに、大きさまたは角度の異なる複数の動きベクトルを示す動きベクトル情報を生成する動きベクトル情報生成ステップと、
前記動きベクトル情報で示される前記動きベクトルに応じて、前記注目フレームの前記重み付け差分画像データと前記隣接フレームの前記重み付け差分画像データとの相対的な位置を合わせて、前記注目フレームの前記重み付け差分画像データの各注目画素を中心とした複数画素の画素値からなる第1の注目ブロックと、前記隣接フレームの前記重み付け差分画像データの前記第1の注目ブロックに対応する複数画素の画素値からなる第1の対応ブロックとの相関を演算し、重み付け差分画像間相関データとして出力する重み付け差分画像間相関データ演算ステップと、
前記重み付け差分画像間相関データの複数画素からなる所定の単位毎に、前記重み付け差分画像データ間の相関が最大となる前記重みおよび前記動きベクトルを検出し、検出された前記重みを前記注目フレームの前記単位に対応する前記混合比に設定し、検出された前記動きベクトルを前記注目フレームの前記単位に対応する前記動きベクトルに設定し、前記混合比および前記動きベクトルのうち少なくとも一方を出力する検出ステップと
を実行させるプログラム。
In a computer that processes image data consisting of a predetermined number of pixel data acquired by an imaging device having a predetermined number of pixels having a time integration effect,
In the real world, a plurality of weights having different values are generated in correspondence with a range of values of the mixture ratio indicating the mixture state in the pixel data of a plurality of objects in the real world, and weight information indicating the generated individual weights is generated. A weighting information generation step to perform,
Using each frame of the image data as a target frame , the pixel value of a predetermined pixel in an adjacent frame adjacent to the target frame is multiplied by the weight indicated by the weight information, and the weighted predetermined pixel obtained as a result Calculating a difference between a pixel value of the image data and a pixel value of a pixel corresponding to the predetermined pixel of the target frame of the image data, and outputting the difference as weighted differential image data corresponding to the target frame When,
A motion vector information generating step for generating motion vector information indicating a plurality of motion vectors having different sizes or angles for each of the weights ;
According to the motion vector indicated by the motion vector information, the relative positions of the weighted difference image data of the frame of interest and the weighted difference image data of the adjacent frame are matched, and the weighted difference of the frame of interest A first target block composed of pixel values of a plurality of pixels centered on each target pixel of image data, and a plurality of pixel values corresponding to the first target block of the weighted difference image data of the adjacent frame. Calculating a correlation with the first corresponding block and outputting the correlation data between the weighted difference images as the correlation data between the weighted difference images; and
For each predetermined unit composed of a plurality of pixels of the correlation data between the weighted difference images, the weight and the motion vector that maximize the correlation between the weighted difference image data are detected, and the detected weight is used for the frame of interest. Detection that sets the mixture ratio corresponding to the unit, sets the detected motion vector to the motion vector corresponding to the unit of the frame of interest, and outputs at least one of the mixture ratio and the motion vector A program that executes steps and.
JP2001189198A 2001-06-05 2001-06-22 Image processing apparatus and method, recording medium, and program Expired - Fee Related JP4596218B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2001189198A JP4596218B2 (en) 2001-06-22 2001-06-22 Image processing apparatus and method, recording medium, and program
US10/343,675 US7139019B2 (en) 2001-06-05 2002-05-24 Image processing device
PCT/JP2002/005045 WO2002099753A1 (en) 2001-06-05 2002-05-24 Image processor
CNB028025261A CN1251148C (en) 2001-06-05 2002-05-24 Image processor
KR1020037001610A KR100924401B1 (en) 2001-06-05 2002-05-24 Image processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001189198A JP4596218B2 (en) 2001-06-22 2001-06-22 Image processing apparatus and method, recording medium, and program

Publications (2)

Publication Number Publication Date
JP2003006651A JP2003006651A (en) 2003-01-10
JP4596218B2 true JP4596218B2 (en) 2010-12-08

Family

ID=19028156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001189198A Expired - Fee Related JP4596218B2 (en) 2001-06-05 2001-06-22 Image processing apparatus and method, recording medium, and program

Country Status (1)

Country Link
JP (1) JP4596218B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4596217B2 (en) * 2001-06-22 2010-12-08 ソニー株式会社 Image processing apparatus and method, recording medium, and program
JP4596219B2 (en) * 2001-06-25 2010-12-08 ソニー株式会社 Image processing apparatus and method, recording medium, and program
JP4596225B2 (en) * 2001-06-27 2010-12-08 ソニー株式会社 Image processing apparatus and method, recording medium, and program
JP4596220B2 (en) * 2001-06-26 2010-12-08 ソニー株式会社 Image processing apparatus and method, recording medium, and program
JP5245783B2 (en) 2008-12-09 2013-07-24 富士通株式会社 Frame interpolation device, method and program, frame rate conversion device, video playback device, video display device

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0362692A (en) * 1989-04-27 1991-03-18 Sony Corp Moving compensation video signal standard converter
JPH07336688A (en) * 1994-06-06 1995-12-22 Nippon Hoso Kyokai <Nhk> Uncoveered area detecting method
JPH10164436A (en) * 1996-12-04 1998-06-19 Sony Corp Device and method for detecting contour and generating key signal
JP2000030040A (en) * 1998-07-14 2000-01-28 Canon Inc Image processor and computer readable recording medium
JP2001250119A (en) * 1999-12-28 2001-09-14 Sony Corp Device and method for signal processing and recording medium
JP2002190016A (en) * 2000-12-21 2002-07-05 Sony Corp Signal processor, method and recording medium
JP2002190015A (en) * 2000-12-21 2002-07-05 Sony Corp Device and method for processing image, and recording medium
JP2002190028A (en) * 2000-12-21 2002-07-05 Sony Corp Device and method for processing signal, and recording medium
JP2002366949A (en) * 2001-06-05 2002-12-20 Sony Corp Device and method for processing image, recording medium and program
JP2002373338A (en) * 2001-06-15 2002-12-26 Sony Corp Device and method for processing image, recording medium and program
JP2002373335A (en) * 2001-06-15 2002-12-26 Sony Corp Device and method for processing image, recording medium and program
JP2002373336A (en) * 2001-06-15 2002-12-26 Sony Corp Device and method for processing image, recording medium and program
JP2002373330A (en) * 2001-06-15 2002-12-26 Sony Corp Device and method for processing image, recording medium and program
JP2002373339A (en) * 2001-06-15 2002-12-26 Sony Corp Device and method for processing image, recording medium and program
JP2002373337A (en) * 2001-06-15 2002-12-26 Sony Corp Device and method for processing image, recording medium and program
JP2003006656A (en) * 2001-06-22 2003-01-10 Sony Corp Image processor and method for processing image, recording medium and program
JP2003006658A (en) * 2001-06-19 2003-01-10 Sony Corp Image processor and method for processing image, recording medium and program

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0362692A (en) * 1989-04-27 1991-03-18 Sony Corp Moving compensation video signal standard converter
JPH07336688A (en) * 1994-06-06 1995-12-22 Nippon Hoso Kyokai <Nhk> Uncoveered area detecting method
JPH10164436A (en) * 1996-12-04 1998-06-19 Sony Corp Device and method for detecting contour and generating key signal
JP2000030040A (en) * 1998-07-14 2000-01-28 Canon Inc Image processor and computer readable recording medium
JP2001250119A (en) * 1999-12-28 2001-09-14 Sony Corp Device and method for signal processing and recording medium
JP2002190016A (en) * 2000-12-21 2002-07-05 Sony Corp Signal processor, method and recording medium
JP2002190015A (en) * 2000-12-21 2002-07-05 Sony Corp Device and method for processing image, and recording medium
JP2002190028A (en) * 2000-12-21 2002-07-05 Sony Corp Device and method for processing signal, and recording medium
JP2002366949A (en) * 2001-06-05 2002-12-20 Sony Corp Device and method for processing image, recording medium and program
JP2002373338A (en) * 2001-06-15 2002-12-26 Sony Corp Device and method for processing image, recording medium and program
JP2002373335A (en) * 2001-06-15 2002-12-26 Sony Corp Device and method for processing image, recording medium and program
JP2002373336A (en) * 2001-06-15 2002-12-26 Sony Corp Device and method for processing image, recording medium and program
JP2002373330A (en) * 2001-06-15 2002-12-26 Sony Corp Device and method for processing image, recording medium and program
JP2002373339A (en) * 2001-06-15 2002-12-26 Sony Corp Device and method for processing image, recording medium and program
JP2002373337A (en) * 2001-06-15 2002-12-26 Sony Corp Device and method for processing image, recording medium and program
JP2003006658A (en) * 2001-06-19 2003-01-10 Sony Corp Image processor and method for processing image, recording medium and program
JP2003006656A (en) * 2001-06-22 2003-01-10 Sony Corp Image processor and method for processing image, recording medium and program

Also Published As

Publication number Publication date
JP2003006651A (en) 2003-01-10

Similar Documents

Publication Publication Date Title
JP4596202B2 (en) Image processing apparatus and method, and recording medium
JP4729812B2 (en) Image processing apparatus and method, recording medium, and program
JP4596220B2 (en) Image processing apparatus and method, recording medium, and program
JP4596224B2 (en) Image processing apparatus and method, recording medium, and program
JP4596222B2 (en) Image processing apparatus and method, recording medium, and program
JP4596203B2 (en) Image processing apparatus and method, recording medium, and program
KR100843815B1 (en) Image processing apparatus and method
JP4596221B2 (en) Image processing apparatus and method, recording medium, and program
JP4106874B2 (en) Image processing apparatus and method, and recording medium
JP4596223B2 (en) Image processing apparatus and method, recording medium, and program
KR100875780B1 (en) Image processing apparatus and method, and imaging device
JP4840630B2 (en) Image processing apparatus and method, recording medium, and program
JP4596214B2 (en) Image processing apparatus and method, recording medium, and program
WO2003001453A1 (en) Image processing apparatus and method, and image pickup apparatus
JP4596217B2 (en) Image processing apparatus and method, recording medium, and program
JP4596215B2 (en) Image processing apparatus and method, recording medium, and program
JP4150949B2 (en) Image processing apparatus and method, recording medium, and program
JP4596209B2 (en) Image processing apparatus and method, recording medium, and program
JP4596218B2 (en) Image processing apparatus and method, recording medium, and program
JP4596225B2 (en) Image processing apparatus and method, recording medium, and program
JP4596205B2 (en) Image processing apparatus and method, and program
KR100895744B1 (en) Image processing apparatus, method and recording medium, and image pickup apparatus
JP4325252B2 (en) Image processing apparatus and method, recording medium, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100707

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100826

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100908

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131001

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees