以下、図面を参照して、本発明の実施例を詳細に説明する。ただし、この実施例に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
図1は、本発明に係る画像処理システムの一実施例の概略構成図を示す。本実施例の画像処理システムは、撮像装置100、携帯端末110、サーバ装置120及び現像装置130からなる。撮像装置100は、ネットワーク140を介して携帯端末110と通信すると共に、ネットワーク142を介して現像装置130と通信する。携帯端末110はネットワーク141を介してサーバ装置120と通信し、サーバ装置120はネットワーク143を介して現像装置130と通信する。ネットワーク141、143は広域ネットワークであり、その一部または全部が互いに重なってもよい。携帯端末110と現像装置130は、必要により、ネットワーク141、143を介して相互に通信できる。
撮像装置100は、撮像画像(RAW画像)からサイズ(幅と高さ)及びビット深度を削減してデータ量を少なくした副画像を生成する。副画像は、撮像画像(主画像)の代理データとして閲覧と画質調整に利用できる。撮像装置100は、各撮像画像に対して、撮像画像を判別するためのユニークな画像識別情報である画像UUIDを生成する。撮像装置100は、撮像装置100を特定するためのユニークなデバイス識別情報であるデバイスUUIDを記憶手段に保持する。デバイスUUIDは他のデバイスUUIDとは重複せず、画像UUIDは、他の撮像画像の画像UUIDとは重複しない。
撮像装置100は、撮像直後、又はネットワーク140が有効な適当なタイミングで、副画像を、当該副画像の元となる撮像画像(主画像)の画像UUID及びデバイスUUIDと関連付けて、携帯端末110に転送する。撮像装置100はまた、撮像直後、又はネットワーク142が有効な適当なタイミングで、撮像画像を、画像UUID及びデバイスUUIDと関連付けて現像装置130に転送する。ネットワーク140,142は、例えば、NFC(Near Field Communication)と呼ばれる近距離無線通信、USB(Universal Serial Bus)によるシリアル有線接続、又は無線LANからなる。
携帯端末110は例えば、タブレットまたはスマートフォンのような通信機器である。携帯端末110は、撮像装置100からの副画像、デバイスUUID及び画像UUIDを互いに関連付けて内蔵ストレージに記憶する。携帯端末110には、撮像装置100で生成されるRAW画像を現像する際に用いる画質調整値を決定するアプリケーションソフトウエア(調整値生成アプリという。)がインストールされている。携帯端末110上の調整値生成アプリは、撮像装置100にログインし、撮像装置100から受信した副画像を使い、撮像装置100のユーザインタフェース上で調整値を生成する。携帯端末110はネットワーク141を介してサーバ装置120と通信し、調整値生成アプリは、生成した画質調整値をデバイスUUID及び画像UUIDと紐付け、XML等の記述言語でサーバ装置120に送信する。
サーバ装置120は、携帯端末110から送信された画質調整値、デバイスUUID及び画像UUIDを互いに関連付けて、内蔵ストレージのデータベースに格納する。サーバ装置120は、ネットワーク143を介した現像装置130からの画質調整値要求信号に基づき、要求された画像の画質調整値を現像装置130に送信する。
現像装置130は撮像装置100で撮像により生成される撮像画像(RAW画像)を現像する装置であり、汎用コンピュータ上で動作するアプリケーションソフトウエア(「RAW現像アプリ」という)により実現されている。現像装置130のRAW現像アプリは、撮像装置100からの撮像画像(RAW画像)、デバイスUUID及び画像UUIDを互いに関連付けて、内蔵ストレージに格納する。現像装置130RAW現像アプリはまた、記憶した撮像画像の現像のために画質調整値要求信号をサーバ装置120に送信し、これに応じて装置120から送信された画質調整を使って撮像画像にRAW現像処理を施す。この動作の詳細は後述する。
図2は、携帯端末110、サーバ装置120及び現像装置130のベースとなり、それぞれに必要な機能を実装されるコンピュータの概略構成ブロック図を示す。
表示部201は例えば液晶表示パネルからなり、画像、並びに、管理のための種々のアイコン、メッセージ及びメニュー等を表示する。必要により画面上には、操作手段の一つとしてのタッチパネルが装備される。VRAM202には、表示部201に表示されるべき情報がビットマップ画像として描画される。VRAM202に格納されたビットマップ画像データが所定の順序で表示部201に読出され、対応する情報が画像として表示部201の画面に表示される。
BMU(ビットムーブユニット)203は、例えば、メモリ間(例えば、VRAM202と他のメモリとの間)のデータ転送、メモリと各I/Oデバイス(例えば、ネットワークI/F211)との間のデータ転送を制御する。
キーボード204は、文字等を入力するための各種キーを有する。プログラムソフトウエアにより実現される、いわゆるソフトキーボードで代替されることもある。
PD(ポインティングデバイス)205は、例えば、表示部201に表示されるアイコン、メニューその他のコンテンツを指示し、オブジェクトをドラッグドロップするために使用される。いわゆる、マウス、タッチパッド、及びタッチパネル等がこれに相当する。
CPU206は、ROM207、HDD209又はメモリカード210に格納されたOS、または後述する連携を行う制御プログラムに基づいて、各デバイスを制御する。ROM207は、各種制御プログラム及びデータを記憶する。RAM208は、CPU206のワーク領域、エラー処理時のデータの退避領域及び制御プログラムのロード領域等として使用される。HDD209は、各制御プログラム及び一時保管したデータ等を格納する。
ネットワークI/F211は、他の情報処理装置やプリンタ等とネットワークを介して通信を行う手段である。
バス212は、アドレスバス、データバス及びコントロールバスを含む。
CPU206に対する制御プログラムの提供は、ROM207、HDD209、メモリカード210から行うこともできるし、ネットワークI/F211を介して他の情報処理装置等からも行うことができる。
図3は、撮像装置100の概略構成ブロック図を示す。撮影レンズ302は、ズームレンズ及びフォーカスレンズを含む。シャッタ304は絞り機能を備える。撮像部306は、光学像を電気信号に変換するCCD又はCMOSの撮像素子等で構成される。A/D変換部308は、撮像部306から出力されるアナログ信号をデジタル信号に変換する。バリア310は、撮影レンズ302を含む撮像部を覆うことにより、撮影レンズ302、シャッタ304及び撮像部306を含む撮像系を汚れや破損から保護する。
画像処理部312は、A/D変換部308からの画像データ又はメモリ制御部314からの画像データに対し所定の画素補間及び縮小といったリサイズ処理並びに色変換処理を行う。画像処理部312は撮像部により撮像されたRAW画像データから副画像データを生成する。また、画像処理部312は、撮像した画像データに所定の演算処理を行い、得られた演算結果に基づいてシステム制御部316が露光制御及び測距制御を行う。画像処理部312から出力される撮像画像データに対して、システム制御部316は、撮像装置100自体を示すデバイスUUIDと、ユニークな画像UUIDを生成する。生成されたデバイスUUIDと画像UUIDは、画像処理部312から出力される撮像画像データと関連付けてメモリ318に格納される。
A/D変換部308からの出力データは、画像処理部312及びメモリ制御部314を介して、或いは、メモリ制御部314を介してメモリ318に直接書き込まれる。メモリ318は、撮像部306によって得られA/D変換部308によりデジタルデータ化された画像データ、及び表示部322に表示するための画像データを格納する。メモリ318は、所定枚数の静止画像や所定時間の動画像および音声を格納するのに十分な記憶容量を備えている。
メモリ318は、画像表示用メモリ(ビデオメモリ)を兼ねる。D/A変換部320は、メモリ318に格納されている表示用画像データをアナログ信号に変換して表示部322に供給する。こうして、表示部322は、メモリ318に書き込まれた表示用画像データの示す画像を表示する。
不揮発性メモリ324は電気的に消去・記録可能なメモリであり、例えばEEPROM等が用いられる。不揮発性メモリ324には、システム制御部316の動作用の定数及びプログラム等が記憶される。ここでいうプログラムは、以下にフローチャート等を参照して説明する動作をシステム制御部316に実現させるプログラムである。
システム制御部316は、撮像装置100全体を制御する。システム制御部316は、不揮発性メモリ324に記録された制御プログラムを実行することで以下の各処理を実現する。システムメモリ326は、RAMからなる。システムメモリ326には、システム制御部316の動作用の定数及び変数、並びに不揮発性メモリ324から読み出したプログラム等が展開される。
モード切替えスイッチ328は、撮像装置100の動作モードとして静止画記録モード、動画記録モード及び再生モード等のいずれかへの切り替えをシステム制御部316に指示する。第1シャッタスイッチ330は、シャッタボタンの操作途中、いわゆる半押し(撮影準備指示)でオンとなって、第1シャッタスイッチ信号SW1を発生する。第1シャッタスイッチ信号SW1により、システム制御部316は、撮像の前処理(自動合焦、露出決定等)を開始する。第2シャッタスイッチ332は、シャッタボタンの操作完了、いわゆる全押し(撮影指示)でオンとなり、第2シャッタスイッチ信号SW2を発生する。システム制御部316は、第2シャッタスイッチ信号SW2により、撮像部306からの信号読み出しから記録媒体350への画像データの書き込みまでの一連の撮影処理の動作を開始する。
操作部334は、表示部322の画面上に配置されるタッチパネルを含み、表示部322に表示される種々の機能アイコンの選択操作により各機能アイコンに割り当てられた操作指示をシステム制御部316に入力できる。機能ボタンとしては、例えば確認ボタン、終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン及び属性変更ボタンなどがある。例えば、メニューボタンが押されると、各種の設定メニュー画面が表示部322に表示される。ユーザは、表示部322に表示されたメニュー画面と、画面上の機能ボタン又は、上下左右の4方向ボタン(十字キー)及びSETボタンを用いて、各種設定を行うことができる。
コントローラホイール336は、操作部334に含まれる回転操作可能な操作部材であり、方向ボタンと共に選択項目を指示する際などに使用される。コントローラホイール336を回転操作すると、操作量に応じて電気的なパルス信号が発生し、このパルス信号に基づいてシステム制御部316は撮像装置100の各部を制御する。このパルス信号によって、システム制御部316は、コントローラホイール336が回転操作された角度及び回転量などを判定できる。
コントローラホイール336は回転操作を検出できる操作部材であればどのようなものでもよい。例えば、ユーザの回転操作に応じてコントローラホイール336自体が回転してパルス信号を発生するダイヤル操作部材であってもよい。また、タッチセンサよりなる操作部材で、コントローラホイール336自体は回転せず、コントローラホイール336上でのユーザの指の回転動作などを検出するものであってもよい。これは、いわゆるタッチホイールである。
コントローラリング338は、操作部334に含まれる回転操作部材であり、レンズ鏡筒周りで光軸を中心として回転する操作が可能である。例えばコントローラリング338を操作することで、コントローラリング338は、回転量(操作量)に応じた電気的なパルス信号を発生し、システム制御部316に供給する。システム制御部316は、コントローラリング338からのパルス信号に基づいて撮像装置100の各構成部を制御する。コントローラリング338は機能切替えボタンを有し、この機能切替えボタンがユーザにより押されると、システム制御部316は、コントローラリング338に割り当てる機能を変更可能なメニュー画面を表示部322に表示させる。
コントローラホイール336及びコントローラリング338は、通常モード項目の選択及び値の変更に用いられる。
電源スイッチ340により、撮像装置100の電源のオン/オフを切り替えることができる。
電源制御部342は、電池検出回路、DC−DCコンバータ、及び通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類及び電池残量を検出する。また、電源制御部342は、その検出結果及びシステム制御部316の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体350を含む各部に供給する。
電源部344は、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池又はACアダプタ等からなる。
通信部346は、無線または有線ケーブルを介して他の装置(ここでは、携帯端末110及び現像装置130)と通信し、制御信号並びに、撮像画像、副画像、デバイスUUID及びユニークな画像UUIDを含む種々のデータを送受信できる。
記録媒体I/F(インターフェース)348には、メモリカードやハードディスク等の記録媒体350が接続する。
ネットワークI/F352は、システム制御部316による制御下でネットワークを介して他の機器と通信する。
撮像装置100は、撮像部306により得られた撮像画像からより低画質の副画像を生成する。携帯端末110は、撮像装置100から副画像、デバイスUUID及びユニークな画像UUIDを取得し、現像装置130は、撮像装置100から撮像画像、デバイスUUID及びユニークな画像UUIDを取得する。
図4は、サーバ装置120と現像装置130に保管される管理情報の一例を示す。図4(A)は、サーバ装置120が携帯端末110から受信した調整値の管理情報例を示す。管理情報は、デバイスUUID401、画像UUID402、調整値403及びアップロード日404の項目から成る。先に説明したとおり、デバイスUUID401にはデバイス毎にユニークな識別子が格納され、画像UUID402には画像の識別子が格納される。調整値403には、画像UUID402で特定される撮像画像を適用されるべき画質調整値が格納される。アップロード日404には、サーバ装置120が携帯端末110から調整値を受信した日時が格納される。
図4(B)は、現像装置130が撮像装置100とサーバ装置120から受信した撮像画像の情報と調整値の管理情報例を示す。管理情報は、デバイスUUID411、画像UUID412、調整値413、撮像画像のファイルパス414及びダウンロード日415からなる。ファイルパス414は、現像装置130の内部ストレージに格納されているRAW画像の所在を示す。ダウンロード日415は、サーバ装置120から調整値を受信した日時を示す。
図4(C)は、現像装置130が撮像装置100から受信したデバイスUUIDの管理情報例を示す。接続履歴421は、現像装置130がいずれかの撮像装置100に接続した履歴を示す。この接続デバイス履歴情報は、撮像装置100と現像装置130がNFCまたはUSBを介して初めて接続した場合に追加される。図4(C)に示す接続デバイス履歴表に接続履歴を追加する処理の詳細は、後述する。
図5は、現像装置130からの調整値要求信号を処理するサーバ装置120の動作フローチャートを示す。
ステップS501で、サーバ装置120は、現像装置130からの調整値要求信号の受信を待機している。
調整値要求信号を受信すると(S501)、サーバ装置120は、ステップS502で、調整値要求信号からデバイスUUIDと画像UUIDを取得する。
ステップS503で、サーバ装置120は、ステップS502で取得したデバイスUUIDと画像UUIDを検索キーとして内蔵ストレージのデータベースを検索する。
デバイスUUIDと画像UUIDが同じである画質調整値が内部ストレージに格納されている場合(S504)、サーバ装置120は、ステップS505で、検索された画質調整値を取得する。ステップS507で、サーバ装置120は、ステップS505で取得した画質調整値を所定フォーマットの応答信号に格納し、ステップS506で、当該応答信号を要求元の現像装置130に送信する。
内部ストレージに要求された画質調整値が格納されていない場合(S504)、サーバ装置120は、ステップS507で、調整値無しを示すコードを格納した応答信号を要求元の現像装置130に送信する。
図6は、現像装置130がサーバ装置に画質調整値を要求する処理のフローチャートを示す。現像装置130上で動作するRAW現像アプリは、図6に示す処理を定期的に実行する。
ステップS601,S602で、現像装置130のRAW現像アプリ(以下、「現像装置130」という。)は、図4(B)に例示する表の各エントリを順に参照し、内部ストレージに記憶されている各撮像画像の画像UUIDと調整値を取得する。
ステップS602で、現像装置130は、ステップS601で調整値を取得できなかった撮像画像があるかどうかを確認する。調整値を取得できていない撮像画像がない場合(S602)、現像装置130は、図6に示す処理を終了する。調整値を取得できていない撮像画像がある場合(S602)、現像装置130は、ステップS603以降で、調整値未取得の各撮像画像について調整値の取得と、取得した調整値による現像処理を実行する。
ステップS603で、現像装置130は、調整値を未取得の撮像画像の内の1番目について、その画像UUIDに紐付くデバイスUUID(図4(B)のデバイスUUID401)を取得する。
ステップS604で、現像装置130は、ステップS603で取得したデバイスUUIDを検索キーとして図4(C)に例示するデバイス接続履歴表を参照し、同じデバイスUUIDがデバイス接続履歴に存在するかどうかを確認する。同じデバイスUUIDがデバイス接続履歴に存在しない場合(S604)、現像装置130は、ステップS609に進む。
同じデバイスUUIDがデバイス接続履歴に存在する場合(S604)、現像装置130は、ステップS605で、この画像UUIDの撮像画像に対する調整値をサーバ装置120に要求する。すなわち、現像装置130は、の画像UUIDとデバイスUUIDを特定した調整値要求信号を生成し、サーバ装置120に送信する。
ステップS606で、現像装置130は、サーバ装置120からの応答信号を受信し、ステップS607で、受信した応答信号に調整値が含まれるかどうかを確認する。調整値がある場合(S607)、ステップS608で、現像装置130は、S605の調整値要求信号の対象となった撮像画像をその調整値でRAW現像処理し、その調整値を図4(B)に例示する表の調整値403に格納する。
ステップS609で、現像装置130は、ステップS602で判明した調整値未取得の撮像画像全部についてS603〜S608の処理を実行したかどうかを判断する。未処理のものがある場合(S609)、現像装置130は、次の撮像画像についてステップS602〜S608を実行する。全対象件についてステップS602〜S608を実行し終えると(S609)、現像装置130は、図6に示すフローを終了する。
図7は、現像装置130上で動作するRAW現像アプリによる接続デバイス履歴更新のフローチャートである。RAW現像アプリは、図7に示す処理を一定時間間隔で繰り返し実行する。
S701で、現像装置130のRAW現像アプリ(以下、「現像装置130」という)は、ネットワーク142を介していずれかの撮像装置100が接続しているかどうかを確認する。接続している撮像装置を発見できない場合(S701)、現像装置130は、図7に示す処理を終了する。
いずれかの撮像装置100が接続している場合(S702)、ステップS702で、現像装置130は、接続中の撮像装置100からそのデバイスUUIDを取得する。S703で、現像装置130は、取得したデバイスUUIDを検索キーとして内蔵ストレージに記憶する接続デバイス履歴表(図4(C))を検索し、初めての接続かどうか、すなわち、接続デバイス履歴表に登録すみかどうかを調べる。初めての接続の場合(S703)、ステップS704で、現像装置130は、S702で取得したデバイスUUIDを接続デバイス履歴表に追加する。初めての接続でない場合(S703)、現像装置130は、図7に示す処理を終了する。
図5及び図6に示すフローによる処理により図4に示す管理情報データがどのように扱われるかを説明する。図4(B)に示す表の管理情報において、レコード(またはエントリ)416,418及び419の撮像画像には、現像装置130はサーバ装置120から調整値を受信していない。そこで、現像装置130は、ステップS605で、これらレコード416,418,419の撮像画像は、ステップS603〜S609の処理対象となる。他方、レコード417の撮像画像は、調整値を取得済みであり、ステップS603〜S609の対象外となる。
レコード416の撮像画像のデバイスUUID(デバイスUUID401)が図4(C)に示す接続デバイス履歴表にレコード422として登録済みである。この結果、ステップS604の分岐条件結果がYとなり、現像装置130は、S605でサーバ装置に調整値要求信号を送信する。
レコード416の撮像画像のデバイスUUID(デバイスUUID411)と画像UUID(画像UUID412)の対と同じデータが、サーバ装置120が管理する管理情報(図4(A))にも登録されている。そこで、サーバ装置120は、調整値要求信号のデバイスUUIDと画像UUIDが同じ値を格納したレコード405の調整値(調整値403)を現像装置130に応答として返信する。
現像装置130は、サーバ装置120からの応答信号に含まれる調整値をレコード416の調整値413に格納し、ダウンロード日415に受信日時を格納する。そして、現像装置130は、受信した調整値を使って、レコード416のファイルパス414に保存されている撮像画像をRAW現像する。
レコード418に対する処理は、次のようになる。レコード418の撮像画像に対しては調整値が未取得であり、そのデバイスUUIDが接続履歴421にも登録済みであることから、現像装置130は、サーバ装置120に調整値要求信号を送信する。しかし、サーバ装置120には、図4(A)に示すように、レコード418の撮像画像の画像UUIDが登録されておらず、従って、調整値も登録されていない。この結果、サーバ装置120は調整値要求信号に対して、調整値無しの応答信号を現像装置130に送信することになる。現像装置130は、この調整値無しの応答信号に対して、「調整値がサーバ装置120に保存されていないこと、従って調整値をサーバ装置120にアップロードすべき」ことを示す文言をポップアップ表示等で表示しても良い。
レコード419に対する処理を説明する。レコード419の撮像画像に対して調整値が未取得であり、そのデバイスUUIDは接続履歴421に登録されていない。従って、レコード419の撮像画像を生成した撮像装置はまだ、現像装置130に接続されたことが無い。この条件では、現像装置130はサーバ装置に調整値要求信号を送信しない。現像装置130は、レコード419の撮像画像を生成した撮像装置を現像装置130に接続する必要がある旨のメッセージをポップアップ表示等で表示しても良い。
このように、現像装置130は、接続したことがある撮像装置の撮像画像であって、携帯端末110により現像処理のための調整値がサーバ装置120にアップロードされている撮像画像のみを、現像処理できる。
上記実施例では、撮像装置100と現像装置130の接続履歴の有無を、現像装置130で判定し、その結果によりサーバ装置120に対する調整値要求信号の送信の可否を制御したが、この判定をサーバ装置120で行っても良い。この場合、現像装置130は、接続履歴421が更新される都度、接続履歴421をサーバ装置120にアップロードし、調整値要求信号にはデバイスUUIDを含める。サーバ装置120は、調整値要求信号に含まれるデバイスUUIDが接続履歴に含まれる場合に、調整値要求信号に含まれる画像UUIDに対する調整値を現像装置130に応答として返信する。
ユーザを特定するのに撮像装置100のデバイスUUIDを利用したが、携帯端末110のIDをデバイスUUIDとして使用しても良い。この場合、サーバ装置120が保持する管理情報(図4(A))のデバイスUUID401には、携帯端末110のデバイスUUIDを格納する。現像装置130の接続履歴421(図4(C))にも、携帯端末110のデバイスUUIDを格納する。
新しい調整値がサーバ装置120にアップロードされた場合に、現像装置130がその新しい調整値を取得できるようにしてもよい。例えば、現像装置130が、管理情報(図4(B))のダウンロード日415の情報をサーバ装置120への調整値要求信号に含めて送り、サーバ装置120が、管理情報(図4(A))のアップロード日404の情報と比較すればよい。調整値が更新可能な場合、現像装置130のインターフェースで新しい調整値を取得するか否かのポップアップでユーザに問い合わせてもよい。
例えば、サーバ装置120が一時的にダウンしているとか、メンテナンス中の場合、現像装置130は、サーバ装置120から調整値を取得できない。このような場合に、現像装置130は、調整値を保持する携帯端末110にアクセスして、携帯端末から直接、調整値を取得すればよい。現像装置130のRAW現像アプリにそのような機能を追加した実施例を説明する。また、現像装置130は、携帯端末110が物理的に現像装置130から一定距離以内に位置する場合に、ネットワーク140又は142により、携帯端末110を発見し、ピア・ツー・ピア等の通信方式により携帯端末110との間でデータを交換できるものとする。
現像装置130のRAW現像アプリは、サーバ装置120からサーバメンテナンス情報を受信した場合に、図8に示すメッセージをポップアップウインドウ800に表示する。ポップアップウインドウ800は、サーバメンテナンス中であることを示す文言と、調整値生成アプリ(図1に示す構成では、調整値を保持する携帯端末110)から調整値を取得するか否かの選択肢を示す。
実施例2では、現像装置130のRAW現像アプリは、図4(B)に示す表に加えて、図9に示すような構成の画像管理表を内蔵ストレージに保持する。図9に示す管理表は、画像UUID901、撮像画像ファイルパス902、調整値903、サーバからの取得状況を示すサーバ取得フラグ904、代替機器からの取得状況を示す代替機器取得フラグ905及び取得日906の各欄から成る。
画像UUID901は、撮像装置100から受信した撮像画像(RAW画像)を識別する画像UUIDを格納する欄である。撮像画像ファイルパス902は、現像装置130の内蔵ストレージに保存される撮像画像(RAW画像)の所在を示すファイルパスを格納する欄である。調整値903は、画質調整パラメータである調整値を格納する欄である。サーバ取得フラグ904は、サーバ装置120から取得したか否かを示す2値情報を格納する欄である。代替機器取得フラグ905は、代替機器(ここでは、携帯端末110)から取得したか否かを示す2値情報を格納する欄である。本実施例では、サーバ取得フラグ904と代替機器取得フラグ905は、どちらもTRUEとなることはなく、調整値903に格納される調整値がどちらから受信したかを示す情報として扱われる。取得日906は、サーバ装置120から調整値を取得できた場合の取得日を格納する欄である。
レコード(又はエントリ)907は、現像装置130の内蔵ストレージにRAW画像が保存されたものの、一度も調整値を取得できていない状態を示す。レコード908は、サーバ装置120から調整値を取得できている状態を示す。レコード909は、サーバ装置120から調整値を取得できずに、携帯端末110から調整値を取得できている状態を示す。
図10は、現像装置130のRAW現像アプリが、サーバ装置120からサーバメンテナンス中の情報を受信した場合に、サーバ装置120の代わりに携帯端末110から調整値を取得する処理フローを示す。ポップアップ800に示された選択肢に対して、ユーザが、編集値生成アプリから調整値を取得することを選択すると、RAW現像アプリが、図10に示すフローに従った処理を開始する。
ステップS1001で、現像装置130のRAW現像アプリ(以下、「現像装置130」という。)が、内蔵ストレージの画像管理表(図9)を参照して、調整値の無い撮像画像の画像UUIDを抽出又は取得する。具体的には、図9に示す画像管理表で、サーバ取得フラグ904及び代替機器取得フラグ905が共にFALSEとなっている画像UUIDをその画像UUID901から取得する。図9に示す例では、レコード907の撮像画像がその対象となる。
ステップS1001により、調整値を代替装置から取得する必要のある撮像画像が決定される。現像装置130は、決定された撮像画像のそれぞれについてステップS1002〜S1007を繰り返し実行することにより、調整値を保持する代替装置(ここでは、携帯端末110)から調整値を取得する。
ステップS1002で、現像装置130は、ネットワーク140または142に起動確認要求信号をローカルブロードキャストし、調整値生成アプリが起動している端末(ここでは、携帯端末110)をサーチする。調整値生成アプリが起動している端末を発見できない場合(S1002)、現像装置130は、ステップS1003〜S1006を迂回し、ステップS1007に進む。
調整値生成アプリが起動している端末を発見すると(S1002)、現像装置130は、ステップS1003で、その端末に向けて、ステップS1001で取得した画像UUIDを指定して調整値を要求する。携帯端末110は、現像装置130からの要求に対し、指定された画像UUIDの調整値を保持する場合にはその調整値を現像装置130に送信し、保持しない場合には、調整値無しを返信する。調整値要求信号に対する携帯端末110の処理の詳細は、図11を参照して、後述する。
ステップS1004で、現像装置130、調整値要求に対する応答に調整値が含まれるかどうかを調べる。調整値を取得できた場合(S1004)、ステップS1005で、現像装置130は、図9に示す管理表の該当するレコードの代替機器取得フラグ905をTRUEに変更し、調整値903に取得した調整値を格納する。ステップS1006で、現像装置130は、対象となる撮像画像を受信した調整値でRAW現像処理する。
ステップS1007では、現像装置130は、全対象件についてステップS102〜S1006を実行し終えたどうかを調べ、未処理件がある場合にはS1002に戻り、全件終了の場合には、図10に示すフローを終了する。
なお、画像UUIDに紐付く調整値が複数見つかった場合、現像装置130は、いずれの調整値を適用すべきかをユーザに問う画面を表示して、ユーザに選択を促す。現像装置130は、ユーザが選択した調整値を,対象の撮像画像の現像処理に適用する。
図10に示すフローでは、現像装置130がブロードキャストを用いて携帯端末110を探索しているが、逆に携帯端末110が保持する画像UUIDを現像装置130に対して通知しても良い。
図11は、調整値要求信号に対する携帯端末110の調整値生成アプリの応答処理を示すフローチャートである。
ステップS1101で、携帯端末110の調整値生成アプリ(以下、「携帯端末110」という。)は、内蔵ストレージ(HDD209に対応する)に記憶されている画像UUIDと、当該画像UUIDに紐付く調整値を取得する。携帯端末110は、調整値生成アプリが起動中の間、以下のステップS1102〜ステップS1108を繰返し実行する。
ステップS1102で、携帯端末110は、現像装置130からの起動確認要求信号(S1002)の受信を待機する。携帯端末110は、起動確認要求信号を受信すると(S1102)、ステップS1103に進む。
ステップS1103で、携帯端末110は、起動確認要求元の現像装置130に、HTMLやXML等の記述言語で作成された、起動中を示すコードを送信する。
ステップS1104で、携帯端末110は、現像装置130からの調整値要求信号(S1003)の受信を待機する。携帯端末110は、調整値要求信号を受信すると、ステップS1105に進む。
ステップS1105で、携帯端末110は、現像装置130からの調整値要求信号で特定される画像UUIDに紐付く調整値を、HTMLやXML等の記述言語形式で送信する。
ステップS1106で、携帯端末110は、現像装置130からの次の調整値要求信号があるかどうかを確認する。次の調整値要求信号を受信すると(S1106)、携帯端末110は、S1105を再度実行して、対応する調整値を現像装置130に送信する。次の調整値要求信号を受信しない場合(S1106)、携帯端末110は、S1107に進む。
ステップS1107で、携帯端末110は、内蔵ストレージ(HDD209に対応する)に記憶されている画像UUIDと、当該画像UUIDに紐付く調整値を再取得する。これは、S1102からS1106の処理の間に、新たな調整値が生成されている可能性があるからである。
ステップS1108で、携帯端末110は、調整値生成アプリ終了の指示の有無を確認する。アプリ終了の指示がない場合(S1108)、携帯端末110は、S1102以降を繰り返す。アプリ終了の指示がある場合(S1108)、携帯端末110の調整値生成アプリは、終了し、図11に示すフローを終了する。
図12は、サーバ装置120と現像装置130の内蔵ストレージに保持される画像管理情報の構成と内容の例を示す。図12(A)は、現像装置130の内蔵ストレージに保管される画像管理表の内容例を示す。レコード1201は、携帯端末110から調整値を取得できているものの、サーバ装置120から調整値を取得できていないデータを示す。レコード1202は、サーバ装置120から調整値を取得できているデータを示す。図12(B)は、サーバ装置120の画像管理表の内容例を示す。レコード1210は、サーバ装置120が携帯端末110の調整値生成アプリより受信したデータであり、画像UUIDと画像UUIDに紐付く調整値が格納されている。
図12に示すレコード1201〜1202,1210に対する現像装置130及びサーバ装置120の動作を、図13及び図14を参照して説明する。図13は、現像装置130のRAW現像アプリが、代替機器である携帯端末110から調整値を取得していた場合に、サーバ装置120から調整値を取得し直す処理フローチャートを示す。図14は、図13に対応するサーバ装置の処理フローチャートを示す。
図13を説明する。ステップS1301で、現像装置130のRAW現像アプリ(以下、「現像装置130」という。)が、内蔵ストレージの画像管理表(図12(A))を参照して、調整値の無い撮像画像の画像UUIDを抽出又は取得する。具体的には、図12(A)に示す画像管理表で、サーバ取得フラグ904がFALSEで代替機器取得フラグ905がTRUEとなっている画像UUIDをその画像UUID901から取得する。図12(A)に示す例では、レコード1201の撮像画像がその対象となる。
ステップS1302で、現像装置130は、サーバ装置120が処理可能な状態であるかどうかを確認する。現像装置130は、サーバ装置120が処理可能な状態である場合、ステップS1303に遷移する。現像装置130は、S1301で取得された各撮像画像についてステップS1303〜S1306を繰り返し実行する。
ステップS1303で、現像装置130は、ステップS1001で取得した一つの画像UUIDを指定して調整値を要求する調整値要求信号をサーバ装置120に送信する。サーバ装置120は、要求信号で指定された画像UUIDの調整値を保持する場合には、この調整値を現像装置130に送信し、調整値を保持しない場合には、調整値無しを返信する。
ステップS1304で、現像装置130、調整値要求に対する応答に調整値が含まれるかどうかを調べる。調整値を取得できなかった場合(S1304)、現像装置130は、ステップS1307に進む。
調整値を取得できた場合(S1304)、ステップS1305で、現像装置130は、図12(A)に示す管理表の該当するレコードの調整値903に取得した調整値を格納する。また、現像装置130は、該当するレコードのサーバ取得フラグ904をTRUEに変更し、代替機器取得フラグ905をFALSEに変更し、取得日906に取得日時を格納する。ステップS1306で、現像装置130は、対象となる撮像画像を受信した調整値でRAW現像処理する。
ステップS1307では、現像装置130は、全対象件についてステップS1303〜S1306を実行し終えたどうかを調べ、未処理件がある場合にはS1303に戻り、全件終了の場合には、図13に示すフローを終了する。
図14を参照し、図13に対応するサーバ装置120の動作を説明する。
ステップS1401で、サーバ装置120は、内蔵ストレージ(HDD209に対応する)に記憶されている画像UUIDと、当該画像UUIDに紐付く調整値を取得し、RAM208にロードする。サーバ装置120は、起動中の間、以下のステップS1402〜ステップS1408を繰返し実行する。
ステップS1402で、サーバ装置120は、現像装置130からの起動確認要求信号(S1302)の受信を待機する。サーバ装置120は、起動確認要求信号を受信すると(S1402)、ステップS1403に進む。
ステップS1403で、サーバ装置120は、起動確認要求元の現像装置130に、HTMLやXML等の記述言語で作成された、起動中を示すコードを送信する。
ステップS1404で、サーバ装置120は、現像装置130からの調整値要求信号(S1303)の受信を待機する。サーバ装置120は、調整値要求信号を受信すると、ステップS1405に進む。
ステップS1405で、サーバ装置120は、現像装置130からの調整値要求信号で特定される画像UUIDに紐付く調整値を、HTMLやXML等の記述言語形式で送信する。このとき、サーバ装置120は、例えば、図12(B)に示すレコード1210の調整を現像装置130に送信する。
ステップS1406で、サーバ装置120は、現像装置130からの次の調整値要求信号があるかどうかを確認する。次の調整値要求信号を受信すると(S1406)、携帯端末110は、S1405を再度実行して、対応する調整値を現像装置130に送信する。次の調整値要求信号を受信しない場合(S1406)、サーバ装置120は、S1407に進む。
ステップS1407で、サーバ装置120は、内蔵ストレージ(HDD209に対応する)に記憶されている画像UUIDと、当該画像UUIDに紐付く調整値を再取得する。これは、S1402からS1406の処理の間に、新たな調整値が生成されている可能性があるからである。
ステップS1408で、サーバ装置120は、サーバ機能終了の指示の有無を確認する。サーバ機能終了の指示がない場合(S1408)、サーバ装置120は、S1402以降を繰り返す。サーバ機能終了の指示がある場合(S1408)サーバ装置120は、終了し、図14に示すフローを終了する。
図15は、現像装置130が同一ネットワーク内の携帯端末110から調整値を取得できなかった場合に(S1004)に、ユーザに表示する画面例1500を示す。図15に示す画面1500では、同一ネットワーク内において対象となる調整値が見つからなかったことを示す文言と、同一ネットワーク外の装置から調整値の取得を試みるか否かの選択肢を示す。
図16は、現像装置130のRAW現像アプリが、図15に示す画面をポップアップ表示し、ユーザの選択に応じて、同一ネットワーク外から調整値を取得しようとする処理のフローチャートを示す。
ステップS1601で、現像装置130は、図15に示すようなポップアップ画面1500を表示する。
ステップS1602で、現像装置130は、ユーザが同一ネットワーク外から調整値を取得する選択肢を選択したかどうかを判定する。同一ネットワーク外から調整値を取得する選択肢をユーザが選択した場合(S1602)、現像装置130は、ステップS1603に進む。
ステップS1603では、現像装置130は、調整値を必要とする各撮像装置について、ステップS1003〜S1006と同様の処理で、同一ネットワーク外の装置から調整値を取得し、現像処理を実行する。現像装置130は、ローカルブロードキャストではなくダイレクトブロードキャストを用いて、ネットワーク外の装置と通信する。ダイレクトブロードキャストの宛先は、ユーザがキーボード204を利用して指定しても良いし、予め現像装置130が記憶していても良い。予め現像装置130が携帯端末110の接続情報を記憶するには、サーバ装置120と接続した事のある携帯端末110の接続情報をサーバ装置120が記憶しておき、現像装置130は、サーバ装置120からこの接続情報を予め取得しておけば良い。
上述の実施例では、携帯端末110で現像処理のための調整値を得るとした。本発明は、現像目的に限定されない。すなわち、携帯端末に代表される情報処理装置で種々の編集のための調整値を得て、直接またはサーバ装置を介して、現像装置に代わる画像処理装置に転送し、画像処理装置において所定画像処理を撮像画像に施す構成にも適用可能である。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線/無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光/光磁気記憶媒体、不揮発性の半導体メモリでもよい。
プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータがコンピュータプログラムをダウンロードして実行するような方法も考えられる。