ICEpdf
  1. ICEpdf
  2. PDF-1102

Revamp of the imaging pipeline

    Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 6.1.3
    • Fix Version/s: 6.4
    • Labels:
      None
    • Environment:
      Any

      Description

      The ICEpdf imaging pipeline is incredibly complex and depends a large number of libraries to get the job done. There are several bugs in the current approach that a rooted in closed sourced libraries. We also depend heavily on JAI for the loading of some images which is not only closed source but also basically abandoned by Oracle.

      The library https://github.com/haraldk/TwelveMonkeys is currently the most popular Java imaging library and is based on the pluggable ImageIO framework. However it currently depends on Java 7 so this will mean a major jdk update for ICEpdf as well.

        Issue Links

          Activity

          Hide
          Patrick Corless added a comment -

          Another design consideration will be the modification of how we handle and apply the image reference implementation. Individual implementations are currently applied globally to all image types. Unfortunately this approach doesn't work all that well. The blurred implementation works well for large rectangular images but works poorly for thin printer band images. The smoothScalled image type works a lot better for printer band images and neither reference works well for a large colour image.

          The new implementation needs to balance image type matching, configuration and performance considerations. For a example an 8K image should first be sample to manage the memory footprint of decoding such a large image. the color model should be looked at and the compression type to see if a image reference type may improve the image quality. And finally what is the current zoom and clip of the PDF view, can we make any further memory quality improvements. .

          Show
          Patrick Corless added a comment - Another design consideration will be the modification of how we handle and apply the image reference implementation. Individual implementations are currently applied globally to all image types. Unfortunately this approach doesn't work all that well. The blurred implementation works well for large rectangular images but works poorly for thin printer band images. The smoothScalled image type works a lot better for printer band images and neither reference works well for a large colour image. The new implementation needs to balance image type matching, configuration and performance considerations. For a example an 8K image should first be sample to manage the memory footprint of decoding such a large image. the color model should be looked at and the compression type to see if a image reference type may improve the image quality. And finally what is the current zoom and clip of the PDF view, can we make any further memory quality improvements. .

            People

            • Assignee:
              Patrick Corless
              Reporter:
              Patrick Corless
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: