(57)【要約】【課題】従来よりも適切な遅延補償を行うことができる技術を提供する。【解決手段】時刻τの状態変数ベクトルΦτは、遅延補償の対象となる運動に対応するパラメータの値についての基本運動パターンにおける時刻τの位相φτと、基本運動パターンの時刻τの角速度ωτと、基本運動パターンの時刻τにおける拡大及び縮小の程度を表す振幅aτ及び基本運動パターンの時刻τにおけるシフト量を表すバイアスbτの少なくとも一方とを含むとする。状態推定部３は、基本運動パターンに関する情報及びパラメータの時刻tの観測値ztに基づいて、時刻t-1の状態変数ベクトルΦt-1を更新することにより時刻tの状態変数ベクトルΦtを推定する。運動予測部は、遅延時間をsとして、基本運動パターンに関する情報及び時刻tの状態変数ベクトルΦtを用いて、パラメータの時刻t+sの値を予測する。【選択図】図１
2014229157.tif 000002
【特許請求の範囲】
【請求項１】
時刻τの状態変数ベクトルΦτは、遅延補償の対象となる運動に対応するパラメータの値についての基本運動パターンにおける時刻τの位相φτと、上記基本運動パターンの時刻τの角速度ωτと、上記基本運動パターンの時刻τにおける拡大及び縮小の程度を表す振幅aτ及び上記基本運動パターンの時刻τにおけるシフト量を表すバイアスbτの少なくとも一方とを含むとして、
上記基本運動パターンに関する情報及び上記パラメータの時刻tの観測値ztに基づいて、時刻t-1の状態変数ベクトルΦt-1を更新することにより時刻tの状態変数ベクトルΦtを推定する状態推定部と、
遅延時間をsとして、上記基本運動パターンに関する情報及び上記時刻tの状態変数ベクトルΦtを用いて、上記パラメータの時刻t+sの値を予測する運動予測部と、
を含む遅延補償装置。
【請求項２】
周期的な運動における時刻ごとの観測値の系列であって、１周期以上の長さからなる系列を基本運動パターンとして記憶した基本運動パターン記憶部と、
時刻τの運動の観測値を特定するための状態変数ベクトルΦτは、時刻τにおける上記基本運動パターン中の位置を特定するパラメータφτと、時刻τにおけるφτの遷移する速度ωτと、φτにより上記基本運動パターンに沿って決定される値を時刻τにおける運動の観測値に変換する関数を定めるパラメータとを含むベクトルとして、
時刻t-1における状態変数ベクトルΦt-1を上記基本運動パターンに当てはめることにより得た時刻tにおける運動の観測値の予測値^ｚt|t-1と時刻tにおける運動を観測して得た運動の観測値ztとの誤差に基づいて、時刻tの状態変数ベクトルΦtを推定する状態推定部と、
遅延時間をsとして、上記時刻tの状態変数ベクトルΦtを上記基本運動パターンに当てはめることにより時刻t+sにおける運動の観測値の予測値^zt+s|tを計算する運動予測部と、
を含む遅延補償装置。
【請求項３】
請求項２の遅延補償装置であって、
上記状態推定部は、上記状態変数ベクトルΦt-1中の上記基本運動パターン上の位置を特定するパラメータφt-1を角速度ωt-1に従って１時刻分進めた位置を時刻ｔにおける位置の予測値^φt|t-1とし、上記位置の予測値^φt|t-1を上記基本運動パターンから得られる回帰曲線に当てはめることにより得られる位置を上記状態変数ベクトルΦt-1中の観測値に変換する関数を定めるパラメータに従って変換することにより、上記時刻ｔにおける運動の観測値の予測値^zt|t-1を得て、
上記運動予測部は、上記状態変数ベクトルΦｔ中の上記基本運動パターン上の位置を特定するパラメータφtを角速度ωtに従ってｓ時刻分進めた位置を時刻t+sにおける位置の予測値^φt+s|tとし、上記位置の予測値^φt+s|tを上記基本運動パターンから得られる回帰曲線に当てはめることにより得られる位置を上記状態変数ベクトルΦt中の観測値に変換する関数を定めるパラメータに従って変換することにより、上記時刻t+sにおける運動の観測値の予測値^zt+s|tを計算する、
ことを特徴とする遅延補償装置。
【請求項４】
請求項１の遅延補償装置であって、
上記基本運動パターンを動的に更新する基本運動パターン生成部を更に含む、
遅延補償装置。
【請求項５】
請求項１又は４の遅延補償装置であって、
上記遅延時間sを計算する遅延量測定部を更に含む、
遅延補償装置。
【請求項６】
時刻τの状態変数ベクトルΦτは、遅延補償の対象となる運動に対応するパラメータの値についての基本運動パターンにおける時刻τの位相φτと、上記基本運動パターンの時刻τの角速度ωτと、上記基本運動パターンの時刻τにおける拡大及び縮小の程度を表す振幅aτ及び上記基本運動パターンの時刻τにおけるシフト量を表すバイアスbτの少なくとも一方とを含むとして、
状態推定部が、上記基本運動パターンに関する情報及び上記パラメータの時刻tの観測値ztに基づいて、時刻t-1の状態変数ベクトルΦt-1を更新することにより時刻tの状態変数ベクトルΦtを推定する状態推定ステップと、
運動予測部が、遅延時間をsとして、上記基本運動パターンに関する情報及び上記時刻tの状態変数ベクトルΦtを用いて、上記パラメータの時刻t+sの値を予測する運動予測ステップと、
を含む遅延補償方法。
【請求項７】
基本運動パターン記憶部には、周期的な運動における時刻ごとの観測値の系列であって、１周期以上の長さからなる系列が基本運動パターンとして記憶されているとし、
時刻τの運動の観測値を特定するための状態変数ベクトルΦτは、時刻τにおける上記基本運動パターン中の位置を特定するパラメータφτと、時刻τにおけるφτの遷移する速度ωτと、φτにより上記基本運動パターンに沿って決定される値を時刻τにおける運動の観測値に変換する関数を定めるパラメータとを含むベクトルとして、
状態推定部が、時刻t-1における状態変数ベクトルΦt-1を上記基本運動パターンに当てはめることにより得た時刻tにおける運動の観測値の予測値^ｚt|t-1と時刻tにおける運動を観測して得た運動の観測値ztとの誤差に基づいて、時刻tの状態変数ベクトルΦtを推定する状態推定ステップと、
運動予測部が、遅延時間をsとして、上記時刻tの状態変数ベクトルΦtを上記基本運動パターンに当てはめることにより時刻t+sにおける運動の観測値の予測値^zt+s|tを計算する運動予測ステップと、
を含む遅延補償方法。
【請求項８】
請求項７の遅延補償方法であって、
上記状態推定ステップは、上記状態変数ベクトルΦt-1中の上記基本運動パターン上の位置を特定するパラメータφt-1を角速度ωt-1に従って１時刻分進めた位置を時刻ｔにおける位置の予測値^φt|t-1とし、上記位置の予測値^φt|t-1を上記基本運動パターンから得られる回帰曲線に当てはめることにより得られる位置を上記状態変数ベクトルΦt-1中の観測値に変換する関数を定めるパラメータに従って変換することにより、上記時刻ｔにおける運動の観測値の予測値^zt|t-1を得て、
上記運動予測ステップは、上記状態変数ベクトルΦｔ中の上記基本運動パターン上の位置を特定するパラメータφtを角速度ωtに従ってｓ時刻分進めた位置を時刻t+sにおける位置の予測値^φt+s|tとし、上記位置の予測値^φt+s|tを上記基本運動パターンから得られる回帰曲線に当てはめることにより得られる位置を上記状態変数ベクトルΦt中の観測値に変換する関数を定めるパラメータに従って変換することにより、上記時刻t+sにおける運動の観測値の予測値^zt+s|tを計算する、
ことを特徴とする遅延補償方法。
【請求項９】
請求項１から５の何れかに記載された遅延補償装置の各部としてコンピュータを機能させるための遅延補償プログラム。
【請求項１０】
請求項１から５の何れかに記載された遅延補償装置の各部としてコンピュータを機能させるための遅延補償プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信遅延等の遅延を補償する技術に関する。
【背景技術】
【０００２】
ロボットの遠隔操縦やネットワークゲームなど、通信を介したインタラクティブなサービスにおいて、しばしば通信遅延が問題になる。
【０００３】
遅延が無視できないほど大きい場合には、実際の操作者の運動と、提示される画面上の動きの間にズレが生じ、操作性の低下や、操作に伴う疲労感・重たさなどの不快な感覚が生じることが知られている。
【０００４】
このような問題を解決するため、先の動きを予測し、遅延する分と同じだけ時間的に進めて出力してやることで、遅延の影響を相殺し、操作性・操作感の悪化を防ぐことが可能になると考えられる。
【０００５】
未来の動きを予測する技術として、繰り返し運動を対象とした予測技術が知られている（例えば、非特許文献１参照。）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】松原崇充, 玄相昊, 森本淳, “個性を考慮した周期的全身運動の予測”, 電子情報通信学会論文誌, Vol.J94-D, No.1, pp.344-355, 2011.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献１の予測技術は、運動パターンが繰り返される際のゆらぎを考慮しておらず、ゆらぎを含むような繰り返し運動、すなわちパターンから少し外れることがあるような繰り返し運動では予測精度が低下する可能性があった。このため、非特許文献１の予測技術を用いて遅延補償を行っても、適切な遅延補償を行うことができない可能性があった。
【０００８】
この発明の目的は、従来よりも適切な遅延補償を行うことができる遅延補償装置、方法、プログラム及び記録媒体を提供することである。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、この発明の一態様による遅延補償装置は、時刻τの状態変数ベクトルΦτは、遅延補償の対象となる運動に対応するパラメータの値についての基本運動パターンにおける時刻τの位相φτと、基本運動パターンの時刻τの角速度ωτと、基本運動パターンの時刻τにおける拡大及び縮小の程度を表す振幅aτ及び基本運動パターンの時刻τにおけるシフト量を表すバイアスbτの少なくとも一方とを含むとして、基本運動パターンに関する情報及びパラメータの時刻tの観測値ztに基づいて、時刻t-1の状態変数ベクトルΦt-1を更新することにより時刻tの状態変数ベクトルΦtを推定する状態推定部と、遅延時間をsとして、基本運動パターンに関する情報及び時刻tの状態変数ベクトルΦtを用いて、パラメータの時刻t+sの値を予測する運動予測部と、を備えている。
【００１０】
また、この発明の一態様による遅延補償装置は、周期的な運動における時刻ごとの観測値の系列であって、１周期以上の長さからなる系列を基本運動パターンとして記憶した基本運動パターン記憶部と、時刻τの運動の観測値を特定するための状態変数ベクトルΦτは、時刻τにおける基本運動パターン中の位置を特定するパラメータφτと、時刻τにおけるφτの遷移する速度ωτと、φτにより基本運動パターンに沿って決定される値を時刻τにおける運動の観測値に変換する関数を定めるパラメータとを含むベクトルとして、
時刻t-1における状態変数ベクトルΦt-1を基本運動パターンに当てはめることにより得た時刻tにおける運動の観測値の予測値^ｚt|t-1と時刻tにおける運動を観測して得た運動の観測値ztとの誤差に基づいて、時刻tの状態変数ベクトルΦtを推定する状態推定部と、遅延時間をsとして、時刻tの状態変数ベクトルΦtを基本運動パターンに当てはめることにより時刻t+sにおける運動の観測値の予測値^zt+s|tを計算する運動予測部と、を備えている。
【発明の効果】
【００１１】
状態変数ベクトルΦtに振幅at及びバイアスbtの少なくとも一方を含めることにより、ゆらぎを考慮した予測に基づいた、従来よりも適切な遅延補償を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】遅延補償装置の例を示す機能ブロック図。
【図２】遅延補償方法の例を示す流れ図。
【図３】この発明の概要を説明するための図。
【図４】この発明の概要を説明するための図。
【図５】実験結果を説明するための図。
【図６】実験結果を説明するための図。
【発明を実施するための形態】
【００１３】
［発明の概要］
図３，４に示すように、ロボットアームを遠隔操作する状況を考える。操作者は、遠隔操作されたロボットアームの位置をディスプレイにより確認できるとする。操作者が、ハンドルを操作すると、その位置情報ztが取得され、通信路を介して遠隔地にあるロボットアームに送信される。
【００１４】
通信路に遅延がない場合には、図３の左の図のように、動きにズレが生じることなくロボットアームを操作することができる。
【００１５】
一方、通信路に遅延時間sだけ遅延が生じた場合には、図３の右の図のようにディスプレイに表示される動きにズレが生じ、操作性が悪化し、操作者に重たい感覚を与えてしまうことになる。
【００１６】
そこで、図４に示すように、遅延補償装置は、先の動きを予測し、遅延時間sだけ位置ztを時間的に進めて出力することで、ズレを解消する。遅延時間sだけ位置ztを時間的に進めたzt+sを出力すると、通信による遅延時間sの遅延により、表示されるロボットアームの位置はzt+s-s=ztとなり、ズレを解消することができるのである。
【００１７】
その際、遅延補償装置は、以下に述べるように、ゆらぎを考慮して予測を行う。
【００１８】
［実施形態］
以下、図面を参照してこの発明の実施形態を説明する。
【００１９】
遅延補償装置は、図１に示すように、運動計測部１、基本運動パターン記憶部２、状態推定部３、運動予測部４、遅延量測定部５、表示部６及び基本運動パターン生成部７を例えば備えている。遅延補償方法は、例えば図２に例示された各処理を行うことにより実行される。
【００２０】
運動計測部１は、遅延補償の対象となる運動に対応するパラメータの値ztを計測する（ステップＳ１）。この計測されたパラメータの値を、観測値ztとも呼ぶ。観測値ztは、遅延補償の対象となる運動に対応するパラメータの時刻tの値である。この例では、観測値ztは、状態推定部３に提供される。ここで、tは、いわゆるサンプリング時刻を意味しており、サンプリング周期を1として表現した正規化時刻として記述する。後に出てくるτについても同様である。  遅延補償の対象は、一定パターンの運動とする。一定のパターンの運動であれば、その運動の軌道はどのようなものであってもよい。すなわち、その運動の軌道は、直線のみならず、２次元又は３次元の空間における曲線であってもよい。この一定パターンの運動を、基本運動パターンと呼ぶことにする。遅延補償の対象となる運動に対応するパラメータは、この一定のパターンの運動に対応する映像を生成するためのパラメータ、すなわち、運動を観測または測定して得られる観測値であり、例えばマウス等のポインティングデバイスにより取得される位置、力センサにより計測された力の大きさである。
【００２１】
基本運動パターン記憶部２には、遅延補償の対象となる運動に対応するパラメータについての基本運動パターンに関する情報が記憶されているとする。この基本運動パターンに関する情報は、基本運動パターン生成部７により事前に生成されたものである。すなわち、基本運動パターン生成部７は、遅延補償の処理を行う前に、遅延補償の対象となる運動に対応するパラメータの値を運動計測部１から受け取り、この基本運動パターンに関する情報を生成し、基本運動パターン記憶部２に記憶しておく。
【００２２】
基本運動パターンに関する情報とは、例えば、遅延補償の対象となる運動の一周期を構成するサンプル数をnとし、mをn以上の所定の定数として、遅延補償の対象となる運動に対応するパラメータについての時間的に連続するm個のサンプルの値である。このm個のサンプルの値をy=(y1,y2,…,ym)と表記する。
【００２３】
基本運動パターンは、言い換えれば、周期的な運動における時刻ごとの観測値の系列であって、１周期以上の長さからなる系列のことである。また、yと以下に述べる状態変数の列Xの組(X,y)を基本運動パターンと考えてもよい。
【００２４】
なお、状態変数の列をX=(x1,x2,…,xm)とし、xi(i=1,2,…,m)を以下のように定義する。
【００２５】
【数１】
2014229157.tif 000003
【００２６】
また、τを任意の時刻として、遅延補償の対象となる運動に対応するパラメータの値yτは、yτ=f(xτ)+εという関係を満たしており、状態変数xτ及びεから生成されるものと仮定する。εは、平均０のガウシアンノイズである。
【００２７】
y=(y1,y2,…,ym)及びこのように定義したX=(x1,x2,…,xm)を、Gaussian process regressionを用いてフィッティングすると、任意の状態x*に対して生成される、遅延補償の対象となる運動に対応するパラメータの値y*の予測分布は、例えば以下のように定義される平均μy*(x*|X,y)及び分散Σy*(x*|X,y)で記述される正規分布となる。以下の式において、σnoiseは、フィッティングの度合いを決める所定のパラメータであり、所望の結果が得られるように適宜決定される所定の実数である。また、Iはm×mの単位行列である。・を行列又はベクトルとして、・Tは・の転置を意味し、・-1は・の逆行列を意味する。
【００２８】
【数２】
2014229157.tif 000004
【００２９】
ここで、kは共分散関数であり、ガウシアンカーネルを用いることで、例えば以下のように定義される。以下の式において、σf,Lは、フィッティングの度合いを決める所定のパラメータであり、所望の結果が得られるように適宜決定される所定の実数である。
【００３０】
【数３】
2014229157.tif 000005
【００３１】
また、K(X,X)は、グラム行列であり、k(xp,xq)をp行q列の要素として持つ。さらに、k*は、例えば以下のように定義されるベクトルである。
【００３２】
【数４】
2014229157.tif 000006
【００３３】
状態推定部３は、基本運動パターンに関する情報及びパラメータの時刻tの観測値ztに基づいて、時刻t-1の状態変数ベクトルΦt-1を更新することにより時刻tの状態変数ベクトルΦtを推定する（ステップＳ２）。推定された状態変数ベクトルΦtは、運動予測部４に提供される。
【００３４】
状態推定部３は、いわゆるカルマンフィルタにより状態変数ベクトルΦtの推定を行う。そのために、τを任意の時刻として、時刻τで観測される観測値zτは、例えば以下に示すモデルに従って生成されていると考える。
【００３５】
時刻τにおける状態変数ベクトルΦτ及びxτを例えば以下のように定義する。
【００３６】
【数５】
2014229157.tif 000007
【００３７】
φτは、基本運動パターンにおける時刻τの位相である。言い換えれば、時刻τにおいて基本運動パターンの中のどこに位置するのかを表す状態変数である。
【００３８】
ωτは、基本運動パターンの時刻τの角速度ωτである。言い換えれば、位相φτの遷移する速さを表す状態変数である。
【００３９】
aτは、基本運動パターンの時刻τにおける拡大及び縮小の程度を表す振幅である。言い換えれば、基本運動パターンの時刻τにおける拡大及び縮小の程度を表す状態変数である。
【００４０】
bτは、基本運動パターンの時刻τにおけるシフト量を表すバイアスである。言い換えれば、基本運動パターンの時刻τにおけるシフト量を表す状態変数である。
【００４１】
すなわち、aτとbτは、φτにより上記基本運動パターンに沿って決定される値を時刻τにおける運動の観測値に変換する関数（アフィン変換）を定めるパラメータである。
【００４２】
状態変数ベクトルΦτは、この例では、このように状態変数φτ，ωτ，aτ，bτから構成されているものとする。
【００４３】
観測値zτは、これらの状態変数ベクトルにより、例えば以下のように定義される平均μzτ及び分散Σzτを持つ正規分布に従い生成されるものとする。ここで、μy*(x*|X,y)|x*=xτは、μy*(x*|X,y)のx*にxτを代入したものである。同様に、Σy*(x*|X,y)|x*=xτは、Σy*(x*|X,y)のx*にxτを代入したものである。
【００４４】
【数６】
2014229157.tif 000008
【００４５】
また、状態変数ベクトルΦτは、以下の状態方程式に従って遷移するものとする。
【００４６】
【数７】
2014229157.tif 000009
【００４７】
ここで、状態遷移行列Fは、例えば以下のように定義される行列である。
【００４８】
【数８】
2014229157.tif 000010
【００４９】
wτは、状態の更新におけるノイズであり、平均０、共分散行列Qで定まる正規分布に従う。共分散行列Qは、チューニングパラメータであり、所望の結果が得られるように適宜決定される所定の行列である。
【００５０】
Hτは、観測ベクトルであり、状態変数ベクトルΦτから観測値の期待値μzτへの非線形写像を線形近似することにより、例えば以下のように得られる。
【００５１】
【数９】
2014229157.tif 000011
【００５２】
vτは、観測ノイズであり、平均０、共分散行列Rτで定まる正規分布に従う。例えば、共分散行列Rτ=Σzτとする。
【００５３】
このとき、このように導入したモデルを用いて、時刻tの状態変数ベクトルΦtを、時刻tの観測値ztより推定することができる。状態変数ベクトルの更新の手続きは、以下の通りである。
【００５４】
時刻t-1における状態変数ベクトルΦt-1及び時刻t-1の誤差の共分散行列Pt-1が与えられているとき、時刻tの状態変数ベクトルΦtの予測値^Φt|t-1と、時刻tの誤差の共分散行列Ptの予測値^Pt|t-1と、時刻tの状態変数ベクトルxtの予測値^xt|t-1とは、例えば以下のように与えられる。
【００５５】
【数１０】
2014229157.tif 000012
【００５６】
また、遅延補償の対象となる運動に対応するパラメータの値の予測値^zt|t-1は、例えば以下のように与えられるとする。μy*(^x t|t-1|X,y)は、基本運動パターン記憶部２から読み込んだ基本運動パターンに関する情報に基づいて計算される。
【００５７】
【数１１】
2014229157.tif 000013
【００５８】
また、時刻tの観測ノイズRtと、時刻tの観測ベクトルHtとは、それぞれ例えば以下のように与えられるとする。Σy*(^x t|t-1|X,y)は、基本運動パターン記憶部２から読み込んだ基本運動パターンに関する情報に基づいて計算される。
【００５９】
【数１２】
2014229157.tif 000014
【００６０】
これらより、時刻tのカルマンゲインGtは、例えば以下のように与えられる。
【００６１】
【数１３】
2014229157.tif 000015
【００６２】
このとき、時刻tで観測された観測値ztにより、時刻tの状態変数ベクトルΦtの推定値と、時刻tの誤差の共分散行列Ptとは、それぞれ以下のように更新される。
【００６３】
【数１４】
2014229157.tif 000016
【００６４】
このようにして、状態推定部３は、式（５）により定義される時刻tの状態変数ベクトルΦtを計算する。
【００６５】
式（５）は、時刻tにおける運動の観測値の予測値^zt|t-1と、時刻ｔにおいて実際に観測された運動の観測値ztとの誤差に基づいて、時刻t-1における状態変数ベクトルΦt-1から予測した時刻tにおける状態変数ベクトルの予測値^Φt|t-1を更新することにより、時刻tにおける状態変数ベクトルΦtを求めることを意味する。
【００６６】
ここで、時刻ｔにおける状態変数ベクトルの予測値^Φt|t-1は、式（３）で表現される状態遷移モデルに基づいて予測される。式（３）は、状態変数ベクトルの予測値^Φt|t-1を構成する位相を^φt|t-1、角速度を^ωt|t-1、振幅を^at|t-1、シフト量を^bt|t-1としたとき、位相φt-1を角速度ωt-1に従って１時刻分進めた位置を^φt|t-1とし、残りのパラメータ(^ωt|t-1,^at|t-1,^bt|t-1)は、時刻t-1における各パラメータの値から変化しないものと仮定するモデルである。
また、時刻ｔにおける運動の観測値の予測値^zt|t-1は、式（４）によりもとまるものである。式（４）は、基本運動パターン(X,y)が与えられたときの、状態変数ベクトルの予測値^Φt|t-1と運動の観測値の予測値^zt|t-1との関係を表す式である。つまり、状態変数ベクトルの予測値^Φt|t-1中の位相^φt|t-1を基本運動パターン(X,y)から得られる回帰曲線に当てはめることにより決定される値μy*(^xt|t+1｜X,y)（位置とも言う。）を、振幅^at|t-1及びシフト量^bt|t-1に従って変換する（アフィン変換する）ことで、上記時刻tにおける運動の観測値の予測値^zt|t-1を計算する。
【００６７】
運動予測部４は、遅延時間をsとして、基本運動パターンに関する情報及び時刻tの状態変数ベクトルΦtを用いて、遅延補償の対象となる運動に対応するパラメータの時刻t+sの予測値^zt+s|tを計算する（ステップＳ３）。
【００６８】
時刻tの時点での情報によるsステップ後の状態変数ベクトル^Φt+s|t, ^xt+s|tは、例えば以下のように与えられる。
【００６９】
【数１５】
2014229157.tif 000017
【００７０】
このとき、遅延補償の対象となる運動に対応するパラメータの時刻t+sの予測値^zt+s|tは、例えば以下のように与えられる。μy*(^xt+s|t|X,y)は、基本運動パターン記憶部２から読み込んだ基本運動パターンに関する情報に基づいて計算される。また、^at+s|t=atとし、^bt+s|t=btとする。
【００７１】
【数１６】
2014229157.tif 000018
【００７２】
運動予測部４は、式（７）により定義される予測値^zt+s|tを計算し、遅延補償の対象となる運動に対応するパラメータの時刻t+sの値zt+s=^zt+s|tとして出力する。zt+sは、表示部６に提供される。
【００７３】
式（７）は、運動の観測値の予測値^zt+s|tを、時刻t+sにおける状態変数ベクトルの予測値^Φt+s|tを用い、基本運動パターン(X,y)の回帰曲線およびアフィン変換を用いて決定することを意味する。つまり、状態変数ベクトル^Φt+s|t中の位相^φt+s|tを基本運動パターン(X,y)から得られる回帰曲線に当てはめることにより決定される値μy*(^xt+s|t|X,y)（位置とも言う。）を、振幅^at+s|t及びシフト量^bt+s|tに従って変換する（アフィン変換する）ことで、上記時刻t+sにおける運動の観測値の予測値^zt+s|tを計算する。
ここで、時刻t+sにおける状態変数ベクトルの予測値^Φt+s|tは、式（６）に基づいて予測される。式（６）は、状態変数ベクトルの予測値^Φt+s|tを構成する位相を^φt+s|t、角速度を^ωt+s|t、振幅を^at+s|t、シフト量を^bt+s|tとしたとき、位相φｔを角速度ωｔに従ってs時刻分進めた位置を^φt+s|tとし、残りのパラメータ(^ωt+s|t,^at+s|t,^bt+s|t)は、時刻tにおける各パラメータの値から変化しないものと仮定するモデルである。
【００７４】
なお、遅延時間sは、この例では、運動予測部４と表示部６との間の通信路に流れる情報を観測している遅延量測定部５により測定される。遅延量の測定には、色々な方法が考えられるが、例えば、参考文献１に記載されたタイムスタンプ方式を用いる方法や、参考文献２に記載された方法を用いることができる。もちろん、他の遅延量の測定方法を用いてもよい。
【００７５】
〔参考文献１〕安田浩（編著），「マルチメディア符号化の国際標準」，第３版，丸善株式会社，平成４年２月１０日，ｐ．２２１−２３２
〔参考文献２〕特開２００５−１８４７４９号公報
【００７６】
例えば、遅延量測定部５が、実測値としてTpだけ遅延していることを測定したとする。この場合、遅延補償の対象となる運動に対応するパラメータのサンプリング周期をTsとすると、遅延時間s=Tp/Tsとなる。この遅延時間sが遅延情報として、運動予測部４に提供される。Tp,およびTsは、実測できる遅延時間であり、例えば秒等の時間の次元の単位を持つ。これに対して、sは、サンプリング周期を1とした正規化時間で表現した遅延量であり、無次元量である。  ここでの遅延時間sの定義、および^xt+s|tの計算式からわかるように、sは必ずしも整数である必要はない。
【００７７】
表示部６は、ディスプレイ等の表示装置である。表示部６は、zt+sに基づく映像を表示する。遅延時間はsであるため、表示部６には、zt+s-s=ztに基づく映像が表示され、遅延が補償される。
【００７８】
ここで、状態変数ベクトルΦtには、パターンを変形するための状態変数である振幅at及びバイアスbtの少なくとも一方が含まれている（上記の例では、状態変数ベクトルΦtに振幅at及びバイアスbtの両方が含まれている。）。このため、遅延補償の対象となる運動に対応するパラメータが、ゆらぎを含むような繰り返し運動、すなわちパターンから少し外れることがあるような繰り返し運動をする場合であっても、従来よりも高い精度で予測及び遅延補償を行うことができる。
【００７９】
［実験結果］
指の繰り返し運動における関節角度情報をモーションキャプチャによりサンプリング周波数60Hzで取得したものの例を、図５に示す。ただし、運動データの取得時に67 ms の遅延を伴っているとする。そのため、取得した運動をそのまま提示すると、実際の運動との間にズレを生じてしまう。これに対し、提案手法により遅延補償を行うことで、実際の運動に近い動作を提示することができていることがわかる。なお、図５では、実際の運動を実線で示し、遅延を伴って取得された運動を破線で示し、遅延補償装置により遅延を補償し提示された動作を一点鎖線で示している。
【００８０】
なお、図６に示すように、遅延を補償することで、疲労感を軽減する効果が得られることがわかる。
【００８１】
［変形例等］
状態変数ベクトルΦτには、振幅aτ及びバイアスbτの少なくとも一方が含まれていればよい。すなわち、状態変数ベクトルΦτは、例えば以下のようなベクトルであってもよい。
【００８２】
【数１７】
2014229157.tif 000019
【００８３】
この場合、状態遷移行列Fは、例えば以下のように定義される。
【００８４】
【数１８】
2014229157.tif 000020
【００８５】
状態推定部３が基本運動パターン記憶部２から読み込む基本運動パターンに関する情報は、状態推定部３がμy*(^x t|t-1|X,y)及びΣy*(^x t|t-1|X,y)を計算することができる情報であれば、y=(y1,y2,…,ym)でなくてもよい。例えば、基本運動パターンに関する情報は、μy*(x *|X,y)の定義式である式（１）の値と、Σy*(x *|X,y)の定義式である式（２）の値とを計算するために必要な情報であってもよい。
【００８６】
同様に、運動予測部４が基本運動パターン記憶部２から読み込む基本運動パターンに関する情報は、運動予測部４がμy*(^x t+s|t|X,y)を計算することができる情報であれば、y=(y1,y2,…,ym)でなくてもよい。例えば、基本運動パターンに関する情報は、μy*(x *|X,y)の定義式である式（１）の値を計算するために必要な情報であってもよい。
【００８７】
遅延時間sではなく、遅延量測定部５が測定したTpが、遅延情報として運動予測部４に提供されてもよい。この場合、Tpに基づいて、運動予測部４が遅延時間s=Tp/Tsを計算する。
【００８８】
また、遅延時間sが予めわかっている場合には、遅延量測定部５は設けられていなくてもよい。
【００８９】
基本運動パターン生成部７が、基本運動パターン記憶部２に記憶されている基本運動パターンに関する情報を動的に更新してもよい。
【００９０】
例えばzt-m,zt-m+1,…,zt-1が、基本運動パターンに関する情報y=(y1,y2,…,ym)として基本運動パターン記憶部２に記憶されているとする。このとき、観測値ztを運動計測部１から受け取った基本運動パターン生成部７は、zt-m+1,zt-m+2,…,ztを、新たな基本運動パターンに関する情報y=(y1,y2,…,ym)として基本運動パターン記憶部２に記憶する。このように、最も新しい観測値ztを加え、最も古い観測値zt-mを除くことにより、基本運動パターンに関する情報を更新してもよい。
【００９１】
また、基本運動パターン生成部７は、kを所定の正の整数として、k単位処理時間ごとに、基本運動パターンに関する情報y=(y1,y2,…,ym)を更新してもよい。具体的には、例えば、最も新しいk個の観測値zt-(k-1),zt-(k-2),…,ztを加え、最も古いk個の観測値zt-m,zt-m+1,…,zt-m+(k-1)を除くことにより、基本運動パターンに関する情報を更新してもよい。例えば、k=n又はk=mとする。k=nである場合には遅延補償の対象となる運動に対応するパラメータの値が一周期分入力される毎に、k=mである場合には遅延補償の対象となる運動に対応するパラメータの値が約一周期分入力される毎に、基本運動パターンが更新されることになる。
【００９２】
例えば、m=nとする。このとき、基本運動パターンに関する情報y=(y1,y2,…,yn)は、Cを２以上の整数として、遅延補償の対象となる運動に対応するパラメータの過去のC個の周期の平均であってもよい。例えば、遅延補償の対象となる運動に対応するパラメータの過去のC個のそれぞれの周期についての情報をyc=(yc1,yc2,…,ycn)(c=1,2,…,C)とする。このとき、y=(Σc=1Cyc)/C=((Σc=1Cyc1)/C,(Σc=1Cyc2)/C,…,(Σc=1Cycn)/C)とする。この計算は、基本運動パターン生成部７により行われる。
【００９３】
基本運動パターンに関する情報が既に基本運動パターン記憶部２に記憶されている場合には、基本運動パターン生成部７は設けられていなくてもよい。
【００９４】
上記の例では、遅延補償の対象となる運動に対応するパラメータの値をスカラー量として扱っている。もし、遅延補償の対象となる運動に対応するパラメータが多次元である場合には、パラメータの各次元のそれぞれについて上記と同様にして遅延補償の処理をすればよい。
【００９５】
遅延補償装置は、コンピュータによって実現することができる。この場合、この装置の各部の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、この装置における各部がコンピュータ上で実現される。
【００９６】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、これらの装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【００９７】
この発明は、上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【００９８】
１     運動計測部
２     基本運動パターン記憶部
３     状態推定部
４     運動予測部
５     遅延量測定部
６     表示部
７     基本運動パターン生成部
【図１】
2014229157.tif 000021
【図２】
2014229157.tif 000022
【図３】
2014229157.tif 000023
【図４】
2014229157.tif 000024
【図５】
2014229157.tif 000025
【図６】
2014229157.tif 000026