Information technology — Plenoptic image coding system (JPEG Pleno) — Part 4: Reference software

This document provides reference implementations of ISO/IEC 21794-1 and ISO/IEC 21794-2, also known as JPEG Pleno.

Technologies de l'information — Système de codage d'images plénoptiques (JPEG Pleno) — Partie 4: Titre manque

General Information

Status
Published
Publication Date
16-May-2022
Current Stage
4099 - Full report circulated: DIS approved for registration as FDIS
Start Date
21-May-2021
Completion Date
21-May-2021
Ref Project

Buy Standard

Standard
ISO/IEC 21794-4:2022 - Information technology — Plenoptic image coding system (JPEG Pleno) — Part 4: Reference software Released:5/17/2022
English language
15 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (sample)

INTERNATIONAL ISO/IEC
STANDARD 21794-4
First edition
2022-05
Information technology — Plenoptic
image coding system (JPEG Pleno) —
Part 4:
Reference software
Reference number
ISO/IEC 21794-4:2022(E)
© ISO/IEC 2022
---------------------- Page: 1 ----------------------
ISO/IEC 21794-4:2022(E)
COPYRIGHT PROTECTED DOCUMENT
© 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
© ISO/IEC 2022 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 21794-4:2022(E)
Contents Page

Foreword ........................................................................................................................................................................................................................................iv

Introduction .................................................................................................................................................................................................................................v

1 Scope ................................................................................................................................................................................................................................. 1

2 Normative references ..................................................................................................................................................................................... 1

3 Terms and definitions .................................................................................................................................................................................... 1

4 Abbreviated terms ............................................................................................................................................................................................. 1

5 Conventions ............................................................................................................................................................................................................... 2

6 Reference software ........................................................................................................................................................................................... 2

7 Examples of use .....................................................................................................................................................................................................2

8 Warranty disclaimer ....................................................................................................................................................................................... 3

9 General ........................................................................................................................................................................................................................... 3

10 Building the reference software .........................................................................................................................................................3

Annex A (informative) Building the reference software for ISO/IEC 21794-1 and ISO/IEC

21794-2 ........................................................................................................................................... ................................................................................ 5

Annex B (informative) Baseline block-based profile usage GUI ............................................................................................. 6

Annex C (informative) Baseline view-based profile usage guide.......................................................................................11

iii
© ISO/IEC 2022 – All rights reserved
---------------------- Page: 3 ----------------------
ISO/IEC 21794-4:2022(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 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 21794 series can be found on the 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 2022 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 21794-4:2022(E)
Introduction

This document is part of a series of standards for a system known as JPEG Pleno. The ISO/IEC 21794

series aims to provide a standard framework for representing new imaging modalities. It facilitates

the capture, representation, exchange and visualization of plenoptic imaging modalities. A plenoptic

image modality can be a light field, point cloud or hologram, which are sampled representations of

the plenoptic function in the form of, respectively, a vector function that represents the radiance of a

discretized set of light rays, a collection of points with position and attribute information, or a complex

wavefront. The plenoptic function describes the radiance in time and in space obtained by positioning a

pinhole camera at every viewpoint in 3D spatial coordinates, every viewing angle and every wavelength,

resulting in a 7D function.

JPEG Pleno is designed primarily to facilitate the capture, representation, exchange and visualization

of point cloud, light field, and holographic imaging approaches. It specifies tools for coding these

approaches while providing advanced functionality at the system level such as support for data and

metadata manipulation, editing, random access and interaction, protection of privacy and ownership

rights as well as other security mechanisms.

This document provides reference software implementations of ISO/IEC 21794-1 and ISO/IEC 21794-2

that demonstrate the features and capabilities of JPEG Pleno for coding light field data. Its purpose

is to act as a guideline for implementations and as a reference for conformance testing. As such, the

implementations are conforming to ISO/IEC 21794-1, i.e. it implements the structure of a JPL file

which includes the concepts of boxes. In addition, the reference software implementations also cover

ISO/IEC 21794-2, i.e. light-field coding.

This document includes the source code for reference implementations of ISO/IEC 21794-1 and

ISO/IEC 21794-2 as electronic attachments. They have been successfully compiled and tested on

®1)
Linux operating system at the time of writing.

Instructions for unpacking and building the software are found in Annexes A. Instructions for its use

are listed in Annexes B and C.

1) Linux® is the trademark of a product supplied by Linus Torvalds. This information is given for the convenience

of users of this document and does not constitute an endorsement by ISO/IEC of the product named. Equivalent

products may be used if they can be shown to lead to the same results.
© ISO/IEC 2022 – All rights reserved
---------------------- Page: 5 ----------------------
INTERNATIONAL STANDARD ISO/IEC 21794-4:2022(E)
Information technology — Plenoptic image coding system
(JPEG Pleno) —
Part 4:
Reference software
1 Scope

This document provides reference implementations of ISO/IEC 21794-1 and ISO/IEC 21794-2, also

known as JPEG Pleno.
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 21794-1, Information technology — Plenoptic image coding system (JPEG Pleno) — Part 1:

Framework

ISO/IEC 21794-2, Information technology — Plenoptic image coding system (JPEG Pleno) — Part 2: Light

field coding

ISO/IEC 21794-3, Information technology — Plenoptic image coding system (JPEG Pleno) — Part 3:

Conformance testing
3 Terms and definitions

For the purposes of this document the terms and definitions given in ISO/IEC 21794-1, in

ISO/IEC 21794-2, in ISO/IEC 21794-3, 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
codestream

sequence of bytes that conforms to or is to be checked for conformance with the codestream syntax

specified in ISO/IEC 21794-1 and/or ISO/IEC 21794-2
3.2
JSON

data interchange format that represents data objects using attribute–value pairs and array data types

specified in ISO/IEC 21778
4 Abbreviated terms
JPLM JPEG Pleno Model
© ISO/IEC 2022 – All rights reserved
---------------------- Page: 6 ----------------------
ISO/IEC 21794-4:2022(E)
PPM Portable pixmap format
PSNR Peak signal-to-noise ratio
RDO Rate-distortion optimization
RGB Red, Green, Blue
5 Conventions

Monospaced text indicates program input or output as necessary to either run the software, or as

generated by the software on the console.
6 Reference software
The following reference software is provided:

— Reference decoder software capable of decoding codestreams that conform to ISO/IEC 21794-1

and/or ISO/IEC 21794-2.

— Sample encoder software capable of producing codestreams that conform to ISO/IEC 21794-1 and/

or ISO/IEC 21794-2.

The use of the reference software is not required for making an implementation of an encoder or

decoder in conformance to any of the parts of the ISO/IEC 21794 series. Requirements established in

ISO/IEC 21794-1 and ISO/IEC 21794-2 take precedence over the behaviour of the reference software.

7 Examples of use

Some examples of use for the reference decoder software implementations are as follows:

— As an illustration of how to perform the decoding processes.

— As the starting basis for the implementation of a decoder that conforms to one or multiple parts of

the ISO/IEC 21794 series.

— For (non-exhaustive) testing of the conformance of a codestream (or file) as specified in

ISO/IEC 21794-1 or ISO/IEC 21794-2.

NOTE The lack of detection of any conformance violation by any reference software implementation is not

to be considered as definitive proof that the codestream under test conforms to all constraints required for the

codestream to conform to one of the ISO/IEC 21794 series.
Some examples of use for a reference encoder software are as follows:

— As an illustration of how to implement an encoding process that produces codestreams that are,

depending on the settings of the software, conforming to one or multiple members of the software

of ISO/IEC 21794 series.

— As a starting point for an implementation of an encoder that conforms to one or multiple members

of the ISO/IEC 21794 series.

— As a means of generating codestreams conforming to one or multiple parts of the ISO/IEC 21794

series for testing purposes.

— As a means of demonstrating and evaluating examples of the quality that can be achieved by an

encoding process that conforms to multiple parts of the ISO/IEC 21794 series.

No guarantee of the quality that will be achieved by an encoder is provided by its conformance to one

or multiple parts of the ISO/IEC 21794 series as the conformance is defined only in terms of specific

© ISO/IEC 2022 – All rights reserved
---------------------- Page: 7 ----------------------
ISO/IEC 21794-4:2022(E)

constraints imposed on the syntax of the generated codestream. In particular, while sample encoder

software implementations may suffice to provide some illustrative examples of which quality can be

achieved within the ISO/IEC 21794 series, they provide neither an assurance of minimum guaranteed

image encoding quality nor maximum achievable image encoding quality.

Similarly, the computation resource characteristics in terms of program or data memory usage,

execution speed, etc. of sample software encoder or decoder implementations should not be construed

as a representative of the typical, minimal or maximal computational resource characteristics to be

exhibited by implementations of some parts of the ISO/IEC 21794 series.
8 Warranty disclaimer

Regardless of any and all statements made herein or elsewhere regarding the possible uses of the

reference software, the following disclaimers of warranty apply to the provided reference software

implementations:

— ISO and IEC disclaim any and all warranties, whether express, implied, or statutory, including any

implied warranties of merchantability or fitness for a particular purpose.

— In no event shall the contributor(s) or ISO or IEC be liable for any incidental, punitive or consequential

damages of any kind whatsoever arising from the use of these programs.

— This disclaimer of warranty extends to the user of these programs and the user’s customers,

employees, agents, transferees, successors, and assignees.

— ISO and IEC do not represent or warrant that the software is free of infringements of any patents.

— Commercial applications of ISO/IEC International Standards, including shareware, may be subject

to royalty fees to patent holders.
9 General

The reference software implementations for the ISO/IEC 21794 series are available at https:// standards

.iso .org/ iso -iec/ 21794/ -4/ ed -1/ en/ .

The file "jpeg-pleno-refsw-bbbp.zip" contains a reference implementation for ISO/IEC 21794-1 and

ISO/IEC 21794-2 that currently encodes and decodes codestreams conformant to the baseline block-

based profile. Unpacking and compilation of this software is explained in Annex A, guidance on how to

use this software is given in Annex B.

The file "jpeg-pleno-refsw-bvbp.zip" contains a reference implementation for ISO/IEC 21794-1 and

ISO/IEC 21794-2 that currently encodes and decodes codestreams conformant to the baseline view-

based profile. Unpacking and compilation of this software is explained in Annex A, guidance on how to

use this software is given in Annex C.
10 Building the reference software
®2)

The whole build system is managed by CMake . The reference software has been compiled on a

machine with Internet access, configured with the following operating system and packages:

— Linux environment with kernel 4.15.0 or above.
— GCC 9.2.1 or above.
— CMake3.10 or above.

2) CMake® is the trademark of a product supplied by Kitware. This information is given for the convenience

of users of this document and does not constitute an endorsement by ISO/IEC of the product named. Equivalent

products may be used if they can be shown to lead to the same results.
© ISO/IEC 2022 – All rights reserved
---------------------- Page: 8 ----------------------
ISO/IEC 21794-4:2022(E)

— Doxygen 1.8.13 or above (optional to build binaries but required to build documentation).

— TeX Live (optional).

Internet access is required to build the reference software because CMake downloads packages to

resolve library dependencies.
© ISO/IEC 2022 – All rights reserved
---------------------- Page: 9 ----------------------
ISO/IEC 21794-4:2022(E)
Annex A
(informative)
Building the reference software for ISO/IEC 21794-1 and
ISO/IEC 21794-2
A.1 Building baseline block-based profile reference software

Unpacking a ZIP file is operating system specific. Under POSIX compliant operating systems, open a

command line window and enter
~$ unzip jpeg-pleno-refsw-bbbp.zip
This will extract the source-code into the jpeg-pleno-refsw-bbbp directory.
To compile the software, please follow these steps:
~$ cd jpeg-pleno-refsw-bbbp
~/jpeg-pleno-refsw-bbbp$ mkdir; cd build
~/jpeg-pleno-refsw-bbbp/build$ cmake -DVISUALIZATION_TOOL=OFF ..
~/jpeg-pleno-refsw-bbbp/build$ make

After performing the above commands, the build can be verified via the following command:

~/jpeg-pleno-refsw-bbbp/build$ ctest --verbose
The built binaries will be stored in ~/jpeg-pleno-refsw-bbbp/bin.
A.2 Building baseline view-based profile reference software

Unpacking a ZIP file is operating system specific. Under POSIX compliant operating systems, open a

command line window and enter
~$ unzip jpeg-pleno-refsw-bvbp.zip
This will extract the source-code into the jpeg-plm-4dpm directory.
To compile the software, please follow these steps:
~$ cd jpeg-pleno-refsw-bvbp
~/jpeg-pleno-refsw-bvbp$ mkdir; cd build
~/jpeg-pleno-refsw-bvbp/build$ cmake ..
~/jpeg-pleno-refsw-bvbp/build$ make -j

After performing the above commands, the build can be verified via the following command:

~/jpeg-pleno-refsw-bvbp/build$ make test
The built binaries will be stored in ~/jpeg-pleno-refsw-bvbp/build/bin.
© ISO/IEC 2022 – All rights reserved
---------------------- Page: 10 ----------------------
ISO/IEC 21794-4:2022(E)
Annex B
(informative)
Baseline block-based profile usage GUI
B.1 General

This Annex describes the usage of the software contained in the file "jpeg-pleno-refsw-bbbp.zip”

available at https:// standards .iso .org/ iso -iec/ 21794/ -4/ ed -1/ en/ and prepared and compiled with the

instructions given in Annex A. After the building steps, the bin directory is created. The bin directory

has the following structure:
|— jpl-decoder-bin
|— jpl-encoder-bin
|— tests
| |— *_tests
|_ utils
|— compute_lightfield_quality_metrics
|— compute_psnr
|— convert_pgx_to_ppm
|— convert_ppm_to_pgx
|— lenslet_13x13_shifter
|_ lightfield_coordinate_shift
The main executable files are
jpl-encoder-bin, Encoder used to compress light fields into JPL files.
jpl-decoder-bin, Decoder used to decompress JPL files into light fields.

The executable files in tests directory have the suffix _tests and correspond to the unit tests generated

with purposes of building validation.

The utils directory contains six useful tools. These tools are not required for the encoding and

decoding processes but convenient for these tasks. The utils files are

compute_lightfield_quality_metrics, Compute several quality metrics for all views of an assessed

light field and generate a brief report.
compute_psnr, Compute the PSNR for a single PPM image.
convert_pgx_to_ppm, Convert a single image from PGX to PPM format.
convert_ppm_to_pgx, Convert a single image from PPM to PGX format.
lenslet_13x13_shifter, Adjust dark views at corners of Lenslet datasets.
lightfield_coordinate_shift, Batch filename rename of light field views.

The usage instructions for these tools can be seen by calling any util app with parameter --help.

B.2 Using the encoder for baseline block-based profile

The encoder requires one light field input. The input light field is represented as a directory containing a

set of sub-directories, one for each colour component. The name of each colour directory is the numeric

index of the colour channel, starting at 0. Each of those sub-directories contains uncompressed images

in PGX format. These PGX images shall be named following the “xxx_yyy.pgx” format, where “xxx” and

“yyy” indicate the vertical and horizontal position of a given view in the light field. The light field shall

begin at position 000_000. Furthermore, a sequence of views in a given direction shall be contiguous,

© IS
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.