(57)【特許請求の範囲】
【請求項１】
撮像環境を変えて、複数のテクスチャ画像を撮像する撮像手段と、
前記撮像環境のデータを取得する撮像環境データ取得手段と、
前記撮像環境のデータ配列に応じて前記複数のテクスチャ画像を並び替えることによって、高次テクスチャを仮想的に生成する高次テクスチャ生成手段と、
前記高次テクスチャの配列要素であるテクスチャ画像をテクスチャマッピング時の描画パターンに適した形に並び替えることによって、一次元フレーム構造である連続テクスチャへ変換する連続テクスチャ変換手段と、
前記高次テクスチャのアドレスと前記連続テクスチャのアドレスとの対応関係を示す変換テーブルを作成する変換テーブル作成手段と、
を備えるテクスチャ生成装置。
【請求項２】
前記連続テクスチャを所定の圧縮方式で圧縮する圧縮テクスチャ生成手段をさらに備えることを特徴とする請求項１記載のテクスチャ生成装置。
【請求項３】
請求項１記載の連続テクスチャを格納する格納手段と、
テクスチャマッピング時の描画環境データ及び請求項１記載の変換テーブルより、前記格納された連続テクスチャからテクスチャマッピング時に必要なテクスチャ画像を検索する検索手段と、
前記検索したテクスチャ画像を用いてテクスチャマッピングするテクスチャマッピング手段と、
を備えるテクスチャマッピング装置。
【請求項４】
請求項２記載の圧縮テクスチャ生成手段で圧縮された連続テクスチャを元の状態へ展開する圧縮テクスチャ展開手段をさらに備えることを特徴とする請求項３記載のテクスチャマッピング装置。
【請求項５】
テクスチャマッピング時の描画環境データ及び請求項１記載の変換テーブルから、テクスチャマッピング時に必要な部分のテクスチャ画像を検索する検索手段と、
前記検索手段で検索した結果を元に、請求項２記載の圧縮テクスチャ生成手段で圧縮された連続テクスチャの一部分を元の状態へ展開する圧縮テクスチャ部分展開手段と、
前記連続テクスチャの一部分を格納する格納手段と、
前記格納手段に格納された前記連続テクスチャの一部分のテクスチャ画像を用いてテクスチャマッピングするテクスチャマッピング手段と、
を備えるテクスチャマッピング装置。
【請求項６】
撮像環境を変えて、複数のテクスチャ画像を撮像するステップと、
前記撮像環境のデータを取得するステップと、
前記撮像環境のデータ配列に応じて前記複数のテクスチャ画像を並び替えることによって、高次テクスチャを仮想的に生成するステップと、
前記高次テクスチャの配列要素であるテクスチャ画像をテクスチャマッピング時の描画パターンに適した形に並び替えることによって、一次元フレーム構造である連続テクスチャへ変換するステップと、
前記高次テクスチャのアドレスと前記連続テクスチャのアドレスとの対応関係を示す変換テーブルを作成するステップと、
を備えるテクスチャ生成方法。
【請求項７】
テクスチャマッピング時の描画環境データ及び請求項６記載の変換テーブルより、請求項６記載の連続テクスチャからテクスチャマッピング時に必要なテクスチャ画像を検索するステップと、
前記検索したテクスチャ画像を用いてテクスチャマッピングするステップと、
を備えるテクスチャマッピング方法。
【請求項８】
撮像環境を変えて、複数のテクスチャ画像を撮像するステップと、
前記撮像環境のデータを取得するステップと、
前記撮像環境のデータ配列に応じて前記複数のテクスチャ画像を並び替えることによって、高次テクスチャを仮想的に生成するステップと、
前記高次テクスチャの配列要素であるテクスチャ画像をテクスチャマッピング時の描画パターンに適した形に並び替えることによって、一次元フレーム構造である連続テクスチャへ変換するステップと、
前記高次テクスチャのアドレスと前記連続テクスチャのアドレスとの対応関係を示す変換テーブルを作成するステップと、
をコンピュータに実行させるためのテクスチャ生成プログラム。
【請求項９】
テクスチャマッピング時の描画環境データ及び請求項８記載の変換テーブルより、請求項８記載の連続テクスチャからテクスチャマッピング時に必要なテクスチャ画像を検索するステップと、
前記検索したテクスチャ画像を用いてテクスチャマッピングするステップと、をコンピュータに実行させるためのテクスチャマッピングプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、撮像位置又は照明位置のうち少なくとも1つのパラメータを変化させて撮影した複数の撮影画像（テクスチャ画像）を用いて高品位なCG(Computer Graphic)画像を生成する高次テクスチャマッピング技術における高次テクスチャの圧縮及び展開方法に関する。
【０００２】
【従来の技術】
３次元コンピュータグラフィクス分野では、高品位な描画を行うために３次元を構成するモデル（一般には三角形パッチ）で構成されるポリゴンモデルが用いられる）表面に実世界から取得した撮影画像（テクスチャ画像）を貼り付けるテクスチャマッピングと呼ばれる手法が存在する。また、光源や視点位置に応じた物体表面の陰影をポリゴン表面の塗りつぶしで表現する手法は一般にシェーディングと呼ばれ、フラットシェーディング（ポリゴン表面を一様に塗りつぶす）やグーローシェーディング（ポリゴン表面を頂点輝度値の線形補間で塗る）などが存在する。このシェーディングと先に述べたテクスチャマッピングを組み合わせることで、物体モデルと視点や照明位置に応じた陰影の組み合わさったテクスチャマッピングを行うことができている。
【０００３】
ところが、テクスチャマッピングで用いられるテクスチャは特定の照明条件、カメラ位置での撮影画像であり、貼り付ける対象である３次元モデルの形状や、描画時の視点、照明位置といった情報は考慮されていない。その結果陰影に変化のない単調な描画結果になり、実写との違いが大きくなってしまう原因にもなっている。
【０００４】
また、シェーディングに関しても、基本的には頂点単位の光源計算で輝度を計算しポリゴン表面は線形に補間しているため、本来３次元物体が有する細かな表面形状に対応した描画は行われていない。光源処理を頂点単位でなくピクセル単位で行う方法も存在する。フォーンシェーディングと呼ばれる手法では、ピクセル単位に物体表面の法線情報を再計算して光源処理を行うため照明ハイライトなどの表現に有効である。しかし、法線の再計算はポリゴン頂点の法線情報をもとに線形補間して求めることが一般的であり、ポリゴン表面の微細な形状を表現しているわけではない。
【０００５】
また、３次元物体表面を再帰的にポリゴン分割することで、物体表面の細かな形状を表現する手法としてSubdivision surface (D.Zorin, P.Schroder, and W Sweldens, Interpolating Subdivision For Meshes With Arbitrary Topology. Computer Graphics (SIGGRAPH 96 Conference Proceedings), 30:189-192, 1996)と呼ばれる手法が存在する。ポリゴンを細かく分割していくことで、頂点単位の光源計算をピクセル単位の光源処理に近づけることができるが、頂点数が膨大になり３次元頂点の座標計算負荷が重くなるという問題も存在する。
【０００６】
以上の手法を使えば、光源処理の問題は解決できても、視点位置及び照明位置で定まる特定環境の撮像画像（テクスチャ画像）を１枚貼り付けているだけでは、実写画像のような視点、照明位置に対応して変化する画像を生成することは不可能である。
【０００７】
ここでは、実写画像の特性について考えてみる。カメラによって撮像した画像はレンズを通して各ピクセルに入射してくる光の情報を取得したものと考えることができる。つまりテクスチャ画像は、照明位置を固定した場合の、撮像時の視点（カメラの位置又はカメラの向き）、場合によっては時刻といったパラメータで規定できる光の集合とみなすことができる。そこで、このようなテクスチャ画像及び描画情報に従って高品位な画像を自動的に生成する技術が登場しており、イメージベースレンダリング技術と呼ばれている。
【０００８】
そこで、イメージベースレンダリングの１手法として、撮像対象を異なる視点あるいは照明条件で取得しておいた撮像画像をテクスチャ画像として複数用意しておき、３次元物体のレンダリング時には物体表面の法線や視点、およびに照明位置などの情報から先に用意しておいたテクスチャ画像を切り替えてマッピングする手法が考えられている。Bidirectional Texture Function（BTF）(K.J.Dana,B.van Ginneken, S.K.Nayar, and J.J.Koenderink. Reflectance and texture of real world surfaces. ACM Transaction on Graphics, 18(1):1-34, 1999)と呼ばれる手法が有名である。
【０００９】
しかし、このような考えられる複数の撮像環境に応じて多数のテクスチャ画像を用意しておくことは、膨大なテクスチャメモリが必要ということを意味し、テクスチャを圧縮して伝送、利用する必要があった。
【００１０】
この解決手法として、画像圧縮技術を利用して構成するテクスチャ画像をそれぞれ圧縮しておく方法や、ピクセル単位に輝度の変化値を関数で近似し、その関数パラメータを保存しておく方法などが存在する。
【００１１】
ところが、画像圧縮技術を用いた場合は圧縮展開に時間がかかるという問題が、また、ピクセル単位に輝度の変化値を関数近似した場合は撮像カメラの視点位置が固定されるなど撮像環境に制約があり、CG描画時の視点や照明位置の変化に対応できないといった問題があった。
【００１２】
【発明が解決しようとする課題】
上述したように従来のCG技術においてテクスチャマッピングは、特定の撮像環境で取得したテクスチャ画像を利用していたため、描画時の視点や照明位置の変化を反映したレンダリングを行うことができなかった。また、物体表面を構成するポリゴン（例えば３角形パッチ）の頂点単位に光源計算を行っていたため、ポリゴン表面の細かな形状変化に伴う光源変化を反映することができなかった。ピクセル単位の光源計算と同等な効果を出すため、ポリゴン再分割を行い、多数のポリゴン頂点を生成すると座標計算の処理負荷が重くなるという問題があった。これらの問題を解決するため、あらかじめ視点位置や照明位置の異なる環境で撮像したテクスチャ画像を多数用意しておき、描画環境に応じてテクスチャを切り替えてマッピングに用いるというイメージベースな手法（BTF）が登場した。しかし、この手法の実現には、多数のテクスチャ画像が必要であり、メモリや計算資源の負担が大きく、また、ネットワーク配信も困難である。したがって、この大量のテクスチャ画像を効率よく圧縮、展開するための技術も求められてきた。
【００１３】
本発明は、視点位置又は照明位置のうち少なくとも1つの描画環境に応じてテクスチャ画像を切替えてマッピングすることによって、実写画像のような視点、照明位置に対応して変化する高品位な画像を自動的に生成するイメージベースレンダリングを実用化できることを目的とする。
【００１４】
【課題を解決するための手段】
第１の発明は、撮像環境を変えて、複数のテクスチャ画像を撮像する撮像手段（１１０）と、前記撮像環境のデータを取得する撮像環境データ取得手段（１２０）と、前記撮像環境のデータ配列に応じて前記複数のテクスチャ画像を並び替えることによって、高次テクスチャを仮想的に生成する高次テクスチャ生成手段（１３０）と、前記高次テクスチャの配列要素であるテクスチャ画像をテクスチャマッピング時の描画パターンに適した形に並び替えることによって、一次元フレーム構造である連続テクスチャへ変換する連続テクスチャ変換手段（１４０）と、前記高次テクスチャのアドレスと前記連続テクスチャのアドレスとの対応関係を示す変換テーブルを作成する変換テーブル作成手段（１５０）と、を備えるテクスチャ生成装置である。
【００１５】
第２の発明は、前記連続テクスチャを所定の圧縮方式で圧縮する圧縮テクスチャ生成手段（１６０）をさらに備えることを特徴とする第１の発明記載のテクスチャ生成装置である。
【００１６】
第３の発明は、第１の発明記載の連続テクスチャを格納する格納手段（２３０）と、テクスチャマッピング時の描画環境データ及び第１の発明記載の変換テーブルより、前記格納された連続テクスチャからテクスチャマッピング時に必要なテクスチャ画像を検索する検索手段（２２０）と、前記検索したテクスチャ画像を用いてテクスチャマッピングするテクスチャマッピング手段（２５０）と、を備えるテクスチャマッピング装置である。
【００１７】
第４の発明は、第２の発明記載の圧縮テクスチャ生成手段で圧縮された連続テクスチャを元の状態へ展開する圧縮テクスチャ展開手段（２１０）をさらに備えることを特徴とする第３の発明記載のテクスチャマッピング装置である。
【００１８】
第５の発明は、テクスチャマッピング時の描画環境データ及び第１の発明記載の変換テーブルから、テクスチャマッピング時に必要な部分のテクスチャ画像を検索する検索手段（２２０）と、前記検索手段で検索した結果を元に、第２の発明記載の圧縮テクスチャ生成手段で圧縮された連続テクスチャの一部分を元の状態へ展開する圧縮テクスチャ部分展開手段（３１０）と、前記連続テクスチャの一部分を格納する格納手段（２３０）と、前記格納手段に格納された前記連続テクスチャの一部分のテクスチャ画像を用いてテクスチャマッピングするテクスチャマッピング手段（２５０）と、を備えるテクスチャマッピング装置である。
【００１９】
第６の発明は、撮像環境を変えて、複数のテクスチャ画像を撮像するステップと、前記撮像環境のデータを取得するステップと、前記撮像環境のデータ配列に応じて前記複数のテクスチャ画像を並び替えることによって、高次テクスチャを仮想的に生成するステップと、前記高次テクスチャの配列要素であるテクスチャ画像をテクスチャマッピング時の描画パターンに適した形に並び替えることによって、一次元フレーム構造である連続テクスチャへ変換するステップと、前記高次テクスチャのアドレスと前記連続テクスチャのアドレスとの対応関係を示す変換テーブルを作成するステップと、を備えるテクスチャ生成方法である。
【００２０】
第７の発明は、テクスチャマッピング時の描画環境データ及び第６の発明記載の変換テーブルより、第６の発明記載の連続テクスチャからテクスチャマッピング時に必要なテクスチャ画像を検索するステップと、前記検索したテクスチャ画像を用いてテクスチャマッピングするステップと、を備えるテクスチャマッピング方法である。
【００２１】
第８の発明は、撮像環境を変えて、複数のテクスチャ画像を撮像するステップと、前記撮像環境のデータを取得するステップと、前記撮像環境のデータ配列に応じて前記複数のテクスチャ画像を並び替えることによって、高次テクスチャを仮想的に生成するステップと、前記高次テクスチャの配列要素であるテクスチャ画像をテクスチャマッピング時の描画パターンに適した形に並び替えることによって、一次元フレーム構造である連続テクスチャへ変換するステップと、前記高次テクスチャのアドレスと前記連続テクスチャのアドレスとの対応関係を示す変換テーブルを作成するステップと、をコンピュータに実行させるためのテクスチャ生成プログラムである。
【００２２】
第９の発明は、テクスチャマッピング時の描画環境データ及び第８の発明記載の変換テーブルより、第８の発明記載の連続テクスチャからテクスチャマッピング時に必要なテクスチャ画像を検索するステップと、前記検索したテクスチャ画像を用いてテクスチャマッピングするステップと、をコンピュータに実行させるためのテクスチャマッピングプログラムである。
【００２３】
本発明に係るテクスチャ生成装置によれば、変換テーブル及び連続テクスチャを作成できるので、テクスチャマッピング部として動作するプロセッサの処理負担が軽くなるという作用効果を有する。
【００２４】
さらに、連続テクスチャはテクスチャマッピング時の描画パターンに適した形に並び替えされており、連続テクスチャ内で仮想的に隣接するテクスチャ画像同士は似ているので、キーフレームのデータと他のフレームはその差分だけを記録するという圧縮方法（例えばMPEG）で圧縮した場合は、圧縮効率が高次テクスチャのまま圧縮した場合に比べて高くなる。したがって、ネットワーク経由で画像配信する場合に特に優れている。
【００２５】
また、圧縮された連続テクスチャを部分展開すれば、連続テクスチャ格納手段が低容量で済む。
【００２６】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照しながら説明する。尚、単なるテクスチャ画像とは、撮像位置及び照明位置を定めた場合の撮像画像のことをいい、1枚の撮像画像であっても良いし、また、時間をパラメータとした動画であっても良い。一方、高次テクスチャとは、複数のテクスチャ画像が撮像位置又は照明位置等の撮像環境データの配列として表現されているものをいう。したがって、高次テクスチャの配列要素が単なるテクスチャ画像となる。
【００２７】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る高次テクスチャマッピング・システムのブロック図であり、大きく分けて圧縮テクスチャを生成するための圧縮テクスチャ生成装置１００と、圧縮テクスチャを展開するための圧縮テクスチャ展開装置２００とを備える。
【００２８】
両者は同じ機器内に実装されたものであってもよいし、ネットワーク上で離れた別の機器に実装されたものであっても構わない。ただし、後者の場合、圧縮テクスチャはネットワーク上を圧縮テクスチャ生成装置から圧縮テクスチャ展開装置へ伝送されることになる。
【００２９】
（圧縮テクスチャの生成）
圧縮テクスチャ生成装置１００は、撮像時の撮像位置及び照明位置、場合によっては撮像時刻などの撮像環境を変えて、テクスチャ画像を撮像する少なくとも一つ以上の撮像部１１０と、この撮像環境データを取得する撮像環境取得部１２０と、この撮像環境データ配列に基づき、撮像したテクスチャ画像を仮想的に並び替えることによって、高次テクスチャを生成する高次テクスチャ生成部１３０と、この高次テクスチャをテクスチャマッピングに適した傾向(stream)に並び替えることによって、連続テクスチャへ変換する連続テクスチャ変換部１４０と、連続テクスチャ化した際に高次テクスチャのアドレスと連続テクスチャのアドレスとの関係を記述したアドレス変換テーブルを作成する変換テーブル作成部１５０と、連続テクスチャ変換部１４０で変換した連続テクスチャを画像圧縮して、圧縮テクスチャを生成する圧縮テクスチャ生成部１６０とを備える。
【００３０】
ここでは、Bidirectional Texture Function(BTF)と呼ばれる描画時の視点位置およびに照明位置に基づきテクスチャ画像を切替てマッピングを行うテクスチャマッピング手法を対象として、そこに必要なテクスチャ生成、圧縮、展開技術を説明する。
【００３１】
BTFでは、視点位置、照明位置の指定に、図２のような撮像対象を原点とした球座標系を用いる。視点は無限遠、照明は平行光源を仮定すると、視点位置を（θe,φe）,照明位置を（θi, φi）と表現することができる（０≦θ≦π、０≦φ≦π／２）。このとき、視点位置及び証明位置を配列として、高次テクスチャのアドレスＴは以下のように４次元で定義することができる。
【００３２】
Ｔ（θe, φe, θi, φi）
そして、この高次テクスチャのアドレスＴを指定すれば、対応する配列要素であるテクスチャ画像を得ることができる。また、テクスチャ画像の２次元座標（u,v）を指定すれば、テクスチャ画像の一部分を取得することができる。さらに、時間tをパラメータとすれば、テクスチャ画像を動画として扱える。
【００３３】
ここでは、アドレスＴを用いたテクスチャ画像の切り替えとこの１枚のテクスチャ内のアドレス（u, v）との組み合わせによって、所望のテクスチャ画像又はその一部分を表現するものを高次テクスチャ・マッピングとよぶことにする。
【００３４】
図３は、圧縮テクスチャ生成装置１００における圧縮テクスチャ生成処理のフローチャートである。
【００３５】
まず、撮像部１１０を用い、テクスチャ画像の撮像を行う（Ｓ１０１）。撮像部１１０としては、CCDまたはCMOSカメラ、あるいはビデオカメラなどを用いることができる。また、複数の撮像装置を３次元空間内でレイアウトし同時あるいは同期をとって連続に撮像してもよいし、単一の撮像装置を位置、姿勢を変えて撮像を繰り返しても構わない。
【００３６】
一方で撮像環境取得部１２０を用い、撮像環境データを取得しておく（Ｓ１０２）。撮像環境取得部１２０は、撮像部１１０の撮像時刻や撮像位置といった撮像環境のデータを取得するための装置である。ここでの撮像位置には、撮像姿勢（例えば、パノラマ撮影などカメラの位置を固定した場合のカメラの向き）も含まれる。撮像位置の取得には、GPS(Global Positioning Service)などの位置センサ、撮像姿勢の取得には磁気センサ、ジャイロセンサーあるいは加速度センサなどが利用できる。
【００３７】
また、あらかじめ決められた撮像位置で撮像することが決められている場合、前述したセンサを用いることなく、撮像環境のデータを入力すればよいことになる。例えば、図４のようなメッシュ形状のドームを用い、このドーム中央部に被写体を置き、各メッシュ頂点にカメラ、あるいは照明を配置すれば、メッシュ頂点の座標はあらかじめ調べておくことができ、効率よく撮像環境データとテクスチャ画像を取得することができる。
【００３８】
テクスチャ画像の撮像（Ｓ１０１）と撮像環境データの取得（Ｓ１０２）を受け、高次テクスチャ生成部１３０において高次テクスチャを生成する（Ｓ１０３）。高次テクスチャ生成部１３０は、撮像部１１０で撮像した撮像画像を、撮像環境取得部１２０で取得した撮像位置及び証明位置といった撮像環境データに基づき高次テクスチャを生成するための装置である。図５（ａ）は撮像装置及び光源の配置場所を説明するための図であり、中央の試料台上に被写体をのせ、撮像環境を変えて撮影し、高次テクスチャを生成する。同図（ｂ）は生成された高次テクスチャＴ（θe, φe, θi, φi）及びこの配列要素であるテクスチャ画像との関係を示す図である。
【００３９】
高次テクスチャの具体的な生成方法は、（１）まず、照明位置を固定して、撮像位置をθ、φ方向にサンプリング間隔ずらして撮像を繰り返す。同図（ａ）の場合はθ（０≦θ≦π）方向のサンプリング間隔は２２．５°なので、所定のφに対して８枚の画像を撮ることになる。したがって、同図（ｂ）のθ方向に並べられるテクスチャ画像も８枚になる。（２）次に、照明位置をθ方向、あるいはφ方向にサンプリング間隔ずらすという処理を繰り返していけばよい。（３）このようにして、予め決まった撮像環境下で撮像したテクスチャ画像の集まりを撮像位置（θe, φe）及び照明位置（θi, φi）毎に配列することによって、高次テクスチャＴ（θe, φe, θi, φi）が仮想的に生成できる。以上は同図（ａ）のように撮像対象が試料台の上に置かれている場合について説明した。また、パノラマ撮影のようにカメラの位置を固定してカメラの向きを変えた場合、すなわち、撮像姿勢を変えた場合であっても、同様に球座標系（θe, φe）を使える。
【００４０】
次に連続テクスチャ変換部１４０において、高次テクスチャ生成部１３０で生成した高次テクスチャを連続テクスチャに変換する（Ｓ１０４）。連続テクスチャ変換部１４０は、高次テクスチャの配列要素であるテクスチャ画像をテクスチャマッピング時の描画パターンに適した形に並び替えることによって、時系列という一定の傾向を有するストリーム・データのような一次元データ構造に変換する装置である。このデータ構造が上述した連続テクスチャである。
【００４１】
図５（ｂ）に示した高次テクスチャのレイアウトにおいて、レイアウト上隣り合うテクスチャは照明位置又は撮像位置が近いため、描画（テクスチャマッピング）時にも再利用される可能性が高いという特徴がある。これは、描画時の視点位置あるいは照明位置の変化は連続的に変化することが多いと考えられるからである。
【００４２】
そこで、連続テクスチャに変換する際に重要なことは、高次テクスチャの配列上で隣接するテクスチャ画像を１次元の連続テクスチャ上で近傍に配置するような並び替え規則を用いることである。連続テクスチャに変換するための並び替え規則には以下の３つの方式が存在し、それぞれ異なる特徴を有している。
【００４３】
（１）フラットスキャン方式
フラットスキャン方式とは、θ方向あるいはφ方向に順に抽出（サンプリング）して走査（スキャン）していく方式で、スキャン軸方向に隣接するテクスチャ画像は近傍に、もう一方の軸に対しては、一様な距離に配置される。図６は、θ方向にスキャンした場合の（ａ）高次テクスチャ、（ｂ）変換テーブル、（ｃ）連続テクスチャの関係を示している。
【００４４】
（２）ジグザグスキャン方式
ジグザクスキャン方式とは、θ方向、φ方向交互にスキャンしていく方式で、θ方向、φ方向それぞれに隣接するテクスチャ画像が一様な距離に配置される。特にスキャン段数を広げることで、高次テクスチャの配列上隣接するテクスチャ画像を連続テクスチャ内近傍に配置することができる。図７はスキャン段数が２段の場合、図８はスキャン段数が３段の場合の（ａ）高次テクスチャ、（ｂ）変換テーブル、（ｃ）連続テクスチャの関係を示している。
【００４５】
（３）斜めスキャン方式
斜めスキャン方式とは、θ、φ平面に対し、斜めにスキャンしていく方法で、斜め方向の隣接テクスチャ画像が近傍に配置される。図９はスキャン段数が３段の場合の（ａ）高次テクスチャ、（ｂ）変換テーブル、（ｃ）連続テクスチャの関係を示している。
【００４６】
ここで紹介したテクスチャ並べ替え方式は、描画時に求められる視点変化のパターンによってスキャン方式を切替て用いることもできる。例えば対象テクスチャが風景でパノラマ的な画像の切出しを目的とした場合、θ方向の視点移動が優勢と推定され、フラットスキャン方式で連続テクスチャ化した方が適していると判断できる。逆にさまざまな角度からの照明効果をシミュレートしようとした場合、照明位置に関して方向性を問わず近傍にテクスチャが配置されていることが望ましい。したがって、ジグザグスキャン方式や斜めスキャン方式を採用するのが適していると考えられる。
【００４７】
この連続テクスチャ変換時に、高次テクスチャのマトリックスアドレスから連続テクスチャ内のフレームアドレスへの変換テーブルを作成する（Ｓ１０６）。変換テーブル作成部１５０は、変換テーブルを作成するための装置である。変換テーブルＦ(θe, φe, θi, φi)には、図６，７、８、９の（ｂ）のように、高次テクスチャアドレスに対応するテクスチャ画像の連続テクスチャ内のフレーム番号が格納されている。ただし、アドレスに関してはθ方向、φ方向それぞれ等分にサンプリングを行い、Ｎθe、Ｎφe個分の分割識別子で表現するものとする。つまり、θ＝[0, 1, ..., Ｎθe-1]、φ=[0, 1, ..., Ｎφe-1]で各サンプリング点を表現するものとする。  具体的には、連続テクスチャ変換部１４０で用いた変換方式に基づき異なる。ここでは、光源位置情報θi, φiを固定して考え、視点位置に関わる高次テクスチャの変換テーブルＦ(θe,φe)を以下のように求めることができる。
【００４８】
（１）フラットスキャン方式の場合（図６参照）
Ｆ(θe、φe) = Ｎθe * φe + (θe - 1)
（２−１）ジグザグスキャン方式(２段)の場合（図７参照）
φe: 偶数のとき
Ｆ(0, φe) =Ｎθe * φe
Ｆ(0, φe+1)=Ｆ(0, φe) + 1
Ｆ(1, φe+1) =Ｆ(0, φe) + 2
Ｆ(1, φe) =Ｆ(0, φe) + 3
それ以外のとき
Ｆ(θe, φe) =Ｆ(θe-2, φe) + 4
（２−２）ジグザグスキャン方式(３段)の場合（図８参照）
Mod(φe、３)= 0、つまりφeが３の倍数のとき
Ｆ(0, φe) =Ｎθe * φe
Ｆ(0, φe+1)=Ｆ(0, φe) + 1
Ｆ(0, φe+2) =Ｆ(0, φe) + 2
Ｆ(1, φe+2) =Ｆ(0, φe) + 3
Ｆ(1, φe+1) =Ｆ(0, φe) + 4
Ｆ(1, φe) =Ｆ(0, φe) + 5
それ以外のとき
Ｆ(θe, φe) =Ｆ(θe-2, φe) + 6
（３）斜めスキャン方式の場合（図９参照）
Mod(φe、３)= 0、つまりφeが３の倍数のとき
Ｆ(0, φe) =Ｎθe * φe
Ｆ(1, φe) =Ｆ(0, φe) + 1
Ｆ(2, φe) =Ｆ(0, φe) + 5
Ｆ(0, φe+1) =Ｆ(0, φe) + 2
Ｆ(1, φe+1) =Ｆ(0, φe) + 4
Ｆ(0, φe+2) =Ｆ(0, φe) + 3
それ以外のとき
Ｆ(θe, φe) =Ｆ(θe-2, φe) + 6
ただし、Ｆ(Ｎθe-1, φe+2) =Ｆ(θe-2, φe) + 3
最後に圧縮テクスチャ生成部１６０において、連続テクスチャの圧縮を行う（Ｓ１０５）。画像圧縮方法としては、JPEG(Joint Photographic Expert Group), JPEG2000, GIF(Graphics Interchange Format)などの一般的な画像圧縮方法以外にも、S3TCTM(S3 Texture Compression)といったテクスチャ向けの画像圧縮方法、あるいはベクトル量子化などで圧縮しても良い。また、エントロピー符号化法など符号圧縮法を併用しても良い。さらに、連続テクスチャ内で仮想的に隣接するテクスチャ画像同士は撮像位置及び照明位置という撮像環境が近接しているので、画像同士が似ている。したがって、キーフレームのデータと他のフレームはその差分だけを記録するというMPEG2(Motion Picture Experts Group 2)やMPEG４のような動画像圧縮をかけても良い。
【００４９】
ベクトル量子化などはかなり高い圧縮率を期待できるが、符号化に時間がかかるといった問題があった。それに対し、MPEGは専用のハードウェアを利用することで、高速な圧縮、展開を行うことが期待できる。
【００５０】
さらに、複数カメラで時間をパラメータとして撮影した動画を本手法で述べた連続テクスチャ変換することで、複数ストリームの画像データを一本のストリームに変換して配信することも可能である。  （圧縮テクスチャの展開）
次に、圧縮テクスチャ展開装置２００に関して説明をおこなう。
【００５１】
圧縮テクスチャ展開装置２００は、圧縮テクスチャ生成装置１００で生成した圧縮テクスチャを全て展開して、連続テクスチャに戻す圧縮テクスチャ展開部２１０と、描画時の視点位置、照明位置等の描画環境データを入力するための描画環境データ入力部２４０と、圧縮テクスチャ展開部２１０で展開した連続テクスチャを格納するためのテクスチャ格納部２３０と、変換テーブル作成部１５０で作成された変換テーブルと描画環境入力部２４０で入力した描画環境データとから、テクスチャマッピングに必要な連続テクスチャのフレームアドレスを検索するためのテクスチャ検索部２２０と、テクスチャ検索部２２０により検索したフレームアドレスのテクスチャ画像を取得しテクスチャマッピングするためのテクスチャマッピング部２５０と、を備える。  図１０は、圧縮テクスチャ展開装置２００における圧縮テクスチャ展開処理のフローチャートである。まず、連続テクスチャ展開部２５０において、送られてきた圧縮テクスチャの展開を行う（Ｓ２０１）。ここでは、圧縮テクスチャ生成部１６０で採用した画像圧縮方法に対応した展開方法で、圧縮テクスチャ画像全てを展開して、連続テクスチャに戻す。展開後の連続テクスチャは、テクスチャ格納部２３０に格納される。
【００５２】
一方で、描画環境入力部２４０で、テクスチャマッピング時の視点位置、照明位置などの描画環境データを入力する（Ｓ２０２）。
【００５３】
次にテクスチャ検索部２２０において、描画環境データを元に、テクスチャマッピングに必要な部分のテクスチャ画像を検索して連続テクスチャ内のフレームアドレスを求める（Ｓ２０３）。すなわち、テクスチャ検索部２２０では、描画環境入力部２４０により入力した視点位置(θe,φe)及び照明位置(θi,φi)情報と、変換テーブル作成部１５０で作成した変換テーブルＦ(θe,φe, θi, φi)とから、連続テクスチャ内のフレームアドレスを求める。このとき、連続テクスチャ内で隣接するテクスチャのフレームアドレスも変換テーブルＦ(θe±１、φe±１、θi±１、φi±１)から求めておくこともできる。
【００５４】
そして、フレームアドレスの検索（Ｓ２０３）で求めたフレームアドレスからテクスチャマッピングに必要な部分のテクスチャ画像を取得し（Ｓ２０４）、テクスチャマッピング部２５０でマッピングを行う（Ｓ２０５）。
【００５５】
したがって、テクスチャ検索部２２０及びテクスチャマッピング部２５０として動作するプロセッサは、連続テクスチャ及び変換テーブルの形で処理する方が高次テクスチャそのものを扱うよりも負担が軽くなる。つまり、テクスチャ検索部２２０は、連続テクスチャが予めテクスチャマッピング時の描画環境データを元に並び替えられているので、連続テクスチャのフレームアドレスからテクスチャマッピングに必要な部分のテクスチャ画像を取得しやすい。また、テクスチャマッピング部２５０は、連続テクスチャ全てのデータを扱う必要がないため、高速なプロセッサである必要がなく、また、３次元グラフィックエンジンを併用する必要もない。
【００５６】
フレームアドレスの検索（Ｓ２０３）で、連続テクスチャ内の隣接テクスチャのフレームアドレスを求めていた場合、それらのテクスチャ画像も同時に取得し、αブレンドなどの補間処理を行うことでより質感の高い描画結果を得ることができる。
【００５７】
以上の構成により、描画時の環境データに応じてテクスチャ画像を切替てマッピングを行うシステムを低バンド幅のネットワーク経由で作成することもできる。すなわち、圧縮テクスチャ生成装置１００と圧縮テクスチャ展開装置２００がネットワーク上に離れた機器として実現されていた場合には、圧縮した連続テクスチャをネットワーク経由で伝送することで、携帯電話、携帯情報端末(PDA)など描画側の機器に高速なプロセッサや３次元グラフィックエンジンが搭載されていない場合でも質感の高いシーンを伝送するサービスを提供することが可能である。
【００５８】
（第２の実施形態）
図１１は、本発明の第２の実施形態に係る高次テクスチャマッピング・システムのブロック図であり、大きく分けて圧縮テクスチャを生成するための圧縮テクスチャ生成装置１００と、圧縮テクスチャを展開するための圧縮テクスチャ展開装置３００で構成されている。
【００５９】
第１の実施形態で説明したように、両者は同じ機器内に実装されたものであってもよいし、ネットワーク上で離れた別の機器に実装されたものであっても構わない。ただし、後者の場合、圧縮テクスチャはネットワーク上を圧縮テクスチャ生成装置から圧縮テクスチャ展開装置へ伝送されることになる。
【００６０】
圧縮テクスチャ生成装置１００については、第１の実施形態に記載の構成およびに処理フローと同じであるため説明を省略する。
【００６１】
圧縮テクスチャ展開装置３００は、描画時の視点位置、照明位置を入力するための描画環境入力部２４０と、変換テーブル作成部１５０で作成されたアドレス変換テーブルと描画環境入力部２４０から入力した描画環境データとから必要な連続テクスチャのフレームアドレスを検索するためのテクスチャ検索部２２０と、検索したフレームアドレスに対応する連続テクスチャを取得するために、圧縮テクスチャを部分展開する圧縮テクスチャ部分展開部３１０と、この部分展開した連続テクスチャを格納するための連続テクスチャ格納部２３０と、テクスチャマッピングを行うための描画部２５０と、を備える。
【００６２】
図１２は、圧縮テクスチャ展開装置３００における圧縮テクスチャの部分展開処理のフローチャートである。
【００６３】
まず、描画環境入力部２４０で、テクスチャマッピング時の視点位置、照明位置などの描画環境データを入力する（Ｓ２０２）。
【００６４】
一方、テクスチャ検索部２２０では、描画環境データ及び変換テーブルから求めるべき連続テクスチャを検索し、連続テクスチャ内のフレームアドレスを求める（Ｓ２０３）。すなわち、テクスチャ検索部２２０では、描画環境入力部２４０により入力した視点位置(θe,φe)及び照明位置(θi,φi)の情報と、変換テーブルＦ(θe,φe, θi, φi)とから、連続テクスチャ内のフレームアドレスを求める。もちろん、第１の実施形態と同様にして、隣接するテクスチャのフレームアドレスも変換テーブルＦ(θe±１、φe±１、θi±１、φi±１)から求めておいてもよい。
【００６５】
次に、圧縮テクスチャ部分展開部３１０において、Ｓ２０３で求めたフレームアドレスに対応する連続テクスチャを取り出すために圧縮テクスチャの部分展開を行う（Ｓ３０４）。
【００６６】
圧縮テクスチャ生成部１６０で採用した画像圧縮方法に対応した展開方法で、圧縮テクスチャを部分展開し、この部分展開後の連続テクスチャを連続テクスチャ格納部２３０に格納する。テクスチャ検索部２２０で隣接テクスチャのフレームアドレスを複数用意していた場合、それらに関しても同様に圧縮テクスチャ部分展開部３１０に問い合わせ、展開しておく。
【００６７】
最後に、連続テクスチャ格納部２３０に格納された連続テクスチャを用い、テクスチャマッピング部においてマッピングを行う（Ｓ２０５）。
【００６８】
圧縮テクスチャの部分展開処理（Ｓ３０５）で隣接テクスチャ画像も取得していた場合、αブレンドなどの補間処理を行うことで、より質感の高い描画結果を得ることができる。
【００６９】
以上説明したように、第1の実施形態との構成上の違いは圧縮テクスチャ部分展開部３１０が、テクスチャ検索部２２０から求める連続テクスチャのフレームアドレスを受けて圧縮テクスチャを部分展開している点である。
【００７０】
画像圧縮方法として、MPEG2に代表される動き予測を用いた動画圧縮法を用いた場合を考えてみる。動き予測に基づく動画像圧縮では、圧縮画像は大きく分けて、非圧縮のオリジナルフレーム（キーフレーム）と、圧縮された動き予測フレームとで構成される。そこで、動画像圧縮の展開処理としては、テクスチャ検索部２２０で判明した連続テクスチャ内のフレームアドレスから、そのフレームに隣接する直前のキーフレームを取り出した後、求めるフレームアドレスまで動き予測を繰り返して最終的な連続テクスチャを得ることになる。このキーフレームから求めるフレームまでの展開結果を連続テクスチャ格納部２３０に格納しておけば、次回描画時に視点や照明位置に変化があった場合にも該当する連続テクスチャを、テクスチャ格納部２３０から再利用することができ、圧縮テクスチャ部分展開部３１０を経由しないで効率良く圧縮テクスチャの利用ができる。
【００７１】
また、第１の実施形態では、圧縮テクスチャすべてを展開して連続テクスチャ格納部２３０に格納しておく必要があるが、本実施形態の連続テクスチャ格納部では、必要な連続テクスチャとその周辺の展開に必要なだけの容量を用意すればよいため、携帯電話や携帯情報端末(PDA ; Personal Digital Assistant)など搭載メモリの制約が厳しい機器への実装にも適している。
【００７２】
（記録媒体への適用）
また、本実施形態における処理をコンピュータで実行可能なプログラムで実現し、このプログラムをコンピュータで読み取り可能な記憶媒体として実現することも可能である。
【００７３】
なお、本記憶媒体としては、磁気ディスク、フレキシブルディスク、ハードディスク、光ディスク（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリ等、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
【００７４】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼動しているＯＳ（オペレーションシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。
【００７５】
さらに、本記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【００７６】
また、記憶媒体は１つに限らず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
【００７７】
なお、上記コンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
【００７８】
また、上記コンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態の機能を実現することが可能な機器、装置を総称している。
【００７９】
【発明の効果】
本発明によれば、メモリや計算資源（プロセッサ、ベクトル演算器などの演算器）を効率的に用いて大量のテクスチャ画像の切替が可能となり、高品位なテクスチャマッピングを行うことが可能となる。
【図面の簡単な説明】
【図１】  第１の実施形態に係る高次テクスチャマッピング・システムのブロック図。
【図２】  高次テクスチャアドレスに用いる球座標系を説明するための図。
【図３】  圧縮テクスチャ生成装置１００における圧縮テクスチャ生成処理のフローチャート。
【図４】  簡易に高次テクスチャ画像を撮像するための装置を説明するための図。
【図５】  （ａ）撮像装置及び光源の配置場所を説明するための図、（ｂ）高次テクスチャ及びこの配列要素であるテクスチャ画像との関係を示す図。
【図６】  連続テクスチャへの変換に用いるテクスチャ画像の並び替え方式（フラットスキャン方式）を説明するための図。
【図７】  連続テクスチャへの変換に用いるテクスチャ画像の並び替え方式（２段ジグザグスキャン方式）を説明するための図。
【図８】  連続テクスチャへの変換に用いるテクスチャ画像の並び替え方式（３段ジグザグスキャン方式）を説明するための図。
【図９】  連続テクスチャへの変換に用いるテクスチャ画像の並び替え方式（斜めスキャン方式）を説明するための図。
【図１０】  圧縮テクスチャ展開装置２００における圧縮テクスチャ展開処理のフローチャート。
【図１１】  第２の実施形態に係る高次テクスチャマッピング・システムのブロック図。
【図１２】  圧縮テクスチャ展開装置２００における圧縮テクスチャの部分展開処理のフローチャート。
【符号の説明】
１００  圧縮テクスチャ生成装置
１１０  撮像部
１２０  撮像環境取得部
１３０  高次テクスチャ生成部
１４０  連続テクスチャ変換部
１５０  変換テーブル作成部
１６０  圧縮テクスチャ生成部
２００  圧縮テクスチャ展開装置
２１０  圧縮テクスチャ展開部
２２０  テクスチャ検索部
２３０  連続テクスチャ格納部
２４０  描画環境入力部
２５０  テクスチャマッピング部
３００  圧縮テクスチャ展開装置
３１０  圧縮テクスチャ部分展開部
【図１】
0003863023.tif 000002
【図２】
0003863023.tif 000003
【図３】
0003863023.tif 000004
【図４】
0003863023.tif 000005
【図５】
0003863023.tif 000006
【図６】
0003863023.tif 000007
【図７】
0003863023.tif 000008
【図８】
0003863023.tif 000009
【図９】
0003863023.tif 000010
【図１０】
0003863023.tif 000011
【図１１】
0003863023.tif 000012
【図１２】
0003863023.tif 000013