(57)【要約】【課題】画像が撮像されたときの各種の撮像条件を求める。【解決手段】カメラを移動しながら撮像が行われたときの、カメラにおいて画像データが撮像される仮想的なスクリーンである仮想スクリーン上における画像データに表示された被写体の移動距離△ｘが求められ、カメラにおいて画像データが撮像されたときの視点から仮想スクリーンまでの視点／仮想スクリーン間距離Ｌと、移動距離△ｘとを用いて、カメラと注目被写体との間の、カメラの移動方向と垂直な方向に沿っての距離Ｄ、カメラと注目被写体との間の、カメラの移動方向に沿っての距離ｈ、カメラの光軸の偏角φ０、注目被写体が、カメラに対して単位時間あたりに移動する距離△ｄが求められる。【選択図】　　　図５３
2004013222.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置によって撮像された画像データから、その画像データが撮像されたときの撮像条件を推定する画像処理装置であって、
前記撮像装置を移動しながら撮像が行われたときの、前記撮像装置において前記画像データが撮像される仮想的なスクリーンである仮想スクリーン上における前記画像データに表示された被写体の移動距離を求める移動距離演算手段と、
前記撮像装置において前記画像データが撮像されたときの視点から前記仮想スクリーンまでの視点／仮想スクリーン間距離を設定する設定手段と、
前記視点／仮想スクリーン間距離および移動距離を用いて、前記撮像条件を求める撮像条件演算手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記画像データは、前記撮像装置を直線的に移動しながら撮像されたものである
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記移動距離演算手段は、前記画像データに表示された被写体上の画素について、動きベクトルを検出し、その動きベクトルに基づいて、前記移動距離を求める
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記撮像条件演算手段は、前記撮像条件として、前記撮像装置の移動速度、前記撮像装置と被写体との間の、前記撮像装置の移動方向と垂直な方向に沿っての距離、前記撮像装置と被写体との間の、前記撮像装置の移動方向に沿っての距離、または前記撮像装置の光軸の方向を求める
ことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記移動距離演算手段は、前記画像データに表示された被写体上の複数の画素について、前記移動距離を求め、
前記撮像条件演算手段は、前記複数の画素について求められた前記移動距離を用いて、前記撮像条件を求める
ことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
撮像装置によって撮像された画像データから、その画像データが撮像されたときの撮像条件を推定する画像処理方法であって、
前記撮像装置を移動しながら撮像が行われたときの、前記撮像装置において前記画像データが撮像される仮想的なスクリーンである仮想スクリーン上における前記画像データに表示された被写体の移動距離を求める移動距離演算ステップと、
前記撮像装置において前記画像データが撮像されたときの視点から前記仮想スクリーンまでの視点／仮想スクリーン間距離を設定する設定ステップと、
前記視点／仮想スクリーン間距離および移動距離を用いて、前記撮像条件を求める撮像条件演算ステップと
を備えることを特徴とする画像処理方法。
【請求項７】
撮像装置によって撮像された画像データから、その画像データが撮像されたときの撮像条件を推定する画像処理を、コンピュータに行わせるプログラムであって、
前記撮像装置を移動しながら撮像が行われたときの、前記撮像装置において前記画像データが撮像される仮想的なスクリーンである仮想スクリーン上における前記画像データに表示された被写体の移動距離を求める移動距離演算ステップと、
前記撮像装置において前記画像データが撮像されたときの視点から前記仮想スクリーンまでの視点／仮想スクリーン間距離を設定する設定ステップと、
前記視点／仮想スクリーン間距離および移動距離を用いて、前記撮像条件を求める撮像条件演算ステップと
を備えることを特徴とするプログラム。
【請求項８】
撮像装置によって撮像された画像データから、その画像データが撮像されたときの撮像条件を推定する画像処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
前記撮像装置を移動しながら撮像が行われたときの、前記撮像装置において前記画像データが撮像される仮想的なスクリーンである仮想スクリーン上における前記画像データに表示された被写体の移動距離を求める移動距離演算ステップと、
前記撮像装置において前記画像データが撮像されたときの視点から前記仮想スクリーンまでの視点／仮想スクリーン間距離を設定する設定ステップと、
前記視点／仮想スクリーン間距離および移動距離を用いて、前記撮像条件を求める撮像条件演算ステップと
を備えるプログラムが記録されている
ことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置および画像処理方法、並びにプログラムおよび記録媒体に関し、特に、例えば、カメラなどの撮像装置によって撮像された画像データから、その撮像時における撮像装置の光軸の方向などの撮像条件を求めることができるようにする画像処理装置および画像処理方法、並びにプログラムおよび記録媒体に関する。
【０００２】
【従来の技術】
従来の、例えば、ＣＲＴ（Ｃａｔｈｏｄ　Ｒａｙ　Ｔｕｂｅ）や液晶パネル、プロジェクタなどを利用したディスプレイにおいては、例えば、ビデオカメラ（以下、適宜、単に、カメラともいう）で撮像された画像が表示されるが、その画像は、図１に示すように、カメラの位置を視点として見たものにすぎなかった。
【０００３】
従って、ユーザが、例えば、頭部を移動して、ディスプレイに表示された画像を見るときの視点を変えても、ディスプレイに表示される画像は、カメラの位置（以下、適宜、カメラの視点ともいう）から見た画像のままであり、ユーザの視点の変化に応じて、ディスプレイに表示される画像が変化することはなかった。
【０００４】
【発明が解決しようとする課題】
そこで、ディスプレイに表示される画像が、ユーザの視点に応じて変化する画像の表示方法として、例えば、ｚｅｂｒａ　ｉｍａｇｉｎｇと呼ばれる方法がある。ここで、ｚｅｂｒａ　ｉｍａｇｉｎｇについては、例えば、ｚｅｂｒａ　ｉｍａｇｉｎｇ社のｗｅｂページであるｈｔｔｐ：／／ｗｗｗ．ｚｅｂｒａｉｍａｇｉｎｇ．ｃｏｍ／に開示されている。
【０００５】
しかしながら、ｚｅｂｒａ　ｉｍａｇｉｎｇは、ホログラフィを利用した方法であり、表示される画像がホログラムであるため、その作成に多大の演算量と時間を要する。
【０００６】
また、ディスプレイに表示される画像が、ユーザの視点に応じて変化する画像の他の表示方法としては、例えば、イリノイ大学のＣＡＶＥ（洞窟の意）方式などに代表される、ＩＰＴ（Ｉｍｍｅｒｓｉｖｅ　Ｐｒｏｊｅｃｔｉｏｎ　Ｔｅｃｈｎｏｌｏｇｙ）（没入型投射技術）またはＩＰＤ（Ｉｍｍｅｒｓｉｖｅ　Ｐｒｏｊｅｃｔｉｏｎ　Ｄｉｓｐｌａｙ）（没入型投射ディスプレイ）を用いたＶＲ（Ｖｉｒｔｕａｌ　Ｒｅａｌｉｔｙ）システムがある。ここで、ＣＡＶＥ方式については、例えば、ＥＶＬ（Ｅｌｅｃｔｒｏｎｉｃ　Ｖｉｓｕａｌｉｚａｔｉｏｎ　Ｌａｂｏｒａｔｏｒｙ）のｗｅｂページであるｈｔｔｐ：／／ｗｗｗ．ｅｖｌ．ｕｉｃ．ｅｄｕ／ｅｖｌ／ｖｒ／に開示されている。
【０００７】
しかしながら、かかるＶＲシステムでは、対象とする画像がＣＧ（Ｃｏｍｐｕｔｅｒ　Ｇｒａｐｈｉｃｓ）であり、ビデオカメラで撮像された、いわゆる実写の画像を対象とすることは困難である。
【０００８】
そこで、後述する、本件出願人の提案する手法によれば、実写の画像であっても、容易に、ユーザの視点に応じて変化させることができる。
【０００９】
しかしながら、後述する手法においては、画像が撮像されたときの各種の撮像条件が必要となる。
【００１０】
本発明は、このような状況に鑑みてなされたものであり、画像が撮像されたときの各種の撮像条件を求めることができるようにするものである。
【００１１】
【課題を解決するための手段】
本発明の画像処理装置は、撮像装置を移動しながら撮像が行われたときの、撮像装置において画像データが撮像される仮想的なスクリーンである仮想スクリーン上における画像データに表示された被写体の移動距離を求める移動距離演算手段と、撮像装置において画像データが撮像されたときの視点から仮想スクリーンまでの視点／仮想スクリーン間距離を設定する設定手段と、視点／仮想スクリーン間距離および移動距離を用いて、撮像条件を求める撮像条件演算手段とを備えることを特徴とする。
【００１２】
本発明の画像処理方法は、撮像装置を移動しながら撮像が行われたときの、撮像装置において画像データが撮像される仮想的なスクリーンである仮想スクリーン上における画像データに表示された被写体の移動距離を求める移動距離演算ステップと、撮像装置において画像データが撮像されたときの視点から仮想スクリーンまでの視点／仮想スクリーン間距離を設定する設定ステップと、視点／仮想スクリーン間距離および移動距離を用いて、撮像条件を求める撮像条件演算ステップとを備えることを特徴とする。
【００１３】
本発明のプログラムは、撮像装置を移動しながら撮像が行われたときの、撮像装置において画像データが撮像される仮想的なスクリーンである仮想スクリーン上における画像データに表示された被写体の移動距離を求める移動距離演算ステップと、撮像装置において画像データが撮像されたときの視点から仮想スクリーンまでの視点／仮想スクリーン間距離を設定する設定ステップと、視点／仮想スクリーン間距離および移動距離を用いて、撮像条件を求める撮像条件演算ステップとを備えることを特徴とする。
【００１４】
本発明の記録媒体は、撮像装置を移動しながら撮像が行われたときの、撮像装置において画像データが撮像される仮想的なスクリーンである仮想スクリーン上における画像データに表示された被写体の移動距離を求める移動距離演算ステップと、撮像装置において画像データが撮像されたときの視点から仮想スクリーンまでの視点／仮想スクリーン間距離を設定する設定ステップと、視点／仮想スクリーン間距離および移動距離を用いて、撮像条件を求める撮像条件演算ステップとを備えるプログラムが記録されていることを特徴とする。
【００１５】
本発明の画像処理装置および画像処理方法、並びにプログラムおよび記録媒体においては、撮像装置を移動しながら撮像が行われたときの、撮像装置において画像データが撮像される仮想的なスクリーンである仮想スクリーン上における画像データに表示された被写体の移動距離が求められ、撮像装置において画像データが撮像されたときの視点から仮想スクリーンまでの視点／仮想スクリーン間距離と、移動距離とを用いて、撮像条件が求められる。
【００１６】
【発明の実施の形態】
図２は、本発明が適用される画像表示装置の一実施の形態の構成例を示している。
【００１７】
コンピュータ１は、例えば、ワークステーションであり、画像データベース２に記憶された原画像データを、後述する中間データに変換し、中間データベース３に記憶させる。また、コンピュータ１は、位置センサとしてのレシーバ４およびトランシーバ５を制御し、レシーバ４の出力に基づいて、ユーザの位置（さらには、必要に応じて姿勢）を検出する。さらに、コンピュータ１は、ユーザの位置を、ユーザの視点の位置として設定し、中間データベース３に記憶された中間データを、そのユーザの視点から見た画像データ（以下、適宜、提示用画像データという）に変換する。そして、コンピュータ１は、提示用画像データを、ディスプレイ６に供給して表示させる。
【００１８】
画像データベース２は、後述するように、カメラ等の撮像装置で撮像された実写の画像データとしての原画像データを記憶している。中間データベース３は、コンピュータ１から供給される、原画像データを変換した中間データを記憶する。
【００１９】
レシーバ４は、ユーザに装着されており、トランスミッタ５が発生する磁界を検知し、その磁界の強度を、コンピュータ１に供給する。トランスミッタ５は、コンピュータ１の制御にしたがい、磁界を発生する。即ち、図２の実施の形態では、レシーバ４およびトランスミッタ５は、位置センサとしての磁界センサを構成しており、レシーバ４が、トランスミッタが発生する磁界の強度を計測することにより、レシーバ４の位置、ひいては、ユーザの位置が検出されるようになっている。
【００２０】
ここで、レシーバ４は、例えば、ユーザの頭部に装着される。また、ユーザが、例えば、ネクタイピンを着用していたり、または眼鏡をかけている場合には、レシーバ４は、そのネクタイピンや眼鏡のフレームに装着することができる。
【００２１】
なお、位置センサである磁界センサとしては、例えば、ポヒマス（Ｐｏｌｈｅｍｕｓ）社の３次元位置センサなどを採用することができる。
【００２２】
また、位置センサとしては、磁界センサの他、例えば、機械リンク式の位置計測手段（例えば、３次元ディジタイザなど）を採用することが可能である。さらに、位置センサとしては、例えば、ジョイスティックやトラックボールなどの、ユーザの位置の変化を入力することのできる手段を採用することも可能である。即ち、ここでは、位置センサは、実際のユーザの位置を検知する手段である必要はなく、仮想的なユーザの位置を入力することができる手段であってもよい。
【００２３】
ディスプレイ６は、例えば、ＣＲＴや液晶パネルなどで構成され、コンピュータ１から供給される提示用画像データを表示する。なお、ディスプレイ６としては、ＣＲＴや液晶パネル以外に、例えば、プロジェクタやＨＭＤ（Ｈｅａｄ　Ｍｏｕｎｔ　Ｄｉｓｐｌａｙ）、その他の画像を表示することのできる手段を採用することが可能である。
【００２４】
次に、図３は、図１のコンピュータ１のハードウェア構成例を示している。
【００２５】
コンピュータ１には、後述する一連の処理を実行するプログラムがインストールされている。
【００２６】
プログラムは、コンピュータ１に内蔵されている記録媒体としてのハードディスク１５やＲＯＭ１３に予め記録しておくことができる。
【００２７】
あるいはまた、プログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ），ＭＯ（Ｍａｇｎｅｔｏ　Ｏｐｔｉｃａｌ）ディスク，ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｃ）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体２１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体２１は、いわゆるパッケージソフトウエアとして提供することができる。
【００２８】
なお、プログラムは、上述したようなリムーバブル記録媒体２１からコンピュータ１にインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータ１に無線で転送したり、ＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介して、コンピュータ１に有線で転送し、コンピュータ１では、そのようにして転送されてくるプログラムを、通信部１８で受信し、内蔵するハードディスク１５にインストールすることができる。
【００２９】
コンピュータ１は、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１２を内蔵している。ＣＰＵ１２には、バス１１を介して、入出力インタフェース２０が接続されており、ＣＰＵ１２は、入出力インタフェース２０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部１７が操作等されることにより指令が入力されると、それにしたがって、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）１３に格納されているプログラムを実行する。あるいは、また、ＣＰＵ１２は、ハードディスク１５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部１８で受信されてハードディスク１５にインストールされたプログラム、またはドライブ１９に装着されたリムーバブル記録媒体２１から読み出されてハードディスク１５にインストールされたプログラムを、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）１４にロードして実行する。これにより、ＣＰＵ１２は、後述するフローチャートにしたがった処理、あるいは後述するブロック図の構成により行われる処理を行う。そして、ＣＰＵ１２は、その処理結果を、必要に応じて、例えば、入出力インタフェース２０を介して、スピーカ等で構成される出力部１６から出力、あるいは、通信部１８から送信、さらには、ハードディスク１５に記録等させる。
【００３０】
なお、図３の実施の形態では、入出力インタフェース２０に、画像データベース２、中間データベース３、レシーバ４、トランスミッタ５、およびディスプレイ６が接続されている。そして、ＣＰＵ１２は、画像データベース２に記憶された原画像データを、入出力インタフェース２０を介して読み出し、中間データに変換する。さらに、ＣＰＵ１２は、その中間データを、入出力インタフェース２０を介して、中間データベース３に記憶させる。また、ＣＰＵ１２は、入出力インタフェース２０を介して、トランスミッタ５を制御するとともに、レシーバ４の出力を受信し、ユーザの位置を検出する。さらに、ＣＰＵ１２は、検出したユーザの位置を、ユーザの視点として設定し、そのユーザの視点に対応して、中間データベース３に記憶された中間データを、提示用画像データに変換する。また、ＣＰＵ１２は、提示用画像データを、入出力インタフェース２０を介して、ディスプレイ６に供給して表示させる。
【００３１】
ここで、本明細書において、コンピュータ１に各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしも後述するフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【００３２】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【００３３】
以上のような図３のコンピュータ１をベースとして構成される図２の画像表示装置では、例えば、図４Ａに示すように、現実世界において、ユーザが、ある被写体を観察する場合と同様の提示用画像データが表示される。
【００３４】
即ち、現実世界において、ユーザが、ある被写体を観察する場合には、ユーザが、その視点を移動すると、ユーザは、その移動後の視点から見た被写体を観察することができる。具体的には、現実世界では、ユーザが、その視点を移動することによって、被写体の見える部分と見えない部分が変化する。
【００３５】
図２の画像表示装置においても、図４Ｂに示すように、ユーザが、その視点を移動した場合、その視点に応じて、ディスプレイ６に表示される提示用画像データが、現実世界においてユーザの視覚に映る被写体が表示されたものとなるようになっている。即ち、図２の画像表示装置においては、図４Ｃに示すように、ユーザが視点を移動した場合に、その視点から被写体を見た場合の提示用画像データが表示されるようになっている。
【００３６】
従って、図２の画像表示装置では、ユーザが視点を移動すると、例えば、移動前の視点からでは見えなかった被写体の部分が見える状態となった提示用画像データが表示される。即ち、ユーザが、ディスプレイ６における提示用画像データに表示された被写体をのぞき込むように、視点を移動すると、現実世界において、その移動後の視点から被写体を見た場合に視覚に映るのと同様の提示用画像データ、つまり、ユーザが覗き込んだ被写体の部分が見える状態となった提示用画像データが表示される。このことから、図２の画像表示装置は、いわば、のぞけるテレビ（Ｔｅｌｅｖｉｓｉｏｎ）ということができる。
【００３７】
次に、図５は、図３のコンピュータ１がプログラムを実行することにより実現される画像処理装置の機能的構成例を示している。
【００３８】
コンピュータ１（のＣＰＵ１２）がプログラムを実行することにより実現される画像処理装置は、データ変換部３０およびセンサ制御部３３で構成される。
【００３９】
データ変換部３０は、画像データ変換部３１と中間データ変換部３２から構成され、画像データベース２に記憶された原画像データを撮像したときの光線の軌跡とその光線に対応する画素値である光線情報を用いて、その原画像データを、センサ制御部３３から供給されるユーザの視点から見える提示用画像データに変換し、ディスプレイ６に供給して表示させる。
【００４０】
即ち、データ変換部３１は、画像データベース２から原画像データを読み出し、中間データに幾何変換する。さらに、データ変換部３１は、中間データを、中間データベース３に供給して記憶させる。
【００４１】
中間データ変換部３２は、センサ制御部３３から供給されるユーザの視点に基づいて、中間データを、提示用画像データに変換し、即ち、ユーザの視点から見た画像データを再構成し、ディスプレイ６に供給して表示させる。
【００４２】
センサ制御部３３は、位置センサとしてのレシーバ４およびトランスミッタ５を制御することにより、ユーザの視点を検出し、中間データ変換部３２に供給する。即ち、センサ制御部３３は、トランスミッタ５を制御することにより、磁界を発生させる。さらに、センサ制御部３３は、レシーバ４から供給される、トランスミッタ５が発生する磁界の検出結果に基づいて、ユーザの位置を検出して、その位置を、ユーザの視点として設定し、中間データ変換部３２に供給する。
【００４３】
次に、図６のフローチャートを参照して、図５の画像処理装置（コンピュータ）１による画像処理について説明する。
【００４４】
まず最初に、ステップＳ１において、データ変換部３１は、画像データベース２から原画像データを読み出し、中間データに変換する。さらに、ステップＳ１では、データ変換部３１は、中間データを、中間データベース３に供給して記憶させ、ステップＳ２に進む。
【００４５】
ステップＳ２では、センサ制御部３３が、レシーバ４の出力から、ユーザの位置を検出し、さらに、そのユーザの位置を、ユーザの視点に設定して、中間データ変換部３２に供給する。
【００４６】
そして、ステップＳ３に進み、中間データ変換部３２は、センサ制御部３３から供給されるユーザの視点に基づいて、中間データを、提示用画像データに変換し、ステップＳ４に進む。
【００４７】
ステップＳ４では、中間データ変換部３２は、提示用画像データを、ディスプレイ６に供給して表示させ、ステップＳ５に進む。
【００４８】
ステップＳ５では、例えば、ユーザが、画像処理を終了するように、入力部１７（図３）を操作したかどうかを、ＣＰＵ１２（図３）が判定する。ステップＳ５において、画像処理を終了するように、入力部１７が操作されていないと判定された場合、ステップＳ２に戻り、以下、同様の処理が繰り返される。
【００４９】
また、ステップＳ５において、画像処理を終了するように、入力部１７が操作されたと判定された場合、処理を終了する。
【００５０】
なお、図６の画像処理が、過去に実行され、これにより、画像データベース２に記憶されている原画像データを変換した中間データが、中間データベース３に、既に記憶されている場合には、ステップＳ１の処理は、スキップすることができる。
【００５１】
次に、図７は、画像データベース２に記憶させる原画像データを生成（撮像）する画像生成装置の構成例を示している。
【００５２】
カメラ４１は、図７の実施の形態では、例えば、いわゆる全方位カメラで構成され、被写体を含む全方位の画像データ（全方位画像データ）を、コントローラ４７の制御にしたがって撮像し、バッファ４２に供給する。
【００５３】
バッファ４２は、カメラ４１から供給される全方位画像データを一時記憶する。
【００５４】
全方位画像変換部４３は、バッファ４２に記憶された全方位画像データを読み出し、後述する緯度経度表現の原画像データに変換して、バッファ４４に供給する。
【００５５】
バッファ４４は、全方位画像変換部４３から供給される原画像データを一時記憶する。
【００５６】
駆動機構４５は、駆動機構制御部４６の制御にしたがい、カメラ４１で撮像する撮像対象となっている被写体を移動する。ここで、駆動機構４５によって被写体が移動されることにより、相対的に、被写体に対するカメラ４１の視点（光学中心）が、複数の位置に変えられる。
【００５７】
駆動機構制御部４６は、コントローラ４７の制御にしたがい、駆動機構を駆動する。
【００５８】
コントローラ４７は、カメラ４１の撮像タイミングや、駆動機構制御部４６による駆動機構４５の駆動速度および駆動方向などを制御する。さらに、コントローラ４７は、カメラ４１の撮像タイミング（撮像時刻）や、駆動機構４５により移動される被写体の位置（必要に応じて、被写体の姿勢を含む）を表す情報などを、ｍｕｘ（マルチプレクサ）４８に供給する。
【００５９】
マルチプレクサ４８は、バッファ４４に記憶された原画像データの各フレームに、そのフレームについてコントローラ４７が出力する情報を付加し、画像データベース２に供給して記憶させる。
【００６０】
次に、図８のフローチャートを参照して、図７の画像生成装置による画像生成処理について説明する。
【００６１】
まず最初に、コントローラ４７は、被写体を所定の位置に移動させ、その撮像を行うように、カメラ４１および駆動機構制御部４６を制御するとともに、その所定の位置と被写体の撮像タイミングを表す情報を、ｍｕｘ４８に供給する。
【００６２】
ここで、コントローラ４７は、例えば、現実世界に、３次元座標系（以下、適宜、撮像時座標系という）をあらかじめ設定し、その撮像時座標系における被写体の座標を、被写体の位置を表す情報（以下、適宜、位置情報という）として出力する。また、コントローラ４７は、被写体のある姿勢（例えば、被写体の撮像開始時の姿勢）を基準姿勢として、その基準姿勢からの被写体の変化を表す角度も、位置情報に含めて出力する。さらに、コントローラ４７は、撮像時座標系における、カメラ４１の位置（例えば、レンズ中心の位置）を表す座標と、その光軸方向（視線の方向）を表す情報も、位置情報に含めて出力する。
【００６３】
なお、後述する図９で説明するモーションベース方式や、図１１で説明するターンテーブル方式によって、被写体を動かす場合には、カメラ４１のレンズ中心（光学中心）の位置および光軸方向は、変化せず、固定となるが、このカメラ４１のレンズ中心の位置および光軸方向は、コントローラ４７にあらかじめ設定されているものとする。
【００６４】
また、上述の被写体の座標や姿勢は、実際には、被写体を移動させる駆動機構４５の状態から把握される。ここで、駆動機構４５の状態は、駆動機構４５を、駆動機構制御部４６を介して制御するコントローラ４７によって認識される。
【００６５】
ステップＳ１１において、駆動機構制御部４６は、コントローラ４７の制御にしたがい、駆動機構４５を制御することにより、被写体の位置を変化させ、ステップＳ１２に進む。ステップＳ１２では、カメラ４１が、コントローラ４７の制御にしたがい、被写体を撮像し、その結果得られる全方位画像データを、バッファ４２に供給して記憶させる。
【００６６】
そして、ステップＳ１３に進み、全方位画像変換部４３は、バッファ４２に記憶された全方位画像データを読み出し、緯度経度表現の原画像データに変換して、バッファ４４に供給する。その後、ステップＳ１４に進み、ｍｕｘ４８は、バッファ４４に記憶された原画像データのフレームに、コントローラ４７から供給される情報を付加し、画像データベース２に供給して記憶させる。
【００６７】
ステップＳ１４の処理後は、ステップＳ１５に進み、コントローラ４７は、被写体を、あらかじめ設定したすべての位置に移動したかどうか（さらには、必要に応じて、あらかじめ設定したすべての姿勢をとらせたかどうか）を判定し、まだ、すべての位置に移動していないと判定した場合、被写体を、まだ移動させていない位置に移動させ、その撮像を行うように、カメラ４１および駆動機構制御部４６を制御するとともに、被写体の移動位置と被写体の撮像タイミングを表す情報その他を、ｍｕｘ４８に供給する。そして、ステップＳ１１に戻り、以下、同様の処理が繰り返される。
【００６８】
また、ステップＳ１５において、被写体を、あらかじめ設定したすべての位置に移動したと判定された場合、即ち、あらかじめ設定したすべての位置において、被写体の撮像が行われた場合、処理を終了する。
【００６９】
次に、図７の画像生成装置において、被写体を移動させる被写体の移動方式について説明する。
【００７０】
図７の画像生成装置では、被写体を移動させながら、その撮像が行われるが、この場合、その被写体の位置を精度良く制御する必要がある。そのような被写体の移動方式としては、例えば、モーションベース方式やターンテーブル方式がある。
【００７１】
モーションベース方式では、図９に示すように、駆動機構４５として、モーションベースが用いられる。そして、駆動機構４５としてのモーションベース上に被写体を載せ、例えば、被写体が併進運動するように、モーションベースが（カメラ４１に向かって）上下左右に移動される。
【００７２】
即ち、モーションベース方式では、駆動機構４５としてのモーションベースを、例えば、図１０Ａに示すように、上下方向に移動しながら、徐々に、左から右方向に移動する。ここで、図１０Ｂは、実際のモーションベースの軌跡を表している。なお、図１０Ｂにおいて、モーションベースの軌跡とともに、ＴＣ：の後に続けて表示してある数字は、カメラ４１で撮像された画像のタイムコードを表す。従って、図１０Ｂでは、モーションベースの軌跡とタイムコードとが対応付けられているので、被写体の位置（姿勢）と、その位置にある被写体を撮像した画像データのフレームとの対応関係を認識することができる。
【００７３】
図９のモーションベース方式によれば、被写体とカメラ４１との間に想定することができる開曲面としての、例えば平面上の複数の点を視点として被写体を撮像したときの、被写体からの光線の軌跡とその光線に対応する画素値である光線情報を得ることができる。なお、被写体からの光線に対応する画素値は、カメラ４１が出力する画像データから得ることができ、被写体からの光線の軌跡は、カメラ４１と被写体の位置から得ることができる。
【００７４】
ターンテーブル方式では、図１１に示すように、駆動機構４５として、ターンテーブル（台車）が用いられる。そして、駆動機構４５としてのターンテーブル上に被写体を載せ、ターンテーブルを非常に低速で上または下方向に移動させながら一定の角速度で回転させる。
【００７５】
図１１のターンテーブル方式によれば、被写体を囲む開曲面としての、例えば円柱の側面上の複数の点を視点として被写体を撮像したときの光線情報を得ることができる。
【００７６】
なお、図７の画像生成装置においては、被写体を移動させることにより、その被写体を複数の視点それぞれから見た画像データの撮像を行うようにしたが、被写体を移動させるのではなく、カメラ４１を移動させることにより、被写体を複数の視点それぞれから見た画像データの撮像を行うようにすることも可能である。
【００７７】
また、図７の画像生成装置においては、１台のカメラ４１を用い、被写体を移動させることによって、被写体を複数の視点それぞれから見た画像データの撮像を行うようにしたが、その他、例えば、異なる位置に配置した複数台のカメラを用いて被写体を撮像することにより、被写体を複数の視点それぞれから見た画像データの撮像を行うことも可能である。
【００７８】
次に、図７の画像生成装置では、カメラ４１として、全方位カメラが採用されているが、この全方位カメラによる画像の撮像と、全方位画像変換部４３による全方位画像データの変換について説明する。
【００７９】
図１２は、図７のカメラ４１としての全方位カメラの光学系の構成例を示している。
【００８０】
図１２の実施の形態では、カメラ４１は、集光部５２が、撮像部５３の上部に配置された支持体５１によって支持されることによって構成されており、集光部５２の周囲３６０度の方向を撮像することができるようになっている。
【００８１】
支持体５１は、ガラスなどの反射率の低い透明材料からなり、ガラス面での光の屈折を最小化するために、入射光がガラス面と直交するように、集光部５２の後述する焦点を中心とした球面になっている。
【００８２】
集光部５２は、例えば、双曲面形状のミラー（双曲面ミラー）で構成され、支持体５１を介して入射する周囲の光を、撮像部５３の方向に反射する。
【００８３】
撮像部５３は、例えば、ＣＣＤ（Ｃｈａｒｇｅ　Ｃｏｕｐｌｅｄ　Ｄｅｖｉｃｅ）等の光電変換素子で構成され、そこに入射する光を電気信号としての画像データに変換する。この撮像部５３で得られる画像データが、カメラ４１の出力として、図７のバッファ４２に供給される。
【００８４】
ここで、図１２に示した全方位カメラの構成や集光の原理については、例えば、「移動ロボット用全方位視覚センサの開発」、自動化技術第２９巻第６号（１９９７年）（以下、適宜、文献１という）に開示されているため、ここでは、簡単に説明する。
【００８５】
図１３は、図１２のカメラ４１によって撮像された全方位画像データの例を示している。
【００８６】
全方位画像データは、中心点Ｃ１を中心とする２つの円の円周Ｆ１とＦ２によって区分される。なお、図１３では、円周Ｆ１の方が、円周Ｆ２よりも半径が大きいものとなっている。
【００８７】
即ち、全方位画像データは、大きい円周Ｆ１の内側で、かつ小さい円周Ｆ２の外側になっている領域Ｒ１、大きい円周Ｆ１の外側の領域Ｒ２、小さい円周Ｒ２に囲まれた領域（内側の領域）Ｒ３から構成される。
【００８８】
以上の３つの領域Ｒ１乃至Ｒ３のうち、領域Ｒ１においては、集光部５２で反射された、周囲からの光に対応する画像データが撮像されており、領域Ｒ２においては、集光部５２の外側の部分が撮像されている。また、領域Ｒ３には、撮像部５３自身が撮像されている。
【００８９】
さらに、図１３の実施の形態では、領域Ｒ１には、複数の建物が撮像されているが、円周Ｆ１に近い方向に、建物の上部が撮像され、円周Ｆ２に近い方向に、建物の下部が撮像されている。
【００９０】
次に、図１４を参照して、図１２の集光部５２を構成する双曲面について説明する。
【００９１】
集光部５２は、双曲面の一部により構成されており、双曲面の軸に対する垂直面により、双曲面を切断して得られた双曲面の凸型先頭部の凸状面に、鏡面を形成したものとなっている。
【００９２】
集光部５２には、双曲面の１つである二葉双曲面を用いることができ、二葉双曲面は、図１４に示すように、双曲線を軸（図１４では、Ｚ軸）回りに回転して得られる曲面であり、Ｚ＞０の領域に存在する下に凸の双曲面Ｈ１と、Ｚ＜０の領域に存在する上に凸の双曲面Ｈ２から構成される。
【００９３】
集光部５２には、二葉の双曲面Ｈ１とＨ２のうち、Ｚ＞０の領域にある双曲面Ｈ１を利用する。なお、以下、適宜、Ｚ軸を、双曲線の中心軸または単に軸ともいう。
【００９４】
図１４に示したＸ，Ｙ，Ｚの３次元直交座標系において、二葉双曲面Ｈ１とＨ２は、式（１）で示される。
【００９５】
【数１】
2004013222.tif 000003
・・・（１）
【００９６】
ここで、式（１）において、定数ａとｂは、双曲面Ｈ１およびＨ２の形状を定義する定数である。即ち、定数ｂは、原点Ｏから、双曲面Ｈ１（Ｈ２）とＺ軸との交点までの距離を表す。また、定数ａは、その交点を通る、ＸＹ平面と平行な平面と、双曲面Ｈ１（Ｈ２）の漸近面Ａ１との交線が描く円の半径を表す。
【００９７】
さらに、式（１）において、定数ｃは、双曲面Ｈ１およびＨ２の焦点の位置を定義する定数である。即ち、Ｚ軸上の＋ｃの位置（０，０，＋ｃ）が、双曲面Ｈ２の焦点ｆ１となり、Ｚ軸上の−ｃの位置（０，０，−ｃ）が、双曲面Ｈ１の焦点ｆ２となる。
【００９８】
なお、定数ａ，ｂ，ｃは、次式で示される関係を有する。
【００９９】
【数２】
2004013222.tif 000004
・・・（２）
【０１００】
集光部５２が、図１４で説明したような双曲面Ｈ１で構成されるとした場合、撮像部５３は、図１５に示すように、そのレンズの中心軸（光軸）がＺ軸に一致し、かつ、レンズ中心（カメラ４１のレンズ中心）が、双曲面Ｈ１の焦点ｆ２に一致するように配置される。
【０１０１】
次に、撮像部５３が出力する全方位画像データは、上述の図１３に示したようなものとなるが、いま、この全方位画像データについて、図１６に示すように、その左上の点を原点Ｏとするとともに、左から右方向にｘ軸をとり、上から下方向にｙ軸をとった２次元直交座標系を定義する。
【０１０２】
この場合、円周Ｆ１の円および円周Ｆ２の円の中心点Ｃ１の座標を（Ｘ０　、Ｙ０　）とするとともに、円周Ｆ１の円の半径をｒＦ１とし、円周Ｆ２の円の半径をｒＦ２とすると、円周Ｆ１の外側の領域Ｒ２を構成する点（ｘ，ｙ）は、式（３）により表され、円周Ｆ２の内側の領域Ｒ３を構成する点（ｘ，ｙ）は、式（４）により表される。
【０１０３】
【数３】
2004013222.tif 000005
・・・（３）
【０１０４】
【数４】
2004013222.tif 000006
・・・（４）
【０１０５】
図７の全方位画像変換部４３は、全方位画像データを緯度経度表現の原画像データに変換する前に、式（３）で表される領域Ｒ２を構成する画素値と、式（４）で表される領域Ｒ３を構成する画素値を、画素値としては一般に取り得ない値（例えば、０）に変換する。
【０１０６】
ここで、この画素値の変換にあたっては、中心点Ｃ１の座標（Ｘ０，Ｙ０）、並びに半径ｒＦ１およびｒＦ２が必要となるが、これらの情報は、カメラ４１からバッファ４２を介して、全方位画像変換部４３に供給されるようになっている。
【０１０７】
なお、ここでは、説明を簡単にするため、露出時間や、絞り、ズームは、固定であるとする。
【０１０８】
また、図１３や図１６に示した領域Ｒ１の画像データである全方位画像データについては、所望の被写体が表示されている部分等の、全方位画像データの一部分だけが必要な場合があり、この場合、全方位画像データから、その必要な部分を切り出す必要があるが、この切り出しは、全方位画像変換部４３において行われるようになっている。即ち、全方位画像変換部４３は、図１７に示すように、所望の被写体を含む領域Ｒ１１であって、中心点Ｃ１を通る半径方向の２つの直線Ｌｃ１とＬｃ２に囲まれ、かつ中心点Ｃ１を中心とする２つの円の円周Ｆｃ１とＦｃ２に囲まれる略扇形の領域Ｒ１１の画像データを切り出す。
【０１０９】
次に、全方位画像データは、図１３や図１６に示したように、中心点Ｃ１に近づくほど狭まったものとなり、逆に、中心点Ｃ１から遠ざかるほど広がったものとなるような歪みを有する。このことは、全方位画像変換部４３が全方位画像データから切り出す略扇形の画像データについても同様であり、このようは歪みのある画像データは、図５の画像処理装置において処理等するにあたって、歪みのないものに変換する必要がある。
【０１１０】
全方位カメラであるカメラ４１が出力する、上述のような全方位画像データの歪みは、中心点Ｃ１を通る円の円周方向の歪みと、半径方向の歪みとに分けて考えることができる。
【０１１１】
そこで、まず円周方向の歪みを考えてみると、図１３や図１６の全方位画像データの、中心点Ｃ１を中心とするある円の円周上においては、スケールが一定であり、従って、歪みはない。
【０１１２】
即ち、図１８は、Ｚ軸方向から見た集光部５２としての双曲面Ｈ１を示している。
【０１１３】
図１８では、被写体上のある点Ｐ（Ｘ，Ｙ，Ｚ）から、Ｚ軸に向かい、Ｘ軸（ＸＺ平面）と角度θをつくるように、光線ｒが入射している。この光線ｒは、双曲面Ｈ１で反射され、後述する図１９に図示してある撮像部５３の受光面（画像面）（仮想スクリーン）Ａ３上の点ｐ（ｘ，ｙ）に到達する。そして、この場合、点ｐ（ｘ，ｙ）は、Ｘ軸（ＸＺ平面）との間で、光線ｒがＸ軸との間でつくるのと同一の角度θをつくる。
【０１１４】
また、Ｚ軸に向かい、Ｘ軸と角度θ’をつくるように入射する光線ｒ’を考えた場合、この光線ｒ’も、双曲面Ｈ１で反射され、受光面（画像面）Ａ３上の点ｐ’（ｘ’，ｙ’）に到達する。そして、この場合も、点ｐ’（ｘ’，ｙ’）は、Ｘ軸との間で、光線ｒ’がＸ軸との間でつくるのと同一の角度θ’をつくる。
【０１１５】
また、光線ｒとｒ’の、Ｚ軸に対する仰角（後述する）が同一であれば、光線ｒおよびｒ’は、受光面Ａ３上の、位置は異なるが、Ｚ軸から同一の距離ｒｐだけ離れた点で受光される。
【０１１６】
以上から、Ｚ軸に対する仰角が同一の複数の光線それぞれは、受光面Ａ３上の、Ｚ軸から同一の距離にある点であって、Ｘ軸との間で、光線とＸ軸とがつくるのと同一の角度をつくる点で受光される。
【０１１７】
従って、Ｚ軸に対する仰角が同一で、Ｘ軸との角度が等角度の複数の光線は、受光面Ａ３の、Ｚ軸を中心とする円周上に、等間隔で入射することになるから、全方位画像データにおいて、受光面Ａ３とＺ軸との交点にあたる中心点Ｃ１を中心とする円の円周方向には、歪みは生じない。
【０１１８】
一方、図１３や図１６の全方位画像データの、中心点Ｃ１を通る半径方向の直線上においては、中心点Ｃ１に近づくほど、スケールが小さくなり、中心点Ｃ１から離れるほど、スケールが大きくなることから、全方位画像データは、半径方向の歪みを有する。
【０１１９】
即ち、図１９は、Ｘ軸方向から見た集光部５２としての双曲面Ｈ１を示している。
【０１２０】
図１９において、Ｚ軸に対して仰角０度で、焦点ｆ１に向かって入射する光線ｒ１は、双曲面Ｈ１で反射され、焦点ｆ２に向かっていき、撮像部５３の受光面（画像面）Ａ３で受光される。
【０１２１】
ここで、Ｚ軸に対する仰角とは、Ｚ軸上の焦点ｆ１を通り、ＸＹ面に平行な面と、焦点ｆ１に向かって入射する光線とがつくる角度を意味する。また、撮像部５３の受光面Ａ３は、カメラ４１の焦点距離をｆとすると、焦点ｆ２から、Ｚ軸に沿って、ｆだけ離れた原点Ｏ方向に位置する。
【０１２２】
Ｚ軸に対して仰角△ｄ度で、焦点ｆ１に向かって入射する光線ｒ２は、双曲面Ｈ１で反射され、焦点ｆ２に向かっていき、受光面Ａ３で受光される。Ｚ軸に対して仰角２△ｄ度で、焦点ｆ１に向かって入射する光線ｒ３は、双曲面Ｈ１で反射され、焦点ｆ２に向かっていき、受光面Ａ３で受光される。仰角が△ｄ度ずつ大きくなる光線ｒ４，ｒ５，ｒ６も、同様にして、受光面Ａ３で受光される。
【０１２３】
このように、仰角が△ｄ度ずつ異なる光線ｒ１乃至ｒ６それぞれが、受光面Ａ３で受光される点どうしの間隔は、図１９の拡大図に示すように、等間隔にはならず、Ｚ軸に近い点どうしの間隔ほど狭くなる（Ｚ軸から離れた点どうしの間隔ほど広くなる）。即ち、仰角が大きい光線どうしの間隔ほど狭くなる（仰角が小さい光線どうしの間隔ほど広くなる）。
【０１２４】
そして、仰角が等角度の光線について、受光面Ａ３上で受光される点どうしの間隔が、上述のように、等間隔にならないことから、全方位画像データには、半径方向の歪みが生じる。
【０１２５】
従って、全方位画像データの半径方向の歪みを除去するには、仰角が等角度の光線の、受光面Ａ３上での受光点どうしの間隔が、等間隔になるようにすれば良い。
【０１２６】
そこで、いま、図２０に示すように、被写体上のある点Ｐ（Ｘ，Ｙ，Ｚ）から、焦点ｆ１に向かって、仰角α度で入射する光線ｒを考える。
【０１２７】
この光線ｒは、図１９で説明した場合と同様に、集光部５２としての双曲面Ｈ１で反射され、焦点ｆ２に向かっていき、受光面Ａ３で受光される。
【０１２８】
この場合において、焦点ｆ２に向かう光線ｒが、焦点ｆ２を通り、ＸＹ平面に平行な平面とつくる角度をγ度とする。さらに、Ｘ軸とＹ軸とで定義される２次元直交座標系において、光線ｒが受光面Ａ３で受光された点（受光点）ｐの座標を（ｘ，ｙ）で表し、その点ｐ（ｘ，ｙ）とＺ軸との距離をＲと表す。
【０１２９】
図２０における角度αは、式（１）で表される双曲面Ｈ１において、光線ｒが反射される点の座標を求めることにより、次式で表すことができる。
【０１３０】
【数５】
2004013222.tif 000007
・・・（５）
【０１３１】
式（５）から、ｔａｎαは、次式で求めることができる。
【０１３２】
【数６】
2004013222.tif 000008
・・・（６）
【０１３３】
ここで、ｃｏｓγを、次式のようにおく。
【０１３４】
【数７】
2004013222.tif 000009
・・・（７）
【０１３５】
式（６）に、式（７）を代入すると、次式が求められる。
【０１３６】
【数８】
2004013222.tif 000010
・・・（８）
【０１３７】
式（８）を変形して、式（９）が得られる。
【０１３８】
【数９】
2004013222.tif 000011
・・・（９）
【０１３９】
一方、ＡとＢを、それぞれ式（１０）と（１１）に示すように定義する。
【０１４０】
【数１０】
2004013222.tif 000012
・・・（１０）
【０１４１】
【数１１】
2004013222.tif 000013
・・・（１１）
【０１４２】
式（９）に、式（１０）および（１１）を代入することにより、式（１２）が求められる。
【０１４３】
【数１２】
2004013222.tif 000014
・・・（１２）
【０１４４】
式（１２）は、次のような、Ｘについての２次方程式とすることができる。
【０１４５】
【数１３】
2004013222.tif 000015
・・・（１３）
【０１４６】
式（１３）の２次方程式を解くと、次式が得られる。
【０１４７】
【数１４】
2004013222.tif 000016
・・・（１４）
【０１４８】
従って、式（７）より、角度γは、次式によって求めることができる。
【０１４９】
【数１５】
2004013222.tif 000017
・・・（１５）
【０１５０】
但し、式（１５）において、Ｘは、式（１４）で定義されるものであり、また、式（１４）中のＡとＢは、それぞれ、式（１０）と（１１）で定義されるものである。
【０１５１】
また、図２０の点ｐの座標から、角度γは、次式で求めることができる。
【０１５２】
【数１６】
2004013222.tif 000018
・・・（１６）
【０１５３】
一方、図２０におけるＺ軸と点ｐ（ｘ，ｙ）との距離Ｒは、√（ｘ２＋ｙ２）で表されるから、式（１６）は、次式のように変形することができる。
【０１５４】
【数１７】
2004013222.tif 000019
・・・（１７）
【０１５５】
以上から、式（１５）によって、角度γを求め、その角度γを用いて、式（１７）を計算することにより、Ｚ軸に対して仰角α度で、焦点ｆ１に向かって入射する光線ｒが、受光面Ａ３において受光される点ｐ（ｘ，ｙ）のＺ軸からの距離Ｒを算出することができる。
【０１５６】
従って、Ｚ軸に対する仰角の所定の範囲（例えば、０度乃至８０度など）を等角度△ｄに分割し、各仰角△ｄ，２△ｄ，３△ｄ，・・・で入射する光線が、受光面Ａ３上で受光される各点ｐ１，ｐ２，ｐ３・・・について、Ｚ軸からの距離Ｒｐ１，Ｒｐ２，Ｐｐ３・・・を求めておき、隣接する点どうしの距離の差｜Ｒｐ１−Ｒｐ２｜，｜Ｒｐ２−Ｐｐ３｜，・・・が、一定値になるように、カメラ４１が出力する全方位画像データを変換することにより、その半径方向の歪みを除去した全方位画像データを得ることができることになる。
【０１５７】
なお、この歪み除去のための全方位画像データの変換は、図７の全方位画像変換部４３が行う。
【０１５８】
即ち、全方位画像変換部４３は、図２１に示すように、カメラ４１から、バッファ４２を介して、上述した半径方向の歪みがある全方位画像データとともに、中心点Ｃ１、円周Ｆ１の円の半径ｒＦ１、および円周Ｆ２の円の半径ｒＦ２を受信する。
【０１５９】
そして、全方位画像変換部４３は、中心点Ｃ１を中心とする半径ｒＦ１の円の円周Ｆ１と、中心点Ｃ１を中心とする半径ｒＦ２の円の円周Ｆ２とで囲まれる領域Ｒ１内において、中心点Ｃ１を中心とする、上述のＲｐ１，Ｒｐ２，Ｐｐ３・・・を半径とする複数の同心円を描く。さらに、全方位画像変換部４３は、その複数の同心円の円周を等分する、中心点Ｃ１を通る複数の直線を描く。これにより、全方位画像変換部４３は、領域Ｒ１において、複数の同心円と、複数の直線とで形成される多数の交点を得る。
【０１６０】
ここで、上述の複数の同心円と、複数の直線とで形成される多数の交点を、以下、適宜、変換対象点という。
【０１６１】
上述したことから、変換対象点を、その隣接するものどうしが等間隔になるように配置することで、歪みのある全方位画像データを、その歪みを除去した画像データに変換することができる。
【０１６２】
そこで、いま、図２１における、図１７に示したのと同一の略扇形の領域Ｒ１１の画像データを、歪みのないものに変換することを考える。
【０１６３】
この領域Ｒ１１内には、図２２Ａに示すように、中心点Ｃ１を中心とする複数の同心円の円弧Ｆ１１，Ｆ１２，Ｆ１３，Ｆ１４，Ｆ１５，Ｆ１６それぞれと、中心点Ｃ１を通る複数の直線Ｌ１，Ｌ２，Ｌ３，Ｌ４，Ｌ５，Ｌ６それぞれとの交点である多数の変換対象点が存在する。
【０１６４】
全方位画像変換部４３は、領域Ｒ１１内に存在する多数の変換対象点を、図２２Ｂに示すように、隣接するものどうしが等間隔になるように配置する。
【０１６５】
即ち、全方位画像変換部４３は、図２２Ａの円弧Ｆ１１，Ｆ１２，Ｆ１３，Ｆ１４，Ｆ１５，Ｆ１６それぞれに対応する、等間隔に配置された横方向の直線Ｌ２１，Ｌ２２，Ｌ２３，Ｌ２４，Ｌ２５，Ｌ２６と、図２２Ａの直線Ｌ１，Ｌ２，Ｌ３，Ｌ４，Ｌ５，Ｌ６それぞれに対応する、等間隔に配置された縦方向の直線Ｌ１１，Ｌ１２，Ｌ１３，Ｌ１４，Ｌ１５，Ｌ１６を想定し、その横方向の直線Ｌ２１乃至Ｌ２６それぞれと、縦方向の直線Ｌ１１乃至Ｌ１６それぞれとの交点上に、対応する変換対象点を変換する（割り当てる）。
【０１６６】
これにより、例えば、図２２Ａにおいて、円弧Ｆ１４と、直線Ｌ５との交点である変換対象点ｐ１１は、図２２Ｂの、円弧Ｆ１４に対応する直線Ｌ２４と、直線Ｌ５に対応する直線Ｌ１５との交点ｐ１２に変換される。
【０１６７】
なお、カメラ４１を囲む、表面が鏡の球を考えると、全方位画像データには、その球面上に映る、球の外側の景色が表示される。従って、例えば、いま、そのカメラ４１を囲む球を地球に見立てると、全方位画像変換部４３において得られる画像データは、その縦軸と横軸が、それぞれ地球の緯度と経度に対応するものとなっている。そこで、本実施の形態では、全方位画像変換部４３が出力する、歪みが除去された全方位画像データを、緯度経度表現の画像データと呼んでいる。
【０１６８】
ところで、全方位画像変換部４３は、上述のように、変換対象点の位置を変換（変更）することによって、半径方向の歪みを有する画像データ（全方位画像データ）を、その歪みを除去した画像データ（緯度経度表現の画像データ）に変換するが、変換対象点は、上述したように、中心点Ｃ１を中心とする円と、中心点Ｃ１を通る直線との交点である。従って、変換対象点は、撮像部５３（図１２）の受光面Ａ３（図１９、図２０）を構成する画素の画素中心に一致するとは限らず、むしろ、一般には、一致しないことが多い。
【０１６９】
このように、変換対象点は、画素中心からずれているのが一般的であるから、全方位画像変換部４３において、変換対象点の位置を変換する前に、その変換対象点における画素値を求める必要がある。
【０１７０】
そこで、全方位画像変換部４３は、変換対象点における画素値を、例えば、次のようにして求めるようになっている。
【０１７１】
即ち、いま、図２２の変換対象点ｐ１１が、図２３に示すように、受光面Ａ３上の隣接する２×２の４画素Ｐ１，Ｐ２，Ｐ３，Ｐ４それぞれの画素中心ＣＰ１，ＣＰ２，ＣＰ３，ＣＰ４を頂点とする長方形（正方形）の範囲内にあるとする。なお、図２３の実施の形態においては、上下、または左右方向に隣接する画素中心どうしの距離が１であるとしてある。
【０１７２】
そして、変換対象点ｐ１１が、画素中心ＣＰ１よりも距離αだけ右方向の、距離βだけ下方向の点である場合、全方位画像変換部４３は、例えば、次式で求められる画素値Ｓｓを、変換対象点ｐ１１の画素値とする。
【０１７３】
【数１８】
2004013222.tif 000020
・・・（１８）
【０１７４】
但し、式（１８）において、Ｓａ，Ｓｂ，Ｓｃ，Ｓｄは、画素Ｐ１，Ｐ２，Ｐ３，Ｐ４それぞれの画素値を表す。また、式（１８）において、αおよびβは、０以上１以下の範囲の値で、変換対象点ｐ１１の位置に対応するものである。
【０１７５】
なお、図１２の実施の形態では、集光部５２を双曲面ミラーで構成するようにしたが、集光部５２には、その他、例えば、球面ミラーなどを採用することも可能である。
【０１７６】
また、図７の実施の形態では、カメラ４１として、全方位画像データを撮像することができる全方位カメラを採用したが、カメラ４１としては、その他、例えば、魚眼レンズを装着したビデオカメラや、一般的な（通常の）レンズのビデオカメラなどを採用することも可能である。
【０１７７】
ここで、一般的なレンズのビデオカメラでは、そのビデオカメラの光軸と直交し、その重心が光軸上にある長方形の平面であって、かつビデオカメラのレンズ中心と被写体との間にある平面を、仮想的なスクリーンである仮想スクリーンとすれば、被写体上の各点からレンズ中心に入射する光線が仮想スクリーン上に形成する画像データが撮像される。そして、その際、仮想スクリーンに入射する光線は、理想的には、何らの変換もされないから、２次元平面である仮想スクリーンには、３次元空間である現実世界の状況が、いわば忠実に映し出される。
【０１７８】
しかしながら、全方位カメラや魚眼レンズを装着したビデオカメラでは、全方位や広角の撮像が可能であるが、仮想スクリーンに入射する光線が、いわば非線形な変換を受けるため、即ち、例えば、全方位カメラについて言えば、図１９に示したように、光線が、双曲面ミラー（を表す双曲面Ｈ１）で反射されるため、仮想スクリーンには、現実世界の状況が歪んだ形で映し出された全方位画像データが形成される。
【０１７９】
そのため、図７の全方位画像変換部４３では、そのような歪んだ全方位画像データが、一般的なレンズのカメラで撮像した場合と同様の緯度経度表現の画像データに変換されるが、いま、この緯度経度表現の画像データを、一般的なレンズのカメラで撮像したものとすると、この緯度経度表現の画像データには、全方位カメラの光軸を中心とするすべての経度方向が表示されているから、一般的なレンズのカメラについての仮想スクリーンは、左右方向（経度方向）に無限の長さを有するものとなる。
【０１８０】
また、全方位カメラでは、緯度方向については、理想的には、０度から−９０度の方向（図１９において、ＸＹ平面から下側の任意の点から原点に向かう方向）が撮像されるから、緯度経度表現の画像データを、一般的なレンズのカメラで撮像したものとした場合には、その仮想スクリーンは、下方向（マイナスの緯度方向）に無限の長さを有するものとなる。
【０１８１】
ところで、全方位カメラにおいて撮像された全方位画像データを変換した緯度経度表現の画像データは、図２の画像表示装置において画像を表示するにあたって、そのすべてを必要としない。即ち、図２の画像表示装置において画像を表示するにあたっては、緯度経度表現の画像データのうち、注目している被写体が映っている部分を含むある程度の範囲の画像データがあれば、基本的には、十分である。
【０１８２】
そこで、以下においては、一般的なレンズのカメラで被写体を撮像した場合に、その仮想スクリーンに映る範囲の画像データを、緯度経度表現の画像データから切り出し、その切り出された画像データを対象に処理が行われるものとする。ここで、この切り出しは、例えば、図７の全方位画像変換部４３に行わせることが可能である。
【０１８３】
さらに、以下においては、カメラ４１の光軸やレンズ中心というときには、カメラ４１が一般的なレンズのカメラであるとして、その一般的なレンズのカメラの光軸やレンズ中心を意味するものとする。従って、上述したように、緯度経度表現の画像データから切り出された画像データについては、その画像データを、一般的なレンズのカメラで撮像したと仮定した場合の、そのカメラの光軸やレンズ中心が、カメラ４１の光軸やレンズ中心となる。
【０１８４】
次に、図５の画像処理装置によれば、データ変換部３０において、画像データベース２に記憶された画像データが変換されることにより、図４で説明したように、ユーザの視点から見た画像データ、即ち、現実世界においてユーザが見ることのできる被写体が表示された画像データが、ディスプレイ６に表示される。
【０１８５】
このように、データ変換部３０において、現実世界においてユーザが見ることのできる被写体が表示された画像データが得られるのは、次の原理による。
【０１８６】
即ち、画像データベース２には、図７の画像生成装置が出力する、複数の視点（カメラ４１の視点）から撮像された緯度経度表現の原画像データが記憶されている。このことは、図２４に示すように、ある曲面Ω上の複数の点を視点として、被写体を撮像した画像データが、画像データベース２に記憶されていると見ることができる。
【０１８７】
いま、曲面Ωの、被写体と反対側のある位置に視点Ｐを設定し、その視点Ｐから被写体を見た場合の視覚に映る画像を考えてみる。
【０１８８】
なお、視点Ｐは、その視点Ｐと、被写体上の任意の点とを結ぶ直線が、曲面Ωと交わる位置にとるものとする。
【０１８９】
また、ここでは、説明を簡単にするために、曲面Ω上の任意の点を視点として、被写体を撮像した画像データが、画像データベース２に記憶されているものとするとともに、ユーザが被写体を観測しようとする空間（媒質）内において、光線は直進し、減衰しないものとする。
【０１９０】
視点Ｐから被写体を見たときの光線の軌跡（被写体から視点Ｐに入射する光線の軌跡）は、視点Ｐと被写体上の各点とを結ぶ直線によって表現することができる。この光線は、必ず、曲面Ωと交わるから、その光線と一致する軌跡の光線に対応する画素値（被写体Ｐから被写体を見た場合の光線情報と同一の光線情報）が、画像データベース２には、必ず存在する。
【０１９１】
即ち、いま、視点Ｐと被写体上のある点Ｒｉとを結ぶ直線Ｌｉに注目し、その直線Ｌｉと曲面Ωとの交点をＱｉと表す。いまの場合、曲面Ω上の任意の点を視点として、被写体を撮像した画像データが、画像データベース２に記憶されているから、点Ｑｉを視点として被写体を撮像した画像データは、画像データベース２に記憶されている。さらに、いまの場合、光線は直進し、かつ減衰しないから、被写体上の点Ｒｉから、曲面Ω上の点Ｑｉに入射する光線と、視点Ｐに入射する光線とは、同一である。従って、視点Ｐから被写体を見た場合、その被写体上の点Ｒｉから視点Ｐに向かう光線に対応する画素値は、被写体上の点Ｒｉから曲面Ω上の点Ｑｉに向かう光線に対応する画素値に一致し、この点Ｒｉから点Ｑｉに向かう光線に対応する画素値は、画像データベース２に記憶されている。
【０１９２】
以上から、視点Ｐから、被写体上の点Ｒｉを見たときの画素値は、曲面Ω上の点Ｑｉを視点として撮像された画像データから得ることができる。
【０１９３】
視点Ｐから、被写体上の他の点を見たときの画素値も、同様に、曲面Ω上の点を視点として撮像された画像データから得ることができるから、結果として、曲面Ω上の任意の点を視点として撮像された画像データが存在すれば、その画像データを構成する画素の画素値から、視点Ｐと被写体とを結ぶ光線情報と同一の光線情報の光線に対応する画素値を選択することにより、視点Ｐから被写体を見た画像データが得られることになる。
【０１９４】
ここで、図２４に示した曲面Ωの形状は、特に限定されるものではなく、任意の形状のものを採用することができる。従って、曲面Ωは、図２５に示すように、平面であってもかまわない。
【０１９５】
また、曲面Ωは、開曲面であっても、閉曲面であってもかまわない。但し、曲面Ωが開曲面である場合には、視点Ｐは、上述したように、その視点Ｐと、被写体上の任意の点とを結ぶ直線が、曲面Ωと交わる位置にとる必要がある。
【０１９６】
さらに、曲面Ωが、被写体を囲む閉曲面である場合には、上述した原理から、次のことが言える。
【０１９７】
即ち、被写体を囲む閉曲面上のすべての点において、すべての方向の光線の光線情報（光線の軌跡とその光線に対応する画素値）が得られている場合には、その閉曲面の外側の任意の位置から見た画像を再構成することができる。
【０１９８】
なお、上述の場合には、曲面Ω上の任意の点を視点として、被写体を撮像した画像データが得られているものとしたが、被写体を撮像するときの視点は、曲面Ω上にない点であってもかまわない。即ち、例えば、曲面Ωが、被写体を囲む閉曲面であるとした場合、その閉曲面の外側の任意の位置から見た画像を再構成するには、原理的には、閉曲面上の任意の点において、すべての方向の光線情報が存在すればよく、その光線情報は、閉曲面上の点を視点として撮像された画像のものであっても、また、閉曲面上の点以外の点を視点として撮像された画像のものであっても良い。このことは、曲面Ωが開曲面であっても同様である。
【０１９９】
図５のデータ変換部３０は、以上のように、画像データベース２に記憶された原画像データを撮像したときの、所定の曲面Ωを通る光線情報のうち、ユーザの視点に向かう光線情報を用いて、提示用画像データ（ユーザの視点から見た画像データ）を再構成することにより、原画像データを提示用画像データに変換する。
【０２００】
即ち、図５のデータ変換部３０は、ユーザの視点から見た画像が表示される仮想的なスクリーン（仮想スクリーン）を、ユーザの視点と被写体との間に設定し、ユーザの視点と、仮想スクリーンの画素とを結ぶ直線と同一軌跡の光線を検出する。さらに、データ変換部３０は、検出した光線に対応する画素値を、仮想スクリーンの画素の画素値とし、以上の処理を、仮想スクリーン上のすべての画素値について行うことにより、仮想スクリーン上に、ユーザの視点から見た画像データ（提示用画像データ）を再構成する。
【０２０１】
従って、例えば、いま、被写体を囲む閉曲面の外側の任意の位置を視点とした提示用画像データを再構成するとした場合には、その閉曲面上のすべての点における、すべての方向の光線情報があれば良い。なお、理論上は、閉曲面上の点も、その点における方向も無限に存在するから、実際には、閉曲面上の点も、その点における方向も有限個に制限されることになる。
【０２０２】
ところで、閉曲面上のすべての点における、すべての方向の光線情報を用いて、その閉曲面の外側の任意の位置を視点とした提示用画像データを再構成する場合、視点が閉曲面上にある場合には、その視点と一致する閉曲面上の点を通る光線の光線情報を、そのまま用いて、提示用画像データを再構成することができる。
【０２０３】
しかしながら、視点が閉曲面上にない場合には、その視点と、その視点について設定された仮想スクリーン上の画素とを結ぶ直線が、閉曲面と交わる点を、仮想スクリーン上のすべての画素について求める必要があり、この場合、例えば、画像処理装置としてのコンピュータ１（図３）を構成するＣＰＵ１２の性能等によっては、提示用画像データを実時間で表示するのが困難となることがある。
【０２０４】
そこで、データ変換部３０は、画像データ変換部３１において、画像データベース２に記憶された原画像データを、その画素に入射した光線に対応する画素値からなる所定のフォーマットの画像データである中間データに変換しておき、中間データ変換部３２において、その中間データを、ユーザの視点から見た提示用画像データに変換するようにすることで、提示用画像データを実時間で表示することを可能としている。
【０２０５】
即ち、画像データ変換部３１は、原画像データを構成する所定の画素に入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、原画像データの所定の画素の画素値とした画像データを、中間データとして生成する。
【０２０６】
従って、曲面Ωとして、例えば、図２６に示すように、閉曲面としての球面を考え、その球面上のある点Ｑにおける、ある方向の光線に注目した場合、画像データ変換部３１では、その注目光線ついて、所定の点としての、例えば、原点を通り、注目光線と直交する平面α上において、注目光線が通る点Ｐｘが画素とされ、さらに、その画素値が、注目光線に対応する画素値に設定される。画像データ変換部３１では、球面上の点Ｑ以外の点における、同一方向の光線についても同様にして、平面α上に画素とその画素値が設定され、これにより、平面α上には、同一方向の光線に対応する画素値からなる画像データが形成される。
【０２０７】
ここで、いま、図２６において、球面の中心を原点とする３次元座標系を考えるとともに、球面上の点Ｑにおける、ある方向の光線と同一方向の、原点を通るベクトルを、ベクトルｖと表す。さらに、ベクトルｖを、３次元座標系におけるｘｙ平面に射影して得られるベクトルを、ベクトルｖ’と表すとともに、ベクトルｖとｖ’がつくる角度θを緯度と、ｘ軸とベクトルｖ’がつくる角度φを経度と、それぞれいうものとする。ベクトルｖの向きは、この緯度θと経度φで規定される。
【０２０８】
上述した平面αには、ベクトルｖと同一方向の光線に対応する画素値からなる画像データが形成されるが、この平面α上に形成される画像データは、ベクトルｖの方向の無限遠を視点として見た場合の画像データとなる。
【０２０９】
データ変換部３１は、各値の緯度θと経度φによって規定される向きのベクトルｖと直交し、原点を通る平面について、同様の画像データを構成し、中間データとして出力する。
【０２１０】
次に、図２７のフローチャートと、図２８を参照して、図５の画像データ変換部３１が、図６のステップＳ１で行う画像データ変換処理、即ち、原画像データを中間データに変換する処理について説明する。
【０２１１】
まず最初に、ステップＳ２１において、画像データ変換部３１は、画像データベース２に記憶された原画像データを撮像したときのカメラ４１の視点（以下、適宜、撮像ポイントともいう）から、注目撮像ポイントＰｃとするものを選択する。
【０２１２】
即ち、図７で説明した画像生成装置においては、カメラ４１を固定し、被写体を移動しながら、原画像データの撮像が行われるが、これは、相対的には、被写体を固定し、カメラ４１を移動しながら、原画像データの撮像が行われていることと等価である。即ち、原画像データは、カメラ４１の視点（撮像ポイント）を変えながら、被写体の撮像を行ったものであり、多数の撮像ポイントが存在する。ステップＳ２１では、その多数の撮像ポイントの中から、まだ注目撮像ポイントとしていない任意の撮像ポイントが、注目撮像ポイントＰｃとして選択される。
【０２１３】
ここで、画像データベース２には、上述したように、原画像データの各フレームとともに、その原画像データを撮像したときの、被写体の位置、並びにカメラ４１の位置および光軸方向を表す情報も記憶される。データ変換部３１は、これらの情報に基づき、各フレームの原画像データについて、例えば、撮像時座標系における、被写体の位置（姿勢を含む）を固定した場合のカメラ４１の位置としての撮像ポイントを求め、その中から、まだ注目撮像ポイントとしていない撮像ポイントを、注目撮像ポイントＰｃとして選択する。
【０２１４】
その後、ステップＳ２２に進み、画像データ変換部３１は、注目撮像ポイントＰｃについて、仮想スクリーンを設定し、仮想スクリーン上の画素のうち、まだ注目画素として選択していない画素を、注目画素Ｐｓとして選択する。
【０２１５】
即ち、画像データ変換部３１は、図２８に示すように、注目撮像ポイントＰｃについて、その注目撮像ポイントから、カメラ４１の光軸方向に向かって、所定の距離Ｌだけ離れた位置に、カメラ４１の光軸と直交する長方形状の平面を、仮想スクリーンとして設定する。そして、画像データ変換部３１は、仮想スクリーン上の画素のうち、例えば、ラスタスキャン順で、まだ注目画素としていない画素を、注目画素Ｐｓとして選択する。
【０２１６】
ここで、画像データ変換部３１では、注目撮像ポイントにおけるカメラ４１の光軸方向は、画像データベース２に記憶されている情報から認識される。
【０２１７】
また、仮想スクリーンの横と縦の画素数は、注目撮像ポイントＰｓから撮像された原画像データのフレームの横と縦の画素数にそれぞれ一致し、仮想スクリーン上には、注目撮像ポイントＰｓから撮像された原画像データが表示されているものと考える。
【０２１８】
ステップＳ２２の処理後は、ステップＳ２３に進み、画像データ変換部３１は、注目画素Ｐｓを始点とし、注目撮像ポイントＰｃを終点とするベクトルｖを求め、ステップＳ２４に進む。
【０２１９】
ここで、図２８の実施の形態では、ベクトルｖは、撮像時座標系において、ｘｚ平面内のベクトルであって、ｘｙ平面からｚ軸方向に角度θの方向を有するものとなっている。即ち、図２８の実施の形態では、ベクトルｖは、緯度がθで、経度が０度の方向のベクトルになっている。
【０２２０】
また、図２８の実施の形態では、注目撮像ポイントＰｃにおけるカメラ４１の光軸が、撮像時座標系の原点を通るものとなっているが、カメラ４１の光軸は、必ずしも、撮像時座標系の原点を通る必要はない。
【０２２１】
さらに、図２８では、被写体を囲む曲面Ωとして、閉曲面である、原点を中心とする球面を示してある。
【０２２２】
ステップＳ２４では、画像データ変換部３１は、ベクトルｖと直交し、撮像時座標系上の所定の点としての、例えば原点を通る平面αを求め、ステップＳ２５に進む。
【０２２３】
ここで、平面αは、必ずしも、原点を通るものである必要はない。
【０２２４】
ステップＳ２５では、画像データ変換部３１は、ステップＳ２３で求めたベクトルｖの緯度θおよび経度φを求め、即ち、ベクトルｖとｘｙ平面とがつくる角度である緯度θ、およびベクトルｖとｘｚ平面とがつくる角度である経度φを求め、ステップＳ２６に進む。
【０２２５】
ここで、ベクトルｖの緯度θおよび経度φは、ステップＳ２４で求められた平面αの法線方向の緯度θおよび経度φということもできる。従って、所定の点としての原点を通る平面αは、その緯度θと経度φによって特定することができるので、この緯度θと経度φによって特定される平面αを、以下、適宜、平面Ｉ（θ，φ）とも記述する。
【０２２６】
なお、緯度θの符号については、ｚ軸の正側と負側を、それぞれ正または負とする。また、経度φの符号についても、ｙ軸の正側と負側を、それぞれ正または負とする。
【０２２７】
ステップＳ２６では、画像データ変換部３１は、図２８に示すように、注目撮像ポイントＰｃと注目画素Ｐｓとを結ぶ直線Ｌｐを求める。さらに、ステップＳ２６では、画像データ変換部３１は、直線Ｌｐと、ステップＳ２４で求めた平面α（Ｉ（θ，φ））との交点Ｐｘを求め、ステップＳ２７に進み、その点Ｐｘの、平面α上における座標（ｘα，ｙα）を求める。
【０２２８】
ここで、平面α上における点Ｐｘの座標（ｘα，ｙα）は、次のようにして求めることができる。
【０２２９】
即ち、いま、平面α上に、２次元座標系を考え、そのｘ軸方向とｙ軸方向の、撮像時座標系における単位ベクトルを、それぞれｖｘとｖｙと表す。
【０２３０】
この場合、点Ｐｘのｘ座標ｘαとｙ座標ｙαは、それぞれ、ｖｘ・ＯＰｓ（またはｖｘ・ＯＰｃ）と、ｖｙ・ＯＰｓ（またはｖｙ・ＯＰｃ）を計算することによって求めることができる。但し、・は、内積を表し、ＯＰｓ（ＯＰｃ）は、撮像時座標系の原点を始点とし、注目画素Ｐｓ（注目撮像ポイントＰｃ）を終点とするベクトルを表す。
【０２３１】
なお、単位ベクトルｖｘは、例えば、式ｖｘ・ｖ＝０を満たし、かつ式ｖｘ・Ｚｖ＝０を満たす、長さが１のベクトルである。また、単位ベクトルｖｙは、例えば、式ｖｙ・ｖ＝０を満たし、かつ式ｖｙ・ｖｘ＝０を満たす、長さが１のベクトルである。但し、ベクトルＺｖは、撮像時座標系におけるｚ軸方向の単位ベクトル（＝（０，０，１））を表す。
【０２３２】
ここで、注目撮像ポイントＰｃからのカメラ４１の光軸が、撮像時座標系の原点を通らない場合は、例えば、その光軸と平面αとの交点の、平面α上の２次元座標系の座標の分だけ、点Ｐｘの座標（ｘα，ｙα）をオフセットする必要がある。
【０２３３】
即ち、上述のようにして、平面α上における点Ｐｘの座標（ｘα，ｙα）を求めた場合、その点Ｐｘの座標（ｘα，ｙα）は、注目撮像ポイントＰｃからのカメラ４１の光軸と平面αとの交点を原点とするものであり、このため、光軸が平面αと交わる点が異なる撮像ポイントを通る同一方向の光線については、同一平面α上に、原点が異なる位置にある２次元座標系が定義されてしまうことになる。
【０２３４】
そこで、ここでは、同一平面α上に定義される２次元座標系の原点を、所定の点としての、例えば、撮像時座標系の原点に固定するため、注目撮像ポイントＰｃからのカメラ４１の光軸が、撮像時座標系の原点を通らない場合は、画像データ変換部３１は、ステップＳ２７において、その光軸と平面αとの交点の、平面α上の２次元座標系の座標の分だけ、点Ｐｘの座標をオフセットする。
【０２３５】
具体的には、画像データ変換部３１は、上述したようにして求められた点Ｐｘの座標を、（ｘα’，ｙα’）と表すとともに、注目撮像ポイントＰｃからのカメラ４１の光軸と平面αとの交点の、平面α上の２次元座標系の座標を、（ｘα０，ｙα０）と表すと、座標（ｘα’，ｙα’）と（ｘα０，ｙα０）とを加算した座標（ｘα’＋ｘα０，ｙα’＋ｙα０）を、平面α上における点Ｐｘの座標（ｘα，ｙα）として、最終的に求める。
【０２３６】
その後、ステップＳ２８に進み、画像データ変換部３１は、仮想スクリーン上の原画像データを構成する画素のうちの注目画素Ｐｓの画素値を、平面α上の点Ｐｘの位置の画素の画素値とする。即ち、いま、平面α上の点Ｐｘの位置の画素の画素値を、平面αを表すＩ（θ，φ）と、平面α上の点Ｐｘの座標を表す（ｘα，ｙα）とによって、Ｉ（θ，φ）（ｘα，ｙα）と表すこととすると、ステップＳ２８において、画像データ変換部３１は、平面α上の点Ｐｘの位置の画素の画素値Ｉ（θ，φ）（ｘα，ｙα）に、注目画素Ｐｓの画素値を設定する。これにより、注目画素Ｐｓは、ベクトルｖと直交する平面Ｉ（θ，φ）に正射影され、その正射影された平面Ｉ（θ，φ）の点Ｐｘ（＝（ｘα，ｙα））の位置の画素の画素値Ｉ（θ，φ）（ｘα，ｙα）として、注目画素Ｐｓの画素値が設定される。ここで、この注目画素Ｐｓを平面Ｉ（θ，φ）に正射影した画素Ｐｘの画素値Ｉ（θ，φ）（ｘα，ｙα）が、中間データである。
【０２３７】
そして、ステップＳ２９に進み、画像データ変換部３１は、注目撮像ポイントＰｃに対して設定された仮想スクリーン上の（原画像データを構成する）すべての画素を注目画素としたかどうかを判定し、まだ、注目画素としていないものがあると判定した場合、ステップＳ２２に戻り、以下、同様の処理が繰り返される。
【０２３８】
また、ステップＳ２９において、仮想スクリーン上のすべての画素を注目画素としたと判定された場合、ステップＳ３０に進み、画像データ変換部３１は、画像データベース２に記憶された原画像データのすべてのフレームの撮像ポイントを、注目撮像ポイントとしたかどうかを判定する。
【０２３９】
ステップＳ３０において、画像データベース２に記憶された原画像データの各のフレームの撮像ポイントのうち、まだ、注目撮像ポイントとしていないものがあると判定された場合、ステップＳ２１に戻り、以下、同様の処理が繰り返される。
【０２４０】
また、ステップＳ３０において、画像データベース２に記憶された原画像データの各のフレームの撮像ポイントすべてを、注目撮像ポイントとしたと判定された場合、処理を終了する。
【０２４１】
以上の画像データ変換処理により、理想的には、各値の緯度θと経度φで定義される平面Ｉ（θ，φ）上に、その緯度θと経度φで規定される方向の無限遠から被写体を見た場合の画像データが生成され、この画像データが、中間データとして、中間データベース３に供給されて記憶される。
【０２４２】
図２９は、図２７の画像データ変換処理により生成される中間データのフォーマットを模式的に表している。
【０２４３】
図２７の画像データ変換処理によって生成される中間データは、平面Ｉ（θ，φ）上に、その緯度θと経度φで規定される方向の無限遠から見た被写体を映した画像データとなっており、従って、各値の緯度θおよび経度φごとに存在するので、図２９Ａに示すような、緯度θと経度φの値で区切られるテーブル（以下、適宜、緯度経度テーブルという）で表現することができる。
【０２４４】
ここで、図２９Ａの実施の形態では、緯度θが−９０度から９０度の範囲の１度刻みで、経度φが−１８０乃至１７９度の範囲の１度刻みで、それぞれ変化する平面Ｉ（θ，φ）ごとに、各緯度θと各経度φで規定される方向の無限遠から被写体を見た場合の画像データが、緯度経度テーブルの各マス目に登録されている。なお、緯度θや経度φを、何度刻みとするかは、特に限定されるものではない。また、緯度θや経度φの刻み幅は、一定であっても良いし、可変であっても良い。さらに、上述のように、緯度θと経度φが整数値のみを取り得る場合には、図２７の画像データ変換処理において緯度θと経度φを求める演算を行うにあたり、小数点以下は、例えば、切り上げ、切り捨て、または四捨五入される。
【０２４５】
図２９Ａの緯度経度テーブルの各マス目には、そのマス目に対応する緯度θと経度φで規定される方向の無限遠から被写体を見た場合の画像データ、即ち、平面Ｉ（θ，φ）上に正射影された原画像データの画素の画素値が、その平面Ｉ（θ，φ）上に定義された２次元座標系の各ｘ座標ｘαと各ｙ座標ｙαごとに登録されている。即ち、図２９Ａの緯度経度テーブルの各マス目には、例えば、図２９Ｂに示すように、平面Ｉ（θ，φ）上に定義された２次元座標系のｘ座標ｘαとｙ座標ｙαの値で区切られたテーブル（以下、適宜、画素値テーブルという）が登録されており、その画素値テーブルのマス目には、そのマス目に対応するｘ座標ｘαとｙ座標ｙαで規定される点に正射影された原画像データの画素の画素値ｐ（ｘα，ｙα）が登録されている。
【０２４６】
なお、図２９Ｂにおいて、ｘ１とｙ１は、原画像データの画素を平面Ｉ（θ，φ）上に正射影した点の、最小のｘ座標とｙ座標を、それぞれ表す。また、ｘ２とｙ２は、原画像データの画素を平面Ｉ（θ，φ）上に正射影した点の、最大のｘ座標とｙ座標を、それぞれ表す。さらに、図２９Ｂでは、ｘ座標およびｙ座標が１刻みになっているが、この刻み幅も、緯度θおよび経度φの刻み幅と同様に、特に限定されるものではない。
【０２４７】
ここで、図３０に、図２９Ａの緯度経度テーブルの各マス目に登録されている、無限遠から被写体を見た場合の画像データの模式図を示す。なお、図３０の実施の形態においては、被写体が、果物が入っている籠になっている。
【０２４８】
図２９Ａの緯度経度テーブルの各マス目に登録されている、無限遠から見た場合の画像データは、カメラで撮影された画像データそのものと同様の性質を有しており、従って、カメラで撮影された画像データに対して、その性質（例えば、相関性など）を利用して施される画像処理（例えば、エッジ強調やノイズ除去など）と同一の画像処理を施すことができる。
【０２４９】
ところで、図２９Ａの緯度経度テーブルの各マス目に登録されている画素値テーブル（図２９Ｂ）における画素値からなる画像データは、そのマス目に対応する緯度θと経度φで規定される平面Ｉ（θ，φ）上に正射影された原画像データの画素の画素値から構成されるため、画像データベース２に記憶される原画像データによっては、画素値が存在しない場合がある。
【０２５０】
即ち、平面Ｉ（θ，φ）上に原画像データの画素が正射影される範囲（以下、適宜、有効範囲という）は、図２９Ｂに示したように、ｘ座標がｘ１乃至ｘ２で、ｙ座標がｙ１乃至ｙ２で規定される範囲であり、この範囲における画素値が、画素値テーブルに登録されている。しかしながら、平面Ｉ（θ，φ）のすべての点（例えば、ｘ座標がｘ１乃至ｘ２の範囲の整数値で、ｙ座標がｙ１乃至ｙ２の範囲の整数値で、それぞれ表されるすべての点）に、原画像データの画素が正射影されるとは限らず、正射影される原画像データの画素が存在しない場合があり得る。
【０２５１】
従って、平面Ｉ（θ，φ）の有効範囲内の画素において、画素値が存在しない場合があり、この場合、その有効範囲の画像データ、即ち、平面Ｉ（θ，φ）に対応する画素値テーブル（図２９Ｂ）における画素値からなる画像データは、例えば、図３１Ａに示すように、その一部の画素の画素値が欠落したものとなる。
【０２５２】
ここで、図３１Ａの実施の形態においては、黒色で示す縞模様状に、画素値が欠落している。
【０２５３】
このように、平面Ｉ（θ，φ）の有効範囲、つまり画素値テーブルに、画素値の欠落が生じている場合には、その画素値を補間する画素値補間処理を行い、これにより、図３１Ａに示した画素値が欠落している画素値テーブル（に登録された画素値で構成される画像）を、図３１Ｂに示すような、画素値の欠落のない画素値テーブルに変換することができる。
【０２５４】
画素値テーブルについての画素値補間処理は、例えば、次のようにして行うことが可能である。
【０２５５】
即ち、例えば、いま、平面Ｉ（θ，φ）の有効範囲のある点（ｘα，ｙα）における画素値Ｉ（θ，φ）（ｘα，ｙα）が欠落している場合において、緯度または経度が僅かにずれた平面Ｉ（θ’，φ’）の有効範囲の、点（ｘα，ｙα）と同一座標の点における画素値Ｉ（θ’，φ’）（ｘα，ｙα）が存在するときには、欠落している画素値Ｉ（θ，φ）（ｘα，ｙα）は、平面Ｉ（θ’，φ’）上の画素値Ｉ（θ’，φ’）（ｘα，ｙα）で補間することができる。
【０２５６】
なお、θ’は、例えば、経度が整数値のみをとる場合には、θ±１やθ±２などとする。
【０２５７】
以上のような画素値補間処理は、図２７の画像データ変換処理が終了した後、例えば、画像データ変換部３１に行わせることができる。
【０２５８】
そこで、図３２のフローチャートを参照して、画像データ変換部３１が行う画素値補間処理について説明する。なお、ここでは、説明を簡単にするために、緯度θ、経度φ、平面Ｉ（θ，φ）の有効範囲のｘ座標ｘα、ｙ座標ｙαは、いずれも整数値のみをとるものとする。
【０２５９】
画素値補間処理では、まず最初に、ステップＳ４１において、画像データ変換部３１が、緯度を表す変数θと、経度を表す変数φに、初期値としての、例えば、その最小値である−９０度と−１８０度をそれぞれセットするとともに、平面Ｉ（θ，φ）のｘ座標を表す変数ｘαと、ｙ座標を表す変数ｙαに、初期値としての、例えば、その最小値であるｘ１とｙ１をそれぞれセットする。
【０２６０】
そして、ステップＳ４２に進み、画像データ変換部３１は、中間データＩ（θ，φ）（ｘα，ｙα）に、画素値がセットされているかどうかを判定する。
【０２６１】
ここで、中間データＩ（θ，φ）（ｘα，ｙα）に、画素値がセットされているかどうかの判定は、例えば、図２７の画像データ変換処理を行う前に、中間データとしての配列変数Ｉ（θ，φ）（ｘα，ｙα）に、画素値としては取り得ない値を、初期値として設定しておき、その値が、Ｉ（θ，φ）（ｘα，ｙα）にセットされているかどうかによって行う方法がある。
【０２６２】
ステップＳ４２において、中間データＩ（θ，φ）（ｘα，ｙα）に、画素値がセットされていると判定された場合、即ち、画素値が欠落していない場合、ステップＳ４３およびＳ４４をスキップして、ステップＳ４５に進む。
【０２６３】
また、ステップＳ４２において、中間データＩ（θ，φ）（ｘα，ｙα）に、画素値がセットされていないと判定された場合、即ち、画素値が欠落している場合、ステップＳ４３に進み、画像データ変換部３１は、θ−△θ＜θ’＜θ＋△θの範囲の緯度θ’と、φ−△φ＜φ’＜φ＋△φの範囲の経度φ’で規定される平面Ｉ（θ’，φ’）上の点（ｘα，ｙα）の中で、画素値がセットされているものを探索（検索）する。
【０２６４】
ここで、△θと△φとしては、例えば、いずれも、小さい正の整数値が採用される。
【０２６５】
その後、ステップＳ４４に進み、画像データ変換部３１は、ステップＳ４３で探索された画素値がセットされている中間データＩ（θ’，φ’）（ｘα，ｙα）の値（画素値）を、欠落している画素値である中間データＩ（θ，φ）（ｘα，ｙα）にセットして、ステップＳ４５に進む。
【０２６６】
ここで、ステップＳ４３において、θ−△θ＜θ’＜θ＋△θの範囲の緯度θ’と、φ−△φ＜φ’＜φ＋△φの範囲の経度φ’で規定される平面Ｉ（θ’，φ’）上の点（ｘα，ｙα）の中で、画素値がセットされているものが複数見つかった場合には、ステップＳ４４では、画像データ変換部３１は、その中から、例えば、緯度の差の絶対値｜θ−θ’｜と、経度の差の絶対値｜φ−φ’｜の自乗和が最も小さいものを選択し、その選択したＩ（θ’，φ’）（ｘα，ｙα）の値を、中間データＩ（θ，φ）（ｘα，ｙα）にセットする。
【０２６７】
また、ステップＳ４３において、θ−△θ＜θ’＜θ＋△θの範囲の緯度θ’と、φ−△φ＜φ’＜φ＋△φの範囲の経度φ’で規定される平面Ｉ（θ’，φ’）上の点（ｘα，ｙα）の中で、画素値がセットされているものが見つからなかった場合には、ステップＳ４４では、画像データ変換部３１は、Ｉ（θ，φ）上の画素値がセットされている点の中から、点（ｘα，ｙα）と最も近い点を検索し、その点にセットされている画素値を、点（ｘα，ｙα）にセットする。
【０２６８】
なお、画素値補間処理では、平面Ｉ（θ，φ）上の、画素値がセットされていない点（ｘα，ｙα）に、画素値が補間されるから、その処理が進行していくと、画素値が補間された点における画素値によって、さらに、他の点における画素値が補間されることが生じうる。これを防止するためには、画素値の補間がされた点に、例えば、補間がされたことを表す補間フラグを付加するようにし、補間フラグが付加されている点における画素値は、補間に用いないようにする（ステップＳ４３における探索の対象外とする）必要がある。
【０２６９】
ステップＳ４５では、画像データ変換部３１が、平面Ｉ（θ，φ）上のｙ座標を表す変数ｙαが、その最大値であるｙ２に等しいかどうかを判定する。ステップＳ４５において、ｙ座標ｙαが、最大値ｙ２に等しくないと判定された場合、ステップＳ４６に進み、画像データ変換部３１は、ｙ座標ｙαを１だけインクリメントして、ステップＳ４２に戻り、以下、同様の処理を繰り返す。
【０２７０】
また、ステップＳ４５において、ｙ座標ｙαが、最大値ｙ２に等しいと判定された場合、ステップＳ４７に進み、画像データ変換部３１は、ｙ座標ｙαを、その最小値であるｙ１にリセットして、ステップＳ４８に進む。
【０２７１】
ステップＳ４８では、画像データ変換部３１が、平面Ｉ（θ，φ）上のｘ座標を表す変数ｘαが、その最大値であるｘ２に等しいかどうかを判定する。ステップＳ４８において、ｘ座標ｘαが、最大値ｘ２に等しくないと判定された場合、ステップＳ４９に進み、画像データ変換部３１は、ｘ座標ｘαを１だけインクリメントして、ステップＳ４２に戻り、以下、同様の処理を繰り返す。
【０２７２】
また、ステップＳ４８において、ｘ座標ｘαが、最大値ｘ２に等しいと判定された場合、ステップＳ５０に進み、画像データ変換部３１は、ｘ座標ｘαを、その最小値であるｘ１にリセットして、ステップＳ５１に進む。
【０２７３】
ステップＳ５１では、画像データ変換部３１は、経度を表す変数φが、その最大値である１７９度に等しいかどうかを判定する。ステップＳ５１において、経度φが、最大値である１７９度に等しくないと判定された場合、ステップＳ５２に進み、画像データ変換部３１は、経度φを１だけインクリメントして、ステップＳ４２に戻り、以下、同様の処理を繰り返す。
【０２７４】
また、ステップＳ５１において、経度φが、最大値である１７９度に等しいと判定された場合、ステップＳ５３に進み、画像データ変換部３１は、経度φを、その最小値である−１８０度にリセットし、ステップＳ５４に進む。
【０２７５】
ステップＳ５４では、画像データ変換部３１は、緯度を表す変数θが、その最大値である９０度に等しいかどうかを判定する。ステップＳ５４において、緯度θが、最大値である９０度に等しくないと判定された場合、ステップＳ５５に進み、画像データ変換部３１は、緯度θを１だけインクリメントして、ステップＳ４２に戻り、以下、同様の処理を繰り返す。
【０２７６】
また、ステップＳ５４において、緯度θが、最大値である９０度に等しいと判定された場合、処理を終了する。
【０２７７】
なお、ここでは、画素値補間処理を、画像データ変換部３１に行わせるようにしたが、画素値補間処理は、その他、例えば、図２７の画像データ変換処理が終了した後に、中間データ変換部３２（図５）に行わせるようにすることも可能である。
【０２７８】
ところで、図３２の画素値補間処理では、他の点にセットされている画素値を、画素値がセットされていない点の画素値として、そのまま用いて補間が行われることから、平面Ｉ（θ，φ）上に形成される画像データの真値が存在すると仮定すると、画素値補間処理によって得られる画像データは、基本的に、真値に一致しない。
【０２７９】
しかしながら、真値に一致しないまでも、真値に、より近い画像データが得られるのが望ましい。
【０２８０】
そこで、図３２の画素補間処理によって得られる画像データを、真値に、より近い画像データに変換する方法として、例えば、本件出願人が先に提案しているクラス分類適応処理がある。
【０２８１】
クラス分類適応処理は、クラス分類処理と適応処理とからなり、クラス分類処理によって、データが、その性質に基づいてクラス分けされ、各クラスごとに適応処理が施される。
【０２８２】
ここで、適応処理について、低画質の画像（以下、適宜、低画質画像という）を、高画質の画像（以下、適宜、高画質画像という）に変換する場合を例に説明する。
【０２８３】
なお、図３２の画素補間処理によって得られる画像データは、真値と比較して低画質な低画質画像と考えることができ、真値は、図３２の画素補間処理によって得られる画像データと比較して高画質な高画質画像と考えることができる。
【０２８４】
適応処理では、低画質画像を構成する画素（以下、適宜、低画質画素という）と、所定のタップ係数との線形結合により、その低画質画像の画質を向上させた高画質画像の画素の予測値を求めることで、その低画質画像の画質を高くした画像が得られる。
【０２８５】
具体的には、例えば、いま、ある高画質画像を教師データとするとともに、その高画質画像の画質を劣化させた低画質画像を生徒データとして、高画質画像を構成する画素（以下、適宜、高画質画素という）の画素値ｙの予測値Ｅ［ｙ］を、幾つかの低画質画素の画素値ｘ１，ｘ２，・・・の集合と、所定のタップ係数ｗ１，ｗ２，・・・の線形結合により規定される線形１次結合モデルにより求めることを考える。この場合、予測値Ｅ［ｙ］は、次式で表すことができる。
【０２８６】
【数１９】
2004013222.tif 000021
・・・（１９）
【０２８７】
式（１９）を一般化するために、タップ係数ｗｊの集合でなる行列Ｗ、生徒データｘｉｊの集合でなる行列Ｘ、および予測値Ｅ［ｙｊ］の集合でなる行列Ｙ’を、次式のように定義する。
【０２８８】
【数２０】
2004013222.tif 000022
・・・（２０）
【０２８９】
この場合、次のような観測方程式が成立する。
【０２９０】
【数２１】
2004013222.tif 000023
・・・（２１）
【０２９１】
ここで、行列Ｘの成分ｘｉｊは、ｉ件目の生徒データの集合（ｉ件目の教師データｙｉの予測に用いる生徒データの集合）の中のｊ番目の生徒データを意味し、行列Ｗの成分ｗｊは、生徒データの集合の中のｊ番目の生徒データとの積が演算されるタップ係数を表す。また、ｙｉは、ｉ件目の教師データを表し、従って、Ｅ［ｙｉ］は、ｉ件目の教師データの予測値を表す。なお、式（１９）の左辺におけるｙは、行列Ｙの成分ｙｉのサフィックスｉを省略したものであり、また、式（１９）の右辺におけるｘ１，ｘ２，・・・も、行列Ｘの成分ｘｉｊのサフィックスｉを省略したものである。
【０２９２】
式（２１）の観測方程式に最小自乗法を適用して、高画質画素の画素値ｙに近い予測値Ｅ［ｙ］を求めることを考える。そこで、まず、教師データとなる高画質画素の真の画素値ｙの集合でなる行列Ｙ、および高画質画素の画素値ｙに対する予測値Ｅ［ｙ］の残差ｅの集合でなる行列Ｅを、次式で定義する。
【０２９３】
【数２２】
2004013222.tif 000024
・・・（２２）
【０２９４】
この場合、式（２１）から、次のような残差方程式が成立する。
【０２９５】
【数２３】
2004013222.tif 000025
・・・（２３）
【０２９６】
最小自乗法では、高画質画素の画素値ｙに近い予測値Ｅ［ｙ］を求めるためのタップ係数ｗｊを評価する尺度として、例えば、次式で表される自乗誤差が採用される。
【０２９７】
【数２４】
2004013222.tif 000026
・・・（２４）
【０２９８】
高画質画素の画素値ｙに近い予測値Ｅ［ｙ］を求めるためのタップ係数ｗｊは、式（２４）の自乗誤差を最小にすることで求めることができる。
【０２９９】
従って、式（２４）の自乗誤差をタップ係数ｗｊで微分したものが０になる場合、即ち、次式を満たすタップ係数ｗｊが、高画質画素の画素値ｙに近い予測値Ｅ［ｙ］を求めるため最適値ということになる。
【０３００】
【数２５】
2004013222.tif 000027
・・・（２５）
【０３０１】
そこで、まず、式（２３）を、タップ係数ｗｊで微分することにより、次式が成立する。
【０３０２】
【数２６】
2004013222.tif 000028
・・・（２６）
【０３０３】
式（２５）および（２６）より、式（２７）が得られる。
【０３０４】
【数２７】
2004013222.tif 000029
・・・（２７）
【０３０５】
さらに、式（２３）の残差方程式における生徒データｘｉｊ、タップ係数ｗｊ、教師データｙｉ、および残差（誤差）ｅｉの関係を考慮すると、式（２７）から、次のような正規方程式を得ることができる。
【０３０６】
【数２８】
2004013222.tif 000030
・・・（２８）
【０３０７】
なお、いま、ベクトルＷを、式（２０）で示したように定義するとともに、行列（共分散行列）Ａおよびベクトルｖを、次式で定義する。
【０３０８】
【数２９】
2004013222.tif 000031
・・・（２９）
【０３０９】
この場合、式（２８）に示した正規方程式は、次式で表される。
【０３１０】
【数３０】
2004013222.tif 000032
・・・（３０）
【０３１１】
式（３０）と等価な式（２８）における各正規方程式は、生徒データｘｉｊおよび教師データｙｉのセットを、ある程度の数だけ用意することで、求めるべきタップ係数ｗｊの数Ｊと同じ数だけたてることができ、従って、式（３０）を、ベクトルＷについて解くことで（但し、式（３０）を解くには、式（３０）における行列Ａが正則である必要がある）、最適なタップ係数ｗｊを求めることができる。なお、式（３０）を解くにあたっては、例えば、掃き出し法（Ｇａｕｓｓ−Ｊｏｒｄａｎの消去法）などを用いることが可能である。
【０３１２】
以上のように、生徒データと教師データを用いて、最適なタップ係数ｗｊを求める学習をしておき、さらに、そのタップ係数ｗｊを用い、式（１９）により、教師データｙに近い予測値Ｅ［ｙ］を求めるのが適応処理である。
【０３１３】
なお、適応処理は、低画質画像には含まれていないが、高画質画像に含まれる成分が再現される点で、単なる補間とは異なる。即ち、適応処理では、式（１９）だけを見る限りは、例えば、いわゆる補間フィルタを用いての単なる補間と同一に見えるが、その補間フィルタのタップ係数に相当するタップ係数ｗが、教師データｙを用いての、いわば学習により求められるため、高画質画像に含まれる成分を再現することができる。このことから、適応処理は、いわば画像の創造作用がある処理ということができる。
【０３１４】
次に、図３３は、上述のようなクラス分類適応処理を行うクラス分類適応処理装置の構成例を示している。
【０３１５】
なお、クラス分類適応処理装置は、例えば、図５の画像データ変換部３１または中間データ変換部３２に内蔵させ、図３２の画素値補間処理が施された中間データを対象に、クラス分類適応処理を行わせるようにすることができる。また、クラス分類適応処理装置は、図５の画像データ変換部３１および中間データ変換部３２とは別に設け、中間データベース３に記憶された、図３２の画素値補間処理が施された中間データを対象に、クラス分類適応処理を行わせるようにすることができる。
【０３１６】
バッファ６１には、低画質画像データとしての、画素値補間処理が施された中間データ（以下、適宜、補間中間データという）が供給され、バッファ６１は、そこに供給される低画質画像データを一時記憶する。
【０３１７】
予測タップ抽出部６２は、後述する積和演算部６６において求めようとする、中間データの真値としての高画質画像データの画素（高画質画素）を、順次、注目画素とし、さらに、その注目画素を予測するのに用いる低画質画像データの画素（低画質画素）を、バッファ６１から抽出し、予測タップとする。
【０３１８】
即ち、予測タップ抽出部６２は、例えば、注目画素に対応する位置に対して近い位置にある低画質画素の幾つかを、予測タップとして、バッファ６１から読み出す。
【０３１９】
そして、予測タップ抽出部６２は、注目画素について、予測タップを得ると、その注目画素についての予測タップを、積和演算部６６に供給する。
【０３２０】
ここで、予測タップ抽出部６２では、例えば、注目画素の平面に対応する低画質画像データとしての中間データの平面Ｉ（θ，φ）において、注目画素に対応する位置から近い位置にある低画質画素の幾つかを、予測タップとして抽出することができる。さらに、予測タップ抽出部６２では、平面Ｉ（θ，φ）から緯度θまたは経度φが僅かにずれた平面Ｉ（θ’，φ’）において、注目画素に対応する位置から近い位置にある低画質画素の幾つかも、予測タップとして抽出することが可能である。
【０３２１】
一方、クラスタップ抽出部６３は、注目画素を、幾つかのクラスのうちのいずれかに分類するためのクラス分類に用いる低画質画素を、バッファ６１から抽出し、クラスタップとする。
【０３２２】
なお、ここでは、説明を簡単にするために、例えば、予測タップ抽出部６２で得られる予測タップと、クラスタップ抽出部６３で得られるクラスタップとは、同一のタップ構造を有するものとする。但し、予測タップとクラスタップとは、独立（別）のタップ構造を有するものとすることが可能である。
【０３２３】
クラスタップ抽出部６３において得られる、注目画素についてのクラスタップは、クラス分類部６４に供給される。クラス分類部６４は、クラスタップ抽出部６３からのクラスタップに基づき、注目画素をクラス分類し、その結果得られるクラスに対応するクラスコードを出力する。
【０３２４】
ここで、クラス分類を行う方法としては、例えば、ＡＤＲＣ（Ａｄａｐｔｉｖｅ　Ｄｙｎａｍｉｃ　Ｒａｎｇｅ　Ｃｏｄｉｎｇ）等を採用することができる。
【０３２５】
ＡＤＲＣを用いる方法では、クラスタップを構成する画素の画素値が、ＡＤＲＣ処理され、その結果得られるＡＤＲＣコードにしたがって、注目画素のクラスが決定される。
【０３２６】
なお、ＫビットＡＤＲＣにおいては、例えば、クラスタップを構成する画素値の最大値ＭＡＸと最小値ＭＩＮが検出され、ＤＲ＝ＭＡＸ−ＭＩＮを、集合の局所的なダイナミックレンジとし、このダイナミックレンジＤＲに基づいて、クラスタップを構成する画素がＫビットに再量子化される。即ち、クラスタップを構成する各画素の画素値から、最小値ＭＩＮが減算され、その減算値がＤＲ／２Ｋで除算（量子化）される。そして、以上のようにして得られる、クラスタップを構成するＫビットの各画素の画素値を、所定の順番で並べたビット列が、ＡＤＲＣコードとして出力される。従って、クラスタップが、例えば、１ビットＡＤＲＣ処理された場合には、そのクラスタップを構成する各画素の画素値は、最小値ＭＩＮが減算された後に、最大値ＭＡＸと最小値ＭＩＮとの平均値で除算され、これにより、各画素の画素値が１ビットとされる（２値化される）。そして、その１ビットの画素値を所定の順番で並べたビット列が、ＡＤＲＣコードとして出力される。
【０３２７】
なお、クラス分類部６４には、例えば、クラスタップを構成する画素のレベル分布（画素値分布）のパターンを、そのままクラスコードとして出力させることも可能であるが、この場合、クラスタップが、Ｎ個の画素で構成され、各画素に、Ｋビットが割り当てられているとすると、クラス分類部６４が出力するクラスコードの場合の数は、（２Ｎ）Ｋ通りとなり、画素のビット数Ｋに指数的に比例した膨大な数となる。
【０３２８】
従って、クラス分類部６４においては、クラスタップの情報量を、上述のＡＤＲＣ処理や、あるいはベクトル量子化等によって圧縮してから、クラス分類を行うのが好ましい。
【０３２９】
クラス分類部６４が出力するクラスコードは、係数記憶部６５に、アドレスとして与えられる。
【０３３０】
係数記憶部６５は、後述する学習装置において学習処理が行われることにより得られるタップ係数を記憶しており、クラス分類部６４が出力するクラスコードに対応するアドレスに記憶されているタップ係数を、積和演算部６６に出力する。
【０３３１】
積和演算部６６は、予測タップ抽出部６２が出力する予測タップと、係数記憶部６５が出力するタップ係数とを取得し、その予測タップとタップ係数とを用いて、式（１９）に示した線形予測演算（積和演算）を行い、その演算結果を、注目画素となっている高画質画素の画素値として出力する。
【０３３２】
次に、図３４は、図３３の係数記憶部６５に記憶させるタップ係数の学習処理を行う学習装置の一実施の形態の構成例を示している。
【０３３３】
教師データメモリ７１には、学習に用いられる学習用データが供給される。ここで、学習用データとしては、中間データの真値としての高画質画像データが用いられる。即ち、例えば、多数の視点から撮像した画像データを対象に、図２７の画像データ変換処理を行うことで、画素値の欠落のない中間データを生成し、これが、学習用データとして用いられる。
【０３３４】
教師データメモリ７１は、そこに供給される、学習用データとしての高画質画像データを、学習の教師となる教師データとして記憶する。そして、生徒データ生成部７２は、教師データメモリ７１に記憶された教師データから、学習の生徒となる生徒データを生成する。
【０３３５】
即ち、生徒データ生成部７２は、教師データメモリ７１に記憶された教師データとしての画像データの画素値を欠落させ、その画素値を欠落させた画像データに、図３２の画素値補間処理を施す。そして、生徒データ生成部７２は、その画素値補間処理によって得られる低画質の画像データを、生徒データとして、生徒データメモリ７３に供給して記憶させる。
【０３３６】
教師データメモリ７１に記憶された教師データについて、生徒データが求められ、生徒データメモリ７３に記憶されると、予測タップ抽出部７４は、教師データメモリ７１に記憶された教師データを、順次、注目画素とし、さらに、その注目画素を予測するのに用いる生徒データを、生徒データメモリ７３から抽出し、これにより、図３３の予測タップ抽出部６２が構成する予測タップと同一のタップ構造の予測タップを構成する。
【０３３７】
以上のようにして、予測タップ抽出部７４で得られた予測タップは、正規方程式加算部７７に供給される。
【０３３８】
一方、クラスタップ抽出部７５は、注目画素のクラス分類に用いる生徒データを、生徒データメモリ７３から抽出し、これにより、図３３のクラスタップ抽出部６３における場合と同一構造のクラスタップを構成して、クラス分類部７６に供給する。
【０３３９】
クラス分類部７６は、クラスタップ抽出部７５から、注目画素についてのクラスタップが供給されると、そのクラスタップを用い、図３３のクラス分類部６４と同一のクラス分類を行い、注目画素のクラスを表すクラスコードを、正規方程式加算部７７に供給する。
【０３４０】
正規方程式加算部７７は、教師データメモリ７１から、注目画素となっている教師データを読み出し、予測タップ抽出部７４からの予測タップを構成する生徒データ、および注目画素としての教師データを対象とした足し込みを、クラス分類部７６から供給されるクラスごとに行う。
【０３４１】
即ち、正規方程式加算部７７は、クラス分類部７６から供給されるクラスコードに対応するクラスごとに、予測タップ（生徒データ）を用い、式（２９）の行列Ａにおける各コンポーネントとなっている、生徒データどうしの乗算（ｘｉｎｘｉｍ）と、サメーション（Σ）に相当する演算を行う。
【０３４２】
さらに、正規方程式加算部７７は、やはり、クラス分類部７６から供給されるクラスコードに対応するクラスごとに、予測タップ（生徒データ）および注目画素（教師データ）を用い、式（２９）のベクトルｖにおける各コンポーネントとなっている、生徒データと教師データの乗算（ｘｉｎｙｉ）と、サメーション（Σ）に相当する演算を行う。
【０３４３】
正規方程式加算部７７は、以上の足し込みを、教師データメモリ７１に記憶された教師データすべてを注目画素として行い、これにより、各クラスについて、式（３０）に示した正規方程式をたてる。
【０３４４】
その後、タップ係数決定部７８は、正規方程式加算部７７においてクラスごとに生成された正規方程式を解くことにより、クラスごとに、タップ係数を求め、係数メモリ７９の、各クラスに対応するアドレスに供給する。これにより、係数メモリ７９では、タップ係数決定部７８から供給されるクラスごとのタップ係数が記憶される。
【０３４５】
なお、図２９の中間データのフォーマットは、原画像データを構成する画素に入射した光線の各方向（緯度θと経度φによって特定される各方向）について、その方向に垂直な平面の各点ごとに、その点に入射する、平面と垂直な方向の光線に対応する画素値を表したものであるが、中間データは、その他、例えば、図３５に示すフォーマットとすることも可能である。
【０３４６】
即ち、図２９のフォーマットでは、中間データが、緯度θと経度φの値で区切られる緯度経度テーブル（図２９Ａ）で表現され、さらに、その緯度経度テーブルの各マス目には、そのマス目に対応する緯度θと経度φで規定される平面Ｉ（θ，φ）上に正射影された原画像データの画素の画素値が、その平面Ｉ（θ，φ）上に定義された２次元座標系の各ｘ座標ｘαと各ｙ座標ｙαごとに配置された画素値テーブルが登録されている。
【０３４７】
これに対して、図３５の中間データのフォーマットは、原画像データを構成する画素に入射した光線の方向と垂直な平面の各点について、その平面と垂直な方向ごとに、その方向の光線に対応する画素値を表したものとなっている。
【０３４８】
即ち、図３５のフォーマットでは、中間データが、図３５Ａに示すように、原画像データの画素の画素値が正射影される平面Ｉ（θ，φ）上に定義された２次元座標系のｘ座標ｘαとｙ座標ｙαの値で区切られたテーブル（以下、適宜、座標テーブルという）で表現され、さらに、その座標テーブルの各マス目には、図３５Ｂに示すように、そのマス目に対応するｘ座標ｘαとｙ座標ｙαで規定される点に正射影された原画像データの画素値が、画素値が正射影される平面Ｉ（θ，φ）を規定する各緯度θと各経度φごとに配置されたテーブル（このテーブルも、以下、適宜、画素値テーブルという）が登録される。
【０３４９】
図３５のフォーマットでは、座標テーブルの１つのマス目に、緯度θと経度φが各値の平面における、同一座標の点に正射影された原画像データの画素値が配置されるため、図３２の画素値補間処理を行う場合に、図２９のフォーマットよりも有利である。
【０３５０】
即ち、図３２の画素値補間処理では、平面Ｉ（θ，φ）上のある点（ｘα，ｙα）における画素値Ｉ（θ，φ）（ｘα，ｙα）が欠落している場合には、緯度または経度が僅かにずれた平面Ｉ（θ’，φ’）上の、点（ｘα，ｙα）と同一座標の点における画素値Ｉ（θ’，φ’）（ｘα，ｙα）によって、欠落している画素値Ｉ（θ，φ）（ｘα，ｙα）が補間される。
【０３５１】
従って、図２９のフォーマットの中間データでは、画素値補間処理を行うのに、緯度経度テーブル（図２９Ａ）において、画素値の欠落がある平面Ｉ（θ，φ）に対応するマス目とは別のマス目である、平面Ｉ（θ’，φ’）に対応するマス目から、画素値Ｉ（θ’，φ’）（ｘα，ｙα）を読み出す必要がある。
【０３５２】
これに対して、図３５のフォーマットの中間データでは、座標テーブル（図３５Ａ）において、各緯度θと各経度φの平面Ｉ（θ，φ）上における同一座標（ｘα，ｙα）の点における画素値が、１つのマス目に登録されているから、画素値補間処理を行うにあたっては、画素値の欠落がある平面Ｉ（θ，φ）上の点（ｘα，ｙα）に対応するマス目と同一のマス目から、画素値Ｉ（θ’，φ’）（ｘα，ｙα）を読み出すことができる。即ち、この場合、座標テーブル（図３５Ａ）において、画素値の欠落がある平面Ｉ（θ，φ）上の点（ｘα，ｙα）に対応するマス目と別のマス目にアクセスする必要がない。
【０３５３】
次に、図３６のフローチャートと、図３７を参照して、図５の中間データ変換部３２が、図６のステップＳ３で行う中間データ変換処理、即ち、中間データを、ユーザの視点から見た画像データ（提示用画像データ）に変換する処理について説明する。
【０３５４】
まず最初に、ステップＳ６１において、中間データ変換部３２は、図６のステップＳ２で設定されたユーザの視点Ｐｃについて、図３７に示すように、そのユーザの視点Ｐｃから、その視線方向に向かって、所定の距離Ｌだけ離れた位置に、ユーザの視線と直交する長方形状の平面を、仮想スクリーンとして設定する。
【０３５５】
ここで、本実施の形態では、説明を簡単にするため、図２７で説明した画像データ変換処理では、被写体のある点（例えば、重心など）を原点とする撮像時座標系を用いて処理が行われるものとする。
【０３５６】
さらに、中間データ変換処理では、ディスプレイ６（図２）に、ユーザの視点に応じた画像を表示するための３次元座標系が想定される。いま、この３次元座標系を、表示時座標系というものとし、その原点は、例えば、ディスプレイ６の表示画面の中心点（表示画面の対角線の交点）にとられるものとする。そして、ユーザの視線は、視点Ｐｃから、例えば、表示時座標系の原点に向かうものであるとする。
【０３５７】
その後、ステップＳ６２に進み、中間データ変換部３２は、ユーザの視点Ｐｃについて設定した仮想スクリーン上の画素のうち、まだ注目画素として選択していない画素を、注目画素Ｐｓとして選択する。
【０３５８】
ステップＳ６２の処理後は、ステップＳ６３に進み、中間データ変換部３２は、注目画素Ｐｓを始点とし、ユーザの視点Ｐｃを終点とするベクトルｖを求め、ステップＳ６４に進む。
【０３５９】
ここで、図３７の実施の形態では、ベクトルｖは、表示時座標系において、ｘｚ平面内のベクトルであって、ｘｙ平面からｚ軸方向に角度θの方向を有するものとなっている。即ち、図３７の実施の形態では、ベクトルｖは、緯度がθで、経度が０度の方向のベクトルになっている。
【０３６０】
また、図３７の実施の形態では、ユーザの視線方向が、上述したように、ユーザの視点Ｐｃから表示時座標系の原点を通るものとなっているが、ユーザの視線方向は、必ずしも、表示時座標系の原点を通る必要はない。即ち、ユーザの視線方向は、何らかの方法で検出するようにすることができる。
【０３６１】
さらに、図３７では、図２８における場合と同様に、被写体を囲む曲面Ωとして、閉曲面である球面を示してある。
【０３６２】
ステップＳ６４では、中間データ変換部３２は、ベクトルｖと直交し、表示時座標系上の所定の点としての原点を通る平面αを求め、ステップＳ６５に進む。
【０３６３】
ここで、平面αは、必ずしも、原点を通るものである必要はない。
【０３６４】
ステップＳ６５では、中間データ変換部３２は、ステップＳ６３で求めたベクトルｖの緯度θおよび経度φを求め、即ち、ベクトルｖとｘｙ平面とがつくる角度である緯度θ、およびベクトルｖとｘｚ平面とがつくる角度である経度φを求め、ステップＳ６６に進む。
【０３６５】
ここで、ベクトルｖの緯度θおよび経度φは、ステップＳ６４で求められた平面αの法線方向の緯度θおよび経度φでもある。従って、所定の点としての原点を通る平面αは、その緯度θと経度φによって特定することができるので、この緯度θと経度φによって特定される平面αを、画像データ変換処理における場合と同様に、以下、適宜、平面Ｉ（θ，φ）とも記述する。
【０３６６】
ステップＳ６６では、中間データ変換部３２は、図３７に示すように、ユーザの視点Ｐｃと注目画素Ｐｓとを結ぶ直線Ｌｐを求める。さらに、ステップＳ６６では、中間データ変換部３２は、直線Ｌｐと、ステップＳ６４で求めた平面α（Ｉ（θ，φ））との交点Ｐｘを求め、ステップＳ６７に進み、その点Ｐｘの、平面α上の２次元座標系における座標（ｘα，ｙα）を求める。
【０３６７】
ここで、平面α上における点Ｐｘの座標（ｘα，ｙα）は、図２７のステップＳ２７における場合と同様にして求めることができる。
【０３６８】
なお、ユーザの視点Ｐｃからの視線方向が、表示時座標系の原点を通らない場合は、例えば、図２７のステップＳ２７で説明した場合と同様に、その視線方向の直線と平面αとの交点の、平面α上の２次元座標系の座標の分だけ、点Ｐｘの座標（ｘα，ｙα）をオフセットする必要がある。
【０３６９】
その後、ステップＳ６８に進み、中間データ変換部３２は、仮想スクリーン上の注目画素Ｐｓの画素値として、平面α上の点Ｐｘの位置の画素の画素値をセットする。即ち、平面αが、緯度θと経度φで特定される平面Ｉ（θ，φ）であり、平面α上の点Ｐｘの座標が、（ｘα，ｙα）である場合、中間データ変換部３２は、中間データベースから、画素値Ｉ（θ，φ）（ｘα，ｙα）を読み出し、その画素値（θ，φ）（ｘα，ｙα）を、注目画素Ｐｓの画素値としてセットする。
【０３７０】
そして、ステップＳ６９に進み、中間データ変換部３２は、ユーザの視点Ｐｃに対して設定された仮想スクリーン上のすべての画素を注目画素としたかどうかを判定し、まだ、注目画素としていないものがあると判定した場合、ステップＳ６２に戻り、以下、同様の処理が繰り返される。
【０３７１】
また、ステップＳ６９において、仮想スクリーン上のすべての画素を注目画素としたと判定された場合、即ち、仮想スクリーン上に、ユーザの視点から見た画像データ（提示用画像データ）が形成された場合、処理を終了する。
【０３７２】
以上のようにして得られた提示用画像データは、上述した図６のステップＳ４において、ディスプレイ６に表示される。
【０３７３】
従って、ディスプレイ６には、ユーザの視点から被写体を見た場合の画像データが表示されることになる。
【０３７４】
以上のように、原画像データを撮像したときの光線の軌跡とその光線に対応する画素値である光線情報を用いて、原画像データを、ユーザの視点から見える提示用画像データに変換するようにしたので、実写の画像であっても、容易に、ユーザの視点に応じて変化させることができる。即ち、ユーザが、その視点を動かすことにより、ディスプレイ６には、ユーザが現実世界において被写体を観察している場合にユーザの視覚に映るのと同様の画像が表示される。
【０３７５】
具体的には、例えば、ユーザが、ディスプレイ６に向かって、左または右方向に視点を移動した場合には、ディスプレイ６には、ユーザが視点を動かす前に表示されていた被写体の左側面側または右側面側が見える画像が表示される。また、例えば、ユーザが、ディスプレイ６に対して近づく方向または遠ざかる方向に視点を移動した場合には、ディスプレイ６には、ユーザが視点を動かす前に表示されていた被写体が大きくまたは小さくなった画像が表示される。
【０３７６】
その結果、ユーザは、被写体としての物体が、実際に、その場にあるかのような感覚を享受することができる。
【０３７７】
また、図５の画像処理装置１によれば、例えば、宇宙空間の画像データや、分子などのミクロの構造の画像データなどを、原画像データとして、図６の画像処理を行うようにすることにより、通常は視認することができない構造を、ユーザが直感的に把握することができるインタフェースの提供が可能となる。
【０３７８】
さらに、図５の画像処理装置１では、原画像データを、被写体を無限遠の各方向から観察した中間データに変換しておくようにしたので、その中間データから、ユーザの視点に応じた提示用画像データを、容易に生成することができる。
【０３７９】
なお、中間データは、別の被写体について、独立に生成しておき、図３６の中間データ変換処理において、提示用画像データを生成する過程で、その別々の被写体の画像を合成するようにすることも可能である。
【０３８０】
また、中間データについては、図３６の中間データ変換処理の対象とする前に、その一部を削除したり、その一部に、他の中間データ等の画像データを追加する等の編集を行うことが可能である。
【０３８１】
さらに、図５の画像処理装置１において処理の対象とする画像は、実写の画像に限定されるものではない。
【０３８２】
また、上述の場合には、ユーザの位置を検出し、その位置に、ユーザの視点を設定して（ユーザの視点があるものとして）、図３６の中間データ変換処理を行うようにしたが、ユーザの視点は、図５の画像処理装置１において、任意の位置に設定することが可能である。
【０３８３】
即ち、ユーザの視点は、例えば、表示時座標系の原点を中心とする、所定の平面上に描かれる所定の半径の円の円周上を、順次移動するように設定することが可能である。この場合、ディスプレイ６には、被写体の周囲をパン（ｐａｎ）しながら撮像を行ったかのような画像が表示されることになる。
【０３８４】
また、ユーザの視点は、例えば、表示時座標系の原点を通る直線上を、一方向に移動するように設定することが可能である。この場合、ディスプレイ６には、被写体に近づきながら、または被写体から遠ざかりながら撮像を行ったかのような画像が表示されることになる。
【０３８５】
さらに、上述の場合には、静止している被写体を、その被写体をモーションベース方式やターンテーブル方式で動かしながら、カメラ４１で撮像することにより、多数の視点から撮像した被写体の原画像データを得るようにしたが、図５の画像処理装置１では、動きのある被写体の画像を対象に処理を行うことも可能である。但し、その場合、基本的には、例えば、複数のカメラによって、複数の視点から、動いている被写体の画像データを同時に撮像するとともに、その複数のカメラそれぞれによって撮像された各フレームの画像データについて、フレームごとに、中間データを生成し、さらに、表示時にも、フレームごとに、そのフレームの中間データを用いて、提示用画像データを生成する必要がある。
【０３８６】
次に、図３８は、図３のコンピュータ１がプログラムを実行することにより実現される画像処理装置の他の機能的構成例を示している。なお、図中、図５における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図３８の画像処理装置１は、再生フレーム管理部３４が新たに設けられている他は、基本的に、図５における場合と同様に構成されている。
【０３８７】
但し、図３８の実施の形態においては、画像データベース２には、カメラを、直線的に移動しながら撮像された画像データが記憶されている。即ち、画像データベース２には、例えば、カメラを等速直線運動させながら撮像を行った映画のシーンや、一定速度で走行する自動車や列車の車窓からカメラによる撮像を行った画像データなどが記憶されている。
【０３８８】
このため、図３８の実施の形態では、ディスプレイ６に表示される画像データのフレームを管理するため、再生フレーム管理部３４が設けられている。即ち、再生フレーム管理部３４は、中間データに変換された原画像データのフレーム（またはフィールド）数を、画像データ変換部３１から受信し、また、ディスプレイ６に表示させる提示用画像データのフレームを、中間データ変換部３２に指示する。
【０３８９】
ここで、図３８の実施の形態において、画像データベース２に記憶されている画像データは、等価的に、カメラを、直線的に移動しながら撮像されたものであれば良く、従って、例えば、カメラを固定して、被写体を直線的に移動しながら撮像を行うことにより得られたものであっても良い。
【０３９０】
図３８の画像処理装置１においても、図５の実施の形態における場合と同様の原理によって、画像データベース２に記憶された原画像データが、ユーザの視点から見た画像データ（提示用画像データ）に変換される。
【０３９１】
即ち、画像データベース２に記憶された原画像データは、カメラを、例えば、等速直線運動する列車に固定して撮像したもの、即ち、列車が走行する方向に、カメラの視点を移動しながら撮像したものであり、従って、原画像データは、図３９Ａに示すように、地球の経度の各方向の光線に対応する画素値を含む。ここで、図３９Ａでは、３つの方向＃１乃至＃３の光線を示している。
【０３９２】
一方、ある視点から被写体を見た場合の画像データは、被写体から視点に向かう光線に対応する画素値で構成される。従って、いま、光線は直進し、かつ減衰しないものとすると、列車が走行する軌跡と平行な直線上のある視点から被写体を見た場合の画像データである提示用画像データは、図３９Ｂに示すように、被写体から視点に向かう光線に対応する画素値でなる画像データを、図３９Ａに示した各方向の光線に対応する画素値を含む原画像データから再構成することで得ることができる。
【０３９３】
図３８の画像処理装置１では、上述の原理にしたがい、原画像データが、列車の走行軌跡と平行な直線上のユーザの視点から見た画像データ（提示用画像データ）に変換される。
【０３９４】
なお、ここでは、画像データベース２に記憶された原画像データは、列車が走行する方向に、カメラの視点を移動しながら撮像したものであるため、図３８の画像処理装置１において得られる提示用画像データは、上述のような原画像データが撮像されたときの光線情報から構成することができるものに限られる。即ち、図３８の画像処理装置１において得られる提示用画像データには、列車が走行する平面と垂直な方向へのユーザの視点の移動は反映されない（反映することができない）。
【０３９５】
次に、図４０のフローチャートを参照して、図３８の画像処理装置（コンピュータ）１による画像処理について説明する。
【０３９６】
まず最初に、ステップＳ８１において、データ変換部３１は、画像データベース２から原画像データを読み出し、中間データに変換する。さらに、ステップＳ８１では、データ変換部３１は、中間データを、中間データベース３に供給して記憶させ、ステップＳ８２に進む。
【０３９７】
ステップＳ８２では、画像データ変換部３１は、ステップＳ８１において中間データに変換した原画像データのフレーム数Ｆｎｕｍを、再生フレーム管理部３４に供給し、再生フレーム管理部３４は、そのフレーム数Ｆｎｕｍを取得する。
【０３９８】
そして、ステップＳ８３に進み、再生フレーム管理部３４は、再生対象のフレームを表す変数ｎを、例えば、１に初期化し、処理対象のフレームを表すフレーム情報として、中間データ変換部３２に供給して、ステップＳ８４に進む。
【０３９９】
ステップＳ８４では、センサ制御部３３が、レシーバ４（図２）の出力から、ユーザの位置を検出し、さらに、そのユーザの位置を、ユーザの視点に設定して、中間データ変換部３２に供給する。
【０４００】
そして、ステップＳ８５に進み、中間データ変換部３２は、再生フレーム管理部３４から供給されるフレーム情報に基づいて、処理対象が第ｎフレームであることを認識し、さらに、センサ制御部３３から供給されるユーザの視点に基づいて、中間データを、処理対象である第ｎフレームの提示用画像データに変換し、ステップＳ８６に進む。
【０４０１】
ステップＳ８６では、中間データ変換部３２は、第ｎフレームの提示用画像データを、ディスプレイ６に供給して表示させ、ステップＳ８７に進む。
【０４０２】
ステップＳ８７では、再生フレーム管理部３４は、変数ｎが、原画像データの全フレーム数Ｆｎｕｍに等しいかどうかを判定する。ステップＳ８７において、変数ｎが、全フレーム数Ｆｎｕｍに等しくないと判定された場合、ステップＳ８８に進み、例えば、ユーザが、画像処理を終了するように、入力部１７（図３）を操作したかどうかを、ＣＰＵ１２（図３）が判定する。ステップＳ８８において、画像処理を終了するように、入力部１７が操作されていないと判定された場合、ステップＳ８９に進み、再生フレーム管理部３４は、変数ｎを１だけインクリメントし、対応するフレーム情報を、中間データ変換部３２に供給する。そして、ステップＳ８４に戻り、以下、同様の処理が繰り返される。
【０４０３】
一方、ステップＳ８７において、変数ｎが、全フレーム数Ｆｎｕｍに等しいと判定されるか、または、ステップＳ８８において、画像処理を終了するように、入力部１７が操作されたと判定された場合、処理を終了する。
【０４０４】
なお、図４０の画像処理が、過去に実行され、これにより、画像データベース２に記憶されている原画像データを変換した中間データが、中間データベース３に、既に記憶されている場合には、ステップＳ８１およびＳ８２の処理は、スキップすることができる。
【０４０５】
次に、図３８の実施の形態でのデータ変換部３０（を構成する画像データ変換部３１および中間データ変換部３２）の処理について説明する。
【０４０６】
なお、画像データベース２に記憶された原画像データは、例えば、図４１に示すように、ほぼ等速直線運動をしている列車の車窓に固定されたカメラによって撮像されたものとする。図４１に示した場合においては、カメラでは、近景（例えば、カメラから比較的近くにある樹木などの物体）と遠景（例えば、カメラから遠くにある空などの景色）が撮像されている。
【０４０７】
ここで、図４１においては、列車が走行する平面（あるいはその平面と平行な平面）上において、列車の走行方向に対して垂直な方向を基線とし、その基線に対して、反時計回り方向に角度φ０だけ傾いた方向が光軸方向となるように、カメラが固定されている。なお、列車が走行する平面上において、その列車に固定されたカメラのレンズ中心から反時計回り方向に、基線に対してつくられる角度を、以下、適宜、偏角という。この偏角は、上述の経度に相当する。
【０４０８】
即ち、ここでは、列車が、平面上を、直線的に移動することとしているため、その平面を、地球の赤道上の平面と考えると、列車に固定されたカメラの視点は、緯度方向には移動せず、経度方向にのみ移動する。従って、そのようなカメラによって撮像された原画像データについては、基本的には、上述の緯度と経度のうち、経度だけに注目すれば良く、緯度は無視できることになる。
【０４０９】
図４１では、列車の走行方向に向かって右側に、被写体となる複数の物体（例えば、樹木など）があり、さらに、その被写体となる複数の物体は、列車の走行方向に沿って存在している。従って、図４１の実施の形態では、被写体となる複数の物体は、列車の走行軌跡に対して等距離の位置に存在している。
【０４１０】
この場合、カメラの光学中心を通る基線上にある被写体の、カメラから見た速度をＶ０と表すこととすると、その基線から角度（偏角）φの方向にある被写体の、カメラから見た速度は、Ｖ０ｃｏｓφで表すことができる。
【０４１１】
従って、カメラによって撮像される画像データ、即ち、カメラの光軸と垂直な仮想スクリーン上に表示される画像データにおいては、右側に表示された被写体が、左側に表示された被写体よりも高速に移動する。
【０４１２】
図４１では、列車が、図中上方向に走行している。従って、その列車の車窓に固定されたカメラによれば、例えば、図４２に示すように、画像データが撮像される。
【０４１３】
即ち、いまの場合、列車は等速直線運動をしているから、その列車に固定されているカメラも等速直線運動をし、これにより、カメラでは、そのレンズ中心が、列車の走行方向に等間隔で移動しながら、各フレームの画像データが撮像される。
【０４１４】
いま、カメラで撮像された各フレームの画像データにおいて、ある偏角φ１の方向に注目すると、その偏角φ１の方向の光線に対応する画素値は、各フレームの画像データに存在する。従って、各フレームの画像データから、偏角φ１の方向の光線に対応する画素値を集めることで、その偏角φ１の方向の無限遠から見た画像データである中間データを生成することができる。
【０４１５】
即ち、カメラで撮像された各フレームの画像データから、偏角φ１の方向にある列の画素（偏角φ１の方向にある、垂直方向に並ぶ画素）の並びを切り出し、各フレームから切り出した１列の画素の画素値を、フレーム順に、右から左方向に並べることで、偏角φ１の方向の無限遠から見た画像データである中間データを生成することができる。
【０４１６】
ところで、上述のように、カメラで撮像された各フレームの画像データから、偏角θ１の方向にある列の画素を切り出して並べることにより、偏角φ１の方向の無限遠から見た画像データ（中間データ）を生成すると、その画像データは、１フレームの間にカメラが移動する移動距離に対応する間隔だけ、画素が存在しないものとなることがある。
【０４１７】
即ち、１フレームの間にカメラが移動する移動距離が、１画素の横の長さを越える場合、あるフレームの画像データにおける偏角φ１の方向にある列の画素と、その次のフレームの画像データにおける偏角φ１の方向にある画素との間には、１画素を越える間隔が生じ、中間データとしての画像データも、そのような間隔の空いたものとなる。
【０４１８】
そこで、そのような間隔が生じるのを防止するため、カメラで撮像された各フレームの画像データからの画素の切り出しは、行方向（水平方向）に、ある程度の幅のある形で行うことができる。
【０４１９】
即ち、カメラで撮像された各フレームの画像データからは、例えば、図４２に示すように、ある偏角φ１から、微小角度±δφの範囲の方向にある複数列の画素を切り出すようにすることができる。いま、この偏角φ１から、微小角度±δφの範囲の方向にある複数列の画素でなる短冊状の画像を、偏角θ１についての短冊画像というものとすると、偏角φ１の方向の無限遠から見た画像データである中間データの生成（再構成）は、図４３に示すように、カメラで撮像された各フレームの画像データから、偏角φ１についての短冊画像が切り出され、フレーム順に、右から左方向に配置されることで行われる。
【０４２０】
なお、図４３に示した中間データの列方向（垂直方向）の長さは、カメラで撮像された画像データのフレームの画素の行数（列方向の画素数）で決まるが、その行方向（水平方向）の長さは、カメラで撮像された画像データのフレーム数に依存する。
【０４２１】
図３８のデータ変換部３０における画像データ変換部３１では、上述のようにして、各偏角の方向の無限遠から見た中間データが生成される。
【０４２２】
即ち、いま、列車に固定されたカメラで撮像された画像データが、例えば、図４４に示すように、樹木がある風景が、画面上を左から右方向に移動していくものである場合には、例えば、図４５に示すような中間データが生成される。
【０４２３】
ここで、図４５は、図４５Ａに示すような４つの方向＃１乃至＃４の無限遠から見た画像データである中間データを示している。即ち、図４５Ｂ乃至図４５Ｅは、図４５Ａにおける方向＃１乃至＃４の無限遠それぞれから見た画像データである中間データを示している。
【０４２４】
次に、図４６のフローチャートと、図４７を参照して、図３８の画像データ変換部３１が、図４０のステップＳ８１で行う画像データ変換処理、即ち、原画像データを中間データに変換する処理について説明する。
【０４２５】
まず最初に、ステップＳ１０１において、画像データ変換部３１は、画像データベース２に記憶された原画像データのフレーム数をカウントする変数Ｆｎｕｍに、初期値としての、例えば１をセットして、ステップＳ１０２に進む。
【０４２６】
ステップＳ１０２では、画像データベース２に記憶された原画像データを撮像したときのカメラの視点（撮像ポイント）から、注目撮像ポイントＰｃとするものを選択する。
【０４２７】
即ち、図３８の実施の形態においては、画像データベース２に記憶された原画像データは、図４１および図４２で説明したように、等速直線運動する列車に固定されたカメラによって撮像されたものであるから、図４７に示すように、列車の走行方向に沿った直線上には、多数の撮像ポイントが存在すする。ステップＳ１０２では、その多数の撮像ポイントの中から、第Ｆｎｕｍフレームの原画像データをカメラで撮像したときの撮像ポイントが、注目撮像ポイントＰｃとして選択される。なお、図３８では、第ｎ−１フレーム、第ｎフレーム、および第ｎ＋１フレームの３つのフレームそれぞれについての撮像ポイントを示してある。
【０４２８】
ここで、図３８の実施の形態においては、画像データベース２には、列車に固定されたカメラによって撮像された原画像データの他、図７の画像生成装置で撮像された原画像データにおける場合と同様に、現実世界にあらかじめ設定された３次元座標系である撮像時座標系における、列車に固定されたカメラの撮像ポイントも記憶されているものとする。この場合、ステップＳ１０２において、画像データ変換部３１は、画像データベース２から、第Ｆｎｕｍフレームの画像データについての撮像ポイントを、注目撮像ポイントＰｃとして読み出す。なお、図４７では、撮像時座標系として、左方向にｘ軸が、上方向にｙ軸が、紙面と垂直な手前方向にｚ軸が、それぞれとられている。
【０４２９】
その後、ステップＳ１０３に進み、画像データ変換部３１は、注目撮像ポイントＰｃについて、仮想スクリーンを設定し、仮想スクリーン上の垂直方向の画素の列のうち、まだ注目列として選択していない画素列を、注目列として選択する。
【０４３０】
即ち、画像データ変換部３１は、図４７に示すように、注目撮像ポイントＰｃについて、その注目撮像ポイントＰｃから、カメラの光軸方向に向かって、所定の距離Ｌだけ離れた位置に、列車に固定されたカメラの光軸と直交する長方形状の平面を、仮想スクリーンとして設定する。そして、画像データ変換部３１は、仮想スクリーン上の画素のうち、例えば、左から右方向の順番で、まだ注目列として選択していない画素列を、注目列として選択する。
【０４３１】
ここで、図４７では、カメラの光軸と基線が一致しているが、即ち、カメラの光軸が、基線から０度の方向になっているが、カメラの光軸は、基線から任意の偏角θ０の方向にとることが可能である。なお、カメラの光軸の方向は、基線からの偏角θ０が何度の方向であっても良いが、その偏角θ０が何度であるかは、ここでは、データ変換部３０において、あらかじめ認識されているものとする。
【０４３２】
ステップＳ１０３において注目列が選択された後は、ステップＳ１０４に進み、画像データ変換部３１は、その注目列を構成する画素のうちの、例えば最上行の画素を注目画素Ｐｓとして選択する。
【０４３３】
ここで、注目画素Ｐｓは、注目列を構成する画素のうちの最上行の画素に限定されるものではなく、任意の行の画素を、注目画素として選択することが可能である。
【０４３４】
ステップＳ１０４において注目画素Ｐｓが選択された後は、ステップＳ１０５に進み、画像データ変換部３１は、注目撮像ポイントＰｃを始点とし、注目画素Ｐｓを終点とするベクトルｖを求め、ステップＳ１０６に進む。
【０４３５】
ステップＳ１０６では、画像データ変換部３１は、図４７に示すように、ステップＳ１０５で求められたベクトルｖと直交し、撮像時座標系上の所定の点Ｐｆを通る平面αを求め、ステップＳ１０７に進む。
【０４３６】
ステップＳ１０７では、画像データ変換部３１は、ステップＳ１０５で求めたベクトルｖの、基線に対する偏角φを求め、ステップＳ１０８に進む。即ち、本来ならば、図２７の実施の形態における場合と同様に、ベクトルｖの緯度と経度を求める必要があるが、ここでは、上述したように、経度方向にしか移動しないカメラによって原画像データが撮像されているので、緯度は無視することができ、経度のみを考慮すれば足りる。そこで、ステップＳ１０７では、ベクトルｖの経度に相当する、基線に対する偏角φが求められる。
【０４３７】
ここで、ベクトルｖの偏角φは、ステップＳ１０６で求められた平面αの法線の偏角φということもできる。また、平面αの法線の方向は、緯度と経度で特定されるが、ここでは、上述したように、緯度は無視することができる（緯度は、任意の固定の値とすることができる）。従って、所定の点Ｐｆを通る平面αは、その法線の経度に相当する偏角φによって特定することができるので、この偏角φによって特定される平面αを、以下、適宜、平面Ｉ（φ）とも記述する。
【０４３８】
なお、偏角φの符号については、撮像ポイントを中心として、列車が走行する平面（図４７の実施の形態では、ｘｙ平面）内における、反時計回り方向を、正とする。
【０４３９】
ステップＳ１０８では、画像データ変換部３１は、図４７に示すように、注目撮像ポイントＰｃと注目画素Ｐｓとを結ぶ直線Ｌｐを求める。さらに、ステップＳ１０８では、画像データ変換部３１は、直線Ｌｐと、ステップＳ１０６で求めた平面α（Ｉ（φ））との交点Ｐｘを求め、ステップＳ１０９に進み、その点Ｐｘの、平面α上における座標（ｘα，ｙα）を求める。
【０４４０】
ここで、ステップＳ１０９では、平面Ｉ（φ）上において、例えば、その平面Ｉ（φ）が必ず通る所定の点Ｐｆを原点とするとともに、撮像時座標系のｘ軸とｚ軸を平面Ｉ（φ）上に写像して得られる軸を、それぞれｘ軸とｙ軸とする２次元座標系が定義され、その２次元座標系における点Ｐｘの座標（ｘα，ｙα）が求められる。なお、平面Ｉ（φ）上に定義される２次元座標系は、上述したものに限定されない。
【０４４１】
その後、ステップＳ１１０に進み、画像データ変換部３１は、仮想スクリーン上の第Ｆｎｕｍフレームの原画像データの注目列を、平面Ｉ（φ）上に射影する。
【０４４２】
即ち、いま、平面Ｉ（φ）上の点Ｐｘの位置の画素の画素値を、平面Ｉ（φ）と、平面Ｉ（φ）上の点Ｐｘの座標を表す（ｘα，ｙα）とによって、Ｉ（φ）（ｘα，ｙα）と表すこととするとともに、注目列が、Ｎ画素で構成されるものとする。この場合、画像データ変換部３１は、仮想スクリーン上の第Ｆｎｕｍフレームの原画像データの注目列における第１行の画素の画素値を、平面Ｉ（φ）上の画素値Ｉ（φ）（ｘα，ｙα）に、注目列における第２行の画素の画素値を、平面Ｉ（φ）上の画素値Ｉ（φ）（ｘα，ｙα＋１）に、・・・、注目列における第Ｎ行の画素の画素値を、平面Ｉ（φ）上の画素値Ｉ（φ）（ｘα，ｙα＋（Ｎ−１））に、それぞれセットする。
【０４４３】
そして、ステップＳ１１１進み、画像データ変換部３１は、注目撮像ポイントＰｃに対して設定された仮想スクリーン上の原画像データのすべての画素列を注目列としたかどうかを判定し、まだ、注目列としていないが画素列があると判定した場合、ステップＳ１０３に戻り、以下、同様の処理が繰り返される。
【０４４４】
また、ステップＳ１１１において、仮想スクリーン上のすべての画素列を注目列としたと判定された場合、ステップＳ１１２に進み、画像データ変換部３１は、第Ｆｎｕｍフレームの次のフレームの原画像データが存在するかどうかを、画像データベース２を参照することにより判定する。ステップＳ１１２において、第Ｆｎｕｍフレームの次のフレームの原画像データが存在すると判定された場合、ステップＳ１１３に進み、画像データ変換部３１は、変数Ｆｎｕｍを１だけインクリメントして、ステップＳ１０２に戻り、以下、同様の処理を繰り返す。
【０４４５】
また、ステップＳ１１２において、第Ｆｎｕｍフレームの次のフレームの原画像データが存在しないと判定された場合、即ち、画像データベース２に記憶されたすべてのフレームの画像データを、各偏角φの平面Ｉ（φ）に正射影した画像データとしての中間データが得られた場合、処理を終了する。
【０４４６】
なお、以上の画像データ変換処理により得られた中間データは、画像データ変換部３１から中間データベース３に供給されて記憶される。
【０４４７】
また、図４６の画像データ変換処理において最終的に得られた原画像データのフレーム数Ｆｎｕｍは、図４０で説明したように、ステップＳ８２において、画像データ変換部３１から再生フレーム管理部３４に供給される。
【０４４８】
次に、図４８は、図４６の画像データ変換処理により生成される中間データのフォーマットを模式的に表している。
【０４４９】
図４６の画像データ変換処理によって生成される中間データは、平面Ｉ（φ）上に、偏角φで規定される方向の無限遠から被写体を見た場合の画像データとなっており、従って、各値の偏角φごとに存在するので、図４８Ａに示すような、偏角φの値で区切られるテーブル（以下、適宜、偏角テーブルという）で表現することができる。
【０４５０】
即ち、図４６の画像データ変換処理は、基本的には、図２７の画像データ変換処理における緯度を無視した処理と同様であり、その結果得られる中間データは、図２７の画像データ変換処理によって得られる図２９Ａの緯度経度テーブルにおける緯度を無視したものとなっている。即ち、図４６の画像データ変換処理により得られる図４８Ａの偏角テーブルは、図２９Ａの緯度経度テーブルにおける緯度方向の軸がなく、経度に相当する偏角方向の軸のみがあるものとなっている。
【０４５１】
ここで、図４８Ａの実施の形態では、偏角φが、最小値φｍｉｎから最大値φｍａｘの範囲の１度刻みで変化する平面Ｉ（φ）ごとに、各偏角φで規定される方向の無限遠から被写体を見た場合の画像データが、偏角テーブルの各マス目に登録されている。なお、偏角φを、何度刻みとするかや、その刻み幅は、図２９Ａの緯度経度テーブルにおける場合と同様に特に限定されるものではない。また、偏角テーブルにおける偏角φの最小値φｍｉｎおよび最大値φｍａｘは、列車に固定されたカメラの光軸の偏角、およびそのカメラの水平方向の画角に依存する。
【０４５２】
図４８Ａの偏角テーブルの各マス目には、そのマス目に対応する偏角φで規定される方向の無限遠から被写体を見た場合の画像データ、即ち、平面Ｉ（φ）上に（緯度を無視して）射影された原画像データの画素の画素値が、その平面Ｉ（φ）上に定義された２次元座標系の各ｘ座標ｘαと各ｙ座標ｙαごとに登録されている。即ち、図４８Ａの偏角テーブルの各マス目には、例えば、図４８Ｂに示すように、平面Ｉ（φ）上に定義された２次元座標系のｘ座標ｘαとｙ座標ｙαの値で区切られたテーブル（画素値テーブル）が登録されており、その画素値テーブルのマス目には、そのマス目に対応するｘ座標ｘαとｙ座標ｙαで規定される点に射影された原画像データの画素の画素値ｐ（ｘα，ｙα）が登録されている。
【０４５３】
なお、図４８Ｂにおいて、ｘ１とｙ１は、図２９Ｂにおける場合と同様に、原画像データの画素を平面Ｉ（φ）上に正射影した点の、最小のｘ座標とｙ座標を、それぞれ表す。また、ｘ２とｙ２も、図２９Ｂにおける場合と同様に、原画像データの画素を平面Ｉ（φ）上に正射影した点の、最大のｘ座標とｙ座標を、それぞれ表す。
【０４５４】
ところで、上述したように、列車に固定されたカメラで撮像された各フレームの原画像データから、ある偏角φの方向にある列の画素を、平面Ｉ（φ）に射影することにより、偏角φの方向の無限遠から見た画像データである中間データを生成した場合、その中間データとしての画像データにおいては、１フレームの間にカメラが移動する移動距離に対応する間隔だけ、画素が存在しないものとなること、即ち、画素値の欠落が生じることがある。
【０４５５】
そこで、図３８の画像処理装置１においても、図５の画像処理装置１における場合と同様に、画素値補間処理を行うようにすることができる。
【０４５６】
そこで、図４９のフローチャートを参照して、図３８の画像処理装置１で行われる画素値補間処理について説明する。なお、この画素値補間処理は、図３２における場合と同様に、画像データ変換部３１に行わせても良いし、中間データ変換部３２に行わせても良い。ここでは、例えば、画像データ変換部３１が行うものとして、画素値補間処理を説明する。
【０４５７】
図４９の画素値補間処理では、まず最初に、ステップＳ１２１において、画像データ変換部３１が、偏角を表す変数φに、初期値としての、例えば、その最小値であるφｍｉｎをセットするとともに、平面Ｉ（φ）のｘ座標を表す変数ｘαに、初期値としての、例えば、その最小値であるｘ１をセットする。
【０４５８】
そして、ステップＳ１２２に進み、画像データ変換部３１は、中間データＩ（φ）（ｘα，ｙ１）に、画素値がセットされているかどうかを、図３２のステップＳ４２における場合と同様にして判定する。
【０４５９】
ここで、上述の場合には、ステップＳ１２２において画素値がセットされているかどうかを判定する対象（以下、適宜、画素値判定対象という）を、中間データＩ（φ）（ｘα，ｙ１）としたが、即ち、平面Ｉ（φ）上の座標（ｘα，ｙ１）の画素としたが、画素値判定対象としては、ｙ座標ｙαが、その最小値ｙ１から最大値ｙ２の範囲の任意の値の画素を採用することができる。
【０４６０】
即ち、図４６および図４７で説明した画像データ変換処理によって得られる中間データにおいては、平面Ｉ（φ）上の座標（ｘα，ｙ１）乃至（ｘα，ｙ２）で表される列には、図４６のステップＳ１１０において、一度に、原画像データの画素値がセットされる。従って、平面Ｉ（φ）上の座標（ｘα，ｙ１）乃至（ｘα，ｙ２）で表される列における１画素に画素値がセットされていない場合には、その列の他の画素にも画素値がセットされていないこととなるから、画素値判定対象としては、ｙ座標ｙαが、その最小値ｙ１から最大値ｙ２の範囲の任意の値の画素を採用することができる。
【０４６１】
ステップＳ１２２において、中間データＩ（φ）（ｘα，ｙ１）に、画素値がセットされていると判定された場合、即ち、画素値が欠落していない場合、ステップＳ１２３およびＳ１２４をスキップして、ステップＳ１２５に進む。
【０４６２】
また、ステップＳ１２２において、中間データＩ（φ）（ｘα，ｙ１）に、画素値がセットされていないと判定された場合、即ち、画素値が欠落している場合、ステップＳ１２３に進み、画像データ変換部３１は、φ−△φ＜φ’＜φ＋△φの範囲の偏角φ’で規定される平面Ｉ（φ’）上の点（ｘα，ｙ１）の中で、画素値がセットされているものを探索（検索）する。
【０４６３】
ここで、△φとしては、例えば、図３２における場合と同様に、小さい正の整数値が採用される。
【０４６４】
その後、ステップＳ１２４に進み、画像データ変換部３１は、ステップＳ１２３で探索された、画素値がセットされている中間データＩ（φ’）（ｘα，ｙ１）の列の各画素値Ｉ（φ’）（ｘα，ｙ１）乃至Ｉ（φ’）（ｘα，ｙ２）を、欠落している画素値である中間データＩ（φ）（ｘα，ｙα）の列の各画素値Ｉ（φ）（ｘα，ｙ１）乃至（ｘα，ｙ２）にセットして、ステップＳ１２５に進む。なお、原画像データのフレームの垂直方向の画素数が、上述したようにＮ画素であれば、ｙ２は、ｙ１＋（Ｎ−１）で表される。
【０４６５】
ここで、ステップＳ１２３において、φ−△φ＜φ’＜φ＋△φの範囲の偏角φ’で規定される平面Ｉ（φ’）上の点（ｘα，ｙ１）の中で、画素値がセットされているものが複数見つかった場合には、ステップＳ１２４では、画像データ変換部３１は、その中から、例えば、偏角の差の絶対値｜φ−φ’｜が最も小さいものを選択し、その選択したＩ（φ’）（ｘα，ｙ１）の列の各画素値Ｉ（φ’）（ｘα，ｙ１）乃至Ｉ（φ’）（ｘα，ｙ２）を、各画素値Ｉ（φ）（ｘα，ｙ１）乃至（ｘα，ｙ２）にセットする。
【０４６６】
また、ステップＳ１２３において、φ−△φ＜φ’＜φ＋△φの範囲の偏角φ’で規定される平面Ｉ（φ’）上の点（ｘα，ｙ１）の中で、画素値がセットされているものが見つからなかった場合には、ステップＳ１２４では、画像データ変換部３１は、平面Ｉ（φ）上の画素値がセットされている画素の中から、座標（ｘα，ｙ１）と最も近い画素を検索し、その画素の列の各画素の画素値を、各画素値Ｉ（φ）（ｘα，ｙ１）乃至（ｘα，ｙ２）にセットする。
【０４６７】
なお、図４９の画素値補間処理でも、図３２における場合と同様に、平面Ｉ（φ）上の、画素値がセットされていない点（ｘα，ｙα）に、画素値が補間されるから、その処理が進行していくと、画素値が補間された点における画素値によって、さらに、他の点における画素値が補間されることが生じうる。これを防止するためには、例えば、図３２における場合と同様に、画素値の補間がされた点に、補間がされたことを表す補間フラグを付加するようにし、補間フラグが付加されている点における画素値は、補間に用いないようにする（ステップＳ１２３における探索の対象外とする）必要がある。
【０４６８】
ステップＳ１２５では、画像データ変換部３１が、平面Ｉ（φ）上のｘ座標を表す変数ｘαが、その最大値であるｘ２に等しいかどうかを判定する。ステップＳ１２５において、ｘ座標ｘαが、最大値ｘ２に等しくないと判定された場合、ステップＳ１２６に進み、画像データ変換部３１は、ｘ座標ｘαを１だけインクリメントして、ステップＳ１２２に戻り、以下、同様の処理を繰り返す。
【０４６９】
また、ステップＳ１２５において、ｘ座標ｘαが、最大値ｘ２に等しいと判定された場合、ステップＳ１２７に進み、画像データ変換部３１は、ｘ座標ｘαを、その最小値であるｘ１にリセットして、ステップＳ１２８に進む。
【０４７０】
ステップＳ１２８では、画像データ変換部３１は、偏角を表す変数φが、その最大値であるφｍａｘに等しいかどうかを判定する。ステップＳ１２８において、偏角φが、最大値φｍａｘに等しくないと判定された場合、ステップＳ１２９に進み、画像データ変換部３１は、偏角φを１度だけインクリメントして、ステップＳ１２２に戻り、以下、同様の処理を繰り返す。
【０４７１】
また、ステップＳ１２８において、偏角φが、最大値φｍａｘに等しいと判定された場合、処理を終了する。
【０４７２】
図４９の画素値補間処理においても、図３２における場合と同様に、平面Ｉ（φ）のある列の画素値Ｉ（φ）（ｘα，ｙ１）乃至Ｉ（φ）（ｘα，ｙ２）が欠落している場合には、画素値がセットされている、偏角がより近い他の平面Ｉ（φ’）における同一列の画素値Ｉ（φ’）（ｘα，ｙ１）乃至Ｉ（φ’）（ｘα，ｙ２）によって、その欠落している画素値Ｉ（φ）（ｘα，ｙ１）乃至Ｉ（φ）（ｘα，ｙ２）が補間される。
【０４７３】
なお、図４９の画素値補間処理によれば、図４２で説明したように、各フレームの原画像データから、同一の偏角方向についての短冊画像を切り出し、その短冊画像を、フレーム順に、右から左方向に配置して得られるのと同一の中間データが得られる。従って、画像データ変換部３１において、図４２で説明したように、短冊画像によって中間データを生成する場合には、画素値の欠落は生じないから、図４９の画素値補間処理は、行う必要がない。
【０４７４】
また、図４９の画素値補間処理によって得られた中間データに対しては、上述したクラス分類適応処理、その他の画像処理を施すことが可能である。
【０４７５】
さらに、中間データのフォーマットとしては、図４８で説明したフォーマットの他、図３５における場合と同様のフォーマットを採用することが可能である。
【０４７６】
次に、図５０のフローチャートと、図５１を参照して、図３８の中間データ変換部３２が、図４０のステップＳ８５で行う中間データ変換処理、即ち、中間データを、ユーザの視点から見た第ｎフレームの画像データ（提示用画像データ）に変換する処理について説明する。
【０４７７】
図５０の中間データ変換処理においても、図３６における場合と同様に、ディスプレイ６（図２）に、ユーザの視点に応じた画像を表示するための３次元座標系としての表示時座標系が想定される。なお、表示時座標系としては、例えば、画像データベース２に記憶された原画像データを中間データに変換するときに用いられた撮像時座標系を、そのまま採用することができる。
【０４７８】
そして、まず最初に、ステップＳ１４１において、中間データ変換部３２は、図５１に示すように、表示時座標系における、第ｎフレームの撮像ポイントＰｃについて、ユーザの視点Ｐｃ’を設定する。
【０４７９】
即ち、図５０の中間データ変換処理では、いま処理対象となっているフレームの撮像ポイントＰｃを基準として処理が行われるようになっており、そのため、ステップＳ１４１では、いま再生対象となっているフレームの撮像ポイントＰｃを基準として、ユーザの視点Ｐｃ’が設定される。
【０４８０】
具体的には、中間データ変換部３２には、センサ制御部３３から、現実世界におけるユーザの視点が供給されるが、中間データ変換部３２は、現実世界における所定の位置を、ユーザの視点の基準位置として、センサ制御部３３からのユーザの視点が、基準位置からどれだけ移動した位置にあるかを表す移動情報を求める。ここで、ユーザの視点の基準位置としては、ユーザが、ディスプレイ６に表示された画像を視聴する一般的な位置、即ち、例えば、ディスプレイ６の正面方向上の任意の点を採用することができる。
【０４８１】
中間データ変換部３２は、移動情報を求めると、図５１に示すように、表示時座標系において、第ｎフレームの撮像ポイントＰｃから、その移動情報だけ移動した点を、撮像ポイントＰｃについてのユーザの視点Ｐｃ’として設定する。
【０４８２】
なお、図５０の中間データ変換処理においても、図４６の画像データ変換処理における場合と同様に、緯度方向は無視される。従って、図５０の中間データ変換処理において、例えば、図５１に示すように、図４７の撮像時座標系と同様のｘ軸、ｙ軸、およびｚ軸をとった表示時座標系が想定されているとすると、移動情報における、緯度方向に影響するｙ軸方向およびｚ軸方向の成分は無視される（例えば０と扱われる）。このことは、ユーザが、表示時座標系のｙ軸方向またはｚ軸方向に移動しても、ユーザの視点が移動したとは認められないことを意味する。即ち、この場合、ユーザの視点が移動したと認められるには、ユーザが、少なくとも、表示時座標系のｘ軸方向に移動する必要がある。ここで、本実施の形態では、表示時座標系（撮像時座標系も同様）におけるｘ軸方向は、カメラの移動方向（カメラが固定された列車の走行方向）に一致している。
【０４８３】
中間データ変換部３２は、以上のようにして、表示時座標系における、撮像ポイントＰｃについてのユーザの視点Ｐｃ’を設定すると、ステップＳ１４２に進み、図５１に示すように、撮像ポイントＰｃにおけるカメラの光軸と、第ｎフレームに表示されている被写体との交点Ｐｋを求める。
【０４８４】
なお、ここでは、説明を簡単にするために、カメラが固定された列車の走行軌跡と被写体との間の距離Ｄは、一定であるとし、さらに、中間データ変換部３２において、あらかじめ認識されているものとする。また、撮像ポイントＰｃにおけるカメラの光軸の偏角φ０も、中間データ変換部３２において、あらかじめ認識されているものとする。この場合、撮像ポイントＰｃにおけるカメラの光軸と、第ｎフレームに表示されている被写体との交点Ｐｋは、撮像ポイントＰｃ、距離Ｄ、および撮像ポイントＰｃにおけるカメラの光軸の偏角φ０から求めることができる。
【０４８５】
その後、ステップＳ１４３に進み、中間データ変換部３２は、図５１に示すように、ユーザの視点Ｐｃ’を始点とするとともに、交点Ｐｋを終点とするベクトルｖ’を求め、ステップＳ１４４に進む。ステップＳ１４４では、中間データ変換部３２は、ユーザの視点Ｐｃ’に対して、ベクトルｖ’の方向を視線方向として、そのベクトルｖ’と直交し、ユーザの視点Ｐｃ’から距離Ｌだけ離れた位置に仮想スクリーンを設定し、ステップＳ１４５に進む。
【０４８６】
ステップＳ１４５では、中間データ変換部３２は、ユーザの視点Ｐｃ’について設定した仮想スクリーン上の垂直方向の画素の列のうち、まだ注目列として選択していない画素列を、注目列として選択する。
【０４８７】
ステップＳ１４５において注目列が選択された後は、ステップＳ１４６に進み、中間データ変換部３２は、例えば、図４６のステップＳ１０４における場合と同様に、注目列を構成する画素のうちの最上行の画素を注目画素Ｐｓとして選択する。
【０４８８】
ここで、注目画素Ｐｓは、注目列を構成する画素のうちの最上行の画素に限定されるものではなく、任意の行の画素を、注目画素として選択することが可能である。
【０４８９】
ステップＳ１４６において注目列が選択された後は、ステップＳ１４７に進み、中間データ変換部３２は、図５１に示すように、ユーザの視点Ｐｃ’を始点とし、注目画素Ｐｓを終点とするベクトルｖを求め、ステップＳ１４８に進む。
【０４９０】
ステップＳ１４８では、中間データ変換部３２は、図５１に示すように、ステップＳ１４７で求められたベクトルｖと直交し、撮像時座標系と同一の表示時座標系上の所定の点Ｐｆを通る平面αを求め、ステップＳ１４９に進む。
【０４９１】
ステップＳ１４９では、中間データ変換部３２は、ステップＳ１４７で求めたベクトルｖの、基線に対する偏角φ、即ち、ステップＳ１４８で求めた平面αの法線の、基線に対する偏角φを求め、ステップＳ１５０に進む。
【０４９２】
ステップＳ１５０では、中間データ変換部３２は、図５１に示すように、ユーザの視点Ｐｃ’と注目画素Ｐｓとを結ぶ直線Ｌｐを求める。さらに、ステップＳ１５０では、中間データ変換部３２は、直線Ｌｐと、ステップＳ１５１で求めた平面α、即ち、法線の、基線に対する偏角が、ステップＳ１４８で求められたφである平面Ｉ（φ）との交点Ｐｘを求め、ステップＳ１５１に進み、その点Ｐｘの、平面Ｉ（φ）上における座標（ｘα，ｙα）を求める。
【０４９３】
その後、ステップＳ１５２に進み、中間データ変換部３２は、仮想スクリーンの注目列の画素の各画素値として、平面Ｉ（φ）上の点Ｐｘの列における各画素値をセットする。
【０４９４】
即ち、仮想スクリーン上の注目列が、Ｎ画素で構成されるものとすると、中間データ変換部３２は、仮想スクリーン上の注目列における第１行の画素の画素値として、平面Ｉ（φ）上の画素値Ｉ（φ）（ｘα，ｙα）を、注目列における第２行の画素の画素値として、平面Ｉ（φ）上の画素値Ｉ（φ）（ｘα，ｙα＋１）を、・・・、注目列における第Ｎ行の画素の画素値として、平面Ｉ（φ）上の画素値Ｉ（φ）（ｘα，ｙα＋（Ｎ−１））を、それぞれセットする。
【０４９５】
そして、ステップＳ１５３進み、中間データ変換部３２は、ユーザの視点Ｐｃ’に対して設定された仮想スクリーン上のすべての画素列（垂直方向の画素の並び）を注目列としたかどうかを判定し、まだ、注目列としていないが画素列があると判定した場合、ステップＳ１４５に戻り、以下、同様の処理が繰り返される。
【０４９６】
また、ステップＳ１５３において、仮想スクリーン上のすべての画素列を注目列としたと判定された場合、即ち、仮想スクリーン上に、ユーザの視点から見た第ｎフレームの画像データ（提示用画像データ）が形成された場合、処理を終了する。
【０４９７】
以上のようにして得られた第ｎフレームの提示用画像データは、上述した図４０のステップＳ８６において、ディスプレイ６に表示される。
【０４９８】
従って、ディスプレイ６には、ユーザの視点から被写体を見た場合の画像データが表示されることになる。
【０４９９】
以上のように、図３８の画像処理装置１によれば、カメラをほぼ等速直線運動させながら撮像された原画像データから、図５の画像処理装置１における場合と同様に、容易に、ユーザの視点に応じた画像データを生成することができる。即ち、ユーザが、その視点を動かした場合に、ユーザが現実世界において被写体を観察している場合にユーザの視覚に映るのと同様の画像を、ディスプレイ６に表示することができる。
【０５００】
ところで、図３８の画像処理装置１において、原画像データを、ユーザの視点から見た提示用画像データに変換するには、その原画像データがカメラによって撮像されたときの種々の撮像条件が必要となる。
【０５０１】
ここで、原画像データを、ユーザの視点から見た提示用画像データに変換するには、図４６で説明した画像データ変換処理、および図５０で説明した中間データ変換処理から、撮像条件として、少なくとも、原画像データを撮像するカメラが固定された列車の走行軌跡と被写体との間の距離（カメラと被写体との間の、カメラの移動方向と垂直な方向に沿っての距離）Ｄや、撮像ポイントＰｃにおけるカメラの光軸の偏角（光軸の方向）φ０、各フレームの撮像ポイントＰｃが必要である。
【０５０２】
但し、本実施の形態では、列車、ひいては、その列車に固定されているカメラは、等速直線運動するものとしているため、各フレームの撮像ポイントＰｃは、あるフレームの撮像ポイントが分かっていれば、他のフレームの撮像ポイントは、カメラが等速直線運動する速さ（カメラの移動速度）から求めることができる。そこで、ここでは、各フレームの撮像ポイントの代わりに、カメラの移動速度を、撮像条件とすることとする。
【０５０３】
また、原画像データを、ユーザの視点から見た提示用画像データに変換するために少なくとも必要な、上述の撮像条件を、以下、適宜、最低撮像条件という。
【０５０４】
最低撮像条件が、あらかじめ分かっている場合には、図３８の画像処理装置１において、上述したように、原画像データを、ユーザの視点から見た提示用画像データに変換することができる。
【０５０５】
一方、最低撮像条件が分かっていない場合、原画像データを、ユーザの視点から見た提示用画像データに変換するには、まず、最低撮像条件を求める必要がある。
【０５０６】
そこで、図３のコンピュータ１には、画像データベース２に記憶された原画像データを、ユーザの視点から見た提示用画像データに変換するプログラムの他、その原画像データから、最低撮像条件を求める画像処理を行うプログラムも記憶させることができる。
【０５０７】
図５２は、図３のコンピュータ１が、最低撮像条件を求める画像処理を行うプログラムを実行することにより実現される画像処理装置の機能的構成例を示している。
【０５０８】
図５２の実施の形態では、画像処理装置としてのコンピュータ１は、撮像条件演算部９１から構成されている。
【０５０９】
撮像条件演算部９１は、画像データベース２から、等速直線運動する列車に固定されたカメラによって撮像された原画像データを読み出し、その原画像データから、最低撮像条件を含む撮像条件を求め、画像データベース２に供給して記憶させる。
【０５１０】
即ち、撮像条件演算部９１は、等速直線運動する列車に固定されたカメラの仮想スクリーン上における原画像データに表示された被写体の移動距離を求め、カメラの視点（撮像ポイント）から仮想スクリーンまでの距離（視点／仮想スクリーン間距離）と、仮想スクリーン上の被写体の移動距離とを用いて、最低撮像条件を含む撮像条件を求める。
【０５１１】
次に、図５３を参照して、撮像条件演算部９１による撮像条件の算出方法について説明する。
【０５１２】
なお、図５３において、Ｄは、カメラが固定された列車の走行軌跡と、注目している被写体である注目被写体との間の距離（カメラと注目被写体との間の、カメラの移動方向と垂直な方向に沿っての距離）Ｄを表し、ｈは、カメラと注目被写体との間の、カメラの移動方向に沿っての距離を表す。また、Ｌは、カメラの視点から仮想スクリーンまでの距離を表し、φ０は、カメラの光軸の偏角を表す。さらに、△ｄは、注目被写体が、カメラに対して単位時間あたりに移動する距離（カメラの移動距離）、即ち、カメラの移動速度を表し、△ｘは、カメラの仮想スクリーン上における原画像データに表示された注目被写体の単位時間あたりの移動距離、即ち、注目被写体の仮想スクリーン上の移動速度を表す。
【０５１３】
この場合、カメラの視点から注目被写体の方向の偏角φは、距離Ｄとｈとを用いて、次式で表すことができる。
【０５１４】
【数３１】
2004013222.tif 000033
・・・（３１）
【０５１５】
また、仮想スクリーン上での注目被写体の移動距離△ｘは、例えば、次式で表すことができる。
【０５１６】
【数３２】
2004013222.tif 000034
・・・（３２）
【０５１７】
但し、式（３２）において、φ＋とφ−は、例えば、次式で与えられるものとする。
【０５１８】
【数３３】
2004013222.tif 000035
・・・（３３）
【０５１９】
式（３２）に、式（３３）を代入すると、次式が得られる。
【０５２０】
【数３４】
2004013222.tif 000036
・・・（３４）
【０５２１】
一方、変数ｔの関数ｆ（ｔ）を、その変数ｔで微分した関数（導関数）ｆ’（ｔ）は、次式で表される。
【０５２２】
【数３５】
2004013222.tif 000037
・・・（３５）
【０５２３】
式（３５）を変形すると、次式が得られる。
【０５２４】
【数３６】
2004013222.tif 000038
・・・（３６）
【０５２５】
そこで、いま、変数ｈ／Ｄの関数ｆ（ｈ／Ｄ）を、例えば、次式のように定義する。
【０５２６】
【数３７】
2004013222.tif 000039
・・・（３７）
【０５２７】
式（３７）の関数ｆ（ｈ／Ｄ）を用いて、式（３４）を表すと、次式のようになる。
【０５２８】
【数３８】
2004013222.tif 000040
・・・（３８）
【０５２９】
式（３８）は、式（３６）の関係を用いることによって、式（３９）のように変形することができる。
【０５３０】
【数３９】
2004013222.tif 000041
・・・（３９）
【０５３１】
一方、変数ｔの関数ｇ１（ｔ）を引数とする関数ｇ２（ｇ１（ｔ））を、変数ｔで微分すると、次式のようになる。
【０５３２】
【数４０】
2004013222.tif 000042
・・・（４０）
【０５３３】
また、関数ｔａｎ（ｔ）と、関数ｔａｎ−１（ｔ）の微分は、それぞれ、式（４１）と（４２）で表される。
【０５３４】
【数４１】
2004013222.tif 000043
・・・（４１）
【０５３５】
【数４２】
2004013222.tif 000044
・・・（４２）
【０５３６】
式（４０）乃至（４２）から、式（３７）の関数ｆ（ｈ／Ｄ）の導関数ｆ’（ｈ／Ｄ）は、次式で表される。
【０５３７】
【数４３】
2004013222.tif 000045
・・・（４３）
【０５３８】
式（４３）から、式（３９）は、式（４４）で表される。
【０５３９】
【数４４】
2004013222.tif 000046
・・・（４４）
【０５４０】
式（４４）において、未知の変数は、△ｄ，Ｄ，ｈ，φ０である。また、式（４４）において、△ｘは、仮想スクリーン上に表示された注目被写体の移動距離を表し、仮想スクリーン上の注目被写体を表示している画素から計算することができる。さらに、式（４４）において、Ｌは、カメラの視点から仮想スクリーンまでの距離を表し、任意の値を設定することができる。
【０５４１】
従って、式（４４）における４つの未知の変数△ｄ，Ｄ，ｈ，φ０は、原理的には、仮想スクリーン上の４つの画素について、その移動距離を求めれば、その移動距離と、カメラの視点から仮想スクリーンまでの距離Ｌを用い、式（４４）から推定することができる。
【０５４２】
ここで、図５３で説明した方法によれば、カメラと被写体との間の、カメラの移動方向と垂直な方向に沿っての距離Ｄ、撮像ポイントＰｃにおけるカメラの光軸の偏角φ０、およびカメラの移動速度△ｄ、即ち、最低撮像条件の他、カメラと注目被写体との間の、カメラの移動方向に沿っての距離ｈも含む撮像条件が求められる。
【０５４３】
図５２の撮像条件演算部９１では、上述したようにして、撮像条件△ｄ，Ｄ，ｈ，φ０が求められる。
【０５４４】
そこで、図５４のフローチャートを参照して、図５２の撮像条件演算部９１が行う処理（撮像条件を推定する撮像条件演算処理）について説明する。
【０５４５】
まず最初に、ステップＳ１６１において、撮像条件演算部９１は、画像データベース２に記憶されたフレームの中から、撮像条件演算処理の対象とする４フレーム以上を、処理対象フレームとして選択し、ステップＳ１６２に進む。
【０５４６】
ステップＳ１６２では、撮像条件演算部９１は、原画像データを撮像したときの撮像ポイントからスクリーンまでの距離Ｌを、所定の値に設定し、ステップＳ１６３に進む。
【０５４７】
ステップＳ１６３では、撮像条件演算部９１は、ステップＳ１６１で処理対象フレームとして選択された４フレーム以上の原画像データの各フレームから、同一位置の画素を、撮像条件を演算するのに用いる演算対象画素として選択する。
【０５４８】
ここで、演算対象画素を、処理対象フレームとされた各フレームの同一位置の画素とするのは、図５３に示した、カメラと注目被写体との間の、カメラの移動方向に沿っての距離ｈを一定値にするためである。
【０５４９】
その後、ステップＳ１６４に進み、撮像条件演算部９１は、演算対象画素の中から、まだ注目画素としていないもののうちの１つを注目画素して選択し、ステップＳ１６５に進む。
【０５５０】
ステップＳ１６５では、撮像条件演算部９１は、注目画素の動きベクトルを検出し、ステップＳ１６６に進む。ステップＳ１６６では、撮像条件演算部９１は、注目画素の動きベクトルから、注目画素の移動距離△ｘを求め、ステップＳ１６７に進む。
【０５５１】
ステップＳ１６７では、撮像条件演算部９１は、すべての演算対象画素を注目画素として、その移動距離△ｘを求めたかどうかを判定し、まだ、注目画素としていない演算対象画素があると判定した場合、ステップＳ１６４に戻り、以下、同様の処理を繰り返す。
【０５５２】
また、ステップＳ１６７において、すべての演算対象画素を注目画素としたと判定された場合、ステップＳ１６８に、進み、撮像条件演算部９１は、演算対象画素とされた４以上の画素それぞれについて求められた移動距離△ｘと、原画像データを撮像したときの撮像ポイントからスクリーンまでの距離Ｌとを用い、式（４４）から、撮像条件△ｄ，Ｄ，ｈ，φ０を求め、画像データベース２に記憶させ、処理を終了する。
【０５５３】
なお、ステップＳ１６７では、演算対象画素とされた４以上の画素それぞれについて求められた移動距離△ｘと、原画像データを撮像したときの撮像ポイントからスクリーンまでの距離Ｌについて、式（４４）を満たす△ｄ，Ｄ，ｈ，φ０が演算されることとなるが、その演算方法としては、例えば、△ｄ，Ｄ，ｈ，φ０それぞれの値を順次変更し、式（４４）を満たすかどうかを検査（検算）する方法などがある。
【０５５４】
以上のように、カメラを移動しながら撮像が行われたときの、カメラの仮想スクリーン上における原画像データに表示された被写体の移動距離△ｘを求め、カメラにおいて原画像データが撮像されたときの視点から仮想スクリーンまでの距離Ｌと、移動距離△とを用いて、撮像条件△ｄ，Ｄ，ｈ，φ０を求めるようにしたので、カメラを移動しながら撮像を行うことにより得られた原画像データから、撮像条件を、容易に求めることができる。
【０５５５】
さらに、その撮像条件を用いて、原画像データを、ユーザの視点から見た提示用画像データに変換することが可能となる。
【０５５６】
なお、本実施の形態では、コンピュータ１にプログラムを実行させることにより、上述した各種の処理を行わせるようにしたが、上述の各種の処理は、その他、専用のハードウェアにより行うことも可能である。
【０５５７】
【発明の効果】
以上の如く、本発明によれば、画像データから、その画像データが撮像されたときの撮像条件を求めることができる。
【図面の簡単な説明】
【図１】従来の画像の表示方法を説明する図である。
【図２】本発明が適用される画像表示装置の一実施の形態の構成例を示す図である。
【図３】コンピュータ１のハードウェア構成例を示すブロック図である。
【図４】画像表示装置による画像の表示方法を説明する図である。
【図５】画像処理装置としてのコンピュータの第１の機能的構成例を示すブロック図である。
【図６】画像処理装置による画像処理を説明するフローチャートである。
【図７】画像データベース２に記憶される画像データを撮像（生成）する画像生成装置の構成例を示すブロック図である。
【図８】画像生成装置による画像生成処理を説明するフローチャートである。
【図９】モーションベース方式を説明する図である。
【図１０】モーションベースの移動例を示す図である。
【図１１】ターンテーブル方式を説明する図である。
【図１２】カメラ４１の構成例を示す斜視図である。
【図１３】全方位画像データを示す図である。
【図１４】集光部５２を構成する双曲面を説明する図である。
【図１５】集光部５２と撮像部５３との位置関係を説明するための図である。
【図１６】全方位画像データを示す図である。
【図１７】全方位画像データからの切り出しを説明するための図である。
【図１８】円周方向の歪みを説明するための図である。
【図１９】半径方向の歪みを説明するための図である。
【図２０】半径方向の歪みを除去する方法を説明するための図である。
【図２１】半径方向の歪みを除去する方法を説明するための図である。
【図２２】半径方向の歪みを除去する全方位画像データの変換を説明するための図である。
【図２３】変換対象点における画素値の求め方を説明するための図である。
【図２４】原画像データを、ユーザから見た提示用画像データに変換する変換原理を説明する図である。
【図２５】原画像データを、ユーザから見た提示用画像データに変換する変換原理を説明する図である。
【図２６】原画像データを中間データに変換する方法を説明する図である。
【図２７】原画像データを中間データに変換する画像データ変換処理を説明するフローチャートである。
【図２８】原画像データを中間データに変換する画像データ変換処理を説明する図である。
【図２９】中間データのフォーマットを示す図である。
【図３０】中間データとしての画像データを示す図である。
【図３１】中間データとしての画像データの補間を説明する図である。
【図３２】中間データとしての画像データを補間する画素値補間処理を説明するフローチャートである。
【図３３】クラス分類適応処理を行うクラス分類適応処理装置の構成例を示すブロック図である。
【図３４】クラス分類適応処理に用いられるタップ係数を学習する学習装置の構成例を示すブロック図である。
【図３５】中間データの他のフォーマットを示す図である。
【図３６】中間データを提示用画像データに変換する中間データ変換処理を説明するフローチャートである。
【図３７】中間データを提示用画像データに変換する中間データ変換処理を説明する図である。
【図３８】画像処理装置としてのコンピュータ１の第２の機能的構成例を示すブロック図である。
【図３９】原画像データを提示用画像データに変換する変換原理を説明する図である。
【図４０】画像処理装置による画像処理を説明するフローチャートである。
【図４１】画像データベース２に記憶された原画像データの撮像方法を説明する図である。
【図４２】カメラが移動しながら原画像データの撮像が行われている様子を示す図である。
【図４３】短冊画像により構成される中間データを示す図である。
【図４４】原画像データの例を示す図である。
【図４５】中間データとしての画像データの例を示す図である。
【図４６】原画像データを中間データに変換する画像データ変換処理を説明するフローチャートである。
【図４７】原画像データを中間データに変換する画像データ変換処理を説明する図である。
【図４８】中間データのフォーマットを示す図である。
【図４９】中間データとしての画像データを補間する画素値補間処理を説明するフローチャートである。
【図５０】中間データを提示用画像データに変換する中間データ変換処理を説明するフローチャートである。
【図５１】中間データを提示用画像データに変換する中間データ変換処理を説明する図である。
【図５２】画像処理装置としてのコンピュータ１の第３の機能的構成例を示すブロック図である。
【図５３】撮像条件を求める方法を説明する図である。
【図５４】撮像条件を推定する撮像条件演算処理を説明するフローチャートである。
【符号の説明】
１　コンピュータ（画像処理装置），　２　画像データベース，　３　中間データベース３，　４　レシーバ（位置センサ），　５　トランスミッタ（位置センサ），　６　ディスプレイ，　１１　バス，　１２　ＣＰＵ，　１３　ＲＯＭ，　１４　ＲＡＭ，　１５　ハードディスク，　１６　出力部，　１７　入力部，　１８通信部，　１９　ドライブ，　２０　入出力インタフェース，　２１　リムーバブル記録媒体，　３０　データ変換部，　３１　画像データ変換部，　３２　中間データ変換部，　３３　センサ制御部，　３４　再生フレーム管理部，　４１　カメラ，　４２　バッファ，　４３　全方位画像変換部，　４４　バッファ，　４５　駆動機構，　４６　駆動機構制御部，　４７　コントローラ，　４８ｍｕｘ，　５１　支持体，　５２　集光部，　５３　撮像部，　６１　バッファ，　６２　予測タップ抽出部，　６３　クラスタップ抽出部，　６４　クラス分類部，　６５　係数記憶部，　６６　積和演算部，　７１　教師データメモリ，　７２　生徒データ生成部，　７３　生徒データメモリ，　７４　予測タップ抽出部，　７５　クラスタップ抽出部，　７６　クラス分類部，　７７　正規方程式加算部，　７８　タップ係数決定部，　７９　係数メモリ，　９１　撮像条件演算部
【図１】
2004013222.tif 000047
【図２】
2004013222.tif 000048
【図３】
2004013222.tif 000049
【図４】
2004013222.tif 000050
【図５】
2004013222.tif 000051
【図６】
2004013222.tif 000052
【図７】
2004013222.tif 000053
【図８】
2004013222.tif 000054
【図９】
2004013222.tif 000055
【図１０】
2004013222.tif 000056
【図１１】
2004013222.tif 000057
【図１２】
2004013222.tif 000058
【図１３】
2004013222.tif 000059
【図１４】
2004013222.tif 000060
【図１５】
2004013222.tif 000061
【図１６】
2004013222.tif 000062
【図１７】
2004013222.tif 000063
【図１８】
2004013222.tif 000064
【図１９】
2004013222.tif 000065
【図２０】
2004013222.tif 000066
【図２１】
2004013222.tif 000067
【図２２】
2004013222.tif 000068
【図２３】
2004013222.tif 000069
【図２４】
2004013222.tif 000070
【図２５】
2004013222.tif 000071
【図２６】
2004013222.tif 000072
【図２７】
2004013222.tif 000073
【図２８】
2004013222.tif 000074
【図２９】
2004013222.tif 000075
【図３０】
2004013222.tif 000076
【図３１】
2004013222.tif 000077
【図３２】
2004013222.tif 000078
【図３３】
2004013222.tif 000079
【図３４】
2004013222.tif 000080
【図３５】
2004013222.tif 000081
【図３６】
2004013222.tif 000082
【図３７】
2004013222.tif 000083
【図３８】
2004013222.tif 000084
【図３９】
2004013222.tif 000085
【図４０】
2004013222.tif 000086
【図４１】
2004013222.tif 000087
【図４２】
2004013222.tif 000088
【図４３】
2004013222.tif 000089
【図４４】
2004013222.tif 000090
【図４５】
2004013222.tif 000091
【図４６】
2004013222.tif 000092
【図４７】
2004013222.tif 000093
【図４８】
2004013222.tif 000094
【図４９】
2004013222.tif 000095
【図５０】
2004013222.tif 000096
【図５１】
2004013222.tif 000097
【図５２】
2004013222.tif 000098
【図５３】
2004013222.tif 000099
【図５４】
2004013222.tif 000100