添付図面を参照して本発明の実施形態について説明する。以下の実施形態では、一例として、コンピュータ(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に記憶されるゲインテーブル情報を参照し、原画像データD1を取得した際の撮影条件に関連付けられている候補データを、複数回のフィルタリング処理の各々においてフィルタ適用処理データに適用されるゲインとして特定し、フィルタリング処理部41に送る。本例のゲイン特定部43は、画像フィルタ処理の対象となっている原画像データ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を取得する際に用いられた光学系の光学特性であって原画像データD1を取得する際の撮影条件に応じた光学特性を示すデータを取得し、この光学特性を示すデータに基づいて画像フィルタ処理の目標とする周波数特性を特定し、特定されるこの「画像フィルタ処理の目標とする周波数特性」に基づいて、複数回のフィルタリング処理の各々においてフィルタ適用処理データに適用されるゲインを取得し、その取得したゲインをフィルタリング処理部41に供給する。
なお、ここでいう「原画像データD1を取得する際に用いられた光学系の光学特性」を示すデータとは、例えば原画像データD1の撮影取得の際に使用したレンズユニット11(光学系)の種類を表すデータ(例えば型番等)である。また「原画像データD1を取得する際の撮影条件に応じた光学特性を示すデータ」とは、例えば原画像データD1を取得した際の撮影条件を表すデータ(例えばF値等)である。ゲイン取得部45によるこれらのデータの取得手法は特に限定されず、ゲイン取得部45は、例えば本体コントローラ25の図示しないメモリに保持されているレンズユニット11の情報及び撮影条件情報から光学系の種類及び撮影条件のデータを取得してもよい。
このゲイン取得部45は、図4に示すように画像処理部35の一部として設けられてもよいし、図5に示すように画像処理部35とは別の処理部として設けられてもよい。
なお図4及び図5に示す例においても、上述の画像フィルタ処理以外の画像処理が、フィルタリング処理部41の前段に設けられる前処理部40で行われてもよいし、フィルタリング処理部41の後段に設けられる後処理部42で行われてもよい。
次に、フィルタリング処理部41で行われる画像フィルタ処理(複数回のフィルタリング処理)の具体例について説明する。
フィルタリング処理で使用されるフィルタが光学系の光学特性に基づいて定められる場合、一般の画像フィルタ処理では、「第1の撮影条件下での光学系の光学特性」と「第2の撮影条件下での光学系の光学特性」とが異なれば、第1の撮影条件下で撮影された画像のフィルタリング処理では第1の撮影条件に応じたフィルタが使用され、第2の撮影条件下で撮影された画像のフィルタリング処理では第2の撮影条件に応じたフィルタが使用されることが好ましい。この場合、撮影条件毎にフィルタを準備することが求められるが、撮影条件として光学系の光学特性に影響を及ぼしうるファクタが複数存在する場合には準備すべきフィルタの数及びデータ量が膨大になる。例えば上述の光学特性が点拡がり関数に基づくものであって点拡がり関数に基づくフィルタリング処理が行われる場合には、F値、ズーム値、被写体距離、フォーカス位置、光学系種別、撮像素子24のセンサSN比、像高(画像内位置)及び光学系個体差などの撮影条件によって点拡がり関数は変動しうるため、理想的には、これらの撮影条件の全ての組み合わせに対応するフィルタ(タップ係数)を準備する必要がある。
そのような画像フィルタ処理に必要なデータ量の肥大化を防ぐため、以下の実施形態では、全ての撮影条件の組み合わせに対応するフィルタを保持する代わりに、複数回のフィルタリング処理を適用し、各フィルタリング処理で使用するゲインを撮影条件に応じて調整することで、処理対象の原画像データの撮影条件に適合する画像フィルタ処理が実現される。
図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の画像フィルタ処理Pでは、後述のように、ゲインを調整することでフィルタリング処理が高精度に行われる。
またこの場合、代表的な撮影条件は、第1の指標条件が異なる複数の撮影条件であって、原画像データの撮影の際に採用可能な複数の第1の指標条件のうち連続しない第1の指標条件に基づく複数の撮影条件を含むことが好ましい。例えば光学系の点拡がり関数に応じてフィルタを定めるケースにおいて、点拡がり関数に影響を及ぼしうるF値、ズーム値、被写体距離、フォーカス位置、光学系種別、撮像素子24のセンサSN比、像高(画像内位置)及び光学系個体差などの撮影条件の中から選択される任意の一要素を第1の指標条件として設定しうる。
図8は、原画像データの撮影の際に採用可能なF値と代表的なF値との関係例を示す図である。例えば光学系の点拡がり関数に応じてフィルタを定めるケースでは、撮影条件としてF値が変われば光学系の点拡がり関数も変動するのが通常である。撮影条件(第1の指標条件)として原画像データの撮影の際に採用可能なF値が複数(図8に示す例ではF1〜F45まで計12個)ある場合に、これらの採用可能なF値の中から選択される代表的なF値に対応する点拡がり関数に基づいてフィルタが設計されてもよい。例えば図8に示す例のように、採用可能なF値の中から一つ置きに(断続的に)順次選択されるF値(図8に示す例では、F1.4、F2.8、F5.6、F11、F22及びF45)を「代表的な撮影条件」としてフィルタが設計されてもよい。また例えば、予想される「原画像データD1を取得する際に採用される頻度」に基づいて「代表的な撮影条件」が定められてもよく、予想される採用頻度が高い撮影条件を「代表的な撮影条件」としてフィルタが設計されてもよい。
したがってフィルタリング処理部41は、光学系(レンズ14及び絞り15等)の点拡がり関数に基づく複数のフィルタであって、点拡がり関数の特性を左右するファクタを変えることで得られる複数のフィルタを、複数回のフィルタリング処理(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN)で使用してもよい。点拡がり関数の特性を左右するファクタとして、例えば絞り値(F値)、ズーム値(焦点距離)、被写体距離、フォーカス位置、光学系種別、撮像素子24のセンサSN比、像高(画像内位置)及び光学系個体差などの撮影条件が挙げられる。これらのファクタのうち1又は複数のファクタの特性データが異なる点拡がり関数に基づいて導出されるフィルタが、各フィルタ適用処理PFで用いられてもよい。
またフィルタリング処理部41は、複数回のフィルタリング処理(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN)のうちの少なくともいずれか一つのフィルタリング処理において、撮影により原画像データD1を取得する際に用いられた光学系(レンズ14及び絞り15等)の特性とは無関係に定められるフィルタを用いてフィルタ適用処理データD4を取得してもよい。そのような「光学系の特性とは無関係に定められるフィルタ」として、例えば輪郭強調フィルタを好適に使用することができる。
またフィルタ適用処理PFで用いられるフィルタは、処理対象データD3の画素位置に基づいて変えられてもよい。フィルタリング処理部41は、複数回のフィルタリング処理(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN)のうちの少なくともいずれか一つのフィルタリング処理において、処理対象データD3における画素位置に応じた周波数特性を持つフィルタを用いてフィルタ適用処理データD4を取得してもよい。また処理対象データD3の画素位置に依らず、同一のフィルタが処理対象データD3に適用されてもよい。フィルタリング処理部41は、複数回のフィルタリング処理のうちの少なくともいずれか一つのフィルタリング処理において、処理対象データD3における画素位置とは無関係の周波数特性を持つフィルタを用いてフィルタ適用処理データD4を取得してもよい。
一方、画像フィルタ処理Pにおける複数回のフィルタリング処理(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN)の各々においてゲイン適用処理PGでフィルタ適用処理データD4に適用されるゲインは、「原画像データを取得する際に用いられる光学系の光学特性であって原画像データを取得する際の撮影条件に応じた光学特性に基づいて特定される画像フィルタ処理Pの目標とする周波数特性」に基づいて取得される。
この「画像フィルタ処理Pの目標とする周波数特性」は、光学系の種類に応じて実験的又は理論的に予め求めることが可能であり、そのような「画像フィルタ処理Pの目標とする周波数特性」に基づいて取得される「ゲイン適用処理PGで使用されるゲイン」も予め求めることが可能である。
例えば光学特性として「点拡がり関数」を想定し、原画像データD1を取得する際の撮影条件の一例として「F値」を想定した場合に、原画像データD1の撮影取得の際に採用されうるF値を予め想定し、その「採用されうるF値」毎に対応する光学系の点拡がり関数を予め導出しておくことができる。この光学系の点拡がり関数(光学伝達関数)に基づく周波数特性によって、画像フィルタ処理Pの目標とする周波数特性を表すことができ、ウィナーフィルタ等の任意の設計基準を利用した逆フィルタ設計手法を用いることが可能である。
またフィルタ適用処理PFで使用されるフィルタが固定される場合には、そのフィルタの周波数特性も予め求めることができる。したがってフィルタ適用処理PFでフィルタを固定的に使用する場合には、そのフィルタの周波数特性と予め導出される点拡がり関数とに基づいて、「原画像データを取得する際のF値に応じた点拡がり関数に基づいて特定される画像フィルタ処理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)で使用される複数のフィルタのタップ数は、フィルタ間で相互に同じであってもよいし異なっていてもよい。
図9〜図12に関する以下の説明では、便宜上「N=2」と仮定して、フィルタリング処理部41で行われる複数回のフィルタリング処理が第1のフィルタリング処理F1及び第2のフィルタリング処理F2によって構成されるケースについて説明する。ただし、「N」が3以上の整数であり、3回以上のフィルタリング処理がフィルタリング処理部41で行われる場合も、同様の設計手法でフィルタリング処理部41を実現することが可能である。
図9は、フィルタリング処理部41の回路構成の一例を示す図である。図9には、第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を取得する。
なお、各フィルタリング処理で使われるフィルタは、各フィルタ適用部48(第1のフィルタ適用部48−1及び第2のフィルタ適用部48−2)によって保持されていてもよいし、図示しないメモリに記憶されて各フィルタ適用部48により適宜読み出されてもよい。また各フィルタリング処理で使われるゲインは、図3に示すゲイン特定部43や図4及び図5に示すゲイン取得部45によって各ゲイン適用部49(第1のゲイン適用部49−1及び第2のゲイン適用部49−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となる。
図10は、フィルタリング処理部41の回路構成の他の例を示す図である。図10には、第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が設けられている。
この図10に示す回路構成を有する本例のフィルタリング処理部41は、第1のフィルタリング処理F1及び第2のフィルタリング処理F2では同一データ(すなわち原画像データD1)を処理対象データD3として使用する。またフィルタリング処理部41は、第1のフィルタリング処理F1で取得されるフィルタリング処理データD6−1と第2のフィルタリング処理F2で取得されるフィルタリング処理データD6−2とに基づいて、処理画像データD2を取得する。なお本例では、各フィルタリング処理のゲイン適用部49から出力されるゲイン適用処理データD5が、各フィルタリング処理において得られるフィルタリング処理データD6となる。
図11は、フィルタリング処理部41の回路構成の他の例を示す図である。図11には、第1のフィルタリング処理F1〜第Nのフィルタリング処理FN(ただし本例では「N=2」)の各々を行う回路が並列的に接続される他の例が示されている。
本例も、図10に示す例と同様に、第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となる。
また本例の画像フィルタ処理P(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN)は処理対象画像の明るさ(DC(Direct Current)成分)の変化を防ぐため、周波数(ω)が0の場合のフィルタレスポンスが1に設定され(φn(0)=1)に設定され、任意のゲインに関して明るさが一定に調整されることが好ましい。
上述の図9〜図11に示す例では、複数回のフィルタリング処理の各々に関して別個の「フィルタ適用部48及びゲイン適用部49」が設けられるが、共通の「フィルタ適用部48及びゲイン適用部49」によって複数回のフィルタリング処理が行われてもよい。
図12は、フィルタリング処理部41の回路構成の他の例を示す図である。図12には、単一のフィルタ適用部48及び単一のゲイン適用部49によって複数回のフィルタリング処理を行う回路構成の例が示されている。図12に示す回路構成例は、フィルタ適用処理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を供給する。
したがって図12に示すフィルタ適用部48は、第1のフィルタリング処理F1では第1のフィルタリング処理用フィルタh0を用いてフィルタ適用処理データD4を取得し、第2のフィルタリング処理F2では第2のフィルタリング処理用フィルタh1を用いてフィルタ適用処理データD4を取得する。またゲイン適用部49は、第1のフィルタリング処理F1では第1のフィルタリング処理用のゲインg0を用いてゲイン適用処理データD5を取得し、第2のフィルタリング処理F2では第2のフィルタリング処理用のゲインg1を用いてゲイン適用処理データD5を取得する。
なお、ゲイン適用部49にゲインを供給するゲイン供給部55は、画像処理部35が図3に示すシステム構成を有する場合にはゲイン特定部43によって構成され、また画像処理部35が図4又は図5に示すシステム構成を有する場合にはゲイン取得部45によって構成される。
上述の図9〜図12に示す回路構成は例に過ぎず、複数回のフィルタリング処理を行うフィルタリング処理部41は様々な回路構成によって実現可能であり、具体的な回路構成は特に限定されない。
例えば図12には単一の「フィルタ適用部48及びゲイン適用部49」によって図9に示す直列接続タイプと同等のフィルタリング処理(画像フィルタ処理P)を行う回路構成例が示されているが、同様に、単一の「フィルタ適用部48及びゲイン適用部49」を有する回路構成によって、図10又は図11に示す並列接続タイプと同等のフィルタリング処理(画像フィルタ処理P)が行われてもよい。
また図9に示す直列接続タイプの回路構成において、第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としてもよい。同様に、図12に示す回路構成において処理データ算出部50が省略されてもよく、ゲイン適用部49から出力されるゲイン適用処理データD5をフィルタリング処理データD6としてもよい。
<ゲイン決定手法>
次に、ゲイン適用部49(第1のゲイン適用部49−1〜第Nのゲイン適用部49−N)で用いられるゲインの決定手法について説明する。
図13は、ゲイン取得部45の機能構成の一例を示すブロック図であり、図3に示す画像処理部35と好適に組み合わせられるゲイン取得部45を示す。本例のゲイン取得部45は、参照画像取得部60、参照画像解析部61、目標周波数特性取得部62及び適用ゲイン算出部63を有する。
参照画像取得部60は、原画像データD1を取得する際に用いられる光学系の光学特性であって、原画像データD1を取得する際の撮影条件に応じた光学特性が反映された参照画像データを取得する。この参照画像データは、原画像データD1を取得する際にカメラ本体12に装着されうる各種のレンズユニット11(光学系)に関して取得されることが好ましく、また原画像データD1を取得する際に採用されうる撮影条件に関して取得されることが好ましい。例えば複数種類のレンズユニット11(光学系)を使って原画像データD1を撮影取得することができる場合には、その複数種類のレンズユニット11(光学系)の各々に関して参照画像データを取得することが好ましい。また撮影条件として図8に示すF値を想定した場合、採用可能な全てのF値(図8に示す例ではF1〜F45の計12個のF値)の各々に関して参照画像データを取得することが好ましい。
なお参照画像取得部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の目標とする周波数特性に影響を及ぼしうる各種ファクタを示す特性データが好適に用いられ、特に本例では「原画像データD1を取得する際の撮影条件」がゲイン選定条件とされる。したがって画像フィルタ処理Pの目標とする周波数特性が「撮影により原画像データD1を取得する際に用いられた光学系(レンズ14及び絞り15等)の点拡がり関数(光学伝達関数)に基づく周波数特性」である場合、その点拡がり関数に影響を及ぼす各種ファクタ(例えば原画像データD1を取得するための撮影の際の絞り値(F値)、ズーム値(焦点距離)、被写体距離、フォーカス位置、光学系種別、撮像素子24のセンサSN比、像高(画像内位置)及び光学系個体差などの撮影条件)に関する特性データが、「ゲイン選定条件」としてゲインの候補データと関連付けられうる。
このようにゲインの候補データをゲイン選定条件と関連付けてゲイン候補データ記憶部
44に記憶する場合、参照画像取得部60は複数の撮影条件(ゲイン選定条件)下で撮影取得された複数の参照画像データを取得することが好ましく、参照画像解析部61は複数の撮影条件下で撮影取得された複数の参照画像データを解析して光学特性を取得することが好ましい。また目標周波数特性取得部62は複数の撮影条件下での光学特性から複数の撮影条件に関する画像フィルタ処理Pの目標とする周波数特性を取得することが好ましく、適用ゲイン算出部63は複数の撮影条件に関連付けられるゲインを取得し、そのゲインを対応の撮影条件(ゲイン選定条件)と関連付けてゲイン候補データ記憶部44に記憶することが好ましい。
図14は、図13に示すゲイン取得部45のゲイン取得フローを示すフローチャートである。本例では上述のように、まず測定対象の光学系を使って撮影取得された参照画像データが参照画像取得部60により取得され(図14のS11)、参照画像解析部61によってその参照画像データの解析が行われて測定対象の光学系の撮影条件毎の光学特性が取得される(S12)。そして測定対象の光学系の撮影条件毎の光学特性から画像フィルタ処理Pの目標とする周波数特性が目標周波数特性取得部62により取得され(S13)、その目標とする周波数特性から、撮影条件毎のゲインの候補データが適用ゲイン算出部63により取得される(S14)。
このようにして取得されたゲインの候補データは、測定対象の光学系の撮影条件毎の光学特性に関連付けた「ゲインテーブル情報」として、適用ゲイン算出部63によりゲイン候補データ記憶部44に記憶される(S15)。これによりゲイン特定部43は、ゲイン候補データ記憶部44に記憶されるゲインの候補データの中から、複数回のフィルタリング処理の各々においてフィルタ適用処理データに適用されるゲインを特定し、その特定したゲインをフィルタリング処理部41に送ることができる。
図15は、ゲイン取得部45の機能構成の他の例を示すブロック図であり、図4及び図5に示す画像処理部35と好適に組み合わせられるゲイン取得部45を示す。本例のゲイン取得部45は目標周波数特性取得部62及び適用ゲイン算出部63を有し、目標周波数特性取得部62は、画像フィルタ処理Pの目標とする周波数特性を周波数解析部66の周波数特性記憶部68から取得する。
周波数解析部66は、参照画像取得部60、参照画像解析部61、目標周波数特性特定部67及び周波数特性記憶部68を有する。本例の参照画像取得部60及び参照画像解析部61は、図13に示す上述の参照画像取得部60及び参照画像解析部61と同様に、参照画像データを取得し、原画像データD1を取得する際に用いられる光学系の撮影条件毎の光学特性を取得する。また本例の目標周波数特性特定部67は、図13に示す上述の目標周波数特性取得部62と同様に、参照画像解析部61が取得した光学系の撮影条件毎の光学特性に基づいて、その光学系を使って撮影取得される原画像データD1の画像フィルタ処理Pにおいて目標とする周波数特性を撮影条件毎に特定する。
ただし本例の目標周波数特性特定部67は、特定した画像フィルタ処理Pの目標とする周波数特性に関するデータを、対応の光学系のデータ及び撮影条件と関連付けて周波数特性記憶部68に記憶する。ここでいう「対応の光学系のデータ及び撮影条件」は、測定対象の光学系及び撮影条件を個々に特定することが可能な任意のデータであって、例えば個々の光学系(レンズユニット11)に割り当てられる種類情報(例えば型番等)と撮影条件(例えばF値等)との組み合わせによって表されうる。
本例の目標周波数特性取得部62は、フィルタリング処理部41における画像フィルタ処理Pの対象となっている原画像データD1の撮影に使用した光学系の種類情報(対応の光学系のデータ)及び原画像データD1の撮影条件を取得し、その種類情報及び撮影条件に基づいて原画像データD1の撮影に使用した光学系及び撮影条件に関連付けられている画像フィルタ処理Pの目標とする周波数特性に関するデータを周波数特性記憶部68から取得する。適用ゲイン算出部63は、目標周波数特性取得部62が特定した「画像フィルタ処理Pの目標とする周波数特性」に基づいて、複数回のフィルタリング処理の各々においてフィルタ適用処理データに適用されるゲインを取得してフィルタリング処理部41に供給する。
このように本例のゲイン取得部45は、原画像データD1の撮影に使用した光学系及び撮影条件に関する「画像フィルタ処理Pの目標とする周波数特性」を周波数特性記憶部68から読み出してゲインを取得する。したがって、周波数解析部66における「画像フィルタ処理Pの目標とする周波数特性を取得するための処理」と、ゲイン取得部45における「フィルタリング処理部41で実際に使用するゲインを取得するための処理」とを分離することができる。
図16は、図15に示す周波数解析部66の周波数特性取得フローを示すフローチャートである。本例では上述のように、まず測定対象の光学系を使って撮影取得された参照画像データが撮影条件毎に参照画像取得部60により取得され(図16のS21)、参照画像解析部61によってその参照画像データの解析が行われて測定対象の光学系の撮影条件毎の光学特性が取得される(S22)。そして目標周波数特性特定部67によって測定対象の光学系の撮影条件毎の光学特性から画像フィルタ処理Pの目標とする周波数特性が撮影条件毎に特定され(S23)、周波数特性記憶部68に記憶される(S24)。
図17は、図15に示すゲイン取得部45のゲイン取得フローを示すフローチャートである。本例では上述のように、まずフィルタリング処理部41における画像フィルタ処理Pの対象となっている原画像データD1の撮影に使用した光学系及び撮影条件に関連付けられている画像フィルタ処理Pの目標とする周波数特性に関するデータが、目標周波数特性取得部62によって周波数特性記憶部68から取得される(図17のS31)。そして適用ゲイン算出部63によって、その目標とする周波数特性からフィルタリング処理において使用されるゲインが取得され(S32)、フィルタリング処理部41に供給される(S33)。
<ゲイン係数(ゲイン値ベクトル)の算出手法>
以下、上述のゲイン取得部45(特に適用ゲイン算出部63)における演算処理の具体的な流れについて説明する。一例として、フィルタリング処理部41が図11に示す回路構成を有するケースについて主に説明するが、フィルタリング処理部41が他の回路構成(図9〜10及び図12参照)を有するケースについても同様の演算処理によってゲインを算出することが可能である。
以下の方法は、周波数及び画像内の位置(画素位置)の各々に基づいて重み付けされた最小二乗基準を採用し、フィルタリング処理部41によって行われる画像フィルタ処理P全体の周波数特性を、目標とする所望の周波数特性に近づけるように、ゲインを求める。
図11に示す回路構成において、第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以上の整数)」が成立する。
なお図9及び図12に示す回路構成では、第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(ω))」によって表される。また図10に示す回路構成では、画像フィルタ処理P全体の周波数特性f(ω)は「f(ω)=1+g0φ0(ω)…+gN−1φN−1(ω)」によって表される。
したがって図11の回路構成に関する下述の説明は、図11の回路構成の周波数特性「f(ω)=g0φ0(ω)…+gN−1φN−1(ω)」を周波数特性「f(ω)=1+g0φ0(ω)…+gN−1φN−1(ω)」に応用することによって、図10に示す回路構成についても適用可能である。例えば、図10の回路構成の上記の周波数特性f(ω)における「1+g0φ0(ω)」を「図11の回路構成の上記の周波数特性f(ω)における「g0φ0(ω)」」として扱うことで、図11の回路構成に関する下述の説明は図10に示す回路構成にも当てはめられる。同様に、図11の回路構成に関する下述の説明は、図11の回路構成の周波数特性「f(ω)=g0φ0(ω)…+gN−1φN−1(ω)」を「f(ω)=(1+g0φ0(ω))…×(1+gN−1φN−1(ω))」に応用することによって、図9及び図12に示す回路構成についても適用される。なおこの場合、対数化処理を利用することで、図9及び図12に示す回路構成の周波数特性f(ω)の積の演算式は和の演算式に変換され、図11の回路構成に関する下述の説明を図9及び図12に示す回路構成に当てはめ易くなる。
ここで、第nのフィルタリング処理Fnのフィルタ適用部48−nで使用されるフィルタが、撮影により原画像データD1を取得する際に用いられた光学系(レンズ14及び絞り15等)の点拡がり関数に基づく画像復元用のフィルタであると仮定する。点拡がり関数に基づく画像復元用のフィルタは、下記のように周波数ωに関して2次元の自由度を有し、また画像内位置(画素位置)rに関して2次元の自由度を有するため、合計「4自由度」を持つ周波数特性となる。
このような周波数ベクトルω及び画像内位置ベクトルrを用いると、第nのフィルタリング処理Fnのフィルタ適用部48−nで用いられるフィルタの周波数特性を「φn−1(ω,r)」で表すことができる。フィルタの周波数特性φn(ω,r)の離散化を周波数についてNω個及び画像内位置についてNr個のサンプリング点に関して行うことで、下記のベクトルφnが得られる。
なお周波数「ωj」及び画像内位置「rk」は、下記式によって表すことができ、「ωj」は周波数に関するNω個のサンプリングポイントを示し、「rk」は画像内位置に関するNr個のサンプリングポイントを示す。
複数回のフィルタリング処理(第1のフィルタリング処理F1〜第Nのフィルタリング処理FN)で使用されるゲインによって構成されるゲインベクトル(ゲイン群)gは、下記式によって表される。
上記式で表されるゲインが設定された画像フィルタ処理P全体(フィルタリング処理部41全体)の周波数特性「f(ω,r|g)」は、図11に示す回路構成では、下記式によって表される。
一方、実現したい「画像フィルタ処理Pの目標とする周波数特性「d(ω,r)」」は、任意の方法で決定することが可能であり、その決定方法は特に限定されない。一般に、点拡がり関数に基づく復元フィルタは、コンボリュージョン型のフィルタによって好適に実現可能である。点拡がり関数に基づくフィルタの周波数特性を決定する方法としては様々な手法があり、例えば撮影光学系のSN比を考慮したウィナーフィルタが広く利用されている。ウィナーフィルタは、下記式によって、点拡がり関数の光学伝達関数(OTF)及びSN比の情報に基づいてフィルタの周波数特性を表すことができる。したがって、実現したい画像フィルタ処理Pの目標とする周波数特性「d(ω,r)」を、このウィナーフィルタに基づいて決定してもよい。
画像フィルタ処理P全体の周波数特性を「f(ω,r|g)」によって表し、実現したい画像フィルタ処理Pの目標とする周波数特性を「d(ω,r)」によって表し、近似重み関数を「w(ω,r)」によって表す。この場合、下記式で表される重み付き最小二乗基準に基づく汎関数「JLMS[g]」を最小化するゲインベクトルを、画像フィルタ処理Pにおける最適な周波数特性を表すゲインベクトルとすることができる。
上記式を周波数及び画像内位置のサンプリングポイントで離散化すると、下記式が得られる。
上記式において「diag」は引数ベクトルを対角要素とする対角行列を示し、上記式の「w」及び「d」は、それぞれ「w(ω,r)」及び「d(ω,r)」を「ベクトルφn」に関する上述の方法と同様にしてベクトル化したものである。
上記式に基づいて、ゲインベクトルの最適解gOPTは下記式によって表される。
近似重み関数及び各フィルタの周波数特性(フィルタ係数)が決定されていれば、上記式中の「(AHWA)−1AHW」の部分は、予め算出可能な行列によって表される。このようにゲインベクトルの最適解gOPTは、個別の像劣化特性を示す点拡がり関数に基づいて取得されるフィルタ特性に行列を適用する演算によって算出可能である。
なおフィルタリング処理部41が図11に示す回路構成を採用する場合には、上記の条件に加え、画像のDC成分(明るさ)の変化を防ぐために、DC成分の増幅率(ゲイン)を1.0倍にするという拘束条件が適用されることが好ましい。具体的には、下記式に従ってゲインベクトルの最適解gOPTを取得することが「DC成分の増幅率を1.0倍として画像全体の明るさを変えない」ことに相当する。
上記式は、QP(Quadratic Programming)問題として扱うことができ、「N」が小さい場合には、少ない計算量で解くことが可能である。また、一例として下記式で表されるように、各フィルタのDC成分の増幅率に制限を設けることによって、DC成分の増幅率の制限(拘束条件)を除外することが可能である。
<重み付けの工夫>
上述の最小二乗法では、「w(ω,r)」で表されるように周波数と画像内位置(画素位置)とに基づいて周波数特性の近似精度に重み付けがされる。例えば最小二乗法による周波数特性の近似を上記の近似誤差評価関数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の距離」は同じであってもよいし、異なっていてもよい。
<フィルタの周波数特性が周波数減衰を含まない場合の工夫>
図9に示すような直列接続タイプの回路構成を有するフィルタリング処理部41によって複数回のフィルタリング処理が行われる場合、各フィルタ適用部48で処理対象データD3に適用されるフィルタの周波数特性が周波数減衰を持つか否かに応じて、制御方法を工夫することが好ましい。周波数減衰は、「光学系の点拡がり関数によって表される点像の拡がり(ボケ)の程度が大きい」且つ「SN比が低い」場合に特に有効に作用し、高周波帯域におけるノイズ成分を抑制する効果をもたらす。
例えば各フィルタ適用部48で使用するフィルタに周波数減衰の効果を持たせる必要がない場合には、図11に示すフィルタリング処理部41の各フィルタ適用部48で使用されるフィルタの周波数特性φn(ω)を下記式に基づいて設定することができる。
上記式は、各フィルタ適用部48で使用されるフィルタの周波数特性φn(ω)が「|φn(ω)|>1」を満たす場合には、本来の周波数特性φn(ω)を持つフィルタを使用し、「|φn(ω)|≦1」を満たす場合には、「周波数特性(レスポンス)=1」となるフィルタを使用することを示す。
なお各フィルタ適用部48で使用するフィルタに周波数減衰の効果を持たせる必要がない場合に、図9〜10及び図12に示すフィルタリング処理部41の各フィルタ適用部48で使用されるフィルタの周波数特性φn(ω)は、例えば下記式に基づいて設定することができる。
またフィルタリング処理部41を構成する回路構成が図9に示すような直列接続タイプの場合、画像フィルタ処理P全体の周波数特性は、各フィルタ適用部48で使用されるフィルタの周波数特性の積に基づいて表現される。この「直列接続タイプの画像フィルタ処理P全体の周波数特性」を「並列接続タイプの画像フィルタ処理P全体の周波数特性」と同様に扱うために、直列接続タイプの画像フィルタ処理Pで使用される全てのフィルタの周波数特性を対数化することで「積」の問題を「和」の問題に変換することが好ましい。この場合、並列接続タイプの回路構成を有するフィルタリング処理部41に関するゲインベクトルの最適解gOPTの算出手法と同様の演算処理によって、直列接続タイプの回路構成を有するフィルタリング処理部41に関するゲインベクトルの最適解gOPTを算出することができる。なおフィルタの周波数特性が減衰特性を含まないケースでは、上述の対数化によっては、フィルタの周波数特性が大きな負の値とはならず、下記式を利用して複素数の対数化を行うことができる。
<フィルタの周波数特性が周波数減衰を含む場合の工夫>
例えば図9に示すような直列接続タイプの回路構成を有するフィルタリング処理部41において、各フィルタ適用部48で使用されるフィルタの周波数特性が周波数減衰を含む場合には、以下の点に留意することが望ましい。すなわち、周波数増幅率が0倍に近い場合には、対数化後の値が大きな負の値となるため、対数化処理を行った後に最小二乗基準で周波数特性のフィッティングを行う場合等には、その大きな負の値が周波数特性近似の基準を支配してしまう虞がある。そのため、対数化の際に、予め決められた負の最小値でクリッピングを行ったり、周波数減衰が起きやすい周波数帯域の重み付けを小さく調節するなどの対策を行うことが好ましい。
例えばクリッピングにより対応する場合には、フィルタリング処理部41は、画像フィルタ処理Pの目標とする周波数特性において原画像データD1に対する処理画像データD2の割合が1よりも小さい周波数では、複数回のフィルタリング処理の各々において、フィルタリング処理データD6をフィルタ適用処理データD4と等しくするフィルタを用いることが好ましい。
各フィルタリング処理で使用するゲインを上述のようにして決定及び調整することで、例えば撮影条件の組み合わせの全てに関して点拡がり関数に基づくフィルタ(フィルタ係数)を保持するケースに比べ、保持すべきパラメータ数を格段に削減することができる。また一般の方法では、点拡がり関数のような像劣化特性が既知でないとフィルタ設計(フィルタ係数設計)を適切に行うが難しいが、本実施形態によれば、個々の像劣化特性を把握する前に、多くの計算量が必要とされる有限タップ長のFIRフィルタの設計を完了しておくことも可能である。その場合、具体的な像劣化特性を取得した後に簡単な計算によって、最適なゲインベクトルを算出することができる。
<フィルタの設計手法>
次に、フィルタリング処理部41の各フィルタ適用部48で使用されるフィルタの設計手法の具体例について説明する。
図18は、フィルタ取得装置76の機能構成の一例を示すブロック図である。
各フィルタ適用部48で使用されるフィルタの設計及び取得を行うフィルタ取得装置76は、フィルタ算出部77を有する。本例のフィルタ算出部77は、複数の撮影条件に応じた光学系の光学特性に基づいて特定される複数種類の画像フィルタ処理(第1の画像フィルタ処理P1〜第kの画像フィルタ処理Pk(ただし「k」は2以上の整数))の周波数特性データを取得し、基準フィルタhb及び分散フィルタhvを含む複数のフィルタを出力する。すなわちフィルタ算出部77は、光学系の複数の撮影条件に応じた光学特性に基づいて特定される複数種類の画像フィルタ処理P1〜Pkの周波数特性に基づいて、複数種類の画像フィルタ処理P1〜Pkの周波数特性の平均に応じて定められる基準フィルタhbを取得する。またフィルタ算出部77は、複数種類の画像フィルタ処理P1〜Pkの周波数特性に基づいて、複数種類の画像フィルタ処理P1〜Pkの周波数特性の分散に応じて定められる少なくとも一つの分散フィルタhvを取得する。
図19は、フィルタ算出部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」の各々の周波数特性は「画像フィルタ処理Pの目標とする周波数特性」を構成し、本例では撮影の際に採用されうる撮影条件毎の光学系の光学特性に基づく周波数特性によって定められる。
例えば「複数種類の画像フィルタ処理P1〜Pkの周波数特性」が光学系の点拡がり関数に基づく周波数特性の場合、点拡がり関数に影響を及ぼしうる撮影条件(例えばF値等)を変えることで得られる複数種類の点拡がり関数の周波数特性に応じて「複数種類の画像フィルタ処理P1〜Pkの周波数特性」を定めることができる。すなわち異なる撮影条件下における複数種類の点拡がり関数の周波数特性に応じて「複数種類の画像フィルタ処理P1〜Pkの周波数特性」を定めることができる。この「複数種類の点拡がり関数」は、任意の手法で取得可能であり、実測値に基づいて取得されてもよいし、推定値に基づいて取得されてもよい。「複数種類の画像フィルタ処理P1〜Pkの周波数特性」は、取得される複数種類の点拡がり関数を使ってウィナーフィルタ等の任意の設計基準に基づき算出可能である。
この「複数種類の画像フィルタ処理P1〜Pkの周波数特性」は、任意の装置によって取得可能であり、例えばフィルタ取得装置76において取得されてもよいし、他の装置により取得されてもよく、フィルタ取得装置76のフィルタ算出部77によって図示しないメモリから読み出されて取得されてもよい。
<複数種類の画像フィルタ処理の周波数特性のバラツキ>
複数種類の画像フィルタ処理の周波数特性のバラツキは、単峰型分布に基づいて表現することも可能であるし、多峰型分布に基づいて表現することも可能である。
図20は、複数種類の画像フィルタ処理の周波数特性のバラツキを単峰型分布で表した概念図である。図21は、複数種類の画像フィルタ処理の周波数特性のバラツキを多峰型分布で表した概念図である。
図20に示す単峰型分布に基づくバラツキ表現手法は、複数種類の画像フィルタ処理の周波数特性のバラツキを、一つの多次元複素正規分布(図20の「バラツキ分布G」参照)によって表現する手法である。一方、多峰型分布に基づく表現手法は、複数種類の画像フィルタ処理の周波数特性のバラツキを、複数の多次元複素正規分布(図21の「第1のバラツキ分布G1」及び「第2のバラツキ分布G2」参照)によって表現する手法である。
図20には、複数種類の画像フィルタ処理の周波数特性のバラツキ分布Gを、第1のフィルタリング処理F1のフィルタの周波数特性φ0、第2のフィルタリング処理F2のフィルタの周波数特性φ1及び第3のフィルタリング処理F3のフィルタの周波数特性φ2によって表現するケースが示されている。また図21には、複数種類の画像フィルタ処理の周波数特性のバラツキ分布Gを構成する第1のバラツキ分布G1及び第2のバラツキ分布G2の各々を、第1のフィルタリング処理F1のフィルタの周波数特性(φ0 (1)、φ0 (2))、第2のフィルタリング処理F2のフィルタの周波数特性(φ1 (1)、φ1 (2))及び第3のフィルタリング処理F3のフィルタの周波数特性(φ2 (1)、φ2 (2))によって表現するケースが示されている。なお図20及び図21には、一例としてフィルタリング処理部41が図11に示す回路構成を有することを前提としたフィルタの周波数特性φ0〜φ2が図示されている。
複数種類の画像フィルタ処理の周波数特性のバラツキが例えば図20に示すような楕円形状のバラツキ分布Gを有する場合、複数のフィルタリング処理(図20に示す例では第1のフィルタリング処理F1〜第3のフィルタリング処理F3)によって各画像フィルタ処理を精度良く実現するには、バラツキ分布Gの中心、長軸及び短軸に基づいて各フィルタリング処理の周波数特性φ0、φ1、φ2を決定することが好ましい。同様に、複数種類の画像フィルタ処理の周波数特性のバラツキが例えば図21に示すような楕円形状の第1のバラツキ分布G1及び第2のバラツキ分布G2を有する場合、複数のフィルタリング処理(図21に示す例では第1のフィルタリング処理F1〜第3のフィルタリング処理F3)によって第1のバラツキ分布G1及び第2のバラツキ分布G2に含まれる各画像フィルタ処理を精度良く表すには、第1のバラツキ分布G1及び第2のバラツキ分布G2の各々に関して中心、長軸及び短軸に基づき各フィルタリング処理の周波数特性φ0 (1)、φ1 (1)、φ2 (1)、φ0 (2)、φ1 (2)、φ2 (2)を決定することが好ましい。
<単峰型分布>
次に、複数種類の画像フィルタ処理の周波数特性のバラツキを単峰型分布として扱う場合(図20参照)における、フィルタ及びゲインの設計手法例について説明する。
以下の方法は、任意個数の複数種類の画像フィルタ処理の周波数特性のバラツキサンプルが実際に取得された場合に、その画像フィルタ処理の周波数特性のバラツキを精度良く補償することができる所望数の基底フィルタ(FIRフィルタ)の周波数特性を求める手法に関する。また、単峰型分布を多次元複素正規分布としてモデル化を行い、ML(Maximum Likelihood)推定を行うケースについて説明する。
単峰型分布のバラツキ分布Gは多次元複素正規分布に基づいて表現可能であり、その多次元複素正規分布は共分散行列によって特徴付けられ、次式によって得られる。
上記式において「βi」は、複数種類の画像フィルタ処理の各々に関して個別に取得される周波数特性β(ω,r)を周波数(ω)及び位置(r)に基づいて離散化することで得られるベクトルを表し、「Np」は複数種類の画像フィルタ処理の数を表す。したがって上記式の「Ψ0」は、複数種類の画像フィルタ処理の周波数特性の平均(平均行列)を表し、上記式の「R0」は、複数種類の画像フィルタ処理の周波数特性の分散(共分散行列)を表す。
上記式によって表される共分散行列の固有値分解を下記式に従って行うことで、固有ベクトルΨi(ただし「i」は1以上Np以下の整数)を得ることができる。
Karhunen−Loeve展開によれば、バラツキ分布を次元mの線形部分空間によって平均的に近似するには、固有値の大きいものから順にm個の対応する固有ベクトルΨi(ただし「i」は1以上m以下の整数)によって張られる部分空間を用いるのが最良である。
したがって、単峰型のバラツキ分布Gを持つ複数種類の画像フィルタ処理の各々の周波数特性を精度良く再現するためのフィルタリング処理のフィルタの最適な周波数特性φ0〜φN−1は、下記式に基づいて取得することができる。
なお、第1のフィルタリング処理F1のフィルタの周波数特性φ0は、上述のように、複数種類の画像フィルタ処理の周波数特性の分布の中心に該当するため、分布の中心を固定して処理を安定化させる観点からは第1のフィルタリング処理F1におけるゲインは「1.0」に固定することが好ましい。他のフィルタリング処理におけるゲインについては、例えば上述の重み付き最小二乗基準によって最適値を求めることができる。
図22は、単峰型分布に分類可能な複数種類の画像フィルタ処理の周波数特性の一例を概略的に示す図であり、横軸は周波数(ω)を示し、縦軸はレスポンスを示す。ここでいうレスポンスは、各画像フィルタ処理の前後の周波数成分量の比(=処理後の周波数成分量/処理前データの周波数成分量)であり、「レスポンス=1」は画像フィルタ処理の前後でデータが同じであることを意味する。
図22には、4種類の画像フィルタ処理(第1の画像フィルタ処理P1、第2の画像フィルタ処理P2、第3の画像フィルタ処理P3及び第4の画像フィルタ処理P4)の周波数特性が示されている。これらの4種類の画像フィルタ処理P1〜P4は、それぞれ異なる周波数特性を示すが、いずれも周波数(ω)が「0」の場合のレスポンスは「1」を示す。
図23は、図22に示される複数種類の画像フィルタ処理の周波数特性の分散の一例を概略的に示す図であり、横軸は周波数(ω)を示し、縦軸は分散を示す。なお、図23は、説明の便宜上、図22に示される複数種類の画像フィルタ処理P1〜P4の周波数特性の分散を必ずしも厳密に表すものではない。
図22に示す4種類の画像フィルタ処理P1〜P4は、いずれも周波数(ω)が「0」の場合のレスポンスは「1」であるため、周波数(ω)が「0」の場合の分散は「0」になる。図23に示す例では、複数種類の画像フィルタ処理P1〜P4の周波数特性に関して、「一番目に大きいバラツキを示す成分(図23の符号「H1」参照)」及び「二番目に大きいバラツキを示す成分(図23の符号「H2」参照)」が表れる。
図24は、図22に示される複数種類の画像フィルタ処理の周波数特性の平均及び分散から取得される基底フィルタ(固有ベクトル)の一例を概略的に示す図であり、(a)は「φ0」を示し、(b)は「φ1」を示し、(c)は「φ2」を示す。
上述のように、第1のフィルタリング処理F1で使用されるフィルタの周波数特性φ0は、複数種類の画像フィルタ処理P1〜P4の周波数特性の分布の中心(平均)に基づいて決定することが好ましい。
また他のフィルタリング処理で使用されるフィルタの周波数特性は、図23に示す複数種類の画像フィルタ処理P1〜P4の周波数特性のバラツキ(分散)が大きい成分から順に定められることが好ましい。したがって第2のフィルタリング処理F2で使用されるフィルタの周波数特性φ1は、複数種類の画像フィルタ処理P1〜P4の周波数特性のバラツキが一番目に大きい成分(図23の「H1」参照)に基づいて決定されることが好ましい。同様に、第3のフィルタリング処理F3で使用されるフィルタの周波数特性φ2は、複数種類の画像フィルタ処理の周波数特性のバラツキが二番目に大きい成分(図23の「H2」参照)に基づいて決定されることが好ましい。
なお上述の例は画像フィルタ処理Pが第1のフィルタリング処理F1〜第3のフィルタリング処理F3を含むケースに関するが、画像フィルタ処理Pは二つのフィルタリング処理によって構成されていてもよいし、四つ以上のフィルタリング処理によって構成されていてもよい。例えば画像フィルタ処理Pが第1のフィルタリング処理F1及び第2のフィルタリング処理F2によって構成される場合には、第1のフィルタリング処理F1で使用されるフィルタの周波数特性を上述の「φ0」(図24(a)参照)に基づいて定め、第2のフィルタリング処理F2で使用されるフィルタの周波数特性を上述の「φ1」(図24(b)参照)に基づいて定めることができる。
図25は、図11に示す回路構成を有するフィルタリング処理部41が行う画像フィルタ処理P(第1のフィルタリング処理F1〜第3のフィルタリング処理F3)に関する周波数特性f(ω)((a)参照)及びゲイン例((b)参照)を示す。
上述のように、複数種類の画像フィルタ処理の周波数特性の分布の中心を固定して処理を安定化させる観点からは、第1のフィルタリング処理F1におけるゲインg0は「1.0」に固定することが好ましい。したがって図25(b)には、図11に示す回路構成を有するフィルタリング処理部41の各フィルタ適用部48で使用するフィルタを固定し、また第1のフィルタリング処理F1におけるゲインg0を「1.0」に固定した場合に、図22に示す画像フィルタ処理P1〜P4の各々の周波数特性を図25(a)に示すシステム全体の周波数特性によって精度良く実現するためのゲインg0〜g2が例示されている。
図25(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を取得する際の撮影条件に応じた光学系の光学特性に基づいて定められることが好ましい。
図26は、単峰型分布に基づいてフィルタ係数を算出するフィルタ算出部77の機能構成の一例を示すブロック図である。周波数空間で表されるフィルタ特性から実空間で表されるフィルタ係数を算出するために、本例のフィルタ算出部77は、上述の平均算出部78、分散算出部79及びフィルタ特性取得部80(図19参照)に加え、タップ係数演算部81を更に有する。
このフィルタ算出部77のタップ係数演算部81は、複数のタップを持ち各タップに係数が割り当てられる基準フィルタhbを取得し、且つ、複数のタップを持ち各タップに係数が割り当てられる少なくとも一つの分散フィルタhvを取得する。「各タップに係数を割り当てる手法」は特に限定されないが、タップ係数演算部81(フィルタ算出部77)は、例えば後述のSAGEアルゴリズム又はOMPアルゴリズムに基づいて、基準フィルタhb及び少なくとも一つの分散フィルタhvの各々の各タップに割り当てられる係数を算出することができる。
<多峰型分布>
次に、複数種類の画像フィルタ処理の周波数特性のバラツキを多峰型分布として扱う場合(図21参照)における、フィルタ及びゲインの設計手法例について説明する。
図21に示す例において、全体を一つの分布(単峰型分布)として扱う場合には、複数種類の画像フィルタ処理の周波数特性のバラツキ分布は図21に示す「バラツキ分布G」によって表すことができるが、近似精度が悪くなる。一方、複数種類の画像フィルタ処理の周波数特性のバラツキ分布を図21の「第1のバラツキ分布G1」及び「第2のバラツキ分布G2」によって分離して表し、「第1のバラツキ分布G1」及び「第2のバラツキ分布G2」の各々を別個の多次元複素正規分布(多峰型分布)として扱うことで、近似精度を向上させることができる。この多峰型分布におけるML推定のパラメータ推定アルゴリズムとして、例えばEM(Expectation Maximization)アルゴリズムによる混合正規分布の推定を好適に利用することができ、効率的なパラメータ推定を行うことができる。
多峰型分布に基づくフィルタの決定手法は、基本的には上述の単峰型分布に基づくフィルタ決定手法と同様の手法で行うことができる。すなわち、複数種類の画像フィルタ処理の周波数特性を、多峰型分布を構成する複数の分布(図21に示す例では第1のバラツキ分布G1及び第2のバラツキ分布G2)に分類し、各分布に関して、上述の単峰型分布の「バラツキ分布G」と同様の手順でフィルタを求めることができる。
図27は、多峰型分布に分類可能な画像フィルタ処理の周波数特性の一例を概略的に示す図であり、横軸は周波数(ω)を示し、縦軸はレスポンスを示す。
図27には、6種類の画像フィルタ処理(第1の画像フィルタ処理P1、第2の画像フィルタ処理P2、第3の画像フィルタ処理P3、第4の画像フィルタ処理P4、第5の画像フィルタ処理P5及び第6の画像フィルタ処理P6)の周波数特性が示されている。これらの6種類の画像フィルタ処理P1〜P6は、それぞれ異なる周波数特性を示すが、いずれも周波数(ω)が「0」の場合のレスポンスは「1」を示す。
図27に示す例において、例えば「第1の画像フィルタ処理P1の周波数特性データ、第2の画像フィルタ処理P2の周波数特性データ及び第3の画像フィルタ処理P3の周波数特性データ」を第1のバラツキ分布G1に分類し、「第4の画像フィルタ処理P4の周波数特性データ、第5の画像フィルタ処理P5の周波数特性データ及び第6の画像フィルタ処理P6の周波数特性データ」を第2のバラツキ分布G2に分類することができる。
図28は、図27に示される複数種類の画像フィルタ処理の周波数特性の分散の一例を概略的に示す図であり、(a)は第1のバラツキ分布G1に分類される第1の画像フィルタ処理P1〜第3の画像フィルタ処理P3の周波数特性データの分散を示し、(b)は第2のバラツキ分布G2に分類される第4の画像フィルタ処理P4〜第6の画像フィルタ処理P6の周波数特性データの分散を示す。図28(a)及び(b)の横軸は周波数(ω)を示し、縦軸は分散を示す。なお、図28(a)及び(b)は、説明の便宜上、図27に示される複数種類の画像フィルタ処理P1〜P6の周波数特性の分散を必ずしも厳密に表すものではない。
図27に示す6種類の画像フィルタ処理P1〜P6の周波数特性は、いずれも周波数(ω)が「0」の場合のレスポンスが「1」であるため、周波数(ω)が「0」の場合の分散は「0」になる。図28(a)及び(b)に示すように、第1のバラツキ分布G1及び第2のバラツキ分布G2の各々の「画像フィルタ処理の周波数特性の分散」に関し、「一番目に大きいバラツキを示す成分(図28(a)及び(b)の「H1」参照)」及び「二番目に大きいバラツキを示す成分(図28(a)及び(b)の「H2」参照)」が表れる。
図29は、第1のバラツキ分布G1に分類される第1の画像フィルタ処理P1〜第3の画像フィルタ処理P3の周波数特性の平均及び分散から取得される基底フィルタ(固有ベクトル)の一例を概略的に示す図であり、(a)は「φ0」を示し、(b)は「φ1」を示し、(c)は「φ2」を示す。図30は、第2のバラツキ分布G2に分類される第4の画像フィルタ処理P4〜第6の画像フィルタ処理P6の周波数特性の平均及び分散から取得される基底フィルタ(固有ベクトル)の一例を概略的に示す図であり、(a)は「φ0」を示し、(b)は「φ1」を示し、(c)は「φ2」を示す。
上述のように、第1のフィルタリング処理F1で使用されるフィルタの周波数特性φ0は、複数種類の画像フィルタ処理の周波数特性の分布の中心(平均)に基づいて決定することが好ましい。
また他のフィルタリング処理で使用されるフィルタの周波数特性は、図28(a)及び(b)の各々に示す複数種類の画像フィルタ処理の周波数特性のバラツキ(分散)が大きい成分に応じて定められることが好ましい。したがって第2のフィルタリング処理F2で使用されるフィルタの周波数特性φ1は、複数種類の画像フィルタ処理の周波数特性のバラツキが一番目に大きい成分(図28(a)及び(b)の「H1」参照)に基づいて決定されることが好ましい。同様に、第3のフィルタリング処理F3で使用されるフィルタの周波数特性φ2は、複数種類の画像フィルタ処理の周波数特性のバラツキが二番目に大きい成分(図28(a)及び(b)の「H2」参照)に基づいて決定されることが好ましい。
図31は、図11に示す回路構成を有するフィルタリング処理部41が行う画像フィルタ処理P(第1のフィルタリング処理F1〜第3のフィルタリング処理F3)に関する周波数特性f(ω)((a)参照)及びゲイン例((b)参照)を示す。図31に示す多峰型分布に関する周波数特性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には、図31(b)に示すようにクラスタインデックスiとして「1」を割り当てることができる。一方、第2のバラツキ分布G2に分類される第4の画像フィルタ処理P4〜第6の画像フィルタ処理P6には、図31(b)に示すようにクラスタインデックスiとして「2」を割り当てることができる。
なお、図31(b)には、図11に示す回路構成を有するフィルタリング処理部41の各フィルタ適用部48で使用するフィルタを固定し、また第1のフィルタリング処理F1で使用されるゲインg0を「1.0」に固定した場合に、図27に示す画像フィルタ処理P1〜P6の各々の周波数特性を図31(a)に示すシステム全体の周波数特性によって精度良く実現するためのゲインg0〜g2が例示されている。
図31(b)に示すように、上述の例によれば、複数種類の画像フィルタ処理P1〜P6の周波数特性のデータを、6個のフィルタ周波数特性φ0 (1)〜φ2 (1)、φ0 (2)〜φ2 (2)(タップ係数)と18個のゲイン(g0を「1.0」に固定する場合には12個のゲイン)とに圧縮することができる。
このように、多峰型分布に基づくフィルタの決定方法によると、多峰型分布を構成するグループ(図21に示す例では第1のバラツキ分布G1及び第2のバラツキ分布G2)の数に応じたフィルタセットが必要になる。したがって多峰型分布を利用する場合には、単峰型分布を利用する場合に比べて、予めメモリに記憶しておく必要があるフィルタの数が増え、必要とされる記憶容量も増大する。また、各フィルタと分類されるグループとを関連付けるために、上述のクラスタインデックスのような関連付け情報も予めメモリに記憶しておく必要がある。
図32は、多峰型分布に基づいてフィルタ係数を算出するフィルタ算出部77の機能構成の一例を示すブロック図である。本例のフィルタ算出部77は、多峰型分布を構成する複数のグループに画像フィルタ処理の複数種類の周波数特性を分類するために、上述の平均算出部78、分散算出部79、フィルタ特性取得部80及びタップ係数演算部81(図26参照)に加え、フィルタグループ分類部82を更に有する。
本例のフィルタグループ分類部82は、混合正規分布を基準に、複数種類の画像フィルタ処理(図27に示す例では第1の画像フィルタ処理P1〜第6の画像フィルタ処理P6)の周波数特性を、複数のフィルタグループ(図21に示す例では第1のバラツキ分布G1及び第2のバラツキ分布G2)に分類する。
図33は、フィルタグループ分類部82によって複数のフィルタグループに分類される複数種類の画像フィルタ処理(周波数特性)の概念図である。フィルタグループ分類部82は複数種類の画像フィルタ処理の周波数特性データの類似性を分析し、各画像フィルタ処理の周波数特性を対応のフィルタグループに分類する。上述の例では、フィルタグループ分類部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(図26及び図32参照)は、これらのアルゴリズムに基づいて、複数種類の画像フィルタ処理の周波数特性の分散を示すバラツキ分布関数であって基準フィルタ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)において行われるが、各ステップの処理の一部又は全部が他部において行われてもよい。
以下では単峰型分布を前提とするケースについて説明する。なお、多峰型分布を前提とするケースに関しては、上述のように単峰型分布を前提とするケースを応用することができる。すなわち複数のフィルタグループ(図21に示す例では第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データ)に対して復元処理を行う例について説明するが、復元処理を行うタイミングは特に限定されず、例えば「デモザイク処理前の画像データ(モザイク画像データ)」や「デモザイク処理後であって輝度信号変換処理前の画像データ(デモザイク画像データ)」に対して復元処理が行われてもよい。
図34は、EDoF光学系を備える撮像モジュール101の一形態を示すブロック図である。本例の撮像モジュール(デジタルカメラ等)101は、EDoF光学系(レンズユニット)110と、撮像素子112と、AD変換部114と、復元処理ブロック(画像処理部35)120とを含む。
図35は、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自体によって形成可能なケースに対しても、本発明は応用可能である。
図35に示すEDoF光学系110は、メカ的に焦点調節を行う焦点調節機構を省略することができるため小型化が可能であり、カメラ付き携帯電話や携帯情報端末に好適に搭載可能である。
EDoF化されたEDoF光学系110を通過後の光学像は、図34に示す撮像素子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による復元処理について説明する。図36は、図34に示す復元処理ブロック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は、この所定単位の画素群毎のデコンボリューション処理を撮像面の全領域をカバーするよう繰り返すことにより画像全体の像ボケを取り除く復元処理を行う。復元フィルタは、デコンボリューション処理を施す画素群の中心の位置に応じて定められている。すなわち、近接する画素群には、共通の復元フィルタが適用される。さらに復元処理を簡略化するためには、全ての画素群に共通の復元フィルタが適用されることが好ましい。
図37(a)に示すように、EDoF光学系110を通過後の輝度信号の点像(光学像)は、大きな点像(ボケた画像)として撮像素子112に結像されるが、Y信号復元処理部127でのデコンボリューション処理により、図37(b)に示すように小さな点像(高解像度の画像)に復元される。
上述のようにデモザイク処理後の輝度信号に復元処理を適用することで、復元処理のパラメータをRGB別々に持つ必要がなくなり、復元処理を高速化することができる。また、飛び飛びの位置にあるR、G、Bの画素に対応するR、G、Bの画像信号をそれぞれ1単位にまとめてデコンボリューション処理するのでなく、近接する画素の輝度信号同士を所定の単位にまとめ、その単位には共通の復元フィルタを適用してデコンボリューション処理するため、復元処理の精度が向上する。なお、色差信号Cr、Cbについては、人の目による視覚の特性上、復元処理で解像度を上げなくても画質的には許容される。また、JPEGのような圧縮形式で画像を記録する場合、色差信号は輝度信号よりも高い圧縮率で圧縮されるので、復元処理で解像度を上げる必要性が乏しい。こうして、復元精度の向上と処理の簡易化及び高速化を両立できる。
以上説明したようなEDoFシステムの復元処理に対しても、上述の実施形態に係る画像フィルタ処理を適用することが可能である。
また、本発明を適用可能な態様はデジタルカメラ及びコンピュータ(サーバ)には限定されず、撮像を主たる機能とするカメラ類の他に、撮像機能に加えて撮像以外の他の機能(通話機能、通信機能、その他のコンピュータ機能)を備えるモバイル機器類に対しても本発明を適用することが可能である。本発明を適用可能な他の態様としては、例えば、カメラ機能を有する携帯電話機やスマートフォン、PDA(Personal Digital Assistants)、携帯型ゲーム機が挙げられる。以下、本発明を適用可能なスマートフォンの一例について説明する。
<スマートフォンへの応用例>
図38は、スマートフォン201の外観を示す図である。図38に示すスマートフォン201は、平板状の筐体202を有し、筐体202の一方の面に表示部としての表示パネル221と、入力部としての操作パネル222とが一体となった表示入力部220を備えている。また、係る筐体202は、スピーカ231と、マイクロホン232、操作部240と、カメラ部241とを備えている。なお、筐体202の構成はこれに限定されず、例えば、表示部と入力部とが独立した構成を採用したり、折り畳み構造やスライド機構を有する構成を採用することもできる。
図39は、図38に示すスマートフォン201の構成を示すブロック図である。図39に示すように、スマートフォンの主たる構成要素として、無線通信部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上の操作位置(座標)を検出する。
図38に示すように、本発明の撮像装置の一実施形態として例示しているスマートフォン201の表示パネル221と操作パネル222とは一体となって表示入力部220を構成しているが、操作パネル222が表示パネル221を完全に覆うような配置となっている。係る配置を採用した場合、操作パネル222は、表示パネル221外の領域についても、ユーザ操作を検出する機能を備えてもよい。換言すると、操作パネル222は、表示パネル221に重なる重畳部分についての検出領域(以下、表示領域と称する)と、それ以外の表示パネル221に重ならない外縁部分についての検出領域(以下、非表示領域と称する)とを備えていてもよい。
なお、表示領域の大きさと表示パネル221の大きさとを完全に一致させてもよいが、両者を必ずしも一致させる必要はない。また、操作パネル222が、外縁部分と、それ以外の内側部分の二つの感応領域を備えていてもよい。更に、外縁部分の幅は、筐体202の大きさなどに応じて適宜設計されるものである。更にまた、操作パネル222で採用される位置検出方式としては、マトリクススイッチ方式、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式などが挙げられ、いずれの方式を採用することもできる。
通話部230は、スピーカ231やマイクロホン232を備え、マイクロホン232を通じて入力されたユーザの音声を主制御部200にて処理可能な音声データに変換して主制御部200に出力したり、無線通信部210或いは外部入出力部260により受信された音声データを復号してスピーカ231から出力するものである。また、図38に示すように、例えば、スピーカ231を表示入力部220が設けられた面と同じ面に搭載し、マイクロホン232を筐体202の側面に搭載することができる。
操作部240は、キースイッチなどを用いたハードウェアキーであって、ユーザからの指示を受け付けるものである。例えば、図38に示すように、操作部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を通じて出力することができる。図38に示すにスマートフォン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によって実現可能である。
本発明は上述した実施形態に限定されず、本発明の精神を逸脱しない範囲で種々の変形が可能であることは言うまでもない。