commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Lucas (JIRA)" <j...@apache.org>
Subject [jira] [Created] (SANSELAN-75) Improve speed of TIFF Index-Color Palette
Date Mon, 23 Apr 2012 12:33:37 GMT
Gary Lucas created SANSELAN-75:
----------------------------------

             Summary: Improve speed of TIFF Index-Color Palette 
                 Key: SANSELAN-75
                 URL: https://issues.apache.org/jira/browse/SANSELAN-75
             Project: Commons Sanselan
          Issue Type: Improvement
          Components: Format: TIFF
            Reporter: Gary Lucas


TIFF supports an 8-bit-per-pixel, "indexed color" model in which the values in the source
data give indices into a fixed palette of color settings. Unpacking data in this format requires
two steps:  (1) reading and unpacking the palette in the source file, (2) performing a look-up
operation for each pixel to map the index value to a color.  A similar approach was used in
the original GIF specification and, checking wikipedia, it appears that it is also supported
by PNG and BMP.  TIFF files in this format are used extensively in mapping and Geographic
Information System implementation.

The current inplementation of the PhotometicInterpreterPalette for TIFF files has an inefficiency
in that it performs the unpacking operation from step one each time a new pixel is read. Thus,
if a file contains three million red pixels, the byte-manipulation for the color red is repeated
three million times.  It would be more efficient for the PhotometricInterpreterPalette class
to perform the unpacking operation once, in its constructor. Since there are a maximum of
256 colors in an 8-bit palette, this approach would require moderate use of memory.

In time tests this approach reduced the reading time for a large TIFF file by about 13 percent
(for details on the timing procedures, see Tracker Item 58):

Unmodified Code:   1204.9 ms.
After change:   1049.7 ms.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message