(57)【要約】［課題］  転送により操作データを共有する、互いに通信が可能な複数の装置間で、他の装置からの操作データの転送の遅延による、円滑なコミュニケーションの阻害を軽減する操作情報制御装置を提供する。［解決手段］  本発明の操作情報制御装置は、端末に対するユーザの操作の準備動作と前記操作を検出する前記端末から、前記準備動作を表す準備情報と前記操作を表す操作情報を、時間間隔をおいて受信する操作受信手段と、前記準備動作の種類と前記操作の種類を関連付けて記憶する操作記憶手段と、前記準備情報から、当該準備動作後の、当該準備情報の種類に関連する種類の前記操作を推定する操作推定手段と、前記操作情報を受信及び当該操作情報の前記操作を実行して結果を表示する表示装置に、前記操作情報を前記端末から受信して送信する予定時刻を、前記準備情報及び前記準備情報の受信時刻から算出する予定時刻算出手段と、前記予定時刻までに前記操作情報が受信された場合当該操作情報を前記表示装置に送信し、前記予定時刻までに前記操作情報が受信されない場合、推定された前記操作である推定操作の前記操作情報を、前記予定時刻に前記表示装置に送信する操作出力手段と、を含む。
2014034059.tif 000002
【特許請求の範囲】
【請求項１】
端末に対するユーザの操作の準備動作と前記操作を検出する前記端末から、前記準備動作を表す準備情報と前記操作を表す操作情報を、時間間隔をおいて受信する操作受信手段と、
前記準備動作の種類と前記操作の種類を関連付けて記憶する操作記憶手段と、
前記準備情報から、当該準備動作後の、当該準備情報の種類に関連する種類の前記操作を推定する操作推定手段と、
前記操作情報を受信及び当該操作情報の前記操作を実行して結果を表示する表示装置に、前記操作情報を前記端末から受信して送信する予定時刻を、前記準備情報及び前記準備情報の受信時刻から算出する予定時刻算出手段と、
前記予定時刻までに前記操作情報が受信された場合当該操作情報を前記表示装置に送信し、前記予定時刻までに前記操作情報が受信されない場合、推定された前記操作である推定操作の前記操作情報を、前記予定時刻に前記表示装置に送信する操作出力手段と、
を含む操作情報制御装置。
【請求項２】
前記端末との、通信の遅延時間及び音声通話の遅延時間を検出する遅延検出手段を含み、
前記予定時刻算出手段は、前記準備情報から算出した前記動作の検出から前記操作の検出までの準備動作時間を算出し、前記準備動作時間と前記音声通話の遅延時間の和から、前記通信の遅延時間を引いた時間が、前記準備情報の前記受信時刻から経過した時刻を、前記予定時刻として算出する
請求項１に記載の操作情報制御装置。
【請求項３】
前記端末との、通信の遅延時間を検出する遅延検出手段を含み、
前記予定時刻算出手段は、前記準備情報から算出した前記動作の検出から前記操作の検出までの準備動作時間を算出し、前記準備情報の前記受信時刻に、前記準備動作時間を足し、前記通信の遅延時間を引いた時刻を、前記予定時刻として算出する
請求項１に記載の操作情報制御装置。
【請求項４】
前記推定操作と前記操作との差異を表す値を求めて、当該値が、所定の閾値より大きいか否かを判定する差異判定手段を含み、
前記操作出力手段は、前記操作情報が送信済みである前記推定操作と、当該推定操作に関連する、前記端末から受信した前記操作との前記差異が前記所定の閾値より大きい場合、前記推定操作による表示を取り消す取消指示と、前記操作情報を、前記表示装置に送信し、
前記表示装置は、さらに、前記取消指示を受信した場合、前記推定操作による表示を消去する
請求項１乃至３のいずれかに記載の操作情報制御装置。
【請求項５】
前記差異を表す値は、タッチパネルへの指の接触である前記操作における、前記指が接触する位置と、前記操作の前記推定操作における前記指が接触する位置との距離である
請求項４に記載の操作情報制御装置。
【請求項６】
前記準備情報は、前記準備動作の種類と、前記準備動作の内容を表す情報を含み、
前記操作推定手段は、前記操作記憶手段から、前記準備動作の種類に関連する前記操作の種類を読み出し、前記準備動作の内容を表す情報から、種類が、読み出した前記操作の種類である、前記推定操作の内容を推定し、当該内容を表す情報を含む、前記推定操作の前記操作情報を生成し、当該操作情報を前記表示装置に送信する
請求項１乃至５のいずれかに記載の操作情報制御装置。
【請求項７】
前記操作記憶手段は、２本の指を接触させたまま近づけるか遠ざける動作を表す、ピンチ操作を、前記操作の種類として、２点への指の接触である前記準備動作の種類に関連付けて記憶し、
前記操作推定手段は、前記準備動作の種類が２点への指の接触であり、前記準備動作の内容が、前記２点の座標を表す情報である場合、前記２点間の距離を算出し、算出した前記距離が所定距離以上である場合、前記操作の内容を、前記ピンチ操作のうち、２本の指を接触させたまま近づけるピンチインの操作であり、前記２点間の距離が所定距離未満である場合、前記推定操作を、前記ピンチ操作のうち、２本の指を接触させたまま遠ざけるピンチアウトの操作であると推定する
請求項６に記載の操作情報制御装置。
【請求項８】
前記端末と、前記表示装置と、請求項１乃至７のいずれかに記載の操作情報制御装置とを含む情報処理システム。
【請求項９】
端末に対するユーザの操作の準備動作と前記操作を検出する前記端末から、前記準備動作を表す準備情報と前記操作を表す操作情報を、時間間隔をおいて受信し、
前記準備動作の種類と前記操作の種類を関連付けて操作記憶手段に記憶し、
前記準備情報から、当該準備動作後の、当該準備情報の種類に関連する種類の前記操作を推定し、
前記操作情報を受信及び当該操作情報の前記操作を実行して結果を表示する表示装置に、前記操作情報を前記端末から受信して送信する予定時刻を、前記準備情報及び前記準備情報の受信時刻から算出し、
前記予定時刻までに前記操作情報が受信された場合当該操作情報を前記表示装置に送信し、前記予定時刻までに前記操作情報が受信されない場合、推定された前記操作である推定操作の前記操作情報を、前記予定時刻に前記表示装置に送信する、
を含む操作情報制御方法。
【請求項１０】
コンピュータを、
端末に対するユーザの操作の準備動作と前記操作を検出する前記端末から、前記準備動作を表す準備情報と前記操作を表す操作情報を、時間間隔をおいて受信する操作受信手段と、
前記準備動作の種類と前記操作の種類を関連付けて記憶する操作記憶手段と、
前記準備情報から、当該準備動作後の、当該準備情報の種類に関連する種類の前記操作を推定する操作推定手段と、
前記操作情報を受信及び当該操作情報の前記操作を実行して結果を表示する表示装置に、前記操作情報を前記端末から受信して送信する予定時刻を、前記準備情報及び前記準備情報の受信時刻から算出する予定時刻算出手段と、
前記予定時刻までに前記操作情報が受信された場合当該操作情報を前記表示装置に送信し、前記予定時刻までに前記操作情報が受信されない場合、推定された前記操作である推定操作の前記操作情報を、前記予定時刻に前記表示装置に送信する操作出力手段と、
として動作させる操作情報制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作情報制御装置、操作情報制御方法、および操作情報制御プログラムに関する。
【背景技術】
【０００２】
ネットワークで接続された２台以上の装置を含むシステムにおいて、各装置のユーザが、各装置が共有する画面に対して操作を行うことによって、コミュニケーションを行うことが考えられる。そのような操作として、文字や図形の描画や、画面上のオブジェクトの移動、拡大、縮小などがある。各装置が共有する画面は、各装置で同じものが描かれた状態に保たれた、各装置の画面上の領域を表す。このような画面に対して、いずれかの装置のユーザが、画面の状態の変化を伴う、例えば文字や図形の描画のような操作を行うと、他の装置の画面も、同じ操作を行った状態になる。【０００３】
このようなコミュニケーションが可能なシステムは、各装置が、各装置のユーザによる文字や図形の描画など操作を表す操作データを、装置間で共有することで実現できる。操作データは、例えば、ユーザが描く文字や図形を構成する曲線の軌跡を表すデータを含むデータである。そのようなデータには、例えば、曲線を構成する点の座標の列を表すデータがある。あるいは、操作データは、画面上のオブジェクトに対する、移動先を表す情報を含む、移動指示を表すデータであってもよい。操作データは、いずれかの固定点を中心にオブジェクトの拡大や縮小を行う、オブジェクトの大きさを変更する変更指示であってもよい。【０００４】
各装置は、各装置が共有する画面を描画する領域に対して、共有する操作データによる、文字や図面の描画や図形の拡大や縮小などの、表示の変更を行えばよい。また、操作データの共有は、各装置が、取得したユーザによる操作の操作データを、それぞれ他の装置に送信することで実現できる。このようなシステムには、例えばオンライン会議システムがある。【０００５】
操作データは、操作開始からの時間を表す情報を含むよう構成されうる。例えば、曲線の描画の操作データは、描かれる曲線上の点の座標に加えて、その点が描かれた時間の情報を含んでいてもよい。オブジェクトの移動の操作データは、時間の情報とその時間におけるオブジェクトの位置を表す座標の組を、複数を含んでいてもよい。オブジェクトの大きさ変更の操作データは、時間の情報とその時間における大きさの変化率の組を、複数含んでいてもよい。また、操作データは、一連の操作が完了してからまとめて転送されるのではなく、操作データを構成する個々の要素が一つ得られる度に、順次転送されてもよい。操作データを構成する個々の要素は、例えば、座標と時間の組や大きさの変化率と時間の組である。この場合、ユーザが操作を入力する装置以外の装置でも、ユーザの操作による画面の変化の過程を得ることができる。【０００６】
以上のような、各装置に入力された操作の操作データを各装置で共有するシステムで、円滑なコミュニケーションが実現されるためには、例えば、装置間の操作データの転送遅延が無く、ユーザの操作による描画が、各装置でリアルタイムに行われればよい。しかし、操作データの送信には、装置間を接続するネットワークを介することによる遅延が生じる。【０００７】
非特許文献１には、操作データの転送に遅延がある場合であっても、インタラクティブ性を保つ遠隔描画教示システムが記載されている。遠隔描画教示システムでは、操作はカーソルの位置情報で表される。操作データは、その位置情報である。非特許文献１の遠隔描画教示システムの端末は、他の端末からカーソルの位置情報を順次受信し、受信した位置情報に基づいて画面上の点に図形を描画する。非特許文献１の端末は、他の端末のカーソルの位置を表す位置情報に基づいて図形を描画する際、既に受信している位置情報から、所定時間先におけるカーソルの位置を予測し、予測した位置に図形を描画する。【０００８】
特許文献１には、指がタッチパネルに接触する前に、指がタッチパネルに接触した時の、指によって行われる操作を予測する情報処理装置が記載されている。情報処理装置は、静電容量式のタッチパネルと指の距離と、タッチパネル上の指に最も近い点の座標と、それらの時間による変化から、指によって行われる操作を予測する。特許文献１の情報処理装置は、予測した操作により行われる指示がバックグラウンドで行うことができる処理の指示である場合、実際に指示が入力される前に、予測した操作により指示される処理を実行する。【０００９】
特許文献２には、オブジェクトの移動を移動軌跡によって表す、通信ゲームシステムが記載されている。特許文献２の通信ゲームシステムの子機は、ポインティングデバイスによる入力から取得した、オブジェクトの軌跡を表す移動軌跡を、親機に送信する。親機は、受信したオブジェクトを含む仮想ゲーム空間を描画するための描画情報を、子機に送信する。【００１０】
特許文献３には、複数のゲーム機が接続されたループ状のデータ伝送ラインを介して、各ゲーム機が、各ゲーム機で演算されたデータを、他のゲーム機に次々に伝送するゲーム装置が記載されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１１−１７０８３４号公報
【特許文献２】特開２００７−２７５４７２号公報
【特許文献３】特公平０３−０３９７１１号公報
【非特許文献】
【００１２】
【非特許文献１】「遠隔描画教示システムにおける触覚メディアの予測を用いた端末間同期方式」、黒川 陽一・石橋 豊、電子情報通信学会技術報告(CQ)、2007年04月16日発行、p.66-67
【発明の概要】
【発明が解決しようとする課題】
【００１３】
描画のための操作のデータを互いに転送し、それぞれ描画することでユーザのコミュニケーションが行われる複数の装置間で、通信遅延の変動により操作データの転送が遅れると、転送先の装置における描画も遅れる。そして、描画の遅れにより、それらの装置を使用するユーザ間の、円滑なコミュニケーションが阻害される。各装置のユーザが、音声による通話を行いながら画面に操作を行うことにより、コミュニケーションを行っている場合、操作データの転送が遅れれば、音声と描画のタイミングがずれる。特にこの場合、このタイミングのずれにより、円滑なコミュニケーションが大きく阻害される。【００１４】
非特許文献１に記載されている技術では、受信したカーソルの軌跡の情報による、所定時間後のカーソルの位置の予測が行われる。言い換えると、非特許文献１の技術では、カーソルの軌跡で表される、ユーザの操作の一部から、同一の操作が継続した場合の、所定時間後のその操作の状態であるカーソルの位置が予測される。非特許文献１の技術では、転送の遅れのため操作データが届かない場合、操作の予測を行うことはできない。従って、非特許文献１の技術では、操作データの転送が遅れることに起因する、円滑なコミュニケーションの阻害を軽減することはできない。【００１５】
特許文献１の技術は、ユーザによる操作を予測し、その操作によって情報処理装置が行う処理のうち、画面の表示に現れない処理のみを予め行っておく技術である。特許文献１の技術では、通信遅延の大きさの変動に起因する、他の装置からの操作を表すデータの転送が遅延することによる、円滑なコミュニケーションの阻害を軽減することはできない。【００１６】
特許文献２及び特許文献３の技術も、他の装置からの操作を表すデータの転送が遅延することによる、円滑なコミュニケーションの阻害を軽減することはできない。【００１７】
本発明の目的の一つは、転送により操作データを共有する、互いに通信が可能な複数の装置間で、他の装置からの操作データの転送の遅延による、円滑なコミュニケーションの阻害を軽減する操作情報制御装置を提供することにある。
【課題を解決するための手段】
【００１８】
本発明の操作情報制御装置は、端末に対するユーザの操作の準備動作と前記操作を検出する前記端末から、前記準備動作を表す準備情報と前記操作を表す操作情報を、時間間隔をおいて受信する操作受信手段と、前記準備動作の種類と前記操作の種類を関連付けて記憶する操作記憶手段と、前記準備情報から、当該準備動作後の、当該準備情報の種類に関連する種類の前記操作を推定する操作推定手段と、前記操作情報を受信及び当該操作情報の前記操作を実行して結果を表示する表示装置に、前記操作情報を前記端末から受信して送信する予定時刻を、前記準備情報及び前記準備情報の受信時刻から算出する予定時刻算出手段と、前記予定時刻までに前記操作情報が受信された場合当該操作情報を前記表示装置に送信し、前記予定時刻までに前記操作情報が受信されない場合、推定された前記操作である推定操作の前記操作情報を、前記予定時刻に前記表示装置に送信する操作出力手段と、を含む。【００１９】
本発明の操作情報制御方法は、端末に対するユーザの操作の準備動作と前記操作を検出する前記端末から、前記準備動作を表す準備情報と前記操作を表す操作情報を、時間間隔をおいて受信し、前記準備動作の種類と前記操作の種類を関連付けて操作記憶手段に記憶し、前記準備情報から、当該準備動作後の、当該準備情報の種類に関連する種類の前記操作を推定し、前記操作情報を受信及び当該操作情報の前記操作を実行して結果を表示する表示装置に、前記操作情報を前記端末から受信して送信する予定時刻を、前記準備情報及び前記準備情報の受信時刻から算出し、前記予定時刻までに前記操作情報が受信された場合当該操作情報を前記表示装置に送信し、前記予定時刻までに前記操作情報が受信されない場合、推定された前記操作である推定操作の前記操作情報を、前記予定時刻に前記表示装置に送信する、を含む。【００２０】
本発明の操作情報制御プログラムは、コンピュータを、端末に対するユーザの操作の準備動作と前記操作を検出する前記端末から、前記準備動作を表す準備情報と前記操作を表す操作情報を、時間間隔をおいて受信する操作受信手段と、前記準備動作の種類と前記操作の種類を関連付けて記憶する操作記憶手段と、前記準備情報から、当該準備動作後の、当該準備情報の種類に関連する種類の前記操作を推定する操作推定手段と、前記操作情報を受信及び当該操作情報の前記操作を実行して結果を表示する表示装置に、前記操作情報を前記端末から受信して送信する予定時刻を、前記準備情報及び前記準備情報の受信時刻から算出する予定時刻算出手段と、前記予定時刻までに前記操作情報が受信された場合当該操作情報を前記表示装置に送信し、前記予定時刻までに前記操作情報が受信されない場合、推定された前記操作である推定操作の前記操作情報を、前記予定時刻に前記表示装置に送信する操作出力手段と、として動作させる。【００２１】
さらに、本発明は、上述の操作情報制御プログラムが格納された、コンピュータで読み出し可能な一過性でない有形の記録媒体によっても、実現することができる。
【発明の効果】
【００２２】
本発明には、転送により操作データを共有する、互いに通信が可能な複数の装置間で、他の装置からの操作データの転送の遅延による、円滑なコミュニケーションの阻害を軽減することができると言う効果がある。
【図面の簡単な説明】
【００２３】
【図１】図１は、第１の実施形態の情報処理システム１００の構成を表すブロック図である。
【図２】図２は、第１の実施形態の情報処理システム１００に含まれる各装置の接続の例を表す図である。
【図３】図３は、第１、第２、第４の実施形態の端末３及び第３の実施形態の情報処理装置５Ｂの、入力デバイス情報取得時の動作を表すフローチャートである。
【図４】図４は、第１、第４の実施形態の操作情報制御装置１及び第３の実施形態の情報処理装置５Ｂの、準備情報受信時の動作を表すフローチャートである。
【図５】図５は、端末３と操作情報制御装置１の間の通信の遅延が拡大した場合の、各データの送信及び受信のタイミングを表す図である。
【図６】図６は、第２の実施形態の情報処理システム１００Ａの構成を表すブロック図である。
【図７】図７は、第２の実施形態の操作情報制御装置１Ａの、準備情報受信時の動作を表すフローチャートである。
【図８】図８は、第３の実施形態の情報処理装置５Ｂの構成を表すブロック図である。
【図９】図９は、第３の実施形態の情報処理システム１００Ｂに含まれる各装置の接続を表すブロック図である。
【図１０】図１０は、第４の実施形態の情報処理システム１００Ｃの構成を表すブロック図である。
【図１１】図１１は、第４の実施形態の情報処理システム１００Ｃに含まれる各装置の接続を表すブロック図である。
【図１２】図１２は、第１の実施形態に基づく構成例を表す図である。
【図１３】図１３は、第５の実施形態の操作情報制御装置１の構成を表すブロック図である。
【図１４】図１４は、各装置を実現するためのコンピュータ１０００の構成を表す図である。
【発明を実施するための形態】
【００２４】
次に、本発明の実施の形態について、図面を参照して詳細に説明する。
【００２５】
（第１の実施形態）
図１は、本発明の第１の実施の形態の情報処理システム１００の構成を表すブロック図である。
【００２６】
図１を参照すると、本実施形態の情報処理システム１００は、端末３と、情報処理装置５を含む。また、情報処理装置５は、操作情報制御装置１と表示装置２を含む。端末３は、端末３の構成要素と情報処理装置５の構成要素を全て含み、さらに情報処理装置５として機能する装置であってもよい。同様に、情報処理装置５は、端末３の構成要素と情報処理装置５の構成要素を全て含み、さらに端末３として機能する装置であってもよい。
【００２７】
操作情報制御装置１は、操作受信部１０と、操作記憶部１１と、操作推定部１２と、予定時刻算出部１３と、操作出力部１４を含む。操作情報制御装置１は、さらに、遅延検出部１５を含んでいてもよい。
【００２８】
表示装置２は、画面生成部２０と、表示部２１を含む。
【００２９】
端末３は、入力部３０と、準備動作検出部３１と、操作検出部３２と、画面生成部３３と、表示部３４を含む。
【００３０】
図２は、情報処理システム１００に含まれる各装置の接続の例を表す図である。情報処理システム１００に含まれる各装置は、例えば図２に示す例のように接続されている。
【００３１】
本実施形態では、端末３のユーザが行った操作の操作データが、端末３から情報処理装置５に送信される。そして、端末３と情報処理装置５の各ユーザは、端末３のユーザが行った操作の操作データを共有する。
【００３２】
図２を参照すると、情報処理装置５と端末３は、通信ネットワークであるネットワーク４を介して接続されている。ネットワーク４は、例えば、インターネットや専用の通信網により実現される。各装置とネットワーク４との接続は、それぞれ、無線でも有線でもよい。
【００３３】
端末３の入力部３０は、端末３のユーザが端末３に対して行う操作を表すデータを取得する。入力部３０は、タッチパネル、タッチスクリーン、タッチパッド、マウス、キー、プッシュボタン、ダイヤルなどの入力デバイスである。
【００３４】
本実施形態の説明においては、ユーザが端末３に対して行う操作は、例えば、文字や図形の描画のような画面上のオブジェクトの生成、オブジェクトの移動、拡大、縮小などの、画面の表示を変化させる操作である。ユーザが端末３に対して行う操作は、これらの操作以外の、画面の表示を変化させる操作であってもよい。ユーザの操作は、ユーザが端末３に何らかの指示を入力する操作であればよい。以下では、これらの操作を、実操作とも表記する。
【００３５】
入力部３０は、さらに、ユーザが実操作の前に行う動作である準備動作を表すデータを取得する。準備動作は、例えば、ユーザがタッチパネルを使用して文字や図形を入力するために、タッチパネルに指を近づける動作である。以下では、ユーザのタッチパネルに対する操作は指によって行われるとして説明するが、タッチパネルに対する操作は、指ではなく、例えばスタイラスペンのような道具により行われてもよい。入力部３０が、例えば静電容量式のタッチパネルであれば、入力部３０に指を近づけた場合、入力部３０は、指に最も近いタッチパネル上の位置や、その位置における指とタッチパネルの距離を計測することができる。従って、この場合、指が入力部３０であるタッチパネルに接触していない状態であっても、入力部３０は準備動作を表すデータを取得できる。準備動作は、例えば、ユーザがマウスを使用して図形を入力する場合に、描画開始前に画面上の描画開始位置にマウスポインタを停止させる動作のように、端末３に対する実操作であってもよい。準備動作は、以上で述べた動作や実操作以外の、動作や実操作であってもよい。以下では、入力部３０が取得する準備動作を表すデータと操作を表すデータを、まとめて、入力デバイスデータ又は入力デバイス情報と表記する。
【００３６】
以下では、操作を表すデータを、操作データあるいは操作情報と表記する。さらに、端末３のユーザが実際に行った実操作を表す操作データを、実操作データと表記する。また、準備動作を表すデータを、予兆データあるいは準備情報と表記する。予兆データは、準備動作の種類と、準備動作の内容を表す情報を含んでいればよい。また、実操作データは、操作の種類と、操作の内容を表す情報を含んでいればよい。
【００３７】
準備動作検出部３１は、入力部３０が取得したデータから、準備動作を表す予兆データを検出する。準備動作検出部３１は、検出した予兆データを、操作情報制御装置１の操作受信部１０に送信する。準備動作検出部３１は、さらに、端末３と情報処理装置５との間の通信の遅延を測定してもよい。その場合、準備動作検出部３１は、測定した遅延時間を、例えば操作受信部１０を介して、遅延検出部１５に送信すればよい。
【００３８】
操作検出部３２は、入力部３０が取得したデータから、実操作を表す実操作データを検出する。操作検出部３２は、検出した実操作データを、画面生成部３３と、操作情報制御装置１の操作受信部１０に送信する。
【００３９】
画面生成部３３は、実操作データを受信する。画面生成部３３は、受信した実操作データで表される操作が行われた場合の画面を生成する。そして、画面生成部３３は、生成した画面を表示部３４に表示する。
【００４０】
表示部３４は、画面生成部３３が生成した画面を表示する。表示部３４は、例えば、液晶パネルやその他の表示デバイスを備えた、ディスプレイ装置である。
【００４１】
画面生成部３３及び表示部３４は、それぞれ、画面生成部２０及び表示部２１と同じであってもよい。端末３は、画面生成部３３及び表示部３４の代わりに、表示装置２を含んでいてもよい。
【００４２】
操作情報制御装置１の操作受信部１０は、ネットワーク４を介して、端末３から実操作データと予兆データを受信する。
【００４３】
操作記憶部１１は、予兆データが表す準備動作の種類と、その準備動作の種類に関連する操作の種類の組を、複数記憶する。具体的には、操作記憶部１１は、準備動作の種類を表す識別子と操作の種類を表す識別子の組を、複数記憶していればよい。操作記憶部１１は、準備動作の種類と操作の種類の組に関連付けて、その種類の準備動作に続いてその種類の操作が行われる確率を記憶していてもよい。例えば情報処理システム１００の設計者が、互いに関係づけられた、準備動作の種類と、その種類の準備動作の後に行われる可能性の高い操作の種類を、予め操作記憶部１１に記憶させておけばよい。情報処理システム１００の設計者は、準備動作とその準備動作の後に行われる操作の統計から、複数の準備動作の種類と操作の種類との関連や、前述の確率を導出すればよい。あるいは、例えば操作推定部１２が、端末３から受信する予兆データ及びその予兆データに続く実操作データを集計し、集計の結果に基づき、準備動作とその準備動作の後に行われる操作の統計の情報を生成してもよい。そして、操作推定部１２は、その統計の情報に基づき、準備動作の種類とその種類の準備動作の後に行われる可能性の高い操作の種類の組と、それらの組に関連する確率を導出してもよい。さらに、操作推定部１２は、導出した、準備動作の種類と操作の種類の組と、その組に関連付けられた確率を、操作記憶部１１に記憶させてもよい。また、一連の複数種類の準備動作が、一種類の操作に関連付けられていてもよい。
【００４４】
操作推定部１２は、受信した予兆データと、その予兆データが表す準備動作の種類に関連付けられた操作の種類に基づき、その予兆データが表す準備操作に続けてユーザが行う操作を推定する。操作推定部１２は、推定した操作である推定操作を表す操作情報を、操作出力部１４に送信する。以下では、推定操作は、補完操作とも表記される。前述のように、操作情報は操作データとも表記される。補完操作を表す操作データは、補完データとも表記される。操作推定部１２は、２個以上の予兆データに基づき、補完操作を推定してもよい。
【００４５】
予定時刻算出部１３は、受信した予兆データ及びその受信した予兆データの受信時刻に基づき、その予兆データが表す準備動作に続けてユーザが行う実操作の実操作データを、端末３から受信する時刻を算出する。予定時刻算出部１３は、算出した時刻を、補完データを表示装置２に送信する時刻である予定時刻に設定する。
【００４６】
遅延検出部１５は、端末３と操作情報制御装置１の通信における遅延時間を検出する。遅延検出部１５が通信の遅延時間を検出する方法は、既存の任意の方法でよい。予定時刻算出部１３は、遅延検出部１５が検出した遅延時間も使用して、予定時刻を算出してもよい。前述のように、端末３の準備動作検出部３１が遅延時間を測定する場合、遅延検出部１５は、例えば操作受信部１０を介して、端末３から遅延時間を受信してもよい。以下では、遅延検出部１５が遅延を検出する場合について説明を行う。
【００４７】
操作出力部１４は、受信された予兆データが表す準備動作に続けてユーザが行う実操作の操作データを、算出された予定時刻までに端末３から受信しない場合に、操作推定部１２が推定した補完操作の操作データを、算出された予定時刻に表示装置２に送信する。操作出力部１４は、受信された予兆データが表す準備動作に続けてユーザが行う実操作の操作情報を、算出された予定時刻までに受端末３から受信した場合は、その操作情報を表示装置２に送信する。
【００４８】
表示装置２の画面生成部２０は、受信した実操作データや補完データで表される操作が行われた場合の画面を生成して、生成した画面を表示部２１に表示する。
【００４９】
表示部２１は、画面生成部２０が生成した画面を表示する。表示部２１は、例えば、液晶パネルやその他の表示デバイスを備えた、ディスプレイ装置である。
【００５０】
次に、本実施形態の端末３の動作について、図面を参照して詳細に説明する。
【００５１】
図３は、端末３の動作を表すフローチャートである。
【００５２】
端末３が動作を開始すると、入力部３０は、ユーザの準備操作及び操作を表す入力デバイスデータの取得を開始する（ステップＳ１０）。
【００５３】
準備動作検出部３１は、入力部３０が取得したデータから、準備動作を表すデータを検出することで、準備動作を検出する（ステップＳ１１）。準備動作が検出された場合（ステップＳ１１、Ｙ）、準備動作検出部３１は、検出された準備動作の予兆データを操作情報制御装置１の操作受信部１０に送信する（ステップＳ１２）。
【００５４】
準備動作検出部３１は、入力デバイスデータが予兆データであるかどうかを判定するための、入力デバイスデータに対する条件を、検出する予兆データの種類毎にあらかじめ保持していればよい。そして、準備動作検出部３１は、入力デバイスデータがいずれかの条件に合致した場合、その条件に合致した入力デバイスデータを、予兆データにすればよい。
【００５５】
例えば、入力部３０が静電容量式のタッチパネルであれば、ユーザの端末３に対する操作であるタップ操作、ドラッグ操作、フリック操作の準備動作として、タッチパネルへの指の接近が考えられる。この場合、さらに、指のタッチパネルに平行な移動の大きさにより、タッチパネルへの指の接近が、どの種類の操作の準備動作であるかを判別することが考えられる。また、ピンチアウトやピンチインのようなピンチ操作の準備動作として、タッチパネル上の所定距離未満の２ヶ所への指の接触や、タッチパネル上の所定距離以上の２ヶ所への指の接触が考えられる。準備動作は、これら以外であってもよい。
【００５６】
入力部３０が静電容量式のタッチパネルである場合、タッチパネル上の指が接触している位置の時系列の情報を得ることができる。また、静電容量式のタッチパネルに指が接近すると、タッチパネル上の指が接近した場所の静電容量が変化する。また、その静電容量は、指とタッチパネルの距離に依存する。従って、静電容量式のタッチパネルを使用することにより、指がタッチパネルに接触していなくても、指とタッチパネルが接近していれば、指の位置の情報を得ることができる。
【００５７】
この場合、入力デバイスデータは、例えばタッチパネルにマトリクス状に配置された複数の電極における静電容量が、時系列で複数連続するデータである。準備動作検出部３１は、例えば、タッチパネル上で静電容量が変化した領域の中心や重心を、指の位置にする。そして、準備動作検出部３１は、複数の連続する静電容量のデータから、それぞれ算出した指の位置から、指の動きを推定する。準備動作検出部３１は、推定した指の動きが、例えば上述の準備動作の例に合致するか否かを判定する。準備動作検出部３１は、準備動作に合致すると判定された指の動きを表す入力センサデータを、予兆データにすればよい。予兆データは、入力センサデータそのものではなく、入力デバイスデータから推定した指の位置の変化を表すデータであってもよい。
【００５８】
入力部３０がマウスである場合、ユーザが端末３に対して行う操作として、マウスを使用して文字や図形を描画する操作がある。画面に表示される描画領域に図形を描画する操作の準備動作として、例えば、描画領域内でマウスポインタを所定時間以上停止させることが考えられる。この場合、準備動作検出部３１は、入力部３０からマウスポインタの位置のデータを、入力デバイスデータとして継続的に取得する。そして、準備動作検出部３１は、マウスポインタの位置の時系列データから、マウスポインタが所定時間以上停止しているか否かを判定する。準備動作検出部３１は、マウスポインタが所定時間以上停止していると判定した場合、マウスポインタが停止していることを表す情報と位置の情報を含む予兆データを生成する。
【００５９】
準備動作検出部３１は、予兆データに準備動作の種類を表す識別子を付加して、操作受信部１０に送信してもよい。
【００６０】
準備操作が検出されなかった場合（ステップＳ１１、Ｙ）、準備動作検出部３１は、予兆データを送信しない（ステップＳ１１、Ｎ）。
【００６１】
次に、操作検出部３２は、入力デバイスデータが、実操作を表すデータであるか否かを判定することにより、実操作を検出する（ステップＳ１３）。実操作が検出されなかった場合（ステップＳ１３、Ｎ）、処理はステップＳ１０に戻る。
【００６２】
操作検出部３２は、実操作の検出を、入力デバイスを使用してユーザの操作を検出する、既存の任意の方法で行えばよい。
【００６３】
実操作が検出された場合（ステップＳ１３、Ｙ）、操作検出部３２は、検出された実操作が、端末３の動作の終了を指示する操作であるか否かを判定する（ステップＳ１４）。検出された実操作が、端末３の動作の終了を指示する操作である場合（ステップＳ１４、Ｙ）、端末３は動作を終了する。
【００６４】
検出された実操作が、端末３の動作の終了を指示する操作ではない場合（ステップＳ１４、Ｎ）、操作検出部３２は、実操作を表す操作データを生成して、画面生成部３３に送信する。
【００６５】
画面生成部３３は、受信した操作データで表される操作を行った場合の画面を生成し、生成した画面を表示部３４に表示する（ステップＳ１５）。
【００６６】
操作データは、例えば、入力デバイスデータのうち、実操作を表す部分のデータであれる。操作データは、入力デバイスデータから判定した、ユーザの具体的な動作を表すデータであってもよい。操作データは、その具体的な動作によるユーザの端末３への指示を表すデータであってもよい。ユーザの具体的な動作を表すデータは、例えば、タッチパネル上の座標とその座標におけるタップ動作を表すデータである。この場合、例えば、ユーザがタップした場所が、画面上に描かれた図形を消去するためのボタンが描かれているタッチパネルの領域であるなら、端末３への指示を表すデータは、描かれた図形を消去する指示を表すデータである。あるいは、ユーザの具体的な動作を表すデータは、例えば、指がタッチパネルに接触している位置の時系列データであってもよい。この場合、例えば、入力デバイスデータ取得時に端末３が描画モードであるなら、端末３への指示を表すデータは、指をタッチパネルに接触させて動かすことにより、ユーザがタッチパネルに描いた図形の描画の指示を表すデータである。
【００６７】
次に、操作検出部３２は、操作データを、操作情報制御装置１の操作受信部１０に送信する（ステップＳ１６）。操作検出部３２は、操作データに実操作の種類を表す識別子を付加して、操作受信部１０に送信してもよい。ステップＳ１５とステップＳ１６の順番は、逆であってもよい。
【００６８】
準備動作検出部３１は、図３の動作によらず、継続的に準備動作の検出を行ってもよい。そして、準備動作検出部３１は、準備動作を検出した場合、その準備動作の予兆データを送信する。準備動作検出部３１は、例えば所定の時間毎に、その間の準備動作の予兆データを送信してもよい。
【００６９】
操作検出部３２は、図３の動作によらず、継続的に実操作の検出を行ってもよい。そして、操作検出部３２は、実操作を検出した場合、その実操作の操作データである実操作データを送信する。操作検出部３２は、例えば所定の時間毎に、その間の実操作データを送信してもよい。
【００７０】
次に、本実施形態の操作情報制御装置１の動作について、図面を参照して詳細に説明する。
【００７１】
図４は、操作情報制御装置１の予兆データ受信時の動作を表すフローチャートである。前述のように、本実施形態では、予兆データは準備情報とも表記される。操作情報制御装置１は、例えば他の実操作データ受信後に、予兆データではなく実操作データを受信した場合、図４の動作によらず、受信した実操作データを画面生成部２０に送信すればよい。
【００７２】
図４を参照すると、まず、操作受信部１０が予兆データを受信する（ステップＳ２０）。
【００７３】
操作推定部１２は、操作受信部１０が受信した予兆データから、予兆データが表す準備動作に続けてユーザが行う実操作を推定する（ステップＳ２１）。
【００７４】
操作推定部１２は、受信した予兆データが表す準備動作の種類に関連付けられている操作の種類を、操作記憶部１１から読み出す。そして、操作推定部１２は、予兆データと、受信した予兆データと読み出した操作の種類から、予兆データで表される予備動作に続けて行われる実操作を推定する。そして、操作推定部１２は、推定した実操作を表す補完データを生成する。
【００７５】
例えば、予兆データが、指がタッチパネルに近付いている状態における、指の位置の変化を表すデータを含み、その予兆データの準備動作の種類が、タッチパネルへの指の接近である場合の、操作推定部１２の動作は以下の通りである。この場合、操作推定部１２は、まず、準備動作の種類であるタッチパネルへの指の接近に関連付けられている実操作の種類を読み出す。読み出した実操作の種類がタッチパネルへの指の接触であれば、操作推定部１２は、次に、予兆データに含まれる指の位置のデータから、指がタッチパネルに接触すると推定される位置の座標を算出する。そして、操作推定部１２は、算出した位置に指が接触するイベントを表すデータを、補完データとして生成する。あるいは、操作推定部１２は、算出した位置に指が接触するときに発生するイベントを表すデータを、補完データとして生成してもよい。例えば、算出した位置に例えばボタンが表示されており、算出された位置への指の接触がそのボタンの押下の指示を意味する場合、操作推定部１２は、ボタンの押下を表すデータを、補完データとして生成すればよい。
【００７６】
例えば、予兆データが、タッチパネル上で指が同時に接触している、所定距離以上離れた２ヶ所の位置を表すデータを含み、その予兆データの準備動作の種類が、離れた２点への指の接触である場合の、操作推定部１２の動作は以下の通りである。この場合、操作推定部１２は、まず、準備動作の種類である、離れた２点への指の接触に関連付けられている実操作の種類を読み出す。離れた２点への指の接触に関連付けられている実操作の種類は、例えば、指をタッチパネルに接触させたまま近づける操作である、ピンチインの操作である。この場合、操作推定部１２は、予兆データが含む２点の位置のそれぞれに接触した指を、他方の点に向かう方向にドラッグするイベントを表すデータを、補完データとして生成する。あるいは、操作推定部１２は、予兆データが含む２点の位置のそれぞれに接触した指を、他方の点の方向にドラッグした時に発生するイベントを表すデータを、補完データとして生成してもよい。例えば、予兆データに含まれる指の接触点の双方が、オブジェクトが表示されている領域に含まれ、前述のドラッグが、表示されているオブジェクトを縮小する指示を意味するのであるなら、オブジェクトを縮小するイベントを、補完データとして生成してもよい。
【００７７】
例えば、準備動作の種類が、２点への指の接触であり、準備動作の内容が、指が接触している２点の位置を表す情報である場合、操作推定部１２は、次のように動作してもよい。操作推定部１２は、まず、準備動作の種類である、２点への指の接触に関連付けられている実動作の種類を読み出す。２点への指の接触に関連付けられている実動作の種類は、例えば、指をタッチパネルに接触させたまま近づけるか遠ざける操作である、ピンチ操作である。操作推定部１２は、準備動作の内容の情報である、指が接触している２点の位置を表す情報から、指が接触している２点間の距離を算出する。指が接触している２点間の距離が所定の距離以上であれば、操作推定部１２は、実操作を、指をタッチパネルに接触させたまま近づける操作である、ピンチインの操作であると推定する。この場合、操作推定部１２は、例えば上述のように、予兆データが含む２点のそれぞれに接触した指を、他方の点に向かう方向にドラッグするイベントを表すデータを、補完データとして生成する。一方、指が接触している２点間の距離が所定の距離未満であれば、操作推定部１２は、実操作を、指をタッチパネルに接触させたまま遠ざける操作である、ピンチアウトの操作であると推定する。この場合、操作推定部１２は、例えば、予兆データが含む２点のそれぞれに接触した指を、他方の点から離れる方向にドラッグするイベントを表すデータを、補完データとして生成する。
【００７８】
例えば、予兆データが、マウスポインタが一定時間以上停止している位置を表すデータを含み、その予兆データの準備動作の種類が、マウスポインタの停止である場合の、操作推定部１２の動作は以下の通りである。この場合、操作推定部１２は、まず、準備動作の種類である、マウスポインタの停止に関連付けられている実操作の種類を読み出す。マウスポインタの停止に関連付けられている実操作の種類が、マウスのボタンのクリックである場合、操作推定部１２は、実操作に含まれるマウスポインタの位置において、マウスのボタンがクリックされるイベントを表すデータを、補完データとして生成する。なお、マウスのボタンが複数存在する場合、操作推定部１２は、例えば、最も頻繁にクリックされるボタンがクリックされるイベントを表すデータを、補完データとして生成すればよい。
【００７９】
次に、予定時刻算出部１３が、予兆データで表される準備動作に続いて行われる実操作の操作データを、操作受信部１０が受信する予定の時刻を算出する。そして、予定時刻算出部１３は、算出した時刻を、補完データを送信する時刻である予定時刻に設定する（ステップＳ２２）。
【００８０】
予定時刻算出部１３は、例えば、ユーザが、予兆データで表される準備動作を行ってから、その準備動作に続く実操作を行うまでの時間を推定する。そして、予定時刻算出部１３は、推定した時間と操作受信部１０が予兆データを受信した時刻から、予定時刻を算出る。端末３と操作情報制御装置１の間の通信の遅延が一定であるなら、予定時刻算出部１３は、推定した時間を予兆データの受信時刻に足すことにより、予定時刻を算出することができる。
【００８１】
例えば、予兆データが、指がタッチパネルに接近することを表すデータである場合、実操作はタッチパネルへの指の接触である。予定時刻算出部１３は、タッチパネルと指の間の距離と、指がタッチパネルに接近する速度に基づき、予兆データ取得時から、タッチパネルへの指の接触までの時間を算出する。予兆データは、タッチパネルと指の間の距離の推移を表すデータを含んでいればよい。予定時刻算出部１３は、予兆データに含まれるタッチパネルと指の間の距離の時系列情報から、指がタッチパネルに接近する速度を算出すればよい。
【００８２】
予兆データの取得から実操作までの時間は、例えば、準備動作の種類毎に、あらかじめ実験的に得られた時間であってもよい。この場合、予定時刻算出部１３は、準備動作の種類毎の、予兆データの取得から実操作までの時間を保持していればよい。そして、予定時刻算出部１３は、操作受信部１０における予兆データの受信時刻に、その予兆データの準備動作の種類に関連付けられている時間を足した時刻を、予定時刻にすればよい。
【００８３】
操作受信部１０が、算出された予定時刻までに実操作データを受信しなかった場合（ステップＳ２３、Ｎ）、操作出力部１４は、生成された補完データを、算出された予定時刻に、表示装置２の画面生成部２０に出力する（ステップＳ２５）。
【００８４】
補完データを受信した画面生成部２０は、その補完データの操作が表す指示に基づく処理を実行し、操作後の画面を生成する。画面生成部２０は、生成した画面を表示部２１に表示させる。例えば、補完データの操作が文字や図形の描画であるなら、画面生成部２０は、表示部２１に表示する画面上に、補完データの操作によって描かれる文字や図形を生成する。
【００８５】
なお、端末３のユーザが、予兆データによって表される準備動作に続く操作を中止する場合もある。操作出力部１４は、操作受信部１０が予兆データを受信してから所定時間以内に実操作データを受信しなかった場合、画面を補完データの操作が行われない状態に戻す指示である取消指示を、画面生成部２０に送信してもよい。操作出力部１４は、取消指示の対象の補完データを、例えば、それぞれの補完データに付与された識別子によって指定する。操作出力部１４は、取消指示に加えて、その取消指示の対象の補完データを送信してもよい。画面生成部２０は、取り消し指示を受信した場合、画面を、補完データの操作による処理が行われる前の状態に戻す。例えば、前述のように補完データの操作が文字や図形の描画であるなら、画面生成部２０は、表示部２１に表示する画面上に生成した、補完データの操作によって描かれる文字や図形を消去する。
【００８６】
また、操作出力部１４が補完データを送信した後に、操作受信部１０が実操作データを受信した場合、操作出力部１４は、受信された実操作データと、その補完データの取消指示を、画面生成部２０に送信する。この場合、画面生成部２０は、画面上に、補完データの操作によって描かれた文字や図形に重畳させて、実操作データの操作による文字や図形を描く。そして、画面生成部２０は、補完データの操作によって描かれる文字や図形を、画面から消去する。実操作データと、補完データの取消指示の、操作出力部１４による送信の順序は、上述の順序であることが望ましいが、逆であっても構わない。
【００８７】
操作受信部１０が、算出された予定時刻までに実操作データを受信した場合（ステップＳ２３、Ｙ）、操作出力部１４は、操作受信部１０が受信した実操作データを表示装置２の画面生成部２０に出力する（ステップＳ２５）。この場合、操作出力部１４は、算出された予定時刻までに、実操作データを画面生成部２０に出力すればよい。操作出力部１４は、算出された予定時刻に、実操作データを画面生成部２０に出力してもよい。
【００８８】
実操作データを受信した画面生成部２０は、その実操作データの操作によって指示された処理を実行し、操作後の画面を生成する。画面生成部２０は生成した画面を表示部２１に表示させる。
【００８９】
本実施形態には、転送により操作データを共有する、互いに通信が可能な複数の装置間で、他の装置からの操作データの転送の遅延による、円滑なコミュニケーションの阻害を軽減できるという効果がある。
【００９０】
その理由は、予兆データから推定した操作と予兆データの受信時刻から算出した予定時刻までに、操作受信部１０が実操作データを受信しなかった場合、操作出力部１４が、推定した操作を表す補完データを出力するからである。
【００９１】
図５は、端末３における予兆データ及び実操作データの送信と、操作情報制御装置１における予兆データ及び実操作データの受信と補完データの送信のタイミングの一例を表す図である。図５の例では、実操作データ送信時の遅延時間は、予兆データ送信時の遅延時間と比較して、拡大している。端末３における予兆データ送信時刻と実操作データ送信時刻の差より、操作情報制御装置１における予兆データ受信時刻と実操作データ受信時刻の差の方が大きい。
【００９２】
ネットワーク４の通信遅延や輻輳の増大により、操作の結果の画面を端末３と共有する情報処理装置５への端末３からの操作データの転送の遅延が拡大した場合、端末３で操作が行われてから表示部２１に操作の結果が表示されるまでのタイムラグも拡大する。通信遅延が存在していても、遅延時間が一定であり、前述のタイムラグが一定であれば、端末３のユーザと情報処理装置５のユーザは、その一定の長さのタイムラグが存在することを前提として、円滑にコミュニケーションを行うことが可能である。しかし、特にネットワーク４を介する操作データの転送遅延が拡大した場合、端末３のユーザと情報処理装置５のユーザは、端末３と情報処理装置５が共有する画面を介したコミュニケーションを、円滑に行うことができなくなる。
【００９３】
本実施形態では、操作推定部１２が端末３のユーザの操作を表す補完データを、予兆データから推定する。そして、予定時刻算出部１３が算出した予定時刻までに操作受信部１０が実操作データを受信しない場合、操作出力部１４が予定時刻に補完データを画面生成部２０に対して出力する。前述の例では、予定時刻算出部１３が算出する予定時刻は、予兆データの予備動作に関連する操作の実操作データを、操作受信部１０が受信する時刻の推定値である。本実施形態の操作情報制御装置１は、ネットワーク４の通信遅延が拡大している場合に、前述のタイムラグを拡大させない。このことにより、端末３のユーザと情報処理装置５のユーザの円滑なコミュニケーションの、転送遅延の変動による阻害を軽減する効果が得られる。
【００９４】
（第１の実施形態の第１の変形例）
以上で説明したように、第１の実施形態では、予定時刻算出部１３が算出する予定時刻は、予兆データの予備動作に関連する操作の実操作データを操作受信部１０が受信する時刻の推定値である。この場合の予定時刻は、実操作データの転送時における遅延時間が、予兆データの転送時における遅延時間と同じである場合に、操作受信部１０が実操作データを受信する時刻である。
【００９５】
予定時刻算出部１３は、上述の第１の実施形態のようにして予定時刻を算出するのではなく、端末３のユーザが実操作を行う時刻を推定し、その時刻に、情報処理装置５の表示部２１にその実操作の補完操作の結果が表示されるように、予定時刻を算出してもよい。本変形例の予定時刻は、実操作データの転送時における遅延時間が無い又は無視できると仮定した場合に、操作受信部１０が端末３から実操作データを受信する時刻である。
【００９６】
この場合、ステップＳ２２において、予定時刻算出部１３は、例えば、予兆データ受信時刻と、遅延検出部１５が検出した予兆データ受信時の遅延時間と、予兆データの準備動作からその準備動作に続く実操作までの推定時間から、予定時刻を算出する。この推定時間は、準備動作が検出された時刻から、その準備動作に続く実動作が検出される時刻までの時間の推定値であればよい。以下では、この推定時間を、準備動作時間とも表記する。予定時刻算出部１３は、予兆データ受信時刻に、準備動作からその準備動作に続く実操作までの推定時間を足し、検出された予兆データ受信時の遅延時間を引いた時刻を、予定時刻として算出すればよい。
【００９７】
この場合、予定時刻は端末３のユーザが実操作を行う時刻の推定時刻であるので、その時刻の推定が正しければ、実操作データは、算出された予定時刻まで受信されない。予定時刻の推定が正しくない場合は、予定時刻までに実操作データが受信されることもあり得る。
【００９８】
算出された予定時刻までに実操作データが受信されなかった場合、操作出力部１４は、予定時刻に、補完データを画面生成部２０に送信する。予定時刻が算出された時刻が、算出された予定時刻以前である場合、操作出力部１４は、すぐに補完データを画面生成部２０に送信する。また、算出された予定時刻以前に実操作データが受信された場合、操作出力部１４は、予定時刻に、受信された実操作データを画面生成部２０に送信すればよい。
【００９９】
遅延検出部１５は、常時あるいは所定の時間毎に、データ転送及び音声信号の遅延時間を測定していればよい。予兆データの受信時刻と遅延時間の測定時刻が異なる場合、予定時刻算出部１３は、予兆データの受信時刻に最も近い時刻に測定した遅延時間を、予兆データ受信時の遅延時間にすればよい。
【０１００】
以上のように予定時刻算出部１３が予定時刻を算出することにより、操作情報制御装置１は、ネットワーク４の通信遅延が無視できない長さである場合でも、端末３のユーザが操作を行うと推定される時刻に、その操作の推定操作の結果を、表示部２１に表示する。このことにより、端末３のユーザと情報処理装置５のユーザの円滑なコミュニケーションの、転送遅延の変動による阻害を、さらに軽減する効果が得られる。
【０１０１】
なお、予定時刻算出部１３は、上述の本変形例の予定時刻を算出することに加えて、予兆データの受信時刻に準備動作時間を加えた時刻を、表示変更時刻として算出してもよい。さらに、操作出力部１４は、算出された表示変更時刻と、操作データが補完データであることを表す識別子を付加した補完データを、画面生成部２０に送信してもよい。
【０１０２】
この場合、画面生成部２０は、補完データに操作データが補完データであることを表す識別子が付加されていれば、その補完データを表す操作による描画と、実操作データを表す操作による描画が判別可能な形式で、その補完データが表す操作の後の画面を生成する。例えば、補完データがストロークや点などの図形や文字の描画を表す場合、画面生成部２０は、あらかじめ設定された、実操作データが表す操作により描画される図形や文字の色として使用されない色を使用して、補完データが表す操作の図形や文字を描画すればよい。画面生成部２０は、補完データを表す操作によって描かれる図形や図形だけを点滅させてもよい。画面生成部２０は、補完データが表す操作によって描かれる文字や図形だけに、矢印やアイコンなどの所定の図形が付加された画面を生成してもよい。
【０１０３】
そして、画面生成部２０は、画面変更時刻までに補完操作に関連する実操作を受信しなかった場合、画面変更時刻に、補完データが表す操作による描画を実操作による描画と同じ形式に変更する。補完データの受信時刻が表示変更時刻以後であれば、画面生成部２０は、実操作による描画と同じ形で、補完データが表す操作による描画を行えばよい。
【０１０４】
（第１の実施形態の第２の変形例）
予定時刻算出部１３は、上述の第１の実施形態のようにして予定時刻を算出するのではなく、端末３のユーザが実操作を行ってから、情報処理装置５の表示部２１にその操作の結果が表示されるまでの時間が一定になるように、予定時刻を算出してもよい。
【０１０５】
この場合、ステップＳ２２において、予定時刻算出部１３は、例えば、予兆データ受信時刻と、遅延検出部１５が検出した予兆データ受信時の遅延時間と、予兆データの準備動作からその準備動作に続く実操作までの推定時間から、予定時刻を算出する。予定時刻算出部１３は、予兆データ受信時刻に、所定の一定の遅延時間と準備動作からその準備動作に続く実操作までの推定時間を足し、検出された予兆データ受信時の遅延時間を引いた時刻を、予定時刻として算出すればよい。
【０１０６】
そして、算出された予定時刻までに実操作データが受信されなかった場合、操作出力部１４は、予定時刻に、補完データを画面生成部２０に送信する。また、算出された予定時刻以前に実操作データが受信された場合、操作出力部１４は、予定時刻に、受信された実操作データを画面生成部２０に送信してもよい。
【０１０７】
遅延検出部１５は、常時あるいは所定の時間毎に、データ転送及び音声信号の遅延時間を測定していればよい。予兆データの受信時刻と遅延時間の測定時刻が異なる場合、予定時刻算出部１３は、予兆データの受信時刻に最も近い時刻に測定した遅延時間を、予兆データ受信時の遅延時間にすればよい。
【０１０８】
以上のように予定時刻算出部１３が予定時刻を算出することにより、操作情報制御装置１は、ネットワーク４の通信遅延が変動する場合でも、端末３のユーザが操作を行ってから、その操作の結果が表示部２１に表示されるまでの時間を、一定に保つことができる。このことにより、端末３のユーザと情報処理装置５のユーザの円滑なコミュニケーションの、転送遅延の変動による阻害を、さらに軽減する効果が得られる。
【０１０９】
（第１の実施形態の第３の変形例）
また、端末３のユーザと情報処理装置５のユーザが、共有する画面によるコミュニケーションに加えて、例えば端末３及び情報処理装置５のそれぞれで稼働するソフトフォンにより、音声通話を行っていることもある。その場合、予定時刻算出部１３は、実操作データの転送時における遅延時間が、音声信号の遅延時間に等しい場合に、操作受信部１０が実操作データを受信する時刻を、前述の予定時刻として算出してもよい。
【０１１０】
この場合、ステップＳ２２において、予定時刻算出部１３は、例えば、遅延検出部１５が検出した、端末３と操作情報制御装置１との間の、データ転送及び音声信号の遅延時間を使用して、予定時刻を算出する。遅延検出部１５は、常時あるいは所定の時間毎に、データ転送及び音声信号の遅延時間を測定していればよい。
【０１１１】
データ転送の遅延時間の検出方法は、例えば、測定用パケットによりＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）を測定する方法など、既存の任意の方法でよい。
【０１１２】
音声信号の遅延時間の検出方法も、既存の任意の方法でよい。例えば、情報処理装置５が、端末３から送信された測定用パケットの遅延を測定し、その測定結果から、音声信号の遅延時間を推定することができる。端末３における音声の入力から音声信号の送信までの時間と、情報処理装置５における音声信号の受信から音声出力までの時間が既知であれば、端末３から送信された測定用パケットの遅延を測定することにより、音声信号の遅延時間を推定することが可能である。あるいは、情報処理装置５は、端末３における音声の入力から、情報処理装置５におけるその音声の出力までの時間を測定することもできる。この場合、端末３は測定用の音声を発信し、音声信号として情報処理装置５に送信すればよい。端末３は、さらに、測定用の音声を発信した時刻を、情報処理装置５に送信すればよい。情報処理装置５は、受信した音声信号から生成した音声から、測定用の音声を検出すればよい。そして、情報処理装置５は、測定用の音声の、発信時刻と検出時刻の差を算出すればよい。
【０１１３】
そして、予定時刻算出部１３は、データ転送が、検出された音声信号の遅延時間と同じ時間遅延する場合の、前述の予定時刻を算出すればよい。予定時刻算出部１３は、操作受信部１０における予兆データの受信時刻から、検出されたデータ転送の遅延時間を引き、検出された音声信号の遅延時間とその予兆データの準備動作の種類に関連付けられている時間を足した時刻を、予定時刻にすればよい。
【０１１４】
ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークを介する通信では、データの転送はＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）により行われることが多い。一方、ソフトフォンとして実装されるＩＰ電話では、音声信号の送信は、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）により行われることが多い。また、ＩＰ電話は、受信した音声信号のパケットをバッファリングしてから、音声に変換することが多い。従って、同じＩＰネットワークを介する通信であっても、データ転送の遅延時間と、音声信号の遅延時間は、同じであるとは限らない。
【０１１５】
操作出力部１４は、以上のようにして算出された予定時刻までに実操作データが届かなかった場合、予定時刻に、補完データを画面生成部２０に出力する。予定時刻以前に実操作データが届いた場合、操作出力部１４は、予定時刻に、実操作データを画面生成部２０に出力してもよい。
【０１１６】
このことにより、データ転送の遅延時間と音声信号の遅延時間が異なる場合でも、情報処理装置５における操作データ又は補完データの操作による画面の変化と音声の再生のタイミングは、端末３のユーザの操作と発話のタイミングと同等になる。従って、例えば、端末３のユーザが、画面に図形を描きながら音声によって説明を行った場合、情報処理装置５における図形の描画及び音声の再生のタイミングは、端末３のユーザによる説明時の描画及び発話のタイミングと同等になる。従って、実操作データの転送の遅延時間と音声信号の遅延時間が異なることによる、端末３のユーザと情報処理装置５のユーザの円滑なコミュニケーションの阻害を、さらに軽減する効果が得られる。
【０１１７】
（第２の実施形態）
次に、本発明の第２の実施形態について、図面を参照して詳細に説明する。
【０１１８】
図６は本実施形態の情報処理システム１００Ａの構成を表すブロック図である。
【０１１９】
図６と図１を比較すると、情報処理システム１００Ａは、情報処理装置５の代わりに情報処理装置５Ａを含む点が、情報処理システム１００と異なる。情報処理装置５Ａは、操作情報制御装置１のかわりに操作情報制御装置１Ａを含む点が、情報処理装置５と異なる。
【０１２０】
また、操作情報制御装置１Ａは、差異判定部１６を含む点が、操作情報制御装置１と異なる。
【０１２１】
差異判定部１６は、同一の予兆データに関連付けられている、表示装置２に送信された補完データの操作と、端末３から受信した実操作データが表す操作との差異を算出する。差異判定部１６は、算出した差異と所定の閾値の比較を行う。差異判定部１６は、操作の種類毎に定められた操作の差の評価値を算出すればよい。そして、差異判定部１６は、算出した評価値と、操作の種類毎に定められた、評価値に対する閾値の比較を行えばよい。
【０１２２】
操作出力部１４は、さらに、算出された差異が閾値によって表される差異より大きい場合、実操作データとの差異を算出した補完データによる表示を取り消す取消指示と、実操作データを、画面生成部２０に送信する。
【０１２３】
取消指示を受信した画面生成部２０は、表示部２１に表示する画面を、取消指示の対象の補完データの操作による処理が行われる前の状態に戻す。そして、画面生成部２０は、受信した実操作データの操作による処理を行って、表示部２１に表示する画面を生成する。画面生成部２０は、生成した画面を表示部２１に表示させる。
【０１２４】
実操作データと、補完データの取消指示の、操作出力部１４による送信の順序は、上述の順序と逆でも構わない。その場合、画面生成部２０は、表示部２１に表示する画面に、補完データの操作による描画に重畳して、実操作データの操作による描画を行う。そして、画面生成部２０は、補完データの操作による描画を画面から消す。
【０１２５】
次に、本実施形態の操作情報制御装置１Ａの動作について、図面を参照して詳細に説明する。
【０１２６】
図７は、本実施形態の操作情報制御装置１Ａの動作を表すフローチャートである。
【０１２７】
図７のステップＳ２０からステップＳ２５の動作は、図４の同一の符号のステップの動作と同じであるので、説明を省略する。
【０１２８】
操作受信部１０がステップＳ２３で予定時刻までに実操作データを受信していない場合（ステップＳ２３、Ｎ）は、操作受信部１０は、補完データの送信（ステップＳ２５）以後に、実操作データを受信する（ステップＳ２６）。
【０１２９】
差異判定部１６は、送信済みの補完データと受信された実操作データに基づき、補完データが表す補完操作と、実操作データが表す実操作の差異を導出する。導出された差異が、差異に対する所定の閾値より小さい場合（ステップＳ２７、Ｎ）、処理はステップＳ２０に戻る。
【０１３０】
なお、前述のように、操作出力部１４は、予兆データを受信してから所定時間以上経過した場合、その予兆データから生成した補完データの操作が行われない状態に戻す取消指示を送信してもよい。取消指示送信後に実操作データを受信した場合、操作情報制御装置１Ａは、ステップＳ２７及び後述のステップＳ２８の動作を行わずに、実操作データを画面生成部２０に出力すればよい。
【０１３１】
差異の算出法は、既存の任意の方法でよい。例えば、実操作データ及び補完データが、図形を入力する操作を表す場合、差異判定部１６は、実操作データにより描かれる図形の始点と、補完データにより描かれる図形の始点の距離を、差異の評価値にする。実操作データ及び補完データが例えばソフトウェアキーボードで文字を入力する操作を表す場合、差異判定部１６は、実操作データの文字と補完データの文字の異同を判定すればよい。そして、差異判定部１６は、実操作データの文字と補完データの文字が同じ場合、差異の評価値を０に、実操作データの文字と補完データの文字が異なる場合、差異の評価値を所定値にすればよい。この場合の閾値は、０とその所定値の間の値であればよい。
【０１３２】
算出された差異が、差異に対する所定の閾値より大きい場合（ステップＳ２７、Ｙ）、操作出力部１４は、補完データの取消指示を送信する（ステップＳ２８）。
【０１３３】
補完データの取消指示を受信した画面生成部２０は、表示部２１に表示する画面を、その補完データが表す操作による処理が行われる前の状態に戻す。
【０１３４】
操作出力部１４は、取消指示を送信した後、受信された実操作データを、画面生成部２０に送信する（ステップＳ２４）。
【０１３５】
実操作データを受信した画面生成部２０は、受信した実操作データが表す操作による処理を行った結果の画面を生成し、生成した画面を表示部２１に表示させる。
【０１３６】
なお、操作出力部１４は、算出された差異が、差異に対する所定の閾値より大きい場合（ステップＳ２７、Ｙ）、受信された実操作データを画面生成部２０に送信してから（ステップＳ２４）、補完データの取消指示を送信してもよい（ステップＳ２８）。
【０１３７】
以上で説明した本実施形態には、第１の実施形態と同じ効果に加えて、端末３のユーザと情報処理装置５のユーザが、正確な操作を共有することができるという効果がある。
【０１３８】
その理由は、本実施形態の差異判定部１６が、送信された補完データが表す操作と、その補完データ送信後に受信された実操作データが表す操作の間の、所定の閾値で表される差異より大きな差異の有無を判定するからである。そのような差異が存在する場合、操作出力部１４が、その補完データの取消指示と、受信された実操作データを、画面生成部２０に対して出力する。その結果、実操作と補完操作の差が大きい場合、補完操作による表示は、実操作による表示に修正される。
【０１３９】
（第３の実施形態）
次に、本発明の第３の実施形態について、図面を参照して詳細に説明する。
【０１４０】
図８は、本実施形態の情報処理装置５Ｂの構成を表すブロック図である。
【０１４１】
図８を図１と比較すると、情報処理装置５Ｂは、第１の実施形態の情報処理装置５の各構成要素に加えて、端末３の構成要素である入力部３０と、準備動作検出部３１と、操作検出部３２を含む。情報処理装置５Ｂの各構成要素は、図１の、同じ番号が付与された構成要素と同じであるので、説明を省略する。
【０１４２】
図９は、本実施形態の情報処理システム１００Ｂの構成を表す図である。
【０１４３】
図９を図２と比較すると、情報処理システム１００Ｂは、第１の実施形態の情報処理システム１００の端末３及び情報処理装置５を、それぞれ情報処理装置５Ｂで置き換えたものである。図９でネットワーク４に接続されている情報処理装置５Ｂの台数は２台であるが、３台以上の情報処理装置５Ｂがネットワーク４に接続されていてもよい。
【０１４４】
次に、本実施形態の情報処理装置５Ｂの動作について、図面を参照して詳細に説明する。
【０１４５】
情報処理装置５Ｂは、第１の実施形態の端末３及び情報処理装置５の双方として動作する。例えば、ある情報処理装置５Ｂのユーザがその情報処理装置５Ｂに対して操作を行う場合、その情報処理装置５Ｂは端末３として動作し、他の情報処理装置５Ｂは情報処理装置５として動作する。各情報処理装置５Ｂは、同時に端末３及び情報処理装置５として動作してもよい。すなわち、情報処理装置５Ｂは、端末３として、予兆データや実操作データを他の情報処理装置５Ｂに送信しながら、情報処理装置５として、予兆データや実操作データを他の情報処理装置５Ｂから受信してもよい。
【０１４６】
図３は、端末３として動作している、送信側の情報処理装置５Ｂの、入力デバイス情報取得時の動作を表すフローチャートである。
【０１４７】
図４は、情報処理装置５として動作している受信側の情報処理装置５Ｂの、操作情報制御装置１の準備情報受信時の動作を表すフローチャートである。前述のように、準備情報は、予兆データとも表記される。
【０１４８】
送信側の情報処理装置５Ｂの動作は、第１の実施形態の端末３の動作と同じであり、受信側の情報処理装置５Ｂの動作は、第１の実施形態の情報処理装置５の動作と同じであるので、説明を省略する。
【０１４９】
以上で説明した本実施形態には、２台の情報処理装置５Ｂの組で行われるコミュニケーションにおいて、いずれの方向のコミュニケーションにおいても、第１の実施形態と同じ効果がある。
【０１５０】
なお、情報処理装置５Ｂは、操作情報制御装置１の代わりに、第２の実施形態の操作情報制御装置１Ａを含んでいてもよい。
【０１５１】
その場合、本実施形態には、２台の情報処理装置５Ｂの組で行われるコミュニケーションにおいて、いずれの方向のコミュニケーションにおいても、第２の実施形態と同じ効果がある。
【０１５２】
（第４の実施形態）
次に、本発明の第４の実施形態について、図面を参照して詳細に説明する。
【０１５３】
図１０は、本実施形態の情報処理システム１００Ｃの構成を表すブロック図である。
【０１５４】
図１０を参照すると、情報処理システム１００Ｃは、操作情報制御装置１と、表示装置２と、端末３を含む。本実施形態の操作情報制御装置１と、表示装置２と、端末３は、それぞれ、第１の実施形態の操作情報制御装置１と、表示装置２と、端末３と同じである。したがって、各装置の説明は省略する。
【０１５５】
図１１は、情報処理システム１００Ｃが含む各装置の接続を表す図である。
【０１５６】
各装置は、ネットワーク４を介して接続されている。表示装置２は、１台であってもよい。表示装置２は、図１１のように、２台以上存在していてもよい。
【０１５７】
次に、本実施形態の動作について、図面を参照して詳細に説明する。
【０１５８】
図３は、本実施形態の端末３の入力デバイス情報取得時の動作を表すフローチャートである。
【０１５９】
図４は、本実施形態の操作情報制御装置１の準備情報受信時の動作を表すフローチャートである。
【０１６０】
本実施形態の操作情報制御装置１は、複数の表示装置２がネットワーク４に接続されている場合、表示装置２の各々に対して、補完データや実操作データを送信する。
【０１６１】
その他の本実施形態の端末３及び操作情報制御装置１の動作は、それぞれ、第１の実施形態の端末３及び操作情報制御装置１の動作と同じであるので、説明を省略する。
【０１６２】
以上で説明した本実施形態には、第１の実施形態と同じ効果がある。
【０１６３】
本実施形態には、さらに、実操作データの受信側のユーザが複数存在する場合に、コストを低減できるという効果がある。
【０１６４】
その理由は、受信側の複数のユーザがそれぞれ保持する装置が、操作情報制御装置１を含まないからである。本実施形態では、受信側の複数のユーザは、それぞれ、表示装置２を保持していればよい。操作情報制御装置１は１台しか必要ない。
【０１６５】
（構成例）
次に、本発明の第１の実施形態に基づく構成例について説明する。本構成例は、手書き共有システムである。
【０１６６】
図１２は、本構成例の手書き共有システムの構成を表す図である。
【０１６７】
図１２を参照すると、手書き共有システムは、インターネット４２０を介して接続されている、タブレット端末４００とＰＣ４１０（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）を含む。タブレット端末４００が、第１の実施形態の端末３である。ＰＣ４１０が、情報処理装置５である。インターネット４２０が、ネットワーク４である。
【０１６８】
タブレット端末４００は、静電容量方式のタッチスクリーンを備える。タブレット端末４００では、ユーザが文字やストロークを描画できる手書きプログラムが動作している。タブレット端末４００は、タブレット端末４００のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が実行する手書きプログラムにより、図１の端末３として動作する。手書きプログラムは、タブレット端末４００を、入力部３０と、準備動作検出部３１と、操作検出部３２と、画面生成部３３と、表示部３４として動作させる。ユーザＡは、手の指をタッチスクリーンに接触させて、手書きプログラムを実行するタブレット端末４００を操作する。タブレット端末４００のタッチスクリーンが、入力部３０及び表示部３４として動作する。
【０１６９】
ＰＣ４１０は、ディスプレイ装置を備える。ＰＣ４１０は、ＰＣ４１０のＣＰＵが実行する操作情報制御プログラムにより、図１の操作情報制御装置１として動作する。操作情報制御プログラムは、ＰＣ４１０を、操作受信部１０と、操作記憶部１１と、操作推定部１２と、予定時刻算出部１３と、操作出力部１４として動作させる。操作情報制御プログラムは、ＰＣ４１０を、さらに、遅延検出部１５として動作させてもよい。
【０１７０】
ＰＣ４１０は、さらに、ＰＣ４１０のＣＰＵが実行するビューワプログラムにより、図１の表示装置２として動作する。ビューワプログラムは、ＰＣ４１０を、画面生成部２０と、表示部２１として動作させる。ＰＣ４１０のディスプレイ装置が、表示部２１として動作する。
【０１７１】
タブレット端末４００及びＰＣ４１０のそれぞれにおいて、通話プログラムが動作している。
【０１７２】
本構成例では、タブレット端末４００を使用するユーザＡと、ＰＣ４１０を使用するユーザＢが、通話ソフトを使って会話しながら、手書き共有システムを使って遠隔コミュニケーションを行う。
【０１７３】
タブレット端末４００上で動作する各プログラムは、タブレット端末４００が備える記憶装置に格納され、タブレット端末４００のメモリ上に転送されてタブレット端末４００のＣＰＵにより実行される。
【０１７４】
ＰＣ４１０上で動作する各プログラムは、ＰＣ４１０が備える記憶装置に格納され、ＰＣ４１０のメモリ上に転送されてＰＣ４１０のＣＰＵにより実行される。
【０１７５】
タブレット端末４００及びＰＣ４１０の記憶装置は、例えば、ハードディスクや不揮発メモリである。タブレット端末４００及びＰＣ４１０の、記憶装置と、メモリと、ＣＰＵは図示されない。
【０１７６】
タブレット端末４００の手書きプログラムが起動すると、タブレット端末４００は、タブレット端末４００のタッチスクリーンの静電容量の値を取得する。
【０１７７】
静電容量方式のタッチスクリーンは、指先と導電膜との間での静電容量の変化を捉えて位置を検出する。指がセンサ表面に近づくだけで静電結合が起きるため、指が実際にタッチスクリーンに接触する前に状況変化を検知できる。なお、静電容量は指先とタッチスクリーン間の距離に反比例する。以下の説明における静電容量の値と、指先とタッチスクリーンの距離は、単なる一例であり、これらに限られない。
【０１７８】
タブレット端末４００のタッチスクリーンに内蔵されたコンデンサは、指がタッチスクリーンに接触したときに、静電容量が１００μF(マイクロ（＝１０の６乗分の１）ファラド)になるものとする。
【０１７９】
準備動作検出部３１は、静電容量が１μFを示したとき、タッチスクリーンに指を近づけていると判断し、予兆データを生成する。静電容量が１μFのとき、指とタッチスクリーン間の距離は約２センチとする。
【０１８０】
準備動作検出部３１は、１番目の予兆データ（１）をＰＣ４１０に送信する。予兆データは、予兆データ用の識別子と、操作発生時刻と、静電容量が変化した範囲の中心位置情報と、指とタッチスクリーン間の距離と、測定されたタブレット端末４００とＰＣ４１０間のネットワーク遅延を含む。予兆データ（１）では、指とタッチスクリーン間の距離は「２センチ」であり、ネットワーク遅延は「０．１ｓ」である。なお、準備動作検出部３１は、ネットワーク遅延をＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）を用いて測定する。
【０１８１】
準備動作検出部３１は、予兆データを検出すると次に実操作データを検出するまで、０．２秒後間隔で静電容量を測定することで静電容量の変化を監視する。最初の予兆データの送信から０．２秒後の静電容量の測定結果は４０μFであるとする。また、この場合の指とタッチスクリーン間の距離は「１．２センチ」であるとする。また、ネットワーク遅延の測定結果は「０．１ｓ」であるとする。準備動作検出部３１は、これらの値を含む予兆データ（２）をＰＣ４１０に送信する。さらに０．２秒後の静電容量の測定結果は８０μFであるとする。また、この場合の、指とタッチスクリーン間の距離は「０．４センチ」であるとする。また、ネットワーク遅延の測定結果は「０．１５ｓ」であるとする。準備動作検出部３１は、これらの値を含む予兆データ（３）をＰＣ４１０に送信する。
【０１８２】
そして、実際にタブレット端末４００に指が接触したとき、静電容量は１００μFになる。操作検出部３２は、実操作データ用の識別子と、操作発生時刻と、タッチした位置情報を含む実操作データ（１）をＰＣ４１０に送信する。画面生成部３３は、手書きプログラムの画面上に描画を行う。
【０１８３】
ＰＣ４１０の操作受信部１０は、タブレット端末４００から送信されたデータを受信する。操作受信部１０は、受信したデータが、「予兆データ」または「実操作データ」であるのかを識別子をみて判別する。本構成例の識別子は、データが「予兆データ」または「実操作データ」のいずれであるかを特定する情報である。
【０１８４】
操作受信部１０は、予兆データ（１）を取得し、次に予兆データ（２）を取得する。
【０１８５】
操作推定部１２は、予兆データ（１）と予兆データ（２）の、静電容量が変化した範囲の中心位置情報と、指とタッチスクリーン間の距離から、指がタッチスクリーンに接触する予測位置を算出し、補完データを生成する。
【０１８６】
予定時刻算出部１３は、予兆データ（１）と予兆データ（２）の指とタッチスクリーン間の距離から、指の移動速度を計算する。予定時刻算出部１３は、それらの距離と、算出した移動速度と、予兆データ（１）あるいは予兆データ（２）の指とタッチスクリーン間の距離の測定時刻から、実際に指がタッチスクリーンに接触する時刻までの時間を推定する。前述の例では、推定された時間は「０．５秒」である。そして、予定時刻算出部１３は、推定した時間と、予兆データ（１）あるいは予兆データ（２）の受信時刻から、予定時刻算出部１３は、実操作データを受信する時刻を、予定時刻として算出する。予定時刻算出部１３は、第１の実施形態の各変形例のように、ネットワーク遅延を加味して、予定時刻を算出してもよい。
【０１８７】
操作受信部１０が予定時刻より前に次の予兆データ（３）を受信した場合、操作推定部１２は、予兆データ（３）を使用して補完データを再生成してもよい。また、この場合、予定時刻算出部１３は、予兆データ（３）を使用して予定時刻を再計算してもよい。操作推定部１２及び予定時刻算出部１３は、予兆データ（３）を破棄してもよい。
【０１８８】
操作受信部１０が予定時刻まで実操作データを受信しない場合、操作出力部１４は、予定時刻に、補完データを画面生成部２０に出力する。
【０１８９】
画面生成部２０は、補完データが表す操作が実行された結果を、ディスプレイである表示部２１に表示する。
【０１９０】
補完データ送信後に実操作データ（１）を受信した場合、ＰＣ４１０は、第２の実施形態の操作情報制御装置１Ａのように動作してもよい。すなわち、補完データと実操作データ（１）のそれぞれの操作の差異が大きい場合、操作出力部１４は、補完データの取消指示と実操作データ（１）を、画面生成部２０に送信してもよい。あるいは、操作出力部１４は、実操作データ（１）を画面生成部２０に送信してもよい。この場合、実操作データ（１）の操作による文字や図形は、補完データによる文字や図形に重畳して表示される。そして、その後、操作出力部１４は、補完データの取消指示を画面生成部２０に送信してもよい。
【０１９１】
なお、上述の例では、予定時刻算出部１３は、指とタッチスクリーン間の距離から、指の移動速度を計算しているが、予定時刻算出部１３は、静電容量の変化量から指の移動速度を計算することも可能である。
【０１９２】
ユーザＡとユーザＢが会話しながら、手書きされた描画を共有する場合、手書きの描画が遅延すると、円滑なコミュニケーションが成立しなくなる。そこで、本発明の各実施形態や構成例によって、インターネットのような遅延幅が増減する環境でも、円滑なコミュニケーションが可能になる。
【０１９３】
（第５の実施形態）
次に、本発明の第５の実施形態について、図面を参照して詳細に説明する。
【０１９４】
図１３は、本実施形態の操作情報制御装置１の構成を表す図である。
【０１９５】
図１３を参照すると、本実施形態の操作情報制御装置１は、端末３に対するユーザの操作の準備動作と前記操作を検出する端末３から、前記準備動作を表す準備情報と前記操作を表す操作情報を、時間間隔をおいて受信する操作受信部１０と、前記準備動作の種類と前記操作の種類を関連付けて記憶する操作記憶部１１と、前記準備情報から、当該準備動作後の、当該準備情報の種類に関連する種類の前記操作を推定する操作推定部１２と、前記操作情報を受信及び当該操作情報の前記操作を実行して結果を表示する表示装置２に、前記操作情報を前記端末から受信して送信する予定時刻を、前記準備情報及び前記準備情報の受信時刻から算出する予定時刻算出部１３と、前記予定時刻までに前記操作情報が受信された場合当該操作情報を表示装置２に送信し、前記予定時刻までに前記操作情報が受信されない場合、推定された前記操作である推定操作の前記操作情報を、前記予定時刻に表示装置２に送信する操作出力部１４と、を含む。
【０１９６】
以上で説明した本実施形態には、第１の実施形態と同じ効果がある。
【０１９７】
操作情報制御装置１、操作情報制御装置１Ａ、表示装置２、端末３、情報処理装置５、情報処理装置５Ａ、情報処理装置５Ｂは、それぞれ、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。
【０１９８】
図１４は、操作情報制御装置１、操作情報制御装置１Ａ、表示装置２、端末３、情報処理装置５、情報処理装置５Ａ、及び情報処理装置５Ｂを実現するために使用されるコンピュータ１０００の構成を表す図である。
【０１９９】
図１４を参照すると、コンピュータ１０００は、プロセッサ１００１と、メモリ１００２と、記憶装置１００３と、通信インタフェース１００４を含む。通信インタフェース１００４は、ネットワーク４に接続されている。プロセッサ１００１は、通信インタフェース１００４を介して、ネットワーク４に接続されている他の装置と通信することが可能である。プロセッサ１００１は、記録媒体１００５にアクセスできる。記憶装置１００３は、コンピュータ１０００が含むメモリやハードディスク装置などの記憶装置により実現される。記録媒体１００５は、ハードディスク装置などの記憶装置や、可搬記録媒体により実現される。記憶装置１００３が、記録媒体１００５として動作してもよい。記録媒体１００５には、コンピュータ１０００を操作情報制御装置１、操作情報制御装置１Ａ、表示装置２、端末３、情報処理装置５、情報処理装置５Ａ、あるいは情報処理装置５Ｂとして動作させるプログラムが格納されている。プロセッサ１００１は、記録媒体１００５に格納されているプログラムを読み出し、読み出されたプログラムをメモリ１００２にロードする。そして、プロセッサ１００１は、メモリ１００２にロードされたプログラムを実行する。プロセッサ１００１がメモリ１００２にロードされたプログラムを実行することにより、コンピュータ１０００は、操作情報制御装置１、操作情報制御装置１Ａ、表示装置２、端末３、情報処理装置５、情報処理装置５Ａ、あるいは情報処理装置５Ｂとして動作する。
【０２００】
操作受信部１０、操作推定部１２、予定時刻算出部１３、操作出力部１４、遅延検出部１５、差異判定部１６、画面生成部２０、表示部２１、入力部３０、準備動作検出部３１、操作検出部３２、画面生成部３３、表示部３４は、例えば、プログラムを記憶する記録媒体１００５からメモリ１００２に読み込まれた、各部の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサ１００１により実現することができる。また、操作記憶部１１は、コンピュータが含むメモリやハードディスク装置である記憶装置１００３により実現することができる。あるいは、操作受信部１０、操作記憶部１１、操作推定部１２、予定時刻算出部１３、操作出力部１４、遅延検出部１５、差異判定部１６、画面生成部２０、表示部２１、入力部３０、準備動作検出部３１、操作検出部３２、画面生成部３３、表示部３４の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
【０２０１】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０２０２】
この出願は、２０１２年８月２８日に出願された日本出願特願２０１２−１８７５８８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０２０３】
本発明は、ネットワークを利用したコミュニケーションサービスや、遠隔操作システムに適用できる。
【符号の説明】
【０２０４】
１、１Ａ    操作情報制御装置
２    表示装置
３    端末
４    ネットワーク
５、５Ａ、５Ｂ    情報処理装置
１０    操作受信部
１１    操作記憶部
１２    操作推定部
１３    予定時刻算出部
１４    操作出力部
１５    遅延検出部
１６    差異判定部
２０、３３    画面生成部
２１、３４    表示部
３０    入力部
３１    準備動作検出部
３２    操作検出部
１００、１００Ａ、１００Ｂ、１００Ｃ    情報処理システム
４００    タブレット端末
４１０    ＰＣ
４２０    インターネット
１０００    コンピュータ
１００１    プロセッサ
１００２    メモリ
１００３    記憶装置
１００４    記録媒体
【図１】
2014034059.tif 000003
【図２】
2014034059.tif 000004
【図３】
2014034059.tif 000005
【図４】
2014034059.tif 000006
【図５】
2014034059.tif 000007
【図６】
2014034059.tif 000008
【図７】
2014034059.tif 000009
【図８】
2014034059.tif 000010
【図９】
2014034059.tif 000011
【図１０】
2014034059.tif 000012
【図１１】
2014034059.tif 000013
【図１２】
2014034059.tif 000014
【図１３】
2014034059.tif 000015
【図１４】
2014034059.tif 000016
【国際調査報告】
2014034059.tif 000017
2014034059.tif 000018
2014034059.tif 000019
2014034059.tif 000020