Graphics Reference
In-Depth Information
L
e
u
e
v
e
Figure 6.8
Storage arrangement for a pixel in 32 bit LogLuv format. (After images courtesy of Greg
Ward. )
LogLuv file format (24 bit).
Efficient use of storage space (and network band-
width) is always a consideration, so Ward created a more compact LogLuv format
that uses only 24 bits per pixel. In this format, log
2
L
is stored as a 10-bit integer,
computed from
L
e
=
64
(
log
2
L
+
12
)
,
i.e., the integer is encoded as a biased unsigned integer. The chrominance values
u
and
v
are packed into 14 bits; however, instead of encoding them into two separate
7-bit integers, the 14 bits contain a single integer index in an implicit map of
actual
u
and
v
values. Figure 6.9 illustrates the format. The bottom part of the
figure shows the
u
,
v
map. This map has to be searched for the actual values,
which does require extra computation. As is often the case with data formats,
there is a trade-off between computation and storage.
L
e
C
e
max
v
u
0
Figure 6.9
The 24 bit LogLuv format stores an index
C
e
(top) into a table of
u
and
v
values (bottom).
Decoding requires searching the table. (After images courtesy of Greg Ward.)
6.2.3 A New HDR file format
Another HDR file format called OpenEXR was released by Industrial Light &
Magic in 2002. Although it is not really a lightweight file format, it does have the