1. m76724

1.1. Abstract

Alignment between the coding and carriage specifications is essential to ensure consistent interpretation of haptics data and interoperability across systems. This contribution addresses the following: - mismatch in the definition of the haptic channel identifier (channel_id) between ISO/IEC 23090-31 [1] and ISO/IEC 23090-32 [2], - metadata dependency between MIHS Track and Referenced MIHS Band Tracks

1.2. Channel Identifier Bit-Width Alignment between ISO/IEC 23090-31 [1] and ISO/IEC 23090-32 [2]

1.2.1. Introduction

ISO/IEC 23090-31 [1] defines a scalable haptics coding framework supporting up to 65536 channels per perception through a 16-bit channel identifier (channel_id).

ISO/IEC 23090-32 [2] specifies the carriage of haptics data in ISOBMFF. However, in its current form, it constrains the channel identifier to 8 bits in several structures. This contribution proposes an alignment of the channel identifier bit-width. == Problem Statement In ISO/IEC 23090-31, the haptic channel identifier is defined as a 16-bit unsigned integer (16 uimsbf) in both metadata and data syntax.

In ISO/IEC 23090-32, the channel identifier is limited to 8 bits in multiple structures, including: • HapticChannelDescriptionHeaderBox • HapticBandConfigurationBox • MIHSBandGroupBox

This discrepancy leads to the following issues:

  • A conformant ISO/IEC 23090-31 [1] bitstream may not be representable in ISO/IEC 23090-32 [2] without loss or ambiguity

  • Channel identifiers may be truncated or collide

  • No normative behavior is defined when the number of channels exceeds 255

  • The specifications do not explicitly state that carriage restricts coding capabilities

As a result, interoperability between encoders, decoders, reference software, and delivery systems cannot be guaranteed.

1.2.2. Technical Analysis

1.2.2.1. Coding Specification (ISO/IEC 23090-31)

The channel identifier is defined as: • channelId: 16 uimsbf in readMetadataChannel() • channelId: 16 uimsbf in readData()

This allows: • up to 65536 channels per perception • channel identification scoped by (perceptionId, channelId) This design supports scalable and high-density haptic systems.

1.2.2.2. Carriage Specification (ISO/IEC 23090-32)

In ISO/IEC 23090-32, the channel identifier is carried using 8-bit fields: unsigned int(8) channel_id;

This applies to several boxes, including: • HapticChannelDescriptionHeaderBox • HapticBandConfigurationBox • MIHSBandGroupBox • This limits the number of addressable channels to 256. No normative linkage to the 16-bit definition in ISO/IEC 23090-31 is provided.

1.2.2.3. Resulting Inconsistency

Aspect ISO/IEC 23090-31 [1] ISO/IEC 23090-32 [2] Channel identifier size 16 bits 8 bits Maximum channels 65536 256 Scope Coding (MIHS) Carriage (ISOBMFF)

This creates a capability mismatch where coding features cannot always be transported.

1.2.3. Proposed Change

1.2.3.1. Alignment of Channel Identifier

It is proposed to align the channel identifier used in ISO/IEC 23090-32 [2] with the definition in ISO/IEC 23090-31 [1].

1.2.3.2. Normative Change

All occurrences of channel_id in ISO/IEC 23090-32 [2] shall be updated as follows:

unsigned int(16) channel_id;

In addition, a normative reference shall be introduced in the sub-clause 5.2 MIHS streams and tracks ISO/IEC 23090-32 [2]

The channel_id used for carriage of haptics data shall use the same bit-width and semantics as defined for the haptic channel identifier in ISO/IEC 23090-31. [1]

1.2.3.3. Affected Structures

The following structures shall be updated accordingly: • HapticChannelDescriptionHeaderBox • HapticBandConfigurationBox • MIHSBandGroupBox (and any other occurrence of channel_id in ISO/IEC 23090-32) [2]

1.2.3.4. Impact
  • Ensures full consistency between coding and carriage specifications

  • Removes artificial limitations on channel scalability

  • Enables support for advanced haptic systems with high channel counts

  • Improves interoperability across implementations

1.2.3.5. Conclusion

Aligning the channel identifier bit-width between ISO/IEC 23090-31 [1] and ISO/IEC 23090-32 [2] resolves a normative inconsistency and ensures that all conformant haptics bitstreams can be transported without loss or ambiguity.

This change improves interoperability and future-proofs the specification for scalable haptic systems.

1.3. Clarification of Metadata Dependency between MIHS Track and Referenced MIHS Band Tracks ISO/IEC 23090-32 [2]

1.3.1. Introduction

ISO/IEC 23090-32 [2] specifies the carriage of this haptics data in the ISO Base Media File Format (ISOBMFF), including both single-track and multi-track encapsulation modes. In the multi-track mode, a MIHS track may reference one or more MIHS band tracks that carry the haptic data samples associated with the experience.

1.3.2. Problem Statement

Clause 5.2 of ISO/IEC 23090-32 [2] currently specifies the following requirements for 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 […​] However, these requirements introduce ambiguity and potential inconsistency with the overall architecture defined in the specification.

In particular: • The specification defines that, in multi-track mode, the MIHS track may reference MIHS band tracks that carry the samples of the experience, while the MIHS track provides global configuration and metadata. • The MIHSConfigurationBox and associated description boxes in the MIHS track reflect initialization units and provide decoder configuration for the haptic experience.

In this context, requirement (a) implies that each MIHS band track shall be independently decodable without relying on the MIHS track. This contradicts the intended separation of responsibilities between: the MIHS track, which provides global experience-level metadata, and the MIHS band tracks, which carry band-specific data and associated metadata.

As a result: • Requirement (a) may incorrectly suggest full independence of MIHS band tracks • Requirements (b) and (c) do not clearly define the expected scope of metadata in band tracks versus the MIHS track • The current wording may lead to inconsistent implementations regarding metadata duplication and dependency handling

1.3.3. Technical Analysis

The specification ISO/IEC 23090-32 [2] defines that: • A MIHS track may either contain all samples (single-track mode) or reference MIHS band tracks that contain the samples (multi-track mode) • Metadata describing the haptic experience, perceptions, channels, and bands originates from the MIHS stream and is reflected in configuration and description boxes

In multi-track mode: • The MIHS track acts as the entry point and global description of the experience • MIHS band tracks provide band-level data and associated metadata • Track referencing and grouping mechanisms are used to associate band tracks with channels and perceptions

Therefore, requiring that each MIHS band track be decodable “without relying on the MIHS track” is not aligned with: • the referencing model • the distribution of metadata across tracks • the intended decoding workflow combining MIHS track and band tracks

1.3.4. Proposed Change

It is proposed to revise the requirements on referenced MIHS band tracks to clarify the dependency model and avoid ambiguity.The sub-clause for which the changes are proposed is 5.2 MIHS streams and tracks ISO/IEC 23090-32 [2]

1.3.4.1. Replacement of Requirement (a)

Replace: It shall contain all the necessary metadata […​] without relying on the MIHS track. with: It shall contain all band-specific metadata in its configuration box necessary for decoding the samples of this MIHS band track, while remaining consistent with the information provided in the MIHS track.

1.3.4.2. Clarification of Requirement (b)

Keep the intent but clarify wording: Its configuration box and haptic experience boxes shall be consistent with the corresponding information in the MIHS track that references this MIHS band track.

1.3.4.3. Clarification of Requirement (c)

Refine scope of metadata isolation: Its configuration box and haptic experience boxes shall only describe the samples carried in this MIHS band track and shall not include information describing samples in other MIHS band tracks.

1.3.5. Impact

The following conditions apply to ensure consistency between the MIHS track and the referenced MIHS band tracks.

  • Clarifies the dependency between MIHS track and MIHS band tracks

  • Aligns the specification with the intended multi-track architecture

  • Avoids misinterpretation regarding independent decoding of band tracks

  • Improves interoperability and consistency across implementations

1.3.6. Conclusion

The current wording of the requirements for referenced MIHS band tracks introduces ambiguity regarding metadata ownership and decoding dependencies. The proposed changes clarify that MIHS band tracks contain band-specific metadata while relying on the MIHS track for global information, ensuring consistency with the overall design of ISO/IEC 23090-32

1.4. References

[1] WG07N00832, “Text of ISO/IEC FDIS 23090-31 MPEG 3D Graphics and Haptics Coding Carriage of Haptics Data”, MPEG#145, OnLine, January 2024. [2] WG03N01412, “Text of ISO/IEC FDIS 23090-32 Carriage of Haptics Data”, MPEG#148, Kemer, Türkiye, November 2024.

2. m76726

2.1. Abstract

This contribution proposes to investigate encapsulating text-based haptics in the ISO Base Media File Format (ISOBMFF).

This version removed references to Apple Haptics and Audio Pattern.

Note from the meeting: Alignment with WG7 is required. Consideration on potential market fragmentation and bitrate efficiency.

2.2. Introduction

2.2.1. Overview

Haptics as a media type is an emerging modality that enhances the realism of the overall user experience. It can play a subtle but important role in shaping the user’s experience. It acts as a third sensory channel alongside sight and sound. Haptics introduces tactile signals making the entire user experience engaging and immersive. A haptic movie trailer [1] was released on Apple TV app on iPhone that played synchronized vibrations that matched the scene in the movie trailer.

Another key role is in accessibility. For users with visual or auditory impairments, haptic media data can act as primary signals guiding navigation, confirming actions, or alerting users to changes. For such users, haptic media becomes an alternative way of experiencing the content.

The key to achieving a rich experience with haptic media along with audio-visual is the synchronization with audio-visual media. With improper synchronization, the experience can feel poor and uncomfortable to enjoy the content as it is with audio-visual synchronization.

One common way Haptic format is described is using human-readable textual form. In MPEG, HJIF format [2] has been described which is developing using JSON providing haptic information. HJIF describes properties which when provided to a HJIF decoder synthesizes a haptic signal accordingly.

Currently, ISO/IEC 23090-32 [4] defines the encapsulation of binary MIHS unit data in ISOBMFF. There is a gap in the specification on how haptic content described in textual format can be encapsulation in ISOBMFF container.

2.2.2. Haptics JSON Interchange Format

The Haptics JSON Interchange Format (HJIF), defined in ISO/IEC 23090-31 [2], provides a structured and human-readable way to represent haptic media. It organizes haptic content using a hierarchical model. At the top level, an HJIF document defines an experience, which represents a complete haptic scene and captures the overall structure of the content. Within an experience, haptic data is grouped into one or more perceptions, each corresponding to a distinct type or modality of haptic sensation.

Each perception is further divided into channels, which represent logical streams of haptic information. A channel may map to a specific target, such as a particular body location or a group of actuators. Channels are then subdivided into bands, which capture different perceptual components of the haptic signal.

Within each band, the content is described using effects, which are the fundamental time-based units of haptic media. Effects are defined by temporal properties such as start time and duration, along with perceptual parameters like intensity, frequency, magnitude, or other modality-specific attributes. They may also include parametric descriptions, such as envelopes or modulation curves, enabling the haptic signal to evolve dynamically over time.

The timing information for a haptic signal is described with band and effects in HJIF. The ‘position’ property indicates the time offset of the effect in a band. Within each effect, keyframes are included. A keyframe has a property ‘relative_position’ which indicates the relative time of the keyframe with respect to the parent effect.

{
"version": "2025",
"profile": "Main",
"level": 1,
"date": "2026-04-01",
"description": "",
"timescale": 1000,
"perceptions": [
  {
    "id": 0,
    "channels": [
      {
        "id": 0,
        "body_part_mask": 0,
        "bands": [
          {
            "band_type": "VectorialWave",
            "lower_frequency_limit": 65,
            "upper_frequency_limit": 300,
            "effects": [
              {
                "effect_type": "Basis",
                "position": 200,
                "phase": 0.0,
                "base_signal": "Sine",
                "keyframes": [
                  {
                    "relative_position": 0,
                    "amplitude_modulation": 0.3068999946117401,
                    "frequency_modulation": 90
                  },
                  {
                    "relative_position": 1000,
                    "amplitude_modulation": 0.3068999946117401,
                    "frequency_modulation": 90
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }

2.3. Proposal

2.3.1. HJIF haptic sample entry

2.3.1.1. Description

A haptic track carrying HJIF samples is a HJIF haptic track. A HJIF haptic track contains a HJIFSampleEntry which extends HapticsSampleEntry.

The definition of a HJIFSampleEntry for type ‘hjif’ is as follows.

Sample Entry Types:

'hjif'

Container:

Sample Description Box ('stsd')

Mandatory:

Yes

Quantity:

One

aligned(8) class HJIFSampleEntry('hjif') extends HapticsSampleEntry {
	HJIFConfigurationBox config;
}

A HJIFConfigurationBox contains additional boxes HapticsPerceptionDescriptionBox and HJIFHapticsAvatarDescriptionBox as defined in ISO/IEC 23090-32. The information carried in HJIFConfigurationBox is used to configure the HJIF decoder to decode the HJIF track sample. The HJIFSampleEntry carries HapticsBandDescriptionBox which describes the band information carried in the HJIF track.

The definition of HJIFConfigurationBox is as follows.

Box Type:

'hjcf'

Container:

HJIF sample entry ('hjif')

Mandatory:

Yes

Quantity:

One

aligned(8) class HJIFConfigurationBox () extends FullBox ('hjcf',version = 0, flags = 0){
	unsigned int(8) 	version;
    	unsigned int(8) date;
    	utf8string description;
	HapticsPerceptionDescriptionBox perception;
	HapticsAvatarDescriptionBox avatar[];
	HapticsBandDescriptionBox band[];
}

version specifies the specification version in which the haptics samples are coded. date specifies the creation date of the asset description contains a brief description of the haptic experience.

2.3.1.2. HJIF sample format

An HJIF sample consists of a JSON document. The JSON document contains haptic effects as per the HJIF specification. For example, a HJIF track carrying VectorialWave band type data carries HJIF track sample which contains haptic effects as shown in the example below.

{
  "effect_type": "Basis",
  "position": 200,
  "phase": 0.0,
  "base_signal": "Sine",
  "keyframes": [
    {
      "relative_position": 0,
      "amplitude_modulation": 0.3068999946117401,
      "frequency_modulation": 90
    },
    {
      "relative_position": 1000,
      "amplitude_modulation": 0.3068999946117401,
      "frequency_modulation": 90
     }]
  }

The HJIF track sample has a time offset of 200 ms and should start playing at 200ms as the position field is set to 0. The duration of the HJIF track sample is based on the relative position of the keyframe at keyframes[0] and relative position of the keyframe at keyframes [1] is 1000ms. The HJIF sample duration is 1000 ms.

2.4. Recommendation

It is recommended to start a study on carriage of text-based haptics. It is recommended to use the proposed scheme in Section 3 as a starting point for defining the encapsulation of text-based haptics in ISOBMFF.

2.5. References

[1] F1 haptic trailer, Online, https://tv.apple.com/us/clip/haptic-trailer/umc.cmc.5834l80x7lpxvb1wqiz7uvgj7?targetId=umc.cmc.3t6dvnnr87zwd4wmvpdx5came&targetType=Movie [2] ISO/IEC 23090-31:2025 Information technology — Coded representation of immersive media Part 31: Haptics coding, Online, https://www.iso.org/standard/86122.html [3] ISO/IEC 23090-32:2025 Information technology — Coded representation of immersive media Part 32: Carriage of haptics data, Online, https://www.iso.org/standard/86443.html [4] ISO/IEC 14496-30 Information technology — Coding of audio-visual objects Part 30: Timed text and other visual overlays in ISO base media file format, Online, https://www.iso.org/standard/75394.html