図5は、本発明の実施例1に係るデジタルカメラの外観を示す斜視図、図6は図5で示したデジタルカメラの垂直断面図である。図5において、カメラ本体100の上部には、アクセサリシュー110、光学ファインダ104、AE(自動露出)ロックボタン115、AF(オートフォーカス)の測距点選択ボタン113、撮影操作をするためのレリーズボタン114が設けられている。また、電子ダイヤル411、モードダイヤル60、および外部表示装置409が設けられている。電子ダイヤル411は、他の操作ボタンと併用してカメラに数値を入力したり、撮影モードを切り換えたりするための多機能信号入力装置である。また、外部表示装置409は、液晶表示装置から構成され、シャッタースピード、絞り値、撮影モードなどの撮影条件や、他の情報を表示する。
また、カメラ本体100の背面には、撮影された画像や各種設定画面などを表示するLCDモニタ装置417が設けられている。また、LCDモニタ装置417に撮影した画像を表示する再生スイッチ66、単写/連写スイッチ68、十字配置スイッチ116、メニューボタン124、および電源スイッチ72が設けられている。
単写/連写スイッチ68は、後述するシャッタースイッチSW2(64)がONになった場合に、1コマの撮影を行って待機状態とする単写モードと、シャッタースイッチSW2(64)がONの間連続して撮影を行い続ける連写モードとを設定することができる。
十字配置スイッチ116は、上下左右に配された4つのボタンと、中央に配されたSETボタン117を有し、ユーザがLCDモニタ装置417に表示されるメニュー項目などの選択や実行をカメラに指示するために用いられる。
メニューボタン124は、LCDモニタ装置417にカメラの各種設定を行うためのメニュー画面を表示させるためのボタンである。例えば、撮影モードを選択、設定する時は、このメニューボタン124を押した後、十字配置スイッチ116の上下左右のボタンを操作して希望のモードを選択し、希望のモードが選択された状態でSETボタン117を押すことにより設定が完了する。
本実施形態のLCDモニタ装置417は透過型であるため、LCDモニタ装置の駆動だけでは画像を視認することはできず、必ずその裏面には図6に示すようにバックライト照明装置416が必要である。LCDモニタ装置417とバックライト照明装置416は図7における画像表示部28を構成している。
図6に示すように、本実施形態の撮像装置は、主にカメラ本体100と、交換レンズタイプのレンズユニット300により構成されている。図6において、撮影光軸401が示されている。レンズユニット300は、複数のレンズから成る撮像レンズ310、絞り312を含む撮像光学系を有する。レンズユニット300は、カメラ本体100に対してレンズマウント306を介して着脱可能である。
カメラ本体100において、ミラー130は撮影光路中に配置され、レンズユニット300からの被写体光をファインダ光学系に導く位置(図6に示す位置、斜設位置と呼ぶ)と撮影光路外に退避する位置(退避位置と呼ぶ)との間で移動可能である。なお、ミラー130はクイックリターンミラーの構成としても、ハーフミラーの構成としても、どちらでも構わない。
図6において、ピント板207上にはミラー130から光学ファインダ104に導かれる被写体光が結像される。コンデンサレンズ205はファインダの視認性を向上させる。ペンタゴナルダハプリズム132は、ピント板207およびコンデンサレンズ205を通った被写体光をファインダ観察用の接眼レンズ208および光学ファインダ104に導く。
後幕209と先幕213はそれぞれシャッターを構成する。これら後幕209と先幕213の開放によって後方に配置されている固体撮像素子である撮像素子14が必要時間だけ露光される。撮像素子14は、その前面に光学ローパスフィルタ418が配設されており、撮像素子14に結像する被写体像の空間周波数を調整している。撮影画像に影響を及ぼすゴミ(異物)は、この光学ローパスフィルタ418に付着し、撮像素子14に結像する被写体像に影として現れることにより、撮影画像の品質を劣化させる。
撮像素子14はプリント基板211に保持されている。このプリント基板211の後方には、もう一枚のプリント基板である表示基板215が配置されている。この表示基板215の反対側の面にLCDモニタ装置417およびバックライト照明装置416が配置されている。
記録媒体200は画像データを記録する。この記録媒体200および電池(携帯用電源)86は、カメラ本体100に対して着脱可能である。
図7は、本発明の実施例1に係るレンズ交換式のデジタルカメラの回路構成を示すブロック図である。まず、レンズユニット300の構成について説明する。レンズマウント306内には、レンズユニット300をカメラ本体100と電気的に接続する各種機能が含まれている。レンズマウント306において、レンズユニット300をカメラ本体100と接続するためのインターフェース320、レンズユニット300をカメラ本体100と電気的に接続するコネクタ322が備えられている。
コネクタ322は、カメラ本体100とレンズユニット300との間で制御信号、状態信号、データ信号などを伝え合うと共に、各種電圧の電流を供給される機能も備えている。また、コネクタ322は電気通信のみならず、光通信、音声通信などを伝達する構成としても良い。
絞り制御部340は、カメラ本体100の測光制御部46からの測光情報に基づいて、後述するカメラ本体100のシャッター12を制御するシャッター制御部40と連携しながら、絞り312を制御する。フォーカス制御部342は、撮像レンズ310のフォーカシングを制御し、ズーム制御部344は、撮像レンズ310のズーミングを制御する。
レンズシステム制御回路350は、レンズユニット300全体を制御する。レンズシステム制御回路350は、動作用の定数、変数、プログラムなどを記憶するメモリを備えている。更に、レンズユニット300固有の番号などの識別情報、管理情報、開放絞り値や最小絞り値、焦点距離などの機能情報、現在や過去の各設定値などを保持する不揮発性メモリも備えている。
次に、カメラ本体100の構成について説明する。レンズマウント106は、カメラ本体100とレンズユニット300を機械的に結合する。シャッター12は、後幕209および先幕213を備える。撮像レンズ310に入射した光線は、一眼レフ方式によって光量制限手段である絞り312、レンズマウント306及び106、ミラー130、シャッター12を介して導かれ、光学像として被写体像を光電変換する撮像素子14上に結像する。
A/D変換器16は、撮像素子14から出力されるアナログ信号をデジタル信号に変換する。タイミング発生回路18は、撮像素子14、A/D変換器16、D/A変換器26にそれぞれクロック信号や制御信号を供給し、メモリ制御回路22及びシステム制御回路50により制御される。
画像処理回路20は、A/D変換器16からのデータ或いはメモリ制御回路22からのデータに対して所定の画素補間処理や色変換処理を行う。また、画像処理回路20は、必要に応じて、A/D変換器16から出力される画像データを用いて所定の演算処理を行う。得られた演算結果に基づいてシステム制御回路50がシャッター制御部40や焦点調節部42を制御するための、TTL(スルー・ザ・レンズ)方式のAF処理、AE処理、フラッシュプリ発光(EF)処理を行うことができる。さらに、画像処理回路20は、A/D変換器16から出力される画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のオートホワイトバランス(AWB)処理も行っている。
なお、本実施形態における図7に示す例では、焦点調節部42及び測光制御部46を専用に備えている。従って、焦点調節部42及び測光制御部46を用いてAF処理、AE処理、EF処理の各処理を行い、画像処理回路20を用いたAF処理、AE処理、EF処理の各処理を行わない構成としても構わない。また、焦点調節部42及び測光制御部46を用いてAF処理、AE処理、EF処理の各処理を行い、さらに、画像処理回路20を用いたAF処理、AE処理、EF処理の各処理を行う構成としてもよい。
メモリ制御回路22は、A/D変換器16、タイミング発生回路18、画像処理回路20、画像表示メモリ24、D/A変換器26、メモリ30、圧縮・伸長回路32を制御する。A/D変換器16から出力される画像データは、画像処理回路20とメモリ制御回路22を介して、或いはメモリ制御回路22のみを介して、画像表示メモリ24或いはメモリ30に書き込まれる。
画像表示部28は、LCDモニタ装置417、バックライト照明装置416等から成る。画像表示メモリ24に書き込まれた表示用の画像データは、D/A変換器26を介して画像表示部28により表示される。画像表示部28を用いて撮像した画像データを逐次表示することで、電子ビューファインダ(EVF)機能を実現することができる。また、画像表示部28は、システム制御回路50の指示により任意に表示をON/OFFすることが可能であり、表示をOFFにした場合にはカメラ本体100の電力消費を大幅に低減することができる。
撮影した静止画像を格納するためのメモリ30は、所定枚数の静止画像を格納するのに十分な記憶容量を備えている。これにより、複数枚の静止画像を連続して撮影する連写撮影やパノラマ撮影の場合にも、高速かつ大量の画像書き込みをメモリ30に対して行うことが可能となる。また、動画撮影時には、所定レートで連続的に書き込まれる画像のフレームバッファとして使用される。さらに、メモリ30はシステム制御回路50の作業領域としても使用することが可能である。
圧縮・伸長回路32は、公知の圧縮方法を用いて画像データを圧縮・伸長する。圧縮・伸長回路32は、メモリ30に格納された画像を読み込んで圧縮処理或いは伸長処理を行い、処理を終えたデータを再びメモリ30に書き込む。
シャッター制御部40は、測光制御部46からの測光情報に基づいて絞り312を制御する絞り制御部340と連携しながらシャッター12を制御する。焦点調節部42はAF処理を行う。レンズユニット300内の撮像レンズ310に入射した光線を絞り312、レンズマウント306、106、ミラー130及び焦点調節用サブミラー(不図示)を介して一眼レフ方式で入射することにより、光学像として結像された画像の合焦状態を測定する。
測光制御部46はAE処理を行う。レンズユニット300内の撮像レンズ310に入射した光線を、絞り312、レンズマウント306、106、ミラー130及び測光用サブミラー(図示せず)を介して一眼レフ方式で入射することにより、光学像として結像された画像の露出状態を測定する。フラッシュ48は、AF補助光の投光機能、フラッシュ調光機能も有する。測光制御部46はフラッシュ48と連携することにより、EF処理機能も有する。
また、焦点調節部42による測定結果と、A/D変換器16からの画像データを画像処理回路20によって演算した演算結果とを用いて、AF制御を行うようにしてもよい。さらに、測光制御部46による測定結果と、A/D変換器16からの画像データを画像処理回路20によって演算した演算結果とを用いて露出制御を行うようにしてもよい。
カメラ本体100全体を制御するシステム制御回路50は、周知のCPUなどを内蔵する。メモリ52は、システム制御回路50の動作用の定数、変数、プログラム等を記憶する。
通知部54は、システム制御回路50でのプログラムの実行に応じて、文字、画像、音声などを用いて動作状態やメッセージなどを外部に通知する。通知部54としては、例えばLCDやLEDなどによる視覚的な表示を行う表示部や音声による通知を行う発音素子などが用いられるが、これらのうち1つ以上の組み合わせにより構成される。特に、表示部の場合には、例えば外部表示装置409のようにカメラ本体100の操作部70近辺で、視認しやすい、単数あるいは複数箇所に設置されている。また、通知部54は、その一部の機能が光学ファインダ104内に設置されている。
通知部54の表示内容の内、LCDなどの画像表示部28に表示するものとしては以下のものがある。まず、単写/連写撮影表示、セルフタイマ表示等、撮影モードに関する表示がある。また、圧縮率表示、記録画素数表示、記録枚数表示、残撮影可能枚数表示等の記録に関する表示がある。また、シャッター速度表示、絞り値表示、露出補正表示、調光補正表示、外部フラッシュ発光量表示、赤目緩和表示等の撮影条件に関する表示がある。その他に、マクロ撮影表示、ブザー設定表示、電池残量表示、エラー表示、複数桁の数字による情報表示、記録媒体200及びPC210の着脱状態表示がある。更に、レンズユニット300の着脱状態表示、通信I/F動作表示、日付・時刻表示、外部コンピュータとの接続状態を示す表示等も行われる。
また、通知部54の表示内容のうち、光学ファインダ104内に表示するものとしては、例えば、以下のものがある。合焦表示、撮影準備完了表示、手振れ警告表示、フラッシュ充電表示、フラッシュ充電完了表示、シャッター速度表示、絞り値表示、露出補正表示、記録媒体書き込み動作表示等である。
後述するプログラムなどが格納された電気的に消去・記録可能な不揮発性メモリ56は、例えばEEPROM等が用いられる。
モードダイヤル60、シャッタースイッチ62及び64、再生スイッチ66、単写/連写スイッチ68、及び操作部70は、システム制御回路50の各種の動作指示を入力するための操作手段である。
モードダイヤル60は、自動撮影モード、プログラム撮影モード、シャッター速度優先撮影モード、絞り優先撮影モード、マニュアル撮影モード、焦点深度優先(デプス)撮影モード等の各機能撮影モードを切り替え設定することができる。他に、ポートレート撮影モード、風景撮影モード、接写撮影モード、スポーツ撮影モード、夜景撮影モード、パノラマ撮影モード、動画撮影モードなどの各機能撮影モードを切り替え設定することもできる。
シャッタースイッチSW1(62)は、レリーズボタン114の操作途中(例えば半押し)でONとなり、AF処理、AE処理、AWB処理、EF処理等の動作開始を指示する。
シャッタースイッチSW2(64)は、レリーズボタン114の操作完了(例えば全押し)でONとなり、露光処理、現像処理、及び記録処理からなる一連の処理の動作開始を指示する。まず、露光処理では、撮像素子14から読み出した信号をA/D変換器16、メモリ制御回路22を介してメモリ30に書き込み、更に、画像処理回路20やメモリ制御回路22での演算を用いた現像処理が行われる。更に、記録処理では、メモリ30から画像データを読み出し、圧縮・伸長回路32で圧縮を行い、記録媒体200あるいはPC210に書き込む、または送信する。
再生スイッチ66は、撮影モード状態で撮影した画像をメモリ30あるいは記録媒体200、PC210から読み出して画像表示部28に表示する再生動作の開始を指示する。他に、再生モード、マルチ画面再生・消去モード、PC接続モード等の各機能モードを設定することができる。
単写/連写スイッチ68は、シャッタースイッチSW2(64)がONになった場合に1コマの撮影を行って待機状態とする単写モードと、シャッタースイッチSW2(64)がONの間に連続して撮影を行い続ける連写モードとを設定することができる。
操作部70は、各種ボタンやタッチパネルなどから成る。一例として、ライブビュー開始/停止ボタン、動画記録開始/停止ボタン、メニューボタン124、SETボタン117、十字配置スイッチ116などを含む。なお、上記十字配置スイッチ116の上下左右のボタンの各機能は、回転ダイヤルスイッチを備えることによって、より軽快に数値や機能を選択することが可能となる。
また、画像表示部28のON/OFFを設定する画像表示ON/OFFスイッチ、撮影直後に撮影した画像データを自動再生するクイックレビュー機能を設定するクイックレビューON/OFFスイッチがある。また、JPEG圧縮の圧縮率を選択するため、あるいは撮像素子の信号をそのままデジタル化して記録媒体に記録するRAWモードを選択するためのスイッチである圧縮モードスイッチがある。また、ワンショットAFモードとサーボAFモードとを設定可能なAFモード設定スイッチなどがある。ワンショットAFモードでは、シャッタースイッチSW1(62)を押した際にオートフォーカス動作を開始し、一旦合焦した場合、その合焦状態を保ち続ける。サーボAFモードでは、シャッタースイッチSW1(62)を押している間、連続してオートフォーカス動作を続ける。更に、後述するようにゴミ検出用画像を撮影してゴミ情報を取得する、ゴミ情報取得モードを設定することができる設定スイッチを含む。
電源スイッチ72は、カメラ本体100の電源オン、電源オフの各モードを切り替え設定することができる。また、カメラ本体100に接続されたレンズユニット300、外部フラッシュ装置112、記録媒体200、PC210等の各種付属装置の電源オン、電源オフの設定も合わせて切り替え設定可能である。
電源制御部80は、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成されている。電源制御部80は、電池の装着の有無、電池の種類、電池残量の検出を行い、検出結果及びシステム制御回路50の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体を含む各部へ供給する。
電源部86はアルカリ電池やリチウム電池等の一次電池、ACアダプター等からなり、コネクタ82、84を介してカメラ本体100に装着される。
90及び94は、メモリカードやハードディスク等の記録媒体やPCとのインタフェースである。コネクタ92及び96は、メモリカードやハードディスク等の記録媒体やPCとカメラ本体100との接続を行う。記録媒体着脱検知回路98は、コネクタ92及び/或いは96に記録媒体200或いはPC210が装着されているか否かを検知する。
なお、本実施形態では記録媒体を取り付けるインターフェース及びコネクタを2系統持つものとして説明しているが、記録媒体を取り付けるインターフェース及びコネクタは、単数或いは複数、いずれの系統数を備える構成としても構わない。また、異なる規格のインターフェース及びコネクタを組み合わせて備える構成としても構わない。
インターフェース及びコネクタとしては、種々の記憶媒体の規格に準拠したものを用いて構成することが可能である。例えば、PCMCIA(Personal Computer Memory Card International Association)カードやCF(コンパクトフラッシュ(登録商標))カード、SDカード等である。インターフェース90及び94、そしてコネクタ92及び96をPCMCIAカードやCFカード等の規格に準拠したものを用いて構成した場合、各種通信カードを接続することができる。通信カードとしては、LANカードやモデムカード、USB(Universal Serial Bus)カード、IEEE(Institute of Electrical and Electronic Engineers)1394カードがある。他にも、P1284カード、SCSI(Small Computer System Interface)カード、PHS等がある。これら各種通信カードを接続することにより、他のコンピュータやプリンタ等の周辺機器との間で画像データや画像データに付属した管理情報を転送し合うことができる。
光学ファインダ104には、撮像レンズ310に入射した光線を、一眼レフ方式によって、絞り312、レンズマウント306、106、ミラー130、132を介して導き、光学像として結像させて表示することができる。これにより、画像表示部28による電子ファインダ機能を使用すること無しに、光学ファインダのみを用いて撮影を行うことが可能である。また、光学ファインダ104内には、通知部54の一部の機能、例えば、合焦状態、手振れ警告、フラッシュ充電、シャッター速度、絞り値、露出補正などが表示される。外部フラッシュ装置112は、アクセサリシュー110を介して装着される。120はレンズマウント106内でカメラ本体100をレンズユニット300と接続するためのインターフェースである。
コネクタ122は、カメラ本体100をレンズユニット300と電気的に接続する。また、レンズマウント106及びコネクタ122にレンズユニット300が装着されているか否かは、不図示のレンズ着脱検知部により検知される。コネクタ122はカメラ本体100とレンズユニット300との間で制御信号、状態信号、データ信号などを伝え合うと共に、各種電圧の電流を供給する機能も備えている。
コネクタ122を介して通信される、レンズユニット300の各種光学情報(絞り、ズーム位置、瞳位置、焦点距離など)は、カメラ本体100のメモリ30に記憶される。通信の要求をカメラ本体100側から行う場合もあれば、レンズユニット300側から情報更新のたびに通信される場合もある。なお、コネクタ122は電気通信だけでなく、光通信、音声通信などを伝達する構成としてもよい。
メモリカードやハードディスク等の記録媒体200は、半導体メモリや磁気ディスク等から構成される記録部202、カメラ本体100とのインタフェース204、カメラ本体100と接続を行うコネクタ206を備えている。記録媒体200としては、PCMCIAカードやコンパクトフラッシュ(登録商標)等のメモリカード、ハードディスク等を用いることができる。また、マイクロDAT、光磁気ディスク、CD−RやCD−RW等の光ディスク、DVD等の相変化型光ディスク等で構成されていても勿論構わない。
PC210は、磁気ディスク(HD)等から構成される記録部212、カメラ本体100とのインターフェース214、カメラ本体100と接続を行うコネクタ216を備えている。インターフェース94はUSBやIEEE1394などが挙げられるが、特に限定はない。
(ゴミ検出処理制御)
本実施例では、まず、撮像素子14の前方に配置された光学ローパスフィルタ(光学部材)418に付着したゴミの情報(異物情報)を得るためのゴミ検出用画像を撮影する。そして、ゴミデータを抽出し、ゴミ補正データ(ゴミ情報プロファイル)を生成しておく。ここでゴミ検出用画像は、できるだけ均一な輝度面を撮影した画像が望ましいが、身近な場所で容易に撮影できることが望ましいため、厳密な均一性を要求するものではない。例えば、青空や白い壁面を撮影することを想定している。
まず、光学ローパスフィルタ418に付着したゴミの位置を検出する処理の例を、図1のフローチャートを用いて説明する。この処理は、システム制御回路50が不揮発性メモリ56に記憶されたゴミ検出処理プログラムを実行することにより実施される。
ゴミ検出処理は、ゴミ検出用画像を撮像することにより行われる。ゴミ検出処理を行う場合、面光源装置の射出面や白い壁などの均一な色を持つ面にレンズユニット300の撮影光軸401を向けてカメラを設置し、ゴミ検出の準備を行なう。または、レンズマウント106にゴミ検出用のライトユニット(レンズの代わりに装着する小型の点光源装置)を装着し、ゴミ検出の準備を行う。ライトユニットの光源は例えば白色LEDが考えられ、発光面のサイズを予め定めた絞り値(例えば、F32)相当になるように調整するのが望ましい。このように、本実施例においてゴミ検出用画像は、均一な色を有する画像である。
準備が終了した後、例えば十字配置スイッチ116からゴミ検出処理の開始が指示されると、図1において、システム制御回路50は、まずステップS101でレンズの収納状態の通知をレンズシステム制御回路350へ要求する。
次に、システム制御回路50は、ステップS102でレンズの収納状態を示す情報をレンズシステム制御回路350から受信し、ステップS103でレンズの収納状態が「撮影可能」かを判定する。レンズの収納状態が「撮影可能」である場合は、ゴミ検出ルーチンが正常に動作できると判断し、ステップS104のゴミ検出ルーチン(第2のモード)を実行する。
本実施例では、レンズの収納状態として、「収納(第1の状態)」、「撮影可能(第2の状態)」、「収納動作中」の3つが存在する。図16はレンズ鏡筒の状態を説明するための模式図である。図16(A)は「収納」の状態を示し、レンズ鏡筒1603が回転筒1604に繰り込まれた状態となっている。一方、図16(B)は「撮影可能」の状態を示し、レンズ鏡筒1603が回転筒1604から繰り出された状態となっている。レンズ鏡筒1603は、不図示のズームリングを回転させることにより、光軸方向において移動可能である。ズームリングの回転は不図示のセンサーによって検出され、その回転量に応じてズーム位置が検出される。レンズの収納状態は、ズームリングの回転位置を検出することによって判定される。レンズ鏡筒1603が移動している最中は「収納動作中」、停止している際は、レンズの収納状態が「収納」か「撮影可能」かが判定され、レンズシステム制御回路350はその判定結果を記憶しておく。より具体的には、レンズ鏡筒1603が所定位置より繰り込まれている場合には「収納」、繰り出されている場合には「撮影可能」と判定される。ここで、所定位置とは、レンズの広角端に相当する位置、またはその付近に設定される。または、所定位置から所定パルス望遠側にレンズが繰り出された場合に、「収納」から「撮影可能」に移行したと判定してもよい。
一方、レンズの収納状態が「撮影可能」でない場合は、ゴミ検出用の撮影が正常にできないため、ゴミ検出ルーチン(ステップS104)を実行せず、ステップS105に進んでゴミ検出撮影ができないことを画像表示部28に警告表示(警告を報知)する。
警告表示は、レンズの収納解除をユーザに促すような表記が望ましい。図3(A)では、警告表示2001の一例を示している。ユーザは例えば十字配置スイッチ116を用いて、処理を継続するか(OKを選択)、処理をキャンセルするか(キャンセルを選択)を指定することができる。なお、この警告表示は、ゴミ検出撮影ではない通常の記録用画像撮影時(第2のモード)にレンズが収納された場合には表示されない。
ステップS106において、警告表示に対し、ユーザがゴミ検出処理をキャンセルしたか否かを判定する。ゴミ検出処理をキャンセルした場合は、ゴミ検出を行わないまま一連のゴミ検出処理を終了する。ユーザがキャンセル操作を行わず、処理の継続を選択した場合は、ステップS101に戻り、再度レンズへ収納状態通知を要求する。
(収納状態通信フロー)
次に、レンズシステム制御回路350から収納状態を通知する収納状態通信のフローを図2を用いて説明する。この処理は、レンズシステム制御回路350により実施される。
レンズシステム制御回路350は、まずステップS201において、カメラからの収納状態の通知要求があるかを確認する。カメラからの通知要求があった場合は、ステップS202に進み、レンズの収納状態が「収納動作中」かどうかを判定する。「収納動作中」であればステップS207に進み、「収納動作中」でなければステップS203に進む。ステップS207に進んだ場合、レンズシステム制御回路350は、「収納動作中」であることを示す情報をカメラへ送信する。
一方、ステップS203では、レンズシステム制御回路350は、レンズの収納状態が「収納」かどうかを判定する。レンズの収納状態が「撮影可能」の場合は、ステップS204に進み、「撮影可能」であることを示す情報をカメラへ送信する。一方、レンズの収納状態が「収納」の場合は、ステップS205に進み、「収納」であることを示す情報をカメラへ送信する。
ステップS201においてカメラからの収納状態通知要求がなかった場合は、ステップS206において、レンズの収納状態に変化があるかを監視している。収納状態に変化があった場合はステップS202に進み、レンズの収納状態に応じた通知をカメラに行う。
本実施例ではカメラからレンズの収納状態の通知要求を周期的(例えば200msごと)に行うようにしているが、レンズ側で収納状態の変化を監視して、変化があったときのみレンズから通知するようにしてもよいし、両方の方法で通知を行うようにしてもよい。
(ゴミ検出ルーチン)
次に図1のステップS104で行うゴミ検出ルーチンの詳細について図8を用いて説明する。ゴミ検出ルーチンの開始が指示されると、システム制御回路50は、ステップS801において、まず絞りの設定を行う。撮像素子近傍のゴミはレンズの絞り値によって結像状態が変わり、レンズの瞳位置によって位置が変化する。したがって、ゴミ補正データにはゴミの位置や大きさに加え、検出時の絞り値とレンズの瞳位置を保持する必要がある。
ただし、ゴミ補正データを作成する段階で、異なるレンズを用いたとしても常に同じ絞り値を使うことを予め決めておけば、必ずしもゴミ補正データ内に絞り値を保持する必要はない。また、瞳位置に関してもライトユニットを用いたり、特定のレンズのみの使用を許可することで、同様に必ずしもゴミ補正データ内に瞳位置を保持する必要はなくなる。
つまり、ゴミ補正データを作成する段階において、使用するレンズを複数許可したり、絞り値を適宜変更する場合には、検出時の絞り値とレンズの瞳位置を、ゴミ補正データ内に保持する必要があると言える。なお、ここで瞳位置とは、射出瞳の撮像面(焦点面)からの距離を意味する。ここでは、例えば絞り値としてF22を指定する。
次に、ステップS802において、システム制御回路50はコネクタ122を介して絞り制御部340に対し、レンズユニット300の絞り312の制御情報を送信し、ステップS801で指定された絞り値に絞り312を設定する。さらに、ステップS803において、システム制御回路50はフォーカス制御部342にフォーカス位置を無限遠に設定するよう指示する。
撮影レンズの絞り値とフォーカス位置が設定されると、ステップS804において、システム制御回路50は、ゴミ検出モードでの撮影を実行する。ステップS804で行うゴミ検出モードでの撮像処理ルーチンの詳細に関しては、図13を用いて後述する。撮影された画像データは、メモリ30に格納される。
撮影が終了すると、ステップS805において、撮影時の絞り値とレンズ瞳位置を取得する。そして、ステップS806において、メモリ30に記憶されている撮影画像の各画素に対応するデータを画像処理回路20に読み出す。ステップS807では、画像処理回路20により、ゴミが存在する画素の位置と大きさを取得するゴミ領域取得ルーチンを実行する。ゴミ領域取得ルーチンの詳細については、図10を用いて後述する。ステップS808では、ステップS807で取得したゴミが存在する画素の位置と大きさについての情報、およびステップS805で取得した絞り値とレンズ瞳位置情報を含むゴミ補正データを不揮発性メモリ56に登録する。ここで、前述したライトユニットを用いた場合には、レンズ情報を取得できない。そこで、レンズ情報が取得できない場合は、ライトユニットを使ったと判断し、予め定められたレンズ瞳位置情報と、ライトユニットの光源径から算出される換算絞り値を登録する。ゴミ補正データは、ゴミ検出撮影を行った後に通常撮影のモードで撮影された画像データに付加される。
なお、ステップS808において、予め不揮発性メモリ56に記録されている製造時からの不良画素(画素欠陥)の位置と、読み出した画素データの位置を比較し、画素欠陥では無いと判断された領域のみ、不揮発性メモリ56に位置を登録しても良い。
不揮発性メモリ56に格納されるゴミ補正データのデータ形式例を図9に示す。図9に示しているように、ゴミ補正データには、検出用画像撮影時のレンズ情報とゴミの位置、大きさなどの情報が格納される。具体的には、検出用画像撮影時のレンズ情報として、検出用画像撮影時における実際の絞り値(F値)と、そのときのレンズ瞳位置が含まれる。続いて記憶領域に検出したゴミ領域の数(整数値)を格納し、これに続き、個々の具体的なゴミ領域のパラメータを、ゴミ領域の数だけ繰返して格納する。ゴミ領域のパラメータは、ゴミの大きさと位置を示し、例えばゴミの半径(例えば2バイト)、有効画像領域における中心のx座標(例えば2バイト)及びy座標(例えば2バイト)の3つの数値のセットである。
不揮発性メモリ56の大きさ等によりゴミ補正データサイズに制限がある場合、図8のステップS807で得られたゴミ領域の先頭から優先してデータを格納する。これは、ステップS807のゴミ領域取得ルーチン内では、後述するように、ゴミ領域を目立つゴミの順にソートするからである。
(ゴミ領域取得ルーチン)
次に、図10から図12を用いて、図8のステップS807で行うゴミ領域取得ルーチンの詳細について説明する。
図11は、画像データにおけるゴミ領域判定処理の処理単位を示している。図11に示すように、呼び出した画像データをメモリ30上に展開し、予め定められたブロック単位で処理を行う。これは、レンズやセンサ特性に起因する周辺減光に対応するためである。周辺減光とは、レンズの中央部に比べ周辺部の輝度が落ちてしまう現象であり、レンズの絞りを小さくすることである程度軽減されることが知られている。しかし、絞りを絞った状態でも、撮影画像に対して予め定められた輝度のスレッショルド値に基づいてゴミ位置の判定を行うと、レンズによっては周辺部のゴミが正確に検出できなくなる可能性がある。そこで、画像をブロック分割して周辺減光の影響を軽減する。
単純にブロック分割すると、ブロックとブロックの間でスレッショルド値が異なる場合、ブロック間をまたぐゴミの検出結果がずれてしまうという問題がある。そこで、複数のブロックをオーバーラップさせ、オーバーラップ領域を構成するブロックのいずれかでゴミと判定された画素をゴミ領域として扱う。
ブロック内のゴミ領域判定は、図10のフローに示す処理の流れで行う。まず、ステップS1001において、ゴミ画素の判定を行う。まず、ブロック内の最大輝度Lmax、平均輝度Laveを算出する。そして、次式を用いてブロック内のスレッショルド値T1を算出し、輝度がスレッショルド値T1を超えない画素をゴミ画素と判定する。
T1=Lave×0.6+Lmax×0.4
次に、ステップS1002において、ゴミ画素によって構成される孤立領域を各々一つのゴミ領域di(i=0,1,…,n)と判定する。ステップS1003に進み、ゴミ領域のサイズを取得する。ゴミ領域サイズ算出について、図12を用いて説明する。図12に示すように、ゴミ領域毎に、ゴミ領域を構成する画素の水平方向の座標の最大値Xmaxおよび最小値Xmin、垂直方向の座標の最大値Ymaxおよび最小値Yminを求め、ゴミ領域diのサイズを表す半径riを次式によって算出する。
ri=√[{(Xmax−Xmin)/2}2+{(Ymax−Ymin)/2}2]
ステップS1004に進み、ゴミ領域毎の平均輝度値を算出する。不揮発性メモリ56のサイズによる制限などのため、ゴミ補正データのデータサイズが制限されている場合がある。このような場合に対応するために、ステップS1005において、ゴミ位置情報を、大きさやゴミ領域の平均輝度値によってソートする。本実施例では、riの大きい順にソートする。riが等しい場合、平均輝度値の低い順にソートする。このようにすることで、目立つゴミを優先してゴミ補正データに登録することが出来る。なお、ソート済みのゴミ領域の座標をDi、ゴミ領域Diの半径をRiとする。
なお、予め定められたサイズより大きいゴミ領域がある場合、ソートの対象から外し、ソート済みゴミ領域リストの末尾に配置しても良い。大きいゴミ領域については、後に補間処理をするとかえって画質を低下させる場合があり、補正対象の優先順位としては最下位として扱うことが望ましいからである。
(撮像処理ルーチン)
次に、図13に示すフローチャートを用いて、図8のステップS804で行われる撮像処理ルーチンの詳細について説明する。この処理はシステム制御回路50が不揮発性メモリ56に記憶された撮像処理プログラムを実行することにより実施される。
この撮像処理ルーチンが実行されると、ステップS1301でシステム制御回路50は、図6及び図7に示すミラー130を作動させ、いわゆるミラーアップを行い、撮影光路外にミラー130を退避させる。
次に、ステップS1302で撮像素子14での電荷蓄積を開始し、次のステップS1303では図7に示したシャッター12をそれぞれ走行させて露光を行う。そして、ステップS1304で撮像素子14の電荷蓄積を終了し、次のステップS1305で撮像素子14から画像信号を読み出してA/D変換器16および画像処理回路20で処理した画像データをメモリ30に一次記憶する。
次のステップS1306で撮像素子14から全ての画像信号の読み出しが終了すると、ステップS1307でミラーダウンし、ミラー130を斜設位置に戻して一連の撮像動作を終了する。
ステップS1308にて、通常撮影かゴミ検出用画像撮影かを判断し、通常撮影の場合はステップS1309へ進んで、撮影した画像が記録媒体200に記録される。一方、ゴミ検出用画像撮影の場合は撮影した画像を記録せずに終了する。
(ゴミ除去処理)
次に、上述のゴミ補正データを用いて、静止画像ファイルに対して画像処理によりゴミ除去を行う動作の流れについて説明する。本実施例では、静止画像ファイルに対してゴミ除去処理を行う場合について説明するが、動画像ファイルに対しても静止画像ファイルに対するゴミ除去処理と同様の手法を適用することができる。
図14は、ゴミ除去処理を示すフローチャートである。まず、ステップS1401において、システム制御回路50は、ゴミ除去処理を行う画像ファイルを指定し、画像処理回路20に読み込ませる。なお、本実施例では、カメラ内の画像処理回路20によりゴミ除去処理を行っているが、カメラ外部の画像処理装置を用いて行ってもよい。
次に、ステップS1402において、画像処理回路20は、図10のステップS1005で作成したゴミ補正データを取得する。
次に、ステップS1403において、画像処理回路20は、ステップS1402で取得したゴミ補正データから、ゴミ補正パラメータを取得する。具体的には、座標列Di(i=1,2,…n)、半径列Ri(i=1,2,…,n)、絞り値f1とレンズ瞳位置L1を得る。さらに、ステップS1404で、撮影時パラメータを取得する。ここでは、撮影時の絞り値f2とレンズの瞳位置L2を取得する。そして、ステップS1405において、画像処理回路20はゴミ補正パラメータを次式で変換する。ここで、dは画像中心から座標Diまでの距離、Hは撮像素子14の表面とゴミとの距離であるとする。変換後の座標Di’と変換後の半径Ri’は例えば次式で定義する。
Di’(x,y)=(L2×(L1−H)×d/((L2−H)×L1))×Di(x,y)
Ri’=(Ri×f1/f2+3) (1)
ここでの単位はピクセルであり、Ri’についての「+3」はマージン量である。
ステップS1406において、画像処理回路20は、座標Di’、半径Ri’で示される領域内のゴミを検出し、必要に応じて補間処理を適用する。補間処理の詳細については後述する。ステップS1407で全ての座標についてゴミ除去処理を適用したかどうかを判定し、全ての座標について処理が終わっていれば処理を終了し、そうでなければステップS1406に戻る。
次に、図14のステップS1406で行うゴミ領域の補間処理の詳細について説明する。図15は、補間ルーチンの流れを示すフローチャートである。
まずステップS1501で、ゴミ領域判定を行う。ゴミ領域とは、次の条件(1)〜(4)全てを満たす領域とする。
(1)図14のステップS1405で算出した中心座標Di’、半径Ri’(式(1)で求められたDi’,Ri’)の円に含まれる画素の平均輝度Yaveと最高輝度Ymaxを用いて次式で求められるスレッショルド値T2より暗い領域。
T2=Yave×0.6+Ymax×0.4
(2)上記の中心座標Di’、半径Ri’の円と接しない領域。
(3)(1)で選択された輝度の低い画素によって構成される孤立領域に対し、図10中のステップS1003と同様の方法で算出した半径値が所定の範囲内(l1画素以上、l2画素未満)である領域。
(4)円の中心座標Diを含む領域。
本実施形態では、l1は3画素、l2は30画素とする。このようにすることで、孤立した小領域だけをゴミ領域として扱うことが可能になる。また、レンズ瞳位置が正確に取得できない場合には、(4)の条件は幅を持たせても良い。例えば、着目領域が座標DiからX方向、Y方向に夫々±3画素の範囲の座標を含めば、ゴミ領域と判定するなどという条件が考えられる。
ステップS1502で、上記条件(1)〜(4)を満たす領域があればステップS1503へ進んでゴミ領域補間を行い、存在しない場合は処理を終了する。ステップS1503で実行するゴミ領域補間処理は、公知の欠損領域補間法で行う。公知の欠損領域補間法には、例えば、特開2001−223894号公報に開示されているパターン置換がある。特開2001−223894号公報では赤外光を用いて欠損領域を特定しているが、本実施形態ではステップS1501で検出したゴミ領域を欠損領域として扱い、パターン置換によりゴミ領域を周囲の正常画素で補間する。パターン置換で埋められない画素については、パターン補間後の画像データに対し、補間対象画素に最も近い順に正常画素をp個選択し、その平均色を用いて補間する。
以上説明したように、本実施例では、レンズの収納状態をカメラに送信し、レンズの収納が解除された「撮影可能」の場合のみゴミ検出撮影を行う。この構成によれば、レンズが収納された状態で誤ってゴミ検出撮影が行われるのを防ぐことで、誤ったゴミ検出結果が採用されるのを防ぐことができる。
なお、本実施例では、レンズの収納状態が「撮影可能」で無い場合の制御として、ゴミ検出撮影を実行しない構成としたが、これに限らず、ゴミ検出撮影を実行した結果を無効とする構成でもよい。この場合も、誤ったゴミ検出結果が採用されるのを防ぐことができる。