以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
さらに、この記載は、本明細書に記載されている発明が、全て請求されていることを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現したり、追加される発明の存在を否定するものではない。
本発明によれば、画像処理装置が提供される。この画像処理装置(例えば、図1の画像処理システム1)は、入力画像内のユーザにより指定された領域(例えば、検出領域)を取得する取得手段(例えば、図1の選択制御部23)と、取得された前記領域内の画像から、当該画像内で生じているボケの属性を表す値の複数の候補を、前記入力画像全体を補正するための複数の補正データ(例えば、パラメータセット候補)として検出する検出手段(例えば、図1のパラメータ検出部22)と、前記検出手段により検出された前記複数の補正データに基づいて前記入力画像内のボケを補正した複数の補正画像を生成する補正手段(例えば、図1の画像処理部24)とを備え、前記取得手段は、前記複数の補正データの中から1つの前記補正データを、あるいは、前記複数の補正画像の中から1つの前記補正画像をユーザが選択する入力をさらに取得する。
この画像処理装置は、前記入力画像および前記補正画像の呈示を制御する呈示制御手段(例えば、図1のOSD処理部25)をさらに備えるようにすることができる。
この画像処理装置においては、前記呈示制御手段は、前記入力画像または前記補正画像に前記補正データに関する補正データ情報(例えば、図10のパラメータセット候補一覧121)を重畳させて呈示するように制御するようにすることができる。
この画像処理装置においては、前記取得手段は、前記呈示制御手段により呈示するように制御された前記補正データ情報に含まれる前記複数の補正データの中から1つの前記補正データをユーザが選択する入力(例えば、決定入力)をさらに取得し、前記補正手段は、前記ユーザにより選択された前記補正データに基づいて、前記補正画像を生成するようにすることができる。
この画像処理装置においては、前記取得手段は、前記呈示制御手段により呈示するように制御された前記補正画像に基づいて前記補正データの調整を指示するユーザからの調整指示入力(例えば、パラメータセット調整入力)をさらに取得し、前記補正手段は、前記取得手段により取得された前記調整指示入力に基づいて、前記入力画像を補正した前記補正画像内のボケを生成するようにすることができる。
この画像処理装置においては、前記補正データ情報は、前記複数の補正データを識別するための識別情報(例えば、図10の識別記号132)、および前記複数の補正データの値(例えば、図10のパラメータセット候補の値133)のうち少なくとも1つを含むようにすることができる。
この画像処理装置においては、前記呈示制御手段は、前記補正手段により生成された前記複数の補正画像を1画面内に呈示するように制御し、前記取得手段は、前記呈示制御手段により1画面内に呈示するように制御された前記複数の補正画像の中から1つの前記補正画像をユーザが選択する入力(例えば、決定入力)を取得するようにすることができる。
本発明によれば、画像処理方法が提供される。この画像処理方法は、入力画像内のユーザにより指定された領域(例えば、検出領域)を取得する第1の取得ステップ(例えば、図4のステップS4、または、図24のステップS104)と、前記第1の取得ステップの処理により取得された前記領域内の画像から、当該画像内で生じているボケの属性を表す値の複数の候補を、前記入力画像全体を補正するための複数の補正データ(例えば、パラメータセット候補)として検出する検出ステップ(例えば、図4のステップS5、または、図24のステップS105)と、前記検出ステップの処理により検出された前記複数の補正データに基づいて前記入力画像内のボケを補正した複数の補正画像を生成する補正ステップ(例えば、図24のステップS107)と、前記複数の補正データの中から1つの補正データを、あるいは、前記複数の補正画像の中から1つの前記補正画像をユーザが選択する入力を取得する第2の取得ステップ(例えば、図5のステップS8、または、図24のステップS109)とを含む。
本発明によれば、プログラムが提供される。このプログラムは、入力画像内のユーザにより指定された領域(例えば、検出領域)を取得する第1の取得ステップ(例えば、図4のステップS4、または、図24のステップS104)と、前記第1の取得ステップの処理により取得された前記領域内の画像から、当該画像内で生じているボケの属性を表す値の複数の候補を、前記入力画像全体を補正するための複数の補正データ(例えば、パラメータセット候補)として検出する検出ステップ(例えば、図4のステップS5、または、図24のステップS105)と、前記検出ステップの処理により検出された前記複数の補正データに基づいて前記入力画像内のボケを補正した複数の補正画像を生成する補正ステップ(例えば、図24のステップS107)と、前記複数の補正データの中から1つの補正データを、あるいは、前記複数の補正画像の中から1つの前記補正画像をユーザが選択する入力を取得する第2の取得ステップ(例えば、図5のステップS8、または、図24のステップS109)とを含む。
このプログラムは、記録媒体(例えば、図27のリムーバルメディア521)に記録することができる。
以下、図を参照して、本発明の実施の形態について説明する。
図1は、本発明を適用した画像処理システム1の基本構成例を示すブロック図である。画像処理システム1は、データ処理部11、呈示部12、およびリモートコントローラ13により構成される。
ユーザは、リモートコントローラ13あるいは図示せぬデータ処理部11に設けられたキーを操作して、データ処理部11への入力や処理の指示などを行う。
図2は、リモートコントローラ13の外観構成例を示している。リモートコントローラ13は、方向キー41−1乃至41−4、決定キー42、機能キー43−1乃至43−3を有している。例えば、ユーザは、方向キー41−1乃至41−4を操作して、検出領域を指定したり、パラメータセット候補一覧の中から適用パラメータセットを選択したり、パラメータセットの値を調整したりする。ユーザは、決定キー42を押下することにより、検出領域やパラメータセットなどの設定値や選択項目を確定する。ユーザは、機能キー43−1乃至43−3を操作して、データ処理部11が有する機能を起動させ、使用する。
呈示部12は、例えば、一般のテレビジョン受像機や専用のモニタで構成され、画像を表示する。
データ処理部11は、ユーザにより補正を行うために入力された画像(以下、入力画像と称する)を呈示させるための画像データ(以下、入力画像データと称する)を呈示部12に出力して、呈示部12に入力画像を呈示させる。データ処理部11はまた、ユーザが入力画像内の補正データを検出する領域(以下、検出領域と称する)を指定する入力(以下、検出領域指定入力と称する)、および、入力画像の劣化の原因などに基づいて、ユーザが補正データの検出方式を指定するモード(以下、補正モードと称する)を取得する。補正モードには、例えば、主に動きボケによる画像の劣化を補正する動きボケ補正モード、主にフォーカスボケによる画像の劣化を補正するフォーカスボケ補正モードなどが含まれる。
さらに、データ処理部11は、図15を参照して後述するように、ユーザにより指定された補正モードと検出領域内の画像に基づいて、入力画像を補正するために必要な補正データ(以下、パラメータセットと称する)の候補(以下、パラメータセット候補と称する)を検出する。
この他、データ処理部11は、検出したパラメータセット候補の一覧(以下、パラメータセット候補一覧と称する)を呈示部12に呈示させる。また、データ処理部11は、ユーザにより入力されたパラメータセット候補の選択や確定などを指示する決定入力、およびパラメータセット候補の検出結果や選択などをキャンセルするキャンセル入力を取得する。さらに、データ処理部11は、呈示されたパラメータセット候補一覧の中からユーザにより選択されたパラメータセット(以下、適用パラメータセットと称する)に基づいて補正した画像(以下、補正画像と称する)のデータ(以下、補正画像データと称する)を生成する。
データ処理部11は、生成した補正画像データを呈示部12に出力し、呈示部12に補正画像を呈示させる。また、データ処理部11は、呈示部12に呈示された補正画像に基づいて、適用パラメータセットの調整を指示するユーザからの入力(以下、パラメータセット調整入力と称する)を取得し、ユーザからの指示により調整したパラメータセット(以下、調整パラメータセットと称する)に基づいて再度補正した補正画像データを生成し、呈示部12に呈示させる。
このような機能を実現するため、データ処理部11は、画像入力部21、パラメータ検出部22、選択制御部23、画像処理部24、OSD(On Screen Display)処理部25、画像出力部26、および入力画像蓄積部27により構成される。
パラメータ検出部22は、画像入力部21を介して、入力画像データを取得し、入力蓄積部27に蓄積させる。パラメータ検出部22は、選択制御部23を介して、リモートコントローラ13を操作することでユーザにより入力された検出領域指定入力および補正モードを取得する。パラメータ検出部22は、図15を参照して後述するように、ユーザにより指定された補正モードと検出領域内の画像に基づいて、パラメータセット候補を検出する。パラメータ検出部22は、検出したパラメータセット候補を選択制御部23に供給する。
選択制御部23は、リモートコントローラ13を介してユーザにより入力された検出領域指定入力および補正モードを取得したり、パラメータセット候補の選択や確定などを指示する決定入力、およびパラメータセット候補の検出結果や選択などをキャンセルするキャンセル入力を取得する。選択制御部23はまた、パラメータ検出部22からパラメータセット候補を取得するとともに、ユーザにより選択された適用パラメータセットを画像処理部24に供給する。さらに、選択処理部23は、リモートコントローラ13を介してユーザにより入力されたパラメータセット調整入力を取得し、ユーザの指示により調整した調整パラメータセットを画像処理部24に供給する。
この他、選択制御部23は、検出領域、パラメータセット候補一覧、カーソルなど、入力画像や補正画像に重畳させて呈示させるデータ(以下、重畳データと称する)と、重畳データの呈示位置や文字の大きさなど重畳データの呈示を制御するためのデータ(以下、呈示制御データと称する)をOSD処理部25に供給する。
画像処理部24は、図4と図5を参照して後述するように、入力画像蓄積部27に蓄積されている入力画像データを取得し、選択制御部23から供給されたパラメータセットに基づいて、入力画像を補正した補正画像データを生成する。画像処理部24は、入力画像データや補正画像データをOSD処理部25に供給する。
OSD処理部25は、選択制御部23から取得した重畳データと呈示制御データに基づいて、画像処理部24から取得した入力画像や補正画像に重畳データを重畳させた画像データを生成し、画像出力部26を介して呈示部12に出力する。呈示部12は入力された画像データに基づく画像を呈示する。OSD処理部25は、必要に応じて、補正画像の画像データを、画像出力部26を介して、記憶装置など外部の装置に出力する。
図3は、選択制御部23の基本構成例を示すブロック図である。選択制御部23は、入力部61、パラメータ可変部62、およびOSD(On Screen Display)データ補正部62により構成される。
入力部61は、リモートコントローラ13を介してユーザにより入力された検出領域指定入力、補正モード、およびパラメータセット調整入力を取得し、パラメータ可変部62に供給するとともに、検出領域指定入力をOSDデータ補正部63に供給する。また、入力部61は、リモートコントローラ13を介してユーザにより入力されたパラメータセット候補の選択や確定などを指示する決定入力、およびパラメータセット候補の検出結果や選択などをキャンセルするキャンセル入力を取得する。
パラメータ可変部62は、パラメータ検出部22から取得したパラメータセット候補をOSDデータ補正部63に供給する。また、パラメータ可変部62は、入力部61から取得した検出領域指定入力をパラメータ検出部22に供給するとともに、ユーザにより選択された適用パラメータセットを画像処理部24とOSDデータ補正部63に供給する。さらに、パラメータ可変部62は、入力部61から取得したパラメータセット調整入力に基づいて調整した調整パラメータセットを画像処理部24とOSDデータ補正部63に供給する。
OSDデータ補正部63は、パラメータ可変部62からパラメータセット候補、適用パラメータセット、および調整パラメータセットを取得し、入力部61から取得した検出領域指定入力などのユーザからの入力に基づいて、重畳データと呈示制御データを生成し、OSD処理部25に供給する。
次に、図4と図5を参照して、画像処理システム1により実行される画像補正処理について説明する。なお、この処理は、ユーザにより処理の開始が指令されたとき、開始される。
ステップS1において、パラメータ検出部22は、画像入力部21を介して、入力画像データを取得し、入力画像蓄積部27に蓄積させる。これにより、例えば、図6に示されるような動きボケにより被写体101の輪郭近傍の輝度が、被写体101の進行方向であるほぼ水平方向の周囲の画素に広がり、劣化した入力画像の入力画像データが入力される。
ステップS2において、画像処理部24は、入力画像蓄積部27に蓄積された入力画像データを取得し、OSD処理部25に供給する。OSDデータ補正部63は、図7に示されるデフォルトの検出領域111−1乃至111−3を入力画像に重畳させて呈示させるための重畳データと呈示制御データをOSD処理部25に供給する。OSD処理部25は、入力画像にデフォルトの検出領域111−1乃至111−3を重畳させた画像の画像データを生成し、画像出力部26を介して呈示部12に出力する。呈示部12は取得した画像データに基づく画像を、図7に示されるように呈示する。
ユーザは、呈示部12に呈示された入力画像を見て、入力画像の劣化の原因などに基づいて補正モードを選択し、リモートコントローラ13を操作して、補正モードを入力する。
そこで、ステップS3において、選択制御部23の入力部61は、ユーザにより入力された補正モードを取得する。入力部61は、ユーザにより入力された補正モードを取得し、パラメータ可変部62に伝達する。パラメータ可変部62は、パラメータ検出部22と画像処理部24にユーザにより指定された補正モードを伝達する。
ステップS4において、入力部61は、ユーザからの指示に基づいて、補正データを検出する入力画像内の検出領域を設定する。すなわち、ユーザは、図7に示される画像を見て、特に画像の劣化がひどい領域や、重点的に補正したい領域などがあれば、リモートコントローラ13を操作して、その領域を指定する。ユーザからのこのような領域の指定が入力された場合、入力部61は、検出領域を、図7のデフォルトの検出領域111−1乃至111−3から、検出領域を指定された領域に変更するために、ユーザにより入力された検出領域指定入力を取得し、OSDデータ補正部63に供給する。
OSDデータ補正部63は、検出領域指定入力に基づいて、ユーザにより指定された検出領域を入力画像に重畳させて呈示させるための重畳データと呈示制御データを生成し、OSD処理部25に供給する。OSD処理部25は、取得した重畳データおよび呈示制御データに基づいて、変更された検出領域を入力画像に重畳させた画像データを生成し、呈示部12に供給する。
呈示部12は、取得した画像データに基づいて、例えば、図8に示されるように、変更された検出領域を入力画像に重畳させた画像を呈示する。図8の例においては、左右のデフォルトの検出領域111−1,111−3はそのままとされ、中央のデフォルトの検出領域111−2が、より広い範囲の領域111−11に変更されている。そして、検出領域111−11の一部は検出領域111−1,111−3の一部と重なった状態とされている。
入力部61は、ユーザがリモートコントローラ13の決定キー42を押下するなどして、検出領域が確定されたときに取得した検出領域指定入力を、パラメータ可変部62に供給する。パラメータ可変部62は、パラメータ検出部22に検出領域指定入力を供給する。
なお、以下の説明において、入力画像内に3ヶ所の検出領域が設定される例を示すが、もちろん、その数、位置、大きさ等は任意に入力することができる。また、図9に示されるように、検出領域111−21乃至111−30を用意し、ユーザがその中から任意の個数の検出領域を設定できるようにしてもよい。さらに、図9に示されるように、1つの検出領域(例えば、検出領域111−30)に他の検出領域(例えば、検出領域111−25)が含まれたり、複数の領域(例えば、検出領域111−21乃至111−24および111−26乃至111−29と、検出領域111−30)の一部が重なるように設定されるようにしてもよい。
ステップS5において、パラメータ検出部22は、パラメータ検出処理を行う。このパラメータ検出処理の詳細については、図15を参照して後述するが、この処理により、入力画像を補正するときに用いられるパラメータセット候補が、ステップS4の処理で設定された検出領域1ヶ所につき3組、従って、検出領域の数が3個である場合には、合計9(=3×3)組検出される。
ここで、パラメータ検出部22により検出されるパラメータセットについて説明する。動きボケなどにより劣化した画像は、画像の劣化を表わす点像分布関数と本来の被写体の画像を畳み込み積分することによってモデル化(再現)される。従って、点像分布関数を求めて、その点像分布関数と劣化した画像のデータ(入力画像データ)を逆畳み込み積分することにより、入力画像を本来の被写体の画像に近い劣化の少ない画像に補正することができる。
例えば、画像の劣化が主に被写体の動きに伴う動きボケに起因する場合、点像分布関数は、撮像時の被写体の動きを表わすベクトル、すなわち撮像時に被写体が動いた画像上の距離と角度(方向)により表わされる。
ステップS5において、パラメータ検出部22は、例えば、動きボケ補正モードの場合、撮像時に被写体が動いた距離と角度であると推定される値を所定の数だけ検出して、パラメータセット候補とする。
ステップS6において、パラメータ検出部22は、ステップS5の処理で検出したパラメータセット候補をパラメータ可変部62に供給する。パラメータ可変部62は、取得したパラメータセット候補を、画像処理部24とOSDデータ補正部63に供給する。
ステップS7において、呈示部12は、パラメータセット候補を呈示する。具体的には、OSDデータ補正部63は、図10に示されるように、パラメータセットの項目(動き(ベクトル)と角度)を表わす項目名131、各パラメータセット候補を識別するための識別記号132、各パラメータセット候補の値133、およびカーソル134から構成されるパラメータセット候補一覧121を入力画像に重畳させて呈示させるための重畳データと呈示制御データをOSD処理部25に供給する。OSD処理部25は、重畳データと呈示制御データに基づいて、入力画像にパラメータセット候補一覧121を重畳させた画像データを生成し、画像出力部26を介して、呈示部12に出力する。呈示部12は、取得した画像データに基づいて、例えば、図10に示されるように、入力画像にパラメータセット候補一覧121を重畳させた画像を呈示する。
あるいはまた、OSDデータ補正部63は、入力部61を介して、ユーザからの指令を取得して、図11に示されるように、パラメータセット候補一覧121として識別記号132とカーソル134のみ呈示させたり、図12に示されるように、パラメータセット候補一覧121に識別記号132を呈示させず、項目だけを呈示させるようにする重畳データと呈示制御データを生成し、呈示部12に呈示させることができる。これにより、パラメータセット候補一覧121に、ユーザが必要な情報のみを呈示させることができる。また、パラメータセット候補一覧121の呈示位置も、ユーザの指定により、変更することができる。
ユーザは、図10に示される画像を見て、リモートコントローラ13を操作して、適用パラメータセットとしてパラメータセット候補一覧121の中の1つを選択する決定入力、または検出されたパラメータセット候補をキャンセルするキャンセル入力のうちいずれか一方を入力する。そこで、ステップS8において、入力部61は、そのユーザからの入力を取得する。
ステップS9において、入力部61は、ステップS8の処理でユーザにより決定入力が入力されたか否かを判定する。ユーザにより決定入力ではなくキャンセル入力が入力されたと判定された場合、処理はステップS2に戻り、ステップS9において、決定入力が入力されたと判定されるまで、ステップS2乃至S9の処理が繰り返される。すなわち、再度ユーザにより補正モードと検出領域が設定され、設定された補正モードと検出領域に基づいてパラメータセット候補が検出され、その一覧が呈示される処理が繰り返される。これにより、ユーザは、パラメータセット候補の検出を何度もやり直させることができる。
ステップS9において、ステップS8の処理でユーザにより決定入力が入力されたと判定された場合、すなわち、ユーザによりパラメータセット候補一覧121の中から適用パラメータセットが選択された場合、処理はステップS10に進む。
ステップS10において、画像処理部24は、ユーザにより選択された適用パラメータセットに基づいて、入力画像を補正した補正画像の補正画像データを生成する。具体的には、パラメータ可変部62は、ユーザにより選択されたパラメータセットを適用パラメータセットとして、画像処理部24に供給する。画像処理部24は、適用パラメータセットに基づいて、画像の劣化を表わす点像分布関数を求め、入力画像データに重畳されたノイズや画像サイズ、撮像系の特性、データ処理部11の処理速度やハードウェアの規模などを考慮しながら、その点像分布関数と入力画像データを逆畳み込み積分に相当する処理を行うことにより補正した補正画像の補正画像データを生成する。
ステップS11において、呈示部12は、図13に示されるように、ステップS10の処理で被写体101の劣化が補正された被写体141を含む補正画像を呈示する。具体的には、画像処理部24は、ステップS10の処理で生成した補正画像データを、OSD処理部25に供給する。OSDデータ補正部63は、パラメータ可変部62より適用パラメータセットを取得し、図13に示されるように、パラメータセットの項目(動き(ベクトル)と角度)を表わす項目名161、適用パラメータセットの値162から構成されるパラメータセット表示151を補正画像に重畳させて呈示させるための重畳データと呈示制御データをOSD処理部25に供給する。
OSD処理部25は、取得した重畳データと呈示制御データに基づいて、補正画像にパラメータセット表示151を重畳させた画像データを生成し、画像出力部26を介して、呈示部12に出力する。呈示部12は、取得した画像データに基づいて、図13に示されるように、被写体101の劣化が補正された被写体141の画像を含む補正画像にパラメータセット表示151を重畳させた画像を呈示する。
ユーザは、図13に示される適用パラメータセットに基づいて補正された補正画像を見て、呈示された補正画像で満足する場合には、リモートコントローラ13を操作して、適用パラメータセットの選択を確定する決定入力を入力する。あるいは、ユーザは、その補正画像に満足しない場合、すなわち、現在の適用パラメータセットの選択をキャンセルして、再度適用パラメータセットを選択する場合には、リモートコントローラ13を操作して、キャンセル入力を入力する。そこで、ステップS12において、入力部61は、そのユーザからの入力を取得する。なお、図10に示されるパラメータセット候補一覧121と同様に、パラメータセット表示151の呈示位置も、ユーザの指定により変更することができる。
ステップS13において、入力部61は、決定入力が入力されたか否かを判定する。ステップS12の処理でユーザにより決定入力ではなく、キャンセル入力が入力されたと判定された場合、すなわち、適用パラメータセットの選択がキャンセルされた場合、処理はステップS7に戻り、ステップS13において、決定入力が入力されたと判定されるまで、上述したステップS7乃至S13の処理が繰り返される。すなわち、再度パラメータセット候補一覧121が呈示され、パラメータセット候補一覧121の中からユーザにより選択された適用パラメータセットに基づいて補正した画像が呈示される処理が繰り返される。これにより、ユーザは、適用パラメータセットに基づいて補正された補正画像を確認しながら、適用パラメータの選択を繰り返すことができる。
ステップS13において、ステップS12の処理でユーザにより決定入力が入力されたと判定された場合、すなわち、適用パラメータセットの選択が確定された場合、処理はステップS14に進む。
ユーザは、適用パラメータセットを確定した後、あるいは後述するステップS18乃至S20の処理で適用パラメータセットの値を調整した後、パラメータセットを最終決定する場合には、リモートコントローラ13を操作して、決定入力を入力する。あるいは、ユーザは、適用パラメータセットの値を調整して、画像の補正を微調整する場合には、リモートコントローラ13を操作して、パラメータセット調整入力を入力し、あるいは、確定した適用パラメータセットの選択をキャンセルして、再度適用パラメータセットを選択する場合には、キャンセル入力を入力する。そこで、ステップS14において、入力部61は、このユーザからの入力を取得する。
ステップS15において、入力部61は、決定入力が入力されたか否かを判定する。ステップS14の処理でユーザにより決定入力が入力されていないと判定された場合、処理はステップS17に進む。
ステップS17において、入力部61は、パラメータセット調整入力が入力されたか否かを判定する。ステップS14の処理でユーザによりパラメータセット調整入力が入力されたと判定された場合、処理はステップS18に進む。
ステップS18において、パラメータ可変部62は、入力部61からパラメータセット調整入力を取得し、パラメータセット調整入力に基づいて、適用パラメータセットの値を調整する。パラメータ可変部62は、調整したパラメータセット(調整パラメータセット)を画像処理部24とOSDデータ補正部63に供給する。
ステップS19において、画像処理部24は、調整パラメータセットに基づいて、入力画像を補正した補正画像の補正画像データを生成する。
ステップS20において、ステップS19の処理で生成された補正画像データに基づく補正画像が呈示される。具体的には、画像処理部24は、ステップS19の処理で生成した補正画像データを、OSD処理部25に供給する。パラメータ可変部62は、パラメータセット表示151のパラメータセットの値に調整パラメータセットの値を呈示させるための重畳データと呈示制御データをOSD処理部25に供給する。
OSD処理部25は、重畳データと呈示制御データに基づいて、調整パラメータセットに基づいて補正された補正画像の補正画像データに、適用パラメータセットの値を調整パラメータセットの値に変更したパラメータセット表示151を重畳させた画像データを生成し、画像出力部26を介して、呈示部12に出力する。呈示部12は、取得した画像データに基づいて、補正画像にパラメータセット表示151を重畳させた画像を呈示する。これにより、ユーザは、調整したパラメータセットの値を確認しながら、調整パラメータセットに基づいて補正された補正画像を確認することができる。
その後、処理はステップS14に戻り、ステップS15において、ユーザにより決定入力が入力された、すなわち調整されたパラメータセットが最終決定されたと判定されるまで、ステップS14乃至S20の処理が繰り返される。すなわち、ユーザにより適用パラメータセットの値が調整され、調整されたパラメータセットに基づいて補正画像データが生成され、補正画像が呈示される処理が繰り返される。
ただし、ステップS17において、ステップS14の処理で、ユーザによりパラメータセット調整入力ではなく、キャンセル入力が入力されたと判定された場合、ステップS13において、キャンセル入力が入力されたと判定された場合と同様に、適用パラメータセットの選択がキャンセルされ、処理はステップS7に戻り、それ以降の処理が繰り返される。
ステップS15において、ステップS14の処理でユーザにより決定入力が入力されたと判定された場合、すなわち、適用パラメータセットがそのまま最終決定されたり、ステップS18乃至S20の処理で調整された調整パラメータセットが最終決定された場合、処理はステップS16に進む。
ステップS16において、呈示部12は、最終決定されたパラメータセットに基づいて補正された補正画像を呈示する。具体的には、パラメータ可変部62は、ユーザにより最終決定されたパラメータセットを画像処理部24に供給する。画像処理部24は、ユーザにより最終決定されたパラメータセットに基づいて、入力画像を補正した補正画像の補正画像データを生成し、OSD処理部25に供給する。OSD処理部25は、例えば図14に示されるように、最終決定されたパラメータセットに基づいて、被写体101の劣化が補正された被写体171を含む補正画像のみの画像データを生成し、呈示部12に出力する。呈示部12は、取得した画像データに基づいて、図14に示される被写体101の劣化が補正された被写体171を含む補正画像を呈示する。
また、OSD処理部25は、必要に応じて、画像出力部26を介して、生成した画像データを外部の装置に出力する。
このようにして、ユーザは、入力画像内の所望する複数の検出領域を指定して、その領域内の画像に基づいて入力画像を補正するためのパラメータセットの候補を検出させることができる。従って、画像全体に対してパラメータセット候補を検出するのに比べて、検出時間を短くし、検出回路の規模を小さくすることができる。また、画像内に異なる動きをする複数の被写体が存在したり、焦点距離が異なる複数の被写体が存在したりする場合でも、検出領域をそれぞれの被写体にあわせて分割して設定できるため、それぞれの被写体に対して適切なパラメータセット候補を検出することができる。また、ユーザは、補正された画像を確認しながら、検出されたパラメータセット候補の中から適切な適用パラメータセットを選択することができ、さらに、選択した適用パラメータセットをさらに調整することができる。従って、簡単かつ迅速にユーザが所望するように画像を補正することができる。
さらに、ユーザにより適用パラメータセットが選択されたり、パラメータセットの値が調整される毎に、そのパラメータセットに基づいて入力画像を補正することにより、補正画像データを保持するためのメモリが不要となる。
次に、図15のフローチャートを参照して、図4のステップS5のパラメータ検出処理の詳細について、補正モードとして動きボケ補正モードが設定された場合の例に基づいて、説明する。
ステップS31において、パラメータ検出部22は、図4のステップS4の処理で設定された検出領域のうち1つを指定する。
ステップS32において、パラメータ検出部22は、ステップS31の処理で指定した検出領域内の所定の間隔ごとの複数の画素を評価点として設定し、設定した評価点の中から1つを指定する。
ステップS33において、パラメータ検出部22は、入力画像データの輝度を測定する角度(方向)(以下、測定角度と称する)を指定する。例えば、入力画像の水平かつ右方向を0度とすると、0度から180度の方向のうち所定の間隔ごとの角度が測定角度として設定され、その測定角度の中から1つが指定される。
例えば、図16において、検出領域190内の点Aを評価点として、0度から45度間隔に測定角度を設定した場合、評価点Aを通過する0度方向の直線191−1、評価点Aを通過する右斜め上45度方向の直線191−2、評価点Aを通過する上90度方向の直線191−3、および評価点Aを通過する左斜め上135度方向の直線191−4のいずれか1つが指定される。
ステップS34において、パラメータ検出部22は、ステップS33で指定された測定角度方向の直線(例えば、図16の直線191−1)上に位置する画素の輝度について、輝度を画素の位置で1回微分した値の絶対値(以下、1回微分値と称する)を、さらに微分した2回微分値を求める。
例えば、図17に示されるような、外形がほぼ円形の物体201の中心を評価点Oとして、物体201およびその周辺について、評価点Oを通過するほぼ水平で左から右の方向の直線202上の輝度の2回微分値について考える。
図18は、物体201が静止した状態のとき撮像された画像において、物体201およびその周辺の直線202上に位置する画素の輝度を表わすグラフである。縦軸が輝度を表わし、横軸が直線202の方向における画素の位置を表わしている。図17の点Aにおける輝度の値が、図18の横軸の点Aにおける輝度の値に対応し、図17の点Bにおける輝度の値が、図18の横軸の点Bにおける輝度の値に対応する。図18に示されるように、物体201の輝度は、直線202の方向において値Y1で一定であり、物体201の周囲の輝度の値Y2は、物体201の値Y1より低い輝度で一定である。
図19は、図17の物体201が直線202の方向に等速で動いているときに撮像された画像において、物体201およびその周辺の直線202の方向の輝度を表わすグラフである。同図に示されるように、物体201の左端の点Aおよび右端の点B付近の輝度が、画像の位置にほぼ比例して変化するとともに、物体201の範囲(点Aと点Bの区間)を超えて広がっている。これは、撮像中に物体201が等速で動いたことにより、物体201の輪郭の近傍の輝度が、背景の輝度と中和されてぼやけたことが原因である。物体201の輪郭の近傍の輝度が変化する(ぼやける)範囲は、撮像時の物体201の動き量dとほぼ等しくなるため、輝度が変化している点Cと点Dの間の距離d1と、点Eと点Fの間の距離d2は、撮像時の物体201の動き量dとほぼ等しくなる。
図20は、図19の輝度を表わす線を画素の位置で微分した値の絶対値である1回微分値のグラフを示している。この1回微分値は、図19の輝度の線の各画素の位置における傾き(輝度の変化率)を示しており、図19の輝度が画素の位置に比例して変化している位置Cと位置Dの区間および位置Eと位置Fの区間でほぼ一定の正の値となり、それ以外の区間でほぼ0となる。
図21は、図20の1回微分値の線を、さらに画素の位置で微分した2回微分値のグラフを示している。このグラフは、図20の1回微分値が正の方向に変化する位置Cおよび位置Eにおいて正のピーク値を持つパルス242−1およびパルス242−3、および1回微分値が負の方向に変化する位置Dおよび位置Fにおいて負のピーク値を持つパルス242−2およびパルス242−4の4つのパルスを有する。
ステップS34において、パラメータ検出部22は、評価点と、測定角度方向で評価点と隣接する前後の画素の輝度を求め、それぞれの輝度に適切な係数を乗じて、足し合わせることにより、評価点における2回微分値を直接求める。次に、評価点に隣接する前後の画素について同様の処理を行い、評価点に隣接する画素における2回微分値を求める。この処理が、評価点を中心にした測定角度方向の前後両方向において、図21のピーク242−1と242−2、またはピーク242−3と242−4のような異なる符号(極性)のピークが、1つずつ以上検出される画素の位置まで繰り返される。
ステップS35において、パラメータ検出部22は、ステップS34において求めた2回微分値のピーク間の距離(以下、ピーク間距離と称する)を求める。パラメータ検出部22は、2回微分値のグラフにおいて、評価点Oを中心にした正と負の両方向について、評価点Oに最も近いピークと、評価点Oに最も近いピークに対して評価点Oから離れる方向に隣接し、評価点Oに最も近いピークと符号(正または負)が異なるピークの間の距離を求める。ピーク間距離は、画像の輝度の変化率が連続して増加している区間あるいは連続して減少している区間の距離を表わしており、画像の輝度の変化の傾向を表わしている。
例えば、図21の2回微分値において、評価点Oから負の方向で最も近いピークであるパルス242−2のピークと、パルス242−2のピークに対して評価点Oから離れる方向に隣接し、パルス242−2のピークとは符号の異なる正の値のピークであるパルス242−1のピークの間の距離L1と、評価点Oから正の方向で最も近いピークであるパルス242−3のピークと、パルス242−3のピークに対して評価点Oから離れる方向に隣接し、パルス242−3のピークとは符号の異なる負の値のピークであるパルス242−4のピークの間の距離L2が求められる。このピーク間距離L1とL2はほぼ等しく、また図19の距離d1およびd2、すなわち撮像時の物体201の動き量dとほぼ等しくなる。従って、ピーク間距離L1およびL2を求めることにより、撮像中に物体201が動いた距離とほぼ等しい値を求めることができる。
ステップS36において、パラメータ検出部22は、評価点における全ての測定角度について処理したか否かを判定する。全ての測定角度について処理していないと判定された場合、処理はステップS33に戻り、ステップS36において、評価点における全ての測定角度について処理されたと判定されるまで、ステップS33乃至S36の処理が繰り返される。すなわち、ステップS32の処理で指定された評価点において、全ての測定角度について、ピーク間距離が求められる。例えば、図17の評価点Oにおいて、全ての測定角度についてピーク間距離が求められる。
ステップS36において、評価点における全ての測定角度について処理されたと判定された場合、処理はステップS37に進む。
ステップS37において、パラメータ検出部22は、検出領域内の全ての評価点について処理したか否かを判定する。検出領域内に設定された全ての評価点について処理されていないと判定された場合、処理はステップS32に戻り、ステップS37において検出領域内の全ての評価点において処理が行われたと判定されるまで、ステップS32乃至S37の処理が繰り返される。すなわち、検出領域内の全ての評価点において、全ての測定角度について、ピーク間距離が求められる。これにより、例えば、図17の評価点Oの他、図17には図示されていない物体201の内部および外部に位置する検出領域内の他の全ての評価点において、全ての測定角度についてピーク間距離が求められる。
ステップS37において、全ての評価点について処理されたと判定された場合、処理はステップS38に進む。
ステップS38において、パラメータ検出部22は、検出された全てのピーク間距離を、検出された測定角度ごとに集計したピーク間距離の分布を求める。図22および図23は、図17に示される物体201、その他の画像であって、検出領域内の動きボケにより劣化した画像の、1つの測定角度におけるピーク間距離の分布を示している。図22および図23のグラフの横軸はピーク間距離を示しており、縦軸は各ピーク間距離の値の検出頻度を示している。図22は、物体201の運動方向における検出領域内の画像のピーク間距離の分布を示しており、図23は、物体201の運動方向に対してほぼ90度の方向における検出領域内の画像のピーク間距離の分布を示している。
ステップS39において、パラメータ検出部22は、ステップS38の処理で求めたピーク間距離の分布に基づいて、暫定パラメータセット候補を求める。
ピーク間距離は、本来の画像の輝度の変化、およびノイズや動きボケなどに起因する輝度の変化に基づいて、図22および図23のグラフに示されるように分布する。すなわち、輝度の変化が同様な領域が画像内に多く含まれる場合、その領域において、ほぼ等しいピーク間距離が検出される頻度が高くなり、ピーク間距離の分布のグラフにおいて、図22のピーク251−1や251−2に示されるようなピークを生じる。
特に、動きボケにより劣化した(輝度が変化した)領域の物体201の運動方向において、図19に示されるように、被写体の輪郭の近傍の輝度が、撮像時の物体201の動き量dとほぼ等しい区間d1,d2で画像の位置に比例して変化する傾向にある。従って、ほぼ等しいピーク間距離が検出される頻度が高くなり、図22のピーク251−1またはピーク251−2のいずれか一方が、物体201の運動により発生した動きボケが原因で生じたものであると推定できる。また、ピーク251−1およびピーク251−2のうちいずれか一方は、物体201の運動による動きボケとは別の原因で発生したピーク、例えば、物体201以外の被写体の運動による動きボケによるピーク、画像のノイズによるピーク、検出領域内の画像の輝度の変化により自然に生じたピークなどと考えられる。
一方、物体201の運動方向に対してほぼ90度の方向については、物体201の運動による動きボケの影響がほとんど現れない(動きボケによる輝度の変化がほとんど生じない)ため、図23に示されるように、ピーク間距離の分布のグラフにおいて突出したピークを生じにくい傾向となる。
従って、ピーク間距離の分布において、検出頻度が高いピーク間距離と、そのピーク間距離が検出された測定角度の組み合わせをいくつか抽出すれば、その中に、ピーク間距離で示される撮像時の被写体の動き量と、測定角度で示される撮像時の被写体の運動方向の組み合わせが含まれていると推定できる。
パラメータ検出部22は、この特性を利用して、ピーク間距離の分布に基づいて、最も検出頻度の高いピーク間距離を所定の数(例えば、9組)だけ抽出して、そのピーク間距離が検出された測定角度と組み合わせて、暫定パラメータセット候補とする。
ステップS40において、パラメータ検出部22は、ユーザから指定された全ての検出領域について処理したか否かを判定する。まだ、全ての検出領域が処理されていないと判定された場合、処理はステップS31に戻り、ステップS40において、全ての検出領域が処理されたと判定されるまで、ステップS31乃至S40の処理が繰り返される。すなわち、ユーザにより設定された全ての検出領域について、暫定パラメータセット候補が検出される。
ステップS40において、全ての検出領域について処理されたと判定された場合、処理はステップS41に進み、パラメータ検出部22は、パラメータセット候補を決定する。すなわち、パラメータ検出部22は、暫定パラメータセット候補の中から、各検出領域ごとに検出頻度の高い上位3組、従って、検出領域の数が3個である場合には、合計9(=3×3)組のピーク間距離と測定角度の組み合わせを抽出して、パラメータセット候補とする。ただし、ある検出領域におけるピーク間距離の検出頻度が、予め設定されている所定の閾値より低い場合、それは動きボケとは別の原因によるものである可能性が高い。そこで、その検出領域から抽出されるパラメータセット候補の数がその分だけ減らされ、他の検出領域で抽出される、閾値以上の頻度のピーク間距離に基づくパラメータセット候補の数が増加される。
その後、処理は図4のステップS6に進み、検出されたパラメータセット候補に基づいて、入力画像が補正される。
以上のようにして、動きボケの原因となった撮像時の被写体の動きの方向と動き量に近い値が、パラメータセット候補として検出される。
なお、以上の本発明を適用した画像処理システム1の実施の形態では、パラメータセット候補一覧を呈示して、ユーザに適用パラメータセット候補を選択させる例を示したが、実際にパラメータセット候補に基づいて補正した補正画像の一覧を呈示するようにして、ユーザに適用パラメータセット候補を選択させることも可能である。以下、パラメータセット候補一覧を呈示して、ユーザに適用パラメータセット候補を選択させる方式をパラメータセット候補一覧方式、パラメータセット候補に基づいて補正した画像の一覧を呈示して、ユーザに適用パラメータセット候補を選択させる方式を補正画像一覧方式と称する。
次に、図24と図25を参照して、補正画像一覧方式における画像処理システム1により実行される処理を、パラメータセット候補一覧の場合と比較しつつ説明する。
ステップS101乃至S106において、パラメータセット候補一覧方式における図4のステップS1乃至S6の処理と同様の処理が行われる。すなわち、指定された補正モードに基づいて、パラメータセット候補が検出される。
ステップS107において、画像処理部24は、ステップS5の処理で検出されたパラメータセット候補のうちの、表示する補正画像に対応する数のパラメータセット候補に基づいて、入力画像を補正した補正画像の補正画像データを生成し、OSD処理部25に供給する。例えば、図26に示されるように、9枚の補正画像を一度に表示する場合には、パラメータ検出部22から9組のパラメータセット候補が供給され、画像処理部24は、9枚の補正画像の補正画像データを生成し、OSD処理部25に供給する。
ステップS108において、OSD処理部25は、画像処理部24から供給された9枚の補正画像を、図26に示されるように、1画面内の枠441−1乃至441−9に配置した画像データを生成し、画像出力部26を介して、呈示部12に供給する。呈示部12は、供給された画像データに基づいて、図26に示されるように配置された9枚の補正画像を呈示する。
9枚の補正画像は、各々異なったパラメータセット候補に基づいて補正された画像である。そこで、ユーザは、図26に示されるように呈示された9枚の補正画像を見て、リモートコントローラ13を操作して、呈示された補正画像の中から1つを選択する決定入力、または検出されたパラメータセット候補をキャンセルするキャンセル入力のうちいずれか一方を入力する。ステップS109において、入力部61は、そのユーザからの入力を取得する。
ステップS110において、入力部61は、決定入力が入力されたか否かを判定する。ステップS109の処理でユーザにより決定入力ではなく、キャンセル入力が入力されたと判定された場合、処理はステップS102に戻り、ステップS110において、決定入力が入力されたと判定されるまで、ステップS102乃至S110の処理が繰り返される。すなわち、ユーザからの補正モードと検出領域指定入力が取得され、指定された補正モードと検出領域に基づいて検出されたパラメータセット候補に基づいて生成された補正画像の一覧が呈示される処理が繰り返される。
ステップS110において、ステップS109の処理でユーザにより決定入力が入力されたと判定された場合、処理はステップS111に進む。
ステップS111において、呈示部12は、ユーザにより選択された補正画像を呈示する。具体的には、パラメータ可変部62は、ユーザにより選択された補正画像に適用されたパラメータセット(適用パラメータセット)をOSDデータ補正部63に供給する。OSDデータ補正部63は、図13に示されるように、パラメータセット表示151をユーザにより選択された補正画像に重畳させて呈示させるための重畳データと呈示制御データをOSD処理部25に供給する。
OSD処理部25は、重畳データ、および呈示制御データに基づいて、ユーザにより選択された補正画像にパラメータセット表示151を重畳させた画像データを生成し、画像出力部26を介して、呈示部12に出力する。呈示部12は、画像データに基づいて、図13に示されるように、ユーザにより選択された補正画像にパラメータセット表示151を重畳させた画像を呈示する。これにより、実質的には、ステップS109でユーザが指定した補正画像が拡大して呈示される。
その後、ステップS112乃至S120の処理が実行される。ステップS112乃至S120の処理は、パラメータセット候補一覧方式における図5のステップS12乃至S20の処理と同様であり、その説明は省略する。
このようにして、ユーザは、検出されたパラメータセット候補に基づいて補正された画像を確認しながら、入力画像を補正する適用パラメータセットを選択することができる。
このように、画像内のユーザにより指定された領域を取得し、取得された領域内の画像に基づいて、画像を補正するための補正データを検出し、検出された補正データに基づいて画像を補正した補正画像を生成するようにした場合には、簡単かつ迅速にユーザが所望するように画像を補正することができる。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
図27は、汎用のパーソナルコンピュータ500の内部の構成例を示す図である。CPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部508からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インターフェース505も接続されている。
入出力インターフェース505には、ボタン、スイッチ、キーボードあるいはマウスなどで構成される入力部506、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などのディスプレイ、並びにスピーカなどで構成される出力部507、ハードディスクなどで構成される記憶部508、およびモデムやターミナルアダプタなどで構成される通信部509が接続されている。通信部509は、インターネットを含むネットワークを介して通信処理を行う。
入出力インターフェース505にはまた、必要に応じてドライブ510が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどよりなるリムーバブルメディア511が適宜装着され、そこから読み出されたコンピュータプログラムが、記憶部508にインストールされる。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録する記録媒体は、図27に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini-Disc)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア511により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM503または記憶部508に含まれるハードディスクなどで構成される。
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表わすものである。
1 画像処理システム, 11 データ処理部, 12 呈示部, 13 リモートコントローラ, 21 画像入力部, 22 パラメータ検出部, 23 選択制御部, 24 画像処理部, 25 OSD処理部, 26 画像出力部, 27 入力画像蓄積部, 61 入力部, 62 パラメータ可変部, 63 OSDデータ補正部