JP4721072B2 - Polygon data compression and decompression system - Google Patents
Polygon data compression and decompression system Download PDFInfo
- Publication number
- JP4721072B2 JP4721072B2 JP2008029945A JP2008029945A JP4721072B2 JP 4721072 B2 JP4721072 B2 JP 4721072B2 JP 2008029945 A JP2008029945 A JP 2008029945A JP 2008029945 A JP2008029945 A JP 2008029945A JP 4721072 B2 JP4721072 B2 JP 4721072B2
- Authority
- JP
- Japan
- Prior art keywords
- vertex
- difference vector
- local
- data
- compression
- 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.)
- Active
Links
Images
Landscapes
- Image Generation (AREA)
Description
本発明は、ポリゴンデータの頂点座標の数値情報を削減する幾何圧縮に関する。 The present invention relates to geometric compression for reducing numerical information of vertex coordinates of polygon data.
近年、CPU(Central Processing Unit)の高性能化やグラフィックボードの普及により、3Dグラフィックスを利用したデジタルコンテンツが増加し、ゲーム機から携帯電話までプラットフォームも多様化している。これらにおいて、数万オーダーのポリゴンデータ処理も可能になりつつあるが、CPUからグラフィックアクセラレータへの膨大なデータ転送によって、バスを通じたトラフィックが処理速度のボトルネックになる場合が多い。この問題に関しては、画像データや音声データと同様にポリゴンデータを圧縮転送し、処理側で伸張する手法が有効となる。従来のポリゴンデータに関する研究は、位相圧縮と幾何圧縮とに大別される。位相圧縮は、頂点の連結情報を対象とする無歪み圧縮であり、一般化三角形ストリップ、一般化三角形メッシュ等がある。特に、主な3Dグラフィックスライブラリでは、インデックスバッファ形式によって、位相圧縮に関する頂点重複の問題を解決している。 In recent years, digital content using 3D graphics has increased due to high performance of CPUs (Central Processing Units) and the spread of graphic boards, and platforms have diversified from game machines to mobile phones. In these, polygon data processing of tens of thousands of orders is becoming possible, but traffic through the bus often becomes a bottleneck in processing speed due to a huge amount of data transfer from the CPU to the graphic accelerator. As for this problem, a method of compressing and transferring polygon data as well as image data and audio data and decompressing it on the processing side is effective. Conventional research on polygon data is roughly divided into phase compression and geometric compression. Phase compression is distortion-free compression for vertex connection information, and includes generalized triangle strips and generalized triangular meshes. In particular, main 3D graphics libraries solve the problem of vertex duplication related to phase compression by an index buffer format.
一方、幾何圧縮は、頂点座標の数値情報を対象とする無歪み圧縮または歪み圧縮であり、スカラー量子化、エントロピー符号化等がある。例えば、歪み圧縮であるスカラー量子化は、頂点座標の各成分の値を階段状に丸めることで、割り当てるビット数を削減する。一方、指数部のように一定の偏りがあるデータでは、シンボルの出現頻度に応じた可変長符号を割り当て、総符号量を減らす無歪み圧縮が利用される。例えば、非特許文献1には、浮動小数の指数部を算術符号によって圧縮する手法が開示されている。
On the other hand, geometric compression is no distortion compression or distortion compression for numerical information of vertex coordinates, and includes scalar quantization, entropy coding, and the like. For example, scalar quantization, which is distortion compression, reduces the number of bits to be allocated by rounding the value of each component of vertex coordinates stepwise. On the other hand, for data with a certain bias such as an exponent part, a variable length code corresponding to the appearance frequency of a symbol is assigned, and distortion-free compression is used to reduce the total code amount. For example, Non-Patent
また、特許文献1には、三角形メッシュで構成されたオブジェクトを対象とした位相圧縮と、その幾何圧縮とについて開示されている。この幾何圧縮では、まず、すべての頂点の座標を量子化によって整数値化する。つぎに、対象とする頂点によって形成される三角形Aは、これと隣接する別の三角形Bと平行四辺形をなすと仮定して、対象とする頂点の座標を予測する。予測された座標は、その平行四辺形に隣接する別の三角形ペア間の角度より予測された三角形A,B間の角度に基づいて、補正される。そして、補正された予測座標と実際の座標との残差を算出し、これにエントロピー符号化などが施される
本発明の目的は、ポリゴンデータの頂点座標の数値情報を有効に削減する新規な幾何圧縮手法を提案することである。 An object of the present invention is to propose a novel geometric compression method for effectively reducing numerical information of vertex coordinates of polygon data.
第1の発明は、差分ベクトル算出部と、局所基底算出部と、局所変換部と、仮数切捨部とを有し、ポリゴンデータの幾何圧縮を三角形ストリップの順序で頂点毎に行う圧縮システムを提供する。差分ベクトル算出部は、処理対象となる第1の頂点を、その直前の第2の頂点との差分である第1の差分ベクトルで表現する。局所基底算出部は、第2の頂点およびその直前の第3の頂点とによって規定される第2の差分ベクトルと、第3の頂点およびその直前の第4の頂点とによって規定される第3の差分ベクトルとに基づいて、第1の差分ベクトルに関する三次元の局所基底を算出する。局所変換部は、算出された局所基底に基づいて、第1の差分ベクトルを局所変換する。仮数切捨部は、局所変換された第1の差分ベクトルのそれぞれの成分に関して、指数部の大きさに応じて仮数部の下位ビットを可変に切り捨てることで歪み圧縮された第1の差分ベクトルを圧縮データとして出力する。 1st invention has a difference vector calculation part, a local basis calculation part, a local transformation part, and a mantissa truncation part, and the compression system which performs geometric compression of polygon data for every vertex in the order of a triangle strip provide. The difference vector calculation unit expresses the first vertex to be processed by a first difference vector that is a difference from the immediately preceding second vertex. The local basis calculation unit includes a second difference vector defined by the second vertex and the third vertex immediately preceding the second vertex, and a third difference defined by the third vertex and the fourth vertex immediately preceding the third difference vector. Based on the difference vector, a three-dimensional local basis for the first difference vector is calculated. The local conversion unit locally converts the first difference vector based on the calculated local base. The mantissa truncation unit converts the first difference vector subjected to distortion compression by variably truncating the lower bits of the mantissa part in accordance with the size of the exponent part for each component of the locally converted first difference vector. Output as compressed data.
ここで、第1の発明において、局所基底は、第3の差分ベクトルと平行である第1の基底成分、および、第2の差分ベクトルと第3の差分ベクトルとによって張られる面の法線方向である第2の基底成分の少なくとも一方を含むことが好ましい。また、局所基底は、第2の差分ベクトルと第3の差分ベクトルとによって張られる面上の特定方向である第3の基底成分を含んでいてもよい。この場合、第3の基底成分は、第2の差分ベクトルと、第3の差分ベクトルとに基づいたグラム-シュミット直交化によって算出されることが好ましい。 Here, in the first invention, the local basis is a normal direction of a surface stretched by the first basis component parallel to the third difference vector and the second difference vector and the third difference vector. It is preferable to include at least one of the second base components. In addition, the local basis may include a third basis component that is a specific direction on the surface spanned by the second difference vector and the third difference vector. In this case, it is preferable that the third basis component is calculated by Gram-Schmidt orthogonalization based on the second difference vector and the third difference vector.
また、第1の発明において、仮数切捨部は、局所変換された第1の差分ベクトルのそれぞれの成分の指数部に関して、エントロピー符号化を施してもよい。 In the first invention, the mantissa truncation unit may perform entropy coding on the exponent part of each component of the first difference vector subjected to local transformation.
第1の発明において、第2の頂点、第2の差分ベクトルおよび第3の差分ベクトルは、従前に歪み圧縮された差分ベクトルに対して、局所変換の逆変換を施すことによって復元された差分ベクトルに基づいて生成されることが好ましい。 In the first invention, the second vertex, the second difference vector, and the third difference vector are the difference vectors restored by performing the inverse transformation of the local transformation on the difference vector that has been previously distortion-compressed. Is preferably generated based on
第2の発明は、ポリゴンデータの幾何圧縮を三角形ストリップの順序で頂点毎に行う圧縮システムにおいて、差分ベクトル算出部が、処理対象となる第1の頂点を、当該第1の頂点と共に第1の三角形の一辺を形成する第2の頂点との差分である第1の差分ベクトルで表現するとともに、仮数切捨部が、当該第1の差分ベクトルのそれぞれの成分に関して、指数部の大きさに応じて仮数部の下位ビットを可変に切り捨てることにより、当該第1の差分ベクトルを歪み圧縮した上で圧縮データとして出力する処理と、圧縮データ伸張部が、歪み圧縮された第1の差分ベクトルを圧縮前の第1の差分ベクトルに伸張するとともに、頂点データ算出部が、当該伸張された第1の差分ベクトルを第2の頂点に加算することによって、第1の頂点を復元する処理と、を頂点毎に繰り返し実行し、第1の頂点の直後の頂点に関する差分ベクトル算出部における処理では、直前の頂点データ算出部における処理で復元された第1の頂点を第2の頂点として用いるポリゴンデータの圧縮システムを提供する。
According to a second aspect of the present invention, in the compression system that performs geometric compression of polygon data for each vertex in the order of triangle strips, the difference vector calculation unit sets the first vertex to be processed together with the first vertex to the first The first difference vector, which is the difference from the second vertex forming one side of the triangle, is expressed by the mantissa truncation unit according to the size of the exponent part for each component of the first difference vector. Then, the lower-order bits of the mantissa part are variably rounded down so that the first difference vector is subjected to distortion compression and then output as compressed data, and the compressed data decompression unit compresses the distortion-compressed first difference vector. restoring with extending in a first differential vector before, the vertex data calculating section, by adding the first difference vector is the stretched second vertex, the first vertex That process and the repeatedly executed every vertex, the processing in the difference vector calculating unit relates vertex immediately following the first vertex, the first vertex and the second vertex of which is restored by processing in the vertex data calculating section immediately before A polygon data compression system is provided.
第3の発明は、圧縮データ伸張部と、局所基底算出部と、局所逆変換部と、頂点データ算出部とを有し、ポリゴンデータの圧縮データを伸張する伸張システムを提供する。圧縮データ伸張部は、歪み圧縮された第1の差分ベクトルのそれぞれの成分に関して、圧縮時に切り捨てられた仮数部の下位ビットを補うことによって、第1の頂点と、その直前の第2の頂点との差分である第1の差分ベクトルに伸張する。局所基底算出部は、第2の頂点およびその直前の第3の頂点とによって規定される第2の差分ベクトルと、第3の頂点およびその直前の第4の頂点とによって規定される第3の差分ベクトルとに基づいて、第1の差分ベクトルに関する三次元の局所基底を算出する。局所逆変換部は、算出された局所基底に基づいて、圧縮時における局所変換の逆変換である局所逆変換を第1の差分ベクトルに施す、頂点データ算出部は、局所逆変換が施された第1の差分ベクトルと、従前の伸張によって算出済の第2の頂点とに基づいて、第1の頂点を算出する。 A third invention provides a decompression system that comprises a compressed data decompression unit, a local basis computation unit, a local inverse transform unit, and a vertex data computation unit, and decompresses compressed data of polygon data. The compressed data decompression unit supplements the lower bits of the mantissa part truncated at the time of compression for each component of the first differential vector subjected to distortion compression, and the second vertex immediately before the first vertex To the first difference vector, which is the difference of. The local basis calculation unit includes a second difference vector defined by the second vertex and the third vertex immediately preceding the second vertex, and a third difference defined by the third vertex and the fourth vertex immediately preceding the third difference vector. Based on the difference vector, a three-dimensional local basis for the first difference vector is calculated. The local inverse transform unit performs a local inverse transform, which is an inverse transform of the local transform at the time of compression, on the first difference vector based on the calculated local base. The vertex data calculation unit is subjected to the local inverse transform. The first vertex is calculated based on the first difference vector and the second vertex calculated by the previous extension.
ここで、第3の発明において、局所基底は、第3の差分ベクトルと平行である第1の基底成分、および、第2の差分ベクトルと第3の差分ベクトルとによって張られる面の法線方向である第2の基底成分の少なくとも一方を含むことが好ましい。また、局所基底は、第2の差分ベクトルと第3の差分ベクトルとによって張られる面上の特定方向である第3の基底成分を含んでいてもよい。この場合、第3の基底成分は、第2の差分ベクトルと、第3の差分ベクトルとに基づいたグラム-シュミット直交化によって算出されることが好ましい。 Here, in the third invention, the local basis is a normal direction of a surface stretched by the first basis component parallel to the third difference vector and the second difference vector and the third difference vector. It is preferable to include at least one of the second base components. In addition, the local basis may include a third basis component that is a specific direction on the surface spanned by the second difference vector and the third difference vector. In this case, it is preferable that the third basis component is calculated by Gram-Schmidt orthogonalization based on the second difference vector and the third difference vector.
第1の発明によれば、処理対象となる第1の頂点を第1の差分ベクトルで表現するとともに、三次元の局所基底で局所変換した上で、各成分の仮数部の下位ビットを可変に切り捨てる。これにより、歪み誤差を抑制しつつ、ポリゴンデータの頂点情報を効果的に圧縮できる。一方、第3の発明によれば、第1の発明によって圧縮されたデータを適切に伸張することができる。 According to the first invention, the first vertex to be processed as well as expressed by the first differential vector, in terms of the local transformation at the local base of the three-dimensional, the low-order bits of the mantissa of each component variable truncate. Thereby, the vertex information of polygon data can be effectively compressed while suppressing distortion errors. On the other hand, according to the third invention, the data compressed by the first invention can be appropriately decompressed.
また、第2の発明によれば、頂点を順次圧縮する際、一度圧縮された差分ベクトルを復元して、次の頂点の処理で用いる。これにより、頂点を順次伸張する際、処理対象となる頂点の推移に伴い、歪み圧縮による誤差が累積していくことを防止できる。 According to the second invention, when the vertices are sequentially compressed, the differential vector once compressed is restored and used in the processing of the next vertex. Thereby, when the vertices are sequentially expanded, it is possible to prevent errors due to distortion compression from accumulating along with the transition of the vertices to be processed.
[アルゴリズムの概要]
システムの具体的な説明に先立ち、まず、本実施形態に係るポリゴンデータの幾何圧縮アルゴリズムについて概説する。本アルゴリズムが対象とするデータは、図1に示すデータ形式を有する頂点座標である。頂点座標の数値表現形式としては、標準規格であるIEEE754方式の32ビット単精度が用いられる。IEEE754方式では、32ビットワードを符号部(S)、指数部(Exp)および仮数部(Mantissa)の3つに別けて数値を表現する。ビット数の振り分けは、符号部(S)が1ビット、指数部(Exp)が8ビット、仮数部(Mantissa)が23ビットである。ここで、符号部(S)は、0で正、1で負の符号を示す。指数部(Exp)は、2を基数とした指数の整数値であり、127をバイアスされた正の値をとる。仮数部(Mantissa)は、実際の仮数から1を引いた2進小数の小数点以下のビットとする。また、正規化数は、下式によって表される(e=Exp−127,m=1.Mantissa)。
[Summary of algorithm]
Prior to a specific description of the system, first, a geometric compression algorithm for polygon data according to the present embodiment will be outlined. The data targeted by this algorithm is vertex coordinates having the data format shown in FIG. As a numerical expression format of the vertex coordinates, 32-bit single precision of the IEEE 754 system, which is a standard, is used. In the IEEE754 system, a 32-bit word is divided into three parts: a sign part (S), an exponent part (Exp), and a mantissa part (Mantissa), and a numerical value is expressed. As for the distribution of the number of bits, the sign part (S) is 1 bit, the exponent part (Exp) is 8 bits, and the mantissa part (Mantissa) is 23 bits. Here, the sign part (S) indicates 0 for a positive sign and 1 for a negative sign. The exponent (Exp) is an integer value of an exponent with 2 as a radix, and takes a positive value with 127 biased. The mantissa (Mantissa) is a bit after the decimal point of a binary decimal number obtained by subtracting 1 from an actual mantissa. The normalized number is expressed by the following equation (e = Exp-127, m = 1. Mantissa).
(正規化数)
S × 2e × m
(Normalized number)
S x 2 e x m
図2に示すように、圧縮処理の対象となる頂点Pnは、この頂点Pnと共に三角形T1の一辺を形成する頂点Pn-1との差分である差分ベクトルdnで表現される。そして、この差分ベクトルdnのそれぞれの成分(x,y,z)に関して、歪み圧縮が施される。本実施形態では、それぞれの成分の仮数部の下位ビットを可変に切り捨てることによって、歪み圧縮を実現する。上述した正規化数の表現式からわかるように、仮数部(Mantissa)の切り捨てによる値の変化は、指数部(Exp)の値が小さいほど少ない。この観点から、指数部の値が小さい場合には、仮数部(Mantissa)の切り捨てによる影響が比較的小さいので、仮数部の下位ビットを大きく切り捨てる。逆に、指数部の値が大きい場合には、仮数部の変化による影響も大きいので、下位ビットの切り捨てを小さく留める。具体的には、図3に示すように、仮数部23ビットのうち、下位(23−(e−c))ビットを切捨桁数(truncation)として切り捨て、(e−c)ビットを有効桁数(factor)とする(cは調整係数)。これにより、eと仮数部の有効桁数とが比例関係となり、全体として歪みを小さくすることができる。また、調整係数c∈[-149,127]によって、浮動小数の精度と圧縮率とを調整する。なお、有効桁数(factor)は、負数は0に、24以上の数は23に丸める。このようにして、歪み圧縮された差分ベクトルdnが頂点Pnの圧縮データとして出力される。
As shown in FIG. 2, the vertex Pn to be subjected to compression processing is expressed by a difference vector dn that is a difference from the vertex Pn-1 that forms one side of the triangle T1 together with the vertex Pn. Then, distortion compression is applied to each component (x, y, z) of the difference vector dn. In this embodiment, distortion compression is realized by variably truncating the lower bits of the mantissa part of each component. As can be seen from the expression for the normalized number, the change in the value due to truncation of the mantissa (Mantissa) is smaller as the value of the exponent (Exp) is smaller. From this point of view, when the value of the exponent part is small, the influence by the truncation of the mantissa part (Mantissa) is relatively small, so the lower bits of the mantissa part are greatly rounded down. On the other hand, when the value of the exponent part is large, the influence of the change of the mantissa part is large, so that the lower bits are rounded down. Specifically, as shown in FIG. 3, in the
この圧縮アルゴリズムの特徴の一つは、頂点Pnを差分ベクトルdnで表現した上で、仮数部の下位ビットを切り捨てる点である。差分ベクトルdnは、頂点Pnと共に三角形の一辺を形成する頂点Pn-1を基準とした差分であり、三角形ストリップの場合には、頂点Pnの直前の頂点Pn-1を基準とした差分に相当する。頂点Pnを差分ベクトルで表現することで、その成分は、頂点Pnの本来の座標値よりも小さな値になる。したがって、座標値そのものを切り捨てる場合と比較して、仮数部の下位ビットをより大きく切り捨てることが期待でき、その結果として圧縮率の向上を図ることが可能になる。 One of the features of this compression algorithm is that the vertex Pn is expressed by the difference vector dn, and the lower bits of the mantissa part are discarded. The difference vector dn is a difference based on a vertex Pn-1 that forms one side of the triangle together with the vertex Pn. In the case of a triangle strip, the difference vector dn corresponds to a difference based on the vertex Pn-1 immediately before the vertex Pn. . By expressing the vertex Pn with a difference vector, its component becomes a value smaller than the original coordinate value of the vertex Pn. Therefore, compared with the case where the coordinate value itself is cut off, it is expected that the lower bits of the mantissa part are cut off more greatly, and as a result, the compression ratio can be improved.
つぎに、上述した基本的な概念を改良し、差分ベクトルdnを三次元の局所基底に基づいて局所変換することによって、圧縮率の更なる向上を図る手法について説明する。図4は、処理対象となる差分ベクトルdnと局所基底{u,v,w}との関係を示す図である。一般に、三角形ポリゴンは二次元曲面を被覆する三角形の集合なので、ある三角形T1の一辺(ベクトル)dnは、これと隣接する三角形T2の二辺(ベクトル)dn-1,dn-2と以下のような幾何学的特徴を有するものと仮定できる。 Next, a method for further improving the compression ratio by improving the basic concept described above and locally transforming the difference vector dn based on a three-dimensional local basis will be described. FIG. 4 is a diagram showing the relationship between the difference vector dn to be processed and the local basis {u, v, w}. In general, a triangular polygon is a set of triangles covering a two-dimensional curved surface. Therefore, one side (vector) dn of a triangle T1 is two sides (vectors) dn-1, dn-2 of a triangle T2 adjacent to the triangle T1, as follows. It can be assumed that it has the following geometric features.
(仮定A)三角形T1の一辺dnは、三角形T2の一辺dn-2と平行
三角形ストリップの場合、他の辺dn-2は辺dnの2つ前の辺に相当する。
(仮定B)三角形T1の一辺dnは、三角形T2の2辺dn-1,dn-2が張る面と共面
三角形ストリップの場合、他の2辺dn-1,dn-2は辺dnの直前および2つ前の辺に相当する。
(Assumption A) One side dn of the triangle T1 is parallel to one side dn-2 of the triangle T2, and in the case of a triangular strip, the other side dn-2 corresponds to the side immediately before the side dn.
(Assumption B) One side dn of the triangle T1 is coplanar with the surface stretched by the two sides dn-1, dn-2 of the triangle T2, and in the case of a triangular strip, the other two sides dn-1, dn-2 And corresponds to the previous two sides.
ここで、仮定Aは、マニュアルまたはアルゴリズムによって人工的に作成されたポリゴンデータの規則性に基づくものである。また、仮定Bは、細かいポリゴンモデルほどなめらかな曲面に近づく法線方向の近似可能性に基づくものである。 Here, the assumption A is based on regularity of polygon data artificially created by a manual or an algorithm. Assumption B is based on the possibility of approximation in the normal direction that approaches a smoother surface as the polygon model becomes finer.
このような隣り合った三角形T1,T2の相関性に着目して、絶対座標系で表現された差分ベクトルdnに局所的な変換を施せば、その成分をより小さくできる。そして、局所変換された差分ベクトルdnに対して、上述した仮数部の切り捨てを行えば、より高い圧縮率が期待できる。 Paying attention to the correlation between such adjacent triangles T1 and T2, if the local transformation is applied to the difference vector dn expressed in the absolute coordinate system, the component can be made smaller. If the above-described mantissa part is rounded down for the locally converted difference vector dn, a higher compression ratio can be expected.
具体的には、まず、ベクトルdnが属する三角形T1と隣接した三角形T2に基づいて、三次元の局所基底{u,v,w}を設定する。この局所基底{u,v,w}は、(1)ベクトルdn-2と平行な方向を基底成分uとすること(仮定1より)、(2)ベクトルdn-1,dn-2によって張られる面(三角形T2)の法線方向を他の基底成分wとすること(仮定2より)が好ましい。なお、残りの基底成分vについては、ベクトルdn-1,dn-2によって張られる面(三角形T2)上の特定の方向として定義することが好ましい。本実施形態では、ベクトルdn-2の単位ベクトルをu、この単位ベクトルuに対してベクトルdn-1にグラム-シュミット直交化を施した単位ベクトルをv、これらの単位ベクトルu,vの外積の単位ベクトルをwとして、正規直交基底{u,v,w}を定義する。 Specifically, first, a three-dimensional local basis {u, v, w} is set based on the triangle T1 to which the vector dn belongs and the adjacent triangle T2. This local basis {u, v, w} is stretched by (1) the direction parallel to the vector dn-2 as the basis component u (from assumption 1), and (2) the vectors dn-1, dn-2. It is preferable to set the normal direction of the surface (triangle T2) as another basis component w (from assumption 2). The remaining base component v is preferably defined as a specific direction on the plane (triangle T2) spanned by the vectors dn-1 and dn-2. In this embodiment, the unit vector of the vector dn-2 is u, the unit vector obtained by subjecting the vector dn-1 to Gram-Schmidt orthogonalization for the unit vector u, v, and the outer product of these unit vectors u and v. An orthonormal basis {u, v, w} is defined with a unit vector as w.
つぎに、局所基底{u,v,w}に基づいて、差分ベクトルdn(x,y,z)が局所変換される。変換後の差分ベクトルd'nのそれぞれの成分(α,β,γ)は、下式の内積によって算出される。
α = |<u,dn>|
β = |<v,dn>|
γ = |<w,dn>|
Next, the difference vector dn (x, y, z) is locally transformed based on the local basis {u, v, w}. Each component (α, β, γ) of the converted difference vector d′ n is calculated by the inner product of the following equation.
α = | <u, dn> |
β = | <v, dn> |
γ = | <w, dn> |
そして、変換後の差分ベクトルdn(α,β,γ)に対して、上述した仮数部の切り捨てによる歪み圧縮が施される。図5に示すような指数成分の分布を有する変換前の差分ベクトルdn(x,y,z)は、正規直交基底{u,v,w}を用いた局所変換によって、図6に示すようなα,β,γの分布に変換される。この分布は、仮定A(dn//dn-2)よりα>>β,γが、仮定B(dn⊥w)よりα,β>>γがそれぞれ成立する結果、α>β>γとなることからも理論的に裏付けられる。その結果、α,β,γ成分に対する仮数部の切り捨ては、以下のようになり、特にγ成分の切り捨てが圧縮率の向上に大きく貢献するであろうと期待される。 Then, the above-described difference vector dn (α, β, γ) is subjected to distortion compression by truncating the mantissa as described above. A difference vector dn (x, y, z) before conversion having an exponential component distribution as shown in FIG. 5 is obtained by local conversion using an orthonormal basis {u, v, w} as shown in FIG. It is converted into α, β, γ distribution. This distribution is such that α >> β, γ is established from Assumption A (dn // dn-2), and α, β >> γ is established from Assumption B (dn⊥w), so that α> β> γ. This is also supported by theory. As a result, truncation of the mantissa part for the α, β, and γ components is as follows, and it is expected that the truncation of the γ component will greatly contribute to the improvement of the compression ratio.
(局所変換後の歪み圧縮)
指数部の値 仮数部の切捨ビット数
α成分 大 少ない
β成分 中 普通
γ成分 小 多い
(Distortion compression after local transformation)
Exponent value Mantissa truncation bit number α component Large small β component Medium Normal γ component Small Large
つぎに、上述した圧縮アルゴリズムを実装した圧縮システムについて説明する。本実施形態における圧縮システムでは、三角形ストリップによって描画されたポリゴンデータを圧縮対象とし、原則として、三角形ストリップの順序で頂点を順次シフトさせながら、頂点毎に歪み圧縮を行う。 Next, a compression system that implements the above-described compression algorithm will be described. In the compression system according to this embodiment, polygon data drawn by a triangle strip is a compression target, and in principle, distortion compression is performed for each vertex while sequentially shifting the vertex in the order of the triangle strip.
図7は、三角形ストリップの説明図である。三角形ストリップでは、初期頂点P0からはしご状に連結した2辺により三角形が順次定義され、隣接する面では頂点が共有される。同図に示したように、初期頂点P0からP1,P1,P2,P3,P4,P4,P5,P0,P6,P2,P7,P4,P8の順に指定していく場合、頂点P2が指定された時点で、2つの辺P0−P1,P1−P2よりなる三角形P0P1P2が形成される。そして、次の頂点P3が指定されると三角形P1P2P3が、更に頂点P4が指定されると三角形P2P3P4がそれぞれ形成される。頂点P4では同一頂点が重複指定され、その後に頂点P5にジャンプしている。これは、同一頂点P4が重複指定された場合、例外的に辺P4−P5を一辺とする三角形は形成せず、その後の頂点P5を初期頂点として新たに三角形の形成を開始することを意味する。以後、三角形P5P0P6(頂点P6の指定時)、三角形P0P6P2(頂点P2の指定時)、三角形P6P2P7(頂点P7の指定時)、三角形P2P7P7(頂点P4の指定時)、三角形P7P4P8(頂点P8の指定時)の順に形成される。なお、DirectXやOpenGL等の3Dグラフィックスライブラリでは、重複した頂点の冗長性を削除してデータ量を減らすために、頂点の連結情報をインデックスにより管理する方式、すなわちインデックスバッファ方式が用いられる。この方式では、すべての頂点をリスト化し、各三角形の3頂点を三角形ストリップのインデックスとして記述する。 FIG. 7 is an explanatory diagram of a triangular strip. In the triangle strip, triangles are sequentially defined by two sides connected in a ladder shape from the initial vertex P0, and vertices are shared by adjacent faces. As shown in the figure, when the initial vertex P0 is designated in the order of P1, P1, P2, P3, P4, P4, P5, P0, P6, P2, P7, P4, P8, the vertex P2 is designated. Then, a triangle P0P1P2 composed of two sides P0-P1 and P1-P2 is formed. When the next vertex P3 is designated, the triangle P1P2P3 is formed, and when the vertex P4 is further designated, the triangle P2P3P4 is formed. At the vertex P4, the same vertex is designated twice, and then jumps to the vertex P5. This means that when the same vertex P4 is designated redundantly, a triangle having the side P4-P5 as one side is exceptionally not formed, and a new triangle is started with the subsequent vertex P5 as the initial vertex. . Thereafter, triangle P5P0P6 (when apex P6 is specified), triangle P0P6P2 (when apex P2 is specified), triangle P6P2P7 (when apex P7 is specified), triangle P2P7P7 (when apex P4 is specified), triangle P7P4P8 (when apex P8 is specified) ) In this order. In a 3D graphics library such as DirectX or OpenGL, a method of managing vertex connection information with an index, that is, an index buffer method is used in order to reduce the amount of data by eliminating redundant vertex redundancy. In this scheme, all vertices are listed and the three vertices of each triangle are described as the triangle strip index.
[圧縮システム]
図8は、本実施形態に係る圧縮システムのブロック構成図である。この圧縮システムは、差分ベクトル算出部1と、局所変換部2と、仮数切捨部3と、局所基底算出部4と、記憶部5と、圧縮データ伸張部6と、局所基底逆変換部7と、頂点データ算出部8とで構成されている。
[Compression system]
FIG. 8 is a block diagram of the compression system according to this embodiment. The compression system includes a difference
差分ベクトル算出部1は、処理対象として入力されたn番目の頂点データPn(x,y,z)に関して、三角形ストリップにおける直前の頂点データP'n-1(x,y,z)との差分を算出し、差分ベクトルdn(x,y,z)として出力する。直前のデータP'n-1は、頂点データ算出部8において保持されている。なお、直前の頂点データP'n-1は、元の頂点データPn-1ではなく、歪み圧縮された値を復元したものである(符号に付された「'」は復元値を意味する)。なお、初期頂点P0については、差分ベクトル算出部1による差分ベクトルの算出は行わず、次の頂点P1の差分ベクトルd1を算出するために必要なデータとして、頂点データ算出部8に格納される。
The difference
局所変換部2は、局所基底算出部4によって算出された局所基底B{u,v,w}に基づいて、差分ベクトルdnを局所変換して、変換後の差分ベクトルdn(α,β,γ)を出力する。ここで、α成分はベクトルuと差分ベクトルdnとの内積、β成分はベクトルvと差分ベクトルdnとの内積、そして、γ成分はベクトルwと差分ベクトルdnとの内積である。上述したように、局所基底B{u,v,w}としては正規直交基底を用いることができ、1つ前の差分ベクトルd'n-1と、2つ前の差分ベクトルd'n-2とに基づいて、頂点毎に生成される。なお、図4に示したように、1つ前の差分ベクトルd'n-1は、頂点Pn-1(正確には復元値P'n-1)と、その直前の頂点Pn-2(正確には復元値P'n-2)とによって規定される。また、2つ前の差分ベクトルd'n-2は、頂点Pn-2(正確には復元値P'n-2)と、その直前の頂点Pn-3(正確には復元値P'n-3)とによって規定される。
The
仮数切捨部3は、局所変換後の差分ベクトルdnのそれぞれの成分α,β,γに関して、指数部の大きさに応じて仮数部の下位ビットを可変に切り捨てる。このようにして歪み圧縮された差分ベクトルd'n(α',β',γ')は、頂点データPnの圧縮データとして外部に出力されるとともに、圧縮データ伸張部6にも供給される。
The
なお、仮数切捨部3において、仮数部の切り捨て処理と並行して、α,β,γ成分の指数部に関して、エントロピー符号化による無歪み圧縮を行ってもよい。8ビット固定長で表される指数部の値e∈[-126,127]には常にある程度の偏りがあるため、エントロピー符号化による圧縮効果が期待できる。エントロピー符号化としては、例えば静的ハフマン符号を用いることができる。この場合、成分毎に指数部の値を計測し、出現回数によってそれぞれハフマン木を構成する。また、圧縮データの先頭にシンボル数、シンボル、出現回数を記述し、伸張時にこれらよりハフマン木を再構成する。
The
圧縮データ伸張部6は、差分ベクトルd'n(α',β',γ')の切り捨てられた下位ビットを補って、符号小数フォーマットに戻す(単に0を追加して桁数を揃える)。この伸張によって得られたα,β,γ成分は、局所変換部2より出力されたものとは一致せず、仮数部の歪み誤差を含む。なお、仮数切捨部3において指数部のエントロピー符号化を行っている場合には、これに対応した復号化も併せて行われる。
The compressed data decompression unit 6 compensates the lower bits of the difference vector d′ n (α ′, β ′, γ ′), and returns to the signed decimal format (simply add 0 to align the number of digits). The α, β, and γ components obtained by this expansion do not match those output from the
局所逆変換部7は、圧縮データ伸張部6によって伸張された差分ベクトルd'n(α',β',γ')と、局所基底算出部4によって算出された局所基底B{u,v,w}とに基づいた局所逆変換を行い、差分ベクトルd'n(x,y,z)を算出する。この逆変換は、局所変換部2における変換の逆処理に相当する。この差分ベクトルd'nは、差分ベクトル算出部1より出力された差分ベクトルdnとは一致せず、仮数部の歪み誤差を含む。算出された差分ベクトルd'nは、記憶部5および頂点データ算出部8に供給される。記憶部5に供給された差分ベクトルd'nは、次の頂点Pn+1の処理で1つ前の差分ベクトルとして使用すべく、記憶領域d'n-1に格納される。また、現在の頂点Pnの処理で1つ前の差分ベクトルとして使用された記憶領域d'n-1のデータは、次の頂点Pn+1の処理で2つ前の差分ベクトルとして使用すべく、記憶領域d'n-2に格納される。これに伴い、現在、記憶領域d'n-2に格納されているデータは破棄される。
The local
一方、頂点データ算出部8は、現在格納している頂点データP'n-1に差分ベクトルd'nを加算したものを新たな頂点データP'nとして算出する。この新たな頂点データP'nは、次の頂点Pn+1の処理において、1つ前の頂点データとして用いられる。このように、一度圧縮されたデータを復元して、次の頂点Pn+1の処理で用いる理由は、伸張時に歪み圧縮による誤差の累積を防止するためである。
On the other hand, the vertex
この誤差の累積防止に関して、図9を参照しつつ詳述する。処理対象が頂点P1の場合、この頂点P1と共に三角形の一辺を形成する直前の頂点P0との差分が差分ベクトルd1として表現されるとともに、これを歪み圧縮することで圧縮差分ベクトルd'1が算出される。そして、圧縮差分ベクトルd'1を伸張して、これと頂点P0とを加算することによって、頂点P'1が復元される。しかしながら、歪み圧縮による誤差の影響があるので、復元された頂点P'1と、本来の頂点P1との間にずれが生じる。圧縮側では本来の頂点を特定できるが、伸張側では復元された頂点しか特定できない。したがって、圧縮時に本来の頂点を起点に差分ベクトルを算出してしまうと、伸張時に、頂点P2,P3,P4といった順序での繰り返し処理によって、本来の頂点とのずれが徐々に大きくなっていってしまう。このような誤差の累積を防止すべく、本実施形態では、ある頂点Pnの直後の頂点Pn+1に関する圧縮処理では、本来の頂点Pnではなく、直前の処理で復元された頂点P'nを用いる。なお、誤差の累積を防止するための本手法自体は、仮数部の切り捨てに限定されるものではなく、それ以外の歪み圧縮に対しても適用可能である。 This accumulation prevention of errors will be described in detail with reference to FIG. When the processing target is the vertex P1, the difference from the vertex P0 immediately before forming one side of the triangle together with the vertex P1 is expressed as the difference vector d1, and the compression difference vector d′ 1 is calculated by distortion-compressing the difference vector d1. Is done. Then, the vertex P′1 is restored by expanding the compressed difference vector d′ 1 and adding this to the vertex P0. However, since there is an error effect due to distortion compression, a deviation occurs between the restored vertex P′1 and the original vertex P1. The original vertex can be specified on the compression side, but only the restored vertex can be specified on the decompression side. Therefore, if the difference vector is calculated starting from the original vertex at the time of compression, the deviation from the original vertex is gradually increased by the repeated processing in the order of vertices P2, P3, P4 at the time of expansion. End up. In this embodiment, in order to prevent the accumulation of such errors, in the compression process for the vertex Pn + 1 immediately after a certain vertex Pn, the vertex P′n restored by the immediately preceding processing is not the original vertex Pn. Use. Note that the present technique for preventing error accumulation is not limited to truncation of the mantissa part, and can be applied to other distortion compression.
以上のような処理は、三角形ストリップの順序に従い、圧縮すべき頂点データPn+1,Pn+2,・・・が入力される毎に繰り返される。そして、最後の頂点データPlastの処理の完了に伴い、ポリゴンデータを構成する全頂点の圧縮が終了する。なお、処理対象となる頂点Pnが従前のものと一致する場合等においては、例外処理として、今回の頂点Pnの処理をスキップ等する。 The above processing is repeated every time the vertex data Pn + 1, Pn + 2,. Then, with the completion of the processing of the last vertex data Plast, the compression of all the vertices constituting the polygon data is completed. If the vertex Pn to be processed matches the previous one, etc., the processing of the current vertex Pn is skipped as an exception process.
このように、本実施形態に係る圧縮システムでは、局所基底B{u,v,w}によって局所変換された差分ベクトルdnのα,β,γ成分に関して、指数部の大きさに応じて仮数部の下位ビットを可変に切り捨てる。そして、この切り捨てによって歪み圧縮された差分ベクトルd'nの成分が圧縮データとして用いられる。これにより、歪み誤差を抑制しつつ、ポリゴンデータの頂点データを効果的に圧縮することが可能になる。特に、差分ベクトルdnが属する三角形と隣接する三角形に基づいた局所基底を用いれば、より高い圧縮率を確保することが可能になる。 As described above, in the compression system according to the present embodiment, the mantissa part of the α, β, γ components of the difference vector dn locally transformed by the local basis B {u, v, w} according to the size of the exponent part. The lower bits of are variably truncated. Then, the component of the difference vector d′ n that has been subjected to distortion compression by this truncation is used as compressed data. Thereby, it becomes possible to effectively compress the vertex data of the polygon data while suppressing the distortion error. In particular, if a local basis based on a triangle to which the difference vector dn belongs and an adjacent triangle is used, a higher compression rate can be secured.
[伸張システム]
図10は、上述した圧縮システムに対応する伸張システムのブロック構成図である。この伸張システムは、圧縮データ伸張部11と、局所逆変換部12と、頂点データ算出部13と、局所基底算出部14と、記憶部15とで構成されている。圧縮システムから伸張システムに渡されるデータは、初期頂点P0の座標データ、および、歪み圧縮された圧縮データd'n(α',β',γ')(n=1,2,3,・・・)である。なお、指数部の大きさと仮数部の切捨ビットとの対応関係は、圧縮側および伸張側の間で予め取り決められている。また、初期頂点P0については、次の頂点P1を算出するために必要なデータとして、頂点データ算出部13に格納される。
[Extension system]
FIG. 10 is a block diagram of a decompression system corresponding to the compression system described above. This decompression system includes a compressed
圧縮データ伸張部11は、圧縮データP'n(α',β',γ')に関して、圧縮時に切り捨てられた下位ビットを補って、浮動小数フォーマットに戻す(単に0を追加して桁数を揃える)。なお、指数部がエントロピー符号化されている場合には、その伸張も併せて行われる。これにより、頂点P'nと、その直前の頂点P'n-1との差分である差分ベクトルd'nが伸張・復元される。
The compressed
局所逆変換部12は、圧縮データ伸張部11によって伸張された差分ベクトルd'n(α',β',γ')と、局所基底算出部14によって算出された局所基底B{u,v,w}とに基づいて、下式の局所逆変換、すなわち圧縮時における局所変換の逆変換を行い、差分ベクトルd'n(x,y,z)を算出する。三次元の局所基底B{u,v,w}は、圧縮側と同様のものが用いられ、1つ前の差分ベクトルd'n-1(頂点P'n-1,P'n-2によって規定)と、2つ前の差分ベクトルd'n-2(P'n-2,P'n-3によって規定)とに基づいて、頂点毎に生成される。算出された差分ベクトルd'nは、頂点データ算出部13および記憶部15に供給される。
d'n(x,y,z)=<u,d'n>u+<v,d'n>v+<w,d'n>
The local
d′ n (x, y, z) = <u, d′ n> u + <v, d′ n> v + <w, d′ n>
頂点データ算出部13は、現在格納している頂点データP'n-1(従前の伸張によって算出済のもの)に、局所逆変換部12によって算出された今回の差分ベクトルd'n(x,y,z)を加算することによって、出力データとしての頂点データP'n(x,y,z)を算出する。この新たな頂点データP'nは、次の頂点Pn+1の処理において、1つ前の頂点データとして用いられる。
The vertex data calculation unit 13 adds the current difference vector d′ n (x, n, x) calculated by the local
また、記憶部15に供給された差分ベクトルd'nは、次の頂点Pn+1の処理で1つ前の差分ベクトルとして使用すべく、記憶領域d'n-1に格納される。また、現在の頂点Pnの処理で1つ前の差分ベクトルとして使用された記憶領域d'n-1のデータは、次の頂点Pn+1の処理で2つ前の差分ベクトルとして使用すべく、記憶領域d'n-2に格納される。これに伴い、現在、記憶領域d'n-2に格納されているデータは破棄される。
Further, the difference vector d′ n supplied to the
以上のような処理は、伸張すべき圧縮データd'n+1,d'n+2,・・・が入力される毎に繰り返される。そして、最後の頂点データd'lastの処理の完了に伴い、ポリゴンデータを構成する全頂点の伸張が終了する。 The above processing is repeated every time compressed data d′ n + 1, d′ n + 2,. Then, with the completion of the processing of the last vertex data d′ last, the expansion of all the vertices constituting the polygon data is completed.
このように、本実施形態に係る伸張システムによれば、上述した圧縮システムによって生成された圧縮データを適切に伸張することができる。 As described above, according to the decompression system according to the present embodiment, it is possible to appropriately decompress the compressed data generated by the above-described compression system.
なお、上述した実施形態では、圧縮/伸張システムに関して説明したが、これと等価な処理手順をコンピュータによって実行させるコンピュータ・プログラムも本発明の別の態様を構成するものである。この場合、圧縮処理の基本的な流れは以下のようになる(詳細は上述した通りなので省略)。なお、圧縮効率は落ちるものの、下記ステップ12,13を省略して、ステップ11で算出された差分ベクトルを直接歪み圧縮することも可能であり、本発明はこのような形態を排除するものではない。
In the above-described embodiment, the compression / decompression system has been described. However, a computer program that causes a computer to execute an equivalent processing procedure also constitutes another aspect of the present invention. In this case, the basic flow of the compression process is as follows (details are omitted as described above). Although the compression efficiency is reduced, the following
(圧縮処理手順)
(ステップ11)処理対象となる頂点の差分ベクトル化
(ステップ12)局所基底の算出
(ステップ13)局所基底に基づく差分ベクトルの局所変換
(ステップ14)変換後の差分ベクトルの歪み圧縮
(Compression procedure)
(Step 11) Difference vectorization of vertices to be processed (Step 12) Calculation of local basis (Step 13) Local transformation of difference vector based on local basis (Step 14) Distortion compression of difference vector after transformation
また、伸張処理は以下のような手順となる。なお、圧縮処理で局所変換を行わない場合には、下記ステップ22,23は不要である。
(伸張処理手順)
The decompression process is as follows. If local conversion is not performed in the compression process, the following
(Extension processing procedure)
(ステップ21)圧縮データの伸張
(ステップ22)局所基底の算出
(ステップ23)局所基底を用いた局所逆変換による差分ベクトルの算出
(ステップ24)頂点データの算出
(Step 21) Expansion of compressed data (Step 22) Calculation of local base (Step 23) Calculation of difference vector by local inverse transformation using local base (Step 24) Calculation of vertex data
1 差分ベクトル算出部
2 局所変換部
3 仮数切捨部
4 局所基底算出部
5 記憶部
6 圧縮データ伸張部
7 局所逆変換部
8 頂点データ算出部
11 圧縮データ伸張部
12 局所逆変換部
13 頂点データ算出部
14 局所基底算出部
15 記憶部
DESCRIPTION OF
Claims (11)
処理対象となる第1の頂点を、その直前の第2の頂点との差分である第1の差分ベクトルで表現する差分ベクトル算出部と、
前記第2の頂点およびその直前の第3の頂点とによって規定される第2の差分ベクトルと、前記第3の頂点およびその直前の第4の頂点とによって規定される第3の差分ベクトルとに基づいて、前記第1の差分ベクトルに関する三次元の局所基底を算出する局所基底算出部と、
前記算出された局所基底に基づいて、前記第1の差分ベクトルを局所変換する局所変換部と、
前記局所変換された第1の差分ベクトルのそれぞれの成分に関して、指数部の大きさに応じて仮数部の下位ビットを可変に切り捨てることで歪み圧縮された第1の差分ベクトルを圧縮データとして出力する仮数切捨部と
を有することを特徴とするポリゴンデータの圧縮システム。 In a compression system that performs geometric compression of polygon data for each vertex in the order of triangle strips,
A difference vector calculation unit that expresses a first vertex to be processed by a first difference vector that is a difference from the immediately preceding second vertex;
A second difference vector defined by the second vertex and the third vertex immediately preceding the second vertex, and a third difference vector defined by the third vertex and the fourth vertex immediately preceding it. A local basis calculation unit for calculating a three-dimensional local basis for the first difference vector,
Based on the calculated local basis, a local conversion unit that locally converts the first difference vector;
For each component of the first difference vector that has been locally transformed, the first difference vector that is distortion-compressed by variably truncating the lower bits of the mantissa part according to the size of the exponent part is output as compressed data. A polygon data compression system comprising a mantissa truncation unit.
前記第1の頂点の直後の頂点に関する前記差分ベクトル算出部における処理では、直前の前記頂点データ算出部における処理で復元された前記第1の頂点を前記第2の頂点として用いることを特徴とするポリゴンデータの圧縮システム。 In the compression system for performing geometric compression polygon data per vertex in the order of triangle strips, a difference vector calculating portion, the first vertex to be processed, to form one side of the first triangle with the first vertex The first difference vector, which is the difference from the second vertex, is represented by the first difference vector, and the mantissa truncation unit has, for each component of the first difference vector, a lower bit of the mantissa part according to the size of the exponent part. , The first differential vector is distorted and output as compressed data, and the compressed data decompression unit converts the first differential vector that has been compressed into the first differential vector before compression. while stretching the differential vector, vertex data calculation unit, by adding the first difference vector is the stretched to the second vertex to restore the first vertex Processing and, repeatedly executed for each vertex,
In the process in the difference vector calculation unit regarding the vertex immediately after the first vertex, the first vertex restored by the process in the immediately preceding vertex data calculation unit is used as the second vertex. Polygon data compression system.
歪み圧縮された第1の差分ベクトルのそれぞれの成分に関して、圧縮時に切り捨てられた仮数部の下位ビットを補うことによって、処理対象となる第1の頂点と、その直前の第2の頂点との差分である第1の差分ベクトルに伸張する圧縮データ伸張部と、
前記第2の頂点およびその直前の第3の頂点とによって規定される第2の差分ベクトルと、前記第3の頂点およびその直前の第4の頂点とによって規定される第3の差分ベクトルとに基づいて、前記第1の差分ベクトルに関する三次元の局所基底を算出する局所基底算出部と、
前記算出された局所基底に基づいて、圧縮時における局所変換の逆変換である局所逆変換を前記第1の差分ベクトルに施す局所逆変換部と、
前記局所逆変換が施された第1の差分ベクトルと、従前の伸張によって算出済の前記第2の頂点とに基づいて、前記第1の頂点を算出する頂点データ算出部と
を有することを特徴とするポリゴンデータの伸張システム。 In a decompression system that decompresses compressed data of polygon data,
For each component of the first distortion-compressed difference vector, the difference between the first vertex to be processed and the second vertex immediately preceding it by supplementing the lower bits of the mantissa part truncated at the time of compression A compressed data decompression unit that decompresses the first difference vector,
A second difference vector defined by the second vertex and the third vertex immediately preceding the second vertex, and a third difference vector defined by the third vertex and the fourth vertex immediately preceding it. A local basis calculation unit for calculating a three-dimensional local basis for the first difference vector,
Based on the calculated local basis, a local inverse transform unit that performs local inverse transform on the first difference vector, which is an inverse transform of local transform at the time of compression;
A vertex data calculation unit that calculates the first vertex based on the first difference vector subjected to the local inverse transformation and the second vertex calculated by the previous extension. Polygon data expansion system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008029945A JP4721072B2 (en) | 2008-02-12 | 2008-02-12 | Polygon data compression and decompression system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008029945A JP4721072B2 (en) | 2008-02-12 | 2008-02-12 | Polygon data compression and decompression system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009193095A JP2009193095A (en) | 2009-08-27 |
JP4721072B2 true JP4721072B2 (en) | 2011-07-13 |
Family
ID=41075082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008029945A Active JP4721072B2 (en) | 2008-02-12 | 2008-02-12 | Polygon data compression and decompression system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4721072B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8669977B2 (en) | 2009-10-01 | 2014-03-11 | Intel Corporation | Hierarchical mesh quantization that facilitates efficient ray tracing |
US20230097562A1 (en) * | 2021-09-28 | 2023-03-30 | Advanced Micro Devices, Inc. | Acceleration structures with delta instances |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0738760A (en) * | 1993-06-28 | 1995-02-07 | Nec Corp | Orthogonal transformation base generating system |
JPH1124887A (en) * | 1997-07-01 | 1999-01-29 | Sega Enterp Ltd | Vector normalization computing element, vector normalization computing method and recording medium |
JP2000347832A (en) * | 1999-06-09 | 2000-12-15 | Mitsubishi Electric Corp | System and unit for floating-point arithmetic and semiconductor integrated circuit device equipped with same |
US6167159A (en) * | 1998-04-30 | 2000-12-26 | Virtue Ltd. | Triangle mesh compression |
JP2002008060A (en) * | 2000-06-23 | 2002-01-11 | Hitachi Ltd | Data processing method, recording medium and data processing device |
-
2008
- 2008-02-12 JP JP2008029945A patent/JP4721072B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0738760A (en) * | 1993-06-28 | 1995-02-07 | Nec Corp | Orthogonal transformation base generating system |
JPH1124887A (en) * | 1997-07-01 | 1999-01-29 | Sega Enterp Ltd | Vector normalization computing element, vector normalization computing method and recording medium |
US6167159A (en) * | 1998-04-30 | 2000-12-26 | Virtue Ltd. | Triangle mesh compression |
JP2000347832A (en) * | 1999-06-09 | 2000-12-15 | Mitsubishi Electric Corp | System and unit for floating-point arithmetic and semiconductor integrated circuit device equipped with same |
JP2002008060A (en) * | 2000-06-23 | 2002-01-11 | Hitachi Ltd | Data processing method, recording medium and data processing device |
Also Published As
Publication number | Publication date |
---|---|
JP2009193095A (en) | 2009-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2387004B1 (en) | Lossless compression of a structured set of floating point numbers, particularly for CAD systems | |
Valette et al. | Wavelet-based progressive compression scheme for triangle meshes: Wavemesh | |
CN109002889B (en) | Adaptive iterative convolution neural network model compression method | |
US8023752B1 (en) | Decompression of 16 bit data using predictor values | |
US9064311B2 (en) | Method for compressing/decompressing a three-dimensional mesh | |
US20070285417A1 (en) | System and Method for Memory Bandwidth Compressor | |
JP2011528452A (en) | Low-complexity three-dimensional mesh compression apparatus and method using shared vertex information | |
US8346831B1 (en) | Systems and methods for computing mathematical functions | |
KR20090097057A (en) | Method for coding and decoding connectivity of 3d data implemented as mesh model | |
CN114239798A (en) | Multiplication-free depth neural network model compression method based on parity logarithm quantization | |
JP4721072B2 (en) | Polygon data compression and decompression system | |
US5949422A (en) | Shape data compression method, shape data decompression method, shape data compression apparatus, and shape data decompression apparatus | |
CN101068363B (en) | System and method for reducing frequency breadth need of transmitting graph data | |
JP4037875B2 (en) | Computer graphics data encoding device, decoding device, encoding method, and decoding method | |
WO2022067790A1 (en) | Point cloud layering method, decoder, encoder, and storage medium | |
Sano et al. | Segment-parallel predictor for FPGA-based hardware compressor and decompressor of floating-point data streams to enhance memory I/O bandwidth | |
CN117155405A (en) | Method for quickly establishing tANS coding and decoding conversion table based on gradient descent | |
Fathi et al. | Survey on Fractal image compression | |
JP6833643B2 (en) | Compression processing device, decompression processing device, compression processing program, decompression processing program | |
Sim et al. | An efficient 3D mesh compression technique based on triangle fan structure | |
JP4017467B2 (en) | Triangular mesh data compression method and program | |
US9134958B2 (en) | Bid to BCD/DPD converters | |
Siddeq et al. | 3D point cloud data and triangle Face compression by a novel geometry minimization algorithm and comparison with other 3D formats | |
US20020122035A1 (en) | Method and system for parameterized normal predictive encoding | |
US11461275B2 (en) | Compression techniques for vertices of graphic models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100914 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100927 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20101001 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110204 |
|
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: 20110222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110323 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140415 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4721072 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140415 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |