Thanks to Julio Marchi for this space in MSX All
 

MSX Palette Project

  This project aims at developing a MSX palette editor, as well as, a palette optimizer.

  1. Introduction
  The palette project appeared in 2003 in order to complement the MSX Viewer 4. The first prototype could only display together all the 512 colors from MSX 2 and inform the R,G,B value, whenever the mouse moves over a color.   As soon MSX Viewer 5 development started, a new palette editor was created. This editor could not only display the palette and inform the R,G,B, but also allow user to modify the palette. Also, the editor was extended to V9990 video chip, which has 64 out of 32768 colors.
  Futhermore, a palette optimizer was created to optimize both palette systems to fit a given image, improving the image final quality.

  History:
  2009 - MSX Viewer 5 (beta) is launched bringing a palette editor and a palette optimizer.
  2003 - The first prototype could only display the 512 colors from MSX 2, serving as a kind of "palette catalog".

  2. The editor
  The palette editor was created together with MSX Viewer 5, showing several new stuff. The editor main functionalities are presented now.
  The editor allows user to:
  - Read the R,G,B from a given color.
  - Change the palette index by just drawing and dropping the index number onto the desired color.
  - Change the R,G,B values right on the palette table.
  - Change the palette colors to a ready-made palette.
  - Load or save the palette. Compatible with "the Gimp" palette.
  - Apply any palette color combination on an image.




  Is it possible to adapt an image to any palette. For example, if we create a palette with blue color shade, the image results on a blue shaded image.




  Using one of those methods for color identification like "Euclidean Distance", the image results on a blue shaded image.



  3. Palette Optimization
  MSX Viewer 5 has also a good tool to use with the palette: the palette optimizer. This tool was designed to adapt the MSX 2 or V9990 palette and select the best colors for a given image. The K-Means algorithm is used to achieve this goal.

  The next example converts a PC image to MSX, using the V9990 GSCREEN 13, which has 64 out of 32768 colors.

  After clicking on the "optimze" button at the "Color Recognition" stage, a dialog pops up asking the maximum number of iterations and the number of colors to be used. This last option is interesting, once allows user to reserve some colors for future use.

  After some iterations, the ideal palette if found. We can see the results by opening the palette editor. Notice that the V9990 palette editor is quite different from the MSX 2 palette editor. Nevertheless, the V9990 palette editor is more familiar to the PC color dialogs.




  After using the optimization tool, we must recognize the new palette using some color recognize method. The result from optimization tool combined with "Error Diffusion" can be seen on the next figure. Notice that this figure has only 64 colors.




  5. Related Articles
  Otimizacao da Paleta de Cores


Marcelo Teixeira Silveira
Systems and Computing Engineer - UERJ
Computing Engeneer Master (M.Sc.) - UERJ

© MarMSX 1999-2018