(57)【要約】【課題】視点方向及び光源方向に応じて変化するテクスチャ画像を圧縮して少ないデータ量で保持する。【解決手段】複数の視点方向及び複数の光源方向について取得したテクスチャ画像を光源非依存テクスチャ画像と輝度マップとに分離する分離部１０２と、輝度マップを正規化して正規化輝度マップと輝度マップ補正画像とを生成する正規化部１０４と、正規化輝度マップを圧縮する輝度マップ圧縮部１０６と、輝度マップ補正画像を圧縮する輝度マップ補正画像圧縮部１０５と、光源非依存テクスチャ画像を圧縮する光源非依存テクスチャ画像圧縮部１０３と、圧縮して得られる圧縮輝度マップ、輝度マップ補正圧縮画像、光源非依存テクスチャ画像、色成分変換テーブル、補正画像変換テーブル、及び、代表輝度マップを連結して圧縮テクスチャを生成する多重化部１０７とを備える。【選択図】  図１
2004234285.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なる光源方向及び複数の異なる視点方向のそれぞれに対応した、複数のテクスチャ画像を圧縮する装置であって、
前記複数のテクスチャ画像から、輝度値を含んだ輝度マップと色成分を含んだ光源非依存テクスチャ画像とを分離する分離部と、
前記輝度マップを圧縮して圧縮輝度マップとそのコードブックである代表輝度マップとを生成する輝度マップ圧縮部と、
前記光源非依存テクスチャ画像を圧縮して、光源非依存テクスチャ圧縮画像とそのコードブックである色成分変換テーブルとを生成する光源非依存テクスチャ画像圧縮部と、
圧縮輝度マップ、代表輝度マップ、光源非依存テクスチャ圧縮画像及び色成分変換テーブルをまとめて、圧縮テクスチャを生成する圧縮テクスチャ生成部と、
を備えるテクスチャ画像圧縮装置。
【請求項２】
複数の異なる光源方向及び複数の異なる視点方向のそれぞれに対応した、複数のテクスチャ画像を圧縮する装置であって、
前記複数のテクスチャ画像から、各画素が輝度値を持った輝度マップと各画素が色成分を含んだ光源非依存テクスチャ画像とを分離する分離部と、
前記輝度マップのそれぞれについて、各輝度マップ毎に、各々を構成する画素の輝度値の取りうる値の範囲を正規化して、正規化輝度マップを生成するとともに正規化に用いる変換パラメータから輝度マップ補正画像を生成する正規化部と、前記正規化輝度マップを圧縮して、圧縮輝度マップとそのコードブックである代表輝度マップとを生成する輝度マップ圧縮部と、
前記輝度マップ補正画像を圧縮して、輝度マップ補正圧縮画像とそのコードブックである補正画像変換テーブルとを生成する輝度マップ補正画像圧縮部と、
前記光源非依存テクスチャ画像を圧縮して、光源非依存テクスチャ圧縮画像とそのコードブックである色成分変換テーブルとを生成する光源非依存テクスチャ画像圧縮部と、
圧縮輝度マップと代表輝度マップと輝度マップ補正圧縮画像と補正画像変換テーブルと光源非依存テクスチャ圧縮画像と色成分変換テーブルとをまとめて、圧縮テクスチャを生成する圧縮テクスチャ生成部と、
を備えるテクスチャ画像圧縮装置。
【請求項３】
前記分離部は、
全ての輝度マップを構成する全ての輝度値を、視点方向及びテクスチャ画像上における座標の両方が同一であるものが集まるように並べ替える手段を備えることを特徴とする請求項２記載のテクスチャ画像圧縮装置。
【請求項４】
前記分離部は、
全ての輝度マップを構成する全ての輝度値を並べ替える際に、
集まった輝度値のそれぞれを、
各輝度値を識別する光源方向の方位角及び極角を、極角が９０度となる２次元平面に射影して得られる座標に配置する手段を備えることを特徴とする請求項３記載のテクスチャ画像圧縮装置。
【請求項５】
前記座標を配置する手段は、
光源方向の方位角を、視点方向の方位角に対する相対的な値で表すことを特徴とする請求項４記載のテクスチャ画像圧縮装置。
【請求項６】
前記正規化部は、
各輝度マップ毎に、それぞれを構成する画素の輝度値の最小値が０で最大値が２５５になるように正規化する手段を備えることを特徴とする請求項２記載のテクスチャ画像圧縮装置。
【請求項７】
前記輝度マップ圧縮部では、量子化により圧縮を行うことを特徴とする請求項２記載のテクスチャ画像圧縮装置。
【請求項８】
前記光源非依存テクスチャ画像圧縮部では、ベクトル量子化により圧縮を行うことを特徴とする請求項２記載のテクスチャ画像圧縮装置。
【請求項９】
前記輝度マップ補正画像圧縮部では、ベクトル量子化により圧縮を行うことを特徴とする請求項２記載のテクスチャ画像圧縮装置。
【請求項１０】
複数の異なる光源方向及び複数の異なる視点方向のそれぞれに対応した複数のテクスチャ画像から、前記光源方向に依存する輝度成分を含んだ第１の画像を求めるとともに前記光源方向に依存しない色成分を含んだ第２の画像とを求め、
前記第１の画像を圧縮して第１の圧縮テクスチャ画像と圧縮・復元のための第１のコードブックとを生成し、
前記第２の画像を圧縮して、第２の圧縮テクスチャ画像と圧縮・復元のための第２のコードブックとを生成し、
前記第１および第２の圧縮テクスチャ画像と前記第１および第２のコードブックとをまとめた圧縮テクスチャを生成する、
ことを特徴とするテクスチャ画像の圧縮方法。
【請求項１１】
複数の異なる光源方向及び複数の異なる視点方向のそれぞれに対応した、複数のテクスチャ画像を圧縮する方法であって、
前記複数のテクスチャ画像から、各画素が輝度値を含んだ輝度マップと各画素が色成分を含んだ光源非依存テクスチャ画像とを分離し、
前記輝度マップのそれぞれについて、各輝度マップ毎に、各々を構成する画素の輝度値の取りうる値の範囲を正規化して、正規化輝度マップを生成するとともに、正規化に用いる変換パラメータから輝度マップ補正画像を生成し、
前記正規化輝度マップを圧縮して、圧縮輝度マップとそのコードブックである代表輝度マップとを生成し、
前記輝度マップ補正画像を圧縮して、輝度マップ補正圧縮画像とそのコードブックである補正画像変換テーブルとを生成し、
前記光源非依存テクスチャ画像を圧縮して、光源非依存テクスチャ圧縮画像とそのコードブックである色成分変換テーブルとを生成し、
圧縮輝度マップと代表輝度マップと輝度マップ補正圧縮画像と補正画像変換テーブルと光源非依存テクスチャ圧縮画像と色成分変換テーブルとをまとめて、圧縮テクスチャを生成するテクスチャ画像圧縮方法。
【請求項１２】
複数の異なる光源方向及び複数の異なる視点方向のそれぞれに対応する複数のテクスチャ画像を圧縮した圧縮テクスチャから、入力された任意の視点方向及び入力された任意の光源方向に対応するテクスチャ画像を抽出する装置であって、前記圧縮テクスチャから、代表輝度マップ及び色成分変換テーブルを抽出する変換テーブル抽出部と、
前記圧縮テクスチャから、入力された視点方向に対応する、圧縮輝度マップ及び光源非依存テクスチャ圧縮画像を抽出するデータ抽出部と、
前記色成分変換テーブルを用いて、前記光源非依存テクスチャ圧縮画像から、光源非依存テクスチャ画像を抽出する光源非依存テクスチャ画像抽出部と、
前記代表輝度マップ及び前記圧縮輝度マップを用いて、入力された視点方向及び入力された光源方向におけるテクスチャ画像に関する輝度成分を算出する輝度成分算出部と、
前記光源非依存テクスチャ画像と前記輝度成分とを用いて、テクスチャ画像を生成するテクスチャ画像生成部と、
を備えるテクスチャ画像抽出装置。
【請求項１３】
複数の異なる光源方向及び複数の異なる視点方向のそれぞれに対応する複数のテクスチャ画像を圧縮した圧縮テクスチャから、入力された任意の視点方向及び入力された任意の光源方向に対応するテクスチャ画像を抽出する装置であって、前記圧縮テクスチャから、代表輝度マップ、色成分変換テーブル及び補正画像変換テーブルを抽出する変換テーブル抽出部と、
前記圧縮テクスチャから、入力された視点方向に対応する、圧縮輝度マップ及び光源非依存テクスチャ圧縮画像を抽出するデータ抽出部と、
前記色成分変換テーブル及び前記補正画像変換テーブルを用いて、前記光源非依存テクスチャ圧縮画像から、光源非依存テクスチャ画像と輝度マップ補正画像を抽出する光源非依存テクスチャ画像抽出部と、
前記代表輝度マップ、前記輝度マップ補正画像及び前記圧縮輝度マップを用いて、入力された視点方向及び入力された光源方向におけるテクスチャ画像に関する輝度成分を算出する輝度成分算出部と、
前記光源非依存テクスチャ画像と前記輝度成分とを用いて、テクスチャ画像を生成するテクスチャ画像生成部と、
を備えるテクスチャ画像抽出装置。
【請求項１４】
複数の異なる光源方向及び複数の異なる視点方向のそれぞれに対応する複数のテクスチャ画像を圧縮した圧縮テクスチャから、任意の視点方向及び任意の光源方向に対応するテクスチャ画像を抽出する装置であって、
抽出対象のテクスチャ画像の視点方向並びに光源方向を入力する光源・視点方向入力部と、
圧縮輝度マップ及び光源非依存テクスチャ圧縮画像及び輝度マップ補正圧縮画像と、これらの圧縮データのコードブックでである、代表輝度マップ及び色成分変換テーブル及び補正画像変換テーブルとを含む圧縮テクスチャを入力する圧縮テクスチャ入力部と、
代表輝度マップ及び色成分変換テーブル及び補正画像変換テーブルを、前記圧縮テクスチャから抽出する変換テーブル抽出部と、
入力された視点方向に対応する、圧縮輝度マップ及び光源非依存テクスチャ圧縮画像を、圧縮テクスチャから抽出するデータ抽出部と、
前記色成分変換テーブル及び前記補正画像変換テーブルを用いて、前記光源非依存テクスチャ圧縮画像から、光源非依存テクスチャ画像及び輝度マップ補正画像を抽出する光源非依存テクスチャ画像抽出部と、
前記代表輝度マップ、前記輝度マップ補正画像及び前記圧縮輝度マップを用いて、入力された視点方向及び入力された光源方向におけるテクスチャ画像に関する輝度成分を算出する輝度成分算出部と、
前記光源非依存テクスチャ画像と前記輝度成分とを用いて、テクスチャ画像を生成するテクスチャ画像生成部と、
を備えるテクスチャ画像抽出装置。
【請求項１５】
複数の異なる光源方向及び複数の異なる視点方向のそれぞれに対応する複数のテクスチャ画像を圧縮した圧縮テクスチャから、入力された任意の視点方向及び入力された任意の光源方向に対応するテクスチャ画像を抽出する方法であって、前記圧縮テクスチャから、代表輝度マップ及び色成分変換テーブルを抽出し、
前記圧縮テクスチャから、入力された視点方向に対応する、圧縮輝度マップ及び光源非依存テクスチャ圧縮画像を抽出し、
前記色成分変換テーブルを用いて、前記光源非依存テクスチャ圧縮画像から、光源非依存テクスチャ画像を抽出し、
前記代表輝度マップ及び前記圧縮輝度マップを用いて、入力された視点方向及び入力された光源方向におけるテクスチャ画像に関する輝度成分を算出し、
前記光源非依存テクスチャ画像と前記輝度成分とを用いて、テクスチャ画像を生成するテクスチャ画像抽出方法。
【請求項１６】
複数の異なる光源方向及び複数の異なる視点方向のそれぞれに対応する複数のテクスチャ画像を圧縮した圧縮テクスチャから、入力された任意の視点方向及び入力された任意の光源方向に対応するテクスチャ画像を抽出する方法であって、前記圧縮テクスチャから、代表輝度マップ、色成分変換テーブル及び補正画像変換テーブルを抽出し、
前記圧縮テクスチャから、入力された視点方向に対応する、圧縮輝度マップ及び光源非依存テクスチャ圧縮画像を抽出し、
前記色成分変換テーブルを用いて、前記光源非依存テクスチャ圧縮画像から、光源非依存テクスチャ画像を抽出し、
前記補正画像変換テーブルを用いて、前記光源非依存テクスチャ圧縮画像から、輝度マップ補正画像を抽出し、
前記代表輝度マップ、前記輝度マップ補正画像及び前記圧縮輝度マップを用いて、入力された視点方向及び入力された光源方向におけるテクスチャ画像に関する輝度成分を算出し、
前記光源非依存テクスチャ画像と前記輝度成分とを用いて、テクスチャ画像を生成するテクスチャ画像抽出方法。
【請求項１７】
複数の異なる光源方向及び複数の異なる視点方向のそれぞれに対応する複数のテクスチャ画像を圧縮した圧縮テクスチャから、任意の視点方向及び任意の光源方向に対応するテクスチャ画像を抽出する方法であって、
抽出対象のテクスチャ画像の視点方向並びに光源方向を入力し、
圧縮輝度マップ及び光源非依存テクスチャ圧縮画像及び輝度マップ補正圧縮画像と、これらの圧縮データのコードブックでである、代表輝度マップ及び色成分変換テーブル及び補正画像変換テーブルとを含む圧縮テクスチャを入力し、
代表輝度マップ及び色成分変換テーブル及び補正画像変換テーブルを、前記圧縮テクスチャから抽出し、
入力された視点方向に対応する、圧縮輝度マップ及び光源非依存テクスチャ圧縮画像を、圧縮テクスチャから抽出し、
前記色成分変換テーブルを用いて、前記光源非依存テクスチャ圧縮画像から、光源非依存テクスチャ画像を抽出し、
前記補正画像変換テーブルを用いて、前記光源非依存テクスチャ圧縮画像から、輝度マップ補正画像を抽出し、
前記代表輝度マップ、前記輝度マップ補正画像及び前記圧縮輝度マップを用いて、入力された視点方向及び入力された光源方向におけるテクスチャ画像に関する輝度成分を算出し、
前記光源非依存テクスチャ画像と前記輝度成分とを用いて、テクスチャ画像を生成するテクスチャ画像抽出方法。
【請求項１８】
複数の異なる光源方向及び複数の異なる視点方向のそれぞれに対応した、複数のテクスチャ画像を圧縮して得られる圧縮テクスチャのデータ構造であって、
テクスチャ画像の輝度成分の正規化パラメータを圧縮・復元するための第１のコードブックと、
テクスチャ画像の正規化された輝度成分を圧縮・復元するための第２のコードブックと、
テクスチャ画像の色成分を圧縮・復元するための第３のコードブックと、
視点方向を表す識別子で識別される圧縮テクスチャブロックとを有し、
前記圧縮テクスチャブロックは、
前記正規化パラメータを圧縮して得られる第１の圧縮データのうち前記識別子が示す視点方向に対応するものと、
前記正規化された輝度成分を圧縮して得られる第２の圧縮データのうち前記識別子が示す視点方向に対応するものと、
前記色成分を圧縮して得られる第３の圧縮データのうち前記識別子が示す視点方向に対応するものと、
を備えることを特徴とするデータ構造。
【請求項１９】
複数の異なる光源方向及び複数の異なる視点方向のそれぞれに対応した、複数のテクスチャ画像を圧縮して得られる圧縮テクスチャのデータ構造であって、
テクスチャ画像上の各点の光源方向の変化に伴う輝度変化を表す輝度マップを正規化して得られる正規化輝度マップを、さらに量子化して得られる代表輝度マップと、
テクスチャ画像から色成分のみを抽出した光源非依存テクスチャ画像をベクトル量子化して得られる色成分の変換テーブルと、
前記輝度マップを正規化して得られる輝度マップ補正画像をベクトル量子化して得られる輝度成分の変換テーブルと、
視点方向を表す識別子で識別される複数の圧縮テクスチャブロックとを有し、
前記圧縮テクスチャブロックのそれぞれは、
前記正規化輝度マップを量子化して得られる圧縮輝度マップのうち前記識別子が示す視点方向に対応するものと、
前記光源非依存テクスチャをベクトル量子化して得られる光源非依存テクスチャ圧縮画像のうち前記識別子が示す視点方向に対応するものと、
前記輝度マップ補正画像をベクトル量子化して得られる輝度マップ補正圧縮画像のうち前記識別子が示す視点方向に対応するものと、
を含むことを特徴とするデータ構造。
【請求項２０】
請求項１８または請求項１９記載のデータ構造を有する圧縮テクスチャを記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元コンピュータ・グラフィックス分野での高品位なテクスチャ・マッピング手法において、視点方向およびに光源方向に応じて変化する物体表面の光学的特性を表現する際に用いるテクスチャ画像のデータを、圧縮する装置、方法に関する。
【０００２】
また、圧縮したデータからテクスチャ画像を抽出する装置、方法に関する。さらに、圧縮して生成されたデータの構造に関する。
【０００３】
【従来の技術】
３次元物体の見え方、すなわち３次元物体の形状及び３次元物体表面の色や質感は、その３次元物体を眺める方向（視点方向）及び光を照射する方向（光源方向）によって変化する。
【０００４】
３次元コンピュータ・グラフィックスの分野では、３次元物体の表面をいくつものポリゴンに分割し、各ポリゴン単位に描画して、２次元画像を生成することで３次元物体を表現している。視点方向及び光源方向の変化による３次元物体の見え方の変化は、３次元物体の表面を構成するポリゴンの向き（３次元姿勢）やポリゴンの光学的特性（輝度等）を視点方向及び光源方向に応じて変化させることにより表現することができる。
【０００５】
ところが、従来は描画の単位であるポリゴンの向き（３次元姿勢）を定義する法線と、視点方向あるいは光源方向との関係を計算するためには、浮動小数点精度のベクトル演算が必要で、ハード的にもソフト的にも演算コストが高く実用化されていなかった。
【０００６】
そこで、ポリゴンを構成する頂点単位に設定した色でポリゴン内部を一様に塗りつぶすフラットシェーディングと呼ばれる描画手法や、ポリゴンを構成する頂点単位に設定した色に基づいて単調な線形補間によってポリゴン内部に色を塗るスムースシェーディングと呼ばれる描画手法が用いられてきた。
【０００７】
また、例えば模様等、ポリゴン内部のディテールも表現したいという要求に対してはテクスチャ・マッピングと呼ぶ手法が用いられる。テクスチャ・マッピングとは、模様や柄が表現された画像（テクスチャ画像）をポリゴン表面に貼り付ける（マッピング）技術である。
【０００８】
テクスチャ・マッピングにおいて、ポリゴンを構成する頂点単位にテクスチャ画像内の対応する画像内座標を定義してテクスチャ画像の向きを制御したり、テクスチャ画像に実写画像を用いる等の改良を行うことにより、高品質なレンダリングが可能となった。
【０００９】
しかし、上述の改良を行ったテクスチャ・マッピングでは、ポリゴンの３次元姿勢に関わらず単一のテクスチャ画像を貼り付けているため、視点方向や光源方向に応じて変化する物体表面の光学的特性を表現することはできない。
【００１０】
物体表面の光学的特性を表現するために、従来、いくつかの改良手法が提案がされている。
【００１１】
（１）物体表面の法線ディテールを擬似的に変化させ、光学的な特性を変化させる手法には、バンプマッピングと呼ばれる手法が存在するが、法線のゆらし計算など３次元ベクトル計算が必要で計算コストが高いという問題がある。
【００１２】
（２）一般にポリゴン表面のテクスチャ成分を視線方向、光源方向に応じて表現したものをＢＴＦ（Ｂｉ−ｄｉｒｅｃｔｉｏｎａｌ  Ｔｅｘｔｕｒｅ  Ｆｕｎｃｔｉｏｎ）と呼ぶ（非特許文献３）。しかし、ＢＴＦのデータにおいて、視点方向、光源方向を表す４個の変数すべてを変化させながら画像のサンプリングをおこなった例はなく、２個、あるいは３個の変数を変化させたサブセットを扱っている（非特許文献４）。
【００１３】
（３）光源方向や視点方向に依存した輝度変化を関数で近似する手法としては、ＰＴＭ（Ｐｏｌｙｎｏｍｉａｌ  Ｔｅｘｔｕｒｅ  Ｍａｐｐｉｎｇ）と呼ばれる手法が提案されている（特許文献１）。
【００１４】
ＰＴＭでは、ピクセル毎の輝度変化を２次元光源方向パラメータの２次関数で近似し、その関数係数（６つ）を持つテクスチャに変換して持つ。描画時には、この関数係数テクスチャから描画対象ピクセルの関数係数を取り出す。そして、取り出した関数係数と光源方向パラメータとから積和演算を行うことで、光源依存なテクセル・カラー情報を求めている。
【００１５】
近年のグラフィックス・ハードウェアでは、ハードウェア上の演算ユニットをプログラマブルに利用してシェーディングを行う機能（ピクセルシェーダ）が実装されている。そのため、ＰＴＭのような演算を高速に実行させることが可能となってきている。
【００１６】
しかし、視点方向も含めた輝度変化を関数化する場合、さらに高次な関数化が必要となる。その結果、関数係数が増えるのみならず、関数近似にかかる時間も多大になることが予想され、視点方向と光源方向、双方に依存したテクスチャを生成することは原理上難しい。
【００１７】
（４）一方、視点方向に応じた画像を生成する手法としては、Ｌｉｇｈｔ  Ｆｉｅｌｄ  Ｒｅｎｄｅｒｉｎｇ（非特許文献１）やＬｕｍｉｇｒａｐｈ（非特許文献２）に代表されるイメージベース・レンダリング手法がある。
【００１８】
イメージベース・レンダリング手法は、離散的に設定された複数視点画像から新規視点から見た画像をサンプリングによって生成しようとするものである。
【００１９】
しかし、視点自由度や画質を高めようとすると複数視点画像を大量に用意しておく必要があり、データ量が膨大になるという問題があった。
【００２０】
データ量を圧縮するためには、一般に圧縮率固定のベクトル量子化（特許文献２）や周辺視点の画像を用いた予測符号化などが用いられている。
【００２１】
しかし、光源方向に依存した変化のシミュレーションは考慮されていない。
【００２２】
【特許文献１】
米国特許第６２９７８３４号明細書
【特許文献２】
米国特許第６０９７３９４号明細書
【００２３】
【非特許文献１】
Ｌｅｖｏｙ  ｅｔ．ａｌ，”Ｌｉｇｈｔ  Ｆｉｅｌｄ  Ｒｅｎｄｅｒｉｎｇ”，Ｐｒｏｃｅｅｄｉｎｇｓ  ＳＩＧＧＲＡＰＨ  １９９６，ｐｐ．３１−４２．
【非特許文献２】
Ｇｏｒｔｌｅｒ，ｅｔ．ａｌ，”Ｔｈｅ  Ｌｕｍｉｇｒａｐｈ”，Ｐｒｏｃｅｅｄｉｎｇｓ  ＳＩＧＧＲＡＰＨ  １９９６，ｐｐ．４３−５４．
【非特許文献３】
Ｄａｎａ，ｅｔ．ａｌ，”Ｒｅｆｌｅｃｔａｎｃｅ  ａｎｄ  Ｔｅｘｔｕｒｅｏｆ  Ｒｅａｌ  Ｗｏｒｌｄ  Ｓｕｒｆａｃｅｓ”，ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎ  ｏｎ  Ｇｒａｐｈｉｃｓ，１８（１）：１−３４，１９９９．
【非特許文献４】
Ｃｈｅｎ，ｅｔ．ａｌ，”Ｌｉｇｈｔ  Ｆｉｅｌｄ  Ｍａｐｐｉｎｇ  Ｅｆｆｉｃｉｅｎｔ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  ａｎｄ  Ｈａｒｄｗａｒｅ  Ｒｅｎｄｅｒｉｎｇ  ｏｆ  Ｓｕｒｆａｃｅ  Ｌｉｇｈｔ  Ｆｉｅｌｄｓ”，Ｐｒｏｃｅｅｄｉｎｇｓ  ＳＩＧＧＲＡＰＨ  ２００２，ｐｐ．４４７−４５６．
【００２４】
【発明が解決しようとする課題】
以上述べたように、視点方向および光源方向に応じて変化する物体表面の光学的特性をテクスチャで表現しようとすると、視点方向や光源方向が異なる大量のテクスチャ画像を用意する必要があったり、演算量が多いなど実用的なシステムとして利用されていなかった。
【００２５】
そこで、本発明では、まず、視点方向及び光源方向に応じて変化する物体表面の光学的特性を表現するために用意した大量のテクスチャ画像データの効率的な圧縮手法を提供することを第１の目的とする。
【００２６】
そして、圧縮して得られる画像データからテクスチャ画像を復元し、視点方向及び光源方向に応じて変化する物体表面の光学的特性を表現可能な描画手法を提供することを第２の目的とする。
【００２７】
【課題を解決するための手段】
本発明のテクスチャ画像圧縮装置は、複数の異なる光源方向及び複数の異なる視点方向のそれぞれに対応した、複数のテクスチャ画像を圧縮する装置である。
【００２８】
本発明のテクスチャ画像圧縮装置は、前記複数のテクスチャ画像から、輝度値を含んだ輝度マップと色成分を含んだ光源非依存テクスチャ画像とを分離する分離部と、前記輝度マップを圧縮して圧縮輝度マップとそのコードブックである代表輝度マップとを生成する輝度マップ圧縮部と、前記光源非依存テクスチャ画像を圧縮して、光源非依存テクスチャ圧縮画像とそのコードブックである色成分変換テーブルとを生成する光源非依存テクスチャ画像圧縮部と、圧縮輝度マップ、代表輝度マップ、光源非依存テクスチャ圧縮画像及び色成分変換テーブルをまとめて、圧縮テクスチャを生成する圧縮テクスチャ生成部とを備える。
【００２９】
本発明のテクスチャ画像圧縮装置は、前記複数のテクスチャ画像から、各画素が輝度値を持った輝度マップと各画素が色成分を含んだ光源非依存テクスチャ画像とを分離する分離部と、前記輝度マップのそれぞれについて、各輝度マップ毎に、各々を構成する画素の輝度値の取りうる値の範囲を正規化して、正規化輝度マップを生成するとともに正規化に用いる変換パラメータから輝度マップ補正画像を生成する正規化部と、前記正規化輝度マップを圧縮して、圧縮輝度マップとそのコードブックである代表輝度マップとを生成する輝度マップ圧縮部と、前記輝度マップ補正画像を圧縮して、輝度マップ補正圧縮画像とそのコードブックである補正画像変換テーブルとを生成する輝度マップ補正画像圧縮部と、前記光源非依存テクスチャ画像を圧縮して、光源非依存テクスチャ圧縮画像とそのコードブックである色成分変換テーブルとを生成する光源非依存テクスチャ画像圧縮部と、圧縮輝度マップと代表輝度マップと輝度マップ補正圧縮画像と補正画像変換テーブルと光源非依存テクスチャ圧縮画像と色成分変換テーブルとをまとめて、圧縮テクスチャを生成する圧縮テクスチャ生成部とを備えていても良い。
【００３０】
前記分離部で輝度マップを分離する際に、光源方向の方位角を視点方向の方位角に対する相対的な値で表しても良い。圧縮効率の向上が期待できる。
【００３１】
前記輝度マップ圧縮部では量子化で圧縮を行っても良い。また、前記輝度マップ補正画像圧縮部及び前記光源非依存テクスチャ画像圧縮部ではベクトル量子化で圧縮を行っても良い。
【００３２】
また、本発明のテクスチャ画像抽出装置は、複数の異なる光源方向及び複数の異なる視点方向のそれぞれに対応した、複数のテクスチャ画像を圧縮した圧縮テクスチャから、所望の視点方向、所望の光源方向に対応するテクスチャ画像を抽出する装置である。
【００３３】
抽出対象のテクスチャ画像の視点方向並びに光源方向を入力する光源・視点方向入力部と、圧縮輝度マップ、光源非依存テクスチャ圧縮画像、圧縮輝度マップの変換コードである代表輝度マップ、光源非依存テクスチャ圧縮画像の変換テーブルを含む圧縮テクスチャを入力する圧縮テクスチャ入力部と、前記圧縮テクスチャから、変換テーブル及び代表輝度マップを抽出する変換テーブル抽出部と、入力された視点方向に対応する、圧縮輝度マップ及び光源非依存テクスチャ圧縮画像を、圧縮テクスチャから抽出するデータ抽出部と、前記変換テーブルを用いて、光源非依存テクスチャ圧縮画像から、光源非依存テクスチャ画像を抽出する光源非依存テクスチャ画像抽出部と、代表輝度マップと入力された光源方向とを用いて、圧縮輝度マップから、特定の視点方向・特定の光源方向における輝度成分を算出する輝度成分算出部と、前記光源非依存テクスチャ画像と前記輝度成分とを用いて、テクスチャ画像を生成するテクスチャ画像生成部とを備える。
【００３４】
【発明の実施の形態】
（第１の実施形態）以下、本発明の第１の実施形態のテクスチャ画像圧縮装置の構成を、図面を参照しながら説明する。
【００３５】
（概要）３次元ＣＧ分野ではテクスチャ・マッピングと呼ばれる手法がが広く用いられている。この手法では、物体表面を多数のポリゴンに分割し、各ポリゴン単位にテクスチャ画像を貼り付けて２次元画像を生成することで物体を表現している。
【００３６】
視点方向及び光源方向の変化による３次元物体の見え方の変化は、３次元物体の表面を構成するポリゴンの３次元姿勢（テクスチャ画像の３次元姿勢）や、ポリゴンの光学的特性（テクスチャ画像の輝度分布等の光学的特性）を視点方向及び光源方向に応じて変化させることにより表現することができる。
【００３７】
テクスチャ画像の光学的特性を視点方向及び光源方向により変化させるためには、物体の表面（テクスチャ）を複数の視点方向及び複数の光源方向について撮像して得られる多数のテクスチャ画像（多視点／多光源テクスチャ画像）を予め用意しておく。そして、用意した複数枚の多視点／多光源テクスチャ画像を描画対象となる物体の表面に対する視点方向や光源方向に応じて貼りかえる。
【００３８】
しかし、視点方向と光源方向の組み合わせは無数にある。そのためにデータ量は莫大になる。この装置では、視点方向及び光源方向が異なる多数のテクスチャ画像を圧縮するのに好適な装置である。
【００３９】
（構成）図１は、本実施形態のテクスチャ画像圧縮装置の構成を説明する図である。
【００４０】
まず、概略構成を説明する。この装置は、多視点／多光源のテクスチャ画像を入力するテクスチャ画像入力部１０１と、入力された多視点／多光源テクスチャ画像を、輝度成分にあたる輝度マップと色成分にあたる光源非依存テクスチャ画像とに分離する分離部１０２とを備える。
【００４１】
さらに、光源非依存テクスチャ画像を圧縮して、光源非依存テクスチャ圧縮画像とそのコードブックである色成分変換テーブルとを生成する光源非依存テクスチャ圧縮部１０３を備える。尚、光源非依存テクスチャ圧縮部１０３における圧縮手法については後述する。
【００４２】
また、輝度マップを正規化して正規化輝度マップを生成するとともに、正規化に用いたパラメータ（後述）を画素値とする画像である輝度マップ補正画像とを生成する正規化部１０４と、輝度マップ補正画像を圧縮して、輝度マップ補正圧縮画像とそのコードブックである補正画像変換テーブルとを生成する輝度マップ補正画像圧縮部１０５と、正規化輝度マップを圧縮して、圧縮輝度マップとそのコードブックである代表輝度マップとを生成する輝度マップ圧縮部１０６とを備える。尚、輝度マップ補正画像圧縮部１０５及び輝度マップ圧縮部１０６における圧縮処理については後述する。
【００４３】
さらに、光源非依存テクスチャ圧縮画像と輝度マップ補正圧縮画像と圧縮輝度マップ画像と色成分変換テーブルと補正画像変換テーブルと代表輝度マップとを用いて圧縮テクスチャを生成する多重化部１０７と、圧縮テクスチャを出力する圧縮テクスチャ出力部１０８とを備える。
【００４４】
以下、各部について説明する。テクスチャ画像入力部１０１では入力された多視点／多光源テクスチャ画像を順次蓄積する。
【００４５】
多視点／多光源テクスチャ画像のそれぞれは、ある光源方向から光を照射した時に、ある視点方向から撮像して得た物体の画像を表している。各画像を構成する各画素は、例えば輝度値と色成分とを含んだデータとなっている。
【００４６】
分離部１０２では、まず、多視点／多光源テクスチャ画像のデータの並べ替えを行って並べ替えたテクスチャ画像を生成し、それから輝度成分にあたる輝度マップと色成分にあたる光源非依存テクスチャ画像とに分離する。
【００４７】
多視点／多光源テクスチャ画像のそれぞれは、視点方向と光源方向とが同一な画素の集まりとなっている。これを、視点方向と当該視点方向において同じ位置にある画素を集めるように並べ替えて、並べ替えたテクスチャ画像を生成する。従って、並べ替えたテクスチャ画像の枚数は、１枚のテクスチャ画像を構成する画素数と視点方向数との積に等しくなる。
【００４８】
そして、並べ替えたテクスチャ画像それぞれについて、それぞれを構成する各画素から輝度成分を分離して輝度マップを生成する。並べ替えたことにより、輝度マップのそれぞれは、光源方向を変えた場合の、ある視点方向・テクスチャ画像のある１点における輝度値の変化を表すマップとなっている。
【００４９】
一方、並べ替えた多視点／多光源テクスチャ画像のそれぞれから色成分のみを分離する。視点方向が変化しない場合、光源方向の変化に伴う多視点／多光源テクスチャ画像の各画素の色の変化は、各画素の輝度値が変化することによって発生する。すなわち、各画素の色成分は光源方向によって変化しない。
【００５０】
従って、輝度値とは異なり、ある視点方向・テクスチャ画像のある１画素における色成分は１つの値（もしくは１つのベクトル）である。そこで、視点方向が同じである色成分を集めて光源非依存テクスチャ画像を生成する。
【００５１】
光源非依存テクスチャ画像圧縮部１０３では、光源非依存テクスチャ画像をベクトル量子化により圧縮を行う。そして、光源非依存テクスチャ圧縮画像と、そのコードブックである色成分変換テーブルとを生成する。
【００５２】
正規化部１０４では、輝度マップの輝度値を正規化して輝度値の値域を揃える。そして、各輝度マップを正規化する際の変換パラメータを集めて画像として表現した、すなわち変換パラメータを画素値として持つ画像である、輝度マップ補正画像と、正規化輝度マップとを生成する。
【００５３】
輝度マップ補正画像圧縮部１０５では、輝度マップ補正画像をベクトル量子化により圧縮を行う。そして、輝度マップ補正圧縮画像と、そのコードブックである補正画像変換テーブルとを生成する。
【００５４】
輝度マップ圧縮部１０６では、正規化輝度マップを量子化して圧縮する。そして、圧縮輝度マップと、そのコードブックである代表輝度マップとを生成する。
【００５５】
多重化部１０７では、視点方向を同じくする光源非依存テクスチャ圧縮画像と、輝度マップ補正圧縮画像と、圧縮輝度マップとを、連結して圧縮テクスチャブロックを生成する。
【００５６】
そして、代表輝度マップと、補正画像変換テーブルと、色成分変換テーブルと、視点方向の数だけある圧縮テクスチャブロックとを連結して圧縮テクスチャを生成する。
【００５７】
圧縮テクスチャ出力部１０８では、生成された圧縮テクスチャを出力する。
【００５８】
図２は物体表面法線に対する視点方向およびに光源方向を表すパラメータについて説明する図である。
【００５９】
撮像物体表面の法線ベクトルを軸とし、撮像物体表面が赤道面（赤道を通る面）となる球極座標系を考える。この座標系において、極角θと方位角φとを用いると、入力データとして予め用意する多視点／多光源テクスチャ画像は、視点方向（θｅ，φｅ）、光源方向（θｉ，φｉ）の４パラメータで指定することができる。
【００６０】
そこで、本実施形態では、ある特定の光源方向から光を照射した時に、ある特定の視点方向から見たテクスチャを、Ｔ（θｅ，φｅ，θｉ，φｉ）というパラメータで識別する。
【００６１】
尚、本実施形態のテクスチャ圧縮装置は、コンピュータで動作させるプログラムとして実現される。すなわち、コンピュータに上述の各部の機能を実現させるテクスチャ圧縮プログラムである。尚、本装置の一部あるいは全部を半導体集積回路等のハードウエアとして実現しても良い。
【００６２】
図３は本実施形態のテクスチャ圧縮プログラムを動作させるコンピュータの概略構成を説明する図である。
【００６３】
このコンピュータは中央演算処理装置３０１と、本テクスチャ圧縮プログラム及び処理途中のデータの一時記憶を行うメモリ３０２と、本テクスチャ圧縮プログラム、圧縮前のデータや圧縮後のデータを格納する磁気ディスクドライブ３０３と、光ディスクドライブ３０４を備える。
【００６４】
また、ＬＣＤやＣＲＴ等の表示装置３０８と、表示装置３０８に画像信号を出力するインターフェースである画像出力部３０５と、キーボードやマウス等の入力装置３０９と、入力装置３０９からの入力信号を受けるインターフェースである入力受け付け部３０６とを備える。
【００６５】
また、この他に、外部装置との接続インターフェース（例えばＵＳＢ、ネットワークインターフェースなど）である出入力部３０７を備える。
【００６６】
本テクスチャ圧縮プログラムは予め磁気ディスクドライブ３０３に格納しておく。そして、テクスチャ圧縮を行う際に、磁気ディスクドライブ３０３から読み出されてメモリ３０２に展開され、中央演算処理装置３０１において実行される。
【００６７】
実行結果は磁気ディスクドライブ３０３に格納される。また、テクスチャ圧縮処理過程において利用者に処理状況等の情報を提示したり、あるいは何らかの入力を促すためのＧＵＩを適宜画像出力部３０５を介して表示装置３０８に表示させる。
【００６８】
尚、圧縮処理の結果生じるデータは、磁気ディスクドライブ３０３に格納するだけでなく、プロセス間通信の機能（共有メモリ、パイプ等）を用いて、圧縮データを利用する他のプログラムに出力しても良い。
【００６９】
また、本実施形態では、本テクスチャ圧縮プログラムは、コンピュータで動作しているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と協働して動作する。
【００７０】
（概略動作）本テクスチャ圧縮装置全体の処理の流れを図４に示す。
【００７１】
（ステップ４０１）輝度マップの生成と光源非依存テクスチャ画像の生成を行う。多視点／多光源テクスチャ画像それぞれを構成する各画素を、光源方向に依存して変化する輝度成分と、光源方向に依存しない色成分とに分離する。
【００７２】
そして、輝度成分を用いて各画素毎の、光源方向の変化に応じた輝度変化の様子を画像で表現した輝度マップを生成し、色成分から光源非依存テクスチャ画像を生成する。
【００７３】
本ステップにおける詳細な処理の流れについては後述する。ここでは大まかな処理の流れを説明する。
【００７４】
まず、多視点／多光源テクスチャ画像のデータを視点方向毎にまとめて並べ替える。図５は並べ替えの様子を説明する図である。
【００７５】
多視点／多光源テクスチャ画像５０１のそれぞれは、縦の画素数がＴｍａｘ＿ｖで、横の画素数がＴｍａｘ＿ｕの画像であるとする。また、各多視点／多光源テクスチャ画像を構成する各画素は、輝度値及び色成分のデータを保持している。
【００７６】
多視点／多光源テクスチャ画像５０１のそれぞれは、視点方向（θｅ，φｅ）と光源方向（θｉ，φｉ）とを用いて、Ｔ（θｅ，φｅ，θｉ，φｉ）という識別子で識別することができる。多視点／多光源テクスチャ画像それぞれを構成する画素（Ｘｎ，Ｙｍ）は、その視点方向かつ光源方向で撮像された場合における輝度値５０２と色成分５０３とを有する。
【００７７】
これを、１枚の画像が「１視点方向・テクスチャ画像上の１点」に対応するように並べ替える。すなわち、１枚の画像が、視点方向と多視点／多光源テクスチャ画像上での座標とが同一である画素の集まりになるように、並べ替える。
【００７８】
多視点／多光源テクスチャ画像５１１それぞれを構成する各画素は、視点方向と光源方向と当該画素が所属するテクスチャ画像上における座標とで識別することができる。従って、並べ替えたテクスチャ画像５１１上の各画素は１つの光源方向に対応する。
【００７９】
複数の並べ替えたテクスチャ画像５１１は視点方向（θｅ，φｅ）と画素位置（Ｘｎ，Ｙ｛ｍ｝）とで識別される。そして並べ替えたテクスチャ画像５１１それぞれは多数の光源方向に対応するデータを有する。すなわち、並べ替えたテクスチャ画像５１１上の各画素（Ｘｉ，Ｙｊ）は、ある特定の視点方向から見た、テクスチャ上のある特定の点であって、画素（Ｘｉ，Ｙｊ）に対応するある特定の光源方向の時の画素値として輝度値５１２と色成分５１３とを情報として持つ。
【００８０】
並べ替えたテクスチャ画像５１１は、テクスチャ上のある１点を、ある視点方向（θｅ，φｅ）から見た場合における、光源方向（θｉ，φｉ）の変化に伴う色や輝度の変化を表す画像になる。
【００８１】
尚、並べ替えたテクスチャ画像５１１上の各画素（Ｘｉ，Ｙｉ）と、光源方向（θｉ，φｉ）との関係は次式で表される。
Ｘｉ＝Ｔｍａｘ＿ｕ×（ｓｉｎθｉ）×（ｃｏｓφｉ）      （１）
Ｙｉ＝Ｔｍａｘ＿ｖ×（ｓｉｎθｉ）×（ｓｉｎφｉ）      （２）
尚、ここでは説明を簡単にするために「並べ替え」という言葉を用いているが、必ずしも実際にデータの並ぶ順番を入れ替える必要は無い。単にデータを参照する際の識別子の使用順序（もしくは、メモリ上のアドレス制御）を変えるだけであっても良い。
【００８２】
例えば、各データを参照する際に（θｉ，φｉ）→（θｅ，φｅ）→（Ｘｎ，Ｙｍ）の順番で識別子を用いて特定していたのを、（θｅ，φｅ）→（Ｘｎ，Ｙｍ）→（θｉ，φｉ）の順番で識別子を用いて特定するようにするだけでも良い。
【００８３】
次に、並べ替えたテクスチャ画像５１１を、輝度値５１２を含む輝度マップ５２１と、光源方向に依存しない色成分５１３を含む光源非依存テクスチャ画像５３１とに分離する。図６は、分離する様子を説明する図である。
【００８４】
並べ替えたテクスチャ画像５１１それぞれの各画素を輝度値の成分と色成分とに分離する。そして、輝度値を画素値として持つ画像と、色成分を画素値として持つ画像とを生成する。
【００８５】
このうち、輝度値を画素値として持つ画像が輝度マップ５２１である。輝度マップ５２１は、図５で得られた並べ替えたテクスチャ画像５１１及びそれぞれを構成する画素の輝度値５１２をそのまま用いることができる。
【００８６】
一方、色成分は、並べ替えたテクスチャ画像５１１の色成分５１３から求める。そして、求めたパラメータを視点方向毎に纏めたものが光源非依存テクスチャ画像５３１である。
【００８７】
一般に、テクスチャ画像上の各画素の色は、色成分と輝度値との積で再現される。そこで、色成分は様々な光源方向のうちで輝度値が最大の時の画素情報をもとに求めておく。すなわち、並べ替えたテクスチャ画像５１１の１枚１枚において、最も輝度値が高い点の色成分を、光源非依存テクスチャ画像５３１の各画素の画素値とする。
【００８８】
具体的に説明する。光源非依存テクスチャ画像５３１は一視点方向につき１枚生成する。すなわち、視点方向（θｅ，φｅ）で識別される。そして、各光源非依存テクスチャ画像５３１内の画素（Ｘｎ，Ｙｍ）の色成分５３２としては、座標（Ｘｎ，Ｙｍ）で識別される並べ替えたテクスチャ画像５１１のなかで、最大の輝度値５１２を持った座標（Ｘｉ，Ｙｊ）に対応する色成分５１３を検索し、これを割り当てる。
【００８９】
（ステップ４０２）輝度マップ５２１を量子化により圧縮して、圧縮輝度マップ５７１を生成する。
【００９０】
一般に、輝度マップ５２１における輝度値の値の分布は輝度マップの１枚１枚で様々に変化する。そこで、正規化によって、輝度値の値の分布（最大値、最小値、階調）を全ての輝度マップで揃える。正規化することで量子化の効率を向上させることができる。輝度値の値の分布を揃えるとともに、各輝度マップ毎に元の分布を再現するための補正パラメータを表す輝度マップ補正画像を求めておく。
【００９１】
図７は、量子化により圧縮する前に輝度マップ５２１を正規化して、正規化された正規化輝度マップ５４１と、輝度マップ補正画像５５１とを生成する様子を示した図である。
【００９２】
正規化輝度マップ５４１は、後述する輝度値の整形により求める。
【００９３】
輝度マップ補正画像５５１とは、輝度マップ５２１を正規化する時に求めるスケール５５２とバイアス５５３とを画素値とみなし、視点方向が同じであるものを、テクスチャ画像上の座標（Ｘｎ，Ｙｍ）の順番に従って並べた画像として求める。輝度マップ補正画像５５１は視点方向毎に生成する。また、スケール５５２及びバイアス５５３は、輝度マップ５２１を１枚毎に１組求める。
【００９４】
視点方向（θｅ，φｅ）に関する輝度マップ補正画像５５１上の点（Ｘｎ，Ｙｍ）は、（θｅ，φｅ，Ｘｎ，Ｙｍ）で識別される正規化輝度マップ５４１のバイアス５５２及びスケール５５３を画素値として持つ。すなわち、バイアス５５２及びスケール５５３も、輝度マップ５２１と同様に、視点方向（θｅ，φｅ）とテクスチャ上の点（Ｘｎ，Ｙｍ）とで識別することができる。
【００９５】
本実施形態では、正規化の方法として、輝度マップ５２１を構成する各画素毎の輝度値を整形する方法を用いる。
【００９６】
この方法について簡単に説明する。本実施形態では、輝度マップ５２１を構成する各画素の輝度値を１バイト（０〜２５５までの２５６段階）で正規化するものとする。一般に、視点方向を固定して光源方向のみを変えた時における、各画素の輝度値の値の分布は０〜２５５とは限らない。そこで、各画素について、輝度値の最大値を２５５に、最小値を０にするための変換を行う。
【００９７】
すなわち、ある画素の正規化前の輝度値をＩｏｒｉｇ、正規化前の輝度値の最大値及び最小値をＩｏｒｉｇ＿ｍａｘ、Ｉｏｒｉｇ＿ｍｉｎ、正規化後の輝度値をＩｎｏｒｍとした時に、Ｉｎｏｒｍ＝２５５×（Ｉｏｒｉｇ−Ｉｏｒｉｇ＿ｍｉｎ）／（Ｉｏｒｉｇ＿ｍａｘ−Ｉｏｒｉｇ＿ｍｉｎ）    （３）
という式で表される変換を行う。
【００９８】
上述の変換の際に、例えば、各画素毎の輝度値の最小値及び各画素毎の輝度値の最大値と最小値との差（値域）を求めておけば、各画素毎の正規化された輝度値から各画素毎の元の輝度値を復元することができる。すなわち、元の輝度マップを復元することができる。
【００９９】
本実施形態では、輝度マップ５２１それぞれにおける輝度値の最小値をバイアス５５２として、また、輝度マップ５２１それぞれにおける値域をスケール５５３として求める。そして、輝度マップ補正画像５５１の各画素の情報とする。
【０１００】
尚、正規化の方法としては、輝度マップ５２１を構成する画素の分布パターンを整形する方法も考えられる。
【０１０１】
この方法について簡単に説明する。この方法では、輝度マップ５２１それぞれの画素分布パターンを正規分布パターン（平均０、分散１の分布パターン）に近づける処理を行う。バイアス５５２及びスケール５５３は、輝度マップ５２１の画素分布の分散および平均を、それぞれ正規分布パターンから輝度マップ５２１の画素分布パターンへ補正するためのパラメータから求めることができる（あるいは、パラメータそのものをバイアス５５２、スケール５５３としても良い）。
【０１０２】
次に、正規化輝度マップ５４１を量子化により圧縮する。そして、インデックス５６２を含み量子化のコードブックに相当する複数の代表輝度マップ５６１と、圧縮輝度マップ５７１とを生成する。量子化の詳細な処理の流れは後述する。
【０１０３】
図８は、正規化輝度マップ５４１を量子化により圧縮して、代表輝度マップ５６１及びインデックス５６２と、圧縮輝度マップ５７１とを生成する様子を示した図である。
【０１０４】
量子化により、正規化輝度マップ５４１と同数の圧縮輝度マップ５７１と、正規化輝度マップ５４１より少ない枚数の代表輝度マップ５６１とが生成される。
【０１０５】
また、各代表輝度マップ５６１にはインデックス５６２と呼ばれる識別子を割り当てる。本実施形態ではインデックス５６２として番号を付与するが、その他の符号（例えば、可変長符号）を割り当てても良い。
【０１０６】
代表輝度マップ５６１とインデックス５６２との組み合わせは、一般の量子化における量子化コードブックに相当するものである。尚、以下の説明では代表輝度マップ５６１にはインデックス５６２が含まれているものとする。
【０１０７】
代表輝度マップ５６１を構成する各画素の画素値は正規化された輝度値である。
【０１０８】
量子化により、正規化輝度マップ５４１のそれぞれは、インデックス５６２のうちのいずれかに置換され、輝度マップインデックス５７２となる。
【０１０９】
正規化輝度マップ５４１のそれぞれは視点方向とテクスチャ画像上の１点に対応しているので、正規化輝度マップ５４１それぞれに対応する輝度マップインデックス５７２を視点方向毎に集めると、輝度マップインデックス５７２を画素値に持つ画像を作ることができる。この画像が圧縮輝度マップ５７１である。
【０１１０】
（ステップ４０３）光源非依存テクスチャ画像５３１および輝度マップ補正画像５５１を圧縮する。
【０１１１】
まず、ステップ４０２で求まった輝度マップ補正画像５５１のそれぞれを、画素値としてバイアス５５２を持った画像と画素値としてスケール５５３を持った画像とに分けて扱う。また、ステップ４０１で求めた光源非依存テクスチャ画像５３１のそれぞれも同様に、画素値として色成分５０３を持つ画像とみなす。
【０１１２】
そして、これら３種類の画像それぞれをベクトル量子化を行って圧縮する。図９は、ベクトル量子化の手法を用いて、光源非依存テクスチャ画像５３１から光源非依存テクスチャ圧縮画像５８１を生成する様子と、輝度マップ補正画像５５１をバイアス５５２に関してベクトル量子化して輝度マップ補正圧縮画像５８４−１を生成する様子と、輝度マップ補正画像５５１をスケール５５３に関してベクトル量子化して輝度マップ補正圧縮画像５８４−２を生成する様子とを説明する図である。
【０１１３】
さらに、光源非依存テクスチャ画像５３１の色成分に関するインデックス変換テーブル５８３と、輝度マップ補正画像５５１のバイアス５５２及びスケール５５３に関するインデックス変換テーブル５８７、５８８とが生成される。
【０１１４】
バイアス５５２及びスケール５５３に関するインデックス変換テーブル５８７、５８８は、上述した補正画像変換テーブルに相当する。
【０１１５】
本ステップにおけるベクトル量子化の詳細な処理の流れについては後述する。
【０１１６】
尚、本実施形態では、バイアス・スケール・色成分とを分離してベクトル量子化しているが、これらの一部若しくは全てをまとめてベクトル量子化しても良い。
【０１１７】
（ステップ４０４）圧縮テクスチャブロック５９１を生成する。
【０１１８】
圧縮輝度マップ５７１と光源非依存テクスチャ圧縮画像５８１と輝度マップ補正圧縮画像５８４−１及び５８４−２とを視点方向毎に連結して圧縮テクスチャブロック５９１を生成する。
【０１１９】
使用目的が同じものは、纏めておくのが望ましいと考えられる。そこで、本実施形態では、圧縮輝度マップ５７１・輝度マップ補正圧縮画像５８４−１・５８４−２・光源非依存テクスチャ圧縮画像５８１の順に連結する。ただし、この順番に限らず、他の順番で連結しても良い。
【０１２０】
図１０は圧縮テクスチャブロック５９１を生成する様子を示した図である。圧縮輝度マップ５７１、光源非依存テクスチャ圧縮画像５８１、輝度マップ補正圧縮画像５８４−１及び５８４−２は、いずれも視点方向毎に１つ存在するので、これらを連結した圧縮テクスチャブロック５９１も視点方向毎に１つ生成されることになる。
【０１２１】
（ステップ４０５）圧縮テクスチャ１１００を生成する。
【０１２２】
圧縮テクスチャブロック５９１と、代表輝度マップ５６１と、色成分に関するインデックス変換テーブル５８３と、バイアス５５２に関するインデックス変換テーブル５８７と、スケール５５３に関するインデックス変換テーブル５８８とを連結して、圧縮テクスチャ１１００を生成する。
【０１２３】
図１１は圧縮テクスチャ１１００の構成例を説明する図である。圧縮テクスチャ１１００は、ステップ４０２で生成された代表輝度マップ５６１に対応する代表輝度マップ１１０１と、ステップ４０３で生成された色成分に関するインデックス変換コード５８３である変換テーブル１１０２と、ステップ４０３で生成されたスケールに関するインデックス変換コード５８７及びバイアスに関するインデックス変換コード５８８を含んだ変換テーブル１１０３と、ステップ４０４で生成された圧縮テクスチャブロック５９１に対応する視点毎の圧縮テクスチャブロック１１０４、１１０５、１１０６とを含む。
【０１２４】
圧縮テクスチャ１１００をこのような構成にすることで、ある特定の視点方向に関するテクスチャのみを抽出する際に便利である。
【０１２５】
例えば、特定の視点方向のテクスチャ画像を抽出したい場合には、代表輝度マップ１１０１と、色成分の変換テーブル１１０２と、スケール・バイアスに関する変換テーブル１１０３と、前述の所望の視点方向に関する圧縮テクスチャブロックを使って抽出することができる。
【０１２６】
すなわち、圧縮テクスチャブロック５９１は、抽出したい視点方向のものだけが必要となる。従って、例えばコンピュータで処理を行う場合には、圧縮テクスチャのうち必要な部分だけをメモリに読み込んで必要とする視点方向・光源方向についてのテクスチャ画像の抽出処理を行うことが可能である。すなわち、少ないメモリでも抽出処理を行うことが可能となる。
【０１２７】
（動作の詳細）以下、図面を参照しながら、上述した各ステップに関して詳しく説明を行う。
【０１２８】
（ステップ４０１の詳細）図１２は上述のステップ４０１で行われる、多視点／多光源のテクスチャ画像５０１から、輝度マップ５２１と光源非依存テクスチャ画像５３１とを生成する処理の流れを説明する図である。
【０１２９】
（ステップ１２０１）多視点／多光源方向で取得したテクスチャ画像の中から、どの視点方向のテクスチャ画像に注目するか、すなわち視点方向（θｅ、φｅ）を設定する。このステップは、テクスチャ画像の視点方向を変化させながら処理を反復するループ処理の開始点である。
【０１３０】
一般に、物体を異なる視点方向から見ると異なる形状に見える。すなわち、視点方向が異なると物体表面のテクスチャ成分そのものが異なってしまう可能性がある。しかし、物体を同じ視点方向から見ている場合は、光源方向が変わっても形状は変化しない。すなわち、視点方向が同じで光源方向が異なる場合、物体表面のテクスチャ成分は同じで、輝度成分のみが変化する。
【０１３１】
上述の性質があるため、視点方向が同じで光源方向が異なる複数のテクスチャ画像を用いると、テクスチャ画像から光源に依存する成分を分離するのに都合が良い。
【０１３２】
尚、視点方向の設定は、極角θと方位角φとを指定することで行う。例えば、多視点／多光源テクスチャ画像が、視点に関して、極角θ、方位角φそれぞれについて１０度刻みで（θ＝０〜９０度、φ＝０〜３５０度）で撮像されている場合、視点方向は（θｅ、φｅ）＝（１０、２０）という具合に指定する。
【０１３３】
（ステップ１２０２）テクスチャ画像上の各画素（ピクセル）を参照する際に用いる座標系であるピクセル参照座標を設定する。
【０１３４】
このステップは、テクスチャ画像上の各画素の座標を変化させながら処理を反復するループ処理の開始点である。
【０１３５】
輝度マップを生成する際には、テクスチャ画像上の各画素を参照して行う。そこで、各画素を指定するための座標系を設定する。本実施形態では、テクスチャ画像の横軸をＸ軸、縦軸をＹ軸とし、各画素は２次元の座標（Ｘ，Ｙ）で指定する。
【０１３６】
（ステップ１２０３）どの光源方向のテクスチャ画像に注目するか、すなわち光源方向（θｉ、φｉ）を設定する。
【０１３７】
このステップは、テクスチャ画像の光源方向を変化させながら処理を反復するループ処理の開始点である。
【０１３８】
光源方向の設定は、ステップ１２０１で視点方向を設定したのと同様にして行う。例えば、多視点／多光源テクスチャ画像が、光源に関して、極角θ、方位角φそれぞれについて１０度刻みで（θ＝０〜９０度、φ＝０〜３５０度）で撮像されている場合、光源方向は（θｉ、φｉ）＝（６０、４０）という具合に指定する。
【０１３９】
（ステップ１２０４）ステップ１２０１で設定した視点方向（θｅ、φｅ）及びステップ１２０３で設定した光源方向（θｉ、φｉ）に対応するテクスチャ画像Ｔ（θｅ，φｅ，θｉ，φｉ）上で、ステップ１４０２で設定した座標（Ｘ，Ｙ）に対応する位置にある画素の画素値を取得する。
【０１４０】
（ステップ１２０５）ステップ１２０４で取得した画素値を、並べ替えたテクスチャ画像（上述の、並べ替えたテクスチャ画像５１１）に登録する。
【０１４１】
並べ替えたテクスチャ画像は、１視点方向・テクスチャ画像上の１画素毎に１枚生成する。図１３（Ａ）は、並べ替えたテクスチャ画像上の各画素の座標と光源方向との関係を表す図である。並べ替えたテクスチャ画像上の座標系は「並べ替えたテクスチャ画像」と同じで、並べ替えたテクスチャ画像上の各画素の座標と光源方向とが対応しており、その関係は上述の（１）式及び（２）式に示した通りである。
【０１４２】
図１３（Ｂ）は並べ替えたテクスチャの座標系を説明する図である。ステップ１２０４で取得した画素値を、視点方向（θｅ、φｅ）に対応する並べ替えたテクスチャ画像上の、光源方向（θｉ、φｉ）に対応する点である（Ｘｉ，Ｙｉ）に登録する。
【０１４３】
（ステップ１２０６）このステップは、ステップ１２０３を開始点とするループ処理の終了点である。ステップ１２０４からステップ１２０５までの処理が全ての光源方向について終了したかの判定を行う。
【０１４４】
全ての光源方向についての処理が終了していない場合は、ステップ１２０３から光源方向を変えて処理を行う。終了した場合は次のステップへ進む。
【０１４５】
ステップ１２０４からステップ１２０５までの処理が全ての光源方向について終了すると、並べ替えたテクスチャ画像が１枚完成する。
【０１４６】
（ステップ１２０７）並べ替えたテクスチャ画像を用いて、テクスチャ画像上のある画素（Ｘｎ、Ｙｍ）に関して輝度マップを生成する。
【０１４７】
並べ替えたテクスチャ画像の、各画素の情報を輝度値と色成分とに分離して、輝度値を持った画像と色成分を持った画像とに分ける。ここで得られる輝度値を持った画像が、特定１画素（Ｘｎ、Ｙｍ）についての輝度マップである。
【０１４８】
図１３（Ｃ）は輝度マップの一例である。図１３（Ｂ）の並べ替えたテクスチャ画像から輝度値を分離して生成されたものである。
【０１４９】
（ステップ１２０８）光源非依存テクスチャ画像に、特定１画素（Ｘｎ、Ｙｍ）の色成分を登録する。
【０１５０】
並べ替えたテクスチャ画像（θｅ、φｅ、Ｘｎ、Ｙｍ）の各画素の色は、色成分に輝度情報を掛け合わせて復元できるようにする。
【０１５１】
そこで、光源非依存テクスチャ画像に登録する色成分を次のようにして求める。上述の特定１画素（Ｘｎ、Ｙｍ）についての輝度マップにおいて、輝度値が最大となる点の座標を求める。色成分を持った画像において、この点と同じ座標の点の色成分が、登録する色成分である。
【０１５２】
図１３（Ｄ）は、光源非依存テクスチャ画像にテクスチャ画像上の特定１画素（Ｘｎ、Ｙｍ）の色成分を登録する様子を表した図である。光源非依存テクスチャ画像の座標系はテクスチャ画像の座標系と同一であり、横軸をＸ軸、縦軸をＹ軸とする座標系である。
【０１５３】
（ステップ１２０９）ステップ１２０２からステップ１２０８までの処理が、テクスチャ画像の全ての画素について終了したかの判定を行う。
【０１５４】
終了していない場合は、ステップ１２０２に戻り、次の画素について輝度マップの生成と、光源非依存テクスチャ画像への色成分の登録とを行う。終了した場合は、次のステップの処理を行う。
【０１５５】
このステップが終了した段階で、特定の視点方向に関する並べ替えた輝度マップ及び光源非依存テクスチャ画像の生成が完了する。
【０１５６】
（ステップ１２１０）ステップ１２０１からステップ１２０９までの処理が全ての視点方向について終了したかの判定を行う。
【０１５７】
全ての視点方向について処理が終了していない場合は、ステップ１２０１に戻り、視点方向を変えて輝度マップの生成と光源非依存テクスチャ画像の生成とを繰り返す。このステップが終了した段階で、全ての視点方向について輝度マップ及び光源非依存テクスチャ画像の生成が完了する。
【０１５８】
尚、光源方向の方位角φｉの基準軸（φｉ＝０となる線）については、図１４（Ａ）に示すように撮像物体に貼り付けるテクスチャの座標系を基にした基準軸を用いるとアルゴリズムは簡単になる。しかし、圧縮効率を高めるには、図１４（Ｃ）に示すように、視点方向を撮像物体表面に投影して得られる基準軸を用いると良い。
【０１５９】
すなわち、光源方向の基準軸を視点方向に基づいて決定すると圧縮効率を高める上で良い。本実施形態では、光源方向の基準軸を視点方向に基づいて決定する。
【０１６０】
図１４（Ｂ）は方位角φｉの基準軸が固定の場合の並べ替えたテクスチャ画像である。一方、図１４（Ｄ）は方位角φｉの基準軸が視点方向に依存している場合の並べ替えたテクスチャ画像である。図１４（Ｂ）と（Ｄ）とでは方位角φｉの基準軸が異なるため、同じ光源方向に対応する点は並べ替えたテクスチャ画像上の異なる位置になる。
【０１６１】
（ステップ４０２の詳細）図１５は上述のステップ４０２で行われる、輝度マップの量子化処理の流れを説明する図である。特に、代表輝度マップを求める処理について説明している。尚、図１５には正規化処理以降の処理について記載されている。
【０１６２】
量子化処理は大きく２つの処理に分けられる。まず視点方向を同じくする輝度マップ間で量子化を行う（ステップ１５０１〜ステップ１５０９）。それから視点方向が異なる場合についての量子化処理を行う（ステップ１５１０〜ステップ１５１５）。
【０１６３】
（ステップ１５０１）どの視点方向の輝度マップに注目するか、すなわち視点方向（θｅ、φｅ）を設定する。このステップは、視点方向を同じくする輝度マップ間での量子化処理の開始点となる。
【０１６４】
（ステップ１５０２）ステップ１５０１で設定した視点方向に該当する全ての輝度マップに注目する。ここで注目している輝度マップを、以下、クラスタリング対象輝度マップと呼ぶ。
【０１６５】
（ステップ１５０３）クラスタリング対象輝度マップを用いて複数枚の代表マップを求める。ここで設定する代表マップには、全クラスタリング対象輝度マップの平均値から求めたものと、平均値から所定のズレ（標準偏差に基づくズレ）を持たせたものとを用いる。
【０１６６】
（ステップ１５０４）クラスタリング対象輝度マップのそれぞれについて、ステップ１５０３で設定した、どの代表マップに最も類似するかを求める。そして、クラスタリング対象輝度マップを、最も類似する代表マップ毎に分類する。以下、この分類を「クラスタ」と呼び、各クラスタリング対象輝度マップは、それぞれが分類された「クラスタ」に所属する、と表現する。
【０１６７】
所属するクラスタを求めるにあたっては、クラスタリング対象代表輝度マップそれぞれと、各代表マップとの間で類似度を求める。そして、最も類似する代表マップで識別されるクラスタを、当該クラスタリング対象輝度マップの所属クラスタとする。類似度は、各画素の画素値の２乗誤差累積を求めることにより算出する。
【０１６８】
尚、類似度の算出にあたっては、各画素の画素値をベクトルの成分と見立ててマップ間（クラスタリング対象輝度マップと代表マップとの間）でのベクトル相関値を計算しても良い。
【０１６９】
（ステップ１５０５）各クラスタ毎に、クラスタリング対象輝度マップの平均を求める。そして平均から輝度マップを生成する。ここで生成した輝度マップを当該クラスタの新規代表マップとする。
【０１７０】
（ステップ１５０６）各クラスタ毎に、新規代表マップと各クラスタリング対象輝度マップとの誤差を求める。誤差の計算には、上述の類似度の計算と同様に２乗誤差累積を用いる。
【０１７１】
（ステップ１５０７）誤差が所定の閾値以内に収束したかを判定する。収束していない場合は、ステップ１５０５で求めた新規代表マップを代表マップとして、ステップ１５０４から処理を行う。収束した場合は次のステップの処理を行う。
【０１７２】
（ステップ１５０８）最終的に求まった代表マップをメモリ上に記憶しておく。また、各クラスタリング対象輝度マップがどのクラスタに所属するかもメモリ上に記憶しておく。
【０１７３】
（ステップ１５０９）全ての視点方向について処理が終わったかを判定する。終わっていない場合は、次の視点方向についてステップ１５０１から処理を行う。
【０１７４】
終わった場合は、視点方向を同じくする輝度マップ間での量子化処理が終了したことになるので、次のステップの処理を行う。
【０１７５】
（ステップ１５１０）全ての視点方向について求めた代表マップを、クラスタリング対象代表マップとして注目する。
【０１７６】
（ステップ１５１１）クラスタリング対象代表マップを用いて、ステップ１５０３と同様にして、クラスタリング対象代表マップの代表マップを複数枚求める。以下、クラスタリング対象代表マップの代表マップを「大代表マップ」と呼ぶ。
【０１７７】
（ステップ１５１２）クラスタリング対象代表マップのそれぞれについて、ステップ１５１１で求めた大代表マップのいずれに最も類似するかを求める。求め方はステップ１５０４と同様に行う。そして、各クラスタリング対象代表マップを、最も類似する大代表マップ毎に分類する。
【０１７８】
以下、この分類を「大クラスタ」と呼ぶとともに、クラスタリング対象代表マップは、それぞれが分類された「大クラスタ」に所属する、と表現する。
【０１７９】
（ステップ１５１３）ステップ１５０５と同様にして、各大クラスタ毎にクラスタリング対象代表輝度マップの平均を求める。そして平均から輝度マップを生成する。ここで生成した輝度マップを当該大クラスタの新代表マップとする。
【０１８０】
（ステップ１５１４）ステップ１５０６と同様にして、各大クラスタ毎に新代表マップと各クラスタリング対象代表マップとの誤差を求める。
【０１８１】
（ステップ１５１５）ステップ１５１４で求めた誤差が所定の閾値以内に収束しているかを判定する。収束していない場合は、ステップ１５１３で求めた新代表マップを大代表マップとして、ステップ１５１２から処理を行う。
【０１８２】
収束した場合は、ステップ１５１３で求めた新代表マップを量子化の結果生成された代表輝度マップとするとともに、各代表輝度マップに識別子（インデックス）を割り当てる。
【０１８３】
また、量子化の過程で輝度マップそれぞれが、どの代表輝度マップで識別されるクラスタに所属するかが求まっている。そこで、輝度マップそれぞれを、それぞれが所属するクラスタに対応する代表輝度マップのインデックスで置換する。すると、輝度マップ（輝度値の集まり）が、わずか１つのインデックスで表現できる。すなわち、インデックスで置換することにより、データを圧縮することができる。
【０１８４】
各輝度マップを表すインデックスを、視点方向を同一にするもの毎にまとめ、各インデックスを画素値とみなして画像を生成する。すると、図８の圧縮輝度マップ５７１になる。
【０１８５】
（ステップ４０３の詳細）上述のステップ４０３で行われる、光源非依存テクスチャ画像５３１及び輝度マップ補正画像５５１のベクトル量子化処理について説明する。
【０１８６】
図９に示すように、光源非依存テクスチャ画像５３１及び輝度マップ補正画像５５１のそれぞれは１つの視点方向に対応しており、各画素はテクスチャ画像上の点に対応する。
【０１８７】
光源非依存テクスチャ画像５３１及び輝度マップ補正画像５５１のそれぞれを画像とみなして、画像圧縮の手法を応用してデータ圧縮を行う。本実施形態では、データ圧縮の手法としてベクトル量子化の手法を用いる。
【０１８８】
尚、前述したように、本実施形態では、光源非依存テクスチャ画像５３１の色成分５０２と、輝度マップ補正画像５５１のバイアス５５２と、輝度マップ補正画像５５１のスケール５５３との、それぞれについてベクトル量子化を行うこととする。
【０１８９】
図１６は、光源非依存テクスチャ画像５３１及び輝度マップ補正画像５５１のベクトル量子化処理の流れを説明する図である。ここでは代表して、光源非依存テクスチャ画像５３１の色成分５０２を例に説明を行う。
【０１９０】
（ステップ１６０１）初期代表ベクトルを設定する。
【０１９１】
まず、各画像において、４画素×４画素を１ブロックとしてベクトルを構成する。例えば、ＲＧＢカラー画像ならば、４画素×４画素×３次元（Ｒ・Ｇ・Ｂ）＝４８次元のベクトル情報となる。
【０１９２】
これらのベクトルを用いて、複数の代表ベクトルを生成する。本ステップでの代表ベクトルの生成手法は任意で構わないが、本実施形態では、全ベクトルの平均と、そこから所定のズレ（標準偏差に基づくズレ）を持たせたものを生成する。
【０１９３】
（ステップ１６０２）各ベクトルの所属クラスタを求める。
【０１９４】
各ベクトルについて、どの代表ベクトルに最も類似するかを調べる。ユークリッド距離が最も近い代表ベクトルを、最も類似する代表ベクトルとする。
【０１９５】
そして、各ベクトルを、最も類似する代表ベクトル毎に分類する。以下、この分類を「クラスタ」と呼ぶとともに、各ベクトルはそれぞれが分類された「クラスタ」に所属する、と表現する。
【０１９６】
（ステップ１６０３）各クラスタ毎に、所属するベクトルの平均を求める。平均のベクトルを、当該クラスタの新規な代表ベクトルとする。
【０１９７】
（ステップ１６０４）各クラスタ毎に、ステップ１６０３で求めた新規な代表ベクトルと、当該クラスタに所属する各ベクトルとの誤差を算出する。
【０１９８】
（ステップ１６０５）ステップ１６０４で算出した誤差が、所定の閾値以下に収束したか判定する。収束していない場合は、ステップ１６０３で求めた新規な代表ベクトルを代表ベクトルとして、ステップ１６０２以降の処理を行う。
【０１９９】
収束した場合は、各クラスタに識別子（インデックス）を付与するとともに、各クラスタの代表ベクトルとインデックスとの関係を表すインデックス変換コードを生成する。さらに、各ベクトルを所属するクラスタのインデックスで置換する。これによりデータを圧縮することができる。
【０２００】
（本実施形態の効果）以上に説明したように、本実施形態のテクスチャ圧縮装置を用いれば、大量のテクスチャ画像のデータを効率よく蓄積することができる。
【０２０１】
このことを具体的な例を挙げて示す。例えば、次のようなテクスチャ画像を扱うとする。
・画像のサイズは２５６画素×２５６画素
・各画素のデータはＲＧＢ各１Ｂｙｔｅずつの計３Ｂｙｔｅ
このようなテクスチャ画像を、光源方向サンプル数２８８サンプル（θ方向３６サンプル、φ方向８サンプル）、同じく視点方向サンプル数２８８サンプル（θ方向３６サンプル、φ方向８サンプル）取得する。テクスチャ総データ量は、（２５６×２５６）×３×（３６×８）×（３６×８）＝１６．３ＧＢｙｔｅになる。
【０２０２】
これを、本実施形態のテクスチャ圧縮装置を用いて圧縮する。光源非依存なテクスチャ画像を、量子化精度１６ｂｉｔ、ベクトル量子化のブロックサイズは４画素×４画素の条件で圧縮する。データ量は、変換テーブル（色成分、スケール、バイアス）に関しては、６５５３６×４×４×（３＋２）＝５．２ＭＢｙｔｅとなり、インデックスで表現されたテクスチャで（（２５６／４）×（２５６／４））×（３６×８）ｘ２ｘ３＝７．２ＭＢｙｔｅとなる。
【０２０３】
次に、輝度マップに関して考える。一般に画像内における輝度の変化は色成分に比べて緩やかであるので、輝度マップは画像よりも少ない画素で表現することが多い。ここでは、輝度マップのサイズを６４画素×６４画素とする。
【０２０４】
また、輝度値は１Ｂｙｔｅで表わす。そして、代表輝度マップは２５６枚（１Ｂｙｔｅで表現可能な最大数）生成する。
【０２０５】
以上の条件で輝度マップを圧縮する。データ量は、代表輝度マップで（６４×６４）×１×２５６＝１ＭＢｙｔｅとなり、量子化された輝度マップで（２５６×２５６）×１×（３６×８）＝１９ＭＢｙｔｅとなる。
【０２０６】
従って、圧縮テクスチャのデータ量は総計３３ＭＢｙｔｅ程度で済む。圧縮前は１６．３ＧＢｙｔｅであったのが３３ＭＢｙｔｅ程度まで圧縮されている。
【０２０７】
また、輝度マップの圧縮を代表輝度マップを用いて行っているので、圧縮テクスチャから所望の視点方向及び所望の光源方向に対応するテクスチャ画像を抽出する際に、圧縮テクスチャの一部のデータがあれば良い。これにより、視点方向や光源方向が変化した際に、圧縮テクスチャのうち注目しなおすデータ量が少なくて済む。すなわち、テクスチャ画像に対するランダムアクセス性能に優れている。
【０２０８】
（第２の実施形態）以下、図面を参照して本発明の第２の実施形態について説明する。
【０２０９】
本実施形態はテクスチャ抽出装置であり、第１の実施形態のテクスチャ圧縮装置によって生成された圧縮テクスチャから、所望の視点方向及び所望の光源方向におけるテクスチャ画像を抽出するのに好適な装置である。
【０２１０】
すなわち、本実施形態のテクスチャ抽出装置は、図１１に示したデータ構造を持った圧縮テクスチャ（代表輝度マップ１１０１と変換テーブル１１０２及び１１０３と、圧縮テクスチャブロック１１０４〜１１０６とを含む）から、所望の視点方向及び所望の光源方向におけるテクスチャ画像を抽出する装置である。
【０２１１】
尚、第１の実施形態のテクスチャ圧縮装置と同様、本実施形態のテクスチャ抽出装置もコンピュータ上で動作するプログラムとして構成されるものとするが、本装置の構成の一部ないし全部を半導体集積回路等のハードウエアで実現しても構わない。
【０２１２】
（構成）図１７は、本実施形態のテクスチャ抽出装置の構成を説明する図である。
【０２１３】
本テクスチャ抽出装置は、以下の構成を備える。
・圧縮テクスチャを入力する圧縮テクスチャ入力部１７０１。
・抽出すべきテクスチャの視点方向を入力する視点方向入力部１７０２。
・抽出すべきテクスチャの光源方向を入力する光源方向入力部１７０３。
【０２１４】
・入力された圧縮テクスチャから代表輝度マップを取得して輝度成分算出部１７０７に出力するとともに、入力された圧縮テクスチャから色成分、スケール、バイアス等の変換テーブルを抽出して光源非依存テクスチャ画像生成部１７０６に出力する変換テーブル抽出部１７０４。
・入力された圧縮テクスチャの中から、入力された視点方向に対応する圧縮テクスチャブロックを抽出し、抽出した圧縮テクスチャブロックのうち、圧縮輝度マップを輝度成分算出部１７０７に出力するとともに、光源非依存テクスチャ圧縮画像を光源非依存テクスチャ画像生成部１７０６に出力するデータ抽出部１７０５。
【０２１５】
・色成分、スケール、バイアス等の変換テーブルを用いて、光源非依存テクスチャ圧縮画像から、光源非依存テクスチャ画像と輝度マップ補正画像とを抽出する光源非依存テクスチャ画像抽出部１７０６。
・代表輝度マップと輝度マップ補正画像と入力された光源方向とを用いて、圧縮輝度マップから、特定の視点方向・特定の光源方向における輝度成分を算出する輝度成分算出部１７０７。
・算出された輝度成分と生成された圧縮輝度マップとを用いてテクスチャ画像を求めるテクスチャ画像生成部１７０８。
・生成されたテクスチャ画像を出力するテクスチャ画像出力部１７０９。
【０２１６】
（動作）以下、図１８を用いて本実施形態のテクスチャ抽出装置における抽出処理の流れを説明する。
【０２１７】
（ステップ１８０１）入力された圧縮テクスチャから、代表輝度マップと色成分・スケール・バイアスの変換テーブルを抽出する。
【０２１８】
第１の実施形態のテクスチャ圧縮装置で説明したように、圧縮テクスチャ内特定位置（図１１）に格納された代表輝度マップ、およびに光源非依存テクスチャ画像および輝度マップ補正画像の抽出に必要な変換テーブルを取得する。
【０２１９】
（ステップ１８０２）入力された圧縮テクスチャから、入力された視点方向に対応する圧縮テクスチャブロックを抽出する。
【０２２０】
描画時に必要な視点方向は、図１９に示すように描画対象平面の法線を中心とした３次元相対座標系を定義し、この座標系における極座標系（θｅ，φｅ）で表現する。このようにして表現された視点方向を用いて抽出に必要な圧縮テクスチャブロックを取得する。
【０２２１】
また、光源方向の基準軸（φｅ＝０となる軸）は第１の実施形態と同様φｅを基準に定義する。すなわち、光源方向の基準軸を視点方向に応じて変化させる。
【０２２２】
図１１に示したように、圧縮テクスチャ内において、圧縮テクスチャブロックは視点方向毎にブロック化されているので、視点方向毎にテクスチャ・ブロックを取り出す。尚、さらに抽出したい画素を含む小さいブロック単位で取り出してもよい。
【０２２３】
（ステップ１８０３）圧縮テクスチャブロックから、圧縮輝度マップと光源非依存テクスチャ圧縮画像とを抽出する。
【０２２４】
（ステップ１８０４）色成分の変換テーブルを用いて、光源非依存テクスチャ圧縮画像から、光源非依存テクスチャ画像を抽出する。
【０２２５】
光源非依存テクスチャ圧縮画像はベクトル量子化されている。そのため、各画素の画素値はインデックスになっている。インデックスは変換テーブルを用いることで元の（ベクトル量子化前の）値に変換することができる。
【０２２６】
そこで、光源非依存テクスチャ圧縮画像に対して色成分の変換テーブルを用いて、各画素の情報を変換テーブルの値で置換していくことにより光源非依存テクスチャ画像を抽出することができる。
【０２２７】
（ステップ１８０５）スケール及びバイアスの変換テーブルを用いて、光源非依存テクスチャ圧縮画像から、輝度マップ補正画像を抽出する。
【０２２８】
ステップ１８０４で光源非依存テクスチャ画像を抽出したのと同様にして、光源非依存テクスチャ圧縮画像のうち輝度マップ補正画像に対応するデータに対して、スケール及びバイアスの変換テーブルを用いた置換を行う。こうすることで輝度マップ補正画像を抽出することができる。
【０２２９】
第１の実施形態において説明したように、代表輝度マップの各画素の輝度値は、本来の画素値に対して前述した正規化処理によって変換された値である。これを、元の値に補正するためのパラメータの集まりが輝度マップ補正画像である。輝度マップ補正画像の各画素は、補正のためのパラメータである、バイアスとスケールとを持つ。このステップではこれらのパラメータを取得するための処理を行っている。
【０２３０】
光源非依存テクスチャ圧縮画像はベクトル量子化されているので、ベクトル量子化のインデックス情報であるスケール及びバイアスの変換テーブルを用いて、輝度マップ補正画像を抽出している。
【０２３１】
（ステップ１８０６）入力された光源方向と、抽出された代表輝度マップと、圧縮輝度マップとを用いて、正規化された輝度成分を算出する。
【０２３２】
正規化された輝度成分を算出するには、まず、圧縮輝度マップの各点の画素値を取得する。当該画素値をインデックスに持つ代表輝度マップに着目する。そして、この代表輝度マップ上で、入力された光源方向に対応する点の画素値を取得すればよい。
【０２３３】
なぜならば、前述したように圧縮輝度マップの各点の画素値は、代表輝度マップを指定するインデックスとなっている。また、代表輝度マップ上で、光源方向に対応する点の輝度値が、テクスチャ画像のある１点の正規化された輝度値となっているからである。
【０２３４】
この処理をテクスチャ画像上の全ての点に関して行うと、ある視点方向・ある光源方向におけるテクスチャ画像全体の正規化された輝度値が得られる。
【０２３５】
尚、代表輝度マップ上の各点と光源方向との対応関係は上述の式（１）（２）で表される。
【０２３６】
（ステップ１８０７）ステップ１８０５で抽出して得られた輝度マップ補正画像を用いて、算出された輝度成分を補正する。
【０２３７】
各画素の輝度値が、前述の式（３）を用いて１バイト（０〜２５５までの２５６段階）に正規化されている場合、ある画素の補正前の輝度値をＩｎｏｒｍ、スケールをＳｃａｌｅ、バイアスをＢｉａｓと表現すると、補正後の輝度成分Ｉｏｒｉｇの算出式は以下のようになる。
Ｉｏｒｉｇ＝（Ｉｎｏｒｍ×Ｓｃａｌｅ／２５５）＋Ｂｉａｓ      （４）
（ステップ１８０８）抽出して得られた光源非依存テクスチャ画像と補正された輝度成分とを用いて、テクスチャ画像を生成する。
【０２３８】
光源非依存テクスチャ画像の各点の画素値に、対応する点の輝度成分を掛け合わせることで、通常の画素値を持ったカラー画像を生成することができる。
【０２３９】
（まとめ）以上に説明したように、本実施形態のテクスチャ抽出装置を用いれば、圧縮テクスチャから、所望の視点方向、所望の光源方向におけるテクスチャ画像を抽出することができる。
【０２４０】
【発明の効果】
本発明によれば、視点方向及び光源方向によって変化するテクスチャ画像を圧縮し、少ないデータ量で保持できる。また、圧縮したテクスチャ画像のデータから、所望の視点方向、所望の光源方向におけるテクスチャ画像を容易に抽出することができる。
【図面の簡単な説明】
【図１】第１の実施形態のテクスチャ圧縮装置の構成を説明する図。
【図２】物体表面法線に対する視点方向およびに光源方向を表すパラメータについて説明する図。
【図３】コンピュータの概略構成を説明する図である。
【図４】第１の実施形態のテクスチャ圧縮装置の動作を説明する図。
【図５】多視点／多光源テクスチャ画像の並べ替えの様子を説明する図。
【図６】並べ替えたテクスチャ画像を輝度マップと光源非依存テクスチャ画像とに分離する様子を説明する図。
【図７】輝度マップを正規化する様子を説明する図。
【図８】正規化輝度マップを量子化する様子を説明する図。
【図９】光源非依存テクスチャ画像と輝度マップ補正画像とをベクトル量子化する様子を説明する図。
【図１０】圧縮テクスチャブロックを生成する様子を説明する図。
【図１１】圧縮テクスチャのデータ構造を説明する図。
【図１２】多視点／多光源の輝度マップから、輝度マップと光源非依存テクスチャ画像を生成する処理の流れを説明する図。
【図１３】（Ａ）並べ替えたテクスチャ画像上の各画素の座標と光源方向との関係を表す図。（Ｂ）並べ替えたテクスチャの座標系を説明する図。（Ｃ）輝度マップの一例を説明する図。（Ｄ）光源非依存テクスチャ画像の一例を説明する図。
【図１４】（Ａ）光源方向を適当な基準軸を用いて定義した場合の座標系の例。（Ｂ）光源方向を適当な基準軸を用いて定義した場合の輝度マップの例。（Ｃ）光源方向の基準軸を視点方向に基づいて定義した場合の座標系の例。（Ｄ）光源方向の基準軸を視点方向に基づいて定義した場合の輝度マップの例。
【図１５】輝度マップに対する量子化処理の流れを説明する図。
【図１６】光源非依存テクスチャ画像及び輝度マップ補正画像に対するベクトル量子化処理の流れを説明する図。
【図１７】第２の実施形態のテクスチャ抽出装置の構成を説明する図。
【図１８】第２の実施形態のテクスチャ抽出装置における抽出処理の流れを説明する図。
【図１９】抽出処理の際に使用する視点方向を表現する座標系を説明する図。
【符号の説明】
１０１  テクスチャ画像入力部
１０２  分離部
１０３  光源非依存テクスチャ画像圧縮部
１０４  正規化部
１０５  輝度マップ補正画像圧縮部
１０６  輝度マップ圧縮部
１０７  多重化部
１０８  圧縮テクスチャ出力部
１７０１  圧縮テクスチャ入力部
１７０２  視点方向入力部
１７０３  光源方向入力部
１７０４  変換テーブル抽出部
１７０５  データ抽出部
１７０６  光源非依存テクスチャ画像抽出部
１７０７  輝度成分算出部
１７０８  テクスチャ画像生成部
１７０９  テクスチャ
【図１】
2004234285.tif 000003
【図２】
2004234285.tif 000004
【図３】
2004234285.tif 000005
【図４】
2004234285.tif 000006
【図５】
2004234285.tif 000007
【図６】
2004234285.tif 000008
【図７】
2004234285.tif 000009
【図８】
2004234285.tif 000010
【図９】
2004234285.tif 000011
【図１０】
2004234285.tif 000012
【図１１】
2004234285.tif 000013
【図１２】
2004234285.tif 000014
【図１３】
2004234285.tif 000015
【図１４】
2004234285.tif 000016
【図１５】
2004234285.tif 000017
【図１６】
2004234285.tif 000018
【図１７】
2004234285.tif 000019
【図１８】
2004234285.tif 000020
【図１９】
2004234285.tif 000021