(57)【特許請求の範囲】
【請求項１】
ビデオカメラによって撮影された所望の画像信号から検出される上記ビデオカメラの動きを示すカメラ動き推定情報と、上記ビデオカメラによる上記所望の画像信号の撮像と同時に、物理的な動きを検出するセンサによって取得された上記ビデオカメラの物理的な動きを示すカメラ動き情報とに基づいて、学習を行うことによって予め生成された関係情報を記憶する記憶手段と、
入力画像信号から、上記入力画像信号に対するカメラ動き推定情報を検出するカメラ動き推定情報検出手段と、
上記カメラ動き推定情報検出手段によって検出されたカメラ動き推定情報と、上記関係情報とに基づいて、上記入力画像信号に対するカメラ動き予測情報を生成するカメラ動き予測情報生成手段とを備えることを特徴とする情報処理装置。
【請求項２】
上記カメラ動き予測情報に基づいて、オブジェクトを動揺するための動揺信号を生成する動揺信号生成手段をさらに備えることを特徴とする請求項１記載の情報処理装置。
【請求項３】
上記動揺信号に基づいて上記オブジェクトを駆動する駆動手段をさらに備えることを特徴とする請求項２記載の情報処理装置。
【請求項４】
上記オブジェクトとして椅子をさらに備えることを特徴とする請求項２記載の情報処理装置。
【請求項５】
上記駆動手段と同期して上記入力画像信号を表示する表示手段をさらに備えることを特徴とする請求項４記載の情報処理装置。
【請求項６】
上記カメラ動き推定情報検出手段は、上記入力画像信号から動きベクトルを検出する動きベクトル検出部と、上記動きベクトルに基づいて、動き中心を検出する動き中心検出部と、上記動きベクトルと上記動き中心とに基づいて、上記カメラ動き推定情報を検出するカメラ動き推定情報検出部とを備えることを特徴とする請求項１記載の情報処理装置。
【請求項７】
上記動き中心検出部は、複数の画素位置において、それぞれ上記動きベクトルを複数フレームに亘って積分する積分部と、上記積分部の積分結果に基づいて上記動き中心を決定する動き中心決定部とを有することを特徴とする請求項６記載の情報処理装置。
【請求項８】
上記積分部は、上記動きベクトルの水平成分と垂直成分とを別々に積分することを特徴とする請求項７記載の情報処理装置。
【請求項９】
上記動きベクトル検出部は、上記入力画像信号の予め設定された複数の代表点について、上記動きベクトルを検出することを特徴とする請求項６記載の情報処理装置。
【請求項１０】
上記センサとして加速度センサ又は角速度センサを備えることを特徴とする請求項１記載の情報処理装置。
【請求項１１】
上記カメラ動き推定情報検出手段は、複数種類の成分から成るカメラ動き推定情報を生成することを特徴とする請求項１記載の情報処理装置。
【請求項１２】
上記カメラ動き予測情報生成手段は、上記カメラ動き推定情報と、上記関係情報との線形結合により、上記入力画像信号に対応する上記カメラ動き予測情報を生成することを特徴とする請求項１記載の情報処理装置。
【請求項１３】
ビデオカメラによって撮像された所望の画像信号からカメラ動き推定情報を検出するカメラ動き推定情報検出手段と、
上記ビデオカメラによる上記所望の画像信号の撮像と同時に、物理的な動きを検出するセンサによって取得された上記ビデオカメラの物理的な動きを示すセンサ情報と、上記カメラ動き推定情報とに基づいて、任意の画像信号から上記任意の画像信号を撮像したビデオカメラの動きを表すカメラ動き予測情報を生成するための変換係数を生成する係数生成手段とを備えることを特徴とする学習装置。
【請求項１４】
上記カメラ動き推定情報検出手段は、上記入力画像信号から動きベクトルを検出する動きベクトル検出部と、上記動きベクトルに基づいて、動き中心を検出する動き中心検出部と、上記動きベクトルと上記動き中心とに基づいて、上記カメラ動き推定情報を検出するカメラ動き推定情報検出部とを備えることを特徴とする請求項１３記載の学習装置。
【請求項１５】
上記動き中心検出部は、複数の画素位置において、それぞれ上記動きベクトルを複数フレームに亘って積分する積分部と、上記積分部の積分結果に基づいて上記動き中心を決定する動き中心決定部とを有することを特徴とする請求項１４記載の学習装置。
【請求項１６】
上記積分部は、上記動きベクトルの水平成分と垂直成分とを別々に積分することを特徴とする請求項１５記載の学習装置。
【請求項１７】
上記動きベクトル検出部は、上記入力画像信号の予め設定された複数の代表点について、上記動きベクトルを検出することを特徴とする請求項１４記載の学習装置。
【請求項１８】
上記センサとして加速度センサ又は角速度センサを備えることを特徴とする請求項１４記載の学習装置。
【請求項１９】
上記カメラ動き推定情報検出手段は、複数種類の成分から成るカメラ動き推定情報を生成することを特徴とする請求項１４記載の学習装置。
【請求項２０】
入力画像信号から、上記入力画像信号に対するカメラ動き情報を検出するステップと、
検出されたカメラ動き情報と、ビデオカメラによって撮影された所望の画像信号から検出される上記ビデオカメラの動きを示すカメラ動き推定情報と、上記ビデオカメラにより上記所望の画像信号の撮影と同時に、物理的な動きを検出するセンサによって取得され上記ビデオカメラの物理的な動きを示すカメラ動き情報とに基づいて、上記入力画像信号に対するカメラ動き予測情報を検出するステップと
を有することを特徴とする情報処理方法。
【請求項２１】
ビデオカメラによって撮像された所望の画像信号からカメラ動き推定情報を検出するステップと、
上記ビデオカメラによる上記所望の画像信号の撮像と同時に、物理的な動きを検出するセンサによって取得された上記ビデオカメラの物理的な動きを示すセンサ情報と上記カメラ動き推定情報とに基づいて、任意の画像信号から上記任意の画像信号を撮像したビデオカメラの動きを表すカメラ動き予測情報を生成するための変換係数を生成するステップと  を有することを特徴とする学習方法。
【発明の詳細な説明】
【０００１】
本発明は、情報処理装置、学習装置、情報処理方法、学習方法及びプログラム記録媒体に関し、特に、乗り物に搭載されたビデオカメラにより撮像された画像を鑑賞しながら、あたかも、その乗り物に実際に乗っているような臨場感を体験させる臨場感体験装置に対して、その画像の観察者が座る椅子を動揺させる動揺データを生成することができるようにした情報処理装置、学習装置、情報処理方法、学習方法に関する。
【０００２】
背景技術
乗り物に搭載されたビデオカメラにより撮影された画像をスクリーンに表示させるとともに、その画像を観察する観察者の座席を、その画像に関連して動揺させることで、その観察者が、あたかもその乗り物に乗っているような臨場感を体験させる臨場感体験装置が実現している。
【０００３】
従来、このような座席を動揺させる動揺データは、画像を撮像するとき、その乗り物に取り付けられたセンサから取得されている。あるいは、乗り物から撮像された画像を操作者が見ながら、動揺を予測し、手作業により動揺データを作成している。さらに、所定の動揺データを仮定して、コンピュータグラフィックスにより画像を生成することも行われている。
【０００４】
しかしながら、センサにより動揺データを取得する方法は、既存の画像から動揺データを生成することができない課題がある。また、操作者が、画像を見ながら手作業により、動揺データを作成する方法は、膨大な作業が必要となり、コスト高となる。さらに、所定の動揺データに対応する画像をコンピュータグラフィックスにより作成する方法は、例えば、予め取得されているＦ１の競争用自動車に取り付けたビデオカメラから撮像された画像に基づいて、そのドライバの運転を体験するといったような既存の実世界の映像資産を活用することができないという問題点があった。
【０００５】
発明の開示
そこで、本発明は、このような従来の状況に鑑みてなされたものであり、既存の映像資産に基づいて、簡単に、かつ低コストで動揺データを生成することができるようにするものである。
【０００６】
本発明に係る情報処理装置は、ビデオカメラによって撮影された所望の画像信号から検出される上記ビデオカメラの動きを示すカメラ動き推定情報と、上記ビデオカメラによる上記所望の画像信号の撮像と同時に、物理的な動きを検出するセンサによって取得された上記ビデオカメラの物理的な動きを示すカメラ動き情報とに基づいて、学習を行うことによって予め生成された関係情報を記憶する記憶手段と、入力画像信号から、上記入力画像信号に対するカメラ動き推定情報を検出するカメラ動き推定情報検出手段と、上記カメラ動き推定情報検出手段によって検出されたカメラ動き推定情報と、上記関係情報とに基づいて、上記入力画像信号に対するカメラ動き予測情報を生成するカメラ動き予測情報生成手段とを備えることを特徴とする。
【０００７】
また、本発明に係る学習装置は、ビデオカメラによって撮像された所望の画像信号からカメラ動き推定情報を検出するカメラ動き推定情報検出手段と、上記ビデオカメラによる上記所望の画像信号の撮像と同時に、物理的な動きを検出するセンサによって取得された上記ビデオカメラの物理的な動きを示すセンサ情報と、上記カメラ動き推定情報とに基づいて、任意の画像信号から上記任意の画像信号を撮像したビデオカメラの動きを表すカメラ動き予測情報を生成するための変換係数を生成する係数生成手段とを備えることを特徴とする。
【０００８】
また、本発明に係る情報処理方法は、入力画像信号から、上記入力画像信号に対するカメラ動き情報を検出するステップと、検出されたカメラ動き情報と、ビデオカメラによって撮影された所望の画像信号から検出される上記ビデオカメラの動きを示すカメラ動き推定情報と、上記ビデオカメラにより上記所望の画像信号の撮影と同時に、物理的な動きを検出するセンサによって取得され上記ビデオカメラの物理的な動きを示すカメラ動き情報とに基づいて、上記入力画像信号に対するカメラ動き予測情報を検出するステップとを有することを特徴とする」
また、本発明に係る学習方法は、ビデオカメラによって撮像された所望の画像信号からカメラ動き推定情報を検出するステップと、上記ビデオカメラによる上記所望の画像信号の撮像と同時に、物理的な動きを検出するセンサによって取得された上記ビデオカメラの物理的な動きを示すセンサ情報と上記カメラ動き推定情報とに基づいて、任意の画像信号から上記任意の画像信号を撮像したビデオカメラの動きを表すカメラ動き予測情報を生成するための変換係数を生成するステップとを有することを特徴とする。
【００１１】
発明を実施するための最良の形態
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１２】
本発明は、例えば図１に示すような構成の臨場感体験装置１０に適用される。この臨場感体験装置１０は、学習処理により動揺データを生成する学習処理部１１と、この学習処理部１１により生成された動揺データに基づいて、物理的な動揺を与えながら画像を提示する画像提示部１２からなる。
【００１３】
学習処理部１１は、画像動揺データ関係学習装置１と動揺データ生成装置２からなる。画像動揺データ関係学習装置１は、乗り物に搭載されたビデオカメラにより撮像された画像と、その撮像と同時にセンサにより取得された動揺データから、画像動揺データ関係係数を学習する。動揺データ生成装置２は、画像動揺データ関係学習装置１が出力する画像動揺データ関係係数と、乗り物に搭載されたビデオカメラにより撮像された既存の画像（画像動揺データ関係学習装置１において、画像動揺データ関係係数を生成するのに用いられた画像とは異なる画像であって、センサから取得された対応する動揺データが存在しない画像）に基づいて、動揺データを生成する。
【００１４】
画像提示部１２は、画像提示装置３、駆動制御装置５や同期制御装置７からなる。学習処理部１１の動揺データ生成装置２により生成された動揺データは、座席６を駆動する駆動制御装置５に供給される。また、動揺データ生成装置２により生成された動揺データに対応する画像は、例えばビデオテープレコーダなどにより構成される画像提示装置３に供給される。画像提示装置３は、提供されたビデオテープに記録されている画像を再生し、スクリーン４に表示させる。座席６に座っている視聴者は、このスクリーン４に表示された画像を見る。同期制御装置７は、画像提示装置３と駆動制御装置５を同期して動作させ、また、停止させるように制御する。
【００１５】
図２は、スクリーン４と座席６の関係を表している。座席６に座っている観察者に、スクリーン４に表示されている画像を見ながら、あたかも乗り物に乗っているような臨場感を体験させるために、駆動制御装置５は、座席６を動揺データに基づいて動揺させる。この動揺は、Ｘ，Ｙ，Ｚの３軸回りの回転成分（ｒｏｌｌ，ｐｉｔｃｈ，ｙａｗ）と３軸方向の並進成分（ｘ，ｙ，ｚ）により構成される。
【００１６】
画像動揺データ関係学習装置１は、例えば図３に示すように構成される。動きベクトル計算装置２１は、入力されたフレーム単位の画像データについて、画面全体に渡って少なくとも上下左右対称な点を含むように格子点状に予め与えられた代表点としての画素データに基づき、例えば現在のフレームと１フレーム前の過去のフレームとの間で動きベクトルを計算し、動き中心計算装置２２とカメラ動き推定量計算装置２３に出力する。
【００１７】
動き中心計算装置２２は、例えば自動車に搭載したカメラにより走行方向前方を撮影した画像について、各代表点における動きベクトルの値から、画面全体の画像の動き中心（１点透視における無限遠点）座標を求め、カメラ動き推定量計算装置２３に出力する。
【００１８】
カメラ動き推定量計算装置２３は、動き中心に対する代表点の相対座標、代表点における動きベクトル、並びに３次元空間とそれをビデオカメラで撮影した結果の２次元画像との幾何学的関係から、１フレーム周期当たりのビデオカメラの位置と姿勢の変化の推定量を表すカメラ動き推定量を成分（ｖｘ，ｖｙ，ｖｚ，ｗｘ，ｗｙ，ｗｚ）毎に異なる個数計算し、関係係数学習装置２５に出力する。
【００１９】
カメラ動き量計算装置２４は、カメラ動き推定量と物理量（単位時間当たりの距離又は角度）が一致するようにセンサにより取得された動揺データから、実際にカメラが動いた量（ｍ／秒又はｒａｄ／秒）を表すカメラ動き量を成分（ｘ’，ｙ’，ｚ’，ｒｏｌｌ’，ｐｉｔｃｈ’，ｙａｗ’）毎に計算し、関係係数学習装置２５に出力する。
【００２０】
関係係数学習装置２５は、カメラ動き推定量計算装置２３から供給される複数個のカメラ動き推定量と、それに時間的に対応する、カメラ動き量計算装置２４から供給される１つのカメラ動き量との対応を表す画像動揺データ関係係数を成分毎に学習する。
【００２１】
次に、図４のフローチャートを参照して、その動作について説明する。最初に、ステップＳ１において、動きベクトル計算装置２１は、所定のシーンの初めから終わりまでの画像（例えば、自動車が走行を開始してから停止するまでの画像）における、予め設定されている代表点におけるフレーム間での動きベクトルを計算する。代表点には、例えば図５に示すように、１枚の画面（フレーム）の全体に渡って、格子点上の所定の位置の４×５個の画素が割り当てられている。
【００２２】
動きベクトル計算装置２１により計算された動きベクトルは、動き中心計算装置２２に供給される。動き中心計算装置２２は、ステップＳ２において、入力された動きベクトルに応じて、動きの中心座標の計算処理を実行する。動き中心計算装置２２は、例えば図６に示すように構成されている。
【００２３】
絶対値器４ｌは、動きベクトル計算装置２１より供給された動きベクトルのうちの水平成分の絶対値を求め、加算器４２に出力する。加算器４２は、絶対値器４１より入力された値と、レジスタ４３より入力された値とを加算し、レジスタ４３に出力する。レジスタ４３は、加算器４２より入力された値を保持し、加算器４２に出力するとともに、メモリ４４に出力する。メモリ４４は、レジスタ４３より入力された値を代表点毎に記憶する。
【００２４】
すなわち、メモリ４４には、例えば図５に示す（ｉ＝１，ｊ＝１）の代表点のシーンの初めから終わりまでの動きベクトルの水平方向成分の絶対値の和が記憶される。また、その他の座標（ｉ，ｊ）の代表点の動きベクトルの水平方向成分の絶対値の和も記憶される。
【００２５】
最小値検出器４５は、メモリ４４に記憶されている各代表点の水平成分の絶対値の総和（以下、評価値とも称する）のうち、同一の水平ライン上の代表点の中の最小値を検出する。すなわち、最小値検出器４５は、例えば図５に示すｉ＝１のラインの５個の代表点に対応する評価値の中から最小値を有する代表点を選択する。同様に、最小値検出器４５は、ｉ＝２〜４の各ライン上の代表点に対応する評価値のうち、最小値を有する代表点を選択する。
【００２６】
動き中心水平面素位置決定器４６は、最小値検出器４５より供給される５個の最小の評価値を有する代表点に対応する水平方向の座標から、多数決、メディアン、平均などを演算することで、動き中心水平面素位置を検出する。
【００２７】
絶対値器４８は、動きベクトル計算装置２１より供給された動きベクトルのうち、垂直成分の絶対値を求め、加算器４９に出力する。加算器４９は、絶対値器４８より供給された値と、レジスタ５０より入力された値とを加算し、レジスタ５０に出力し、保持させる。レジスタ５０により保持された値は、加算器４９に供給されるとともに、メモリ５１に供給され、記憶される。メモリ５１には、シーンの初めから終わりまでの各フレームの代表点における動きベクトルの垂直成分の絶対値の総和（以下、これを評価値とも称する）が記憶される。
【００２８】
最小値検出器５２は、メモリ５１に記憶された評価値の中から各列（垂直方向のライン）毎に最小値を検出し、その最小値に対応する代表点の垂直座標を、動き中心垂直画素位置決定器４７に出力する。例えば、図５の例においては、最小値検出器５２は、ｊ＝ｌ〜５の各列毎の評価値のうち、最小の評価値を有する代表点の垂直座標を、動き中心垂直画素位置決定器４７に出力する。
【００２９】
動き中心垂直画素位置決定器４７は、最小値検出器５２より入力された複数の垂直座標データの中から、動き中心水平面素位置決定器４６より供給される水平座標に対応する代表点の垂直座標を動き中心の垂直画素位置として選択する。
【００３０】
次に、図７のフローチャートを参照して、動き中心計算装置２２の動作について説明する。ステップＳ２１において、代表点毎にシーンの初めから終わりまでの動きベクトルの水平成分の絶対値の総和が演算される。このため、絶対値器４１は、動きベクトル計算装置２１より入力された各代表点の動きベクトルのうち、水平成分の絶対値を求め、加算器４２に出力する。加算器４２は、レジスタ４３に保持されている過去の値と、絶対値器４１より供給された値とを加算する処理を繰り返す。その結果、レジスタ４３には、シーンの初めから終わりまでの各代表点毎の絶対値の総和（評価値）が保持され、これがメモリ４４に記憶される。
【００３１】
ステップＳ２２において、水平方向に並ぶ代表点の絶対値の総和が最小となるその代表点の水平方向の座標を動き中心の水平座標とする処理が行われる。このため、最小値検出器４５は、メモリ４４に記憶されている各代表点のシーンの初めから終わりまでの動きベクトルの水平成分の絶対値の総和（評価値）の中から、各ライン毎に最小値を検出する。
【００３２】
例えば、図８に示すように、ｉ＝１のラインの各代表点の評価値の中から、最小の値のものが検出され、その検出された代表点の水平方向の座標が動き中心水平画素位置決定器４６に出力される。図８に示すｉ＝１の行において、ｊ＝２の列の代表点の評価値が最小である場合、この座標（１，２）の代表点の水平方向の座標が、動き中心水平画素位置決定器４６に出力される。同様にして、図８に示すｉ＝２の行のｊ＝４の代表点、ｉ＝３の行のｊ＝３の代表点、並びにｉ＝４の行のｊ＝３の代表点の評価値が、それぞれ各行において最も小さい値であるとすると、代表点（２，４）の水平方向の座標、代表点（３，３）の代表点の水平方向の座標、並びに、代表点（４，３）の水平方向の座標が、動き中心水平画素位置決定器４６に供給される。
【００３３】
動き中心水平画素位置決定器４６は、各ラインの水平方向の座標に対して多数決、メディアン、又は平均などの処理を施して、動き中心水平画素位置を決定する。多数決の原理に従う場合、図８の例では、ｊ＝２の列とｊ＝４の列が１個であり、ｊ＝３の列が２個であるから、ｊ＝３の水平方向の座標が動き中心水平画素位置とされる。メディアン処理の場合においても、図８の例においては、ｊ＝２〜ｊ＝４までの３列の代表点が存在し、その中間の列はｊ＝３の列であるから、ｊ＝３の代表点の水平座標が動き中心水平面素位置とされる。平均処理の場合、図８の例においては、代表点（１，２）、代表点（２，４）、代表点（３，３）及び代表点（４，３）の各座標の水平座標の平均値が動き中心水平画素位置とされる。
【００３４】
ステップＳ２３においては、ステップＳ２１における場合と同様の処理が、動きベクトルの垂直成分に関して実行される。すなわち、絶対値器４８により、動きベクトル計算装置２１より供給される動きベクトルの中から、垂直成分の絶対値が演算され、加算器４９とレジスタ５０により、その絶対値の総和が代表点毎に演算される。そして、演算された値が、メモリ５１に記憶される。ステップＳ２４において、動き中心の水平座標と等しい水平座標を持つ代表点で、絶対値の総和が最小となる代表点の垂直座標が、動き中心の垂直座標とされる処理が実行される。
【００３５】
すなわち、最小値検出器５２は、メモリ５１に記憶された各列の代表点の中から、最小の評価値を有する代表点を選択する。例えば、図９に示すように、ｊ＝１の列においてはｉ＝２の代表点が、ｊ＝２の列においては１＝３の行の代表点が、ｊ＝３の列においてはｉ＝２の代表点が、ｊ＝４の行においてはｉ＝１の代表点が、ｊ＝５の列においてはｉ＝２の代表点が、それぞれ最小の評価値を有する場合、代表点（２，１）、代表点（３，２）、代表点（２，３）、代表点（１，４）及び代表点（２，５）の垂直座標が、動き中心垂直画素位置決定器４７に供給される。
【００３６】
動き中心垂直面素位置決定器４７は、最小値検出器５２より供給された垂直座標の中から、動き中心水平画素位置決定器４６より供給された水平面素の水平座標を有する代表点に対応する代表点の垂直座標を動き中心垂直画素位置として決定する。図８と図９に示す例の場合、ｊ＝３の列の水平座標が水平画素位置とされているため、代表点（２，３）の垂直座標が、動き中心垂直面素位置とされる。
【００３７】
以上のようにして、動き中心計算装置２２により計算された動き中心座標は、図３のカメラ動き推定量計算装置２３に供給される。
【００３８】
図４に戻って、ステップＳ２の動きの中心座標計算処理が完了したとき、次にステップＳ３に進み、カメラ動き推定量計算装置２３によりカメラ動き推定量計算処理が実行される。このカメラ動き推定量計算装置２３は、例えば、図１０に示すように構成されている。
【００３９】
動きベクトル計算装置２１より出力された動きベクトルは、動きベクトル選択器６２−１〜６２−４に入力される。この例の場合、動きベクトル選択器６２−１は、動きベクトルのうち、その水平成分を取り込み、動きベクトル選択器６２−２は、その垂直成分を取り込む。動きベクトル選択器６２−３、６２−４は、水平成分と垂直成分の両方を取り込む。
【００４０】
動き中心計算装置２２より出力された動き中心座標は、代表点位置決定器６１−１〜６１−４に入力される。代表点位置決定器６１−１〜６ｌ−４は、入力された動き中心座標から求めるべきカメラ動き推定量の成分に応じて、カメラ動き推定量の計算に用いられる動きベクトルの値を参照する代表点の位置を決定し、対応する動きベクトル選択器６２−１〜６２−４に出力する。
【００４１】
動きベクトル選択器６２−１〜６２−４は、入力された１フレーム間のすべての代表点における動きベクトルの水平成分と垂直成分の一方から、代表点位置決定器６ｌ−１〜６１−４から入力された代表点位置に基づき、カメラ動き推定量の計算に用いる動きベクトルの値を選択する。加算器６３−１又は加算器６３−２は、それぞれ動きベクトル選択器６２−１又は動きベクトル選択器６２−２の出力と、レジスタ６５−１又はレジスタ６５−２の出力を加算し、レジスタ６５−１又はレジスタ６５−２に出力する。レジスタ６５−１の出力は、加算器６３−１に出力されるとともに、メモリ６６−１に出力され、記憶される。メモリ６６−１から読み出されたデータは、ローパスフィルタ（ＬＰＦ）６７−１により、その低域成分が抽出され、成分ｗｚとして出力されるとともに、ハイパスフィルタ（ＨＰＦ）６８−１により、その高域成分が抽出され、成分ｖｙとして出力される。
【００４２】
同様に、レジスタ６５−２に記憶されたデータは、加算器６３−２に出力されるとともに、メモリ６６−２に出力され、記憶される。メモリ６６−２に記憶されたデータは、ローパスフィルタ（ＬＰＦ）６７−２により、その低域成分が抽出され、成分ｗｙとして出力されるとともに、ハイパスフィルタ（ＨＰＦ）６８−２により高域成分が抽出され、成分ｖｚとして出力される。
【００４３】
減算器６４−１は、動きベクトル選択器６２−３の出力から、レジスタ６５−３の出力を減算し、レジスタ６５−３に出力する。レジスタ６５−３の出力は、減算器６４−１に出力されるとともに、メモリ６６−３に供給され、記憶される。メモリ６６−３より読み出されたデータは、割算器６９−１に入力され、代表点位置決定器６１−３が出力する代表点の相対座標ｐ，ｑにより割算された後、成分ｖｘとして出力される。
【００４４】
同様に、減算器６４−２は、動きベクトル選択器６２−４より出力されたデータから、レジスタ６５−４より出力されたデータを減算し、レジスタ６５−４に出力する。レジスタ６５−４より出力されたデータは、減算器６４−２に出力されるとともに、メモリ６６−４に出力され、記憶される。メモリ６６−４より読み出されたデータは、割算器６９−２に入力され、代表点位置決定器６１−４が出力する代表点の相対座標ｐ，ｑにより割算された後、成分ｗｘとして出力される。
【００４５】
次に、図３のカメラ動き推定量計算装置２３の動作について、図１１のフローチャートを参照して説明する。このカメラ動き推定量計算処理においては、図１２に示すように、３次元空間と２次元画像の幾何学的関係が利用される。すなわち、図１２において、動き中心（０，０）に対する代表点ｉの相対座標を（ｐｉ，ｑｉ）、この代表点における動きベクトルを（ｕｉ，ｖｉ）、この代表点に写っている被写体の３次元空間におけるビデオカメラから見た奥行きをｒｉ、ビデオカメラの３軸方向の並進速度を（ｖｘ，ｖｙ，ｖｚ）、ビデオカメラの３軸回りの回転の角速度を（ｗｘ，ｗｙ，ｗｚ）、ビデオカメラの焦点距離をｆとすると、図１２に示す３次元空間と、それをビデオカメラで撮影した結果の２次元画像との幾何学的関係から、次式が成立する。
【００４６】
すなわち３次元空間中の点（Ｚ，Ｙ，Ｘ）は、ビデオカメラと相対的に次のように運動する。
【００４７】
【数１】
0004449217.tif 000002
【００４８】
画面座標（ｐ，ｑ）の点に対する平面Ｘ＝ｔＺ＋ｓＹ＋ｒ上の点（Ｚ，Ｙ，Ｘ）は、
【００４９】
【数２】
0004449217.tif 000003
【００５０】
であるから、
【００５１】
【数３】
0004449217.tif 000004
【００５２】
となる。また、透視変換の関係式
【００５３】
【数４】
0004449217.tif 000005
【００５４】
を時間微分することにより、
【００５５】
【数５】
0004449217.tif 000006
【００５６】
となる。
【００５７】
式（１）、式（５）、式（８）、式（９）とｔ＝０，ｓ＝０よりＸ，Ｙ，Ｚ，Ｘ，Ｙ，Ｚを消去して、
【００５８】
【数６】
0004449217.tif 000007
【００５９】
なる関係式が得られる。
【００６０】
上記式の関係から、直線ｐ＝０又は直線ｑ＝０上の、動き中心（０，０）に関して対称の位置にある２つの代表点における動きベクトルに基づいて、カメラ動き推定量（ｖｘ，ｖｙ，ｖｚ，ｗｘ，ｗｙ，ｗｚ）は、次式で表される。ただし、対となる２点では、被写体の奥行きｒはほぼ等しいものと仮定している。
【００６１】
【数７】
0004449217.tif 000008
【００６２】
上記式において、直線ｐ＝０上の対称位置にある２つの代表点の動きベクトルは、それぞれ（ｕｑ，ｖｑ）、又は（ｕ−ｑ，ｖ−ｑ）と表され、直線ｑ＝０上の２つの代表点の動きベクトルは、（ｕｐ，ｖｐ）又は（ｕ−ｐ，ｖ−ｐ）と表される。
【００６３】
図１０の最上行の系（代表点位置決定器６１−１〜ハイパスフィルタ（ＨＰＦ）６８−１）は、上記した式（１２）の演算を行うためのものであり、上から２番目の系（代表点位置決定器６１−２〜ハイパスフィルタ（ＨＰＦ）６８−２）は、式（１３）に示す演算を行うためのものであり、上から３番目の系（代表点位置決定器６１−３〜割算器６９−１）は、式（１４）の演算を行うためのものであり、最下行の系（代表点位置決定器６１−４〜割算器６９−２）は、式（１５）の演算を行うためのものである。
【００６４】
代表点位置決定器６１−１は、上記した式（１２）の演算を行うための代表点位置を決定するものであり、図１３（Ａ）に示すように、直線ｐ＝０上に位置する代表点であって、動き中心に関して対称の位置にある２つの代表点を決定する。
【００６５】
代表点位置決定器６１−２は、式（１３）の演算を行うための代表点位置を決定するものであり、図１３（Ｂ）に示すように、直線ｑ＝０上の動き中心に対して対称の位置に位置する２つの代表点を選択する。
【００６６】
式（１４）の演算を行う代表点を決定する代表点位置決定器６１−３は、図１３（Ｃ）に示すように、動き中心に対して対称の位置にある直線ｐ＝０上の２つの代表点及び直線ｑ＝０上の２つの代表点を選択する。
【００６７】
式（１５）の演算を行うための代表点を決定する代表点位置決定器６１−４は、図１３（Ｄ）に示すように、直線ｐ＝０上の２つの代表点及び直線ｑ＝０上の２つの代表点を選択する。
【００６８】
代表点位置決定器６１−１は、図１３（Ａ）に示す１組の代表点の動きベクトルの水平成分だけを選択するようにしてもよいが、より正確を期するために、１フレームにおいて、複数組の代表点の動きベクトルの水平成分を選択する。図１３（Ａ）の例においては、合計４組の代表点の組が選択されている。なお、図中、中央に示す動き中心上に位置する代表点については、２つの代表点の水平成分が、それぞれ同一であるとして処理される。
【００６９】
代表点位置決定器６１−２も、代表点位置決定器６１−１と同様に、図１３（Ｂ）に示す代表点の組のうち、少なくとも１つの組の代表点の動きベクトルの垂直成分を選択すればよいのであるが、より正確を期するために、合計４組の代表点の組の垂直成分を選択する。
【００７０】
代表点位置決定器６１−３は、式（１４）のうち、上の式と下の式のいずれを用いてもよいのであるが、より正確を期するために、両方を用いて代表点を選択する。図１３（Ｃ）の例においては、直線ｐ＝０の上の３組の代表点と、直線ｑ＝０上の３組の代表点が選択されている。
【００７１】
同様に、代表点位置決定器６１−４は、式（１５）に示すように、上の式と下の式のいずれを用いてもよいのであるが、より正確を期するために、両方を用いる。この場合、図１３（Ｄ）に示すように、図１３（Ｃ）に示す場合と同様に、直線ｐ＝０上に配置されている３組の代表点だけでなく、直線ｑ＝０上の３組の代表点が選択される。
【００７２】
図１１に戻って、ステップＳ４２において、動きベクトル選択器６２−１〜６２−４は、それぞれ対応する代表点位置決定器６１−１〜６１−４で決定された数組の２つの代表点の動きベクトルを選択する。図１０の動きベクトル選択器６２−１においては、式（１２）を演算する動きベクトルとして、直線ｐ＝０上の２つの代表点の水平成分ｕｑ，ｕ−ｑが選択される。動きベクトル選択器６２−２においては、式（１３）の演算を行うために、直線ｑ＝０上の２つの代表点の動きベクトルの垂直成分ｖｐ，ｖ−ｐが選択される。
【００７３】
動きベクトル選択器６２−３においては、式（１４）の演算を行うために、直線ｑ＝０上の２つの代表点の動きベクトルの水平成分ｕｐ，ｕ−ｐと、直線ｐ＝０上の２つの代表点の動きベクトルの垂直成分ｖｑ，ｖ−ｑが選択される。動きベクトル選択器６２−４においては、式（１５）の演算を行うために、直線ｐ＝０上の２つの代表点の動きベクトルの水平成分ｕｑ，ｕ−ｑと、直線ｑ＝０上の２つの代表点の動きベクトルの垂直成分ｖｐ，ｖ−ｐが選択される。
【００７４】
ステップＳ４３において、上記した式（１２）〜式（１５）において利用されるｕｑ＋ｕ−ｑ，ｖｐ＋ｖ−ｐ，ｕｐ−ｕ−ｐ，ｖｑ−ｖ−ｑ，ｕｑ−ｕ−ｑ，ｖｐ−ｖ−ｐが演算される。
【００７５】
すなわち、加算器６３−１は、動きベクトル選択器６２−１から最初の代表点の動きベクトルの水平成分ｕｑが供給されると、これをレジスタ６５−ｌに供給し、記憶させ、次の代表点の動きベクトルの水平成分ｕ−ｑが供給されると、これを加算器６３−１でレジスタ６５−１に保持されている成分ｕｑと加算し、加算した値（ｕｑ＋ｕ−ｑ）をレジスタ６５−１に保持させる。
【００７６】
レジスタ６５−１に保持されたデータは、さらにメモリ６６−１に供給され、保持される。
【００７７】
加算器６３−２は、動きベクトル選択器６２−２から、最初の代表点の動きベクトルの垂直成分ｖ−ｐが供給されると、これをレジスタ６５−２に供給し、保持させる。次に、代表点の動きベクトルの垂直成分ｖｐが供給されると、これをレジスタ６５−２に保持されている成分ｖ−ｐと加算し、加算した値（ｖｐ＋ｖ−ｐ）をレジスタ６５−２に供給し、保持させる。このデータは、さらに、メモリ６６−２に供給され、記憶される。
【００７８】
減算器６４−ｌは、動きベクトル選択器６２−３から最初の代表点の動きベクトルの水平成分ｕ−ｐが供給されたとき、これをレジスタ６５−３に供給し、保持させ、次の代表点の動きベクトルの水平成分ｕｐが供給されると、これからレジスタ６５−３に保持されている値ｕ−ｐを減算し、その減算した値（ｕｐ−ｕ−ｐ）をレジスタ６５−３に保持させる。このデータは、レジスタ６５−３からメモリ６６−３に供給され、記憶される。同様に、値（ｖｑ−ｖ−ｑ）も演算され、メモリ６６−３に記憶される。
【００７９】
減算器６４−２は、動きベクトル選択器６２−４より供給された最初の代表点の動きベクトルの水平成分ｕ−ｑをレジスタ６５‐４に供給し、保持させ、次の代表点の動きベクトルの水平成分ｕｑが供給されると、これからレジスタ６５−４に保持されている成分ｕ−ｑを減算し、その減算した値（ｕｑ−ｕ−ｑ）をレジスタ６５−４に供給し、保持させる。レジスタ６５−４に保持されたデータは、さらにメモリ６６−４に供給され、記憶される。同様に、値（ｖｐ−ｖ−ｐ）も演算され、メモリ６６−４に記憶される。
【００８０】
次に、ステップＳ４４に進み、成分ｗｚと成分ｖｙを分離する処理、成分ｗｙと成分ｖｚを分離する処理、さらに記憶されている値を代表点の座標値ｐ又は座標値ｑで割算する処理が実行される。
【００８１】
すなわち、式（１２）に示すように、メモリ６６−１に記憶されているデータ（ｕｑ＋ｕ−ｑ）は、カメラ動き推定量のうち、成分ｗｚと成分ｖｙの和（ｗｚ＋（１／ｒ）ｖｙ）に比例している。動揺の性質として、並進運動（ｖｘ，ｖｙ，ｖｚ）は、主に高周波成分で構成され、回転運動（ｗｘ，ｗｙ，ｗｚ）は、主に低周波成分で構成される。そこで、メモリ６６−１に記憶されているデータ（ｕｑ＋ｕ−ｑ）からローパスフィルタ（ＬＰＦ）６７−１により低域成分を抽出することで、成分ｗｚを得、また、ハイパスフィルタ（ＨＰＦ）６８−１で高域成分を抽出することで、成分ｖｙを得る。
【００８２】
なお、（−１／（２ｆ））の比例定数は、後述する学習処理により予め学習される。
【００８３】
また、メモリ６６−２に記憶されているデータ（ｖｐ＋ｖ−ｐ）は、式（１３）に示すように、成分ｗｙと成分ｖｚの差（ｗｙ−（１／ｒ）ｗｚ）に比例している。そこで、メモリ６６−２に記憶されているデータから、ローパスフィルタ（ＬＰＦ）６７−２により低域成分を抽出することで、成分ｗｙを抽出し、また、ハイパスフィルタ（ＨＰＦ）６８−２により高域成分を抽出することで、成分ｖｚを抽出する。
【００８４】
なお、式（１３）における比例定数（−１／（２ｆ））も学習処理により、予め学習される。
【００８５】
メモリ６６−３に記憶されているデータ（ｕｐ−ｕ−ｐ）、又はデータ（ｖｑ−ｖ−ｑ）は、式（１４）に示すように、その値を、相対座標ｐ又は座標ｑで割算した値が、成分ｖｘに比例する。そこで、割算器６９−１は、メモリ６６−３よりデータ（ｕｐ−ｕ−ｐ）が読み出されたとき、代表点位置決定器６１−３より供給される代表点の水平座標ｐに基づいてこれを割算し、割算した結果を出力する。また、メモリ６６−３からデータ（ｖｑ−ｖ−ｑ）が読み出されてきたとき、このデータは、代表点位置決定器６１−３より供給される垂直座標ｑで割算され、出力される。
【００８６】
同様に、割算器６９−２は、メモリ６６−４よりデータ（ｕｑ−ｕ−ｑ）が読み出されてきたとき、その値を式（１５）で示すように、成分ｗｘに比例させるために、代表点位置決定器６１−４より供給された相対座表の垂直成分ｑで割算する。また、データ（ｖｐ−ｖ−ｐ）が供給されてきたとき、割算器６９−２は、この値を、代表点位置決定器６１−４より供給された相対座標の垂直成分ｐで割算する。
【００８７】
なお、式（１４）における成分（１／ｒ）は、学習により処理され重み係数に含まれる。式（１５）における成分（１／２）も、学習により処理される。
【００８８】
以上のようにして、図３のカメラ動き推定量計算装置２３により計算されたカメラ動き推定量は、関係係数学習装置２５に供給される。
【００８９】
図４に戻って、ステップＳ３でカメラ動き推定量計算処理が実行された後、次に、ステップＳ４において、図３のカメラ動き量計算装置２４により、カメラ動き量計算処理が実行される。カメラ動き量計算装置２４は、例えば、図１４に示すように構成されている。
【００９０】
図示せぬセンサからの動揺データは、３軸方向の加速度（ｘ”，ｙ”，ｚ”）と、３軸を中心とした回転の角速度（ｒｏｌｌ’，ｐｉｔｃｈ’，ｙａｗ’）で構成されている。加速度ｘ”，ｙ”，ｚ”は、それぞれ加算器８２−１、加算器８２−２、又は減算器８１に入力されている。加算器８２−１は、入力された加速度ｘ”と、レジスタ８３−ｌに記憶されている値とを加算することで積分し、レジスタ８３−１に出力する。レジスタ８３−１の出力は、加算器８２−１に出力されるとともに、メモリ８４−１に供給され、記憶される。ＤＣ成分除去器８５−１は、メモリ８４−１に記憶されたデータからＤＣ（直流）成分を除去して、カメラ動き量の成分ｘ’として出力する。センサより取得された動揺データには、誤差が重畳されているので、これを単純に積分すると、誤差が蓄積してしまうので、ＤＣ成分除去器８５−ｌにより積分した値から、ＤＣ成分が取り除かれる。
【００９１】
加算器８２−２は、入力されたセンサ出力ｙ”に、レジスタ８３−２に保持されている過去の値を加算し、レジスタ８３−２に出力することで、センサ出力ｙ”を積分し、メモリ８４−２に出力し、記憶させる。
【００９２】
ＤＣ成分除去器８５−２は、メモリ８４−２により読み出されたデータからＤＣ成分を除去し、カメラ動き量のうち成分ｙ’として出力する。
【００９３】
減算器８１は、センサの出力ｚ”から重力の加速度ｇを減算し、加算器８２−３に出力する。加算器８２−３は、減算器８１からの入力に、レジスタ８３−３が保持している過去の値とを加算し、レジスタ８３−３に出力することで、データ（ｚ”−ｇ）を積分させ、メモリ８４−３に供給し、記憶させる。メモリ８４−３に記憶されたデータは、ＤＣ成分除去器８５ー３でＤＣ成分を除去された後、カメラ動き量のうち、成分ｚ’として出力される。
【００９４】
センサからの動揺データのうち、角速度（ｒｏｌｌ’，ｐｉｔｃｈ’，ｙａｗ’）は、それぞれ、そのままカメラ動き量のうちの成分（ｒｏｌｌ’，ｐｉｔｃｈ’，ｙａｗ’）として出力される。
【００９５】
次に、図１５のフローチャートを参照して、図１４のカメラ動き量計算装置２４の動作について説明する。ステップＳ６ｌにおいて、センサからの動揺データｒｏｌｌ’，ｐｉｔｃｈ’，ｙａｗ’が入力されると、これらのデータはそのまま関係係数学習装置２５に出力される。
【００９６】
次に、ステップＳ６２において、カメラ動き推定量と物理量（速度）が一致するように、並進運動の３成分に関し、次式に従って、積分処理が実行される。
【００９７】
ｘ’＝Σｘ”                        （１６）
ｙ’＝Σｙ”                        （１７）
ｚ’＝Σ（ｚ”−ｇ）                （１８）
すなわち、加算器８２−１とレジスタ８３−１は、共働してセンサ出力ｘ”を積分し、メモリ８４−１に出力し、記憶させる。同様に、加算器８２−２とレジスタ８３−２は、共働してセンサ出力ｙ”を積分し、メモリ８４−２に出力し、記憶させる。さらに、加算器８２−３とレジスタ８３−３は、減算器８１より入力された値（ｚ”−ｇ）を積分し、メモリ８４−３に供給し、記憶させる。
【００９８】
ステップＳ６３においては、ステップＳ６３で得られた積分出力から直流成分を除去する処理が実行される。すなわち、ＤＣ成分除去器８５−１〜８５−３は、それぞれメモリ８４−１〜８４‐３に記憶されたデータから、直流成分を除去し、カメラ動き量の成分ｘ’，ｙ’，ｚ’として出力する。
【００９９】
カメラ動き量計算装置２４により計算されたカメラ動き量（ｘ’，ｙ’，ｚ’，ｒｏｌｌ’，ｐｉｔｃｈ’，ｙａｗ’）は、関係係数学習装置２５に供給される。
【０１００】
図４に戻って、ステップＳ４におけるカメラ動き量計算処理が終了したとき、次に、ステップＳ５に進み、複数個のカメラ動き推定量と１つのカメラ動き量の対応の学習処理が、関係係数学習装置２５において実行される。この関係係数学習装置２５の処理の詳細は、図１６のフローチャートに示されている。
【０１０１】
すなわち、最初にステップＳ７１において、カメラ動き推定量計算装置２３により計算されたカメラ動き推定量（ｖｘ，ｖｙ，ｖｚ，ｗｘ，ｗｙ，ｗｚ）には、動きベクトル検出の誤差、小物体動きの混入、仮定した３次元空間の対称性の不成立などに起因して、すべての対称点の組で正確な値が求められるわけではない。また、カメラの焦点距離ｆ、被写体の奥行きｒ、カメラ動き推定量の単位（ピクセル／フレーム周期）とカメラ動き量の単位（ｍ／ｓ，ｒａｄ／ｓ）との間の変換係数は不定である。そこで、１つのカメラ動き量を、複数個のカメラ動き推定量の線形１次結合で表し、その係数を求めるようにする。
【０１０２】
例えば、カメラ動き量のうち、成分ｘ’とｎ個のカメラ動き推定量ｖｘ１〜ｖｘｎとを線形一次結合を用いた次式により関係付けることができる。
【０１０３】
ｘ’＝ｗｘ０＋ｗｘ１ｖｘ１＋ｗｘ２ｖｘ２＋・・・＋ｗｘｎｖｘｎ  （１９）
したがって、図１７にカメラ動き推定量の各成分の対応関係を模式的に示してあるように、１つのシーンの初めから終わりまでの画像が、ｍ＋１フレームにより構成されているとき、カメラ動き推定量は、ｍ組計算されるので、次式が成立する。
【０１０４】
【数８】
0004449217.tif 000009
【０１０５】
以上においては、カメラ動き量のうち、成分ｘ’のみについて説明したが、他の成分ｙ’，ｚ’，ｒｏｌｌ’，ｐｉｔｃｈ’，ｙａｗ’についても同様である。
【０１０６】
次に、ステップＳ７２において、ステップＳ７１で生成した式を最小二乗法により解くことで、線形１次結合の係数ｗｘ０〜ｗｘｎを、カメラ動き量の成分毎に求める処理が実行される。すなわち、例えば、カメラ動き量の成分ｘ’についての係数ｗｘ０〜ｗｘｎを求める場合、式（２０）の左辺とカメラ動き量成分ｘ’の誤差が最小となるように、最小二乗法により線形１次結合の係数ｗｘ０〜ｗｘｎが求められる。
【０１０７】
同様のことが、他のカメラ動き量の成分ｙ’，ｚ’，ｒｏｌｌ’，ｐｉｔｃｈ’，ｙａｗ’についても行われる。
【０１０８】
以上のようにして、関係係数学習装置２５により学習された画像動揺データ関係係数は、図１の動揺データ生成装置２に供給される。
【０１０９】
図１８は、動揺データ生成装置２の構成例を示している。動きベクトル計算装置１０１は、入力された画像（画像提示装置３に供給される画像）から動きベクトルを検出し、動き中心計算装置１０２とカメラ動き推定量計算装置１０３に出力している。動き中心計算装置１０２は、入力された動きベクトルに基づいて、入力画像の動き中心座標を検出し、カメラ動き推定量計算装置１０３に出力する。カメラ動き推定量計算装置１０３は、動きベクトル計算装置１０１より入力され、動きベクトルと動き中心計算装置１０２より供給される動き中心座標に基づいてカメラ動き推定量を演算し、カメラ動き予測量計算装置１０４に出力している。この動きベクトル計算装置１０１、動き中心計算装置１０２及びカメラ動き推定量計算装置１０３は、図３において説明した動きベクトル計算装置２１、動き中心計算装置２２及びカメラ動き推定量計算装置２３と同様の構成と機能を有するものである。
【０１１０】
カメラ動き予測量計算装置１０４は、画像動揺データ関係学習装置１より供給される画像動揺データ関係係数と、カメラ動き推定量計算装置１０３より供給されるカメラ動き推定量との線形１次結合を演算することで、１フレーム周期においてビデオカメラが動いたと思われる情報を表すカメラ動き予測量を演算し、動揺データ計算装置１０５に出力する。動揺データ計算装置１０５は、入力されたカメラ動き予測量から、駆動制御装置５、座席６を平行移動又は回転移動させるときの動揺データと物理量が一致するような動揺データを計算し、出力する。
【０１１１】
次に、図１９のフローチャートを参照して、図１８に示す動揺データ生成装置２の動作について説明する。ステップＳ８１において、動きベクトル計算装置１０１により動きベクトル計算処理が行われ、ステップＳ８２において、動き中心計算装置１０２により、動きの中心座標計算処理が行われる。ステップＳ８３において、カメラ動き推定量計算装置１０３より、カメラの動き推定量計算処理が行われる。以上のステップＳ８１〜ステップＳ８３の処理は、図４のステップＳ１〜ステップＳ３の処理と同様の処理であるので、ここでは、その説明は省略する。
【０１１２】
次にステップＳ８４において、カメラ動き予測量計算装置１０４により、カメラ動き予測量の計算処理が実行される。
【０１１３】
カメラ動き予測量計算装置１０４は、例えば図２０に示すように構成されている。
【０１１４】
このカメラ動き予測量計算装置１０４は、カメラ動き推定量計算装置１０３より供給されたカメラ動き推定量と、画像動揺データ関係学習装置１より供給された画像動揺データ関係係数とを乗算し、加算器１２２に出力する乗算器１２１と、乗算器１２１より入力されたデータと、レジスタ１２３に保持されている過去のデータとを加算し、レジスタ１２３に出力することで、入力されたデータを積分する加算器１２２と、レジスタ１２３より供給されたデータを記憶し、カメラ動き予測量として出力するメモリ１２４を備える。
【０１１５】
そして、このカメラ動き予測量計算装置１０４では、カメラ動き推定量と画像動揺データ関係係数とが乗算され、加算される処理が実行される。
【０１１６】
すなわち、乗算器１２１は、カメラ動き推定量計算装置１０３より供給されるカメラ動き推定量と、画像動揺データ関係学習装置１より供給される画像動揺データ関係係数とを乗算し、加算器１２２に出力する。加算器１２２は、乗算器１２１より入力されたデータに、過去にレジスタ１２３に保持されていたデータを加算し、レジスタ１２３に供給し、再び保存させることで、乗算器１２１より供給されたデータを積分する。これにより、線形１次結合が演算される。レジスタ１２３より出力されたデータは、メモリ１２４に一旦保持された後、カメラ動き予測量として出力される。
【０１１７】
例えば、カメラ動き推定量計算装置１０３で計算したカメラ動き推定量が、２つのフレーム間の時間ｉにおいて、ｖｘｉ１，ｖｘｉ２，・・・，ｖｘｉｎであるとする。線形１次結合の係数ｗｘ０，ｗｘ１，ｗｘ２，・・・，ｗｘｎは、動きベクトル検出の誤差、小物体動きの混入、仮定した３次元空間の対称性の不成立、カメラの焦点距離ｆ、被写体の奥行きｒ、カメラ動き推定量の単位と動きカメラ推定量の単位との間の変換係数をすべて考慮した値となっている。
【０１１８】
したがって、２つのフレーム間の時間ｉで複数個求められるカメラ動き推定量の線形１次結合を次式で示すように演算することにより、カメラ動き予測量Ｘ’ｉが得られる。
【０１１９】
Ｘ’ｉ＝ｗｘ０＋ｗｘ１ｖｘｉ１＋ｗｘ２ｖｘｉ２＋・・・＋ｗｘｎｖｘｉｎ
（２１）
以上の計算をシーンの画像の始めから終わりまで行うことで、各時間でのカメラ動き予測量Ｘ’が求められる。
【０１２０】
同様な処理により、カメラ動き予測量の他の成分Ｙ’，Ｚ’，ＲＯＬＬ’，ＰＩＴＣＨ’，ＹＡＷ’が計算される。
【０１２１】
そして、ステップＳ８４でカメラ動き予測量の計算処理を終了するとステップＳ８５に進む。
【０１２２】
ステップＳ８５では、動揺データ計算装置１０５により、カメラ動き予測量から動揺データを計算する処理が実行される。
【０１２３】
さらに、次のステップＳ８６では、動揺データ計算装置１０５により、全フレームについてステップＳ８４及びステップＳ８５の処理を行った否かが判定される。未処理のフレームがある場合にはステップＳ８４に戻って未処理のフレームについてカメラ動き予測量の計算処理を行う。そして、ステップＳ８４〜ステップＳ８６の処理を１フレーム毎に繰り返し、全フレームについて処理を行うと、動揺データの生成処理を終了する。
【０１２４】
ここで、動揺データについて説明する。
【０１２５】
以上のようにして計算されたカメラ動き予測量に基づいて、動揺データ計算装置１０５により、動揺データが生成され、駆動制御装置５は、その動揺データに基づいて座席６を駆動するのであるが、劇場などの特定の場所に固定された座席６を通じて、動揺データを提示する制約から、座席６を実際のように際限なく回転したり、並進させることはできない。
【０１２６】
そこで、この臨場感体験装置１０における動揺データは、実際の角度あるいは位置の変化をそのまま与えるためのデータとしての実動揺データと、回転角速度又は並進加速度の変化に応じて、それぞれパルス的又はステップ的に角度変化を与える代替動揺データとから構成される。
【０１２７】
自動車を路面に沿って走行させる場合の実動揺データと代替動揺データは、例えば次の表１に示すように構成される。
【０１２８】
【表１】
0004449217.tif 000010
【０１２９】
表１：実動揺データと代替動揺データを示す表
実動揺データとしては、路面の前後の傾き、路面の左右の傾き、前後方向の振動、左右方向の振動及び上下方向の振動が挙げられる。路面の前後の傾きは、動揺成分ｐｉｔｃｈで表現され、路面の左右の傾きは、動揺成分ｒｏｌｌで表現される。前後方向の振動、左右方向の振動、又は、上下方向の振動は、それぞれ動揺成分ｘ，ｙ，ｚで表現される。
【０１３０】
代替動揺データとしては、加減速による慣性力、カーブ時の遠心力及びカーブ時の車首振りが挙げられる。加減速による慣性力は、動揺成分ｘの二重微分値ｘ”で表現され、カーブ時の遠心力は、動揺成分ｘの微分値ｘ’と動揺成分ｙａｗの微分値ｙａｗ’の積ｘ’・ｙａｗ’で表現される。カーブ時の車首振りは、動揺成分ｙａｗの微分値ｙａｗ’で表現される。
【０１３１】
加減速による慣性力は、動揺成分ｐｉｔｃｈに対応し、カーブ時の遠心力は、動揺成分ｒｏｌｌに対応し、カーブ時の車首振りは、動揺成分ｙａｗに対応する。
【０１３２】
動揺成分ｐｉｔｃｈ，ｒｏｌ１，ｙａｗ，ｘ，ｙ，ｚの、それぞれ表１に示す実動揺成分ｐｉｔｃｈｒ，ｒｏｌ１ｒ，ｙａｗｒ，ｘｒ，ｙｒ，ｚｒは、それぞれ以下のように計算される。
【０１３３】
実動揺成分ｐｉｔｃｈｒは、
ｐｉｔｃｈｒ＝ＬＰＦ（ΣＰＩＴＣＨ’）            （２２）
すなわち、カメラ動き予測量ＰＩＴＣＨ’の積分ΣＰＩＴＣＨ’から低域成分ＬＰＦ（ΣＰＩＴＣＨ’）を求める計算により得られる。
【０１３４】
また、実動揺成分ｒｏｌｌｒは、
ｒｏｌｌｒ＝ＬＰＦ（ΣＲＯＬＬ’）              （２３）
すなわち、カメラ動き予測量ＲＯＬＬ’の積分ΣＲＯＬＬ’から低域成分ＬＰＦ（ΣＲＯＬＬ’）を求める計算により得られる。
【０１３５】
また、実動揺成分ｘｒは、
ｘｒ＝ＨＰＦ（ΣＸ’）                    （２４）
すなわち、カメラ動き予測量Ｘ’の積分ΣＸ’から高域成分ＨＰＦ（ΣＸ’）を求める計算により得られる。
【０１３６】
また、実動揺成分ｙｒは、
ｙｒ＝ＨＰＦ（ΣＹ’）                    （２５）
すなわち、カメラ動き予測量Ｙ’の積分ΣＹ’から高域成分ＨＰＦ（ΣＹ’）を求める計算により得られる。
【０１３７】
さらに、実動揺成分ｚｒは、
ｚｒ＝ＨＰＦ（ΣＺ’）                    （２６）
すなわち、カメラ動き予測量Ｚ’の積分ΣＺ’から高域成分ＨＰＦ（ΣＺ’）を抽出することにより生成される。
【０１３８】
また、表１に示した代替動揺成分ｐｉｔｃｈｓ，ｒｏｌｌｓ，ｙａｗｓは、それぞれ次のように計算される。
【０１３９】
代替動揺成分ｐｉｔｃｈｓは、
ｐｉｔｃｈｓ＝ＬＰＦ（△Ｘ’）                    （２７）
すなわち、カメラ動き予測量Ｘ’の差分△Ｘ’から低域成分ＬＰＦ（△Ｘ’）を求める計算により得られる。
【０１４０】
また、代替動揺成分ｒｏｌｌｓは、
ｒｏｌｌｓ＝ＬＰＦ（Ｘ’）ＬＰＦ（ＹＡＷ’）   （２８）
すなわち、カメラ動き予測量Ｘ’の低域成分ＬＰＦ（Ｘ’）とカメラ動き予測量ＹＡＷ’の低域成分ＬＰＦ（ＹＡＷ’）の積を求める計算により得られる。
【０１４１】
さらに、代替動揺成分ｙａｗｓは、
ｙａｗｓ＝ＬＰＦ（ＹＡＷ’）                 （２９）
すなわち、カメラ動き予測量ＹＡＷ’の低域成分ＬＰＦ（ＹＡＷ’）を求める計算により得られる。
【０１４２】
そして、本実施の形態においては、動揺データは、実動揺データと代替動揺データの和を取って、次のように演算される。
【０１４３】
ｐｉｔｃｈ＝ｐｉｔｃｈｒ＋ｐｉｔｃｈｓ          （３０）
ｒｏｌｌ＝ｒｏｌｌｒ＋ｒｏｌｌｓ              （３１）
ｙａｗ＝ｙａｗｓ                            （３２）
ｘ＝ｘｒ                                （３３）
ｙ＝ｙｒ                                （３４）
ｚ＝ｚｒ                                （３５）
以上のような式に基づいた演算を行うために、動揺データ計算装置１０５は、例えば図２１に示すように構成される。カメラ動き予測量のうち、ＰＩＴＣＨ’は、加算器１３１−１とレジスタ１３２−１により積分され、メモリ１３４−１に記憶される。メモリ１３４−１に記憶されたデータのうち、低域成分がローパスフィルタ（ＬＰＦ）１３５−１により抽出される。すなわち、これにより、式（２２）の演算を行い、実動揺成分ｐｉｔｃｈｒを生成する。このようにして生成された実動揺成分ｐｉｔｃｈｒは、加算器１３６に供給される。
【０１４４】
加算器１３６にはまた、式（２７）に示した代替動揺データｐｉｔｃｈｓが供給されている。すなわち、減算器１３３は、カメラ動き予測量のうちの成分Ｘ’から、レジスタ１３２−２に保持されている値を減算し、その差分をメモリ１３４−２に供給し、記憶させる。ローパスフィルタ（ＬＰＦ）ｌ３５−２は、メモリ１３４−２に記憶された差分データの低域成分を抽出し、代替動揺データｐｉｔｃｈｓとして、加算器１３６に出力する。
【０１４５】
加算器１３６は、ローパスフィルタ（ＬＰＦ）１３５−２より供給された代替動揺成分ｐｉｔｃｈｓをローパスフィルタ（ＬＰＦ）１３５−１より供給された実動揺データ成分ｐｉｔｃｈｒと加算することにより、式（３０）の演算を行い、その演算結果をｐｉｔｃｈとして出力する。
【０１４６】
カメラ動き予測量のうち、成分ＲＯＬＬ’は、加算器１３１−２とレジスタ１３２−３により積分され、メモリ１３４−３に供給され、記憶される。ローパスフィルタ（ＬＰＦ）１３５−３は、メモリ１３４−３に記憶されたデータの低域成分を抽出し、加算器１３８に出力する。すなわち、これにより、式（２３）の演算が行われる。
【０１４７】
加算器１３８にはまた、式（２８）で示す代替動揺成分ｒｏｌｌｓが供給されている。すなわち、ローパスフィルタ（ＬＰＦ）１３５−４は、成分Ｘ’の低域成分を抽出し、乗算器１３７に出力している。また、ローパスフィルタ１３５−５は、成分ＹＡＷ’の低域成分を抽出し、乗算器１３７に出力している。乗算器１３７は、ローパスフィルタ１３５−４の出力と、ローパスフィルタ（ＬＰＦ）１３５−５の出力を乗算することで、式（２８）に示す演算を行い、その演算結果を加算器１−３８に出力している。加算器１３８は、ローパスフィルタ（ＬＰＦ）１３５−３の出力と乗算器１３７の出力を加算することにより、式（３１）の演算を行い、その演算結果をｒｏｌｌとして出力する。
【０１４８】
ローパスフィルタ（ＬＰＦ）１３５−６は、カメラ動き予測量の成分ＹＡＷ’の低域成分を抽出することにより式（２９）で示す演算を行い、その演算結果を式（３２）に従ってｙａｗとして出力する。
【０１４９】
カメラ動き予測量のうち、成分Ｘ’は、加算器１３１−３とレジスタ１３２−４により積分され、メモリ１３４−４に供給され、記憶される。ハイパスフィルタ（ＨＰＦ）１３５−７は、メモリ１３４−４に記憶されたデータから高域成分を抽出することにより、式（２４）の演算を行い、その演算結果を式（３３）に従ってｘとして出力する。
【０１５０】
カメラ動き予測量の成分Ｙ’は、加算器１３１−４とレジスタ１３２−５により積分され、メモリ１３４−５に供給され、記憶される。ハイパスフィルタ（ＨＰＦ）１３５−８は、メモリ１３４−５に記憶されたデータの高域成分を抽出することにより、式（２５）の演算の演算を行い、その演算結果を式（３４）に従ってｙとして出力する。
【０１５１】
カメラ動き予測量のうち、成分Ｚ’は、加算器１３１−５とレジスタ１３２−６により積分され、メモリ１３４−６に供給され、記憶される。ハイパスフィルタ（ＨＰＦ）１３５−９は、メモリ１３４−６に記憶されたデータの高域成分を抽出することで、式（２６）の演算を行い、その演算結果を式（３５）に従ってｚとして出力される。
【０１５２】
次に、図２２のフローチャートを参照して、動揺データ計算装置１０５の動作について説明する。ステップＳ１１１において、実動揺成分ｐｉｔｃｈｒ，ｒｏｌｌｒ，ｘｒ，ｙｒ，ｚｒが計算される。すなわち、カメラ動き予測量のうち、成分ＰＩＴＣＨ’が加算器１３１−１とレジスタ１３２−１により積分され、メモリ１３４−１に記憶される。メモリ１３４−１に記憶されたデータは、ローパスフィルタ（ＬＰＦ）１３５−１により、その低域成分が抽出され、成分ｐｉｔｃｈｒとして加算器１３６に供給される。
【０１５３】
カメラ動き予測量ＲＯＬＬ’は、加算器１３１−２とレジスタ１３２−３により積分され、メモリ１３４−３に記憶される。ローパスフィルタ（ＬＰＦ）１３５−３は、メモリ１３４−３に記憶されたデータの低域成分を抽出し、成分ｒｏｌｌｒとして、加算器１３８に出力する。
【０１５４】
カメラ動き予測量の成分Ｘ’は、加算器１３１−３とレジスタ１３２−４により積分され、メモリ１３４−４に記憶される。ハイパスフィルタ（ＨＰＦ）１３５−７は、メモリ１３４−４に記憶されたデータの高域成分を抽出し、成分ｘｒとする。
【０１５５】
カメラ動き予測量のうち、成分Ｙ’は、加算器１３１−４とレジスタ１３２−５により積分され、メモリ１３４−５に記憶される。ハイパスフィルタ（ＨＰＦ）１３５−８は、メモリ１３４−５に記憶されたデータのうち、高域成分を抽出し、成分ｙｒとする。
【０１５６】
カメラ動き予測量のうち、成分Ｚ’は、加算器１３１−５とレジスタ１３２−６により積分され、メモリ１３４−６に記憶される。ハイパスフィルタ（ＨＰＦ）１３５−９は、メモリ１３４−６に記憶されたデータの高域成分を抽出し、成分ｚｒとする。
【０１５７】
次に、ステップＳ１１２において、代替動揺成分ｐｉｔｃｈｓ，ｒｏｌｌｓ，ｙａｗｓが計算される。
【０１５８】
すなわち、減算器１３３は、現在のカメラ動き予測量のうちの成分Ｘ’から、レジスタ１３２−２より供給される過去の成分を減算し、メモリ１３４−２に供給し、記憶させる。ローパスフィルタ（ＬＰＦ）１３５−２は、メモリ１３４−２に記憶されているデータの低域成分を代替動揺成分ｐｉｔｃｈｓとして、加算器１３６に出力する。
【０１５９】
ローパスフィルタ（ＬＰＦ）１３５−４は、カメラ動き予測量のうち、成分Ｘ’の低域成分を抽出し、ローパスフィルタ（ＬＰＦ）１３５−５は、カメラ動き予測量のうち、成分ＹＡＷ’の低域成分を抽出する。乗算器１３７は、ローパスフィルタ（ＬＰＦ）１３５−４の出力とローパスフィルタ（ＬＰＦ）１３５−５の出力を乗算し、成分ｒｏｌｌｓを生成し、加算器１３８に出力する。
【０１６０】
ローパスフィルタ（ＬＰＦ）１３５−６は、カメラ動き予測量のうち、成分ＹＡＷ’の低域成分を抽出し、成分ｙａｗｓとする。
【０１６１】
さらに、ステップＳ１１３において、ステップＳ１１１で演算された実動揺成分データと、ステップＳ１１２で生成された代替動揺成分データの和が計算される。すなわち、加算器１３６は、ローパスフィルタ（ＬＰＦ）１３５−１より供給される実動揺データ成分ｐｉｔｃｈｒと、ローパスフィルタ（ＬＰＦ）１３５−２より供給される代替動揺成分データｐｉｔｃｈｓとを加算し、動揺データの成分ｐｉｔｃｈとして出力する。
【０１６２】
加算器１３８は、ローパスフィルタ（ＬＰＦ）１３５−３より供給される実動揺成分ｒｏｌｌｒと、乗算器１３７より供給される代替動揺成分データｒｏｌｌｓとを加算し、動揺データの成分ｒｏｌｌとして出力する。
【０１６３】
ローパスフィルタ（ＬＰＦ）１３５−６は、抽出した代替動揺成分データｙａｗｓを、そのまま動揺データの成分ｙａｗとして出力する。ハイパスフィルタ（ＬＰＦ）１３５−７〜１３５−９は、生成した実動揺成分ｘｒ，ｙｒ，ｚｒを、それぞれ動揺データの成分ｘ，ｙ，ｚとして出力する。
【０１６４】
以上のようにして、動揺データ生成装置２により生成された動揺データは、駆動制御装置５に供給される。また、動揺データ生成装置２が、動揺データを生成する際に用いた画像が画像提示装置３に供給される。画像提示装置３と駆動制御装置５は、同期制御装置７により制御され、相互に同期して動作する。画像提示装置３は、提供された画像をスクリーン４に表示させる。また、駆動制御装置５は、供給された動揺データに基づいて、座席６を駆動する。
【０１６５】
ここで、駆動制御装置５により駆動される座席６の具体的な構成例を図２３及び図２４に示す。図２３は、座席６の側面図であり、図２４は、座席６を上面から見た図である。
【０１６６】
座席６は、アクチュエータとして６本のピストン１４１−１〜１４１−６を備えており、これらのピストン１４１−１〜１４１−６により台座１４２が支えられている。台座１４２には、椅子１４３が固定されており、この椅子１４３の上に観客１４４が座るようになされている。ピストン１４１−１〜１４１−６は、それぞれ中心軸に沿って伸縮運動ができるようになされている。ピストン１４１−１〜１４１−６が、動揺データ生成装置２により生成された動揺データに従って駆動制御装置５により駆動され、伸縮運動をすることによって、台座１４２が動揺し、さらに台座１４２に固定されている椅子１４３が動揺する。
【０１６７】
これにより、座席６に座ってスクリーン４に表示されている画像を観察している観察者は、あたかもスクリーン４に表示されている画像を撮影した乗り物に乗っているような臨場感を体験することができる。
【０１６８】
なお、画像動揺データ関係学習装置１において画像動揺データ関係係数を得るための学習処理や、動揺データ生成装置２においてカメラ動き推定量を求め動揺データを生成するための各種演算処理は、例えば図２５に示すように、バス２１１に接続されたＣＰＵ(Central Processing Unit)２１２、メモリ２１３、入力インターフェース２１４、ユーザインターフェース２１５や出力インターフェース２１６などにより構成される一般的なコンピュータシステム２１０により実行することができる。上記処理を実行するコンピュータプログラムは、記録媒体に記録されてユーザに提供される。上記記録媒体には、磁気ディスク、ＣＤ−ＲＯＭなどの情報記録媒体の他、インターネット、デジタル衛星などのネットワークによる伝送媒体も含まれる。
【０１６９】
以上の如く、本発明によれば、画像を撮像したビデオカメラのカメラ動き推定量を演算するとともに、センサにより取得した動揺データから、ビデオカメラの動いた量を表すカメラ動き量を演算し、カメラ動き推定量とカメラ動き量との対応を、線形１次結合の係数として学習するようにしたので、既存の画像資源を利用して、その画像を撮像した乗り物にあたかも乗っているような臨場感を体験させることが可能な動揺データを生成することが可能となる。また、カメラ動き推定量を演算し、カメラ動き推定量と、予め記憶されている係数を線形１次結合することで、カメラ動き予測量を演算し、演算されたカメラ動き予測量に基づいて、座席を駆動するとき用いられる動揺データを演算するようにしたので、簡単かつ確実に、既存の画像に基づいて、動揺データを生成することが可能となる。
【図面の簡単な説明】
【図１】  本発明を適用した臨場感体験装置の構成例を示す図である。
【図２】  動揺の成分を説明する図である。
【図３】  上記臨場感体験装置における画像動揺データ関係学習装置の構成を示すブロック図である。
【図４】  上記画像動揺データ関係学習装置の動作を説明するフローチャートである。
【図５】  代表点を説明する図である。
【図６】  上記画像動揺データ関係学習装置における動き中心計算装置の構成例を示すブロック図である。
【図７】  上記動き中心計算装置の動作を説明するフローチャートである。
【図８】  代表点における評価値を説明する図である。
【図９】  代表点における評価値を説明する図である。
【図１０】  上記画像動揺データ関係学習装置におけるカメラ動き推定量計算装置の構成を示すブロック図である。
【図１１】  上記カメラ動き推定量計算装置の動作を説明するフローチャートである。
【図１２】  ３次元空間と２次元画像の幾何学的関係を説明する図である。
【図１３】  動き中心に関して対称の位置にある代表点の組を説明する図である。
【図１４】  上記画像動揺データ関係学習装置におけるカメラ動き量計算装置の構成を示すブロック図である。
【図１５】  上記カメラ動き量計算装置の動作を説明するフローチャートである。
【図１６】  上記カメラ動き推定量とカメラ動き量の対応の学習処理の詳細を説明するフローチャートである。
【図１７】  カメラ動き推定量の各成分の対応関係を模式的に示す図である。
【図１８】  上記臨場感体験装置における動揺データ生成装置の構成を示すブロック図である。
【図１９】  上記動揺データ生成装置の動作を説明するフローチャートである。
【図２０】  上記動揺データ生成装置におけるカメラ動き予測量計算装置の構成を示すブロック図である。
【図２１】  上記動揺データ計算装置の構成を示すブロック図である。
【図２２】  上記動揺データ計算装置の動作を説明するフローチャートである。
【図２３】  上記臨場感体験装置における座席の側面図である。
【図２４】  上記座席の平面図である。
【図２５】  学習処理などを実行するコンピュータシステムの構成を示すブロック図である。
【図１】
0004449217.tif 000011
【図２】
0004449217.tif 000012
【図３】
0004449217.tif 000013
【図４】
0004449217.tif 000014
【図５】
0004449217.tif 000015
【図６】
0004449217.tif 000016
【図７】
0004449217.tif 000017
【図８】
0004449217.tif 000018
【図９】
0004449217.tif 000019
【図１０】
0004449217.tif 000020
【図１１】
0004449217.tif 000021
【図１２】
0004449217.tif 000022
【図１３Ａ】
0004449217.tif 000023
【図１３Ｂ】
0004449217.tif 000024
【図１３Ｃ】
0004449217.tif 000025
【図１３Ｄ】
0004449217.tif 000026
【図１４】
0004449217.tif 000027
【図１５】
0004449217.tif 000028
【図１６】
0004449217.tif 000029
【図１７】
0004449217.tif 000030
【図１８】
0004449217.tif 000031
【図１９】
0004449217.tif 000032
【図２０】
0004449217.tif 000033
【図２１】
0004449217.tif 000034
【図２２】
0004449217.tif 000035
【図２３】
0004449217.tif 000036
【図２４】
0004449217.tif 000037
【図２５】
0004449217.tif 000038