3. Delta Encoding
⢠The term delta encoding, (from the Greek letter Î, which
in mathematics, denotes a difference) refers to several
techniques that store data as the difference between
successive samples (or characters), rather than directly
storing the samples themselves.
â˘
The first value in the delta encoded file is the same as
the first value in the original data.
⢠All the following values in the encoded file are equal to
the difference (delta) between the corresponding value
in the input file, and the previous value in the input file.
12/6/2013
3
5. Delta compression
⢠Delta encoding used for data compression is known as
delta compression
⢠It is a lossless compression technique â restored data is
identical to original
⢠Delta encoding can be used for data compression when
the values in the original data are smooth, that is, there
is typically only a small change between adjacent
values.
12/6/2013
5
6. ⢠Delta compression is the process of encoding a target
ďŹle with respect to one or several similar source ďŹles.
⢠If a deltaâs target version is newer than its reference
version in the history, then it is referred to as a forward
delta. A reverse delta has the opposite orientation: an
older target version and a newer reference version.
â˘
Reverse
delta
Forward
delta
12/6/2013
6
7. .
The key feature is that the delta encoded signal
has a lower amplitude than the original signal. In
other words, delta encoding has increased the
probability that each sample's value will be near
zero, and decreased the probability that it will be
far from zero.
12/6/2013
7
8. Features of Delta coding
⢠Delta compression algorithms take advantage of the
statistical correlations between different files or packets
so that common sequences between two files can be
encoded using a copy reference.
⢠From a logical point of view the difference between two
data values is the information required to obtain one
value from the other i.e. relative entropy.
⢠Delta encoding followed by Huffman and/or run-length
encoding is a common strategy for compressing signals.
12/6/2013
8
9. Tools for delta compression
⢠Unix diff
Classic tool for generating deltas.
Limited to text files
⢠Vcdiff
Delta encoding in HTTP and is employed in Google's Shared
Dictionary Compression over HTTP technology used in Chrome
browser.
⢠Xdelta
This is similar to diff, but it is targeted for binary files and does
not generate human readable output.
⢠Zdelta
modification of the vcdiff
12/6/2013
9
10. Applications
⢠Delta compression forms the core of fast and efficient content
download
⢠Software Revision Control Systems:
For maintaining the revision history of software projects and other
documents . In these systems, multiple, often almost identical, versions of
each object have to be stored in order to allow the users to retrieve past
versions.
⢠Delta Compression at the File System Level:
The Xdelta File System (XDFS) aims to provide efficient support for delta
compression at the file system level using a delta compressor called xdelta.
This allows the efficient implementation of revision control systems of files.
⢠Software Distribution:
To generate software patches that can be efficiently transmitted over a
network in order to update installed software packages.
12/6/2013
10
11. Improving HTTP performance:
To improve the latency for web accesses, by exploiting the
similarity between current and outdated versions of a web page.
This can significantly decrease the amount of data sent to the
client, and is thus more appropriate for clients connected via
low-bandwidth links such as cellular modems.
It has also been observed that web pages on the same server
often have a high degree of similarity (due to common layout
and menu structure) that could be exploited with delta
compression techniques.
Client already has an
old version of a page in
his cache
He send a tag
identifying this version
to server
The server then sends
the delta between old
and current version
12/6/2013
11
12. ⢠Application in wireless sensor
In a wireless sensor network, sensor readings and other streamed
values can be expressed as the change in the value from some
expected value.
In many data sets, with well chosen expected values, these changes
tend to be small relative to the range of possible values and lead to a
high frequency of values within a small range.
⢠Efficient Web Page Storage:
The similarities between different versions of the same page or
different pages on the same web site could also be used for increased
storage.
12/6/2013
12
13. ⢠ECG compression
The successive samples of ecg have high correlation and
small difference between them so it can be effectively
quantised by Delta compression
⢠IFF 8SVX sound format applies delta compression to raw
sound data before transmission.
12/6/2013
13
14. Extension of Delta coding
⢠The idea used in delta encoding can be expanded into a
more complicated technique called Linear Predictive
Coding, or LPC.
⢠The algorithms used by LPC are similar to recursive
filters, making use of the z-transform and other
intensively mathematical techniques.
99 samples
are encoded
Work on
sample
number 100
Most likely
value for
sample
100??
Predict the
most
probable
value by
looking last
several
samples
12/6/2013
14
15. ⢠Linear Predictive Coding (LPC) is one of the methods of
compression that models the process of speech production.
⢠Linear prediction filters attempt to predict future values of the
input signal based on past signals.
â˘
LPC models speech as an autoregressive process, and sends
the parameters of the process as opposed to sending the
speech itself.
⢠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.
12/6/2013
15
16. Disadvantages
⢠To know the value of the signal at any point in time one
has the read (know) all the previous values.
⢠Data appearing in the target that has no similar data in
the source is still compressed. In some cases, where the
source and target have nothing in common, the delta is
equivalent to a compressed form of the target
⢠If the original signal is not changing, or is changing in a
straight line, delta encoding will result in runs of
samples having the same value.
12/6/2013
16
17. Conclusion
⢠Delta coding is beneficial only for values which are
changing smoothly
â˘
For higher compression efficiency delta coding can be
used along with other compression techniques
12/6/2013
17