(57)【特許請求の範囲】
【請求項１】
静止画を撮影する静止画撮影手段と、
静止画の撮影の開始を検出する検出手段と、
撮影した静止画を現像する現像手段と、
現像した第１の画像データを配置する第１のメモリを確保する第１の取得手段と、
現像した第２の画像データを配置する第２のメモリを確保する第２の取得手段と、
前記第２の取得手段は、前記検出手段により撮影の開始が検出され、前記第１のメモリとして非連続空間なメモリを確保するように要求されると、前記第１の取得手段が前記非連続空間なメモリを確保する前に、前記第２のメモリとして連続空間なメモリを予約することを特徴とする撮像装置。
【請求項２】
静止画を撮影する静止画撮影手段と、
静止画の撮影の開始を検出する検出手段と、
撮影により取得した第１の画像データを配置する第１のメモリを確保する第１の取得手段と、
撮影により取得した第２の画像データを配置する第２のメモリを確保する第２の取得手段と、
前記第２の取得手段は、前記検出手段により撮影の開始が検出され、前記第１のメモリとして非連続空間なメモリを確保するように要求されると、前記第１の取得手段が前記非連続空間なメモリを確保する前に、前記第２のメモリとして連続空間なメモリを予約することを特徴とする撮像装置。
【請求項３】
メモリの連続して使用されていない領域の容量とその数を検出し、前記検出した容量と数に基づき前記メモリがフラグメンテーション状態か否かを判定する判定手段をさらに有し、
前記判定手段によりフラグメンテーション状態と判定された場合に、前記第２の取得手段は、前記第１の取得手段によるメモリの確保の前に、前記第２の画像データを配置するメモリを予約することを特徴とする請求項１または請求項２に記載の撮像装置。
【請求項４】
前記第１のメモリおよび第２のメモリのそれぞれは、同一のメモリにおける一部の領域であることを特徴とする請求項１から３の何れか１項に記載の撮像装置。
【請求項５】
前記第２の画像データは、前記第１の画像データの後に出力されてメモリに配置可能となることを特徴とする請求項１から４の何れか１項に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置に関し、特に撮影時のメモリ管理処理に関するものである。
【背景技術】
【０００２】
現在世の中には様々な機能を持ったデジタルカメラが存在する。静止画の撮影だけでなく、動画の撮影、動画を撮影しながらの静止画撮影が可能なものも存在する。そして、年々高画質、高画素化が進むため、様々な現像処理が行われるようになった。また、ＧＵＩ表示などのデザイン性も向上してきた。
デジタルカメラではこのような様々な機能を並列に実現する必要があるが、それぞれの機能において内部ではある程度の容量のメモリが必要となる。しかし、メモリの容量には限りがあるために、メモリ不足やフラグメンテーションといった問題が発生することがあり、メモリ管理を効率的に行う必要がある。
【０００３】
例えば、特許文献１では、動画、静止画を撮影した際の記録媒体に関する発明が開示されている。フラグメンテーション防止のため、動画と静止画を記録媒体にて別領域に管理するよう、あらかじめ管理領域を割り当てておく。ただし、どちらか一方の領域が不足した段階で残りの空き容量を再度、静止画と動画で分割するという技術が説明されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２５９３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の特許文献に開示された従来技術では、撮影後の静止画、動画に対するメモリ管理に関して言及されているが、撮影時のメモリ管理に関しては述べられていない。また、フラグメンテーションが発生した状態での静止画、動画撮影が正常の行われない場合がある。これにより、ユーザの操作性を低下させてしまう恐れがある。
【０００６】
そこで、本発明の目的は、メモリのフラグメンテーションが発生した状態においても、ユーザの操作性を低下させることなく静止画撮影を可能にするような撮影時のメモリ管理処理を提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、静止画を撮影する静止画撮影手段と、静止画の撮影の開始を検出する検出手段と、撮影した静止画を現像する現像手段と、現像した第１の画像データを配置する第１のメモリを取得する第１の取得手段と、現像した第２の画像データを配置する第２のメモリを取得する第２の取得手段と、前記第２の取得手段は、前記検出手段により撮影の開始が検出され、前記第１のメモリとして非連続空間なメモリを確保するように要求されると、前記第１の取得手段が前記非連続空間なメモリを確保する前に、前記第２のメモリとして連続空間なメモリを予約することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、メモリのフラグメンテーションが発生した状態においても、ユーザの操作性を低下させることなく静止画撮影を可能にするような撮影時のメモリ管理処理を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態におけるシーケンス図
【図２】本発明の実施形態における撮像装置の構成図
【図３】本発明の実施形態における通常静止画撮影シーケンスとメモリ状態
【図４】本発明の実施形態におけるＲＡＭメモリ状態図
【発明を実施するための形態】
【００１０】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。図２は、本発明の実施形態にかかわる撮像装置の構成図である。
【００１１】
図２において、２００は被写体を撮影する撮像装置本体である。２１０は電源であり、撮像装置本体２００内の各回路に電源を供給する。２２０はカードスロットであり、メモリカード（着脱可能な記録媒体）２２１を差し込める。メモリカード２２１をカードスロット２２０に差し込んだ状態で、メモリカード２２１は、カード入出力部２１９と電気的に接続する。なお、本実施形態では記録媒体としてメモリカード２２１だけでなく、その他の記録媒体、例えば、ハードディスク、光ディスク、光磁気ディスク、磁気ディスク、その他の固体メモリを使用してもよい。
【００１２】
２０２は光軸方向の進退により焦点調節を行なうフォーカシングレンズである。２０３は撮像素子への光量を調節する絞りである。フォーカシングレンズ２０２，および絞り２０３は、撮像光学系を構成し、ＣＰＵ２０９により制御することができる。
撮像素子２０５、像信号処理部２０７、フレームメモリ２０８からなる部分は、撮像光学系で形成された被写体の光学像をデジタル画像信号又は画像データに変換する光電変換系である。撮像素子２０５は、ＣＣＤ撮像素子又はＣＭＯＳ撮像素子等で構成される光電変換手段である。撮像素子２０５は、光学素子２０１〜２０３からなる撮像光学系で形成された被写体像を光電変換し、画像信号を出力することができる。
【００１３】
像信号処理部２０７は、デジタル画像信号にシェーディング補正等のカメラで周知の画像信号処理を施す。像信号処理部２０７は、いわば、撮像素子２０５の特性に起因する画像濃度の非線形性、および光源に起因する画像色の偏りを補正する。フレームメモリ２０８は、撮像素子２０５〜像信号処理部２０７により生成される画像信号を一時記憶するバッファメモリとして機能する。
【００１４】
バス２５０には、ＣＰＵ２０９、電源２１０、不揮発性メモリ２１１、現像処理部２１２、ＲＡＭメモリ２１３、表示制御部２１４、メインスイッチ２１６、第１レリーズスイッチ２１７、第２レリーズスイッチ２１８、外部機器接続端子２２２が接続される。ＣＰＵ２０９は、撮像素子２０５の画像信号読み出しを制御し、撮像素子２０５〜フレームメモリ２０８の動作タイミングを制御する。また、現像処理部２１２はフレームメモリ２０８に蓄積されたデータに対し、現在撮像装置に設定されている現像パラメータに従って現像処理を行い、その結果をＲＡＭメモリ２１３に展開する。現像パラメータとは、ホワイトバランスなどを示す。ＲＡＭメモリ２１３に展開されたデータはＣＰＵ２０９によりファイル形式に変換され、メモリカード２２１に出力される。なお、現像処理した結果を配置するＲＡＭを撮影されたタイミングで動的に取得するのは、あらかじめ静的に割り当てておくよりも効率よくＲＡＭメモリ２１３を利用するためである。
【００１５】
不揮発性メモリ２１１は、ＥＥＰＲＯＭ等で構成されており、電源２１０がオフにされても、記録されたデータを失わない。不揮発性メモリ２１１には、電源２１０がオンされた時にカメラに設定する初期カメラ設定値が記録されている。表示制御部２１４は、液晶表示素子からなるＴＦＴ２１５の駆動および制御をする。
【００１６】
ユーザがメインスイッチ２１６をオンにすると、ＣＰＵ２０９は所定のプログラムを実行する。メインスイッチ２１６をオフにすると所定のプログラムを実行し、カメラをスタンバイモードにする。第１レリーズスイッチ２１７は、レリーズボタンの第１ストローク（半押し状態）でオンになり、第２レリーズスイッチ２１８は、レリーズボタンの第２ストローク（全押し状態）でオンとなる。また、撮影に関しては物理的なスイッチ２１７、２１８だけでなく、外部機器接続端子２２２と接続された機器からのレリーズも想定している。外部機器接続端子で接続される機器としては、ＵＳＢなどを想定しており、例えばＰＣと撮像装置を接続し、ＰＣからのレリーズなども想定している。
【００１７】
本実施形態おける、撮影時のメモリ管理処理に関して、以上に記載の撮像装置の構成と図３を使用しながら詳細を説明する。
【００１８】
図３−Ａ）は本実施形態における静止画撮影時のメモリ管理に関する基本処理である。前提として、本現像処理部において出力されるデータをメモリ上に配置する際に、連続するデータとして扱うためにメモリの連続空間に配置すべきデータと、非連続空間に配置してもよいデータが存在する。また、現像処理部の制約により、出力されるデータの順番を変更できないものとし、取得するメモリサイズもあらかじめ決まっているものとする。図３−Ｂ）はある状態の際のＲＡＭメモリ２１３の概念図である。３１０で示した網目部分が他の機能などで使用されている状態のメモリを示す。３１１〜３１７までが未使用な領域を示す。３１１〜３１７までの領域に示した数字は具体的な空き容量（単位ＭＢ）を示し、以下の説明で利用する。
【００１９】
ユーザによって撮影指示されると、第２レリーズスイッチ２１８がオンとなり、撮像装置内に撮影の開始に対応するＳＷ２イベントが発生する（Ｓ３００）。上記で説明したように光学素子２０１〜２０３からなる撮像光学系を撮像素子２０５で光電変換し、画像信号をフレームメモリ２０８に一時的に保持される。そして、ＣＰＵ２０９と現像処理部２１２によって、画像処理、ファイル生成が行われる。現像処理部２１２は、ＲＡＭメモリ２１３を非連続な空間で８ＭＢｙｔｅ要求する（Ｓ３０１）。「８ＭＢｙｔｅ」という数字は説明を分かりやすくするために利用するものであって、発明を限定するものではない。次に、要求されたメモリを取得する（Ｓ３０２）。図３−Ｂ）から非連続空間で８ＭＢｙｔｅ取得するために、未使用領域３１１〜３１６と３１７の一部分を利用する。その結果を図３−Ｃ）に示す。３１８が使用されているメモリ空間で、３１９が使用されていないメモリ空間を示す。次に、Ｓ３０３で連続空間でのメモリ要求が発生すると、図３−Ｃ）の状態から連続空間でメモリを取得する。ここでは連続空間で必要なメモリは「２ＭＢｙｔｅ」とする。図３−Ｃ）には、５．８ＭＢｙｔｅ連続で空いている領域３１９があるため、Ｓ３０４で２ＭＢｙｔｅ取得すると、ＲＡＭメモリ２１３は図３−Ｄ）の状態となる。３２０が使用されているメモリ空間で、３２１が使用されていないメモリ空間を示す。
【００２０】
上記のようなメモリの使い方をする現像処理部２１２において、ＲＡＭメモリ２１３に余裕がある状態であれば特に問題ないが、図４−Ａ）に示すようなフラグメンテーション状態においては正常に動作できない状況がある。図３−Ａ）と図４−Ａ）を用いて説明する。図４−Ａ）において、４００が使用されている領域で、４０１〜４１５が使用されていない領域を示す。現像処理部２１２が、ＲＡＭメモリ２１３を非連続な空間で８ＭＢｙｔｅ要求する（Ｓ３０１）。Ｓ３０２で取得した結果を図４−Ｂ）に示す。４１６が使用された領域、４１７〜４２１が未使用の領域を示す。この状態で連続空間２ＭＢｙｔｅ要求される（Ｓ３０３）と、図４−Ｂ）から取得しようとするが、４１７〜４２１には連続空間で２ＭＢｙｔｅ空いている領域がないため、メモリが取得できない状態に陥ってしまう。この状態では静止画撮影が行えないため、ユーザにとって操作性を低下させてしまう恐れがある。
【００２１】
下記において、ＲＡＭメモリ２１３が図４のようなフラグメンテーション状態であってもできる限り静止画撮影を行えるようメモリを事前に用意するメモリ管理処理に関して詳細を説明する。なお、現像処理部２１２は上記説明どおり非連続領域８ＭＢｙｔｅ，連続領域２ＭＢｙｔｅの順番でＲＡＭメモリを確保しにくる前提で説明する。
【００２２】
＜メモリ管理処理１＞
以下、図１−Ａ）、図４−Ａ）を参照して、メモリ管理処理１による、非連続領域取得時に連続領域をあらかじめ予約する処理について説明する。
【００２３】
ユーザによって撮影指示されると、第２レリーズスイッチ２１８がオンとなり、撮像装置内に撮影の開始に対応するＳＷ２イベントが発生する（Ｓ１００）。現像処理部２１２〔第１の取得手段〕は、ＲＡＭメモリ２１３を非連続な空間で８ＭＢｙｔｅ〔第１のメモリ〕要求する（Ｓ１０１）。ここで、８ＭＢｙｔｅ取得後に取得される連続空間〔第２のメモリ〕をあらかじめ予約する（Ｓ１０２）。ＲＡＭメモリ２１３の予約とは、非連続領域を確保する際の対象から除外する処理のことを示す。４０１〜４１５の中で最大の空き容量があるものを予約する。図４−Ａ）においては、２．４ＭＢｙｔｅ空いている４０８となる。この状態で、非連続領域から８ＭＢｙｔｅを取得する（Ｓ１０３）。４０８以外の空いている領域を集めて８ＭＢｙｔｅ取得すると、４０１〜４０７と４０９〜４１４、４１５の一部を利用することになる。取得した結果を図４−Ｃ）に示す。使用されている領域は４２２で示す。連続領域として予約した４２３は残されている状態である。次にＳ１０４で連続領域２ＭＢｙｔｅ取得に来ると、現像処理部２１２〔第２の取得手段〕は、Ｓ１０１で予約した領域４０８から２ＭＢｙｔｅ取得する。その結果を図４−Ｄ）に示す。４２５が使用されている領域を示し、４２６、４２７が使用されていない領域を示す。
メモリ管理処理１を実現することで、これまで連続領域を取得することができない状態においてもメモリ取得が可能になり、ユーザの操作性低下を防ぐことが可能となる。
【００２４】
＜メモリ管理処理２＞
以下、図１−Ｂ）、図４−Ａ）を参照して、メモリ管理処理２による、非連続領域取得時に連続領域をあらかじめ予約する処理について説明する。
【００２５】
ユーザによって撮影指示されると、第２レリーズスイッチ２１８がオンとなり、撮像装置内にＳＷ２イベントが発生する（Ｓ１０６）。現像処理部２１２〔第１の取得手段〕は、ＲＡＭメモリ２１３を非連続な空間で８ＭＢｙｔｅ〔第１のメモリ〕要求する（Ｓ１０７）。ここで、８ＭＢｙｔｅ取得後に取得される連続空間〔第２のメモリ〕をあらかじめ取得する（Ｓ１０８）。４０１〜４１５の中で最大の空き容量があるものからあらかじめ取得しておく。図４−Ａ）においては、２．４ＭＢｙｔｅ空いている４０８となる。４０８からあらかじめ２ＭＢｙｔｅを取得しておき、次に連続空間での取得が来るまで、内部的に取得したメモリを保持しておく。この状態を図４−Ｅ）に示す。４３６が０．４ＭＢｙｔｅの空き容量となる。４２８は使用されている領域を示し、４２９〜４３５、４３７〜４４４は使用されていない領域を示す。この状態で、非連続領域から８ＭＢｙｔｅを取得する（Ｓ１０９）。４２９〜４４２と４４３の一部から８ＭＢｙｔｅ取得する。取得した結果を図４−Ｆ）に示す。使用されている領域は４４５、使用されていない領域は４４６、４４７である。次に連続空間で２ＭＢｙｔｅ取得要求を受ける（Ｓ１１０）と、Ｓ１０８で、現像処理部２１２〔第２の取得手段〕は、取得しておいた領域をあたかもここで確保したかのように利用する（Ｓ１１１）。したがって、ＲＡＭメモリ２１３は図４−Ｆ）のままとなる。
メモリ管理処理２を実現することで、これまで連続領域を取得することができない状態においてもメモリ取得が可能になり、ユーザの操作性低下を防ぐことが可能となる。
【００２６】
＜メモリ管理処理３＞
以下、図１−Ｃ）、図３−Ａ）、図４−Ａ）を参照して、メモリ管理処理３による、非連続領域取得時に連続領域をあらかじめ予約、もしくは、取得するかどうかをメモリ状態に応じて判断する処理について説明する。
【００２７】
ユーザによって撮影指示されると、第２レリーズスイッチ２１８がオンとなり、撮像装置内に撮影の開始に対応するＳＷ２イベントが発生する（Ｓ１１２）。現像処理部２１２〔第１の取得手段〕は、ＲＡＭメモリ２１３を非連続な空間で８ＭＢｙｔｅ〔第１のメモリ〕要求する（Ｓ１１３）。ここで、ＲＡＭメモリ２１３の連続空間検出を行う（Ｓ１１４）。連続空間検出とは、連続で現在使用されていない領域がどの程度存在するのかを検出する。図３−Ａ）において、現在使用されていない領域の合計は３１１〜３１７の総和となり、１３．８ＭＢｙｔｅである。連続して使用されていない領域の最大領域は３１１〜３１７の中で最も領域のある３１７で８．０ＭＢｙｔｅとなる。次に連続領域で使用されていない領域は２．４ＭＢｙｔｅ空いている３１４となる。Ｓ１１５でＲＡＭメモリ２１３がフラグメンテーション状態かどうかを判定する。本実施例では、３１７、３１４の連続して使用されていない領域として２．０ＭＢｙｔｅ以上のものが２つ存在するため、フラグメンテーションと判断しない。したがって、Ｓ１２０へ進む。Ｓ１２０、Ｓ１２１、Ｓ１２２は通常時の処理と同様であり、上記で説明しているためここでは説明を省く。
Ｓ１１２で次の撮影が行われた際、ＲＡＭメモリが図４−Ａ）の状態だとする。Ｓ１１４でメモリの連続空間検出を行うと、現在使用されていない領域の合計は４０１〜４１５の総和となり、１０．８ＭＢｙｔｅである。連続して使用されていない領域の最大領域は４０１〜４１５の中で最も大きい領域のある４０８で２．４ＭＢｙｔｅとなる。次に連続領域で使用されていない領域は１．６ＭＢｙｔｅ空いている４０１となる。Ｓ１１５でＲＡＭメモリ２１３がフラグメンテーション状態かどうかを判定する。２．０ＭＢｙｔｅ以上連続で使用されていない空間は４０８の１つだけであるため、フラグメンテーション状態と判定する。したがって、Ｓ１１６へ進む。Ｓ１１６以降は実施例１のＳ１０２〜Ｓ１０５と同様であるため、説明を省く。
メモリ管理処理３では、Ｓ１１４でＲＡＭメモリ２１３の状態を検出し、その結果に応じてＲＡＭメモリ取得シーケンスを切り換える処理について説明した。メモリ管理処理１と２だけではフラグメンテーションが起きていないにもかかわらず、特殊な処理を行うために処理に時間がかかってしまうことが懸念される。したがって、メモリ管理処理３のようにＲＡＭメモリ２１３の状態に応じてメモリ管理処理を変更することで、より効率的なメモリ管理を実現することが可能となる。
【００２８】
また、Ｓ１１６で予約した処理を実施例２のＳ１０８のようにあらかじめ連続空間のメモリを取得してしまう処理に変更することで、メモリ管理処理２においてもメモリ管理処理３のような判定処理を加えたシーケンスを生成することが可能である。
なお、Ｓ１１５のフラグメンテーションかどうかの判定において、連続して使用されていない領域の数や容量だけでなく、ＲＡＭメモリ２１３全体の使用量などを考慮してもよい。判定に用いる閾値としては、本発明を実施するうえで、その際の最善の値を導き利用することを想定している。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００２９】
２０９  ＣＰＵ
２１２  現像処理部
２１３  ＲＡＭメモリ
【図１】
0005704943.tif 000002
【図２】
0005704943.tif 000003
【図３】
0005704943.tif 000004
【図４】
0005704943.tif 000005