ISO/IEC 19566-5:2019
(Main)Information technologies — JPEG systems — Part 5: JPEG universal metadata box format (JUMBF)
Information technologies — JPEG systems — Part 5: JPEG universal metadata box format (JUMBF)
This document describes the JPEG universal metadata box format (JUMBF), which provides a universal format to embed any type of metadata in any box-based JPEG file format. This document defines the syntax of the JUMBF box and the mechanism to assign specific content types. In particular, this document specifies XML, JSON, codestream and UUID types. In addition, this document defines the syntax to reference or request the embedded metadata content within or outside the image.
Technologies de l'information — Systèmes JPEG — Partie 5: Format universel de fichier de métadonnées pour JPEG (JUMBF)
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 19566-5
First edition
2019-07
Information technologies — JPEG
systems —
Part 5:
JPEG universal metadata box format
(JUMBF)
Technologies de l'information — Systèmes JPEG —
Partie 5: Format universel de fichier de métadonnées pour JPEG
(JUMBF)
Reference number
ISO/IEC 19566-5:2019(E)
©
ISO/IEC 2019
---------------------- Page: 1 ----------------------
ISO/IEC 19566-5:2019(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2019
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
Fax: +41 22 749 09 47
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2019 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 19566-5:2019(E)
Contents Page
Foreword .iv
Introduction .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 . 2
4 Conventions . 2
4.1 Conformance language . 2
4.2 Naming conventions for numerical values . 2
4.3 Boxes and superboxes. 3
4.4 Graphical descriptions . 3
5 Organization of the document . 4
Annex A (normative) JUMBF box file format . 5
Annex B (normative) JUMBF content types . 8
Annex C (normative) JUMBF references and requests .12
Annex D (informative) JUMBF backwards compatibility and integration .14
Bibliography .18
© ISO/IEC 2019 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 19566-5:2019(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.
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 ISO documents 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).
Attention is drawn to the possibility that some of the elements of this document may be the subject of
patent rights. ISO 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 http: //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.
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 19566 series can be found on the ISO website.
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.
iv © ISO/IEC 2019 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 19566-5:2019(E)
Introduction
The JPEG universal metadata box format (JUMBF) provides a mechanism to embed and refer generic
metadata in JPEG files. Specific content types can be assigned to identify the specific type of the
embedded metadata. In addition to the content types defined in this document, other types can be
defined by other standards or by third parties. ISO/IEC 19566-4 and ISO/IEC 19566-6 both use JUMBF
to embed additional metadata in JPEG images. The JPEG XT file format (see ISO/IEC 18477-3) is used to
embed JUMBF boxes in JPEG-1 images (see ITU-T.81 | ISO/IEC 10918-1).
© ISO/IEC 2019 – All rights reserved v
---------------------- Page: 5 ----------------------
INTERNATIONAL STANDARD ISO/IEC 19566-5:2019(E)
Information technologies — JPEG systems —
Part 5:
JPEG universal metadata box format (JUMBF)
1 Scope
This document describes the JPEG universal metadata box format (JUMBF), which provides a universal
format to embed any type of metadata in any box-based JPEG file format. This document defines
the syntax of the JUMBF box and the mechanism to assign specific content types. In particular, this
document specifies XML, JSON, codestream and UUID types. In addition, this document defines the
syntax to reference or request the embedded metadata content within or outside the image.
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 10646, Information technology — Universal Coded Character Set (UCS)
ISO/IEC 11578, Information technology — Open Systems Interconnection — Remote Procedure Call (RPC)
ISO/IEC 21778, Information technology — The JSON data interchange syntax
1)
FIPS PUB 180-4 , Secure Hash Standard (SHS)
W3C, Extensible Markup Language (XML 1.0), 5th edition,
3 Terms, definitions and abbreviated terms
3.1 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
ISO and IEC maintain terminological databases for use in standardization at the following addresses:
— ISO Online browsing platform: available at https: //www .iso .org/obp
— IEC Electropedia: available at http: //www .electropedia .org/
3.1.1
box
binary structure that encapsulates an object embedded in a file
3.1.2
codestream
sequence of bits representing a compressed image and associated metadata
1) http: //dx .doi .org/10 .6028/NIST.FIPS .180 -4
© ISO/IEC 2019 – All rights reserved 1
---------------------- Page: 6 ----------------------
ISO/IEC 19566-5:2019(E)
3.1.3
JUMBF content box
content box
box (3.1.1) of any type embedded in a JUMBF superbox (3.1.8) except the JUMBF description box
3.1.4
JUMBF content
content
set of all content boxes (3.1.3) embedded in a JUMBF superbox (3.1.8)
3.1.5
JUMBF content type
content type
specific type of content (3.1.4) embedded in a JUMBF box with an associated JUMBF type (3.1.6)
3.1.6
JUMBF type
UUID that implies the type of content (3.1.4) embedded in a JUMBF box
3.1.7
parent image
main image content (3.1.4) of the image file in which the JUMBF box is embedded
3.1.8
superbox
box (3.1.1) that only contains other boxes
3.2 Abbreviated terms
JPEG Joint Photographic Experts Group
JPEG-1 image complying to ISO/IEC 10918-1
JSON JavaScript object notation
JUMBF JPEG universal metadata box format
URI uniform resource identifier
XML extensible markup language
4 Conventions
4.1 Conformance language
The keyword "reserved" indicates a provision that is not specified at this time, shall not be used, and
may be specified in the future. The keyword "forbidden" indicates "reserved" and in addition indicates
that the provision will never be specified in the future.
4.2 Naming conventions for numerical values
Integer numbers are expressed as bit patterns, hexadecimal values, or decimal numbers. Bit patterns
and hexadecimal values have both a numerical value and an associated particular length in bits.
Hexadecimal notation, indicated by prefixing the hexadecimal number by "0x", may be used instead of
binary notation to denote a bit pattern having a length that is an integer multiple of 4. For example, 0x41
represents an eight-bit pattern having only its second most significant bit and its least significant bit
equal to 1. Numerical values that are indicated as "binary" are bit pattern values (specified as a string
of digits equal to 0, 1 or x in which the left-most bit is considered the most-significant bit and 'x' means
2 © ISO/IEC 2019 – All rights reserved
---------------------- Page: 7 ----------------------
ISO/IEC 19566-5:2019(E)
either 0 or 1). Other numerical values not prefixed by "0x" are decimal values. When used in expressions,
a hexadecimal value is interpreted as having a value equal to the value of the corresponding bit pattern
evaluated as a binary representation of an unsigned integer (i.e., as the value of the number formed by
prefixing the bit pattern with a sign bit equal to 0 and interpreting the result as a two's complement
representation of an integer value). For example, the hexadecimal value 0xF is equivalent to the 4-bit
pattern '1111' and is interpreted in expressions as being equal to the decimal number 15.
4.3 Boxes and superboxes
The annexes of this document focus on the definition of boxes. The details for embedding boxes in
specific file formats are defined in the particular documents, for example ISO/IEC 15444-1 for JPEG
2000, ISO/IEC 18477-3 for JPEG-1 / JPEG XT or the more generic ISO/IEC 14496-12 ISO base media file
format (ISOBMFF).
In general, each object in the file is encapsulated within a binary structure called a box. A box that only
contains other boxes is called a superbox. The binary structure is given in Figure 1.
Figure 1 — Binary structure of a box
— LBox: box length. This field specifies the length of the box, stored as a 4-byte big-endian unsigned
integer. This value includes all of the fields of the box, including the length and type. If the value of
this field is 1, then the XLBox field shall exist and the value of that field shall be the actual length of
the box. If the value of this field is 0, then the length of the box was not known when the LBox field
was written. In this case, this box contains all bytes up to the end of the file. If a box of length 0 is
contained within another box (its superbox), then the length of that superbox shall also be 0. This
means that this box is the last box in the file. The values 2-7 are reserved for ITU-T | ISO/IEC use.
— TBox: box type. This field specifies the type of information found in the Payload Data field. The
value of this field is encoded as a 4-byte big-endian unsigned integer. However, boxes are generally
referred to by an ISO/IEC 646 character string translation of the integer value. For all box types
defined within this document, box types will be indicated as both character string (normative) and
as 4-byte hexadecimal integers (informative). Also, a space character is shown in the character
string translation of the box type as "\040". All values of TBox not defined within this document are
reserved for ITU-T | ISO/IEC use.
— XLBox: box extended length. This field specifies the actual length of the box if the value of the LBox
field is 1. This field is stored as an 8-byte big-endian unsigned integer. The value includes all of the
fields of the box, including the LBox, TBox and XLBox fields.
— Payload Data: box contents. This field contains the actual information contained within this box. The
format of the box contents depends on the box type and will be defined individually for each type.
4.4 Graphical descriptions
Box definitions contain graphical description figures to illustrate the structure of the box. These figures
should be interpreted as follows.
— The figures do not include box type and size fields.
— A sequence of rectangles is used to indicate the fields of the box and their order.
— The width of the rectangle indicates the length of the field, a square rectangle indicates a 16 bit field.
— A grey background indicates a variable length field.
© ISO/IEC 2019 – All rights reserved 3
---------------------- Page: 8 ----------------------
ISO/IEC 19566-5:2019(E)
— Optional fields have a dashed border.
Figure 2 shows an illustrative example of a box with four fields:
— A: 8 bit required field;
— B: 16 bit required field;
— C: variable length required field;
— D: optional 32 bit field.
Figure 2 — Box with four fields
5 Organization of the document
JUMBF allows embedding any type of metadata in JPEG images that adopt a box-based file format and
enables referencing to the embedded data internally or externally to the image.
The JUMBF Box Format shall be implemented as defined in Annex A. JUMBF Content Types for common
metadata such as XML, JSON and image codestreams shall be used in accordance with Annex B. The
referencing and requesting mechanism shall be as specified in Annex C. Annex D describes how to
embed JUMBF boxes in JPEG-1 images using the JPEG XT Box Format.
4 © ISO/IEC 2019 – All rights reserved
---------------------- Page: 9 ----------------------
ISO/IEC 19566-5:2019(E)
Annex A
(normative)
JUMBF box file format
A.1 Overview
This annex defines the JUMBF Box Format. Table A.1 lists all boxes defined in this annex. Indentation
within the table indicates the hierarchical containment structure of the boxes.
Table A.1 — Defined boxes
Box name Type Superbox Required? Comments
This superbox encapsulates the
'jumb'
JUMBF box Yes Required JUMBF Description box and JUMBF
(0x6A75 6D62)
Content Boxes.
This box is always contained within a
'jumd'
JUMBF Description
No Required JUMBF superbox and specifies the con-
box
(0x6A75 6D64)
tent and behaviour of the JUMBF box.
A.2 JUMBF superbox
A JUMBF box is a superbox that shall contain exactly one JUMBF Description box followed by one or
more Content Boxes. The type of the Content Boxes is implied by the JUMBF type field in the JUMBF
Description box. JUMBF boxes can be nested, i.e. the Content Boxes may be JUMBF boxes, if implied by
the JUMBF type. The JUMBF Description box shall always be the first box in the JUMBF superbox.
The type of a JUMBF box shall be 'jumb' (0x6A75 6D62). The structure of the JUMBF box is illustrated in
Figure A.1.
Figure A.1 — Structure of the JUMBF superbox
© ISO/IEC 2019 – All rights reserved 5
---------------------- Page: 10 ----------------------
ISO/IEC 19566-5:2019(E)
A.3 JUMBF Description box
The JUMBF Description box provides additional information about the behaviour and content of the
parent JUMBF box.
The type of a JUMBF Description box shall be 'jumd' (0x6A75 6D64). The contents of the JUMBF
Description box is illustrated in Figure A.2, the field values are summarized in Table A.3.
Figure A.2 — Structure of the JUMBF Description box
— TYPE: this field shall contain a 16-byte UUID as specified in ISO/IEC 11578. The value of this UUID
specifies the format of the Content Boxes embedded in the JUMBF box and the interpretation of that
information. This field is referred to as the JUMBF type.
— TOGGLES (T): this 1-byte field signals the values of options related to the JUMBF box as specified in
Table A.2 where bit value 1 means enabled and bit 0 disabled.
Table A.2 — TOGGLES
Binary value Meaning TOGGLE Details
0000 xx11 Requestable Requestable. This option signals whether the content of the JUMBF
box can be requested using the request mechanism as specified in
0000 xxx0 Not requestable
Annex C. If Requestable is set to 1, the “label present” option should be
set to 1 as well.
* If set to zero, any implementation i) *shall* provide an error mes-
sage, and ii) *shall not* act upon the request in a way that can possibly
expose the data.
* If set to 1, i) a supporting implementation will return the requested
data, and ii) a non-supporting implementation shall return an error
message.
0000 xx1x Label present Label present. This option signals if a Label field is present.
0000 xx0x No label present
0000 x1xx ID present ID present. This option signals if an ID field is present.
0000 x0xx No ID present
0000 1xxx Signature present Signature present. This option signals if a Signature field is present.
0000 0xxx No signature
present
All other values are reserved for future use.
— LABEL: this optional field contains a variable length textual label that can be used to reference
or request the content of the JUMBF box as specified in Annex C. Its presence is signalled in the
TOGGLES field. This value shall be stored as ISO/IEC 10646 characters in the UTF-8 encoding.
Characters in the ranges U+0000 to U+001F inclusive and U+007F to U+009F inclusive, as well as
the specific characters '/', ';', '?', ':' and '#', are not permitted in the label string. The Label string shall
be null-terminated. The user is responsible for assigning a label which is unique within its scope.
— ID: this optional field contains a user assigned unique 4-byte ID that can be used for binary
references to this JUMBF box. Its presence is signalled in the TOGGLES field. The user is responsible
for assigning an ID that is unique within its scope.
— SIGNATURE: this optional field shall contain an SHA-256 (FIPS PUB 180-4) checksum of the JUMBF
Content. Its presence is signalled in the TOGGLES field.
6 © ISO/IEC 2019 – All rights reserved
---------------------- Page: 11 ----------------------
ISO/IEC 19566-5:2019(E)
Table A.3 — Format of the contents of the JUMBF Description box
Parameter Size (bits) Value
TYPE 128 UUID
TOGGLES 8 0-15
LABEL variable or 0 Null terminated UTF-8
string
ID 32 or 0 User assigned
SIGNATURE 256 or 0 SHA-256 checksum
© ISO/IEC 2019 – All rights reserved 7
---------------------- Page: 12 ----------------------
ISO/IEC 19566-5:2019(E)
Annex B
(normative)
JUMBF content types
B.1 Overview
This annex defines JUMBF Content Types that can be used to embed image codestreams, XML data,
JSON data or other content wrapped in a UUID box. Table B.1 gives an overview of these Content Types
and their assigned JUMBF type UUID values to be used in the JUMBF Description box.
Table B.1 — Overview of JUMBF Content Types
JUMBF type Meaning
0x6579D6FB-DBA2-446B- Codestream Content Type.
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.