1、 ISO/IEC 2014. CSA Group 2015. All rights reserved. Unauthorized reproduction is strictly prohibited.Amendment 2:2015 (IDT) toCAN/CSA-ISO/IEC 14496-16:13(ISO/IEC 14496-16:2011, IDT)National Standard of CanadaAmendment 2:2015 (IDT) to CAN/CSA-ISO/IEC 14496-16:13Information technology Coding of audio-
2、visual objects Part 16:Animation Framework eXtension (AFX)AMENDMENT 2: Multi-resolution 3D mesh compression(ISO/IEC 14496-16:2011, IDT)Standards Update ServiceAmendment 2:2015 (IDT) to CAN/CSA-ISO/IEC 14496-16:13December 2015Title: Information technology Coding of audio-visual objects Part 16: Anima
3、tionFramework eXtension (AFX)AMENDMENT 2: Multi-resolution 3D mesh compressionTo register for e-mail notification about any updates to this publication go to shop.csa.ca click on CSA Update ServiceThe List ID that you will need to register for updates to this publication is 2424069.If you require as
4、sistance, please e-mail techsupportcsagroup.org or call 416-747-2233.Visit CSA Groups policy on privacy at www.csagroup.org/legal to find out how we protect yourpersonal information.Reference numberISO/IEC 14496-16:2011/Amd.2:2014(E)ISO/IEC 2014INTERNATIONAL STANDARD ISO/IEC14496-16Fourth edition201
5、1-11-01AMENDMENT 22014-01-15Information technology Coding of audio-visual objects Part 16: Animation Framework eXtension (AFX) AMENDMENT 2: Multi-resolution 3D mesh compression Technologies de linformation Codage des objets audiovisuels Partie 16: Extension du cadre danimation (AFX) AMENDEMENT 2: Co
6、mpression de maillages 3D multirsolution ISO/IEC 14496-16:2011/Amd.2:2014(E) COPYRIGHT PROTECTED DOCUMENT ISO/IEC 2014 All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including
7、 photocopying, or posting on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below or ISOs member body in the country of the requester. ISO copyright office Case postale 56 CH-1211 Geneva 20 Tel. + 41 22 749 01 11 Fax + 41 22
8、749 09 47 E-mail copyrightiso.org Web www.iso.org ii ISO/IEC 2014 All rights reservedAmendment 2:2015 (IDT) toCAN/CSA-ISO/IEC 14496-16:13ISO/IEC 14496-16:2011/Amd.2:2014(E) ISO/IEC 2014 All rights reserved iiiForeword ISO (the International Organization for Standardization) and IEC (the Internationa
9、l Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of
10、 technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint
11、technical committee, ISO/IEC JTC 1. International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2. The main task of the joint technical committee is to prepare International Standards. Draft International Standards adopted by the joint technical committee a
12、re circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote. Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO and IEC shall not
13、be held responsible for identifying any or all such patent rights. Amendment 2 to ISO/IEC 14496-16:2011 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information. Amendment 2:2015 (IDT) to CAN/
14、CSA-ISO/IEC 14496-16:13ISO/IEC 14496-16:2011/Amd.2:2014(E) ISO/IEC 2014 All rights reserved 1Information technology Coding of audio-visual objects Part 16: Animation Framework eXtension (AFX) AMENDMENT 2: Multi-resolution 3D mesh compression Add 5.2.6: 5.2.6 Multi-Resolution 3D Mesh Coding Multi-Res
15、olution 3D Mesh Coding (MR3DMC) specifies a progressive compression approach for manifold triangular 3D meshes providing efficient rate-distortion performances and supporting the following functionalities: - Lossless connectivity coding: retrieve the original connectivity with a possible permutation
16、 of the mesh vertices/triangles. - Spatial scalability: the mesh resolution (i.e. the number of triangles/vertices) is adapted to the terminal rendering performances and to the available bandwidth. - Quality scalability: the precision of coordinates/attributes is progressively refined as the bitstre
17、am is decoded. - Near-lossless encoding of the geometry/attributes: the maximal error permitted, when the entire bitstream is decoded, is controlled by varying a set of encoder parameters. 5.2.6.1 MR3DMC Bistream structure The MR3DMC stream describes a multi-resolution representation of any triangul
18、ar mesh stored as an IndexedFaceSet, with single or multiple attributes defined per vertex of per triangle. The stream is decoded in a coarse-to-fine way by exploiting a set of spatial and quality levels of detail (LODs). The bitstream is composed of two main components (cf. Figure AMD1.1): - The he
19、ader: describing general information about the coded mesh. - The data stream: describing the mesh LODs. Amendment 2:2015 (IDT) to CAN/CSA-ISO/IEC 14496-16:13ISO/IEC 14496-16:2011/Amd.2:2014(E) 2 ISO/IEC 2014 All rights reservedFigure AMD1.1 MR3DMC stream structure The MR3DMCStream is encapsulated in
20、 an AFX stream and has the following AFX object code: Table AMD1.1 AFX object code AFX object code Object Associated node Type value of bitwrapper 0x0C Multi-Resolution 3D Mesh IndexedFaceSet 2 When used in a BIFS scene, the value of the field “type“ is 2. 5.2.6.2 MR3DMC Bitstream syntax and semanti
21、cs 5.2.6.2.1 MR3DMC Bistream structure 5.2.6.2.1.1 Syntax class MR3DMCStream MR3DMCStreamHeader header; MR3DMCStreamData data; 5.2.6.2.1.2 Semantics header: This is the header buffer of MR3DMC. data: This is the data buffer of MR3DMC. 5.2.6.2.2 MR3DMCStreamHeader class 5.2.6.2.2.1 Syntax class MR3DM
22、CStreamHeader unsigned int (32) streamSize; Amendment 2:2015 (IDT) to CAN/CSA-ISO/IEC 14496-16:13ISO/IEC 14496-16:2011/Amd.2:2014(E) ISO/IEC 2014 All rights reserved 3bit (8) simplificationMode; bit (16) numberOfSpatialLODs; float (32) creaseAngle; bit (1) ccw; bit (1) solid; bit (1) convex; bit (1)
23、 colorPerVertex; bit (1) normalPerVertex; bit (1) otherAttributesPerVertex; bit (1) isTriangularMesh; bit (1) markerBit / always set as 1 unsigned int (32) numberOfCoord; unsigned int (32) numberOfNormal unsigned int (32) numberOfTexCoord; unsigned int (32) numberOfColor; unsigned int (32) numberOfO
24、therAttributes; unsigned int (32) maxNumberOfVerticesInPatch if (numberOfOtherAttributes 0) unsigned int (8) dimensionOfOtherAttributes; if (numberOfCoord0) unsigned int (32) numberOfCoordIndex; bit(8) QPforGeometry; if (numberOfNormal0) bit(8) QPforNormal; if (numberOfColor0) bit(8) QPforColor; if
25、(numberOfTexCoord0) bit(8) QPforTexCoord; if (numberOfOtherAttributes 0) bit(8) QPforOtherAttributes if (numberOfCoord0) for(i=0;i0) for (i=0;i0) for(i=0;i0) for(i=0;i0) for(i=0;i 0 ) numberOfRefinedVerticescc+; 5.2.6.2.6.2 Semantics connectivityCurrentLOD: A TFANIndexDecoder stream (cf. 5.2.5.3.9s)
26、 describing the connectivity of the current spatial LOD. decodedVertexMapping: A bitstream of type IntArrayDecoder specifying for each vertex of the previous LOD its index the current one. numberOfConnectivitySymbols: An array of 32 bit unsigned integer specifying the number of connectivity symbols,
27、 which represent the valences of refined vertices or null in the current spatial LOD for each connected component. conquestMode: A 8-bit unsigned integer indicating conquest strategy in the current spatial LOD. Amendment 2:2015 (IDT) to CAN/CSA-ISO/IEC 14496-16:13ISO/IEC 14496-16:2011/Amd.2:2014(E)
28、8 ISO/IEC 2014 All rights reservedTable AMD1.3 MR3DMC conquest modes conquestMode Method 0 Decimating Conquest 1 Cleaning Conquest 2-255 ISO reserved valenceOfRefinedVertices: An array of integer describing the valences of inserted vertices or null symbols in order to refine the previous spatial LOD
29、. numberOfRefinedVertices: An array of 32-bit unsigned integer indicating the number of the refined vertices for each spatial LOD 5.2.6.2.7 QualityLODDecoder class 5.2.6.2.7.1 Syntax class QualityLODDecoder QualityLODHeader qualityLODMR3DMCHeader QualityLODData qualityLODMR3DMCData 5.2.6.2.7.2 Seman
30、tics qualityLODHeader: Header buffer specifying the current quality LOD properties. qualityLODData: A QualityLODData stream describing the compressed predicted approximation errors associated with the current quality LOD vertices (cf. Annex U.7) 5.2.6.2.8 QualityLODHeader class 5.2.6.2.8.1 Syntax cl
31、ass QualityLODHeader if (qualityLODEncodingStrategy = 0 ) bits(8) numberOfCurrentQPLayer; bits(32) numberOfVerticesOfCurrentQualityLOD; 5.2.6.2.8.2 Semantics numberOfCurrentQPLayer: An 8 bit integer indicating the number of QP layer in the current quality LOD. numberOfVerticesOfCurrentQualityLOD: An
32、 32 bit integer indicating the number of vertices in current quality LOD. Amendment 2:2015 (IDT) to CAN/CSA-ISO/IEC 14496-16:13ISO/IEC 14496-16:2011/Amd.2:2014(E) ISO/IEC 2014 All rights reserved 95.2.6.2.9 QualityLODData class 5.2.6.2.9.1 Syntax class QualityLODData If ( qualityLODEncodingStrategy
33、= 0 ) for ( j=0; j 5, the factors MF remain unchanged but the 2qbits increases by a factor 2 for each increment of 6 in QP. Amendment 2:2015 (IDT) to CAN/CSA-ISO/IEC 14496-16:13ISO/IEC 14496-16:2011/Amd.2:2014(E) 24 ISO/IEC 2014 All rights reservedTable U.1 Quantization Step in cascaded quantization
34、 QP 0 1 2 3 4 5 6 7 Qstep 0.625 0.6875 0.8125 0.875 1 1.125 1.25 1.375 QP 8 9 10 11 12 13 14 . Qstep 1.625 1.75 2 2.25 2.5 2.75 3.25 . Figure U.5 illustrates the quantization process for a given quality LOD to support SNR scalability functionality. Figure U.5 An illustration of quantization assignme
35、nt for each quality LOD in a given spatial LOD. U.8.2 Bit plane coding Let y denote an n-dimensional vector, which consists of the tangential components or the transform coefficients for the normal components. We first obtain the quantized vector y by uniformly quantizing each element in y with m bi
36、ts. Then, y can be represented by m bit planes with additional sign bits. Figure U.6 shows an example, in which a 9-dimensional vector is represented by five bit planes. In general, the bit planes form an m n array. The bits within the array are encoded with a context-based arithmetic coder in the r
37、aster scan order from the most significant bit (MSB) planes to the least significant bit (LSB) planes. The bits are classified into two clusters. In each column, the bits from the MSB to the first 1 bit compose the first cluster, while the other bits compose the second cluster. Most bits in the firs
38、t cluster are 0, especially when represents a coefficient vector whose energy is compacted into a small number of coefficients. The bits in the first cluster are further classified into m classes according to their bit planes, since more significant bit planes have higher probabilities for 0 bit. Th
39、us, the m classes, composing the first cluster, have different bit distributions, and hence they are encoded using different contexts. On the other hand, 0 and 1 are almost equally likely in the second cluster. Thus, the bits in the second cluster are encoded with a separate context. Moreover, after
40、 encoding the first 1 bit in each column, the corresponding sign bit is encoded using another context. In total, we employ m + 2 contexts. In Figure U.6, colors represent different contexts. yAmendment 2:2015 (IDT) to CAN/CSA-ISO/IEC 14496-16:13ISO/IEC 14496-16:2011/Amd.2:2014(E) ISO/IEC 2014 All ri
41、ghts reserved 25Figure U.6 Bit plane coding, where different colors denote different contexts. U.9 Connectivity Coding for Multi-Resolution 3D Mesh In the multi-resolution 3d mesh compression, a simplification process is generally used to obtain the LODs. The simplification method affects the compre
42、ssion performance of connectivity data as well as that of the geometry data, since vertex positions are predicatively encoded based on the mesh topology at each layer. We propose an simplification method for efficient connectivity compression performance. U.9.1 Patch-Based Simplification Our approac
43、h is based on the simplification method of Alliez and Desburn 96 and let us briefly explain their algorithm. Their method performs a sequence of patch-based vertex removals and the connectivity data are represented as removed vertices valences. From an arbitrary edge, it expands the processed region
44、 repeatedly while marking removed vertices and conquering the corresponding patches. Specifically, a boundary edge of the processed region is called a gate. The unprocessed vertex in front of the gate is referred to as the front vertex, and the front vertex and its adjacent vertices form a patch. Th
45、eir method removes the front vertex, retriangulates the patch, and tags newly processed vertices as or as shown in Fig. U.7. If the front vertex has valence equal to or larger than 7, it is not removed and a null patch is declared. After the retriangulation, their method pushes new boundary edges in
46、to the gate queue to conquer other patches later. In this way, the encoder conquers all vertices and faces, and records the valences of front vertices and the symbols for null patches for the connectivity coding. The simplification process is carried out by alternating the decimating conquest and the cleaning conquest: the former removes vertices with valences 3 6, whereas the latter removes valence-3 vertices only. Amendment 2:2015 (IDT) to CAN/CSA-ISO/IEC 14496-16:13