(57)【要約】【課題】  多数のＲＡＷ画像データをより短い時間で現像処理できる手段を提供する。【解決手段】  制御部と、複数のＲＡＷ画像データを記録した第１記録手段と、画像処理装置に通信を行う通信手段と、を備えたコンピュータに関するプログラムであって、制御部が少なくとも１つの画像処理装置を検出し、該検出した各画像処理装置をそれぞれ端末装置として認識するステップと、制御部が端末装置の性能に関する性能データをそれぞれ取得するとともに、性能テーブルを生成するステップと、性能テーブルに基づいて、制御部が、各々の端末装置により実行される現像処理の配分を規定したスケジュールテーブルを生成するステップと、スケジュールテーブルに基づいて、制御部がＲＡＷ画像データおよび現像処理の命令データを各端末装置にそれぞれ送信するステップと、を制御部に実行させることを特徴とする。【選択図】  図１
2007142551.tif 000002
【特許請求の範囲】
【請求項１】
制御部と、複数のＲＡＷ画像データを記録した第１記録手段と、前記ＲＡＷ画像データに現像処理を施す画像処理装置に通信を行う通信手段と、を備えたコンピュータに関するプログラムであって、
前記制御部が前記通信手段を介して通信可能な少なくとも１つの前記画像処理装置を検出し、該検出した各画像処理装置をそれぞれ端末装置として認識する認識ステップと、
前記制御部が前記端末装置の性能に関する性能データをそれぞれ取得するとともに、前記端末装置と前記性能データとの対応関係を示す性能テーブルを生成する性能テーブル生成ステップと、
前記性能テーブルに基づいて、前記制御部が、各々の前記端末装置により実行される前記現像処理の配分を規定したスケジュールテーブルを生成するスケジュールテーブル生成ステップと、
前記スケジュールテーブルに基づいて、前記制御部が前記ＲＡＷ画像データおよび前記現像処理の命令データを各端末装置にそれぞれ送信する送信ステップと、
を前記制御部に実行させることを特徴とするプログラム。
【請求項２】
請求項１に記載のプログラムにおいて、
前記認識ステップにおいて、前記制御部が、前記ＲＡＷ画像データに対して現像処理を実行可能な電子カメラを前記端末装置として認識することを特徴とするプログラム。
【請求項３】
請求項１に記載のプログラムにおいて、
前記性能データは、前記端末装置の現像処理速度および前記端末装置との通信速度によって規定される処理時間のデータを含み、
前記スケジュールテーブル生成ステップにおいて、前記制御部は各々の前記端末装置の前記処理時間の長さに応じて前記現像処理の配分量を規定することを特徴とするプログラム。
【請求項４】
請求項１に記載のプログラムにおいて、
前記性能データは、前記端末装置が有する機能を示す機能データを含み、
前記スケジュールテーブル生成ステップにおいて、前記制御部は、特定の機能に依存する処理が要求される前記現像処理を、前記機能データに基づいて対応機能を有する端末装置に配分することを特徴とするプログラム。
【請求項５】
請求項３に記載のプログラムにおいて、
前記コンピュータは、前記端末装置の種類と現像処理速度との対応関係を示す第１テーブルと、前記通信手段の種類と通信速度との対応関係を示す第２テーブルとを記録する第２記録手段をさらに備え、
前記認識ステップは、前記制御部が前記端末装置の種類および前記通信手段の種類のデータをそれぞれ取得する種類データ取得ステップを含み、
前記性能テーブル生成ステップは、前記第１テーブルおよび前記第２テーブルに基づいて、前記制御部が前記現像処理速度および前記通信速度の推定データを取得する速度推定データ取得ステップと、
前記推定データに基づいて、前記制御部が前記処理時間を演算する推定処理時間演算ステップと、
を含むことを特徴とするプログラム。
【請求項６】
請求項３に記載のプログラムにおいて、
前記性能テーブル生成ステップは、前記制御部が前記端末装置にテストデータを送信し、前記テストデータに対する前記端末装置からの返信結果に基づいて前記処理時間のデータを取得する処理時間取得ステップを含むことを特徴とするプログラム。
【請求項７】
請求項３に記載のプログラムにおいて、
前記性能テーブル生成ステップは、
前記制御部が少なくとも１つの前記端末装置から現像処理後の画像データを受信し、該受信結果により前記処理時間の実測値を取得する実測値取得ステップと、
前記制御部が前記実測値に基づいて前記性能テーブルを更新する性能テーブル更新ステップとを含み、
前記スケジュールテーブル生成ステップは、更新後の前記性能テーブルに基づいて、前記制御部が前記スケジュールテーブルを生成することを特徴とするプログラム。
【請求項８】
請求項１に記載のプログラムにおいて、
前記制御部が通信不能状態にある端末装置を検出する通信不能端末検出ステップと、
通信不能状態にある端末装置が検出された場合には、前記制御部が通信不能状態の端末装置を除外して前記スケジュールテーブルを再設定するスケジュールテーブル再設定ステップと、
をさらに有することを特徴とするプログラム。
【請求項９】
請求項１から請求項８のいずれか１項に記載のプログラムにおいて、
前記制御部は、前記ＲＡＷ画像データに対して現像処理を実行可能であって、
前記認識ステップにおいて、前記制御部が前記コンピュータを前記端末装置の一つとして認識し、
前記性能テーブル生成ステップにおいて、前記制御部が前記コンピュータの性能データを性能テーブルに組み込み、
前記スケジュールテーブル生成ステップにおいて、前記制御部が前記コンピュータに配分する前記現像処理を前記スケジュールテーブルに組み込むことを特徴とするプログラム。
【請求項１０】
複数のＲＡＷ画像データを記録した記録手段と、
前記ＲＡＷ画像データに現像処理を施す画像処理装置に通信を行う通信手段と、
前記通信手段を介して通信可能な少なくとも１つの前記画像処理装置を検出し、該検出した各画像処理装置をそれぞれ端末装置として認識する認識手段と、
前記端末装置の性能に関する性能データをそれぞれ取得するとともに、前記端末装置と前記性能データとの対応関係を示す性能テーブルを生成する性能テーブル生成手段と、
前記性能テーブルに基づいて、各々の前記端末装置により実行される前記現像処理の配分を規定したスケジュールテーブルを生成するスケジュールテーブル生成手段と、
前記スケジュールテーブルに基づいて、前記ＲＡＷ画像データおよび前記現像処理の命令データを各端末装置にそれぞれ送信する送信手段と、
を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置にＲＡＷ画像データの現像処理を実行させるコンピュータに関する。
【背景技術】
【０００２】
例えば、特許文献１に示すように、ＲＡＷ画像データをコンピュータの記録装置に蓄積するとともに、ＲＡＷ画像データの現像処理をコンピュータに実行させるデジタルカメラシステムは従来から公知である。ここで、ＲＡＷ画像データでは、撮像素子の画素ごとのデジタルデータが一切の画像処理を行わずに記録される。また、ＲＡＷ画像データの現像処理には、信号レベル補正、ホワイトバランス調整、ガンマ補正、色補間、色差変換、圧縮処理などが含まれる。
【特許文献１】特開２００３−８７６１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、コンピュータの汎用ＣＰＵ上でソフトウエアによる現像処理を行う場合、画像処理エンジン（画像処理専用のプロセッサ）による現像処理と比べて所要時間が長くなる。特に近年の電子カメラでは画像処理の高度化と高画素化とが一層進展しているため、上記の傾向はより顕著となっている。そのため、コンピュータの記録装置に蓄積した多数のＲＡＷ画像データをより短い時間で現像処理できる手段が要請されている。
【０００４】
本発明は上記従来技術の課題を解決するためのものであって、その目的は、多数のＲＡＷ画像データをより短い時間で現像処理できるプログラムおよび情報処理装置を提供することである。
【課題を解決するための手段】
【０００５】
第１の発明は、制御部と、複数のＲＡＷ画像データを記録した第１記録手段と、ＲＡＷ画像データに現像処理を施す画像処理装置に通信を行う通信手段と、を備えたコンピュータに関するプログラムである。このプログラムは、認識ステップと、性能テーブル生成ステップと、スケジュールテーブル生成ステップと、送信ステップと、を制御部に実行させる。
【０００６】
認識ステップでは、制御部が通信手段を介して通信可能な少なくとも１つの画像処理装置を検出し、該検出した各画像処理装置をそれぞれ端末装置として認識する。性能テーブル生成ステップでは、制御部が端末装置の性能に関する性能データをそれぞれ取得するとともに、端末装置と性能データとの対応関係を示す性能テーブルを生成する。スケジュールテーブル生成ステップでは、性能テーブルに基づいて、制御部が、各々の端末装置により実行される現像処理の配分を規定したスケジュールテーブルを生成する。送信ステップでは、スケジュールテーブルに基づいて、制御部がＲＡＷ画像データおよび現像処理の命令データを各端末装置にそれぞれ送信する。
【０００７】
第２の発明は、第１の発明において、認識ステップにおいて、制御部が、ＲＡＷ画像データに対して現像処理を実行可能な電子カメラを端末装置として認識することを特徴とする。
第３の発明は、第１の発明において、性能データは、端末装置の現像処理速度および端末装置との通信速度によって規定される処理時間のデータを含む。そして、スケジュールテーブル生成ステップにおいて、制御部は各々の端末装置の処理時間の長さに応じて現像処理の配分量を規定することを特徴とする。
【０００８】
第４の発明は、第１の発明において、性能データは、端末装置が有する機能を示す機能データを含む。そして、スケジュールテーブル生成ステップにおいて、制御部は、特定の機能に依存する処理が要求される現像処理を、機能データに基づいて対応機能を有する端末装置に配分することを特徴とする。
第５の発明は、第３の発明において、コンピュータは、端末装置の種類と現像処理速度との対応関係を示す第１テーブルと、通信手段の種類と通信速度との対応関係を示す第２テーブルとを記録する第２記録手段をさらに備える。そして、認識ステップは、制御部が端末装置の種類および通信手段の種類のデータをそれぞれ取得する種類データ取得ステップを含む。性能テーブル生成ステップは、第１テーブルおよび第２テーブルに基づいて、制御部が現像処理速度および通信速度の推定データを取得する速度推定データ取得ステップと、推定データに基づいて、制御部が処理時間を演算する推定処理時間演算ステップと、を含むことを特徴とする。
【０００９】
第６の発明は、第３の発明において、性能テーブル生成ステップは、制御部が端末装置にテストデータを送信し、テストデータに対する端末装置からの返信結果に基づいて処理時間のデータを取得する処理時間取得ステップを含むことを特徴とする。
第７の発明は、第３の発明において、性能テーブル生成ステップは、制御部が少なくとも１つの端末装置から現像処理後の画像データを受信し、該受信結果により処理時間の実測値を取得する実測値取得ステップと、制御部が実測値に基づいて性能テーブルを更新する性能テーブル更新ステップとを含む。スケジュールテーブル生成ステップは、更新後の性能テーブルに基づいて、制御部がスケジュールテーブルを生成することを特徴とする。
【００１０】
第８の発明は、第１の発明において、制御部が通信不能状態にある端末装置を検出する通信不能端末検出ステップと、通信不能状態にある端末装置が検出された場合には、制御部が通信不能状態の端末装置を除外してスケジュールテーブルを再設定するスケジュールテーブル再設定ステップと、をさらに有することを特徴とする。
第９の発明は、第１から第８のいずれかの発明において、制御部は、ＲＡＷ画像データに対して現像処理を実行可能であって、認識ステップにおいて、制御部がコンピュータを端末装置の一つとして認識し、性能テーブル生成ステップにおいて、制御部がコンピュータの性能データを性能テーブルに組み込み、スケジュールテーブル生成ステップにおいて、制御部がコンピュータに配分する現像処理をスケジュールテーブルに組み込むことを特徴とする。
【００１１】
なお、上記発明に関する構成を、上記プログラムを実行する情報処理装置、上記プログラムを格納した記録媒体、あるいは情報処理装置および画像処理装置を備えた情報処理方法または情報処理システムなどに変換して表現したものも本発明の具体的態様として有効である。
【発明の効果】
【００１２】
本発明のプログラムおよび情報処理装置によれば、多数のＲＡＷ画像データをより短い時間で現像処理できる。
【発明を実施するための最良の形態】
【００１３】
以下、図面に基づいて本発明の実施形態である情報処理システムを説明する。
（本実施形態の情報処理システムの構成）
図１は、本実施形態の情報処理システムの構成を示す概要図である。情報処理システムは、情報処理装置１１と、端末装置２１とを有する。この情報処理システムでは、１台の情報処理装置１１に対して複数台の端末装置２１を接続できる。情報処理装置１１と各端末装置２２とは公知の通信手段でそれぞれ通信が可能である。また、各端末装置２１は、ＲＡＷ画像データの現像処理を実行する画像処理装置で構成される。なお、端末装置２１となる画像処理装置としては、画像処理エンジンを有する電子カメラや、現像処理機能をもつソフトウエアを実行する端末コンピュータなどが該当する。
【００１４】
次に、図１を参照しつつ情報処理装置１１の構成を説明する。情報処理装置１１は、通信Ｉ／Ｆ１２と、入力部１３およびモニタ１４と、記録部１５と、ＣＰＵ１６とを有している。この情報処理装置１１は、情報処理システムを構成する端末装置２１を認識するとともに、各端末装置２１にＲＡＷ画像データの現像処理を配分する。なお、情報処理装置１１は、現像処理を実行する画像処理装置としても機能する。
【００１５】
通信Ｉ／Ｆ１２は、有線または無線の公知の通信手段で端末装置２１とのデータ送受信を行う。例えば、通信Ｉ／Ｆ１２は、ＵＳＢ（Universal Serial Bus）やＩＥＥＥ１３９４等のシリアル通信規格による通信、有線のＬＡＮによる通信、あるいは、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ等の無線ＬＡＮによる通信などを制御する。
また、通信Ｉ／Ｆ１２は、上記のシリアル通信規格等の接続端子（不図示）を有している。なお、情報処理装置１１と端末装置２１とが有線通信を行う場合、接続端子を介して情報処理装置１１が端末装置２１と接続されることとなる。
【００１６】
入力部１３は、キーボードやポインティングデバイス等で構成される。ユーザーは入力部１３を介してＲＡＷ画像データの現像処理の詳細設定をＣＰＵ１６に指示できる。また、モニタ１４にはＣＰＵ１６が出力指示した画像が表示される。なお、モニタ１４の表示画像の例としては、ＣＰＵ１６による端末装置２１の検出状態の表示や、情報処理システムによる現像処理の進捗状況などの表示が挙げられる（表示画像の図示は省略する）。
【００１７】
記録部１５は例えばハードディスクなどで構成される。この記録部１５には、ＲＡＷ画像データを多数記録することができる。個々のＲＡＷ画像データは、ヘッダファイルと、ＲＡＷ形式の画像データ本体とで構成されている。上記のヘッダファイルには、撮影条件などのデータが所定形式で記録されている。また、記録部１５には、性能テーブルと、スケジュールテーブルと、第１テーブルと、第２テーブルとのデータが記録される。
【００１８】
性能テーブルには、端末装置と性能データとの対応関係が記録される。この性能テーブルは現像処理時にＣＰＵ１６が生成する。
図３は性能テーブルの構成を模式的に示す図である。性能テーブルには、各端末装置２１ごとの性能データが記録されている。なお、性能テーブルには、端末装置２１としての情報処理装置１１の性能データも記録される。
【００１９】
性能テーブルの性能データには、「端末装置の現像処理能力」と、「通信速度」と、「メモリ容量」と、「総合処理時間」とのデータが含まれる。上記の「端末装置の現像処理能力」には、「標準処理時間」と、「ノイズリダクション情報」と、「色補間情報」と、「収差補正情報」との各データが含まれる。
「標準処理時間」の項目には、その端末装置２１がＲＡＷ画像データに標準的な現像処理を施した場合の単位データ量当たりの処理時間が記録される。なお、図３の例では、説明の便宜上、ＲＡＷ画像データの１００万画素分を単位データ量とする。
【００２０】
「ノイズリダクション情報」の項目には、現像処理時に端末装置２１がノイズリダクション処理を行った場合の単位データ量当たりの処理時間が記録される。なお、ノイズリダクション処理機能のない端末装置は、この「ノイズリダクション情報」の処理時間のデータを有しない。
「色補間情報」の項目には、各端末装置２１の色補間アルゴリズムの種類（アルゴリズムのバージョンの情報）が記録される。なお、図３の例ではアルゴリズムのバージョンを数字で示す。この数字はアルゴリズムのバージョンが新しくなるほど大きくなるものとする。
【００２１】
「収差補正情報」の項目には、現像処理時に端末装置２１がレンズの収差補正処理（例えば、軸上色収差または倍率色収差の補正）を行った場合の単位データ量当たりの処理時間が記録される。なお、レンズの収差補正処理機能のない端末装置は、この「収差補正情報」の処理時間のデータを有しない。
「通信速度」の項目には、情報処理装置１１と端末装置２１との通信速度（ＭＢ／ｓｅｃ）が記録される。なお、端末装置２１としての情報処理装置１１は、ＲＡＷ画像データの転送時間が存在しないのでこの項目のデータを有しない。また、「メモリ容量」の項目には、端末装置２１（電子カメラ）のバッファメモリの容量が記録される。
【００２２】
「総合処理時間」の項目には、単位データ量のＲＡＷ画像データを端末装置２１に送信し、現像処理後の画像データを情報処理装置１１が受信終了するまでの時間（総合処理時間）が記録される。この総合処理時間は、通常は「標準処理時間」での処理時間および「通信速度」とに基づいてＣＰＵ１６が演算する。
ここで、「ノイズリダクション情報」および「収差補正情報」にも処理時間のデータがある場合、ＣＰＵ１６は上記項目に対応する処理時間についても総合処理時間をそれぞれ演算する。そして、ＣＰＵ１６はノイズリダクション処理やレンズの収差補正処理を行った場合の総合処理時間も性能テーブルにそれぞれ記録する。
【００２３】
スケジュールテーブルには、各端末装置２１で実行される現像処理の配分のデータが記録される。このスケジュールテーブルは、現像処理時にＣＰＵ１６が生成する。
図４はスケジュールテーブルの構成を模式的に示す図である。スケジュールテーブルには、現像処理されるＲＡＷ画像データの識別番号と各端末装置２１とがそれぞれ対応付けされる。なお、スケジュールテーブルには、端末装置２１としての情報処理装置１１に対する現像処理の配分も記録される。
【００２４】
第１テーブルには、端末装置２１となりうる電子カメラの種類と、各々の電子カメラの性能データとの対応関係が記録されている。この第１テーブルは、ユーザーによる情報処理装置１１への入力または外部からのデータ読み込みなどの手段により、記録部１５に予め記録されている。
図５は第１テーブルの構成を模式的に示す図である。第１テーブルには、電子カメラの種類（型番などの識別コード）ごとに性能データが対応付けされている。この第１テーブルの性能データには、「現像処理能力」と、「バッファメモリ容量」と、「インターフェースの種類」とのデータが含まれる。ここで、第１テーブルの「現像処理能力」のデータは、性能テーブルの「端末装置の現像処理能力」に対応する。また、第１テーブルの「バッファメモリ容量」のデータは、性能テーブルの「メモリ容量」に対応する。また、「インターフェースの種類」には、その電子カメラが対応する通信手段の種類が記録されている。
【００２５】
第２テーブルには、通信規格の種類と通信速度との対応関係が記録されている。この第２テーブルは、ユーザーによる情報処理装置１１への入力または外部からのデータ読み込みなどの手段により、記録部１５に予め記録されている。
図６は第２テーブルの構成を模式的に示す図である。この第２テーブルには、「ＵＳＢ１．１」、「ＵＳＢ２．０」、「ＩＥＥＥ１３９４」、「ＩＥＥＥ８０２．１１ａ」、「ＩＥＥＥ８０２．１１ｂ」、「ＩＥＥＥ８０２．１１ｇ」の各規格について、それぞれ通信速度のデータが対応付けされている。
【００２６】
ＣＰＵ１６は、シーケンスプログラムに従って情報処理装置１１の各部動作を制御する。例えば、ＣＰＵ１６は、「端末装置の認識」、「性能テーブルの生成および更新」、「スケジュールテーブルの生成、更新および再設定」、「端末装置へのＲＡＷ画像データの送信」などを実行する。
また、ＣＰＵ１６は、通信Ｉ／Ｆ１２からの信号出力により接続端子を介して端末装置２１の通信不能状態を検出する。この通信不能状態の例としては、ＵＳＢ端子でのケーブル抜けによる接続解除などが挙げられる。さらに、ＣＰＵ１６は時計機能を内蔵している。そして、ＣＰＵ１６は時計機能によって通信時のタイムアウト判定や処理時間のカウントなどを実行する。
【００２７】
また、ＣＰＵ１６は画像処理プログラムを実行する。この画像処理プログラムはＲＡＷ画像データの現像処理機能を有する。そのため、ＣＰＵ１６はＲＡＷ画像データに画像処理を施して現像済画像データを生成できる。
次に、端末装置２１となる画像処理装置を説明する。図２（ａ）は端末装置２１を構成しうる電子カメラのブロック図である。
【００２８】
電子カメラは、撮影レンズ２２と、撮像素子２３と、Ａ／Ｄ変換部２４と、バッファメモリ２５と、画像処理部２６と、カードＩ／Ｆ２７と、通信Ｉ／Ｆ２８と、ＣＰＵ２９とを有する。なお、バッファメモリ２５、画像処理部２６、カードＩ／Ｆ２７、通信Ｉ／Ｆ２８およびＣＰＵ２９は、データバスを介して接続されている。
撮像素子２３は、撮影レンズ２２を通過した光束を光電変換して被写体像のアナログ画像信号を生成する。Ａ／Ｄ変換部２４は撮像素子２３のアナログ画像信号をデジタル画像信号に変換する。
【００２９】
バッファメモリ２５は画像処理部２６での画像処理の前工程および後工程においてデータを一時的に保存する。また、情報処理システムでの現像処理時において、バッファメモリ２５には情報処理装置１１から受信したＲＡＷ画像データが一時的に格納される。
画像処理部２６は画像処理専用に設計されたＡＳＩＣである。この画像処理部２６はＡ／Ｄ変換部２４からのデジタル画像信号に画像処理を施す。この画像処理部２６は画像処理機能の１つとしてＲＡＷ画像データの現像処理機能を有する。すなわち、画像処理部２６はＲＡＷ画像データに画像処理を施して現像済画像データを生成できる。
【００３０】
カードＩ／Ｆ２７には記録媒体３０を接続するためのコネクタが形成されている。記録媒体３０は公知の半導体メモリなどで構成される。そして、カードＩ／Ｆ２７は記録媒体３０に対する現像済画像データの書き込み／読み込みを制御する。
通信Ｉ／Ｆ２８は、有線または無線の公知の通信手段で情報処理装置１１とのデータ送受信を行う。なお、通信Ｉ／Ｆ２８は、上記のシリアル通信規格等の接続端子を有していてもよい。ＣＰＵ２９は、シーケンスプログラムに従って電子カメラの各部動作を制御する。
【００３１】
また、図２（ｂ）は端末装置２１を構成しうる端末コンピュータのブロック図である。端末コンピュータは、ＣＰＵ３１と、バッファメモリ３２と、通信Ｉ／Ｆ３３とを有している。
ＣＰＵ３１は端末コンピュータの各部を制御する。また、ＣＰＵ３１はＲＡＷ画像データの現像処理機能を有する画像処理プログラムを実行する。バッファメモリ３２はＣＰＵ３１が実行するプログラムやＲＡＷ画像データ等の各種データを一時的に記録する。通信Ｉ／Ｆ３３は、有線または無線の公知の通信手段で情報処理装置１１とのデータ送受信を行う。なお、通信Ｉ／Ｆ３３は上記のシリアル通信規格等の接続端子を有していてもよい。
【００３２】
（本実施形態の情報処理システムの動作）
以下、本実施形態における情報処理装置１１の動作を、図６および図７の流れ図を参照しつつ説明する。
ステップ１０１：情報処理装置１１のＣＰＵ１６は、ユーザーによる開始指示を入力部１３から受け付ける。このとき、ユーザーによって、ＣＰＵ１６には「ＲＡＷ画像データの指定入力」や「現像処理の詳細設定」が入力部１３から入力される。
【００３３】
ここで、「ＲＡＷ画像データの指定入力」では、記録部１５のＲＡＷ画像データ群のうちから、今回の処理対象となるＲＡＷ画像データをユーザーが指定する。また、「現像処理の詳細設定」では、個々のＲＡＷ画像データごとの現像処理の設定をユーザーが調整する。この「現像処理の詳細設定」では、ノイズリダクション処理の要否、レンズの収差補正処理の要否、色補間処理のアルゴリズムの指定、などがＣＰＵ１６に入力される。
【００３４】
ステップ１０２：ＣＰＵ１６は、情報処理装置１１と接続状態にある画像処理装置を検出する。そして、ＣＰＵ１６は検出された画像処理装置を端末装置２１として認識する。この段階で、ＣＰＵ１６は各端末装置２１を性能テーブルに登録する。なお、Ｓ１０２では、ＣＰＵ１６は情報処理装置１１自身を端末装置２１の一つとして認識する。
ステップ１０３：ＣＰＵ１６は、情報処理装置１１以外の端末装置２１が存在するか否かを判定する。情報処理装置１１以外の端末装置２１が存在する場合（ＹＥＳ側）にはＣＰＵ１６はＳ１０４に移行する。この場合、ＣＰＵ１６はいずれかの端末装置２１を判定対象に設定するとともに、以下のステップで性能データを取得する。一方、端末装置２１が情報処理装置１１のみの場合にはＣＰＵ１６はＳ１２３に移行する。
【００３５】
ステップ１０４：ＣＰＵ１６は判定対象の端末装置２１に関する性能データが取得済みか否かを判定する。判定対象の性能データが取得済みの場合（ＹＥＳ側）にはＣＰＵ１６はＳ１０８に移行する。一方、判定対象の性能データが未取得の場合（ＮＯ側）にはＣＰＵ１６はＳ１０５に移行する。
なお、Ｓ１０４で性能データが取得済みとなる場合には、（１）判定対象が情報処理装置１１の場合、（２）その端末装置２１が以前にも同じ条件で使用されていた場合、（３）Ｓ１０２での認識時に端末装置２１がＣＰＵ１６に予め性能データ等を送信している場合、などが該当する。
【００３６】
ステップ１０５：ＣＰＵ１６は、判定対象の端末装置２１に対して電子カメラの種類および通信手段の種類の送信を要求する。そして、ＣＰＵ１６は、端末装置２１から上記データの返信があるか否かを判定する。返信のある場合（ＹＥＳ側）にはＣＰＵ１６はＳ１０６に移行する。一方、返信のない場合にはＣＰＵ１６はＳ１０７に移行する。
ステップ１０６：ＣＰＵは、電子カメラの種類のデータに基づいて、その端末装置２１の「現像処理能力」および「バッファメモリ容量」のデータを第１テーブルから取得する。また、ＣＰＵ１６は通信手段の種類のデータに基づいて、その端末装置２１との通信速度のデータを第２テーブルから取得する。そして、ＣＰＵ１６は、上記の現像処理能力および通信速度のデータから総合処理時間の推定値を演算する。ＣＰＵ１６は、この推定値を性能データとして扱う。その後、ＣＰＵ１６はＳ１０８に移行する。
【００３７】
ステップ１０７：ＣＰＵ１６は、性能測定用のＲＡＷ画像データ（テストデータ）を判定対象の端末装置２１に対して送信する。そして、ＣＰＵ１６はテストデータに関する端末装置２１からの返信結果に基づいて、総合処理時間の実測値を取得する。ＣＰＵ１６は、この実測値を性能データとして扱う。
このＳ１０７では、ＣＰＵ１６は、端末装置２１に対して同一のテストデータを２回送信し、端末装置２１の詳細な性能データを取得することも可能である。具体的には、１回目の送信ではＣＰＵ１６は端末装置２１にテストデータの現像処理を指示する。この１回目の返信結果では、ＣＰＵ１６は現像処理時間とデータの送受信に要する時間を取得できる。一方、２回目の送信では、ＣＰＵ１６は端末装置２１にテストデータをそのまま返信するように指示する。この２回目の返信結果では、ＣＰＵ１６はデータの送受信に要する時間のみを取得できる。したがって、ＣＰＵ１６は、２回分の送信結果とテストデータのデータ量とに基づいて現像処理時間および通信速度を演算できる。
【００３８】
ステップ１０８：ＣＰＵ１６は、判定対象の端末装置２１の性能データ（Ｓ１０４、Ｓ１０６、Ｓ１０７）を性能テーブルに記録する。
ステップ１０９：ＣＰＵ１６は、全ての端末装置２１の性能データが性能テーブルに記録されているか（性能テーブルの生成が終了したか）否かを判定する。性能テーブルの生成が終了した場合（ＹＥＳ側）にはＣＰＵ１６はＳ１１０に移行する。一方、性能テーブルの生成が終了していない場合（ＮＯ側）には、ＣＰＵ１６は性能データが未取得の端末装置２１を判定対象とするとともに、Ｓ１０４に戻って上記動作を繰り返す。
【００３９】
ステップ１１０：ＣＰＵ１６は、性能テーブルに基づいて、各端末装置２１に対するＲＡＷ画像データの現像処理の配分を決定する。ＣＰＵ１６は、上記の現像処理の配分をスケジュールテーブルに記録する。
このＳ１１０では、ＣＰＵ１６は全てのＲＡＷ画像データの現像処理の配分を一度に決定する必要はない。例えば、ＣＰＵ１６は現像処理の配分を複数回に分割し、各回ごとにＣＰＵ１６が現像処理の配分を段階的に決定してもよい。
【００４０】
ここで、ＣＰＵ１６は、各端末装置２１に対する現像処理の配分を以下の要領で決定する。
（１）ＣＰＵ１６は、処理対象となるＲＡＷ画像データのうちで、特殊な処理が必要となるＲＡＷ画像データを抽出する。具体的には、Ｓ１０１の「現像処理の詳細設定」で設定を変更したＲＡＷ画像データがＣＰＵ１６によって抽出される。そして、ＣＰＵ１６は、上記の抽出されたＲＡＷ画像データの現像処理を、対応機能を有する端末装置２１のみに配分する。
【００４１】
上記（１）の内容を図９によって具体的に説明する。この図９の例では図３の性能テーブルを前提として説明を行う。ノイズリダクション処理が必要となる現像処理（番号３，６）は、端末装置２または端末装置５（情報処理装置）にＣＰＵ１６が配分する。レンズの収差補正処理が必要となる現像処理（番号１，５）は、端末装置１または端末装置５（情報処理装置）にＣＰＵ１６が配分する。また、バージョン３以上の色補間処理が要求される現像処理（画像２，７）は、端末装置３または端末装置５（情報処理装置）にＣＰＵ１６が配分する。なお、ある現像処理を複数の端末装置２１に配分しうる場合、ＣＰＵ１６は後述の（２）、（３）の基準によって現像処理を行う端末装置２１を決定する。
【００４２】
（２）ＣＰＵ１６は、ＲＡＷ画像データのデータ量と性能テーブルの「メモリ容量」とをそれぞれ比較する。そして、ＣＰＵ１６は、ＲＡＷ画像データのデータ量よりバッファメモリの容量が小さい端末装置を、そのＲＡＷ画像データの現像処理の配分先から除外する。バッファメモリにＲＡＷ画像データが収まらない場合には、端末装置２１が現像処理を実行できないからである。
【００４３】
（３）ＣＰＵ１６は、上記（１）、（２）の処理後に、各々の端末装置２１に対する現像処理の配分を決定する。具体的には、上記（１）、（２）の制約条件を満たす一方で、情報処理システム全体での現像処理時間がより短くなるように、ＣＰＵ１６は各端末装置２１への現像処理の配分を最適化する。すなわち、ＣＰＵ１６は、性能テーブルの「総合処理時間」がより短い端末装置２１にはより多くの現像処理を割り当てる。なお、上記した配分の決定では、ＣＰＵ１６は組合せ最適化に関する公知のアルゴリズム（ニューラルネットワーク、遺伝的アルゴリズム、動的計画法など）によって現像処理の最適な配分を近似的に演算する。
【００４４】
ステップ１１１：ＣＰＵ１６は、スケジュールテーブルに基づいて、残りの現像処理が情報処理装置１１と外部の端末装置２１とで処理されるか、それとも情報処理装置１１のみで処理されるかを判定する。情報処理装置１１と外部の端末装置２１とで処理される場合（ＹＥＳ側）にはＣＰＵ１６はＳ１１２に移行する。一方、残りの現像処理が情報処理装置１１のみで処理される場合（ＮＯ側）にはＣＰＵ１６はＳ１２３に移行する。
【００４５】
ステップ１１２：ＣＰＵ１６は、スケジュールテーブルに基づいて、端末装置２１に対する現像処理の命令データと、ＲＡＷ画像データとを各端末装置２１にそれぞれ送信する。上記の命令データには、Ｓ１０１での「現像処理の詳細設定」のデータが含まれる。また、ＣＰＵ１６は上記のデータの送信とともに、各端末装置２１ごとにタイムカウントを開始する。なお、端末装置２１側の現像処理の詳細については後述する。
【００４６】
ステップ１１３：ＣＰＵ１６は、接続端子を介して端末装置２１の通信不能状態を検出したか否かを判定する。接続端子を介していずれかの端末装置２１の通信不能状態を検出した場合（ＹＥＳ側）にはＣＰＵ１６はＳ１１６に移行する。一方、上記の通信不能状態を検出しない場合（ＮＯ側）にはＣＰＵ１６はＳ１１４に移行する。
ステップ１１４：ＣＰＵ１６は、設定時間内に応答がない（タイムアウトした）端末装置２１があるか否かを判定する。タイムアウトした端末装置２１がある場合（ＹＥＳ側）には、ＣＰＵ１６はその端末装置２１が通信不能状態にあるとしてＳ１１６に移行する。一方、タイムアウトした端末装置２１がない場合（ＮＯ側）にはＣＰＵ１６はＳ１１５に移行する。
【００４７】
ステップ１１５：ＣＰＵ１６は、いずれかの端末装置２１から現像済画像データを受信したか否かを判定する。現像済画像データを受信した場合にはＣＰＵ１６はＳ１１８に移行する。このとき、ＣＰＵ１６は、送信先の端末装置２１に対するタイムカウントを終了する。一方、現像済画像データを受信しない場合には、ＣＰＵ１６はＳ１１３に戻って上記動作を繰り返す。
【００４８】
ステップ１１６：この場合には、ＣＰＵ１６は通信不能状態の端末装置２１を性能テーブルから除外する。
ステップ１１７：ＣＰＵ１６は、Ｓ１１６で更新された性能テーブルに基づいてスケジュールテーブルを再設定する。このとき、ＣＰＵ１６は、通信不能状態の端末装置に送信したＲＡＷ画像データは現像処理されていないものとして扱う。なお、Ｓ１１７でのスケジュールテーブルの再設定の説明はＳ１１０と共通するため重複説明を省略する。
【００４９】
その後、ＣＰＵ１６はＳ１１５に移行する。上記の場合においてＳ１１５で現像済画像データが受信されると、ＣＰＵ１６はＳ１１６での性能テーブルとＳ１１７でのスケジュールテーブルとに基づいて以後の処理を実行することとなる。
ステップ１１８：ＣＰＵ１６は、受信した現像済画像データを記録部１５に記録する。
ステップ１１９：ＣＰＵ１６は、Ｓ１１０またはＳ１１７によって設定されたスケジュールテーブルの処理が全て終了したか否かを判断する。全て終了した場合（ＹＥＳ側）は、ＣＰＵ１６はＳ１２０に移行する。一方、未処理分が残っている場合（ＮＯ側）には、ＣＰＵ１６はＳ１１３に戻って上述の処理を繰り返す。
【００５０】
ステップ１２０：ＣＰＵ１６は、処理対象となるＲＡＷ画像データの現像処理が全て終了したか否かを判定する。全て終了した場合（ＹＥＳ側）にはＣＰＵ１６は処理を終了する。一方、現像処理がまだ残っている場合（ＮＯ側）にはＣＰＵ１６はＳ１２１に移行する。
ステップ１２１：ＣＰＵ１６は、Ｓ１１２からＳ１１５までのタイムカウントに基づいて、端末装置２１の総合処理時間の実測値を取得する。
【００５１】
ステップ１２２：ＣＰＵ１６は総合処理時間の実測値（Ｓ１２１）に基づいて、性能テーブルの総合処理時間を更新する。その後にＣＰＵ１６はＳ１１０に戻る。上記の場合には、Ｓ１１０において、ＣＰＵ１６はＳ１２２で更新された性能テーブルに基づいてスケジュールテーブルを生成する。そして、ＣＰＵ１６はＳ１１２以降の処理を繰り返す。
ステップ１２３：この場合には、情報処理装置１１のＣＰＵ２１が残りすべての現像処理を実行する。以上で情報処理装置の動作説明を終了する。
【００５２】
次に、本実施形態における端末装置の動作を、図１０の流れ図を参照しつつ説明する。なお、以下の説明では、端末装置が電子カメラの場合を説明する。
ステップ２０１：電子カメラのＣＰＵ２９は、情報処理装置１１から受信したＲＡＷ画像データをバッファメモリ２５に記録する。そして、ＣＰＵ２９は、現像処理の命令データに基づいて、画像処理部２６にＲＡＷ画像データの現像処理を指示する。
【００５３】
ステップ２０２：画像処理部２６は、ＲＡＷ画像データに現像処理を施して現像済画像データを生成する。なお、現像処理時には、画像処理部２６はヘッダファイルから撮影条件のデータを取得する。
ステップ２０３：ＣＰＵ２９は、情報処理装置１１に対して現像済画像データを返信する。その後に、ＣＰＵ２９は現像処理済みのＲＡＷ画像データをバッファメモリ２５から消去する。以上で端末装置の動作説明を終了する。
【００５４】
ここで、情報処理装置１１または端末コンピュータでの現像処理では、ＣＰＵ（１６、３１）が画像処理プログラムで現像処理を実行する点が上記と相違する。また、情報処理装置１１が端末装置２１として機能する場合には、情報処理装置内１１のＣＰＵ１６と記録部１５とでＲＡＷ画像データがやり取りされることとなる。
（本実施形態の効果）
本実施形態では、複数の端末装置２１がＲＡＷ画像データの現像処理を分散処理する（Ｓ１１０、Ｓ１１２）。そのため、情報処理装置１１が単独で現像処理を実行する場合と比べて、多数のＲＡＷ画像データをより短い時間で現像処理できる。特に、端末装置２１が電子カメラである場合、専用の画像処理エンジン（画像処理部２６）によって現像処理がより短い時間で完了する。そのため、この場合にはシステム全体の現像処理時間も著しく短縮される。また、本実施形態では情報処理装置１１も現像処理を実行するため、システム全体の現像処理時間をさらに短縮できる。
【００５５】
本実施形態では、各端末装置２１の処理時間や機能に基づいて、情報処理装置１１がスケジュールテーブルで現像処理の配分を決定する（Ｓ１１０）。そのため、システム全体の現像処理時間は著しく短縮される。上記の処理時間の初期値は、電子カメラおよび通信手段の種類から情報処理装置１１がその推定値を演算する（Ｓ１０６）。あるいは、情報処理装置１１はテストデータに対する返信結果に基づいて処理時間の実測値を取得する（Ｓ１０７）。そのため、情報処理装置１１は初期状態でも比較的効率のよいスケジュールテーブルを生成できる。
【００５６】
本実施形態の情報処理装置１１は、現像済画像データの受信結果により処理時間の実測値を取得する（Ｓ１２１）。そして、情報処理装置１１は、上記の実測値に基づいてスケジュールテーブルを生成する（Ｓ１２２、Ｓ１１０）。そのため、情報処理装置１１は、受信結果をフィードバックしてスケジュールテーブルを最適化できる。
本実施形態の情報処理装置１１は端末装置２１の通信不能状態を検出する（Ｓ１１３、Ｓ１１４）。この場合には、情報処理装置１１は、通信不能状態の端末装置２１を除外してスケジュールテーブルを再設定する（Ｓ１１６、Ｓ１１７）。そのため、端末装置２１が持ち運ばれた場合や端末装置２１が電池切れした場合などにも、情報処理装置１１はその影響を最小限に留めることができる。
【００５７】
（実施形態の補足事項）
以上、本発明を上記の実施形態によって説明してきたが、本発明の技術的範囲は上記実施形態に限定されるものではない。例えば、Ｓ１０４またはＳ１０６の性能データで性能テーブルを生成する場合、ＣＰＵ１６は端末装置２１に少量の画像処理を実行させて性能データの確認を行うようにしてもよい。
【図面の簡単な説明】
【００５８】
【図１】本実施形態の情報処理システムの構成を示す概要図
【図２】（ａ）端末装置を構成しうる電子カメラのブロック図、（ｂ）端末装置を構成しうる端末コンピュータのブロック図
【図３】性能テーブルの構成を模式的に示す図
【図４】スケジュールテーブルの構成を模式的に示す図
【図５】第１テーブルの構成を模式的に示す図
【図６】第２テーブルの構成を模式的に示す図
【図７】本実施形態の情報処理装置の動作を示す流れ図
【図８】本実施形態の情報処理装置の動作を示す流れ図
【図９】端末装置の機能に応じた現像処理の配分を説明するための図
【図１０】本実施形態の端末装置の動作を示す流れ図
【符号の説明】
【００５９】
１１…情報処理装置、１２…通信Ｉ／Ｆ、１５…記録部、１６…ＣＰＵ、２１…端末装置
【図１】
2007142551.tif 000003
【図２】
2007142551.tif 000004
【図３】
2007142551.tif 000005
【図４】
2007142551.tif 000006
【図５】
2007142551.tif 000007
【図６】
2007142551.tif 000008
【図７】
2007142551.tif 000009
【図８】
2007142551.tif 000010
【図９】
2007142551.tif 000011
【図１０】
2007142551.tif 000012