(57)【要約】【課題】装置を動作させる命令を、ベクタ形式による記録形式に比して取扱いが容易な形式にて記録する。【解決手段】ＯＳ１に対し、アプリケーション２により描画命令が発せられたことを検知すると、その描画命令と、記録を開始したときからの当該描画命令を取得したときの経過時間と、を含む描画情報を生成して記憶部１２に記録する記録部１１を有する。ユーザが入力装置４を用いて何らかの入力操作をすると、ＯＳ１は、その操作指示をアプリケーション２へ渡すが、記録部１１は、この操作指示と、記録を開始したときからの当該操作指示を取得したときの経過時間と、を含む操作情報を生成して記憶部１２に記録する。【選択図】図１
2017037374.tif 000002
【特許請求の範囲】
【請求項１】
装置の動作を制御するソフトウェアに対してアプリケーションから発せられた命令であって、一連に発せられることによって前記装置を動作させる命令を取得する第１取得手段と、
前記第１取得手段が取得した前記命令と前記命令を取得した時間情報とを対応付けた命令情報を記憶手段に記録する第１記録手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記ソフトウェアを介して前記アプリケーションへ送られる指示を取得する第２取得手段と、
前記指示と前記指示を取得した時間情報とを対応づけた指示情報を前記記憶手段に記録する第２記録手段と、
を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶手段に記憶された命令を前記ソフトウェアに時系列順に出力することで前記装置に動作を再生させるよう制御する再生制御手段を有することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記再生制御手段は、前記指示が、前記指示に対応付けられて記録された前記時間情報が示す時間で指示されたものとみなして再生させるように制御することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記再生制御手段は、指定された時間に対応する命令情報から再生を開始させるように制御することを特徴とする請求項３に記載の情報処理装置。
【請求項６】
指定された検索条件に合致する命令情報を前記記憶手段から検索し、検索した命令情報を出力する検索手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
指定された検索条件に合致する命令情報を前記記憶手段から検索する検索手段を有し、
前記再生制御手段は、検索された命令情報から再生を開始させるように制御することを特徴とする請求項３に記載の情報処理装置。
【請求項８】
前記再生制御手段は、指定された検索条件に合致する命令情報に動作の区切りとなる命令として予め設定された命令が含まれていない場合、所定の条件に合致する命令情報から再生を開始させるように制御することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記記憶手段に記憶された命令情報または指示情報を編集する編集手段を有することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項１０】
前記第１記録手段は、表示装置に対する描画命令を前記命令として取得することを特徴とする請求項１に記載の情報処理装置。
【請求項１１】
装置の動作を制御するソフトウェアに対してアプリケーションから発せられた命令であって、一連に発せられることによって前記装置を動作させる命令と前記命令を取得した時間情報とを対応付けた命令情報を記憶手段から順次読み出し、読み出した命令情報に含まれている命令を時系列順に前記ソフトウェアに出力することで前記装置に動作を再生させるよう制御する再生制御手段を有することを特徴とする情報処理装置。
【請求項１２】
記憶手段にアクセス可能なコンピュータを、
装置の動作を制御するソフトウェアに対してアプリケーションから発せられた命令であって、一連に発せられることによって前記装置を動作させる命令を取得する第１取得手段、
前記第１取得手段が取得した前記命令と前記命令を取得した時間情報とを対応付けた命令情報を前記記憶手段に記録する第１記録手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
例えば、講義中に使用される資料を映し出した画面の内容を保存するために、描画内容をＳＶＣ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｊｉｃｓ）に代表されるベクトルデータによって表現するベクタ形式がある。
【０００３】
また、これ以外にも、ユーザにより入力されたストロークと音声を時刻情報と共に記録し、音声と適切に同期させてストロークを描画する技術が提案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−３２０９４０号公報
【特許文献２】特開２０１３−１５６９６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
資料の描画内容をベクタ形式で保存するためには、資料を一度解析しなければならないため、時間がかかり、さらにベクタ形式への変換のために専用のソフトウェアが必要となる。
【０００６】
本発明は、装置を動作させる命令を、ベクタ形式による記録形式に比して取扱いが容易な形式にて記録することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理装置は、装置の動作を制御するソフトウェアに対してアプリケーションから発せられた命令であって、一連に発せられることによって前記装置を動作させる命令を取得する第１取得手段と、前記第１取得手段が取得した前記命令と前記命令を取得した時間情報とを対応付けた命令情報を記憶手段に記録する第１記録手段と、
を有することを特徴とする。
【０００８】
また、前記ソフトウェアを介して前記アプリケーションへ送られる指示を取得する第２取得手段と、前記指示と前記指示を取得した時間情報とを対応づけた指示情報を前記記憶手段に記録する第２記録手段と、を有することを特徴とする。
【０００９】
また、前記記憶手段に記憶された命令を前記ソフトウェアに時系列順に出力することで前記装置に動作を再生させるよう制御する再生制御手段を有することを特徴とする。
【００１０】
また、前記再生制御手段は、前記指示が、前記指示に対応付けられて記録された前記時間情報が示す時間で指示されたものとみなして再生させるように制御することを特徴とする。
【００１１】
また、前記再生制御手段は、指定された時間に対応する命令情報から再生を開始させるように制御することを特徴とする。
【００１２】
また、指定された検索条件に合致する命令情報を前記記憶手段から検索し、検索した命令情報を出力する検索手段を有することを特徴とする。
【００１３】
また、指定された検索条件に合致する命令情報を前記記憶手段から検索する検索手段を有し、前記再生制御手段は、検索された命令情報から再生を開始させるように制御することを特徴とする。
【００１４】
また、前記再生制御手段は、指定された検索条件に合致する命令情報に動作の区切りとなる命令として予め設定された命令が含まれていない場合、所定の条件に合致する命令情報から再生を開始させるように制御することを特徴とする。
【００１５】
また、前記記憶手段に記憶された命令情報または指示情報を編集する編集手段を有することを特徴とする。
【００１６】
また、前記第１記録手段は、表示装置に対する描画命令を前記命令として取得することを特徴とする。
【００１７】
本発明に係る情報処理装置は、装置の動作を制御するソフトウェアに対してアプリケーションから発せられた命令であって、一連に発せられることによって前記装置を動作させる命令と前記命令を取得した時間情報とを対応付けた命令情報を記憶手段から順次読み出し、読み出した命令情報に含まれている命令を時系列順に前記ソフトウェアに出力することで前記装置に動作を再生させるよう制御する再生制御手段を有することを特徴とする。
【００１８】
本発明に係るプログラムは、記憶手段にアクセス可能なコンピュータを、装置の動作を制御するソフトウェアに対してアプリケーションから発せられた命令であって、一連に発せられることによって前記装置を動作させる命令を取得する第１取得手段、前記第１取得手段が取得した前記命令と前記命令を取得した時間情報とを対応付けた命令情報を前記記憶手段に記録する第１記録手段、として機能させる。
【発明の効果】
【００１９】
請求項１に記載の発明によれば、装置を動作させる命令を、ベクタ形式による記録形式に比して取扱いが容易な形式にて記録することができる。
【００２０】
請求項２に記載の発明によれば、ソフトウェアを介してアプリケーションへ送られる指示も合わせて記録することができる。
【００２１】
請求項３に記載の発明によれば、記録されている命令に基づき装置に再生させることができる。
【００２２】
請求項４に記載の発明によれば、指示が実際に入力されなくても命令に基づき装置に再生させることができる。
【００２３】
請求項５に記載の発明によれば、指定された時間に対応する命令情報から再生を開始することができる。
【００２４】
請求項６に記載の発明によれば、指定された検索条件に合致する命令情報を出力することができる。
【００２５】
請求項７に記載の発明によれば、指定された検索条件に合致する命令情報から再生を開始することができる。
【００２６】
請求項８に記載の発明によれば、動作の区切りとなっている命令から再生を開始することができる。
【００２７】
請求項９に記載の発明によれば、記録したイベント情報を編集することができる。
【００２８】
請求項１０に記載の発明によれば、表示装置に描画するための描画命令を記録することができる。
【００２９】
請求項１１に記載の発明によれば、ベクタ形式による記録形式に比して取扱いが容易な形式にて記録された命令を装置に再生させることができる。
【００３０】
請求項１２に記載の発明によれば、装置を動作させる命令を、ベクタ形式による記録形式に比して取扱いが容易な形式にて記録することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明に係る情報処理装置の一実施の形態を示したブロック構成図である。
【図２】本実施の形態における情報処理装置のハードウェア構成図である。
【図３】本実施の形態における記録処理を示したフローチャートである。
【図４】本実施の形態においてアプリケーションの実行により記憶部に記録された描画情報及び操作情報の内容例を示した図である。
【図５】図４に示した描画情報により作成された１ページ目の表示画面の例を示した図である。
【図６】図４に示した描画情報により作成された２ページ目の表示画面の例を示した図である。
【図７】本実施の形態における再生制御部を含む他の情報処理装置のブロック構成図である。
【図８】本実施の形態における再生制御処理を示したフローチャートである。
【発明を実施するための形態】
【００３２】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【００３３】
図１は、本発明に係る情報処理装置の一実施の形態を示したブロック構成図である。図１には、オペレーティングシステム（ＯＳ）１、アプリケーション２、表示装置３、入力装置４、記録部１１及び記憶部１２が示されている。
【００３４】
図２は、本実施の形態における情報処理装置（コンピュータ）のハードウェア構成図である。本実施の形態における情報処理装置は、パーソナルコンピュータ（ＰＣ）等の従前から存在する汎用的なハードウェア構成で実現できる。すなわち、コンピュータは、図２に示したようにＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ハードディスクドライブ（ＨＤＤ）２４、入力装置４として設けられたマウス２５とキーボード２６、及び表示装置３として設けられたディスプレイ２７をそれぞれ接続する入出力コントローラ２８、通信手段として設けられたネットワークコントローラ２９を内部バス３０に接続して構成される。
【００３５】
多くのアプリケーションを動作させることを目的とした情報処理装置では、情報処理装置を構成する個々の機能部品の多様性を隠蔽し、個々のアプリケーションの実装がそれぞれ多様な部品に対応することを不要とするために、情報処理装置の各機能を動作させたり、情報処理装置内の情報を取得したりするための命令群を用意しておくことが多い。このような命令群を提供して情報処理装置を動作させるソフトウェアのことをオペレーティングシステム（ＯＳ）１と呼び、命令群をＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ）と呼ぶ場合がある。
【００３６】
表示装置３の表示画面に様々な図形や文字を表示するアプリケーション２は、ほとんどの場合、描画用のＡＰＩを利用して目的に応じた図形や文字を表示装置３に表示させる。つまり、アプリケーション２は、ＯＳ１に対して表示装置３に対する描画命令を発行すると（ＡＰＩを指定して呼び出すと）、ＯＳ１は、その描画命令に応じて表示装置３の動作を制御する。つまり、図形や文字の表示の制御を行う。
【００３７】
本実施の形態における記録部１１は、ＯＳ１に対してアプリケーション２から発せられた描画命令であって一連に発せられることによって表示装置３を動作させる描画命令を取得し、その取得した描画命令と当該命令を取得した時間情報とを含む命令情報を生成してイベント情報として記憶部１２に記録する記録手段である。
【００３８】
記録部１１、そしてＯＳ１及びアプリケーション２は、コンピュータと、コンピュータに搭載されたＣＰＵ２１で動作するプログラムとの協調動作により実現される。記憶部１２は、ＨＤＤ２４にて実現される。あるいは、ＲＡＭ２３又は外部にある記憶手段をネットワーク経由で利用してもよい。
【００３９】
また、本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭやＵＳＢメモリ等のコンピュータ読み取り可能な記録媒体に格納して提供することも可能である。通信手段や記録媒体から提供されたプログラムはコンピュータにインストールされ、コンピュータのＣＰＵ２１がプログラムを順次実行することで各種処理が実現される。
【００４０】
次に、本実施の形態における記録処理について図３に示したフローチャートを用いて説明する。なお、本実施の形態では、アプリケーション２が表示装置３に図形等を描画するための描画命令を命令として発行する場合を例にして説明する。このアプリケーション２は、ＯＳ１に描画命令を発行することで図形等を表示装置３に表示させたり、入力装置４から入力された操作指示を、ＯＳ１を介して受け付けることで、表示装置３にプレゼンテーション時に資料を表示する。この描画命令を発行する描画機能を有するアプリケーションとして、例えばマイクロソフト社のパワーポイント等を想定してよい。
【００４１】
例えば、図５に例示した資料を表示装置３に表示するために、アプリケーション２は、矩形の描画、文字の描画等の一連の描画命令を発行する。また、表示画面の切り替え等ユーザから操作指示が入力される場合がある。本実施の形態における記録処理は、この一連の描画命令及び操作指示を受け付け、記録することになる。
【００４２】
記録部１１は、アプリケーション２が起動されることで記録を開始するとする。まず、現在時刻をＴ０に記憶する（ステップ１０１）。記録部１１は、アプリケーション２がＯＳ１に対して発行した描画命令を検知すると（ステップ１０２でＹ）、描画命令を取得する。そして、当該描画命令を検知したときの現在時刻をＯＳ１から取得し、その取得した現在時刻からＴ０を減算することで記録を開始したときからの経過時間を得る。そして、記録部１１は、取得した描画命令及び経過時間を含む描画情報を記憶部１２に記録する（ステップ１０３）。
【００４３】
また、ユーザが入力装置４を用いて何らかの入力操作をすると、ＯＳ１は、その入力された操作指示を受け付け、それをアプリケーション２へ渡す。記録部１１は、この操作指示を検知すると（ステップ１０４でＹ）、操作指示を取得する。そして、当該操作指示を検知したときの現在時刻をＯＳ１から取得し、その取得した現在時刻からＴ０を減算することで記録を開始したときからの経過時間を得る。そして、記録部１１は、取得した操作指示及び経過時間を含む操作情報を記憶部１２に記録する（ステップ１０５）。記録部１１は、アプリケーション２から発行された終了指示を検知するまで（ステップ１０６でＮ）、上記処理を繰り返す。
【００４４】
以上の記録処理について、具体例をあげて説明する。図４は、アプリケーション２の実行により記憶部１２に記録された描画情報及び操作情報（以下、総称して「イベント情報」）の内容例を示した図である。また、図５及び図６は、図６のイベント情報に従って表示装置３に表示された画面の例を示した図である。
【００４５】
図４において、順番は、記録が開始されてから検知された順番を示す。経過時間は、記録が開始されてから当該描画命令または操作指示が検知されるまでの経過時間であり、小数点以下を含む秒数で記録される。なお、図４における順番１の経過時間「０．０００秒」のように、最初に描画命令または操作指示が検知されて時間を「０．０００秒」として、これに続くイベント情報は順番１からの相対時間で記録することが好適である。命令／操作は情報の種類を示している。図４において「ＤＲＡＷ」は描画情報を、「ＯＰＥＲＡＴＩＯＮ」は操作情報であることを、それぞれ表している。描画命令／操作指示は、実際に検知された描画命令または操作指示の内容を示す情報である。描画命令については、アプリケーション２がＯＳ１に出力する描画命令を説明するのに示した形式と同じものである。もちろん、これに限定することなくアプリケーション２がＯＳ１に出力する描画命令とは異なる形式に変換して記憶するようにしてもよい。
【００４６】
１行目から３行目（順番１〜３）までは、図５に例示した講義資料の１ページ目を表示させるための一連の描画情報である。４行目と５行目（順番４，５）は、ユーザが画面のある位置をクリック、すなわちマウスの左ボタンを押下し、左ボタンを離す操作をしたことにより得られた操作情報に相当する。６行目から１１行目（順番６〜１１）は、講義資料の２ページ目を表示させるための一連の描画情報である。
【００４７】
ここで、イベント情報の描画命令／操作指示に記録される描画命令の詳細について説明する。
【００４８】
１行目等の「ＦｉｌｌＲｅｃｔ」命令は、矩形形状を単一色で塗りつぶす命令である。後続する次の４つの数字は矩形の位置と大きさを表す座標値で、順に左辺のＸ座標、上辺のＹ座標、幅、高さを示す。その次の４つの数字は塗りつぶす色を表す値で、順に赤、緑、青、不透明度を表す。３行目の「ＤｒａｗＴｅｘｔ」命令は、テキストを描画する命令である。後続する２つの数字テキストを描画する左上の点の座標を表す。次の１つの数字はテキストの大きさを表し、横書きのテキストの場合は、ほぼテキストの高さに相当する。その次の文字列はテキストの内容を表す。その次の４つの数字は塗りつぶす色を表す値で、順に赤、緑、青、不透明度を表す。図４に示した内容例によると、順番１の描画命令により領域の背景を白で塗りつぶしたのち、順番２の描画命令によりその中の一部の矩形を青白色で塗りつぶす。更に、順番３の描画命令によりテキストを描画する。この一連の描画命令により表示される画面例が図５に示されている。
【００４９】
本実施の形態においては、以上のようにして、アプリケーション２が発行する描画命令に基づき描画情報が記録される。記憶部１２に記録される描画命令は、ＯＳ１に搭載されたＡＰＩを呼び出すための描画命令であることから、記憶部１２に記録される描画情報は、アプリケーション２の種類に依存しない内容となる。
【００５０】
続いて、以上の記録処理により記憶部１２に蓄積されたイベント情報に基づき資料の表示を再生する処理について説明する。
【００５１】
図７は、本実施の形態における他の情報処理装置のブロック構成図である。図１には、イベント情報を記録するための装置構成が示されているが、図７には、記録したイベント情報に基づき処理を実施するための構成が示されている。図７には、上記記録処理においてイベント情報が記録された記憶部１２、再生制御部１３、検索部１４及び編集部１５が示されている。ＯＳ１、表示装置３及び入力装置４は、図１に示した情報処理装置と同じでよいため同じ符号を付けている。図７に示した情報処理装置は、記憶部１２からイベント情報を読み出すことができれば、図１に示した情報処理装置と同じ装置でもよいし、異なる装置でもよい。
【００５２】
再生制御部１３は、記憶部１２に記憶された命令をＯＳ１に時系列順に出力することで表示装置３に一連の命令に基づく動作を再生させるよう制御する。検索部１４は、指定された検索条件に合致する命令情報を記憶部１２から検索し、検索した命令情報を出力する。編集部１５は、記憶部１２に記憶されたイベント情報を編集する。再生制御部１３、検索部１４及び編集部１５は、コンピュータと、コンピュータに搭載されたＣＰＵ２１で動作するアプリケーションプログラムとの協調動作により実現される。
【００５３】
以下、実施の形態における再生制御処理について図８に示したフローチャートを用いて説明する。
【００５４】
記録時において描画命令を発行するアプリケーションは、描画機能を有するアプリケーション、例えばマイクロソフト社のパワーポイント等を想定しているが、以下に説明する再生制御部１３は、このようなアプリケーションである必要はない。
【００５５】
再生制御部１３は、起動されたり、ユーザにより指示がされたりすることで再生開始を指示されると、再生が開始された現在時刻をＴ１、また変数Ｔ２の初期値として０を設定する（ステップ１１１）。そして、最終行に達するまで（ステップ１１２でＮ）、以下の処理を繰り返し実行する（ステップ１１２でＹ，１１３〜１２０）。なおＴ１は、再生開始時は再生を開始した実時刻であり、ユーザにより操作指示が実行された後は、最新の操作指示が実行された実時刻を示す。Ｔ２は、最新の操作指示に対応する、記憶部１２に記憶された経過時間であり、再生開始直後は０となる。
【００５６】
まず、次の行（未処理のイベント情報）を記憶部１２から読み込み（ステップ１１３）、そのイベント情報の命令／操作が「ＤＲＡＷ」の場合（ステップ１１４でＹ）、記憶部１２に記憶されている該イベントの経過時間をＴ３に設定する（ステップ１１５）。なお、時間に関する情報はＯＳ１から取得する。そして、現在時刻がＴ３−Ｔ２＋Ｔ１より大きくなるまで待機する（ステップ１１６でＮ）。そして、現在時刻がＴ３−Ｔ２＋Ｔ１を越えると（ステップ１１６でＹ）、再生制御部１３は、処理中のイベント情報に含まれている描画命令をＯＳ１に発行する（ステップ１１７）。なお、Ｔ３は描画しようとする描画命令に対応する、記憶部１２に記憶された経過時間である。
【００５７】
次に読み込んだ行（イベント情報）の命令／操作が「ＯＰＥＲＡＴＩＯＮ」の場合（ステップ１１２でＹ，１１３，１１４でＮ，１１８でＹ）、再生制御部１３は、読み込んだイベント情報に含まれている操作指示と同じ操作指示がユーザから入力されるまで待機する（ステップ１１９でＮ）。そして、同じ操作指示がユーザから入力されると（ステップ１１９でＹ）、再生制御部１３は、現在時刻をＴ１に設定すると共に再生が開始されてからの経過時間でＴ２を更新する（ステップ１２０）
【００５８】
ここで、図４に示した設定例に従って上記再生制御処理を説明する。
【００５９】
順番１〜３のイベント情報の場合、再生制御部１３は、描画命令をＯＳ１に送る。描画命令を送るタイミングは、再生開始の指示を受けた時刻を基準に、経過時間に設定された時間が経過したタイミングで送る。具体的には、順番２の描画命令は順番１の描画命令が発行されてから０．００２秒後である。つまり、０．００２秒経過したことを確認してから発行する。この処理がステップ１１６に相当する。
【００６０】
但し、記録処理の実行環境と再生制御処理の実行環境とに、描画命令の実行速度が異なる場合がある。例えば、順番１の「ＦｉｌｌＲｅｃｔ」命令を呼び出して命令が完了したとき、すでに０．００２秒を超過していることもあり得る。このように次の描画命令を処理しようとする時間が記憶部１２への記録に基づく時間より超過している場合は、次の描画命令を即座に呼び出すことが好適である。例えば、順番１の「ＦｉｌｌＲｅｃｔ」命令を呼び出して当該命令が完了した相対時刻が０．００５秒であった場合、順番２の描画命令をＯＳ１に送るべき経過時間（０．００２秒）を超過している。この場合は順番２の描画命令を即座に送る。
【００６１】
順番４のイベント情報に達すると、これは「ＯＰＥＲＡＴＩＯＮ」のイベント情報であるため、再生制御部１３は、ユーザから同じ操作が入力されるまで待機する。この処理がステップ１１９に相当する。ユーザがマウスの左ボタンを押下したことに相当する操作情報を受け取ると次の順番５のイベント情報を読み込み、待機する。ユーザがマウスの左ボタンを解放したことに相当する操作情報を受け取ると次の順番６のイベント情報を読み込む。順番６のイベント情報は「ＤＲＡＷ」のイベント情報であり、最後のユーザの操作時刻（左ボタンを解放した時刻）を基準とし、当該イベント情報の経過時間「３５．８２３秒」と直前のイベント情報の経過時間「３５．６２０秒」との差に等しい時間、つまり最新の操作指示から０．２０３秒が経過した後に順番６のイベント情報の描画命令を発行する。図４に示した設定例では、これ以降、最後の順番１１まで「ＤＲＡＷ」のイベント情報であるため、再生制御部１３は、直前のユーザの操作時刻を基準とし、この時間と各イベント情報に記録されている経過時間との差（基準時間からの経過時間）、すなわち各経過時間が経過したタイミングで（ステップ１１６）、描画命令を順次発行する（ステップ１１７）。
【００６２】
以上のように、再生制御部１３は、記憶部１２に記録されたイベント情報を参照し、また再生時点におけるユーザの操作時刻と後続の描画情報の経過時間とに基づいて描画命令をＯＳ１に順次に送る。ユーザは、記憶部１２に記録した操作情報と同じ操作をすることにより、同じ表示内容が再現されることになる。
【００６３】
なお、上記説明では、ステップ１１９において、記録時と同じ操作が入力されるまで次の処理を行わずに待機するようにしたが、入力の有無によらず記憶部１２に保持されている経過時間に従って処理を継続し、描画命令を自動的に発行し続けるような動作制御をしてもよい。つまり、再生制御部１３は、操作情報に含まれている時間情報を参照して、当該操作情報が記録されたタイミングで操作されたものとみなして再生させるように制御してもよい。この場合、再生時にはユーザ操作を必要とせずに、記録時と同じ進行で表示装置３における表示内容は更新されていくことになる。操作入力があるまで待機するか否かは、再生開始前にユーザに指定させてもよいし、再生中に切り替える機能を提供してもよい。
【００６４】
また、再生制御部１３は、検索部１４と連携して再生制御を行うが、これに関しては検索部１４の処理機能について説明した後に説明する。
【００６５】
検索部１４は、ユーザにより入力された検索条件や他のアプリケーションから指定された検索条件に基づいて記憶部１２を検索し、指定された検索条件に合致するイベント情報を出力する。
【００６６】
例えば、図４に例示したイベント情報を対象として「情報学」という文字列が含まれている、という検索条件に対して、検索部１４は、順番３，８，１０の描画命令で表示するテキストに「情報学」という文字列が含まれているため、検索条件に合致する順番３，８，１０のイベント情報を出力する。この出力先を表示装置３とした場合、この表示を参照した管理者等は、例えば、図４に例示したイベント情報群が記憶部１２に複数保存されている場合、それらの複数のイベント情報群の中から「情報学」の講義に関連するものを絞り込むことが可能になる。また、編集部１５は、出力されたイベント情報を編集対象として、例えば「情報学」を「情報概論」などと一括置換などの編集を施すことも可能になる。
【００６７】
また、イベント情報に「本日」という文字列を含んでいるか、という検索条件に対して、検索部１４は、順番９の描画情報で表示するテキストに「本日」という文字列が含まれているため、検索条件に合致する順番９のイベント情報を出力する。例えば、この検索指示が再生制御部１３からだとすると、再生制御部１３は、この検索結果に基づいて、例えば順番９のイベント情報から再生を開始する。
【００６８】
なお、この例の場合、ＯＳ１が順番９以降の描画命令のみを再生すると、順番６の描画命令による背景の塗りつぶしや、順番７，８の描画命令による描画が行われないので、本来２ページ目に相当する内容と同じ表示状態は得られない。
【００６９】
そこで、本実施の形態における再生制御部１３は、指定された検索条件に合致する命令情報に動作の区切りとなる命令として予め設定された命令が含まれていない場合、所定の条件に合致する命令情報を探し出し、その探し出した命令情報から再生を開始させるように制御する。ここで、本実施の形態では、動作の区切りとなる命令として「ＦｉｌｌＲｅｃｔ」命令が予め設定されており、所定の条件として、「ＦｉｌｌＲｅｃｔ」命令が複数続いている場合にはその先頭の「ＦｉｌｌＲｅｃｔ」命令に特定する、という内容で予め設定されているものとする。あるいは操作情報の直後の「ＦｉｌｌＲｅｃｔ」を含む描画情報としてもよい。この条件に従うと、順番９の描画命令には「ＦｉｌｌＲｅｃｔ」命令という動作の区切りとなる命令が含まれていないので、再生制御部１３は、順番９から遡って順番６の描画命令を探し出す。これにより、再生制御部１３は、順番６の描画命令から再生を開始することで２ページ目に相当する内容と同じ表示状態を得ることができる。
【００７０】
なお、上記動作の区切りとなる命令及び所定の条件は、描画に適合させて設定した例である。従って、動作の区切りとなる命令及び所定の条件は、アプリケーション２が発する命令群に適合させて適宜設定すればよい。
【００７１】
また、ユーザが任意の時間を検索条件として指定して、イベント情報内でその時間に相当する部分から再生を開始するようにしてもよい。例えば、「３５．８２８秒」以降からの再生開始を指示する場合、順番１０のイベント情報の経過時間がこの指示された時間に等しいので、順番１０以降の描画命令から順次発行する。なお、この場合も上記と同様に順番１０のイベント情報は、上記所定の条件に合致していないので、順番６まで遡って再生を開始するのが都合よい。また、指定された時間に合致する経過時間がない場合、その指定時間直後の経過時間を含むイベント情報から再生を開始するようにしてもよい。例えば、「３５．７００秒」指定された場合、順番６のイベント情報から再生を開始する。
【００７２】
更に、ユーザが操作の種類や、何番目の操作等を検索条件として指定して再生を開始させるようにしてもよい。例えば、検索条件として「１番目のクリック」が指定された場合、順番４の「ＬｅｆｔＢｕｔｔｏｎＤｏｗｎ」と順番５の「ＬｅｆｔＢｕｔｔｏｎＵｐ」の組がこれに相当するので、再生制御部１３は、その直後の順番６の描画命令から再生を開始する。
【００７３】
また、再生制御部１３及び検索部１４の動作の説明の際にも説明したが、編集部１５は、記憶部１２に記憶されているイベント情報を編集する機能を有している。すなわち、編集部１５は、ユーザからの編集指示、または他のアプリケーション等から発行される編集命令を受け取ると、その編集指示（編集命令）により指定されたイベント情報を指定された内容に編集する。あるいは、イベント情報を画面表示してユーザによりマニュアルにて編集させるようにしてもよい。
【００７４】
本実施の形態では、個々の描画情報または操作情報に時間情報を対応付けして１行ずつ記録する形式を採用している。このようにして記録されたイベント情報に対して、個々の描画情報または操作情報の内容の変更、個々の描画情報または操作情報の削除、描画情報または操作情報の新規追加などの変更を加える。また、複数のイベント情報群を統合したり、あるいはイベント情報群を分割したりしてもよい。更に、本実施の形態では、記録部１１を用い命令等を取得してイベント情報を作成するようにしたが、記録部１１を用いずにイベント情報を入力して作成するようにしてもよい。
【００７５】
以上説明したように、本実施の形態においては、アプリケーション２から発せられた命令を記録し、その記録した命令を再生し、更に検索、編集することができる。そして、前述したように記録と再生とを別装置にて行うようにしてもよい。上記説明では、再生時に描画命令をそのままＯＳ１に送っているが、再生制御部１３が動作する環境に適合するように命令を加工してからＯＳ１に送ることも可能である。例えば、記録部１１が動作した環境と、再生制御部１３が動作する環境とでＯＳが異なる場合、記憶部１２に記憶されている描画命令群を、再生する環境のＯＳが備える描画命令群に変換して再生制御部１３が利用できるようにするのが好ましい。また、表示装置３の解像度が異なる場合、描画命令に含まれる座標値を変換して送ることが好ましい。
【００７６】
なお、本実施の形態では、アプリケーション２が発する命令として表示装置３に表示させるための描画命令を扱う場合を例にして説明したが、命令として描画命令に限定する必要はない。例えば、スピーカを有する装置に対する命令として、アプリケーション２は、音出力命令等を出力するようにしてもよい。また、描画命令を表示装置３以外に印刷装置に出力するようにしてもよい。
【００７７】
また、上記説明では、アプリケーション２がＯＳ１に発行する描画命令を元にイベント情報を記録する例を説明した。つまり、ＯＳ１が受け取る描画命令を検知して記憶部１２に記録するようにしたが、情報処理装置の表示画面に表示を行わせるためにアプリケーション２が発行する命令あるいは信号に基づくＯＳ１の出力を記録するように構成してもよい。例えば、デバイスドライバに記録部１１としての機能を持たせて、アプリケーション２からＯＳ１を経由してデバイスドライバに発行される描画命令を記憶部１２に記録させるようにしてもよい。また、本実施の形態では、装置の動作を制御するソフトウェアとしてＯＳ１を例にして説明したが、デバイスドライバ等の他のソフトウェアも装置の動作を制御するソフトウェアになり得る。
【００７８】
また、上記説明では、記録時における構成（図１）と再生時における構成（図７）とに分けて説明したが、これらを統合して構成してもよい。
【符号の説明】
【００７９】
１  オペレーティングシステム（ＯＳ）、２  アプリケーション、３  表示装置、４  入力装置、１１  記録部、１２  記憶部、１３  再生制御部、１４  検索部、１５  編集部、２１  ＣＰＵ、２２  ＲＯＭ、２３  ＲＡＭ、２４  ハードディスクドライブ（ＨＤＤ）、２５  マウス、２６  キーボード、２７  ディスプレイ、２８  入出力コントローラ、２９  ネットワークコントローラ、３０  内部バス。
【図１】
2017037374.tif 000003
【図２】
2017037374.tif 000004
【図３】
2017037374.tif 000005
【図４】
2017037374.tif 000006
【図５】
2017037374.tif 000007
【図６】
2017037374.tif 000008
【図７】
2017037374.tif 000009
【図８】
2017037374.tif 000010