(57)【要約】【課題】確実に周期性のないシャッターの開口パターンを低コストで取得できるようにする。【解決手段】複数の周期性のない開口パターンをリストとして開口パターン保持手段によって保持しておき、その中から開口パターンを一つ選択することによって、撮影に使用するシャッターの開口パターンを決定する。ぶれ修復回路４２８は、指定された露光時間の間にシャッターの開閉を不規則に行い、得られた画像とシャッターの開口パターンの相関を用いてぶれを修復する符号化開口処理を行う。【選択図】図３
2010273032.tif 000002
【特許請求の範囲】
【請求項１】
ぶれ検出手段を備えた撮像装置であって、
周期性のないシャッターの開口パターンを保持する開口パターン保持手段と、
前記開口パターン保持手段によって保持された開口パターンから開口パターンを決定する開口パターン決定手段と、
前記開口パターン決定手段によって決定された開口パターンを使用して撮影を行う撮影手段と、
前記ぶれ検出手段によって検出されたぶれ情報と、開口パターンから得られる点像関数の逆フィルタを撮影画像に適用することでぶれ修復した画像を得るぶれ修復正手段とを備えることを特徴とする撮像装置。
【請求項２】
前記開口パターン保持手段は開口パターンのリストを保持し、
前記開口パターン決定手段は、前記開口パターンのリストから開口パターンを選択することによって開口パターンを決定することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記パターン決定手段は、前記開口パターン保持手段によって保持された開口パターンの一部を抜き出すことによって開口パターンを決定することを特徴とする請求項１に記載の撮像装置。
【請求項４】
撮影条件を取得する撮影条件取得手段をさらに備え、
前記開口パターン決定手段は、前記撮影条件に従って開口パターンを決定することを特徴とする請求項１に記載の撮像装置。
【請求項５】
前記撮影条件は、露光時間であることを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記撮影条件は、撮影モードであることを特徴とする請求項４に記載の撮像装置。
【請求項７】
前記撮影モードがポートレートモードの際にピンクノイズ特性に最も近い周波数特性を持つ開口パターンを決定することを特徴とする請求項６に記載の撮像装置。
【請求項８】
前記撮影条件は、ｆ値であることを特徴とする請求項４に記載の撮像装置。
【請求項９】
ぶれ検出手段を備えた撮像装置によるぶれ修復方法であって、
開口パターン保持手段によって予め保持された周期性のないシャッターの開口パターンから開口パターンを決定するステップと、
前記決定された開口パターンを使用して撮影を行うステップと、
前記ぶれ検出手段によって検出されたぶれ情報と、開口パターンから得られる点像関数の逆フィルタを撮影画像に適用することでぶれ修復した画像を得るステップとを有することを特徴とする撮像装置によるぶれ修復方法。
【請求項１０】
ぶれ検出手段を備えた撮像装置を制御するためのプログラムであって、
周期性のないシャッターの開口パターンを保持する開口パターン保持手段と、
前記開口パターン保持手段によって保持された開口パターンから開口パターンを決定するパターン決定手段と、
前記パターン決定手段によって決定された開口パターンを使用して撮影を行う撮影手段と、
前記ぶれ検出手段によって検出されたぶれ情報と、開口パターンから得られる点像関数の逆フィルタを撮影画像に適用することでぶれ修復した画像を得るぶれ修復正手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像データをぶれ修復する技術に関するものである。
【背景技術】
【０００２】
近年、デジタルカメラの撮像素子の高解像度化に伴い、撮影時の手ぶれ補正処理が注目されている。特にパーソナルコンピュータ上で簡単に１００％以上に画像を拡大して確認できるので、如何に手ぶれを補正するかが重要なテーマとなっている。
【０００３】
手ぶれの補正方法としては、ハードウェアによる実現方法と、ソフトウェアによる実現方法とがある。ハードウェアによる実現方法には、カメラにジャイロセンサを搭載し、露光中はジャイロセンサから得た振動を打ち消すようにレンズや撮像素子を駆動して手ぶれを低減する方法が考えられる。例えば、レンズ光学系の補正による実現方法は、特許文献１に開示されている。
【０００４】
しかしながら、ハードウェアによる実現方法には、部品点数や製造コストの増加という問題がある。そのため、安価なデジタルカメラで同様の機能を実現する場合には、ソフトウェアによる実現が考えられる。
【０００５】
ソフトウェアによる実現方法には、短時間露光した画像を複数枚用意して合成する方法が考えられる。例えば、特許文献２に開示されたものがその一つである。特許文献２では、ぶれを許容可能な露光時間で連続的に撮影した複数枚画像の相互のぶれを補正し、合成することによって手ぶれ補正を実現している。
【０００６】
一方で、近年、シャッターの開口パターンをコード化し、このコード化された開口パターンを利用することで手ぶれを補正する技術も開発されている。例えば、ランダムにコード化された露出時間で画像を撮影し、露出時間コードの逆行列をかけることでぶれを補正する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−２１４６５７号公報
【特許文献２】特開２００７−２４３７７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献１で述べられているようなシャッターの開口パターンをランダムにコード化する方法には、次のような課題がある。従来、このランダムな開口パターンを生成するにあたり、疑似乱数を使用して計算する方法が一般的であるが、このような方法では、確実に周期性のないパターンが生成されることは保証されない。もし、このパターンに周期性が現われてしまった場合には、ぶれ補正画像の画質劣化につながってしまうという問題がある。また、デジタルカメラ等への実装を考えた際に、疑似乱数の計算コストがかかってしまうという問題も生じる。
【０００９】
本発明は以上のような状況に鑑みてなされたものであり、確実に周期性のないシャッターの開口パターンを低コストで取得できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の撮像装置は、ぶれ検出手段を備えた撮像装置であって、周期性のないシャッターの開口パターンを保持する開口パターン保持手段と、前記開口パターン保持手段によって保持された開口パターンから開口パターンを決定する開口パターン決定手段と、前記開口パターン決定手段によって決定された開口パターンを使用して撮影を行う撮影手段と、前記ぶれ検出手段によって検出されたぶれ情報と、開口パターンから得られる点像関数の逆フィルタを撮影画像に適用することでぶれ修復した画像を得るぶれ修復正手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、周期性のないシャッターの開口パターンを低コストで取得し、撮影を行うことが可能となり、ぶれ補正を行う際の画像の画質劣化を抑えることができる。
【図面の簡単な説明】
【００１２】
【図１】デジタルカメラの外観を示す斜視図である。
【図２】デジタルカメラの内部構造を示す垂直断面図である。
【図３】デジタルカメラの回路構成を示すブロック図である。
【図４】符号化開口処理によるぶれ修復処理の流れを示すフローチャートである。
【図５】ぶれ修復処理の原理の概念を説明するための図である。
【図６】ＰＳＦの作成方法を示すフローチャートである。
【図７】一般的な回転運動におけるＰＳＦの例を示す図である。
【図８】開口している場合のＰＳＦの例及び周波数特性を示す図である。
【図９】シャッターの開閉条件を制御した場合のＰＳＦの例及び周波数特性を示す図である。
【図１０】回転ぶれを起こした画像及び回転ぶれを補正した画像を示す図である。
【図１１】第１の実施形態における開口パターンのリストを示す図である。
【図１２】第２の実施形態における開口パターンの決定方法を説明するための図である。
【図１３】第３の実施形態における開口パターンの決定処理の流れを示すフローチャートである。
【図１４】開口パターンの候補の選出方法を説明するための図である。
【図１５】第４の実施形態における開口パターンの決定処理の流れを示すフローチャートである。
【図１６】第５の実施形態における開口パターンの決定処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
（第１の実施形態）
図１は本実施形態に係る撮像装置であるデジタルカメラの外観を示す斜視図、図２はデジタルカメラの内部構造を示す図１の垂直断面図、図３はデジタルカメラの回路構成を示すブロック図である。
【００１４】
図１に示すように、カメラ本体１００の上部には、ファインダ観察用の接眼窓１１１、ＡＥ（自動露出）ロックボタン１１２、ＡＦ（自動焦点）の測距点選択ボタン１１３、撮影操作をするためのレリーズボタン１１４が設けられている。また、電子ダイヤル４１１、撮影モード選択ダイヤル１１７、外部表示装置４０９が設けられている。電子ダイヤル４１１は、他の操作ボタンと併用してカメラに数値を入力したり、撮影モードを切り換えたりするための多機能信号入力装置である。また、外部表示装置４０９は、液晶表示装置から構成され、シャッタースピード、絞り、撮影モード等の撮影条件や、他の情報を表示する。
【００１５】
カメラ本体１００の背面には、撮影された画像や各種設定画面等を表示するＬＣＤモニタ装置４１７、ＬＣＤモニタ装置４１７をオン／オフするためのモニタスイッチ１２１、十字配置スイッチ１１６、メニューボタン１２４が設けられている。十字配置スイッチ１１６は、上下左右に配された４つのボタンと、中央に配されたＳＥＴボタンとを有し、ユーザがＬＣＤモニタ装置４１７に表示されるメニュー項目等の選択や実行をカメラに指示するために用いられる。また、メニューボタン１２４は、ＬＣＤモニタ装置４１７にカメラの各種設定を行うためのメニュー画面を表示させるためのボタンである。例えば、撮影モードを選択、設定する時は、このメニューボタン１２４を押した後、十字配置スイッチ１１６の上下左右のボタンを操作して希望のモードを選択し、希望のモードが選択された状態でＳＥＴボタンを押すことにより設定が完了する。このメニューボタン１２４と十字配置スイッチ１１６は、後述するＡＦモードの設定にも使用される。
【００１６】
図２において、１００はカメラ本体、２００は撮像光学系の撮影レンズであり、撮影レンズ２００はカメラ本体１００に対してレンズマウント２０２を介して着脱可能である。２０１は撮影光軸である。
【００１７】
２０３は撮影光路中に配置されたクイックリターンミラーであり、撮影レンズ２００からの被写体光をファインダ光学系に導く位置（図２に示す位置、斜設位置と呼ぶ）と、撮影光路外に退避する位置（退避位置と呼ぶ）との間で移動可能である。
【００１８】
２０４はピント板であり、ピント板２０４上にはクイックリターンミラー２０３からファインダ光学系に導かれる被写体光が結像される。２０５はファインダの視認性を向上させるためのコンデンサレンズ、２０６はペンタゴナルダハプリズムであり、ピント板２０４及びコンデンサレンズ２０５を通った被写体光をファインダ観察用の接眼レンズ２０８及び測光センサ２０７に導く。
【００１９】
２０９、２１０はそれぞれシャッターを構成する後幕と先幕で、これら後幕２０９、先幕２１０の開放によって、後方に配置されている固体撮像素子である撮像素子４１８が必要時間だけ露光される。このとき、後述するようにして決定されたシャッターの開口パターンに従って、指定された露光時間の間にシャッターの開閉を不規則に行い撮影を行う。画像データは、予め定められた時間ｔで時分割露光した状態でＡ／Ｄコンバータ４２３や画像処理回路４２５（図３を参照）等によって処理される。画像処理回路４２５では、露光条件生成回路４２７の出力に応じて選択された画像データを加算合成して出力する。出力された合成画像データは、ぶれ修復回路４２８で露光条件や動き情報を用いてぶれ修復（ぶれ補正）処理を適用し、外部記憶装置４１９等へ出力される。ぶれ修復処理の詳細については後述する。
【００２０】
２１１はプリント基板であり、このプリント基板２１１に撮像素子４１８が保持されている。プリント基板２１１の後方には、もう一枚のプリント基板である表示基板２１５が配置されている。表示基板２１５の反対側の面に、ＬＣＤモニタ装置４１７及びバックライト照明装置４１６が配置されている。
【００２１】
４１９は画像データを記録する外部記憶装置、２１７は電池（携帯用電源）であり、これら外部記憶装置４１９及び電池２１７は、カメラ本体１００に対して着脱可能である。
【００２２】
図３において、マイクロコンピュータ４０２は、撮像素子（本実施形態ではＣＣＤ）４１８が出力する画像データの処理や、ＬＣＤモニタ装置４１７の表示制御をはじめ、カメラ全体の動作を制御する。
【００２３】
スイッチ（ＳＷ１）４０５は、レリーズボタン１１４（図１を参照）の半押し状態でオンになり、スイッチ（ＳＷ１）４０５がオンすると、本実施形態のデジタルカメラは撮影準備状態になる。スイッチ（ＳＷ２）４０６は、レリーズボタン１１４が最後まで押された状態（全押し状態）でオンになり、スイッチ（ＳＷ２）４０６がオンすると、本実施形態のデジタルカメラは撮影動作を開始する。
【００２４】
レンズ制御回路４０７は、撮影レンズ２００との通信及びＡＦ時の撮影レンズ２００の駆動制御や絞り羽根の駆動制御を行う。外部表示制御回路４０８は、外部表示装置（ＯＬＣ）４０９や、ファインダ内の表示装置（不図示）の制御を行う。スイッチセンス回路４１０は、カメラに設けられた電子ダイヤル４１１を含む多数のスイッチ類の信号をマイクロコンピュータ４０２に伝える。ストロボ発光調光制御回路４１２は、Ｘ接点４１２ａを介して接地されており、外部ストロボの制御を行う。
【００２５】
測距（ＡＦ）回路４１３は、ＡＦのための被写体に対するデフォーカス量を検出する。測光（ＡＥ）回路４１４は、被写体の輝度を測定する。シャッター制御回路４１５は、シャッターの制御を行い、撮像素子４１８に対して適正な露光を行う。
【００２６】
本実施形態のＬＣＤモニタ装置４１７は透過型であり、ＬＣＤモニタ装置の駆動だけでは画像を視認することはできず、必ずその裏面には図３に示すようにバックライト照明装置４１６が必要である。このようにＬＣＤモニタ装置４１７とバックライト照明装置４１６は画像表示装置を構成している。
【００２７】
外部記憶装置４１９は、例えばカメラ本体１００に着脱可能なハードディスクドライブや半導体メモリカード等である。
【００２８】
また、マイクロコンピュータ４０２には、Ａ／Ｄコンバータ４２３、画像バッファメモリ４２４、ＤＳＰ等からなる画像処理回路４２５、ぶれ検出手段たる動き情報検出回路４２６、露光条件生成回路４２７、ぶれ修復回路４２８が接続されている。画像処理回路４２５は、スイッチ（ＳＷ２）４０６がオンされた場合、画像データに対して不図示の距離マップ生成回路から得た距離マップを用いてシャープネス処理を適用する。
【００２９】
ぶれ修復回路４２８では、符号化開口（Ｃｏｄｅｄ  Ｅｘｐｏｓｕｒｅ）という技術を用いてぶれ修復を実現する。符号化開口とは、指定された露光時間の間にシャッターの開閉を不規則に行い、得られた画像とシャッターの開口パターンの相関を用いてぶれを修復する技術である。以下、画像の回転方向のぶれを修復する場合を例にして、符号化開口処理の基本的な流れを説明する。その後、本実施形態における符号化開口処理の実現方法について述べる。なお、このぶれ修復回路４２８が、ぶれ情報と開口パターンから得られる点像関数の逆フィルタを撮影画像に適用することでぶれ修復した画像を得るぶれ修復正手段として機能する。
【００３０】
＜符号化開口処理の概要＞
まず、符号化開口処理によるぶれ修復処理の流れについて図４のフローチャートを用いて説明する。例えば通常のカメラでの撮影において、入力された撮影データを考える（ステップＳ４０１）。このとき、（ｘ，ｙ）に単位時間当たりに入射する光の強度をＩ（ｘ，ｙ）、角速度をω（ｔ）、露光時間をＴとすると、カメラには時間ｔにＩ（ｘ，ｙ）を−θ（Ｔ−ｔ）だけ回転させた情報が入射するので、撮影データＩ＿ｂｌｕｒ（ｘ，ｙ）は、下式（１）〜（３）となる。
【００３１】
【数１】
2010273032.tif 000003
【００３２】
なお、座標系の原点は入力される回転中心座標に一致させる。式（１）において、ｈ（ｔ）はシャッターの開閉情報（開口パターン）を表す関数であり、１又は０の値をとる。１ならばシャッターが開いていることを示し、０ならばシャッターが閉じていることを表す。式（１）から式（２）の変形では積分変数の変換を行っている。ω（ｔ）＝ｄθ／ｄｔであり、ω（θ）にはｔとθの関係を利用して、ω（ｔ）をθの変数に書き直した関数である。同様に、ｈ（θ）はｔとθの関係を利用して、ｈ（ｔ）をθに書き直した関数である。ここで、φ＝θ（Ｔ）である。式（３）において、ｈ'（θ）＝ｈ（θ）／ω（θ）である。
【００３３】
次に、露光条件を取得する（ステップＳ４０２）。この場合の露光条件とは、露光時間中のシャッターの開口パターンとする。
【００３４】
次に、ぶれの角度と時間の関係を得る（ステップＳ４０３）。
【００３５】
次に、ぶれ角度と露光条件から、極座標上のＰＳＦ  ｈ'（θ）を算出する（ステップＳ４０４）。ここでＰＳＦとは、Ｐｏｉｎｔ  Ｓｐｒｅａｄ  Ｆｕｎｃｔｉｏｎ（点像分布関数、点像関数）の略である。ＰＳＦ  ｈ'（θ）の詳細な算出方法については後述する。
【００３６】
次に、撮影データを極座標に変換する（ステップＳ４０５）。前述した通り、このときの直交座標系の原点は入力画像の回転中心座標に一致させる。極座標変換を行うと、式（３）は、下式（４）となる。
【００３７】
【数２】
2010273032.tif 000004
【００３８】
ここで、式（３）における（ｘ，ｙ）＝ｒ（ｃｏｓΘ，ｓｉｎΘ）である。これは平行移動に対するぶれと同じ式であり、ＰＳＦ  ｈ'（θ）によるコンボリューションを行ったものとみなすことができる。
【００３９】
これは理論的な式であり、実際のデータはデジタルであることから、実空間から極座標の変換を行うためには、何らかの補間が必要になる。補間方法は任意のものを用いてよい。ここではバイリニア補間を用いることとする。
【００４０】
引き続いて、式（４）のコンボリューションを打ち消すようにデコンボリューションを行う（ステップＳ４０６）。このときのデコンボリューションのアルゴリズムは、任意の既存アルゴリズムを用いればよい。例えば、周波数空間上での除算、Ｌｕｃｙ−Ｒｉｃｈａｒｄｓｏｎのアルゴリズム、Ｗｉｅｎｅｒフィルタを用いたアルゴリズム、正則化フィルタを用いたアルゴリズム等が挙げられる。この例では、開口パターンを制御することでｈ'（θ）の形状をコントロールし、周波数空間上での除算を行うものとする。デコンボリューションの詳細については後述する。
【００４１】
デコンボリューションによってＩ（ｒ，Θ）が得られるので、このＩ（ｒ，Θ）を実空間表示Ｉ（ｘ，ｙ）に戻す（ステップＳ４０７）。この変換処理でも、実空間から極座標への変換と同様に補間処理が必要となる。
【００４２】
その後、実空間に変換したデータをぶれ修復後のデータとして出力する（ステップＳ４０８）。
【００４３】
以上述べたような処理により、不規則に変化させたシャッターの開閉によって得た画像について、その開口パターンとぶれ情報から、画像のぶれ修復処理を実現できる。このぶれ修復処理の原理を概念的に表したものが図５である。図５は、回転方向のぶれを極座標変換によって横方向のぶれに変換し、その横方向のぶれをデコンボリューションによって除去し、最後に実空間に戻して回転方向のぶれを修復する流れを示している。
【００４４】
なお、この例では回転方向のぶれ修復処理を対象とするために極座標に変換して処理を適用したが、前述したように極座標に変換せずに処理を行うことで、水平垂直方向への所謂シフトぶれの補正も可能である。例えば、まず極座標への変換を行わない状態で水平垂直方向のぶれを修復した後に、前述の回転方向のぶれ修復処理を実行することが考えられる。
【００４５】
＜ＰＳＦの作成方法＞
本実施形態では、動き情報検出回路４２６によって角度と時間の関係θ（ｔ）を得ることができる。ＰＳＦの作成方法を図６のフローチャートを用いて説明する。まず、角度を時間で微分することにより、角速度ω（ｔ）を算出する（ステップＳ６０１）。これをθ（ｔ）と組み合わせることにより、角速度をθの関数で表すことができる。これをω（θ）とする。
【００４６】
また、露光条件と角度から、シャッターの開閉情報（開口パターン）を表す関数ｈ（ｔ）についても同様にθの関数で表すことができる。これをｈ（θ）とする（ステップＳ６０２）。
【００４７】
これらの情報から、下式（５）を算出し（ステップＳ６０３）、ｈ'（θ）をＰＳＦとして出力する（ステップＳ６０４）。式（３）より、これが極座標上でのＰＳＦとなる。
【００４８】
【数３】
2010273032.tif 000005
【００４９】
一般的な回転運動におけるＰＳＦの例を図７に示す。図７において、横軸は角度（単位はラジアン）、縦軸はＰＳＦの値を示す。このときの開口条件は、ｈ（ｔ）＝１  （０≦ｔ≦Ｔ）  ｈ（ｔ）＝０  ｅｌｓｅであるとする。また、角速度は加速度運動をしているものとする。ω（θ）が増大していくので、ＰＳＦ  ｈ'（θ）の値は減少する。
【００５０】
＜デコンボリューションの方法＞
式（４）を周波数空間上に変換すると、下式（６）となる。（ｆ，ρ）において、ｆはｒの周波数変換に対応する変数であり、ρはΘの周波数変換に対応する変数である。
【００５１】
【数４】
2010273032.tif 000006
【００５２】
Ｈ'（ｆ，ρ）は既知なので、周波数空間上でＩ＿ｂｌｕｒ（ｆ，ρ）をＨ'（ｆ、ρ）で割れば、Ｉ（ｆ，ρ）を原理的に求めることができる。しかし、ここには問題がある。以下では、等角速度運動によるぶれを考え、ω（θ）を定数であるものとする。
【００５３】
まず通常の露光条件であるｈ（ｔ）＝１  （０≦ｔ≦Ｔ）  ｈ（ｔ）＝０  ｅｌｓｅの場合を考えてみる。ここで、ｈ（ｔ）＝１はシャッターが開いている状態を表し、ｈ（ｔ）＝０はシャッターが閉じている状態を示す。このときのＰＳＦの形状を図８（ａ）に、このＰＳＦを周波数変換したものを図８（ｂ）に示す。図８において、横軸は角度（単位はラジアン）、縦軸は図８（ａ）ではＰＳＦの値、図８（ｂ）ではＨ'（ｆ，ρ）の絶対値を表す。図８（ｂ）から、通常の露光条件の場合には、Ｈ'（ｆ，ρ）の値が周期的に０になる点が現れることが分かる。これは、その周波数に該当する情報が失われてしまっていることを意味する。
【００５４】
このような状態では、デコンボリューションした出力画像上に情報が失われた周波数に相当する部分にエラー（波形の模様）が生じる。このエラーを生じないようにするための技術が符号化開口である。例えば、シャッターの開閉を表す０と１の順序及び長さをランダムに変化させることで、ＰＳＦの周波数特性が０になることを防ぐことができる。このときのＰＳＦの形状を図９（ａ）に、このＰＳＦを周波数変換したものを図９（ｂ）に示す。図９において、縦軸と横軸はそれぞれ図８と同様である。この場合、どの周波数でも情報が失われることはないので、Ｈ'（ｆ，ρ）で除算することにより、理論的には完全にデコンボリューションを行うことが可能である。
【００５５】
最後に、シミュレーションによって回転方向にぶれた画像を生成し、符号化開口を利用したぶれ修復処理を適用した結果を図１０に模式的に示す。図１０（ａ）がぶれた画像、図１０（ｂ）がぶれ修復処理の適用結果である。
【００５６】
以上説明したように、符号化開口を応用したぶれ修復処理を適用することで、好適なぶれ修復結果を得ることができる。また、この処理に必要な情報は、開口パターンと動き情報、開口パターンに従って加算合成して生成したぶれ画像であることが分かる。
【００５７】
次に、本発明の主眼である開口パターンの決定方法について説明する。本実施形態では、複数の周期性のない開口パターンをリストとして開口パターン保持手段によって保持しておき、その中から開口パターンを一つ選択することによって、撮影に使用する開口パターンを決定する。
【００５８】
図１１は、開口パターンのリストを示す図である。リストには、ＩＤと開口パターンが登録されており、それぞれが一対一に関連付けられたテーブルのかたちとなっている。ここで、開口パターンの「１」はシャッターが開いている状態、「０」はシャッターが閉じている状態を示しており、リスト中のそれぞれの開口パターンは周期性を持たないように予め設計されている。
【００５９】
ここで、周期性を持たないパターンとは、図９に示したように、ＰＳＦの周波数特性がゼロにならないようなパターンのことを意味する。この周期性を持たないような開口パターンの設計には、例えば、周期の非常に長いことで知られているメルセンヌ・ツイスタのような疑似乱数生成方法を用いることが考えられる。そして、生成された乱数が周期性を持たないことを検証した上で、リストへと登録する。もちろん、この開口パターンの設計方法には、必ずしも疑似乱数を用いる必要はなく、最終的に生成された開口パターンが周期性を持たないものになれば、任意の方法を用いてよい。また、周期性がないことの検証は、図９に示したように、ＰＳＦを周波数変換し、Ｈ'（ｆ，ρ）の絶対値が、ゼロに落ちないことを確認することによって行えばよい。
【００６０】
本実施形態では、撮影時に、露光条件生成回路４２７によって、この開口パターンのリストの中から、例えばランダムに一つを選択することで、撮影に使用する開口パターンを決定する。これが本発明でいう開口パターン決定手段による処理例である。
【００６１】
撮影後の画像データに対するぶれ補正処理は、ぶれ修復回路４２８により、前述した図４のフローに従って行われる。ここで、ステップＳ４０２における露光条件として、撮影時に開口パターンのリストから選択された開口パターンが取得されることになる。
【００６２】
以上の処理により、撮影時に、確実に周期性を持たない開口パターンを選択して使用することができるので、ＰＳＦの周波数特性が０になることを防ぐことができる。よって、ぶれ補正を行った際に、ぶれ補正画像の画質劣化を抑えることが可能となる。また、テーブル参照によって開口パターンを決定するので、疑似乱数等によって動的にパターンを決定するような従来の方法に比べて、計算コストを抑えることができる。
【００６３】
（第２の実施形態）
第１の実施形態では、予め用意された周期性を持たない開口パターンのリストから一つを選択することによって、撮影に使用する開口パターンを決定する方法について述べた。本実施形態では、開口パターンを決定するための第二の方法について説明する。
【００６４】
本実施形態では、図１２に示すように、予め十分長い周期性のない開口パターンを用意し、その一部分をランダムに抜き出すことによって、撮影に使用する開口パターンを決定する。このように、周期性のないパターンの一部を抜き出すことによって生成されるパターンは、それ自身も必ず周期性を持たないので、確実に周期性のない開口パターンを使って撮影を行うことができるようになる。
【００６５】
この十分長い周期性のない開口パターンを生成する方法に関しては、第１の実施形態で述べた、疑似乱数を使用する方法等が考えられる。本実施形態でも第１の実施形態と同様に、この開口パターンの生成には、必ずしも疑似乱数を用いる必要はなく、生成された開口パターンが周期性を持たないものになれば、任意の方法を用いてよい。また、この予め準備される長い開口パターンは、もちろん一つである必要はなく、第１の実施形態で示したようなリストの形で複数用意し、その中の一部分を使用する開口パターンとして抜き出すようにしてもよい。
【００６６】
撮影後の画像データに対するぶれ補正処理は、第１の実施形態で説明した図４のフローに従って行われる。ここで、ステップＳ４０２における露光条件として、予め準備された十分長い周期性のないパターンの一部を抜き出すことによって決定された開口パターンが取得されることになる。
【００６７】
以上の処理により、撮影時に、確実に周期性を持たない開口パターンを使用することができるので、ＰＳＦの周波数特性が０になることを防ぐことができる。よって、ぶれ補正を行った際に、ぶれ補正画像の画質劣化を抑えることが可能となる。また、疑似乱数等によって動的にパターンを決定するような従来の方法に比べて、計算コストを抑えることができる。
【００６８】
（第３の実施形態）
第１の実施形態及び第２の実施形態では、開口パターンをランダムに一つ決定する方法について説明したが、例えば、これらの方法によって複数の候補を決定し、さらにその候補の中から撮影条件に従って最終的な開口パターンを決定するようにしてもよい。本実施形態では、このように開口パターンの候補が複数ある場合のパターンの決定方法について説明する。
【００６９】
本実施形態では、撮影時の露光時間に従って、複数の開口パターンの候補の中から一つを決定する。この処理の詳細を、図１３のフローチャートを用いて説明する。ステップＳ１３０１では、開口パターンの候補を複数選出する。これは、図１４（ａ）に示すように、周期性のない十分長いパターンからランダムに複数のパターンを抜き出すことによって行ってもよい。或いは、図１４（ｂ）に示すように、周期性のないパターンが複数あり、それぞれから一部分をランダムに抜き出すことによって行ってもよい。また、第１の実施形態で説明したような開口パターンのリスト中の各エントリを複数の候補とみなしてもよい。
【００７０】
ステップＳ１３０２では、ステップＳ１３０１で選出された開口パターンの候補のそれぞれに対して、パターンの平均値を算出する。これは、パターンの各ビットを足し合わせ、ビット長で割ることによって求める。つまり、この平均値は、もし全開口（パターンが全て１）の場合は１となり、全閉口（パターンが全て０）の場合は０となる。よって、ここで算出される平均値は、０から１の間に入ることになる。図１４に示す例では、各候補の平均値を括弧中に示している。
【００７１】
ステップＳ１３０３では、撮影時の露光時間を取得する。
【００７２】
ステップＳ１３０４では、ステップＳ１３０３で取得した露光時間と、予め定められた露光時間の閾値とを比較する。もし、露光時間が閾値よりも小さければステップＳ１３０５へと進み、そうでなければステップＳ１３０６へと進む。
【００７３】
ステップＳ１３０５では、ステップＳ１３０２で算出した開口パターンの各候補の平均値を比較し、その平均値が最大となるパターンを撮影に使用する開口パターンとして決定し、処理を終了する。
【００７４】
一方、ステップＳ１３０６では、ステップＳ１３０２で算出した開口パターンの各候補の平均値を比較し、その平均値が最小となるパターンを撮影に使用する開口パターンとして決定し、処理を終了する。
【００７５】
以上の処理により、開口パターンの候補が複数ある場合に、その中から適切な開口パターンを決定することができる。また、このように、露光条件に従って開口パターンをコントロールすることによって、全体の露光量を増加させることができ、ノイズを抑えたぶれ補正を行うことが可能となる。
【００７６】
本実施形態では、露光条件に従って開口パターンをコントロールする方法について述べたが、他の撮影条件を使用しても同様の効果を得ることができるのは言うまでもない。例えば、ＩＳＯ感度をパラメータとして開口パターンをコントロールしてもよい。ＩＳＯ感度をパラメータとした場合には、高感度の際には、露出の多いパターン、つまり、平均値の大きいパターンを選ぶようにすることで同様の効果を得ることができる。
【００７７】
（第４の実施形態）
本実施形態では、開口パターンの候補が複数ある場合のパターンの決定方法として、撮影条件である撮影モードに従って複数の開口パターンの候補の中から一つを決定する処理について説明する。
【００７８】
一般的に、ポートレートモードで撮影されるポートレート写真においては、撮影画像中に平坦な部分が多く現れる。言い換えると、低周波成分を多く持つ画像となることが多い。このような場合に、全周波数領域において応答値を持つようなランダムノイズパターンの開口パターンを使って撮影及びぶれ補正を行うと、不必要な周波数成分を持つため、ぶれ補正画像のノイズが目立ってしまうという問題が生じる。本実施形態では、この問題の解決方法として、撮影モードに従って、開口パターンの選択をコントロールする方法について説明する。
【００７９】
図１５は、本実施形態における開口パターンの決定方法を示すフローチャートである。ステップＳ１５０１では、開口パターンの候補を複数選出する。これは、図１４（ａ）に示すように、周期性のない十分長いパターンからランダムに複数のパターンを抜き出すことによって行ってもよい。或いは、図１４（ｂ）に示すように、周期性のないパターンが複数あり、それぞれから一部分をランダムに抜き出すことによって行ってもよい。また、第１の実施形態で説明したような開口パターンのリスト中の各エントリを複数の候補とみなしてもよい。
【００８０】
ステップＳ１５０２では、テップＳ１５０１で選出された開口パターンの候補のそれぞれを周波数変換する。
【００８１】
ステップＳ１５０３では、撮影モードを取得する。
【００８２】
ステップＳ１５０４では、撮影モードがポートレートモードかどうかを判定する。もし、ポートレートモードならばステップＳ１５０５に進み、そうでなければステップＳ１５０６に進む。
【００８３】
ステップＳ１５０５では、ステップＳ１５０２で周波数変換された開口パターンの各候補の中から、周波数特性がピンクノイズ特性に最も近いパターンを開口パターンとして決定し、処理を終了する。
【００８４】
一方、ステップＳ１５０６では、ステップＳ１５０２で周波数変換された開口パターンの各候補の中から、周波数特性がランダムノイズ特性に最も近いパターンを開口パターンとして決定し、処理を終了する。
【００８５】
以上の処理により、低周波成分の多く含まれるポートレート画像に対して、符号化開口処理によるぶれ補正を行う際に、ノイズの発生を低減させることができる。
【００８６】
（第５の実施形態）
本実施形態では、開口パターンの候補が複数ある場合のパターンの決定方法として、撮影条件である撮影時のｆ値に従って複数の開口パターンの候補の中から一つを決定する処理について説明する。
【００８７】
撮影時のｆ値が小さい場合、被写界深度が浅くなるため、ｆ値が大きい場合に比べて画像中にぼけた部分が多く生じる。つまり、低周波成分をより多く持つ画像となることが多い。このような場合に、全周波数領域において応答値を持つようなランダムノイズパターンの開口パターンを使って撮影及びぶれ補正を行うと、不必要な周波数成分を持つため、ぶれ補正画像のノイズが目立ってしまうという問題が生じる。本実施形態では、この問題の解決方法として、撮影時のｆ値に従って、開口パターンの選択をコントロールする方法について説明する。
【００８８】
図１６は、本実施形態における開口パターンの決定方法を示すフローチャートである。ステップＳ１６０１では、開口パターンの候補を複数選出する。これは、図１４（ａ）に示すように、周期性のない十分長いパターンからランダムに複数のパターンを抜き出すことによって行ってもよい。或いは、図１４（ｂ）に示すように、周期性のないパターンが複数あり、それぞれから一部分をランダムに抜き出すことによって行ってもよい。また、第１の実施形態で説明したような開口パターンのリスト中の各エントリを複数の候補とみなしてもよい。
【００８９】
ステップＳ１６０２では、テップＳ１６０１で選出された開口パターンの候補のそれぞれを周波数変換する。
【００９０】
ステップＳ１６０３では、設定されたｆ値を取得する。
【００９１】
ステップＳ１６０４では、ステップＳ１６０３で取得したｆ値と閾値を比較する。もし、ｆ値が閾値より小さければステップＳ１６０５に進み、そうでなければステップＳ１６０６に進む。
【００９２】
ステップＳ１６０５では、ステップＳ１６０２で周波数変換された開口パターンの各候補の中から、周波数特性がピンクノイズ特性に最も近いパターンを開口パターンとして決定し、処理を終了する。
【００９３】
一方、ステップＳ１６０６では、ステップＳ１６０２で周波数変換された開口パターンの各候補の中から、周波数特性がランダムノイズ特性に最も近いパターンを開口パターンとして決定し、処理を終了する。
【００９４】
以上の処理により、絞りを開けた状態で撮影されたぼけの多く含まれる画像、つまり低周波成分の多く含まれる画像に対して、符号化開口処理によるぶれ補正を行う際に、ノイズの発生を低減させることができる。
【００９５】
なお、本発明の目的は、前述した実施形態の機能またはフローチャートを実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても達成される。この場合、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。
【００９６】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【図１】
2010273032.tif 000007
【図２】
2010273032.tif 000008
【図３】
2010273032.tif 000009
【図４】
2010273032.tif 000010
【図５】
2010273032.tif 000011
【図６】
2010273032.tif 000012
【図７】
2010273032.tif 000013
【図８】
2010273032.tif 000014
【図９】
2010273032.tif 000015
【図１０】
2010273032.tif 000016
【図１１】
2010273032.tif 000017
【図１２】
2010273032.tif 000018
【図１３】
2010273032.tif 000019
【図１４】
2010273032.tif 000020
【図１５】
2010273032.tif 000021
【図１６】
2010273032.tif 000022