(57)【特許請求の範囲】
【請求項１】
処理要求を行うための入力操作がされた時刻を記録する操作時刻記録手段と、
表示部の所定の領域に表示された第１の画像データを取得する画像取得手段であって、前記第１の画像データが取得された時刻を前記第１の画像データと対応付けて取得する画像取得手段と、
前記画像取得手段で取得された前記第１の画像データと、予め登録された第１の基準画像データとが一致するか否かを判定する判定手段と、
前記判定手段で前記第１の画像データと前記第１の基準画像データとが一致すると判定された場合、該第１の画像データと対応付けて取得された時刻と前記入力操作がされた時刻とに基づき、前記処理要求に対する応答時間を算出する応答時間算出手段と、
を有する情報処理装置。
【請求項２】
前記判定手段は、前記第１の画像データに対応する画像と、前記第１の基準画像データに対応する画像との比較の結果が所定の範囲内にある場合、前記第１の画像データと前記第１の基準画像データとが一致すると判定する、請求項１記載の情報処理装置。
【請求項３】
前記判定手段は、前記第１の画像データに対応する画像の特定の部分と、前記第１の基準画像データに対応する画像の特定の部分との比較の結果が所定の範囲内にある場合、前記第１の画像データと前記第１の基準画像データとが一致すると判定する、請求項１記載の情報処理装置。
【請求項４】
前記情報処理装置は、前記処理要求に対する処理を実行するサーバ装置とネットワークを介して接続されており、
前記処理要求が前記サーバ装置に送信された時刻を記録する送信時刻記録手段と、
前記処理要求に対する応答結果が前記サーバ装置から受信された時刻を記録する受信時刻記録手段と、
を有し、
前記応答時間算出手段は、
前記判定手段で前記第１の画像データと前記第１の基準画像データとが一致すると判定された場合、該第１の画像データと対応付けて取得された時刻と前記入力操作がされた時刻とに基づき、前記処理要求に対する応答時間を算出すると共に、前記送信時刻記録手段により記録された前記送信された時刻と前記受信時刻記録手段により記録された前記受信された時刻とに基づき、ネットワーク通信に要した時間を算出する、請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
画像取得手段は、更に、
前記表示部の所定の領域に表示された第２の画像データを取得し、該第２の画像データが取得された時刻を前記第２の画像データと対応付けて取得し、
前記判定手段は、更に、
前記表示部の所定の領域に表示される第２の画像データと、予め登録された第２の基準画像データとが一致するか否かを判定し、
前記応答時間算出手段は、
前記判定手段で前記第１の画像データと前記第１の基準画像データとの一致が判定され、かつ、前記第２の画像データと前記第２の基準画像データとの不一致が判定された場合、該第１の画像データが取得された時刻と前記第２の画像データが取得された時刻とに基づき、前記処理要求に対する応答時間を算出する、請求項１記載の情報処理装置。
【請求項６】
前記判定手段は、
前記第１の画像データに対応する画像と、前記第１の基準画像データの対応する画像との比較の結果が所定の範囲内にある場合、前記第１の画像データと前記第１の基準画像データとが一致すると判定し、
前記第２の画像データに対応する画像と、前記第２の基準画像データに対応する画像との比較の結果が所定の範囲内にない場合、前記第２の画像データと前記第２の基準画像データとは一致しないと判定する、請求項５記載の情報処理装置。
【請求項７】
前記判定手段は、
前記第１の画像データに対応する画像の特定の部分と、前記第１の基準画像データに対応する画像の特定の部分との比較の結果が所定の範囲内にある場合、前記第１の画像データと前記第１の基準画像データとが一致すると判定し、
前記第２の画像データに対応する画像の特定の部分と、前記第２の基準画像データに対応する画像の特定の部分との比較の結果が所定の範囲内にない場合、前記第２の画像データと前記第２の基準画像データとは一致しないと判定する、請求項５記載の情報処理装置。
【請求項８】
コンピュータに、
処理要求を行うための入力操作がされた時刻を記録する操作時刻記録手順、
表示部の所定の領域に表示された第１の画像データを取得する画像取得手段であって、前記第１の画像データが取得された時刻を前記第１の画像データと対応付けて取得する画像取得手順、
前記画像取得手順で取得された前記第１の画像データと、予め登録された第１の基準画像データとが一致するか否かを判定する判定手順、
前記判定手順で前記第１の画像データと前記第１の基準画像データとが一致すると判定された場合、該第１の画像データと対応付けて取得された時刻と前記入力操作がされた時刻とに基づき、前記処理要求に対する応答時間を算出する応答時間算出手順、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
ユーザによる入力操作がなされてから処理結果の応答が表示されるまでの応答時間を測定する技術が従来より知られている（例えば特許文献１参照）。ここで、従来の技術では、ディスプレイに表示された画像情報の変化を検知して、この変化が検知された時刻をプログラムの動作開始時刻又は動作終了時刻とすることで応答時間を測定している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３８６１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、応答時間の測定精度が高くないといった問題があった。すなわち、上記の従来技術では、プログラムの動作終了時刻について、一定時間毎に画像情報が変化したか否かを判定している。したがって、測定された応答時間とユーザが実際に体感する応答時間との間に乖離が生じる場合がある。
【０００５】
また、上記の従来技術では、画像情報の変化が検知された時刻を動作開始時刻又は動作終了時刻としているため、様々な画面構成を有するプログラムに柔軟に対応することができないといった問題もあった。例えば、ある画面において画像情報の変化が検知された場合、画像情報が変化した後の画面がプログラムの動作終了を示す画面なのか否かを判別することができなかった。
【０００６】
一実施形態は、上記の点に鑑みてなされたもので、処理要求に対する応答時間を測定することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、一実施形態では、処理要求を行うための入力操作がされた時刻を記録する操作時刻記録手段と、表示部の所定の領域に表示された第１の画像データを取得する画像取得手段であって、前記第１の画像データが取得された時刻を前記第１の画像データと対応付けて取得する画像取得手段と、前記画像取得手段で取得された前記第１の画像データと、予め登録された第１の基準画像データとが一致するか否かを判定する判定手段と、前記判定手段で前記第１の画像データと前記第１の基準画像データとが一致すると判定された場合、該第１の画像データと対応付けて取得された時刻と前記入力操作がされた時刻とに基づき、前記処理要求に対する応答時間を算出する応答時間算出手段と、を有する。
【発明の効果】
【０００８】
一実施形態によれば、処理要求に対する応答時間を測定することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る応答時間測定システムの一例を示す構成図である。
【図２】本実施形態に係る端末装置の一例のハードウェア構成図である。
【図３】本実施形態に係る端末装置の一例の機能ブロック図である（第１の実施例）。
【図４】本実施形態の概略の一例を説明するための図である（第１の実施例）。
【図５】本実施形態に係る全体処理の一例のシーケンス図である（第１の実施例）。
【図６】本実施形態に係る応答時間の算出処理の一例のフローチャートである。
【図７】本実施形態に係る端末装置の一例の機能ブロック図である（第２の実施例）。
【図８】本実施形態の概略の一例を説明するための図である（第２の実施例）。
【図９】本実施形態に係る全体処理の一例のシーケンス図である（第２の実施例）。
【図１０】本実施形態に係る応答時間の算出処理の一例のフローチャートである（第２の実施例）。
【発明を実施するための形態】
【００１０】
次に、実施の形態について、図面を参照しながら詳細に説明する。
【００１１】
（第１の実施例）
＜システム構成＞
まず、本実施形態に係る応答時間測定システム１のシステム構成について説明する。
【００１２】
図１は、本実施形態に係る応答時間測定システムの一例を示す構成図である。図１に示されるように、応答時間測定システム１は、端末装置１０と、サーバ装置２０とが有線又は無線でネットワークＮ１に接続されている。
【００１３】
端末装置１０は、ユーザの入力操作に応じて、サーバ装置２０に対して処理要求を行い、この処理要求に対する処理応答をサーバ装置２０から受け取る。また、端末装置１０は、ユーザが入力操作を行ってから処理応答に対応する結果がディスプレイ等に表示されるまでの応答時間を測定する。端末装置１０は、情報処理装置の一例であり、例えば、ノートＰＣ（Personal  Computer）、デスクトップＰＣ、タブレット端末、スマートフォン等である。また、端末装置１０は、例えば、ゲーム機、ＰＤＡ、カーナビケーション端末等の種々の電子機器であってもよい。
【００１４】
サーバ装置２０は、端末装置１０から処理要求を受け取り、この受け取った処理要求に対応する各種処理を実行した後、処理応答を端末装置１０に行う。サーバ装置２０は、サーバ装置の一例であり、例えば、ノートＰＣ、デスクトップＰＣ、メインフレーム等の汎用系システム等である。
【００１５】
なお、図１に示される応答時間測定システム１は、端末装置１０及びサーバ装置２０をそれぞれ１台ずつ有する構成を一例として示したが、これに限られず、端末装置１０及び／又はサーバ装置２０を２台以上有する構成であってもよい。
【００１６】
また、端末装置１０及びサーバ装置２０は、１台の情報処理装置で構成されていてもよい。すなわち、本実施形態に係る応答時間測定システム１は、ネットワークＮ１を介して接続された端末装置１０とサーバ装置２０との間の応答時間を測定する場合に限られず、１つの情報処理装置内における処理要求に対する応答時間を測定する場合にも適用され得る。
【００１７】
＜ハードウェア構成＞
次に、本実施形態に係る端末装置１０のハードウェア構成について説明する。
【００１８】
図２は、本実施形態に係る端末装置の一例のハードウェア構成図である。端末装置１０は、入力装置１１と、表示装置１２と、外部Ｉ／Ｆ１３と、ＲＡＭ（Random  Access  Memory）１４と、ＲＯＭ（Read  Only  Memory）１５と、ＣＰＵ（Central  Processing  Unit）１６と、通信Ｉ／Ｆ１７と、ＨＤＤ（Hard  Disk  Drive）１８とを備え、それぞれがバスＢで相互に接続されている。
【００１９】
入力装置１１は、キーボードやマウス、タッチパネル等を含み、端末装置１０に各操作信号を入力するのに用いられる。表示装置１２は、ＬＣＤ（Liquid  Crystal  Display）又はＣＲＴ（Cathode  Ray  Tube）等を含み、端末装置１０による処理結果を表示する。
【００２０】
外部Ｉ／Ｆ１３は、外部装置とのインタフェースである。外部装置には、記録媒体１３ａ等がある。記憶媒体１３ａには、本実施形態を実現するプログラムを格納することができる。端末装置１０は外部Ｉ／Ｆ１０３を介して、記録媒体１３ａの読み取り及び／又は書き込みを行うことができる。
【００２１】
記録媒体１３ａにはＵＳＢメモリ（Universal  Serial  Bus  memory）、ＳＤメモリカード（SD  Memory  card）、ＤＶＤ（Digital  Versatile  Disk）、ＣＤ（Compact  Disk）、フレキシブルディスク等の記録媒体を用いることができる。
【００２２】
ＲＡＭ１４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１５には、端末装置１０の起動時に実行されるＢＩＯＳ（Basic  Input／Output  System）、ＯＳ（Operating  System）設定、及びネットワーク設定等のプログラムやデータが格納されている。
【００２３】
ＣＰＵ１６は、ＲＯＭ１５やＨＤＤ１８等の記憶装置からプログラムやデータをＲＡＭ１４上に読み出し、処理を実行することで、端末装置１０全体の制御や機能を実現する演算装置である。
【００２４】
通信Ｉ／Ｆ１７は、ネットワークに接続するインタフェースである。端末装置１０は、通信Ｉ／Ｆ１７を介してデータ通信を行うことができる。なお、通信Ｉ／Ｆ１０７による通信は有線通信であっても無線通信であってもよい。
【００２５】
ＨＤＤ１８は、プログラム及び／又はデータを格納している不揮発性の記憶装置である。格納されるプログラム及び／又はデータには、例えば、端末装置１０全体を制御する基本ソフトウェアであるＯＳ、ＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。ＨＤＤ１８は、格納しているプログラム及び／又はデータを所定のファイルシステム及び／又はＤＢ（Data  Base）により管理している。なお、端末装置１０は、ＨＤＤ１８に代えて、例えばＳＳＤ（Solid  State  Drive）等を有していてもよい。
【００２６】
本実施形態に係る端末装置１０は、例えば上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００２７】
＜ソフトウェア構成＞
次に、本実施形態に係る端末装置１０のソフトウェア構成について説明する。
【００２８】
図３は、本実施形態に係る端末装置の一例の機能ブロック図である（第１の実施例）。端末装置１０は、基準画像登録部１０１と、入力情報記録部１０２と、時刻取得部１０３と、データ生成部１０４と、画像解析部１０５と、応答時間算出部１０６と、表示部１０７とを有する。また、端末装置１０は、基準画像データ記憶部１０８と、入力情報時刻データ記憶部１０９と、データ記憶部１１０とを利用する。なお、これらの各記憶部の全部又は一部は、ＨＤＤ１０８又は端末装置１０とネットワークＮ１を介して接続される記憶装置により実現される。
【００２９】
基準画像登録部１０１は、応答時間を測定するための基準画像データを基準画像データ記憶部１０８に記憶させる。ここで、本実施例において、基準画像データ記憶部１０８に記憶される基準画像データは、例えば、終了時刻を特定するための画像データであり、端末装置１０がサーバ装置２０から処理応答を受け取ったときに表示装置１２に表示される画面の画像データである。
【００３０】
入力情報記録部１０２は、ユーザが入力装置１１を介して入力した入力操作に関する情報（入力操作情報）を入力情報時刻データ記憶部１０９に記憶させる。換言すれば、入力情報記録部１０２は、例えば、いわゆるキーロガーであり、ユーザが入力装置１１を介して入力した入力操作情報をログとして記録する。このとき、入力情報記録部１０２は、時刻取得部１０３から入力操作が行われた時刻情報を取得し、入力操作情報と、この入力操作に対応する時刻情報とを入力情報時刻データ記憶部１０９に記憶させる。すなわち、入力情報時刻データは、ユーザが入力装置１１を介して入力した入力操作情報と、この入力操作が行われた時刻情報とを含むデータである。
【００３１】
時刻取得部１０３は、他の各部からの要求に応じて時刻情報を返信する。例えば、時刻取得部１０３は、入力情報記録部１０２又はデータ生成部１０４からの要求に応じて、現在時刻の情報を返信する。
【００３２】
データ生成部１０４は、ユーザからの要求に応じて、端末装置１０の表示装置１２に表示された情報から動画データを生成し、データ記憶部１１０に記憶させる。例えば、データ生成部１０４は、いわゆる動画キャプチャであり、ユーザ又はプログラム等からの動画キャプチャ開始指示を受け付けてから動画キャプチャ終了指示を受け付けるまでの間において表示部１０７が表示装置１２に表示させた情報（画像データ）を録画（取得）して、動画データを生成する。なお、このとき、データ生成部１０４は、各フレーム（画像データ）毎に、フレームを取得した時刻を時刻取得部１０３から取得して、動画データを生成する。すなわち、データ生成部１０４により生成される動画データは、複数のフレーム（画像データ）と、これらのフレームを取得した時刻情報とを含むデータである。
【００３３】
なお、データ生成部１０４は、動画データに限られず、静止画データを生成し、データ記憶部１１０に記憶させてもよい。例えば、データ生成部１０４は、ユーザ又はプログラム等からの指示を受け付けて、表示部１０７が表示装置１２に表示させた情報（画像データ）を取得して、静止画データを生成する。このとき、上記と同様に、データ生成部１０４は、画像データを取得した時刻を時刻取得部１０３から取得して、静止画データを生成する。すなわち、データ生成部１０４により生成される静止画データは、一の画像データと、この画像データを取得した時刻情報とを含むデータである。以降では、データ生成部１０４は、動画データを生成するものとして説明するが、静止画データに対しても本実施形態は同様に適用される。
【００３４】
画像解析部１０５は、基準画像データと、動画データに含まれる各フレームとが一致するか否かを判定する。
【００３５】
応答時間算出部１０６と、入力情報時刻データ記憶部１０９から取得した該当の入力操作に対応する時刻情報（開始時刻）と、画像解析部１０５により基準画像データと一致するフレームを取得した時刻情報（終了時刻）とから処理要求に対する応答時間を算出する。
【００３６】
表示部１０７は、各種入力操作や処理応答等に基づき、表示装置１２に各種画面を表示させる。例えば、表示部１０７は、サーバ装置２０から処理応答を受け取ると、この処理応答に対応する画面を表示装置１２に表示させる。
【００３７】
＜概略＞
次に、本実施形態に係る応答測定システム１の概略について説明する。
【００３８】
図４は、本実施形態の概略の一例を説明するための図である（第１の実施例）。まず、端末装置１０のディスプレイ等には、入力操作を受け付けるための画面Ａが表示されているものとする。
【００３９】
ステップＳ１において、ユーザが入力装置１１を介してサーバ装置２０に処理要求を行うための入力操作を行う。
【００４０】
ステップＳ２において、端末装置１０は、ユーザにより行われた入力操作に対応する処理要求をサーバ装置２０に送信する。
【００４１】
ステップＳ３において、サーバ装置２０は、端末装置１０から処理要求を受け取ると、受け取った処理要求に対応する処理を実行する。
【００４２】
ステップＳ４において、サーバ装置２０は、処理応答を端末装置１０に返す。
【００４３】
ステップＳ５において、端末装置１０は、サーバ装置２０から処理応答を受け取ると、処理結果を表す画面Ｂに画面遷移する。これにより、ユーザが入力操作を行ってからこの入力操作に対する結果が表示されるまでの一連の動作が完了する。
【００４４】
第１の実施例に係る応答時間測定システム１では、上記で説明した一連動作に要した時間、すなわち、ユーザが入力操作を行ってから画面Ｂが表示されるまでの時間（応答時間）を測定する。これにより、ユーザが実際に体感する処理待ち時間により近い応答時間が測定される。
【００４５】
＜処理の詳細＞
次に、第１の実施例に係る応答時間測定システム１の処理の詳細について説明する。
【００４６】
≪全体処理≫
図５は、本実施形態に係る全体処理の一例のシーケンス図である（第１の実施例）。
【００４７】
ステップＳ５０１において、ユーザは、端末装置１０の入力装置１１を介して基準画像データの登録を指示する。すると、端末装置１０の基準画像登録部１０１は、ユーザにより指示された基準画像データを基準画像データ記憶部１０８に記憶させる。
【００４８】
ここで、基準画像データは、例えば、上記の概略で説明した「画面Ｂ」を表す画像データであり、端末装置１０が処理応答を受け取ったときに表示装置１２に表示される処理結果を表す画面の画像データである。このような基準画像データは、例えば、前述した「画面Ｂ」の場合、ハードコピーや画面キャプチャにより生成することができる。なお、基準画像データは、表示装置１２の全体に表示される画像データ（すなわち、画面全体）に限られず、表示装置１２に表示される画像データの一部（すなわち、画面の一部）であってもよい。あるいは、基準画像データは、表示部１０７により表示される画面全体の所定の領域に表示される画像データであってもよい。例えば、端末装置１０が処理応答を受け取ると、「画面Ａ」の所定の領域に処理が完了したことを示す「メッセージ」が表示される場合、基準画像データは、この「メッセージ」の画像データであってもよい。
【００４９】
ステップＳ５０２において、ユーザは、端末装置１０の入力装置１１を介して、動画データを生成するための動画キャプチャ開始指示を行う。すると、データ生成部１０４は、表示部１０７が端末装置１０の表示装置１２に表示させる情報の録画（取得）を開始する。このとき、データ生成部１０４は、動画データを構成するフレームを取得する毎に、フレームが取得された時刻情報を時刻取得部１０３から取得して、この時刻情報を各フレームと対応付けて動画データを生成する。なお、生成される動画データのフレームレートは、任意の値を用いてよい。ただし、生成される動画データのフレームレート値が高い程、高精度で応答時間の測定が可能であるため、３０ｆｐｓ以上であることが好ましい。なお、動画キャプチャの開始指示は、ユーザが入力装置１１を介して行うことに限定されず、例えば、所定のプログラム等が行ってもよい。
【００５０】
ステップＳ５０３において、ユーザは、端末装置１０の入力装置１１を介して、サーバ装置２０に処理要求を行うための入力操作を行う。すると、入力情報記録部１０２は、ユーザが入力操作を行った時刻情報を時刻取得部１０３から取得し、この時刻情報をユーザが入力した入力操作情報と関連付けて入力情報時刻データ記憶部１０９に記憶させる。ユーザがプログラムＡのユーザインタフェース画面Ａにおいて、１４時０１分５６秒にエンターキーを押下した場合、入力情報時刻データ記憶部１０９に記憶される情報は、例えば、「プログラムＡ，画面Ａ，Ｅｎｔｅｒ  １４：０１：５６」といった情報である。このように記録された時刻情報が開始時刻であり、後述する終了時刻との差分を計算することで、応答時間が算出される。
【００５１】
なお、上記において、端末装置１０がサーバ装置２０に対して送信する処理要求はどのような処理要求であってもよい。一例としては、端末装置１０上で動作するサーバ装置２０の仮想端末プログラムがサーバ装置２０の機能を利用するための処理要求などが挙げられる。
【００５２】
ステップＳ５０４において、ユーザにより処理要求を行うための入力操作がなされると、端末装置１０は、この入力操作に応じた処理要求をサーバ装置２０に送信する。なお、端末装置１０は、処理要求をサーバ装置２０に送信した時刻情報と、後述するステップＳ５０６においてサーバ装置２０から送信される処理応答を受信した時刻情報とを時刻取得部１０３から取得して、記憶装置等に記憶させてもよい（すなわち、処理要求及び処理応答のネットワークログを記録してもよい）。これにより、ネットワーク通信に通信に要した時間を測定することができるため、例えば、測定された応答時間が大きかった場合等において、端末装置１０の処理に時間が掛かっているのか、又はネットワーク通信で時間が掛かっているのか等の特定を行うことができる。
【００５３】
ステップＳ５０５において、サーバ装置２０は、端末装置１０から処理要求を受け取ると、この処理要求に対応する処理を実行する。例えば、サーバ装置２０は、処理要求を受け取ると、対応するアプリケーションプログラムを実行する。また、サーバ装置２０は、処理要求を受け取ると、さらに他の装置等に処理を依頼してもよい。
【００５４】
ステップＳ５０６において、サーバ装置２０は、受け取った処理要求に対応する処理が完了すると、処理応答を端末装置１０に送信する。
【００５５】
ステップＳ５０７において、サーバ装置２０から処理応答を受け取ると、端末装置１０の表示部１０７は、処理結果を表す画面に画面遷移させる。例えば、表示部１０７は、上記の概略で説明したように、「画面Ａ」から「画面Ｂ」に画面を遷移させる。これにより、ユーザは、自身が行った入力操作に対する処理が完了したことを認識する。
【００５６】
ステップＳ５０８において、ユーザは、端末装置１０の入力装置１１を介して、動画キャプチャ終了指示を行う。すると、データ生成部１０４は、動画データの生成を終了させ、生成した動画データをデータ記憶部１１０に記憶させる。これにより、動画キャプチャ開始指示後から動画キャプチャ終了指示がなされる間において端末装置１０の表示装置１２に表示された情報が動画データとして記録される。後述する処理において、この動画データから終了時刻が取得され、前述した開始時刻との差分を計算することで、応答時間が算出される。
【００５７】
ステップＳ５０９において、端末装置１０の画像解析部１０５及び応答時間算出部１０６は、応答時間算出処理を実行し、応答時間を算出する。算出された応答時間は、例えば、表示部１０７により表示装置１２に表示される。これにより、ユーザは、自身が行った入力操作を行った後、この入力操作に対応する処理が完了するまでに掛かった時間（すなわち、応答時間）を知ることができる。このように算出された応答時間は、例えば、応答時間を短縮するための資料やサービスに対するＳＬＡ（Service  Level  Agreement）を規定するための資料等に用いることができる。
【００５８】
≪応答時間の算出処理≫
図５におけるステップＳ５０９の「応答時間算出処理」について説明する。
【００５９】
図６は、本実施形態に係る応答時間の算出処理の一例のフローチャートである（第１の実施例）。
【００６０】
ステップＳ６０１において、端末装置１０の応答時間算出部１０６は、入力情報時刻データ記憶部１０９から該当の入力操作情報の時刻情報を取得する。すなわち、応答時間算出部１０６は、図５のステップＳ５０３で説明した、サーバ装置２０に処理要求を行うための入力操作が行われた時刻情報を取得する。これは、例えば、サーバ装置２０に処理要求を行うためのプログラム名、このプログラムにおけるユーザインタフェース画面、この画面において行われた操作キーの情報等に基づき取得することができる。この処理において取得された時刻情報を「開始時刻」と表す。
【００６１】
ステップＳ６０２において、端末装置１０の画像解析部１０５は、データ記憶部１１０に記憶されている動画データの各フレーム毎に、基準画像データ記憶部１０８に記憶されている基準画像データと一致するか否かを判定する。
【００６２】
ここで、動画データに含まれるある１つのフレーム（以降、「フレームデータ」と表す）と、基準画像データとが一致するか否かの判定方法は、例えば、以下のようなものが挙げられる。このような判定は、各フレームデータに対応付けられた時刻情報の順に行えばよい。なお、基準画像データが表示装置１２に表示される画面の一部の範囲に対応する画像データである場合は、フレームデータの対応する範囲の部分を切り出した画像データと、基準画像データとが一致するか否かを判定する。以降では、フレームデータの一部の範囲を切り出した画像データも「フレームデータ」と表す。
（１）フレームデータの各画素値と、基準画像データの対応する各画素値とが一致するか否かを判定する。なお、フレームデータの各画素値と、基準画像データの対応する各画素値とが完全に一致する場合だけでなく、所定の範囲内にある場合にも一致すると判定してもよい。例えば、フレームデータと基準画像データとがＲＧＢ色空間である場合、基準画像データのＲ成分の値とフレームデータのＲ成分の値とが−３から＋３の範囲内ある場合は一致すると判定してもよいし、さらに、それぞれのＧ成分の値又は／及びＢ成分の値が−５から＋５の範囲内にある場合は一致すると判定してもよい。
（２）フレームデータの特定の部分と、基準画像データの特定の部分とが一致するか否かを判定する。ここで、特定の部分とは、例えば、フレームデータ及び基準画像データにおける画素値の位置をＸＹ座標で表した場合に、予め定められたａ１＜Ｘ＜ａ２及びｂ１＜Ｙ＜ｂ２の範囲にある各画素値である。したがって、フレームデータ及び基準画像データそれぞれ特定の部分の各画素値が、一致する又は所定の範囲内にある場合は、一致すると判定すればよい。
（３）パターンマッチングによりフレームデータと、基準画像データとが一致するか否かを判定する。例えば、基準画像データとフレームデータとを重ねて２つの画像データの相関を調べて、所定の範囲内の相関である場合に、一致すると判定する。
（４）統計的識別法によりフレームデータと、基準画像データとが一致するか否かを判定する。例えば、フレームデータ及び基準画像データそれぞれの特徴ベクトルに基づき、あるカテゴリの同時生起確率を算出し、フレームデータ及び基準画像データのそれぞれが属するカテゴリを決定する。そして、フレームデータと基準画像データとが同一のカテゴリに属するか否かにより、一致するか否かを判定する。なお、特徴ベクトルは、フレームデータ及び基準画像データの一部の特徴を示す局所的な特徴ベクトルであってもよい。
（５）構造識別法によりフレームデータと、基準画像データとが一致するか否かを判定する。例えば、フレームデータ及び基準画像データの構造解析を行い、それぞれの構造をグラフ化する。そして、それぞれのグラフの類似度が所定の範囲内である場合に、一致すると判定する。フレームデータ及び基準画像データの構造としては、例えば、エッジや特徴点等が挙げられる。なお、構造識別法は、分岐点主導型や線分主導型などのいずれの方法を用いてもよい。
【００６３】
フレームデータと基準画像データとが一致するか否かの判定方法は、上記に述べた（１）〜（５）の方法に限られものではなく、複数の画像データの一致度あるいは類似度等を判定する種々の方法を用いることができる。
【００６４】
ステップＳ６０３において、端末装置１０は、基準画像データと一致するフレームが存在する場合、ステップＳ６０４の処理に進む一方、一致するフレームが存在しない場合、処理を終了させる。なお、一致するフレームが存在しないと判定された場合、表示部１０７は、表示装置１２にエラーを示す画面等を表示させてもよい。
【００６５】
ステップＳ６０４において、端末装置１０の応答時間算出部１０６は、上記のステップＳ６０２において基準画像データと一致すると判定されたフレームデータを取得した時刻情報を動画データから取得する。ここで、基準画像データと一致すると判定されたフレームデータは、端末装置１０がサーバ装置２０から処理応答を受け取った後に表示させる処理結果を表す画面の画像データである。したがって、基準画像データと一致すると判定されたフレームデータが取得された時刻情報を「終了時刻」と表す。
【００６６】
ここで、上記のステップＳ６０２で説明したように、例えばそれぞれの画素値が所定の範囲内にあるときにも一致すると判定する場合、基準画像データと一致すると判定されたフレームデータが複数存在する場合もある。このような場合、一致すると判定された複数のフレームデータに対応付けられている複数の時刻情報のうち、最も古い時刻情報（すなわち、複数のフレームデータのうち最初に取得されたフレームデータの時刻情報）を取得すればよい。
【００６７】
ステップＳ６０５において、端末装置１０の応答時間算出部１０６は、開始時刻と終了時刻から応答時間を算出する。すなわち、応答時間算出部１０６は、終了時刻と開始時刻の差分を計算することで、応答時間を算出する。これにより、ユーザがサーバ装置２０に対して処理要求を行うための入力操作を行った後、この処理要求に対す処理結果を表す画面が表示されるまでの時間（応答時間）が測定される。このように測定された応答時間は、ユーザが実際に入力操作を行ってから、処理結果を表す画面が表示されるまでの応答時間であるため、ユーザが体感する待ち時間をより適切に表したものであるということができる。
【００６８】
なお、本実施形態では、動画データを生成した後、応答時間の算出処理を行っているが、動画データの生成と応答時間の算出とは並列して処理を行うようにしてもよい。すなわち、動画キャプチャで動画データを生成しつつ、この動画データの生成されたフレームに対して逐次、図６の応答時間の算出処理を実行してもよい。
【００６９】
さらに、動画データを生成することは、必ずしも要しない。すなわち、画面の所定の領域（画面全体であっても、画面の一部であってもよい）と、基準画像データとに対して、逐次、図６の応答時間の算出処理を実行してもよい。
【００７０】
以上のように本実施例では、入力操作と処理結果の表示、すなわち、ユーザインタフェースを基準に応答時間が算出される。したがって、動作ログのみに基づき応答時間が算出される場合と比べて、ユーザが実際に体感する待ち時間により近い応答時間を算出することができる。このことは、例えば、処理応答をサーバ装置２０から受け取った後、端末装置１０において処理結果が表示装置１２に表示されるまでに時間を要する場合などにおいてより顕著である。
【００７１】
（第２の実施例）
次に、本実施形態に係る応答時間測定システム１の第２の実施例について説明する。第２の実施例においては、開始時刻をユーザが入力操作を行った時刻とするのではなく、基準画像データ（開始基準画像データ）と異なる画面に遷移した場合に、この異なる画面を表す画像データを取得した時刻情報を開始時刻とする点が第１の実施例と異なる。なお、第２の実施例のシステム構成及びハードウェア構成は、第１の実施例と同様であるため、説明を省略する。
【００７２】
＜ソフトウェア構成＞
第２の実施例に係る端末装置１０のソフトウェア構成について説明する。
【００７３】
図７は、本実施形態に係る端末装置の一例の機能ブロック図である（第２の実施例）。図３に示される端末装置１０は、入力情報記録部１０２を有しない点、基準画像登録部１１１の機能、及び基準画像データ記憶部１１２に２つの基準画像データが記憶される点が第１の実施例と異なる。
【００７４】
基準画像登録部１１１は、開始時刻を特定するための開始基準画像データと、終了時刻を特定するための終了基準画像データとを基準画像データ記憶部１１２に記憶させる。ここで、終了基準画像データは、第１の実施例における「基準画像データ」と同様であり、終了時刻を特定するための画像データであり、例えば、端末装置１０がサーバ装置２０から処理応答を受け取ったときに表示装置１２に表示される画面の画像データである。他方、開始基準画像データは、開始時刻を特定するための画像データであり、端末装置１０がサーバ装置２０に処理要求を行うための入力操作を受け付ける画面の画像データである。
【００７５】
＜概略＞
次に、第２の実施例の応答測定システム１の概略について説明する。
【００７６】
図８は、本実施形態の概略の一例を説明するための図である（第２の実施例）。まず、端末装置１０のディスプレイ等には、入力操作を受け付けるための画面Ａが表示されているものとする。
【００７７】
ステップＳ１１において、ユーザが入力装置１１を介してサーバ装置２０に処理要求を行うための入力操作を行う。
【００７８】
ステップＳ１２において、端末装置１０は、ユーザにより行われた入力操作に対応する処理要求をサーバ装置２０に送信する。
【００７９】
ステップＳ１３において、端末装置１０は、入力操作を受け付けたことを表す画面Ａ’に画面遷移する。ここで、画面Ａ’は、画面Ａとは全く異なる画面であってもよいし、例えば画面Ａの所定の領域に入力操作を受け付けたことを示す「メッセージ」が表示されたような画面であってもよい。
【００８０】
ステップＳ１４において、サーバ装置２０は、端末装置１０から処理要求を受け取ると、受け取った処理要求に対応する処理を実行する。
【００８１】
ステップＳ１５において、サーバ装置２０は、処理応答を端末装置１０に返す。
【００８２】
ステップＳ１６において、端末装置１０は、サーバ装置２０から処理応答を受け取ると、処理結果を表す画面Ｂに画面遷移する。これにより、ユーザが入力操作を行ってからこの入力操作に対する結果が表示されるまでの一連の動作が完了する。
【００８３】
第２の実施例に係る応答時間測定システム１では、上記で説明した一連動作に要した時間、すなわち、ユーザが入力操作を行って画面Ａ’に画面遷移してから画面Ｂが表示されるまでの時間（応答時間）を測定する。これにより、ユーザが実際に体感する処理待ち時間により近い応答時間が測定される。
【００８４】
＜処理の詳細＞
次に、第２の実施例に係る応答時間測定システム１の処理の詳細について説明する。なお、以降では、第１の実施例と同様の処理を行う箇所については、適宜説明を省略又は簡略化する。
【００８５】
≪全体処理≫
図９は、本実施形態に係る全体処理の一例のシーケンス図である（第１の実施例）。
【００８６】
ステップＳ９０１において、端末装置１０の入力装置１１を介して開始基準画像データ及び終了基準画像データの登録を指示する。すると、端末装置１０の基準画像登録部１１１は、ユーザにより指示された開始基準画像データ及び終了基準画像データを基準画像データ記憶部１１２に記憶させる。
【００８７】
ここで、開始基準画像データは、例えば、上記の概略で説明した「画面Ａ」を表す画像であり、端末装置１０から処理要求を送信するための入力操作を受け付ける画面の画像データである。
【００８８】
ステップＳ９０２において、ユーザは、端末装置１０の入力装置１１を介して、動画データを生成するための動画キャプチャ開始指示を行う。第２の実施例では、この動画キャプチャ開始指示は、表示装置１２に、端末装置１０からサーバ装置２０に対しての処理要求を送信するための入力操作を受け付ける画面が表示されている状態で行う。すると、データ生成部１０４は、表示部１０７が端末装置１０の表示装置１２に表示させる情報の録画を開始する。
【００８９】
ステップＳ９０３において、ユーザは、端末装置１０の入力装置１１を介して、サーバ装置２０に処理要求を行うための入力操作を行う。
【００９０】
ステップＳ９０４において、ユーザにより入力装置１１を介してサーバ装置２０に処理要求を行うための入力操作がされると、端末装置１０の表示部１０７は、入力操作を受け付けたこと表す画面に画面遷移させる。
【００９１】
ステップＳ９０５において、端末装置１０は、上記のステップＳ９０３においてされた入力操作に応じた処理要求をサーバ装置２０に送信する。
【００９２】
ステップＳ９０６において、サーバ装置２０は、端末装置１０から処理要求を受け取ると、この処理要求に対応する処理を実行する。
【００９３】
ステップＳ９０７において、サーバ装置２０は、受け取った処理要求に対応する処理が完了すると、処理応答を端末装置１０に送信する。
【００９４】
ステップＳ９０８において、サーバ装置２０から処理応答を受け取ると、端末装置１０の表示部１０７は、処理結果を表す画面に画面遷移させる。これにより、ユーザは、自身が行った入力操作に対する処理が完了したことを認識する。
【００９５】
ステップＳ９０９において、ユーザは、端末装置１０の入力装置１１を介して、動画キャプチャ終了指示を行う。すると、データ生成部１０４は、動画データの生成を終了させ、生成した動画データをデータ記憶部１１０に記憶させる。
【００９６】
ステップＳ９１０において、端末装置１０の画像解析部１０５及び応答時間算出部１０６は、応答時間算出処理を実行し、応答時間を算出する。
【００９７】
≪応答時間の算出処理≫
図９におけるステップＳ９１０の「応答時間算出処理」について説明する。
【００９８】
図１０は、本実施形態に係る応答時間の算出処理の一例のフローチャートである（第２の実施例）。
【００９９】
ステップＳ１００１において、端末装置１０の画像解析部１０５は、データ記憶部１１０に記憶されている動画データの各フレーム毎に、基準画像データ記憶部１１２に記憶されている開始基準画像データと一致するか否かを判定する。なお、ここでの判定方法は、第１の実施例で説明したものと同様の方法を用いればよい。
【０１００】
ステップＳ１００２において、端末装置１０は、開始基準画像データと一致しないフレームが存在する場合、ステップＳ１００２の処理に進む一方、一致しないフレームが存在しない場合、処理を終了させる。
【０１０１】
ステップＳ１００３において、端末装置１０の応答時間算出部１０６は、上記のステップＳ１００２において開始基準画像データと一致しないと判定された１以上のフレームデータのうち、最も古い時刻（最初の時刻）に取得されたフレームデータの時刻情報を動画データから取得する。ここで、開始基準画像データと一致しないと判定されたフレームデータのうち最も古い時刻に取得されたフレームデータは、端末装置１０の表示部１０７が入力操作を受け付けたことを表す画面（すなわち、「画面Ａ’」）の画像データである。したがって、開始基準画像データと一致しないと判定された１以上のフレームデータのうち、最も古い時刻に取得されたフレームデータの時刻情報が「開始時刻」である。
【０１０２】
ステップＳ１００４において、端末装置１０の画像解析部１０５は、データ記憶部１１０に記憶されている動画データの各フレーム毎に、基準画像データ記憶部１１２に記憶されている終了基準画像データと一致するか否かを判定する。なお、ここでの判定方法は、第１の実施例で説明したものと同様の方法を用いればよい。
【０１０３】
ステップＳ１００５において、端末装置１０は、終了基準画像データと一致するフレームが存在する場合、ステップＳ１００６の処理に進む一方、一致するフレームが存在しない場合、処理を終了させる。
【０１０４】
ステップＳ１００６において、端末装置１０の応答時間算出部１０６は、上記のステップＳ１００４において終了基準画像データと一致すると判定されたフレームデータが取得された時刻情報を動画データから取得する。終了基準画像データと一致すると判定されたフレームデータが取得された時刻情報が「終了時刻」である。
【０１０５】
ステップＳ１００７において、端末装置１０の応答時間算出部１０６は、開始時刻と終了時刻から応答時間を算出する。これにより、ユーザがサーバ装置２０に対して処理要求を行うための入力操作を行って、入力操作を受け付けたことを表す画面が表示された後、この処理要求に対す処理結果を表す画面が表示されるまでの時間（応答時間）が測定される。このように測定された応答時間は、ユーザが実際に入力操作を行ってから、処理結果を表す画面が表示されるまでの応答時間であるため、ユーザが体感する待ち時間をより適切に表したものであるということができる。
【０１０６】
なお、本実施例において、基準画像データは、開始基準画像データと終了基準画像データの２つの画像データを用いたが、これに限られず、任意の個数の画像データを基準画像データとすることもできる。例えば、３つの基準画像データを用いる場合、基準画像データＡと基準画像データＢとに基づき画面Ａから画面Ｂに画面遷移するまでの応答時間を測定するとともに、基準画像データＢと基準画像データＣとに基づき画面Ｂから画面Ｃに画面遷移するまでの応答時間を、上記で説明した処理により測定することができる。このように、開始時刻を所定の基準画像データと一致しないと判定された最初の時刻とする一方で、終了時刻を所定の基準画像データと一致した時刻とすることで、任意の画面構成を有するプログラムの応答時間を算出することができる。
【０１０７】
（応用例）
以上で説明した応答時間測定システム１は、基準画像データが音声データ等である場合についても応用することができる。この応用例について、第１の実施例を以下の条件の下で、端末装置１０において、サーバ装置２０に保存されている動画データを例えばストリーミング再生する場合について簡単に説明する。
・基準画像データを「基準音声データ」と読み替える
・動画データには、画像データと、音声データと、画像データ毎に音声データを対応付けるための時間情報とが含まれる
このとき、端末装置１０において、基準音声データと、サーバ装置２０から取得した動画データに含まれる音声データとが一致するか否かを判定する。そして、一致すると判定された音声データの時刻情報（これは時刻取得部１０３により取得される）と、動画データに含まれる時間情報とに基づいて、音声データの受信が画像データの受信に対して遅れているか否か（又は進んでいるか否か）の情報を得ることができる。ここで、基準音声データと、動画データに含まれる音声データとが一致するか否かは、例えば、特定周波数のスペクトル解析を用いて判定することができる。
【０１０８】
＜まとめ＞
以上のように本実施形態に係る応答時間測定システム１では、ユーザが行った入力操作に基づいて開始時刻を特定する一方、入力操作に対応する処理要求の処理結果を表す画面に基づいて終了時刻を特定する。そして、これらの特定された開始時刻と終了時刻とから応答時間を算出する。換言すれば、ユーザからの入力操作及びユーザに対する画面表示を基準として応答時間を算出するものである。したがって、ユーザが入力操作を行った後、処理結果が表示されまでに実際に体感する待ち時間に近い応答時間を測定することができる。
【０１０９】
さらには、終了時刻を基準画像データと表示画面（表示画面の一部を含む）との一致により判定することで、様々な画面構成を有するアプリケーションの応答時間を測定することができる。
【０１１０】
なお、データ生成部１０４は、画像取得手段の一例である。入力情報記録部１０２は、操作時刻記録手段の一例である。画像解析部１０５は、判定手段の一例である。応答時間算出部１０６は、応答時間算出手段の一例である。
【０１１１】
なお、本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１１２】
１      応答時間測定システム
１０    端末装置
１１    入力装置
１２    表示装置
１３    外部Ｉ／Ｆ
１３ａ  記録媒体
１４    ＲＡＭ
１５    ＲＯＭ
１６    ＣＰＵ
１７    通信Ｉ／Ｆ
１８    ＨＤＤ
２０    サーバ装置
１０１  基準画像登録部
１０２  入力情報記録部
１０３  時刻取得部
１０４  データ生成部
１０５  画像解析部
１０６  応答時間算出部
１０７  表示部
１０８  基準画像データ記憶部
１０９  入力情報時刻データ記憶部
１１０  データ記憶部
【図１】
0006290743.tif 000002
【図２】
0006290743.tif 000003
【図３】
0006290743.tif 000004
【図４】
0006290743.tif 000005
【図５】
0006290743.tif 000006
【図６】
0006290743.tif 000007
【図７】
0006290743.tif 000008
【図８】
0006290743.tif 000009
【図９】
0006290743.tif 000010
【図１０】
0006290743.tif 000011