添付図面を参照して本発明の実施形態について説明する。以下の実施形態では、一例として、コンピュータ(PC:パーソナルコンピュータ)に接続可能なデジタルカメラ(撮像装置)に本発明を適用する場合について説明する。
図1は、コンピュータ92に接続されるデジタルカメラ10を示すブロック図である。
本例のデジタルカメラ10は、交換可能なレンズユニット11と、撮像素子24を具備するカメラ本体12とを備え、レンズユニット11のレンズユニット入出力部20とカメラ本体12のカメラ本体入出力部28とを介し、レンズユニット11とカメラ本体12とが電気的に接続される。
レンズユニット11は、レンズ14及び絞り15を含む光学系と、この光学系を制御する光学系操作部17とを具備する。光学系操作部17は、レンズユニット入出力部20に接続されるレンズユニットコントローラ18と、光学系情報等の各種情報を記憶するレンズユニット記憶部19と、光学系を操作するアクチュエータ(図示省略)とを含む。レンズユニットコントローラ18は、カメラ本体12からレンズユニット入出力部20を介して送られてくる制御信号に基づき、アクチュエータを介して光学系を制御し、例えばレンズ移動によるフォーカス制御やズーム制御及び絞り15の絞り量制御等を行う。またレンズユニットコントローラ18は、カメラ本体12からレンズユニット入出力部20を介して送られてくる制御信号に基づき、レンズユニット記憶部19に記憶される各種情報を読み出してカメラ本体12(本体コントローラ25)に送信する。
カメラ本体12の撮像素子24は、集光用マイクロレンズと、R(赤)G(緑)B(青)等のカラーフィルタと、CMOS(Complementary Metal Oxide Semiconductor)やCCD(Charge Coupled Device)等によって構成されるイメージセンサ(フォトダイオード)とを有する。この撮像素子24は、レンズユニット11の光学系(レンズ14及び絞り15等)を介して照射される被写体像の光を電気信号に変換し、画像信号(画像データ)を本体コントローラ25に送る。
本体コントローラ25は、詳細については後述するが(図2参照)、デジタルカメラ10の各部を統括的に制御するデバイス制御部としての機能と、撮像素子24から送られてくる画像データの画像処理を行う画像処理部(画像処理装置)としての機能とを有する。
デジタルカメラ10は、さらに、撮影等に必要なその他の機器類(レリーズボタン等)を具備し、それらの機器類の一部はユーザによって確認及び操作可能なユーザインターフェース26を構成する。図1に示す例ではカメラ本体12にユーザインターフェース26が設けられているが、ユーザインターフェース26はレンズユニット11及び/又はカメラ本体12に配置可能である。ユーザは、ユーザインターフェース26を介し、撮影等のための各種設定(EV値(Exposure Value)等)の決定及び変更、撮影指示、及びライブビュー画像及び撮影画像の確認等を行うことができる。ユーザインターフェース26は本体コントローラ25に接続され、ユーザによって決定及び変更された各種設定及び各種指示が本体コントローラ25における各種処理に反映される。なおユーザは、ユーザインターフェース26に含まれる表示部27(EVF:Electronic View Finder、背面液晶表示部)における表示を介してガイドされ、撮影が促されてもよい。
本体コントローラ25において画像処理された画像データは、カメラ本体12に設けられる本体記憶部29に記憶され、必要に応じ、入出力インターフェース30を介してコンピュータ92等の外部機器類に送られる。本体記憶部29は任意のメモリデバイスによって構成され、メモリカード等の交換可能メモリが好適に用いられる。本体コントローラ25から出力される画像データのフォーマットは特に限定されず、RAW、JPEG(Joint Photographic Experts Group)、及び/又はTIFF(Tagged Image File Format)等のフォーマットを持つ画像データを、本体コントローラ25は生成及び出力することができる。また本体コントローラ25は、いわゆるExif(Exchangeable Image File Format)のように、ヘッダ情報(撮影情報(撮影日時、機種、画素数、絞り値等)等)、主画像データ及びサムネイル画像データ等の複数の関連データを相互に対応づけて一つの画像ファイルとして構成し、その画像ファイルを出力してもよい。
コンピュータ92は、カメラ本体12の入出力インターフェース30及びコンピュータ入出力部93を介してデジタルカメラ10に接続され、カメラ本体12から送られてくる画像データ等のデータ類を受信する。コンピュータコントローラ94は、コンピュータ92を統括的に制御し、デジタルカメラ10からの画像データを画像処理し、インターネット等のネットワーク96を介してコンピュータ入出力部93に接続されるサーバ97等との通信を制御する。コンピュータ92はディスプレイ95を有し、コンピュータコントローラ94における処理内容等が必要に応じてディスプレイ95に表示される。ユーザは、ディスプレイ95の表示を確認しながらキーボード等の入力手段(図示省略)を操作することにより、コンピュータコントローラ94にデータやコマンドを入力することができる。これによりユーザは、コンピュータ92や、コンピュータ92に接続される機器類(デジタルカメラ10及びサーバ97等)を制御することができる。
サーバ97は、サーバ入出力部98及びサーバコントローラ99を有する。サーバ入出力部98は、コンピュータ92等の外部機器類との送受信接続部を構成し、インターネット等のネットワーク96を介してコンピュータ92のコンピュータ入出力部93に接続される。サーバコントローラ99は、コンピュータ92からの制御指示信号に応じ、コンピュータコントローラ94と協働し、コンピュータコントローラ94との間で必要に応じてデータ類の送受信を行い、演算処理を行ってその演算結果をコンピュータ92に送信する。
各コントローラ(レンズユニットコントローラ18、本体コントローラ25、コンピュータコントローラ94及びサーバコントローラ99)は、制御処理に必要な回路類を有し、例えば演算処理回路(CPU(Central Processing Unit)等)やメモリ等を具備する。またデジタルカメラ10、コンピュータ92及びサーバ97間の通信は、有線通信であってもよいし無線通信であってもよい。またコンピュータ92及びサーバ97が一体的に構成されてもよく、またコンピュータ92及び/又はサーバ97が省略されてもよい。またデジタルカメラ10にサーバ97との通信機能を持たせ、デジタルカメラ10とサーバ97との間で直接的にデータ類の送受信が行われるようにしてもよい。
図2は、本体コントローラ25の構成例を示すブロック図である。本体コントローラ25は、デバイス制御部34と画像処理部(画像処理装置)35とを有し、カメラ本体12を統括的に制御する。
デバイス制御部34はデジタルカメラ10が具備する各種デバイス類を適宜制御し、例えば、撮像素子24を制御して撮像素子24からの画像信号(画像データ)の出力をコントロールし、レンズユニット11を制御するための制御信号を生成してカメラ本体入出力部28を介してレンズユニット11(レンズユニットコントローラ18)に送信し、画像処理前後の画像データ(RAWデータ及びJPEGデータ等)を本体記憶部29に記憶し、入出力インターフェース30を介して接続される外部機器類(コンピュータ92等)に画像処理前後の画像データ(RAWデータ及びJPEGデータ等)を送信する。またデバイス制御部34は表示部27を制御する表示制御部36を含み、この表示制御部36は、画像処理部35と協働してユーザの撮影操作を案内するガイドを表示部27に表示させてもよい。
一方、画像処理部35は、撮像素子24から出力される画像信号に対し、必要に応じた任意の画像処理を行う。例えばセンサ補正処理、デモザイク(同時化)処理、画素補間処理、色補正処理(オフセット補正処理、ホワイトバランス処理、カラーマトリックス処理、及びガンマ変換処理等)、RGB画像処理(シャープネス処理、トーン補正処理、露出補正処理及び輪郭補正処理等)、RGB/YCrCb変換処理及び画像圧縮処理、等の各種の画像処理が、画像処理部35において適宜行われる。
図3は、画像処理部35の機能構成の一例を示すブロック図である。
画像処理部35は、複数回のフィルタリング処理を含む画像フィルタ処理を原画像データD1に対して行うことにより処理画像データD2を取得するフィルタリング処理部41を備える。また本例の画像処理部35は、フィルタリング処理部41に加え、ゲイン特定部43、ゲイン候補データ記憶部44、前処理部40及び後処理部42を更に備える。
フィルタリング処理部41は、複数回のフィルタリング処理の各々において、処理対象データにフィルタを適用してフィルタ適用処理データを取得し、このフィルタ適用処理データにゲインを適用してゲイン適用処理データを取得し、このゲイン適用処理データからフィルタリング処理データを取得する。
ゲイン候補データ記憶部44は、フィルタリング処理部41における複数回のフィルタリング処理の各々においてフィルタ適用処理データに適用されるゲインの候補データを画素位置(光学系の位置)に関連付けた「ゲインテーブル情報」を記憶する。本例のゲインテーブル情報は、光学系の種類及び画素位置(光学系の位置)にゲインの候補データを関連付ける。ゲインの候補データを含むこのゲインテーブル情報は、ゲイン取得部45により、光学系の種類及び画素位置(光学系の位置)に応じて予め取得されてゲイン候補データ記憶部44に記憶される。光学系の種類及び画素位置に応じたゲイン(候補データ)の取得手法の具体例については後述する。
ゲイン特定部43は、ゲイン候補データ記憶部44に記憶されるゲインテーブル情報を参照し、目標とする周波数特性に応じた画素位置(光学系の位置)に関連付けられている候補データを、複数回のフィルタリング処理の各々においてフィルタ適用処理データに適用されるゲインとして特定し、フィルタリング処理部41に送る。本例のゲイン特定部43は、画像フィルタ処理Pの対象となっている原画像データD1を取得する際に使用された光学系の種類及び処理対象データの画素位置(光学系の位置)の情報を取得し、その光学系の種類及び画素位置(光学系の位置)に関連付けられているゲインの候補データをゲイン候補データ記憶部44から読み出して、フィルタ適用処理データに適用されるゲインとしてフィルタリング処理部41に送る。なおゲイン特定部43による光学系の種類及び画素位置の情報の取得手法は特に限定されず、ゲイン特定部43は、例えば本体コントローラ25の図示しないメモリに保持されているレンズユニット11の情報及び撮影条件情報から光学系の種類及び画素位置(光学系の位置)の情報を取得してもよい。
フィルタリング処理部41は、複数回のフィルタリング処理の各々において、ゲイン特定部43が特定したゲインをフィルタ適用処理データに適用してゲイン適用処理データを取得する。
画像処理部35では、上述の画像フィルタ処理以外の画像処理も行われる。画像フィルタ処理以外の各種の画像処理は、フィルタリング処理部41の前段に設けられる前処理部40において行われてもよいし、フィルタリング処理部41の後段に設けられる後処理部42において行われてもよい。すなわち、前処理部40において行われる各種の画像処理を受けたデータを原画像データD1としてフィルタリング処理部41における画像フィルタ処理が行われ、またフィルタリング処理部41における画像フィルタ処理を受けた処理画像データD2に対して後処理部42において各種の画像処理が行われる。
なお本例では、前処理部40からフィルタリング処理部41に入力される画像データを「原画像データD1」と呼び、フィルタリング処理部41から後処理部42に出力される画像データを「処理画像データD2」と呼ぶ。
図4は、画像処理部35の機能構成の他の例を示すブロック図である。
図3に示す例では、ゲイン候補データ記憶部44に予め記憶されたゲインテーブル情報が参照されてフィルタリング処理において使用されるゲインが取得されるが、図4に示す例では、ゲインテーブル情報(ゲインの候補データ)が予め取得及び記憶されることなく、フィルタリング処理の実行とともにゲインが取得される。すなわち図4に示す例では、ゲイン取得部45がフィルタリング処理部41に接続され、フィルタリング処理部41において行われる複数回のフィルタリング処理によって使用されるゲインがゲイン取得部45からフィルタリング処理部41に直接的に供給される。ゲイン取得部45は、原画像データD1を取得する際に用いられた光学系の光学特性であって処理対象データの画素位置(光学系の位置)に応じた光学特性を示すデータを取得し、この光学特性を示すデータに基づいて画像フィルタ処理の目標とする周波数特性を特定し、特定されるこの「画像フィルタ処理の目標とする周波数特性」に基づいて、複数回のフィルタリング処理の各々においてフィルタ適用処理データに適用されるゲインを取得し、その取得したゲインをフィルタリング処理部41に供給する。
なお、ここでいう「原画像データD1を取得する際に用いられた光学系の光学特性」を示すデータとして、例えば原画像データD1の撮影取得の際に使用したレンズユニット11(光学系の一例)の種類を表すデータ(例えば型番等)が用いられてもよい。また「処理対象データの画素位置(光学系の位置)に応じた光学特性を示すデータ」とは、例えば個々の画素の単位で定められる光学特性データであってもよいし、複数の画素によって構成されるブロックの単位で定められる光学特性データであってもよい。ゲイン取得部45によるこれらのデータの取得手法は特に限定されず、ゲイン取得部45は、例えば本体コントローラ25の図示しないメモリに保持されているレンズユニット11の情報及び撮影条件情報から光学系の種類及び画素位置(光学系の位置)の情報を取得してもよい。
このゲイン取得部45は、図4に示すように画像処理部35の一部として設けられてもよいし、図5に示すように画像処理部35とは別の処理部として設けられてもよい。
なお図4及び図5に示す例においても、上述の画像フィルタ処理以外の画像処理が、フィルタリング処理部41の前段に設けられる前処理部40において行われてもよいし、フィルタリング処理部41の後段に設けられる後処理部42で行われてもよい。
次に、フィルタリング処理部41において行われる画像フィルタ処理(複数回のフィルタリング処理)の具体例について説明する。
光学系(レンズ等)の光学特性が位置に依らずに一様であれば、処理対象の画像データの全画素位置に関して、その光学特性から導き出される共通のフィルタを使用することが可能である。しかしながら、実際の光学系は位置によって光学特性が変動し、例えば中央部分に比べて周辺部分では収差が大きくなる傾向がある。したがって、理想的には、光学系の各位置における光学特性に最適化されたフィルタを使って画素毎に最適化されたフィルタリング処理を行うことが望ましい。そのような理想的なフィルタリング処理を行うには、光学系の位置毎(画素位置毎)に最適化されたフィルタ(タップ係数)を準備することが求められるが、光学系の光学特性に影響を及ぼしうるファクタが複数存在する場合には準備すべきフィルタの数及びデータ量が膨大になる。例えば点拡がり関数に基づくフィルタリング処理が行われる場合には、F値、ズーム値、被写体距離、フォーカス位置、光学系種別、撮像素子24のセンサSN比、像高(画像内位置)及び光学系個体差などの撮影条件によって点拡がり関数は変動しうるため、理想的には、これらの撮影条件の全ての組み合わせに対応するフィルタ(タップ係数)を準備する必要がある。
そのような画像フィルタ処理に必要なデータ量の肥大化を防ぐため、以下の実施形態では、全ての画素位置に対応するフィルタを保持する代わりに、複数回のフィルタリング処理を適用し、各フィルタリング処理において使用するゲインを画素位置に応じて調整することにより、処理対象の原画像データの各画素位置に適合する画像フィルタ処理が実現される。これにより、原画像データの各画素位置に関して平均的に良好な画像フィルタ処理を行うことができる。また特許文献2に開示されているような従来の補間技術を利用する場合には画像フィルタ処理の精度を向上させるために補間間隔や補間方法を工夫する必要があるが、以下に示される画像フィルタ処理を利用する場合には使用フィルタの数(フィルタ適用処理の数)を増やすだけで簡単に画像フィルタ処理の精度を向上させることが可能である。
図6は、画像フィルタ処理Pの概念図である。本例の画像フィルタ処理Pは、複数回のフィルタリング処理(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN(ただし「N」は2以上の整数))を含む。この「複数回のフィルタリング処理を含む画像フィルタ処理P」によって、原画像データD1から処理画像データD2が生成される。
図7は、第nのフィルタリング処理Fn(ただし「n」は1以上N以下の整数)の概念図である。画像フィルタ処理Pの各フィルタリング処理(第nのフィルタリング処理Fn)は、フィルタ適用処理PF及びゲイン適用処理PGを含む。フィルタ適用処理PFは、処理対象データD3にフィルタを適用してフィルタ適用処理データD4を取得する処理であり、ゲイン適用処理PGは、フィルタ適用処理データD4にゲインを適用してゲイン適用処理データD5を取得する処理である。
フィルタリング処理部41によって行われる画像フィルタ処理Pに含まれる複数回のフィルタリング処理(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN)の各々において、フィルタ適用処理PFにおいて処理対象データD3に適用されるフィルタは、特に限定されない。
例えばフィルタ適用処理PFにおいて使用されるフィルタは光学系の光学特性に応じて定められてもよく、フィルタの基礎として用いられるこの「光学系の光学特性」として光学系の「点拡がり関数」を好適に用いることができる。光学系の光学特性に応じてフィルタを定めることにより光学系の光学特性の影響を受けた原画像データD1の画像フィルタ処理P(フィルタリング処理)を精度良く行うことが可能になり、例えば点拡がり関数に基づいて設計されたフィルタを用いることで点拡がり現象の影響を低減する画像フィルタ処理P(フィルタリング処理)を行うことができる。
なお「光学系の光学特性に応じて定められるフィルタ」は点拡がり関数に基づいて定められるフィルタに限られず、輪郭強調フィルタや他のフィルタを「光学系の光学特性に応じて定められるフィルタ」として使用してもよい。点拡がり関数に基づくフィルタ以外のフィルタ(輪郭強調フィルタ等)の場合であっても、種々の条件(例えば上述の絞り値(F値)等の各種ファクタ)に応じてフィルタ(輪郭強調フィルタ等)が調整されてもよく、種々の条件(例えば上述の絞り値(F値)等の各種ファクタ)に応じて変化する光学特性に基づいて調整されたフィルタ係数(タップ係数)を持つ輪郭強調フィルタ等のフィルタが、各フィルタ適用処理PFにおいて用いられてもよい。
したがってフィルタリング処理部41は、複数回のフィルタリング処理(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN)のうちの少なくともいずれか一つのフィルタリング処理において、光学系(レンズ14及び絞り15等)の特性(光学特性(点拡がり関数等))に応じて定められるフィルタを用いてフィルタ適用処理データD4を取得してもよい。
また光学系の光学特性に応じてフィルタを定めるケースにおいて、その光学系の光学特性が撮影条件に応じて変動する場合には、フィルタは代表的な撮影条件における光学系の光学特性に応じて定められてもよい。例えば光学系の点拡がり関数に応じてフィルタを定めるケースにおいて、点拡がり関数に影響を及ぼしうるF値、ズーム値、被写体距離、フォーカス位置、光学系種別、撮像素子24のセンサSN比、像高(画像内位置)及び光学系個体差などの撮影条件のうちの一又は複数の撮影条件に関し、代表的な条件下での点拡がり関数に基づいてフィルタを設計することができる。例えば、予想される「原画像データD1を取得する際に採用される頻度」に基づいて「代表的な撮影条件」が定められてもよく、予想される採用頻度が高い撮影条件を「代表的な撮影条件」としてフィルタが設計されてもよい。
したがってフィルタリング処理部41は、光学系(レンズ14及び絞り15等)の点拡がり関数に基づく複数のフィルタであって、点拡がり関数の特性を左右するファクタを変えることにより得られる複数のフィルタを、複数回のフィルタリング処理(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN)において使用してもよい。点拡がり関数の特性を左右するファクタとして、例えば絞り値(F値)、ズーム値(焦点距離)、被写体距離、フォーカス位置、光学系種別、撮像素子24のセンサSN比、像高(画像内位置(画素位置、光学系の位置))及び光学系個体差などの撮影条件が挙げられる。これらのファクタのうち1又は複数のファクタの特性データが異なる点拡がり関数に基づいて導出されるフィルタが、各フィルタ適用処理PFにおいて用いられてもよい。
またフィルタリング処理部41は、複数回のフィルタリング処理(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN)のうちの少なくともいずれか一つのフィルタリング処理において、撮影により原画像データD1を取得する際に用いられた光学系(レンズ14及び絞り15等)の特性とは無関係に定められるフィルタを用いてフィルタ適用処理データD4を取得してもよい。そのような「光学系の特性とは無関係に定められるフィルタ」として、例えば輪郭強調フィルタを好適に使用することができる。
一方、画像フィルタ処理Pにおける複数回のフィルタリング処理(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN)の各々において、ゲイン適用処理PGにおけるフィルタ適用処理データD4に適用されるゲインは、「原画像データにおける画素位置に応じて定められる画像フィルタ処理Pの目標とする周波数特性」に基づいて取得される。
この「画像フィルタ処理Pの目標とする周波数特性」は、光学系の種類に応じて実験的又は理論的に予め求めることが可能であり、そのような「画像フィルタ処理Pの目標とする周波数特性」に基づいて取得される「ゲイン適用処理PGにおいて使用されるゲイン」も予め求めることが可能である。
例えば光学特性として「点拡がり関数」を想定した場合に、原画像データD1の撮影取得の際に採用されうる撮影条件(F値等)を予め想定し、その「採用されうる撮影条件」の各々に関して光学系の種類毎及び画素位置毎(光学系の位置毎)に対応する点拡がり関数を予め導出しておくことができる。この光学系の点拡がり関数(光学伝達関数)に基づく周波数特性によって、画像フィルタ処理Pの目標とする周波数特性を表すことができ、ウィナーフィルタ等の任意の設計基準を利用した逆フィルタ設計手法を用いることが可能である。
またフィルタ適用処理PFにおいて使用されるフィルタが固定される場合には、そのフィルタの周波数特性も予め求めることができる。したがってフィルタ適用処理PFにおいてフィルタを固定的に使用する場合には、そのフィルタの周波数特性と予め導出される点拡がり関数とに基づいて、「原画像データにおける画素位置に応じて定められる画像フィルタ処理Pの目標とする周波数特性に応じたゲイン」を予め導出しておくことができる。このようにして導出されるゲインは、図3に示すゲイン特定部43や図4及び図5に示すゲイン取得部45によってフィルタリング処理部41(後述の「ゲイン適用部49」参照)に供給される。
ゲインの具体的な算出手法例については後述するが、上述の「画像フィルタ処理Pの目標とする周波数特性」又は「画像フィルタ処理Pの目標とする周波数特性に応じたゲイン」は、デジタルカメラ10(レンズユニット11及び/又はカメラ本体12)のメーカ側により予め求められてメモリに記憶されることが好ましく、原画像データD1の画像フィルタ処理Pを行う際にそのメモリに記憶されているデータを適宜利用可能とすることが好ましい。
なお、画像フィルタ処理Pの目標とする周波数特性は、光学系(レンズ14及び絞り15等)の点拡がり関数(光学伝達関数)等の光学特性に基づく周波数特性に限られず、光学系(レンズ14及び絞り15等)の撮影条件(上述の絞り値(F値)等の各種ファクタ)に基づいて導き出される各種の周波数特性を「画像フィルタ処理Pの目標とする周波数特性」とすることができる。したがって、例えば「絞り値(F値)に応じてピークが異なる周波数特性」が「画像フィルタ処理Pの目標とする周波数特性」に設定されてもよい。
次に、画像フィルタ処理P(複数回のフィルタリング処理)を行う回路構成例について説明する。
画像フィルタ処理Pを構成するフィルタリング処理(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN)の数Nは、従来通りの手法においてファクタに応じてフィルタを設計した場合のフィルタの総数Mより少ないことが好ましい。望ましくはMの50%以下、更に望ましくは30%以下、更に望ましくは10%以下となるように、画像フィルタ処理Pを構成するフィルタリング処理の数Nが設定される。ただし画像フィルタ処理Pを構成するフィルタリング処理の数Nは、複数回のフィルタリング処理に使用されるフィルタのうちタップ数が最も大きいフィルタのタップ数(最大タップ数)が上限となる。これは、フィルタのタップ数以上にはフィルタの種類を増やせないためである。
なお画像フィルタ処理Pを構成するフィルタリング処理の数Nは、望ましくは10以下であり、更に望ましくは6以下であり、更に望ましくは4以下であるが、フィルタリング処理の数Nの具体的な数値例はこれらに限られない。また、画像フィルタ処理Pを構成する複数回のフィルタリング処理(フィルタリング処理部41)において使用される複数のフィルタのタップ数は、フィルタ間において相互に同じであってもよいし異なっていてもよい。
図8〜図12に関する以下の説明では、便宜上「N=2」と仮定して、フィルタリング処理部41で行われる複数回のフィルタリング処理が第1のフィルタリング処理F1及び第2のフィルタリング処理F2によって構成されるケースについて説明する。ただし、「N」が3以上の整数であり、3回以上のフィルタリング処理がフィルタリング処理部41で行われる場合も、同様の設計手法によってフィルタリング処理部41を実現することが可能である。
また図8〜図12に関する以下の説明では、便宜上、画像処理部35が図3に示す構成を有するケースについて説明するが、画像処理部35が他の構成(例えば図4及び図5参照)を有するケースについても同様にして複数回のフィルタリング処理を行うことができる。
図8は、フィルタリング処理部41の回路構成の一例を示す図である。図8には、第1のフィルタリング処理F1〜第Nのフィルタリング処理FN(ただし本例では「N=2」)の各々を行う回路が直列的に接続されるケースの一例が示されている。
本例のフィルタリング処理部41は、第1のフィルタリング処理F1において取得されるフィルタリング処理データD6−1を、第2のフィルタリング処理F2における処理対象データD3−2として用いる。すなわちフィルタリング処理部41は、第1のフィルタ適用部48−1、第1のゲイン適用部49−1及び第1の処理データ算出部50−1を有し、これらによって第1のフィルタリング処理F1が行われる。またフィルタリング処理部41は、第2のフィルタ適用部48−2、第2のゲイン適用部49−2及び第2の処理データ算出部50−2を有し、これらによって第2のフィルタリング処理F2が行われる。
第1のフィルタ適用部48−1は、第1のフィルタリング処理F1の処理対象データD3−1に対して第1のフィルタリング処理用のフィルタを適用し、フィルタ適用処理データD4−1を取得する。第1のゲイン適用部49−1は、第1のフィルタ適用部48−1から出力されるフィルタ適用処理データD4−1に対して第1のフィルタリング処理用のゲインg0を適用し、ゲイン適用処理データD5−1を取得する。同様に、第2のフィルタ適用部48−2は、第2のフィルタリング処理F2の処理対象データD3−2に対して第2のフィルタリング処理用のフィルタを適用し、フィルタ適用処理データD4−2を取得する。第2のゲイン適用部49−2は、第2のフィルタ適用部48−2から出力されるフィルタ適用処理データD4−2に対して第2のフィルタリング処理用のゲインg1を適用し、ゲイン適用処理データD5−2を取得する。
また本例のフィルタリング処理部41は、処理対象データD3とゲイン適用処理データD5とを加算してフィルタリング処理データD6を出力する第1の処理データ算出部50−1及び第2の処理データ算出部50−2を更に有する。すなわち第1の処理データ算出部50−1は、第1のゲイン適用部49−1から出力されるゲイン適用処理データD5−1に処理対象データD3−1を加算してフィルタリング処理データD6−1を出力する。同様に第2の処理データ算出部50−2は、第2のゲイン適用部49−2から出力されるゲイン適用処理データD5−2に処理対象データD3−2を加算してフィルタリング処理データD6−2を出力する。
なお第1のフィルタリング処理F1及び第2のフィルタリング処理F2によって画像フィルタ処理Pが構成される本例では、第1のフィルタリング処理F1における処理対象データD3−1は原画像データD1であり、第2のフィルタリング処理F2におけるフィルタリング処理データD6−2は処理画像データD2となる。
各フィルタリング処理において使われるフィルタは、各フィルタ適用部48(第1のフィルタ適用部48−1及び第2のフィルタ適用部48−2)によって保持されていてもよいし、図示しないメモリに記憶されて各フィルタ適用部48により適宜読み出されてもよい。
また各フィルタリング処理において使われるゲインは、ゲイン特定部43によって各ゲイン適用部49(第1のゲイン適用部49−1及び第2のゲイン適用部49−2)に供給される。
本例のフィルタリング処理部41は、原画像データD1の画素毎に複数回のフィルタリング処理(第1のフィルタリング処理F1及び第2のフィルタリング処理F2)を行う。ゲイン特定部43は、複数回のフィルタリング処理の対象となっている原画像データD1の画素位置を示す処理画素情報Fiを取得し、その処理画素情報Fiが示す画素位置に関連付けられている候補データを、複数回のフィルタリング処理の各々においてフィルタ適用処理データD4−1、D4−2に適用されるゲインとして特定して、第1のゲイン適用部49−1及び第2のゲイン適用部49−2に供給する。
例えば、原画像データD1を構成するある画素データに関して第1のフィルタリング処理F1及び第2のフィルタリング処理F2が行われる場合、その処理対象の画素データ(処理対象データD3)の画素位置(光学系の位置)を示す処理画素情報Fiが、ゲイン特定部43に入力される。この処理画素情報Fiは、その処理対象の画素データの画素位置を直接的又は間接的に示す情報であればよく、画像処理部35の他部(図示省略)から適切なタイミングでゲイン特定部43に入力される。ゲイン特定部43は、入力される処理画素情報Fiに基づいて、その処理対象の画素データの画素位置に関連付けられているゲインの候補データを図3に示すゲイン候補データ記憶部44(ゲインテーブル情報)から取得し、複数回のフィルタリング処理の各々においてフィルタ適用処理データに適用されるゲインとして特定し、フィルタリング処理部41に送る。これらの一連のゲイン供給処理を原画像データD1の画素データ毎に繰り返すことによって、フィルタリング処理部41における原画像データD1の画像フィルタ処理P(第1のフィルタリング処理F1及び第2のフィルタリング処理F2)が行われる。
図9は、フィルタリング処理部41の回路構成の他の例を示す図である。図9には、第1のフィルタリング処理F1〜第Nのフィルタリング処理FN(ただし本例では「N=2」)の各々を行う回路が並列的に接続されるケースの一例が示されている。
本例では第1のフィルタリング処理F1に関する第1のフィルタ適用部48−1と第1のゲイン適用部49−1とが直列的に接続され、第2のフィルタリング処理F2に関する第2のフィルタ適用部48−2と第2のゲイン適用部49−2とが直列的に接続される。また「第1のフィルタリング処理F1に関する第1のフィルタ適用部48−1及び第1のゲイン適用部49−1」と「第2のフィルタリング処理F2に関する第2のフィルタ適用部48−2及び第2のゲイン適用部49−2」とが並列的に接続される。またフィルタリング処理部41は、第1のゲイン適用部49−1から出力されるゲイン適用処理データD5−1と第2のゲイン適用部49−2から出力されるゲイン適用処理データD5−2とを加算する加算器52を有する。さらに全てのフィルタリング処理(本例では第1のフィルタリング処理F1及び第2のフィルタリング処理F2)において取得されるゲイン適用処理データD5(フィルタリング処理データD6)が加算されることにより得られる加算データD7と、処理対象データD3とを加算することにより処理画像データD2を取得する処理データ取得部51が設けられている。
この図9に示す回路構成を有する本例のフィルタリング処理部41は、第1のフィルタリング処理F1及び第2のフィルタリング処理F2においては同一データ(すなわち原画像データD1)を処理対象データD3として使用する。またフィルタリング処理部41は、第1のフィルタリング処理F1において取得されるフィルタリング処理データD6−1と第2のフィルタリング処理F2において取得されるフィルタリング処理データD6−2とに基づいて、処理画像データD2を取得する。なお本例では、各フィルタリング処理のゲイン適用部49から出力されるゲイン適用処理データD5が、各フィルタリング処理において得られるフィルタリング処理データD6となる。
図9に示す本例のフィルタリング処理部41も、上述の図8のフィルタリング処理部41と同様に、原画像データD1の画素毎に複数回のフィルタリング処理(第1のフィルタリング処理F1及び第2のフィルタリング処理F2)を行う。またゲイン特定部43が、複数回のフィルタリング処理の対象となっている原画像データD1の画素位置を示す処理画素情報Fiを取得し、その処理画素情報Fiが示す画素位置に関連付けられている候補データを、複数回のフィルタリング処理の各々においてフィルタ適用処理データD4−1、D4−2に適用されるゲインとして特定して、第1のゲイン適用部49−1及び第2のゲイン適用部49−2に供給する。
図10は、フィルタリング処理部41の回路構成の他の例を示す図である。図10には、第1のフィルタリング処理F1〜第Nのフィルタリング処理FN(ただし本例では「N=2」)の各々を行う回路が並列的に接続される他の例が示されている。
本例も、図9に示す例と同様に、第1のフィルタリング処理F1に関する第1のフィルタ適用部48−1と第1のゲイン適用部49−1とが直列的に接続され、第2のフィルタリング処理F2に関する第2のフィルタ適用部48−2と第2のゲイン適用部49−2とが直列的に接続される。また「第1のフィルタリング処理F1に関する第1のフィルタ適用部48−1及び第1のゲイン適用部49−1」と「第2のフィルタリング処理F2に関する第2のフィルタ適用部48−2及び第2のゲイン適用部49−2」とが並列的に接続される。したがって本例のフィルタリング処理部41も、第1のフィルタリング処理F1及び第2のフィルタリング処理F2においては同一データ(すなわち原画像データD1)を処理対象データD3として使用する。
ただし本例では、全てのフィルタリング処理(本例では第1のフィルタリング処理F1及び第2のフィルタリング処理F2)において取得されるゲイン適用処理データD5(フィルタリング処理データD6)が処理データ取得部51によって加算されることにより、処理画像データD2が取得される。すなわちフィルタリング処理部41は、処理データ取得部51において、第1のフィルタリング処理F1において取得されるフィルタリング処理データD6−1と第2のフィルタリング処理F2において取得されるフィルタリング処理データD6−2とを加算することにより処理画像データD2を取得する。なお本例においても、各フィルタリング処理のゲイン適用部49から出力されるゲイン適用処理データD5が、各フィルタリング処理において得られるフィルタリング処理データD6となる。
図10に示す本例のフィルタリング処理部41も、上述の図8及び図9のフィルタリング処理部41と同様に、原画像データD1の画素毎に複数回のフィルタリング処理(第1のフィルタリング処理F1及び第2のフィルタリング処理F2)を行う。またゲイン特定部43が、複数回のフィルタリング処理の対象となっている原画像データD1の画素位置を示す処理画素情報Fiを取得し、その処理画素情報Fiが示す画素位置に関連付けられている候補データを、複数回のフィルタリング処理の各々においてフィルタ適用処理データD4−1、D4−2に適用されるゲインとして特定して、第1のゲイン適用部49−1及び第2のゲイン適用部49−2に供給する。
なお図10に示す本例の画像フィルタ処理P(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN)は処理対象画像の明るさ(DC(Direct Current)成分)の変化を防ぐため、周波数(ω)が0の場合のフィルタレスポンスが1に設定され(φn(0)=1)に設定され、任意のゲインに関して明るさが一定に調整されることが好ましい。
上述の図9〜図10に示す例では、複数回のフィルタリング処理の各々に関して別個の「フィルタ適用部48及びゲイン適用部49」が設けられるが、共通の「フィルタ適用部48及びゲイン適用部49」によって複数回のフィルタリング処理が行われてもよい。
図11は、フィルタリング処理部41の回路構成の他の例を示す図である。図11には、単一のフィルタ適用部48及び単一のゲイン適用部49によって複数回のフィルタリング処理を行う回路構成の例が示されている。図11に示す回路構成例は、フィルタ適用処理PF及びゲイン適用処理PGに関して上述の図9に示す直列接続タイプの回路構成と等価の機能を発揮するが、単一の「フィルタ適用部48及びゲイン適用部49」によって複数回のフィルタリング処理が行われる点において図9に示す回路構成とは異なる。
すなわち本例のフィルタリング処理部41は、処理対象データD3にフィルタを適用してフィルタ適用処理データD4を取得するフィルタ適用部48と、フィルタ適用処理データD4にゲインを適用してゲイン適用処理データD5を取得するゲイン適用部49とを有する。またフィルタリング処理部41は、ゲイン適用処理データD5と処理対象データD3とを加算してフィルタリング処理データD6を取得する処理データ算出部50と、フィルタ適用部48、ゲイン適用部49及び処理データ算出部50における演算処理の繰り返しの要否を判定する繰り返し演算判定部54とを有する。
繰り返し演算判定部54は、フィルタ適用部48、ゲイン適用部49及び処理データ算出部50によるフィルタリング処理の回数が予め定められるN回(本例では「N=2」)に達したか否かを判定する。フィルタ適用部48、ゲイン適用部49及び処理データ算出部50によるフィルタリング処理の回数がN回に達していない場合、繰り返し演算判定部54は、処理データ算出部50から出力されるフィルタリング処理データD6をフィードバックする。フィルタリング処理データD6がフィードバックされると、フィルタ適用部48、ゲイン適用部49及び処理データ算出部50は、フィードバックされたフィルタリング処理データD6を新たな処理対象データD3として、一連の処理を繰り返す。フィルタ適用部48、ゲイン適用部49及び処理データ算出部50によるフィルタリング処理の回数がN回に達した場合、繰り返し演算判定部54は、処理データ算出部50から最終的に出力されるフィルタリング処理データD6を処理画像データD2として出力する。
本例において、フィルタ適用部48において使用されるフィルタhnはフィルタ供給部56からフィルタ適用部48に供給され、ゲイン適用部49において使用されるゲインgnはゲイン供給部55からゲイン適用部49に供給される。すなわち「n回目のフィルタリング処理(ただし「1≦n≦N」)において使用されるフィルタhn−1及びゲインgn−1の情報」がフィルタ供給部56及びゲイン供給部55において保持され、或いは図示しないメモリに保持されている。フィルタ供給部56及びゲイン供給部55は、繰り返し演算判定部54から「次にフィルタ適用部48、ゲイン適用部49及び処理データ算出部50において行われるフィルタリング処理がn回目である」という情報が送られ、その繰り返し演算判定部54からの情報に基づいてフィルタ適用部48及びゲイン適用部49にフィルタhn−1及びゲインgn−1を供給する。
したがって図11に示すフィルタ適用部48は、第1のフィルタリング処理F1では第1のフィルタリング処理用フィルタh0を用いてフィルタ適用処理データD4を取得し、第2のフィルタリング処理F2においては第2のフィルタリング処理用フィルタh1を用いてフィルタ適用処理データD4を取得する。またゲイン適用部49は、第1のフィルタリング処理F1においては第1のフィルタリング処理用のゲインg0を用いてゲイン適用処理データD5を取得し、第2のフィルタリング処理F2においては第2のフィルタリング処理用のゲインg1を用いてゲイン適用処理データD5を取得する。
図11に示す本例のフィルタリング処理部41も、上述の図8〜10のフィルタリング処理部41と同様に、原画像データD1の画素毎に複数回のフィルタリング処理(第1のフィルタリング処理F1及び第2のフィルタリング処理F2)を行う。またゲイン特定部43が、複数回のフィルタリング処理の対象となっている原画像データD1の画素位置を示す処理画素情報Fiを取得し、その処理画素情報Fiが示す画素位置に関連付けられている候補データを、複数回のフィルタリング処理の各々においてフィルタ適用処理データD4に適用されるゲインとして特定して、ゲイン供給部55を介してゲイン適用部49に供給する。なおゲイン適用部49にゲインを供給するゲイン供給部55は、ゲイン特定部43と一体的に設けられてもよい。
上述の図8〜図11に示す回路構成は例に過ぎず、複数回のフィルタリング処理を行うフィルタリング処理部41は様々な回路構成によって実現可能であり、具体的な回路構成は特に限定されない。
例えば図11には単一の「フィルタ適用部48及びゲイン適用部49」によって図9に示す直列接続タイプと同等のフィルタリング処理(画像フィルタ処理P)を行う回路構成例が示されているが、同様に、単一の「フィルタ適用部48及びゲイン適用部49」を有する回路構成によって、図9又は図10に示す並列接続タイプと同等のフィルタリング処理(画像フィルタ処理P)が行われてもよい。
また図8に示す直列接続タイプの回路構成において、第1の処理データ算出部50−1及び第2の処理データ算出部50−2が省略されてもよい。すなわち第1のゲイン適用部49−1から出力されるゲイン適用処理データD5−1を、第1のフィルタリング処理F1のフィルタリング処理データD6−1及び第2のフィルタリング処理F2の処理対象データD3−2としてもよく、第2のゲイン適用部49−2から出力されるゲイン適用処理データD5−2を、第2のフィルタリング処理F2のフィルタリング処理データD6−2及び処理画像データD2としてもよい。同様に、図11に示す回路構成において処理データ算出部50が省略されてもよく、ゲイン適用部49から出力されるゲイン適用処理データD5をフィルタリング処理データD6としてもよい。
またフィルタ適用処理データD4に適用するゲインは、厳密には光学系の位置に応じて像劣化特性が異なるため画像フィルタ処理を精度良く行う観点からは、光学系の位置毎(画素位置毎)に最適化されることが望ましい。ただし、画像フィルタ処理に必要なデータ量を低減する観点から、光学系の全ての位置(全画素位置)に関してゲイン(候補データ)を準備及び記憶するのではなく、光学系の複数の特定の位置(複数の代表的な画素の位置)に関してのみ、フィルタ適用処理データD4に適用するゲインが準備及び記憶されてもよい。
すなわち、光学系の全位置(全画素位置)の各々に関するゲインを保持しておくことは、膨大な記憶容量を消費してしまう虞がある。そのような記憶容量の膨大な消費を避けるため、原画像データD1を複数の領域に分割し、各領域の代表位置(代表画素)に関してのみゲインを準備及び記憶しておき、その代表位置(代表画素)以外の位置(画素)に関しては任意の近傍補間処理(例えばバイリニア法或いはスプライン法等)によってゲインを取得してもよい。
また下記の図12に示す回路構成例のように、原画像データD1を分割して得られる複数の領域の代表的な位置座標(以下、「大域座標」とも称する)及び各領域内の相対的な位置座標(以下、「局所座標」とも称する)を利用することにより、「画像フィルタ処理(フィルタリング処理)の良好な精度の確保」と「必要とされる記憶容量の低減化」とを両立させてもよい。
図12は、フィルタリング処理部41の回路構成の他の例を示す図である。
本例のフィルタリング処理部41は、フィルタ適用ブロック47と、ゲイン適用ブロック70と、処理データ取得部51とを含む。
フィルタリング処理部41のフィルタ適用ブロック47は、複数のフィルタ適用部(第1のフィルタ適用部48−1〜第Nのフィルタ適用部48−N(ただし「N」は2以上の整数))を含み、処理対象データD3に複数種類のフィルタを適用して複数のフィルタ適用処理データD4−1〜D4−Nを取得する。本例では、複数のフィルタ適用部間において処理対象データD3は共通し、第1のフィルタ適用部48−1〜第Nのフィルタ適用部48−Nの各々には処理対象データD3として原画像データD1が入力される。
フィルタ適用ブロック47(第1のフィルタ適用部48−1〜第Nのフィルタ適用部48−N)において使用される複数種類のフィルタは、特に限定されないが、「複数の代表的な画素位置(以下、「代表画素位置」とも称する)」に応じて定められる複数の目標とする周波数特性の平均に応じて定められる基準フィルタと、その複数の目標とする周波数特性の分散に応じて定められる分散フィルタとを含むことが好ましい。この基準フィルタ及び分散フィルタの詳細については後述する。
ゲイン適用ブロック70は、フィルタ適用ブロック47(第1のフィルタ適用部48−1〜第Nのフィルタ適用部48−N)によって生成される複数のフィルタ適用処理データD4−1〜D4−Nにゲインを適用してゲイン適用処理データD5−1〜D5−Nを取得する。より具体的には、ゲイン適用ブロック70は複数のゲインブロック(第1のゲインブロック70−1〜第Mのゲインブロック70−M(ただし「M」は2以上の整数))を含む。複数のゲインブロックの各々は、第1のゲイン適用部49−1〜第Nのゲイン適用部49−Nと加算器52とを含み、第1のゲイン適用部49−1〜第Nのゲイン適用部49−Nによって複数のフィルタ適用処理データD4−1〜D4−Nにゲインを適用して複数のゲイン適用処理データD5−1〜D5−Nを取得する。したがって各ゲインブロックに含まれるゲイン適用部(第1のゲイン適用部49−1〜第Nのゲイン適用部49−N)の数は、フィルタ適用ブロック47を構成するフィルタ適用部(第1のフィルタ適用部48−1〜第Nのフィルタ適用部48−N)の数と等しい。
また複数のゲインブロックの各々は、その複数のゲイン適用処理データD5−1〜D5−Nからフィルタリング処理データD6−1〜D6−Nを取得し、加算器52によってその複数のフィルタリング処理データD6−1〜D6−Nからブロック処理データD8を取得する。なお本例では、ゲイン適用処理データD5−1〜D5−Nとフィルタリング処理データD6−1〜D6−Nとは同じデータによって構成され、フィルタリング処理データD6−1〜D6−Nの和によってブロック処理データD8は導き出される。
このように本例では、フィルタ適用ブロック47と複数のゲインブロック(第1のゲインブロック70−1〜第Mのゲインブロック70−M)の各々とによって複数回のフィルタリング処理(第1のフィルタリング処理F1〜第Mのフィルタリング処理FM)が行われ、各フィルタリング処理はフィルタ適用ブロック47と各ゲインブロックとの組み合わせによって行われる。
処理データ取得部51は、複数のゲインブロック(第1のゲインブロック70−1〜第Mのゲインブロック70−M)において取得されるブロック処理データ(第1のブロック処理データD8−1〜第Mのブロック処理データD8−M)に基づいて、そのブロック処理データの重み付け演算により処理画像データD2を取得する。より具体的には、処理データ取得部51は、重み付け係数決定部73と、第1の重み付け調整部74−1〜第Mの重み付け調整部74−Mと、重み付け加算部75とを含む。
処理データ取得部51の重み付け係数決定部73は、処理対象データの画素位置に基づいて、複数のゲインブロック(第1のゲインブロック70−1〜第Mのゲインブロック70−M)によって取得されるブロック処理データ(第1のブロック処理データD8−1〜第Mのブロック処理データD8−M)の各々に割り当てられる重み付け係数(第1の重み付け係数W1〜第Mの重み付け係数WM)を決定する。より具体的には、重み付け係数決定部73は、位置座標算出部71から供給される局所座標データASに基づいて、第1の重み付け調整部74−1〜第Mの重み付け調整部74−Mに供給する第1の重み付け係数W1〜第Mの重み付け係数WMを決定する。
処理データ取得部51の第1の重み付け調整部74−1〜第Mの重み付け調整部74−M及び重み付け加算部75は、その重み付け係数(第1の重み付け係数W1〜第Mの重み付け係数WM)をブロック処理データ(第1のブロック処理データD8−1〜第Mのブロック処理データD8−M)に適用する重み付け演算を行うことにより、処理画像データD2を取得する。すなわち第1の重み付け調整部74−1〜第Mの重み付け調整部74−Mはそれぞれ、重み付け係数決定部73から重み付け係数(第1の重み付け係数W1〜第Mの重み付け係数WM)が供給され、第1のゲインブロック70−1〜第Mのゲインブロック70−Mから出力される第1のブロック処理データD8−1〜第Mのブロック処理データD8−Mに対してその重み付け係数(第1の重み付け係数W1〜第Mの重み付け係数WM)を適用する。重み付け加算部75は、第1の重み付け調整部74−1〜第Mの重み付け調整部74−Mのそれぞれから出力される重み付け係数適用後の第1の重み付け後データD9−1〜第Mの重み付け後データD9−Mを加算して処理画像データD2を取得して出力する。
位置座標算出部71は、第1のゲイン出力部72−1〜第Mのゲイン出力部72−Mとともにゲイン特定部43として機能する。すなわち位置座標算出部71は、複数回のフィルタリング処理の対象となっている処理対象データD3(本例では原画像データD1)の画素位置を示す処理画素情報Fiを取得する。そして位置座標算出部71は、その処理画素情報Fiが示す画素位置の大域座標上の対応位置を直接的又は間接的に示す大域座標データALを第1のゲイン出力部72−1〜第Mのゲイン出力部72−Mに送信し、またその処理画素情報Fiが示す画素位置の局所座標上の対応位置を直接的又は間接的に示す局所座標データASを重み付け係数決定部73に送信する。
第1のゲイン出力部72−1〜第Mのゲイン出力部72−Mは、それぞれ第1のゲインブロック70−1〜第Mのゲインブロック70−Mに対応し、大域座標データALに基づいて、対応のゲインブロックに含まれる第1のゲイン適用部49−1〜第Nのゲイン適用部49−Nにゲインg0〜gN−1を供給する。
上述の回路構成を有する図12に示すフィルタリング処理部41及びゲイン特定部43(位置座標算出部71及び第1のゲイン出力部72−1〜第Mのゲイン出力部72−M)では、処理対象データD3(原画像データD1)を構成する複数の画素データのうち代表的な画素位置(代表画素位置)の画素データに関しては、代表画素位置に応じて定められる「目標とする周波数特性」に基づいて取得されるゲインが使用されて画像フィルタ処理P(フィルタリング処理)が行われる。一方、処理対象データD3(原画像データD1)を構成する複数の画素データのうち代表画素位置以外の画素位置(以下、「非代表画素位置」とも称する)の画素データに関しては、複数の代表画素位置に関して取得されるゲインが使用されるが、重み付け演算による調整が行われることにより非代表画素位置に適合した画像フィルタ処理P(フィルタリング処理)が遂行される。
すなわち本例において、ゲイン候補データ記憶部44(図3参照)に記憶されるゲインテーブル情報は、複数の代表的な画素位置(代表画素位置)にはゲインに関する特有の候補データを関連付けており、その複数の代表的な画素位置以外の画素位置(非代表画素位置)には、複数の代表的な画素位置(代表画素位置)のうちの1以上の画素位置に関連付けられているゲインに関する特有の候補データを関連付けている。非代表画素位置に関連付けられる代表画素位置の数は、図12に示すゲイン適用ブロック70に含まれるゲインブロックの数に対応する。したがって第1のゲインブロック70−1〜第Mのゲインブロック70−Mによってゲイン適用ブロック70が構成される図12に示す例では、非代表画素位置に関連付けられる代表画素位置の数は「M」個となる。
また本例のゲインテーブル情報は、上述の「複数の代表的な画素位置(代表画素位置)」の各々に対してゲインに関する複数の候補データを関連付けている。その複数の代表的な画素位置の各々に関連付けられたその複数の候補データはそれぞれ、ゲイン特定部43として機能する位置座標算出部71及び第1のゲイン出力部72−1〜第Mのゲイン出力部72−Mにより、複数のフィルタ適用処理データD4−1〜D4−Nに適用されるゲインとして特定される。そのため代表画素位置の各々に対して関連付けられている「ゲインに関する複数の候補データ」の数は、各ゲインブロックに含まれるゲイン適用部49の数に対応する。したがって各ゲインブロックが第1のゲイン適用部49−1〜第Nのゲイン適用部49−Nを含む図12に示す例では、代表画素位置の各々に対して関連付けられている「ゲインに関する複数の候補データ」の数は「N」個となる。
例えばゲイン適用ブロック70に含まれるゲインブロックの数を「2」とした場合(すなわち「M=2」と仮定した場合)、ゲイン適用ブロック70を構成する複数のゲインブロックは第1のゲインブロック70−1及び第2のゲインブロック70−2を含み、非代表画素位置に関連付けられる代表画素位置の数は「2」となる。この場合、第1のゲインブロック70−1及び第2のゲインブロック70−2の各々は、複数のフィルタ適用処理データD4−1〜D4−Nの各々に対し、位置座標算出部71及び第1のゲイン出力部72−1〜第2のゲイン出力部72−2により特定されるゲインを適用する。また処理データ取得部51は、第1のゲインブロック70−1によって取得される第1のブロック処理データD8−1と、第2のゲインブロックによって取得される第2のブロック処理データD8−2とに基づいて、処理画像データD2を取得する。
特にフィルタリング処理部41が上述の複数の代表的な画素位置以外の画素位置(非代表画素位置)について複数回のフィルタリング処理を行う場合、位置座標算出部71及び第1のゲイン出力部72−1〜第2のゲイン出力部72−2(ゲイン特定部43)は、その複数の代表的な画素位置以外の画素位置(非代表画素位置)に関連付けられているゲインの候補データのうち、「第1の代表的な画素位置」に関連付けられているゲインの候補データを第1のゲインブロック70−1において使用されるゲインとして特定し、「第2の代表的な画素位置」に関連付けられているゲインの候補データを第2のゲインブロック70−2において使用されるゲインとして特定する。なお、これらの「第1の代表的な画素位置」及び「第2の代表的な画素位置」は、非代表画素位置に関連付けられる複数の代表画素位置に相当する。
したがって処理対象の画素位置(非代表画素位置)の処理対象データD3(画素データ)が、画素位置A(第1の代表的な画素位置)及び画素位置B(第2の代表的な画素位置)に関連付けられている場合、「フィルタ適用ブロック47及び第1のゲインブロック70−1」の組み合わせ処理が「画素位置A」に最適化されるように「第1のゲイン出力部72−1から第1のゲインブロック70−1の第1のゲイン適用部49−1〜第Nのゲイン適用部49−Nに供給されるゲインg0〜gN−1」が決められることが好ましい。また「フィルタ適用ブロック47及び第2のゲインブロック70−2」の組み合わせ処理が「画素位置B」に最適化されるように「第2のゲイン出力部72−2から第2のゲインブロック70−2の第1のゲイン適用部49−1〜第Nのゲイン適用部49−Nに供給されるゲインg0〜gN−1」が決められることが好ましい。この場合、処理対象の画素位置(非代表画素位置)の処理対象データD3(画素データ)の「画素位置A及び画素位置Bに対する相対的な位置関係」を示す局所座標データASに基づいて、「画素位置Aに最適化された第1のブロック処理データD8−1」及び「画素位置Bに最適化された第2のブロック処理データD8−2」の重み付け演算が処理データ取得部51において行われることにより、非代表画素位置に関する処理画像データD2を取得することができる。
上述のように処理対象データD3(画素データ)が非代表画素位置の場合には、ゲイン適用ブロック70に含まれる複数のゲインブロック(第1のゲインブロック70−1〜第Mのゲインブロック70−M)のそれぞれが、非代表画素位置に関連付けられる複数の代表画素位置に最適化される。そして、処理データ取得部51によって、非代表画素位置に関連付けられる複数の代表画素位置に最適化された複数のゲインブロックから出力されるブロック処理データ(第1のブロック処理データD8−1〜第Mのブロック処理データD8−M)を重み付け演算により調整することにより、その非代表画素位置に関する処理画像データD2が取得される。
したがって位置座標算出部71から各ゲイン出力部(第1のゲイン出力部72−1〜第Mのゲイン出力部72−M)に供給される大域座標データALは、処理対象データD3の画素位置に関連付けられる複数の代表画素位置を直接的又は間接的に示す。ゲイン出力部の各々(第1のゲイン出力部72−1〜第Mのゲイン出力部72−M)は、受信した大域座標データALに基づいて、その「処理対象データD3の画素位置に関連付けられる複数の代表画素位置」に最適化されたゲインを、対応のゲインブロック(第1のゲインブロック70−1〜第Mのゲインブロック70−M)に供給する。例えば第1のゲイン出力部72−1は、処理対象データD3の画素位置に関連付けられる「第1の代表的な画素位置」に対応するゲインを第1のゲインブロック70−1に供給する。同様に第Mのゲイン出力部72−Mは、処理対象データD3の画素位置に関連付けられる「第Mの代表的な画素位置」に対応するゲインを第Mのゲインブロック70−Mに供給する。
一方、位置座標算出部71から重み付け係数決定部73に供給される局所座標データASは、「処理対象データD3の画素位置に関連付けられる複数の代表画素位置」に対する、その処理対象データD3の画素位置の相対的な位置を直接的又は間接的に示す。重み付け係数決定部73は、受信した局所座標データASに基づいて、各ゲインブロック(第1のゲインブロック70−1〜第Mのゲインブロック70−M)から出力されるブロック処理データ(第1のブロック処理データD8−1〜第Mのブロック処理データD8−M)を調整するための重み付け係数(第1の重み付け係数W1〜第Mの重み付け係数WM)を決定し、対応の重み付け調整部(第1の重み付け調整部74−1〜第Mの重み付け調整部74−M)に送信する。
なお処理対象データD3(画素データ)が代表画素位置の場合には、ゲイン適用ブロック70に含まれるいずれかのゲインブロック(例えば第1のゲインブロック70−1)のゲイン適用部(第1のゲイン適用部49−1〜第Nのゲイン適用部49−N)に、その代表画素位置に最適化されたゲインがゲイン出力部(例えば第1のゲイン出力部72−1)から供給されることが好ましい。この場合、その代表画素位置に最適化されたゲインが供給されるゲインブロック(例えば第1のゲインブロック70−1)から出力されるブロック処理データ(例えば第1のブロック処理データD8−1)に対する重み付け係数を「1(100%)」としつつ、他のゲインブロックから出力されるブロック処理データ(例えば第2のブロック処理データD8−2〜第Mのブロック処理データD8−M)に対する重み付け係数を「0(0%)」とすればよい。
図13は、代表画素位置と、第1のゲイン出力部72−1〜第Mのゲイン出力部72−Mから出力されるゲインに関する候補データとの関係を示す概念図である。各ゲイン出力部(第1のゲイン出力部72−1〜第Mのゲイン出力部72−M)は、大域座標データALから「対応の代表画素位置」を特定し、その特定した「対応の代表画素位置」に関連付けられた「N」個のゲインに関する候補データを「対応のゲインブロック(第1のゲイン適用部49−1〜第Nのゲイン適用部49−N)」に供給する。なお「各代表画素位置に関連付けられたN個のゲインに関する候補データ」は、各代表画素位置における光学系の光学特性に応じた画像フィルタ処理を実現するために最適化されたゲインの集合である。したがって各ゲイン出力部(第1のゲイン出力部72−1〜第Mのゲイン出力部72−M)は、図13の関係を示すテーブル情報を保持し、そのテーブル情報を参照してゲインを特定してもよい。
図14は、位置座標算出部71から出力される大域座標データAL及び局所座標データASと画素位置データとの関係を示す概念図である。位置座標算出部71は処理画素情報Fiを取得し、その処理画素情報Fiが示す処理対象の画素位置(図14の「処理対象画素位置」参照)に関連付けられている代表画素位置を示すデータ(図14の「第1の代表的な画素位置データ」及び「第Mの代表的な画素位置データ」参照)を示す大域座標データALを各ゲイン出力部に出力し、またその処理画素情報Fiが示す処理対象の画素位置の、「関連付けられている代表画素位置」を基準とした相対的な位置を示すデータ(図14の「相対位置データ」参照)を示す局所座標データASを重み付け係数決定部73に出力する。したがって位置座標算出部71は、図14の関係を示すテーブル情報を保持し、そのテーブル情報を参照して大域座標データAL及び局所座標データASを出力してもよい。
図15は、重み付け係数決定部73に入力される局所座標データASと重み付け係数決定部73から出力される重み付け係数との関係を示す概念図である。重み付け係数決定部73は、位置座標算出部71から入力される局所座標データASに関連付けられている重み付け係数(第1の重み付け係数W1〜第Mの重み付け係数WM)を重み付け調整部(第1の重み付け調整部74−1〜第Mの重み付け調整部74−M)に出力する。したがって重み付け係数決定部73は、図15に示すテーブル情報を保持し、そのテーブル情報を参照して重み付け係数(第1の重み付け係数W1〜第Mの重み付け係数WM)出力してもよい。
上述の図12に示す回路構成を有するフィルタリング処理部41によれば、高精度なフィルタリング処理と必要とされる記憶容量の低減化とを効果的に両立させることができる。図8〜図11に示す回路構成では、基本的には、処理対象データD3(原画像データD1)の全画素(すなわち光学系の全ての位置)に関するゲインベクトルを保持することが求められ、像劣化特性は厳密には処理対象データD3の画素単位で異なるため、ゲインベクトルを保持するために相当の記憶容量を確保する必要がある。しかしながら図12に示す回路構成によれば、ゲインブロック数(M個)に対応する数のゲインに関するベクトルテーブルを保持すればよく、非代表画素位置の処理対象データD3に関しては処理データ取得部51の重み付け演算による補間処理により処理画像データD2を精度良く算出することができる。
<ゲイン決定手法>
次に、ゲイン適用部49(第1のゲイン適用部49−1〜第Nのゲイン適用部49−N)において用いられるゲインの決定手法について説明する。
図16は、ゲイン取得部45の機能構成の一例を示すブロック図であり、図3に示す画像処理部35と好適に組み合わせられるゲイン取得部45を示す。本例のゲイン取得部45は、参照画像取得部60、参照画像解析部61、目標周波数特性取得部62及び適用ゲイン算出部63を有する。
参照画像取得部60は、原画像データD1を取得する際に用いられる光学系の光学特性であって、原画像データD1を取得する際の撮影条件(画素位置(光学系の位置)等)に応じた光学特性が反映された参照画像データを取得する。この参照画像データは、原画像データD1を取得する際にカメラ本体12に装着されうる各種のレンズユニット11(光学系)に関して取得されることが好ましく、また原画像データD1を取得する際に採用されうる撮影条件に関して取得されることが好ましい。
なお参照画像取得部60による参照画像データの取得手法は、特に限定されない。例えば、測定対象の光学系を含むレンズユニット11をカメラ本体12に装着した状態により撮影を行うことで、撮像素子24から参照画像取得部60に参照画像データが入力されてもよい。また測定対象の光学系を含むレンズユニット11を使った撮影が予め行われて取得された参照画像データがメモリ(図1に示す本体記憶部29等)に保存されている場合、参照画像取得部60は測定対象の光学系に関する参照画像データをそのメモリから読み出してもよい。
なお参照画像データの被写体は特に限定されず、特定の形状、模様及び色を有する被写体の撮影により参照画像データが取得されてもよいし、不特定の形状、模様及び色を有する被写体の撮影により参照画像データが取得されてもよい。特定の形状、模様及び色を有する被写体の撮影により参照画像データを取得する場合、参照画像取得部60は、デバイス制御部34(表示制御部36等)と協働して表示部27における表示等をコントロールし、そのような被写体の撮影の誘導を行うことが好ましい。また不特定の形状、模様及び色を有する被写体の撮影により参照画像データを取得する場合、参照画像取得部60は、本体記憶部29に保存されている過去の撮影画像データを解析し、測定対象の光学系を含むレンズユニット11を使って取得された撮影条件毎のデータであって、参照画像データとして好ましい画像特性を有するデータを過去の撮影画像データの中から選択して参照画像データとして特定してもよい。
参照画像解析部61は、参照画像取得部60によって取得される参照画像データの解析を行って、原画像データD1を取得する際の撮影条件に応じた光学特性を取得する。具体的には、参照画像解析部61は参照画像データの周波数解析を行い、測定対象の光学系の位置毎(画素位置毎)の点拡がり関数(OTF等)を取得してもよい。
目標周波数特性取得部62は、参照画像解析部61が取得する「光学系の位置(画素位置)に応じた光学特性」に基づいて、その光学系を使って撮影取得される原画像データD1の画像フィルタ処理Pにおいて目標とする周波数特性を光学系の位置毎(画素位置毎)に特定する。例えば画像フィルタ処理Pが光学系の点拡がり現象をキャンセルすることを意図する処理の場合、目標周波数特性取得部62は、参照画像解析部61が取得した光学系の位置毎(画素位置毎)の点拡がり関数(OTF等)に基づいて、ウィナーフィルタ等の任意の設計基準によってフィルタを構築することにより画像フィルタ処理Pの目標とする周波数特性を取得してもよい。
適用ゲイン算出部63は、目標周波数特性取得部62が特定する「画像フィルタ処理Pの目標とする周波数特性」に基づいて、複数回のフィルタリング処理の各々においてフィルタ適用処理データに適用されるゲイン(候補データ)を取得する。適用ゲイン算出部63によるゲインの取得手法は特に限定されず、例えば最小二乗法によってゲインを算出することができる。すなわち適用ゲイン算出部63は、目標周波数特性取得部62が特定した「画像フィルタ処理Pの目標とする周波数特性」に対し、複数回のフィルタリング処理の各々の周波数特性に基づいて最小二乗法により画像フィルタ処理Pの周波数特性をフィッティングすることによって、複数回のフィルタリング処理の各々においてフィルタ適用処理データに適用されるゲインを取得してもよい。
適用ゲイン算出部63は、取得したゲインを「ゲインの候補データ」としてゲイン候補データ記憶部44に記憶する。ゲインの候補データは、画像フィルタ処理Pの目標とする周波数特性に関係付けられたゲイン選定条件と関連付けられた状態で、ゲイン候補データ記憶部44に記憶されることが好ましい。ゲイン選定条件としては、画像フィルタ処理Pの目標とする周波数特性に影響を及ぼしうる各種ファクタを示す特性データが好適に用いられ、特に本例では「光学系の位置(画素位置)」がゲイン選定条件に含まれる。したがって画像フィルタ処理Pの目標とする周波数特性が「撮影により原画像データD1を取得する際に用いられた光学系(レンズ14及び絞り15等)の点拡がり関数(光学伝達関数)に基づく周波数特性」である場合、その点拡がり関数に影響を及ぼす各種ファクタ(例えば原画像データD1を取得するための撮影の際の絞り値(F値)、ズーム値(焦点距離)、被写体距離、フォーカス位置、光学系種別、撮像素子24のセンサSN比、像高(画素位置(光学系の位置))及び光学系個体差などの撮影条件)に関する特性データが、「ゲイン選定条件」としてゲインの候補データと関連付けられうる。
このようにゲインの候補データをゲイン選定条件と関連付けてゲイン候補データ記憶部44に記憶する場合、参照画像取得部60は複数の撮影条件(ゲイン選定条件)下で撮影取得された複数の参照画像データを取得することが好ましく、参照画像解析部61は複数の撮影条件下で撮影取得された複数の参照画像データを解析して光学特性を取得することが好ましい。また目標周波数特性取得部62は複数の撮影条件下での光学特性から複数の撮影条件に関する画像フィルタ処理Pの目標とする周波数特性を取得することが好ましく、適用ゲイン算出部63は複数の撮影条件に関連付けられるゲインを取得し、そのゲインを対応の撮影条件(ゲイン選定条件)と関連付けてゲイン候補データ記憶部44に記憶することが好ましい。
図17は、図16に示すゲイン取得部45のゲイン取得フローを示すフローチャートである。本例では上述のように、まず測定対象の光学系を使って撮影取得された参照画像データが参照画像取得部60により取得され(図17のS11)、参照画像解析部61によってその参照画像データの解析が行われて測定対象の光学系の位置毎(画素位置毎)の光学特性が取得される(S12)。そして測定対象の光学系の撮影条件毎の光学特性から画像フィルタ処理Pの目標とする周波数特性が目標周波数特性取得部62により取得され(S13)、その目標とする周波数特性から、光学系の位置毎(画素位置毎)のゲインの候補データが適用ゲイン算出部63により取得される(S14)。
このようにして取得されたゲインの候補データは、測定対象の光学系の位置毎(画素位置毎)の光学特性に関連付けた「ゲインテーブル情報」として、適用ゲイン算出部63によりゲイン候補データ記憶部44に記憶される(S15)。これによりゲイン特定部43は、ゲイン候補データ記憶部44に記憶されるゲインの候補データの中から、複数回のフィルタリング処理の各々においてフィルタ適用処理データに適用されるゲインを特定し、その特定したゲインをフィルタリング処理部41に送ることができる。
図18は、ゲイン取得部45の機能構成の他の例を示すブロック図であり、図4及び図5に示す画像処理部35と好適に組み合わせられるゲイン取得部45を示す。本例のゲイン取得部45は目標周波数特性取得部62及び適用ゲイン算出部63を有し、目標周波数特性取得部62は、画像フィルタ処理Pの目標とする周波数特性を周波数解析部66の周波数特性記憶部68から取得する。
周波数解析部66は、参照画像取得部60、参照画像解析部61、目標周波数特性特定部67及び周波数特性記憶部68を有する。本例の参照画像取得部60及び参照画像解析部61は、図16に示す上述の参照画像取得部60及び参照画像解析部61と同様に、参照画像データを取得し、原画像データD1を取得する際に用いられる光学系の位置毎(画素位置毎)の光学特性を取得する。また本例の目標周波数特性特定部67は、図16に示す上述の目標周波数特性取得部62と同様に、参照画像解析部61が取得した光学系の位置毎(画素位置毎)の光学特性に基づいて、その光学系を使って撮影取得される原画像データD1の画像フィルタ処理Pにおいて目標とする周波数特性を光学系の位置毎(画素位置毎)に特定する。
ただし本例の目標周波数特性特定部67は、特定した画像フィルタ処理Pの目標とする周波数特性に関するデータを、対応の光学系のデータ及び光学系の位置(画素位置)と関連付けて周波数特性記憶部68に記憶する。ここでいう「対応の光学系のデータ及び光学系の位置(画素位置)」は、測定対象の光学系及び光学系の位置(画素位置)を個々に特定することが可能な任意のデータであって、例えば個々の光学系(レンズユニット11)に割り当てられる種類情報(例えば型番等)と光学系の位置情報(例えば画素位置情報等)との組み合わせによって表されうる。
本例の目標周波数特性取得部62は、フィルタリング処理部41における画像フィルタ処理Pの対象となっている原画像データD1の撮影に使用した光学系の種類情報(対応の光学系のデータ)及び処理対象データD3の位置情報(光学系の位置(画素位置)を示す情報)を取得し、その種類情報及び位置情報に基づいて原画像データD1の撮影に使用した光学系及び処理対象データD3の位置情報に関連付けられている画像フィルタ処理Pの目標とする周波数特性に関するデータを周波数特性記憶部68から取得する。適用ゲイン算出部63は、目標周波数特性取得部62が特定した「画像フィルタ処理Pの目標とする周波数特性」に基づいて、複数回のフィルタリング処理の各々においてフィルタ適用処理データに適用されるゲインを取得してフィルタリング処理部41に供給する。
このように本例のゲイン取得部45は、原画像データD1の撮影に使用した光学系及び処理対象データD3の位置(光学系の位置(画素位置))に関する「画像フィルタ処理Pの目標とする周波数特性」を周波数特性記憶部68から読み出してゲインを取得する。したがって、周波数解析部66における「画像フィルタ処理Pの目標とする周波数特性を取得するための処理」と、ゲイン取得部45における「フィルタリング処理部41において実際に使用するゲインを取得するための処理」とを分離することができる。
図19は、図18に示す周波数解析部66の周波数特性取得フローを示すフローチャートである。本例では上述のように、まず測定対象の光学系を使って撮影取得された参照画像データが参照画像取得部60により取得され(図19のS21)、参照画像解析部61によってその参照画像データの解析が行われて測定対象の光学系の位置毎(画素位置毎)の光学特性が取得される(S22)。そして目標周波数特性特定部67によって測定対象の光学系の位置毎(画素位置毎)の光学特性から画像フィルタ処理Pの目標とする周波数特性が光学系の位置毎(画素位置毎)に特定され(S23)、周波数特性記憶部68に記憶される(S24)。
図20は、図18に示すゲイン取得部45のゲイン取得フローを示すフローチャートである。本例では上述のように、まずフィルタリング処理部41における画像フィルタ処理Pの対象となっている原画像データD1の撮影に使用した光学系及び処理対象データD3の位置(光学系の位置(画素位置))に関連付けられている画像フィルタ処理Pの目標とする周波数特性に関するデータが、目標周波数特性取得部62によって周波数特性記憶部
68から取得される(図20のS31)。そして適用ゲイン算出部63によって、その目標とする周波数特性からフィルタリング処理において使用されるゲインが取得され(S32)、フィルタリング処理部41に供給される(S33)。
<ゲイン係数(ゲイン値ベクトル)の算出手法>
以下、上述のゲイン取得部45(特に適用ゲイン算出部63)における演算処理の具体的な流れについて説明する。一例として、フィルタリング処理部41が図10に示す回路構成を有するケースについて主に説明するが、フィルタリング処理部41が他の回路構成(図8〜9及び図11〜12参照)を有するケースについても同様の演算処理によってゲインを算出することが可能である。
以下の方法は、周波数に基づいて重み付けされた最小二乗基準を採用し、フィルタリング処理部41によって行われる画像フィルタ処理P全体の周波数特性を、目標とする所望の周波数特性に近づけるように、ゲインを求める。
図10に示す回路構成において、第nのフィルタリング処理Fn(ただし「1≦n≦N」)を行うフィルタ適用部48−nにおいて使用されるフィルタの周波数特性を「φn−1(ω)」によって表し、ゲイン適用部49−nにおいて使用されるゲインを「gn−1」によって表すと、第nのフィルタリング処理Fnの周波数特性は「gn−1φn−1(ω)」によって表される。したがってフィルタリング処理部41が行う画像フィルタ処理P(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN)の全体の周波数特性を「f(ω)」によって表すと、「f(ω)=g0φ0(ω)…+gN−1φN−1(ω)(ただし「N」は2以上の整数)」が成立する。
なお図8及び図11に示す回路構成では、第nのフィルタリング処理Fnの全体の周波数特性を「1+gn−1(ψn−1(ω)−1)」によって表すと、各フィルタ適用部48において使用されるフィルタの周波数特性φn−1(ω)は「φn−1(ω)=ψn−1(ω)−1」によって表され、画像フィルタ処理P全体の周波数特性f(ω)は「f(ω)=(1+g0φ0(ω))…×(1+gN−1φN−1(ω))」によって表される。また図9に示す回路構成では、画像フィルタ処理P全体の周波数特性f(ω)は「f(ω)=1+g0φ0(ω)…+gN−1φN−1(ω)」によって表される。
したがって図10の回路構成に関する下述の説明は、図10の回路構成の周波数特性「f(ω)=g0φ0(ω)…+gN−1φN−1(ω)」を周波数特性「f(ω)=1+g0φ0(ω)…+gN−1φN−1(ω)」に応用することによって、図9に示す回路構成についても適用可能である。例えば、図9の回路構成の上記の周波数特性f(ω)における「1+g0φ0(ω)」を「図10の回路構成の上記の周波数特性f(ω)における「g0φ0(ω)」」として扱うことにより、図10の回路構成に関する下述の説明は図10に示す回路構成にも当てはめられる。同様に、図10の回路構成に関する下述の説明は、図10の回路構成の周波数特性「f(ω)=g0φ0(ω)…+gN−1φN−1(ω)」を「f(ω)=(1+g0φ0(ω))…×(1+gN−1φN−1(ω))」に応用することによって、図8及び図11に示す回路構成についても適用される。なおこの場合、対数化処理を利用することによって、図8及び図11に示す回路構成の周波数特性f(ω)の積の演算式は和の演算式に変換され、図10の回路構成に関する下述の説明を図8及び図11に示す回路構成に当てはめ易くなる。
ここで、第nのフィルタリング処理Fnのフィルタ適用部48−nにおいて使用されるフィルタが、撮影により原画像データD1を取得する際に用いられた光学系(レンズ14及び絞り15等)の点拡がり関数に基づく画像復元用のフィルタであると仮定する。点拡がり関数に基づく画像復元用のフィルタは、下記のように周波数ωに関して2次元の自由度を有するため、「2自由度」を持つ周波数特性となる。
このような周波数ベクトルωを用いると、第nのフィルタリング処理Fnのフィルタ適用部48−nにおいて用いられるフィルタの周波数特性を「φn−1(ω)」によって表すことができる。フィルタの周波数特性φn(ω)の離散化を周波数についてNω個のサンプリング点に関して行うことにより、下記のベクトルφnが得られる。
なお周波数「ωj」は、下記式によって表すことができ、「ωj」は周波数に関するNω個のサンプリングポイントを示す。
像劣化の周波数特性は、画像内位置(画素位置(光学系の位置))によって連続的に変化する。そのため、画像内位置毎にゲイン値を決定する必要がある。画像内位置をNr個のサンプリング点によって離散化し、画像内位置を示すインデックスを「k(ただし「1≦k≦Nr」を満たす)」により表す。
画像内位置を示すインデックスkに関し、複数回のフィルタリング処理(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN)によって使用されるゲインによって構成されるゲインベクトル(ゲイン群)gkは、下記式によって表される。
上記式によって表されるゲインが設定された画像フィルタ処理P全体(フィルタリング処理部41全体)の周波数特性「f(ω|gk)」は、図10に示す回路構成では、下記式によって表される。
一方、実現したい「画像フィルタ処理Pの目標とする周波数特性「dk(ω)」」は、任意の方法により決定することが可能であり、その決定方法は特に限定されない。一般に、点拡がり関数に基づく復元フィルタは、コンボリュージョン型のフィルタによって好適に実現可能である。点拡がり関数に基づくフィルタの周波数特性を決定する方法としては様々な手法があり、例えば撮影光学系のSN比を考慮したウィナーフィルタが広く利用されている。ウィナーフィルタは、点拡がり関数の光学伝達関数(OTF)及びSN比の情報に基づいてフィルタの周波数特性を表すことができる。したがって、実現したい画像フィルタ処理Pの目標とする周波数特性「dk(ω)」を、このウィナーフィルタに基づいて決定してもよい。
画像フィルタ処理P全体の周波数特性を「f(ω|gk)」によって表し、実現したい画像フィルタ処理Pの目標とする周波数特性を「dk(ω)」によって表し、近似重み関数を「wk(ω)」によって表す。この場合、下記式によって表される重み付き最小二乗基準に基づく汎関数「JLMS[g]」を最小化するゲインベクトルを、画像フィルタ処理Pにおける最適な周波数特性を表すゲインベクトルとすることができる。
上記式を周波数及び画像内位置のサンプリングポイントによって離散化すると、下記式が得られる。
上記式において「diag」は引数ベクトルを対角要素とする対角行列を示し、上記式の「w」及び「d」は、それぞれ「wk(ω)」及び「dk(ω)」を「ベクトルφn」に関する上述の方法と同様にしてベクトル化したものである。
上記式に基づいて、画像内位置を示すインデックスkに関するゲインベクトルの最適解g(k) OPTは下記式によって表される。
近似重み関数及び各フィルタの周波数特性(フィルタ係数)が決定されていれば、上記式中の「(AHWA)−1AHW」の部分は、予め算出可能な行列によって表される。このように画像内位置(画素位置(光学系の位置))を示すインデックスkに関するゲインベクトルの最適解g(k) OPTは、個別の像劣化特性を示す点拡がり関数に基づいて取得されるフィルタ特性に行列を適用する演算によって算出可能である。
なおフィルタリング処理部41が図10に示す回路構成を採用する場合には、上記の条件に加え、画像のDC成分(明るさ)の変化を防ぐために、DC成分の増幅率(ゲイン)を1.0倍にするという拘束条件が適用されることが好ましい。具体的には、下記式に従ってゲインベクトルの最適解g(k) OPTを取得することが「DC成分の増幅率を1.0倍として画像全体の明るさを変えない」ことに相当する。
上記式は、QP(Quadratic Programming)問題として扱うことができ、「N」が小さい場合には、少ない計算量によって解くことが可能である。また、一例として下記式によって表されるように、各フィルタのDC成分の増幅率に制限を設けることによって、DC成分の増幅率の制限(拘束条件)を除外することが可能である。
<重み付けの工夫>
上述の最小二乗法では、「wk(ω)」によって表されるように周波数に基づいて周波数特性の近似精度に重み付けがされる。例えば最小二乗法による周波数特性の近似を上記の近似誤差評価関数JLMS[g]に基づいて行う場合、その近似誤差評価関数JLMS[g]が周波数に基づいて重み付けされる。この重み付けを調整することによって画質をコントロールすることができる。すなわち、最小二乗法によって画像フィルタ処理Pの目標とする周波数特性に近似する際に、特定の周波数に対して重み付けを調整することによって、最小二乗法において特定の周波数や特定の画素位置に関する近似精度を高めることができ、画質をコントロールすることができる。
例えば、上述の最小二乗法では、低周波帯域における重み付けを高周波帯域における重み付けより大きく設定してもよい。一般に、人間の視覚特性上、高周波成分よりも低周波成分の方が知覚されやすいため、「画像フィルタ処理Pの目標とする周波数特性に近似する」精度として低周波成分を高周波成分よりも優先することによって、低周波成分を高精度に処理することができる。
なお、ここでいう「低周波帯域(低周波成分)」及び「高周波帯域(高周波成分)」は相対的な周波数範囲(周波数帯域)を表す。例えばサンプリング周波数の1/4(=0.25fs)以下の範囲を「低周波帯域(低周波成分)」として扱い、0.25fsよりも大きく0.5fs以下の範囲を「高周波帯域(高周波成分)」として扱ってもよい。
また上述の最小二乗法では、原画像データD1を取得する際の撮影条件に応じて、高周波帯域における重み付けを低周波帯域における重み付けより大きく設定してもよい。一般に、ノイズが多い場合にフィルタの高周波特性が悪いとノイズが増幅されてしまう。したがってノイズが多いことが予想される撮影条件下において取得された原画像データD1の画像フィルタ処理Pでは、「画像フィルタ処理Pの目標とする周波数特性に近似する」精度として高周波成分を低周波成分よりも優先した方が好ましい場合がある。
なお、ここでいう「原画像データD1を取得する際の撮影条件」は特に限定されない。ノイズ量に影響を及ぼしうる任意のファクタを撮影条件とすることができ、例えば絞り値(F値)や撮像素子24の撮影感度を、ノイズ量に影響を及ぼしうる「原画像データD1を取得する際の撮影条件」として採用してもよい。
また上述の最小二乗法における重み付けは、原画像データD1における画素位置に応じて定められてもよい。例えば一般ユーザが使用する通常のデジタルカメラを使った撮影により原画像データD1が取得される場合には、主要被写体が画像中央部に配置されることが多いため、画像中央部の画素位置の高周波成分が重視される傾向がある。一方、監視カメラ等において撮影範囲の境界付近の画像の重要性が比較的高い場合には、画像周辺部の画素位置の高周波成分が重視される傾向がある。このように、原画像データD1における画素位置に応じて重要度が異なる場合があり、重み付けの高い画素位置(優先される画素位置)を撮像装置の種類や撮影画像の用途(製品)に応じて決定してもよい。
例えば一般ユーザが使用するデジタルカメラ10が具備する光学系において、中央部は一般的に解像度が高く周波数に依らずに優れた解像特性を有し、周辺部は解像性能が低くなる傾向がある。したがって図1に示すデジタルカメラ10を使った撮影により取得される原画像データD1の画像フィルタ処理Pでは、画像中央部では高周波帯域の重み付けを大きくし、画像周辺部では低周波帯域の重み付けを大きくすることによって、光学特性に応じた画質改善を行うことができる。すなわち上述の最小二乗法において、原画像データD1の画像中心から第1の距離以下の画素位置(低像高の画素位置)では、原画像データD1の画像中心から第1の距離よりも遠い画素位置(高像高の画素位置)よりも、高周波帯域における重み付けを大きくしてもよい。また上述の最小二乗法において、原画像データD1の画像中心から第2の距離よりも遠い画素位置(高像高の画素位置)では、原画像データD1の画像中心から第2の距離以下の画素位置(低像高の画素位置)よりも、低周波帯域における重み付けを大きくしてもよい。
なお、ここでいう「高周波帯域」は0.25fsよりも大きく0.5fs以下の範囲に含まれることが好ましく、「低周波帯域」は0.25fs以下の範囲に含まれることが好ましい。また、ここでいう「第1の距離」と「第2の距離」は同じであってもよいし、異なっていてもよい。
<フィルタの周波数特性が周波数減衰を含まない場合の工夫>
図8に示すような直列接続タイプの回路構成を有するフィルタリング処理部41によって複数回のフィルタリング処理が行われる場合、各フィルタ適用部48において処理対象データD3に適用されるフィルタの周波数特性が周波数減衰を持つか否かに応じて、制御方法を工夫することが好ましい。周波数減衰は、「光学系の点拡がり関数によって表される点像の拡がり(ボケ)の程度が大きい」且つ「SN比が低い」場合に特に有効に作用し、高周波帯域におけるノイズ成分を抑制する効果をもたらす。
例えば各フィルタ適用部48において使用するフィルタに周波数減衰の効果を持たせる必要がない場合には、図10に示すフィルタリング処理部41の各フィルタ適用部48において使用されるフィルタの周波数特性φn(ω)を下記式に基づいて設定することができる。
上記式は、各フィルタ適用部48において使用されるフィルタの周波数特性φn(ω)が「|φn(ω)|>1」を満たす場合には、本来の周波数特性φn(ω)を持つフィルタを使用し、「|φn(ω)|≦1」を満たす場合には、「周波数特性(レスポンス)=1」となるフィルタを使用することを示す。
なお各フィルタ適用部48において使用するフィルタに周波数減衰の効果を持たせる必要がない場合に、図8〜9及び図11に示すフィルタリング処理部41の各フィルタ適用部48において使用されるフィルタの周波数特性φn(ω)は、例えば下記式に基づいて設定することができる。
またフィルタリング処理部41を構成する回路構成が図8に示すような直列接続タイプの場合、画像フィルタ処理P全体の周波数特性は、各フィルタ適用部48において使用されるフィルタの周波数特性の積に基づいて表現される。この「直列接続タイプの画像フィルタ処理P全体の周波数特性」を「並列接続タイプの画像フィルタ処理P全体の周波数特性」と同様に扱うために、直列接続タイプの画像フィルタ処理Pにおいて使用される全てのフィルタの周波数特性を対数化することによって、「積」の問題を「和」の問題に変換することが好ましい。この場合、並列接続タイプの回路構成を有するフィルタリング処理部41に関するゲインベクトルの最適解g(k) OPTの算出手法と同様の演算処理によって、直列接続タイプの回路構成を有するフィルタリング処理部41に関するゲインベクトルの最適解g(k) OPTを算出することができる。なおフィルタの周波数特性が減衰特性を含まないケースでは、上述の対数化によっては、フィルタの周波数特性が大きな負の値とはならず、下記式を利用して複素数の対数化を行うことができる。
<フィルタの周波数特性が周波数減衰を含む場合の工夫>
例えば図8に示すような直列接続タイプの回路構成を有するフィルタリング処理部41において、各フィルタ適用部48において使用されるフィルタの周波数特性が周波数減衰を含む場合には、以下の点に留意することが望ましい。すなわち、周波数増幅率が0倍に近い場合には、対数化後の値が大きな負の値となるため、対数化処理を行った後に最小二乗基準により周波数特性のフィッティングを行う場合等には、その大きな負の値が周波数特性近似の基準を支配してしまう虞がある。そのため、対数化の際に、予め決められた負の最小値によってクリッピングを行ったり、周波数減衰が起きやすい周波数帯域の重み付けを小さく調節するなどの対策を行うことが好ましい。
例えばクリッピングにより対応する場合には、フィルタリング処理部41は、画像フィルタ処理Pの目標とする周波数特性において原画像データD1に対する処理画像データD2の割合が1よりも小さい周波数では、複数回のフィルタリング処理の各々において、フィルタリング処理データD6をフィルタ適用処理データD4と等しくするフィルタを用いることが好ましい。
各フィルタリング処理において使用するゲインを上述のようにして決定及び調整することによって、例えば撮影条件の組み合わせの全てに関して点拡がり関数に基づくフィルタ(フィルタ係数)を保持するケースに比べ、保持すべきパラメータ数を格段に削減することができる。また一般の方法では、点拡がり関数のような像劣化特性が既知でないとフィルタ設計(フィルタ係数設計)を適切に行うが難しいが、本実施形態によれば、個々の像劣化特性を把握する前に、多くの計算量が必要とされる有限タップ長のFIRフィルタの設計を完了しておくことも可能である。その場合、具体的な像劣化特性を取得した後に簡単な計算によって、最適なゲインベクトルを算出することができる。
<フィルタの設計手法>
次に、フィルタリング処理部41の各フィルタ適用部48において使用されるフィルタの設計手法の具体例について説明する。
図21は、フィルタ取得装置76の機能構成の一例を示すブロック図である。
各フィルタ適用部48において使用されるフィルタの設計及び取得を行うフィルタ取得装置76は、フィルタ算出部77を有する。本例のフィルタ算出部77は、原画像データD1における複数の画素位置(光学系の複数の位置)に応じて定められる複数種類の画像フィルタ処理(第1の画像フィルタ処理P1〜第kの画像フィルタ処理Pk(ただし「k」は2以上の整数))の周波数特性データを取得し、基準フィルタhb及び分散フィルタhvを含む複数のフィルタを出力する。すなわちフィルタ算出部77は、原画像データD1における複数の画素位置(光学系の複数の位置)に応じて定められる複数種類の画像フィルタ処理P1〜Pkの周波数特性に基づいて、複数種類の画像フィルタ処理P1〜Pkの周波数特性の平均に応じて定められる基準フィルタhbを取得する。またフィルタ算出部77は、複数種類の画像フィルタ処理P1〜Pkの周波数特性に基づいて、複数種類の画像フィルタ処理P1〜Pkの周波数特性の分散に応じて定められる少なくとも一つの分散フィルタhvを取得する。
図22は、フィルタ算出部77の機能構成の一例を示すブロック図である。
本例のフィルタ算出部77は、平均算出部78、分散算出部79及びフィルタ特性取得部80を有する。平均算出部78は、複数種類の画像フィルタ処理P1〜Pkの周波数特性データから、複数種類の画像フィルタ処理P1〜Pkの周波数特性の平均を算出する。分散算出部79は、複数種類の画像フィルタ処理P1〜Pkの周波数特性データから、複数種類の画像フィルタ処理P1〜Pkの周波数特性の分散を算出する。フィルタ特性取得部80は、平均算出部78において算出された複数種類の画像フィルタ処理P1〜Pkの周波数特性の平均に基づいて基準フィルタhbを算出する。またフィルタ特性取得部80は、平均算出部78において算出された複数種類の画像フィルタ処理P1〜Pkの周波数特性の平均と、分散算出部79において算出された複数種類の画像フィルタ処理P1〜Pkの周波数特性の分散とに基づいて、分散フィルタhvを算出する。
なお本例のフィルタ算出部77(平均算出部78、分散算出部79及びフィルタ特性取得部80)において用いられる複数種類の画像フィルタ処理P1〜Pkの周波数特性データは、複数の画素位置(光学系の位置)に応じた光学系の光学特性に基づいて特定される。このようにフィルタ(基準フィルタhb及び分散フィルタhv)の算出の基礎となる「複数種類の画像フィルタ処理P1〜Pkの周波数特性データ」を複数の画素位置(光学系の位置)を基準にして定めることにより、そのような複数の画素位置(光学系の位置)に適合したフィルタ(基準フィルタhb及び分散フィルタhv)を算出することができる。したがって、そのような「複数の画素位置(光学系の位置)」として原画像データD1を取得する際の「代表的な画素位置(光学系の位置)」を想定することにより、「画像フィルタ処理の目標とする周波数特性」をフィルタリング処理部41によって精度良く実現することができる。
<複数種類の画像フィルタ処理の周波数特性>
ここでいう「複数種類の画像フィルタ処理P1〜Pk」の各々の周波数特性は「画像フィルタ処理の目標とする周波数特性」を構成し、本例では撮影の際に採用されうる撮影条件毎(例えば画素位置毎(光学系の位置毎))の光学系の光学特性に基づく周波数特性によって定められる。
例えば「複数種類の画像フィルタ処理P1〜Pkの周波数特性」が光学系の点拡がり関数に基づく周波数特性の場合、点拡がり関数に影響を及ぼしうる撮影条件(例えば画素位置(光学系の位置))を変えることにより得られる複数種類の点拡がり関数の周波数特性に応じて「複数種類の画像フィルタ処理P1〜Pkの周波数特性」を定めることができる。すなわち異なる撮影条件下における複数種類の点拡がり関数の周波数特性に応じて「複数種類の画像フィルタ処理P1〜Pkの周波数特性」を定めることができる。この「複数種類の点拡がり関数」は、任意の手法により取得可能であり、実測値に基づいて取得されてもよいし、推定値に基づいて取得されてもよい。「複数種類の画像フィルタ処理P1〜Pkの周波数特性」は、取得される複数種類の点拡がり関数を使ってウィナーフィルタ等の任意の設計基準に基づき算出可能である。
この「複数種類の画像フィルタ処理P1〜Pkの周波数特性」は、任意の装置によって取得可能であり、例えばフィルタ取得装置76において取得されてもよいし、他の装置により取得されてもよく、フィルタ取得装置76のフィルタ算出部77によって図示しないメモリから読み出されて取得されてもよい。
<複数種類の画像フィルタ処理の周波数特性のバラツキ>
複数種類の画像フィルタ処理の周波数特性のバラツキは、単峰型分布に基づいて表現することも可能であるし、多峰型分布に基づいて表現することも可能である。
図23は、複数種類の画像フィルタ処理の周波数特性のバラツキを単峰型分布によって表した概念図である。図24は、複数種類の画像フィルタ処理の周波数特性のバラツキを多峰型分布によって表した概念図である。
図23に示す単峰型分布に基づくバラツキ表現手法は、複数種類の画像フィルタ処理の周波数特性のバラツキを、一つの多次元複素正規分布(図23の「バラツキ分布G」参照)によって表現する手法である。一方、多峰型分布に基づく表現手法は、複数種類の画像フィルタ処理の周波数特性のバラツキを、複数の多次元複素正規分布(図24の「第1のバラツキ分布G1」及び「第2のバラツキ分布G2」参照)によって表現する手法である。
図23には、複数種類の画像フィルタ処理の周波数特性のバラツキ分布Gを、第1のフィルタリング処理F1のフィルタの周波数特性φ0、第2のフィルタリング処理F2のフィルタの周波数特性φ1及び第3のフィルタリング処理F3のフィルタの周波数特性φ2によって表現するケースが示されている。また図24には、複数種類の画像フィルタ処理の周波数特性のバラツキ分布Gを構成する第1のバラツキ分布G1及び第2のバラツキ分布G2の各々を、第1のフィルタリング処理F1のフィルタの周波数特性(φ0 (1)、φ0 (2))、第2のフィルタリング処理F2のフィルタの周波数特性(φ1 (1)、φ1 (2))及び第3のフィルタリング処理F3のフィルタの周波数特性(φ2 (1)、φ2 (2))によって表現するケースが示されている。なお図23及び図24には、一例としてフィルタリング処理部41が図10に示す回路構成を有することを前提としたフィルタの周波数特性φ0〜φ2が図示されている。
複数種類の画像フィルタ処理の周波数特性のバラツキが例えば図23に示すような楕円形状のバラツキ分布Gを有する場合、複数のフィルタリング処理(図23に示す例では第1のフィルタリング処理F1〜第3のフィルタリング処理F3)によって各画像フィルタ処理を精度良く実現するには、バラツキ分布Gの中心、長軸及び短軸に基づいて各フィルタリング処理の周波数特性φ0、φ1、φ2を決定することが好ましい。同様に、複数種類の画像フィルタ処理の周波数特性のバラツキが例えば図24に示すような楕円形状の第1のバラツキ分布G1及び第2のバラツキ分布G2を有する場合、複数のフィルタリング処理(図24に示す例では第1のフィルタリング処理F1〜第3のフィルタリング処理F3)によって第1のバラツキ分布G1及び第2のバラツキ分布G2に含まれる各画像フィルタ処理を精度良く表すには、第1のバラツキ分布G1及び第2のバラツキ分布G2の各々に関して中心、長軸及び短軸に基づき各フィルタリング処理の周波数特性φ0 (1)、φ1 (1)、φ2 (1)、φ0 (2)、φ1 (2)、φ2 (2)を決定することが好ましい。
<単峰型分布>
次に、複数種類の画像フィルタ処理の周波数特性のバラツキを単峰型分布として扱う場合(図23参照)における、フィルタ及びゲインの設計手法例について説明する。
以下の方法は、任意個数の複数種類の画像フィルタ処理の周波数特性のバラツキサンプルが実際に取得された場合に、その画像フィルタ処理の周波数特性のバラツキを精度良く補償することができる所望数の基底フィルタ(FIRフィルタ)の周波数特性を求める手法に関する。また、単峰型分布を多次元複素正規分布としてモデル化を行い、ML(Maximum Likelihood)推定を行うケースについて説明する。
単峰型分布のバラツキ分布Gは多次元複素正規分布に基づいて表現可能であり、その多次元複素正規分布は共分散行列によって特徴付けられ、次式によって得られる。
上記式において「βi」は、複数種類の画像フィルタ処理の各々に関して個別に取得される周波数特性β(ω)を周波数(ω)に基づいて離散化することにより得られるベクトルを表し、「Nr」は複数種類の画像フィルタ処理の数を表す。したがって上記式の「Ψ0」は、複数種類の画像フィルタ処理の周波数特性の平均(平均行列)を表し、上記式の「R0」は、複数種類の画像フィルタ処理の周波数特性の分散(共分散行列)を表す。
上記式によって表される共分散行列の固有値分解を下記式に従って行うことにより、固有ベクトルΨi(ただし「i」は1以上Nr以下の整数)を得ることができる。
Karhunen−Loeve展開によれば、バラツキ分布を次元mの線形部分空間によって平均的に近似するには、固有値の大きいものから順にm個の対応する固有ベクトルΨi(ただし「i」は1以上m以下の整数)によって張られる部分空間を用いるのが最良である。
したがって、単峰型のバラツキ分布Gを持つ複数種類の画像フィルタ処理の各々の周波数特性を精度良く再現するためのフィルタリング処理のフィルタの最適な周波数特性φ0〜φN−1は、下記式に基づいて取得することができる。
なお、第1のフィルタリング処理F1のフィルタの周波数特性φ0は、上述のように、複数種類の画像フィルタ処理の周波数特性の分布の中心に該当するため、分布の中心を固定して処理を安定化させる観点からは第1のフィルタリング処理F1におけるゲインは「1.0」に固定することが好ましい。他のフィルタリング処理におけるゲインについては、例えば上述の重み付き最小二乗基準によって最適値を求めることができる。
図25は、単峰型分布に分類可能な複数種類の画像フィルタ処理の周波数特性の一例を概略的に示す図であり、横軸は周波数(ω)を示し、縦軸はレスポンスを示す。ここでいうレスポンスは、各画像フィルタ処理の前後の周波数成分量の比(=処理後の周波数成分量/処理前データの周波数成分量)であり、「レスポンス=1」は画像フィルタ処理の前後でデータが同じであることを意味する。
図25には、4種類の画像フィルタ処理(第1の画像フィルタ処理P1、第2の画像フィルタ処理P2、第3の画像フィルタ処理P3及び第4の画像フィルタ処理P4)の周波数特性が示されている。これらの4種類の画像フィルタ処理P1〜P4は、それぞれ異なる周波数特性を示すが、いずれも周波数(ω)が「0」の場合のレスポンスは「1」を示す。
図26は、図25に示される複数種類の画像フィルタ処理の周波数特性の分散の一例を概略的に示す図であり、横軸は周波数(ω)を示し、縦軸は分散を示す。なお、図26は、説明の便宜上、図25に示される複数種類の画像フィルタ処理P1〜P4の周波数特性の分散を必ずしも厳密に表すものではない。
図25に示す4種類の画像フィルタ処理P1〜P4は、いずれも周波数(ω)が「0」の場合のレスポンスは「1」であるため、周波数(ω)が「0」の場合の分散は「0」になる。図26に示す例では、複数種類の画像フィルタ処理P1〜P4の周波数特性に関して、「一番目に大きいバラツキを示す成分(図26の符号「H1」参照)」及び「二番目に大きいバラツキを示す成分(図26の符号「H2」参照)」が表れる。
図27(a)〜(c)は、図25に示される複数種類の画像フィルタ処理の周波数特性の平均及び分散から取得される基底フィルタ(固有ベクトル)の一例を概略的に示す図であり、図27(a)は「φ0」を示し、図27(b)は「φ1」を示し、図27(c)は「φ2」を示す。
上述のように、第1のフィルタリング処理F1において使用されるフィルタの周波数特性φ0は、複数種類の画像フィルタ処理P1〜P4の周波数特性の分布の中心(平均)に基づいて決定することが好ましい。
また他のフィルタリング処理において使用されるフィルタの周波数特性は、図26に示す複数種類の画像フィルタ処理P1〜P4の周波数特性のバラツキ(分散)が大きい成分から順に定められることが好ましい。したがって第2のフィルタリング処理F2において使用されるフィルタの周波数特性φ1は、複数種類の画像フィルタ処理P1〜P4の周波数特性のバラツキが一番目に大きい成分(図26の「H1」参照)に基づいて決定されることが好ましい。同様に、第3のフィルタリング処理F3において使用されるフィルタの周波数特性φ2は、複数種類の画像フィルタ処理の周波数特性のバラツキが二番目に大きい成分(図26の「H2」参照)に基づいて決定されることが好ましい。
なお上述の例は画像フィルタ処理Pが第1のフィルタリング処理F1〜第3のフィルタリング処理F3を含むケースに関するが、画像フィルタ処理Pは二つのフィルタリング処理によって構成されていてもよいし、四つ以上のフィルタリング処理によって構成されていてもよい。例えば画像フィルタ処理Pが第1のフィルタリング処理F1及び第2のフィルタリング処理F2によって構成される場合には、第1のフィルタリング処理F1において使用されるフィルタの周波数特性を上述の「φ0」(図27(a)参照)に基づいて定め、第2のフィルタリング処理F2において使用されるフィルタの周波数特性を上述の「φ1」(図27(b)参照)に基づいて定めることができる。
図28(a)〜(b)は、図10に示す回路構成を有するフィルタリング処理部41が行う画像フィルタ処理P(第1のフィルタリング処理F1〜第3のフィルタリング処理F3)に関する周波数特性f(ω)(図28(a)参照)及びゲイン例(図28(b)参照)を示す。
上述のように、複数種類の画像フィルタ処理の周波数特性の分布の中心を固定して処理を安定化させる観点からは、第1のフィルタリング処理F1におけるゲインg0は「1.0」に固定することが好ましい。したがって図28(b)には、図10に示す回路構成を有するフィルタリング処理部41の各フィルタ適用部48において使用するフィルタを固定し、また第1のフィルタリング処理F1におけるゲインg0を「1.0」に固定した場合に、図25に示す画像フィルタ処理P1〜P4の各々の周波数特性を図28(a)に示すシステム全体の周波数特性によって精度良く実現するためのゲインg0〜g2が例示されている。
図28(b)に示すように、上述の例によれば、複数種類の画像フィルタ処理P1〜P4の周波数特性のデータを、3個のフィルタの周波数特性φ0〜φ2(タップ係数)と12個のゲイン(g0を「1.0」に固定する場合には8個のゲイン)とに圧縮することができる。
このように本例のフィルタリング処理部41は、第1のフィルタリング処理F1では、画像フィルタ処理P1〜P4の複数種類の周波数特性の平均に応じて定められる基準フィルタhbの周波数特性を「フィルタの周波数特性φ0」として用いてフィルタ適用処理データD4−1を取得し、第2のフィルタリング処理F2及び第3のフィルタリング処理F3では、画像フィルタ処理P1〜P4の複数種類の周波数特性の分散に応じて定められる二つの分散フィルタhvの周波数特性を「フィルタの周波数特性φ1」及び「フィルタの周波数特性φ2」として用いてフィルタ適用処理データD4−2、D4−3を取得する。
特にフィルタリング処理部41は、第1のフィルタリング処理F1では「原画像データD1における画素位置に応じて定められる複数種類の画像フィルタ処理の周波数特性の平均に応じて定められる基準フィルタhb」を用いてフィルタ適用処理データD4−1を取得し、第2のフィルタリング処理F2及び第3のフィルタリング処理F3では「原画像データD1における画素位置に応じて定められる複数種類の画像フィルタ処理の周波数特性の分散に応じて定められる分散フィルタhv」を用いてフィルタ適用処理データD4−2、D4−3を取得することが好ましい。この場合、複数回のフィルタリング処理の各々においてフィルタ適用処理データD4に適用されるゲインは、原画像データD1における画素位置に応じて定められることが好ましい。
図29は、単峰型分布に基づいてフィルタ係数を算出するフィルタ算出部77の機能構成の一例を示すブロック図である。周波数空間により表されるフィルタ特性から実空間により表されるフィルタ係数を算出するために、本例のフィルタ算出部77は、上述の平均算出部78、分散算出部79及びフィルタ特性取得部80(図22参照)に加え、タップ係数演算部81を更に有する。
このフィルタ算出部77のタップ係数演算部81は、複数のタップを持ち各タップに係数が割り当てられる基準フィルタhbを取得するとともに、複数のタップを持ち各タップに係数が割り当てられる少なくとも一つの分散フィルタhvを取得する。「各タップに係数を割り当てる手法」は特に限定されないが、タップ係数演算部81(フィルタ算出部77)は、例えば後述のSAGEアルゴリズム又はOMPアルゴリズムに基づいて、基準フィルタhb及び少なくとも一つの分散フィルタhvの各々の各タップに割り当てられる係数を算出することができる。
<多峰型分布>
次に、複数種類の画像フィルタ処理の周波数特性のバラツキを多峰型分布として扱う場合(図24参照)における、フィルタ及びゲインの設計手法例について説明する。
図24に示す例において、全体を一つの分布(単峰型分布)として扱う場合には、複数種類の画像フィルタ処理の周波数特性のバラツキ分布は図24に示す「バラツキ分布G」によって表すことができるが、近似精度が悪くなる。一方、複数種類の画像フィルタ処理の周波数特性のバラツキ分布を図24の「第1のバラツキ分布G1」及び「第2のバラツキ分布G2」によって分離して表し、「第1のバラツキ分布G1」及び「第2のバラツキ分布G2」の各々を別個の多次元複素正規分布(多峰型分布)として扱うことにより、近似精度を向上させることができる。この多峰型分布におけるML推定のパラメータ推定アルゴリズムとして、例えばEM(Expectation Maximization)アルゴリズムによる混合正規分布の推定を好適に利用することができ、効率的なパラメータ推定を行うことができる。
多峰型分布に基づくフィルタの決定手法は、基本的には上述の単峰型分布に基づくフィルタ決定手法と同様の手法により行うことができる。すなわち、複数種類の画像フィルタ処理の周波数特性を、多峰型分布を構成する複数の分布(図24に示す例では第1のバラツキ分布G1及び第2のバラツキ分布G2)に分類し、各分布に関して、上述の単峰型分布の「バラツキ分布G」と同様の手順によってフィルタを求めることができる。
図30は、多峰型分布に分類可能な画像フィルタ処理の周波数特性の一例を概略的に示す図であり、横軸は周波数(ω)を示し、縦軸はレスポンスを示す。
図30には、6種類の画像フィルタ処理(第1の画像フィルタ処理P1、第2の画像フィルタ処理P2、第3の画像フィルタ処理P3、第4の画像フィルタ処理P4、第5の画像フィルタ処理P5及び第6の画像フィルタ処理P6)の周波数特性が示されている。これらの6種類の画像フィルタ処理P1〜P6は、それぞれ異なる周波数特性を示すが、いずれも周波数(ω)が「0」の場合のレスポンスは「1」を示す。
図30に示す例において、例えば「第1の画像フィルタ処理P1の周波数特性データ、第2の画像フィルタ処理P2の周波数特性データ及び第3の画像フィルタ処理P3の周波数特性データ」を第1のバラツキ分布G1に分類し、「第4の画像フィルタ処理P4の周波数特性データ、第5の画像フィルタ処理P5の周波数特性データ及び第6の画像フィルタ処理P6の周波数特性データ」を第2のバラツキ分布G2に分類することができる。
図31(a)〜(b)は、図30に示される複数種類の画像フィルタ処理の周波数特性の分散の一例を概略的に示す図であり、図31(a)は第1のバラツキ分布G1に分類される第1の画像フィルタ処理P1〜第3の画像フィルタ処理P3の周波数特性データの分散を示し、図31(b)は第2のバラツキ分布G2に分類される第4の画像フィルタ処理P4〜第6の画像フィルタ処理P6の周波数特性データの分散を示す。図31(a)及び(b)の横軸は周波数(ω)を示し、縦軸は分散を示す。なお、図31(a)及び(b)は、説明の便宜上、図30に示される複数種類の画像フィルタ処理P1〜P6の周波数特性の分散を必ずしも厳密に表すものではない。
図30に示す6種類の画像フィルタ処理P1〜P6の周波数特性は、いずれも周波数(ω)が「0」の場合のレスポンスが「1」であるため、周波数(ω)が「0」の場合の分散は「0」になる。図31(a)及び(b)に示すように、第1のバラツキ分布G1及び第2のバラツキ分布G2の各々の「画像フィルタ処理の周波数特性の分散」に関し、「一番目に大きいバラツキを示す成分(図31(a)及び(b)の「H1」参照)」及び「二番目に大きいバラツキを示す成分(図31(a)及び(b)の「H2」参照)」が表れる。
図32(a)〜(c)は、第1のバラツキ分布G1に分類される第1の画像フィルタ処理P1〜第3の画像フィルタ処理P3の周波数特性の平均及び分散から取得される基底フィルタ(固有ベクトル)の一例を概略的に示す図であり、図32(a)は「φ0」を示し、図32(b)は「φ1」を示し、図32(c)は「φ2」を示す。図33(a)〜(c)は、第2のバラツキ分布G2に分類される第4の画像フィルタ処理P4〜第6の画像フィルタ処理P6の周波数特性の平均及び分散から取得される基底フィルタ(固有ベクトル)の一例を概略的に示す図であり、図33(a)は「φ0」を示し、図33(b)は「φ1」を示し、図33(c)は「φ2」を示す。
上述のように、第1のフィルタリング処理F1において使用されるフィルタの周波数特性φ0は、複数種類の画像フィルタ処理の周波数特性の分布の中心(平均)に基づいて決定することが好ましい。
また他のフィルタリング処理において使用されるフィルタの周波数特性は、図31(a)及び(b)の各々に示す複数種類の画像フィルタ処理の周波数特性のバラツキ(分散)が大きい成分に応じて定められることが好ましい。したがって第2のフィルタリング処理F2において使用されるフィルタの周波数特性φ1は、複数種類の画像フィルタ処理の周波数特性のバラツキが一番目に大きい成分(図31(a)及び(b)の「H1」参照)に基づいて決定されることが好ましい。同様に、第3のフィルタリング処理F3において使用されるフィルタの周波数特性φ2は、複数種類の画像フィルタ処理の周波数特性のバラツキが二番目に大きい成分(図31(a)及び(b)の「H2」参照)に基づいて決定されることが好ましい。
図34(a)〜(b)は、図10に示す回路構成を有するフィルタリング処理部41が行う画像フィルタ処理P(第1のフィルタリング処理F1〜第3のフィルタリング処理F3)に関する周波数特性f(ω)(図34(a)参照)及びゲイン例(図34(b)参照)を示す。図34(a)に示す多峰型分布に関する周波数特性f(ω)において、「φ0 (i)(ω)」は第1のフィルタリング処理F1の第1のフィルタ適用部48−1において使用されるフィルタの周波数特性を表し、「g0」は第1のフィルタリング処理F1の第1のゲイン適用部49−1において使用されるゲインを表す。また「φ1 (i)(ω)」は第2のフィルタリング処理F2の第2のフィルタ適用部48−2において使用されるフィルタの周波数特性を表し、「g1」は第2のフィルタリング処理F2の第2のゲイン適用部49−2において使用されるゲインを表す。また「φ2 (i)(ω)」は第3のフィルタリング処理F3の第3のフィルタ適用部48−3において使用されるフィルタの周波数特性を表し、「g2」は第3のフィルタリング処理F3の第3のゲイン適用部49−3において使用されるゲインを表す。
各フィルタの周波数特性φ1 (i)(ω)〜φ3 (i)(ω)における符号「i」は、多峰型分布に従って分類されるグループを示すクラスタインデックスを表す。例えば第1のバラツキ分布G1に分類される第1の画像フィルタ処理P1〜第3の画像フィルタ処理P3には、図34(b)に示すようにクラスタインデックスiとして「1」を割り当てることができる。一方、第2のバラツキ分布G2に分類される第4の画像フィルタ処理P4〜第6の画像フィルタ処理P6には、図34(b)に示すようにクラスタインデックスiとして「2」を割り当てることができる。
なお、図34(b)には、図10に示す回路構成を有するフィルタリング処理部41の各フィルタ適用部48において使用するフィルタを固定し、また第1のフィルタリング処理F1において使用されるゲインg0を「1.0」に固定した場合に、図30に示す画像フィルタ処理P1〜P6の各々の周波数特性を図34(a)に示すシステム全体の周波数特性によって精度良く実現するためのゲインg0〜g2が例示されている。
図34(b)に示すように、上述の例によれば、複数種類の画像フィルタ処理P1〜P6の周波数特性のデータを、6個のフィルタ周波数特性φ0 (1)〜φ2 (1)、φ0 (2)〜φ2 (2)(タップ係数)と18個のゲイン(g0を「1.0」に固定する場合には12個のゲイン)とに圧縮することができる。
このように、多峰型分布に基づくフィルタの決定方法によると、多峰型分布を構成するグループ(図24に示す例では第1のバラツキ分布G1及び第2のバラツキ分布G2)の数に応じたフィルタセットが必要になる。したがって多峰型分布を利用する場合には、単峰型分布を利用する場合に比べて、予めメモリに記憶しておく必要があるフィルタの数が増え、必要とされる記憶容量も増大する。また、各フィルタと分類されるグループとを関連付けるために、上述のクラスタインデックスのような関連付け情報も予めメモリに記憶しておく必要がある。
図35は、多峰型分布に基づいてフィルタ係数を算出するフィルタ算出部77の機能構成の一例を示すブロック図である。本例のフィルタ算出部77は、多峰型分布を構成する複数のグループに画像フィルタ処理の複数種類の周波数特性を分類するために、上述の平均算出部78、分散算出部79、フィルタ特性取得部80及びタップ係数演算部81(図29参照)に加え、フィルタグループ分類部82を更に有する。
本例のフィルタグループ分類部82は、混合正規分布を基準に、複数種類の画像フィルタ処理(図30に示す例では第1の画像フィルタ処理P1〜第6の画像フィルタ処理P6)の周波数特性を、複数のフィルタグループ(図24に示す例では第1のバラツキ分布G1及び第2のバラツキ分布G2)に分類する。
図36は、フィルタグループ分類部82によって複数のフィルタグループに分類される複数種類の画像フィルタ処理(周波数特性)の概念図である。フィルタグループ分類部8
2は複数種類の画像フィルタ処理の周波数特性データの類似性を分析し、各画像フィルタ処理の周波数特性を対応のフィルタグループに分類する。上述の例では、フィルタグループ分類部82によって、第1の画像フィルタ処理P1〜第3の画像フィルタ処理P3が第1のバラツキ分布G1のフィルタグループに分類され、第4の画像フィルタ処理P4〜第6の画像フィルタ処理P6が第2のバラツキ分布G2のフィルタグループに分類される。
フィルタ算出部77を構成する他の平均算出部78、分散算出部79、フィルタ特性取得部80及びタップ係数演算部81は、複数のフィルタグループに分類された複数種類の画像フィルタ処理の周波数特性のうち複数のフィルタグループの各々に含まれる複数種類の画像フィルタ処理の周波数特性に基づいて、複数のフィルタグループの各々に関する基準フィルタhb及び少なくとも一つの分散フィルタhvを取得する。
上述の例によれば、複数種類の画像フィルタ処理の周波数特性のバラツキの分布が既知である場合に、そのバラツキをカバーするのに最適なフィルタを精度良く設計することができる。特に、複数種類の画像フィルタ処理の周波数特性のバラツキの分布に応じて、単峰型分布及び多峰型分布のうち適切な分布タイプが選択されることにより、目的とする画像フィルタ処理の周波数特性を精度良く再現することが可能なフィルタ(フィルタ係数)及びゲインを取得することができる。
上述のように本実施形態によれば、フィルタ数(データ量)を低減することができ、全ての条件に関するFIRフィルタ(フィルタ係数(タップ係数))を保持することを避けることができ、平均的に良好なフィルタを使った画像フィルタ処理を行うことができる。
<FIRフィルタの設計>
次に、タップ数に制限が設けられるFIRフィルタの設計手法について説明する。
上述の方法によってフィルタの周波数特性を柔軟に調整することにより、複数種類の画像フィルタ処理の周波数特性のバラツキを有効にカバーするのに最適なフィルタを設計することができる。しかしながら、実際に使用するフィルタをタップ数に制限が設けられるFIRフィルタによって実現する場合には、所望の周波数特性を理想的に得ることは難しい。
一般に、急峻な周波数特性を少ないタップ数により実現することは非常に困難である。特に小さな固有値に対応する固有ベクトルは、急峻なギザギザ形状を持つ傾向がある。したがって、上述の方法によってフィルタの理想的な周波数特性が取得されても、実際に使用されるフィルタのタップ数が十分に用意されていない場合には、複数種類の画像フィルタ処理の周波数特性のバラツキを十分にカバーすることが難しくなる。
この問題は、基底が非線形であってパラメトリックな関数に関し、あるベクトルをなるべく少ない数の基底の線形和によって近似することを目的として基底のパラメータを決める問題と類似する。このような問題を解決するための様々な手法が提案されている。例えばSAGEアルゴリズムは、電波伝搬における到来波解析などに用いられるアルゴリズムであり、EMアルゴリズムの考え方に基づいて、残差を最小にするように基底を一つずつ求める方法である。またOMPアルゴリズムは、Compressed Sensingの分野においてovercomplete dictionaryを用いたスパースな係数ベクトルを求める場合に用いられるアルゴリズムである。OMPの手法自体はパラメトリックな基底を求める方法ではないが、OMPにおけるdictionaryから選ぶという状況設定を、パラメトリックな基底関数から近いものを選ぶという状況設定に変えることによって、OMPの手法をFIRフィルタの設計に応用することが可能である。
SAGEアルゴリズム及びOMPアルゴリズムの具体的な演算方法例については後述するが、フィルタ算出部77のタップ係数演算部81(図29及び図35参照)は、これらのアルゴリズムに基づいて、複数種類の画像フィルタ処理の周波数特性の分散を示すバラツキ分布関数であって基準フィルタhbの各タップに割り当てられる係数に基づいて定められるバラツキ分布関数(後述の共分散行列「Ri」参照)から、少なくとも一つの分散フィルタhvの各タップに割り当てられる係数を算出することができる。
後述のSAGEアルゴリズム及びOMPアルゴリズムによれば、フィルタ算出部77のタップ係数演算部81は、「I」を2以上の整数とした場合に、1番目からI番目までの分散フィルタhvを取得し、1番目の分散フィルタhvの各タップに割り当てられる係数を、基準フィルタhbの各タップに割り当てられる係数に基づいて定められるバラツキ分布関数から算出する。またフィルタ算出部77のタップ係数演算部81は、「J」を2以上且つI以下の整数とした場合に、J番目の分散フィルタhvの各タップに割り当てられる係数を、基準フィルタhbの各タップに割り当てられる係数と1番目からJ−1番目までの分散フィルタhvの各々の各タップに割り当てられる係数とに基づいて定められるバラツキ分布関数から算出する。
SAGEアルゴリズムでは、さらに、フィルタ算出部77のタップ係数演算部81は、複数種類の画像フィルタ処理の周波数特性の分散を示すバラツキ分布関数であって、基準フィルタhb及び少なくとも一つの分散フィルタhvの各々の各タップに割り当てられる係数に基づいて定められる残差成分を示すバラツキ分布関数(後述の共分散行列「Qj」参照)に基づいて、基準フィルタhb及び少なくとも一つの分散フィルタhvのうちの少なくともいずれかの各タップに割り当てられる係数を更新する。
なお、SAGEアルゴリズム及びOMPアルゴリズムは様々な文献において説明されており、例えば非特許文献1、非特許文献2及び非特許文献3を参照することができる。ただし、SAGEアルゴリズム及びOMPアルゴリズムの両者とも、ベクトルの基底分解を目的としており、本来的にはフィルタ設計における部分空間近似を扱うものではないため、算出式に適宜修正を加える必要がある。
<OMPアルゴリズムを応用した最適フィルタ群の算出>
以下、OMPアルゴリズムに基づくフィルタ設計の一例について説明する。下述の各ステップの処理は、基本的にはフィルタ算出部77(タップ係数演算部81)において行われるが、各ステップの処理の一部又は全部が他部において行われてもよい。
以下では単峰型分布を前提とするケースについて説明する。なお、多峰型分布を前提とするケースに関しては、上述のように単峰型分布を前提とするケースを応用することができる。すなわち複数のフィルタグループ(図24に示す例では第1のバラツキ分布G1及び第2のバラツキ分布G2)の各々を単峰型分布のバラツキ分布Gとして扱うことにより、多峰型分布を前提するケースにも対応することが可能である。
・ステップ1
まず、上述の「Ψ0」により表される複数種類の画像フィルタ処理の周波数特性の平均(中心値)を最良に近似するFIRフィルタのタップ係数が任意の手法により取得され、そのタップ係数によって実際に実現されるフィルタの周波数特性を「第1のフィルタリング処理F1において使用されるフィルタの周波数特性φ0」とする。
・ステップ2
上記の「第1のフィルタリング処理F1で実際に使用されるフィルタの周波数特性φ0」を複数種類の画像フィルタ処理の周波数特性の平均(中心値)と仮定した場合の共分散行列R0を、下記式に基づいて算出する。
・ステップ3
下記式のように、共分散行列R0が共分散行列R1として設定され、パラメータ「i」が「1」に設定される。
・ステップ4
共分散行列Riの最大の固有値に対応する固有ベクトルΨiが、上述の手法によって求められる。
・ステップ5
固有ベクトルΨiの周波数特性を最良に近似するFIRフィルタのタップ係数が任意の手法により取得され、そのタップ係数によって実際に実現されるフィルタの周波数特性が「φi」に設定される。この周波数特性φiを持つフィルタは、第「i+1」のフィルタリング処理において使用されるフィルタに対応し、例えば「i=1」であれば第2のフィルタリング処理F2において使用されるフィルタの周波数特性φ2が求められる。この「φi+1」に関するフィルタのタップ係数は、図示しないメモリに記憶される。
・ステップ6
既に求められた「φ1〜φi」を基底として、その基底の張る部分空間によって表現可能な成分が共分散行列から除外され、残差が算出される。例えば「i」を3以上の整数として「Φi=[φ1 φ2…φi]」と定義すると、span{φ1,φ2,…,φi}への正射影行列は、ΦiのMoore−Penrose一般逆を「Φi +」を用いて表すと、「ΦiΦi +」により表される。この正射影行列ΦiΦi +を用いると共分散行列「Ri+1」は下記式によって表される。
・ステップ7
下記式のように「i=i+1」として「i」を新たに設定し、「i=N−1」となるまで「ステップ4」〜「ステップ7」を繰り返す。このようにしてフィルタの周波数特性φ1〜φN−1が求められる。
<SAGEアルゴリズムを応用した最適フィルタ群の算出>
次に、SAGEアルゴリズムに基づくフィルタ設計の一例について説明する。以下では単峰型分布を前提とするケースについて説明するが、多峰型分布を前提とするケースにも本例を応用することができる点は上述のOMPアルゴリズムと同様である。
SAGEアルゴリズムは、上述のステップ6における共分散行列の残差の更新が単に選ばれた基底(FIRフィルタ)の減算に基づくものになっている点と、全ての基底が一旦求められた後もそれぞれの基底について個別に更新が続けられる点とで、OMPアルゴリズムと異なる。
より具体的には、上述のOMPアルゴリズムのステップ1〜ステップ5は、SAGEアルゴリズムにおいても同様に行われる。ただし、上述のOMPアルゴリズムのステップ6において用いられる共分散行列「Ri+1」が、SAGEアルゴリズムでは下記式によって求められる。
上述のOMPアルゴリズムのステップ7は、SAGEアルゴリズムにおいても同様に行われる。ただしSAGEアルゴリズムでは、ステップ7以降に、下記のステップ8〜ステップ12が行われる。
・ステップ8
下記式によって表されるように、パラメータ「j」が初期値「1」に設定される。
・ステップ9
下記式によって表されるように、j番目の基底を取り除いた基底の張る部分空間よって表現可能な成分が共分散行列から除外され、残差が算出される。
・ステップ10
上記式によって表される残差成分を示す共分散行列Qjの最大の固有値に対応する固有ベクトルΨjが、上述の手法に従って求められる。
・ステップ11
固有ベクトルΨjの周波数特性を最良に近似するFIRフィルタのタップ係数が任意の手法によって取得され、そのタップ係数によって実際に実現されるフィルタの周波数特性が「φj」に設定される。これにより第「j+1」のフィルタリング処理において使用されるフィルタの周波数特性φj(タップ係数)が更新され、図示しないメモリに記憶される。
・ステップ12
下記式によって定義される全体の近似誤差「JTOTAL」が特定の目標範囲内となるか、若しくはループ回数(計算時間)が特定の上限に達するまで、下記式によって表されるようにパラメータ「j」を変えながら「ステップ9」〜「ステップ12」が繰り返し行われる。
上述のSAGEアルゴリズム又はOMPアルゴリズムを利用することによって、複数種類の画像フィルタ処理の周波数特性のバラツキ(例えば平均及び分散)が把握可能であればFIRフィルタのタップ係数を精度良く設計することができる。また、個別の具体的な画像フィルタ処理の周波数特性の把握に先立って、画像フィルタ処理(複数のフィルタリング処理)において実際に使用可能なフィルタのタップ係数を決めることができる。
<他の変形例>
上述の各機能構成は、任意のハードウェア、ソフトウェア、或いは両者の組み合わせによって実現可能である。例えば、上述の各装置及び処理部における画像処理方法(画像処理手順及び機能)、ゲイン取得方法(ゲイン取得処理手順及び機能)及びフィルタ取得方法(フィルタ取得処理手順及び機能)をコンピュータに実行させるプログラム、そのプログラムを記録したコンピュータ読み取り可能な記録媒体(非一時的記録媒体)、或いはそのプログラムをインストール可能なコンピュータに対しても本発明を適用することができる。
また画像フィルタ処理(複数回のフィルタリング処理)の目的も特に限定されず、各フィルタリング処理(各フィルタ適用部48)では、画質改善を目的とする点拡がり関数に基づく復元フィルタや輪郭強調フィルタ、特殊効果の付与を目的とするアートフィルタやぼかしフィルタ、等の各種のフィルタが用いられてもよい。
<EDoFシステムへの応用例>
例えば、拡大された被写界(焦点)深度(EDoF:Extended Depth of Field(Focus))を有する光学系(撮影レンズ等)によって撮影取得された画像データ(原画像データD1)に対する復元処理に対しても、本発明に係る画像フィルタ処理を適用することが可能である。EDoF光学系によって被写界深度(焦点深度)が拡大された状態において撮影取得されるボケ画像の画像データに対して復元処理を行うことにより、広範囲でピントが合った状態の高解像度の画像データを復元生成することができる。この場合、EDoF光学系の光学伝達関数(PSF、OTF、MTF、PTF、等)に基づく復元フィルタであって、拡大された被写界深度(焦点深度)の範囲内において良好な画像復元が可能となるように設定されたフィルタ係数を有する復元フィルタを用いた復元処理が行われる。
以下に、EDoF光学系を介して撮影取得された画像データの復元に関するシステム(EDoFシステム)の一例について説明する。なお、以下に示す例では、デモザイク処理後の画像データ(RGBデータ)から得られる輝度信号(Yデータ)に対して復元処理を行う例について説明するが、復元処理を行うタイミングは特に限定されず、例えば「デモザイク処理前の画像データ(モザイク画像データ)」や「デモザイク処理後であって輝度信号変換処理前の画像データ(デモザイク画像データ)」に対して復元処理が行われてもよい。
図37は、EDoF光学系を備える撮像モジュール101の一形態を示すブロック図である。本例の撮像モジュール(デジタルカメラ等)101は、EDoF光学系(レンズユニット)110と、撮像素子112と、AD変換部114と、復元処理ブロック(画像処理部35)120とを含む。
図38は、EDoF光学系110の一例を示す図である。本例のEDoF光学系110は、単焦点の固定された撮影レンズ110Aと、瞳位置に配置される光学フィルタ111とを有する。光学フィルタ111は、位相を変調させるもので、拡大された被写界深度(焦点深度)(EDoF)が得られるようにEDoF光学系110(撮影レンズ110A)をEDoF化する。このように、撮影レンズ110A及び光学フィルタ111は、位相を変調して被写界深度を拡大させるレンズ部を構成する。
なお、EDoF光学系110は必要に応じて他の構成要素を含み、例えば光学フィルタ111の近傍には絞り(図示省略)が配設されている。また、光学フィルタ111は、1枚でもよいし、複数枚を組み合わせたものでもよい。また、光学フィルタ111は、光学的位相変調手段の一例に過ぎず、EDoF光学系110(撮影レンズ110A)のEDoF化は他の手段によって実現されてもよい。例えば、光学フィルタ111を設ける代わりに、本例の光学フィルタ111と同等の機能を有するようにレンズ設計された撮影レンズ110AによってEDoF光学系110のEDoF化を実現してもよい。
すなわち、撮像素子112の受光面への結像の波面を変化させる各種の手段によって、EDoF光学系110のEDoF化を実現することが可能である。例えば、「厚みが変化する光学素子」、「屈折率が変化する光学素子(屈折率分布型波面変調レンズ等)」、「レンズ表面へのコーディング等により厚みや屈折率が変化する光学素子(波面変調ハイブリッドレンズ、レンズ面上に位相面として形成される光学素子、等)」、「光の位相分布を変調可能な液晶素子(液晶空間位相変調素子等)」を、EDoF光学系110のEDoF化手段として採用しうる。このように、光波面変調素子(光学フィルタ111(位相板))によって規則的に分散した画像形成が可能なケースだけではなく、光波面変調素子を用いた場合と同様の分散画像を、光波面変調素子を用いずに撮影レンズ110A自体によって形成可能なケースに対しても、本発明は応用可能である。
図38に示すEDoF光学系110は、メカ的に焦点調節を行う焦点調節機構を省略することができるため小型化が可能であり、カメラ付き携帯電話や携帯情報端末に好適に搭載可能である。
EDoF化されたEDoF光学系110を通過後の光学像は、図37に示す撮像素子112に結像され、ここで電気信号に変換される。
撮像素子112は、所定のパターン配列(ベイヤー配列、GストライプR/G完全市松、X−Trans配列、ハニカム配列、等)によりマトリクス状に配置された複数画素によって構成され、各画素はマイクロレンズ、カラーフィルタ(本例ではRGBカラーフィルタ)及びフォトダイオードを含んで構成される。EDoF光学系110を介して撮像素子112の受光面に入射した光学像は、その受光面に配列された各フォトダイオードにより入射光量に応じた量の信号電荷に変換される。そして、各フォトダイオードに蓄積されたR、G、Bの信号電荷は、画素毎の電圧信号(画像信号)として順次出力される。
AD変換部114は、撮像素子112から画素毎に出力されるアナログのR、G、B画像信号をデジタルのRGB画像信号に変換する。AD変換部114によりデジタルの画像信号に変換されたデジタル画像信号は、復元処理ブロック120に加えられる。
復元処理ブロック120は、例えば、黒レベル調整部122と、ホワイトバランスゲイン部123と、ガンマ処理部124と、デモザイク処理部125と、RGB/YCrCb変換部126と、Y信号復元処理部127とを含む。
黒レベル調整部122は、AD変換部114から出力されたデジタル画像信号に黒レベル調整を施す。黒レベル調整には、公知の方法が採用されうる。例えば、ある有効光電変換素子に着目した場合、その有効光電変換素子を含む光電変換素子行に含まれる複数のOB光電変換素子の各々に対応する暗電流量取得用信号の平均を求め、その有効光電変換素子に対応する暗電流量取得用信号からこの平均を減算することによって、黒レベル調整が行われる。
ホワイトバランスゲイン部123は、黒レベルデータが調整されたデジタル画像信号に含まれるRGB各色信号のホワイトバランスゲインに応じたゲイン調整を行う。
ガンマ処理部124は、ホワイトバランス調整されたR、G、B画像信号が所望のガンマ特性となるように中間調等の階調補正を行うガンマ補正を行う。
デモザイク処理部125は、ガンマ補正後のR、G、B画像信号にデモザイク処理を施す。具体的には、デモザイク処理部125は、R、G、Bの画像信号に色補間処理を施すことにより、撮像素子112の各受光画素から出力される一組の画像信号(R信号、G信号、B信号)を生成する。すなわち、色デモザイク処理前は、各受光画素からの画素信号はR、G、Bの画像信号のいずれかであるが、色デモザイク処理後は、各受光画素に対応するR、G、B信号の三つの画素信号の組が出力されることになる。
RGB/YCrCb変換部126は、デモザイク処理された画素毎のR、G、B信号を、輝度信号Yと色差信号Cr、Cbに変換し、画素毎の輝度信号Y及び色差信号Cr、Cbを出力する。
Y信号復元処理部127は、予め記憶された復元フィルタに基づいて、RGB/YCrCb変換部126からの輝度信号Yに復元処理を行う。復元フィルタは、例えば、7×7のカーネルサイズを有するデコンボリューションカーネル(M=7、N=7のタップ数に対応)と、そのデコンボリューションカーネルに対応する演算係数(復元ゲインデータ、フィルタ係数に対応)とからなり、光学フィルタ111の位相変調分のデコンボリューション処理(逆畳み込み演算処理)に使用される。なお、復元フィルタは、光学フィルタ111に対応するものが図示しないメモリ(例えばY信号復元処理部127が付随的に設けられるメモリ)に記憶される。また、デコンボリューションカーネルのカーネルサイズは、7×7のものに限らない。なお、Y信号復元処理部127は、上述した画像処理部35における鮮鋭化処理の機能を有する。
次に、復元処理ブロック120による復元処理について説明する。図39は、図37に示す復元処理ブロック120による復元処理フローの一例を示す図である。
黒レベル調整部122の一方の入力には、AD変換部114からデジタル画像信号が加えられており、他の入力には黒レベルデータが加えられており、黒レベル調整部122は、デジタル画像信号から黒レベルデータを減算し、黒レベルデータが減算されたデジタル画像信号をホワイトバランスゲイン部123に出力する(S41)。これにより、デジタル画像信号には黒レベル成分が含まれなくなり、黒レベルを示すデジタル画像信号は0になる。
黒レベル調整後の画像データに対し、順次、ホワイトバランスゲイン部123、ガンマ処理部124による処理が施される(S42及びS43)。
ガンマ補正されたR、G、B信号は、デモザイク処理部125においてデモザイク処理された後に、RGB/YCrCb変換部126において輝度信号Yと色差信号Cr、Cbに変換される(S44)。
Y信号復元処理部127は、輝度信号Yに、EDoF光学系110の光学フィルタ111の位相変調分のデコンボリューション処理を適用する復元処理を行う(S45)。すなわち、Y信号復元処理部127は、任意の処理対象の画素を中心とする所定単位の画素群に対応する輝度信号(ここでは7×7画素の輝度信号)と、予めメモリなどに記憶されている復元フィルタ(7×7のデコンボリューションカーネルとその演算係数)とのデコンボリューション処理(逆畳み込み演算処理)を行う。Y信号復元処理部127は、この所定単位の画素群毎のデコンボリューション処理を撮像面の全領域をカバーするよう繰り返すことにより画像全体の像ボケを取り除く復元処理を行う。復元フィルタは、デコンボリューション処理を施す画素群の中心の位置に応じて定められている。すなわち、近接する画素群には、共通の復元フィルタが適用される。さらに復元処理を簡略化するためには、全ての画素群に共通の復元フィルタが適用されることが好ましい。
図40(a)に示すように、EDoF光学系110を通過後の輝度信号の点像(光学像)は、大きな点像(ボケた画像)として撮像素子112に結像されるが、Y信号復元処理部127でのデコンボリューション処理により、図40(b)に示すように小さな点像(高解像度の画像)に復元される。
上述のようにデモザイク処理後の輝度信号に復元処理を適用することで、復元処理のパラメータをRGB別々に持つ必要がなくなり、復元処理を高速化することができる。また、飛び飛びの位置にあるR、G、Bの画素に対応するR、G、Bの画像信号をそれぞれ1単位にまとめてデコンボリューション処理するのでなく、近接する画素の輝度信号同士を所定の単位にまとめ、その単位には共通の復元フィルタを適用してデコンボリューション処理するため、復元処理の精度が向上する。なお、色差信号Cr、Cbについては、人の目による視覚の特性上、復元処理によって解像度を上げなくても画質的には許容される。また、JPEGのような圧縮形式によって画像を記録する場合、色差信号は輝度信号よりも高い圧縮率により圧縮されるので、復元処理によって解像度を上げる必要性が乏しい。こうして、復元精度の向上と処理の簡易化及び高速化を両立できる。
以上説明したようなEDoFシステムの復元処理に対しても、上述の実施形態に係る画像フィルタ処理を適用することが可能である。
また、本発明を適用可能な態様はデジタルカメラ及びコンピュータ(サーバ)には限定されず、撮像を主たる機能とするカメラ類の他に、撮像機能に加えて撮像以外の他の機能(通話機能、通信機能、その他のコンピュータ機能)を備えるモバイル機器類に対しても本発明を適用することが可能である。本発明を適用可能な他の態様としては、例えば、カメラ機能を有する携帯電話機やスマートフォン、PDA(Personal Digital Assistants)、携帯型ゲーム機が挙げられる。以下、本発明を適用可能なスマートフォンの一例について説明する。
<スマートフォンへの応用例>
図41は、スマートフォン201の外観を示す図である。図41に示すスマートフォン201は、平板状の筐体202を有し、筐体202の一方の面に表示部としての表示パネル221と、入力部としての操作パネル222とが一体となった表示入力部220を備えている。また、係る筐体202は、スピーカ231と、マイクロホン232、操作部240と、カメラ部241とを備えている。なお、筐体202の構成はこれに限定されず、例えば、表示部と入力部とが独立した構成を採用したり、折り畳み構造やスライド機構を有する構成を採用することもできる。
図42は、図41に示すスマートフォン201の構成を示すブロック図である。図42に示すように、スマートフォンの主たる構成要素として、無線通信部210と、表示入力部220と、通話部230と、操作部240と、カメラ部241と、記憶部250と、外部入出力部260と、GPS(Global Positioning System)受信部270と、モーションセンサ部280と、電源部290と、主制御部200(上述の本体コントローラ25が含まれる)とを備える。また、スマートフォン201の主たる機能として、基地局装置BSと移動通信網NWとを介した移動無線通信を行う無線通信機能を備える。
無線通信部210は、主制御部200の指示に従って、移動通信網NWに収容された基地局装置BSに対し無線通信を行うものである。係る無線通信を使用して、音声データ、画像データ等の各種ファイルデータ、電子メールデータなどの送受信や、Webデータやストリーミングデータなどの受信を行う。
表示入力部220は、主制御部200の制御により、画像(静止画像及び動画像)や文字情報などを表示して視覚的にユーザに情報を伝達し、表示した情報に対するユーザ操作を検出する、いわゆるタッチパネルであって、表示パネル221と、操作パネル222とを備える。
表示パネル221は、LCD(Liquid Crystal Display)、OELD(Organic Electro−Luminescence Display)などを表示デバイスとして用いたものである。操作パネル222は、表示パネル221の表示面上に表示される画像を視認可能に載置され、ユーザの指や尖筆によって操作される一又は複数の座標を検出するデバイスである。係るデバイスをユーザの指や尖筆によって操作すると、操作に起因して発生する検出信号を主制御部200に出力する。次いで、主制御部200は、受信した検出信号に基づいて、表示パネル221上の操作位置(座標)を検出する。
図41に示すように、本発明の撮像装置の一実施形態として例示しているスマートフォン201の表示パネル221と操作パネル222とは一体となって表示入力部220を構成しているが、操作パネル222が表示パネル221を完全に覆うような配置となっている。係る配置を採用した場合、操作パネル222は、表示パネル221外の領域についても、ユーザ操作を検出する機能を備えてもよい。換言すると、操作パネル222は、表示パネル221に重なる重畳部分についての検出領域(以下、表示領域と称する)と、それ以外の表示パネル221に重ならない外縁部分についての検出領域(以下、非表示領域と称する)とを備えていてもよい。
なお、表示領域の大きさと表示パネル221の大きさとを完全に一致させてもよいが、両者を必ずしも一致させる必要はない。また、操作パネル222が、外縁部分と、それ以外の内側部分の二つの感応領域を備えていてもよい。更に、外縁部分の幅は、筐体202の大きさなどに応じて適宜設計されるものである。更にまた、操作パネル222において採用される位置検出方式としては、マトリクススイッチ方式、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式などが挙げられ、いずれの方式を採用することもできる。
通話部230は、スピーカ231やマイクロホン232を備え、マイクロホン232を通じて入力されたユーザの音声を主制御部200にて処理可能な音声データに変換して主制御部200に出力したり、無線通信部210或いは外部入出力部260により受信された音声データを復号してスピーカ231から出力するものである。また、図41に示すように、例えば、スピーカ231を表示入力部220が設けられた面と同じ面に搭載し、マイクロホン232を筐体202の側面に搭載することができる。
操作部240は、キースイッチなどを用いたハードウェアキーであって、ユーザからの指示を受け付けるものである。例えば、図41に示すように、操作部240は、スマートフォン201の筐体202の側面に搭載され、指などによって押下されるとオンとなり、指を離すとバネなどの復元力によってオフ状態となる押しボタン式のスイッチである。
記憶部250は、主制御部200の制御プログラムや制御データ、アプリケーションソフトウェア、通信相手の名称や電話番号などを対応付けたアドレスデータ、送受信した電子メールのデータ、WebブラウジングによりダウンロードしたWebデータや、ダウンロードしたコンテンツデータを記憶し、またストリーミングデータなどを一時的に記憶するものである。また、記憶部250は、スマートフォン内蔵の内部記憶部251と着脱自在な外部メモリスロットを有する外部記憶部252により構成される。なお、記憶部250を構成するそれぞれの内部記憶部251と外部記憶部252は、フラッシュメモリタイプ(flash memory type)、ハードディスクタイプ(hard disk type)、マルチメディアカードマイクロタイプ(multimedia card micro type)、カードタイプのメモリ(例えば、MicroSD(登録商標)メモリ等)、RAM(Random Access Memory)、ROM(Read Only Memory)などの格納媒体を用いて実現される。
外部入出力部260は、スマートフォン201に連結される全ての外部機器とのインターフェースの役割を果たすものであり、他の外部機器に通信等(例えば、ユニバーサルシリアルバス(USB)、IEEE1394など)又はネットワーク(例えば、インターネット、無線LAN、ブルートゥース(Bluetooth)(登録商標)、RFID(Radio Frequency Identification)、赤外線通信(Infrared Data Association:IrDA)(登録商標)、UWB(Ultra Wideband)(登録商標)、ジグビー(ZigBee)(登録商標)など)により直接的又は間接的に接続するためのものである。
スマートフォン201に連結される外部機器としては、例えば、有/無線ヘッドセット、有/無線外部充電器、有/無線データポート、カードソケットを介して接続されるメモリカード(Memory card)やSIM(Subscriber Identity Module Card)/UIM(User Identity Module Card)カード、オーディオ・ビデオI/O(Input/Output)端子を介して接続される外部オーディオ・ビデオ機器、無線接続される外部オーディオ・ビデオ機器、有/無線接続されるスマートフォン、有/無線接続されるパーソナルコンピュータ、有/無線接続されるPDA、有/無線接続されるイヤホンなどがある。外部入出力部は、このような外部機器から伝送を受けたデータをスマートフォン201の内部の各構成要素に伝達することや、スマートフォン201の内部のデータを外部機器に伝送することが可能である。
GPS受信部270は、主制御部200の指示に従って、GPS衛星ST1〜STnから送信されるGPS信号を受信し、受信した複数のGPS信号に基づく測位演算処理を実行し、スマートフォン201の緯度、経度、高度からなる位置を検出する。GPS受信部270は、無線通信部210や外部入出力部260(例えば、無線LAN)から位置情報を取得できる時には、その位置情報を用いて位置を検出することもできる。
モーションセンサ部280は、例えば、3軸の加速度センサなどを備え、主制御部200の指示に従って、スマートフォン201の物理的な動きを検出する。スマートフォン201の物理的な動きを検出することにより、スマートフォン201の動く方向や加速度が検出される。係る検出結果は、主制御部200に出力されるものである。
電源部290は、主制御部200の指示に従って、スマートフォン201の各部に、バッテリ(図示しない)に蓄えられる電力を供給するものである。
主制御部200は、マイクロプロセッサを備え、記憶部250が記憶する制御プログラムや制御データに従って動作し、スマートフォン201の各部を統括して制御するものである。また、主制御部200は、無線通信部210を通じて、音声通信やデータ通信を行うために、通信系の各部を制御する移動通信制御機能と、アプリケーション処理機能を備える。
アプリケーション処理機能は、記憶部250が記憶するアプリケーションソフトウェアに従って主制御部200が動作することにより実現するものである。アプリケーション処理機能としては、例えば、外部入出力部260を制御して対向機器とデータ通信を行う赤外線通信機能や、電子メールの送受信を行う電子メール機能、Webページを閲覧するWebブラウジング機能などがある。
また、主制御部200は、受信データやダウンロードしたストリーミングデータなどの画像データ(静止画像や動画像のデータ)に基づいて、映像を表示入力部220に表示する等の画像処理機能を備える。画像処理機能とは、主制御部200が、上記画像データを復号し、係る復号結果に画像処理を施して、画像を表示入力部220に表示する機能のことをいう。
更に、主制御部200は、表示パネル221に対する表示制御と、操作部240、操作パネル222を通じたユーザ操作を検出する操作検出制御を実行する。
表示制御の実行により、主制御部200は、アプリケーションソフトウェアを起動するためのアイコンや、スクロールバーなどのソフトウェアキーを表示したり、或いは電子メールを作成するためのウィンドウを表示する。なお、スクロールバーとは、表示パネル221の表示領域に収まりきれない大きな画像などについて、画像の表示部分を移動する指示を受け付けるためのソフトウェアキーのことをいう。
また、操作検出制御の実行により、主制御部200は、操作部240を通じたユーザ操作を検出したり、操作パネル222を通じて、上記アイコンに対する操作や、上記ウィンドウの入力欄に対する文字列の入力を受け付けたり、或いは、スクロールバーを通じた表示画像のスクロール要求を受け付ける。
更に、操作検出制御の実行により主制御部200は、操作パネル222に対する操作位置が、表示パネル221に重なる重畳部分(表示領域)か、それ以外の表示パネル221に重ならない外縁部分(非表示領域)かを判定し、操作パネル222の感応領域や、ソフトウェアキーの表示位置を制御するタッチパネル制御機能を備える。
また、主制御部200は、操作パネル222に対するジェスチャ操作を検出し、検出したジェスチャ操作に応じて、予め設定された機能を実行することもできる。ジェスチャ操作とは、従来の単純なタッチ操作ではなく、指などによって軌跡を描いたり、複数の位置を同時に指定したり、或いはこれらを組み合わせて、複数の位置から少なくとも一つについて軌跡を描く操作を意味する。
カメラ部241は、CMOSやCCDなどの撮像素子を用いて電子撮影するデジタルカメラである。また、カメラ部241は、主制御部200の制御により、撮像によって得た画像データを例えばJPEGなどの圧縮した画像データに変換し、記憶部250に記録したり、外部入出力部260や無線通信部210を通じて出力することができる。図41に示すにスマートフォン201において、カメラ部241は表示入力部220と同じ面に搭載されているが、カメラ部241の搭載位置はこれに限らず、表示入力部220の背面に搭載されてもよいし、或いは、複数のカメラ部241が搭載されてもよい。なお、複数のカメラ部241が搭載されている場合、撮影に供するカメラ部241を切り替えて単独にて撮影したり、或いは、複数のカメラ部241を同時に使用して撮影することもできる。
また、カメラ部241はスマートフォン201の各種機能に利用することができる。例えば、表示パネル221にカメラ部241において取得した画像を表示することや、操作パネル222の操作入力の一つとして、カメラ部241の画像を利用することができる。また、GPS受信部270が位置を検出する際に、カメラ部241からの画像を参照して位置を検出することもできる。更には、カメラ部241からの画像を参照して、3軸の加速度センサを用いずに、或いは、3軸の加速度センサと併用して、スマートフォン201のカメラ部241の光軸方向を判断することや、現在の使用環境を判断することもできる。勿論、カメラ部241からの画像をアプリケーションソフトウェア内において利用することもできる。
その他、静止画又は動画の画像データにGPS受信部270により取得した位置情報、マイクロホン232により取得した音声情報(主制御部等により、音声テキスト変換を行ってテキスト情報となっていてもよい)、モーションセンサ部280により取得した姿勢情報等などを付加して記憶部250に記録したり、外部入出力部260や無線通信部210を通じて出力することもできる。
上述の画像処理部35(フィルタリング処理部41)は、例えば主制御部200によって実現可能である。
本発明は上述した実施形態に限定されず、本発明の精神を逸脱しない範囲で種々の変形が可能であることは言うまでもない。