(57)【要約】【課題】解析対象のソフトウェアを実際に行なった入力操作をさせながら再現させ、精度のよいエラー解析を行うことが可能なソフトウェア自動再現プログラムを提供する。【解決手段】キャプチャー対象となっているソフトウェアに対して行われ、複数のキーの中から選択される入力操作を再現させるためのソフトウェア自動再現プログラムであって、コンピュータに、ソフトウェアがアクティブな状態である場合に、そのアクティブ画面の画面データ情報を取得する画面データ情報取得処理ステップと、この画面データ情報と関連付けて、入力操作をキー操作データとして保存するキー操作データ保存ステップと、保存されたキー操作データに基づいて、ソフトウェアの入力操作を再現させる再現ステップと、を実行させる。【選択図】図１
2009175970.tif 000002
【特許請求の範囲】
【請求項１】
キャプチャー対象となっているソフトウェアに対して行われ、複数のキーの中から選択される入力操作を再現させるためのソフトウェア自動再現プログラムであって、
コンピュータに、
前記ソフトウェアがアクティブな状態である場合に、そのアクティブ画面の画面データ情報を取得する画面データ情報取得処理ステップと、
この画面データ情報と関連付けて、前記入力操作をキー操作データとして保存するキー操作データ保存ステップと、
前記保存されたキー操作データに基づいて、前記ソフトウェアの入力操作を再現させる再現ステップと、を実行させるためのソフトウェア自動再現プログラム。
【請求項２】
前記複数のキーには、前記画面上における座標データを入力するために選択される座標入力キーが含まれており、
前記保存ステップにおいて、前記座標入力キーの選択により入力された座標データを保存し、
かつ、前記座標データは、前記アクティブ画面のクライアント領域上に設定された基準座標からの相対座標データとして保存されることを特徴とする請求項１に記載のソフトウェア自動再現プログラム。
【請求項３】
前記画面データ情報には、アクティブ画面の画面全体に対する位置座標データが含まれることを特徴とする請求項１又は２に記載のソフトウェア自動再現プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャプチャー対象となっているソフトウェアに対して行われ、複数のキーの中から選択される入力操作を再現させるためのソフトウェア自動再現プログラムに関するものである。
【背景技術】
【０００２】
従来から、写真プリントを作成する写真処理装置とコントローラをネットワークで接続した写真プリント処理システムが知られている。このようなシステムでは、店頭受付端末またはネットワーク受付端末で受け付けた画像データがオーダー単位に大容量記憶装置に保存される。また、スキャナーによって現像済みネガフィルムから読み取った画像データも同様にオーダー単位に大容量記憶装置に保存される。保存されたオーダー単位の画像データは、コントローラによって管理されている。コントローラは、オーダーの受付順序あるいは顧客への引渡し納期等に基づくプリント処理順序にしたがって、オーダー単位に画像データを写真処理装置に送信する。また、コントローラは、画像データに対して各種補正処理を行うことができる。この各種補正処理は、色補正、濃度の補正、赤目補正、逆光補正などの特殊補正等が挙げられる。写真処理装置は、コントローラから送信されたオーダー単位の画像データを処理し、写真プリントを作成する。上記のコントローラは、専用装置によって構成される場合もあるが、汎用のパソコンによって構成される場合もある。また、このような一連の処理を行うために、コントローラにはソフトウェアがインストールされている。
【０００３】
ところで、上記のような写真プリント処理システムにおいて、オペレータの操作履歴を後から検証する目的、エラー発生原因を検証する目的、保守目的等で、コントローラにおける操作履歴を画面キャプチャリングの手法によって取得する方法が提案されている。現在公知の画面キャプチャーソフトは、モニターに表示された画面データを全て取り込む構成のものである。
【０００４】
取り込まれた画面データを再現することで、オペレータの操作履歴を確認・検証することができるものの、実際にソフトウェアをエラーが発生した時と同じ状態になるように再現するためには、例えば、同じソフトウェアがインストールされた別のコンピュータを用意し、上記画面データに基づいて、解析者自身が入力操作を行なう必要があった。従って、解析者にとっては、検証作業が非常に煩わしいものであった。
【０００５】
なお、操作履歴を取得するデータ処理装置として、下記特許文献１が知られている。この特許文献１の装置は、コンピュータの基本機能を管理する基本ソフトウエア及びワープロソフトやＷＥＢブラウザ等のアプリケーションソフトウエア等の各種ソフトウエアに対するマウスやキーボード等の入力手段を用いた操作履歴を受け付ける操作履歴受付手段と、前記操作履歴受付手段で受け付けた操作履歴に基づき、前記ソフトウエアに対するユーザの操作傾向を知るための所定の処理を行う操作傾向データ処理手段と、前記操作傾向データ処理手段の所定の処理により得たユーザの操作傾向を示す操作傾向データを出力する操作傾向データ出力手段とを備えることを特徴とするものである。
【０００６】
また、特許文献２には、パソコン操作再現装置が開示されており、予め作成したマウス操作データ、キー操作データ、操作時間間隔データからなるパソコン操作情報をマイコンのメモリに記憶させ、メモリから再生したパソコン操作情報に基づいて、パソコンを自動操作する技術が開示されている。
【０００７】
【特許文献１】特開２００３−１７７８４７号公報
【特許文献２】特開２０００−４７７９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示される技術を利用して操作履歴を画面上に再現しても、実際のソフトウェアの動作を忠実に再現するものではなく、エラーの解析を行なうのにかなりの熟練を要するものと考えられる。また、特許文献２は、予め決められた操作を再現するに過ぎず、エラーの解析のために有用な技術を開示するものではない。
【０００９】
本発明は上記実情に鑑みてなされたものであり、その課題は、解析対象のソフトウェアを実際に行なった入力操作をさせながら再現させ、精度のよいエラー解析を行うことが可能なソフトウェア自動再現プログラムを提供することである。
【課題を解決するための手段】
【００１０】
上記課題を解決するため本発明に係るソフトウェア自動再現プログラムは、
キャプチャー対象となっているソフトウェアに対して行われ、複数のキーの中から選択される入力操作を再現させるためのソフトウェア自動再現プログラムであって、
コンピュータに、
前記ソフトウェアがアクティブな状態である場合に、そのアクティブ画面の画面データ情報を取得する画面データ情報取得処理ステップと、この画面データ情報と関連付けて、前記入力操作をキー操作データとして保存するキー操作データ保存ステップと、前記保存されたキー操作データに基づいて、前記ソフトウェアの入力操作を再現させる再現ステップと、を実行させることを特徴とするものである。
【００１１】
かかる構成によるソフトウェア自動再現プログラムの作用・効果を説明する。キャプチャー対象となっているソフトウェアがアクティブな状態である場合、そのアクティブ画面の画面データ情報を取得する。例えば、アクティブ画面のウインドウハンドルを取得する。すなわち、入力操作がどのような画面の時に行なわれているのかを再現するために必要な情報である。また、複数のキーの中から選択して行なわれる入力操作をキー操作データとして保存するように構成される。キーの具体例として、キーボードに備えられた多数のキーや、マウスに備えられた左キーや右キーなどがあげられる。これらのキー操作データは、画面データ情報と関連付けられて保存される。これにより、どの画面でどのような操作を行なったのかを保存することができる。従って、再現動作を行なうに際して、キー操作データを読み出すことにより、その入力操作を行なった画面と共に再現することが可能になり、忠実にソフトウェアの動作を再現させることができる。
【００１２】
本発明において、前記複数のキーには、前記画面上における座標データを入力するために選択される座標入力キーが含まれており、
前記保存ステップにおいて、前記座標入力キーの選択により入力された座標データを保存し、
かつ、前記座標データは、前記アクティブ画面のクライアント領域上に設定された基準座標からの相対座標データとして保存されることが好ましい。
【００１３】
複数のキーには、例えば、マウスのように画面上における座標データを入力するために選択される座標入力キーが含まれている。この座標データを保存させる場合に画面全体における座標データではなく、アクティブ画面のクライアント領域上に設定された基準座標（例えば、四隅における左上のポイント）に対する相対座標データとして保存するようにしている。ちなみに、クライアント領域とは、ウィンドウ画面のうち、スクロール・バーや、境界線、タイトル・バー、メニュー・バーなどの非クライアント領域を除いた領域をいう。
【００１４】
ソフトウェアの動作を再現するときに、キー操作データや画面データ情報を取り込んだ時とは異なる解像度を有する表示手段で再現すると、モニター解像度の違いにより、実際とは異なった位置にキー操作が再現されてしまい、正確な再現を行なうことができなくなる可能性がある。そこで、上記のように相対座標データを用いることで、正確なキー操作を再現することが可能になり、ソフトウェアの再現動作の精度を上げることができる。
【００１５】
本発明において、前記画面データ情報には、アクティブ画面の画面全体に対する位置座標データが含まれることが好ましい。
【００１６】
モニター画面の画面全体のどの位置にアクティブ画面が存在していたのかを位置座標データに基づいて、再現することができる。例えば、ソフトウェアの最初の立ち上げ時に、アクティブ画面がどの位置に存在していたのかを特定することができる。その後のウインドウ位置の移動に関しては、キー操作データに基づいて再現可能である。これにより、より精度よく、再現動作をさせることができる。
【発明を実施するための最良の形態】
【００１７】
本発明に好適に適用される写真プリント処理システムの一例について、図面を用いて説明する。
【００１８】
＜システムの全体構成＞
図１は、写真プリント処理システムの全体構成の一例を示す模式図である。本実施形態では、１台以上の写真処理装置１００が、ＬＡＮなどのネットワークを介してコントローラ２００と接続されている。コントローラ２００は、汎用のパソコンで構成され、写真プリント処理システムのアプリケーションソフトプログラムがインストールされている。このアプリケーションソフトプログラムは、画像処理プログラムモジュール、オーダー管理プログラムモジュール、後述するプレジャッジ用プログラムモジュール、その他の各種モジュールの組み合わせで構成されている。このコントローラ２００には、ワープロソフト、表計算ソフト、会計ソフト、ＷＥＢブラウザソフト等の各種アプリケーションソフトがインストールされている。
【００１９】
また、コントローラ２００には、ネガフィルムから画像データを読み取るスキャナー３００が接続されている。また、このコントローラ２００とネットワークを介して、受付端末４００、記録装置５００、ネット受付端末６００が接続されている。なお、受付端末４００、記録装置５００及びネット受付端末６００の設置台数は、それぞれ１台に限定されず、必要に応じて複数台を設置することができる。また、スキャナー３００は、写真処理装置１００に設置された構成であってもよい。
【００２０】
写真処理装置１００は、コントローラ２００から送信された画像データに基づいて、写真プリントを作成する機能を有する。画像データとしては、スキャナー３００から取得される現像済みネガフィルムのコマ画像の画像データや、受付端末４００等からネットワーク経由で送信されてくる画像データなどが挙げられる。
【００２１】
受付端末４００は、例えば店頭に設置され、デジタルカメラの記録メディアやその他の記録メディアに格納された画像データを受け付けることができる。記録メディアの種類としては、コンパクトフラッシュ（登録商標）、スマートメディア（登録商標）、メモリスティック（登録商標）、ＣＤ−Ｒ、ＤＶＤ−Ｒなどが例示される。受付端末４００は、主として顧客により操作されるものであり、顧客が持参した記録メディアを挿入して、写真プリントの作成対象となる画像データを選択したり、プリント枚数などを設定したりすることができる。記録装置５００は、コントローラ２００から送信されてきた画像データ、注文データ等を記録メディアに書き込む機能を有する。
【００２２】
ネット受付端末６００はパソコンにより構成され、インターネットを経由したオンラインでのプリント注文を受け付ける機能を有する。かかるプリント注文の受け付けは、インターネット上に設置されたサーバ６１０を介して行われる。即ち、プリント注文に係る画像データは、顧客のパソコン６２０からサーバ６１０にアップロードされ、適当なタイミングでネット受付端末６００にダウンロードされてプリント処理に用いられる。このようなオンラインでプリント注文を受け付けるシステムは公知である。
【００２３】
＜写真プリント処理システムの機能ブロック構成＞
先ず、コントローラ２００の主な機能について以下に説明する。コントローラ２００には、写真プリント処理システムに用いられる写真プリント処理システムのアプリケーションソフトウエアプログラム（以下、写真プリント処理システムプログラムと称することがある。）がインストールされている。
【００２４】
図１に示すように、写真プリント処理システムプログラムは、主に、スキャナー３００、受付端末４００、記録装置５００及びネット受付端末６００等から写真プリント注文に係る画像データおよび注文データからなるオーダー情報を受信するデータ受信処理ステップ（データ受信処理部）と、この受信したオーダー情報を記憶媒体（ＨＤＤ）に保存するオーダー情報保存処理ステップ（オーダー情報保存処理部）と、このオーダー情報を追加、変更、削除、オーダー順序等の管理処理を行なうオーダー管理処理ステップ（オーダー管理処理部）と、オーダー情報の中の画像データをプレジャッジするプレジャッジ処理ステップ（プレジャッジ処理部）と、プレジャッジ処理ステップで作成されたプレジャッジ補正データに基づいて、画像データを画像処理しプリント作成用画像データを作成する画像処理ステップ（画像処理部）と、プリント作成用画像データを、プリント処理順序に従って、オーダー単位に写真処理装置側に送信するデータ送信ステップ（データ送信処理部）と、をコンピュータに実行させるために機能する。また、写真プリント処理システムプログラムは、写真処理装置の運転状況を問い合わせる処理ステップ、写真処理装置の運転状況を受信し画面に表示する処理ステップ、写真処理装置の各種設定値を設定処理するステップ等のプログラム機能も有している。この写真プリント処理システムプログラムは、インストールされたパソコンのＣＰＵ、メモリ等のハードウエア資源と協働して作用し、その機能を発揮する。
【００２５】
また、別実施形態として、画像処理ステップをコントローラ２００で行なわず、プレジャッジ処理ステップで作成されたプレジャッジ補正データと画像データを写真処理装置側に送信し、写真処理装置に内蔵された、専用回路で構成された画像処理基板で画像処理を行なわせることもできる。また、プレジャッジ処理ステップは全てのオーダーの画像データに対し、必須ではなく、プレジャッジ処理を省略する構成もある。また、スキャナー３００から受信された画像データは、プレジャッジ処理後のものであってもよい。
【００２６】
本実施形態において、プレジャッジ処理は、画像データに基づいて写真プリントを作成する前に、適切な画質の写真プリントが作成されるか否かを判定するものであり、画像データに対する判定をオペレータが行なうための機能を提供する。
【００２７】
プレジャッジ処理は、具体的には、色や濃度を補正するための補正データを入力する機能を提供するものであり、かかる補正データの入力は必要に応じて設定される。その他の補正データの設定としては、赤目補正、逆光補正などの特殊補正の設定が例としてあげられる。
【００２８】
また、プリント枚数の設定としては、スキャナー３００から取得した画像データに関してはデフォルトで１が設定されているが、オペレータの入力操作により変更することができる。
【００２９】
また、オーダー情報の画像データは、１つのコマ画像データで構成されていてもよく、複数のコマ画像データで構成されていてもよい。注文データには、注文ＩＤ、注文者識別情報、コマ画像ごとのプリント枚数、コマ画像ごとのプリントサイズの情報等が含まれていてもよい。
【００３０】
また、コントローラ２００は、各種設定、操作指示入力等のための入力操作部２３０と、各種設定操作指示表示等のためにモニター２４０とを備えている。入力操作部２３０は、キーボード２３１やマウス２３２等により構成される。キーボード２３１は、多数のキーを備えており、これらのキーを操作することによりキー入力を行うことができる。マウス２３２は、左キーおよび右キーを備えた座標入力装置であり、マウス２３２を所望の位置に移動させて左キーまたは右キーを操作することにより、モニター２４０の画面上における座標データを入力することができる。このとき、マウス２３２の左キーおよび右キーは、モニター２４０の画面上における座標データを入力するために選択される座標入力キーとして機能する。このようなキーボード２３１およびマウス２３２により構成される入力操作部２３０を用いることにより、複数のキーの中から選択して入力操作を行うことができる。本実施形態のソフトウェア自動再現プログラムの詳細は後述し、スキャナー３００、写真処理装置１００の構成について以下で説明する。
【００３１】
スキャナー３００は、現像済みネガフィルムに形成されているコマ画像をスキャニングして、デジタルの画像データを取得する機能を有する。読み取られた画像データは、コントローラ２００に送信される。読み取り方法としては、プレスキャニングと本スキャニングの２種類があり、プレスキャニングは、ネガフィルムの全体を低解像度（プレジャッジ用解像度）で一度読み取り、本スキャニングは、プレスキャニングの画像データに基づいたプレジャッジ処理後に行なわれるものであって、高解像度（写真用解像度）での読み取りである。この場合、スキャナー３００はプレジャッジ処理機能を提供するプレジャッジ処理手段と接続されて構成される。
【００３２】
写真処理装置１００は、コントローラ２００からプリント作成用画像データを受信する受信部１０１と、受信されたプリント作成用画像データをマガジン１０３から繰り出された印画紙１０４に露光処理するための露光部１０５と、露光処理された印画紙１０４を現像処理するための現像部１０６と、現像処理された印画紙１０４を乾燥処理するための乾燥部１０７と、乾燥処理された印画紙１０４を仕分け処理しながら排出する仕分け排出部１０８と、を有して構成されている。また、写真処理装置１００の全体的な動作を制御するためのメイン制御部１２０を備えている。
【００３３】
マガジン１０３には、写真感光材料である印画紙１０４がロール状に収容されている。マガジン１０３は、２台を設置することができ、例えば、幅の異なる印画紙を予めセットしておくことができる。マガジン１０３から引き出された長尺状の印画紙１０４は、設定されたプリントサイズになるようにカッター等の切断手段で切断される。
【００３４】
露光部１０５は、露光エンジンを有し、画像処理基板２２０の展開メモリから送信されてくるプリント作成用画像データを受け取り、このプリント作成用画像データに基づいて、印画紙の乳剤面に画像を焼付露光する。露光エンジンとしては、特定の方式のものに限定されるものではなく、例えば、レーザーエンジン、ＣＲＴエンジン、ＰＬＺＴエンジンなどを用いることができる。
【００３５】
現像部１０６は、画像が焼付露光された印画紙１０４の現像処理を行い、乾燥部１０７は、現像処理された印画紙１０４の乾燥処理を行なう。仕分け排出部１０８において、仕上がりの写真プリントが装置本体外部に排出され、所定の集積装置によりオーダー単位で集積可能に構成されている。
【００３６】
印画紙センサー１０９は、仕分け排出部１０８から排出される印画紙１０４を検出し、あるオーダーの写真プリントが全て排出されたか否かを検出する。センサー制御部１１０は、印画紙センサー１０９の駆動制御を行なうと共に、印画紙センサー１０９からの信号を受信して解析する。メイン制御部１２０は、あるオーダーについての写真プリントが全て排出されたとセンサー制御部１１０により検出された場合、コントローラ２００にその通知を行い、そのオーダーについてのオーダー情報を処理済みの管理状態に設定し、さらに、記憶媒体から削除するように構成してもよい。なお、写真処理装置１００としては、上記のような構成に限らず、インクジェットプリンタやサーマルプリンタ（昇華型プリンタ）などの各種構成を採用することができる。
【００３７】
（ソフトウェア自動再現プログラム）
以下にコントローラ２００にインストールされるソフトウェア自動再現プログラム（以下、自動再現プログラムと省略）の機能について説明する。なお、このプログラムは、記憶媒体に記録され、記憶媒体として提供可能であり、また、通信回線を介して提供（ダウンロード提供）されてもよい。通信回線を介して提供される場合、その一部の機能のみが提供されてもよく、他の一部がサーバ装置に残っていてもよい。
【００３８】
図１に、自動再現プログラムの処理機能について機能ブロック図で示す。
【００３９】
具体的には、所定期間をカウントする（時刻を計測する）カウント部２０１と、何らかの入力操作が行われた場合に、前記画面に表示された画面データにおけるアクティブな画面データの情報を取得する画面データ情報取得部２０２と、前記取得された画面データの情報から、前記アクティブな画面データがキャプチャー対象のアプリケーションソフトのものであるか否かを判断する判断部２０３と、前記判断部２０３によって、前記アクティブな画面データがキャプチャー対象のアプリケーションソフトのものであると判断された場合に、前記画面データの情報と関連付けてキー操作データをキャプチャーするキャプチャー部２０４とを有している。保存部２０５は、当該自動再現プログラムの実行により機能するものであり、前記キャプチャー部２０４でキャプチャーされたキー操作データを画面データ情報と共に相互に関連付けて保存する。また、キー操作データは、時刻データとも関連付けて保存される。保存部２０５は、例えば、大容量記憶媒体である。
【００４０】
ここでキーとは前述のようにキーボード２３１に備えられた多数のキーや、マウス２３２に備えられた左キーおよび右キーなどを指している。マウス２３２を所望の位置に移動させて左キーまたは右キーを操作（クリック）することにより、モニター２４０の画面上における座標データを入力することができ、この座標データが保存部２０５に保存される。これらの入力操作はキー操作データとして保存される。
【００４１】
例えば、マウス２３２で左キーや右キーをクリックすると、画面上におけるクリック位置（座標）における座標データが入力される。また、キーボード２３１によりデータの入力等を行った場合は、その入力していく過程も合わせて保存される。例えば、画面上に設定されている数値入力枠に数値をキーボード２３１により入力した場合には、座標データのみならず、数値データ（これらもキー操作データに相当する）も合わせて保存される。
【００４２】
画面データ情報と対応付けてキー操作データを保存することにより、保存したデータを再現するに際して、単に入力操作の履歴を表示するのではなく、実際に解析対象のアプリケーションソフトを立ち上げて、入力操作の様子も再現することができる。入力操作も合わせて再現するので、入力操作に伴う動作も合わせて再現可能になる。例えば、周辺機器に対する動作指令（例えば、写真処理装置１００に対するプリント作成指令、記録装置５００へのデータ書き込み指令など）に関しても再現できるので、実際に周辺機器を動作させながら検証することができる。これにより、エラーが発生した場合の解析をより精度よく行なうことができる。
【００４３】
なお、座標データを保存する場合には、画面全体における座標データではなく、アクティブのウィンドウ画面のクライアント領域上に設定された基準座標（図５に図番５１１で示す）に対する相対座標データとして保存することが好ましい。例えば、マウス２３２によりクリックした位置が５１２であるとすると、座標データとしては図５に示すように基準座標に対する（ｘ，ｙ）を相対座標データとして保存する。
【００４４】
解析対象のアプリケーションソフトの入力操作の再現を行なう場合に、キー操作データをキャプチャーしたときとは異なるモニター画面で再現することがある。このときに、キー操作データをキャプチャーした時のモニターと再現する時のモニターとで、解像度が異なると、実際とは異なった位置にキー操作が再現されてしまい、正確な再現を行なうことができなくなる可能性がある。そこで、上記のように相対座標データを用いることで、正確なキー操作を再現することが可能になる。
【００４５】
また、キャプチャーされたキー操作データや画面データ情報は、圧縮処理されて保存されることが好ましい。圧縮アルゴリズムは公知のものを適用でき、例えば、ランレングス圧縮法、ＰＩＣ圧縮法等が例示される。かかる場合、自動再現プログラムは、圧縮処理機能（圧縮部２０７）を有し、圧縮処理ステップをコンピュータに実行させる構成である。
【００４６】
また、キャプチャー条件を設定するキャプチャー条件設定部２０６を有している。キャプチャー条件設定部２０６は、各種キャプチャー条件を設定することができ、キャプチャー条件としては、例えば、キャプチャーパターンの設定、キャプチャーデータを出力するフォルダの指定、出力するファイルの個数、１ファイルの出力サイズの指定（ファイル数とファイルサイズでキャプチャーデータを保存する容量がきまる）、キャプチャー処理のタイミング等が例示される。これらの詳細は後述する。
【００４７】
操作再現部２０８は、保存されているキー操作データに基づいて、ソフトの入力操作を再現させることができる。この操作再現部２０８の主要な機能は、既に述べてきたように、エラーが発生した場合などに、その原因解析のために操作状況を再現させることである。操作再現部２０８は、入力操作に伴う周辺機器の動作などについても合わせて再現させることができる。従って、操作再現部２０８によれば、より精度のよい詳細な解析・検証を行なうことができる。
【００４８】
操作再現部２０８は、保存部２０５に保存されているキー操作データに基づいて、対応付けられた時刻に従って、ソフトの再現動作を行なわせる。従って、各入力操作の間隔は、実際に入力操作を行った時の間隔と同じであるが、再生速度設定バー８５（図６参照）の操作により変更することもできる。
【００４９】
（動作フローチャート）
次に、自動再現プログラムの処理フローについて図２を用いて以下に説明する。コントローラ２００はパソコンで構成され、このパソコンはマイクロソフト（登録商標）社のウインドウシステム（例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）２０００、ＸＰ、ＶＩＳＴＡ（登録商標））で動作する環境である。なお、他のウインドウシステム、例えば、Ｍａｃ  ＯＳ、Ｘ  Ｗｉｎｄｏｗ  Ｓｙｓｔｅｍであってもよいことはいうまでもない。
【００５０】
コントローラ２００でＯＳを起動すると、図３（ａ）に示すように、デスクトップ画面３００が表示される。このデスクトップ画面３００には、各種アプリケーションソフトの起動ファイルアイコンが表示されている。自動再現プログラムの起動ファイルアイコン３０１を選択し実行する（Ｓ１）。実行されると、図３（ａ）に示すように、例えば、タスクバーにアイコン３０２が表示される。アイコンの色によってキャプチャー状態を識別できる。例えば、アイコン背景色が水色であれば一時停止中、赤であればキャプチャー中、橙色であればキャプチャーエラー発生中であることをそれぞれ示す。キャプチャーエラー発生は、例えば、キャプチャーされたキー操作データ等を保存するための記憶媒体（例えばハードディスク）にファイルを出力できない場合がある。初期設定として、起動ファイル実行により、キャプチャー機能が自動的に開始されるように設定してもよく、一時停止の状態にしておいてもよい。
【００５１】
起動ファイル実行後（Ｓ１）、キャプチャー機能がＯＮ状態であるか否かが判断され（Ｓ２）、ＯＮ状態であれば、次のステップＳ３以降に進む。ＯＮ状態でない場合、キャプチャー機能が一次停止状態である。キャプチャー機能をＯＮ状態にするには、図３（ａ）に示すタスクバーのアイコン３０２をクリックすることによって、図３（ｂ）に示すように、メニュー３０３を表示させ、メニュー３０３から「キャプチャー開始」を選択することで、キャプチャー機能を開始できる。このメニュー３０３には、「キャプチャー開始」以外に、例えば、「キャプチャー終了」（キャプチャーを停止する機能）、「設定」（キャプチャー条件を設定する機能）、「ソフトの終了」（自動再現プログラムを終了する機能であり、キャプチャー終了してからのみ実行できる）等が選択できるように構成されている。
【００５２】
また、一次停止状態において、「設定」が選択されたか否かが判断される（Ｓ１０）。「設定」が選択された場合、ステップＳ１１において、キャプチャー条件の設定を行える。「設定」は、上記キャプチャー条件設定部２０６の機能であり、キャプチャー中でない場合に条件を設定できるように構成されている。なお、キャプチャー条件は、推奨条件が予め設定されている場合があるが、写真プリント処理システムが設置される写真店の都合や、コントローラ２００として用いられるパソコンの処理能力、ハードディスク容量等によって適宜設定できるように構成され、各種ユーザ条件にカスタマイズできる構成である。
【００５３】
（キャプチャー条件設定）
以下でキャプチャー条件の設定について説明する。図４に、キャプチャー条件設定画面４００の一例を示す。「キャプチャーパターンの選択４０１」は、使用するパターンを設定するためのボックスである。すでに設定されているパターンはコンボボックスに表示される。新たにパターンを設定する場合には、新規名称を入力し保存する。保存は、「Ｒｅｇｉｓｔ４１８」を押下することで確定される。
【００５４】
ファイル設定欄の「出力フォルダ４０２」において、キャプチャーされたキー操作データや画面データ情報等を保存する先のフォルダを指定する。ボックス右側のボタンでフォルダ一覧を表示させ選択できる。「出力ファイル数４０３」において、出力するファイルの個数を設定する。「出力ファイルサイズ４０４」において、１ファイルの出力サイズを指定する。ここで指定されたサイズを超えたところで次のファイルに切り換えて出力されるように構成される。「出力ファイル数４０３」と「出力ファイルサイズ４０４」とを乗算して得られた値が、キー操作データ等が保存される容量である。したがって、保存部２０５の大容量記憶媒体（例えばハードディスク）の容量に応じた設定をすることが可能である。
【００５５】
「自動キャプチャー開始４０５」のチェックボックスをチェックすることで、自動再現プログラムを起動したときに自動的にキャプチャー処理を開始するように設定できる。
【００５６】
「マウス４１２」のチェックボックスをチェックすると、マウス操作ログを保存する。マウス操作ログ（キー操作データに対応する）は、取得された画像データに紐付けされている。「キーボード４１３」のチェックボックスをチェックすると、キーボード操作ログ（キー操作データに対応する）を保存する。キーボード操作ログは、取得された画像データに紐付けされている。「ドライブ４１４」のチェックボックスをチェックすると、ドライブ変化ログを保存する。
【００５７】
「ＣＰＵ／ＭＥＭＯＲＹ４１５」のチェックボックスをチェックすると、ＣＰＵ使用量ログ、メモリの使用量ログを保存する。上記の「周期４０７」で設定した数値（１００ｍｓ）と、ここで設定された数値（１０）を乗算した値の時間タイミングでサンプリングされる。「Ｎｅｔｗｏｒｋ４１６」のチェックボックスをチェックすると、ネットワーク状態ログを保存する。上記の「周期４０７」で設定した数値（１００ｍｓ）と、ここで設定された数値（６００）を乗算した値の時間タイミングでサンプリングされる。「Ｐｒｏｃｅｓｓ４１７」のチェックボックスをチェックすると、プロセス状態ログを保存する。上記の「周期４０７」で設定した数値（１００ｍｓ）と、ここで設定された数値（６００）を乗算した値の時間タイミングでサンプリングされる。
【００５８】
次にキャプチャー処理について説明する。キャプチャー機能が開始されると、キーボード２３１やマウス２３２などの入力操作部２３０により入力操作が行われたか否かを判断する。入力操作が行われた場合（Ｓ３）に、アクティブな画面データの情報を取得する（Ｓ４、画面データ情報取得処理ステップ）。例えば、アクティブ画面のウインドウハンドルを取得する。取得されたウインドウハンドルからその実行モジュール名が取得される。これは、ウインドウハンドルと実行モジュール名とが、ＣＰＵで紐付けされているためである。また、ウインドウハンドルには当該画面のタイトル名が含まれており、取得されたウインドウハンドルからタイトル名が読み出され、各キー操作データに対応付けて保存部２０５に保存される。
【００５９】
次いで、取得された画面データの情報（ここでは実行モジュール名）が、キャプチャー対象のアプリケーションソフトのものであるか否かが判断される（Ｓ５、判断処理ステップ）。キャプチャー対象のアプリケーションソフトは、予めメモリ等に記憶されており、ここでは、上記の写真プリント処理システムプログラムの各種実行モジュールである。
【００６０】
取得された画面データの情報が、キャプチャー対象のアプリケーションソフトのものであると判断された場合、キー操作データをキャプチャーする（Ｓ６、キャプチャー処理ステップ）。ステップＳ５において、キャプチャー対象のアプリケーションソフトのものでないと判断された場合、キャプチャー処理を行わず、ステップＳ４に戻る。すなわち、このタイミングで、キー操作データは取り込まれないことになる。そして、次の入力操作が行なわれるまで待機する。
【００６１】
前述のキャプチャー条件設定画面において、「マウス４１２」や「キーボード４１３」のチェックボックスをチェックすると、入力操作を行なった結果がキー操作データとして保存部２０５に保存される。キー操作データは前述のように画面データ情報や時刻データと紐付けされた状態で保存される。なお、「マウス４１２」か「キーボード４１３」のいずれか一方のキー操作データのみを保存するようにしてもよいが、検証を精度よく行なうためには、両方ともキャプチャーすることが好ましい。
【００６２】
キー操作データと関連付けられるのは時刻データによるものに限定されず、例えば、一番最初にキー操作データを取り込んだ時刻を基準とした相対的な時間値、カウント値などにより紐付けすることもできる。
【００６３】
なお、「画面がアクティブである」は、その画面にのみ入力操作が可能であることを意味している。図５に、写真プリント処理システムプログラムの画面がアクティブである一例を示す。画面中央のウインドウ画面が写真プリント処理システムプログラムの画面例（プレジャッジ画面例）であり、アクティブであることを示す。他のアプリケーションソフトの画面は非アクティブであり、画面下部領域のタスクバーで表示されているのみか、プレジャッジ画面背景に隠れている状態である。
【００６４】
キャプチャーされたキー操作データ及びその他の画面データ情報等のデータは圧縮部２０７によって圧縮処理され、保存部２０５に保存する（Ｓ７、保存処理ステップ）。各キー操作データ（前述の座標データや数値入力データなど）は時刻データと関連付けて保存されることにより、種々の入力操作の間隔についても再現可能な状態で、保存部２０５に保存されることとなる（Ｓ９）。なお、ステップＳ８において圧縮処理は必須ではないが、記憶媒体の容量確保の観点から圧縮処理したほうが好ましい。
【００６５】
なお、キー操作データ以外に保存部２０５に保存されるデータとしては、表示された各画面データの画面番号、各画面データが表示されたときに選択されたキーの番号（ボタン番号）、アクティブ画面の画面全体に対する位置座標データ（例えば、図５の座標（ｘ１，ｙ１）で示される。）などを例示することができる。ただし、これらのデータに限らず、表示された各画面データの名称（画面名称）、各画面データが表示されたときに使用されたリソースの番号（リソース番号）、ダイアログの識別番号（ダイアログＩＤ）、実行されたプロセスの名称（プロセス名）といったデータが、各画面データに対応付けて保存部２０５に保存されるようになっていてもよい。
【００６６】
保存部２０５の記憶媒体としては、大容量データを記憶可能なハードディスクが好ましい。予め記憶媒体に保存できる保存データ量を設定しておき、保存された画面データのデータ量が、その保存データ量に達したら、古い画面データを削除するようにし、記憶媒体の保存データ量を一定以下に保ち、キー操作データ等のデータが保存されないような不具合を生じないように構成することが好ましい。また、データ量が保存データ量に達したら、記憶媒体に保存されたキー操作データ等をメディア（ＣＤ−ＲＯＭ、ＭＯ等）に移し、記憶媒体の記憶領域を確保するように構成できる。
【００６７】
キャプチャー処理は、上記のとおり、タスクバーのアイコンからメニューを表示させ、「一時停止」を選択することで、停止させることができる。また、キャプチャー処理開始時刻と終了時刻を予め設定しておき、開始時刻から自動的に開始させ、終了時刻の到来で自動的に一次停止させる構成ができる。また、キャプチャー処理終了期間を設定し、キャプチャー開始時刻から一定期間が経過したら自動的に一次停止するように構成することもできる。
【００６８】
（入力操作の再現処理）
次に、入力操作の再現方法について説明する。まず、図６は、ソフトウェアを再現した時の画面データ例について示す。キャプチャーされたキー操作データ等が保存されているファイルの一覧から、再現したいファイルを選択する。ファイルを選択すると、記憶媒体からメインメモリにそのファイルが読み込まれ、再現が開始される。図６のウインドウ中央の画面にソフトウェアが再現された状態が示される。マウスのカーソルの動きが再現されている状態が図示されている。キー操作データ等が圧縮されている場合、解凍処理を行い、再現する。
【００６９】
図６において、表示ウインドウ下部のバー８１と、このバー８１の上の逆三角マークは、再現しているファイルのどの位置を表示しているかを示す。ウインドウ下部のバー８１の下部には、現在表示している画面データに関する入力操作を行なった時刻８２（キャプチャーしたコンピュータのローカル時刻）、その日付８３を表示している。この時刻８２の右側に、再生・一次停止ボタン（ボタン押下で再生か一時停止かに切り替わる機能ボタン）・現在位置より所定分移動させるためのボタン８４、再生速度設定バー８５等が表示されている。
【００７０】
キー操作データとして、例えば、図６に示すようにマウスが位置５２０から位置５２１を経由して位置５２２へと移動した場合、その移動軌跡についても再現させることができる。また、写真画像の色データを補正するためのカラーデータの補正値を入力した場合には、その補正値の入力過程も再現させることができる。
【００７１】
図６に再生された状態を別のコントローラ２００のモニター２４０に再現させることもできる。図６では、自動再現プログラムのウインドウ画面内で画面の状態が再生されているだけであるが、別のモニター２４０を利用して、図５に示すように実際に入力操作を行なったのと同じ動作を再現させることができる。従って、位置５２２におけるマウスの操作が写真処理装置１００へのプリント作成指令であれば、再現を行うに際して写真処理装置１００も同じように動作が再現されることになる。写真処理装置１００に限らず、他の周辺機器への動作指令などについても同様に再現させて当該周辺機器も合わせて動作させることができる。
【００７２】
以上の構成によれば、エラーが発生した時の状況を実施に作業者が行なった入力操作と同じことを忠実に再現することができる。エラー発生原因を検証するためには、画面データを再生させるのみでは充分な解析を行なうことが難しいが、本発明によれば、実際に行なった操作状況を再現させることができるので、精度のよいエラー解析を行うことが可能になる。
【００７３】
以上の実施形態では、自動再現プログラムが写真プリント処理システムにおいて実行される構成について説明したが、このような構成に限らず、本発明は、写真プリント処理システム以外の各種システムおよび装置に適用可能である。
【００７４】
本実施形態では、画面データのキャプチャーは行なっていないが、画面データのキャプチャーも同時に行なうようにしてもよい。
【図面の簡単な説明】
【００７５】
【図１】写真プリント処理システムの機能構成を説明するための図
【図２】キャプチャー処理の動作フローチャート
【図３】自動再現プログラムの実行画面について説明するための図
【図４】キャプチャー条件設定画面について説明するための図
【図５】自動再現プログラムの実行画面について説明するための図
【図６】自動再現プログラムによる動作再現状態について説明するための図
【符号の説明】
【００７６】
１００    写真処理装置
２００    コントローラ
２０１    カウント部
２０２    画面データ情報取得部
２０３    判断部
２０４    キャプチャー部
２０５    保存部
２０６    キャプチャー条件設定部
２０８    操作再現部
２３０    入力操作部
２３１    キーボード
２３２    マウス
【図１】
2009175970.tif 000003
【図２】
2009175970.tif 000004
【図３】
2009175970.tif 000005
【図４】
2009175970.tif 000006
【図５】
2009175970.tif 000007
【図６】
2009175970.tif 000008