Talk:Image file formats
Encapsulation formats
PDF is a container format able to fully encapsulate SVG (PostScript imaging model), PNG (lossless predictor+deflate), JPEG (lossy DCT). It would simplify the rendering path to only support PDF. The question is finding the level of PDF that provides the balance between functionality and the excesses of functionality that Adobe have started including at PDF level 1.5 and above. Sladen 06:50, 22 December 2006 (EST)
List of interesting formats
These formats are quite attractive but have some problems - thus are not yet included in standard supported set.
DJVU
Format designed for text scans. Most printed text include a lot of similar shapes (letters). And small differences are not important (usually they are artefacts of scanning). DVJU uses this fact to reduce size of files - the cost is CPU and RAM usage. There are free reader/writer/converter.
- This is not really an image format. It is more of an ebook compression format for scanned books. Therefore I have discussed this on a page about ebook formats. It is one of the formats supported by Evince and it allows existing paper books to be quickly and efficiently distributed on the OLPC without any worries about Unicode and font support.
- It's more of a technology. The intelligent part is separating high-frequency bi-level (black and transparent) foreground material from low frequency full-colour background material (paper texture and photographs). The foreground (text) is moved out of the way and the background "filled in". The background is highly-lossly compressed and the mono foreground is lossless compressed. Transformed to PDF terms, you have a stretched background JPEG with a coloured high-resolution mask drawn over the top. A PDF containing the same data is much more widely understood... Sladen 06:39, 22 December 2006 (EST)
JBIG
Format designed by JPEG Group for bi-level (black and white) images. Can be used to effectively compress scans. There are free reader and writer.
JPEG 2000
This is "JPEG for 21 century". It uses wavelets and usually offer better compression then JPEG or better quality (both formats are lossy so you can choose better quality or better compression). It's much nicer is regard to sharp edges (i.e. text and diagrams) but requires more processor power so it's not clear if it's good trade-off for OLPC. There are free reader/writer/converter.
MNG
While PNG is GIF-replacement without animation support MNG goes further and adds animations and JPEG-compression to it. Perhaps better to stick with combination of JPEG/PNG (or may be JPEG 2000/PNG) and SVG (SVG can refer to external JPEG/PNG files). There are free reader/writer/converter.
List of objectionable formats
Here is list of formats readable by different free software readers. Most of them should not be used by OLPC programs.
BMP
This is old proprietary format developed more then 10 years ago by Microsoft. Does not offer alpha-channels, even microsoft is switching from BMP to PNG.
SWF
Format initially developed for Macromedia Flash. Has a lot of nice features but can only be played by Macromedia Flash Player. There are free player but it's not 100% compatible (and probably never will be 100% compatible).
- Most of what Flash can do is supported by SVG. There are converters available for existing content such as http://www.eprg.org/~sgp/swf2svg.html and http://www.titan.napier.ac.uk/~05011301/ however, Flash content is often full of a lot of animated fluffy eye-candy that does not contribute to the goal of educating children interactively.
TIFF
Extensible image format. CMYK, LZW, JPEG, RLE, layers and multipage... A lot of features are important for desktop publishing but probably useless for OLPC.
WMF
This is old proprietary format developed more then 10 years ago by Microsoft. You can use libwmf (free software) or SVG Factory (freeware, no sources) to convert images to SVG. Some images will be mangled in conversion - what do you expect from proprietary format with poor documentation ?
Discussion
Can someone with actual OLPC hardware play with JasPer to see if it's speed is acceptable for OLPC needs ? Can someone compare jbig2enc and DjVuLibre for scans compression ?
PNG section
"... then take the JPEG from the camera and convert it to PNG. This will sharpen the edges of the letters and ..."
- PNG is a lossless format. However conversion from JPEG to PNG is not lossless. You are removing some colors (or shades of grey) from the picture - of course it'll be different after that. Without such conversion you can not use very space-effective PNG with color palette and truecolor PNG is wastefull! Further editing will not mangle your picture - that's true (this is where losslessness becomes important) and that's huge win over JPEG (where each and every open-edit-save cycle is losing fidelity). But initial conversion is not lossless and indeed will usually sharpen the edges of the letters...
Since when was SVG object orientated?
Is that meant to mean that you should view xml elements as objects with properties? Interesting but I'm pretty sure that's not the conventional understanding of xml. Is it called object orientated for a reason? Perhaps the fact that it can be split into its original components and is xml so is therefore inherently more open than bitmap formats (Apart from perhaps xcf but I'm not sure if that counts).