Information technology — Coded representation of immersive media — Part 32: Carriage of haptics data

This document specifies carriage of haptic media in ISO base media files.

Technologies de l'information — Représentation codée de média immersifs — Partie 32: Titre manque

General Information

Status
Published
Publication Date
25-Aug-2025
Current Stage
6060 - International Standard published
Start Date
26-Aug-2025
Due Date
18-Jan-2026
Completion Date
26-Aug-2025
Ref Project
Standard
ISO/IEC 23090-32:2025 - Information technology — Coded representation of immersive media — Part 32: Carriage of haptics data Released:26. 08. 2025
English language
44 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


International
Standard
ISO/IEC 23090-32
First edition
Information technology — Coded
2025-08
representation of immersive media —
Part 32:
Carriage of haptics data
Reference number
© ISO/IEC 2025
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including 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 ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
© ISO/IEC 2025 – All rights reserved
ii
Contents Page
Foreword .v
1 Scope . 1
2 Normative references . 1
3 Terms, definitions, and abbreviated terms . 1
3.1 Terms and definitions .1
3.2 Abbreviated terms .3
4 Overview . 3
4.1 General .3
4.2 Haptic media .3
4.2.1 Structure of haptic media .3
4.2.2 MIHS streams .3
4.2.3 Temporal units and MIHS samples .4
4.3 Synchronization with other media .5
4.4 Summary of referenceable code points .5
4.4.1 Brands .5
4.4.2 Sample entry types .5
4.4.3 Box types .6
4.4.4 Track reference types .6
4.4.5 Entity grouping types .7
4.4.6 Sample grouping types .7
5 Carriage of haptic coding data . 7
5.1 General .7
5.2 MIHS streams and tracks .7
5.2.1 Referencing MIHS band tracks.7
5.2.2 Grouping MIHS band tracks.8
5.2.3 MIHS band entity group .8
5.2.4 MIHS sample entry .9
5.2.5 MIHS band sample entry .9
5.2.6 MIHS configuration box .10
5.2.7 Haptic experience description box .11
5.2.8 Haptic experience description header box .11
5.2.9 Haptic avatar description box . 12
5.2.10 Haptic perception description box . 13
5.2.11 Haptic perception description header box . 13
5.2.12 Haptic reference device description box . 15
5.2.13 Haptic channel description box .17
5.2.14 Haptic channel description header box .17
5.2.15 Haptic band description box .19
5.2.16 Sample format . 20
5.2.17 Haptics presentation dependency sample group .21
5.2.18 Haptics silent unit sample group .21
6 Encapsulation and Signalling in MPEG-DASH .22
6.1 General . 22
6.2 Haptics Media MPD signalling . 22
6.3 Basic MIHS track support . 22
6.3.1 DASH segment and MPD signalling . . 22
6.4 Multiple MIHS tracks support . 22
6.4.1 Alternative tracks . 23
6.4.2 Alternative tracks with different bitrates and/or qualities . 23
6.4.3 DASH segment and MPD signalling for bitrate switching . 23
6.5 Synchronizing with other media representations . 23
6.6 Signalling of Multi-track Haptics Experiences . 23
6.6.1 Initialization and Media Segments .24

© ISO/IEC 2025 – All rights reserved
iii
6.6.2 Bitstream Switching .24
6.7 Haptics experience descriptor .24
6.7.1 The hapticsExperience XML element . 25
6.7.2 The hapticsAvatar XML element . 26
6.7.3 The hapticsPerception XML element . 26
6.7.4 The hapticsChannel XML element .27
6.7.5 The hapticsBandsDescription XML element .27
6.7.6 The hapticsBand XML element . 28
6.7.7 The hapticsReferenceDevice XML element . 28
Annex A (normative) File format toolsets and brands .30
Annex B (normative) MIME types and sub-parameters.35
Annex C (informative) Multiple MIHS tracks and alternate groups .36
Annex D (informative) Player handling of MIHS tracks .37
Annex E (normative) Haptics DASH MPD Schema .38
Annex F (informative) DASH MPD Examples . 41

© ISO/IEC 2025 – All rights reserved
iv
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.
The procedures used to develop this document and those intended for its further maintenance are described
in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for the different types
of document should be noted. This document was drafted in accordance with the editorial rules of the ISO/
IEC Directives, Part 2 (see www.iso.org/directives or www.iec.ch/members_experts/refdocs).
ISO and IEC draw attention to the possibility that the implementation of this document may involve the
use of (a) patent(s). ISO and IEC take no position concerning the evidence, validity or applicability of any
claimed patent rights in respect thereof. As of the date of publication of this document, ISO and IEC had not
received notice of (a) patent(s) which may be required to implement this document. However, implementers
are cautioned that this may not represent the latest information, which may be obtained from the patent
database available at www.iso.org/patents and https://patents.iec.ch. ISO and IEC shall not be held
responsible for identifying any or all such patent rights.
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and expressions
related to conformity assessment, as well as information about ISO's adherence to the World Trade
Organization (WTO) principles in the Technical Barriers to Trade (TBT) see www.iso.org/iso/foreword.html.
In the IEC, see www.iec.ch/understanding-standards.
This document was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information.
A list of all parts in the ISO/IEC 23090 series can be found on the ISO and IEC websites.
Any feedback or questions on this document should be directed to the user’s national standards
body. A complete listing of these bodies can be found at www.iso.org/members.html and
www.iec.ch/national-committees.

© ISO/IEC 2025 – All rights reserved
v
International Standard ISO/IEC 23090-32:2025(en)
Information technology — Coded representation of
immersive media —
Part 32:
Carriage of haptics data
1 Scope
This document specifies carriage of haptic media in ISO base media files.
2 Normative references
The following documents are referred to in the text in such a way that some or all of their content constitutes
requirements of this document. For dated references, only the edition cited applies. For undated references,
the latest edition of the referenced document (including any amendments) applies.
ISO/IEC 14496-12:2022, Information technology — Coding of audio-visual objects — Part 12: ISO base media
file format
ISO/IEC 23009-1:2022, Information technology — Dynamic adaptive streaming over HTTP (DASH) — Part 1:
Media presentation description and segment formats
ISO/IEC/DIS 23090-31, Information technology — Coded representation of immersive media — Part 31:
Haptics Coding
3 Terms, definitions, and abbreviated terms
3.1 Terms and definitions
For the purposes of this document, the terms and definitions given in ISO/IEC 23090-31 and the following apply.
ISO and IEC maintain terminology databases for use in standardization at the following addresses:
— ISO Online browsing platform: available at https:// www .iso .org/ obp
— IEC Electropedia: available at https:// www .electropedia .org/
3.1.1
band
component in a channel for containing effects for a specific range of frequencies
[SOURCE: ISO/IEC 23090-31:2025, 3.1.3]
3.1.2
channel
component in a perception containing one or more bands rendered on a device at a specific body location
[SOURCE: ISO/IEC 23090-31:2025, 3.1.4]

© ISO/IEC 2025 – All rights reserved
3.1.3
experience
top level haptic component containing perceptions and metadata
[SOURCE: ISO/IEC 23090-31:2025, 3.1.7]
3.1.4
ISOBMFF track
timed sequence of related samples (q.v.) in an ISO base media file
[SOURCE: ISO/IEC 14496-12:2022, 3.1.46, modified – “ISOBMFF” was added before “track” and Note 1 to
entry removed.]
3.1.5
MIHS band track
ISOBMFF track having the 'hapt' handler type and an MIHSBandSampleEntry
3.1.6
MIHS sample
sample belonging to an MIHS track
3.1.7
MIHS stream
bitstream conforming to the MIHS format
Note 1 to entry: MIHS format is described in ISO/IEC 23090-31.
3.1.8
MIHS track
ISOBMFF track having the 'hapt' handler type and an MIHSSampleEntry
3.1.9
metadata
global information about an experience, perception, channel or band
Note 1 to entry: ISO/IEC 14496-12 also uses the term “metadata” but with a different meaning from ISO/IEC 23090-31,
hence this clarification.
[SOURCE: ISO/IEC 23090-31:2025, 3.1.10, modified — Note 1 to entry has been added.]
3.1.10
perception
haptic perception containing one or more channels of a specific modality
[SOURCE: ISO/IEC 23090-31:2025, 3.1.16]
3.1.11
sample
all the data associated with a single time
Note 1 to entry: No two samples within a track can share the same decoding timestamp; no two samples can share the
same composition timestamp.
Note 2 to entry: In non-hint tracks, a sample is, for example, an individual frame of video, a series of video frames in
decoding order, or a compressed section of audio in decoding order; in hint tracks, a sample defines the formation of
one or more streaming packets.
[SOURCE: ISO/IEC 14496-12:2022, 3.1.34]

© ISO/IEC 2025 – All rights reserved
3.2 Abbreviated terms
ISOBMFF ISO base media file format (specified in ISO/IEC 14496-12)
MPD Media Presentation Descriptor
MIHS MPEG-I haptic stream
MPEG Moving Pictures Expert Group
MPEG-I MPEG immersive media
4 Overview
4.1 General
4.2 provides the overall architecture for the storage of MIHS streams in ISOBMFF.
4.3 provides information for synchronizing MIHS streams with other media.
4.4 provides a summary of the referenceable code points, in tabular format.
Clause 5 specifies extensions to the ISOBMFF for the storage of MIHS streams.
Clause 6 specifies encapsulation and signalling for the delivery of MIHS streams over MPEG-DASH.
4.2 Haptic media
4.2.1 Structure of haptic media
ISO/IEC 23090-31 describes haptic experiences composed of perceptions containing channels, which in turn
contafin bands, as shown in Figure 1.
Figure 1 — Structure of haptic media.
Experiences, perceptions, channels, and bands also contain metadata, which does not depend on time.
A perception may additionally contain an effect library comprising haptic effect definitions. Bands may
reference haptic effects in their containing perception’s effect library.
Bands additionally contain haptic effect definitions or references to effects in the containing perception’s
effect library to be presented at specific times, possibly following external events.
4.2.2 MIHS streams
ISO/IEC 23090-31 describes an MIHS format for streaming haptic media. An MIHS stream is composed of
MIHS units. Each MIHS unit is composed of MIHS packets.

© ISO/IEC 2025 – All rights reserved
There are several types of MIHS units: initialization, temporal, spatial, and silent; and several types of
MIHS packets: timing, experience metadata, perception metadata, channel metadata, band metadata, effect
library, and data.
Figure 2 shows the structure of the different types of MIHS units. Boxes with dashed lines denote optional
packets.
Figure 2 — MIHS stream units and packets.
An MIHS stream begins with an initialization unit. The initialization unit contains a timing packet providing
a timestamp and a timescale. The initialization unit may also contain packets with metadata for the haptic
experience, perceptions, channels, and bands, and an effect library packet.
One or more temporal or spatial units follow the initialization unit. Each temporal or spatial unit contains
one or more data packets. The data packets contain haptic effect data.
Temporal units contain a sync flag indicating whether the temporal unit is a sync unit. The data packets in
sync units do not depend on data in previous data packets.
Silent units may appear at any time in the MIHS stream to establish periods of haptic silence.
Initialization units may appear from time to time in the MIHS stream to update timing information or
provide additional metadata or effect library information.
The metadata and effect library packets in the first initialization unit of an MIHS stream, before any temporal
unit, are used as decoder configuration information for the MIHS track.
The initialization, spatial, and silent units are sync units by definition.
4.2.3 Temporal units and MIHS samples
The haptic data for the bands of a channel are stored in one or more temporal units. The data packets in each
temporal unit form an MIHS sample, as shown in Figure 3.

© ISO/IEC 2025 – All rights reserved
Figure 3 — Temporal units and MIHS samples.
MIHS samples created from temporal units that are sync units are sync samples. An MIHS sample may also
include one or more spatial units.
A silent unit results in an MIHS sample containing a single data packet with a payload size of zero.
4.3 Synchronization with other media
An MIHS track may use a 'rsyn' track reference to indicate that the MIHS track contains haptic data that are
synchronized and should be presented with the media in the referenced tracks. When an MIHS track uses a
'rsyn' track reference, the MIHS samples in the MIHS track may be grouped by the 'mhpg' sample grouping
type as specified in 5.2.17 to indicate the MIHS samples that should be presented with the referenced tracks.
If there is no SampleGroupDescriptionBox with grouping_type'mhpg', all samples in the MIHS track shall be
deemed to be dependent on the referenced tracks.
4.4 Summary of referenceable code points
4.4.1 Brands
ISO/IEC 14496-12 defines the concept of brands, which may be indicated in the FileTypeBox. Brands are
used in this document to indicate conformance to an encapsulation mode and a specific set of tools, as well
as requirements on other specifications (e.g., ISO/IEC 14496-12).
The brands specified in this document are listed in Table 1.
Table 1 — Brands specified in this document.
Brand Clause Informative description
mih1
A.2 Encapsulation of an MIHS bitstream using one or more MIHS tracks only (no MIHS band tracks)
mhb1
A.3 Encapsulation of an MIHS bitstream using one or more MIHS tracks referencing MIHS band
tracks
4.4.2 Sample entry types
The sample entry types specified in this document are listed in Table 2.

© ISO/IEC 2025 – All rights reserved
Table 2 — Sample entry types specified in this document.
Sample entry Clause Informative description
type
mih1
5.2.4 Sample entry for an MIHS track carrying haptics data or referencing one or more
MIHS band tracks
mhb1
5.2.5 Sample entry for an MIHS band track carrying haptics data
4.4.3 Box types
In the table, the box types specified in ISO/IEC 23090-32 are in bold text with links to the corresponding
clauses in the specification. Related container boxes specified in ISOBMFF are not bolded. Non-related
ISOBMFF boxes are not included in the table. Mandatory boxes are, as in ISOBMFF, marked with an asterisk.
Box types without a four-character code are marked with '-' in the structure.
The box types specified in this document are listed in Table 3
Table 3 — Box types specified in this document.
Box types, structure and cross-reference
moov     * ISOBMFF container for all the meta-
data
trak     * ISOBMFF container for an individual
track or stream
mdia    * ISOBMFF container for the media
information in a track
minf
* ISOBMFF sample information con-
tainer
stbl   * ISOBMFF sample table box, container
for the time/space map
stsd   * ISOBMFF sample descriptions (codec
types, initialization, etc.)
-   ISOBMFF haptic sample entry
mh1C  5.2.6 MIHS configuration box
hexd  5.2.7 haptic experience descrip-
tion box
hexh  5.2.8 haptic experience descrip-
tion header box
havd  5.2.9 haptic avatar description box
hprd  5.2.10 haptic perception descrip-
tion box
hprh 5.2.11 haptic perception descrip-
tion header box
hrdd 5.2.12 haptic reference device
description box
hchd 5.2.13 haptic channel description
box
hchh 5.2.14 haptic channel description
header box
hbnd 5.2.15 haptic band description box
4.4.4 Track reference types
The track reference types specified in this document are listed in Table 4.
Table 4 — Track reference types specified in this document.
Sample entry type Clause Informative description
mhbd
5.2.1 Referenced track is an MIHS band track referenced by an MIHS track

© ISO/IEC 2025 – All rights reserved
4.4.5 Entity grouping types
The entity grouping types specified in this document are listed in Table 5.
Table 5 — Entity grouping types specified in this document.
Sample entry type Clause Informative description
mhbd
5.2.2 MIHS band entity grouping for the same channel and perception
4.4.6 Sample grouping types
The sample grouping types specified in this document are listed in Table 6.
Table 6 — Sample grouping types specified in this document.
Sample entry type Clause Informative description
mhpg
5.2.17 Haptics presentation dependency sample group
5 Carriage of haptic coding data
5.1 General
This clause defines the storage of haptic media utilizing the existing capabilities of the ISOBMFF and defining
extensions, when necessary. Structural brands as well as requirements on both files and file readers shall be
in accordance with Annex A.
5.2 MIHS streams and tracks
This subclause defines the boxes and data formats for incorporating all of the data from an MIHS stream
into an MIHS track. From the data in an MIHS track, it shall be possible to construct a complete MIHS stream
and vice-versa. . Some guidelines on the handling of MIHS tracks by media players are provided in Annex D.
An ISO base media file may contain more than one MIHS track. Each MIHS track may be completely self-
contained, meaning it contains all the MIHS samples for an experience; or, it may reference one or more
MIHS band tracks which contain the MIHS samples for the experience. In the latter case, the MIHS track shall
not contain any MIHS samples—the MIHS samples shall be contained by the referenced MIHS band tracks.
The sample entries of each referenced MIHS band track shall satisfy the following conditions:
a) it shall contain all the necessary metadata in its configuration box needed for decoding the samples of
this band track without relying on the MIHS track;
b) its configuration box and haptic experience boxes shall not contradict the information in the same boxes
of the MIHS track that is referencing this MIHS band track;
c) its configuration box and haptic experience boxes shall not contain any information about the samples
in other referenced MIHS band tracks, since this information is often used by a parser to identify the
contents of this referenced MIHS band track.
5.2.1 Referencing MIHS band tracks
To link an MIHS track with associated MIHS band tracks, the track reference tool of ISO/IEC 14496-12 shall
be used. A TrackReferenceTypeBox with the reference type 'mhbd' shall be added to a TrackReferenceBox
within the TrackBox of the MIHS track. The TrackReferenceTypeBox shall contain an array of track_IDs
identifying the referenced MIHS band tracks.

© ISO/IEC 2025 – All rights reserved
5.2.2 Grouping MIHS band tracks
When multiple MIHS band tracks are used to carry the band data of the various channels of an experience's
perceptions, entity grouping according to ISO/IEC 14496-12 shall be used to identify which MIHS band
tracks are associated with each channel and perception. This is done using an MIHSBandGroupBox for each
group of MIHS band tracks belonging to the same channel and perception.
5.2.3 MIHS band entity group
5.2.3.1 Definition
'mhbg'
Box Type:
Container: GroupsListBox in a movie-level MetaBox
Mandatory: No
Quantity: Zero or more
When MIHS band tracks are used, MIHSBandGroupBoxes shall be used to group together MIHS band tracks
associated with the same channel and perception.
5.2.3.2 Syntax
aligned(8) class MIHSBandGroupBox()
extends EntityToGroupBox('mhbg'
, version=0, flags) {
unsigned int(8) perception_id;
unsigned int(8) channel_id;
for (i=0; i unsigned int(16) priority;
unsigned int(16) band_count;
for(i=0; i unsigned int(16) band_id;
}
}
}
5.2.3.3 Semantics
perception_id indicates the ID of the associated perception in the MIHS stream.
channel_id indicates the ID of the associated channel in the MIHS stream.
priority indicates the priority of the MIHS band track for delivery or decoding, lower number means higher
priority. This value is expected to be coherent with the priority values of corresponding channels and
bands in the MIHS bitstream.
band_count indicates the number of bands in this entity.
band_id indicates the ID of the associated band in the MIHS stream.

© ISO/IEC 2025 – All rights reserved
5.2.4 MIHS sample entry
5.2.4.1 Definition
'mih1'
Sample Entry Type:
Container: Sample description box('stsd')
Mandatory: Yes
Quantity: One
An MIHSSampleEntry shall contain an MIHSConfigurationBox and an a HapticExperienceDescriptionBox for
an MIHS track.
5.2.4.2 Syntax
aligned(8) class MIHSSampleEntry() extends HapticSampleEntry('mih1') {
MIHSConfigurationBox configuration;
HapticExperienceDescriptionBox experience;
}
5.2.5 MIHS band sample entry
5.2.5.1 Definition
'mhb1'
Sample Entry Type:
Container: Sample description box('stsd')
Mandatory: Yes
Quantity: Zero or more
An MIHSBandSampleEntry for an MIHS band track may contain one or more HapticBandDescriptionBox
instances. The MIHS band track shall contain the samples belonging to the bands described by these boxes.
5.2.5.2 Syntax
aligned(8) class HapticBandConfigurationBox extends FullBox('mibC’, version = 0, 0) {
unsigned int(8) perception_id;
unsigned int(8) channel_id;
}
aligned(8) class MIHSBandSampleEntry() extends HapticSampleEntry('mi1b') {
HapticBandConfigurationBox config;
HapticBandDescriptionBox bands[];
}
5.2.5.3 Semantics
perception_id indicates the unique ID of a haptic perception.
channel_id indicates the unique ID of a haptic channel within the haptic perception.

© ISO/IEC 2025 – All rights reserved
5.2.6 MIHS configuration box
5.2.6.1 Definition
'mh1C'
Box Type:
Container: MIHS sample entry ('mih1')
Mandatory: Yes
Quantity: One
An MIHSConfigurationBox contains the metadata and effect library MIHS packets necessary to decode
the MIHS samples that are in the MIHS track. As such, an MIHSConfigurationBox reflects the contents of
one or more initialization units in the MIHS stream and can be used to initialize the decoder. The timing
MIHS packets may be omitted as their contents are reflected in standard ISOBMFF boxes such as the
MediaHeaderBox (for timescale). If present, the contents of timing MIHS packets shall agree with timing
information in the standard ISOBMFF boxes.
The packet type shall have one of the values documented in Table 7.
Table 7 — Configuration packet types.
Value Type
0 Timing
1 Experience
2 Perception
3 Channel
4 Band
6 Effect library
5.2.6.2 Syntax
aligned(8) class MIHSConfigurationBox()
extends FullBox('mh1C', version = 0, flags= 0) {
unsigned int(32) configuration_packet_count;
for (int i=0; i unsigned int(6) configuration_packet_type;
unsigned int(4) configuration_packet_layer;
unsigned int(5) reserved = 0;
unsigned int(17) configuration_packet_payload_size;
bit(configuration_packet_payload_size*8)
configuration_packet_payload;
}
}
5.2.6.3 Semantics
configuration_packet_count indicates the number of packets included in the MIHSConfigurationRecord.
configuration_packet_type indicates the packet type as documented in Table 7.
configuration_packet_layer indicates the scalability layer of the packet. This value shall be same as the
MIHSLayer in the MIHS packet. Zero means the packet shall not be skipped. Larger values than zero
mean the packet may be skipped. Note that this field is unused at the container level but is there to
maintain the same syntax for the packet header defined in ISO/IEC 23090-31 and can be passed through
for decoder initialization.
configuration_packet_payload_size indicates the length in bytes of the packet payload that follows.

© ISO/IEC 2025 – All rights reserved
configuration_packet_payload contains the packet payload formatted according to ISO/IEC 23090-31 for
the packet type.
5.2.7 Haptic experience description box
5.2.7.1 Definition
'hexd'
Box Type:
Container: MIHS sample entry ('mih1')
Mandatory: Yes
Quantity: One
A HapticExperienceDescriptionBox shall contain a HapticExperienceDescriptionHeaderBox and may
contain HapticAvatarDescriptionBoxes and HapticPerceptionDescriptionBoxes describing the haptic
avatars and perceptions, respectively, that are part of the haptic experience. If present, the contents of
the HapticExperienceDescriptionBox shall agree with the corresponding contents (MIHS packets) of the
MIHSConfigurationBox.
5.2.7.2 Syntax
aligned(8) class HapticExperienceDescriptionBox()
extends Box('hexd')
HapticExperienceDescriptionHeaderBox header;
HapticAvatarDescriptionBox avatars[];
HapticPerceptionDescriptionBox perceptions[];
}
5.2.8 Haptic experience description header box
5.2.8.1 Definition
'hexh'
Box Type:
Container: Haptic experience description box ('hexd')
Mandatory: Yes
Quantity: One
A HapticExperienceDescriptionHeaderBox contains descriptive information about the haptic experience
associated with the MIHS track. The contents of the HapticExperienceDescriptionHeaderBox shall agree
with the corresponding contents (MIHS packets) of the MIHSConfigurationBox.
5.2.8.2 Syntax
aligned(8) class HapticExperienceDescriptionHeaderBox()
extends FullBox('hexh', version = 0, flags= 0) {
utf8string edition;
utf8string profile;
unsiged int(8) level;
utf8string date;
utf8string description;
}
© ISO/IEC 2025 – All rights reserved
5.2.8.3 Semantics
edition indicates the year of the edition and amendment of ISO/IEC 23090-31 that this haptic experience
conforms to, in the following format: XXXX or XXXX-Y, where XXXX is the year of publication and Y is the
amendment number, if any.
profile indicates the name of the profile used to generate the encoded stream according to the profile and
level definition in ISO/IEC 23090-31.
level indicates the number of the level used to generate the encoded stream according to the profile and
level definition in ISO/IEC 23090-31.
date indicates the human-readable creation date of the haptic experience. The date format shall follow the
ISO 8601 standard.
description contains a brief description of the haptic experience.
5.2.9 Haptic avatar description box
5.2.9.1 Definition
'havd'
Box Type:
Container: Haptic experience description box ('hexd')
Mandatory: No
Quantity: Zero or more
A HapticAvatarDescriptionBox contains descriptive information about a haptic avatar that is part of the
haptic experience. If present, the contents of each HapticAvatarDescriptionBox shall agree with the
corresponding contents (MIHS packets) of the MIHSConfigurationBox.
The avatar type shall have one of the values documented in Table 8.
Table 8 — Avatar types.
Value Type
0 Custom
1 Vibration
2 Pressure
3 Temperature
4–255 Reserved
5.2.9.2 Syntax
aligned(8) class HapticAvatarDescriptionBox()
extends FullBox('havd', version = 0, flags= 0) {
unsigned int(8) avatar_id;
unsigned int(8) level_of_detail;
unsigned int(8) avatar_type;
if (avatar_type == 0) {
utf8string mesh_uri;
utf8string scheme_uri;
}
}
© ISO/IEC 2025 – All rights reserved
5.2.9.3 Semantics
avatar_id indicates the unique ID of the avatar within the haptic experience.
level_of_detail indicates which level of detail should be used for the avatar if the avatar uses a mesh with
several levels of detail.
avatar_type indicates the type of haptic perception represented by the avatar as documented in Table 8.
mesh_uri indicates the URI to access the associated 3D mesh file. The URI shall follow the syntax defined in
RFC3986.
scheme_uri is a scheme URI that identifies the mesh format.
5.2.10 Haptic perception description box
5.2.10.1 Definition
'hprd'
Box Type:
Container: Haptic experience description box ('hexd')
Mandatory: No
Quantity: Zero or more
A HapticPerceptionDescriptionBox shall contain a HapticPerceptionDescriptionHeaderBox and may
contain HapticReferenceDeviceDescriptionBoxes and HapticChannelDescriptionBoxes describing the
reference devices and haptic channels, respectively, that are part of the haptic perception. If present, the
contents of each HapticPerceptionDescriptionBox shall agree with the corresponding contents (MIHS
packets) of the MIHSConfigurationBox.
5.2.10.2 Syntax
aligned(8) class HapticPerceptionDescriptionBox()
extends Box('hprd')
HapticPerceptionDescriptionHeaderBox header;
HapticReferenceDeviceDescriptionBox reference_devices[];
HapticChannelDescriptionBox channels[];
}
5.2.11 Haptic perception description header box
5.2.11.1 Definition
'hprh'
Box Type:
Container: Haptic perception description box ('hprd')
Mandatory: Yes
Quantity: One
A HapticPerceptionDescriptionHeaderBox contains descriptive information about a haptic perception that
is part of the haptic experience. The contents of the HapticPerceptionDescriptionHeaderBox box shall agree
with the corresponding contents (MIHS packets) of the MIHSConfigurationBox.
The haptic modality type shall have one of the values documented in Table 9.

© ISO/IEC 2025 – All rights reserved
Table 9 — Haptic modalities.
Value Modality
0 Other
1 Pressure
2 Acceleration
3 Velocity
4 Position
5 Temperature
6 Vibrotactile
7 Water
8 Wind
9 Force
10 Vibrotactile texture
11 Electrotactile
12 Stiffness
13 Friction
14 Humidity
15 User-define temporal
16 User-defined spatial
17–255 Reserved
5.2.11.2 Syntax
aligned(8) class HapticPerceptionDescriptionHeaderBox()
extends FullBox('hprh', version = 0, flags= 0) {
unsigned int(8) perception_id;
unsigned int(8) perception_modality;
unsigned int(8) avatar_id;
unsigned int(16) library_effect_count;
unsigned int(8) unit_exponent;
unsigned int(8) perception_unit_exponent;
utf8string description;
}
5.2.11.3 Semantics
perception_id indicates the unique ID of the haptic perception.
perception_modality indicates the type of perception as documented in Table 9.
avatar_id indicates the unique identifier of the associated avatar body model.
libreary_effect_count indicates the number of effects in the haptic perception's effect library.
unit_exponent refers to the power of 10 exponent for the SI unit of the independent variable.
perception_unit_exponent refers to the power of 10 exponent for the SI unit of the dependent variable.
description contains a brief description of the haptic perception. This may carry the same information as
the corresponding perception description property defined in ISO/IEC 23090-31.

© ISO/IEC 2025 – All rights reserved
5.2.12 Haptic reference device description box
5.2.12.1 Definition
'hrdd'
Box Type:
Container: Haptic perception description box ('hprd')
Mandatory: No
Quantity: Zero or more
A HapticReferenceDeviceDescriptionsBox contains descriptive information about a reference device that is
part of the haptic perception. If present, the contents of each HapticReferenceDeviceDescriptionsBox shall
agree with the corresponding contents (MIHS packets) of the MIHSConfigurationBox.
The haptic actuator type shall have one of the values documented in Table 10.
Table 10 — Haptic actuator types.
Value Actuator type
0 Unknown
1 Linear Resonant Actuator (LRA)
2 Voice Coil Actuator (VCA)
3 Eccentric Rotating Mass (ERM)
4 Piezoelectric actuator
5–15 Reserved
5.2.12.2 Syntax
aligned(8) class HapticReferenceDeviceDescriptionBox()
extends FullBox('hrdd', version = 0, flags= 0) {
unsigned int(8) device_id;
utf8string name;
unsigned int(32) body_part_mask;
unsigned int(16) optional_field_mask;
if (optional_field_mask & 0x0001) {
unsigned int(32) maximum_frequency;
}
if (optional_field_mask & 0x0002) {
unsigned int(32) minimum_frequency;
}
if (optional_field_mask & 0x0004) {
unsigned int(32) resonance_frequency;
}
if (optional_field_mask & 0x0008) {
unsigned int(32) maximum_amplitude;
}
if (optional_field_mask & 0x0010) {
unsigned int(32) impedance;
}
if (optional_field_mask & 0x0020) {
unsigned int(32) maximum_voltage;
}
if (optional_field_mask & 0x0040) {
unsigned int(32) m
...

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...