Knowledge

Elias delta coding

Source 📝

3138: 3128: 293: 1798:
Elias delta coding does not code zero or negative integers. One way to code all non negative integers is to add 1 before coding and then subtract 1 after decoding. One way to code all integers is to set up a
363: 914:
001010011 1. 2 leading zeros in 001 2. read 2 more bits i.e. 00101 3. decode N+1 = 00101 = 5 4. get N = 5 − 1 = 4 remaining bits for the complete code i.e. '0011' 5. encoded number = 2 + 3 = 19
1803:, mapping integers all integers (0, 1, −1, 2, −2, 3, −3, ...) to strictly positive integers (1, 2, 3, 4, 5, 6, 7, ...) before coding. This bijection can be performed using the 182: 391: 411: 177: 1962: 2630: 2441: 2330: 2836: 2659: 2453: 1804: 1894: 2144: 1862: 2841: 2418: 298: 295:
bits. This is useful for very large integers, where the overall encoded representation's bits end up being fewer due to the
2571: 2948: 2686: 2625: 2436: 2386: 2209: 2069: 2054: 1955: 24: 3061: 1793: 3071: 2909: 2760: 2679: 2473: 885:
Considering the one that was reached to be the first digit of an integer, with a value of 2, read the remaining
3044: 2664: 2458: 2246: 3141: 2177: 2806: 3131: 3034: 2576: 2134: 1948: 2124: 2119: 288:{\displaystyle \lfloor \log _{2}(x)\rfloor +2\lfloor \log _{2}(\lfloor \log _{2}(x)\rfloor +1)\rfloor +1} 3066: 2993: 2831: 2811: 2755: 2413: 2204: 2007: 918: 3167: 3076: 3017: 2943: 2791: 2381: 2376: 2231: 2074: 3177: 3081: 2654: 2448: 2149: 3172: 3022: 2393: 2280: 2236: 2049: 2032: 2022: 2647: 2398: 2182: 2027: 2919: 878:
Read and count zeros from the stream until you reach the first one. Call this count of zeros
371: 3051: 396: 2735: 2197: 2159: 1980: 8: 2966: 2857: 2816: 2801: 2770: 2765: 2674: 2581: 2514: 2483: 2468: 2251: 917:
This code can be generalized to zero or negative integers in the same ways described in
3039: 3009: 2988: 2894: 2826: 2720: 2408: 2224: 2214: 2109: 2089: 2084: 1922: 1829: 1824: 162: 141: 2620: 2983: 2971: 2953: 2821: 2705: 2642: 2488: 2403: 2359: 2320: 2002: 1914: 1926: 2958: 2914: 2887: 2882: 2740: 2725: 2635: 2544: 2539: 2368: 2101: 2079: 1971: 1906: 1871: 1834: 2877: 2691: 2615: 2596: 2566: 2534: 2500: 2059: 1997: 2669: 2463: 2192: 2187: 2044: 2017: 1989: 3161: 2976: 2924: 2591: 2586: 2561: 2493: 2114: 2012: 1918: 1875: 1860:(March 1975). "Universal codeword sets and representations of the integers". 3097: 2064: 2039: 1940: 900:
Put a one in the first place of our final output, representing the value 2.
1812: 3056: 2934: 2730: 2606: 2556: 1857: 1808: 28: 3113: 2904: 2899: 2786: 2745: 2551: 1910: 1800: 3027: 2872: 2529: 1937:(NB. The Elias δ code coincides with Hamada's URR representation.) 2796: 2270: 2219: 2310: 129:
into the highest power of 2 it contains (2) and the remaining
3145: 2750: 2343: 2290: 2300: 2154: 2139: 2129: 2275: 2241: 358:{\displaystyle \log _{2}(\lfloor \log _{2}(x)\rfloor +1)} 399: 374: 301: 185: 165: 405: 385: 357: 287: 171: 3159: 1895:"URR: Universal representation of real numbers" 1794:Variable-length quantity § Zigzag encoding 121:An equivalent way to express the same process: 1539:// potentially dangerous with malformed files. 1956: 1970: 343: 318: 276: 264: 239: 220: 211: 186: 27:encoding the positive integers developed by 1963: 1949: 889:digits of the integer. Call this integer 874:To decode an Elias delta-coded integer: 151:binary digits to this representation of 1863:IEEE Transactions on Information Theory 1852: 1850: 1805:"ZigZag" encoding from Protocol Buffers 109:all but the leading bit (i.e. the last 3160: 1892: 1944: 1856: 1847: 365:portion of the previous expression. 13: 1886: 1787: 14: 3189: 80:+1⌋ be the highest power of 2 in 3137: 3136: 3127: 3126: 102:+1-bit binary representation of 58:⌋; be the highest power of 2 in 1104:// calculate 1+floor(log2(num)) 924: 903:Read and append the following 352: 340: 334: 315: 273: 261: 255: 236: 208: 202: 1: 1840: 1131:// calculate floor(log2(len)) 929: 846:17 = 2 +  1893:Hamada, Hozumi (June 1983). 893:+1, and subtract one to get 7: 1818: 1813:JPEG Zig-zag entropy coding 1379: 34: 10: 3194: 3018:Compressed data structures 2340:RLE + BWT + MTF + Huffman 2008:Asymmetric numeral systems 1791: 3122: 3106: 3090: 3008: 2933: 2865: 2856: 2779: 2713: 2704: 2605: 2522: 2513: 2429: 2377:Discrete cosine transform 2367: 2358: 2307:LZ77 + Huffman + context 2260: 2170: 2100: 1988: 1979: 1807:(not to be confused with 816: 612: 508: 454: 3082:Smallest grammar problem 1899:New Generation Computing 1876:10.1109/tit.1975.1055349 1383: 933: 386:{\displaystyle \gamma '} 3023:Compressed suffix array 2572:Nyquist–Shannon theorem 406:{\displaystyle \gamma } 368:The code begins, using 179:, Elias delta (δ) uses 1830:Elias omega (ω) coding 1825:Elias gamma (γ) coding 1752:// write out the value 407: 387: 359: 289: 173: 159:To represent a number 3052:Kolmogorov complexity 2920:Video characteristics 2297:LZ77 + Huffman + ANS 408: 388: 360: 290: 174: 147:Append the remaining 3142:Compression software 2736:Compression artifact 2692:Psychoacoustic model 860:00 1 01 834:00 1 01 805:00 1 00 780:00 1 00 755:00 1 00 730:00 1 00 705:00 1 00 680:00 1 00 655:00 1 00 630:00 1 00 431:Implied probability 397: 372: 299: 183: 163: 3132:Compression formats 2771:Texture compression 2766:Standard test image 2582:Silence compression 3040:Information theory 2895:Display resolution 2721:Chroma subsampling 2110:Byte pair encoding 2055:Shannon–Fano–Elias 1911:10.1007/BF03037427 919:Elias gamma coding 601:0 1 1 576:0 1 1 551:0 1 1 526:0 1 1 497:0 1 0 472:0 1 0 403: 383: 355: 285: 169: 142:Elias gamma coding 95:zeros, followed by 3155: 3154: 3004: 3003: 2954:Deblocking filter 2852: 2851: 2700: 2699: 2509: 2508: 2354: 2353: 872: 871: 172:{\displaystyle x} 39:To code a number 3185: 3168:Data compression 3140: 3139: 3130: 3129: 2959:Lapped transform 2863: 2862: 2741:Image resolution 2726:Coding tree unit 2711: 2710: 2520: 2519: 2365: 2364: 1986: 1985: 1972:Data compression 1965: 1958: 1951: 1942: 1941: 1936: 1934: 1933: 1880: 1879: 1854: 1835:Golomb-Rice code 1783: 1780: 1777: 1774: 1771: 1768: 1765: 1762: 1759: 1756: 1753: 1750: 1747: 1744: 1741: 1738: 1735: 1732: 1729: 1726: 1723: 1720: 1717: 1714: 1711: 1708: 1705: 1702: 1699: 1696: 1693: 1690: 1687: 1684: 1681: 1678: 1675: 1672: 1669: 1666: 1663: 1660: 1657: 1654: 1651: 1648: 1645: 1642: 1639: 1636: 1633: 1630: 1627: 1624: 1621: 1618: 1615: 1612: 1609: 1606: 1603: 1600: 1597: 1594: 1591: 1588: 1585: 1582: 1579: 1576: 1573: 1570: 1567: 1564: 1561: 1558: 1555: 1552: 1549: 1546: 1543: 1540: 1537: 1534: 1531: 1528: 1525: 1522: 1519: 1516: 1513: 1510: 1507: 1504: 1501: 1498: 1495: 1492: 1489: 1486: 1483: 1480: 1477: 1474: 1471: 1468: 1465: 1462: 1459: 1456: 1453: 1450: 1447: 1444: 1441: 1438: 1435: 1432: 1429: 1426: 1423: 1420: 1417: 1414: 1411: 1408: 1405: 1402: 1399: 1396: 1393: 1390: 1389:eliasDeltaDecode 1387: 1375: 1372: 1369: 1366: 1363: 1360: 1357: 1354: 1351: 1348: 1345: 1342: 1339: 1336: 1333: 1330: 1327: 1324: 1321: 1318: 1315: 1312: 1309: 1306: 1303: 1300: 1297: 1294: 1291: 1288: 1285: 1282: 1279: 1276: 1273: 1270: 1267: 1264: 1261: 1258: 1255: 1252: 1249: 1246: 1243: 1240: 1237: 1234: 1231: 1228: 1225: 1222: 1219: 1216: 1213: 1210: 1207: 1204: 1201: 1198: 1195: 1192: 1189: 1186: 1183: 1180: 1177: 1174: 1171: 1168: 1165: 1162: 1159: 1156: 1153: 1150: 1147: 1144: 1141: 1138: 1135: 1132: 1129: 1126: 1123: 1120: 1117: 1114: 1111: 1108: 1105: 1102: 1099: 1096: 1093: 1090: 1087: 1084: 1081: 1078: 1075: 1072: 1069: 1066: 1063: 1060: 1057: 1054: 1051: 1048: 1045: 1042: 1039: 1036: 1033: 1030: 1027: 1024: 1021: 1018: 1015: 1012: 1009: 1006: 1003: 1000: 997: 994: 991: 988: 985: 982: 979: 976: 973: 970: 967: 964: 961: 958: 955: 952: 949: 946: 943: 940: 939:eliasDeltaEncode 937: 865: 864: 838: 809: 784: 759: 734: 709: 684: 659: 634: 605: 580: 555: 530: 501: 476: 447: 416: 415: 412: 410: 409: 404: 392: 390: 389: 384: 382: 364: 362: 361: 356: 330: 329: 311: 310: 294: 292: 291: 286: 251: 250: 232: 231: 198: 197: 178: 176: 175: 170: 21:Elias delta code 3193: 3192: 3188: 3187: 3186: 3184: 3183: 3182: 3178:Numeral systems 3158: 3157: 3156: 3151: 3118: 3102: 3086: 3067:Rate–distortion 3000: 2929: 2848: 2775: 2696: 2601: 2597:Sub-band coding 2505: 2430:Predictive type 2425: 2350: 2317:LZSS + Huffman 2267:LZ77 + Huffman 2256: 2166: 2102:Dictionary type 2096: 1998:Adaptive coding 1975: 1969: 1931: 1929: 1889: 1887:Further reading 1884: 1883: 1855: 1848: 1843: 1821: 1796: 1790: 1788:Generalizations 1785: 1784: 1781: 1778: 1775: 1772: 1769: 1766: 1763: 1760: 1757: 1754: 1751: 1748: 1745: 1742: 1739: 1736: 1733: 1730: 1727: 1724: 1721: 1718: 1715: 1712: 1709: 1706: 1703: 1700: 1697: 1694: 1691: 1688: 1685: 1682: 1679: 1676: 1673: 1670: 1667: 1664: 1661: 1658: 1655: 1652: 1649: 1646: 1643: 1640: 1637: 1634: 1631: 1628: 1625: 1622: 1619: 1616: 1613: 1610: 1607: 1604: 1601: 1598: 1595: 1592: 1589: 1586: 1583: 1580: 1577: 1574: 1571: 1568: 1565: 1562: 1559: 1556: 1553: 1550: 1547: 1544: 1541: 1538: 1535: 1532: 1529: 1526: 1523: 1520: 1517: 1514: 1511: 1508: 1505: 1502: 1499: 1496: 1493: 1490: 1487: 1484: 1481: 1478: 1475: 1472: 1469: 1466: 1463: 1460: 1457: 1454: 1451: 1448: 1445: 1442: 1439: 1436: 1433: 1430: 1427: 1424: 1421: 1418: 1415: 1412: 1409: 1406: 1403: 1400: 1397: 1394: 1391: 1388: 1385: 1382: 1377: 1376: 1373: 1370: 1367: 1364: 1361: 1358: 1355: 1352: 1349: 1346: 1343: 1340: 1337: 1334: 1331: 1328: 1325: 1322: 1319: 1316: 1313: 1310: 1307: 1304: 1301: 1298: 1295: 1292: 1289: 1286: 1283: 1280: 1277: 1274: 1271: 1268: 1265: 1262: 1259: 1256: 1253: 1250: 1247: 1244: 1241: 1238: 1235: 1232: 1229: 1226: 1223: 1220: 1217: 1214: 1211: 1208: 1205: 1202: 1199: 1196: 1193: 1190: 1187: 1184: 1181: 1178: 1175: 1172: 1169: 1166: 1163: 1160: 1157: 1154: 1151: 1148: 1145: 1142: 1139: 1136: 1133: 1130: 1127: 1124: 1121: 1118: 1115: 1112: 1109: 1106: 1103: 1100: 1097: 1094: 1091: 1088: 1085: 1082: 1079: 1076: 1073: 1070: 1067: 1064: 1061: 1058: 1055: 1052: 1049: 1046: 1043: 1040: 1037: 1034: 1031: 1028: 1025: 1022: 1019: 1016: 1013: 1010: 1007: 1004: 1001: 998: 995: 992: 989: 986: 983: 980: 977: 974: 971: 968: 965: 962: 959: 956: 953: 950: 947: 944: 941: 938: 935: 932: 927: 915: 859: 858: 833: 804: 779: 754: 729: 704: 679: 654: 629: 600: 575: 550: 525: 496: 471: 445: 398: 395: 394: 375: 373: 370: 369: 325: 321: 306: 302: 300: 297: 296: 246: 242: 227: 223: 193: 189: 184: 181: 180: 164: 161: 160: 106:+1, followed by 76: 54: 37: 12: 11: 5: 3191: 3181: 3180: 3175: 3173:Entropy coding 3170: 3153: 3152: 3150: 3149: 3134: 3123: 3120: 3119: 3117: 3116: 3110: 3108: 3104: 3103: 3101: 3100: 3094: 3092: 3088: 3087: 3085: 3084: 3079: 3074: 3069: 3064: 3059: 3054: 3049: 3048: 3047: 3037: 3032: 3031: 3030: 3025: 3014: 3012: 3006: 3005: 3002: 3001: 2999: 2998: 2997: 2996: 2991: 2981: 2980: 2979: 2974: 2969: 2961: 2956: 2951: 2946: 2940: 2938: 2931: 2930: 2928: 2927: 2922: 2917: 2912: 2907: 2902: 2897: 2892: 2891: 2890: 2885: 2880: 2869: 2867: 2860: 2854: 2853: 2850: 2849: 2847: 2846: 2845: 2844: 2839: 2834: 2829: 2819: 2814: 2809: 2804: 2799: 2794: 2789: 2783: 2781: 2777: 2776: 2774: 2773: 2768: 2763: 2758: 2753: 2748: 2743: 2738: 2733: 2728: 2723: 2717: 2715: 2708: 2702: 2701: 2698: 2697: 2695: 2694: 2689: 2684: 2683: 2682: 2677: 2672: 2667: 2662: 2652: 2651: 2650: 2640: 2639: 2638: 2633: 2623: 2618: 2612: 2610: 2603: 2602: 2600: 2599: 2594: 2589: 2584: 2579: 2574: 2569: 2564: 2559: 2554: 2549: 2548: 2547: 2542: 2537: 2526: 2524: 2517: 2511: 2510: 2507: 2506: 2504: 2503: 2501:Psychoacoustic 2498: 2497: 2496: 2491: 2486: 2478: 2477: 2476: 2471: 2466: 2461: 2456: 2446: 2445: 2444: 2433: 2431: 2427: 2426: 2424: 2423: 2422: 2421: 2416: 2411: 2401: 2396: 2391: 2390: 2389: 2384: 2373: 2371: 2369:Transform type 2362: 2356: 2355: 2352: 2351: 2349: 2348: 2347: 2346: 2338: 2337: 2336: 2333: 2325: 2324: 2323: 2315: 2314: 2313: 2305: 2304: 2303: 2295: 2294: 2293: 2285: 2284: 2283: 2278: 2273: 2264: 2262: 2258: 2257: 2255: 2254: 2249: 2244: 2239: 2234: 2229: 2228: 2227: 2222: 2212: 2207: 2202: 2201: 2200: 2190: 2185: 2180: 2174: 2172: 2168: 2167: 2165: 2164: 2163: 2162: 2157: 2152: 2147: 2142: 2137: 2132: 2127: 2122: 2112: 2106: 2104: 2098: 2097: 2095: 2094: 2093: 2092: 2087: 2082: 2077: 2067: 2062: 2057: 2052: 2047: 2042: 2037: 2036: 2035: 2030: 2025: 2015: 2010: 2005: 2000: 1994: 1992: 1983: 1977: 1976: 1968: 1967: 1960: 1953: 1945: 1939: 1938: 1905:(2): 205–209. 1888: 1885: 1882: 1881: 1870:(2): 194–203. 1845: 1844: 1842: 1839: 1838: 1837: 1832: 1827: 1820: 1817: 1789: 1786: 1384: 1381: 1378: 934: 931: 928: 926: 923: 913: 909: 908: 901: 898: 883: 870: 869: 866: 856: 853: 850: 843: 842: 839: 831: 828: 825: 818: 817: 814: 813: 810: 802: 799: 796: 789: 788: 785: 777: 774: 771: 764: 763: 760: 752: 749: 746: 739: 738: 735: 727: 724: 721: 714: 713: 710: 702: 699: 696: 689: 688: 685: 677: 674: 671: 664: 663: 660: 652: 649: 646: 639: 638: 635: 627: 624: 621: 614: 613: 610: 609: 606: 598: 595: 592: 585: 584: 581: 573: 570: 567: 560: 559: 556: 548: 545: 542: 535: 534: 531: 523: 520: 517: 510: 509: 506: 505: 502: 494: 491: 488: 481: 480: 477: 469: 466: 463: 456: 455: 452: 451: 448: 443: 440: 437: 433: 432: 429: 426: 423: 420: 402: 381: 378: 354: 351: 348: 345: 342: 339: 336: 333: 328: 324: 320: 317: 314: 309: 305: 284: 281: 278: 275: 272: 269: 266: 263: 260: 257: 254: 249: 245: 241: 238: 235: 230: 226: 222: 219: 216: 213: 210: 207: 204: 201: 196: 192: 188: 168: 157: 156: 145: 134: 133:binary digits. 119: 118: 107: 96: 89: 74: 67: 52: 36: 33: 25:universal code 9: 6: 4: 3: 2: 3190: 3179: 3176: 3174: 3171: 3169: 3166: 3165: 3163: 3147: 3143: 3135: 3133: 3125: 3124: 3121: 3115: 3112: 3111: 3109: 3105: 3099: 3096: 3095: 3093: 3089: 3083: 3080: 3078: 3075: 3073: 3070: 3068: 3065: 3063: 3060: 3058: 3055: 3053: 3050: 3046: 3043: 3042: 3041: 3038: 3036: 3033: 3029: 3026: 3024: 3021: 3020: 3019: 3016: 3015: 3013: 3011: 3007: 2995: 2992: 2990: 2987: 2986: 2985: 2982: 2978: 2975: 2973: 2970: 2968: 2965: 2964: 2962: 2960: 2957: 2955: 2952: 2950: 2947: 2945: 2942: 2941: 2939: 2936: 2932: 2926: 2925:Video quality 2923: 2921: 2918: 2916: 2913: 2911: 2908: 2906: 2903: 2901: 2898: 2896: 2893: 2889: 2886: 2884: 2881: 2879: 2876: 2875: 2874: 2871: 2870: 2868: 2864: 2861: 2859: 2855: 2843: 2840: 2838: 2835: 2833: 2830: 2828: 2825: 2824: 2823: 2820: 2818: 2815: 2813: 2810: 2808: 2805: 2803: 2800: 2798: 2795: 2793: 2790: 2788: 2785: 2784: 2782: 2778: 2772: 2769: 2767: 2764: 2762: 2759: 2757: 2754: 2752: 2749: 2747: 2744: 2742: 2739: 2737: 2734: 2732: 2729: 2727: 2724: 2722: 2719: 2718: 2716: 2712: 2709: 2707: 2703: 2693: 2690: 2688: 2685: 2681: 2678: 2676: 2673: 2671: 2668: 2666: 2663: 2661: 2658: 2657: 2656: 2653: 2649: 2646: 2645: 2644: 2641: 2637: 2634: 2632: 2629: 2628: 2627: 2624: 2622: 2619: 2617: 2614: 2613: 2611: 2608: 2604: 2598: 2595: 2593: 2592:Speech coding 2590: 2588: 2587:Sound quality 2585: 2583: 2580: 2578: 2575: 2573: 2570: 2568: 2565: 2563: 2562:Dynamic range 2560: 2558: 2555: 2553: 2550: 2546: 2543: 2541: 2538: 2536: 2533: 2532: 2531: 2528: 2527: 2525: 2521: 2518: 2516: 2512: 2502: 2499: 2495: 2492: 2490: 2487: 2485: 2482: 2481: 2479: 2475: 2472: 2470: 2467: 2465: 2462: 2460: 2457: 2455: 2452: 2451: 2450: 2447: 2443: 2440: 2439: 2438: 2435: 2434: 2432: 2428: 2420: 2417: 2415: 2412: 2410: 2407: 2406: 2405: 2402: 2400: 2397: 2395: 2392: 2388: 2385: 2383: 2380: 2379: 2378: 2375: 2374: 2372: 2370: 2366: 2363: 2361: 2357: 2345: 2342: 2341: 2339: 2334: 2332: 2329: 2328: 2327:LZ77 + Range 2326: 2322: 2319: 2318: 2316: 2312: 2309: 2308: 2306: 2302: 2299: 2298: 2296: 2292: 2289: 2288: 2286: 2282: 2279: 2277: 2274: 2272: 2269: 2268: 2266: 2265: 2263: 2259: 2253: 2250: 2248: 2245: 2243: 2240: 2238: 2235: 2233: 2230: 2226: 2223: 2221: 2218: 2217: 2216: 2213: 2211: 2208: 2206: 2203: 2199: 2196: 2195: 2194: 2191: 2189: 2186: 2184: 2181: 2179: 2176: 2175: 2173: 2169: 2161: 2158: 2156: 2153: 2151: 2148: 2146: 2143: 2141: 2138: 2136: 2133: 2131: 2128: 2126: 2123: 2121: 2118: 2117: 2116: 2113: 2111: 2108: 2107: 2105: 2103: 2099: 2091: 2088: 2086: 2083: 2081: 2078: 2076: 2073: 2072: 2071: 2068: 2066: 2063: 2061: 2058: 2056: 2053: 2051: 2048: 2046: 2043: 2041: 2038: 2034: 2031: 2029: 2026: 2024: 2021: 2020: 2019: 2016: 2014: 2011: 2009: 2006: 2004: 2001: 1999: 1996: 1995: 1993: 1991: 1987: 1984: 1982: 1978: 1973: 1966: 1961: 1959: 1954: 1952: 1947: 1946: 1943: 1928: 1924: 1920: 1916: 1912: 1908: 1904: 1900: 1896: 1891: 1890: 1877: 1873: 1869: 1865: 1864: 1859: 1853: 1851: 1846: 1836: 1833: 1831: 1828: 1826: 1823: 1822: 1816: 1814: 1810: 1806: 1802: 1795: 922: 920: 912: 906: 902: 899: 896: 892: 888: 884: 881: 877: 876: 875: 867: 863: 857: 854: 851: 849: 845: 844: 840: 837: 832: 829: 826: 824: 820: 819: 815: 811: 808: 803: 800: 797: 795: 791: 790: 786: 783: 778: 775: 772: 770: 766: 765: 761: 758: 753: 750: 747: 745: 741: 740: 736: 733: 728: 725: 722: 720: 716: 715: 711: 708: 703: 700: 697: 695: 691: 690: 686: 683: 678: 675: 672: 670: 666: 665: 661: 658: 653: 650: 647: 645: 641: 640: 636: 633: 628: 625: 622: 620: 616: 615: 611: 607: 604: 599: 596: 593: 591: 587: 586: 582: 579: 574: 571: 568: 566: 562: 561: 557: 554: 549: 546: 543: 541: 537: 536: 532: 529: 524: 521: 518: 516: 512: 511: 507: 503: 500: 495: 492: 489: 487: 483: 482: 478: 475: 470: 467: 464: 462: 458: 457: 453: 449: 444: 441: 438: 435: 434: 430: 427: 424: 421: 418: 417: 414: 400: 379: 376: 366: 349: 346: 337: 331: 326: 322: 312: 307: 303: 282: 279: 270: 267: 258: 252: 247: 243: 233: 228: 224: 217: 214: 205: 199: 194: 190: 166: 154: 150: 146: 143: 139: 135: 132: 128: 124: 123: 122: 116: 112: 108: 105: 101: 97: 94: 90: 87: 83: 79: 72: 68: 65: 61: 57: 50: 46: 45: 44: 42: 32: 30: 26: 22: 18: 3098:Hutter Prize 3062:Quantization 2967:Compensation 2761:Quantization 2484:Compensation 2050:Shannon–Fano 1990:Entropy type 1930:. Retrieved 1902: 1898: 1867: 1861: 1858:Elias, Peter 1797: 925:Example code 916: 910: 904: 894: 890: 886: 879: 873: 861: 847: 835: 822: 806: 793: 781: 768: 756: 743: 731: 718: 706: 693: 681: 668: 656: 643: 631: 618: 602: 589: 577: 564: 552: 539: 527: 514: 498: 485: 473: 460: 367: 158: 152: 148: 137: 130: 126: 120: 114: 110: 103: 99: 92: 85: 81: 77: 73: = ⌊log 70: 63: 59: 55: 51: = ⌊log 48: 40: 38: 20: 17:Elias δ code 16: 15: 3057:Prefix code 2910:Frame types 2731:Color space 2557:Convolution 2287:LZ77 + ANS 2198:Incremental 2171:Other types 2090:Levenshtein 1809:Zigzag code 1578:lengthOfLen 1542:lengthOfLen 1506:lengthOfLen 1209:lengthOfLen 1149:lengthOfLen 1107:lengthOfLen 1062:lengthOfLen 393:instead of 84:+1, so 2 ≤ 43: ≥ 1: 29:Peter Elias 3162:Categories 3114:Mark Adler 3072:Redundancy 2989:Daubechies 2972:Estimation 2905:Frame rate 2827:Daubechies 2787:Chain code 2746:Macroblock 2552:Companding 2489:Estimation 2409:Daubechies 2115:Lempel–Ziv 2075:Exp-Golomb 2003:Arithmetic 1932:2018-07-09 1841:References 1811:, nor the 1792:See also: 428:δ encoding 88:+1 < 2. 3091:Community 2915:Interlace 2301:Zstandard 2080:Fibonacci 2070:Universal 2028:Canonical 1919:0288-3635 1801:bijection 1770:intwriter 1758:bitreader 1734:intwriter 1707:bitreader 1692:<<= 1614:bitreader 1599:<<= 1527:bitreader 1458:bitreader 1440:intwriter 1437:IntWriter 1425:bitreader 1422:BitReader 1362:intreader 1350:bitwriter 1320:outputBit 1314:bitwriter 1242:outputBit 1236:bitwriter 1182:outputBit 1176:bitwriter 1032:intreader 1008:intreader 990:bitwriter 987:BitWriter 975:intreader 972:IntReader 911:Example: 821:16 = 2 + 792:15 = 2 + 767:14 = 2 + 742:13 = 2 + 717:12 = 2 + 692:11 = 2 + 667:10 = 2 + 401:γ 377:γ 344:⌋ 332:⁡ 319:⌊ 313:⁡ 277:⌋ 265:⌋ 253:⁡ 240:⌊ 234:⁡ 221:⌊ 212:⌋ 200:⁡ 187:⌊ 125:Separate 113:bits) of 62:, so 2 ≤ 3077:Symmetry 3045:Timeline 3028:FM-index 2873:Bit rate 2866:Concepts 2714:Concepts 2577:Sampling 2530:Bit rate 2523:Concepts 2225:Sequitur 2060:Tunstall 2033:Modified 2023:Adaptive 1981:Lossless 1927:12806462 1819:See also 1713:inputBit 1620:inputBit 1533:inputBit 1380:Decoding 1329:>> 1251:>> 930:Encoding 642:9 = 2 + 617:8 = 2 + 588:7 = 2 + 563:6 = 2 + 538:5 = 2 + 513:4 = 2 + 484:3 = 2 + 459:2 = 2 + 380:′ 140:+1 with 35:Encoding 3035:Entropy 2984:Wavelet 2963:Motion 2822:Wavelet 2802:Fractal 2797:Deflate 2780:Methods 2567:Latency 2480:Motion 2404:Wavelet 2321:LHA/LZH 2271:Deflate 2220:Re-Pair 2215:Grammar 2045:Shannon 2018:Huffman 1974:methods 1464:hasLeft 1014:hasLeft 907:digits. 136:Encode 66:< 2. 3146:codecs 3107:People 3010:Theory 2977:Vector 2494:Vector 2311:Brotli 2261:Hybrid 2160:Snappy 2013:Golomb 1925:  1917:  1740:putInt 1431:source 1401:source 1038:getInt 981:source 951:source 868:1/512 841:1/512 812:1/256 787:1/256 762:1/256 737:1/256 712:1/256 687:1/256 662:1/256 637:1/256 419:Number 91:Write 2937:parts 2935:Codec 2900:Frame 2858:Video 2842:SPIHT 2751:Pixel 2706:Image 2660:ACELP 2631:ADPCM 2621:μ-law 2616:A-law 2609:parts 2607:Codec 2515:Audio 2454:ACELP 2442:ADPCM 2419:SPIHT 2360:Lossy 2344:bzip2 2335:LZHAM 2291:LZFSE 2193:Delta 2085:Gamma 2065:Unary 2040:Range 1923:S2CID 1776:close 1764:close 1518:while 1452:while 1368:close 1356:close 1338:& 1296:>= 1260:& 1218:>= 1113:floor 1086:floor 1002:while 608:1/32 583:1/32 558:1/32 533:1/32 504:1/16 479:1/16 436:1 = 2 23:is a 2949:DPCM 2756:PSNR 2687:MDCT 2680:WLPC 2665:CELP 2626:DPCM 2474:WLPC 2459:CELP 2437:DPCM 2387:MDCT 2331:LZMA 2232:LDCT 2210:DPCM 2155:LZWL 2145:LZSS 2140:LZRW 2130:LZJB 1915:ISSN 1665:< 1575:< 1446:dest 1413:dest 1407:char 1395:char 1386:void 1158:> 1119:log2 1092:log2 996:dest 963:dest 957:char 945:char 936:void 862:0001 836:0000 450:1/2 98:the 69:Let 47:Let 2994:DWT 2944:DCT 2888:VBR 2883:CBR 2878:ABR 2837:EZW 2832:DWT 2817:RLE 2807:KLT 2792:DCT 2675:LSP 2670:LAR 2655:LPC 2648:FFT 2545:VBR 2540:CBR 2535:ABR 2469:LSP 2464:LAR 2449:LPC 2414:DWT 2399:FFT 2394:DST 2382:DCT 2281:LZS 2276:LZX 2252:RLE 2247:PPM 2242:PAQ 2237:MTF 2205:DMC 2183:CTW 2178:BWT 2150:LZW 2135:LZO 2125:LZ4 2120:842 1907:doi 1872:doi 1815:). 1779:(); 1767:(); 1746:num 1719:num 1716:()) 1689:num 1668:len 1647:int 1641:for 1626:len 1623:()) 1596:len 1557:int 1551:for 1536:()) 1503:int 1491:len 1488:int 1476:num 1473:int 1467:()) 1371:(); 1359:(); 1326:num 1284:len 1275:int 1269:for 1248:len 1200:int 1194:for 1140:int 1134:for 1128:)); 1125:len 1101:)); 1098:num 1074:len 1059:int 1047:len 1044:int 1041:(); 1026:num 1023:int 1017:()) 807:111 782:110 757:101 732:100 707:011 682:010 657:001 632:000 425:N+1 323:log 304:log 244:log 225:log 191:log 155:+1. 19:or 3164:: 2812:LP 2643:FT 2636:DM 2188:CM 1921:. 1913:. 1901:. 1897:. 1868:21 1866:. 1849:^ 1749:); 1722:|= 1701:if 1680:++ 1671:-1 1629:|= 1608:if 1587:++ 1545:++ 1449:); 1434:); 1344:); 1323:(( 1308:-- 1287:-2 1266:); 1245:(( 1227:-- 1191:); 1167:-- 999:); 984:); 921:. 603:11 578:10 553:01 528:00 413:: 31:. 3148:) 3144:( 1964:e 1957:t 1950:v 1935:. 1909:: 1903:1 1878:. 1874:: 1782:} 1773:. 1761:. 1755:} 1743:( 1737:. 1731:} 1728:; 1725:1 1710:. 1704:( 1698:; 1695:1 1686:{ 1683:) 1677:i 1674:; 1662:i 1659:; 1656:0 1653:= 1650:i 1644:( 1638:} 1635:; 1632:1 1617:. 1611:( 1605:; 1602:1 1593:{ 1590:) 1584:i 1581:; 1572:i 1569:; 1566:0 1563:= 1560:i 1554:( 1548:; 1530:. 1524:! 1521:( 1515:; 1512:0 1509:= 1500:; 1497:1 1494:= 1485:; 1482:1 1479:= 1470:{ 1461:. 1455:( 1443:( 1428:( 1419:{ 1416:) 1410:* 1404:, 1398:* 1392:( 1374:} 1365:. 1353:. 1347:} 1341:1 1335:) 1332:i 1317:. 1311:) 1305:i 1302:; 1299:0 1293:i 1290:; 1281:= 1278:i 1272:( 1263:1 1257:) 1254:i 1239:. 1233:) 1230:i 1224:; 1221:0 1215:i 1212:; 1206:= 1203:i 1197:( 1188:0 1185:( 1179:. 1173:) 1170:i 1164:; 1161:0 1155:i 1152:; 1146:= 1143:i 1137:( 1122:( 1116:( 1110:= 1095:( 1089:( 1083:+ 1080:1 1077:= 1071:; 1068:0 1065:= 1056:; 1053:0 1050:= 1035:. 1029:= 1020:{ 1011:. 1005:( 993:( 978:( 969:{ 966:) 960:* 954:, 948:* 942:( 905:N 897:. 895:N 891:N 887:L 882:. 880:L 855:5 852:4 848:1 830:5 827:4 823:0 801:4 798:3 794:7 776:4 773:3 769:6 751:4 748:3 744:5 726:4 723:3 719:4 701:4 698:3 694:3 676:4 673:3 669:2 651:4 648:3 644:1 626:4 623:3 619:0 597:3 594:2 590:3 572:3 569:2 565:2 547:3 544:2 540:1 522:3 519:2 515:0 499:1 493:2 490:1 486:1 474:0 468:2 465:1 461:0 446:1 442:1 439:0 422:N 353:) 350:1 347:+ 341:) 338:x 335:( 327:2 316:( 308:2 283:1 280:+ 274:) 271:1 268:+ 262:) 259:x 256:( 248:2 237:( 229:2 218:2 215:+ 209:) 206:x 203:( 195:2 167:x 153:N 149:N 144:. 138:N 131:N 127:X 117:. 115:X 111:N 104:N 100:L 93:L 86:N 82:N 78:N 75:2 71:L 64:X 60:X 56:X 53:2 49:N 41:X

Index

universal code
Peter Elias
Elias gamma coding
Elias gamma coding
Variable-length quantity § Zigzag encoding
bijection
"ZigZag" encoding from Protocol Buffers
Zigzag code
JPEG Zig-zag entropy coding
Elias gamma (γ) coding
Elias omega (ω) coding
Golomb-Rice code


Elias, Peter
IEEE Transactions on Information Theory
doi
10.1109/tit.1975.1055349
"URR: Universal representation of real numbers"
doi
10.1007/BF03037427
ISSN
0288-3635
S2CID
12806462
v
t
e
Data compression
Lossless

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.