JP4766334B2 - 画像処理装置と画像処理方法および画像処理プログラム - Google Patents
画像処理装置と画像処理方法および画像処理プログラム Download PDFInfo
- Publication number
- JP4766334B2 JP4766334B2 JP2006549086A JP2006549086A JP4766334B2 JP 4766334 B2 JP4766334 B2 JP 4766334B2 JP 2006549086 A JP2006549086 A JP 2006549086A JP 2006549086 A JP2006549086 A JP 2006549086A JP 4766334 B2 JP4766334 B2 JP 4766334B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- image
- motion
- pixel
- unit
- 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
Images
Classifications
-
- 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/681—Motion detection
- H04N23/6812—Motion detection based on additional sensors, e.g. acceleration sensors
-
- 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
- H04N23/6845—Vibration or motion blur correction performed by controlling the image sensor readout, e.g. by controlling the integration time by combination of a plurality of images sequentially taken
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
- Picture Signal Circuits (AREA)
- Image Processing (AREA)
Description
【0001】
この発明は、画像処理装置と画像処理方法および画像処理プログラムに関する。詳しくは、撮像部から撮影情報を検出して、この撮影情報内の撮像部の動き方向に基づき画像の全画面動き方向を検出する。また、予測される注目画像内の注目画素に対応する、注目画像および周辺画像のうち少なくとも何れか一方の処理領域と、検出した動き方向に対応する動きボケ除去用の処理係数を設定し、処理領域内の画素の画素値と、処理係数とに基づき、注目画素に対応する画素値を生成するものである。
【背景技術】
【0002】
従来より、現実世界における事象を、センサを用いてデータ化することが行われている。このセンサを用いて取得されたデータは、現実世界の情報(例えば、光)が、現実世界より低い次元の時空間に射影して得られた情報である。このため、射影して得られた情報は、射影により発生する歪みを有している。例えば、静止している背景の前で移動する物体をビデオカメラで撮像して画像信号としてデータ化する場合、現実世界の情報をサンプリングしてデータ化することから、画像信号に基づいて表示される画像では、射影により発生する歪みとして、動いている物体がボケてしまう動きボケが生じる。
【0003】
このため、特開2001−250119号公報(対応米国出願番号:09/830858、対応欧州特許公開番号:EP1164545)で開示されているように、例えば、入力画像に含まれる前景のオブジェクトに対応する画像オブジェクトの輪郭を検出することで、前景のオブジェクトに対応する画像オブジェクトを粗く抽出し、この粗く抽出された前景のオブジェクトに対応する画像オブジェクトの動きベクトルを検出して、検出した動きベクトルおよび動きベクトルの位置情報を用いて動きボケの除去が行われている。
【発明の開示】
【0004】
ところで、動きボケ除去処理においては、動きベクトルを精度良く検出しないと、動きボケを精度良く除去することができない。また、時間方向の情報も使用して処理精度を向上させるものとした場合、例えばシャッタ動作が行われて露光時間が1フレーム期間よりも小さくなると、物体の動き量と入力画像のボケ量とは必ずしも一致しない。このため、露光時間の割合である露光時間比率を精度良く検出しないと入力画像のボケ量を正しく検出できず動きボケを精度良く除去することができなくなってしまう。
【0005】
そこで、この発明では、動きボケ除去処理を精度良く行うことができる画像処理装置と画像処理方法および画像処理プログラムを提供するものである。
【0006】
この発明に係る画像処理装置は、撮像部から撮影情報を検出する撮影情報検出部と、撮影情報内の撮像部の動き方向に基づき画像の全画面動き方向を検出する動き検出部と、予測される注目画像内の注目画素に対応する、注目画像および周辺画像のうち少なくとも何れか一方の処理領域を設定する処理領域設定部と、動き方向に対応する動きボケ除去用の処理係数を設定する処理係数設定部と、処理領域内の画素の画素値と、処理係数とに基づき、注目画素に対応する画素値を生成する画素値生成部とを備えるものである。
【0007】
この発明に係る画像処理方法は、撮像部から撮影情報を検出する撮影情報検出工程と、撮影情報内の撮像部の動き方向に基づき画像の全画面動き方向を検出する動き検出工程と、予測される注目画像内の注目画素に対応する、注目画像および周辺画像のうち少なくとも何れか一方の処理領域を設定する処理領域設定工程と、動き方向に対応する動きボケ除去用の処理係数を設定する処理係数設定工程と、処理領域内の画素の画素値と、処理係数とに基づき、注目画素に対応する画素値を生成する画素値生成工程とを備えるものである。
【0008】
この発明に係る画像処理プログラムは、コンピュータに、撮像部から撮影情報を検出する撮影情報検出ステップと、撮影情報内の撮像部の動き方向に基づき画像の全画面動き方向を検出する動き検出ステップと、予測される注目画像内の注目画素に対応する、注目画像および周辺画像のうち少なくとも何れか一方の処理領域を設定する処理領域設定ステップと、動き方向に対応する動きボケ除去用の処理係数を設定する処理係数設定ステップと、処理領域内の画素の画素値と、処理係数とに基づき、注目画素に対応する画素値を生成する画素値生成ステップとを実行させるものである。
【0009】
この発明においては、露光時間や撮像部の動き、ガンマ値等を撮影情報として検出して、ガンマ値に基づき撮像部から供給された画像の逆ガンマ処理が行われる。また、撮影情報に基づき画像の動きベクトルや露光時間比率が検出されて、動きベクトルと露光時間比率に基づき動きボケ量が検出される。この動きボケ量に基づき、動きボケ除去用の処理係数が設定される。さらに、逆ガンマ処理後の画像を用いて、予測される注目画像内の注目画素に対応する、注目画像および周辺画像のうち少なくとも何れか一方に処理領域が設定されて、動きボケ除去用の処理係数と処理領域内の画素の画素値から注目画素に対応する画素値が生成される。この生成された画素値は、撮影情報のガンマ値に基づいてガンマ処理されたのち出力される。
【発明の効果】
【0010】
この発明によれば、撮像部から撮影情報が検出されて、この撮影情報内の撮像部の動き方向に基づき画像の全画面動き方向が検出される。また、予測される注目画像内の注目画素に対応する、注目画像および周辺画像のうち少なくとも何れか一方に処理領域が設定される。さらに、動き方向に対応する動きボケ除去用の処理係数が設定されて、処理領域内の画素の画素値と処理係数とに基づき、注目画素に対応する画素値が生成される。
【0011】
このように、撮像部から撮影情報を検出して、この撮影情報を用いて動きボケ除去が行われるので、実世界信号を精度良く構築することができる。また、注目画像や周辺画像に処理領域を設定することで、時間方向の情報を用いた動きボケ除去が可能となり、さらに精度良く実世界信号を構築できる。
【0012】
また、動きボケ量に応じて処理領域の大きさ、動き方向に応じて処理領域の方向、動きボケ量に応じて処理係数の設定が行われるので、画像の動きに応じた動きボケ除去を行うことができる。さらに、撮影情報に基づき逆ガンマ処理を施した画像を用いて動きボケ除去が行われて、生成された画素値に対してガンマ処理を施してから出力されるので、撮像部からガンマ処理された画像が出力されても、正しく動きボケ除去を行うことができる。
【発明を実施するための最良の形態】
【0013】
以下、図を参照しながら、この発明の実施の形態について説明する。図1は、本発明を適用するシステムの構成を示すブロック図である。撮像部10は現実社会を撮像した画像信号DVaを生成して画像処理装置20に供給する。画像処理装置20は、供給された入力画像の画像信号DVaに埋もれてしまった情報の抽出を行い、埋もれてしまった情報を抽出した画像信号DVoutを生成して出力する。なお、画像処理装置20は、外部から供給された種々の情報ETを用いて、画像信号DVaに埋もれてしまった情報の抽出を行うこともできるようになされている。
【0014】
撮像部10は、固体撮像素子であるCCD(Charge-Coupled Device)エリアセンサやMOSエリアセンサを備えたビデオカメラなどで構成されており、現実社会を撮像する。例えば、図2に示すように、撮像部10と背景に対応するオブジェクトOBbとの間を、前景に対応する動きオブジェクトOBfが矢印A方向に移動するとき、撮像部10は、前景に対応する動きオブジェクトOBfを背景に対応するオブジェクトOBbと共に撮像する。
【0015】
この撮像部10の検出素子は、露光時間に対応する期間、入力された光を電荷に変換して、光電変換された電荷を蓄積する。電荷の量は、入力された光の強さと、光が入力されている時間にほぼ比例する。検出素子は、露光時間に対応する期間において、入力された光から変換された電荷を、既に蓄積されている電荷に加えていく。すなわち、検出素子は、露光時間に対応する期間、入力される光を積分して、積分された光に対応する量の電荷を蓄積する。検出素子は、時間に対して、積分効果があるとも言える。このように、画像センサで光電変換を行い、入力された光を画素単位で電荷に変換して露光時間単位で蓄積する。この蓄積された電荷量に応じて画素信号を生成して、この画素信号を用いて所望のフレームレートの画像信号を生成して画像処理装置に供給する。なお、画像センサの露光時間は、上述のように画像センサが入力された光を電荷に変換して検出素子にその電荷を蓄積する期間であり、シャッタ動作が行われていないときは画像時間間隔(例えば1フレーム期間)と等しいものである。また、シャッタ動作が行われるときはシャッタ開時間と等しいものである。
【0016】
図3Aおよび図3Bは、画像信号で示される撮像画像を説明するための図である。図3Aは、動いている前景に対応する動きオブジェクトOBfと、静止している背景に対応するオブジェクトOBbとを撮像して得られる画像を示している。なお、前景に対応する動きオブジェクトOBfは、矢印A方向に水平移動しているものとする。
【0017】
図3Bは、図3Aに示すように矢印A方向に伸びたラインL(破線で示す)の位置での画像と時間の関係を示している。動きオブジェクトOBfのラインLにおける移動方向の長さが例えば9画素分であり、1露光時間中に5画素移動する場合、フレーム期間開始時に画素位置P21にあった前端と画素位置P13にあった後端は、それぞれ画素位置P25,P17で露光時間の終了となる。また、シャッタ動作が行われていないとき、1フレームにおける露光時間は1フレーム期間と等しいことから、次のフレーム期間開始時に前端が画素位置P26、後端が画素位置P18となる。
【0018】
このため、ラインLのフレーム期間において、画素位置P12までと画素位置P26からは、背景成分のみの背景領域となる。また、画素位置P17〜P21は、前景成分のみの前景領域となる。画素位置P13〜P16と画素位置P22〜P25は、背景成分と前景成分が混合された混合領域となる。混合領域は、時間の経過に対応して背景成分が前景に覆い隠されるカバードバックグランド領域と、時間の経過に対応して背景成分が現れるアンカバードバックグランド領域に分類される。なお、図3Bでは、前景のオブジェクトOBfの進行方向前端側に位置する混合領域がカバードバックグランド領域、後端側に位置する混合領域がアンカバードバックグランド領域となる。このように、画像信号には、前景領域、背景領域、またはカバードバックグランド領域若しくはアンカバードバックグランド領域を含む画像が含まれることとなる。
【0019】
ここで、画像時間間隔は短時間であり、前景に対応する動きオブジェクトOBfは剛体であって等速に移動していると仮定して、ラインLにおける画素値の時間方向分割動作を図4に示すように行う。この時間方向分割動作では、画素値を時間方向に展開して仮想分割数で等時間間隔に分割する。なお、図4において縦方向は時間に対応し、図中の上から下に向かって時間が経過することを示している。
【0020】
仮想分割数は、動きオブジェクトの画像時間間隔での動き量vなどに対応して設定する。例えば、1フレーム期間内の動き量vが上述のように5画素であるときは、動き量vに対応して仮想分割数を「5」に設定して、1フレーム期間を等時間間隔で5分割する。
【0021】
また、背景に対応するオブジェクトOBbを撮像したときに得られる画素位置Pxの1フレーム期間の画素値をBx、ラインLにおける長さが9画素分である前景に対応する動きオブジェクトOBfを静止させて撮像したとき、各画素で得られる画素値をF09(前端側)〜F01(後端側)とする。
【0022】
この場合、例えば画素位置P14の画素値DP14は、式(1)で表される。
DP14=B14/v+B14/v+B14/v+F01/v+F02/v ・・・(1)
【0023】
この画素位置P14では、背景の成分を3仮想分割時間(フレーム期間/v)含み、前景成分を2仮想分割時間含むので、画素値に対する背景成分の混合比αは(3/5)となる。同様に、例えば画素位置P22では、背景の成分を1仮想分割時間含み、前景成分を4仮想分割時間含むので、混合比αは(1/5)となる。
【0024】
また、シャッタ動作が行われて、1フレーム期間に対する露光時間の比率を示す露光時間比率が変化されたとき、例えば、露光時間比率が「3/5」であるときは、図5に示すように、1フレーム期間における画素値の時間方向分割動作を行い、画素値を露光時間比率に応じた仮想分割数で等時間間隔に分割する。
【0025】
仮想分割数は、動きオブジェクトの画像時間間隔内での動き量vなどに対応して設定する。例えば、1フレーム期間内の動き量vが上述のように5画素であるときは、動き量vに対応して仮想分割数を「5」に設定して、1フレーム期間を等時間間隔で5分割する。
【0026】
この場合、例えば画素位置P14の画素値DP14は、式(2)で表される。
DP14=B14/v+F01/v+F02/v ・・・(2)
【0027】
この画素位置P14では、背景の成分を1仮想分割時間(フレーム期間/v)含み、前景成分を2仮想分割時間含むので、混合比αは(1/3)となる。同様に、例えば画素位置P22では、背景の成分を1仮想分割時間含み、前景成分を2仮想分割時間含むので、混合比αは(1/3)となる。
【0028】
また、シャッタ動作が行われたとき、露光時間比率と1フレーム期間内での動き量vを乗算して露光時間内動き量vsを算出することができる。
【0029】
このように、前景の成分が移動することから、1露光時間では、異なる前景の成分が加算されるので、動きオブジェクトに対応する前景の領域は、動きボケを含むものとなる。このため、画像処理装置20では、画像信号に埋もれてしまった有意情報を抽出して前景に対応する動きオブジェクトOBfの動きボケを軽減させた画像信号DVoutを生成する。
【0030】
図6は、画像処理装置の機能ブロック図である。なお、画像処理装置の各機能はハードウェアで実現するか、ソフトウェアで実現するかは問わない。つまり、図6の機能ブロックは、ハードウェアで実現するものとしても良く、ソフトウェアで実現するものとしても良い。
【0031】
ここで、ソフトウェアを用いるときの画像処理装置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により相互に接続されている。
【0032】
また、CPU201には、バス204を介して入出力インタフェース205が接続されている。入出力インタフェース205には、キーボード、マウス、マイクロホンなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続されている。CPU201は、入力部206から入力される指令に対応して各種の処理を実行する。そして、CPU201は、処理の結果得られた画像や音声等を出力部207に出力する。
【0033】
入出力インタフェース205に接続されている記憶部208は、例えばハードディスクなどで構成され、CPU201が実行するプログラムや各種のデータを記憶する。通信部209は、インターネット、その他のネットワークを介して外部の装置と通信する。この例の場合、通信部209はセンサの出力を取り込む取得部として働く。また、通信部209を介してプログラムを取得し、記憶部208に記憶しても良い。
【0034】
入出力インタフェース205に接続されているドライブ部210は、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどの記録媒体が装着されたとき、それらを駆動し、記録媒体に記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部208に転送されて記憶される。
【0035】
図6に示すように、画像処理装置20の撮影情報検出部31は、撮像部10で画像信号DVaを生成したときの撮影情報を検出する。この撮影情報としては、撮像部10でシャッタ動作を行ったときの露光時間(シャッタスピード)を検出して、検出した露光時間を示す情報(露光時間情報)Shを撮影情報とする。撮像部10で画像信号の生成時にガンマ処理を行っているときには、ガンマ処理で用いたガンマ値を検出して、検出したガンマ値を示す情報(ガンマ値情報)Sγを撮影情報とする。また、撮像部10の撮影方向を手動で動かす場合、例えば磁気センサや三次元ジャイロなどを用いた角速度センサあるいは三次元加速度センサ等を撮像部10に設けて、撮像部10に設けたセンサからのセンサ信号に基づき撮像部の動きを検出して、検出した撮像部の動きを示す情報(撮像部動き情報)Scmを撮影情報とする。さらに、撮像部10の撮影方向が遠隔制御される場合、外部から供給された制御信号に基づいて撮像部動き情報Scmを生成することもできる。撮影情報検出部31は、生成したガンマ値情報Sγを逆ガンマ処理部32とガンマ処理部40、露光時間情報Shを動きボケ量検出部34、撮像部動き情報Scmを動き検出部33に供給する。
【0036】
逆ガンマ処理部32は、撮像部10から供給された画像信号DVaに対して、撮影情報検出部31から供給されたガンマ値情報Sγに基づく逆ガンマ処理を行う。ここで、撮像部10は、生成した画像信号DVaを用いて画像表示を行う表示デバイス(例えば陰極線管等)の入出力特性が非線形な特性を有するとき、予めその非線形特性を相殺することで、撮像部10から表示デバイスまでの総合特性が線形となるようにガンマ処理を行う。このため、撮像部10から供給された画像信号DVaは、非線形特性を相殺するように補正された信号であるから、この補正で用いたガンマ値に基づいて画像信号DVaの逆ガンマ処理を行い、ガンマ処理前の画像信号DVbを生成する。この画像信号DVbは、実世界の画像に対して線形特性を有した信号であり、この画像信号DVbを用いて動きボケ除去を行うことで、より正確に実世界の画像を推定できる。
【0037】
動き検出部33の動きベクトル推定部331は、画像信号DVbに基づき全画面の動き方向あるいは動きベクトルを推定して画像動き情報vpaとして画像動き選択部332に供給する。この動きベクトル推定部331では、例えばブロックマッチング法や勾配法等の手法を用いて画素毎の動き方向や動きベクトルを求め、頻度の最も高い動き方向や動きベクトルを全画面の動き方向や動きベクトルとする。
【0038】
画像動き選択部332は、撮影情報検出部31から供給された撮像部動き情報Scmに基づき画像の全画面動きを示す画像動き情報vpbを生成する。ここで、撮像部動き情報Scmは撮像部10の動きを示しており、撮像部10の動きに対して画像は逆方向に移動することから、撮像部動き情報Scmの動き方向を逆方向として画像動き情報vpbの動き方向を決定できる。また、撮像部動き情報Scmの動き量と撮像部10の画角に基づき画像動き情報vpbの動き量を決定できる。この画像動き選択部332は、画像動き情報vpaあるいは画像動き情報vpbの何れかを選択して、画像動き情報vpとして動きボケ量検出部34と注目画素設定部35や処理領域設定部36、画素値生成部38に供給する。この画像動き情報vpa,vpbの選択は、ユーザが選択を行うものとしても良く、画像処理装置20で自動的に選択を行うものとしても良い。また、撮影画像に応じて、画像動き情報vpa,vpbの選択を行うものとすれば、画像の全画面動きの検出精度を高めて、動きボケ除去を良好に行うことが可能となる。例えば、撮像部10の撮像方向を移動しながら静止している被写体のみを撮像して画像信号DVaを生成したときは、画像動き情報vpbを選択することにより全画面動きを精度良く検出できる。
【0039】
さらに、画像動き選択部332は、画素毎に画像動き情報を選択することもできる。例えば、動きのある被写体と静止している被写体が混在されており、静止している被写体部分が大きいとき、動きベクトル推定部331で推定された動き方向や動きベクトルの発生頻度が高い画素位置で、画像動き情報vpbを選択し、発生頻度が高くない画素位置で画像動き情報vpaを選択する。この場合、静止している被写体の画像部分の動きを精度良く得ることができる。
【0040】
このように、画像動き選択部332は、1画像に対して画像動き情報vpaあるいは画像動き情報vpbの何れか一方のみを選択することで、全画面動きを検出する。また、画素単位で画像動き情報vpaと画像動き情報vpbの選択を行うものとすれば、画素単位での動き検出を行うこともできる。
【0041】
動きボケ量検出部34は、撮影情報検出部31からの露光時間情報Shに基づき、画像間隔に対する露光時間の割合である露光時間比率を検出して、この露光時間比率と動き検出部33から供給された画像動き情報vpを用いて乗算処理を行い、露光時間内の動きボケ量MBを画素毎に検出して処理領域設定部36と処理係数設定部37に供給する。
【0042】
注目画素設定部35は、注目画像を含めて複数の処理対象画像を設定して、動き検出部33により設定された画像動き情報vpに基づき、注目画像の注目画素に対応する処理対象画像上の画素を検出して、この検出した画素を各処理対象画像の注目画素に設定する。さらに、注目画素を設定した複数の処理対象画像の画像信号を処理領域設定部36に供給する。ここで、注目画像とは、画像処理装置20に供給された入力画像において動きボケ除去処理を行う画像を示しており、注目画素とは、注目画像内において、動きボケ除去処理を行う画素を示している。
【0043】
例えば、(t)フレームの画像を注目画像とするとき、(t−1)フレーム,(t)フレーム、(t+1)フレームの画像を処理対象画像とする。ここで、画像動き情報vpに基づき、注目画像の注目画素に対応する(t−1)フレームや(t+1)フレームの画像上の画素を注目画素として設定する。さらに、(t)フレームの処理対象画像の画像信号DVb(t)を処理領域設定部36の(t)フレームタップ選択部362、注目画素を設定した(t−1)フレームの処理対象画像の画像信号DVb(t-1)を(t−1)フレームタップ選択部361、注目画素を設定した(t+1)フレームの処理対象画像の画像信号DVb(t+1)を(t+1)フレームタップ選択部363にそれぞれ供給する。
【0044】
なお、注目画像の注目画素が(t+1)フレームで画像動き情報vpだけ移動する場合、(t+1)フレームの画像を画像動き情報vpだけ戻すように移動させれば、注目画像の注目画素と移動後の(t+1)フレームの注目画素の位置は同じとなり、処理領域設定部36における処理領域の設定を容易とすることができる。
【0045】
また、基準となる注目画像は、(t)フレームの画像に限られるものではなく、(t−1)フレームや(t+1)フレームの画像を注目画像とすることもできる。さらに、注目画像のいずれの画素を注目画素とするかについては、外部から注目画素を指定したり、注目画像内の画素を順次自動的に注目画素に指定する。このようにすれば、所望の画素についてのみ、動きボケ除去処理を行うものとしたり、注目画像の全体に対して動きボケ除去処理を自動的に行うことができる。また、外部から範囲を指定して、この範囲内の画素を順次自動的に注目画素に指定するようにすれば、所望の範囲について動きボケ除去処理を行うことが可能となる。
【0046】
処理領域設定部36は、予測される注目画像内の注目画素に対応する、注目画像および周辺画像のうち少なくとも何れか一方の処理領域を設定する。なお、図6では、注目画像と周辺画像の合わせて3フレーム分の動画像に対して処理領域を設定する場合を示している。また、後述するように、静止画であるときは、静止画である注目画像に対して処理領域を設定する。
【0047】
処理領域設定部36の(t−1)フレームタップ選択部361は、注目画素設定部35から供給された処理対象画像における注目画素を基準として、例えば動きボケ量検出部34で設定された動きボケ量MBに応じた空間方向の大きさの処理領域を設定する。あるいは、動きボケ量検出部34で設定された動きボケ量MBに応じた大きさで、動き検出部33から供給された画像動き情報vpで示された動き方向に処理領域を設定する。さらに、処理領域の画素値を画素値生成部38のボケ除去処理部381に供給する。図8は、処理領域を示しており、丸印で示す注目画素Pnaを基準として処理領域WAを各処理対象画像に設定する。(t)フレームタップ選択部362,(t+1)フレームタップ選択部363も、(t−1)フレームタップ選択部361と同様に、それぞれ注目画素設定部35から供給された処理対象画像における注目画素Pnaを基準として、動きボケ量検出部34で設定された動きボケ量MBに応じて処理領域を設定する。さらに、処理領域の画素値をボケ除去処理部382,383に供給する。
【0048】
処理係数設定部37は、メモリを用いて構成されており、メモリには動きボケ量あるいは動きボケ量と動き方向に応じた処理係数が予め記憶されている。処理係数設定部37は、動き方向を特定の方向に設定して動きボケ量に応じて生成した特定の処理係数を記憶しているとき、動きボケ量検出部34から供給された動きボケ量MBに応じた処理係数をメモリから読み出して、ボケ除去処理部381,382,383に供給することで、処理係数の設定を行う。また、処理係数設定部37は、動きボケ量と動き方向に応じた処理係数を記憶しているとき、動きボケ量検出部34から供給された動きボケ量MBと動き検出部33から供給された画像動き情報vpで示された動き方向に応じた処理係数をメモリから読み出して、ボケ除去処理部381,382,383に供給することで、処理係数の設定を行う。また、処理係数設定部37は、図示せずも外部から動きボケの調整を可能とする調整情報が供給されたとき、この調整情報に基づいて、画素値生成部38に供給する処理係数の切り換えを行うことで動きボケ除去効果を調整できるようにしても良い。この場合、例えば最初に供給した処理係数で動きボケが最適に行われないような場合が生じても処理係数を切り換えることで動きボケを最適に除去することが可能となる。また、処理係数を切り換えることで意図的に動きボケを残すことも可能である。
【0049】
画素値生成部38のボケ除去処理部381は、(t−1)フレームタップ選択部361から供給された処理領域の画素値と、処理係数設定部37から供給された処理係数を用いて線形結合を行い、ボケ除去処理後の画素値を生成して統合部39に供給する。ここで、処理係数設定部37から、動きボケ量に応じた特定の処理係数が供給されるとき、ボケ除去処理部381は、(t−1)フレームタップ選択部361から供給された処理領域の画素値と画像動き情報vpから新たに処理用の画素値を生成して、この生成した処理用の画素値と特定の処理係数との積和演算を行い画素値を生成する。
【0050】
ここで、処理用の画素値の生成は、以下のように行う。すなわち、ボケ除去処理に用いる処理係数を生成するとき、動き方向を特定の方向に設定して、このとき得られた処理係数を特定の処理係数として処理係数設定部37に記憶させる。画素値生成部38のボケ除去処理部381においては、画像動き情報vpで示された動き方向が、処理係数を生成したときの特定の方向に対して角度差θを有する場合、例えば図9に示すように、処理係数を生成するときに設定した動き方向が水平方向であり、画像動き情報vpで示された動き方向が角度差θを有する場合、注目画素Pnaから画像動き情報vpで示された動き方向の処理係数に対応する画素位置は、三角印で示す位置Pwa,Pwbとなる。このため、位置Pwaの画素値DPwを、周辺の画素位置Pw1,Pw2,Pw3,Pw4の画素値を用いて式(3)から算出する。また、同様にして位置Pwaとは逆方向である位置Pwbの画素値DPwbを算出する。従って、(t−1)フレームタップ選択部361は、処理用の画素値を生成できるように処理領域を設定する。
【0051】
DPwa= (1−βh)×(1−βv)×DPw1
+ βh ×(1−βv)×DPw2
+(1−βh)× βv ×DPw3
+ βh × βv ×DPw4 ・・・(3)
なお、式(3)において、βh=cosθ,βv=sinθ、DPw1は画素位置Pw1の画素値、DPw2〜DPw4は画素位置Pw2〜Pw4の画素値である。
【0052】
また、ボケ除去処理部381は、動きボケ量と動き方向に応じた処理係数が供給されるとき、(t−1)フレームタップ選択部361で、この動きボケ量と動き方向に応じて設定された処理領域の画素値と処理係数設定部37から供給された処理係数との積和演算を行い画素値を生成する。
【0053】
ボケ除去処理部381は、このようにして算出した画素値を処理用の画素値として、この処理用の画素値と、処理係数設定部37から供給された処理係数との積和演算を行い画素値を生成する。
【0054】
ボケ除去処理部382は、ボケ除去処理部381と同様にして、(t)フレームタップ選択部362から供給された処理領域の画素値と、処理係数設定部37から供給された処理係数を用いて線形結合を行い、ボケ除去処理後の画素値を生成して統合部39に供給する。ボケ除去処理部383は、(t+1)フレームタップ選択部363から供給された処理領域の画素値と、処理係数設定部37から供給された処理係数を用いて線形結合を行い、ボケ除去処理後の画素値を生成して統合部39に供給する。
【0055】
式(4)は、処理領域の画素値と処理係数の線形結合の一例として、積和演算を行う場合を示している。
【0056】
【数1】
【0057】
式(4)において、q’は、ボケ除去が行われた画素の画素値を表している。ci(iは、1乃至nの整数値で処理範囲の各画素を示す)は、処理領域の画素値を表している。また、diは処理係数を表している。
【0058】
統合部39は、ボケ除去処理部381〜383から供給されたボケ除去後の画素値を統合して、動きボケ除去がなされた画像である予測画像における注目画素の画素値を生成して画像信号DVcとして出力する。この画素値の統合では、統計的処理を用いるものとする。例えば、単純平均、重み付け平均、メディアンフィルタ等を用いることができる。ここで、重み付け平均では、例えば(t−1)フレームの画素値:tフレームの画素値:(t+1)フレームの画素値=2:6:2の重み付けを行って平均値を算出する。
【0059】
ガンマ処理部40は、統合部39から供給された画像信号DVcに対して、撮影情報検出部31から供給されたガンマ値情報Sγを用いてガンマ処理を行い画像信号DVoutとして出力する。
【0060】
図10は、ソフトウェアで画像処理を行う場合のフローチャートを示している。ステップST1でCPU201は、注目画像に動きボケの除去を行う注目画素を設定してステップST2に進む。ステップST2でCPU201は、撮影情報で示されたガンマ値に基づいて注目画素の逆ガンマ処理を行い、実世界の画像を射影したときの画像信号を生成する。ステップST3でCPU201は、注目画素の動きベクトルを検出してステップST4に進む。ステップST4でCPU201は、注目画素の動きボケ量を検出する。すなわち、ステップST3で検出した動きベクトルと撮影情報で示された露光時間情報に基づき、注目画素の露光時間における動きボケ量を検出する。
【0061】
ステップST5でCPU201は、処理領域を設定する。すなわちCPU201は、注目画像の注目画素に基づき、処理対象画像を設定して、この処理対象画像に注目画素を設定する。さらに、各処理対象画像の注目画素を基準として、ステップST4で求めた動きボケ量に応じた処理領域、あるいはステップST3で検出した動きベクトルに対応する動き方向とステップST4で求めた動きボケ量に応じた処理領域を設定してステップST6に進む。
【0062】
ステップST6でCPU201は、処理係数を設定してステップST7に進む。この処理係数の設定では、ステップST4で求めた注目画素の動きボケ量に基づく特定の処理係数、あるいはステップST4で求めた注目画素の動きボケ量とステップST3で検出された動きベクトルに応じた動き方向に基づく処理係数を設定する。
【0063】
ステップST7でCPU201は、ステップST6で設定した処理係数を用いてボケ除去処理を各処理対象画像に対して行う。すなわち、CPU201は、ステップST5で設定した処理領域の画素値と、ステップST6で動き量と動き方向に応じて設定した処理係数とに基づき、注目画素に対応する画素値を生成する。あるいは、処理領域の画素値から新たに処理用の画素値を生成すると共に、この処理用の画素値とステップST6で動き量に応じて設定した特定の処理係数とに基づき、注目画素に対応する画素値を算出する。このようにして、ボケ除去がなされた画素値を各処理対象画像の注目画素毎に算出してステップST8に進む。
【0064】
ステップST8でCPU201は、ステップST7で処理対象画像毎に算出した画素値の統合処理を行い、得られた画素値を注目画素の動きボケ除去処理後の画素値として出力してステップST9に進む。ステップST9でCPU201は、撮影情報で示されたガンマ値を用いて注目画素に対するガンマ処理を行い、ガンマ処理後の画素値を画像信号DVoutとして出力する。
【0065】
ステップST10でCPU201は、処理範囲の全画素に対してボケ除去処理が完了したか否かを判別し、ボケ除去処理が行われていない画素があるときはステップST1に戻り、処理範囲の全画素に対してボケ除去が完了したときは注目画像に対する画像処理を終了する。
【0066】
このように、撮影情報を検出して、この検出した撮影情報を用いて注目画素の動きボケ除去処理を行うことにより、動きボケ除去処理の処理精度を高めることができる。
【0067】
次に、処理係数設定部37に予め記憶される処理係数を学習によって求めてボケ除去処理を行う場合と、処理係数をモデル式から求めてボケ除去処理を行う場合について説明する。
【0068】
図11は、処理係数を学習によって求めてボケ除去処理を行う場合の構成を示したものである。学習部51は、教師画像である静止画と、この静止画に動きボケを付加した生徒画像を用いて学習処理を実行し、この学習により得られる処理係数を画像処理装置20の処理係数設定部37に記憶させる。画像処理装置20は、上述のように入力画像となる動きボケを含む画像から注目画素に対する処理領域を設定して、この処理領域の画素値と処理係数設定部37に記憶されている動きボケ量に応じた処理係数を用いて演算処理を行い、ボケ除去後の画素値を生成する。
【0069】
図12は、学習部51の機能ブロック図である。学習部51の生徒画像生成部511は、入力画像である教師画像に対して動き量vに応じた動きボケを付加して生徒画像を生成して予測タップ抽出部512に供給する。
【0070】
予測タップ抽出部512は、ボケ除去を行う注目画素に対して複数の画素を予測タップとして設定して、生徒画像から予測タップの画素値を抽出して、正規方程式生成部513に出力する。なお、予測タップは、動き方向と動き量に応じた係数を生成する場合、上述の処理領域に対応するものである。
【0071】
正規方程式生成部513は、予測タップ抽出部512から供給された予測タップの画素値と、教師画像の画素値とから正規方程式を生成し、係数決定部514に供給する。係数決定部514は、正規方程式生成部513から供給された正規方程式に基づき処理係数を演算して、処理係数設定部37に記憶させる。この正規方程式生成部513と、係数決定部514についてさらに説明する。
【0072】
上述した式(4)において、学習前は処理係数diのそれぞれが未定係数である。学習は、複数の教師画像(静止画像)の画素を入力することによって行う。教師画像の画素がm個存在し、m個の画素の画素値を「qk(kは、1乃至mの整数値)」と記述する場合、式(4)から、次の式(5)が設定される。
【0073】
【数2】
【0074】
すなわち、式(5)は、右辺の演算を行うことで、動きボケのない実際の画素値qkとほぼ等しいボケ除去後の画素値qk’を得ることができる。なお、式(5)において、イコールではなくニアリーイコールとなっているのは誤差を含むからである。すなわち、右辺の演算結果であるボケ除去後の画素値は、動きボケのない実際の画像における注目画素の画素値と厳密には一致せず、所定の誤差を含むためである。
【0075】
この式(5)において、誤差の自乗和を最小にする処理係数diが学習により求まれば、その処理係数diは、ボケ除去後の画素値qkを動きボケのない画素値に近づけるための最適な係数と考えられる。従って、例えば、学習により集められたm個(ただし、mは、nより大きい整数)の画素値qkを用いて、最小自乗法により最適な処理係数diを決定する。
【0076】
式(5)の右辺の処理係数diを最小自乗法で求める場合の正規方程式は、式(6)として表すことができる。
【0077】
【数3】
【0078】
従って、式(6)に示す正規方程式を解くことで処理係数diを決定できる。具体的には、式(6)で示される正規方程式の各行列のそれぞれを、次の式(7)乃至(9)のように定義すると、正規方程式は、次の式(10)のように表される。
【0079】
【数4】
【0080】
【数5】
【0081】
CMATDMAT=QMAT ・・・(10)
【0082】
式(8)で示されるように、行列DMATの各成分は、求めたい処理係数diである。従って、式(10)において、左辺の行列CMATと右辺の行列QMATが決定されれば、行列解法によって行列DMAT(すなわち、処理係数di)の算出が可能である。具体的には、式(7)で示されるように、行列CMATの各成分は、予測タップcikが既知であれば演算可能である。予測タップcikは、予測タップ抽出部512により抽出されるので、正規方程式生成部513は、予測タップ抽出部512から供給される予測タップcikのそれぞれを利用して行列CMATの各成分を演算することができる。
【0083】
また、式(9)で示されるように、行列QMATの各成分は、予測タップcikと静止画像の画素値qkが既知であれば演算可能である。予測タップcikは、行列CMATの各成分に含まれるものと同一のものであり、また、画素値qkは、予測タップcikに含まれる注目画素(生徒画像の画素)に対する教師画像の画素である。従って、正規方程式生成部513は、予測タップ抽出部512より供給された予測タップcikと、教師画像を利用して行列QMATの各成分を演算することができる。
【0084】
このようにして、正規方程式生成部513は、行列CMATと行列QMATの各成分を演算し、その演算結果を係数決定部514に供給する。
【0085】
係数決定部514は、上述した式(8)の行列DMATの各成分である処理係数diを演算する。具体的には、上述した式(10)の正規方程式は、次の式(11)のように変形できる。
【0086】
DMAT=CMAT -1QMAT ・・・(11)
式(11)において、左辺の行列DMATの各成分が、求める処理係数diである。また、行列CMATと行列QMATのそれぞれの各成分は、正規方程式生成部513より供給される。従って、係数決定部514は、正規方程式生成部513より行列CMATと行列QMATのそれぞれの各成分が供給されてきたとき、式(11)の右辺の行列演算を行うことで行列DMATを演算し、その演算結果(処理係数di)を処理係数設定部37に記憶させる。ここで、動き方向を一定の方向として動き量を変えて上述の学習を行えば、動きボケ量に応じた特定の処理係数が記憶させることができる。また、動き方向も変えて上述の学習を行えば、動きボケ量と動き方向に応じた処理係数を記憶させることができる。
【0087】
予測タップは、動き量に比例した長さを用いて選択される。例えば注目画素を基準として動き方向に「3×動き量+9画素」の範囲に含まれる画素を予測タップとする。また、「2×動き量+3画素」の範囲に含まれる画素を予測タップとすれば、タップ数が少なく構成を簡単にできる。さらに、予測タップの選択では、動き量vに応じて予測タップを離散的に選択するものとしても良い。
【0088】
ここで、動き量vに応じて予測タップを離散的に選択する場合について図13を用いて説明する。例えば図13に示す画素位置P47を注目画素位置として注目画素の画素値F19を求める場合、破線で示すように最初に注目画素の成分F19/vが現れる画素位置P45、および画素位置P45と隣接して注目画素の成分F19/vを有していない画素位置P44ついて考えると、式(12)が成立する。なお、画素位置P44,P45の画素値をDP44,DP45とする。
【0089】
F19−F14=(DP45−DP44)×v ・・・(12)
同様に、破線で示すように最後に注目画素の成分F19/vが現れる画素位置P49、および画素位置P49と隣接して注目画素の成分F19/vを有していない画素位置P50ついて考えると、式(13)が成立する。
【0090】
F24−F19=(DP50−DP49)×v ・・・(13)
ここで、画素値F14のレベルは空間相関を利用して近似的に求める。例えば画素位置P42と周辺画素の空間相関が高ければ式(14)に示すような近似が成立する。
【0091】
F14≒DP42 ・・・(14)
ここでいう空間相関とは、各画素のアクティビティ(Activity)の大小で表される関係である。すなわち、アクティビティとは、例えば、基準とする画素に隣接する画素間の差分値の和である。図14はアクティビティの算出を説明するための図である。例えば、画素位置P42を中心として3画素×3画素の合計9画素の画素間の差分が画素位置P42のアクティビティAC(P42)であり、以下の式(15)で示される。なお、図14において、画素位置P42-Uは画素位置P42よりも1つ上のラインの画素、画素位置P42-Lは画素位置P42よりも1つ下のラインの画素であることを示しており、他も同様である。
【0092】
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|
・・・(15)
【0093】
式(15)で示される画素位置P42で表される画素のアクティビティAC(P42)は、その値が小さいほど、画素位置P42の画素と周辺画素の空間相関が高く、画素位置P42の画素値は周辺画素の画素値に近似していることが示される。逆に、アクティビティが大きいときは、画素位置P42の画素と周辺画素の空間相関が低く、画素位置P42の画素値は周辺画素の画素値と異なる可能性が高い。すなわち、空間相関が高いということは、画素内における画素値の変化も少ないと仮定することができるので、式(16)で示すような関係が成立すると考えられる。
F12/v=F13/v=F14/v=F15/v=F16/v ・・・(16)
【0094】
従って、アクティビティAC(P42)が小さいときには、以下の式(17)が導出されることになるため、式(14)が成立すると考えられる。
DP42/v=(F12/v+F13/v+F14/v+F15/v+F16/v)=F14/v
・・・(17)
【0095】
以上の結果から、式(12)を変形し、式(14)の関係を代入すると、以下の式(18)で示されるように、動きボケのない画像の画素に入射される光のレベルとして、F19が求められることになる。
【0096】
F19=(DP45−DP44)×v+DP42 ・・・(18)
同様に考えると式(19)も成立する。
F19=DP52+(DP49−DP50)×v ・・・(19)
このように考えると、注目画素の画素値F19を求めるときには、画素位置P42,P44,P45,P49,P50,P52を得られれば良いことから、注目画素の画素位置P47を基準として画素位置P42,P44,P45,P49,P50,P52の画素を予測タップとして用いることもできる。
【0097】
図15は、処理係数の学習処理を示すフローチャートである。ステップST11では、教師画像から生徒画像を生成する。すなわち、教師画像に動きボケを付加して、動きボケが付加された画像である生徒画像を生成する。
【0098】
ステップST12では、生徒画像の中から予測タップを抽出する。ステップST13では、予測タップおよび教師画像の画素から、正規方程式を生成する。
【0099】
ステップST14では、ステップST13で生成した正規方程式を解いて処理係数を決定し、処理係数設定部37に記憶させる。
【0100】
ステップST15において、全ての画素について処理を施したか否かを判定して、全ての画素について処理を施していないときは、新たな画素に対してステップST12からの処理を繰り返し、全ての画素の処理が終了したときには、学習処理を終了する。
【0101】
以上の処理を行い、学習によって動きボケを除去するための処理係数を生成して処理係数設定部37に記憶させることにより、動きボケの除去処理が実行可能となる。
【0102】
また、上述のようにアクティビティの大小、すなわち、空間相関の有無を検出するときには、アクティビティの大小によりクラス分類を行い、クラス分類結果であるクラスコードに対応して処理領域を変更させることで、ボケ除去の精度を向上させることもできる。
【0103】
この場合、処理領域設定部36では、注目画素に対するクラスタップを抽出して、抽出したクラスタップからクラスコードを決定し、このクラスコードに応じて注目画素に対する処理領域を設定して、処理領域の画素値を画素値生成部38に供給する。また決定したクラスコードを処理領域設定部36から処理係数設定部37に供給して、動きボケ量MBとクラスコードに応じた処理係数をメモリから読み出して画素値生成部38に供給させる。
【0104】
ここで、アクティビティの大小によりクラス分類が行われているとき、図13,図14を参照して説明したように、アクティビティの算出に用いた画素をクラスタップとして抽出する。この抽出したクラスタップを用いて上述のようにアクティビティを求め、求めたアクティビティによりクラスコードを検出する。例えばアクティビティAC(P42),AC(P52)を求めて、アクティビティAC(P42)がアクティビティAC(P52)よりも小さいときクラスコードを「1」、アクティビティAC(P52)がアクティビティAC(P42)よりも小さいときクラスコードを「2」として、クラスコードを処理係数設定部37に供給する。
【0105】
さらに、処理領域設定部36では、クラスコードに対応して注目画素に対応する処理領域の設定を行う。例えば、クラスコードが「1」であった場合、画素位置P52よりも画素位置P42の空間相関が高いので、画素位置P42、P44、P45の画素値を処理領域の画素値として画素値生成部38に供給する。また、クラスコードが「2」であった場合、画素位置P42よりも画素位置P52の空間相関が高いので、画素位置P49、P50、P52の画素値を処理領域の画素値として画素値生成部38に供給する。
【0106】
処理係数設定部37は、クラスコードに応じて、予め後述する学習部が学習により求めた処理係数を記憶しており、クラスコードおよび動き量に対応する処理係数を画素値生成部38に供給する。
【0107】
画素値生成部38のボケ除去処理部381〜383は、処理領域の画素値と処理係数設定部37から供給された処理係数を用いて演算処理を行い、ボケ除去処理後の画素値を生成して統合部39に供給する。統合部39は、ボケ除去処理部381〜383から供給された画素値を統合して、動きボケ除去がなされた画像である予測画像における注目画素の画素値を出力する。
【0108】
図16は、クラス分類を用いた画像処理のフローチャートを示している。ステップST21でCPU201は、注目画像に動きボケの除去を行う注目画素を設定してステップST22に進む。ステップST22でCPU201は、撮影情報で示されたガンマ値に基づいて注目画素の逆ガンマ処理を行い、実世界の画像を射影したときの画像信号を生成する。ステップST23でCPU201は、注目画素の動きベクトルを検出してステップST24に進む。ステップST24でCPU201は、注目画素の動きボケ量を検出する。すなわち、撮影情報で示された露光時間情報とステップST23で検出した動きベクトルを用いて演算処理を行い、注目画素の露光時間内での動きボケ量を検出する。
【0109】
ステップST25でCPU201は、ステップST24で求めた動きボケ量に応じてクラスタップを抽出してステップST26に進む。ステップST26でCPU201は、クラス分類を行い、クラスタップからクラスコードを決定する。
【0110】
ステップST27でCPU201は、処理領域を設定する。すなわちCPU201は、注目画像の注目画素に基づき処理対象画像を設定して、処理対象画像に注目画素を設定する。さらに、各処理対象画像の注目画素を基準としてクラスコードと注目画素の動きボケ量と動き方向に応じた処理領域を設定してステップST28に進む。
【0111】
ステップST28でCPU201は、注目画素の動きボケ量とクラスコードに応じた処理係数、あるいはステップST22で検出した動きベクトルに応じた動き方向と注目画素の動きボケ量とクラスコードに応じた処理係数を設定してステップST29に進む。
【0112】
ステップST29でCPU201は、ボケ除去処理を各処理対象画像に対して行う。すなわち、CPU201は、ステップST27で設定した処理領域の画素値と、ステップST28において動き量と動き方向とクラスコードに応じて設定した処理係数との演算処理を行い、注目画素に対応する画素値を生成する。あるいは、処理領域の画素値から新たに処理用の画素値を生成すると共に、この処理用の画素値とステップST28で動き量とクラスコードに応じて設定した特定の処理係数との演算処理を行い、ボケ除去がなされた画素値を各処理対象画像の注目画素毎に算出してステップST30に進む。
【0113】
ステップST30でCPU201は、ステップST29で処理対象画像毎に算出した画素値の統合処理を行い、得られた画素値を注目画素の動きボケ除去処理後の画素値として出力してステップST31に進む。ステップST31でCPU201は、撮影情報で示されたガンマ値を用いて注目画素に対するガンマ処理を行い、ガンマ処理後の画素値を画像信号DVoutとして出力する。
【0114】
ステップST32でCPU201は、処理範囲の全画素に対してボケ除去処理が完了したか否かを判別し、ボケ除去処理が行われていない画素があるときはステップST21に戻り、処理範囲の全画素に対してボケ除去が完了したときは注目画像に対する画像処理を終了する。
【0115】
次に、クラス分類を行う場合の処理係数の学習について説明する。図17は、クラス分類を行う場合の学習部52の機能ブロック図である。なお図17において、図12と対応する部分については同一符号を付し、詳細な説明は省略する。
【0116】
学習部52のクラスタップ抽出部521は、上述のようにクラスタップを選択して、選択したクラスタップをクラス分類部522に供給する。クラス分類部522は、上述のようにクラス分類を行いクラスコードを決定して予測タップ抽出部523と正規方程式生成部524に供給する。
【0117】
予測タップ抽出部523はクラスコードに応じて予測タップを切り換えて抽出して、正規方程式生成部524に供給する。
【0118】
正規方程式生成部524は、基本的に図12の正規方程式生成部513と同様のものであるが、クラス分類部522から供給されるクラスコード毎に正規方程式を生成して係数決定部525に出力する。従って、係数決定部525は、クラスコード毎に係数を決定し、クラスコード毎に決定した係数を処理係数設定部37に記憶させる。ここで、動き方向を特定して動き量毎に生徒画像を生成しているときには、動き量とクラスコードに応じた特定の処理係数が処理係数設定部37に記憶される。また、動き量と動き方向を切り換えて生徒画像を生成しているときには、動き量と動き方向およびクラスコードに応じた処理係数が処理係数設定部37に記憶される。
【0119】
図18は、クラス分類を用いた処理係数の学習処理を示すフローチャートである。ステップST41では、教師画像から生徒画像を生成する。すなわち、教師画像に動きボケを付加して、動きボケが付加された画像である生徒画像を生成する。
【0120】
ステップST42では、生徒画像からクラスタップを抽出する。このクラスタップの抽出は、上述のステップST25と同様にして行う。
【0121】
ステップST43では、抽出したクラスタップよりクラス分類を行いクラスコードを決定する。ステップST44では、ステップST43で決定したクラスコードに対応して、生徒画像から予測タップを抽出する。
【0122】
ステップST45では、予測タップおよび教師画像の画素からクラスコード毎に正規方程式を生成する。
【0123】
ステップST46では、ステップST45で生成した正規方程式を解いて処理係数を決定し、クラスコード毎に処理係数設定部37に記憶させる。
【0124】
ステップST47において、全ての画素について処理を施したか否かを判定して、全ての画素について処理を施していないときは、新たな画素に対してステップST42からの処理を繰り返し、全ての画素の処理が終了したときは、学習処理を終了する。このようにして、動き量と動き方向とクラスに応じた動きボケ除去用の処理係数を生成できる。また、動き方向を一定方向とすることで、動き量とクラスに応じた特定の処理係数を生成できる。
【0125】
次に、処理係数設定部37に記憶される処理係数をモデル式から求めてボケ除去処理を行う場合について説明する。
【0126】
図19は、処理領域を空間方向に示したものであり、注目画素Pnaを中心として例えば動き方向に(2N+1)画素分の処理領域を設定する。図20Aおよび図20Bは処理領域の設定例を示しており、動きボケを軽減させる動きオブジェクトOBfの画素に対して、動きベクトルの方向が例えば矢印Bで示すように水平方向である場合は、図20Aに示すように水平方向に処理領域WBを設定する。また、動きベクトルの方向が斜め方向である場合は、図20Bに示したように、該当する角度方向に処理領域WBを設定する。ただし、斜め方向に処理領域を設定する際には、処理領域の画素位置に相当する画素値を、補間等によって求める。
【0127】
ここで、処理領域内では、図21に示すように、実世界変数(Y-8,・・・,Y0,・・・,Y8) が時間混合されている。なお、図21は、動き量vが「v=5」であって処理領域を13画素(N=6:Nは注目画素Pnaに対する処理幅の画素数)とした場合である。
【0128】
ボケ除去処理では、この処理領域に対して実世界推定を行い、推定した実世界の中心画素変数Y0のみを、動きボケ除去がなされた注目画素の画素値として出力する。
【0129】
ここで、処理領域を構成する画素の画素値をX-N,X-N+1,・・・,X0,・・・,XN-1,XN とすると、式(20)に示すような(2N+1)個の混合式が成立する。なお、定数hは、動き量vを1/2倍したときの整数部分の値(小数点以下を切り捨てた値)を示している。
【0130】
【数6】
【0131】
しかし、求めたい実世界変数(Y-N-h,・・・,Y0,・・・,YN+h)は、(2N+v)個ある。すなわち、変数の数よりも式の数が少ないので、式(20)に基づき実世界変数(Y-N-h,・・・,Y0,・・・,YN+h)を求めることができない。
【0132】
そこで、空間相関を用いた拘束式である式(21)を用いることで、実世界変数よりも式の数を増やし、最小自乗法を用いて、実世界変数の値を求める。
【0133】
Yt−Yt+1=0 (t=-N-h,・・・,0,・・・,N+h-1)
・・・(21)
すなわち、式(20)で表される(2N+1)個の混合式と式(21)で表される(2N+v−1)個の拘束式を合わせた(4N+v)個の式を用いて、(2N+v)個の未知変数である実世界変数(Y-N-h,・・・,Y0,・・・,YN+h)を求める。
【0134】
ここで、各式において発生する誤差の二乗和が最小となるような推定を行うことで、動きボケ軽減画像生成処理を行いながら、実世界での画素値の変動を小さくできる。
【0135】
式(22)は、図21に示すように処理領域を設定した場合を示しており、式(20)と式(21)にそれぞれの式で発生する誤差を加えたものである。
【0136】
【数7】
・・・(22)
【0137】
この式(22)は式(23)として示すことができ、式(24)に示す誤差の二乗和Eを最小とするようなY(=Yi)は式(25)として求まる。なお、式(25)において、Tは転置行列であることを示している。
【0138】
【数8】
【0139】
ここで、誤差の二乗和は式(26)で示すものとなり、この誤差の二乗和を偏微分して、式(27)に示すように偏微分値が0となるようにすれば、誤差の二乗和が最小となる式(25)を求めることができる。
【0140】
【数9】
【0141】
この式(25)の線形結合を行うことで、実世界変数(Y-N-h,・・・,Y0,・・・,YN+h)をそれぞれ求めることができ、中心画素変数Y0の画素値を注目画素の画素値として出力する。すなわち、中心画素変数Y0に対する係数を動き量毎に求めて処理係数として処理係数設定部37に記憶させておき、この処理係数設定部37に記憶されている動き量に応じた処理係数を用いて、画素値と積和演算を行うことにより動きボケが除去された画素値を出力する。このような処理を処理領域内の全画素に対して行うことで、動きボケが軽減されている実世界変数を処理領域について求めることができる。
【0142】
上述では、AY=X+eにおける誤差の二乗和Eを最小とするように、最小自乗法で実世界変数(Y-N-h,・・・,Y0,・・・,YN+h)を求めているが、式の数=変数の数となるように式を作ることも可能である。この式をAY=Xとき、Y=A-1Xと変形することにより、実世界変数(Y-N-h,・・・,Y0,・・・,YN+h)を求めることができる。
【0143】
ところで、上述の構成および処理は、シャッタ動作を行う場合、あるいはシャッタ動作を行わない場合のいずれでも適用可能であるが、撮像部10でシャッタ動作を行わないものとしたときは、時間方向の主要項を用いることで2フレームの画像から注目画素の画素値を得ることが可能となり画像処理装置の構成をさらに簡単にできる。
【0144】
ここで、主要項について説明する。上述のモデル式等によって各画素に対して用いられる処理係数を求めると、処理係数は図22に示すような形状を示すものとなり、処理係数の絶対値が大きくなる部分を生ずる。このような、処理係数の絶対値が大きくなる部分を主要項とする。この主要項の位置は、注目画素Pnaを基準として動き方向および動き量に応じた画素位置となる。なお、図22において、主要項MCa1は注目画素Pnaに対して動き方向に最も近接した主要項、主要項MCb1は動き方向とは逆方向で最も近接した主要項を示している。この主要項MCa1,MCb1は、注目画素Pnaから動き量vの(1/2)だけ動き方向あるいは動き方向と逆方向に離れた位置に生ずるものである。また、注目画素Pnaに隣接する主要項は、動き量だけ動き方向あるいは動き方向と逆方向に離れた位置に生ずるものである。
【0145】
この主要項を時間方向に用いるものとした場合、主要項の位置は同じ画素位置に重なるものとなる。すなわち、上述の主要項MCa1,MCb1について着目すると、(t−1)フレームの画像上の主要項MCa1の位置は(t)フレームの画像上の主要項MCb1の位置となる。従って、(t−1)フレームと(t)フレームとの真ん中の位相であって、主要項MCa1,MCb1と同じ画素位置は、注目画素Pnaに相当する。このため、例えば2フレームの主要項を用いて画素値を算出して、この画素値を2フレームの中間の位相で出力すれば、動きボケが除去された注目画素Pnaの画素値を正しく出力できる。
【0146】
このように、時空間方向の主要項を使用して、フレーム間の真ん中を、動きボケ除去後の注目画素Pnaの出力位相とした動きボケ除去を行う画像処理装置の機能ブロック図を図23に示す。なお、図23において、図6と対応する部分については同一符号を付し、詳細な説明は省略する。
【0147】
時空間方向の主要項を使用して、フレーム間の真ん中を、動きボケ除去後の注目画素Pnaの出力位相とすると、1フレーム分の画像を得るためには、2フレーム分の画像を用いなければならない。このため、図23に示す画像処理装置の処理領域設定部には、(t−1)フレームタップ選択部361aと(t)フレームタップ選択部362aを設けるものとする。画素値生成部38aは、連続する2フレームから抽出された画素値と、処理係数設定部37から供給された処理係数を用いて、注目画素Pnaの動きボケが除去された画素値を、2フレームの真ん中を出力位相として画素値を生成する。
【0148】
(t−1)フレームタップ選択部361aは、注目画素設定部35から供給された処理対象画像から、この処理対象画像内の動きボケが生じている動きオブジェクトにおける注目画素の成分が主に含まれる主要項を抽出するため、(t−1)フレームと(t)フレームの真ん中である位相の注目画素に対して空間位置が略同じ位置である画素の画素値を少なくとも抽出して画素値生成部38に供給する。
【0149】
(t)フレームタップ選択部362aも(t−1)フレームタップ選択部361aと同様に、注目画素設定部35から供給された処理対象画像から、この処理対象画像内の動きボケが生じている動きオブジェクトにおける注目画素の成分が主に含まれる主要項を抽出するため、2フレームの真ん中である位相の注目画素に対して空間位置が略同じ位置である画素の画素値を少なくとも抽出して画素値生成部38に供給する。
【0150】
処理係数設定部37aには、動きボケ量に基づいた特定の処理係数、あるいは動きボケ量と動き方向に基づいた処理係数を記憶しておき、動き検出部33から供給された画像動き情報vpに基づき、この画像動き情報vpで示された動きボケ量に基づいた特定の処理係数を画素値生成部38aに供給する。あるいは、画像動き情報vpで示された動きボケ量と動き方向に基づいた処理係数を画素値生成部38aに供給する。
【0151】
画素値生成部38aは、処理係数設定部37aから動きボケ量に基づいた特定の処理係数が供給されるとき、処理領域設定部36の(t−1)フレームタップ選択部361aから抽出した画素値と画像動き情報vpで示された動き方向に応じて、上述の式(3)を用いて処理用の画素値を生成する。この生成した処理用の画素値と特定の処理係数との積和演算を行い画素値を生成する。また、(t)フレームタップ選択部362aから抽出した画素値と画像動き情報vpで示された動き方向に応じて、新たに処理用の画素値を生成する。この生成した処理用の画素値と特定の処理係数との積和演算を行い画素値を生成する。
【0152】
また、画素値生成部38aは、処理係数設定部37aから動きボケ量と動き方向に基づいた特定の処理係数が供給されるとき、処理領域設定部36aの(t−1)フレームタップ選択部361aから抽出した画素値と処理係数との積和演算を行い画素値を生成する。また、(t)フレームタップ選択部362aから抽出した画素値と処理係数との積和演算を行い画素値を生成する。
【0153】
さらに、画素値生成部38aは、2フレームの注目画素の画素値を用いて単純平均や重み付け加算、メディアンフィルタ処理等を行い1つの注目画素の画素値を生成して、(t)フレームと(t−1)フレームの中間の位相で画像信号DVcとしてガンマ処理部40に供給する。
【0154】
なお、時空間方向の主要項を使用して、フレーム間の真ん中を、動きボケ除去後の注目画素Pnaの出力位相とした動きボケ除去を行う場合、主要項の位置は時間方向に対して注目画素の位置に重なるものとなる。従って、(t−1)フレームタップ選択部361aと(t)フレームタップ選択部362aは、(t−1)フレームと(t)フレームの真ん中である位相の注目画素の位置を基準として、水平および垂直方向に広がりを持った処理領域を設定しておけば、動き方向毎に処理領域を設定しなくとも、画素値生成部38aで処理係数との積和演算に用いる画素値を得ることができる。
【0155】
図24は、シャッタ動作を行わない場合の画像処理を示すフローチャートである。シャッタ動作を行わない場合、ステップST51でCPU201は、注目画像に動きボケの除去を行う注目画素を設定してステップST52に進む。ステップST52でCPU201は、撮影情報で示されたガンマ値に基づいて注目画素の逆ガンマ処理を行い、実世界の画像を射影したときの画像信号を生成する。ステップST53でCPU201は、注目画素の動きベクトルを検出してステップST54に進む。
【0156】
ステップST54でCPU201は、処理領域を設定する。すなわちCPU201は、注目画像の注目画素に基づき、処理対象画像を設定して、この処理対象画像に注目画素を設定する。さらに、各処理対象画像の注目画素を基準として、ステップST53で求めた動きベクトルに応じた処理領域を設定してステップST55に進む。ステップST55でCPU201は、ステップST53で求めた動きベクトルの動き方向あるいは動き方向と動き量に応じて処理係数を設定してステップST56に進む。
【0157】
ステップST56でCPU201は、ステップST55で設定した処理係数を用いてボケ除去処理を各処理対象画像に対して行う。すなわち、各処理対象画像に対してステップST54で設定した処理範囲の画素値とステップST55で設定した処理係数との積和演算を行い、注目画素の動きボケ除去処理後の画素値を生成してステップST57に進む。
【0158】
ステップST57でCPU201は、撮影情報で示されたガンマ値を用いて注目画素に対するガンマ処理を行い、ガンマ処理後の画素値を画像信号DVoutとして出力する。
【0159】
ステップST58でCPU201は、処理範囲の全画素に対してボケ除去処理が完了したか否かを判別し、ボケ除去処理が行われていない画素があるときはステップST51に戻り、処理範囲の全画素に対してボケ除去が完了したときは注目画像に対する画像処理を終了する。このように、上述の図10におけるステップST4の動きボケ量の検出が不要となり、より簡単な処理で動きボケ除去を行うことができる。
【0160】
処理係数設定部37aに記憶させる処理係数は、上述のモデル式を用いて求めることができる。すなわち、式(21)に示すように隣接画素差分=0とする拘束を導入して、式(22)に示す足し込み特性を用いることにより、実世界変数に対応する静止画像内の注目画素を含む第1の領域の画素(式(22)に示すY8〜Y-8に相当)と、注目画素の空間位置と同じ動きボケを生じた画像内の画素を含む第2の領域の画素(式(22)に示すX6〜X-6に相当)間で行列演算を行い、注目画素に相当する中心画素変数Y0の算出に用いる係数を処理係数として処理係数設定部37aに記憶させる。このように、中心画素変数Y0の算出に用いる係数を処理係数として用いるものとすれば、周辺画像の画素値を用いて動きボケが除去された画素値を算出できる。
【0161】
図25は、モデル式を用いて処理係数の生成を行う係数生成装置の機能ブロック図である。動き設定部71は、動き方向の設定や動き量の設定を行い、設定された動き方向や動き量を示す動き情報MHを行列式生成部751に供給する。
【0162】
処理係数生成部75の行列式生成部751は、動き情報MHに基づき、画像に動きボケを付加した少なくとも2つの画像からなるモデルを構築し、2つの画像例えば(t−1)フレームと(t)フレームの画像の画像間に位置する注目画素の空間的位置と略同じ2つの画像内の周辺画素の画素値の足し込み特性と、隣接画素差分=0とする拘束により行列式を生成する。
【0163】
ここで、例えば動き量v=5の場合における処理係数の生成手法について説明する。この場合、図19のようなモデルを構築し、行列式を生成する。主要項は画素値X-3、X-2、X2、X3の画素に相当するので、行列式は式(28)として示すことができる。
【0164】
【数10】
・・・(28)
【0165】
これより、Y0を求めるための行列式を式(25)のように一意に求めることができる。すなわち、動き量v=5における主要項の画素値X-3, X-2, X2, X3に線形結合される処理係数(行列式)を求めることができる。上述の式では未知数Yと式の数が一致するように拘束式を追加しているが、式(22)のように、さらに拘束式を追加して未知数Y<式の数として、最小二乗法を用いて処理係数を求めてもかまわない。これより、行列式生成部751は、動き量毎に上述のように行列式を生成し、係数決定部752は、動き量毎に処理係数を求めることができる。また、動き量v=4の場合、主要項の画素値は画素値X-3、X-2、X-1、X1 、X2、X3となるので、行列式は式(29)となる。
【0166】
【数11】
【0167】
ところで、動き量vが奇数画素数分であるとき、中心画素変数Y0は図21に示すように時間的に位相が中央となっている。しかし、動き量vが偶数画素数分であるとき、中心画素変数Y0は図26Aに示すように時間的に位相が中央とならず位相差を生じてしまう。このため、仮想分割数を2倍として、図26Bに示すように1フレーム期間を等時間間隔で8分割する。さらに、Y0aとY1bを加算することで、動き量vが奇数画素分であるときの中心画素変数Y0と同様に、時間的に位相が中央である値を得ることができる。
【0168】
また、空間的位相を考えたとき、動き量が奇数画素分である場合の主要項は、2つの連続する画素単位で係数が大きく変化する。このため、主要項を用いて注目画素Pnaを求めるものとした場合は、注目画素Pnaの位相が2つの画素の中央となる。すなわち、動きボケ除去後の画像は、(t−1)フレームおよび(t)フレームの画像に対して1/2画素分だけ位相がずれたものとなる。
【0169】
また、1/2画素分の位相のずれを防止する場合は、図27に示すように、中心画素変数Y0 に対する処理係数KC-y0と変数Y1(あるいはY-1) に対する処理係数KC-y1と加算して1/2倍とした処理係数KCを用いるものとすれば良い。なお、図27において、丸印は画素位置を示している。このように処理係数KCを生成すると、主要項MCは3画素単位となることから、主要項MCと処理係数KCを用いることにより、注目画素Pnaの位相が(t−1)フレームおよび(t)フレームの画像の画素と等しくなり、(t−1)フレームおよび(t)フレームの画像と位相が等しい動きボケ除去画像を得ることができる。図26Bに示すように動き量vが偶数画素分の場合、仮想分割数が2倍とされているので、変数Y0aは変数Y0の1/2倍、変数Y1bは変数Y1の1/2倍であり、変数Y0aと変数Y1bを加算することで、中心画素変数Y0 に対する処理係数KC-y0と変数Y1 に対する処理係数KC-y1を加算して1/2倍したものと同等となり、動き量vが偶数画素分であるときの主要項は3画素単位となる。
【0170】
このため、上述のように動き量vが偶数画素分であるときや、動き量が奇数画素分であるときに主要項を3画素単位に変換して処理係数を設定して記憶させておけば、動きボケが除去された注目画素の画素値を、2つのフレームの画素と同じ画素位置で出力させることができる。
【0171】
次に、主要項に対する処理係数を学習によって求める場合について説明する。図28Aと図28Bに示すように、教師画像を移動して、教師画像に対して(t−1)フレームと(t)フレームの生徒画像を生成する。また、生徒画像に対して主要項を基準とした予測タップを構築して学習を行い、予測タップに対する処理係数を求める。ここで、教師画像は、(t−1)フレームと(t)フレームの生徒画像の中間の位相である。また、教師画像上の注目画素と対応する生徒画像上の位置は、図22から明らかなように主要項の位置に相当する。従って、予測タップは、教師画像上の注目画素と対応する生徒画像上の位置を基準として、水平および垂直方向に広がりを持って設定する。なお、図28Aはプログレッシブフォーマットの場合を示しており、斜線で示す画素は注目画素であることを示している。また、インタレースフォーマットの画像信号を用いる場合には、図28Bに示すように例えば(t−1)フィールドのライン間の位置を基準として予測タップを構築する。このように予測タップを構築して、上述したように正規方程式の演算を行って処理係数を生成する。
【0172】
図29Aおよび図29Bは学習によって求めた処理係数の具体例を示している。図29Aは、動き量を20,動き方向を0度としたときの(t−1)フィールド用の処理係数と(t)フィールド用の処理係数である。また、図29Bは、動き量を20,動き方向を45度としたときの(t−1)フィールド用の処理係数と(t)フィールド用の処理係数である。ここで、(t)フィールドの注目画素の画素値を算出する場合、(t)フレームタップ選択部362aは、注目画素の空間位置と略同じ位置の画素の画素値を少なくとも抽出する際に、図29Aや図29Bに示す予測タップの画素値、あるいは破線で示すように0度方向や45度方向の予測タップの画素値を抽出する。また画素値生成部38aは、破線で示すように0度方向や45度方向の処理係数と、予測タップの画素値を用いて積和演算を行い注目画素の画素値を算出する。また、(t−1)フィールドの注目画素の画素値を算出する場合、(t)フレームタップ選択部362aは、図29Aや図29Bに示す予測タップの画素値、あるいは破線で示すように0度方向や45度方向で注目画素に跨る2ライン相当の予測タップの画素値を抽出する。また、画素値生成部38aは、破線で示すように0度方向や45度方向で注目画素に跨る2ライン相当の処理係数と予測タップの画素値を用いて積和演算を行う。さらに、2ライン相当で積和演算を行っていることから、積和演算結果を1/2倍して注目画素の画素値とする。なお、図29Aと図29Bにおいて、積和演算に用いる処理係数は図22に示す主要項の処理係数の形状と同様となっていることがわかる。
【0173】
このようにシャッタ動作を行わない場合、動きボケ量検出部34や統合部39を設けることなく、簡単な構成で動きボケ除去を行うことができる。また、主要項を時間方向例えば複数フレームや複数フィールド分用いることで、ロバストな動きボケ除去処理を行うことができる。
【0174】
ところで動きボケ除去は、動画像に限られるものではなく、静止画像に対しても行うことができる。図30は、静止画像の動きボケ除去を行う画像処理装置の構成を示している。なお、図30においても図6と対応する部分については同一符号を付している。
【0175】
静止画像を用いる場合、画像信号DVbから動き検出を行うことはできない。従って、撮影情報検出部31で検出した撮像部10の動きを示す撮像部動き情報Scmに基づき、処理領域設定部36bでは、注目画素あるいは主要項を基準として処理領域を設定する。また、処理係数設定部37bは撮像部動き情報Scmに基づき処理係数を設定する。画素値生成部38bは、処理領域の画素値と処理係数に基づき積和演算処理を行い、動きボケ除去処理後の画素値を生成してガンマ処理部40に供給する。このように、静止画像であっても、撮像部10の動きを示す撮像部動き情報Scmを用いることで動きボケ除去処理を行うことができる。
【0176】
静止画像を用いる場合の処理係数の生成は、図19に示すように、空間方向にタップを張って、上述の式(22)を利用すれば生成できる。ここで、動画像の場合には、2フレームの真ん中を出力位相とすることで主要項が注目画素の位置となる。しかし、静止画像の場合、注目画素は主要項の位置とならない。また、動き量が大きくなるに伴い、注目画素と主要項との間隔が広くなり、注目画素を基準としたとき、主要項の位置が固定した位置とならない。従って、動き量と動き方向に応じた処理係数を生成して、動き量と動き方向に応じた処理係数を選択して用いるものとして、主要項に対応する画素の画素値との積和演算を行うことにより、静止画像の動きボケ除去を精度良く行うことが可能となる。
【産業上の利用可能性】
【0177】
以上のように、本発明に係る画像処理装置と画像処理方法および画像処理プログラムは、撮像部を用いて現実社会を撮像して得られる画像信号に埋もれてしまった情報を抽出する際に有用であり、動きボケを除去した解像度の高い画像を得る場合に好適である。
【図面の簡単な説明】
【0178】
図1は、システムの構成を示す図である。
図2は、撮像部による撮像を説明するための図である。
図3Aと図3Bは、撮像画像を説明するための図である。
図4は、画素値の時間方向分割動作を説明するための図である。
図5は、シャッタ動作を行ったときの画素値の時間方向分割動作を説明するための図である。
図6は、画像処理装置の機能ブロック図である。
図7は、ソフトウェアを用いるときの画像処理装置の構成を示す図である。
図8は、処理領域を説明するための図である。
図9は、画素値の算出方法を説明するための図である。
図10は、画像処理を示すフローチャートである。
図11は、処理係数を学習によって求めてボケ除去処理を行う場合の構成を示す図である。
図12は、学習部の機能ブロック図である。
図13は、予測タップを離散的に選択する場合の動作を説明するための図である。
図14は、アクティビティの算出を説明するための図である。
図15は、処理係数の学習処理を示すフローチャートである。
図16は、クラス分類を用いた画像処理のフローチャートである。
図17は、クラス分類を行う場合の学習部の機能ブロック図である。
図18は、クラス分類を用いた処理係数の学習処理を示すフローチャートである。
図19は、処理領域を説明するための図である。
図20Aと図20Bは、処理領域の設定例を示す図である。
図21は、処理領域における実世界変数の時間混合(動き量v=5の場合)を説明するための図である。
図22は、主要項と処理係数を説明するための図である。
図23は、画像処理装置の他の機能ブロック図である。
図24は、シャッタ動作を行わないときの画像処理を示すフローチャートである。
図25は、係数生成装置の機能ブロック図である。
図26Aと図26Bは、処理領域における実世界変数の時間混合(動き量v=4の場合)を説明するための図である。
図27は、空間方向の位相を一致させるときの主要項と処理係数を説明するための図である。
図28Aと図28Bは、学習によって処理係数を求める場合の動作を説明するための図である。
図29Aと図29Bは、予測タップに対する処理係数を示す図である。
図30は、静止画像の動きボケ除去処理を行う画像処理装置の機能ブロック図である。
Claims (10)
- 撮像部から撮影情報を検出する撮影情報検出部と、
前記撮影情報内の前記撮像部の動き方向に基づき画像の全画面動き方向を検出する動き検出部と、
予測される注目画像内の注目画素に対応する、注目画像および周辺画像のうち少なくとも何れか一方の処理領域を設定する処理領域設定部と、
前記動き方向に対応する動きボケ除去用の処理係数を設定する処理係数設定部と、
前記処理領域内の画素の画素値と、前記処理係数とに基づき、前記注目画素に対応する画素値を生成する画素値生成部とを備える画像処理装置。 - 前記撮影情報に基づき、動きボケ量を検出する動きボケ量検出部を備える請求項1記載の画像処理装置。
- 前記処理領域設定部は、前記動きボケ量に応じて、前記処理領域の大きさを設定する請求項2記載の画像処理装置。
- 前記処理領域設定部は、前記動き方向に応じて、前記処理領域の方向を決定する請求項2記載の画像処理装置。
- 前記動き検出部は、前記撮影情報に基づき前記画像の動きベクトルを検出し、
前記動きボケ量検出部は、前記撮影情報に基づき露光時間比率を検出して、前記動きベクトルと前記露光時間比率とに基づき、動きボケ量を検出し、
前記処理係数設定部は、前記動きボケ量に基づき、前記動きボケ除去用の処理係数を設定する請求項2記載の画像処理装置。 - 前記処理領域設定部は、前記動きボケ量に基づき前記処理領域の大きさを設定し、前記動きベクトルの方向に基づき前記処理領域の方向を設定する請求項5記載の画像処理装置。
- 前記動き検出部は、前記画像の動きベクトルを検出し、
前記動きボケ量検出部は、前記動きベクトルの動き量を前記動きボケ量として検出する請求項1記載の画像処理装置。 - 前記撮影情報内のガンマ値に基づき、前記画像に対して逆ガンマ処理を施す逆ガンマ処理部と、
前記画素値生成部により生成された画素値からなる処理画像に対してガンマ処理を施すガンマ処理部とを備える請求項1記載の画像処理装置。 - 撮像部から撮影情報を検出する撮影情報検出工程と、
前記撮影情報内の前記撮像部の動き方向に基づき画像の全画面動き方向を検出する動き検出工程と、
予測される注目画像内の注目画素に対応する、注目画像および周辺画像のうち少なくとも何れか一方の処理領域を設定する処理領域設定工程と、
前記動き方向に対応する動きボケ除去用の処理係数を設定する処理係数設定工程と、
前記処理領域内の画素の画素値と、前記処理係数とに基づき、前記注目画素に対応する画素値を生成する画素値生成工程とを備える画像処理方法。 - コンピュータに、
撮像部から撮影情報を検出する撮影情報検出ステップと、
前記撮影情報内の前記撮像部の動き方向に基づき画像の全画面動き方向を検出する動き検出ステップと、
予測される注目画像内の注目画素に対応する、注目画像および周辺画像のうち少なくとも何れか一方の処理領域を設定する処理領域設定ステップと、
前記動き方向に対応する動きボケ除去用の処理係数を設定する処理係数設定ステップと、
前記処理領域内の画素の画素値と、前記処理係数とに基づき、前記注目画素に対応する画素値を生成する画素値生成ステップとを実行させる画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006549086A JP4766334B2 (ja) | 2004-12-21 | 2005-12-21 | 画像処理装置と画像処理方法および画像処理プログラム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004369265 | 2004-12-21 | ||
JP2004369265 | 2004-12-21 | ||
JP2006549086A JP4766334B2 (ja) | 2004-12-21 | 2005-12-21 | 画像処理装置と画像処理方法および画像処理プログラム |
PCT/JP2005/024000 WO2006068292A1 (ja) | 2004-12-21 | 2005-12-21 | 画像処理装置と画像処理方法および画像処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2006068292A1 JPWO2006068292A1 (ja) | 2008-06-12 |
JP4766334B2 true JP4766334B2 (ja) | 2011-09-07 |
Family
ID=36601877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006549086A Expired - Fee Related JP4766334B2 (ja) | 2004-12-21 | 2005-12-21 | 画像処理装置と画像処理方法および画像処理プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US7750943B2 (ja) |
JP (1) | JP4766334B2 (ja) |
WO (1) | WO2006068292A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4872508B2 (ja) * | 2006-07-28 | 2012-02-08 | ソニー株式会社 | 画像処理装置および画像処理方法、並びにプログラム |
JP4835949B2 (ja) * | 2007-12-21 | 2011-12-14 | ソニー株式会社 | 画像処理装置および方法、学習装置および方法、プログラム、並びに記録媒体 |
JP2009194896A (ja) * | 2008-01-18 | 2009-08-27 | Sanyo Electric Co Ltd | 画像処理装置及び方法並びに撮像装置 |
JP4656546B2 (ja) * | 2009-08-28 | 2011-03-23 | 日本ビクター株式会社 | 映像信号処理装置 |
US8452124B2 (en) | 2010-04-30 | 2013-05-28 | Honeywell International Inc. | Method and system for detecting motion blur |
US8472737B2 (en) | 2010-09-30 | 2013-06-25 | The Charles Stark Draper Laboratory, Inc. | Attitude estimation in compressed domain |
US8472735B2 (en) | 2010-09-30 | 2013-06-25 | The Charles Stark Draper Laboratory, Inc. | Attitude estimation with compressive sampling of starfield data |
US8472736B2 (en) * | 2010-09-30 | 2013-06-25 | The Charles Stark Draper Laboratory, Inc. | Attitude estimation by reducing noise with dragback |
JP2013021636A (ja) * | 2011-07-14 | 2013-01-31 | Sony Corp | 画像処理装置および方法、学習装置および方法、プログラム、並びに記録媒体 |
US9635276B2 (en) | 2015-06-10 | 2017-04-25 | Microsoft Technology Licensing, Llc | Determination of exposure time for an image frame |
KR102486398B1 (ko) * | 2015-10-14 | 2023-01-10 | 삼성디스플레이 주식회사 | 영상 신호 처리 회로 및 이를 포함하는 표시 장치 |
JP6522539B2 (ja) * | 2016-03-18 | 2019-05-29 | 富士フイルム株式会社 | 内視鏡システム及びその作動方法 |
KR102314647B1 (ko) * | 2017-11-23 | 2021-10-19 | 삼성전자주식회사 | 이미지를 처리하는 방법, 디바이스 및 기록매체 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0963314A (ja) * | 1995-08-28 | 1997-03-07 | Matsushita Electric Works Ltd | 自動追尾照明装置 |
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 (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6987530B2 (en) * | 2001-05-29 | 2006-01-17 | Hewlett-Packard Development Company, L.P. | Method for reducing motion blur in a digital image |
JP4596216B2 (ja) * | 2001-06-20 | 2010-12-08 | ソニー株式会社 | 画像処理装置および方法、記録媒体、並びにプログラム |
JP4596224B2 (ja) * | 2001-06-27 | 2010-12-08 | ソニー株式会社 | 画像処理装置および方法、記録媒体、並びにプログラム |
JP3800192B2 (ja) * | 2002-05-21 | 2006-07-26 | カシオ計算機株式会社 | 撮像装置、画像合成方法及び画像合成プログラム |
JP2006086933A (ja) * | 2004-09-17 | 2006-03-30 | Canon Inc | 撮像装置及び制御方法 |
JP2006129236A (ja) * | 2004-10-29 | 2006-05-18 | Sanyo Electric Co Ltd | リンギング除去装置およびリンギング除去プログラムを記録したコンピュータ読み取り可能な記録媒体 |
-
2005
- 2005-12-21 JP JP2006549086A patent/JP4766334B2/ja not_active Expired - Fee Related
- 2005-12-21 WO PCT/JP2005/024000 patent/WO2006068292A1/ja not_active Application Discontinuation
- 2005-12-21 US US11/793,701 patent/US7750943B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0963314A (ja) * | 1995-08-28 | 1997-03-07 | Matsushita Electric Works Ltd | 自動追尾照明装置 |
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 |
---|---|
US7750943B2 (en) | 2010-07-06 |
JPWO2006068292A1 (ja) | 2008-06-12 |
WO2006068292A1 (ja) | 2006-06-29 |
US20080095400A1 (en) | 2008-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4766334B2 (ja) | 画像処理装置と画像処理方法および画像処理プログラム | |
JP4868236B2 (ja) | 画像処理装置と画像処理方法および画像処理プログラム | |
WO2005079062A1 (ja) | 画像処理装置と画像処理方法およびプログラム | |
JP4317587B2 (ja) | 撮像処理装置および撮像装置、画像処理方法およびコンピュータプログラム | |
JP4497096B2 (ja) | 画像処理装置と画像処理方法およびプログラム | |
JP2009105992A (ja) | 撮像処理装置 | |
JP2006512029A (ja) | セグメントベース動き推定 | |
KR20060083978A (ko) | 움직임 벡터 필드 리-타이밍 | |
JP4766333B2 (ja) | 画像処理装置と画像処理方法および画像処理プログラム | |
WO2002067200A1 (en) | Image processing device | |
JP4867659B2 (ja) | 画像処理装置と学習装置と係数生成装置および方法 | |
JP4872672B2 (ja) | 学習装置と学習方法および学習プログラム | |
EP3001669B1 (en) | Image processing apparatus, image processing method and program | |
JP2011015228A (ja) | 画像処理装置、撮像処理装置、画像処理方法、および、画像処理装置の制御プログラム | |
JP4596248B2 (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: 20110519 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110601 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4766334 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140624 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |