電子機器、撮像装置およびプログラム
【課題】固定時間処理を実現しつつ複雑な機能な実装すること。
【解決手段】電子機器は、表示部と、リアルタイムOSである第1OS、および、表示部を介するユーザインタフェース機能を少なくとも提供する第2OSを格納する格納部と、第1OSを動作させて電子機器を制御する制御部と、を備え、制御部は、表示部を介するユーザインタフェース機能を有効にして電子機器を動作させる場合に、第2OSを起動させて第2OSに表示部を少なくとも制御させる。
【解決手段】電子機器は、表示部と、リアルタイムOSである第1OS、および、表示部を介するユーザインタフェース機能を少なくとも提供する第2OSを格納する格納部と、第1OSを動作させて電子機器を制御する制御部と、を備え、制御部は、表示部を介するユーザインタフェース機能を有効にして電子機器を動作させる場合に、第2OSを起動させて第2OSに表示部を少なくとも制御させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器、撮像装置およびプログラムに関する。
【背景技術】
【0002】
動画記録中、又は音声記録中にのみタッチパネルによる特定の操作指示を受け付ける撮像装置が知られている(例えば、特許文献1参照)。
[先行技術文献]
[特許文献]
[特許文献1]特開2007−214774号公報
【発明の概要】
【発明が解決しようとする課題】
【0003】
タッチパネル機能のような複雑なユーザインタフェース機能をリアルタイムオペレーティングシステム上で実装するには膨大な開発工数を要する。一方、汎用のオペレーティングシステム上で固定時間処理を実現することは期待できない。また、汎用オペレーティングシステムの起動には長い時間を要する。このように、複雑なユーザインタフェース機能を実装しつつ応答性能を高めることができないという課題があった。
【課題を解決するための手段】
【0004】
本発明の第1の態様においては、電子機器は、表示部と、リアルタイムOSである第1OS、および、表示部を介するユーザインタフェース機能を少なくとも提供する第2OSを格納する格納部と、第1OSを動作させて電子機器を制御する制御部と、を備え、制御部は、表示部を介するユーザインタフェース機能を有効にして電子機器を動作させる場合に、第2OSを起動させて第2OSに表示部を少なくとも制御させる。
【0005】
本発明の第2の態様においては、撮像装置は、画像データの一時記憶領域として少なくとも一部のメモリ領域が割り当てられるメモリ部と、リアルタイムOSである第1OS、および、非リアルタイムOSである第2OSを動作させて撮像装置を制御する制御部と、を備え、制御部は、メモリ部の一部のメモリ領域を使用して第2OSを動作させている場合に、一時記憶領域が不足することを条件として、第2OSの動作を停止させ、第2OSが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を一時記憶領域に割り当てる。
【0006】
本発明の第3の態様によると、表示部を有する電子機器を制御するプログラムであって、リアルタイムOSである第1OSを動作させて電子機器を制御するステップと、表示部を介するユーザインタフェース機能を有効にして電子機器を動作させる場合に、表示部を介するユーザインタフェース機能を少なくとも提供する第2OSを起動させて第2OSに表示部を少なくとも制御させるステップと、をコンピュータに実行させる。
【0007】
本発明の第4の態様によると、画像データの一時記憶領域として少なくとも一部のメモリ領域が割り当てられるメモリ部を有する撮像装置を制御するプログラムであって、リアルタイムOSである第1OS、および、非リアルタイムOSである第2OSを動作させて撮像装置を制御するステップと、メモリ部の一部のメモリ領域を使用して第2OSを動作させている場合に、一時記憶領域が不足することを条件として、第2OSの動作を停止させ、第2OSが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を一時記憶領域に割り当てるステップと、をコンピュータに実行させる。
【0008】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0009】
【図1】一実施形態に係る撮像装置10の要部断面図である。
【図2】撮像装置10のシステム構成を概略的に示すブロック図である。
【図3】撮像装置10のソフトウェア構成の一例を示す。
【図4】表示部53によるGUIの一例を模式的に示す。
【図5】撮像装置10のシステム全体を制御するOSの切り替えを示す。
【図6】画像処理バッファとして使用されるメモリ領域の遷移例を模式的に示す。
【図7】撮像装置10の起動から終了までの処理フローを示す。
【図8】マルチメディアOSの動作を制御する動作フローの一例を示す。
【図9】静止画撮影における動作フローの一例を示す。
【図10】撮影処理における他の動作フローの一例を示す。
【図11】マルチメディアOSの動作を制御する動作フローの一例を示す。
【発明を実施するための形態】
【0010】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0011】
図1は、一実施形態に係る撮像装置10の要部断面図である。撮像装置10は、レンズユニット20がカメラユニット30に装着されて、撮像装置として機能する。カメラユニット30には、焦点距離、開放F値等の異なる複数のレンズユニット20が、交換レンズとして交換可能に装着される。
【0012】
レンズユニット20は、光軸11に沿って配列され鏡筒26に支持されたレンズ群21と、絞り装置28とを備える。撮像レンズの一例としてのレンズ群21は、入射される被写体光束をカメラユニット30へ導く。図においては、レンズ群を構成するレンズとして前玉22および後玉23の他に、フォーカスレンズ24、ズームレンズ25等が含まれる。フォーカスレンズ24、ズームレンズ25は、それぞれ焦点調整、画角調整の指示に応じて光軸方向に移動できるように構成されている。
【0013】
鏡筒26は、レンズ回路基板27を支持しており、レンズ回路基板27は、レンズユニット20を制御する各種回路の電子素子等を搭載している。レンズユニット20は、カメラユニット30との接続部にレンズマウント29を備え、カメラユニット30が備えるカメラマウント31と係合して、カメラユニット30と一体化する。レンズマウント29とカメラマウント31はそれぞれ通信端子を備えており、マウント同士が係合したときに互いの通信端子が接続される。これにより、レンズ回路基板27に搭載された各種回路、電子素子等は、カメラユニット30側と電気的に接続される。カメラユニット30は、カメラユニット30およびレンズユニット20の通信端子を介して、レンズユニット20の固有情報のデータを、レンズユニット20から取得する。
【0014】
カメラユニット30は、レンズユニット20から入射される被写体光束を反射するメインミラー32と、メインミラー32で反射された被写体光束が結像するピント板33を備える。メインミラー32は、ミラーボックス35の内部でメインミラー回転軸34周りに揺動して、光軸11を中心とする被写体光束中に斜設される反射状態と、被写体光束から退避する退避状態を取り得る。サブミラー40は、メインミラー32が被写体光束から退避する場合は、メインミラー32に連動して被写体光束から退避する。メインミラー回転軸34は、ミラーボックス35の側壁に支持される。
【0015】
キー入力部の一部としてのライブビューボタンが押し下げられた場合、または、キー入力部の一部としてのレリーズボタンが最下部まで押し下げられた場合、図の破線で示した退避状態を取る。例えば、メインミラー32は、被写体光束中に斜設された状態で、ライブビューボタンが押し下げられた場合またはレリーズボタンが最下部まで押し下げられた場合、破線で示した退避位置に移動する。ライブビューボタンが押し下げられた場合、メインミラー32は、再度ライブビューボタンが押し下げられるまで退避位置に留まる。一方、レリーズボタンが押し下げられた場合は、所定の撮像動作を終えると、メインミラー32はダウンされ元の斜設状態の位置に戻される。
【0016】
シャッタの一例としてのフォーカルプレーンシャッタ43および撮像素子36は、光軸11に沿って配列されている。したがって被写体光束は、レンズ群21を透過してカメラユニットへ入射し、メインミラー32およびサブミラー40が退避状態となったミラーボックス35の内部と開放状態のフォーカルプレーンシャッタ43を通過して、撮像素子36の受光面で結像する。すなわち、この被写体光束の光路が撮影光路となる。フォーカルプレーンシャッタ43および撮像素子36は、撮像部の一部を構成する。
【0017】
撮像素子36は、受光面で結像した被写体像を電気信号として出力する複数の光電変換素子を有する。撮像素子36としては、CMOSセンサ、CCDセンサ等を例示することができる。撮像素子36は、メイン基板50と電気的に接続されている。メイン基板50には、撮像装置10全体を制御するSoC51、電源等を制御するMPU52等の電気素子が搭載されている。MPU52は、レリーズボタン、ライブビューボタン等を含むユーザ操作入力部で生成されるユーザ操作を示す信号を処理してよい。MPU52は、SoC51よりも単位時間当たりの電力消費量が小さいプロセッサであることが望ましい。
【0018】
SoC51は、被写体像の電気信号から画像データを生成する。また、SoC51は、画像データから、1以上の画像領域、例えば予め定められた複数の焦点調整領域毎にコントラスト量を算出する。フォーカスレンズ24の位置は、SoC51等の制御によって、コントラスト量に基づき決定された目標位置に向けて制御される。また、SoC51は、位相差検出信号を相関演算することでレンズ群21の焦点状態を検出する。SoC51は、焦点状態に基づきフォーカスレンズ24の目標位置を決定し、決定した目標位置に向けてフォーカスレンズ24を制御する。
【0019】
カメラユニット30の背面には、電子ビューファインダーとして機能する表示部53が配設されている。表示部53は、カラー表示可能な液晶モニタ等であってよい。表示部53は、SoC51が被写体像の電気信号から生成した表示用画像データを用いて、被写体像を表示する。表示部53は、撮像後の静止画像に限らず、各種メニュー情報、撮像情報、告知情報等を表示する。ライブビューボタンが押し下げられることによるライブビュー撮影を行っている場合、SoC51は、上述の焦点調節をしながら、撮像素子36から順次に出力される被写体像の電気信号から表示用画像データを順次に生成する。表示部53は、生成された表示用画像データを用いて、被写体像を順次に表示する。
【0020】
撮像装置10は、光学ファインダを有する。具体的には、ピント板33は、撮像素子36の受光面と共役の位置に配置されている。ピント板33で結像した被写体像は、ペンタプリズム37で正立像に変換され、接眼光学系38を介してユーザに観察される。また、ペンタプリズム37の射出面上方にはAEセンサ39が配置されており、被写体像の輝度分布を検出する。SoC51は、AEセンサ39で検出された輝度分布に基づいて、適正露出値を算出する。
【0021】
斜設状態におけるメインミラー32の光軸11の近傍領域は、ハーフミラーとして形成されており、入射される被写体光束の一部が透過する。透過した被写体光束は、メインミラー32と連動して揺動するサブミラー40で反射されて、合焦光学系41へ導かれる。合焦光学系41を通過した被写体光束は、合焦センサ42へ入射される。合焦センサ42は、受光した被写体光束から位相差信号を出力する複数の光電変換素子列を有する。合焦センサ42は、被写体像の特定の領域に対応して設けられる複数の焦点調整領域のそれぞれにおいて、合焦状態、前ピン状態、後ピン状態を検出でき、前ピン状態、後ピン状態の場合には、合焦状態からのずれ量も検出することができるように構成されている。すなわち、メインミラー32がダウンし斜設状態にある場合、合焦センサ42からの出力を用いて、位相差検出方式で焦点状態を検出して焦点調節することができる。
【0022】
また、カメラユニット30には電源部54が設けられる。電源部54は、カメラユニット30に限らず、レンズユニット20にも電力を供給する。電源部54は、着脱可能な二次電池を含むことができる。電源部54は、商用電源等の外部電源から電力を受け取って電力を供給してよい。
【0023】
図2は、撮像装置10のシステム構成を概略的に示すブロック図である。撮像装置10のシステムは、レンズユニット20とカメラユニット30のそれぞれに対応して、駆動ドライバ73を含むレンズ制御系と、SoC51を中心とするカメラ制御系により構成される。そして、レンズ制御系とカメラ制御系は、レンズマウント29とカメラマウント31によって接続される通信端子を介して、相互に各種データ、制御信号の授受を行う。
【0024】
SoC51は、複数のプロセッサコアを有するマルチコアプロセッサである。本実施形態の説明において、プロセッサコアを単にコアと略称する。本実施形態において、SoC51は、第1コア221および第2コア222を有する。SoC51は、同種のプロセッサコアを持つホモジニアスマルチコアであってよい。SoC51は、異種のプロセッサコアを持つヘテロジニアスマルチコアであってもよい。
【0025】
SoC51は、リアルタイムオペレーティングシステム(RTOS)と、非リアルタイムオペレーティングシステムであるマルチメデイアオペレーティングシステム(マルチメディアOS)とを動作させる。RTOSは第1OSの一例であり、マルチメディアOSは第2OSの一例である。なお、カーネル、ライブラリ、撮像装置10の制御用のプログラム等を含むソフトウェアコンポーネントを、オペレーティングシステム(OS)と総称する。本実施形態では、第1コア221がRTOSを動作させ、第2コア222がマルチメディアOSを動作させる。SoC51は、リアルタイムOSを動作させて撮像装置10を制御する制御部の一例である。
【0026】
RTOSは、要求された処理を予め定められた時間内に終えることを保証する。RTOSは、ハードウェア割込みが生じてから、対応する処理ルーチンが呼び出されるまでの最悪値が保証されているオペレーティングシステムである。一方、汎用オペレーティングシステムの一例であるマルチメディアOSは、要求された処理を予め定められた時間内に終えることを必ずしも保証していない。マルチメディアOSは、ハードウェア割込みが生じてから、対応する処理ルーチンが呼び出されるまでの最悪値が必ずしも保証されていない。しかし、マルチメディアOSは、例えばTCP/IPスタック等の通信用のライブラリ、グラフィカル・ユーザ・インタフェース(GUI)等のユーザインタフェース用のライブラリ等を備える。リアルタイムOSと比較すると、マルチメディアOSの方が、通信用やユーザインタフェース用のソフトウェアコンポーネントを実装し実行するための環境が整備されている。このため、対話型のユーザインタフェースをマルチメディアOSに容易に実装することができる。
【0027】
RTOSは、主として撮像装置10における固定時間処理を担う。例えば、第1コア221は、レンズユニット20、フォーカルプレーンシャッタ43、撮像素子36、アナログ処理部70、AD変換部71、デジタル処理部72、AEセンサ39、合焦センサ42、メインミラー32、駆動ドライバ73等の制御等、比較的にリアルタイム性が要求される処理を制御する。また、第1コア221は、画像データに対する画像処理を制御する。また、第1コア221は、表示部53による簡易的な表示を制御する。第1コア221は、記録媒体IF56を通じてメモリカード100への記録を制御する。
【0028】
マルチメディアOSは、撮像装置10における通信機能、ユーザインタフェース機能を主として担う。マルチメディアOSは、Linux(登録商標)等のUnix(登録商標)系のオペレーティングシステム、Windows(登録商標)等を例示することができる。第2コア222は、外部接続IF55を通じて外部機器110との間の通信を制御する。また、第2コア222は、表示部53を通じたリッチなユーザインタフェース(UI)を制御する。また、第2コア222は、記録媒体IF56を通じてメモリカード100への記録を制御する。
【0029】
システムメモリ57は、例えばフラッシュメモリ等の不揮発性メモリである。システムメモリ57は、RTOS、マルチメディアOS、および、RTOSおよびマルチメディアOSで共有されるソフトウェアコンポーネントを格納する。システムメモリ57は、リアルタイムOS、および、表示部を介するユーザインタフェース機能を少なくとも提供するマルチメディアOSを格納する格納部の一例である。
【0030】
システムメモリ57はまた、撮像装置10を制御するための各種パラメータなどを記憶する役割を担う。第1コア221は、システムメモリ57からRTOSのカーネル部分およびソフトウェアコンポーネントをSDRAM58にロードして、SDRAM58から命令を読み出して実行する。また、第2コア222は、システムメモリ57からSDRAM58にマルチメディアOSのカーネル部分およびソフトウェアコンポーネントをロードして、SDRAM58から命令を読み出して実行する。なお、システムメモリ57には各OSの実行時のメモリイメージが格納されており、各コアはメモリイメージをSDRAM58に展開して各オペレーティングシステムの動作を開始してよい。
【0031】
SDRAM58は、RTOSおよびマルチメディアOSが共有するメモリ領域である共有メモリ領域を持つ。本実施形態においては、共有メモリ領域は、第1コア221と第2コア222とにより共有される。RTOSおよびマルチメディアOSは、OS間通信機能を有する。OS間通信は、例えば共有メモリ領域、コア間割り込みにより実装される。SDRAM58は、撮像装置10の動作に必要なデータを一時的に記憶するワークメモリとして機能する。例えば、SDRAM58は、撮像により生成された画像データを一時的に記憶する役割を担う。SDRAM58は、第1コア221、第2コア222の少なくとも一方により処理される画像データを一時的に記憶する。
【0032】
ユーザ操作を受け付けるユーザ操作入力部の一例としての操作入力部61およびタッチ入力部62は、ユーザ操作に対応する信号をMPU52へ出力する。操作入力部61は、操作入力部61は、ボタン、スイッチ、ダイヤル、種々のキーとして実装された機械式の入力部材を含む。例えば、操作入力部61は、ユーザ操作による入力部材の変位または位置等の状態を検出して、当該状態を示す信号を出力する。具体的には、操作入力部61は、電気接点がON状態であるかOFF状態であるかを示す信号、可変抵抗器の抵抗値を示す信号等を出力する。操作入力部61としては、電源ボタン、レリーズボタン、ライブビューボタン、動画撮影ボタン、再生ボタン、撮影モードダイヤル等を例示することができる。第1コア221は、MPU52を介して、操作入力部61へのユーザ操作を取得する。第1コア221は、取得した信号に対応するユーザ操作に基づき、撮像装置10の各部を制御する。なお、制御内容、撮像装置10の動作モード等によっては、第1コア221は、ユーザ操作に基づく制御を第2コア222に実行させてよい。
【0033】
タッチ入力部62は、ユーザの指、ペン等によるタッチ操作を受け付けて、タッチ操作を示す信号を、SoC51に出力する。タッチ操作とは、操作面上を移動する操作を含む。タッチ入力部62は、タッチパネルの一部として機能する。具体的には、タッチ入力部62は、表示部53の表示面に平行に実装された検出部材を含む。検出部材としては、抵抗膜方式、静電容量方式、光センサ方式など、種々の方式の検出部材を例示することができる。タッチ入力部62は、ユーザ、ペン等によるタッチ位置を示す信号を、SoC51に出力する。タッチ位置の信号は、表示部53の表示面内における2次元の位置情報を示す。
【0034】
第2コア222は、タッチ入力部62から出力された信号を取得して、取得した信号に基づきユーザ操作を識別して、撮像装置10の各部を制御する。具体的には、第2コア222は、表示部53への表示内容と、タッチ入力部62から出力された信号とに基づき、撮像装置10の各部を制御する。例えば、第2コア222は、タッチ位置に表示した表示内容に対応する制御を行う。したがって、マルチメディアOSの制御によれば、操作入力部61を通じたユーザ操作によるユーザインタフェースと比較して、リッチなユーザインタフェースを提供することができる。
【0035】
撮像装置10における撮像動作は、第1コア221によって制御される。第1コア221は、撮像素子36、アナログ処理部70、AD変換部71、デジタル処理部72の動作を制御する。具体的には、第1コア221は、レリーズボタンの押し下げを検出すると、メインミラー32を斜設状態として、フォーカルプレーンシャッタ43を制御して撮像素子36で露光させる。また、第1コア221は、撮像素子36が有する光電変換素子の読み出しを制御する。撮像素子36が出力したアナログの撮像信号は、アナログ処理部70で前処理されて、AD変換部71でデジタルの撮像信号に変換される。アナログ処理部70は、アナログフロントエンドとして機能するアナログ処理回路で実装される。
【0036】
AD変換部71から出力されたデジタルの撮像信号は、デジタル処理部72で処理される。デジタル処理部72は、デジタルフロントエンドとして機能するデジタル処理回路を有する。例えば、デジタル処理部72は、画像評価値を算出する機能を有する。第1コア221は、画像データの取り込みおよび画像評価値の取り込みをデジタル処理部72に依頼して、デジタル処理部72から画像データおよび画像評価値を取り込む。このように、第1コア221は、フォーカルプレーンシャッタ43および撮像素子36の駆動を制御する。そして、第1コア221は、被写体を撮像させ、被写体像を画像データとして取り込む処理を行う。
【0037】
また、第1コア221は、合焦センサ42からの位相差検出信号に基づいて焦点状態を検出する。すなわち、第1コア221は、位相差検出方式による焦点調節を行う。また、第1コア221は、合焦制御用に取り込まれた画像データを処理して、コントラスト量を示すコントラスト評価値を生成する。第1コア221は、コントラスト検出方式による焦点調節を行う。第1コア221は、コントラスト評価値および位相差データの少なくとも一方に基づき焦点調節用の制御信号を生成して、駆動ドライバ73に供給する。駆動ドライバ73は、第1コア221からの制御信号を受けて各種動作を制御する。例えば、駆動ドライバ73は、制御信号に従って、フォーカスレンズ24、ズームレンズ25、絞り装置28等を駆動する。
【0038】
第1コア221は、デジタル処理部72で処理された画像データに対して、画像処理を施す。画像処理としては、例えば、ホワイトバランス補正、ガンマ補正、色補間処理、輪郭強調処理、YC変換等の色変換処理、間引き処理、符号化処理等を例示することができる。また、画像処理として、多重露光処理、ダイナミックレンジを拡大する処理、赤目補正処理、ぼかし処理、美肌処理、デコレーション処理等、種々の加工処理を含む。また、第1コア221は、画像データを記録用の画像フォーマットの画像データに変換する符号化処理を行う。これらの画像処理により、メモリカード100等への記録用の画像データ、表示部53への表示用の画像データが生成される。
【0039】
記録用の画像データは、記録媒体IF56を介してメモリカード100に書き込まれる。メモリカード100への書き込みは、第1コア221および第2コア222のいずれによっても制御される。
【0040】
外部接続IF55は、外部機器110との間でデータ通信を担う。具体的には、第2コア222は、外部接続IF55を介するデータ通信を制御する。外部機器110としては、パーソナルコンピュータ、モニタ、テレビジョン装置、プリンタ等を例示することができる。外部接続IF55としては、ネットワーク通信IF、USB−IF、HDMI−IF等を例示することができる。
【0041】
MPU52は、電源部54から、カメラユニット30、レンズユニット20の各部への電力供給を制御する。MPU52は、電源部54から電力を供給することができる電力量を示す信号をSoC51に出力する。例えば、MPU52は、電池残量を示す信号をSoC51に出力する。SoC51は、MPU52から出力された信号を取得して、信号に基づいてOSの実行を制御する。例えば、第1コア221は、電池残量が予め定められた値以下である場合に、第2コア222上でマルチメディアOSを動作させない。例えば、電池残量が予め定められた値以下である場合に、マルチメディアOSの動作を停止または終了させる。
【0042】
図3は、撮像装置10のソフトウェア構成の一例を示す。撮像装置10用のソフトウェア300は、RTOS310、マルチメディアOS320、共有ソフトウェアコンポーネント330を含む。
【0043】
RTOS310は、閃光制御用コンポーネント311、メカ制御用コンポーネント312、撮像制御用コンポーネント313、画像処理用アプリーケーションコンポーネント314、画像処理コンポーネント315、GUI用アプリケーションコンポーネント316、ファイルシステム用コンポーネント317、OS間通信用コンポーネント318を有する。画像処理コンポーネント315は、複数の画像処理コンポーネント315a〜eを含む。
【0044】
閃光制御用コンポーネント311は、閃光の発光制御を担うソフトウェアコンポーネントである。閃光制御用コンポーネント311は、撮像装置10に内蔵された閃光装置を駆動するためのプログラムを含む。メカ制御用コンポーネント312は、撮像装置10が有するメカ機構の制御を担うソフトウェアコンポーネントである。メカ制御用コンポーネント312は、メインミラー32、フォーカルプレーンシャッタ43等のメカ機構を駆動するためのプログラムを含む。撮像制御用コンポーネント313は、撮像制御を担うソフトウェアコンポーネントである。撮像制御用コンポーネント313は、操作入力部61に対する撮像指示を受け付け、撮像素子36における電荷蓄積、蓄積電荷の転送等を制御するためのプログラム、駆動ドライバ73、撮像素子36、アナログ処理部70、AD変換部71およびデジタル処理部72等の動作タイミングを制御するためのプログラム等を含む。
【0045】
画像処理コンポーネント315は、上述した画像データに対する画像処理を制御するソフトウェアコンポーネントである。画像処理コンポーネント315により制御される画像処理としては、上述したホワイトバランス補正、ガンマ補正、色補間処理、輪郭強調処理、色変換処理、間引き処理、符号化処理他、メモリカード100等に記録された符号化された画像データを復号する復号処理等を例示することができる。画像処理コンポーネント315a〜eは、互いに異なる画像処理を担う。例えば、画像処理コンポーネント315a〜eは、上述した処理毎に用意されてよい。
【0046】
画像処理用アプリーケーションコンポーネント314は、アプリケーションソフトウェアとしてRTOSに組み込まれる。画像処理用アプリーケーションコンポーネント314は、画像を修整するためのプログラム、ライブラリ等を含む。画像の修整処理としては、上述した多重露光処理、ダイナミックレンジを拡大する処理、赤目補正処理、ぼかし処理、美肌処理、デコレーション処理等、種々の加工処理を含む。
【0047】
GUI用アプリケーションコンポーネント316は、アプリケーションソフトウェアとしてRTOSに組み込まれる。GUI用アプリケーションコンポーネント316は、表示部53を介した比較的に簡易なGUIを提供するソフトウェアコンポーネントである。GUI用アプリケーションコンポーネント316は、撮像装置10の動作を設定する設定メニューを表示部53に表示させるプログラム、表示用の画像データとともに種々の情報を表示部53に表示させるプログラム、GUI用の共通ライブラリ等を含む。
【0048】
ファイルシステム用コンポーネント317は、データをファイルとして入出力する機能を提供するソフトウェアコンポーネントである。ファイルシステム用コンポーネント317は、メモリカード100に画像データ等をファイルとして書き込む処理を実行するためのプログラム等を含む。
【0049】
OS間通信用コンポーネント318は、マルチメディアOSとの間のOS間通信を担うソフトウェアコンポーネントである。OS間通信用コンポーネント318は、マルチメディアOSに情報を送信するプログラム、マルチメディアOSから情報を受信するプログbラムを含む。
【0050】
マルチメディアOS320は、画像処理用アプリーケーションコンポーネント324、GUI用アプリケーションコンポーネント326、ファイルシステム用コンポーネント327、OS間通信用コンポーネント328、外部IF通信用コンポーネント329を有する。
【0051】
画像処理用アプリーケーションコンポーネント324は、アプリケーションソフトウェアとしてマルチメディアOSに組み込まれる。画像処理用アプリーケーションコンポーネント324は、画像を修整するためのプログラム、ライブラリ等を含む。画像の修整処理としては、上述した多重露光処理、ダイナミックレンジを拡大する処理、赤目補正処理、ぼかし処理、美肌処理、デコレーション処理等、種々の加工処理を含む。
【0052】
GUI用アプリケーションコンポーネント326は、アプリケーションソフトウェアとしてRTOSに組み込まれる。GUI用アプリケーションコンポーネント326は、表示部53を介した比較的に複雑なGUIを提供するソフトウェアコンポーネントである。GUI用アプリケーションコンポーネント326は、撮像装置10の動作を設定する設定メニューを表示部53に表示させるプログラム、表示用の画像データとともに種々の情報を表示部53に表示させるプログラム、タッチ入力部62に対するユーザ操作を認識するプログラム、GUI用の共通ライブラリ等を含む。
【0053】
ファイルシステム用コンポーネント327は、データをファイルとして入出力する機能を提供するソフトウェアコンポーネントである。ファイルシステム用コンポーネント327は、メモリカード100、外部接続IF55を通じて接続された外部記録装置に画像データ等をファイルとして書き込む処理を実行するためのプログラム等を含む。ファイルシステム用コンポーネント327は、ファイルシステム用コンポーネント317がサポートするファイルシステムより多くの種類のファイルシステムをサポートしてよい。
【0054】
OS間通信用コンポーネント328は、RTOSとの間のOS間通信を担うソフトウェアコンポーネントである。OS間通信用コンポーネント328は、RTOSに情報を送信するプログラム、RTOSから情報を受信するプログラム等を含む。RTOSに送信する情報としては、後述するタッチパネルにより受け付けたユーザ指示の内容を示す情報等を例示することができる。
【0055】
外部IF通信用コンポーネント329は、外部機器110との間の通信を担うソフトウェアコンポーネントである。外部IF通信用コンポーネント329は、TCP/IP等の通信プロトコルスタック、USBプロトコルスタック、HDMIプロトコルスタック等を含む。このように、マルチメディアOSは、外部機器110との間で通信される通信データを処理する機能を含む。
【0056】
共有ソフトウェアコンポーネント330は、SDRAM58の共有メモリ領域へのアクセスを制御するソフトウェアコンポーネント、撮像装置10が有するハードウェアを制御するためのドライバ、OSのカーネル等の基本コンポーネントとアプリケーションコンポーネントとの間のインタフェース等を提供するミドルウェア等を含む。
【0057】
本図に関連して説明したように、リアルタイムOSは、撮像素子36の駆動を制御する機能を含む。また、リアルタイムOSは、撮像部に対する撮像指示を操作入力部61で受け付ける機能を含む。マルチメディアOSは、撮像指示をタッチ操作で受け付ける機能を含む。また、マルチメディアOSは、ユーザインタフェース用のオブジェクトを表示部53に表示させる機能を含む。第2コア222は、マルチメディアOSを動作させることで、ユーザインタフェース用のオブジェクトを表示部53に表示させる。特に、SoC51は、ユーザインタフェースが有効でない場合に、リアルタイムOSからの制御により、操作入力部61で受け付けた撮像指示に応じて撮像部に撮像させ、ユーザインタフェースが有効である場合に、マルチメディアOSからの制御により、タッチ操作で受け付けた撮像指示に応じて撮像部を制御することができる。
【0058】
図4は、表示部53によるGUIの一例を模式的に示す。画面400は、第1コア221により制御されたGUI画面を示す。画面410および画面420は、第2コア222により制御されたGUI画面を示す。本図では、ライブビュー撮影中のGUI画面を一例として示す。
【0059】
第1コア221は、撮像モードを示す文字401、閃光モードを示す文字402、フォーカスモードを示す文字403、電池残量を示すオブジェクト404、シャッタスピードを示す文字405、F値を示す文字406、ISO感度の設定モードを示す文字407を含む画面400を表示する。第1コア221は、これらの文字およびオブジェクトを、表示用の画像データに基づく画像の周囲に表示させる。
【0060】
第1コア221は、GUI用アプリケーションコンポーネント316に格納されたフォントデータを用いて、文字401〜3、405〜407を表示部53に表示する。第1コア221によるGUI画面で使用されるフォントは、例えばビットマップフォントとしてGUI用アプリケーションコンポーネント316に格納される。第1コア221は、ビットマップフォントを拡大、縮小することなく、表示部53に表示する。
【0061】
また、第1コア221は、GUI用アプリケーションコンポーネント316に格納された電池残量を示すオブジェクトの中から1つのオブジェクトを選択して、オブジェクト404を表示部53に表示する。例えば、GUI用アプリケーションコンポーネント316には、3段階の電池残量に対応づけて3つのオブジェクトをビットマップとして格納されており、電源部54の現在の電池残量に対応する1つのビットマップオブジェクトを選択して、表示部53に表示する。第1コア221は、例えばビットマップオブジェクトを拡大、縮小することなく、表示部53に表示する。
【0062】
次に、画面410について説明する。画面420は、マルチメディアOSが第2コア222で動作している場合のGUI画面の一例である。例えば、マルチメディアOSが起動すると、表示部53の表示画面は、画面400から画面410に遷移する。
【0063】
第2コア222は、撮像モードを示すオブジェクト411、閃光モードを示すオブジェクト412、フォーカスモードを示すオブジェクト413、電池残量を示すオブジェクト414、シャッタスピードを示すオブジェクト415、F値を示すオブジェクト416、ISO感度の設定モードを示すオブジェクト417、タッチ操作用のオブジェクト418、419を含む画面410を表示する。第2コア222は、これらのオブジェクトを、表示用の画像データに基づく画像の周囲または画像内に表示させる。
【0064】
第2コア222は、GUI用アプリケーションコンポーネント326に格納されたフォントデータと、カメラを模ったアイコンデータとを組み合わせて、オブジェクト411を生成して表示する。第2コア222は、GUI用アプリケーションコンポーネント326に格納されたフォントデータと、閃光を模ったアイコンデータとを組み合わせて、オブジェクト413を生成して表示する。
【0065】
第2コア222は、表示される画像に重畳して、電池残量に応じて選択したオブジェクト414を表示する。第2コア222は、画像に重ね合わせてオブジェクト414を表示させて、いわば画像が透過して見えるように表示してよい。第2コア222は、GUI用アプリケーションコンポーネント326に格納されたフォントデータを用いて、シャッタスピードを示すオブジェクト415、F値を示すオブジェクト416、ISO感度設定モードを示すオブジェクト417を生成して表示する。第2コア222は、GUI用アプリケーションコンポーネント326に格納されたグラフィクスライブラリを用いて、タッチ操作用のオブジェクト418、419を生成して表示する。
【0066】
画面410において、オブジェクト411に含まれる文字と、オブジェクト412に含まれる文字とは、サイズが異なる。また、オブジェクト415には、サイズが異なる文字が含まれる。GUI用アプリケーションコンポーネント326には、TrueType(登録商標)等のスケーラブルかつデータ圧縮されたフォントが格納される。第2コア222は、スケーラブルフォントを用いることで、同一のフォントデータから、サイズが異なる文字を含むオブジェクトを生成する。GUI用アプリケーションコンポーネント326には、これらのフォントデータを扱う汎用ライブラリを含む。GUI用アプリケーションコンポーネントを開発する場合、例えば公開された汎用ライブラリを用いることで、撮像装置10に特化した部分を中心にソフトウェア開発をすればよい。
【0067】
また、汎用のグラフィックライブラリを用いることで、オブジェクト414、オブジェクト418、オブジェクト419のように画像にオブジェクトを重畳して表示させるソフトウェアコンポーネントを容易に作成することができる。このため、アプリケーションコンポーネントの開発期間を短縮することができる。
【0068】
次に、画面420について説明する。画面420は、オブジェクト418の表示位置がタッチされた場合のGUI画面の一例である。
【0069】
第2コア222は、タッチ入力部62から取得したタッチ位置がオブジェクト418内の位置である場合に、タッチ操作のオブジェクト421を表示する。オブジェクト421には、レリーズ指示を受け付けるためのオブジェクト422、フォーカス指示を受け付けるためのオブジェクト423、連写モードを設定するためのオブジェクト424、ISO感度の設定モードを変更するためのオブジェクト425、および、諸設定を行うためのオブジェクト426を含む。例えば汎用のグラフィックライブラリを用いることで、オブジェクト421を表示させるソフトウェアコンポーネントを容易に作成することができる。
【0070】
撮像装置10によれば、リッチなGUIを提供するソフトウェアコンポーネントを、マルチメディアOSに実装すればよく、リッチなGUIを提供するソフトウェアコンポーネントをRTOSに実装する必要がない。このため、汎用のオペレーティングシステムと、汎用のフォントライブラリ、グラフィックライブラリ等の汎用のライブラリとを用いて、リッチなGUIを提供するマルチメディアOSを構築すればよい。このため、開発工数を著しく削減することができる。リアルタイム性を要する処理はRTOSが担うので、リアルタイム性に優れた撮像装置10を提供することができる。
【0071】
このように、マルチメディアOSは、撮像装置10に対する指示を表示部53の表示画面に対するユーザからのタッチ操作で受け付ける機能を含む。SoC51は、マルチメディアOSを動作させて撮像装置10に対する指示内容を特定し、特定した指示内容に基づいて撮像装置10を制御することができる。具体的には、マルチメディアOSは、撮像部に対する指示をタッチ操作で受け付ける機能を含み、SoC51は、マルチメディアOSを動作させて撮像部に対する指示内容を特定し、特定した指示内容に基づいて撮像部を制御する。本図の例では、撮像部に対する指示を受け付けるオブジェクトとして、レリーズ指示のオブジェクト422、フォーカス指示のオブジェクト423、連写モードを設定するためのオブジェクト424、ISO感度の設定モードを変更するためのオブジェクト425等を例示した。撮像部に対する指示を受け付けるオブジェクトとして、ズーム倍率を指示するためのオブジェクト等を含んでよい。
【0072】
また、本図に例示したように。リアルタイムOSは、撮像部により撮像された画像を表示部53に表示する機能を含む。一方、マルチメディアOSは、撮像部により撮像された画像に重畳してユーザインタフェース用のオブジェクトを表示部53に表示させる機能を含む。
【0073】
本図の例では、GUI画面を用いて説明したが、外部機器110との通信する場合についても同様である。例えば、汎用の通信プロトコルスタックを用いて、外部機器110での通信処理を制御するソフトウェアコンポーネントをマルチメディアOSに実装すればよい。撮像装置10によれば、RTOSで動作するGUI用のソフトウェアコンポーネントや通信用のソフトウェアコンポーネントをスクラッチから作成する必要がなくなるので、開発工数を著しく削減することができる。
【0074】
図5は、撮像装置10のシステム全体を制御するOSの切り替えを示す。本図では、通信接続の有無およびタッチパネル機能の有無の組み合わせに対応づけて、RTOSおよびマルチメディアOSのいずれがシステム全体を統括制御するかをテーブル形式で示す。
【0075】
外部機器110との通信接続を要する場合、タッチパネル機能の要否にかかわらず、マルチメディアOSによってシステム全体が制御される。すなわち、第2コア222によってシステム全体が制御される。外部機器110との通信処理は、主としてマルチメディアOSの外部IF通信ソフトウェアコンポーネント329によってサポートされる。すなわち、SoC51は、データ通信を有効にして撮像装置10を動作させる場合に、マルチメディアOSを動作させて少なくとも通信データを処理する。
【0076】
外部機器110との通信接続を要さず、タッチパネル機能を要する場合、マルチメディアOSによってシステム全体が制御される。すなわち、第2コア222によってシステム全体が制御される。タッチパネル機能を用いたGUI処理は、主としてGUI用アプリケーションコンポーネント326によってサポートされる。例えば、レリーズ指示を、タッチパネル操作を通じて受け付けることができる。第2コア222においてレリーズ指示を受け付けた場合、OS間通信によって第1コア221に撮像指示が通知され、第1コア221の制御の下で撮像動作が制御される。なお、第2コア222によってシステム全体が制御されている場合でも、レリーズボタンの操作を撮像指示として受け付けた場合に第1コア221が撮像関連の動作を開始してよい。このように、マルチメディアOSによってシステム全体が制御されている場合でも、撮像動作は主としてRTOSによって制御される。
【0077】
外部機器110との通信接続およびタッチパネル機能を要しない場合、RTOSによってシステム全体が制御される。すなわち、第1コア221によってシステム全体が制御される。この場合、GUI処理は第1コア221が担う。例えば、表示部53に表示される画面は、図4の画面400で例示したような簡易的な表示画面となる。レリーズ指示は、レリーズボタンを通じて受け付けることができる。リアルタイム性を持つRTOSによってシステム全体が制御されるので、撮像装置10の応答速度を高めることができる。RTOSによるシステム全体の制御は、例えば高速連写を必要とする場合に適する。
【0078】
なお、タッチパネル機能を要しない場合とは、表示部53の動作がオフされた場合や、表示部53のタッチパネル機能を休止またはオフする操作がなれた場合等を例示することができる。また、表示部53がいわゆるバリアングルの表示部材である場合のように、表示部53が位置または向きが可変な表示面を有する場合、表示面が開状態にされた場合をタッチパネル機能を要する場合とし、表示面が閉状態にされた場合をタッチパネル機能を要しない場合としてよい。
【0079】
図6は、画像処理バッファとして使用されるメモリ領域の遷移例を模式的に示す。画像処理バッファは、画像データの一時記憶領域として使用されるメモリ領域であり、SDRAM58内に確保される。連続撮影時には、画像処理バッファは、連続撮影により得られた複数の画像の画像データを、一時記憶領域に記憶する。SoC51は、一時記憶領域に記憶された画像データに対して画像処理を施す。
【0080】
メモリマップ610は、マルチメディアOSでシステム全体が制御される場合のSDRAM58のメモリマップを示す。
【0081】
メモリ領域611は、RTOSの実行イメージが格納される。メモリ領域612は、RTOSに含まれるアプリケーションプログラムが動作する場合に、第1コア221によってスタック領域として使用される。メモリ領域613は、マルチメディアOSの実行イメージが格納される。メモリ領域614は、マルチメディアOSに含まれるアプリケーションプログラムが動作する場合に、第2コア222によってスタック領域として使用される。
【0082】
メモリ領域615は、RTOSおよびマルチメディアOSによる画像処理用のバッファ領域として使用される。具体的には、第1コア221は、画像データの取り込み先として、メモリ領域615を使用する。また、第1コア221は、画像処理用のワークエリアとしてメモリ領域615を使用する。また、メモリ領域615は、第2コア222が画像処理を行う場合のワークエリアとしても使用する。メモリ領域615は、RTOSおよびマルチメディアOSによって共有される。
【0083】
メモリマップ620は、RTOSでシステム全体が制御される場合のSDRAM58のメモリマップを示す。メモリ領域621は、RTOSの実行イメージが格納される。メモリ領域622は、RTOSに含まれるアプリケーションプログラムが動作する場合に、第1コア221によってスタック領域として使用される。メモリ領域625は、RTOSによる画像処理用のバッファ領域として使用される。具体的には、第1コア221は、画像データの取り込み先として、メモリ領域625を使用する。また、第1コア221は、画像処理用のワークエリアとしてメモリ領域625を使用する。
【0084】
RTOSでシステム全体が制御される場合、マルチメディアOSでシステム全体が制御される場合と比較して、画像処理用のバッファ領域としてより多くのメモリ領域625が確保される。一例として、メモリ領域625は、メモリ領域613、614の少なくとも一部を含んでよい。例えば、メモリ領域625は、メモリ領域615と、メモリ領域613、614の少なくとも一部とを含んでよい。
【0085】
システム全体を制御するOSをマルチメディアOSとRTOSでシステムとの間で切り替えた場合、SDRAM58内のOSが使用するメモリマップはメモリマップ610とメモリマップ620との間で切り替わる。例えば、マルチメディアOSでシステム全体を制御している場合に、撮像モードや、SDRAM58の使用状況等に応じてRTOSによる全体制御に切り替える。RTOSによる全体制御に切り替えることで、メモリマップ620で示すように画像処理用のバッファ領域を増加させることができる。
【0086】
例えば、撮像モードが高速連写モードに設定された場合に、RTOSによる全体制御に切り替えて、撮影指示をレリーズボタンで受け付ける。RTOSによる全体制御に切り替えることで、システム全体をレスポンス良く制御することができる。また、RTOSによる全体制御に切り替えることで、画像処理用のバッファ領域を増加させる。これにより、連続して撮影することができる連写可能枚数を増加させることができる。また、マルチメディアOSでシステム全体を制御している場合に、連写撮影中にメモリ領域615が画像処理用のバッファ領域として不足したときは、連写撮影中にRTOSによる全体制御に切り替えて、画像処理用のバッファ領域を増加させる。これにより、連写撮影を継続する時間を増加させることができる。このように、SoC51は、リアルタイムOSおよびマルチメディアOSを、SDRAM58の一部のメモリ領域を使用して動作させ、一時記憶領域が不足する場合に、マルチメディアOSの動作を停止して、マルチメディアOSが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を一時記憶領域に割り当てる。
【0087】
図7は、撮像装置10の起動から終了までの処理フローを示す。本フローは、操作入力部61の一部としての電源ボタンがONされた場合に、開始される。本フローに関する動作は、特に説明しない限り、システム全体を制御するOSを動作させるコアが主体となって本動作を制御する。
【0088】
ステップS700において、第1コア221は、RTOSを起動する。具体的には、第1コア221は、システムメモリ57からRTOSの実行イメージを読み出して、SDRAM58に展開する。
【0089】
第1コア221は、RTOSの制御に従って、初期設定を開始する。例えば、第1コア221は、撮像装置10を制御するための各種パラメータ等を、システムメモリ57からSDRAM58に展開する。また、第1コア221は、レンズユニット20からレンズ固有情報を取得して、SDRAM58にレンズパラメータとして展開する。レンズ固有情報としては、レンズの種類、レンズユニット20を制御するための制御パラメータ等を例示することができる。また、第1コア221は、撮像装置10の各部の状態に基づき、動作モードを設定する。
【0090】
例えば、外部接続IF55に外部機器110が接続されている場合に、外部機器110との間で通信を行う動作モードを設定する。また、撮像モードスイッチ等の状態から撮影モードを判断し、撮影モードが高速連写モードにされている場合に、動作モードの一部としての撮影モードを高速連写モードに設定する。また、表示部53のタッチパネル機能がデフォルトで有効に設定されている場合、タッチパネルを有効にして動作する動作モードを設定する。タッチパネル機能がデフォルトで無効に設定されている場合、タッチパネルを無効にして動作する動作モードを設定する。
【0091】
ステップS704において、第1コア221は、マルチメディアOSの制御を行う。具体的には、設定された動作モードに応じて、マルチメディアOSの起動を制御する。本フローについては、図8に関連して説明する。
【0092】
ステップ706において、ユーザ操作等により生じるイベントの種類を判定する。第1コア221により検出されるイベントとしては、操作入力部61の一部としてのコマンドダイヤル等のユーザ操作により生じる諸動作する設定イベント、レリーズボタンやライブビューボタン等の撮影実行に関するユーザ操作により生じる撮影イベント、再生ボタンが操作されることにより生じる再生イベント等を例示することができる。第2コア222により検出されるイベントとしては、タッチ入力部62上に表示された諸設定のオブジェクトの位置がタッチされることにより生じる設定イベント、レリーズ指示のオブジェクトの位置がタッチされることにより生じる撮影イベント等を例示することができる。
【0093】
ステップS706において設定イベントが生じたと判定された場合、指示された設定処理を行う(ステップS708)。タッチ入力部62を通じたユーザ操作に対しては、第2コア222が全体を制御して設定処理を行う。操作入力部61を通じたユーザ操作に対しては、第1コア221が全体を制御して設定処理を行う。設定処理としては、外部機器110との間で通信を行う動作モードを設定する処理、撮影モードを設定する処理、撮影条件を設定する処理、画像処理条件を設定する処理、連写モードを設定する処理、動画撮影におけるフレームレートを設定する処理等を例示することができる。連写モードを設定する処理としては、連写モードで静止画撮影するか否かを設定する処理を例示することができる。また、連写モードを設定する処理として、高速連写モード、通常連写モードを含む複数連写モードの中から、連写撮影で実行する連写モードを選択する処理を例示することができる。
【0094】
続いて、ステップS710において、第1コア221は、動作モードが変更されたか否かを判断する。動作モードが変更された場合、ステップS704に処理を移行して、マルチメディアOSの起動を制御する。ステップS710において、動作モードが変更されていないと判断された場合、ステップS730に処理を移行する。
【0095】
ステップS706において撮影イベントが生じたと判定された場合、撮影実行に関する処理を行う(ステップS712)。ステップS712における動作については、図9、図10等に関連して説明する。ステップS706において再生イベントが生じたと判定された場合、再生処理を実行する(ステップS722)。再生処理としては、メモリカード100に記録された画像をサムネイル表示する処理、ユーザにより指示された画像を表示する処理等を例示することができる。ステップS712、ステップS722の処理が完了すると、ステップS730に処理を移行する。
【0096】
ステップS730において、電源をOFFするか否かを判断する。例えば、電源がONされてから予め定められた期間、ユーザ指示無しの状態が継続した場合等に、電源をOFFすると判断する。電源ボタンがOFF位置に切り替えられた場合も、電源をOFFすると判断する。電源をOFFしないと判断した場合はステップS706に処理を移行させる。電源をOFFすると判断した場合、第1コア221は、マルチメディアOSが動作している場合は第2コア222にマルチメディアOSの動作を終了させる。また、第1コア221は、RTOSの動作を終了するルーチンを実行し、処理を終了する。
【0097】
このように、システム全体をマルチメディアOSが制御している場合でも、撮像動作はRTOSが制御する。例えば、SoC51は、マルチメディアOSを動作させて撮像部に対する指示内容を特定し、特定した指示内容に基づいてリアルタイムOSにより撮像素子の駆動を制御する。
【0098】
図8は、マルチメディアOSの動作を制御する動作フローの一例を示す。具体的には、図7のステップS704の処理の詳細な動作フローを示す。
【0099】
ステップS802において、第1コア221は、撮影モードが高速連写モードに設定されているか否かを判断する。高速連写モードに設定されていないと判断された場合、通信接続の有無を判断する(ステップS804)。例えば、ネットワーク通信を行う動作モードである場合に、通信接続を有する動作モードであると判断する。また、ネットワーク通信ケーブルが外部接続IF55に接続されている場合に、通信接続を有する動作モードであると判断する。
【0100】
通信接続がある場合、マルチメディアOSが起動済であるか否かを判断する(ステップS806)。マルチメディアOSが起動済みでない場合、第1コア221は、マルチメディアOSを起動させる。例えば、第1コア221は第2コア222にリセット信号を供給して、マルチメディアOSをシステムメモリ57からロードさせ、マルチメディアOSの動作を開始させる。マルチメディアOSが起動すると、マルチメディアOSによるシステム全体の制御が開始される(ステップS810)。ステップS806においてマルチメディアOSが起動済みであると判断された場合は、ステップS810に処理を進める。
【0101】
ステップS804において通信接続がないと判断された場合、タッチパネル機能を有効にすべき動作モードであるか否かを判断する(ステップS812)。タッチパネル機能を有効にすべき動作モードであると判断された場合、第1コア221は、電池残量が十分であるか否かを判断する。例えば、電池残量が予め定められた値を超える場合に、電池残量が十分であると判断する。電池残量が十分である場合、ステップS806に処理を移行させる。電池残量が十分でない場合、ステップS816に処理を進めて、RTOSによるシステム全体の制御を開始する。なお、ステップS816では、マルチメディアOSが起動済みであるか否かを判断して、マルチメディアOSが起動済みである場合には、マルチメディアOSの動作を停止させてよい。例えば、SoC51は、リアルタイムOSおよびマルチメディアOSが動作している場合に、ユーザインタフェースを無効にすべきユーザ操作を受け付けたことを条件として、マルチメディアOSによる制御を停止してよい。
【0102】
ステップS812の判断において、タッチパネル機能を無効にすべき動作モードであると判断された場合、ステップS816に処理を進める。例えば、表示部53がバリアングルの表示部材である場合、SoC51は、表示部53の表示面が開状態にされた場合にマルチメディアOSを動作させ、リアルタイムOSおよびマルチメディアOSが動作している場合に表示面が閉状態にされたことを条件としてマルチメディアOSによる制御を停止させてよい。
【0103】
ステップS802の判断において、撮影モードが高速連写モードに設定されている場合、通信接続を無効にするとともに、タッチパネル機能を無効にし(ステップS822)、ステップS816に処理を進める。すなわち、リアルタイムOSおよびマルチメディアOSが動作している場合に、予め定められた値より高い速度で撮像部に連続撮影させる旨の指示を受け付けたことを条件として、マルチメディアOSによる制御を停止してリアルタイムOSに連続撮影を制御させてよい。なお、SoC51は、高速連写に限らず、連写撮影させる旨の指示を受け付けたことを条件として、マルチメディアOSによる制御を停止してもよい。
【0104】
撮像装置10によると、表示部53を使用しない動作モードで撮影するときはRTOSでシステム全体を制御する。このため、高速に起動することができる。また、上述した諸設定によって表示部53のタッチパネル機能を有効にして撮像装置10を動作させる動作モードに設定された場合に、マルチメディアOSによりシステム全体を動作させることができる。すなわち、SoC51は、表示部53を介するユーザインタフェース機能を有効にして撮像装置10を動作させる場合に、マルチメディアOSを起動させてマルチメディアOSに表示部53を少なくとも制御させることができる。例えば、SoC51は、表示部53を介するユーザインタフェースを有効にすべきユーザ操作を操作入力部61等の操作部材が受け付けた場合に、マルチメディアOSを起動させる。
【0105】
なお、図7のステップS708における設定操作によって動作モードが変更された場合に、本図のフローを実行するとしたが、再生ボタンが押下された場合、動作モードとしてマルチメディアOSによりシステム全体を制御する動作モードに遷移してもよい。
【0106】
図9は、静止画撮影における動作フローの一例を示す。本例は、ステップS712内の詳細な動作フローの一例である。静止画撮影の指示は、レリーズボタンまたはタッチパネルに対するユーザ操作により、静止画撮影を受け付けた場合について説明する。
【0107】
ステップS902において、静止画を撮影する。具体的には、第1コア221は、位相差検出信号から検出したレンズ群21の焦点状態に基づいてフォーカスレンズ24の目標位置を決定し、フォーカスレンズ24を当該目標位置に位置させるよう駆動ドライバ73に指示する。そして、第1コア221は、メインミラー32をアップさせて図1の破線で示した退避位置に移動させ、撮像素子36で露光して被写体像を出力させ、被写体像をRAW画像データとしてSDRAM58に取り込む。
【0108】
続いて、ステップS904において、第1コア221は、取り込まれたRAW画像データに画像処理を施して、記録用の画像データを生成する。続いて第1コア221は、ステップS906において、マルチメディアOSを起動済であるか否かを判断する。マルチメディアOSを起動済である場合、第1コア221は、メモリカード100のファイルシステムをRTOSがサポートしているか否かを判断する(ステップS908)。メモリカード100のファイルシステムをRTOSがサポートしていない場合、第1コア221はマルチメディアOSを起動する(ステップS910)。マルチメディアOSが起動すると、ステップS912において、第2コア222がSDRAM58からメモリカード100に記録用の画像データを転送してメモリカード100に書き込む。
【0109】
ステップS908の判断においてメモリカード100のファイルシステムをRTOSがサポートしていると判断された場合、ステップS912では、第1コア221がSDRAM58からメモリカード100に記録用の画像データを転送してメモリカード100に書き込んでよい。ステップS906の判断においてマルチメディアOSを起動済であると判断された場合、ステップS912では、第2コア222がSDRAM58からメモリカード100に記録用の画像データを転送してメモリカード100に書き込む。なお、ステップS904において、マルチメディアOSを起動済みであり、画像処理に要するバッファ領域が不足すると判断されたときは、第1コア221はマルチメディアOSを停止させて、RTOSが使用するバッファ領域を増加させてから、画像処理を施してよい。
【0110】
図10は、撮影処理における他の動作フローの一例を示す。本例は、ステップS712内の詳細な動作フローの一例である。特に、ライブビュー撮影を指示された場合の動作フローの一例である。
【0111】
ステップS1002において、第1コア221は、表示用画像の撮影を開始する。具体的には、第1コア221は、メインミラー32をアップさせて図1の破線で示した退避位置に移動させ、撮像素子36で順次に露光する。第1コア221は、順次にSDRAM58に取り込んだRAW画像データから表示用の画像データを生成して、表示部53に順次に表示させる。
【0112】
ステップS1004において、ユーザ操作等により生じるイベントの種類を判定する。静止画撮影のイベントが生じた場合、静止画撮影を行う。静止画撮影のイベントは、レリーズボタンを押し込むことで生じるイベント、タッチパネルに対してレリーズ指示のタッチ操作がなさることにより生じるイベント等を例示することができる。
【0113】
静止画撮影のイベントが生じた場合、ステップS1006において、撮影モードが連写モードに設定されているか否かを判断する。連写モードに設定されていない場合、静止画撮影を行う(ステップS1008)。具体的には、第1コア221は、取り込んだ画像データからコントラスト量を検出して、コントラスト量に基づきフォーカスレンズ24の目標位置を決定し、フォーカスレンズ24を当該目標位置に位置させるよう駆動ドライバ73に指示する。そして、第1コア221は、撮像素子36で露光して被写体像を出力させ、被写体像をRAW画像データとしてSDRAM58に取り込む。続いて、ステップS1010において、メモリカード100への記録を行う。ステップS1010の動作については、図9のステップS904以降の処理と同様の処理を適用することができるので、説明を省略する。
【0114】
ステップS1006の判断において、連写モードに設定されていると判断された場合、静止画の連写撮影を開始する(ステップS1012)。具体的には、第1コア221は、撮像素子36で連続して露光させることにより静止画の連写撮影を行う。第1コア221は、順次に取り込んだRAW画像データに対して順次に画像処理を施して、記録用の画像データを生成する。
【0115】
静止画の連写撮影中に、ステップS1014において、マルチメディアOSの制御を行う。具体的には、第1コア221は、マルチメディアOSが起動済であり、画像処理用のバッファ領域が不足した場合に、マルチメディアOSを停止させる。本動作については、図11に関連して説明する。
【0116】
続いて、ステップS1016において、第1コア221は静止画の連写撮影を終了するか否かを判断する。具体的には、レリーズボタンが押し込まれることで連写撮影が開始された場合、レリーズボタンが押し込まれた状態が解除されたときに、連写撮影を終了すると判断する。タッチパネルへの操作により連写撮影が開始された場合、タッチパネルの操作が再度なされた場合に、連写撮影を終了すると判断してよい。タッチパネルへの操作により連写撮影が開始された場合であって、連写撮影中にマルチメディアOSを停止させた場合には、レリーズボタンの押し込みを検出した場合に、連写撮影を終了すると判断してよい。連写撮影を終了しないと判断された場合、ステップS1014に処理を移行する。連写撮影を終了すると判断された場合、ステップS1010に処理を移行して、メモリカード100への記録を行う。ステップS1010の処理としては、図9のステップS906以降の処理と同様の処理を適用することができるので、説明を省略する。
【0117】
ステップS1004の判定において、動画画撮影のイベントが生じた場合、動画撮影を開始する(ステップS1022)。動画撮影のイベントは、動画撮影ボタンを押し込むことで生じるイベント、タッチパネルに対する動画撮影指示のタッチ操作がなさることにより生じるイベント等を例示することができる。
【0118】
動画撮影が開始されると、第1コア221は、撮像素子36で連続して露光させることにより、複数のフレームを連続して撮影させる。第1コア221は、取り込んだフレームに対して動画の符号化処理を施して、記録用の動画データを生成する。
【0119】
動画撮影中に、ステップS1024において、マルチメディアOSの制御を行う。具体的には、第1コア221は、マルチメディアOSが起動済であり、画像処理用のバッファ領域が不足した場合に、マルチメディアOSを停止させる。本動作については、図11に関連して説明する。
【0120】
続いて、ステップS1026において、第1コア221は動画撮影を終了するか否かを判断する。具体的には、動画撮影ボタンが操作されることで動画撮影が開始された場合、動画撮影ボタンが再度操作されたときに、動画撮影を終了すると判断する。タッチパネルへの操作により動画撮影が開始された場合、タッチパネルの操作が再度なされた場合に、動画撮影を終了すると判断してよい。タッチパネルへの操作により動画撮影が開始された場合であって、動画撮影中にマルチメディアOSを停止させた場合には、動画撮影ボタンの押し込みを検出した場合に、動画撮影を終了すると判断してよい。動画撮影を終了しないと判断された場合、ステップS1024に処理を移行する。動画撮影を終了すると判断された場合、ステップS1010に処理を移行して、メモリカード100への動画データの記録を行う。ステップS1010の処理としては、図9のステップS906以降の処理と同様の処理を適用することができるので、説明を省略する。
【0121】
ステップS1010の処理が完了すると、ステップS1002に処理を移行させ、次のイベントを待つ。ステップS1002の判断においてライブビュー撮影を終了するイベントが生じたと判定された場合には、ライブビュー撮影を終了する。例えば、ライブビューボタンが元の位置に戻された場合に、ライブビュー撮影を終了するイベントが生じる。また、ライブビュー撮影が開始されてから予め定められた期間、ユーザ操作がなされなかった場合に、ライブビュー撮影を終了するイベントが生じる。
【0122】
なお、図7のステップS708における設定操作によって動作モードが変更された場合に、マルチメディアOSの起動を制御するとしたが、ライブビューボタンが押し下げられた場合、高速連写モードに設定されていないことを条件として、マルチメディアOSによりシステム全体を制御する動作モードに遷移してもよい。また、図9のステップS902の説明では特に言及しなかったが、撮影モードが連写モードに設定されている場合には、連写撮影を行ってよい。そして、当該連写撮影中に、本図のフローで説明したようなマルチメディアOSの制御を適用してもよい。
【0123】
図11は、マルチメディアOSの動作を制御する動作フローの一例を示す。具体的には、図10のステップS1014、ステップS1024の処理の詳細な動作フローの一例である。
【0124】
ステップS1102において、第1コア221は、マルチメディアOSを起動済みであるか否かを判断する。マルチメディアOSが起動済みであると判断された場合、第1コア221は、マルチメディアOSを終了するまでに画像処理用のバッファ領域が満杯になるか否かを判断する(ステップS1104)。
【0125】
具体的には、マルチメディアOSの動作イメージをシステムメモリ57に格納させるのに要する時間内に、画像処理用のバッファ領域が満杯になるか否かを判断する。具体的には、使用可能なバッファ領域の残量をバッファ領域の使用量の単位時間あたりに増加量で除した値が、マルチメディアOSの動作イメージをシステムメモリ57に格納させるのに要する時間より短い場合に、マルチメディアOSを終了するまでに画像処理用のバッファ領域が満杯になると判断する。ステップS1104の判断により、マルチメディアOSをハイバネートするのに要する時間内に、画像処理用のバッファ領域が満杯になるか否かを判断することができる。
【0126】
なお、バッファ領域の使用量の単位時間あたりに増加量は、連続撮影により単位時間あたりに撮影される画像数、当該画像の画素数により算出される。静止画を連写撮影している場合、単位時間あたりに撮影される画像数は、静止画の連写速度、いわゆる連写撮影のコマ速により算出される。動画撮影している場合、単位時間あたりに撮影される画像数は、動画撮影のフレームレートにより算出される。このように、SoC51は、連続撮影により単位時間あたりに撮影される画像数に基づいて、一時記憶領域が不足するか否かを判断してよい。連続撮影中に画像処理済みの画像データをメモリカード100に転送する場合、メモリカード100への転送速度を考慮して、バッファ領域の使用量の単位時間あたりに増加量を算出してよい。
【0127】
マルチメディアOSを終了するまでに画像処理用のバッファ領域が満杯になると判断した場合、第1コア221は、マルチメディアOSを終了させる(ステップS1106)。マルチメディアOSを終了させる(ステップS1106)。マルチメディアOSの終了が完了すると、第1コア221は、マルチメディアOSが使用していたバッファ領域を、RTOSに割り当てて(ステップS1108)、処理を終了する。
【0128】
ステップS1102の判断において、マルチメディアOSが起動済みでないと判断された場合は、本フローを終了する。なお、第1コア221は、マルチメディアOSの動作を停止させた後、一時記憶領域の不足が解消された場合には、マルチメディアOSの動作を再開させてもよい。また、ステップS1104の判断において、マルチメディアOSを終了するまでに画像処理用のバッファ領域が満杯にならないと判断された場合も、本フローを終了する。
【0129】
本図で説明したフローによれば、SoC51は、マルチメディアOSのメモリイメージを不揮発性メモリにハイバネートするのに要する時間と、連続撮影により単位時間あたりに撮影される画像数に基づいて、マルチメディアOSのメモリイメージのハイバネートを開始するタイミングを決定し、決定したタイミングでマルチメディアOSの動作を停止させてハイバネートを開始させることができる。このため、マルチメディアOSをハイバネートするのに要する時間内に画像処理用のバッファ領域が満杯になることを未然に防ぐことができる。
【0130】
以上の説明においては、SoC51は、マルチコアプロセッサであるとして説明した。特に、SoC51が2つのコアを有するとして説明したが、3以上のコアを有してよい。第1コア221がRTOSを動作させ、第2コア222がマルチメディアOSを動作させるとして説明したが、第1コア221および第2コア222がRTOSを動作させてもよい。また、第1コア221および第2コア222が、RTOSおよびマルチメディアOSを動作させてもよい。また、SoC51は、シングルチップ化されたマルチプロセッサであってよい。また、SoC51は、シングルコアプロセッサであってよい。すなわち、SoC51は、単一のプロセッサであってもよい。また、SoC51に限られず、様々なパッケージでプロセッサが撮像装置10に実装されてよい。
【0131】
本実施形態の撮像装置10に関連して説明した処理は、撮像装置10の各部、例えばSoC51等として組み込まれたプロセッサが、プログラムに従って動作することにより、実現することができる。すなわち、当該処理を、いわゆるコンピュータ装置によって実現することができる。コンピュータ装置は、上述した処理の実行を制御するプログラムをロードして、読み込んだプログラムに従って動作して、当該処理を実行してよい。コンピュータ装置は、当該プログラムを記憶しているコンピュータ読取可能な記録媒体を読み込むことによって、当該プログラムをロードすることができる。
【0132】
本実施形態において、撮像装置10を取り上げて電子機器の一例を説明した。撮像装置としては、レンズ交換式の一眼レフカメラ、コンパクトデジタルカメラ、ミラーレス一眼カメラ、ビデオカメラ、撮像機能付きの携帯電話機、撮像機能付きの携帯情報端末、撮像機能付きのゲーム機器等の娯楽装置、スキャナ、ファクシミリ等、撮像機能を有する機器を適用の対象とすることができる。また、電子機器は、テレビ、ビデオ、デジタルフォトフレーム、プロジェクタ装置、ゲーム機器等の娯楽装置等の電子画像機器として実現されてよい。また、電子機器は、録音装置等の電子音声機器として実現されてよい。
【0133】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0134】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0135】
10 撮像装置、11 光軸、20 レンズユニット、21 レンズ群、22 前玉、23 後玉、24 フォーカスレンズ、25 ズームレンズ、26 鏡筒、27 レンズ回路基板、28 絞り装置、29 レンズマウント、30 カメラユニット、31 カメラマウント、32 メインミラー、33 ピント板、34 メインミラー回転軸、35 ミラーボックス、36 撮像素子、37 ペンタプリズム、38 接眼光学系、39 AEセンサ、40 サブミラー、41 合焦光学系、42 合焦センサ、43 フォーカルプレーンシャッタ、50 メイン基板、51 SoC、52 MPU、53 表示部、54 電源部、55 外部接続IF、56 記録媒体IF、57 システムメモリ、58 SDRAM、61 操作入力部、62 タッチ入力部、70 アナログ処理部、71 AD変換部、72 デジタル処理部、73 駆動ドライバ、100 メモリカード、110 外部機器、221 第1コア、222 第2コア、311、312、313、314、315、316、317、318、324、326、327、328、329、330 コンポーネント、400、410、420 画面、401、403、407 文字、404、411、412、413、414、415、416、417、418、419、421、423、425、426 オブジェクト、610、620 メモリマップ、611、612、613、614、615、621、622、625 メモリ領域
【技術分野】
【0001】
本発明は、電子機器、撮像装置およびプログラムに関する。
【背景技術】
【0002】
動画記録中、又は音声記録中にのみタッチパネルによる特定の操作指示を受け付ける撮像装置が知られている(例えば、特許文献1参照)。
[先行技術文献]
[特許文献]
[特許文献1]特開2007−214774号公報
【発明の概要】
【発明が解決しようとする課題】
【0003】
タッチパネル機能のような複雑なユーザインタフェース機能をリアルタイムオペレーティングシステム上で実装するには膨大な開発工数を要する。一方、汎用のオペレーティングシステム上で固定時間処理を実現することは期待できない。また、汎用オペレーティングシステムの起動には長い時間を要する。このように、複雑なユーザインタフェース機能を実装しつつ応答性能を高めることができないという課題があった。
【課題を解決するための手段】
【0004】
本発明の第1の態様においては、電子機器は、表示部と、リアルタイムOSである第1OS、および、表示部を介するユーザインタフェース機能を少なくとも提供する第2OSを格納する格納部と、第1OSを動作させて電子機器を制御する制御部と、を備え、制御部は、表示部を介するユーザインタフェース機能を有効にして電子機器を動作させる場合に、第2OSを起動させて第2OSに表示部を少なくとも制御させる。
【0005】
本発明の第2の態様においては、撮像装置は、画像データの一時記憶領域として少なくとも一部のメモリ領域が割り当てられるメモリ部と、リアルタイムOSである第1OS、および、非リアルタイムOSである第2OSを動作させて撮像装置を制御する制御部と、を備え、制御部は、メモリ部の一部のメモリ領域を使用して第2OSを動作させている場合に、一時記憶領域が不足することを条件として、第2OSの動作を停止させ、第2OSが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を一時記憶領域に割り当てる。
【0006】
本発明の第3の態様によると、表示部を有する電子機器を制御するプログラムであって、リアルタイムOSである第1OSを動作させて電子機器を制御するステップと、表示部を介するユーザインタフェース機能を有効にして電子機器を動作させる場合に、表示部を介するユーザインタフェース機能を少なくとも提供する第2OSを起動させて第2OSに表示部を少なくとも制御させるステップと、をコンピュータに実行させる。
【0007】
本発明の第4の態様によると、画像データの一時記憶領域として少なくとも一部のメモリ領域が割り当てられるメモリ部を有する撮像装置を制御するプログラムであって、リアルタイムOSである第1OS、および、非リアルタイムOSである第2OSを動作させて撮像装置を制御するステップと、メモリ部の一部のメモリ領域を使用して第2OSを動作させている場合に、一時記憶領域が不足することを条件として、第2OSの動作を停止させ、第2OSが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を一時記憶領域に割り当てるステップと、をコンピュータに実行させる。
【0008】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0009】
【図1】一実施形態に係る撮像装置10の要部断面図である。
【図2】撮像装置10のシステム構成を概略的に示すブロック図である。
【図3】撮像装置10のソフトウェア構成の一例を示す。
【図4】表示部53によるGUIの一例を模式的に示す。
【図5】撮像装置10のシステム全体を制御するOSの切り替えを示す。
【図6】画像処理バッファとして使用されるメモリ領域の遷移例を模式的に示す。
【図7】撮像装置10の起動から終了までの処理フローを示す。
【図8】マルチメディアOSの動作を制御する動作フローの一例を示す。
【図9】静止画撮影における動作フローの一例を示す。
【図10】撮影処理における他の動作フローの一例を示す。
【図11】マルチメディアOSの動作を制御する動作フローの一例を示す。
【発明を実施するための形態】
【0010】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0011】
図1は、一実施形態に係る撮像装置10の要部断面図である。撮像装置10は、レンズユニット20がカメラユニット30に装着されて、撮像装置として機能する。カメラユニット30には、焦点距離、開放F値等の異なる複数のレンズユニット20が、交換レンズとして交換可能に装着される。
【0012】
レンズユニット20は、光軸11に沿って配列され鏡筒26に支持されたレンズ群21と、絞り装置28とを備える。撮像レンズの一例としてのレンズ群21は、入射される被写体光束をカメラユニット30へ導く。図においては、レンズ群を構成するレンズとして前玉22および後玉23の他に、フォーカスレンズ24、ズームレンズ25等が含まれる。フォーカスレンズ24、ズームレンズ25は、それぞれ焦点調整、画角調整の指示に応じて光軸方向に移動できるように構成されている。
【0013】
鏡筒26は、レンズ回路基板27を支持しており、レンズ回路基板27は、レンズユニット20を制御する各種回路の電子素子等を搭載している。レンズユニット20は、カメラユニット30との接続部にレンズマウント29を備え、カメラユニット30が備えるカメラマウント31と係合して、カメラユニット30と一体化する。レンズマウント29とカメラマウント31はそれぞれ通信端子を備えており、マウント同士が係合したときに互いの通信端子が接続される。これにより、レンズ回路基板27に搭載された各種回路、電子素子等は、カメラユニット30側と電気的に接続される。カメラユニット30は、カメラユニット30およびレンズユニット20の通信端子を介して、レンズユニット20の固有情報のデータを、レンズユニット20から取得する。
【0014】
カメラユニット30は、レンズユニット20から入射される被写体光束を反射するメインミラー32と、メインミラー32で反射された被写体光束が結像するピント板33を備える。メインミラー32は、ミラーボックス35の内部でメインミラー回転軸34周りに揺動して、光軸11を中心とする被写体光束中に斜設される反射状態と、被写体光束から退避する退避状態を取り得る。サブミラー40は、メインミラー32が被写体光束から退避する場合は、メインミラー32に連動して被写体光束から退避する。メインミラー回転軸34は、ミラーボックス35の側壁に支持される。
【0015】
キー入力部の一部としてのライブビューボタンが押し下げられた場合、または、キー入力部の一部としてのレリーズボタンが最下部まで押し下げられた場合、図の破線で示した退避状態を取る。例えば、メインミラー32は、被写体光束中に斜設された状態で、ライブビューボタンが押し下げられた場合またはレリーズボタンが最下部まで押し下げられた場合、破線で示した退避位置に移動する。ライブビューボタンが押し下げられた場合、メインミラー32は、再度ライブビューボタンが押し下げられるまで退避位置に留まる。一方、レリーズボタンが押し下げられた場合は、所定の撮像動作を終えると、メインミラー32はダウンされ元の斜設状態の位置に戻される。
【0016】
シャッタの一例としてのフォーカルプレーンシャッタ43および撮像素子36は、光軸11に沿って配列されている。したがって被写体光束は、レンズ群21を透過してカメラユニットへ入射し、メインミラー32およびサブミラー40が退避状態となったミラーボックス35の内部と開放状態のフォーカルプレーンシャッタ43を通過して、撮像素子36の受光面で結像する。すなわち、この被写体光束の光路が撮影光路となる。フォーカルプレーンシャッタ43および撮像素子36は、撮像部の一部を構成する。
【0017】
撮像素子36は、受光面で結像した被写体像を電気信号として出力する複数の光電変換素子を有する。撮像素子36としては、CMOSセンサ、CCDセンサ等を例示することができる。撮像素子36は、メイン基板50と電気的に接続されている。メイン基板50には、撮像装置10全体を制御するSoC51、電源等を制御するMPU52等の電気素子が搭載されている。MPU52は、レリーズボタン、ライブビューボタン等を含むユーザ操作入力部で生成されるユーザ操作を示す信号を処理してよい。MPU52は、SoC51よりも単位時間当たりの電力消費量が小さいプロセッサであることが望ましい。
【0018】
SoC51は、被写体像の電気信号から画像データを生成する。また、SoC51は、画像データから、1以上の画像領域、例えば予め定められた複数の焦点調整領域毎にコントラスト量を算出する。フォーカスレンズ24の位置は、SoC51等の制御によって、コントラスト量に基づき決定された目標位置に向けて制御される。また、SoC51は、位相差検出信号を相関演算することでレンズ群21の焦点状態を検出する。SoC51は、焦点状態に基づきフォーカスレンズ24の目標位置を決定し、決定した目標位置に向けてフォーカスレンズ24を制御する。
【0019】
カメラユニット30の背面には、電子ビューファインダーとして機能する表示部53が配設されている。表示部53は、カラー表示可能な液晶モニタ等であってよい。表示部53は、SoC51が被写体像の電気信号から生成した表示用画像データを用いて、被写体像を表示する。表示部53は、撮像後の静止画像に限らず、各種メニュー情報、撮像情報、告知情報等を表示する。ライブビューボタンが押し下げられることによるライブビュー撮影を行っている場合、SoC51は、上述の焦点調節をしながら、撮像素子36から順次に出力される被写体像の電気信号から表示用画像データを順次に生成する。表示部53は、生成された表示用画像データを用いて、被写体像を順次に表示する。
【0020】
撮像装置10は、光学ファインダを有する。具体的には、ピント板33は、撮像素子36の受光面と共役の位置に配置されている。ピント板33で結像した被写体像は、ペンタプリズム37で正立像に変換され、接眼光学系38を介してユーザに観察される。また、ペンタプリズム37の射出面上方にはAEセンサ39が配置されており、被写体像の輝度分布を検出する。SoC51は、AEセンサ39で検出された輝度分布に基づいて、適正露出値を算出する。
【0021】
斜設状態におけるメインミラー32の光軸11の近傍領域は、ハーフミラーとして形成されており、入射される被写体光束の一部が透過する。透過した被写体光束は、メインミラー32と連動して揺動するサブミラー40で反射されて、合焦光学系41へ導かれる。合焦光学系41を通過した被写体光束は、合焦センサ42へ入射される。合焦センサ42は、受光した被写体光束から位相差信号を出力する複数の光電変換素子列を有する。合焦センサ42は、被写体像の特定の領域に対応して設けられる複数の焦点調整領域のそれぞれにおいて、合焦状態、前ピン状態、後ピン状態を検出でき、前ピン状態、後ピン状態の場合には、合焦状態からのずれ量も検出することができるように構成されている。すなわち、メインミラー32がダウンし斜設状態にある場合、合焦センサ42からの出力を用いて、位相差検出方式で焦点状態を検出して焦点調節することができる。
【0022】
また、カメラユニット30には電源部54が設けられる。電源部54は、カメラユニット30に限らず、レンズユニット20にも電力を供給する。電源部54は、着脱可能な二次電池を含むことができる。電源部54は、商用電源等の外部電源から電力を受け取って電力を供給してよい。
【0023】
図2は、撮像装置10のシステム構成を概略的に示すブロック図である。撮像装置10のシステムは、レンズユニット20とカメラユニット30のそれぞれに対応して、駆動ドライバ73を含むレンズ制御系と、SoC51を中心とするカメラ制御系により構成される。そして、レンズ制御系とカメラ制御系は、レンズマウント29とカメラマウント31によって接続される通信端子を介して、相互に各種データ、制御信号の授受を行う。
【0024】
SoC51は、複数のプロセッサコアを有するマルチコアプロセッサである。本実施形態の説明において、プロセッサコアを単にコアと略称する。本実施形態において、SoC51は、第1コア221および第2コア222を有する。SoC51は、同種のプロセッサコアを持つホモジニアスマルチコアであってよい。SoC51は、異種のプロセッサコアを持つヘテロジニアスマルチコアであってもよい。
【0025】
SoC51は、リアルタイムオペレーティングシステム(RTOS)と、非リアルタイムオペレーティングシステムであるマルチメデイアオペレーティングシステム(マルチメディアOS)とを動作させる。RTOSは第1OSの一例であり、マルチメディアOSは第2OSの一例である。なお、カーネル、ライブラリ、撮像装置10の制御用のプログラム等を含むソフトウェアコンポーネントを、オペレーティングシステム(OS)と総称する。本実施形態では、第1コア221がRTOSを動作させ、第2コア222がマルチメディアOSを動作させる。SoC51は、リアルタイムOSを動作させて撮像装置10を制御する制御部の一例である。
【0026】
RTOSは、要求された処理を予め定められた時間内に終えることを保証する。RTOSは、ハードウェア割込みが生じてから、対応する処理ルーチンが呼び出されるまでの最悪値が保証されているオペレーティングシステムである。一方、汎用オペレーティングシステムの一例であるマルチメディアOSは、要求された処理を予め定められた時間内に終えることを必ずしも保証していない。マルチメディアOSは、ハードウェア割込みが生じてから、対応する処理ルーチンが呼び出されるまでの最悪値が必ずしも保証されていない。しかし、マルチメディアOSは、例えばTCP/IPスタック等の通信用のライブラリ、グラフィカル・ユーザ・インタフェース(GUI)等のユーザインタフェース用のライブラリ等を備える。リアルタイムOSと比較すると、マルチメディアOSの方が、通信用やユーザインタフェース用のソフトウェアコンポーネントを実装し実行するための環境が整備されている。このため、対話型のユーザインタフェースをマルチメディアOSに容易に実装することができる。
【0027】
RTOSは、主として撮像装置10における固定時間処理を担う。例えば、第1コア221は、レンズユニット20、フォーカルプレーンシャッタ43、撮像素子36、アナログ処理部70、AD変換部71、デジタル処理部72、AEセンサ39、合焦センサ42、メインミラー32、駆動ドライバ73等の制御等、比較的にリアルタイム性が要求される処理を制御する。また、第1コア221は、画像データに対する画像処理を制御する。また、第1コア221は、表示部53による簡易的な表示を制御する。第1コア221は、記録媒体IF56を通じてメモリカード100への記録を制御する。
【0028】
マルチメディアOSは、撮像装置10における通信機能、ユーザインタフェース機能を主として担う。マルチメディアOSは、Linux(登録商標)等のUnix(登録商標)系のオペレーティングシステム、Windows(登録商標)等を例示することができる。第2コア222は、外部接続IF55を通じて外部機器110との間の通信を制御する。また、第2コア222は、表示部53を通じたリッチなユーザインタフェース(UI)を制御する。また、第2コア222は、記録媒体IF56を通じてメモリカード100への記録を制御する。
【0029】
システムメモリ57は、例えばフラッシュメモリ等の不揮発性メモリである。システムメモリ57は、RTOS、マルチメディアOS、および、RTOSおよびマルチメディアOSで共有されるソフトウェアコンポーネントを格納する。システムメモリ57は、リアルタイムOS、および、表示部を介するユーザインタフェース機能を少なくとも提供するマルチメディアOSを格納する格納部の一例である。
【0030】
システムメモリ57はまた、撮像装置10を制御するための各種パラメータなどを記憶する役割を担う。第1コア221は、システムメモリ57からRTOSのカーネル部分およびソフトウェアコンポーネントをSDRAM58にロードして、SDRAM58から命令を読み出して実行する。また、第2コア222は、システムメモリ57からSDRAM58にマルチメディアOSのカーネル部分およびソフトウェアコンポーネントをロードして、SDRAM58から命令を読み出して実行する。なお、システムメモリ57には各OSの実行時のメモリイメージが格納されており、各コアはメモリイメージをSDRAM58に展開して各オペレーティングシステムの動作を開始してよい。
【0031】
SDRAM58は、RTOSおよびマルチメディアOSが共有するメモリ領域である共有メモリ領域を持つ。本実施形態においては、共有メモリ領域は、第1コア221と第2コア222とにより共有される。RTOSおよびマルチメディアOSは、OS間通信機能を有する。OS間通信は、例えば共有メモリ領域、コア間割り込みにより実装される。SDRAM58は、撮像装置10の動作に必要なデータを一時的に記憶するワークメモリとして機能する。例えば、SDRAM58は、撮像により生成された画像データを一時的に記憶する役割を担う。SDRAM58は、第1コア221、第2コア222の少なくとも一方により処理される画像データを一時的に記憶する。
【0032】
ユーザ操作を受け付けるユーザ操作入力部の一例としての操作入力部61およびタッチ入力部62は、ユーザ操作に対応する信号をMPU52へ出力する。操作入力部61は、操作入力部61は、ボタン、スイッチ、ダイヤル、種々のキーとして実装された機械式の入力部材を含む。例えば、操作入力部61は、ユーザ操作による入力部材の変位または位置等の状態を検出して、当該状態を示す信号を出力する。具体的には、操作入力部61は、電気接点がON状態であるかOFF状態であるかを示す信号、可変抵抗器の抵抗値を示す信号等を出力する。操作入力部61としては、電源ボタン、レリーズボタン、ライブビューボタン、動画撮影ボタン、再生ボタン、撮影モードダイヤル等を例示することができる。第1コア221は、MPU52を介して、操作入力部61へのユーザ操作を取得する。第1コア221は、取得した信号に対応するユーザ操作に基づき、撮像装置10の各部を制御する。なお、制御内容、撮像装置10の動作モード等によっては、第1コア221は、ユーザ操作に基づく制御を第2コア222に実行させてよい。
【0033】
タッチ入力部62は、ユーザの指、ペン等によるタッチ操作を受け付けて、タッチ操作を示す信号を、SoC51に出力する。タッチ操作とは、操作面上を移動する操作を含む。タッチ入力部62は、タッチパネルの一部として機能する。具体的には、タッチ入力部62は、表示部53の表示面に平行に実装された検出部材を含む。検出部材としては、抵抗膜方式、静電容量方式、光センサ方式など、種々の方式の検出部材を例示することができる。タッチ入力部62は、ユーザ、ペン等によるタッチ位置を示す信号を、SoC51に出力する。タッチ位置の信号は、表示部53の表示面内における2次元の位置情報を示す。
【0034】
第2コア222は、タッチ入力部62から出力された信号を取得して、取得した信号に基づきユーザ操作を識別して、撮像装置10の各部を制御する。具体的には、第2コア222は、表示部53への表示内容と、タッチ入力部62から出力された信号とに基づき、撮像装置10の各部を制御する。例えば、第2コア222は、タッチ位置に表示した表示内容に対応する制御を行う。したがって、マルチメディアOSの制御によれば、操作入力部61を通じたユーザ操作によるユーザインタフェースと比較して、リッチなユーザインタフェースを提供することができる。
【0035】
撮像装置10における撮像動作は、第1コア221によって制御される。第1コア221は、撮像素子36、アナログ処理部70、AD変換部71、デジタル処理部72の動作を制御する。具体的には、第1コア221は、レリーズボタンの押し下げを検出すると、メインミラー32を斜設状態として、フォーカルプレーンシャッタ43を制御して撮像素子36で露光させる。また、第1コア221は、撮像素子36が有する光電変換素子の読み出しを制御する。撮像素子36が出力したアナログの撮像信号は、アナログ処理部70で前処理されて、AD変換部71でデジタルの撮像信号に変換される。アナログ処理部70は、アナログフロントエンドとして機能するアナログ処理回路で実装される。
【0036】
AD変換部71から出力されたデジタルの撮像信号は、デジタル処理部72で処理される。デジタル処理部72は、デジタルフロントエンドとして機能するデジタル処理回路を有する。例えば、デジタル処理部72は、画像評価値を算出する機能を有する。第1コア221は、画像データの取り込みおよび画像評価値の取り込みをデジタル処理部72に依頼して、デジタル処理部72から画像データおよび画像評価値を取り込む。このように、第1コア221は、フォーカルプレーンシャッタ43および撮像素子36の駆動を制御する。そして、第1コア221は、被写体を撮像させ、被写体像を画像データとして取り込む処理を行う。
【0037】
また、第1コア221は、合焦センサ42からの位相差検出信号に基づいて焦点状態を検出する。すなわち、第1コア221は、位相差検出方式による焦点調節を行う。また、第1コア221は、合焦制御用に取り込まれた画像データを処理して、コントラスト量を示すコントラスト評価値を生成する。第1コア221は、コントラスト検出方式による焦点調節を行う。第1コア221は、コントラスト評価値および位相差データの少なくとも一方に基づき焦点調節用の制御信号を生成して、駆動ドライバ73に供給する。駆動ドライバ73は、第1コア221からの制御信号を受けて各種動作を制御する。例えば、駆動ドライバ73は、制御信号に従って、フォーカスレンズ24、ズームレンズ25、絞り装置28等を駆動する。
【0038】
第1コア221は、デジタル処理部72で処理された画像データに対して、画像処理を施す。画像処理としては、例えば、ホワイトバランス補正、ガンマ補正、色補間処理、輪郭強調処理、YC変換等の色変換処理、間引き処理、符号化処理等を例示することができる。また、画像処理として、多重露光処理、ダイナミックレンジを拡大する処理、赤目補正処理、ぼかし処理、美肌処理、デコレーション処理等、種々の加工処理を含む。また、第1コア221は、画像データを記録用の画像フォーマットの画像データに変換する符号化処理を行う。これらの画像処理により、メモリカード100等への記録用の画像データ、表示部53への表示用の画像データが生成される。
【0039】
記録用の画像データは、記録媒体IF56を介してメモリカード100に書き込まれる。メモリカード100への書き込みは、第1コア221および第2コア222のいずれによっても制御される。
【0040】
外部接続IF55は、外部機器110との間でデータ通信を担う。具体的には、第2コア222は、外部接続IF55を介するデータ通信を制御する。外部機器110としては、パーソナルコンピュータ、モニタ、テレビジョン装置、プリンタ等を例示することができる。外部接続IF55としては、ネットワーク通信IF、USB−IF、HDMI−IF等を例示することができる。
【0041】
MPU52は、電源部54から、カメラユニット30、レンズユニット20の各部への電力供給を制御する。MPU52は、電源部54から電力を供給することができる電力量を示す信号をSoC51に出力する。例えば、MPU52は、電池残量を示す信号をSoC51に出力する。SoC51は、MPU52から出力された信号を取得して、信号に基づいてOSの実行を制御する。例えば、第1コア221は、電池残量が予め定められた値以下である場合に、第2コア222上でマルチメディアOSを動作させない。例えば、電池残量が予め定められた値以下である場合に、マルチメディアOSの動作を停止または終了させる。
【0042】
図3は、撮像装置10のソフトウェア構成の一例を示す。撮像装置10用のソフトウェア300は、RTOS310、マルチメディアOS320、共有ソフトウェアコンポーネント330を含む。
【0043】
RTOS310は、閃光制御用コンポーネント311、メカ制御用コンポーネント312、撮像制御用コンポーネント313、画像処理用アプリーケーションコンポーネント314、画像処理コンポーネント315、GUI用アプリケーションコンポーネント316、ファイルシステム用コンポーネント317、OS間通信用コンポーネント318を有する。画像処理コンポーネント315は、複数の画像処理コンポーネント315a〜eを含む。
【0044】
閃光制御用コンポーネント311は、閃光の発光制御を担うソフトウェアコンポーネントである。閃光制御用コンポーネント311は、撮像装置10に内蔵された閃光装置を駆動するためのプログラムを含む。メカ制御用コンポーネント312は、撮像装置10が有するメカ機構の制御を担うソフトウェアコンポーネントである。メカ制御用コンポーネント312は、メインミラー32、フォーカルプレーンシャッタ43等のメカ機構を駆動するためのプログラムを含む。撮像制御用コンポーネント313は、撮像制御を担うソフトウェアコンポーネントである。撮像制御用コンポーネント313は、操作入力部61に対する撮像指示を受け付け、撮像素子36における電荷蓄積、蓄積電荷の転送等を制御するためのプログラム、駆動ドライバ73、撮像素子36、アナログ処理部70、AD変換部71およびデジタル処理部72等の動作タイミングを制御するためのプログラム等を含む。
【0045】
画像処理コンポーネント315は、上述した画像データに対する画像処理を制御するソフトウェアコンポーネントである。画像処理コンポーネント315により制御される画像処理としては、上述したホワイトバランス補正、ガンマ補正、色補間処理、輪郭強調処理、色変換処理、間引き処理、符号化処理他、メモリカード100等に記録された符号化された画像データを復号する復号処理等を例示することができる。画像処理コンポーネント315a〜eは、互いに異なる画像処理を担う。例えば、画像処理コンポーネント315a〜eは、上述した処理毎に用意されてよい。
【0046】
画像処理用アプリーケーションコンポーネント314は、アプリケーションソフトウェアとしてRTOSに組み込まれる。画像処理用アプリーケーションコンポーネント314は、画像を修整するためのプログラム、ライブラリ等を含む。画像の修整処理としては、上述した多重露光処理、ダイナミックレンジを拡大する処理、赤目補正処理、ぼかし処理、美肌処理、デコレーション処理等、種々の加工処理を含む。
【0047】
GUI用アプリケーションコンポーネント316は、アプリケーションソフトウェアとしてRTOSに組み込まれる。GUI用アプリケーションコンポーネント316は、表示部53を介した比較的に簡易なGUIを提供するソフトウェアコンポーネントである。GUI用アプリケーションコンポーネント316は、撮像装置10の動作を設定する設定メニューを表示部53に表示させるプログラム、表示用の画像データとともに種々の情報を表示部53に表示させるプログラム、GUI用の共通ライブラリ等を含む。
【0048】
ファイルシステム用コンポーネント317は、データをファイルとして入出力する機能を提供するソフトウェアコンポーネントである。ファイルシステム用コンポーネント317は、メモリカード100に画像データ等をファイルとして書き込む処理を実行するためのプログラム等を含む。
【0049】
OS間通信用コンポーネント318は、マルチメディアOSとの間のOS間通信を担うソフトウェアコンポーネントである。OS間通信用コンポーネント318は、マルチメディアOSに情報を送信するプログラム、マルチメディアOSから情報を受信するプログbラムを含む。
【0050】
マルチメディアOS320は、画像処理用アプリーケーションコンポーネント324、GUI用アプリケーションコンポーネント326、ファイルシステム用コンポーネント327、OS間通信用コンポーネント328、外部IF通信用コンポーネント329を有する。
【0051】
画像処理用アプリーケーションコンポーネント324は、アプリケーションソフトウェアとしてマルチメディアOSに組み込まれる。画像処理用アプリーケーションコンポーネント324は、画像を修整するためのプログラム、ライブラリ等を含む。画像の修整処理としては、上述した多重露光処理、ダイナミックレンジを拡大する処理、赤目補正処理、ぼかし処理、美肌処理、デコレーション処理等、種々の加工処理を含む。
【0052】
GUI用アプリケーションコンポーネント326は、アプリケーションソフトウェアとしてRTOSに組み込まれる。GUI用アプリケーションコンポーネント326は、表示部53を介した比較的に複雑なGUIを提供するソフトウェアコンポーネントである。GUI用アプリケーションコンポーネント326は、撮像装置10の動作を設定する設定メニューを表示部53に表示させるプログラム、表示用の画像データとともに種々の情報を表示部53に表示させるプログラム、タッチ入力部62に対するユーザ操作を認識するプログラム、GUI用の共通ライブラリ等を含む。
【0053】
ファイルシステム用コンポーネント327は、データをファイルとして入出力する機能を提供するソフトウェアコンポーネントである。ファイルシステム用コンポーネント327は、メモリカード100、外部接続IF55を通じて接続された外部記録装置に画像データ等をファイルとして書き込む処理を実行するためのプログラム等を含む。ファイルシステム用コンポーネント327は、ファイルシステム用コンポーネント317がサポートするファイルシステムより多くの種類のファイルシステムをサポートしてよい。
【0054】
OS間通信用コンポーネント328は、RTOSとの間のOS間通信を担うソフトウェアコンポーネントである。OS間通信用コンポーネント328は、RTOSに情報を送信するプログラム、RTOSから情報を受信するプログラム等を含む。RTOSに送信する情報としては、後述するタッチパネルにより受け付けたユーザ指示の内容を示す情報等を例示することができる。
【0055】
外部IF通信用コンポーネント329は、外部機器110との間の通信を担うソフトウェアコンポーネントである。外部IF通信用コンポーネント329は、TCP/IP等の通信プロトコルスタック、USBプロトコルスタック、HDMIプロトコルスタック等を含む。このように、マルチメディアOSは、外部機器110との間で通信される通信データを処理する機能を含む。
【0056】
共有ソフトウェアコンポーネント330は、SDRAM58の共有メモリ領域へのアクセスを制御するソフトウェアコンポーネント、撮像装置10が有するハードウェアを制御するためのドライバ、OSのカーネル等の基本コンポーネントとアプリケーションコンポーネントとの間のインタフェース等を提供するミドルウェア等を含む。
【0057】
本図に関連して説明したように、リアルタイムOSは、撮像素子36の駆動を制御する機能を含む。また、リアルタイムOSは、撮像部に対する撮像指示を操作入力部61で受け付ける機能を含む。マルチメディアOSは、撮像指示をタッチ操作で受け付ける機能を含む。また、マルチメディアOSは、ユーザインタフェース用のオブジェクトを表示部53に表示させる機能を含む。第2コア222は、マルチメディアOSを動作させることで、ユーザインタフェース用のオブジェクトを表示部53に表示させる。特に、SoC51は、ユーザインタフェースが有効でない場合に、リアルタイムOSからの制御により、操作入力部61で受け付けた撮像指示に応じて撮像部に撮像させ、ユーザインタフェースが有効である場合に、マルチメディアOSからの制御により、タッチ操作で受け付けた撮像指示に応じて撮像部を制御することができる。
【0058】
図4は、表示部53によるGUIの一例を模式的に示す。画面400は、第1コア221により制御されたGUI画面を示す。画面410および画面420は、第2コア222により制御されたGUI画面を示す。本図では、ライブビュー撮影中のGUI画面を一例として示す。
【0059】
第1コア221は、撮像モードを示す文字401、閃光モードを示す文字402、フォーカスモードを示す文字403、電池残量を示すオブジェクト404、シャッタスピードを示す文字405、F値を示す文字406、ISO感度の設定モードを示す文字407を含む画面400を表示する。第1コア221は、これらの文字およびオブジェクトを、表示用の画像データに基づく画像の周囲に表示させる。
【0060】
第1コア221は、GUI用アプリケーションコンポーネント316に格納されたフォントデータを用いて、文字401〜3、405〜407を表示部53に表示する。第1コア221によるGUI画面で使用されるフォントは、例えばビットマップフォントとしてGUI用アプリケーションコンポーネント316に格納される。第1コア221は、ビットマップフォントを拡大、縮小することなく、表示部53に表示する。
【0061】
また、第1コア221は、GUI用アプリケーションコンポーネント316に格納された電池残量を示すオブジェクトの中から1つのオブジェクトを選択して、オブジェクト404を表示部53に表示する。例えば、GUI用アプリケーションコンポーネント316には、3段階の電池残量に対応づけて3つのオブジェクトをビットマップとして格納されており、電源部54の現在の電池残量に対応する1つのビットマップオブジェクトを選択して、表示部53に表示する。第1コア221は、例えばビットマップオブジェクトを拡大、縮小することなく、表示部53に表示する。
【0062】
次に、画面410について説明する。画面420は、マルチメディアOSが第2コア222で動作している場合のGUI画面の一例である。例えば、マルチメディアOSが起動すると、表示部53の表示画面は、画面400から画面410に遷移する。
【0063】
第2コア222は、撮像モードを示すオブジェクト411、閃光モードを示すオブジェクト412、フォーカスモードを示すオブジェクト413、電池残量を示すオブジェクト414、シャッタスピードを示すオブジェクト415、F値を示すオブジェクト416、ISO感度の設定モードを示すオブジェクト417、タッチ操作用のオブジェクト418、419を含む画面410を表示する。第2コア222は、これらのオブジェクトを、表示用の画像データに基づく画像の周囲または画像内に表示させる。
【0064】
第2コア222は、GUI用アプリケーションコンポーネント326に格納されたフォントデータと、カメラを模ったアイコンデータとを組み合わせて、オブジェクト411を生成して表示する。第2コア222は、GUI用アプリケーションコンポーネント326に格納されたフォントデータと、閃光を模ったアイコンデータとを組み合わせて、オブジェクト413を生成して表示する。
【0065】
第2コア222は、表示される画像に重畳して、電池残量に応じて選択したオブジェクト414を表示する。第2コア222は、画像に重ね合わせてオブジェクト414を表示させて、いわば画像が透過して見えるように表示してよい。第2コア222は、GUI用アプリケーションコンポーネント326に格納されたフォントデータを用いて、シャッタスピードを示すオブジェクト415、F値を示すオブジェクト416、ISO感度設定モードを示すオブジェクト417を生成して表示する。第2コア222は、GUI用アプリケーションコンポーネント326に格納されたグラフィクスライブラリを用いて、タッチ操作用のオブジェクト418、419を生成して表示する。
【0066】
画面410において、オブジェクト411に含まれる文字と、オブジェクト412に含まれる文字とは、サイズが異なる。また、オブジェクト415には、サイズが異なる文字が含まれる。GUI用アプリケーションコンポーネント326には、TrueType(登録商標)等のスケーラブルかつデータ圧縮されたフォントが格納される。第2コア222は、スケーラブルフォントを用いることで、同一のフォントデータから、サイズが異なる文字を含むオブジェクトを生成する。GUI用アプリケーションコンポーネント326には、これらのフォントデータを扱う汎用ライブラリを含む。GUI用アプリケーションコンポーネントを開発する場合、例えば公開された汎用ライブラリを用いることで、撮像装置10に特化した部分を中心にソフトウェア開発をすればよい。
【0067】
また、汎用のグラフィックライブラリを用いることで、オブジェクト414、オブジェクト418、オブジェクト419のように画像にオブジェクトを重畳して表示させるソフトウェアコンポーネントを容易に作成することができる。このため、アプリケーションコンポーネントの開発期間を短縮することができる。
【0068】
次に、画面420について説明する。画面420は、オブジェクト418の表示位置がタッチされた場合のGUI画面の一例である。
【0069】
第2コア222は、タッチ入力部62から取得したタッチ位置がオブジェクト418内の位置である場合に、タッチ操作のオブジェクト421を表示する。オブジェクト421には、レリーズ指示を受け付けるためのオブジェクト422、フォーカス指示を受け付けるためのオブジェクト423、連写モードを設定するためのオブジェクト424、ISO感度の設定モードを変更するためのオブジェクト425、および、諸設定を行うためのオブジェクト426を含む。例えば汎用のグラフィックライブラリを用いることで、オブジェクト421を表示させるソフトウェアコンポーネントを容易に作成することができる。
【0070】
撮像装置10によれば、リッチなGUIを提供するソフトウェアコンポーネントを、マルチメディアOSに実装すればよく、リッチなGUIを提供するソフトウェアコンポーネントをRTOSに実装する必要がない。このため、汎用のオペレーティングシステムと、汎用のフォントライブラリ、グラフィックライブラリ等の汎用のライブラリとを用いて、リッチなGUIを提供するマルチメディアOSを構築すればよい。このため、開発工数を著しく削減することができる。リアルタイム性を要する処理はRTOSが担うので、リアルタイム性に優れた撮像装置10を提供することができる。
【0071】
このように、マルチメディアOSは、撮像装置10に対する指示を表示部53の表示画面に対するユーザからのタッチ操作で受け付ける機能を含む。SoC51は、マルチメディアOSを動作させて撮像装置10に対する指示内容を特定し、特定した指示内容に基づいて撮像装置10を制御することができる。具体的には、マルチメディアOSは、撮像部に対する指示をタッチ操作で受け付ける機能を含み、SoC51は、マルチメディアOSを動作させて撮像部に対する指示内容を特定し、特定した指示内容に基づいて撮像部を制御する。本図の例では、撮像部に対する指示を受け付けるオブジェクトとして、レリーズ指示のオブジェクト422、フォーカス指示のオブジェクト423、連写モードを設定するためのオブジェクト424、ISO感度の設定モードを変更するためのオブジェクト425等を例示した。撮像部に対する指示を受け付けるオブジェクトとして、ズーム倍率を指示するためのオブジェクト等を含んでよい。
【0072】
また、本図に例示したように。リアルタイムOSは、撮像部により撮像された画像を表示部53に表示する機能を含む。一方、マルチメディアOSは、撮像部により撮像された画像に重畳してユーザインタフェース用のオブジェクトを表示部53に表示させる機能を含む。
【0073】
本図の例では、GUI画面を用いて説明したが、外部機器110との通信する場合についても同様である。例えば、汎用の通信プロトコルスタックを用いて、外部機器110での通信処理を制御するソフトウェアコンポーネントをマルチメディアOSに実装すればよい。撮像装置10によれば、RTOSで動作するGUI用のソフトウェアコンポーネントや通信用のソフトウェアコンポーネントをスクラッチから作成する必要がなくなるので、開発工数を著しく削減することができる。
【0074】
図5は、撮像装置10のシステム全体を制御するOSの切り替えを示す。本図では、通信接続の有無およびタッチパネル機能の有無の組み合わせに対応づけて、RTOSおよびマルチメディアOSのいずれがシステム全体を統括制御するかをテーブル形式で示す。
【0075】
外部機器110との通信接続を要する場合、タッチパネル機能の要否にかかわらず、マルチメディアOSによってシステム全体が制御される。すなわち、第2コア222によってシステム全体が制御される。外部機器110との通信処理は、主としてマルチメディアOSの外部IF通信ソフトウェアコンポーネント329によってサポートされる。すなわち、SoC51は、データ通信を有効にして撮像装置10を動作させる場合に、マルチメディアOSを動作させて少なくとも通信データを処理する。
【0076】
外部機器110との通信接続を要さず、タッチパネル機能を要する場合、マルチメディアOSによってシステム全体が制御される。すなわち、第2コア222によってシステム全体が制御される。タッチパネル機能を用いたGUI処理は、主としてGUI用アプリケーションコンポーネント326によってサポートされる。例えば、レリーズ指示を、タッチパネル操作を通じて受け付けることができる。第2コア222においてレリーズ指示を受け付けた場合、OS間通信によって第1コア221に撮像指示が通知され、第1コア221の制御の下で撮像動作が制御される。なお、第2コア222によってシステム全体が制御されている場合でも、レリーズボタンの操作を撮像指示として受け付けた場合に第1コア221が撮像関連の動作を開始してよい。このように、マルチメディアOSによってシステム全体が制御されている場合でも、撮像動作は主としてRTOSによって制御される。
【0077】
外部機器110との通信接続およびタッチパネル機能を要しない場合、RTOSによってシステム全体が制御される。すなわち、第1コア221によってシステム全体が制御される。この場合、GUI処理は第1コア221が担う。例えば、表示部53に表示される画面は、図4の画面400で例示したような簡易的な表示画面となる。レリーズ指示は、レリーズボタンを通じて受け付けることができる。リアルタイム性を持つRTOSによってシステム全体が制御されるので、撮像装置10の応答速度を高めることができる。RTOSによるシステム全体の制御は、例えば高速連写を必要とする場合に適する。
【0078】
なお、タッチパネル機能を要しない場合とは、表示部53の動作がオフされた場合や、表示部53のタッチパネル機能を休止またはオフする操作がなれた場合等を例示することができる。また、表示部53がいわゆるバリアングルの表示部材である場合のように、表示部53が位置または向きが可変な表示面を有する場合、表示面が開状態にされた場合をタッチパネル機能を要する場合とし、表示面が閉状態にされた場合をタッチパネル機能を要しない場合としてよい。
【0079】
図6は、画像処理バッファとして使用されるメモリ領域の遷移例を模式的に示す。画像処理バッファは、画像データの一時記憶領域として使用されるメモリ領域であり、SDRAM58内に確保される。連続撮影時には、画像処理バッファは、連続撮影により得られた複数の画像の画像データを、一時記憶領域に記憶する。SoC51は、一時記憶領域に記憶された画像データに対して画像処理を施す。
【0080】
メモリマップ610は、マルチメディアOSでシステム全体が制御される場合のSDRAM58のメモリマップを示す。
【0081】
メモリ領域611は、RTOSの実行イメージが格納される。メモリ領域612は、RTOSに含まれるアプリケーションプログラムが動作する場合に、第1コア221によってスタック領域として使用される。メモリ領域613は、マルチメディアOSの実行イメージが格納される。メモリ領域614は、マルチメディアOSに含まれるアプリケーションプログラムが動作する場合に、第2コア222によってスタック領域として使用される。
【0082】
メモリ領域615は、RTOSおよびマルチメディアOSによる画像処理用のバッファ領域として使用される。具体的には、第1コア221は、画像データの取り込み先として、メモリ領域615を使用する。また、第1コア221は、画像処理用のワークエリアとしてメモリ領域615を使用する。また、メモリ領域615は、第2コア222が画像処理を行う場合のワークエリアとしても使用する。メモリ領域615は、RTOSおよびマルチメディアOSによって共有される。
【0083】
メモリマップ620は、RTOSでシステム全体が制御される場合のSDRAM58のメモリマップを示す。メモリ領域621は、RTOSの実行イメージが格納される。メモリ領域622は、RTOSに含まれるアプリケーションプログラムが動作する場合に、第1コア221によってスタック領域として使用される。メモリ領域625は、RTOSによる画像処理用のバッファ領域として使用される。具体的には、第1コア221は、画像データの取り込み先として、メモリ領域625を使用する。また、第1コア221は、画像処理用のワークエリアとしてメモリ領域625を使用する。
【0084】
RTOSでシステム全体が制御される場合、マルチメディアOSでシステム全体が制御される場合と比較して、画像処理用のバッファ領域としてより多くのメモリ領域625が確保される。一例として、メモリ領域625は、メモリ領域613、614の少なくとも一部を含んでよい。例えば、メモリ領域625は、メモリ領域615と、メモリ領域613、614の少なくとも一部とを含んでよい。
【0085】
システム全体を制御するOSをマルチメディアOSとRTOSでシステムとの間で切り替えた場合、SDRAM58内のOSが使用するメモリマップはメモリマップ610とメモリマップ620との間で切り替わる。例えば、マルチメディアOSでシステム全体を制御している場合に、撮像モードや、SDRAM58の使用状況等に応じてRTOSによる全体制御に切り替える。RTOSによる全体制御に切り替えることで、メモリマップ620で示すように画像処理用のバッファ領域を増加させることができる。
【0086】
例えば、撮像モードが高速連写モードに設定された場合に、RTOSによる全体制御に切り替えて、撮影指示をレリーズボタンで受け付ける。RTOSによる全体制御に切り替えることで、システム全体をレスポンス良く制御することができる。また、RTOSによる全体制御に切り替えることで、画像処理用のバッファ領域を増加させる。これにより、連続して撮影することができる連写可能枚数を増加させることができる。また、マルチメディアOSでシステム全体を制御している場合に、連写撮影中にメモリ領域615が画像処理用のバッファ領域として不足したときは、連写撮影中にRTOSによる全体制御に切り替えて、画像処理用のバッファ領域を増加させる。これにより、連写撮影を継続する時間を増加させることができる。このように、SoC51は、リアルタイムOSおよびマルチメディアOSを、SDRAM58の一部のメモリ領域を使用して動作させ、一時記憶領域が不足する場合に、マルチメディアOSの動作を停止して、マルチメディアOSが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を一時記憶領域に割り当てる。
【0087】
図7は、撮像装置10の起動から終了までの処理フローを示す。本フローは、操作入力部61の一部としての電源ボタンがONされた場合に、開始される。本フローに関する動作は、特に説明しない限り、システム全体を制御するOSを動作させるコアが主体となって本動作を制御する。
【0088】
ステップS700において、第1コア221は、RTOSを起動する。具体的には、第1コア221は、システムメモリ57からRTOSの実行イメージを読み出して、SDRAM58に展開する。
【0089】
第1コア221は、RTOSの制御に従って、初期設定を開始する。例えば、第1コア221は、撮像装置10を制御するための各種パラメータ等を、システムメモリ57からSDRAM58に展開する。また、第1コア221は、レンズユニット20からレンズ固有情報を取得して、SDRAM58にレンズパラメータとして展開する。レンズ固有情報としては、レンズの種類、レンズユニット20を制御するための制御パラメータ等を例示することができる。また、第1コア221は、撮像装置10の各部の状態に基づき、動作モードを設定する。
【0090】
例えば、外部接続IF55に外部機器110が接続されている場合に、外部機器110との間で通信を行う動作モードを設定する。また、撮像モードスイッチ等の状態から撮影モードを判断し、撮影モードが高速連写モードにされている場合に、動作モードの一部としての撮影モードを高速連写モードに設定する。また、表示部53のタッチパネル機能がデフォルトで有効に設定されている場合、タッチパネルを有効にして動作する動作モードを設定する。タッチパネル機能がデフォルトで無効に設定されている場合、タッチパネルを無効にして動作する動作モードを設定する。
【0091】
ステップS704において、第1コア221は、マルチメディアOSの制御を行う。具体的には、設定された動作モードに応じて、マルチメディアOSの起動を制御する。本フローについては、図8に関連して説明する。
【0092】
ステップ706において、ユーザ操作等により生じるイベントの種類を判定する。第1コア221により検出されるイベントとしては、操作入力部61の一部としてのコマンドダイヤル等のユーザ操作により生じる諸動作する設定イベント、レリーズボタンやライブビューボタン等の撮影実行に関するユーザ操作により生じる撮影イベント、再生ボタンが操作されることにより生じる再生イベント等を例示することができる。第2コア222により検出されるイベントとしては、タッチ入力部62上に表示された諸設定のオブジェクトの位置がタッチされることにより生じる設定イベント、レリーズ指示のオブジェクトの位置がタッチされることにより生じる撮影イベント等を例示することができる。
【0093】
ステップS706において設定イベントが生じたと判定された場合、指示された設定処理を行う(ステップS708)。タッチ入力部62を通じたユーザ操作に対しては、第2コア222が全体を制御して設定処理を行う。操作入力部61を通じたユーザ操作に対しては、第1コア221が全体を制御して設定処理を行う。設定処理としては、外部機器110との間で通信を行う動作モードを設定する処理、撮影モードを設定する処理、撮影条件を設定する処理、画像処理条件を設定する処理、連写モードを設定する処理、動画撮影におけるフレームレートを設定する処理等を例示することができる。連写モードを設定する処理としては、連写モードで静止画撮影するか否かを設定する処理を例示することができる。また、連写モードを設定する処理として、高速連写モード、通常連写モードを含む複数連写モードの中から、連写撮影で実行する連写モードを選択する処理を例示することができる。
【0094】
続いて、ステップS710において、第1コア221は、動作モードが変更されたか否かを判断する。動作モードが変更された場合、ステップS704に処理を移行して、マルチメディアOSの起動を制御する。ステップS710において、動作モードが変更されていないと判断された場合、ステップS730に処理を移行する。
【0095】
ステップS706において撮影イベントが生じたと判定された場合、撮影実行に関する処理を行う(ステップS712)。ステップS712における動作については、図9、図10等に関連して説明する。ステップS706において再生イベントが生じたと判定された場合、再生処理を実行する(ステップS722)。再生処理としては、メモリカード100に記録された画像をサムネイル表示する処理、ユーザにより指示された画像を表示する処理等を例示することができる。ステップS712、ステップS722の処理が完了すると、ステップS730に処理を移行する。
【0096】
ステップS730において、電源をOFFするか否かを判断する。例えば、電源がONされてから予め定められた期間、ユーザ指示無しの状態が継続した場合等に、電源をOFFすると判断する。電源ボタンがOFF位置に切り替えられた場合も、電源をOFFすると判断する。電源をOFFしないと判断した場合はステップS706に処理を移行させる。電源をOFFすると判断した場合、第1コア221は、マルチメディアOSが動作している場合は第2コア222にマルチメディアOSの動作を終了させる。また、第1コア221は、RTOSの動作を終了するルーチンを実行し、処理を終了する。
【0097】
このように、システム全体をマルチメディアOSが制御している場合でも、撮像動作はRTOSが制御する。例えば、SoC51は、マルチメディアOSを動作させて撮像部に対する指示内容を特定し、特定した指示内容に基づいてリアルタイムOSにより撮像素子の駆動を制御する。
【0098】
図8は、マルチメディアOSの動作を制御する動作フローの一例を示す。具体的には、図7のステップS704の処理の詳細な動作フローを示す。
【0099】
ステップS802において、第1コア221は、撮影モードが高速連写モードに設定されているか否かを判断する。高速連写モードに設定されていないと判断された場合、通信接続の有無を判断する(ステップS804)。例えば、ネットワーク通信を行う動作モードである場合に、通信接続を有する動作モードであると判断する。また、ネットワーク通信ケーブルが外部接続IF55に接続されている場合に、通信接続を有する動作モードであると判断する。
【0100】
通信接続がある場合、マルチメディアOSが起動済であるか否かを判断する(ステップS806)。マルチメディアOSが起動済みでない場合、第1コア221は、マルチメディアOSを起動させる。例えば、第1コア221は第2コア222にリセット信号を供給して、マルチメディアOSをシステムメモリ57からロードさせ、マルチメディアOSの動作を開始させる。マルチメディアOSが起動すると、マルチメディアOSによるシステム全体の制御が開始される(ステップS810)。ステップS806においてマルチメディアOSが起動済みであると判断された場合は、ステップS810に処理を進める。
【0101】
ステップS804において通信接続がないと判断された場合、タッチパネル機能を有効にすべき動作モードであるか否かを判断する(ステップS812)。タッチパネル機能を有効にすべき動作モードであると判断された場合、第1コア221は、電池残量が十分であるか否かを判断する。例えば、電池残量が予め定められた値を超える場合に、電池残量が十分であると判断する。電池残量が十分である場合、ステップS806に処理を移行させる。電池残量が十分でない場合、ステップS816に処理を進めて、RTOSによるシステム全体の制御を開始する。なお、ステップS816では、マルチメディアOSが起動済みであるか否かを判断して、マルチメディアOSが起動済みである場合には、マルチメディアOSの動作を停止させてよい。例えば、SoC51は、リアルタイムOSおよびマルチメディアOSが動作している場合に、ユーザインタフェースを無効にすべきユーザ操作を受け付けたことを条件として、マルチメディアOSによる制御を停止してよい。
【0102】
ステップS812の判断において、タッチパネル機能を無効にすべき動作モードであると判断された場合、ステップS816に処理を進める。例えば、表示部53がバリアングルの表示部材である場合、SoC51は、表示部53の表示面が開状態にされた場合にマルチメディアOSを動作させ、リアルタイムOSおよびマルチメディアOSが動作している場合に表示面が閉状態にされたことを条件としてマルチメディアOSによる制御を停止させてよい。
【0103】
ステップS802の判断において、撮影モードが高速連写モードに設定されている場合、通信接続を無効にするとともに、タッチパネル機能を無効にし(ステップS822)、ステップS816に処理を進める。すなわち、リアルタイムOSおよびマルチメディアOSが動作している場合に、予め定められた値より高い速度で撮像部に連続撮影させる旨の指示を受け付けたことを条件として、マルチメディアOSによる制御を停止してリアルタイムOSに連続撮影を制御させてよい。なお、SoC51は、高速連写に限らず、連写撮影させる旨の指示を受け付けたことを条件として、マルチメディアOSによる制御を停止してもよい。
【0104】
撮像装置10によると、表示部53を使用しない動作モードで撮影するときはRTOSでシステム全体を制御する。このため、高速に起動することができる。また、上述した諸設定によって表示部53のタッチパネル機能を有効にして撮像装置10を動作させる動作モードに設定された場合に、マルチメディアOSによりシステム全体を動作させることができる。すなわち、SoC51は、表示部53を介するユーザインタフェース機能を有効にして撮像装置10を動作させる場合に、マルチメディアOSを起動させてマルチメディアOSに表示部53を少なくとも制御させることができる。例えば、SoC51は、表示部53を介するユーザインタフェースを有効にすべきユーザ操作を操作入力部61等の操作部材が受け付けた場合に、マルチメディアOSを起動させる。
【0105】
なお、図7のステップS708における設定操作によって動作モードが変更された場合に、本図のフローを実行するとしたが、再生ボタンが押下された場合、動作モードとしてマルチメディアOSによりシステム全体を制御する動作モードに遷移してもよい。
【0106】
図9は、静止画撮影における動作フローの一例を示す。本例は、ステップS712内の詳細な動作フローの一例である。静止画撮影の指示は、レリーズボタンまたはタッチパネルに対するユーザ操作により、静止画撮影を受け付けた場合について説明する。
【0107】
ステップS902において、静止画を撮影する。具体的には、第1コア221は、位相差検出信号から検出したレンズ群21の焦点状態に基づいてフォーカスレンズ24の目標位置を決定し、フォーカスレンズ24を当該目標位置に位置させるよう駆動ドライバ73に指示する。そして、第1コア221は、メインミラー32をアップさせて図1の破線で示した退避位置に移動させ、撮像素子36で露光して被写体像を出力させ、被写体像をRAW画像データとしてSDRAM58に取り込む。
【0108】
続いて、ステップS904において、第1コア221は、取り込まれたRAW画像データに画像処理を施して、記録用の画像データを生成する。続いて第1コア221は、ステップS906において、マルチメディアOSを起動済であるか否かを判断する。マルチメディアOSを起動済である場合、第1コア221は、メモリカード100のファイルシステムをRTOSがサポートしているか否かを判断する(ステップS908)。メモリカード100のファイルシステムをRTOSがサポートしていない場合、第1コア221はマルチメディアOSを起動する(ステップS910)。マルチメディアOSが起動すると、ステップS912において、第2コア222がSDRAM58からメモリカード100に記録用の画像データを転送してメモリカード100に書き込む。
【0109】
ステップS908の判断においてメモリカード100のファイルシステムをRTOSがサポートしていると判断された場合、ステップS912では、第1コア221がSDRAM58からメモリカード100に記録用の画像データを転送してメモリカード100に書き込んでよい。ステップS906の判断においてマルチメディアOSを起動済であると判断された場合、ステップS912では、第2コア222がSDRAM58からメモリカード100に記録用の画像データを転送してメモリカード100に書き込む。なお、ステップS904において、マルチメディアOSを起動済みであり、画像処理に要するバッファ領域が不足すると判断されたときは、第1コア221はマルチメディアOSを停止させて、RTOSが使用するバッファ領域を増加させてから、画像処理を施してよい。
【0110】
図10は、撮影処理における他の動作フローの一例を示す。本例は、ステップS712内の詳細な動作フローの一例である。特に、ライブビュー撮影を指示された場合の動作フローの一例である。
【0111】
ステップS1002において、第1コア221は、表示用画像の撮影を開始する。具体的には、第1コア221は、メインミラー32をアップさせて図1の破線で示した退避位置に移動させ、撮像素子36で順次に露光する。第1コア221は、順次にSDRAM58に取り込んだRAW画像データから表示用の画像データを生成して、表示部53に順次に表示させる。
【0112】
ステップS1004において、ユーザ操作等により生じるイベントの種類を判定する。静止画撮影のイベントが生じた場合、静止画撮影を行う。静止画撮影のイベントは、レリーズボタンを押し込むことで生じるイベント、タッチパネルに対してレリーズ指示のタッチ操作がなさることにより生じるイベント等を例示することができる。
【0113】
静止画撮影のイベントが生じた場合、ステップS1006において、撮影モードが連写モードに設定されているか否かを判断する。連写モードに設定されていない場合、静止画撮影を行う(ステップS1008)。具体的には、第1コア221は、取り込んだ画像データからコントラスト量を検出して、コントラスト量に基づきフォーカスレンズ24の目標位置を決定し、フォーカスレンズ24を当該目標位置に位置させるよう駆動ドライバ73に指示する。そして、第1コア221は、撮像素子36で露光して被写体像を出力させ、被写体像をRAW画像データとしてSDRAM58に取り込む。続いて、ステップS1010において、メモリカード100への記録を行う。ステップS1010の動作については、図9のステップS904以降の処理と同様の処理を適用することができるので、説明を省略する。
【0114】
ステップS1006の判断において、連写モードに設定されていると判断された場合、静止画の連写撮影を開始する(ステップS1012)。具体的には、第1コア221は、撮像素子36で連続して露光させることにより静止画の連写撮影を行う。第1コア221は、順次に取り込んだRAW画像データに対して順次に画像処理を施して、記録用の画像データを生成する。
【0115】
静止画の連写撮影中に、ステップS1014において、マルチメディアOSの制御を行う。具体的には、第1コア221は、マルチメディアOSが起動済であり、画像処理用のバッファ領域が不足した場合に、マルチメディアOSを停止させる。本動作については、図11に関連して説明する。
【0116】
続いて、ステップS1016において、第1コア221は静止画の連写撮影を終了するか否かを判断する。具体的には、レリーズボタンが押し込まれることで連写撮影が開始された場合、レリーズボタンが押し込まれた状態が解除されたときに、連写撮影を終了すると判断する。タッチパネルへの操作により連写撮影が開始された場合、タッチパネルの操作が再度なされた場合に、連写撮影を終了すると判断してよい。タッチパネルへの操作により連写撮影が開始された場合であって、連写撮影中にマルチメディアOSを停止させた場合には、レリーズボタンの押し込みを検出した場合に、連写撮影を終了すると判断してよい。連写撮影を終了しないと判断された場合、ステップS1014に処理を移行する。連写撮影を終了すると判断された場合、ステップS1010に処理を移行して、メモリカード100への記録を行う。ステップS1010の処理としては、図9のステップS906以降の処理と同様の処理を適用することができるので、説明を省略する。
【0117】
ステップS1004の判定において、動画画撮影のイベントが生じた場合、動画撮影を開始する(ステップS1022)。動画撮影のイベントは、動画撮影ボタンを押し込むことで生じるイベント、タッチパネルに対する動画撮影指示のタッチ操作がなさることにより生じるイベント等を例示することができる。
【0118】
動画撮影が開始されると、第1コア221は、撮像素子36で連続して露光させることにより、複数のフレームを連続して撮影させる。第1コア221は、取り込んだフレームに対して動画の符号化処理を施して、記録用の動画データを生成する。
【0119】
動画撮影中に、ステップS1024において、マルチメディアOSの制御を行う。具体的には、第1コア221は、マルチメディアOSが起動済であり、画像処理用のバッファ領域が不足した場合に、マルチメディアOSを停止させる。本動作については、図11に関連して説明する。
【0120】
続いて、ステップS1026において、第1コア221は動画撮影を終了するか否かを判断する。具体的には、動画撮影ボタンが操作されることで動画撮影が開始された場合、動画撮影ボタンが再度操作されたときに、動画撮影を終了すると判断する。タッチパネルへの操作により動画撮影が開始された場合、タッチパネルの操作が再度なされた場合に、動画撮影を終了すると判断してよい。タッチパネルへの操作により動画撮影が開始された場合であって、動画撮影中にマルチメディアOSを停止させた場合には、動画撮影ボタンの押し込みを検出した場合に、動画撮影を終了すると判断してよい。動画撮影を終了しないと判断された場合、ステップS1024に処理を移行する。動画撮影を終了すると判断された場合、ステップS1010に処理を移行して、メモリカード100への動画データの記録を行う。ステップS1010の処理としては、図9のステップS906以降の処理と同様の処理を適用することができるので、説明を省略する。
【0121】
ステップS1010の処理が完了すると、ステップS1002に処理を移行させ、次のイベントを待つ。ステップS1002の判断においてライブビュー撮影を終了するイベントが生じたと判定された場合には、ライブビュー撮影を終了する。例えば、ライブビューボタンが元の位置に戻された場合に、ライブビュー撮影を終了するイベントが生じる。また、ライブビュー撮影が開始されてから予め定められた期間、ユーザ操作がなされなかった場合に、ライブビュー撮影を終了するイベントが生じる。
【0122】
なお、図7のステップS708における設定操作によって動作モードが変更された場合に、マルチメディアOSの起動を制御するとしたが、ライブビューボタンが押し下げられた場合、高速連写モードに設定されていないことを条件として、マルチメディアOSによりシステム全体を制御する動作モードに遷移してもよい。また、図9のステップS902の説明では特に言及しなかったが、撮影モードが連写モードに設定されている場合には、連写撮影を行ってよい。そして、当該連写撮影中に、本図のフローで説明したようなマルチメディアOSの制御を適用してもよい。
【0123】
図11は、マルチメディアOSの動作を制御する動作フローの一例を示す。具体的には、図10のステップS1014、ステップS1024の処理の詳細な動作フローの一例である。
【0124】
ステップS1102において、第1コア221は、マルチメディアOSを起動済みであるか否かを判断する。マルチメディアOSが起動済みであると判断された場合、第1コア221は、マルチメディアOSを終了するまでに画像処理用のバッファ領域が満杯になるか否かを判断する(ステップS1104)。
【0125】
具体的には、マルチメディアOSの動作イメージをシステムメモリ57に格納させるのに要する時間内に、画像処理用のバッファ領域が満杯になるか否かを判断する。具体的には、使用可能なバッファ領域の残量をバッファ領域の使用量の単位時間あたりに増加量で除した値が、マルチメディアOSの動作イメージをシステムメモリ57に格納させるのに要する時間より短い場合に、マルチメディアOSを終了するまでに画像処理用のバッファ領域が満杯になると判断する。ステップS1104の判断により、マルチメディアOSをハイバネートするのに要する時間内に、画像処理用のバッファ領域が満杯になるか否かを判断することができる。
【0126】
なお、バッファ領域の使用量の単位時間あたりに増加量は、連続撮影により単位時間あたりに撮影される画像数、当該画像の画素数により算出される。静止画を連写撮影している場合、単位時間あたりに撮影される画像数は、静止画の連写速度、いわゆる連写撮影のコマ速により算出される。動画撮影している場合、単位時間あたりに撮影される画像数は、動画撮影のフレームレートにより算出される。このように、SoC51は、連続撮影により単位時間あたりに撮影される画像数に基づいて、一時記憶領域が不足するか否かを判断してよい。連続撮影中に画像処理済みの画像データをメモリカード100に転送する場合、メモリカード100への転送速度を考慮して、バッファ領域の使用量の単位時間あたりに増加量を算出してよい。
【0127】
マルチメディアOSを終了するまでに画像処理用のバッファ領域が満杯になると判断した場合、第1コア221は、マルチメディアOSを終了させる(ステップS1106)。マルチメディアOSを終了させる(ステップS1106)。マルチメディアOSの終了が完了すると、第1コア221は、マルチメディアOSが使用していたバッファ領域を、RTOSに割り当てて(ステップS1108)、処理を終了する。
【0128】
ステップS1102の判断において、マルチメディアOSが起動済みでないと判断された場合は、本フローを終了する。なお、第1コア221は、マルチメディアOSの動作を停止させた後、一時記憶領域の不足が解消された場合には、マルチメディアOSの動作を再開させてもよい。また、ステップS1104の判断において、マルチメディアOSを終了するまでに画像処理用のバッファ領域が満杯にならないと判断された場合も、本フローを終了する。
【0129】
本図で説明したフローによれば、SoC51は、マルチメディアOSのメモリイメージを不揮発性メモリにハイバネートするのに要する時間と、連続撮影により単位時間あたりに撮影される画像数に基づいて、マルチメディアOSのメモリイメージのハイバネートを開始するタイミングを決定し、決定したタイミングでマルチメディアOSの動作を停止させてハイバネートを開始させることができる。このため、マルチメディアOSをハイバネートするのに要する時間内に画像処理用のバッファ領域が満杯になることを未然に防ぐことができる。
【0130】
以上の説明においては、SoC51は、マルチコアプロセッサであるとして説明した。特に、SoC51が2つのコアを有するとして説明したが、3以上のコアを有してよい。第1コア221がRTOSを動作させ、第2コア222がマルチメディアOSを動作させるとして説明したが、第1コア221および第2コア222がRTOSを動作させてもよい。また、第1コア221および第2コア222が、RTOSおよびマルチメディアOSを動作させてもよい。また、SoC51は、シングルチップ化されたマルチプロセッサであってよい。また、SoC51は、シングルコアプロセッサであってよい。すなわち、SoC51は、単一のプロセッサであってもよい。また、SoC51に限られず、様々なパッケージでプロセッサが撮像装置10に実装されてよい。
【0131】
本実施形態の撮像装置10に関連して説明した処理は、撮像装置10の各部、例えばSoC51等として組み込まれたプロセッサが、プログラムに従って動作することにより、実現することができる。すなわち、当該処理を、いわゆるコンピュータ装置によって実現することができる。コンピュータ装置は、上述した処理の実行を制御するプログラムをロードして、読み込んだプログラムに従って動作して、当該処理を実行してよい。コンピュータ装置は、当該プログラムを記憶しているコンピュータ読取可能な記録媒体を読み込むことによって、当該プログラムをロードすることができる。
【0132】
本実施形態において、撮像装置10を取り上げて電子機器の一例を説明した。撮像装置としては、レンズ交換式の一眼レフカメラ、コンパクトデジタルカメラ、ミラーレス一眼カメラ、ビデオカメラ、撮像機能付きの携帯電話機、撮像機能付きの携帯情報端末、撮像機能付きのゲーム機器等の娯楽装置、スキャナ、ファクシミリ等、撮像機能を有する機器を適用の対象とすることができる。また、電子機器は、テレビ、ビデオ、デジタルフォトフレーム、プロジェクタ装置、ゲーム機器等の娯楽装置等の電子画像機器として実現されてよい。また、電子機器は、録音装置等の電子音声機器として実現されてよい。
【0133】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0134】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0135】
10 撮像装置、11 光軸、20 レンズユニット、21 レンズ群、22 前玉、23 後玉、24 フォーカスレンズ、25 ズームレンズ、26 鏡筒、27 レンズ回路基板、28 絞り装置、29 レンズマウント、30 カメラユニット、31 カメラマウント、32 メインミラー、33 ピント板、34 メインミラー回転軸、35 ミラーボックス、36 撮像素子、37 ペンタプリズム、38 接眼光学系、39 AEセンサ、40 サブミラー、41 合焦光学系、42 合焦センサ、43 フォーカルプレーンシャッタ、50 メイン基板、51 SoC、52 MPU、53 表示部、54 電源部、55 外部接続IF、56 記録媒体IF、57 システムメモリ、58 SDRAM、61 操作入力部、62 タッチ入力部、70 アナログ処理部、71 AD変換部、72 デジタル処理部、73 駆動ドライバ、100 メモリカード、110 外部機器、221 第1コア、222 第2コア、311、312、313、314、315、316、317、318、324、326、327、328、329、330 コンポーネント、400、410、420 画面、401、403、407 文字、404、411、412、413、414、415、416、417、418、419、421、423、425、426 オブジェクト、610、620 メモリマップ、611、612、613、614、615、621、622、625 メモリ領域
【特許請求の範囲】
【請求項1】
電子機器であって、
表示部と、
リアルタイムOSである第1OS、および、前記表示部を介するユーザインタフェース機能を少なくとも提供する第2OSを格納する格納部と、
前記第1OSを動作させて前記電子機器を制御する制御部と、
を備え、
前記制御部は、前記表示部を介するユーザインタフェース機能を有効にして前記電子機器を動作させる場合に、前記第2OSを起動させて前記第2OSに前記表示部を少なくとも制御させる
電子機器。
【請求項2】
ユーザ操作を受け付けるユーザ操作入力部
をさらに備え、
前記制御部は、前記ユーザインタフェースを有効にすべきユーザ操作を前記ユーザ操作入力部が受け付けた場合に、前記第2OSを起動させる
請求項1に記載の電子機器。
【請求項3】
前記第2OSは、ユーザインタフェース用のオブジェクトを前記表示部に表示させる機能を含み、
前記制御部は、前記第2OSを動作させて、前記ユーザインタフェース用のオブジェクトを前記表示部に表示させる
請求項1または2に記載の電子機器。
【請求項4】
前記第2OSは、前記電子機器に対する指示を前記表示部の表示画面に対するユーザからのタッチ操作で受け付ける機能を含み、
前記制御部は、前記第2OSを動作させて前記電子機器に対する指示内容を特定し、特定した前記指示内容に基づいて前記電子機器を制御する
請求項1から3のいずれか一項に記載の電子機器。
【請求項5】
撮像部
をさらに備え、
前記第2OSは、前記撮像部に対する指示を前記タッチ操作で受け付ける機能を含み、
前記制御部は、前記第2OSを動作させて前記撮像部に対する指示内容を特定し、特定した指示内容に基づいて前記撮像部を制御する
請求項4に記載の電子機器。
【請求項6】
前記第1OSは、前記撮像部に対する撮像指示を操作部材で受け付ける機能を含み、
前記第2OSは、前記撮像指示を前記タッチ操作で受け付ける機能を含み、
前記制御部は、前記ユーザインタフェースが有効でない場合に、前記第1OSからの制御により、前記操作部材で受け付けた撮像指示に応じて前記撮像部に撮像させ、前記ユーザインタフェースが有効である場合に、前記第2OSからの制御により、前記タッチ操作または前記操作部材で受け付けた前記撮像指示に応じて前記撮像部を制御する
請求項5に記載の電子機器。
【請求項7】
前記第1OSは、前記撮像部が有する撮像素子の駆動を制御する機能を含み、
前記制御部は、前記第2OSを動作させて前記撮像部に対する指示内容を特定し、特定した前記指示内容に基づいて前記第1OSにより前記撮像素子の駆動を制御する
請求項5または6に記載の電子機器。
【請求項8】
前記第1OSは、前記撮像部により撮像された画像を前記表示部に表示する機能を含み、
前記第2OSは、前記撮像部により撮像された画像に重畳してユーザインタフェース用のオブジェクトを前記表示部に表示させる機能を含む
請求項5から7のいずれか一項に記載の電子機器。
【請求項9】
外部機器との間で通信を行う通信部
をさらに備え、
前記第2OSは、前記外部機器との間で通信される通信データを処理する機能を含み、
前記制御部は、前記通信部によるデータ通信を有効にして前記電子機器を動作させる場合に、前記第2OSを動作させて少なくとも前記通信データを処理する
請求項1から8のいずれか一項に記載の電子機器。
【請求項10】
前記制御部は、前記第1OSおよび前記第2OSが動作している場合に、前記ユーザインタフェースを無効にすべきユーザ操作を受け付けたことを条件として、前記第2OSによる制御を停止する
請求項1から9のいずれか一項に記載の電子機器。
【請求項11】
前記制御部は、前記第1OSおよび前記第2OSが動作している場合に、前記電子機器が有する撮像部に連写撮影させる旨の指示を受け付けたことを条件として、前記第2OSによる制御を停止する
請求項1から10のいずれか一項に記載の電子機器。
【請求項12】
前記制御部は、前記第1OSおよび前記第2OSが動作している場合に、予め定められた値より高い速度で前記撮像部に連続撮影させる旨の指示を受け付けたことを条件として、前記第2OSによる制御を停止して前記第1OSに連続撮影を制御させる
請求項11に記載の電子機器。
【請求項13】
前記表示部は、位置または向きが可変な表示面を有し、
前記制御部は、前記表示面が開状態にされた場合に前記第2OSを動作させ、前記第1OSおよび前記第2OSが動作している場合に前記表示面が閉状態にされたことを条件として前記第2OSによる制御を停止させる
請求項1から12のいずれか一項に記載の電子機器。
【請求項14】
画像データの一時記憶領域として少なくとも一部のメモリ領域が使用されるメモリ部
をさらに備え、
前記制御部は、前記第1OSおよび前記第2OSを、前記メモリ部の一部のメモリ領域を使用して動作させ、前記一時記憶領域が不足する場合に、前記第2OSの動作を停止して、前記第2OSが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を前記一時記憶領域に割り当てる
請求項1から13のいずれか一項に記載の電子機器。
【請求項15】
前記メモリ部は、前記電子機器が有する撮像部が連続撮影することにより得られた複数の画像の画像データを、前記一時記憶領域に記憶する
請求項14に記載の電子機器。
【請求項16】
前記制御部は、前記連続撮影により単位時間あたりに撮影される画像数に基づいて、前記一時記憶領域が不足するか否かを判断する
請求項15に記載の電子機器。
【請求項17】
前記制御部は、前記第2OSのメモリイメージを不揮発性メモリにハイバネートするのに要する時間と、前記連続撮影により単位時間あたりに撮影される画像数に基づいて、前記第2OSのメモリイメージのハイバネートを開始するタイミングを決定し、決定したタイミングで前記第2OSの動作を停止させて前記ハイバネートを開始させる
請求項15または16に記載の電子機器。
【請求項18】
撮像装置であって、
画像データの一時記憶領域として少なくとも一部のメモリ領域が割り当てられるメモリ部と、
リアルタイムOSである第1OS、および、非リアルタイムOSである第2OSを動作させて前記撮像装置を制御する制御部と、
を備え、
前記制御部は、前記メモリ部の一部のメモリ領域を使用して前記第2OSを動作させている場合に、前記一時記憶領域が不足することを条件として、前記第2OSの動作を停止させ、前記第2OSが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を前記一時記憶領域に割り当てる
撮像装置。
【請求項19】
前記メモリ部は、連続撮影により得られた複数の画像の画像データを、前記一時記憶領域に記憶する
請求項18に記載の撮像装置。
【請求項20】
前記制御部は、前記連続撮影により単位時間あたりに撮影される画像数に基づいて、前記一時記憶領域が不足するか否かを判断する
請求項19に記載の撮像装置。
【請求項21】
前記制御部は、前記第2OSのメモリイメージを不揮発性メモリにハイバネートするのに要する時間と、前記連続撮影により単位時間あたりに撮影される画像数に基づいて、前記第2OSのメモリイメージのハイバネートを開始するタイミングを決定し、決定したタイミングで前記第2OSの動作を停止させて前記ハイバネートを開始させる
請求項19または20に記載の撮像装置。
【請求項22】
前記制御部は、前記第2OSの動作を停止させた後、前記一時記憶領域の不足が解消された場合に、前記第2OSの動作を再開させる
請求項18から21のいずれか一項に記載の撮像装置。
【請求項23】
前記一時記憶領域に記憶された画像データに対して画像処理を施す画像処理部
をさらに備える請求項18から22のいずれか一項に記載の撮像装置。
【請求項24】
表示部を有する電子機器を制御するプログラムであって、
リアルタイムOSである第1OSを動作させて前記電子機器を制御するステップと、
前記表示部を介するユーザインタフェース機能を有効にして前記電子機器を動作させる場合に、前記表示部を介するユーザインタフェース機能を少なくとも提供する第2OSを起動させて前記第2OSに前記表示部を少なくとも制御させるステップと、
をコンピュータに実行させるプログラム。
【請求項25】
画像データの一時記憶領域として少なくとも一部のメモリ領域が割り当てられるメモリ部を有する撮像装置を制御するプログラムであって、
リアルタイムOSである第1OS、および、非リアルタイムOSである第2OSを動作させて前記撮像装置を制御するステップと、
前記メモリ部の一部のメモリ領域を使用して前記第2OSを動作させている場合に、前記一時記憶領域が不足することを条件として、前記第2OSの動作を停止させ、前記第2OSが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を前記一時記憶領域に割り当てるステップと、
をコンピュータに実行させるプログラム。
【請求項1】
電子機器であって、
表示部と、
リアルタイムOSである第1OS、および、前記表示部を介するユーザインタフェース機能を少なくとも提供する第2OSを格納する格納部と、
前記第1OSを動作させて前記電子機器を制御する制御部と、
を備え、
前記制御部は、前記表示部を介するユーザインタフェース機能を有効にして前記電子機器を動作させる場合に、前記第2OSを起動させて前記第2OSに前記表示部を少なくとも制御させる
電子機器。
【請求項2】
ユーザ操作を受け付けるユーザ操作入力部
をさらに備え、
前記制御部は、前記ユーザインタフェースを有効にすべきユーザ操作を前記ユーザ操作入力部が受け付けた場合に、前記第2OSを起動させる
請求項1に記載の電子機器。
【請求項3】
前記第2OSは、ユーザインタフェース用のオブジェクトを前記表示部に表示させる機能を含み、
前記制御部は、前記第2OSを動作させて、前記ユーザインタフェース用のオブジェクトを前記表示部に表示させる
請求項1または2に記載の電子機器。
【請求項4】
前記第2OSは、前記電子機器に対する指示を前記表示部の表示画面に対するユーザからのタッチ操作で受け付ける機能を含み、
前記制御部は、前記第2OSを動作させて前記電子機器に対する指示内容を特定し、特定した前記指示内容に基づいて前記電子機器を制御する
請求項1から3のいずれか一項に記載の電子機器。
【請求項5】
撮像部
をさらに備え、
前記第2OSは、前記撮像部に対する指示を前記タッチ操作で受け付ける機能を含み、
前記制御部は、前記第2OSを動作させて前記撮像部に対する指示内容を特定し、特定した指示内容に基づいて前記撮像部を制御する
請求項4に記載の電子機器。
【請求項6】
前記第1OSは、前記撮像部に対する撮像指示を操作部材で受け付ける機能を含み、
前記第2OSは、前記撮像指示を前記タッチ操作で受け付ける機能を含み、
前記制御部は、前記ユーザインタフェースが有効でない場合に、前記第1OSからの制御により、前記操作部材で受け付けた撮像指示に応じて前記撮像部に撮像させ、前記ユーザインタフェースが有効である場合に、前記第2OSからの制御により、前記タッチ操作または前記操作部材で受け付けた前記撮像指示に応じて前記撮像部を制御する
請求項5に記載の電子機器。
【請求項7】
前記第1OSは、前記撮像部が有する撮像素子の駆動を制御する機能を含み、
前記制御部は、前記第2OSを動作させて前記撮像部に対する指示内容を特定し、特定した前記指示内容に基づいて前記第1OSにより前記撮像素子の駆動を制御する
請求項5または6に記載の電子機器。
【請求項8】
前記第1OSは、前記撮像部により撮像された画像を前記表示部に表示する機能を含み、
前記第2OSは、前記撮像部により撮像された画像に重畳してユーザインタフェース用のオブジェクトを前記表示部に表示させる機能を含む
請求項5から7のいずれか一項に記載の電子機器。
【請求項9】
外部機器との間で通信を行う通信部
をさらに備え、
前記第2OSは、前記外部機器との間で通信される通信データを処理する機能を含み、
前記制御部は、前記通信部によるデータ通信を有効にして前記電子機器を動作させる場合に、前記第2OSを動作させて少なくとも前記通信データを処理する
請求項1から8のいずれか一項に記載の電子機器。
【請求項10】
前記制御部は、前記第1OSおよび前記第2OSが動作している場合に、前記ユーザインタフェースを無効にすべきユーザ操作を受け付けたことを条件として、前記第2OSによる制御を停止する
請求項1から9のいずれか一項に記載の電子機器。
【請求項11】
前記制御部は、前記第1OSおよび前記第2OSが動作している場合に、前記電子機器が有する撮像部に連写撮影させる旨の指示を受け付けたことを条件として、前記第2OSによる制御を停止する
請求項1から10のいずれか一項に記載の電子機器。
【請求項12】
前記制御部は、前記第1OSおよび前記第2OSが動作している場合に、予め定められた値より高い速度で前記撮像部に連続撮影させる旨の指示を受け付けたことを条件として、前記第2OSによる制御を停止して前記第1OSに連続撮影を制御させる
請求項11に記載の電子機器。
【請求項13】
前記表示部は、位置または向きが可変な表示面を有し、
前記制御部は、前記表示面が開状態にされた場合に前記第2OSを動作させ、前記第1OSおよび前記第2OSが動作している場合に前記表示面が閉状態にされたことを条件として前記第2OSによる制御を停止させる
請求項1から12のいずれか一項に記載の電子機器。
【請求項14】
画像データの一時記憶領域として少なくとも一部のメモリ領域が使用されるメモリ部
をさらに備え、
前記制御部は、前記第1OSおよび前記第2OSを、前記メモリ部の一部のメモリ領域を使用して動作させ、前記一時記憶領域が不足する場合に、前記第2OSの動作を停止して、前記第2OSが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を前記一時記憶領域に割り当てる
請求項1から13のいずれか一項に記載の電子機器。
【請求項15】
前記メモリ部は、前記電子機器が有する撮像部が連続撮影することにより得られた複数の画像の画像データを、前記一時記憶領域に記憶する
請求項14に記載の電子機器。
【請求項16】
前記制御部は、前記連続撮影により単位時間あたりに撮影される画像数に基づいて、前記一時記憶領域が不足するか否かを判断する
請求項15に記載の電子機器。
【請求項17】
前記制御部は、前記第2OSのメモリイメージを不揮発性メモリにハイバネートするのに要する時間と、前記連続撮影により単位時間あたりに撮影される画像数に基づいて、前記第2OSのメモリイメージのハイバネートを開始するタイミングを決定し、決定したタイミングで前記第2OSの動作を停止させて前記ハイバネートを開始させる
請求項15または16に記載の電子機器。
【請求項18】
撮像装置であって、
画像データの一時記憶領域として少なくとも一部のメモリ領域が割り当てられるメモリ部と、
リアルタイムOSである第1OS、および、非リアルタイムOSである第2OSを動作させて前記撮像装置を制御する制御部と、
を備え、
前記制御部は、前記メモリ部の一部のメモリ領域を使用して前記第2OSを動作させている場合に、前記一時記憶領域が不足することを条件として、前記第2OSの動作を停止させ、前記第2OSが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を前記一時記憶領域に割り当てる
撮像装置。
【請求項19】
前記メモリ部は、連続撮影により得られた複数の画像の画像データを、前記一時記憶領域に記憶する
請求項18に記載の撮像装置。
【請求項20】
前記制御部は、前記連続撮影により単位時間あたりに撮影される画像数に基づいて、前記一時記憶領域が不足するか否かを判断する
請求項19に記載の撮像装置。
【請求項21】
前記制御部は、前記第2OSのメモリイメージを不揮発性メモリにハイバネートするのに要する時間と、前記連続撮影により単位時間あたりに撮影される画像数に基づいて、前記第2OSのメモリイメージのハイバネートを開始するタイミングを決定し、決定したタイミングで前記第2OSの動作を停止させて前記ハイバネートを開始させる
請求項19または20に記載の撮像装置。
【請求項22】
前記制御部は、前記第2OSの動作を停止させた後、前記一時記憶領域の不足が解消された場合に、前記第2OSの動作を再開させる
請求項18から21のいずれか一項に記載の撮像装置。
【請求項23】
前記一時記憶領域に記憶された画像データに対して画像処理を施す画像処理部
をさらに備える請求項18から22のいずれか一項に記載の撮像装置。
【請求項24】
表示部を有する電子機器を制御するプログラムであって、
リアルタイムOSである第1OSを動作させて前記電子機器を制御するステップと、
前記表示部を介するユーザインタフェース機能を有効にして前記電子機器を動作させる場合に、前記表示部を介するユーザインタフェース機能を少なくとも提供する第2OSを起動させて前記第2OSに前記表示部を少なくとも制御させるステップと、
をコンピュータに実行させるプログラム。
【請求項25】
画像データの一時記憶領域として少なくとも一部のメモリ領域が割り当てられるメモリ部を有する撮像装置を制御するプログラムであって、
リアルタイムOSである第1OS、および、非リアルタイムOSである第2OSを動作させて前記撮像装置を制御するステップと、
前記メモリ部の一部のメモリ領域を使用して前記第2OSを動作させている場合に、前記一時記憶領域が不足することを条件として、前記第2OSの動作を停止させ、前記第2OSが使用していたメモリ領域のうちの少なくとも一部のメモリ領域を前記一時記憶領域に割り当てるステップと、
をコンピュータに実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−30949(P2013−30949A)
【公開日】平成25年2月7日(2013.2.7)
【国際特許分類】
【出願番号】特願2011−165153(P2011−165153)
【出願日】平成23年7月28日(2011.7.28)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
【公開日】平成25年2月7日(2013.2.7)
【国際特許分類】
【出願日】平成23年7月28日(2011.7.28)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
[ Back to top ]