以下、本発明の実施形態の例を、図面を参照して具体的に説明する。参照される各図において、同一の部分には同一の符号を付し、同一の部分に関する重複する説明を原則として省略する。尚、本明細書では、記述の簡略化上、情報、信号、物理量、状態量又は部材等を参照する記号又は符号を記すことによって該記号又は符号に対応する情報、信号、物理量、状態量又は部材等の名称を省略又は略記することがある。
図1は、本発明の実施形態に係るデジタルカメラ(撮像装置)1の概略全体ブロック図である。デジタルカメラ1(以下、カメラ1という)は、符号11〜16によって参照される各部位を備える。
図2は、撮像部11の内部構成図である。撮像部11は、光学系35と、絞り32と、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどから成る撮像素子(固体撮像素子)33と、光学系35や絞り32を駆動制御するためのドライバ34と、を有している。光学系35は、撮像部11の画角を調節するためのズームレンズ30及び焦点を合わせるためのフォーカスレンズ31を含む複数枚のレンズから形成される。ズームレンズ30及びフォーカスレンズ31は光軸方向に移動可能である。主処理部12からの制御信号に基づき、レンズ30及び31の位置並びに絞り32の開度(即ち絞り値)が制御される。撮像素子33は、光学系35及び絞り32を介して入射した光(即ち被写体の光学像)を光電変換し、該光電変換によって得られた電気信号を、被写体の画像信号として出力する。以下の説明において、特に記述無き限り、任意の画像は、撮像部11を用いた撮影により得られた画像(即ち、撮像素子33の出力信号に基づく画像)を指し、撮影とは、撮像部11を用いた撮影を指す。
主処理部12は、CPU(Central Processing Unit)、ROM(Read Only Memory)及びASIC(Application Specific Integrated Circuit)等から成り、撮像部11から出力された画像信号に対する各種信号処理の他、操作部16への入力操作内容に応じつつ、撮像部11の動作制御、内部メモリ13及び記録媒体14に対するデータの読み出し制御及び書き込み制御、並びに、表示部15への表示制御を行う。内部メモリ13は、SDRAM(Synchronous Dynamic Random Access Memory)等にて形成され、カメラ1内で生成された各種データを一時的に記憶(即ち保持)する。内部メモリ13には、RAWバッファ(バッファメモリ)20及び中間バッファ21が設けられる。記録媒体14は、カード状半導体メモリや磁気ディスク等の不揮発性メモリであり、主処理部12の制御の下、各種データを記録する。表示部15は、液晶ディスプレイパネル等の表示画面を有する表示装置であり、主処理部12の制御の下、任意の映像を表示する。操作部16は、静止画像の撮影指示を受け付けるシャッタボタンSB等を備え、ユーザからの各種操作の入力を受け付ける。ユーザとは、カメラ1のユーザ(撮影者)を意味する。
シャッタボタン(操作ボタン)SBは、表示部15に設けられうるタッチパネル上のボタンであっても良いが、ここでは、シャッタボタンSBが機械式の押しボタンスイッチにて形成されているものとする。図3は、カメラ1の外観斜視図である。撮影部11による撮影画像を、ユーザが視認可能なように表示部15に表示することができる。シャッタボタンSBは、2段階の押し込み操作を受け付けることができ、図4に示す如く、ユーザによるシャッタボタンSBへの押し込み量に応じて、ボタンSBの状態は変化する。ボタンSBに押圧力が加えられていないとき、ボタンSBの状態は基準状態である。ユーザが基準状態からボタンSBを所定量だけ押し込むとボタンSBの状態は半押し状態になり、その後、更に、ボタンSBを所定量だけ押し込むとボタンSBの状態は全押し状態となる。
以下では、ボタンSBの状態を状態変数S1及びS2を用いて表現することがある。ボタンSBの状態が基準状態であるとき、S1_OFF且つS2_OFFであり、ボタンSBの状態が半押し状態であるとき、S1_ON且つS2_OFFであり、ボタンSBの状態が全押し状態であるとき、S1_ON且つS2_ONである。また、ボタンSBの状態を基準状態から半押し状態(第1状態)に遷移させる操作をS1_ON操作と呼び、ボタンSBの状態を半押し状態から全押し状態(第2状態)に遷移させる操作をS2_ON操作と呼び、ボタンSBの状態を半押し状態から基準状態に遷移させる操作をS1キャンセルと呼ぶ。主処理部12は、ボタンSBの状態を示すボタン状態情報に基づき、S1_ON操作、S2_ON操作及びS1キャンセルの有無を検知可能である。
撮像素子33の出力信号に対し、主処理部12が所定の前段信号処理(例えば、相関二重サンプリング、自動ゲイン調整及びA/D変換)を施すことで、所定形式のRAWデータである原形式のRAWデータが得られる。主処理部12は、撮像素子33の出力に基づく画像データに対し、以下のRAW−RAW変換、YUV変換及び圧縮処理を実行することができる(図5(a)及び(b)参照)。RAW−RAW変換では、所定の信号処理を介して原形式のRAWデータをDNG(Digital Negative)形式のRAWデータに変換する。RAW−RAW変換における信号処理は、メディアンフィルタを用いて原形式のRAWデータのノイズを低減する処理を含む。尚、ここでは、RAW−RAW変換により、原形式のRAWデータからDNG形式のRAWデータが得られるとしているが、RAW−RAW変換にて得られるRAWデータの形式はDNG形式に限定されない。YUV変換では、原形式又はDNG形式のRAWデータをYUV形式の画像データであるYUVデータ(輝度信号Yと色差信号U及びVから成る画像データ)に変換する。圧縮方式は任意であるが、ここでは静止画像に対する圧縮方式として、JPEG(Joint Photographic Experts Group)の圧縮方式が採用されているものとする。従って、圧縮処理では、JPEGの圧縮方式に従って静止画像のYUVデータを圧縮され、圧縮されたYUVデータであるJPEGデータが生成される。或る画像についての原形式又はDNG形式のRAWデータ、YUVデータ、JPEGデータは、何れも、当該画像の画像データの一種である。
S2_ON操作の入力は静止画像の撮影指示に相当し、S2_ON操作の入力に応答して撮像部11により取得される静止画像を、特に対象画像と呼ぶ。撮像部11の出力画像信号には対象画像の画像信号が含まれる。尚、本実施形態において、S1_ON操作、S2_ON操作を含む、任意の操作の入力という表現は、ユーザによるボタンSB、操作部16又はカメラ1に対する操作の入力と解される。
図1のRAWバッファ20は、対象画像のRAWデータを、m枚分、同時に保持することができる。ここでは、説明の具体化のため、m=7であるとする。但し、整数mは2以上であれば幾つでも良い。m=7に対応して、図6(a)に示す如く、RAWバッファ20に計7つのRAWブロック20[1]〜20[7]が設けられる。RAWブロック20[1]〜20[7]の夫々は、1枚の対象画像についての原形式又はDNG形式のRAWデータを保持できる。即ち、図6(b)に示す如く、任意の1枚の対象画像TIについての原形式、DNG形式のRAWデータを、夫々、データDRAW、DRAW’にて表すと、ブロック20[i]は、データDRAWを後述のRAW取り込み処理により取り込んで保持し、当該データDRAWに対してRAW−RAW変換が成された後は、それによって得られたデータDRAW’をデータDRAWの代わりに保持することができる(iは整数)。
YUVデータ及びJPEGデータは中間バッファ21に保持される。RAWバッファ20における対象画像の保持可能枚数mに対応する必要枚数分のYUVデータ及びJPEGデータを保持できるように、中間バッファ21のメモリサイズが確保される。
図7を参照して、対象画像TIの撮影処理について説明する。対象画像TIの撮影処理は処理PR1〜PR10から成り、処理PR1〜PR10を介して、対象画像TIのRAWファイル及びJPEGファイルが記録媒体14に記録される。主処理部12は、カメラ1内の他の部位と協働しつつ処理PR1〜PR10を実現する。
処理PR1は、AE処理及びAF処理から成る。但し、後述するようにAF処理は割愛されうる。AE処理では、主処理部12内の測光回路(不図示)にて被写体の明るさを測定し、測定結果に応じて対象画像TIの撮影時における露出調整を行うことで対象画像TIの明るさを適正化する。被写体の明るさの測定は、撮像素子33の出力信号を用いて又は明るさ測定用のセンサ(不図示)を用いて実現される。露出調整は、絞り32の開度(即ち絞り値)の調整、撮像素子33の露光時間の調整、感度の調整を含む。感度は、例えばISO(International Organization for Standardization)感度である。実際には、感度の制御により、撮像素子33の出力信号に対して施される信号増幅の増幅度が制御される。AF処理では、対象画像TIの撮影時における焦点調整が行われる。より具体的には、AF処理(焦点調整)において、被写体の像を撮像素子33上で結像させるためのフォーカスレンズ31の位置を合焦レンズ位置として求め、フォーカスレンズ31を合焦レンズ位置に配置する。合焦レンズ位置は、撮像素子33の出力信号を用いて又は撮像素子33と異なる焦点調整用のセンサ(不図示)を用いて求められる。
処理PR2は、対象画像TIについての原形式のRAWデータDRAWを撮像素子33からRAWバッファ20に取り込むRAW取り込み処理である。取り込まれたデータDRAWは、ブロック20[1]〜20[7]の何れかに保持される。
処理PR3は、処理PR3A及びPR3Bから成る。処理PR3Aとしてのプレビュー画像生成処理では、図8(a)に示す如く、対象画像TIのRAWデータDRAWに対してプレビュー画像生成用のYUV変換を実行することで、プレビュー画像のYUVデータDPRVを生成する。図8(e)の画像TIPRVはプレビュー画像の例である。処理PR3Bとしてのプレビュー画像表示処理では、YUVデータDPRVを表示部15に与えることで表示部15に一定期間だけプレビュー画像TIPRVを表示する。プレビューをポストビューと呼ぶこともできる。尚、処理PR3は各対象画像の撮影処理から割愛されうる。
処理PR4は、対象画像TIのデータDRAWをデータDRAW’に変換する本画用RAW−RAW変換である(図6(b)参照)。
処理PR5は、RAWファイル用サムネイル生成処理であり、処理PR5A及びPR5Bから成る。処理PR5Aとしてのサムネイル用YUV変換では、図8(b)に示す如く、対象画像TIのRAWデータ(DRAW又はDRAW’)に対して、解像度変換を含むYUV変換を実行することにより、サムネイルデータDTMBAを生成する。処理PR5Bとしてのサムネイル用圧縮処理では、サムネイルデータDTMBAを圧縮することで圧縮サムネイルデータDTMBBを生成する。
処理PR6は、RAWファイルを記録媒体14に書き込む(即ち記録する)RAWファイル書き込み処理である。図9(a)に示す如く、対象画像TIについてのRAWファイルは、対象画像TIについてのRAWデータDRAW’及び圧縮サムネイルデータDTMBBを含んでいると共に、対象画像TIの撮影日時等の付加情報を含んでいる
処理PR7では、図8(c)に示す如く、対象画像TIのRAWデータ(DRAW又はDRAW’)に対して本画用YUV変換を実行することにより、YUVデータDYUVを生成する。
処理PR8は、YUVデータDYUVを圧縮する本画用圧縮処理であり、当該処理PR8により、圧縮されたYUVデータDYUVであるJPEG形式の圧縮データDJPEGが生成される。
処理PR9は、JPEGファイル用サムネイル生成処理であり、処理PR9A及びPR9Bから成る。処理PR9Aとしてのサムネイル用YUV変換では、図8(d)に示す如く、対象画像TIのRAWデータ(DRAW又はDRAW’)に対して、解像度変換を含むYUV変換を実行することにより、サムネイルデータDTMBCを生成する。処理PR9Bとしてのサムネイル用圧縮処理では、サムネイルデータDTMBCを圧縮することで圧縮サムネイルデータDTMBDを生成する。
処理PR10は、JPEGファイルを記録媒体14に書き込む(即ち記録する)JPEGファイル書き込み処理である。図9(b)に示す如く、対象画像TIについてのJPEGファイルは、対象画像TIについての圧縮データDJPEG及び圧縮サムネイルデータDTMBDを含んでいると共に、対象画像TIの撮影日時等の付加情報を含んでいる。
図8(e)に示す如く、プレビュー画像TIPRVは、対象画像TIに基づく、対象画像TIと実質的に等価な静止画像であり、表示部15の表示解像度に応じた画素数を持つ。データDTMBA、DTMBB、DTMBC又はDTMBDによって表されるサムネイルTITMBは、データDRAW、DRAW’、DYUV又はDJPEGによって表される対象画像TIの縮小画像に相当する。
カメラ1では、1枚の対象画像のみを独立して撮影及び記録する単写を行うことができる。ボタンSBの状態を基準状態から半押し状態を経由して全押し状態にするシャッタ単位操作が1回だけ操作部16に入力されることで、単写が実行される。シャッタ単位操作では、ボタンSBが全押し状態になった後、速やかにボタンSBが基準状態に戻ると考える。単写では、処理PR1〜PR10から成る撮影処理を1回だけ実行することにより、1枚の対象画像についてのRAWファイル及びJPEGファイルが記録媒体14に記録される。
短時間にシャッタ単位操作を繰り返し操作部16に入力することにより、複数の単写が繰り返し実行されるが、第i回目のS2_ON操作に応答した撮影処理が完了するまでに、第(i+1)回目のS2_ON操作が成された場合、特に、速写が実現される(iは整数)。即ち、この場合における複数の単写の集まりを速写と呼ぶ。速写では、シャッタ単位操作の繰り返し回数と一致する枚数分の対象画像のRAWファイル及びJPEGファイルが記録媒体14に記録される。
ユーザが連写指示操作を操作部16に入力した場合、連写が実行される。連写指示操作は、ボタンSBの状態を全押し状態に所定時間以上維持し続ける操作である。連写では、ボタンSBの状態が全押し状態に維持されている期間中、複数枚の対象画像のRAW取り込み処理が連続的に実行され、当該複数枚の対象画像の夫々についてのRAWファイル及びJPEGファイルが記録媒体14に記録される。
速写も連写も、複数枚の対象画像の連続的な撮影である。但し、速写では、各対象画像の撮影間隔(より具体的には、第i枚目の対象画像に対するRAW取り込み処理の実行タイミングと第(i+1)枚目の対象画像に対するRAW取り込み処理の実行タイミングとの間隔)がシャッタ単位操作の繰り返し間隔に依存するのに対し(不定であるのに対し)、連写では、各対象画像の撮影間隔が一定である(カメラ1にて予め定められている)。尚、カメラ1において、操作部16に設けられた操作部材(ダイヤル等)への操作に応じ、連写が実行可能なモードと連写が実行不可なモードとが切り替えられても良い。
図10に、1枚の対象画像TIに対する処理PR1〜PR10の実行順序を示す。ボタンSBが基準状態にあるタイミングを起点として、S1_ON操作が入力されると処理PR1が行われ、その後、S1キャンセルが成されることなくS2_ON操作が入力されると処理PR2が行われ、続いて処理PR3が行われる。その後、処理PR4〜PR10が行われる。“処理PR4及びPR5の後に処理PR6が実行され、且つ、処理PR7の後に処理PR8が実行され、且つ、処理PR8及びPR9の後に処理PR10が実行される”という第1実行順序条件を満たす限り、処理PR4〜PR10の実行順序は任意である。但し、“処理PR5において処理PR5Bは処理PR5Aの後に実行され、且つ、処理PR9において処理PR9Bは処理PR9Aの後に実行される”という第2実行順序条件も当然に満たされる(図8(b)及び(d)参照)。また、速写又は連写が行われる場合、複数枚の対象画像の内の何れかの対象画像についての処理PR3Bは省略されうる。
対象画像TIの撮影処理は、処理PR3としての表示用処理と、処理PR4、PR5及びPR7〜PR9から成る記録用データ生成処理と、処理PR6及びPR10から成る記録処理とを含んでいる、と考えることができる。表示用処理では、対象画像の原データから表示用データが生成されて(図8(a)参照)、該表示用データが表示部15にて表示される。本実施形態において、原データ及び表示用データは、夫々、データDRAW及びDPRVである(図8(a)参照)。記録用データ生成処理では、対象画像の原データから記録用データが生成される。記録用データは、RAWファイル中のデータDRAW’及びDTMBBとJPEGファイル中のデータDJPEG及びDTMBDを含む。記録処理では、記録用データを含むファイル、即ちRAWファイル及びJPEGファイルが記録媒体14に記録される。
以下では、図11(a)に示す如く、第i番目に取得される対象画像を記号TI[i]にて表す。更に、図11(b)に示す如く、或る対象画像を記号TIAにて表し、対象画像TIAよりも後に取得される任意の対象画像を記号TIBにて表す。即ち、対象画像TIAが対象画像TI[i]である場合、対象画像TIBは対象画像TI[i+j]ある。以下では、通常、j=1であると考えれば良いが、jは2以上の整数でも良い。
図12に、対象画像TIA及びTIBの単写が別個独立に行われたときの撮影動作の流れを示す。図12及び後述の各図において、記号SB_STATEが付された実線折れ線はボタンSBの状態を表しており、当該実線折れ線中の下段、中段及び上段は、夫々、ボタンSBの基準状態、半押し状態、全押し状態に対応する(図4も参照)。S1_ON操作及びS2_ON操作から成るシャッタ単位操作の入力に応答して、対象画像TIAの撮影処理が実行され、対象画像TIAの撮影処理の完了後、再びシャッタ単位操作が入力されると、対象画像TIBの撮影処理が実行される。
図13は、速写により対象画像TIA及びTIBが取得される場合の撮影処理の流れを示している。タイミング300においてS1_ON操作が入力され、S1キャンセルが成されることなく続いてS2_ON操作が入力され、その後、S2_OFF及びS1_OFFを経て、タイミング302において再びS1_ON操作が入力され、S1キャンセルが成されることなく続いてS2_ON操作が入力されたとする。この場合、主処理部12は、タイミング300及び302間において処理PRA1を実行し、タイミング302とタイミング302より後のタイミング304との間において処理PRB1を実行し、その後、処理PRA2を実行して、更にその後に処理PRB2を実行する。
処理PRA1及びPRA2は、夫々、対象画像TIAの撮影処理の一部及び残部であり、処理PRB1及びPRB2は、夫々、対象画像TIBの撮影処理の一部及び残部である。従って、処理PRA1及びPRA2にて対象画像TIAの撮影処理の全体が形成され、処理PRB1及びPRB2にて対象画像TIBの撮影処理の全体が形成される。
処理PRA1は、少なくとも対象画像TIAについての処理PR1及びPR2を含む。仮に処理PRA1の完了前に対象画像TIBに対するS1_ON操作が入力されたとしても、処理PRA1が完了するまでは処理PRB1は実行されない。タイミング302に依存して、対象画像TIAについての処理PR3〜PR10が処理PRA1と処理PRA2に割り振られる。処理PRB1は、少なくとも対象画像TIBについての処理PR1及びPR2を含む。
具体的には例えば(図7及び図10参照)、主処理部12は、対象画像TIAの撮影処理において、処理PR3と処理PR4、PR5、PR7又はPR9との間、処理PR4と処理PR5との間、処理PR7と処理PR8との間、処理PR4又はPR5と処理PR6との間、及び、処理PR8又はPR9と処理PR10との間の夫々にS1チェックポイントを設けると共に、処理PR6の実行中及び処理PR10の実行中にもS1チェックポイントを設け、各S1チェックポイントにおいてS1_ON操作が入力されたか否かを確認する。この他、上記の第1及び第2実行順序条件を満たす限り、処理PR4、PR5A、PR5B、PR6、PR7、PR8、PR9A、PR9B及びPR10の内、任意の2つの処理の間にS1チェックポイントを設けることができる。
そして、タイミング302に相当するS1チェックポイントにおいてS1_ON操作の入力が検出された場合、その時点で、主処理部12は、対象画像TIAの撮影処理を処理PRA1までで中断して対象画像TIBに対する処理PR1を実行する。その後、S1キャンセルされることなくS2_ON操作の入力が検出されると、主処理部12は、対象画像TIBに対する処理PR2を実行する。対象画像TIBの処理PR1及びPR2を含んだ処理PRB1の実行後、主処理部12は、対象画像TIAの撮影処理を再開し(即ち処理PRA2を実行し)、その後、処理PRB2を行う。図14に示す如く、タイミング302に相当するS1チェックポイントにおいてS1_ON操作の入力が検出された後、S2_ON操作が入力されることなくタイミング303においてS1キャンセルが発生した場合には、処理PRB1及びPRB2は実行されず、結果、対象画像TIBに対する処理PR1だけが処理PRA1の後に実行されることになる。S1キャンセルの後(即ち対象画像TIBに対する処理PR1の後)は、対象画像TIAの撮影処理が再開されて処理PRA2が実行される。
対象画像TIBについての処理PR3〜処理PR10の内、どの処理までを処理PRB1に含めるのかは任意であるが、例えば、処理PR3までが処理PRB1に含められ、処理PR4〜PR10が処理PRB2に含められる。図13の例では、処理PRA2の完了後に処理PRB2が実行開始されているが、図15(a)に示す如く、処理PRA2の一部と処理PRB2の一部は同時に実行されうる。また、図15(b)に示す如く、処理PRA2の一部と処理PRA2の他の一部との間に、処理PRB2の一部が実行されても良い。
上述の説明から理解されるが、以下のことが言える。つまり例えば(図10も参照)、対象画像TIAについての表示用処理及び記録用データ生成処理から成る中間処理の実行中に、S1_ON操作及びS2_ON操作の入力が検出された場合、主処理部12は、対象画像TIAの中間処理を中断して処理PRB1を実行した後、対象画像TIAの中間処理を再開し、当該中間処理の完了後、対象画像TIAの記録処理及び処理PRB2を実行することができる。尚、中間処理から表示用処理が割愛されうる。中間処理は記録処理を含まない。或いは例えば(図10も参照)、対象画像TIAについての記録処理の実行中に、S1_ON操作及びS2_ON操作の入力が検出された場合、主処理部12は、対象画像TIAの記録処理を中断して処理PRB1を実行した後、対象画像TIAの記録処理を再開し、当該記録処理の完了後又は当該記録処理の実行に並行して処理PRB2を実行することができる。
シャッタ単位操作の入力に応答してRAW取り込み処理を行った後、対象画像TIAの中間処理又は記録処理の実行中にシャッタ単位操作が再度入力された場合、一般的なカメラでは、対象画像TIAの撮影処理の完了を待ってから対象画像TIBの撮影処理が開始される。このため、対象画像TIBの撮影開始までのシャッタタイムラグが長くなる。これに対し、本実施形態の主処理部12は、対象画像TIAの撮影処理(中間処理又は記録処理)の実行中にシャッタ単位操作の入力が検出された場合、処理PR2を含む対象画像TIBの撮影処理の一部を割り込み実行する。これにより、シャッタタイムラグを短縮することが可能となる。
尚、本実施形態において、S1_ON操作の入力に応答した、処理の“中断”とは、S1_ON操作の入力と同時に当該処理を即時中断するだけでなく、S1_ON操作の入力後、若干の時間を経てから当該処理が中断されることをも含む。
また、対象画像TIAの撮影処理の実行中であって且つ対象画像TIAの表示用データ(即ちデータDPRV)を表示部15に表示する前に対象画像TIBに対するシャッタ単位操作の入力が検出された場合、主処理部12は、対象画像TIAの表示用データを表示部15に表示する処理(即ち処理PR3B)を、対象画像TIAの撮影処理から省略するようにしても良い。
ところで、主処理部12は、第1〜第3記録モードを含む複数の記録モードの何れかを選択記録モードとして用い、選択記録モードに対応する記録対象ファイルを記録媒体14に記録する。主処理部12は、操作部16に入力された記録モード選択操作に従い、選択記録モードを設定することができる。第1記録モードにおける記録対象ファイルはRAW及びJPEGファイルであり、上述の各説明は、選択記録モードが第1記録モードであることを想定している。第2記録モードにおける記録対象ファイルはJPEGファイルであってRAWファイルを含まず、第3記録モードにおける記録対象ファイルはRAWファイルであってJPEGファイルを含まない。故に、選択記録モードが第2記録モードである場合、各対象画像TIの撮影処理から処理PR4〜PR6が割愛され、従って当然、上記記録用データからデータDRAW’及びDTMBBが割愛されると共にRAWファイルは記録媒体14に記録されない(図7、図9(a)及び図10参照)。選択記録モードが第3記録モードである場合、各対象画像TIの撮影処理から処理PR7〜PR10が割愛され、従って当然、上記記録用データからデータDJPEG及びDTMBDが割愛されると共にJPEGファイルは記録媒体14に記録されない(図7、図9(b)及び図10参照)。
上述の構成及び動作を基本とするカメラ1のより具体的な動作例等を、以下の第1〜第11実施例の中で説明する。矛盾無き限り、第1〜第11実施例の内、任意の2以上の実施例を組み合わせることが可能であるし、任意の実施例で説明した事項を他の任意の実施例に適用することもできる。
<<第1実施例>>
第1実施例を説明する。第1実施例及び後述の第2〜第4実施例では、第1記録モードが選択記録モードであることを想定している。第1〜第4実施例では、カメラ1の撮影動作の例を説明するが、まず、第1実施例の中で基本的な撮影動作の流れを説明する。図16に、第1実施例に係る撮影動作タイミングチャートを示す。
図16において、表題“AE/AF”、“S2−WAIT”、“RAW”、“Preview”、“DNG(M)”、“JPEG(M)”、“DNG(W)”、“JPEG(W)”、“Mode change”が付された行項目320〜328が、上下方向に並べて示されている(後述の図17〜図19においても同様)。各行項目は、当該行項目に対応する処理のタイミングチャートである。行項目320は処理PR1に対応し、行項目322は処理PR2に対応し、行項目323は処理PR3Aに対応し、行項目324は処理PR4及びPR5に対応し、行項目325は処理PR7〜PR9に対応し、行項目326は処理PR6に対応し、行項目327は処理PR10に対応している。行項目321は、S2_ON操作の入力が成されたか否かをチェックするS2_ONチェック処理に対応している。行項目328は、モード変更処理に対応している。図16並びに後述の図17〜図19において且つ各行項目において、ドット領域又は黒塗り領域は当該行項目に対応する処理が実行される時間領域を示しており、ドット領域中に図示された丸付き数値1、2、3は、夫々、当該ドット領域に対応する処理が対象画像TI[1]、TI[2]、TI[3]用の処理であることを意味する。
図16並びに後述の図17〜図19において、“Live”が付された矢印範囲内の時間領域ではライブビューが実行され、“Preview(i)”が付された矢印範囲内の時間領域では対象画像TI[i]のプレビューが実行され、“Black”が付された矢印範囲内の時間領域ではブラックビューが実行される。対象画像の撮影が可能な動作モードにおいて、主処理部12は、原則として、撮像素子33の駆動モードを動画像モードに設定して撮像素子33から動画像の画像信号を取得し、取得信号に基づく映像を動画像(スルー画像)として表示部15に表示する。この動画像の表示がライビューである。対象画像TI[i]のプレビューとは、対象画像TI[i]についてのプレビュー画像を静止画像として一定時間だけ表示部15に表示する処理を指す。ブラックビューとは、所定の映像(例えば黒塗り画像)を表示部15に表示する処理を指す。撮像素子33から対象画像の画像信号を取得するときには撮像素子33の駆動モードが静止画像モードに設定される。その後において、ライブビューを再開するために、撮像素子33の駆動モードを動画像モードに戻す処理及び表示部15の表示映像を変更する処理がモード変更処理に含まれる。プレビュー又はブラックビューからライブビューに切り替える動作を、以下では、ライブ復帰と呼ぶ。尚、ボタンSBが全押し状態から基準状態に戻る際、実際には、S2_OFF且つS1_ONとなる有限の時間が存在するが、図16〜図19及びそれに対応する説明では、記述の簡略化上、瞬間的にボタンSBが全押し状態から基準状態に戻ると考える。
図16の例では、シャッタ単位操作の入力に応答して対象画像TIについての処理PR1〜PR5及びPR7〜PR9を実行した後、ライブ復帰を行うという動作を3回繰り返し、その後、対象画像TI[1]の処理PR6及びPR10と、対象画像TI[2]の処理PR6及びPR10と、対象画像TI[3]の処理PR6及びPR10を順次実行している。図16では、対象画像TI[i]についての処理PR1〜PR5及びPR7〜PR9が完了するまで、S1チェックポイントが存在していないことを想定している。従って仮に、対象画像TI[1]についての処理PR3Aの実行中に2回目のS1_ON操作が入力された場合でも、対象画像TI[1]についての処理PR1〜PR5及びPR7〜PR9の完了後にしか、対象画像TI[2]の処理PR1が実行されない。
<<第2実施例>>
第2実施例を説明する。図17に第2実施例に係る撮影動作タイミングチャートを示す。尚、第2〜第4実施例では、特に記述無き限り、S1_ONになった後、S2_ONになる前にS1キャンセルが成されないことを想定する。時間の進行に従ってタイミング361〜369がこの順番で訪れる。図17の動作例では、3回のシャッタ単位操作の入力が行われている。タイミング361、364、367は、夫々、1回目、2回目、3回目のS1_ON操作の入力タイミングである。タイミング362、365、368は、夫々、1回目、2回目、3回目のS2_ON操作の入力タイミングである。タイミング363、366及び369の夫々において、ボタンSBが全押し状態から基準状態に戻る。
タイミング361及び362でのS1_ON及びS2_ONに応答して対象画像TI[1]の処理PR1、PR2及びPR3Aが行われ、対象画像TI[1]の処理PR3Aの実行中のタイミング364において2回目のS1_ON操作が入力されたとする。そうすると、主処理部12は、対象画像TI[1]の処理PR3Aの後、モード変更処理によってライブ復帰した後、対象画像TI[2]についての処理PR1を実行する。対象画像TI[2]についての処理PR1の開始後に2回目のS2_ON操作が入力されると、対象画像TI[2]の処理PR2及びPR3Aを実行する。図17の例では、3回目のS1_ON操作の入力タイミング367が対象画像TI[2]の処理PR3Aの完了後である。故に、対象画像TI[2]に関し、処理PR3Aに続いて表示処理PR3B(図17の“Preview(2)”に対応)が実行される。一方、対象画像TI[1]の処理PR3Aの完了前に2回目のS1_ON操作の入力があったために、対象画像TI[1]に対するプレビュー(処理PR3B)は実行されていない。
対象画像TI[2]の処理PR3Aの完了後、対象画像TI[2]の表示処理PR3Bと並行して、対象画像TI[1]の処理PR4〜PR6が実行され、その後、対象画像TI[1]の処理PR7、PR8及びPR9から成る処理375が実行開始される。処理375の実行中のタイミング367において3回目のS1_ON操作が入力された結果、主処理部12は、タイミング367にて又はタイミング367より後の中断好適タイミングにて処理375を中断し、2回目のモード変更処理によってライブ復帰を行った後、対象画像TI[3]についての処理PR1を実行する。対象画像TI[3]についての処理PR1の開始後に3回目のS2_ON操作が入力されると、対象画像TI[3]の処理PR2及びPR3Aを実行する。このように、処理375の中に対象画像TI[3]の処理PR1〜PR3(より具体的には例えば、処理PR1、PR2及びPR3A)を割り込ませる。中断好適タイミングとは、処理375において中断が可能な又は容易なタイミング(例えば、処理375における、或る信号処理と他の信号処理の間)である。
対象画像TI[3]の処理PR3Aの完了後、主処理部12は、中断していた処理375を再開して処理375を完了させる。その後、処理群378を行った後、ライブ復帰が成される。処理群378の実行では、第1に対象画像TI[1]の処理PR10と対象画像TI[2]の処理PR4及びPR5の並列実行を行い、第2に対象画像TI[2]の処理PR6を行い、第3に対象画像TI[2]の処理PR7、処理PR8及びPR9を行い、第4に対象画像TI[2]の処理PR10と対象画像TI[3]の処理PR4及びPR5の並列実行を行い、第5に対象画像TI[3]の処理PR6を行い、第6に対象画像TI[3]の処理PR7、処理PR8及びPR9を行い、第7に対象画像TI[3]の処理PR10を行う。尚、図17の例においては、対象画像TI[3]の表示処理PR3B(Preview(3))が対象画像TI[3]の処理PR10の完了まで継続実行されている。
<<第3実施例>>
第3実施例を説明する。図18に第3実施例に係る撮影動作タイミングチャートを示す。第2実施例の図17では、対象画像TI[1]〜TI[3]に対する処理PR1が夫々にAE処理とAF処理を含んでおり、また、処理PR1を行う前にライブ復帰用のモード変更処理が行われている。これに対し、第3実施例に係る主処理部12は、図18に示す如く、対象画像TI[i]に対する処理PR3〜PR10の実行中に対象画像TI[i+1]に対するS1_ON操作の入力が検出された場合、対象画像TI[i+1]の処理PR1においてAF処理を省略してAE処理のみを行い、且つ、対象画像TI[i+1]の処理PR1の実行前のライブ復帰(モード変更処理)を行わない。但し、対象画像TI[i](例えばTI[1])に対する処理PR1にAE及びAF処理が含まれていることを前提にして、AF処理の省略が許可されるものとする。即ち(図13参照)、AE及びAF処理を含む対象画像TIAの処理PRA1を経て、対象画像TIAの撮影処理の実行中のタイミング302にS1_ON操作の入力が検出された場合、主処理部12は、対象画像TIBの処理PR1において、AF処理を省略してAE処理のみを行う。
対象画像TI[2]及びTI[3]に対してAF処理が省略されている分、対象画像TI[2]及びTI[3]の夫々の処理PR1の実行時間は、AE及びAF処理を含んだ対象画像TI[1]の処理PR1の実行時間よりも短く、その分、シャッタタイムラグが短縮される。また、ライブ復帰の省略によってもシャッタタイムラグ短縮が図られている。
第2実施例の図17では、対象画像TI[1]の処理PR3Aの実行中に対象画像TI[2]用のS1_ON操作が入力されたとき、ライブビューを優先して対象画像TI[1]の表示処理PR3Bを省略している。これに対し、図18の例では、対象画像TI[1]の処理PR3Aの実行中に対象画像TI[2]用のS1_ON操作が入力されたとき、ライブ復帰を行わずに、対象画像TI[2]の処理PR1、PR2及びPR3Aに並行して対象画像TI[1]の表示処理PR3B(Preview(1))を行っている。第3実施例で上述した点を除き、図18のタイミングチャートは図17のタイミングチャートと同様である。
<<第4実施例>>
第4実施例を説明する。速写によって取得される複数の対象画像TIの撮影期間中に、最適なフォーカスレンズ31の位置が変化する可能性は低い。故に、図18の例の如く、対象画像TI[2]及びTI[3]に対するAF処理を省略したとしても弊害は少ない。しかしながら、本来AF処理が必要とされる自動焦点調整モードにおいてAF処理を省略することは、望ましいことではない。
そこで、第4実施例では、S1_ON操作の入力タイミングに応じてAF処理を省略するのか否かを切り替える。即ち(図13参照)、AE及びAF処理を含む対象画像TIAの処理PRA1を経て、対象画像TIAの撮影処理の実行中のタイミング302にS1_ON操作の入力が検出された場合、主処理部12は、対象画像TIBの処理PR1において、AF処理を省略してAE処理のみを行うのか或いはAE及びAF処理を行うのかを、S1_ON操作の入力タイミング302に応じて切り替える。
より具体的には例えば(図10参照)、タイミング302が、対象画像TIAの記録用データ生成処理の実行開始前(例えば処理PR2又はPR3Aの実行中)のタイミングであった場合、主処理部12は、対象画像TIBの処理PR1においてAF処理を省略してAE処理のみを行う。この場合には、対象画像TIA及びTIB間の撮影間隔が比較的短いため、対象画像TIA用のAF処理結果を対象画像TIBに適用しても弊害は少ないと考えられるからである。一方、タイミング302が、対象画像TIAの記録用データ生成処理の実行開始後のタイミングであった場合、主処理部12は、対象画像TIBの処理PR1においてAE及びAF処理を行う。この場合には、対象画像TIA及びTIB間の撮影間隔が比較的長いため、上記弊害が顕在化しやすいと考えられるからである。
このように、S1_ON操作の入力タイミング302に応じてAF処理の省略/非省略を切り替えることにより、AF処理の省略による弊害を抑制しつつシャッタタイムラグを極力短縮することが可能となる。尚、対象画像TIBに対してAF処理を省略する場合には、処理PRA1の後、ライブ復帰を行わずに対象画像TIBに対するAE処理を実行し、対象画像TIBに対してAF処理を省略しない場合には、ライブ復帰を行ってから対象画像TIBに対するAE及びAF処理を実行すると良い。
図19に第4実施例に係る撮影動作タイミングチャートを示す。図19の例では、対象画像TI[1]の処理PR1にてAE及びAF処理が行われた後、対象画像TI[1]の処理PR3Aの実行中にて対象画像TI[2]用のS1_ON操作が入力されている。このため、主処理部12は、当該入力の検出後、ライブ復帰を行わずに、対象画像TI[2]についてAF処理が省略された処理PR1と処理PR2及びPR3Aを行うと共に、それらに並行して対象画像TI[1]の表示処理PR3B(Preview(1))を行う。その後、対象画像TI[2]の表示処理PR3B(Preview(2))と並行して対象画像TI[1]の処理PR4〜PR6を実行する。更にその後の処理375の実行中に対象画像TI[3]用のS1_ON操作が入力されると、第2実施例(図17)と同様、ライブ復帰を行ってからの対象画像TI[3]用のAE及びAF処理が行われる。その後の動作は、第2実施例(図17)と同様である。
<<第5実施例>>
第5実施例を説明する。カメラ1において、単写又は速写を行う場合と、連写を行う場合との間で、画像データに対するメモリマップは共通とされる。つまり例えば、RAWデータに注目した場合、7回のシャッタ単位操作の入力に応答した7回分の単写又は速写では、対象画像TI[1]〜TI[7]のRAWデータがRAWブロック20[1]〜20[7]に取り込まれる(図6(a)参照)。一方、7枚分の連続撮影に相当する連写でも、対象画像TI[1]〜TI[7]のRAWデータがRAWブロック20[1]〜20[7]に取り込まれる。このように、シャッタ単位操作の入力に応答して各対象画像の撮影を個別に行う場合も、連写指示操作の入力に応答して2枚以上の対象画像を連続的に撮影する場合も、同じRAWブロック20[1]〜20[7]を共用してRAWデータを取り込む。
RAWバッファ20(図6(a)参照)を共用することにより、単写(又は速写)用のバッファと連写用のバッファを別々に設けておく場合と比べて、効率的にRAWデータを保持することができる(例えば、RAWブロックが7つしかない場合において、7つの内の3つを単写又は速写用に確保し、残り4つを連写用に確保しておいた場合、連写の最大枚数が4枚に限定される)。更に、単写又は速写と連写との間でRAWバッファを共通化しておくことにより(メモリマップを共通にしておくことにより)、メモリの利用に関する設計が容易となる。RAWバッファ20に注目してメモリマップの共通化を説明したが、RAWデータ以外の画像データを保持するバッファ(中間バッファ21等)に対しても、同様の共通化が成される。
<<第6実施例>>
第6実施例を説明する。第6実施例では、連写における撮影動作を説明する。図20に、7枚の対象画像を連写によって取得する場合の簡易的なタイミングチャートを示す。S1_ON操作が入力されるとAE/AF処理を含む処理PR1が実行され、その後、タイミング401にS2_ON操作が入力されてボタンSBがタイミング402まで全押し状態に維持されたとする。タイミング402は対象画像TI[7]に対する処理PR2の実行中のタイミングであるとする。この場合、対象画像TI[1]に対する処理PR1の実行に続いて対象画像TI[1]〜TI[7]に対する処理PR2が順次実行される。この際、対象画像TI[1]〜TI[7]のRAWデータは夫々ブロック20[1]〜20[7](図6(a)参照)に取り込まれる。その後、第1実施例(図16)における方法と同様の方法にて、対象画像TI[1]〜TI[7]に対する記録用データ生成処理及び記録処理(図10参照)が順次実行される。図20の連写の例では、対象画像TI[2]〜TI[7]に対して処理PR1は実行されない。また、連写では、撮影間隔の短縮を狙って、対象画像TI[i+1]に対する処理PR2と対象画像TI[i]に対する処理PR3を並列実行している。
ブロック20[1]〜20[7]はリングバッファとして利用される。図20の例とは異なるが、タイミング402以降もS2_ONが維持されていた場合には、バッファ20[1]が開放状態になるのを待ってからバッファ20[1]に対象画像TI[8]のRAWデータを取り込む。対象画像TI[9]等についても同様である。
<<第7実施例>>
第7実施例を説明する。RAWブロック20[1]〜20[7]の夫々は開放情報又は非開放状態をとる。主処理部12は、夫々が0又は1をとるフラグFG[1]〜FG[7]を用いて各RAWブロックの状態を管理している。フラグFG[i]が0のとき、RAWブロック20[i]は開放状態にあり、フラグFG[i]が1のとき、RAWブロック20[i]は非開放状態にある。
主処理部12は、RAWブロック20[i]が開放状態であるとき、ブロック20[i]に新たなRAWデータを取り込むことを許可し、RAWブロック20[i]が非開放状態であるとき、ブロック20[i]に新たなRAWデータを取り込むことを禁止する。初期状態では、フラグFG[1]〜FG[7]の値は全て0であって全RAWブロックは開放状態にある。初期状態を起点として、ブロック20[i]へのRAWデータの取り込みが開始されると、“FG[i]=1”となってブロック20[i]の状態は非開放状態となり、その後、ブロック20[i]に保持されたRAWデータに基づく記録対象ファイルの記録媒体14への記録が完了すると“FG[i]=0”となってブロック20[i]の状態は開放状態に戻る(ここにおけるiはm以下の自然数;mは上述したようにRAWブロックの個数)。尚、以下では、開放状態にあるRAWブロック及び非開放状態にあるRAWブロックを、夫々、開放ブロック及び非開放ブロックと呼ぶことがある。
典型的な速写又は連写おけるメモリ利用方法では、速写又は連写によってmA枚分のRAWデータをブロック20[1]〜20[mA]に取り込んだ後は、ブロック20[1]〜20[mA]の全てが開放状態になるまで、ブロック20[1]〜20[mA]の何れかに対する新たなRAWデータの取り込みは禁止される(mAは2以上m以下の整数)。これに対し、主処理部12は、速写又は連写によってmA枚分のRAWデータをRAWブロック20[1]〜20[mA]に取り込んだ後、RAWブロックごとにRAWブロック20[1]〜20[mA]の状態を監視、管理し、RAWブロック20[1]〜20[mA]の全てが開放状態になるのを待つことなく、非開放状態から開放状態に戻ったブロックに対するRAWデータの取り込みをRAWブロック毎に許可する。
例えば、図21を参照し、全RAWブロックが開放状態にあるときを起点にして、9回のシャッタ単位操作が順次入力されたときの速写の動作を考える。図21のブロック20[i]に関し、“0”が開放状態に対応し且つ“1”が非開放状態に対応する(後述の図22も同様)。図21において、ポイント421〜429は、1〜9回目のシャッタ単位操作の入力タイミングを表している。この場合、1〜7回目のシャッタ単位操作の入力に対応して対象画像TI[1]〜TI[7]のRAWデータがブロック20[1]〜20[7]に取り込まれる。その後、ブロック20[1]〜20[7]が非開放ブロックから開放ブロックへと順次戻るが、8回目のシャッタ単位操作の入力タイミングがブロック20[1]が開放状態に戻った後であるならば、対象画像TI[2]〜TI[7]の何れか1以上の対象画像の撮影処理が完了しておらず且つブロック20[2]〜20[7]の何れか1以上が非開放ブロックであったとしても、対象画像TI[8]のRAW取り込み処理を含む対象画像TI[8]の撮影処理の一部を割り込み実行して、ブロック20[1]に対して対象画像TI[8]のRAWデータを取り込む。対象画像TI[9]についても同様であり、ブロック20[2]が開放状態になり次第、ブロック20[2]に対する対象画像TI[9]のRAWデータの取り込みが許可される。
このような動作は、速写に続いて連写を行う場合、又は、連写に続いて速写を行う場合も同様に実現される。即ち例えば、図22に示す如く、全RAWブロックが開放状態にあるときを起点にして、速写を指示する4回のシャッタ単位操作の順次入力に続き、5枚分の対象画像の連写を指示する連写指示操作の入力があった場合を考える。図22において、ポイント441〜444は、1〜4回目のシャッタ単位操作の入力タイミングを表し、タイミング445及び446間の期間は連写指示操作の入力期間である。この場合、1〜4回目のシャッタ単位操作の入力に対応して対象画像TI[1]〜TI[4]のRAWデータがブロック20[1]〜20[4]に取り込まれる。
タイミング445では、まだ、対象画像TI[1]〜TI[4]の撮影処理が1つも完了しておらずブロック20[1]〜20[4]が非開放状態であるが、タイミング446までに対象画像TI[1]及びTI[2]の撮影処理が完了してブロック20[1]及び20[2]が順次開放状態に戻ったとする。そうすると、タイミング445を起点として、連写により対象画像TI[5]〜TI[7]のRAWデータがブロック20[5]〜20[7]に取り込まれた後、ブロック20[1]が開放状態になり次第、対象画像TI[8]のRAWデータがブロック20[1]に取り込まれ、その後、ブロック20[2]が開放状態になり次第、対象画像TI[9]のRAWデータがブロック20[2]に取り込まれる。速写に続いて連写を行う場合の動作を説明したが、連写に続いて速写を行う場合も同様である。
上述の如く、速写若しくは連写又は速写と連写の組み合わせにおいて、複数のRAWブロックにてリングバッファを形成し、開放状態に戻ったRAWブロックに対するRAWデータの取り込みをブロック毎に許可することにより、入力操作の形態にも依存するが、RAWブロック数mを超える枚数(図21、図22の例では、9枚)の高速連続撮影が可能となる。
また、速写若しくは連写又は速写と連写の組み合わせによって複数枚の対象画像を連続的に撮影する場合、即ち撮影処理の割り込みを伴って複数枚の対象画像を連続的に撮影する場合、主処理部12は、その時々の開放ブロックの個数に相当する高速撮影可能枚数Rをリアルタイムに表示部15に表示すると良い(撮影処理の割り込みとは、“或る対象画像の撮影処理の実行中に他の対象画像の撮影処理の一部を割り込み実行すること”を指す)。これにより、ユーザは、速写又は連写により、あと何枚高速撮影が可能かを容易に把握することが可能となる。主処理部12は、フラグFG[1]〜FG[7]の値から枚数Rを知ることができる。枚数Rは、例えばプレビュー画像に重畳して表示される。全てのRAWブロックが非開放状態に戻ったら、主処理部12は、プレビュー画像と枚数Rの表示を消してライブ復帰を行うと良い。
尚、通常の単写において、ユーザは撮影構図を決めてからシャッタ単位操作を行い、プレビュー画像を見て撮影結果のチェック等を行う。チェックの結果、更にもう1枚撮影したいのであれば再度シャッタ単位操作を行う。このような通常の単写の使用形態では、単写の繰り返し間隔が十分に広いため、2つのRAWブロックが同時に非開放状態になることがなく、枚数Rの表示の必要性が乏しい。一方で、このような使用形態の下で、毎回、枚数Rの表示が成されると、ユーザは不快感を覚えることもある(プレビュー画像の確認が阻害される)。そこで、1枚目の対象画像のRAW取り込み処理の時点では枚数Rを表示せず、撮影処理の割り込みを伴って2枚目の対象画像のRAW取り込み処理が開始された後にのみ枚数Rを表示すると良い。
<<第8実施例>>
第8実施例を説明する。第8実施例並びに後述の第9及び第10実施例では、第1記録モードが選択記録モードであることを想定した上で、カメラ1の撮影動作シーケンスを説明する。図23は、カメラ1における1つの単写における撮影動作シーケンス図である。主処理部12が実行するタスクにはタスクK1〜K5が含まれる。メインタスクK1は、露出調整及び焦点調整に必要なAE/AF情報を導出すると共に撮影動作のシーケンスを管理する。RAW取り込みタスクK2は、撮像素子33の露光制御等を行うと共に撮像素子33から画像データをDMA(Direct Memory Access)転送を用いてRAWブロックに取り込む。プレビュータスクK3は処理PR3を行う。イメージ生成タスクK4は記録用データ生成処理(図10参照;即ち処理PR4、PR5及びPR7〜PR9)を行う。ファイル書き込みタスクK5は記録処理(図10参照;即ち処理PR6及びPR10)を行う。
主処理部12はタスク間の優先順位を以下のように定める。即ち、タスクK2に最も高い第1優先順位が与えられ、タスクK3及びK4に第2優先順位が与えられ、タスクK1に第3優先順位が与えられ、タスクK5に最も低い第4優先順位が与えられる。複数のタスクが競合する場合、より優先順位の高いタスクが優先的に実行される。図23並びに後述の図24及び図25において、符号S1_CKが付された星印のポイントの夫々が、対象画像の撮影処理中におけるS1チェックポイントの例である。上述したように、図23には、1つの単写における撮影動作シーケンスが示されているため、各ポイントS1_CKにおいてS1_ON操作の入力は検出されない。
ライブビューを行っているときにS1_ON操作が入力されると、メインタスクK1は露出調整及び焦点調整を実現するためのAE及びAF情報を生成してタスクK2に送り、更に、タスクK2の開始を指示する。すると、タスクK2は、AE及びAF情報に基づき実際の露出調整及び焦点調整を行った後(即ち処理PR1を完了させた後)、RAW取り込み処理(即ち処理PR2)を実行する。尚、処理PR1はタスクK1にて完了されるものであっても良い。RAW取り込み処理の後、タスクK1はタスクK3の開始を指示し、これを受けてタスクK3はプレビュー画像生成及び表示処理(即ち処理PR3)を行う。
この後、メインタスクK1は、記録用データの生成に必要な撮影情報(RAWデータを取り込んだRAWブロックの番号等)をタスクK4に送った上で、タスクK4の開始の指示510を行い、自身の状態をWAIT状態にする。WAIT状態にあるタスクは、他のタスクから所定の信号を受信するまで動作を停止する。指示510を受けたタスクK4は、RAWファイルの生成に必要な、サムネイル用YUV変換(即ち処理PR5A)、本画用RAW−RAW変換(即ち処理PR4)及びサムネイル用圧縮処理(即ち処理PR5B)を順次実行し、その後、それらの処理が完了したことを示すイメージ生成結果“完了”をタスクK1に送ると共にイメージ生成タスク完了信号512をタスクK1に送る。
完了信号512を受けることで、タスクK1の状態はWAIT状態から所望の動作が可能なREADY状態に復帰する。この後、イメージ生成結果“完了”を受けたタスクK1は、タスクK5の開始の指示520を行い、これに応答して、タスクK5にてRAWファイル書き込み処理(即ち処理PR6)が実行される。処理PR6が完了すると、タスクK5からメインタスクK1に書き込み完了通知522が送信される。
完了通知522を受けたメインタスクK1は、記録用データの生成に必要な撮影情報をタスクK4に送った上で、タスクK4の開始の指示530を行い、自身の状態を再びWAIT状態にする。指示530を受けたタスクK4は、JPEGファイルの生成に必要な、本画用及びサムネイル用YUV変換(即ち処理PR7及びPR9A)、本画用圧縮処理(即ち処理PR8)及びサムネイル用圧縮処理(即ち処理PR9B)を順次実行し、その後、それらの処理が完了したことを示すイメージ生成結果“完了”をタスクK1に送ると共にイメージ生成タスク完了信号532をタスクK1に送る。
完了信号532を受けることで、タスクK1の状態はWAIT状態からREADY状態に復帰する。この後、イメージ生成結果“完了”を受けたタスクK1は、タスクK5の開始の指示540を行い、これに応答して、タスクK5にてJPEGファイル書き込み処理(即ち処理PR10)が実行される。処理PR10が完了すると、タスクK5からメインタスクK1に書き込み完了通知542が送信される。完了通知542の受信を以って1枚の対象画像の撮影処理が完了する。
プレビュー画像生成及び表示処理(より具体的には例えば処理PR3A)と、サムネイル用YUV変換(即ち処理PR5A)と、本画用RAW−RAW変換(即ち処理PR4)と、サムネイル用圧縮処理(即ち処理PR5B)と、RAWファイル書き込み処理(即ち処理PR6)の内、時間的に隣接する2つの処理の間に1つずつポイントS1_CKが設けられており、且つ、本画用及びサムネイル用YUV変換(即ち処理PR7及びPR9A)と、本画用圧縮処理(即ち処理PR8)と、サムネイル用圧縮処理(即ち処理PR9B)と、JPEGファイル書き込み処理(即ち処理PR10)の内、時間的に隣接する2つの処理の間に1つずつポイントS1_CKが設けられている(後述の第9及び第10実施例でも同様)。また、指示520の後、通知522がタスクK1にて受信されるまでの期間中と、指示540の後、通知542がタスクK1にて受信されるまでの期間中において、タスクK1は、定期的にS1_ONとなっていないかを確認する。
<<第9実施例>>
第9実施例を説明する。図24は、第9実施例に係る、カメラ1の撮影動作シーケンス図である。図24において、メインタスクK1がタスクK4の開始の指示510を行い、自身の状態をWAIT状態にするまでの動作は、第8実施例と同様である。指示510を受けたタスクK4は、まず、RAWファイルの生成に必要なサムネイル用YUV変換(即ち処理PR5A)を実行する。図24の例では、その変換後、本画用RAW−RAW変換を行う前のS1チェックポイントでS1_ON操作の入力が検出されている。このため、タスクK4は、イメージ生成結果“中断”をタスクK1に送ると共にイメージ生成タスク完了信号512をタスクK1に送ってから、一時停止してWAIT状態に移行する。
完了信号512を受けることで、タスクK1の状態はWAIT状態からREADY状態に復帰し、CPU実行権を得たタスクK1はS1_ON操作の入力に応答した割り込み処理550を行う。CPU実行権とは、主処理部12に設けられたCPUを使用して所望演算を行う権利である。割り込み処理550において、メインタスクK1はAE及びAF情報を生成してタスクK2に送り、更に、S2_ON操作の入力が検出されるとタスクK2の開始を指示する。すると、割り込み処理550において、タスクK2は、AE及びAF情報に基づき実際の露出調整及び焦点調整を行った後(即ち処理PR1を完了させた後)、RAW取り込み処理を実行する。更に、RAW取り込み処理の後、タスクK1はタスクK3の開始を指示し、これを受けてタスクK3がプレビュー画像生成及び表示処理(即ち処理PR3)を行った後、S1_ON操作の入力有無をチェックしてから、メインタスクK1がタスクK4の再開の指示510’を行う。この段階で割り込み処理550が終了する。
指示510’によってタスクK4の状態はWAIT状態からREADY状態に移行し、更にRUN状態に移行してタスクT4がCPU実行権を得ると、タスクT4は中断していた処理を中断位置から再開する。即ち、指示510’を受けたタスクK4は、RAWファイルの生成に必要な本画用RAW−RAW変換(即ち処理PR4)及びサムネイル用圧縮処理(即ち処理PR5B)を順次実行し、イメージ生成結果“完了”をタスクK1に送ると共に2回目のイメージ生成タスク完了信号512’をタスクK1に送る。イメージ生成結果“完了”を受けたタスクK1は、タスクK5の開始の指示520を行う。この後の動作は、第8実施例と同様である。尚、図24では、JPEGファイル用の各タスクの動作シーケンスの図示が省略されている(後述の図25でも同様)。また、図24では、RAWファイル用のタスクK4の実行中にS1_ONとなっているが、JPEGファイル用のタスクK4の実行中にS1_ONとなった場合も同様である。
<<第10実施例>>
第10実施例を説明する。図25は、第10実施例に係る、カメラ1の撮影動作シーケンス図である。図25において、メインタスクK1がタスクK5の開始の指示520を行うまでの動作は第8実施例と同様である。指示520を受けたタスクK5にてRAWファイル書き込み処理(即ち処理PR6)が実行されるが、図25の例では、指示520の後、書き込み完了通知522がタスクK5から送信されるまでの間に、S1_ON操作が入力されている。このため、メインタスクK1は、RAWファイル書き込み処理の実行中に、上述の割り込み処理550を実行する(但し、図24との比較において指示510’は割愛される)。割り込み処理550の実行中、RAWファイル書き込み処理を中断しても良いが、両者の処理を並列実行しても良い。
上述したように、タスクK1の優先順位はタスクK5のそれよりも高いため、タスクK1がCPU実行権を保持したままであるとタスクK5を実行できない。このため、指示520の後、タスクK1は、書き込み完了通知522を受信していないか否かを一定間隔で確認しながら、当該受信が確認されるまでCPU実行権をタスクK5に明け渡し、当該受信の有無確認を合わせてS1_ON操作の入力有無をチェックする。そして、S1_ON操作の入力を検出すると、割り込み処理550を実行する。S1_ON操作の入力有無のチェックを、ポーリングを利用して行っても良いし、RAWファイルを記録媒体14に書き込むためのDMA転送の間隔で行っても良い。尚、図24では、RAWファイル書き込み処理の実行中にS1_ONとなっているが、JPEGファイル書き込み処理の実行中にS1_ONとなった場合も同様である。
<<第11実施例>>
第11実施例を説明する。第11実施例では、上述してきた各動作を実現するカメラ1の動作手順例を説明する。図26〜図32は、選択記録モードがJPEGファイルのみを記録する第2記録モードである場合のカメラ1の動作フローチャートである。
図26は、速写及び連写の全体動作における第1階層のフローチャートである。図26に示される各ステップの処理は、例えばメインタスクK1のコンテキストにて実行される。ライブビューを行っているときにS1_ON操作が入力されることで、ステップS11から始まる処理が開始される。ステップS11では、各種メモリマップの初期化、各種データ構造の初期化及び各種フラグの初期化を含む所定の初期化処理が行われる。当該初期化処理において、後述の割り込みフラグに“オフ”が設定されると共に、上述のフラグFG[1]〜FG[7]の夫々に“0”が設定される。続くステップS12において、主処理部12は、フラグFG[1]〜FG[7]を参照しつつ、開始ブロック番号及び開放ブロックの個数を取得する。上述したように、RAWブロック20[1]〜20[7]はリングバッファとして利用されるが、次回に得られるRAWデータを取り込むべきRAWブロックの番号が開始ブロック番号である。初期状態であれば、開始ブロック番号は“1”であり且つ開放ブロックの個数はm=7(図6(a)参照)である。当該個数は、速写又は連写の過程において0から7までの間で変動する。
ステップS12に続くステップS13において、主処理部12はメイン処理を行う。メイン処理は処理PR1〜PR3から成る。図27は、メイン処理のフローチャートである。メイン処理では、まずステップS31において、バッファフルであるか否か、即ちブロック20[1]〜20[7]が全て非開放状態であるか否かを確認する。ブロック20[1]〜20[7]が全て非開放状態である場合にはステップS46への移行が発生する。ブロック20[1]〜20[7]の何れか1つ以上でも開放状態である場合には、ステップS32にて“N=1”であるか否かがチェックされ、“N=1”である場合にはステップS33にてAE/AF処理を行ってからステップS34に移行する一方で、“N=1”が不成立の場合にはステップS32からステップS34に直接移行する。変数Nは、速写若しくは連写又は速写と連写の組み合わせにおいて連続的に取得される対象画像の番号を表している。第i枚目の対象画像の番号は“i”である。Nの初期値は1である。ステップS34において、S1_OFFならばステップS38に進むがS1_ONならステップS35に進む。ステップS35にてS2_ONならステップS36に進むがS2_OFFならステップS34に戻る。
ステップS36では、N枚目の対象画像について、RAW取り込みタスクK2を起動してRAW取り込み処理を行う。その後、“N=1”ならステップS31に戻るが“N=1”が不成立ならステップS40に進む。ステップS38及びS46の夫々では、現在取得されている最新の対象画像が最終画像であると判断及び設定する。最終画像とは、速写若しくは連写又は速写と連写の組み合わせにおいて連続的に取得される複数の対象画像の内の最後の対象画像を指す。ステップS38の後はステップS39に進むが、ステップS46の後はステップS41に進む。ステップS39では、現メイン処理においてRAWデータの取り込みがあったか、即ち、ステップS36の経由の有無を確認する。現メイン処理においてステップS36の処理を行ってからステップS39に至った場合には、ステップS40に進むが、そうでない場合にはメイン処理を終了する。
ステップS40において、変数Nが1だけ減算される。ステップS41では、N枚目の対象画像についてプレビュータスクK3を起動して処理PR3を実行する。その後、最終画像についてのプレビュー画像が既に表示済みである場合にはメイン処理を終了するが(ステップS42のY)、そうでない場合には(ステップS42のN)、最終画像の設定が成されているかがチェックされる(ステップS43)。そして、最終画像の設定が成されている場合には、ステップS44にて変数Nに1を加算してからステップS41に戻り、そうでない場合には、ステップS45にて変数Nに2を加算してからステップS31に戻る。図27の動作により、連写においては、図20に示したような、第(i+1)枚目の対象画像の処理PR2と第i枚目の対象画像の処理PR3の並列実行が実現される。
メイン処理に続く図26のステップS14では、ステップS15のバッファ開放処理中の割り込みにより、ステップS13のメイン処理が実行されたか否かがチェックされる。具体的には、割り込みフラグがチェックされる。割り込みフラグがオフの場合(割り込みが無かった場合)にはステップS14からステップS15に進む。割り込みフラグがオンの場合には、直近のバッファ開放処理が割り込みを受けているため、ステップS14からステップS18に進み、直近のバッファ開放処理の内、割り込みによって未だ実行されていない残りの処理を、被割り込み処理を介して実行する。被割り込み処理の実行後、ステップS19にて割り込みフラグにオフを設定してからステップS15に移行する。
ステップS15のバッファ開放処理では、記録用データ生成処理と記録処理(図10参照)を行う。記録用データ生成処理及び記録処理は、夫々、タスクK4及びK5にて実行される(図23等参照)。タスクK4又はK5の処理の実行中にS1_ON操作の入力が検出されると、タスクK4又はK5はWAIT状態となって、メインタスクK1によるステップS13のメイン処理が割り込み実行される。ステップS15におけるタスクK4又はK5の処理の実行中にS1_ON操作の入力があった場合には(ステップS16のY)、割り込みフラグにオンを設定してから(ステップS17)ステップS12に戻るが、当該入力が無かった場合にはバッファ開放処理の完了後に図26の動作を終了する。バッファ開放処理は、ステップS13のメイン処理で取り込んだ全対象画像のRAWデータについてのJPEGファイルが記録媒体14に記録された時点で完了する。
図28に、バッファ開放処理のフローチャートを示す。バッファ開放処理では、まずステップS51においてバッファの開放状態がチェックされる。ブロック20[1]〜20[7]の全てが開放状態である場合(即ち全ブロックの開放が完了している場合)には、バッファ開放処理を終了するが、そうでない場合にはステップS52に進む。メインタスクK1は、ステップS52においてN枚目の対象画像についての撮影情報をイメージ生成タスクK4に送信し、続くステップS53において、N枚目の対象画像に対するイメージ生成タスクK4を起動する。第11実施例では、選択記録モードがJPEGファイルのみを記録する第2記録モードであることを想定しているため、イメージ生成タスクK4をJPEGイメージ生成タスクとも呼ぶ。ファイル書き込みタスクK5についても同様である。
その後、ステップS54において、メインタスクK1は、JPEGイメージ生成タスクから同期信号が発行されるのを待機する。中断信号を受信することなく同期信号を受信した場合にはステップS56へ進むが(ステップS55のN)、同期信号の受信前に中断信号を受信した場合にはバッファ開放処理を未完了のまま中断して終える(ステップS55のY)。ここにおける同期信号及び中断信号は、夫々、図29のステップS79にて発行されるべき同期信号、及び、図31のステップS102にて発行されるべき中断信号を指す。
ステップS56では、N枚目の対象画像についてJPEGイメージ生成タスクがイメージ生成結果“完了”をメインタスクK1に送る。そうすると、メインタスクK1は、ステップS57においてN枚目の対象画像に対するファイル書き込みタスク(JPEGファイル書き込みタスク)K5を起動する。その後、ステップS58において、メインタスクK1は、JPEGファイル書き込みタスクから同期信号が発行されるのを待機する。中断信号を受信することなく同期信号を受信した場合にはステップS60へ進むが(ステップS59のN)、同期信号の受信前に中断信号を受信した場合にはバッファ開放処理を未完了のまま中断して終える(ステップS59のY)。ここにおける同期信号及び中断信号は、夫々、図30のステップS94にて発行されるべき同期信号、及び、図31のステップS102にて発行されるべき中断信号を指す。ステップS60では変数Nから1を減算し、ステップS51に戻る。
図29は、ステップS71〜S79から成るJPEGイメージ生成タスクK4のフローチャートである。タスクK4は、ステップS71における本画用及びサムネイル用YUV変換(即ち処理PR7及びPR9A)と、ステップS73における本画用圧縮処理(即ち処理PR8)と、ステップS75におけるサムネイル用圧縮処理(即ち処理PR9B)と、ステップS77におけるJPEGイメージ結合処理と、ステップS79におけるJPEGイメージ生成完了の同期信号の発行とを、順次実行する。但し、ステップS71及びS73間、ステップS73及びS75間、ステップS75及びS77間、ステップS77及びS79間に、夫々、ステップS72、S74、S76、S78の割り込み受信処理(図31参照)を行う。JPEGイメージ結合処理では、ステップS73及びS75の処理結果並びに対応する付加情報を結合して1つのJPEGファイルに格納する。
図30は、ステップS91〜S94から成るJPEGファイル書き込みタスクK5のフローチャートである。JPEGファイルの記録媒体14への書き込みはDMA転送を利用して実現される。ステップS91では、JPEGファイルを記録媒体14へ書き込むためのDMA転送が全て完了したたがチェックされ、完了している場合にはステップS94へ進む。完了していない場合にはステップS92に進んで、DMA転送が全て完了するまで、所定のDMA転送間隔にてステップS92のDMA転送処理とステップS93の割り込み受信処理(図31参照)を繰り返し実行する。ステップS94では、タスクK5によりJPEGファイルの書き込み完了を示す同期信号が発行され、図30のタスクK5を終了する。
図31は、ステップS101〜S103から成る割り込み受信処理のフローチャートである。まずステップS101にて、S1_ONになっているかが確認され、S1_ONである場合には、ステップS102にてJPEGイメージ生成タスクK4又はJPEGファイル書き込みタスクK5により中断信号が発行された後、ステップS103にて被割り込み処理からの同期信号(即ち、図32のステップS111にて発行されるべき同期信号)を待機する。
図26のステップS18の被割り込み処理では、図32に示す如く、割り込み受信処理に向けて処理再開用の同期信号が発行される。当該発行はメインタスクK1がJPEGイメージ生成タスクK4又はJPEGファイル書き込みタスクK5に対して行う。従って例えば、i枚目の対象画像についてのステップS74(図29参照)の割り込み受信処理においてS1_ONが検知された場合、ステップS102にて中断信号が発行されてi枚目の対象画像についてのJPEGイメージ生成タスクK4が中断される一方で、図26のステップS16を経由して割り込みフラグがオンに設定された後(ステップS17)、新たな対象画像についてのメイン処理(ステップS13)が割り込み実行される。その後、ステップS14を経由して実行されるステップS18の被割り込み処理の中で同期信号が発行されるため(図32参照)、図31のステップS103を経由して、中断されていたi枚目の対象画像についてのJPEGイメージ生成タスクK4が中断位置(即ち図29のステップS75)から再開される。
図26〜図32から成る動作フローチャートは、速写又は連写に対応していると共に、速写と連写の組み合わせ(例えば、単写又は速写の撮影処理中の連写)にも対応している。連写においてS2_ONが継続されている期間は、図27のステップS35の判定処理が継続的に“肯定(Y)”となる。
<<変形等>>
本発明の実施形態は、特許請求の範囲に示された技術的思想の範囲内において、適宜、種々の変更が可能である。以上の実施形態は、あくまでも、本発明の実施形態の例であって、本発明ないし各構成要件の用語の意義は、以上の実施形態に記載されたものに制限されるものではない。上述の説明文中に示した具体的な数値は、単なる例示であって、当然の如く、それらを様々な数値に変更することができる。
カメラ1又は主処理部12である対象装置を、集積回路等のハードウェア、或いは、ハードウェアとソフトウェアの組み合わせによって構成することができる。対象装置にて実現される機能の全部又は一部である任意の特定の機能をプログラムとして記述して、該プログラムを対象装置に搭載可能なフラッシュメモリに保存しておき、該プログラムをプログラム実行装置(例えば、対象装置に搭載可能なマイクロコンピュータ)上で実行することによって、その特定の機能を実現するようにしてもよい。上記プログラムは任意の記録媒体(不図示)に記憶及び固定されうる。上記プログラムを記憶及び固定する記録媒体(不図示)は対象装置と異なる機器(サーバ機器等)に搭載又は接続されても良い。