JP4078343B2 - 画像データを取り込むシステムおよび方法 - Google Patents

画像データを取り込むシステムおよび方法 Download PDF

Info

Publication number
JP4078343B2
JP4078343B2 JP2004295761A JP2004295761A JP4078343B2 JP 4078343 B2 JP4078343 B2 JP 4078343B2 JP 2004295761 A JP2004295761 A JP 2004295761A JP 2004295761 A JP2004295761 A JP 2004295761A JP 4078343 B2 JP4078343 B2 JP 4078343B2
Authority
JP
Japan
Prior art keywords
image
image frame
buffer
capture
blur
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004295761A
Other languages
English (en)
Other versions
JP2005124191A (ja
Inventor
パトリック・エフ・ゴンザレス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2005124191A publication Critical patent/JP2005124191A/ja
Application granted granted Critical
Publication of JP4078343B2 publication Critical patent/JP4078343B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • H04N5/772Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • H04N9/8047Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction using transform coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)

Description

本発明は、デジタルカメラのために画像データを取り込む技術分野に関する。
本願は、2003年10月8日に出願され「SYSTEM AND METHOD FOR CAPTURING IMAGE DATA」と題された米国特許出願第10/681,816号に関連する。
一般に、デジタルカメラは、画像データを収集するレンズ系と画像センサとを有する。画像データは、画像フレームとして処理システムに送出され処理される。各画像フレームは、一般には別々の静止画像である。本明細書で使用する画像フレームは、アナログ・デジタル(A/D)変換器によってデジタル化された、画像センサからの生画像データを含む。本明細書で使用する、画像データを「収集する」とは、画像センサにおいて画像データを検出することを言い、その画像データは1以上のフレームとして後に送出される。
デジタルカメラは、ユーザが特定の画像(「被写体画像(subject image)」)を取り込みたい時に起動するシャッタボタン等の取込みトリガも有する。ユーザが取込みトリガを起動すると、処理システムはその取込みトリガを検出し、画像センサが収集した画像データを、ユーザが取り込みたい特定の画像に対応するものとして指定する。
取込みトリガに対応する画像センサから受け取られる画像フレームを、本明細書では「対応する画像フレーム」と呼ぶ。画像センサにより、デジタルカメラの構成に応じて、取込みトリガを起動する直前に対応する画像フレームを収集してもよく、取込みトリガを起動すると同時に対応する画像フレームを収集してもよく、または、取込みトリガを起動した直後に対応する画像フレームを収集してもよい。
また、画像センサは、取込みトリガの起動に対応しない画像データも収集する場合がある。本明細書では、これらの画像フレームを「補助画像フレーム(auxiliary image frame)」と呼ぶ。補助画像フレームを画像ディスプレイに表示しても、自動焦点合せを行うために補助画像フレームを使用しても、または、他の処理のために補助画像フレームを使用してもよい。画像センサからフル解像度で収集してもフル解像度に満たない解像度で、補助画像フレームを収集してもよい。
デジタルカメラの処理システムは、1以上のプロセッサを含む。デジタルカメラによっては、処理システムは、プロセッサとコプロセッサとを有する。一般に、命令およびデータを他のコンポーネントに送出して他のコンポーネントから受け取ることを含む、カメラ動作およびデジタルカメラの他のコンポーネントを管理するように、プロセッサが構成される。コプロセッサは、圧縮と、ぼけ補正と、自動焦点合せと、他の画像処理等の処理集約的動作とを実行するように構成される。
処理システムは、処理前、処理中、および/または、処理した後に、内部メモリまたはリムーバブルメモリに画像データを格納してもよい。内部メモリは、揮発性メモリおよび/または不揮発性メモリを含む。
ランダムアクセスメモリ等の揮発性メモリは、処理システムが動作中に迅速にアクセスすることができるメモリである。フラッシュメモリ等の不揮発性メモリは、メモリから電源が除去された時にかなりの期間データを格納することができる。
リムーバブルメモリは、デジタルカメラへと挿入することができ、デジタルカメラから取り除くことができる。リムーバブルメモリは、画像データを処理システムに通信して画像データのリムーバブルメモリへの格納とリムーバブルメモリからの取り出しとを制御する、関連するメモリコントローラを有する。
処理システムは、ユニバーサルシリアルバス(USB)ポート等のホストインタフェースを介して、デジタルカメラから画像データを送信するか、または画像データを受信することができる。処理システムは、ホストインタフェースを介する他のデータおよび命令の送受信を制御する。
処理システムは、画像ディスプレイに表示するための補助画像フレームを処理する。本明細書では、この処理を「表示処理」と呼ぶ。
表示処理中に、画像データを任意にサブサンプリングすることにより、補助画像フレームに必要な処理全体を低減する。そして、サブサンプリングされた画像データを、いくつかの段階で処理する。ホワイトバランスおよび露出調整は、白色光および露出不足または露出過剰に対して画像データを調整する。カラー処理は、画像データに対して適当な色を導出するように実行され、カラーフィルタアレイ(CFA)補間と色空間処理とを含みうる。また、ガンマ処理等の非線形特性を補償するように画像データを処理する。
そして、表示処理された画像を画像ドライバに転送する。画像ドライバは、画像データを関連する画像ディスプレイに対して構成し、構成された画像データを画像ディスプレイに送出する。
処理システムは、ユーザが取込みトリガを起動した時に取り込まれた最終画像を生成するために、対応する画像フレームを画質向上、復元およびカラー処理に対しても処理する。本明細書では、この処理を「画像処理」と呼ぶ。
一般に、画像処理には、ホワイトバランス、露出調整、カラー処理、および非線形補償のための処理がある。画像処理は、一般に、画像フレームに対応するフル解像度を使用する。しかしながら、フル解像度に満たない解像度のデータをときどき使用してもよい。処理システムは、対応する画像フレームを内部メモリまたはリムーバブルメモリに格納する。
場合によっては、処理システムは、ぼけ処理を実行する。ぼけは、たとえば、被写体画像がカメラレンズの視野を通して移動する場合にもたらされる。ぼけの度合いは、被写体画像が視野内をいかに速く移動しているかによって決まる。ぼけを除去するように画像データを処理する。
エッジ強調および自動焦点合せ等のさらなる画像処理を実行する場合もある。他の自動機能のための他の処理を実行する場合もある。
構成によっては、画像処理の最後にファイル圧縮を実行する。ファイル圧縮規格は、ジョイントフォトグラフィックエキスパートグループ(joint photographic experts group(JPEG))規格と、グラフィックインターチェンジフォーマット(graphics interchange format(GIF))フォーマットと、タグ付きイメージファイルフォーマット(tagged image file format(TIFF))フォーマットと、他のフォーマットおよび規格とがある。また、ムービングピクチャーエキスパートグループ(moving pictures experts group(MPEG))規格やオーディオ・ビデオ・インターリーブド(audio-video-interleaved(AVI))規格等のビデオと音声取込みとフォーマット規格とを使用してもよい。
画像処理はすべて、時間と処理資源とを費やす。しばしば、画像データが処理されている間に、処理システムは画像処理でビジー状態であり新たな画像を取り込みまたは処理するために利用することができない。他の場合では、デジタルカメラは、セットアップコマンドを処理している場合があり、一時的に対応する画像を収集することができない。
かかる場合には、デジタルカメラは、取込みトリガが起動された時に対応する画像フレームを迅速に収集しない。場合によっては、画像が取り込まれ処理される前に数秒間経過する可能性もある。一般に、この遅延を「シャッタ遅延」と呼ぶ。
シャッタ遅延は、画像を取り込もうとしているユーザに対してフラストレーションを起こさせる可能性がある。たとえば、子供の誕生日パーティでまたはスポーツイベントで特定の瞬間を取り込もうとしているユーザは、シャッタ遅延によってデジタルカメラが期待した画像を取り込み損ねる場合には、フラストレーションを感じる可能性がある。
したがって、取込みトリガの起動と被写体画像の画像データの取り込みとの間に迅速な応答を提供するシステムおよび方法であって、利用可能なメモリが許す限りこの応答を提供するものであることが望ましい。
デジタルカメラは、画像センサと、取込みトリガと、処理システムと、各々が画像データを格納するために利用可能である複数のバッファロケーションを有する取込みバッファとを有する。処理システムは、画像センサから補助画像フレームを受け取り、各補助画像フレームを利用可能なバッファロケーションに格納する。取込みトリガが起動されると、処理システムは、画像センサから対応する画像フレームを受け取り、利用可能なバッファロケーションに格納する。少なくとも1つの他のバッファロケーションにおける少なくとも1つの補助画像フレームを使用して、対応する画像フレームに対しぼけ補正を実行する。ぼけ補正に使用されるすべてのバッファロケーションは、ぼけ補正が完了するまで他の画像データの格納用に利用できない。利用できないものとして指定されないバッファロケーションに画像フレームを連続的に格納する。代替実施形態では、対応する画像フレームに対して圧縮等の他の画像処理を実行する。
図1は、本発明のデジタルカメラ102の例示的な実施形態を示す。デジタルカメラ102は、画像データを収集するレンズおよび画像センサ105を備えた画像取込みシステム104を有する。画像取込みシステム104は、処理するために処理システム106に画像フレームを送出する。一実施形態では、画像フレームはビデオ画像フレームである。別の実施形態では、画像フレームは静止画像である。
実施形態によっては、取込みトリガ108が起動されない時に、処理システム106は画像フレームを補助画像フレームとして処理する。1つの特定の実施形態では、処理システム106は、補助画像フレームを表示のために処理し、処理済みデータを画像表示システム110に転送する。処理システム106は、表示処理中に補助画像フレームを格納するために内部メモリ112を使用する。
取込みトリガ108が起動されると、コントローラ114はトリガ信号を処理システム106に通信する。1つの画像、複数の画像、および/または、ビデオの取込みを起動するように、取込みトリガ108を構成してもよい。
処理システム106は、取込みトリガ信号を受け取り、画像フレームを対応する画像フレームとして指定する。処理システム106は、対応する画像フレームを画像処理のために処理する。その後、処理システム106は、処理済み画像を内部メモリ112および/またはリムーバブルメモリ116に格納し、および/または、ホストインタフェース118を介して別の装置に処理済み画像を送信する。また、処理システム106は、画像表示システム110に処理済み画像を送出してもよい。
処理システム106は、コントローラ114を介して処理システムに送出される、カメラボタン120からの制御信号も監視する。ボタンは、モードセレクタと、メニューセレクタと、自動焦点合せトリガと、ズーム、アップ、ダウン、レフトおよびライトコントロールと、他の制御ボタンとを含みうる。
一実施形態では、デジタルカメラ102は、内部メモリ112に取込みバッファを有し、そこには、1以上の補助画像フレームおよび/または1以上の対応する画像フレームが画像処理のためおよび/または自動機能を実行するために保存される。一実施形態では、対応する画像フレームのみが画像処理のために取込みバッファに保存される。別の実施形態では、補助画像フレームと対応する画像フレームとが画像処理のために取込みバッファに保存される。
取込みバッファは、N個のバッファロケーション(「N」はバッファロケーションの設定可能な数)を有する。取込みバッファは、デジタルカメラ102が動作している間に画像データが利用可能なバッファロケーションに保存される循環バッファである。したがって、画像フレームが「第Nの」バッファロケーションに保存された後に、次の画像フレームは第1のバッファロケーションに格納され、または、第1のバッファロケーションが利用可能でない場合には、第1のバッファロケーションの後の次の利用可能なバッファロケーションに格納される。バッファロケーションは、画像処理がそのバッファロケーションの画像フレームに対してまたはその画像フレームとともに実行されている間に、画像データ格納用に利用できない。画像処理が完了すると、バッファロケーションは、画像データ格納用に再び利用可能となる。
別の実施形態では、デジタルカメラ102は、画像フレームが画像処理および/または自動機能のために保存される、メモリの固定セクションを有する。実施形態によっては、メモリの固定セクションを取込みバッファとともに使用する。画像フレームは、対応する画像フレームおよび/または補助画像フレームでありうる。
別の実施形態では、画像フレームが取込みバッファに保存される前または保存される際であるが画像処理が実行される前に、圧縮アルゴリズムによって画像フレームを処理するように、処理システム106を構成する。本明細書では、この圧縮を「前処理圧縮」と呼ぶ。
前処理圧縮は、本技術分野では既知であるA則(A-law)またはμ則(μ-law)圧縮等の指数関数的圧縮アルゴリズムを使用することを含む。前処理圧縮は、画像フレームデータが取込みバッファに保存される前に、各ピクセルに対し何バイトかの画像フレームデータから選択された数の最下位ビット(M個のLSB)を破棄すること(本明細書では「破棄モード」と呼ぶ)も含みうる。「M」は、ビットの設定可能な数である。一実施形態では、処理システム106を、2つのLSBを破棄するように構成する。A/D変換器は、通常、プログラマブルではなく、デジタルカメラ用のA/D変換器はしばしば10ビット変換器である。Mビットを破棄することにより、処理資源が節約され、8ビットバイト等のより適切な数のビットが処理されることになる。別の実施形態では、非圧縮、A則圧縮、μ則圧縮、破棄モード圧縮または別の圧縮アルゴリズムを実行するように、処理システム106を構成する。
別の実施形態では、処理システム106によりぼけ補正処理を実行する。この実施形態では、画像フレームデータを画像取込みシステム104が連続的に収集し、補助画像フレームを取込みバッファの利用可能なバッファロケーションに保存する。取込みトリガ108が起動されると、対応する画像フレームを取込みバッファの次の利用可能なバッファロケーション(t)に保存する。処理システム106は、バッファロケーション(t)の対応する画像フレームを設定可能な数の追加のバッファロケーション(z)からの補助画像フレームとともに処理することによって、ぼけを補正する。画像フレームがすでに取込みバッファに保存されており利用可能であるため、この実施形態では、追加の画像フレームを収集して保存する必要はなく、それによりボケ補正のための遅延が低減される。しかしながら、実施形態によっては、ぼけ補正に対して、対応する画像フレームの後に保存される1以上の補助画像フレームを使用してもよい。
実施形態によっては、ぼけ補正関数∫e-j2π(ux0(z)+vy0(z))dzに従ってぼけを補正するように処理システム106を構成する。ぼけ補正関数を、0からz(zはバッファロケーションの選択された数)まで積分する。この関数において、x0は第1の方向(x)における動きを表し、y0は第2の方向(y)における動きを表し、(u)および(v)は、被写体画像が視野を横切って移動する際のサンプリング積分を表す。「被写体画像」は、ユーザが取り込むことを期待する画像である。
ぼけ補正関数は、全体として、サンプリングされた点の合計を表し、各画像フレーム(バッファロケーションの画像データ)はサンプリングされる点である。この関数を時間の経過により積分することにより、ぼけをもたらす位相シフトを確定する。位相シフトは移動による。積分されたぼけ補正関数の結果は、ぼけ成分である。ぼけ成分を対応する画像フレームから除去することによりぼけを除去し、それによりぼけが補正された画像フレームがもたらされる。一実施形態では、対応する画像フレームをぼけ成分で除算することによりぼけを除去しぼけが補正された画像フレームをもたらす。他のぼけ補正関数を使用してもよい。
ぼけ補正済み画像フレームを画像処理のためにさらに処理してもよく、ぼけ補正済み画像フレームを格納してもよく、または、ぼけ補正済み画像フレームを画像表示システム110に送出してもよい。実行すべき他の画像処理がない場合には、ぼけ補正済み画像フレームが、一般に最終画像である。
場合によっては、処理システム106は、取込みバッファロケーションから1以上の補助画像フレームおよび/または対応する画像フレームを読み出し、その画像データに対し直接画像処理を実行する。他の場合では、処理システム106は、バッファロケーションからの1以上の補助画像フレームおよび/または対応する画像フレームをメモリの固定セクション等のメモリの別のセクションにコピーし、そのコピーされたデータに対して画像処理を実行する。
図2は、本発明の取込みプロセス202の例示的な実施形態を示す。図2の取込みプロセス202は、図1の処理システム106において動作可能である。
図2の取込みプロセス202では、ステップ204において画像取込みシステム104から画像フレームを受け取る。画像フレームは、1以上の補助画像フレームおよび/または1以上の対応する画像フレームを含む。
この実施形態では、動作している時に補助画像フレームを表示するようにデジタルカメラ102を構成する。この場合には、ステップ206において補助画像フレームを表示処理のために処理する。表示処理には、補助画像フレームをサブサンプリングすること、サブサンプリングされたデータをホワイトバランス処理し露出調整すること、調整されたデータを、CFA補間、色空間処理およびガンマ処理を使用してカラー処理することがある。
この実施形態では、画像表示システム110に対して生成されるプレビューフレームまたは画像はフル解像度画像データを必要としないため、補助画像フレームをサブサンプリングする。画像データをサブサンプリングすることにより、典型的には、画像表示システムに対して画像データを生成する前に、露出調整およびホワイトバランス等の後のステップで適用される処理要件が低減される。
ステップ208において、画像表示システム110に対し表示処理済み画像データを生成する。このステップは、画像ドライバにより画像データを関連する画像ディスプレイに対して構成することと、構成済み画像データを画像ディスプレイに送出することとを含む。
さらに図2を参照すると、対応する画像フレームを含む画像フレームも、画像処理のために処理される。この実施形態では、ステップ210において前処理圧縮オプションを選択する。
圧縮が選択された場合には、ステップ212において圧縮を実行する。一実施形態では、ステップ212においてA則圧縮またはμ則圧縮等の指数関数的圧縮を実行する。他の圧縮アルゴリズムを構成してもよい。
破棄モードが選択された場合には、ステップ214において、画像フレームデータの各2バイトピクセルから2つの最下位ビットを破棄する。他の実施形態では、それより多いかもしくは少ないかまたは他のビットを破棄モード圧縮のために破棄してもよい。
ステップ212またはステップ214の後に、またはステップ210の後に非圧縮が選択された場合には、ステップ216において画像フレームを取込みバッファに保存し、ステップ218において画像処理を実行する。図2の一実施形態では、画像処理ステップ218は、露出調整と、ホワイトバランスと、CFA補間と、色空間およびガンマ処理とを含む。画像処理ステップ218の最終段階として、任意に圧縮を含める。他の実施形態では、画像処理に対して他のステップを適用してもよい。
図2の一実施形態では、画像処理ステップ218は、1以上のバッファロケーション(z)からの補助画像フレームを使用して対応する画像フレームを画像処理する。一実施例では、ぼけ補正に対してバッファロケーション(t)の対応する画像フレームを処理するために、(t−z)バッファロケーションを使用する。別の実施形態では、画像処理ステップ218をバックグラウンドモードで実行する。
代替実施形態では、ステップ216において補助画像フレームを取込みバッファに保存し、ステップ220において対応する画像フレームをメモリの固定セクションに保存する。別の実施形態では、ステップ216において対応する画像フレームを取込みバッファに保存し、ステップ220において補助画像フレームをメモリの固定セクションに保存する。別の実施形態では、ステップ216において補助画像フレームと対応する画像フレームとを取込みバッファに保存し、ステップ220においてメモリの固定セクションにコピーする。上記実施形態では、画像処理ステップ218は1以上の補助画像フレームを使用して対応する画像フレームを画像処理する。
画像処理ステップ218において圧縮を実行する前に、ステップ208において処理済み画像フレームを画像表示システムに送出する。この画像フレームは、最終画像フレームを表し、ユーザが取り込むことを期待した被写体画像に対応する。
画像処理ステップ218において圧縮が実行された後に、ステップ222において圧縮済み画像を内部メモリおよび/またはリムーバブルメモリに格納する。実施形態によっては、画像処理ステップ218において圧縮を実行せず、ステップ222において圧縮されていない画像を内部メモリおよび/またはリムーバブルメモリに格納する。
また、ステップ224において画像データを内部メモリおよび/またはリムーバブルメモリから取り出してもよい。必要な場合には、ステップ226において取り出された画像データを解凍する。そして、取り出された画像データを、ステップ208において表示するために画像表示システム110に送出するか、またはステップ228において処理システムにより別の装置または他のメモリに送出する。ステップ208において、画像データを画像ドライバにより画像ディスプレイに対して構成し画像ディスプレイに転送する。
図3A〜図3Dは、取込みプロセスを実行している間に取込みバッファ302を使用できる一実施例を示す。取込みバッファ302は、N個のバッファロケーション304〜322を有する。一実施形態では、取込みバッファ302が10個のバッファロケーションを有するように、N=10である。別の実施形態では、取込みバッファ302は5つしかバッファロケーションを有していない。別の実施形態では、取込みバッファは20個のバッファロケーションを有する。バッファロケーションの数は設定可能である。
取込みプロセス202が動作すると、バッファロケーション1(304)からバッファロケーション2(306)にバッファロケーションN(322)まで、そして、バッファロケーション1に連続動作で戻るように循環する仕方で、連続的にデータを格納する。取込みトリガ112が起動されると、次に利用可能なバッファロケーションに、対応する画像フレームを保存する。
対応する画像フレームに対して画像処理を実行し、対応する画像フレームに対して画像処理が完了するまで、対応する画像フレームが保存されているバッファロケーションは他の画像データの格納用には利用できない。対応する画像フレームがバッファロケーションに保存される前、保存されている間または保存された後に利用できないものとして、バッファロケーションをマーキングするかまたは他の方法により指定してもよい。
図3Aの一実施形態を参照すると、取込みプロセス202が動作している間に、補助画像フレームを取込みバッファ302の第1のロケーション304に保存し、取込みバッファポインタを進める。そして、補助画像フレームを次のバッファロケーション306に保存し、取込みバッファポインタを再び進める。第Nのバッファロケーション322までこの動作を続ける。そして、取込みバッファポインタを第1のバッファロケーション304に戻す。その後、補助画像フレームを第1のバッファロケーション304に保存し、取込みバッファポインタを進める。取込みトリガ108(図1参照)が起動されるまでこのプロセスを続ける。このプロセス中に、自動焦点合せ処理等の自動機能および他の動作を処理するために補助画像フレームを使用してもよい。
図3Bの実施例を参照すると、補助画像フレームがバッファロケーション1〜4(304〜310)に保存された後であるが画像フレームがバッファロケーション5(312)に保存される前に、取込みトリガ108が起動される。この実施例では、次の画像フレームを対応する画像フレームとして指定する。この対応する画像フレームをバッファロケーション5(312)に保存し、バッファロケーション5に位置する対応する画像フレームに対して画像処理を実行する。取込みバッファポインタを進め、補助画像フレームをバッファロケーション6(314)に保存する。バッファロケーション5(312)は、対応する画像フレームに対する画像処理が完了するまで画像フレームの格納に利用可能ではない。
図3Cの実施例を参照すると、取込みバッファポインタを第1のバッファロケーション304に進める。補助画像フレームを各バッファロケーションに保存し続ける。しかしながら、第5のバッファロケーション312は、利用できないものとして指定されているため、スキップされる。
補助画像フレームがバッファロケーション8(318)に保存されている間であるが、バッファロケーション9(320)に任意のデータが保存される前に、取込みトリガ108が起動される。この実施例では、次の画像フレームを対応する画像フレームとして指定し、バッファロケーション9(320)に保存する。バッファロケーション9(320)において画像処理を開始し、対応する画像フレームに対して画像処理が完了するまでバッファロケーション9は利用できない。取込みバッファポインタを進め、画像フレームを利用可能なバッファロケーションに保存し続ける。
ここで図3Dを参照すると、バッファロケーション5(312)に位置する対応する画像フレームに対して画像処理が完了し、バッファロケーション5を利用可能であるとして指定する。上述したようにバッファロケーション5(312)を含む利用可能なバッファロケーションに画像フレームを保存し続ける。
実施形態によっては、補助画像フレームは、取込みトリガが起動される前かまたは起動の間に画像処理のためにバックグラウンドモードで使用される。これは、たとえば、自動焦点合せプロセス、露出調整、ホワイトバランス、または別のプロセスとともに発生してもよい。
バッファロケーションは、種々の期間に、利用できないものとしてマーキングまたは他の方法により指定されるということが理解されよう。一実施形態では、バッファロケーションを利用できないものとしてマーキングしてから、バッファロケーションに画像フレームを保存する。別の実施形態では、バッファロケーションに画像フレームを保存してから、バッファロケーションを利用できないものとしてマーキングする。別の実施形態では、バッファが利用できないものとしてマーキングされるのと同時にまたは略同時にバッファロケーションに画像フレームを保存する。
簡潔および一貫性のために、明細書および請求項では、バッファロケーションが利用できないものとして指定されるものとする。これは、まずバッファロケーションを利用できないものとして指定してから、バッファロケーションに画像フレームを保存すること、まず画像フレームをバッファロケーションに保存してから、バッファロケーションを利用できないものとして指定すること、または、バッファロケーションに画像フレームを保存するのと同時にバッファロケーションを利用できないものとして指定することを含むものとして理解すべきである。
一実施形態では、バッファロケーションが利用できなくなり対応する画像フレームがバッファロケーションに収集されるとすぐに、画像フレームに対して画像処理を実行する。別の実施形態では、取込みバッファのすべてのバッファロケーションが利用できなくなった後にのみバッファロケーションの画像フレームに対して画像処理を実行する。この実施形態の一実施例では、すべての画像フレームが処理されすべてのバッファロケーションが利用可能となるまで、取込みバッファのすべてのバッファロケーションに対して画像処理を実行する。そして、バッファロケーションに新たな画像フレームを収集する。この実施形態の別の実施例では、そのバッファロケーションの画像フレームが処理されそのバッファロケーションが利用可能であるとして指定されるまで、取込みバッファの1つのバッファロケーションに対して画像処理を実行する。そして、そのバッファロケーションに新たな画像フレームを収集する。
他の実施形態では、選択された数のバッファロケーションまたはバッファロケーションの選択された割合が利用できないものとして指定されると、画像処理を開始する。これらの実施形態では、画像フレームが任意のバッファロケーションに再び保存される前に、選択された数の1以上のバッファロケーションに対し画像処理を実行する。
図4A〜図4Dは、画像データのぼけ補正の実行中に取込みバッファ402を使用できる1つの実施例を示す。図4A〜図4Dの取込みバッファ402は、N個のバッファロケーション404〜422を有する。一実施形態では、取込みバッファ402が10個のバッファロケーションを有するように、N=10である。別の実施形態では、取込みバッファ402は8個のバッファロケーションしか含まない。別の実施形態では、取込みバッファは15個のバッファロケーションを有する。バッファロケーションの数は設定可能である。
図4A〜図4Dの実施形態では、図3A〜図3Dに示すものと同じ方法で、補助画像フレームと対応する画像フレームとを保存し、取込みバッファポインタを進める。一実施例では、取込みバッファはN=10のバッファロケーションを有する。対応する画像フレームを第8のバッファロケーションに保存し、前4つのバッファロケーションを使用して対応する画像フレームによるぼけ補正処理を実行する。この実施例では、ぼけ補正に対し、t=8であり、z=4であり、(t−z)=(8−4)バッファロケーションを使用する。別の実施例では、(t−5)は現バッファロケーション(t)とバッファロケーション(t)の後の5つのバッファロケーションとを表す。別の実施例では、z=N/2である。
一般に、取込みプロセス202が動作すると、バッファロケーション1(404)からバッファロケーション2(406)にバッファロケーションN(422)まで、そしてバッファロケーション1に戻るように連続動作で循環する仕方で、補助画像フレームを連続して格納する。取込みトリガ112が起動されると、画像取込システム104からの対応する画像フレームを次の利用可能なバッファロケーションに保存する。ぼけ補正に対し、対応する画像フレームの前および/または後に保存された1以上の補助画像フレームを使用する。ぼけ補正に使用される補助画像フレームが格納されるバッファロケーションを、対応する画像フレームに対するぼけ補正が完了するまでさらなる画像フレームの格納に利用できないものとして指定する。対応する画像フレームが保存されるバッファロケーションも、ぼけ補正が完了するまで利用できないものとして指定する。画像フレームがそこに保存される前、保存されている間、または保存された後に、バッファロケーションを利用できないものとしてマーキングするかまたは他の方法により利用できないものとして指定してもよい。
図4Bの実施例を参照すると、補助画像フレームがバッファロケーション1および2(404および406)に保存された後であるがバッファロケーション3(408)にいずれのデータも保存される前に、取込みトリガ108が起動される。この実施例では、画像取込みシステムから検出された次の画像フレームを、対応する画像フレームとして指定してバッファロケーション3(408)に保存する。この実施例では、バッファロケーション3(408)に位置する対応する画像フレームに対してぼけ補正を開始し、ぼけ補正に対して前2つの補助フレームを使用する。バッファロケーション1、2および3(404〜408)を、ぼけ補正処理が完了するまでさらなる画像データの格納のために利用できないものとして指定する。取込みバッファポインタを進め、補助画像フレームおよび/または対応する画像フレームを循環式に次の利用可能なバッファロケーションに保存する。
補助画像フレームをバッファロケーション4〜6(410〜414)に保存した後であるがバッファロケーション7(416)にいずれのデータも保存される前に取込みトリガ108が再び起動される。この実施例では、画像取込みシステム104から検出される次の画像フレームを、対応する画像フレームとして指定してバッファロケーション7(416)に保存する。この実施例では、バッファロケーション7(416)に位置する対応する画像フレームに対してぼけ補正を開始し、ぼけ補正のために前2つの補助フレームを使用する。バッファロケーション5、6および7(412〜416)を、ぼけ補正処理が完了するまでさらなる画像データの格納に利用できないものとして指定する。補助画像フレームおよび/または対応する画像フレームを、循環式に次の利用可能なバッファロケーションに保存する。
バッファロケーション3における対応する画像フレームに対するぼけ補正処理が完了すると、バッファロケーション1、2および3(404〜408)が格納に利用可能となる。バッファロケーション7(416)における対応する画像フレームに対するぼけ補正処理が完了すると、バッファロケーション5、6および7(412〜416)が格納に利用可能となる。
図4Cの実施例を参照すると、補助画像フレームがバッファロケーション1〜6(404〜414)に保存された後であるがバッファロケーション7(416)にいずれのデータも保存される前に、取込みトリガ108が起動される。この実施例では、取込みトリガと同時に画像取込みシステム104から画像フレームを検出し、対応する画像フレームとして指定する。対応する画像フレームをバッファロケーション7(416)に保存する。他の補助フレームを受け取りバッファロケーション8および9(418および420)に格納する。この実施例では、バッファロケーション7(416)に位置する対応する画像フレームにおいてぼけ補正を開始し、ぼけ補正のために前3つの補助フレームと1つの次の補助フレームとを使用する。ぼけ補正処理が完了するまで、さらなる画像データの格納のためにバッファロケーション4〜8(410〜418)を利用できないものとして指定する。取込みバッファポインタを進め、補助画像フレームを循環式に次の利用可能なバッファロケーションに保存する。ぼけ補正処理が完了した後に、バッファロケーション4〜8(410〜418)を格納に利用可能とする。
ここで図4Dを参照すると、補助画像フレームがバッファロケーション1〜8(404〜418)に保存された後であるがバッファロケーション9(420)にいかなるデータも保存される前に、取込みトリガ108が起動される。この実施例では、取込みトリガ108が起動される直前に画像取込みシステム104から画像フレームが送出されており、それを対応する画像フレームとして指定する。対応する画像フレームをバッファロケーション9(420)に保存する。この実施例では、バッファロケーション9(420)に位置する対応する画像フレームに対してぼけ補正を開始し、そのぼけ補正のために、対応する画像フレームの前に保存された補助画像フレームを使用する。ぼけ補正処理が完了するまで、バッファロケーション8および9(418および420)を、さらなる画像データの格納のために利用できないものとして指定する。その後、バッファロケーション8および9(418および420)を格納に利用可能とする。補助画像フレームおよび/または対応する画像フレームを、次に利用可能なバッファロケーションに循環式に保存する。
図5は、取込みセットアッププロセスの例示的な実施形態を示す。取込みセットアッププロセス502を使用して、デジタルカメラを取込みプロセスに対してセットアップすることができる。そして、1以上の画像プロセスを実行してもよい。
プロセスはステップ504で開始する。ステップ506において、N個の生画像に対し内部メモリを割り付ける。たとえば、3メガピクセル画像フレームには、2メガピクセル画像フレームより多くの内部メモリが必要となる可能性がある。したがって、画像フレームに対して選択されるピクセルの数および他の動作パラメータに応じて、内部メモリを異なるように割り付ける。
ステップ508において圧縮モードを選択する。圧縮モードは、非圧縮、A則圧縮、μ則圧縮、または破棄モードを含みうる。ステップ510において破棄モードが選択されると、画像フレームが格納される時にM個の最下位ビットを破棄し、ステップ512において生画像フレーム格納域を1バイト/ピクセルに設定する。ステップ510において破棄モードが選択されずステップ514において非圧縮が選択されると、ステップ516において生画像フレーム格納域を2バイト/ピクセルに設定する。ステップ514において、A則圧縮、μ則圧縮、または他の圧縮を含む圧縮が選択されると、ステップ518において生画像フレーム格納域を1バイト/ピクセルに設定する。
ステップ512、ステップ516、またはステップ518の後に、ステップ520において取込みバッファ画像処理タイミングモードを設定する。画像処理タイミングモードを、1)画像フレームが取込みトリガの起動時に即時処理されバッファロケーションが利用できないものとして指定される場合には、2)すべてのバッファロケーションが利用できない時でありバッファロケーションが利用可能となるまで、3)すべてのバッファロケーションが利用できずその後すべてのバッファロケーションが利用可能となる時、4)選択された数のバッファロケーションが利用できなくなる時、5)選択された数のバッファロケーションが利用可能となるまで、または、6)他のいずれかの選択された時またはイベントを確定するように設定する。一実施形態では、画像処理タイミングモードは、利用できないものと指定されたバッファロケーションにその画像フレームが保存され画像データがそこに収集された直後に画像フレームを処理すること、取込みバッファが満杯になった後のみでありすべてのバッファロケーションが利用可能となるまで画像フレームを処理すること、取込みバッファが満杯になった後のみであり少なくとも1つのバッファロケーションが利用可能となるまで画像フレームを処理することを含む。
ステップ522において、X個の処理済みプレビュー画像に対し内部メモリを割り付ける。Xは、処理済みプレビュー画像の設定可能な数である。プレビュー画像は、画像ディスプレイに対して生成される画像である。
ステップ524において、選択された動作モードに対して画像取込システムを設定する。動作モードには、画像センサにおける検出器(ピクセル)の数と、画像センサからの画像データの読出しと、他の動作モード設定とがある。
ステップ526において、未加工の画像データ取込みに対して画像センサコントローラをセットアップする。このステップは、未加工の画像データを取り込むように画像センサに対する検出器動作モード設定を設定することを含む。
ステップ528において、プレビューエンジンを画像処理に対して設定する。このステップは、露出およびホワイトバランスを設定することと、CFA補間と、色空間およびガンマ処理とを含む。他の画像処理を選択してもよい。
ステップ530において割込みハンドラを画像センサに対して設定し、ステップ532において割込みハンドラを取込みトリガに対して設定する。このステップは、取込みトリガが2状態トリガであるか、3状態トリガであるか、または別のタイプのトリガであるかと、各トリガまたはトリガ状態に関連する動作パラメータとを識別することを含む。
図6〜図8は、取込みプロセス中の画像データ処理タイミングの例示的な実施形態を示す。しかしながら、他のタイミングモードを使用してもよい。簡潔および一貫性のために、図6〜図8の説明では、バッファロケーションが利用できないものとして指定され、対応する画像フレームがバッファロケーションに保存されるものとする。これは、まずバッファロケーションを利用できないものとして指定してから、そのバッファロケーションに画像データを保存すること、まずバッファロケーションに画像データを保存してからそのバッファロケーションを利用できないものとして指定すること、または、画像データをバッファロケーションに保存すると同時にそのバッファロケーションを利用できないものとして指定することを含むものとして理解すべきである。
まず図6の制御プロセス602を参照すると、ステップ604において、取込みバッファポインタを次の利用可能なバッファロケーションに進める。デジタルカメラ102がオンとされる時等、取込みプロセス202が最初に動作を開始する時、次に利用可能なバッファロケーションは、典型的には第1のバッファロケーションである。
ステップ606において取込みトリガ108が起動されない場合には、ステップ608において補助画像フレームをバッファロケーションに保存する。ステップ604においてバッファポインタを次の利用可能なバッファロケーションに進める。
ステップ606において取込みトリガ108が起動されると、ステップ610においてバッファロケーションを利用できないものとしてマーキングし、ステップ612において対応する画像フレームをバッファロケーションに保存する。ステップ614において、対応する画像フレームに対して画像処理を開始する。
一実施形態では、画像処理はファイル圧縮を含む。別の実施形態では、画像処理は、1以上のバッファロケーションからの補助画像フレームを使用して対応する画像フレームに対する画像処理を実行することを含む。別の実施形態では、画像処理は、ぼけ補正を含む。別の実施形態では、自動焦点合せ処理を実行する。
画像処理が完了すると、ステップ616においてバッファロケーションを利用可能としてマーキングする。処理はステップ604で継続する。
ステップ614において画像処理をバックグラウンドモードで実行している間に、画像フレームを取込みバッファに連続的に保存するということが認められよう。このことを、ステップ612と614との間からステップ604に至るように示す破線によって例示する。
図7は、すべてのバッファロケーションが利用できなくなるまで任意のバッファロケーションに対しても画像処理を開始しない別の画像データ処理オプションを示す。この実施形態では、少なくとも1つのバッファロケーションに対してそのバッファロケーションが利用可能となるように画像処理が完了すると、画像フレームを再び取込みバッファに保存する。
図7の処理プロセス702では、ステップ704においてバッファポインタを次の利用可能なバッファロケーションに進める。デジタルカメラ102がオンとなる時などの取込みプロセス202が最初に動作を開始する時に、第1のバッファロケーションが典型的には次の利用可能なバッファロケーションである。ステップ706において取込みトリガ108が起動されない場合には、ステップ708において画像データをバッファロケーションに保存する。プロセスはステップ704で継続する。
ステップ706において取込みトリガ108が起動されると、ステップ710においてバッファロケーションを利用できないものとしてマーキングし、ステップ712において対応する画像フレームをバッファロケーションに保存する。ステップ714において、バッファロケーションのすべてが利用できないものではないような、取込みバッファが満杯でない場合には、プロセスはステップ704で継続する。ステップ714において取込みバッファが満杯である場合には、ステップ716において、少なくとも1つのバッファロケーションに対し、そのバッファロケーションに対して画像処理が完了してバッファロケーションが利用可能となるまで画像処理を開始する。
一実施形態では、画像処理はファイル圧縮を含む。別の実施形態では、画像処理は、1以上のバッファロケーションからの補助画像フレームを使用して対応する画像フレームに対し画像処理を実行することを含む。別の実施形態では、画像処理は、ぼけ補正を含む。別の実施形態では、自動焦点合せ処理を実行する。
ステップ718において、バッファロケーションを利用可能としてマーキングする。プロセスはステップ704で継続する。
図8は、画像フレームを取込みバッファに連続的に保存し、いずれのバッファロケーションに対して画像処理を実行する前にもすべてのバッファロケーションを利用できないものとしてマーキングする、別の実施形態を示す。そして、この実施例では、すべてのバッファロケーションが利用可能となるまで、すべてのバッファロケーションを画像処理に対して処理する。
図8の制御プロセス802では、ステップ804において取込みバッファポインタを次の利用可能なバッファロケーションに進める。デジタルカメラ102がオンとされる時などの取込みプロセス202が最初に開始される時に、第1のバッファロケーションが、典型的には次の利用可能なバッファロケーションである。ステップ806において取込みトリガ108が起動されない場合には、ステップ808において画像データをバッファロケーションに保存する。プロセスはステップ704で継続する。
ステップ806において取込みトリガ108が起動されると、ステップ810においてバッファロケーションを利用できないものとしてマーキングし、ステップ812において対応する画像フレームをそのバッファロケーションに保存する。すべてのバッファロケーションが利用できないものとしてマーキングされるような、ステップ814においてバッファが満杯である場合には、ステップ816において、すべてのバッファロケーションに対して画像処理が完了してすべてのバッファロケーションが利用可能となるまでバッファロケーションに対して画像処理を開始する。
一実施形態では、画像処理はファイル圧縮を含む。別の実施形態では、画像処理は、1以上のバッファロケーションからの補助画像フレームを使用して対応する画像フレームに対して画像処理を実行することを含む。別の実施形態では、画像処理は、ぼけ補正を含む。別の実施形態では、自動焦点合せ処理を実行する。
そして、ステップ818においてすべてのバッファロケーションを利用可能としてマーキングし、プロセスはステップ804で継続する。
図9は、補助画像フレームを使用して対応する画像フレームに対して画像処理を実行する、別のデータ画像処理オプションを示す。図9のプロセスは、対応する画像フレームが保存された後に画像処理を実行することを示すが、画像処理を他の期間に実行してもよいということが認められるであろう。
図9の制御プロセス902では、ステップ904において取込みバッファポインタを次の利用可能なバッファロケーションに進める。デジタルカメラ102がオンされる時などのプロセスが最初に動作を開始する時に、次の利用可能なバッファロケーションは、典型的には第1のバッファロケーションである。ステップ906において取込みトリガ108が起動されない場合には、ステップ908において画像データをバッファロケーションに保存し、ステップ904においてバッファポインタを次に利用可能なバッファロケーションに進める。
ステップ906において取込みトリガ108が起動されると、ステップ910においてバッファロケーションを利用できないものとしてマーキングし、ステップ912において対応する画像フレームをバッファロケーションに保存する。対応する画像フレームを関数G(W)によって表す。
Z個の他のバッファロケーションにおける補助画像フレームをステップ914において使用し、利用できないものとしてマーキングする。ステップ914において補助画像フレームを使用するバッファロケーションの数は設定可能である。一実施形態では、前4つのバッファロケーションからの補助画像フレームを画像処理のために使用する。別の実施形態では、先のN/2個のバッファロケーション(Nは取込みバッファ内のバッファロケーションの数)からの補助画像フレームを使用する。別の実施形態では、次の4つのバッファロケーションからの補助画像フレームを使用する。別の実施形態では、先のおよび次のバッファロケーションからの補助画像フレームを使用する。それより多いかまたは少ないバッファロケーションからの画像データを使用してもよい。画像フレームデータを読み出し直接処理するかまたは処理する前に別のメモリロケーションにコピーしてもよい。
ステップ916において、移動による位相シフトH(W)を確定する。一実施例では、位相シフトを、∫e-j2π(ux0(z)+vy0(z))dzのぼけ補正関数によって確定する。ぼけ補正関数を0からz(zはぼけ処理に対して対応する画像フレームを処理するために使用されるバッファロケーションの選択された数)まで積分する。この関数において、x0は第1の方向(x)における動きを表し、y0は第2の方向(y)における動きを表し、(u)および(v)は、被写体画像が視野を横切って移動する際のサンプリング積分を表す。
ステップ918において、ぼけ補正済み画像フレームを確定する。一実施形態では、ぼけ補正済み画像フレームF(W)は、G(W)/H(W)に等しい。
ステップ920において、ぼけ補正済み画像フレームF(W)の画像データに対しさらなる画像処理を実行する。この画像処理は、ホワイトバランス、露出調整、カラー処理、ガンマ処理、および/または、ファイル圧縮を含みうる。
画像処理が完了すると、ステップ922において、ぼけ補正処理に使用したバッファロケーションを利用可能としてマーキングする。プロセスはステップ904で継続する。
ステップ914において画像処理が実行されている間に画像フレームを連続して取込みバッファに保存するということが認められるであろう。このことを、ステップ912からステップ904まで示す破線によって例示する。
図10は、1以上の補助画像フレームをメモリの固定セクションに連続して保存して対応する画像フレームを取込みバッファに保存する、制御プロセスの実施形態を示す。図10の制御プロセスにおいて、自動焦点合せ等の自動機能かまたは他の処理機能のために、メモリの固定セクションに保存された画像フレームを処理してもよい。他の実施形態では、画像処理を固定セクションの補助画像フレームに対して別々に実行しない。代わりに、対応する画像フレームが処理されている時に固定セクションの補助画像フレームを使用する。
取込みトリガ108が起動されると、対応する画像フレームを取込みバッファに保存し、対応する画像フレームに対して画像処理を実行する。一実施形態では、画像処理に対し、固定セクションの補助画像フレームを使用する。
一実施形態では、固定セクションおよび取込みバッファに対しメモリを割り付ける。たとえば、1以上の画像フレーム、選択された量のピクセルまたは別のセットアップに対する画像データに対し固定セクションを割り付ける。この実施例では、図5のセットアッププロセスを使用するが、ステップ506において固定セクションと取込みバッファとに対し内部メモリ112を割り付けるように変更してもよい。さらに、画像処理タイミングモードを取込みバッファに対して設定することにより、ステップ520を変更する。
図10の制御プロセス1002では、ステップ1004において取込みバッファポインタを次の利用可能なバッファロケーションに進める。デジタルカメラ102がオンされる時などの取込みプロセス202が最初に開始される時に、第1のバッファロケーションが、典型的には次の利用可能なバッファロケーションである。ステップ1006において取込みトリガ108が起動されない場合には、ステップ1008において補助画像フレームを固定セクションに保存する。
ステップ1010において1以上の補助画像フレームに対し表示処理を任意に実行し、ステップ1004において制御プロセス1002が再開する。実施形態によっては、画像表示システム110に対して処理済みフレームを提供する。ステップ1006において取込みトリガ108が起動されるまで、画像データを固定セクションに連続的に保存する。
ステップ1006において取込みトリガ108が起動されると、ステップ1012において取込みバッファの現在利用可能なバッファロケーションを処理するためにマーキングする。ステップ1014において対応する画像フレームをバッファロケーションに保存する。バッファロケーションが利用可能となるまで、ステップ1016においてバッファロケーションに対して画像処理を開始する。
画像フレームを取り込んだ直後と、バッファが満杯である時であり少なくとも1つのバッファロケーションが利用可能となるまでと、バッファが満杯でありすべてのバッファロケーションが利用可能となった時とを含む設定可能な時に、画像処理を実行する。実施形態によっては、ステップ1016において実行される画像処理は、固定セクションに保存された画像データを使用してもよい。
画像処理が完了すると、ステップ1018においてバッファロケーションを利用可能としてマーキングし、プロセスはステップ1004で継続する。一実施形態では、ステップ1016において画像処理がバックグラウンドモードで実行されている間に、補助画像フレームを固定セクションに連続的に保存する。このことを、ステップ1014と1016との間からステップ1004に至るように示す破線によって例示する。
図11は、画像フレームを取込みバッファに連続的に保存する、制御プロセスの別の実施形態を示す。図11の制御プロセスでは、取込みトリガ108が起動されると、バッファロケーションに保存されたばかりの画像フレームを対応する画像フレームとして指定する。
図11の制御プロセス1102では、ステップ1104において取込みバッファポインタを次の利用可能なバッファロケーションに進める。デジタルカメラ102がオンとなる時などの取込みプロセス202が最初に開始される時に、第1のバッファロケーションが典型的には次の利用可能なバッファロケーションである。ステップ1106において、画像フレームをバッファロケーションに保存する。
ステップ1108において取込みトリガ108が起動されない場合には、ステップ1110において画像フレームに対し表示処理を実行する。実施形態によっては、表示処理ステップ1110は任意である。
ステップ1108において取込みトリガ108が起動されると、ステップ1112において、画像データが収集されたばかりのバッファロケーションを処理のためにマーキングする。ステップ1114において、バッファロケーションの画像フレームに対し画像処理を開始する。画像フレームを取り込んだ直後と、取込みバッファが満杯である時であり少なくとも1つのバッファロケーションが利用可能となるまでと、取込みバッファが満杯である時でありすべてのバッファロケーションが利用可能となった後とを含む設定可能な時に、画像処理を実行してもよい。実施形態によっては、ステップ1114で実行される画像処理は、1以上の他のバッファロケーションからの補助画像フレームを使用してもよい。
画像処理が完了すると、ステップ1116においてバッファロケーションを利用可能であるとしてマーキングする。プロセスはステップ1104で継続する。一実施形態では、ステップ1108において取込みトリガ108が起動され、ステップ1112においてバッファロケーションを処理のためにマーキングすると、ステップ1114において画像処理をバックグラウンドモードで実行している間にプロセスは画像フレームを収集し続ける。これを、ステップ1110と1112との間からステップ1104まで至るように示す破線によって例示する。
本発明によって上記に開示された特定の実施形態からの変形が意図されていることが、当業者に認められるであろう。上記の実施形態に本発明を限定すべきではなく、添付の請求項によって判断すべきである。
本発明の実施形態によるデジタルカメラを示すブロック図である。 本発明の実施形態による取込みプロセスを示すブロック図である。 本発明の実施形態による取込みバッファの動作を示すブロック図である。 本発明の実施形態による取込みバッファの動作を示すブロック図である。 本発明の実施形態による取込みバッファの動作を示すブロック図である。 本発明の実施形態による取込みバッファの動作を示すブロック図である。 本発明の実施形態によるぼけ補正に使用される取込みバッファの動作を示すブロック図である。 本発明の実施形態によるぼけ補正に使用される取込みバッファの動作を示すブロック図である。 本発明の実施形態によるぼけ補正に使用される取込みバッファの動作を示すブロック図である。 本発明の実施形態によるぼけ補正に使用される取込みバッファの動作を示すブロック図である。 本発明の実施形態による画像データを収集するセットアッププロセスを示すブロック図である。 本発明の実施形態による画像を連続的に取り込む制御プロセスを示すブロック図である。 本発明の実施形態による画像を連続的に取り込む別の制御プロセスを示すブロック図である。 本発明の実施形態による画像を連続的に取り込む別の制御プロセスを示すブロック図である。 本発明の実施形態による画像を連続的に取り込む別の制御プロセスを示すブロック図である。 本発明の実施形態による画像を連続的に取り込む別の制御プロセスを示すブロック図である。 本発明の実施形態による画像を連続的に取り込む別の制御プロセスを示すブロック図である。

Claims (10)

  1. 画像センサと、
    取込みトリガと、
    各々が画像データを格納するために利用可能である複数のバッファロケーションを備える取込みバッファと、
    前記画像センサから複数の補助画像フレームを受け取り、各補助画像フレームを利用可能なバッファロケーションに格納し、前記取込みトリガの起動を検出し前記画像センサから対応する画像フレームを受け取り、該対応する画像フレームを別の利用可能なバッファロケーションに格納し、少なくとも1つの補助画像フレームを使用して前記対応する画像フレームに対してぼけ補正を実行し、前記対応する画像フレームと前記少なくとも1つの補助画像フレームとが格納されている前記バッファロケーションを該ぼけ補正が完了するまで画像格納用に利用できないものとして指定するように構成される処理システムと
    を含んでなる、画像を取り込むためのデジタルカメラ。
  2. 前記処理システムは、複数の補助画像フレームを使用して前記対応する画像フレームに対するぼけ補正をさらに実行し、前記複数の補助画像フレームが格納されている前記バッファロケーションを前記ぼけ補正が完了するまで画像格納に利用できないものとして指定するように構成される請求項1に記載のデジタルカメラ。
  3. 前記処理システムは、
    前記少なくとも1つの補助画像フレームからぼけ成分を確定することと、
    前記ぼけ成分を前記対応する画像フレームから除去することによりぼけ補正された画像フレームを確定することと
    とによって、前記ぼけ補正を実行するようにさらに構成される請求項1に記載のデジタルカメラ。
  4. 前記処理システムは、前記少なくとも1つの補助画像フレームに対してぼけ補正関数を積分することにより前記ぼけ成分を確定し、前記少なくとも1つの補助画像フレームを前記ぼけ成分によって除算することにより前記対応する画像フレームから前記ぼけ成分を除去して前記ぼけ補正された画像フレームをもたらすようにさらに構成される請求項3に記載のデジタルカメラ。
  5. 前記処理システムは、前記別の利用可能なバッファロケーションに格納する前に、A則圧縮とμ則圧縮と破棄モード圧縮とから構成されるグループから選択される少なくとも1つの圧縮アルゴリズムにより、前記対応する画像フレームを圧縮するようにさらに構成される請求項1に記載のデジタルカメラ。
  6. 画像センサと、取込みトリガと、各々が画像データを格納するために利用可能である複数のバッファロケーションを含む取込みバッファと、処理システムとを含むデジタルカメラにおいて画像を取り込む方法であって、
    前記画像センサからの複数の補助画像フレームの各々を利用可能なバッファロケーションに格納するステップと、
    前記処理システムにおいて前記取込みトリガの起動を検出し前記画像センサからの対応する画像フレームを別の利用可能なバッファロケーションに格納するステップと、
    少なくとも1つの補助画像フレームを使用して前記対応する画像フレームに対し前記処理システムによるぼけ補正を実行するステップと、
    前記対応する画像フレームと前記少なくとも1つの補助画像フレームとが格納される前記バッファロケーションを前記ぼけ補正が完了するまで画像格納用に利用できないものとして指定するステップと
    を含んでなる、デジタルカメラにおいて画像を取り込む方法。
  7. 複数の補助画像フレームを使用して前記対応する画像フレームに対してぼけ補正を実行するステップと、前記対応する画像フレームと前記複数の補助画像フレームとが格納されている前記バッファロケーションを該ぼけ補正が完了するまで画像格納用に利用できないものとして指定するステップとをさらに含む請求項6に記載のデジタルカメラにおいて画像を取り込む方法。
  8. 前記ぼけ処理を実行するステップは、
    前記少なくとも1つの補助画像フレームからぼけ成分を確定することと、
    前記対応する画像フレームから前記ぼけ成分を除去することによりぼけ補正された画像フレームを確定すること
    を含む請求項6に記載のデジタルカメラにおいて画像を取り込む方法。
  9. 前記ぼけ成分を確定する前記ステップは、前記少なくとも1つの補助画像フレームに対しぼけ補正関数を積分することを含み、前記対応する画像フレームから前記ぼけ成分を除去することにより前記ぼけ補正された画像フレームを確定する前記ステップは、前記少なくとも1つの補助画像フレームを前記ぼけ成分によって除算することにより前記ぼけ補正された画像フレームをもたらすことを含む請求項8に記載のデジタルカメラにおいて画像を取り込む方法。
  10. 前記別の利用可能なバッファロケーションに格納する前に、A則圧縮とμ則圧縮と破棄モード圧縮とから構成されるグループから選択される少なくとも1つの圧縮アルゴリズムにより、前記対応する画像フレームを圧縮することをさらに含む請求項6に記載のデジタルカメラにおいて画像を取り込む方法。
JP2004295761A 2003-10-08 2004-10-08 画像データを取り込むシステムおよび方法 Expired - Fee Related JP4078343B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/681,816 US7352390B2 (en) 2003-10-08 2003-10-08 Digital camera for capturing image data with rapid response between activating a capture trigger and capturing image data

Publications (2)

Publication Number Publication Date
JP2005124191A JP2005124191A (ja) 2005-05-12
JP4078343B2 true JP4078343B2 (ja) 2008-04-23

Family

ID=34422366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004295761A Expired - Fee Related JP4078343B2 (ja) 2003-10-08 2004-10-08 画像データを取り込むシステムおよび方法

Country Status (2)

Country Link
US (1) US7352390B2 (ja)
JP (1) JP4078343B2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5914787A (en) * 1992-11-19 1999-06-22 Olympus Optical Co., Ltd. Electronic imaging apparatus
US7009163B2 (en) 2001-06-22 2006-03-07 Orbotech Ltd. High-sensitivity optical scanning using memory integration
US7414650B2 (en) * 2003-10-08 2008-08-19 Hewlett-Packard Development Company, L.P. System and method for capturing image data
US20060098228A1 (en) * 2004-11-09 2006-05-11 Eastman Kodak Company Real time frame detection in a film scanner
JP4799849B2 (ja) * 2004-11-11 2011-10-26 富士フイルム株式会社 撮影装置及び撮影処理方法
JP4390274B2 (ja) * 2004-12-27 2009-12-24 キヤノン株式会社 撮像装置及び制御方法
US20060197849A1 (en) * 2005-03-02 2006-09-07 Mats Wernersson Methods, electronic devices, and computer program products for processing images using multiple image buffers
JP2007189472A (ja) * 2006-01-13 2007-07-26 Hitachi Ltd 撮像装置および撮像素子
US7841967B1 (en) 2006-04-26 2010-11-30 Dp Technologies, Inc. Method and apparatus for providing fitness coaching using a mobile device
US8902154B1 (en) 2006-07-11 2014-12-02 Dp Technologies, Inc. Method and apparatus for utilizing motion user interface
US7982770B1 (en) * 2006-09-08 2011-07-19 Dp Technologies, Inc. Method and apparatus to provide improved image quality in a camera
US8199220B2 (en) * 2006-12-06 2012-06-12 Samsung Electronics Co., Ltd. Method and apparatus for automatic image management
US8620353B1 (en) 2007-01-26 2013-12-31 Dp Technologies, Inc. Automatic sharing and publication of multimedia from a mobile device
US8949070B1 (en) 2007-02-08 2015-02-03 Dp Technologies, Inc. Human activity monitoring device with activity identification
JP4848983B2 (ja) * 2007-03-22 2011-12-28 カシオ計算機株式会社 画像記憶装置、画像記憶制御プログラム及び画像記憶方法
US8555282B1 (en) 2007-07-27 2013-10-08 Dp Technologies, Inc. Optimizing preemptive operating system with motion sensing
US20090099812A1 (en) * 2007-10-11 2009-04-16 Philippe Kahn Method and Apparatus for Position-Context Based Actions
US8040382B2 (en) * 2008-01-07 2011-10-18 Dp Technologies, Inc. Method and apparatus for improving photo image quality
JP4561851B2 (ja) * 2008-03-18 2010-10-13 カシオ計算機株式会社 撮像装置、撮像方法および撮像プログラム
US8285344B2 (en) * 2008-05-21 2012-10-09 DP Technlogies, Inc. Method and apparatus for adjusting audio for a user environment
US8996332B2 (en) 2008-06-24 2015-03-31 Dp Technologies, Inc. Program setting adjustments based on activity identification
US8872646B2 (en) * 2008-10-08 2014-10-28 Dp Technologies, Inc. Method and system for waking up a device due to motion
US8064759B1 (en) 2009-04-15 2011-11-22 Dp Technologies, Inc. Method and apparatus for motion-state based image acquisition
US9529437B2 (en) * 2009-05-26 2016-12-27 Dp Technologies, Inc. Method and apparatus for a motion state aware device
US8681236B2 (en) * 2009-06-18 2014-03-25 Samsung Electronics Co., Ltd. Apparatus and method for reducing shutter lag of a digital camera
US9154700B2 (en) 2009-10-16 2015-10-06 Samsung Electronics Co., Ltd. Apparatus and method for image capture using image stored in camera
KR101953614B1 (ko) 2012-10-12 2019-05-22 삼성전자주식회사 카메라장치의 이미지처리장치 및 방법
US20140320698A1 (en) * 2013-04-29 2014-10-30 Microsoft Corporation Systems and methods for capturing photo sequences with a camera
US9430508B2 (en) 2013-12-30 2016-08-30 Microsoft Technology Licensing, Llc Disk optimized paging for column oriented databases
US9723054B2 (en) 2013-12-30 2017-08-01 Microsoft Technology Licensing, Llc Hierarchical organization for scale-out cluster
US9898398B2 (en) 2013-12-30 2018-02-20 Microsoft Technology Licensing, Llc Re-use of invalidated data in buffers
US11928509B2 (en) * 2021-01-07 2024-03-12 Micron Technology, Inc. Memory system workload allocation

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09261526A (ja) * 1996-03-19 1997-10-03 Olympus Optical Co Ltd 撮像装置
JPH1141515A (ja) * 1997-07-24 1999-02-12 Minolta Co Ltd スチルカメラ
US7027087B2 (en) * 1998-08-21 2006-04-11 Nikon Corporation Electronic camera
JP2000224470A (ja) * 1999-02-02 2000-08-11 Minolta Co Ltd カメラシステム
JP3697129B2 (ja) * 2000-01-20 2005-09-21 キヤノン株式会社 撮像装置
JP4596202B2 (ja) * 2001-02-05 2010-12-08 ソニー株式会社 画像処理装置および方法、並びに記録媒体
JP4487454B2 (ja) * 2001-07-30 2010-06-23 株式会社ニコン 電子カメラ、および電子カメラ用の制御ic
US20030133614A1 (en) * 2002-01-11 2003-07-17 Robins Mark N. Image capturing device for event monitoring
JP2003235000A (ja) * 2002-02-07 2003-08-22 Matsushita Electric Ind Co Ltd デジタルスチルカメラ
US20040070679A1 (en) * 2002-10-15 2004-04-15 Pope David R. Compensating for delays inherent in digital still camera imaging
US7209167B2 (en) * 2003-01-15 2007-04-24 Hewlett-Packard Development Company, L.P. Method and apparatus for capture of sensory data in association with image data
US20050001908A1 (en) * 2003-06-05 2005-01-06 Lee Steven K. Digital camera with continual image acquisition
US7414650B2 (en) * 2003-10-08 2008-08-19 Hewlett-Packard Development Company, L.P. System and method for capturing image data
US7593040B2 (en) * 2006-01-30 2009-09-22 Omnivision Technologies, Inc. Image anti-shake in digital cameras

Also Published As

Publication number Publication date
US7352390B2 (en) 2008-04-01
US20050078197A1 (en) 2005-04-14
JP2005124191A (ja) 2005-05-12

Similar Documents

Publication Publication Date Title
JP4078343B2 (ja) 画像データを取り込むシステムおよび方法
US7787762B2 (en) Image photographing apparatus, image photographing method, and computer program
US20060012684A1 (en) Method and apparatus for capturing images
US20040070679A1 (en) Compensating for delays inherent in digital still camera imaging
JP2003189165A (ja) デジタルカメラ
JP4304795B2 (ja) 電子カメラ
JP2008078837A (ja) 撮像装置、画像表示制御プログラム及び画像表示制御方法
JP2003299025A (ja) デジタルカメラにおけるユーザ選択可能な画像前処理のためのシステム
JP4306482B2 (ja) 赤目画像補正装置、電子カメラおよび赤目画像補正プログラム
JP2006340070A (ja) 撮像装置及び撮像方法
US7671896B2 (en) Image sensing apparatus
JP4123352B2 (ja) 動画撮像装置及び動画再生装置
JP2006352229A (ja) デジタルカメラ
JP4059704B2 (ja) ビデオカメラ
JP2007189295A (ja) 撮像装置及びそのプログラム
US7414650B2 (en) System and method for capturing image data
JP6090494B2 (ja) 動画撮影装置および動画像揺れ補正方法ならびにプログラム
JP4349873B2 (ja) デジタルカメラ及び画像データ記録方法
JPH0799629A (ja) スチルカメラ
JP4307061B2 (ja) 撮像装置
JP2014207507A (ja) 画像処理装置、画像処理方法、及び、プログラム
CN116506712A (zh) 成像元件、摄像装置、成像元件的工作方法及计算机可读存储介质
JP2008182499A (ja) 画像処理装置、および画像処理プログラム
JP2003244507A (ja) デジタルカメラ
JP2004080230A (ja) 画像処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080204

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110208

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120208

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees