JP4868236B2 - 画像処理装置と画像処理方法および画像処理プログラム - Google Patents
画像処理装置と画像処理方法および画像処理プログラム Download PDFInfo
- Publication number
- JP4868236B2 JP4868236B2 JP2006549087A JP2006549087A JP4868236B2 JP 4868236 B2 JP4868236 B2 JP 4868236B2 JP 2006549087 A JP2006549087 A JP 2006549087A JP 2006549087 A JP2006549087 A JP 2006549087A JP 4868236 B2 JP4868236 B2 JP 4868236B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- pixel
- motion
- processing
- pixel value
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 6
- 239000013598 vector Substances 0.000 claims abstract description 257
- 238000000034 method Methods 0.000 claims description 55
- 230000008569 process Effects 0.000 claims description 44
- 230000010354 integration Effects 0.000 claims description 21
- 230000002093 peripheral effect Effects 0.000 claims description 17
- 238000004519 manufacturing process Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 46
- 230000014509 gene expression Effects 0.000 description 23
- 239000011159 matrix material Substances 0.000 description 22
- 230000000694 effects Effects 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 16
- 238000000605 extraction Methods 0.000 description 14
- 239000000284 extract Substances 0.000 description 12
- 230000003068 static effect Effects 0.000 description 12
- 238000001514 detection method Methods 0.000 description 11
- 239000000203 mixture Substances 0.000 description 8
- 238000003384 imaging method Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 102100036848 C-C motif chemokine 20 Human genes 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 101100379079 Emericella variicolor andA gene Proteins 0.000 description 1
- 240000004050 Pentaglottis sempervirens Species 0.000 description 1
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6811—Motion detection based on the image signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/684—Vibration or motion blur correction performed by controlling the image sensor readout, e.g. by controlling the integration time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20201—Motion blur correction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/21—Circuitry for suppressing or minimising disturbance, e.g. moiré or halo
- H04N5/213—Circuitry for suppressing or minimising impulsive noise
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Picture Signal Circuits (AREA)
Description
【0001】
この発明は、画像処理装置と画像処理方法および画像処理プログラムに関する。詳しくは、注目画像の動きボケ除去を行い、動きボケ除去された画像に対して画素単位で視点動きベクトルに応じて動きボケが付加されて、この動きボケが付加された動きボケ付加注目画像が視点動きベクトルに応じて移動されるものである。
【背景技術】
【0002】
従来より、現実世界における事象を、センサを用いてデータ化することが行われている。このセンサを用いて取得されたデータは、現実世界の情報(例えば、光)が、現実世界より低い次元の時空間に射影して得られた情報である。このため、射影して得られた情報は、射影により発生する歪みを有している。例えば、静止している背景の前で移動する物体をビデオカメラで撮像して画像信号としてデータ化する場合、現実世界の情報をサンプリングしてデータ化することから、画像信号に基づいて表示される画像では、射影により発生する歪みとして、動いている物体がボケてしまう動きボケが生じる。
【0003】
このため、特開2001−250119号公報(対応米国出願番号:09/830858、対応欧州特許公開番号:EP1164545)で開示されているように、例えば、入力画像に含まれる前景のオブジェクトに対応する画像オブジェクトの輪郭を検出することで、前景のオブジェクトに対応する画像オブジェクトを粗く抽出し、この粗く抽出された前景のオブジェクトに対応する画像オブジェクトの動きベクトルを検出して、検出した動きベクトルおよび動きベクトルの位置情報を用いて動きボケの除去が行われている。
【0004】
また、センサを用いて取得されたデータから任意視点画像の生成も従来より行われている。この任意視点画像の生成においては、視点位置の動きベクトルを検出して、画面全体を動きベクトルの動き方向とは逆方向に動き量分だけ移動することにより、視点の位置を固定した画像表示が可能となる。例えば、撮像装置の向きを固定して撮像動作を行ったとき、撮像装置で得られた画像信号に基づいて撮像画像を表示すると、動いている被写体が画面上で移動した画像となる。ここで、動いている被写体を視点位置とした画像を生成する場合、動いている被写体の動きベクトルを検出して、この動きベクトルの動き方向とは逆方向に動き量分だけ画面全体を移動すると、動いている被写体が画面上で固定された位置に表示された画像を得ることができる。
【発明の開示】
【0005】
ところで、上述のようにして視点の位置を固定した画像表示を行う場合、視点の位置に生じている動きボケ量については何ら変更されないことから、視点の位置は固定されているが動きボケが生じたままの画像が表示されることとなり、動きのある被写体を追従して撮像を行ったように動きボケのない画像表示を行うことはできない。
【0006】
また、動きボケ除去処理を用いることで、動きのある被写体の動きボケ除去を行っても、動きのない例えば背景部分は、動きボケが生じていないことから、動きのある被写体を追従して撮像を行ったように背景部分に動きボケを生じた画像を得ることができない。
【0007】
この発明に係る画像処理装置は、注目画像内の画素単位で第1の動きベクトルを設定する動きベクトル設定部と、注目画像の時間間隔と露光時間との比率である露光時間比率を画像単位で設定する露光時間比率設定部と、動きベクトル設定部により画素単位で設定された第1の動きベクトルと、露光時間比率設定部により設定された露光時間比率に基づいて、画素単位で動きボケ量を設定する動きボケ量設定部と、動きボケ量設定部により設定された動きボケ量および第1の動きベクトルに対応する動き方向に基づき、注目画像内の注目画素に対する処理領域を設定する処理領域設定部と、動きボケ量設定部により設定された動きボケ量に基づき、特定の処理係数を設定するか、あるいは注目画素の動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定部と、処理領域内の画素に対応する画素値から動き方向に応じて生成された新たな処理用の画素値と、処理係数設定部により設定された特定の処理係数との線形結合、あるいは処理領域内の画素に対応する画素値と動きボケ量と動き方向に応じて設定された処理係数の線形結合により、注目画素に対応する画素値を生成する画素値生成部と、入力された第2の動きベクトルと、第1の動きベクトルに基づき、画素単位で、画素値生成部により生成された画素値からなる画像に対して動きボケを付加する動きボケ付加部と、動きボケ付加部により動きボケ付加された動きボケ付加注目画像を、第2の動きベクトルと対向するベクトルに沿って移動する画像移動部とを備えるものである。
【0008】
また、予測する注目画像内の注目画素を設定する注目画素設定部と、入力された注目画素が含まれる画像に対応する動きベクトルを設定する動きベクトル設定部と、注目画素の空間位置と略同じ周辺画像内の画素が含まれる処理領域を設定する処理領域設定部と、動きベクトルに対応する動きボケ量に基づき、特定の処理係数を設定するか、あるいは動きベクトルに対応する動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定部と、処理領域内の画素に対応する画素値から動き方向に応じて生成された新たな処理用の画素値と、処理係数設定部により設定された特定の処理係数との線形結合、あるいは処理領域内の画素に対応する画素値と動きボケ量と動き方向に応じて設定された処理係数の線形結合により、注目画素に対応する画素値を生成する画素値生成部と、画素値生成部により生成された画素値からなる処理画像を、入力された動きベクトルと対向するベクトルに沿って移動する画像移動部とを有するものである。
【0009】
この発明に係る画像処理方法は、注目画像内の画素単位で第1の動きベクトルを設定する動きベクトル設定工程と、注目画像の時間間隔と露光時間との比率である露光時間比率を画像単位で設定する露光時間比率設定工程と、動きベクトル設定工程により画素単位で設定された第1の動きベクトルと、露光時間比率設定工程により設定された露光時間比率に基づいて、画素単位で動きボケ量を設定する動きボケ量設定工程と、動きボケ量設定工程により設定された動きボケ量および第1の動きベクトルに対応する動き方向に基づき、注目画像内の注目画素に対する処理領域を設定する処理領域設定工程と、動きボケ量設定工程により設定された動きボケ量に基づき、特定の処理係数を設定するか、あるいは注目画素の動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定工程と、処理領域内の画素に対応する画素値から動き方向に応じて生成された新たな処理用の画素値と、処理係数設定工程により設定された特定の処理係数との線形結合、あるいは処理領域内の画素に対応する画素値と動きボケ量と動き方向に応じて設定された処理係数の線形結合により、注目画素に対応する画素値を生成する画素値生成工程と、入力された第2の動きベクトルと、第1の動きベクトルに基づき、画素単位で、画素値生成工程により生成された画素値からなる画像に対して動きボケを付加する動きボケ付加工程と、動きボケ付加工程により動きボケ付加された動きボケ付加注目画像を、第2の動きベクトルと対向するベクトルに沿って移動する画像移動工程とを備えるものである。
【0010】
また、予測する注目画像内の注目画素を設定する注目画素設定工程と、入力された注目画素が含まれる画像に対応する動きベクトルを設定する動きベクトル設定工程と、注目画素の空間位置と略同じ周辺画像内の画素が含まれる処理領域を設定する処理領域設定工程と、動きベクトルに対応する動きボケ量に基づき、特定の処理係数を設定するか、あるいは動きベクトルに対応する動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定工程と、処理領域内の画素に対応する画素値から動き方向に応じて生成された新たな処理用の画素値と、処理係数設定工程により設定された特定の処理係数との線形結合、あるいは処理領域内の画素に対応する画素値と動きボケ量と動き方向に応じて設定された処理係数の線形結合により、注目画素に対応する画素値を生成する画素値生成工程と、画素値生成工程により生成された画素値からなる処理画像を、入力された動きベクトルと対向するベクトルに沿って移動する画像移動工程とを有するものである。
【0011】
この発明に係る画像処理プログラムは、コンピュータに、注目画像内の画素単位で第1の動きベクトルを設定する動きベクトル設定ステップと、注目画像の時間間隔と露光時間との比率である露光時間比率を画像単位で設定する露光時間比率設定ステップと、動きベクトル設定ステップにより画素単位で設定された第1の動きベクトルと、露光時間比率設定ステップにより設定された露光時間比率に基づいて、画素単位で動きボケ量を設定する動きボケ量設定ステップと、動きボケ量設定ステップにより設定された動きボケ量および第1の動きベクトルに対応する動き方向に基づき、注目画像内の注目画素に対する処理領域を設定する処理領域設定ステップと、動きボケ量設定ステップにより設定された動きボケ量に基づき、特定の処理係数を設定するか、あるいは注目画素の動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定ステップと、処理領域内の画素に対応する画素値から動き方向に応じて生成された新たな処理用の画素値と、処理係数設定ステップにより設定された特定の処理係数との線形結合、あるいは処理領域内の画素に対応する画素値と、動きボケ量と動き方向に応じて設定された処理係数の線形結合により、注目画素に対応する画素値を生成する画素値生成ステップと、入力された第2の動きベクトルと、第1の動きベクトルに基づき、画素単位で、画素値生成ステップにより生成された画素値からなる画像に対して動きボケを付加する動きボケ付加ステップと、動きボケ付加ステップにより動きボケ付加された動きボケ付加注目画像を、第2の動きベクトルと対向するベクトルに沿って移動する画像移動ステップとを実行させるものである。
【0012】
また、コンピュータに、予測する注目画像内の注目画素を設定する注目画素設定ステップと、入力された注目画素が含まれる画像に対応する動きベクトルを設定する動きベクトル設定ステップと、注目画素の空間位置と同じ周辺画像内の画素が含まれる処理領域を設定する処理領域設定ステップと、動きベクトルに対応する動きボケ量に基づき、特定の処理係数を設定するか、あるいは動きベクトルに対応する動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定ステップと、処理領域内の画素に対応する画素値から動き方向に応じて生成された新たな処理用の画素値と、処理係数設定ステップにより設定された特定の処理係数との線形結合、あるいは処理領域内の画素に対応する画素値と、動きボケ量と動き方向に応じて設定された処理係数の線形結合により、注目画素に対応する画素値を生成する画素値生成ステップと、画素値生成ステップにより生成された画素値からなる処理画像を、入力された動きベクトルと対向するベクトルに沿って移動する画像移動ステップとを実行させるものである。
【0013】
この発明においては、注目画像の時間間隔と露光時間との比率である露光時間比率が画像単位で設定されて、この露光時間比率と、注目画像内の画素単位で設定された第1の動きベクトルに基づいて動きボケ量が画素単位で設定される。この動きボケ量および第1の動きベクトルに基づき、注目画像内の注目画素に対する処理領域が設定される。またこの動きボケ量や動きボケ量と動き方向に応じた処理係数が設定されて、処理領域内の画素に対応する画素値と設定された処理係数とにより、注目画素に対応する画素値が生成される。また、画像毎に注目画素に対応する画素値の生成が行われて、生成された画素値が統合処理されて単一の画素値とされる。この単一の画素値からなる画像に対して、入力された第2の動きベクトルと第1の動きベクトルや露光時間比率に基づき動きボケが付加されて、動きボケ付加された動きボケ付加注目画像が第2の動きベクトルと対向するベクトルに沿って移動される。
【0014】
さらに、注目画像の時間的に前後である周辺画像に対して動きボケ付加された動きボケ付加周辺画像や固定値あるいは動きボケ付加注目画像が移動することにより画枠外となる画像を用いて、動きボケ付加注目画像が提示されるときに画素値がない部分の補間を行い提示画像が形成される。また、注目画像よりも大きいフレームメモリを設けて、第2の動きベクトルと対向するベクトルに沿って移動された動きボケ付加注目画像を、注目画像の画枠から外れた画素値も含めて順次記憶される。
【発明の効果】
【0015】
この発明によれば、注目画像の時間間隔と露光時間との比率である露光時間比率が画像単位で設定されて、この露光時間比率と、注目画像内の画素単位で設定された第1の動きベクトルに基づいて動きボケ量が画素単位で設定される。この動きボケ量および第1の動きベクトルに基づき、注目画像内の注目画素に対する処理領域が設定される。またこの動きボケ量や動きボケ量と動き方向に応じた処理係数が設定されて、処理領域内の画素に対応する画素値と設定された処理係数とにより、注目画素に対応する画素値が生成される。さらに、入力された第2の動きベクトルと第1の動きベクトルに基づき動きボケが付加されて、動きボケ付加された動きボケ付加注目画像が第2の動きベクトルと対向するベクトルに沿って移動される。
【0016】
このため、画像センサによる歪みを受けた画像信号から、歪みを除いた実世界情報を示す画像信号が生成されて、この実世界情報を外部から与えた第2の動きベクトルに基づく視点で、あたかももう一度画像を撮像しなおしたような画像を再構築することができる。また、視点を画面中の動きベクトルから一番主要なものというように設定することによって、カメラの視点ではなくあたかも俯瞰しなおしたような画像を再構築することが可能になる。
【0017】
また、露光時間比率に応じて動きボケが付加されることから、シャッタ動作を行った場合であっても、シャッタ動作に応じた動きボケを付加することができる。さらに、画像移動手段によって動きボケ付加注目画像が移動されて画素値が存在しない部分が生じても、この部分の補間が行われて提示画像が形成される。例えば、注目画像の時間的に前後である周辺画像に対して動きボケ付加された動きボケ付加周辺画像を記憶して、画素値がない部分は動きボケ付加周辺画像から画素値を取得して動きボケ付加注目画像の周辺が補間される。あるいは画素値が存在しない部分の画素値が固定値に設定される。または、動きボケ付加注目画像を移動したとき画枠外となる画素の画素値を折り返し、画素値が存在しない部分に割り当てる。このように補間を行うことで、画素値が存在しない部分にノイズ画像等が表示されてしまうことを防止できる。
【0018】
さらに、注目画像よりも大きいフレームメモリが設けられて、第2の動きベクトルと対向するベクトルに沿って移動された動きボケ付加注目画像のうち注目画像の画枠から外れた画素値もフレームメモリに順次記憶されるので、フレームメモリに記憶された画像を表示画像サイズに対応して縮小表示することで、画枠から外れてしまう画像も表示できる。
【0019】
また、画像毎の注目画素に対応する画素値が生成されて、生成された画素値が統合処理されて単一の画素値として出力されるので、例えば時間方向の複数の画像を用いて単一の画素値を出力できるので、実世界情報の時間方向に対する定常性を利用して、動きボケ除去を精度良く行うことができる。
【0020】
さらに、予測する注目画像内の注目画素と、入力された注目画素が含まれる画像に対応する動きベクトルと、注目画素の空間位置と同じ周辺画像内の画素が含まれる処理領域と、動きベクトルに基づき処理係数が設定されて、処理領域内の画素に対応する画素値と処理係数とにより、注目画素に対応する画素値が生成されて、この生成された画素値からなる処理画像が入力された動きベクトルと対向するベクトルに沿って移動される。
【0021】
このため、ノーシャッタ動作時には、画素毎の動きベクトルを用いることなく、歪みを除いた実世界情報を示す画像信号を簡易に生成することができ、この実世界情報を外部から与えた動きベクトルでの視点に対して、あたかもその視点でもう一度画像を撮像しなおしたような画像を再構築することができる。
【発明を実施するための最良の形態】
【0022】
以下、図を参照しながら、この発明の実施の形態について説明する。図1は、本発明を適用するシステムの構成を示すブロック図である。画像センサ10は現実社会を撮像した画像信号DVaを生成して画像処理装置20に供給する。画像処理装置20は、供給された入力画像の画像信号DVaに埋もれてしまった情報の抽出を行い、埋もれてしまった情報を抽出した画像信号DVoutを生成して出力する。なお、画像処理装置20は、外部から供給された種々の情報ETを用いて、画像信号DVaに埋もれてしまった情報の抽出を行うこともできるようになされている。
【0023】
画像センサ10は、固体撮像素子であるCCD(Charge-Coupled Device)エリアセンサやMOSエリアセンサを備えたビデオカメラなどで構成されており、現実社会を撮像する。例えば、図2に示すように、画像センサ10と背景に対応するオブジェクトOBbとの間を、前景に対応する動きオブジェクトOBfが矢印A方向に移動するとき、画像センサ10は、前景に対応する動きオブジェクトOBfを背景に対応するオブジェクトOBbと共に撮像する。
【0024】
この画像センサ10の検出素子は、露光時間に対応する期間、入力された光を電荷に変換して、光電変換された電荷を蓄積する。電荷の量は、入力された光の強さと、光が入力されている時間にほぼ比例する。検出素子は、露光時間に対応する期間において、入力された光から変換された電荷を、既に蓄積されている電荷に加えていく。すなわち、検出素子は、露光時間に対応する期間、入力される光を積分して、積分された光に対応する量の電荷を蓄積する。検出素子は、時間に対して、積分効果があるとも言える。このように、画像センサで光電変換を行い、入力された光を画素単位で電荷に変換して露光時間単位で蓄積する。この蓄積された電荷量に応じて画素信号を生成して、この画素信号を用いて所望のフレームレートの画像信号を生成して画像処理装置に供給する。なお、画像センサの露光時間は、上述のように画像センサが入力された光を電荷に変換して検出素子にその電荷を蓄積する期間であり、シャッタ動作が行われていないときは画像時間間隔(1フレーム期間)と等しいものである。また、シャッタ動作が行われるときはシャッタ開時間と等しいものである。
【0025】
図3Aと図3Bは、画像信号で示される撮像画像を説明するための図である。図3Aは、動いている前景に対応する動きオブジェクトOBfと、静止している背景に対応するオブジェクトOBbとを撮像して得られる画像を示している。なお、前景に対応する動きオブジェクトOBfは、矢印A方向に水平移動しているものとする。
【0026】
図3Bは、図3Aに示すように矢印A方向に伸びたラインL(破線で示す)の位置での画像と時間の関係を示している。動きオブジェクトOBfのラインLにおける移動方向の長さが例えば9画素分であり、1露光時間中に5画素移動する場合、フレーム期間開始時に画素位置P21にあった前端と画素位置P13にあった後端は、それぞれ画素位置P25,P17で露光時間の終了となる。また、シャッタ動作が行われていないとき、1フレームにおける露光時間は1フレーム期間と等しいことから、次のフレーム期間開始時に前端が画素位置P26、後端が画素位置P18となる。
【0027】
このため、ラインLのフレーム期間において、画素位置P12までと画素位置P26からは、背景成分のみの背景領域となる。また、画素位置P17〜P21は、前景成分のみの前景領域となる。画素位置P13〜P16と画素位置P22〜P25は、背景成分と前景成分が混合された混合領域となる。混合領域は、時間の経過に対応して背景成分が前景に覆い隠されるカバードバックグランド領域と、時間の経過に対応して背景成分が現れるアンカバードバックグランド領域に分類される。なお、図3Bでは、前景のオブジェクトOBfの進行方向前端側に位置する混合領域がカバードバックグランド領域、後端側に位置する混合領域がアンカバードバックグランド領域となる。このように、画像信号には、前景領域、背景領域、またはカバードバックグランド領域若しくはアンカバードバックグランド領域を含む画像が含まれることとなる。
【0028】
ここで、画像時間間隔は短時間であり、前景に対応する動きオブジェクトOBfは剛体であって等速に移動していると仮定して、ラインLにおける画素値の時間方向分割動作を図4に示すように行う。この時間方向分割動作では、画素値を時間方向に展開して仮想分割数で等時間間隔に分割する。なお、図4において縦方向は時間に対応し、図中の上から下に向かって時間が経過することを示している。
【0029】
仮想分割数は、動きオブジェクトの画像時間間隔での動き量vなどに対応して設定する。例えば、1フレーム期間内の動き量vが上述のように5画素であるときは、動き量vに対応して仮想分割数を「5」に設定して、1フレーム期間を等時間間隔で5分割する。
【0030】
また、背景に対応するオブジェクトOBbを撮像したときに得られる画素位置Pxの1フレーム期間の画素値をBx、ラインLにおける長さが9画素分である前景に対応する動きオブジェクトOBfを静止させて撮像したときに、各画素で得られる画素値をF09(前端側)〜F01(後端側)とする。
【0031】
この場合、例えば画素位置P14の画素値DP14は、式(1)で表される。
【0032】
DP14=B14/v+B14/v+B14/v+F01/v+F02/v ・・・(1)
この画素位置P14では、背景の成分を3仮想分割時間(フレーム期間/v)含み、前景成分を2仮想分割時間含むので、画素値に対する背景成分の混合比αは(3/5)となる。同様に、例えば画素位置P22では、背景の成分を1仮想分割時間含み、前景成分を4仮想分割時間含むので、混合比αは(1/5)となる。
【0033】
また、シャッタ動作が行われて、1フレーム期間に対する露光時間の比率を示す露光時間比率が変化されたとき、例えば、露光時間比率が「3/5」であるときは、図5に示すように、1フレーム期間における画素値の時間方向分割動作を行い、画素値を露光時間比率に応じた仮想分割数で等時間間隔に分割する。
【0034】
仮想分割数は、動きオブジェクトの画像時間間隔内での動き量vなどに対応して設定する。例えば、1フレーム期間内の動き量vが上述のように5画素であるときは、動き量vに対応して仮想分割数を「5」に設定して、1フレーム期間を等時間間隔で5分割する。
【0035】
この場合、例えば画素位置P14の画素値DP14は、式(2)で表される。
DP14=B14/v+F01/v+F02/v ・・・(2)
【0036】
この画素位置P14では、背景の成分を1仮想分割時間(フレーム期間/v)含み、前景成分を2仮想分割時間含むので、混合比αは(1/3)となる。同様に、例えば画素位置P22では、背景の成分を1仮想分割時間含み、前景成分を2仮想分割時間含むので、混合比αは(1/3)となる。
【0037】
また、シャッタ動作が行われたとき、露光時間比率と1フレーム期間内での動き量vを乗算して露光時間内動き量を算出することができる。
【0038】
このように、前景の成分が移動することから、1露光時間では、異なる前景の成分が加算されるので、動きオブジェクトに対応する前景の領域は、動きボケを含むものとなる。このため、画像処理装置20では、画像信号に埋もれてしまった有意情報を抽出して前景に対応する動きオブジェクトOBfの動きボケを軽減させた画像信号DVoutを生成する。
【0039】
図6は、画像処理装置の機能ブロック図である。なお、画像処理装置の各機能はハードウェアで実現するか、ソフトウェアで実現するかは問わない。つまり、図6の機能ブロックは、ハードウェアで実現するものとしても良く、ソフトウェアで実現するものとしても良い。
【0040】
ここで、ソフトウェアを用いるときの画像処理装置20の構成を例えば図7に示す。CPU(Central Processing Unit)201は、ROM(Read Only Memory)202、または記憶部208に記憶されているプログラムに従って各種の処理を実行するものであり、ROM202や記憶部208には、画像処理装置の各機能を実現するプログラムが記憶される。RAM(Random Access Memory)203には、CPU201が実行するプログラムやデータなどが適宜記憶される。これらのCPU201、ROM202、およびRAM203は、バス204により相互に接続されている。
【0041】
また、CPU201には、バス204を介して入出力インタフェース205が接続されている。入出力インタフェース205には、キーボード、マウス、マイクロホンなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続されている。CPU201は、入力部206から入力される指令に対応して各種の処理を実行する。そして、CPU201は、処理の結果得られた画像や音声等を出力部207に出力する。
【0042】
入出力インタフェース205に接続されている記憶部208は、例えばハードディスクなどで構成され、CPU201が実行するプログラムや各種のデータを記憶する。通信部209は、インターネット、その他のネットワークを介して外部の装置と通信する。この例の場合、通信部209はセンサの出力を取り込む取得部として働く。また、通信部209を介してプログラムを取得し、記憶部208に記憶しても良い。
【0043】
入出力インタフェース205に接続されているドライブ部210は、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどの記録媒体が装着されたとき、それらを駆動し、記録媒体に記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部208に転送されて記憶される。
【0044】
図6に示すように、画像処理装置20に供給された入力画像の画像信号DVaは、動きベクトル設定部31と、露光時間比率設定部32の露光時間比率推定部320および注目画素設定部35に供給される。
【0045】
動きベクトル設定部31は、画像信号DVaに基づき注目画像の画素毎の動きベクトルを検出して、第1の動きベクトルvpに設定する。また、設定した動きベクトルvpを、注目画素設定部35と動きボケ量設定部33,処理領域設定部36,処理係数設定部37,画素値生成部38および視点設定部40に供給する。この動きベクトル設定部31では、ブロックマッチング法や勾配法等の手法を用いることで、画素毎の動きベクトルを検出する。ここで、注目画像とは、画像処理装置20に供給された入力画像において動きボケ除去処理を行う画像を示しており、注目画素とは、注目画像内において動きボケ除去処理を行う画素を示している。
【0046】
露光時間比率設定部32の露光時間比率推定部320は、注目画像の時間間隔における露光時間の割合を示す露光時間比率ERを画像単位で推定する。この露光時間比率ERは、例えば特開2003−6648号公報に開示された技術を用いて設定できる。
【0047】
図8は露光時間比率推定部320の機能ブロック図である。露光時間比率推定部320のオブジェクト抽出部321は、画像信号DVaに基づき注目画像に含まれる動きのあるオブジェクトに対応する画像オブジェクトOBmを粗く抽出して、抽出した画像オブジェクトOBmを動き検出部322に供給する。例えば、上述のように動いている前景のオブジェクトに対応する画像オブジェクトの輪郭を検出することで、画像オブジェクトOBmを粗く抽出して動き検出部322に供給する。なお、画像オブジェクトOBmとは、撮像の対象となる、現実世界におけるオブジェクトに対応する画像を意味するものである。
【0048】
また、オブジェクト抽出部321は、例えば内部に設けられている背景メモリに記憶されている背景の画像と、注目画像との差から、動いている前景のオブジェクトに対応する画像オブジェクトOBmを粗く抽出するようにしても良い。
【0049】
動き検出部322は、粗く抽出された画像オブジェクトOBmのフレーム間動きベクトルの動き量vmを、上述のような動きベクトル検出法を用いて検出して比率演算部325に供給する。また、動き検出部322は、動きのある画像オブジェクトが複数含まれているときには、フレーム間動きベクトルを画像オブジェクト毎に求めて、求めた複数のフレーム間動きベクトルから統計的手法を用いて、1つのフレーム間動きベクトルの動き量vmを決定する。この統計的手法としては、単純平均、オブジェクトの表示面積や表示位置に応じて重み付けを行ってから平均を算出する重み付け平均、メディアン等を用いることができる。
【0050】
領域特定部323は、注目画像に対して、動き部分である前景領域、静止部分である背景領域、混合領域であるカバードバックグランド領域とアンカバードバックグランド領域の特定を行い、特定結果を示す領域情報JFを混合比算出部324に供給する。
【0051】
図9は、領域特定部323の機能ブロック図である。画像メモリ部323aは、入力された画像信号DVaをフレーム単位で記憶する。画像メモリ部323aは、注目画像が(t)フレームであるとき、(t)フレームの2つ前のフレームである(t−2)フレーム、(t)フレームの1つ前のフレームである(t−1)フレーム、(t)フレーム、(t)フレームの1つ後のフレームである(t+1)フレーム、および(t)フレームの2つ後のフレームである(t+2)フレームを記憶する。
【0052】
静動判定部323bは、連続する2フレームの画素毎のフレーム間差分絶対値を求め、フレーム差分絶対値が予め設定している閾値Thより大きいか否かを判定し、フレーム間差分絶対値が閾値Thよりも大きいときは動き、フレーム間差分絶対値が閾値Th以下であるときは静止と判定する。
【0053】
領域判定部323cは、静動判定部323bで得られた判定結果を用いて、各画素が、前景領域、背景領域、混合領域であるカバードバックグランド領域やアンカバードバックグランド領域のいずれに属するか、図10に示すように領域判定処理を行う。
【0054】
例えば、最初に(tー1)フレームと(t)フレームの静動判定の結果が静止である画素を背景領域の画素と判定する。また、(t)フレームと(t+1)フレームの静動判定の結果が静止である画素を背景領域の画素と判定する。次に、(t−2)フレームと(t−1)フレームの静動判定の結果が静止であり、(t−1)フレームと(t)フレームの静動判定の結果が動きである画素をカバードバックグランド領域の画素と判定する。また、(t)フレームと(t+1)フレームの静動判定の結果が動きであり、(t+1)フレームと(t+2)フレームの静動判定の結果が静止である画素をアンカバードバックグランド領域の画素と判定する。その後、(t−1)フレームと(t)フレームの静動判定の結果と(t)フレームと(t+1)フレームの静動判定の結果が共に動きである画素を前景領域の画素と判定する。
【0055】
混合比算出部324は、画像信号DVaおよび領域特定部323から供給された領域情報JFをもとに混合比αを算出して、算出した混合比αを比率演算部325に供給する。この混合比αは、上述のように、画素値における背景成分の割合を示す値である。
【0056】
ここで、前景に対応するオブジェクトが露光時間内に等速で動いていると仮定することで、混合領域に属する画素の混合比αは、画素の位置の変化に対応して、直線的に変化する。例えば画素の位置の変化を1次元とすれば、混合比αの変化は、直線で表現することができる。さらに、1フレームの期間は短いので、前景に対応するオブジェクトが剛体であり、等速で移動していると仮定すると、混合比αの傾きは、前景の露光時間内動き量の逆比となる。なお、複数の混合領域について混合比αの算出を行い、複数の混合比αを算出したときには上述のように統計的手法を用いて、1つの混合比αを決定する。なお、図11は理想的な混合比αを示しており、前景領域では混合比α=0、背景領域では混合比α=1となる。また、混合領域における混合比αの傾きαlは、露光時間内動き量の逆数を表すものである。
【0057】
比率演算部325は、混合比算出部324から供給された混合比αに基づき、混合領域における傾きαlの逆数を算出して、露光時間内動き量を求める。さらに、露光時間内動き量を動き検出部322から供給されたフレーム間動きベクトルの動き量vmで除算して、注目画像の時間間隔に対する露光時間の比率を示す露光時間比率ERaを推定して露光時間比率選択部329に供給する。
【0058】
露光時間比率選択部329には、外部から露光時間比率ERbが供給されており、露光時間比率推定部320から供給された露光時間比率ERa、外部から供給された露光時間比率ERbの何れかを選択して、露光時間比率ERとして動きボケ量設定部33と動きボケ付加部41に供給する。
【0059】
動きボケ量設定部33は、動きベクトル設定部31から供給された画素毎の動きベクトルvpの動き量に対して露光時間比率設定部32から供給された露光時間比率ERを乗算することで、画素毎の動きボケ量MBpを算出して、処理領域設定部36や処理係数設定部37に供給する。
【0060】
注目画素設定部35は、注目画像を含めて複数の処理対象画像を設定して、動きベクトル設定部31により設定された動きベクトルvpに基づき、注目画像の注目画素Pnaに空間位置が対応する処理対象画像上の画素を検出して、この検出した画素を各処理対象画像の注目画素に設定する。さらに、注目画素を設定した複数の処理対象画像を処理領域設定部36に供給する。
【0061】
例えば、(t)フレームの画像を注目画像とするとき、(t−1)フレーム,(t)フレーム、(t+1)フレームの画像を処理対象画像とする。ここで、動きベクトルvpに基づき、注目画像の注目画素Pnaに対応する(t−1)フレームや(t+1)フレームの画像上の画素を注目画素として設定する。さらに、(t)フレームの処理対象画像を処理領域設定部36の(t)フレームタップ選択部362、注目画素を設定した(t−1)フレームの処理対象画像を(t−1)フレームタップ選択部361、注目画素を設定した(t+1)フレームの処理対象画像を(t+1)フレームタップ選択部363にそれぞれ供給する。
【0062】
なお、注目画像の注目画素Pnaが(t+1)フレームで動きベクトルvpだけ移動する場合、(t+1)フレームの画像を動きベクトルvpだけ戻すように移動させれば、注目画像の注目画素と移動後の(t+1)フレームの画像の注目画素の位置は同じとなり、処理領域設定部36における処理領域の設定を容易とすることができる。
【0063】
また、基準となる注目画像は、(t)フレームの画像に限られるものではなく、(t−1)フレームや(t+1)フレームの画像を注目画像とすることもできる。さらに、注目画像のいずれの画素を注目画素とするかについては、外部から注目画素を指定したり、注目画像内の画素を順次自動的に注目画素に指定する。このようにすれば、所望の画素についてのみ、動きボケ除去処理を行うものとしたり、注目画像の全体に対して動きボケ除去処理を自動的に行うことができる。また、外部から範囲を指定して、この範囲内の画素を順次自動的に注目画素に指定するようにすれば、所望の範囲について動きボケ除去処理を行うことが可能となる。
【0064】
処理領域設定部36の(t−1)フレームタップ選択部361は、注目画素設定部35から供給された処理対象画像における注目画素を基準として、動きボケ量設定部33で設定された動きボケ量MBpと動きベクトル設定部31から供給された動きベクトルvpに対応する動き方向に応じて処理領域を設定する。さらに、処理領域の画素値を画素値生成部38のボケ除去処理部381に供給する。
【0065】
図12は、空間方向の処理領域を示しており、注目画素Pnaを中心として動き方向である矢印A方向に沿って動きボケ量が大きいときには動き方向の幅が広くなるように処理領域WAを設定する。
【0066】
(t)フレームタップ選択部362,(t+1)フレームタップ選択部363も、(t−1)フレームタップ選択部361と同様に、それぞれ注目画素設定部35から供給された処理対象画像における注目画素を基準として、ボケ量設定部33で設定された動きボケ量MBpと動きベクトル設定部31から供給された動きベクトルvpに対応する動き方向に応じて処理領域を設定する。なお、図13は、時間方向の処理領域を示しており、時間方向にずれたフレームの処理領域については、処理領域の幅が動きボケ量で決まる空間方向の処理領域の幅と同一であるが、中心位置については動きベクトル量vp分だけ移動したものとなる。
【0067】
(t)フレームタップ選択部362は、処理領域の画素値をボケ除去処理部382に供給する。また、(t+1)フレームタップ選択部363は、処理領域の画素値をボケ除去処理部383に供給する。
【0068】
処理係数設定部37は、メモリを用いて構成されており、動きボケ量MBpに基づいた特定の処理係数、あるいは動きボケ量MBpおよび動きベクトルvpに対応する動き方向に基づく処理係数が予め記憶されている。処理係数設定部37は、動き方向を特定の方向に設定して動きボケ量MBpに応じて生成した特定の処理係数を記憶しているとき、ボケ量設定部33から供給された動きボケ量MBpに応じた特定の処理係数をメモリから読み出して、ボケ除去処理部381,382,383に供給することで、処理係数の設定を行う。また、動きボケ量MBpおよび動きベクトルvpに対応する動き方向に基づく処理係数を記憶しているとき、ボケ量設定部33から供給された動きボケ量MBpと動きベクトル設定部31から供給された動きベクトルvpに基づく動き方向に応じた処理係数をメモリから読み出して、ボケ除去処理部381,382,383に供給することで、処理係数の設定を行う。
【0069】
画素値生成部38のボケ除去処理部381は、(t−1)フレームタップ選択部361から供給された処理領域の画素値と、処理係数設定部37から供給された処理係数を用いて演算処理を行い、ボケ除去処理後の画素値を生成して統合部39に供給する。ボケ除去処理部382は、(t)フレームタップ選択部362から供給された処理領域の画素値と、処理係数設定部37から供給された処理係数を用いて演算処理を行い、ボケ除去処理後の画素値を生成して統合部39に供給する。ボケ除去処理部383は、(t+1)フレームタップ選択部363から供給された処理領域の画素値と、処理係数設定部37から供給された処理係数を用いて演算処理を行い、ボケ除去処理後の画素値を生成して統合部39に供給する。ここで、処理係数設定部37から動きボケ量MBpと動き方向に応じて処理係数が読み出されているとき、動き方向と処理領域の方向は一致している。従って、処理領域内の画素に対応する画素値と設定された処理係数の線形結合により、注目画素に対応するボケ除去処理後の画素値を生成する。また、動きボケ量MBpに基づいた特定の処理係数が読み出されているときは、処理領域内の画素に対応する画素値から処理係数と線形結合される画素位置の画素値(以下「処理用の画素値」という)を補間等によって生成して、処理用の画素値と読み出された特定の処理係数との線形結合により、注目画素に対応するボケ除去処理後の画素値を生成する。
【0070】
統合部39は、ボケ除去処理部381〜383から供給された画素値を統合して、動きボケ除去がなされた注目画像における注目画素の画素値として、この動きボケ除去がなされた注目画像の画像信号DVcを出力する。この画素値の統合では、統計的処理を用いるものとする。例えば、単純平均、重み付け平均、メディアンフィルタ等を用いることができる。ここで、重み付け平均では、例えば(t−1)フレームの画素値:tフレームの画素値:(t+1)フレームの画素値=2:6:2の重み付けを行って平均値を算出する。
【0071】
視点設定部40の最大頻度判定部401は、動きベクトル設定部31から供給された画素毎の動きベクトルvpを用いて、動きベクトルが等しい画素の数が最大頻度となる動きベクトルvpmを判定して動きベクトル選択部402に供給する。
【0072】
動きベクトル選択部402には、外部から視点設定用の動きベクトルvpeが供給されている。動きベクトル選択部402は、外部から供給された動きベクトルvpeあるいは最大頻度判定部401から供給された動きベクトルvpmの何れかを選択して、視点動きベクトルvqとして動きボケ付加部41と画像移動部42に供給する。この視点動きベクトルvqの選択は、どのような任意視点画像を生成するかに基づいて行う。例えば、上述の前景に対応する動きオブジェクトOBfが表示画像上で固定した位置となるように視点画像を生成する場合、動きベクトルvpmを選択して視点動きベクトルvqとして動きボケ付加部41と画像移動部42に供給する。また、ユーザが所望する視点画像を生成するときには、外部から供給された動きベクトルvpeを視点動きベクトルvqとして動きボケ付加部41と画像移動部42に供給する。このとき、動きベクトルvpeの動き方向や動き量を可変することで、任意の視点画像を生成することが可能となる。
【0073】
動きボケ付加部41は、画素毎の動きベクトルvpと視点動きベクトルvqとの差分を求め、新しい視点に応じた相対動きベクトルを算出する。また、相対動きベクトルと露光時間比率設定部32によって設定された露光時間比率ERを乗算して、ボケ量MBsを画素毎に算出する。さらに、算出されたボケ量MBsに応じた動きボケを統合部39から供給された画像信号DVcに基づく画像に付加して、動きボケ付加注目画像の画像信号DVdを生成して画像移動部42とメモリ43に供給する。
【0074】
画像移動部42は、視点設定部40から供給された視点動きベクトルvqに基づき、視点動きベクトルvqと対向するベクトル、すなわち動き方向が動きベクトルvqの動き方向に対して逆方向であって動き量が視点動きベクトルvqの動き量と等しいベクトルに沿って、動きボケ付加注目画像を全画面移動させて、全画面移動後の画像信号DVeをフレームメモリ44と提示画像形成部45に供給する。このため、例えば視点設定部40で動きベクトルvpmが選択されて視点動きベクトルvqとして画像移動部42に供給されたときは、最大頻度と判定された動きベクトルの画素位置が固定するように全画面の移動が行われることとなる。また、ユーザが視点設定用の動きベクトルvpeを画像処理装置20に入力して、視点動きベクトルvqとして画像移動部42に供給すれば、所望の動きの画素位置が固定するように、全画面の移動を行うことができる。
【0075】
メモリ43は、動きボケ付加注目画像の画像信号DVdを記憶する。また、フレームメモリ44は、画像移動部42によって移動された動きボケ付加注目画像の画像信号DVeを、画枠から外れてしまう部分も含めて記憶できるように、注目画像よりも記憶サイズを大きくする。
【0076】
提示画像形成部45は、移動された動きボケ付加注目画像の画像信号DVeやメモリ43、フレームメモリ44に記憶されている画像の画像信号を用いて、提示画像の画像信号DVoutを形成して出力する。
【0077】
図14A〜図14Eは、画像移動部の動作を説明するための図である。上述の図2に示すように、動きオブジェクトOBfを撮像したときの撮像画像は図14Aに示すものとなる。また、動きオブジェクトOBfが矢印Aで示すように水平方向に移動する場合、画面上のライン位置Lにおける動きオブジェクトOBfの位置は、時間の経過と共に、図14Bに示すように移動する。なお、図14Aの画像は、図14Bにおいて時点tgの撮像画像に相当する。
【0078】
ここで、時点taから時点tbまでの画像を繰り返し提示するものとした場合、図14Cに示すように、動きオブジェクトOBfは画面の左端から右端まで移動する。また、動きベクトルvpmと動き量が等しく動き方向が逆方向である視点設定用の動きベクトルvpeを入力して、この動きベクトルvpeを視点動きベクトルvqとすると、動きボケ付加部41は、動きベクトルvpと視点動きベクトルvqとの差分に応じた動きボケの付加処理が行われる。このため、動きオブジェクトOBfについては、差分が「0」であることから、動きボケは付加されず、背景に対応するオブジェクトOBbに対して、オブジェクトOBbを動きベクトルvpeで移動したときと同等の動きボケが付加される。この動きボケが付加されたオブジェクトOBbをオブジェクトOBb+gとして示す。
【0079】
画像移動部42は、視点設定部40から供給された視点動きベクトルvqに基づいて画像を移動させる。このため、時点tgの撮像画像における動きオブジェクトOBfの位置を基準としたときは、図14Dに示すように、動きオブジェクトOBfが画面の中央で固定されて動きボケが除去された静止しているオブジェクトOBf-gとして表示されることとなる。また、背景部分は、視点動きベクトルvqに基づき動きオブジェクトOBfの動きとは逆方向に移動する動きボケを生じたオブジェクトOBb+gとなる。このように所望の時間範囲の処理結果を繰り返し提示する場合、提示開始するフレームや提示時間、いずれの画像位置を中心とするか等をユーザが設定できるものとすれば、ユーザが所望する画像提示を行うことができる。なお、図14A〜図14Eおよび後述する図15A〜図15Dや図16A〜図16Eにおいて、斜線部分は画素値が無いことを示している。
また、視点設定用の動きベクトルvpeの動き量を動きベクトルvpmの動き量の半分として動き方向を逆方向とすれば、図14Eに示すように、動きオブジェクトOBfは画面の左から右、背景に対応するオブジェクトOBbは画面の右から左に移動して、動きに応じた動きボケが付加された動きオブジェクトOBf-g'とオブジェクトOBb+g'が表示されることとなる。このように、視点設定用の動きベクトルvpeを入力することで、視点を変えた画像をより現実的に表示することができる。
【0080】
ところで、提示する画像の時間範囲を時点taから時点tbまでに限定しない場合、図15Aに示す撮像画像に対して、動きオブジェクトOBfの動きボケを除去して画面の中央で固定されるように視点を変えると、図15Bに示すように動きオブジェクトOBf-gが画面の左端や右端の位置となるとき、画面上における表示画像部分の領域が小さくなってしまう。そこで、図15Aの一点鎖線で示すように、視点基準位置が画枠外となるまで処理を続けて、視点基準位置が画枠外となる時点tcや時点tdで視点基準位置の切替を行う。このように視点基準位置の切替を行うものとすると、図15Cに示すように、動きオブジェクトOBf-gが画面の左端や右端の位置であっても、画面上における表示画像部分の領域が小さくなってしまうことを防止できる。さらに、図15Aの二点鎖線で示すように、視点基準位置が画枠外となる前に視点基準位置の切り換えを行えば、図15Dに示すように動きオブジェクトOBf-gが画面の左端や右端の位置であっても、画面上における表示画像部分の領域が小さくなってしまうことをさらに防止できる。
【0081】
図16A〜図16Eは、提示画像形成部45の動作を説明するための図である。図16Aに示すように動きオブジェクトOBfが移動する撮像画像に対して、動きオブジェクトOBfの動きボケを除去して画面の中央で固定されるように視点を変えると、図16Bに示すように画素値の無い領域ARaが生じてしまう。このため、この画素値の無い領域ARaは、図16Cに示すように、画素値を固定値DPcに設定する。例えば、撮像画像の無い部分を黒色や白色で塗りつぶす。このように撮像画像の無い部分は、画素値を固定値DPcに設定することで、撮像画像の無い部分にノイズ画像等の不要な画像が表示されてしまうことを防止できる。
【0082】
また、撮像画像の無い部分に画像を割り当てるものとしても良い。ここで、上述のように視点を変更すると、図16Aにおける領域ARbは、画枠外の位置となり画面上に表示されないこととなる。従って、図16Dに示すように、画枠外となる領域ARbの画素値を、画素値の無い領域ARaに折り返して割り当てる。このように画素値の割り当てを行うものとすると、背景画像が折り返して表示されることとなる。
【0083】
さらに、画像信号DVaに対する動きボケ除去を非リアルタイムに行う場合には、時間的にずれている画像の画素値をメモリ43に記憶させて、この記憶されている画素値を割り当てるものとしても良い。例えば図16Eに示すように時間的に前の画像の画素値や時間的に後の画素値を用いて、画素値の無い領域ARaに割り当てる。
【0084】
また、注目画像よりも記憶サイズの大きいフレームメモリ44に記憶されている画像の画像サイズを小さくして表示すれば、画枠外の位置となり画面上に表示されない部分も表示することが可能となる。例えば、図17Aに示すように動きオブジェクトOBfが移動する撮像画像に対して、動きオブジェクトOBfの動きボケを除去して画面の中央で固定されるように視点を変えると、図17Bに示すように、画枠外の位置となり画面上に表示されない領域ARbが生じる。しかし、フレームメモリ44に記憶されている画像を図17Cに示すように縮小して表示すれば、領域ARbを画枠内の位置として、画面上に表示させることができる。なお、図17Dは時点teのときの表示画像を示している。
【0085】
図18は、ソフトウェアで画像処理を行う場合のフローチャートを示している。ステップST1でCPU201は、注目画像に動きボケの除去を行う注目画素を設定してステップST2に進む。ステップST2でCPU201は、注目画素の動きベクトルを検出してステップST3に進む。ステップST3でCPU201は、露光時間比率を算出する。ステップST4でCPU201は、注目画素の動きボケ量を検出する。すなわち、ステップST2で検出した動きベクトルとステップST3で算出した露光時間比率を乗算して、注目画素の露光時間内での動きボケ量を検出する。
【0086】
ステップST5でCPU201は、処理領域を設定する。すなわちCPU201は、注目画像の注目画素に基づき、処理対象画像を設定して処理対象画像に注目画素を設定する。さらに、各処理対象画像の注目画素を基準として動き方向や動き量に応じた処理領域を設定してステップST6に進む。
【0087】
ステップST6でCPU201は、処理係数の設定を行う。この処理係数の設定では、動き量に応じた特定の動きボケ除去用の処理係数、あるいは動き量とステップST2で検出された動き方向に応じた動きボケ除去用の処理係数を設定する。
【0088】
ステップST7でCPU201は、ボケ除去処理を処理対象画像である各フレームの画像に対して行う。すなわち、CPU201は、ステップST5で設定した処理領域の画素値と、ステップST6で動き量と動き方向に応じて設定した処理係数とに基づき、注目画素に対応する画素値を生成する。あるいは、処理領域の画素値から新たに処理用の画素値を生成すると共に、この処理用の画素値とステップST6で動き量に応じて設定した特定の処理係数とに基づき、注目画素に対応する画素値を算出する。このようにして、ボケ除去がなされた画素値を各処理対象画像の注目画素毎に算出してステップST8に進む。ステップST8でCPU201は、ステップST7で処理対象画像毎に算出した画素値の統合処理を行い1つの画素値を生成してステップST9に進む。
【0089】
ステップST9でCPU201は、視点動きベクトルを設定する。この視点動きベクトルの設定では、外部から供給された視点設定用の動きベクトルvpeを視点動きベクトルとする。ステップST10でCPU201は、動きボケ付加を行う。すなわち、CPU201は、ステップST2で検出した注目画素の動きベクトルとステップST9で設定された視点動きベクトルに基づき、任意視点変換後の動きベクトルを算出して、この任意視点変換後の動きベクトルから注目画素の動きボケ量を算出して、注目画素の画素値に付加することで、動きボケ付加注目画像の生成を行う。
【0090】
ステップST11でCPU201は、全画面に対してボケ除去処理が完了したか否かを判別し、ボケ除去処理が行われていない画素があるときはステップST1に戻り、全画面に対する処理が完了したときはステップST12に進む。
【0091】
ステップST12でCPU201は、視点動きベクトルに基づき、動きボケ付加注目画像の全画面移動を行って任意視点画像を生成してステップST13に進む。ステップST13でCPU201は、提示画像形成を行う。例えば、画素値の無い部分が生じたときには、この部分を補間することで提示画像を形成して処理を終了する。
【0092】
このように、動きボケを除去した画像を生成して、外部から与えた任意の視点に対応した動きボケが付加されて、任意の視点に応じて全画面が移動されるので、あたかもその視点でもう一度撮像しなおしたような画像を再構築することができる。
【0093】
次に、処理係数設定部37に予め記憶される処理係数を学習によって求めてボケ除去処理を行う場合と、処理係数をモデル式から求めてボケ除去処理を行う場合について説明する。
【0094】
図19は、処理係数を学習によって求めてボケ除去処理を行う場合の構成を示したものである。学習装置51は、教師画像である静止画と、この静止画に動きボケを付加した生徒画像を用いて学習処理を実行し、この学習により得られる処理係数を画像処理装置20の処理係数設定部37に記憶させる。画像処理装置20は、入力画像となる動きボケを含む画像から注目画素に対する処理領域を設定して、この処理領域の画素値と処理係数設定部37に記憶されている動きボケ量に応じた処理係数を用いて、例えば式(3)で示される積和演算を実行することにより、ボケ除去が行われた画素値を求める。なお、処理領域の設定は後述する。
【0095】
【数1】
【0096】
式(3)において、q’は、ボケ除去が行われた画素の画素値を表している。ci(iは、1乃至nの整数値)は、処理領域の画素値を表している。また、diは処理係数を表している。
【0097】
図20は、学習装置51の機能ブロック図である。学習装置51の生徒画像生成部511は、入力画像である教師画像に対して動き方向と動き量に応じた動きボケを付加して生徒画像を生成して予測タップ抽出部512に供給する。
【0098】
予測タップ抽出部512は、ボケ除去を行う注目画素に対して複数の画素を予測タップとして設定して、生徒画像から予測タップの画素値を抽出して、正規方程式生成部513に出力する。なお、予測タップは、動き方向と動き量に応じた係数を生成する場合、上述の処理領域に対応するものである。
【0099】
正規方程式生成部513は、予測タップ抽出部512から供給された予測タップの画素値と、教師画像の画素値とから正規方程式を生成し、係数決定部514に供給する。係数決定部514は、正規方程式生成部513から供給された正規方程式に基づき処理係数を演算して、処理係数設定部37に記憶させる。この正規方程式生成部513と、係数決定部514についてさらに説明する。
【0100】
上述した式(3)において、学習前は処理係数diのそれぞれが未定係数である。学習は、複数の教師画像(静止画像)の画素を入力することによって行う。教師画像の画素がm個存在し、m個の画素の画素値を「qk(kは、1乃至mの整数値)」と記述する場合、式(3)から、次の式(4)が設定される。
【0101】
【数2】
【0102】
すなわち、式(4)は、右辺の演算を行うことで、動きボケの無い実際の画素値qkとほぼ等しいボケ除去後の画素値qk’を得ることができる。なお、式(4)において、イコールではなくニアリーイコールとなっているのは誤差を含むからである。すなわち、右辺の演算結果であるボケ除去後の画素値は、動きボケの無い実際の画像における注目画素の画素値と厳密には一致せず、所定の誤差を含むためである。
【0103】
この式(4)において、誤差の自乗和を最小にする処理係数diが学習により求まれば、その処理係数diは、ボケ除去後の画素値qkを動きボケの無い画素値に近づけるための最適な係数と考えられる。従って、例えば、学習により集められたm個(ただし、mは、nより大きい整数)の画素値qkを用いて、最小自乗法により最適な処理係数diを決定する。
【0104】
式(4)の右辺の処理係数diを最小自乗法で求める場合の正規方程式は、式(5)として表すことができる。
【0105】
【数3】
【0106】
従って、式(5)に示す正規方程式を解くことで処理係数diを決定できる。具体的には、式(5)で示される正規方程式の各行列のそれぞれを、次の式(6)乃至(8)のように定義すると、正規方程式は、次の式(9)のように表される。
【0107】
【数4】
【0108】
CMATDMAT=QMAT ・・・(9)
式(7)で示されるように、行列DMATの各成分は、求めたい処理係数diである。従って、式(9)において、左辺の行列CMATと右辺の行列QMATが決定されれば、行列解法によって行列DMAT(すなわち、処理係数di)の算出が可能である。具体的には、式(6)で示されるように、行列CMATの各成分は、予測タップcikが既知であれば演算可能である。予測タップcikは、予測タップ抽出部512により抽出されるので、正規方程式生成部513は、予測タップ抽出部512から供給される予測タップcikのそれぞれを利用して行列CMATの各成分を演算することができる。
【0109】
また、式(8)で示されるように、行列QMATの各成分は、予測タップcikと静止画像の画素値qkが既知であれば演算可能である。予測タップcikは、行列CMATの各成分に含まれるものと同一のものであり、また、画素値qkは、予測タップcikに含まれる注目画素(生徒画像の画素)に対する教師画像の画素である。従って、正規方程式生成部513は、予測タップ抽出部512より供給された予測タップcikと、教師画像を利用して行列QMATの各成分を演算することができる。
【0110】
このようにして、正規方程式生成部513は、行列CMATと行列QMATの各成分を演算し、その演算結果を係数決定部514に供給する。
【0111】
係数決定部514は、上述した式(7)の行列DMATの各成分である処理係数diを演算する。具体的には、上述した式(9)の正規方程式は、次の式(10)のように変形できる。
DMAT=CMAT -1QMAT ・・・(10)
【0112】
式(10)において、左辺の行列DMATの各成分が、求める処理係数diである。また、行列CMATと行列QMATのそれぞれの各成分は、正規方程式生成部513より供給される。従って、係数決定部514は、正規方程式生成部513より行列CMATと行列QMATのそれぞれの各成分が供給されてきたとき、式(10)の右辺の行列演算を行うことで行列DMATを演算し、その演算結果(処理係数di)を処理係数設定部37に記憶させる。ここで、動き方向を一定の方向として動き量を変えて上述の学習を行えば、動きボケ量に応じた特定の処理係数が記憶させることができる。また、動き方向も変えて上述の学習を行えば、動きボケ量と動き方向に応じた処理係数を記憶させることができる。
【0113】
予測タップの選択では、動き量に比例した長さを用いて予測タップを選択する。例えば注目画素を基準として動き方向に「3×動き量+9画素」の範囲に含まれる画素を予測タップとする。また、「2×動き量+3画素」の範囲に含まれる画素を予測タップとすれば、タップ数が少なく構成を簡単にできる。さらに、予測タップの選択では、動き量vに応じて予測タップを離散的に選択するものとしても良い。
【0114】
ここで、動き量vに応じて予測タップを離散的に選択する場合について図21を用いて説明する。例えば図21に示す画素位置P47を注目画素位置として注目画素の画素値F19を求める場合、破線で示すように最初に注目画素の成分F19/vが現れる画素位置P45、および画素位置P45と隣接して注目画素の成分F19/vを有していない画素位置P44ついて考えると、式(11)が成立する。なお、画素位置P44,P45の画素値をDP44,DP45とする。
F19−F14=(DP45−DP44)×v ・・・(11)
【0115】
同様に、破線で示すように最後に注目画素の成分F19/vが現れる画素位置P49、および画素位置P49と隣接して注目画素の成分F19/vを有していない画素位置P50ついて考えると、式(12)が成立する。
F24−F19=(DP50−DP49)×v ・・・(12)
【0116】
ここで、画素値F14のレベルは空間相関を利用して近似的に求める。例えば画素位置P42と周辺画素の空間相関が高ければ式(13)に示すような近似が成立する。
F14≒DP42 ・・・(13)
【0117】
ここでいう空間相関とは、各画素のアクティビティ(Activity)の大小で表される関係である。すなわち、アクティビティとは、例えば、基準とする画素に隣接する画素間の差分値の和である。図22はアクティビティの算出を説明するための図である。例えば、画素位置P42を中心として3画素×3画素の合計9画素の画素間の差分が画素位置P42のアクティビティAC(P42)であり、以下の式(14)で示される。なお、図22において、画素位置P42-Uは画素位置P42よりも1つ上のラインの画素、画素位置P42-Lは画素位置P42よりも1つ下のラインの画素であることを示しており、他も同様である。
AC(P42)= |DP41-U−DP42-U|+|DP42-U−DP43-U|
+|DP41 −DP42 |+|DP42 −DP43 |
+|DP41-L−DP42-L|+|DP42-L−DP43-L|
+|DP41-U−DP41 |+|DP41 −DP41-L|
+|DP42-U−DP42 |+|DP42 −DP42-L|
+|DP43-U−DP43 |+|DP43 −DP43-L|
・・・(14)
式(14)で示される画素位置P42で表される画素のアクティビティAC(P42)は、その値が小さいほど、画素位置P42の画素と周辺画素の空間相関が高く、画素位置P42の画素値は周辺画素の画素値に近似していることが示される。逆に、アクティビティが大きいときは、画素位置P42の画素と周辺画素の空間相関が低く、画素位置P42の画素値は周辺画素の画素値と異なる可能性が高い。すなわち、空間相関が高いということは、画素内における画素値の変化も少ないと仮定することができるので、式(15)で示すような関係が成立すると考えられる。
F12/v=F13/v=F14/v=F15/v=F16/v ・・・(15)
【0118】
従って、アクティビティAC(P42)が小さいときには、以下の式(16)が導出されることになるため、式(13)が成立すると考えられる。
【0119】
DP42/v=(F12/v+F13/v+F14/v+F15/v+F16/v)=F14/v
・・・(16)
以上の結果から、式(11)を変形し、式(13)の関係を代入すると、以下の式(17)で示されるように、動きボケの無い画像の画素に入射される光のレベルとして、F19が求められることになる。
【0120】
F19=(DP45−DP44)×v+DP42 ・・・(17)
同様に考えると式(18)も成立する。
【0121】
F19=DP52+(DP49−DP50)×v ・・・(18)
このように考えると、注目画素の画素値F19を求めるときには、画素位置P42,P44,P45,P49,P50,P52を得られれば良いことから、注目画素の画素位置P47を基準として画素位置P42,P44,P45,P49,P50,P52の画素を予測タップとして用いることもできる。
【0122】
図23は、処理係数の学習処理を示すフローチャートである。ステップST21では、教師画像から生徒画像を生成する。すなわち、教師画像に動きボケを付加して、動きボケが付加された画像である生徒画像を生成する。
【0123】
ステップST22では、生徒画像の中から予測タップを抽出する。ステップST23では、予測タップおよび教師画像の画素から、正規方程式を生成する。ステップST24では、ステップST23で生成した正規方程式を解いて処理係数を決定し、処理係数設定部37に記憶させる。
【0124】
ステップST25において、全ての画素について処理を施したか否かを判定して、全ての画素について処理を施していないときは、新たな画素に対してステップST22からの処理を繰り返し、全ての画素の処理が終了したときには、学習処理を終了する。
【0125】
以上の処理を行い、学習によって動きボケを除去するための処理係数を生成して処理係数設定部37に記憶させることにより、動きボケの除去処理が実行可能となる。
【0126】
また、上述のようにアクティビティの大小、すなわち、空間相関の有無を検出するときには、アクティビティの大小によりクラス分類を行い、クラス分類結果であるクラスコードに対応して処理領域を変更させることで、ボケ除去の精度を向上させることもできる。
【0127】
この場合、処理領域設定部36では、注目画素に対するクラスタップを抽出して、抽出したクラスタップからクラスコードを決定し、このクラスコードに応じて注目画素に対する処理領域を設定して、処理領域の画素値を画素値生成部38に供給する。また、決定したクラスコードを処理領域設定部36から処理係数設定部37に供給して、動きボケ量MBpとクラスコードに応じた処理係数をメモリから読み出して画素値生成部38に供給させる。
【0128】
ここで、アクティビティの大小によりクラス分類が行われているとき、図21,図22を参照して説明したように、アクティビティの算出に用いた画素をクラスタップとして抽出する。この抽出したクラスタップを用いて上述のようにアクティビティを求め、求めたアクティビティによりクラスコードを検出する。例えばアクティビティAC(P42),AC(P52)を求めて、アクティビティAC(P42)がアクティビティAC(P52)よりも小さいときクラスコードを「1」、アクティビティAC(P52)がアクティビティAC(P42)よりも小さいときクラスコードを「2」として、クラスコードを処理係数設定部37に供給する。
【0129】
さらに、処理領域設定部36では、クラスコードに対応して注目画素に対応する処理領域の設定を行う。例えば、クラスコードが「1」であった場合、画素位置P52よりも画素位置P42の空間相関が高いので、画素位置P42、P44、P45の画素値を処理領域の画素値として画素値生成部38に供給する。また、クラスコードが「2」であった場合、画素位置P42よりも画素位置P52の空間相関が高いので、画素位置P49、P50、P52の画素値を処理領域の画素値として画素値生成部38に供給する。
【0130】
処理係数設定部37は、クラスコードに応じて、予め後述する学習装置が学習により求めた処理係数を記憶しており、クラスコードおよび動き量に対応する処理係数を画素値生成部38に供給する。
【0131】
画素値生成部38のボケ除去処理部381〜383は、処理領域の画素値と処理係数設定部37から供給された処理係数を用いて演算処理を行い、ボケ除去処理後の画素値を生成して統合部39に供給する。統合部39は、ボケ除去処理部381〜383から供給された画素値を統合して、動きボケ除去がなされた注目画像における注目画素の画素値を出力する。
【0132】
図24は、クラス分類を用いた画像処理のフローチャートを示している。ステップST31でCPU201は、注目画像に動きボケの除去を行う注目画素を設定してステップST32に進む。ステップST32でCPU201は、注目画素の動きベクトルを検出してステップST33に進む。ステップST33でCPU201は、露光時間比率を算出する。ステップST34でCPU201は、注目画素の動きボケ量を検出する。すなわち、ステップST32で検出した動きベクトルとステップST33で算出した露光時間比率の乗算を行い、注目画素の露光時間内での動きボケ量を検出する。
【0133】
ステップST35でCPU201は、ステップST34で求めた動きボケ量に応じてクラスタップを抽出してステップST36に進む。ステップST36でCPU201は、クラス分類を行い、抽出したクラスタップに基づきクラスコードを決定する。
【0134】
ステップST37でCPU201は、クラスコードに応じて処理領域を設定する。すなわちCPU201は、注目画像の注目画素に基づき処理対象画像を設定して、処理対象画像に注目画素を設定する。さらに、各処理対象画像の注目画素を基準としてクラスコードと注目画素の動きボケ量と動き方向に応じた処理領域を設定してステップST38に進む。
【0135】
ステップST38でCPU201は、注目画素の動きボケ量とクラスコードに応じた処理係数、あるいはステップST32で検出した動きベクトルに応じた動き方向と注目画素の動きボケ量とクラスコードに応じた処理係数を設定してステップST39に進む。
【0136】
ステップST39でCPU201は、ボケ除去処理を各処理対象画像に対して行う。すなわち、CPU201は、ステップST37で設定した処理領域の画素値と、ステップST38において動き量と動き方向に応じて設定した処理係数との演算処理を行い、注目画素に対応する画素値を生成する。あるいは、処理領域の画素値から新たに処理用の画素値を生成すると共に、この処理用の画素値とステップST38で動き量に応じて設定した特定の処理係数との演算処理を行い、ボケ除去がなされた画素値を各処理対象画像の注目画素毎に算出してステップST40に進む。
【0137】
ステップST40でCPU201は、ステップST39で処理対象画像毎に算出した画素値の統合処理を行い、1つの画素値を生成してステップST41に進む。
【0138】
ステップST41でCPU201は、視点動きベクトルを設定する。この視点動きベクトルの設定では、外部から供給された視点設定用の動きベクトルvpeを視点動きベクトルとする。ステップST42でCPU201は、動きボケ付加を行う。すなわち、CPU201は、ステップST32で検出した注目画素の動きベクトルとステップST41で設定された視点動きベクトルに基づき、任意視点変換後の動きベクトルを算出して、この任意視点変換後の動きベクトルから注目画素の動きボケ量を算出して、注目画素の画素値に付加することで、動きボケ付加注目画像の生成を行う。
【0139】
ステップST43でCPU201は、全画面に対してボケ除去処理が完了したか否かを判別し、ボケ除去処理が行われていない画素があるときはステップST31に戻り、全画面に対する処理が完了したときはステップST44に進む。
【0140】
ステップST44でCPU201は、視点動きベクトルに基づき、動きボケ付加注目画像の全画面移動を行って任意視点画像を生成してステップST45に進む。ステップST45でCPU201は、提示画像形成を行う。すなわち、画像の無い部分を補間することで提示画像を形成して処理を終了する。
【0141】
次に、クラス分類を行う場合の処理係数の学習について説明する。図25は、クラス分類を行う場合の学習装置52の機能ブロック図である。学習装置52の生徒画像生成部521は、入力画像である教師画像に対して動き量vに応じた動きボケを付加して生徒画像を生成してクラスタップ抽出部522と予測タップ抽出部524に供給する。
【0142】
クラスタップ抽出部522は、上述のように生徒画像の中からクラスタップを選択して、選択したクラスタップをクラス分類部523に供給する。クラス分類部523は、上述のようにクラス分類を行いクラスコードを決定して予測タップ抽出部524と正規方程式生成部525に供給する。
【0143】
予測タップ抽出部524は、生徒画像の中からクラスコードに応じて予測タップを切り換えて抽出して、正規方程式生成部525に供給する。
【0144】
正規方程式生成部525は、基本的に図20の正規方程式生成部513と同様のものであるが、クラス分類部523から供給されるクラスコード毎に正規方程式を生成して係数決定部526に出力する。従って、係数決定部526は、クラスコード毎に係数を決定し、クラスコード毎に決定した係数を処理係数設定部37に記憶させる。ここで、動き方向を特定して動き量毎に生徒画像を生成しているときには、動き量とクラスコードに応じた特定の処理係数が処理係数設定部37に記憶される。また、動き量と動き方向を切り換えて生徒画像を生成しているときには、動き量と動き方向およびクラスコードに応じた処理係数が処理係数設定部37に記憶される。
【0145】
図26は、クラス分類を用いた処理係数の学習処理を示すフローチャートである。ステップST51では、教師画像から生徒画像を生成する。すなわち、教師画像に動きボケを付加して、動きボケが付加された画像である生徒画像を生成する。
【0146】
ステップST52では、生徒画像からクラスタップを抽出する。このクラスタップの抽出は、上述のステップST35と同様にして行う。
【0147】
ステップST53では、抽出したクラスタップよりクラス分類を行いクラスコードを決定する。ステップST54では、ステップST53で決定したクラスコードに対応して、生徒画像から予測タップを抽出する。
【0148】
ステップST55では、予測タップおよび教師画像の画素からクラスコード毎に正規方程式を生成する。
【0149】
ステップST56では、ステップST55で生成した正規方程式を解いて処理係数を決定し、クラスコード毎に処理係数設定部37に記憶させる。
【0150】
ステップST57において、全ての画素について処理を施したか否かを判定して、全ての画素について処理を施していないときは、新たな画素に対してステップST52からの処理を繰り返し、全ての画素の処理が終了したときは、学習処理を終了する。このようにして、動き量と動き方向とクラスに応じた動きボケ除去用の処理係数を生成できる。また、動き方向を一定方向とすることで、動き量とクラスに応じた特定の処理係数を生成できる。
【0151】
次に、処理係数設定部37に記憶される処理係数をモデル式から求めてボケ除去処理を行う場合について説明する。
【0152】
図27は、処理領域を空間方向に示したものであり、注目画素Pnaを中心として例えば動き方向に(2N+1)画素分の処理領域を設定する。図28Aと図28Bは処理領域の設定例を示しており、動きボケを軽減させる動きオブジェクトOBfの画素に対して、動きベクトルの方向が例えば矢印Aで示すように水平方向である場合は、図28Aに示すように水平方向に処理領域WAを設定する。また、動きベクトルの方向が斜め方向である場合は、図28Bに示したように、該当する角度方向に処理領域WAを設定する。ただし、斜め方向に処理領域を設定する際には、処理領域の画素位置に相当する画素値を、補間等によって求める。
【0153】
ここで、処理領域内では、図29に示すように、実世界変数(Y-8,・・・,Y0,・・・,Y8) が時間混合されている。なお、図29は、動き量vが「v=5」であって処理領域を13画素(N=6:Nは注目画素Pnaに対する処理幅の画素数)とした場合である。
【0154】
ボケ除去処理では、この処理領域に対して実世界推定を行い、推定した実世界の中心画素変数Y0のみを、動きボケ除去がなされた注目画素の画素値として出力する。
【0155】
ここで、処理領域を構成する画素の画素値をX-N,X-N+1,・・・,X0,・・・,XN-1,XN とすると、式(19)に示すような(2N+1)個の混合式が成立する。なお、定数hは、動き量vを1/2倍したときの整数部分の値(小数点以下を切り捨てた値)を示している。
【0156】
【数5】
【0157】
しかし、求めたい実世界変数(Y-N-h,・・・,Y0,・・・,YN+h)は、(2N+v)個ある。すなわち、変数の数よりも式の数が少ないので、式(19)に基づき実世界変数(Y-N-h,・・・,Y0,・・・,YN+h)を求めることができない。
【0158】
そこで、空間相関を用いた拘束式である式(20)を用いることで、実世界変数よりも式の数を増やし、最小自乗法を用いて、実世界変数の値を求める。
【0159】
Yt−Yt+1=0 (t=-N-h,・・・,0,・・・,N+h-1)・・・(20)
すなわち、式(19)で表される(2N+1)個の混合式と式(20)で表される(2N+v−1)個の拘束式を合わせた(4N+v)個の式を用いて、(2N+v)個の未知変数である実世界変数(Y-N-h,・・・,Y0,・・・,YN+h)を求める。
【0160】
ここで、各式において発生する誤差の二乗和が最小となるような推定を行うことで、動きボケ軽減画像生成処理を行いながら、実世界での画素値の変動を小さくできる。
【0161】
式(21)は、図29に示すように処理領域を設定した場合を示しており、式(19)と式(20)にそれぞれの式で発生する誤差を加えたものである。
【0162】
【数6】
・・・(21)
【0163】
この式(21)は式(22)として示すことができ、式(23)に示す誤差の二乗和Eを最小とするようなY(=Yi)は式(24)として求まる。なお、式(24)において、Tは転置行列であることを示している。
【0164】
【数7】
【0165】
ここで、誤差の二乗和は式(25)で示すものとなり、この誤差の二乗和を偏微分して、式(26)に示すように偏微分値が0となるようにすれば、誤差の二乗和が最小となる式(24)を求めることができる。
【0166】
【数8】
【0167】
この式(24)の線形結合を行うことで、実世界変数(Y-N-h,・・・,Y0,・・・,YN+h)をそれぞれ求めることができ、中心画素変数Y0の画素値を注目画素の画素値として出力する。すなわち、中心画素変数Y0に対する係数を動き量毎に求めて処理係数として処理係数設定部37に記憶させておき、この処理係数設定部37に記憶されている動き量に応じた処理係数を用いて、画素値と積和演算を行うことにより動きボケが除去された画素値を出力する。このような処理を処理領域内の全画素に対して行うことで、動きボケが軽減されている実世界変数を処理領域について求めることができる。
【0168】
上述では、AY=X+eにおける誤差の二乗和Eを最小とするように、最小自乗法で実世界変数(Y-N-h,・・・,Y0,・・・,YN+h)を求めているが、式の数=変数の数となるように式を作ることも可能である。この式をAY=Xとすると、Y=A-1Xと変形することにより、実世界変数(Y-N-h,・・・,Y0,・・・,YN+h)を求めることができる。
【0169】
ところで、シャッタ動作を行わないものとすると、露光時間比率は常に「1」で一定となり、動きオブジェクトOBfが連続して移動する画像となる。また、動きオブジェクトOBfが連続して移動する画像であることから、時間方向の主要項を用いることで、動きベクトルの検出ずれを生じても、ロバストなボケ除去処理を行うことが可能となり、画像処理装置の構成を簡易とすることができる。
【0170】
次に、主要項について説明する。上述のモデル式等によって各画素に対して用いられる処理係数を求めると、処理係数は図30に示すような形状を示すものとなり、処理係数の絶対値が大きくなる部分を生ずる。このような、処理係数の絶対値が大きくなる部分を主要項とする。この主要項の位置は、注目画素Pnaを基準として動き方向および動き量に応じた画素位置となる。なお、図30において、主要項MCa1は注目画素Pnaに対して動き方向に最も近接した主要項、主要項MCb1は動き方向とは逆方向で最も近接した主要項を示している。この主要項MCa1,MCb1は、注目画素Pnaから動き量の(1/2)だけ動き方向あるいは動き方向と逆方向に離れた位置に生ずるものである。また、隣接する主要項は、動き量だけ動き方向あるいは動き方向と逆方向に離れた位置に生ずるものである。
【0171】
この主要項を時間方向に用いるものとした場合、主要項の位置は同じ画素位置に重なるものとなる。すなわち、上述の主要項MCa1,MCb1について着目すると、(t−1)フレームの画像上の主要項MCa1の位置は(t)フレームの画像上の主要項MCb1の位置となる。従って、(t−1)フレームと(t)フレームとの真ん中の位相であって、主要項MCa1,MCb1と同じ画素位置は、注目画素Pnaに相当する。このため、例えば2フレームの主要項を用いて画素値を算出して、この画素値を2フレームの中間の位相で出力すれば、動きボケが除去された注目画素の画素値を正しく出力できる。
【0172】
このように、時空間方向の主要項を使用して、フレーム間の真ん中を、動きボケ除去後の注目画素Pnaの出力位相とした動きボケ除去を行う画像処理装置の機能ブロック図を図31に示す。なお、画像処理装置の各機能はハードウェアで実現するか、ソフトウェアで実現するかは問わない。つまり、図31の機能ブロックは、ハードウェアで実現するものとしても良く、上述の図に示す構成を用いてソフトウェアで実現するものとしても良い。
【0173】
ここで、フレーム間の真ん中を、動きボケ除去後の注目画素Pnaの出力位相とすると、3フレーム分の画像を得るためには、4フレーム分の画像を用いなければならない。このため、図31に示す画像処理装置の処理領域設定部36には、(t−1)フレームタップ選択部361と(t)フレームタップ選択部362および(t+1)フレームタップ選択部363に加えて、(t+2)フレームタップ選択部364を設けるものとする。また、画素値生成部の各ボケ除去処理部は、連続する2フレームから抽出されたタップと、処理係数設定部37から供給された処理係数を用いて、注目画素Pnaの動きボケが除去された画素値を、2フレームの真ん中を出力位相として生成する。
【0174】
注目画素設定部35は、注目画像を含めて複数の処理対象画像を設定して、動きベクトル設定部31により設定された動きベクトルvpに基づき、注目画像の注目画素Pnaに空間位置が対応する処理対象画像上の画素を検出して、この検出した画素を各処理対象画像の注目画素に設定する。さらに、注目画素を設定した複数の処理対象画像を処理領域設定部36に供給する。
【0175】
例えば、(t)フレームの画像を注目画像とするとき、(t−1)フレーム,(t)フレーム、(t+1)フレーム,(t+2)フレームの画像を処理対象画像とする。ここで、動きベクトルvpに基づき、注目画像の注目画素Pnaに対応する(t−1)フレームや(t+1)フレームの画像上の画素を注目画素として設定する。さらに、(t)フレームの処理対象画像を処理領域設定部36の(t)フレームタップ選択部362、注目画素を設定した(t−1)フレームの処理対象画像を(t−1)フレームタップ選択部361、注目画素を設定した(t+1)フレームの処理対象画像を(t+1)フレームタップ選択部363、注目画素を設定した(t+2)フレームの処理対象画像を(t+2)フレームタップ選択部364にそれぞれ供給する。
【0176】
また、基準となる注目画像は、(t)フレームの画像に限られるものではなく、(t−1)フレームや(t+1)フレームあるいは(t+2)フレームの画像を注目画像とすることもできる。さらに、注目画像のいずれの画素を注目画素とするかについては、外部から注目画素を指定したり、注目画像内の画素を順次自動的に注目画素に指定する。
【0177】
処理領域設定部36の(t−1)フレームタップ選択部361は、注目画素の成分が主に含まれる主要項を抽出するため、注目画素設定部35から供給された処理対象画像における注目画素の空間位置を基準として、動きベクトルvpに応じた動き方向に処理領域を設定して、この処理領域から注目画素の空間位置と略同じ位置の画素を少なくとも抽出して、抽出した画素の画素値を画素値生成部38のボケ除去処理部381に供給する。
【0178】
(t)フレームタップ選択部362,(t+1)フレームタップ選択部363,(t+2)フレームタップ選択部364も、(t−1)フレームタップ選択部361と同様にして画素の抽出を行い、抽出した画素の画素値をボケ除去処理部381〜383に供給する。
【0179】
処理係数設定部37は、ボケ除去処理に用いる処理係数を予め記憶しており、記憶している処理係数を画素値生成部38に供給する。また、処理係数設定部37は、図示せずも外部から動きボケの調整を可能とする調整情報が供給されたとき、この調整情報に基づいて、画素値生成部38に供給する処理係数の切り換えを行うことで動きボケ除去効果を調整する。例えば、最初に供給した処理係数で動きボケが最適に行われないような場合が生じても処理係数を切り換えることで動きボケを最適に除去することが可能となる。また、処理係数を切り換えることで意図的に動きボケを残すことも可能である。
【0180】
処理係数設定部37に動きボケ量MBpに基づいた特定の処理係数を記憶しておくものとした場合、画素値生成部38のボケ除去処理部381は、処理領域設定部36の(t−1)フレームタップ選択部361から抽出した画素値と動きベクトルvpに応じた動き方向に応じて新たに処理用の画素値を生成して、この生成した処理用の画素値と特定の処理係数との積和演算を行い画素値を生成する。また、(t)フレームタップ選択部362から抽出した画素値と動きベクトルvpに応じた動き方向に応じて新たに処理用の画素値を生成して、この生成した処理用の画素値と特定の処理係数との積和演算を行い画素値を生成する。このようにして生成した2つの画素値を統合して、(t−1)フレームと(t)フレームとの時間的に真ん中を出力位相として統合部39に供給する。
【0181】
ここで、処理用の画素値の生成は、以下のように行う。すなわち、ボケ除去処理に用いる処理係数を生成するとき、動き方向を特定の方向に設定して、このとき得られた処理係数を特定の処理係数として動きボケ量毎(動き量毎)に処理係数設定部37に記憶させる。画素値生成部38は、動きベクトルvpに応じた動き方向が、処理係数を生成したときの特定の方向に対して角度差θを有する場合、例えば図32に示すように、処理係数を生成するときに設定した動き方向が水平方向であり、動き方向が角度差θを有する場合、注目画素Pnaから動き方向の処理係数に対応する画素位置は、三角印で示す位置Pwa,Pwbとなる。このため、位置Pwaの画素値DPwaを、周辺の画素位置Pw1,Pw2,Pw3,Pw4の画素値を用いて式(27)から算出する。また、同様にして位置Pwaとは逆方向である位置Pwbの画素値DPwbを算出する。
【0182】
DPwa= (1−βh)×(1−βv)×DPw1
+ βh ×(1−βv)×DPw2
+(1−βh)× βv ×DPw3
+ βh × βv ×DPw4 ・・・(27)
なお、式(27)において、βh=cosθ,βv=sinθ、DPw1は画素位置Pw1の画素値、DPw2〜DPw4は画素位置Pw2〜Pw4の画素値である。
【0183】
また、処理係数設定部37には動きボケ量と動き方向に基づいた処理係数を記憶しておくこともできる。この場合、処理係数設定部37には、上述の式(27)において、画素値DPw1,DPw2,DPw3,DPw4に乗算される各係数と動きボケ量毎の特定の処理係数を、角度差θ毎にそれぞれ乗算して、各乗算結果を動きボケ量と動き方向に基づいた処理係数として記憶させる。処理係数設定部37は、動きボケ量設定部33からの動きボケ量と動きベクトルvpに応じた動き方向に基づく処理係数を画素値生成部38に供給する。また、ボケ除去処理部381は、動きボケ量と動き方向に基づいた処理係数と、周辺の画素位置の画素値の積和演算を行うことで、動きボケが除去された画素値を生成できる。
【0184】
ボケ除去処理部382もボケ除去処理部381と同様に、(t)フレームタップ選択部362や(t+1)フレームタップ選択部363から供給された画素値と処理係数設定部37から供給された処理係数を用いて注目画素の画素値を生成して、(t)フレームと(t+1)フレームとの時間的に真ん中を出力位相として出力する。さらに、ボケ除去処理部383もボケ除去処理部381と同様に、(t+1)フレームタップ選択部363や(t+2)フレームタップ選択部364から供給された画素値と処理係数設定部37から供給された処理係数を用いて注目画素の画素値を生成して、(t+1)フレームと(t+2)フレームとの時間的に真ん中を出力位相として出力する。
【0185】
統合部39は、ボケ除去処理部381〜383から供給された画素値を統合して、動きボケ除去がなされた注目画像における注目画素の画素値として、この動きボケ除去がなされた注目画像の画像信号DVcを出力する。
【0186】
処理係数設定部に記憶させる処理係数は、上述のモデル式を用いて求めることができる。すなわち、式(20)に示すように隣接画素差分=0とする拘束を導入して、式(21)に示す足し込み特性を用いることにより、実世界変数に対応する静止画像内の注目画素を含む第1の領域の画素(式(21)に示すY8〜Y-8に相当)と、注目画素の空間位置と同じ動きボケを生じた画像内の画素を含む第2の領域の画素(式(21)に示すX6〜X-6に相当)間で行列演算を行い、注目画素に相当する中心画素変数Y0の算出に用いる係数を処理係数として処理係数設定部37に記憶させる。このように、中心画素変数Y0の算出に用いる係数を処理係数として用いるものとすれば、周辺画像の画素値を用いて動きボケが除去された画素値を算出できる。
【0187】
図33は、モデル式を用いて処理係数の生成を行う係数生成装置の機能ブロック図である。動き設定部71は、動き方向の設定や動き量の設定を行い、設定された動き方向や動き量を示す動き情報MHを行列式生成部751に供給する。
【0188】
処理係数生成部75の行列式生成部751は、動き情報MHに基づき、画像に動きボケを付加した少なくとも2つの画像からなるモデルを構築し、2つの画像例えば(t−1)フレームと(t)フレームの画像の画像間に位置する注目画素の空間的位置と略同じ2つの画像内の周辺画素の画素値の足し込み特性と、隣接画素差分=0とする拘束により行列式を生成する。
【0189】
ここで、例えば動き量v=5の場合における処理係数の生成手法について説明する。この場合、図27のようなモデルを構築し、行列式を生成する。主要項は画素値X-3、X-2、X2、X3の画素に相当するので、行列式は式(28)として示すことができる。
【0190】
【数9】
・・・(28)
【0191】
これより、Y0を求めるための行列式を式(24)のように一意に求めることができる。すなわち、動き量v=5における主要項の画素値X-3, X-2, X2, X3に線形結合される処理係数(行列式)を求めることができる。上述の式では未知数Yと式の数が一致するように拘束式を追加しているが、式(21)のように、さらに拘束式を追加して未知数Y<式の数として、最小二乗法を用いて最小二乗法で処理係数を求めてもかまわない。これより、行列式生成部751は、動き量毎に上述のように行列式を生成し、係数決定部752は、動き量毎に処理係数を求めることができる。また、動き量v=4の場合、主要項の画素値は画素値X-3、X-2、X-1、X1 、X2、X3となるので、行列式は式(29)となる。
【0192】
【数10】
【0193】
ところで、動き量vが奇数画素数分であるとき、中心画素変数Y0は図29に示すように時間的に位相が中央となっている。しかし、動き量vが偶数画素数分であるとき、中心画素変数Y0は図34Aに示すように時間的に位相が中央とならず位相差を生じてしまう。このため、仮想分割数を2倍として、図34Bに示すように1フレーム期間を等時間間隔で8分割する。さらに、Y0aとY1bを加算することで、動き量vが奇数画素分であるときの中心画素変数Y0と同様に、時間的に位相が中央である値を得ることができる。
【0194】
また、空間的位相を考えたとき、動き量が奇数画素分である場合の主要項は、2つの連続する画素単位で係数が大きく変化する。このため、主要項を用いて注目画素Pnaを求めるものとした場合は、注目画素Pnaの位相が2つの画素の中央となる。すなわち、動きボケ除去後の画像は、(t−1)フレームおよび(t)フレームの画像に対して1/2画素分だけ位相がずれたものとなる。
【0195】
また、1/2画素分の位相のずれを防止する場合は、図35に示すように、中心画素変数Y0 に対する処理係数KC-y0と変数Y1(あるいはY-1) に対する処理係数KC-y1と加算して1/2倍とした処理係数KCを用いるものとすれば良い。なお、図35において、丸印は画素位置を示している。このように処理係数KCを生成すると、主要項は3画素単位となることから、処理係数KCを用いることにより、注目画素Pnaの位相が(t−1)フレームおよび(t)フレームの画像の画素と等しくなり、(t−1)フレームおよび(t)フレームの画像と位相が等しい動きボケ除去画像を得ることができる。図34Bに示すように動き量vが偶数画素分の場合、仮想分割数が2倍とされているので、変数Y0aは変数Y0の1/2倍、変数Y1bは変数Y1の1/2倍であり、変数Y0aと変数Y1bを加算することで、中心画素変数Y0 に対する処理係数KC-y0と変数Y1 に対する処理係数KC-y1を加算して1/2倍したものと同等となり、動き量vが偶数画素分であるときの主要項は3画素単位となる。
【0196】
このため、上述のように動き量vが偶数画素分であるときや、動き量が奇数画素分であるときに主要項を3画素単位に変換して処理係数を設定して記憶させておけば、動きボケが除去された注目画素の画素値を、2つのフレームの画素と同じ画素位置で出力させることができる。
【0197】
図36は、モデル式を用いた係数生成処理を示すフローチャートである。ステップST61では、生成する処理係数の動き方向と動き量を設定する。
【0198】
ステップST62では、行列式の生成を行う。行列式の生成は、上述のように画像に動きボケを付加したモデルを構築し、隣接画素の差分を「0」とする拘束を導入して足し込み特性を示す行列式を生成する。ステップST63では、ステップST62で生成した行列式および動き方向に基づき、注目画素の算出に用いる係数を生成して処理係数とする。
【0199】
図37は、シャッタ動作を行わないものとしたときの画像処理装置の他の機能ブロック図を示している。なお、図37において、図6と対応する部分については同一符号を付し、詳細な説明は省略する。注目画素設定部35aは、2フレームの中間の位相上に注目画素を設定して、この注目画素と対応する位置の画素を2フレームの処理対象画像の注目画素と設定する。例えば、(t−1)フレームと(t)フレームの中間の位相上に注目画像とするとき、(t−1)フレーム,(t)フレームの画像を処理対象画像とする。また、設定した注目画素と対応する処理対象画像上の位置の画素を処理対象画像の注目画素と設定する。
【0200】
処理領域設定部36の(t−1)フレームタップ選択部361は、注目画素設定部35aから供給された処理対処画像における注目画素、すなわち主要項を基準として処理領域を設定する。さらに、処理領域の画素値を画素値生成部38のボケ除去処理部381に供給する。(t)フレームタップ選択部362も(t−1)フレームタップ選択部361と同様に、主要項を基準として処理領域を設定する。さらに、処理領域の画素値をボケ除去処理部382に供給する。
【0201】
動きベクトル設定部47は、視点動きベクトルを設定して処理係数設定部37に供給する。この動きベクトル設定部47は、ユーザ等によって外部から供給された視点設定用の動きベクトルを視点動きベクトルvqとして処理係数設定部37に供給する。
【0202】
処理係数設定部37は、視点動きベクトルvqに応じた処理係数を読み出して、ボケ除去処理部381,382に供給する。画素値生成部38のボケ除去処理部381,382は、処理領域の画素値と処理係数を用いて演算処理を行い、ボケ除去処理後の画素値を生成して統合部39に供給する。統合部39は、ボケ除去処理部381,382から供給された画素値を上述のように統合して、(t−1)フレームと(t)フレームの中間の位相における画像の画素値を生成し、画像信号DVfとして画像移動部42とメモリ43に供給する。
【0203】
ここで、視点動きベクトルvqの動き量が動きオブジェクトの動き量と等しく、視点動きベクトルvqの動き方向が動きオブジェクトの動き方向と逆方向であるときは、動きオブジェクトの画像から動きボケが除去されて統合部39から出力される。また、視点動きベクトルvqの動き量が動きオブジェクトの動き量と異なる場合や、視点動きベクトルvqの動き方向が動きオブジェクトの動き方向の逆方向でないときは、動き量の差分や動き方向の違いに応じた動きボケが残された画像が統合部39から出力されることとなる。
【0204】
画像移動部42は、動きベクトル設定部47から供給された視点動きベクトルvqに基づき、視点動きベクトルvqの動き方向とは逆方向で、視点動きベクトルvqの動き量分だけ統合部39から出力された画像信号DVfに基づく画像を全画面移動させる。さらに、全画面移動後の画像信号DVgをフレームメモリ44と提示画像形成部45に供給する。また、提示画像形成部45は、全画面移動後の画像信号DVgやメモリ43、フレームメモリ44に記憶されている画像の画像信号を用いて、提示画像の画像信号DVoutを形成して出力する。
【0205】
図38は、シャッタ動作を行わないものとしたときの画像処理をソフトウェアで行う場合のフローチャートを示している。ステップST71でCPU201は、注目画素を設定してステップST72に進む。ステップST72でCPU201は、視点動きベクトルを設定してステップST73に進む。ステップST73でCPU201は、処理対象画像上の注目画素を中心として処理領域を設定する。ステップST74でCPU201は、ステップST72で設定した視点動きベクトルに応じて処理係数を設定してステップST75に進む。
【0206】
ステップST75でCPU201は、ボケ除去処理を各処理対象画像に対して行う。すなわち、各処理対象画像に対してステップST73で設定した処理範囲の画素値とステップST74で設定した処理係数との演算処理を行い、ボケ除去がなされた画素値を各処理対象画像の注目画素毎に算出してステップST76に進む。ステップST76でCPU201は、ステップST75で処理対象画像毎に算出した画素値の統合処理を行い1つの画素値を生成して、処理対象画像の中間の位相における画像の画素値としてステップST77に進む。
【0207】
ステップST77でCPU201は、全画面に対してボケ除去処理が完了したか否かを判別し、ボケ除去処理が行われていない画素があるときはステップST71に戻り、全画面に対する処理が完了したときはステップST78に進む。
【0208】
ステップST78でCPU201は、視点動きベクトルに基づき、動きボケ付加注目画像の全画面移動を行って任意視点画像を生成してステップST79に進む。ステップST79でCPU201は、提示画像形成を行う。すなわち、画像の無い部分を補間することで提示画像を形成して処理を終了する。
【0209】
このように、シャッタ動作を行わないものとしたときは、画素毎の動きベクトルや露光時間比率の設定を行うことなく、簡単な構成で任意視点画像を生成できる。なお、このときの任意視点画像は、視点を変更したことによる動きボケは付加されていない画像となる。
【0210】
さらに、シャッタ動作を行わないときに用いる処理係数は、モデル式を用いて求める場合に限られるものではなく、教師画像と生徒画像を用いた学習によって生成するものとしても良い。
【産業上の利用可能性】
【0211】
以上のように、本発明にかかる画像処理装置と画像処理方法および画像処理プログラムは、画像センサを用いて現実社会を撮像して得られる画像信号に埋もれてしまった情報を抽出する際に有用であり、動きボケを除去した解像度の高い画像を得る場合に好適である。
【図面の簡単な説明】
【0212】
図1は、システムの構成を示す図である。
図2は、画像センサによる撮像を説明するための図である。
図3Aと図3Bは、撮像画像を説明するための図である。
図4は、画素値の時間方向分割動作を説明するための図である。
図5は、シャッタ動作を行ったときの画素値の時間方向分割動作を説明するための図である。
図6は、画像処理装置の機能ブロック図である。
図7は、ソフトウェアを用いるときの画像処理装置の構成を示す図である。
図8は、露光時間比率推定部の機能ブロック図である。
図9は、領域特定部の機能ブロック図である。
図10は、領域判定処理を説明するための図である。
図11は、理想的な混合比を示す図である。
図12は、空間方向の処理領域を説明するための図である。
図13は、時間方向の処理領域を説明するための図である。
図14のA〜Eは、画像移動部の動作を説明するための図である。
図15A〜図15Dは、画像移動部の他の動作を説明するための図である。
図16A〜図16Eは、提示画像形成部の動作を説明するための図である。
図17A〜図17Dは、提示画像形成部の他の動作を説明するための図である。
図18は、画像処理を示すフローチャートである。
図19は、処理係数を学習によって求めて動きボケ除去を行う場合の構成を示す図ある。
図20は、学習装置の機能ブロック図である。
図21は、予測タップを離散的に選択する場合の動作を説明するための図である。
図22は、アクティビティの算出を説明するための図である。
図23は、処理係数の学習処理を示すフローチャートである。
図24は、クラス分類を用いた画像処理のフローチャートである。
図25は、クラス分類を行う場合の学習装置の機能ブロック図である。
図26は、クラス分類を用いた処理係数の学習処理を示すフローチャートである。
図27は、処理領域を説明するための図である。
図28Aと図28Bは、処理領域の設定例を示す図である。
図29は、処理領域における実世界変数の時間混合(動き量v=5の場合)を説明するための図である。
図30は、主要項と処理係数を示す図である。
図31は、画像処理装置の他の機能ブロック図である。
図32は、画素値の算出方法を説明するための図である。
図33は、係数生成装置の機能ブロック図である。
図34Aと図34Bは、処理領域における実世界変数の時間混合(動き量v=4の場合)を説明するための図である。
図35は、空間方向の位相を一致させるときの主要項と処理係数を説明するための図である。
図36は、係数生成処理を示すフローチャートである。
図37は、画像処理装置の他の機能ブロック図である。
図38は、シャッタ動作を行わないときの画像処理を示すフローチャートである。
Claims (14)
- 注目画像内の画素単位で第1の動きベクトルを設定する動きベクトル設定部と、
注目画像の時間間隔と露光時間との比率である露光時間比率を画像単位で設定する露光時間比率設定部と、
前記動きベクトル設定部により画素単位で設定された第1の動きベクトルと、前記露光時間比率設定部により設定された露光時間比率に基づいて、画素単位で動きボケ量を設定する動きボケ量設定部と、
前記動きボケ量設定部により設定された動きボケ量および前記第1の動きベクトルに対応する動き方向に基づき、前記注目画像内の注目画素に対する処理領域を設定する処理領域設定部と、
前記動きボケ量設定部により設定された動きボケ量に基づき、特定の処理係数を設定するか、あるいは前記注目画素の動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定部と、
前記処理領域内の画素に対応する画素値から前記動き方向に応じて生成された新たな処理用の画素値と、前記処理係数設定部により設定された特定の処理係数との線形結合、あるいは前記処理領域内の画素に対応する画素値と前記動きボケ量と動き方向に応じて設定された処理係数の線形結合により、前記注目画素に対応する画素値を生成する画素値生成部と、
入力された第2の動きベクトルと、前記第1の動きベクトルに基づき、画素単位で、前記画素値生成部により生成された画素値からなる画像に対して動きボケを付加する動きボケ付加部と、
前記動きボケ付加部により動きボケ付加された動きボケ付加注目画像を、前記第2の動きベクトルと対向するベクトルに沿って移動する画像移動部とを備える画像処理装置。 - 前記動きボケ付加部は、前記露光時間比率に応じて、前記画像に対して動きボケを付加する請求項1記載の画像処理装置。
- 前記画像移動部により移動された動きボケ付加注目画像内の画素値が存在しない部分を補間して提示画像を形成する提示画像形成部を備える請求項1記載の画像処理装置。
- 前記画素値生成部により生成された画素値を蓄積することにより、前記注目画像の時間的に前後である周辺画像に対して前記動きボケ付加部により動きボケ付加された動きボケ付加周辺画像を記憶する記憶部を備え、
前記動きボケ付加注目画像が提示されるときに画素値が無い部分を、前記提示画像形成部は、前記動きボケ付加周辺画像から該画素値を取得し、その画素値で補間する請求項3記載の画像処理装置。 - 前記提示画像形成部は、前記画像移動部により移動された動きボケ付加注目画像内の画素値が存在しない部分に固定値を割り当てる請求項3記載の画像処理装置。
- 前記提示画像形成部は、前記動きボケ付加注目画像が移動することにより画枠外となる画素の画素値を折り返し、前記画像移動部により移動された動きボケ付加注目画像内の画素値が存在しない部分に、折り返した画素値を割り当てる請求項3記載の画像処理装置。
- 前記注目画像よりも大きいフレームメモリを備え、
前記画像移動部により前記第2の動きベクトルと対向するベクトルに沿って移動された動きボケ付加注目画像のうち、前記注目画像の画枠から外れた画素値も前記フレームメモリに記憶しておく請求項1記載の画像処理装置。 - 前記画像移動部は、前記画像移動部により移動された動きボケ付加注目画像を順次前記フレームメモリに記憶していく請求項7記載の画像処理装置。
- 前記動きベクトル設定部により設定された動きベクトルに基づき、画像毎に前記注目画素を設定する注目画素設定部と、
単一の画素値を出力する統合部を備え、
前記処理領域設定部は、前記動きボケ量設定部により設定された動きボケ量および前記動きベクトルに対応する動き方向に基づき、前記注目画素設定部により設定された画像毎の注目画素に対する処理領域を設定し、
前記画素値生成部は、前記画像毎に設定された処理領域内の画素に対応する画素値から前記動き方向に応じて生成された新たな処理用の画素値と、前記処理係数設定部により設定された特定の処理係数との線形結合、あるいは前記処理領域内の画素に対応する画素値と前記注目画素の動きボケ量と動き方向に応じて設定された処理係数の線形結合により、前記画像毎の注目画素に対応する画素値を生成し、
前記統合部は、前記画素値生成部により生成された画像毎の注目画素に対応する画素値を統合処理して、前記単一の画素値を生成して出力する請求項1記載の画像処理装置。 - 予測する注目画像内の注目画素を設定する注目画素設定部と、
入力された前記注目画素が含まれる画像に対応する動きベクトルを設定する動きベクトル設定部と、
前記注目画素の空間位置と略同じ周辺画像内の画素が含まれる処理領域を設定する処理領域設定部と、
前記動きベクトルに対応する動きボケ量に基づき、特定の処理係数を設定するか、あるいは前記動きベクトルに対応する動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定部と、
前記処理領域内の画素に対応する画素値から前記動き方向に応じて生成された新たな処理用の画素値と、前記処理係数設定部により設定された特定の処理係数との線形結合、あるいは前記処理領域内の画素に対応する画素値と前記動きボケ量と動き方向に応じて設定された処理係数の線形結合により、前記注目画素に対応する画素値を生成する画素値生成部と、
前記画素値生成部により生成された画素値からなる処理画像を、前記入力された動きベクトルと対向するベクトルに沿って移動する画像移動部とを有する画像処理装置。 - 注目画像内の画素単位で第1の動きベクトルを設定する動きベクトル設定工程と、
注目画像の時間間隔と露光時間との比率である露光時間比率を画像単位で設定する露光時間比率設定工程と、
前記動きベクトル設定工程により画素単位で設定された第1の動きベクトルと、前記露光時間比率設定工程により設定された露光時間比率に基づいて、画素単位で動きボケ量を設定する動きボケ量設定工程と、
前記動きボケ量設定工程により設定された動きボケ量および前記第1の動きベクトルに対応する動き方向に基づき、前記注目画像内の注目画素に対する処理領域を設定する処理領域設定工程と、
前記動きボケ量設定工程により設定された動きボケ量に基づき、特定の処理係数を設定するか、あるいは前記注目画素の動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定工程と、
前記処理領域内の画素に対応する画素値から前記動き方向に応じて生成された新たな処理用の画素値と、前記処理係数設定工程により設定された特定の処理係数との線形結合、あるいは前記処理領域内の画素に対応する画素値と前記動きボケ量と動き方向に応じて設定された処理係数の線形結合により、前記注目画素に対応する画素値を生成する画素値生成工程と、
入力された第2の動きベクトルと、前記第1の動きベクトルに基づき、画素単位で、前記画素値生成工程により生成された画素値からなる画像に対して動きボケを付加する動きボケ付加工程と、
前記動きボケ付加工程により動きボケ付加された動きボケ付加注目画像を、前記第2の動きベクトルと対向するベクトルに沿って移動する画像移動工程とを備える画像処理方法。 - 予測する注目画像内の注目画素を設定する注目画素設定工程と、
入力された前記注目画素が含まれる画像に対応する動きベクトルを設定する動きベクトル設定工程と、
前記注目画素の空間位置と略同じ周辺画像内の画素が含まれる処理領域を設定する処理領域設定工程と、
前記動きベクトルに対応する動きボケ量に基づき、特定の処理係数を設定するか、あるいは前記動きベクトルに対応する動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定工程と、
前記処理領域内の画素に対応する画素値から前記動き方向に応じて生成された新たな処理用の画素値と、前記処理係数設定工程により設定された特定の処理係数との線形結合、あるいは前記処理領域内の画素に対応する画素値と前記動きボケ量と動き方向に応じて設定された処理係数の線形結合により、前記注目画素に対応する画素値を生成する画素値生成工程と、
前記画素値生成工程により生成された画素値からなる処理画像を、前記入力された動きベクトルと対向するベクトルに沿って移動する画像移動工程とを有する画像処理方法。 - コンピュータに、
注目画像内の画素単位で第1の動きベクトルを設定する動きベクトル設定ステップと、
注目画像の時間間隔と露光時間との比率である露光時間比率を画像単位で設定する露光時間比率設定ステップと、
前記動きベクトル設定ステップにより画素単位で設定された第1の動きベクトルと、前記露光時間比率設定ステップにより設定された露光時間比率に基づいて、画素単位で動きボケ量を設定する動きボケ量設定ステップと、
前記動きボケ量設定ステップにより設定された動きボケ量および前記第1の動きベクトルに対応する動き方向に基づき、前記注目画像内の注目画素に対する処理領域を設定する処理領域設定ステップと、
前記動きボケ量設定ステップにより設定された動きボケ量に基づき、特定の処理係数を設定するか、あるいは前記注目画素の動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定ステップと、
前記処理領域内の画素に対応する画素値から前記動き方向に応じて生成された新たな処理用の画素値と、前記処理係数設定ステップにより設定された特定の処理係数との線形結合、あるいは前記処理領域内の画素に対応する画素値と、前記動きボケ量と動き方向に応じて設定された処理係数の線形結合により、前記注目画素に対応する画素値を生成する画素値生成ステップと、
入力された第2の動きベクトルと、前記第1の動きベクトルに基づき、画素単位で、前記画素値生成ステップにより生成された画素値からなる画像に対して動きボケを付加する動きボケ付加ステップと、
前記動きボケ付加ステップにより動きボケ付加された動きボケ付加注目画像を、前記第2の動きベクトルと対向するベクトルに沿って移動する画像移動ステップとを実行させる画像処理プログラム。 - コンピュータに、
予測する注目画像内の注目画素を設定する注目画素設定ステップと、
入力された前記注目画素が含まれる画像に対応する動きベクトルを設定する動きベクトル設定ステップと、
前記注目画素の空間位置と同じ周辺画像内の画素が含まれる処理領域を設定する処理領域設定ステップと、
前記動きベクトルに対応する動きボケ量に基づき、特定の処理係数を設定するか、あるいは前記動きベクトルに対応する動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定ステップと、
前記処理領域内の画素に対応する画素値から前記動き方向に応じて生成された新たな処理用の画素値と、前記処理係数設定ステップにより設定された特定の処理係数との線形結合、あるいは前記処理領域内の画素に対応する画素値と、前記動きボケ量と動き方向に応じて設定された処理係数の線形結合により、前記注目画素に対応する画素値を生成する画素値生成ステップと、
前記画素値生成ステップにより生成された画素値からなる処理画像を、前記入力された動きベクトルと対向するベクトルに沿って移動する画像移動ステップとを実行させる画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006549087A JP4868236B2 (ja) | 2004-12-21 | 2005-12-21 | 画像処理装置と画像処理方法および画像処理プログラム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004369266 | 2004-12-21 | ||
JP2004369266 | 2004-12-21 | ||
JP2006549087A JP4868236B2 (ja) | 2004-12-21 | 2005-12-21 | 画像処理装置と画像処理方法および画像処理プログラム |
PCT/JP2005/024002 WO2006068293A1 (ja) | 2004-12-21 | 2005-12-21 | 画像処理装置と画像処理方法および画像処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2006068293A1 JPWO2006068293A1 (ja) | 2008-06-12 |
JP4868236B2 true JP4868236B2 (ja) | 2012-02-01 |
Family
ID=36601878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006549087A Expired - Fee Related JP4868236B2 (ja) | 2004-12-21 | 2005-12-21 | 画像処理装置と画像処理方法および画像処理プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US7710461B2 (ja) |
JP (1) | JP4868236B2 (ja) |
WO (1) | WO2006068293A1 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4709101B2 (ja) | 2006-09-01 | 2011-06-22 | キヤノン株式会社 | 自動追尾カメラ装置 |
KR100843093B1 (ko) * | 2006-11-28 | 2008-07-02 | 삼성전자주식회사 | 움직임에 따라 컨텐츠를 디스플레이하는 장치 및 방법 |
JP2009081574A (ja) * | 2007-09-25 | 2009-04-16 | Toshiba Corp | 画像処理装置、方法およびプログラム |
WO2009040955A1 (ja) * | 2007-09-28 | 2009-04-02 | Fujitsu Limited | エラー判定装置およびエラー判定方法 |
JP4666012B2 (ja) * | 2008-06-20 | 2011-04-06 | ソニー株式会社 | 画像処理装置、画像処理方法、プログラム |
JP4674620B2 (ja) * | 2008-07-29 | 2011-04-20 | ソニー株式会社 | 画像処理装置、画像処理方法、及びプログラム |
JP4613990B2 (ja) * | 2008-07-31 | 2011-01-19 | ソニー株式会社 | 画像処理装置、画像処理方法、プログラム |
US8228400B2 (en) * | 2009-04-17 | 2012-07-24 | Sony Corporation | Generation of simulated long exposure images in response to multiple short exposures |
JP5418127B2 (ja) * | 2009-10-09 | 2014-02-19 | ソニー株式会社 | 画像処理装置および方法、並びにプログラム |
JP2011114823A (ja) * | 2009-11-30 | 2011-06-09 | Sanyo Electric Co Ltd | 画像処理装置及び撮像装置 |
JP5558431B2 (ja) * | 2011-08-15 | 2014-07-23 | 株式会社東芝 | 画像処理装置、方法及びプログラム |
WO2013173670A2 (en) | 2012-05-18 | 2013-11-21 | Thomson Licensing | Processing panoramic pictures |
JP2014007648A (ja) * | 2012-06-26 | 2014-01-16 | Sony Corp | 画像処理装置と画像処理方法およびプログラム |
US9712702B1 (en) * | 2013-03-15 | 2017-07-18 | ArcaSearch Corporation | Apparatus and method for imaging physical documents |
CN107995477A (zh) * | 2016-10-26 | 2018-05-04 | 中联盛世文化(北京)有限公司 | 图像展示方法、客户端及***、图像发送方法及服务器 |
JP7300985B2 (ja) * | 2017-04-17 | 2023-06-30 | ソニーグループ株式会社 | 情報処理装置および情報処理方法 |
JP7098342B2 (ja) * | 2018-02-06 | 2022-07-11 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法、およびプログラム |
US11055859B2 (en) | 2018-08-22 | 2021-07-06 | Ford Global Technologies, Llc | Eccentricity maps |
JP7327917B2 (ja) * | 2018-09-14 | 2023-08-16 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
US11783707B2 (en) | 2018-10-09 | 2023-10-10 | Ford Global Technologies, Llc | Vehicle path planning |
US11423516B2 (en) * | 2019-03-29 | 2022-08-23 | Tobii Ab | Gaze enhanced natural motion blur |
US11460851B2 (en) | 2019-05-24 | 2022-10-04 | Ford Global Technologies, Llc | Eccentricity image fusion |
US11521494B2 (en) | 2019-06-11 | 2022-12-06 | Ford Global Technologies, Llc | Vehicle eccentricity mapping |
US11662741B2 (en) | 2019-06-28 | 2023-05-30 | Ford Global Technologies, Llc | Vehicle visual odometry |
US12046047B2 (en) | 2021-12-07 | 2024-07-23 | Ford Global Technologies, Llc | Object detection |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001250119A (ja) * | 1999-12-28 | 2001-09-14 | Sony Corp | 信号処理装置および方法、並びに記録媒体 |
JP2002373336A (ja) * | 2001-06-15 | 2002-12-26 | Sony Corp | 画像処理装置および方法、記録媒体、並びにプログラム |
JP2003233817A (ja) * | 2002-02-08 | 2003-08-22 | Sony Corp | 画像処理装置および方法、記録媒体、並びにプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4596216B2 (ja) * | 2001-06-20 | 2010-12-08 | ソニー株式会社 | 画像処理装置および方法、記録媒体、並びにプログラム |
JP4596221B2 (ja) * | 2001-06-26 | 2010-12-08 | ソニー株式会社 | 画像処理装置および方法、記録媒体、並びにプログラム |
JP4596223B2 (ja) * | 2001-06-27 | 2010-12-08 | ソニー株式会社 | 画像処理装置および方法、記録媒体、並びにプログラム |
-
2005
- 2005-12-21 WO PCT/JP2005/024002 patent/WO2006068293A1/ja not_active Application Discontinuation
- 2005-12-21 JP JP2006549087A patent/JP4868236B2/ja not_active Expired - Fee Related
- 2005-12-21 US US11/722,436 patent/US7710461B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001250119A (ja) * | 1999-12-28 | 2001-09-14 | Sony Corp | 信号処理装置および方法、並びに記録媒体 |
JP2002373336A (ja) * | 2001-06-15 | 2002-12-26 | Sony Corp | 画像処理装置および方法、記録媒体、並びにプログラム |
JP2003233817A (ja) * | 2002-02-08 | 2003-08-22 | Sony Corp | 画像処理装置および方法、記録媒体、並びにプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2006068293A1 (ja) | 2006-06-29 |
US20080259169A1 (en) | 2008-10-23 |
JPWO2006068293A1 (ja) | 2008-06-12 |
US7710461B2 (en) | 2010-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4868236B2 (ja) | 画像処理装置と画像処理方法および画像処理プログラム | |
JP4766334B2 (ja) | 画像処理装置と画像処理方法および画像処理プログラム | |
JP5133281B2 (ja) | 撮像処理装置 | |
JP4317587B2 (ja) | 撮像処理装置および撮像装置、画像処理方法およびコンピュータプログラム | |
WO2005079062A1 (ja) | 画像処理装置と画像処理方法およびプログラム | |
KR100323678B1 (ko) | 화면비 변환 장치 | |
NL1027270C2 (nl) | Deïnterlinieringsinrichting met een ruisverminderings/verwijderingsinrichting. | |
KR20060083978A (ko) | 움직임 벡터 필드 리-타이밍 | |
JP4867659B2 (ja) | 画像処理装置と学習装置と係数生成装置および方法 | |
JP4766333B2 (ja) | 画像処理装置と画像処理方法および画像処理プログラム | |
JP4872672B2 (ja) | 学習装置と学習方法および学習プログラム | |
JP4279549B2 (ja) | ビデオ・スキャン・レート変換用動き補償アップコンバージョン | |
JP4656391B2 (ja) | 画像処理装置と画像処理方法およびプログラム | |
JP4140091B2 (ja) | 画像情報変換装置および画像情報変換方法 | |
JP2011015228A (ja) | 画像処理装置、撮像処理装置、画像処理方法、および、画像処理装置の制御プログラム | |
JP4596248B2 (ja) | 画像処理装置と画像処理方法およびプログラム | |
Fedak et al. | Image and video super-resolution via accurate motion estimation | |
JP2006332904A (ja) | 輪郭強調回路 | |
Shahinfard et al. | Deinterlacing/interpolation of TV signals | |
JP2003189255A (ja) | 画像処理装置および方法、記録媒体、並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081112 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081112 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090918 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20091106 |
|
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: 20111020 |
|
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: 20111102 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141125 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |