JP2007140820A - Creation method for texture data for rendering - Google Patents

Creation method for texture data for rendering Download PDF

Info

Publication number
JP2007140820A
JP2007140820A JP2005332633A JP2005332633A JP2007140820A JP 2007140820 A JP2007140820 A JP 2007140820A JP 2005332633 A JP2005332633 A JP 2005332633A JP 2005332633 A JP2005332633 A JP 2005332633A JP 2007140820 A JP2007140820 A JP 2007140820A
Authority
JP
Japan
Prior art keywords
texture data
pixel
data
approximate
pixels
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.)
Granted
Application number
JP2005332633A
Other languages
Japanese (ja)
Other versions
JP4802676B2 (en
Inventor
Naoki Kawai
直樹 河合
Kazuo Matsufuji
和夫 松藤
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2005332633A priority Critical patent/JP4802676B2/en
Publication of JP2007140820A publication Critical patent/JP2007140820A/en
Application granted granted Critical
Publication of JP4802676B2 publication Critical patent/JP4802676B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To simultaneously materialize both compression ratio improvement and quality maintenance when compressing texture data of a high-dimensional image. <P>SOLUTION: A function BTF (θL, ϕL, θV, ϕV, u, v) having six variables of coordinate values u, v in uv two-dimensional coordinate system, an incidence angle θL and an azimuth angle ϕL of illumination light, and an emission angle θV and an azimuth angle ϕV of reflection light is prepared as the texture data 20. In each pixel T (u, v), a table R (u, v) showing a reflection characteristic is defined in each combination of four angles θL, ϕL, θV, ϕV. A part of all the pixels is decided as a representative pixel, and the remainder is set as a general pixel. About the representative pixel, contents of the table R (u, v) are used as they are. About the general pixel, a row or a column related to ϕL or ϕV of the table R (u, v) is performed with a rotation shift, tables having a plurality of variations are derived in each the representative pixel, and the most approximate table is substituted. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、レンダリング用テクスチャデータの作成方法に関し、特に、反射特性が、光の入射方向や反射方向に関する角度に依存して定まる高次元テクスチャデータの圧縮技術に関する。   The present invention relates to a method for creating rendering texture data, and more particularly, to a compression technique for high-dimensional texture data in which reflection characteristics are determined depending on an angle with respect to an incident direction or a reflection direction of light.

コンピュータの性能向上により、産業界の様々な分野でCG画像が利用されるようになってきている。たとえば、建築物、家具、自動車などの設計段階では、通常、多くのCG画像が利用されている。また、コンピュータを利用した製品のプレゼンテーションや映画などの種々の映像表現においても、物品の様々なCG画像が不可欠である。更に、最近では、商品カタログなどにも、実際の商品写真の代わりに、CG画像が利用される例も少なくない。   Due to the improvement in computer performance, CG images are used in various fields of industry. For example, in the design stage of buildings, furniture, automobiles, etc., many CG images are usually used. Also, various CG images of articles are indispensable for various video expressions such as product presentations and movies using computers. Furthermore, recently, CG images are often used instead of actual product photos in product catalogs and the like.

建築物、家具、自動車の内装部品などの物品データは、仮想物体の三次元データであるのに対して、提示用のCG画像は、通常、二次元画像として用意される。したがって、三次元の物品データを利用してCG画像を作成する際には、コンピュータ内に仮想物体の三次元データを取り込み、照明条件、視点位置、投影平面を設定した上で、三次元の仮想物体の二次元投影像を投影平面上に得るためのレンダリング処理が行われる。この処理は、基本的には、照明条件で定められた光源からの照明光が仮想物体の各部で反射して視点位置へ向かう現象をコンピュータ上でシミュレートするものであり、視点位置へ向かう反射光の強度を演算する処理ということができる。   Article data such as buildings, furniture, and automobile interior parts is three-dimensional data of a virtual object, whereas a CG image for presentation is usually prepared as a two-dimensional image. Therefore, when creating a CG image using 3D article data, the 3D data of the virtual object is taken into the computer, the illumination conditions, the viewpoint position, and the projection plane are set, and then the 3D virtual A rendering process for obtaining a two-dimensional projection image of the object on the projection plane is performed. This process basically simulates the phenomenon in which the illumination light from the light source determined by the illumination conditions is reflected at each part of the virtual object and travels to the viewpoint position on the computer. It can be said that the light intensity is calculated.

また、仮想物体の表面に何らかの絵柄や模様を張り付けた表現を行いたい場合には、予め二次元のテクスチャデータを用意しておき、レンダリング時に、このテクスチャデータを物体データの表面にマッピングする処理が行われる。テクスチャデータは、基本的には、反射特性の分布を示す2次元の画像データであり、これを仮想物体の表面にマッピングすることにより、反射特性が部分ごとに異なる性質をもった物体を表現することが可能になる。   Also, if you want to create an expression with a pattern or pattern pasted on the surface of a virtual object, you need to prepare two-dimensional texture data in advance and map this texture data to the surface of the object data during rendering. Done. Texture data is basically two-dimensional image data showing the distribution of reflection characteristics, and this is mapped to the surface of a virtual object to express an object having different characteristics in reflection characteristics for each part. It becomes possible.

一方、最近は、テクスチャデータとして、単なる2次元の画像データではなく、高次元画像データを用いる方法も提案されている。たとえば、下記の非特許文献1には、BTF(Bi-directional Texture Function)と呼ばれている6次元の関数で示されるテクスチャデータを用いるレンダリング処理が開示されている。このBTFは、光の入射方向や反射方向によって異なる反射特性を定義する関数であり、照明光の入射方向を示す2つの角度θL,φLと、反射光の射出方向を示す2つの角度θV,φVと、二次元uv座標系における座標値u,vという合計6個の変数(θL,φL,θV,φV,u,v)によって、特定の反射特性を定義する関数になる。また、素材の表面付近の内部散乱を考慮するために、多重散乱の反射点を表わす変数x,yを更に加えた8次元の関数として、BSSRDF(Bi-directional Surface Scattering Reflectance Distribution Function)も提案されている。このBSSRDFは、合計8個の変数(θL,φL,θV,φV,u,v,x,y)によって、特定の反射特性を定義する関数になる。   On the other hand, recently, a method using high-dimensional image data instead of simple two-dimensional image data as texture data has been proposed. For example, Non-Patent Document 1 below discloses a rendering process that uses texture data represented by a six-dimensional function called BTF (Bi-directional Texture Function). This BTF is a function that defines reflection characteristics that differ depending on the incident direction and reflection direction of light, and two angles θL and φL that indicate the incident direction of illumination light and two angles θV and φV that indicate the emission direction of reflected light. And a total of six variables (θL, φL, θV, φV, u, v), which are coordinate values u and v in the two-dimensional uv coordinate system, become a function that defines specific reflection characteristics. In order to take into account internal scattering near the surface of the material, BSSRDF (Bi-directional Surface Scattering Reflectance Distribution Function) has also been proposed as an eight-dimensional function to which variables x and y representing reflection points of multiple scattering are further added. ing. This BSSRDF becomes a function that defines a specific reflection characteristic by a total of eight variables (θL, φL, θV, φV, u, v, x, y).

このような高次元画像として与えられるテクスチャデータは、通常、数値テーブルの形式で用意されるが、そのデータ容量は次元が高くなればなるほど膨大な量になる。そこで、このような高次元画像からなるテクスチャデータに対しては、データを圧縮して利用する技術が提案されている。たとえば、下記の特許文献1には、テクスチャデータに含まれる画像情報を、光源非依存画像と輝度マップとに分離してデータ量を圧縮する技術が開示されている。また、下記の特許文献2には、テクスチャデータを符号化して圧縮する技術が開示されている。
G. Muller, J. Meseth, M. Sattler, R. Sarlette and R. Klein 2004, Acquisition, Synthesis and Rendering of Bidirectional Texture Functions. In Eurographics 2004 STAR-State of The Art Report 特開2004−234285号公報 特開2004−234476号公報
Texture data given as such a high-dimensional image is usually prepared in the form of a numerical table, but the data capacity becomes enormous as the dimension increases. Therefore, a technique for compressing and using data for texture data composed of such a high-dimensional image has been proposed. For example, Patent Document 1 below discloses a technique for compressing the data amount by separating image information included in texture data into a light source-independent image and a luminance map. Patent Document 2 below discloses a technique for encoding and compressing texture data.
G. Muller, J. Meseth, M. Sattler, R. Sarlette and R. Klein 2004, Acquisition, Synthesis and Rendering of Bidirectional Texture Functions. In Eurographics 2004 STAR-State of The Art Report JP 2004-234285 A JP 2004-234476 A

上述したとおり、高次元画像として与えられるテクスチャデータは、データ容量が膨大になるため、小規模なコンピュータシステムで取り扱うためには、これを圧縮することが不可欠になる。しかしながら、一般に、圧縮率向上と品質維持とは相反するファクターであり、圧縮率を高めれば、テクスチャデータの品質が劣化することになり、品質を維持しようとすれば、圧縮率が低下することになる。また、圧縮されたテクスチャデータを利用してレンダリングを行う場合には、これを部分的に展開する処理が必要になるが、従来提案されている圧縮手法で得られたテクスチャデータは、高速な展開処理を行うことが困難である。   As described above, the texture data given as a high-dimensional image has an enormous amount of data. Therefore, it is essential to compress the texture data in order to handle it in a small computer system. However, in general, improvement of the compression ratio and quality maintenance are contradictory factors. If the compression ratio is increased, the quality of the texture data will be degraded, and if the quality is maintained, the compression ratio will be reduced. Become. In addition, when rendering is performed using compressed texture data, it is necessary to partially decompress the texture data. However, texture data obtained by a conventionally proposed compression method can be expanded at high speed. It is difficult to process.

そこで本発明は、高速な展開処理が可能であり、しかも圧縮率向上と品質維持とを可能な限り両立させることができるレンダリング用テクスチャデータの作成方法を提供することを目的とする。   SUMMARY OF THE INVENTION An object of the present invention is to provide a rendering texture data creation method that can perform high-speed expansion processing and can achieve both improvement in compression rate and quality maintenance as much as possible.

(1) 本発明の第1の態様は、
M個の画素の集合からなり、個々の画素ごとに、光の入射方向および/または反射方向に関する角度に依存して定まる反射特性を示すテーブルが定義された原テクスチャデータを用意する原データ準備段階と、
このM個の画素の中からN個(N<M)の代表画素を定め、残りの(M−N)個の画素を一般画素とする代表画素決定段階と、
個々の一般画素について、それぞれ自己の反射特性に近似した反射特性をもつ代表画素を近似代表画素として選択する近似代表画素選択段階と、
原テクスチャデータ上のM個の画素のうち、N個の代表画素については、それぞれ自己の反射特性を示すテーブルを収録し、(M−N)個の一般画素については、選択された近似代表画素を示すデータを収録した圧縮テクスチャデータを作成するデータ圧縮段階と、
を有するレンダリング用テクスチャデータの作成方法において、
近似代表画素選択段階で、個々の代表画素について、原テクスチャデータによって定義されているテーブルの角度のパラメータを所定のオフセット量だけシフトさせることにより、複数のバリエーションをもったテーブルを定義し、これらのテーブルすべてを比較対象としたときに最も近似するテーブルを最近似テーブルと決定し、この最近似テーブルを派生させた代表画素を近似代表画素として選択し、
データ圧縮段階で、一般画素については、選択された近似代表画素を示すデータとともに、当該近似代表画素を選択する要因となった最近似テーブルについてのオフセット量を示すデータを収録した圧縮テクスチャデータを作成するようにしたものである。
(1) The first aspect of the present invention is:
An original data preparation stage in which original texture data is prepared which includes a set of M pixels, and for each individual pixel, a table showing a reflection characteristic defined depending on an angle with respect to an incident direction and / or a reflection direction of light is defined. When,
A representative pixel determining step in which N (N <M) representative pixels are determined from the M pixels, and the remaining (MN) pixels are general pixels;
For each general pixel, an approximate representative pixel selection stage that selects a representative pixel having a reflection characteristic approximate to its own reflection characteristic as an approximate representative pixel;
Of the M pixels on the original texture data, N representative pixels are recorded with a table indicating their own reflection characteristics, and the (MN) general pixels are selected approximate representative pixels. A data compression stage for creating compressed texture data containing data indicating
In the method of creating rendering texture data having
At the approximate representative pixel selection stage, for each representative pixel, a table having a plurality of variations is defined by shifting the angle parameter of the table defined by the original texture data by a predetermined offset amount. The most approximate table when all the tables are compared is determined as the most approximate table, and the representative pixel from which this approximate table is derived is selected as the approximate representative pixel.
At the data compression stage, for general pixels, create compressed texture data that contains data indicating the selected approximate representative pixel and data indicating the offset amount for the most approximate table that caused the selection of the approximate representative pixel. It is what you do.

(2) 本発明の第2の態様は、上述した第1の態様に係るレンダリング用テクスチャデータの作成方法において、
原データ準備段階で、光の入射方向および/または反射方向に関する角度を、所定範囲の角度を等分割して得られる複数通りの角度値によって表現したテーブルを定義し、
近似代表画素選択段階で、個々の角度値に対して前記等分割された角度の整数倍に対応する所定のオフセット量を加算もしくは減算するシフトを行い、加算もしくは減算の結果、シフト後の角度値が所定範囲の一端から食み出してしまう場合には、食み出し分を所定範囲の他端からカウントするローテーションを行うようにしたものである。
(2) According to a second aspect of the present invention, in the method for creating rendering texture data according to the first aspect described above,
In the original data preparation stage, a table is defined in which angles relating to the incident direction and / or reflection direction of light are expressed by a plurality of angle values obtained by equally dividing a predetermined range of angles,
At the approximate representative pixel selection stage, a shift is performed by adding or subtracting a predetermined offset amount corresponding to an integer multiple of the equally divided angle with respect to each angle value, and as a result of addition or subtraction, the angle value after the shift Rotate to count out the amount of protrusion from the other end of the predetermined range.

(3) 本発明の第3の態様は、上述した第2の態様に係るレンダリング用テクスチャデータの作成方法において、
原データ準備段階で、テクスチャデータのマッピング対象となる仮想物体の表面上に、サンプル点Qと、このサンプル点Qの位置に立てた法線nと、サンプル点Qを含み法線nに直交する基準面Sと、サンプル点Qを通る基準面S上の基準線ζと、を定義し、サンプル点Qに入射する照明光と法線nとのなす角をθL、基準面S上への照明光の投影像と基準線ζとのなす角をφL、サンプル点Qから射出する反射光と法線nとのなす角をθV、基準面S上への反射光の投影像と基準線ζとのなす角をφVとしたときに、「θL,φL,θV,φV」の関数として与えられる反射係数K(θL,φL,θV,φV)をテーブルとして定義した原テクスチャデータを用意するようにしたものである。
(3) According to a third aspect of the present invention, in the method for creating rendering texture data according to the second aspect described above,
At the original data preparation stage, on the surface of the virtual object to which the texture data is to be mapped, the sample point Q, the normal n set at the position of this sample point Q, and the sample point Q are orthogonal to the normal n. A reference plane S and a reference line ζ on the reference plane S passing through the sample point Q are defined, and an angle formed between the illumination light incident on the sample point Q and the normal n is θL, and illumination on the reference plane S The angle between the projected image of the light and the reference line ζ is φL, the angle between the reflected light emitted from the sample point Q and the normal n is θV, and the projected image of the reflected light on the reference plane S and the reference line ζ The original texture data is defined in which the reflection coefficient K (θL, φL, θV, φV) given as a function of “θL, φL, θV, φV” is defined as a table when the angle formed by φ is φV. Is.

(4) 本発明の第4の態様は、上述した第3の態様に係るレンダリング用テクスチャデータの作成方法において、
原データ準備段階で、0〜360°の角度範囲をα等分することにより、φLの角度値をα通り設定し、φVの角度値をα通り設定し、0〜90°の角度範囲をβ等分することにより、θLの角度値をβ通り設定し、θVの角度値をβ通り設定し、個々の画素についてそれぞれ合計α×β通りの反射特性を示すテーブルを用意するようにしたものである。
(4) According to a fourth aspect of the present invention, in the method for creating rendering texture data according to the third aspect described above,
At the original data preparation stage, the angle range of 0 to 360 ° is equally divided by α to set the angle value of φL to α, the angle value of φV to α, and the angle range of 0 to 90 ° to β By equally dividing, the angle value of θL is set in β ways, the angle value of θV is set in β ways, and a table showing total α 2 × β 2 ways of reflection characteristics is prepared for each pixel. Is.

(5) 本発明の第5の態様は、上述した第4の態様に係るレンダリング用テクスチャデータの作成方法において、
近似代表画素選択段階で、Uφ=360°/αなる式で与えられる単位角度Uφを定義し、φLおよびφVを、Δφ=i×Uφ(但し、i=0,1,2,…,α−1)なる式で与えられるα通りのオフセット量Δφだけそれぞれシフトさせた合計α通りの組み合わせのバリエーションをもったテーブルを定義するようにしたものである。
(5) According to a fifth aspect of the present invention, in the method for creating rendering texture data according to the fourth aspect described above,
In the approximate representative pixel selection stage, a unit angle Uφ given by the equation Uφ = 360 ° / α is defined, and φL and φV are defined as Δφ = i × Uφ (where i = 0, 1, 2,..., Α− 1) A table having a total of α 2 combinations of variations each shifted by α offset amounts Δφ given by the following equation is defined.

(6) 本発明の第6の態様は、上述した第4の態様に係るレンダリング用テクスチャデータの作成方法において、
近似代表画素選択段階で、Uφ=360°/αなる式で与えられる単位角度Uφを定義し、Uθ=90°/βなる式で与えられる単位角度Uθを定義し、φLおよびφVを、Δφ=i×Uφ(但し、i=0,1,2,…,α−1)なる式で与えられるα通りのオフセット量Δφだけそれぞれシフトさせるとともに、θLおよびθVを、Δθ=j×Uθ(但し、j=0,1,2,…,β−1)なる式で与えられるβ通りのオフセット量Δθだけそれぞれシフトさせた合計α×β通りの組み合わせのバリエーションをもったテーブルを定義するようにしたものである。
(6) According to a sixth aspect of the present invention, in the method for creating texture data for rendering according to the fourth aspect described above,
In the approximate representative pixel selection stage, a unit angle Uφ given by an equation Uφ = 360 ° / α is defined, a unit angle Uθ given by an equation Uθ = 90 ° / β is defined, φL and φV are defined as Δφ = i × Uφ (where i = 0, 1, 2,..., α−1) are shifted by α different offset amounts Δφ given by the equation, and θL and θV are changed to Δθ = j × Uθ (where j = 0, 1, 2,..., β-1) so as to define a table having a total of α 2 × β 2 combinations of variations shifted by β offset amounts Δθ given by the following equation. It is a thing.

(7) 本発明の第7の態様は、上述した第1〜第6の態様に係るレンダリング用テクスチャデータの作成方法において、
原データ準備段階で、反射特性を示すデータとして、三原色RGBの波長をもった照明光それぞれについての反射率を示す数値をもったテーブルを定義するようにしたものである。
(7) According to a seventh aspect of the present invention, in the above-described rendering texture data creation method according to the first to sixth aspects,
In the original data preparation stage, a table having a numerical value indicating the reflectance for each of the illumination lights having the wavelengths of the three primary colors RGB is defined as data indicating the reflection characteristics.

(8) 本発明の第8の態様は、上述した第7の態様に係るレンダリング用テクスチャデータの作成方法において、
近似代表画素選択段階で、自己の反射特性を示すテーブルと比較対象となるテーブルとについて、対応する個々の反射率の差の二乗和が最小となるテーブルを最近似テーブルと決定するようにしたものである。
(8) According to an eighth aspect of the present invention, in the method for creating texture data for rendering according to the seventh aspect described above,
In the approximate representative pixel selection stage, for the table showing its own reflection characteristics and the table to be compared, the table that minimizes the sum of squares of the corresponding individual reflectance differences is determined as the most approximate table. It is.

(9) 本発明の第9の態様は、上述した第1〜第8の態様に係るレンダリング用テクスチャデータの作成方法において、
原データ準備段階で、実在の物体に対して、種々の方向から照明光を照射した状態で、種々の方向から撮影を行い、得られた複数の撮影画像に基づいて原テクスチャデータを用意するようにしたものである。
(9) According to a ninth aspect of the present invention, in the above-described rendering texture data creation method according to the first to eighth aspects,
At the original data preparation stage, an actual object is irradiated with illumination light from various directions, and images are taken from various directions, and original texture data is prepared based on a plurality of obtained images. It is a thing.

(10) 本発明の第10の態様は、上述した第1〜第8の態様に係るレンダリング用テクスチャデータの作成方法における代表画素決定段階、近似代表画素選択段階、データ圧縮段階をコンピュータに実行させるためのプログラムを用意したものである。   (10) A tenth aspect of the present invention causes a computer to execute a representative pixel determination step, an approximate representative pixel selection step, and a data compression step in the rendering texture data creation method according to the first to eighth aspects described above. A program for this purpose is prepared.

(11) 本発明の第11の態様は、上述した第1〜第9の態様に係るレンダリング用テクスチャデータの作成方法によって圧縮テクスチャデータを作成し、これを配布できるようにしたものである。   (11) In an eleventh aspect of the present invention, compressed texture data is created by the rendering texture data creating method according to the first to ninth aspects described above, and can be distributed.

(12) 本発明の第12の態様は、上述した第1〜第9の態様に係るレンダリング用テクスチャデータの作成方法によって作成された圧縮テクスチャデータを、三次元仮想物体の表面にマッピングし、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成するレンダリング方法において、
コンピュータが、三次元仮想物体の構造を示す物体データを入力する物体データ入力段階と、
コンピュータが、圧縮テクスチャデータを入力するテクスチャデータ入力段階と、
コンピュータが、オペレータの指示に基づいて、レンダリングに必要な照明環境、視点位置、マッピング態様、投影平面を定めるレンダリング条件を設定するレンダリング条件設定段階と、
コンピュータが、三次元仮想物体上の各サンプル点Qについて、当該サンプル点Qの位置にマッピングされる圧縮テクスチャデータ内の対応画素を決定する対応画素決定段階と、
コンピュータが、対応画素が代表画素であった場合には、当該代表画素について収録されているテーブルによって示される反射特性を利用して、サンプル点Qからの反射光を演算し、対応画素が一般画素であった場合には、「当該一般画素について収録されているデータによって示された近似代表画素」について収録されているテーブルを、「当該一般画素について収録されているデータによって示されたオフセット量」だけシフトして得られるテーブルによって示される反射特性を利用して、サンプル点Qからの反射光を演算する反射光演算段階と、
コンピュータが、各サンプル点Qからの反射光に基づいて、投影平面上に得られる投影画像を示す二次元データを生成する二次元データ生成段階と、
を行うようにしたものである。
(12) According to a twelfth aspect of the present invention, the compressed texture data created by the above-described rendering texture data creation method according to the first to ninth aspects is mapped onto the surface of a three-dimensional virtual object. In a rendering method for generating two-dimensional data indicating a projection image obtained when observing the image from a predetermined viewpoint,
An object data input stage in which a computer inputs object data indicating a structure of a three-dimensional virtual object;
A texture data input stage in which a computer inputs compressed texture data;
A rendering condition setting stage in which a computer sets a rendering condition for determining a lighting environment, a viewpoint position, a mapping mode, and a projection plane necessary for rendering based on an instruction from an operator;
A corresponding pixel determining step in which a computer determines, for each sample point Q on the three-dimensional virtual object, a corresponding pixel in the compressed texture data mapped to the position of the sample point Q;
When the corresponding pixel is a representative pixel, the computer calculates reflected light from the sample point Q using the reflection characteristics indicated by the table recorded for the representative pixel, and the corresponding pixel is a general pixel. In the case of, the table recorded for “approximate representative pixel indicated by the data recorded for the general pixel” is used as the “offset amount indicated by the data recorded for the general pixel”. The reflected light calculation stage for calculating the reflected light from the sample point Q using the reflection characteristics shown by the table obtained by shifting only by;
A two-dimensional data generation stage in which a computer generates two-dimensional data indicating a projection image obtained on a projection plane based on reflected light from each sample point Q;
Is to do.

(13) 本発明の第13の態様は、
M個の画素の集合からなり、個々の画素ごとに、光の入射方向および/または反射方向に関する角度に依存して定まる反射特性を示すテーブルが定義された原テクスチャデータを入力してこれを格納する原データ格納部と、
M個の画素の中からN個(N<M)の代表画素を定め、残りの(M−N)個の画素を一般画素とする代表画素決定部と、
個々の一般画素について、それぞれ自己の反射特性に近似した反射特性をもつ代表画素を近似代表画素として選択する近似代表画素選択部と、
M個の画素のうち、N個の代表画素については、それぞれ自己の反射特性を示すテーブルを収録し、(M−N)個の一般画素については、選択された近似代表画素を示すデータを収録した圧縮テクスチャデータを作成するデータ圧縮部と、
を備えるレンダリング用テクスチャデータの作成装置において、
近似代表画素選択部が、個々の代表画素について、原テクスチャデータによって定義されているテーブルの角度のパラメータを所定のオフセット量だけシフトさせることにより、複数のバリエーションをもったテーブルを定義し、これらのテーブルすべてを比較対象としたときに最も近似するテーブルを最近似テーブルと決定し、この最近似テーブルを派生させた代表画素を近似代表画素として選択し、
データ圧縮部が、一般画素については、選択された近似代表画素を示すデータとともに、当該近似代表画素を選択する要因となった最近似テーブルについてのオフセット量を示すデータを収録した圧縮テクスチャデータを作成するようにしたものである。
(13) The thirteenth aspect of the present invention is
A set of M pixels. For each individual pixel, original texture data in which a table showing reflection characteristics determined depending on the angle of incidence and / or reflection direction of light is defined and stored. An original data storage unit,
A representative pixel determining unit that determines N (N <M) representative pixels from the M pixels and uses the remaining (MN) pixels as general pixels;
For each general pixel, an approximate representative pixel selection unit that selects a representative pixel having a reflection characteristic approximate to its own reflection characteristic as an approximate representative pixel,
Among M pixels, N representative pixels are recorded with a table indicating their own reflection characteristics, and (MN) general pixels are recorded with data indicating selected approximate representative pixels. A data compression unit for creating compressed texture data,
In the rendering texture data creating apparatus comprising:
The approximate representative pixel selection unit defines a table having a plurality of variations by shifting the angle parameter of the table defined by the original texture data by a predetermined offset amount for each representative pixel. The most approximate table when all the tables are compared is determined as the most approximate table, and the representative pixel from which this approximate table is derived is selected as the approximate representative pixel.
For general pixels, the data compression unit creates compressed texture data that contains data indicating the selected approximate representative pixel and data indicating the offset amount for the most approximate table that caused the selection of the approximate representative pixel. It is what you do.

(14) 本発明の第14の態様は、上述した第13の態様に係るレンダリング用テクスチャデータの作成装置によって作成された圧縮テクスチャデータを、三次元仮想物体の表面にマッピングし、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成するレンダリング装置において、
三次元仮想物体の構造を示す物体データを入力してこれを格納する物体データ格納部と、
圧縮テクスチャデータを入力してこれを格納するテクスチャデータ格納部と、
レンダリングに必要な照明環境、視点位置、マッピング態様、投影平面を定めるレンダリング条件を設定するレンダリング条件設定部と、
三次元仮想物体上のサンプル点Qの位置にマッピングされる圧縮テクスチャデータ内の対応画素を決定する対応画素決定部と、
対応画素が代表画素であった場合には、当該代表画素について収録されているテーブルによって示される反射特性を利用して、サンプル点Qからの反射光を演算し、対応画素が一般画素であった場合には、「当該一般画素について収録されているデータによって示された近似代表画素」について収録されているテーブルを、「当該一般画素について収録されているデータによって示されたオフセット量」だけシフトして得られるテーブルによって示される反射特性を利用して、サンプル点Qからの反射光を演算する反射光演算部と、
各サンプル点Qからの反射光に基づいて、投影平面上に得られる投影画像を示す二次元データを生成する二次元データ生成部と、
を設けるようにしたものである。
(14) According to a fourteenth aspect of the present invention, the compressed texture data created by the rendering texture data creation device according to the thirteenth aspect described above is mapped onto the surface of a three-dimensional virtual object, In a rendering device that generates two-dimensional data indicating a projection image obtained when observed from a viewpoint,
An object data storage unit for inputting and storing object data indicating the structure of a three-dimensional virtual object;
A texture data storage unit for inputting compressed texture data and storing it;
A rendering condition setting unit for setting a rendering condition for determining a lighting environment, a viewpoint position, a mapping mode, and a projection plane necessary for rendering;
A corresponding pixel determining unit for determining a corresponding pixel in the compressed texture data mapped to the position of the sample point Q on the three-dimensional virtual object;
When the corresponding pixel is a representative pixel, the reflected light from the sample point Q is calculated using the reflection characteristics indicated by the table recorded for the representative pixel, and the corresponding pixel is a general pixel. In this case, the table recorded for the “approximate representative pixel indicated by the data recorded for the general pixel” is shifted by “the offset amount indicated by the data recorded for the general pixel”. A reflected light calculation unit that calculates the reflected light from the sample point Q using the reflection characteristics shown by the table obtained by
A two-dimensional data generation unit that generates two-dimensional data indicating a projection image obtained on the projection plane based on the reflected light from each sample point Q;
Is provided.

本発明に係るレンダリング用テクスチャデータの作成方法によれば、圧縮率向上と品質維持とを、これまで以上に両立させた圧縮テクスチャデータを得ることが可能になり、しかも高速な展開処理が可能な圧縮テクスチャデータを得ることができる。   According to the rendering texture data creation method of the present invention, it is possible to obtain compressed texture data that achieves both higher compression ratio and higher quality than ever before, and high-speed expansion processing is possible. Compressed texture data can be obtained.

以下、本発明を図示する実施形態に基づいて説明する。
<<< §1.レンダリング処理の基本概念 >>>
本発明は、コンピュータを用いたレンダリング処理に係るものであり、特に、表面に繊維シート(布などの繊維質材料からなるシート)を張り付けた三次元仮想物体についてのレンダリング処理に応用した場合に有用である。ここでは、説明の便宜上、従来の一般的なレンダリング処理の基本概念を説明しておく。
Hereinafter, the present invention will be described based on the illustrated embodiments.
<<< §1. Basic concept of rendering processing >>
The present invention relates to a rendering process using a computer, and is particularly useful when applied to a rendering process for a three-dimensional virtual object in which a fiber sheet (a sheet made of a fibrous material such as cloth) is attached to the surface. It is. Here, for convenience of explanation, the basic concept of conventional general rendering processing will be described.

図1は、一般的なレンダリング処理の原理を示す斜視図である。この例は、三次元仮想物体10を、視点Eから観察したときに、投影平面H上に二次元投影画像15を求めるシェーディングモデルを示すものである。このとき、二次元画像として用意されているテクスチャデータ20を、仮想物体10の表面にマッピングした状態で、投影画像15を求める演算が行われる。   FIG. 1 is a perspective view showing the principle of general rendering processing. This example shows a shading model for obtaining the two-dimensional projection image 15 on the projection plane H when the three-dimensional virtual object 10 is observed from the viewpoint E. At this time, the calculation for obtaining the projection image 15 is performed in a state where the texture data 20 prepared as a two-dimensional image is mapped to the surface of the virtual object 10.

このようなレンダリング処理を行うために、まず、仮想物体10を示す物体データが用意される。たとえば、図示の例では、XYZ三次元座標系上に定義された多数のポリゴン(多角形)の集合として、仮想物体10が表現されており、仮想物体10の表面の各部は、それぞれポリゴンによって構成されている。したがって、仮想物体10を示す物体データは、このポリゴンの集合体からなる三次元形状データということになり、仮想物体10の実体は物体データということになる。以下、説明の文脈に応じて、これを仮想物体10と呼んだり、物体データ10と呼んだりする。   In order to perform such rendering processing, first, object data indicating the virtual object 10 is prepared. For example, in the illustrated example, the virtual object 10 is expressed as a set of a large number of polygons (polygons) defined on an XYZ three-dimensional coordinate system, and each part of the surface of the virtual object 10 is configured by a polygon. Has been. Therefore, the object data indicating the virtual object 10 is three-dimensional shape data composed of a collection of polygons, and the substance of the virtual object 10 is object data. Hereinafter, this will be referred to as virtual object 10 or object data 10 depending on the context of the description.

一方、テクスチャデータ20は、uv二次元座標系上に定義された二次元画像データであり、二次元平面上に配列された多数の画素の集合体である。ここに示す例では、ハート型の絵柄模様が表現されている。もちろん、テクスチャデータ20によって表現される模様は、必ずしも人為的に描かれた絵柄模様だけではなく、天然素材がもつ固有の陰影模様の場合もある。たとえば、無地の絨毯を表現するテクスチャデータには、人為的な模様は描かれていないが、絨毯の毛並みによる陰影模様が表現されていることになる。結局、このテクスチャデータ20は、二次元平面上における反射特性の分布を示す反射特性データということができる。レンダリング処理を行う際には、このuv座標系上に定義されたテクスチャデータ20を、XYZ座標系上に定義された仮想物体10の表面にマッピングし、仮想物体表面の各部の反射特性を決定することになる。   On the other hand, the texture data 20 is two-dimensional image data defined on the uv two-dimensional coordinate system, and is an aggregate of a large number of pixels arranged on a two-dimensional plane. In the example shown here, a heart-shaped pattern is expressed. Of course, the pattern expressed by the texture data 20 is not necessarily an artificially drawn pattern, but may be an inherent shadow pattern of a natural material. For example, in the texture data expressing a plain carpet, an artificial pattern is not drawn, but a shadow pattern due to the fur of the carpet is expressed. After all, the texture data 20 can be referred to as reflection characteristic data indicating a distribution of reflection characteristics on a two-dimensional plane. When performing the rendering process, the texture data 20 defined on the uv coordinate system is mapped to the surface of the virtual object 10 defined on the XYZ coordinate system, and the reflection characteristics of each part of the virtual object surface are determined. It will be.

なお、テクスチャデータ20は、たとえば、スキャナ装置やデジタルカメラなどを用いて、実在の繊維シートを撮影することによって用意することもできるし、CGの技術を用いて、コンピュータ上で人為的に作成することもできる。   The texture data 20 can be prepared, for example, by photographing a real fiber sheet using a scanner device, a digital camera, or the like, or artificially created on a computer using CG technology. You can also.

レンダリング処理にあたっては、この他、照明条件、視点位置、投影平面を設定する必要がある。照明条件としては、光源の種類(たとえば、形状、大きさ、波長特性など)や位置などを設定する。図示の例の場合、光源G、視点E、投影平面Hが図示の位置に設定されている。また、三次元仮想物体10の表面に、どのようにして二次元テクスチャデータ20をマッピングするかを示すマッピング態様(たとえば、相対的な位置や向き)も設定しておく必要がある。一方、投影平面H上には、xy二次元座標系が定義されており、投影画像15(レンダリング処理の目的物として得られる二次元画像)は、このxy座標系上の画像データとして得られることになる。   In the rendering process, it is necessary to set the illumination conditions, the viewpoint position, and the projection plane. As illumination conditions, the type (for example, shape, size, wavelength characteristics, etc.) and position of the light source are set. In the case of the illustrated example, the light source G, the viewpoint E, and the projection plane H are set at the illustrated positions. Also, it is necessary to set a mapping mode (for example, relative position and orientation) indicating how the two-dimensional texture data 20 is mapped on the surface of the three-dimensional virtual object 10. On the other hand, an xy two-dimensional coordinate system is defined on the projection plane H, and the projection image 15 (a two-dimensional image obtained as an object of rendering processing) is obtained as image data on the xy coordinate system. become.

いま、図示のとおり、仮想物体10上にサンプル点Qを定義し、このサンプル点Qから視点Eに向かう反射光Vを考える。この反射光Vは、光源Gからの照明光Lが、サンプル点Qで反射することにより得られる光であり、視点Eの位置で観察される光である。もっとも、ここでいう「反射」とは、「鏡面反射」のみでなく、「拡散反射」も含めた広い概念であり、サンプル点Qに様々な角度で入射する照明光がそれぞれ反射光として視点Eに向かうことになる。したがって、図示の反射光Vは、様々な角度から入射した照明光から得られる反射光の集まりというべきものになる。   Now, as shown in the figure, a sample point Q is defined on the virtual object 10, and the reflected light V from the sample point Q toward the viewpoint E is considered. The reflected light V is light obtained by reflecting the illumination light L from the light source G at the sample point Q, and is light that is observed at the position of the viewpoint E. However, “reflection” here is a broad concept that includes not only “specular reflection” but also “diffuse reflection”, and illumination light incident on the sample point Q at various angles is reflected as viewpoint E. Will head to. Accordingly, the reflected light V shown in the figure is a collection of reflected light obtained from illumination light incident from various angles.

1つのサンプル点Qから視点Eに向かう反射光Vと投影平面Hとの交点位置に、当該反射光Vの強度に応じた画素値をもつ画素Pを定義するようにし、仮想物体10の表面上の多数のサンプル点から視点Eに向かう各反射光について、同様に、投影平面H上に画素を定義すれば、多数のサンプル点について定義された多数の画素の集合により、三次元仮想物体10の二次元投影画像15が投影平面H上に得られることになる。実用上は、予め投影平面H上に所望の解像度で画素配列を定義しておき、視点Eと個々の画素Pの代表点(たとえば、中心位置)とを結ぶ線を仮想物体10上へと伸ばし、仮想物体表面との交点位置にサンプル点Qを定義し、上述した手法により、個々の画素Pの画素値を演算すれば、必要な解像度をもった二次元データを得ることができる。   On the surface of the virtual object 10, a pixel P having a pixel value corresponding to the intensity of the reflected light V is defined at the intersection of the reflected light V from the one sample point Q toward the viewpoint E and the projection plane H. Similarly, if pixels are defined on the projection plane H with respect to each reflected light directed from the large number of sample points to the viewpoint E, the set of the large number of pixels defined for the large number of sample points results in the three-dimensional virtual object 10. A two-dimensional projection image 15 is obtained on the projection plane H. In practice, a pixel array is defined in advance on the projection plane H with a desired resolution, and a line connecting the viewpoint E and the representative point (for example, the center position) of each pixel P is extended onto the virtual object 10. If the sample point Q is defined at the intersection position with the virtual object surface and the pixel value of each pixel P is calculated by the above-described method, two-dimensional data having the necessary resolution can be obtained.

このように、投影平面H上の画素Pの画素値を求めるためには、サンプル点Qから画素Pを通って視点Eに向かう反射光Vの強度を求める必要があるが、このような反射光Vの強度は、基本的に、サンプル点Qに入射する照明光Lの強度と、サンプル点Qにおける光の反射率(鏡面反射率や拡散反射率)とを考慮した演算によって求めることができる。もちろん、このとき、サンプル点Qを含むポリゴンの向きを考慮に入れた演算が行われ、サンプル点Qにマッピングされたテクスチャデータ20(uv座標系上に定義された二次元画像データ)も考慮に入れた演算が行われる。したがって、仮想物体10の表面が曲面であれば、当該曲面に応じた陰影をもった投影画像15が得られることになり、テクスチャデータ20が、図示のように、ハート型の絵柄の情報をもっていれば、投影画像15上にも、このハート型の絵柄が表現されることになる(図1では、この絵柄の図示は省略)。   As described above, in order to obtain the pixel value of the pixel P on the projection plane H, it is necessary to obtain the intensity of the reflected light V from the sample point Q through the pixel P to the viewpoint E. The intensity of V can be basically obtained by calculation in consideration of the intensity of the illumination light L incident on the sample point Q and the light reflectance (specular reflectance or diffuse reflectance) at the sample point Q. Of course, at this time, calculation taking into account the orientation of the polygon including the sample point Q is performed, and the texture data 20 (two-dimensional image data defined on the uv coordinate system) mapped to the sample point Q is also taken into consideration. The entered operation is performed. Therefore, if the surface of the virtual object 10 is a curved surface, a projection image 15 having a shadow corresponding to the curved surface is obtained, and the texture data 20 includes information on a heart-shaped pattern as shown in the figure. For example, this heart-shaped picture is also expressed on the projected image 15 (the picture is not shown in FIG. 1).

図2は、図1に示すレンダリング処理において、サンプル点Qからの反射光の強度を演算する最も単純な手法を示す斜視図である。図示のとおり、XYZ三次元座標系上の1点として定義されるサンプル点Qから視点Eに向かう反射光Vの強度I(V)は、
I(V)=K・I(L)
なる式で表わされる。ここで、I(L)は照明光Lのサンプル点Qの位置における強度であり、Kは反射係数である。照明光Lの強度I(L)は、光源Gの輝度、光源Gとサンプル点Qとの距離、サンプル点Qが所属するポリゴンに対する照明光Lの入射角といったパラメータによって決定される。これに対して、反射係数Kは、テクスチャデータ20によって決定される。そこで、まず、テクスチャデータ20を仮想物体10の表面に所定のマッピング態様でマッピングした場合に、サンプル点Qの位置が、テクスチャデータ20のどの座標に対応するかを求め、当該対応座標に位置する画素T(u,v)を決定する。図2には、サンプル点Qに対応する画素T(u,v)の位置がX印で示されている。そして、この対応画素T(u,v)の画素値として定義されている値が、サンプル点Qの位置における反射係数Kになる。
FIG. 2 is a perspective view showing the simplest method for calculating the intensity of the reflected light from the sample point Q in the rendering process shown in FIG. As shown in the figure, the intensity I (V) of the reflected light V from the sample point Q defined as one point on the XYZ three-dimensional coordinate system toward the viewpoint E is
I (V) = K · I (L)
It is expressed by the following formula. Here, I (L) is the intensity of the illumination light L at the position of the sample point Q, and K is the reflection coefficient. The intensity I (L) of the illumination light L is determined by parameters such as the brightness of the light source G, the distance between the light source G and the sample point Q, and the incident angle of the illumination light L with respect to the polygon to which the sample point Q belongs. On the other hand, the reflection coefficient K is determined by the texture data 20. Therefore, first, when the texture data 20 is mapped on the surface of the virtual object 10 in a predetermined mapping manner, the coordinate of the sample point Q corresponding to the coordinate of the texture data 20 is obtained and located at the corresponding coordinate. Pixel T (u, v) is determined. In FIG. 2, the position of the pixel T (u, v) corresponding to the sample point Q is indicated by an X mark. The value defined as the pixel value of the corresponding pixel T (u, v) becomes the reflection coefficient K at the position of the sample point Q.

テクスチャデータ20として、カラー画像を用いる場合は、個々の原色ごとに、それぞれ所定の反射係数(反射率)が定義される。図3は、テクスチャデータ20を構成する画素配列を示す平面図である。ここでは、図示の便宜上、6行8列の非常に小規模な画素配列を示しているが、実用上は、より大きな画素配列からなるテクスチャデータが用いられる。図の個々の正方形が1つの画素(一般的には、Texture Cellの意味で「テクセル」と呼ばれる)を示しており、画素T(u,v)は、座標値(u,v)で示される位置の画素に対応する。この例では、1つの画素T(u,v)の画素値として、3つの係数Kr,Kg,Kbが定義されている。ここで、係数Krは原色R(赤)の波長成分をもった照明光についての反射率、係数Kgは原色G(緑)の波長成分をもった照明光についての反射率、係数Kbは原色B(青)の波長成分をもった照明光についての反射率である。   When a color image is used as the texture data 20, a predetermined reflection coefficient (reflectance) is defined for each primary color. FIG. 3 is a plan view showing a pixel array constituting the texture data 20. Here, for the sake of illustration, a very small pixel array of 6 rows and 8 columns is shown, but in practice, texture data having a larger pixel array is used. Each square in the figure represents one pixel (generally called “texel” in the sense of Texture Cell), and the pixel T (u, v) is represented by a coordinate value (u, v). Corresponds to the position pixel. In this example, three coefficients Kr, Kg, and Kb are defined as pixel values of one pixel T (u, v). Here, the coefficient Kr is the reflectance for the illumination light having the wavelength component of the primary color R (red), the coefficient Kg is the reflectance for the illumination light having the wavelength component of the primary color G (green), and the coefficient Kb is the primary color B. It is a reflectance with respect to illumination light having a wavelength component of (blue).

このようなカラー画像からなるテクスチャデータ20をマッピングした場合、サンプル点Qからの反射光の強度は、光の各波長成分ごとに演算される。たとえば、反射光Vの赤色波長成分の強度Ir(V)は、照明光Lの赤色波長成分のサンプル点Qの位置における強度Ir(L)と、反射係数Krとを用いて、
Ir(V)=Kr・Ir(L)
なる式で求めることができる。
When mapping the texture data 20 composed of such a color image, the intensity of the reflected light from the sample point Q is calculated for each wavelength component of the light. For example, the intensity Ir (V) of the red wavelength component of the reflected light V is calculated using the intensity Ir (L) at the position of the sample point Q of the red wavelength component of the illumination light L and the reflection coefficient Kr.
Ir (V) = Kr · Ir (L)
It can be calculated by the following formula.

<<< §2.高次元画像をテクスチャとして用いるモデル >>>
§1では、テクスチャデータ20として、二次元画像を用いた例を示した。このような二次元画像をマッピングするモデルでは、サンプル点Qの反射特性が、照明光の入射角や反射光の射出角に依存しないものとして取り扱っているが、パイル地のような三次元構造をもった繊維シートを物体表面に張り付けた場合、厳密には、照明光の入射角や反射光の射出角に依存した異方性反射の特性を考慮した取り扱いをしなければならない。
<<< §2. Model using high-dimensional image as texture >>
In §1, an example using a two-dimensional image as the texture data 20 is shown. In such a model for mapping a two-dimensional image, the reflection characteristic of the sample point Q is handled as not depending on the incident angle of illumination light or the emission angle of reflected light, but a three-dimensional structure such as a pile ground is handled. Strictly speaking, when the fiber sheet is stuck to the object surface, it must be handled in consideration of the anisotropic reflection characteristic depending on the incident angle of the illumination light and the emission angle of the reflected light.

このように、光の入射方向や反射方向に関する角度に依存して、反射特性が異なるような取り扱いを行う基本的なモデルとして、BRDF(Bi-directional Reflectance Distribution Function)と呼ばれるモデルが提案されている。図4は、このBRDFモデルの原理を説明するための斜視図である。図示のとおり、仮想物体表面上のサンプル点Qの位置に法線nを立て、サンプル点Qを含み、法線nに直交する直交平面S(以下、基準面Sと呼ぶ)を定義する。そして、法線nと入射照明光Lとのなす角をθL、基準面S上への入射照明光Lの投影像L′とこの基準面S上のサンプル点Qを通る所定の基準線ζとのなす角度をφLとし、入射照明光Lの向きを角度θLおよび角度φLの組み合わせで定義する。同様に、法線nと反射光Vとのなす角をθV、基準面S上への反射光Vの投影像V′と基準線ζとのなす角度をφVとし、反射光Vの向きを角度θVおよび角度φVの組み合わせで定義する。いわば、角度θL,θVは、入射照明光および反射光の仰角に相当する(本来の「仰角」は、水平面に対する角度を意味するので、角度θL,θVは、厳密に言えば「90°−仰角」であるが、ここでは、便宜上、単に「仰角」と呼ぶことにする)。また、角度φL,φVは、入射照明光および反射光の方位角に相当する。   As described above, a model called BRDF (Bi-directional Reflectance Distribution Function) has been proposed as a basic model for handling with different reflection characteristics depending on the angle of incidence and reflection direction of light. . FIG. 4 is a perspective view for explaining the principle of the BRDF model. As shown in the figure, a normal line n is set at the position of the sample point Q on the virtual object surface, and an orthogonal plane S (hereinafter referred to as a reference plane S) including the sample point Q and orthogonal to the normal line n is defined. An angle formed between the normal line n and the incident illumination light L is θL, a projection image L ′ of the incident illumination light L on the reference plane S, and a predetermined reference line ζ passing through the sample point Q on the reference plane S and Is defined as a combination of an angle θL and an angle φL. Similarly, the angle between the normal line n and the reflected light V is θV, the angle between the projected image V ′ of the reflected light V on the reference surface S and the reference line ζ is φV, and the direction of the reflected light V is the angle. It is defined by a combination of θV and angle φV. In other words, the angles θL and θV correspond to the elevation angles of the incident illumination light and the reflected light (the original “elevation angle” means an angle with respect to the horizontal plane, so strictly speaking, the angles θL and θV are “90 ° −elevation angle”. However, here, for the sake of convenience, this is simply referred to as “elevation angle”). The angles φL and φV correspond to the azimuth angles of incident illumination light and reflected light.

ここで、サンプル点Qにおける入射照明光Lの強度をI(L)としたとき、サンプル点Qからの反射光Vの強度I(V)を、θL,φL,θV,φVの関数として与えられる反射係数K(θL,φL,θV,φV)を用いて、
I(V)=K(θL,φL,θV,φV)・I(L)
なる式で求めるのが、BRDFモデルである。このBRDFモデルの特徴は、反射係数Kを、入射照明光Lの向きを示すパラメータ「θL,φL」および反射光Vの向きを示すパラメータ「θV,φV」の関数として与える点にある。
Here, when the intensity of the incident illumination light L at the sample point Q is I (L), the intensity I (V) of the reflected light V from the sample point Q is given as a function of θL, φL, θV, φV. Using the reflection coefficient K (θL, φL, θV, φV),
I (V) = K (θL, φL, θV, φV) · I (L)
The BRDF model is obtained by the following formula. The BRDF model is characterized in that the reflection coefficient K is given as a function of parameters “θL, φL” indicating the direction of the incident illumination light L and parameters “θV, φV” indicating the direction of the reflected light V.

このBRDFモデルに、テクスチャマッピングの概念を付加したものが、前掲の非特許文献1等に記載されているBTF(Bi-directional Texture Function)モデルである。BTFモデルでは、上記BRDFモデルで用いた4つの角度パラメータに、更に、二次元uv座標系上での座標値(u,v)がパラメータとして加わることになり、サンプル点Qにおける入射照明光Lの強度をI(L)としたとき、サンプル点Qからの反射光Vの強度I(V)は、
I(V)=K(θL,φL,θV,φV,u,v)・I(L)
なる式で与えられる。すなわち、図4に示す反射光Vの強度I(V)は、入射照明光Lがどの方向からサンプル点Qに照射され、反射光Vがサンプル点Qからどの方向に射出するか、という角度に関するパラメータに依存して定まるとともに、サンプル点Qの位置(u,v座標値)にも依存して定まるファクターということになる。
A BTF (Bi-directional Texture Function) model described in the above-mentioned Non-Patent Document 1 or the like is obtained by adding the concept of texture mapping to the BRDF model. In the BTF model, coordinate values (u, v) on the two-dimensional uv coordinate system are further added as parameters to the four angle parameters used in the BRDF model, and the incident illumination light L at the sample point Q When the intensity is I (L), the intensity I (V) of the reflected light V from the sample point Q is
I (V) = K (θL, φL, θV, φV, u, v) · I (L)
It is given by That is, the intensity I (V) of the reflected light V shown in FIG. 4 relates to the angle from which direction the incident illumination light L is applied to the sample point Q and from which direction the reflected light V is emitted from the sample point Q. This is a factor that is determined depending on the parameter and also determined depending on the position (u, v coordinate value) of the sample point Q.

図5は、このBTFモデルで用いる6次元テクスチャデータ20の構造を示す平面図である。上述したとおり、このBTFモデルにおいて、反射係数Kは、6次元の関数K(θL,φL,θV,φV,u,v)として定義されるパラメータであるから、この6次元テクスチャデータ20自身は、6次元空間上に配置された多数の画素の集合から構成される6次元の画像データということになり、個々の画素が特定の反射係数Kに相当する画素値を有することになる。ただ、ここでは、説明の便宜上、図5に示す例のように、この6次元テクスチャデータ20を、uv平面上の二次元画素配列として図示することにする。この場合、この二次元画素配列上の個々の画素T(u,v)には、4つのパラメータ「θL,φL,θV,φV」の関数として定まる反射係数K(θL,φL,θV,φV)がそれぞれ定義されていることになる。   FIG. 5 is a plan view showing the structure of the 6-dimensional texture data 20 used in this BTF model. As described above, in this BTF model, the reflection coefficient K is a parameter defined as a six-dimensional function K (θL, φL, θV, φV, u, v). This means 6-dimensional image data composed of a set of a large number of pixels arranged in a 6-dimensional space, and each pixel has a pixel value corresponding to a specific reflection coefficient K. However, for convenience of explanation, the 6-dimensional texture data 20 is illustrated as a two-dimensional pixel array on the uv plane as in the example shown in FIG. In this case, each pixel T (u, v) on this two-dimensional pixel array has a reflection coefficient K (θL, φL, θV, φV) determined as a function of four parameters “θL, φL, θV, φV”. Is defined respectively.

ここで、反射係数K(θL,φL,θV,φV)は、θL,φL,θV,φVをそれぞれ変数として含む何らかの関数式として定義することも可能であるが、実用上は、数値テーブルとして定義するのが一般的であり、本発明も、数値テーブルとして定義する取り扱いを行うことを前提としている。このように反射係数Kを数値テーブルとして定義する場合、角度のパラメータθL,φL,θV,φVは連続量として取り扱うことはできないので、離散的な取り扱いを行わざるを得ない。   Here, the reflection coefficient K (θL, φL, θV, φV) can be defined as some function expression including θL, φL, θV, and φV as variables, but in practice, it is defined as a numerical table. In general, the present invention is premised on the handling defined as a numerical table. In this way, when the reflection coefficient K is defined as a numerical table, the angle parameters θL, φL, θV, and φV cannot be handled as continuous quantities, and thus must be handled discretely.

図6に、角度θLの離散的な定義の一例を示す。上述したとおり、角度θLは、サンプル点Qに入射する照明光Lの法線に対する角度を示すものである。図6には、サンプル点Qに対して、6通りの仰角をもって入射する照明光L1〜L6が描かれている。これら照明光L1〜L6の入射角θL1〜θL6は、図示のとおり、0°,15°,30°,45°,60°,75°である。入射角(仰角)に関しては、このように15°おきに6通りの角度を離散的に定義しておけば、実用上、ある程度の精度をもったテクスチャ表現が可能になる。   FIG. 6 shows an example of a discrete definition of the angle θL. As described above, the angle θL indicates an angle with respect to the normal line of the illumination light L incident on the sample point Q. In FIG. 6, illumination lights L1 to L6 that are incident on the sample point Q at six elevation angles are depicted. The incident angles θL1 to θL6 of these illumination lights L1 to L6 are 0 °, 15 °, 30 °, 45 °, 60 °, and 75 ° as illustrated. With respect to the incident angle (elevation angle), if six angles are discretely defined at intervals of 15 ° in this way, texture expression with a certain degree of accuracy can be achieved in practice.

一方、図7には、角度φLの離散的な定義の一例を示す。上述したとおり、角度φLは、サンプル点Qに入射する照明光Lの基準面S上への投影像L′と基準線ζ(この例では、φL1=0°の方向)とのなす角度であり、照明光Lの方位角を示すものである。図7には、サンプル点Qに対して、12通りの方向から入射する照明光の方位角が描かれている。すなわち、図7の紙面は基準面Sに対応し、この基準面S上に、0°〜360°の範囲内の方位角が30°おきに定義されている。方位角に関しては、このように30°おきに12通りの角度を離散的に定義しておけば、実用上、ある程度の精度をもったテクスチャ表現が可能になる。   On the other hand, FIG. 7 shows an example of a discrete definition of the angle φL. As described above, the angle φL is an angle formed between the projection image L ′ of the illumination light L incident on the sample point Q onto the reference surface S and the reference line ζ (in this example, the direction of φL1 = 0 °). The azimuth angle of the illumination light L is shown. In FIG. 7, the azimuth angle of the illumination light incident on the sample point Q from 12 different directions is depicted. 7 corresponds to the reference plane S, and azimuth angles in the range of 0 ° to 360 ° are defined on the reference plane S every 30 °. With regard to the azimuth angle, if 12 angles are defined discretely at intervals of 30 ° in this way, texture expression with a certain degree of accuracy can be achieved in practice.

以上、入射照明光Lに関する角度θL,φLについての離散的定義例を示したが、反射光Vに関する角度θV,φVについても同様の定義を行うことができる。すなわち、角度θVに関しては、0°,15°,30°,45°,60°,75°という6通りの離散的定義を行い、角度φVに関しては、0°〜360°の範囲内の方位角を30°おきに定義すればよい。   As described above, the discrete definition examples of the angles θL and φL related to the incident illumination light L have been shown, but the same definitions can be made for the angles θV and φV related to the reflected light V. That is, regarding the angle θV, six discrete definitions of 0 °, 15 °, 30 °, 45 °, 60 °, and 75 ° are made, and the angle φV is an azimuth angle in the range of 0 ° to 360 °. May be defined every 30 °.

このような離散的な定義を行うと、角度θLおよびθVはそれぞれ6通りの値をとり、角度φLおよびφVはそれぞれ12通りの値をとることになるので、これら4つの角度の組み合わせは、6×12×6×12=5184通りということになる。したがって、図5に示すテクスチャデータ20の1つの画素T(u,v)に定義される反射係数Kは、それぞれの角度値の組み合わせに応じて5184通りの値をとることになる。   If such a discrete definition is performed, the angles θL and θV each have six values, and the angles φL and φV each have twelve values. Therefore, the combination of these four angles is 6 That is, × 12 × 6 × 12 = 5184 ways. Accordingly, the reflection coefficient K defined for one pixel T (u, v) of the texture data 20 shown in FIG. 5 takes 5184 values depending on the combination of the respective angle values.

この5184通りの反射係数Kの値は、反射特性を示すテーブルR(u,v)として用意することができる。図8は、このような反射特性を示すテーブルR(u,v)を用いて定義したテクスチャデータ20の構成例を示す平面図である。この例では、uv座標系上の二次元画素配列としてテクスチャデータ20が定義されているが、個々の画素T(u,v)には、それぞれ図示するような反射特性を示すテーブルR(u,v)が定義されている。このテーブルR(u,v)は、6通りの角度θL(θL1〜θL6)、12通りの角度φL(φL1〜φL12)、6通りの角度θV(θV1〜θV6)、12通りの角度φV(φV1〜φV12)のすべての組み合わせ(5184通りの組み合わせ)について、それぞれ3つの反射係数Kr,Kg,Kbを定義するものである。ここで、各係数Kr,Kg,Kbは、前述したとおり、照明光の各原色波長成分についての反射率を示す値である。   These 5184 reflection coefficient K values can be prepared as a table R (u, v) indicating reflection characteristics. FIG. 8 is a plan view showing a configuration example of the texture data 20 defined using the table R (u, v) indicating such reflection characteristics. In this example, the texture data 20 is defined as a two-dimensional pixel array on the uv coordinate system, but each pixel T (u, v) has a table R (u, v) is defined. The table R (u, v) includes six angles θL (θL1 to θL6), twelve angles φL (φL1 to φL12), six angles θV (θV1 to θV6), and twelve angles φV (φV1). Three reflection coefficients Kr, Kg, and Kb are defined for all the combinations of (˜φV12) (5184 combinations). Here, each coefficient Kr, Kg, Kb is a value indicating the reflectance of each primary color wavelength component of the illumination light as described above.

この図8に示すようなテクスチャデータ20を用いたBTFモデルによるレンダリング処理は、次のようにして行われる。まず、図1に示すように、三次元仮想物体10の表面に、このテクスチャデータ20をマッピングし、サンプル点Qの位置に対応する画素T(u,v)を決定する。次に、光源Gの位置やサンプル点Qが所属するポリゴンの向きなどを考慮することにより、サンプル点Qに入射する照明光Lの角度θL,φL、サンプル点Qから射出する反射光Vの角度θV,φVを決定する。なお、基準線ζの方向は、たとえば、「u軸のマッピング方向」のように予め定めておけばよい。そして、図8に示す画素T(u,v)についての反射特性を示すテーブルR(u,v)を参照して、特定の角度θL,φL,θV,φVの組み合わせに対応する3つの反射係数Kr,Kg,Kbを求める。最後に、これら3つの反射係数Kr,Kg,Kbに基づいて、反射光Vの各原色成分ごとの強度値を求め、投影面H上の画素Pの画素値を決定すればよい。   The rendering process using the BTF model using the texture data 20 as shown in FIG. 8 is performed as follows. First, as shown in FIG. 1, the texture data 20 is mapped on the surface of the three-dimensional virtual object 10 to determine a pixel T (u, v) corresponding to the position of the sample point Q. Next, by taking into account the position of the light source G and the orientation of the polygon to which the sample point Q belongs, the angles θL and φL of the illumination light L incident on the sample point Q, and the angle of the reflected light V emitted from the sample point Q θV and φV are determined. The direction of the reference line ζ may be determined in advance, for example, “u-axis mapping direction”. Then, with reference to the table R (u, v) showing the reflection characteristics for the pixel T (u, v) shown in FIG. 8, three reflection coefficients corresponding to combinations of specific angles θL, φL, θV, and φV. Kr, Kg, and Kb are obtained. Finally, the intensity value for each primary color component of the reflected light V is obtained based on these three reflection coefficients Kr, Kg, and Kb, and the pixel value of the pixel P on the projection plane H may be determined.

<<< §3.従来のベクトル量子化によるデータ圧縮方法 >>>
さて、§2で述べたBTFモデルなど、高次元画像をテクスチャとして用いるモデルの場合、テスクチャデータ20のデータ容量は膨大なものとなる。図8に示すテクスチャデータ20は、図示の便宜上、uv座標系上に6行8列の画素配列をもった小規模のものとなっているが、実用上はより大きな画素配列が用いられる。
<<< §3. Conventional data compression method using vector quantization >>
In the case of a model that uses a high-dimensional image as a texture, such as the BTF model described in §2, the data capacity of the texture data 20 is enormous. The texture data 20 shown in FIG. 8 is a small-scale one having a pixel arrangement of 6 rows and 8 columns on the uv coordinate system for convenience of illustration, but a larger pixel arrangement is practically used.

たとえば、uv座標系上に512行512列の画素配列をもったテクスチャデータのデータ容量を考えてみよう。この場合、二次元画素配列上に定義される画素の総数は(512×512)個となる。二次元画像をテクスチャとして用いるモデルの場合、個々の画素には、3つの反射係数Kr,Kg,Kbの値を定義するだけでよいので、1つの係数の値を1バイトで表現したとすると、テスクチャデータ20のデータ総容量は、(512×512×3)バイトで足りる。これは、一般的なパソコンの実装メモリ空間に十分展開可能な容量である。   For example, consider the data capacity of texture data having a pixel array of 512 rows and 512 columns on the uv coordinate system. In this case, the total number of pixels defined on the two-dimensional pixel array is (512 × 512). In the case of a model using a two-dimensional image as a texture, it is only necessary to define the values of three reflection coefficients Kr, Kg, and Kb for each pixel. Therefore, if the value of one coefficient is expressed by 1 byte, The total data capacity of the texture data 20 is sufficient to be (512 × 512 × 3) bytes. This is a capacity that can be sufficiently expanded in the mounting memory space of a general personal computer.

ところが、上述したBTFモデルなど、高次元画像をテクスチャとして用いるモデルでは、個々の画素のそれぞれに、たとえば、図8に示すような反射特性を示すテーブルR(u,v)を収容する必要がある。ここで、角度θL,θVについては、図6に示すように6通りの離散的な角度を定義し、角度φL,φVについては、図7に示すように12通りの離散的な角度を定義し、4通りの角度の組み合わせごとに、それぞれ1バイトで表現した反射係数Kr,Kg,Kbを定義したとすると、テスクチャデータ20のデータ総容量は、(512×512×6×12×6×12×3)バイトとなる。これは4Gバイトを越える容量であり、一般的なパソコンの場合、実装メモリ空間に展開することが困難な容量である。もちろん、uv座標系上に定義する二次元画素配列のサイズをより大きくしたり、離散的な角度定義をより細かくしたりすれば、テスクチャデータ20のデータ総容量は更に増加する。   However, in a model using a high-dimensional image as a texture, such as the BTF model described above, it is necessary to accommodate, for example, a table R (u, v) showing reflection characteristics as shown in FIG. . Here, for the angles θL and θV, six discrete angles are defined as shown in FIG. 6, and for the angles φL and φV, twelve discrete angles are defined as shown in FIG. Assuming that the reflection coefficients Kr, Kg, and Kb expressed by 1 byte are defined for each of the four combinations of angles, the total data capacity of the texture data 20 is (512 × 512 × 6 × 12 × 6 × 12). X3) Bytes. This is a capacity exceeding 4 Gbytes, and in the case of a general personal computer, it is a capacity that is difficult to expand in the mounting memory space. Of course, if the size of the two-dimensional pixel array defined on the uv coordinate system is made larger or the discrete angle definition is made finer, the total data capacity of the texture data 20 further increases.

したがって、図1に示すようなレンダリング処理を、一般的なパソコン等のシステムで実行する場合、BTFモデルなどの高次元画像からなるテスクチャデータ20をそのまま利用することはできない。このため、前掲の特許文献1,2などには、高次元画像からなるテスクチャデータ20を圧縮して利用する技術が提案されている。高次元画像の圧縮には、通常、ベクトル量子化という手法が利用される。たとえば、図8に示すBTFモデルの場合、図の下半分に示された1つの画素についての反射特性を示すテーブルR(u,v)は、4つの変数(θL,φL,θV,φV)のすべての組み合わせ(5184通りの組み合わせ)について、それぞれ特定の反射係数を定義するテーブルであるので、数学的には、5184本の互いに直交する座標軸をもった5184次元の座標系上に定義された1本のベクトルと等価である。したがって、図の上半分に示された48個の画素をもつテクスチャデータ20は、この5184次元の座標系上に定義された48本のベクトルとして表現することができる。そこで、この48本のベクトルのうちのいくつかを代表ベクトルと定め、それ以外のベクトルについては、最も近似する代表ベクトル(5184次元座標空間上におけるユークリッド距離が最小の代表ベクトル)に置き換えることにより、データの総容量を減少させることができる。これがベクトル量子化によるデータ圧縮の基本概念である。   Therefore, when the rendering process as shown in FIG. 1 is executed by a general system such as a personal computer, the texture data 20 composed of a high-dimensional image such as a BTF model cannot be used as it is. For this reason, in the above-mentioned Patent Documents 1 and 2 and the like, techniques for compressing and using the texture data 20 composed of high-dimensional images are proposed. For compression of high-dimensional images, a technique called vector quantization is usually used. For example, in the case of the BTF model shown in FIG. 8, the table R (u, v) showing the reflection characteristics for one pixel shown in the lower half of the figure is composed of four variables (θL, φL, θV, φV). Since all the combinations (5184 combinations) are tables that define specific reflection coefficients, respectively, mathematically, 1 is defined on a 5184-dimensional coordinate system having 5184 mutually orthogonal coordinate axes. It is equivalent to a book vector. Therefore, the texture data 20 having 48 pixels shown in the upper half of the figure can be expressed as 48 vectors defined on the 5184-dimensional coordinate system. Therefore, some of the 48 vectors are defined as representative vectors, and the other vectors are replaced with the most approximate representative vectors (representative vectors having the smallest Euclidean distance in the 5184-dimensional coordinate space). The total amount of data can be reduced. This is the basic concept of data compression by vector quantization.

図9は、このようなベクトル量子化の概念に基づく高次元テクスチャデータの圧縮原理を示す平面図である。圧縮前の原テクスチャデータ20は、図8に示すように、合計48個の画素T(u,v)のすべてについて、反射特性を示すテーブルR(u,v)が収録されている。これに対して、図9に示す圧縮テクスチャデータ25では、合計48個の画素のうち、4個の画素T1,T2,T3,T4を代表画素と定め、残りの44個の画素を一般画素と定めている。そして、この4個の代表画素T1,T2,T3,T4については、それぞれ反射特性を示すテーブルR1,R2,R3,R4(図8に示すテーブルR(u,v)と同等のテーブル)が収録されているが、残りの一般画素、たとえば、第i番目の一般画素Tiについては、テーブルRiを収録する代わりに、テーブルRiに最も近似するテーブルを収録した近似代表画素(代表画素R1〜T4のいずれか)を示すデータが収録されている。   FIG. 9 is a plan view showing the compression principle of high-dimensional texture data based on the concept of such vector quantization. As shown in FIG. 8, the original texture data 20 before compression includes a table R (u, v) indicating reflection characteristics for all 48 pixels T (u, v) in total. On the other hand, in the compressed texture data 25 shown in FIG. 9, among the total of 48 pixels, four pixels T1, T2, T3, and T4 are defined as representative pixels, and the remaining 44 pixels are defined as general pixels. It has established. For the four representative pixels T1, T2, T3, and T4, tables R1, R2, R3, and R4 indicating reflection characteristics (tables equivalent to the table R (u, v) shown in FIG. 8) are recorded. However, for the remaining general pixels, for example, the i-th general pixel Ti, instead of recording the table Ri, approximate representative pixels (representing the representative pixels R1 to T4) including the table closest to the table Ri are recorded. Data indicating either) is recorded.

たとえば、一般画素Tiに本来収録すべきテーブルRiと、4つの代表画素に収録されているテーブルR1〜R4とをそれぞれ比較した結果、テーブルR3が最も近似していると判断された場合には、一般画素Tiには、近似代表画素T3を示すデータが収録されることになる。このような手法を利用すれば、図8に示すような原テクスチャデータ20に基づいて、図9に示すような圧縮テクスチャデータ25を作成することが可能であり、圧縮後のデータ容量を大幅に低減させることができる。すなわち、圧縮テクスチャデータ25では、4つの代表画素T1〜T4についてのみ、データ容量の大きなテーブルを収容すれば足り、残りの44個の一般画素については、近似代表画素を示すデータのみを収容すればよい。   For example, as a result of comparing the table Ri to be originally recorded in the general pixel Ti and the tables R1 to R4 recorded in the four representative pixels, respectively, when it is determined that the table R3 is closest, Data indicating the approximate representative pixel T3 is recorded in the general pixel Ti. If such a method is used, it is possible to create the compressed texture data 25 as shown in FIG. 9 based on the original texture data 20 as shown in FIG. 8, and the data capacity after compression is greatly increased. Can be reduced. That is, in the compressed texture data 25, it is sufficient to accommodate a table with a large data capacity for only the four representative pixels T1 to T4, and for the remaining 44 general pixels, only data indicating approximate representative pixels can be accommodated. Good.

このような圧縮テクスチャデータ25は、一般的なパソコンの実装メモリ空間に展開することが可能になるので、実用上、パソコンにおいてもレンダリング処理が可能になる。この圧縮テクスチャデータ25を利用して、所定のサンプル点Qの位置における反射特性を求めるために、代表画素の位置を参照する必要がある場合には、当該代表画素に収録された反射特性を示すテーブルをそのまま利用すればよい。一方、一般画素の位置を参照する必要がある場合には、当該一般画素に収録されたデータから当該一般画素についての近似代表画素を認識し、この近似代表画素に収録された反射特性を示すテーブルを代用すればよい。   Since such compressed texture data 25 can be expanded in the mounting memory space of a general personal computer, rendering processing can also be practically performed on a personal computer. When it is necessary to refer to the position of the representative pixel in order to obtain the reflection characteristic at the position of the predetermined sample point Q using the compressed texture data 25, the reflection characteristic recorded in the representative pixel is indicated. Use the table as it is. On the other hand, when it is necessary to refer to the position of the general pixel, a table indicating the reflection characteristic recorded in the approximate representative pixel is recognized from the data recorded in the general pixel. Can be substituted.

もちろん、このようなデータ圧縮を行うと、テクスチャデータ自身の品質は低下することになる。これは、一般画素Tiについては、本来のテーブルRiの代わりに、近似代表画素のテーブル(たとえば、R3)を代用することになるので、本来の正しい反射特性ではない近似的な特性が用いられるからである。テクスチャデータの品質を維持するためには、画素の総数に対する代表画素の割合を高める必要がある。代表画素が増えれば増えるほど、一般画素の本来のテーブルに対して、より近似したテーブルをもつ近似代表画素が選択される可能性が高まるからである。しかしながら、代表画素の割合を増やせば増やすほど、圧縮率が低下することになる。結局、従来提案されている圧縮方法では、圧縮率向上と品質維持とを両立させることができない。本発明は、このような課題を解決するための新規な技術を提案するものである。   Of course, when such data compression is performed, the quality of the texture data itself is degraded. This is because, for the general pixel Ti, an approximate representative pixel table (for example, R3) is used instead of the original table Ri, and therefore approximate characteristics that are not the correct reflection characteristics are used. It is. In order to maintain the quality of the texture data, it is necessary to increase the ratio of the representative pixel to the total number of pixels. This is because as the number of representative pixels increases, the possibility of selecting an approximate representative pixel having a more approximate table with respect to the original table of general pixels increases. However, as the ratio of representative pixels increases, the compression rate decreases. Eventually, with the conventionally proposed compression methods, it is impossible to achieve both improvement in compression rate and quality maintenance. The present invention proposes a novel technique for solving such problems.

<<< §4.本発明の基本的着眼点 >>>
本発明は、§2で述べたBTFモデル用のテクスチャデータに代表されるように、個々の画素ごとに、光の入射方向や反射方向といった角度に依存して定まる反射特性を示すテーブルが定義されたテクスチャデータの効率的な圧縮方法を提案するものである。まず、この圧縮方法の着眼点を説明する。
<<< §4. Basic focus of the present invention >>>
In the present invention, as typified by the texture data for the BTF model described in §2, a table indicating reflection characteristics determined depending on an angle such as a light incident direction and a reflection direction is defined for each pixel. An efficient compression method for texture data is proposed. First, the focus of this compression method will be described.

いま、図10の側面図に示すような表面構造をもった実在の繊維シート30を考える。この繊維シート30の表面には、図示のとおり、毛並繊維31,32,33が植毛されているものとする。たとえば、絨毯やカーペットなどは、図示のような繊維シート30の代表格である。ここでは、説明の便宜上、この繊維シート30上の領域Aの部分に植毛されている毛並繊維31は斜め左方向に傾斜した状態となっており、領域Bの部分に植毛されている毛並繊維32は垂直上方を向いており、領域Cの部分に植毛されている毛並繊維33は斜め右方向に傾斜した状態となっているものとする。   Consider an actual fiber sheet 30 having a surface structure as shown in the side view of FIG. As shown in the figure, the row of fibers 31, 32, and 33 are implanted on the surface of the fiber sheet 30. For example, carpets and carpets are representative of the fiber sheet 30 as shown. Here, for convenience of explanation, the hair row fibers 31 planted in the region A on the fiber sheet 30 are inclined obliquely to the left, and the hair row fibers 32 planted in the region B portion. Is directed vertically upward, and the hair row fibers 33 planted in the region C are inclined obliquely to the right.

さて、この実在の繊維シート30に基づいて、図8に示すような原テクスチャデータ20を用意し、これを圧縮して、図9に示すような圧縮テクスチャデータ25を作成することを考えてみよう。   Now, let us consider preparing the original texture data 20 as shown in FIG. 8 based on the actual fiber sheet 30 and compressing it to create the compressed texture data 25 as shown in FIG. .

まず、原テクスチャデータ20を作成するには、実在の繊維シート30に対して、様々な方向から照明光を照射し、これを様々な方向から撮影することにより多数の撮影画像を収集する。そして、繊維シート30上の同一位置に関する個々の撮影画像の画素値に基づいて、当該位置の「角度に依存した反射特性」を求めればよい。たとえば、図10にT1と記された位置についての反射特性は、様々な撮影条件で収集された多数の撮影画像におけるT1に対応する位置の画素値により決定することができる。こうして、図10にT1,T2,Tiと記された位置には、それぞれ固有の反射特性を示すテーブルR1,R2,Riが定義されることになり、このような固有の反射特性を示すテーブルが定義された多数の画素の集合によって原テクスチャデータ20が構成されることになる。   First, in order to create the original texture data 20, a large number of captured images are collected by irradiating the actual fiber sheet 30 with illumination light from various directions and photographing it from various directions. And based on the pixel value of each picked-up image regarding the same position on the fiber sheet 30, what is necessary is just to obtain | require the "reflection property depending on an angle" of the said position. For example, the reflection characteristic for the position indicated as T1 in FIG. 10 can be determined by the pixel value at the position corresponding to T1 in a large number of captured images collected under various imaging conditions. Thus, the tables R1, R2, Ri indicating the unique reflection characteristics are defined at the positions indicated by T1, T2, Ti in FIG. 10, respectively. The original texture data 20 is composed of a set of a large number of defined pixels.

続いて、この原テクスチャデータ20を構成するM個の画素の中からN個(N<M)の代表画素を定め、残りの(M−N)個の画素を一般画素とし、この一般画素については、近似代表画素を選択することにより、圧縮テクスチャデータ25を作成する。ここでは、図10に示す繊維シート30上のT1と記された位置に対応する画素が代表画素T1として選択され、T2と記された位置に対応する画素が代表画素T2として選択されたものとし、Tiと記された位置に対応する画素は一般画素Tiとして残ったものとしよう。この場合、代表画素T1,T2については、原テクスチャデータ20に定義されているテーブルR1,R2がそのまま用いられることになるが、一般画素Tiについては、原テクスチャデータ20に定義されているテーブルRiの代わりに、代表画素T1,T2についてのテーブルR1,R2のうち、より近似している方を代用することになる。   Subsequently, N (N <M) representative pixels are determined from the M pixels constituting the original texture data 20, and the remaining (MN) pixels are set as general pixels. Creates compressed texture data 25 by selecting approximate representative pixels. Here, it is assumed that the pixel corresponding to the position indicated by T1 on the fiber sheet 30 illustrated in FIG. 10 is selected as the representative pixel T1, and the pixel corresponding to the position indicated by T2 is selected as the representative pixel T2. , Let the pixel corresponding to the position marked Ti remain as a general pixel Ti. In this case, the tables R1 and R2 defined in the original texture data 20 are used as they are for the representative pixels T1 and T2, but the table Ri defined in the original texture data 20 is used for the general pixel Ti. Instead, the more approximate one of the tables R1, R2 for the representative pixels T1, T2 is substituted.

図10に示す例では、上述したとおり、領域Aの毛並繊維31は斜め左方向に伸び、領域Bの毛並繊維32は垂直上方に伸び、領域Cの毛並繊維33は斜め右方向に伸びている。このような場合、通常は、代表画素T2のテーブルR2の方が、代表画素T1のテーブルR1よりも、一般画素TiについてのテーブルRiに対する近似度が高くなると考えられる。これは、領域Cの毛並繊維33が斜め右方向に伸びているのに対して、領域Aの毛並繊維31は逆方向である斜め左方向に伸びているため、垂直上方に伸びた毛並繊維32をもつ領域Bの方が反射特性に関する近似度が高くなると考えられるからである。   In the example shown in FIG. 10, as described above, the hair row fibers 31 in the region A extend obliquely leftward, the hair row fibers 32 in the region B extend vertically upward, and the hair row fibers 33 in the region C extend obliquely rightward. . In such a case, it is generally considered that the table R2 for the representative pixel T2 has a higher degree of approximation to the table Ri for the general pixel Ti than the table R1 for the representative pixel T1. This is because the hair row fibers 33 in the region C extend obliquely in the right direction, whereas the hair row fibers 31 in the region A extend in the diagonal left direction, which is the opposite direction, and therefore the hair row fibers 32 that extend vertically upward. This is because it is considered that the degree of approximation regarding the reflection characteristics is higher in the region B having.

図11は、これら3つの領域A,B,C内の画素T1,T2,Tiについて、原テクスチャデータ20に定義されている反射特性を示すテーブルR1,R2,Riの相関関係を示す平面図である。なお、図8では、θL,φL,θV,φVの4つの角度の組み合わせについてのテーブルR(u,v)を例示したが、図11では、図示の便宜上、仰角θL,θVが特定の角度に固定されているものとして、方位角φL,φVの組み合わせについてのテーブルのみを示すことにする。すなわち、図11に示すテーブルR1,R2,Riは、たとえば、図8に示すテーブルR(u,v)におけるθL1,θV1に対応する部分のみを抜き出した部分テーブルであり、ここには、それぞれ12通りのφL(φL1〜φL12)と、12通りのφV(φV1〜φV12)との組み合わせによって、合計144通りの反射特性が定義されている。   FIG. 11 is a plan view showing the correlation between the tables R1, R2, Ri indicating the reflection characteristics defined in the original texture data 20 for the pixels T1, T2, Ti in these three regions A, B, C. is there. 8 illustrates the table R (u, v) for combinations of the four angles θL, φL, θV, and φV, but in FIG. 11, the elevation angles θL and θV are set to specific angles for convenience of illustration. As fixed, only the table for the combination of azimuth angles φL and φV will be shown. In other words, the tables R1, R2, Ri shown in FIG. 11 are partial tables in which only the portions corresponding to θL1, θV1 in the table R (u, v) shown in FIG. 8 are extracted. A total of 144 reflection characteristics are defined by combinations of 12 φL (φL1 to φL12) and 12 φV (φV1 to φV12).

圧縮テクスチャデータ25を作成する場合、代表画素T1,T2については、図示されているテーブルR1,R2をそのまま用いることができるが、一般画素Tiについては、本来のテーブルRi(原テクスチャデータ20に収録されているテーブル)の代わりに、テーブルR1,R2のうちのいずれか近似度の高いテーブルを代用しなければならない。そして、従来提案されている一般的な圧縮方法によると、上述したとおり、テーブルRiとテーブルR2との近似度の方が、テーブルRiとテーブルR1との近似度よりも高くなるため、テーブルRiに最も近似するテーブルはテーブルR2ということになる。その結果、圧縮テクスチャデータ25では、図示された領域Cの一般画素Tiについては、代表画素T2のテーブルR2を代用することを示すデータが収録されることになる。   When creating the compressed texture data 25, the illustrated tables R1 and R2 can be used as they are for the representative pixels T1 and T2, but the original table Ri (recorded in the original texture data 20) is used for the general pixels Ti. In place of the table), one of the tables R1 and R2 having a high degree of approximation must be substituted. According to the conventionally proposed general compression method, the degree of approximation between the table Ri and the table R2 is higher than the degree of approximation between the table Ri and the table R1, as described above. The most approximate table is the table R2. As a result, in the compressed texture data 25, data indicating that the table R2 of the representative pixel T2 is substituted for the general pixel Ti in the illustrated region C is recorded.

実際、図10に示す領域A,B,Cの毛並繊維31,32,33の向きを考慮すると、斜め右方向に伸びている毛並繊維33が植毛された領域Cの反射特性としては、全く逆方向に伸びている毛並繊維31が植毛された領域Aの反射特性を代用するよりも、垂直上方に伸びている毛並繊維32が植毛された領域Bの反射特性を代用した方が好ましいと考えられる。また、図11において、テーブルRi−R1間の近似度と、テーブルRi−R2間の近似度と、を定量的に評価すれば、後者の方が前者より高くなるであろう。したがって、従来の一般的な圧縮方法では、代表画素T2が一般画素Tiについての近似代表画素として選出されることになる。   Actually, considering the direction of the hair row fibers 31, 32, 33 in the regions A, B, C shown in FIG. 10, the reflection characteristics of the region C in which the hair row fibers 33 extending diagonally rightward are planted are completely opposite. It is considered to be preferable to substitute the reflection characteristic of the region B in which the hair row fibers 32 extending in the vertical direction are substituted, instead of substituting the reflection property of the region A in which the hair row fibers 31 extending in the direction are planted. . In addition, in FIG. 11, if the degree of approximation between the tables Ri-R1 and the degree of approximation between the tables Ri-R2 are quantitatively evaluated, the latter will be higher than the former. Therefore, in the conventional general compression method, the representative pixel T2 is selected as the approximate representative pixel for the general pixel Ti.

ところが、本願発明者は、図10において、領域Aに植毛されている毛並繊維31の方位角(毛並繊維31を繊維シート30のシート面上に投影したときの向きを示す角度、図7に示す0〜360°の角度に相当)を180°だけシフトさせると、領域Cに植毛されている毛並繊維33と同じ向きになる点に着目した。すなわち、毛並繊維31の左方への傾斜角と毛並繊維33の右方への傾斜角とが等しかったとすると、方位角を180°シフトさせた毛並繊維31は、毛並繊維33と完全に一致することになる。別言すれば、図10において、Tiの位置に所定の方位角φLの方向から照明光Lを照射したときに、所定の方位角φVの方向に射出する反射光Vの反射特性は、T1の位置に所定の方位角(φL+180°)の方向から照明光Lを照射したときに、所定の方位角(φV+180°)の方向に射出する反射光Vの反射特性と等価になる。   However, the inventor of FIG. 10 shows an azimuth angle of the row of fibers 31 planted in the region A in FIG. 10 (an angle indicating the direction when the row of fibers 31 is projected onto the sheet surface of the fiber sheet 30, FIG. When it is shifted by 180 ° (corresponding to an angle of 0 to 360 °), attention is paid to the fact that the hairs are aligned in the same direction as the hair row fibers 33 implanted in the region C. That is, if the inclination angle to the left of the hair row fibers 31 is equal to the inclination angle to the right side of the hair row fibers 33, the hair row fibers 31 with the azimuth angle shifted by 180 ° completely coincide with the hair row fibers 33. It will be. In other words, in FIG. 10, when the illumination light L is irradiated to the position of Ti from the direction of the predetermined azimuth angle φL, the reflection characteristic of the reflected light V emitted in the direction of the predetermined azimuth angle φV is T1 This is equivalent to the reflection characteristic of the reflected light V emitted in the direction of the predetermined azimuth angle (φV + 180 °) when the position is irradiated with the illumination light L from the direction of the predetermined azimuth angle (φL + 180 °).

そこで、領域Aの代表画素T1について定義されているテーブルR1の方位角φLおよびφVを180°だけシフトさせることにより、新たなテーブルを定義する。図12の左側に示すテーブルR1は、このようにして定義されたテーブルである。ここで、このテーブルR1の列見出し「φL7」,「φL8」,…は、図11の左側に示すテーブルR1の列見出し「φL7」,「φL8」,…(図11では、「φL7」,「φL8」の図示は省略されている)に対応し、テーブルR1の行見出し「φV7」,「φV8」,…は、図11の左側に示すテーブルR1の行見出し「φV7」,「φV8」,…(図11では、「φV7」,「φV8」の図示は省略されている)に対応する。 Therefore, a new table is defined by shifting the azimuth angles φL and φV of the table R1 defined for the representative pixel T1 in the region A by 180 °. The table R1 * shown on the left side of FIG. 12 is a table defined in this way. Here, column headings “φL7”, “φL8”,... Of the table R1 * are column headings “φL7”, “φL8”,... (Shown as “φL7” in FIG. The row headings “φV7”, “φV8”,... Of the table R1 * correspond to the row headings “φV7”, “φV8” of the table R1 shown on the left side of FIG. ,... (In FIG. 11, “φV7” and “φV8” are not shown).

二つのテーブルR1,R1において、同一の見出しで特定される行や列のコンテンツは同一である。別言すれば、見出しが同じ行や列は、コンテンツも同じになるように、テーブルコンテンツのシフトが行われている。たとえば、テーブルR1の列見出し「φL7」で示される第1列目のコンテンツは、テーブルR1の列見出し「φL7」で示される第7列目のコンテンツに一致し(行は入れ替わっている)、テーブルR1の行見出し「φV7」で示される第1行目のコンテンツは、テーブルR1の行見出し「φL7」で示される第7行目のコンテンツに一致する(列は入れ替わっている)。より具体的に説明すれば、テーブルR1およびR1は、いずれも12行12列の表であるが、テーブルR1の1行1列目のセル(左上のセル)の内容は、テーブルR1の7行7列目のセルの内容に等しい。このようなテーブルR1を作成すれば、テーブルRiに最も近似するテーブルは、テーブルR2ではなく、テーブルR1ということになる。 In the two tables R1, R1 * , the contents of the rows and columns specified by the same heading are the same. In other words, the table contents are shifted so that the contents of the same row and column with the same heading are the same. For example, the content of the first column indicated by the column heading “φL7” of the table R1 * matches the content of the seventh column indicated by the column heading “φL7” of the table R1 (rows are switched). The content of the first row indicated by the row header “φV7” of the table R1 * matches the content of the seventh row indicated by the row header “φL7” of the table R1 (columns are switched). More specifically, the tables R1 and R1 * are both 12 rows and 12 columns, but the contents of the cell in the first row and the first column (the upper left cell) of the table R1 * are the same as those in the table R1. It is equal to the contents of the cell in the seventh row and the seventh column. If such a table R1 * is created, the table closest to the table Ri is not the table R2, but the table R1 * .

結局、図10に示す例において、一般画素Tiについての近似代表画素を選出する場合、従来どおりの手法を採れば、代表画素T2が近似代表画素として選出されることになるが、方位角のシフトという本発明に係る手法を採れば、「方位角を180°シフトさせる」という条件を加味することにより、代表画素T1を近似代表画素として選出することが可能になる。この場合、一般画素Tiについては、テーブルRiを収録する代わりに、「代表画素T1」という情報と「方位角を180°シフト」という情報を収録しておけばよい。実際のレンダリング処理において、一般画素Tiが参照された場合には、この収録された情報に基づいて、「代表画素T1」に収録されているテーブルR1を抽出した後「方位角を180°シフト」させる処理を施してテーブルR1を作成し、このテーブルR1を用いて反射特性を決定すればよい。 After all, in the example shown in FIG. 10, when selecting the approximate representative pixel for the general pixel Ti, if the conventional method is adopted, the representative pixel T2 is selected as the approximate representative pixel. If the method according to the present invention is adopted, the representative pixel T1 can be selected as an approximate representative pixel by taking into account the condition of “shifting the azimuth angle by 180 °”. In this case, for the general pixel Ti, instead of recording the table Ri, information “representative pixel T1” and information “shift azimuth 180 °” may be recorded. In the actual rendering process, when the general pixel Ti is referred to, the table R1 recorded in the “representative pixel T1” is extracted based on the recorded information, and then the “azimuth angle is shifted by 180 °” The table R1 * is created by performing the processing described above, and the reflection characteristics may be determined using the table R1 * .

<<< §5.本発明によるデータ圧縮方法の基本理念 >>>
以上、§4では、図10に示す毛並繊維31,33の傾斜方向が逆向きの関係にあることを利用して、「方位角を180°シフトさせる」という条件付きで代表画素T1を一般画素Tiの近似代表画素として選出すると、うまくゆく例を示した。しかしながら、実際には、必ずしもこのような最適な代表画素が存在するとは限らない。そこで実用上は、方位角のシフト量(以下、オフセット量と呼ぶ)を複数通り設定しておき、個々の代表画素についてのテーブルを、これら複数通りのオフセット量だけシフトさせることにより、複数のバリエーションをもったテーブルを定義し、これらのテーブルすべてを比較対象としたときに最も近似するテーブルを最近似テーブルと決定し、この最近似テーブルを派生させた代表画素を近似代表画素として選択すればよい。
<<< §5. Basic idea of data compression method according to the present invention >>>
As described above, in §4, the representative pixel T1 is set as a general pixel under the condition of “shifting the azimuth angle by 180 °” by utilizing the fact that the inclination directions of the hair row fibers 31 and 33 shown in FIG. An example of successful selection as an approximate representative pixel of Ti is shown. However, actually, such an optimal representative pixel does not always exist. Therefore, in practice, multiple variations of azimuth angle shift amounts (hereinafter referred to as offset amounts) are set, and the table for each representative pixel is shifted by these multiple offset amounts. Is defined as the closest approximation table, and the representative pixel derived from the closest approximation table is selected as the approximate representative pixel. .

図13は、照明光Lの方位角φLを所定のオフセット量だけシフトさせることにより、テーブルのコンテンツをローテーションさせ、複数のバリエーションをもったテーブルを定義する原理を示す平面図である。図13(a) が「もとのテーブル」であるとすると、図13(b) は、φLを30°シフトしたテーブルに相当する。この例では、φVについてのシフトは行われていない。ここで、列見出しに着目すると、図13(a) のテーブルでは、第1列目の列見出しが「φL1」であり、以下、「φL2」,「φL3」,…と続き、第12列目の列見出しが「φL12」となっているのに対して、図13(b) のテーブルでは、第1列目の列見出しが「φL2」であり、以下、「φL3」,「φL4」,…と続き、第12列目の列見出しが「φL1」となっている。   FIG. 13 is a plan view showing the principle of defining a table having a plurality of variations by rotating the contents of the table by shifting the azimuth angle φL of the illumination light L by a predetermined offset amount. If FIG. 13A is an “original table”, FIG. 13B corresponds to a table obtained by shifting φL by 30 °. In this example, the shift for φV is not performed. Here, paying attention to the column headings, in the table of FIG. 13A, the column heading of the first column is “φL1”, and subsequently, “φL2”, “φL3”,. 13 is “φL12”, whereas in the table of FIG. 13B, the column heading of the first column is “φL2”. Hereinafter, “φL3”, “φL4”,. Subsequently, the column heading of the 12th column is “φL1”.

結局、図13(a) に示す「もとのテーブル」において、第1列目のコンテンツをそっくり第12列目へとまわし、第2列目のコンテンツを第1列目へと移動し、第3列目のコンテンツを第2列目へとまわし、…とそれぞれ1列分だけ左方向へローテーションシフトさせると、図13(b) に示すテーブル(φLをオフセット量30°だけシフトしたテーブル)が得られることになる。同様に、図13(a) に示す「もとのテーブル」のコンテンツを、それぞれ2列分だけ左方向へローテーションシフトさせると、図13(c) に示すテーブル(φLをオフセット量60°だけシフトしたテーブル)が得られる。以下、図13(d) 〜図13(l) の各テーブルは、図13(a) に示すテーブルを基準として、方位角φLをオフセット量90°〜330°だけシフトしたテーブルを示している。   After all, in the “original table” shown in FIG. 13 (a), the contents of the first column are turned to the twelfth column, the contents of the second column are moved to the first column, If the contents in the third column are rotated to the second column, and each of them is rotated to the left by one column, the table shown in FIG. 13 (b) (a table obtained by shifting φL by an offset amount of 30 °) is obtained. Will be obtained. Similarly, if the contents of the “original table” shown in FIG. 13 (a) are rotated to the left by two columns, the table shown in FIG. 13 (c) (φL is shifted by an offset amount of 60 °). Table). Hereinafter, each table of FIGS. 13D to 13L is a table in which the azimuth angle φL is shifted by an offset amount of 90 ° to 330 ° with reference to the table shown in FIG. 13A.

このように、方位角φLを30°刻みのオフセット量でそれぞれローテーションシフトさせることにより、図示のとおり、合計12通りのバリエーションをもったテーブルが得られる。これら12通りのテーブルは、いずれも同一のデータをコンテンツとして含んでいるが、「各データをどの列に含んでいるか」が互いに異なることになる。   In this way, by rotating the azimuth angle φL by an offset amount in increments of 30 °, a table having a total of 12 variations as shown in the figure can be obtained. These 12 tables all contain the same data as the contents, but “in which column each data is included” are different from each other.

この図13では、入射する照明光Lの方位角φLを30°刻みのオフセット量でそれぞれローテーションシフトさせたものであり、射出する反射光Vの方位角φVについてのシフトは行っていないが、実際には、この図13(a) 〜(l) に示す個々のテーブルについて、それぞれ反射光Vの方位角φVを30°刻みのオフセット量でそれぞれローテーションシフトさせたバリエーションも作成する。たとえば、図13(a) のテーブルにおいて、第1行目のコンテンツをそっくり第12行目へとまわし、第2行目のコンテンツを第1行目へと移動し、第3行目のコンテンツを第2行目へとまわし、…とそれぞれ1行分だけ上方向へローテーションシフトさせると、φVをオフセット量30°だけシフトしたテーブルが得られることになる。図12の左側に示すテーブルR1は、図13(g) に示す「φLを180°シフトしたテーブル」に対して、更に「φVを180°シフト」することにより得られたテーブルということになる。 In FIG. 13, the azimuth angle φL of the incident illumination light L is rotationally shifted by an offset amount of 30 °, and the azimuth angle φV of the reflected light V to be emitted is not shifted. For each of the tables shown in FIGS. 13 (a) to 13 (l), variations are also created in which the azimuth angle φV of the reflected light V is rotationally shifted by an offset amount of 30 °. For example, in the table of FIG. 13 (a), the content of the first row is turned to the twelfth row, the content of the second row is moved to the first row, and the content of the third row is changed. Turning to the second line and rotating the lines upward by one line respectively, a table obtained by shifting φV by an offset amount of 30 ° is obtained. The table R1 * shown on the left side of FIG. 12 is a table obtained by further shifting “φV by 180 °” with respect to the “table obtained by shifting φL by 180 °” shown in FIG. 13 (g). .

このように、図13(a) に示す「もとのテーブル」に対して、方位角φLを30°刻みのオフセット量でそれぞれローテーションシフトさせることにより、図13(a)〜(l) に示す12通りのバリエーションを作成し、これら12通りのバリエーションのそれぞれに対して、更に方位角φVを30°刻みのオフセット量でそれぞれローテーションシフトさせたバリエーションを作成すると、図13(a) に示すもとのテーブルから派生した合計144通りのバリエーションが得られることになる。図12の左側に示すテーブルR1は、この144通りのバリエーションのうちの1つである。 As shown in FIGS. 13A to 13L, the azimuth angle φL is rotationally shifted with respect to the “original table” shown in FIG. When 12 variations are created, and each of these 12 variations is further rotated by azimuth angle φV by an offset amount of 30 °, a variation shown in FIG. A total of 144 variations derived from this table are obtained. The table R1 * shown on the left side of FIG. 12 is one of the 144 variations.

本発明によるデータ圧縮方法の基本理念は、たとえば、図11に示すように2つの代表画素T1,T2が定められた場合に、これら代表画素について定義されているテーブルR1,R2の角度のパラメータφL,φVをそれぞれ様々なオフセット量だけシフトさせることにより、複数のバリエーションをもったテーブルを定義し、一般画素TiについてのテーブルRiに最も近似しているテーブルを見つける際に、これら複数のバリエーションのすべてを比較対象とする、という点にある。図11に示す単純な例の場合、従来の方法では、テーブルRiに最も近似するテーブルの候補は、テーブルR1,R2のわずか2候補しかないが、本発明の方法では、上述した方法によりバリエーションを生じさせることにより、テーブルR1から派生したテーブルが144種類、テーブルR2から派生したテーブルが144種類、合計288種類の候補が得られる。   The basic idea of the data compression method according to the present invention is that, for example, when two representative pixels T1 and T2 are defined as shown in FIG. 11, the angle parameter φL of the tables R1 and R2 defined for these representative pixels. , ΦV are respectively shifted by various offset amounts to define a table having a plurality of variations, and when finding a table that is closest to the table Ri for the general pixel Ti, Is to be compared. In the case of the simple example shown in FIG. 11, in the conventional method, there are only two candidates for the table Ri and R2, which are the closest to the table Ri, but in the method of the present invention, variations are made by the method described above. As a result, 144 types of tables derived from the table R1, 144 types of tables derived from the table R2, and a total of 288 types of candidates are obtained.

もちろん、このようなバリエーションを生じさせた候補の中から、テーブルRiに最も近似するテーブルを選択した場合、テーブルRiに代用するテーブルを指定するためには、どの代表画素についてのテーブルから派生したどのバリエーションであるかを特定する必要がある。したがって、従来の方法では、たとえば図11に示す一般画素Tiについては、「近似代表画素T2」を示す情報を収録しておけば足りるが、本発明の方法では、たとえば図12に示す一般画素Tiについては、「近似代表画素T1」を示す情報に加えて、「φLのオフセット量180°、φVのオフセット量180°」というオフセット量を示す情報も収録しておく必要がある。もっとも、このようなオフセット量を示す情報のデータ容量は、テーブルRi全体のデータ容量に比べれば極めて小さいため、テクスチャデータの圧縮方法として、従来の方法の代わりに本発明の方法を採っても、データの圧縮率はほとんど低下することはない。   Of course, when a table closest to the table Ri is selected from the candidates that have caused such variations, in order to designate a table to substitute for the table Ri, which representative pixel is derived from which table It is necessary to identify whether it is a variation. Therefore, in the conventional method, for example, for the general pixel Ti shown in FIG. 11, it is sufficient to record information indicating “approximate representative pixel T2,” but in the method of the present invention, for example, the general pixel Ti shown in FIG. In addition to information indicating “approximate representative pixel T1”, it is also necessary to record information indicating an offset amount of “φL offset amount 180 °, φV offset amount 180 °”. However, since the data capacity of information indicating such an offset amount is extremely small compared to the data capacity of the entire table Ri, even if the method of the present invention is used instead of the conventional method as a texture data compression method, The data compression rate hardly decreases.

一方、圧縮後のテクスチャデータの品質に着目すると、本発明の方法により得られた圧縮テクスチャデータの品質は、従来の方法により得られた圧縮テクスチャデータの品質よりも格段に向上することは明らかである。上述の例の場合、従来の方法では、テーブルRiの代用候補がテーブルR1,R2のわずか2種類であるのに対し、本発明の方法では、候補数は288種類と飛躍的に増加するので、当然、代用されるテーブルの近似度も向上し、大幅な品質向上が見込まれる。そのため、本発明の方法を採れば、代表画素の数を多少減らしたとしても、従来の方法よりも高い品質をもった圧縮テクスチャデータを得ることも可能である。   On the other hand, paying attention to the quality of the texture data after compression, it is clear that the quality of the compressed texture data obtained by the method of the present invention is much higher than the quality of the compressed texture data obtained by the conventional method. is there. In the case of the above example, in the conventional method, there are only two types of substitution candidates for the table Ri, the tables R1 and R2, whereas in the method of the present invention, the number of candidates increases dramatically to 288 types. Naturally, the degree of approximation of the table to be substituted is also improved, and significant quality improvement is expected. Therefore, if the method of the present invention is adopted, even if the number of representative pixels is somewhat reduced, it is possible to obtain compressed texture data having a higher quality than the conventional method.

たとえば、図9に示す例では、合計48個の画素の中から4個の画素T1〜T4を代表画素として定め、残りの44個の一般画素Tiについては、4通りのテーブルR1〜R4のいずれかを代用することによりデータ量を圧縮していたが、本発明の方法を採れば、代表画素の数を3個に減らしたとしても、従来の方法よりも高い品質をもった圧縮テクスチャデータを得ることが期待できる。たとえば、代表画素がT1〜T3の3つしかなくても、これら代表画素のテーブルR1〜R3について、それぞれ144通りのバリエーションを作成すれば、代用テーブルの候補は432種類にも増大することになり、従来の方法の場合の3種類の候補に比べて飛躍的に向上する。   For example, in the example shown in FIG. 9, four pixels T1 to T4 are determined as representative pixels from a total of 48 pixels, and the remaining 44 general pixels Ti are any of the four tables R1 to R4. However, if the method of the present invention is adopted, even if the number of representative pixels is reduced to three, compressed texture data having higher quality than the conventional method can be obtained. You can expect to get. For example, even if there are only three representative pixels T1 to T3, if 144 variations are created for each of the representative pixel tables R1 to R3, the number of substitution table candidates increases to 432 types. Compared with the three types of candidates in the case of the conventional method, this is a dramatic improvement.

結局、本発明に係る圧縮方法を採用すれば、従来よりも少ない代表画素で対応することが可能になり、全体的な圧縮率の向上を図ることができ、しかも従来より高い品質をもった圧縮テクスチャデータを作成することが可能になる。また、圧縮や展開は、テーブルコンテンツのシフト動作で行うことができるので、高速な展開処理が可能になる。   In the end, if the compression method according to the present invention is adopted, it becomes possible to cope with fewer representative pixels than before, and the overall compression rate can be improved, and compression with higher quality than before is possible. Texture data can be created. In addition, since compression and decompression can be performed by a table content shift operation, high-speed decompression processing is possible.

なお、図11〜図13では、図示の便宜上、特定の仰角θL,θVについてのテーブルのみを示したが、実際には、これらの各テーブルは、BTFモデルにおけるテクスチャデータを構成する1画素に定義された反射特性を示すテーブルの一部分のみを抜き出して示した部分テーブルである。BTFモデルの場合、1画素に定義される反射特性を示す本来のテーブルは、図8に示すテーブルR(u,v)のように、72行72列のサイズのマトリックスになる。図11〜図13に示すテーブルは、この図8に示すテーブルR(u,v)において、たとえば、θL1,θV1に対応する部分(左上の一部分)のみを抜き出した部分テーブル(12行12列のサイズのマトリックス)に相当する。   11 to 13 show only tables for specific elevation angles θL and θV for convenience of illustration, but in actuality, these tables are defined as one pixel constituting the texture data in the BTF model. It is the partial table which extracted and showed only a part of table which showed the reflected characteristic made. In the case of the BTF model, the original table indicating the reflection characteristics defined for one pixel is a matrix having a size of 72 rows and 72 columns, as in the table R (u, v) shown in FIG. The table shown in FIGS. 11 to 13 is a partial table (12 rows by 12 columns) extracted from only the portion corresponding to θL1 and θV1 (the upper left portion) in the table R (u, v) shown in FIG. Size matrix).

したがって、実際には、バリエーションを派生させるための「もとのテーブル」は、図13(a) に示す部分テーブルではなく、図8に示すようなテーブルR(u,v)ということになる。そして、たとえば、φLを30°シフトさせたテーブルは、図13(b) に示す部分テーブルではなく、図14に示すようなテーブルということになる。図13(b) に示す部分テーブルは、この図14に示すテーブルにおいて、たとえば、θL1,θV1に対応する部分(左上の一部分)のみを抜き出したものに相当する。   Therefore, in practice, the “original table” for deriving the variation is not the partial table shown in FIG. 13A but the table R (u, v) as shown in FIG. For example, a table obtained by shifting φL by 30 ° is not a partial table shown in FIG. 13B but a table as shown in FIG. The partial table shown in FIG. 13 (b) corresponds to the table shown in FIG. 14, for example, in which only the portions corresponding to θL1 and θV1 (the upper left portion) are extracted.

もっとも、図14に示すテーブルにおいて、「θL2,θV1」に該当する部分テーブルに着目すると、やはり第1列目の列見出しが「φL2」であり、以下、「φL3」,「φL4」,…と続き、第12列目の列見出しが「φL1」となっている。したがって、図8に示すもとのテーブルの「θL2,θV1」に該当する部分テーブルにおいて、第1列目のコンテンツをそっくり第12列目へとまわし、第2列目のコンテンツを第1列目へと移動し、第3列目のコンテンツを第2列目へとまわし、…とそれぞれ1列分だけ左方向へローテーションシフトさせることにより、図14に示す「θL2,θV1」に該当する部分テーブルが得られることになる。他の部分テーブルについても全く同様である。   However, in the table shown in FIG. 14, when focusing on the partial table corresponding to “θL2, θV1”, the column heading of the first column is “φL2”, and “φL3”, “φL4”,. Subsequently, the column heading of the twelfth column is “φL1”. Therefore, in the partial table corresponding to “θL2, θV1” in the original table shown in FIG. 8, the contents of the first column are turned to the twelfth column, and the contents of the second column are changed to the first column. , Turn the content in the third column to the second column, and so on, and shift them to the left by one column, thereby causing the partial table corresponding to “θL2, θV1” shown in FIG. Will be obtained. The same applies to other partial tables.

一方、図15は、図8に示すテーブルR(u,v)を「もとのテーブル」として、φVを30°シフトさせたテーブルである。このテーブルも、個々の部分テーブルごとに、第1行目のコンテンツをそっくり第12行目へとまわし、第2行目のコンテンツを第1行目へと移動し、第3行目のコンテンツを第2行目へとまわし、…とそれぞれ1行分だけ上方向へローテーションシフトさせることにより得られる。   On the other hand, FIG. 15 is a table in which φV is shifted by 30 ° with the table R (u, v) shown in FIG. 8 as the “original table”. In this table, for each partial table, the content of the first row is turned to the twelfth row, the content of the second row is moved to the first row, and the content of the third row is changed. It can be obtained by turning to the second line and rotating the lines upward by one line.

結局、図9に示す例のように、4つの代表画素T1〜T4を定義した場合、これら各代表画素についてのテーブルR1〜R4は、実際には、それぞれが図8に示すようなサイズ(72行72列のマトリックス)のテーブルR(u,v)ということになる。そこで、これら各テーブルR1〜R4について、それぞれ同じサイズの144通りのバリエーションが作成されることになる。図14,図15に示すテーブルは、この144通りのバリエーションの1つである。一方、一般画素Tiについても、同様に、72行72列のマトリックスからなるテーブルRiが用意されており、図9に示すように4つの代表画素を定義した場合、144×4通りの候補の中から、このテーブルRiに最も近似するテーブルが選択されることになる。   After all, when four representative pixels T1 to T4 are defined as in the example shown in FIG. 9, the tables R1 to R4 for each of these representative pixels are actually the sizes (72 shown in FIG. 8). This is a table R (u, v) of a matrix of 72 rows and columns. Therefore, 144 variations of the same size are created for each of the tables R1 to R4. The table shown in FIGS. 14 and 15 is one of the 144 variations. On the other hand, for the general pixel Ti, a table Ri comprising a matrix of 72 rows and 72 columns is prepared in the same way. When four representative pixels are defined as shown in FIG. Therefore, the table closest to this table Ri is selected.

<<< §6.本発明に係るテクスチャデータの作成方法の基本手順 >>>
続いて、図16の流れ図を参照しながら、本発明に係るレンダリング用テクスチャデータの作成方法の基本手順を説明する。なお、この基本手順において、ステップS11は、必ずしもコンピュータを用いて実行する必要はないが、ステップS12〜S14の各段階は、コンピュータによって実行することを前提とした処理である。
<<< §6. Basic procedure of texture data creation method according to the present invention >>>
Next, the basic procedure of the rendering texture data creation method according to the present invention will be described with reference to the flowchart of FIG. In this basic procedure, step S11 does not necessarily have to be executed using a computer, but each stage of steps S12 to S14 is processing premised on being executed by a computer.

まず、ステップS11の原データ準備段階では、M個の画素の集合からなり、個々の画素ごとに、光の入射方向もしくは反射方向、または入射方向と反射方向との双方(本願では、「入射方向および/または反射方向」と記述する)に関する角度に依存して定まる反射特性を示すテーブルが定義された原テクスチャデータが用意される。前述の例では、図8に示すテクスチャデータ20が、このステップS11で用意される原テクスチャデータに相当する。   First, in the original data preparation stage of step S11, it consists of a set of M pixels, and for each individual pixel, both the incident direction or reflection direction of light, or both the incident direction and reflection direction (in this application, “incident direction”). Original texture data in which a table indicating reflection characteristics determined depending on an angle with respect to (and / or a reflection direction) is defined is prepared. In the above example, the texture data 20 shown in FIG. 8 corresponds to the original texture data prepared in step S11.

なお、ここに示す実施形態では、前述したとおり、BTFモデルに基づくレンダリングを行うことを前提としたBTFモデルのテクスチャを取り扱う例を述べるが、本発明の適用は、BTFモデルのテクスチャに限定されるものではない。ただ、実用上は、BTFモデルへの適用が最も好ましい形態であり、以下の説明も、このBTFモデルのテクスチャに適用した例を前提として述べることにする。   In the embodiment shown here, as described above, an example of handling a texture of a BTF model on the assumption that rendering based on the BTF model is performed will be described, but the application of the present invention is limited to the texture of the BTF model. It is not a thing. However, practically, the application to the BTF model is the most preferable form, and the following description will be described on the assumption that this is applied to the texture of the BTF model.

BTFモデルでは、図4を参照して既に説明したとおり、テクスチャデータのマッピング対象となる仮想物体の表面上に、サンプル点Qと、このサンプル点Qの位置に立てた法線nと、サンプル点Qを含み法線nに直交する基準面Sと、サンプル点Qを通る基準面S上の基準線ζと、が定義される。そして、サンプル点Qに入射する照明光Lと法線nとのなす角をθL、基準面S上への照明光Lの投影像L′と基準線ζとのなす角をφL、サンプル点Qから射出する反射光Vと法線nとのなす角をθV、基準面S上への反射光Vの投影像V′と基準線ζとのなす角をφVとしたときに、「θL,φL,θV,φV」の関数として与えられる反射係数K(θL,φL,θV,φV)をテーブルとして定義したテクスチャデータが用いられることになる。したがって、ステップS11で用意される原テクスチャデータは、たとえば、図5に示すようなデータということになる。この反射係数Kは、二次元uv座標系の各座標値u,vを変数として加えることにより、K(θL,φL,θV,φV,u,v)なる6つの変数をもった関数として表現できることは既に述べたとおりである。   In the BTF model, as already described with reference to FIG. 4, the sample point Q, the normal n set at the position of the sample point Q, the sample point on the surface of the virtual object to which the texture data is to be mapped, A reference plane S including Q and orthogonal to the normal n and a reference line ζ on the reference plane S passing through the sample point Q are defined. The angle between the illumination light L incident on the sample point Q and the normal line n is θL, the angle between the projection image L ′ of the illumination light L on the reference surface S and the reference line ζ is φL, and the sample point Q When the angle between the reflected light V emerging from the normal line n is θV and the angle between the projected image V ′ of the reflected light V on the reference surface S and the reference line ζ is φV, “θL, φL , ΘV, φV ”, texture data defining a reflection coefficient K (θL, φL, θV, φV) as a table is used. Therefore, the original texture data prepared in step S11 is, for example, data as shown in FIG. The reflection coefficient K can be expressed as a function having six variables K (θL, φL, θV, φV, u, v) by adding the coordinate values u, v of the two-dimensional uv coordinate system as variables. Is as already described.

なお、反射係数K(θL,φL,θV,φV)は、θL,φL,θV,φVを変数とした関数式として定義することも可能であるが、本発明では、各反射係数K(θL,φL,θV,φV)が数値テーブルとして与えられることを前提としており、実際には、図8に例示したようなテーブルR(u,v)の形式で定義される。このテーブルR(u,v)の個々のセルには、既に説明したとおり、反射特性を示すデータとして、三原色RGBの波長をもった照明光それぞれについての反射率を示す数値Kr,Kg,Kbがコンテンツとして収録されている。もっとも、モノクロ画像の処理だけを目的としたレンダリング処理に用いるテクスチャデータの場合は、このような各原色ごとの反射率を用意する必要はなく、単一の反射率を示すデータのみを収録しておけば十分である。   The reflection coefficient K (θL, φL, θV, φV) can also be defined as a function expression with θL, φL, θV, φV as variables, but in the present invention, each reflection coefficient K (θL, (φL, θV, φV) are assumed to be given as numerical tables, and are actually defined in the format of a table R (u, v) as illustrated in FIG. In each cell of the table R (u, v), as already described, numerical values Kr, Kg, and Kb indicating the reflectivities of the illumination lights having the wavelengths of the three primary colors RGB are included as the data indicating the reflection characteristics. It is recorded as content. However, in the case of texture data used for rendering processing only for monochrome image processing, it is not necessary to prepare such reflectance for each primary color, and only data showing a single reflectance is recorded. It is enough if you put it.

このような数値テーブルとして反射係数Kを定義する場合、変数θL,φL,θV,φVに対しては連続量を定義することができないので、予め所定範囲内の離散的な角度値を定義しておく必要がある。前述した実施形態の場合、方位角φL,φVに関しては、図7に示すとおり、0〜360°の角度範囲を12等分することにより、12通りの角度0°,30°,60°,…,330°を設定しているが、より一般的には、0〜360°の角度範囲をα等分することにより、φLの角度値をα通り設定し、φVの角度値をα通り設定すればよい。同様に、仰角θL,θVに関しては、図6に示すとおり、0°〜90°の角度範囲を6等分することにより、6通りの角度0°,15°,30°,45°,60°,75°を設定しているが、より一般的には、0〜90°の角度範囲をβ等分することにより、θLの角度値をβ通り設定し、θVの角度値をβ通り設定すればよい。その結果、個々の画素についてそれぞれ合計α×β通りの反射特性を示すテーブルが用意できる。前述の実施形態の場合、α=12,β=6であるから、図8に示されているとおり、1つの画素T(u,v)について、α×β=5184通りの反射特性を示すテーブルR(u,v)が用意できる。 When the reflection coefficient K is defined as such a numerical table, since continuous amounts cannot be defined for the variables θL, φL, θV, and φV, a discrete angle value within a predetermined range is defined in advance. It is necessary to keep. In the case of the above-described embodiment, with respect to the azimuth angles φL and φV, as shown in FIG. 7, by dividing the angle range of 0 to 360 ° into 12 equal parts, 12 angles 0 °, 30 °, 60 °,. 330 ° is set, but more generally, the angle range of 0 to 360 ° is equally divided by α so that the angle value of φL can be set α and the angle value of φV can be set α. That's fine. Similarly, with respect to the elevation angles θL and θV, as shown in FIG. 6, by dividing the angle range of 0 ° to 90 ° into 6 equal parts, 6 angles 0 °, 15 °, 30 °, 45 °, 60 ° 75 °, but more generally, by dividing the angle range from 0 to 90 ° into β equal parts, θL angle values can be set in β ways and θV angle values can be set in β ways. That's fine. As a result, a table showing a total of α 2 × β 2 reflection characteristics can be prepared for each pixel. In the embodiment described above, α = 12, β = 6. Therefore, as shown in FIG. 8, α 2 × β 2 = 5184 reflection characteristics are obtained for one pixel T (u, v). A table R (u, v) shown can be prepared.

このステップS11で用意すべき原テクスチャデータは、CGの技術を用いて、コンピュータ上で人為的に作成することもできるが、スキャナ装置やデジタルカメラなどを用いて、実在の繊維シートを撮影することによって用意することも可能である。CGの技術を用いて人為的に作成する場合は、仮想繊維シートの三次元構造データ(たとえば、毛並の状態などを三次元データで表現したもの)を用意し、この仮想繊維シートの個々の位置にサンプル点Qを定義して、入射照明光Lの角度θL,φLを様々に変えたときに様々な角度θV,φVをもって射出する反射光Vの強度をシミュレーションによって求めればよい。   The original texture data to be prepared in step S11 can be artificially created on a computer using CG technology, but a real fiber sheet is photographed using a scanner device or a digital camera. It is also possible to prepare. When creating artificially using the CG technology, prepare the three-dimensional structure data of the virtual fiber sheet (for example, the three-dimensional data representing the state of hairs), and the individual positions of the virtual fiber sheet. The sample point Q is defined as follows, and the intensity of the reflected light V emitted with various angles θV and φV when the angles θL and φL of the incident illumination light L are changed variously may be obtained by simulation.

一方、実在の繊維シートを撮影することによって用意する場合は、実在の物体に対して、種々の方向から照明光を照射した状態で、種々の方向から撮影を行い、得られた複数の撮影画像に基づいて原テクスチャデータを用意すればよい。具体的には、入射照明光Lの角度θL,φLが様々に変わるように照明環境を調整し、カメラの位置を変えて反射光Vの角度θV,φVが様々となるような画像を撮影すればよい。実在の繊維シート上の同一位置に関する個々の撮影画像の画素値に基づいて、当該位置の「角度に依存した反射特性」を求めることができる。   On the other hand, when preparing by photographing a real fiber sheet, a plurality of photographed images obtained by photographing from various directions while illuminating illumination light from various directions on a real object The original texture data may be prepared based on the above. Specifically, the illumination environment is adjusted so that the angles θL and φL of the incident illumination light L vary, and the camera position is changed to capture an image in which the angles θV and φV of the reflected light V vary. That's fine. Based on the pixel value of each captured image at the same position on the actual fiber sheet, the “angle-dependent reflection characteristics” of the position can be obtained.

さて、図16のステップS12における代表画素決定段階では、ステップS11で用意された原テクスチャデータを構成するM個の画素の中から、N個(N<M)の代表画素を定める処理が行われる。残りの(M−N)個の画素は一般画素となる。図9に示す例は、M=48、N=4の設定例である。代表画素は、全くランダムに定めることもできるし、ある程度規則的に抽出して定めることも可能である。   Now, in the representative pixel determination stage in step S12 in FIG. 16, a process of determining N (N <M) representative pixels from the M pixels constituting the original texture data prepared in step S11 is performed. . The remaining (MN) pixels are general pixels. The example shown in FIG. 9 is a setting example in which M = 48 and N = 4. The representative pixel can be determined at random, or can be extracted and determined regularly to some extent.

ランダムに定める場合には、コンピュータ上で乱数を発生させ、この乱数に基づいて座標値(u,v)を選出し、当該座標値に対応する画素を代表画素と定める処理を、N個の代表画素が決定されるまで続ければよい。一方、規則的に抽出して定める場合は、たとえば、MとNとの比に基づいて、所定間隔ごとに代表画素を抽出する所定の規則を定めればよい。なお、代表画素の数Nは、圧縮率を左右するパラメータになるので、最終的に得られる圧縮テクスチャデータに要求されるデータ容量に応じて、適宜、設定すればよい。   In the case of random determination, random number generation is performed on the computer, a coordinate value (u, v) is selected based on the random number, and the process of determining the pixel corresponding to the coordinate value as the representative pixel is represented by N representatives. This can be continued until a pixel is determined. On the other hand, when regularly extracting and determining, for example, a predetermined rule for extracting representative pixels at predetermined intervals may be determined based on the ratio of M and N. Note that the number N of representative pixels is a parameter that affects the compression rate, and may be appropriately set according to the data capacity required for the finally obtained compressed texture data.

続くステップS13では、個々の一般画素について、それぞれ自己の反射特性に近似した反射特性をもつ代表画素を近似代表画素として選択する近似代表画素選択段階が実行される。このとき、既に述べたとおり、個々の代表画素について、原テクスチャデータによって定義されているテーブルの角度のパラメータを所定のオフセット量だけシフトさせることにより、複数のバリエーションをもったテーブルを定義し、これらのテーブルすべてを比較対象としたときに最も近似するテーブルを最近似テーブルと決定し、この最近似テーブルを派生させた代表画素を近似代表画素として選択する処理が行われる。   In the subsequent step S13, an approximate representative pixel selection step is performed in which a representative pixel having a reflection characteristic approximate to its own reflection characteristic is selected as an approximate representative pixel for each general pixel. At this time, as described above, for each representative pixel, a table having a plurality of variations is defined by shifting the angle parameter of the table defined by the original texture data by a predetermined offset amount. A table that is most approximate when all of the tables are compared is determined as the most approximate table, and processing is performed to select a representative pixel from which the most approximate table is derived as an approximate representative pixel.

具体的には、個々の角度値に対して所定のオフセット量を加算もしくは減算するシフトを行い、加算もしくは減算の結果、シフト後の角度値が所定範囲の一端から食み出してしまう場合には、食み出し分を当該所定範囲の他端からカウントするローテーションを行うようにすればよい。オフセット量を加算するか減算するかによって、シフトの移動方向が決まる。図13(a) 〜(l) は、このようなローテーションシフトの結果の一例を示すものである。   Specifically, when a shift that adds or subtracts a predetermined offset amount is performed on each angle value, and the angle value after the shift protrudes from one end of the predetermined range as a result of the addition or subtraction Rotation for counting the amount of protrusion from the other end of the predetermined range may be performed. The shift moving direction is determined depending on whether the offset amount is added or subtracted. FIGS. 13A to 13L show an example of the result of such a rotation shift.

一般論として、方位角φL,φVを、0〜360°の角度範囲をα等分することにより、それぞれα通りに設定した場合には、Uφ=360°/αなる式で与えられる単位角度Uφを定義し、φLおよびφVを、Δφ=i×Uφ(但し、i=0,1,2,…,α−1)なる式で与えられるα通りのオフセット量Δφだけそれぞれシフトさせることにより、合計α通りの組み合わせのバリエーションをもったテーブルを定義することができる。前述した実施形態は、α=12に設定し、単位角度Uφ=30°としたものである。その結果、φLおよびφVのそれぞれについて、オフセット量Δφ=0°,30°,60°,…,330°に設定した12通りのバリエーションが作成でき、1つの代表画素についての「もとのテーブル」から、合計144通りの組み合わせのバリエーションをもったテーブルを派生させることができる。 As a general rule, when the azimuth angles φL and φV are set to α by dividing the angle range of 0 to 360 ° by α equally, each unit angle Uφ given by the equation Uφ = 360 ° / α And φL and φV are respectively shifted by α different offset amounts Δφ given by Δφ = i × Uφ (where i = 0, 1, 2,..., Α−1). α It is possible to define a table with two combinations of variations. In the embodiment described above, α is set to 12 and the unit angle Uφ is set to 30 °. As a result, for each of φL and φV, 12 variations with offset amounts Δφ = 0 °, 30 °, 60 °,..., 330 ° can be created, and the “original table” for one representative pixel. Therefore, a table having a total of 144 combinations can be derived.

代表画素がN個ある場合には、結局、比較対象となるテーブルは、144×N通りのバリエーションをもつことになる。したがって、この場合、個々の一般画素Tiについて、それぞれ自己の反射特性を示すテーブルRiに最も近似するテーブルを、この144×N通りのバリエーションの中から選択する処理が行われる。   If there are N representative pixels, the table to be compared will eventually have 144 × N variations. Therefore, in this case, for each of the general pixels Ti, a process that selects the table closest to the table Ri indicating its own reflection characteristic from among the 144 × N variations is performed.

なお、2つのテーブルの近似度を定量的に評価する手法としては、種々の手法が知られているが、たとえば、比較対象となる2つのテーブルについて、対応する個々の反射率の差の二乗和を、近似度を示すパラメータとして利用し、この値が最小となるテーブルを最近似テーブルと決定すればよい。   Various methods are known as methods for quantitatively evaluating the degree of approximation between two tables. For example, for the two tables to be compared, the sum of squares of the differences between the corresponding individual reflectances. May be used as a parameter indicating the degree of approximation, and the table having the minimum value may be determined as the most approximate table.

たとえば、図8に示すようなサイズをもった2組のテーブルR(u,v)が比較対象となった場合を考えてみよう。この場合、第1のテーブルにおける特定のセルに収録されている反射率がKr1,Kg1,Kb1であり、第2のテーブルにおける同じ位置にある特定のセルに収録されている反射率がKr2,Kg2,Kb2であったとすると、当該セルに関する差の二乗和は、「(Kr1−Kr2)+(Kg1−Kg2)+(Kb1−Kb2)」で示される。このような差の二乗和を全セル(図8の例の場合、合計5184個のセル)について求め、その総和を、第1のテーブルと第2のテーブルとの近似度を示すパラメータとすればよい。このパラメータ値が最も小さい比較対象が、最近似テーブルということになり、この最近似テーブルを派生させた代表画素が近似代表画素として選択される。 For example, consider a case where two sets of tables R (u, v) having a size as shown in FIG. In this case, the reflectance recorded in the specific cell in the first table is Kr1, Kg1, Kb1, and the reflectance recorded in the specific cell at the same position in the second table is Kr2, Kg2. , Kb2, the sum of squares of the difference regarding the cell is represented by “(Kr1−Kr2) 2 + (Kg1−Kg2) 2 + (Kb1−Kb2) 2 ”. If the sum of squares of such differences is obtained for all cells (5184 cells in the case of the example in FIG. 8), the sum is used as a parameter indicating the degree of approximation between the first table and the second table. Good. The comparison target with the smallest parameter value is the most approximate table, and the representative pixel derived from the most approximate table is selected as the approximate representative pixel.

最後のステップS14では、原テクスチャデータを構成するM個の画素のうち、N個の代表画素については、それぞれ自己の反射特性を示すテーブルをそのまま収録し、(M−N)個の一般画素については、ステップS13で選択された近似代表画素を示すデータを収録することにより、圧縮テクスチャデータを作成するデータ圧縮段階が実行される。このとき、一般画素については、選択された近似代表画素を示すデータとともに、当該近似代表画素を選択する要因となったテーブル(最近似テーブル)についてのオフセット量を示すデータを収録するようにする。たとえば、図12に示す例のように、一般画素Tiについて、自己の反射特性を示すテーブルRiの最近似テーブルがテーブルR1であったとすると、この一般画素Tiについては、テーブルRiを収録する代わりに、近似代表画素T1を示すデータと、この近似代表画素T1についての「もとのテーブル」を派生させて最近似テーブルR1を得るためのオフセット量(この例の場合、ΔLφ=180°,ΔVφ=180°)を示すデータと、が収録されることになる。 In the last step S14, a table indicating its own reflection characteristic is recorded as it is for N representative pixels among the M pixels constituting the original texture data, and (MN) general pixels are recorded. Performs a data compression step of creating compressed texture data by recording data indicating the approximate representative pixel selected in step S13. At this time, for general pixels, data indicating the selected approximate representative pixel and data indicating the offset amount for the table (most approximate table) that causes the selection of the approximate representative pixel are recorded. For example, as in the example shown in FIG. 12, if the most approximate table of the table Ri indicating the reflection characteristics of the general pixel Ti is the table R1 * , instead of recording the table Ri for the general pixel Ti. And an offset amount for deriving the data representing the approximate representative pixel T1 and the “original table” for the approximate representative pixel T1 to obtain the most approximate table R1 * (in this example, ΔLφ = 180 °, Data indicating ΔVφ = 180 °) are recorded.

こうして、ステップS14によって、図9に示すような圧縮テクスチャデータ25が作成されたとすると、そのデータ構造は次のようなものになる。まず、4つの代表画素T1〜T4については、原テクスチャデータと同様に、テーブルR1〜R4がそのまま収録されている。これらのテーブルは、図8に示す反射特性を示すテーブルR(u,v)と同じサイズをもったテーブルとなるので、代表画素に関しては、データ容量削減の効果は全く見られないことになる。これに対して、残りの一般画素Tiについては、このような大容量のテーブルは収録されておらず、近似代表画素を示すデータ(たとえば、T1)および当該近似代表画素を選択する要因となった最近似テーブルについてのオフセット量(たとえば、ΔLφ=180°,ΔVφ=180°)を示すデータのみが収録されているので、データ容量は大幅に削減されることになる。   Thus, if the compressed texture data 25 as shown in FIG. 9 is created in step S14, the data structure is as follows. First, for the four representative pixels T1 to T4, the tables R1 to R4 are recorded as they are as in the original texture data. Since these tables have the same size as the table R (u, v) showing the reflection characteristics shown in FIG. 8, the effect of reducing the data capacity is not seen at all for the representative pixels. On the other hand, for the remaining general pixels Ti, such a large-capacity table is not recorded, which is a factor for selecting data representing the approximate representative pixel (for example, T1) and the approximate representative pixel. Since only the data indicating the offset amount (for example, ΔLφ = 180 °, ΔVφ = 180 °) for the most similar table is recorded, the data capacity is greatly reduced.

<<< §7.本発明に係るレンダリング方法の基本手順 >>>
次に、図17の流れ図を参照しながら、本発明に係るテクスチャデータを用いたレンダリング方法の基本手順を説明する。ここで説明するレンダリング処理は、基本的には、図1を参照しながら§1で述べたレンダリング処理と同等の処理である。すなわち、その目的は、各部の反射特性を示すテクスチャデータを三次元仮想物体の表面にマッピングし、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成することである。ただ、用いるテクスチャデータとして、§6で述べた手順で作成された圧縮テクスチャデータ25を用いることが前提となっている。
<<< §7. Basic procedure of rendering method according to the present invention >>
Next, a basic procedure of a rendering method using texture data according to the present invention will be described with reference to the flowchart of FIG. The rendering process described here is basically the same process as the rendering process described in Section 1 with reference to FIG. That is, the purpose is to map the texture data indicating the reflection characteristics of each part onto the surface of the three-dimensional virtual object, and to generate two-dimensional data indicating a projection image obtained when observing the texture data from a predetermined viewpoint. . However, it is assumed that the compressed texture data 25 created by the procedure described in §6 is used as the texture data to be used.

この圧縮テクスチャデータ25のデータ構造上の特徴は、上述したとおり、一般画素Tiについて、近似代表画素を示すデータだけでなく、この近似代表画素についての「もとのテーブル」を派生させて最近似テーブルを得るためのオフセット量を示すデータが収録されている点である。   As described above, the compressed texture data 25 is characterized not only by data indicating the approximate representative pixel but also by deriving the “original table” for the approximate representative pixel for the approximate approximation of the general pixel Ti. Data indicating the offset amount for obtaining the table is recorded.

この図17に示すステップS21〜S27の各段階は、いずれもコンピュータによって実行される処理である。まず、ステップS21において、三次元仮想物体の構造を示す物体データ10を入力する物体データ入力段階が実行される。続いて、ステップS22において、圧縮テクスチャデータ25を入力するテクスチャデータ入力段階が実行される。更に、ステップS23において、オペレータの指示に基づいて、レンダリングに必要な照明環境、視点位置、マッピング態様、投影平面を定めるレンダリング条件を設定するレンダリング条件設定段階が実行される。以上の各段階は、本来のレンダリング処理を実行するための準備段階ということになる。   Each stage of steps S21 to S27 shown in FIG. 17 is a process executed by a computer. First, in step S21, an object data input step for inputting object data 10 indicating the structure of a three-dimensional virtual object is executed. Subsequently, in step S22, a texture data input step for inputting the compressed texture data 25 is executed. Further, in step S23, a rendering condition setting step is executed for setting a rendering condition for determining an illumination environment, a viewpoint position, a mapping mode, and a projection plane necessary for rendering based on an instruction from the operator. Each of the above stages is a preparation stage for executing the original rendering process.

続いて、ステップS24〜S27に示す本来のレンダリング処理がコンピュータの演算によって実行される。ます、ステップS24では、三次元仮想物体10上の各サンプル点Qについて、当該サンプル点Qの位置にマッピングされる圧縮テクスチャデータ25内の対応画素を決定する対応画素決定段階が実行される。サンプル点Qの位置にマッピングされる対応画素は、ステップS23で設定されたマッピング態様を参照することにより決定できる。   Subsequently, the original rendering process shown in steps S24 to S27 is executed by computer computation. First, in step S24, for each sample point Q on the three-dimensional virtual object 10, a corresponding pixel determination step is performed for determining a corresponding pixel in the compressed texture data 25 mapped to the position of the sample point Q. The corresponding pixel mapped to the position of the sample point Q can be determined by referring to the mapping mode set in step S23.

次に、ステップS25において、このサンプル点Qからの反射光Vを演算する反射光演算段階が実行される。このとき、反射光Vの強度を求める演算に、サンプル点Qの対応画素に収録されている反射特性が利用される。すなわち、対応画素が代表画素であった場合には、当該代表画素について収録されているテーブルによって示される反射特性を利用して、サンプル点Qからの反射光Vの強度演算が行われる。一方、対応画素が一般画素であった場合には、「当該一般画素について収録されているデータによって示された近似代表画素」について収録されているテーブルを、「当該一般画素について収録されているデータによって示されたオフセット量」だけシフトして得られるテーブルによって示される反射特性を利用して、サンプル点Qからの反射光Vの強度演算が行われることになる。   Next, in step S25, a reflected light calculation stage for calculating the reflected light V from the sample point Q is executed. At this time, the reflection characteristic recorded in the corresponding pixel of the sample point Q is used for the calculation for obtaining the intensity of the reflected light V. That is, when the corresponding pixel is a representative pixel, the intensity calculation of the reflected light V from the sample point Q is performed using the reflection characteristics shown by the table recorded for the representative pixel. On the other hand, when the corresponding pixel is a general pixel, a table recorded for “approximate representative pixel indicated by data recorded for the general pixel” is referred to as “data recorded for the general pixel. The intensity calculation of the reflected light V from the sample point Q is performed using the reflection characteristic indicated by the table obtained by shifting by the “offset amount indicated by”.

たとえば、サンプル点Qの対応画素が、図9に示す代表画素T1であった場合には、当該代表画素T1について収録されているテーブルR1によって示される反射特性を利用して、サンプル点Qからの反射光Vの強度演算が行われる。テーブルR1は、たとえば、図8に示すような72行72列のマトリックスからなるテーブルである。BTFモデルを用いてサンプル点Qからの反射光Vを演算する場合には、ステップS21で入力した物体データおよびステップS23で設定したレンダリング条件に基づいて、θL,φL,θV,φVの値が定まっているので、この72行72列のマトリックスからなるテーブルを参照することにより、該当するセルに定義された反射率Kr,Kg,Kbを求めることができる(θL,φL,θV,φVの値は離散的に定義されているので、必要に応じて、補間を行うことが可能である)。こうして得られた反射率Kr,Kg,Kbに基づいて、反射光Vの各原色成分ごとの強度が演算される。   For example, when the corresponding pixel of the sample point Q is the representative pixel T1 shown in FIG. 9, the reflection characteristic indicated by the table R1 recorded for the representative pixel T1 is used to change the sampling point Q from the sample point Q. The intensity calculation of the reflected light V is performed. The table R1 is, for example, a table composed of a matrix of 72 rows and 72 columns as shown in FIG. When the reflected light V from the sample point Q is calculated using the BTF model, the values of θL, φL, θV, and φV are determined based on the object data input in step S21 and the rendering conditions set in step S23. Therefore, the reflectance Kr, Kg, Kb defined in the corresponding cell can be obtained by referring to the table composed of the matrix of 72 rows and 72 columns (the values of θL, φL, θV, φV are Since it is defined discretely, it is possible to perform interpolation if necessary). Based on the reflectances Kr, Kg, and Kb thus obtained, the intensity for each primary color component of the reflected light V is calculated.

一方、サンプル点Qの対応画素が、図9に示す一般画素Tiであり、たとえば、「近似代表画素:T1」、「オフセット量:ΔLφ=30°,ΔVφ=0°」のようなデータが収録されていた場合には、次のような手順で、サンプル点Qからの反射光Vの強度演算が行われることになる。まず、指定された近似代表画素T1について収録されているテーブルR1が読み出される(上述したとおり、このテーブルR1は、たとえば、図8に示すような72行72列のマトリックスからなるテーブルである)。そして、このテーブルR1に対して、「オフセット量:ΔLφ=30°,ΔVφ=0°」に応じたローテーションシフトを実行して、たとえば、図14に示すような72行72列のマトリックスからなるテーブルを得る。あとは、このテーブルを参照することにより、特定の反射率Kr,Kg,Kbを求め、反射光Vの各原色成分ごとの強度を演算すればよい。   On the other hand, the corresponding pixel of the sample point Q is the general pixel Ti shown in FIG. 9, and data such as “approximate representative pixel: T1”, “offset amount: ΔLφ = 30 °, ΔVφ = 0 °” is recorded. If so, the intensity calculation of the reflected light V from the sample point Q is performed in the following procedure. First, a table R1 recorded for the designated approximate representative pixel T1 is read (as described above, this table R1 is a table composed of a matrix of 72 rows and 72 columns as shown in FIG. 8, for example). Then, a rotation shift corresponding to “offset amount: ΔLφ = 30 °, ΔVφ = 0 °” is executed on this table R1, and for example, a table composed of a matrix of 72 rows and 72 columns as shown in FIG. Get. After that, by referring to this table, specific reflectances Kr, Kg, Kb are obtained, and the intensity for each primary color component of the reflected light V may be calculated.

このように、テーブルコンテンツのシフト演算自体は、それほど負担の大きな演算ではないので、パソコン等の小規模システムで実行しても、CPUの負荷はそれほど大きくならない。なお、実用上は、図8に示すような72行72列のマトリックスからなるテーブル全体についてローテーションシフトを行い、図14に示すような72行72列のマトリックスからなるテーブル全体を求める必要はなく、たとえば、「θL1,θV1についての部分テーブル」のように、参照するセルを含んでいる特定の部分テーブルに関してのみローテーションシフトを行えば十分である。   As described above, the table content shift operation itself is not a burdensome operation, so even if it is executed in a small-scale system such as a personal computer, the load on the CPU does not increase so much. In practice, it is not necessary to perform a rotation shift on the entire table composed of a matrix of 72 rows and 72 columns as shown in FIG. 8, and to obtain the entire table composed of a matrix of 72 rows and 72 columns as shown in FIG. For example, it is sufficient to perform a rotation shift only for a specific partial table including a cell to be referred to, such as “partial table for θL1 and θV1”.

続く、ステップS26により、上述したステップS24,S25の処理が、必要な全サンプル点に関して繰り返し実行される。そして、最後のステップS27では、各サンプル点Qからの反射光に基づいて、投影平面H上に得られる投影画像15を示す二次元データを生成する二次元データ生成段階が実行される。   Subsequently, in step S26, the processes in steps S24 and S25 described above are repeatedly executed for all necessary sample points. And in the last step S27, based on the reflected light from each sample point Q, the two-dimensional data generation stage which produces | generates the two-dimensional data which show the projection image 15 obtained on the projection plane H is performed.

<<< §8.本発明に係る装置の基本構成 >>
ここでは、図16の流れ図に示した「レンダリング用テクスチャデータの作成方法」および図17の流れ図に示した「テクスチャデータを用いたレンダリング方法」を実行するための装置を、図18のブロック図を参照しながら説明する。この図18において、上段に示すテクスチャデータの作成装置100は、図16のステップS12,S13,S14を実行するための装置であり、下段に示すレンダリング装置200は、図17のステップS21〜S27を実行するための装置である。いずれの装置も、コンピュータに専用のプログラムを組み込むことにより実現される装置であり、個々のブロックとして示す構成要素は、コンピュータのハードウエアとソフトウエアとの組み合わせにより実現されることになる。
<<< §8. Basic configuration of apparatus according to the present invention >>
Here, an apparatus for executing the “rendering texture data creation method” shown in the flowchart of FIG. 16 and the “rendering method using texture data” shown in the flowchart of FIG. 17 are shown in the block diagram of FIG. The description will be given with reference. In FIG. 18, the texture data creation apparatus 100 shown in the upper part is an apparatus for executing steps S12, S13, and S14 in FIG. 16, and the rendering apparatus 200 shown in the lower part performs steps S21 to S27 in FIG. It is a device for executing. Each device is a device realized by incorporating a dedicated program into a computer, and the constituent elements shown as individual blocks are realized by a combination of computer hardware and software.

まず、テクスチャデータの作成装置100は、図示のとおり、原データ格納部110,代表画素決定部120,データ圧縮部130,近似代表画素選択部140によって構成されている。このテクスチャデータの作成装置100は、圧縮前の原テクスチャデータに基づいて、圧縮テクスチャデータを作成する処理を行う装置なので、ある程度高性能のコンピュータシステムにより構成するのが好ましい。前述したとおり、圧縮前の原テクスチャデータのデータは、たとえば4GBといった大容量になるので、一般的なパソコンで取り扱うのは困難である。   First, the texture data creation apparatus 100 includes an original data storage unit 110, a representative pixel determination unit 120, a data compression unit 130, and an approximate representative pixel selection unit 140, as illustrated. The texture data creation apparatus 100 is an apparatus that performs processing for creating compressed texture data based on the original texture data before compression, and is preferably configured by a computer system with a certain degree of performance. As described above, since the original texture data before compression has a large capacity of 4 GB, for example, it is difficult to handle it with a general personal computer.

原データ格納部110は、図16のステップS11で用意された原テクスチャデータを入力して格納する機能を有する構成要素である。すなわち、原データ格納部110は、M個の画素の集合からなり、個々の画素ごとに、光の入射方向および/または反射方向に関する角度に依存して定まる反射特性を示すテーブルが定義された原テクスチャデータを入力してこれを格納する機能を有する。   The original data storage unit 110 is a component having a function of inputting and storing the original texture data prepared in step S11 of FIG. In other words, the original data storage unit 110 is composed of a set of M pixels, and for each individual pixel, an original table in which a table indicating reflection characteristics determined depending on an angle with respect to an incident direction and / or a reflection direction of light is defined. It has a function of inputting texture data and storing it.

代表画素決定部120は、このM個の画素の中からN個(N<M)の代表画素を定め、残りの(M−N)個の画素を一般画素とする構成要素であり、その処理内容は、図16のステップS12の処理として述べたとおりである。   The representative pixel determining unit 120 is a component that determines N (N <M) representative pixels from the M pixels and uses the remaining (MN) pixels as general pixels. The contents are as described in step S12 of FIG.

また、近似代表画素選択部140は、代表画素決定部120からN個の代表画素を示す情報を受け取り、残りの(M−N)個の一般画素について、それぞれ自己の反射特性に近似した反射特性をもつ代表画素を近似代表画素として選択する処理を実行する。この処理内容は、図16のステップS13の処理として述べたとおりである。すなわち、個々の代表画素について、原データ格納部110内に格納されている原テクスチャデータによって定義されているテーブルの角度のパラメータを所定のオフセット量だけシフトさせることにより、複数のバリエーションをもったテーブルを定義し、これらのテーブルすべてを比較対象としたときに最も近似するテーブルを最近似テーブルと決定し、この最近似テーブルを派生させた代表画素を近似代表画素として選択する処理が実行される。   Further, the approximate representative pixel selecting unit 140 receives information indicating N representative pixels from the representative pixel determining unit 120, and each of the remaining (MN) general pixels has a reflection characteristic approximate to its own reflection characteristic. A process of selecting a representative pixel having an approximate representative pixel is executed. The details of this process are as described in step S13 of FIG. That is, for each representative pixel, a table having a plurality of variations is obtained by shifting the angle parameter of the table defined by the original texture data stored in the original data storage unit 110 by a predetermined offset amount. Is defined as the closest approximation table when all of these tables are set as comparison targets, and a process of selecting a representative pixel derived from the closest approximation table as an approximate representative pixel is executed.

データ圧縮部130は、原データ格納部110内に格納されている原テクスチャデータを構成するM個の画素のうち、N個の代表画素については、それぞれ自己の反射特性を示すテーブルをそのまま収録し、(M−N)個の一般画素については、近似代表画素選択部140によって選択された近似代表画素を示すデータとともに、当該近似代表画素を選択する要因となった最近似テーブルについてのオフセット量を示すデータを収録することにより、圧縮テクスチャデータを作成する処理を実行する。この処理内容は、図16のステップS14の処理として述べたとおりである。   The data compression unit 130 directly records a table indicating its own reflection characteristic for each of N representative pixels among the M pixels constituting the original texture data stored in the original data storage unit 110. , (MN) general pixels, together with data indicating the approximate representative pixel selected by the approximate representative pixel selection unit 140, the offset amount for the most approximate table that causes the approximate representative pixel to be selected is set. The process for creating the compressed texture data is executed by recording the indicated data. The details of this process are as described in step S14 in FIG.

一方、レンダリング装置200は、図示のとおり、物体データ格納部210,テクスチャデータ格納部220,レンダリング条件設定部230,対応画素決定部240,反射光演算部250,二次元データ生成部260によって構成されており、テクスチャデータの作成装置100によって作成された圧縮テクスチャデータを、三次元仮想物体の表面にマッピングし、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成する機能を果たす。このレンダリング装置200は、容量の大きな原テクスチャデータを取り扱う必要はなく、圧縮テクスチャデータのみを取り扱える機能を有していればよいので、一般的なパソコンなどの小規模システムで構成することが可能である。   On the other hand, the rendering device 200 includes an object data storage unit 210, a texture data storage unit 220, a rendering condition setting unit 230, a corresponding pixel determination unit 240, a reflected light calculation unit 250, and a two-dimensional data generation unit 260, as illustrated. The compressed texture data created by the texture data creation device 100 is mapped onto the surface of a three-dimensional virtual object, and two-dimensional data indicating a projection image obtained when observing this from a predetermined viewpoint is generated. Fulfills the function. The rendering apparatus 200 does not need to handle large-capacity original texture data, and only needs to have a function that can handle only compressed texture data. Therefore, the rendering apparatus 200 can be configured by a small-scale system such as a general personal computer. is there.

物体データ格納部210は、三次元仮想物体の構造を示す物体データを入力してこれを格納する機能を果たし、テクスチャデータ格納部220は、テクスチャデータの作成装置100によって作成された圧縮テクスチャデータを入力してこれを格納する機能を果たし、レンダリング条件設定部230は、レンダリングに必要な照明環境、視点位置、マッピング態様、投影平面を定めるレンダリング条件を設定する機能を果たす。これら各構成要素は、図17のステップS21,S22,S23に対応する各段階を実行する構成要素ということになる。   The object data storage unit 210 performs a function of inputting object data indicating the structure of the three-dimensional virtual object and storing the object data. The texture data storage unit 220 stores the compressed texture data generated by the texture data generation apparatus 100. The rendering condition setting unit 230 has a function of setting a rendering condition for determining an illumination environment, a viewpoint position, a mapping mode, and a projection plane necessary for rendering. These constituent elements are constituent elements that execute the respective steps corresponding to steps S21, S22, and S23 of FIG.

また、対応画素決定部240は、図17のステップS24に対応する段階を実行する機能を有し、物体データ、圧縮テクスチャデータ、レンダリング条件を参照して、三次元仮想物体上のサンプル点Qの位置にマッピングされる圧縮テクスチャデータ内の対応画素を決定する処理を実行する。   In addition, the corresponding pixel determination unit 240 has a function of executing a stage corresponding to step S24 in FIG. 17, and refers to the object data, the compressed texture data, and the rendering condition, and the sample point Q on the three-dimensional virtual object. A process of determining a corresponding pixel in the compressed texture data mapped to the position is executed.

反射光演算部250は、図17のステップS25に対応する段階を実行する機能を有し、物体データ、圧縮テクスチャデータ内の対応画素によって示される情報、レンダリング条件を参照して、サンプル点Qからの反射光の強度を演算する。具体的には、対応画素が代表画素であった場合には、当該代表画素について収録されているテーブルによって示される反射特性を利用して、サンプル点Qからの反射光の強度演算を行う。また、対応画素が一般画素であった場合には、「当該一般画素について収録されているデータによって示された近似代表画素」について収録されているテーブルを、「当該一般画素について収録されているデータによって示されたオフセット量」だけシフトして得られるテーブルによって示される反射特性を利用して、サンプル点Qからの反射光の強度演算を行う。   The reflected light calculation unit 250 has a function of executing a step corresponding to step S25 of FIG. 17, and refers to the information indicated by the corresponding pixel in the object data and the compressed texture data, and the rendering condition, from the sample point Q. The intensity of the reflected light is calculated. Specifically, when the corresponding pixel is a representative pixel, the intensity of reflected light from the sample point Q is calculated using the reflection characteristics shown by the table recorded for the representative pixel. When the corresponding pixel is a general pixel, a table recorded for “approximate representative pixel indicated by data recorded for the general pixel” is referred to as “data recorded for the general pixel. The intensity of the reflected light from the sample point Q is calculated using the reflection characteristics shown by the table obtained by shifting by the "offset amount shown by".

二次元データ生成部260は、図17のステップS27に対応する段階を実行する機能を有し、物体データ、反射光強度、レンダリング条件に基づいて、投影画像データを生成する。すなわち、各サンプル点Qからの反射光に基づいて、投影平面H上に得られる投影画像15を示す二次元データを生成し、これを投影画像データとして出力する。   The two-dimensional data generation unit 260 has a function of executing a step corresponding to step S27 in FIG. 17, and generates projection image data based on object data, reflected light intensity, and rendering conditions. That is, based on the reflected light from each sample point Q, two-dimensional data indicating the projection image 15 obtained on the projection plane H is generated, and this is output as projection image data.

<<< §9.変形例 >>>
最後に、上述した基本的実施形態の変形例をいくつか述べておく。
(1) 仰角に関するバリエーション
これまで述べた基本的実施形態では、たとえば、代表画素について定義された「もとのテーブル」に関する方位角φL,φVをシフトさせることにより、比較対象となるテーブルのバリエーションを派生させていた。しかしながら、バリエーションの派生は、必ずしも方位角φL,φVのシフトにより行う必要はなく、仰角θL,θVのシフトにより行ってもかまわない。
<<< §9. Modified example >>>
Finally, some modifications of the basic embodiment described above will be described.
(1) Variations related to elevation angle In the basic embodiments described so far, for example, by shifting the azimuth angles φL and φV related to the “original table” defined for the representative pixel, variations in the table to be compared are changed. It was derived. However, the derivation of the variation is not necessarily performed by shifting the azimuth angles φL and φV, but may be performed by shifting the elevation angles θL and θV.

図19は、図8に示すテーブルR(u,v)を「もとのテーブル」として、θLを15°シフトさせたテーブルである。ここで、θLに関する大列見出し(ここでは、φLに関する列と区別する上で、θLに関する列を「大列」と呼ぶ)に着目すると、図8に示すテーブルでは、第1大列目が「θL1」、第2大列目が「θL2」、…、第6大列目が「θL6」となっているのに対して、図19に示すテーブルでは、第1大列目が「θL2」、第2大列目が「θL3」、…、第6大列目が「θL1」となっている。すなわち、図8に示すもとのテーブルの「θL1」に該当する第1大列目のコンテンツをそっくり第6大列目へとまわし、第2大列目のコンテンツを第1大列目へと移動し、第3大列目のコンテンツを第2大列目へとまわし、…とそれぞれ1大列分だけ左方向へローテーションシフトさせることにより、図19に示すテーブルが得られることになる。ここで、各大列に収容されている個々の部分テーブルの内容に関しては、図8に示すテーブルと図19に示すテーブルとに差はない。   FIG. 19 is a table in which θL is shifted by 15 ° with the table R (u, v) shown in FIG. 8 as the “original table”. Here, focusing on a large column heading relating to θL (here, in order to distinguish it from a column relating to φL, the column relating to θL is referred to as a “large column”), in the table shown in FIG. In the table shown in FIG. 19, the first large column is “θL2”, whereas “θL1”, the second large column is “θL2”,. The second large row is “θL3”,..., And the sixth large row is “θL1”. That is, the contents of the first large column corresponding to “θL1” in the original table shown in FIG. 8 are turned to the sixth large column, and the contents of the second large column are moved to the first large column. The table shown in FIG. 19 is obtained by moving and turning the contents of the third large column to the second large column and rotating the left and right by one large column. Here, regarding the contents of the individual partial tables accommodated in each large row, there is no difference between the table shown in FIG. 8 and the table shown in FIG.

一方、図20は、図8に示すテーブルR(u,v)を「もとのテーブル」として、θVを15°シフトさせたテーブルである。ここで、θVに関する大行見出し(ここでは、φVに関する行と区別する上で、θVに関する行を「大行」と呼ぶ)に着目すると、図8に示すテーブルでは、第1大行目が「θV1」、第2大行目が「θV2」、…、第6大行目が「θV6」となっているのに対して、図20に示すテーブルでは、第1大行目が「θV2」、第2大行目が「θV3」、…、第6大行目が「θV1」となっている。すなわち、図8に示すもとのテーブルの「θV1」に該当する第1大行目のコンテンツをそっくり第6大行目へとまわし、第2大行目のコンテンツを第1大行目へと移動し、第3大行目のコンテンツを第2大行目へとまわし、…とそれぞれ1大行分だけ上方向へローテーションシフトさせることにより、図20に示すテーブルが得られることになる。   On the other hand, FIG. 20 is a table in which θV is shifted by 15 ° with the table R (u, v) shown in FIG. 8 as the “original table”. Here, focusing on the headline for θV (here, the line for θV is referred to as “large line” to distinguish it from the line for φV), in the table shown in FIG. .theta.V1 ", the second major row is" .theta.V2 ",..., the sixth major row is" .theta.V6 ", whereas the first major row is" .theta.V2 "in the table shown in FIG. The second major line is “θV3”,..., And the sixth major line is “θV1”. That is, the content of the first row corresponding to “θV1” in the original table shown in FIG. 8 is turned to the sixth row, and the content of the second row is turned to the first row. The table shown in FIG. 20 is obtained by moving, turning the content of the third row to the second row, and rotating up by one row.

以上は、θLあるいはθVのオフセット量を15°に設定してローテーションシフトさせた例であるが、オフセット量を30°,45°,60°,75°に設定すれば、2大列(2大行),3大列(3大行),4大列(4大行),5大列(5大行)分のローテーションシフトが可能になる。このような仰角θL,θVのシフトにより「もとのテーブル」を派生させると、合計6×6=36通りのバリエーションを得ることができる。   The above is an example in which the offset amount of θL or θV is set to 15 ° and rotated, but if the offset amount is set to 30 °, 45 °, 60 °, 75 °, two large rows (two large) Rotation shift of 3 rows (3 rows), 4 rows (4 rows), and 5 rows (5 rows) is possible. When the “original table” is derived by such a shift of the elevation angles θL and θV, a total of 6 × 6 = 36 variations can be obtained.

ただ、実用上は、仰角θL,θVのシフトに基づくバリエーションよりも、方位角φL,φVのシフトに基づくバリエーションを作成した方が、個々の一般画素について、より近似度の高い最近似テーブルが見つかる可能性が高いと考えられる。これは、実在の繊維シートの場合、図10に示す例のように、方位角をシフトさせると毛並みの方向が一致する構造をもったケース(回転対称となるケース)が多いためである。これは絨毯やカーペットのようにベース生地に植毛された毛並繊維を有する繊維シートだけでなく、縦糸と横糸とを織り込んだ繊維シートに関しても同様である(この場合は、オフセット量を90°もしくは180°に設定した場合に、最も近似度の高いテーブルが得られるものと予想される)。   However, in practice, a variation based on the shift of the azimuth angles φL and φV is created rather than a variation based on the shift of the elevation angles θL and θV, and the closest approximation table having a higher degree of approximation can be found for each general pixel. The possibility is considered high. This is because, in the case of an actual fiber sheet, as in the example shown in FIG. 10, there are many cases (cases that are rotationally symmetric) having a structure in which the direction of the fur matches when the azimuth is shifted. This is the same not only for a fiber sheet having a row of fibers implanted in a base fabric such as a carpet or carpet, but also for a fiber sheet in which warp and weft are woven (in this case, the offset amount is 90 ° or 180 °). When set to °, the most approximate table is expected to be obtained).

したがって、実用上は、仰角θL,θVのシフトに基づくバリエーションは、方位角φL,φVのシフトに基づくバリエーションと併用するのが好ましい。具体的には、0〜360°の角度範囲をα等分して、Uφ=360°/αなる式で与えられる単位角度Uφを定義し、0〜90°の角度範囲をβ等分して、Uθ=90°/βなる式で与えられる単位角度Uθを定義する(上述の例の場合、α=12,β=6)。そして、φLおよびφVを、Δφ=i×Uφ(但し、i=0,1,2,…,α−1)なる式で与えられるα通りのオフセット量Δφだけそれぞれシフトさせるとともに、θLおよびθVを、Δθ=j×Uθ(但し、j=0,1,2,…,β−1)なる式で与えられるβ通りのオフセット量Δθだけそれぞれシフトさせた合計α×β通りの組み合わせのバリエーションをもったテーブルを定義すればよい。 Therefore, in practice, the variation based on the shift of the elevation angles θL and θV is preferably used in combination with the variation based on the shift of the azimuth angles φL and φV. Specifically, a unit angle Uφ given by the equation Uφ = 360 ° / α is defined by dividing the angle range of 0-360 ° by α, and the angle range of 0-90 ° is divided by β. , Uθ = 90 ° / β is defined as a unit angle Uθ (α = 12, β = 6 in the above example). Then, φL and φV are shifted by α offset amounts Δφ given by the equation Δφ = i × Uφ (where i = 0, 1, 2,..., Α−1), respectively, and θL and θV are , Δθ = j × Uθ (where, j = 0,1,2, ..., β -1) becomes a variation of the combination of total α 2 × β 2 ways which were shifted by each offset amount [Delta] [theta] of beta street given by the formula You can define a table with

(2) ランダムシフトによるバリエーション
これまで述べた基本的実施形態では、代表画素について定義された「もとのテーブル」に基づいてバリエーションを派生させる際に、ローテーションシフトを行っていた。しかしながら、本発明で行うテーブルコンテンツのシフトは、必ずしもローテーションシフトに限定されるものではなく、ランダムなシフトを行ってもかまわない。たとえば、第1列目を第7列目にもってゆき、第7列目を第9列目にもってゆき、第9列目を第3列目にもってゆき、第2列目と第8列目とを交換し、…といったデタラメなシフトでもかまわない。あるいは、行と列を含めて全くランダムにシフトさせてもかまわない。すなわち、二次元マトリックス上に配置されているタイルをゴチャゴチャにかき混ぜて配置しなおすようなランダムなシフトでもよい。このようなランダムなシフトでは、個々のタイルごとに、それぞれランダムなオフセット量が設定されることになる。
(2) Variation by Random Shift In the basic embodiments described so far, the rotation shift is performed when the variation is derived based on the “original table” defined for the representative pixel. However, the table content shift performed in the present invention is not necessarily limited to the rotation shift, and a random shift may be performed. For example, bring the first column to the seventh column, the seventh column to the ninth column, the ninth column to the third column, the second column and the eighth column It's okay to switch to a decent shift such as ... Alternatively, it may be shifted completely at random including the rows and columns. That is, a random shift may be used in which tiles arranged on the two-dimensional matrix are mixed and re-arranged. In such a random shift, a random offset amount is set for each tile.

要するに、代表画素について定義された「もとのテーブル」に対して、テーブルコンテンツ(上述の例にいう個々のタイル)の配置を何らかの方法で入れ替えることにより、「異なるテーブル」を作成し、これをバリエーションとして用いることができればよい。そうすれば、一般画素のテーブルの代用として利用できるテーブルの候補の数がそれだけ増えることになるので、より近似度の高いテーブルを最近似テーブルとして選択できる可能性が高くなり、より品質の高い圧縮テクスチャデータを得ることができるのである。   In short, a “different table” is created by replacing the arrangement of table contents (individual tiles in the above example) by some method with respect to the “original table” defined for the representative pixel. What is necessary is just to be able to use as a variation. This increases the number of table candidates that can be used as a substitute for the general pixel table, so that it is more likely that a table with a higher degree of approximation can be selected as the closest approximation table, and compression with higher quality is possible. Texture data can be obtained.

しかしながら、ある1つの一般画素Tiについて、バリエーションとして作成された所定のテーブルを最近似テーブルとして選択した場合、「もとのテーブル」に対して、どのようなシフトを行うと、当該最近似テーブルが得られるのか、という情報を記録しておく必要がある。別言すれば、個々のコンテンツごとに「もとのテーブル上の位置を基準としたオフセット量」を記録しておかねばならない。   However, when a predetermined table created as a variation is selected as the most approximate table for one general pixel Ti, what kind of shift is performed on the “original table”, the closest approximate table is It is necessary to record information about whether it can be obtained. In other words, the “offset amount with reference to the original position on the table” must be recorded for each content.

したがって、実用上は、これまで述べた基本的実施形態に示すとおり、ローテーションシフトを行うのが好ましい。このローテーションシフトでは、テーブル上のすべてのコンテンツに対して同一のオフセット量が設定されるので、たとえば、「オフセット量:ΔLφ=30°,ΔVφ=0°」というように、角度値を指定するだけで、すべてのコンテンツに対するシフト動作を定義することができる。また、コンピュータによるシフト動作も非常に負担の軽い演算処理で実行が可能になる。   Therefore, in practice, as shown in the basic embodiments described so far, it is preferable to perform the rotation shift. In this rotation shift, the same offset amount is set for all the contents on the table. Therefore, for example, an angle value is simply specified such as “offset amount: ΔLφ = 30 °, ΔVφ = 0 °”. Thus, shift operations for all contents can be defined. In addition, a shift operation by a computer can be executed by an arithmetic processing with a very light burden.

テクスチャデータを利用した一般的なレンダリング処理の概念を示す斜視図である。It is a perspective view which shows the concept of the general rendering process using texture data. 図1に示すレンダリング処理において、サンプル点Qからの反射光の強度を演算する最も単純な手法を示す斜視図である。FIG. 2 is a perspective view showing the simplest method for calculating the intensity of reflected light from a sample point Q in the rendering process shown in FIG. 1. カラー画像からなる2次元テクスチャデータの画素配列を示す平面図である。It is a top view which shows the pixel arrangement | sequence of the two-dimensional texture data which consists of a color image. BRDFモデルおよびBTFモデルの原理を説明するための斜視図である。It is a perspective view for demonstrating the principle of a BRDF model and a BTF model. BTFモデルで用いる6次元テクスチャデータの構造を示す平面図である。It is a top view which shows the structure of 6-dimensional texture data used with a BTF model. BTFモデルにおける離散的な仰角定義の一例を示す正面図である。It is a front view which shows an example of the discrete elevation angle definition in a BTF model. BTFモデルにおける離散的な方位角定義の一例を示す正面図である。It is a front view which shows an example of the discrete azimuth | direction angle definition in a BTF model. 反射特性を示すテーブルR(u,v)を用いて定義した6次元テクスチャデータ20の構成例を示す平面図である。It is a top view which shows the structural example of the 6-dimensional texture data 20 defined using the table R (u, v) which shows a reflection characteristic. 高次元テクスチャデータの圧縮原理を示す平面図である。It is a top view which shows the compression principle of high-dimensional texture data. テクスチャの元になる繊維シートの表面構造を示す側面図である。It is a side view which shows the surface structure of the fiber sheet used as the origin of a texture. 高次元テクスチャデータにおける反射特性の近似具合を示す平面図である。It is a top view which shows the approximation condition of the reflective characteristic in high-dimensional texture data. 高次元テクスチャデータにおける反射特性の近似具合を示す別な平面図である。It is another top view which shows the approximation condition of the reflective characteristic in high-dimensional texture data. 方位角を所定のオフセット量だけシフトさせることにより、テーブルのコンテンツをローテーションさせ、複数のバリエーションをもったテーブルを定義する原理を示す平面図である。It is a top view which shows the principle which rotates the content of a table by shifting an azimuth angle only by the predetermined | prescribed offset amount, and defines the table with a some variation. 図8に示すテーブルR(u,v)について、φLを30°シフトすることにより得られるテーブルを示す平面図である。FIG. 9 is a plan view showing a table obtained by shifting φL by 30 ° with respect to the table R (u, v) shown in FIG. 8. 図8に示すテーブルR(u,v)について、φVを30°シフトすることにより得られるテーブルを示す平面図である。FIG. 10 is a plan view showing a table obtained by shifting φV by 30 ° with respect to the table R (u, v) shown in FIG. 8. 本発明に係るレンダリング用テクスチャデータの作成方法の基本手順を示す流れ図である。It is a flowchart which shows the basic procedure of the production method of the texture data for rendering concerning this invention. 本発明に係るテクスチャデータを用いたレンダリング方法の基本手順を示す流れ図である。It is a flowchart which shows the basic procedure of the rendering method using the texture data which concerns on this invention. 本発明に係るテクスチャデータの作成装置およびレンダリング装置の基本構成を示すブロック図である。It is a block diagram which shows the basic composition of the production apparatus and rendering apparatus of the texture data which concern on this invention. 図8に示すテーブルR(u,v)について、θLを15°シフトすることにより得られるテーブルを示す平面図である。FIG. 9 is a plan view showing a table obtained by shifting θL by 15 ° with respect to the table R (u, v) shown in FIG. 8. 図8に示すテーブルR(u,v)について、θVを15°シフトすることにより得られるテーブルを示す平面図である。FIG. 9 is a plan view showing a table obtained by shifting θV by 15 ° with respect to the table R (u, v) shown in FIG. 8.

符号の説明Explanation of symbols

10:物体データ(三次元仮想物体)
15:二次元投影画像
20:テクスチャデータ(原テクスチャデータ)
25:圧縮テクスチャデータ
30:繊維シート
31,32,33:毛並繊維
100:テクスチャデータの作成装置
110:原データ格納部
120:代表画素決定部
130:データ圧縮部
140:近似代表画素選択部
200:レンダリング装置
210:物体データ格納部
220:テクスチャデータ格納部
230:レンダリング条件設定部
240:対応画素決定部
250:反射光演算部
260:二次元データ生成部
A,B,C:繊維シート上の領域
E:視点
G:光源
H:投影平面
I(L):照明光の強度
I(V):反射光の強度
K,Kr,Kg,Kb:反射係数
K(θL,φL,θV,φV):反射係数
L,L1〜L6:照明光
L′:照明光の投影像
n:法線
P:投影平面上の画素
Q,Q(X,Y,Z):サンプル点
R1〜R4:代表画素についての反射特性を示すテーブル
Ri:一般画素についての反射特性を示すテーブル
R(u,v):反射特性を示すテーブル
S:基準面
S11〜S27:流れ図の各ステップ
T1〜T4:代表画素
Ti:一般画素
T(u,v):テクスチャを構成する画素
u,v:テクスチャを定義する二次元座標系の各座標軸
V:反射光
V′:反射光の投影像
X,Y,Z:三次元座標系の各座標軸
x,y:投影平面H上の二次元座標系の各座標軸
θL:照明光Lの入射角
θL1〜θL6:照明光Lの入射角
θV:反射光Vの射出角
θV1〜θV6:反射光Vの射出角
ζ:基準線
φL:照明光Lの方位角
φL1〜φL12:照明光Lの方位角
φV:反射光Vの方位角
10: Object data (3D virtual object)
15: Two-dimensional projection image 20: Texture data (original texture data)
25: compressed texture data 30: fiber sheets 31, 32, 33: row of fibers 100: texture data creation device 110: original data storage unit 120: representative pixel determination unit 130: data compression unit 140: approximate representative pixel selection unit 200: Rendering device 210: Object data storage unit 220: Texture data storage unit 230: Rendering condition setting unit 240: Corresponding pixel determination unit 250: Reflected light calculation unit 260: Two-dimensional data generation unit A, B, C: Area on fiber sheet E: viewpoint G: light source H: projection plane I (L): intensity of illumination light I (V): intensity of reflected light K, Kr, Kg, Kb: reflection coefficient K (θL, φL, θV, φV): reflection Coefficients L, L1 to L6: Illumination light L ′: Projected image of illumination light n: Normal line P: Pixels Q and Q (X, Y, Z) on the projection plane: Sample points R1 to R4: Representative pixels Table Ri indicating reflection characteristics: Table R (u, v) indicating reflection characteristics for general pixels: Table S indicating reflection characteristics: Reference planes S11 to S27: Steps T1 to T4 in the flowchart: Representative pixels Ti: General pixels T (u, v): Pixels constituting the texture u, v: Coordinate axes V of the two-dimensional coordinate system defining the texture V: Reflected light V ': Projected image X, Y, Z of reflected light: Three-dimensional coordinate system Each coordinate axis x, y: Each coordinate axis θL of the two-dimensional coordinate system on the projection plane H: Incident angle θL1 to θL6 of the illumination light L: Incident angle θV of the illumination light L: Exit angle θV1 to θV6 of the reflected light V: Reflected light V emission angle ζ: reference line φL: azimuth angle of illumination light L φL1 to φL12: azimuth angle of illumination light L φV: azimuth angle of reflected light V

Claims (14)

M個の画素の集合からなり、個々の画素ごとに、光の入射方向および/または反射方向に関する角度に依存して定まる反射特性を示すテーブルが定義された原テクスチャデータを用意する原データ準備段階と、
前記M個の画素の中からN個(N<M)の代表画素を定め、残りの(M−N)個の画素を一般画素とする代表画素決定段階と、
前記個々の一般画素について、それぞれ自己の反射特性に近似した反射特性をもつ代表画素を近似代表画素として選択する近似代表画素選択段階と、
前記M個の画素のうち、N個の代表画素については、それぞれ自己の反射特性を示すテーブルを収録し、(M−N)個の一般画素については、選択された近似代表画素を示すデータを収録した圧縮テクスチャデータを作成するデータ圧縮段階と、
を有するレンダリング用テクスチャデータの作成方法において、
前記近似代表画素選択段階で、個々の代表画素について、前記原テクスチャデータによって定義されているテーブルの角度のパラメータを所定のオフセット量だけシフトさせることにより、複数のバリエーションをもったテーブルを定義し、これらのテーブルすべてを比較対象としたときに最も近似するテーブルを最近似テーブルと決定し、この最近似テーブルを派生させた代表画素を近似代表画素として選択し、
前記データ圧縮段階で、一般画素については、選択された近似代表画素を示すデータとともに、当該近似代表画素を選択する要因となった最近似テーブルについてのオフセット量を示すデータを収録した圧縮テクスチャデータを作成することを特徴とするレンダリング用テクスチャデータの作成方法。
An original data preparation stage in which original texture data is prepared which includes a set of M pixels, and for each individual pixel, a table showing a reflection characteristic defined depending on an angle with respect to an incident direction and / or a reflection direction of light is defined. When,
A representative pixel determining step in which N (N <M) representative pixels are defined from the M pixels, and the remaining (MN) pixels are general pixels;
For each individual general pixel, an approximate representative pixel selection step of selecting a representative pixel having a reflection characteristic approximate to its own reflection characteristic as an approximate representative pixel;
Among the M pixels, N representative pixels are recorded with a table indicating their own reflection characteristics, and (MN) general pixels are stored with data indicating the selected approximate representative pixels. A data compression stage for creating the recorded compressed texture data;
In the method of creating rendering texture data having
In the approximate representative pixel selection step, for each representative pixel, a table having a plurality of variations is defined by shifting the angle parameter of the table defined by the original texture data by a predetermined offset amount, When all these tables are compared, the most approximate table is determined as the most approximate table, and the representative pixel derived from the most approximate table is selected as the approximate representative pixel.
In the data compression stage, for the general pixel, compressed texture data including data indicating the selected approximate representative pixel and data indicating the offset amount for the most approximate table that causes the selection of the approximate representative pixel is recorded. A method for creating texture data for rendering, characterized in that it is created.
請求項1に記載のテクスチャデータの作成方法において、
原データ準備段階で、光の入射方向および/または反射方向に関する角度を、所定範囲の角度を等分割して得られる複数通りの角度値によって表現したテーブルを定義し、
近似代表画素選択段階で、個々の角度値に対して前記等分割された角度の整数倍に対応する所定のオフセット量を加算もしくは減算するシフトを行い、加算もしくは減算の結果、シフト後の角度値が前記所定範囲の一端から食み出してしまう場合には、食み出し分を前記所定範囲の他端からカウントするローテーションを行うことを特徴とするレンダリング用テクスチャデータの作成方法。
In the creation method of the texture data according to claim 1,
In the original data preparation stage, a table is defined in which angles relating to the incident direction and / or reflection direction of light are expressed by a plurality of angle values obtained by equally dividing a predetermined range of angles,
At the approximate representative pixel selection stage, a shift is performed by adding or subtracting a predetermined offset amount corresponding to an integer multiple of the equally divided angle with respect to each angle value, and as a result of addition or subtraction, the angle value after the shift Is generated from one end of the predetermined range, rotation for counting the amount of protrusion from the other end of the predetermined range is performed.
請求項2に記載のテクスチャデータの作成方法において、
原データ準備段階で、テクスチャデータのマッピング対象となる仮想物体の表面上に、サンプル点Qと、このサンプル点Qの位置に立てた法線nと、前記サンプル点Qを含み前記法線nに直交する基準面Sと、前記サンプル点Qを通る前記基準面S上の基準線ζと、を定義し、前記サンプル点Qに入射する照明光と前記法線nとのなす角をθL、前記基準面S上への前記照明光の投影像と前記基準線ζとのなす角をφL、前記サンプル点Qから射出する反射光と前記法線nとのなす角をθV、前記基準面S上への前記反射光の投影像と前記基準線ζとのなす角をφVとしたときに、「θL,φL,θV,φV」の関数として与えられる反射係数K(θL,φL,θV,φV)をテーブルとして定義した原テクスチャデータを用意することを特徴とするレンダリング用テクスチャデータの作成方法。
In the creation method of the texture data according to claim 2,
In the original data preparation stage, on the surface of the virtual object to which the texture data is to be mapped, the sample point Q, the normal n set at the position of the sample point Q, and the normal n including the sample point Q An orthogonal reference plane S and a reference line ζ on the reference plane S passing through the sample point Q are defined, and an angle formed by illumination light incident on the sample point Q and the normal n is θL, The angle formed between the projection image of the illumination light on the reference plane S and the reference line ζ is φL, the angle formed between the reflected light emitted from the sample point Q and the normal n is θV, and the reference plane S The reflection coefficient K (θL, φL, θV, φV) given as a function of “θL, φL, θV, φV”, where φV is an angle formed by the projected image of the reflected light onto the reference line ζ The original texture data is defined as a table. How to create for the texture data Daringu.
請求項3に記載のテクスチャデータの作成方法において、
原データ準備段階で、0〜360°の角度範囲をα等分することにより、φLの角度値をα通り設定し、φVの角度値をα通り設定し、0〜90°の角度範囲をβ等分することにより、θLの角度値をβ通り設定し、θVの角度値をβ通り設定し、個々の画素についてそれぞれ合計α×β通りの反射特性を示すテーブルを用意することを特徴とするレンダリング用テクスチャデータの作成方法。
In the creation method of the texture data according to claim 3,
At the original data preparation stage, the angle range of 0 to 360 ° is equally divided by α to set the angle value of φL to α, the angle value of φV to α, and the angle range of 0 to 90 ° to β By equally dividing, θ angle values are set in β ways, θV angle values are set in β ways, and a table showing total α 2 × β 2 reflection characteristics for each pixel is prepared. How to create texture data for rendering.
請求項4に記載のテクスチャデータの作成方法において、
近似代表画素選択段階で、Uφ=360°/αなる式で与えられる単位角度Uφを定義し、φLおよびφVを、Δφ=i×Uφ(但し、i=0,1,2,…,α−1)なる式で与えられるα通りのオフセット量Δφだけそれぞれシフトさせた合計α通りの組み合わせのバリエーションをもったテーブルを定義することを特徴とするレンダリング用テクスチャデータの作成方法。
In the creation method of the texture data according to claim 4,
In the approximate representative pixel selection stage, a unit angle Uφ given by the equation Uφ = 360 ° / α is defined, and φL and φV are defined as Δφ = i × Uφ (where i = 0, 1, 2,..., Α− 1) A method of creating rendering texture data, characterized by defining a table having a total of α 2 combinations of variations each shifted by α offset amounts Δφ given by the following equation.
請求項4に記載のテクスチャデータの作成方法において、
近似代表画素選択段階で、Uφ=360°/αなる式で与えられる単位角度Uφを定義し、Uθ=90°/βなる式で与えられる単位角度Uθを定義し、φLおよびφVを、Δφ=i×Uφ(但し、i=0,1,2,…,α−1)なる式で与えられるα通りのオフセット量Δφだけそれぞれシフトさせるとともに、θLおよびθVを、Δθ=j×Uθ(但し、j=0,1,2,…,β−1)なる式で与えられるβ通りのオフセット量Δθだけそれぞれシフトさせた合計α×β通りの組み合わせのバリエーションをもったテーブルを定義することを特徴とするレンダリング用テクスチャデータの作成方法。
In the creation method of the texture data according to claim 4,
In the approximate representative pixel selection stage, a unit angle Uφ given by an equation Uφ = 360 ° / α is defined, a unit angle Uθ given by an equation Uθ = 90 ° / β is defined, φL and φV are defined as Δφ = i × Uφ (where i = 0, 1, 2,..., α−1) are shifted by α different offset amounts Δφ given by the equation, and θL and θV are changed to Δθ = j × Uθ (where j = 0, 1, 2,..., β-1) defining a table having a total of α 2 × β 2 combinations of variations shifted by β offset amounts Δθ given by the equation A feature of rendering texture data for rendering.
請求項1〜6のいずれかに記載のテクスチャデータの作成方法において、
原データ準備段階で、反射特性を示すデータとして、三原色RGBの波長をもった照明光それぞれについての反射率を示す数値をもったテーブルを定義することを特徴とするレンダリング用テクスチャデータの作成方法。
In the creation method of the texture data in any one of Claims 1-6,
A method of creating rendering texture data, wherein a table having a numerical value indicating reflectance for each of illumination lights having wavelengths of three primary colors RGB is defined as data indicating reflection characteristics at the original data preparation stage.
請求項7に記載のテクスチャデータの作成方法において、
近似代表画素選択段階で、自己の反射特性を示すテーブルと比較対象となるテーブルとについて、対応する個々の反射率の差の二乗和が最小となるテーブルを最近似テーブルと決定することを特徴とするレンダリング用テクスチャデータの作成方法。
In the creation method of the texture data according to claim 7,
In the approximate representative pixel selection stage, with respect to a table indicating its own reflection characteristics and a table to be compared, a table that minimizes the sum of squares of the corresponding individual reflectance differences is determined as the most approximate table. To create texture data for rendering.
請求項1〜8のいずれかに記載のテクスチャデータの作成方法において、
原データ準備段階で、実在の物体に対して、種々の方向から照明光を照射した状態で、種々の方向から撮影を行い、得られた複数の撮影画像に基づいて原テクスチャデータを用意することを特徴とするレンダリング用テクスチャデータの作成方法。
In the creation method of the texture data in any one of Claims 1-8,
In the original data preparation stage, photographing an actual object from various directions while irradiating illumination light from various directions, and preparing original texture data based on the obtained multiple captured images A method of creating texture data for rendering characterized by
請求項1〜8のいずれかに記載のテクスチャデータの作成方法における代表画素決定段階、近似代表画素選択段階、データ圧縮段階をコンピュータに実行させるためのプログラム。   A program for causing a computer to execute a representative pixel determination step, an approximate representative pixel selection step, and a data compression step in the texture data creation method according to claim 1. 請求項1〜9のいずれかに記載のテクスチャデータの作成方法によって作成された圧縮テクスチャデータ。   Compressed texture data created by the texture data creation method according to claim 1. 請求項1〜9のいずれかに記載のテクスチャデータの作成方法によって作成された圧縮テクスチャデータを、三次元仮想物体の表面にマッピングし、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成するレンダリング方法であって、
コンピュータが、前記三次元仮想物体の構造を示す物体データを入力する物体データ入力段階と、
コンピュータが、前記圧縮テクスチャデータを入力するテクスチャデータ入力段階と、
コンピュータが、オペレータの指示に基づいて、レンダリングに必要な照明環境、視点位置、マッピング態様、投影平面を定めるレンダリング条件を設定するレンダリング条件設定段階と、
コンピュータが、前記三次元仮想物体上の各サンプル点Qについて、当該サンプル点Qの位置にマッピングされる前記圧縮テクスチャデータ内の対応画素を決定する対応画素決定段階と、
コンピュータが、前記対応画素が代表画素であった場合には、当該代表画素について収録されているテーブルによって示される反射特性を利用して、前記サンプル点Qからの反射光を演算し、前記対応画素が一般画素であった場合には、「当該一般画素について収録されているデータによって示された近似代表画素」について収録されているテーブルを、「当該一般画素について収録されているデータによって示されたオフセット量」だけシフトして得られるテーブルによって示される反射特性を利用して、前記サンプル点Qからの反射光を演算する反射光演算段階と、
コンピュータが、各サンプル点Qからの反射光に基づいて、前記投影平面上に得られる投影画像を示す二次元データを生成する二次元データ生成段階と、
を有することを特徴とするテクスチャデータを用いたレンダリング方法。
A projection image obtained by mapping the compressed texture data created by the texture data creation method according to claim 1 onto the surface of a three-dimensional virtual object and observing the same from a predetermined viewpoint. A rendering method for generating the two-dimensional data shown,
An object data input step in which a computer inputs object data indicating the structure of the three-dimensional virtual object;
A texture data input step in which the computer inputs the compressed texture data;
A rendering condition setting stage in which a computer sets a rendering condition for determining a lighting environment, a viewpoint position, a mapping mode, and a projection plane necessary for rendering based on an instruction from an operator;
A corresponding pixel determining step in which a computer determines, for each sample point Q on the three-dimensional virtual object, a corresponding pixel in the compressed texture data mapped to the position of the sample point Q;
When the corresponding pixel is a representative pixel, the computer calculates reflected light from the sample point Q using a reflection characteristic indicated by a table recorded for the representative pixel, and the corresponding pixel Is a general pixel, the table recorded for “approximate representative pixel indicated by the data recorded for the general pixel” is displayed as “the data indicated by the data recorded for the general pixel. A reflected light calculation stage for calculating reflected light from the sample point Q using a reflection characteristic indicated by a table obtained by shifting by an “offset amount”;
A computer that generates two-dimensional data indicating a projection image obtained on the projection plane based on reflected light from each sample point Q; and
A rendering method using texture data, characterized by comprising:
M個の画素の集合からなり、個々の画素ごとに、光の入射方向および/または反射方向に関する角度に依存して定まる反射特性を示すテーブルが定義された原テクスチャデータを入力してこれを格納する原データ格納部と、
前記M個の画素の中からN個(N<M)の代表画素を定め、残りの(M−N)個の画素を一般画素とする代表画素決定部と、
前記個々の一般画素について、それぞれ自己の反射特性に近似した反射特性をもつ代表画素を近似代表画素として選択する近似代表画素選択部と、
前記M個の画素のうち、N個の代表画素については、それぞれ自己の反射特性を示すテーブルを収録し、(M−N)個の一般画素については、選択された近似代表画素を示すデータを収録した圧縮テクスチャデータを作成するデータ圧縮部と、
を備えるレンダリング用テクスチャデータの作成装置において、
前記近似代表画素選択部が、個々の代表画素について、前記原テクスチャデータによって定義されているテーブルの角度のパラメータを所定のオフセット量だけシフトさせることにより、複数のバリエーションをもったテーブルを定義し、これらのテーブルすべてを比較対象としたときに最も近似するテーブルを最近似テーブルと決定し、この最近似テーブルを派生させた代表画素を近似代表画素として選択し、
前記データ圧縮部が、一般画素については、選択された近似代表画素を示すデータとともに、当該近似代表画素を選択する要因となった最近似テーブルについてのオフセット量を示すデータを収録した圧縮テクスチャデータを作成することを特徴とするレンダリング用テクスチャデータの作成装置。
A set of M pixels. For each individual pixel, original texture data in which a table showing reflection characteristics determined depending on the angle of incidence and / or reflection direction of light is defined and stored. An original data storage unit,
A representative pixel determining unit that determines N (N <M) representative pixels from the M pixels and uses the remaining (MN) pixels as general pixels;
For each of the general pixels, an approximate representative pixel selection unit that selects a representative pixel having a reflection characteristic approximate to its own reflection characteristic as an approximate representative pixel;
Among the M pixels, N representative pixels are recorded with a table indicating their own reflection characteristics, and (MN) general pixels are stored with data indicating the selected approximate representative pixels. A data compression unit for creating the recorded compressed texture data;
In the rendering texture data creating apparatus comprising:
The approximate representative pixel selection unit defines a table having a plurality of variations by shifting the angle parameter of the table defined by the original texture data by a predetermined offset amount for each representative pixel, When all these tables are compared, the most approximate table is determined as the most approximate table, and the representative pixel derived from the most approximate table is selected as the approximate representative pixel.
For the general pixel, the data compression unit stores compressed texture data including data indicating the selected approximate representative pixel and data indicating an offset amount for the most approximate table that is a factor for selecting the approximate representative pixel. An apparatus for creating texture data for rendering, characterized in that it is created.
請求項13に記載のテクスチャデータの作成装置によって作成された圧縮テクスチャデータを、三次元仮想物体の表面にマッピングし、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成するレンダリング装置であって、
前記三次元仮想物体の構造を示す物体データを入力してこれを格納する物体データ格納部と、
前記圧縮テクスチャデータを入力してこれを格納するテクスチャデータ格納部と、
レンダリングに必要な照明環境、視点位置、マッピング態様、投影平面を定めるレンダリング条件を設定するレンダリング条件設定部と、
前記三次元仮想物体上のサンプル点Qの位置にマッピングされる前記圧縮テクスチャデータ内の対応画素を決定する対応画素決定部と、
前記対応画素が代表画素であった場合には、当該代表画素について収録されているテーブルによって示される反射特性を利用して、前記サンプル点Qからの反射光を演算し、前記対応画素が一般画素であった場合には、「当該一般画素について収録されているデータによって示された近似代表画素」について収録されているテーブルを、「当該一般画素について収録されているデータによって示されたオフセット量」だけシフトして得られるテーブルによって示される反射特性を利用して、前記サンプル点Qからの反射光を演算する反射光演算部と、
各サンプル点Qからの反射光に基づいて、前記投影平面上に得られる投影画像を示す二次元データを生成する二次元データ生成部と、
を備えることを特徴とするテクスチャデータを用いたレンダリング装置。
The compressed texture data created by the texture data creation device according to claim 13 is mapped onto the surface of a three-dimensional virtual object, and two-dimensional data indicating a projection image obtained when observing this from a predetermined viewpoint is obtained. A rendering device for generating,
An object data storage unit for inputting and storing object data indicating the structure of the three-dimensional virtual object;
A texture data storage unit for inputting the compressed texture data and storing it;
A rendering condition setting unit for setting a rendering condition for determining a lighting environment, a viewpoint position, a mapping mode, and a projection plane necessary for rendering;
A corresponding pixel determining unit that determines a corresponding pixel in the compressed texture data mapped to the position of the sample point Q on the three-dimensional virtual object;
When the corresponding pixel is a representative pixel, the reflected light from the sample point Q is calculated using the reflection characteristics indicated by the table recorded for the representative pixel, and the corresponding pixel is a general pixel. In the case of, the table recorded for “approximate representative pixel indicated by the data recorded for the general pixel” is used as the “offset amount indicated by the data recorded for the general pixel”. A reflected light calculation unit that calculates reflected light from the sample point Q using the reflection characteristics shown by the table obtained by shifting only
A two-dimensional data generation unit that generates two-dimensional data indicating a projection image obtained on the projection plane based on reflected light from each sample point Q;
A rendering apparatus using texture data.
JP2005332633A 2005-11-17 2005-11-17 How to create texture data for rendering Expired - Fee Related JP4802676B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005332633A JP4802676B2 (en) 2005-11-17 2005-11-17 How to create texture data for rendering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005332633A JP4802676B2 (en) 2005-11-17 2005-11-17 How to create texture data for rendering

Publications (2)

Publication Number Publication Date
JP2007140820A true JP2007140820A (en) 2007-06-07
JP4802676B2 JP4802676B2 (en) 2011-10-26

Family

ID=38203607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005332633A Expired - Fee Related JP4802676B2 (en) 2005-11-17 2005-11-17 How to create texture data for rendering

Country Status (1)

Country Link
JP (1) JP4802676B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101159162B1 (en) 2008-12-01 2012-06-26 한국전자통신연구원 Image synthesis apparatus and method supporting measured materials properties
JP2013257664A (en) * 2012-06-11 2013-12-26 Canon Inc Image processing device, control method for the same and program
US8791951B2 (en) 2008-12-01 2014-07-29 Electronics And Telecommunications Research Institute Image synthesis apparatus and method supporting measured materials properties
CN109684328A (en) * 2018-12-11 2019-04-26 中国北方车辆研究所 A kind of Dimension Time Series compression and storage method
US10475230B2 (en) 2015-06-19 2019-11-12 Toppan Printing Co., Ltd. Surface material pattern finish simulation device and surface material pattern finish simulation method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10247256A (en) * 1997-03-04 1998-09-14 Integra:Kk Method for interactively and aesthetically designing object having optially complicated characteristic on computer
JP2004005228A (en) * 2002-05-31 2004-01-08 Toshiba Corp High-dimensional texture rendering device, high-dimensional texture compression device, and system, method and program for high-dimensional texture rendering
JP2004265330A (en) * 2003-03-04 2004-09-24 Toshiba Corp Method for preparing code book for quantizing vector of texture data, method for quantizing vector of texture data and method and device for plotting texture
JP2007026312A (en) * 2005-07-20 2007-02-01 Toshiba Corp Texture encoder, texture decoder, method and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10247256A (en) * 1997-03-04 1998-09-14 Integra:Kk Method for interactively and aesthetically designing object having optially complicated characteristic on computer
JP2004005228A (en) * 2002-05-31 2004-01-08 Toshiba Corp High-dimensional texture rendering device, high-dimensional texture compression device, and system, method and program for high-dimensional texture rendering
JP2004265330A (en) * 2003-03-04 2004-09-24 Toshiba Corp Method for preparing code book for quantizing vector of texture data, method for quantizing vector of texture data and method and device for plotting texture
JP2007026312A (en) * 2005-07-20 2007-02-01 Toshiba Corp Texture encoder, texture decoder, method and program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101159162B1 (en) 2008-12-01 2012-06-26 한국전자통신연구원 Image synthesis apparatus and method supporting measured materials properties
US8791951B2 (en) 2008-12-01 2014-07-29 Electronics And Telecommunications Research Institute Image synthesis apparatus and method supporting measured materials properties
JP2013257664A (en) * 2012-06-11 2013-12-26 Canon Inc Image processing device, control method for the same and program
US9317938B2 (en) 2012-06-11 2016-04-19 Canon Kabushiki Kaisha Image processing apparatus and control method therefor
US10475230B2 (en) 2015-06-19 2019-11-12 Toppan Printing Co., Ltd. Surface material pattern finish simulation device and surface material pattern finish simulation method
CN109684328A (en) * 2018-12-11 2019-04-26 中国北方车辆研究所 A kind of Dimension Time Series compression and storage method

Also Published As

Publication number Publication date
JP4802676B2 (en) 2011-10-26

Similar Documents

Publication Publication Date Title
US6888544B2 (en) Apparatus for and method of rendering 3D objects with parametric texture maps
US6791542B2 (en) Modeling 3D objects with opacity hulls
US6803910B2 (en) Rendering compressed surface reflectance fields of 3D objects
JP5002742B2 (en) Apparatus and method for rendering 3D objects using parametric texture maps
US7149368B2 (en) System and method for synthesis of bidirectional texture functions on arbitrary surfaces
TWI300908B (en) Video game system, image rendering system, and computer-readable medium having stored thereon a program of computer-readable instructions configured to cause generation of a renderized display
US7528831B2 (en) Generation of texture maps for use in 3D computer graphics
JP4802676B2 (en) How to create texture data for rendering
US8698830B2 (en) Image processing apparatus and method for texture-mapping an image onto a computer graphics image
TWI238979B (en) Rendering processing method
US7907147B2 (en) Texture filtering apparatus, texture mapping apparatus, and method and program therefor
JP4335589B2 (en) How to model a 3D object
US6864889B2 (en) System for previewing a photorealistic rendering of a synthetic scene in real-time
US7034827B2 (en) Extension of fast phong shading technique for bump mapping
JP4857601B2 (en) SIMULATION IMAGE GENERATION DEVICE, METHOD, OPERATION PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM
JP3906170B2 (en) Apparatus, method and program for synthesizing high-dimensional texture
JP2007272847A (en) Lighting simulation method and image composition method
Soh et al. Texture mapping of 3D human face for virtual reality environments
JP2000099763A (en) Image processor, image processing method, and providing medium
JPH05298460A (en) Device for expressing shell quality sense
JP5321385B2 (en) Image processing program and computer-readable recording medium
US11727638B1 (en) Adaptive geometric smoothing
JP2008090590A (en) Method and device for image conversion to regular image
JP3712139B2 (en) Image creating apparatus and method
Chochlík Scalable multi-GPU cloud raytracing with OpenGL

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081031

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110624

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: 20110712

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: 20110725

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4802676

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees