Colour Management GSoC projects

Google Summer of Code

There is already much written about Google Summer of Code. I just want to point you to a bunch of cool colour management (CM) project ideas.

OpenICC lists some ideas, which are interesting for cross desktop CM, especially for start in bringing CM to toolkits. Interested students are basically free to select one toolkit, which fits them most.

The CMM’s for Oyranos idea shall ease access to the upcoming spectral imaging capabilities inside the ICC architecture and to use smart CMM’s like ArgyllCMS was demoed doing stand alone and within ColorSync. Smart CMMs allow to optimise colour conversions for a images and devices, which will show up in more lively photographs.

The OpenGTL/OpenCL meta backend for the Oyranos CMM framework will enable us to write CMM’s, which run on the GPU instead of the CPU. That would potentially bring a big speed improvement for deploying applications through a simple CMS API.

One student proposed to work on characterisation based ICC colour correction inside KWin, which will fly over any of the old style per single channel gamma calibration. If you like to get ride of each monitor showing you a different saturated red, green or blue desktop background, then go ahead and propose a similar project for one of your favorite compositing window managers to the openSUSE or OpenICC orgs.

And of course there are printing related CM project ideas. One for CM printing with Krita and one project for general CM print queue setup in KolorManager.

LGM 2012 talks

As mentioned in a post before, the Libre Graphics Meeting will be held in Vienna from 2th until 5th of May this 2012. I have now submitted my talks and will hopefully know in some days if they are accepted.

OyranosColour Management a la Greek: will give a overview about some technical concepts for platform independent color management systems.
Evolving Concepts for Colour Management: will summarise the ongoing ideas and discussions on the freedesktop working group OpenICC.

Like in the years before, there is a chance to meet with students of the upcoming Google Summer of Code projects.

Sirko submitted Taxi DB – Call A Cab To Bring The Colors: which describes the idea behind the ICC profile database and hopefully we getting some feedback and ideas, on how to make sure, that the quality of the profiles will be high.

Markus Raab has submitted a talk about Elektra, which is used as DB API by Oyranos. I hope that will show new lively developments in Elektra ;-)

I am sure the self-styled competitor will also be around and give an talk about his view on color management.

If we can get to useful work on specs on a OpenICC round table for the sake of cross desktop compatibility, then even better.

Gustav likes to attend the Libre Graphics Meeting, but he needs some support to get there. We should help him, so that he can meet Boudewijn Rempt and some others from Krita, who can help him to find his way to the KDE community. But he needs some money for travelling. And there are still some other requests for generosity I mentioned before.

Tupi Libre Graphics Meeting Tatica
Click here to lend your support to: Libre Graphics Meeting Presentation and make a donation at www.pledgie.com ! Click here to lend your support to: Libre Graphics Meeting 2012 Vienna and make a donation at www.pledgie.com ! Click here to lend your support to: Tatica travels to LGM and make a donation at www.pledgie.com !

Libre Graphics Meeting (LGM) is coming along nicely and will surely become again a cool event for the FLOSS community. LGM is this year co-located with the Linuxwochen Vienna and their Call for Papers is still open until 1st of April.

CompICC-0.8.5 released

A new version of the compiz plugin for ICC colour correction of monitors is released. This release is a feature release.

Changes Overview:

  • new support per region ICC profiles
  • new switch to X Color Management specification
  • require libXcm-0.5.0 and Oyranos-0.4.0

Changes from 0.8.4:

  • fix alpha blending
  • speed up load time (cache the transformed pixels in memory)

About:
The project brings you instant desktop colour correction on GPU through the compiz window manager (0.7.x/0.8.x). It supports multi monitors and live connecting. The implicite colour conversion appears on the fly. To opt out of colour correction for specialised graphics applications the X Color Management spec 0.4 is supported. Devices can be configured through the Oyranos Colour Management System.

ChangeLog:
http://compicc.git.sourceforge.net/git/gitweb.cgi?p=compicc/compicc;a=shortlog;h=refs/tags/0.8.5

git git://compicc.git.sourceforge.net/gitroot/compicc/compicc
git sha1: c963bdbc7aa4bf9703f3c87f82734d1223ff7d63
package: http://downloads.sourceforge.net/project/compicc/Compicc/compicc-0.8.5.tar.bz2
size: 76548 Byte
sha1sum: 902f2ea6b9c0aabe91297f6b80dd1f5ef9f910d1 compicc-0.8.5.tar.bz2
md5sum: 41a1a08c82ee18025d535c3dbc86aaf8 compicc-0.8.5.tar.bz2
Linux RPM: http://download.opensuse.org/repositories/multimedia:/color_management/

Oyranos-0.4.0 released

The new version of the colour management system Oyranos is released. Version 0.4.0 is a feature and bug fix release.

Changes Overview:

  • new list Taxi DB profiles for a local monitor
  • new download and install ICC profiles from Taxi DB
  • fix HDMI2 XRandR EDID
  • new widget classes to image_display for per window CM
  • new add oyranos-monitor-daemon script
  • switch to libXcm 0.5.0 for X Color Management support

About:
Oyranos is a colour management system allowing to share various settings across applications and services. The provided interfaces are the C library, native graphical front ends and partitial access through command line tools. The library is licensed under newBSD.

Known Applications using Oyranos:
ICC Examin, the KDE Kolor Manager and Synnefo configuration dialogs, the CompIcc colour server and more.

ChangeLog:
http://www.oyranos.org/scm?p=oyranos.git;a=shortlog;h=refs/tags/0.4.0

Thanks to all contributors and bug reporters.

git git://www.oyranos.org/git/oyranos
git sha1: 97e01081831eb129cdea67c2c2b1acf23478cf8a
package: http://downloads.sourceforge.net/project/oyranos/Oyranos/Oyranos 0.4/oyranos-0.4.0.tar.bz2
size: 1265839 Byte
sha1sum: 4841e1271a24071600494fc0c1281c65b007de76 oyranos-0.4.0.tar.bz2
md5sum: 4ec2c728c5ca7d450c47d95405de3ade oyranos-0.4.0.tar.bz2
Linux RPM: http://download.opensuse.org/repositories/multimedia:/color_management/

libXcm-0.5.0 released

This is a major new release of libXcm, the X11 Color Management library. The name space of the core protocol changed with the new spec.

Changes Overview:

  • switch from net-color to X Color Management specification 0.4
  • support per region ICC profile
  • add API to parse capabilities from _ICC_COLOR_DESKTOP atom
  • use autotools
  • add XcmVersion.h file
  • build under osX and Win32 without X11 and Linux specific parts

About:
The library communicates X colour regions between server and clients, which is described in the included X Color Management spec. EDID data can be fetched through i2c communication. EDID data can be parsed for identification and access to colorimetric
calibration data. libXcm helps in observing known X11 colour management events.

Known applications using libXcm:
The library is used by CompIcc a compiz plugin for full screen colour correction in hardware. libXcm allows the plugin to support multi monitor and multiple regions per window. The Oyranos Colour Management System uses the EDID parser. qcmsevents applet observes and displays colour management events in a nice GUI. Xcm contains three command line tools for EDID fetching, EDID parsing and event observing.

ChangeLog:
http://www.oyranos.org/scm?p=xcolor.git;a=shortlog;h=refs/tags/libXcm-0.5.0

git git://www.oyranos.org/git/xcolor
git sha1: 2e1562482e2d8549db6111d401d5be7b55c5680c
package: http://downloads.sourceforge.net/project/oyranos/libXcm/libXcm-0.5/libXcm-0.5.0.tar.bz2
size: 284884 Byte
sha1sum: ab24831a96447cb5afd04330fbd739c9bba37ffb libXcm-0.5.0.tar.bz2
md5sum: f9f3f2449cb91fbc814876653b644e13 libXcm-0.5.0.tar.bz2
Linux RPM: http://download.opensuse.org/repositories/multimedia:/color_management/

KDE End to End Colour Management

The last blog posts about KDE and colour management might have been irritating about what actual happens on colour managed desktops. Here come some clarifications and thoughts from the Oyranos CMS maintainer. The project name starts with Oy (Oyranos like sky), hence my nick oy on IRC ;-)

Colour Management Systems (CMS) are a precondition to do colour correction of input and output devices. But this is not sufficient for having a colour corrected desktop. The claim was made, that Gnome is the first colour managed desktop on Linux. But Gnomes window manger mutter has no means to use ICC profiles. The same is true for all other window managers with an exception of old Compiz. A CMS selects only the needed ICC profile and does the configuration in that field. But the background, applications like the dock and most others are not colour corrected by standard ICC profiles mechanisms in Linux. The only thing users can do since many years on Linux is to do monitor calibration setup per single channel. This helps for better grayscale, but not for compensating of colour gamuts. Calibration is only a first step, but not sufficient for ICC colour correction. So Gnome users have today no colour corrected desktop like all other Linux users.

What is needed to get to a End to End colour corrected desktop in KDE? A more general Overview can be found here.

  1. KWin needs ICC support, in order to colour correct the KDE desktop in a reasonable time frame. That will help with the output side in a fast way by using the GPU during compositing while using few resources. If you feel it is time to do something, here is a  Google Summer of Code CM project idea for KWin. With my experience from the CompICC project, I would be glad to help any such project.
  2. An other project I would find really helpful is to provide colour correction to KDE’s primary image viewer gwenview. If people could help with a hackfest, that would be cool. We have such thing in mind and some ideas about, maybe you like to join us.
  3. Qt/KDE needs to explore how to do own fast colour correction of a complete window to be prepared for the future. Here are two project ideas.
  4. OpenICC did investigate to get print colour management right. There are currently two approaches who are promising. OpenICC has one project idea to introduce colour managed printing into Krita and one for user profile setup for colour managed print queues with KolorManager. These are two complementing, maintainable and robust paths for getting printing CM right.

Now some clarifications about Oyranos itself, as in the kde-planet where many wrong statements transported intermixed with half true claims.

  • Core is a toolkit independent library
  • KDE, Qt and FLTK front ends exist like KolorManager. Other native ones are possible.
  • The Elektra API and library is used for format independent configuration DB access.
  • Oyranos is planed to switch to a OpenICC JSON DB format to converge with ArgyllCMS and other interested CMS’es
  • Oyranos is a cross platform project
  • A DBus API would be welcome on top of the basic library but not in its core
  • Oyranos forces no one to use the CPU or prohibit to use the GPU :-D
  • The CMS provides means to do optional multi monitor colour correction and other conversions.
  • CompICC uses Oyranos and does colour correction on the GPU
  • Oyranos developers belief in collaboration :-)
  • Self containment in Oyranos results from adhering to and work on interoperable standards.
  • User configurations belong to users in Oyranos, so it needs no special root rights, which exposes security and privacy risks.
  • Oyranos provides optional policies for grouping single settings. That is a additional feature not a limitation.
  • Oyranos uses many advanced automatism’s to do it’s work successful
  • The CMS is designed to work with default settings.
  • Advanced manual configurations are supported and part of Oyranos’ user centrism.
  • Oyranos cares about quality and requires a careful selected and peer reviewed profile set that comes with no Fakes and no wrong colorimetry.
  • Licensing fits most open source and commercial projects with a newBSD style license.

Choice is a good thing for users. As a CMS author I have no problems, that an other CMS comes to KDE too on Linux. Many Linux CM standards I initiated or helped with allow for such interoperability, which is in the spirit of the ICC standard.

LGM Vienna 2-5 May 2012

The Libre Graphics Meeting is the annual event for open source creative graphics software. It greatly helps in improving the open source software stack through lots of talks, discussions, round tables, work shops and wonderful face to face meetings. There is always a great mixture of developers, artists, writers, translaters and interested people present, who come together in a very friendly and inclusive atmosphere. We had in the past always a OpenICC round table, when I was at LGM, and discussed various topics and planed around colour management. That should happen this year again with many ideas coming up.

To get people from all over the world to Europe, we need your help:

review!

Sirko has created another pledgie:

X Color Management 0.4 DRAFT1

Some days ago on FOSDEM I gave a presentation about Colour Management in Compositors. At that point is was not very clear how to introduce colour management especially into the upcoming Wayland display server core and thus make it wide spread. The answer from Wayland developers is the same as from Xorg ones. They want a small core and colour management does not fit inside this.

As a result of a discussion between several colour management interested people from wayland, toolkits and me on the wayland IRC channel, we found a smallest common denominator. That will be a per window colour correction mechanism. The advantage is, it will be very easy to implement inside compositors and they can even start today about ICC support. The biggest disadvantage for applications is, they need to colour correct the whole window. That is as well the reason, why I did not like the idea in the past. Anyway, hopefully toolkits will jump in at one point and make that easy. Meanwhile we need to focus on example code, which demonstrates how per window colour correction can work.

The spec can be found as usual in the libXcm git repository. The main new part is the _ICC_COLOR_OUTPUTS atom and XcolorOutput structure.

OpenICC Program FOSDEM 4 + 5 February 2012 in Brussels, Belgium

OpenICC uses 2012 a DevRoom at FOSDEM on Sunday together with Xorg people. The goal is to provide a meeting space for colour management topics.

The program is online on the OpenICC wiki. The talks will present and discuss colour management in Compositors, OpenICC, Scribus, Taxi DB, Oyranos and SVG2.

Oyranos Colour Management LiveCD III

The third version of the Oyranos Colour Management LiveCD is based on openSUSE-12.1 and will run on x86_64 compatible PC´s. I placed the ISO image yesterday after some preparations on the better accessible SourceForge site for download. The CD project starts into a instantly colour managed desktop, which is unique under Linux.

The ICC desktop colour correction is done by the CompICC colour server. The LiveCD contains the usual mixture of colour managed graphics applications. Among them is the colour management system Oyranos, the KDE Color Management panel, a profiler based on Argyll CMS and many colour management aware applications for drawing, colour analysis and desktop publishing. Due to package size changes not even all programs from the last release are covered. I am very sorry for that. Nevertheless I decided to include Firefox, as a very wide spread every days application. After fixing a bug in Firefox, the web browser is usable under CompICC and has generally improved regarding colour management. But still it has many colour management related issues.

The desktop widget contains some test images to help you verifying, your desktop is setup correctly and works inside all colour managed applications. Covered are some JPEG, PNG, TIFF and SVG images with wide gamut and swapped channel test profiles. You will surely spot problems, as not everything in Linux desktops is really polished regarding colour management. But these test data can help you in getting a sense of, what can be relied on and what not. You can easily include other applications into your test by installing from openSUSE. And please help the projects and report bugs to the according project bug trackers. This will show interest in the issues seen with colour management and helps developers spot current weaknesses, which are otherwise overseen.

The CD uses the stable version of the Compiz compositing window manager, which is the only one being able to run under KDE. While the Oyranos CMS is packaged in openSUSE, a full screen desktop colour correction is currently not possible with KDE´s KWin or any window manager other than Compiz with the CompICC plugin. One difference to the previous LiveCD is a better useable nouveau driver, which since greatly improved and can now launch into Compiz with GPU acceleration.