説明

プログラムおよび情報処理装置

【課題】 多数のRAW画像データをより短い時間で現像処理できる手段を提供する。
【解決手段】 制御部と、複数のRAW画像データを記録した第1記録手段と、画像処理装置に通信を行う通信手段と、を備えたコンピュータに関するプログラムであって、制御部が少なくとも1つの画像処理装置を検出し、該検出した各画像処理装置をそれぞれ端末装置として認識するステップと、制御部が端末装置の性能に関する性能データをそれぞれ取得するとともに、性能テーブルを生成するステップと、性能テーブルに基づいて、制御部が、各々の端末装置により実行される現像処理の配分を規定したスケジュールテーブルを生成するステップと、スケジュールテーブルに基づいて、制御部がRAW画像データおよび現像処理の命令データを各端末装置にそれぞれ送信するステップと、を制御部に実行させることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置にRAW画像データの現像処理を実行させるコンピュータに関する。
【背景技術】
【0002】
例えば、特許文献1に示すように、RAW画像データをコンピュータの記録装置に蓄積するとともに、RAW画像データの現像処理をコンピュータに実行させるデジタルカメラシステムは従来から公知である。ここで、RAW画像データでは、撮像素子の画素ごとのデジタルデータが一切の画像処理を行わずに記録される。また、RAW画像データの現像処理には、信号レベル補正、ホワイトバランス調整、ガンマ補正、色補間、色差変換、圧縮処理などが含まれる。
【特許文献1】特開2003−87618号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、コンピュータの汎用CPU上でソフトウエアによる現像処理を行う場合、画像処理エンジン(画像処理専用のプロセッサ)による現像処理と比べて所要時間が長くなる。特に近年の電子カメラでは画像処理の高度化と高画素化とが一層進展しているため、上記の傾向はより顕著となっている。そのため、コンピュータの記録装置に蓄積した多数のRAW画像データをより短い時間で現像処理できる手段が要請されている。
【0004】
本発明は上記従来技術の課題を解決するためのものであって、その目的は、多数のRAW画像データをより短い時間で現像処理できるプログラムおよび情報処理装置を提供することである。
【課題を解決するための手段】
【0005】
第1の発明は、制御部と、複数のRAW画像データを記録した第1記録手段と、RAW画像データに現像処理を施す画像処理装置に通信を行う通信手段と、を備えたコンピュータに関するプログラムである。このプログラムは、認識ステップと、性能テーブル生成ステップと、スケジュールテーブル生成ステップと、送信ステップと、を制御部に実行させる。
【0006】
認識ステップでは、制御部が通信手段を介して通信可能な少なくとも1つの画像処理装置を検出し、該検出した各画像処理装置をそれぞれ端末装置として認識する。性能テーブル生成ステップでは、制御部が端末装置の性能に関する性能データをそれぞれ取得するとともに、端末装置と性能データとの対応関係を示す性能テーブルを生成する。スケジュールテーブル生成ステップでは、性能テーブルに基づいて、制御部が、各々の端末装置により実行される現像処理の配分を規定したスケジュールテーブルを生成する。送信ステップでは、スケジュールテーブルに基づいて、制御部がRAW画像データおよび現像処理の命令データを各端末装置にそれぞれ送信する。
【0007】
第2の発明は、第1の発明において、認識ステップにおいて、制御部が、RAW画像データに対して現像処理を実行可能な電子カメラを端末装置として認識することを特徴とする。
第3の発明は、第1の発明において、性能データは、端末装置の現像処理速度および端末装置との通信速度によって規定される処理時間のデータを含む。そして、スケジュールテーブル生成ステップにおいて、制御部は各々の端末装置の処理時間の長さに応じて現像処理の配分量を規定することを特徴とする。
【0008】
第4の発明は、第1の発明において、性能データは、端末装置が有する機能を示す機能データを含む。そして、スケジュールテーブル生成ステップにおいて、制御部は、特定の機能に依存する処理が要求される現像処理を、機能データに基づいて対応機能を有する端末装置に配分することを特徴とする。
第5の発明は、第3の発明において、コンピュータは、端末装置の種類と現像処理速度との対応関係を示す第1テーブルと、通信手段の種類と通信速度との対応関係を示す第2テーブルとを記録する第2記録手段をさらに備える。そして、認識ステップは、制御部が端末装置の種類および通信手段の種類のデータをそれぞれ取得する種類データ取得ステップを含む。性能テーブル生成ステップは、第1テーブルおよび第2テーブルに基づいて、制御部が現像処理速度および通信速度の推定データを取得する速度推定データ取得ステップと、推定データに基づいて、制御部が処理時間を演算する推定処理時間演算ステップと、を含むことを特徴とする。
【0009】
第6の発明は、第3の発明において、性能テーブル生成ステップは、制御部が端末装置にテストデータを送信し、テストデータに対する端末装置からの返信結果に基づいて処理時間のデータを取得する処理時間取得ステップを含むことを特徴とする。
第7の発明は、第3の発明において、性能テーブル生成ステップは、制御部が少なくとも1つの端末装置から現像処理後の画像データを受信し、該受信結果により処理時間の実測値を取得する実測値取得ステップと、制御部が実測値に基づいて性能テーブルを更新する性能テーブル更新ステップとを含む。スケジュールテーブル生成ステップは、更新後の性能テーブルに基づいて、制御部がスケジュールテーブルを生成することを特徴とする。
【0010】
第8の発明は、第1の発明において、制御部が通信不能状態にある端末装置を検出する通信不能端末検出ステップと、通信不能状態にある端末装置が検出された場合には、制御部が通信不能状態の端末装置を除外してスケジュールテーブルを再設定するスケジュールテーブル再設定ステップと、をさらに有することを特徴とする。
第9の発明は、第1から第8のいずれかの発明において、制御部は、RAW画像データに対して現像処理を実行可能であって、認識ステップにおいて、制御部がコンピュータを端末装置の一つとして認識し、性能テーブル生成ステップにおいて、制御部がコンピュータの性能データを性能テーブルに組み込み、スケジュールテーブル生成ステップにおいて、制御部がコンピュータに配分する現像処理をスケジュールテーブルに組み込むことを特徴とする。
【0011】
なお、上記発明に関する構成を、上記プログラムを実行する情報処理装置、上記プログラムを格納した記録媒体、あるいは情報処理装置および画像処理装置を備えた情報処理方法または情報処理システムなどに変換して表現したものも本発明の具体的態様として有効である。
【発明の効果】
【0012】
本発明のプログラムおよび情報処理装置によれば、多数のRAW画像データをより短い時間で現像処理できる。
【発明を実施するための最良の形態】
【0013】
以下、図面に基づいて本発明の実施形態である情報処理システムを説明する。
(本実施形態の情報処理システムの構成)
図1は、本実施形態の情報処理システムの構成を示す概要図である。情報処理システムは、情報処理装置11と、端末装置21とを有する。この情報処理システムでは、1台の情報処理装置11に対して複数台の端末装置21を接続できる。情報処理装置11と各端末装置22とは公知の通信手段でそれぞれ通信が可能である。また、各端末装置21は、RAW画像データの現像処理を実行する画像処理装置で構成される。なお、端末装置21となる画像処理装置としては、画像処理エンジンを有する電子カメラや、現像処理機能をもつソフトウエアを実行する端末コンピュータなどが該当する。
【0014】
次に、図1を参照しつつ情報処理装置11の構成を説明する。情報処理装置11は、通信I/F12と、入力部13およびモニタ14と、記録部15と、CPU16とを有している。この情報処理装置11は、情報処理システムを構成する端末装置21を認識するとともに、各端末装置21にRAW画像データの現像処理を配分する。なお、情報処理装置11は、現像処理を実行する画像処理装置としても機能する。
【0015】
通信I/F12は、有線または無線の公知の通信手段で端末装置21とのデータ送受信を行う。例えば、通信I/F12は、USB(Universal Serial Bus)やIEEE1394等のシリアル通信規格による通信、有線のLANによる通信、あるいは、IEEE802.11a/b/g等の無線LANによる通信などを制御する。
また、通信I/F12は、上記のシリアル通信規格等の接続端子(不図示)を有している。なお、情報処理装置11と端末装置21とが有線通信を行う場合、接続端子を介して情報処理装置11が端末装置21と接続されることとなる。
【0016】
入力部13は、キーボードやポインティングデバイス等で構成される。ユーザーは入力部13を介してRAW画像データの現像処理の詳細設定をCPU16に指示できる。また、モニタ14にはCPU16が出力指示した画像が表示される。なお、モニタ14の表示画像の例としては、CPU16による端末装置21の検出状態の表示や、情報処理システムによる現像処理の進捗状況などの表示が挙げられる(表示画像の図示は省略する)。
【0017】
記録部15は例えばハードディスクなどで構成される。この記録部15には、RAW画像データを多数記録することができる。個々のRAW画像データは、ヘッダファイルと、RAW形式の画像データ本体とで構成されている。上記のヘッダファイルには、撮影条件などのデータが所定形式で記録されている。また、記録部15には、性能テーブルと、スケジュールテーブルと、第1テーブルと、第2テーブルとのデータが記録される。
【0018】
性能テーブルには、端末装置と性能データとの対応関係が記録される。この性能テーブルは現像処理時にCPU16が生成する。
図3は性能テーブルの構成を模式的に示す図である。性能テーブルには、各端末装置21ごとの性能データが記録されている。なお、性能テーブルには、端末装置21としての情報処理装置11の性能データも記録される。
【0019】
性能テーブルの性能データには、「端末装置の現像処理能力」と、「通信速度」と、「メモリ容量」と、「総合処理時間」とのデータが含まれる。上記の「端末装置の現像処理能力」には、「標準処理時間」と、「ノイズリダクション情報」と、「色補間情報」と、「収差補正情報」との各データが含まれる。
「標準処理時間」の項目には、その端末装置21がRAW画像データに標準的な現像処理を施した場合の単位データ量当たりの処理時間が記録される。なお、図3の例では、説明の便宜上、RAW画像データの100万画素分を単位データ量とする。
【0020】
「ノイズリダクション情報」の項目には、現像処理時に端末装置21がノイズリダクション処理を行った場合の単位データ量当たりの処理時間が記録される。なお、ノイズリダクション処理機能のない端末装置は、この「ノイズリダクション情報」の処理時間のデータを有しない。
「色補間情報」の項目には、各端末装置21の色補間アルゴリズムの種類(アルゴリズムのバージョンの情報)が記録される。なお、図3の例ではアルゴリズムのバージョンを数字で示す。この数字はアルゴリズムのバージョンが新しくなるほど大きくなるものとする。
【0021】
「収差補正情報」の項目には、現像処理時に端末装置21がレンズの収差補正処理(例えば、軸上色収差または倍率色収差の補正)を行った場合の単位データ量当たりの処理時間が記録される。なお、レンズの収差補正処理機能のない端末装置は、この「収差補正情報」の処理時間のデータを有しない。
「通信速度」の項目には、情報処理装置11と端末装置21との通信速度(MB/sec)が記録される。なお、端末装置21としての情報処理装置11は、RAW画像データの転送時間が存在しないのでこの項目のデータを有しない。また、「メモリ容量」の項目には、端末装置21(電子カメラ)のバッファメモリの容量が記録される。
【0022】
「総合処理時間」の項目には、単位データ量のRAW画像データを端末装置21に送信し、現像処理後の画像データを情報処理装置11が受信終了するまでの時間(総合処理時間)が記録される。この総合処理時間は、通常は「標準処理時間」での処理時間および「通信速度」とに基づいてCPU16が演算する。
ここで、「ノイズリダクション情報」および「収差補正情報」にも処理時間のデータがある場合、CPU16は上記項目に対応する処理時間についても総合処理時間をそれぞれ演算する。そして、CPU16はノイズリダクション処理やレンズの収差補正処理を行った場合の総合処理時間も性能テーブルにそれぞれ記録する。
【0023】
スケジュールテーブルには、各端末装置21で実行される現像処理の配分のデータが記録される。このスケジュールテーブルは、現像処理時にCPU16が生成する。
図4はスケジュールテーブルの構成を模式的に示す図である。スケジュールテーブルには、現像処理されるRAW画像データの識別番号と各端末装置21とがそれぞれ対応付けされる。なお、スケジュールテーブルには、端末装置21としての情報処理装置11に対する現像処理の配分も記録される。
【0024】
第1テーブルには、端末装置21となりうる電子カメラの種類と、各々の電子カメラの性能データとの対応関係が記録されている。この第1テーブルは、ユーザーによる情報処理装置11への入力または外部からのデータ読み込みなどの手段により、記録部15に予め記録されている。
図5は第1テーブルの構成を模式的に示す図である。第1テーブルには、電子カメラの種類(型番などの識別コード)ごとに性能データが対応付けされている。この第1テーブルの性能データには、「現像処理能力」と、「バッファメモリ容量」と、「インターフェースの種類」とのデータが含まれる。ここで、第1テーブルの「現像処理能力」のデータは、性能テーブルの「端末装置の現像処理能力」に対応する。また、第1テーブルの「バッファメモリ容量」のデータは、性能テーブルの「メモリ容量」に対応する。また、「インターフェースの種類」には、その電子カメラが対応する通信手段の種類が記録されている。
【0025】
第2テーブルには、通信規格の種類と通信速度との対応関係が記録されている。この第2テーブルは、ユーザーによる情報処理装置11への入力または外部からのデータ読み込みなどの手段により、記録部15に予め記録されている。
図6は第2テーブルの構成を模式的に示す図である。この第2テーブルには、「USB1.1」、「USB2.0」、「IEEE1394」、「IEEE802.11a」、「IEEE802.11b」、「IEEE802.11g」の各規格について、それぞれ通信速度のデータが対応付けされている。
【0026】
CPU16は、シーケンスプログラムに従って情報処理装置11の各部動作を制御する。例えば、CPU16は、「端末装置の認識」、「性能テーブルの生成および更新」、「スケジュールテーブルの生成、更新および再設定」、「端末装置へのRAW画像データの送信」などを実行する。
また、CPU16は、通信I/F12からの信号出力により接続端子を介して端末装置21の通信不能状態を検出する。この通信不能状態の例としては、USB端子でのケーブル抜けによる接続解除などが挙げられる。さらに、CPU16は時計機能を内蔵している。そして、CPU16は時計機能によって通信時のタイムアウト判定や処理時間のカウントなどを実行する。
【0027】
また、CPU16は画像処理プログラムを実行する。この画像処理プログラムはRAW画像データの現像処理機能を有する。そのため、CPU16はRAW画像データに画像処理を施して現像済画像データを生成できる。
次に、端末装置21となる画像処理装置を説明する。図2(a)は端末装置21を構成しうる電子カメラのブロック図である。
【0028】
電子カメラは、撮影レンズ22と、撮像素子23と、A/D変換部24と、バッファメモリ25と、画像処理部26と、カードI/F27と、通信I/F28と、CPU29とを有する。なお、バッファメモリ25、画像処理部26、カードI/F27、通信I/F28およびCPU29は、データバスを介して接続されている。
撮像素子23は、撮影レンズ22を通過した光束を光電変換して被写体像のアナログ画像信号を生成する。A/D変換部24は撮像素子23のアナログ画像信号をデジタル画像信号に変換する。
【0029】
バッファメモリ25は画像処理部26での画像処理の前工程および後工程においてデータを一時的に保存する。また、情報処理システムでの現像処理時において、バッファメモリ25には情報処理装置11から受信したRAW画像データが一時的に格納される。
画像処理部26は画像処理専用に設計されたASICである。この画像処理部26はA/D変換部24からのデジタル画像信号に画像処理を施す。この画像処理部26は画像処理機能の1つとしてRAW画像データの現像処理機能を有する。すなわち、画像処理部26はRAW画像データに画像処理を施して現像済画像データを生成できる。
【0030】
カードI/F27には記録媒体30を接続するためのコネクタが形成されている。記録媒体30は公知の半導体メモリなどで構成される。そして、カードI/F27は記録媒体30に対する現像済画像データの書き込み/読み込みを制御する。
通信I/F28は、有線または無線の公知の通信手段で情報処理装置11とのデータ送受信を行う。なお、通信I/F28は、上記のシリアル通信規格等の接続端子を有していてもよい。CPU29は、シーケンスプログラムに従って電子カメラの各部動作を制御する。
【0031】
また、図2(b)は端末装置21を構成しうる端末コンピュータのブロック図である。端末コンピュータは、CPU31と、バッファメモリ32と、通信I/F33とを有している。
CPU31は端末コンピュータの各部を制御する。また、CPU31はRAW画像データの現像処理機能を有する画像処理プログラムを実行する。バッファメモリ32はCPU31が実行するプログラムやRAW画像データ等の各種データを一時的に記録する。通信I/F33は、有線または無線の公知の通信手段で情報処理装置11とのデータ送受信を行う。なお、通信I/F33は上記のシリアル通信規格等の接続端子を有していてもよい。
【0032】
(本実施形態の情報処理システムの動作)
以下、本実施形態における情報処理装置11の動作を、図6および図7の流れ図を参照しつつ説明する。
ステップ101:情報処理装置11のCPU16は、ユーザーによる開始指示を入力部13から受け付ける。このとき、ユーザーによって、CPU16には「RAW画像データの指定入力」や「現像処理の詳細設定」が入力部13から入力される。
【0033】
ここで、「RAW画像データの指定入力」では、記録部15のRAW画像データ群のうちから、今回の処理対象となるRAW画像データをユーザーが指定する。また、「現像処理の詳細設定」では、個々のRAW画像データごとの現像処理の設定をユーザーが調整する。この「現像処理の詳細設定」では、ノイズリダクション処理の要否、レンズの収差補正処理の要否、色補間処理のアルゴリズムの指定、などがCPU16に入力される。
【0034】
ステップ102:CPU16は、情報処理装置11と接続状態にある画像処理装置を検出する。そして、CPU16は検出された画像処理装置を端末装置21として認識する。この段階で、CPU16は各端末装置21を性能テーブルに登録する。なお、S102では、CPU16は情報処理装置11自身を端末装置21の一つとして認識する。
ステップ103:CPU16は、情報処理装置11以外の端末装置21が存在するか否かを判定する。情報処理装置11以外の端末装置21が存在する場合(YES側)にはCPU16はS104に移行する。この場合、CPU16はいずれかの端末装置21を判定対象に設定するとともに、以下のステップで性能データを取得する。一方、端末装置21が情報処理装置11のみの場合にはCPU16はS123に移行する。
【0035】
ステップ104:CPU16は判定対象の端末装置21に関する性能データが取得済みか否かを判定する。判定対象の性能データが取得済みの場合(YES側)にはCPU16はS108に移行する。一方、判定対象の性能データが未取得の場合(NO側)にはCPU16はS105に移行する。
なお、S104で性能データが取得済みとなる場合には、(1)判定対象が情報処理装置11の場合、(2)その端末装置21が以前にも同じ条件で使用されていた場合、(3)S102での認識時に端末装置21がCPU16に予め性能データ等を送信している場合、などが該当する。
【0036】
ステップ105:CPU16は、判定対象の端末装置21に対して電子カメラの種類および通信手段の種類の送信を要求する。そして、CPU16は、端末装置21から上記データの返信があるか否かを判定する。返信のある場合(YES側)にはCPU16はS106に移行する。一方、返信のない場合にはCPU16はS107に移行する。
ステップ106:CPUは、電子カメラの種類のデータに基づいて、その端末装置21の「現像処理能力」および「バッファメモリ容量」のデータを第1テーブルから取得する。また、CPU16は通信手段の種類のデータに基づいて、その端末装置21との通信速度のデータを第2テーブルから取得する。そして、CPU16は、上記の現像処理能力および通信速度のデータから総合処理時間の推定値を演算する。CPU16は、この推定値を性能データとして扱う。その後、CPU16はS108に移行する。
【0037】
ステップ107:CPU16は、性能測定用のRAW画像データ(テストデータ)を判定対象の端末装置21に対して送信する。そして、CPU16はテストデータに関する端末装置21からの返信結果に基づいて、総合処理時間の実測値を取得する。CPU16は、この実測値を性能データとして扱う。
このS107では、CPU16は、端末装置21に対して同一のテストデータを2回送信し、端末装置21の詳細な性能データを取得することも可能である。具体的には、1回目の送信ではCPU16は端末装置21にテストデータの現像処理を指示する。この1回目の返信結果では、CPU16は現像処理時間とデータの送受信に要する時間を取得できる。一方、2回目の送信では、CPU16は端末装置21にテストデータをそのまま返信するように指示する。この2回目の返信結果では、CPU16はデータの送受信に要する時間のみを取得できる。したがって、CPU16は、2回分の送信結果とテストデータのデータ量とに基づいて現像処理時間および通信速度を演算できる。
【0038】
ステップ108:CPU16は、判定対象の端末装置21の性能データ(S104、S106、S107)を性能テーブルに記録する。
ステップ109:CPU16は、全ての端末装置21の性能データが性能テーブルに記録されているか(性能テーブルの生成が終了したか)否かを判定する。性能テーブルの生成が終了した場合(YES側)にはCPU16はS110に移行する。一方、性能テーブルの生成が終了していない場合(NO側)には、CPU16は性能データが未取得の端末装置21を判定対象とするとともに、S104に戻って上記動作を繰り返す。
【0039】
ステップ110:CPU16は、性能テーブルに基づいて、各端末装置21に対するRAW画像データの現像処理の配分を決定する。CPU16は、上記の現像処理の配分をスケジュールテーブルに記録する。
このS110では、CPU16は全てのRAW画像データの現像処理の配分を一度に決定する必要はない。例えば、CPU16は現像処理の配分を複数回に分割し、各回ごとにCPU16が現像処理の配分を段階的に決定してもよい。
【0040】
ここで、CPU16は、各端末装置21に対する現像処理の配分を以下の要領で決定する。
(1)CPU16は、処理対象となるRAW画像データのうちで、特殊な処理が必要となるRAW画像データを抽出する。具体的には、S101の「現像処理の詳細設定」で設定を変更したRAW画像データがCPU16によって抽出される。そして、CPU16は、上記の抽出されたRAW画像データの現像処理を、対応機能を有する端末装置21のみに配分する。
【0041】
上記(1)の内容を図9によって具体的に説明する。この図9の例では図3の性能テーブルを前提として説明を行う。ノイズリダクション処理が必要となる現像処理(番号3,6)は、端末装置2または端末装置5(情報処理装置)にCPU16が配分する。レンズの収差補正処理が必要となる現像処理(番号1,5)は、端末装置1または端末装置5(情報処理装置)にCPU16が配分する。また、バージョン3以上の色補間処理が要求される現像処理(画像2,7)は、端末装置3または端末装置5(情報処理装置)にCPU16が配分する。なお、ある現像処理を複数の端末装置21に配分しうる場合、CPU16は後述の(2)、(3)の基準によって現像処理を行う端末装置21を決定する。
【0042】
(2)CPU16は、RAW画像データのデータ量と性能テーブルの「メモリ容量」とをそれぞれ比較する。そして、CPU16は、RAW画像データのデータ量よりバッファメモリの容量が小さい端末装置を、そのRAW画像データの現像処理の配分先から除外する。バッファメモリにRAW画像データが収まらない場合には、端末装置21が現像処理を実行できないからである。
【0043】
(3)CPU16は、上記(1)、(2)の処理後に、各々の端末装置21に対する現像処理の配分を決定する。具体的には、上記(1)、(2)の制約条件を満たす一方で、情報処理システム全体での現像処理時間がより短くなるように、CPU16は各端末装置21への現像処理の配分を最適化する。すなわち、CPU16は、性能テーブルの「総合処理時間」がより短い端末装置21にはより多くの現像処理を割り当てる。なお、上記した配分の決定では、CPU16は組合せ最適化に関する公知のアルゴリズム(ニューラルネットワーク、遺伝的アルゴリズム、動的計画法など)によって現像処理の最適な配分を近似的に演算する。
【0044】
ステップ111:CPU16は、スケジュールテーブルに基づいて、残りの現像処理が情報処理装置11と外部の端末装置21とで処理されるか、それとも情報処理装置11のみで処理されるかを判定する。情報処理装置11と外部の端末装置21とで処理される場合(YES側)にはCPU16はS112に移行する。一方、残りの現像処理が情報処理装置11のみで処理される場合(NO側)にはCPU16はS123に移行する。
【0045】
ステップ112:CPU16は、スケジュールテーブルに基づいて、端末装置21に対する現像処理の命令データと、RAW画像データとを各端末装置21にそれぞれ送信する。上記の命令データには、S101での「現像処理の詳細設定」のデータが含まれる。また、CPU16は上記のデータの送信とともに、各端末装置21ごとにタイムカウントを開始する。なお、端末装置21側の現像処理の詳細については後述する。
【0046】
ステップ113:CPU16は、接続端子を介して端末装置21の通信不能状態を検出したか否かを判定する。接続端子を介していずれかの端末装置21の通信不能状態を検出した場合(YES側)にはCPU16はS116に移行する。一方、上記の通信不能状態を検出しない場合(NO側)にはCPU16はS114に移行する。
ステップ114:CPU16は、設定時間内に応答がない(タイムアウトした)端末装置21があるか否かを判定する。タイムアウトした端末装置21がある場合(YES側)には、CPU16はその端末装置21が通信不能状態にあるとしてS116に移行する。一方、タイムアウトした端末装置21がない場合(NO側)にはCPU16はS115に移行する。
【0047】
ステップ115:CPU16は、いずれかの端末装置21から現像済画像データを受信したか否かを判定する。現像済画像データを受信した場合にはCPU16はS118に移行する。このとき、CPU16は、送信先の端末装置21に対するタイムカウントを終了する。一方、現像済画像データを受信しない場合には、CPU16はS113に戻って上記動作を繰り返す。
【0048】
ステップ116:この場合には、CPU16は通信不能状態の端末装置21を性能テーブルから除外する。
ステップ117:CPU16は、S116で更新された性能テーブルに基づいてスケジュールテーブルを再設定する。このとき、CPU16は、通信不能状態の端末装置に送信したRAW画像データは現像処理されていないものとして扱う。なお、S117でのスケジュールテーブルの再設定の説明はS110と共通するため重複説明を省略する。
【0049】
その後、CPU16はS115に移行する。上記の場合においてS115で現像済画像データが受信されると、CPU16はS116での性能テーブルとS117でのスケジュールテーブルとに基づいて以後の処理を実行することとなる。
ステップ118:CPU16は、受信した現像済画像データを記録部15に記録する。
ステップ119:CPU16は、S110またはS117によって設定されたスケジュールテーブルの処理が全て終了したか否かを判断する。全て終了した場合(YES側)は、CPU16はS120に移行する。一方、未処理分が残っている場合(NO側)には、CPU16はS113に戻って上述の処理を繰り返す。
【0050】
ステップ120:CPU16は、処理対象となるRAW画像データの現像処理が全て終了したか否かを判定する。全て終了した場合(YES側)にはCPU16は処理を終了する。一方、現像処理がまだ残っている場合(NO側)にはCPU16はS121に移行する。
ステップ121:CPU16は、S112からS115までのタイムカウントに基づいて、端末装置21の総合処理時間の実測値を取得する。
【0051】
ステップ122:CPU16は総合処理時間の実測値(S121)に基づいて、性能テーブルの総合処理時間を更新する。その後にCPU16はS110に戻る。上記の場合には、S110において、CPU16はS122で更新された性能テーブルに基づいてスケジュールテーブルを生成する。そして、CPU16はS112以降の処理を繰り返す。
ステップ123:この場合には、情報処理装置11のCPU21が残りすべての現像処理を実行する。以上で情報処理装置の動作説明を終了する。
【0052】
次に、本実施形態における端末装置の動作を、図10の流れ図を参照しつつ説明する。なお、以下の説明では、端末装置が電子カメラの場合を説明する。
ステップ201:電子カメラのCPU29は、情報処理装置11から受信したRAW画像データをバッファメモリ25に記録する。そして、CPU29は、現像処理の命令データに基づいて、画像処理部26にRAW画像データの現像処理を指示する。
【0053】
ステップ202:画像処理部26は、RAW画像データに現像処理を施して現像済画像データを生成する。なお、現像処理時には、画像処理部26はヘッダファイルから撮影条件のデータを取得する。
ステップ203:CPU29は、情報処理装置11に対して現像済画像データを返信する。その後に、CPU29は現像処理済みのRAW画像データをバッファメモリ25から消去する。以上で端末装置の動作説明を終了する。
【0054】
ここで、情報処理装置11または端末コンピュータでの現像処理では、CPU(16、31)が画像処理プログラムで現像処理を実行する点が上記と相違する。また、情報処理装置11が端末装置21として機能する場合には、情報処理装置内11のCPU16と記録部15とでRAW画像データがやり取りされることとなる。
(本実施形態の効果)
本実施形態では、複数の端末装置21がRAW画像データの現像処理を分散処理する(S110、S112)。そのため、情報処理装置11が単独で現像処理を実行する場合と比べて、多数のRAW画像データをより短い時間で現像処理できる。特に、端末装置21が電子カメラである場合、専用の画像処理エンジン(画像処理部26)によって現像処理がより短い時間で完了する。そのため、この場合にはシステム全体の現像処理時間も著しく短縮される。また、本実施形態では情報処理装置11も現像処理を実行するため、システム全体の現像処理時間をさらに短縮できる。
【0055】
本実施形態では、各端末装置21の処理時間や機能に基づいて、情報処理装置11がスケジュールテーブルで現像処理の配分を決定する(S110)。そのため、システム全体の現像処理時間は著しく短縮される。上記の処理時間の初期値は、電子カメラおよび通信手段の種類から情報処理装置11がその推定値を演算する(S106)。あるいは、情報処理装置11はテストデータに対する返信結果に基づいて処理時間の実測値を取得する(S107)。そのため、情報処理装置11は初期状態でも比較的効率のよいスケジュールテーブルを生成できる。
【0056】
本実施形態の情報処理装置11は、現像済画像データの受信結果により処理時間の実測値を取得する(S121)。そして、情報処理装置11は、上記の実測値に基づいてスケジュールテーブルを生成する(S122、S110)。そのため、情報処理装置11は、受信結果をフィードバックしてスケジュールテーブルを最適化できる。
本実施形態の情報処理装置11は端末装置21の通信不能状態を検出する(S113、S114)。この場合には、情報処理装置11は、通信不能状態の端末装置21を除外してスケジュールテーブルを再設定する(S116、S117)。そのため、端末装置21が持ち運ばれた場合や端末装置21が電池切れした場合などにも、情報処理装置11はその影響を最小限に留めることができる。
【0057】
(実施形態の補足事項)
以上、本発明を上記の実施形態によって説明してきたが、本発明の技術的範囲は上記実施形態に限定されるものではない。例えば、S104またはS106の性能データで性能テーブルを生成する場合、CPU16は端末装置21に少量の画像処理を実行させて性能データの確認を行うようにしてもよい。
【図面の簡単な説明】
【0058】
【図1】本実施形態の情報処理システムの構成を示す概要図
【図2】(a)端末装置を構成しうる電子カメラのブロック図、(b)端末装置を構成しうる端末コンピュータのブロック図
【図3】性能テーブルの構成を模式的に示す図
【図4】スケジュールテーブルの構成を模式的に示す図
【図5】第1テーブルの構成を模式的に示す図
【図6】第2テーブルの構成を模式的に示す図
【図7】本実施形態の情報処理装置の動作を示す流れ図
【図8】本実施形態の情報処理装置の動作を示す流れ図
【図9】端末装置の機能に応じた現像処理の配分を説明するための図
【図10】本実施形態の端末装置の動作を示す流れ図
【符号の説明】
【0059】
11…情報処理装置、12…通信I/F、15…記録部、16…CPU、21…端末装置


【特許請求の範囲】
【請求項1】
制御部と、複数のRAW画像データを記録した第1記録手段と、前記RAW画像データに現像処理を施す画像処理装置に通信を行う通信手段と、を備えたコンピュータに関するプログラムであって、
前記制御部が前記通信手段を介して通信可能な少なくとも1つの前記画像処理装置を検出し、該検出した各画像処理装置をそれぞれ端末装置として認識する認識ステップと、
前記制御部が前記端末装置の性能に関する性能データをそれぞれ取得するとともに、前記端末装置と前記性能データとの対応関係を示す性能テーブルを生成する性能テーブル生成ステップと、
前記性能テーブルに基づいて、前記制御部が、各々の前記端末装置により実行される前記現像処理の配分を規定したスケジュールテーブルを生成するスケジュールテーブル生成ステップと、
前記スケジュールテーブルに基づいて、前記制御部が前記RAW画像データおよび前記現像処理の命令データを各端末装置にそれぞれ送信する送信ステップと、
を前記制御部に実行させることを特徴とするプログラム。
【請求項2】
請求項1に記載のプログラムにおいて、
前記認識ステップにおいて、前記制御部が、前記RAW画像データに対して現像処理を実行可能な電子カメラを前記端末装置として認識することを特徴とするプログラム。
【請求項3】
請求項1に記載のプログラムにおいて、
前記性能データは、前記端末装置の現像処理速度および前記端末装置との通信速度によって規定される処理時間のデータを含み、
前記スケジュールテーブル生成ステップにおいて、前記制御部は各々の前記端末装置の前記処理時間の長さに応じて前記現像処理の配分量を規定することを特徴とするプログラム。
【請求項4】
請求項1に記載のプログラムにおいて、
前記性能データは、前記端末装置が有する機能を示す機能データを含み、
前記スケジュールテーブル生成ステップにおいて、前記制御部は、特定の機能に依存する処理が要求される前記現像処理を、前記機能データに基づいて対応機能を有する端末装置に配分することを特徴とするプログラム。
【請求項5】
請求項3に記載のプログラムにおいて、
前記コンピュータは、前記端末装置の種類と現像処理速度との対応関係を示す第1テーブルと、前記通信手段の種類と通信速度との対応関係を示す第2テーブルとを記録する第2記録手段をさらに備え、
前記認識ステップは、前記制御部が前記端末装置の種類および前記通信手段の種類のデータをそれぞれ取得する種類データ取得ステップを含み、
前記性能テーブル生成ステップは、前記第1テーブルおよび前記第2テーブルに基づいて、前記制御部が前記現像処理速度および前記通信速度の推定データを取得する速度推定データ取得ステップと、
前記推定データに基づいて、前記制御部が前記処理時間を演算する推定処理時間演算ステップと、
を含むことを特徴とするプログラム。
【請求項6】
請求項3に記載のプログラムにおいて、
前記性能テーブル生成ステップは、前記制御部が前記端末装置にテストデータを送信し、前記テストデータに対する前記端末装置からの返信結果に基づいて前記処理時間のデータを取得する処理時間取得ステップを含むことを特徴とするプログラム。
【請求項7】
請求項3に記載のプログラムにおいて、
前記性能テーブル生成ステップは、
前記制御部が少なくとも1つの前記端末装置から現像処理後の画像データを受信し、該受信結果により前記処理時間の実測値を取得する実測値取得ステップと、
前記制御部が前記実測値に基づいて前記性能テーブルを更新する性能テーブル更新ステップとを含み、
前記スケジュールテーブル生成ステップは、更新後の前記性能テーブルに基づいて、前記制御部が前記スケジュールテーブルを生成することを特徴とするプログラム。
【請求項8】
請求項1に記載のプログラムにおいて、
前記制御部が通信不能状態にある端末装置を検出する通信不能端末検出ステップと、
通信不能状態にある端末装置が検出された場合には、前記制御部が通信不能状態の端末装置を除外して前記スケジュールテーブルを再設定するスケジュールテーブル再設定ステップと、
をさらに有することを特徴とするプログラム。
【請求項9】
請求項1から請求項8のいずれか1項に記載のプログラムにおいて、
前記制御部は、前記RAW画像データに対して現像処理を実行可能であって、
前記認識ステップにおいて、前記制御部が前記コンピュータを前記端末装置の一つとして認識し、
前記性能テーブル生成ステップにおいて、前記制御部が前記コンピュータの性能データを性能テーブルに組み込み、
前記スケジュールテーブル生成ステップにおいて、前記制御部が前記コンピュータに配分する前記現像処理を前記スケジュールテーブルに組み込むことを特徴とするプログラム。
【請求項10】
複数のRAW画像データを記録した記録手段と、
前記RAW画像データに現像処理を施す画像処理装置に通信を行う通信手段と、
前記通信手段を介して通信可能な少なくとも1つの前記画像処理装置を検出し、該検出した各画像処理装置をそれぞれ端末装置として認識する認識手段と、
前記端末装置の性能に関する性能データをそれぞれ取得するとともに、前記端末装置と前記性能データとの対応関係を示す性能テーブルを生成する性能テーブル生成手段と、
前記性能テーブルに基づいて、各々の前記端末装置により実行される前記現像処理の配分を規定したスケジュールテーブルを生成するスケジュールテーブル生成手段と、
前記スケジュールテーブルに基づいて、前記RAW画像データおよび前記現像処理の命令データを各端末装置にそれぞれ送信する送信手段と、
を備えることを特徴とする情報処理装置。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2007−142551(P2007−142551A)
【公開日】平成19年6月7日(2007.6.7)
【国際特許分類】
【出願番号】特願2005−330236(P2005−330236)
【出願日】平成17年11月15日(2005.11.15)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】