The present invention relates to a method of encoding and decoding three-dimensional (“3D”) mesh information, and more particularly, texture coordinates in the 3D mesh information, which guarantees the lossless compression of them for effective texture mapping.
3D graphics have been widely used, but it has a limitation to its use range due to heavy amount of information. A 3D model is expressed by the mesh information, which includes geometry information, connectivity information, and attribute information having normal, color and texture coordinates. The geometry information is comprised of three coordinate information expressed by floating points, and the connectivity information is expressed by an index list, in which three or more geometric primitives form one polygon. For example, if it is assumed that the geometry information is expressed by the floating points of 32 bits, 96 bits (i.e., 12 B) are needed to express one geometry information. That is, 120 KB bits are needed to express a 3D model having ten thousand vertices with only geometry information, and 1.2 MB are needed to express a three-dimensional model having hundred thousand vertices. The connectivity information requires much memory capacity to store the polygonal 3D mesh, since twice or more duplication is allowed.
For the reason of the huge amount of information, the necessity of compression has been raised. To this end, the 3D mesh coding (3DMC) which is adopted as a standard of International Organization for Standardization/International Electrotechnical Commission (ISO/IEC) in Moving Picture Expert Group-Synthetic and Natural Hybrid Coding (MPEG-4-SNHC) field improves transmission efficiency by encoding/decoding 3D mesh information expressed by IndexFaceSet (IFS) in a Virtual Reality Modeling Language (VRML) file.
As the texture mapping is widely used in 3D games or interactive graphic media, a need of lossless compression for the texture coordinates in IFS is being gradually increased. However, a conventional 3DMC has a weak not to guarantee the lossless compression of the texture coordinates after decoding through the quantization process in encoding
As described above, the conventional 3DMC has a problem in that the integer texture coordinate of the original texture image is mapped to the real number and quantized, but is not reconstructed to the original integer texture coordinate in the reconstruction process.
The present invention is directed to a method of encoding/decoding texture coordinates, which is capable of allowing the texture coordinate to be losslessly reconstructed for accurate texture mapping.
The present invention is also directed to a method of efficiently encoding/decoding texture coordinates by adaptively adjusting the quantization step size (or delta value) used for the texture coordinate quantization.
A first aspect of the present invention is to provide a method of encoding texture coordinates in 3D mesh information. The method comprises the steps of: determining an adaptive quantization step size used for texture coordinate quantization; quantizing the texture coordinates using the adaptive quantization step size; and encoding the quantized texture coordinates.
Preferably, the adaptive quantization step size may be determined as the inverse of the texture image size or may be determined using the texture coordinates.
The step of determining the adaptive quantization step size comprises the sub-steps of: checking whether the texture image size information exists or not; determining the inverse of the texture image size as a first quantization step size when the texture image size information exists; obtaining a second quantization step size using the texture coordinates; checking whether the second quantization step size is a multiple of the first quantization step size; determining the second quantization step size as the adaptive quantization step size when it is determined that the second quantization step size is a multiple of the first quantization step size; and determining the first quantization step size as the adaptive quantization step size when it is determined that the second quantization step size is not a multiple of the first quantization step size.
A second aspect of the present invention is to provide a method of encoding 3D mesh information. The method comprises a first encoding step for encoding a texture coordinate in the 3D mesh information according to above-described encoding method; a second encoding step for encoding remaining information of the 3D mesh information; and a step of producing 3D mesh coding (3DMC) packets which contain the 3D mesh information obtained by the first and second encoding steps and an adaptive quantization step size.
A third aspect of the present invention is to provide a method of decoding texture coordinates in 3DMC packets, which comprise the steps of: extracting adaptive quantization step size information from the 3DMC packet; inverse-quantizing the texture coordinates in the 3DMC packet using the extracted adaptive quantization step size; and decoding the inverse-quantized texture coordinates.
A fourth aspect of the present invention is to provide a 3DMC decoding method, which comprises (i) decoding texture coordinates in 3DMC packets according to above-described decoding method; (ii) decoding the remaining information of the 3DMC packets; and (iii) reconstructing a 3D model based on 3D mesh information generated from the decoding results in the steps (ii) and (iii).
The method of encoding/decoding the 3D mesh information for the effective texture mapping according to the present invention achieves lossless reconstruction of the texture coordinates by adaptively adjusting the quantization step size for quantizing the texture coordinates, thereby guaranteeing the accurate texture mapping.
a to 6d show the results of quantizing texture coordinates according to the conventional 3DMC scheme and the present invention;
a illustrates the rendering result after the encoding/decoding is performed according to the conventional 3DMC scheme;
The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in different forms and should not be construed as limited to the embodiments set forth herein.
An adaptive quantization step size is determined according to a method proposed by the present invention (step 320). The adaptive quantization step size is herein denoted by “delta”. A delta value comprises “delta_u” used for quantization of a u-axis coordinate value and “delta_v” for quantization of a v-axis coordinate value. Hereinafter, the delta value is referred to as a value containing both “delta_u” and “delta_v”.
The bpt value is then compared to the number of bits to represent the delta value (step 330). If the bpt value is smaller than the number of bits to represent the delta value, the texture coordinates are quantized using the fixed quantization step size 2−bpt, which is used in the conventional 3DMC process (step 340). On the other hand, if the number of bits to represent the delta value is smaller than or equal to the bpt value, the texture coordinates are quantized using the delta value (step 350). The process for obtaining the delta value according to an embodiment of the present invention will be described later with reference to
3D mesh information including the quantized texture coordinates is encoded (step 360), and 3DMC packets with the delta information are generated and transmitted (step 370).
First, it is determined whether the size information (image_size) of the texture image exists or not (step 410). When the size information of the texture image exists, the first adaptive quantization step size, delta1 (i.e., delta1_u, delta1_v) is calculated by the inverse of the image size (step 420). For example, when the image size is a*b, the delta1_u is 1/a, and delta1_v is 1/b. Alternatively, delta1_u and delta1_v may be 1/(a−1) and 1/(b−1), respectively.
Next, the second adaptive quantization step size, delta2 (i.e., delta2_u, delta2_v) is estimated using the texture coordinate values (step 430). In one embodiment, delta2 may be determined to one of the mode value, the value of greatest common divisor (GCD), the median value, the average value, the minimum value, and the maximum value of difference values between the two neighboring texture coordinate values arranged in ascending order.
It is determined whether the delta2 is a multiple of delta1 or not (step 440). When delta2 is a multiple of delta1, delta2 is determined as the adaptive quantization step size, and otherwise, delta1 is determined as the adaptive quantization step size.
Meanwhile, when it is determined that the size information of the texture image does not exist at step 410, the adaptive quantization step size (delta) is determined using the texture coordinate values (step 470). The method of estimating the adaptive quantization step size (delta) at step 470 is the same as that of estimating delta2 at step 430. The adaptive quantization step size (delta) can be determined by various other manners.
For example, when the texture image size is 800*400, since delta_u and delta_v, which are obtained according to an embodiment of the present invention, are close to divisors of 800 and 400 for u and v axes, the texture coordinate values can be reconstructed without any loss during the decoding process.
In one embodiment, in order to calculate the optimum adaptive quantization step size, the filtering is performed on the real number texture coordinates within the original VRML file. Specifically, the real number texture coordinate value is multiplied by the texture image size, round up, down or off to obtain an integer value, and then divided by the texture image size, thereby obtaining the filtered real number texture coordinate values. Table 1 shows the results of filtering on the real number texture coordinate values when the texture image size is 800*400. And also, the filtering is performed in various other manners.
When the delta information is not contained in the 3DMC packet, the texture coordinate values are inverse-quantized using the predetermined quantization step size, like the conventional 3DMC packet decoding process (step 530). On the other hand, when the delta information is contained in the 3DMC packet, the delta information is extracted from the 3DMC packet (step 540), and the texture coordinate values are inverse-quantized using the extracted delta information (step 550). The inverse-quantized texture coordinates are then decoded (step 560), and the remaining information within the 3DMC packets are also decoded (step 570). The 3D model may be reconstructed based on the 3D mesh information obtained at steps 560 and 570 (step 580).
a to 6d show the results of quantization of the texture coordinates according to the conventional 3DMC scheme and the present invention. The following 4 models available from a home page of MPEG-4-SNHC have been selected as test models.
The first method (“Method 1”) quantizes the texture coordinates using 2−bpt as the quantization step size according to the conventional 3DMC method. The second method (“Method 2”) quantizes the texture coordinates using the first adaptive quantization step size, “delta1,” (i.e., the inverse of the image size), proposed by the present invention. The third method (“Method 3”) quantizes the texture coordinates using the second adaptive quantization step size (“delta2”).
a shows the encoding results of the original VRML (IFS) files of the test models using the above-described three methods. As shown, when Method 2 is used, all test models exhibit lossless compression with a bit reduction of about 10%. When Method 3 is used, the earth model exhibits lossless compression and bit reduction of about 40%.
b shows the encoding results of the fixed VRML (IFS) files of the test models using the above-described three methods. As shown in
c shows the encoding results of the VRML (IFS) files of the test models according to the above-described three methods at the same bpt. As shown in
d shows the comparison of the encoding results between the VRML (IFS) files of the test models according to the Method 1 at the maximum bpt “16” and that according to the Method 2 or Method using the delta1 or delta2. As shown in
a illustrates the rendering result after the encoding/decoding is performed according to the conventional 3DMC scheme;
The present invention can be provided in the form of at least one computer readable program which is implemented in at least one product such as a floppy disk, a hard disk, a CD ROM, a flash memory card, a PROM, a RAM, a ROM, or a magnetic tape. The computer readable program can be implemented by a general programming language.
As described above, the method of encoding/decoding the 3D mesh information for the effective texture mapping according to the present invention achieves lossless reconstruction of the texture coordinates by adaptively adjusting the quantization step size for quantizing the texture coordinates, thereby guaranteeing the accurate texture mapping.
While the invention has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2005-0003832 | Jan 2005 | KR | national |
10-2005-0102222 | Oct 2005 | KR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/KR2006/000151 | 1/13/2006 | WO | 00 | 5/15/2007 |