JP4211292B2 - 画像処理装置および画像処理方法、プログラム並びにプログラム記録媒体 - Google Patents

画像処理装置および画像処理方法、プログラム並びにプログラム記録媒体 Download PDF

Info

Publication number
JP4211292B2
JP4211292B2 JP2002161838A JP2002161838A JP4211292B2 JP 4211292 B2 JP4211292 B2 JP 4211292B2 JP 2002161838 A JP2002161838 A JP 2002161838A JP 2002161838 A JP2002161838 A JP 2002161838A JP 4211292 B2 JP4211292 B2 JP 4211292B2
Authority
JP
Japan
Prior art keywords
image data
pixel
plane
pixel value
intermediate data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002161838A
Other languages
English (en)
Other versions
JP2004015106A (ja
JP2004015106A5 (ja
Inventor
哲二郎 近藤
健司 田中
継彦 芳賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002161838A priority Critical patent/JP4211292B2/ja
Priority to PCT/JP2003/006982 priority patent/WO2003103278A1/ja
Priority to KR1020047001647A priority patent/KR100967826B1/ko
Priority to EP03733258A priority patent/EP1511300A4/en
Priority to US10/485,577 priority patent/US7831086B2/en
Publication of JP2004015106A publication Critical patent/JP2004015106A/ja
Publication of JP2004015106A5 publication Critical patent/JP2004015106A5/ja
Application granted granted Critical
Publication of JP4211292B2 publication Critical patent/JP4211292B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/12Panospheric to cylindrical image transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Image Processing (AREA)
  • Studio Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置および画像処理方法、プログラム並びにプログラム記録媒体に関し、例えば、ユーザの視点に対応した画像を表示することができるようにする画像処理装置および画像処理方法、プログラム並びにプログラム記録媒体に関する。
【0002】
【従来の技術】
従来の、例えば、CRT(Cathod Ray Tube)や液晶パネル、プロジェクタなどを利用したディスプレイにおいては、例えば、ビデオカメラ(以下、適宜、単に、カメラともいう)で撮像された画像が表示されるが、その画像は、図1に示すように、カメラの位置を視点として見たものにすぎなかった。
【0003】
従って、ユーザが、例えば、頭部を移動して、ディスプレイに表示された画像を見るときの視点を変えても、ディスプレイに表示される画像は、カメラのレンズ中心(以下、適宜、カメラの視点ともいう)から見た画像のままであり、ユーザの視点の変化に応じて、ディスプレイに表示される画像が変化することはなかった。
【0004】
【発明が解決しようとする課題】
そこで、ディスプレイに表示される画像が、ユーザの視点に応じて変化する画像の表示方法として、例えば、zebra imagingと呼ばれる方法がある。ここで、zebra imagingについては、例えば、zebra imaging社のwebページであるhttp://www.zebraimaging.com/に開示されている。
【0005】
しかしながら、zebra imagingは、ホログラフィを利用した方法であり、表示される画像がホログラムであるため、その作成に多大の演算量と時間を要する。
【0006】
また、ディスプレイに表示される画像が、ユーザの視点に応じて変化する画像の他の表示方法としては、例えば、イリノイ大学のCAVE(洞窟の意)方式などに代表される、IPT(Immersive Projection Technology)(没入型投射技術)またはIPD(Immersive Projection Display)(没入型投射ディスプレイ)を用いたVR(Virtual Reality)システムがある。ここで、CAVE方式については、例えば、EVL(Electronic Visualization Laboratory)のwebページであるhttp://www.evl.uic.edu/evl/vr/に開示されている。
【0007】
しかしながら、かかるVRシステムでは、対象とする画像がCG(Computer Graphics)であり、ビデオカメラで撮像された、いわゆる実写の画像を対象とすることは困難である。
【0008】
本発明は、このような状況に鑑みてなされたものであり、実写の画像であっても、容易に、ユーザの視点に応じて変化させることができるようにするものである。
【0009】
【課題を解決するための手段】
本発明の第1の画像処理装置は、第1の画像データを構成する画素に被写体から入射した光線に対応する画素値からなり、光線の方向ごとに、その方向の光線に対応する画素値を取得できるフォーマットであり、被写体から第1の画像データを構成する所定の画素に入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、所定の画素の画素値とした画像データである中間データに第1の画像データを変換する画像データ変換手段と、中間データに対して、所定の点を通る他の平面上の、他の平面に垂直な光線との交点における画素値によって、所定の点を通る平面上の、光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理手段と、補間処理が施された中間データにおける、ユーザの視点と所定の仮想的なスクリーンである第1の仮想スクリーン上の各画素とを結ぶ直線と一致する光線に対応する画素値を、第1の仮想スクリーン上の画素の画素値とし、第1の仮想スクリーン上の画素値でなる画像データを、第2の画像データとすることで、中間データを第2の画像データに変換する中間データ変換手段とを備えることを特徴とする。
【0010】
本発明の第1の画像処理方法は、第1の画像データを構成する画素に被写体から入射した光線に対応する画素値からなり、光線の方向ごとに、その方向の光線に対応する画素値を取得できるフォーマットであり、被写体から第1の画像データを構成する所定の画素に入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、所定の画素の画素値とした画像データである中間データに第1の画像データを変換する画像データ変換ステップと、中間データに対して、所定の点を通る他の平面上の、他の平面に垂直な光線との交点における画素値によって、所定の点を通る平面上の、光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理ステップと、補間処理が施された中間データにおける、ユーザの視点と所定の仮想的なスクリーンである仮想スクリーン上の各画素とを結ぶ直線と一致する光線に対応する画素値を、仮想スクリーン上の画素の画素値とし、仮想スクリーン上の画素値でなる画像データを、第2の画像データとすることで、中間データを第2の画像データに変換する中間データ変換ステップとを備えることを特徴とする。
【0011】
本発明の第1のプログラムは、第1の画像データを構成する画素に被写体から入射した光線に対応する画素値からなり、光線の方向ごとに、その方向の光線に対応する画素値を取得できるフォーマットであり、被写体から第1の画像データを構成する所定の画素に入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、所定の画素の画素値とした画像データである中間データに第1の画像データを変換する画像データ変換ステップと、中間データに対して、所定の点を通る他の平面上の、他の平面に垂直な光線との交点における画素値によって、所定の点を通る平面上の、光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理ステップと、補間処理が施された中間データにおける、ユーザの視点と所定の仮想的なスクリーンである仮想スクリーン上の各画素とを結ぶ直線と一致する光線に対応する画素値を、仮想スクリーン上の画素の画素値とし、仮想スクリーン上の画素値でなる画像データを、第2の画像データとすることで、中間データを第2の画像データに変換する中間データ変換ステップとを備えることを特徴とする。
【0012】
本発明の第1のプログラム記録媒体は、第1の画像データを構成する画素に被写体から入射した光線に対応する画素値からなり、光線の方向ごとに、その方向の光線に対応する画素値を取得できるフォーマットであり、被写体から第1の画像データを構成する所定の画素に入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、所定の画素の画素値とした画像データである中間データに第1の画像データを変換する画像データ変換ステップと、中間データに対して、所定の点を通る他の平面上の、他の平面に垂直な光線との交点における画素値によって、所定の点を通る平面上の、光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理ステップと、補間処理が施された中間データにおける、ユーザの視点と所定の仮想的なスクリーンである仮想スクリーン上の各画素とを結ぶ直線と一致する光線に対応する画素値を、仮想スクリーン上の画素の画素値とし、仮想スクリーン上の画素値でなる画像データを、第2の画像データとすることで、中間データを第2の画像データに変換する中間データ変換ステップとを備えるプログラムが記録されていることを特徴とする。
【0013】
本発明の第2の画像処理装置は、画像データを、画像データを構成する所定の画素に被写体から入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、所定の画素の画素値とした画像データである中間データであって、光線の方向ごとに、交点の画素値を取得できる中間データに変換する変換手段と、中間データに対して、所定の点を通る他の平面上の、他の平面に垂直な光線との交点における画素値によって、所定の点を通る平面上の、光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理手段と、補間処理が施された中間データを記録する中間データ記録手段とを備えることを特徴とする。
【0014】
本発明の第2の画像処理方法は、画像データを、画像データを構成する所定の画素に被写体から入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、所定の画素の画素値とした画像データである中間データであって、光線の方向ごとに、交点の画素値を取得できる中間データに変換する変換ステップと、中間データに対して、所定の点を通る他の平面上の、他の平面に垂直な光線との交点における画素値によって、所定の点を通る平面上の、光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理ステップと、補間処理が施された中間データを記録手段に記録する中間データ記録ステップとを備えることを特徴とする。
【0015】
本発明の第2のプログラムは、画像データを、画像データを構成する所定の画素に被写体から入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、所定の画素の画素値とした画像データである中間データであって、光線の方向ごとに、交点の画素値を取得できる中間データに変換する変換ステップと、中間データに対して、所定の点を通る他の平面上の、他の平面に垂直な光線との交点における画素値によって、所定の点を通る平面上の、光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理ステップと、補間処理が施された中間データを記録手段に記録する中間データ記録ステップとを備えることを特徴とする。
【0016】
本発明の第2のプログラム記録媒体は、画像データを、画像データを構成する所定の画素に被写体から入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、所定の画素の画素値とした画像データである中間データであって、光線の方向ごとに、交点の画素値を取得できる中間データに変換する変換ステップと、中間データに対して、所定の点を通る他の平面上の、他の平面に垂直な光線との交点における画素値によって、所定の点を通る平面上の、光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理ステップと、補間処理が施された中間データを記録手段に記録する中間データ記録ステップとを備えるプログラムが記録されていることを特徴とする。
【0019】
本発明の第1の画像処理装置および画像処理方法、並びにプログラムおよびプログラム記録媒体においては、第1の画像データを構成する画素に被写体から入射した光線に対応する画素値からなり、光線の方向ごとに、その方向の光線に対応する画素値を取得できるフォーマットであり、被写体から第1の画像データを構成する所定の画素に入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、所定の画素の画素値とした画像データである中間データに第1の画像データが変換され、中間データに対して、所定の点を通る他の平面上の、他の平面に垂直な光線との交点における画素値によって、所定の点を通る平面上の、光線との交点以外の点における画素値を補間する補間処理が施され、補間処理が施された中間データにおける、ユーザの視点と所定の仮想的なスクリーンである仮想スクリーン上の各画素とを結ぶ直線と一致する光線に対応する画素値を、仮想スクリーン上の画素の画素値とし、仮想スクリーン上の画素値でなる画像データを、第2の画像データとすることで、中間データが第2の画像データに変換される。
【0020】
本発明の第2の画像処理装置および画像処理方法、並びにプログラムおよびプログラム記録媒体においては、画像データが、画像データを構成する所定の画素に被写体から入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、所定の画素の画素値とした画像データである中間データであって、光線の方向ごとに、交点の画素値を取得できる中間データに変換され、中間データに対して、所定の点を通る他の平面上の、他の平面に垂直な光線との交点における画素値によって、所定の点を通る平面上の、光線との交点以外の点における画素値を補間する補間処理が施され、補間処理が施された中間データが記録される。
【0022】
ここで、画像データは、静止画であっても良いし、動画であっても良い。さらに、画像データは、例えば、実写の画像データであると、CGであるとを問わない。
【0023】
【発明の実施の形態】
図2は、本発明を適用した画像表示装置の一実施の形態の構成例を示している。
【0024】
コンピュータ1は、例えば、ワークステーションであり、画像データベース2に記憶された原画像データを、後述する中間データに変換し、中間データベース3に記憶させる。また、コンピュータ1は、位置センサとしてのレシーバ4およびトランシーバ5を制御し、レシーバ4の出力に基づいて、ユーザの位置(さらには、必要に応じて姿勢)を検出する。さらに、コンピュータ1は、ユーザの位置を、ユーザの視点の位置として設定し、中間データベース3に記憶された中間データを、そのユーザの視点から見た画像データ(以下、適宜、提示用画像データという)に変換する。そして、コンピュータ1は、提示用画像データを、ディスプレイ6に供給して表示させる。
【0025】
画像データベース2は、後述するように、カメラ等の撮像装置で撮像された実写の画像データとしての原画像データを記憶している。中間データベース3は、コンピュータ1から供給される、原画像データを変換した中間データを記憶する。
【0026】
レシーバ4は、ユーザに装着されており、トランスミッタ5が発生する磁界を検知し、その磁界の強度を、コンピュータ1に供給する。トランスミッタ5は、コンピュータ1の制御にしたがい、磁界を発生する。即ち、図2の実施の形態では、レシーバ4およびトランスミッタ5は、位置センサとしての磁界センサを構成しており、レシーバ4が、トランスミッタが発生する磁界の強度を計測することにより、レシーバ4の位置、ひいては、ユーザの位置が検出されるようになっている。
【0027】
ここで、レシーバ4は、例えば、ユーザの頭部に装着される。また、ユーザが、例えば、ネクタイピンを着用していたり、または眼鏡をかけている場合には、レシーバ4は、そのネクタイピンや眼鏡のフレームに装着することができる。
【0028】
なお、位置センサである磁界センサとしては、例えば、ポヒマス(Polhemus)社の3次元位置センサなどを採用することができる。
【0029】
また、位置センサとしては、磁界センサの他、例えば、機械リンク式の位置計測手段(例えば、3次元ディジタイザなど)を採用することが可能である。さらに、位置センサとしては、例えば、ジョイスティックやトラックボールなどの、ユーザの位置の変化を入力することのできる手段を採用することも可能である。即ち、ここでは、位置センサは、実際のユーザの位置を検知する手段である必要はなく、仮想的なユーザの位置を入力することができる手段であってもよい。
【0030】
ディスプレイ6は、例えば、CRTや液晶パネルなどで構成され、コンピュータ1から供給される提示用画像データを表示する。なお、ディスプレイ6としては、CRTや液晶パネル以外に、例えば、プロジェクタやHMD(Head Mount Display)、その他の画像を表示することのできる手段を採用することが可能である。
【0031】
次に、図3は、図1のコンピュータ1のハードウェア構成例を示している。
【0032】
コンピュータ1には、後述する一連の処理を実行するプログラムがインストールされている。
【0033】
プログラムは、コンピュータ1に内蔵されている記録媒体としてのハードディスク15やROM13に予め記録しておくことができる。
【0034】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体21に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体21は、いわゆるパッケージソフトウエアとして提供することができる。
【0035】
なお、プログラムは、上述したようなリムーバブル記録媒体21からコンピュータ1にインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータ1に無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータ1に有線で転送し、コンピュータ1では、そのようにして転送されてくるプログラムを、通信部18で受信し、内蔵するハードディスク15にインストールすることができる。
【0036】
コンピュータ1は、CPU(Central Processing Unit)12を内蔵している。CPU12には、バス11を介して、入出力インタフェース20が接続されており、CPU12は、入出力インタフェース20を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部17が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)13に格納されているプログラムを実行する。あるいは、また、CPU12は、ハードディスク15に格納されているプログラム、衛星若しくはネットワークから転送され、通信部18で受信されてハードディスク15にインストールされたプログラム、またはドライブ19に装着されたリムーバブル記録媒体21から読み出されてハードディスク15にインストールされたプログラムを、RAM(Random Access Memory)14にロードして実行する。これにより、CPU12は、後述するフローチャートにしたがった処理、あるいは後述するブロック図の構成により行われる処理を行う。そして、CPU12は、その処理結果を、必要に応じて、例えば、入出力インタフェース20を介して、スピーカ等で構成される出力部16から出力、あるいは、通信部18から送信、さらには、ハードディスク15に記録等させる。
【0037】
なお、図3の実施の形態では、入出力インタフェース20に、画像データベース2、中間データベース3、レシーバ4、トランスミッタ5、およびディスプレイ6が接続されている。そして、CPU12は、画像データベース2に記憶された原画像データを、入出力インタフェース20を介して読み出し、中間データに変換する。さらに、CPU12は、その中間データを、入出力インタフェース20を介して、中間データベース3に記憶させる。また、CPU12は、入出力インタフェース20を介して、トランスミッタ5を制御するとともに、レシーバ4の出力を受信し、ユーザの位置を検出する。さらに、CPU12は、検出したユーザの位置を、ユーザの視点として設定し、そのユーザの視点に対応して、中間データベース3に記憶された中間データを、提示用画像データに変換する。また、CPU12は、提示用画像データを、入出力インタフェース20を介して、ディスプレイ6に供給して表示させる。
【0038】
ここで、本明細書において、コンピュータ1に各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしも後述するフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0039】
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0040】
以上のような図3のコンピュータ1をベースとして構成される図2の画像表示装置では、例えば、図4Aに示すように、現実世界において、ユーザが、ある被写体を観察する場合と同様の提示用画像データが表示される。
【0041】
即ち、現実世界において、ユーザが、ある被写体を観察する場合には、ユーザが、その視点を移動すると、ユーザは、その移動後の視点から見た被写体を観察することができる。具体的には、現実世界では、ユーザが、その視点を移動することによって、被写体の見える部分と見えない部分が変化する。
【0042】
図2の画像表示装置においても、図4Bに示すように、ユーザが、その視点を移動した場合、その視点に応じて、ディスプレイ6に表示される提示用画像データが、現実世界においてユーザの視覚に映る被写体が表示されたものとなるようになっている。即ち、図2の画像表示装置においては、図4Cに示すように、ユーザが視点を移動した場合に、その視点から被写体を見た場合の提示用画像データが表示されるようになっている。
【0043】
従って、図2の画像表示装置では、ユーザが視点を移動すると、例えば、移動前の視点からでは見えなかった被写体の部分が見える状態となった提示用画像データが表示される。即ち、ユーザが、ディスプレイ6における提示用画像データに表示された被写体をのぞき込むように、視点を移動すると、現実世界において、その移動後の視点から被写体を見た場合に視覚に映るのと同様の提示用画像データ、つまり、ユーザが覗き込んだ被写体の部分が見える状態となった提示用画像データが表示される。このことから、図2の画像表示装置は、いわば、のぞけるテレビ(Television)ということができる。
【0044】
次に、図5は、図3のコンピュータ1がプログラムを実行することにより実現される画像処理装置の機能的構成例を示している。
【0045】
コンピュータ1(のCPU12)がプログラムを実行することにより実現される画像処理装置は、データ変換部30およびセンサ制御部33で構成される。
【0046】
データ変換部30は、画像データ変換部31と中間データ変換部32から構成され、画像データベース2に記憶された原画像データを撮像したときの光線の軌跡とその光線に対応する画素値である光線情報を用いて、その原画像データを、センサ制御部33から供給されるユーザの視点から見える提示用画像データに変換し、ディスプレイ6に供給して表示させる。
【0047】
即ち、データ変換部31は、画像データベース2から原画像データを読み出し、中間データに幾何変換する。さらに、データ変換部31は、中間データを、中間データベース3に供給して記憶させる。
【0048】
中間データ変換部32は、センサ制御部33から供給されるユーザの視点に基づいて、中間データを、提示用画像データに変換し、即ち、ユーザの視点から見た画像データを再構成し、ディスプレイ6に供給して表示させる。
【0049】
センサ制御部33は、位置センサとしてのレシーバ4およびトランスミッタ5を制御することにより、ユーザの視点を検出し、中間データ変換部32に供給する。即ち、センサ制御部33は、トランスミッタ5を制御することにより、磁界を発生させる。さらに、センサ制御部33は、レシーバ4から供給される、トランスミッタ5が発生する磁界の検出結果に基づいて、ユーザの位置を検出して、その位置を、ユーザの視点として設定し、中間データ変換部32に供給する。
【0050】
次に、図6のフローチャートを参照して、図5の画像処理装置(コンピュータ)1による画像処理について説明する。
【0051】
まず最初に、ステップS1において、データ変換部31は、画像データベース2から原画像データを読み出し、中間データに変換する。さらに、ステップS1では、データ変換部31は、中間データを、中間データベース3に供給して記憶させ、ステップS2に進む。
【0052】
ステップS2では、センサ制御部33が、レシーバ4の出力から、ユーザの位置を検出し、さらに、そのユーザの位置を、ユーザの視点に設定して、中間データ変換部32に供給する。
【0053】
そして、ステップS3に進み、中間データ変換部32は、センサ制御部33から供給されるユーザの視点に基づいて、中間データを、提示用画像データに変換し、ステップS4に進む。
【0054】
ステップS4では、中間データ変換部32は、提示用画像データを、ディスプレイ6に供給して表示させ、ステップS5に進む。
【0055】
ステップS5では、例えば、ユーザが、画像処理を終了するように、入力部17(図3)を操作したかどうかを、CPU12(図3)が判定する。ステップS5において、画像処理を終了するように、入力部17が操作されていないと判定された場合、ステップS2に戻り、以下、同様の処理が繰り返される。
【0056】
また、ステップS5において、画像処理を終了するように、入力部17が操作されたと判定された場合、処理を終了する。
【0057】
なお、図6の画像処理が、過去に実行され、これにより、画像データベース2に記憶されている原画像データを変換した中間データが、中間データベース3に、既に記憶されている場合には、ステップS1の処理は、スキップすることができる。
【0058】
次に、図7は、画像データベース2に記憶させる原画像データを生成(撮像)する画像生成装置の構成例を示している。
【0059】
カメラ41は、図7の実施の形態では、例えば、いわゆる全方位カメラで構成され、被写体を含む全方位の画像データ(全方位画像データ)を、コントローラ47の制御にしたがって撮像し、バッファ42に供給する。
【0060】
バッファ42は、カメラ41から供給される全方位画像データを一時記憶する。
【0061】
全方位画像変換部43は、バッファ42に記憶された全方位画像データを読み出し、後述する緯度経度表現の原画像データに変換して、バッファ44に供給する。
【0062】
バッファ44は、全方位画像変換部43から供給される原画像データを一時記憶する。
【0063】
駆動機構45は、駆動機構制御部46の制御にしたがい、カメラ41で撮像する撮像対象となっている被写体を移動する。ここで、駆動機構45によって被写体が移動されることにより、相対的に、被写体に対するカメラ41の視点(光学中心)が、複数の位置に変えられる。
【0064】
駆動機構制御部46は、コントローラ47の制御にしたがい、駆動機構を駆動する。
【0065】
コントローラ47は、カメラ41の撮像タイミングや、駆動機構制御部46による駆動機構45の駆動速度および駆動方向などを制御する。さらに、コントローラ47は、カメラ41の撮像タイミング(撮像時刻)や、駆動機構45により移動される被写体の位置(必要に応じて、被写体の姿勢を含む)を表す情報などを、mux(マルチプレクサ)48に供給する。
【0066】
マルチプレクサ48は、バッファ44に記憶された原画像データの各フレームに、そのフレームについてコントローラ47が出力する情報を付加し、画像データベース2に供給して記憶させる。
【0067】
次に、図8のフローチャートを参照して、図7の画像生成装置による画像生成処理について説明する。
【0068】
まず最初に、コントローラ47は、被写体を所定の位置に移動させ、その撮像を行うように、カメラ41および駆動機構制御部46を制御するとともに、その所定の位置と被写体の撮像タイミングを表す情報を、mux48に供給する。
【0069】
ここで、コントローラ47は、例えば、現実世界に、3次元座標系(以下、適宜、撮像時座標系という)をあらかじめ設定し、その撮像時座標系における被写体の座標を、被写体の位置を表す情報(以下、適宜、位置情報という)として出力する。また、コントローラ47は、被写体のある姿勢(例えば、被写体の撮像開始時の姿勢)を基準姿勢として、その基準姿勢からの被写体の変化を表す角度も、位置情報に含めて出力する。さらに、コントローラ47は、撮像時座標系における、カメラ41の位置(例えば、レンズ中心の位置)を表す座標と、その光軸方向(視線の方向)を表す情報も、位置情報に含めて出力する。
【0070】
なお、後述する図9で説明するモーションベース方式や、図11で説明するターンテーブル方式によって、被写体を動かす場合には、カメラ41のレンズ中心(光学中心)の位置および光軸方向は、変化せず、固定となるが、このカメラ41のレンズ中心の位置および光軸方向は、コントローラ47にあらかじめ設定されているものとする。
【0071】
また、上述の被写体の座標や姿勢は、実際には、被写体を移動させる駆動機構45の状態から把握される。ここで、駆動機構45の状態は、駆動機構45を、駆動機構制御部46を介して制御するコントローラ47によって認識される。
【0072】
ステップS11において、駆動機構制御部46は、コントローラ47の制御にしたがい、駆動機構45を制御することにより、被写体の位置を変化させ、ステップS12に進む。ステップS12では、カメラ41が、コントローラ47の制御にしたがい、被写体を撮像し、その結果得られる全方位画像データを、バッファ42に供給して記憶させる。
【0073】
そして、ステップS13に進み、全方位画像変換部43は、バッファ42に記憶された全方位画像データを読み出し、緯度経度表現の原画像データに変換して、バッファ44に供給する。その後、ステップS14に進み、mux48は、バッファ44に記憶された原画像データのフレームに、コントローラ47から供給される情報を付加し、画像データベース2に供給して記憶させる。
【0074】
ステップS14の処理後は、ステップS15に進み、コントローラ47は、被写体を、あらかじめ設定したすべての位置に移動したかどうか(さらには、必要に応じて、あらかじめ設定したすべての姿勢をとらせたかどうか)を判定し、まだ、すべての位置に移動していないと判定した場合、被写体を、まだ移動させていない位置に移動させ、その撮像を行うように、カメラ41および駆動機構制御部46を制御するとともに、被写体の移動位置と被写体の撮像タイミングを表す情報その他を、mux48に供給する。そして、ステップS11に戻り、以下、同様の処理が繰り返される。
【0075】
また、ステップS15において、被写体を、あらかじめ設定したすべての位置に移動したと判定された場合、即ち、あらかじめ設定したすべての位置において、被写体の撮像が行われた場合、処理を終了する。
【0076】
次に、図7の画像生成装置において、被写体を移動させる被写体の移動方式について説明する。
【0077】
図7の画像生成装置では、被写体を移動させながら、その撮像が行われるが、この場合、その被写体の位置を精度良く制御する必要がある。そのような被写体の移動方式としては、例えば、モーションベース方式やターンテーブル方式がある。
【0078】
モーションベース方式では、図9に示すように、駆動機構45として、モーションベースが用いられる。そして、駆動機構45としてのモーションベース上に被写体を載せ、例えば、被写体が併進運動するように、モーションベースが(カメラ41に向かって)上下左右に移動される。
【0079】
即ち、モーションベース方式では、駆動機構45としてのモーションベースを、例えば、図10Aに示すように、上下方向に移動しながら、徐々に、左から右方向に移動する。ここで、図10Bは、実際のモーションベースの軌跡を表している。なお、図10Bにおいて、モーションベースの軌跡とともに、TC:の後に続けて表示してある数字は、カメラ41で撮像された画像のタイムコードを表す。従って、図10Bでは、モーションベースの軌跡とタイムコードとが対応付けられているので、被写体の位置(姿勢)と、その位置にある被写体を撮像した画像データのフレームとの対応関係を認識することができる。
【0080】
図9のモーションベース方式によれば、被写体とカメラ41との間に想定することができる開曲面としての、例えば平面上の複数の点を視点として被写体を撮像したときの、被写体からの光線の軌跡とその光線に対応する画素値である光線情報を得ることができる。なお、被写体からの光線に対応する画素値は、カメラ41が出力する画像データから得ることができ、被写体からの光線の軌跡は、カメラ41と被写体の位置から得ることができる。
【0081】
ターンテーブル方式では、図11に示すように、駆動機構45として、ターンテーブル(台車)が用いられる。そして、駆動機構45としてのターンテーブル上に被写体を載せ、ターンテーブルを非常に低速で上または下方向に移動させながら一定の角速度で回転させる。
【0082】
図11のターンテーブル方式によれば、被写体を囲む開曲面としての、例えば円柱の側面上の複数の点を視点として被写体を撮像したときの光線情報を得ることができる。
【0083】
なお、図7の画像生成装置においては、被写体を移動させることにより、その被写体を複数の視点それぞれから見た画像データの撮像を行うようにしたが、被写体を移動させるのではなく、カメラ41を移動させることにより、被写体を複数の視点それぞれから見た画像データの撮像を行うようにすることも可能である。
【0084】
また、図7の画像生成装置においては、1台のカメラ41を用い、被写体を移動させることによって、被写体を複数の視点それぞれから見た画像データの撮像を行うようにしたが、その他、例えば、異なる位置に配置した複数台のカメラを用いて被写体を撮像することにより、被写体を複数の視点それぞれから見た画像データの撮像を行うことも可能である。
【0085】
次に、図7の画像生成装置では、カメラ41として、全方位カメラが採用されているが、この全方位カメラによる画像の撮像と、全方位画像変換部43による全方位画像データの変換について説明する。
【0086】
図12は、図7のカメラ41としての全方位カメラの光学系の構成例を示している。
【0087】
図12の実施の形態では、カメラ41は、集光部52が、撮像部53の上部に配置された支持体51によって支持されることによって構成されており、集光部52の周囲360度の方向を撮像することができるようになっている。
【0088】
支持体51は、ガラスなどの反射率の低い透明材料からなり、ガラス面での光の屈折を最小化するために、入射光がガラス面と直交するように、集光部52の後述する焦点を中心とした球面になっている。
【0089】
集光部52は、例えば、双曲面形状のミラー(双曲面ミラー)で構成され、支持体51を介して入射する周囲の光を、撮像部53の方向に反射する。
【0090】
撮像部53は、例えば、CCD(Charge Coupled Device)等の光電変換素子で構成され、そこに入射する光を電気信号としての画像データに変換する。この撮像部53で得られる画像データが、カメラ41の出力として、図7のバッファ42に供給される。
【0091】
ここで、図12に示した全方位カメラの構成や集光の原理については、例えば、「移動ロボット用全方位視覚センサの開発」、自動化技術第29巻第6号(1997年)(以下、適宜、文献1という)に開示されているため、ここでは、簡単に説明する。
【0092】
図13は、図12のカメラ41によって撮像された全方位画像データの例を示している。
【0093】
全方位画像データは、中心点C1を中心とする2つの円の円周F1とF2によって区分される。なお、図13では、円周F1の方が、円周F2よりも半径が大きいものとなっている。
【0094】
即ち、全方位画像データは、大きい円周F1の内側で、かつ小さい円周F2の外側になっている領域R1、大きい円周F1の外側の領域R2、小さい円周R2に囲まれた領域(内側の領域)R3から構成される。
【0095】
以上の3つの領域R1乃至R3のうち、領域R1においては、集光部52で反射された、周囲からの光に対応する画像データが撮像されており、領域R2においては、集光部52の外側の部分が撮像されている。また、領域R3には、撮像部53自身が撮像されている。
【0096】
さらに、図13の実施の形態では、領域R1には、複数の建物が撮像されているが、円周F1に近い方向に、建物の上部が撮像され、円周F2に近い方向に、建物の下部が撮像されている。
【0097】
次に、図14を参照して、図12の集光部52を構成する双曲面について説明する。
【0098】
集光部52は、双曲面の一部により構成されており、双曲面の軸に対する垂直面により、双曲面を切断して得られた双曲面の凸型先頭部の凸状面に、鏡面を形成したものとなっている。
【0099】
集光部52には、双曲面の1つである二葉双曲面を用いることができ、二葉双曲面は、図14に示すように、双曲線を軸(図14では、Z軸)回りに回転して得られる曲面であり、Z>0の領域に存在する下に凸の双曲面H1と、Z<0の領域に存在する上に凸の双曲面H2から構成される。
【0100】
集光部52には、二葉の双曲面H1とH2のうち、Z>0の領域にある双曲面H1を利用する。なお、以下、適宜、Z軸を、双曲線の中心軸または単に軸ともいう。
【0101】
図14に示したX,Y,Zの3次元直交座標系において、二葉双曲面H1とH2は、式(1)で示される。
【0102】
【数1】
Figure 0004211292
・・・(1)
【0103】
ここで、式(1)において、定数aとbは、双曲面H1およびH2の形状を定義する定数である。即ち、定数bは、原点Oから、双曲面H1(H2)とZ軸との交点までの距離を表す。また、定数aは、その交点を通る、XY平面と平行な平面と、双曲面H1(H2)の漸近面A1との交線が描く円の半径を表す。
【0104】
さらに、式(1)において、定数cは、双曲面H1およびH2の焦点の位置を定義する定数である。即ち、Z軸上の+cの位置(0,0,+c)が、双曲面H2の焦点f1となり、Z軸上の−cの位置(0,0,−c)が、双曲面H1の焦点f2となる。
【0105】
なお、定数a,b,cは、次式で示される関係を有する。
【0106】
【数2】
Figure 0004211292
・・・(2)
【0107】
集光部52が、図14で説明したような双曲面H1で構成されるとした場合、撮像部53は、図15に示すように、そのレンズの中心軸(光軸)がZ軸に一致し、かつ、レンズ中心(カメラ41のレンズ中心)が、双曲面H1の焦点f2に一致するように配置される。
【0108】
次に、撮像部53が出力する全方位画像データは、上述の図13に示したようなものとなるが、いま、この全方位画像データについて、図16に示すように、その左上の点を原点Oとするとともに、左から右方向にx軸をとり、上から下方向にy軸をとった2次元直交座標系を定義する。
【0109】
この場合、円周F1の円および円周F2の円の中心点C1の座標を(X0 、Y0 )とするとともに、円周F1の円の半径をrF1とし、円周F2の円の半径をrF2とすると、円周F1の外側の領域R2を構成する点(x,y)は、式(3)により表され、円周F2の内側の領域R3を構成する点(x,y)は、式(4)により表される。
【0110】
【数3】
Figure 0004211292
・・・(3)
【0111】
【数4】
Figure 0004211292
・・・(4)
【0112】
図7の全方位画像変換部43は、全方位画像データを緯度経度表現の原画像データに変換する前に、式(3)で表される領域R2を構成する画素値と、式(4)で表される領域R3を構成する画素値を、画素値としては一般に取り得ない値(例えば、0)に変換する。
【0113】
ここで、この画素値の変換にあたっては、中心点C1の座標(X0,Y0)、並びに半径rF1およびrF2が必要となるが、これらの情報は、カメラ41からバッファ42を介して、全方位画像変換部43に供給されるようになっている。
【0114】
なお、ここでは、説明を簡単にするため、露出時間や、絞り、ズームは、固定であるとする。
【0115】
また、図13や図16に示した領域R1の画像データである全方位画像データについては、所望の被写体が表示されている部分等の、全方位画像データの一部分だけが必要な場合があり、この場合、全方位画像データから、その必要な部分を切り出す必要があるが、この切り出しは、全方位画像変換部43において行われるようになっている。即ち、全方位画像変換部43は、図17に示すように、所望の被写体を含む領域R11であって、中心点C1を通る半径方向の2つの直線Lc1とLc2に囲まれ、かつ中心点C1を中心とする2つの円の円周Fc1とFc2に囲まれる略扇形の領域R11の画像データを切り出す。
【0116】
次に、全方位画像データは、図13や図16に示したように、中心点C1に近づくほど狭まったものとなり、逆に、中心点C1から遠ざかるほど広がったものとなるような歪みを有する。このことは、全方位画像変換部43が全方位画像データから切り出す略扇形の画像データについても同様であり、このようは歪みのある画像データは、図5の画像処理装置において処理等するにあたって、歪みのないものに変換する必要がある。
【0117】
全方位カメラであるカメラ41が出力する、上述のような全方位画像データの歪みは、中心点C1を通る円の円周方向の歪みと、半径方向の歪みとに分けて考えることができる。
【0118】
そこで、まず円周方向の歪みを考えてみると、図13や図16の全方位画像データの、中心点C1を中心とするある円の円周上においては、スケールが一定であり、従って、歪みはない。
【0119】
即ち、図18は、Z軸方向から見た集光部52としての双曲面H1を示している。
【0120】
図18では、被写体上のある点P(X,Y,Z)から、Z軸に向かい、X軸(XZ平面)と角度θをつくるように、光線rが入射している。この光線rは、双曲面H1で反射され、後述する図19に図示してある撮像部53の受光面(画像面)(仮想スクリーン)A3上の点p(x,y)に到達する。そして、この場合、点p(x,y)は、X軸(XZ平面)との間で、光線rがX軸との間でつくるのと同一の角度θをつくる。
【0121】
また、Z軸に向かい、X軸と角度θ’をつくるように入射する光線r’を考えた場合、この光線r’も、双曲面H1で反射され、受光面(画像面)A3上の点p’(x’,y’)に到達する。そして、この場合も、点p’(x’,y’)は、X軸との間で、光線r’がX軸との間でつくるのと同一の角度θ’をつくる。
【0122】
また、光線rとr’の、Z軸に対する仰角(後述する)が同一であれば、光線rおよびr’は、受光面A3上の、位置は異なるが、Z軸から同一の距離rpだけ離れた点で受光される。
【0123】
以上から、Z軸に対する仰角が同一の複数の光線それぞれは、受光面A3上の、Z軸から同一の距離にある点であって、X軸との間で、光線とX軸とがつくるのと同一の角度をつくる点で受光される。
【0124】
従って、Z軸に対する仰角が同一で、X軸との角度が等角度の複数の光線は、受光面A3の、Z軸を中心とする円周上に、等間隔で入射することになるから、全方位画像データにおいて、受光面A3とZ軸との交点にあたる中心点C1を中心とする円の円周方向には、歪みは生じない。
【0125】
一方、図13や図16の全方位画像データの、中心点C1を通る半径方向の直線上においては、中心点C1に近づくほど、スケールが小さくなり、中心点C1から離れるほど、スケールが大きくなることから、全方位画像データは、半径方向の歪みを有する。
【0126】
即ち、図19は、X軸方向から見た集光部52としての双曲面H1を示している。
【0127】
図19において、Z軸に対して仰角0度で、焦点f1に向かって入射する光線r1は、双曲面H1で反射され、焦点f2に向かっていき、撮像部53の受光面(画像面)A3で受光される。
【0128】
ここで、Z軸に対する仰角とは、Z軸上の焦点f1を通り、XY面に平行な面と、焦点f1に向かって入射する光線とがつくる角度を意味する。また、撮像部53の受光面A3は、カメラ41の焦点距離をfとすると、焦点f2から、Z軸に沿って、fだけ離れた原点O方向に位置する。
【0129】
Z軸に対して仰角△d度で、焦点f1に向かって入射する光線r2は、双曲面H1で反射され、焦点f2に向かっていき、受光面A3で受光される。Z軸に対して仰角2△d度で、焦点f1に向かって入射する光線r3は、双曲面H1で反射され、焦点f2に向かっていき、受光面A3で受光される。仰角が△d度ずつ大きくなる光線r4,r5,r6も、同様にして、受光面A3で受光される。
【0130】
このように、仰角が△d度ずつ異なる光線r1乃至r6それぞれが、受光面A3で受光される点どうしの間隔は、図19の拡大図に示すように、等間隔にはならず、Z軸に近い点どうしの間隔ほど狭くなる(Z軸から離れた点どうしの間隔ほど広くなる)。即ち、仰角が大きい光線どうしの間隔ほど狭くなる(仰角が小さい光線どうしの間隔ほど広くなる)。
【0131】
そして、仰角が等角度の光線について、受光面A3上で受光される点どうしの間隔が、上述のように、等間隔にならないことから、全方位画像データには、半径方向の歪みが生じる。
【0132】
従って、全方位画像データの半径方向の歪みを除去するには、仰角が等角度の光線の、受光面A3上での受光点どうしの間隔が、等間隔になるようにすれば良い。
【0133】
そこで、いま、図20に示すように、被写体上のある点P(X,Y,Z)から、焦点f1に向かって、仰角α度で入射する光線rを考える。
【0134】
この光線rは、図19で説明した場合と同様に、集光部52としての双曲面H1で反射され、焦点f2に向かっていき、受光面A3で受光される。
【0135】
この場合において、焦点f2に向かう光線rが、焦点f2を通り、XY平面に平行な平面とつくる角度をγ度とする。さらに、X軸とY軸とで定義される2次元直交座標系において、光線rが受光面A3で受光された点(受光点)pの座標を(x,y)で表し、その点p(x,y)とZ軸との距離をRと表す。
【0136】
図20における角度αは、式(1)で表される双曲面H1において、光線rが反射される点の座標を求めることにより、次式で表すことができる。
【0137】
【数5】
Figure 0004211292
・・・(5)
【0138】
式(5)から、tanαは、次式で求めることができる。
【0139】
【数6】
Figure 0004211292
・・・(6)
【0140】
ここで、cosγを、次式のようにおく。
【0141】
【数7】
Figure 0004211292
・・・(7)
【0142】
式(6)に、式(7)を代入すると、次式が求められる。
【0143】
【数8】
Figure 0004211292
・・・(8)
【0144】
式(8)を変形して、式(9)が得られる。
【0145】
【数9】
Figure 0004211292
・・・(9)
【0146】
一方、AとBを、それぞれ式(10)と(11)に示すように定義する。
【0147】
【数10】
Figure 0004211292
・・・(10)
【0148】
【数11】
Figure 0004211292
・・・(11)
【0149】
式(9)に、式(10)および(11)を代入することにより、式(12)が求められる。
【0150】
【数12】
Figure 0004211292
・・・(12)
【0151】
式(12)は、次のような、Xについての2次方程式とすることができる。
【0152】
【数13】
Figure 0004211292
・・・(13)
【0153】
式(13)の2次方程式を解くと、次式が得られる。
【0154】
【数14】
Figure 0004211292
・・・(14)
【0155】
従って、式(7)より、角度γは、次式によって求めることができる。
【0156】
【数15】
Figure 0004211292
・・・(15)
【0157】
但し、式(15)において、Xは、式(14)で定義されるものであり、また、式(14)中のAとBは、それぞれ、式(10)と(11)で定義されるものである。
【0158】
また、図20の点pの座標から、角度γは、次式で求めることができる。
【0159】
【数16】
Figure 0004211292
・・・(16)
【0160】
一方、図20におけるZ軸と点p(x,y)との距離Rは、√(x2+y2)で表されるから、式(16)は、次式のように変形することができる。
【0161】
【数17】
Figure 0004211292
・・・(17)
【0162】
以上から、式(15)によって、角度γを求め、その角度γを用いて、式(17)を計算することにより、Z軸に対して仰角α度で、焦点f1に向かって入射する光線rが、受光面A3において受光される点p(x,y)のZ軸からの距離Rを算出することができる。
【0163】
従って、Z軸に対する仰角の所定の範囲(例えば、0度乃至80度など)を等角度△dに分割し、各仰角△d,2△d,3△d,・・・で入射する光線が、受光面A3上で受光される各点p1,p2,p3・・・について、Z軸からの距離Rp1,Rp2,Pp3・・・を求めておき、隣接する点どうしの距離の差|Rp1−Rp2|,|Rp2−Pp3|,・・・が、一定値になるように、カメラ41が出力する全方位画像データを変換することにより、その半径方向の歪みを除去した全方位画像データを得ることができることになる。
【0164】
なお、この歪み除去のための全方位画像データの変換は、図7の全方位画像変換部43が行う。
【0165】
即ち、全方位画像変換部43は、図21に示すように、カメラ41から、バッファ42を介して、上述した半径方向の歪みがある全方位画像データとともに、中心点C1、円周F1の円の半径rF1、および円周F2の円の半径rF2を受信する。
【0166】
そして、全方位画像変換部43は、中心点C1を中心とする半径rF1の円の円周F1と、中心点C1を中心とする半径rF2の円の円周F2とで囲まれる領域R1内において、中心点C1を中心とする、上述のRp1,Rp2,Pp3・・・を半径とする複数の同心円を描く。さらに、全方位画像変換部43は、その複数の同心円の円周を等分する、中心点C1を通る複数の直線を描く。これにより、全方位画像変換部43は、領域R1において、複数の同心円と、複数の直線とで形成される多数の交点を得る。
【0167】
ここで、上述の複数の同心円と、複数の直線とで形成される多数の交点を、以下、適宜、変換対象点という。
【0168】
上述したことから、変換対象点を、その隣接するものどうしが等間隔になるように配置することで、歪みのある全方位画像データを、その歪みを除去した画像データに変換することができる。
【0169】
そこで、いま、図21における、図17に示したのと同一の略扇形の領域R11の画像データを、歪みのないものに変換することを考える。
【0170】
この領域R11内には、図22Aに示すように、中心点C1を中心とする複数の同心円の円弧F11,F12,F13,F14,F15,F16それぞれと、中心点C1を通る複数の直線L1,L2,L3,L4,L5,L6それぞれとの交点である多数の変換対象点が存在する。
【0171】
全方位画像変換部43は、領域R11内に存在する多数の変換対象点を、図22Bに示すように、隣接するものどうしが等間隔になるように配置する。
【0172】
即ち、全方位画像変換部43は、図22Aの円弧F11,F12,F13,F14,F15,F16それぞれに対応する、等間隔に配置された横方向の直線L21,L22,L23,L24,L25,L26と、図22Aの直線L1,L2,L3,L4,L5,L6それぞれに対応する、等間隔に配置された縦方向の直線L11,L12,L13,L14,L15,L16を想定し、その横方向の直線L21乃至L26それぞれと、縦方向の直線L11乃至L16それぞれとの交点上に、対応する変換対象点を変換する(割り当てる)。
【0173】
これにより、例えば、図22Aにおいて、円弧F14と、直線L5との交点である変換対象点p11は、図22Bの、円弧F14に対応する直線L24と、直線L5に対応する直線L15との交点p12に変換される。
【0174】
なお、カメラ41を囲む、表面が鏡の球を考えると、全方位画像データには、その球面上に映る、球の外側の景色が表示される。従って、例えば、いま、そのカメラ41を囲む球を地球に見立てると、全方位画像変換部43において得られる画像データは、その縦軸と横軸が、それぞれ地球の緯度と経度に対応するものとなっている。そこで、本実施の形態では、全方位画像変換部43が出力する、歪みが除去された全方位画像データを、緯度経度表現の画像データと呼んでいる。
【0175】
ところで、全方位画像変換部43は、上述のように、変換対象点の位置を変換(変更)することによって、半径方向の歪みを有する画像データ(全方位画像データ)を、その歪みを除去した画像データ(緯度経度表現の画像データ)に変換するが、変換対象点は、上述したように、中心点C1を中心とする円と、中心点C1を通る直線との交点である。従って、変換対象点は、撮像部53(図12)の受光面A3(図19、図20)を構成する画素の画素中心に一致するとは限らず、むしろ、一般には、一致しないことが多い。
【0176】
このように、変換対象点は、画素中心からずれているのが一般的であるから、全方位画像変換部43において、変換対象点の位置を変換する前に、その変換対象点における画素値を求める必要がある。
【0177】
そこで、全方位画像変換部43は、変換対象点における画素値を、例えば、次のようにして求めるようになっている。
【0178】
即ち、いま、図22の変換対象点p11が、図23に示すように、受光面A3上の隣接する2×2の4画素P1,P2,P3,P4それぞれの画素中心CP1,CP2,CP3,CP4を頂点とする長方形(正方形)の範囲内にあるとする。なお、図23の実施の形態においては、上下、または左右方向に隣接する画素中心どうしの距離が1であるとしてある。
【0179】
そして、変換対象点p11が、画素中心CP1よりも距離αだけ右方向の、距離βだけ下方向の点である場合、全方位画像変換部43は、例えば、次式で求められる画素値Ssを、変換対象点p11の画素値とする。
【0180】
【数18】
Figure 0004211292
・・・(18)
【0181】
但し、式(18)において、Sa,Sb,Sc,Sdは、画素P1,P2,P3,P4それぞれの画素値を表す。また、式(18)において、αおよびβは、0以上1以下の範囲の値で、変換対象点p11の位置に対応するものである。
【0182】
なお、図12の実施の形態では、集光部52を双曲面ミラーで構成するようにしたが、集光部52には、その他、例えば、球面ミラーなどを採用することも可能である。
【0183】
また、図7の実施の形態では、カメラ41として、全方位画像データを撮像することができる全方位カメラを採用したが、カメラ41としては、その他、例えば、魚眼レンズを装着したビデオカメラや、一般的な(通常の)レンズのビデオカメラなどを採用することも可能である。
【0184】
ここで、一般的なレンズのビデオカメラでは、そのビデオカメラの光軸と直交し、その重心が光軸上にある長方形の平面であって、かつビデオカメラのレンズ中心と被写体との間にある平面を、仮想的なスクリーンである仮想スクリーンとすれば、被写体上の各点からレンズ中心に入射する光線が仮想スクリーン上に形成する画像データが撮像される。そして、その際、仮想スクリーンに入射する光線は、理想的には、何らの変換もされないから、2次元平面である仮想スクリーンには、3次元空間である現実世界の状況が、いわば忠実に映し出される。
【0185】
しかしながら、全方位カメラや魚眼レンズを装着したビデオカメラでは、全方位や広角の撮像が可能であるが、仮想スクリーンに入射する光線が、いわば非線形な変換を受けるため、即ち、例えば、全方位カメラについて言えば、図19に示したように、光線が、双曲面ミラー(を表す双曲面H1)で反射されるため、仮想スクリーンには、現実世界の状況が歪んだ形で映し出された全方位画像データが形成される。
【0186】
そのため、図7の全方位画像変換部43では、そのような歪んだ全方位画像データが、一般的なレンズのカメラで撮像した場合と同様の緯度経度表現の画像データに変換されるが、いま、この緯度経度表現の画像データを、一般的なレンズのカメラで撮像したものとすると、この緯度経度表現の画像データには、全方位カメラの光軸を中心とするすべての経度方向が表示されているから、一般的なレンズのカメラについての仮想スクリーンは、左右方向(経度方向)に無限の長さを有するものとなる。
【0187】
また、全方位カメラでは、緯度方向については、理想的には、0度から−90度の方向(図19において、XY平面から下側の任意の点から原点に向かう方向)が撮像されるから、緯度経度表現の画像データを、一般的なレンズのカメラで撮像したものとした場合には、その仮想スクリーンは、下方向(マイナスの緯度方向)に無限の長さを有するものとなる。
【0188】
ところで、全方位カメラにおいて撮像された全方位画像データを変換した緯度経度表現の画像データは、図2の画像表示装置において画像を表示するにあたって、そのすべてを必要としない。即ち、図2の画像表示装置において画像を表示するにあたっては、緯度経度表現の画像データのうち、注目している被写体が映っている部分を含むある程度の範囲の画像データがあれば、基本的には、十分である。
【0189】
そこで、以下においては、一般的なレンズのカメラで被写体を撮像した場合に、その仮想スクリーンに映る範囲の画像データを、緯度経度表現の画像データから切り出し、その切り出された画像データを対象に処理が行われるものとする。ここで、この切り出しは、例えば、図7の全方位画像変換部43に行わせることが可能である。
【0190】
さらに、以下においては、カメラ41の光軸やレンズ中心というときには、カメラ41が一般的なレンズのカメラであるとして、その一般的なレンズのカメラの光軸やレンズ中心を意味するものとする。従って、上述したように、緯度経度表現の画像データから切り出された画像データについては、その画像データを、一般的なレンズのカメラで撮像したと仮定した場合の、そのカメラの光軸やレンズ中心が、カメラ41の光軸やレンズ中心となる。
【0191】
次に、図5の画像処理装置によれば、データ変換部30において、画像データベース2に記憶された画像データが変換されることにより、図4で説明したように、ユーザの視点から見た画像データ、即ち、現実世界においてユーザが見ることのできる被写体が表示された画像データが、ディスプレイ6に表示される。
【0192】
このように、データ変換部30において、現実世界においてユーザが見ることのできる被写体が表示された画像データが得られるのは、次の原理による。
【0193】
即ち、画像データベース2には、図7の画像生成装置が出力する、複数の視点(カメラ41の視点)から撮像された緯度経度表現の原画像データが記憶されている。このことは、図24に示すように、ある曲面Ω上の複数の点を視点として、被写体を撮像した画像データが、画像データベース2に記憶されていると見ることができる。
【0194】
いま、曲面Ωの、被写体と反対側のある位置に視点Pを設定し、その視点Pから被写体を見た場合の視覚に映る画像を考えてみる。
【0195】
なお、視点Pは、その視点Pと、被写体上の任意の点とを結ぶ直線が、曲面Ωと交わる位置にとるものとする。
【0196】
また、ここでは、説明を簡単にするために、曲面Ω上の任意の点を視点として、被写体を撮像した画像データが、画像データベース2に記憶されているものとするとともに、ユーザが被写体を観測しようとする空間(媒質)内において、光線は直進し、減衰しないものとする。
【0197】
視点Pから被写体を見たときの光線の軌跡(被写体から視点Pに入射する光線の軌跡)は、視点Pと被写体上の各点とを結ぶ直線によって表現することができる。この光線は、必ず、曲面Ωと交わるから、その光線と一致する軌跡の光線に対応する画素値(被写体Pから被写体を見た場合の光線情報と同一の光線情報)が、画像データベース2には、必ず存在する。
【0198】
即ち、いま、視点Pと被写体上のある点Riとを結ぶ直線Liに注目し、その直線Liと曲面Ωとの交点をQiと表す。いまの場合、曲面Ω上の任意の点を視点として、被写体を撮像した画像データが、画像データベース2に記憶されているから、点Qiを視点として被写体を撮像した画像データは、画像データベース2に記憶されている。さらに、いまの場合、光線は直進し、かつ減衰しないから、被写体上の点Riから、曲面Ω上の点Qiに入射する光線と、視点Pに入射する光線とは、同一である。従って、視点Pから被写体を見た場合、その被写体上の点Riから視点Pに向かう光線に対応する画素値は、被写体上の点Riから曲面Ω上の点Qiに向かう光線に対応する画素値に一致し、この点Riから点Qiに向かう光線に対応する画素値は、画像データベース2に記憶されている。
【0199】
以上から、視点Pから、被写体上の点Riを見たときの画素値は、曲面Ω上の点Qiを視点として撮像された画像データから得ることができる。
【0200】
視点Pから、被写体上の他の点を見たときの画素値も、同様に、曲面Ω上の点を視点として撮像された画像データから得ることができるから、結果として、曲面Ω上の任意の点を視点として撮像された画像データが存在すれば、その画像データを構成する画素の画素値から、視点Pと被写体とを結ぶ光線情報と同一の光線情報の光線に対応する画素値を選択することにより、視点Pから被写体を見た画像データが得られることになる。
【0201】
ここで、図24に示した曲面Ωの形状は、特に限定されるものではなく、任意の形状のものを採用することができる。従って、曲面Ωは、図25に示すように、平面であってもかまわない。
【0202】
また、曲面Ωは、開曲面であっても、閉曲面であってもかまわない。但し、曲面Ωが開曲面である場合には、視点Pは、上述したように、その視点Pと、被写体上の任意の点とを結ぶ直線が、曲面Ωと交わる位置にとる必要がある。
【0203】
さらに、曲面Ωが、被写体を囲む閉曲面である場合には、上述した原理から、次のことが言える。
【0204】
即ち、被写体を囲む閉曲面上のすべての点において、すべての方向の光線の光線情報(光線の軌跡とその光線に対応する画素値)が得られている場合には、その閉曲面の外側の任意の位置から見た画像を再構成することができる。
【0205】
なお、上述の場合には、曲面Ω上の任意の点を視点として、被写体を撮像した画像データが得られているものとしたが、被写体を撮像するときの視点は、曲面Ω上にない点であってもかまわない。即ち、例えば、曲面Ωが、被写体を囲む閉曲面であるとした場合、その閉曲面の外側の任意の位置から見た画像を再構成するには、原理的には、閉曲面上の任意の点において、すべての方向の光線情報が存在すればよく、その光線情報は、閉曲面上の点を視点として撮像された画像のものであっても、また、閉曲面上の点以外の点を視点として撮像された画像のものであっても良い。このことは、曲面Ωが開曲面であっても同様である。
【0206】
図5のデータ変換部30は、以上のように、画像データベース2に記憶された原画像データを撮像したときの、所定の曲面Ωを通る光線情報のうち、ユーザの視点に向かう光線情報を用いて、提示用画像データ(ユーザの視点から見た画像データ)を再構成することにより、原画像データを提示用画像データに変換する。
【0207】
即ち、図5のデータ変換部30は、ユーザの視点から見た画像が表示される仮想的なスクリーン(仮想スクリーン)を、ユーザの視点と被写体との間に設定し、ユーザの視点と、仮想スクリーンの画素とを結ぶ直線と同一軌跡の光線を検出する。さらに、データ変換部30は、検出した光線に対応する画素値を、仮想スクリーンの画素の画素値とし、以上の処理を、仮想スクリーン上のすべての画素値について行うことにより、仮想スクリーン上に、ユーザの視点から見た画像データ(提示用画像データ)を再構成する。
【0208】
従って、例えば、いま、被写体を囲む閉曲面の外側の任意の位置を視点とした提示用画像データを再構成するとした場合には、その閉曲面上のすべての点における、すべての方向の光線情報があれば良い。なお、理論上は、閉曲面上の点も、その点における方向も無限に存在するから、実際には、閉曲面上の点も、その点における方向も有限個に制限されることになる。
【0209】
ところで、閉曲面上のすべての点における、すべての方向の光線情報を用いて、その閉曲面の外側の任意の位置を視点とした提示用画像データを再構成する場合、視点が閉曲面上にある場合には、その視点と一致する閉曲面上の点を通る光線の光線情報を、そのまま用いて、提示用画像データを再構成することができる。
【0210】
しかしながら、視点が閉曲面上にない場合には、その視点と、その視点について設定された仮想スクリーン上の画素とを結ぶ直線が、閉曲面と交わる点を、仮想スクリーン上のすべての画素について求める必要があり、この場合、例えば、画像処理装置としてのコンピュータ1(図3)を構成するCPU12の性能等によっては、提示用画像データを実時間で表示するのが困難となることがある。
【0211】
そこで、データ変換部30は、画像データ変換部31において、画像データベース2に記憶された原画像データを、その画素に入射した光線に対応する画素値からなる所定のフォーマットの画像データである中間データに変換しておき、中間データ変換部32において、その中間データを、ユーザの視点から見た提示用画像データに変換するようにすることで、提示用画像データを実時間で表示することを可能としている。
【0212】
即ち、画像データ変換部31は、原画像データを構成する所定の画素に入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、原画像データの所定の画素の画素値とした画像データを、中間データとして生成する。
【0213】
従って、曲面Ωとして、例えば、図26に示すように、閉曲面としての球面を考え、その球面上のある点Qにおける、ある方向の光線に注目した場合、画像データ変換部31では、その注目光線ついて、所定の点としての、例えば、原点を通り、注目光線と直交する平面α上において、注目光線が通る点Pxが画素とされ、さらに、その画素値が、注目光線に対応する画素値に設定される。画像データ変換部31では、球面上の点Q以外の点における、同一方向の光線についても同様にして、平面α上に画素とその画素値が設定され、これにより、平面α上には、同一方向の光線に対応する画素値からなる画像データが形成される。
【0214】
ここで、いま、図26において、球面の中心を原点とする3次元座標系を考えるとともに、球面上の点Qにおける、ある方向の光線と同一方向の、原点を通るベクトルを、ベクトルvと表す。さらに、ベクトルvを、3次元座標系におけるxy平面に射影して得られるベクトルを、ベクトルv’と表すとともに、ベクトルvとv’がつくる角度θを緯度と、x軸とベクトルv’がつくる角度φを経度と、それぞれいうものとする。ベクトルvの向きは、この緯度θと経度φで規定される。
【0215】
上述した平面αには、ベクトルvと同一方向の光線に対応する画素値からなる画像データが形成されるが、この平面α上に形成される画像データは、ベクトルvの方向の無限遠を視点として見た場合の画像データとなる。
【0216】
データ変換部31は、各値の緯度θと経度φによって規定される向きのベクトルvと直交し、原点を通る平面について、同様の画像データを構成し、中間データとして出力する。
【0217】
次に、図27のフローチャートと、図28を参照して、図5の画像データ変換部31が、図6のステップS1で行う画像データ変換処理、即ち、原画像データを中間データに変換する処理について説明する。
【0218】
まず最初に、ステップS21において、画像データ変換部31は、画像データベース2に記憶された原画像データを撮像したときのカメラ41の視点(以下、適宜、撮像ポイントともいう)から、注目撮像ポイントPcとするものを選択する。
【0219】
即ち、図7で説明した画像生成装置においては、カメラ41を固定し、被写体を移動しながら、原画像データの撮像が行われるが、これは、相対的には、被写体を固定し、カメラ41を移動しながら、原画像データの撮像が行われていることと等価である。即ち、原画像データは、カメラ41の視点(撮像ポイント)を変えながら、被写体の撮像を行ったものであり、多数の撮像ポイントが存在する。ステップS21では、その多数の撮像ポイントの中から、まだ注目撮像ポイントとしていない任意の撮像ポイントが、注目撮像ポイントPcとして選択される。
【0220】
ここで、画像データベース2には、上述したように、原画像データの各フレームとともに、その原画像データを撮像したときの、被写体の位置、並びにカメラ41の位置および光軸方向を表す情報も記憶される。データ変換部31は、これらの情報に基づき、各フレームの原画像データについて、例えば、撮像時座標系における、被写体の位置(姿勢を含む)を固定した場合のカメラ41の位置としての撮像ポイントを求め、その中から、まだ注目撮像ポイントとしていない撮像ポイントを、注目撮像ポイントPcとして選択する。
【0221】
その後、ステップS22に進み、画像データ変換部31は、注目撮像ポイントPcについて、仮想スクリーンを設定し、仮想スクリーン上の画素のうち、まだ注目画素として選択していない画素を、注目画素Psとして選択する。
【0222】
即ち、画像データ変換部31は、図28に示すように、注目撮像ポイントPcについて、その注目撮像ポイントから、カメラ41の光軸方向に向かって、所定の距離Lだけ離れた位置に、カメラ41の光軸と直交する長方形状の平面を、仮想スクリーンとして設定する。そして、画像データ変換部31は、仮想スクリーン上の画素のうち、例えば、ラスタスキャン順で、まだ注目画素としていない画素を、注目画素Psとして選択する。
【0223】
ここで、画像データ変換部31では、注目撮像ポイントにおけるカメラ41の光軸方向は、画像データベース2に記憶されている情報から認識される。
【0224】
また、仮想スクリーンの横と縦の画素数は、注目撮像ポイントPsから撮像された原画像データのフレームの横と縦の画素数にそれぞれ一致し、仮想スクリーン上には、注目撮像ポイントPsから撮像された原画像データが表示されているものと考える。
【0225】
ステップS22の処理後は、ステップS23に進み、画像データ変換部31は、注目画素Psを始点とし、注目撮像ポイントPcを終点とするベクトルvを求め、ステップS24に進む。
【0226】
ここで、図28の実施の形態では、ベクトルvは、撮像時座標系において、xz平面内のベクトルであって、xy平面からz軸方向に角度θの方向を有するものとなっている。即ち、図28の実施の形態では、ベクトルvは、緯度がθで、経度が0度の方向のベクトルになっている。
【0227】
また、図28の実施の形態では、注目撮像ポイントPcにおけるカメラ41の光軸が、撮像時座標系の原点を通るものとなっているが、カメラ41の光軸は、必ずしも、撮像時座標系の原点を通る必要はない。
【0228】
さらに、図28では、被写体を囲む曲面Ωとして、閉曲面である、原点を中心とする球面を示してある。
【0229】
ステップS24では、画像データ変換部31は、ベクトルvと直交し、撮像時座標系上の所定の点としての、例えば原点を通る平面αを求め、ステップS25に進む。
【0230】
ここで、平面αは、必ずしも、原点を通るものである必要はない。
【0231】
ステップS25では、画像データ変換部31は、ステップS23で求めたベクトルvの緯度θおよび経度φを求め、即ち、ベクトルvとxy平面とがつくる角度である緯度θ、およびベクトルvとxz平面とがつくる角度である経度φを求め、ステップS26に進む。
【0232】
ここで、ベクトルvの緯度θおよび経度φは、ステップS24で求められた平面αの法線方向の緯度θおよび経度φということもできる。従って、所定の点としての原点を通る平面αは、その緯度θと経度φによって特定することができるので、この緯度θと経度φによって特定される平面αを、以下、適宜、平面I(θ,φ)とも記述する。
【0233】
なお、緯度θの符号については、z軸の正側と負側を、それぞれ正または負とする。また、経度φの符号についても、y軸の正側と負側を、それぞれ正または負とする。
【0234】
ステップS26では、画像データ変換部31は、図28に示すように、注目撮像ポイントPcと注目画素Psとを結ぶ直線Lpを求める。さらに、ステップS26では、画像データ変換部31は、直線Lpと、ステップS24で求めた平面α(I(θ,φ))との交点Pxを求め、ステップS27に進み、その点Pxの、平面α上における座標(xα,yα)を求める。
【0235】
ここで、平面α上における点Pxの座標(xα,yα)は、次のようにして求めることができる。
【0236】
即ち、いま、平面α上に、2次元座標系を考え、そのx軸方向とy軸方向の、撮像時座標系における単位ベクトルを、それぞれvxとvyと表す。
【0237】
この場合、点Pxのx座標xαとy座標yαは、それぞれ、vx・OPs(またはvx・OPc)と、vy・OPs(またはvy・OPc)を計算することによって求めることができる。但し、・は、内積を表し、OPs(OPc)は、撮像時座標系の原点を始点とし、注目画素Ps(注目撮像ポイントPc)を終点とするベクトルを表す。
【0238】
なお、単位ベクトルvxは、例えば、式vx・v=0を満たし、かつ式vx・Zv=0を満たす、長さが1のベクトルである。また、単位ベクトルvyは、例えば、式vy・v=0を満たし、かつ式vy・vx=0を満たす、長さが1のベクトルである。但し、ベクトルZvは、撮像時座標系におけるz軸方向の単位ベクトル(=(0,0,1))を表す。
【0239】
ここで、注目撮像ポイントPcからのカメラ41の光軸が、撮像時座標系の原点を通らない場合は、例えば、その光軸と平面αとの交点の、平面α上の2次元座標系の座標の分だけ、点Pxの座標(xα,yα)をオフセットする必要がある。
【0240】
即ち、上述のようにして、平面α上における点Pxの座標(xα,yα)を求めた場合、その点Pxの座標(xα,yα)は、注目撮像ポイントPcからのカメラ41の光軸と平面αとの交点を原点とするものであり、このため、光軸が平面αと交わる点が異なる撮像ポイントを通る同一方向の光線については、同一平面α上に、原点が異なる位置にある2次元座標系が定義されてしまうことになる。
【0241】
そこで、ここでは、同一平面α上に定義される2次元座標系の原点を、所定の点としての、例えば、撮像時座標系の原点に固定するため、注目撮像ポイントPcからのカメラ41の光軸が、撮像時座標系の原点を通らない場合は、画像データ変換部31は、ステップS27において、その光軸と平面αとの交点の、平面α上の2次元座標系の座標の分だけ、点Pxの座標をオフセットする。
【0242】
具体的には、画像データ変換部31は、上述したようにして求められた点Pxの座標を、(xα’,yα’)と表すとともに、注目撮像ポイントPcからのカメラ41の光軸と平面αとの交点の、平面α上の2次元座標系の座標を、(xα 0,yα 0)と表すと、座標(xα’,yα’)と(xα 0,yα 0)とを加算した座標(xα’+xα 0,yα’+yα 0)を、平面α上における点Pxの座標(xα,yα)として、最終的に求める。
【0243】
その後、ステップS28に進み、画像データ変換部31は、仮想スクリーン上の原画像データを構成する画素のうちの注目画素Psの画素値を、平面α上の点Pxの位置の画素の画素値とする。即ち、いま、平面α上の点Pxの位置の画素の画素値を、平面αを表すI(θ,φ)と、平面α上の点Pxの座標を表す(xα,yα)とによって、I(θ,φ)(xα,yα)と表すこととすると、ステップS28において、画像データ変換部31は、平面α上の点Pxの位置の画素の画素値I(θ,φ)(xα,yα)に、注目画素Psの画素値を設定する。これにより、注目画素Psは、ベクトルvと直交する平面I(θ,φ)に正射影され、その正射影された平面I(θ,φ)の点Px(=(xα,yα))の位置の画素の画素値I(θ,φ)(xα,yα)として、注目画素Psの画素値が設定される。ここで、この注目画素Psを平面I(θ,φ)に正射影した画素Pxの画素値I(θ,φ)(xα,yα)が、中間データである。
【0244】
そして、ステップS29に進み、画像データ変換部31は、注目撮像ポイントPcに対して設定された仮想スクリーン上の(原画像データを構成する)すべての画素を注目画素としたかどうかを判定し、まだ、注目画素としていないものがあると判定した場合、ステップS22に戻り、以下、同様の処理が繰り返される。
【0245】
また、ステップS29において、仮想スクリーン上のすべての画素を注目画素としたと判定された場合、ステップS30に進み、画像データ変換部31は、画像データベース2に記憶された原画像データのすべてのフレームの撮像ポイントを、注目撮像ポイントとしたかどうかを判定する。
【0246】
ステップS30において、画像データベース2に記憶された原画像データの各のフレームの撮像ポイントのうち、まだ、注目撮像ポイントとしていないものがあると判定された場合、ステップS21に戻り、以下、同様の処理が繰り返される。
【0247】
また、ステップS30において、画像データベース2に記憶された原画像データの各のフレームの撮像ポイントすべてを、注目撮像ポイントとしたと判定された場合、処理を終了する。
【0248】
以上の画像データ変換処理により、理想的には、各値の緯度θと経度φで定義される平面I(θ,φ)上に、その緯度θと経度φで規定される方向の無限遠から被写体を見た場合の画像データが生成され、この画像データが、中間データとして、中間データベース3に供給されて記憶される。
【0249】
図29は、図27の画像データ変換処理により生成される中間データのフォーマットを模式的に表している。
【0250】
図27の画像データ変換処理によって生成される中間データは、平面I(θ,φ)上に、その緯度θと経度φで規定される方向の無限遠から見た被写体を映した画像データとなっており、従って、各値の緯度θおよび経度φごとに存在するので、図29Aに示すような、緯度θと経度φの値で区切られるテーブル(以下、適宜、緯度経度テーブルという)で表現することができる。
【0251】
ここで、図29Aの実施の形態では、緯度θが−90度から90度の範囲の1度刻みで、経度φが−180乃至179度の範囲の1度刻みで、それぞれ変化する平面I(θ,φ)ごとに、各緯度θと各経度φで規定される方向の無限遠から被写体を見た場合の画像データが、緯度経度テーブルの各マス目に登録されている。なお、緯度θや経度φを、何度刻みとするかは、特に限定されるものではない。また、緯度θや経度φの刻み幅は、一定であっても良いし、可変であっても良い。さらに、上述のように、緯度θと経度φが整数値のみを取り得る場合には、図27の画像データ変換処理において緯度θと経度φを求める演算を行うにあたり、小数点以下は、例えば、切り上げ、切り捨て、または四捨五入される。
【0252】
図29Aの緯度経度テーブルの各マス目には、そのマス目に対応する緯度θと経度φで規定される方向の無限遠から被写体を見た場合の画像データ、即ち、平面I(θ,φ)上に正射影された原画像データの画素の画素値が、その平面I(θ,φ)上に定義された2次元座標系の各x座標xαと各y座標yαごとに登録されている。即ち、図29Aの緯度経度テーブルの各マス目には、例えば、図29Bに示すように、平面I(θ,φ)上に定義された2次元座標系のx座標xαとy座標yαの値で区切られたテーブル(以下、適宜、画素値テーブルという)が登録されており、その画素値テーブルのマス目には、そのマス目に対応するx座標xαとy座標yαで規定される点に正射影された原画像データの画素の画素値p(xα,yα)が登録されている。
【0253】
なお、図29Bにおいて、x1とy1は、原画像データの画素を平面I(θ,φ)上に正射影した点の、最小のx座標とy座標を、それぞれ表す。また、x2とy2は、原画像データの画素を平面I(θ,φ)上に正射影した点の、最大のx座標とy座標を、それぞれ表す。さらに、図29Bでは、x座標およびy座標が1刻みになっているが、この刻み幅も、緯度θおよび経度φの刻み幅と同様に、特に限定されるものではない。
【0254】
ここで、図30に、図29Aの緯度経度テーブルの各マス目に登録されている、無限遠から被写体を見た場合の画像データの模式図を示す。なお、図30の実施の形態においては、被写体が、果物が入っている籠になっている。
【0255】
図29Aの緯度経度テーブルの各マス目に登録されている、無限遠から見た場合の画像データは、カメラで撮影された画像データそのものと同様の性質を有しており、従って、カメラで撮影された画像データに対して、その性質(例えば、相関性など)を利用して施される画像処理(例えば、エッジ強調やノイズ除去など)と同一の画像処理を施すことができる。
【0256】
ところで、図29Aの緯度経度テーブルの各マス目に登録されている画素値テーブル(図29B)における画素値からなる画像データは、そのマス目に対応する緯度θと経度φで規定される平面I(θ,φ)上に正射影された原画像データの画素の画素値から構成されるため、画像データベース2に記憶される原画像データによっては、画素値が存在しない場合がある。
【0257】
即ち、平面I(θ,φ)上に原画像データの画素が正射影される範囲(以下、適宜、有効範囲という)は、図29Bに示したように、x座標がx1乃至x2で、y座標がy1乃至y2で規定される範囲であり、この範囲における画素値が、画素値テーブルに登録されている。しかしながら、平面I(θ,φ)のすべての点(例えば、x座標がx1乃至x2の範囲の整数値で、y座標がy1乃至y2の範囲の整数値で、それぞれ表されるすべての点)に、原画像データの画素が正射影されるとは限らず、正射影される原画像データの画素が存在しない場合があり得る。
【0258】
従って、平面I(θ,φ)の有効範囲内の画素において、画素値が存在しない場合があり、この場合、その有効範囲の画像データ、即ち、平面I(θ,φ)に対応する画素値テーブル(図29B)における画素値からなる画像データは、例えば、図31Aに示すように、その一部の画素の画素値が欠落したものとなる。
【0259】
ここで、図31Aの実施の形態においては、黒色で示す縞模様状に、画素値が欠落している。
【0260】
このように、平面I(θ,φ)の有効範囲、つまり画素値テーブルに、画素値の欠落が生じている場合には、その画素値を補間する画素値補間処理を行い、これにより、図31Aに示した画素値が欠落している画素値テーブル(に登録された画素値で構成される画像)を、図31Bに示すような、画素値の欠落のない画素値テーブルに変換することができる。
【0261】
画素値テーブルについての画素値補間処理は、例えば、次のようにして行うことが可能である。
【0262】
即ち、例えば、いま、平面I(θ,φ)の有効範囲のある点(xα,yα)における画素値I(θ,φ)(xα,yα)が欠落している場合において、緯度または経度が僅かにずれた平面I(θ’,φ’)の有効範囲の、点(xα,yα)と同一座標の点における画素値I(θ’,φ’)(xα,yα)が存在するときには、欠落している画素値I(θ,φ)(xα,yα)は、平面I(θ’,φ’)上の画素値I(θ’,φ’)(xα,yα)で補間することができる。
【0263】
なお、θ’は、例えば、経度が整数値のみをとる場合には、θ±1やθ±2などとする。
【0264】
以上のような画素値補間処理は、図27の画像データ変換処理が終了した後、例えば、画像データ変換部31に行わせることができる。
【0265】
そこで、図32のフローチャートを参照して、画像データ変換部31が行う画素値補間処理について説明する。なお、ここでは、説明を簡単にするために、緯度θ、経度φ、平面I(θ,φ)の有効範囲のx座標xα、y座標yαは、いずれも整数値のみをとるものとする。
【0266】
画素値補間処理では、まず最初に、ステップS41において、画像データ変換部31が、緯度を表す変数θと、経度を表す変数φに、初期値としての、例えば、その最小値である−90度と−180度をそれぞれセットするとともに、平面I(θ,φ)のx座標を表す変数xαと、y座標を表す変数yαに、初期値としての、例えば、その最小値であるx1とy1をそれぞれセットする。
【0267】
そして、ステップS42に進み、画像データ変換部31は、中間データI(θ,φ)(xα,yα)に、画素値がセットされているかどうかを判定する。
【0268】
ここで、中間データI(θ,φ)(xα,yα)に、画素値がセットされているかどうかの判定は、例えば、図27の画像データ変換処理を行う前に、中間データとしての配列変数I(θ,φ)(xα,yα)に、画素値としては取り得ない値を、初期値として設定しておき、その値が、I(θ,φ)(xα,yα)にセットされているかどうかによって行う方法がある。
【0269】
ステップS42において、中間データI(θ,φ)(xα,yα)に、画素値がセットされていると判定された場合、即ち、画素値が欠落していない場合、ステップS43およびS44をスキップして、ステップS45に進む。
【0270】
また、ステップS42において、中間データI(θ,φ)(xα,yα)に、画素値がセットされていないと判定された場合、即ち、画素値が欠落している場合、ステップS43に進み、画像データ変換部31は、θ−△θ<θ’<θ+△θの範囲の緯度θ’と、φ−△φ<φ’<φ+△φの範囲の経度φ’で規定される平面I(θ’,φ’)上の点(xα,yα)の中で、画素値がセットされているものを探索(検索)する。
【0271】
ここで、△θと△φとしては、例えば、いずれも、小さい正の整数値が採用される。
【0272】
その後、ステップS44に進み、画像データ変換部31は、ステップS43で探索された画素値がセットされている中間データI(θ’,φ’)(xα,yα)の値(画素値)を、欠落している画素値である中間データI(θ,φ)(xα,yα)にセットして、ステップS45に進む。
【0273】
ここで、ステップS43において、θ−△θ<θ’<θ+△θの範囲の緯度θ’と、φ−△φ<φ’<φ+△φの範囲の経度φ’で規定される平面I(θ’,φ’)上の点(xα,yα)の中で、画素値がセットされているものが複数見つかった場合には、ステップS44では、画像データ変換部31は、その中から、例えば、緯度の差の絶対値|θ−θ’|と、経度の差の絶対値|φ−φ’|の自乗和が最も小さいものを選択し、その選択したI(θ’,φ’)(xα,yα)の値を、中間データI(θ,φ)(xα,yα)にセットする。
【0274】
また、ステップS43において、θ−△θ<θ’<θ+△θの範囲の緯度θ’と、φ−△φ<φ’<φ+△φの範囲の経度φ’で規定される平面I(θ’,φ’)上の点(xα,yα)の中で、画素値がセットされているものが見つからなかった場合には、ステップS44では、画像データ変換部31は、I(θ,φ)上の画素値がセットされている点の中から、点(xα,yα)と最も近い点を検索し、その点にセットされている画素値を、点(xα,yα)にセットする。
【0275】
なお、画素値補間処理では、平面I(θ,φ)上の、画素値がセットされていない点(xα,yα)に、画素値が補間されるから、その処理が進行していくと、画素値が補間された点における画素値によって、さらに、他の点における画素値が補間されることが生じうる。これを防止するためには、画素値の補間がされた点に、例えば、補間がされたことを表す補間フラグを付加するようにし、補間フラグが付加されている点における画素値は、補間に用いないようにする(ステップS43における探索の対象外とする)必要がある。
【0276】
ステップS45では、画像データ変換部31が、平面I(θ,φ)上のy座標を表す変数yαが、その最大値であるy2に等しいかどうかを判定する。ステップS45において、y座標yαが、最大値y2に等しくないと判定された場合、ステップS46に進み、画像データ変換部31は、y座標yαを1だけインクリメントして、ステップS42に戻り、以下、同様の処理を繰り返す。
【0277】
また、ステップS45において、y座標yαが、最大値y2に等しいと判定された場合、ステップS47に進み、画像データ変換部31は、y座標yαを、その最小値であるy1にリセットして、ステップS48に進む。
【0278】
ステップS48では、画像データ変換部31が、平面I(θ,φ)上のx座標を表す変数xαが、その最大値であるx2に等しいかどうかを判定する。ステップS48において、x座標xαが、最大値x2に等しくないと判定された場合、ステップS49に進み、画像データ変換部31は、x座標xαを1だけインクリメントして、ステップS42に戻り、以下、同様の処理を繰り返す。
【0279】
また、ステップS48において、x座標xαが、最大値x2に等しいと判定された場合、ステップS50に進み、画像データ変換部31は、x座標xαを、その最小値であるx1にリセットして、ステップS51に進む。
【0280】
ステップS51では、画像データ変換部31は、経度を表す変数φが、その最大値である179度に等しいかどうかを判定する。ステップS51において、経度φが、最大値である179度に等しくないと判定された場合、ステップS52に進み、画像データ変換部31は、経度φを1だけインクリメントして、ステップS42に戻り、以下、同様の処理を繰り返す。
【0281】
また、ステップS51において、経度φが、最大値である179度に等しいと判定された場合、ステップS53に進み、画像データ変換部31は、経度φを、その最小値である−180度にリセットし、ステップS54に進む。
【0282】
ステップS54では、画像データ変換部31は、緯度を表す変数θが、その最大値である90度に等しいかどうかを判定する。ステップS54において、緯度θが、最大値である90度に等しくないと判定された場合、ステップS55に進み、画像データ変換部31は、緯度θを1だけインクリメントして、ステップS42に戻り、以下、同様の処理を繰り返す。
【0283】
また、ステップS54において、緯度θが、最大値である90度に等しいと判定された場合、処理を終了する。
【0284】
なお、ここでは、画素値補間処理を、画像データ変換部31に行わせるようにしたが、画素値補間処理は、その他、例えば、図27の画像データ変換処理が終了した後に、中間データ変換部32(図5)に行わせるようにすることも可能である。
【0285】
ところで、図32の画素値補間処理では、他の点にセットされている画素値を、画素値がセットされていない点の画素値として、そのまま用いて補間が行われることから、平面I(θ,φ)上に形成される画像データの真値が存在すると仮定すると、画素値補間処理によって得られる画像データは、基本的に、真値に一致しない。
【0286】
しかしながら、真値に一致しないまでも、真値に、より近い画像データが得られるのが望ましい。
【0287】
そこで、図32の画素補間処理によって得られる画像データを、真値に、より近い画像データに変換する方法として、例えば、本件出願人が先に提案しているクラス分類適応処理がある。
【0288】
クラス分類適応処理は、クラス分類処理と適応処理とからなり、クラス分類処理によって、データが、その性質に基づいてクラス分けされ、各クラスごとに適応処理が施される。
【0289】
ここで、適応処理について、低画質の画像(以下、適宜、低画質画像という)を、高画質の画像(以下、適宜、高画質画像という)に変換する場合を例に説明する。
【0290】
なお、図32の画素補間処理によって得られる画像データは、真値と比較して低画質な低画質画像と考えることができ、真値は、図32の画素補間処理によって得られる画像データと比較して高画質な高画質画像と考えることができる。
【0291】
適応処理では、低画質画像を構成する画素(以下、適宜、低画質画素という)と、所定のタップ係数との線形結合により、その低画質画像の画質を向上させた高画質画像の画素の予測値を求めることで、その低画質画像の画質を高くした画像が得られる。
【0292】
具体的には、例えば、いま、ある高画質画像を教師データとするとともに、その高画質画像の画質を劣化させた低画質画像を生徒データとして、高画質画像を構成する画素(以下、適宜、高画質画素という)の画素値yの予測値E[y]を、幾つかの低画質画素の画素値x1,x2,・・・の集合と、所定のタップ係数w1,w2,・・・の線形結合により規定される線形1次結合モデルにより求めることを考える。この場合、予測値E[y]は、次式で表すことができる。
【0293】
【数19】
Figure 0004211292
・・・(19)
【0294】
式(19)を一般化するために、タップ係数wjの集合でなる行列W、生徒データxijの集合でなる行列X、および予測値E[yj]の集合でなる行列Y’を、次式のように定義する。
【0295】
【数20】
Figure 0004211292
・・・(20)
【0296】
この場合、次のような観測方程式が成立する。
【0297】
【数21】
Figure 0004211292
・・・(21)
【0298】
ここで、行列Xの成分xijは、i件目の生徒データの集合(i件目の教師データyiの予測に用いる生徒データの集合)の中のj番目の生徒データを意味し、行列Wの成分wjは、生徒データの集合の中のj番目の生徒データとの積が演算されるタップ係数を表す。また、yiは、i件目の教師データを表し、従って、E[yi]は、i件目の教師データの予測値を表す。なお、式(19)の左辺におけるyは、行列Yの成分yiのサフィックスiを省略したものであり、また、式(19)の右辺におけるx1,x2,・・・も、行列Xの成分xijのサフィックスiを省略したものである。
【0299】
式(21)の観測方程式に最小自乗法を適用して、高画質画素の画素値yに近い予測値E[y]を求めることを考える。そこで、まず、教師データとなる高画質画素の真の画素値yの集合でなる行列Y、および高画質画素の画素値yに対する予測値E[y]の残差eの集合でなる行列Eを、次式で定義する。
【0300】
【数22】
Figure 0004211292
・・・(22)
【0301】
この場合、式(21)から、次のような残差方程式が成立する。
【0302】
【数23】
Figure 0004211292
・・・(23)
【0303】
最小自乗法では、高画質画素の画素値yに近い予測値E[y]を求めるためのタップ係数wjを評価する尺度として、例えば、次式で表される自乗誤差が採用される。
【0304】
【数24】
Figure 0004211292
・・・(24)
【0305】
高画質画素の画素値yに近い予測値E[y]を求めるためのタップ係数wjは、式(24)の自乗誤差を最小にすることで求めることができる。
【0306】
従って、式(24)の自乗誤差をタップ係数wjで微分したものが0になる場合、即ち、次式を満たすタップ係数wjが、高画質画素の画素値yに近い予測値E[y]を求めるため最適値ということになる。
【0307】
【数25】
Figure 0004211292
・・・(25)
【0308】
そこで、まず、式(23)を、タップ係数wjで微分することにより、次式が成立する。
【0309】
【数26】
Figure 0004211292
・・・(26)
【0310】
式(25)および(26)より、式(27)が得られる。
【0311】
【数27】
Figure 0004211292
・・・(27)
【0312】
さらに、式(23)の残差方程式における生徒データxij、タップ係数wj、教師データyi、および残差(誤差)eiの関係を考慮すると、式(27)から、次のような正規方程式を得ることができる。
【0313】
【数28】
Figure 0004211292
・・・(28)
【0314】
なお、いま、ベクトルWを、式(20)で示したように定義するとともに、行列(共分散行列)Aおよびベクトルvを、次式で定義する。
【0315】
【数29】
Figure 0004211292
・・・(29)
【0316】
この場合、式(28)に示した正規方程式は、次式で表される。
【0317】
【数30】
Figure 0004211292
・・・(30)
【0318】
式(30)と等価な式(28)における各正規方程式は、生徒データxijおよび教師データyiのセットを、ある程度の数だけ用意することで、求めるべきタップ係数wjの数Jと同じ数だけたてることができ、従って、式(30)を、ベクトルWについて解くことで(但し、式(30)を解くには、式(30)における行列Aが正則である必要がある)、最適なタップ係数wjを求めることができる。なお、式(30)を解くにあたっては、例えば、掃き出し法(Gauss-Jordanの消去法)などを用いることが可能である。
【0319】
以上のように、生徒データと教師データを用いて、最適なタップ係数wjを求める学習をしておき、さらに、そのタップ係数wjを用い、式(19)により、教師データyに近い予測値E[y]を求めるのが適応処理である。
【0320】
なお、適応処理は、低画質画像には含まれていないが、高画質画像に含まれる成分が再現される点で、単なる補間とは異なる。即ち、適応処理では、式(19)だけを見る限りは、例えば、いわゆる補間フィルタを用いての単なる補間と同一に見えるが、その補間フィルタのタップ係数に相当するタップ係数wが、教師データyを用いての、いわば学習により求められるため、高画質画像に含まれる成分を再現することができる。このことから、適応処理は、いわば画像の創造作用がある処理ということができる。
【0321】
次に、図33は、上述のようなクラス分類適応処理を行うクラス分類適応処理装置の構成例を示している。
【0322】
なお、クラス分類適応処理装置は、例えば、図5の画像データ変換部31または中間データ変換部32に内蔵させ、図32の画素値補間処理が施された中間データを対象に、クラス分類適応処理を行わせるようにすることができる。また、クラス分類適応処理装置は、図5の画像データ変換部31および中間データ変換部32とは別に設け、中間データベース3に記憶された、図32の画素値補間処理が施された中間データを対象に、クラス分類適応処理を行わせるようにすることができる。
【0323】
バッファ61には、低画質画像データとしての、画素値補間処理が施された中間データ(以下、適宜、補間中間データという)が供給され、バッファ61は、そこに供給される低画質画像データを一時記憶する。
【0324】
予測タップ抽出部62は、後述する積和演算部66において求めようとする、中間データの真値としての高画質画像データの画素(高画質画素)を、順次、注目画素とし、さらに、その注目画素を予測するのに用いる低画質画像データの画素(低画質画素)を、バッファ61から抽出し、予測タップとする。
【0325】
即ち、予測タップ抽出部62は、例えば、注目画素に対応する位置に対して近い位置にある低画質画素の幾つかを、予測タップとして、バッファ61から読み出す。
【0326】
そして、予測タップ抽出部62は、注目画素について、予測タップを得ると、その注目画素についての予測タップを、積和演算部66に供給する。
【0327】
ここで、予測タップ抽出部62では、例えば、注目画素の平面に対応する低画質画像データとしての中間データの平面I(θ,φ)において、注目画素に対応する位置から近い位置にある低画質画素の幾つかを、予測タップとして抽出することができる。さらに、予測タップ抽出部62では、平面I(θ,φ)から緯度θまたは経度φが僅かにずれた平面I(θ’,φ’)において、注目画素に対応する位置から近い位置にある低画質画素の幾つかも、予測タップとして抽出することが可能である。
【0328】
一方、クラスタップ抽出部63は、注目画素を、幾つかのクラスのうちのいずれかに分類するためのクラス分類に用いる低画質画素を、バッファ61から抽出し、クラスタップとする。
【0329】
なお、ここでは、説明を簡単にするために、例えば、予測タップ抽出部62で得られる予測タップと、クラスタップ抽出部63で得られるクラスタップとは、同一のタップ構造を有するものとする。但し、予測タップとクラスタップとは、独立(別)のタップ構造を有するものとすることが可能である。
【0330】
クラスタップ抽出部63において得られる、注目画素についてのクラスタップは、クラス分類部64に供給される。クラス分類部64は、クラスタップ抽出部63からのクラスタップに基づき、注目画素をクラス分類し、その結果得られるクラスに対応するクラスコードを出力する。
【0331】
ここで、クラス分類を行う方法としては、例えば、ADRC(Adaptive Dynamic Range Coding)等を採用することができる。
【0332】
ADRCを用いる方法では、クラスタップを構成する画素の画素値が、ADRC処理され、その結果得られるADRCコードにしたがって、注目画素のクラスが決定される。
【0333】
なお、KビットADRCにおいては、例えば、クラスタップを構成する画素値の最大値MAXと最小値MINが検出され、DR=MAX-MINを、集合の局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、クラスタップを構成する画素がKビットに再量子化される。即ち、クラスタップを構成する各画素の画素値から、最小値MINが減算され、その減算値がDR/2Kで除算(量子化)される。そして、以上のようにして得られる、クラスタップを構成するKビットの各画素の画素値を、所定の順番で並べたビット列が、ADRCコードとして出力される。従って、クラスタップが、例えば、1ビットADRC処理された場合には、そのクラスタップを構成する各画素の画素値は、最小値MINが減算された後に、最大値MAXと最小値MINとの平均値で除算され、これにより、各画素の画素値が1ビットとされる(2値化される)。そして、その1ビットの画素値を所定の順番で並べたビット列が、ADRCコードとして出力される。
【0334】
なお、クラス分類部64には、例えば、クラスタップを構成する画素のレベル分布(画素値分布)のパターンを、そのままクラスコードとして出力させることも可能であるが、この場合、クラスタップが、N個の画素で構成され、各画素に、Kビットが割り当てられているとすると、クラス分類部64が出力するクラスコードの場合の数は、(2NK通りとなり、画素のビット数Kに指数的に比例した膨大な数となる。
【0335】
従って、クラス分類部64においては、クラスタップの情報量を、上述のADRC処理や、あるいはベクトル量子化等によって圧縮してから、クラス分類を行うのが好ましい。
【0336】
クラス分類部64が出力するクラスコードは、係数記憶部65に、アドレスとして与えられる。
【0337】
係数記憶部65は、後述する学習装置において学習処理が行われることにより得られるタップ係数を記憶しており、クラス分類部64が出力するクラスコードに対応するアドレスに記憶されているタップ係数を、積和演算部66に出力する。
【0338】
積和演算部66は、予測タップ抽出部62が出力する予測タップと、係数記憶部65が出力するタップ係数とを取得し、その予測タップとタップ係数とを用いて、式(19)に示した線形予測演算(積和演算)を行い、その演算結果を、注目画素となっている高画質画素の画素値として出力する。
【0339】
次に、図34は、図33の係数記憶部65に記憶させるタップ係数の学習処理を行う学習装置の一実施の形態の構成例を示している。
【0340】
教師データメモリ71には、学習に用いられる学習用データが供給される。ここで、学習用データとしては、中間データの真値としての高画質画像データが用いられる。即ち、例えば、多数の視点から撮像した画像データを対象に、図27の画像データ変換処理を行うことで、画素値の欠落のない中間データを生成し、これが、学習用データとして用いられる。
【0341】
教師データメモリ71は、そこに供給される、学習用データとしての高画質画像データを、学習の教師となる教師データとして記憶する。そして、生徒データ生成部72は、教師データメモリ71に記憶された教師データから、学習の生徒となる生徒データを生成する。
【0342】
即ち、生徒データ生成部72は、教師データメモリ71に記憶された教師データとしての画像データの画素値を欠落させ、その画素値を欠落させた画像データに、図32の画素値補間処理を施す。そして、生徒データ生成部72は、その画素値補間処理によって得られる低画質の画像データを、生徒データとして、生徒データメモリ73に供給して記憶させる。
【0343】
教師データメモリ71に記憶された教師データについて、生徒データが求められ、生徒データメモリ73に記憶されると、予測タップ抽出部74は、教師データメモリ71に記憶された教師データを、順次、注目画素とし、さらに、その注目画素を予測するのに用いる生徒データを、生徒データメモリ73から抽出し、これにより、図33の予測タップ抽出部62が構成する予測タップと同一のタップ構造の予測タップを構成する。
【0344】
以上のようにして、予測タップ抽出部74で得られた予測タップは、正規方程式加算部77に供給される。
【0345】
一方、クラスタップ抽出部75は、注目画素のクラス分類に用いる生徒データを、生徒データメモリ73から抽出し、これにより、図33のクラスタップ抽出部63における場合と同一構造のクラスタップを構成して、クラス分類部76に供給する。
【0346】
クラス分類部76は、クラスタップ抽出部75から、注目画素についてのクラスタップが供給されると、そのクラスタップを用い、図33のクラス分類部64と同一のクラス分類を行い、注目画素のクラスを表すクラスコードを、正規方程式加算部77に供給する。
【0347】
正規方程式加算部77は、教師データメモリ71から、注目画素となっている教師データを読み出し、予測タップ抽出部74からの予測タップを構成する生徒データ、および注目画素としての教師データを対象とした足し込みを、クラス分類部76から供給されるクラスごとに行う。
【0348】
即ち、正規方程式加算部77は、クラス分類部76から供給されるクラスコードに対応するクラスごとに、予測タップ(生徒データ)を用い、式(29)の行列Aにおける各コンポーネントとなっている、生徒データどうしの乗算(xinim)と、サメーション(Σ)に相当する演算を行う。
【0349】
さらに、正規方程式加算部77は、やはり、クラス分類部76から供給されるクラスコードに対応するクラスごとに、予測タップ(生徒データ)および注目画素(教師データ)を用い、式(29)のベクトルvにおける各コンポーネントとなっている、生徒データと教師データの乗算(xini)と、サメーション(Σ)に相当する演算を行う。
【0350】
正規方程式加算部77は、以上の足し込みを、教師データメモリ71に記憶された教師データすべてを注目画素として行い、これにより、各クラスについて、式(30)に示した正規方程式をたてる。
【0351】
その後、タップ係数決定部78は、正規方程式加算部77においてクラスごとに生成された正規方程式を解くことにより、クラスごとに、タップ係数を求め、係数メモリ79の、各クラスに対応するアドレスに供給する。これにより、係数メモリ79では、タップ係数決定部78から供給されるクラスごとのタップ係数が記憶される。
【0352】
なお、図29の中間データのフォーマットは、原画像データを構成する画素に入射した光線の各方向(緯度θと経度φによって特定される各方向)について、その方向に垂直な平面の各点ごとに、その点に入射する、平面と垂直な方向の光線に対応する画素値を表したものであるが、中間データは、その他、例えば、図35に示すフォーマットとすることも可能である。
【0353】
即ち、図29のフォーマットでは、中間データが、緯度θと経度φの値で区切られる緯度経度テーブル(図29A)で表現され、さらに、その緯度経度テーブルの各マス目には、そのマス目に対応する緯度θと経度φで規定される平面I(θ,φ)上に正射影された原画像データの画素の画素値が、その平面I(θ,φ)上に定義された2次元座標系の各x座標xαと各y座標yαごとに配置された画素値テーブルが登録されている。
【0354】
これに対して、図35の中間データのフォーマットは、原画像データを構成する画素に入射した光線の方向と垂直な平面の各点について、その平面と垂直な方向ごとに、その方向の光線に対応する画素値を表したものとなっている。
【0355】
即ち、図35のフォーマットでは、中間データが、図35Aに示すように、原画像データの画素の画素値が正射影される平面I(θ,φ)上に定義された2次元座標系のx座標xαとy座標yαの値で区切られたテーブル(以下、適宜、座標テーブルという)で表現され、さらに、その座標テーブルの各マス目には、図35Bに示すように、そのマス目に対応するx座標xαとy座標yαで規定される点に正射影された原画像データの画素値が、画素値が正射影される平面I(θ,φ)を規定する各緯度θと各経度φごとに配置されたテーブル(このテーブルも、以下、適宜、画素値テーブルという)が登録される。
【0356】
図35のフォーマットでは、座標テーブルの1つのマス目に、緯度θと経度φが各値の平面における、同一座標の点に正射影された原画像データの画素値が配置されるため、図32の画素値補間処理を行う場合に、図29のフォーマットよりも有利である。
【0357】
即ち、図32の画素値補間処理では、平面I(θ,φ)上のある点(xα,yα)における画素値I(θ,φ)(xα,yα)が欠落している場合には、緯度または経度が僅かにずれた平面I(θ’,φ’)上の、点(xα,yα)と同一座標の点における画素値I(θ’,φ’)(xα,yα)によって、欠落している画素値I(θ,φ)(xα,yα)が補間される。
【0358】
従って、図29のフォーマットの中間データでは、画素値補間処理を行うのに、緯度経度テーブル(図29A)において、画素値の欠落がある平面I(θ,φ)に対応するマス目とは別のマス目である、平面I(θ’,φ’)に対応するマス目から、画素値I(θ’,φ’)(xα,yα)を読み出す必要がある。
【0359】
これに対して、図35のフォーマットの中間データでは、座標テーブル(図35A)において、各緯度θと各経度φの平面I(θ,φ)上における同一座標(xα,yα)の点における画素値が、1つのマス目に登録されているから、画素値補間処理を行うにあたっては、画素値の欠落がある平面I(θ,φ)上の点(xα,yα)に対応するマス目と同一のマス目から、画素値I(θ’,φ’)(xα,yα)を読み出すことができる。即ち、この場合、座標テーブル(図35A)において、画素値の欠落がある平面I(θ,φ)上の点(xα,yα)に対応するマス目と別のマス目にアクセスする必要がない。
【0360】
次に、図36のフローチャートと、図37を参照して、図5の中間データ変換部32が、図6のステップS3で行う中間データ変換処理、即ち、中間データを、ユーザの視点から見た画像データ(提示用画像データ)に変換する処理について説明する。
【0361】
まず最初に、ステップS61において、中間データ変換部32は、図6のステップS2で設定されたユーザの視点Pcについて、図37に示すように、そのユーザの視点Pcから、その視線方向に向かって、所定の距離Lだけ離れた位置に、ユーザの視線と直交する長方形状の平面を、仮想スクリーンとして設定する。
【0362】
ここで、本実施の形態では、説明を簡単にするため、図27で説明した画像データ変換処理では、被写体のある点(例えば、重心など)を原点とする撮像時座標系を用いて処理が行われるものとする。
【0363】
さらに、中間データ変換処理では、ディスプレイ6(図2)に、ユーザの視点に応じた画像を表示するための3次元座標系が想定される。いま、この3次元座標系を、表示時座標系というものとし、その原点は、例えば、ディスプレイ6の表示画面の中心点(表示画面の対角線の交点)にとられるものとする。そして、ユーザの視線は、視点Pcから、例えば、表示時座標系の原点に向かうものであるとする。
【0364】
その後、ステップS62に進み、中間データ変換部32は、ユーザの視点Pcについて設定した仮想スクリーン上の画素のうち、まだ注目画素として選択していない画素を、注目画素Psとして選択する。
【0365】
ステップS62の処理後は、ステップS63に進み、中間データ変換部32は、注目画素Psを始点とし、ユーザの視点Pcを終点とするベクトルvを求め、ステップS64に進む。
【0366】
ここで、図37の実施の形態では、ベクトルvは、表示時座標系において、xz平面内のベクトルであって、xy平面からz軸方向に角度θの方向を有するものとなっている。即ち、図37の実施の形態では、ベクトルvは、緯度がθで、経度が0度の方向のベクトルになっている。
【0367】
また、図37の実施の形態では、ユーザの視線方向が、上述したように、ユーザの視点Pcから表示時座標系の原点を通るものとなっているが、ユーザの視線方向は、必ずしも、表示時座標系の原点を通る必要はない。即ち、ユーザの視線方向は、何らかの方法で検出するようにすることができる。
【0368】
さらに、図37では、図28における場合と同様に、被写体を囲む曲面Ωとして、閉曲面である球面を示してある。
【0369】
ステップS64では、中間データ変換部32は、ベクトルvと直交し、表示時座標系上の所定の点としての原点を通る平面αを求め、ステップS65に進む。
【0370】
ここで、平面αは、必ずしも、原点を通るものである必要はない。
【0371】
ステップS65では、中間データ変換部32は、ステップS63で求めたベクトルvの緯度θおよび経度φを求め、即ち、ベクトルvとxy平面とがつくる角度である緯度θ、およびベクトルvとxz平面とがつくる角度である経度φを求め、ステップS66に進む。
【0372】
ここで、ベクトルvの緯度θおよび経度φは、ステップS64で求められた平面αの法線方向の緯度θおよび経度φでもある。従って、所定の点としての原点を通る平面αは、その緯度θと経度φによって特定することができるので、この緯度θと経度φによって特定される平面αを、画像データ変換処理における場合と同様に、以下、適宜、平面I(θ,φ)とも記述する。
【0373】
ステップS66では、中間データ変換部32は、図37に示すように、ユーザの視点Pcと注目画素Psとを結ぶ直線Lpを求める。さらに、ステップS66では、中間データ変換部32は、直線Lpと、ステップS64で求めた平面α(I(θ,φ))との交点Pxを求め、ステップS67に進み、その点Pxの、平面α上の2次元座標系における座標(xα,yα)を求める。
【0374】
ここで、平面α上における点Pxの座標(xα,yα)は、図27のステップS27における場合と同様にして求めることができる。
【0375】
なお、ユーザの視点Pcからの視線方向が、表示時座標系の原点を通らない場合は、例えば、図27のステップS27で説明した場合と同様に、その視線方向の直線と平面αとの交点の、平面α上の2次元座標系の座標の分だけ、点Pxの座標(xα,yα)をオフセットする必要がある。
【0376】
その後、ステップS68に進み、中間データ変換部32は、仮想スクリーン上の注目画素Psの画素値として、平面α上の点Pxの位置の画素の画素値をセットする。即ち、平面αが、緯度θと経度φで特定される平面I(θ,φ)であり、平面α上の点Pxの座標が、(xα,yα)である場合、中間データ変換部32は、中間データベースから、画素値I(θ,φ)(xα,yα)を読み出し、その画素値(θ,φ)(xα,yα)を、注目画素Psの画素値としてセットする。
【0377】
そして、ステップS69に進み、中間データ変換部32は、ユーザの視点Pcに対して設定された仮想スクリーン上のすべての画素を注目画素としたかどうかを判定し、まだ、注目画素としていないものがあると判定した場合、ステップS62に戻り、以下、同様の処理が繰り返される。
【0378】
また、ステップS69において、仮想スクリーン上のすべての画素を注目画素としたと判定された場合、即ち、仮想スクリーン上に、ユーザの視点から見た画像データ(提示用画像データ)が形成された場合、処理を終了する。
【0379】
以上のようにして得られた提示用画像データは、上述した図6のステップS4において、ディスプレイ6に表示される。
【0380】
従って、ディスプレイ6には、ユーザの視点から被写体を見た場合の画像データが表示されることになる。
【0381】
以上のように、原画像データを撮像したときの光線の軌跡とその光線に対応する画素値である光線情報を用いて、原画像データを、ユーザの視点から見える提示用画像データに変換するようにしたので、実写の画像であっても、容易に、ユーザの視点に応じて変化させることができる。即ち、ユーザが、その視点を動かすことにより、ディスプレイ6には、ユーザが現実世界において被写体を観察している場合にユーザの視覚に映るのと同様の画像が表示される。
【0382】
具体的には、例えば、ユーザが、ディスプレイ6に向かって、左または右方向に視点を移動した場合には、ディスプレイ6には、ユーザが視点を動かす前に表示されていた被写体の左側面側または右側面側が見える画像が表示される。また、例えば、ユーザが、ディスプレイ6に対して近づく方向または遠ざかる方向に視点を移動した場合には、ディスプレイ6には、ユーザが視点を動かす前に表示されていた被写体が大きくまたは小さくなった画像が表示される。
【0383】
その結果、ユーザは、被写体としての物体が、実際に、その場にあるかのような感覚を享受することができる。
【0384】
また、図5の画像処理装置1によれば、例えば、宇宙空間の画像データや、分子などのミクロの構造の画像データなどを、原画像データとして、図6の画像処理を行うようにすることにより、通常は視認することができない構造を、ユーザが直感的に把握することができるインタフェースの提供が可能となる。
【0385】
さらに、図5の画像処理装置1では、原画像データを、被写体を無限遠の各方向から観察した中間データに変換しておくようにしたので、その中間データから、ユーザの視点に応じた提示用画像データを、容易に生成することができる。
【0386】
なお、中間データは、別の被写体について、独立に生成しておき、図36の中間データ変換処理において、提示用画像データを生成する過程で、その別々の被写体の画像を合成するようにすることも可能である。
【0387】
また、中間データについては、図36の中間データ変換処理の対象とする前に、その一部を削除したり、その一部に、他の中間データ等の画像データを追加する等の編集を行うことが可能である。
【0388】
さらに、図5の画像処理装置1において処理の対象とする画像は、実写の画像に限定されるものではない。
【0389】
また、上述の場合には、ユーザの位置を検出し、その位置に、ユーザの視点を設定して(ユーザの視点があるものとして)、図36の中間データ変換処理を行うようにしたが、ユーザの視点は、図5の画像処理装置1において、任意の位置に設定することが可能である。
【0390】
即ち、ユーザの視点は、例えば、表示時座標系の原点を中心とする、所定の平面上に描かれる所定の半径の円の円周上を、順次移動するように設定することが可能である。この場合、ディスプレイ6には、被写体の周囲をパン(pan)しながら撮像を行ったかのような画像が表示されることになる。
【0391】
また、ユーザの視点は、例えば、表示時座標系の原点を通る直線上を、一方向に移動するように設定することが可能である。この場合、ディスプレイ6には、被写体に近づきながら、または被写体から遠ざかりながら撮像を行ったかのような画像が表示されることになる。
【0392】
さらに、上述の場合には、静止している被写体を、その被写体をモーションベース方式やターンテーブル方式で動かしながら、カメラ41で撮像することにより、多数の視点から撮像した被写体の原画像データを得るようにしたが、図5の画像処理装置1では、動きのある被写体の画像を対象に処理を行うことも可能である。但し、その場合、基本的には、例えば、複数のカメラによって、複数の視点から、動いている被写体の画像データを同時に撮像するとともに、その複数のカメラそれぞれによって撮像された各フレームの画像データについて、フレームごとに、中間データを生成し、さらに、表示時にも、フレームごとに、そのフレームの中間データを用いて、提示用画像データを生成する必要がある。
【0393】
次に、図38は、図3のコンピュータ1がプログラムを実行することにより実現される画像処理装置の他の機能的構成例を示している。なお、図中、図5における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図38の画像処理装置1は、再生フレーム管理部34が新たに設けられている他は、基本的に、図5における場合と同様に構成されている。
【0394】
但し、図38の実施の形態においては、画像データベース2には、カメラを、直線的に移動しながら撮像された画像データが記憶されている。即ち、画像データベース2には、例えば、カメラを等速直線運動させながら撮像を行った映画のシーンや、一定速度で走行する自動車や列車の車窓からカメラによる撮像を行った画像データなどが記憶されている。
【0395】
このため、図38の実施の形態では、ディスプレイ6に表示される画像データのフレームを管理するため、再生フレーム管理部34が設けられている。即ち、再生フレーム管理部34は、中間データに変換された原画像データのフレーム(またはフィールド)数を、画像データ変換部31から受信し、また、ディスプレイ6に表示させる提示用画像データのフレームを、中間データ変換部32に指示する。
【0396】
ここで、図38の実施の形態において、画像データベース2に記憶されている画像データは、等価的に、カメラを、直線的に移動しながら撮像されたものであれば良く、従って、例えば、カメラを固定して、被写体を直線的に移動しながら撮像を行うことにより得られたものであっても良い。
【0397】
図38の画像処理装置1においても、図5の実施の形態における場合と同様の原理によって、画像データベース2に記憶された原画像データが、ユーザの視点から見た画像データ(提示用画像データ)に変換される。
【0398】
即ち、画像データベース2に記憶された原画像データは、カメラを、例えば、等速直線運動する列車に固定して撮像したもの、即ち、列車が走行する方向に、カメラの視点を移動しながら撮像したものであり、従って、原画像データは、図39Aに示すように、地球の経度の各方向の光線に対応する画素値を含む。ここで、図39Aでは、3つの方向#1乃至#3の光線を示している。
【0399】
一方、ある視点から被写体を見た場合の画像データは、被写体から視点に向かう光線に対応する画素値で構成される。従って、いま、光線は直進し、かつ減衰しないものとすると、列車が走行する軌跡と平行な直線上のある視点から被写体を見た場合の画像データである提示用画像データは、図39Bに示すように、被写体から視点に向かう光線に対応する画素値でなる画像データを、図39Aに示した各方向の光線に対応する画素値を含む原画像データから再構成することで得ることができる。
【0400】
図38の画像処理装置1では、上述の原理にしたがい、原画像データが、列車の走行軌跡と平行な直線上のユーザの視点から見た画像データ(提示用画像データ)に変換される。
【0401】
なお、ここでは、画像データベース2に記憶された原画像データは、列車が走行する方向に、カメラの視点を移動しながら撮像したものであるため、図38の画像処理装置1において得られる提示用画像データは、上述のような原画像データが撮像されたときの光線情報から構成することができるものに限られる。即ち、図38の画像処理装置1において得られる提示用画像データには、列車が走行する平面と垂直な方向へのユーザの視点の移動は反映されない(反映することができない)。
【0402】
次に、図40のフローチャートを参照して、図38の画像処理装置(コンピュータ)1による画像処理について説明する。
【0403】
まず最初に、ステップS81において、データ変換部31は、画像データベース2から原画像データを読み出し、中間データに変換する。さらに、ステップS81では、データ変換部31は、中間データを、中間データベース3に供給して記憶させ、ステップS82に進む。
【0404】
ステップS82では、画像データ変換部31は、ステップS81において中間データに変換した原画像データのフレーム数Fnumを、再生フレーム管理部34に供給し、再生フレーム管理部34は、そのフレーム数Fnumを取得する。
【0405】
そして、ステップS83に進み、再生フレーム管理部34は、再生対象のフレームを表す変数nを、例えば、1に初期化し、処理対象のフレームを表すフレーム情報として、中間データ変換部32に供給して、ステップS84に進む。
【0406】
ステップS84では、センサ制御部33が、レシーバ4(図2)の出力から、ユーザの位置を検出し、さらに、そのユーザの位置を、ユーザの視点に設定して、中間データ変換部32に供給する。
【0407】
そして、ステップS85に進み、中間データ変換部32は、再生フレーム管理部34から供給されるフレーム情報に基づいて、処理対象が第nフレームであることを認識し、さらに、センサ制御部33から供給されるユーザの視点に基づいて、中間データを、処理対象である第nフレームの提示用画像データに変換し、ステップS86に進む。
【0408】
ステップS86では、中間データ変換部32は、第nフレームの提示用画像データを、ディスプレイ6に供給して表示させ、ステップS87に進む。
【0409】
ステップS87では、再生フレーム管理部34は、変数nが、原画像データの全フレーム数Fnumに等しいかどうかを判定する。ステップS87において、変数nが、全フレーム数Fnumに等しくないと判定された場合、ステップS88に進み、例えば、ユーザが、画像処理を終了するように、入力部17(図3)を操作したかどうかを、CPU12(図3)が判定する。ステップS88において、画像処理を終了するように、入力部17が操作されていないと判定された場合、ステップS89に進み、再生フレーム管理部34は、変数nを1だけインクリメントし、対応するフレーム情報を、中間データ変換部32に供給する。そして、ステップS84に戻り、以下、同様の処理が繰り返される。
【0410】
一方、ステップS87において、変数nが、全フレーム数Fnumに等しいと判定されるか、または、ステップS88において、画像処理を終了するように、入力部17が操作されたと判定された場合、処理を終了する。
【0411】
なお、図40の画像処理が、過去に実行され、これにより、画像データベース2に記憶されている原画像データを変換した中間データが、中間データベース3に、既に記憶されている場合には、ステップS81およびS82の処理は、スキップすることができる。
【0412】
次に、図38の実施の形態でのデータ変換部30(を構成する画像データ変換部31および中間データ変換部32)の処理について説明する。
【0413】
なお、画像データベース2に記憶された原画像データは、例えば、図41に示すように、ほぼ等速直線運動をしている列車の車窓に固定されたカメラによって撮像されたものとする。図41に示した場合においては、カメラでは、近景(例えば、カメラから比較的近くにある樹木などの物体)と遠景(例えば、カメラから遠くにある空などの景色)が撮像されている。
【0414】
ここで、図41においては、列車が走行する平面(あるいはその平面と平行な平面)上において、列車の走行方向に対して垂直な方向を基線とし、その基線に対して、反時計回り方向に角度φ0だけ傾いた方向が光軸方向となるように、カメラが固定されている。なお、列車が走行する平面上において、その列車に固定されたカメラのレンズ中心から反時計回り方向に、基線に対してつくられる角度を、以下、適宜、偏角という。この偏角は、上述の経度に相当する。
【0415】
即ち、ここでは、列車が、平面上を、直線的に移動することとしているため、その平面を、地球の赤道上の平面と考えると、列車に固定されたカメラの視点は、緯度方向には移動せず、経度方向にのみ移動する。従って、そのようなカメラによって撮像された原画像データについては、基本的には、上述の緯度と経度のうち、経度だけに注目すれば良く、緯度は無視できることになる。
【0416】
図41では、列車の走行方向に向かって右側に、被写体となる複数の物体(例えば、樹木など)があり、さらに、その被写体となる複数の物体は、列車の走行方向に沿って存在している。従って、図41の実施の形態では、被写体となる複数の物体は、列車の走行軌跡に対して等距離の位置に存在している。
【0417】
この場合、カメラの光学中心を通る基線上にある被写体の、カメラから見た速度をV0と表すこととすると、その基線から角度(偏角)φの方向にある被写体の、カメラから見た速度は、V0cosφで表すことができる。
【0418】
従って、カメラによって撮像される画像データ、即ち、カメラの光軸と垂直な仮想スクリーン上に表示される画像データにおいては、右側に表示された被写体が、左側に表示された被写体よりも高速に移動する。
【0419】
図41では、列車が、図中上方向に走行している。従って、その列車の車窓に固定されたカメラによれば、例えば、図42に示すように、画像データが撮像される。
【0420】
即ち、いまの場合、列車は等速直線運動をしているから、その列車に固定されているカメラも等速直線運動をし、これにより、カメラでは、そのレンズ中心が、列車の走行方向に等間隔で移動しながら、各フレームの画像データが撮像される。
【0421】
いま、カメラで撮像された各フレームの画像データにおいて、ある偏角φ1の方向に注目すると、その偏角φ1の方向の光線に対応する画素値は、各フレームの画像データに存在する。従って、各フレームの画像データから、偏角φ1の方向の光線に対応する画素値を集めることで、その偏角φ1の方向の無限遠から見た画像データである中間データを生成することができる。
【0422】
即ち、カメラで撮像された各フレームの画像データから、偏角φ1の方向にある列の画素(偏角φ1の方向にある、垂直方向に並ぶ画素)の並びを切り出し、各フレームから切り出した1列の画素の画素値を、フレーム順に、右から左方向に並べることで、偏角φ1の方向の無限遠から見た画像データである中間データを生成することができる。
【0423】
ところで、上述のように、カメラで撮像された各フレームの画像データから、偏角θ1の方向にある列の画素を切り出して並べることにより、偏角φ1の方向の無限遠から見た画像データ(中間データ)を生成すると、その画像データは、1フレームの間にカメラが移動する移動距離に対応する間隔だけ、画素が存在しないものとなることがある。
【0424】
即ち、1フレームの間にカメラが移動する移動距離が、1画素の横の長さを越える場合、あるフレームの画像データにおける偏角φ1の方向にある列の画素と、その次のフレームの画像データにおける偏角φ1の方向にある画素との間には、1画素を越える間隔が生じ、中間データとしての画像データも、そのような間隔の空いたものとなる。
【0425】
そこで、そのような間隔が生じるのを防止するため、カメラで撮像された各フレームの画像データからの画素の切り出しは、行方向(水平方向)に、ある程度の幅のある形で行うことができる。
【0426】
即ち、カメラで撮像された各フレームの画像データからは、例えば、図42に示すように、ある偏角φ1から、微小角度±δφの範囲の方向にある複数列の画素を切り出すようにすることができる。いま、この偏角φ1から、微小角度±δφの範囲の方向にある複数列の画素でなる短冊状の画像を、偏角θ1についての短冊画像というものとすると、偏角φ1の方向の無限遠から見た画像データである中間データの生成(再構成)は、図43に示すように、カメラで撮像された各フレームの画像データから、偏角φ1についての短冊画像が切り出され、フレーム順に、右から左方向に配置されることで行われる。
【0427】
なお、図43に示した中間データの列方向(垂直方向)の長さは、カメラで撮像された画像データのフレームの画素の行数(列方向の画素数)で決まるが、その行方向(水平方向)の長さは、カメラで撮像された画像データのフレーム数に依存する。
【0428】
図38のデータ変換部30における画像データ変換部31では、上述のようにして、各偏角の方向の無限遠から見た中間データが生成される。
【0429】
即ち、いま、列車に固定されたカメラで撮像された画像データが、例えば、図44に示すように、樹木がある風景が、画面上を左から右方向に移動していくものである場合には、例えば、図45に示すような中間データが生成される。
【0430】
ここで、図45は、図45Aに示すような4つの方向#1乃至#4の無限遠から見た画像データである中間データを示している。即ち、図45B乃至図45Eは、図45Aにおける方向#1乃至#4の無限遠それぞれから見た画像データである中間データを示している。
【0431】
次に、図46のフローチャートと、図47を参照して、図38の画像データ変換部31が、図40のステップS81で行う画像データ変換処理、即ち、原画像データを中間データに変換する処理について説明する。
【0432】
まず最初に、ステップS101において、画像データ変換部31は、画像データベース2に記憶された原画像データのフレーム数をカウントする変数Fnumに、初期値としての、例えば1をセットして、ステップS102に進む。
【0433】
ステップS102では、画像データベース2に記憶された原画像データを撮像したときのカメラの視点(撮像ポイント)から、注目撮像ポイントPcとするものを選択する。
【0434】
即ち、図38の実施の形態においては、画像データベース2に記憶された原画像データは、図41および図42で説明したように、等速直線運動する列車に固定されたカメラによって撮像されたものであるから、図47に示すように、列車の走行方向に沿った直線上には、多数の撮像ポイントが存在すする。ステップS102では、その多数の撮像ポイントの中から、第Fnumフレームの原画像データをカメラで撮像したときの撮像ポイントが、注目撮像ポイントPcとして選択される。なお、図38では、第n−1フレーム、第nフレーム、および第n+1フレームの3つのフレームそれぞれについての撮像ポイントを示してある。
【0435】
ここで、図38の実施の形態においては、画像データベース2には、列車に固定されたカメラによって撮像された原画像データの他、図7の画像生成装置で撮像された原画像データにおける場合と同様に、現実世界にあらかじめ設定された3次元座標系である撮像時座標系における、列車に固定されたカメラの撮像ポイントも記憶されているものとする。この場合、ステップS102において、画像データ変換部31は、画像データベース2から、第Fnumフレームの画像データについての撮像ポイントを、注目撮像ポイントPcとして読み出す。なお、図47では、撮像時座標系として、左方向にx軸が、上方向にy軸が、紙面と垂直な手前方向にz軸が、それぞれとられている。
【0436】
その後、ステップS103に進み、画像データ変換部31は、注目撮像ポイントPcについて、仮想スクリーンを設定し、仮想スクリーン上の垂直方向の画素の列のうち、まだ注目列として選択していない画素列を、注目列として選択する。
【0437】
即ち、画像データ変換部31は、図47に示すように、注目撮像ポイントPcについて、その注目撮像ポイントPcから、カメラの光軸方向に向かって、所定の距離Lだけ離れた位置に、列車に固定されたカメラの光軸と直交する長方形状の平面を、仮想スクリーンとして設定する。そして、画像データ変換部31は、仮想スクリーン上の画素のうち、例えば、左から右方向の順番で、まだ注目列として選択していない画素列を、注目列として選択する。
【0438】
ここで、図47では、カメラの光軸と基線が一致しているが、即ち、カメラの光軸が、基線から0度の方向になっているが、カメラの光軸は、基線から任意の偏角θ0の方向にとることが可能である。なお、カメラの光軸の方向は、基線からの偏角θ0が何度の方向であっても良いが、その偏角θ0が何度であるかは、ここでは、データ変換部30において、あらかじめ認識されているものとする。
【0439】
ステップS103において注目列が選択された後は、ステップS104に進み、画像データ変換部31は、その注目列を構成する画素のうちの、例えば最上行の画素を注目画素Psとして選択する。
【0440】
ここで、注目画素Psは、注目列を構成する画素のうちの最上行の画素に限定されるものではなく、任意の行の画素を、注目画素として選択することが可能である。
【0441】
ステップS104において注目画素Psが選択された後は、ステップS105に進み、画像データ変換部31は、注目撮像ポイントPcを始点とし、注目画素Psを終点とするベクトルvを求め、ステップS106に進む。
【0442】
ステップS106では、画像データ変換部31は、図47に示すように、ステップS105で求められたベクトルvと直交し、撮像時座標系上の所定の点Pfを通る平面αを求め、ステップS107に進む。
【0443】
ステップS107では、画像データ変換部31は、ステップS105で求めたベクトルvの、基線に対する偏角φを求め、ステップS108に進む。即ち、本来ならば、図27の実施の形態における場合と同様に、ベクトルvの緯度と経度を求める必要があるが、ここでは、上述したように、経度方向にしか移動しないカメラによって原画像データが撮像されているので、緯度は無視することができ、経度のみを考慮すれば足りる。そこで、ステップS107では、ベクトルvの経度に相当する、基線に対する偏角φが求められる。
【0444】
ここで、ベクトルvの偏角φは、ステップS106で求められた平面αの法線の偏角φということもできる。また、平面αの法線の方向は、緯度と経度で特定されるが、ここでは、上述したように、緯度は無視することができる(緯度は、任意の固定の値とすることができる)。従って、所定の点Pfを通る平面αは、その法線の経度に相当する偏角φによって特定することができるので、この偏角φによって特定される平面αを、以下、適宜、平面I(φ)とも記述する。
【0445】
なお、偏角φの符号については、撮像ポイントを中心として、列車が走行する平面(図47の実施の形態では、xy平面)内における、反時計回り方向を、正とする。
【0446】
ステップS108では、画像データ変換部31は、図47に示すように、注目撮像ポイントPcと注目画素Psとを結ぶ直線Lpを求める。さらに、ステップS108では、画像データ変換部31は、直線Lpと、ステップS106で求めた平面α(I(φ))との交点Pxを求め、ステップS109に進み、その点Pxの、平面α上における座標(xα,yα)を求める。
【0447】
ここで、ステップS109では、平面I(φ)上において、例えば、その平面I(φ)が必ず通る所定の点Pfを原点とするとともに、撮像時座標系のx軸とz軸を平面I(φ)上に写像して得られる軸を、それぞれx軸とy軸とする2次元座標系が定義され、その2次元座標系における点Pxの座標(xα,yα)が求められる。なお、平面I(φ)上に定義される2次元座標系は、上述したものに限定されない。
【0448】
その後、ステップS110に進み、画像データ変換部31は、仮想スクリーン上の第Fnumフレームの原画像データの注目列を、平面I(φ)上に射影する。
【0449】
即ち、いま、平面I(φ)上の点Pxの位置の画素の画素値を、平面I(φ)と、平面I(φ)上の点Pxの座標を表す(xα,yα)とによって、I(φ)(xα,yα)と表すこととするとともに、注目列が、N画素で構成されるものとする。この場合、画像データ変換部31は、仮想スクリーン上の第Fnumフレームの原画像データの注目列における第1行の画素の画素値を、平面I(φ)上の画素値I(φ)(xα,yα)に、注目列における第2行の画素の画素値を、平面I(φ)上の画素値I(φ)(xα,yα+1)に、・・・、注目列における第N行の画素の画素値を、平面I(φ)上の画素値I(φ)(xα,yα+(N−1))に、それぞれセットする。
【0450】
そして、ステップS111進み、画像データ変換部31は、注目撮像ポイントPcに対して設定された仮想スクリーン上の原画像データのすべての画素列を注目列としたかどうかを判定し、まだ、注目列としていないが画素列があると判定した場合、ステップS103に戻り、以下、同様の処理が繰り返される。
【0451】
また、ステップS111において、仮想スクリーン上のすべての画素列を注目列としたと判定された場合、ステップS112に進み、画像データ変換部31は、第Fnumフレームの次のフレームの原画像データが存在するかどうかを、画像データベース2を参照することにより判定する。ステップS112において、第Fnumフレームの次のフレームの原画像データが存在すると判定された場合、ステップS113に進み、画像データ変換部31は、変数Fnumを1だけインクリメントして、ステップS102に戻り、以下、同様の処理を繰り返す。
【0452】
また、ステップS112において、第Fnumフレームの次のフレームの原画像データが存在しないと判定された場合、即ち、画像データベース2に記憶されたすべてのフレームの画像データを、各偏角φの平面I(φ)に正射影した画像データとしての中間データが得られた場合、処理を終了する。
【0453】
なお、以上の画像データ変換処理により得られた中間データは、画像データ変換部31から中間データベース3に供給されて記憶される。
【0454】
また、図46の画像データ変換処理において最終的に得られた原画像データのフレーム数Fnumは、図40で説明したように、ステップS82において、画像データ変換部31から再生フレーム管理部34に供給される。
【0455】
次に、図48は、図46の画像データ変換処理により生成される中間データのフォーマットを模式的に表している。
【0456】
図46の画像データ変換処理によって生成される中間データは、平面I(φ)上に、偏角φで規定される方向の無限遠から被写体を見た場合の画像データとなっており、従って、各値の偏角φごとに存在するので、図48Aに示すような、偏角φの値で区切られるテーブル(以下、適宜、偏角テーブルという)で表現することができる。
【0457】
即ち、図46の画像データ変換処理は、基本的には、図27の画像データ変換処理における緯度を無視した処理と同様であり、その結果得られる中間データは、図27の画像データ変換処理によって得られる図29Aの緯度経度テーブルにおける緯度を無視したものとなっている。即ち、図46の画像データ変換処理により得られる図48Aの偏角テーブルは、図29Aの緯度経度テーブルにおける緯度方向の軸がなく、経度に相当する偏角方向の軸のみがあるものとなっている。
【0458】
ここで、図48Aの実施の形態では、偏角φが、最小値φminから最大値φmaxの範囲の1度刻みで変化する平面I(φ)ごとに、各偏角φで規定される方向の無限遠から被写体を見た場合の画像データが、偏角テーブルの各マス目に登録されている。なお、偏角φを、何度刻みとするかや、その刻み幅は、図29Aの緯度経度テーブルにおける場合と同様に特に限定されるものではない。また、偏角テーブルにおける偏角φの最小値φminおよび最大値φmaxは、列車に固定されたカメラの光軸の偏角、およびそのカメラの水平方向の画角に依存する。
【0459】
図48Aの偏角テーブルの各マス目には、そのマス目に対応する偏角φで規定される方向の無限遠から被写体を見た場合の画像データ、即ち、平面I(φ)上に(緯度を無視して)射影された原画像データの画素の画素値が、その平面I(φ)上に定義された2次元座標系の各x座標xαと各y座標yαごとに登録されている。即ち、図48Aの偏角テーブルの各マス目には、例えば、図48Bに示すように、平面I(φ)上に定義された2次元座標系のx座標xαとy座標yαの値で区切られたテーブル(画素値テーブル)が登録されており、その画素値テーブルのマス目には、そのマス目に対応するx座標xαとy座標yαで規定される点に射影された原画像データの画素の画素値p(xα,yα)が登録されている。
【0460】
なお、図48Bにおいて、x1とy1は、図29Bにおける場合と同様に、原画像データの画素を平面I(φ)上に正射影した点の、最小のx座標とy座標を、それぞれ表す。また、x2とy2も、図29Bにおける場合と同様に、原画像データの画素を平面I(φ)上に正射影した点の、最大のx座標とy座標を、それぞれ表す。
【0461】
ところで、上述したように、列車に固定されたカメラで撮像された各フレームの原画像データから、ある偏角φの方向にある列の画素を、平面I(φ)に射影することにより、偏角φの方向の無限遠から見た画像データである中間データを生成した場合、その中間データとしての画像データにおいては、1フレームの間にカメラが移動する移動距離に対応する間隔だけ、画素が存在しないものとなること、即ち、画素値の欠落が生じることがある。
【0462】
そこで、図38の画像処理装置1においても、図5の画像処理装置1における場合と同様に、画素値補間処理を行うようにすることができる。
【0463】
そこで、図49のフローチャートを参照して、図38の画像処理装置1で行われる画素値補間処理について説明する。なお、この画素値補間処理は、図32における場合と同様に、画像データ変換部31に行わせても良いし、中間データ変換部32に行わせても良い。ここでは、例えば、画像データ変換部31が行うものとして、画素値補間処理を説明する。
【0464】
図49の画素値補間処理では、まず最初に、ステップS121において、画像データ変換部31が、偏角を表す変数φに、初期値としての、例えば、その最小値であるφminをセットするとともに、平面I(φ)のx座標を表す変数xαに、初期値としての、例えば、その最小値であるx1をセットする。
【0465】
そして、ステップS122に進み、画像データ変換部31は、中間データI(φ)(xα,y1)に、画素値がセットされているかどうかを、図32のステップS42における場合と同様にして判定する。
【0466】
ここで、上述の場合には、ステップS122において画素値がセットされているかどうかを判定する対象(以下、適宜、画素値判定対象という)を、中間データI(φ)(xα,y1)としたが、即ち、平面I(φ)上の座標(xα,y1)の画素としたが、画素値判定対象としては、y座標yαが、その最小値y1から最大値y2の範囲の任意の値の画素を採用することができる。
【0467】
即ち、図46および図47で説明した画像データ変換処理によって得られる中間データにおいては、平面I(φ)上の座標(xα,y1)乃至(xα,y2)で表される列には、図46のステップS110において、一度に、原画像データの画素値がセットされる。従って、平面I(φ)上の座標(xα,y1)乃至(xα,y2)で表される列における1画素に画素値がセットされていない場合には、その列の他の画素にも画素値がセットされていないこととなるから、画素値判定対象としては、y座標yαが、その最小値y1から最大値y2の範囲の任意の値の画素を採用することができる。
【0468】
ステップS122において、中間データI(φ)(xα,y1)に、画素値がセットされていると判定された場合、即ち、画素値が欠落していない場合、ステップS123およびS124をスキップして、ステップS125に進む。
【0469】
また、ステップS122において、中間データI(φ)(xα,y1)に、画素値がセットされていないと判定された場合、即ち、画素値が欠落している場合、ステップS123に進み、画像データ変換部31は、φ−△φ<φ’<φ+△φの範囲の偏角φ’で規定される平面I(φ’)上の点(xα,y1)の中で、画素値がセットされているものを探索(検索)する。
【0470】
ここで、△φとしては、例えば、図32における場合と同様に、小さい正の整数値が採用される。
【0471】
その後、ステップS124に進み、画像データ変換部31は、ステップS123で探索された、画素値がセットされている中間データI(φ’)(xα,y1)の列の各画素値I(φ’)(xα,y1)乃至I(φ’)(xα,y2)を、欠落している画素値である中間データI(φ)(xα,yα)の列の各画素値I(φ)(xα,y1)乃至(xα,y2)にセットして、ステップS125に進む。なお、原画像データのフレームの垂直方向の画素数が、上述したようにN画素であれば、y2は、y1+(N−1)で表される。
【0472】
ここで、ステップS123において、φ−△φ<φ’<φ+△φの範囲の偏角φ’で規定される平面I(φ’)上の点(xα,y1)の中で、画素値がセットされているものが複数見つかった場合には、ステップS124では、画像データ変換部31は、その中から、例えば、偏角の差の絶対値|φ−φ’|が最も小さいものを選択し、その選択したI(φ’)(xα,y1)の列の各画素値I(φ’)(xα,y1)乃至I(φ’)(xα,y2)を、各画素値I(φ)(xα,y1)乃至(xα,y2)にセットする。
【0473】
また、ステップS123において、φ−△φ<φ’<φ+△φの範囲の偏角φ’で規定される平面I(φ’)上の点(xα,y1)の中で、画素値がセットされているものが見つからなかった場合には、ステップS124では、画像データ変換部31は、平面I(φ)上の画素値がセットされている画素の中から、座標(xα,y1)と最も近い画素を検索し、その画素の列の各画素の画素値を、各画素値I(φ)(xα,y1)乃至(xα,y2)にセットする。
【0474】
なお、図49の画素値補間処理でも、図32における場合と同様に、平面I(φ)上の、画素値がセットされていない点(xα,yα)に、画素値が補間されるから、その処理が進行していくと、画素値が補間された点における画素値によって、さらに、他の点における画素値が補間されることが生じうる。これを防止するためには、例えば、図32における場合と同様に、画素値の補間がされた点に、補間がされたことを表す補間フラグを付加するようにし、補間フラグが付加されている点における画素値は、補間に用いないようにする(ステップS123における探索の対象外とする)必要がある。
【0475】
ステップS125では、画像データ変換部31が、平面I(φ)上のx座標を表す変数xαが、その最大値であるx2に等しいかどうかを判定する。ステップS125において、x座標xαが、最大値x2に等しくないと判定された場合、ステップS126に進み、画像データ変換部31は、x座標xαを1だけインクリメントして、ステップS122に戻り、以下、同様の処理を繰り返す。
【0476】
また、ステップS125において、x座標xαが、最大値x2に等しいと判定された場合、ステップS127に進み、画像データ変換部31は、x座標xαを、その最小値であるx1にリセットして、ステップS128に進む。
【0477】
ステップS128では、画像データ変換部31は、偏角を表す変数φが、その最大値であるφmaxに等しいかどうかを判定する。ステップS128において、偏角φが、最大値φmaxに等しくないと判定された場合、ステップS129に進み、画像データ変換部31は、偏角φを1度だけインクリメントして、ステップS122に戻り、以下、同様の処理を繰り返す。
【0478】
また、ステップS128において、偏角φが、最大値φmaxに等しいと判定された場合、処理を終了する。
【0479】
図49の画素値補間処理においても、図32における場合と同様に、平面I(φ)のある列の画素値I(φ)(xα,y1)乃至I(φ)(xα,y2)が欠落している場合には、画素値がセットされている、偏角がより近い他の平面I(φ’)における同一列の画素値I(φ’)(xα,y1)乃至I(φ’)(xα,y2)によって、その欠落している画素値I(φ)(xα,y1)乃至I(φ)(xα,y2)が補間される。
【0480】
なお、図49の画素値補間処理によれば、図42で説明したように、各フレームの原画像データから、同一の偏角方向についての短冊画像を切り出し、その短冊画像を、フレーム順に、右から左方向に配置して得られるのと同一の中間データが得られる。従って、画像データ変換部31において、図42で説明したように、短冊画像によって中間データを生成する場合には、画素値の欠落は生じないから、図49の画素値補間処理は、行う必要がない。
【0481】
また、図49の画素値補間処理によって得られた中間データに対しては、上述したクラス分類適応処理、その他の画像処理を施すことが可能である。
【0482】
さらに、中間データのフォーマットとしては、図48で説明したフォーマットの他、図35における場合と同様のフォーマットを採用することが可能である。
【0483】
次に、図50のフローチャートと、図51を参照して、図38の中間データ変換部32が、図40のステップS85で行う中間データ変換処理、即ち、中間データを、ユーザの視点から見た第nフレームの画像データ(提示用画像データ)に変換する処理について説明する。
【0484】
図50の中間データ変換処理においても、図36における場合と同様に、ディスプレイ6(図2)に、ユーザの視点に応じた画像を表示するための3次元座標系としての表示時座標系が想定される。なお、表示時座標系としては、例えば、画像データベース2に記憶された原画像データを中間データに変換するときに用いられた撮像時座標系を、そのまま採用することができる。
【0485】
そして、まず最初に、ステップS141において、中間データ変換部32は、図51に示すように、表示時座標系における、第nフレームの撮像ポイントPcについて、ユーザの視点Pc’を設定する。
【0486】
即ち、図50の中間データ変換処理では、いま処理対象となっているフレームの撮像ポイントPcを基準として処理が行われるようになっており、そのため、ステップS141では、いま再生対象となっているフレームの撮像ポイントPcを基準として、ユーザの視点Pc’が設定される。
【0487】
具体的には、中間データ変換部32には、センサ制御部33から、現実世界におけるユーザの視点が供給されるが、中間データ変換部32は、現実世界における所定の位置を、ユーザの視点の基準位置として、センサ制御部33からのユーザの視点が、基準位置からどれだけ移動した位置にあるかを表す移動情報を求める。ここで、ユーザの視点の基準位置としては、ユーザが、ディスプレイ6に表示された画像を視聴する一般的な位置、即ち、例えば、ディスプレイ6の正面方向上の任意の点を採用することができる。
【0488】
中間データ変換部32は、移動情報を求めると、図51に示すように、表示時座標系において、第nフレームの撮像ポイントPcから、その移動情報だけ移動した点を、撮像ポイントPcについてのユーザの視点Pc’として設定する。
【0489】
なお、図50の中間データ変換処理においても、図46の画像データ変換処理における場合と同様に、緯度方向は無視される。従って、図50の中間データ変換処理において、例えば、図51に示すように、図47の撮像時座標系と同様のx軸、y軸、およびz軸をとった表示時座標系が想定されているとすると、移動情報における、緯度方向に影響するy軸方向およびz軸方向の成分は無視される(例えば0と扱われる)。このことは、ユーザが、表示時座標系のy軸方向またはz軸方向に移動しても、ユーザの視点が移動したとは認められないことを意味する。即ち、この場合、ユーザの視点が移動したと認められるには、ユーザが、少なくとも、表示時座標系のx軸方向に移動する必要がある。ここで、本実施の形態では、表示時座標系(撮像時座標系も同様)におけるx軸方向は、カメラの移動方向(カメラが固定された列車の走行方向)に一致している。
【0490】
中間データ変換部32は、以上のようにして、表示時座標系における、撮像ポイントPcについてのユーザの視点Pc’を設定すると、ステップS142に進み、図51に示すように、撮像ポイントPcにおけるカメラの光軸と、第nフレームに表示されている被写体との交点Pkを求める。
【0491】
なお、ここでは、説明を簡単にするために、カメラが固定された列車の走行軌跡と被写体との間の距離Dは、一定であるとし、さらに、中間データ変換部32において、あらかじめ認識されているものとする。また、撮像ポイントPcにおけるカメラの光軸の偏角φ0も、中間データ変換部32において、あらかじめ認識されているものとする。この場合、撮像ポイントPcにおけるカメラの光軸と、第nフレームに表示されている被写体との交点Pkは、撮像ポイントPc、距離D、および撮像ポイントPcにおけるカメラの光軸の偏角φ0から求めることができる。
【0492】
その後、ステップS143に進み、中間データ変換部32は、図51に示すように、ユーザの視点Pc’を始点とするとともに、交点Pkを終点とするベクトルv’を求め、ステップS144に進む。ステップS144では、中間データ変換部32は、ユーザの視点Pc’に対して、ベクトルv’の方向を視線方向として、そのベクトルv’と直交し、ユーザの視点Pc’から距離Lだけ離れた位置に仮想スクリーンを設定し、ステップS145に進む。
【0493】
ステップS145では、中間データ変換部32は、ユーザの視点Pc’について設定した仮想スクリーン上の垂直方向の画素の列のうち、まだ注目列として選択していない画素列を、注目列として選択する。
【0494】
ステップS145において注目列が選択された後は、ステップS146に進み、中間データ変換部32は、例えば、図46のステップS104における場合と同様に、注目列を構成する画素のうちの最上行の画素を注目画素Psとして選択する。
【0495】
ここで、注目画素Psは、注目列を構成する画素のうちの最上行の画素に限定されるものではなく、任意の行の画素を、注目画素として選択することが可能である。
【0496】
ステップS146において注目列が選択された後は、ステップS147に進み、中間データ変換部32は、図51に示すように、ユーザの視点Pc’を始点とし、注目画素Psを終点とするベクトルvを求め、ステップS148に進む。
【0497】
ステップS148では、中間データ変換部32は、図51に示すように、ステップS147で求められたベクトルvと直交し、撮像時座標系と同一の表示時座標系上の所定の点Pfを通る平面αを求め、ステップS149に進む。
【0498】
ステップS149では、中間データ変換部32は、ステップS147で求めたベクトルvの、基線に対する偏角φ、即ち、ステップS148で求めた平面αの法線の、基線に対する偏角φを求め、ステップS150に進む。
【0499】
ステップS150では、中間データ変換部32は、図51に示すように、ユーザの視点Pc’と注目画素Psとを結ぶ直線Lpを求める。さらに、ステップS150では、中間データ変換部32は、直線Lpと、ステップS151で求めた平面α、即ち、法線の、基線に対する偏角が、ステップS148で求められたφである平面I(φ)との交点Pxを求め、ステップS151に進み、その点Pxの、平面I(φ)上における座標(xα,yα)を求める。
【0500】
その後、ステップS152に進み、中間データ変換部32は、仮想スクリーンの注目列の画素の各画素値として、平面I(φ)上の点Pxの列における各画素値をセットする。
【0501】
即ち、仮想スクリーン上の注目列が、N画素で構成されるものとすると、中間データ変換部32は、仮想スクリーン上の注目列における第1行の画素の画素値として、平面I(φ)上の画素値I(φ)(xα,yα)を、注目列における第2行の画素の画素値として、平面I(φ)上の画素値I(φ)(xα,yα+1)を、・・・、注目列における第N行の画素の画素値として、平面I(φ)上の画素値I(φ)(xα,yα+(N−1))を、それぞれセットする。
【0502】
そして、ステップS153進み、中間データ変換部32は、ユーザの視点Pc’に対して設定された仮想スクリーン上のすべての画素列(垂直方向の画素の並び)を注目列としたかどうかを判定し、まだ、注目列としていないが画素列があると判定した場合、ステップS145に戻り、以下、同様の処理が繰り返される。
【0503】
また、ステップS153において、仮想スクリーン上のすべての画素列を注目列としたと判定された場合、即ち、仮想スクリーン上に、ユーザの視点から見た第nフレームの画像データ(提示用画像データ)が形成された場合、処理を終了する。
【0504】
以上のようにして得られた第nフレームの提示用画像データは、上述した図40のステップS86において、ディスプレイ6に表示される。
【0505】
従って、ディスプレイ6には、ユーザの視点から被写体を見た場合の画像データが表示されることになる。
【0506】
以上のように、図38の画像処理装置1によれば、カメラをほぼ等速直線運動させながら撮像された原画像データから、図5の画像処理装置1における場合と同様に、容易に、ユーザの視点に応じた画像データを生成することができる。即ち、ユーザが、その視点を動かした場合に、ユーザが現実世界において被写体を観察している場合にユーザの視覚に映るのと同様の画像を、ディスプレイ6に表示することができる。
【0507】
ところで、図38の画像処理装置1において、原画像データを、ユーザの視点から見た提示用画像データに変換するには、その原画像データがカメラによって撮像されたときの種々の撮像条件が必要となる。
【0508】
ここで、原画像データを、ユーザの視点から見た提示用画像データに変換するには、図46で説明した画像データ変換処理、および図50で説明した中間データ変換処理から、撮像条件として、少なくとも、原画像データを撮像するカメラが固定された列車の走行軌跡と被写体との間の距離(カメラと被写体との間の、カメラの移動方向と垂直な方向に沿っての距離)Dや、撮像ポイントPcにおけるカメラの光軸の偏角(光軸の方向)φ0、各フレームの撮像ポイントPcが必要である。
【0509】
但し、本実施の形態では、列車、ひいては、その列車に固定されているカメラは、等速直線運動するものとしているため、各フレームの撮像ポイントPcは、あるフレームの撮像ポイントが分かっていれば、他のフレームの撮像ポイントは、カメラが等速直線運動する速さ(カメラの移動速度)から求めることができる。そこで、ここでは、各フレームの撮像ポイントの代わりに、カメラの移動速度を、撮像条件とすることとする。
【0510】
また、原画像データを、ユーザの視点から見た提示用画像データに変換するために少なくとも必要な、上述の撮像条件を、以下、適宜、最低撮像条件という。
【0511】
最低撮像条件が、あらかじめ分かっている場合には、図38の画像処理装置1において、上述したように、原画像データを、ユーザの視点から見た提示用画像データに変換することができる。
【0512】
一方、最低撮像条件が分かっていない場合、原画像データを、ユーザの視点から見た提示用画像データに変換するには、まず、最低撮像条件を求める必要がある。
【0513】
そこで、図3のコンピュータ1には、画像データベース2に記憶された原画像データを、ユーザの視点から見た提示用画像データに変換するプログラムの他、その原画像データから、最低撮像条件を求める画像処理を行うプログラムも記憶させることができる。
【0514】
図52は、図3のコンピュータ1が、最低撮像条件を求める画像処理を行うプログラムを実行することにより実現される画像処理装置の機能的構成例を示している。
【0515】
図52の実施の形態では、画像処理装置としてのコンピュータ1は、撮像条件演算部91から構成されている。
【0516】
撮像条件演算部91は、画像データベース2から、等速直線運動する列車に固定されたカメラによって撮像された原画像データを読み出し、その原画像データから、最低撮像条件を含む撮像条件を求め、画像データベース2に供給して記憶させる。
【0517】
即ち、撮像条件演算部91は、等速直線運動する列車に固定されたカメラの仮想スクリーン上における原画像データに表示された被写体の移動距離を求め、カメラの視点(撮像ポイント)から仮想スクリーンまでの距離(視点/仮想スクリーン間距離)と、仮想スクリーン上の被写体の移動距離とを用いて、最低撮像条件を含む撮像条件を求める。
【0518】
次に、図53を参照して、撮像条件演算部91による撮像条件の算出方法について説明する。
【0519】
なお、図53において、Dは、カメラが固定された列車の走行軌跡と、注目している被写体である注目被写体との間の距離(カメラと注目被写体との間の、カメラの移動方向と垂直な方向に沿っての距離)Dを表し、hは、カメラと注目被写体との間の、カメラの移動方向に沿っての距離を表す。また、Lは、カメラの視点から仮想スクリーンまでの距離を表し、φ0は、カメラの光軸の偏角を表す。さらに、△dは、注目被写体が、カメラに対して単位時間あたりに移動する距離(カメラの移動距離)、即ち、カメラの移動速度を表し、△xは、カメラの仮想スクリーン上における原画像データに表示された注目被写体の単位時間あたりの移動距離、即ち、注目被写体の仮想スクリーン上の移動速度を表す。
【0520】
この場合、カメラの視点から注目被写体の方向の偏角φは、距離Dとhとを用いて、次式で表すことができる。
【0521】
【数31】
Figure 0004211292
・・・(31)
【0522】
また、仮想スクリーン上での注目被写体の移動距離△xは、例えば、次式で表すことができる。
【0523】
【数32】
Figure 0004211292
・・・(32)
【0524】
但し、式(32)において、φ+とφ-は、例えば、次式で与えられるものとする。
【0525】
【数33】
Figure 0004211292
・・・(33)
【0526】
式(32)に、式(33)を代入すると、次式が得られる。
【0527】
【数34】
Figure 0004211292
・・・(34)
【0528】
一方、変数tの関数f(t)を、その変数tで微分した関数(導関数)f’(t)は、次式で表される。
【0529】
【数35】
Figure 0004211292
・・・(35)
【0530】
式(35)を変形すると、次式が得られる。
【0531】
【数36】
Figure 0004211292
・・・(36)
【0532】
そこで、いま、変数h/Dの関数f(h/D)を、例えば、次式のように定義する。
【0533】
【数37】
Figure 0004211292
・・・(37)
【0534】
式(37)の関数f(h/D)を用いて、式(34)を表すと、次式のようになる。
【0535】
【数38】
Figure 0004211292
・・・(38)
【0536】
式(38)は、式(36)の関係を用いることによって、式(39)のように変形することができる。
【0537】
【数39】
Figure 0004211292
・・・(39)
【0538】
一方、変数tの関数g1(t)を引数とする関数g2(g1(t))を、変数tで微分すると、次式のようになる。
【0539】
【数40】
Figure 0004211292
・・・(40)
【0540】
また、関数tan(t)と、関数tan-1(t)の微分は、それぞれ、式(41)と(42)で表される。
【0541】
【数41】
Figure 0004211292
・・・(41)
【0542】
【数42】
Figure 0004211292
・・・(42)
【0543】
式(40)乃至(42)から、式(37)の関数f(h/D)の導関数f’(h/D)は、次式で表される。
【0544】
【数43】
Figure 0004211292
・・・(43)
【0545】
式(43)から、式(39)は、式(44)で表される。
【0546】
【数44】
Figure 0004211292
・・・(44)
【0547】
式(44)において、未知の変数は、△d,D,h,φ0である。また、式(44)において、△xは、仮想スクリーン上に表示された注目被写体の移動距離を表し、仮想スクリーン上の注目被写体を表示している画素から計算することができる。さらに、式(44)において、Lは、カメラの視点から仮想スクリーンまでの距離を表し、任意の値を設定することができる。
【0548】
従って、式(44)における4つの未知の変数△d,D,h,φ0は、原理的には、仮想スクリーン上の4つの画素について、その移動距離を求めれば、その移動距離と、カメラの視点から仮想スクリーンまでの距離Lを用い、式(44)から推定することができる。
【0549】
ここで、図53で説明した方法によれば、カメラと被写体との間の、カメラの移動方向と垂直な方向に沿っての距離D、撮像ポイントPcにおけるカメラの光軸の偏角φ0、およびカメラの移動速度△d、即ち、最低撮像条件の他、カメラと注目被写体との間の、カメラの移動方向に沿っての距離hも含む撮像条件が求められる。
【0550】
図52の撮像条件演算部91では、上述したようにして、撮像条件△d,D,h,φ0が求められる。
【0551】
そこで、図54のフローチャートを参照して、図52の撮像条件演算部91が行う処理(撮像条件を推定する撮像条件演算処理)について説明する。
【0552】
まず最初に、ステップS161において、撮像条件演算部91は、画像データベース2に記憶されたフレームの中から、撮像条件演算処理の対象とする4フレーム以上を、処理対象フレームとして選択し、ステップS162に進む。
【0553】
ステップS162では、撮像条件演算部91は、原画像データを撮像したときの撮像ポイントからスクリーンまでの距離Lを、所定の値に設定し、ステップS163に進む。
【0554】
ステップS163では、撮像条件演算部91は、ステップS161で処理対象フレームとして選択された4フレーム以上の原画像データの各フレームから、同一位置の画素を、撮像条件を演算するのに用いる演算対象画素として選択する。
【0555】
ここで、演算対象画素を、処理対象フレームとされた各フレームの同一位置の画素とするのは、図53に示した、カメラと注目被写体との間の、カメラの移動方向に沿っての距離hを一定値にするためである。
【0556】
その後、ステップS164に進み、撮像条件演算部91は、演算対象画素の中から、まだ注目画素としていないもののうちの1つを注目画素して選択し、ステップS165に進む。
【0557】
ステップS165では、撮像条件演算部91は、注目画素の動きベクトルを検出し、ステップS166に進む。ステップS166では、撮像条件演算部91は、注目画素の動きベクトルから、注目画素の移動距離△xを求め、ステップS167に進む。
【0558】
ステップS167では、撮像条件演算部91は、すべての演算対象画素を注目画素として、その移動距離△xを求めたかどうかを判定し、まだ、注目画素としていない演算対象画素があると判定した場合、ステップS164に戻り、以下、同様の処理を繰り返す。
【0559】
また、ステップS167において、すべての演算対象画素を注目画素としたと判定された場合、ステップS168に、進み、撮像条件演算部91は、演算対象画素とされた4以上の画素それぞれについて求められた移動距離△xと、原画像データを撮像したときの撮像ポイントからスクリーンまでの距離Lとを用い、式(44)から、撮像条件△d,D,h,φ0を求め、画像データベース2に記憶させ、処理を終了する。
【0560】
なお、ステップS167では、演算対象画素とされた4以上の画素それぞれについて求められた移動距離△xと、原画像データを撮像したときの撮像ポイントからスクリーンまでの距離Lについて、式(44)を満たす△d,D,h,φ0が演算されることとなるが、その演算方法としては、例えば、△d,D,h,φ0それぞれの値を順次変更し、式(44)を満たすかどうかを検査(検算)する方法などがある。
【0561】
以上のように、カメラを移動しながら撮像が行われたときの、カメラの仮想スクリーン上における原画像データに表示された被写体の移動距離△xを求め、カメラにおいて原画像データが撮像されたときの視点から仮想スクリーンまでの距離Lと、移動距離△とを用いて、撮像条件△d,D,h,φ0を求めるようにしたので、カメラを移動しながら撮像を行うことにより得られた原画像データから、撮像条件を、容易に求めることができる。
【0562】
さらに、その撮像条件を用いて、原画像データを、ユーザの視点から見た提示用画像データに変換することが可能となる。
【0563】
なお、本実施の形態では、コンピュータ1にプログラムを実行させることにより、上述した各種の処理を行わせるようにしたが、上述の各種の処理は、その他、専用のハードウェアにより行うことも可能である。
【0564】
【発明の効果】
以上の如く、本発明によれば、例えば、実写の画像であっても、容易に、ユーザの視点に応じて変化させることが可能となる。
【図面の簡単な説明】
【図1】従来の画像の表示方法を説明する図である。
【図2】本発明を適用した画像表示装置の一実施の形態の構成例を示す図である。
【図3】コンピュータ1のハードウェア構成例を示すブロック図である。
【図4】画像表示装置による画像の表示方法を説明する図である。
【図5】画像処理装置としてのコンピュータの第1の機能的構成例を示すブロック図である。
【図6】画像処理装置による画像処理を説明するフローチャートである。
【図7】画像データベース2に記憶される画像データを撮像(生成)する画像生成装置の構成例を示すブロック図である。
【図8】画像生成装置による画像生成処理を説明するフローチャートである。
【図9】モーションベース方式を説明する図である。
【図10】モーションベースの移動例を示す図である。
【図11】ターンテーブル方式を説明する図である。
【図12】カメラ41の構成例を示す斜視図である。
【図13】全方位画像データを示す図である。
【図14】集光部52を構成する双曲面を説明する図である。
【図15】集光部52と撮像部53との位置関係を説明するための図である。
【図16】全方位画像データを示す図である。
【図17】全方位画像データからの切り出しを説明するための図である。
【図18】円周方向の歪みを説明するための図である。
【図19】半径方向の歪みを説明するための図である。
【図20】半径方向の歪みを除去する方法を説明するための図である。
【図21】半径方向の歪みを除去する方法を説明するための図である。
【図22】半径方向の歪みを除去する全方位画像データの変換を説明するための図である。
【図23】変換対象点における画素値の求め方を説明するための図である。
【図24】原画像データを、ユーザから見た提示用画像データに変換する変換原理を説明する図である。
【図25】原画像データを、ユーザから見た提示用画像データに変換する変換原理を説明する図である。
【図26】原画像データを中間データに変換する方法を説明する図である。
【図27】原画像データを中間データに変換する画像データ変換処理を説明するフローチャートである。
【図28】原画像データを中間データに変換する画像データ変換処理を説明する図である。
【図29】中間データのフォーマットを示す図である。
【図30】中間データとしての画像データを示す図である。
【図31】中間データとしての画像データの補間を説明する図である。
【図32】中間データとしての画像データを補間する画素値補間処理を説明するフローチャートである。
【図33】クラス分類適応処理を行うクラス分類適応処理装置の構成例を示すブロック図である。
【図34】クラス分類適応処理に用いられるタップ係数を学習する学習装置の構成例を示すブロック図である。
【図35】中間データの他のフォーマットを示す図である。
【図36】中間データを提示用画像データに変換する中間データ変換処理を説明するフローチャートである。
【図37】中間データを提示用画像データに変換する中間データ変換処理を説明する図である。
【図38】画像処理装置としてのコンピュータ1の第2の機能的構成例を示すブロック図である。
【図39】原画像データを提示用画像データに変換する変換原理を説明する図である。
【図40】画像処理装置による画像処理を説明するフローチャートである。
【図41】画像データベース2に記憶された原画像データの撮像方法を説明する図である。
【図42】カメラが移動しながら原画像データの撮像が行われている様子を示す図である。
【図43】短冊画像により構成される中間データを示す図である。
【図44】原画像データの例を示す図である。
【図45】中間データとしての画像データの例を示す図である。
【図46】原画像データを中間データに変換する画像データ変換処理を説明するフローチャートである。
【図47】原画像データを中間データに変換する画像データ変換処理を説明する図である。
【図48】中間データのフォーマットを示す図である。
【図49】中間データとしての画像データを補間する画素値補間処理を説明するフローチャートである。
【図50】中間データを提示用画像データに変換する中間データ変換処理を説明するフローチャートである。
【図51】中間データを提示用画像データに変換する中間データ変換処理を説明する図である。
【図52】画像処理装置としてのコンピュータ1の第3の機能的構成例を示すブロック図である。
【図53】撮像条件を求める方法を説明する図である。
【図54】撮像条件を推定する撮像条件演算処理を説明するフローチャートである。
【符号の説明】
1 コンピュータ(画像処理装置), 2 画像データベース, 3 中間データベース3, 4 レシーバ(位置センサ), 5 トランスミッタ(位置センサ), 6 ディスプレイ, 11 バス, 12 CPU, 13 ROM, 14 RAM, 15 ハードディスク, 16 出力部, 17 入力部, 18通信部, 19 ドライブ, 20 入出力インタフェース, 21 リムーバブル記録媒体, 30 データ変換部, 31 画像データ変換部, 32 中間データ変換部, 33 センサ制御部, 34 再生フレーム管理部, 41 カメラ, 42 バッファ, 43 全方位画像変換部, 44 バッファ, 45 駆動機構, 46 駆動機構制御部, 47 コントローラ, 48mux, 51 支持体, 52 集光部, 53 撮像部, 61 バッファ, 62 予測タップ抽出部, 63 クラスタップ抽出部, 64 クラス分類部, 65 係数記憶部, 66 積和演算部, 71 教師データメモリ, 72 生徒データ生成部, 73 生徒データメモリ, 74 予測タップ抽出部, 75 クラスタップ抽出部, 76 クラス分類部, 77 正規方程式加算部, 78 タップ係数決定部, 79 係数メモリ, 91 撮像条件演算部

Claims (20)

  1. 所定の被写体を複数の視点から撮像した第1の画像データを、ユーザの視点から見える前記被写体の第2の画像データに変換する画像処理装置であって、
    所定の位置に、前記ユーザの視点を設定する設定手段と、
    前記第1の画像データを構成する画素に前記被写体から入射した光線に対応する画素値からなり、前記光線の方向ごとに、その方向の光線に対応する画素値を取得できるフォーマットであり、前記被写体から前記第1の画像データを構成する所定の画素に入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、前記所定の画素の画素値とした画像データである中間データに前記第1の画像データを変換する画像データ変換手段と、
    前記中間データに対して、前記所定の点を通る他の平面上の、前記他の平面に垂直な光線との交点における画素値によって、前記所定の点を通る平面上の、前記光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理手段と、
    前記補間処理が施された前記中間データにおける、前記ユーザの視点と所定の仮想的なスクリーンである第1の仮想スクリーン上の各画素とを結ぶ直線と一致する前記光線に対応する画素値を、前記第1の仮想スクリーン上の画素の画素値とし、前記第1の仮想スクリーン上の画素値でなる画像データを、前記第2の画像データとすることで、前記中間データを前記第2の画像データに変換する中間データ変換手段と
    を備え、
    前記補間処理において、前記他の平面に垂直な光線との交点における画素値のうち、前記補間処理により補間されていない画素値が補間に用いられる
    ことを特徴とする画像処理装置。
  2. 前記設定手段は、ユーザの位置を検出し、その位置に、前記ユーザの視点を設定する
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記第1の画像データは、その第1の画像データを撮像する撮像装置を直線的に移動しながら撮像されたものである
    ことを特徴とする請求項1に記載の画像処理装置。
  4. 前記画像データ変換手段は、前記第1の画像データを、その画素に入射した光線の各方向について、その方向に垂直な平面の各点ごとに、その点に入射する前記平面と垂直な方向の光線に対応する画素値が表された画像データである前記中間データに変換する
    ことを特徴とする請求項1に記載の画像処理装置。
  5. 前記画像データ変換手段は、前記第1の画像データを、その画素に入射した光線の方向と垂直な平面の各点について、その平面と垂直な方向ごとに、その方向の光線に対応する画素値が表された画像データである前記中間データに変換する
    ことを特徴とする請求項1に記載の画像処理装置。
  6. 前記画像データ変換手段は、前記第1の画像データを撮像した視点と所定の仮想的なスクリーンである第2の仮想スクリーン上の前記第1の画像データの各画素とを結ぶ直線と一致する前記光線に対応する画素値を、その光線と、その光線に垂直な、前記所定の点を通る平面との交点の画素値とし、その平面上の交点における画素値でなる画像データを、前記中間データとする
    ことを特徴とする請求項1に記載の画像処理装置。
  7. 前記中間データは、前記被写体としてのオブジェクトから前記第1の画像データの画素に入射する光線がほぼ平行になる程度に遠い位置から見た前記オブジェクトの画像データからなり、
    前記中間データ処理手段は、前記オブジェクトの画像データを変換して得ようとする、前記オブジェクトの画像データよりも高画質な第3の画像データの注目している画素である注目画素のクラスであって、前記オブジェクトの画像データからクラスタップとして抽出された、前記注目画素周辺のいくつかの画素を用いて分類されたクラスについて予め求められている係数と、前記オブジェクトの画像データから予測タップとして抽出された、前記注目画素周辺のいくつかの画素との線形結合により前記注目画素を予測演算するクラス分類適応処理により、前記オブジェクトの画像データを前記第3の画像データに変換し、
    前記注目画素は、前記クラスタップに基づいて、1以上のクラスのうちの何れかのクラスに分類され、
    前記係数は、前記オブジェクトの画像データに対応する生徒データと、前記第3の画像データに対応する教師データとを用い、前記生徒データ、前記教師データ、および前記係数の関係を示す正規方程式を解くことにより得られ、
    前記中間データ変換手段は、前記第3の画像データを前記第2の画像データに変換する
    ことを特徴とする請求項1に記載の画像処理装置。
  8. 前記中間データは、オブジェクトからの光線がほぼ平行になる程度に遠い位置から見た前記オブジェクトの画像データと、前記光線の方向とを有する
    ことを特徴とする請求項1に記載の画像処理装置。
  9. 前記第2の画像データを表示する表示手段をさらに備える
    ことを特徴とする請求項1に記載の画像処理装置。
  10. 所定の被写体を複数の視点から撮像した第1の画像データを、ユーザの視点から見える前記被写体の第2の画像データに変換する画像処理方法であって、
    所定の位置に、前記ユーザの視点を設定する設定ステップと、
    前記第1の画像データを構成する画素に前記被写体から入射した光線に対応する画素値からなり、前記光線の方向ごとに、その方向の光線に対応する画素値を取得できるフォーマットであり、前記被写体から前記第1の画像データを構成する所定の画素に入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、前記所定の画素の画素値とした画像データである中間データに前記第1の画像データを変換する画像データ変換ステップと、
    前記中間データに対して、前記所定の点を通る他の平面上の、前記他の平面に垂直な光線との交点における画素値によって、前記所定の点を通る平面上の、前記光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理ステップと、
    前記補間処理が施された前記中間データにおける、前記ユーザの視点と所定の仮想的なスクリーンである仮想スクリーン上の各画素とを結ぶ直線と一致する前記光線に対応する画素値を、前記仮想スクリーン上の画素の画素値とし、前記仮想スクリーン上の画素値でなる画像データを、前記第2の画像データとすることで、前記中間データを前記第2の画像データに変換する中間データ変換ステップと
    を含み、
    前記補間処理において、前記他の平面に垂直な光線との交点における画素値のうち、前記補間処理により補間されていない画素値が補間に用いられる
    ことを特徴とする画像処理方法。
  11. 所定の被写体を複数の視点から撮像した第1の画像データを、ユーザの視点から見える前記被写体の第2の画像データに変換する画像処理を、コンピュータに行わせるプログラムであって、
    所定の位置に、前記ユーザの視点を設定する設定ステップと、
    前記第1の画像データを構成する画素に前記被写体から入射した光線に対応する画素値からなり、前記光線の方向ごとに、その方向の光線に対応する画素値を取得できるフォーマットであり、前記被写体から前記第1の画像データを構成する所定の画素に入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、前記所定の画素の画素値とした画像データである中間データに前記第1の画像データを変換する画像データ変換ステップと、
    前記中間データに対して、前記所定の点を通る他の平面上の、前記他の平面に垂直な光線との交点における画素値によって、前記所定の点を通る平面上の、前記光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理ステップと、
    前記補間処理が施された前記中間データにおける、前記ユーザの視点と所定の仮想的なスクリーンである仮想スクリーン上の各画素とを結ぶ直線と一致する前記光線に対応する画素値を、前記仮想スクリーン上の画素の画素値とし、前記仮想スクリーン上の画素値でなる画像データを、前記第2の画像データとすることで、前記中間データを前記第2の画像データに変換する中間データ変換ステップと
    を含み、
    前記補間処理において、前記他の平面に垂直な光線との交点における画素値のうち、前記補間処理により補間されていない画素値が補間に用いられる
    ことを特徴とするプログラム。
  12. 所定の被写体を複数の視点から撮像した第1の画像データを、ユーザの視点から見える前記被写体の第2の画像データに変換する画像処理を、コンピュータに行わせるプログラムが記録されているプログラム記録媒体であって、
    所定の位置に、前記ユーザの視点を設定する設定ステップと、
    前記第1の画像データを構成する画素に前記被写体から入射した光線に対応する画素値からなり、前記光線の方向ごとに、その方向の光線に対応する画素値を取得できるフォーマットであり、前記被写体から前記第1の画像データを構成する所定の画素に入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、前記所定の画素の画素値とした画像データである中間データに前記第1の画像データを変換する画像データ変換ステップと、
    前記中間データに対して、前記所定の点を通る他の平面上の、前記他の平面に垂直な光線との交点における画素値によって、前記所定の点を通る平面上の、前記光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理ステップと、
    前記補間処理が施された前記中間データにおける、前記ユーザの視点と所定の仮想的なスクリーンである仮想スクリーン上の各画素とを結ぶ直線と一致する前記光線に対応する画素値を、前記仮想スクリーン上の画素の画素値とし、前記仮想スクリーン上の画素値でなる画像データを、前記第2の画像データとすることで、前記中間データを前記第2の画像データに変換する中間データ変換ステップと
    を含み、
    前記補間処理において、前記他の平面に垂直な光線との交点における画素値のうち、前記補間処理により補間されていない画素値が補間に用いられる
    プログラムが記録されていることを特徴とするプログラム記録媒体。
  13. 画像データを変換する画像処理装置であって、
    所定の被写体が複数の視点から撮像された前記画像データを取得する取得手段と、
    前記画像データを、前記画像データを構成する所定の画素に前記被写体から入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、前記所定の画素の画素値とした画像データである中間データであって、前記光線の方向ごとに、前記交点の画素値を取得できる中間データに変換する変換手段と、
    前記中間データに対して、前記所定の点を通る他の平面上の、前記他の平面に垂直な光線との交点における画素値によって、前記所定の点を通る平面上の、前記光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理手段と、
    前記補間処理が施された前記中間データを記録する中間データ記録手段と
    を備え、
    前記補間処理において、前記他の平面に垂直な光線との交点における画素値のうち、前記補間処理により補間されていない画素値が補間に用いられる
    ことを特徴とする画像処理装置。
  14. 前記変換手段は、前記画像データを、その画素に入射した光線の各方向について、その方向に垂直な平面の各点ごとに、その点に入射する前記平面と垂直な方向の光線に対応する画素値が表された画像データである前記中間データに変換する
    ことを特徴とする請求項13に記載の画像処理装置。
  15. 前記変換手段は、前記画像データを、その画素に入射した光線の方向と垂直な平面の各点について、その平面と垂直な方向ごとに、その方向の光線に対応する画素値が表された画像データである前記中間データに変換する
    ことを特徴とする請求項13に記載の画像処理装置。
  16. 前記変換手段は、前記画像データを撮像した視点と所定の仮想的なスクリーンである仮想スクリーン上の前記画像データの各画素とを結ぶ直線と一致する前記光線に対応する画素値を、その光線と、その光線に垂直な、所定の点を通る平面との交点の画素値とし、その平面上の交点における画素値でなる画像データを、前記中間データとする
    ことを特徴とする請求項13に記載の画像処理装置。
  17. 前記中間データは、オブジェクトからの光線がほぼ平行になる程度に遠い位置から見た前記オブジェクトの画像データと、前記光線の方向とを有する
    ことを特徴とする請求項13に記載の画像処理装置。
  18. 画像データを変換する画像処理方法であって、
    所定の被写体が複数の視点から撮像された前記画像データを取得する取得ステップと、
    前記画像データを、前記画像データを構成する所定の画素に前記被写体から入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、前記所定の画素の画素値とした画像データである中間データであって、前記光線の方向ごとに、前記交点の画素値を取得できる中間データに変換する変換ステップと、
    前記中間データに対して、前記所定の点を通る他の平面上の、前記他の平面に垂直な光線との交点における画素値によって、前記所定の点を通る平面上の、前記光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理ステップと、
    前記補間処理が施された前記中間データを記録手段に記録する中間データ記録ステップと
    を含み、
    前記補間処理において、前記他の平面に垂直な光線との交点における画素値のうち、前記補間処理により補間されていない画素値が補間に用いられる
    ことを特徴とする画像処理方法。
  19. 画像データを変換する画像処理を、コンピュータに行わせるプログラムであって、
    所定の被写体が複数の視点から撮像された前記画像データを取得する取得ステップと、
    前記画像データを、前記画像データを構成する所定の画素に前記被写体から入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、前記所定の画素の画素値とした画像データである中間データであって、前記光線の方向ごとに、前記交点の画素値を取得できる中間データに変換する変換ステップと、
    前記中間データに対して、前記所定の点を通る他の平面上の、前記他の平面に垂直な光線との交点における画素値によって、前記所定の点を通る平面上の、前記光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理ステップと、
    前記補間処理が施された前記中間データを記録手段に記録する中間データ記録ステップと
    を含み、
    前記補間処理において、前記他の平面に垂直な光線との交点における画素値のうち、前記補間処理により補間されていない画素値が補間に用いられる
    ことを特徴とするプログラム。
  20. 画像データを変換する画像処理を、コンピュータに行わせるプログラムが記録されているプログラム記録媒体であって、
    所定の被写体が複数の視点から撮像された前記画像データを取得する取得ステップと、
    前記画像データを、前記画像データを構成する所定の画素に前記被写体から入射した光線と、その光線と垂直な、所定の点を通る平面との交点における画素値を、前記所定の画素の画素値とした画像データである中間データであって、前記光線の方向ごとに、前記交点の画素値を取得できる中間データに変換する変換ステップと、
    前記中間データに対して、前記所定の点を通る他の平面上の、前記他の平面に垂直な光線との交点における画素値によって、前記所定の点を通る平面上の、前記光線との交点以外の点における画素値を補間する補間処理を施す中間データ処理ステップと、
    前記補間処理が施された前記中間データを記録手段に記録する中間データ記録ステップと
    を含み、
    前記補間処理において、前記他の平面に垂直な光線との交点における画素値のうち、前記補間処理により補間されていない画素値が補間に用いられる
    プログラムが記録されている
    ことを特徴とするプログラム記録媒体。
JP2002161838A 2002-06-03 2002-06-03 画像処理装置および画像処理方法、プログラム並びにプログラム記録媒体 Expired - Fee Related JP4211292B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2002161838A JP4211292B2 (ja) 2002-06-03 2002-06-03 画像処理装置および画像処理方法、プログラム並びにプログラム記録媒体
PCT/JP2003/006982 WO2003103278A1 (ja) 2002-06-03 2003-06-03 画像処理装置および方法、プログラムおよびプログラム記録媒体、並びにデータ構造およびデータ記録媒体
KR1020047001647A KR100967826B1 (ko) 2002-06-03 2003-06-03 화상처리장치 및 방법, 프로그램 및 프로그램 기록매체,및 데이터구조 및 데이터 기록매체
EP03733258A EP1511300A4 (en) 2002-06-03 2003-06-03 IMAGE PROCESSING DEVICE AND METHOD, PROGRAM, PROGRAM RECORDING MEDIUM, DATA STRUCTURE, AND DATA RECORDING MEDIUM
US10/485,577 US7831086B2 (en) 2002-06-03 2003-06-03 Image processing device and method, program, program recording medium, data structure, and data recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002161838A JP4211292B2 (ja) 2002-06-03 2002-06-03 画像処理装置および画像処理方法、プログラム並びにプログラム記録媒体

Publications (3)

Publication Number Publication Date
JP2004015106A JP2004015106A (ja) 2004-01-15
JP2004015106A5 JP2004015106A5 (ja) 2005-04-07
JP4211292B2 true JP4211292B2 (ja) 2009-01-21

Family

ID=29706591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002161838A Expired - Fee Related JP4211292B2 (ja) 2002-06-03 2002-06-03 画像処理装置および画像処理方法、プログラム並びにプログラム記録媒体

Country Status (5)

Country Link
US (1) US7831086B2 (ja)
EP (1) EP1511300A4 (ja)
JP (1) JP4211292B2 (ja)
KR (1) KR100967826B1 (ja)
WO (1) WO2003103278A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361660B2 (en) 2011-05-23 2016-06-07 Sony Corporation Image processing device and method, supplement image generation device and method, program, and recording medium

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10110795B2 (en) 2002-06-04 2018-10-23 General Electric Company Video system and method for data communication
US20110285842A1 (en) * 2002-06-04 2011-11-24 General Electric Company Mobile device positioning system and method
US9873442B2 (en) 2002-06-04 2018-01-23 General Electric Company Aerial camera system and method for identifying route-related hazards
US9919723B2 (en) 2002-06-04 2018-03-20 General Electric Company Aerial camera system and method for determining size parameters of vehicle systems
US11124207B2 (en) 2014-03-18 2021-09-21 Transportation Ip Holdings, Llc Optical route examination system and method
US20150235094A1 (en) 2014-02-17 2015-08-20 General Electric Company Vehicle imaging system and method
US9875414B2 (en) 2014-04-15 2018-01-23 General Electric Company Route damage prediction system and method
JP4517664B2 (ja) 2004-02-12 2010-08-04 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
US20060190812A1 (en) * 2005-02-22 2006-08-24 Geovector Corporation Imaging systems including hyperlink associations
US7676112B2 (en) * 2006-05-01 2010-03-09 University Corporation For Atmospheric Research Optical device for correcting geostationary satellite imagery for earth curvature effects
RU2445007C2 (ru) * 2006-05-24 2012-03-20 Конинклейке Филипс Электроникс, Н.В. Совмещение систем координат
US8224122B2 (en) * 2006-12-15 2012-07-17 Microsoft Corporation Dynamic viewing of wide angle images
JP4926826B2 (ja) * 2007-05-25 2012-05-09 キヤノン株式会社 情報処理方法および情報処理装置
CN101937563B (zh) * 2009-07-03 2012-05-30 深圳泰山在线科技有限公司 一种目标检测方法和设备及其使用的图像采集装置
JP5569329B2 (ja) * 2010-10-15 2014-08-13 大日本印刷株式会社 会議システム、監視システム、画像処理装置、画像処理方法及び画像処理プログラム等
JP5803184B2 (ja) * 2010-11-19 2015-11-04 株式会社リコー 画像投影装置、メモリアクセス方法
JP2012134885A (ja) * 2010-12-22 2012-07-12 Sony Corp 画像処理装置及び画像処理方法
WO2013032955A1 (en) 2011-08-26 2013-03-07 Reincloud Corporation Equipment, systems and methods for navigating through multiple reality models
JP5913934B2 (ja) * 2011-11-30 2016-05-11 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム、および画像処理装置を有する撮像装置
JP5966341B2 (ja) * 2011-12-19 2016-08-10 大日本印刷株式会社 画像処理装置、画像処理方法、画像処理装置用プログラム、画像表示装置
WO2013130082A1 (en) * 2012-03-01 2013-09-06 Geo Semiconductor Inc. Method and system for adaptive perspective correction of ultra wide-angle lens images
US9691241B1 (en) * 2012-03-14 2017-06-27 Google Inc. Orientation of video based on the orientation of a display
US8525088B1 (en) * 2012-03-21 2013-09-03 Rosemont Aerospace, Inc. View-point guided weapon system and target designation method
ITRM20130063U1 (it) * 2013-04-04 2014-10-05 Virtualmind Di Davide Angelelli Sonda per riprese endoscopiche e videoispezioni, denominata realworld360
KR20140147205A (ko) * 2013-06-18 2014-12-30 삼성전자주식회사 휴대 가능한 의료 진단 장치의 주행 경로 제공 방법 및 장치
US9411013B2 (en) * 2014-02-14 2016-08-09 Google, Inc. Instrument for automated testing of displays
FR3018119B1 (fr) * 2014-02-28 2017-07-07 Thales Sa Systeme de visualisation de casque comportant des moyens d'affichage et de gestion de documentation
US9414168B2 (en) * 2014-03-27 2016-08-09 Starkey Laboratories, Inc. Magnetometer in hearing aid
JP5843033B1 (ja) * 2014-05-15 2016-01-13 株式会社リコー 撮像システム、撮像装置、プログラムおよびシステム
JP6446465B2 (ja) * 2014-09-30 2018-12-26 ミラマサービスインク 入出力装置、入出力プログラム、および入出力方法
US20160182822A1 (en) * 2014-12-19 2016-06-23 Sony Corporation System, method, and computer program product for determiing a front facing view of and centering an omnidirectional image
CN104469167B (zh) * 2014-12-26 2017-10-13 小米科技有限责任公司 自动对焦方法及装置
KR102399686B1 (ko) * 2015-07-28 2022-05-19 삼성전자주식회사 3d 렌더링 방법 및 장치
US10275928B2 (en) * 2016-04-05 2019-04-30 Qualcomm Incorporated Dual fisheye image stitching for spherical image content
US10102610B2 (en) 2016-04-05 2018-10-16 Qualcomm Incorporated Dual fisheye images stitching for spherical video
CN106023692A (zh) * 2016-05-13 2016-10-12 广东博士早教科技有限公司 一种基于娱乐交互的ar趣味学习系统及方法
DE102016210312A1 (de) * 2016-06-10 2017-12-14 Siemens Healthcare Gmbh Steuerobjekt zur Steuerung eines Transfers von Dual-Energy-CT-Bilddaten an ein Clientgerät
JP7071054B2 (ja) * 2017-01-20 2022-05-18 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
TWI606421B (zh) * 2017-03-13 2017-11-21 國立交通大學 魚眼相機全自動校正方法及其裝置
KR102491939B1 (ko) 2018-08-24 2023-01-26 삼성전자주식회사 전방향 이미지를 프로세싱하기 위한 방법 및 장치
JP7392341B2 (ja) 2019-09-17 2023-12-06 富士フイルムビジネスイノベーション株式会社 情報処理装置、及び情報処理プログラム
USD959477S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
US11205296B2 (en) * 2019-12-20 2021-12-21 Sap Se 3D data exploration using interactive cuboids
USD959476S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
USD959447S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0858074B1 (en) * 1989-07-13 2001-10-17 Canon Kabushiki Kaisha Encoding device and decoding device suitable for dubbing
US5185667A (en) * 1991-05-13 1993-02-09 Telerobotics International, Inc. Omniview motionless camera orientation system
JPH07504285A (ja) * 1992-11-24 1995-05-11 フランク・データ・インターナショナル・ナムローゼ・フェンノートシャップ パノラマ画像の形成方法及び装置並びにパノラマ画像探索方法及び装置
JP3032414B2 (ja) 1993-10-29 2000-04-17 キヤノン株式会社 画像処理方法および画像処理装置
JPH07200876A (ja) * 1993-12-28 1995-08-04 Matsushita Electric Ind Co Ltd 三次元画像生成方法
JP3026716B2 (ja) * 1994-03-16 2000-03-27 株式会社日立製作所 立体型表示装置
EP0684585B1 (en) * 1994-04-22 2003-02-05 Canon Kabushiki Kaisha Image forming method and apparatus
JPH0877356A (ja) * 1994-09-09 1996-03-22 Fujitsu Ltd 三次元多眼画像の処理方法及び処理装置
JPH0896165A (ja) 1994-09-29 1996-04-12 Fujitsu Ltd 画像生成方法及び画像生成装置
JP3164481B2 (ja) * 1994-12-20 2001-05-08 シャープ株式会社 撮像装置
US5703961A (en) * 1994-12-29 1997-12-30 Worldscape L.L.C. Image transformation and synthesis methods
US5793379A (en) * 1995-04-03 1998-08-11 Nvidia Corporation Method and apparatus for scaling images having a plurality of scan lines of pixel data
US5963664A (en) * 1995-06-22 1999-10-05 Sarnoff Corporation Method and system for image combination using a parallax-based technique
JPH0949714A (ja) 1995-08-04 1997-02-18 Canon Inc 3次元形状抽出装置
JP3457104B2 (ja) * 1995-09-14 2003-10-14 三菱電機株式会社 画像合成装置
US6111702A (en) * 1995-11-30 2000-08-29 Lucent Technologies Inc. Panoramic viewing system with offset virtual optical centers
JPH09187038A (ja) 1995-12-27 1997-07-15 Canon Inc 3次元形状抽出装置
US6009188A (en) * 1996-02-16 1999-12-28 Microsoft Corporation Method and system for digital plenoptic imaging
DE69734747T2 (de) * 1996-03-22 2006-07-27 Canon K.K. Verfahren und Gerät zur Bildverarbeitung
JPH09288735A (ja) * 1996-04-23 1997-11-04 Canon Inc 画像処理装置
AU718453B2 (en) * 1996-07-17 2000-04-13 Sony Corporation Image coding and decoding using mapping coefficients corresponding to class information of pixel blocks
DE69827232T2 (de) * 1997-01-30 2005-10-20 Yissum Research Development Company Of The Hebrew University Of Jerusalem Mosaikbildverarbeitungssystem
US6009190A (en) * 1997-08-01 1999-12-28 Microsoft Corporation Texture map construction method and apparatus for displaying panoramic image mosaics
US5991464A (en) * 1998-04-03 1999-11-23 Odyssey Technologies Method and system for adaptive video image resolution enhancement
US20010015751A1 (en) * 1998-06-16 2001-08-23 Genex Technologies, Inc. Method and apparatus for omnidirectional imaging
JP2000113209A (ja) * 1998-10-01 2000-04-21 Dainippon Screen Mfg Co Ltd 多視点画像生成表示方法、多視点画像生成表示装置、および多視点画像生成表示プログラムを記録した記録媒体
US6750860B1 (en) * 1998-12-28 2004-06-15 Microsoft Corporation Rendering with concentric mosaics
JP3054146B1 (ja) 1999-01-06 2000-06-19 宜昇科技股▲分▼有限公司 パノラマ像装置
JP3420734B2 (ja) * 1999-03-12 2003-06-30 東京都下水道サービス株式会社 管渠内面画像の処理方法
JP2000276613A (ja) 1999-03-29 2000-10-06 Sony Corp 情報処理装置および情報処理方法
JP2000285259A (ja) 1999-03-31 2000-10-13 Toshiba Corp 多視点画像からの任意視点画像再生方法
JP2000339497A (ja) 1999-05-25 2000-12-08 Sony Computer Entertainment Inc 画像生成装置、画像生成方法、エンタテインメント・システム及び記録媒体
JP2001008232A (ja) 1999-06-25 2001-01-12 Matsushita Electric Ind Co Ltd 全方位映像出力方法と装置
DE19953063A1 (de) * 1999-11-03 2001-06-07 Univ Magdeburg Tech Verfahren zur dreidimensionalen optischen Vermessung von Objektoberflächen
GB2358980B (en) * 2000-02-07 2004-09-01 British Broadcasting Corp Processing of images for 3D display
US6327325B1 (en) * 2000-02-16 2001-12-04 Ge Medical Systems Global Technology Company, Llc Methods and apparatus for adaptive interpolation reduced view CT scan
JP2002064812A (ja) 2000-08-17 2002-02-28 Sharp Corp 移動物体追尾装置
US6959120B1 (en) * 2000-10-27 2005-10-25 Microsoft Corporation Rebinning methods and arrangements for use in compressing image-based rendering (IBR) data
US7940299B2 (en) * 2001-08-09 2011-05-10 Technest Holdings, Inc. Method and apparatus for an omni-directional video surveillance system
JP2003141562A (ja) * 2001-10-29 2003-05-16 Sony Corp 非平面画像の画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361660B2 (en) 2011-05-23 2016-06-07 Sony Corporation Image processing device and method, supplement image generation device and method, program, and recording medium

Also Published As

Publication number Publication date
JP2004015106A (ja) 2004-01-15
US20050012745A1 (en) 2005-01-20
EP1511300A4 (en) 2006-01-04
EP1511300A1 (en) 2005-03-02
KR100967826B1 (ko) 2010-07-05
WO2003103278A1 (ja) 2003-12-11
KR20050002796A (ko) 2005-01-10
US7831086B2 (en) 2010-11-09

Similar Documents

Publication Publication Date Title
JP4211292B2 (ja) 画像処理装置および画像処理方法、プログラム並びにプログラム記録媒体
JP3922543B2 (ja) 撮像装置、および画像表示装置
CN112771539B (zh) 采用使用神经网络从二维图像预测的三维数据以用于3d建模应用
US5508734A (en) Method and apparatus for hemispheric imaging which emphasizes peripheral content
CN102595168B (zh) 用于360度立体视频的无缝左/右视图
CN100485720C (zh) 一种基于序列静态图像的360°环视全景生成方法
US11200752B1 (en) Color correction for immersive content production systems
US20080211737A1 (en) Three-dimensional display apparatus using intermediate elemental images
US20210312702A1 (en) Damage detection from multi-view visual data
JP2017528949A (ja) 全方向視差光照射野圧縮のためのプリプロセッサ
CN109076172A (zh) 从中间视图生成有效画布视图
CN104980651A (zh) 图像处理设备及控制方法
JPH05501184A (ja) 連続画像の内容変更を行う方法および装置
JP2001086507A (ja) 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、媒体、並びに画像処理装置
JP2022523478A (ja) マルチビュー視覚データからの損傷検出
US20210225038A1 (en) Visual object history
WO2009093136A2 (en) Image capture and motion picture generation
Gurrieri et al. Acquisition of omnidirectional stereoscopic images and videos of dynamic scenes: a review
JP2019509526A (ja) 多数のカメラを用いた最適の球形映像獲得方法
US20240242337A1 (en) Mobile multi-camera multi-view capture
Zheng et al. Scanning scene tunnel for city traversing
JP4243931B2 (ja) 画像処理装置および画像処理方法、並びにプログラムおよび記録媒体
JP2001086387A (ja) 動き検出装置および動き検出方法、並びに媒体
Bruckstein et al. Multi-Image Search, Filtering, Reasoning and Visualization
Bruckstein et al. Multi-Image Search, Filtering, Reasoning and Visualisation (Dagstuhl Seminar 00111)

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040428

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080905

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081007

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081020

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131107

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees