IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ソニー・コンピュータエンタテインメントの特許一覧

<>
  • 特許-情報処理システム 図1
  • 特許-情報処理システム 図2
  • 特許-情報処理システム 図3
  • 特許-情報処理システム 図4
  • 特許-情報処理システム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-30
(45)【発行日】2022-04-07
(54)【発明の名称】情報処理システム
(51)【国際特許分類】
   G06F 11/36 20060101AFI20220331BHJP
   G06F 3/048 20220101ALI20220331BHJP
   A63F 13/23 20140101ALI20220331BHJP
【FI】
G06F11/36 188
G06F3/048
A63F13/23
【請求項の数】 11
(21)【出願番号】P 2019108030
(22)【出願日】2019-06-10
(65)【公開番号】P2020201706
(43)【公開日】2020-12-17
【審査請求日】2020-06-16
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100122275
【弁理士】
【氏名又は名称】竹居 信利
(74)【代理人】
【識別番号】100102716
【弁理士】
【氏名又は名称】在原 元司
(72)【発明者】
【氏名】小倉 崇史
(72)【発明者】
【氏名】佐藤 雅彦
(72)【発明者】
【氏名】松岡 直樹
(72)【発明者】
【氏名】榎原 貴志
【審査官】今城 朋彬
(56)【参考文献】
【文献】特開昭53-005904(JP,A)
【文献】特開平03-102536(JP,A)
【文献】特開昭56-147205(JP,A)
【文献】特開2010-034644(JP,A)
【文献】特開2017-049773(JP,A)
【文献】特開2014-049005(JP,A)
【文献】特開2003-316577(JP,A)
【文献】米国特許第05157782(US,A)
【文献】特開昭57-182123(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07-11/36
G06F 3/01,3/048
A63F 13/23
(57)【特許請求の範囲】
【請求項1】
ユーザーの操作に応じた処理を実行するターゲット装置に接続される入力装置と、前記入力装置に接続される制御装置と、を含む情報処理システムであって、
前記制御装置は、それぞれユーザーの操作内容を示す、予め用意された複数個の操作データを、1個ずつ順に前記入力装置に対して送信し、
前記入力装置は、前記ターゲット装置がユーザーの操作に応じた処理を実行するために定期的に送信する取得要求を受け付けて、当該取得要求を受け付けるごとに、前記制御装置から送信される操作データを1個ずつ順に前記ターゲット装置に送信し、
前記複数個の操作データは、前記ターゲット装置が定期的に送信する取得要求を受け付けるごとに前記入力装置が送信する操作データを1個ずつ順に記録して得られるデータである
ことを特徴とする情報処理システム。
【請求項2】
請求項1に記載の情報処理システムにおいて、
前記複数個の操作データは、当該操作データを記録する際に前記ターゲット装置が送信する取得要求に応じて前記入力装置が前記ターゲット装置に送信する操作データと同じフォーマットのデータである
ことを特徴とする情報処理システム。
【請求項3】
請求項1又は2に記載の情報処理システムにおいて、
前記入力装置は、
ユーザーによる操作の対象となる操作部材を備え、
前記操作部材に対するユーザーの操作を受け付けて、当該操作の内容を示す操作データを前記ターゲット装置及び前記制御装置の双方に送信する操作記録モード、及び、前記制御装置から送信される操作データを前記ターゲット装置に送信する記録再現モードを少なくとも含む複数の動作モードのいずれかで動作する
ことを特徴とする情報処理システム。
【請求項4】
請求項3に記載の情報処理システムにおいて、
前記制御装置は、前記操作記録モードにおいて前記入力装置から受信した複数個の操作データを記録し、前記記録再現モードでは、前記操作記録モードにおいて記録された複数個の操作データを、受信した順に1個ずつ前記入力装置に対して送信する
ことを特徴とする情報処理システム。
【請求項5】
請求項1から4のいずれか一項に記載の情報処理システムにおいて、
前記制御装置、及び前記入力装置と接続され、前記制御装置と前記入力装置との間のデータの送受信を中継する中継装置をさらに含み、
前記中継装置は、前記制御装置が送信する操作データを一時的に複数個格納し、前記入力装置に対して格納された操作データを1個ずつ順に送信する
ことを特徴とする情報処理システム。
【請求項6】
請求項1から5のいずれか一項に記載の情報処理システムにおいて、
前記制御装置は、前記ターゲット装置が実行する処理の進行に応じて決まるタイミングで、前記予め用意された複数個の操作データを前記入力装置に対して送信する処理を開始する
ことを特徴とする情報処理システム。
【請求項7】
請求項6に記載の情報処理システムにおいて、
前記制御装置は、前記ターゲット装置が表示する映像を取得し、当該取得した映像を解析した結果に基づいて前記タイミングを決定する
ことを特徴とする情報処理システム。
【請求項8】
ユーザーの操作に応じた処理を実行するターゲット装置、及び制御装置と接続される入力装置であって、
それぞれユーザーの操作内容を示す、予め用意された複数個の操作データを、1個ずつ順に前記制御装置から受信し、
前記ターゲット装置がユーザーの操作に応じた処理を実行するために定期的に送信する取得要求を受け付けて、当該取得要求を受け付けるごとに、前記制御装置から送信される操作データを1個ずつ順に前記ターゲット装置に送信し、
前記複数個の操作データは、前記ターゲット装置が定期的に送信する取得要求を受け付けるごとに前記入力装置が送信する操作データを1個ずつ順に記録して得られるデータである
ことを特徴とする入力装置。
【請求項9】
ユーザーの操作に応じた処理を実行するターゲット装置に接続される入力装置と接続される制御装置であって、
それぞれユーザーの操作内容を示す、予め用意された複数個の操作データを、1個ずつ順に前記入力装置に対して送信する送信手段を備え、
前記送信手段は、前記ターゲット装置がユーザーの操作に応じた処理を実行するために定期的に取得要求を送信する時間間隔と対応する時間間隔で、前記複数個の操作データを順に送信し、
前記複数個の操作データは、前記ターゲット装置が定期的に送信する取得要求を受け付けるごとに前記入力装置が送信する操作データを1個ずつ順に記録して得られるデータである
ことを特徴とする制御装置。
【請求項10】
ユーザーの操作に応じた処理を実行するターゲット装置に接続される入力装置と接続されるコンピュータが、それぞれユーザーの操作内容を示す、予め用意された複数個の操作データを、1個ずつ順に前記入力装置に対して送信する送信ステップを含み、
前記送信ステップでは、前記ターゲット装置がユーザーの操作に応じた処理を実行するために定期的に取得要求を送信する時間間隔と対応する時間間隔で、前記複数個の操作データを順に送信し、
前記複数個の操作データは、前記ターゲット装置が定期的に送信する取得要求を受け付けるごとに前記入力装置が送信する操作データを1個ずつ順に記録して得られるデータである
ことを特徴とする情報処理方法。
【請求項11】
ユーザーの操作に応じた処理を実行するターゲット装置に接続される入力装置と接続されるコンピュータに、
それぞれユーザーの操作内容を示す、予め用意された複数個の操作データを、1個ずつ順に前記入力装置に対して送信する送信ステップを実行させるためのプログラムであって、
前記送信ステップでは、前記ターゲット装置がユーザーの操作に応じた処理を実行するために定期的に取得要求を送信する時間間隔と対応する時間間隔で、前記複数個の操作データを順に送信し、
前記複数個の操作データは、前記ターゲット装置が定期的に送信する取得要求を受け付けるごとに前記入力装置が送信する操作データを1個ずつ順に記録して得られるデータである
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザーによる操作の内容を再現する情報処理システム、入力装置、制御装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
一般的に、情報処理装置を使用するユーザーは、その情報処理装置に接続された操作デバイスに対して各種の操作を行うことによって、情報処理装置に所望の処理を実行させる。例えばコンピュータゲームなどの分野では、動作テストなどの目的で、ユーザーが操作デバイスに対して行った操作の内容を記録しておき、後からその操作内容に応じた処理を情報処理装置に実行させたい場合がある。また、ユーザーがある操作を行った場合に実行すべき処理を、そのような操作をユーザーに実際に行わせることなく情報処理装置に実行させたい場合がある。このようにユーザーの実際の操作を契機とせずにユーザーの操作内容に応じた処理を実行させたい場合、その情報処理装置内に、操作デバイスに対して行われた(あるいは行われると想定される)操作の内容を示すデータを記録しておき、記録されたデータを読み出して処理を実行することが考えられる。これにより、ユーザーの実際の操作を契機とせずにユーザーの操作内容を再現することができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
上述したように、情報処理装置内に記録されたデータを用いてユーザーの操作内容を再現することとすると、直接操作デバイスが受け付けた操作内容に応じて処理を実行する場合と比較して、操作内容の再現のために情報処理装置内部で追加的な処理を実行する必要が生じる。そのため、このような追加的な処理を行わない場合と動作環境等に差異が生じ、正確な操作内容の再現が困難になる場合がある。
【0004】
本発明は上述の実情を考慮してなされたものであって、その目的の一つは、ユーザーの実際の操作を契機とせずにユーザーの操作内容を比較的精度よく再現することのできる情報処理システム、入力装置、制御装置、情報処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0005】
本発明に係る情報処理システムは、ユーザーの操作に応じた処理を実行するターゲット装置に接続される入力装置と、前記入力装置に接続される制御装置と、を含む情報処理システムであって、前記制御装置は、それぞれユーザーの操作内容を示す、予め用意された複数個の操作データを、1個ずつ順に前記入力装置に対して送信し、前記入力装置は、前記ターゲット装置がユーザーの操作に応じた処理を実行する場合において当該操作の内容を受け付ける時間間隔と対応する時間間隔で、前記制御装置から送信される操作データを1個ずつ順に前記ターゲット装置に送信することを特徴とする。
【0006】
本発明に係る入力装置は、ユーザーの操作に応じた処理を実行するターゲット装置、及び制御装置と接続される入力装置であって、それぞれユーザーの操作内容を示す、予め用意された複数個の操作データを、1個ずつ順に前記制御装置から受信し、前記ターゲット装置がユーザーの操作に応じた処理を実行する場合において当該操作の内容を受け付ける時間間隔と対応する時間間隔で、前記制御装置から送信される操作データを1個ずつ順に前記ターゲット装置に送信することを特徴とする。
【0007】
本発明に係る制御装置は、ユーザーの操作に応じた処理を実行するターゲット装置に接続される入力装置と接続される制御装置であって、それぞれユーザーの操作内容を示す、予め用意された複数個の操作データを、1個ずつ順に前記入力装置に対して送信する送信手段を備え、前記送信手段は、前記ターゲット装置がユーザーの操作に応じた処理を実行する場合において当該操作の内容を受け付ける時間間隔と対応する時間間隔で、前記複数個の操作データを順に送信することを特徴とする。
【0008】
本発明に係る情報処理方法は、ユーザーの操作に応じた処理を実行するターゲット装置に接続される入力装置と接続されるコンピュータが、それぞれユーザーの操作内容を示す、予め用意された複数個の操作データを、1個ずつ順に前記入力装置に対して送信する送信ステップを含み、前記送信ステップでは、前記ターゲット装置がユーザーの操作に応じた処理を実行する場合において当該操作の内容を受け付ける時間間隔と対応する時間間隔で、前記複数個の操作データを順に送信することを特徴とする。
【0009】
本発明に係るプログラムは、ユーザーの操作に応じた処理を実行するターゲット装置に接続される入力装置と接続されるコンピュータに、それぞれユーザーの操作内容を示す、予め用意された複数個の操作データを、1個ずつ順に前記入力装置に対して送信する送信ステップを実行させるためのプログラムであって、前記送信ステップでは、前記ターゲット装置がユーザーの操作に応じた処理を実行する場合において当該操作の内容を受け付ける時間間隔と対応する時間間隔で、前記複数個の操作データを順に送信するプログラムである。このプログラムは、コンピュータ読み取り可能で非一時的な情報記憶媒体に格納されて提供されてよい。
【図面の簡単な説明】
【0010】
図1】本発明の実施の形態に係る情報処理システムの全体構成を示す構成ブロック図である。
図2】操作記録モードにおける処理の流れを示すシーケンス図である。
図3】操作記録モードにおいて記録される操作データセットの構成を示す図である。
図4】記録再現モードにおける処理の流れを示すシーケンス図である。
図5】所定操作再現モードにおける処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について、図面に基づき詳細に説明する。
【0012】
図1は、本発明の実施形態に係る情報処理システム1の全体構成を示す構成ブロック図である。同図に示されるように、情報処理システム1は、入力装置10と、中継装置20と、制御装置30と、を含んで構成されている。また、情報処理システム1はターゲット装置40と接続されている。ターゲット装置40は、例えば家庭用ゲーム機やパーソナルコンピュータ等の情報処理装置であって、表示装置41が接続されている。表示装置41は、例えば液晶ディスプレイ等であって、ターゲット装置40が実行した処理の結果に応じた画面を表示する。
【0013】
本実施形態に係る情報処理システム1は、ユーザーの操作を契機とせずに、ユーザーの操作内容に応じた処理をターゲット装置40に実行させるために用いられる。具体的にターゲット装置40は、通常時には所定の種類の操作デバイス(以下、ターゲット操作デバイスという)を接続して使用することが想定されており、ターゲット装置40のユーザーは、ターゲット操作デバイスに対して各種の操作を行うことによって、ターゲット装置40に所望の処理を実行させることになる。ターゲット操作デバイスは、例えば家庭用ゲーム機の専用コントローラなどであってよい。本実施形態に係る情報処理システム1は、ターゲット操作デバイスに対してユーザーが何らかの操作(以下では、再現対象操作という)を行った場合にターゲット装置40が実行すべき処理を、ユーザーの実際の操作を契機とせずに実行させることによって、ユーザーの操作内容を再現するために用いられる。
【0014】
入力装置10は、再現対象操作をユーザーから実際に受け付けたり、再現対象操作の内容を示すデータをターゲット装置40に対して入力したりするために用いられる。具体的に入力装置10は、1又は複数の操作部材11と、制御回路12と、メモリ13と、通信インタフェース14と、を含んで構成されている。また、入力装置10は、その内部に入力装置10の状態を検出するための各種のセンサーを備えてもよい。
【0015】
操作部材11は、ユーザーの操作を受け付けるための部材であって、ボタンやタッチパッド、また傾けて操作する傾倒操作部材など各種のものを含んでよい。なお、入力装置10は、ターゲット操作デバイスと同様の操作部材を備えることとする。また、入力装置10自体が、ターゲット操作デバイスと同様の形状や構造を有し、ターゲット操作デバイスと同じ位置に操作部材11が配置されてよい。これによりユーザーは、ターゲット操作デバイスと同様の操作感で操作部材11を操作することができる。さらに、ターゲット操作デバイスが後述する通信インタフェース14に相当するインタフェースを備えていれば、入力装置10はターゲット操作デバイスと同一のハードウェア構成を有していてもよい。
【0016】
制御回路12は、集積回路等であって、予め用意されたファームウェアプログラム等に従って入力装置10全体の動作を制御するための処理を実行する。特に本実施形態において制御回路12は、ユーザーが操作部材11に対して実行した操作の内容を示すデータ(以下、操作データDという)を処理する。本実施形態において制御回路12が実行する制御の内容については、後述する。メモリ13は、RAM等であって、操作データD等を一時的に格納する。なお、メモリ13は制御回路12内に内蔵されてもよい。
【0017】
通信インタフェース14は、ターゲット装置40、及び中継装置20のそれぞれとの間でデータを送受信するためのインタフェースである。入力装置10は、ターゲット操作デバイスをターゲット装置40に接続するためのインタフェースと同じ規格のインタフェースによってターゲット装置40と接続される。具体的に、例えば入力装置10は、有線でターゲット装置40と接続され、通信インタフェース14を介してUSB(Universal Serial Bus)等の規格で操作データDをターゲット装置40に送信する。あるいは入力装置10は、無線でターゲット装置40と接続されてもよい。入力装置10がターゲット操作デバイスと同様のインタフェースでターゲット装置40に接続されることにより、ターゲット装置40はターゲット操作デバイスが接続されている場合と同じように入力装置10から操作データDを受け付けることができる。
【0018】
さらに入力装置10は、通信インタフェース14を介して中継装置20と接続されている。入力装置10と中継装置20との間の通信は、入力装置10とターゲット装置40との間の通信と同じ規格で行われてもよいが、異なる規格で行われてもよい。ただし、入力装置10-中継装置20間のデータ伝送速度は、少なくとも入力装置10―ターゲット装置40間のデータ伝送速度以上であることが望ましい。具体的に、例えば通信インタフェース14は、UART(Universal Asynchronous Receiver/Transmitter)などの通信回路を含み、これによって中継装置20との間でデータの送受信を行ってもよい。
【0019】
中継装置20は、入力装置10と制御装置30との間でデータを中継する装置であって、制御回路21と、メモリ22と、通信インタフェース23と、を含んで構成されている。
【0020】
制御回路21は、集積回路等であって、予め用意されたファームウェアプログラム等に従って中継装置20全体の動作を制御するための処理を実行する。特に本実施形態において制御回路21は、入力装置10と制御装置30との間でデータを中継する処理を行う。本実施形態において制御回路21が実行する制御の内容については、後述する。メモリ22は、RAM等であって、中継対象となるデータ等を一時的に格納する。なお、メモリ22は制御回路21内に内蔵されてもよい。
【0021】
通信インタフェース23は、入力装置10、及び制御装置30のそれぞれとの間でデータを送受信するためのインタフェースである。中継装置20と制御装置30との間でデータを送受信するためのインタフェースは、任意のものであってよい。ただし、中継装置20と制御装置30との間のインタフェースを、入力装置10とターゲット装置40との間のインタフェースと同じものにすることで、入力装置10が備える通信インタフェース14と中継装置20が備える通信インタフェース23を同様の構成とすることができる。こうすれば、入力装置10と類似のハードウェア構成を備えるデバイスを中継装置20として機能させることができる。
【0022】
制御装置30は、例えばパーソナルコンピュータ等の情報処理装置であって、制御部31と、記憶部32と、インタフェース部33と、を備えている。また、制御装置30には、操作デバイス34、表示装置35、及びカメラ36が接続される。
【0023】
制御部31は、CPU等のプロセッサを少なくとも一つ含み、記憶部32に格納されているプログラムに従って各種の情報処理を実行する。本実施形態において制御部31が実行する処理の内容については、後述する。記憶部32は、RAM等のメモリデバイスを少なくとも一つ含み、制御部31が実行するプログラムやその処理対象となるデータを格納する。
【0024】
インタフェース部33は、中継装置20との間でデータを送受信するためのインタフェースであって、例えばUSB等によって中継装置20とデータを送受信するための通信回路を含んでよい。また、インタフェース部33は、操作デバイス34、表示装置35、及びカメラ36との間でデータの送受信を行う。
【0025】
操作デバイス34はキーボード等を含み、制御装置30に対する操作入力を受け付ける。表示装置35は、液晶ディスプレイ等であって、制御装置30が実行する処理結果を表示する。また、カメラ36は動画像を撮像するデバイスであって、ターゲット装置40に接続された表示装置41の画面を撮像する。
【0026】
以下、本実施形態に係る情報処理システム1が実現する機能について、説明する。情報処理システム1は、操作記録モード、記録再現モード、及び所定操作再現モードという複数の動作モードのいずれかで動作する。これらの動作モードのそれぞれにおいて各装置が実行する処理の流れについて、以下順に説明する。
【0027】
まず、操作記録モードにおける処理の流れについて、図2のシーケンス図を用いて説明する。操作記録モードは、入力装置10に対してユーザーが実際に行った操作の内容を、制御装置30が操作データDとして記録するための動作モードである。
【0028】
ターゲット装置40は、動作モードにかかわらず、所定時間おきにその時点の最新の操作データDを取得するための取得要求R1を入力装置10に対して送信する(S1)。以下では、ターゲット装置40が入力装置10に対して取得要求R1を送信する時間間隔を、取得間隔Tと表記する。
【0029】
ターゲット装置40からの取得要求R1を受け付けると、入力装置10の制御回路12は、その時点でメモリ13に格納されている最新の操作データDを、取得要求R1に対する応答R2としてターゲット装置40に対して送信する(S2)。このとき入力装置10は、操作データDをターゲット装置40に対して送信するのと同じタイミングで、同一の内容の操作データDを中継装置20に対して送信する。つまり、入力装置10は、取得要求R1に対する応答R2として、同一の操作データDをターゲット装置40と中継装置20の双方に並列して送信することとなる。
【0030】
さらにその後、入力装置10は、現時点での各操作部材11の状態を走査して新たな操作データDを生成し、メモリ13内に格納する(S3)。S3で生成された操作データDは、次に取得要求R1が受け付けられた際に応答R2としてターゲット装置40に送信される。なお、このS3の記録処理は、取得間隔Tよりも短い時間で完了するものとしている。つまり、応答R2が送信されるごとにメモリ13内の操作データDは最新の状態を反映した内容に更新されることになる。
【0031】
以上説明したS1~S3の処理は、取得間隔Tごとに繰り返し実行される。このS1~S3の処理は、ターゲット操作デバイスがターゲット装置40に接続されている場合、すなわちターゲット装置40が本来想定される構成で使用されている場合と同様の処理である。また、入力装置10がターゲット装置40に送信する操作データDは、ターゲット操作デバイスがターゲット装置40に対して送信する操作データDと同一フォーマットのデータである。そのためターゲット装置40は、内部で追加的な処理を実行したり特別なインタフェースを備えたりする必要なく、ターゲット操作デバイスが接続されている場合と同様に、入力装置10から操作データDを受信して、受信した操作データDによって示されるユーザーの操作内容に応じた処理を実行することができる。
【0032】
S2で送信される操作データDを受信した中継装置20は、所定の個数(2以上であってよい)に到達するまで受信した操作データDを受信順にメモリ22に格納しておく(S4)。所定の数に到達した後は、受信タイミングが古いデータから順に削除する。すなわち、中継装置20は、入力装置10から受信した操作データDを先入れ先出し方式で所定の個数までメモリ22内にバッファリングする。
【0033】
以上説明した入力装置10及び中継装置20の処理は、デフォルトの状態で自動的に実行されるものとする。その処理の流れとは独立に、制御装置30は、ユーザーからの指示に応じて、操作内容の記録を開始する(S5)。操作内容の記録を開始すると、制御装置30は、ターゲット装置40と同様に、取得間隔Tごとに中継装置20に対して操作データDの取得要求R3を送信する(S6)。
【0034】
制御装置30からの取得要求R3を受け付けると、中継装置20の制御回路21は、その時点でバッファリングされている操作データDのうち、最も古い操作データDを取得要求R3に対する応答R4として制御装置30に対して送信する(S7)。なお、中継装置20は、応答R4として制御装置30に送信された操作データDをメモリ22内から削除することとする。
【0035】
制御装置30は、S7で送信された操作データDを記憶部32内に格納する(S8)。ユーザーが制御装置30に対して記録終了の指示を行うまで、以上説明したS6~S8の処理が取得間隔Tごとに繰り返し実行されることにより、制御装置30は、複数個の操作データDを入力装置10が送信した順に記録することができる。このデータは、入力装置10がターゲット装置40に順に送信した操作データDと完全に同一のものになっている。なお、中継装置20が複数個の操作データDをバッファリングするために、入力装置10が送信した操作データDが制御装置30に到達するタイミングはターゲット装置40が同じ操作データDを受信するタイミングより遅くなると想定される。しかしながら、中継装置20が複数個の操作データDをバッファリングしておき、ターゲット装置40が取得要求R1を送信する取得間隔Tと対応する時間間隔で制御装置30が中継装置20から操作データDを順次取得することで、受信タイミングは遅延したとしても、ある時点以降にターゲット装置40に送信された操作データDを制御装置30がもれなく同じ順序で受信し、記録することができる。特に中継装置20が複数個の操作データDを常にバッファリングするようにすることで、中継装置20と制御装置30との間の通信に遅延が生じたりした場合であっても、操作データDの取得漏れが生じないようにすることができる。
【0036】
再現対象操作の操作データDを記録する場合、まずユーザーは、制御装置30に対して操作記録モードの開始を指示した後、実際にターゲット装置40を動作させながら入力装置10に対して記録したい操作(すなわち、再現対象操作)を行う。再現対象操作を行った後、ユーザーは制御装置30に対して操作記録モードの終了を指示する。これにより、一連の再現対象操作の内容を含んだ複数個の操作データDが制御装置30に記録される。以下では、一回の操作記録モードの動作によって記録された、一連の再現対象操作の内容を含んだ複数個の操作データDの集合を、操作データセットDSと表記する。
【0037】
図3は、操作記録モードで制御装置30に記録される操作データセットDSの構成を示している。同図に示されるように、操作データセットDSは、記録開始から記録終了までの期間に取得間隔Tごとに制御装置30が受信した複数個の操作データDを、時系列に沿って順に含んでいる。図3の例では操作データD(1)から操作データD(N)まで全部でN個の操作データDが記録されたこととしている。個々の操作データDは、その操作データDが入力装置10内で生成された時点における各操作部材11に対するユーザーの操作内容を示すデータを含んでいる。ここでは一例として、入力装置10の筐体表面に配置された複数の操作ボタンのそれぞれが押下されているか否かを示す情報、傾倒操作部材がどの方向にどの程度傾けられているかを示す情報、またタッチパッドが検出した座標値などが操作データDに含まれることとしている。さらに、操作データDには、操作部材11に対するユーザーの操作内容だけでなく、入力装置10が備える加速度センサーなどのセンサーの検出値を示す情報や、入力装置10内部の状態に関する情報(例えば充電池の残量や外部機器の接続の有無を示す情報)が含まれてもよい。
【0038】
次に、記録再現モードにおいて情報処理システム1が実行する処理の流れについて、図4のシーケンス図を用いて説明する。記録再現モードは、操作記録モードで制御装置30に記録された操作データセットDSを用いて、再現対象操作の内容を再現するための動作モードである。この記録再現モードにおいて、制御装置30は、操作記録モードで記録された操作データセットDSに含まれる複数個の操作データDを、1個ずつ順に中継装置20経由で入力装置10に対して送信する。入力装置10は、制御装置30から送信される操作データDを、制御装置30が送信した順に1個ずつターゲット装置40に送信する。これにより、操作記録モードにおいてユーザーが実際に行った操作の内容を再現し、ターゲット装置40にその操作内容に応じた処理を実行させることができる。
【0039】
具体的に、ユーザーが制御装置30に対して記録再現モードの動作開始を指示すると、制御装置30は、記録再現モードでの動作開始を中継装置20に対して指示する制御命令を送信する(S21)。このとき制御装置30は、併せて操作データセットDSに含まれる複数個の操作データDのうち、最初の操作データD(1)を制御命令とともに送信する。その後、制御装置30は、記録されている操作データセットDSに含まれる複数個の操作データDを順に中継装置20に対して送信する送信処理R5を実行する(S22)。ここで制御装置30は、送信処理R5を取得間隔Tと対応する時間間隔で実行するものとする。
【0040】
制御装置30は、記録再現モード終了の指示をユーザーから受け付けるか、あるいは操作データセットDSに含まれる全ての操作データDを送信し終えるまでこの操作データセットDSの送信処理を繰り返し実行する。なお、制御装置30は、一連の操作データDを全て送り終えた後、記録再現モードを終了するのではなく、1個目の操作データD(1)に戻って記録再現モード終了の指示が受け付けられるまで操作データセットDSの送信処理を繰り返し実行し続けてもよい。あるいは、予め指定された回数だけ操作データセットDSの送信処理を繰り返したり、予め指定された時間が経過するまで操作データセットDSの送信処理を繰り返したりするなど、所定の終了条件を満たすまで操作データセットDSの送信処理を継続してもよい。
【0041】
中継装置20は、制御装置30から送信された操作データDが所定の個数に到達するまで、受信した複数個の操作データDをメモリ22内に一時的に格納してバッファリングする(S23)。図4の例では、3個の操作データDをバッファリングすることとしている。なお、中継装置20は、制御装置30から送信される操作データDを、メモリ22内に確保された所定の領域に格納する。
【0042】
上述したS21~S23の処理が行われている間、ターゲット装置40は本情報処理システム1の動作モードの影響は受けないため、操作記録モードの場合と同様に、取得間隔Tで操作データDの取得要求R1を入力装置10に対して送信し続けている(S1)。デフォルトの状態において入力装置10は、前述したように、ターゲット装置40の取得要求R1に対して、自身の状態を走査してS3で生成される操作データDを応答R2としてターゲット装置40及び中継装置20に対して送信する(S2)。中継装置20は、この応答R2によって入力装置10から送信される操作データDを、メモリ22内の、前述した制御装置30から送信される操作データDを格納する領域とは別の領域に格納している。ここで中継装置20は、S21で記録再現モード開始の指示を受け付けた後は、S2で入力装置10から送信される操作データDのメモリ22内への格納は中断する。そして、S23で所定個数の操作データDをメモリ22内に格納し終えると、その後にS2で送信される操作データDを受け付けたタイミングで、S2の送信に対する応答R6として、記録再現モードへの切り替えを指示する制御命令を入力装置10に対して送信する(S24)。この制御命令を受信した入力装置10は、記録再現モードでの動作を開始する。
【0043】
記録再現モードにおいて入力装置10は、操作記録モードのときのような自身での操作データDの生成処理(S3)は実行せず、ターゲット装置40からの取得要求R1に対する応答R2として、中継装置20から受信した操作データDを送信することとする。具体的に入力装置10は、取得要求R1を受け付けると、デフォルトの場合と同様に、メモリ13に格納している操作データDを応答R2として送信する(S2)。この応答R2は、中継装置20にも送信されている。中継装置20は、この入力装置10からの送信に対する応答R6として、S23でバッファリングされた複数個の操作データDのうち、最も古い操作データDを送信する(S25)。このとき中継装置20は、送信した操作データDをメモリ22から削除する。
【0044】
入力装置10は、S25の応答R6に含まれる操作データDを、次にターゲット装置40に送信すべき操作データDとしてメモリ13に格納する(S26)。なお、このS25及びS26の処理は、取得間隔Tと比較して短い時間で完了するものとする。
【0045】
以上説明した処理によれば、入力装置10は、記録再現モードに切り替わった後は、中継装置20を経由して制御装置30から受信した操作データDを、取得要求R1を受け付けるごとに1個ずつターゲット装置40に送信することになる。これによりターゲット装置40は、操作記録モードにおいてユーザーが再現対象操作を行ったときと同様の動作環境で、再現対象操作が行われた際に入力装置10から受け付けた一連の操作データセットDSと同一の操作データセットDSを、同じ順序、及び時間間隔で受け取ることができる。そのため、記録再現モードではユーザーは入力装置10に対して何の操作も行っていないにもかかわらず、再現対象操作が行われたものとしてターゲット装置40にその操作内容に応じた処理を実行させることができる。この記録再現モードにより、例えば同じ操作を複数回繰り返した場合のターゲット装置40の挙動を確認する動作テストを、実際の操作を複数回繰り返すことなく実現することができる。
【0046】
また、記録再現モードでも操作記録モードと同様に中継装置20が複数個の操作データDをバッファリングしながら中継を行うことで、ターゲット装置40に入力される操作データDに漏れが生じないようにして、操作記録時と同様に操作データDが継続的にターゲット装置40に送信されるようにすることができる。
【0047】
次に、所定操作再現モードにおいて制御装置30が実行する処理の内容について、説明する。この所定操作再現モードでは、記録再現モードと同様に、外部から供給される操作データDをターゲット装置40に入力して、ユーザーが入力装置10に対する操作を行うことなくターゲット装置40に所望の処理を実行させる。しかしながら記録再現モードと異なり、制御装置30は操作記録モードで記録された操作データDを順次送信するのではなく、予め用意された複数個の操作データDを送信する処理を、ターゲット装置40が実行する処理の進行に応じて決まるタイミングで開始する。これにより、ターゲット装置40が実行する処理の進行に合わせたユーザーの操作を再現することができる。
【0048】
具体的に、この所定操作再現モードでは、複数の操作データセットDSが予め作成され、制御装置30内に記録されているものとする。これら複数の操作データセットDSには、送信すべき順序が定められている。各操作データセットDSは、1又は複数の操作データDによって構成される。具体的に、一つの操作データセットDSは、繰り返し送信すべき1又は複数の操作データDによって構成されてもよい。また、1度だけ送信すべき操作データDと繰り返し送信すべき操作データDの組み合わせによって構成されてもよい。繰り返し送信すべき操作データDを含むことによって、一つの操作データセットDSに基づく操作データDの送信を、次の操作データセットDSの送信処理を開始すべきタイミングが到来するまで継続して実行することができる。
【0049】
各操作データセットDSに対しては、その送信を開始すべきタイミングを決定する条件(以下、操作開始条件という)が設定されている。この操作開始条件は、ターゲット装置40が実行する処理の進行に関する条件である。特に以下では、操作開始条件は、ターゲット装置40が表示装置41の画面に表示する映像の内容に関する条件であるものとする。例えば操作開始条件は、所定形状のカーソルが所定の領域内に進入することや、カーソルが所定のオブジェクトと重なったことなど、映像内に表示されるカーソル等のオブジェクトの位置に関する条件であってもよい。あるいは、所定のオブジェクトが映像内に登場することや、映像内から消去されることなど、所定のオブジェクトの有無に関する条件であってもよい。
【0050】
制御装置30は、操作開始条件が成立したか否かを、カメラ36の撮像画像を解析することによって判定するものとする。すなわち、所定操作再現モードにおいては、制御装置30に接続されたカメラ36が表示装置41の画面を撮像して得られる映像を、制御装置30に対して入力し続けることとする。制御装置30は、その撮像画像を解析した結果、操作開始条件を満たしたと判定した場合、その操作開始条件に関連づけられた操作データセットDSに含まれる一連の操作データDの送信を開始する。
【0051】
以下、所定操作再現モードにおいて制御装置30が実行する処理の流れについて、図5のフロー図を用いて説明する。まず制御装置30は、所定操作再現モードの開始指示をユーザーから受け付けると(S41)、記録再現モードと同様に、モード切り替えを指示する制御命令を中継装置20に対して送信する(S42)。
【0052】
その後、制御装置30は、最初に送信対象とすべき操作データセットDSを読み出す(S43)。この最初の操作データセットDSは、操作開始条件が設定されておらず、無条件で送信を開始すべき操作データセットDSである。最初の操作データセットDSは、ユーザーが何の操作も行っていないことを示す操作データDだけを含むものであってもよい。また、例えば画面上に登場するカーソルやキャラクターなどを所定方向に移動させるために、その方向を指示する内容の操作データDを含むものであってもよい。
【0053】
最初の操作データセットDSを読み出すと、制御装置30はその内容に従って操作データDの送信を開始する(S44)。記録再現モードと同様、操作データDの送信は取得間隔Tごとに実行される。
【0054】
制御装置30は、操作データDの送信と並行して、カメラ36から入力される映像の解析を開始する。具体的に制御装置30は、カメラ36から入力される映像を構成する個々のフレーム画像を解析することによって、次に送信すべき操作データセットDSに関連づけられた操作開始条件が満たされたか否かを判定する(S45)。操作開始条件が満たされていない間、制御装置30はS44に戻って現在の操作データセットDSに基づく操作データDの送信を継続する。一方、操作開始条件が満たされた場合、その操作開始条件に対応する次の操作データセットDSを読み出し(S46)、その操作データセットDSに基づく送信処理を開始する。例えばカーソルが所定領域に進入するという操作開始条件に対して、決定ボタンを押下して画面の変化を待つ、といった操作内容を再現する操作データセットDSが関連づけられていた場合、制御装置30は、カメラ36の撮像画像を解析してカーソルが実際に所定領域に進入したと判定したタイミングで、この操作データセットDSの送信処理を開始する。これにより、ユーザーがカーソルを所定領域に移動させて決定ボタンを押下するという再現対象操作の内容を再現することができる。
【0055】
制御装置30は、以上説明した処理を予め定められた終了条件が満たされるまで繰り返す。ここでの終了条件は、例えば操作開始条件と同様にカメラ36の撮像画像が満たすべき条件であってもよい。あるいは、予め用意された全ての操作データセットDSに基づく送信処理が完了した段階で、所定操作再現モードの動作を終了してもよい。
【0056】
所定操作再現モードにおいて、入力装置10は記録再現モードと同様に動作する。すなわち、中継装置20からモード変更の指示が受け付けられた場合、それ以降入力装置10は、自身で操作データDを生成する代わりに中継装置20経由で制御装置30から送信される操作データDをメモリ13に一時的に格納し、ターゲット装置40からの取得要求R1に対してその操作データDを送信する。すなわち、入力装置10は記録再現モードと所定操作再現モードを区別する必要はなく、どちらのモードであっても中継装置20経由で制御装置30から送信される操作データDを1個ずつターゲット装置40に送信する機能を実現する。
【0057】
中継装置20についても、所定操作再現モードにおいて基本的には記録再現モードと同様に動作する。すなわち、所定操作再現モードでの動作開始を制御装置30から指示された場合、中継装置20は入力装置10に対してモード変更を指示する制御命令を送信し、その後は応答R2に対する応答R6として、制御装置30から受信した操作データDを順に入力装置10に対して送信することになる。
【0058】
ただし、記録再現モードの場合と異なり、所定操作再現モードにおいて中継装置20は、制御装置30から受信した操作データDを所定数までバッファリングする必要はない。なぜなら、記録再現モードにおいては記録された操作データDの全てをもれなく記録時と同様の順序で送信することが重要であるが、所定操作再現モードにおいては操作開始条件が満たされた後遅滞なくその条件に対応する操作データDが送信されることが重視されるためである。中継装置20が複数個の操作データDをバッファリングすることとすると、バッファリングされた操作データDが順次送出されるまでの時間の分だけ、操作開始条件が満たされてからその条件に対応する操作データDがターゲット装置40に入力されるまでの時間に遅延が生じることになる。そのため中継装置20は、所定操作再現モードにおいては操作データDのバッファリングをせずに、所定操作再現モードの開始を指示された際には次のタイミングですぐに入力装置10に対してモード切り替えの指示を行い、その後は制御装置30から受信した操作データDを順に入力装置10に対して転送することとする。こうすれば、操作開始条件が満たされた場合に、遅滞なくその状況に対応した操作内容をターゲット装置40に入力することができる。
【0059】
以上説明したように、所定操作再現モードでは、表示装置41に表示される映像を解析し、その結果に応じて決まるタイミングで予め用意した操作データDを送信することによって、ターゲット装置40が実行する実際の処理の進行に合わせたタイミングで各種の操作を再現することができる。より具体的に、所定操作再現モードによれば、所定のメニュー項目が表示されている位置までカーソルを移動させ、その後そのメニュー項目の選択操作を行い、画面が切り替わった後は別のメニュー項目を選択する、といったような一連の操作を、ユーザーの実際の操作によらずに再現することができる。
【0060】
なお、ここではカメラ36の撮像画像を解析して操作開始条件が満たされたか否かを判定することとしたが、操作開始条件が満たされたことを判定する方法はこのようなものに限られない。例えば制御装置30は、ターゲット装置40が表示装置41に供給するものと同じ映像信号を受け付けて、その内容を解析してもよい。いずれにせよ、ターゲット装置40が処理の結果として表示装置41の画面に表示される映像を取得し、取得した映像を解析した結果に基づいて操作開始条件が満たされたか否かを判定することで、ターゲット装置40に追加的な処理を実行させることなく、制御装置30はターゲット装置40による処理の実行結果に応じて対応する操作データセットDSの送信処理を開始することができる。
【0061】
以上説明した本発明の実施形態に係る情報処理システム1によれば、ターゲット装置40の動作環境には影響を与えずに、ユーザーの操作を再現した場合の処理をターゲット装置40に実行させることができる。
【0062】
なお、本発明の実施の形態は、以上説明したものに限られない。例えば以上の説明では、情報処理システム1は記録再現モード、及び所定操作再現モードのどちらでも動作可能であることとしたが、いずれか一方の機能のみ実現可能に構成されてもよい。なお、所定操作再現モードでのみ動作する場合、情報処理システム1は操作記録モードで動作する必要もない。
【0063】
また、以上の説明では入力装置10と制御装置30とは中継装置20を経由して接続され、中継装置20経由で操作データDの送受信を行うこととした。しかしながらこれに限らず、入力装置10と制御装置30とは直接接続されることとしてもよい。この場合、中継装置20は不要となり、以上の説明において中継装置20が実行することとした処理の少なくとも一部は、制御装置30が実行することとなる。
【0064】
また、以上の説明ではターゲット装置40は単独でゲームなどの処理を実行する情報処理装置であることとしたが、これに限らずターゲット装置40は互いに通信接続されるサーバ装置とクライアント装置の組み合わせによって構成されてもよい。具体例として、サーバ装置とクライアント装置はインターネット等の通信ネットワークを介して接続され、サーバ装置はクラウドゲーム等のサービスを提供してもよい。この場合、入力装置10が直接接続されるクライアント装置は、入力装置10から受け付けた操作データDの内容に応じた処理要求をサーバ装置に送信し、その処理要求に応じてサーバ装置が実行した処理の結果を示す画像データ等を受信し、表示装置41に表示してユーザーに提示する。この場合にも、本実施形態に係る情報処理システム1によれば、クライアント装置の負荷やクライアント装置とサーバ装置との間の通信等には影響を与えることなく、ユーザーの操作を再現することができる。
【符号の説明】
【0065】
1 情報処理システム、10 入力装置、11 操作部材、12 制御回路、13 メモリ、14 通信インタフェース、20 中継装置、21 制御回路、22 メモリ、23 通信インタフェース、30 制御装置、31 制御部、32 記憶部、33 インタフェース部、34 操作デバイス、35 表示装置、36 カメラ、40 ターゲット装置、41 表示装置。
図1
図2
図3
図4
図5