この種の画像処理装置は、一般市場に出回っているものではないので、購入を検討するユーザーは、カタログを見たり、メーカーや販売会社の担当者からの説明を受けるなどして、装置の機能や性能を検討する必要がある。しかしながら、ユーザー側の環境や処理対象によっては、検出できる条件を満たさず、ユーザーが期待している性能が得られない可能性もある。また、操作性については、実際に装置を動作させてみなければ分からない。このようなことから、従来は、メーカー側で展示会を開いたり、ユーザーに所定期間装置を貸し出すなどして、装置の機能、性能、操作性などを確認させるようにしている。
しかしながら、展示会では、遠隔地のユーザーに負担を強いることになる。また、貸出を行う場合にも、貸出できる台数には限りがあるため、多数のユーザーに対応するのは困難である。また、メーカーや販売会社側は、装置の搬送や人員の派遣などを行う必要があり、コスト高を招くという問題もある。
このような問題を解決するための方法として、パーソナルコンピュータなどに画像処理装置の動作をエミュレーションさせるソフトウェアを作成して、ユーザーに配布する方法が考えられる。しかしながら、画像処理装置の高速かつ高精度の処理を汎用のコンピュータで実施させるのは困難である。また、エミュレーションソフトウェアの開発には、かなりのコストや時間を要する上、画像処理装置の機能がバージョンアップされると、エミュレーションソフトウェアを作り直さなければならない、という問題もある。
この発明は上記の問題に着目してなされたもので、体験使用のための画像処理装置を移動させることなく、遠方のユーザーでも、自由にこの装置を使用して、動作や操作性を確認できるようにすることを目的とする。
この発明にかかる画像処理装置の使用体験システムは、少なくとも1台の画像処理装置を含むサーバーシステムにコンピュータネットワークを介して端末装置を接続した構成のものである。サーバーシステムは、所定数の画像処理装置とサーバー用のコンピュータとを含むコンピュータシステムとすることができる。各画像処理装置は、動画像または連続生成される静止画像を用いて種々の画像処理を実行するもので、コンピュータによる制御部や通信用のインターフェース回路を具備させることができる。ただし、サーバーシステムはこれに限らず、1台の画像処理装置のみで構成することもできる。また、画像処理装置は、一般ユーザーに販売される最終形態に限らず、この装置に組み込まれるのと同じ部品や回路が搭載された基板であってもよい。
端末装置は、パーソナルコンピュータなどであって、画像を表示するためのモニタに接続された装置またはモニタが一体化された装置であるのが望ましい。この端末装置は、コンピュータネットワークに常時接続することが可能であるが、画像処理装置への接続には制限を設けるのが望ましい。たとえば、ユーザーにあらかじめパスワードなどを付与し、端末装置からのログイン要求に基づき接続を許可するようにすることができる。また、接続の後に端末装置からのアクセスが所定時間以上行われなかった場合には、接続を遮断することができる。なお、サーバーシステムと端末とを接続するコンピュータネットワークとして、インターネットのような汎用のネットワークを使用するのが望ましい。
この発明にかかる方法は、上記のシステムを用いて、前記端末装置の使用者に前記画像処理装置の使用を体験する環境を提示するものである。この方法が適用されたサーバーシステムでは、システム内の各画像処理装置をそれぞれ1台の端末装置に接続し、各画像処理装置において、処理対象の画像を入力して所定の画像処理を実行する第1ステップと、前記入力された画像およびこの画像に対する画像処理結果に基づき表示用画像を生成する第2ステップと、前記表示用画像を接続中の端末装置に送信する第3ステップとを繰り返し実行する。
一方、各端末装置では、前記画像処理装置から送信された表示用画像に画像処理装置に対する設定操作用のユーザーインターフェースを合成してモニタに表示するAステップと、前記ユーザーインターフェースを用いた操作が行われたとき、その操作内容を示す情報を前記画像処理装置に送信するBステップとを実行する。また、前記画像処理装置は、前記第1〜3の各ステップを実行しながら前記端末装置からの前記操作内容を示す情報の送信に待機し、この送信を受け付けたとき、その送信情報に含まれる操作内容に応じた処理を実行する。
上記の方法によれば、各ユーザーの端末装置はそれぞれサーバーシステムの特定の画像処理装置に接続されるので、その装置を専用で使用することができる。画像処理装置では、第1のステップにおいて、動画像または静止画像を入力して目的に応じた処理を実行することができる。第2ステップでは、この入力画像のほか、この画像に対する変換画像(2値画像、エッジ画像など)、計測処理結果を示す情報(ヒストグラム、グラフ、数値など)、検査を実行した場合の良否判定結果、処理時刻などの情報の中から1または複数の情報を選択し、選択された情報を含む表示用画像を生成することができる。よって、第1〜3の各ステップを繰り返すことにより、画像を連続的に取り込んで処理しつつ、処理の経過に応じて種々の表示用画像を生成し、端末装置に送信することができる。
端末装置では、毎時の表示用画像の送信により、画像処理装置側の動作に応じてモニタの表示を更新することができる。また、この端末装置において、モニタ上のユーザーインターフェースを用いた操作が行われると、その操作内容が画像処理装置に送信され、その操作に応じた処理が実行される。たとえば、計測のための条件やパラメータを設定する操作が行われた場合には、その操作内容に基づき条件やパラメータを設定する処理を行う。また、過去の計測結果を読み出す操作が行われた場合には、その操作に対応するデータをメモリから読み出して端末装置に返送する処理を行う。このほか、画像処理装置では、送信された操作内容を示す情報(操作の種別、設定の対象、設定するパラメータの種類や具体的な設定値など)を含む表示用画像など、操作に対応する表示用画像を作成して端末装置に送信する処理を行うこともできる。このようにすれば、ユーザーは、自分の設定操作を反映した画像を視認することができる。
なお、画像処理装置から端末装置に表示用画像を送信するには、端末装置から画像処理装置に、HTTPプロトコルのようなステートレスプロトコルに基づく画像送信要求を送信し、その要求に対する応答として、前記表示用画像を返送するようにするのが望ましい。
ステートレスプロトコルは、要求(コマンド)を送信した機器に対し、送信先の機器から要求に応じた応答(レスポンス)を返送するように規定されたプロトコルである。2つの機器間でステートレスプロトコルに基づくやりとりが複数サイクル行われる場合、応答側の機器は、前後の応答内容に左右されることなく、要求毎に独立した情報を返送する。また、一般的なコンピュータシステムでは、ステートレスプロトコルに基づく要求に対する応答であれば、必ず受け入れるように設定されている。
近年の大半のコンピュータシステムには、ルータやファイヤーウォールなど、外部からのデータの取り込みを規制する手段が設けられている。端末装置がこのようなコンピュータシステムに所属する場合、画像処理装置から一方的に表示用画像を送信すると、その送信が拒否されてしまう可能性がある。これに対し、端末装置がステートレスプロトコルに基づく画像送信要求を送信すれば、画像処理装置からの応答データに含まれる表示用画像を確実に得ることができる。よって、端末装置から画像処理装置に画像送信要求を送信する処理と、画像処理装置から表示用画像を含む応答データを返送する処理とを繰り返し実行し、端末装置において、毎時の応答データに含まれる表示用画像により、モニタの表示を更新するようにすれば、端末装置側でも、実際の画像処理装置のモニタに表示されるのと同様の画像表示を行うことができる。
つぎに、上記方法が適用された画像処理装置の使用体験システムでは、サーバーシステムには、システム内の各画像処理装置をそれぞれ1台の端末装置に接続する接続手段が設けられる。なお、サーバーシステムが1台の画像処理装置しか含まない場合には、この画像処理装置自身の通信回路を前記接続手段とすることができる。一方、複数台の画像処理装置が設けられる場合には、前記サーバー用コンピュータまたはルータなどを接続手段とすることができる。この場合の接続手段は、端末装置からのアクセスを受け付けると、この端末装置に未使用の画像処理装置を割り当て、以後、これらの装置間の情報のやりとりを中継するように構成することができる。
上記システムにかかる各画像処理装置は、処理対象の画像を入力する画像入力手段と、前記画像入力手段が入力した画像を用いて所定の画像処理を実行する処理手段と、前記入力画像およびこの画像に対する画像処理結果に基づき表示用画像を生成する表示用画像生成手段と、前記表示用画像を接続中の端末装置に送信する画像送信手段と、前記画像入力手段、処理手段、表示用画像生成手段、画像送信手段の各手段による処理を繰り返しながら、前記端末装置からの情報送信を受け付ける制御手段を備える。各端末装置は、前記画像処理装置から送信された表示用画像に画像処理装置に対する設定操作用のユーザーインターフェースを合成してモニタに表示する表示制御手段と、前記ユーザーインターフェースを用いた操作が行われたとき、その操作内容を示す情報を前記画像処理装置に送信する情報送信手段とを備える。さらに、前記画像処理装置の制御手段は、前記端末装置から前記操作内容を示す情報を受け付けたとき、その操作内容に応じた処理を実行するように設定される。
画像処理装置の画像入力手段には、後記する2つの態様を適用することができる。処理手段、表示用画像生成手段、画像送信手段は、それぞれ前記した第1ステップ、第2ステップ、第3ステップを実行するためのプログラムが導入されたコンピュータにより構成することができる。制御手段も同様に、この手段の処理を実行するためのプログラムが導入されたコンピュータにより構成することができる。なお、処理手段や表示用画像生成手段は、前記したプログラムに限らず、一部またはすべての機能をハードウェアにより構成することもできる。
端末装置側の表示制御手段は、前記方法におけるAステップを実行するためのプログラムが導入されたコンピュータにより、情報送信手段は、前記方法におけるBステップを実行するためのプログラムが導入されたコンピュータにより、それぞれ構成することができる。
上記システムの好ましい態様では、画像処理装置は、設定操作用の入力装置を接続することが可能に構成される(入力装置は接続されていなくともよい。)。端末装置の表示制御手段は、前記ユーザーインターフェースとして、前記入力装置の操作面を模した画像を生成するように設定される。
前記入力装置は、コンソールのような画像処理装置に専用の装置とすることができる。この場合、ユーザーは、画像処理装置を直接操作する場合と同様の方法で操作を行いながら、その操作に応じた画像処理装置の動作を確認することができるから、実機の操作性を十分に確認することができる。
なお、画像処理装置では、パーソナルコンピュータなどに入力用のアプリケーションプログラムを組み込んで、入力装置として使用することもできる。この場合、端末装置において、入力装置のアプリケーションプログラムによるのと同様のユーザーインターフェースを表示するようにすれば、上記コンソールの場合と同様に、画像処理装置を直接操作する場合と同様の操作を、ユーザーに体験させることができる。
さらに好ましい態様では、設定操作に、設定用の項目を選択するための操作を含ませることができる。この場合の画像処理装置の制御手段は、前記端末装置から項目選択用の操作を示す情報を受け付けたとき、前記表示用画像生成手段に項目の選択メニューを含む表示用画像を生成させた後、その表示用画像を前記端末装置に送信する。
前記の項目選択用の操作には、前記選択メニューに対するカーソルの移動操作や選択の確定操作を含ませることができる。画像処理装置では、このような操作が行われる毎に、表示用画像の選択メニューの表示状態を更新することができる(たとえば、カーソルの移動、カーソルの反転表示、新たなメニューの表示、メニュー表示の終了など)。また、端末装置でも、同様に更新された表示用画像を表示することができる。
上記システムの他の好ましい態様では、前記画像処理装置の画像入力手段は、撮像手段から画像を取り込む手段として構成される。すなわち、画像入力手段は、画像入力用のインターフェース回路やA/D変換回路などを含むもので、撮像手段により生成された画像を繰り返し取り込んで、計測用のディジタル画像を生成することができる。ただし、撮像手段がディジタルカメラである場合は、A/D変換回路を設ける必要はない。
上記の態様によれば、画像処理装置では、実際の撮像手段から取り込んだ画像を用いて画像処理を行い、その入力画像や処理結果に基づく表示用画像を端末装置に送信するので、ユーザーは、画像処理装置を実際に使用する場合と同様の状態で動かして、その動作を確認することができる。
他の好ましい態様にかかるシステムでは、画像処理装置の画像入力手段は、接続された端末からの画像の送信を受け付ける手段として構成される。この場合の画像入力手段は、画像処理装置の通信インターフェースやその機能を利用するプログラムにより設定することができる。また、画像入力手段は、所定の記憶媒体から画像を読み出す手段として構成することもできる。たとえば、CD−RやDVDなどに対応するドライブ装置を画像入力手段とすることができる。また、サーバーシステムに専用の記憶装置が含まれている場合には、この装置にアクセスする通信用インターフェースを画像入力手段とすることができる。
上記の態様によれば、ユーザーがあらかじめ用意した画像を画像処理装置に処理させ、その処理結果を確認することができる。よって、ユーザー側が画像処理装置により計測や検査を行おうと考えている対象物について、画像処理装置が目的とする処理を実行できるかどうかを確認することができる。
なお、画像処理装置には、前記した撮像手段や入力装置のほかに、モニタなどを接続することができる。また、これらの周辺装置は、画像処理装置の本体に一体に設けることもできる。モニタが使用される場合には、画像処理装置側でも、毎時の表示用画像を表示することができる。また、サーバーシステムにサーバー用コンピュータが含まれる場合には、モニタに代えて、このサーバー用コンピュータで表示用画像を表示するようにしてもよい。
また、端末装置は、パーソナルコンピュータを用いるのが望ましいが、これに限らず、画像表示機能を具備する携帯端末(PDA,PT(パケット携帯端末)など)やプログラマブル表示器などを使用してもよい。
つぎに、この発明では、パーソナルコンピュータなどの通信機能を有するコンピュータを前記端末装置として機能させるためのプログラムを提供することができる。このプログラムは、CD−ROM,DVDなどの記憶媒体に格納された形で、またはコンピュータネットワークを介して提供することができる。
この発明にかかるプログラムは、前記サーバーシステムにコンピュータネットワークを介して接続するステップ、前記サーバーシステム内の所定の画像処理装置からの表示用画像の送信を受け付けるステップ、前記画像処理装置から送信された表示用画像に画像処理装置に対する設定操作用のユーザーインターフェースを合成してモニタに表示するステップ、前記ユーザーインターフェースを用いた設定操作が行われたとき、その操作内容を示す情報を前記画像処理装置に送信するステップ、の各ステップをコンピュータに実行させるものとして構成される。なお、上記の表示用画像の送信を受け付けるステップでは、画像処理装置にステートレスプロトコルに基づく画像送信要求を送信し、この要求に対する画像処理装置からの応答を受け付けるようにすることができる。
さらに、この発明では、インターネットに接続されたコンピュータに前記インターネットを介して上記のプログラムを含む所定のプログラムを配信することができる。この配信によれば、インターネットに接続可能なコンピュータのユーザーであれば、自由にプログラムをダウンロードして、画像処理装置の使用を体験することが可能となる。また、メーカー側では、営業担当者をユーザーの元に派遣したり、プログラムの格納された記憶媒体を送付するなどの労力を要さずに、端末用のプログラムを簡単にユーザーに提供することができる。
なお、前記プログラムの配信処理は、前記したサーバーシステムにより行うことができるが、これに限らず、システム外のコンピュータまたはコンピュータシステムにより実行しても良い。
この発明によれば、所定の場所に設置された画像処理装置を遠方の端末装置からの設定操作を受け付けながら動作させ、その動作に合わせて、入力画像、処理結果、設定操作を反映した画像などを端末装置側に表示することにより、実際の画像処理装置とは離れた場所のユーザーに、その画像処理装置を自由に使用させることができる。
よって、ユーザーは、場所や時間を選ばずに、画像処理装置を体験使用することが可能となる。また、メーカー側は、画像処理装置を移動させることなく、多数のユーザーに体験使用の機会を設定することができるから、労力やコストを大幅に削減して客サービスを高めることができる。また、画像処理装置の機能がバージョンアップした場合でも、サーバーシステム内の装置を入れ替えるだけで対応することができ、エミュレーションソフトウェアを開発する場合に比べ、労力やコストを大幅に削減することができる。
図1は、この発明にかかる画像処理装置1の使用体験システムの構成例を示す。
この使用体験システムは、画像処理装置1のメーカーまたは販売会社が管理するサーバーシステム4に遠隔地の端末装置2を接続して、この端末装置2のユーザーに実物の画像処理装置1を使用させ、その動作状態や操作性を確認させるものである。前記サーバーシステム4は、複数台の画像処理装置1とこれらの画像処理装置1を統括管理するサーバー用コンピュータ3(この例ではパーソナルコンピュータである。)などにより構成される。各画像処理装置1は、箱形の本体部10に後記する図2の構成が内蔵されて成るもので、テレビカメラ11(以下、単に「カメラ11」という。)やコンソール12などを接続した状態を基本構成とする。
上記サーバーシステム4と端末装置2とは、インターネット5を介して接続される。端末装置2は、パーソナルコンピュータ(以下、「端末2」と略す。)であって、ユーザー側のコンピュータネットワーク6(イントラネットなど)やプロキシサーバー7などを介してインターネット5に接続される。また、プロキシサーバー7には、ファイアーウォールの機能を設定することができる。ただし、端末2側のネットワーク環境は図1に限定されるものではなく、インターネット5に接続することのできるパーソナルコンピュータであれば、端末2として機能させることができる。
前記サーバーシステム4のサーバー用コンピュータ3は、端末2からの接続要求を受け付けると、この端末2にシステム内の特定の画像処理装置1を割り当てる。以後、サーバー用コンピュータ3は、画像処理装置1とこの画像処理装置1が割り当てられた端末2との間の通信を中継する処理を実行することにより、端末2のユーザーが、システム内の特定の画像処理装置1を使用できるようにする。
図2は、前記画像処理装置1のブロック図である。この実施例の画像処理装置1は、CPU101,SDRAM102,フラッシュメモリ103などから成る制御部10aを有する。CPU101には、RS−232C対応のインターフェース109が接続されるほか、バス104を介して、画像処理部105、入力用インターフェース106、イーサネット(登録商標)用インターフェース107、パラレルインターフェース108が接続される。また、画像処理部105には、カメラ用インターフェース110、モニタ用インターフェース111、画像メモリ112、モデルメモリ113などが接続される。
カメラ用インターフェース110は、ビデオ画像信号を取り込むためのもので、前記カメラ11に接続される。画像処理部105は、2値化回路、エッジ抽出回路、相関演算回路などが組み込まれた画像処理専用のLSIであって、カメラ用インターフェース110から入力された画像を高速で処理することができる。また、画像処理部105には、表示用画像を生成する機能(画像合成回路など)も設けられる。なお、この画像処理装置1にモニタが接続される場合、この表示用画像は、モニタ用インターフェース111を介して前記モニタに出力される。
画像メモリ112には、カメラ用インターフェース110から入力された画像や前記表示用画像を保存するための領域が設定される。モデルメモリ113は、前記相関演算回路によりパターンマッチング処理を行う場合に、モデルとなる画像を格納するためのものである。SDRAM102は、CPU101のワークメモリとして使用される。フラッシュメモリ103には、CPU101を動作させるためのパラメータや画像処理用のパラメータが格納される。また、このフラッシュメモリ103には、過去の計測対象画像や計測結果などを蓄積するための領域を設定することができる。
イーサネット(登録商標)用インターフェース107は、前記サーバー用コンピュータ3に接続するためのものである。CPU101は、端末2からの要求に応答するために、前記画像処理部105から表示用画像を取り出し、この画像を含む応答データを作成してイーサネット(登録商標)用インターフェース107から送信することができる。
入力用インターフェース106は、前記コンソール12からの入力信号を受け付けるためのものである。パラレルインターフェース108、RS−232C用インターフェース109は、いずれも、上位機器に接続するためのものであるが、取り扱うデータの種類が異なる。RS−232C用インターフェース109は、主として、数値データをやりとりするために使用される。一方のパラレルインターフェース108は、主として、上記機器からのコマンドを受信したり、自装置の状態を示す信号を上位機器に送信するために用いられる。なお、上位機器としては、パーソナルコンピュータやプログラマブル・ロジック・コントローラなどを使用することができる。
上記構成において、画像処理部105は、カメラ用インターフェース110を介してディジタル変換された画像を入力し、この入力画像に対して所定の画像処理を実行する。たとえば、入力画像のエッジを抽出し、各エッジ構成点の座標や濃度勾配の方向などを計測することができる。または、入力画像と前記モデルメモリ113とのパターンマッチング処理を行って、対象物の位置を求めることができる。
画像処理部105による計測結果はCPU101に渡される。CPU101は、さらに詳細な計測処理を行ったり、計測結果に基づき対象物の良否を判定するなどの処理を行う。これらの処理結果は、前記インターフェース108,109などを介して外部機器に出力されるほか、フラッシュメモリ103に蓄積することもできる。
なお、画像処理部105では、カメラ用インターフェース110からの画像に限らず、CPU101からの指令に応じて、フラッシュメモリ103などに保存された画像を処理することもできる。
また、画像処理部105は、CPU101からの指令に基づき、モニタへの表示用画像を生成する。表示用画像は、入力画像そのもののほか、画像処理の過程で生成された変換画像(2値画像、エッジ画像など)により構成することができる。また、これらの画像に計測結果を示すヒストグラムやグラフ、対象物の抽出位置を示すポインタなどの画像を加えたものを、表示用画像とすることができる。また、計測に必要なパラメータや動作モードなどを設定するために、設定項目の選択メニューを表示することもできる。
なお、この実施例の画像処理装置1は、実機と同じ機能を確保できるものであれば良いので、上記図2の各処理部を本体部10に収容せずに、各処理部が搭載された基板の状態でサーバー用コンピュータ3に接続してもよい。
前記端末2には、あらかじめ、使用体験システム専用のソフトウェアが導入される。このソフトウェアの機能により、各端末2は、画像処理装置1側で生成された表示用画像をその生成とほぼ同じタイミングで取り込み、自装置のモニタに表示することができる。また、端末2では、自装置の入力部(キーボードやマウスなど)を用いて画像処理装置1に対する設定操作を行ったり、画像処理装置1に蓄積された計測結果や動作履歴などをダウンロードすることもできる。
図3は、前記した専用ソフトウェアにより端末2側に設定される機能を示す。なお、このソフトウェアのプログラムは、所定の記憶媒体を用いたインストール作業により、または、前記インターネット5を介してダウンロードした設定用プログラムを展開することにより、端末2のハードディスクなどに格納されたものである。
図中、入力部21は、ユーザーのコマンド入力や設定操作を受け付けるためのものであり、通信処理部22は、前記画像処理装置1との間でデータの送受信を行うためのものである。画像表示部23は、通信処理部22が受信したデータから表示用画像を抽出してモニタに表示するためのものである。
メモリ制御部25は、端末2のメモリに対し、通信に関わる情報を読み書きするためのものである。たとえば、通信処理部22が受信した表示用画像や計測データを保存したり、画像処理装置1への送信情報(後記するサンプル画像など)をあらかじめ登録するために使用される。なお、図3には記載していないが、前記端末2には、文字または音声でユーザーに操作方法のチュートリアルを行う機能なども設定される。
この実施例の通信処理部22は、サーバーシステム4に対し、HTTPプロトコルに基づく要求を出力し、その要求に対する応答を受信するように設定されている。これは、端末2において、前記したファイヤーウォールなどによって外部データの受け入れが制限されている場合でも、HTTPプロトコルのようなステートレスプロトコルによる応答であれば、受け入れられることによる。このような通信制御により、ユーザーは、そのネットワーク環境に左右されることなく、画像処理装置1の体験使用を自由に行うことが可能となる。
図4は、前記使用体験システムにおける通信制御の流れを示す。
図中、各装置を示すブロック1,2,3,7に連なる垂直線は時間軸に相当する。また、端末2およびサーバー用コンピュータ3については、情報の受信に伴う処理が行われる期間を、この時間軸上に黒塗りの矩形として示す(各矩形には個別に参照符号a,b,c,A,B,Cを付けてある。以下の説明でも、この参照符号を反映する)。また、端末2の時間軸において、ユーザーによる処理が行われた時点を、矢印イ,ロにより示す。
ユーザーは、まず図中の矢印イで示す時点に、使用体験のためのアプリケーションを起動させ、ID番号やパスワードを入力する。なお、このID番号やパスワードは、メーカー側から前記アプリケーション用のソフトウェアの提供を受けた際などに付与されるものである。
端末2は、ID番号およびパスワードの入力を受け付けると、これらの情報をサーバーシステム4に向けて送信することにより、接続要求を行う。この接続要求は、プロキシサーバ7を介してサーバー用コンピュータ3に送られる。
ここで、サーバー用コンピュータ3は、図中のAにおいて、受信したID番号およびパスワードを自装置内の登録情報と照合してユーザーを認証する。認証が完了すると、このユーザーに使用させる画像処理装置1を決定し、その画像処理装置1の識別コードなどを含む接続情報を設定する。
設定された接続情報は、プロキシサーバー7を介して端末2に返送される。端末2は、図中のaにおいて、この接続情報をクッキー(Cookie)として保存する。以後、端末2は、サーバーシステム4に要求を送信する際に、その要求に前記接続情報を付加した情報を送信する。サーバー用コンピュータ3は、プロキシサーバー7を介してこの送信情報を受信すると、接続情報に基づき、システム内のどの画像処理装置1に要求を転送するのかを判断する(図のB,C)。転送先として認識された画像処理装置1には、前記接続情報を含まない要求が転送される。画像処理装置1は、前記要求に対する処理を行った後に応答データを返送する。この応答データは、サーバー用コンピュータ3およびプロキシサーバー7を介して端末2に伝送される。このような制御により、端末2は、サーバーシステム4内の特定の画像処理装置1に接続され、情報をやりとりすることができる。
端末2から画像処理装置1に対する要求は、基本的に2種類に分類される。1つは、表示用画像の送信を要求するものである(以下、この要求を「画像送信要求」という。)。この画像送信要求は、ユーザーがアプリケーションを終了するまで、繰り返し自動的に送信される。この要求に対し、画像処理装置1は、画像メモリ112から自装置で生成した最新の表示用画像を読み出して返送する。端末2では、この表示用画像を受信すると、これを自装置のモニタに表示する(図のbの時点)。この画像送信要求の送信、応答の受信、表示用画像の表示を繰り返すことにより、端末2では、画像処理装置1が直接表示する場合と同様の画像をモニタに表示させることができる。
もう一方の要求は、このユーザーインターフェースを用いた操作が行われたときに、この操作に対応する処理を行うことを要求するものである。以下、この要求を「操作受入要求」という。)。図4では、前記ユーザーインターフェースを用いた操作の時点を矢印ロにより示す。端末2は、この操作を受け付けると、前記操作受入要求として、実行された操作の内容を含む情報を送信する。
たとえば、端末2において、設定のための項目選択メニューを呼び出す操作やこのメニューに対する選択操作が行われた場合、画像処理装置1は、前記メニューを含む新たな表示用画像を作成し、その更新された表示用画像を端末2に返送する。また、端末2側で、前記項目選択メニューにより所定の設定を確定する操作が行われた場合、画像処理装置1は、その操作に応じた設定処理を行い、設定が完了した旨のメッセージなどを含む表示用画像を作成する。この場合も、端末2には、更新された表示用画像が送信されることになる。
このように、操作受入要求に対し、大半の場合は、応答データとして表示用画像を送信することになる。よって、端末2では、操作に応じてモニタの表示を更新することが可能になり、ユーザーは、操作の内容や処理結果などを確認することができる。ただし、操作受入要求に対する応答データは、表示用画像に限定されるものではない。たとえば、端末2において、計測データや処理対象の画像の履歴などを読み出す操作が行われた場合には、画像処理装置1は、その操作に対応する情報を読み出して、応答データとして返送することになる。
上記した接続要求、画像送信要求、操作受入要求は、いずれもHTTPプロトコルに基づく要求として作成される。前記したように、プロキシサーバー7には、ファイヤーウォールの機能が設定されているが、端末2からの要求に対する応答データであれば、ファイヤーウォールを通過させて端末2まで伝送することができる。
さらに、この実施例の端末装置は、前記各種要求として、応答データをプロキシサーバー7にキャッシュさせないように命じるメッセージを含むデータを送信する。このメッセージは、画像処理装置1からの応答データにそのまま反映される。
図5は、端末2からの画像送信要求のデータ構成例を示す。この画像送信要求は2行のメッセージにより構成される。このうちの1行目のメッセージPが表示用画像の送信を要求するものである。2行目のメッセージQは、前記したプロキシサーバー7での応答データのキャッシュを禁止するためのものである。
図6は、前記図5の画像送信要求に対する画像処理装置1からの応答データの具体例を示す。この応答データは、HTTPプロトコルに基づくヘッダ部とボディ部とにより構成される。ヘッダ部の1行目には、画像送信要求を受け付けた旨のメッセージRが設定される。また3行目には、前記画像送信要求のメッセージQが反映されている。
ボディ部は、チャンク(chunk)と呼ばれる単位に分割される。1つのチャンクは、サイズを示すデータSと実際の内容を示すデータTとを組み合わせたものとなる。これらのデータS,Tの複数組の組み合わせにより、表示用画像の画像データが格納されることになる。なお、表示更新要求やその応答データも、基本的には図5,6と同様のデータ構成をとる。
端末2と画像処理装置1との間で前記メッセージQが含まれていない要求や応答データをやりとりすると、画像処理装置1からの最初の応答データがプロキシサーバー7にキャッシュされる。この状態下で、前記端末2が2回目の要求を送信すると、プロキシサーバー7は、この要求をサーバー用コンピュータ3に伝送せずに、キャッシュデータを返すようになる。この実施例の使用体験システムでは、画像処理装置1から端末2に常時最新の表示用画像を送る必要があるが、キャッシュデータは前回と同じ表示用画像を含むものであるから、端末2側では、画像表示を更新できない、という不具合が生じる。
図7は、前記画像送信要求や応答データにメッセージQが含まれている場合の通信状態を示す。この例では、時刻tの時点で送信された最初の画像送信要求に対する応答データは、プロキシサーバー7にキャッシュされずに端末2に返送される。時刻tからα時間が経過した後の画像送信要求に対しても、時刻tと全く同様の処理が実行され、その時点で画像処理装置1が作成した最新の応答が端末2に返送される。よって、端末2は、常に最新の表示用画像を得ることができ、画像表示の更新を支障なく実行することができる。
つぎに、端末2側でユーザーの操作を受け付ける具体例やモニタの表示制御について説明する。前記図3の画像表示部23は、画像処理装置1に対する設定操作用のユーザーインターフェースを示す画像を生成し、画像処理装置1から送信された表示用画像と前記ユーザーインターフェースとを合成した画像をモニタに表示するようにしている。入力部21は、前記ユーザーインターフェースを用いた操作を受け付けて、その操作内容を通信処理部22に渡す。通信処理部22は、この入力部からの情報を用いて前記した操作受入要求を作成し、画像処理装置1に送信することになる。
前記ユーザーインターフェースは、一例では、画像処理装置1のコンソール12を模した画像(以下、この画像による入力部を「疑似操作部」という。)として設定される。ユーザーは、この疑似操作部のボタンをマウスでクリックすることにより、画像処理装置1を直接操作する場合と同様の手順で設定操作を行うことができる。端末2は、この疑似操作部の操作に応じて、前記した表示更新要求を送信する。
図8は、画像処理装置1の表示用画像100と端末2の表示画面200との関係を示す。この図は、端末2側で設定を開始する旨の操作がなされた場合の表示例であって、画像処理装置1では、計測対象物の画像115のほかに、設定項目を選択するメニュー116を含む表示用画像100を作成する。一方、端末2の表示画面200には、画像処理装置1から送信された画像を表示するためのウィンドウ26や前記した疑似操作部27が表示される。ウィンドウ26内には、前記表示用画像100と全く同じ画像が表示されている。
図9は、表示用画面100と端末2の表示画面200との他の例を示す。この例の端末2では、前記ユーザーインターフェースとして、計測処理の手順を設定するためのアプリケーションが用意される。表示用画面200には、前記図8と同様のウィンドウ26のほか、前記アプリケーションの表示用ウィンドウ28が設けられる。このウィンドウ28は、2つの小ウィンドウ28a,28bに分割され、一方のウィンドウ28bには、各種処理項目をツリー構造に配列したメニューが表示される。他方のウィンドウ28aはフローチャートを表示するためのもので、前記ウィンドウ28b内で項目の選択が行われる毎に、フローチャートに新たな処理が追加される。
ユーザーは、前記ウィンドウ28a内の表示を確認しつつ、所望の項目を選択することにより、画像処理装置1での計測処理の手順を詳細に決めることができる。この場合にも、1つ1つの手順を確定する都度、操作受入要求を送信することができるが、これに限らず、最終的な確定操作がなされたとき、または所定単位の手順が確定される毎に操作受入要求を送信してもよい。
図9は、ある項目の設定に関する操作受入要求が送信された直後の表示例であって、画像処理装置1で生成された表示用画像100には、設定を完了した旨のメッセージなどを含む情報117が含められている。また、端末2の表示画面200のウィンドウ26にも、前記情報117を含め、表示用画像100と同様の画像が表示されている。
なお、図9に示したウィンドウ28は、画像処理装置1に対する設定操作を上位機器としてのパーソナルコンピュータから行う場合に、このパーソナルコンピュータのモニタ上に表示されるものである。したがって、ユーザーは、前記コンソールの疑似画像部27が表示される場合と同様に、画像処理装置1に対して実際に行う操作を体験することができる。
図8,9の例によれば、実際の画像処理装置1における操作性を端末2を用いて確認することができるから、ユーザーにとっての利便性を大いに向上することができる。
つぎに、図10,11を用いて、端末2およびサーバーシステム4における処理の詳細について説明する。まず、図10は、端末2およびサーバー用コンピュータ3における処理の手順を相互に対応づけたもので、端末2側の手順をST(ステップ)1から表すとともに、サーバー用コンピュータ3の手順を、100番代の数字により示す。また、ステップ間の処理の対応関係を、矢印付きの太線により示す。また、サーバー用コンピュータ3の処理については、1台の端末2に対する処理に特化した制御手順を示す。
この図10の端末2の手順は、前記図4のaの時点までの処理を示すものである。端末2は、ST1で起動した後、ST2でID番号やパスワードなどの入力を受け付ける。ST3では、この入力に応じて前記した接続要求を送信する。
サーバー用コンピュータ3は、インターネット5に常時接続された状態で、端末2からの接続要求に待機している。前記接続要求を受信すると、ST101からST102に進み、接続要求に含まれるID番号やパスワードによりユーザーを認証する。つぎのST103では、システム内の画像処理装置1の割り当て状態をチェックする。ここで、いずれの端末2にも割り当てられていない画像処理装置1があれば、ST104が「YES」となる。この「YES」判定を受けて、ST105では、前記した割り当てられていない画像処理装置1の中の1台を前記認証したユーザーに割り当てる。そして、続くST106では、前記割り当てが完了した旨を示す応答データとして、割り当てられた画像処理装置1の識別コードなどを含む接続情報を作成し、前記端末2に返送する。
一方、ST103において、システム内のすべての画像処理装置1が既に所定の端末2に割り当てられている場合には、ST104が「NO」となる。この場合には、ST107に進み、前記端末2に、割り当て不可を示す接続情報を返送する。
端末2では、接続要求を出した後は、前記サーバー用コンピュータ3からの接続情報に待機する。ここで前記割り当て完了を示す接続情報が返送されると、ST4が「YES」となり、ST5で接続情報を保存した後に、つぎの処理に進む。一方、割り当て不可を示す接続情報が返送された場合には、ST4からST6に進んで、割り当て不可のメッセージなどをモニタに表示し、しかる後に処理を終了する。
サーバー用コンピュータ3では、ST106の送信処理を行った後は、ST108の通信中継処理を実行する。この処理は、前記割り当て完了の接続情報を送信した端末2からの要求を受け付けて画像処理装置1に転送し、画像処理装置1から前記要求に対する応答データを受け付けて、端末2に転送するものである。この処理は、端末2からの切断要求を受け付けるまで継続される。切断要求を受けると、ST109が「YES」となってST110に進み、前記画像処理装置1の割り当てを解除する。
図11は、前記ステップ5までの処理を終了した端末2の以後の処理と、この端末2に割り当てられた画像処理装置1の処理とを対応づけて示す。前記したように、この端末2と画像処理装置1とは、前記サーバー用コンピュータ3の通信中継処理により情報をやりとりする。なお、この例では、前記操作受入要求に関する説明を簡単にするために、操作に対する画像処理装置1の処理を表示用画像を更新する処理に限定して説明する。
また、図11では、画像処理装置1の具備する機能を、端末2に対する通信制御を行う部分(通信制御部)、表示用画像の更新制御を行う部分(表示制御部)、および計測処理を行う部分(計測処理部)の3つに分類する。これら3つの処理部の制御は並列で実行されるもので、通信制御部の手順を200番代のステップ(ST)により、表示制御部の手順を300番代のステップにより、計測処理部の手順を400番代のステップにより、それぞれ示す。また、端末2の手順は、前記図10の手順から続いているものとする。またステップ間の処理の対応関係については、図10と同様に、矢印付きの太線により示す。
この例の画像処理装置1は、実際に所定のワークを撮像し、得られた画像を用いて計測処理を実行するものとする。この場合、画像処理装置1の計測処理部は、ST401で起動した後、カメラ11からの画像を入力するステップ(ST402)、この入力画像を画像メモリ112に保存するステップ(ST403)、入力画像を用いて所定の計測処理を実行するステップ(ST404)の各ステップを繰り返し実行する。
表示制御部は、ST301で起動した後、前記入力画像、または計測処理の過程で生成された変換画像を入力する(ST302)。つぎに、ST303では、設定操作の有無をチェックする。ここで端末2からの操作受入要求があれば、設定操作が行われたとみなす。これによりST303が「YES」となってST304に進み、前記ST302で入力した画像に設定操作を反映したメニューなどを加味した表示用画像を作成する。一方、設定操作が行われていないと判断した場合には、ST305に進み、前記ST302で入力した画像を表示用画像として設定する。
この後は、ST306において、前記ST304またはST305のいずれかで設定された表示用画像を画像メモリ112に保存する。なお、この画像処理装置1が実際の生産現場で用いられる場合には、前記表示用画像をモニタに表示するが、この実施例の場合には、画像処理装置1側では画像を表示しなくともよい。
つぎに、画像処理装置1の通信制御部では、ST201で起動した後、端末2からの画像送信要求または操作受入要求に待機する(ST202)。いずれかの要求を受信すると、ST203からST204に進み、前記ST306で保存された表示用画像を読み出す。なお、通信制御部、表示制御部、計測処理部の各処理は並列で行われるので、ST204では、表示制御部が生成した最新の画像を読み出すことができる。しかも、この最新の表示用画像は、計測処理部が入力した最新の画像に基づくものである。
つぎのST205では、前記表示用画像をボディ部とする応答データを作成し、端末2に返送する。なお、前記画像メモリ112に所定期間内の表示用画像を蓄積できるならば、最新のものから順に複数枚の表示用画像を読み出し、これらの画像を1つの応答データに編集して送信することもできる。
つぎに、端末2では、前記ST4において、特定の画像処理装置1が割り当てられたことを確認すると、ST7において、前記したユーザーインターフェースを設定する。以下は、このユーザーインターフェースを用いた終了操作が行われるまで、ST8〜14のループを繰り返す。
ST9では、前記ユーザーインターフェースを用いた設定操作をチェックする。この設定操作がなされなければ、ST11に進んで画像送信要求を送信する。つぎのST12では、この要求に対する応答データに待機する。ここで、画像処理装置1の通信制御部が前記ST203〜205の処理を実行して応答データを返送すると、ST13が「YES」となってST14に進み、前記表示用画像をモニタに表示する処理を実行する。
以下も、設定操作が行わなければ、同様の処理を繰り返し実行する。よって、毎時のループを実行する都度、画像処理装置1側の最新の表示用画像を取得して表示することが可能となる。
また、ユーザーの設定操作が行われると、ST9からST10に進み、画像処理装置1に対し、前記した操作受入要求を出力する。この操作受入要求は、画像処理装置1の通信制御部および表示制御部に与えられる。これにより表示制御部では、前記ST303からST304の処理を実行し、ST306において、前記設定操作を反映した表示用画像を保存する。また、前記通信制御部では、画像送信要求に対するのと同様にST203〜205の処理を実行することにより、前記ST306で保存された表示用画像を含む応答データを端末2に返送する。
所定の時点でユーザーの通信切断操作が行われるとST8からST15に進む。ST15では、前記した切断要求を送信することになる。この切断要求によりサーバー用コンピュータ3側の前記ST110の処理が行われ、画像処理装置1の動作も終了することになる。
なお、上記の手順では、操作受入要求9に対する画像処理装置1側の処理を、表示用画像の更新に限定して示したが、前述したように、画像処理装置1では、操作の内容に応じて種々の処理を実行することができる。
図12は、前記図11の処理手順に適合するシステム使用例を示す。
図11の手順では、画像処理装置1で実際のワークを撮像しながら処理を行うようにした。図12の例では、ユーザーが、計測対象とするワークwをあらかじめメーカー側に送り、このワークwを画像処理装置1のカメラ12により撮像しつつ、体験使用を行うようにしている。この場合のワークwは、メーカー側の係員によってカメラ12の視野にセットされる。ユーザーは、係員からセット完了の連絡を受けるなどして、計測処理を開始させ、目的とする計測や検査が可能であるかどうかを確認することができる。
なお、この実施例にかかる画像処理装置1は、カメラ12からの入力画像のみならず、あらかじめ用意された画像(以下、「サンプル画像」という。)を処理することもできる。このサンプル画像を用いる場合について、図13にシステム使用例を示す。
図13(1)は、画像処理装置1の内部(フラッシュメモリ103など)にサンプル画像のファイル120を組み込んでいる。この場合、ユーザーは、端末2を起動させた後、サンプル画像の使用を指示する操作を行う。この操作内容は、前記操作受入要求によって画像処理装置1に伝えられ、サンプル画像の読み出しが行われる。以後、画像処理装置1は、このサンプル画像に対する計測処理を行いながら、その処理結果などを示す表示用画像を端末2に送信する。
図13(2)の例は、前記サンプル画像のファイル120をサーバー用コンピュータ3に組み込んだものである。この場合、ユーザーは、あらかじめ、サーバー用コンピュータ3にアクセスして、ファイル120内のサンプル画像を端末2にダウンロードする。そして、体験使用を開始すると、画像処理装置1に前記サンプル画像をアップロードし、その画像に対する計測処理を実行する旨を指示する。この場合も、前記図13(1)と同様に、画像処理装置1は、サンプル画像に対する計測処理を行いながら、その処理結果などを端末2に送信することができる。
なお、図13(2)のように、サーバー用コンピュータ3にサンプル画像を保存する場合には、端末2からサーバー用コンピュータ3に要求を出して、このサーバー用コンピュータ3から画像処理装置1に、直接サンプル画像を転送するようにしてもよい。
上記図13(1)(2)の例によれば、メーカー側であらかじめ用意したサンプル画像を用いて体験使用を行うことができるので、自身のワークを用意できないユーザーでも、気軽にシステムを利用することができる。
図13(3)の例では、ユーザー側でサンプル画像を用意している。この場合のサンプル画像のファイル210は、CD−RやDVDなどの記憶媒体に格納された形で端末2に与えることができる。または、ユーザー側のコンピュータシステムに含まれる他の装置(図示せず。)から端末2に転送することもできる。端末2は、サンプル画像を取り込むと、これを画像処理装置1にアップロードする。これにより、画像処理装置1では、前記図13(1)(2)と同様に、サンプル画像を用いた計測処理を行って、その処理結果などを端末装置に送信することができる。
図13(3)の例によれば、前記図12の場合と同様に、ユーザー側のワークを対象として処理を行うことが可能となる。また、図13(1)(2)の例を実行する場合でも、あらかじめユーザー側がサンプル画像が格納された記憶媒体をメーカー側に送付し、この記憶媒体から前記ファイル120を作成するようにすれば、ユーザー側のワークを用いての使用体験を行うことが可能となる。
また、ユーザー側のサンプル画像が画像処理装置1で処理できないフォーマットによるものであった場合のために、端末2またはサーバー用コンピュータに、サンプル画像のフォーマット変換を行う機能を設けるのが望ましい。
つぎに、図14の例は、前記図12または図13(1)〜(3)のいずれかの方法で取得した画像を処理するとともに、画像処理装置1にモニタ13を接続して、メーカー側の係員に表示用画像を視認させるようにしている。このようにすれば、メーカー側の係員は端末2に表示されるのと同じ画像を確認することができるので、ユーザーがどのような操作を行ったのかを容易に確認することができる。よって、モニタ13の表示を見ながらユーザーに操作方法を教えるなどのサポートを行うことができる。また、係員が前記コンソール12などを用いて設定操作を行った場合にも、画像処理装置1は、端末2からの操作受入要求に対するのと同様の処理を実行し、その処理結果を反映した表示用画像を生成する。この表示用画像は前記画像送信要求に対する応答データとして端末2側に送信されるから、ユーザーは、自身の端末2で係員の行った操作の内容を確認することができる。したがって、係員は、設定のノウハウやトラブルへの対応方法などをユーザーに容易に伝えることができ、サポートサービスを向上することができる。