(57)【要約】【課題】時間に応じて変化する状態情報であって、遅延を伴って入力される遅延データを、精度良く予測するためのコンピュータ用のプログラムを提供する。【解決手段】遅延を伴って入力される時刻ｔｉにおける実際の状態情報ｒ（ｔｉ）と、上記状態情報ｒ（ｔｉ）の予測値ｒ’（ｔｉ）と、過去の状態情報ｒ（ｔｉ）と予測値ｒ’（ｔｉ）との比例誤差εｐ（ｔｉ）と、時刻ｔｉにおける慣性項｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝／（ｔｉ−１−ｔｉ−２）とを用いて、時刻ｔｉにおける予測値ｒ’（ｔｉ）を、｛ｒ’（ｔｉ）−ｒ’（ｔｉ−１）｝／（ｔｉ−ｔｉ−１）＝−｛ｐ（｜εｐ（ｔｉ−１）｜−｜εｐ（ｔｉ−２）｜）＋ａεｐ（ｔｉ−１）｝／｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝＋ｍ｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝／（ｔｉ−１−ｔｉ−２）から演算する手順と、上記予測値ｒ’（ｔｉ）を出力する手順とを、コンピュータに実行させる。【選択図】  図１
2004280507.tif 000002
【特許請求の範囲】
【請求項１】
時間とともに連続的に変化する状態情報であって、遅延を伴って入力される、時刻ｔｉにおける実際の状態情報ｒ（ｔｉ）を記憶する手段と、上記状態情報ｒ（ｔｉ）の予測値ｒ’（ｔｉ）を記憶する手段と、過去の状態情報ｒ（ｔｉ）と予測値ｒ’（ｔｉ）との比例誤差εｐ（ｔｉ）＝ｒ（ｔｉ）−ｒ’（ｔｉ）を演算する手順と、時刻ｔｉにおける慣性項｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝／（ｔｉ−１−ｔｉ−２）を演算する手順と、上記状態情報ｒ（ｔｉ）、予測値ｒ’（ｔｉ）、比例誤差εｐ（ｔｉ）、上記慣性項を用いて、時刻ｔｉにおける予測値ｒ’（ｔｉ）を、｛ｒ’（ｔｉ）−ｒ’（ｔｉ−１）｝／（ｔｉ−ｔｉ−１）＝−｛ｐ（｜εｐ（ｔｉ−１）｜−｜εｐ（ｔｉ−２）｜）＋ａεｐ（ｔｉ−１）｝／｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝＋ｍ｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝／（ｔｉ−１−ｔｉ−２）から演算する手順と、上記予測値ｒ’（ｔｉ）を出力する手順とを、コンピュータに実行させるための遅延データ予測プログラム。
【請求項２】
時間とともに連続的に変化する状態情報であって、遅延を伴って入力される、時刻ｔｉにおける実際の状態情報ｒ（ｔｉ）を記憶する手段と、上記状態情報ｒ（ｔｉ）の予測値ｒ’（ｔｉ）を記憶する手段と、過去の状態情報ｒ（ｔｉ）と予測値ｒ’（ｔｉ）との比例誤差εｐ（ｔｉ）＝ｒ（ｔｉ）−ｒ’（ｔｉ）を演算する手順と、上記状態情報ｒ（ｔｉ）、予測値ｒ’（ｔｉ）、比例誤差εｐ（ｔｉ）を用いて、時刻ｔｉにおける予測値ｒ’（ｔｉ）を、｛ｒ’（ｔｉ）−ｒ’（ｔｉ−１）｝／（ｔｉ−ｔｉ−１）＝−｛ｐ（｜εｐ（ｔｉ−１）｜−｜εｐ（ｔｉ−２）｜）＋ａεｐ（ｔｉ−１）｝／｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝から演算する手順と、上記予測値ｒ’（ｔｉ）を出力する手順とを、コンピュータに実行させるための遅延データ予測プログラム。
【請求項３】
時間とともに連続的に変化する状態情報であって、遅延を伴って入力される、時刻ｔｉにおける実際の状態情報ｒ（ｔｉ）を記憶する手段と、上記状態情報ｒ（ｔｉ）の予測値ｒ’（ｔｉ）を記憶する手段と、過去の状態情報ｒ（ｔｉ）と予測値ｒ’（ｔｉ）との比例誤差εｐ（ｔｉ）＝ｒ（ｔｉ）−ｒ’（ｔｉ）を演算する手順と、時刻ｔｉにおける慣性項｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝／（ｔｉ−１−ｔｉ−２）を演算する手順と、上記状態情報ｒ（ｔｉ）、予測値ｒ’（ｔｉ）、比例誤差εｐ（ｔｉ）、上記慣性項を用いて、時刻ｔｉにおける予測値ｒ’（ｔｉ）を、｛ｒ’（ｔｉ）−ｒ’（ｔｉ−１）｝／（ｔｉ−ｔｉ−１）＝−ｐ（｜εｐ（ｔｉ−１）｜−｜εｐ（ｔｉ−２）｜）／｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝＋ｍ｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝／（ｔｉ−１−ｔｉ−２）から演算する手順と、上記予測値ｒ’（ｔｉ）を出力する手順とを、コンピュータに実行させるための遅延データ予測プログラム。
【請求項４】
時間とともに連続的に変化する状態情報であって、遅延を伴って入力される、時刻ｔｉにおける実際の状態情報ｒ（ｔｉ）を記憶する手段と、上記状態情報ｒ（ｔｉ）の予測値ｒ’（ｔｉ）を記憶する手段と、過去の状態情報ｒ（ｔｉ）と予測値ｒ’（ｔｉ）との比例誤差εｐ（ｔｉ）＝ｒ（ｔｉ）−ｒ’（ｔｉ）を演算する手順と、時刻ｔｉにおける慣性項｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝／（ｔｉ−１−ｔｉ−２）を演算する手順と、上記状態情報ｒ（ｔｉ）、予測値ｒ’（ｔｉ）、比例誤差εｐ（ｔｉ）、上記慣性項を用いて、時刻ｔｉにおける予測値ｒ’（ｔｉ）を、｛ｒ’（ｔｉ）−ｒ’（ｔｉ−１）｝／（ｔｉ−ｔｉ−１）＝−ａεｐ（ｔｉ−１）／｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝＋ｍ｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝／（ｔｉ−１−ｔｉ−２）から演算する手順と、上記予測値ｒ’（ｔｉ）を出力する手順とを、コンピュータに実行させるための遅延データ予測プログラム。
【請求項５】
時間とともに連続的に変化する状態情報であって、遅延を伴って入力される、時刻ｔｉにおける実際の状態情報ｒ（ｔｉ）を記憶する手段と、上記状態情報ｒ（ｔｉ）の予測値ｒ’（ｔｉ）を記憶する手段と、過去の状態情報ｒ（ｔｉ）と予測値ｒ’（ｔｉ）との比例誤差εｐ（ｔｉ）＝ｒ（ｔｉ）−ｒ’（ｔｉ）を演算する手順と、上記状態情報ｒ（ｔｉ）、予測値ｒ’（ｔｉ）、比例誤差εｐ（ｔｉ）を用いて、時刻ｔｉにおける予測値ｒ’（ｔｉ）を、｛ｒ’（ｔｉ）−ｒ’（ｔｉ−１）｝／（ｔｉ−ｔｉ−１）＝−ｐ（｜εｐ（ｔｉ−１）｜−｜εｐ（ｔｉ−２）｜）／｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝から演算する手順と、上記予測値ｒ’（ｔｉ）を出力する手順とを、コンピュータに実行させるための遅延データ予測プログラム。
【請求項６】
時間とともに連続的に変化する状態情報であって、遅延を伴って入力される、時刻ｔｉにおける実際の状態情報ｒ（ｔｉ）を記憶する手段と、上記状態情報ｒ（ｔｉ）の予測値ｒ’（ｔｉ）を記憶する手段と、過去の状態情報ｒ（ｔｉ）と予測値ｒ’（ｔｉ）との比例誤差εｐ（ｔｉ）＝ｒ（ｔｉ）−ｒ’（ｔｉ）を演算する手順と、上記状態情報ｒ（ｔｉ）、予測値ｒ’（ｔｉ）、比例誤差εｐ（ｔｉ）を用いて、時刻ｔｉにおける予測値ｒ’（ｔｉ）を、｛ｒ’（ｔｉ）−ｒ’（ｔｉ−１）｝／（ｔｉ−ｔｉ−１）＝−ａεｐ（ｔｉ−１）／｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝から演算する手順と、上記予測値ｒ’（ｔｉ）を出力する手順とを、コンピュータに実行させるための遅延データ予測プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、通信を介して受信するデータの遅延の影響を低減するためのプログラムに関する。
【０００２】
【従来の技術】
複数のコンピュータが、通信ネットワーク上の仮想空間を共有して、個々のユーザーが、特定の制御対象（以下「アバタ（ａｖａｔａｒ）」という）を制御して、協調作業や、対戦ゲームなどを行うシステムがある。このようなシステムにおいて、各コンピュータには、自身が制御しているアバタとともに、他のコンピュータが制御しているアバタを表示することができる。これによって、ユーザーは、相手のアバタの動きを見ながら、自身のアバタを制御するようにしている。
【０００３】
しかし、他のコンピュータで制御されたアバタの状態情報を受信する受信側コンピュータにおいて、通信ネットを介して接続された他のコンピュータからのデータ送信には、通信遅延を伴ったり、パケット損失などの影響を受けたりすることがある。そのため、他のコンピュータで制御されたアバタの位置などの状態情報は、その操作と同時に上記特定のコンピュータに入力されることはない。すなわち遅延を伴って入力される。
【０００４】
受信側のコンピュータでは、遅れて入力された情報をそのまま表示させたのでは、同時に表示されている自身のアバタと、外部コンピュータのアバタとで、異なる時刻の状態を表示していることになってしまう。そこで、外部コンピュータのアバタについては、すでに入力されている過去の状態情報から、現時点での状態情報を予測して、その予測値を表示させるようにしている。つまり、受信側のコンピュータには、受信した過去の状態情報を基にして、遅延データを予測するためのプログラムを備えている。
【０００５】
上記状態情報の遅延データの予測方法には、例えば、外部コンピュータのアバタの運動を定速運動や定加速度運動に仮定して、過去の状態情報をもとに、現時点の位置などの状態情報を予測する方法があった。
そして、上記受信側のコンピュータには、実際に受信したアバタの状態情報ではなくて、過去の状態情報に基づいて演算した予測値をアバタの情報として表示させていた。
なお、特に、先行技術文献調査は行なっていない。
【０００６】
【発明が解決しようとする課題】
上記のようにして予測値を算出する方法では、アバタの運動を、例えば、定速度運動や、定加速度運動と仮定しているので、実際のアバタの運動が、仮定した運動と異なっていた場合には、予測値と実際のデータとの差が大きなってしまう。
また、予め、その運動を予測して、予測するための関数を用意しておいたとしても、途中から、アバタの運動が変化したような場合にも、誤差がどんどん大きくなってしまうという問題があった。
そして、通信ネットを介して接続した２台のコンピュータを使って、対戦型のゲームを行った場合には、相手の動きがぎこちなく見えたり、２台の間で提示結果が異なったり，その動きに対応して自分のアバタを制御したのに、その動きが対戦に効果をもたらさなかったりすることがある。
【０００７】
また、共同作業を行うような場合、相手のアバタの状態として表示されるデータが間違ってしまうことによって、両者による共同作業が失敗してしまうことがあった。
この発明の目的は、時間に応じて変化する状態情報であって、遅延を伴って入力される遅延データを、精度良く予測するためのコンピュータ用の汎用プログラムを提供することである。
【０００８】
【課題を解決するための手段】
第１の発明は、時間とともに連続的に変化する状態情報であって、遅延を伴って入力される、時刻ｔｉにおける実際の状態情報ｒ（ｔｉ）を記憶する手段と、上記状態情報ｒ（ｔｉ）の予測値ｒ’（ｔｉ）を記憶する手段と、過去の状態情報ｒ（ｔｉ）と予測値ｒ’（ｔｉ）との比例誤差εｐ（ｔｉ）＝ｒ（ｔｉ）−ｒ’（ｔｉ）を演算する手順と、時刻ｔｉにおける慣性項｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝／（ｔｉ−１−ｔｉ−２）を演算する手順と、上記状態情報ｒ（ｔｉ）、予測値ｒ’（ｔｉ）、比例誤差εｐ（ｔｉ）、上記慣性項を用いて、時刻ｔｉにおける予測値ｒ’（ｔｉ）を、｛ｒ’（ｔｉ）−ｒ’（ｔｉ−１）｝／（ｔｉ−ｔｉ−１）＝−｛ｐ（｜εｐ（ｔｉ−１）｜−｜εｐ（ｔｉ−２）｜）＋ａεｐ（ｔｉ−１）｝／｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝＋ｍ｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝／（ｔｉ−１−ｔｉ−２）から演算する手順と、上記予測値ｒ’（ｔｉ）を出力する手順とを、コンピュータに実行させる点に特徴を有する。
【０００９】
第２の発明は、時間とともに連続的に変化する状態情報であって、遅延を伴って入力される、時刻ｔｉにおける実際の状態情報ｒ（ｔｉ）を記憶する手段と、上記状態情報ｒ（ｔｉ）の予測値ｒ’（ｔｉ）を記憶する手段と、過去の状態情報ｒ（ｔｉ）と予測値ｒ’（ｔｉ）との比例誤差εｐ（ｔｉ）＝ｒ（ｔｉ）−ｒ’（ｔｉ）を演算する手順と、上記状態情報ｒ（ｔｉ）、予測値ｒ’（ｔｉ）、比例誤差εｐ（ｔｉ）を用いて、時刻ｔｉにおける予測値ｒ’（ｔｉ）を、｛ｒ’（ｔｉ）−ｒ’（ｔｉ−１）｝／（ｔｉ−ｔｉ−１）＝−｛ｐ（｜εｐ（ｔｉ−１）｜−｜εｐ（ｔｉ−２）｜）＋ａεｐ（ｔｉ−１）｝／｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝から演算する手順と、上記予測値ｒ’（ｔｉ）を出力する手順とを、コンピュータに実行させる点に特徴を有する。
【００１０】
第３の発明は、時間とともに連続的に変化する状態情報であって、遅延を伴って入力される、時刻ｔｉにおける実際の状態情報ｒ（ｔｉ）を記憶する手段と、上記状態情報ｒ（ｔｉ）の予測値ｒ’（ｔｉ）を記憶する手段と、過去の状態情報ｒ（ｔｉ）と予測値ｒ’（ｔｉ）との比例誤差εｐ（ｔｉ）＝ｒ（ｔｉ）−ｒ’（ｔｉ）を演算する手順と、時刻ｔｉにおける慣性項｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝／（ｔｉ−１−ｔｉ−２）を演算する手順と、上記状態情報ｒ（ｔｉ）、予測値ｒ’（ｔｉ）、比例誤差εｐ（ｔｉ）、上記慣性項を用いて、時刻ｔｉにおける予測値ｒ’（ｔｉ）を、｛ｒ’（ｔｉ）−ｒ’（ｔｉ−１）｝／（ｔｉ−ｔｉ−１）＝−ｐ（｜εｐ（ｔｉ−１）｜−｜εｐ（ｔｉ−２）｜）／｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝＋ｍ｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝／（ｔｉ−１−ｔｉ−２）から演算する手順と、上記予測値ｒ’（ｔｉ）を出力する手順とを、コンピュータに実行させる点に特徴を有する。
【００１１】
第４の発明は、時間とともに連続的に変化する状態情報であって、遅延を伴って入力される、時刻ｔｉにおける実際の状態情報ｒ（ｔｉ）を記憶する手段と、上記状態情報ｒ（ｔｉ）の予測値ｒ’（ｔｉ）を記憶する手段と、過去の状態情報ｒ（ｔｉ）と予測値ｒ’（ｔｉ）との比例誤差εｐ（ｔｉ）＝ｒ（ｔｉ）−ｒ’（ｔｉ）を演算する手順と、時刻ｔｉにおける慣性項｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝／（ｔｉ−１−ｔｉ−２）を演算する手順と、上記状態情報ｒ（ｔｉ）、予測値ｒ’（ｔｉ）、比例誤差εｐ（ｔｉ）、上記慣性項を用いて、時刻ｔｉにおける予測値ｒ’（ｔｉ）を、｛ｒ’（ｔｉ）−ｒ’（ｔｉ−１）｝／（ｔｉ−ｔｉ−１）＝−ａεｐ（ｔｉ−１）／｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝＋ｍ｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝／（ｔｉ−１−ｔｉ−２）から演算する手順と、上記予測値ｒ’（ｔｉ）を出力する手順とを、コンピュータに実行させる点に特徴を有する。
【００１２】
第５の発明は、時間とともに連続的に変化する状態情報であって、遅延を伴って入力される、時刻ｔｉにおける実際の状態情報ｒ（ｔｉ）を記憶する手段と、上記状態情報ｒ（ｔｉ）の予測値ｒ’（ｔｉ）を記憶する手段と、過去の状態情報ｒ（ｔｉ）と予測値ｒ’（ｔｉ）との比例誤差εｐ（ｔｉ）＝ｒ（ｔｉ）−ｒ’（ｔｉ）を演算する手順と、上記状態情報ｒ（ｔｉ）、予測値ｒ’（ｔｉ）、比例誤差εｐ（ｔｉ）を用いて、時刻ｔｉにおける予測値ｒ’（ｔｉ）を、｛ｒ’（ｔｉ）−ｒ’（ｔｉ−１）｝／（ｔｉ−ｔｉ−１）＝−ｐ（｜εｐ（ｔｉ−１）｜−｜εｐ（ｔｉ−２）｜）／｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝から演算する手順と、上記予測値ｒ’（ｔｉ）を出力する手順とを、コンピュータに実行させる点に特徴を有する。
【００１３】
第６の発明は、時間とともに連続的に変化する状態情報であって、遅延を伴って入力される、時刻ｔｉにおける実際の状態情報ｒ（ｔｉ）を記憶する手段と、上記状態情報ｒ（ｔｉ）の予測値ｒ’（ｔｉ）を記憶する手段と、過去の状態情報ｒ（ｔｉ）と予測値ｒ’（ｔｉ）との比例誤差εｐ（ｔｉ）＝ｒ（ｔｉ）−ｒ’（ｔｉ）を演算する手順と、上記状態情報ｒ（ｔｉ）、予測値ｒ’（ｔｉ）、比例誤差εｐ（ｔｉ）を用いて、時刻ｔｉにおける予測値ｒ’（ｔｉ）を、｛ｒ’（ｔｉ）−ｒ’（ｔｉ−１）｝／（ｔｉ−ｔｉ−１）＝−ａεｐ（ｔｉ−１）／｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝から演算する手順と、上記予測値ｒ’（ｔｉ）を出力する手順とを、コンピュータに実行させる点に特徴を有する。
【００１４】
【発明の実施の形態】
図１〜図３を用いて、この発明の実施例を説明する。
この実施例の遅延データ予測プログラムは、図１に示すように、通信ネットＮを介して接続された２つのコンピュータ１Ａ，１Ｂに設定されている。
上記コンピュータ１Ａ，１Ｂは、ディスプレイ上に表示される制御対象（以下「アバタ（ａｖａｔａｒ）」という）を、それぞれ制御して、共同作業を行うものとする。
【００１５】
この実施例では、両コンピュータ１Ａ，１Ｂには、同じ遅延データ予測プログラムが設定され、通信を介して接続されたコンピュータの相手アバタの予測手順は同じである。したがって、一方のコンピュータ１Ａについてのみ説明をする。図２は、上記コンピュータ１Ａのディスプレイに表示される自分のアバタＡと、相手アバタＢの予測値の移動軌跡を表示したものである。
【００１６】
図中、白丸「○」で示したアバタＡは、コンピュータ１Ａが制御した通りに表示されている。そして、最新のフレーム更新時刻ｔｉでの、状態情報をＲ（ｔｉ）とし、前回、前々回の更新時刻に対応する状態情報Ｒ（ｔｉ−１）、Ｒ（ｔｉ−２）を表示している。図２では、３回のフレーム更新時に対応した状態情報を表して、その動きを実線の矢印で示しているが、実際には、最新の状態情報だけがアバタＡとして表示される。
なお、上記フレーム更新時とは、ディスプレイに表示させるタイミングのことであり、データの出力タイミングのことである。
【００１７】
これに対して、コンピュータ１Ｂで制御されるアバタＢの状態情報ｒ（ｔｉ）は、時刻ｔｉのフレーム更新時には、コンピュータ１Ａに入力されていない。次回のフレーム更新時刻ｔｉ＋１には間に合うタイミングで入力される。従って、コンピュータ１Ａには、各フレーム更新時点において、アバタＢの状態情報の予測値ｒ’（ｔｉ）、ｒ’（ｔｉ−１）、ｒ’（ｔｉ−２）を黒丸「●」で表示している。
なお、上記状態情報を示すｒ（ｔｉ）およびＲ（ｔｉ）は、複数の次元を持ったベクトルである。
上記予測値のうち、最新の予測値ｒ’（ｔｉ）を算出する手順を説明する。
【００１８】
コンピュータ１Ａに設定されているこの発明の遅延データ予測プログラムは、以下の式（１）算出される。
｛ｒ’（ｔｉ）−ｒ’（ｔｉ−１）｝／（ｔｉ−ｔｉ−１）＝−｛ｐ（｜εｐ（ｔｉ−１）｜−｜εｐ（ｔｉ−２）｜）＋ａεｐ（ｔｉ−１）｝／｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝＋ｍ｛ｒ’（ｔｉ−１）−ｒ’（ｔｉ−２）｝／（ｔｉ−１−ｔｉ−２）…（１）
上記式（１）中、係数ｐ，ａ，ｍは、あとで説明するが、予測すべきアバタの、状態情報の変化の特徴、すなわち、アバタの運動特性に応じて、最適な値を設定することができる。
なお、上記εｐ（ｔ）は、比例誤差であり、εｐ（ｔｉ）＝ｒ（ｔｉ）−ｒ’（ｔｉ）である。また、この比例誤差の累積を累積誤差εａ（ｔｉ）＝Σｉεｐ（ｔｉ）という。
【００１９】
また、図３は、アバタＢの状態情報の予測値ｒ’（ｔ）と、実際の状態情報ｒ（ｔ）とを示した図である。予測値を黒丸「●」、実情報ｒ（ｔ）を二重丸「◎」で表している。そして、時刻ｔｉ−２に、コンピュータ１ＡにアバタＢの情報として表示されるのは、実情報ｒ（ｔｉ−２）ではなくて、予測値ｒ’（ｔｉ−２）である。この時点では、上記実情報ｒ（ｔｉ−２）は、まだ入力されていないからである。
同様に、時刻ｔｉ−１には、予測値ｒ’（ｔｉ−１）が表示される。
【００２０】
そして、実情報ｒ（ｔｉ−２）やｒ（ｔｉ−１）が、遅延データとして入力されたら、予測値ｒ’（ｔｉ−２）の比例誤差εｐ（ｔｉ−２）や、累積誤差εａ（ｔｉ−２）を演算する。図３では、比例誤差εｐ（ｔｉ）を、二重線の矢印で示している。
このようなデータを用いれば、上記式（１）の演算をすることができる。
つまり、上記式（１）を演算するためには、前回の予測値ｒ’（ｔｉ−１）と前々回の予測値ｒ’（ｔｉ−２）とが算出されていて、さらに、実情報ｒ（ｔｉ−２）とｒ（ｔｉ−１）とが、入力されていることが必要である。
そして、上記式（１）から、予測値ｒ’（ｔｉ）を求めることができる。
【００２１】
次に、式（１）について、定性的に説明する。
この式（１）の左辺は、今回求めるべき予測値ｒ’（ｔｉ）を、前回の予測値ｒ’（ｔｉ−１）に比べてどれくらい変化させるかという値である。
右辺の、第１項（係数ｐが掛かる項）は、前回の予測値に関する比例誤差と、前々回の予測値に関する比例誤差に係わる項である。
また、第２項（係数ａが掛かる項）は、前回までの累積誤差に係わる項である。上記式（１）の右辺第２項のεｐ（ｔｉ−１）は、εｐ（ｔｉ−１）＝（εａ（ｔｉ−１）−εａ（ｔｉ−２））なので、累積誤差前回の累積誤差と前々回の累積誤差の差である。従って、この第２項は、累積誤差の変化の程度を表すものになる。
ただし、実際の演算においては、累積誤差εａ（ｔｉ−１）やεａ（ｔｉ−２）を演算しないで、比例誤差εｐ（ｔｉ−１）として、累積誤差の差を求めることができる。もちろん、累積誤差を演算してから、差を演算するようにしてもかまわない。
そして、これらの誤差を小さくするように予測値ｒ’（ｔｉ）を決定する。
さらに、右辺第３項（係数ｍが掛かる項）は、この発明の慣性項であり、前々回の予測値から前回の予測値への変化の割合を表す項である。
【００２２】
そして、上記係数ｐを大きくすることにより、前回の予測で生じた比例誤差を取り戻す方向への修正を大きくすることになり、係数ａを大きくすることにより、前回の予測までに生じた累積誤差を取り戻す方向への修正分を大きくすることになる。
また、慣性係数ｍを増加することにより、連続する予測値間での時間的変化分を低減することになる。つまり、前回までの、予測値の変化の流れを踏襲することになる。これにより、予測値に時間的なめらかさを持たせることになる。
【００２３】
そして、各係数は、この遅延予測プログラムを適用するアプリケーションに応じて、設定することが好ましい。
相手情報の予測結果に、時間的なめらかさを優先する場合や、もともとアバタの状態に急激な変化がないことがわかっている場合などには、ｍを大きくすることが考えられる。
これに対し、予測すべきアバタの状態が激しい時間的変化を有する場合には、係数ｐを大きくし、係数ａを小さくすることが好ましい。変化が激しい場合には、過去の累積誤差を考慮するよりも、直前の誤差を考慮する方が、意味があると考えるからである。
【００２４】
このように、アプリケーションの種類によるアバタの状態変化の激しさや、そのアバタを制御するユーザーの特性などに応じて、上記各係数を適当に設定すれば、より誤差の少ない予測を実現できる。予測値や誤差データの蓄積に応じて、計数値を変更するようにしてもかまわない。
さらに、上記式（１）の係数ｐ，ａ，ｍのいずれか１または２を０に設定視することもできるが、初めから、いずれかの項を持たない演算式を、用いることもできる。いずれにしても、過去の予測値および誤差データを利用して新たな誤差を小さくするように予測ロジックを修正するこの発明のプログラムによれば、従来のように、固定的に予測ロジックを設定した場合と比べて、様々な状態変化の予測に、精度良く対応することができる。
ただし、式（１）を用いた予測では、最低でも、２つ前までの予測値と誤差が必要である。従って、２番目までの予測は、他のロジックを用いて行う必要がある。また、通信が安定するまでの予測の立ち上がり時期には、誤差による修正分の比重を小さくするなどの工夫が必要である。
【００２５】
なお、上記実施例では、コンピュータ１Ａに、この発明のプログラムを設定して、コンピュータ１Ｂから送信されるデータに関して予測を行う場合を説明しているが、コンピュータ１Ａは、コンピュータ１Ｂ以外のコンピュータからのデータについての予測も同様に行うことができる。さらに、コンピュータ１Ｂや、その他のコンピュータに、上記予測プログラムを設定しても、外部から通信を介して入力されるデータの予測をすることができる。
【００２６】
【発明の効果】
第１の発明から第６の発明によれば、予測値を蓄積しながら、過去の誤差に基づいて、次の誤差を小さくするように、予測ロジックを修正することができる。従って、予測を繰り返してゆくうちに、確実に精度の良い予測ができるようになる。
また、予測値を算出する演算式の、各係数を任意に設定することにより、様々な状態変化に対応することが可能である。
【図面の簡単な説明】
【図１】この発明の実施例の利用形態を示す図である。
【図２】実施例のコンピュータの、表示状態を示す図である。
【図３】実施例の予測値を説明する図である。
【符号の説明】
１Ａ，１Ｂ    コンピュータ
Ｎ            通信ネット
【図１】
2004280507.tif 000003
【図２】
2004280507.tif 000004
【図３】
2004280507.tif 000005