cristy | 91bc711 | 2012-03-01 01:45:06 +0000 | [diff] [blame] | 1 | <?xml version="1.0" encoding="ISO-8859-1"?> |
| 2 | <!DOCTYPE quantization-tables [ |
| 3 | <!ELEMENT quantization-tables (table)+> |
| 4 | <!ELEMENT table (description , levels)> |
| 5 | <!ELEMENT description (CDATA)> |
| 6 | <!ELEMENT levels (CDATA)> |
| 7 | <!ATTLIST table slot ID #REQUIRED> |
| 8 | <!ATTLIST levels width CDATA #REQUIRED> |
| 9 | <!ATTLIST levels height CDATA #REQUIRED> |
| 10 | <!ATTLIST levels divisor CDATA #REQUIRED> |
| 11 | ]> |
| 12 | <!-- |
nicolas | 2b53c61 | 2013-05-04 01:42:47 +0000 | [diff] [blame] | 13 | JPEG quantization table created by Dr. Nicolas Robidoux, Senior Research |
| 14 | Scientist at Phase One (www.phaseone.com) for use with 2x2 Chroma |
| 15 | subsampling and (IJG-style, hence ImageMagick-style) quality level |
| 16 | around 75. |
| 17 | |
| 18 | It is based on the one recommended in |
| 19 | |
| 20 | Relevance of human vision to JPEG-DCT compression by Stanley A. Klein, |
| 21 | Amnon D. Silverstein and Thom Carney. In Human Vision, Visual |
| 22 | Processing and Digital Display III, 1992. |
| 23 | |
| 24 | for 1 minute per pixel viewing. |
| 25 | |
| 26 | Specifying only one table in this xml file has two effects when used with |
| 27 | the ImageMagick option |
| 28 | |
| 29 | -define jpeg:q-table=PATH/TO/THIS/FILE |
| 30 | |
| 31 | 1) This quantization table is automatically used for all three channels; |
| 32 | |
| 33 | 2) Only one copy is embedded in the JPG file, which saves a few bits |
| 34 | (only worthwhile for very small thumbnails). |
cristy | 91bc711 | 2012-03-01 01:45:06 +0000 | [diff] [blame] | 35 | --> |
| 36 | <quantization-tables> |
nicolas | 2b53c61 | 2013-05-04 01:42:47 +0000 | [diff] [blame] | 37 | <table slot="0" alias="luma"> |
| 38 | <description>Luma Quantization Table</description> |
cristy | 91bc711 | 2012-03-01 01:45:06 +0000 | [diff] [blame] | 39 | <levels width="8" height="8" divisor="1"> |
nicolas | 2b53c61 | 2013-05-04 01:42:47 +0000 | [diff] [blame] | 40 | 16, 16, 16, 18, 25, 37, 56, 85, |
| 41 | 16, 17, 20, 27, 34, 40, 53, 75, |
| 42 | 16, 20, 24, 31, 43, 62, 91, 135, |
| 43 | 18, 27, 31, 40, 53, 74, 106, 156, |
| 44 | 25, 34, 43, 53, 69, 94, 131, 189, |
| 45 | 37, 40, 62, 74, 94, 124, 169, 238, |
| 46 | 56, 53, 91, 106, 131, 169, 226, 311, |
| 47 | 85, 75, 135, 156, 189, 238, 311, 418 |
| 48 | </levels> |
| 49 | </table> |
| 50 | <!-- |
| 51 | If you want to use a different quantization table for Chroma (say), just add |
| 52 | |
| 53 | <table slot="1" alias="chroma"> |
| 54 | <description>Chroma Quantization Table</description> |
| 55 | INSERT 64 POSITIVE INTEGERS HERE, COMMA-SEPARATED |
cristy | 91bc711 | 2012-03-01 01:45:06 +0000 | [diff] [blame] | 56 | </levels> |
| 57 | </table> |
| 58 | |
nicolas | 2b53c61 | 2013-05-04 01:42:47 +0000 | [diff] [blame] | 59 | here (but outside of these comments). |
| 60 | --> |
cristy | 91bc711 | 2012-03-01 01:45:06 +0000 | [diff] [blame] | 61 | </quantization-tables> |
nicolas | 2b53c61 | 2013-05-04 01:42:47 +0000 | [diff] [blame] | 62 | |