(57)【要約】【課題】  再現に好適な操作の記録を容易に行えるようにする。【解決手段】  タッチセンサ２１１及びタッチセンサ制御部２１２が検出した操作のうち、記録すべきものとそうでないものを、記録要否判定部２２１が予め定められた基準に基づき識別し、記録すべき操作の情報を操作記録部２２２に渡す。操作記録部２２２は、記録要否判定部２２１から渡された操作の情報をメモリ２２５に記録する。記録要否判定部２２１による記録要否の識別基準としては、操作の種類、操作の対象、表示中の画面の種類等が考えられる。【選択図】        図３
2014215788.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの操作を受け付ける操作受付手段と、
前記操作受付手段が受け付けた操作のうち記録すべきものとそうでないものを、予め定められた基準に基づき識別する識別手段と、
前記操作受付手段が受け付けた操作のうち前記識別手段が記録すべきと識別した操作を記録する記録手段とを備えたことを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記識別手段は、前記操作受付手段が受け付けた操作の種類に基づき、該操作を記録すべきか否かを識別することを特徴とする情報処理システム。
【請求項３】
請求項１又は２に記載の情報処理システムであって、
前記識別手段は、前記操作受付手段が受け付けた操作の対象に基づき、該操作を記録すべきか否かを識別することを特徴とする情報処理システム。
【請求項４】
請求項１乃至３のいずれか一項に記載の情報処理システムであって、
前記操作受付手段は、表示手段に表示させた画面に対する操作を受け付ける手段であり、
前記識別手段は、前記操作受付手段が操作を受け付けた際に前記表示手段に表示されていた画面の種類に基づき、該操作を記録すべきか否かを識別することを特徴とする情報処理システム。
【請求項５】
請求項４に記載の情報処理システムであって、
前記識別手段は、前記操作受付手段が受け付けた操作が前記表示手段に表示されていた画面のどの領域に対してなされたものであるかに基づき、該操作を記録すべきか否かを識別することを特徴とする情報処理システム。
【請求項６】
請求項１乃至５のいずれか一項に記載の情報処理システムであって、
前記操作受付手段が受け付けた操作のうち、手順の区切りとなる操作を、予め定められた基準に基づき識別する区切り識別手段と、
時間を計測する計測手段とを備え、
前記記録手段は、前記操作に加え、前記区切り識別手段が手順の区切りとなると識別した操作から、次に記録する操作までの経過時間を記録することを特徴とする情報処理システム。
【請求項７】
請求項６に記載の情報処理システムであって、
前記記録手段が記録した操作を再現する再現手段を備え、
前記再現手段は、ある操作から次の操作までの経過時間が記録されている場合には、前記ある操作を再現した後、該経過時間が経過してから、前記次の操作を再現することを特徴とする情報処理システム。
【請求項８】
情報処理システムが、
ユーザの操作を受け付ける操作受付手順と、
前記操作受付手順で受け付けた操作のうち記録すべきものとそうでないものを、予め定められた基準に基づき識別する識別手順と、
前記操作受付手順で受け付けた操作のうち前記識別手順で記録すべきと識別した操作を記憶手段に記録する記録手順とを実行することを特徴とする情報処理方法。
【請求項９】
１のコンピュータを、あるいは複数のコンピュータを協働させて、
ユーザの操作を受け付ける操作受付手段と、
前記操作受付手段が受け付けた操作のうち記録すべきものとそうでないものを、予め定められた基準に基づき識別する識別手段と、
前記操作受付手段が受け付けた操作のうち前記識別手段が記録すべきと識別した操作を記録する記録手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザの操作を記録する情報処理システム、情報処理方法及び、コンピュータをこのような情報処理システムの機能を実現させるためのプログラムに関する。
【背景技術】
【０００２】
従来から、情報処理システムにおいて、ユーザが行った一連の操作を記録しておき、後でその操作を再現できるようにすることが行われている。ここで、再現とは、記録した操作内容を呼び出して、あたかもその場で同じ操作を行ったかのように情報処理システムを動作させられるようにすることである。
【０００３】
この記録及び再現の機能を利用することにより、面倒な操作が必要な機能がある場合でも、操作を一度記録しておけば次からは単にそれを呼び出すだけで同じ機能を利用でき、操作負荷を軽減することができる。
また、特許文献１には、ワークフローの管理を行う際に、ワークフロー中の適宜の作業工程においてサブフローを起動し、サブフローによる作業が全て完了となった場合にサブフローが起動された作業工程を作業完了とすることが記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、従来の情報処理システムにおける操作の記録は、所定の記録モードにおいてユーザが行った操作を全て記録するものであった。従って、再現が不要な操作も記録されてしまい、記録した操作データを利用する際に支障が生じる場合もあった。必ずしも画面をスクロールさせる必要はないのに、記録時にスクロールの操作を行ってしまうと、それが記録され、再現時にもスクロールが行われてしまう等である。
【０００５】
このため、ユーザは、操作を記録する際に、再現時に必要のない操作は行わないようにする等、注意深く記録を行う必要があり、記録機能が使いづらいものとなっていた。
この発明は、このような事情に鑑みてなされたものであり、再現に好適な操作の記録を容易に行えるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
以上の目的を達成するため、この発明は、情報処理システムにおいて、ユーザの操作を受け付ける操作受付手段と、上記操作受付手段が受け付けた操作のうち記録すべきものとそうでないものを、予め定められた基準に基づき識別する識別手段と、上記操作受付手段が受け付けた操作のうち上記識別手段が記録すべきと識別した操作を記録する記録手段とを設けたものである。
【発明の効果】
【０００７】
上記構成によれば、再現に好適な操作の記録を容易に行えるようにすることができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の情報処理システムの一実施形態である画像処理システムのハードウェア構成を示す図である。
【図２】図１に示した本体及び操作部のソフトウェア構成を操作部とネットワークの通信に関する機能と共に示す図である。
【図３】図１に示した画像処理システムが備える、ユーザから受け付けた操作の記録及び再現に係る機能の構成を示す図である。
【図４】図３に示した記録要否判定部による要否判定の基準の例を示す図である。
【図５】操作の記録形式の例を示す図である。
【図６】図１に示した操作部のＣＰＵが実行する、操作の記録に関する処理のフローチャートである。
【図７】同じく操作の再現に係る処理のフローチャートである。
【図８】図７の処理により再現される操作のタイミングについて説明するための図である。
【図９】記録要否判定部による要否判定基準の別の例を示す図である。
【発明を実施するための形態】
【０００９】
以下、この発明を実施するための形態について、具体的に説明する。
まず、この発明の情報処理システムの実施形態である画像処理システムの概略構成について説明する。
【００１０】
図１は、その画像処理システムのハードウェア構成を示すブロック図である。
この画像処理システム１は、通信機能を有するＭＦＰ（複合機：Multifunction Peripheral）であり、例えばコピー機能，スキャナ機能，ファクス機能，プリンタ機能を備えている。これらの機能に関わる処理は、ユーザが画像処理システム１を直接操作することによって実行することができる。
また、画像処理システム１は、クライアントＰＣ（パーソナルコンピュータ）等の外部装置とネットワークを介して通信可能であり、その外部装置から受信した指示に従って上記機能に関わる処理を実行することもできる。
【００１１】
そして、画像処理システム１は、図１に示すように、ユーザの操作（ユーザからの指示）を受け付ける操作部２０と、操作部２０が受け付けた操作に基づき動作を実行する動作部である本体１０とを備え、それらを専用の通信路３０により相互に通信可能に接続した構成である。通信路３０は、この実施形態では制御線と電源線とからなるが、それらを別々にしても構わない。
【００１２】
なお、本体１０は、操作部２０が受け付けた操作に応じた動作だけでなく、上述のように外部装置から受信した指示に応じた動作も行うことができる。また、通信路３０は、例えばＵＳＢ（Universal Serial Bus）規格のものを用いることができる。しかし、有線、無線を問わず任意の規格のものでよい。１対１通信であっても、ネットワーク通信であってもよい。例えば、ＵＳＢの他、シリアル、有線または無線ＬＡＮ（ローカルエリアネットワーク）、ブルートゥース（Bluetooth：登録商標）、ＩｒＤＡ（Infrared Data Association）等を用いることが考えられる。
【００１３】
本体１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ＨＤＤ１４（ハードディスクドライブ）、通信Ｉ／Ｆ（インタフェース）１５、接続Ｉ／Ｆ１６、及びエンジン部１７を備え、それらをシステムバス１８により接続した構成としている。そして、ＣＰＵ１１が、ＲＡＭ１３をワークエリアとしてＲＯＭ１２又はＨＤＤ１４に記憶されたプログラムを実行することにより、本体１０全体を制御し、上述したコピー機能，スキャナ機能，ファクス機能，プリンタ機能をはじめとする各種機能を実現する。
【００１４】
ＨＤＤ１４は、不揮発性記憶媒体（記憶手段）であり、ＣＰＵ１１が実行する各種プログラムを含む各種データを格納（記憶）している。
通信Ｉ／Ｆ１５は、ネットワークを介してクライアントＰＣ等の外部装置と通信するためのインタフェースである。
【００１５】
接続Ｉ／Ｆ１６は、通信路３０を介して操作部２０と通信するためのインタフェースである。ここではＵＳＢ規格のインタフェースとしている。
なお、通信Ｉ／Ｆ１５は、有線、無線を問わず任意の規格のものを採用可能である。接続Ｉ／Ｆ１６と共通化してもよい。通信Ｉ／Ｆ１５及び接続Ｉ／Ｆ１６としてそれぞれ複数のＩ／Ｆを設けてもよい。
【００１６】
エンジン部１７は、コピー機能，スキャナ機能，ファクス機能，プリンタ機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。例えば、原稿の画像をスキャンして読み取るスキャナ（画像読取部）、用紙等のシート材への印刷を行うプロッタ（画像形成部）、ファクス通信を行う通信部などを備えている。更に、印刷済みシート材を仕分けるフィニッシャや、原稿を自動給送するＡＤＦ（自動原稿給送装置）のような特定のオプションを備えることもできる。
【００１７】
一方、操作部２０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、フラッシュメモリ２４、通信Ｉ／Ｆ２５、接続Ｉ／Ｆ２６、及び操作パネル２７を備え、それらをシステムバス２８により接続した構成としている。そして、ＣＰＵ２１が、ＲＡＭ２３をワークエリアとしてＲＯＭ２２又はフラッシュメモリ２４に記憶されたプログラムを実行することにより、操作部２０全体を制御し、ユーザから受け付けた操作の記録及び再現に係る機能をはじめとする各種機能を実現する。
【００１８】
フラッシュメモリ２４は、不揮発性記憶媒体（記憶手段）であり、ＣＰＵ２１が実行する各種プログラムや、操作の記録の際に参照する設定情報を含む各種データを格納（記憶）している。
通信Ｉ／Ｆ２５は、ネットワークを介してサーバ装置等の外部装置と通信するためのインタフェースである。
【００１９】
接続Ｉ／Ｆ２６は、通信路３０を介して本体１０と通信するためのインタフェースである。ここではＵＳＢ規格のインタフェースとしている。
なお、通信Ｉ／Ｆ２５は、有線、無線を問わず任意の規格のものを採用可能である。接続Ｉ／Ｆ２６と共通化してもよい。通信Ｉ／Ｆ２５及び接続Ｉ／Ｆ２６としてそれぞれ複数のＩ／Ｆを設けてもよい。
【００２０】
操作パネル２７は、ユーザからの各種動作の実行や設定等の指示操作を受け付ける操作部と、画像処理システム１の動作状況や設定状態を表示する表示部とを備える操作表示手段である。この操作パネルは、例えばタッチパネルを積層した液晶表示装置（ＬＣＤ）により構成することができる。さらに、これに加えて又はこれに代えて、ハードウェアキー等の操作部やランプ等の表示部を設けることもできる。
【００２１】
次に、図２に、図１に示した本体１０及び操作部２０のソフトウェア構成を操作部２０とネットワーク３の通信に関する機能と共に示す。
図２に示すように、本体１０は、アプリケーション（以下「アプリ」ともいう）層１０１と、サービス層１０２と、オペレーティングシステム（以下「ＯＳ」という）層１０３とを含むソフトウェア群を備える。
【００２２】
アプリ層１０１のソフトウェアは、ハードウェア資源を動作させて所定の機能を提供するためのソフトウェアである。例えば、コピーアプリ，スキャナアプリ，ファクスアプリ，プリンタアプリ等を備え、それらによってコピー機能，スキャナ機能，ファクス機能，プリンタ機能等の各種機能を提供することができる。
【００２３】
サービス層１０２のソフトウェアは、アプリ層１０１とＯＳ層１０３との間に介在し、アプリ層１０１のソフトウェアに対し、本体１０が備えるハードウェア資源を利用するためのインタフェースを提供する。より具体的には、ハードウェア資源に対する動作要求の受付及びその動作要求の調停を行う機能を備える。サービス層１０２が受け付ける動作要求には、スキャナによる読み取りやプロッタによる印刷等の要求が考えられる。
【００２４】
なお、このインタフェースの機能は、本体１０のアプリ層１０１だけではなく、操作部２０のアプリ層２０１に対しても提供する。すなわち、操作部２０のアプリ層２０１にあるアプリも、サービス層１０２にアクセスすることにより、本体１０のハードウェア資源（例えばエンジン部１７）を利用して各種機能を実現することができる。
【００２５】
ＯＳ層１０３は、基本ソフトウェアであり、本体１０が備えるハードウェアを制御する基本機能を提供する。サービス層１０２のソフトウェアは、各種アプリからのハードウェア資源の利用要求を、ＯＳ層１０３が解釈可能なコマンドに変換してＯＳ層１０３に渡す。そして、ＯＳ層１０３のソフトウェアがそのコマンドを実行することにより、ハードウェア資源にアプリの要求に従った動作を行わせる。
【００２６】
操作部２０が備えるアプリ層２０１、サービス層２０２及びＯＳ層２０３も、階層構造については本体１０側と同様である。アプリ層２０１のアプリが提供する具体的な機能や、サービス層２０２が受け付け可能な動作要求の種類は、本体１０側とは異なる。操作部２０が備えるアプリは、操作部２０が備えるハードウェア資源を動作させて所定の機能を提供することもできるが、主として本体１０が備える機能に関する操作や表示を行うためのＵＩ（ユーザインタフェース）の機能を提供する。
【００２７】
なお、この実施形態では、本体１０側と操作部２０側とで、ＯＳは独立して動作するものとする。また、本体１０と操作部２０とが相互に通信可能であれば、ＯＳが同じ種類である必要はない。例えば、本体ではＬｉｎｕｘ（登録商標）を用い、操作部２０ではＡｎｄｒｏｉｄ（登録商標）を用いることも可能である。ただし、本体１０側と操作部２０側とでＯＳが独立して動作することは必須ではない。
【００２８】
そして、この画像処理システム１において、本体１０と操作部２０とは異なるＯＳにより制御されるため、本体１０と操作部２０との間の通信は、１装置内のプロセス間通信ではなく、異なる装置間の通信として行う。
操作部２０が受け付けたユーザからの指示内容を本体１０へ伝達する動作（コマンド通信）や、本体１０が操作部２０へイベントを通知する動作がこれに該当する。
【００２９】
よって、操作部２０が本体１０へコマンド通信を行うことにより、本体１０の機能を使用することができる。また、本体１０から操作部２０に通知するイベントには、本体１０における動作の実行状況、本体１０においてなされている設定の内容などが挙げられる。
【００３０】
また、操作部２０への電源は本体１０から通信路３０にて供給されているため、操作部２０は本体１０の電源制御とは独立して動作が可能となっている。機能の独立性を保つために、本体１０と操作部２０は別々のＯＳで動作していて、操作部２０のアプリケーションが本体１０の機能を利用して動作することが可能になっている。
以上のような画像処理システムにおいて、特徴的な点は、ユーザから受け付けた操作の記録及び再現に係る機能である。以下、この点について説明する。
【００３１】
まず図３に、図１に示した画像処理システムが備える、ユーザから受け付けた操作の記録及び再現に係る機能の構成を示す。
図３に示すように、画像処理システム１において、操作の記録及び再現に係る機能は、操作部２０が備える。
タッチセンサ２１１は、操作パネル２７が備えるものであり、ユーザによる操作を検出するためのセンサである。また、タッチセンサ２１１は、検出面上の２箇所に対する同時操作を検出可能である。これ以外に、キーやボタン等の操作子を設け、同様に操作の検出に用いてもよい。
【００３２】
タッチセンサ制御部２１２は、操作部２０のサービス層２０２により提供される機能であり、タッチセンサ２１１を制御して、タッチセンサ２１１が検出した操作の位置や種類を判定する。タッチセンサ２１１が判定可能な操作の種類は、ここでは、タッチ、長押し、ドラッグ、フリック、ピンチイン、ピンチアウト、ダブルタップ、２本指で回転とする。もちろん、これら以外の種類の操作を検出可能であってもよい。
また、タッチセンサ制御部２１２は、上記の判定結果に基づき、検出した操作の位置及び種類を示す操作情報を、表示中の画面と対応する（アクティブな）アプリ２１３に渡す。
これらのタッチセンサ２１１及びタッチセンサ制御部２１２が、操作受付手段である。
【００３３】
アプリ２１３は、アプリ層２０１のプログラムにより実現される機能であり、操作部２０において操作パネル２７に画面を表示中の（操作パネル２７において操作を受付中の）アプリケーションである。
そして、アプリ２１３は、タッチセンサ制御部２１２から操作情報を受け取ると、その操作情報が示す操作の位置及び種類から、操作パネル２７に表示中の画面におけるどの領域あるいはオブジェクトを対象としてその操作がなされたかを判定する。
【００３４】
オブジェクトとは、アイコン、ボタン、スイッチ、プルダウンメニュー、スクロールバー、文字、画像など、画面上にされる任意の表示部品である。操作対象となり得るオブジェクト及びその位置は、画面のデータにより規定される。
また、操作対象は、特定のオブジェクトでなく、画面そのものや、画面中の特定の領域である場合もある。これらの場合も、領域の位置（あるいは全体が１つの領域であること）が画面のデータに規定される。
【００３５】
そして、アプリ２１３は、その特定した操作対象及び操作の種類に応じた動作を行う。例えば、ドキュメントのプレビュー画面においてドキュメントのプレビュー画像上でフリック操作が行われた場合に、ドキュメントのページをめくって次の表示に切り替える等である。また、設定の変更を指示するアイコンに対してタッチ操作がなされた場合にアイコンと対応する設定を変更したり、ジョブの実行を指示するためのアイコンに対してタッチ操作がなされた場合に、ジョブの実行を開始したりすることも考えられる。
また、アプリ２１３は、検出した操作に応じて本体１０を用いた動作（コピーなど）を実行すべき場合もある。この場合、本体１０に対してその動作を要求するコマンドを生成し、本体１０のサービス層１０２へ送信する。
【００３６】
操作記録再現部２２０は、ユーザから受け付けた操作の記録及び再現を行う機能を備える。この操作記録再現部２２０の機能も、アプリ層２０１のプログラムにより実現される機能である。アプリ２１３が提供する機能の一部であってもよいし、別のプログラムにより実現される機能であってもよい。
また、操作記録再現部２２０は、記録モード及び再現モード及び待機モードでの動作が可能である。操作記録再現部２２０は、起動時には待機モードであり、ユーザから操作の記録開始を指示されると記録モードに、操作の再現開始を指示されると再現モードに移行する。また、記録や再現の終了が指示されると、あるいは一連の操作の再現が終了すると、待機モードに移行する。
【００３７】
また、タッチセンサ制御部２１２は、操作記録再現部２２０が起動されている間は、上述の操作情報を、アプリ２１３だけでなく操作記録再現部２２０の記録要否判定部２２１にも渡す。
記録要否判定部２２１は、記録モード以外では、アプリ２１３の場合と同様、タッチセンサ制御部２１２から受け取った操作情報が示す操作に応じた動作を行うべく、操作記録再現部２２０のうちその動作を行うべき不図示の機能部に操作情報を渡す。
【００３８】
一方記録モードでは、記録要否判定部２２１は、アプリ２１３等から、現在操作パネル２７に表示中の画面の情報を取得する。そして、その画面の情報と操作情報とから、操作パネル２７に表示中の画面におけるどの領域あるいはオブジェクトを対象としてその操作がなされたかを判定する（操作情報に代えて、アプリ２１３から操作の対象及び種類の情報を取得するようにしてもよい）。
【００３９】
その後、記録要否判定部２２１は識別手段として機能し、予め定められた基準に基づき、受け取った操作情報に係る操作が記録すべきものかそうでないものかを識別する。この基準は、操作の種類、操作の対象、操作時に表示されていた画面の種類等に基づき定めることが考えられる。また、この基準は、操作記録再現部２２０の機能を実現するためのアプリの提供者が定めてもよいし、ユーザが任意に設定できるようにしてもよい。
【００４０】
図４に、記録要否判定部２２１による識別の基準の例を示す。
図４に示す基準は、アイコンに対する操作を記録し、それ以外の操作を記録しない、というものである。すなわち、操作の対象により記録要否を識別するものである。
ここでは、アイコンに対する操作は設定の変更やジョブの実行開始など、実質的にアプリの状態を変化させるものであり、それ以外の操作は、単にユーザが画面を参照するために表示内容を拡大、縮小、スクロール等するためのものであるとする。この場合、単に表示の見え方を変える操作は後で再現する必要がないため記録せず、実質的にアプリの状態を変化させる操作のみ後で再現するため記録することが考えられる。
【００４１】
また、同様な基準は、操作の種類が押下（タッチ）、長押し、または移動（ドラッグ）の場合に記録し、フリック、ピンチイン、ピンチアウト、ダブルタップ、または２本指で回転の場合に記録しない、というように、操作の種類の区別として定義することもできる。初めの３つの操作は、アイコンに対してなされるものであり、残りの操作は、アイコン以外の対象に対してなされるものであるためである。
【００４２】
図３の説明に戻ると、記録要否判定部２２１は、上記のような基準に基づき記録すべきと判断した操作の内容を示す情報を操作記録部２２２に渡す。この情報は、操作記録部２２２での記録に適した形式で渡せばよい。操作の対象及び操作の種類を示す情報とすることや、操作の座標及び操作の種類を示す情報とすることが考えられる。また、記録要否判定部２２１は、計時部２２３からタイマの経過時間の情報を取得し、操作情報と共に操作記録部２２２に渡す。
【００４３】
操作記録部２２２は、記録手段であり、記録要否判定部２２１から渡された操作の情報を、同じく渡された経過時間の情報と対応させてメモリ２２５に記録する。メモリ２２５は、ＲＡＭ２３やフラッシュメモリ２４に設けることができる。また、メモリ２２５における記録形式は、例えば図５に示すものであり、操作の対象及び操作の種類と、経過時間とを対応付け、記録順に操作ＩＤを付して記録すればよい。これ以外でも、操作の座標及び操作の種類と、経過時間とを対応付けて記録することも考えられる。
【００４４】
なお、記録要否判定部２２１は、記録モードの開始時点では計時部２２３のタイマはスタートさせず、記録モードの開始後最初にジョブ実行開始操作を検出した時点で、タイマの計時をスタートさせる。従って、最初のジョブ実行開始操作までの操作は、全て経過時間ゼロで記録され、それ以降の操作について、最初のジョブ実行開始操作からの経過時間が記録される。
【００４５】
どの操作がジョブ実行開始操作であるかは、動作中のアプリ２１３によって異なるが、予め記録要否判定部２２１に設定しておくとする。アプリ２１３が操作記録再現部２２０にこの情報を提供したり、操作記録再現部２２０がアプリ２１３の設定情報あるいは表示中の画面の構成情報を参照してこの情報を取得したりすることが考えられる。
【００４６】
計時部２２３は、タイマにより時間を計測する計測手段である。記録モード及び再現モードの開始時に経過時間をリセットする。また、記録モードでは記録要否判定部２２１からの指示に基づき時間の計測を開始する。再現モードでは、モード開始と同時（あるいは経過時間ゼロの操作を全て再現完了した後）に時間の計測を開始する。
【００４７】
操作再現部２２４は、操作記録部２２２がメモリ２２５に記録した操作の情報に基づき、ユーザの操作を再現する再現手段である。より具体的には、再現モードの開始後、メモリ２２５に記録されている各操作の経過時間が経過したタイミングで、その操作がなされた旨の情報を、その時点でアクティブになっているアプリ２１３に渡す。アプリ２１３は、操作再現部２２４から操作の情報が渡された場合、タッチセンサ制御部２１２からの操作情報に基づきその操作がなされたと判定した場合と同じ動作を行う。逆に言えば、操作再現部２２４は、アプリ２１３にそのような動作をさせることができる形式で、操作情報をアプリ２１３に渡す。メモリ２２５への操作の記録形式も、この用途に適するように定めるとよい。
【００４８】
以上説明した各部の機能により、操作部２０のユーザは、操作記録再現部２２０を起動して記録モードに移行させた後でアクティブなアプリ２１３に対して行った操作を記録することができる。このとき、特別な操作を行わなくても、後で再現する必要性の低い操作を除外して記録することができるので、再現に好適な操作の記録を容易に行うことができる。
【００４９】
次に、操作部２０のＣＰＵ２１が実行する、操作の記録に関する処理について説明する。図６は、その処理のフローチャートである。
操作部２０のＣＰＵ２１は、操作記録再現部２２０を記録モードへ移行させる指示を検出すると、操作記録再現部２２０の機能と対応する処理として、図６のフローチャートに示す処理を開始する。
【００５０】
この処理において、ＣＰＵ２１はまず、ユーザの操作を検出するまで、すなわち記録要否判定部２２１がタッチセンサ制御部２１２から操作情報を取得するまで待機する（Ｓ１１）。この処理が操作受付手順の処理である。
そしてＣＰＵ２１は、操作を検出すると、その操作に関して取得した操作情報及び操作パネル２７に表示中の画面の情報に基づき、操作の種類及び対象を特定する（Ｓ１２）。
【００５１】
次に、ＣＰＵ２１は、ステップＳ１２で特定した操作が予め定めた記録モード終了操作か否か判断する（Ｓ１３）。ここで記録モード終了操作でなければ、ＣＰＵ２１は次に、ステップＳ１２で特定した操作が記録すべき操作であるか否かを、図４に示したような基準に基づき判断する（Ｓ１４）。この処理が識別手順の処理である。
ステップＳ１４で記録すべきと判断した場合、ＣＰＵ２１はステップＳ１２で特定した操作の情報を、タイマが計時する経過時間と対応付けてメモリ２２５に記録する（Ｓ１５）。この処理が記録手順の処理である。なお、後述のように最初にジョブ実行開始操作を検出するまではタイマをスタートしないので、この期間は経過時間としてゼロを記録すればよい。
【００５２】
次に、ＣＰＵ２１は、ステップＳ１２で特定した操作が、アプリ２１３においてジョブ実行開始を指示する操作であるか否か判断する（Ｓ１６）。なお、どの対象にどの種類の操作をしたらジョブ実行開始操作となるかの情報は、アプリ２１３から取得可能である。
そして、ステップＳ１６でジョブ実行開始操作であれば、ＣＰＵ２１はタイマが計時中であるか否か判断し（Ｓ１７）、計時中でなければ計時をスタートする（Ｓ１８）。その後、いずれの場合もステップＳ１１に戻って処理を繰り返す。
ステップＳ１６でジョブ実行開始操作でない場合も同様である。
【００５３】
また、ステップＳ１３で記録モード終了操作であった場合には、ステップＳ１９でタイマの計時をストップして処理を終了する。以上で、一連の操作の記録を終了する。
以上の処理により、ＣＰＵ２１は、記録モードの開始操作と終了操作の間に行われた一連の操作のうち、操作の対象、種類、表示中の画面の種類等に基づいて記録すべきと判断した操作を、メモリ２２５に記録することができる。
【００５４】
ここで、ステップＳ１６乃至Ｓ１８は、ジョブ実行開始操作を、記録する一連の操作中での一つの区切りとして捉え、その区切りの操作の時点を基準に、次の操作、あるいはそれ以降の操作までの経過時間を記録するための処理である。すなわち、この処理においてＣＰＵ２１は識別手段として機能する。
【００５５】
操作部２０において、ジョブの実行開始が指示されるまでは、種々の項目に対して必要な設定の操作が行われることが多いと考えられ、この間の操作をリアルタイムで再現する必要性は低いと考えられる。むしろ操作の間隔を詰めて再現し、素早く設定を行えるようにすることが望ましい。しかし、ジョブの実行開始後は、ジョブ実行の様子を見ながら種々の操作がなされると考えられるので、この間の操作はリアルタイムで再現する必要性が高いと考えられる。従って、上記のようにジョブ実行開始操作前は経過時間なしとして、ジョブ実行開始操作以後は実際の経過時間を含めて操作を記録することは、再現に好適な操作の記録に有用である。
なお、区切りと捉える操作は、ジョブの実行開始操作には限られない。予め定めておけば、任意の基準により、特定の操作が区切りか否か（計時スタートのトリガとなるか否か）を判断することができる。
【００５６】
次に、操作部２０のＣＰＵ２１が実行する、操作の再現に関する処理について説明する。図７は、その処理のフローチャートである。
操作部２０のＣＰＵ２１は、再現すべき一連の操作が指定され、その操作を操作記録再現部２２０において再現開始する旨の指示を検出すると、再現モードにおける操作記録再現部２２０の機能と対応する処理として、図７のフローチャートに示す処理を開始する。
この処理において、ＣＰＵ２１は、指定された一連の操作として記録されている各操作を順次処理対象としてステップＳ３１乃至Ｓ３５の処理を繰り返す。
【００５７】
具体的には、ＣＰＵ２１はまず対象操作と対応して記録されている経過時間がゼロか否か判断する（Ｓ３１）。ゼロであれば、直ちに処理対象の操作の情報（どの対象に対しどの種類の操作がなされたかの情報）をアクティブなアプリ２１３に提供して（Ｓ３５）、次の操作を処理対象とする処理に移る。もう対象とする操作がなければ、タイマの計時をストップして（Ｓ３６）、処理を終了する。
【００５８】
一方、ステップＳ３１で経過時間がゼロでない場合、ＣＰＵ２１は、タイマが計時中でなければタイマの計時をスタートする（Ｓ３２，Ｓ３３）。そして、いずれの場合もタイマが処理対象の操作と対応する経過時間を指すまで待機し（Ｓ３４）、その後に処理対象の操作の情報をアプリ２１３に提供する（Ｓ３５）。以後の動作はステップＳ３１でＹｅｓの場合と同様である。
【００５９】
次に、図８を用いて、図７の処理により再現される操作について説明する。
図８（Ａ）に示すのは、ジョブ開始後に特に操作がない場合の例である。
操作の記録時には、ユーザが行う操作１〜３の間にはいくらかの操作間隔が生じるが、これらの操作はすべて経過時間ゼロとして記録する。従って、操作の再現時には、操作間隔は詰められ、全ての操作が同時にあるいは極めて近接したタイミングで行われたかのように、操作の情報をアプリ２１３に提供する。
従って、操作の再現の際には、操作間隔の分の時間をかけることなく、速やかに操作結果を得ることができる。
【００６０】
図８（Ｂ）に示すのは、ジョブ開始後にも操作がある場合の例である。
操作１〜３については（Ａ）の場合と同様であるが、ジョブ開始後になされた操作４については、記録時にジョブ開始操作（操作３）からの経過時間を記録する。ジョブ開始後の操作には、ジョブ開始から一定時間後にジョブが一旦停止することが想定され、その後に再開操作を行う、というものや、ジョブの実行結果に対する操作のように、ジョブ開始後直ちに行っても意味のないものも考えられる。
【００６１】
そこで、このような操作については、再現時にも、記録時と同じだけ時間が経過してから次の操作の情報をアプリ２１３に提供する。従って、記録時と同様、ジョブが一旦停止してからの再開等を、アプリ２１３に行わせることができる。
また、このような記録及び再現について、図６の処理でタイマの計時開始のトリガとする操作の判定条件さえ適切に設定しておけば、どの操作までを間隔を詰めて再現し、どの操作からを記録時と同じ間隔で再現するかを、操作の記録時にユーザが意識する必要がない。従って、再現に好適な操作の記録を容易に行えるようにすることができる。
【００６２】
以上で実施形態の説明を終了するが、この発明において、各部の具体的な構成や処理の内容、データの形式、各種判定の条件等は、実施形態で説明したものに限るものではない。
例えば、図６のステップＳ１４における記録すべき操作か否かの判定基準を、表示中の画面の種類を考慮したものとしてもよい。図９に、このような判定基準の例を示す。
【００６３】
図９には、図４の基準で一旦記録不要と判断した操作の中で、表示中の画面の種類及びその画面中で操作を検出した領域を考慮して記録すべきものを選択する基準を示している。より具体的には、図９の基準では、表示中の画面と、その画面中で操作を検出した領域との各組み合わせについて、検出した操作の種類毎（ここでは図４の基準で記録不要とした種類の操作のみ）に、記録の要否を規定している。○が記録要、×が記録不要である。動作例については、該当の操作を検出した場合にアプリ２１３が実行する動作を参考のため示しているが、実際の要否の基準には、この情報を含める必要はない。
表示中の画面の種類によって操作の記録要否の基準を変更すべき場合もあるので、このような設定を可能にすることも、再現に好適な操作の記録を容易に行えるようにするために有用である。
【００６４】
なお、画面によっては、画面内が複数の領域に区分されていないものもあり、この場合には画面と操作種類の組み合わせ毎に記録要否を定めればよい。
また、操作ガイド用の手順記録画面のように全種類の操作を記録すべき画面と、ワンショット入力モード認証画面（ユーザ情報入力）のように記録すべき操作のない画面としかない場合は、画面の種類毎に操作の記録要否を設定することも考えられる。
また、図４のような操作対象及び／又は操作の種類に従った基準を用いず、図９のように表示中の画面、操作検出領域及び／又は操作の種類に従った基準のみで、記録要否を規定し、判断するようにしてもよい。
【００６５】
また、操作を記録する際に、その時点でアクティブであったアプリを特定するための情報、すなわち、ユーザがどのアプリに対して行った操作を記録するのかを示す情報を、一連の操作の情報と対応付けて記録するとよい。そして、操作を再現する際に、再現すべき操作と対応するアプリがアクティブでない場合にその旨を警告したり、あるいは対応するアプリを必要に応じて起動した上でアクティブにしてから操作を再現したりするようにするとよい。記録時と異なるアプリがアクティブな状態で操作を再現しても、記録時に意図した動作をそのアプリに実行させることはできないためである。
【００６６】
また、操作部２０が記録する操作は、操作パネル２７が受け付ける操作に限られない。他のデバイスにより受け付けた操作も同様に記録要否を判定し、記録すべきものを記録するようにしてもよい。この「他のデバイス」は、操作部２０に内蔵のハードウェアキーやボタンであってもよいし、外付けのキーボード、ポインティングデバイス等の操作手段であってもよい。この場合において、操作部２０と操作手段との接続方式は任意であり、有線でも無線でもよい。本体１０が受け付けた操作を操作部２０が検出して記録するようにしてもよい。
【００６７】
また、上述の実施形態で説明した操作の記録及び再現の機能に、本体１０は必須ではない。操作部２０のみにて操作の記録及び再現を行う情報処理システムを構成してもよい。
また、上述した実施形態では画像処理システム１を、本体１０と操作部２０とを固定的に組み合わせて構成した例について説明したが、これには限られない。
操作部と本体（動作部）とを、ハードウェアコンポーネントとして全く別の装置としてもよい。例えば、スマートフォン等のモバイル端末を操作部とし、ＭＦＰ等の画像処理装置を動作部として画像処理システムあるいは情報処理システムを構成してもよい。特に、操作部と動作部を無線で接続する場合には、これらは全く独立した装置として構成可能である。
【００６８】
また、操作部と動作部とは、１対１でなくてもよい。例えば、本体に有線接続された操作部がある画像処理装置を、モバイル端末からも操作できるようにすることが考えられる。あるいは、１台の画像処理装置を複数のモバイル端末から操作できるようにすることも考えられる。あるいはまた、１台のモバイル端末から操作対象を切り替えつつ複数の画像処理装置を操作できるようにすることも考えられる。
【００６９】
また、操作部及び動作部がそれぞれ１台の装置で構成される必要はない。複数台の装置が協働して操作部あるいは動作部の機能を実現する構成であってもよい。逆に、操作部及び動作部が同じ筐体に収まっていてもよい。
また、情報処理システムが、スキャナやプロッタのような画像処理エンジンを備えていることも必須ではない。情報処理システムを構成する各装置は、任意の情報処理装置でよい。もちろん、情報処理以外の物理的な入力や出力を合わせて行う装置でもよい。
【００７０】
この発明の実施形態であるプログラムは、１のコンピュータを、または複数のコンピュータを協働させて、上述した情報処理システムの機能を実現させるためのプログラムである。そして、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
【００７１】
このようなプログラムは、はじめからコンピュータに備えるＲＯＭや他の不揮発性記憶媒体（フラッシュメモリ，ＥＥＰＲＯＭ等）などに格納しておいてもよい。しかし、記録媒体であるＣＤ−ＲＯＭ、あるいはメモリカード，フレキシブルディスク，ＭＯ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，又はＤＶＤ−ＲＡＭ等の不揮発性記録媒体に記録して提供することもできる。それらの記録媒体に記録されたプログラムをコンピュータにインストールして実行させることにより、上述した各手順を実行させることができる。
【００７２】
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部装置あるいはプログラムを記憶手段に記憶した外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
また、以上説明してきた実施形態及び変形例の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることは勿論である。
【符号の説明】
【００７３】
１：画像処理システム、１０：本体、１１，２１：ＣＰＵ、１２，２２：ＲＯＭ、１３，２３：ＲＡＭ、１４：ＨＤＤ、１５，２５：通信Ｉ／Ｆ、１６，２６：接続Ｉ／Ｆ、１７：エンジン部、１８，２８：システムバス、２０：操作部、２７：操作パネル、３０：通信路、１０１，２０１：アプリ層、１０２，２０２：サービス層、１０３，２０３：ＯＳ層、２１１：タッチセンサ、２１２：タッチセンサ制御部、２１３：アプリ、２２０：操作記録再現部、２２１：記録要否判定部、２２２：操作記録部、２２３：計時部、２２４：操作再現部、２２５：メモリ
【先行技術文献】
【特許文献】
【００７４】
【特許文献１】特開２００３−２０３１４８号公報
【図１】
2014215788.tif 000003
【図２】
2014215788.tif 000004
【図３】
2014215788.tif 000005
【図４】
2014215788.tif 000006
【図５】
2014215788.tif 000007
【図６】
2014215788.tif 000008
【図７】
2014215788.tif 000009
【図８】
2014215788.tif 000010
【図９】
2014215788.tif 000011