Image Rendering

It was noticed by many Sony Reader users that quality of images and text on the PRS-500 and PRS-505 screens depend on the file type. I personally was always surprised by grayish look of PDF documents and their significant improvement after transferring to LRF files ("LRF pictures") even if no filtering was applied.

Here I prove the following:

1. PRS-505 uses 8-level gray scale for images and font rendering in LRF files (in contrast to 4-level palette in PRS-500).
2. Rendering of LRF fonts differs from the rendering of RTF and TXT fonts. Rendering of RTF and TXT fonts uses 256-level palette for both PRS-500 and PRS-505.
3. PDF pages are always have some background independent on how PDF was created (the reason of grayish look). PDF uses 256-level palette in both PRS-500 and PRS-505.
4. Images in LRF files are being converted to 8-level (PRS-505) and 4-level (PRS-500).
5. Pallet mapping to 4-level (PRS-500) and 8-level (PRS-505) is nonlinear, this way some sort of gamma correction is achieved. This is one of the reasons why LRF files looks better than other formats. For example, if PDF file is converted to some "picture" LRF, its 256-level palette is being transformed to 4-level, (or 8 level) pallets nonlinearly with some gamma enhancement of the screen look.
6. Font rendering in RTF and TXT files has some undesired features (like "jumping" of characters).

All the following is about frame buffer content. How this content will look on a real e-ink screen is another subject. Sony does special care on palette mapping only in LRF files.

LRF font rendering


Fig. 1a. PRS-500 LRF font characters. (Dutch801 BT font)

Fig. 1b. PRS-505 LRF font characters. (Dutch801 BT font)


Fig 1a and Fig. 1b show magnified area of 2 characters. We can see that pallets used for font rendering are different. The 4-gray pallet and 8-gray palette were tested over integration of the full screen area. The pallets correspond to the pallets discussed below in 256-gray color experiment.

RTF and TXT font rendering


Fig. 2 PRS-500 and PRS-500 RTF (Dutch801 BT font)


Fig. 3. Characters "jumping" in Russian fonts (never observed in LRF files), look at the "р".


TXt and RTF font antialiasing uses 256-level palette in both PRS-500 and PRS-505, this was checked over the full screen area. Have a look how "o" differs from the "o" in LRF files.

PDF files

Fig. 4. PRS-500 and PRS-505 PDF screen at the border area, note the gray background.

Fig. 5. Zoomed area to see this background.

Fig. 4 and Fig. 5 show PDF file, gray background is clearly seen on PC screen. You can also see this background on PRS screen, though less noticeable. This background is always part of any PDF file (independent on the program used for PDF creation).

LRF pictures

Fig. 5 Zoomed picture in PRS-500 LRF file.

Fig. 6 Zoomed picture in PRS-505 LRF file.

The pictures in LRF files are treated differently for PRS500 and PRS-505, you may see different dithering algorithm in the above example. Images in PRS-500 are converted to 4-level palette, images in PRS-505 are converted to 8-level palette. The pallete mapping is discussed below. While "wrapping" PDF to LRF file pictures, the PDF's 256-level palette is being converted to 4, or 8 level pallets correspondingly.

Palette mapping

To check pallets mapping some test LRF file was created. This files includes 256 objects of the "line" type, each of 1 pixel thickness. Every 5 and 10 line is a little bit longer to produce "ticks" for the counting. The colors in LRF files are in the 0x00RRGGBB format, the color of the each individual line was 0x00iii, where i=0; i<256.

Here is how this file looks like in the "Ebook Library" (or "Connect") programs (screen capture), in PRS-500 and PRS-505 (screen bitmap).


Fig.7 Set of 256 gray lines on PC screen (LRF file)

Fig.8 Set of 256 gray lines on PRS-500 screen (LRF file)

Fig.9 Set of 256 gray lines on PRS-505 screen (LRF file)


The mapping is not uniform, the "gravity center" is shifted toward darker colors.


Fig. 10. Palette mapping in PRS-500, X axis represents i in 0x00iii gray color. Y-axis are numbers in the frame buffer.


Fig. 11. Palette mapping in PRS-505, X axis represents i in 0x00iii gray color. Y-axis are numbers in the frame buffer.