Delta encoding is a way of storing or transmitting data in the form of differences between sequential data rather than complete files. Delta encoding is sometimes called delta compression, particularly where archival histories of changes are required (e.g., in software projects).
The differences are recorded in discrete files called "deltas" or "diffs", after the Unix file comparison utility, diff. Because changes are often small, delta encoding greatly reduces data redundancy. Collections of unique deltas are substantially more space-efficient than their non-encoded equivalents.
From a logical point of view the difference between two data values is the information required to obtain one value from the other. The difference between identical values (under some equivalence) is often called 0 or the neutral element. A good delta should be minimal, or ambiguous unless one element of a pair is present.
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 is not very useful when used alone, but it can help further compression of data in which sequential values occur often. IFF 8SVX sound format applies this encoding to raw sound data before applying compression to it. Unfortunately, not even all 8-bit sound samples 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 video compression delta frames can considerably reduce frame size, and are used in virtually every video compression codec.
A delta can be defined in 2 ways, symmetric delta and directed delta. A symmetric delta can be expressed as:
A directed delta, also called a change, is a sequence of (elementary) change operations which, when applied to one version v1, yields another version v2 (note the correspondence to transaction logs in databases).
A variation of delta encoding which encodes differences between the prefixes or suffixes of strings is called incremental encoding. It is particularly effective for sorted lists with small differences between strings, such as a list of words from a dictionary.
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 error control codes are used to detect which parts of the file has changed since its previous version.
The nature of the data to be encoded influences the effectiveness of a particular compression algorithm. 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.
The following C code performs a simple form of delta encoding and decoding:
Another instance of use of delta encoding is RFC 3229, "Delta encoding in HTTP", which proposes that  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:
Wipo Publishes Patent of Tracy Garrett Drysdale, Intel, Thomas Willhalm and Elmoustapha Ould-Ahmed-Vall for "Systems, Apparatuses and Methods for Performing Delta Encoding on Packed Data Elements" (American, German Inventors)
Jul 06, 2013; GENEVA, July 6 -- Publication No. WO/2013/100991 was published on July 4.Title of the invention: "SYSTEMS, APPARATUSES, AND...
US Patent Issued to Ilesfay Technology Group on March 26 for "Method for Horizontal Scale Delta Encoding" (Ohio, Kentucky Inventors)
Mar 26, 2013; ALEXANDRIA, Va., March 26 -- United States Patent no. 8,407,315, issued on March 26, was assigned to Ilesfay Technology Group LLC...
Agency Reviews Patent Application Approval Request for "Method and Apparatus for Reducing Network Resource Transmission Size Using Delta Compression"
Oct 28, 2013; By a News Reporter-Staff News Editor at Network Weekly News -- A patent application by the inventors Graham-Cumming, John...