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