Knowledge (XXG)

Delta encoding

Source 📝

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

Index

Delta compression
Elias delta coding
delta modulation
data
differences
data differencing
revision control software
relative entropy
equivalence
variance
IFF
8SVX
samples
video compression
codec
transaction logs
prefixes
suffixes
strings
incremental encoding
words
dictionary
error control codes
rsync
checksum
adler-32
C
Binary delta compression
Binary delta compression
software deployment

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

↑