(57)【要約】【課題】固定時間処理を実現しつつ複雑な機能な実装すること。【解決手段】電子機器は、表示部と、リアルタイムＯＳである第１ＯＳ、および、表示部を介するユーザインタフェース機能を少なくとも提供する第２ＯＳを格納する格納部と、第１ＯＳを動作させて電子機器を制御する制御部と、を備え、制御部は、表示部を介するユーザインタフェース機能を有効にして電子機器を動作させる場合に、第２ＯＳを起動させて第２ＯＳに表示部を少なくとも制御させる。【選択図】図３
2013030949.tif 000002
【特許請求の範囲】
【請求項１】
電子機器であって、
表示部と、
リアルタイムＯＳである第１ＯＳ、および、前記表示部を介するユーザインタフェース機能を少なくとも提供する第２ＯＳを格納する格納部と、
前記第１ＯＳを動作させて前記電子機器を制御する制御部と、
を備え、
前記制御部は、前記表示部を介するユーザインタフェース機能を有効にして前記電子機器を動作させる場合に、前記第２ＯＳを起動させて前記第２ＯＳに前記表示部を少なくとも制御させる
電子機器。
【請求項２】
ユーザ操作を受け付けるユーザ操作入力部
をさらに備え、
前記制御部は、前記ユーザインタフェースを有効にすべきユーザ操作を前記ユーザ操作入力部が受け付けた場合に、前記第２ＯＳを起動させる
請求項１に記載の電子機器。
【請求項３】
前記第２ＯＳは、ユーザインタフェース用のオブジェクトを前記表示部に表示させる機能を含み、
前記制御部は、前記第２ＯＳを動作させて、前記ユーザインタフェース用のオブジェクトを前記表示部に表示させる
請求項１または２に記載の電子機器。
【請求項４】
前記第２ＯＳは、前記電子機器に対する指示を前記表示部の表示画面に対するユーザからのタッチ操作で受け付ける機能を含み、
前記制御部は、前記第２ＯＳを動作させて前記電子機器に対する指示内容を特定し、特定した前記指示内容に基づいて前記電子機器を制御する
請求項１から３のいずれか一項に記載の電子機器。
【請求項５】
撮像部
をさらに備え、
前記第２ＯＳは、前記撮像部に対する指示を前記タッチ操作で受け付ける機能を含み、
前記制御部は、前記第２ＯＳを動作させて前記撮像部に対する指示内容を特定し、特定した指示内容に基づいて前記撮像部を制御する
請求項４に記載の電子機器。
【請求項６】
前記第１ＯＳは、前記撮像部に対する撮像指示を操作部材で受け付ける機能を含み、
前記第２ＯＳは、前記撮像指示を前記タッチ操作で受け付ける機能を含み、
前記制御部は、前記ユーザインタフェースが有効でない場合に、前記第１ＯＳからの制御により、前記操作部材で受け付けた撮像指示に応じて前記撮像部に撮像させ、前記ユーザインタフェースが有効である場合に、前記第２ＯＳからの制御により、前記タッチ操作または前記操作部材で受け付けた前記撮像指示に応じて前記撮像部を制御する
請求項５に記載の電子機器。
【請求項７】
前記第１ＯＳは、前記撮像部が有する撮像素子の駆動を制御する機能を含み、
前記制御部は、前記第２ＯＳを動作させて前記撮像部に対する指示内容を特定し、特定した前記指示内容に基づいて前記第１ＯＳにより前記撮像素子の駆動を制御する
請求項５または６に記載の電子機器。
【請求項８】
前記第１ＯＳは、前記撮像部により撮像された画像を前記表示部に表示する機能を含み、
前記第２ＯＳは、前記撮像部により撮像された画像に重畳してユーザインタフェース用のオブジェクトを前記表示部に表示させる機能を含む
請求項５から７のいずれか一項に記載の電子機器。
【請求項９】
外部機器との間で通信を行う通信部
をさらに備え、
前記第２ＯＳは、前記外部機器との間で通信される通信データを処理する機能を含み、
前記制御部は、前記通信部によるデータ通信を有効にして前記電子機器を動作させる場合に、前記第２ＯＳを動作させて少なくとも前記通信データを処理する
請求項１から８のいずれか一項に記載の電子機器。
【請求項１０】
前記制御部は、前記第１ＯＳおよび前記第２ＯＳが動作している場合に、前記ユーザインタフェースを無効にすべきユーザ操作を受け付けたことを条件として、前記第２ＯＳによる制御を停止する
請求項１から９のいずれか一項に記載の電子機器。
【請求項１１】
前記制御部は、前記第１ＯＳおよび前記第２ＯＳが動作している場合に、前記電子機器が有する撮像部に連写撮影させる旨の指示を受け付けたことを条件として、前記第２ＯＳによる制御を停止する
請求項１から１０のいずれか一項に記載の電子機器。
【請求項１２】
前記制御部は、前記第１ＯＳおよび前記第２ＯＳが動作している場合に、予め定められた値より高い速度で前記撮像部に連続撮影させる旨の指示を受け付けたことを条件として、前記第２ＯＳによる制御を停止して前記第１ＯＳに連続撮影を制御させる
請求項１１に記載の電子機器。
【請求項１３】
前記表示部は、位置または向きが可変な表示面を有し、
前記制御部は、前記表示面が開状態にされた場合に前記第２ＯＳを動作させ、前記第１ＯＳおよび前記第２ＯＳが動作している場合に前記表示面が閉状態にされたことを条件として前記第２ＯＳによる制御を停止させる
請求項１から１２のいずれか一項に記載の電子機器。
【請求項１４】
画像データの一時記憶領域として少なくとも一部のメモリ領域が使用されるメモリ部
をさらに備え、
前記制御部は、前記第１ＯＳおよび前記第２ＯＳを、前記メモリ部の一部のメモリ領域を使用して動作させ、前記一時記憶領域が不足する場合に、前記第２ＯＳの動作を停止して、前記第２ＯＳが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を前記一時記憶領域に割り当てる
請求項１から１３のいずれか一項に記載の電子機器。
【請求項１５】
前記メモリ部は、前記電子機器が有する撮像部が連続撮影することにより得られた複数の画像の画像データを、前記一時記憶領域に記憶する
請求項１４に記載の電子機器。
【請求項１６】
前記制御部は、前記連続撮影により単位時間あたりに撮影される画像数に基づいて、前記一時記憶領域が不足するか否かを判断する
請求項１５に記載の電子機器。
【請求項１７】
前記制御部は、前記第２ＯＳのメモリイメージを不揮発性メモリにハイバネートするのに要する時間と、前記連続撮影により単位時間あたりに撮影される画像数に基づいて、前記第２ＯＳのメモリイメージのハイバネートを開始するタイミングを決定し、決定したタイミングで前記第２ＯＳの動作を停止させて前記ハイバネートを開始させる
請求項１５または１６に記載の電子機器。
【請求項１８】
撮像装置であって、
画像データの一時記憶領域として少なくとも一部のメモリ領域が割り当てられるメモリ部と、
リアルタイムＯＳである第１ＯＳ、および、非リアルタイムＯＳである第２ＯＳを動作させて前記撮像装置を制御する制御部と、
を備え、
前記制御部は、前記メモリ部の一部のメモリ領域を使用して前記第２ＯＳを動作させている場合に、前記一時記憶領域が不足することを条件として、前記第２ＯＳの動作を停止させ、前記第２ＯＳが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を前記一時記憶領域に割り当てる
撮像装置。
【請求項１９】
前記メモリ部は、連続撮影により得られた複数の画像の画像データを、前記一時記憶領域に記憶する
請求項１８に記載の撮像装置。
【請求項２０】
前記制御部は、前記連続撮影により単位時間あたりに撮影される画像数に基づいて、前記一時記憶領域が不足するか否かを判断する
請求項１９に記載の撮像装置。
【請求項２１】
前記制御部は、前記第２ＯＳのメモリイメージを不揮発性メモリにハイバネートするのに要する時間と、前記連続撮影により単位時間あたりに撮影される画像数に基づいて、前記第２ＯＳのメモリイメージのハイバネートを開始するタイミングを決定し、決定したタイミングで前記第２ＯＳの動作を停止させて前記ハイバネートを開始させる
請求項１９または２０に記載の撮像装置。
【請求項２２】
前記制御部は、前記第２ＯＳの動作を停止させた後、前記一時記憶領域の不足が解消された場合に、前記第２ＯＳの動作を再開させる
請求項１８から２１のいずれか一項に記載の撮像装置。
【請求項２３】
前記一時記憶領域に記憶された画像データに対して画像処理を施す画像処理部
をさらに備える請求項１８から２２のいずれか一項に記載の撮像装置。
【請求項２４】
表示部を有する電子機器を制御するプログラムであって、
リアルタイムＯＳである第１ＯＳを動作させて前記電子機器を制御するステップと、
前記表示部を介するユーザインタフェース機能を有効にして前記電子機器を動作させる場合に、前記表示部を介するユーザインタフェース機能を少なくとも提供する第２ＯＳを起動させて前記第２ＯＳに前記表示部を少なくとも制御させるステップと、
をコンピュータに実行させるプログラム。
【請求項２５】
画像データの一時記憶領域として少なくとも一部のメモリ領域が割り当てられるメモリ部を有する撮像装置を制御するプログラムであって、
リアルタイムＯＳである第１ＯＳ、および、非リアルタイムＯＳである第２ＯＳを動作させて前記撮像装置を制御するステップと、
前記メモリ部の一部のメモリ領域を使用して前記第２ＯＳを動作させている場合に、前記一時記憶領域が不足することを条件として、前記第２ＯＳの動作を停止させ、前記第２ＯＳが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を前記一時記憶領域に割り当てるステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、撮像装置およびプログラムに関する。
【背景技術】
【０００２】
動画記録中、又は音声記録中にのみタッチパネルによる特定の操作指示を受け付ける撮像装置が知られている（例えば、特許文献１参照）。
［先行技術文献］
［特許文献］
［特許文献１］特開２００７−２１４７７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
タッチパネル機能のような複雑なユーザインタフェース機能をリアルタイムオペレーティングシステム上で実装するには膨大な開発工数を要する。一方、汎用のオペレーティングシステム上で固定時間処理を実現することは期待できない。また、汎用オペレーティングシステムの起動には長い時間を要する。このように、複雑なユーザインタフェース機能を実装しつつ応答性能を高めることができないという課題があった。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、電子機器は、表示部と、リアルタイムＯＳである第１ＯＳ、および、表示部を介するユーザインタフェース機能を少なくとも提供する第２ＯＳを格納する格納部と、第１ＯＳを動作させて電子機器を制御する制御部と、を備え、制御部は、表示部を介するユーザインタフェース機能を有効にして電子機器を動作させる場合に、第２ＯＳを起動させて第２ＯＳに表示部を少なくとも制御させる。
【０００５】
本発明の第２の態様においては、撮像装置は、画像データの一時記憶領域として少なくとも一部のメモリ領域が割り当てられるメモリ部と、リアルタイムＯＳである第１ＯＳ、および、非リアルタイムＯＳである第２ＯＳを動作させて撮像装置を制御する制御部と、を備え、制御部は、メモリ部の一部のメモリ領域を使用して第２ＯＳを動作させている場合に、一時記憶領域が不足することを条件として、第２ＯＳの動作を停止させ、第２ＯＳが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を一時記憶領域に割り当てる。
【０００６】
本発明の第３の態様によると、表示部を有する電子機器を制御するプログラムであって、リアルタイムＯＳである第１ＯＳを動作させて電子機器を制御するステップと、表示部を介するユーザインタフェース機能を有効にして電子機器を動作させる場合に、表示部を介するユーザインタフェース機能を少なくとも提供する第２ＯＳを起動させて第２ＯＳに表示部を少なくとも制御させるステップと、をコンピュータに実行させる。
【０００７】
本発明の第４の態様によると、画像データの一時記憶領域として少なくとも一部のメモリ領域が割り当てられるメモリ部を有する撮像装置を制御するプログラムであって、リアルタイムＯＳである第１ＯＳ、および、非リアルタイムＯＳである第２ＯＳを動作させて撮像装置を制御するステップと、メモリ部の一部のメモリ領域を使用して第２ＯＳを動作させている場合に、一時記憶領域が不足することを条件として、第２ＯＳの動作を停止させ、第２ＯＳが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を一時記憶領域に割り当てるステップと、をコンピュータに実行させる。
【０００８】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る撮像装置１０の要部断面図である。
【図２】撮像装置１０のシステム構成を概略的に示すブロック図である。
【図３】撮像装置１０のソフトウェア構成の一例を示す。
【図４】表示部５３によるＧＵＩの一例を模式的に示す。
【図５】撮像装置１０のシステム全体を制御するＯＳの切り替えを示す。
【図６】画像処理バッファとして使用されるメモリ領域の遷移例を模式的に示す。
【図７】撮像装置１０の起動から終了までの処理フローを示す。
【図８】マルチメディアＯＳの動作を制御する動作フローの一例を示す。
【図９】静止画撮影における動作フローの一例を示す。
【図１０】撮影処理における他の動作フローの一例を示す。
【図１１】マルチメディアＯＳの動作を制御する動作フローの一例を示す。
【発明を実施するための形態】
【００１０】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１１】
図１は、一実施形態に係る撮像装置１０の要部断面図である。撮像装置１０は、レンズユニット２０がカメラユニット３０に装着されて、撮像装置として機能する。カメラユニット３０には、焦点距離、開放Ｆ値等の異なる複数のレンズユニット２０が、交換レンズとして交換可能に装着される。
【００１２】
レンズユニット２０は、光軸１１に沿って配列され鏡筒２６に支持されたレンズ群２１と、絞り装置２８とを備える。撮像レンズの一例としてのレンズ群２１は、入射される被写体光束をカメラユニット３０へ導く。図においては、レンズ群を構成するレンズとして前玉２２および後玉２３の他に、フォーカスレンズ２４、ズームレンズ２５等が含まれる。フォーカスレンズ２４、ズームレンズ２５は、それぞれ焦点調整、画角調整の指示に応じて光軸方向に移動できるように構成されている。
【００１３】
鏡筒２６は、レンズ回路基板２７を支持しており、レンズ回路基板２７は、レンズユニット２０を制御する各種回路の電子素子等を搭載している。レンズユニット２０は、カメラユニット３０との接続部にレンズマウント２９を備え、カメラユニット３０が備えるカメラマウント３１と係合して、カメラユニット３０と一体化する。レンズマウント２９とカメラマウント３１はそれぞれ通信端子を備えており、マウント同士が係合したときに互いの通信端子が接続される。これにより、レンズ回路基板２７に搭載された各種回路、電子素子等は、カメラユニット３０側と電気的に接続される。カメラユニット３０は、カメラユニット３０およびレンズユニット２０の通信端子を介して、レンズユニット２０の固有情報のデータを、レンズユニット２０から取得する。
【００１４】
カメラユニット３０は、レンズユニット２０から入射される被写体光束を反射するメインミラー３２と、メインミラー３２で反射された被写体光束が結像するピント板３３を備える。メインミラー３２は、ミラーボックス３５の内部でメインミラー回転軸３４周りに揺動して、光軸１１を中心とする被写体光束中に斜設される反射状態と、被写体光束から退避する退避状態を取り得る。サブミラー４０は、メインミラー３２が被写体光束から退避する場合は、メインミラー３２に連動して被写体光束から退避する。メインミラー回転軸３４は、ミラーボックス３５の側壁に支持される。
【００１５】
キー入力部の一部としてのライブビューボタンが押し下げられた場合、または、キー入力部の一部としてのレリーズボタンが最下部まで押し下げられた場合、図の破線で示した退避状態を取る。例えば、メインミラー３２は、被写体光束中に斜設された状態で、ライブビューボタンが押し下げられた場合またはレリーズボタンが最下部まで押し下げられた場合、破線で示した退避位置に移動する。ライブビューボタンが押し下げられた場合、メインミラー３２は、再度ライブビューボタンが押し下げられるまで退避位置に留まる。一方、レリーズボタンが押し下げられた場合は、所定の撮像動作を終えると、メインミラー３２はダウンされ元の斜設状態の位置に戻される。
【００１６】
シャッタの一例としてのフォーカルプレーンシャッタ４３および撮像素子３６は、光軸１１に沿って配列されている。したがって被写体光束は、レンズ群２１を透過してカメラユニットへ入射し、メインミラー３２およびサブミラー４０が退避状態となったミラーボックス３５の内部と開放状態のフォーカルプレーンシャッタ４３を通過して、撮像素子３６の受光面で結像する。すなわち、この被写体光束の光路が撮影光路となる。フォーカルプレーンシャッタ４３および撮像素子３６は、撮像部の一部を構成する。
【００１７】
撮像素子３６は、受光面で結像した被写体像を電気信号として出力する複数の光電変換素子を有する。撮像素子３６としては、ＣＭＯＳセンサ、ＣＣＤセンサ等を例示することができる。撮像素子３６は、メイン基板５０と電気的に接続されている。メイン基板５０には、撮像装置１０全体を制御するＳｏＣ５１、電源等を制御するＭＰＵ５２等の電気素子が搭載されている。ＭＰＵ５２は、レリーズボタン、ライブビューボタン等を含むユーザ操作入力部で生成されるユーザ操作を示す信号を処理してよい。ＭＰＵ５２は、ＳｏＣ５１よりも単位時間当たりの電力消費量が小さいプロセッサであることが望ましい。
【００１８】
ＳｏＣ５１は、被写体像の電気信号から画像データを生成する。また、ＳｏＣ５１は、画像データから、１以上の画像領域、例えば予め定められた複数の焦点調整領域毎にコントラスト量を算出する。フォーカスレンズ２４の位置は、ＳｏＣ５１等の制御によって、コントラスト量に基づき決定された目標位置に向けて制御される。また、ＳｏＣ５１は、位相差検出信号を相関演算することでレンズ群２１の焦点状態を検出する。ＳｏＣ５１は、焦点状態に基づきフォーカスレンズ２４の目標位置を決定し、決定した目標位置に向けてフォーカスレンズ２４を制御する。
【００１９】
カメラユニット３０の背面には、電子ビューファインダーとして機能する表示部５３が配設されている。表示部５３は、カラー表示可能な液晶モニタ等であってよい。表示部５３は、ＳｏＣ５１が被写体像の電気信号から生成した表示用画像データを用いて、被写体像を表示する。表示部５３は、撮像後の静止画像に限らず、各種メニュー情報、撮像情報、告知情報等を表示する。ライブビューボタンが押し下げられることによるライブビュー撮影を行っている場合、ＳｏＣ５１は、上述の焦点調節をしながら、撮像素子３６から順次に出力される被写体像の電気信号から表示用画像データを順次に生成する。表示部５３は、生成された表示用画像データを用いて、被写体像を順次に表示する。
【００２０】
撮像装置１０は、光学ファインダを有する。具体的には、ピント板３３は、撮像素子３６の受光面と共役の位置に配置されている。ピント板３３で結像した被写体像は、ペンタプリズム３７で正立像に変換され、接眼光学系３８を介してユーザに観察される。また、ペンタプリズム３７の射出面上方にはＡＥセンサ３９が配置されており、被写体像の輝度分布を検出する。ＳｏＣ５１は、ＡＥセンサ３９で検出された輝度分布に基づいて、適正露出値を算出する。
【００２１】
斜設状態におけるメインミラー３２の光軸１１の近傍領域は、ハーフミラーとして形成されており、入射される被写体光束の一部が透過する。透過した被写体光束は、メインミラー３２と連動して揺動するサブミラー４０で反射されて、合焦光学系４１へ導かれる。合焦光学系４１を通過した被写体光束は、合焦センサ４２へ入射される。合焦センサ４２は、受光した被写体光束から位相差信号を出力する複数の光電変換素子列を有する。合焦センサ４２は、被写体像の特定の領域に対応して設けられる複数の焦点調整領域のそれぞれにおいて、合焦状態、前ピン状態、後ピン状態を検出でき、前ピン状態、後ピン状態の場合には、合焦状態からのずれ量も検出することができるように構成されている。すなわち、メインミラー３２がダウンし斜設状態にある場合、合焦センサ４２からの出力を用いて、位相差検出方式で焦点状態を検出して焦点調節することができる。
【００２２】
また、カメラユニット３０には電源部５４が設けられる。電源部５４は、カメラユニット３０に限らず、レンズユニット２０にも電力を供給する。電源部５４は、着脱可能な二次電池を含むことができる。電源部５４は、商用電源等の外部電源から電力を受け取って電力を供給してよい。
【００２３】
図２は、撮像装置１０のシステム構成を概略的に示すブロック図である。撮像装置１０のシステムは、レンズユニット２０とカメラユニット３０のそれぞれに対応して、駆動ドライバ７３を含むレンズ制御系と、ＳｏＣ５１を中心とするカメラ制御系により構成される。そして、レンズ制御系とカメラ制御系は、レンズマウント２９とカメラマウント３１によって接続される通信端子を介して、相互に各種データ、制御信号の授受を行う。
【００２４】
ＳｏＣ５１は、複数のプロセッサコアを有するマルチコアプロセッサである。本実施形態の説明において、プロセッサコアを単にコアと略称する。本実施形態において、ＳｏＣ５１は、第１コア２２１および第２コア２２２を有する。ＳｏＣ５１は、同種のプロセッサコアを持つホモジニアスマルチコアであってよい。ＳｏＣ５１は、異種のプロセッサコアを持つヘテロジニアスマルチコアであってもよい。
【００２５】
ＳｏＣ５１は、リアルタイムオペレーティングシステム（ＲＴＯＳ）と、非リアルタイムオペレーティングシステムであるマルチメデイアオペレーティングシステム（マルチメディアＯＳ）とを動作させる。ＲＴＯＳは第１ＯＳの一例であり、マルチメディアＯＳは第２ＯＳの一例である。なお、カーネル、ライブラリ、撮像装置１０の制御用のプログラム等を含むソフトウェアコンポーネントを、オペレーティングシステム（ＯＳ）と総称する。本実施形態では、第１コア２２１がＲＴＯＳを動作させ、第２コア２２２がマルチメディアＯＳを動作させる。ＳｏＣ５１は、リアルタイムＯＳを動作させて撮像装置１０を制御する制御部の一例である。
【００２６】
ＲＴＯＳは、要求された処理を予め定められた時間内に終えることを保証する。ＲＴＯＳは、ハードウェア割込みが生じてから、対応する処理ルーチンが呼び出されるまでの最悪値が保証されているオペレーティングシステムである。一方、汎用オペレーティングシステムの一例であるマルチメディアＯＳは、要求された処理を予め定められた時間内に終えることを必ずしも保証していない。マルチメディアＯＳは、ハードウェア割込みが生じてから、対応する処理ルーチンが呼び出されるまでの最悪値が必ずしも保証されていない。しかし、マルチメディアＯＳは、例えばＴＣＰ／ＩＰスタック等の通信用のライブラリ、グラフィカル・ユーザ・インタフェース（ＧＵＩ）等のユーザインタフェース用のライブラリ等を備える。リアルタイムＯＳと比較すると、マルチメディアＯＳの方が、通信用やユーザインタフェース用のソフトウェアコンポーネントを実装し実行するための環境が整備されている。このため、対話型のユーザインタフェースをマルチメディアＯＳに容易に実装することができる。
【００２７】
ＲＴＯＳは、主として撮像装置１０における固定時間処理を担う。例えば、第１コア２２１は、レンズユニット２０、フォーカルプレーンシャッタ４３、撮像素子３６、アナログ処理部７０、ＡＤ変換部７１、デジタル処理部７２、ＡＥセンサ３９、合焦センサ４２、メインミラー３２、駆動ドライバ７３等の制御等、比較的にリアルタイム性が要求される処理を制御する。また、第１コア２２１は、画像データに対する画像処理を制御する。また、第１コア２２１は、表示部５３による簡易的な表示を制御する。第１コア２２１は、記録媒体ＩＦ５６を通じてメモリカード１００への記録を制御する。
【００２８】
マルチメディアＯＳは、撮像装置１０における通信機能、ユーザインタフェース機能を主として担う。マルチメディアＯＳは、Ｌｉｎｕｘ（登録商標）等のＵｎｉｘ（登録商標）系のオペレーティングシステム、Ｗｉｎｄｏｗｓ（登録商標）等を例示することができる。第２コア２２２は、外部接続ＩＦ５５を通じて外部機器１１０との間の通信を制御する。また、第２コア２２２は、表示部５３を通じたリッチなユーザインタフェース（ＵＩ）を制御する。また、第２コア２２２は、記録媒体ＩＦ５６を通じてメモリカード１００への記録を制御する。
【００２９】
システムメモリ５７は、例えばフラッシュメモリ等の不揮発性メモリである。システムメモリ５７は、ＲＴＯＳ、マルチメディアＯＳ、および、ＲＴＯＳおよびマルチメディアＯＳで共有されるソフトウェアコンポーネントを格納する。システムメモリ５７は、リアルタイムＯＳ、および、表示部を介するユーザインタフェース機能を少なくとも提供するマルチメディアＯＳを格納する格納部の一例である。
【００３０】
システムメモリ５７はまた、撮像装置１０を制御するための各種パラメータなどを記憶する役割を担う。第１コア２２１は、システムメモリ５７からＲＴＯＳのカーネル部分およびソフトウェアコンポーネントをＳＤＲＡＭ５８にロードして、ＳＤＲＡＭ５８から命令を読み出して実行する。また、第２コア２２２は、システムメモリ５７からＳＤＲＡＭ５８にマルチメディアＯＳのカーネル部分およびソフトウェアコンポーネントをロードして、ＳＤＲＡＭ５８から命令を読み出して実行する。なお、システムメモリ５７には各ＯＳの実行時のメモリイメージが格納されており、各コアはメモリイメージをＳＤＲＡＭ５８に展開して各オペレーティングシステムの動作を開始してよい。
【００３１】
ＳＤＲＡＭ５８は、ＲＴＯＳおよびマルチメディアＯＳが共有するメモリ領域である共有メモリ領域を持つ。本実施形態においては、共有メモリ領域は、第１コア２２１と第２コア２２２とにより共有される。ＲＴＯＳおよびマルチメディアＯＳは、ＯＳ間通信機能を有する。ＯＳ間通信は、例えば共有メモリ領域、コア間割り込みにより実装される。ＳＤＲＡＭ５８は、撮像装置１０の動作に必要なデータを一時的に記憶するワークメモリとして機能する。例えば、ＳＤＲＡＭ５８は、撮像により生成された画像データを一時的に記憶する役割を担う。ＳＤＲＡＭ５８は、第１コア２２１、第２コア２２２の少なくとも一方により処理される画像データを一時的に記憶する。
【００３２】
ユーザ操作を受け付けるユーザ操作入力部の一例としての操作入力部６１およびタッチ入力部６２は、ユーザ操作に対応する信号をＭＰＵ５２へ出力する。操作入力部６１は、操作入力部６１は、ボタン、スイッチ、ダイヤル、種々のキーとして実装された機械式の入力部材を含む。例えば、操作入力部６１は、ユーザ操作による入力部材の変位または位置等の状態を検出して、当該状態を示す信号を出力する。具体的には、操作入力部６１は、電気接点がＯＮ状態であるかＯＦＦ状態であるかを示す信号、可変抵抗器の抵抗値を示す信号等を出力する。操作入力部６１としては、電源ボタン、レリーズボタン、ライブビューボタン、動画撮影ボタン、再生ボタン、撮影モードダイヤル等を例示することができる。第１コア２２１は、ＭＰＵ５２を介して、操作入力部６１へのユーザ操作を取得する。第１コア２２１は、取得した信号に対応するユーザ操作に基づき、撮像装置１０の各部を制御する。なお、制御内容、撮像装置１０の動作モード等によっては、第１コア２２１は、ユーザ操作に基づく制御を第２コア２２２に実行させてよい。
【００３３】
タッチ入力部６２は、ユーザの指、ペン等によるタッチ操作を受け付けて、タッチ操作を示す信号を、ＳｏＣ５１に出力する。タッチ操作とは、操作面上を移動する操作を含む。タッチ入力部６２は、タッチパネルの一部として機能する。具体的には、タッチ入力部６２は、表示部５３の表示面に平行に実装された検出部材を含む。検出部材としては、抵抗膜方式、静電容量方式、光センサ方式など、種々の方式の検出部材を例示することができる。タッチ入力部６２は、ユーザ、ペン等によるタッチ位置を示す信号を、ＳｏＣ５１に出力する。タッチ位置の信号は、表示部５３の表示面内における２次元の位置情報を示す。
【００３４】
第２コア２２２は、タッチ入力部６２から出力された信号を取得して、取得した信号に基づきユーザ操作を識別して、撮像装置１０の各部を制御する。具体的には、第２コア２２２は、表示部５３への表示内容と、タッチ入力部６２から出力された信号とに基づき、撮像装置１０の各部を制御する。例えば、第２コア２２２は、タッチ位置に表示した表示内容に対応する制御を行う。したがって、マルチメディアＯＳの制御によれば、操作入力部６１を通じたユーザ操作によるユーザインタフェースと比較して、リッチなユーザインタフェースを提供することができる。
【００３５】
撮像装置１０における撮像動作は、第１コア２２１によって制御される。第１コア２２１は、撮像素子３６、アナログ処理部７０、ＡＤ変換部７１、デジタル処理部７２の動作を制御する。具体的には、第１コア２２１は、レリーズボタンの押し下げを検出すると、メインミラー３２を斜設状態として、フォーカルプレーンシャッタ４３を制御して撮像素子３６で露光させる。また、第１コア２２１は、撮像素子３６が有する光電変換素子の読み出しを制御する。撮像素子３６が出力したアナログの撮像信号は、アナログ処理部７０で前処理されて、ＡＤ変換部７１でデジタルの撮像信号に変換される。アナログ処理部７０は、アナログフロントエンドとして機能するアナログ処理回路で実装される。
【００３６】
ＡＤ変換部７１から出力されたデジタルの撮像信号は、デジタル処理部７２で処理される。デジタル処理部７２は、デジタルフロントエンドとして機能するデジタル処理回路を有する。例えば、デジタル処理部７２は、画像評価値を算出する機能を有する。第１コア２２１は、画像データの取り込みおよび画像評価値の取り込みをデジタル処理部７２に依頼して、デジタル処理部７２から画像データおよび画像評価値を取り込む。このように、第１コア２２１は、フォーカルプレーンシャッタ４３および撮像素子３６の駆動を制御する。そして、第１コア２２１は、被写体を撮像させ、被写体像を画像データとして取り込む処理を行う。
【００３７】
また、第１コア２２１は、合焦センサ４２からの位相差検出信号に基づいて焦点状態を検出する。すなわち、第１コア２２１は、位相差検出方式による焦点調節を行う。また、第１コア２２１は、合焦制御用に取り込まれた画像データを処理して、コントラスト量を示すコントラスト評価値を生成する。第１コア２２１は、コントラスト検出方式による焦点調節を行う。第１コア２２１は、コントラスト評価値および位相差データの少なくとも一方に基づき焦点調節用の制御信号を生成して、駆動ドライバ７３に供給する。駆動ドライバ７３は、第１コア２２１からの制御信号を受けて各種動作を制御する。例えば、駆動ドライバ７３は、制御信号に従って、フォーカスレンズ２４、ズームレンズ２５、絞り装置２８等を駆動する。
【００３８】
第１コア２２１は、デジタル処理部７２で処理された画像データに対して、画像処理を施す。画像処理としては、例えば、ホワイトバランス補正、ガンマ補正、色補間処理、輪郭強調処理、ＹＣ変換等の色変換処理、間引き処理、符号化処理等を例示することができる。また、画像処理として、多重露光処理、ダイナミックレンジを拡大する処理、赤目補正処理、ぼかし処理、美肌処理、デコレーション処理等、種々の加工処理を含む。また、第１コア２２１は、画像データを記録用の画像フォーマットの画像データに変換する符号化処理を行う。これらの画像処理により、メモリカード１００等への記録用の画像データ、表示部５３への表示用の画像データが生成される。
【００３９】
記録用の画像データは、記録媒体ＩＦ５６を介してメモリカード１００に書き込まれる。メモリカード１００への書き込みは、第１コア２２１および第２コア２２２のいずれによっても制御される。
【００４０】
外部接続ＩＦ５５は、外部機器１１０との間でデータ通信を担う。具体的には、第２コア２２２は、外部接続ＩＦ５５を介するデータ通信を制御する。外部機器１１０としては、パーソナルコンピュータ、モニタ、テレビジョン装置、プリンタ等を例示することができる。外部接続ＩＦ５５としては、ネットワーク通信ＩＦ、ＵＳＢ−ＩＦ、ＨＤＭＩ−ＩＦ等を例示することができる。
【００４１】
ＭＰＵ５２は、電源部５４から、カメラユニット３０、レンズユニット２０の各部への電力供給を制御する。ＭＰＵ５２は、電源部５４から電力を供給することができる電力量を示す信号をＳｏＣ５１に出力する。例えば、ＭＰＵ５２は、電池残量を示す信号をＳｏＣ５１に出力する。ＳｏＣ５１は、ＭＰＵ５２から出力された信号を取得して、信号に基づいてＯＳの実行を制御する。例えば、第１コア２２１は、電池残量が予め定められた値以下である場合に、第２コア２２２上でマルチメディアＯＳを動作させない。例えば、電池残量が予め定められた値以下である場合に、マルチメディアＯＳの動作を停止または終了させる。
【００４２】
図３は、撮像装置１０のソフトウェア構成の一例を示す。撮像装置１０用のソフトウェア３００は、ＲＴＯＳ３１０、マルチメディアＯＳ３２０、共有ソフトウェアコンポーネント３３０を含む。
【００４３】
ＲＴＯＳ３１０は、閃光制御用コンポーネント３１１、メカ制御用コンポーネント３１２、撮像制御用コンポーネント３１３、画像処理用アプリーケーションコンポーネント３１４、画像処理コンポーネント３１５、ＧＵＩ用アプリケーションコンポーネント３１６、ファイルシステム用コンポーネント３１７、ＯＳ間通信用コンポーネント３１８を有する。画像処理コンポーネント３１５は、複数の画像処理コンポーネント３１５ａ〜ｅを含む。
【００４４】
閃光制御用コンポーネント３１１は、閃光の発光制御を担うソフトウェアコンポーネントである。閃光制御用コンポーネント３１１は、撮像装置１０に内蔵された閃光装置を駆動するためのプログラムを含む。メカ制御用コンポーネント３１２は、撮像装置１０が有するメカ機構の制御を担うソフトウェアコンポーネントである。メカ制御用コンポーネント３１２は、メインミラー３２、フォーカルプレーンシャッタ４３等のメカ機構を駆動するためのプログラムを含む。撮像制御用コンポーネント３１３は、撮像制御を担うソフトウェアコンポーネントである。撮像制御用コンポーネント３１３は、操作入力部６１に対する撮像指示を受け付け、撮像素子３６における電荷蓄積、蓄積電荷の転送等を制御するためのプログラム、駆動ドライバ７３、撮像素子３６、アナログ処理部７０、ＡＤ変換部７１およびデジタル処理部７２等の動作タイミングを制御するためのプログラム等を含む。
【００４５】
画像処理コンポーネント３１５は、上述した画像データに対する画像処理を制御するソフトウェアコンポーネントである。画像処理コンポーネント３１５により制御される画像処理としては、上述したホワイトバランス補正、ガンマ補正、色補間処理、輪郭強調処理、色変換処理、間引き処理、符号化処理他、メモリカード１００等に記録された符号化された画像データを復号する復号処理等を例示することができる。画像処理コンポーネント３１５ａ〜ｅは、互いに異なる画像処理を担う。例えば、画像処理コンポーネント３１５ａ〜ｅは、上述した処理毎に用意されてよい。
【００４６】
画像処理用アプリーケーションコンポーネント３１４は、アプリケーションソフトウェアとしてＲＴＯＳに組み込まれる。画像処理用アプリーケーションコンポーネント３１４は、画像を修整するためのプログラム、ライブラリ等を含む。画像の修整処理としては、上述した多重露光処理、ダイナミックレンジを拡大する処理、赤目補正処理、ぼかし処理、美肌処理、デコレーション処理等、種々の加工処理を含む。
【００４７】
ＧＵＩ用アプリケーションコンポーネント３１６は、アプリケーションソフトウェアとしてＲＴＯＳに組み込まれる。ＧＵＩ用アプリケーションコンポーネント３１６は、表示部５３を介した比較的に簡易なＧＵＩを提供するソフトウェアコンポーネントである。ＧＵＩ用アプリケーションコンポーネント３１６は、撮像装置１０の動作を設定する設定メニューを表示部５３に表示させるプログラム、表示用の画像データとともに種々の情報を表示部５３に表示させるプログラム、ＧＵＩ用の共通ライブラリ等を含む。
【００４８】
ファイルシステム用コンポーネント３１７は、データをファイルとして入出力する機能を提供するソフトウェアコンポーネントである。ファイルシステム用コンポーネント３１７は、メモリカード１００に画像データ等をファイルとして書き込む処理を実行するためのプログラム等を含む。
【００４９】
ＯＳ間通信用コンポーネント３１８は、マルチメディアＯＳとの間のＯＳ間通信を担うソフトウェアコンポーネントである。ＯＳ間通信用コンポーネント３１８は、マルチメディアＯＳに情報を送信するプログラム、マルチメディアＯＳから情報を受信するプログｂラムを含む。
【００５０】
マルチメディアＯＳ３２０は、画像処理用アプリーケーションコンポーネント３２４、ＧＵＩ用アプリケーションコンポーネント３２６、ファイルシステム用コンポーネント３２７、ＯＳ間通信用コンポーネント３２８、外部ＩＦ通信用コンポーネント３２９を有する。
【００５１】
画像処理用アプリーケーションコンポーネント３２４は、アプリケーションソフトウェアとしてマルチメディアＯＳに組み込まれる。画像処理用アプリーケーションコンポーネント３２４は、画像を修整するためのプログラム、ライブラリ等を含む。画像の修整処理としては、上述した多重露光処理、ダイナミックレンジを拡大する処理、赤目補正処理、ぼかし処理、美肌処理、デコレーション処理等、種々の加工処理を含む。
【００５２】
ＧＵＩ用アプリケーションコンポーネント３２６は、アプリケーションソフトウェアとしてＲＴＯＳに組み込まれる。ＧＵＩ用アプリケーションコンポーネント３２６は、表示部５３を介した比較的に複雑なＧＵＩを提供するソフトウェアコンポーネントである。ＧＵＩ用アプリケーションコンポーネント３２６は、撮像装置１０の動作を設定する設定メニューを表示部５３に表示させるプログラム、表示用の画像データとともに種々の情報を表示部５３に表示させるプログラム、タッチ入力部６２に対するユーザ操作を認識するプログラム、ＧＵＩ用の共通ライブラリ等を含む。
【００５３】
ファイルシステム用コンポーネント３２７は、データをファイルとして入出力する機能を提供するソフトウェアコンポーネントである。ファイルシステム用コンポーネント３２７は、メモリカード１００、外部接続ＩＦ５５を通じて接続された外部記録装置に画像データ等をファイルとして書き込む処理を実行するためのプログラム等を含む。ファイルシステム用コンポーネント３２７は、ファイルシステム用コンポーネント３１７がサポートするファイルシステムより多くの種類のファイルシステムをサポートしてよい。
【００５４】
ＯＳ間通信用コンポーネント３２８は、ＲＴＯＳとの間のＯＳ間通信を担うソフトウェアコンポーネントである。ＯＳ間通信用コンポーネント３２８は、ＲＴＯＳに情報を送信するプログラム、ＲＴＯＳから情報を受信するプログラム等を含む。ＲＴＯＳに送信する情報としては、後述するタッチパネルにより受け付けたユーザ指示の内容を示す情報等を例示することができる。
【００５５】
外部ＩＦ通信用コンポーネント３２９は、外部機器１１０との間の通信を担うソフトウェアコンポーネントである。外部ＩＦ通信用コンポーネント３２９は、ＴＣＰ／ＩＰ等の通信プロトコルスタック、ＵＳＢプロトコルスタック、ＨＤＭＩプロトコルスタック等を含む。このように、マルチメディアＯＳは、外部機器１１０との間で通信される通信データを処理する機能を含む。
【００５６】
共有ソフトウェアコンポーネント３３０は、ＳＤＲＡＭ５８の共有メモリ領域へのアクセスを制御するソフトウェアコンポーネント、撮像装置１０が有するハードウェアを制御するためのドライバ、ＯＳのカーネル等の基本コンポーネントとアプリケーションコンポーネントとの間のインタフェース等を提供するミドルウェア等を含む。
【００５７】
本図に関連して説明したように、リアルタイムＯＳは、撮像素子３６の駆動を制御する機能を含む。また、リアルタイムＯＳは、撮像部に対する撮像指示を操作入力部６１で受け付ける機能を含む。マルチメディアＯＳは、撮像指示をタッチ操作で受け付ける機能を含む。また、マルチメディアＯＳは、ユーザインタフェース用のオブジェクトを表示部５３に表示させる機能を含む。第２コア２２２は、マルチメディアＯＳを動作させることで、ユーザインタフェース用のオブジェクトを表示部５３に表示させる。特に、ＳｏＣ５１は、ユーザインタフェースが有効でない場合に、リアルタイムＯＳからの制御により、操作入力部６１で受け付けた撮像指示に応じて撮像部に撮像させ、ユーザインタフェースが有効である場合に、マルチメディアＯＳからの制御により、タッチ操作で受け付けた撮像指示に応じて撮像部を制御することができる。
【００５８】
図４は、表示部５３によるＧＵＩの一例を模式的に示す。画面４００は、第１コア２２１により制御されたＧＵＩ画面を示す。画面４１０および画面４２０は、第２コア２２２により制御されたＧＵＩ画面を示す。本図では、ライブビュー撮影中のＧＵＩ画面を一例として示す。
【００５９】
第１コア２２１は、撮像モードを示す文字４０１、閃光モードを示す文字４０２、フォーカスモードを示す文字４０３、電池残量を示すオブジェクト４０４、シャッタスピードを示す文字４０５、Ｆ値を示す文字４０６、ＩＳＯ感度の設定モードを示す文字４０７を含む画面４００を表示する。第１コア２２１は、これらの文字およびオブジェクトを、表示用の画像データに基づく画像の周囲に表示させる。
【００６０】
第１コア２２１は、ＧＵＩ用アプリケーションコンポーネント３１６に格納されたフォントデータを用いて、文字４０１〜３、４０５〜４０７を表示部５３に表示する。第１コア２２１によるＧＵＩ画面で使用されるフォントは、例えばビットマップフォントとしてＧＵＩ用アプリケーションコンポーネント３１６に格納される。第１コア２２１は、ビットマップフォントを拡大、縮小することなく、表示部５３に表示する。
【００６１】
また、第１コア２２１は、ＧＵＩ用アプリケーションコンポーネント３１６に格納された電池残量を示すオブジェクトの中から１つのオブジェクトを選択して、オブジェクト４０４を表示部５３に表示する。例えば、ＧＵＩ用アプリケーションコンポーネント３１６には、３段階の電池残量に対応づけて３つのオブジェクトをビットマップとして格納されており、電源部５４の現在の電池残量に対応する１つのビットマップオブジェクトを選択して、表示部５３に表示する。第１コア２２１は、例えばビットマップオブジェクトを拡大、縮小することなく、表示部５３に表示する。
【００６２】
次に、画面４１０について説明する。画面４２０は、マルチメディアＯＳが第２コア２２２で動作している場合のＧＵＩ画面の一例である。例えば、マルチメディアＯＳが起動すると、表示部５３の表示画面は、画面４００から画面４１０に遷移する。
【００６３】
第２コア２２２は、撮像モードを示すオブジェクト４１１、閃光モードを示すオブジェクト４１２、フォーカスモードを示すオブジェクト４１３、電池残量を示すオブジェクト４１４、シャッタスピードを示すオブジェクト４１５、Ｆ値を示すオブジェクト４１６、ＩＳＯ感度の設定モードを示すオブジェクト４１７、タッチ操作用のオブジェクト４１８、４１９を含む画面４１０を表示する。第２コア２２２は、これらのオブジェクトを、表示用の画像データに基づく画像の周囲または画像内に表示させる。
【００６４】
第２コア２２２は、ＧＵＩ用アプリケーションコンポーネント３２６に格納されたフォントデータと、カメラを模ったアイコンデータとを組み合わせて、オブジェクト４１１を生成して表示する。第２コア２２２は、ＧＵＩ用アプリケーションコンポーネント３２６に格納されたフォントデータと、閃光を模ったアイコンデータとを組み合わせて、オブジェクト４１３を生成して表示する。
【００６５】
第２コア２２２は、表示される画像に重畳して、電池残量に応じて選択したオブジェクト４１４を表示する。第２コア２２２は、画像に重ね合わせてオブジェクト４１４を表示させて、いわば画像が透過して見えるように表示してよい。第２コア２２２は、ＧＵＩ用アプリケーションコンポーネント３２６に格納されたフォントデータを用いて、シャッタスピードを示すオブジェクト４１５、Ｆ値を示すオブジェクト４１６、ＩＳＯ感度設定モードを示すオブジェクト４１７を生成して表示する。第２コア２２２は、ＧＵＩ用アプリケーションコンポーネント３２６に格納されたグラフィクスライブラリを用いて、タッチ操作用のオブジェクト４１８、４１９を生成して表示する。
【００６６】
画面４１０において、オブジェクト４１１に含まれる文字と、オブジェクト４１２に含まれる文字とは、サイズが異なる。また、オブジェクト４１５には、サイズが異なる文字が含まれる。ＧＵＩ用アプリケーションコンポーネント３２６には、ＴｒｕｅＴｙｐｅ（登録商標）等のスケーラブルかつデータ圧縮されたフォントが格納される。第２コア２２２は、スケーラブルフォントを用いることで、同一のフォントデータから、サイズが異なる文字を含むオブジェクトを生成する。ＧＵＩ用アプリケーションコンポーネント３２６には、これらのフォントデータを扱う汎用ライブラリを含む。ＧＵＩ用アプリケーションコンポーネントを開発する場合、例えば公開された汎用ライブラリを用いることで、撮像装置１０に特化した部分を中心にソフトウェア開発をすればよい。
【００６７】
また、汎用のグラフィックライブラリを用いることで、オブジェクト４１４、オブジェクト４１８、オブジェクト４１９のように画像にオブジェクトを重畳して表示させるソフトウェアコンポーネントを容易に作成することができる。このため、アプリケーションコンポーネントの開発期間を短縮することができる。
【００６８】
次に、画面４２０について説明する。画面４２０は、オブジェクト４１８の表示位置がタッチされた場合のＧＵＩ画面の一例である。
【００６９】
第２コア２２２は、タッチ入力部６２から取得したタッチ位置がオブジェクト４１８内の位置である場合に、タッチ操作のオブジェクト４２１を表示する。オブジェクト４２１には、レリーズ指示を受け付けるためのオブジェクト４２２、フォーカス指示を受け付けるためのオブジェクト４２３、連写モードを設定するためのオブジェクト４２４、ＩＳＯ感度の設定モードを変更するためのオブジェクト４２５、および、諸設定を行うためのオブジェクト４２６を含む。例えば汎用のグラフィックライブラリを用いることで、オブジェクト４２１を表示させるソフトウェアコンポーネントを容易に作成することができる。
【００７０】
撮像装置１０によれば、リッチなＧＵＩを提供するソフトウェアコンポーネントを、マルチメディアＯＳに実装すればよく、リッチなＧＵＩを提供するソフトウェアコンポーネントをＲＴＯＳに実装する必要がない。このため、汎用のオペレーティングシステムと、汎用のフォントライブラリ、グラフィックライブラリ等の汎用のライブラリとを用いて、リッチなＧＵＩを提供するマルチメディアＯＳを構築すればよい。このため、開発工数を著しく削減することができる。リアルタイム性を要する処理はＲＴＯＳが担うので、リアルタイム性に優れた撮像装置１０を提供することができる。
【００７１】
このように、マルチメディアＯＳは、撮像装置１０に対する指示を表示部５３の表示画面に対するユーザからのタッチ操作で受け付ける機能を含む。ＳｏＣ５１は、マルチメディアＯＳを動作させて撮像装置１０に対する指示内容を特定し、特定した指示内容に基づいて撮像装置１０を制御することができる。具体的には、マルチメディアＯＳは、撮像部に対する指示をタッチ操作で受け付ける機能を含み、ＳｏＣ５１は、マルチメディアＯＳを動作させて撮像部に対する指示内容を特定し、特定した指示内容に基づいて撮像部を制御する。本図の例では、撮像部に対する指示を受け付けるオブジェクトとして、レリーズ指示のオブジェクト４２２、フォーカス指示のオブジェクト４２３、連写モードを設定するためのオブジェクト４２４、ＩＳＯ感度の設定モードを変更するためのオブジェクト４２５等を例示した。撮像部に対する指示を受け付けるオブジェクトとして、ズーム倍率を指示するためのオブジェクト等を含んでよい。
【００７２】
また、本図に例示したように。リアルタイムＯＳは、撮像部により撮像された画像を表示部５３に表示する機能を含む。一方、マルチメディアＯＳは、撮像部により撮像された画像に重畳してユーザインタフェース用のオブジェクトを表示部５３に表示させる機能を含む。
【００７３】
本図の例では、ＧＵＩ画面を用いて説明したが、外部機器１１０との通信する場合についても同様である。例えば、汎用の通信プロトコルスタックを用いて、外部機器１１０での通信処理を制御するソフトウェアコンポーネントをマルチメディアＯＳに実装すればよい。撮像装置１０によれば、ＲＴＯＳで動作するＧＵＩ用のソフトウェアコンポーネントや通信用のソフトウェアコンポーネントをスクラッチから作成する必要がなくなるので、開発工数を著しく削減することができる。
【００７４】
図５は、撮像装置１０のシステム全体を制御するＯＳの切り替えを示す。本図では、通信接続の有無およびタッチパネル機能の有無の組み合わせに対応づけて、ＲＴＯＳおよびマルチメディアＯＳのいずれがシステム全体を統括制御するかをテーブル形式で示す。
【００７５】
外部機器１１０との通信接続を要する場合、タッチパネル機能の要否にかかわらず、マルチメディアＯＳによってシステム全体が制御される。すなわち、第２コア２２２によってシステム全体が制御される。外部機器１１０との通信処理は、主としてマルチメディアＯＳの外部ＩＦ通信ソフトウェアコンポーネント３２９によってサポートされる。すなわち、ＳｏＣ５１は、データ通信を有効にして撮像装置１０を動作させる場合に、マルチメディアＯＳを動作させて少なくとも通信データを処理する。
【００７６】
外部機器１１０との通信接続を要さず、タッチパネル機能を要する場合、マルチメディアＯＳによってシステム全体が制御される。すなわち、第２コア２２２によってシステム全体が制御される。タッチパネル機能を用いたＧＵＩ処理は、主としてＧＵＩ用アプリケーションコンポーネント３２６によってサポートされる。例えば、レリーズ指示を、タッチパネル操作を通じて受け付けることができる。第２コア２２２においてレリーズ指示を受け付けた場合、ＯＳ間通信によって第１コア２２１に撮像指示が通知され、第１コア２２１の制御の下で撮像動作が制御される。なお、第２コア２２２によってシステム全体が制御されている場合でも、レリーズボタンの操作を撮像指示として受け付けた場合に第１コア２２１が撮像関連の動作を開始してよい。このように、マルチメディアＯＳによってシステム全体が制御されている場合でも、撮像動作は主としてＲＴＯＳによって制御される。
【００７７】
外部機器１１０との通信接続およびタッチパネル機能を要しない場合、ＲＴＯＳによってシステム全体が制御される。すなわち、第１コア２２１によってシステム全体が制御される。この場合、ＧＵＩ処理は第１コア２２１が担う。例えば、表示部５３に表示される画面は、図４の画面４００で例示したような簡易的な表示画面となる。レリーズ指示は、レリーズボタンを通じて受け付けることができる。リアルタイム性を持つＲＴＯＳによってシステム全体が制御されるので、撮像装置１０の応答速度を高めることができる。ＲＴＯＳによるシステム全体の制御は、例えば高速連写を必要とする場合に適する。
【００７８】
なお、タッチパネル機能を要しない場合とは、表示部５３の動作がオフされた場合や、表示部５３のタッチパネル機能を休止またはオフする操作がなれた場合等を例示することができる。また、表示部５３がいわゆるバリアングルの表示部材である場合のように、表示部５３が位置または向きが可変な表示面を有する場合、表示面が開状態にされた場合をタッチパネル機能を要する場合とし、表示面が閉状態にされた場合をタッチパネル機能を要しない場合としてよい。
【００７９】
図６は、画像処理バッファとして使用されるメモリ領域の遷移例を模式的に示す。画像処理バッファは、画像データの一時記憶領域として使用されるメモリ領域であり、ＳＤＲＡＭ５８内に確保される。連続撮影時には、画像処理バッファは、連続撮影により得られた複数の画像の画像データを、一時記憶領域に記憶する。ＳｏＣ５１は、一時記憶領域に記憶された画像データに対して画像処理を施す。
【００８０】
メモリマップ６１０は、マルチメディアＯＳでシステム全体が制御される場合のＳＤＲＡＭ５８のメモリマップを示す。
【００８１】
メモリ領域６１１は、ＲＴＯＳの実行イメージが格納される。メモリ領域６１２は、ＲＴＯＳに含まれるアプリケーションプログラムが動作する場合に、第１コア２２１によってスタック領域として使用される。メモリ領域６１３は、マルチメディアＯＳの実行イメージが格納される。メモリ領域６１４は、マルチメディアＯＳに含まれるアプリケーションプログラムが動作する場合に、第２コア２２２によってスタック領域として使用される。
【００８２】
メモリ領域６１５は、ＲＴＯＳおよびマルチメディアＯＳによる画像処理用のバッファ領域として使用される。具体的には、第１コア２２１は、画像データの取り込み先として、メモリ領域６１５を使用する。また、第１コア２２１は、画像処理用のワークエリアとしてメモリ領域６１５を使用する。また、メモリ領域６１５は、第２コア２２２が画像処理を行う場合のワークエリアとしても使用する。メモリ領域６１５は、ＲＴＯＳおよびマルチメディアＯＳによって共有される。
【００８３】
メモリマップ６２０は、ＲＴＯＳでシステム全体が制御される場合のＳＤＲＡＭ５８のメモリマップを示す。メモリ領域６２１は、ＲＴＯＳの実行イメージが格納される。メモリ領域６２２は、ＲＴＯＳに含まれるアプリケーションプログラムが動作する場合に、第１コア２２１によってスタック領域として使用される。メモリ領域６２５は、ＲＴＯＳによる画像処理用のバッファ領域として使用される。具体的には、第１コア２２１は、画像データの取り込み先として、メモリ領域６２５を使用する。また、第１コア２２１は、画像処理用のワークエリアとしてメモリ領域６２５を使用する。
【００８４】
ＲＴＯＳでシステム全体が制御される場合、マルチメディアＯＳでシステム全体が制御される場合と比較して、画像処理用のバッファ領域としてより多くのメモリ領域６２５が確保される。一例として、メモリ領域６２５は、メモリ領域６１３、６１４の少なくとも一部を含んでよい。例えば、メモリ領域６２５は、メモリ領域６１５と、メモリ領域６１３、６１４の少なくとも一部とを含んでよい。
【００８５】
システム全体を制御するＯＳをマルチメディアＯＳとＲＴＯＳでシステムとの間で切り替えた場合、ＳＤＲＡＭ５８内のＯＳが使用するメモリマップはメモリマップ６１０とメモリマップ６２０との間で切り替わる。例えば、マルチメディアＯＳでシステム全体を制御している場合に、撮像モードや、ＳＤＲＡＭ５８の使用状況等に応じてＲＴＯＳによる全体制御に切り替える。ＲＴＯＳによる全体制御に切り替えることで、メモリマップ６２０で示すように画像処理用のバッファ領域を増加させることができる。
【００８６】
例えば、撮像モードが高速連写モードに設定された場合に、ＲＴＯＳによる全体制御に切り替えて、撮影指示をレリーズボタンで受け付ける。ＲＴＯＳによる全体制御に切り替えることで、システム全体をレスポンス良く制御することができる。また、ＲＴＯＳによる全体制御に切り替えることで、画像処理用のバッファ領域を増加させる。これにより、連続して撮影することができる連写可能枚数を増加させることができる。また、マルチメディアＯＳでシステム全体を制御している場合に、連写撮影中にメモリ領域６１５が画像処理用のバッファ領域として不足したときは、連写撮影中にＲＴＯＳによる全体制御に切り替えて、画像処理用のバッファ領域を増加させる。これにより、連写撮影を継続する時間を増加させることができる。このように、ＳｏＣ５１は、リアルタイムＯＳおよびマルチメディアＯＳを、ＳＤＲＡＭ５８の一部のメモリ領域を使用して動作させ、一時記憶領域が不足する場合に、マルチメディアＯＳの動作を停止して、マルチメディアＯＳが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を一時記憶領域に割り当てる。
【００８７】
図７は、撮像装置１０の起動から終了までの処理フローを示す。本フローは、操作入力部６１の一部としての電源ボタンがＯＮされた場合に、開始される。本フローに関する動作は、特に説明しない限り、システム全体を制御するＯＳを動作させるコアが主体となって本動作を制御する。
【００８８】
ステップＳ７００において、第１コア２２１は、ＲＴＯＳを起動する。具体的には、第１コア２２１は、システムメモリ５７からＲＴＯＳの実行イメージを読み出して、ＳＤＲＡＭ５８に展開する。
【００８９】
第１コア２２１は、ＲＴＯＳの制御に従って、初期設定を開始する。例えば、第１コア２２１は、撮像装置１０を制御するための各種パラメータ等を、システムメモリ５７からＳＤＲＡＭ５８に展開する。また、第１コア２２１は、レンズユニット２０からレンズ固有情報を取得して、ＳＤＲＡＭ５８にレンズパラメータとして展開する。レンズ固有情報としては、レンズの種類、レンズユニット２０を制御するための制御パラメータ等を例示することができる。また、第１コア２２１は、撮像装置１０の各部の状態に基づき、動作モードを設定する。
【００９０】
例えば、外部接続ＩＦ５５に外部機器１１０が接続されている場合に、外部機器１１０との間で通信を行う動作モードを設定する。また、撮像モードスイッチ等の状態から撮影モードを判断し、撮影モードが高速連写モードにされている場合に、動作モードの一部としての撮影モードを高速連写モードに設定する。また、表示部５３のタッチパネル機能がデフォルトで有効に設定されている場合、タッチパネルを有効にして動作する動作モードを設定する。タッチパネル機能がデフォルトで無効に設定されている場合、タッチパネルを無効にして動作する動作モードを設定する。
【００９１】
ステップＳ７０４において、第１コア２２１は、マルチメディアＯＳの制御を行う。具体的には、設定された動作モードに応じて、マルチメディアＯＳの起動を制御する。本フローについては、図８に関連して説明する。
【００９２】
ステップ７０６において、ユーザ操作等により生じるイベントの種類を判定する。第１コア２２１により検出されるイベントとしては、操作入力部６１の一部としてのコマンドダイヤル等のユーザ操作により生じる諸動作する設定イベント、レリーズボタンやライブビューボタン等の撮影実行に関するユーザ操作により生じる撮影イベント、再生ボタンが操作されることにより生じる再生イベント等を例示することができる。第２コア２２２により検出されるイベントとしては、タッチ入力部６２上に表示された諸設定のオブジェクトの位置がタッチされることにより生じる設定イベント、レリーズ指示のオブジェクトの位置がタッチされることにより生じる撮影イベント等を例示することができる。
【００９３】
ステップＳ７０６において設定イベントが生じたと判定された場合、指示された設定処理を行う（ステップＳ７０８）。タッチ入力部６２を通じたユーザ操作に対しては、第２コア２２２が全体を制御して設定処理を行う。操作入力部６１を通じたユーザ操作に対しては、第１コア２２１が全体を制御して設定処理を行う。設定処理としては、外部機器１１０との間で通信を行う動作モードを設定する処理、撮影モードを設定する処理、撮影条件を設定する処理、画像処理条件を設定する処理、連写モードを設定する処理、動画撮影におけるフレームレートを設定する処理等を例示することができる。連写モードを設定する処理としては、連写モードで静止画撮影するか否かを設定する処理を例示することができる。また、連写モードを設定する処理として、高速連写モード、通常連写モードを含む複数連写モードの中から、連写撮影で実行する連写モードを選択する処理を例示することができる。
【００９４】
続いて、ステップＳ７１０において、第１コア２２１は、動作モードが変更されたか否かを判断する。動作モードが変更された場合、ステップＳ７０４に処理を移行して、マルチメディアＯＳの起動を制御する。ステップＳ７１０において、動作モードが変更されていないと判断された場合、ステップＳ７３０に処理を移行する。
【００９５】
ステップＳ７０６において撮影イベントが生じたと判定された場合、撮影実行に関する処理を行う（ステップＳ７１２）。ステップＳ７１２における動作については、図９、図１０等に関連して説明する。ステップＳ７０６において再生イベントが生じたと判定された場合、再生処理を実行する（ステップＳ７２２）。再生処理としては、メモリカード１００に記録された画像をサムネイル表示する処理、ユーザにより指示された画像を表示する処理等を例示することができる。ステップＳ７１２、ステップＳ７２２の処理が完了すると、ステップＳ７３０に処理を移行する。
【００９６】
ステップＳ７３０において、電源をＯＦＦするか否かを判断する。例えば、電源がＯＮされてから予め定められた期間、ユーザ指示無しの状態が継続した場合等に、電源をＯＦＦすると判断する。電源ボタンがＯＦＦ位置に切り替えられた場合も、電源をＯＦＦすると判断する。電源をＯＦＦしないと判断した場合はステップＳ７０６に処理を移行させる。電源をＯＦＦすると判断した場合、第１コア２２１は、マルチメディアＯＳが動作している場合は第２コア２２２にマルチメディアＯＳの動作を終了させる。また、第１コア２２１は、ＲＴＯＳの動作を終了するルーチンを実行し、処理を終了する。
【００９７】
このように、システム全体をマルチメディアＯＳが制御している場合でも、撮像動作はＲＴＯＳが制御する。例えば、ＳｏＣ５１は、マルチメディアＯＳを動作させて撮像部に対する指示内容を特定し、特定した指示内容に基づいてリアルタイムＯＳにより撮像素子の駆動を制御する。
【００９８】
図８は、マルチメディアＯＳの動作を制御する動作フローの一例を示す。具体的には、図７のステップＳ７０４の処理の詳細な動作フローを示す。
【００９９】
ステップＳ８０２において、第１コア２２１は、撮影モードが高速連写モードに設定されているか否かを判断する。高速連写モードに設定されていないと判断された場合、通信接続の有無を判断する（ステップＳ８０４）。例えば、ネットワーク通信を行う動作モードである場合に、通信接続を有する動作モードであると判断する。また、ネットワーク通信ケーブルが外部接続ＩＦ５５に接続されている場合に、通信接続を有する動作モードであると判断する。
【０１００】
通信接続がある場合、マルチメディアＯＳが起動済であるか否かを判断する（ステップＳ８０６）。マルチメディアＯＳが起動済みでない場合、第１コア２２１は、マルチメディアＯＳを起動させる。例えば、第１コア２２１は第２コア２２２にリセット信号を供給して、マルチメディアＯＳをシステムメモリ５７からロードさせ、マルチメディアＯＳの動作を開始させる。マルチメディアＯＳが起動すると、マルチメディアＯＳによるシステム全体の制御が開始される（ステップＳ８１０）。ステップＳ８０６においてマルチメディアＯＳが起動済みであると判断された場合は、ステップＳ８１０に処理を進める。
【０１０１】
ステップＳ８０４において通信接続がないと判断された場合、タッチパネル機能を有効にすべき動作モードであるか否かを判断する（ステップＳ８１２）。タッチパネル機能を有効にすべき動作モードであると判断された場合、第１コア２２１は、電池残量が十分であるか否かを判断する。例えば、電池残量が予め定められた値を超える場合に、電池残量が十分であると判断する。電池残量が十分である場合、ステップＳ８０６に処理を移行させる。電池残量が十分でない場合、ステップＳ８１６に処理を進めて、ＲＴＯＳによるシステム全体の制御を開始する。なお、ステップＳ８１６では、マルチメディアＯＳが起動済みであるか否かを判断して、マルチメディアＯＳが起動済みである場合には、マルチメディアＯＳの動作を停止させてよい。例えば、ＳｏＣ５１は、リアルタイムＯＳおよびマルチメディアＯＳが動作している場合に、ユーザインタフェースを無効にすべきユーザ操作を受け付けたことを条件として、マルチメディアＯＳによる制御を停止してよい。
【０１０２】
ステップＳ８１２の判断において、タッチパネル機能を無効にすべき動作モードであると判断された場合、ステップＳ８１６に処理を進める。例えば、表示部５３がバリアングルの表示部材である場合、ＳｏＣ５１は、表示部５３の表示面が開状態にされた場合にマルチメディアＯＳを動作させ、リアルタイムＯＳおよびマルチメディアＯＳが動作している場合に表示面が閉状態にされたことを条件としてマルチメディアＯＳによる制御を停止させてよい。
【０１０３】
ステップＳ８０２の判断において、撮影モードが高速連写モードに設定されている場合、通信接続を無効にするとともに、タッチパネル機能を無効にし（ステップＳ８２２）、ステップＳ８１６に処理を進める。すなわち、リアルタイムＯＳおよびマルチメディアＯＳが動作している場合に、予め定められた値より高い速度で撮像部に連続撮影させる旨の指示を受け付けたことを条件として、マルチメディアＯＳによる制御を停止してリアルタイムＯＳに連続撮影を制御させてよい。なお、ＳｏＣ５１は、高速連写に限らず、連写撮影させる旨の指示を受け付けたことを条件として、マルチメディアＯＳによる制御を停止してもよい。
【０１０４】
撮像装置１０によると、表示部５３を使用しない動作モードで撮影するときはＲＴＯＳでシステム全体を制御する。このため、高速に起動することができる。また、上述した諸設定によって表示部５３のタッチパネル機能を有効にして撮像装置１０を動作させる動作モードに設定された場合に、マルチメディアＯＳによりシステム全体を動作させることができる。すなわち、ＳｏＣ５１は、表示部５３を介するユーザインタフェース機能を有効にして撮像装置１０を動作させる場合に、マルチメディアＯＳを起動させてマルチメディアＯＳに表示部５３を少なくとも制御させることができる。例えば、ＳｏＣ５１は、表示部５３を介するユーザインタフェースを有効にすべきユーザ操作を操作入力部６１等の操作部材が受け付けた場合に、マルチメディアＯＳを起動させる。
【０１０５】
なお、図７のステップＳ７０８における設定操作によって動作モードが変更された場合に、本図のフローを実行するとしたが、再生ボタンが押下された場合、動作モードとしてマルチメディアＯＳによりシステム全体を制御する動作モードに遷移してもよい。
【０１０６】
図９は、静止画撮影における動作フローの一例を示す。本例は、ステップＳ７１２内の詳細な動作フローの一例である。静止画撮影の指示は、レリーズボタンまたはタッチパネルに対するユーザ操作により、静止画撮影を受け付けた場合について説明する。
【０１０７】
ステップＳ９０２において、静止画を撮影する。具体的には、第１コア２２１は、位相差検出信号から検出したレンズ群２１の焦点状態に基づいてフォーカスレンズ２４の目標位置を決定し、フォーカスレンズ２４を当該目標位置に位置させるよう駆動ドライバ７３に指示する。そして、第１コア２２１は、メインミラー３２をアップさせて図１の破線で示した退避位置に移動させ、撮像素子３６で露光して被写体像を出力させ、被写体像をＲＡＷ画像データとしてＳＤＲＡＭ５８に取り込む。
【０１０８】
続いて、ステップＳ９０４において、第１コア２２１は、取り込まれたＲＡＷ画像データに画像処理を施して、記録用の画像データを生成する。続いて第１コア２２１は、ステップＳ９０６において、マルチメディアＯＳを起動済であるか否かを判断する。マルチメディアＯＳを起動済である場合、第１コア２２１は、メモリカード１００のファイルシステムをＲＴＯＳがサポートしているか否かを判断する（ステップＳ９０８）。メモリカード１００のファイルシステムをＲＴＯＳがサポートしていない場合、第１コア２２１はマルチメディアＯＳを起動する（ステップＳ９１０）。マルチメディアＯＳが起動すると、ステップＳ９１２において、第２コア２２２がＳＤＲＡＭ５８からメモリカード１００に記録用の画像データを転送してメモリカード１００に書き込む。
【０１０９】
ステップＳ９０８の判断においてメモリカード１００のファイルシステムをＲＴＯＳがサポートしていると判断された場合、ステップＳ９１２では、第１コア２２１がＳＤＲＡＭ５８からメモリカード１００に記録用の画像データを転送してメモリカード１００に書き込んでよい。ステップＳ９０６の判断においてマルチメディアＯＳを起動済であると判断された場合、ステップＳ９１２では、第２コア２２２がＳＤＲＡＭ５８からメモリカード１００に記録用の画像データを転送してメモリカード１００に書き込む。なお、ステップＳ９０４において、マルチメディアＯＳを起動済みであり、画像処理に要するバッファ領域が不足すると判断されたときは、第１コア２２１はマルチメディアＯＳを停止させて、ＲＴＯＳが使用するバッファ領域を増加させてから、画像処理を施してよい。
【０１１０】
図１０は、撮影処理における他の動作フローの一例を示す。本例は、ステップＳ７１２内の詳細な動作フローの一例である。特に、ライブビュー撮影を指示された場合の動作フローの一例である。
【０１１１】
ステップＳ１００２において、第１コア２２１は、表示用画像の撮影を開始する。具体的には、第１コア２２１は、メインミラー３２をアップさせて図１の破線で示した退避位置に移動させ、撮像素子３６で順次に露光する。第１コア２２１は、順次にＳＤＲＡＭ５８に取り込んだＲＡＷ画像データから表示用の画像データを生成して、表示部５３に順次に表示させる。
【０１１２】
ステップＳ１００４において、ユーザ操作等により生じるイベントの種類を判定する。静止画撮影のイベントが生じた場合、静止画撮影を行う。静止画撮影のイベントは、レリーズボタンを押し込むことで生じるイベント、タッチパネルに対してレリーズ指示のタッチ操作がなさることにより生じるイベント等を例示することができる。
【０１１３】
静止画撮影のイベントが生じた場合、ステップＳ１００６において、撮影モードが連写モードに設定されているか否かを判断する。連写モードに設定されていない場合、静止画撮影を行う（ステップＳ１００８）。具体的には、第１コア２２１は、取り込んだ画像データからコントラスト量を検出して、コントラスト量に基づきフォーカスレンズ２４の目標位置を決定し、フォーカスレンズ２４を当該目標位置に位置させるよう駆動ドライバ７３に指示する。そして、第１コア２２１は、撮像素子３６で露光して被写体像を出力させ、被写体像をＲＡＷ画像データとしてＳＤＲＡＭ５８に取り込む。続いて、ステップＳ１０１０において、メモリカード１００への記録を行う。ステップＳ１０１０の動作については、図９のステップＳ９０４以降の処理と同様の処理を適用することができるので、説明を省略する。
【０１１４】
ステップＳ１００６の判断において、連写モードに設定されていると判断された場合、静止画の連写撮影を開始する（ステップＳ１０１２）。具体的には、第１コア２２１は、撮像素子３６で連続して露光させることにより静止画の連写撮影を行う。第１コア２２１は、順次に取り込んだＲＡＷ画像データに対して順次に画像処理を施して、記録用の画像データを生成する。
【０１１５】
静止画の連写撮影中に、ステップＳ１０１４において、マルチメディアＯＳの制御を行う。具体的には、第１コア２２１は、マルチメディアＯＳが起動済であり、画像処理用のバッファ領域が不足した場合に、マルチメディアＯＳを停止させる。本動作については、図１１に関連して説明する。
【０１１６】
続いて、ステップＳ１０１６において、第１コア２２１は静止画の連写撮影を終了するか否かを判断する。具体的には、レリーズボタンが押し込まれることで連写撮影が開始された場合、レリーズボタンが押し込まれた状態が解除されたときに、連写撮影を終了すると判断する。タッチパネルへの操作により連写撮影が開始された場合、タッチパネルの操作が再度なされた場合に、連写撮影を終了すると判断してよい。タッチパネルへの操作により連写撮影が開始された場合であって、連写撮影中にマルチメディアＯＳを停止させた場合には、レリーズボタンの押し込みを検出した場合に、連写撮影を終了すると判断してよい。連写撮影を終了しないと判断された場合、ステップＳ１０１４に処理を移行する。連写撮影を終了すると判断された場合、ステップＳ１０１０に処理を移行して、メモリカード１００への記録を行う。ステップＳ１０１０の処理としては、図９のステップＳ９０６以降の処理と同様の処理を適用することができるので、説明を省略する。
【０１１７】
ステップＳ１００４の判定において、動画画撮影のイベントが生じた場合、動画撮影を開始する（ステップＳ１０２２）。動画撮影のイベントは、動画撮影ボタンを押し込むことで生じるイベント、タッチパネルに対する動画撮影指示のタッチ操作がなさることにより生じるイベント等を例示することができる。
【０１１８】
動画撮影が開始されると、第１コア２２１は、撮像素子３６で連続して露光させることにより、複数のフレームを連続して撮影させる。第１コア２２１は、取り込んだフレームに対して動画の符号化処理を施して、記録用の動画データを生成する。
【０１１９】
動画撮影中に、ステップＳ１０２４において、マルチメディアＯＳの制御を行う。具体的には、第１コア２２１は、マルチメディアＯＳが起動済であり、画像処理用のバッファ領域が不足した場合に、マルチメディアＯＳを停止させる。本動作については、図１１に関連して説明する。
【０１２０】
続いて、ステップＳ１０２６において、第１コア２２１は動画撮影を終了するか否かを判断する。具体的には、動画撮影ボタンが操作されることで動画撮影が開始された場合、動画撮影ボタンが再度操作されたときに、動画撮影を終了すると判断する。タッチパネルへの操作により動画撮影が開始された場合、タッチパネルの操作が再度なされた場合に、動画撮影を終了すると判断してよい。タッチパネルへの操作により動画撮影が開始された場合であって、動画撮影中にマルチメディアＯＳを停止させた場合には、動画撮影ボタンの押し込みを検出した場合に、動画撮影を終了すると判断してよい。動画撮影を終了しないと判断された場合、ステップＳ１０２４に処理を移行する。動画撮影を終了すると判断された場合、ステップＳ１０１０に処理を移行して、メモリカード１００への動画データの記録を行う。ステップＳ１０１０の処理としては、図９のステップＳ９０６以降の処理と同様の処理を適用することができるので、説明を省略する。
【０１２１】
ステップＳ１０１０の処理が完了すると、ステップＳ１００２に処理を移行させ、次のイベントを待つ。ステップＳ１００２の判断においてライブビュー撮影を終了するイベントが生じたと判定された場合には、ライブビュー撮影を終了する。例えば、ライブビューボタンが元の位置に戻された場合に、ライブビュー撮影を終了するイベントが生じる。また、ライブビュー撮影が開始されてから予め定められた期間、ユーザ操作がなされなかった場合に、ライブビュー撮影を終了するイベントが生じる。
【０１２２】
なお、図７のステップＳ７０８における設定操作によって動作モードが変更された場合に、マルチメディアＯＳの起動を制御するとしたが、ライブビューボタンが押し下げられた場合、高速連写モードに設定されていないことを条件として、マルチメディアＯＳによりシステム全体を制御する動作モードに遷移してもよい。また、図９のステップＳ９０２の説明では特に言及しなかったが、撮影モードが連写モードに設定されている場合には、連写撮影を行ってよい。そして、当該連写撮影中に、本図のフローで説明したようなマルチメディアＯＳの制御を適用してもよい。
【０１２３】
図１１は、マルチメディアＯＳの動作を制御する動作フローの一例を示す。具体的には、図１０のステップＳ１０１４、ステップＳ１０２４の処理の詳細な動作フローの一例である。
【０１２４】
ステップＳ１１０２において、第１コア２２１は、マルチメディアＯＳを起動済みであるか否かを判断する。マルチメディアＯＳが起動済みであると判断された場合、第１コア２２１は、マルチメディアＯＳを終了するまでに画像処理用のバッファ領域が満杯になるか否かを判断する（ステップＳ１１０４）。
【０１２５】
具体的には、マルチメディアＯＳの動作イメージをシステムメモリ５７に格納させるのに要する時間内に、画像処理用のバッファ領域が満杯になるか否かを判断する。具体的には、使用可能なバッファ領域の残量をバッファ領域の使用量の単位時間あたりに増加量で除した値が、マルチメディアＯＳの動作イメージをシステムメモリ５７に格納させるのに要する時間より短い場合に、マルチメディアＯＳを終了するまでに画像処理用のバッファ領域が満杯になると判断する。ステップＳ１１０４の判断により、マルチメディアＯＳをハイバネートするのに要する時間内に、画像処理用のバッファ領域が満杯になるか否かを判断することができる。
【０１２６】
なお、バッファ領域の使用量の単位時間あたりに増加量は、連続撮影により単位時間あたりに撮影される画像数、当該画像の画素数により算出される。静止画を連写撮影している場合、単位時間あたりに撮影される画像数は、静止画の連写速度、いわゆる連写撮影のコマ速により算出される。動画撮影している場合、単位時間あたりに撮影される画像数は、動画撮影のフレームレートにより算出される。このように、ＳｏＣ５１は、連続撮影により単位時間あたりに撮影される画像数に基づいて、一時記憶領域が不足するか否かを判断してよい。連続撮影中に画像処理済みの画像データをメモリカード１００に転送する場合、メモリカード１００への転送速度を考慮して、バッファ領域の使用量の単位時間あたりに増加量を算出してよい。
【０１２７】
マルチメディアＯＳを終了するまでに画像処理用のバッファ領域が満杯になると判断した場合、第１コア２２１は、マルチメディアＯＳを終了させる（ステップＳ１１０６）。マルチメディアＯＳを終了させる（ステップＳ１１０６）。マルチメディアＯＳの終了が完了すると、第１コア２２１は、マルチメディアＯＳが使用していたバッファ領域を、ＲＴＯＳに割り当てて（ステップＳ１１０８）、処理を終了する。
【０１２８】
ステップＳ１１０２の判断において、マルチメディアＯＳが起動済みでないと判断された場合は、本フローを終了する。なお、第１コア２２１は、マルチメディアＯＳの動作を停止させた後、一時記憶領域の不足が解消された場合には、マルチメディアＯＳの動作を再開させてもよい。また、ステップＳ１１０４の判断において、マルチメディアＯＳを終了するまでに画像処理用のバッファ領域が満杯にならないと判断された場合も、本フローを終了する。
【０１２９】
本図で説明したフローによれば、ＳｏＣ５１は、マルチメディアＯＳのメモリイメージを不揮発性メモリにハイバネートするのに要する時間と、連続撮影により単位時間あたりに撮影される画像数に基づいて、マルチメディアＯＳのメモリイメージのハイバネートを開始するタイミングを決定し、決定したタイミングでマルチメディアＯＳの動作を停止させてハイバネートを開始させることができる。このため、マルチメディアＯＳをハイバネートするのに要する時間内に画像処理用のバッファ領域が満杯になることを未然に防ぐことができる。
【０１３０】
以上の説明においては、ＳｏＣ５１は、マルチコアプロセッサであるとして説明した。特に、ＳｏＣ５１が２つのコアを有するとして説明したが、３以上のコアを有してよい。第１コア２２１がＲＴＯＳを動作させ、第２コア２２２がマルチメディアＯＳを動作させるとして説明したが、第１コア２２１および第２コア２２２がＲＴＯＳを動作させてもよい。また、第１コア２２１および第２コア２２２が、ＲＴＯＳおよびマルチメディアＯＳを動作させてもよい。また、ＳｏＣ５１は、シングルチップ化されたマルチプロセッサであってよい。また、ＳｏＣ５１は、シングルコアプロセッサであってよい。すなわち、ＳｏＣ５１は、単一のプロセッサであってもよい。また、ＳｏＣ５１に限られず、様々なパッケージでプロセッサが撮像装置１０に実装されてよい。
【０１３１】
本実施形態の撮像装置１０に関連して説明した処理は、撮像装置１０の各部、例えばＳｏＣ５１等として組み込まれたプロセッサが、プログラムに従って動作することにより、実現することができる。すなわち、当該処理を、いわゆるコンピュータ装置によって実現することができる。コンピュータ装置は、上述した処理の実行を制御するプログラムをロードして、読み込んだプログラムに従って動作して、当該処理を実行してよい。コンピュータ装置は、当該プログラムを記憶しているコンピュータ読取可能な記録媒体を読み込むことによって、当該プログラムをロードすることができる。
【０１３２】
本実施形態において、撮像装置１０を取り上げて電子機器の一例を説明した。撮像装置としては、レンズ交換式の一眼レフカメラ、コンパクトデジタルカメラ、ミラーレス一眼カメラ、ビデオカメラ、撮像機能付きの携帯電話機、撮像機能付きの携帯情報端末、撮像機能付きのゲーム機器等の娯楽装置、スキャナ、ファクシミリ等、撮像機能を有する機器を適用の対象とすることができる。また、電子機器は、テレビ、ビデオ、デジタルフォトフレーム、プロジェクタ装置、ゲーム機器等の娯楽装置等の電子画像機器として実現されてよい。また、電子機器は、録音装置等の電子音声機器として実現されてよい。
【０１３３】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１３４】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１３５】
１０  撮像装置、１１  光軸、２０  レンズユニット、２１  レンズ群、２２  前玉、２３  後玉、２４  フォーカスレンズ、２５  ズームレンズ、２６  鏡筒、２７  レンズ回路基板、２８  絞り装置、２９  レンズマウント、３０  カメラユニット、３１  カメラマウント、３２  メインミラー、３３  ピント板、３４  メインミラー回転軸、３５  ミラーボックス、３６  撮像素子、３７  ペンタプリズム、３８  接眼光学系、３９  ＡＥセンサ、４０  サブミラー、４１  合焦光学系、４２  合焦センサ、４３  フォーカルプレーンシャッタ、５０  メイン基板、５１  ＳｏＣ、５２  ＭＰＵ、５３  表示部、５４  電源部、５５  外部接続ＩＦ、５６  記録媒体ＩＦ、５７  システムメモリ、５８  ＳＤＲＡＭ、６１  操作入力部、６２  タッチ入力部、７０  アナログ処理部、７１  ＡＤ変換部、７２  デジタル処理部、７３  駆動ドライバ、１００  メモリカード、１１０  外部機器、２２１  第１コア、２２２  第２コア、３１１、３１２、３１３、３１４、３１５、３１６、３１７、３１８、３２４、３２６、３２７、３２８、３２９、３３０  コンポーネント、４００、４１０、４２０  画面、４０１、４０３、４０７  文字、４０４、４１１、４１２、４１３、４１４、４１５、４１６、４１７、４１８、４１９、４２１、４２３、４２５、４２６  オブジェクト、６１０、６２０  メモリマップ、６１１、６１２、６１３、６１４、６１５、６２１、６２２、６２５  メモリ領域
【図１】
2013030949.tif 000003
【図２】
2013030949.tif 000004
【図３】
2013030949.tif 000005
【図４】
2013030949.tif 000006
【図５】
2013030949.tif 000007
【図６】
2013030949.tif 000008
【図７】
2013030949.tif 000009
【図８】
2013030949.tif 000010
【図９】
2013030949.tif 000011
【図１０】
2013030949.tif 000012
【図１１】
2013030949.tif 000013