ISO/IEC 14496-4:2004/Amd 7:2005
(Amendment)Information technology — Coding of audio-visual objects — Part 4: Conformance testing — Amendment 7: AFX conformance extensions
Information technology — Coding of audio-visual objects — Part 4: Conformance testing — Amendment 7: AFX conformance extensions
Technologies de l'information — Codage des objets audiovisuels — Partie 4: Essai de conformité — Amendement 7: Extensions de conformité AFX
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 14496-4
Second edition
2004-12-15
AMENDMENT 7
2005-04-15
Information technology — Coding of
audio-visual objects —
Part 4:
Conformance testing
AMENDMENT 7: AFX conformance
extensions
Technologies de l'information — Codage des objets audiovisuels —
Partie 4: Essai de conformité
AMENDEMENT 7: Extensions de conformité AFX
Reference number
ISO/IEC 14496-4:2004/Amd.7:2005(E)
©
ISO/IEC 2005
ISO/IEC 14496-4:2004/Amd.7:2005(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
© ISO/IEC 2005
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's 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 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2005 – All rights reserved
ISO/IEC 14496-4:2004/Amd.7:2005(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International 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 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 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 are 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 be held responsible for identifying any or all such patent rights.
Amendment 7 to ISO/IEC 14496-4:2004 was prepared by Joint Technical Committee ISO/IEC JTC 1,
Information technology, Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia
information.
© ISO/IEC 2005 — All rights reserved iii
ISO/IEC 14496-4:2004/Amd.7:2005(E)
Information technology — Coding of audio-visual objects —
Part 4:
Conformance testing
AMENDMENT 7: AFX conformance extensions
Add the following table at the end of Table 4 in subclause 4.4.3.1 and renumber the first column.
N° Feature Reference of Test sequence and
associated method
1. SFVec4f Nurbs_curve_anim
2. CoordinateInterpolator4D Nurbs_curve_anim
3. PositionInterpolator4D Quadric_anim_st
4. extendedUpdate : PROTOlistInsertion proto_list_insertion_1, proto_list_insertion_2
5. extendedUpdate : PROTOlistDeletion proto_list_deletion_1, proto_list_deletion_2
6. extendedUpdate : PROTODeletion proto_deletion_1, proto_deletion_2
7. extendedUpdate : MultipleFieldReplacement multiple_replacement_1,
multiple_replacement_2
8. extendedUpdate : multiple_indexed_replacement_1,
MultipleIndexedFieldReplacement multiple_indexed_replacement_2
9. extendedUpdate : global_quant_1, global_quant_2
GlobalQuantizationConfiguration
10. extendedUpdate : NodeDeletionEx node_deletion_ext_1, node_deletion_ext_2
© ISO/IEC 2005 — All rights reserved 1
ISO/IEC 14496-4:2004/Amd.7:2005(E)
Add the following table at the end of Table 6 in subclause 4.4.3.3.
Name Provider Content
nd
Quadric_anim_st SGDL / Algebraic shape of the 2 degree, through Quadric node,
MINDEGO defined by 6 geometric control point in the projective space
(4D). Deformation of the shape by moving the control points.
Nurbs_curve_anim Mindego A NURBS curve is animated by changing its control points
over time.
proto_list_insertion_1 ENST First sample of proto list insertion: simple
proto_list_insertion_2 ENST Second sample of proto list insertion: complex
proto_list_deletion_1 ENST First sample of proto list deletion: simple
proto_list_deletion_2 ENST Second sample of proto list deletion: complex
proto_deletion_1 ENST First sample of proto deletion: simple
proto_deletion_2 ENST Second sample of proto deletion: complex
multiple_replacement_1 ENST First sample of multiple replacement: simple
multiple_replacement_2 ENST Second sample of multiple replacement: complex
multiple_indexed_replace ENST First sample of multiple indexed replacement: simple
ment_1
multiple_indexed_replace ENST Second sample of multiple indexed replacement: complex
ment_2
global_quant_1 ENST First sample of global quantization configuration: adding
global quantization
Second sample of global quantization configuration:
global_quant_2 ENST
removing global quantization
node_deletion_ext_1 ENST First sample of extended node deletion: simple
node_deletion_ext_2 ENST Second sample of extended node deletion: complex
Add the following subclause after 4.12.2.
4.13 Conformance on SL Extensions
4.13.1 Extended SL - Synchronization Layer Conformance
4.13.1.1 Bitstream Conformance
4.13.1.1.1 Conformance Requirements
SL-packetized bitstreams shall comply with the specifications in subclause 7.3.2 of ISO/IEC 14496-1:2004.
4.13.1.1.2 Measurement procedure
Syntax of the SL Packets shall meet the requirements of subclause 7.3.2 of ISO/IEC 14496-1:2004.
4.13.1.1.3 Tolerance
There is no tolerance for bitstream syntax checking. The diagnosis is pass or fail.
2 © ISO/IEC 2005 — All rights reserved
ISO/IEC 14496-4:2004/Amd.7:2005(E)
4.13.1.2 Terminal Conformance
4.13.1.2.1 Conformance requirement
This subclause extends the conformance requirements set by the Synchronisation Layer conformance
requirements. As such, the latter are implied here.
Each bitstream shall meet the syntactic and semantic requirements specified in ISO/IEC 14496-1:2004. The
following subclauses describe a set of semantic tests to be performed on bitstreams.
Syntax of the BIFS stream shall meet the requirements in Clause 8 of ISO/IEC 14496-11:2004.
In the description of the semantic tests, it is assumed that the bitstreams contains no errors due to
transmission or other causes. Note that packet losses can occur.
The SL layer shall recover the Access Units in the appropriate Decoding Buffer.
For each test the condition or conditions that must be satisfied are given, as well as the prerequisites or
conditions in which the test can be applied.
Note that the application of these tests requires parsing of the bitstream at the appropriate levels, which in
some cases may go as far as the slice level for video. In some cases of scrambled data, descrambling is
required before performing the test. Parsing and interpretation of the configuration of the SL-packetized
stream is also required.
4.13.1.2.2 Measurement procedure
4.13.1.2.2.1 Test of the coherence between ODProfile and SL extension.
When parsing the SLConfigDescriptor, an extension of SLConfigDescriptor is allowed only if
ODProfileLevelIndication is different from 0x01.
Note that SLExtensionDescriptor is an abstract class specified so as to be the base class of sl extensions.
4.13.1.2.2.2 Coherence of the SLExtension.
Configuration Conformance condition
DependencyPointer
Mode==1 hasESID==0
In other words hasESID!=0 implies mode==0
hasESID==1 ESID is a valid Elementary Stream Identification.
In other words an ESDescriptor with a corresponding ESID exists.
Mode==0 &&
The ESDescriptor containing this ExtendedSLConfigDescriptor shall have a
hasESID==0
streamDependenceFlag==1.
Additionally dependsOn_ES_ID should be a valide Elementary Stream Identification.
In other words an ESDescriptor with a corresponding ESID exists.
Moreover dependencyLength shall be greater than or equal to timeStampLength
Refer to section 10.2.3 entitled “SL Packet Header Configuration”for the definition of
the following terms :
streamDependenceFlag,
dependsOn_ES_ID,
timeStampLength
MarkerDescriptor
All markerLength==1
configurations
© ISO/IEC 2005 — All rights reserved 3
ISO/IEC 14496-4:2004/Amd.7:2005(E)
4.13.1.2.3 Tolerance
There is no tolerance for bitstream syntax checking. The diagnosis is pass or fail.
4.13.1.2.4 Syntax of the TRIF file.
Since M4Mux and Extension of SL require signalling of data not included in the MP4 file format. It is
necessary to use the TRIF file format defined in ISO/IEC 14496-5:2001 (definition of TRIF file format).
The syntax of the TRIF file is the following :
File structure
InitialObjectDescriptor
StreamMapTable
while (hasMorePacket)
{
SLPacketHeader
SLPayloadLength
Payload
}
StreamMapTable
While (hasMoreESIDs)
{
bit(8) ESID_HIBYTE
bit(8) ESID_LOWBYTE
}
4.13.2 M4Mux tool Conformance
4.13.2.1 Bitstream Conformance
4.13.2.1.1 Conformance Requirements
M4Mux-ed streams shall comply with the specifications in subclause 7.4.2 of ISO/IEC 14496-1:2004.
4.13.2.1.2 Measurement procedure
Syntax of the bitstream shall meet the requirements of subclause 7.4.2 of ISO/IEC 14496-1:2004.
4.13.2.1.3 Tolerance
There is no tolerance for bitstream syntax checking. The diagnosis is pass or fail.
4.13.2.2 Terminal Conformance
4.13.2.2.1 Conformance Requirements
Each bitstream shall meet the syntactic and semantic requirements specified in ISO/IEC 14496-1:2004. This
subclause describes a set of semantic tests to be performed on bitstreams. To verify whether the syntax is
correct is straight forward and therefore not required in this subclause. In the description of the semantic tests,
it is assumed that the testbed bitstream contains no errors due to transmission or other causes.
4 © ISO/IEC 2005 — All rights reserved
ISO/IEC 14496-4:2004/Amd.7:2005(E)
The FlexDemux shall recover the SL Packets in the appropriate Decoding Buffer bit-exact as presented to the
multiplex, and this for every Elementary Stream present in the M4Mux-ed stream under test.
For each test the condition or conditions that must be satisfied are given, as well as the prerequisites or
conditions in which the test can be applied. Note that the application of these tests requires parsing of the
bitstream at the appropriate levels, which in some cases may go as far as the slice level for video. In some
cases of scrambled data, descrambling is required before performing the test. Parsing and interpretation of
the configuration of the M4Mux stream is also required.
When a maximum bitrate is specified for an Elementary Stream, see subclause 7.2.6.5 of
ISO/IEC 14496-1:2004. Conformant bitstreams shall obey this constraint.
4.13.2.2.2 Measurement procedure
4.13.2.2.2.1 Test of the M4Mux packet header:
A M4Mux stream is a succession of M4Mux packets. Each M4Mux packet is built from an index (the M4Mux Channel
number) followed by the length of the M4Mux packet payload, followed by the M4Mux payload itself.
The index is on one byte.
The length field is on:
⇒ One byte, If
o there is no M4Mux ident descriptor,
o or if the M4Mux Ident descriptor indicates the use of the first M4Mux tool (type==0).
⇒ On one byte or on several bytes, If the M4Mux Ident descriptor indicates the use of the second M4Mux tool
(type==1).
Index- test if the index
⇒ is smaller than 238, that it corresponds to one M4Mux Channel declared in the M4Mux Channel
descriptor.
length If the length is
o non zero, this the Simple mode. Test if the length of the M4Mux packet, corresponds to the size of
the M4Mux packet payload, i.e. if it addresses the beginning of the next M4Mux packet. In this Simple
Mode this is equal to the length of the single encapsulated SL packet.
o zero, test if it is followed by one byte, where the five most significant bits are the
FMC_version_number, and where the three least significant bits are equal to 1. Such M4Mux
packets with a length equal to zero can be duplicated, with identical
FMC_version_number values. If this FMC_version_number does not match the version of the
referenced M4MuxChannelDescriptor that has most recently been received, the following M4Mux
packets belonging to the same M4Mux Channel cannot be parsed. The test can either wait until the
required FMC_version_number becomes available or discard the M4Mux packet.
⇒ Is equal to 238, which indicates a M4Mux packet with possible fmxClockReference samples and fmxRate, the
M4Mux stream bitrate.
length Test if the first following field is an fmxClockReference sample, if the second following field is a
fmxRate field, as they are defined in the M4Mux Timing descriptor. If the length is greater than the sum of the
lengths of the fmxClockReference sample and of the fmxRate field defined in the M4Mux Timing descriptor, test if
the remaining part of the M4Mux packet payload is composed of M4Mux decriptors (see the section about tests for
M4Mux descriptors). Test if the length of the M4Mux packet, corresponds to the size of the M4Mux packet payload, i.e.
if it addresses the beginning of the next M4Mux packet.
fmxClockReference – The sequence of fmxClockReference time stamps in a M4Mux stream constitutes a
clock reference stream. In successive M4Mux packets of that clock reference stream, the fmxClockReference
field contains encoded values which are samples of a system clock, the resolution of which is given by the
FCRResolution field within the M4Mux Timing descriptor. The constraints on the accuracy of the successive
fmxClockReference samples, allowing the reconstruction of the original system clock from the
fmxClockReference samples are defined by the application.
© ISO/IEC 2005 — All rights reserved 5
ISO/IEC 14496-4:2004/Amd.7:2005(E)
fmxRate – test that the value encoded in the fmxRate field is sufficiently large that, if all bytes between this M4Mux
packet and the next M4Mux packet of the clock reference stream are transmitted at that rate, they are delivered to the
System Decoder Model before the time the first byte of the next M4Mux packet is delivered.
⇒ Is equal to 239, which indicates a M4Mux packet with stuffing.
length: Test if the length field adresses a number of stuffing bytes and the beginning of the next M4Mux packet.
⇒ Is in the range of 240 to 255 (inclusive). This is the MuxCode Mode. Test if the MuxCode referenced as (MuxCode
= index – 240) corresponds to one MuxCode declared in one MuxCodeTableEntry of the M4Mux Codetable
descriptor.
length Test if it is followed by one byte, where the
� four most significant bits are the version field.
� four least significant bits are equal to 1.
Test if the length of the M4Mux packet, corresponds to the size of the M4Mux packet payload, i.e. if it addresses the
beginning of the next M4Mux packet. This is equal to total length of the first byte (with the four least significant bits are
equal to 1) plus the length of the multiple encapsulated SL packets.
version – If this version does not match the version of the referenced MuxCodeTableEntry that has most
recently been received, the M4Mux packet payload cannot be parsed. The test can either wait until the required
version of MuxCodeTableEntry becomes available or discard the M4Mux packet.
4.13.2.2.2.2 Test of the configuration of the M4Mux streams:
The global tests defined within the ISO/IEC 14496-1:2004 standard for the system descriptors, in terms of
descriptor' tags and lengths, apply to each M4Mux descriptors.
Five different M4Mux descriptors define the possible configuration of a M4Mux stream:
⇒ The M4Mux Timing
⇒ The M4Mux Ident
⇒ The M4Mux Channel
⇒ the M4MuxCodetable
⇒ The M4Mux BufferSize
Such descriptors may be provided by out of band means or by in-band means.
♦ tests for the M4MuxTimingDescriptor
FCR_ES_ID: Test that there is one Elementary Stream with the same ES_ID declared as an OCR_ES_ID.
The test on the FCRResolution, FCRLength and FmxRateLength fields depend on the application.
♦ tests for the M4MuxIDent descriptor
The test on the MuxID field depends on the application.
Muxtype – the encoded value shall comply with the possible values defined in the Multiplexing type table
defined within the ISO/IEC 14496 standard.
Muxmanagement – the encoded value shall comply with the possible values defined in the Multiplexing
management mode table defined within the ISO/IEC 14496 standard.
♦ Tests for the M4MuxChannel Descriptor
Tests on the first byte:
Test that the values of the version_number field are incremented by one
Test that the validity period of each M4MuxChannel Descriptor identified by its version_number is
defined:
6 © ISO/IEC 2005 — All rights reserved
ISO/IEC 14496-4:2004/Amd.7:2005(E)
o First by a 'non empty' M4MuxChannel Descriptor sent as a 'current' M4MuxChannel
Descriptor
o Second by an 'empty' M4MuxChannel Descriptor sent as a 'current' M4MuxChannel
Descriptor
Test if the two least significant bits are equal to 1.
Tests on the remaining bytes, when present:
Test that their number is a multiple of three bytes.
For each couple (ES_ID,M4MuxChannel):
o Test if the declared ES_ID corresponds to an existing ES_ID.
o Test that each ES_ID is only used once.
o Test that each M4MuxChannel is only used once.
♦ Tests for the M4MuxCodeTable Descriptor
Test that there is an integer number of MuxCodeTableEntry.
Test for all MuxCodeTableEntry, with an assigned version value, that there is only one
MuxCodeTableEntry defined
Test that a M4MuxChannel is only used once in a Slot definition in each MuxCodeTableEntry and among
the last versions of the different MuxCodeTableEntry defined.
Test for each MuxCodeTableEntry
o That there is an integer number of substructures.
o That there is an integer number of slots.
♦ Tests for the M4MuxBufferSize Descriptor
Test that there is an integer number of M4MuxBufferDescriptor.
Test that each M4MuxChannel referenced in a M4MuxBufferDescriptor is declared within the
M4MuxChannel Descriptor
Test that a M4MuxChannel is only used once in a M4MuxBufferDescriptor definition.
4.13.2.2.3 Tolerance
There is no tolerance. The diagnosis is pass or fail.
4.13.3 Test Suites
4.13.3.1 SL Extension Feature list
The test suite shall verify the features in Table AMD 7-1
The following shall be tested:
• Presence in the bitstream.
• Appropriate value of the fields after decoding
Table AMD 7-1 – SL Extension Test Suite Information
N° Feature Reference of Test sequence and associated
method
1. SLExtensionDescriptor SLExtension00
2. DependencyPointer SLExtension00
3. MarkerDescriptor SLExtension00
4. ODProfileLevelIndication SLExtension00
© ISO/IEC 2005 — All rights reserved 7
ISO/IEC 14496-4:2004/Amd.7:2005(E)
4.13.3.2 M4Mux Feature List
The following shall be tested:
• Presence in the bitstream.
• Appropriate value of the fields after decoding
Table AMD 7-2 – M4Mux Test Suite Information
N° Feature Reference of Test sequence and associated
method
1. MuxManagement FMX_DYN
dynamic management of M4Mux channel descriptors
2. MuxType FMX_DYN
dynamic management of M4Mux channel descriptors
3. MuxCodeTableEntry FMX_DYN
dynamic management of M4Mux channel descriptors
4.13.3.3 Bitstreams
Table AMD 7-3 – Bitstreams
Name Provider Content
M4Mux file with dynamic management of M4Mux channel
FMX_DYN France
Telecom descriptors
R&D
SLExtension00 France SL extension file with DependencyPointer, Marker
Telecom Descriptor
R&D
4.14 Conformance on Amendment to XMT
4.14.1 M4Mux descriptor tags in XMT
4.14.1.1 Conformance Requirements
The global tests defined within the ISO/IEC 14496-1:2004 standard for the system descriptors, in terms of
descriptor' tags and lengths, apply to each M4Mux descriptors.
The five different M4Mux descriptors that define the possible configuration of a M4Mux stream:
⇒ The M4Mux Timing
⇒ The M4Mux Ident
⇒ The M4Mux Channel
⇒ The M4MuxCodetable
⇒ The M4Mux BufferSize
Can be sent and described using the XMT syntax.
4.14.1.2 Measurement procedure
4.14.1.2.1 tests for the M4MuxTimingDescriptor
FCR_ES_ID: Test that there is one Elementary Stream with the same ES_ID. Test that this Elementary
stream is declared as an OCR_ES_ID.
8 © ISO/IEC 2005 — All rights reserved
ISO/IEC 14496-4:2004/Amd.7:2005(E)
4.14.1.2.2 tests for the M4MuxIDent descriptor
Further test may be conducted to confirm that the Muxtype and the Muxmanagement are in-line with
associated M4Mux stream.
4.14.1.2.3 Tests for the M4MuxChannel Descriptor
4.14.1.2.3.1 Tests for each M4MuxChannel Descriptor
Tests on the first byte, that the validity period of each M4MuxChannel Descriptor identified by its
version_number is correctly defined.
Tests on the remaining bytes, when present:
o Test if the declared ES_IDs correspond to an existing ES_ID.
o Test that each ES_ID is only used once.
o Test that each M4MuxChannel is only used once.
4.14.1.2.3.2 Tests for successive M4MuxChannel Descriptor
⇒ Test that the values of the version_number field are incremented by one at each descriptor
4.14.1.2.4 Tests for the M4MuxCodeTable Descriptor
⇒ Test for all MuxCodeTableEntry, with an assigned version value, that there is only one
MuxCodeTableEntry defined
⇒ Test that a M4MuxChannel is only used once in a Slot definition in each MuxCodeTableEntry and
among the last versions of the different MuxCodeTableEntry defined.
4.14.1.2.5 Tests for the M4MuxBufferSize Descriptor
⇒ Test that each M4MuxChannel referenced in a M4MuxBufferDescriptor is declared within the
M4MuxChannel Descriptor
⇒ Test that a M4MuxChannel is only used once in a M4MuxBufferDescriptor definition.
4.14.1.3 Tolerance
There is no tolerance for syntax and semantic checking. The diagnosis is pass or fail.
© ISO/IEC 2005 — All rights reserved 9
ISO/IEC 14496-4:2004/Amd.7:2005(E)
Add the following subclause after 8.3.2.
8.4 AFX (Animation Framework eXtension)
8.4.1 Bitstream conformance
8.4.1.1 Conformance Requirements
BIFS streams shall comply with the specifications in Clause 8 of ISO/IEC 14496-11:2004 and Clause 4 of
ISO/IEC 14496-16:2004.
8.4.1.2 Measurement procedure
Syntax of the BIFS stream shall meet the requirements of Clause 8 of ISO/IEC 14496-11:2004 and Clause 4
of ISO/IEC 14496-16:2004.
8.4.1.3 Tolerance
There is no tolerance for bitstream syntax checking. The diagnosis is pass or fail.
8.4.2 Terminal conformance
8.4.2.1 Conformance Requirements
The terminal shall comply with the specifications in Clause 8 of ISO/IEC 14496-11:2004 and Clause 4 of
ISO/IEC 14496-16:2004.
8.4.2.2 Measurement Procedure
The terminal shall decode successfully all the test suites listed below. A test suite is a suite of material and
measurement algorithms and associated reference algorithms.
8.4.2.2.1 AFX Feature List
The test suite shall verify the features in Table AMD 7-4. For nodes, the following shall be tested:
• Presence in the scene tree after decoding.
• Appropriate value of the fields after decoding.
Table AMD 7-4 AFX Test Suite Information
N° Feature Reference of Test sequence and associated method
This node shall be tested together with the AFX
1 BitWrapper bitstreams in subclause 8.5. Both url and buffer shall
be tested for each bitstream.
This node shall be tested together with OctreeImage,
2 DepthImage
PointTexture, and SimpleTexture nodes.
3 FFD FFD
Torus_C_LA_BIFS, Torus_C_OA_BIFS,
Humanoid_LA_BIFS, Humanoid_OA_BIFS,
4 MeshGrid Sphere_GA_BIFS,
Quad_LA_BIFS, Quad_OA_BIFS, Quad_GA_BIFS,
Cyclic_LA_BIFS, Cyclic_OA_BIFS, Cyclic_GA_BIFS
5 NonLinearDeformer Bend, taper, twist, shell
6 NurbsCurve NurbsCurve, NurbsCurve_anim
7 NurbsCurve2D NurbsCurve2D, NurbsCurve2D_anim
10 © ISO/IEC 2005 — All rights reserved
ISO/IEC 14496-4:2004/Amd.7:2005(E)
8 NurbsSurface NurbsSurface
OI_BVO_Still
OI_BVO_Anim
9 OctreeImage
OI_TBVO_Still
OI_TBVO_Anim
DI_Ortho-PT_8,
DI_Ortho-PT_32,
10 PointTexture
DI_Persp–PT_8,
DI_Persp–PT_32
PositionAnimator, PositionAnimator_discrete,
PositionAnimator_linear,
11 PositionAnimator
PositionAnimator_NURBS_interp,
PositionAnimator_paced, PositionAnimator_spline
PositionAnimator2D, PositionAnimator2D _discrete,
PositionAnimator2D _linear, PositionAnimator2D
12 PositionAnimator2D
_NURBS_interp, PositionAnimator2D _paced,
PositionAnimator2D _spline
PT_Default,
PT_Gradient1, PT_Gradient2, PT_Gradient3,
13 ProceduralTexture PT_Gradient4, PT_Gradient5,
PT_Horizon, PT_Marble, PT_PinkGranite,
PT_Brickwork, PT_Fabric
14 SBBone SkinnedModel
15 SBMuscle SkinnedModel
16 SBSegment SkinnedModel
17 SBSite SkinnedModel
18 SBSkinnedModel SkinnedModel
19 SBVCAnimation SkinnedModel
ScalarAnimator_discrete
ScalarAnimator_linear
20 ScalarAnimator
ScalarAnimator_paced
ScalarAnimator_spline
DI_Ortho-ST_Still
DI_Ortho-ST_Anim
21 SimpleTexture
DI_Persp-ST_Still
DI_Persp–ST_Anim
Ss, SS_Goldfish, SS_Britney, SS_BritneyDance,
22 SubdivisionSurface
SS_RooDance, SS_RooFlip, SS_Shark
ss_img, tagpipes, tagpipes_anim, icosa_normal,
23 SubdivSurfaceSector
icosa_concave
This node shall be tested according to subclause
24 WaveletSubdivisionSurface
8.5.5.2
8.4.2.3 Bitstreams
Name Provider Content Original wrl file
Bend Mindego NonLinearDeformer that bends a Bend.wrl
rectangular object
Cyclic_GA_BIFS V.U.B. Multi-resolution cyclic quadrilateral mesh Cyclic_MG,
(uniformSplit = 1). Cyclic_Lev0,
Animation of the gridCoord field. Cyclic_Lev1,
Cyclic_Lev2
© ISO/IEC 2005 — All rights reserved 11
ISO/IEC 14496-4:2004/Amd.7:2005(E)
Cyclic_LA_BIFS V.U.B. Multi-resolution cyclic quadrilateral mesh Cyclic_MG,
(uniformSplit = 1). Cyclic_Lev0,
Different resolution levels are displayed by Cyclic_Lev1,
animating the displayLevel field Cyclic_Lev2
Cyclic_OA_BIFS V.U.B. Multi-resolution cyclic quadrilateral mesh Cyclic_MG,
(uniformSplit = 1). Cyclic_Lev0,
Animation of the vertexOffset field. Cyclic_Lev1,
Cyclic_Lev2
DI_Ortho-PT_8 SAMSUNG Orthographic projection in DepthImage DI_Ortho-PT_8.wrl
AIT node. 8 bits representation of depth value in
PointTexture node.
DI_Ortho-PT_32 SAMSUNG Orthographic projection in DepthImage DI_Ortho-PT_32.wrl
AIT node. 32 bits representation of depth value
in PointTexture node.
DI_Ortho-ST_Still SAMSUNG Orthographic projection in DepthImage DI_Ortho-ST_Still.wrl
AIT node. Still version of SimpleTexture node.
DI_Ortho-ST_Anim SAMSUNG Orthographic projection in DepthImage DI_Ortho-ST_Anim.wrl
AIT node. Animated version of SimpleTexture
node.
DI_Persp-PT_8 SAMSUNG Perspective projection in DepthImage node. DI_Persp-PT_8.wrl
AIT 8 bits representation of depth value in
PointTexture node.
DI_Persp-PT_32 SAMSUNG Perspective projection in DepthImage node. DI_Persp-PT_32.wrl
AIT 32 bits representation of depth value in
PointTexture node.
DI_Persp-ST_Still SAMSUNG Perspective projection in DepthImage node. DI_Persp-ST_Still.wrl
AIT Still version of SimpleTexture node.
DI_Persp-ST_Anim SAMSUNG Perspective projection in DepthImage node. DI_Persp-ST_Anim.wrl
AIT Animated version of SimpleTexture node.
Humanoid_LA_ V.U.B. Multi-resolution non-homogeneous mesh Humanoid_MG,
BIFS with non-uniform distributed reference grid. Humanoid_Lev0,
Different resolution levels are displayed by Humanoid_Lev1,
animating the displayLevel field Humanoid_Lev2
Humanoid_OA_ V.U.B. Multi-resolution non-homogeneous mesh Humanoid_MG,
BIFS with non-uniform distributed reference grid. Humanoid_Lev0,
Animation of the vertexOffset field. Humanoid_Lev1,
Humanoid_Lev2
Icosa_concave Mindego Tagpipes sample with theta of three sectors Icosa_concave.wrl
animated
Icosa_normal Mindego Tagpipes sample with normal of a sector Icosa_normal.wrl
animated
NurbsCurve Mindego Draw a NURBS curve NurbsCurve.wrl
NurbsCurve_anim Mindego Animate a NURBS curve NurbsCurve_anim.wrl
NurbsCurve2D Mindego Draw a 2D NURBS curve NurbsCurve2D.wrl
NurbsCurve2D_ Mindego Animate a 2D NURBS curve NurbsCurve2D_anim.wrl
anim
NurbsSurface Mindego Draw a NURBS surface NurbsSurface.wrl
OI_BVO_Still SAMSUNG Non-use of BitWrapper node. OI_BVO_Still.wrl
AIT Non-use of voxelImageIndex.
Still version of OctreeImage node.
OI_BVO_Anim SAMSUNG Non-use of BitWrapper node. OI_BVO_Anim.wrl
AIT Non-use of voxelImageIndex.
Animated version of OctreeImage node.
OI_TBVO_Still SAMSUNG Non-use of BitWrapper node. OI_TBVO_Still.wrl
AIT Use of voxelImageIndex.
Still version of OctreeImage node.
12 © ISO/IEC 2005 — All rights reserved
ISO/IEC 14496-4:2004/Amd.7:2005(E)
OI_TBVO_Anim SAMSUNG Non-use of BitWrapper node. OI_TBVO_Anim.wrl
AIT Use of voxelImageIndex.
Animated version of OctreeImage node.
PositionAnimator Mindego PositionAnimator used as an interpolator PositionAnimator.wrl
(keyType 0, keyValueType 0)
PositionAnimator_ Mindego PositionAnimator with discrete timeline PositionAnimator_
discrete (keyType 1) discrete.wrl
PositionAnimator_ Mindego PositionAnimator with linear timeline PositionAnimator_
linear (keyType 2) linear.wrl
PositionAnimator_ Mindego PositionAnimator with NURBS path PositionAnimator_NURBS
NURBS_interp (keyValueType 1, 2, 3) and basic _interp.wrl
interpolator (keyType 0)
PositionAnimator_ Mindego PositionAnimator with paced animation PositionAnimator_paced.
paced (keyType 3) over a piecewise linear path wrl
(keyValueType 0)
PositionAnimator_ Mindego PositionAnimator with a velocity spline PositionAnimator_spline.
spline (keyType 4) over a piecewise linear path wrl
(keyValueType 0)
PT_Default Superscape Procedural texture with default values PT_Default.wrl
PT_Gradient1 Superscape Simple gradient - rectangle + single cell PT_Gradient1.wrl
PT_Gradient2 Superscape Simple gradient - brick + 16 cells + PT_Gradient2.wrl
roughness + distortion
PT_Gradient3 Superscape Simple gradient - weave + 16 cells + PT_Gradient3.wrl
roughness + distortion
PT_Gradient4 Superscape Simple gradient - hexagonal + 16 cells + PT_Gradient4.wrl
roughness + distortion
PT_Gradient5 Superscape Simple gradient - ring + 4 cells + roughness PT_Gradient5.wrl
PT_Horizon Superscape Horizon texture - high roughness + PT_Horizon.wrl
low/medium distortion
PT_Marble Superscape Marble texture - multiple bWeights + PT_Marble.wrl
unequal warpmap knots
PT_PinkGranite Superscape Granite texture - plasma based + high PT_PinkGranite.wrl
roughness
PT_Brickwork Superscape Brickwork texture - brick tiling + multiple PT_Brickwork.wrl
aWeights + multiple knots + low roughness
PT_Fabric Superscape Fabric texture - weave tiling + low PT_Fabric.wrl
roughness + low distortion + multiple
aWeights
Quad_GA_BIFS V.U.B. Multi-resolution homogeneous quadrilateral Quad_MG,
mesh (uniformSplit = 1). Quad_Lev0,
Animation of the gridCoord field. Quad_Lev1,
Quad_Lev2
Quad_LA_BIFS V.U.B. Multi-resolution homogeneous quadrilateral Quad_MG,
mesh (uniformSplit = 1). Quad_Lev0,
Different resolution levels are displayed by Quad_Lev1,
animating the displayLevel field Quad_Lev2
Quad_OA_BIFS V.U.B. Multi-resolution homogeneous quadrilateral Quad_MG,
mesh (uniformSplit = 1). Quad_Lev0,
Animation of the vertexOffset field. Quad_Lev1,
Quad_Lev2
Shell Mindego Combination of two NonLinearDeformer Shell.wrl
that twist and taper a rectangular object
SkinnedModel INT Skinned and articulated model defined by SkinnedModel.wrl
using the collection of SB nodes.
Sphere_GA_BIFS V.U.B. Multi-resolution non-homogeneous mesh. Sphere_MG,
Animation of the gridCoord field. Sphere_Lev0,
Sphere_Lev1,
Sphere_Lev2
Ss Mindego Shows a simple subdivision surface Ss.wrl
© ISO/IEC 2005 — All rights reserved 13
ISO/IEC 14496-4:2004/Amd.7:2005(E)
SS_Britney Superscape Extended Loop subdivision static biped SS_Britney.wrl
model
SS_BritneyDance Superscape Extended Loop subdivision animated biped SS_BritneyDance.wrl
model
SS_Goldfish Superscape Extended Loop subdivision textured SS_Goldfish.wrl
goldfish model
Ss_img Mindego Shows a simple subdivision surface with 4 Ss_img.wrl
sectors with a texture mapped
SS_RooDance Superscape Extended Loop subdivision animated SS_RooDance.wrl
"kangaroo" model
SS_RooFlip Superscape Extended Loop subdivision animated SS_RooFlip.wrl
"kangaroo"model
SS_Shark Superscape Extended Loop subdivision animated shark SS_Shark.wrl
model
Tagpipes Mindego Two crossing cylinders as subdivision Tagpipes.wrl
surfaces with sectors tagged
Tagpipes_anim Mindego Same as tagpipes sample with flatness of Tagpipes_anim.wrl
sectors animated
Taper Mindego NonLinearDeformer that tapers a Taper.wrl
rectangular object
Torus_C_LA_BIFS V.U.B. Multi-resolution non-homogeneous mesh Torus_MG,
with uniform distributed reference grid. Torus_Lev0,
Different resolution levels are displayed by Torus_Lev1,
animating the displayLevel field Torus_Lev2,
Torus_Lev3,
Torus_Lev4
Torus_C_OA_BIFS V.U.B. Multi-resolution non-homogeneous mesh Torus_MG,
with uniform distributed reference grid. Torus_Lev0,
Animation of the vertexOffset field. Torus_Lev1,
Torus_Lev2,
Torus_Lev3,
Torus_Lev4
Twist Mindego NonLinearDeformer that twists a Twist.wrl
rectangular object
8.4.2.4 Tolerance
There is no tolerance. The diagnosis is pass or fail.
8.4.3 Rendering conformance
8.4.3.1 Conformance Requirements
All tools with non-trivial algorithms shall be tested for rendering conformance.
8.4.3.2 Measurement procedure and tolerance
8.4.3.2.1 ProceduralTexture
Nodes : ProceduralTexture
Provider : Superscape
Bitstream : PT_Default, PT_Gradient1, PT_Gradient2, PT_Gradient3, PT_Gradient4, PT_Gradient5,
PT_Horizon, PT_Marble, PT_PinkGranite, PT_Brickwork, PT_Fabric
Procedural textures are a function of the supplied parameters.
14 © ISO/IEC 2005 — All rights reserved
ISO/IEC 14496-4:2004/Amd.7:2005(E)
While rendering is not required to be color exact - color depth will vary between terminals - the texture
structure must be pixel exact. In particular the (distorted) cell outline, cell positioning, and the interior of
plasma based textures must be preserved.
8.5 AFX Bitstreams
8.5.1 Common Conformance Point
8.5.1.1 Bitstream conformance
8.5.1.1.1 Conformance Requirements
AFX bitstreams shall comply with the objectTypeIndication and DecoderSpecificInfo specification in
subclause 7.2.6 of ISO/IEC 14496-1:2004.
8.5.1.1.2 Measurement procedure
Syntax of the AFX bitstreams shall meet the requirements of subclause 7.2.6 of ISO/IEC 14496-1:2004.
8.5.1.1.3 Tolerance
There is no tolerance for bitstream syntax checking. The diagnosis is pass or fail.
8.5.2 Interpolator Compression
Interpolator represents the key frame-based animation that is the most widely used method in graphics
animation and can be represented as various types of Interpolator nodes in BIFS. The data are represented
as a piecewise linear animation path through motion capture or other authoring tools. It has key frames that
consist of key and key value pair, where the key is a time stamp and the key value is the corresponding value
to the key. Depending on the type of animation, the key values may represent various data types: scalar
values, 3D coordinates, colors, normal vectors, or orientation (or rotation) values.
The main purpose of the Interpolator Compression(IC) tool is to provide efficient data transmission for key-
frame based animation stream. More specifically, IC provides efficient data transmission for three types of
interpolators – coordinate interpolator, orientation interpolator, and position interpolator.
Basically, IC involves one or two distinct functionalities that have emerged from the Core Experiment process
for inclusion in ISO/IEC 14496-11:2004. The functionalities are:
1. Key preserving ; coordinate interpolator, orientation interpolator, position interpolator
A. Compress interpolators while preserve key and keyValue structure for random access.
2. Path preserving ; orientation interpolator, position interpolator
A. Compress interpolators without necessarily preserving all keys and key values for maintaining
animation path.
8.5.2.1 Conformance Points
8.5.2.1.1 Covered Functionalities
The conformance points for IC covers the key preserving and path preserving. These functionalities relate to
the compressed representation of interpolator node carried by BitWrapper node as described in
ISO/IEC 14496-11:2004.
© ISO/IEC 2005 — All rights reserved 15
ISO/IEC 14496-4:2004/Amd.7:2005(E)
As for carriage of compressed representation of interpolator node using BitWrapper node, it can be carried
either in a separate stream or within the scene stream (BIFS stream). Therefore, IC also shall be tested
together with this node as described in ISO/IEC 14496-11:2004.
The following subclauses specify the normative tests for verifying conformance of IC bitstreams and IC
decoders. Those normative tests make use of test data (bitstream test suites) provided as an electronic annex
to this document, and of a software verifier specified in ISO/IEC 14496-5:2001/Amd.7 with source code
available in electronic format.
8.5.2.2 Bitstream conformance
8.5.2.2.1 Conformance Requirements
BIFS streams shall comply with the specifications in 8.9 and 7.2.2.20 of ISO/IEC 14496-11:2004.
8.5.2.2.2 Measurement procedure
Syntax of the BIFS stream shall meet the requirements of 8.9 and 7.2.2.20 of ISO/IEC 14496-11:2004.
8.5.2.2.3 Tolerance
There is no tolerance for bitstream syntax checking. The diagnosis is pass or fail.
8.5.2.3 Terminal conformance
8.5.2.3.1 Coordinate Interpolator
8.5.2.3.1.1 Conformance Requirements
Since the functionalities are not directly supported by a profile@level combination, the conformance of the
corresponding decoder shall be defined, such that the decoder conforms to the functionality. A compliant
decoder shall implement a decoding process that is equivalent to the one specified in ISO/IEC 14496-11:2004
and meets all the general requirements, defined in that document, which apply for the functionality considered,
and if it can decode bitstreams with any options or parameters with values permitted for that functionality. In
the case of using BIFS for scene representation, the decoding process that is specified in Clause 8 of
ISO/IEC 14496-1:2004 shall also be implemented.
In the following subclauses the term ‘reference decoder’ means the technical report software verifier
(ISO/IEC 14496-5:2001/Amd.7). The reference decoder is a decoder that implements precisely the decoding
process as specified in ISO/IEC 14496-11:2004.
8.5.2.3.1.2 Measurement Procedure
To test the validity of the output of a coordinate interpolator decoder that is not included in a profile@level
combination, the conformance will be performed only for the functionality independent from the existing
profiles. Every decoder shall be able to decode the bitstreams provided for key preserving functionality as
described in subclause 8.5.2.3.1.3.
16 © ISO/IEC 2005 — All rights reserved
ISO/IEC 14496-4:2004/Amd.7:2005(E)
8.5.2.3.1.3 Test Bitstreams for key preserving
♦ Test Bitstreams keypreserving#1
Purpose: Exercise the key preserving functionality of MPEG-4 Coordinate Interpolator Compression carried
in a separate stream from the scene stream (BIFS stream). The test is performed for each type of attribute
related to the key data.
File :
Bitstream info. Reference file (.dec
Test Name Attribute Bitstream (.mp4)
For key - Interpolator only)
key quantization bit size nKeyQBit is set to
ci_kp#1-1 ci_kp#1-nKQBit ci_kp#1-nKQBit
decoding 10
bIsLinearSubRegi
ci_kp#1-2 linear key decoding ci_kp#1-LinearKey ci_kp#1-LinearKey
on is enabled
bIsLinearSubRegi ci_kp#1-
ci_kp#1-3 linear key decoding ci_kp#1-NoLinearKey
on is disabled NoLinearKey
bRangeFlag is ci_kp#1- ci_kp#1-
ci_kp#1-4 key range decoding
enabled OverKeyRange OverKeyRange
bRangeFlag is
ci_kp#1-5 key range decoding ci_kp#1-KeyRange ci_kp#1-KeyRange
disabled
nDPCMOrder is
ci_kp#1-6 n-th order DPCM ci_kp#1-2ndDPCM ci_kp#1-2ndDPCM
2nd order
bShiftFlag is
ci_kp#1-7 shift operation ci_kp#1-Shift ci_kp#1-Shift
enabled
bShiftFlag is
ci_kp#1-8 shift operation ci_kp#1-NoShift ci_kp#1-NoShift
disabled
if DND and folding
ci_kp#1- ci_kp#1-
ci_kp#1-9 operations are not nDNDOrder is -1
MinusOneDNDOrder MinusOneDNDOrder
selected
ci_kp#1- ci_kp#1-
ci_kp#1-10 folding operation nDNDOrder is 0
ZeroDNDOrder ZeroDNDOrder
DND operation after ci_kp#1- ci_kp#1-
ci_kp#1-11 nDNDOrder is 3
folding operation PositiveDNDOrder PositiveDNDOrder
bKeyInvertDownF ci_kp#1- ci_kp#1-
ci_kp#1-12 key Invert down operation
lag is enabled KeyInvertDown KeyInvertDown
bKeyInvertDownF
ci_kp#1- ci_kp#1-
lag is disabled
ci_kp#1-13 SignedAAC decoding NoKeyInvertDownAn NoKeyInvertDownAn
when nDNDOrder
dSignedAAC dSignedAAC
is 1~7
bKeyInvertDownF
ci_kp#1- ci_kp#1-
lag is disabled
NoKeyInvertDownAn NoKeyInvertDownAn
ci_kp#1-14 UnsignedAAC decoding
when nDNDOrder
dUnsignedAAC dUnsignedAAC
is –1~0
© ISO/IEC 2005 — All rights reserved 17
ISO/IEC 14496-4:2004/Amd.7:2005(E)
♦ Test Bitstreams keypreserving#2
Purpose: Exercise the key preserving functionality of MPEG-4 Coordinate Interpolator Compression carried
in a separate stream from the scene stream (BIFS stream). The test is performed for each type of attribute
related to the key value data.
File :
Bitstream info. Reference file (.dec
Test Name Attribute Bitstream (.mp4)
For key value - Interpolator only)
bTranspose is
transpose mode decoding
ci_kp#2-1 ci_kp#2-bTranspose ci_kp#2-bTranspose
enabled
bTranspose is
ci_kp#2-2 vertex mode decoding ci_kp#2-bVertex ci_kp#2-bVertex
disabled
kev value quantization bit nKVQBit is set to
ci_kp#2-3 ci_kp#2-nKVQBit ci_kp#2-nKVQBit
size decoding 10
floating point number
bUse32Float is
ci_kp#2-4 decoding, which consists ci_kp#2-FPNcoding ci_kp#2-FPNcoding
enabled
of mantissa and exponent.
the decoding of the digits
of the minimum values of bAllSameMantiss
ci_kp#2- ci_kp#2-
ci_kp#2-5 each component, when all aDigitFlag is
allsamemantissadigit allsamemantissadigit
these values have the disabled
different digit
the decoding of the digits
of the minimum values of
bSameKVDigitFla
ci_kp#2-6 each component, when all ci_kp#2-samekvdigit ci_kp#2-samekvdigit
g is disabled
these values have the
same digit
the decoding of the digit of
the maximum range bMaxDigitFlag is
ci_kp#2-7 ci_kp#2-maxdigit ci_kp#2-maxdigit
among the ranges of each disabled
components
the sign of exponent of all
bAllSameExpone ci_kp#2
...
INTERNATIONAL ISO/IEC
STANDARD 14496-4
Second edition
2004-12-15
AMENDMENT 7
2005-04-15
Information technology — Coding of
audio-visual objects —
Part 4:
Conformance testing
AMENDMENT 7: AFX conformance
extensions
Technologies de l'information — Codage des objets audiovisuels —
Partie 4: Essai de conformité
AMENDEMENT 7: Extensions de conformité AFX
Reference number
ISO/IEC 14496-4:2004/Amd.7:2005(E)
©
ISO/IEC 2005
ISO/IEC 14496-4:2004/Amd.7:2005(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
This CD-ROM contains:
1) the publication ISO/IEC 14496-4:2004/Amd.7:2005 in portable document format (PDF), which can be
viewed using Adobe® Acrobat® Reader;
2) AFX Conformance Bitstreams.
Adobe and Acrobat are trademarks of Adobe Systems Incorporate
...










Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...