Signal Processing - September 2017 - 167

but it should at least indicate the need
for a data format that is more compact.
Better alternatives exist in the field,
among them half-float (as used by
OpenEXR), RGBE, LogLuv encoding,
and representation of sample values
in a perceptually uniform (PU) color
space through an electro-optical trans-
fer function (EOTF). All these convert
a direct, floating-point representation
into a more efficient data format that
requires fewer bits while still providing
a higher dynamic range and more pre-
cision than an SDR format.
If the precision of the HDR format is
not sufficient, then quantization defects
such as banding will become visible.
We now discuss a selection of popu-
lar HDR formats. Half-float precision is
a compact representation for floating-
point values, where 1 bit is used for the
sign, 5 bits for the exponent, and 10 bits
for the mantissa. The advantage that the
half-float representation offers is that
it is as flexible as the regular single-
precision floating-point format at half
the storage cost. However, since the
maximum value representable by this
format is 65,535, sample values should
be calibrated by a common scale fac-
tor, i.e., represented in relative radiance
to be able to represent the full dynamic
range in the image.
The RGBE format takes advantage
of the fact that the color components of
an RGB image are highly correlated and
usually have very similar magnitude.
RGBE thus only stores one common
scale factor for all three components in
the form of an exponent E, and the indi-
vidual channels are jointly scaled by E
as follows:
R ,
R e = ; 256
E
2 E - 128

(1)

and for G and B the same equation
applies. The 6 . @ denotes rounding down
to the nearest integer. E is the common
exponent that is encoded together with
the RGB mantissas, resulting in a 32-bit/
pixel representation.
E = ^log 2 (max (R, G, B)) + 128h, (2)

where ^ . h denotes rounding up to the
next integer.

A drawback of RGBE pixel encod-
ing is that it cannot represent negative
sample values, i.e., colors that are out-
side of the triangle spanned by the pri-
mary colors of the underlying RGB color
space. A possible remedy is to code col-
ors in the XYZ color space, taking only
positive numbers by definition then giv-
ing rise to the XYZE encoding.
In both cases, however, errors are
not uniformly distributed perceptually
speaking, a problem that is partially
solved by the LogLuv encoding. There,
the luminance is coded logarithmically in
one sign bit, 15 mantissa bits, and another
16 bits to encode the chroma values u e
and v e .
Logarithmic encoding of luminance
values is a common trick used in many
HDR encodings: When the same mag-
nitude of distortion is introduced in low-
and high-luminance image regions, one
finds that artifacts will be more visible
in low-luminance regions, as human
vision follows approximately a logarith-
mic law-this is also known as Weber's
law in the literature.
However, more accurate models of
human vision exist that map physical
luminance (in nits, i.e., candela/square
meter) into the units related to the just-
noticeable differences. Such a mapping,
namely from PU sample space to physi-
cal luminance, is also denoted as EOTF.
Studies have shown that, under such
a mapping, 10-12 bits are sufficient to
encode luminances between 10 -4 and
108 nits without visible banding.
HDR file formats that are making
use of these HDR pixels representa-
tion have been proposed, and the three
most widely used are Radiance HDR,
the portable file format (PFM), and
OpenEXR. Radiance HDR, indicated
by the file extension .hdr or .pic, is
based on RGBE or XYZE encoding plus
a minimal header. A very simple run-
length coding over rows is available.
PFM is part of the "portable any
map" format and is indicated by the
.pfm extension. The header indicates
the number of components and a com-
mon scale factor of all sample values;
the sign of the scale factor denotes the
endianness of the encoding. The actu-
al image pixels are encoded as RGB
IEEE SIGNAL PROCESSING MAGAZINE

|

September 2017

|

triples in IEEE single-precision float-
ing point.
OpenEXR uses the file extension
.exr; it was developed by Industrial
Light and Magic in 2002, along with
open-source libraries. Due to its wide-
spread adoption, it has become the de-
facto standard file format for HDR
images, especially in the cinema indus-
try. This file format supports three pixel
encoding formats: half-float (16-bit float),
32-bit float, and 32-bit integer. It also
includes various lossy and lossless image
compression algorithms.
We recently have seen the adoption
of HDR technologies into products such
as cameras with improved sensors, dis-
plays providing higher dynamic range,
and/or a larger color gamut. Unfortu-
nately, interoperability at the device
level is still at its infancy, making it dif-
ficult to exchange images between vari-
ous devices or various vendors which
try to lock-in customers through propri-
etary formats [2].
As for images, two international
standards are already available that sup-
port HDR content, namely ISO/IEC
15444, International Telecommunica-
tion Union-Telecommunication Stan-
dardization Sector (ITU-T) T.800 JPEG
2000 and ISO/IEC 29199, ITU-T T.832
JPEG XR. Despite the fact that they sup-
port lossless compression, their limited
adoption by the market may be correlat-
ed to their lack of backward compatibil-
ity with existing JPEG ecosystems [5].
Industry players are typically reluctant
to change technology in their produc-
tion pipeline to cope with adoption of
newly established standards. A migra-
tion path from existing to new solutions,
allowing a gradual transition from old
to new technology helps them keep their
investments low.
To address this issue, the JPEG, for-
mally known as ISO/IEC JTC1/SC29/
WG1, began, in the 2012, the standard-
ization of a new technology, ISO/IEC
18477 JPEG XT [2]. The JPEG XT
image coding system is currently or-
ganized into nine parts that define the
baseline coding architecture (the leg-
acy JPEG code stream 8-bit mode), an
extensible file format specifying a com-
mon syntax for extending the legacy
167



Table of Contents for the Digital Edition of Signal Processing - September 2017

Signal Processing - September 2017 - Cover1
Signal Processing - September 2017 - Cover2
Signal Processing - September 2017 - 1
Signal Processing - September 2017 - 2
Signal Processing - September 2017 - 3
Signal Processing - September 2017 - 4
Signal Processing - September 2017 - 5
Signal Processing - September 2017 - 6
Signal Processing - September 2017 - 7
Signal Processing - September 2017 - 8
Signal Processing - September 2017 - 9
Signal Processing - September 2017 - 10
Signal Processing - September 2017 - 11
Signal Processing - September 2017 - 12
Signal Processing - September 2017 - 13
Signal Processing - September 2017 - 14
Signal Processing - September 2017 - 15
Signal Processing - September 2017 - 16
Signal Processing - September 2017 - 17
Signal Processing - September 2017 - 18
Signal Processing - September 2017 - 19
Signal Processing - September 2017 - 20
Signal Processing - September 2017 - 21
Signal Processing - September 2017 - 22
Signal Processing - September 2017 - 23
Signal Processing - September 2017 - 24
Signal Processing - September 2017 - 25
Signal Processing - September 2017 - 26
Signal Processing - September 2017 - 27
Signal Processing - September 2017 - 28
Signal Processing - September 2017 - 29
Signal Processing - September 2017 - 30
Signal Processing - September 2017 - 31
Signal Processing - September 2017 - 32
Signal Processing - September 2017 - 33
Signal Processing - September 2017 - 34
Signal Processing - September 2017 - 35
Signal Processing - September 2017 - 36
Signal Processing - September 2017 - 37
Signal Processing - September 2017 - 38
Signal Processing - September 2017 - 39
Signal Processing - September 2017 - 40
Signal Processing - September 2017 - 41
Signal Processing - September 2017 - 42
Signal Processing - September 2017 - 43
Signal Processing - September 2017 - 44
Signal Processing - September 2017 - 45
Signal Processing - September 2017 - 46
Signal Processing - September 2017 - 47
Signal Processing - September 2017 - 48
Signal Processing - September 2017 - 49
Signal Processing - September 2017 - 50
Signal Processing - September 2017 - 51
Signal Processing - September 2017 - 52
Signal Processing - September 2017 - 53
Signal Processing - September 2017 - 54
Signal Processing - September 2017 - 55
Signal Processing - September 2017 - 56
Signal Processing - September 2017 - 57
Signal Processing - September 2017 - 58
Signal Processing - September 2017 - 59
Signal Processing - September 2017 - 60
Signal Processing - September 2017 - 61
Signal Processing - September 2017 - 62
Signal Processing - September 2017 - 63
Signal Processing - September 2017 - 64
Signal Processing - September 2017 - 65
Signal Processing - September 2017 - 66
Signal Processing - September 2017 - 67
Signal Processing - September 2017 - 68
Signal Processing - September 2017 - 69
Signal Processing - September 2017 - 70
Signal Processing - September 2017 - 71
Signal Processing - September 2017 - 72
Signal Processing - September 2017 - 73
Signal Processing - September 2017 - 74
Signal Processing - September 2017 - 75
Signal Processing - September 2017 - 76
Signal Processing - September 2017 - 77
Signal Processing - September 2017 - 78
Signal Processing - September 2017 - 79
Signal Processing - September 2017 - 80
Signal Processing - September 2017 - 81
Signal Processing - September 2017 - 82
Signal Processing - September 2017 - 83
Signal Processing - September 2017 - 84
Signal Processing - September 2017 - 85
Signal Processing - September 2017 - 86
Signal Processing - September 2017 - 87
Signal Processing - September 2017 - 88
Signal Processing - September 2017 - 89
Signal Processing - September 2017 - 90
Signal Processing - September 2017 - 91
Signal Processing - September 2017 - 92
Signal Processing - September 2017 - 93
Signal Processing - September 2017 - 94
Signal Processing - September 2017 - 95
Signal Processing - September 2017 - 96
Signal Processing - September 2017 - 97
Signal Processing - September 2017 - 98
Signal Processing - September 2017 - 99
Signal Processing - September 2017 - 100
Signal Processing - September 2017 - 101
Signal Processing - September 2017 - 102
Signal Processing - September 2017 - 103
Signal Processing - September 2017 - 104
Signal Processing - September 2017 - 105
Signal Processing - September 2017 - 106
Signal Processing - September 2017 - 107
Signal Processing - September 2017 - 108
Signal Processing - September 2017 - 109
Signal Processing - September 2017 - 110
Signal Processing - September 2017 - 111
Signal Processing - September 2017 - 112
Signal Processing - September 2017 - 113
Signal Processing - September 2017 - 114
Signal Processing - September 2017 - 115
Signal Processing - September 2017 - 116
Signal Processing - September 2017 - 117
Signal Processing - September 2017 - 118
Signal Processing - September 2017 - 119
Signal Processing - September 2017 - 120
Signal Processing - September 2017 - 121
Signal Processing - September 2017 - 122
Signal Processing - September 2017 - 123
Signal Processing - September 2017 - 124
Signal Processing - September 2017 - 125
Signal Processing - September 2017 - 126
Signal Processing - September 2017 - 127
Signal Processing - September 2017 - 128
Signal Processing - September 2017 - 129
Signal Processing - September 2017 - 130
Signal Processing - September 2017 - 131
Signal Processing - September 2017 - 132
Signal Processing - September 2017 - 133
Signal Processing - September 2017 - 134
Signal Processing - September 2017 - 135
Signal Processing - September 2017 - 136
Signal Processing - September 2017 - 137
Signal Processing - September 2017 - 138
Signal Processing - September 2017 - 139
Signal Processing - September 2017 - 140
Signal Processing - September 2017 - 141
Signal Processing - September 2017 - 142
Signal Processing - September 2017 - 143
Signal Processing - September 2017 - 144
Signal Processing - September 2017 - 145
Signal Processing - September 2017 - 146
Signal Processing - September 2017 - 147
Signal Processing - September 2017 - 148
Signal Processing - September 2017 - 149
Signal Processing - September 2017 - 150
Signal Processing - September 2017 - 151
Signal Processing - September 2017 - 152
Signal Processing - September 2017 - 153
Signal Processing - September 2017 - 154
Signal Processing - September 2017 - 155
Signal Processing - September 2017 - 156
Signal Processing - September 2017 - 157
Signal Processing - September 2017 - 158
Signal Processing - September 2017 - 159
Signal Processing - September 2017 - 160
Signal Processing - September 2017 - 161
Signal Processing - September 2017 - 162
Signal Processing - September 2017 - 163
Signal Processing - September 2017 - 164
Signal Processing - September 2017 - 165
Signal Processing - September 2017 - 166
Signal Processing - September 2017 - 167
Signal Processing - September 2017 - 168
Signal Processing - September 2017 - 169
Signal Processing - September 2017 - 170
Signal Processing - September 2017 - 171
Signal Processing - September 2017 - 172
Signal Processing - September 2017 - 173
Signal Processing - September 2017 - 174
Signal Processing - September 2017 - 175
Signal Processing - September 2017 - 176
Signal Processing - September 2017 - 177
Signal Processing - September 2017 - 178
Signal Processing - September 2017 - 179
Signal Processing - September 2017 - 180
Signal Processing - September 2017 - 181
Signal Processing - September 2017 - 182
Signal Processing - September 2017 - 183
Signal Processing - September 2017 - 184
Signal Processing - September 2017 - 185
Signal Processing - September 2017 - 186
Signal Processing - September 2017 - 187
Signal Processing - September 2017 - 188
Signal Processing - September 2017 - 189
Signal Processing - September 2017 - 190
Signal Processing - September 2017 - 191
Signal Processing - September 2017 - 192
Signal Processing - September 2017 - 193
Signal Processing - September 2017 - 194
Signal Processing - September 2017 - 195
Signal Processing - September 2017 - 196
Signal Processing - September 2017 - Cover3
Signal Processing - September 2017 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201809
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201807
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201805
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201803
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201801
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1117
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0917
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0717
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0517
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0317
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0117
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1116
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0916
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0716
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0516
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0316
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0116
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1115
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0915
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0715
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0515
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0315
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0115
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1114
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0914
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0714
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0514
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0314
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0114
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1113
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0913
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0713
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0513
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0313
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0113
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1112
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0912
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0712
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0512
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0312
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0112
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1111
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0911
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0711
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0511
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0311
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0111
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1110
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0910
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0710
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0510
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0310
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0110
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1109
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0909
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0709
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0509
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0309
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0109
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1108
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0908
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0708
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0508
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0308
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0108
https://www.nxtbookmedia.com