JP2005084780A - DEVICE AND METHOD FOR DATA COMPRESSION, DEVICE AND METHOD FOR DATA EXPANSION, DATA STRUCTURE, n-th DIMENSIONAL SHAPE MODEL PROCESSING DEVICE, PROGRAM, AND RECORDING MEDIUM - Google Patents
DEVICE AND METHOD FOR DATA COMPRESSION, DEVICE AND METHOD FOR DATA EXPANSION, DATA STRUCTURE, n-th DIMENSIONAL SHAPE MODEL PROCESSING DEVICE, PROGRAM, AND RECORDING MEDIUM Download PDFInfo
- Publication number
- JP2005084780A JP2005084780A JP2003313784A JP2003313784A JP2005084780A JP 2005084780 A JP2005084780 A JP 2005084780A JP 2003313784 A JP2003313784 A JP 2003313784A JP 2003313784 A JP2003313784 A JP 2003313784A JP 2005084780 A JP2005084780 A JP 2005084780A
- Authority
- JP
- Japan
- Prior art keywords
- vertex
- normal vector
- data
- stored
- index
- 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
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
Description
本発明は、データ圧縮装置、その方法、データ伸張装置、その方法、データ構造、3次元形状処理装置並びにプログラムおよび記録媒体に関し、具体的には、3次元形状モデル生成装置、3次元形状モデル表示装置、形状計測装置や仮想現実感装置に適用され、形状モデルの面を三角形メッシュで表現したときの形状データをコンパクトに格納できるデータ構造と、そのデータ構造によって形状データを圧縮・伸張する技術に関し、このデータ構造によってネットワークを利用して高速に転送できるようにする技術に関する。 The present invention relates to a data compression device, a method thereof, a data decompression device, a method thereof, a data structure, a three-dimensional shape processing device, a program, and a recording medium, and more specifically, a three-dimensional shape model generation device and a three-dimensional shape model display The present invention relates to a data structure that can be applied to a device, a shape measuring device, a virtual reality device, and that can store shape data compactly when the surface of a shape model is represented by a triangular mesh, and a technology for compressing / decompressing shape data using the data structure. The present invention relates to a technique for enabling high-speed transfer using a network by using this data structure.
曲面および曲線は、3次元形状モデルを表現する手段として、CAD(Computer Aided Design)で広く利用されている(非特許文献1参照)。3次元形状モデルを表示するためには、曲面を三角形メッシュ形式のデータに変換して行うのが一般的である。
一方、近年、設計部門以外での利用も視野に入れたCADデータ専用ビューワ(3Dビューワ)も登場している。
このビューワは、面を三角形メッシュ形式で表現した形状データへ変換して、ビューワ専用ファイルに格納しており、一旦、CADファイルからこの専用ファイルに変換しておけば、毎回の変換プロセスを省略でき、CADよりも高速な表示を実現している。この3Dビューワでは、表示に必要のないデータを省略し、さらに圧縮を行うことにより、表示の高速化およびデータの軽量化を実現しているものもある。
On the other hand, in recent years, a CAD data dedicated viewer (3D viewer) that has been used for purposes other than the design department has also appeared.
This viewer converts the surface into shape data expressed in a triangular mesh format and stores it in a viewer-dedicated file. Once the CAD file is converted to this dedicated file, the conversion process each time can be omitted. Realizes faster display than CAD. In some of these 3D viewers, data unnecessary for display is omitted, and further compression is performed to increase the display speed and reduce the data weight.
しかしながら、3次元形状モデルの利用が高まり、大規模で複雑な3次元形状モデルを扱うにしたがってデータ量が増加する傾向にあり、より一層データを圧縮することが必要となっている。具体的には、次のことが問題となっている。
(1)データサイズ増大によるハードディスク等保存装置のスペース効率低下、
(2)データサイズ増大による表示速度の低下、
(3)データサイズ増大による転送速度の低下。
本発明は、上述した実情を考慮してなされたものであって、n次元形状モデルのデータサイズが増大してもハードディスク等の保存装置のスペース効率、表示速度および転送速度を低下させることのなく、n次元空間の三角形メッシュの圧縮、保存、転送、伸張の処理を施すことができるデータ圧縮装置、その方法、データ伸張装置、その方法、データ構造、3次元形状処理装置並びにプログラムおよび記録媒体を提供することを目的とする。
However, the use of three-dimensional shape models is increasing, and the amount of data tends to increase as a large-scale and complicated three-dimensional shape model is handled, and it is necessary to further compress the data. Specifically, the following are problems.
(1) Reduced space efficiency of storage devices such as hard disks due to increased data size,
(2) Decrease in display speed due to increase in data size,
(3) Decrease in transfer speed due to increase in data size.
The present invention has been made in consideration of the above-described circumstances, and without reducing the space efficiency, display speed, and transfer speed of a storage device such as a hard disk even when the data size of the n-dimensional shape model increases. , Data compression apparatus capable of performing compression, storage, transfer and decompression processing of triangular mesh in n-dimensional space, method thereof, data decompression apparatus, method thereof, data structure, three-dimensional shape processing apparatus, program and recording medium The purpose is to provide.
上記の課題を解決するために、本発明の請求項1は、n次元空間の形状モデルを三角形メッシュで表した形状データを格納するデータ構造であって、n次元の頂点座標が格納された頂点座標テーブルと、n次元の法線ベクトルが格納された法線ベクトルテーブルと、頂点ごとに真・偽を示す平面フラグテーブルとからなることを特徴とする列挙型三角形メッシュを用いたデータ構造である。
また、本発明の請求項2は、請求項1に記載のデータ構造において、前記頂点座標テーブルおよび前記平面フラグテーブルは、三角形セット形式または三角形ストリップ形式のいずれかであることを特徴とするデータ構造である。
また、本発明の請求項3は、n次元空間の形状モデルを三角形メッシュで表した形状データを圧縮するデータ圧縮装置において、同一の平面上の複数の頂点に対し、複数の頂点座標を連続して頂点座標テーブルに格納する頂点座標圧縮手段と、同一の平面上の頂点のうち単一の頂点に対してのみ、その頂点における法線ベクトルを法線ベクトルテーブルに格納し、該頂点に対しては真を、また該平面上の他の頂点には偽を平面フラグテーブルに格納する法線ベクトル圧縮手段を備えることを特徴とする。
また、本発明の請求項4は、n次元空間の形状モデルを三角形メッシュで表した形状データを圧縮するデータ圧縮方法において、同一の平面上の複数の頂点に対し、複数の頂点座標を連続して頂点座標テーブルに格納し、同一の平面上の頂点のうち単一の頂点に対してのみ、その頂点における法線ベクトルを法線ベクトルテーブルに格納し、該頂点に対しては真を、また該平面上の他の頂点には偽を平面フラグテーブルに格納することを特徴とする。
また、本発明の請求項5は、請求項3に記載のデータ圧縮装置で圧縮された形状データを伸張するデータ伸張装置であって、前記頂点座標テーブルに連続して格納されたすべての頂点座標を読み出すことによって頂点座標を伸張する頂点座標伸張手段と、前記平面フラグテーブルから真を読み出した場合に、前記頂点座標テーブルに連続して格納された複数の頂点座標を同一の平面上の複数頂点の頂点座標とみなし、前記法線ベクトルテーブルに格納された単一の法線ベクトルを同一の平面上の複数頂点の法線ベクトルとして割り当てることにより法線ベクトルを伸張する法線ベクトル伸張手段とを備えることを特徴とする。
In order to solve the above problems,
According to a second aspect of the present invention, in the data structure according to the first aspect, the vertex coordinate table and the plane flag table are in a triangle set format or a triangle strip format. It is.
According to a third aspect of the present invention, in the data compression apparatus for compressing shape data in which a shape model of an n-dimensional space is represented by a triangular mesh, a plurality of vertex coordinates are consecutive for a plurality of vertices on the same plane. And the vertex coordinate compression means for storing in the vertex coordinate table, and the normal vector at that vertex is stored in the normal vector table only for a single vertex among the vertices on the same plane. Is provided with normal vector compression means for storing true in the plane flag table and false at other vertices on the plane.
According to a fourth aspect of the present invention, in the data compression method for compressing shape data in which a shape model of an n-dimensional space is represented by a triangular mesh, a plurality of vertex coordinates are continuously applied to a plurality of vertices on the same plane. Stored in the vertex coordinate table, and for only a single vertex on the same plane, the normal vector at that vertex is stored in the normal vector table, true for that vertex, False is stored in the plane flag table for the other vertices on the plane.
According to a fifth aspect of the present invention, there is provided a data decompressing device for decompressing the shape data compressed by the data compressing device according to the third aspect, wherein all vertex coordinates stored in the vertex coordinate table successively. A vertex coordinate extension means for extending the vertex coordinates by reading out a plurality of vertex coordinates stored continuously in the vertex coordinate table when reading true from the plane flag table. Normal vector expansion means for expanding a normal vector by assigning a single normal vector stored in the normal vector table as a normal vector of a plurality of vertices on the same plane. It is characterized by providing.
また、本発明の請求項6は、請求項4に記載のデータ圧縮方法で圧縮された形状データを伸張するデータ伸張方法であって、前記頂点座標テーブルに連続して格納されたすべての頂点座標を読み出すことによって頂点座標を伸張し、前記平面フラグテーブルから真を読み出した場合に、前記頂点座標テーブルに連続して格納された複数の頂点座標を同一の平面上の複数頂点の頂点座標とみなし、前記法線ベクトルテーブルに格納された単一の法線ベクトルを同一の平面上の複数頂点の法線ベクトルとして割り当てることにより法線ベクトルを伸張することを特徴とする。
また、本発明の請求項7は、n次元空間の形状モデルを三角形メッシュで表した形状データを格納するデータ構造であって、n次元の頂点座標が格納された頂点座標テーブルと、n次元の法線ベクトルが格納された法線ベクトルテーブルと、頂点座標テーブルへのインデックスが格納された頂点座標インデックステーブルと、法線ベクトルテーブルへのインデックスが格納された法線ベクトルインデックステーブルと、頂点ごとに真・偽を示す平面フラグテーブルとからなることを特徴とするインデックス型三角形メッシュを用いたデータ構造である。
また、本発明の請求項8は、請求項7に記載のデータ構造において、前記頂点座標インデックステーブルおよび前記平面フラグテーブルは、三角形セット形式または三角形ストリップ形式のいずれかであることを特徴とするデータ構造である。
また、本発明の請求項9は、n次元空間の形状モデルを三角形メッシュで表した形状データを圧縮するデータ圧縮装置において、同一の平面上の複数頂点に対し、重複することなく頂点座標テーブルに格納し、その複数の頂点座標インデックスを連続して頂点座標インデックステーブルに格納する頂点座標圧縮手段と、同一の平面上の頂点のうち単一の頂点に対してのみ、その頂点における法線ベクトルを重複することなく法線ベクトルテーブルに格納し、その法線ベクトルインデックスを法線ベクトルインデックステーブルに格納し、該頂点に対しては真を、また該平面上の他の頂点には偽を平面フラグテーブルに格納する法線ベクトル圧縮手段を備えることを特徴とする。
According to a sixth aspect of the present invention, there is provided a data decompression method for decompressing the shape data compressed by the data compression method according to the fourth aspect, wherein all the vertex coordinates stored in the vertex coordinate table successively. When the vertex coordinates are expanded by reading out and true is read out from the plane flag table, the plurality of vertex coordinates continuously stored in the vertex coordinate table are regarded as the vertex coordinates of a plurality of vertices on the same plane. The normal vector is extended by assigning a single normal vector stored in the normal vector table as a normal vector of a plurality of vertices on the same plane.
According to a seventh aspect of the present invention, there is provided a data structure for storing shape data representing a shape model of an n-dimensional space with a triangular mesh, a vertex coordinate table storing n-dimensional vertex coordinates, For each vertex, a normal vector table storing normal vectors, a vertex coordinate index table storing indexes to the vertex coordinate table, a normal vector index table storing indexes to the normal vector table, and each vertex It is a data structure using an index type triangular mesh characterized by comprising a plane flag table indicating true / false.
According to
According to a ninth aspect of the present invention, in a data compression apparatus for compressing shape data representing a shape model of an n-dimensional space by a triangular mesh, a plurality of vertices on the same plane are stored in a vertex coordinate table without overlapping. The vertex coordinate compression means for storing and storing the vertex coordinate indices in the vertex coordinate index table in succession, and the normal vector at that vertex only for a single vertex on the same plane Store in the normal vector table without duplication, store the normal vector index in the normal vector index table, and specify true for the vertex and false for the other vertices on the plane. Normal vector compression means for storing in a table is provided.
また、本発明の請求項10は、n次元空間の形状モデルを三角形メッシュで表した形状データを圧縮するデータ圧縮方法において、重複することなく頂点座標テーブルに格納し、その複数の頂点座標インデックスを連続して頂点座標インデックステーブルに格納し、同一の平面上の頂点のうち単一の頂点に対してのみ、その頂点における法線ベクトルを重複することなく法線ベクトルテーブルに格納し、その法線ベクトルインデックスを法線ベクトルインデックステーブルに格納し、該頂点に対しては真を、また該平面上の他の頂点には偽を平面フラグテーブルに格納することを特徴とする。
また、本発明の請求項11は、請求項9に記載のデータ圧縮装置で圧縮された形状データを伸張するデータ伸張装置であって、前記頂点座標インデックステーブルに連続して格納されたすべての頂点座標を、頂点に対する頂点座標インデックスによって前記頂点座標テーブルから頂点座標を求めて読み出して頂点座標を伸張する頂点座標伸張手段と、前記平面フラグテーブルから真を読み出した場合に、前記頂点座標インデックステーブルに連続して格納された複数の頂点座標を同一の平面上の複数頂点の頂点座標とみなし、前記法線ベクトルインデックステーブルに格納された単一の法線ベクトルインデックスを同一の平面上の複数頂点の法線ベクトルインデックスとして割り当てて、この法線ベクトルインデックスによって前記法線ベクトルテーブルから法線ベクトルを取り出すことにより法線ベクトルを伸張する法線ベクトル伸張手段とを備えることを特徴とする。
According to a tenth aspect of the present invention, in a data compression method for compressing shape data representing a shape model of an n-dimensional space by a triangular mesh, the shape data is stored in a vertex coordinate table without duplication, and the plurality of vertex coordinate indexes are stored. Consecutively stored in the vertex coordinate index table, and for only a single vertex on the same plane, the normal vector at that vertex is stored in the normal vector table without duplication, and the normal A vector index is stored in a normal vector index table, and true is stored for the vertex and false is stored for another vertex on the plane in the plane flag table.
Further, an eleventh aspect of the present invention is a data decompression device for decompressing the shape data compressed by the data compression device according to the ninth aspect, wherein all the vertices stored successively in the vertex coordinate index table are stored. When the coordinates are read from the vertex coordinate table by the vertex coordinate index with respect to the vertex, the vertex coordinate expansion means for reading and expanding the vertex coordinates, and when the true is read from the plane flag table, the vertex coordinate index table A plurality of vertex coordinates stored in succession are regarded as vertex coordinates of a plurality of vertices on the same plane, and a single normal vector index stored in the normal vector index table is assigned to a plurality of vertices on the same plane. Assigned as a normal vector index, the normal vector Characterized in that it comprises a normal vector decompressing means for decompressing the normal vector by extracting normal vectors from Le table.
また、本発明の請求項12は、請求項10に記載のデータ圧縮方法で圧縮された形状データを伸張するデータ伸張方法であって、前記頂点座標インデックステーブルに連続して格納されたすべての頂点座標を、頂点に対する頂点座標インデックスによって前記頂点座標テーブルから頂点座標を求めて読み出して頂点座標を伸張し、前記平面フラグテーブルから真を読み出した場合に、前記頂点座標インデックステーブルに連続して格納された複数の頂点座標を同一の平面上の複数頂点の頂点座標とみなし、前記法線ベクトルインデックステーブルに格納された単一の法線ベクトルインデックスを同一の平面上の複数頂点の法線ベクトルインデックスとして割り当てて、この法線ベクトルインデックスによって前記法線ベクトルテーブルから法線ベクトルを取り出すことにより法線ベクトルを伸張することを特徴とする。
また、本発明の請求項13は、n次元空間の形状モデルを三角形メッシュで表した形状データを格納するデータ構造であって、n次元の頂点座標が格納された頂点座標テーブルと、n次元の法線ベクトルが格納された法線ベクトルテーブルと、頂点座標テーブルへのインデックスが格納された頂点座標インデックステーブルと、法線ベクトルテーブルへのインデックスが格納された法線ベクトルインデックステーブルと、頂点ごとに真・偽を示す頂点座標参照フラグテーブルと、頂点ごとに真・偽を示す法線ベクトル参照フラグテーブルと、頂点ごとに真・偽を示す平面フラグテーブルとからなることを特徴とする参照型三角形メッシュを用いたデータ構造である。
また、本発明の請求項14は、請求項13に記載のデータ構造において、前記頂点座標参照テーブル、前記法線ベクトル参照フラグテーブルおよび前記平面フラグテーブルは、三角形セット形式または三角形ストリップ形式のいずれかであることを特徴とするデータ構造である。
According to a twelfth aspect of the present invention, there is provided a data decompression method for decompressing the shape data compressed by the data compression method according to the tenth aspect, wherein all the vertices stored successively in the vertex coordinate index table are stored. The coordinates are continuously stored in the vertex coordinate index table when the vertex coordinates are expanded by reading out the vertex coordinates from the vertex coordinate table by the vertex coordinate index with respect to the vertex, and the true is read from the plane flag table. The plurality of vertex coordinates are regarded as the vertex coordinates of a plurality of vertices on the same plane, and the single normal vector index stored in the normal vector index table is used as the normal vector index of the plurality of vertices on the same plane. Assign and modulo from the normal vector table by this normal vector index Characterized by stretching the normal vector by extracting vector.
A thirteenth aspect of the present invention is a data structure for storing shape data representing a shape model of an n-dimensional space by a triangular mesh, a vertex coordinate table storing n-dimensional vertex coordinates, and an n-dimensional vertex table. For each vertex, a normal vector table storing normal vectors, a vertex coordinate index table storing indexes to the vertex coordinate table, a normal vector index table storing indexes to the normal vector table, and each vertex A reference type triangle comprising a vertex coordinate reference flag table indicating true / false, a normal vector reference flag table indicating true / false for each vertex, and a plane flag table indicating true / false for each vertex This is a data structure using a mesh.
According to a fourteenth aspect of the present invention, in the data structure according to the thirteenth aspect, the vertex coordinate reference table, the normal vector reference flag table, and the plane flag table are either a triangle set format or a triangle strip format. It is a data structure characterized by being.
また、本発明の請求項15は、n次元空間の形状モデルを三角形メッシュで表した形状データを圧縮するデータ圧縮装置において、同一の平面上の複数の頂点に対し、初めて参照される頂点座標については、頂点座標を頂点座標テーブルに格納し、該複数の頂点に対応する頂点座標参照フラグテーブルに真を格納し、2回目以降参照される頂点座標については、頂点座標インデックスを頂点座標インデックステーブルに格納し、該複数の頂点に対応する頂点座標参照フラグテーブルに偽を格納する頂点座標圧縮手段と、初めて参照される法線ベクトルについては、同一の平面上の頂点のうち単一の頂点に対してのみ、その頂点における法線ベクトルを法線ベクトルテーブルに格納し、該頂点に対応する法線ベクトル参照フラグテーブルに真を格納し、2回目以降に参照される法線ベクトルについては、同一の平面上の頂点のうち単一の頂点に対してのみ、その頂点における法線ベクトルを法線ベクトルテーブルに格納して、その法線ベクトルインデックスを法線ベクトルインデックステーブルに格納し、該頂点に対応する法線ベクトル参照フラグテーブルに偽を格納し、該単一の法線ベクトルに対応する頂点に対しては真を平面フラグテーブルに格納する法線ベクトル圧縮手段を備えることを特徴とする。
また、本発明の請求項16は、n次元空間の形状モデルを三角形メッシュで表した形状データを圧縮するデータ圧縮方法において、同一の平面上の複数の頂点に対し、初めて参照される頂点座標については、頂点座標を頂点座標テーブルに格納し、該複数の頂点に対応する頂点座標参照フラグテーブルに真を格納し、2回目以降参照される頂点座標については、頂点座標インデックスを頂点座標インデックステーブルに格納し、該複数の頂点に対応する頂点座標参照フラグテーブルに偽を格納し、初めて参照される法線ベクトルについては、同一の平面上の頂点のうち単一の頂点に対してのみ、その頂点における法線ベクトルを法線ベクトルテーブルに格納し、該頂点に対応する法線ベクトル参照フラグテーブルに真を格納し、2回目以降に参照される法線ベクトルについては、同一の平面上の頂点のうち単一の頂点に対してのみ、その頂点における法線ベクトルを法線ベクトルテーブルに格納して、その法線ベクトルインデックスを法線ベクトルインデックステーブルに格納し、該頂点に対応する法線ベクトル参照フラグテーブルに偽を格納し、該単一の法線ベクトルに対応する頂点に対しては真を平面フラグテーブルに格納することを特徴とする。
According to a fifteenth aspect of the present invention, in a data compression apparatus for compressing shape data in which a shape model of an n-dimensional space is represented by a triangular mesh, vertex coordinates referred to for the first time with respect to a plurality of vertices on the same plane. Stores the vertex coordinates in the vertex coordinate table, stores true in the vertex coordinate reference flag table corresponding to the plurality of vertices, and for the vertex coordinates referenced for the second and subsequent times, the vertex coordinate index is stored in the vertex coordinate index table. The vertex coordinate compression means that stores and stores false in the vertex coordinate reference flag table corresponding to the plurality of vertices, and the normal vector that is referred to for the first time, with respect to a single vertex among the vertices on the same plane Only the normal vector at the vertex is stored in the normal vector table, and the normal vector reference flag table corresponding to the vertex is set to true. For normal vectors that are referenced after the second time, the normal vectors at the vertices are stored in the normal vector table only for a single vertex among the vertices on the same plane. Store the normal vector index in the normal vector index table, store false in the normal vector reference flag table corresponding to the vertex, and set true to the plane flag for the vertex corresponding to the single normal vector Normal vector compression means for storing in a table is provided.
According to a sixteenth aspect of the present invention, in a data compression method for compressing shape data representing a shape model of an n-dimensional space by a triangular mesh, vertex coordinates referred to for the first time with respect to a plurality of vertices on the same plane Stores the vertex coordinates in the vertex coordinate table, stores true in the vertex coordinate reference flag table corresponding to the plurality of vertices, and for the vertex coordinates referenced for the second and subsequent times, the vertex coordinate index is stored in the vertex coordinate index table. Stores false in the vertex coordinate reference flag table corresponding to the plurality of vertices, and for the normal vector that is referred to for the first time, the vertex only for a single vertex among the vertices on the same plane The normal vector at is stored in the normal vector table, and true is stored in the normal vector reference flag table corresponding to the vertex. For the normal vector to be illuminated, the normal vector at that vertex is stored in the normal vector table only for a single vertex among the vertices on the same plane, and the normal vector index is stored as the normal vector. Storing in a vector index table, storing false in the normal vector reference flag table corresponding to the vertex, and storing true in the plane flag table for the vertex corresponding to the single normal vector And
また、本発明の請求項17は、請求項15に記載のデータ圧縮装置で圧縮された形状データを伸張するデータ伸張装置であって、処理中の頂点に対応する前記頂点座標参照フラグテーブルのフラグが真の場合は、該頂点の頂点座標を前記頂点座標テーブルから読み出し、該頂点に対応する頂点座標参照フラグテーブルのフラグが偽の場合は、該頂点に対応する前記頂点座標インデックステーブルの頂点座標インデックスが指す座標値を前記頂点座標テーブルから読み出すことによって頂点座標を伸張する頂点座標伸張手段と、平面上の頂点の法線ベクトル参照フラグテーブルのフラグが真の場合は、該頂点に対応する法線ベクトルを法線ベクトルテーブルから読み出し、該頂点の法線ベクトル参照フラグテーブルのフラグが偽の場合は、該頂点に対応する法線ベクトルを法線ベクトルインデックステーブルの法線ベクトルインデックスが指す法線ベクトルテーブルから読み出すことで、同一の平面上の複数頂点に対して法線ベクトルを割り当てることにより法線ベクトルを伸張する法線ベクトル伸張手段とを備えることを特徴とする。
また、本発明の請求項18は、請求項16に記載のデータ圧縮装置で圧縮された形状データを伸張するデータ伸張方法であって、処理中の頂点に対応する前記頂点座標参照フラグテーブルのフラグが真の場合は、該頂点の頂点座標を前記頂点座標テーブルから読み出し、該頂点に対応する頂点座標参照フラグテーブルのフラグが偽の場合は、該頂点に対応する前記頂点座標インデックステーブルの頂点座標インデックスが指す座標値を前記頂点座標テーブルから読み出すことによって頂点座標を伸張し、平面上の頂点の法線ベクトル参照フラグテーブルのフラグが真の場合は、該頂点に対応する法線ベクトルを法線ベクトルテーブルから読み出し、該頂点の法線ベクトル参照フラグテーブルのフラグが偽の場合は、該頂点に対応する法線ベクトルを法線ベクトルインデックステーブルの法線ベクトルインデックスが指す法線ベクトルテーブルから読み出すことで、同一の平面上の複数頂点に対して法線ベクトルを割り当てることにより法線ベクトルを伸張することを特徴とする。
また、本発明の請求項19は、請求項1、7または13に記載のデータ構造において、前記頂点座標テーブルおよび前記法線ベクトルテーブルは、浮動小数点表現またはベクトル量子化圧縮がなされていることを特徴とするデータ構造である。
According to a seventeenth aspect of the present invention, there is provided a data decompressing device for decompressing the shape data compressed by the data compressing device according to the fifteenth aspect, the flag of the vertex coordinate reference flag table corresponding to the vertex being processed. Is true, the vertex coordinates of the vertex are read from the vertex coordinate table, and when the flag of the vertex coordinate reference flag table corresponding to the vertex is false, the vertex coordinates of the vertex coordinate index table corresponding to the vertex Vertex coordinate extension means for extending the vertex coordinates by reading the coordinate value pointed to by the index from the vertex coordinate table, and a method corresponding to the vertex when the normal vector reference flag table flag of the vertex on the plane is true When a line vector is read from the normal vector table and the normal vector reference flag table flag of the vertex is false, the vertex vector is read. The normal vector corresponding to is read from the normal vector table indicated by the normal vector index of the normal vector index table, and the normal vector is extended by assigning the normal vector to multiple vertices on the same plane. Normal vector expansion means.
According to
According to a nineteenth aspect of the present invention, in the data structure according to the first, seventh or thirteenth aspect, the vertex coordinate table and the normal vector table are subjected to floating point representation or vector quantization compression. A characteristic data structure.
また、本発明の請求項20は、n次元空間の形状モデルを処理するn次元形状モデル処理装置において、請求項3、9または15に記載のデータ圧縮装置と、請求項5、11または17に記載のデータ伸張装置の少なくともいずれかを備え、前記データ圧縮装置は、n次元形状モデルを圧縮した形状データを生成して送信し、前記データ伸張装置は、受信した該形状データを伸張して、n次元形状モデルを生成するようにしたことを特徴とする。
また、本発明の請求項21は、コンピュータに、請求項3、9または15に記載のデータ圧縮装置の機能、請求項5、11または17に記載のデータ伸張装置の機能、または、請求項20に記載のn次元形状モデル処理装置の機能を実行させるためのプログラムである。
また、本発明の請求項22は、請求項21に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
According to a twentieth aspect of the present invention, there is provided an n-dimensional shape model processing apparatus for processing a shape model of an n-dimensional space, the data compression device according to the third, ninth or fifteenth aspect, and the fifth, eleventh or seventeenth aspect. Including at least one of the data decompression devices described above, wherein the data compression device generates and transmits shape data obtained by compressing an n-dimensional shape model, and the data decompression device decompresses the received shape data, An n-dimensional shape model is generated.
According to a twenty-first aspect of the present invention, the function of the data compression device according to the third, ninth or fifteenth aspect, the function of the data decompression device according to the fifth, eleventh or seventeenth aspect, or the twentieth aspect is provided. Is a program for executing the function of the n-dimensional shape model processing device described in the above.
The twenty-second aspect of the present invention is a computer-readable recording medium on which the program according to the twenty-first aspect is recorded.
本発明によれば、n次元空間における三角形メッシュの圧縮および伸張を行うことができる。
このデータ構造を使用すると、データサイズが減少し、ハードディスク等保存装置のスペース効率が向上する。
また、データサイズが減少するため、表示速度および転送速度が向上する。
さらに、3次元形状処理装置にこのデータ構造を使用することによって、コンパクトな3次元形状モデルデータを実現できる。
According to the present invention, compression and expansion of a triangular mesh in an n-dimensional space can be performed.
Using this data structure reduces the data size and improves the space efficiency of a storage device such as a hard disk.
Further, since the data size is reduced, the display speed and the transfer speed are improved.
Furthermore, by using this data structure in the three-dimensional shape processing apparatus, compact three-dimensional shape model data can be realized.
以下、図面を参照して、本発明の好適な実施形態を詳細に説明する。
また、下記の(1)〜(3)の前提に基づき、本発明の構成および動作を説明する。
(1)本発明で扱う三角形メッシュは、一般的な3次元形状処理システムで生成された曲面をもととして生成されたものであり、三角形メッシュの各頂点がどの面(曲面や平面)に対応しているかを形状モデルデータとして保持しているものとする。
(2)面には、平面とそれ以外の曲面があり、平面については平面上のすべての点に対して共通な法線ベクトル(x成分、y成分、z成分)の情報が取得できるものとする。
例えば、図1に示す平面の場合、5つの三角形メッシュからなり、それらの5つの三角形メッシュが共通の法線ベクトルを持っている。すなわち、この平面の7つの頂点における法線ベクトルは、図1に示した共通の法線ベクトルを持っている。
(3)三角形の表現形式としては、三角形セット形式のものと三角形ストリップ形式のものとがある。
このうち、三角形セット形式は、各三角形の3つの頂点座標を順次並べて格納する形式である。例えば、図2は、3つの三角形(A,B,C)に対して、その3つの頂点座標を順に格納している。三角形Aの3つの頂点の座標は(tj,tj+1,tj+2)であるから、データ構造にはこの順に頂点座標を格納することになる。
したがって、三角形セット形式の場合には、3つずつ取り出せば1つの三角形を表現することができるので、取り扱いには便利であるが、データの圧縮ということには三角形ストリップ形式より劣っている。
一方、三角形ストリップ形式は、三角形の1つの辺をはさんで隣接した三角形の各頂点座標を順次並べた形式をしており、最後の2つの頂点が次の隣接する三角形の最初の辺の頂点となるように配置する。三角形ストリップ形式の最後は頂点座標値に現れないような値もしくは最後を示すフラグで区切り識別子を与えるようになっている。
例えば、図3は、3つの三角形(A,B,C)に対して、その3つの頂点座標をストリップ形式で格納している。この場合、三角形Aの3つの頂点の座標は上から3つと取り出した(tj,tj+1,tj+2)であり、また、三角形Bの3つの頂点の座標は2番目以降の3つを取り出した(tj+1,tj+2,tj+3)である。また、頂点の最後には、区切り識別子を置いてある。
したがって、三角形ストリップ形式の場合には、三角形セット形式の場合よりも取り扱いが面倒ではあるが、連続的に三角形を取り出す場合には便利であり、また、データの圧縮ということでは三角形セット形式より勝っている。
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings.
The configuration and operation of the present invention will be described based on the following assumptions (1) to (3).
(1) The triangular mesh handled in the present invention is generated based on a curved surface generated by a general three-dimensional shape processing system, and corresponds to which surface (curved surface or plane) each vertex of the triangular mesh corresponds to. Is stored as shape model data.
(2) There are planes and curved surfaces other than the plane, and information on normal vectors (x component, y component, z component) common to all points on the plane can be acquired. To do.
For example, the plane shown in FIG. 1 includes five triangular meshes, and these five triangular meshes have a common normal vector. That is, the normal vectors at the seven vertices of this plane have the common normal vector shown in FIG.
(3) Triangle expression formats include a triangle set format and a triangle strip format.
Among these, the triangle set format is a format in which the three vertex coordinates of each triangle are sequentially arranged and stored. For example, FIG. 2 sequentially stores the three vertex coordinates for three triangles (A, B, C). Since the coordinates of the three vertices of the triangle A are (t j , t j + 1 , t j + 2 ), the vertex coordinates are stored in this order in the data structure.
Therefore, in the case of the triangle set format, one triangle can be expressed by taking out three at a time, which is convenient for handling, but is inferior to the triangle strip format in terms of data compression.
On the other hand, the triangle strip format is a format in which the coordinates of the vertices of adjacent triangles are arranged in sequence with one side of the triangle, and the last two vertices are the vertices of the first side of the next adjacent triangle. Arrange so that At the end of the triangle strip format, a delimiter identifier is given by a value that does not appear in the vertex coordinate value or a flag indicating the end.
For example, in FIG. 3, for the three triangles (A, B, C), the three vertex coordinates are stored in a strip format. In this case, the coordinates of the three vertices of the triangle A are extracted from the top three (t j , t j + 1 , t j + 2 ), and the coordinates of the three vertices of the triangle B are extracted after the second three. (T j + 1 , t j + 2 , t j + 3 ). A delimiter identifier is placed at the end of the vertex.
Therefore, the triangle strip format is more difficult to handle than the triangle set format, but it is convenient when continuously extracting triangles, and the data compression is superior to the triangle set format. ing.
次に、本発明で扱う三角形メッシュのデータ格納形式である3つの型(列挙型、インデックス型、参照型)について説明する。
(1)列挙型三角形メッシュ:
列挙型三角形メッシュは、頂点座標テーブルと法線ベクトルテーブルから構成される。
頂点座標テーブルには、三角形メッシュの各頂点座標の(x,y,z)値が三角形セット形式または三角形ストリップ形式のいずれかで格納される。同様に、法線ベクトルテーブルには、各頂点における法線ベクトルの(x成分,y成分,z成分)値が格納される。
(2)インデックス型三角形メッシュ:
インデックス型三角形メッシュは、頂点座標テーブル、法線ベクトルテーブルと、頂点座標テーブルのインデックスを格納した頂点座標インデックステーブル、法線ベクトルテーブルのインデックスを格納した法線ベクトルインデックステーブルから構成される。
頂点座標テーブルは、三角形メッシュの各頂点座標のうち重複する値を持つ頂点座標を1つに統一して、重複のない頂点座標値(x,y,z)値が格納される。
頂点座標インデックステーブルは、三角形メッシュの各頂点座標値が格納された頂点座標テーブルへのインデックスを三角形セット形式または三角形ストリップ形式のいずれかで格納する。
同様に、法線ベクトルテーブルには、各頂点における法線ベクトルのうち重複する値を持つ法線ベクトルを1つに統一して、重複のない法線ベクトル(x成分,y成分,z成分)値が格納される。
法線ベクトルインデックステーブルには、三角形メッシュの各頂点における法線ベクトル値が格納された法線ベクトルテーブルへのインデックスが格納される。
Next, three types (enumeration type, index type, and reference type) that are data storage formats of the triangular mesh handled in the present invention will be described.
(1) Enumerated triangular mesh:
The enumerated triangular mesh is composed of a vertex coordinate table and a normal vector table.
In the vertex coordinate table, (x, y, z) values of each vertex coordinate of the triangle mesh are stored in either a triangle set format or a triangle strip format. Similarly, the normal vector table stores the (x component, y component, z component) value of the normal vector at each vertex.
(2) Index type triangular mesh:
The index type triangular mesh includes a vertex coordinate table, a normal vector table, a vertex coordinate index table that stores an index of the vertex coordinate table, and a normal vector index table that stores an index of the normal vector table.
The vertex coordinate table unifies the vertex coordinate values (x, y, z) having no overlapping values by unifying the vertex coordinates having overlapping values among the vertex coordinates of the triangular mesh into one.
The vertex coordinate index table stores an index to the vertex coordinate table in which each vertex coordinate value of the triangle mesh is stored in either a triangle set format or a triangle strip format.
Similarly, in the normal vector table, normal vectors having overlapping values among the normal vectors at the respective vertices are unified into one, and normal vectors having no overlap (x component, y component, z component) are obtained. Stores the value.
The normal vector index table stores an index to a normal vector table in which normal vector values at each vertex of the triangular mesh are stored.
(3)参照型三角形メッシュ:
参照型三角形メッシュは、頂点座標テーブル、法線ベクトルテーブル、頂点座標テーブルへのインデックスを格納した頂点座標インデックステーブル、法線ベクトルテーブルへのインデックスを格納した法線ベクトルインデックステーブル、頂点座標参照フラグテーブル、法線ベクトル参照フラグテーブルとから構成される。
頂点座標テーブルは、まだこのテーブルに登録されていない頂点座標値を登録し、頂点に対応する頂点座標参照フラグテーブルには真のフラグ値が格納される。
また、すでに頂点座標テーブルに登録されている頂点の場合には、そのすでに登録されている頂点座標値へのインデックスを頂点座標インデックステーブルに登録し、その頂点に対応する頂点座標参照フラグテーブルには偽のフラグ値が格納される。
このように格納される頂点座標参照フラグテーブルは、これらのフラグ値を三角形セット形式または三角形ストリップ形式のいずれかで格納する。
頂点座標テーブルから頂点座標値を見つける場合には、頂点座標参照フラグテーブルの真のフラグ値をテーブルの先頭から求める頂点の位置に対応する場所までカウントし、このカウント値を頂点座標テーブルへのインデックスとすることによって求められる。
また、頂点座標インデックステーブルから頂点座標インデックスを見つける場合には、頂点座標参照フラグテーブルの偽のフラグ値をテーブルの先頭から求める頂点の位置に対応する場所までカウントし、このカウント値を頂点座標インデックステーブルへのインデックスとすることによって求められる。
(3) Reference triangle mesh:
The reference type triangular mesh has a vertex coordinate table, a normal vector table, a vertex coordinate index table storing an index to the vertex coordinate table, a normal vector index table storing an index to the normal vector table, and a vertex coordinate reference flag table. And a normal vector reference flag table.
The vertex coordinate table registers vertex coordinate values not yet registered in this table, and the true flag value is stored in the vertex coordinate reference flag table corresponding to the vertex.
In addition, in the case of a vertex already registered in the vertex coordinate table, an index to the already registered vertex coordinate value is registered in the vertex coordinate index table, and the vertex coordinate reference flag table corresponding to the vertex is registered in the vertex coordinate reference flag table. A false flag value is stored.
The vertex coordinate reference flag table stored in this way stores these flag values in either a triangle set format or a triangle strip format.
When finding the vertex coordinate value from the vertex coordinate table, the true flag value in the vertex coordinate reference flag table is counted from the top of the table to the location corresponding to the vertex position to be obtained, and this count value is an index into the vertex coordinate table. It is calculated by.
In addition, when finding the vertex coordinate index from the vertex coordinate index table, the false flag value in the vertex coordinate reference flag table is counted from the top of the table to the place corresponding to the vertex position to be obtained, and this count value is counted as the vertex coordinate index. It is obtained by making an index into the table.
法線ベクトルテーブルは、まだこのテーブルに登録されていない法線ベクトル値を登録する。また、すでに法線ベクトルテーブルに登録されている法線ベクトルの場合には、そのすでに登録されている法線ベクトル値へのインデックスを法線ベクトルインデックステーブルに登録する。
法線ベクトル参照フラグテーブルは、頂点ごとに対応して、法線ベクトルテーブルまたは法線ベクトルインデックステーブルのいずれのテーブルに法線ベクトルを格納したかを示すフラグ値を三角形セット形式または三角形ストリップ形式のいずれかで格納する。
この法線ベクトル参照フラグテーブルのフラグ値が真の場合には、法線ベクトルを法線ベクトルテーブルに格納したことを示し、フラグ値が偽の場合には、法線ベクトルを法線ベクトルインデックステーブルを介して格納したことを示している。
ここで、ある平面に属する三角メッシュの頂点の法線ベクトルは共通するので、1つの法線ベクトルだけを法線ベクトルテーブルまたは法線ベクトルインデックステーブルのいずれかに登録するようにする。この場合、法線ベクトルを登録した平面上の他の頂点のフラグ値は真・偽以外の値として登録する。
法線ベクトルテーブルから法線ベクトル値を見つける場合には、法線ベクトル参照フラグテーブルの真のフラグ値をテーブルの先頭から求める頂点の位置に対応する場所までカウントし、このカウント値を法線ベクトルテーブルへのインデックスとすることによって求められる。
また、法線ベクトルインデックステーブルから法線ベクトルインデックスを見つける場合には、法線ベクトル参照フラグテーブルの偽のフラグ値をテーブルの先頭から求める頂点の位置に対応する場所までカウントし、このカウント値を法線ベクトルインデックステーブルへのインデックスとすることによって求められる。
この参照型を使用して格納すると、インデックス型よりさらにデータ格納領域を縮小することができる。
The normal vector table registers normal vector values that are not yet registered in this table. In the case of a normal vector already registered in the normal vector table, the index to the already registered normal vector value is registered in the normal vector index table.
In the normal vector reference flag table, a flag value indicating whether the normal vector is stored in the normal vector table or the normal vector index table in a triangle set format or a triangle strip format corresponding to each vertex. Store either.
If the flag value of this normal vector reference flag table is true, it indicates that the normal vector has been stored in the normal vector table. If the flag value is false, the normal vector is stored in the normal vector index table. It shows that it was stored via.
Here, since the normal vectors of the vertices of the triangular mesh belonging to a certain plane are common, only one normal vector is registered in either the normal vector table or the normal vector index table. In this case, the flag values of other vertices on the plane on which the normal vector is registered are registered as values other than true / false.
When finding the normal vector value from the normal vector table, the true flag value in the normal vector reference flag table is counted from the top of the table to the location corresponding to the vertex position to be obtained, and this count value is calculated as the normal vector. It is obtained by making an index into the table.
When the normal vector index is found from the normal vector index table, the false flag value in the normal vector reference flag table is counted from the top of the table to the location corresponding to the position of the vertex to be obtained, and this count value is calculated. It is obtained by setting an index to the normal vector index table.
By storing using this reference type, the data storage area can be further reduced than the index type.
<実施形態1>
(1)列挙型三角形メッシュを用いた形状データのデータ構造:
図4は、本発明の列挙型三角形メッシュのデータ構造を用いて、n次元(2乃至4次元)形状モデルを格納するためのデータ構造を示している。
n次元形状モデルを格納するためのデータ構造は、n次元の頂点座標が格納された頂点座標テーブルV、n次元の法線ベクトルが格納された法線ベクトルテーブルU、頂点ごとに真・偽を示す平面フラグテーブルPから構成される。
頂点座標テーブルVには、頂点座標の数(=nv)とnv個の頂点座標が頂点座標V1から頂点座標Vnvの順に、三角形セット形式または三角形ストリップ形式のいずれかの形式で格納されている。また、これらの頂点座標は、それぞれ(x,y,z)の3座標値から構成され、各座標値は浮動小数点あるいはベクトル量子化圧縮が行われる。
平面フラグテーブルPには、頂点座標テーブルVに登録された頂点の順序と同じに、その頂点が平面上の点かまたは曲面上の点かによってそれぞれ真と偽とを格納する。したがって、曲面フラグテーブルのサイズは、頂点座標の数と同じになっている。
法線ベクトルテーブルUには、法線ベクトルの数(=nu)とnu個の法線ベクトルが法線ベクトルU1から法線ベクトルUnuの順に格納されている。また、これらの法線ベクトルは、それぞれ(x成分,y成分,z成分)の3成分から構成され、各座標値は浮動小数点あるいはベクトル量子化圧縮が行われる。
さらに、1つ乃至それ以上の三角形メッシュが同一平面上にある場合には、共通した法線ベクトルを使用するため、法線ベクトルテーブルUには1つの法線ベクトルのみを登録する。
<
(1) Data structure of shape data using enumerated triangular mesh:
FIG. 4 shows a data structure for storing an n-dimensional (2-4 dimensional) shape model using the enumerated triangular mesh data structure of the present invention.
The data structure for storing the n-dimensional shape model includes a vertex coordinate table V in which n-dimensional vertex coordinates are stored, a normal vector table U in which n-dimensional normal vectors are stored, and true / false for each vertex. The plane flag table P shown in FIG.
In the vertex coordinate table V, the number of vertex coordinates (= nv) and nv vertex coordinates are stored in the order of the vertex coordinates V1 to the vertex coordinates Vnv in either a triangle set format or a triangle strip format. These vertex coordinates are each composed of three coordinate values (x, y, z), and each coordinate value is subjected to floating point or vector quantization compression.
In the plane flag table P, true and false are stored depending on whether the vertex is a point on the plane or a point on the curved surface, in the same order as the vertexes registered in the vertex coordinate table V. Therefore, the size of the curved surface flag table is the same as the number of vertex coordinates.
In the normal vector table U, the number of normal vectors (= nu) and nu normal vectors are stored in the order of the normal vector U1 to the normal vector Unu. Each of these normal vectors is composed of three components (x component, y component, z component), and each coordinate value is subjected to floating point or vector quantization compression.
Further, when one or more triangular meshes are on the same plane, a common normal vector is used, so that only one normal vector is registered in the normal vector table U.
(2)形状データの圧縮:
次に、本実施形態1で示したデータ構造(図4)を用いて、所定のn次元形状データを格納する方法について説明する。
はじめに、n次元形状を表すデータは、すでにn次元形状処理装置によってデータベース化(形状DB)されているものとする。
図5は、本実施形態1のデータ圧縮装置の構成を示すブロック図である。同図において、データ圧縮装置は、頂点座標圧縮手段20、法線ベクトル圧縮手段30、生成したテーブル(頂点座標テーブル、法線ベクトルテーブル、平面フラグテーブル)および形状DBを格納するデータ保持手段40と、これらの手段を制御する制御手段10とから構成される。
図6は、形状DBの中の指定された形状データを図4のデータ構造の形式で格納するときの処理手順を示すフローチャートである。
形状DB中の指定された形状データに含まれるすべての頂点の頂点座標を連続して格納した頂点座標テーブルをデータ保持手段40へ書き込む(ステップS10)。ステップS10で頂点座標圧縮手段20を構成する。
指定された形状データに含まれる面が平面であるか否かを判定し、平面である場合には(ステップS11のYES)、この平面に属する三角メッシュの共通の法線ベクトルを1つの法線ベクトルとして法線ベクトルテーブルに格納する(ステップS12)。
平面フラグテーブルには、この平面に属する三角メッシュの頂点数分の真のフラグを格納し(ステップS13)、ステップS16へ進む。このとき、平面フラグテーブルへフラグ値を格納する順序は、頂点座標テーブルへ頂点座標を登録したときと同じ順序となっている。
一方、平面でない場合は(ステップS11のNO)、同一曲面上のすべての頂点に対応付けて法線ベクトルを連続して法線ベクトルテーブルに格納する(ステップS14)。
さらに、同一曲面上のすべての頂点に対応付けて平面フラグテーブルに偽のフラグを格納し(ステップS15)、ステップS16へ進む。
上記のステップS11からステップS15をすべての面に対して行なって(ステップS16)、作成された平面フラグテーブルと法線ベクトルテーブルとをデータ保持手段40へ書き込む。これらステップS11からステップS16により、法線ベクトル圧縮手段30を構成する。
(2) Shape data compression:
Next, a method for storing predetermined n-dimensional shape data will be described using the data structure shown in the first embodiment (FIG. 4).
First, it is assumed that data representing an n-dimensional shape has already been databased (shape DB) by an n-dimensional shape processing apparatus.
FIG. 5 is a block diagram illustrating the configuration of the data compression apparatus according to the first embodiment. In the figure, the data compression apparatus includes a vertex coordinate compression means 20, a normal vector compression means 30, a generated table (vertex coordinate table, normal vector table, plane flag table) and a data holding means 40 for storing a shape DB. And control means 10 for controlling these means.
FIG. 6 is a flowchart showing a processing procedure when the designated shape data in the shape DB is stored in the format of the data structure of FIG.
A vertex coordinate table that continuously stores the vertex coordinates of all the vertices included in the specified shape data in the shape DB is written to the data holding means 40 (step S10). In step S10, the vertex coordinate compression means 20 is configured.
It is determined whether or not the surface included in the specified shape data is a plane. If the surface is a plane (YES in step S11), a common normal vector of triangular meshes belonging to this plane is set as one normal line. The vector is stored in the normal vector table as a vector (step S12).
In the plane flag table, true flags corresponding to the number of vertices of the triangular mesh belonging to this plane are stored (step S13), and the process proceeds to step S16. At this time, the order in which the flag values are stored in the plane flag table is the same as when the vertex coordinates are registered in the vertex coordinate table.
On the other hand, if it is not a plane (NO in step S11), the normal vectors are successively stored in the normal vector table in association with all vertices on the same curved surface (step S14).
Further, a false flag is stored in the plane flag table in association with all vertices on the same curved surface (step S15), and the process proceeds to step S16.
The above steps S11 to S15 are performed on all the surfaces (step S16), and the created plane flag table and normal vector table are written in the data holding means 40. The normal vector compression means 30 is configured by these steps S11 to S16.
(3)データの伸張:
図7は、実施形態1のデータ構造で圧縮して格納された形状データを伸張するデータ伸張装置の構成を示すブロック図である。同図において、データ伸張装置は、頂点座標伸張手段110、法線ベクトル伸張手段120、形状データ(頂点座標テーブル、平面フラグテーブル、法線ベクトルテーブル)の保持および伸張された形状モデルデータを形状DBへ格納するデータ保持手段130と、これらの手段を制御する制御手段100とから構成される。
図8は、本実施形態1のデータ伸張装置で伸張された形状データを形状DBへ格納するときの処理手順を示すフローチャートである。
データ保持手段130から頂点座標テーブルに連続して格納されたすべての頂点座標を読み出し、形状DBへ書き出す(ステップS20)。このステップS20により、頂点座標伸張手段110を構成する。
法線ベクトルテーブルから単一の法線ベクトルを読み出し(ステップS21)、読み出した法線ベクトルを平面フラグに対応する頂点の法線ベクトルとして割り当てて、形状DBを更新する(ステップS22)。
次に、未処理の平面フラグの有無をチェックし、未処理の平面フラグがない場合(ステップS23のNO)、処理を終了する。
一方、未処理の平面フラグがあって(ステップS23のYES)、その平面フラグが真のとき(ステップS24のYES)、再度ステップS22以降の処理を行なって、真のフラグが連続している場合の平面フラグに対応した頂点の法線ベクトルとして割り当てて、形状DBを更新する。
また、平面フラグが偽のときには(ステップS24のNO)、再度ステップS21以降の処理を行なって、新たな面に対する頂点の法線ベクトルを割り当てて、形状DBを更新する。
ステップS21からS24までにより、法線ベクトル伸張手段120を構成する。
(3) Data expansion:
FIG. 7 is a block diagram illustrating a configuration of a data decompression apparatus that decompresses shape data compressed and stored with the data structure of the first embodiment. In the figure, the data decompression device includes vertex coordinate decompression means 110, normal vector decompression means 120, shape data (vertex coordinate table, plane flag table, normal vector table) held and decompressed shape model data in the shape DB. Data holding means 130 for storing data and control means 100 for controlling these means.
FIG. 8 is a flowchart showing a processing procedure when the shape data expanded by the data expansion device of the first embodiment is stored in the shape DB.
All vertex coordinates stored continuously in the vertex coordinate table are read from the data holding means 130 and written to the shape DB (step S20). By this step S20, the vertex coordinate expansion means 110 is configured.
A single normal vector is read from the normal vector table (step S21), the read normal vector is assigned as the normal vector of the vertex corresponding to the plane flag, and the shape DB is updated (step S22).
Next, the presence / absence of an unprocessed plane flag is checked. If there is no unprocessed plane flag (NO in step S23), the process ends.
On the other hand, when there is an unprocessed plane flag (YES in step S23) and the plane flag is true (YES in step S24), the process after step S22 is performed again, and the true flag is continuous. The shape DB is updated by assigning as a normal vector of the vertex corresponding to the plane flag.
If the plane flag is false (NO in step S24), the process from step S21 is performed again, the vertex normal vector for the new surface is assigned, and the shape DB is updated.
The normal vector expansion means 120 is configured by steps S21 to S24.
図9は、列挙型三角形メッシュを用いたときのデータ格納例である。図9は、頂点[0]から頂点[6]までの頂点座標7組を格納した頂点座標テーブル、法線ベクトル5組を格納した法線ベクトルテーブルを示している。
頂点[3]と頂点[4]と頂点[5]が平面上の頂点である場合、平面フラグテーブルのフラグ[3]、フラグ[4]、フラグ[5]に真が格納される。この平面上の頂点[3]と頂点[4]と頂点[5]の法線ベクトルは共通であるので、頂点[3]での法線ベクトルであるX成分[3]とY成分[3]とZ成分[3]だけを法線ベクトルテーブルに格納し、他の頂点[4]と頂点[5]の法線ベクトルは、法線ベクトルテーブルに格納しない。
上記のように圧縮された形状データを伸張する場合には、平面フラグテーブルを参照したとき、フラグ[3]、フラグ[4]、フラグ[5]が真であるから、頂点[3]の法線ベクトルであるX成分[3]とY成分[3]とZ成分[3]だけを読み込み、頂点[4]と頂点[5]については、X成分[3]とY成分[3]とZ成分[3]を用いる。
以上のようにデータ圧縮装置およびデータ伸張装置を構成することによって、n次元空間における三角形メッシュの圧縮および伸張を行なうことができる。
また、このデータ構造を使用すると、真・偽を表すのみである平面フラグテーブルのサイズは、X成分、Y成分、Z成分を表す法線ベクトルテーブルのサイズに比較してかなり小さく、平面フラグテーブルの追加によるデータの増加よりも、法線ベクトルテーブルの圧縮によるデータの減少の方の割合が大きいので、全体のデータサイズが減少し、ハードディスク等保存装置のスペース効率が向上する。
FIG. 9 is an example of data storage when an enumerated triangular mesh is used. FIG. 9 shows a vertex coordinate table storing 7 vertex coordinates from vertex [0] to vertex [6] and a normal vector table storing 5 normal vectors.
When the vertex [3], the vertex [4], and the vertex [5] are vertices on the plane, true is stored in the flag [3], the flag [4], and the flag [5] of the plane flag table. Since the normal vectors of the vertex [3], the vertex [4], and the vertex [5] on this plane are common, the X component [3] and the Y component [3] that are normal vectors at the vertex [3] And the Z component [3] are stored in the normal vector table, and the normal vectors of the other vertices [4] and [5] are not stored in the normal vector table.
When decompressing the shape data compressed as described above, since the flag [3], the flag [4], and the flag [5] are true when the plane flag table is referenced, the modulus of the vertex [3] is calculated. Only the X component [3], Y component [3], and Z component [3] that are line vectors are read, and for the vertex [4] and vertex [5], the X component [3], Y component [3], and Z Ingredient [3] is used.
By configuring the data compression device and the data decompression device as described above, it is possible to compress and decompress the triangular mesh in the n-dimensional space.
Further, when this data structure is used, the size of the plane flag table that only represents true / false is considerably smaller than the size of the normal vector table that represents the X component, the Y component, and the Z component. Since the rate of data reduction due to compression of the normal vector table is larger than the data increase due to the addition of data, the overall data size is reduced, and the space efficiency of a storage device such as a hard disk is improved.
<実施形態2>
(1)インデックス型三角形メッシュを用いた形状データのデータ構造:
図10は、本発明のインデックス型三角形メッシュのデータ構造を用いて、n次元(2乃至4次元)形状モデルを格納するためのデータ構造を示している。
n次元形状モデルを格納するためのデータ構造は、n次元の頂点座標が格納された頂点座標テーブルV、n次元の法線ベクトルが格納された法線ベクトルテーブルU、頂点座標テーブルVへのインデックスが格納された頂点座標インデックステーブルSと、法線ベクトルテーブルUへのインデックスが格納された法線ベクトルインデックステーブルTと、頂点ごとに真・偽を示す平面フラグテーブルPから構成される。
頂点座標テーブルVには、テーブルに登録された頂点座標の数(=nv)とnv個の頂点座標が頂点座標V1から頂点座標Vnvの順に重複なしの座標値として格納され、これらの頂点座標は、それぞれ(x,y,z)の3座標値から構成され、各座標値は浮動小数点あるいはベクトル量子化圧縮が行われる。
頂点座標インデックステーブルSには、頂点座標インデックスの数(=nvi)とnvi個の頂点座標インデックス(頂点の座標値を格納した頂点座標テーブルVへのインデックス)がS1からSnviの順に三角形セット形式または三角形ストリップ形式のいずれかの形式で格納される。頂点座標インデックステーブルのサイズは、すべての頂点の個数と同じになっている。
平面フラグテーブルPには、頂点座標インデックステーブルSに登録された頂点の順序と同じに、その頂点が平面上の点かまたは曲面上の点かによってそれぞれ真と偽とを格納する。したがって、曲面フラグテーブルのサイズは、頂点座標インデックスの数と同じになっている。
法線ベクトルテーブルUには、法線ベクトルの数(=nu)とnu個の法線ベクトルが法線ベクトルU1から法線ベクトルUnuの順に重複なしの値として格納され、これらの法線ベクトルは、それぞれ(x成分,y成分,z成分)の3成分から構成され、各座標値は浮動小数点あるいはベクトル量子化圧縮が行われる。
法線ベクトルインデックステーブルTには、法線ベクトルインデックスの数(=nui)とnui個の法線ベクトルインデックス(法線ベクトルの値を格納した法線ベクトルテーブルUへのインデックス)がT1からTnuiの順に格納される。
さらに、1つ乃至それ以上の三角形メッシュが同一平面上にある場合には、共通した法線ベクトルを使用するため、法線ベクトルテーブルTには1つの法線ベクトルへのインデックスのみを登録する。
<
(1) Data structure of shape data using index type triangular mesh:
FIG. 10 shows a data structure for storing an n-dimensional (2- to 4-dimensional) shape model using the indexed triangular mesh data structure of the present invention.
The data structure for storing the n-dimensional shape model includes a vertex coordinate table V in which n-dimensional vertex coordinates are stored, a normal vector table U in which n-dimensional normal vectors are stored, and an index to the vertex coordinate table V. Are stored in a vertex coordinate index table S, a normal vector index table T in which an index to the normal vector table U is stored, and a plane flag table P indicating true / false for each vertex.
In the vertex coordinate table V, the number of vertex coordinates (= nv) and nv vertex coordinates registered in the table are stored as non-overlapping coordinate values in the order of vertex coordinates V1 to vertex coordinates Vnv. , Each consisting of three coordinate values (x, y, z), and each coordinate value is subjected to floating point or vector quantization compression.
In the vertex coordinate index table S, the number of vertex coordinate indexes (= nvi) and nvi vertex coordinate indexes (indexes to the vertex coordinate table V storing the coordinate values of the vertices) are in the triangle set format in the order of S1 to Snvi. Stored in one of the triangle strip formats. The size of the vertex coordinate index table is the same as the number of all vertices.
In the plane flag table P, true and false are stored in the same manner as the order of the vertices registered in the vertex coordinate index table S depending on whether the vertex is a point on the plane or a point on the curved surface. Therefore, the size of the curved surface flag table is the same as the number of vertex coordinate indexes.
In the normal vector table U, the number of normal vectors (= nu) and nu normal vectors are stored as non-overlapping values in the order of the normal vector U1 to the normal vector Unu. Are composed of three components (x component, y component, z component), and each coordinate value is subjected to floating point or vector quantization compression.
In the normal vector index table T, the number of normal vector indexes (= nui) and nui normal vector indexes (indexes to the normal vector table U storing normal vector values) are T1 to Tnui. Stored in order.
Further, when one or more triangular meshes are on the same plane, a common normal vector is used, so that only an index to one normal vector is registered in the normal vector table T.
(2)形状データの圧縮:
次に、本実施形態2で示したデータ構造(図10)を用いて、所定のn次元形状データを格納する方法について説明する。
はじめに、n次元形状を表すデータは、すでにn次元形状処理装置によってデータベース化(形状DB)されているものとする。
本実施形態2のデータ圧縮装置の構成は、実施形態1と同様であるから説明を省略する(図5参照)。
図11は、形状DBの中の指定された形状データを図10のデータ構造の形式で格納するときの処理手順を示すフローチャートである。
形状DB中の指定された形状データに含まれるすべての頂点の頂点座標を重複することなく頂点座標テーブルへ書き込む。次に、この頂点座標テーブルを参照して、すべての頂点座標への頂点座標インデックスを求め、この頂点座標インデックスを連続して格納した頂点座標インデックステーブルを作成して、これらの頂点座標テーブルおよび頂点座標インデックステーブルをデータ保持手段40へ書き込む(ステップS30)。ステップS30で頂点座標圧縮手段20を構成する。
指定された形状データに含まれる面が平面であるか否かを判定し、平面である場合には(ステップS31のYES)、この平面に属する三角メッシュの共通の法線ベクトルを1つの法線ベクトルインデックスとして法線ベクトルインデックステーブルに格納する(ステップS32)。この法線ベクトルインデックスは、重複しない法線ベクトルを法線ベクトルテーブルへ登録し、その登録したときのテーブルインデックスを用いる。
(2) Shape data compression:
Next, a method for storing predetermined n-dimensional shape data will be described using the data structure shown in the second embodiment (FIG. 10).
First, it is assumed that data representing an n-dimensional shape has already been databased (shape DB) by an n-dimensional shape processing apparatus.
Since the configuration of the data compression apparatus of the second embodiment is the same as that of the first embodiment, the description thereof is omitted (see FIG. 5).
FIG. 11 is a flowchart showing a processing procedure when the designated shape data in the shape DB is stored in the format of the data structure of FIG.
The vertex coordinates of all the vertices included in the specified shape data in the shape DB are written to the vertex coordinate table without duplication. Next, with reference to this vertex coordinate table, the vertex coordinate index to all vertex coordinates is obtained, and a vertex coordinate index table in which this vertex coordinate index is continuously stored is created. The coordinate index table is written into the data holding means 40 (step S30). In step S30, the vertex coordinate compression means 20 is configured.
It is determined whether or not the surface included in the specified shape data is a plane. If it is a plane (YES in step S31), a common normal vector of triangular meshes belonging to this plane is set as one normal line. The vector index is stored in the normal vector index table (step S32). For this normal vector index, normal vectors that do not overlap are registered in the normal vector table, and the table index at the time of registration is used.
平面フラグテーブルには、この平面に属する三角メッシュの頂点数分の真のフラグを格納し(ステップS33)、ステップS36へ進む。このとき、平面フラグテーブルへフラグ値を格納する順序は、頂点座標インデックステーブルへ頂点座標インデックスを登録したときと同じ順序となっている。
一方、平面でない場合は(ステップS31のNO)、同一曲面上のすべての頂点に対応付けて法線ベクトルインデックスを連続して法線ベクトルインデックステーブルに格納する(ステップS34)。この法線ベクトルインデックスは、重複しない法線ベクトルを法線ベクトルテーブルへ登録し、その登録したときのテーブルインデックスを用いる。
さらに、同一曲面上のすべての頂点に対応付けて平面フラグテーブルに偽のフラグを格納し(ステップS35)、ステップS36へ進む。
上記のステップS31からステップS35をすべての面に対して行なって(ステップS36)、作成された平面フラグテーブル、法線ベクトルテーブルと法線ベクトルインデックステーブルをデータ保持手段40へ書き込む。これらステップS31からステップS36により、法線ベクトル圧縮手段30を構成する。
In the plane flag table, true flags corresponding to the number of vertices of the triangular mesh belonging to this plane are stored (step S33), and the process proceeds to step S36. At this time, the order in which the flag values are stored in the plane flag table is the same as when the vertex coordinate index is registered in the vertex coordinate index table.
On the other hand, if it is not a plane (NO in step S31), the normal vector index is continuously stored in the normal vector index table in association with all vertices on the same curved surface (step S34). For this normal vector index, normal vectors that do not overlap are registered in the normal vector table, and the table index at the time of registration is used.
Further, a false flag is stored in the plane flag table in association with all vertices on the same curved surface (step S35), and the process proceeds to step S36.
The above steps S31 to S35 are performed on all the surfaces (step S36), and the created plane flag table, normal vector table and normal vector index table are written in the data holding means 40. The normal vector compression means 30 is configured by these steps S31 to S36.
(3)データの伸張:
本実施形態2のデータ構造で圧縮して格納された形状データを伸張するデータ伸張装置の構成は、実施形態1と同様であるから説明を省略する(図7参照)。
図12は、本実施形態2のデータ伸張装置で伸張された形状データを形状DBへ格納するときの処理手順を示すフローチャートである。
データ保持手段130から頂点座標インデックステーブルに連続して格納されたすべての頂点座標インデックスを読み出し、頂点座標テーブルを参照して、この頂点座標インデックスに対応する位置に格納されている頂点座標値を取り出し形状DBへ書き出す(ステップS40)。このステップS40により、頂点座標伸張手段110を構成する。
法線ベクトルインデックステーブルから単一の法線ベクトルインデックスを読み出し、法線ベクトルテーブルを参照して、この法線ベクトルインデックスに対応する位置に格納されている法線ベクトル値を取り出し(ステップS41)、取り出した法線ベクトルを平面フラグに対応する頂点の法線ベクトルとして割り当てて、形状DBを更新する(ステップS42)。
次に、未処理の平面フラグの有無をチェックし、未処理の平面フラグがない場合(ステップS43のNO)、処理を終了する。
一方、未処理の平面フラグがあって(ステップS43のYES)、その未処理の平面フラグが真のとき(ステップS44のYES)、再度ステップS42以降の処理を行なって、真のフラグが連続している場合の平面フラグに対応した頂点の法線ベクトルとして割り当てて、形状DBを更新する。
また、その未処理の平面フラグが偽のときには(ステップS44のNO)、再度ステップS41以降の処理を行なって、新たな面に対する頂点の法線ベクトルを割り当てて、形状DBを更新する。
ステップS41からS44までにより、法線ベクトル伸張手段120を構成する。
以上のようにデータ圧縮装置およびデータ伸張装置を構成することによって、n次元空間における三角形メッシュの圧縮および伸張を行なうことができる。
また、このデータ構造を使用すると、データサイズが減少し、ハードディスク等保存装置のスペース効率が向上する。
(3) Data expansion:
Since the configuration of the data decompression device that decompresses the shape data compressed and stored with the data structure of the second embodiment is the same as that of the first embodiment, description thereof is omitted (see FIG. 7).
FIG. 12 is a flowchart showing a processing procedure when the shape data expanded by the data expansion device of the second embodiment is stored in the shape DB.
All the vertex coordinate indexes continuously stored in the vertex coordinate index table are read from the data holding means 130, and the vertex coordinate values stored at the position corresponding to the vertex coordinate index are retrieved with reference to the vertex coordinate table. Writing to the shape DB (step S40). By this step S40, the vertex coordinate expansion means 110 is configured.
A single normal vector index is read from the normal vector index table, and the normal vector value stored in the position corresponding to the normal vector index is retrieved with reference to the normal vector table (step S41). The extracted normal vector is assigned as the normal vector of the vertex corresponding to the plane flag, and the shape DB is updated (step S42).
Next, the presence / absence of an unprocessed plane flag is checked. If there is no unprocessed plane flag (NO in step S43), the process ends.
On the other hand, when there is an unprocessed plane flag (YES in step S43) and the unprocessed plane flag is true (YES in step S44), the processes after step S42 are performed again, and the true flag continues. The shape DB is updated by assigning it as the normal vector of the vertex corresponding to the plane flag in the case of
When the unprocessed plane flag is false (NO in step S44), the process from step S41 is performed again, the vertex normal vector for the new plane is assigned, and the shape DB is updated.
The normal vector expansion means 120 is configured by steps S41 to S44.
By configuring the data compression device and the data decompression device as described above, it is possible to compress and decompress the triangular mesh in the n-dimensional space.
Further, when this data structure is used, the data size is reduced and the space efficiency of a storage device such as a hard disk is improved.
<実施形態3>
(1)参照型三角形メッシュを用いた形状データのデータ構造:
図13は、本発明の参照型三角形メッシュのデータ構造を用いて、n次元(2乃至4次元)形状モデルを格納するためのデータ構造を示している。
n次元形状モデルを格納するためのデータ構造は、n次元の頂点座標が格納された頂点座標テーブルV、n次元の法線ベクトルが格納された法線ベクトルテーブルU、頂点座標テーブルVへのインデックスが格納された頂点座標インデックステーブルSと、法線ベクトルテーブルUへのインデックスが格納された法線ベクトルインデックステーブルTと、頂点ごとに真・偽を示す頂点座標参照フラグテーブルFVと、頂点ごとに真・偽を示す法線ベクトル参照フラグテーブルFUと、頂点ごとに真・偽を示す平面フラグテーブルPから構成される。
頂点座標テーブルVには、テーブルに登録された頂点座標の数(=nv)とnv個の頂点座標が頂点座標V1から頂点座標Vnvの順に重複なしの座標値として格納され、これらの頂点座標は、それぞれ(x,y,z)の3座標値から構成され、各座標値は浮動小数点あるいはベクトル量子化圧縮が行われる。
頂点座標インデックステーブルSには、頂点座標インデックスの数(=nvi)とnvi個の頂点座標インデックス(頂点の座標値を格納した頂点座標テーブルVへのインデックス)がS1からSnviの順に格納される。この頂点座標インデックステーブルSへは、すでに頂点座標テーブルへ登録された頂点に対してのみ作成される。
頂点座標参照フラグテーブルFVは、参照フラグの個数(nvr)とnvr個の頂点座標参照フラグがFV1からFVnvrの順に、頂点ごとに三角形セット形式または三角形ストリップ形式のいずれかの形式で格納される。この頂点座標参照フラグの個数(nvr)は、すべての頂点の個数と同じである。
<
(1) Data structure of shape data using reference type triangular mesh:
FIG. 13 shows a data structure for storing an n-dimensional (2- to 4-dimensional) shape model using the reference triangular mesh data structure of the present invention.
The data structure for storing the n-dimensional shape model includes a vertex coordinate table V in which n-dimensional vertex coordinates are stored, a normal vector table U in which n-dimensional normal vectors are stored, and an index to the vertex coordinate table V. Is stored in the vertex coordinate index table S, the normal vector index table T in which the index to the normal vector table U is stored, the vertex coordinate reference flag table FV indicating true / false for each vertex, and for each vertex. It consists of a normal vector reference flag table FU indicating true / false and a plane flag table P indicating true / false for each vertex.
In the vertex coordinate table V, the number of vertex coordinates (= nv) and nv vertex coordinates registered in the table are stored as non-overlapping coordinate values in the order of vertex coordinates V1 to vertex coordinates Vnv. , Each consisting of three coordinate values (x, y, z), and each coordinate value is subjected to floating point or vector quantization compression.
In the vertex coordinate index table S, the number of vertex coordinate indexes (= nvi) and nvi vertex coordinate indexes (indexes to the vertex coordinate table V storing vertex coordinate values) are stored in the order of S1 to Snvi. This vertex coordinate index table S is created only for vertices already registered in the vertex coordinate table.
In the vertex coordinate reference flag table FV, the number of reference flags (nvr) and nvr vertex coordinate reference flags are stored in the order of FV1 to FVnvr for each vertex in either a triangle set format or a triangle strip format. The number of vertex coordinate reference flags (nvr) is the same as the number of all vertices.
三角形メッシュの各頂点の座標は、次のようにして求める。
まず、求める頂点の位置が頂点座標参照フラグテーブルのどこに位置するかを探す。
次に、この参照フラグテーブルの先頭から見つけた頂点位置までの真のフラグの個数をカウントし、このカウント値の位置に対応する頂点座標テーブルの座標値を求める。
一方、この参照フラグテーブルの先頭から見つけた頂点位置までの偽のフラグの個数をカウントし、このカウント値の位置に対応する頂点座標インデックステーブルの頂点座標インデックスを求め、このインデックスに対応する頂点座標テーブルの座標値を求める。
平面フラグテーブルPには、頂点座標インデックステーブルSに登録された頂点の順序と同じに、その頂点が平面上の点かまたは曲面上の点かによってそれぞれ真と偽とを格納する。したがって、曲面フラグテーブルのサイズは、頂点座標参照フラグの数と同じになっている。
法線ベクトルテーブルUには、法線ベクトルの数(=nu)とnu個の法線ベクトルが法線ベクトルU1から法線ベクトルUnuの順に重複なしの値として格納され、これらの法線ベクトルは、それぞれ(x成分,y成分,z成分)の3成分から構成され、各座標値は浮動小数点あるいはベクトル量子化圧縮が行われる。
The coordinates of each vertex of the triangular mesh are obtained as follows.
First, the position of the vertex to be searched is searched for in the vertex coordinate reference flag table.
Next, the number of true flags from the top of this reference flag table to the found vertex position is counted, and the coordinate value of the vertex coordinate table corresponding to the position of this count value is obtained.
On the other hand, the number of false flags from the top of this reference flag table to the found vertex position is counted, the vertex coordinate index of the vertex coordinate index table corresponding to the position of this count value is obtained, and the vertex coordinate corresponding to this index Get the coordinate value of the table.
In the plane flag table P, true and false are stored in the same manner as the order of the vertices registered in the vertex coordinate index table S depending on whether the vertex is a point on the plane or a point on the curved surface. Therefore, the size of the curved surface flag table is the same as the number of vertex coordinate reference flags.
In the normal vector table U, the number of normal vectors (= nu) and nu normal vectors are stored as non-overlapping values in the order of the normal vector U1 to the normal vector Unu. Are composed of three components (x component, y component, z component), and each coordinate value is subjected to floating point or vector quantization compression.
法線ベクトルインデックステーブルTには、法線ベクトルインデックスの数(=nui)とnui個の法線ベクトルインデックス(法線ベクトルの値を格納した法線ベクトルテーブルUへのインデックス)がT1からTnuiの順に格納される。この法線ベクトルインデックステーブルTへは、すでに法線ベクトルテーブルへ登録された法線ベクトルに対してのみ作成される。
法線ベクトル参照フラグテーブルFUは、参照フラグの個数(nur)とnur個の法線ベクトル参照フラグがFU1からFUnurの順に、頂点ごとに三角形セット形式または三角形ストリップ形式のいずれかの形式で格納される。この法線ベクトル参照フラグの個数(nur)は、すべての頂点の個数と同じである。
この法線ベクトル参照フラグのフラグ値が真の場合には、法線ベクトルを法線ベクトルテーブルに格納したことを示し、フラグ値が偽の場合には、法線ベクトルを法線ベクトルインデックステーブルを使って格納したことを示している。
ここで、平面上の三角メッシュの頂点の法線ベクトルは共通するので、1つの法線ベクトルだけを法線ベクトルテーブルまたは法線ベクトルインデックステーブルのいずれかに登録するようにする。この場合、法線ベクトルを登録した平面上の他の頂点のフラグ値は真・偽以外の値として登録する。
法線ベクトルテーブルから法線ベクトル値を見つける場合には、法線ベクトル参照フラグテーブルの真のフラグ値をテーブルの先頭から求める頂点の位置に対応する場所までカウントし、このカウント値を法線ベクトルテーブルへのインデックスとすることによって求められる。
また、法線ベクトルインデックステーブルから法線ベクトルインデックスを見つける場合には、法線ベクトル参照フラグテーブルの偽のフラグ値をテーブルの先頭から求める頂点の位置に対応する場所までカウントし、このカウント値を法線ベクトルインデックステーブルへのインデックスとすることによって求められる。
In the normal vector index table T, the number of normal vector indexes (= nui) and nui normal vector indexes (indexes to the normal vector table U storing normal vector values) are T1 to Tnui. Stored in order. The normal vector index table T is created only for normal vectors already registered in the normal vector table.
The normal vector reference flag table FU stores the number of reference flags (nur) and ur normal vector reference flags in the order of FU1 to FUnur in the form of either a triangle set format or a triangle strip format for each vertex. The The number (nur) of normal vector reference flags is the same as the number of all vertices.
When the flag value of this normal vector reference flag is true, it indicates that the normal vector is stored in the normal vector table. When the flag value is false, the normal vector is stored in the normal vector index table. It shows that it was stored using.
Here, since the normal vectors of the vertices of the triangular mesh on the plane are common, only one normal vector is registered in either the normal vector table or the normal vector index table. In this case, the flag values of other vertices on the plane on which the normal vector is registered are registered as values other than true / false.
When finding the normal vector value from the normal vector table, the true flag value in the normal vector reference flag table is counted from the top of the table to the location corresponding to the vertex position to be obtained, and this count value is calculated as the normal vector. It is obtained by making an index into the table.
When the normal vector index is found from the normal vector index table, the false flag value in the normal vector reference flag table is counted from the top of the table to the location corresponding to the position of the vertex to be obtained, and this count value is calculated. It is obtained by setting an index to the normal vector index table.
(2)形状データの圧縮:
次に、本実施形態3で示したデータ構造(図13)を用いて、所定のn次元形状データを格納する方法について説明する。
はじめに、n次元形状を表すデータは、すでにn次元形状処理装置によってデータベース化(形状DB)されているものとする。
本実施形態3のデータ圧縮装置の構成は、実施形態1と同様であるから構成の説明を省略する(図5参照)。
図14、図15および図16は、形状DBの中の指定された形状データを図13のデータ構造の形式で格納するときの処理手順を示すフローチャートである。
形状DB中の指定された形状データに含まれる面上の頂点座標が初めて参照される頂点座標か否かを判定し、初めて参照される頂点座標の場合は(ステップS50のYES)、頂点の頂点座標を頂点座標テーブルに格納し(ステップS51)、その頂点に対応する頂点座標参照フラグテーブルに真のフラグを格納し(ステップS52)、ステップS55へ進む。
一方、2回目以降に参照される頂点座標の場合は(ステップS50のNO)、すでに格納された頂点座標への頂点座標インデックスを求め、この頂点座標インデックスを頂点座標インデックステーブルに格納し(ステップS53)、その頂点に対応する頂点座標参照フラグテーブルに偽のフラグを格納し(ステップS54)、ステップS55へ進む。
ステップS50からステップS55をその面のすべての頂点に対して行って、作成された頂点座標テーブル、頂点座標インデックステーブルおよび頂点座標参照フラグテーブルをデータ保持手段40へ書き込む。ステップS50からS55で頂点座標圧縮手段20を構成する。
指定された形状データに含まれる面が平面であるか否かを判定し、平面である場合には(ステップS56のYES)、この平面に含まれる頂点の法線ベクトルが法線ベクトルテーブルに登録されているかを調べ、登録されていないときには(ステップS57のYES)、この法線ベクトルを法線ベクトルテーブルに登録し(ステップS58)、この法線ベクトルに対する頂点と対応した法線ベクトル参照フラグテーブルに真を格納し、同一の平面上の他の頂点に対応した法線ベクトル参照フラグテーブルには真・偽以外の値を格納し(ステップS59)、ステップS62へ進む。
一方、登録されているときには(ステップS57のNO)、この法線ベクトルと同じ法線ベクトルの値を格納した法線ベクトルインデックスを法線ベクトルインデックステーブルに登録し(ステップS60)、この法線ベクトルに対する頂点と対応した法線ベクトル参照フラグテーブルに偽を格納し、同一の平面上の他の頂点に対応した法線ベクトル参照フラグテーブルには真・偽以外の値を格納し(ステップS61)、ステップS62へ進む。
(2) Shape data compression:
Next, a method for storing predetermined n-dimensional shape data will be described using the data structure shown in the third embodiment (FIG. 13).
First, it is assumed that data representing an n-dimensional shape has already been databased (shape DB) by an n-dimensional shape processing apparatus.
Since the configuration of the data compression apparatus of the third embodiment is the same as that of the first embodiment, the description of the configuration is omitted (see FIG. 5).
FIG. 14, FIG. 15 and FIG. 16 are flowcharts showing the processing procedure when storing the specified shape data in the shape DB in the format of the data structure of FIG.
It is determined whether or not the vertex coordinates on the surface included in the designated shape data in the shape DB are the vertex coordinates that are referred to for the first time. If the vertex coordinates are referred to for the first time (YES in step S50), the vertex of the vertex is determined. The coordinates are stored in the vertex coordinate table (step S51), the true flag is stored in the vertex coordinate reference flag table corresponding to the vertex (step S52), and the process proceeds to step S55.
On the other hand, in the case of vertex coordinates that are referred to for the second time and thereafter (NO in step S50), a vertex coordinate index to the already stored vertex coordinates is obtained, and this vertex coordinate index is stored in the vertex coordinate index table (step S53). ), A false flag is stored in the vertex coordinate reference flag table corresponding to the vertex (step S54), and the process proceeds to step S55.
Steps S50 to S55 are performed on all the vertices of the surface, and the created vertex coordinate table, vertex coordinate index table, and vertex coordinate reference flag table are written in the data holding means 40. The vertex coordinate compressing means 20 is configured in steps S50 to S55.
It is determined whether or not the surface included in the specified shape data is a plane. If it is a plane (YES in step S56), the normal vector of the vertex included in this plane is registered in the normal vector table. If it is not registered (YES in step S57), this normal vector is registered in the normal vector table (step S58), and a normal vector reference flag table corresponding to the vertex for this normal vector is registered. Is stored in the normal vector reference flag table corresponding to other vertices on the same plane (step S59), and the process proceeds to step S62.
On the other hand, when registered (NO in step S57), a normal vector index storing the same normal vector value as this normal vector is registered in the normal vector index table (step S60), and this normal vector is stored. False is stored in the normal vector reference flag table corresponding to the vertex for, and values other than true / false are stored in the normal vector reference flag table corresponding to other vertices on the same plane (step S61). Proceed to step S62.
平面フラグテーブルには、この平面に属する三角メッシュの頂点数分の真のフラグを格納し(ステップS62)、まだ未処理の面があれば(ステップS63のYES)、ステップS50へ戻って他の面についての法線ベクトルの処理を行う。
他方、処理中の面が平面でない場合は(ステップS56のNO)、同一曲面上の頂点の法線ベクトルがまだ法線ベクトルテーブルに登録されていなければ(ステップS64のYES)、この法線ベクトルを法線ベクトルテーブルに登録し(ステップS65)、この法線ベクトルに対する頂点と対応した法線ベクトル参照フラグテーブルに真を格納し(ステップS66)、ステップS69へ進む。
また、登録されているときには(ステップS64のNO)、この法線ベクトルと同じ法線ベクトルの値を格納した法線ベクトルインデックスを法線ベクトルインデックステーブルに登録し(ステップS67)、この法線ベクトルに対する頂点と対応した法線ベクトル参照フラグテーブルに偽を格納し(ステップS68)、ステップS69へ進む。
さらに、平面フラグテーブルには偽のフラグを格納し(ステップS69)、ステップS64からステップS70をその面のすべての頂点に対して行なって、ステップS63へ戻り、作成された平面フラグテーブル、法線ベクトルテーブル、法線ベクトルインデックステーブルおよび法線ベクトル参照フラグテーブルをデータ保持手段40へ書き込む。これらステップS56からステップS70により、法線ベクトル圧縮手段30を構成する。
In the plane flag table, true flags corresponding to the number of vertices of the triangular mesh belonging to this plane are stored (step S62), and if there are still unprocessed planes (YES in step S63), the process returns to step S50 and other Process the normal vector for the surface.
On the other hand, if the surface being processed is not a plane (NO in step S56), the normal vector of the vertex on the same curved surface is not yet registered in the normal vector table (YES in step S64). Is registered in the normal vector table (step S65), true is stored in the normal vector reference flag table corresponding to the vertex for this normal vector (step S66), and the process proceeds to step S69.
If registered (NO in step S64), a normal vector index storing the same normal vector value as this normal vector is registered in the normal vector index table (step S67). False is stored in the normal vector reference flag table corresponding to the vertex for (step S68), and the process proceeds to step S69.
Further, a false flag is stored in the plane flag table (step S69), and steps S64 to S70 are performed on all the vertices of the plane, and the process returns to step S63, and the created plane flag table and normal line are obtained. The vector table, normal vector index table, and normal vector reference flag table are written into the data holding means 40. The normal vector compression means 30 is configured by these steps S56 to S70.
(3)データの伸張:
本実施形態3のデータ構造で圧縮して格納された形状データを伸張するデータ伸張装置の構成は実施形態1と同様であるから説明を省略する(図7参照)。
図17および図18は、本実施形態3のデータ伸張装置で伸張された形状データを形状DBへ格納するときの処理手順を示すフローチャートである。
データ保持手段130中の頂点座標参照フラグテーブルの処理中の頂点のフラグが真である場合(ステップS80のYES)、処理中の頂点の頂点座標テーブルでの位置を求め、その位置における座標値を読み出して形状DBへ書き出し(ステップS81)、ステップS83へ進む。ここで、処理中の頂点の頂点座標テーブルでの位置は、頂点座標参照フラグテーブルの先頭から処理中の頂点までの真フラグの個数である。
一方、処理中の頂点のフラグが偽の場合(ステップS80のNO)、処理中の頂点の頂点座標インデックステーブルでの位置を求め、その位置の頂点座標インデックスが指す頂点座標テーブルにおける座標値を読み出して形状DBへ書き出し(ステップS82)、ステップS83へ進む。ここで、処理中の頂点の頂点座標テーブルでの位置は、頂点座標参照フラグテーブルの先頭から処理中の頂点までの偽フラグの個数である。
以上、ステップ80からS82までを未処理の頂点座標参照フラグに対して処理を行う(ステップS83)。
このステップS80からS83により、頂点座標伸張手段110を構成する。
(3) Data expansion:
Since the configuration of the data decompression device that decompresses the shape data compressed and stored with the data structure of the third embodiment is the same as that of the first embodiment, description thereof is omitted (see FIG. 7).
FIGS. 17 and 18 are flowcharts showing a processing procedure when shape data expanded by the data expansion apparatus of the third embodiment is stored in the shape DB.
If the vertex flag being processed in the vertex coordinate reference flag table in the data holding means 130 is true (YES in step S80), the position of the vertex being processed is obtained in the vertex coordinate table, and the coordinate value at that position is obtained. Reading and writing to the shape DB (step S81), the process proceeds to step S83. Here, the position of the vertex being processed in the vertex coordinate table is the number of true flags from the top of the vertex coordinate reference flag table to the vertex being processed.
On the other hand, if the flag of the vertex being processed is false (NO in step S80), the position of the vertex being processed is obtained in the vertex coordinate index table, and the coordinate value in the vertex coordinate table indicated by the vertex coordinate index at that position is read. The shape DB is written (step S82), and the process proceeds to step S83. Here, the position of the vertex being processed in the vertex coordinate table is the number of false flags from the top of the vertex coordinate reference flag table to the vertex being processed.
As described above, steps 80 to S82 are processed for the unprocessed vertex coordinate reference flag (step S83).
By these steps S80 to S83, the vertex coordinate expansion means 110 is configured.
次に、データ保持手段130中の法線ベクトル参照フラグテーブルの処理中の頂点のフラグが真である場合(ステップS85のYES)、処理中の頂点に対する法線ベクトルを保持する法線ベクトルテーブルでの位置を求め、その位置における法線ベクトル値を読み出し(ステップS85)、ステップS87へ進む。ここで、処理中の頂点に対する法線ベクトルを保持する法線ベクトルテーブルでの位置は、法線ベクトル参照フラグテーブルの先頭から処理中の頂点までの真フラグの個数である。
一方、処理中の頂点のフラグが偽の場合(ステップS84のNO)、処理中の頂点に対する法線ベクトルを保持する法線ベクトルインデックステーブルでの位置を求め、その位置の法線ベクトルインデックスが指す法線ベクトルテーブルにおける法線ベクトル値を読み出し(ステップS86)、ステップS87へ進む。ここで、処理中の頂点に対する法線ベクトルを保持する法線ベクトルインデックステーブルでの位置は、法線ベクトル参照フラグテーブルの先頭から処理中の頂点までの偽フラグの個数である。
読み出した法線ベクトルを処理中の頂点に対する法線ベクトルとして割り当てて、形状DBへ書き出す(ステップS87)。
未処理の平面フラグがない場合(ステップS88のNO)、処理を終了する。
一方、未処理の平面フラグがあって(ステップS88のYES)、処理中の頂点の平面フラグが真で且つ次の頂点の平面フラグも真の場合(ステップ89のYES)、同一平面上の他の頂点に読み出した法線ベクトルを割り当てるために、処理中の頂点を次に進めてステップS87へ戻る。
しかし、処理中の頂点の平面フラグが偽または次の頂点の平面フラグが偽の場合(ステップ89のNO)、次の頂点に法線ベクトルを割り当てるために、処理中の頂点を次に進めてステップS84へ戻る。
このステップS84からS89までにより、法線ベクトル伸張手段120を構成する。
以上のようにデータ圧縮装置およびデータ伸張装置を構成することによって、n次元空間における三角形メッシュの圧縮および伸張を行なうことができる。
また、このデータ構造を使用すると、データサイズが減少し、ハードディスク等保存装置のスペース効率が向上する。
Next, when the flag of the vertex being processed in the normal vector reference flag table in the data holding means 130 is true (YES in step S85), the normal vector table holding the normal vector for the vertex being processed , The normal vector value at that position is read (step S85), and the process proceeds to step S87. Here, the position in the normal vector table that holds the normal vector for the vertex being processed is the number of true flags from the head of the normal vector reference flag table to the vertex being processed.
On the other hand, if the flag of the vertex being processed is false (NO in step S84), the position in the normal vector index table holding the normal vector for the vertex being processed is obtained, and the normal vector index at that position indicates The normal vector value in the normal vector table is read (step S86), and the process proceeds to step S87. Here, the position in the normal vector index table that holds the normal vector for the vertex being processed is the number of false flags from the head of the normal vector reference flag table to the vertex being processed.
The read normal vector is assigned as the normal vector for the vertex being processed, and is written to the shape DB (step S87).
If there is no unprocessed plane flag (NO in step S88), the process ends.
On the other hand, if there is an unprocessed plane flag (YES in step S88), the plane flag of the vertex being processed is true and the plane flag of the next vertex is also true (YES in step 89), the other on the same plane In order to assign the read normal vector to the vertex, the next vertex is processed and the process returns to step S87.
However, if the plane flag of the vertex being processed is false or the plane flag of the next vertex is false (NO in step 89), the next vertex is advanced to assign a normal vector to the next vertex. The process returns to step S84.
The normal vector expansion means 120 is constituted by steps S84 to S89.
By configuring the data compression device and the data decompression device as described above, it is possible to compress and decompress the triangular mesh in the n-dimensional space.
Further, when this data structure is used, the data size is reduced and the space efficiency of a storage device such as a hard disk is improved.
<実施形態4>
また、上述したデータ圧縮装置やデータ伸張装置を通信リンクで接続して、n次元形状モデルを圧縮した形状データをデータ圧縮装置からデータ伸張装置へ転送するように構成してもよい。
ここで、通信リンクの例として、シリアルリンク(RS−232)、パラレルリンク、無線リンク、赤外線リンク、ネットワーク(ローカルエリアネットワーク、広域ネットワーク、イントラネット、インターネット)がある。
例えば、上述したデータ圧縮装置またはその機能を含むn次元形状処理装置と、データ伸張装置またはその機能を含むn次元形状処理装置を通信リンクで接続し、データ圧縮装置またはその機能を含むn次元形状処理装置で、n次元形状モデルから図4、図10または図13に示したデータ構造の形状データを作成してデータ保持手段に格納し、その形状データを通信リンクによって送る。
データ伸張装置またはその機能を含むn次元形状処理装置では、受信した形状データを伸張して得たn次元形状モデルをディスプレイ等の表示装置へ表示したり、そのモデルを形状処理することができる(図19参照)。
<
Further, the above-described data compression device and data decompression device may be connected by a communication link, and the shape data obtained by compressing the n-dimensional shape model may be transferred from the data compression device to the data decompression device.
Here, examples of the communication link include a serial link (RS-232), a parallel link, a wireless link, an infrared link, and a network (local area network, wide area network, intranet, Internet).
For example, an n-dimensional shape processing apparatus including the above-described data compression apparatus or the function thereof and an n-dimensional shape processing apparatus including the data expansion apparatus or the function thereof are connected by a communication link, and the n-dimensional shape including the data compression apparatus or the function thereof is connected. The processing device creates shape data having the data structure shown in FIG. 4, FIG. 10, or FIG. 13 from the n-dimensional shape model, stores it in the data holding means, and sends the shape data through the communication link.
An n-dimensional shape processing apparatus including a data expansion apparatus or a function thereof can display an n-dimensional shape model obtained by expanding received shape data on a display device such as a display, or can perform shape processing on the model ( (See FIG. 19).
<実施形態5>
さらに、本発明は、上述した実施形態のみに限定されたものではなく、上述した実施形態の各装置の機能をそれぞれプログラム化し、あらかじめCD−ROM等の記録媒体に書き込んでおき、コンピュータに搭載したCD−ROMドライブのような媒体駆動装置にこのCD−ROM等を装着して、これらのプログラムをインストールして、実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラム自体が上述した実施形態を実現することになり、そのプログラムおよびそのプログラムを記録した記録媒体も本発明を構成することになる。
なお、記録媒体としては半導体媒体(例えば、ROM、不揮発性メモリカード等)、光媒体(例えば、DVD、MO、MD、CD−R等)、磁気媒体(例えば、磁気テープ、フレキシブルディスク等)のいずれであってもよい。
あるいは、インターネット等の通信網を介して記憶装置に格納されたプログラムをサーバコンピュータから直接供給を受けるようにしてもよい。この場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
また、ロードしたプログラムを実行することにより上述した実施形態が実現されるだけでなく、そのプログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって上述した実施形態が実現される場合も含まれる。
また、上述したプログラムをサーバコンピュータの磁気ディスク等の記憶装置に格納しておき、インターネット等の通信網で接続された利用者のコンピュータから実行指示を受信して、当該プログラムを実行し、その結果を利用者のコンピュータへ返信するようなASP(Application Service Provider)による利用を提供する場合、このサーバコンピュータの記憶装置およびそのプログラムも本発明に含まれる。
尚、本発明は上述した実施形態に限定されることなく、本発明の要旨を逸脱しない範囲内で各種の変形、修正が可能であるのは勿論である。
<Embodiment 5>
Furthermore, the present invention is not limited only to the above-described embodiments, but the functions of the devices of the above-described embodiments are each programmed, written in advance on a recording medium such as a CD-ROM, and mounted on a computer. It goes without saying that the object of the present invention can also be achieved by installing the CD-ROM or the like in a medium driving device such as a CD-ROM drive, and installing and executing these programs.
In this case, the program read from the recording medium itself realizes the above-described embodiment, and the program and the recording medium on which the program is recorded also constitute the present invention.
As a recording medium, a semiconductor medium (for example, ROM, nonvolatile memory card, etc.), an optical medium (for example, DVD, MO, MD, CD-R, etc.), a magnetic medium (for example, magnetic tape, flexible disk, etc.) Either may be sufficient.
Alternatively, the program stored in the storage device may be directly supplied from the server computer via a communication network such as the Internet. In this case, the storage device of this server computer is also included in the recording medium of the present invention.
Further, not only the above-described embodiment is realized by executing the loaded program, but the operating system or the like performs part or all of the actual processing based on the instruction of the program, and the above-described embodiment is performed by the processing. The case where the form is realized is also included.
Further, the above-described program is stored in a storage device such as a magnetic disk of a server computer, an execution instruction is received from a user's computer connected via a communication network such as the Internet, and the program is executed. When providing use by an ASP (Application Service Provider) that returns a message to the user's computer, the storage device of the server computer and its program are also included in the present invention.
Note that the present invention is not limited to the above-described embodiment, and various modifications and corrections can be made without departing from the scope of the present invention.
10…制御手段、20…頂点座標圧縮手段、30…法線ベクトル圧縮手段、40…データ保持手段、100…制御手段、110…頂点座標伸張手段、120…法線ベクトル伸張手段、130…データ保持手段。
DESCRIPTION OF
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003313784A JP4218800B2 (en) | 2003-09-05 | 2003-09-05 | Data compression apparatus, data compression method, data expansion apparatus, data expansion method, n-dimensional shape model processing apparatus, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003313784A JP4218800B2 (en) | 2003-09-05 | 2003-09-05 | Data compression apparatus, data compression method, data expansion apparatus, data expansion method, n-dimensional shape model processing apparatus, program, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005084780A true JP2005084780A (en) | 2005-03-31 |
JP4218800B2 JP4218800B2 (en) | 2009-02-04 |
Family
ID=34414612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003313784A Expired - Fee Related JP4218800B2 (en) | 2003-09-05 | 2003-09-05 | Data compression apparatus, data compression method, data expansion apparatus, data expansion method, n-dimensional shape model processing apparatus, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4218800B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1764796A2 (en) | 2005-09-07 | 2007-03-21 | FUJIFILM Corporation | Optical recording medium and production method thereof |
JP2007087329A (en) * | 2005-09-26 | 2007-04-05 | Ricoh Co Ltd | Three-dimensional plotter, three-dimensional plotting method, three-dimensional plotting program, and recording medium with the program recorded thereon |
CN102625126A (en) * | 2012-03-22 | 2012-08-01 | 北京工业大学 | Prediction-based three-dimensional mesh coding method |
KR101211436B1 (en) | 2009-04-15 | 2012-12-12 | 한양대학교 산학협력단 | Method and apparatus for encoding/decoding 3d contents data |
JP2013518315A (en) * | 2010-01-25 | 2013-05-20 | トムソン ライセンシング | Method for encoding normals of 3D mesh model, method for decoding normals of 3D mesh model, encoder and decoder |
US9245355B2 (en) | 2009-06-10 | 2016-01-26 | Thomson Licensing | Method for encoding/decoding a 3D mesh model that comprises one or more components |
-
2003
- 2003-09-05 JP JP2003313784A patent/JP4218800B2/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1764796A2 (en) | 2005-09-07 | 2007-03-21 | FUJIFILM Corporation | Optical recording medium and production method thereof |
JP2007087329A (en) * | 2005-09-26 | 2007-04-05 | Ricoh Co Ltd | Three-dimensional plotter, three-dimensional plotting method, three-dimensional plotting program, and recording medium with the program recorded thereon |
KR101211436B1 (en) | 2009-04-15 | 2012-12-12 | 한양대학교 산학협력단 | Method and apparatus for encoding/decoding 3d contents data |
US9245355B2 (en) | 2009-06-10 | 2016-01-26 | Thomson Licensing | Method for encoding/decoding a 3D mesh model that comprises one or more components |
JP2013518315A (en) * | 2010-01-25 | 2013-05-20 | トムソン ライセンシング | Method for encoding normals of 3D mesh model, method for decoding normals of 3D mesh model, encoder and decoder |
US9214042B2 (en) | 2010-01-25 | 2015-12-15 | Thomson Licensing | Method for encoding normals of a 3D mesh model, method for decoding normals of a 3D mesh model, encoder and decoder |
CN102625126A (en) * | 2012-03-22 | 2012-08-01 | 北京工业大学 | Prediction-based three-dimensional mesh coding method |
Also Published As
Publication number | Publication date |
---|---|
JP4218800B2 (en) | 2009-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109389661B (en) | Animation file conversion method and device | |
US10169903B2 (en) | Animation techniques for mobile devices | |
US10600142B2 (en) | Compression and decompression of indices in a graphics pipeline | |
JP7368623B2 (en) | Point cloud processing method, computer system, program and computer readable storage medium | |
JP4218800B2 (en) | Data compression apparatus, data compression method, data expansion apparatus, data expansion method, n-dimensional shape model processing apparatus, program, and recording medium | |
CN114021394B (en) | Oblique photography model optimization method and device | |
JP5372241B2 (en) | Image display device | |
CN105320669A (en) | Method and device for data storage and method and device for data reading | |
CN111061896A (en) | Loading method, device, equipment and medium for 3D (three-dimensional) graph based on glTF (generalized likelihood TF) | |
CN116894457B (en) | Network weight access method of deep learning model | |
JP2004102834A (en) | Structure of triangular mesh data, method of compressing and expanding triangular mesh data, program, recording medium, and system | |
US6567082B1 (en) | Incremental resolution changes in multi-resolution meshes with update records | |
US8270742B1 (en) | Data compression for computer-aided design systems | |
JP4017467B2 (en) | Triangular mesh data compression method and program | |
CN109829974B (en) | Three-dimensional graph self-adaptive display method of intelligent glasses | |
JP2015505996A (en) | Mesh sequence file format | |
JP2909625B1 (en) | 3D video data compression method and 3D video data transfer method | |
JP4010913B2 (en) | Triangular mesh data generation method | |
CN112802134B (en) | Coding method, device and terminal of three-dimensional model | |
CN114359461A (en) | File format conversion method, conversion device and computer storage medium | |
JP3949013B2 (en) | Three-dimensional shape processing apparatus, three-dimensional shape processing method, program, and recording medium | |
JP4392780B2 (en) | Data storage processing method, program and storage medium thereof, and processing system | |
JP2003187266A (en) | Three-dimensional shape processor and data processing method | |
FI117579B (en) | Process, device and computer program for processing a computer-aided polygon model | |
JP4097477B2 (en) | Triangular mesh data compression method and decompression method, program, computer, and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051101 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20051108 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080707 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080711 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080908 |
|
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: 20081105 |
|
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: 20081105 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111121 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111121 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121121 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131121 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |