(57)【要約】      （修正有）【課題】  起動後に被写体画像の画像データを速やかに取り込む。【解決手段】  画像センサと、取込みトリガと、各々が画像データを格納するために利用可能である複数のバッファロケーションを備える取込みバッファと、画像センサから複数の補助画像フレームを受け取り、各補助画像フレームを利用可能なバッファロケーションに格納し、取込みトリガの起動を検出し画像センサから対応する画像フレームを受け取り、該対応する画像フレームを別の利用可能なバッファロケーションに格納し、少なくとも１つの補助画像フレームを使用して前記対応する画像フレームに対してぼけ補正を実行し、前記対応する画像フレームと前記少なくとも１つの補助画像フレームとが格納されている前記バッファロケーションを該ぼけ補正が完了するまで画像格納用に利用できないものとして指定するように構成される処理システムとを含んでなる、画像を取り込むためのデジタルカメラを提供する。【選択図】        図１
2005124191.tif 000002
【特許請求の範囲】
【請求項１】
画像センサと、
取込みトリガと、
各々が画像データを格納するために利用可能である複数のバッファロケーションを備える取込みバッファと、
前記画像センサから複数の補助画像フレームを受け取り、各補助画像フレームを利用可能なバッファロケーションに格納し、前記取込みトリガの起動を検出し前記画像センサから対応する画像フレームを受け取り、該対応する画像フレームを別の利用可能なバッファロケーションに格納し、少なくとも１つの補助画像フレームを使用して前記対応する画像フレームに対してぼけ補正を実行し、前記対応する画像フレームと前記少なくとも１つの補助画像フレームとが格納されている前記バッファロケーションを該ぼけ補正が完了するまで画像格納用に利用できないものとして指定するように構成される処理システムと
を含んでなる、画像を取り込むためのデジタルカメラ。
【請求項２】
前記処理システムは、複数の補助画像フレームを使用して前記対応する画像フレームに対するぼけ補正をさらに実行し、前記複数の補助画像フレームが格納されている前記バッファロケーションを前記ぼけ補正が完了するまで画像格納に利用できないものとして指定するように構成される請求項１に記載のデジタルカメラ。
【請求項３】
前記処理システムは、
前記少なくとも１つの補助画像フレームからぼけ成分を確定することと、
前記ぼけ成分を前記対応する画像フレームから除去することによりぼけ補正された画像フレームを確定することと
とによって、前記ぼけ補正を実行するようにさらに構成される請求項１に記載のデジタルカメラ。
【請求項４】
前記処理システムは、前記少なくとも１つの補助画像フレームに対してぼけ補正関数を積分することにより前記ぼけ成分を確定し、前記少なくとも１つの補助画像フレームを前記ぼけ成分によって除算することにより前記対応する画像フレームから前記ぼけ成分を除去して前記ぼけ補正された画像フレームをもたらすようにさらに構成される請求項３に記載のデジタルカメラ。
【請求項５】
前記処理システムは、前記別の利用可能なバッファロケーションに格納する前に、Ａ則圧縮とμ則圧縮と破棄モード圧縮とから構成されるグループから選択される少なくとも１つの圧縮アルゴリズムにより、前記対応する画像フレームを圧縮するようにさらに構成される請求項１に記載のデジタルカメラ。
【請求項６】
画像センサと、取込みトリガと、各々が画像データを格納するために利用可能である複数のバッファロケーションを含む取込みバッファと、処理システムとを含むデジタルカメラにおいて画像を取り込む方法であって、
前記画像センサからの複数の補助画像フレームの各々を利用可能なバッファロケーションに格納するステップと、
前記処理システムにおいて前記取込みトリガの起動を検出し前記画像センサからの対応する画像フレームを別の利用可能なバッファロケーションに格納するステップと、
少なくとも１つの補助画像フレームを使用して前記対応する画像フレームに対し前記処理システムによるぼけ補正を実行するステップと、
前記対応する画像フレームと前記少なくとも１つの補助画像フレームとが格納される前記バッファロケーションを前記ぼけ補正が完了するまで画像格納用に利用できないものとして指定するステップと
を含んでなる、デジタルカメラにおいて画像を取り込む方法。
【請求項７】
複数の補助画像フレームを使用して前記対応する画像フレームに対してぼけ補正を実行するステップと、前記対応する画像フレームと前記複数の補助画像フレームとが格納されている前記バッファロケーションを該ぼけ補正が完了するまで画像格納用に利用できないものとして指定するステップとをさらに含む請求項６に記載のデジタルカメラにおいて画像を取り込む方法。
【請求項８】
前記ぼけ処理を実行するステップは、
前記少なくとも１つの補助画像フレームからぼけ成分を確定することと、
前記対応する画像フレームから前記ぼけ成分を除去することによりぼけ補正された画像フレームを確定すること
を含む請求項６に記載のデジタルカメラにおいて画像を取り込む方法。
【請求項９】
前記ぼけ成分を確定する前記ステップは、前記少なくとも１つの補助画像フレームに対しぼけ補正関数を積分することを含み、前記対応する画像フレームから前記ぼけ成分を除去することにより前記ぼけ補正された画像フレームを確定する前記ステップは、前記少なくとも１つの補助画像フレームを前記ぼけ成分によって除算することにより前記ぼけ補正された画像フレームをもたらすことを含む請求項８に記載のデジタルカメラにおいて画像を取り込む方法。
【請求項１０】
前記別の利用可能なバッファロケーションに格納する前に、Ａ則圧縮とμ則圧縮と破棄モード圧縮とから構成されるグループから選択される少なくとも１つの圧縮アルゴリズムにより、前記対応する画像フレームを圧縮することをさらに含む請求項６に記載のデジタルカメラにおいて画像を取り込む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルカメラのために画像データを取り込む技術分野に関する。
【０００２】
本願は、２００３年１０月８日に出願され「SYSTEM AND METHOD FOR CAPTURING IMAGE DATA」と題された米国特許出願第１０／６８１，８１６号に関連する。
【背景技術】
【０００３】
一般に、デジタルカメラは、画像データを収集するレンズ系と画像センサとを有する。画像データは、画像フレームとして処理システムに送出され処理される。各画像フレームは、一般には別々の静止画像である。本明細書で使用する画像フレームは、アナログ・デジタル（Ａ／Ｄ）変換器によってデジタル化された、画像センサからの生画像データを含む。本明細書で使用する、画像データを「収集する」とは、画像センサにおいて画像データを検出することを言い、その画像データは１以上のフレームとして後に送出される。
【０００４】
デジタルカメラは、ユーザが特定の画像（「被写体画像（subject image）」）を取り込みたい時に起動するシャッタボタン等の取込みトリガも有する。ユーザが取込みトリガを起動すると、処理システムはその取込みトリガを検出し、画像センサが収集した画像データを、ユーザが取り込みたい特定の画像に対応するものとして指定する。
【０００５】
取込みトリガに対応する画像センサから受け取られる画像フレームを、本明細書では「対応する画像フレーム」と呼ぶ。画像センサにより、デジタルカメラの構成に応じて、取込みトリガを起動する直前に対応する画像フレームを収集してもよく、取込みトリガを起動すると同時に対応する画像フレームを収集してもよく、または、取込みトリガを起動した直後に対応する画像フレームを収集してもよい。
【０００６】
また、画像センサは、取込みトリガの起動に対応しない画像データも収集する場合がある。本明細書では、これらの画像フレームを「補助画像フレーム（auxiliary image frame）」と呼ぶ。補助画像フレームを画像ディスプレイに表示しても、自動焦点合せを行うために補助画像フレームを使用しても、または、他の処理のために補助画像フレームを使用してもよい。画像センサからフル解像度で収集してもフル解像度に満たない解像度で、補助画像フレームを収集してもよい。
【０００７】
デジタルカメラの処理システムは、１以上のプロセッサを含む。デジタルカメラによっては、処理システムは、プロセッサとコプロセッサとを有する。一般に、命令およびデータを他のコンポーネントに送出して他のコンポーネントから受け取ることを含む、カメラ動作およびデジタルカメラの他のコンポーネントを管理するように、プロセッサが構成される。コプロセッサは、圧縮と、ぼけ補正と、自動焦点合せと、他の画像処理等の処理集約的動作とを実行するように構成される。
【０００８】
処理システムは、処理前、処理中、および／または、処理した後に、内部メモリまたはリムーバブルメモリに画像データを格納してもよい。内部メモリは、揮発性メモリおよび／または不揮発性メモリを含む。
【０００９】
ランダムアクセスメモリ等の揮発性メモリは、処理システムが動作中に迅速にアクセスすることができるメモリである。フラッシュメモリ等の不揮発性メモリは、メモリから電源が除去された時にかなりの期間データを格納することができる。
【００１０】
リムーバブルメモリは、デジタルカメラへと挿入することができ、デジタルカメラから取り除くことができる。リムーバブルメモリは、画像データを処理システムに通信して画像データのリムーバブルメモリへの格納とリムーバブルメモリからの取り出しとを制御する、関連するメモリコントローラを有する。
【００１１】
処理システムは、ユニバーサルシリアルバス（ＵＳＢ）ポート等のホストインタフェースを介して、デジタルカメラから画像データを送信するか、または画像データを受信することができる。処理システムは、ホストインタフェースを介する他のデータおよび命令の送受信を制御する。
【００１２】
処理システムは、画像ディスプレイに表示するための補助画像フレームを処理する。本明細書では、この処理を「表示処理」と呼ぶ。
【００１３】
表示処理中に、画像データを任意にサブサンプリングすることにより、補助画像フレームに必要な処理全体を低減する。そして、サブサンプリングされた画像データを、いくつかの段階で処理する。ホワイトバランスおよび露出調整は、白色光および露出不足または露出過剰に対して画像データを調整する。カラー処理は、画像データに対して適当な色を導出するように実行され、カラーフィルタアレイ（ＣＦＡ）補間と色空間処理とを含みうる。また、ガンマ処理等の非線形特性を補償するように画像データを処理する。
【００１４】
そして、表示処理された画像を画像ドライバに転送する。画像ドライバは、画像データを関連する画像ディスプレイに対して構成し、構成された画像データを画像ディスプレイに送出する。
【００１５】
処理システムは、ユーザが取込みトリガを起動した時に取り込まれた最終画像を生成するために、対応する画像フレームを画質向上、復元およびカラー処理に対しても処理する。本明細書では、この処理を「画像処理」と呼ぶ。
【００１６】
一般に、画像処理には、ホワイトバランス、露出調整、カラー処理、および非線形補償のための処理がある。画像処理は、一般に、画像フレームに対応するフル解像度を使用する。しかしながら、フル解像度に満たない解像度のデータをときどき使用してもよい。処理システムは、対応する画像フレームを内部メモリまたはリムーバブルメモリに格納する。
【００１７】
場合によっては、処理システムは、ぼけ処理を実行する。ぼけは、たとえば、被写体画像がカメラレンズの視野を通して移動する場合にもたらされる。ぼけの度合いは、被写体画像が視野内をいかに速く移動しているかによって決まる。ぼけを除去するように画像データを処理する。
【００１８】
エッジ強調および自動焦点合せ等のさらなる画像処理を実行する場合もある。他の自動機能のための他の処理を実行する場合もある。
【００１９】
構成によっては、画像処理の最後にファイル圧縮を実行する。ファイル圧縮規格は、ジョイントフォトグラフィックエキスパートグループ（joint photographic experts group（ＪＰＥＧ））規格と、グラフィックインターチェンジフォーマット（graphics interchange format（ＧＩＦ））フォーマットと、タグ付きイメージファイルフォーマット（tagged image file format（ＴＩＦＦ））フォーマットと、他のフォーマットおよび規格とがある。また、ムービングピクチャーエキスパートグループ（moving pictures experts group（ＭＰＥＧ））規格やオーディオ・ビデオ・インターリーブド（audio-video-interleaved（ＡＶＩ））規格等のビデオと音声取込みとフォーマット規格とを使用してもよい。
【００２０】
画像処理はすべて、時間と処理資源とを費やす。しばしば、画像データが処理されている間に、処理システムは画像処理でビジー状態であり新たな画像を取り込みまたは処理するために利用することができない。他の場合では、デジタルカメラは、セットアップコマンドを処理している場合があり、一時的に対応する画像を収集することができない。
【００２１】
かかる場合には、デジタルカメラは、取込みトリガが起動された時に対応する画像フレームを迅速に収集しない。場合によっては、画像が取り込まれ処理される前に数秒間経過する可能性もある。一般に、この遅延を「シャッタ遅延」と呼ぶ。
【００２２】
シャッタ遅延は、画像を取り込もうとしているユーザに対してフラストレーションを起こさせる可能性がある。たとえば、子供の誕生日パーティでまたはスポーツイベントで特定の瞬間を取り込もうとしているユーザは、シャッタ遅延によってデジタルカメラが期待した画像を取り込み損ねる場合には、フラストレーションを感じる可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【００２３】
したがって、取込みトリガの起動と被写体画像の画像データの取り込みとの間に迅速な応答を提供するシステムおよび方法であって、利用可能なメモリが許す限りこの応答を提供するものであることが望ましい。
【課題を解決するための手段】
【００２４】
デジタルカメラは、画像センサと、取込みトリガと、処理システムと、各々が画像データを格納するために利用可能である複数のバッファロケーションを有する取込みバッファとを有する。処理システムは、画像センサから補助画像フレームを受け取り、各補助画像フレームを利用可能なバッファロケーションに格納する。取込みトリガが起動されると、処理システムは、画像センサから対応する画像フレームを受け取り、利用可能なバッファロケーションに格納する。少なくとも１つの他のバッファロケーションにおける少なくとも１つの補助画像フレームを使用して、対応する画像フレームに対しぼけ補正を実行する。ぼけ補正に使用されるすべてのバッファロケーションは、ぼけ補正が完了するまで他の画像データの格納用に利用できない。利用できないものとして指定されないバッファロケーションに画像フレームを連続的に格納する。代替実施形態では、対応する画像フレームに対して圧縮等の他の画像処理を実行する。
【発明を実施するための最良の形態】
【００２５】
図１は、本発明のデジタルカメラ１０２の例示的な実施形態を示す。デジタルカメラ１０２は、画像データを収集するレンズおよび画像センサ１０５を備えた画像取込みシステム１０４を有する。画像取込みシステム１０４は、処理するために処理システム１０６に画像フレームを送出する。一実施形態では、画像フレームはビデオ画像フレームである。別の実施形態では、画像フレームは静止画像である。
【００２６】
実施形態によっては、取込みトリガ１０８が起動されない時に、処理システム１０６は画像フレームを補助画像フレームとして処理する。１つの特定の実施形態では、処理システム１０６は、補助画像フレームを表示のために処理し、処理済みデータを画像表示システム１１０に転送する。処理システム１０６は、表示処理中に補助画像フレームを格納するために内部メモリ１１２を使用する。
【００２７】
取込みトリガ１０８が起動されると、コントローラ１１４はトリガ信号を処理システム１０６に通信する。１つの画像、複数の画像、および／または、ビデオの取込みを起動するように、取込みトリガ１０８を構成してもよい。
【００２８】
処理システム１０６は、取込みトリガ信号を受け取り、画像フレームを対応する画像フレームとして指定する。処理システム１０６は、対応する画像フレームを画像処理のために処理する。その後、処理システム１０６は、処理済み画像を内部メモリ１１２および／またはリムーバブルメモリ１１６に格納し、および／または、ホストインタフェース１１８を介して別の装置に処理済み画像を送信する。また、処理システム１０６は、画像表示システム１１０に処理済み画像を送出してもよい。
【００２９】
処理システム１０６は、コントローラ１１４を介して処理システムに送出される、カメラボタン１２０からの制御信号も監視する。ボタンは、モードセレクタと、メニューセレクタと、自動焦点合せトリガと、ズーム、アップ、ダウン、レフトおよびライトコントロールと、他の制御ボタンとを含みうる。
【００３０】
一実施形態では、デジタルカメラ１０２は、内部メモリ１１２に取込みバッファを有し、そこには、１以上の補助画像フレームおよび／または１以上の対応する画像フレームが画像処理のためおよび／または自動機能を実行するために保存される。一実施形態では、対応する画像フレームのみが画像処理のために取込みバッファに保存される。別の実施形態では、補助画像フレームと対応する画像フレームとが画像処理のために取込みバッファに保存される。
【００３１】
取込みバッファは、Ｎ個のバッファロケーション（「Ｎ」はバッファロケーションの設定可能な数）を有する。取込みバッファは、デジタルカメラ１０２が動作している間に画像データが利用可能なバッファロケーションに保存される循環バッファである。したがって、画像フレームが「第Ｎの」バッファロケーションに保存された後に、次の画像フレームは第１のバッファロケーションに格納され、または、第１のバッファロケーションが利用可能でない場合には、第１のバッファロケーションの後の次の利用可能なバッファロケーションに格納される。バッファロケーションは、画像処理がそのバッファロケーションの画像フレームに対してまたはその画像フレームとともに実行されている間に、画像データ格納用に利用できない。画像処理が完了すると、バッファロケーションは、画像データ格納用に再び利用可能となる。
【００３２】
別の実施形態では、デジタルカメラ１０２は、画像フレームが画像処理および／または自動機能のために保存される、メモリの固定セクションを有する。実施形態によっては、メモリの固定セクションを取込みバッファとともに使用する。画像フレームは、対応する画像フレームおよび／または補助画像フレームでありうる。
【００３３】
別の実施形態では、画像フレームが取込みバッファに保存される前または保存される際であるが画像処理が実行される前に、圧縮アルゴリズムによって画像フレームを処理するように、処理システム１０６を構成する。本明細書では、この圧縮を「前処理圧縮」と呼ぶ。
【００３４】
前処理圧縮は、本技術分野では既知であるＡ則（A-law）またはμ則（μ-law）圧縮等の指数関数的圧縮アルゴリズムを使用することを含む。前処理圧縮は、画像フレームデータが取込みバッファに保存される前に、各ピクセルに対し何バイトかの画像フレームデータから選択された数の最下位ビット（Ｍ個のＬＳＢ）を破棄すること（本明細書では「破棄モード」と呼ぶ）も含みうる。「Ｍ」は、ビットの設定可能な数である。一実施形態では、処理システム１０６を、２つのＬＳＢを破棄するように構成する。Ａ／Ｄ変換器は、通常、プログラマブルではなく、デジタルカメラ用のＡ／Ｄ変換器はしばしば１０ビット変換器である。Ｍビットを破棄することにより、処理資源が節約され、８ビットバイト等のより適切な数のビットが処理されることになる。別の実施形態では、非圧縮、Ａ則圧縮、μ則圧縮、破棄モード圧縮または別の圧縮アルゴリズムを実行するように、処理システム１０６を構成する。
【００３５】
別の実施形態では、処理システム１０６によりぼけ補正処理を実行する。この実施形態では、画像フレームデータを画像取込みシステム１０４が連続的に収集し、補助画像フレームを取込みバッファの利用可能なバッファロケーションに保存する。取込みトリガ１０８が起動されると、対応する画像フレームを取込みバッファの次の利用可能なバッファロケーション（ｔ）に保存する。処理システム１０６は、バッファロケーション（ｔ）の対応する画像フレームを設定可能な数の追加のバッファロケーション（ｚ）からの補助画像フレームとともに処理することによって、ぼけを補正する。画像フレームがすでに取込みバッファに保存されており利用可能であるため、この実施形態では、追加の画像フレームを収集して保存する必要はなく、それによりボケ補正のための遅延が低減される。しかしながら、実施形態によっては、ぼけ補正に対して、対応する画像フレームの後に保存される１以上の補助画像フレームを使用してもよい。
【００３６】
実施形態によっては、ぼけ補正関数∫ｅ-j2π（ｕｘ0（ｚ）＋ｖｙ0（ｚ））ｄｚに従ってぼけを補正するように処理システム１０６を構成する。ぼけ補正関数を、０からｚ（ｚはバッファロケーションの選択された数）まで積分する。この関数において、ｘ0は第１の方向（ｘ）における動きを表し、ｙ0は第２の方向（ｙ）における動きを表し、（ｕ）および（ｖ）は、被写体画像が視野を横切って移動する際のサンプリング積分を表す。「被写体画像」は、ユーザが取り込むことを期待する画像である。
【００３７】
ぼけ補正関数は、全体として、サンプリングされた点の合計を表し、各画像フレーム（バッファロケーションの画像データ）はサンプリングされる点である。この関数を時間の経過により積分することにより、ぼけをもたらす位相シフトを確定する。位相シフトは移動による。積分されたぼけ補正関数の結果は、ぼけ成分である。ぼけ成分を対応する画像フレームから除去することによりぼけを除去し、それによりぼけが補正された画像フレームがもたらされる。一実施形態では、対応する画像フレームをぼけ成分で除算することによりぼけを除去しぼけが補正された画像フレームをもたらす。他のぼけ補正関数を使用してもよい。
【００３８】
ぼけ補正済み画像フレームを画像処理のためにさらに処理してもよく、ぼけ補正済み画像フレームを格納してもよく、または、ぼけ補正済み画像フレームを画像表示システム１１０に送出してもよい。実行すべき他の画像処理がない場合には、ぼけ補正済み画像フレームが、一般に最終画像である。
【００３９】
場合によっては、処理システム１０６は、取込みバッファロケーションから１以上の補助画像フレームおよび／または対応する画像フレームを読み出し、その画像データに対し直接画像処理を実行する。他の場合では、処理システム１０６は、バッファロケーションからの１以上の補助画像フレームおよび／または対応する画像フレームをメモリの固定セクション等のメモリの別のセクションにコピーし、そのコピーされたデータに対して画像処理を実行する。
【００４０】
図２は、本発明の取込みプロセス２０２の例示的な実施形態を示す。図２の取込みプロセス２０２は、図１の処理システム１０６において動作可能である。
【００４１】
図２の取込みプロセス２０２では、ステップ２０４において画像取込みシステム１０４から画像フレームを受け取る。画像フレームは、１以上の補助画像フレームおよび／または１以上の対応する画像フレームを含む。
【００４２】
この実施形態では、動作している時に補助画像フレームを表示するようにデジタルカメラ１０２を構成する。この場合には、ステップ２０６において補助画像フレームを表示処理のために処理する。表示処理には、補助画像フレームをサブサンプリングすること、サブサンプリングされたデータをホワイトバランス処理し露出調整すること、調整されたデータを、ＣＦＡ補間、色空間処理およびガンマ処理を使用してカラー処理することがある。
【００４３】
この実施形態では、画像表示システム１１０に対して生成されるプレビューフレームまたは画像はフル解像度画像データを必要としないため、補助画像フレームをサブサンプリングする。画像データをサブサンプリングすることにより、典型的には、画像表示システムに対して画像データを生成する前に、露出調整およびホワイトバランス等の後のステップで適用される処理要件が低減される。
【００４４】
ステップ２０８において、画像表示システム１１０に対し表示処理済み画像データを生成する。このステップは、画像ドライバにより画像データを関連する画像ディスプレイに対して構成することと、構成済み画像データを画像ディスプレイに送出することとを含む。
【００４５】
さらに図２を参照すると、対応する画像フレームを含む画像フレームも、画像処理のために処理される。この実施形態では、ステップ２１０において前処理圧縮オプションを選択する。
【００４６】
圧縮が選択された場合には、ステップ２１２において圧縮を実行する。一実施形態では、ステップ２１２においてＡ則圧縮またはμ則圧縮等の指数関数的圧縮を実行する。他の圧縮アルゴリズムを構成してもよい。
【００４７】
破棄モードが選択された場合には、ステップ２１４において、画像フレームデータの各２バイトピクセルから２つの最下位ビットを破棄する。他の実施形態では、それより多いかもしくは少ないかまたは他のビットを破棄モード圧縮のために破棄してもよい。
【００４８】
ステップ２１２またはステップ２１４の後に、またはステップ２１０の後に非圧縮が選択された場合には、ステップ２１６において画像フレームを取込みバッファに保存し、ステップ２１８において画像処理を実行する。図２の一実施形態では、画像処理ステップ２１８は、露出調整と、ホワイトバランスと、ＣＦＡ補間と、色空間およびガンマ処理とを含む。画像処理ステップ２１８の最終段階として、任意に圧縮を含める。他の実施形態では、画像処理に対して他のステップを適用してもよい。
【００４９】
図２の一実施形態では、画像処理ステップ２１８は、１以上のバッファロケーション（ｚ）からの補助画像フレームを使用して対応する画像フレームを画像処理する。一実施例では、ぼけ補正に対してバッファロケーション（ｔ）の対応する画像フレームを処理するために、（ｔ−ｚ）バッファロケーションを使用する。別の実施形態では、画像処理ステップ２１８をバックグラウンドモードで実行する。
【００５０】
代替実施形態では、ステップ２１６において補助画像フレームを取込みバッファに保存し、ステップ２２０において対応する画像フレームをメモリの固定セクションに保存する。別の実施形態では、ステップ２１６において対応する画像フレームを取込みバッファに保存し、ステップ２２０において補助画像フレームをメモリの固定セクションに保存する。別の実施形態では、ステップ２１６において補助画像フレームと対応する画像フレームとを取込みバッファに保存し、ステップ２２０においてメモリの固定セクションにコピーする。上記実施形態では、画像処理ステップ２１８は１以上の補助画像フレームを使用して対応する画像フレームを画像処理する。
【００５１】
画像処理ステップ２１８において圧縮を実行する前に、ステップ２０８において処理済み画像フレームを画像表示システムに送出する。この画像フレームは、最終画像フレームを表し、ユーザが取り込むことを期待した被写体画像に対応する。
【００５２】
画像処理ステップ２１８において圧縮が実行された後に、ステップ２２２において圧縮済み画像を内部メモリおよび／またはリムーバブルメモリに格納する。実施形態によっては、画像処理ステップ２１８において圧縮を実行せず、ステップ２２２において圧縮されていない画像を内部メモリおよび／またはリムーバブルメモリに格納する。
【００５３】
また、ステップ２２４において画像データを内部メモリおよび／またはリムーバブルメモリから取り出してもよい。必要な場合には、ステップ２２６において取り出された画像データを解凍する。そして、取り出された画像データを、ステップ２０８において表示するために画像表示システム１１０に送出するか、またはステップ２２８において処理システムにより別の装置または他のメモリに送出する。ステップ２０８において、画像データを画像ドライバにより画像ディスプレイに対して構成し画像ディスプレイに転送する。
【００５４】
図３Ａ〜図３Ｄは、取込みプロセスを実行している間に取込みバッファ３０２を使用できる一実施例を示す。取込みバッファ３０２は、Ｎ個のバッファロケーション３０４〜３２２を有する。一実施形態では、取込みバッファ３０２が１０個のバッファロケーションを有するように、Ｎ＝１０である。別の実施形態では、取込みバッファ３０２は５つしかバッファロケーションを有していない。別の実施形態では、取込みバッファは２０個のバッファロケーションを有する。バッファロケーションの数は設定可能である。
【００５５】
取込みプロセス２０２が動作すると、バッファロケーション１（３０４）からバッファロケーション２（３０６）にバッファロケーションＮ（３２２）まで、そして、バッファロケーション１に連続動作で戻るように循環する仕方で、連続的にデータを格納する。取込みトリガ１１２が起動されると、次に利用可能なバッファロケーションに、対応する画像フレームを保存する。
【００５６】
対応する画像フレームに対して画像処理を実行し、対応する画像フレームに対して画像処理が完了するまで、対応する画像フレームが保存されているバッファロケーションは他の画像データの格納用には利用できない。対応する画像フレームがバッファロケーションに保存される前、保存されている間または保存された後に利用できないものとして、バッファロケーションをマーキングするかまたは他の方法により指定してもよい。
【００５７】
図３Ａの一実施形態を参照すると、取込みプロセス２０２が動作している間に、補助画像フレームを取込みバッファ３０２の第１のロケーション３０４に保存し、取込みバッファポインタを進める。そして、補助画像フレームを次のバッファロケーション３０６に保存し、取込みバッファポインタを再び進める。第Ｎのバッファロケーション３２２までこの動作を続ける。そして、取込みバッファポインタを第１のバッファロケーション３０４に戻す。その後、補助画像フレームを第１のバッファロケーション３０４に保存し、取込みバッファポインタを進める。取込みトリガ１０８（図１参照）が起動されるまでこのプロセスを続ける。このプロセス中に、自動焦点合せ処理等の自動機能および他の動作を処理するために補助画像フレームを使用してもよい。
【００５８】
図３Ｂの実施例を参照すると、補助画像フレームがバッファロケーション１〜４（３０４〜３１０）に保存された後であるが画像フレームがバッファロケーション５（３１２）に保存される前に、取込みトリガ１０８が起動される。この実施例では、次の画像フレームを対応する画像フレームとして指定する。この対応する画像フレームをバッファロケーション５（３１２）に保存し、バッファロケーション５に位置する対応する画像フレームに対して画像処理を実行する。取込みバッファポインタを進め、補助画像フレームをバッファロケーション６（３１４）に保存する。バッファロケーション５（３１２）は、対応する画像フレームに対する画像処理が完了するまで画像フレームの格納に利用可能ではない。
【００５９】
図３Ｃの実施例を参照すると、取込みバッファポインタを第１のバッファロケーション３０４に進める。補助画像フレームを各バッファロケーションに保存し続ける。しかしながら、第５のバッファロケーション３１２は、利用できないものとして指定されているため、スキップされる。
【００６０】
補助画像フレームがバッファロケーション８（３１８）に保存されている間であるが、バッファロケーション９（３２０）に任意のデータが保存される前に、取込みトリガ１０８が起動される。この実施例では、次の画像フレームを対応する画像フレームとして指定し、バッファロケーション９（３２０）に保存する。バッファロケーション９（３２０）において画像処理を開始し、対応する画像フレームに対して画像処理が完了するまでバッファロケーション９は利用できない。取込みバッファポインタを進め、画像フレームを利用可能なバッファロケーションに保存し続ける。
【００６１】
ここで図３Ｄを参照すると、バッファロケーション５（３１２）に位置する対応する画像フレームに対して画像処理が完了し、バッファロケーション５を利用可能であるとして指定する。上述したようにバッファロケーション５（３１２）を含む利用可能なバッファロケーションに画像フレームを保存し続ける。
【００６２】
実施形態によっては、補助画像フレームは、取込みトリガが起動される前かまたは起動の間に画像処理のためにバックグラウンドモードで使用される。これは、たとえば、自動焦点合せプロセス、露出調整、ホワイトバランス、または別のプロセスとともに発生してもよい。
【００６３】
バッファロケーションは、種々の期間に、利用できないものとしてマーキングまたは他の方法により指定されるということが理解されよう。一実施形態では、バッファロケーションを利用できないものとしてマーキングしてから、バッファロケーションに画像フレームを保存する。別の実施形態では、バッファロケーションに画像フレームを保存してから、バッファロケーションを利用できないものとしてマーキングする。別の実施形態では、バッファが利用できないものとしてマーキングされるのと同時にまたは略同時にバッファロケーションに画像フレームを保存する。
【００６４】
簡潔および一貫性のために、明細書および請求項では、バッファロケーションが利用できないものとして指定されるものとする。これは、まずバッファロケーションを利用できないものとして指定してから、バッファロケーションに画像フレームを保存すること、まず画像フレームをバッファロケーションに保存してから、バッファロケーションを利用できないものとして指定すること、または、バッファロケーションに画像フレームを保存するのと同時にバッファロケーションを利用できないものとして指定することを含むものとして理解すべきである。
【００６５】
一実施形態では、バッファロケーションが利用できなくなり対応する画像フレームがバッファロケーションに収集されるとすぐに、画像フレームに対して画像処理を実行する。別の実施形態では、取込みバッファのすべてのバッファロケーションが利用できなくなった後にのみバッファロケーションの画像フレームに対して画像処理を実行する。この実施形態の一実施例では、すべての画像フレームが処理されすべてのバッファロケーションが利用可能となるまで、取込みバッファのすべてのバッファロケーションに対して画像処理を実行する。そして、バッファロケーションに新たな画像フレームを収集する。この実施形態の別の実施例では、そのバッファロケーションの画像フレームが処理されそのバッファロケーションが利用可能であるとして指定されるまで、取込みバッファの１つのバッファロケーションに対して画像処理を実行する。そして、そのバッファロケーションに新たな画像フレームを収集する。
【００６６】
他の実施形態では、選択された数のバッファロケーションまたはバッファロケーションの選択された割合が利用できないものとして指定されると、画像処理を開始する。これらの実施形態では、画像フレームが任意のバッファロケーションに再び保存される前に、選択された数の１以上のバッファロケーションに対し画像処理を実行する。
【００６７】
図４Ａ〜図４Ｄは、画像データのぼけ補正の実行中に取込みバッファ４０２を使用できる１つの実施例を示す。図４Ａ〜図４Ｄの取込みバッファ４０２は、Ｎ個のバッファロケーション４０４〜４２２を有する。一実施形態では、取込みバッファ４０２が１０個のバッファロケーションを有するように、Ｎ＝１０である。別の実施形態では、取込みバッファ４０２は８個のバッファロケーションしか含まない。別の実施形態では、取込みバッファは１５個のバッファロケーションを有する。バッファロケーションの数は設定可能である。
【００６８】
図４Ａ〜図４Ｄの実施形態では、図３Ａ〜図３Ｄに示すものと同じ方法で、補助画像フレームと対応する画像フレームとを保存し、取込みバッファポインタを進める。一実施例では、取込みバッファはＮ＝１０のバッファロケーションを有する。対応する画像フレームを第８のバッファロケーションに保存し、前４つのバッファロケーションを使用して対応する画像フレームによるぼけ補正処理を実行する。この実施例では、ぼけ補正に対し、ｔ＝８であり、ｚ＝４であり、（ｔ−ｚ）＝（８−４）バッファロケーションを使用する。別の実施例では、（ｔ−５）は現バッファロケーション（ｔ）とバッファロケーション（ｔ）の後の５つのバッファロケーションとを表す。別の実施例では、ｚ＝Ｎ／２である。
【００６９】
一般に、取込みプロセス２０２が動作すると、バッファロケーション１（４０４）からバッファロケーション２（４０６）にバッファロケーションＮ（４２２）まで、そしてバッファロケーション１に戻るように連続動作で循環する仕方で、補助画像フレームを連続して格納する。取込みトリガ１１２が起動されると、画像取込システム１０４からの対応する画像フレームを次の利用可能なバッファロケーションに保存する。ぼけ補正に対し、対応する画像フレームの前および／または後に保存された１以上の補助画像フレームを使用する。ぼけ補正に使用される補助画像フレームが格納されるバッファロケーションを、対応する画像フレームに対するぼけ補正が完了するまでさらなる画像フレームの格納に利用できないものとして指定する。対応する画像フレームが保存されるバッファロケーションも、ぼけ補正が完了するまで利用できないものとして指定する。画像フレームがそこに保存される前、保存されている間、または保存された後に、バッファロケーションを利用できないものとしてマーキングするかまたは他の方法により利用できないものとして指定してもよい。
【００７０】
図４Ｂの実施例を参照すると、補助画像フレームがバッファロケーション１および２（４０４および４０６）に保存された後であるがバッファロケーション３（４０８）にいずれのデータも保存される前に、取込みトリガ１０８が起動される。この実施例では、画像取込みシステムから検出された次の画像フレームを、対応する画像フレームとして指定してバッファロケーション３（４０８）に保存する。この実施例では、バッファロケーション３（４０８）に位置する対応する画像フレームに対してぼけ補正を開始し、ぼけ補正に対して前２つの補助フレームを使用する。バッファロケーション１、２および３（４０４〜４０８）を、ぼけ補正処理が完了するまでさらなる画像データの格納のために利用できないものとして指定する。取込みバッファポインタを進め、補助画像フレームおよび／または対応する画像フレームを循環式に次の利用可能なバッファロケーションに保存する。
【００７１】
補助画像フレームをバッファロケーション４〜６（４１０〜４１４）に保存した後であるがバッファロケーション７（４１６）にいずれのデータも保存される前に取込みトリガ１０８が再び起動される。この実施例では、画像取込みシステム１０４から検出される次の画像フレームを、対応する画像フレームとして指定してバッファロケーション７（４１６）に保存する。この実施例では、バッファロケーション７（４１６）に位置する対応する画像フレームに対してぼけ補正を開始し、ぼけ補正のために前２つの補助フレームを使用する。バッファロケーション５、６および７（４１２〜４１６）を、ぼけ補正処理が完了するまでさらなる画像データの格納に利用できないものとして指定する。補助画像フレームおよび／または対応する画像フレームを、循環式に次の利用可能なバッファロケーションに保存する。
【００７２】
バッファロケーション３における対応する画像フレームに対するぼけ補正処理が完了すると、バッファロケーション１、２および３（４０４〜４０８）が格納に利用可能となる。バッファロケーション７（４１６）における対応する画像フレームに対するぼけ補正処理が完了すると、バッファロケーション５、６および７（４１２〜４１６）が格納に利用可能となる。
【００７３】
図４Ｃの実施例を参照すると、補助画像フレームがバッファロケーション１〜６（４０４〜４１４）に保存された後であるがバッファロケーション７（４１６）にいずれのデータも保存される前に、取込みトリガ１０８が起動される。この実施例では、取込みトリガと同時に画像取込みシステム１０４から画像フレームを検出し、対応する画像フレームとして指定する。対応する画像フレームをバッファロケーション７（４１６）に保存する。他の補助フレームを受け取りバッファロケーション８および９（４１８および４２０）に格納する。この実施例では、バッファロケーション７（４１６）に位置する対応する画像フレームにおいてぼけ補正を開始し、ぼけ補正のために前３つの補助フレームと１つの次の補助フレームとを使用する。ぼけ補正処理が完了するまで、さらなる画像データの格納のためにバッファロケーション４〜８（４１０〜４１８）を利用できないものとして指定する。取込みバッファポインタを進め、補助画像フレームを循環式に次の利用可能なバッファロケーションに保存する。ぼけ補正処理が完了した後に、バッファロケーション４〜８（４１０〜４１８）を格納に利用可能とする。
【００７４】
ここで図４Ｄを参照すると、補助画像フレームがバッファロケーション１〜８（４０４〜４１８）に保存された後であるがバッファロケーション９（４２０）にいかなるデータも保存される前に、取込みトリガ１０８が起動される。この実施例では、取込みトリガ１０８が起動される直前に画像取込みシステム１０４から画像フレームが送出されており、それを対応する画像フレームとして指定する。対応する画像フレームをバッファロケーション９（４２０）に保存する。この実施例では、バッファロケーション９（４２０）に位置する対応する画像フレームに対してぼけ補正を開始し、そのぼけ補正のために、対応する画像フレームの前に保存された補助画像フレームを使用する。ぼけ補正処理が完了するまで、バッファロケーション８および９（４１８および４２０）を、さらなる画像データの格納のために利用できないものとして指定する。その後、バッファロケーション８および９（４１８および４２０）を格納に利用可能とする。補助画像フレームおよび／または対応する画像フレームを、次に利用可能なバッファロケーションに循環式に保存する。
【００７５】
図５は、取込みセットアッププロセスの例示的な実施形態を示す。取込みセットアッププロセス５０２を使用して、デジタルカメラを取込みプロセスに対してセットアップすることができる。そして、１以上の画像プロセスを実行してもよい。
【００７６】
プロセスはステップ５０４で開始する。ステップ５０６において、Ｎ個の生画像に対し内部メモリを割り付ける。たとえば、３メガピクセル画像フレームには、２メガピクセル画像フレームより多くの内部メモリが必要となる可能性がある。したがって、画像フレームに対して選択されるピクセルの数および他の動作パラメータに応じて、内部メモリを異なるように割り付ける。
【００７７】
ステップ５０８において圧縮モードを選択する。圧縮モードは、非圧縮、Ａ則圧縮、μ則圧縮、または破棄モードを含みうる。ステップ５１０において破棄モードが選択されると、画像フレームが格納される時にＭ個の最下位ビットを破棄し、ステップ５１２において生画像フレーム格納域を１バイト／ピクセルに設定する。ステップ５１０において破棄モードが選択されずステップ５１４において非圧縮が選択されると、ステップ５１６において生画像フレーム格納域を２バイト／ピクセルに設定する。ステップ５１４において、Ａ則圧縮、μ則圧縮、または他の圧縮を含む圧縮が選択されると、ステップ５１８において生画像フレーム格納域を１バイト／ピクセルに設定する。
【００７８】
ステップ５１２、ステップ５１６、またはステップ５１８の後に、ステップ５２０において取込みバッファ画像処理タイミングモードを設定する。画像処理タイミングモードを、１）画像フレームが取込みトリガの起動時に即時処理されバッファロケーションが利用できないものとして指定される場合には、２）すべてのバッファロケーションが利用できない時でありバッファロケーションが利用可能となるまで、３）すべてのバッファロケーションが利用できずその後すべてのバッファロケーションが利用可能となる時、４）選択された数のバッファロケーションが利用できなくなる時、５）選択された数のバッファロケーションが利用可能となるまで、または、６）他のいずれかの選択された時またはイベントを確定するように設定する。一実施形態では、画像処理タイミングモードは、利用できないものと指定されたバッファロケーションにその画像フレームが保存され画像データがそこに収集された直後に画像フレームを処理すること、取込みバッファが満杯になった後のみでありすべてのバッファロケーションが利用可能となるまで画像フレームを処理すること、取込みバッファが満杯になった後のみであり少なくとも１つのバッファロケーションが利用可能となるまで画像フレームを処理することを含む。
【００７９】
ステップ５２２において、Ｘ個の処理済みプレビュー画像に対し内部メモリを割り付ける。Ｘは、処理済みプレビュー画像の設定可能な数である。プレビュー画像は、画像ディスプレイに対して生成される画像である。
【００８０】
ステップ５２４において、選択された動作モードに対して画像取込システムを設定する。動作モードには、画像センサにおける検出器（ピクセル）の数と、画像センサからの画像データの読出しと、他の動作モード設定とがある。
【００８１】
ステップ５２６において、未加工の画像データ取込みに対して画像センサコントローラをセットアップする。このステップは、未加工の画像データを取り込むように画像センサに対する検出器動作モード設定を設定することを含む。
【００８２】
ステップ５２８において、プレビューエンジンを画像処理に対して設定する。このステップは、露出およびホワイトバランスを設定することと、ＣＦＡ補間と、色空間およびガンマ処理とを含む。他の画像処理を選択してもよい。
【００８３】
ステップ５３０において割込みハンドラを画像センサに対して設定し、ステップ５３２において割込みハンドラを取込みトリガに対して設定する。このステップは、取込みトリガが２状態トリガであるか、３状態トリガであるか、または別のタイプのトリガであるかと、各トリガまたはトリガ状態に関連する動作パラメータとを識別することを含む。
【００８４】
図６〜図８は、取込みプロセス中の画像データ処理タイミングの例示的な実施形態を示す。しかしながら、他のタイミングモードを使用してもよい。簡潔および一貫性のために、図６〜図８の説明では、バッファロケーションが利用できないものとして指定され、対応する画像フレームがバッファロケーションに保存されるものとする。これは、まずバッファロケーションを利用できないものとして指定してから、そのバッファロケーションに画像データを保存すること、まずバッファロケーションに画像データを保存してからそのバッファロケーションを利用できないものとして指定すること、または、画像データをバッファロケーションに保存すると同時にそのバッファロケーションを利用できないものとして指定することを含むものとして理解すべきである。
【００８５】
まず図６の制御プロセス６０２を参照すると、ステップ６０４において、取込みバッファポインタを次の利用可能なバッファロケーションに進める。デジタルカメラ１０２がオンとされる時等、取込みプロセス２０２が最初に動作を開始する時、次に利用可能なバッファロケーションは、典型的には第１のバッファロケーションである。
【００８６】
ステップ６０６において取込みトリガ１０８が起動されない場合には、ステップ６０８において補助画像フレームをバッファロケーションに保存する。ステップ６０４においてバッファポインタを次の利用可能なバッファロケーションに進める。
【００８７】
ステップ６０６において取込みトリガ１０８が起動されると、ステップ６１０においてバッファロケーションを利用できないものとしてマーキングし、ステップ６１２において対応する画像フレームをバッファロケーションに保存する。ステップ６１４において、対応する画像フレームに対して画像処理を開始する。
【００８８】
一実施形態では、画像処理はファイル圧縮を含む。別の実施形態では、画像処理は、１以上のバッファロケーションからの補助画像フレームを使用して対応する画像フレームに対する画像処理を実行することを含む。別の実施形態では、画像処理は、ぼけ補正を含む。別の実施形態では、自動焦点合せ処理を実行する。
【００８９】
画像処理が完了すると、ステップ６１６においてバッファロケーションを利用可能としてマーキングする。処理はステップ６０４で継続する。
【００９０】
ステップ６１４において画像処理をバックグラウンドモードで実行している間に、画像フレームを取込みバッファに連続的に保存するということが認められよう。このことを、ステップ６１２と６１４との間からステップ６０４に至るように示す破線によって例示する。
【００９１】
図７は、すべてのバッファロケーションが利用できなくなるまで任意のバッファロケーションに対しても画像処理を開始しない別の画像データ処理オプションを示す。この実施形態では、少なくとも１つのバッファロケーションに対してそのバッファロケーションが利用可能となるように画像処理が完了すると、画像フレームを再び取込みバッファに保存する。
【００９２】
図７の処理プロセス７０２では、ステップ７０４においてバッファポインタを次の利用可能なバッファロケーションに進める。デジタルカメラ１０２がオンとなる時などの取込みプロセス２０２が最初に動作を開始する時に、第１のバッファロケーションが典型的には次の利用可能なバッファロケーションである。ステップ７０６において取込みトリガ１０８が起動されない場合には、ステップ７０８において画像データをバッファロケーションに保存する。プロセスはステップ７０４で継続する。
【００９３】
ステップ７０６において取込みトリガ１０８が起動されると、ステップ７１０においてバッファロケーションを利用できないものとしてマーキングし、ステップ７１２において対応する画像フレームをバッファロケーションに保存する。ステップ７１４において、バッファロケーションのすべてが利用できないものではないような、取込みバッファが満杯でない場合には、プロセスはステップ７０４で継続する。ステップ７１４において取込みバッファが満杯である場合には、ステップ７１６において、少なくとも１つのバッファロケーションに対し、そのバッファロケーションに対して画像処理が完了してバッファロケーションが利用可能となるまで画像処理を開始する。
【００９４】
一実施形態では、画像処理はファイル圧縮を含む。別の実施形態では、画像処理は、１以上のバッファロケーションからの補助画像フレームを使用して対応する画像フレームに対し画像処理を実行することを含む。別の実施形態では、画像処理は、ぼけ補正を含む。別の実施形態では、自動焦点合せ処理を実行する。
【００９５】
ステップ７１８において、バッファロケーションを利用可能としてマーキングする。プロセスはステップ７０４で継続する。
【００９６】
図８は、画像フレームを取込みバッファに連続的に保存し、いずれのバッファロケーションに対して画像処理を実行する前にもすべてのバッファロケーションを利用できないものとしてマーキングする、別の実施形態を示す。そして、この実施例では、すべてのバッファロケーションが利用可能となるまで、すべてのバッファロケーションを画像処理に対して処理する。
【００９７】
図８の制御プロセス８０２では、ステップ８０４において取込みバッファポインタを次の利用可能なバッファロケーションに進める。デジタルカメラ１０２がオンとされる時などの取込みプロセス２０２が最初に開始される時に、第１のバッファロケーションが、典型的には次の利用可能なバッファロケーションである。ステップ８０６において取込みトリガ１０８が起動されない場合には、ステップ８０８において画像データをバッファロケーションに保存する。プロセスはステップ７０４で継続する。
【００９８】
ステップ８０６において取込みトリガ１０８が起動されると、ステップ８１０においてバッファロケーションを利用できないものとしてマーキングし、ステップ８１２において対応する画像フレームをそのバッファロケーションに保存する。すべてのバッファロケーションが利用できないものとしてマーキングされるような、ステップ８１４においてバッファが満杯である場合には、ステップ８１６において、すべてのバッファロケーションに対して画像処理が完了してすべてのバッファロケーションが利用可能となるまでバッファロケーションに対して画像処理を開始する。
【００９９】
一実施形態では、画像処理はファイル圧縮を含む。別の実施形態では、画像処理は、１以上のバッファロケーションからの補助画像フレームを使用して対応する画像フレームに対して画像処理を実行することを含む。別の実施形態では、画像処理は、ぼけ補正を含む。別の実施形態では、自動焦点合せ処理を実行する。
【０１００】
そして、ステップ８１８においてすべてのバッファロケーションを利用可能としてマーキングし、プロセスはステップ８０４で継続する。
【０１０１】
図９は、補助画像フレームを使用して対応する画像フレームに対して画像処理を実行する、別のデータ画像処理オプションを示す。図９のプロセスは、対応する画像フレームが保存された後に画像処理を実行することを示すが、画像処理を他の期間に実行してもよいということが認められるであろう。
【０１０２】
図９の制御プロセス９０２では、ステップ９０４において取込みバッファポインタを次の利用可能なバッファロケーションに進める。デジタルカメラ１０２がオンされる時などのプロセスが最初に動作を開始する時に、次の利用可能なバッファロケーションは、典型的には第１のバッファロケーションである。ステップ９０６において取込みトリガ１０８が起動されない場合には、ステップ９０８において画像データをバッファロケーションに保存し、ステップ９０４においてバッファポインタを次に利用可能なバッファロケーションに進める。
【０１０３】
ステップ９０６において取込みトリガ１０８が起動されると、ステップ９１０においてバッファロケーションを利用できないものとしてマーキングし、ステップ９１２において対応する画像フレームをバッファロケーションに保存する。対応する画像フレームを関数Ｇ（Ｗ）によって表す。
【０１０４】
Ｚ個の他のバッファロケーションにおける補助画像フレームをステップ９１４において使用し、利用できないものとしてマーキングする。ステップ９１４において補助画像フレームを使用するバッファロケーションの数は設定可能である。一実施形態では、前４つのバッファロケーションからの補助画像フレームを画像処理のために使用する。別の実施形態では、先のＮ／２個のバッファロケーション（Ｎは取込みバッファ内のバッファロケーションの数）からの補助画像フレームを使用する。別の実施形態では、次の４つのバッファロケーションからの補助画像フレームを使用する。別の実施形態では、先のおよび次のバッファロケーションからの補助画像フレームを使用する。それより多いかまたは少ないバッファロケーションからの画像データを使用してもよい。画像フレームデータを読み出し直接処理するかまたは処理する前に別のメモリロケーションにコピーしてもよい。
【０１０５】
ステップ９１６において、移動による位相シフトＨ（Ｗ）を確定する。一実施例では、位相シフトを、∫ｅ-j2π（ｕｘ0（ｚ）＋ｖｙ0（ｚ））ｄｚのぼけ補正関数によって確定する。ぼけ補正関数を０からｚ（ｚはぼけ処理に対して対応する画像フレームを処理するために使用されるバッファロケーションの選択された数）まで積分する。この関数において、ｘ0は第１の方向（ｘ）における動きを表し、ｙ0は第２の方向（ｙ）における動きを表し、（ｕ）および（ｖ）は、被写体画像が視野を横切って移動する際のサンプリング積分を表す。
【０１０６】
ステップ９１８において、ぼけ補正済み画像フレームを確定する。一実施形態では、ぼけ補正済み画像フレームＦ（Ｗ）は、Ｇ（Ｗ）／Ｈ（Ｗ）に等しい。
【０１０７】
ステップ９２０において、ぼけ補正済み画像フレームＦ（Ｗ）の画像データに対しさらなる画像処理を実行する。この画像処理は、ホワイトバランス、露出調整、カラー処理、ガンマ処理、および／または、ファイル圧縮を含みうる。
【０１０８】
画像処理が完了すると、ステップ９２２において、ぼけ補正処理に使用したバッファロケーションを利用可能としてマーキングする。プロセスはステップ９０４で継続する。
【０１０９】
ステップ９１４において画像処理が実行されている間に画像フレームを連続して取込みバッファに保存するということが認められるであろう。このことを、ステップ９１２からステップ９０４まで示す破線によって例示する。
【０１１０】
図１０は、１以上の補助画像フレームをメモリの固定セクションに連続して保存して対応する画像フレームを取込みバッファに保存する、制御プロセスの実施形態を示す。図１０の制御プロセスにおいて、自動焦点合せ等の自動機能かまたは他の処理機能のために、メモリの固定セクションに保存された画像フレームを処理してもよい。他の実施形態では、画像処理を固定セクションの補助画像フレームに対して別々に実行しない。代わりに、対応する画像フレームが処理されている時に固定セクションの補助画像フレームを使用する。
【０１１１】
取込みトリガ１０８が起動されると、対応する画像フレームを取込みバッファに保存し、対応する画像フレームに対して画像処理を実行する。一実施形態では、画像処理に対し、固定セクションの補助画像フレームを使用する。
【０１１２】
一実施形態では、固定セクションおよび取込みバッファに対しメモリを割り付ける。たとえば、１以上の画像フレーム、選択された量のピクセルまたは別のセットアップに対する画像データに対し固定セクションを割り付ける。この実施例では、図５のセットアッププロセスを使用するが、ステップ５０６において固定セクションと取込みバッファとに対し内部メモリ１１２を割り付けるように変更してもよい。さらに、画像処理タイミングモードを取込みバッファに対して設定することにより、ステップ５２０を変更する。
【０１１３】
図１０の制御プロセス１００２では、ステップ１００４において取込みバッファポインタを次の利用可能なバッファロケーションに進める。デジタルカメラ１０２がオンされる時などの取込みプロセス２０２が最初に開始される時に、第１のバッファロケーションが、典型的には次の利用可能なバッファロケーションである。ステップ１００６において取込みトリガ１０８が起動されない場合には、ステップ１００８において補助画像フレームを固定セクションに保存する。
【０１１４】
ステップ１０１０において１以上の補助画像フレームに対し表示処理を任意に実行し、ステップ１００４において制御プロセス１００２が再開する。実施形態によっては、画像表示システム１１０に対して処理済みフレームを提供する。ステップ１００６において取込みトリガ１０８が起動されるまで、画像データを固定セクションに連続的に保存する。
【０１１５】
ステップ１００６において取込みトリガ１０８が起動されると、ステップ１０１２において取込みバッファの現在利用可能なバッファロケーションを処理するためにマーキングする。ステップ１０１４において対応する画像フレームをバッファロケーションに保存する。バッファロケーションが利用可能となるまで、ステップ１０１６においてバッファロケーションに対して画像処理を開始する。
【０１１６】
画像フレームを取り込んだ直後と、バッファが満杯である時であり少なくとも１つのバッファロケーションが利用可能となるまでと、バッファが満杯でありすべてのバッファロケーションが利用可能となった時とを含む設定可能な時に、画像処理を実行する。実施形態によっては、ステップ１０１６において実行される画像処理は、固定セクションに保存された画像データを使用してもよい。
【０１１７】
画像処理が完了すると、ステップ１０１８においてバッファロケーションを利用可能としてマーキングし、プロセスはステップ１００４で継続する。一実施形態では、ステップ１０１６において画像処理がバックグラウンドモードで実行されている間に、補助画像フレームを固定セクションに連続的に保存する。このことを、ステップ１０１４と１０１６との間からステップ１００４に至るように示す破線によって例示する。
【０１１８】
図１１は、画像フレームを取込みバッファに連続的に保存する、制御プロセスの別の実施形態を示す。図１１の制御プロセスでは、取込みトリガ１０８が起動されると、バッファロケーションに保存されたばかりの画像フレームを対応する画像フレームとして指定する。
【０１１９】
図１１の制御プロセス１１０２では、ステップ１１０４において取込みバッファポインタを次の利用可能なバッファロケーションに進める。デジタルカメラ１０２がオンとなる時などの取込みプロセス２０２が最初に開始される時に、第１のバッファロケーションが典型的には次の利用可能なバッファロケーションである。ステップ１１０６において、画像フレームをバッファロケーションに保存する。
【０１２０】
ステップ１１０８において取込みトリガ１０８が起動されない場合には、ステップ１１１０において画像フレームに対し表示処理を実行する。実施形態によっては、表示処理ステップ１１１０は任意である。
【０１２１】
ステップ１１０８において取込みトリガ１０８が起動されると、ステップ１１１２において、画像データが収集されたばかりのバッファロケーションを処理のためにマーキングする。ステップ１１１４において、バッファロケーションの画像フレームに対し画像処理を開始する。画像フレームを取り込んだ直後と、取込みバッファが満杯である時であり少なくとも１つのバッファロケーションが利用可能となるまでと、取込みバッファが満杯である時でありすべてのバッファロケーションが利用可能となった後とを含む設定可能な時に、画像処理を実行してもよい。実施形態によっては、ステップ１１１４で実行される画像処理は、１以上の他のバッファロケーションからの補助画像フレームを使用してもよい。
【０１２２】
画像処理が完了すると、ステップ１１１６においてバッファロケーションを利用可能であるとしてマーキングする。プロセスはステップ１１０４で継続する。一実施形態では、ステップ１１０８において取込みトリガ１０８が起動され、ステップ１１１２においてバッファロケーションを処理のためにマーキングすると、ステップ１１１４において画像処理をバックグラウンドモードで実行している間にプロセスは画像フレームを収集し続ける。これを、ステップ１１１０と１１１２との間からステップ１１０４まで至るように示す破線によって例示する。
【０１２３】
本発明によって上記に開示された特定の実施形態からの変形が意図されていることが、当業者に認められるであろう。上記の実施形態に本発明を限定すべきではなく、添付の請求項によって判断すべきである。
【図面の簡単な説明】
【０１２４】
【図１】本発明の実施形態によるデジタルカメラを示すブロック図である。
【図２】本発明の実施形態による取込みプロセスを示すブロック図である。
【図３Ａ】本発明の実施形態による取込みバッファの動作を示すブロック図である。
【図３Ｂ】本発明の実施形態による取込みバッファの動作を示すブロック図である。
【図３Ｃ】本発明の実施形態による取込みバッファの動作を示すブロック図である。
【図３Ｄ】本発明の実施形態による取込みバッファの動作を示すブロック図である。
【図４Ａ】本発明の実施形態によるぼけ補正に使用される取込みバッファの動作を示すブロック図である。
【図４Ｂ】本発明の実施形態によるぼけ補正に使用される取込みバッファの動作を示すブロック図である。
【図４Ｃ】本発明の実施形態によるぼけ補正に使用される取込みバッファの動作を示すブロック図である。
【図４Ｄ】本発明の実施形態によるぼけ補正に使用される取込みバッファの動作を示すブロック図である。
【図５】本発明の実施形態による画像データを収集するセットアッププロセスを示すブロック図である。
【図６】本発明の実施形態による画像を連続的に取り込む制御プロセスを示すブロック図である。
【図７】本発明の実施形態による画像を連続的に取り込む別の制御プロセスを示すブロック図である。
【図８】本発明の実施形態による画像を連続的に取り込む別の制御プロセスを示すブロック図である。
【図９】本発明の実施形態による画像を連続的に取り込む別の制御プロセスを示すブロック図である。
【図１０】本発明の実施形態による画像を連続的に取り込む別の制御プロセスを示すブロック図である。
【図１１】本発明の実施形態による画像を連続的に取り込む別の制御プロセスを示すブロック図である。
【図１】
2005124191.tif 000003
【図２】
2005124191.tif 000004
【図３Ａ】
2005124191.tif 000005
【図３Ｂ】
2005124191.tif 000006
【図３Ｃ】
2005124191.tif 000007
【図３Ｄ】
2005124191.tif 000008
【図４Ａ】
2005124191.tif 000009
【図４Ｂ】
2005124191.tif 000010
【図４Ｃ】
2005124191.tif 000011
【図４Ｄ】
2005124191.tif 000012
【図５】
2005124191.tif 000013
【図６】
2005124191.tif 000014
【図７】
2005124191.tif 000015
【図８】
2005124191.tif 000016
【図９】
2005124191.tif 000017
【図１０】
2005124191.tif 000018
【図１１】
2005124191.tif 000019