ISO/IEC 23090-7:2022
(Main)Information technology -- Coded representation of immersive media
Information technology -- Coded representation of immersive media
Technologies de l'information -- Représentation codée de média immersifs
General Information
Relations
Overview
ISO/IEC 23090-7:2022, part of the ISO/IEC 23090 series, defines immersive media metadata for coded representation of immersive videos (including 360° video) and images. The standard specifies common metadata structures, syntax and semantics used to describe reference coordinate systems, rotations, content coverage, viewpoints, projection formats and region-wise packing. Its goal is to provide reusable metadata building blocks that other standards and implementations can reference when encoding, packaging or rendering immersive media.
Key technical topics and requirements
- Common metadata and coordinate systems
- Definitions for a common reference coordinate system, local/global coordinate axes, azimuth/elevation (sphere coordinates) and rotation structures.
- Data structures describing content coverage (sphere regions) and viewpoint information.
- Metadata syntax and semantics
- Detailed syntax structures and semantic rules for interpreting metadata elements such as rotation, sphere regions, and quality ranking for regions.
- Video & image metadata
- Specification of projection formats (e.g., equirectangular, cubemap) and their metadata descriptions.
- Region-wise packing formats and mapping between packed pictures and projected regions.
- Sample location mapping: mapping decoded picture sample locations to sphere coordinates and relating decoded content to global axes.
- Support for fisheye omnidirectional video metadata and associated structures.
- Data models
- Concrete metadata structures for projection formats, region-wise packing, fisheye video, and semantics for how to use them in file formats and containers.
- Reusability
- Metadata designed to be referenced by other standards and media formats; normative references include ISO/IEC 14496-12 (ISO base media file format) and ISO/IEC 23008-12 (image file format).
Practical applications
- Ensures consistent interpretation of orientation, viewport and region quality across the immersive media pipeline:
- Content creators and capture-device manufacturers (360/VR cameras, fisheye lenses) for accurate metadata embedding.
- Codec and file-format implementers for packaging immersive video in MP4/HEIF-based containers.
- Playback and rendering engines, VR/AR platforms and media players to correctly map pixels to sphere coordinates and apply viewport-based streaming.
- Streaming services and CDN workflows that use region-wise quality ranking and packing for bandwidth-efficient delivery.
Who should use this standard
- Multimedia software engineers, encoder/decoder developers, immersive media researchers, camera and headset manufacturers, and standards authors who need interoperable metadata definitions for immersive and omnidirectional content.
Related standards
- ISO/IEC 14496-12 - Coding of audio-visual objects: ISO base media file format
- ISO/IEC 23008-12 - Image file format (HEIF/HEVC-related image file support)
Keywords: ISO/IEC 23090-7, immersive media metadata, 360 video, omnidirectional video, projection formats, region-wise packing, coordinate system, fisheye video, metadata structures, sphere coordinates.
Frequently Asked Questions
ISO/IEC 23090-7:2022 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology -- Coded representation of immersive media". This standard covers: Information technology -- Coded representation of immersive media
Information technology -- Coded representation of immersive media
ISO/IEC 23090-7:2022 is classified under the following ICS (International Classification for Standards) categories: 35.040.40 - Coding of audio, video, multimedia and hypermedia information. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO/IEC 23090-7:2022 has the following relationships with other standards: It is inter standard links to ISO 10993-12:2021/Amd 1:2025, ISO/IEC 23090-7:2022/Amd 1:2024. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase ISO/IEC 23090-7:2022 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 23090-7
First edition
2022-11
Information technology — Coded
representation of immersive media —
Part 7:
Immersive media metadata
Technologies de l'information — Représentation codée de média
immersifs —
Partie 7: Métadonnées de media immersifs
Reference number
© ISO/IEC 2022
© ISO/IEC 2022
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
ii
© ISO/IEC 2022 – All rights reserved
Contents Page
Foreword .v
Introduction . vi
1 Scope . 1
2 Normative references . 1
3 Terms, definitions and symbols . 1
3.1 Terms and definitions . 1
3.2 Symbols . 4
4 Overview . 5
4.1 General . 5
4.2 Variables . 5
4.3 Processes . 5
4.4 Syntax structures . 5
5 Common metadata .6
5.1 Reference coordinate system . 6
5.2 Coordinate system rotation . 6
5.3 Common metadata data structures . 8
5.3.1 Rotation structure . 8
5.3.2 Content coverage structure . 8
5.3.3 Viewpoint information structures . 8
5.3.4 Sphere region structure . . 9
5.3.5 Spherical region-wise quality ranking - Syntax . 11
5.3.6 2D region-wise quality ranking structure- Syntax .12
5.4 Common metadata semantics .12
5.4.1 Rotation structure - Semantics .12
5.4.2 Content coverage structure - Semantics .12
5.4.3 Viewpoint information structures - Semantics .13
5.4.4 Sphere region structure - Semantics . 14
5.4.5 Spherical region-wise quality ranking - Semantics . 14
5.4.6 2D region-wise quality ranking structure - Semantics .15
6 Video and image metadata .16
6.1 Projection formats . 16
6.1.1 List of projection formats . 16
6.1.2 Equirectangular projection process . 17
6.1.3 Cubemap projection process . 17
6.2 Region-wise packing formats . 20
6.2.1 List of packing formats . 20
6.2.2 Rectangular region-wise packing process . 20
6.3 Sample location mapping process . 21
6.3.1 Relation of decoded pictures to global coordinate axes . 21
6.3.2 Mapping of luma sample locations within a decoded picture to sphere
coordinates relative to the global coordinate axes .23
6.3.3 Conversion from a sample location in a projected picture to sphere
coordinates relative to the global coordinate axes . 24
6.3.4 Conversion from a sample location of an active area in a fisheye decoded
picture to sphere coordinates relative to the global coordinate axes .25
6.4 Fisheye omnidirectional video . 27
6.5 Video and image metadata data structures . 27
6.5.1 Projection format structure - Syntax. 27
6.5.2 Region-wise packing structure . 27
6.5.3 Fisheye omnidirectional video structure .30
6.6 Video and image metadata semantics . 32
6.6.1 Projection format structure - Semantics . 32
iii
© ISO/IEC 2022 – All rights reserved
6.6.2 Region-wise packing structure . 32
6.6.3 Fisheye omnidirectional video structure .36
Bibliography . 44
iv
© ISO/IEC 2022 – All rights reserved
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).
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. Details of any patent rights identified during the development of the document will be in the
Introduction and/or on the ISO list of patent declarations received (see www.iso.org/patents) or the IEC
list of patent declarations received (see https://patents.iec.ch).
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.
v
© ISO/IEC 2022 – All rights reserved
Introduction
This document is organized as follows.
— Clauses 5 describes common metadata applicable to immersive media. This includes reference co-
ordinate system related metadata and other common metadata syntax and semantics.
— Clauses 6 describes metadata that applies to video and images. This includes projection formats and
packing region-wise formats metadata which applies to video and images.
The goal of this document is to allow reuse of the commonly defined metadata to be referenced by other
standards.
The International Organization for Standardization (ISO) and the International Electrotechnical
Commission (IEC) draw attention to the fact that it is claimed that compliance with this document may
involve the use of a patent.
ISO and IEC take no position concerning the evidence, validity and scope of this patent right.
The holder of this patent right has assured ISO and IEC that he/she is willing to negotiate licences under
reasonable and non-discriminatory terms and conditions with applicants throughout the world. In this
respect, the statement of the holder of this patent right is registered with ISO and IEC. Information may
be obtained from the patent database available at www.iso.org/patents or https://patents.iec.ch.
Attention is drawn to the possibility that some of the elements of this document may be the subject
of patent rights other than those in the patent database. ISO and IEC shall not be held responsible for
identifying any or all such patent rights.
vi
© ISO/IEC 2022 – All rights reserved
INTERNATIONAL STANDARD ISO/IEC 23090-7:2022(E)
Information technology — Coded representation of
immersive media —
Part 7:
Immersive media metadata
1 Scope
This document specifies common immersive media metadata focusing on immersive videos (including
360° videos) and images.
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, Information technology — Coding of audio-visual objects — Part 12: ISO base media file
format
ISO/IEC 23008-12, Information technology — High efficiency coding and media delivery in heterogeneous
environments — Part 12: Image file format
3 Terms, definitions and symbols
3.1 Terms and definitions
For the purposes of this document, the terms and definitions given in ISO/IEC 14496-12 and
ISO/IEC 23008-12 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
azimuth
first of the two sphere coordinates (3.1.22) describing the location of a point on the sphere
3.1.2
azimuth circle
circle on the sphere connecting all points with the same azimuth (3.1.1) value
Note 1 to entry: An azimuth circle is always a great circle (3.1.12).
3.1.3
circular image
image captured with a fisheye lens (3.1.9)
© ISO/IEC 2022 – All rights reserved
3.1.4
common reference coordinate system
3D Cartesian coordinate system with the centre being (X, Y, Z) equal to (0, 0, 0), used as the reference
coordinate system for all viewpoints within a viewpoint group (3.1.27)
3.1.5
content coverage
one or more sphere regions (3.1.23) that are covered by the content represented by the track or by an
image item
3.1.6
elevation
second of the two sphere coordinates (3.1.22) describing the location of a point on the sphere
3.1.7
elevation circle
circle on the sphere connecting all points with the same elevation (3.1.6) value
Note 1 to entry: When the elevation is zero, an elevation circle is also a great circle (3.1.12). This coincides with
the equator on Earth.
3.1.8
field of view
extent of the observable world in captured/recorded content or in a physical display device
3.1.9
fisheye lens
wide-angle camera lens that usually captures an approximately hemispherical field of view (3.1.8) and
projects it as a circular image (3.1.3)
3.1.10
fisheye video
video captured by fisheye lenses (3.1.9)
3.1.11
global coordinate axes
coordinate axes that are associated with audio, video, and images representing the same acquisition
position and intended to be rendered together
3.1.12
great circle
intersection of the sphere and a plane that passes through the centre point of the sphere
Note 1 to entry: A great circle is also known as an orthodrome or Riemannian circle.
Note 2 to entry: The centre of the sphere and the centre of a great circle are co-located.
3.1.13
guard band
area in a packed picture (3.1.16) that is not rendered but may be used to improve the rendered part of
the packed picture to avoid or mitigate visual artifacts such as seams
Note 1 to entry: Guard bands are associated with packed regions (3.1.17) as described in 6.5.2.
3.1.14
local coordinate axes
coordinate axes obtained after applying rotation to the global coordinate axes (3.1.11)
© ISO/IEC 2022 – All rights reserved
3.1.15
omnidirectional video
video and its associated audio that enable rendering according to the user's viewing orientation (3.1.26),
if consumed with a head-mounted device, or according to user's desired viewport (3.1.28), otherwise, as
if the user was in the spot where and when the media was captured
3.1.16
packed picture
picture that is represented as a coded picture in the coded video bitstream
3.1.17
packed region
region in a packed picture (3.1.16) that is mapped to a projected region (3.1.19) as specified by the region-
wise packing (3.1.21) signalling
3.1.18
projected picture
picture that has a representation format specified by an omnidirectional video (3.1.15) projection
(3.1.20) format
3.1.19
projected region
region in a projected picture (3.1.18) that is mapped to a packed region (3.1.17) as specified by the region-
wise packing (3.1.21) signalling
3.1.20
projection
inverse of the process by which the samples of a projected picture (3.1.18) are mapped to a set of
positions identified by a set of azimuth (3.1.1) and elevation (3.1.6) coordinates on a unit sphere
3.1.21
region-wise packing
inverse of the process of transformation, resizing, and relocating of packed regions (3.1.17) of a packed
picture (3.1.16) to remap to projected regions (3.1.19) of a projected picture (3.1.18)
3.1.22
sphere coordinates
azimuth (ϕ) (3.1.1) and elevation (θ) (3.1.6) that identify a location of a point on the unit sphere
3.1.23
sphere region
region on a sphere, specified either by four great circles (3.1.12) or by two azimuth circles (3.1.2) and
two elevation circles (3.1.7), or such a region on the rotated sphere after applying certain amount of
yaw, pitch, and roll rotations
3.1.24
SDL
syntactic description language
language that allows the description of a bitstream’s syntax
Note 1 to entry: Syntactic description language is defined in ISO/IEC 14496-1:2010, Clause 8.
3.1.25
tilt angle
angle indicating the amount of tilt of a sphere region (3.1.23), measured as the amount of rotation of the
sphere region along the axis originating from the sphere origin passing through the centre point of the
sphere region, where the angle value increases clockwise when looking from the origin towards the
positive end of the axis
© ISO/IEC 2022 – All rights reserved
3.1.26
viewing orientation
triple of azimuth (3.1.1), elevation (3.1.6), and tilt angle (3.1.25) characterizing the orientation that a
user is consuming the audio-visual content
Note 1 to entry: In case of image or video, viewing orientation characterizes the orientation of the viewport
(3.1.28).
3.1.27
viewpoint group
group of viewpoints that share the same common reference coordinate system (3.1.4)
3.1.28
viewport
region of omnidirectional image or video suitable for display and viewing by the user
3.2 Symbols
+ Addition.
− Subtraction (as a two-argument operator) or negation (as a unary prefix operator).
* Multiplication, including matrix multiplication.
y
x Exponentiation. Specifies x to the power of y. In other contexts, such notation is used for
superscripting not intended for interpretation as exponentiation.
/ Integer division with truncation of the result toward zero. For example, 7 / 4 and −7 / −4
are truncated to 1 and −7 / 4 and 7 / −4 are truncated to −1.
÷ Used to denote division in mathematical equations where no truncation or rounding is
intended.
x Used to denote division in mathematical equations where no truncation or rounding is
intended.
y
y
The summation of f( i ) with i taking all integer values from x up to and including y.
fi()
∑
ix=
x % y Modulus. Remainder of x divided by y, defined only for integers x and y with x >= 0 and
y > 0.
Asin( x ) The trigonometric inverse sine function, operating on an argument x that is in the range
of −1.0 to 1.0, inclusive, with an output value in the range of −π÷2 to π÷2, inclusive, in
units of radians.
Atan( x ) The trigonometric invers tangent function, operating on an argument x that is any real
number, with an output value in the range of −π÷2 to π÷2, inclusive, in units of radians.
© ISO/IEC 2022 – All rights reserved
y
Atan ; if x >0
x
y
Atan +<π ; if xy00&& >=
x
y
(3-1)
Atan2 yx, =
()
Atanni−<π ; f&xy00& <
x
π
+=; if xy=>00&& =
2
π
− ; otherwise
Cos( x ) The trigonometric cosine function operating on an argument x in units of radians.
Floor( x ) The the largest integer less than or equal to x.
Sin( x ) The trigonometric sine function operating on an argument x in units of radians.
Tan( x ) The trigonometric tangent function operating on an argument x in units of radians.
4 Overview
4.1 General
This document specifies common immersive media metadata focusing on immersive videos (including
360° videos) and images. The metadata includes co-ordinate system, projection format, and packing
region-wise formats metadata.
4.2 Variables
This document derives variables that are named by a mixture of lower case and upper case letter and
without any underscore characters.
4.3 Processes
Processes are used to describe the various operations. A process has a set of one or more inputs, a set of
one or more outputs and a sequence of operation steps.
4.4 Syntax structures
Syntax structures in this document are specified with the syntactic description language (SDL) specified
in ISO/IEC 14496-1:2010, Clause 8, with the following change: Unlike specified in ISO/IEC 14496-1:2010,
Clause 8, this document allows a variable declaration in expression1 of a for loop for(expression1;
expression2; expression3). Such a variable declaration may be used for a loop index variable with a
data type.
NOTE As specified in ISO/IEC 14496-1:2010, 8.3.6, this document allows declaring a syntax element that
is an individual element in an array. Such a declaration follows ISO/IEC 14496-1:2010, Rule A.2: typespec
name[[index]]; which declares the index-th element of the array name as an individual syntax element having
the data typespec. In the context of this document, typespec name[[index]] is only used to refer to the index
in the semantics and is actually equivalent to typespec name.
© ISO/IEC 2022 – All rights reserved
5 Common metadata
5.1 Reference coordinate system
The coordinate system consists of a unit sphere and three coordinate axes, namely the X (back-to-front)
axis, the Y (lateral, side-to-side) axis, and the Z (vertical, up) axis, where the three axes cross at the
centre of the sphere.
The location of a point on the sphere is identified by a pair of sphere coordinates azimuth (ϕ) and
elevation (θ).
Figure 5.1 specifies the relation of the sphere coordinates azimuth (ϕ) and elevation (θ) to the X, Y, and
Z coordinate axes.
Figure 5.1 — Coordinate axes and their relation to the sphere coordinates
The value ranges of azimuth is −180.0, inclusive, to 180.0, exclusive, degrees. The value range of
elevation is −90.0 to 90.0, inclusive, degrees.
5.2 Coordinate system rotation
Inputs to this process are:
— rotation_yaw (α ), rotation_pitch (β ), rotation_roll (γ ), all in units of degrees, where
d d d
rotation_yaw (α ) and rotation_roll (γ ), are in the range of −180.0, inclusive, to 180.0, exclusive,
d d
and rotation_pitch (β ) is in the range of −90.0 to 90.0, inclusive, and
d
— sphere coordinates (ϕ , θ ) relative to the local coordinate axes.
d d
Outputs of this process are:
— sphere coordinates (ϕ′, θ′) in degrees relative to the global coordinate axes.
This process specifies rotations around the three axes of the coordinate system of 5.1 where yaw (α )
d
expresses a rotation around the Z axis, pitch (β ) rotates around the Y axis, and roll (γ ) rotates around
d d
the X axis. Rotations are extrinsic, i.e. around X, Y, and Z fixed reference axes. The angles increase
clockwise when looking from the origin towards the positive end of an axis, as illustrated in Figure 5.2.
© ISO/IEC 2022 – All rights reserved
Figure 5.2 — Illustration of the directions of the yaw, pitch, and roll rotations
When any of the yaw (α ), pitch (β ) and roll (γ ) rotation angles is not equal to zero, an OMAF player
d d d
needs to apply the sphere rotation process specified in this clause to convert the local coordinate axes
to the global coordinate axes.
It is assumed that the global coordinate systems for different media types were made aligned during
content production.
The outputs are derived as follows:
ϕ = ϕ * π ÷ 180
d
θ = θ * π ÷ 180
d
α = α * π ÷ 180
d
β = β * π ÷ 180
d
γ = γ * π ÷ 180
d
x = Cos( ϕ ) * Cos( θ )
y = Sin( ϕ ) * Cos( θ )
z = Sin( θ )
x = Cos( β ) * Cos ( α ) * x − Cos( β ) * Sin( α ) * y + Sin( β ) * z
2 1 1 1
y = ( Cos( γ ) * Sin( α ) + Sin( γ ) * Sin( β ) * Cos( α ) ) * x +
2 1
( Cos( γ ) * Cos( α ) − Sin( γ ) * Sin( β ) * Sin( α ) ) * y −
Sin( γ ) * Cos( β ) * z
z = ( Sin( γ ) * Sin( α ) − Cos( γ ) * Sin( β ) * Cos( α ) ) * x +
2 1
( Sin( γ ) * Cos( α ) + Cos( γ ) * Sin( β ) * Sin( α ) ) * y +
Cos( γ ) * Cos( β ) * z
© ISO/IEC 2022 – All rights reserved
ϕ′ = Atan2( y , x ) * 180 ÷ π
2 2
θ′ = Asin( z ) * 180 ÷ π
5.3 Common metadata data structures
5.3.1 Rotation structure
5.3.1.1 Definition
The fields in this structure provides the yaw, pitch, and roll angles, respectively, of the rotation to be
applied to convert the local coordinate axes to the global coordinate axes. In the case of stereoscopic
omnidirectional video, the fields apply to each view individually.
5.3.1.2 Syntax
aligned(8) class RotationStruct() {
signed int(32) rotation_yaw;
signed int(32) rotation_pitch;
signed int(32) rotation_roll;
}
5.3.2 Content coverage structure
5.3.2.1 Definition
The fields in this structure provides the content coverage, which is expressed by one or more sphere
regions covered by the content, relative to the global coordinate axes.
5.3.2.2 Syntax
aligned(8) class ContentCoverageStruct() {
unsigned int(8) coverage_shape_type;
unsigned int(8) num_regions;
unsigned int(1) view_idc_presence_flag;
if (view_idc_presence_flag == 0) {
unsigned int(2) default_view_idc;
bit(5) reserved = 0;
} else
bit(7) reserved = 0;
for ( i = 0; i < num_regions; i++) {
if (view_idc_presence_flag == 1) {
unsigned int(2) view_idc[i];
bit(6) reserved = 0;
}
SphereRegionStruct(1, 1);
}
}
5.3.3 Viewpoint information structures
5.3.3.1 Definition
The ViewpointPosStruct(), ViewpointGpsPositionStruct(), ViewpointGeomagneticInfoStruct(), Vie
wpointGlobalCoordinateSysRotationStruct(), and ViewpointGroupStruct() provide information of
a viewpoint, including (X, Y, Z) position of the viewpoint, GPS position of the viewpoint, geomagnetic
position information for the viewpoint, and the yaw, pitch, and roll rotation angles of X, Y, and Z
axes, respectively, of the global coordinate system of the viewpoint relative to the common reference
coordinate system, and viewpoint group information.
© ISO/IEC 2022 – All rights reserved
5.3.3.2 Syntax
aligned(8) ViewpointPosStruct() {
signed int(32) viewpoint_pos_x;
signed int(32) viewpoint_pos_y;
signed int(32) viewpoint_pos_z;
}
aligned(8) class ViewpointGpsPositionStruct() {
signed int(32) viewpoint_gpspos_longitude;
signed int(32) viewpoint_gpspos_latitude;
signed int(32) viewpoint_gpspos_altitude;
}
aligned(8) class ViewpointGeomagneticInfoStruct() {
signed int(32) viewpoint_geomagnetic_yaw;
signed int(32) viewpoint_geomagnetic_pitch;
signed int(32) viewpoint_geomagnetic_roll;
}
aligned(8) class ViewpointGlobalCoordinateSysRotationStruct() {
signed int(32) viewpoint_gcs_yaw;
signed int(32) viewpoint_gcs_pitch;
signed int(32) viewpoint_gcs_roll;
}
aligned(8) class ViewpointGroupStruct() {
unsigned int(8) vwpt_group_id;
utf8string vwpt_group_description;
}
5.3.4 Sphere region structure
5.3.4.1 Definition
The sphere region structure (SphereRegionStruct) specifies a sphere region.
When centre_tilt is equal to 0, the sphere region specified by this structure is derived as follows:
— If both azimuth_range and elevation_range are equal to 0, the sphere region specified by this
structure is a point on a spherical surface.
— Otherwise, the sphere region is defined using variables centreAzimuth, centreElevation, cAzimuth1,
cAzimuth, cElevation1, and cElevation2 derived as follows:
centreAzimuth = centre_azimuth ÷ 65536
centreElevation = centre_elevation ÷ 65536
cAzimuth1 = ( centre_azimuth – azimuth_range ÷ 2 ) ÷ 65536
(5-1)
cAzimuth2 = ( centre_azimuth + azimuth_range ÷ 2 ) ÷ 65536
cElevation1 = ( centre_elevation – elevation_range ÷ 2 ) ÷ 65536
cElevation2 = ( centre_elevation + elevation_range ÷ 2 ) ÷ 65536
The sphere region is defined as follows with reference to the shape type value specified in the semantics
of the structure containing this instance of SphereRegionStruct:
— When the shape type value is equal to 0, the sphere region is specified by four great circles defined
by four points cAzimuth1, cAzimuth2, cElevation1, cElevation2 and the centre point defined by
centreAzimuth and centreElevation and as shown in Figure 5.3.
— When the shape type value is equal to 1, the sphere region is specified by two azimuth circles and
two elevation circles defined by four points cAzimuth1, cAzimuth2, cElevation1, cElevation2 and
the centre point defined by centreAzimuth and centreElevation and as shown in Figure 5.4.
When centre_tilt is not equal to 0, the sphere region is firstly derived as above and then a tilt rotation
is applied along the axis originating from the sphere origin passing through the centre point of the
sphere region, where the angle value increases clockwise when looking from the origin towards the
positive end of the axis. The final sphere region is the one after applying the tilt rotation.
© ISO/IEC 2022 – All rights reserved
Shape type value equal to 0 specifies that the sphere region is specified by four great circles as
illustrated in Figure 5.3.
Key
1 (centreAzimuth, centreElevation)
2 cAzimuth2
3 cElevation1
4 cAzimuth1
5 cElevation2
Figure 5.3 — A sphere region specified by four great circles
Shape type value equal to 1 specifies that the sphere region is specified by two azimuth circles and two
elevation circles as illustrated in Figure 5.4.
© ISO/IEC 2022 – All rights reserved
Key
1 (centreAzimuth, centreElevation)
2 cAzimuth2
3 cElevation1
4 cAzimuth1
5 cElevation2
Figure 5.4 — A sphere region specified by two azimuth circles and two elevation circles
Shape type values greater than 1 are reserved.
5.3.4.2 Syntax
aligned(8) SphereRegionStruct(range_included_flag, interpolate_included_flag) {
signed int(32) centre_azimuth;
signed int(32) centre_elevation;
signed int(32) centre_tilt;
if (range_included_flag) {
unsigned int(32) azimuth_range;
unsigned int(32) elevation_range;
}
if (interpolate_included_flag) {
unsigned int(1) interpolate;
bit(7) reserved = 0;
}
}
5.3.5 Spherical region-wise quality ranking - Syntax
aligned(8) class SphereRegionQualityRankingStruct() {
unsigned int(8) region_definition_type;
unsigned int(8) num_regions;
unsigned int(1) remaining_area_flag;
unsigned int(1) view_idc_presence_flag;
unsigned int(1) unspecified_flag;
unsigned int(4) quality_type;
bit(1) reserved = 0;
if (view_idc_presence_flag == 0) {
unsigned int(2) default_view_idc;
bit(6) reserved = 0;
}
for (i = 0; i < num_regions; i++) {
unsigned int(8) quality_ranking;
if (view_idc_presence_flag == 1) {
unsigned int(2) view_idc;
© ISO/IEC 2022 – All rights reserved
bit(6) reserved = 0;
}
if (quality_type == 1) {
unsigned int(16) orig_width;
unsigned int(16) orig_height;
}
if ((i < (num_regions − 1)) || (remaining_area_flag == 0))
SphereRegionStruct(1, 1);
}
}
5.3.6 2D region-wise quality ranking structure- Syntax
aligned(8) class 2DRegionQualityRankingStruct() {
unsigned int(8) num_regions;
unsigned int(1) remaining_area_flag;
unsigned int(1) view_idc_presence_flag;
unsigned int(1) unspecified_flag;
unsigned int(4) quality_type;
bit(1) reserved = 0;
if (view_idc_presence_flag == 0) {
unsigned int(2) default_view_idc;
bit(6) reserved = 0;
}
for (i = 0; i < num_regions; i++) {
unsigned int(8) quality_ranking;
if (view_idc_presence_flag == 1) {
unsigned int(2) view_idc;
bit(6) reserved = 0;
}
if (quality_type == 1) {
unsigned int(16) orig_width;
unsigned int(16) orig_height;
}
if ((i < (num_regions - 1)) || (remaining_area_flag == 0)) {
unsigned int(16) left_offset;
unsigned int(16) top_offset;
unsigned int(16) region_width;
unsigned int(16) region_height;
}
}
}
5.4 Common metadata semantics
5.4.1 Rotation structure - Semantics
rotation_yaw, rotation_pitch, and rotation_roll specify the yaw, pitch, and roll angles, respectively,
of the rotation that is applied to the unit sphere to convert the local coordinate axes to the global
−16
coordinate axes, in units of 2 degrees, relative to the global coordinate axes. rotation_yaw shall
16 16
be in the range of −180 * 2 to 180 *2 − 1, inclusive. rotation_pitch shall be in the range of
16 16 16 16
−90 * 2 to 90 * 2 , inclusive. rotation_roll shall be in the range of −180 * 2 to 180 * 2 − 1,
inclusive.
5.4.2 Content coverage structure - Semantics
coverage_shape_type specifies the shape of the sphere regions expressing the content coverage.
coverage_shape_type has the same semantics as shape_type specified in 5.4.1. The value of
coverage_shape_type is used as the shape type value when applying 5.3.4 to the semantics of
ContentCoverageStruct.
num_regions specifies the number of sphere regions. Value 0 is reserved.
view_idc_presence_flag equal to 0 specifies that view_idc[i] is not present. view_idc_presence_flag
equal to 1 specifies that view_idc[i] is present and indicates the association of sphere regions with
particular (left, right, or both) views.
© ISO/IEC 2022 – All rights reserved
default_view_idc equal to 0 indicates that each sphere region is monoscopic, 1 indicates that each
sphere region is on the left view of a stereoscopic content, 2 indicates that each sphere region is on
the right view of a stereoscopic content, 3 indicates that each sphere region is on both the left and
right views.
view_idc[i] equal to 1 indicates that the i-th sphere region is on the left view of a stereoscopic content,
2 indicates the i-th sphere region is on the right view of a stereoscopic content, and 3 indicates that
the i-th sphere region is on both the left and right views. view_idc[i] equal to 0 is reserved.
NOTE view_idc_presence_flag equal to 1 enables indicating asymmetric stereoscopic coverage. For
example, one example of an asymmetric stereoscopic coverage can be described by setting num_regions
equal to 2, indicating one sphere region to be on the left view covering the azimuth range of −90° to 90°,
inclusive, and indicating the other sphere region to be on the right view covering the azimuth range of −60 to
60°, inclusive.
When SphereRegionStruct(1, 1) is included in the ContentCoverageStruct(), 5.3.4 applies and
interpolate shall be equal to 0.
The content coverage is specified by the union of num_regions SphereRegionStruct(1, 1) structure(s).
When num_regions is greater than 1, the content coverage may be non-contiguous.
5.4.3 Viewpoint information structures - Semantics
viewpoint_pos_x, viewpoint_pos_y, and viewpoint_pos_z specify the position of the viewpoint (when
the position of the viewpoint is static) or the initial position of viewpoint (when the position of the
−1
viewpoint is dynamic), in units of 10 millimeters, in 3D space, relative to the common reference
coordinate system. If a viewpoint is associated with a timed metadata track with sample entry
type 'dyvp', the position of the viewpoint is dynamic. Otherwise, the position of the viewpoint is
static. In the former case, the dynamic position of the viewpoint is signalled in the associated timed
metadata track with sample entry type 'dyvp'.
−23
viewpoint_gpspos_longitude indicates the longitude of the geolocation of the viewpoint in units of 2
23 23
degrees. viewpoint_gpspos_longitude shall be in range of −180 * 2 to 180 * 2 − 1, inclusive.
Positive values represent eastern longitude and negative values represent western longitude.
−23
viewpoint_gpspos_latitude indicates the latitude of the geolocation of the viewpoint in units of 2
23 23
degrees. viewpoint_gpspos_latitude shall be in range of −90 * 2 to 90 * 2 − 1, inclusive. Positive
value represents northern latitude and negative value represents southern latitude.
viewpoint_gpspos_altitude indicates the altitude of the geolocation of the viewpoint in units of
milimeters above the WGS 84 reference ellipsoid as specified in the EPSG: 4326 database available
at https:// epsg .org.
viewpoint_geomagnetic_yaw, viewpoint_geomagnetic_pitch, and viewpoint_geomagnetic_roll
specify the yaw, pitch, and roll angles, respectively, of the rotation angles of X, Y, Z axes of the
−16
common reference coordinate system relative to the geomagnetic North direction, in units of 2
16 16
degrees. viewpoint_geomagnetic_yaw shall be in the range of −180 * 2 to 180 *2 − 1, inclusive.
16 16
viewpoint_geomagnetic_pitch shall be in the range of −90 * 2 to 90 * 2 , inclusive. viewpoint_
16 16
geomagnetic_roll shall be in the range of −180 * 2 to 180 * 2 − 1, inclusive.
viewpoint_gcs_yaw, viewpoint_gcs_pitch, and viewpoint_gcs_roll specify the yaw, pitch, and roll
angles, respectively, of the rotation angles of X, Y, Z axes of the global coordinate system of the
−16
viewpoint relative to the common reference coordinate system, in units of 2 degrees. viewpoint_
16 16
gcs_yaw shall be in the range of −180 * 2 to 180 *2 − 1, inclusive. viewpoint_gcs_pitch shall be
16 16 16
in the range of −90 * 2 to 90 * 2 , inclusive. viewpoint_gcs_roll shall be in the range of −180 * 2
to 180 * 2 − 1, inclusive.
vwpt_group_id indicates the identifier of a viewpoint group. All viewpoints in a viewpoint group share
a common reference coordinate system.
© ISO/IEC 2022 – All rights reserved
NOTE 1 When two viewpoints have different values of vwpt_group_id, their position coordinates are not
comparable, because the viewpoints belong to different coordinate systems.
vwpt_group_description is a null-terminated UTF-8 string which indicates the description of a
viewpoint group. A null string is allowed.
5.4.4 Sphere region structure - Semantics
centre_azimuth and centre_elevation specify the azimuth and elevation values, respectively, of
−16
the centre of the sphere region in units of 2 degrees. centre_azimuth shall be in the range of
16 16 16 16
−180 * 2 to 180 * 2 − 1, inclusive. centre_elevation shall be in the range of −90 * 2 to 90 * 2 ,
inclusive.
−16
centre_tilt specifies the tilt angle of the sphere region in units of 2 degrees. centre_tilt shall be
16 16
in the range of −180 * 2 to 180 * 2 − 1, inclusive.
azimuth_range and elevation_range, when present, specify the azimuth and elevation ranges,
−16
respectively, of the sphere region specified by this structure in units of 2 degrees. azimuth_
range and elevation_range specify the range through the centre point of the sphere region, as
illustrated by Figure 5.3 or Figure 5.4. When azimuth_range and elevation_range are not present
in this instance of SphereRegionStruct, they are inferred as specified in the semantics of the
structure containing this instance of SphereRegionStruct. azimuth_range shall be in the range of 0
16 16
to 360 * 2 , inclusive. elevation_range shall be in the range of 0 to 180 * 2 , inclusive.
The semantics of interpolate are specified by the semantics of the structure containing this instance
of SphereRegionStruct. When interpolate is not present in this instance of SphereRegionStruct,
it is inferred as specified in the semantics of the syntax structure containing this instance of
SphereRegionStruct.
5.4.5 Spherical region-wise quality ranking - Semantics
region_definition_type equal to 0 specifies that the sphere region is specified by four great circles.
region_definition_type equal to 1 specifies that the sphere region is specified by two azimuth
circles and two elevation circles. region_definition_type values greater than 1 are reserved.
num_regions specifies the number of quality ranking sphere regions for which the quality ranking
information is given in this box. Value 0 is reserved. There shall be no point on the sphere that is
contained in more than one of these quality ranking sphere regions.
remaining
...








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