Die letzten Codes für 14000 und mehr (
https://www.dslr-forum.de/showpost.php?p=5040298&postcount=30) können bei ISO100 an der 40D auch noch entfallen.
Man sollte alle möglicherweise auftretenden Werte kodieren können.
"Überflüssige Codes" sollte man in der Tabelle lassen, sie treten entweder überhaupt
nicht oder extrem selten auf und werden dann durch den Entropiecoder gehandhabt.
Aber wenn sie auftreten, kann man sie kodieren.
Die Codetabelle (wenn man sie nichtparametrisiert abspeichert) wird ein paar Millibit länger, das spielt aber bei 15 MPixeln keine Rolle mehr. Bei nichtparametrisierter Abspeicherung würde man aber ohnehin nur die Differenzen abspeichern und diese erst über einen RLE-Coder und dann über einen Entropiecoder geben.
Bei einer 5DII, ISO 100, 1Sigma sieht z.B. die Quantisierungstabelle so aus:
0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98, 105, 112, 119, 126, 133, 140, 147, 154, 161, 168, 175, 182, 189, 196, 203, 210, 217, 224, 231, 238, 245, 252, 259, 266, 273, 280, 287, 294, 301, 308, 315, 322, 329, 336, 343, 350, 357, 364, 371, 378, 385, 392, 399, 406, 413, 420, 427, 434, 441, 448, 455, 462, 469, 476, 483, 490, 497, 504, 511, 518, 525, 532, 539, 546, 553, 560, 567, 574, 581, 588, 595, 602, 609, 616, 623, 630, 637, 644, 651, 658, 665, 672, 679, 686, 693, 700, 707, 714, 721, 728, 735, 742, 749, 756, 763, 770, 777, 784, 791, 798, 805, 812, 819, 826, 833, 840, 847, 854, 861, 868, 875, 882, 889, 896, 903, 910, 917, 924, 931, 938, 945, 952, 959, 966, 973, 980, 987, 994, 1001, 1008, 1015, 1022, 1029, 1036, 1043, 1050, 1057, 1064, 1071, 1078, 1086, 1094, 1102, 1110, 1118, 1126, 1134, 1142, 1151, 1160, 1169, 1178, 1187, 1196, 1205, 1214, 1224, 1234, 1244, 1254, 1264, 1274, 1284, 1294, 1305, 1316, 1327, 1338, 1349, 1360, 1371, 1382, 1394, 1406, 1418, 1430, 1442, 1454, 1466, 1478, 1491, 1504, 1517, 1530, 1543, 1556, 1569, 1582, 1596, 1610, 1624, 1638, 1652, 1666, 1680, 1694, 1708, 1723, 1738, 1753, 1768, 1783, 1798, 1813, 1828, 1844, 1860, 1876, 1892, 1908, 1924, 1940, 1956, 1973, 1990, 2007, 2024, 2041, 2058, 2075, 2092, 2110, 2128, 2146, 2164, 2182, 2200, 2218, 2236, 2255, 2274, 2293, 2312, 2331, 2350, 2369, 2388, 2408, 2428, 2448, 2468, 2488, 2508, 2528, 2548, 2569, 2590, 2611, 2632, 2653, 2674, 2695, 2716, 2738, 2760, 2782, 2804, 2826, 2848, 2870, 2892, 2915, 2938, 2961, 2984, 3007, 3030, 3053, 3076, 3100, 3124, 3148, 3172, 3196, 3220, 3244, 3268, 3292, 3317, 3342, 3367, 3392, 3417, 3442, 3467, 3492, 3518, 3544, 3570, 3596, 3622, 3648, 3674, 3700, 3727, 3754, 3781, 3808, 3835, 3862, 3889, 3916, 3944, 3972, 4000, 4028, 4056, 4084, 4112, 4140, 4169, 4198, 4227, 4256, 4285, 4314, 4343, 4372, 4402, 4432, 4462, 4492, 4522, 4552, 4582, 4612, 4643, 4674, 4705, 4736, 4767, 4798, 4829, 4860, 4892, 4924, 4956, 4988, 5020, 5052, 5084, 5116, 5149, 5182, 5215, 5248, 5281, 5314, 5347, 5380, 5414, 5448, 5482, 5516, 5550, 5584, 5618, 5652, 5686, 5721, 5756, 5791, 5826, 5861, 5896, 5931, 5966, 6002, 6038, 6074, 6110, 6146, 6182, 6218, 6254, 6291, 6328, 6365, 6402, 6439, 6476, 6513, 6550, 6588, 6626, 6664, 6702, 6740, 6778, 6816, 6854, 6893, 6932, 6971, 7010, 7049, 7088, 7127, 7166, 7206, 7246, 7286, 7326, 7366, 7406, 7446, 7486, 7527, 7568, 7609, 7650, 7691, 7732, 7773, 7814, 7856, 7898, 7940, 7982, 8024, 8066, 8108, 8150, 8193, 8236, 8279, 8322, 8365, 8408, 8451, 8494, 8538, 8582, 8626, 8670, 8714, 8758, 8802, 8846, 8891, 8936, 8981, 9026, 9071, 9116, 9161, 9206, 9251, 9297, 9343, 9389, 9435, 9481, 9527, 9573, 9619, 9666, 9713, 9760, 9807, 9854, 9901, 9948, 9995, 10043, 10091, 10139, 10187, 10235, 10283, 10331, 10379, 10428, 10477, 10526, 10575, 10624, 10673, 10722, 10771, 10821, 10871, 10921, 10971, 11021, 11071, 11121, 11171, 11222, 11273, 11324, 11375, 11426, 11477, 11528, 11579, 11631, 11683, 11735, 11787, 11839, 11891, 11943, 11995, 12048, 12101, 12154, 12207, 12260, 12313, 12366, 12419, 12473, 12527, 12581, 12635, 12689, 12743, 12797, 12851, 12906, 12961, 13016, 13071, 13126, 13181, 13236, 13291, 13347, 13403, 13459, 13515, 13571, 13627, 13683, 13739, 13795, 13852, 13909, 13966, 14023, 14080, 14137, 14194, 14251, 14309, 14367, 14425, 14483, 14541, 14599, 14657, 14715, 14774, 14833, 14892, 14951, 15010, 15069, 15128, 15187, 15247, 15307, 15367, 15427, 15487, 15547, 15607, 15667, 15728, 15789, 15850, 15911, 15972, 16033, 16094, 16155, 16217, 16279, 16341, 16383
Die Differenztabelle:
Startwert: 0
Differenzen: 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 51, 51, 51, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 62, 62, 62, 62, 42
Die kann man kodieren:
Startwert: 0
154x7, 8x8, 8x9, 8x10, 8x11, 8x12, 8x13, 9x14, 8x15, 8x16, 8x17, 8x18, 8x19, 8x20, 8x21, 8x22, 8x23, 9x24, ..., 8x61, 4x62, 1x42
Daraus wir ein:
0, (Startwert)
57, (Anzahl der Codeabstände)
[154, 8, 8, 8, 8, 8, 8, 8, 9, 8, 8, 8, 8, 8 ,8 ,8, 8, 8, 8, 9, ..., 8, 4, 1], (Häufigkeit der einzelnen Codeabstände: 8 bit unsigned)
[+7, +1, +1, +1, +1, +1, ..., -20] (Größenentwicklung der Codeabstände: 8 bit signed)
Nach einer Entropiekodierung bleiben davon ~40 Byte übrig.