図面 (/)

技術 情報処理装置、情報処理方法、プログラムおよびコンピュータ読取り可能な情報記憶媒体

出願人 株式会社ソニー・インタラクティブエンタテインメント
発明者 清水圭介
出願日 2013年11月1日 (7年1ヶ月経過) 出願番号 2013-228675
公開日 2015年5月7日 (5年7ヶ月経過) 公開番号 2015-088125
状態 特許登録済
技術分野 計算機間の情報転送
主要キーワード スリープフラグ 赤外線通信デバイス CPUサイクル 表示出力デバイス 動作クロック数 接続先選択画面 対象機 受信レジスタ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2015年5月7日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

赤外線通信機能などの通信無線LAN有線LANなどの通信手段を用いてエミュレートすること。

解決手段

情報処理装置は、アプリケーションプログラムに含まれる命令を実行する命令実行手段と、前記アプリケーションプログラムのうち第1の通信方式による通信を開始することを示す命令が前記命令実行手段により実行された場合に、前記第1の通信方式により送信される信号を示す信号データを前記第1の通信方式と異なる第2の通信方式により送信する通信手段が当該信号データを前記通信方式で受信する通信手段と接続するよう制御する接続制御手段と、を含む。

概要

背景

コンピュータを用いたハードウェアの動作を、そのハードウェアと異なるハードウェアで実現するエミュレーション技術がある。例えば、特許文献1には、エミュレーション技術により、古い携帯型ゲーム機プロセッサメモリ記憶媒体などを用いるアプリケーションプログラムを、古いゲーム機と構成の異なる新しいゲーム機のプロセッサや外部記憶媒体内部記憶媒体を用いて実行させることが開示されている。

概要

赤外線通信機能などの通信無線LAN有線LANなどの通信手段を用いてエミュレートすること。情報処理装置は、アプリケーションプログラムに含まれる命令を実行する命令実行手段と、前記アプリケーションプログラムのうち第1の通信方式による通信を開始することを示す命令が前記命令実行手段により実行された場合に、前記第1の通信方式により送信される信号を示す信号データを前記第1の通信方式と異なる第2の通信方式により送信する通信手段が当該信号データを前記通信方式で受信する通信手段と接続するよう制御する接続制御手段と、を含む。

目的

本発明は上記課題を鑑みてなされたものであって、その目的は、赤外線通信のような通信の機能を無線LANや有線LANなどの赤外線通信のような通信と異なる通信手段を用いてエミュレートすることを容易にする技術を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

アプリケーションプログラムに含まれる命令を実行する命令実行手段と、前記アプリケーションプログラムのうち第1の通信方式による通信を開始することを示す命令が前記命令実行手段により実行された場合に、前記第1の通信方式により送信される信号を示す信号データを前記第1の通信方式と異なる第2の通信方式により送信する通信手段が当該信号データを前記第2の通信方式で受信する通信手段と接続するよう制御する接続制御手段と、を含むことを特徴とする情報処理装置

請求項2

前記接続制御手段は、前記アプリケーションプログラムのうち第1の通信方式による通信を開始することを示す命令が前記命令実行手段により実行された場合に、接続先となる情報処理装置の候補を提示し、前記提示された候補のうちユーザにより選択された情報処理装置を接続先として決定し、前記第1の方式により送信される信号を示す信号データを送信する通信手段が前記決定された情報処理装置に含まれる前記通信手段と接続するよう制御する、ことを特徴とする請求項1に記載の情報処理装置。

請求項3

前記第2の通信方式により受信した信号データであって、単位期間において前記第1の通信方式により送信される信号を示す信号データを取得し、当該信号データが示す信号を前記命令実行手段に処理させる受信エミュレート手段、をさらに含むことを特徴とする請求項1または2に記載の情報処理装置。

請求項4

前記信号データは前記単位期間における時間に応じた信号の状態を示すデータであり、前記命令実行手段は、エミュレーションにより前記アプリケーションプログラムに含まれる命令を実行し、前記受信エミュレート手段は、前記エミュレーションの対象における内部的な時間に応じた信号であって当該信号データが示す信号を前記命令実行手段に処理させる、ことを特徴とする請求項3に記載の情報処理装置。

請求項5

前記単位期間は予め定められた期間であり、前記受信エミュレート手段は、前記単位期間に続く単位期間における前記第1の通信方式による信号を示す次の信号データが送信されかつ前記次の信号データを受信しない場合には、前記次の信号データを受信するまで前記命令実行手段が命令を実行することを停止する、ことを特徴とする請求項3または4に記載の情報処理装置。

請求項6

前記受信エミュレート手段は、前記取得された信号データが、前記命令実行手段が受信を開始することを示す命令を実行する前に前記第1の通信方式による信号が存在することを示す場合に、前記命令実行手段が当該信号データが示す信号を処理しないよう制御する、ことを特徴とする請求項3から5のいずれかに記載の情報処理装置。

請求項7

前記受信エミュレート手段は、前記命令実行手段が受信を開始することを示す命令を実行する前に前記第1の通信方式による信号を示す前記信号データを受信し、かつ前記信号データが受信されたタイミングと前記受信を開始することを示す命令が実行されるタイミングとの差が所与の範囲内の場合に、前記命令実行手段が前記受信を開始することを示す命令を実行した後に前記命令実行手段が当該信号データが示す信号を処理するよう制御する、ことを特徴とする請求項3から6のいずれかに記載の情報処理装置。

請求項8

前記受信エミュレート手段は、前記命令実行手段が受信を開始することを示す命令を実行してから前記信号データが受信されるまでは、前記命令実行手段が命令を実行することを停止する、ことを特徴とする請求項3から7のいずれかに記載の情報処理装置。

請求項9

単位期間において前記第1の通信方式により送信される信号を示す信号データを生成し、当該信号データを当該データを受信する通信手段に向けて送信する送信エミュレート手段、をさらに含むことを特徴とする請求項1または2に記載の情報処理装置。

請求項10

前記命令実行手段は、エミュレーションにより前記アプリケーションプログラムに含まれる命令を実行し、前記送信エミュレート手段は、前記単位期間において、前記エミュレートの対象における内部的な時間と当該時間における信号の状態とを関連づける信号データを生成する、ことを特徴とする請求項9に記載の情報処理装置。

請求項11

前記単位期間は、予め定められた期間であり、前記送信エミュレート手段は、前記単位期間に続く単位期間において前記第1の通信方式による信号が送信されるか否かを示す情報を含む信号データを生成する、ことを特徴とする請求項9または10に記載の情報処理装置。

請求項12

アプリケーションプログラムに含まれる命令を実行するステップと、前記アプリケーションプログラムのうち第1の通信方式による通信を開始することを示す命令が前記命令を実行するステップにより実行された場合に、前記第1の通信方式により送信される信号を示す信号データを前記第1の通信方式と異なる第2の通信方式により送信する通信手段が当該信号データを前記第2の通信方式で受信する通信手段と接続するよう制御するステップと、を含むことを特徴とする情報処理方法

請求項13

アプリケーションプログラムに含まれる命令を実行する命令実行手段、および、前記アプリケーションプログラムのうち第1の通信方式による通信を開始することを示す命令が前記命令実行手段により実行された場合に、前記第1の通信方式により送信される信号を示す信号データを前記第1の通信方式と異なる第2の通信方式により送信する通信手段が当該信号データを前記第2の通信方式で受信する通信手段と接続するよう制御する接続制御手段、としてコンピュータを機能させるためのプログラム

請求項14

請求項13に記載のプログラムを格納するコンピュータ読取り可能な情報記憶媒体

技術分野

背景技術

0002

コンピュータを用いたハードウェアの動作を、そのハードウェアと異なるハードウェアで実現するエミュレーション技術がある。例えば、特許文献1には、エミュレーション技術により、古い携帯型ゲーム機プロセッサメモリ記憶媒体などを用いるアプリケーションプログラムを、古いゲーム機と構成の異なる新しいゲーム機のプロセッサや外部記憶媒体内部記憶媒体を用いて実行させることが開示されている。

先行技術

0003

特開2011−107958号公報

発明が解決しようとする課題

0004

携帯端末などのハードウェアには、赤外線通信のように物理的に近接する相手機器と1対1で通信する通信デバイス赤外線通信デバイス)が含まれている場合がある。赤外線通信デバイスのような通信デバイスをそのデバイスを含まないハードウェアでエミュレートする場合、例えば近年普及が進んでいる無線LAN有線LANなどの通信方式を用いることが考えられる。しかし、これらの通信方式の特徴は赤外線通信デバイスのような通信デバイスとは異なるため、赤外線通信デバイスような通信デバイスによる通信をエミュレートすることは困難であった。

0005

本発明は上記課題を鑑みてなされたものであって、その目的は、赤外線通信のような通信の機能を無線LANや有線LANなどの赤外線通信のような通信と異なる通信手段を用いてエミュレートすることを容易にする技術を提供することにある。

課題を解決するための手段

0006

上記課題を解決するために、本発明にかかる情報処理装置は、アプリケーションプログラムに含まれる命令を実行する命令実行手段と、前記アプリケーションプログラムのうち第1の通信方式による通信を開始することを示す命令が前記命令実行手段により実行された場合に、前記第1の通信方式により送信される信号を示す信号データを前記第1の通信方式と異なる第2の通信方式により送信する通信手段が当該信号データを前記第2の通信方式で受信する通信手段と接続するよう制御する接続制御手段と、を含むことを特徴とする。

0007

また、本発明にかかる情報処理方法は、アプリケーションプログラムに含まれる命令を実行するステップと、前記アプリケーションプログラムのうち第1の通信方式による通信を開始することを示す命令が前記命令を実行するステップにより実行された場合に、前記第1の通信方式により送信される信号を示す信号データを前記第1の通信方式と異なる第2の通信方式により送信する通信手段が当該信号データを前記第2の通信方式で受信する通信手段と接続するよう制御するステップと、を含むことを特徴とする。

0008

また、本発明にかかるプログラムは、アプリケーションプログラムに含まれる命令を実行する命令実行手段、および、前記アプリケーションプログラムのうち第1の通信方式による通信を開始することを示す命令が前記命令実行手段により実行された場合に、前記第1の通信方式により送信される信号を示す信号データを前記第1の通信方式と異なる第2の通信方式により送信する通信手段が当該信号データを前記第2の通信方式で受信する通信手段と接続するよう制御する接続制御手段、としてコンピュータを機能させる。

0009

また、本発明にかかるコンピュータ読み取り可能な記憶媒体は、上記プログラムを格納する。

0010

本発明によれば、例えば赤外線通信デバイスを有するハードウェア同士を物理的に近づけるタイミングなど、エミュレーションの対象となる通信方式で接続をするタイミングとのずれに起因する問題が生じにくいタイミングで、それをエミュレートする2つのハードウェア間で通信手段同士を接続させることができる。これにより、赤外線通信のような通信方式をエミュレートすることが容易になる。

0011

本発明の一態様では、前記接続制御手段は、前記アプリケーションプログラムのうち第1の通信方式による通信を開始することを示す命令が前記命令実行手段により実行された場合に、複数の情報処理装置から接続先となる情報処理装置を決定し、前記決定された情報処理装置に含まれる通信手段と接続するよう制御してもよい。

0012

本発明の一態様では、前記接続制御手段は、前記アプリケーションプログラムのうち赤外線通信を開始することを示す命令が前記命令実行手段により実行された場合に、接続先となる情報処理装置の候補を提示し、前記提示された候補のうちユーザにより選択された情報処理装置を接続先として決定し、前記第1の方式により送信される信号を示す信号データを送信する通信手段が前記決定された情報処理装置に含まれる前記通信手段と接続するよう制御してもよい。

0013

この態様によれば、赤外線通信デバイスを有するハードウェア同士を物理的に近づけることなどにより通信相手を決めるタイミングに近いタイミングで、それをエミュレートするハードウェアの通信相手を決定することができ、より自然に赤外線通信をエミュレートすることができる。

0014

本発明の一態様では、情報処理装置は、前記第2の通信方式により受信した信号データであって、単位期間において前記第1の通信方式により送信される信号を示す信号データを取得し、当該信号データが示す信号を前記命令実行手段に処理させる受信エミュレート手段をさらに含んでもよい。

0015

本発明の一態様では、前記情報処理装置は、単位期間において前記第1の方式により送信される信号を示す信号データを生成し、当該信号データを当該データを受信する通信手段に向けて送信する送信エミュレート手段をさらに含んでもよい。

0016

本発明の一態様では、前記信号データは前記単位期間における時間に応じた信号の状態を示すデータであり、前記命令実行手段は、エミュレーションにより前記アプリケーションプログラムに含まれる命令を実行し、前記受信エミュレート手段は、前記エミュレーションの対象における内部的な時間に応じた信号であって当該信号データが示す信号を前記命令実行手段に処理させてもよい。

0017

本発明の一態様では、前記命令実行手段は、エミュレーションにより前記アプリケーションプログラムに含まれる命令を実行し、前記送信エミュレート手段は、前記単位期間において、前記エミュレートの対象における内部的な時間と当該時間における信号の状態とを関連づける信号データを生成してもよい。

0018

これらの態様によれば、実際の情報処理装置の実行時間とエミュレーションの対象の実行時間とに違いが生じても、時系列の信号を処理する際のエラーの発生を防ぐことができる。

0019

本発明の一態様では、前記単位期間は、予め定められた期間であり、前記送信エミュレート手段は、前記単位期間に続く単位期間において前記第1の通信方式による信号が送信されるか否かを示す情報を含む信号データを生成してもよい。

0020

本発明の一態様では、前記単位期間は予め定められた期間であり、前記受信エミュレート手段は、前記単位期間に続く単位期間における前記第1の通信方式による信号を示す次の信号データが送信されかつ前記次の信号データを受信しない場合には、前記次の信号データを受信するまで前記命令実行手段が命令を実行することを停止してもよい。

0021

この態様によれば、ある単位期間に続く単位期間の信号データを通信手段によって送受信する際に遅延が生じても、エミュレートされた赤外線通信のエラーの発生を避けることができる。

0022

本発明の一態様では、前記単位期間は、前記信号データを送信する情報処理装置がエミュレートする対象が前記第1の通信方式による信号の送信を開始してから終了するまでの期間であってよい。

0023

本発明の一態様では、前記受信エミュレート手段は、前記取得された信号データが、前記命令実行手段が受信を開始することを示す命令を実行する前に前記第1の通信方式による信号が存在することを示す場合に、前記命令実行手段が当該信号データが示す信号を処理しないよう制御してもよい。

0024

この態様によれば、エミュレートされた第1の通信方式の信号が途中から処理されることに起因する不具合の発生を抑えることができる。

0025

本発明の一態様では、前記受信エミュレート手段は、前記命令実行手段が受信を開始することを示す命令を実行する前に前記赤外線通信による信号を示す前記信号データを受信し、かつ前記信号データが受信されたタイミングと前記受信を開始することを示す命令が実行されるタイミングとの差が所与の範囲内の場合に、前記命令実行手段が前記受信を開始することを示す命令を実行した後に前記命令実行手段が当該信号データが示す信号を処理するよう制御してもよい。

0026

この態様によれば、エミュレートされた第1の通信方式の信号が処理されなかったり、途中から処理されることに起因する不具合の発生を抑えつつ、信号の処理が遅れることに起因する不具合の発生も抑えることができる。

0027

本発明の一態様では、前記受信エミュレート手段は、前記命令実行手段が受信を開始することを示す命令を実行してから前記信号データが受信されるまでは、前記命令実行手段が命令を実行することを停止してもよい。

0028

この態様によれば、赤外線通信の信号を送信することに起因するタイムラグがあることに起因する不具合を抑えることができる。

図面の簡単な説明

0029

本発明の実施形態にかかるシステムの構成の一例を示す図である。
本発明の実施形態にかかる情報処理装置の構成の一例を示す図である。
本発明の実施形態にかかる情報処理装置が実現する機能を示すブロック図である。
エミュレーションの対象機ハードウェア構成の一例を示す図である。
エミュレーションの対象機における赤外線通信の動作の時間推移の一例を説明する図である。
エミュレート部が動作する期間の一例を示す図である。
エミュレート部の処理フローの一例を示す図である。
赤外線通信のエミュレーションの第1モードにおける動作の時間推移の一例を示す図である。
赤外線通信のエミュレーションの第2モードにおける動作の時間推移の一例を示す図である。
第1モードにおける送信エミュレート部の処理フローの一例を示す図である。
接続開始ダイアログの一例を示す図である。
接続先選択画面の一例を示す図である。
信号データの一例を示す図である。
第2モードにおける送信エミュレート部の処理フローの一例を示す図である。
第1モードにおける受信エミュレート部の処理フローの一例を示す図である。
第1モードにおいて通信の遅延が起きた場合の動作の時間推移の一例を示す図である。
第1モードにおいて受信開始前に信号データを受信した場合の動作を説明する図である。
第2モードにおける受信エミュレート部の処理フローの一例を示す図である。
第2モードにおいて受信エミュレート部が受信開始から信号データを受信するまでの動作の一例を示す図である。
第2モードにおいて受信エミュレート部が受信開始前に信号データを受信した場合の動作を説明する図である。

実施例

0030

以下では、本発明の実施形態について図面に基づいて説明する。なお、出現する構成要素のうち同一機能を有するものには同じ符号を付し、その説明を省略する。

0031

図1は、本発明の実施形態にかかるシステムの一例を示す図である。このシステムは、複数のゲーム装置1を含む。ゲーム装置1は例えば携帯型のゲーム機である。

0032

ゲーム装置1どうしはネットワーク、例えばアドホック通信による無線LANにより通信する。ゲーム装置1どうしは、アドホック通信ではなく無線LANルータを介して通信してもよいし、有線LANを用いて通信してもよい。

0033

図2は、ゲーム装置1のハードウェア構成の一例を示す図である。ゲーム装置1はプロセッサ11、記憶部12、入出力部13、通信部14を含む。

0034

プロセッサ11は、記憶部12に格納されているプログラムに従って動作し、入出力部13や通信部14を制御する。

0035

記憶部12は、DRAMフラッシュメモリ等のメモリ素子によって構成されている。記憶部12は、上記プログラムを格納する。また、記憶部12は、各部から入力される情報や演算結果を格納する。

0036

入出力部13は、ディスプレイ等の表示出力デバイスを制御する手段や、タッチパネルコントローラ等の入力デバイスを制御する手段などによって構成されている。入出力部13は、プロセッサ11の制御に基づいて、画像データ等を表示出力デバイスに対して出力し、入力デバイスよりユーザの操作を取得する。

0037

通信部14は無線LANを構成する集積回路アンテナなどにより構成されている。通信部14は、プロセッサ11の制御に基づいて、他の装置から受信した情報をプロセッサ11や記憶部12に入力し、他の装置に情報を送信する。例えば通信部14は、他のゲーム装置1などに含まれる通信部14などと、アドホック通信で直接通信する、あるいは、無線LANアクセスポイントルータなどのネットワーク機器を介して通信する機能を有する。なお、ゲーム装置1が有する通信部14は、有線LANに接続するための端子回路を有していてもよい。

0038

このゲーム装置1には、例えば旧式の携帯ゲーム機などの他の種類のハードウェアをエミュレートするプログラム(エミュレータ)がインストールされており、このハードウェア上で実行されるアプリケーションプログラムを実行することができる。このエミュレータは、フラッシュメモリ等のコンピュータで読み取り可能な記憶媒体に格納されて提供されるものであってもよいし、インターネット等のネットワークを介して提供されるものであってもよい。以下ではエミュレータがインストールされたゲーム装置1の動作について説明する。また、以下ではエミュレーションの対象となるハードウェアを「対象機」と記載する。

0039

図3は、本発明の実施形態にかかる情報処理装置が実現する機能を示すブロック図である。ゲーム装置1は、機能的に、エミュレート部51、接続制御部58を含む。また、エミュレート部51は、命令エミュレート部52、入出力エミュレート部53、アプリケーション設定取得部54、赤外線通信エミュレート部55を含み、さらに赤外線通信エミュレート部55は送信エミュレート部56と受信エミュレート部57とを含んでいる。これらの機能は、プロセッサ11が記憶部12に格納されるプログラムを実行し、入出力部13や通信部14を制御することで実現される。

0040

エミュレート部51は、対象機の動作をエミュレートし、この対象機上で動くゲームソフトウェアなどのアプリケーションプログラムの動作を実現する。エミュレート部51の動作を説明する前に、エミュレーションの対象となる対象機について説明する。

0041

図4は、エミュレーションの対象機3,4のハードウェア構成の一例を示す図である。図4には2台の対象機3,4が示されているが、実際にエミュレート部51がエミュレートするのはそのうちの1つである。対象機3,4は、それぞれプロセッサ31,41と、記憶部32,42と、入出力部33,43と、発光部34,44と、受光部35,45とを含む。

0042

プロセッサ31,41は、記憶部32,42に格納されているプログラムに従って動作し、入出力部33,43、発光部34,44、受光部35,45を制御する。プロセッサ31,41は、プロセッサ11と命令体系などの種類が異なっていてもよい。記憶部32,42は、DRAMやフラッシュメモリ等のメモリ素子によって構成されている。入出力部33,43は、対象機の表示出力デバイスを制御する手段や、コントローラ等の入力デバイスを制御する手段などを含む。

0043

発光部34,44と受光部35,45は、赤外線通信をするデバイスを構成している。発光部34,44はバス上の特定のアドレスマッピングされた送信レジスタの値に応じて発光する。受光部35,45は、発光部34,44からの光を受けたか否かに応じてバス上の特定のアドレスにマッピングされた受信レジスタの値を設定する。

0044

図5は、エミュレーションの対象機における赤外線通信の動作の時間推移の一例を説明する図である。対象機3や対象機4のアプリケーションプログラムは、送信すべきデータに応じて発光部34をONOFFさせることで送信すべきデータを赤外光の信号に変調し、また赤外光の信号を受光した受光部45からの光を感知したか否かの出力をデータに変換することで、赤外光の信号をデータに復調する。データを変調および復調する方式としては、データのビット列の「1」をON、「0」をOFFとして一定時間ごとに順にビットを送受信する方法でもよいし、データのビット列の「1」はONOFFの反対にし、「0」ならONOFFを切替えないとして一定時間ごとに順にビットを送受信する方法でもよいし、ビット列の「1」の発光期間と「0」の発光期間を異ならせ、その発光期間の間に消光期間を設けて順にビットを送受信する方法でもよい。なお、対象機3,4の赤外線通信デバイスは発光部34,44を用いて赤外線信号を送信する期間と、受光部35,45を用いて赤外線信号を受信する期間とが明確に分けられている。より具体的には、バス上の通信設定レジスタに、送信を行う送信モードと、受信を行う受信モードと、送信も受信も行わない待機モードのうちいずれかがアプリケーションプログラムで実行される命令により設定される。図5では、発光部34が発光することをON、消光することをOFF、そして、受光部45が光を感知したことをON、光を感知しなかったことをOFFで表現している。

0045

赤外線通信の動作について、より具体的には、例えば対象機3のプロセッサ31がアプリケーションプログラムの命令に応じてデータを変調してあるタイミングで送信レジスタに1(または0)をセットすると、送信レジスタの値が変わるか受信モードや待機モードになるまで発光部34は発光(または消光)し、その光を対象機4の受光部45が受光すると、受信レジスタに1(または0)がセットされる。対象機4のプロセッサ41はアプリケーションプログラムの命令に応じて受信レジスタの値を取得し、その値の時系列(信号に相当する)を用いてデータに復調する。ここで、対象機3の送信レジスタに値がセットされてから対象機4の受信レジスタに値が設定されるまでの遅延は回路の電気的な遅延に起因するものがほとんどである。また、図4に示すように、赤外線通信を行う際には発光部34と受光部45、発光部44と受光部35をそれぞれ向かい合わせにする必要がある。

0046

以下では、図4に示す対象機3,4のハードウェアをエミュレートするエミュレート部51の概要を説明する。命令エミュレート部52はプロセッサ11および記憶部12を中心として実現される。命令エミュレート部52は、アプリケーションプログラムに含まれる命令をエミュレーションにより実行する。このアプリケーションプログラムは、対象機3,4のプロセッサ31,41が直接解釈し実行することができるものである。

0047

図6は、エミュレート部51が動作する期間の一例を示す図である。エミュレート部51は、処理単位期間Pp(ここでは垂直走査期間1V)ごとに処理を開始し、対象機3,4が処理単位期間Ppに行う処理をエミュレートする。ゲーム装置1のハードウェアが十分に速ければ、エミュレートする際の所要時間T1は、もともとの処理単位期間Pp(ここでは垂直走査期間1V)より小さくなる。その処理単位期間Ppに相当する処理のエミュレートが終わると、次の処理単位期間Ppに移るまで以降の処理をエミュレートしない。こうすることで、エミュレートが実際の対象機3,4の動作より速くなりすぎることを防いでいる。

0048

また入出力エミュレート部53は、命令エミュレート部52はプロセッサ11、記憶部12および入出力部13を中心として実現される。入出力エミュレート部53は、対象機3,4が有する表示出力デバイスや入力デバイスの動作をエミュレートする。より具体的には、入出力エミュレート部53は、入出力部13を介してコントローラなどの入力デバイスからの入力を取得し、その入力を対象機3,4の入出力部33,43にあわせて変換したデータをアプリケーションプログラムを実行する命令エミュレート部52が処理するよう制御する。また入出力エミュレート部53は、命令エミュレート部52から対象機3,4の入出力部33,43に出力するデータを取得し、それを変換することで入出力部13を介してそのデータが示す画像や音声を実際の出力デバイスに出力させる。

0049

赤外線通信エミュレート部55は、発光部34,44や受光部35,45といった赤外線通信デバイスの動作をエミュレートする。送信エミュレート部56は、プロセッサ11、記憶部12および通信部14を中心として実現され、通信単位期間において赤外線通信により送信される信号を示す信号データを生成し、その信号データを受信する他の通信部14に向けて送信する。また受信エミュレート部57は、プロセッサ11、記憶部12および通信部14を中心として実現され、通信部14を介して受信した信号データであって、通信単位期間において赤外線通信により送信される信号を示す信号データを取得し、その信号データが示す信号をアプリケーションプログラムの動作をエミュレートする命令エミュレート部52に処理させる。

0050

アプリケーション設定取得部54は、プロセッサ11、記憶部12および通信部14を中心として実現される。アプリケーション設定取得部54は、対象機3,4上で実行されるアプリケーションプログラムに関連づけられたエミュレーションの設定を取得する。この設定としては、赤外線通信をエミュレーションする方式や、そのエミュレーションの際のパラメータなどがある。ここで、このアプリケーションプログラムはそのイメージファイルとそのアプリケーションに応じたエミュレーションの設定とともにネットワークや情報記憶媒体を介して配布されてよい。

0051

接続制御部58は、赤外線通信を開始することを示す命令が命令エミュレート部52により実行された場合に、赤外線通信により送信される信号を示す信号データを赤外線通信と異なる通信方式により送信する通信部14がその信号データをその通信方式で受信する通信部14と接続するよう制御する。また、接続制御部58は赤外線通信を開始することを示す命令が命令エミュレート部52により実行された場合に、接続先となるゲーム装置1の候補を提示してユーザに選択させることで、複数のゲーム装置1から接続先となるものを決定し、その決定されたゲーム装置1と接続する。

0052

以下では、エミュレート部51の処理の概要についてさらに説明する。図7は、エミュレート部51の処理フローの一例を示す図である。図7に示す処理は、処理単位期間Ppごとに実行される。なお、アプリケーションを起動する際の初期処理については説明を省略する。

0053

はじめに、受信エミュレート部57は、赤外線通信による信号の受信をエミュレートする(ステップS101)。その詳細な処理については後述する。次に、命令エミュレート部52は、記憶部12に格納されたスリープフラグがOFFであれば(ステップS102のN)、命令エミュレート部52は記憶部12に格納されたアプリケーションプログラムのうち、前回実行された命令の次の命令を取得する(ステップS103)。この命令の場所は、対象機3,4のプロセッサ31,41のプログラムカウンタの値として記憶部12に格納されている。そして、命令エミュレート部52は、取得された命令をエミュレーションにより実行する(ステップS104)。ここで、スリープフラグがONであれば(ステップS102のY)、ステップS103、S104の処理はスキップされる。

0054

次に、送信エミュレート部56は赤外線通信による送信をエミュレートする(ステップS105)。また命令エミュレート部52は、対象機3,4のプロセッサ31,41が実際に実行した場合にかかる時間だけ内部時間を増加させる(ステップS106)。この内部時間は、例えばCPUサイクル数の累積時間であってよい。またCPUのクロック可変であれば最大クロックで動作したとする場合のCPUサイクル数の累積時間であってよい。より具体的には、命令エミュレート部52は、プロセッサ31,41が実際に実行した場合にかかる内部時間として命令の実行にかかるCPUサイクルに最大クロック数をかけて動作クロック数で割った値を求め、その値だけ内部時間を増加させてよい。なお、スリープの際には予め定められた時間だけ内部時間を増加させてよい。そして、命令エミュレート部52は、内部時間が図7に示す処理の開始から処理単位期間Ppだけ経過したかを判定し(ステップS107)、処理単位期間Ppが経過していなければ(ステップS107のN)ステップS101からの処理を繰り返す。また処理単位期間Ppが経過したら(ステップS107のY)、図7に示す処理を終了する。

0055

次に、赤外線通信をエミュレートする方法の概要を説明する。送信側のゲーム装置1の送信エミュレート部56は、命令エミュレート部52が命令を実行するごとに送信レジスタの値を取得して赤外線通信の信号の時系列を取得し、通信単位期間における信号データを生成し、信号データを通信部14を介して受信側のゲーム装置1の通信部14に向けて送信する。そして受信側のゲーム装置1の受信エミュレート部57は、通信部14を介して信号データを取得し、内部時間の経過に応じた信号の状態を示す受信レジスタの値を設定する。また本実施形態では、赤外線通信をエミュレートする方法として第1モードと第2モードの2つのモードを有する。

0056

図8は、赤外線通信のエミュレーションの第1モードにおける動作の時間推移の一例を示す図である。第1モードでは内部時間における通信単位期間Pucは実時間における処理単位期間Pp(垂直走査期間1V)と同じ長さであり、通信単位期間Pucおよび処理単位期間Ppの開始タイミングは同じである。図8は、説明の容易のため内部時間の推移と送信レジスタ、受信レジスタ等の状態との関係を示しているが、図6からわかるように実時間では処理単位期間Pp(ここでは通信単位期間Puc)ごとに処理が行われない時間が存在する。この間にゲーム装置1のプロセッサ11と通信部14とが信号データ61,62を送受信することが可能である。

0057

第1モードでは、送信側のゲーム装置1の送信エミュレート部56は、送信モードの場合に、通信単位期間Pucが終わるごとにその期間内の送信レジスタの値の時系列の推移を示す信号データ61,62を生成し、その信号データ61,62を通信部14を介して受信エミュレート部57に向けて送信する。受信エミュレート部57は通信単位期間Pucが始まるごとに受信された信号データ61,62を取得し、その通信単位期間Pucにあける受信レジスタの値の時系列の推移に反映する。

0058

図9は、赤外線通信のエミュレーションの第2モードにおける動作の時間推移の一例を示す図である。第2モードでは通信単位期間Pusは対象機3,4が赤外線通信の信号の送信を開始してから終了するまでに相当する期間である。より具体的には、この通信単位期間Pusは、例えば通信設定レジスタに送信モードが設定されてからその設定が解除されるまでの期間や、送信を開始することを示す命令(例えばこの命令はプログラムカウンタの値で検知される)が実行されてから、送信を終了することを示す命令(これもプログラムカウンタの値で検知される)が実行されるまでの期間であってよい。なお、図9も説明の容易のため内部時間の推移と送信レジスタ、受信レジスタ等の状態との関係を示しており、実時間では処理単位期間Ppが経過するごとに処理が行われない時間が存在する。

0059

第2モードでは、送信側のゲーム装置1の送信エミュレート部56は、送信モードの場合に、通信単位期間Pusが終わる(例えば送信モードが解除される)とその期間内の送信レジスタの値の時系列の推移を示す信号データ63を生成し、その信号データ63を通信部14を介して受信エミュレート部57に向けて送信する。受信エミュレート部57は受信された信号データ63を取得し、その通信単位期間Pusにあける受信レジスタの値の時系列の推移に反映する。

0060

送信エミュレート部56は、アプリケーション設定取得部54が取得した設定のうち、赤外線通信をエミュレートする方式が第1モードか第2モードかによって、送信エミュレート部56が第1モードに従った赤外線通信のエミュレートをするか、第2モードに従った赤外線通信のエミュレートをするかを切替える。本実施形態では、アプリケーションプログラムに応じて方式を切替える、または通信に関するその他の設定を調整することで、より精度の高い赤外線通信のエミュレーションを実現している。

0061

以下では、第1モードと第2モードのそれぞれについてステップS105における送信エミュレート部56の処理内容を説明する。

0062

図10は、第1モードにおける送信エミュレート部56の処理フローの一例を示す図である。はじめに、送信エミュレート部56は、通信設定レジスタに送信モードが設定されていれば(ステップS301のY)、記憶部12にある送信バッファに現在の内部時間と関連づけて現在の赤外線通信の信号の状態、より具体的には発光部34,44が発光しているか否かを示す送信レジスタの値を格納する(ステップS302)。送信モードではステップS302の処理は図7ループでステップS105が実行されるたびに行われ、送信バッファには内部時間の推移に応じた信号の状態の時系列の情報が蓄積される。

0063

次に、現在の内部時間が通信単位期間Pucにおける最後の命令の実行を示しているのであれば(ステップS303のY)、以下のステップS304からS308の処理が行われる。まず、接続制御部58は、その通信相手(接続先)となるゲーム装置1が決定しておりかつ接続先の通信部14と本機の通信部14とが無線LANや有線LANなどのパケット通信で接続していない場合には(ステップS304のN)、通信相手の候補を提示して通信相手となるゲーム装置1を決定し(ステップS305)、決定された通信相手とパケット通信で接続する(ステップS306)。

0064

ステップS304からS306の処理についてさらに説明する。ステップS304においては、他のゲーム装置1との間の通信に無線LANのアドホック通信を用いる場合には、信号データの送信先となるゲーム装置1が決定されているか、またはそのゲーム装置1との間で無線LANのアドホックモードの接続がされているかを確認する。またゲーム装置1との通信にルータ等を用いた無線LANや有線LANを用いる場合には、信号データの送信先となるゲーム装置1が決定されているか、または通信相手のゲーム装置1との間でセッションが張られているかを確認する。まだ通信相手が決定されていない場合や、接続がされていない場合は、通信相手を決定し接続をするステップS305およびステップS306の処理を行う。ここで、ステップS305およびステップS306の処理の間は命令エミュレート部52の動作は停止される。

0065

ステップS305においては、接続制御部58は、まず他のゲーム装置1に接続するか否かをユーザに確認する。図11は接続開始ダイアログ81の一例を示す図である。接続制御部58は入出力部13を制御して接続開始ダイアログ81をアプリケーションの画面重畳するように表示させ、エミュレート部51が動作するゲーム装置1が他のゲーム装置1と接続してよいかを確認する。例えば図11に示す接続開始ダイアログ81においてユーザが「はい」ボタンを押下して他のゲーム装置1と接続することを許可する指示をした場合には、接続制御部58は接続相手となるゲーム装置1の候補を提示する。

0066

図12は接続先選択画面82の一例を示す図である。接続制御部58は入出力部13を制御して接続先選択画面82をアプリケーションの画面に重畳するように表示させる。接続先選択画面82には、接続先の候補となるゲーム装置1のリストを表示する。ここでは、接続先選択画面82にはゲーム装置1の識別を容易にするために接続先のゲーム装置1の候補そのものではなく、それを利用しているユーザの一覧が表示される。接続制御部58は、この候補の一覧として、アドホック通信しているゲーム装置1やLANの同一のセグメントに接続しているゲーム装置1を全て提示してもよいし、エミュレート部51が動作しているゲーム装置1のみ、または本機と同じアプリケーションプログラムをエミュレート部51で実行しているゲーム装置1のみを提示してもよい。他のゲーム装置1のユーザの情報やエミュレート部51の状況は、通信部14を介して取得すればよい。接続制御部58は、ユーザの入出力部13からの入力に基づいてこの候補のうちユーザが選択したものを決定し、その決定されたゲーム装置1と接続する。

0067

対象機3,4で実際に赤外線通信をする場合には、赤外線通信の開始を指示する直前または直後に対象機3と対象機4とを所定の配置にする場合が多い。一方で対象機3の赤外線通信の通信相手は、やはり赤外線通信の開始を指示する直前に定まることも多い。アプリケーションプログラムの多くはそれを前提として作られている。

0068

従って、このタイミングで通信相手と接続することはアプリケーションプログラムの前提に沿うことになり、エミュレーションにおける操作上の違和感を軽減することが可能になる。さらにいえば、実際の対象機3と異なり、赤外線通信を無線LANや有線LANでエミュレーションするだけでは通信相手を決められず、なんらかのタイミングで通信相手を決定する必要がある。赤外線通信開始時に通信相手を決定すると実際に赤外線通信をする場合に通信相手を決めるタイミングに近くなり、この観点からもユーザの違和感を軽減することができる。なお、通信相手となるゲーム装置1が1台しか無い場合や、事前に決まっている場合には、ユーザに候補を提示することなくそのゲーム装置1と接続してもよい。

0069

ステップS304において通信相手と接続されている場合、またはステップS306で通信相手と接続された後には、送信エミュレート部56は、送信バッファ内のデータから通信単位期間Pucにおける赤外線の信号を示す信号データを生成する(ステップS307)。

0070

図13は信号データの一例を示す図である。信号データは、この信号データに続く信号データが存在するか否かを示す継続フラグと、通信単位期間内の信号を示す情報とからなる。さらに信号を示す情報は、それぞれが光を出力するか否かを示す値とその値が継続する内部時間を示す情報(継続時間)とを含む複数の組(時間推移に応じた配列)である。図13における継続時間は、最大のCPUサイクルにおけるCPUサイクル数で表現されている。通信単位期間の途中で送信モードになった場合には、送信モードになる前の内部時間の長さを示す情報も信号データに含める。なお、継続フラグの詳細な意味については受信エミュレート部57の動作とともに説明する。なお、ステップS307の処理をする代わりに、ステップS302で直接信号データを生成してもよい。

0071

そして、送信エミュレート部56は、通信部14を介して信号データを通信相手となるゲーム装置1に向けて送信する(ステップS308)。このようにすることで第1モードにおいて送信エミュレート部56は赤外線通信の送信をエミュレートする。

0072

図14は、第2モードにおける送信エミュレート部56の処理フローの一例を示す図である。はじめに、送信エミュレート部56は、通信設定レジスタに送信モードが設定されていれば(ステップS351のY)、記憶部12にある送信バッファに現在の内部時間と関連づけて現在の赤外線通信の信号の状態、より具体的には発光部34,44が発光しているか否かを示す送信レジスタの値を格納し(ステップS352)、ステップS105における処理を終了する。

0073

一方、通信設定レジスタに送信モードが設定されていない場合は(ステップS351のN)、通信単位期間Pusが終了してすぐのタイミングであるか判定するために前回にステップS105の処理をした際に通信設定レジスタに送信モードが設定されていたかを確認する(ステップS353)。前回も送信モードでない場合には(ステップS353のN)、その前に通信単位期間Pusが終了したタイミングで信号データが送信されているとして、処理を終了する。一方、前回が送信モードである場合には(ステップS353のY)、ステップS354からS358の信号データを送信するための処理を行う。

0074

まず、接続制御部58は、その通信相手(接続先)となるゲーム装置1が決定しておりかつ接続先の通信部14と本機の通信部14とが無線LANや有線LANなどのパケット通信で接続していない場合には(ステップS354のN)、通信相手の候補を提示して通信相手となるゲーム装置1を決定し(ステップS355)、決定された通信相手とパケット通信で接続する(ステップS356)。この処理の詳細については第1モードと同様であるので省略する。

0075

ステップS354において通信相手と接続されている場合、またはステップS356の処理の後には、送信エミュレート部56は、送信バッファ内のデータから通信単位期間Pusにおける赤外線の信号を示す信号データを生成する(ステップS357)。信号データは第1モードと同様であるが、第2モードでは継続フラグの値は固定値が設定されてもよいし、継続フラグの項目がなくてもよい。

0076

そして、送信エミュレート部56は、通信部14を介して信号データを通信相手となるゲーム装置1に向けて送信する(ステップS358)。このようにすることで第2モードにおいて送信エミュレート部56は赤外線通信の送信をエミュレートする。

0077

次に、受信エミュレート部57の赤外線通信のエミュレーションの動作について説明する。受信エミュレート部57は、アプリケーション設定取得部54が取得した設定のうち、赤外線通信をエミュレートする方式が第1モードか第2モードかによって、受信エミュレート部57が第1モードに従った赤外線通信のエミュレートをするか、第2モードに従った赤外線通信のエミュレートをするかを切替える。送信エミュレート部56と同様に、アプリケーションプログラムに応じて動作モードや通信設定を切替えることで、アプリケーションプログラムごとに赤外線通信の細かなプロトコルが異なっているような場合でも通信エラーの発生を抑えることができる。以下では第1モードと第2モードのそれぞれについてステップS101における受信エミュレート部57の処理内容を説明する。

0078

図15は、第1モードにおける受信エミュレート部57の処理フローの一例を示す図である。はじめに、受信エミュレート部57は、次の信号データを取得することが必要か否かを判定する(ステップS201)。より具体的には受信エミュレート部57は、既に取得している信号データに対応する通信単位期間Pucが経過し、通信単位期間Pucに対応する処理単位期間Ppがこのタイミングで次の処理単位期間Ppに切り替わったか否かを判定する。処理単位期間Ppが切り替わり次の信号データが必要な場合には(ステップS201のY)、受信エミュレート部57は通信部14を介して前回の信号データの次の信号データを受信しているかを確認する(ステップS202)。次の信号データが受信されていれば(ステップS202のY)、受信エミュレート部57はその受信された信号データを取得する(ステップS203)。一方、次の信号データを受信していない場合であって(ステップS202のN)、かつ次の信号データが送信されることがわかっている場合(ステップS205のY)には、スリープフラグをONに設定し(ステップS206)、処理を終了する。このスリープフラグをONにするのは、受信エミュレート部57がこの処理単位期間Ppの間(厳密には次の信号データを受信したすぐ後の処理単位期間Ppの開始まで)、命令エミュレート部52がアプリケーションプログラムの命令の実行をエミュレートすることを停止させる(スリープさせる)ためである。なお、この停止させる期間を以下ではスリープ期間Psと呼ぶ。

0079

ステップS203で受信エミュレート部57が受信された信号データを取得すると、受信エミュレート部57はスリープフラグをOFFに設定し(ステップS204)、命令エミュレート部52がスリープしている場合にはこの処理単位期間Ppにおいて命令エミュレート部52がアプリケーションプログラムの実行をエミュレートすることを再開させる。

0080

ここで、ステップS201において処理単位期間Ppが切り替わっておらず、それにより既に取得している信号データに対応する通信単位期間Puc内である場合には(ステップS202のN)、受信エミュレート部57は次の信号データが必要でないのでステップS204の次であるステップS207まで処理をスキップする。

0081

ステップS207では、受信エミュレート部57は、通信設定レジスタに受信モードが設定されているか確認する(ステップS207)。そこで受信モードが設定されていない場合は(ステップS207のN)、図7のループ中のこのステップS101においては以下の処理を行わずに図15の処理を終了する。一方、通信設定レジスタに受信モードが設定されている場合は(ステップS207のY)、他のモードから受信モードに切り替わる前の赤外線信号の存在を示す信号データがあるかを確認する(ステップS208)。より具体的には、受信エミュレート部57は通信設定レジスタの設定が他のモードから受信モードに今回切り替わり、かつ信号データが現在の内部時間より前に通信をしている(例えば送信レジスタの値がONになる)ことを示しているかを確認する。他のモードから受信モードに切り替わる前の赤外線信号の存在を示す信号データがある場合には(ステップS208のY)、取得済の信号データを破棄し(ステップS209)、図15の処理を終了する。なお、ステップS209で取得隅の信号データを破棄する場合には、この信号データに続く信号データも破棄してよい。

0082

ステップS208で他のモードから受信モードに切り替わる前の赤外線信号の存在を示す信号データがない場合には(ステップS208のN)、受信エミュレート部57は信号データから現在の内部時間における赤外線通信の信号の状態(発光か非発光かを示す値)を取得し、受信レジスタの値を設定する(ステップS210)。より具体的には、例えば図13に示す信号データを利用する場合には、受信した信号データを取得した内部時間をTi、現在の内部時間をTcとした場合に、信号データのk番目の組の継続CPUサイクルをCkとした場合に、以下の式を満たすkを求め、k番目の組の値を取得して受信レジスタに設定する。

0083

0084

図16は、第1モードにおいて通信の遅延が起きた場合の動作の時間推移の一例を示す図である。第1モードにおいて連続する通信単位期間Pucの信号データ64,65が順に送信される場合であっても、通信の途中で予期せぬ遅延が生じた場合などに、後ろの信号データ65だけ遅く受信側のゲーム装置1に到着する場合がある。このような場合は、次の信号データ65を受信しておらずかつ前回の信号データ64の次の信号データ65が送信されることがわかっている場合である。この場合に、受信エミュレート部57はスリープ期間Ps(その信号データ65を受信しかつその信号データを用いた処理を開始するまでの期間)だけ命令エミュレート部52の命令の実行を抑止する。これにより、アプリケーションプログラムの処理においてその遅延の影響をなくし通信エラーの発生を軽減することができる。

0085

図17は、第1モードにおいて受信開始前に信号データを受信した場合の動作を説明する図である。赤外線通信において、赤外線通信の送信側が信号を送るタイミングと、受信側が信号を受け始めるタイミングとを自動的に同期をとらない場合には、受信側が受信モードに切替える前に信号が届いてしまい、その信号を途中から処理することで通信エラーが生じる恐れがある。エミュレーションにおいては、ステップS208等の処理によって、受信を開始することを示す命令が実行される前に赤外線通信による信号が存在することを信号データ66が示す場合に信号データ66を処理させないことで、通信エラーの発生を抑えることができる。なお、ステップS208では受信モードに切替える命令の実行により受信を開始することを示す命令がわかるが、予めアプリケーションごとに受信処理の開始に相当する命令のアドレスを準備しておき、プログラムカウンタがそのアドレスになった場合に受信開始になるとしてもよい。

0086

図18は、第2モードにおける受信エミュレート部57の処理フローの一例を示す図である。はじめに、受信エミュレート部57は、通信設定レジスタに受信モードが設定されているかを確認する(ステップS251)。受信モードが設定されていなければ(ステップS251のN)、図18の処理は終了する。

0087

受信モードが設定されていれば(ステップS251のY)、受信エミュレート部57は受信モードになってから信号データを受信したかを判定する(ステップS252)。より具体的には受信エミュレート部57は今回に他のモードから受信モードに切り替わったかを確認する。受信データを取得している場合には(ステップS252のY)、ステップS260の処理を行う。一方、受信データを取得していない場合には(ステップS252のN)、受信エミュレート部57はスリープフラグをONにし(ステップS253)、信号データを取得するまで命令エミュレート部52がアプリケーションプログラムに含まれる命令を実行しないようにする。

0088

次に、受信エミュレート部57は信号データを受信しているか確認する(ステップS254)。受信していない場合には(ステップS254のN)、図18の処理を終了する。一方、信号データを受信した場合には(ステップS254のY)、受信エミュレート部57は受信された信号データを取得し(ステップS255)、記憶部12に格納する。また受信エミュレート部57は、アプリケーション設定取得部54が実行中のアプリケーションプログラムに関連づけて取得した設定のうち、許容遅延時間を取得する(ステップS256)。そして、現在時刻受信時刻との差が許容遅延時間以下の場合には(ステップS257のY)、その信号データが有効であるとしてスリープフラグをOFFにし(ステップS259)、ステップS260の処理を行う。一方、現在時刻と受信時刻との差が許容遅延時間より大きい場合には(ステップS257のN)、取得された信号データを破棄し、図18の処理を終了する。

0089

ステップS260では、信号データから現在の内部時間における赤外線通信の信号の状態(発光か非発光かを示す値)を取得し、受信レジスタの値を設定する。この詳細は第1モードと同様であるので説明を省略する。

0090

図19は、第2モードにおいて受信エミュレート部57が受信開始から信号データ67を受信するまでの動作の一例を示す図である。第2モードでは受信を開始する命令が実行されてから信号データ67が受信されるまでは、命令エミュレート部52が命令を実行することが停止される。これにより、図19に示すスリープ期間Psが生じる。このようにすることで、赤外線通信のエミュレーションに伴う送信と受信とのタイムラグを減らすことができ、通信エラーの発生を抑えることができる。

0091

図20は、第2モードにおいて受信エミュレート部57が受信開始前に信号データ68を受信した場合の動作を説明する図である。このような場合には、受信開始以降(例えば受信モードに切り替わったタイミング)に赤外線通信の信号を受信したものとして受信エミュレート部57の処理を進めることが考えられる。このようにしてもアプリケーションプログラムにおける赤外線の送受信の方式によっては問題が生じず、むしろ通信エラーが減る場合があるからである。一方で、信号データ68の受信から受信開始までの遅延時間Ttがあまりに大きいと、再送信の発生などにより送信側と受信側とで不整合が起きる恐れがある。そこで、アプリケーションプログラムに応じて許容遅延時間を設定し、遅延時間Ttが許容遅延時間に収まる場合のみ受信開始以降に赤外線通信の信号を受信したものとして処理することで、アプリケーションの特性に応じて通信エラーの発生を抑えることが可能になる。

0092

なお、第1モードでも、受信エミュレート部57は受信開始から信号データ67を受信するまでの間に命令エミュレート部52の命令の実行を停止してもよいし、信号データが受信開始前に受信したことを示す信号を受信開始後に処理するようにしてもよい。第2モードでも、受信開始前に受信したことを示す信号がある場合にその信号データを破棄してもよい。これらの受信の方法のそれぞれをモードとして選択できるようにしてもよい。より具体的には、これらのモードをアプリケーションプログラムごとに設定しておき、その設定に応じて受信エミュレート部57が受信時の動作を切替えるようにしてもよい。

0093

なお、本発明が適用されるのはゲーム装置1に限られない。例えば、テレビ家庭用ビデオレコーダー赤外線リモコンのエミュレーションに適用してもよい。また、アプリケーションプログラムを実行する部分はエミュレーションせず、赤外線通信のハードウェアだけエミュレートする場合にも適用することができる。

0094

1ゲーム装置、3,4対象機、11,31,41プロセッサ、12,32,42 記憶部、13,33,43入出力部、14通信部、34,44発光部、35,45受光部、51エミュレート部、52命令エミュレート部、53 入出力エミュレート部、54アプリケーション設定取得部、55赤外線通信エミュレート部、56 送信エミュレート部、57 受信エミュレート部、58接続制御部、61,62,63,64,65,66,67,68 信号データ、81接続開始ダイアログ、82接続先選択画面、1V垂直走査期間、Pp処理単位期間、Puc,Pus通信単位期間、Psスリープ期間、T1所要時間、Tt遅延時間。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 菱洋エレクトロ株式会社の「 情報共有のためのシステム、ボット、及び方法」が 公開されました。( 2020/10/29)

    【課題】迅速性と実効性を担保したコミュニケーション方法を提供すること。【解決手段】 システムを利用した情報共有の方法であって、 前記システムは、通信端末と、ボットとを備え、 前記通信端末は、前記... 詳細

  • 株式会社BSAの「 検索管理装置」が 公開されました。( 2020/10/29)

    【課題】ユーザが情報を検索するために必要な負荷を低減できる検索管理装置を提供する。【解決手段】検索管理装置10は、Webサーバ30にインターネットを介して接続され、クラウド上で提供されるサービスを利用... 詳細

  • グラフテクノロジー株式会社の「 画面共有及び遠隔操作システム」が 公開されました。( 2020/10/29)

    【課題】運営者と利用者の双方における情報伝達を視覚的に促進でき、利用者ブラウザに表示される画面を運営者ブラウザを通じて共有することを可能とし、運営者が利用者ブラウザに表示されたウェブページに対して遠隔... 詳細

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ