OpenIcc

OpenICC project

OpenICC has two main goals. The first goal is to work out a common set of settings for color savvy applications to share profiles and settings. The second goal is to bring together those developers in areas like printing, display and desktop applications to work together to make color management end to end work for open source applications.

A draft specification is planned at a later stage.

Contents

  1. OpenICC project
  2. Getting involved
  3. Who's taking part
  4. ICC is going open source
  5. Legal issues
  6. Specifications
  7. Proposals
    1. White papers for enhancing the ICC-specs
    2. General Topics
    3. Requirements of Applications and Services
  8. Google SoC
  9. Help for editors

Getting involved

If you are planning to add color management to your software project or you are hardware manufacturer who wishes to extend his clients base by dipping your toes into opensource water, we encourage you to join our mailing list. Subscription page is just round the corner.

Who's taking part

Currently, OpenICC is an informal group of developers exchanging ideas and concepts on integrating ICC color management. Here is a mostly complete list of project developers involved in this discussion:

ICC is going open source

The ICC itself has began an open source project:

SampleICC provides an open source platform independent C++ library for reading, writing, manipulating, and applying ICC profiles along with applications that make use of this library.

Legal issues

In the middle of the 90's, there were some patent wars concerning colormanagement. Specifically the company EFI sued a lot of other companies that had implemented a RGB to CMYK conversion in their applications. Actually, it is important to be aware of which colormanagement-functionalities are part of the ICC-specs, and which are going beyond the ICC specs. Implementing colormanagement according ICC-specs is very safe. Implementing extended functions that are not part of the ICC specification could may be dangerous. This concerns especially littleCMS, which is the standard CMM for more or less all open source applications dealing with colormanagement. (Of course, argyllCMS also contains a CMM...) Some of this extended functionality can be very helpful for some usecases. So from the point of view of the user, it makes a lot of sense to implement and use them. One example is enhanced options for CMYK to CMYK conversions. Such functions are useful for the colormanagement of documents for the graphic arts. It can be implemented as special function for the CMM, or it can be solved by precalculating a devicelink-profile, which is used with a ICC-conforming CMM. If it is, for example, implemented as special function in littleCMS, a legal issue concerning littleCMS could touch all applications, which make use of littleCMS. If it is implemented in a standalone software, which generates and delivers a devicelink-profile, the legal issue covers only the standalone software. The usage of devicelink-profiles in other software is a standard functionality of the ICC-specs.

Specifications

Proposals

White papers for enhancing the ICC-specs

Observing real world colormanagement-workflows with ICC-profiles, it is clear that some problems should be solved with better and more clear defined ICC-specs. Actually, some of such enhancements can be done through "white papers". Such a white paper could e.g. describe extended functions of the CMM. One example of such enhancement is the description of Blackpoint Compensation in Adobe Products at *http://www.color.org/Adobe1bpc.pdf If developers or colormanagement-consultants think, that the ICC-specs need some enhancements, the OpenICC wiki could be used as collaborative platform to produce such whitepapers.

Every proposal for an ICC Whitepaper should be a Subpage in the OpenICC wiki and should be structured as following:

Actual proposals for ICC whitepapers

Better handling of ICC Grey Objects

IccGreyObjects

Device Settings in ICC

Device_Settings at ColourWiki includes a specification proposal for handling device settings inside a ICC profile. As device settings are closely related to the validity of ICC profiles, such information should be included to make the profile selection process easier across systems. This provides the means to automatically select or reject a ICC depending on the installed driver software and the to be accessed devices and media.

HDR Rendering Description

The goal of the HdrRenderingDescription is to provide a way of, how to render an LDR representation from a certain HDR image in different applications to appear similar. Such a description should be included into a ICC style colour profile. As one step a OpenIccForGoogleSoC2007 project was underway.

General Topics

Directory scheme for Colour Management

OpenICC Directory Proposal

Requirements of Applications and Services

Google SoC

Suggestions for Googles Summer of Code 2009 are here OpenIcc/GoogleSoC2009. Students will find our project ideas, contact persons, requirements and other hints there.

Students who successfully complete their projects will receive a significant stipend from Google for their work. Not our application is not agreed upon. For the older projects and ideas see here OpenIccForGoogleSoC2008 and here OpenIccForGoogleSoC2007.


Help for editors

Here is the editing manual http://www.freedesktop.org/wiki/HelpContents