(57)【要約】【課題】  複数の撮影アプリケーションが、同じ撮像で得られる画像を利用できるようにする。【解決手段】  撮影アプリケーション選択タスク２０２は、インストールされたアプリケーション２１１，２１２，２１３からユーザ操作に従い１以上のアプリケーションを選択する。撮影イベント発行タスク２０３は、シャッタボタン操作に従い、選択されたアプリケーションに撮影イベントを発行し、デバイスドライバ２０５を介して撮影データ及び付加情報を取得する。撮影データ管理タスク２０４は、選択されたアプリケーションに撮影データ及び付加情報を転送する。選択されたアプリケーションは、設定された処理を撮影データに施す。【選択図】  図２
2018011211.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段を使用する複数の撮影アプリケーションをインストールできる撮像装置であって、
前記複数の撮影アプリケーションから前記撮像手段の同じ撮影動作で実行する１以上の撮影アプリケーションを選択する選択手段と、
前記選択手段で選択される１以上の撮影アプリケーションに撮影イベントを発行する撮影イベント発行手段と、
前記撮像手段により生成される撮影データを管理する撮影データ管理手段
とを有し、
前記撮影データ管理手段は、前記選択手段で選択される１以上の撮影アプリケーションからの撮影データ転送要求に応じて同じ撮影データを要求元に転送する
ことを特徴とする撮像装置。
【請求項２】
前記撮影イベント発行手段は、ユーザからの撮影指示の前に、前記選択手段により選択される撮影アプリケーションから前記撮影データの種別情報及び付加情報のいずれかを取得することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記撮影アプリケーションは、前記撮影イベント発行手段からの撮影イベントに応じて、前記種別情報及び付加情報のいずれかを前記撮影イベント発行手段に送信することを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記種別情報が、ＲＡＷ画像データ及びＹＣＣ画像データのいずれかを指定する情報であることを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記付加情報は、撮影位置情報、被写体検出情報、及び被写体までの距離情報のいずれかを含むことを特徴とする請求項３または４に記載の撮像装置。
【請求項６】
前記選択手段は、選択した各撮影アプリケーションに優先順位を付加することを特徴とする請求項１から５のいずれか１項に記載の撮像装置。
【請求項７】
前記選択手段により選択されている撮影アプリケーションの優先順位に応じて、ライブビューのアプリケーションを決定することを特徴とする請求項６に記載の撮像装置。
【請求項８】
前記撮影イベント発行手段は、前記選択手段により選択されている撮影アプリケーションの優先順位に応じて、前記選択手段により選択されている各撮影アプリケーションに撮影イベントを発行することを特徴とする請求項６に記載の撮像装置。
【請求項９】
前記撮影データ管理手段は、前記撮影アプリケーションに前記撮影データを転送するために、前記撮影データを格納するメモリの格納アドレスを前記撮影アプリケーションに送信することを特徴とする請求項１から８のいずれか１項に記載の撮像装置。
【請求項１０】
前記撮影イベント発行手段及び前記撮影データ管理手段はそれぞれ、ＣＰＵで動作するタスクにより実現されることを特徴とする請求項１から９のいずれか１項に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の撮影アプリケーションを利用可能な撮像装置に関する。
【背景技術】
【０００２】
複数の撮影アプリケーションソフトウエアをインストールでき、撮影状況に応じて利用するカメラ、及びそのようなカメラが付属する携帯端末が知られている。なお、アプリケーションソフトをアプリと略す。例えば、いわゆるスマートフォン及びコネクティッド・カメラなどがその例である。このような装置では、カメラ機能を瞬間的には一つの撮影アプリが占有するのが一般的である。
【０００３】
特許文献１には、複数の撮影アプリをインストール可能な撮像装置において、複数の撮影アプリからの撮影要求をその発行順に実行するようにした技術が記載されている。また、１つの画像を複数の撮影アプリに配信することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７-４６５６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
同じ場面を複数の画像効果を施して撮影したい場合、使用する撮影アプリを切り替えて撮影する必要がある。撮影アプリの切り替え操作が必要だと、動きのある被写体に対してシャッタチャンスを逃すことになる。すなわち、同じ場面に対して異なる画像効果を施した撮影をリアルタイムで行うことが難しい。
【０００６】
特許文献１に記載される技術では、各アプリからの撮影要求が所定期間内に発行されている必要があり、上述の問題を解決するには至っていない。
【０００７】
本発明はこのような問題を解決すべくなされたものであり、一回の撮影動作で異なる画像効果を施した複数の画像を取得可能な撮像装置を提示することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る撮像装置は、撮像手段を使用する複数の撮影アプリケーションをインストールできる撮像装置であって、前記複数の撮影アプリケーションから前記撮像手段の同じ撮影動作で実行する１以上の撮影アプリケーションを選択する選択手段と、前記選択手段で選択される１以上の撮影アプリケーションに撮影イベントを発行する撮影イベント発行手段と、前記撮像手段により生成される撮影データを管理する撮影データ管理手段とを有し、前記撮影データ管理手段は、前記選択手段で選択される１以上の撮影アプリケーションからの撮影データ転送要求に応じて同じ撮影データを要求元に転送することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、独立した複数のアプリケーションに同じ撮影データを処理させることで、同じ撮影タイミングでの複数の画像効果を施した画像を得ることが出来る。
【図面の簡単な説明】
【００１０】
【図１】本発明に係る撮像装置の一実施例の概略構成ブロック図である。
【図２】本実施例のソフトウエア構成図である。
【図３】本実施例の撮影処理シーケンス図である。
【図４】本実施例の撮影アプリケーション選択タスクの処理フローチャートである。
【図５】本実施例の撮影イベント発行タスクの処理フローチャートである。
【図６】本実施例の撮影データ管理タスクの処理フローチャートである。
【図７】複数の撮影データ／付加情報を扱う実施例２の撮影処理シーケンス図である。
【図８】実施例２における撮影イベント発行タスクの処理フローチャートである。
【図９】実施例２における撮影データ管理タスクの処理フローチャートである。
【図１０】ライブビューアプリケーション選択撮影を行える実施例３の処理シーケンスである。
【図１１】実施例３における撮影アプリケーション選択タスクの処理フローチャートである。
【図１２】実施例３における撮影イベント発行タスクの処理フローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例１】
【００１２】
図１は、本発明に係る撮像装置の一実施例の概略構成ブロック図である。撮像装置１００は、撮像画像等をメモリカード等の記録媒体１４０に記録再生する。記録媒体１４０は、撮像装置１００に着脱可能である。
【００１３】
１０１は、撮像装置１００のメインメモリとなるＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。ＤＲＡＭ１０１には、画像データ及び撮影付加情報等が一時格納される。
【００１４】
１０２はメインデータバスである。各ブロックへの制御指示，及びＤＲＡＭ１０１へのアクセスは、このメインデータバス１０２を経由して行われる。
【００１５】
１０３は、被写体を撮影するためのレンズを含むレンズユニットである。
【００１６】
１０４は、レンズユニット１０３からの光束を受光し、画像信号に変換する撮像手段である。撮像手段１０４は、生成した画像信号をデジタルデータとしてＤＲＡＭ１０１に一時格納する。
【００１７】
１０５は、撮像手段１０４によって得られた画像信号を現像処理し、フレーム画像を生成するカメラ信号処理手段である。カメラ信号処理手段１０５により生成された複数のフレーム画像は、ＤＲＡＭ１０１に一時格納される。
【００１８】
１０６は、カメラ信号処理手段１０５によって生成されたフレーム画像から顔領域を抽出し、被写体領域を検出する被写体検出手段である。
【００１９】
１０７は、カメラ信号処理手段１０５によって生成されたフレーム画像から被写体までの距離を測定する距離測定手段である。
【００２０】
１０８は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ、全地球測位網）受信ユニットであり、撮像装置１００の地球座標系上での３次元位置を検出する。
【００２１】
１０９は、記録媒体１４０を接続し、記録媒体１４０にデータを読み書きするメディアインターフェース（Ｉ／Ｆ）である。
【００２２】
１１０は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等の画像表示デバイスである。
【００２３】
１１１は、撮像装置１００の全体を制御するＣＰＵである。１１２は、ＣＰＵ１１１、不揮発性メモリ１１３、ＲＡＭ１１４及び操作部１１５を相互に接続するプログラムバスである。不揮発性メモリ１１３には、ＣＰＵ１１１で実行される複数のプログラムが格納されている。ＲＡＭ１１４は、ＣＰＵ１１１のワークメモリとして使用される。操作部１１５は、ユーザが撮像装置１００の動作指示を行うためのボタン、十字キー及びタッチパネル等からなる。
【００２４】
撮像装置１００における通常の記録動作では、撮像手段により撮像された画像は、次のような手順または経路で記録媒体１４０に記録される。すなわち、撮像手段１０４は、レンズユニット１０３により形成される光学像に応じた画像信号をカメラ信号処理手段１０５に供給する。カメラ信号処理手段１０５は、撮像手段１０４からの画像信号を現像処理して、フレーム画像データを生成し、ＤＲＡＭ１０１に一時格納する。ＣＰＵ１１１は、不揮発性メモリ１１３から読み込んで実行しているアプリに従い、ＤＲＡＭ１０１のフレーム画像データを所定形式の動画データまたは画像ストリームデータに変換し、メディアＩ／Ｆ１１２を介して記録媒体１４０に記録する。
【００２５】
図２は、ＣＰＵ１１１で実行されるプログラムのソフトウエア構成図を示す。図１に示すハードウエア構成上に、オペレーティングシステムレイヤがあり、更に上に、アプリケーションレイヤがある。図２に示すプログラムが不揮発性メモリ１１３に格納されており、ＣＰＵ１１１は、そのプログラムを読み込み実行することで、以下に説明する諸機能を実現する。
【００２６】
オペレーティングシステムレイヤは、ハードウエアを抽象化したインターフェースをアプリケーションソフトウエアに提供するソフトウエアからなる。２０１は、操作部１１５からの入力信号からユーザの操作を判別し、ソフトウエアにおける各種イベントを生成する入力操作判別タスクである。２０２は、入力操作判別タスク２０１からの選択イベントに応じて、選択されている１以上のアプリケーションをリスト化し、撮影アプリケーション選択リストを作成する撮影アプリケーション選択タスクである。必要により撮影アプリケーション選択リストを撮影アプリ選択リストと略す。２０３は、入力操作判別タスク２０１からユーザの撮影操作イベントを受信した場合に、選択されているアプリケーションに撮影操作イベントを発行し、デバイスドライバ２０５に撮影指示を出す撮影イベント発行タスクである。撮影イベント発行タスク２０３は、撮影アプリケーション選択タスク２０２から撮影アプリケーション選択リストを取得する機能を有する。２０４は、撮影イベント発行タスク２０３から撮影データ（撮影画像データ）と撮影アプリケーション選択リストを受信すると、ＤＲＡＭ１０１の撮影データ及び撮影付加情報を各アプリケーションに送信する撮影データ管理タスクである。２０５は、図１に図示した各デバイスを制御し動作させるデバイスドライバである。
【００２７】
アプリケーションレイヤにおいて、２１１、２１２、２１３は、撮像装置１００にインストールされ、ユーザが選択できるアプリケーションである。以下の説明では、アプリケーション２１１，２１２，２１３が、撮影アプリケーション選択タスク２０２によって生成されるリストに登録される。
【００２８】
図３は、本実施例における撮影処理シーケンスを示す。入力操作判別タスク２０１は、ユーザからの操作はすべて操作部１１５に対するユーザ操作を、対応する所定の操作イベントに変換する。
【００２９】
ユーザは、同時に撮影データを処理させたいアプリケーションを選択し、この選択に応じて、入力操作判別タスク２０１は、アプリケーション選択の操作イベントを撮影アプリケーション選択タスク２０２に送信する（３０１）。撮影アプリケーション選択タスク２０２は、ユーザが選択したアプリケーションを記憶する撮影アプリケーション選択リストを生成する。ここでは、ユーザが、アプリケーション２１１，２１２，２１３を選択したものとする。
【００３０】
次に、ユーザは、アプリケーションの選択完了操作を操作部１１５で行い、この操作に応じて、入力操作判別タスク２０１は、選択完了の操作イベントを撮影アプリケーション選択タスク２０２に送信する（３０２）。撮影アプリケーション選択タスク２０２は、撮影アプリケーション選択リストを撮影イベント発行タスク２０３に送信する（３０３）。
【００３１】
ユーザが撮影したい場面でシャッタボタンを押下（撮影操作）すると、入力操作判別タスク２０１は、撮影操作を示す操作イベントを撮影イベント発行タスク２０３に送信する（３０４）。撮影イベント発行タスク２０３は、デバイスドライバ２０５を用いて関係するハードウエアデバイスに対する撮影指示を発行する。これにより、上述した通り、撮像手段による撮影データと撮影付加情報がＤＲＡＭ１０１に一時格納される。撮影イベント発行タスク２０３は、撮影データと撮影付加情報のＤＲＡＭ１０１上のアドレスと撮影アプリケーション選択リストを撮影データ管理タスク２０４へ送信する（３０５）。撮影イベント発行タスク２０３は更に、撮影アプリケーション選択リストに登録されている各アプリケーション２１１，２１２，２１３に対して撮影イベントを発行する（３０６、３０７、３０８）。
【００３２】
撮影イベントを受信した各アプリケーション２１１，２１２，２１３は、撮影データ管理タスク２０４に対して撮影データ転送要求を発行する（３０９、３１１、３１３）。
【００３３】
撮影データ管理タスク２０４は、アプリケーション２１１，２１２，２１３からの撮影データ転送要求（３０９，３１１，３１３）に応じて、各アプリケーション２１１，２１２，２１３に同じ撮影データと撮影付加情報を転送する（３１０、３１２、３１４）。
【００３４】
撮影データ管理タスク２０４は、選択リストに登録されているアプリケーション２１１，２１２，２１３のすべてに対して転送処理が完了すると、撮影データと撮影付加情報を破棄する（３１５）。
【００３５】
このように、本実施例では、一つの撮影による画像データ（動画または静止画）とその撮影付加情報を、予め選択された１または複数の撮影アプリに転送できる。そして、各撮影アプリが互いに異なる効果処理またはフィルタ処理を施すことで、同じ撮影画像に対する複数の処理画像を得ることができる。
【００３６】
図４は、撮影アプリケーション選択タスク２０２の動作フローチャートを示す。
【００３７】
Ｓ４０１で、撮影アプリケーション選択タスク２０２は、ユーザによる撮影アプリケーション選択指示に応じて、撮影アプリケーション選択リストを生成する。このとき、撮影アプリケーション選択タスク２０２は、リスト数Ｎを０に初期化する。
【００３８】
Ｓ４０２で、撮影アプリケーション選択タスク２０２は、撮影アプリケーション選択リストに追加したいアプリケーションがユーザにより選択されたか否かを判断する。Ｓ４０２でＹｅｓの場合、Ｓ４０３で、撮影アプリケーション選択タスク２０２は、選択されたアプリケーションを撮影アプリケーション選択リストに追加する。このとき、撮影アプリケーション選択タスク２０２は、リスト数Ｎをインクリメントする。Ｓ４０２でＮｏと判断された場合、または、Ｓ４０３の処理後に、Ｓ４０４で、撮影アプリケーション選択タスク２０２は、ユーザから撮影アプリケーション選択終了指示があったかどうかを判断する。Ｓ４０４でＮｏの場合、撮影アプリケーション選択タスク２０２は、Ｓ４０２に戻る。Ｓ４０４でＹｅｓの場合、Ｓ４０５で、撮影アプリケーション選択タスク２０２は、撮影アプリケーション選択リストを撮影イベント発行タスク２０３に送信し、図４に示す処理を終了する。
【００３９】
図５は、撮影イベント発行タスク２０３の動作フローチャートである。
【００４０】
Ｓ５０１で、撮影イベント発行タスク２０３は、ユーザによりシャッタボタン操作（撮影指示操作）がなされたか否かを判断する。Ｓ５０１でＮｏと判断された場合、撮影イベント発行タスク２０３は、シャッタボタン操作がなされるまで待機状態となる。Ｓ５０１でＹｅｓと判断されると、Ｓ５０２で、撮影イベント発行タスク２０３は、撮像手段１０４を用いて撮影データ（被写体の画像データ）をキャプチャする。
【００４１】
Ｓ５０３で、撮影イベント発行タスク２０３は、撮影アプリケーション選択タスク２０２から送信されるアプリケーション選択リストを取得する。
【００４２】
Ｓ５０４で、撮影イベント発行タスク２０３は、Ｓ５０２でキャプチャした撮影データ（画像データ）と、Ｓ５０３で取得したアプリケーション選択リストを撮影データ管理タスク２０４に送信する。
【００４３】
Ｓ５０５で、撮影イベント発行タスク２０３は、Ｓ５０３で取得したアプリケーション選択リストに登録されているすべてのアプリケーションに撮影イベントを発行し、図５に示す処理を終了する。
【００４４】
このように、本実施例では、１回のシャッタボタン操作（撮影指示操作）だけで、複数のアプリケーションに撮影イベントが発行される。
【００４５】
図６は、撮影データ管理タスク２０４の処理フローチャートである。撮影データ管理タスク２０４は、撮影イベント発行タスク２０３からの撮影データとアプリケーション選択リストの送信（５０４）をトリガーとして起動するタスクである。
【００４６】
Ｓ６０１で、撮影データ管理タスク２０４は、撮影イベント発行タスク２０３から送信された撮影データとアプリケーション選択リストを取得する。Ｓ６０２で、撮影データ管理タスク２０４は、取得したアプリケーション選択リストに基いて撮影データ転送履歴リストを生成し、初期化する。
【００４７】
Ｓ６０３で、撮影データ管理タスク２０４は、アプリケーションから撮影データ転送要求が来ているか否かを判断する。Ｓ６０３でＹｅｓと判断された場合、Ｓ６０４で、撮影データ管理タスク２０４は、転送要求元のアプリケーションＩＤを取得する。アプリケーションＩＤは、各アプリケーションを識別する管理番号であり、アプリケーションごとにユニークなものである。Ｓ６０３でＮｏと判断された場合、撮影データ管理タスク２０４は、Ｓ６０８に進む。
【００４８】
Ｓ６０５で、撮影データ管理タスク２０４は、Ｓ６０４で取得したアプリケーションＩＤがＳ６０１で取得したアプリケーション選択リストに登録されているか否かを判断する。Ｓ６０５でＮｏと判断された場合、撮影データ管理タスク２０４は、Ｓ６０８に進む。
【００４９】
Ｓ６０５でＹｅｓの場合、Ｓ６０６で、撮影データ管理タスク２０４は、Ｓ６０１で取得した撮影データをＳ６０４で取得した転送要求元のアプリケーションへ送信する。Ｓ６０７で、撮影データ管理タスク２０４は、Ｓ６０６で撮影データを送信したアプリケーションに対して撮影データ転送履歴に撮影データ転送済みを記載し、Ｓ６０８に進む。
【００５０】
Ｓ６０８で、撮影データ管理タスク２０４は、撮影データ転送履歴に記載されているアプリケーションすべてに転送済みか否かを判断する。Ｓ６０８でＮｏと判断された場合、撮影データ管理タスク２０４は、Ｓ６０３に戻る。
【００５１】
Ｓ６０８でＹｅｓと判断された場合、Ｓ６０９で、撮影データ管理タスク２０４は、Ｓ６０１で取得した撮影データと撮影アプリケーション選択リスト、及びＳ６０２で生成した撮影データ転送履歴を破棄し、図６に示す処理を終了する。
【００５２】
このようにして、複数のアプリケーションに同じ撮影データ（画像データ）が送信される。同じ画像に対してこれら複数のアプリケーションによる異なる画像処理結果を得ることが出来る。
【００５３】
上記説明では、ユーザは撮影アプリケーションの選択と選択完了操作を行い、撮影アプリケーション選択リスト作成後にシャッタボタン操作を行った。これに対し、撮影イベント発行タスク２０３が常に最新の撮影アプリケーション選択リストを保持することで、シャッタボタン操作を連続して行うことができる。
【実施例２】
【００５４】
選択されている複数のアプリケーションが撮影時に求めるデータが互いに異なる場合がある。このような場合にも対応可能な実施例２を説明する。実施例２では、撮影時に選択されたアプリケーションが求める付加情報を予め判別し、シャッタ操作に応じて、必要な撮影データ（画像データ）を取得するようにした。
【００５５】
付加情報は、撮影位置情報となるＧＰＳ情報、撮影画像中の顔領域情報となる被写体検出情報、及びフォーカス合わせに使用した被写体までの距離情報などからなる。撮影アプリケーションによっては、記録画像ファイルにこれらの付加情報をメタデータとして記録する。また、カメラ信号処理手段１０５で現像処理された現像データを要求するアプリケーションや、撮像手段１０４で撮像したそのままのデータであるＲＡＷデータを要求するアプリケーションもある。
【００５６】
以下の説明では、撮影データ要求とともに前記付加情報を要求するアプリケーションと、撮影データとして、現像データかＲＡＷデータの種別を指定して要求するアプリケーションがある場合の撮影処理を説明する。
【００５７】
図７は、本実施例の撮影処理シーケンス図である。
【００５８】
ユーザは、同時に撮影データを処理させたいアプリケーションを選択し、この選択に応じて、入力操作判別タスク２０１は、アプリケーション選択の操作イベントを撮影アプリケーション選択タスク２０２に送信する（７０１）。撮影アプリケーション選択タスク２０２は、ユーザが選択したアプリケーションを記憶する撮影アプリケーション選択リストを生成する。ここでは、ユーザが、アプリケーション２１１，２１２，２１３を選択したものとする。
【００５９】
ユーザはアプリケーションの選択完了操作を行い、この選択に応じて、入力操作判別タスク２０１は、アプリケーション選択完了の操作イベントを撮影アプリケーション選択タスク２０２に送信する（７０２）。この操作に応じて、撮影アプリケーション選択タスク２０２は、撮影アプリケーション選択リストを撮影イベント発行タスク２０３に送信する（７０３）。
【００６０】
撮影イベント発行タスク２０３は、撮影アプリケーション選択リストを取得すると、取得したリストを撮影データ管理タスク２０４に送信する（７０４）。さらに、撮影イベント発行タスク２０３は、撮影アプリケーション選択リストに登録されているアプリケーション２１１，２１２，２１３に撮影イベントを発行する（７０５、７０６、７０７）。撮影イベントを受信した各アプリケーション２１１，２１２，２１３は、取得したい撮影データの種別情報と付加情報の転送要求を撮影データ管理タスク２０４に発行する（７０８，７１０，７１２）。
【００６１】
撮影データ管理タスク２０４は、各アプリケーション２１１，２１２，２１３からの転送要求に従い、各アプリケーション２１１，２１２，２１３が要求する撮影データ種別情報と付加情報を撮影イベント発行タスク２０３に送信する（７０９，７１１，７１３）。
【００６２】
撮影イベント発行タスク２０３は、撮影アプリケーション選択リストに登録されているアプリケーション２１１，２１２，２１３が要求する撮影データ種別と付加情報をまとめ、シャッタボタン操作時に取得すべきデータを決定する（７１４）。
【００６３】
ユーザが撮影したい場面でシャッタボタン操作（撮影指示操作）を操作部１１５により入力すると、入力操作判別タスク２０１が撮影操作イベントを撮影イベント発行タスク２０３に発行する（７１５）。
【００６４】
撮影イベント発行タスク２０３は、デバイスドライバ２０５により各種ハードウエアデバイスに撮影指示を発行し、撮影データとその撮影付加情報を撮影データ管理タスク２０４に送信する（７１６）。具体的には、撮影イベント発行タスク２０３は、７１４で決定した全ての撮影データ種別の画像データと全ての撮影付加情報をＤＲＡＭ１０１に格納し、その格納アドレスを撮影データ管理タスク２０４に送信する。撮影データ管理タスク２０４は、要求（７０８、７１０、７１２）への応答として、各撮影アプリケーション２１１，２１２，２１３が要求していたデータ種別の撮影データと付加情報を転送する（７１７、７１８、７１９）。
【００６５】
選択リストに登録されているアプリケーション２１１，２１２，２１３のすべてに対して転送処理が完了すると、撮影データ管理タスク２０４は、撮影データと撮影付加情報を破棄する（７２０）。
【００６６】
このように、撮影イベント発行タスク２０３が撮影アプリケーション選択リスト受信時に各アプリケーションに撮影イベントを発行することで、各アプリケーションが撮影時に要求する撮影データ種別と付加情報を予め取得できる。
【００６７】
このようにして、実施例２では、複数のアプリケーションが求める撮影時のデータが異なる場合であっても、それぞれが必要とする種別及び撮影付加情報に適合した画像データを取得できる。
【００６８】
実施例２における撮影アプリケーション選択タスク２０２の処理は、図４で説明した処理と同様であるので、説明を省略する。
【００６９】
図８は、実施例２における撮影イベント発行タスク２０３の処理フローチャートである。
【００７０】
Ｓ８０１で、撮影イベント発行タスク２０３は、撮影アプリケーション選択タスク２０２から撮影アプリケーション選択リストを受信可能かどうかを判断する。Ｓ８０１でＮｏと判断される場合、撮影イベント発行タスク２０３は、撮影アプリケーション選択リストを受信可能になるまで待機する。Ｓ８０１でＹｅｓと判断される場合、Ｓ８０２で、撮影イベント発行タスク２０３は、撮影アプリケーション選択リストを取得する。
【００７１】
Ｓ８０３で、撮影イベント発行タスク２０３は、Ｓ８０２で取得した撮影アプリケーション選択リストを撮影データ管理タスク２０４に送信する。
【００７２】
Ｓ８０４で、撮影イベント発行タスク２０３は、Ｓ８０２で取得した撮影アプリケーション選択リストに登録されている全アプリケーションに対して撮影イベントを発行する。
【００７３】
Ｓ８０５で、撮影イベント発行タスク２０３は、シャッタボタンが操作（撮影指示）された場合に取得する撮影時取得データリストを生成する。この撮影時取得データリストに登録される情報は、シャッタボタン操作がされた場合に取得すべき撮影データの種類情報および付加情報である。より具体的には、現像データ、ＲＡＷデータ、ＧＰＳ情報、被写体検出情報及び被写体までの距離情報等であり、撮影アプリケーション選択リストに登録される撮影アプリが必要とする全ての種類の撮像データ及び全ての負荷情報を含む。
【００７４】
Ｓ８０６で、撮影イベント発行タスク２０３は、撮影時に取得すべきデータ情報が撮影データ管理タスク２０４から送信されているかどうかを判断する。Ｓ８０６でＮｏと判断された場合、撮影イベント発行タスク２０３は、撮影データ管理タスク２０４から情報が送信されるのを待機する。Ｓ８０６でＹｅｓと判断された場合、Ｓ８０７で、撮影イベント発行タスク２０３は、撮影時取得データ情報を取得し、Ｓ８０５で生成した撮影時取得データリストに登録する。
【００７５】
Ｓ８０８で、撮影イベント発行タスク２０３は、Ｓ８０２で取得した選択アプリケーション選択リストに登録されている全てのアプリケーションから撮影時取得データ情報を受信したかどうかを判断する。Ｓ８０８でＮｏと判断された場合、撮影イベント発行タスク２０３は、Ｓ８０６に戻る。Ｓ８０８でＹｅｓと判断された場合、撮影イベント発行タスク２０３は、Ｓ８０９に進む。
【００７６】
Ｓ８０９で、撮影イベント発行タスク２０３は、ユーザによってシャッタボタン操作がされたかどうかを判断する。Ｓ８０９でＮｏと判断された場合、撮影イベント発行タスク２０３は、シャッタボタン操作がされるのを待機する。Ｓ８０９でＹｅｓと判断された場合、Ｓ８１０で、撮影イベント発行タスク２０３は、Ｓ８０５で生成されＳ８０７で更新されている撮影時取得データリストにある全データをデバイスドライバ２０５により各デバイスから取得する。Ｓ８１０で撮影時取得データを全て取得すると、Ｓ８１１で、撮影イベント発行タスク２０３は、取得したデータを撮影データ管理タスクに送信し、図８に示す処理を終了する。
【００７７】
図８に示す処理により、撮影イベント発行タスク２０３は、シャッタボタン操作前に、選択されたアプリケーションが撮影時に必要とするデータを把握できる。これにより、ユーザによるシャッタボタン操作が行われたタイミングで、選択されたアプリケーションが必要とするデータすべてを取得できる。
【００７８】
図９は、実施例２における撮影データ管理タスク２０４の処理フローチャートである。
【００７９】
Ｓ９０１で、撮影データ管理タスク２０４は、撮影イベント発行タスク２０３から撮影アプリケーション選択リストを受信できるかどうかを判断する。Ｓ９０１でＮｏと判断された場合、撮影データ管理タスク２０４は、撮影アプリケーション選択リストが受信可能になるまで待機する。Ｓ９０１でＹｅｓと判断された場合、Ｓ９０２で、撮影データ管理タスク２０４は、撮影アプリケーション選択リストを取得する。
【００８０】
Ｓ９０３で、撮影データ管理タスク２０４は、Ｓ９０２で取得した撮影アプリケーション選択リストに登録されている各アプリケーションが撮影時に必要とするデータを登録可能な撮影データ種別リストを生成し、初期化する。
【００８１】
Ｓ９０４で、撮影データ管理タスク２０４は、Ｓ９０２で取得した撮影アプリケーション選択リストに登録されているアプリケーションから撮影時に必要な撮影データおよび付加情報の転送要求を受信可能かどうか判断する。Ｓ９０４でＮｏと判断された場合、撮影データ管理タスク２０４は、転送要求が受信可能になるまで待機する。Ｓ９０４でＹｅｓと判断された場合、Ｓ９０５で、撮影データ管理タスク２０４は、送信元を示すアプリケーションＩＤ、撮影データおよび撮影時に必要な付加情報の転送要求を取得する。アプリケーションＩＤは、各アプリケーションを識別する管理番号であり、アプリケーションごとにユニークな値からなる。
【００８２】
Ｓ９０６で、撮影データ管理タスク２０４は、Ｓ９０５で取得した撮影データおよび付加情報を撮影イベント発行タスク２０３に送信する。Ｓ９０７で、撮影データ管理タスク２０４は、Ｓ９０５で取得したアプリケーションＩＤ、撮影データおよび付加情報を互いに関連付けて、撮影種別リストに登録する。
【００８３】
Ｓ９０８で、撮影データ管理タスク２０４は、Ｓ９０２で取得した撮影アプリケーション選択リストに登録されている全てのアプリケーションの転送要求を取得したかどうかを判断する。Ｓ９０８でＮｏと判断された場合、撮影データ管理タスク２０４は、Ｓ９０４に戻る。Ｓ９０８でＹｅｓと判断された場合、撮影データ管理タスク２０４は、Ｓ９０９に進む。
【００８４】
Ｓ９０９で、撮影データ管理タスク２０４は、撮影イベント発行タスク２０３から撮影データ及び付加情報を受信できるかどうかを判断する。Ｓ９０９でＮｏと判断された場合、撮影データ管理タスク２０４は、撮影データ及び付加情報が受信可能になるのを待機する。Ｓ９０９でＹｅｓと判断された場合、Ｓ９１０で、撮影データ管理タスク２０４は、撮影イベント発行タスク２０３から撮影データ及び付加情報を取得する。
【００８５】
Ｓ９１１で、撮影データ管理タスク２０４は、転送要求の応答として、Ｓ９０７で更新した撮影データ種別リストをもとにＳ９１０で取得した影データ及び付加情報を各アプリケーションに送信する。Ｓ９１２で、撮影データ管理タスク２０４は、Ｓ９０２で取得した撮影アプリケーション選択リスト、Ｓ９０３で生成した撮影データ種別リスト並びにＳ９１０で取得した撮影データ及び付加情報を破棄し、図９に示す処理を終了する。
【００８６】
撮影データ管理タスク２０４の上述の処理により、各アプリケーションが要求する撮影データ種別または付加情報が異なる場合であっても、アプリケーションがそれぞれの要求に応答することが可能になる。
【００８７】
例えば、撮影アプリケーション２１１がＲＡＷ画像データを要求し、撮影アプリケーション２１２がＹＣＣ画像データとＧＰＳデータを要求し、撮影アプリケーション２１３がＲＡＷ画像データと距離マップを要求したとする。このとき、撮影イベント発行タスク２０３は、デバイスドライバ２０５により、ＲＡＷ画像データ、ＹＣＣ画像データ、ＧＰＳデータ及び距離マップデータを取得して、撮影データ管理タスク２０４に供給する。撮影データ管理タスク２０４は、各撮影アプリケーション２１１，２１２，２１３に、それぞれが要求した種類のデータ（または、このデータを格納するアドレス）を送信する。
【００８８】
また、上述の説明では、ユーザは撮影アプリケーションの選択と選択完了操作を行い、撮影アプリケーション選択リスト作成後にシャッタボタン操作をおこなった。これに対し、撮影イベント発行タスク２０３が常に最新の撮影アプリケーション選択リストを保持することで、シャッタボタン操作を連続して行うこともできる。
【００８９】
実施例２では、独立した複数のアプリケーションが撮影時に求める撮影データまたは付加情報が異なる場合であっても同じタイミングで撮影された画像から異なる画像効果を施した複数の画像を生成できる。
【００９０】
プレビューアプリを複数、選択しても良い。この場合、画面上にかくプレビューアプリの画像を並べて配置しても、ＰｉｎＰ方式で配置しても良い。
【実施例３】
【００９１】
複数の撮影アプリの内の所定の撮影アプリの処理結果画像を撮影プレビューに使用するようにした実施例を説明する。このために、この実施例３では、選択するアプリケーションに優先順位を付け、優先順位が高い撮影アプリの処理結果を撮影プレビューとして表示する。そして、優先順位に応じて各種イベントを発行することで撮影処理負荷を分散させる。
【００９２】
多くのカメラは、撮影時に液晶モニタで被写体を確認しながら撮影できる、ライブビューと呼ばれる機能を有する。図１に示す構成では、撮像手段１０４から出力される画像データをカメラ信号処理手段１０５によって現像し、リアルタイムな画像として表示手段１１０に表示することで実現される。通常の撮影アプリケーションはこのライブビュー機能を備えている。ライブビュー機能で被写体画像をモニタ用に表示するアプリケーションをライブビューアプリケーションと呼び、ライブビューアプリと略す。
【００９３】
撮影アプリは、発行された各イベントに基づいて動作するので、撮影動作とライブビュー動作は排他的に実行される。例えば、撮影アプリはライブビューイベントが発行されることでライブビュー動作を実行し、ライブビュー動作中に撮影イベントが発行されると、実行中のライブビュー動作を終了して撮影動作を行う。
【００９４】
図１０は、実施例３におけるライブビューアプリ選択撮影の処理シーケンスである。
【００９５】
ユーザは、同時に撮影データを処理させたい撮影アプリを選択し、この選択に応じて、入力操作判別タスク２０１は、アプリ選択の操作イベントを撮影アプリケーション選択タスク２０２に送信する（１００１）。撮影アプリケーション選択タスク２０２は、ユーザが選択した撮影アプリを記憶する撮影アプリケーション選択リストを生成する。ここでは、ユーザが、アプリケーション２１１，２１２，２１３を選択したものとする。
【００９６】
ユーザは、選択した撮影アプリからライブビュー機能を実行する撮影アプリを選択し、この選択に応じて、入力操作判別タスク２０１は、ライブビューアプリ選択の操作イベントを撮影アプリケーション選択タスク２０２に送信する（１００２）。撮影アプリケーション選択タスク２０２は、選択されたライブビューアプリを撮影アプリケーション選択リストに登録する。ここでは、ユーザは、アプリケーション２１１をライブビューアプリとして選択したものとする。
【００９７】
ユーザは撮影アプリの選択完了操作を行い、この選択に応じて、入力操作判別タスク２０１は、アプリケーション選択完了の操作イベントを撮影アプリケーション選択タスク２０２に送信する（１００３）。この操作に応じて、撮影アプリケーション選択タスク２０２は、撮影アプリケーション選択リストを撮影イベント発行タスク２０３に送信する（１００４）。
【００９８】
撮影イベント発行タスク２０３は、撮影アプリケーション選択リストを取得すると、取得したリストを撮影データ管理タスク２０４に送信する（１００５）。さらに、撮影イベント発行タスク２０３は、ライブビューアプリケーション以外の、撮影アプリケーション選択リストに登録されているアプリケーション２１２，２１３に撮影イベントを発行する（１００６、１００７）。撮影イベントを受信した各アプリケーション２１２，２１３は、取得したい撮影データ種別と付加情報の転送要求を撮影データ管理タスク２０４に発行する（１００８，１０１０）。
【００９９】
撮影データ管理タスク２０４は、各アプリケーション２１２，２１３からの転送要求に従い、各アプリケーション２１２，２１３が要求する撮影データ種別と付加情報を撮影イベント発行タスク２０３に送信する（１００９，１０１１）。
【０１００】
撮影イベント発行タスク２０３は、ライブビューアプリとして選択されているアプリケーション２１１にライブビューイベントを発行する（１０１２）。アプリケーション２１１は、ライブビューイベントに応じてライブビュー機能を実行する。これにより、表示手段１１０は、現在撮影されているリアルタイム画像を表示する。
【０１０１】
ユーザが撮影したい場面でシャッタボタン操作（撮影操作）を操作部１１５により入力すると、入力操作判別タスク２０１が撮影操作イベントを撮影イベント発行タスク２０３に発行する（１０１３）。撮影イベント発行タスク２０３は、ライブビューアプリとして選択されているアプリケーション２１１に撮影イベントを発行する（１０１４）。撮影イベントを受信したアプリケーション２１１は、取得したい撮影データ種別と付加情報の転送要求を撮影データ管理タスク２０４に発行する（１０１５）。撮影データ管理タスク２０４は、アプリケーション２１１からの転送要求に従い、アプリケーション２１１が要求する撮影データ種別と付加情報を撮影イベント発行タスク２０３へ送信する（１０１６）。
【０１０２】
撮影イベント発行タスク２０３は、各アプリケーション２１１，２１２，２１３が要求する撮影データ及び付加情報をまとめ、シャッタボタン操作時に取得すべきデータ（品質）を決定する（１０１７）。
【０１０３】
撮影イベント発行タスク２０３は、デバイスドライバ２０５により各種ハードウエアデバイスに対して撮影指示を発行し、撮影データとその撮影付加情報を撮影データ管理タスク２０４に送信する（１０１８）。具体的には、撮影イベント発行タスク２０３は、１０１７で決定した全ての撮影データ種別の画像データとその撮影付加情報をＤＲＡＭ１０１に格納し、その格納アドレスを撮影データ管理タスク２０４に送信する。撮影データ管理タスク２０４は、要求（１００８、１０１０、１０１５）への応答として、各アプリケーション２１１，２１２，２１３が要求していたデータ種別の撮影データと付加情報を転送する（１０１９、１０２０、１０２１）。
【０１０４】
選択リストに登録されているアプリケーション２１１，２１２，２１３のすべてに対して転送処理が完了すると、撮影データ管理タスク２０４は、撮影データと撮影付加情報を破棄する（１０２２）。
【０１０５】
このように、ライブビューアプリを撮影アプリケーション選択リストに登録し、この撮影アプリケーション選択リストに基づいて、撮影イベントとライブビューイベントの発行タイミングを制御する。
【０１０６】
図１１は、ライブビューアプリ選択撮影時の撮影アプリケーション選択タスク２０２の動作フローチャートである。
【０１０７】
Ｓ１１０１で、撮影アプリケーション選択タスク２０２は、ユーザによる撮影アプリケーション選択指示に応じて、撮影アプリケーション選択リストを生成する（Ｓ１１０１）。このとき、撮影アプリケーション選択タスク２０２は、リスト数Ｎを０に初期化する。
【０１０８】
Ｓ１１０２で、撮影アプリケーション選択タスク２０２は、撮影アプリケーション選択リストに追加したいアプリケーションが選択されたか否かを判断する。Ｓ１１０２でＹｅｓの場合、Ｓ１１０３で、撮影アプリケーション選択タスク２０２は、選択されたアプリケーションを撮影アプリケーション選択リストに追加する。このとき、撮影アプリケーション選択タスク２０２は、リスト数Ｎをインクリメントする。Ｓ１１０２でＮｏと判断された場合、または、Ｓ１１０３の処理後に、Ｓ１１０４で、撮影アプリケーション選択タスク２０２は、ユーザからライブビューアプリ選択操作があったかどうかを判断する。Ｓ１１０４でＮｏの場合、撮影アプリケーション選択タスク２０２は、Ｓ１１０２に戻る。Ｓ１１０４でＹｅｓの場合、Ｓ１１０５で、撮影アプリケーション選択タスク２０２は、ライブビューアプリの情報を撮影アプリケーション選択リストに追加する。
【０１０９】
Ｓ１１０６で、撮影アプリケーション選択タスク２０２は、ユーザから撮影アプリケーション選択終了指示があったかどうかを判断する。Ｓ１１０６でＮｏの場合、撮影アプリケーション選択タスク２０２は、Ｓ１１０２に戻る。Ｓ１１０６でＹｅｓの場合、Ｓ１１０７で、撮影アプリケーション選択タスク２０２は、撮影アプリケーション選択リストを撮影イベント発行タスク２０３に送信し、図１１に示す処理を終了する。
【０１１０】
このようにして、ライブビューアプリケーション情報が追加された撮影アプリケーション選択リストが生成される。
【０１１１】
図１２は、ライブビューアプリ選択撮影時の撮影イベント発行タスク２０３の処理フローチャートである。
【０１１２】
Ｓ１２０１で、撮影イベント発行タスク２０３は、撮影アプリケーション選択タスク２０２から撮影アプリケーション選択リストを受信できるかどうかを判断する。Ｓ１２０１でＮｏと判断される場合、撮影イベント発行タスク２０３は、撮影アプリケーション選択リストを受信可能になるまで待機する。Ｓ１２０１でＹｅｓと判断される場合、Ｓ１２０２で、撮影イベント発行タスク２０３は、撮影アプリケーション選択リストを取得する。
【０１１３】
Ｓ１２０３で、撮影イベント発行タスク２０３は、Ｓ１２０２で取得した撮影アプリケーション選択リストを撮影データ管理タスク２０４に送信する。
【０１１４】
Ｓ１２０４で、撮影イベント発行タスク２０３は、撮影アプリケーション選択リストに登録されているアプリケーションの中でライブビューアプリ以外の全アプリケーションに撮影イベントを発行する。
【０１１５】
Ｓ１２０５で、撮影イベント発行タスク２０３は、シャッタボタンが操作（撮影指示）された場合に取得する撮影時取得データリストを生成する。この撮影時取得データリストに登録される情報は、シャッタボタン操作がされた場合に取得すべき撮影データの種類情報および付加情報である。より具体的には、現像データ、ＲＡＷデータ、ＧＰＳ情報、被写体検出情報及び被写体までの距離情報等である。
【０１１６】
Ｓ１２０６で、撮影イベント発行タスク２０３は、撮影時に取得すべきデータ情報が撮影データ管理タスク２０４から送信されているかどうかを判断する。Ｓ１２０６でＮｏと判断された場合、撮影イベント発行タスク２０３は、撮影データ管理タスク２０４から情報が送信されるのを待機する。Ｓ１２０６でＹｅｓと判断された場合、Ｓ１２０７で、撮影イベント発行タスク２０３は、撮影時取得データ情報を取得し、Ｓ１２０５で生成した撮影時取得データリストに登録する。
【０１１７】
Ｓ１２０８で、撮影イベント発行タスク２０３は、選択アプリケーション選択リストに登録されているアプリケーションの中で、ライブビューアプリ以外の全アプリケーションから撮影時取得データ情報を受信したかどうかを判断する。Ｓ１２０８でＮｏと判断された場合、撮影イベント発行タスク２０３は、Ｓ１２０６に戻る。Ｓ１２０８でＹｅｓと判断された場合、撮影イベント発行タスク２０３は、Ｓ１２０９に進む。
【０１１８】
Ｓ１２０９で、撮影イベント発行タスク２０３は、ユーザによってシャッタボタン操作がされたかどうかを判断する。Ｓ１２０９でＮｏと判断された場合、撮影イベント発行タスク２０３は、シャッタボタン操作がされるのを待機する。Ｓ１２０９でＹｅｓと判断された場合、Ｓ１２１０で、撮影イベント発行タスク２０３は、ライブビューアプリに撮影イベントを発行する。
【０１１９】
Ｓ１２１１で、撮影イベント発行タスク２０３は、ライブビューアプリの撮影時に取得すべきデータ情報を撮影データ管理タスク２０４から受信可能かどうかを判断する。Ｓ１２１１でＮｏと判断された場合は、撮影イベント発行タスク２０３は、撮影データ管理タスク２０４からの情報受信を待機する。Ｓ１２１１でＹｅｓと判断された場合、Ｓ１２１２で、撮影イベント発行タスク２０３は、撮影時取得データ情報を撮影データ管理タスク２０４から受信し、Ｓ１２０５で生成した撮影時取得データリストに登録する。
【０１２０】
Ｓ１２１３で、撮影イベント発行タスク２０３は、Ｓ１２０５で生成されＳ１２０７及びＳ１２１２で更新されている撮影時取得データリストにある全データをデバイスドライバ２０５により各デバイスから取得する。Ｓ１２１３で撮影時取得データを全て取得すると、Ｓ１２１４で、撮影イベント発行タスク２０３は、取得したデータを撮影データ管理タスクに送信し、図１２に示す処理を終了する。
【０１２１】
撮影イベント発行タスク２０３のこのような処理により、ライブビュー表示を実現しながら、各アプリケーション個別の撮影データと付加情報を取得できるようになる。
【０１２２】
図１０に示すシーケンスにおける撮影データ管理タスク２０４の動作は、図９を参照して説明した動作と同様であるので、詳細な説明を省略する。
【０１２３】
実施例３では、ライブビュー表示を実現しながら、各アプリケーション個別の撮影データと付加情報に対して対応でき、同じ撮影タイミングでの撮像画像に異なる効果を施した複数の画像を取得できる。
【０１２４】
ライブビューアプリに使用するアプリケーションをユーザが指定したが、ユーザが選択したアプリケーションの中から所定の優先順位に基づいてライブビューアプリを決定するようにしてもよい。
【０１２５】
また、選択されたアプリケーションに優先順位に従って各種イベントを発行するようにしてもよい。例えば、連続撮影の場合に、所定の撮影間隔を守るために優先順位の高いアプリケーションに優先的にイベントを発行するようにする。
【図１】
2018011211.tif 000003
【図２】
2018011211.tif 000004
【図３】
2018011211.tif 000005
【図４】
2018011211.tif 000006
【図５】
2018011211.tif 000007
【図６】
2018011211.tif 000008
【図７】
2018011211.tif 000009
【図８】
2018011211.tif 000010
【図９】
2018011211.tif 000011
【図１０】
2018011211.tif 000012
【図１１】
2018011211.tif 000013
【図１２】
2018011211.tif 000014